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 H BriddickBrazilIoni Bowcher RENEWAL
Silvio A BologniaRussiaAnna Fali QUALIFIED
Johnson B TollnerCanadaOnyama Limba NEW
Octavia E RutaBrazilAmy Elsner QUALIFIED
Mujtaba G RimCanadaAnna Fali NEW
Julie E GillianRussiaIvan Magalhaes RENEWAL
Salvatore Y CaudyAustraliaAmy Elsner QUALIFIED
Leon J DilliardArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois P BriddickFranceIoni Bowcher PROPOSAL
Morrow E RoysterCanadaOnyama Limba QUALIFIED
Aditya B DoeBrazilAmy Elsner QUALIFIED
Julie M RutaSpainAsiya Javayant QUALIFIED
Mujtaba R CaudyJapanAsiya Javayant RENEWAL
Ashley N StensethCanadaOnyama Limba UNQUALIFIED
Faith R AlbaresCanadaStephen Shaw RENEWAL
David K BowleyCanadaStephen Shaw NEW
Leon C OstroskyJapanAnna Fali UNQUALIFIED
Aika I GarufiRussiaAsiya Javayant PROPOSAL
Stacey X PoquetteRussiaAnna Fali QUALIFIED
Alejandro A CampainJapanIvan Magalhaes PROPOSAL
Johnson X BologniaBrazilXuxue Feng PROPOSAL
Maisha S PaprockiCanadaXuxue Feng PROPOSAL
Leja P DarakjyCanadaXuxue Feng RENEWAL
Ashley Z FlosiCanadaOnyama Limba PROPOSAL
Juan W PerinArgentinaOnyama Limba RENEWAL
Clifford S NickaUnited KingdomAnna Fali PROPOSAL
Tony J InouyeCanadaXuxue Feng NEW
Jefferson Z ChuiGermanyAnna Fali PROPOSAL
Mujtaba G VocelkaCanadaIoni Bowcher RENEWAL
Darci T DarakjyCanadaAnna Fali QUALIFIED
Kaitlin N RoysterAustraliaBernardo Dominic NEGOTIATION
James X FerenczJapanIvan Magalhaes PROPOSAL
Darci J GarufiSpainAnna Fali UNQUALIFIED
Arvin M StensethAustraliaIvan Magalhaes QUALIFIED
Munro Z NestleIndiaElwin Sharvill QUALIFIED
Silvio U GillianCanadaIoni Bowcher NEGOTIATION
Maria H GauchoBrazilAmy Elsner RENEWAL
Mayumi E KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Emily P BriddickUnited KingdomAsiya Javayant PROPOSAL
Johnson C AlbaresJapanIvan Magalhaes NEW
Arvin I BriddickUnited KingdomStephen Shaw UNQUALIFIED
Ivar C NestleSpainOnyama Limba QUALIFIED
Jones R SergiItalyAsiya Javayant QUALIFIED
Mayumi J WieserIndiaOnyama Limba RENEWAL
Octavia B DilliardIndiaBernardo Dominic NEW
Rodrigues J MacleadItalyAsiya Javayant PROPOSAL
Clifford Q CaudyRussiaAnna Fali NEW
Cody Y BriddickCanadaBernardo Dominic RENEWAL
Aika P DilliardJapanAsiya Javayant UNQUALIFIED
Salvatore J FerenczRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer B FerenczGermanyIvan Magalhaes NEW
Jennifer Z RimArgentinaElwin Sharvill UNQUALIFIED
Alejandro O WhobreyRussiaAmy Elsner NEGOTIATION
David B PerinItalyAmy Elsner QUALIFIED
Adams N PerinItalyIvan Magalhaes UNQUALIFIED
Kaitlin G WhobreyGermanyStephen Shaw NEW
Sinclair J GauchoAustraliaIvan Magalhaes NEW
Sinclair A CaldareraItalyStephen Shaw QUALIFIED
Mayumi O GarufiSpainIoni Bowcher RENEWAL
Greenwood O AmigonIndiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow G MorascaBrazil2026-08-07Rousseaux, Michael Esq PROPOSAL17Stephen Shaw
1001Misaki N FlosiCanada2026-08-04Feiner Bros NEGOTIATION6Ivan Magalhaes
1002Jones B FigeroaRussia2026-08-08Feltz Printing Service NEW80Ivan Magalhaes
1003Adams V MaletUnited Kingdom2026-08-26Chemel, James L Cpa RENEWAL15Stephen Shaw
1004Kadeem D RimArgentina2026-08-26Morlong Associates UNQUALIFIED82Onyama Limba
1005Mayumi I SlusarskiUnited Kingdom2026-08-23Feltz Printing Service PROPOSAL65Onyama Limba
1006Emily E SaylorsRussia2026-08-13Buckley Miller Wright RENEWAL93Elwin Sharvill
1007Nicolas I FlosiRussia2026-08-24Dorl, James J Esq QUALIFIED13Amy Elsner
1008Jefferson E SlusarskiItaly2026-08-17Rangoni Of Florence RENEWAL40Bernardo Dominic
1009Julie Q ButtUnited Kingdom2026-08-10Chapman, Ross E Esq NEW97Xuxue Feng
1010James E BriddickArgentina2026-08-17Rangoni Of Florence NEW87Amy Elsner
1011Stacey J PoquetteItaly2026-08-20Morlong Associates RENEWAL8Bernardo Dominic
1012Aruna J NestleCanada2026-08-12Morlong Associates NEGOTIATION77Ivan Magalhaes
1013Aika H BologniaGermany2026-08-05Rangoni Of Florence PROPOSAL56Ioni Bowcher
1014Aditya Y MarrierUnited Kingdom2026-08-07Dorl, James J Esq NEW95Bernardo Dominic
1015Isabel U FlosiIndia2026-08-12Rousseaux, Michael Esq PROPOSAL66Stephen Shaw
1016Nicolas V DilliardRussia2026-08-11King, Christopher A Esq NEW97Ivan Magalhaes
1017Leja V PerinBrazil2026-08-05Feltz Printing Service NEW24Asiya Javayant
1018Jennifer E InouyeIndia2026-08-21Chemel, James L Cpa QUALIFIED2Ioni Bowcher
1019Jeanfrancois V AmigonUnited Kingdom2026-08-25Feiner Bros UNQUALIFIED43Anna Fali
1020Leja E VenereFrance2026-08-05Printing Dimensions NEW24Elwin Sharvill
1021Darci C PaprockiBrazil2026-08-24Rousseaux, Michael Esq QUALIFIED20Bernardo Dominic
1022Munro C ButtBrazil2026-08-30Benton, John B Jr NEGOTIATION75Ioni Bowcher
1023Mujtaba O NestleAustralia2026-09-02Printing Dimensions RENEWAL48Stephen Shaw
1024Maisha O SaylorsItaly2026-08-14Buckley Miller Wright UNQUALIFIED29Xuxue Feng
1025Jeanfrancois X MacleadBrazil2026-08-15Benton, John B Jr QUALIFIED4Elwin Sharvill
1026Alejandro I WieserItaly2026-08-05Chapman, Ross E Esq NEW17Anna Fali
1027Aditya H DoeArgentina2026-08-10Feltz Printing Service NEW33Ioni Bowcher
1028Francesco Q NestleIndia2026-08-24Chapman, Ross E Esq UNQUALIFIED11Anna Fali
1029Ricardo P StensethIndia2026-08-22Morlong Associates PROPOSAL4Asiya Javayant
1030Deepesh G DarakjyCanada2026-08-26Rousseaux, Michael Esq PROPOSAL9Bernardo Dominic
1031Clifford H TollnerRussia2026-08-29Feltz Printing Service NEGOTIATION91Elwin Sharvill
1032Leja H FollerGermany2026-08-07Feltz Printing Service NEW69Onyama Limba
1033Morrow Z BriddickGermany2026-08-28Buckley Miller Wright UNQUALIFIED24Asiya Javayant
1034Silvio J ButtCanada2026-08-22Buckley Miller Wright QUALIFIED6Anna Fali
1035Chavez E DarakjyIndia2026-08-30Feltz Printing Service QUALIFIED75Anna Fali
1036James E VocelkaAustralia2026-08-21Printing Dimensions UNQUALIFIED85Anna Fali
1037Mujtaba F AmigonArgentina2026-08-16Rousseaux, Michael Esq UNQUALIFIED60Asiya Javayant
1038Claire P FollerSpain2026-08-04Benton, John B Jr QUALIFIED43Onyama Limba
1039Smith T ShinkoArgentina2026-08-28Chanay, Jeffrey A Esq NEGOTIATION91Onyama Limba
1040Izzy E SergiFrance2026-08-22Benton, John B Jr PROPOSAL3Ioni Bowcher
1041Nicolas E WieserBrazil2026-08-29Chapman, Ross E Esq UNQUALIFIED17Amy Elsner
1042Silvio J SlusarskiRussia2026-08-24Rousseaux, Michael Esq NEW92Elwin Sharvill
1043Costa V GauchoBrazil2026-08-21Morlong Associates NEGOTIATION92Anna Fali
1044Rodrigues Z ShinkoFrance2026-08-27Feltz Printing Service PROPOSAL46Ivan Magalhaes
1045Adams Q StensethAustralia2026-08-23Truhlar And Truhlar Attys NEGOTIATION63Stephen Shaw
1046Claire D ButtItaly2026-08-13Benton, John B Jr NEGOTIATION15Amy Elsner
1047Deepesh L GauchoCanada2026-08-30Benton, John B Jr QUALIFIED22Ioni Bowcher
1048Aika A WieserGermany2026-08-21Chapman, Ross E Esq NEGOTIATION62Ioni Bowcher
1049Murillo T PerinItaly2026-08-13Rangoni Of Florence NEGOTIATION62Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aika U CaldareraAustraliaIvan Magalhaes PROPOSAL
Darci S GillianAustraliaXuxue Feng NEGOTIATION
David G KolmetzRussiaAsiya Javayant RENEWAL
Claire S FlosiRussiaIvan Magalhaes PROPOSAL
Aditya B SergiItalyIoni Bowcher QUALIFIED
Munro U DoeSpainElwin Sharvill RENEWAL
Isabel T WaycottAustraliaStephen Shaw NEGOTIATION
Octavia G CampainJapanIvan Magalhaes UNQUALIFIED
Greenwood T MarrierUnited KingdomIoni Bowcher PROPOSAL
Sinclair K CampainUnited KingdomAmy Elsner RENEWAL
Misaki F NickaItalyIvan Magalhaes UNQUALIFIED
Adams L StockhamFranceIoni Bowcher NEGOTIATION
Rodrigues O GauchoIndiaXuxue Feng NEW
Adams P SlusarskiItalyBernardo Dominic NEGOTIATION
Clifford E GarufiGermanyBernardo Dominic NEW
Ivar M DoeGermanyBernardo Dominic PROPOSAL
Morrow R GlickIndiaXuxue Feng NEW
Ashley L GarufiItalyXuxue Feng RENEWAL
Stacey W WaycottBrazilAnna Fali PROPOSAL
Johnson B DilliardGermanyElwin Sharvill RENEWAL
Munro L NestleUnited KingdomIoni Bowcher QUALIFIED
Nicolas I FollerRussiaIvan Magalhaes UNQUALIFIED
Clifford K RulapaughFranceAsiya Javayant NEGOTIATION
Kadeem F VenereIndiaOnyama Limba UNQUALIFIED
Johnson E InouyeRussiaAsiya Javayant PROPOSAL
Mayumi R ChuiItalyAmy Elsner QUALIFIED
Ricardo H OldroydCanadaAnna Fali NEW
Chavez I CaudyJapanAmy Elsner PROPOSAL
Darci V WhobreyArgentinaStephen Shaw RENEWAL
Jennifer G NestleSpainOnyama Limba NEW
Emily K ButtIndiaAnna Fali PROPOSAL
Nicolas B VocelkaCanadaStephen Shaw QUALIFIED
Emily S FerenczItalyIoni Bowcher PROPOSAL
Rodrigues Y BowleyArgentinaBernardo Dominic RENEWAL
Claire Y KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Deepesh W CaudyCanadaIvan Magalhaes PROPOSAL
Sinclair Z FollerItalyIvan Magalhaes PROPOSAL
Adams V DarakjyJapanBernardo Dominic NEGOTIATION
Claire D OstroskyGermanyIoni Bowcher NEGOTIATION
David Z WieserItalyElwin Sharvill UNQUALIFIED
Wickens X AmigonAustraliaIvan Magalhaes PROPOSAL
James M IturbideUnited KingdomIvan Magalhaes NEW
Misaki F PerinJapanStephen Shaw QUALIFIED
Octavia W SlusarskiIndiaElwin Sharvill QUALIFIED
Jones V CaudyItalyOnyama Limba PROPOSAL
Leja F VenereAustraliaStephen Shaw NEGOTIATION
Smith A SergiSpainOnyama Limba QUALIFIED
Mayumi M DilliardArgentinaIvan Magalhaes RENEWAL
Munro X RutaSpainStephen Shaw PROPOSAL
Aruna Q SaylorsRussiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Mujtaba H Darakjy
Silvio Q Kolmetz
Octavia G Gaucho
Nicolas Z Schemmer
Leon L Schemmer
Darci O Rulapaugh
Maisha X Caudy
Jennifer B Inouye
Stacey T Ostrosky
Wickens I Rulapaugh
Mayumi U Vocelka
Morrow H Ostrosky
Jennifer E Stenseth
James M Stockham
Misaki J Ruta
Emily U Garufi
Maisha C Venere
Greenwood R Perin
Adams Z Malet
Clifford Q Whobrey
Faith V Briddick
Jones W Schemmer
Maisha E Ferencz
Leja F Tollner
Jefferson T Gaucho
Wickens M Paprocki
Julie R Waycott
Juan E Vocelka
Stacey M Malet
Deepesh M Albares
Greenwood B Foller
Munro O Rulapaugh
Isabel E Schemmer
Arvin J Chui
Emily I Poquette
Julie H Darakjy
Leon H Sergi
Mujtaba E Slusarski
Mujtaba J Whobrey
Munro O Saylors
Nicolas O Ostrosky
Ricardo P Nestle
Silvio U Whobrey
Francesco Y Albares
Leja U Wieser
Chavez H Schemmer
Maisha P Iturbide
Clifford Y Wieser
Octavia U Figeroa
Alejandro F Stenseth
IdCountryDate
1000Germany2026-08-20
1001Canada2026-08-05
1002Spain2026-08-16
1003Argentina2026-08-25
1004Brazil2026-08-25
1005Argentina2026-08-24
1006Japan2026-08-15
1007Canada2026-08-16
1008Russia2026-08-05
1009Russia2026-08-05
1010Canada2026-08-11
1011India2026-09-02
1012Italy2026-08-11
1013Canada2026-08-22
1014Brazil2026-09-02
1015India2026-08-22
1016Brazil2026-08-14
1017Australia2026-08-09
1018Australia2026-08-14
1019Brazil2026-08-19
1020France2026-09-01
1021Spain2026-08-25
1022Argentina2026-08-26
1023Australia2026-08-31
1024Japan2026-08-27
1025Argentina2026-08-22
1026Japan2026-08-19
1027Canada2026-08-05
1028India2026-08-27
1029United Kingdom2026-08-19
1030Argentina2026-08-09
1031Canada2026-08-20
1032Russia2026-09-01
1033Japan2026-08-22
1034France2026-08-24
1035Australia2026-08-05
1036France2026-08-14
1037Japan2026-08-13
1038France2026-08-15
1039Brazil2026-08-09
1040Argentina2026-08-17
1041Argentina2026-08-10
1042Japan2026-09-01
1043Australia2026-08-16
1044Russia2026-08-22
1045Japan2026-08-17
1046Canada2026-08-11
1047Canada2026-08-19
1048Argentina2026-08-21
1049Canada2026-08-20

