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
Juan Q FlosiSpainStephen Shaw NEW
Leon U RimItalyBernardo Dominic NEGOTIATION
Leon O ChuiIndiaIvan Magalhaes UNQUALIFIED
Julie L PerinCanadaAmy Elsner UNQUALIFIED
Faith K DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Costa B RoysterJapanIoni Bowcher NEGOTIATION
Francesco Q InouyeArgentinaAnna Fali NEGOTIATION
Jefferson W StockhamBrazilElwin Sharvill RENEWAL
Maria G AlbaresBrazilElwin Sharvill QUALIFIED
Claire S WieserCanadaAmy Elsner NEW
Stacey A VocelkaRussiaBernardo Dominic PROPOSAL
Aditya G CaldareraCanadaXuxue Feng PROPOSAL
Smith W IturbideJapanOnyama Limba UNQUALIFIED
Antonio F NestleUnited KingdomAnna Fali NEGOTIATION
Misaki Y OstroskyIndiaAnna Fali RENEWAL
Aika I GillianIndiaIoni Bowcher PROPOSAL
Murillo F RulapaughUnited KingdomStephen Shaw NEW
Antonio L ButtBrazilAnna Fali NEGOTIATION
Isabel L WhobreyAustraliaXuxue Feng NEGOTIATION
Stacey U FlosiSpainAmy Elsner QUALIFIED
Antonio G KolmetzIndiaElwin Sharvill NEGOTIATION
Deepesh O SchemmerCanadaAsiya Javayant RENEWAL
Francesco N FigeroaRussiaIoni Bowcher QUALIFIED
Darci V FollerGermanyOnyama Limba QUALIFIED
Francesco F BowleyAustraliaAmy Elsner PROPOSAL
Julie B FollerItalyOnyama Limba UNQUALIFIED
Emily P GauchoSpainAmy Elsner RENEWAL
Jennifer B BriddickIndiaBernardo Dominic PROPOSAL
James I MacleadFranceXuxue Feng QUALIFIED
Mayumi K ChuiJapanIoni Bowcher RENEWAL
Jennifer V BowleyAustraliaStephen Shaw RENEWAL
Antonio L IturbideFranceAmy Elsner PROPOSAL
Octavia I DarakjyJapanElwin Sharvill UNQUALIFIED
David W PoquetteGermanyAsiya Javayant NEGOTIATION
Julie L TollnerCanadaAnna Fali RENEWAL
Francesco F WaycottAustraliaOnyama Limba RENEWAL
Arvin W ChuiFranceIvan Magalhaes PROPOSAL
Stacey N KuskoSpainBernardo Dominic NEGOTIATION
Ivar Z WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Leja I SaylorsGermanyAsiya Javayant NEW
Ricardo D AlbaresSpainAnna Fali NEW
Jeanfrancois Z AmigonGermanyAnna Fali NEW
Chavez A SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba D RulapaughUnited KingdomOnyama Limba QUALIFIED
Jones Y SaylorsIndiaOnyama Limba NEGOTIATION
Morrow U GillianJapanAsiya Javayant NEGOTIATION
Maisha M SergiArgentinaBernardo Dominic PROPOSAL
Francesco P StensethIndiaBernardo Dominic QUALIFIED
Smith J OstroskyBrazilIoni Bowcher NEW
James L PoquetteBrazilAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie V CaudyArgentinaAsiya Javayant NEGOTIATION
Deepesh E GillianCanadaAsiya Javayant RENEWAL
Smith X InouyeAustraliaIvan Magalhaes NEGOTIATION
Juan N FollerBrazilElwin Sharvill NEW
Faith V WieserIndiaXuxue Feng UNQUALIFIED
Salvatore R MaletBrazilAsiya Javayant NEW
Ricardo C OldroydRussiaStephen Shaw NEW
Costa T FollerBrazilAnna Fali PROPOSAL
Sinclair W CaldareraItalyXuxue Feng UNQUALIFIED
Aditya L OldroydJapanStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas V GlickIndia2026-07-03Feiner Bros PROPOSAL98Asiya Javayant
1001Jeanfrancois R BologniaGermany2026-07-07Commercial Press NEW26Bernardo Dominic
1002Izzy G WaycottIndia2026-07-12Truhlar And Truhlar Attys NEW61Onyama Limba
1003Jennifer E GauchoItaly2026-07-06Chemel, James L Cpa NEW13Xuxue Feng
1004Aika N MarrierArgentina2026-07-16Commercial Press QUALIFIED26Asiya Javayant
1005Morrow K DarakjyBrazil2026-07-04Morlong Associates NEW97Asiya Javayant
1006Jefferson Q FerenczIndia2026-07-20Commercial Press NEW56Stephen Shaw
1007Alejandro R GauchoUnited Kingdom2026-07-22Printing Dimensions QUALIFIED20Ivan Magalhaes
1008Emily U VocelkaCanada2026-07-25Rousseaux, Michael Esq UNQUALIFIED19Amy Elsner
1009Morrow Z MaletItaly2026-07-03Commercial Press QUALIFIED12Stephen Shaw
1010Maisha M DilliardSpain2026-07-08Dorl, James J Esq RENEWAL62Ioni Bowcher
1011Mayumi L DilliardIndia2026-07-04Chemel, James L Cpa RENEWAL47Anna Fali
1012Rodrigues U CaldareraRussia2026-06-30Chanay, Jeffrey A Esq NEGOTIATION71Elwin Sharvill
1013Deepesh R DarakjyJapan2026-07-21Printing Dimensions NEGOTIATION71Ioni Bowcher
1014Octavia M GillianJapan2026-07-09Dorl, James J Esq QUALIFIED74Anna Fali
1015Julie N DarakjyGermany2026-07-15Chanay, Jeffrey A Esq RENEWAL89Asiya Javayant
1016Aditya Q AmigonBrazil2026-07-01King, Christopher A Esq RENEWAL20Stephen Shaw
1017Aruna S DilliardJapan2026-07-26Benton, John B Jr QUALIFIED75Ivan Magalhaes
1018Francesco E MorascaAustralia2026-07-24Printing Dimensions UNQUALIFIED25Stephen Shaw
1019David Q PoquetteCanada2026-07-12Buckley Miller Wright NEW19Ivan Magalhaes
1020Jones B MarrierArgentina2026-07-12Feltz Printing Service RENEWAL89Stephen Shaw
1021Ashley D SlusarskiArgentina2026-07-12Truhlar And Truhlar Attys NEGOTIATION98Anna Fali
1022Juan J StensethIndia2026-07-14Chemel, James L Cpa NEW73Onyama Limba
1023Smith Y PerinSpain2026-06-30Rangoni Of Florence QUALIFIED98Bernardo Dominic
1024Wickens T GillianItaly2026-07-21Chapman, Ross E Esq PROPOSAL43Anna Fali
1025Kaitlin O MorascaAustralia2026-07-22Truhlar And Truhlar Attys NEGOTIATION22Xuxue Feng
1026Emily P CampainGermany2026-07-13King, Christopher A Esq UNQUALIFIED3Ioni Bowcher
1027Alejandro T StockhamArgentina2026-07-01Truhlar And Truhlar Attys RENEWAL80Ivan Magalhaes
1028Mujtaba I StensethGermany2026-06-30Chanay, Jeffrey A Esq NEGOTIATION6Stephen Shaw
1029Chavez V TollnerRussia2026-07-04Chapman, Ross E Esq PROPOSAL81Elwin Sharvill
1030James A PerinAustralia2026-07-22Truhlar And Truhlar Attys UNQUALIFIED76Anna Fali
1031Claire D RimUnited Kingdom2026-07-05Chemel, James L Cpa NEGOTIATION64Elwin Sharvill
1032Juan V SaylorsRussia2026-07-15Feltz Printing Service UNQUALIFIED49Xuxue Feng
1033Emily Q AmigonFrance2026-07-13Chapman, Ross E Esq RENEWAL6Ioni Bowcher
1034Aruna K GarufiUnited Kingdom2026-07-01Printing Dimensions NEGOTIATION82Stephen Shaw
1035Leja K ButtArgentina2026-07-15Benton, John B Jr QUALIFIED16Amy Elsner
1036Rodrigues F KuskoCanada2026-07-07Feiner Bros QUALIFIED11Anna Fali
1037Juan T SlusarskiBrazil2026-07-07Rousseaux, Michael Esq PROPOSAL60Onyama Limba
1038Misaki P MarrierGermany2026-07-19Chapman, Ross E Esq NEW69Onyama Limba
1039Adams A DarakjyArgentina2026-07-28King, Christopher A Esq UNQUALIFIED35Xuxue Feng
1040Smith J CaldareraFrance2026-06-30Chemel, James L Cpa NEW90Anna Fali
1041Jones J ButtCanada2026-07-25Feiner Bros UNQUALIFIED82Amy Elsner
1042Nicolas V PerinCanada2026-07-02Dorl, James J Esq UNQUALIFIED8Amy Elsner
1043Sinclair A DilliardArgentina2026-07-26Chapman, Ross E Esq RENEWAL55Stephen Shaw
1044Juan L InouyeGermany2026-07-26Buckley Miller Wright QUALIFIED54Anna Fali
1045Greenwood Z FerenczAustralia2026-07-03King, Christopher A Esq NEW62Bernardo Dominic
1046Stacey J DilliardGermany2026-07-11Chapman, Ross E Esq RENEWAL59Onyama Limba
1047Emily D SergiArgentina2026-07-10King, Christopher A Esq QUALIFIED69Stephen Shaw
1048Stacey H ButtFrance2026-06-30Truhlar And Truhlar Attys PROPOSAL85Stephen Shaw
1049Ashley L MarrierSpain2026-07-01Benton, John B Jr RENEWAL53Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Costa Q SaylorsIndiaAsiya Javayant NEGOTIATION
Izzy J BriddickArgentinaStephen Shaw PROPOSAL
Leon M RoysterIndiaIvan Magalhaes PROPOSAL
Jennifer L MaletUnited KingdomIoni Bowcher UNQUALIFIED
Maria Z RoysterAustraliaStephen Shaw NEW
Ricardo A FollerCanadaIoni Bowcher PROPOSAL
David K WieserSpainAnna Fali RENEWAL
Izzy R RulapaughIndiaIoni Bowcher PROPOSAL
Johnson Q MaletCanadaAmy Elsner RENEWAL
Arvin H PaprockiArgentinaAsiya Javayant UNQUALIFIED
Clifford M SlusarskiCanadaAsiya Javayant QUALIFIED
Johnson N BologniaFranceOnyama Limba RENEWAL
Arvin M RulapaughSpainElwin Sharvill RENEWAL
Alejandro Q BriddickIndiaXuxue Feng RENEWAL
Isabel R RimSpainElwin Sharvill RENEWAL
Sinclair Z BriddickItalyOnyama Limba NEW
Tony Y CampainFranceIvan Magalhaes NEGOTIATION
Cody O CaldareraIndiaIvan Magalhaes RENEWAL
Kadeem P PerinJapanIoni Bowcher NEW
Jones I FlosiArgentinaAnna Fali UNQUALIFIED
Misaki P MorascaIndiaStephen Shaw NEW
Johnson P SlusarskiGermanyAnna Fali PROPOSAL
Stacey O MaletFranceOnyama Limba UNQUALIFIED
Ricardo B OldroydAustraliaIoni Bowcher NEW
Jennifer F CaldareraCanadaXuxue Feng NEGOTIATION
Aika W PerinBrazilAsiya Javayant UNQUALIFIED
Kadeem E ChuiArgentinaOnyama Limba NEW
Aditya E NickaIndiaStephen Shaw QUALIFIED
Greenwood Z GillianJapanXuxue Feng NEGOTIATION
Isabel F MaletIndiaAmy Elsner QUALIFIED
Ricardo N PaprockiUnited KingdomAnna Fali NEW
Mayumi W ShinkoCanadaElwin Sharvill UNQUALIFIED
Leja G ChuiRussiaIvan Magalhaes NEGOTIATION
Alejandro T GlickUnited KingdomStephen Shaw QUALIFIED
Silvio E RoysterAustraliaBernardo Dominic NEW
Ashley R SchemmerIndiaIvan Magalhaes UNQUALIFIED
Izzy A FerenczGermanyBernardo Dominic NEW
Aruna F MacleadRussiaElwin Sharvill NEW
Smith F MaletSpainElwin Sharvill NEW
Murillo Q CampainSpainBernardo Dominic UNQUALIFIED
Johnson J MarrierItalyAnna Fali PROPOSAL
Octavia H PerinIndiaXuxue Feng PROPOSAL
David P ChuiFranceStephen Shaw NEW
Leon Q KolmetzAustraliaOnyama Limba UNQUALIFIED
Jefferson G SlusarskiJapanAnna Fali PROPOSAL
Adams X GlickSpainAmy Elsner PROPOSAL
Jones E StockhamArgentinaOnyama Limba NEW
Leja G IturbideAustraliaIvan Magalhaes NEW
Nicolas K StockhamSpainXuxue Feng RENEWAL
Leja X DoeFranceAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Isabel V Perin
Kadeem L Kolmetz
Misaki V Royster
Kaitlin S Figeroa
Jeanfrancois P Doe
Aditya B Caldarera
Arvin M Bowley
Munro J Rulapaugh
Smith S Kusko
Adams Z Chui
Cody A Glick
David Q Nestle
Francesco U Rulapaugh
Arvin O Dilliard
Leon Y Nicka
Izzy O Ruta
Ricardo I Venere
Deepesh S Figeroa
Chavez X Campain
Tony Q Caldarera
Smith D Gaucho
Kadeem B Nicka
Nicolas X Gaucho
Aruna I Kolmetz
Wickens Z Amigon
Alejandro A Garufi
Claire Q Albares
Costa B Inouye
Juan C Butt
Leja R Gaucho
Adams K Garufi
Francesco E Wieser
Faith A Malet
Ashley X Marrier
Smith Z Slusarski
Julie O Sergi
Kadeem Y Albares
Alejandro L Glick
Maria K Saylors
Rodrigues O Foller
Sinclair B Rulapaugh
Alejandro Z Kolmetz
Munro C Oldroyd
Silvio Q Rulapaugh
David Y Kolmetz
Maria C Flosi
Silvio K Flosi
Cody C Garufi
Morrow H Slusarski
Octavia T Gaucho
IdCountryDate
1000Argentina2026-07-17
1001Germany2026-07-19
1002Russia2026-07-28
1003Spain2026-06-30
1004Australia2026-07-21
1005Argentina2026-07-21
1006Russia2026-07-10
1007Japan2026-06-30
1008Argentina2026-06-30
1009Spain2026-07-17
1010Argentina2026-07-08
1011United Kingdom2026-07-12
1012Brazil2026-07-22
1013India2026-07-23
1014Argentina2026-07-19
1015Spain2026-07-24
1016Germany2026-06-30
1017Italy2026-07-06
1018United Kingdom2026-07-12
1019France2026-07-10
1020United Kingdom2026-07-25
1021India2026-07-04
1022Russia2026-07-10
1023Spain2026-07-17
1024Brazil2026-07-14
1025Argentina2026-06-30
1026France2026-07-15
1027Italy2026-07-07
1028Spain2026-07-26
1029Argentina2026-07-06
1030Spain2026-07-09
1031France2026-07-06
1032Japan2026-07-13
1033India2026-07-17
1034France2026-06-30
1035Italy2026-07-05
1036France2026-07-13
1037United Kingdom2026-07-24
1038France2026-07-26
1039Canada2026-07-02
1040Japan2026-07-11
1041India2026-07-17
1042Australia2026-07-09
1043France2026-06-29
1044Italy2026-07-20
1045India2026-07-13
1046Australia2026-07-25
1047Japan2026-07-21
1048Russia2026-07-15
1049Australia2026-07-20

