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
Arvin O MorascaFranceAmy Elsner NEGOTIATION
Adams N CampainItalyIvan Magalhaes NEGOTIATION
Maria Y MarrierFranceAsiya Javayant QUALIFIED
Costa C RutaUnited KingdomAsiya Javayant QUALIFIED
Smith P WhobreyGermanyAsiya Javayant RENEWAL
Chavez Z ShinkoCanadaStephen Shaw NEGOTIATION
Antonio M TollnerArgentinaAsiya Javayant NEW
Mayumi Z FlosiArgentinaIvan Magalhaes QUALIFIED
Juan Q BriddickAustraliaXuxue Feng NEW
James O MarrierArgentinaIoni Bowcher UNQUALIFIED
Alejandro N MaletItalyIoni Bowcher UNQUALIFIED
Johnson A RoysterSpainIvan Magalhaes RENEWAL
Stacey X RimJapanXuxue Feng UNQUALIFIED
Salvatore C PaprockiArgentinaAnna Fali UNQUALIFIED
Maria R FigeroaJapanIoni Bowcher PROPOSAL
Isabel Z GillianGermanyIoni Bowcher UNQUALIFIED
Adams R InouyeItalyOnyama Limba UNQUALIFIED
Mujtaba V BriddickBrazilIvan Magalhaes QUALIFIED
Chavez I ChuiJapanBernardo Dominic QUALIFIED
Salvatore P ChuiGermanyOnyama Limba QUALIFIED
Jefferson S MacleadItalyElwin Sharvill PROPOSAL
Ivar P CampainCanadaXuxue Feng NEW
Ivar S RimAustraliaAnna Fali QUALIFIED
Ashley K OstroskyIndiaAmy Elsner UNQUALIFIED
Ricardo L MorascaAustraliaElwin Sharvill RENEWAL
Sinclair W KuskoCanadaAmy Elsner UNQUALIFIED
Greenwood R PoquetteIndiaOnyama Limba NEW
Jefferson G GarufiAustraliaAsiya Javayant PROPOSAL
Ivar O WieserItalyAmy Elsner RENEWAL
Aika J GlickUnited KingdomOnyama Limba RENEWAL
Sinclair N DarakjySpainAsiya Javayant NEW
Ricardo R OldroydCanadaBernardo Dominic QUALIFIED
Salvatore H FerenczIndiaElwin Sharvill UNQUALIFIED
Aruna M NickaIndiaElwin Sharvill NEW
Smith I GlickJapanXuxue Feng QUALIFIED
Octavia O ShinkoItalyBernardo Dominic RENEWAL
Juan K ChuiItalyAsiya Javayant RENEWAL
Antonio R MaletRussiaStephen Shaw PROPOSAL
Aika L CaldareraBrazilStephen Shaw NEGOTIATION
Faith G MacleadRussiaXuxue Feng NEW
Alejandro Q ButtJapanAsiya Javayant RENEWAL
Mujtaba Z AmigonBrazilElwin Sharvill NEGOTIATION
Arvin N WieserGermanyElwin Sharvill NEGOTIATION
Emily F SchemmerRussiaOnyama Limba PROPOSAL
Antonio N PerinGermanyIoni Bowcher UNQUALIFIED
Cody E MacleadIndiaIvan Magalhaes QUALIFIED
Julie C DarakjyBrazilAsiya Javayant UNQUALIFIED
Tony A RulapaughCanadaElwin Sharvill RENEWAL
Morrow C GlickGermanyAsiya Javayant QUALIFIED
Mayumi V ShinkoRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony V TollnerBrazilXuxue Feng PROPOSAL
Juan Q SaylorsAustraliaBernardo Dominic RENEWAL
David O PerinItalyIoni Bowcher PROPOSAL
Sinclair A GauchoBrazilOnyama Limba RENEWAL
Silvio M OldroydCanadaElwin Sharvill UNQUALIFIED
Francesco Y BriddickBrazilAnna Fali PROPOSAL
Juan F DilliardRussiaIvan Magalhaes UNQUALIFIED
David C PoquetteUnited KingdomElwin Sharvill NEW
Faith T StockhamFranceIoni Bowcher UNQUALIFIED
Ricardo F NestleCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika Y WaycottArgentina2024-06-09King, Christopher A Esq UNQUALIFIED13Anna Fali
1001Izzy Q FigeroaBrazil2024-05-29Printing Dimensions UNQUALIFIED7Asiya Javayant
1002Kadeem F MarrierGermany2024-06-04Chanay, Jeffrey A Esq PROPOSAL98Ivan Magalhaes
1003Smith U OldroydGermany2024-06-08Feiner Bros RENEWAL38Onyama Limba
1004Octavia J FlosiUnited Kingdom2024-06-04Commercial Press NEGOTIATION16Elwin Sharvill
1005Silvio S InouyeGermany2024-06-21Buckley Miller Wright QUALIFIED48Ivan Magalhaes
1006Jennifer J PaprockiBrazil2024-06-06Truhlar And Truhlar Attys QUALIFIED73Ivan Magalhaes
1007Greenwood V MacleadJapan2024-05-29Truhlar And Truhlar Attys UNQUALIFIED80Ivan Magalhaes
1008Costa D AmigonCanada2024-05-31Benton, John B Jr NEGOTIATION3Elwin Sharvill
1009Johnson B OldroydIndia2024-05-31Buckley Miller Wright NEGOTIATION90Elwin Sharvill
1010Aika Y DilliardBrazil2024-06-22Benton, John B Jr NEW44Ivan Magalhaes
1011Clifford F BriddickFrance2024-06-07Chapman, Ross E Esq NEW33Stephen Shaw
1012Leja Q ShinkoRussia2024-05-30Chemel, James L Cpa UNQUALIFIED89Ioni Bowcher
1013Murillo F OldroydSpain2024-06-01Chapman, Ross E Esq UNQUALIFIED15Anna Fali
1014Octavia B SchemmerRussia2024-06-06Benton, John B Jr NEW51Anna Fali
1015Kadeem G FlosiUnited Kingdom2024-06-14Buckley Miller Wright QUALIFIED63Ivan Magalhaes
1016Greenwood B SaylorsSpain2024-05-28Benton, John B Jr PROPOSAL11Asiya Javayant
1017David T DarakjyArgentina2024-06-18Chapman, Ross E Esq NEGOTIATION22Onyama Limba
1018Julie S VenereGermany2024-06-04Rousseaux, Michael Esq UNQUALIFIED30Xuxue Feng
1019Ashley U CaudyRussia2024-06-14Feltz Printing Service QUALIFIED26Xuxue Feng
1020Mayumi M CaudyFrance2024-05-28Commercial Press UNQUALIFIED82Xuxue Feng
1021Maisha P PoquetteUnited Kingdom2024-05-26Morlong Associates NEGOTIATION13Xuxue Feng
1022Costa Q SergiBrazil2024-06-20King, Christopher A Esq UNQUALIFIED74Asiya Javayant
1023Adams D MaletRussia2024-06-01Rangoni Of Florence RENEWAL40Xuxue Feng
1024Misaki O BowleyGermany2024-06-16Buckley Miller Wright RENEWAL93Asiya Javayant
1025Kaitlin W VocelkaFrance2024-05-31Feltz Printing Service PROPOSAL45Bernardo Dominic
1026Octavia T PaprockiAustralia2024-06-18Printing Dimensions NEGOTIATION43Stephen Shaw
1027Ricardo M MaletGermany2024-06-03Morlong Associates UNQUALIFIED28Bernardo Dominic
1028Antonio R VocelkaArgentina2024-06-04Feltz Printing Service RENEWAL96Stephen Shaw
1029Greenwood C FerenczIndia2024-06-09Benton, John B Jr QUALIFIED1Elwin Sharvill
1030Rodrigues H RoysterItaly2024-06-22Printing Dimensions NEW77Anna Fali
1031Ivar S MaletFrance2024-06-03King, Christopher A Esq UNQUALIFIED22Amy Elsner
1032Jennifer O KolmetzSpain2024-06-03Dorl, James J Esq NEGOTIATION48Amy Elsner
1033Juan B StockhamFrance2024-06-14Rousseaux, Michael Esq RENEWAL49Ioni Bowcher
1034Tony Z VocelkaGermany2024-06-05King, Christopher A Esq PROPOSAL62Xuxue Feng
1035Cody Z MacleadArgentina2024-06-04Rousseaux, Michael Esq NEGOTIATION55Ivan Magalhaes
1036Deepesh J RoysterGermany2024-05-27Rangoni Of Florence NEGOTIATION35Ivan Magalhaes
1037Greenwood M SchemmerIndia2024-05-25King, Christopher A Esq NEW41Anna Fali
1038Emily Y SergiItaly2024-06-22Benton, John B Jr NEGOTIATION68Xuxue Feng
1039Maisha J ButtCanada2024-06-09Printing Dimensions QUALIFIED56Xuxue Feng
1040Silvio X CaldareraGermany2024-06-19Rangoni Of Florence RENEWAL8Elwin Sharvill
1041Munro H FigeroaSpain2024-06-13Truhlar And Truhlar Attys RENEWAL66Ioni Bowcher
1042Francesco D ShinkoGermany2024-06-01Buckley Miller Wright NEW97Stephen Shaw
1043Darci D MorascaUnited Kingdom2024-06-04Rangoni Of Florence NEGOTIATION81Xuxue Feng
1044Stacey E BologniaIndia2024-06-07King, Christopher A Esq RENEWAL73Ioni Bowcher
1045Alejandro Y StockhamArgentina2024-05-26Buckley Miller Wright QUALIFIED16Ivan Magalhaes
1046Ashley K NestleFrance2024-05-31Buckley Miller Wright QUALIFIED97Onyama Limba
1047Julie Y CampainBrazil2024-06-11Buckley Miller Wright PROPOSAL49Xuxue Feng
1048Leja C GillianUnited Kingdom2024-05-30Truhlar And Truhlar Attys UNQUALIFIED33Anna Fali
1049Smith L TollnerCanada2024-06-11Feltz Printing Service UNQUALIFIED79Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson W WhobreyBrazilStephen Shaw QUALIFIED
Rodrigues A StensethBrazilIvan Magalhaes RENEWAL
Isabel A DarakjyIndiaAsiya Javayant PROPOSAL
Cody C MorascaCanadaBernardo Dominic QUALIFIED
Adams U MaletUnited KingdomAsiya Javayant RENEWAL
Nicolas H SlusarskiAustraliaXuxue Feng QUALIFIED
Maria R MorascaFranceIoni Bowcher QUALIFIED
Smith M GlickUnited KingdomAsiya Javayant RENEWAL
Jones J AmigonJapanAmy Elsner NEW
Jennifer S KuskoSpainBernardo Dominic NEW
Ricardo U MaletBrazilIoni Bowcher RENEWAL
Tony Q WhobreyAustraliaAnna Fali NEW
Deepesh C SlusarskiSpainIvan Magalhaes NEGOTIATION
Mayumi Y WhobreySpainIoni Bowcher RENEWAL
Murillo V MarrierRussiaIoni Bowcher PROPOSAL
Maria T FigeroaJapanStephen Shaw RENEWAL
David B RutaAustraliaAsiya Javayant UNQUALIFIED
Isabel E InouyeRussiaBernardo Dominic QUALIFIED
Ashley L SlusarskiCanadaAmy Elsner NEW
Ashley F CaudyFranceAsiya Javayant QUALIFIED
Aika D DilliardUnited KingdomAnna Fali RENEWAL
Clifford D MaletFranceIoni Bowcher PROPOSAL
Ashley W KuskoArgentinaIoni Bowcher NEW
Cody S PaprockiRussiaIvan Magalhaes NEGOTIATION
Francesco Y ShinkoCanadaIvan Magalhaes NEW
Maria K RutaSpainAsiya Javayant NEW
Aditya E FerenczFranceAsiya Javayant NEW
Antonio H VocelkaJapanIoni Bowcher NEW
Mayumi W CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood D KolmetzSpainIvan Magalhaes NEGOTIATION
Faith R ChuiArgentinaStephen Shaw NEW
Octavia N StensethRussiaIoni Bowcher QUALIFIED
Claire S RoysterItalyBernardo Dominic NEW
Kadeem M OldroydJapanStephen Shaw QUALIFIED
Smith L StockhamGermanyAsiya Javayant UNQUALIFIED
Octavia R CampainIndiaIoni Bowcher QUALIFIED
Claire S FerenczJapanStephen Shaw PROPOSAL
Adams V OstroskyAustraliaOnyama Limba QUALIFIED
Murillo I OldroydIndiaXuxue Feng PROPOSAL
Misaki I GarufiItalyAnna Fali RENEWAL
David L MacleadFranceIoni Bowcher UNQUALIFIED
Juan R GauchoBrazilIoni Bowcher UNQUALIFIED
Stacey Q VenereArgentinaXuxue Feng RENEWAL
Isabel G KuskoJapanAsiya Javayant QUALIFIED
Claire L CampainGermanyBernardo Dominic QUALIFIED
Francesco D FlosiFranceOnyama Limba NEW
Izzy U ButtFranceAsiya Javayant PROPOSAL
Kaitlin B RulapaughSpainStephen Shaw NEW
Rodrigues F GillianRussiaElwin Sharvill NEW
Isabel D GillianBrazilAsiya Javayant NEW
Frozen Columns
Name
Emily R Albares
Munro K Glick
Alejandro Y Vocelka
Alejandro O Caldarera
Kaitlin V Royster
Jeanfrancois M Royster
Juan A Paprocki
Faith Y Albares
David Q Gaucho
Maria J Caudy
Izzy Q Nestle
David S Kolmetz
Maisha M Albares
Faith R Tollner
James N Saylors
James M Wieser
Maria D Stenseth
Julie S Perin
Isabel K Flosi
Wickens S Dilliard
Misaki W Kolmetz
James A Caldarera
Maria L Poquette
Antonio R Amigon
Jennifer U Dilliard
Clifford N Butt
Faith O Caldarera
Octavia J Malet
Tony K Stockham
Cody H Doe
Alejandro I Albares
Chavez K Inouye
Ashley W Bowley
Arvin Z Stockham
Aruna G Malet
Cody X Chui
Jennifer E Briddick
Smith S Vocelka
Darci P Inouye
Misaki W Saylors
Chavez W Morasca
Greenwood H Caudy
Aika M Schemmer
Octavia Y Oldroyd
Jones X Schemmer
Julie F Albares
Maria X Garufi
Emily V Malet
Smith P Sergi
Jeanfrancois H Paprocki
IdCountryDate
1000France2024-05-25
1001Spain2024-05-25
1002Spain2024-06-05
1003Brazil2024-06-07
1004Russia2024-06-19
1005India2024-05-29
1006India2024-05-31
1007Australia2024-06-18
1008France2024-05-28
1009Canada2024-06-18
1010Spain2024-06-06
1011India2024-05-24
1012Brazil2024-06-01
1013Argentina2024-05-28
1014Spain2024-06-04
1015Canada2024-06-11
1016France2024-06-03
1017Brazil2024-05-26
1018Australia2024-06-09
1019Argentina2024-05-26
1020Russia2024-05-28
1021Japan2024-05-28
1022India2024-06-10
1023Japan2024-06-11
1024Argentina2024-05-26
1025Argentina2024-05-31
1026India2024-06-20
1027Canada2024-06-16
1028Argentina2024-06-02
1029United Kingdom2024-05-28
1030Brazil2024-06-03
1031France2024-06-08
1032Russia2024-06-16
1033Italy2024-05-27
1034Brazil2024-06-03
1035Brazil2024-06-12
1036Russia2024-05-25
1037Italy2024-05-30
1038Canada2024-06-11
1039Australia2024-06-10
1040India2024-05-25
1041Brazil2024-06-13
1042United Kingdom2024-06-03
1043Japan2024-06-21
1044France2024-06-15
1045Spain2024-06-17
1046United Kingdom2024-06-21
1047Italy2024-06-05
1048France2024-06-14
1049Germany2024-06-15

