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
Faith P InouyeFranceXuxue Feng PROPOSAL
Morrow A FollerIndiaStephen Shaw RENEWAL
Faith U AmigonRussiaElwin Sharvill NEGOTIATION
Johnson G ShinkoSpainBernardo Dominic QUALIFIED
Costa B VenereFranceAnna Fali UNQUALIFIED
Julie C RutaArgentinaBernardo Dominic QUALIFIED
Francesco Y BriddickSpainAnna Fali UNQUALIFIED
Adams F ChuiGermanyIvan Magalhaes RENEWAL
Jefferson J CaldareraArgentinaIoni Bowcher UNQUALIFIED
Jennifer X NestleGermanyElwin Sharvill QUALIFIED
Silvio X BologniaBrazilXuxue Feng RENEWAL
Morrow F TollnerGermanyAnna Fali QUALIFIED
Leja R StensethSpainOnyama Limba NEGOTIATION
David W RimItalyBernardo Dominic NEGOTIATION
Silvio L CampainGermanyIoni Bowcher NEGOTIATION
Silvio W RoysterUnited KingdomOnyama Limba QUALIFIED
Jones M RimArgentinaAnna Fali QUALIFIED
Juan D BriddickSpainBernardo Dominic NEW
Jones S InouyeRussiaIvan Magalhaes QUALIFIED
Nicolas Y FerenczCanadaXuxue Feng QUALIFIED
Faith L WhobreyGermanyStephen Shaw UNQUALIFIED
Costa G BriddickAustraliaXuxue Feng PROPOSAL
Murillo L BologniaJapanAsiya Javayant RENEWAL
Silvio A IturbideIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois R BowleyArgentinaXuxue Feng NEW
Greenwood N StensethSpainAnna Fali UNQUALIFIED
Munro X ButtCanadaElwin Sharvill PROPOSAL
Francesco O IturbideRussiaAnna Fali PROPOSAL
Greenwood E ChuiFranceIvan Magalhaes PROPOSAL
Maria Z DoeJapanIoni Bowcher NEW
Emily Q PaprockiItalyElwin Sharvill NEGOTIATION
Maria E DilliardAustraliaIoni Bowcher PROPOSAL
Deepesh O GarufiItalyOnyama Limba NEGOTIATION
Aditya R BologniaIndiaElwin Sharvill NEW
Maria I FollerGermanyBernardo Dominic PROPOSAL
Nicolas M FigeroaSpainBernardo Dominic NEW
Alejandro M WaycottGermanyStephen Shaw NEW
Sinclair M DarakjyItalyAsiya Javayant NEGOTIATION
Aruna H NickaRussiaIoni Bowcher NEGOTIATION
Sinclair K SergiUnited KingdomIvan Magalhaes NEW
Leon U CampainArgentinaElwin Sharvill QUALIFIED
Octavia X WhobreyFranceAnna Fali PROPOSAL
Darci M InouyeJapanOnyama Limba RENEWAL
Morrow V DarakjyFranceElwin Sharvill UNQUALIFIED
Misaki E MacleadAustraliaOnyama Limba RENEWAL
Morrow X SchemmerArgentinaAsiya Javayant PROPOSAL
Arvin B PaprockiJapanAmy Elsner PROPOSAL
Rodrigues X SergiCanadaOnyama Limba RENEWAL
Francesco J RoysterFranceAnna Fali RENEWAL
Francesco C InouyeBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Cody M GlickFranceXuxue Feng QUALIFIED
Morrow T MacleadBrazilXuxue Feng NEW
Clifford O InouyeArgentinaBernardo Dominic NEW
Costa N IturbideGermanyXuxue Feng RENEWAL
Costa S NestleRussiaIoni Bowcher QUALIFIED
Emily E PerinCanadaOnyama Limba NEGOTIATION
Morrow E PaprockiCanadaIvan Magalhaes UNQUALIFIED
Ashley E OstroskyFranceStephen Shaw UNQUALIFIED
Jeanfrancois E DoeRussiaAnna Fali QUALIFIED
Sinclair X ShinkoIndiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia R VocelkaBrazil2026-06-29Benton, John B Jr QUALIFIED30Ivan Magalhaes
1001Leon K PoquetteUnited Kingdom2026-07-10Chanay, Jeffrey A Esq UNQUALIFIED26Ivan Magalhaes
1002Sinclair A ChuiIndia2026-06-29Feiner Bros QUALIFIED4Elwin Sharvill
1003Jennifer Y KuskoSpain2026-06-20Feltz Printing Service PROPOSAL28Elwin Sharvill
1004Misaki R MaletItaly2026-06-30Morlong Associates PROPOSAL75Ivan Magalhaes
1005Mujtaba Q OldroydAustralia2026-06-25Feltz Printing Service PROPOSAL86Bernardo Dominic
1006Antonio K RimGermany2026-07-11Feiner Bros QUALIFIED78Amy Elsner
1007Juan H ShinkoFrance2026-06-17Rousseaux, Michael Esq NEW89Amy Elsner
1008Leja H MarrierIndia2026-06-30Feltz Printing Service QUALIFIED0Xuxue Feng
1009Faith V TollnerJapan2026-06-23Benton, John B Jr RENEWAL99Xuxue Feng
1010Claire G PaprockiSpain2026-06-18Chemel, James L Cpa NEW57Asiya Javayant
1011Arvin B RimItaly2026-06-19Truhlar And Truhlar Attys UNQUALIFIED83Stephen Shaw
1012Izzy D PaprockiArgentina2026-07-16Chapman, Ross E Esq NEGOTIATION10Onyama Limba
1013Ricardo T GarufiItaly2026-07-06Chanay, Jeffrey A Esq RENEWAL34Bernardo Dominic
1014Aditya W RoysterJapan2026-07-10King, Christopher A Esq PROPOSAL10Ivan Magalhaes
1015Adams Z IturbideItaly2026-07-05Dorl, James J Esq PROPOSAL40Stephen Shaw
1016Stacey C RimAustralia2026-06-28Chapman, Ross E Esq NEW87Elwin Sharvill
1017Ivar O KuskoSpain2026-06-26Buckley Miller Wright NEGOTIATION75Asiya Javayant
1018Leon J NestleSpain2026-06-30King, Christopher A Esq UNQUALIFIED29Xuxue Feng
1019Arvin T SaylorsGermany2026-07-15Dorl, James J Esq PROPOSAL38Onyama Limba
1020Maria H KuskoGermany2026-07-04Truhlar And Truhlar Attys QUALIFIED93Xuxue Feng
1021Leon Z VenereGermany2026-07-02Rangoni Of Florence RENEWAL43Elwin Sharvill
1022David X CaudyBrazil2026-07-14Chanay, Jeffrey A Esq RENEWAL2Asiya Javayant
1023Chavez M FollerArgentina2026-07-04Truhlar And Truhlar Attys PROPOSAL40Amy Elsner
1024Faith Y DilliardRussia2026-07-05Morlong Associates RENEWAL87Anna Fali
1025Isabel B RimItaly2026-06-25King, Christopher A Esq NEGOTIATION37Ivan Magalhaes
1026Aditya T GlickAustralia2026-07-04Commercial Press RENEWAL97Anna Fali
1027Darci L InouyeGermany2026-07-05Rousseaux, Michael Esq QUALIFIED4Stephen Shaw
1028James U TollnerCanada2026-06-19Dorl, James J Esq RENEWAL78Asiya Javayant
1029Jones V ShinkoGermany2026-06-28Truhlar And Truhlar Attys NEGOTIATION6Elwin Sharvill
1030Misaki K StockhamRussia2026-07-16Chapman, Ross E Esq PROPOSAL35Asiya Javayant
1031Stacey A RulapaughBrazil2026-07-01Commercial Press UNQUALIFIED63Anna Fali
1032Leja G RoysterAustralia2026-07-03Commercial Press UNQUALIFIED68Elwin Sharvill
1033Mayumi Z AmigonSpain2026-07-01Chemel, James L Cpa RENEWAL14Ioni Bowcher
1034Leon J WaycottIndia2026-07-14Rousseaux, Michael Esq RENEWAL63Ivan Magalhaes
1035Murillo A KuskoRussia2026-06-21Rangoni Of Florence QUALIFIED12Onyama Limba
1036Johnson J CampainAustralia2026-07-12Buckley Miller Wright PROPOSAL33Onyama Limba
1037Isabel N MarrierIndia2026-06-25Rangoni Of Florence NEW81Stephen Shaw
1038James R GarufiCanada2026-06-27Rangoni Of Florence PROPOSAL49Xuxue Feng
1039Rodrigues G WaycottRussia2026-06-23Morlong Associates NEW35Xuxue Feng
1040Misaki T PaprockiCanada2026-07-12King, Christopher A Esq NEGOTIATION56Bernardo Dominic
1041Salvatore C FlosiSpain2026-07-13Benton, John B Jr UNQUALIFIED51Bernardo Dominic
1042Murillo B GillianAustralia2026-07-14Benton, John B Jr PROPOSAL78Xuxue Feng
1043Adams T BriddickFrance2026-07-08Rangoni Of Florence NEGOTIATION58Amy Elsner
1044Ricardo C DoeRussia2026-06-29Truhlar And Truhlar Attys NEW48Bernardo Dominic
1045Morrow W FerenczSpain2026-06-27Dorl, James J Esq UNQUALIFIED90Xuxue Feng
1046Maisha U PoquetteFrance2026-07-14Chapman, Ross E Esq UNQUALIFIED50Anna Fali
1047James P FlosiRussia2026-07-01Dorl, James J Esq NEGOTIATION77Ioni Bowcher
1048Cody W PoquetteItaly2026-06-29Rousseaux, Michael Esq NEGOTIATION67Elwin Sharvill
1049Stacey O RutaCanada2026-07-12Feiner Bros QUALIFIED9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leon J SlusarskiAustraliaXuxue Feng PROPOSAL
Emily E RulapaughIndiaIvan Magalhaes QUALIFIED
Sinclair V OstroskyJapanBernardo Dominic NEGOTIATION
Ashley K RimSpainStephen Shaw PROPOSAL
Arvin V TollnerJapanIoni Bowcher RENEWAL
Tony I StensethCanadaIvan Magalhaes QUALIFIED
Claire C FlosiRussiaAnna Fali PROPOSAL
Wickens Q GauchoItalyXuxue Feng RENEWAL
Silvio H NickaItalyAsiya Javayant NEGOTIATION
Cody I MarrierJapanXuxue Feng RENEWAL
Misaki I MorascaBrazilOnyama Limba RENEWAL
Sinclair Y BologniaFranceAmy Elsner RENEWAL
Claire E SlusarskiJapanAsiya Javayant NEW
Aditya N PaprockiItalyElwin Sharvill UNQUALIFIED
Octavia U MacleadBrazilStephen Shaw UNQUALIFIED
Wickens L VocelkaAustraliaAmy Elsner NEW
Greenwood P CaudyAustraliaAmy Elsner PROPOSAL
Wickens Y FollerIndiaElwin Sharvill NEGOTIATION
Silvio G CampainIndiaAmy Elsner RENEWAL
Adams N PerinSpainIoni Bowcher PROPOSAL
Rodrigues Q BowleyFranceAsiya Javayant PROPOSAL
Salvatore U NickaRussiaAsiya Javayant RENEWAL
Darci W MacleadFranceOnyama Limba NEW
Sinclair V PoquetteSpainOnyama Limba RENEWAL
Emily M VocelkaArgentinaIvan Magalhaes QUALIFIED
Costa A MarrierSpainXuxue Feng QUALIFIED
Antonio E AlbaresArgentinaIoni Bowcher NEGOTIATION
Ricardo F SchemmerFranceBernardo Dominic NEGOTIATION
Jennifer E MarrierItalyAnna Fali NEGOTIATION
Cody W StockhamJapanIvan Magalhaes NEW
Aditya T SergiBrazilXuxue Feng NEGOTIATION
Julie W RutaRussiaAsiya Javayant UNQUALIFIED
Adams H VocelkaItalyBernardo Dominic QUALIFIED
Greenwood R MarrierGermanyOnyama Limba NEGOTIATION
Faith C WaycottCanadaAmy Elsner QUALIFIED
Octavia D TollnerRussiaIvan Magalhaes RENEWAL
Juan S RimFranceOnyama Limba PROPOSAL
Nicolas D GarufiBrazilXuxue Feng RENEWAL
Silvio D OstroskyAustraliaAsiya Javayant NEW
Jeanfrancois A GarufiArgentinaStephen Shaw QUALIFIED
Faith P FlosiBrazilXuxue Feng QUALIFIED
Jones M SaylorsCanadaAnna Fali QUALIFIED
Leon W NestleItalyBernardo Dominic UNQUALIFIED
Misaki K MorascaIndiaOnyama Limba NEGOTIATION
Juan V StockhamBrazilIoni Bowcher RENEWAL
Misaki K SergiItalyElwin Sharvill NEGOTIATION
Isabel C OstroskyIndiaOnyama Limba NEW
Faith P ButtRussiaElwin Sharvill PROPOSAL
Ricardo O FigeroaGermanyOnyama Limba PROPOSAL
Leon X DoeJapanOnyama Limba QUALIFIED
Frozen Columns
Name
Antonio Z Schemmer
Mujtaba J Gillian
Tony J Doe
Alejandro E Dilliard
Deepesh M Morasca
Salvatore J Vocelka
Morrow J Inouye
Misaki Q Caudy
Darci S Albares
Alejandro W Caudy
Kadeem X Doe
Antonio N Butt
James M Briddick
Francesco D Marrier
Jones U Chui
Kaitlin F Stenseth
Morrow U Marrier
Jeanfrancois V Darakjy
Ivar L Oldroyd
Claire U Garufi
Emily U Marrier
Mujtaba O Morasca
Nicolas Z Gillian
Aika B Whobrey
Arvin I Perin
James Q Saylors
Jennifer L Malet
Darci S Inouye
Octavia K Iturbide
Antonio D Sergi
Jennifer Z Oldroyd
Costa H Butt
Maria V Caudy
Misaki Q Vocelka
Stacey Q Morasca
Costa E Amigon
Ricardo W Kusko
Alejandro C Inouye
Jeanfrancois S Malet
Greenwood N Morasca
Misaki O Flosi
Murillo X Caldarera
Emily E Perin
Murillo P Perin
Juan Q Gaucho
Maria W Chui
Clifford M Stenseth
Jeanfrancois W Marrier
Aditya Y Stockham
Salvatore U Albares
IdCountryDate
1000Russia2026-07-08
1001Russia2026-07-14
1002Germany2026-07-07
1003France2026-07-09
1004Brazil2026-06-20
1005Japan2026-06-21
1006Australia2026-06-27
1007India2026-07-13
1008Germany2026-07-07
1009Australia2026-07-01
1010Spain2026-07-12
1011Australia2026-06-19
1012France2026-07-12
1013Japan2026-07-04
1014Germany2026-06-22
1015United Kingdom2026-06-21
1016Germany2026-06-29
1017Australia2026-07-01
1018Russia2026-07-16
1019Australia2026-07-11
1020United Kingdom2026-06-26
1021Brazil2026-06-19
1022Japan2026-07-13
1023Japan2026-07-07
1024Brazil2026-07-03
1025Japan2026-06-27
1026Japan2026-07-07
1027Japan2026-07-06
1028Canada2026-07-12
1029India2026-06-25
1030Canada2026-07-13
1031Spain2026-07-11
1032Italy2026-07-10
1033United Kingdom2026-07-10
1034Argentina2026-07-14
1035India2026-07-13
1036France2026-07-02
1037Argentina2026-06-18
1038United Kingdom2026-07-03
1039Australia2026-06-30
1040Argentina2026-07-10
1041United Kingdom2026-07-09
1042United Kingdom2026-07-08
1043Brazil2026-06-19
1044Spain2026-06-30
1045Italy2026-06-25
1046Germany2026-07-12
1047Canada2026-07-04
1048Brazil2026-07-12
1049Japan2026-07-15