On-Demand Data

NameIdCountryDate
Kaitlin X Caudy1000France2026-07-20
Ivar E Gillian1001United Kingdom2026-07-14
Silvio Z Kusko1002Canada2026-07-16
Juan L Slusarski1003Spain2026-07-12
Tony W Bolognia1004Spain2026-07-24
Greenwood K Doe1005India2026-07-28
Salvatore Z Whobrey1006United Kingdom2026-07-01
Morrow O Ferencz1007United Kingdom2026-07-19
Mayumi B Rim1008Italy2026-07-26
David V Sergi1009Australia2026-07-23
James E Iturbide1010United Kingdom2026-07-05
Misaki R Ostrosky1011Spain2026-07-13
Salvatore X Whobrey1012Japan2026-07-07
Arvin U Gillian1013Germany2026-07-14
Isabel A Stockham1014Argentina2026-06-29
Octavia N Maclead1015Russia2026-07-10
Ashley J Maclead1016India2026-07-01
Ivar X Ruta1017France2026-06-30
Mujtaba H Malet1018Spain2026-07-02
Emily N Chui1019Russia2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas V GillianUnited KingdomStephen Shaw NEW
Darci N DarakjyCanadaAnna Fali UNQUALIFIED
Francesco L StensethBrazilStephen Shaw RENEWAL
Stacey U NestleSpainXuxue Feng UNQUALIFIED
Costa Q CampainFranceAmy Elsner QUALIFIED
Ricardo I CaldareraRussiaAsiya Javayant RENEWAL
Chavez P SergiAustraliaAnna Fali RENEWAL
Murillo B BriddickCanadaOnyama Limba UNQUALIFIED
Maisha T CaldareraRussiaStephen Shaw RENEWAL
Stacey T KuskoBrazilXuxue Feng RENEWAL
Ashley L IturbideGermanyAmy Elsner NEW
Izzy I NestleUnited KingdomElwin Sharvill PROPOSAL
Mayumi D DilliardSpainIvan Magalhaes NEGOTIATION
Chavez P RulapaughItalyAmy Elsner PROPOSAL
Clifford W RimFranceIoni Bowcher NEGOTIATION
David P GlickRussiaOnyama Limba RENEWAL
Mujtaba T RutaCanadaBernardo Dominic NEGOTIATION
Arvin H SchemmerCanadaElwin Sharvill QUALIFIED
David C DoeAustraliaBernardo Dominic NEW
Arvin H TollnerRussiaStephen Shaw NEW
Rodrigues Z WhobreyRussiaIvan Magalhaes NEGOTIATION
Francesco Z VocelkaGermanyXuxue Feng PROPOSAL
Cody D IturbideCanadaElwin Sharvill UNQUALIFIED
Kaitlin O CampainFranceStephen Shaw QUALIFIED
Ashley F CampainUnited KingdomElwin Sharvill PROPOSAL
Leon L BologniaArgentinaIoni Bowcher PROPOSAL
Aika R FlosiIndiaAsiya Javayant QUALIFIED
Mujtaba W StockhamSpainElwin Sharvill NEW
Deepesh A KolmetzIndiaAmy Elsner RENEWAL
Emily T ShinkoSpainAmy Elsner PROPOSAL
Izzy B AlbaresJapanAsiya Javayant QUALIFIED
Isabel O AlbaresIndiaXuxue Feng UNQUALIFIED
Costa T MorascaItalyAsiya Javayant QUALIFIED
Darci C SaylorsAustraliaAsiya Javayant QUALIFIED
Costa E ChuiFranceAmy Elsner NEGOTIATION
Jeanfrancois R SlusarskiRussiaBernardo Dominic RENEWAL
Maisha J VocelkaItalyStephen Shaw NEW
Chavez Z WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Tony A CaldareraJapanStephen Shaw QUALIFIED
Claire I TollnerItalyIvan Magalhaes 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>