Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Costa W BowleyItalyIoni Bowcher RENEWAL
Smith H GlickCanadaElwin Sharvill PROPOSAL
Ivar S GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Izzy U FlosiUnited KingdomAsiya Javayant NEGOTIATION
Arvin S SaylorsAustraliaAnna Fali NEW
Ashley H PaprockiGermanyElwin Sharvill PROPOSAL
Salvatore J WaycottBrazilAmy Elsner NEW
Tony B WieserJapanStephen Shaw UNQUALIFIED
Salvatore S PaprockiAustraliaAmy Elsner PROPOSAL
Mujtaba N BriddickCanadaStephen Shaw RENEWAL
Claire K OstroskyArgentinaElwin Sharvill QUALIFIED
Juan D BriddickSpainAmy Elsner UNQUALIFIED
Francesco Z RutaGermanyIoni Bowcher NEGOTIATION
Nicolas D WieserJapanAsiya Javayant NEGOTIATION
Aditya B DoeGermanyXuxue Feng RENEWAL
Darci Q GauchoAustraliaAnna Fali QUALIFIED
Aruna A FollerItalyElwin Sharvill UNQUALIFIED
Munro Y RutaFranceAmy Elsner PROPOSAL
Kadeem X SlusarskiAustraliaIvan Magalhaes RENEWAL
David M RulapaughItalyIvan Magalhaes PROPOSAL
Francesco E CaudyBrazilElwin Sharvill NEW
Clifford Z KolmetzSpainBernardo Dominic PROPOSAL
Jeanfrancois C KuskoAustraliaOnyama Limba QUALIFIED
Costa T FlosiSpainXuxue Feng RENEWAL
Ashley M WaycottSpainAmy Elsner QUALIFIED
Clifford T SlusarskiFranceAmy Elsner NEGOTIATION
Jones W FigeroaItalyXuxue Feng QUALIFIED
Faith B WhobreyIndiaAmy Elsner QUALIFIED
Kadeem M SchemmerGermanyXuxue Feng PROPOSAL
Claire Z GillianIndiaAmy Elsner QUALIFIED
Leja T DarakjyUnited KingdomIoni Bowcher PROPOSAL
Mayumi T CampainIndiaIoni Bowcher UNQUALIFIED
Darci V FlosiAustraliaAnna Fali NEW
Greenwood U VenereItalyXuxue Feng NEGOTIATION
Munro T SchemmerSpainAnna Fali NEGOTIATION
Ivar K KuskoCanadaElwin Sharvill UNQUALIFIED
Silvio K CampainAustraliaAnna Fali PROPOSAL
Emily L RulapaughBrazilAsiya Javayant PROPOSAL
Stacey N GlickArgentinaBernardo Dominic RENEWAL
Clifford M RulapaughCanadaAnna Fali NEW
Rodrigues A PerinRussiaIvan Magalhaes PROPOSAL
Juan F MorascaBrazilAmy Elsner PROPOSAL
Faith R SaylorsSpainAsiya Javayant NEGOTIATION
Izzy I InouyeArgentinaAsiya Javayant NEW
Antonio F NestleItalyAnna Fali PROPOSAL
Adams P DoeUnited KingdomOnyama Limba RENEWAL
Jones N StockhamGermanyStephen Shaw PROPOSAL
Jones O MorascaBrazilOnyama Limba PROPOSAL
Jefferson O AlbaresArgentinaAsiya Javayant RENEWAL
David Q SlusarskiFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair E InouyeBrazilXuxue Feng NEGOTIATION
Darci X RutaCanadaAsiya Javayant PROPOSAL
Aditya M MarrierGermanyAnna Fali QUALIFIED
Leja F DarakjyCanadaXuxue Feng QUALIFIED
Ashley N ButtBrazilOnyama Limba NEW
Leja D FerenczSpainIvan Magalhaes RENEWAL
Izzy C VocelkaArgentinaIvan Magalhaes PROPOSAL
Julie K OldroydCanadaOnyama Limba NEW
Silvio P VenereFranceElwin Sharvill RENEWAL
Salvatore I MorascaBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja P MaletItaly2024-05-23Commercial Press PROPOSAL8Elwin Sharvill
1001Ricardo V WhobreyArgentina2024-04-28Rousseaux, Michael Esq NEGOTIATION52Anna Fali
1002Julie R TollnerJapan2024-05-18Rousseaux, Michael Esq PROPOSAL52Onyama Limba
1003David B RulapaughGermany2024-05-17Rousseaux, Michael Esq NEW31Elwin Sharvill
1004Deepesh X FerenczGermany2024-05-15Rangoni Of Florence NEGOTIATION24Xuxue Feng
1005Ashley I DarakjyIndia2024-05-20Dorl, James J Esq QUALIFIED35Anna Fali
1006Octavia G RutaCanada2024-05-04Feltz Printing Service NEGOTIATION47Anna Fali
1007Adams Z SchemmerFrance2024-05-09Buckley Miller Wright QUALIFIED17Onyama Limba
1008Ricardo W DarakjyGermany2024-04-29Chapman, Ross E Esq UNQUALIFIED82Elwin Sharvill
1009Deepesh K SergiUnited Kingdom2024-05-22Rangoni Of Florence NEW86Xuxue Feng
1010Arvin K PaprockiCanada2024-05-22Rangoni Of Florence UNQUALIFIED21Xuxue Feng
1011Salvatore H FigeroaFrance2024-05-09Rousseaux, Michael Esq NEW79Stephen Shaw
1012Kaitlin E WieserCanada2024-05-27Dorl, James J Esq PROPOSAL27Ioni Bowcher
1013Sinclair K GillianCanada2024-05-18Printing Dimensions PROPOSAL24Bernardo Dominic
1014Stacey A BowleyArgentina2024-05-25Feiner Bros RENEWAL42Amy Elsner
1015Misaki X DarakjyBrazil2024-05-06Commercial Press QUALIFIED69Asiya Javayant
1016Adams S StockhamArgentina2024-05-24Benton, John B Jr QUALIFIED82Bernardo Dominic
1017Murillo S SaylorsJapan2024-05-23Commercial Press UNQUALIFIED80Stephen Shaw
1018Jefferson S RutaAustralia2024-05-03King, Christopher A Esq PROPOSAL65Asiya Javayant
1019Juan O FigeroaFrance2024-05-25Commercial Press UNQUALIFIED75Bernardo Dominic
1020Arvin V MacleadItaly2024-05-08Truhlar And Truhlar Attys NEGOTIATION35Xuxue Feng
1021Murillo F DoeGermany2024-05-13Feiner Bros QUALIFIED34Stephen Shaw
1022Smith Q FollerUnited Kingdom2024-05-13Chanay, Jeffrey A Esq NEW65Amy Elsner
1023Leja V WhobreyFrance2024-05-05King, Christopher A Esq PROPOSAL39Xuxue Feng
1024Francesco N MaletCanada2024-05-26Rangoni Of Florence NEGOTIATION93Anna Fali
1025Ashley D MaletSpain2024-05-16Feltz Printing Service UNQUALIFIED23Elwin Sharvill
1026Adams L GarufiGermany2024-05-25Morlong Associates UNQUALIFIED47Anna Fali
1027Leon F OldroydAustralia2024-05-13Morlong Associates NEW39Onyama Limba
1028Juan N GlickSpain2024-04-28Buckley Miller Wright QUALIFIED74Elwin Sharvill
1029David W NickaJapan2024-05-21Chanay, Jeffrey A Esq QUALIFIED78Xuxue Feng
1030Rodrigues A SlusarskiArgentina2024-05-22Rousseaux, Michael Esq QUALIFIED17Anna Fali
1031Adams S BowleyBrazil2024-05-25Truhlar And Truhlar Attys NEGOTIATION38Xuxue Feng
1032Antonio D SaylorsRussia2024-04-29Feiner Bros RENEWAL96Bernardo Dominic
1033Greenwood Q BowleySpain2024-05-23Feltz Printing Service QUALIFIED66Xuxue Feng
1034Johnson N CampainArgentina2024-04-28Rousseaux, Michael Esq QUALIFIED44Elwin Sharvill
1035Jones Z PaprockiCanada2024-05-19Rangoni Of Florence QUALIFIED92Amy Elsner
1036Alejandro L PerinGermany2024-05-04Morlong Associates UNQUALIFIED17Elwin Sharvill
1037Maisha I TollnerRussia2024-05-01Feltz Printing Service QUALIFIED77Xuxue Feng
1038Claire T SergiRussia2024-05-18Buckley Miller Wright QUALIFIED19Ioni Bowcher
1039Leja A SlusarskiBrazil2024-05-22Buckley Miller Wright NEGOTIATION93Ioni Bowcher
1040Murillo L SergiBrazil2024-05-15Dorl, James J Esq NEGOTIATION83Ivan Magalhaes
1041Aika M CaldareraSpain2024-05-25Buckley Miller Wright QUALIFIED93Xuxue Feng
1042Clifford J ShinkoRussia2024-04-29Rangoni Of Florence RENEWAL73Xuxue Feng
1043Deepesh H FerenczFrance2024-05-18King, Christopher A Esq NEGOTIATION20Elwin Sharvill
1044Nicolas D PerinGermany2024-05-20King, Christopher A Esq NEW57Ioni Bowcher
1045Izzy L NickaBrazil2024-05-16Rangoni Of Florence UNQUALIFIED70Onyama Limba
1046Jones J MorascaIndia2024-05-03Truhlar And Truhlar Attys QUALIFIED49Ioni Bowcher
1047Arvin O PoquetteAustralia2024-04-29King, Christopher A Esq PROPOSAL61Ivan Magalhaes
1048Smith P WieserGermany2024-05-15Feltz Printing Service RENEWAL98Xuxue Feng
1049Kaitlin G DarakjyUnited Kingdom2024-04-28Truhlar And Truhlar Attys NEW10Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leon K MaletJapanIvan Magalhaes NEW
Jefferson H ChuiCanadaIoni Bowcher NEW
Stacey G BriddickArgentinaElwin Sharvill RENEWAL
Adams Q NickaArgentinaIoni Bowcher UNQUALIFIED
Costa P WhobreyIndiaOnyama Limba QUALIFIED
Clifford C VocelkaIndiaAmy Elsner RENEWAL
Kadeem Z WhobreyFranceAnna Fali PROPOSAL
Claire U IturbideBrazilXuxue Feng UNQUALIFIED
Darci D GlickCanadaElwin Sharvill RENEWAL
Jefferson Z PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood Y FollerSpainIoni Bowcher QUALIFIED
Alejandro M BowleyGermanyIvan Magalhaes NEGOTIATION
Octavia A NestleAustraliaAnna Fali PROPOSAL
Deepesh E FerenczArgentinaAnna Fali UNQUALIFIED
Alejandro L GillianUnited KingdomXuxue Feng UNQUALIFIED
Jennifer U WieserAustraliaBernardo Dominic QUALIFIED
Juan C FollerRussiaIvan Magalhaes QUALIFIED
Chavez E GarufiGermanyIoni Bowcher RENEWAL
Octavia I MarrierArgentinaAsiya Javayant RENEWAL
Munro A SergiUnited KingdomXuxue Feng NEW
Isabel L FigeroaBrazilAnna Fali NEW
Isabel T AlbaresSpainBernardo Dominic QUALIFIED
Leon Y AlbaresGermanyIoni Bowcher PROPOSAL
Arvin S RimIndiaStephen Shaw UNQUALIFIED
Jeanfrancois I VocelkaItalyBernardo Dominic PROPOSAL
Salvatore Q KolmetzGermanyIvan Magalhaes QUALIFIED
Jones N DoeAustraliaAsiya Javayant QUALIFIED
Kaitlin F CaldareraBrazilIoni Bowcher NEW
Jeanfrancois V FigeroaCanadaIoni Bowcher RENEWAL
Leon S AmigonBrazilStephen Shaw NEGOTIATION
Claire S FollerJapanAmy Elsner RENEWAL
Mayumi H WhobreyIndiaBernardo Dominic UNQUALIFIED
Arvin V RulapaughBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois K BologniaGermanyAmy Elsner UNQUALIFIED
Julie P PaprockiSpainAnna Fali RENEWAL
Isabel P RulapaughGermanyBernardo Dominic UNQUALIFIED
Leon C DilliardArgentinaStephen Shaw RENEWAL
Emily C VenereUnited KingdomOnyama Limba NEW
Leon M MacleadSpainOnyama Limba PROPOSAL
Deepesh F NickaGermanyBernardo Dominic NEGOTIATION
Misaki J FerenczRussiaAmy Elsner RENEWAL
Silvio N FlosiUnited KingdomBernardo Dominic NEGOTIATION
Aika L WieserBrazilIvan Magalhaes NEGOTIATION
Ivar E GauchoJapanIvan Magalhaes QUALIFIED
Nicolas H WaycottSpainBernardo Dominic NEW
Munro Y GauchoUnited KingdomBernardo Dominic NEGOTIATION
Maisha D NickaSpainAsiya Javayant NEW
Tony V OldroydArgentinaIoni Bowcher RENEWAL
Smith S BologniaGermanyOnyama Limba UNQUALIFIED
Julie M KolmetzFranceOnyama Limba RENEWAL
Frozen Columns
Name
Wickens C Darakjy
Chavez K Maclead
Francesco V Venere
Salvatore A Rim
David K Schemmer
Julie K Malet
James B Kolmetz
Jones M Gillian
Greenwood T Poquette
Smith K Inouye
Darci T Gillian
Rodrigues C Kolmetz
Stacey W Shinko
Nicolas C Royster
Sinclair O Inouye
David O Maclead
Leja Z Marrier
Clifford H Marrier
Alejandro H Schemmer
Ashley A Sergi
Mujtaba Z Venere
Leja J Schemmer
Munro P Campain
Emily Q Ferencz
Ricardo P Saylors
Tony R Inouye
Aditya D Slusarski
Greenwood Y Wieser
Aruna P Ferencz
Munro X Gillian
Leja L Shinko
Rodrigues K Flosi
Rodrigues Q Gaucho
Claire N Doe
Smith M Marrier
Arvin C Sergi
Ashley C Caudy
Rodrigues B Maclead
Mujtaba T Doe
Chavez C Briddick
Ashley M Flosi
Francesco K Amigon
Francesco C Ferencz
Ivar O Waycott
Rodrigues A Tollner
Misaki H Inouye
Smith H Saylors
Munro Z Maclead
Costa V Stenseth
Tony A Marrier
IdCountryDate
1000Spain2024-05-18
1001Canada2024-05-04
1002United Kingdom2024-04-28
1003Australia2024-05-18
1004Brazil2024-05-09
1005Germany2024-05-16
1006Spain2024-05-16
1007Italy2024-05-08
1008Germany2024-05-21
1009Russia2024-05-02
1010Germany2024-05-15
1011Germany2024-04-30
1012Germany2024-05-12
1013Russia2024-05-24
1014Russia2024-05-13
1015France2024-05-02
1016Germany2024-05-01
1017Australia2024-05-21
1018Japan2024-05-07
1019France2024-05-19
1020Argentina2024-05-25
1021Russia2024-05-05
1022Germany2024-05-12
1023Germany2024-05-20
1024Spain2024-05-27
1025Spain2024-05-05
1026Germany2024-05-01
1027Canada2024-05-23
1028Germany2024-05-21
1029Argentina2024-04-30
1030Australia2024-05-07
1031Germany2024-05-20
1032Japan2024-05-21
1033Canada2024-05-01
1034India2024-05-03
1035Australia2024-05-07
1036United Kingdom2024-05-18
1037Spain2024-04-30
1038Canada2024-05-10
1039Germany2024-05-07
1040Australia2024-05-06
1041Japan2024-04-30
1042Canada2024-05-22
1043India2024-05-20
1044Italy2024-04-29
1045Canada2024-05-08
1046Germany2024-05-09
1047Russia2024-05-14
1048India2024-05-24
1049Russia2024-05-19