On-Demand Data

NameIdCountryDate
Mujtaba G Wieser1000France2024-06-17
Julie D Bowley1001Australia2024-06-09
Jefferson A Waycott1002Canada2024-06-08
Aditya D Briddick1003Argentina2024-05-24
Octavia C Chui1004Germany2024-05-31
Misaki S Albares1005India2024-05-29
Sinclair C Ferencz1006Argentina2024-05-25
Jefferson E Dilliard1007France2024-06-06
Kadeem A Figeroa1008Italy2024-06-04
Faith A Waycott1009Canada2024-05-24
Kadeem B Marrier1010India2024-05-24
Tony Z Marrier1011Japan2024-06-10
Mujtaba I Bowley1012Germany2024-06-11
Francesco E Foller1013Japan2024-06-13
James R Gaucho1014France2024-05-28
Izzy E Nestle1015Japan2024-05-24
Aruna V Royster1016Japan2024-06-20
Aruna R Kusko1017Italy2024-06-09
Deepesh T Kusko1018Argentina2024-06-09
Silvio Q Dilliard1019Brazil2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya T MacleadBrazilBernardo Dominic NEGOTIATION
Aruna N SlusarskiUnited KingdomElwin Sharvill PROPOSAL
Tony R CampainItalyIvan Magalhaes NEGOTIATION
Jones B RoysterBrazilElwin Sharvill QUALIFIED
Kadeem T PerinAustraliaAmy Elsner UNQUALIFIED
Rodrigues H RutaBrazilAnna Fali RENEWAL
Morrow F KuskoJapanBernardo Dominic RENEWAL
Rodrigues Q RoysterRussiaAnna Fali NEGOTIATION
Adams W CampainAustraliaIoni Bowcher PROPOSAL
Faith H MorascaSpainStephen Shaw UNQUALIFIED
Ricardo V DoeBrazilXuxue Feng NEW
Jeanfrancois D CampainJapanOnyama Limba UNQUALIFIED
David J PoquetteJapanIvan Magalhaes QUALIFIED
Greenwood Q MacleadFranceOnyama Limba NEGOTIATION
Smith R PoquetteFranceBernardo Dominic PROPOSAL
Octavia X DoeCanadaAmy Elsner NEGOTIATION
Ricardo G GlickRussiaBernardo Dominic PROPOSAL
Leon I DilliardIndiaAnna Fali NEW
Ivar D CaudyItalyElwin Sharvill UNQUALIFIED
Costa Y BriddickItalyOnyama Limba PROPOSAL
Octavia Z WhobreyIndiaElwin Sharvill RENEWAL
Ashley S MaletBrazilStephen Shaw PROPOSAL
Cody M AmigonJapanIoni Bowcher QUALIFIED
Faith I BowleySpainElwin Sharvill NEW
Juan A CampainJapanBernardo Dominic UNQUALIFIED
Costa U ButtSpainAnna Fali NEGOTIATION
Ricardo N GlickSpainStephen Shaw QUALIFIED
Morrow I KolmetzCanadaElwin Sharvill RENEWAL
Julie Y PaprockiRussiaElwin Sharvill UNQUALIFIED
Kadeem D ButtAustraliaAmy Elsner UNQUALIFIED
Francesco C RoysterBrazilBernardo Dominic NEGOTIATION
Tony F RutaItalyIvan Magalhaes NEW
Faith N MacleadCanadaAnna Fali UNQUALIFIED
Deepesh R DarakjyUnited KingdomAsiya Javayant NEW
Tony T StensethJapanElwin Sharvill QUALIFIED
Munro C BriddickJapanIoni Bowcher NEW
Leon U WieserItalyAsiya Javayant RENEWAL
Chavez S OldroydCanadaXuxue Feng UNQUALIFIED
Francesco O IturbideItalyIoni Bowcher RENEWAL
Ivar K GauchoAustraliaAsiya Javayant 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>