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
Alejandro M RimFranceIvan Magalhaes QUALIFIED
Greenwood J KuskoGermanyAmy Elsner PROPOSAL
Mayumi I RoysterJapanIoni Bowcher RENEWAL
Kaitlin V GillianCanadaIoni Bowcher NEW
Leja J KolmetzJapanElwin Sharvill PROPOSAL
Arvin X PerinJapanIvan Magalhaes NEW
Maria L NestleSpainXuxue Feng NEW
Morrow J RulapaughIndiaOnyama Limba PROPOSAL
Costa K InouyeUnited KingdomIvan Magalhaes QUALIFIED
Leja U FerenczCanadaAmy Elsner UNQUALIFIED
Kaitlin E ChuiUnited KingdomElwin Sharvill NEGOTIATION
James Z NickaItalyIvan Magalhaes PROPOSAL
Arvin C MorascaCanadaOnyama Limba NEGOTIATION
Adams R AmigonItalyXuxue Feng QUALIFIED
Aditya Y DoeBrazilXuxue Feng QUALIFIED
Stacey F GauchoUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin Z RutaIndiaStephen Shaw NEGOTIATION
Jones X GlickCanadaStephen Shaw NEGOTIATION
Murillo U TollnerArgentinaIvan Magalhaes NEW
Rodrigues A RimItalyIoni Bowcher NEW
Stacey B RutaBrazilIvan Magalhaes NEW
Stacey P AmigonCanadaAmy Elsner NEGOTIATION
Mujtaba A InouyeSpainAnna Fali NEGOTIATION
Darci H WhobreyFranceIvan Magalhaes NEW
Ricardo V DoeArgentinaAsiya Javayant NEGOTIATION
Jefferson K StockhamArgentinaIoni Bowcher NEW
Mayumi R BologniaIndiaIvan Magalhaes UNQUALIFIED
Juan F MaletRussiaXuxue Feng QUALIFIED
Arvin I GarufiSpainBernardo Dominic UNQUALIFIED
Kaitlin L BowleySpainOnyama Limba RENEWAL
Leja I StockhamBrazilAmy Elsner NEGOTIATION
Clifford M NickaGermanyAsiya Javayant UNQUALIFIED
Adams Y GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Misaki I CaldareraGermanyAsiya Javayant NEW
Octavia V FlosiItalyXuxue Feng RENEWAL
Aruna F GlickAustraliaAnna Fali QUALIFIED
Smith L RoysterBrazilBernardo Dominic NEW
Wickens T TollnerSpainElwin Sharvill QUALIFIED
Isabel G NestleAustraliaBernardo Dominic QUALIFIED
Misaki K FollerIndiaAmy Elsner QUALIFIED
Nicolas K FerenczGermanyIvan Magalhaes NEGOTIATION
Morrow I BologniaItalyIvan Magalhaes PROPOSAL
Kaitlin B PaprockiIndiaIoni Bowcher QUALIFIED
Aika V SchemmerItalyElwin Sharvill NEW
Clifford U ChuiRussiaAmy Elsner UNQUALIFIED
Leja K SlusarskiCanadaElwin Sharvill RENEWAL
Morrow L GauchoGermanyOnyama Limba NEW
Morrow B BologniaUnited KingdomStephen Shaw NEGOTIATION
Leon W InouyeArgentinaXuxue Feng NEW
Deepesh S GlickArgentinaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair O FollerRussiaOnyama Limba PROPOSAL
Misaki C FigeroaCanadaBernardo Dominic RENEWAL
Antonio J MaletIndiaXuxue Feng NEW
Darci R AlbaresSpainIoni Bowcher NEW
Izzy G BologniaFranceStephen Shaw QUALIFIED
Clifford C SergiSpainElwin Sharvill QUALIFIED
Sinclair Z WhobreyAustraliaOnyama Limba RENEWAL
Ivar K BowleyIndiaElwin Sharvill PROPOSAL
Mayumi B IturbideIndiaXuxue Feng QUALIFIED
Ricardo E BologniaIndiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire A PaprockiAustralia2026-07-09Truhlar And Truhlar Attys RENEWAL36Anna Fali
1001Adams D CampainAustralia2026-06-26Morlong Associates PROPOSAL14Amy Elsner
1002Alejandro O KolmetzFrance2026-07-17Benton, John B Jr RENEWAL9Bernardo Dominic
1003Morrow H CampainCanada2026-06-27Truhlar And Truhlar Attys PROPOSAL85Elwin Sharvill
1004Leja V OstroskyBrazil2026-06-29Truhlar And Truhlar Attys QUALIFIED2Elwin Sharvill
1005Maria P BowleyBrazil2026-07-07Chanay, Jeffrey A Esq QUALIFIED73Ioni Bowcher
1006Clifford S BriddickItaly2026-07-06Chapman, Ross E Esq UNQUALIFIED28Asiya Javayant
1007Kadeem K FollerBrazil2026-07-19Buckley Miller Wright PROPOSAL30Amy Elsner
1008Octavia A StensethSpain2026-07-02Rousseaux, Michael Esq NEGOTIATION76Elwin Sharvill
1009Johnson Z InouyeRussia2026-07-01King, Christopher A Esq QUALIFIED12Xuxue Feng
1010Aditya R RulapaughAustralia2026-07-04Feltz Printing Service QUALIFIED46Bernardo Dominic
1011Ivar D CampainItaly2026-07-12Chapman, Ross E Esq RENEWAL8Xuxue Feng
1012Izzy D BologniaCanada2026-07-17Truhlar And Truhlar Attys NEW84Stephen Shaw
1013Izzy I FollerFrance2026-07-24Chapman, Ross E Esq NEGOTIATION46Elwin Sharvill
1014Wickens B ChuiArgentina2026-07-16Benton, John B Jr NEGOTIATION57Elwin Sharvill
1015Stacey F GarufiBrazil2026-07-19King, Christopher A Esq UNQUALIFIED45Anna Fali
1016Mujtaba T CaldareraUnited Kingdom2026-07-01Benton, John B Jr PROPOSAL1Bernardo Dominic
1017Misaki K PerinSpain2026-07-19Dorl, James J Esq QUALIFIED29Bernardo Dominic
1018Faith F MarrierFrance2026-07-07Buckley Miller Wright NEGOTIATION0Asiya Javayant
1019Morrow J StensethRussia2026-07-03Dorl, James J Esq NEW70Xuxue Feng
1020Aruna B PoquetteAustralia2026-06-29Dorl, James J Esq PROPOSAL62Onyama Limba
1021Cody T RulapaughRussia2026-07-02Chemel, James L Cpa RENEWAL12Bernardo Dominic
1022Tony Y GillianIndia2026-06-29Chanay, Jeffrey A Esq QUALIFIED67Asiya Javayant
1023Maisha P SaylorsJapan2026-07-10Rangoni Of Florence RENEWAL93Anna Fali
1024Antonio Q RulapaughUnited Kingdom2026-06-27Feltz Printing Service NEGOTIATION47Ioni Bowcher
1025Izzy Y StensethAustralia2026-07-21Buckley Miller Wright UNQUALIFIED53Stephen Shaw
1026Julie E NestleGermany2026-07-23Chapman, Ross E Esq UNQUALIFIED1Elwin Sharvill
1027Tony A TollnerGermany2026-06-28Chemel, James L Cpa QUALIFIED98Elwin Sharvill
1028Aditya Y SaylorsFrance2026-06-29Chanay, Jeffrey A Esq PROPOSAL29Amy Elsner
1029Ricardo F GlickArgentina2026-07-02Buckley Miller Wright PROPOSAL34Amy Elsner
1030Juan O DoeFrance2026-07-04Chanay, Jeffrey A Esq NEGOTIATION8Ivan Magalhaes
1031Morrow Q CaldareraFrance2026-07-13King, Christopher A Esq NEGOTIATION83Amy Elsner
1032Octavia I AmigonArgentina2026-06-27Chemel, James L Cpa NEW36Anna Fali
1033Alejandro M TollnerUnited Kingdom2026-07-24Commercial Press NEGOTIATION45Anna Fali
1034Stacey A WhobreyItaly2026-06-30Benton, John B Jr QUALIFIED64Bernardo Dominic
1035Aika G GillianRussia2026-07-13Chapman, Ross E Esq UNQUALIFIED4Amy Elsner
1036Mayumi I KuskoRussia2026-07-11Rangoni Of Florence PROPOSAL70Stephen Shaw
1037Kaitlin E KuskoSpain2026-07-03Truhlar And Truhlar Attys RENEWAL84Amy Elsner
1038Claire T MorascaSpain2026-07-15Feiner Bros PROPOSAL99Amy Elsner
1039David O RoysterUnited Kingdom2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED22Anna Fali
1040Claire J RulapaughRussia2026-07-04Dorl, James J Esq NEW28Ivan Magalhaes
1041Cody E NestleItaly2026-07-04Dorl, James J Esq NEGOTIATION79Elwin Sharvill
1042Leon V PaprockiFrance2026-07-16King, Christopher A Esq NEGOTIATION65Ioni Bowcher
1043Aruna T PoquetteUnited Kingdom2026-07-18Feltz Printing Service PROPOSAL38Amy Elsner
1044Cody P FlosiGermany2026-06-28Rousseaux, Michael Esq NEGOTIATION93Asiya Javayant
1045Cody Y PaprockiBrazil2026-07-11Feiner Bros PROPOSAL30Ivan Magalhaes
1046Octavia D SergiSpain2026-07-10Printing Dimensions NEW44Ivan Magalhaes
1047Faith N DarakjyJapan2026-07-03Morlong Associates UNQUALIFIED44Ioni Bowcher
1048Jones N PaprockiBrazil2026-07-09Chanay, Jeffrey A Esq NEGOTIATION8Stephen Shaw
1049Maria Y KolmetzGermany2026-07-17Chapman, Ross E Esq PROPOSAL58Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Wickens P DoeUnited KingdomAsiya Javayant NEW
Johnson J GarufiGermanyXuxue Feng PROPOSAL
James L BowleyUnited KingdomXuxue Feng NEW
David U FigeroaItalyStephen Shaw RENEWAL
Jennifer B CaudyJapanAmy Elsner RENEWAL
Misaki I OstroskyItalyOnyama Limba PROPOSAL
Munro W InouyeFranceIoni Bowcher NEGOTIATION
Isabel O BologniaArgentinaIoni Bowcher NEW
Ricardo D FerenczFranceAmy Elsner PROPOSAL
Misaki U GlickJapanXuxue Feng QUALIFIED
Mayumi Q MaletCanadaOnyama Limba NEW
Jeanfrancois C MaletFranceAmy Elsner RENEWAL
Mujtaba A BowleyBrazilStephen Shaw PROPOSAL
Deepesh J NickaSpainIvan Magalhaes RENEWAL
Kadeem C MacleadFranceAnna Fali NEGOTIATION
Maisha C FerenczCanadaStephen Shaw RENEWAL
James A InouyeIndiaXuxue Feng UNQUALIFIED
Maisha K GauchoAustraliaAnna Fali UNQUALIFIED
James D PaprockiSpainAmy Elsner NEW
Greenwood Q FigeroaFranceAsiya Javayant RENEWAL
Aditya K MaletCanadaIoni Bowcher QUALIFIED
Deepesh A RulapaughJapanBernardo Dominic NEGOTIATION
Izzy B NestleUnited KingdomIoni Bowcher RENEWAL
Maria I DarakjyRussiaIoni Bowcher UNQUALIFIED
Misaki S RulapaughFranceIvan Magalhaes PROPOSAL
Greenwood I KuskoArgentinaAnna Fali PROPOSAL
Jones T IturbideAustraliaBernardo Dominic NEGOTIATION
Francesco U MarrierItalyXuxue Feng QUALIFIED
Octavia X ChuiUnited KingdomBernardo Dominic NEW
Nicolas X ChuiJapanOnyama Limba NEW
Aditya L AmigonSpainAnna Fali NEW
Wickens L SchemmerIndiaStephen Shaw NEGOTIATION
Clifford U KuskoGermanyAmy Elsner NEGOTIATION
James Q MacleadAustraliaStephen Shaw QUALIFIED
Arvin G MorascaUnited KingdomAmy Elsner QUALIFIED
Julie B OldroydIndiaStephen Shaw QUALIFIED
Juan B RimArgentinaOnyama Limba NEGOTIATION
Emily J RulapaughItalyXuxue Feng QUALIFIED
Octavia S FigeroaItalyXuxue Feng RENEWAL
Smith J SchemmerGermanyStephen Shaw QUALIFIED
Aditya V BriddickCanadaBernardo Dominic PROPOSAL
Mayumi Y ChuiItalyIvan Magalhaes QUALIFIED
Jones H MaletUnited KingdomIvan Magalhaes RENEWAL
Sinclair N PaprockiSpainAmy Elsner UNQUALIFIED
Wickens J OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Julie E MaletRussiaBernardo Dominic NEGOTIATION
Maria C MarrierBrazilAmy Elsner QUALIFIED
Ivar Q MarrierUnited KingdomAnna Fali RENEWAL
Misaki I KuskoJapanElwin Sharvill QUALIFIED
Emily C FlosiAustraliaAmy Elsner NEW
Frozen Columns
Name
Jefferson L Ostrosky
Julie N Amigon
Maria Q Caldarera
Sinclair I Ruta
Wickens V Stenseth
Izzy K Waycott
David X Caudy
Salvatore V Whobrey
Salvatore E Rulapaugh
Aditya G Malet
Octavia W Dilliard
Tony T Malet
Leon J Garufi
Juan X Darakjy
Rodrigues B Chui
Smith L Flosi
Maisha S Bowley
Sinclair L Saylors
Tony E Kolmetz
Jennifer E Shinko
Jeanfrancois V Shinko
Munro V Garufi
Adams H Gaucho
Stacey B Foller
Maria R Glick
Ricardo Y Maclead
Leon E Perin
Antonio C Nicka
Morrow T Albares
Jennifer S Malet
Juan M Doe
David L Caudy
Wickens M Schemmer
Deepesh T Ferencz
Cody U Garufi
Maria T Caudy
Izzy L Flosi
Greenwood U Perin
David Z Caudy
Adams V Ostrosky
James Y Nicka
Aika L Tollner
Ivar Y Rulapaugh
Arvin B Royster
Silvio R Ostrosky
Aika O Stockham
Maria L Doe
Antonio J Chui
Wickens U Perin
Ivar F Doe
IdCountryDate
1000Germany2026-07-13
1001India2026-07-20
1002India2026-07-19
1003India2026-07-13
1004Australia2026-07-24
1005Argentina2026-07-11
1006France2026-06-30
1007Australia2026-07-24
1008Spain2026-07-17
1009Canada2026-07-05
1010France2026-07-15
1011Brazil2026-07-01
1012Italy2026-06-28
1013Argentina2026-07-22
1014Japan2026-07-19
1015Spain2026-07-23
1016Brazil2026-07-17
1017Germany2026-07-13
1018Italy2026-07-04
1019Russia2026-07-19
1020Russia2026-07-16
1021Argentina2026-07-14
1022Spain2026-07-18
1023Argentina2026-07-04
1024Russia2026-07-17
1025Australia2026-07-14
1026United Kingdom2026-07-12
1027Canada2026-07-20
1028Germany2026-07-05
1029Spain2026-07-22
1030Germany2026-07-03
1031United Kingdom2026-07-05
1032Spain2026-07-20
1033Argentina2026-07-23
1034Argentina2026-07-05
1035Japan2026-07-19
1036United Kingdom2026-07-19
1037Germany2026-07-09
1038Canada2026-07-02
1039Japan2026-07-02
1040United Kingdom2026-06-28
1041Spain2026-07-17
1042India2026-07-07
1043India2026-07-02
1044Spain2026-06-29
1045Argentina2026-07-22
1046Russia2026-06-28
1047Japan2026-07-14
1048Italy2026-06-28
1049Brazil2026-07-20