On-Demand Data

NameIdCountryDate
Faith G Flosi1000Brazil2026-06-23
Ashley J Shinko1001Japan2026-07-14
Maisha T Waycott1002Russia2026-06-30
Antonio A Kusko1003United Kingdom2026-06-24
Stacey Y Perin1004Russia2026-06-18
Rodrigues G Darakjy1005France2026-07-02
Aika Z Slusarski1006United Kingdom2026-07-07
Arvin X Darakjy1007France2026-06-28
Mujtaba M Foller1008Italy2026-06-30
Claire T Chui1009India2026-07-15
Alejandro N Bolognia1010France2026-06-23
Jennifer K Campain1011Argentina2026-07-03
Faith O Nestle1012Canada2026-06-28
Ashley G Malet1013Canada2026-06-24
Juan W Ferencz1014France2026-07-05
Misaki U Sergi1015United Kingdom2026-06-29
Stacey R Oldroyd1016Germany2026-07-14
Clifford R Foller1017Spain2026-07-08
Kadeem Y Ostrosky1018Germany2026-07-06
Darci Q Briddick1019Brazil2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin D RoysterRussiaIvan Magalhaes PROPOSAL
Kadeem O MaletCanadaAsiya Javayant NEW
Izzy I SergiCanadaOnyama Limba PROPOSAL
Antonio T MaletSpainXuxue Feng NEGOTIATION
Juan W RoysterIndiaIvan Magalhaes QUALIFIED
Leja E MorascaFranceIoni Bowcher QUALIFIED
Juan B AmigonJapanAmy Elsner RENEWAL
Maria W FigeroaIndiaAmy Elsner QUALIFIED
Aika R AmigonAustraliaAsiya Javayant QUALIFIED
Clifford E FlosiAustraliaStephen Shaw NEGOTIATION
Julie K DilliardArgentinaAnna Fali NEW
Greenwood L StockhamFranceIoni Bowcher UNQUALIFIED
Maisha V VocelkaIndiaAmy Elsner PROPOSAL
Aditya F NestleCanadaAsiya Javayant NEW
Julie P WaycottRussiaAnna Fali PROPOSAL
Murillo R BowleyIndiaOnyama Limba NEW
David R CaudyFranceAnna Fali PROPOSAL
Jeanfrancois K DoeArgentinaAnna Fali NEGOTIATION
Leja T RoysterBrazilBernardo Dominic NEGOTIATION
Johnson Q BowleyAustraliaAmy Elsner RENEWAL
Ashley K PaprockiAustraliaIoni Bowcher UNQUALIFIED
Francesco I BologniaJapanIoni Bowcher RENEWAL
Ashley T WieserJapanBernardo Dominic RENEWAL
Aika K ButtAustraliaXuxue Feng NEW
Alejandro U VenereFranceAmy Elsner UNQUALIFIED
Rodrigues O WhobreyIndiaElwin Sharvill PROPOSAL
Mujtaba T GlickBrazilStephen Shaw UNQUALIFIED
Salvatore J StockhamAustraliaBernardo Dominic PROPOSAL
Smith N PerinGermanyAmy Elsner UNQUALIFIED
Juan O KuskoAustraliaOnyama Limba QUALIFIED
Jones S BowleyArgentinaAmy Elsner PROPOSAL
Aruna O IturbideFranceAmy Elsner NEGOTIATION
Greenwood E PaprockiIndiaOnyama Limba PROPOSAL
Silvio O MaletIndiaBernardo Dominic QUALIFIED
Mujtaba I PerinRussiaAnna Fali RENEWAL
Silvio X FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Ivar I CaldareraJapanAmy Elsner PROPOSAL
Ashley A AmigonGermanyXuxue Feng PROPOSAL
Murillo C FollerSpainAsiya Javayant NEGOTIATION
Emily E VocelkaBrazilElwin Sharvill UNQUALIFIED

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