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
Leja K PerinSpainOnyama Limba NEGOTIATION
Murillo S NickaFranceElwin Sharvill UNQUALIFIED
Jefferson L KolmetzArgentinaOnyama Limba PROPOSAL
Stacey H MorascaGermanyIoni Bowcher NEW
Jeanfrancois N ButtFranceIvan Magalhaes UNQUALIFIED
Izzy M AlbaresAustraliaElwin Sharvill RENEWAL
Stacey Y FigeroaCanadaAmy Elsner UNQUALIFIED
Octavia L FollerRussiaAnna Fali UNQUALIFIED
Deepesh B MorascaFranceIoni Bowcher NEW
Deepesh U OstroskyIndiaAsiya Javayant NEW
Murillo J RoysterGermanyXuxue Feng NEGOTIATION
James A RimRussiaElwin Sharvill PROPOSAL
Emily X ButtBrazilXuxue Feng UNQUALIFIED
Darci B PaprockiCanadaElwin Sharvill QUALIFIED
Mayumi R DoeGermanyIoni Bowcher UNQUALIFIED
Kaitlin B VocelkaAustraliaAsiya Javayant NEW
Misaki V VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Murillo B PaprockiAustraliaStephen Shaw UNQUALIFIED
Alejandro E SergiArgentinaIoni Bowcher NEW
Wickens U VocelkaUnited KingdomXuxue Feng NEW
Kaitlin B WaycottCanadaIoni Bowcher QUALIFIED
Kadeem T FigeroaSpainBernardo Dominic RENEWAL
Juan Y PerinGermanyOnyama Limba PROPOSAL
Misaki D StockhamGermanyXuxue Feng UNQUALIFIED
David C RulapaughIndiaIoni Bowcher QUALIFIED
Ricardo A DoeUnited KingdomIoni Bowcher UNQUALIFIED
Munro P SaylorsGermanyAmy Elsner RENEWAL
Aditya N OstroskyArgentinaBernardo Dominic NEGOTIATION
Munro U PerinBrazilIoni Bowcher PROPOSAL
Mujtaba I CampainGermanyStephen Shaw NEW
Mayumi W AlbaresUnited KingdomXuxue Feng NEW
Leja Y MaletBrazilBernardo Dominic UNQUALIFIED
Faith Y StensethGermanyXuxue Feng UNQUALIFIED
Isabel V GillianItalyAnna Fali NEW
Isabel P ShinkoItalyBernardo Dominic NEW
Mayumi J MaletBrazilOnyama Limba QUALIFIED
Costa H NestleBrazilAmy Elsner RENEWAL
Izzy K BowleyCanadaAmy Elsner NEGOTIATION
Clifford C OldroydGermanyIoni Bowcher RENEWAL
Morrow L TollnerAustraliaStephen Shaw PROPOSAL
David T PoquetteFranceAmy Elsner NEGOTIATION
Francesco N RimRussiaXuxue Feng NEW
Murillo E MorascaItalyStephen Shaw NEGOTIATION
Emily D BriddickGermanyOnyama Limba PROPOSAL
Isabel N AmigonRussiaAsiya Javayant UNQUALIFIED
Costa Z NickaUnited KingdomAnna Fali NEGOTIATION
Isabel A SergiSpainOnyama Limba NEW
Ivar D VenereAustraliaAmy Elsner RENEWAL
Johnson W MaletAustraliaIoni Bowcher NEW
Misaki I BologniaJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin Q IturbideFranceStephen Shaw UNQUALIFIED
Adams X PaprockiItalyXuxue Feng QUALIFIED
Claire G RulapaughJapanAnna Fali RENEWAL
Greenwood S RutaArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois N MaletSpainOnyama Limba PROPOSAL
Silvio I NickaItalyElwin Sharvill QUALIFIED
Aruna T PerinCanadaElwin Sharvill PROPOSAL
Misaki Y WaycottGermanyStephen Shaw RENEWAL
Jeanfrancois C GauchoIndiaOnyama Limba UNQUALIFIED
Murillo J GlickFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F ButtFrance2024-05-27Dorl, James J Esq UNQUALIFIED86Ioni Bowcher
1001Sinclair U GillianGermany2024-06-09Morlong Associates UNQUALIFIED15Ioni Bowcher
1002Chavez S TollnerJapan2024-05-28Dorl, James J Esq RENEWAL33Asiya Javayant
1003Chavez S PaprockiGermany2024-05-26Commercial Press UNQUALIFIED29Amy Elsner
1004Salvatore Z PerinAustralia2024-06-07Printing Dimensions RENEWAL4Amy Elsner
1005Maisha N SergiCanada2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED53Bernardo Dominic
1006Munro J VenereGermany2024-06-19Rangoni Of Florence RENEWAL11Asiya Javayant
1007Juan D MacleadIndia2024-05-26Rangoni Of Florence PROPOSAL16Elwin Sharvill
1008Cody U StockhamSpain2024-06-01Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1009Murillo A InouyeItaly2024-06-20Benton, John B Jr QUALIFIED2Ioni Bowcher
1010Ashley J StensethRussia2024-06-10Dorl, James J Esq PROPOSAL62Stephen Shaw
1011Silvio A FigeroaAustralia2024-06-08King, Christopher A Esq PROPOSAL36Asiya Javayant
1012Rodrigues K MorascaJapan2024-06-10Buckley Miller Wright NEW94Bernardo Dominic
1013Ashley C AmigonFrance2024-06-20Truhlar And Truhlar Attys QUALIFIED9Anna Fali
1014Rodrigues I NestleAustralia2024-06-08Feiner Bros QUALIFIED55Asiya Javayant
1015Tony N RoysterBrazil2024-06-24Dorl, James J Esq QUALIFIED4Anna Fali
1016Murillo P ShinkoItaly2024-06-19Rangoni Of Florence NEGOTIATION85Elwin Sharvill
1017Francesco X InouyeFrance2024-06-14Chapman, Ross E Esq NEGOTIATION38Elwin Sharvill
1018Arvin O CaldareraIndia2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED23Ioni Bowcher
1019Deepesh U VenereIndia2024-06-14Buckley Miller Wright RENEWAL98Onyama Limba
1020Aruna H CaldareraArgentina2024-06-07King, Christopher A Esq RENEWAL48Asiya Javayant
1021Kadeem C ChuiArgentina2024-06-21Chapman, Ross E Esq RENEWAL16Anna Fali
1022Darci J KolmetzJapan2024-05-31Chapman, Ross E Esq QUALIFIED33Onyama Limba
1023Isabel K WhobreyCanada2024-06-20Commercial Press NEW40Anna Fali
1024Munro P PoquetteIndia2024-06-24Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1025Aditya G TollnerArgentina2024-06-04Feltz Printing Service PROPOSAL53Ivan Magalhaes
1026Salvatore C MacleadJapan2024-06-21Chapman, Ross E Esq NEGOTIATION59Ivan Magalhaes
1027James L WhobreySpain2024-06-09Dorl, James J Esq PROPOSAL18Ivan Magalhaes
1028Kadeem J BologniaGermany2024-06-10Feltz Printing Service UNQUALIFIED28Stephen Shaw
1029Cody R NickaJapan2024-05-29Commercial Press NEW45Anna Fali
1030Cody M NestleArgentina2024-06-18King, Christopher A Esq NEW24Anna Fali
1031Maria B MorascaUnited Kingdom2024-06-12King, Christopher A Esq NEGOTIATION34Bernardo Dominic
1032Arvin U PaprockiBrazil2024-06-22Commercial Press PROPOSAL4Ioni Bowcher
1033Isabel Y NickaIndia2024-06-01Feltz Printing Service QUALIFIED31Ioni Bowcher
1034Salvatore C SaylorsUnited Kingdom2024-06-15Feiner Bros NEW54Ioni Bowcher
1035Emily B CaldareraRussia2024-06-09Feiner Bros UNQUALIFIED59Ivan Magalhaes
1036Leja G DoeIndia2024-06-02Dorl, James J Esq RENEWAL65Asiya Javayant
1037Tony Y MarrierBrazil2024-06-18Rousseaux, Michael Esq QUALIFIED68Amy Elsner
1038Rodrigues P ChuiAustralia2024-06-04Commercial Press UNQUALIFIED29Anna Fali
1039Wickens O CampainUnited Kingdom2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED97Bernardo Dominic
1040Murillo Q PaprockiIndia2024-06-07Rousseaux, Michael Esq UNQUALIFIED29Onyama Limba
1041Munro D OldroydCanada2024-06-24Feiner Bros UNQUALIFIED76Bernardo Dominic
1042Aika L AmigonCanada2024-06-15Feiner Bros NEW86Anna Fali
1043Izzy V SergiSpain2024-05-29Buckley Miller Wright RENEWAL86Asiya Javayant
1044Maria S WieserBrazil2024-06-20Feiner Bros NEW81Ivan Magalhaes
1045Leon R BowleyIndia2024-06-09Commercial Press UNQUALIFIED56Elwin Sharvill
1046Arvin B WieserArgentina2024-06-18Chemel, James L Cpa PROPOSAL51Ivan Magalhaes
1047Leon T NickaIndia2024-05-29Truhlar And Truhlar Attys NEW75Stephen Shaw
1048Nicolas N CaudyAustralia2024-05-29Chanay, Jeffrey A Esq RENEWAL97Asiya Javayant
1049Salvatore P VenereItaly2024-06-02Chemel, James L Cpa NEW75Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey H PaprockiItalyOnyama Limba PROPOSAL
Julie W GlickJapanAsiya Javayant NEW
David D CaudyBrazilIvan Magalhaes RENEWAL
Costa T FlosiJapanAsiya Javayant NEGOTIATION
Ricardo O SchemmerItalyBernardo Dominic UNQUALIFIED
Salvatore R AlbaresJapanAsiya Javayant PROPOSAL
Nicolas Q TollnerBrazilIoni Bowcher NEW
Nicolas Y PaprockiJapanStephen Shaw RENEWAL
Mujtaba E InouyeUnited KingdomXuxue Feng RENEWAL
Juan B KuskoArgentinaBernardo Dominic NEGOTIATION
Aika G MacleadBrazilBernardo Dominic QUALIFIED
Kadeem A InouyeGermanyAmy Elsner RENEWAL
Octavia L OldroydUnited KingdomIoni Bowcher QUALIFIED
Tony A NickaArgentinaIoni Bowcher NEGOTIATION
Stacey U RutaIndiaStephen Shaw UNQUALIFIED
James K MorascaItalyStephen Shaw NEGOTIATION
Stacey M CaldareraBrazilElwin Sharvill NEW
Sinclair B ButtJapanAmy Elsner NEGOTIATION
Chavez E IturbideIndiaOnyama Limba UNQUALIFIED
Kadeem R VenereCanadaOnyama Limba PROPOSAL
Adams Z VenereFranceBernardo Dominic PROPOSAL
Ivar S MacleadSpainStephen Shaw UNQUALIFIED
Misaki R DarakjyAustraliaIoni Bowcher UNQUALIFIED
Antonio J SlusarskiAustraliaIvan Magalhaes PROPOSAL
Faith V BriddickBrazilAmy Elsner QUALIFIED
Johnson K SchemmerGermanyAmy Elsner UNQUALIFIED
Chavez T RimFranceXuxue Feng NEGOTIATION
Kaitlin C VenereIndiaElwin Sharvill NEW
Leon Y BriddickIndiaAnna Fali RENEWAL
Jones V ChuiCanadaIvan Magalhaes NEW
Misaki M WaycottIndiaAnna Fali UNQUALIFIED
Sinclair J GarufiCanadaStephen Shaw UNQUALIFIED
Maria S WhobreyUnited KingdomAmy Elsner PROPOSAL
Stacey Y SchemmerUnited KingdomStephen Shaw PROPOSAL
Maria K OldroydUnited KingdomIvan Magalhaes RENEWAL
Nicolas F FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Emily B RimGermanyBernardo Dominic QUALIFIED
Ashley T ButtBrazilAmy Elsner NEW
Misaki I VenereCanadaOnyama Limba PROPOSAL
Morrow Z FigeroaGermanyOnyama Limba RENEWAL
Johnson J DarakjyIndiaAnna Fali NEW
David N VenereSpainXuxue Feng UNQUALIFIED
Julie Q VocelkaJapanIvan Magalhaes QUALIFIED
Salvatore D VenereRussiaIvan Magalhaes NEGOTIATION
Rodrigues R FerenczIndiaXuxue Feng PROPOSAL
Aditya Y SchemmerGermanyAnna Fali PROPOSAL
Ricardo A SlusarskiCanadaOnyama Limba UNQUALIFIED
Darci W NestleArgentinaIvan Magalhaes QUALIFIED
Isabel A InouyeFranceBernardo Dominic QUALIFIED
Deepesh N GarufiFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Claire T Perin
Juan L Gaucho
Rodrigues F Darakjy
Tony C Flosi
Izzy V Wieser
Francesco G Inouye
Nicolas K Garufi
Costa I Saylors
Leja C Vocelka
Francesco M Wieser
Aruna I Maclead
Aruna J Flosi
Jennifer V Kolmetz
Izzy I Malet
Claire G Marrier
Octavia L Nestle
Morrow T Malet
Izzy V Iturbide
Cody U Nicka
Claire Z Caudy
Aditya H Ferencz
Costa S Nicka
Leja M Sergi
Izzy R Flosi
Munro G Gillian
Maria I Kolmetz
Misaki C Shinko
Wickens K Ruta
Aruna N Kolmetz
Kadeem Y Tollner
Leja I Kolmetz
Octavia Y Perin
Johnson R Ostrosky
Claire J Poquette
Antonio C Ruta
Johnson P Nestle
Darci M Glick
Juan H Caldarera
Antonio S Kusko
Salvatore J Tollner
Jennifer G Schemmer
Aditya U Slusarski
Smith C Wieser
Cody A Chui
Cody P Waycott
Claire K Stockham
Mayumi H Nicka
Stacey X Kolmetz
Maisha D Nicka
Julie N Ferencz
IdCountryDate
1000India2024-06-17
1001United Kingdom2024-06-10
1002Spain2024-06-12
1003Canada2024-06-22
1004Argentina2024-06-02
1005Brazil2024-06-05
1006Russia2024-05-27
1007Brazil2024-05-28
1008India2024-06-23
1009Brazil2024-05-30
1010Australia2024-05-27
1011Canada2024-06-08
1012Argentina2024-05-31
1013Russia2024-05-26
1014Russia2024-05-26
1015Russia2024-05-27
1016Australia2024-05-30
1017Italy2024-06-04
1018Spain2024-05-29
1019Argentina2024-06-04
1020France2024-06-22
1021Argentina2024-05-31
1022Russia2024-06-12
1023Canada2024-06-13
1024Italy2024-06-20
1025Japan2024-06-05
1026Canada2024-06-10
1027Brazil2024-05-27
1028Canada2024-05-29
1029Australia2024-06-09
1030Brazil2024-06-04
1031Italy2024-06-14
1032Japan2024-06-24
1033Australia2024-06-16
1034Japan2024-06-19
1035Japan2024-06-17
1036France2024-06-06
1037Germany2024-06-18
1038Russia2024-06-23
1039Argentina2024-05-28
1040Canada2024-05-27
1041Japan2024-05-31
1042India2024-06-24
1043Canada2024-05-31
1044Argentina2024-06-02
1045Spain2024-06-04
1046Russia2024-06-24
1047Canada2024-06-13
1048Germany2024-06-08
1049India2024-06-02