On-Demand Data

NameIdCountryDate
Aika B Butt1000Spain2024-05-21
Greenwood A Rulapaugh1001United Kingdom2024-05-17
Isabel J Rim1002Italy2024-05-26
Jeanfrancois Z Inouye1003France2024-05-06
Adams L Stenseth1004United Kingdom2024-05-10
Greenwood G Iturbide1005Australia2024-05-06
Silvio N Doe1006Brazil2024-05-24
Wickens Z Nicka1007Germany2024-05-05
Kadeem S Gillian1008Germany2024-04-28
Cody V Doe1009Australia2024-05-10
Alejandro O Slusarski1010Russia2024-05-24
Leja B Doe1011Spain2024-05-22
Francesco E Maclead1012Russia2024-05-15
David Q Butt1013Germany2024-05-18
Claire X Poquette1014Spain2024-05-19
Salvatore M Malet1015Australia2024-05-01
Nicolas J Tollner1016Japan2024-05-06
Kadeem G Nestle1017Spain2024-05-07
Murillo L Nicka1018France2024-05-17
Rodrigues M Tollner1019Italy2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon D RoysterArgentinaAnna Fali RENEWAL
Munro V SlusarskiUnited KingdomXuxue Feng NEW
Antonio M BriddickCanadaAsiya Javayant QUALIFIED
Julie C MacleadFranceIoni Bowcher RENEWAL
Alejandro F StensethCanadaAmy Elsner NEGOTIATION
Stacey K IturbideAustraliaAnna Fali PROPOSAL
Tony D RulapaughSpainElwin Sharvill PROPOSAL
Johnson J FlosiGermanyAnna Fali NEGOTIATION
Murillo O GauchoJapanBernardo Dominic QUALIFIED
Cody G MarrierGermanyBernardo Dominic PROPOSAL
Emily H AmigonIndiaXuxue Feng NEGOTIATION
Jones M GillianBrazilOnyama Limba UNQUALIFIED
James F AlbaresRussiaAnna Fali PROPOSAL
Aruna D BologniaItalyXuxue Feng UNQUALIFIED
Jones W KolmetzFranceAmy Elsner UNQUALIFIED
Ricardo S FerenczAustraliaIoni Bowcher UNQUALIFIED
Faith R SergiBrazilElwin Sharvill NEW
Greenwood D GillianUnited KingdomOnyama Limba PROPOSAL
Alejandro J MacleadFranceXuxue Feng QUALIFIED
Maisha A SchemmerAustraliaXuxue Feng QUALIFIED
Aditya J ShinkoRussiaAnna Fali UNQUALIFIED
Faith U NestleAustraliaAsiya Javayant NEGOTIATION
Mujtaba B SaylorsArgentinaIvan Magalhaes PROPOSAL
Nicolas S RoysterArgentinaXuxue Feng QUALIFIED
Kaitlin S WhobreyItalyOnyama Limba NEGOTIATION
Darci V StensethArgentinaAnna Fali UNQUALIFIED
Silvio N KolmetzItalyBernardo Dominic UNQUALIFIED
Ashley T OstroskyJapanIoni Bowcher UNQUALIFIED
Clifford G DilliardRussiaBernardo Dominic UNQUALIFIED
Isabel L OldroydArgentinaAsiya Javayant QUALIFIED
Aika Z KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Julie V GillianBrazilIvan Magalhaes UNQUALIFIED
Costa E WaycottUnited KingdomXuxue Feng QUALIFIED
Ricardo P BologniaRussiaXuxue Feng PROPOSAL
Juan I MaletUnited KingdomStephen Shaw NEW
Greenwood B BologniaAustraliaXuxue Feng QUALIFIED
Jeanfrancois I MorascaItalyIvan Magalhaes NEW
Chavez A TollnerIndiaIvan Magalhaes QUALIFIED
Julie A CaudyIndiaElwin Sharvill RENEWAL
Izzy G NestleCanadaOnyama Limba PROPOSAL

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>