On-Demand Data

NameIdCountryDate
Jones L Amigon1000Italy2026-07-01
Leja G Gaucho1001India2026-07-14
Aruna H Tollner1002Spain2026-07-10
Mayumi C Nicka1003Canada2026-07-21
Emily M Ferencz1004Argentina2026-07-06
Darci A Wieser1005Australia2026-07-15
Rodrigues U Ruta1006Argentina2026-07-22
Adams G Vocelka1007Brazil2026-07-22
Tony P Butt1008Australia2026-06-25
Rodrigues I Malet1009Japan2026-07-14
Kaitlin M Kusko1010Brazil2026-07-15
Misaki G Bowley1011Brazil2026-07-05
Julie T Sergi1012Argentina2026-07-20
Faith B Nestle1013Italy2026-06-25
Stacey Q Figeroa1014France2026-07-21
Francesco F Paprocki1015Brazil2026-06-27
Mujtaba H Inouye1016France2026-07-03
Ashley W Perin1017Australia2026-07-18
Octavia K Poquette1018Australia2026-07-07
Faith W Morasca1019Argentina2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin O VocelkaRussiaIoni Bowcher PROPOSAL
Sinclair V DoeJapanXuxue Feng UNQUALIFIED
Julie B WieserArgentinaIoni Bowcher RENEWAL
Kaitlin D DilliardBrazilStephen Shaw PROPOSAL
Jeanfrancois R SchemmerRussiaXuxue Feng UNQUALIFIED
Clifford V RutaFranceAsiya Javayant NEGOTIATION
Murillo O RutaFranceIoni Bowcher NEW
Aruna V CaudyIndiaAmy Elsner NEW
Jeanfrancois O MacleadSpainIoni Bowcher NEGOTIATION
Kadeem X MorascaFranceIvan Magalhaes NEGOTIATION
Juan R KolmetzGermanyXuxue Feng NEGOTIATION
Salvatore L FlosiFranceAsiya Javayant NEGOTIATION
Stacey U GillianBrazilElwin Sharvill QUALIFIED
Arvin O VenereRussiaStephen Shaw RENEWAL
Morrow K AmigonArgentinaBernardo Dominic NEW
Antonio N RutaCanadaIvan Magalhaes UNQUALIFIED
Smith Y TollnerAustraliaAsiya Javayant QUALIFIED
Jennifer S RoysterIndiaIoni Bowcher QUALIFIED
Antonio X FollerJapanIvan Magalhaes UNQUALIFIED
James R VocelkaAustraliaIvan Magalhaes QUALIFIED
Faith Z SchemmerGermanyXuxue Feng QUALIFIED
Jones Z GlickUnited KingdomElwin Sharvill QUALIFIED
Johnson Q BriddickSpainAsiya Javayant PROPOSAL
Antonio M CaldareraGermanyAmy Elsner QUALIFIED
Aruna Q DarakjyIndiaBernardo Dominic PROPOSAL
Izzy C ButtGermanyAnna Fali PROPOSAL
Salvatore A GauchoIndiaIoni Bowcher UNQUALIFIED
Morrow N AmigonFranceAsiya Javayant PROPOSAL
Ashley Q WaycottBrazilAsiya Javayant RENEWAL
Kaitlin Z GarufiGermanyAsiya Javayant RENEWAL
Clifford Y SaylorsUnited KingdomOnyama Limba PROPOSAL
Deepesh L DarakjyRussiaBernardo Dominic NEGOTIATION
Tony F DilliardJapanStephen Shaw NEGOTIATION
Aika V ChuiIndiaBernardo Dominic PROPOSAL
Salvatore Y SergiFranceXuxue Feng QUALIFIED
Leja J NestleCanadaBernardo Dominic UNQUALIFIED
Leja N GarufiItalyAnna Fali QUALIFIED
Deepesh O IturbideSpainElwin Sharvill NEW
Rodrigues I OstroskyItalyXuxue Feng UNQUALIFIED
Isabel G OldroydGermanyIoni Bowcher NEGOTIATION

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