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
Ashley N RimJapanBernardo Dominic NEGOTIATION
Rodrigues J CampainUnited KingdomXuxue Feng UNQUALIFIED
Silvio K NickaSpainIoni Bowcher UNQUALIFIED
Jones Q ShinkoUnited KingdomAmy Elsner PROPOSAL
Mayumi D CaudyArgentinaAnna Fali NEGOTIATION
Isabel A RimArgentinaAsiya Javayant RENEWAL
Claire X MacleadArgentinaBernardo Dominic UNQUALIFIED
Aika R OstroskyArgentinaAnna Fali NEGOTIATION
Smith A GillianArgentinaIvan Magalhaes RENEWAL
Faith V SchemmerUnited KingdomBernardo Dominic NEW
Chavez F BowleyBrazilBernardo Dominic PROPOSAL
Stacey S StockhamItalyBernardo Dominic NEW
Smith P GillianJapanElwin Sharvill NEW
Clifford P CaudyFranceAmy Elsner NEGOTIATION
Costa Z FigeroaJapanElwin Sharvill RENEWAL
Nicolas V BowleyRussiaElwin Sharvill NEGOTIATION
Francesco H BologniaFranceAsiya Javayant RENEWAL
Izzy P VenereCanadaIvan Magalhaes PROPOSAL
Isabel J MacleadJapanBernardo Dominic UNQUALIFIED
Stacey K MaletItalyBernardo Dominic PROPOSAL
Wickens Z NickaSpainAnna Fali PROPOSAL
Alejandro X SchemmerRussiaAmy Elsner UNQUALIFIED
Julie W MaletSpainAnna Fali NEW
Murillo A FigeroaGermanyIvan Magalhaes QUALIFIED
Maria K MarrierGermanyStephen Shaw NEGOTIATION
James W MarrierAustraliaElwin Sharvill PROPOSAL
Leja J FerenczCanadaIvan Magalhaes RENEWAL
Ricardo U BowleyIndiaIoni Bowcher PROPOSAL
Ricardo X GillianCanadaAnna Fali RENEWAL
Jones G IturbideSpainAmy Elsner RENEWAL
Jones N MorascaRussiaBernardo Dominic NEGOTIATION
Cody F IturbideRussiaStephen Shaw RENEWAL
Nicolas H ChuiJapanXuxue Feng UNQUALIFIED
Salvatore V CaldareraFranceAmy Elsner PROPOSAL
Stacey J BriddickRussiaIoni Bowcher RENEWAL
Darci R GauchoSpainAsiya Javayant NEGOTIATION
Munro A AlbaresGermanyAsiya Javayant PROPOSAL
Antonio Y BowleyUnited KingdomElwin Sharvill PROPOSAL
Kaitlin B NickaUnited KingdomStephen Shaw QUALIFIED
Darci Y BologniaCanadaAsiya Javayant QUALIFIED
Misaki A MarrierGermanyElwin Sharvill PROPOSAL
Deepesh M CaldareraFranceBernardo Dominic UNQUALIFIED
Izzy C RoysterCanadaOnyama Limba PROPOSAL
Juan R BologniaCanadaStephen Shaw QUALIFIED
Salvatore U SlusarskiJapanAnna Fali UNQUALIFIED
Emily I StockhamJapanIvan Magalhaes NEW
Leon J FlosiArgentinaXuxue Feng PROPOSAL
Leon E DarakjyBrazilStephen Shaw RENEWAL
Ivar E OldroydJapanAsiya Javayant NEGOTIATION
Clifford P StockhamRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco A GlickArgentinaAmy Elsner NEW
Kadeem X MacleadJapanBernardo Dominic PROPOSAL
Smith Y MacleadSpainAnna Fali QUALIFIED
Juan U DilliardCanadaIoni Bowcher PROPOSAL
Ashley S KuskoRussiaXuxue Feng PROPOSAL
Mayumi I SlusarskiArgentinaAmy Elsner NEGOTIATION
Smith L InouyeFranceIoni Bowcher NEW
Jennifer Z AmigonJapanAnna Fali NEGOTIATION
Alejandro H GauchoBrazilAnna Fali NEGOTIATION
Claire D MarrierItalyStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson S WaycottCanada2026-07-03Chapman, Ross E Esq RENEWAL76Amy Elsner
1001Ivar G CaldareraRussia2026-07-03Benton, John B Jr QUALIFIED71Bernardo Dominic
1002Costa E WieserIndia2026-06-29Commercial Press NEGOTIATION10Bernardo Dominic
1003Silvio R FerenczJapan2026-06-27Chanay, Jeffrey A Esq RENEWAL90Ioni Bowcher
1004Kaitlin Q MarrierAustralia2026-07-04Printing Dimensions PROPOSAL23Xuxue Feng
1005Isabel R DarakjyItaly2026-06-27Morlong Associates NEGOTIATION27Ioni Bowcher
1006Clifford U FollerItaly2026-06-22Dorl, James J Esq RENEWAL11Anna Fali
1007Johnson N GarufiArgentina2026-07-01Printing Dimensions NEGOTIATION78Amy Elsner
1008Sinclair P BologniaJapan2026-06-18King, Christopher A Esq UNQUALIFIED43Elwin Sharvill
1009Greenwood U InouyeFrance2026-06-09Printing Dimensions NEGOTIATION42Ivan Magalhaes
1010Jeanfrancois X RimFrance2026-06-10Dorl, James J Esq UNQUALIFIED63Xuxue Feng
1011Deepesh K MacleadFrance2026-06-14Dorl, James J Esq RENEWAL56Elwin Sharvill
1012Jeanfrancois K RimAustralia2026-06-13Truhlar And Truhlar Attys RENEWAL47Stephen Shaw
1013James A MorascaRussia2026-06-29Chemel, James L Cpa QUALIFIED67Elwin Sharvill
1014Smith Q RoysterIndia2026-07-05Printing Dimensions RENEWAL2Asiya Javayant
1015Munro L RoysterRussia2026-06-09Rangoni Of Florence PROPOSAL33Asiya Javayant
1016Morrow I GlickBrazil2026-06-14Rousseaux, Michael Esq PROPOSAL81Stephen Shaw
1017Rodrigues L MaletArgentina2026-07-07Chapman, Ross E Esq PROPOSAL20Asiya Javayant
1018Emily D WaycottFrance2026-07-02Rousseaux, Michael Esq QUALIFIED1Xuxue Feng
1019Stacey X RimItaly2026-06-20Chapman, Ross E Esq NEGOTIATION92Stephen Shaw
1020Maisha I FerenczJapan2026-07-01Dorl, James J Esq NEW0Ioni Bowcher
1021Faith G IturbideItaly2026-06-13Feiner Bros QUALIFIED79Ioni Bowcher
1022Deepesh O PerinSpain2026-06-24Feltz Printing Service RENEWAL76Amy Elsner
1023Aruna D DoeBrazil2026-06-16King, Christopher A Esq UNQUALIFIED18Bernardo Dominic
1024Kadeem H OldroydIndia2026-06-10Chapman, Ross E Esq UNQUALIFIED60Stephen Shaw
1025Clifford I CaudySpain2026-06-27Rangoni Of Florence PROPOSAL82Ioni Bowcher
1026Aruna J InouyeJapan2026-06-21Truhlar And Truhlar Attys QUALIFIED79Asiya Javayant
1027Aditya C KuskoFrance2026-07-06Buckley Miller Wright PROPOSAL74Stephen Shaw
1028Juan V RoysterItaly2026-06-28Benton, John B Jr UNQUALIFIED31Elwin Sharvill
1029Mujtaba P FerenczGermany2026-06-15Commercial Press NEGOTIATION0Xuxue Feng
1030Mujtaba U RoysterRussia2026-07-05Buckley Miller Wright RENEWAL56Stephen Shaw
1031Cody S BowleyRussia2026-07-01Rangoni Of Florence NEW50Ioni Bowcher
1032Ricardo I NickaUnited Kingdom2026-07-08Benton, John B Jr QUALIFIED12Asiya Javayant
1033Deepesh N MaletIndia2026-06-14Chapman, Ross E Esq UNQUALIFIED88Anna Fali
1034David L SergiGermany2026-07-01Chapman, Ross E Esq UNQUALIFIED95Amy Elsner
1035Francesco Q OstroskyGermany2026-07-04Chapman, Ross E Esq NEW7Asiya Javayant
1036Costa D PerinJapan2026-06-23Printing Dimensions NEGOTIATION62Xuxue Feng
1037Salvatore F ChuiAustralia2026-07-02Morlong Associates QUALIFIED38Elwin Sharvill
1038Isabel V PoquetteItaly2026-06-18Rangoni Of Florence UNQUALIFIED19Amy Elsner
1039Aruna C VocelkaFrance2026-06-29Commercial Press NEGOTIATION37Onyama Limba
1040Murillo B DilliardJapan2026-06-19Rousseaux, Michael Esq UNQUALIFIED6Xuxue Feng
1041Jennifer P DarakjyUnited Kingdom2026-06-10Buckley Miller Wright QUALIFIED44Xuxue Feng
1042Ashley S BologniaBrazil2026-06-25Chemel, James L Cpa NEGOTIATION69Anna Fali
1043Clifford L DoeJapan2026-06-14Chapman, Ross E Esq PROPOSAL65Asiya Javayant
1044Jefferson X PerinBrazil2026-07-07Buckley Miller Wright NEW89Onyama Limba
1045Alejandro W KolmetzIndia2026-07-01Truhlar And Truhlar Attys PROPOSAL57Onyama Limba
1046Wickens F ButtJapan2026-06-26Dorl, James J Esq RENEWAL2Elwin Sharvill
1047Jennifer B PaprockiArgentina2026-06-13King, Christopher A Esq QUALIFIED45Stephen Shaw
1048Cody X CaudyGermany2026-07-02Commercial Press UNQUALIFIED86Elwin Sharvill
1049Rodrigues D OldroydGermany2026-06-30Truhlar And Truhlar Attys NEW48Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar M FollerSpainIvan Magalhaes PROPOSAL
Mujtaba M SergiRussiaAnna Fali UNQUALIFIED
Maria L InouyeAustraliaAmy Elsner QUALIFIED
Emily Y MacleadJapanAmy Elsner UNQUALIFIED
Mayumi S GillianRussiaAnna Fali PROPOSAL
Tony D StockhamAustraliaAnna Fali UNQUALIFIED
Jeanfrancois X VenereIndiaOnyama Limba NEGOTIATION
Morrow S RoysterJapanXuxue Feng NEW
Aika E FollerUnited KingdomOnyama Limba NEW
Faith M DilliardGermanyAmy Elsner PROPOSAL
Stacey S ShinkoGermanyXuxue Feng PROPOSAL
Maria L ButtArgentinaStephen Shaw UNQUALIFIED
Jones H CampainUnited KingdomAmy Elsner NEW
Francesco R SergiItalyAnna Fali QUALIFIED
Wickens W PaprockiFranceAnna Fali PROPOSAL
Julie N CampainSpainXuxue Feng QUALIFIED
Clifford T FigeroaFranceIoni Bowcher QUALIFIED
Jennifer P KuskoRussiaAnna Fali PROPOSAL
Aika S BowleyCanadaAmy Elsner NEGOTIATION
Antonio J RoysterSpainOnyama Limba QUALIFIED
Munro H MorascaBrazilXuxue Feng RENEWAL
Julie U WieserCanadaOnyama Limba QUALIFIED
Ricardo D NickaSpainIoni Bowcher UNQUALIFIED
Murillo C IturbideSpainAnna Fali UNQUALIFIED
Izzy F TollnerUnited KingdomOnyama Limba NEGOTIATION
Tony N ShinkoCanadaElwin Sharvill NEGOTIATION
Ashley Z OstroskySpainXuxue Feng NEGOTIATION
Maisha H ShinkoIndiaOnyama Limba UNQUALIFIED
Adams H GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Cody X ButtIndiaStephen Shaw QUALIFIED
Johnson X IturbideCanadaElwin Sharvill QUALIFIED
Aika X SlusarskiItalyAnna Fali RENEWAL
Jefferson A CampainBrazilAnna Fali PROPOSAL
Maisha W OstroskyJapanXuxue Feng PROPOSAL
Juan H GillianIndiaIvan Magalhaes QUALIFIED
Ashley D FlosiBrazilXuxue Feng RENEWAL
Jones S KolmetzRussiaAmy Elsner PROPOSAL
Maisha G MarrierCanadaAnna Fali QUALIFIED
Faith G MacleadRussiaAmy Elsner NEW
Aika D MaletItalyXuxue Feng NEGOTIATION
Ivar F FigeroaFranceXuxue Feng UNQUALIFIED
Emily J SaylorsFranceAnna Fali QUALIFIED
Octavia F PoquetteRussiaAsiya Javayant NEGOTIATION
Juan V GauchoItalyStephen Shaw UNQUALIFIED
Leon K PoquetteItalyOnyama Limba NEW
David R BowleyUnited KingdomXuxue Feng NEGOTIATION
Stacey H PoquetteFranceOnyama Limba NEGOTIATION
Francesco N RutaAustraliaStephen Shaw UNQUALIFIED
Leja K MarrierArgentinaXuxue Feng RENEWAL
Cody A FollerCanadaBernardo Dominic PROPOSAL
Frozen Columns
Name
Smith T Maclead
Maria B Slusarski
Adams T Oldroyd
Isabel A Kolmetz
Kadeem V Iturbide
Deepesh I Rim
James Z Iturbide
Salvatore Z Kolmetz
Mujtaba V Perin
Ricardo A Rulapaugh
Julie H Doe
Isabel G Figeroa
Aditya J Maclead
Munro E Perin
Emily Q Campain
Claire I Inouye
Tony W Vocelka
Faith J Ferencz
Wickens X Inouye
Morrow C Vocelka
Ricardo I Oldroyd
James F Oldroyd
Murillo A Doe
Aditya T Paprocki
Jeanfrancois Y Albares
Octavia O Ruta
Jones P Poquette
Claire I Marrier
Aditya P Darakjy
Morrow B Stenseth
Isabel J Chui
Jefferson I Vocelka
Leja Y Malet
Alejandro T Figeroa
Leja Z Kusko
Francesco A Morasca
Ashley L Butt
Izzy R Nicka
Greenwood S Rulapaugh
Morrow J Malet
Adams S Iturbide
Juan M Perin
Leon H Briddick
Rodrigues M Ferencz
David I Briddick
Maisha I Perin
Faith F Paprocki
Claire N Perin
Jones D Wieser
James F Gaucho
IdCountryDate
1000United Kingdom2026-06-18
1001India2026-06-16
1002France2026-06-13
1003Brazil2026-06-10
1004Russia2026-07-05
1005India2026-06-12
1006Brazil2026-07-02
1007Italy2026-06-23
1008Russia2026-06-28
1009United Kingdom2026-06-11
1010Australia2026-07-02
1011Spain2026-06-21
1012Argentina2026-06-17
1013Argentina2026-06-29
1014France2026-06-14
1015Australia2026-06-12
1016Brazil2026-06-15
1017Japan2026-06-26
1018Spain2026-07-04
1019United Kingdom2026-07-05
1020Italy2026-06-14
1021France2026-07-05
1022Spain2026-06-26
1023Spain2026-06-10
1024India2026-07-02
1025United Kingdom2026-07-06
1026Japan2026-06-12
1027Germany2026-06-24
1028Japan2026-06-30
1029France2026-07-04
1030United Kingdom2026-06-30
1031Germany2026-07-04
1032Argentina2026-06-21
1033Canada2026-06-11
1034Argentina2026-06-15
1035Australia2026-07-02
1036India2026-06-24
1037Canada2026-06-16
1038Brazil2026-06-15
1039Brazil2026-06-29
1040Japan2026-07-08
1041Canada2026-07-06
1042United Kingdom2026-06-15
1043France2026-07-06
1044Argentina2026-06-17
1045France2026-06-13
1046Australia2026-06-17
1047Russia2026-07-03
1048Brazil2026-07-05
1049United Kingdom2026-06-30

