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
Mujtaba C MaletJapanBernardo Dominic NEW
Darci V FerenczBrazilAmy Elsner NEGOTIATION
Kadeem M MarrierSpainAsiya Javayant QUALIFIED
Julie Y PoquetteSpainIvan Magalhaes NEGOTIATION
Darci P FigeroaFranceIvan Magalhaes UNQUALIFIED
Aruna T GauchoCanadaAsiya Javayant UNQUALIFIED
Greenwood J RoysterRussiaStephen Shaw UNQUALIFIED
Maisha T NestleBrazilOnyama Limba NEGOTIATION
Leja B CaldareraIndiaAnna Fali NEGOTIATION
Jones R CaldareraAustraliaOnyama Limba NEGOTIATION
Leon X StockhamRussiaStephen Shaw NEW
Misaki U StockhamAustraliaAnna Fali NEW
Mujtaba L MarrierGermanyXuxue Feng NEW
Stacey G WaycottAustraliaIvan Magalhaes NEW
Maisha A AlbaresRussiaIvan Magalhaes UNQUALIFIED
Munro D FigeroaSpainBernardo Dominic NEW
Leja V FigeroaCanadaElwin Sharvill QUALIFIED
Greenwood S PoquetteCanadaOnyama Limba NEW
Greenwood O IturbideRussiaAnna Fali NEW
Rodrigues U BowleyGermanyOnyama Limba NEGOTIATION
Faith W InouyeGermanyXuxue Feng NEW
Ricardo V InouyeGermanyOnyama Limba QUALIFIED
Arvin V InouyeAustraliaAsiya Javayant UNQUALIFIED
Juan O WieserRussiaElwin Sharvill NEGOTIATION
Emily A RimArgentinaElwin Sharvill PROPOSAL
Darci A MarrierArgentinaAsiya Javayant NEGOTIATION
Aika T VocelkaSpainXuxue Feng UNQUALIFIED
David N SlusarskiGermanyXuxue Feng PROPOSAL
Costa L InouyeArgentinaElwin Sharvill QUALIFIED
Ivar T ShinkoRussiaElwin Sharvill QUALIFIED
Greenwood G RulapaughItalyStephen Shaw NEGOTIATION
Aruna I FlosiSpainAnna Fali NEGOTIATION
Octavia C VocelkaUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois F BologniaFranceAmy Elsner RENEWAL
Aika V WieserSpainStephen Shaw QUALIFIED
Ricardo H RoysterGermanyOnyama Limba RENEWAL
Faith E FerenczIndiaBernardo Dominic UNQUALIFIED
Smith D DilliardArgentinaIoni Bowcher RENEWAL
Isabel P BowleyBrazilIoni Bowcher QUALIFIED
Aika W FollerUnited KingdomIoni Bowcher PROPOSAL
Ashley U StensethArgentinaIoni Bowcher QUALIFIED
Darci C RutaUnited KingdomStephen Shaw PROPOSAL
Darci V RutaArgentinaElwin Sharvill QUALIFIED
Munro D WieserItalyAsiya Javayant NEW
Aruna O DarakjyAustraliaIvan Magalhaes QUALIFIED
Julie H DilliardIndiaAsiya Javayant QUALIFIED
Jeanfrancois L AmigonArgentinaAsiya Javayant RENEWAL
Juan F VenereArgentinaStephen Shaw PROPOSAL
Jennifer F FerenczArgentinaAsiya Javayant UNQUALIFIED
Emily B IturbideArgentinaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel J KolmetzJapanOnyama Limba PROPOSAL
Faith Z RoysterUnited KingdomAmy Elsner UNQUALIFIED
Clifford I CaldareraIndiaIvan Magalhaes RENEWAL
Johnson J RoysterArgentinaAsiya Javayant UNQUALIFIED
Silvio F NickaGermanyIvan Magalhaes RENEWAL
Murillo C RimJapanAmy Elsner QUALIFIED
Darci Q CaldareraSpainIoni Bowcher RENEWAL
Emily J GauchoFranceAsiya Javayant NEGOTIATION
Murillo G AmigonJapanIoni Bowcher RENEWAL
Costa E DilliardSpainElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily C AlbaresItaly2026-08-12King, Christopher A Esq PROPOSAL46Stephen Shaw
1001Greenwood X CampainArgentina2026-08-07King, Christopher A Esq UNQUALIFIED50Amy Elsner
1002Jefferson Y GauchoSpain2026-08-11Commercial Press PROPOSAL78Elwin Sharvill
1003Tony P ShinkoJapan2026-08-24Dorl, James J Esq RENEWAL96Ioni Bowcher
1004Adams P FollerRussia2026-08-14Chapman, Ross E Esq RENEWAL46Amy Elsner
1005Francesco W MaletAustralia2026-08-15King, Christopher A Esq RENEWAL9Anna Fali
1006Ivar R FollerGermany2026-08-19Rousseaux, Michael Esq NEW34Asiya Javayant
1007Greenwood I SlusarskiArgentina2026-08-08Truhlar And Truhlar Attys QUALIFIED49Bernardo Dominic
1008Munro N GarufiSpain2026-08-10Benton, John B Jr NEGOTIATION58Elwin Sharvill
1009Darci C BriddickFrance2026-08-01Feltz Printing Service QUALIFIED79Bernardo Dominic
1010Emily K SlusarskiAustralia2026-08-05King, Christopher A Esq NEW13Ioni Bowcher
1011Rodrigues N StockhamGermany2026-08-27Feiner Bros NEGOTIATION89Ioni Bowcher
1012Izzy Z MarrierFrance2026-08-25Benton, John B Jr NEGOTIATION38Ioni Bowcher
1013Silvio J MorascaArgentina2026-08-15Feltz Printing Service PROPOSAL25Onyama Limba
1014Morrow S CaldareraItaly2026-08-03King, Christopher A Esq NEW5Onyama Limba
1015Octavia U StensethAustralia2026-08-08King, Christopher A Esq QUALIFIED16Onyama Limba
1016Misaki M FerenczUnited Kingdom2026-08-20Commercial Press NEW51Asiya Javayant
1017Sinclair D SergiIndia2026-08-09Buckley Miller Wright PROPOSAL19Ioni Bowcher
1018Mayumi U VocelkaRussia2026-08-01Chanay, Jeffrey A Esq NEW36Amy Elsner
1019Maria S MaletBrazil2026-08-15Benton, John B Jr UNQUALIFIED59Onyama Limba
1020Emily G FlosiFrance2026-08-04Dorl, James J Esq NEW56Stephen Shaw
1021Ashley V VenereIndia2026-08-15Truhlar And Truhlar Attys QUALIFIED56Bernardo Dominic
1022Deepesh H RulapaughUnited Kingdom2026-08-15Commercial Press NEW6Elwin Sharvill
1023Jefferson H GlickArgentina2026-08-01Chanay, Jeffrey A Esq NEGOTIATION39Ivan Magalhaes
1024Mayumi T PaprockiBrazil2026-08-26Chanay, Jeffrey A Esq UNQUALIFIED90Bernardo Dominic
1025Isabel P StockhamArgentina2026-08-15Commercial Press NEW85Elwin Sharvill
1026Smith Z RulapaughItaly2026-08-03Commercial Press NEW62Asiya Javayant
1027Tony J DarakjyItaly2026-08-27Chemel, James L Cpa NEGOTIATION26Asiya Javayant
1028Juan S KolmetzItaly2026-08-24King, Christopher A Esq RENEWAL14Bernardo Dominic
1029Leon E AmigonRussia2026-07-30Chemel, James L Cpa QUALIFIED94Ivan Magalhaes
1030Deepesh Y GauchoJapan2026-08-26Chapman, Ross E Esq PROPOSAL83Xuxue Feng
1031Chavez T AmigonBrazil2026-08-21Truhlar And Truhlar Attys PROPOSAL29Onyama Limba
1032Cody F BriddickJapan2026-08-16Dorl, James J Esq RENEWAL45Asiya Javayant
1033Clifford G PerinJapan2026-08-09Feiner Bros PROPOSAL89Onyama Limba
1034Murillo Z AlbaresAustralia2026-08-27Chapman, Ross E Esq QUALIFIED66Amy Elsner
1035Tony S CaldareraAustralia2026-08-04King, Christopher A Esq PROPOSAL97Stephen Shaw
1036Wickens Y GlickItaly2026-08-08Morlong Associates UNQUALIFIED31Bernardo Dominic
1037Aditya T FerenczAustralia2026-08-10Benton, John B Jr NEW3Ivan Magalhaes
1038Izzy N PoquetteAustralia2026-08-10Dorl, James J Esq QUALIFIED87Ivan Magalhaes
1039Nicolas E CampainCanada2026-07-29Chapman, Ross E Esq QUALIFIED48Ivan Magalhaes
1040Ricardo Y StockhamAustralia2026-08-23Morlong Associates PROPOSAL97Bernardo Dominic
1041James Y IturbideSpain2026-08-01Chemel, James L Cpa UNQUALIFIED83Anna Fali
1042Arvin D OldroydBrazil2026-08-25Benton, John B Jr NEW4Ioni Bowcher
1043Ivar N GlickGermany2026-08-13Buckley Miller Wright QUALIFIED29Elwin Sharvill
1044Johnson V RoysterGermany2026-08-01Commercial Press NEW95Amy Elsner
1045Izzy L MacleadGermany2026-08-20Dorl, James J Esq NEW56Asiya Javayant
1046Claire T DoeItaly2026-08-09Buckley Miller Wright UNQUALIFIED96Stephen Shaw
1047Munro B InouyeGermany2026-08-05Buckley Miller Wright RENEWAL47Anna Fali
1048Octavia O RimUnited Kingdom2026-07-29Rangoni Of Florence NEGOTIATION20Anna Fali
1049Cody T InouyeGermany2026-08-11Rangoni Of Florence NEW87Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Johnson B SergiIndiaStephen Shaw PROPOSAL
Chavez N OldroydFranceIoni Bowcher UNQUALIFIED
Munro U GillianCanadaOnyama Limba NEGOTIATION
Aditya A DarakjyAustraliaElwin Sharvill QUALIFIED
Kadeem G ChuiArgentinaAmy Elsner QUALIFIED
Kaitlin Z CaldareraItalyElwin Sharvill QUALIFIED
Stacey O WhobreyIndiaAnna Fali PROPOSAL
Salvatore L SaylorsUnited KingdomStephen Shaw QUALIFIED
Nicolas F WhobreyAustraliaStephen Shaw QUALIFIED
Jones Q SaylorsGermanyAnna Fali PROPOSAL
David R MacleadAustraliaAmy Elsner RENEWAL
Darci B SergiSpainBernardo Dominic NEGOTIATION
Alejandro J CampainRussiaStephen Shaw UNQUALIFIED
Faith L ShinkoRussiaStephen Shaw NEW
Maria S GarufiGermanyIvan Magalhaes NEW
Nicolas G WaycottFranceBernardo Dominic QUALIFIED
Maisha N SlusarskiFranceElwin Sharvill UNQUALIFIED
Aditya S IturbideSpainXuxue Feng UNQUALIFIED
Ivar P AmigonGermanyOnyama Limba NEGOTIATION
Stacey J GillianAustraliaAmy Elsner UNQUALIFIED
Mayumi S InouyeUnited KingdomXuxue Feng NEW
Maria Z GlickGermanyBernardo Dominic NEW
Rodrigues V BriddickCanadaAsiya Javayant PROPOSAL
Mujtaba H SergiCanadaOnyama Limba UNQUALIFIED
Aditya L SchemmerJapanAnna Fali RENEWAL
Jeanfrancois B NickaUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer Y RimItalyBernardo Dominic NEW
Aruna J WaycottItalyXuxue Feng UNQUALIFIED
Deepesh U MarrierCanadaOnyama Limba PROPOSAL
Alejandro N AmigonBrazilAmy Elsner NEW
Jefferson F GlickItalyOnyama Limba PROPOSAL
Juan O MacleadIndiaAnna Fali NEGOTIATION
Clifford V CaldareraGermanyAmy Elsner QUALIFIED
Leja T VocelkaFranceElwin Sharvill UNQUALIFIED
Isabel B WhobreyUnited KingdomElwin Sharvill NEW
Stacey C RutaArgentinaXuxue Feng UNQUALIFIED
Ivar U PaprockiSpainXuxue Feng QUALIFIED
Nicolas G TollnerCanadaOnyama Limba PROPOSAL
Mayumi S CaudyItalyElwin Sharvill QUALIFIED
Ashley S PerinArgentinaAmy Elsner RENEWAL
Murillo L RimBrazilOnyama Limba NEW
Misaki R CampainRussiaIvan Magalhaes NEGOTIATION
Tony S ShinkoItalyIvan Magalhaes RENEWAL
Cody I MarrierItalyIoni Bowcher NEW
Costa E PaprockiFranceStephen Shaw NEW
Johnson U SaylorsItalyOnyama Limba PROPOSAL
Juan G TollnerBrazilAsiya Javayant PROPOSAL
Leja A RoysterCanadaAmy Elsner RENEWAL
Aruna E ButtJapanBernardo Dominic NEW
Chavez C GlickGermanyElwin Sharvill PROPOSAL
Frozen Columns
Name
Octavia C Figeroa
Johnson A Morasca
Costa C Shinko
Aruna I Whobrey
Kaitlin P Paprocki
Aruna N Oldroyd
Silvio D Inouye
Aruna A Rim
Jefferson R Bolognia
Faith W Caldarera
Tony L Butt
Antonio D Perin
Clifford J Oldroyd
Cody S Dilliard
Kaitlin P Garufi
Ashley J Caldarera
Kadeem T Inouye
Maisha T Maclead
Salvatore E Oldroyd
Maisha C Gaucho
Isabel N Oldroyd
Mujtaba L Flosi
Francesco Y Vocelka
Nicolas M Glick
Costa O Venere
James U Darakjy
Mayumi N Oldroyd
Arvin P Bowley
Nicolas V Whobrey
Kadeem T Maclead
Johnson E Amigon
Aika X Gillian
Deepesh R Garufi
Emily F Gaucho
James B Bolognia
Costa S Waycott
Leja H Maclead
Leja G Malet
Stacey D Sergi
Ricardo R Schemmer
Ricardo N Stockham
Darci C Malet
Misaki R Marrier
Smith K Slusarski
Wickens W Tollner
Morrow P Rim
Murillo T Vocelka
Jefferson R Tollner
Mujtaba O Figeroa
Clifford F Royster
IdCountryDate
1000United Kingdom2026-08-14
1001France2026-08-23
1002Germany2026-08-26
1003Russia2026-08-03
1004Germany2026-07-29
1005Spain2026-07-31
1006France2026-08-16
1007Spain2026-08-16
1008Japan2026-08-02
1009France2026-08-14
1010United Kingdom2026-08-22
1011Brazil2026-08-13
1012Brazil2026-08-10
1013Germany2026-08-14
1014Germany2026-08-17
1015Canada2026-08-12
1016Italy2026-08-14
1017Germany2026-07-31
1018Australia2026-08-16
1019Germany2026-08-23
1020Russia2026-08-10
1021Germany2026-08-22
1022Australia2026-08-21
1023Brazil2026-08-20
1024Spain2026-08-18
1025Spain2026-08-20
1026Argentina2026-08-05
1027Spain2026-08-14
1028Brazil2026-08-08
1029United Kingdom2026-08-22
1030Canada2026-08-13
1031Japan2026-08-08
1032Japan2026-08-25
1033India2026-08-13
1034Germany2026-08-16
1035Russia2026-08-24
1036Canada2026-08-25
1037Italy2026-08-23
1038Spain2026-08-26
1039France2026-08-25
1040Brazil2026-08-15
1041Spain2026-08-18
1042United Kingdom2026-08-05
1043United Kingdom2026-08-06
1044Japan2026-08-26
1045Italy2026-08-16
1046Australia2026-08-15
1047Germany2026-07-29
1048Canada2026-08-09
1049Russia2026-08-01

