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
Clifford L RimGermanyBernardo Dominic UNQUALIFIED
Jennifer U GlickCanadaStephen Shaw UNQUALIFIED
Kadeem Z VenereAustraliaAsiya Javayant RENEWAL
Adams U WaycottBrazilAsiya Javayant RENEWAL
Clifford K MaletBrazilXuxue Feng NEW
Arvin M AmigonSpainIoni Bowcher NEW
Jones V StockhamUnited KingdomAsiya Javayant RENEWAL
Costa L MaletGermanyAmy Elsner PROPOSAL
Ivar I OldroydSpainXuxue Feng RENEWAL
Deepesh M ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Murillo R BriddickArgentinaAsiya Javayant PROPOSAL
Johnson J FlosiIndiaIoni Bowcher NEW
Ashley K WaycottSpainBernardo Dominic UNQUALIFIED
Julie S BowleySpainAsiya Javayant QUALIFIED
Kaitlin L KuskoUnited KingdomAnna Fali PROPOSAL
Mujtaba Y InouyeRussiaElwin Sharvill UNQUALIFIED
Leja J VocelkaUnited KingdomAnna Fali QUALIFIED
Julie T DilliardArgentinaIoni Bowcher QUALIFIED
Morrow O PerinAustraliaAsiya Javayant NEW
Stacey B CaldareraIndiaIvan Magalhaes NEW
Deepesh E MaletArgentinaBernardo Dominic UNQUALIFIED
Claire Z ShinkoFranceXuxue Feng NEW
Ashley V WhobreyGermanyXuxue Feng UNQUALIFIED
Leja B SlusarskiItalyStephen Shaw NEGOTIATION
Silvio C StensethGermanyAsiya Javayant NEW
Isabel J VocelkaGermanyStephen Shaw NEGOTIATION
David H BologniaIndiaIvan Magalhaes PROPOSAL
Murillo O SaylorsAustraliaBernardo Dominic QUALIFIED
Kadeem O GarufiArgentinaAsiya Javayant NEGOTIATION
Darci J DoeFranceIvan Magalhaes QUALIFIED
Claire W RoysterItalyIoni Bowcher NEGOTIATION
Alejandro M PaprockiUnited KingdomAnna Fali PROPOSAL
Murillo A KuskoBrazilBernardo Dominic NEW
Mujtaba R MaletCanadaAmy Elsner PROPOSAL
Arvin E MaletUnited KingdomOnyama Limba NEGOTIATION
Tony Z KuskoGermanyOnyama Limba QUALIFIED
Faith P WaycottFranceAsiya Javayant UNQUALIFIED
Greenwood N WhobreyRussiaIoni Bowcher QUALIFIED
Ashley I VenereSpainStephen Shaw NEGOTIATION
David T ShinkoFranceAsiya Javayant UNQUALIFIED
Costa L GarufiUnited KingdomOnyama Limba PROPOSAL
Jones F BologniaFranceElwin Sharvill NEW
Alejandro R MarrierGermanyElwin Sharvill NEW
Julie P StockhamJapanOnyama Limba QUALIFIED
Smith N KuskoJapanXuxue Feng RENEWAL
Arvin F WaycottBrazilIvan Magalhaes NEGOTIATION
James L WieserFranceXuxue Feng PROPOSAL
Emily H VocelkaJapanElwin Sharvill UNQUALIFIED
Juan N DarakjyFranceAsiya Javayant UNQUALIFIED
Costa R NickaGermanyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio A KuskoIndiaBernardo Dominic QUALIFIED
James G BriddickRussiaOnyama Limba RENEWAL
Costa A DoeIndiaStephen Shaw NEGOTIATION
Sinclair I PaprockiIndiaIoni Bowcher PROPOSAL
Stacey A SaylorsFranceAsiya Javayant RENEWAL
Clifford Y FigeroaArgentinaStephen Shaw NEW
Antonio M StockhamGermanyBernardo Dominic NEGOTIATION
Jennifer L MaletUnited KingdomIoni Bowcher RENEWAL
Antonio D StockhamAustraliaAnna Fali NEGOTIATION
Clifford S MorascaIndiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar M CaudyAustralia2024-05-07Morlong Associates PROPOSAL26Ivan Magalhaes
1001Ivar K TollnerCanada2024-05-14Morlong Associates NEGOTIATION17Bernardo Dominic
1002Izzy Q VenereCanada2024-05-14Feltz Printing Service UNQUALIFIED85Amy Elsner
1003Francesco Y CaldareraGermany2024-05-17Feltz Printing Service PROPOSAL37Asiya Javayant
1004Arvin S MacleadItaly2024-05-16Chapman, Ross E Esq UNQUALIFIED79Ivan Magalhaes
1005Maria H BowleyFrance2024-05-14Printing Dimensions QUALIFIED58Xuxue Feng
1006James S RulapaughRussia2024-04-29Rangoni Of Florence NEW40Anna Fali
1007Murillo W IturbideBrazil2024-05-15Chanay, Jeffrey A Esq RENEWAL99Bernardo Dominic
1008Aditya G OstroskySpain2024-04-30Rousseaux, Michael Esq QUALIFIED12Amy Elsner
1009Claire I FlosiSpain2024-05-11Truhlar And Truhlar Attys RENEWAL69Onyama Limba
1010Morrow E GarufiBrazil2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED45Ivan Magalhaes
1011Kaitlin D VocelkaArgentina2024-05-23Truhlar And Truhlar Attys NEW42Ioni Bowcher
1012Aruna Y AlbaresRussia2024-05-16King, Christopher A Esq UNQUALIFIED29Anna Fali
1013Isabel E FerenczJapan2024-04-28King, Christopher A Esq PROPOSAL67Amy Elsner
1014Chavez S MaletCanada2024-05-08Buckley Miller Wright UNQUALIFIED3Elwin Sharvill
1015Darci S RimRussia2024-05-15Buckley Miller Wright NEW73Amy Elsner
1016Izzy J DilliardArgentina2024-05-19Morlong Associates QUALIFIED72Amy Elsner
1017Nicolas C PoquetteAustralia2024-05-14Rousseaux, Michael Esq NEW6Elwin Sharvill
1018Claire T ShinkoRussia2024-05-18Printing Dimensions NEW62Anna Fali
1019Maisha O FlosiArgentina2024-05-23Commercial Press RENEWAL27Ivan Magalhaes
1020Cody J DarakjyJapan2024-05-14Rangoni Of Florence NEGOTIATION62Ivan Magalhaes
1021Izzy C RoysterCanada2024-05-25Commercial Press PROPOSAL42Stephen Shaw
1022Salvatore G InouyeUnited Kingdom2024-05-15Morlong Associates NEGOTIATION42Anna Fali
1023Chavez V BriddickSpain2024-05-19Chapman, Ross E Esq RENEWAL63Asiya Javayant
1024Kadeem A RimJapan2024-05-15Feiner Bros PROPOSAL71Bernardo Dominic
1025Ricardo O OstroskyArgentina2024-05-19Benton, John B Jr RENEWAL47Amy Elsner
1026Julie Z WhobreyArgentina2024-05-06Rangoni Of Florence NEGOTIATION64Ivan Magalhaes
1027Wickens K SergiGermany2024-05-13Buckley Miller Wright UNQUALIFIED13Stephen Shaw
1028Francesco R PoquetteCanada2024-05-20Rousseaux, Michael Esq QUALIFIED60Onyama Limba
1029Tony A ButtBrazil2024-05-12Buckley Miller Wright QUALIFIED11Bernardo Dominic
1030Misaki K SlusarskiBrazil2024-04-28Printing Dimensions NEGOTIATION63Onyama Limba
1031Jones F FollerIndia2024-04-30Chemel, James L Cpa UNQUALIFIED54Ivan Magalhaes
1032Kaitlin X VenereRussia2024-05-04Chapman, Ross E Esq PROPOSAL93Asiya Javayant
1033Mayumi H FollerCanada2024-04-28Buckley Miller Wright RENEWAL5Bernardo Dominic
1034Maria K CaudyArgentina2024-05-19Chapman, Ross E Esq UNQUALIFIED50Xuxue Feng
1035Smith M WaycottItaly2024-05-25Feiner Bros RENEWAL42Bernardo Dominic
1036Morrow U StensethRussia2024-05-05Chanay, Jeffrey A Esq NEGOTIATION61Stephen Shaw
1037Murillo M MarrierFrance2024-04-28Chanay, Jeffrey A Esq QUALIFIED66Asiya Javayant
1038Ricardo Q InouyeSpain2024-05-16Benton, John B Jr NEW74Stephen Shaw
1039Leja P TollnerSpain2024-05-03Chemel, James L Cpa PROPOSAL69Stephen Shaw
1040Aika W CampainUnited Kingdom2024-05-03Chapman, Ross E Esq UNQUALIFIED76Stephen Shaw
1041Darci R VocelkaRussia2024-05-01Benton, John B Jr PROPOSAL5Stephen Shaw
1042Deepesh S PaprockiGermany2024-05-10Feltz Printing Service NEGOTIATION73Ivan Magalhaes
1043Sinclair A BriddickIndia2024-05-10Rangoni Of Florence QUALIFIED73Xuxue Feng
1044Maria V IturbideUnited Kingdom2024-05-12Rangoni Of Florence NEGOTIATION63Amy Elsner
1045Arvin M WieserIndia2024-05-16Commercial Press NEGOTIATION9Xuxue Feng
1046Francesco K AlbaresIndia2024-05-16Feiner Bros UNQUALIFIED9Onyama Limba
1047Tony P MorascaGermany2024-05-11Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1048Izzy B ChuiGermany2024-04-29Chemel, James L Cpa NEW15Elwin Sharvill
1049Salvatore W CampainIndia2024-05-03Commercial Press NEGOTIATION34Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Isabel Z BologniaCanadaXuxue Feng UNQUALIFIED
David N StockhamUnited KingdomAmy Elsner QUALIFIED
David T ChuiAustraliaAnna Fali UNQUALIFIED
Munro S SaylorsArgentinaElwin Sharvill NEGOTIATION
Leja A AmigonUnited KingdomAnna Fali QUALIFIED
Misaki N WhobreyBrazilAmy Elsner NEW
Tony E MaletBrazilXuxue Feng RENEWAL
Leja R GlickFranceIoni Bowcher NEW
Leon W AmigonFranceIvan Magalhaes UNQUALIFIED
Greenwood R KolmetzJapanAsiya Javayant NEW
Emily S MaletItalyAnna Fali NEGOTIATION
Julie I SergiAustraliaXuxue Feng PROPOSAL
Kaitlin Q SlusarskiBrazilOnyama Limba QUALIFIED
Mujtaba R ButtCanadaOnyama Limba NEW
Cody F PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Isabel E KolmetzUnited KingdomBernardo Dominic QUALIFIED
James J AlbaresSpainAmy Elsner QUALIFIED
Ricardo R CampainArgentinaIvan Magalhaes PROPOSAL
Aruna S RutaIndiaIvan Magalhaes NEGOTIATION
Alejandro F TollnerBrazilIvan Magalhaes NEGOTIATION
Isabel I WhobreyBrazilAnna Fali RENEWAL
Smith I PoquetteGermanyAsiya Javayant UNQUALIFIED
Leja A PerinBrazilAsiya Javayant UNQUALIFIED
Juan I FigeroaSpainAnna Fali UNQUALIFIED
Izzy J AlbaresArgentinaStephen Shaw QUALIFIED
Jones O PoquetteSpainIoni Bowcher UNQUALIFIED
Kadeem W StensethAustraliaIvan Magalhaes PROPOSAL
Octavia I VocelkaItalyOnyama Limba NEW
Johnson D FigeroaAustraliaXuxue Feng QUALIFIED
Nicolas I StensethFranceOnyama Limba UNQUALIFIED
Cody S KolmetzCanadaIoni Bowcher RENEWAL
Aika R WieserAustraliaXuxue Feng RENEWAL
Darci D SchemmerIndiaStephen Shaw NEW
Adams W MacleadIndiaBernardo Dominic PROPOSAL
Julie V ShinkoBrazilAsiya Javayant NEGOTIATION
Jeanfrancois A CaudyArgentinaAmy Elsner UNQUALIFIED
Cody K TollnerCanadaXuxue Feng UNQUALIFIED
Sinclair D StensethItalyBernardo Dominic QUALIFIED
David V TollnerFranceOnyama Limba PROPOSAL
Jennifer F WaycottJapanBernardo Dominic NEW
Adams X DoeArgentinaIvan Magalhaes UNQUALIFIED
Ricardo S DoeJapanIvan Magalhaes UNQUALIFIED
Maria K StockhamArgentinaAsiya Javayant NEW
Arvin Y FlosiAustraliaElwin Sharvill QUALIFIED
Leon N NestleFranceAnna Fali QUALIFIED
Darci S IturbideSpainXuxue Feng UNQUALIFIED
Emily C SergiFranceXuxue Feng QUALIFIED
Izzy H AlbaresJapanIoni Bowcher NEW
Leon L InouyeJapanAnna Fali PROPOSAL
Faith F MaletAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Leja Y Poquette
Aditya J Gaucho
Stacey N Royster
Jefferson I Tollner
Deepesh H Poquette
Clifford L Ferencz
Nicolas D Ferencz
Clifford O Kolmetz
Murillo B Nicka
Antonio V Inouye
Aditya J Glick
Mayumi Y Slusarski
Ivar L Paprocki
Rodrigues N Shinko
Maria D Whobrey
Maisha Q Royster
Maisha B Nicka
Chavez Z Stockham
Jennifer W Paprocki
Izzy L Gillian
Emily I Kusko
Adams I Saylors
Octavia Y Rulapaugh
Jeanfrancois C Shinko
Deepesh V Whobrey
Smith G Campain
Izzy U Slusarski
Adams D Waycott
Smith R Doe
Julie M Gillian
Misaki J Garufi
Julie T Caudy
Maisha L Malet
Arvin D Albares
Jones U Rulapaugh
Adams J Stockham
Clifford W Malet
Salvatore X Marrier
Maisha C Rim
Julie Q Doe
Faith B Kolmetz
Smith E Nicka
Munro Q Nestle
Chavez C Garufi
Darci Q Rulapaugh
Maisha C Schemmer
Aruna X Figeroa
Stacey D Oldroyd
Juan N Kolmetz
Clifford V Maclead
IdCountryDate
1000Australia2024-04-30
1001Russia2024-05-08
1002India2024-04-29
1003Japan2024-05-24
1004Brazil2024-04-28
1005Italy2024-04-28
1006Italy2024-05-23
1007United Kingdom2024-05-06
1008Germany2024-04-29
1009United Kingdom2024-05-01
1010United Kingdom2024-04-29
1011Russia2024-05-03
1012Canada2024-05-01
1013Germany2024-05-12
1014France2024-05-12
1015Brazil2024-05-24
1016Spain2024-05-15
1017Canada2024-05-15
1018Spain2024-05-20
1019United Kingdom2024-05-01
1020India2024-05-21
1021Australia2024-05-16
1022Japan2024-05-17
1023Brazil2024-05-15
1024France2024-04-30
1025Australia2024-05-14
1026Argentina2024-05-24
1027France2024-05-22
1028Russia2024-05-05
1029Germany2024-05-03
1030Germany2024-05-18
1031Argentina2024-05-17
1032Japan2024-05-25
1033France2024-05-01
1034France2024-05-21
1035India2024-04-27
1036Canada2024-05-19
1037Spain2024-05-22
1038Germany2024-05-22
1039Russia2024-05-14
1040Japan2024-05-01
1041Spain2024-05-05
1042Canada2024-05-18
1043Canada2024-05-07
1044India2024-05-10
1045Brazil2024-05-04
1046Japan2024-05-20
1047France2024-05-16
1048Russia2024-05-07
1049United Kingdom2024-05-22

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Kolmetz1000Brazil2024-05-12
Tony B Caudy1001France2024-05-10
Kaitlin C Slusarski1002Spain2024-05-18
Emily B Sergi1003Brazil2024-05-01
Deepesh B Perin1004Brazil2024-05-12
Jefferson Q Glick1005Argentina2024-05-11
Isabel I Malet1006France2024-05-12
Stacey U Paprocki1007Brazil2024-05-05
Antonio J Caudy1008Argentina2024-05-24
Murillo Z Chui1009United Kingdom2024-05-18
Juan F Flosi1010Germany2024-05-26
Murillo U Nicka1011Spain2024-05-13
Adams Y Dilliard1012Canada2024-04-27
Cody R Morasca1013Spain2024-05-02
David J Rulapaugh1014Canada2024-04-28
Morrow Z Perin1015United Kingdom2024-04-29
Arvin X Vocelka1016Canada2024-05-12
Misaki O Gillian1017Argentina2024-04-27
Adams S Caldarera1018Argentina2024-04-28
Claire P Poquette1019Spain2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens X ShinkoItalyBernardo Dominic RENEWAL
Jones M MaletBrazilIvan Magalhaes QUALIFIED
Greenwood B DarakjySpainIvan Magalhaes RENEWAL
Leon W MaletFranceElwin Sharvill QUALIFIED
David J MacleadArgentinaXuxue Feng NEW
Stacey O BowleyRussiaXuxue Feng QUALIFIED
Claire B BowleyBrazilIoni Bowcher NEGOTIATION
Kadeem A RimSpainAnna Fali NEGOTIATION
Smith S FlosiRussiaElwin Sharvill NEGOTIATION
Aruna Q StockhamFranceIvan Magalhaes NEGOTIATION
Darci A RimFranceBernardo Dominic PROPOSAL
Costa F FollerGermanyIoni Bowcher NEGOTIATION
Smith I FerenczArgentinaStephen Shaw NEW
Antonio O SlusarskiSpainIvan Magalhaes RENEWAL
James Z AmigonItalyXuxue Feng QUALIFIED
Smith L SaylorsJapanStephen Shaw RENEWAL
Jones R CampainGermanyAmy Elsner NEW
Jones W RoysterAustraliaAnna Fali PROPOSAL
Misaki N RoysterItalyIvan Magalhaes PROPOSAL
Johnson X DoeUnited KingdomAsiya Javayant PROPOSAL
Aika I WieserIndiaIoni Bowcher NEW
Leon H FigeroaArgentinaIoni Bowcher NEW
Rodrigues Y KolmetzFranceIvan Magalhaes RENEWAL
Izzy J StockhamAustraliaOnyama Limba QUALIFIED
Smith T PoquetteItalyAnna Fali NEW
Aditya Q NickaUnited KingdomIvan Magalhaes RENEWAL
Sinclair A NickaSpainAmy Elsner PROPOSAL
Morrow U ShinkoUnited KingdomOnyama Limba UNQUALIFIED
David T IturbideSpainStephen Shaw PROPOSAL
Adams Z OstroskySpainStephen Shaw QUALIFIED
Morrow Q NestleAustraliaOnyama Limba NEGOTIATION
Adams D PoquetteAustraliaIvan Magalhaes UNQUALIFIED
James L PaprockiRussiaAnna Fali NEW
Alejandro Q NickaGermanyElwin Sharvill UNQUALIFIED
Costa E AmigonAustraliaIvan Magalhaes PROPOSAL
Morrow J MaletItalyElwin Sharvill UNQUALIFIED
Claire G WaycottUnited KingdomBernardo Dominic NEW
Kaitlin F FlosiBrazilAnna Fali UNQUALIFIED
Mayumi T OstroskyRussiaIoni Bowcher NEW
Claire K FlosiRussiaIoni 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>