On-Demand Data

NameIdCountryDate
Cody D Malet1000Argentina2024-06-04
Johnson L Wieser1001Italy2024-06-22
Jefferson T Doe1002Brazil2024-06-21
Maria D Paprocki1003Spain2024-05-28
Aika E Amigon1004Italy2024-06-23
Jennifer L Malet1005Australia2024-06-24
Mayumi O Albares1006France2024-06-23
Ivar L Briddick1007Canada2024-05-30
Claire F Maclead1008India2024-06-24
Morrow Q Paprocki1009Japan2024-06-01
Wickens S Foller1010Germany2024-06-01
Misaki U Wieser1011Argentina2024-06-10
Faith O Tollner1012France2024-06-02
Francesco X Flosi1013Italy2024-06-07
Salvatore A Kolmetz1014Brazil2024-06-09
Adams S Bolognia1015Australia2024-06-05
Jones X Caudy1016Japan2024-06-03
Adams P Gillian1017Canada2024-06-11
Misaki T Whobrey1018Japan2024-05-30
Claire J Briddick1019United Kingdom2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika R RoysterIndiaStephen Shaw PROPOSAL
Ivar K DoeRussiaBernardo Dominic NEW
Maisha Q FigeroaFranceBernardo Dominic UNQUALIFIED
Nicolas O PoquetteRussiaAmy Elsner QUALIFIED
Smith P BowleyFranceStephen Shaw PROPOSAL
Adams O NestleItalyAmy Elsner PROPOSAL
Mujtaba N WieserAustraliaAmy Elsner UNQUALIFIED
Emily U StockhamArgentinaIvan Magalhaes PROPOSAL
Salvatore M GlickItalyElwin Sharvill QUALIFIED
Mayumi L FigeroaRussiaOnyama Limba PROPOSAL
Chavez F FigeroaAustraliaOnyama Limba NEGOTIATION
Jefferson N WaycottJapanBernardo Dominic NEGOTIATION
Kaitlin V GlickRussiaOnyama Limba NEW
Jennifer W RoysterSpainXuxue Feng UNQUALIFIED
Ivar K WieserUnited KingdomIvan Magalhaes PROPOSAL
Juan Y SergiSpainStephen Shaw QUALIFIED
Costa L VenereJapanElwin Sharvill PROPOSAL
Ricardo W KuskoRussiaAmy Elsner PROPOSAL
Julie G DilliardAustraliaOnyama Limba RENEWAL
Morrow A StockhamUnited KingdomAnna Fali NEW
Octavia C OstroskyCanadaAsiya Javayant QUALIFIED
Morrow D PaprockiItalyAsiya Javayant QUALIFIED
Maisha O SchemmerArgentinaAsiya Javayant NEW
Mujtaba L CaldareraSpainAnna Fali PROPOSAL
Kaitlin L GillianItalyOnyama Limba UNQUALIFIED
Aruna J FlosiFranceBernardo Dominic QUALIFIED
Aditya N SergiAustraliaAmy Elsner QUALIFIED
Antonio J StockhamItalyIoni Bowcher RENEWAL
Ashley Q GillianUnited KingdomAsiya Javayant QUALIFIED
Cody H BriddickSpainBernardo Dominic QUALIFIED
Tony A NickaArgentinaAsiya Javayant UNQUALIFIED
Silvio E CampainItalyAsiya Javayant NEGOTIATION
Maisha Z FlosiIndiaIoni Bowcher PROPOSAL
Arvin O ButtIndiaBernardo Dominic RENEWAL
Ricardo Z PoquetteItalyIoni Bowcher RENEWAL
Morrow W BologniaArgentinaOnyama Limba RENEWAL
Kaitlin P SaylorsBrazilIoni Bowcher NEGOTIATION
Mayumi T NickaItalyStephen Shaw UNQUALIFIED
Costa S BologniaSpainIoni Bowcher NEGOTIATION
Leja D BologniaUnited KingdomIoni Bowcher NEW

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