On-Demand Data

NameIdCountryDate
Rodrigues X Bowley1000Canada2026-08-05
Ivar P Whobrey1001Canada2026-08-15
Faith W Figeroa1002Russia2026-08-15
Claire C Darakjy1003Spain2026-08-21
Darci X Butt1004Brazil2026-08-11
David U Paprocki1005Japan2026-08-30
Julie S Malet1006Brazil2026-08-14
Misaki R Glick1007Russia2026-08-27
Costa S Sergi1008Japan2026-08-09
Claire E Chui1009Spain2026-08-30
Emily Z Dilliard1010Brazil2026-08-15
Clifford L Royster1011Canada2026-08-25
Munro Z Stenseth1012Canada2026-09-02
Clifford Y Saylors1013Germany2026-08-09
Murillo N Stockham1014Russia2026-08-12
Murillo W Ferencz1015Spain2026-08-28
Costa G Whobrey1016Brazil2026-08-05
Ivar Y Nicka1017Australia2026-08-16
Leja S Iturbide1018India2026-08-06
Costa G Nicka1019Germany2026-08-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro U PaprockiItalyAnna Fali NEGOTIATION
Rodrigues R CaudyIndiaAnna Fali QUALIFIED
Ashley M PaprockiUnited KingdomIoni Bowcher PROPOSAL
Smith R OstroskyBrazilAmy Elsner RENEWAL
Aruna M SergiUnited KingdomAsiya Javayant NEW
Maria I RutaJapanAsiya Javayant PROPOSAL
Claire S ChuiRussiaAsiya Javayant NEW
Izzy D PerinItalyXuxue Feng UNQUALIFIED
Claire P StockhamArgentinaElwin Sharvill RENEWAL
Aika U PaprockiUnited KingdomIoni Bowcher QUALIFIED
Chavez C WaycottSpainIoni Bowcher QUALIFIED
Deepesh Y WaycottIndiaAsiya Javayant UNQUALIFIED
Octavia W InouyeArgentinaBernardo Dominic NEGOTIATION
Emily Q FollerFranceIvan Magalhaes QUALIFIED
Alejandro S SchemmerRussiaAmy Elsner NEGOTIATION
Johnson W TollnerAustraliaBernardo Dominic NEW
Chavez D InouyeSpainStephen Shaw NEW
Jennifer B GarufiArgentinaOnyama Limba UNQUALIFIED
Misaki B ChuiJapanStephen Shaw QUALIFIED
Ivar G SchemmerItalyAnna Fali RENEWAL
Kaitlin C BologniaItalyAmy Elsner UNQUALIFIED
Maria J SchemmerFranceElwin Sharvill RENEWAL
Faith V MarrierGermanyXuxue Feng PROPOSAL
Francesco Y GillianFranceOnyama Limba PROPOSAL
Jeanfrancois U MaletCanadaAmy Elsner PROPOSAL
Morrow S PerinRussiaIvan Magalhaes UNQUALIFIED
Leon R CampainFranceStephen Shaw QUALIFIED
Isabel E FigeroaFranceIoni Bowcher RENEWAL
Clifford W WieserSpainXuxue Feng NEGOTIATION
Sinclair H AmigonAustraliaAmy Elsner NEGOTIATION
Johnson E AlbaresIndiaAnna Fali NEGOTIATION
Kaitlin A KuskoUnited KingdomStephen Shaw QUALIFIED
Jones R StensethFranceStephen Shaw QUALIFIED
Jeanfrancois J FerenczBrazilXuxue Feng NEW
David W BowleyCanadaAmy Elsner NEGOTIATION
Aika D CaldareraArgentinaStephen Shaw NEGOTIATION
Johnson V RoysterSpainStephen Shaw PROPOSAL
Chavez P AmigonUnited KingdomAmy Elsner QUALIFIED
Adams Y IturbideIndiaAsiya Javayant RENEWAL
Jones X PerinBrazilBernardo Dominic 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>