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
Wickens U ButtAustraliaBernardo Dominic PROPOSAL
Ashley O OldroydIndiaAmy Elsner UNQUALIFIED
Johnson U BologniaSpainIoni Bowcher NEW
Smith U MorascaAustraliaOnyama Limba NEGOTIATION
Morrow H OldroydBrazilIvan Magalhaes QUALIFIED
Wickens P MacleadRussiaAmy Elsner PROPOSAL
Aika W OldroydFranceAmy Elsner RENEWAL
Octavia I RutaFranceIoni Bowcher RENEWAL
Alejandro I NickaItalyOnyama Limba NEW
Adams F RutaUnited KingdomXuxue Feng NEW
Deepesh B ButtFranceBernardo Dominic QUALIFIED
Ricardo A DarakjyArgentinaStephen Shaw NEW
Julie V FigeroaJapanStephen Shaw QUALIFIED
Ricardo N BowleyRussiaIoni Bowcher NEGOTIATION
Smith G DarakjyGermanyOnyama Limba UNQUALIFIED
Kadeem X VocelkaAustraliaIvan Magalhaes RENEWAL
Emily V GillianJapanAnna Fali NEGOTIATION
Francesco W WaycottBrazilOnyama Limba QUALIFIED
Murillo A MaletRussiaElwin Sharvill NEGOTIATION
Mujtaba J MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Aditya C IturbideJapanAsiya Javayant NEW
Jennifer W WieserSpainAmy Elsner QUALIFIED
Octavia G RulapaughGermanyIoni Bowcher NEGOTIATION
Octavia K PoquetteArgentinaIoni Bowcher UNQUALIFIED
Ricardo B BowleyJapanAmy Elsner QUALIFIED
Misaki K ShinkoArgentinaElwin Sharvill RENEWAL
Leja X ShinkoArgentinaAnna Fali UNQUALIFIED
Jeanfrancois G NestleArgentinaIoni Bowcher RENEWAL
Stacey N VenereBrazilAnna Fali PROPOSAL
Stacey P RutaBrazilAsiya Javayant UNQUALIFIED
Kadeem O WieserAustraliaIoni Bowcher NEGOTIATION
Ivar I OldroydUnited KingdomXuxue Feng NEW
Johnson Q MarrierAustraliaIoni Bowcher NEGOTIATION
Alejandro S GillianJapanBernardo Dominic NEW
Mayumi Q DoeGermanyBernardo Dominic RENEWAL
Salvatore P CampainItalyOnyama Limba QUALIFIED
Clifford P AmigonAustraliaIoni Bowcher NEGOTIATION
Morrow D FollerGermanyBernardo Dominic QUALIFIED
Cody E WieserAustraliaXuxue Feng NEW
Tony F RutaItalyAnna Fali NEGOTIATION
Sinclair B MaletCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois U RimBrazilAmy Elsner NEGOTIATION
Arvin V AlbaresItalyXuxue Feng NEW
Julie P NestleCanadaAsiya Javayant UNQUALIFIED
Leon A WaycottFranceAsiya Javayant NEW
Octavia E RulapaughItalyElwin Sharvill NEW
Adams E GlickFranceAmy Elsner NEW
Mujtaba D NestleRussiaXuxue Feng PROPOSAL
Ashley B ShinkoGermanyOnyama Limba UNQUALIFIED
Stacey V InouyeSpainIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro O StensethGermanyAsiya Javayant UNQUALIFIED
Cody A SergiIndiaStephen Shaw RENEWAL
Clifford E NestleItalyOnyama Limba NEW
Tony C ShinkoJapanXuxue Feng NEGOTIATION
Silvio U VocelkaAustraliaIvan Magalhaes RENEWAL
Faith E DarakjyItalyAmy Elsner UNQUALIFIED
Salvatore F StockhamRussiaElwin Sharvill PROPOSAL
Silvio Y InouyeAustraliaAmy Elsner PROPOSAL
Ashley F SchemmerGermanyElwin Sharvill NEW
Francesco O GauchoSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria X WhobreyIndia2024-06-16Feiner Bros RENEWAL45Xuxue Feng
1001Leon B PerinArgentina2024-06-23Dorl, James J Esq QUALIFIED76Asiya Javayant
1002Ricardo Q BologniaAustralia2024-05-27Chapman, Ross E Esq PROPOSAL0Stephen Shaw
1003Ashley D BriddickGermany2024-05-31Printing Dimensions PROPOSAL8Anna Fali
1004Ashley G MarrierBrazil2024-06-15Rangoni Of Florence NEGOTIATION18Ivan Magalhaes
1005Stacey E DarakjyAustralia2024-06-21Feltz Printing Service RENEWAL45Stephen Shaw
1006Darci W MaletArgentina2024-05-31Feltz Printing Service UNQUALIFIED82Ioni Bowcher
1007Ashley W MarrierGermany2024-05-26Rousseaux, Michael Esq RENEWAL48Elwin Sharvill
1008Faith I BowleyFrance2024-06-16Printing Dimensions UNQUALIFIED53Elwin Sharvill
1009Alejandro R SaylorsJapan2024-06-13Printing Dimensions QUALIFIED39Onyama Limba
1010Aika X ShinkoGermany2024-06-15Printing Dimensions QUALIFIED52Elwin Sharvill
1011Smith A KuskoIndia2024-06-24Buckley Miller Wright UNQUALIFIED56Elwin Sharvill
1012James A FlosiJapan2024-06-02Chapman, Ross E Esq RENEWAL6Ivan Magalhaes
1013Johnson X FlosiUnited Kingdom2024-06-01Printing Dimensions NEGOTIATION60Elwin Sharvill
1014Mayumi N StensethSpain2024-06-13Dorl, James J Esq QUALIFIED50Anna Fali
1015Cody G SlusarskiItaly2024-06-15Rangoni Of Florence UNQUALIFIED1Anna Fali
1016Juan W DoeItaly2024-06-13Truhlar And Truhlar Attys RENEWAL50Asiya Javayant
1017Claire M RoysterRussia2024-06-16Rousseaux, Michael Esq RENEWAL81Xuxue Feng
1018Jones C MaletAustralia2024-06-18Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1019Stacey L ChuiAustralia2024-06-01Morlong Associates RENEWAL21Elwin Sharvill
1020Mayumi F PoquetteGermany2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED66Xuxue Feng
1021Arvin M BologniaBrazil2024-06-21Truhlar And Truhlar Attys NEGOTIATION25Anna Fali
1022Antonio R SergiRussia2024-06-08Rousseaux, Michael Esq PROPOSAL76Ioni Bowcher
1023Kadeem W SchemmerUnited Kingdom2024-06-15Printing Dimensions NEGOTIATION17Xuxue Feng
1024Ivar G GlickJapan2024-06-11Buckley Miller Wright NEW84Amy Elsner
1025Antonio M SergiItaly2024-06-02Rangoni Of Florence PROPOSAL27Anna Fali
1026Munro J PoquetteRussia2024-05-31Benton, John B Jr NEW10Anna Fali
1027Ivar A ShinkoUnited Kingdom2024-06-20Chemel, James L Cpa UNQUALIFIED38Xuxue Feng
1028Francesco A DarakjySpain2024-06-12Benton, John B Jr RENEWAL88Stephen Shaw
1029Faith R DilliardArgentina2024-05-28Chapman, Ross E Esq NEGOTIATION67Amy Elsner
1030Darci K MaletItaly2024-06-24Dorl, James J Esq QUALIFIED35Elwin Sharvill
1031Antonio X PoquetteArgentina2024-06-05Commercial Press QUALIFIED3Elwin Sharvill
1032Julie D NickaArgentina2024-06-24Rousseaux, Michael Esq UNQUALIFIED69Anna Fali
1033Nicolas S GlickJapan2024-06-05Morlong Associates UNQUALIFIED63Anna Fali
1034Tony N RimRussia2024-06-19Benton, John B Jr NEW86Onyama Limba
1035Jefferson M FerenczSpain2024-06-12Benton, John B Jr NEGOTIATION10Onyama Limba
1036Rodrigues V MorascaGermany2024-06-06Rousseaux, Michael Esq NEW67Elwin Sharvill
1037Maisha R VocelkaItaly2024-06-21Buckley Miller Wright NEGOTIATION45Amy Elsner
1038Nicolas R MacleadBrazil2024-06-08Dorl, James J Esq UNQUALIFIED96Stephen Shaw
1039Ivar L FigeroaItaly2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED68Anna Fali
1040Morrow K PaprockiSpain2024-06-18Dorl, James J Esq UNQUALIFIED75Asiya Javayant
1041Octavia R IturbideCanada2024-06-07Morlong Associates QUALIFIED82Stephen Shaw
1042Stacey X PerinUnited Kingdom2024-06-08Dorl, James J Esq PROPOSAL55Asiya Javayant
1043Jefferson K GauchoIndia2024-06-18Dorl, James J Esq PROPOSAL36Ioni Bowcher
1044Kaitlin D OstroskyCanada2024-06-05Commercial Press NEW35Ivan Magalhaes
1045Ricardo K GarufiRussia2024-06-19Rousseaux, Michael Esq RENEWAL75Bernardo Dominic
1046Alejandro H SergiRussia2024-06-24Benton, John B Jr NEGOTIATION68Onyama Limba
1047Arvin X CaldareraUnited Kingdom2024-06-17Rangoni Of Florence PROPOSAL88Anna Fali
1048Deepesh F BriddickBrazil2024-06-08Commercial Press PROPOSAL1Onyama Limba
1049Silvio F IturbideJapan2024-05-31Chemel, James L Cpa QUALIFIED86Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Y PaprockiJapanElwin Sharvill QUALIFIED
Morrow J TollnerFranceBernardo Dominic UNQUALIFIED
Mujtaba Z CaldareraCanadaOnyama Limba QUALIFIED
Ricardo L OstroskyGermanyBernardo Dominic RENEWAL
Sinclair V RulapaughArgentinaStephen Shaw PROPOSAL
Ricardo P RulapaughCanadaStephen Shaw RENEWAL
Tony J ButtUnited KingdomStephen Shaw NEGOTIATION
Jefferson L WhobreyItalyIvan Magalhaes UNQUALIFIED
David X RulapaughSpainIoni Bowcher QUALIFIED
Mujtaba G VenereGermanyStephen Shaw NEW
Emily C NestleFranceAnna Fali NEW
Claire B PerinJapanElwin Sharvill NEGOTIATION
Leja J TollnerFranceStephen Shaw PROPOSAL
Octavia F RutaGermanyElwin Sharvill NEGOTIATION
Jennifer Z IturbideBrazilBernardo Dominic NEGOTIATION
Johnson G MaletFranceXuxue Feng NEGOTIATION
Nicolas W BriddickArgentinaBernardo Dominic QUALIFIED
Misaki F MaletSpainXuxue Feng QUALIFIED
Juan X VenereGermanyElwin Sharvill QUALIFIED
Ivar W CaldareraIndiaElwin Sharvill RENEWAL
Jeanfrancois S FerenczIndiaIoni Bowcher UNQUALIFIED
Jefferson W RoysterBrazilAmy Elsner NEGOTIATION
Mujtaba N FerenczCanadaAnna Fali QUALIFIED
Misaki R MacleadIndiaStephen Shaw NEGOTIATION
Jones H GauchoBrazilBernardo Dominic QUALIFIED
Ricardo K RimGermanyElwin Sharvill NEW
Jones H GarufiUnited KingdomOnyama Limba RENEWAL
Jennifer I AlbaresArgentinaAmy Elsner RENEWAL
Murillo R SlusarskiIndiaAmy Elsner NEGOTIATION
Claire I SchemmerArgentinaElwin Sharvill RENEWAL
Aruna I StockhamIndiaXuxue Feng QUALIFIED
Salvatore S DilliardJapanElwin Sharvill RENEWAL
Clifford H BowleyRussiaElwin Sharvill RENEWAL
Adams I RutaItalyBernardo Dominic RENEWAL
Ricardo C KuskoJapanStephen Shaw NEGOTIATION
Isabel H PerinRussiaOnyama Limba RENEWAL
David S StockhamIndiaAnna Fali QUALIFIED
Rodrigues A FerenczArgentinaIvan Magalhaes PROPOSAL
Costa P PerinJapanIoni Bowcher NEW
Izzy M WaycottRussiaStephen Shaw NEW
Johnson M FigeroaItalyXuxue Feng NEGOTIATION
Ricardo Y KuskoSpainAmy Elsner PROPOSAL
Aika X ButtBrazilXuxue Feng NEW
Silvio L PoquetteGermanyIoni Bowcher RENEWAL
Stacey Z AmigonArgentinaIoni Bowcher NEW
James B DoeGermanyXuxue Feng NEGOTIATION
Jones I PoquetteIndiaIoni Bowcher NEW
Julie E CaldareraItalyBernardo Dominic PROPOSAL
Ricardo N DoeIndiaElwin Sharvill NEGOTIATION
Murillo O OldroydAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Jennifer R Darakjy
Emily B Schemmer
Jennifer N Caldarera
Maisha S Glick
Johnson F Schemmer
Francesco H Saylors
Ricardo G Wieser
Izzy H Vocelka
Mujtaba E Bowley
Izzy X Malet
Misaki X Ruta
James X Rim
Ivar V Albares
Ricardo X Inouye
Aruna C Glick
Mayumi K Tollner
Mayumi R Saylors
Leon M Venere
Julie O Darakjy
Isabel G Ferencz
Emily K Sergi
Misaki Q Garufi
Julie X Dilliard
Tony C Maclead
Wickens W Perin
Alejandro A Stenseth
Antonio B Kolmetz
Leja M Nestle
Smith B Oldroyd
Silvio R Butt
Stacey W Maclead
Deepesh X Slusarski
Jefferson R Butt
Murillo K Poquette
Deepesh R Flosi
Darci L Nicka
Sinclair W Dilliard
Johnson I Oldroyd
Johnson G Stenseth
Aditya X Rulapaugh
Johnson X Venere
Tony N Saylors
Johnson W Caudy
Costa H Flosi
Chavez S Briddick
Maisha K Rulapaugh
Tony P Vocelka
Maisha Q Flosi
Cody G Garufi
Jennifer N Dilliard
IdCountryDate
1000Australia2024-06-18
1001Canada2024-06-03
1002Canada2024-05-26
1003France2024-06-04
1004Japan2024-05-26
1005India2024-05-31
1006United Kingdom2024-05-28
1007Germany2024-06-06
1008United Kingdom2024-05-30
1009Spain2024-06-13
1010Australia2024-06-17
1011India2024-05-27
1012France2024-06-07
1013Germany2024-06-23
1014Brazil2024-06-06
1015Italy2024-06-16
1016Spain2024-05-30
1017Russia2024-06-22
1018France2024-06-17
1019Spain2024-06-16
1020Brazil2024-05-26
1021Russia2024-05-31
1022Italy2024-06-09
1023Germany2024-06-12
1024Russia2024-05-27
1025Australia2024-05-29
1026Japan2024-06-18
1027Brazil2024-06-22
1028Germany2024-06-18
1029Brazil2024-06-16
1030Germany2024-06-24
1031Canada2024-06-23
1032France2024-06-18
1033Argentina2024-05-30
1034Brazil2024-06-10
1035Italy2024-05-26
1036Italy2024-06-16
1037Japan2024-05-26
1038Germany2024-06-21
1039Brazil2024-06-13
1040Canada2024-06-19
1041India2024-05-28
1042Spain2024-06-22
1043Russia2024-06-13
1044Argentina2024-06-05
1045United Kingdom2024-06-13
1046Japan2024-06-03
1047Spain2024-05-27
1048Brazil2024-06-23
1049Brazil2024-06-04