On-Demand Data

NameIdCountryDate
Alejandro Q Iturbide1000Italy2026-08-22
Stacey U Ruta1001France2026-08-26
Cody S Marrier1002India2026-08-23
Tony M Ferencz1003United Kingdom2026-08-20
Maria A Vocelka1004Russia2026-08-09
Ricardo C Royster1005Russia2026-08-13
Chavez D Garufi1006Germany2026-08-26
Deepesh Y Figeroa1007Germany2026-08-02
Salvatore V Iturbide1008Australia2026-08-15
Morrow K Waycott1009Spain2026-08-10
Ivar X Albares1010Brazil2026-08-01
Jeanfrancois L Dilliard1011France2026-08-12
Morrow G Whobrey1012Russia2026-08-07
Octavia Y Maclead1013Russia2026-08-18
Johnson H Venere1014Japan2026-08-15
Alejandro V Stockham1015India2026-08-18
Faith M Poquette1016India2026-08-11
Isabel G Bolognia1017Spain2026-08-12
Cody B Doe1018Germany2026-08-16
Clifford Q Darakjy1019Australia2026-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire J MacleadItalyIvan Magalhaes NEW
Jefferson M BologniaRussiaIvan Magalhaes NEW
Salvatore W SlusarskiSpainIvan Magalhaes NEW
James K WieserIndiaOnyama Limba QUALIFIED
Octavia G GauchoArgentinaElwin Sharvill NEGOTIATION
Antonio W ChuiSpainElwin Sharvill PROPOSAL
Tony M BowleyAustraliaOnyama Limba QUALIFIED
Mujtaba E ShinkoJapanAmy Elsner NEW
Rodrigues M DarakjyFranceAnna Fali NEGOTIATION
Claire B CaldareraJapanAnna Fali RENEWAL
Arvin W AlbaresUnited KingdomXuxue Feng QUALIFIED
Emily B CampainCanadaElwin Sharvill QUALIFIED
Alejandro X TollnerCanadaAmy Elsner NEW
Aika F PerinIndiaIvan Magalhaes NEW
Murillo M InouyeRussiaStephen Shaw QUALIFIED
Munro C CaudyJapanAmy Elsner NEGOTIATION
Ricardo P BowleyJapanXuxue Feng NEW
Salvatore H SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Y FollerIndiaAnna Fali UNQUALIFIED
Kaitlin Y FigeroaIndiaAmy Elsner QUALIFIED
Arvin E RimJapanIvan Magalhaes PROPOSAL
Antonio U RulapaughItalyStephen Shaw QUALIFIED
Wickens G MaletBrazilOnyama Limba RENEWAL
Francesco I CaudyAustraliaOnyama Limba QUALIFIED
Greenwood K StockhamGermanyBernardo Dominic RENEWAL
Kadeem O DarakjyItalyAnna Fali QUALIFIED
Isabel A WaycottIndiaStephen Shaw UNQUALIFIED
James T IturbideFranceIoni Bowcher PROPOSAL
Ashley G OldroydBrazilAnna Fali NEW
Ivar V BowleyItalyIoni Bowcher UNQUALIFIED
Sinclair A CaudyCanadaIoni Bowcher PROPOSAL
Darci Y RimSpainStephen Shaw QUALIFIED
Faith E VenereBrazilAnna Fali QUALIFIED
Emily D SlusarskiFranceAnna Fali RENEWAL
Deepesh C GillianGermanyIoni Bowcher NEGOTIATION
Aika L MorascaBrazilStephen Shaw QUALIFIED
Juan Q ButtUnited KingdomAmy Elsner UNQUALIFIED
Stacey Q SergiGermanyAmy Elsner UNQUALIFIED
Adams V NestleFranceXuxue Feng NEW
Aditya S MarrierRussiaIvan Magalhaes 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>