On-Demand Data

NameIdCountryDate
Misaki G Doe1000Spain2026-07-05
Claire R Vocelka1001United Kingdom2026-06-19
Ivar L Chui1002Brazil2026-06-22
Darci V Royster1003Australia2026-06-14
David A Tollner1004Spain2026-07-06
James W Nestle1005Canada2026-06-20
David O Nestle1006Argentina2026-06-18
Silvio X Malet1007Brazil2026-07-01
Nicolas G Venere1008Australia2026-06-25
Claire E Bolognia1009Germany2026-06-18
Mujtaba F Stockham1010Argentina2026-06-20
Aditya A Campain1011Canada2026-06-26
David A Morasca1012Russia2026-07-04
Mujtaba O Caldarera1013Canada2026-06-29
Leon G Maclead1014France2026-06-27
Aruna Z Albares1015Germany2026-06-23
Leja K Schemmer1016Russia2026-06-25
Jennifer D Whobrey1017Australia2026-06-09
Alejandro F Bowley1018Italy2026-07-08
Aditya R Campain1019Canada2026-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha D IturbideJapanXuxue Feng NEGOTIATION
Izzy A GillianAustraliaIoni Bowcher UNQUALIFIED
Emily P FlosiItalyXuxue Feng PROPOSAL
Clifford X ChuiUnited KingdomAsiya Javayant NEW
Deepesh S BologniaFranceAmy Elsner UNQUALIFIED
Octavia J ButtSpainIoni Bowcher UNQUALIFIED
Kadeem J GarufiAustraliaStephen Shaw QUALIFIED
Morrow U VenereFranceStephen Shaw UNQUALIFIED
Nicolas B OldroydUnited KingdomElwin Sharvill QUALIFIED
Deepesh B FollerItalyAmy Elsner PROPOSAL
Isabel A BowleyRussiaBernardo Dominic NEGOTIATION
Morrow G WaycottArgentinaStephen Shaw NEW
Kadeem V ShinkoAustraliaBernardo Dominic PROPOSAL
Aruna R MaletFranceElwin Sharvill NEGOTIATION
Ivar A DoeItalyStephen Shaw PROPOSAL
Jones P RimAustraliaIoni Bowcher NEW
Murillo R OstroskyGermanyAsiya Javayant NEW
Ashley B MaletUnited KingdomOnyama Limba UNQUALIFIED
Mayumi L SergiGermanyStephen Shaw NEW
Clifford T ChuiArgentinaAsiya Javayant NEGOTIATION
Antonio U MarrierUnited KingdomAsiya Javayant NEW
Munro V KolmetzSpainElwin Sharvill NEW
Jennifer L SergiAustraliaAnna Fali NEW
Izzy F GauchoRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois Y IturbideSpainBernardo Dominic QUALIFIED
Jones V StensethJapanAmy Elsner UNQUALIFIED
Costa B NestleUnited KingdomXuxue Feng NEW
Cody X FollerGermanyIoni Bowcher PROPOSAL
Jones I DarakjyIndiaOnyama Limba PROPOSAL
Octavia C WaycottBrazilXuxue Feng RENEWAL
Clifford G FerenczIndiaOnyama Limba NEGOTIATION
Clifford E WieserJapanBernardo Dominic QUALIFIED
Mujtaba O ChuiIndiaElwin Sharvill NEW
Stacey S FlosiAustraliaStephen Shaw NEW
Jeanfrancois X NestleUnited KingdomElwin Sharvill NEW
Silvio T FerenczIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois N IturbideRussiaAsiya Javayant QUALIFIED
Isabel R StockhamSpainIoni Bowcher RENEWAL
Morrow H VenereSpainStephen Shaw RENEWAL
Sinclair U ShinkoSpainBernardo 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>