On-Demand Data

NameIdCountryDate
Kadeem H Ruta1000Italy2024-06-23
Kadeem K Stenseth1001Brazil2024-06-09
Jones G Poquette1002United Kingdom2024-06-24
Leja Y Wieser1003Russia2024-05-30
Munro R Ferencz1004Argentina2024-06-15
Leja G Schemmer1005Argentina2024-06-15
Claire H Iturbide1006Argentina2024-06-24
Claire T Dilliard1007United Kingdom2024-06-04
Morrow V Butt1008Japan2024-05-27
Costa J Oldroyd1009Australia2024-05-30
Maisha G Albares1010Germany2024-06-05
Chavez I Malet1011Russia2024-05-31
Izzy M Stenseth1012Germany2024-06-15
Ivar U Ferencz1013Italy2024-06-21
Adams G Rulapaugh1014Argentina2024-06-06
Kaitlin W Inouye1015Brazil2024-06-14
Aika X Ostrosky1016France2024-06-07
Wickens N Kusko1017Germany2024-06-20
Ashley P Caudy1018Italy2024-06-04
Ashley O Bolognia1019United Kingdom2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie H MarrierArgentinaAnna Fali QUALIFIED
Aditya N GlickJapanAnna Fali RENEWAL
Kaitlin K OldroydBrazilOnyama Limba PROPOSAL
Octavia J VenereRussiaIvan Magalhaes RENEWAL
Jeanfrancois G MarrierCanadaOnyama Limba NEGOTIATION
Alejandro A FlosiJapanAmy Elsner NEGOTIATION
Isabel D PaprockiJapanXuxue Feng RENEWAL
Nicolas G WieserSpainAnna Fali UNQUALIFIED
Antonio E InouyeBrazilOnyama Limba RENEWAL
Tony D ShinkoCanadaIvan Magalhaes RENEWAL
Juan Y SergiItalyOnyama Limba QUALIFIED
Stacey W InouyeFranceStephen Shaw PROPOSAL
Darci F NestleCanadaElwin Sharvill NEW
Octavia I ChuiRussiaOnyama Limba NEGOTIATION
David I TollnerItalyAmy Elsner UNQUALIFIED
Emily E FollerAustraliaIvan Magalhaes PROPOSAL
Jones Y FollerIndiaAnna Fali UNQUALIFIED
Nicolas M MorascaBrazilElwin Sharvill RENEWAL
Ricardo G MaletBrazilOnyama Limba RENEWAL
Rodrigues J MacleadAustraliaBernardo Dominic NEW
Faith O NestleItalyBernardo Dominic QUALIFIED
Johnson F MaletArgentinaIvan Magalhaes QUALIFIED
Darci X GauchoFranceElwin Sharvill UNQUALIFIED
Ashley M KuskoIndiaIoni Bowcher PROPOSAL
Aika J AlbaresSpainElwin Sharvill NEGOTIATION
Ricardo D GlickGermanyElwin Sharvill RENEWAL
Leja R MaletGermanyBernardo Dominic NEGOTIATION
Kaitlin N BriddickJapanStephen Shaw NEW
Jeanfrancois U RulapaughItalyXuxue Feng QUALIFIED
Deepesh B RoysterFranceIoni Bowcher NEW
Aditya Y CaldareraCanadaAmy Elsner NEW
Wickens T DarakjyIndiaAsiya Javayant NEGOTIATION
Mayumi G PoquetteIndiaAmy Elsner UNQUALIFIED
Claire S BowleyAustraliaAmy Elsner PROPOSAL
Silvio N DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Kadeem O PaprockiRussiaOnyama Limba NEW
David W MaletAustraliaIoni Bowcher RENEWAL
Ivar Y InouyeItalyStephen Shaw UNQUALIFIED
Ashley R GarufiArgentinaXuxue Feng QUALIFIED
Ivar C InouyeAustraliaXuxue Feng NEW

<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>