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
Stacey S OldroydJapanIvan Magalhaes PROPOSAL
Jennifer E MorascaBrazilElwin Sharvill NEW
Faith A PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Aruna H FollerIndiaAnna Fali PROPOSAL
Octavia H MaletBrazilXuxue Feng PROPOSAL
Salvatore D ShinkoArgentinaBernardo Dominic PROPOSAL
James B RimRussiaAmy Elsner RENEWAL
James Y MorascaAustraliaXuxue Feng QUALIFIED
Isabel J StockhamBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois Z VenereSpainElwin Sharvill QUALIFIED
Maria T RutaItalyXuxue Feng NEGOTIATION
Arvin A BriddickArgentinaAmy Elsner RENEWAL
Smith O RimUnited KingdomIoni Bowcher QUALIFIED
Aruna N GillianArgentinaAmy Elsner UNQUALIFIED
Salvatore N DoeItalyAsiya Javayant PROPOSAL
Greenwood O VocelkaFranceElwin Sharvill QUALIFIED
Jefferson Q PaprockiBrazilXuxue Feng NEGOTIATION
Costa M GillianGermanyAmy Elsner PROPOSAL
Maisha A DarakjyArgentinaOnyama Limba QUALIFIED
Jefferson P StockhamArgentinaAsiya Javayant NEGOTIATION
Mayumi F DarakjyJapanAnna Fali PROPOSAL
Jeanfrancois W FollerSpainXuxue Feng RENEWAL
Smith U FigeroaItalyAnna Fali NEW
Aditya J ChuiBrazilBernardo Dominic QUALIFIED
Maisha P NestleItalyAsiya Javayant UNQUALIFIED
Aika Y VenereJapanAnna Fali NEGOTIATION
Maria J FigeroaIndiaOnyama Limba PROPOSAL
Aruna E GauchoFranceBernardo Dominic NEGOTIATION
Adams K RutaJapanAnna Fali PROPOSAL
Clifford Y ChuiUnited KingdomAsiya Javayant QUALIFIED
Leon J ButtFranceElwin Sharvill NEGOTIATION
James B NickaUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi V WieserUnited KingdomIoni Bowcher RENEWAL
Clifford D DarakjyFranceOnyama Limba PROPOSAL
Juan W MaletRussiaOnyama Limba NEGOTIATION
Jeanfrancois S CaldareraBrazilIoni Bowcher RENEWAL
Ricardo M FlosiSpainIvan Magalhaes QUALIFIED
Mujtaba T SlusarskiGermanyOnyama Limba NEGOTIATION
Rodrigues J StensethRussiaAnna Fali NEW
Cody H SchemmerJapanIoni Bowcher PROPOSAL
James O BriddickRussiaStephen Shaw UNQUALIFIED
Ivar V AlbaresSpainBernardo Dominic NEGOTIATION
Izzy Y ChuiRussiaAsiya Javayant QUALIFIED
Julie W BologniaUnited KingdomXuxue Feng RENEWAL
Francesco C MaletJapanElwin Sharvill NEGOTIATION
Leon Q CaudyRussiaElwin Sharvill RENEWAL
Juan M MacleadBrazilAmy Elsner UNQUALIFIED
Misaki B WaycottItalyAsiya Javayant QUALIFIED
Costa S FollerCanadaStephen Shaw RENEWAL
Clifford S KuskoRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore Q BowleyCanadaAmy Elsner NEW
Misaki W AlbaresArgentinaOnyama Limba UNQUALIFIED
Aika E FollerSpainOnyama Limba NEGOTIATION
Juan J OldroydBrazilAmy Elsner UNQUALIFIED
Izzy A BowleyUnited KingdomElwin Sharvill RENEWAL
Silvio N NickaAustraliaElwin Sharvill PROPOSAL
Maria Q BologniaIndiaOnyama Limba QUALIFIED
Alejandro R BologniaArgentinaAmy Elsner NEGOTIATION
Jones F ShinkoRussiaAsiya Javayant PROPOSAL
Rodrigues R CaudyBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem O ChuiGermany2026-07-29Feiner Bros PROPOSAL17Stephen Shaw
1001Emily M SchemmerGermany2026-07-20Rousseaux, Michael Esq NEGOTIATION65Elwin Sharvill
1002James Q KuskoItaly2026-07-12King, Christopher A Esq NEGOTIATION9Anna Fali
1003Julie R BriddickGermany2026-07-25Feiner Bros UNQUALIFIED43Amy Elsner
1004David L ChuiArgentina2026-08-05Dorl, James J Esq QUALIFIED33Bernardo Dominic
1005Misaki J GlickGermany2026-07-14Chanay, Jeffrey A Esq PROPOSAL15Amy Elsner
1006Izzy R MarrierAustralia2026-08-02Dorl, James J Esq NEW57Onyama Limba
1007Arvin M CaldareraArgentina2026-07-16Commercial Press NEW65Onyama Limba
1008Claire J CampainBrazil2026-07-11Morlong Associates NEGOTIATION87Ivan Magalhaes
1009Claire O MorascaRussia2026-07-10Dorl, James J Esq UNQUALIFIED67Amy Elsner
1010Ivar W DilliardGermany2026-07-22Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1011Misaki A GlickBrazil2026-08-04Rousseaux, Michael Esq PROPOSAL37Amy Elsner
1012Izzy C MaletSpain2026-07-11Rangoni Of Florence PROPOSAL87Amy Elsner
1013Ivar W DilliardFrance2026-07-20Chemel, James L Cpa UNQUALIFIED85Stephen Shaw
1014Claire I InouyeGermany2026-07-27King, Christopher A Esq NEGOTIATION81Ioni Bowcher
1015Adams I IturbideSpain2026-08-02Feltz Printing Service NEW52Onyama Limba
1016Clifford K SaylorsCanada2026-07-25Benton, John B Jr NEW79Onyama Limba
1017Arvin I VenereGermany2026-08-06Chanay, Jeffrey A Esq QUALIFIED97Stephen Shaw
1018Munro X FlosiGermany2026-07-30Feltz Printing Service PROPOSAL53Stephen Shaw
1019Jefferson U DarakjyCanada2026-07-16Chapman, Ross E Esq UNQUALIFIED24Xuxue Feng
1020David D RoysterCanada2026-08-03Buckley Miller Wright NEW44Ivan Magalhaes
1021Darci Z MaletJapan2026-07-13Commercial Press NEW96Anna Fali
1022Julie I FollerUnited Kingdom2026-07-29Benton, John B Jr PROPOSAL63Bernardo Dominic
1023Aditya Z PaprockiCanada2026-07-28Chanay, Jeffrey A Esq RENEWAL0Ioni Bowcher
1024Jones S OstroskyFrance2026-07-11Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1025Ashley G SchemmerRussia2026-07-27Feltz Printing Service NEW39Ivan Magalhaes
1026Kaitlin X SchemmerBrazil2026-08-02Chanay, Jeffrey A Esq NEW77Anna Fali
1027Emily W DoeArgentina2026-07-17Truhlar And Truhlar Attys UNQUALIFIED34Xuxue Feng
1028Tony V KuskoBrazil2026-07-24King, Christopher A Esq UNQUALIFIED57Ivan Magalhaes
1029Murillo B DoeBrazil2026-07-31Rangoni Of Florence PROPOSAL78Xuxue Feng
1030Julie A MaletSpain2026-07-14Rousseaux, Michael Esq RENEWAL44Onyama Limba
1031Isabel V MacleadIndia2026-07-11Chemel, James L Cpa NEW18Onyama Limba
1032Costa M BowleyRussia2026-08-07Feiner Bros PROPOSAL62Bernardo Dominic
1033Antonio I PerinAustralia2026-07-17Commercial Press RENEWAL9Stephen Shaw
1034Chavez F VocelkaIndia2026-07-16Chemel, James L Cpa NEW1Ivan Magalhaes
1035Antonio P CaudyUnited Kingdom2026-08-07Chapman, Ross E Esq NEW91Asiya Javayant
1036Murillo E ShinkoGermany2026-08-05Rangoni Of Florence UNQUALIFIED14Ivan Magalhaes
1037Mayumi U StockhamUnited Kingdom2026-07-20Chanay, Jeffrey A Esq NEGOTIATION0Anna Fali
1038Silvio B KuskoArgentina2026-07-27King, Christopher A Esq NEW24Anna Fali
1039Deepesh C FollerSpain2026-07-20Rangoni Of Florence UNQUALIFIED91Amy Elsner
1040Arvin M GlickBrazil2026-07-24Printing Dimensions NEW86Bernardo Dominic
1041Chavez V FollerUnited Kingdom2026-07-18Feiner Bros NEW36Onyama Limba
1042Misaki Q MacleadSpain2026-07-24Dorl, James J Esq UNQUALIFIED26Amy Elsner
1043Leon G CaldareraBrazil2026-08-06Morlong Associates QUALIFIED28Xuxue Feng
1044Francesco K FlosiCanada2026-07-16King, Christopher A Esq NEGOTIATION49Anna Fali
1045Jennifer X SergiSpain2026-07-28Feltz Printing Service QUALIFIED80Elwin Sharvill
1046Darci P ChuiItaly2026-07-16Commercial Press PROPOSAL91Anna Fali
1047Chavez V ShinkoJapan2026-07-09Rangoni Of Florence RENEWAL90Anna Fali
1048Murillo H VocelkaAustralia2026-07-17Printing Dimensions NEGOTIATION91Bernardo Dominic
1049Adams D CaldareraGermany2026-07-13Chemel, James L Cpa NEW21Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba S PoquetteCanadaAsiya Javayant RENEWAL
Aika X MaletArgentinaXuxue Feng QUALIFIED
Morrow R RimFranceIoni Bowcher NEGOTIATION
Juan F CampainJapanOnyama Limba UNQUALIFIED
Smith N ShinkoGermanyStephen Shaw RENEWAL
David E GarufiAustraliaXuxue Feng NEW
Mayumi R ShinkoBrazilXuxue Feng QUALIFIED
Alejandro Q WieserIndiaXuxue Feng NEGOTIATION
Isabel Q BriddickGermanyAmy Elsner QUALIFIED
Jones X IturbideRussiaStephen Shaw RENEWAL
Izzy G WieserAustraliaAnna Fali PROPOSAL
Smith L RimUnited KingdomElwin Sharvill QUALIFIED
Emily W FerenczUnited KingdomBernardo Dominic NEGOTIATION
Aika U GlickArgentinaAmy Elsner PROPOSAL
Leja B FlosiAustraliaIvan Magalhaes NEW
Faith B CampainCanadaIvan Magalhaes RENEWAL
Stacey T AmigonBrazilXuxue Feng PROPOSAL
Sinclair T WhobreyGermanyBernardo Dominic NEGOTIATION
Silvio S SergiAustraliaAmy Elsner PROPOSAL
Costa D SergiAustraliaXuxue Feng PROPOSAL
Tony Z MorascaItalyAmy Elsner UNQUALIFIED
Aruna E IturbideFranceElwin Sharvill RENEWAL
Jennifer Y FerenczCanadaAnna Fali NEW
Mujtaba R NickaItalyAmy Elsner QUALIFIED
Julie F DilliardSpainElwin Sharvill RENEWAL
Cody U IturbideFranceAsiya Javayant NEGOTIATION
Octavia R VenereRussiaOnyama Limba NEW
Ashley V RutaItalyXuxue Feng QUALIFIED
Aruna J NickaJapanElwin Sharvill NEGOTIATION
Francesco O RimFranceOnyama Limba UNQUALIFIED
Aruna H WieserBrazilAsiya Javayant UNQUALIFIED
Aruna K RutaArgentinaBernardo Dominic RENEWAL
Arvin V BologniaFranceOnyama Limba NEW
Ashley E VocelkaItalyAnna Fali NEW
Morrow T TollnerCanadaIoni Bowcher NEGOTIATION
Smith X AmigonFranceIvan Magalhaes QUALIFIED
Costa N MorascaBrazilAmy Elsner QUALIFIED
Mujtaba B RoysterBrazilIvan Magalhaes RENEWAL
Cody H WieserItalyIoni Bowcher RENEWAL
Arvin W DilliardBrazilAsiya Javayant NEGOTIATION
Silvio E PerinItalyAmy Elsner NEGOTIATION
Claire Z RulapaughRussiaOnyama Limba QUALIFIED
Ivar S WaycottBrazilIoni Bowcher RENEWAL
Mayumi B CaudyGermanyIvan Magalhaes NEGOTIATION
Chavez B RoysterCanadaIoni Bowcher RENEWAL
Munro C FollerIndiaXuxue Feng PROPOSAL
Adams H FerenczCanadaBernardo Dominic RENEWAL
Ivar U RutaJapanBernardo Dominic NEW
Claire J InouyeGermanyXuxue Feng QUALIFIED
Jennifer A CaldareraAustraliaStephen Shaw NEGOTIATION
Frozen Columns
Name
Mujtaba Q Malet
Kadeem E Gaucho
Deepesh Q Amigon
Kaitlin F Iturbide
Misaki O Campain
Mujtaba A Amigon
Maria R Kusko
Aruna X Oldroyd
Izzy Q Nicka
Ricardo K Ruta
Clifford C Inouye
Arvin W Rim
Julie C Royster
Cody E Briddick
Leja R Venere
Mujtaba C Inouye
Deepesh Y Maclead
Clifford Z Waycott
Silvio T Kolmetz
Misaki F Slusarski
Salvatore K Nicka
Izzy L Dilliard
Arvin U Paprocki
Sinclair R Rim
Cody W Venere
Maisha F Caudy
Ashley C Garufi
Kaitlin P Nestle
David U Sergi
Julie X Schemmer
Chavez A Flosi
Nicolas A Malet
Adams F Paprocki
Jennifer Q Tollner
Aditya N Rulapaugh
Darci M Bolognia
David N Saylors
Cody F Ostrosky
Maria M Paprocki
James E Kolmetz
Jeanfrancois H Ferencz
Mujtaba C Wieser
Isabel L Nicka
Mujtaba P Vocelka
Jeanfrancois P Morasca
Arvin Q Malet
Ricardo Z Butt
Johnson O Iturbide
Arvin B Gillian
Clifford Q Campain
IdCountryDate
1000Argentina2026-07-09
1001Canada2026-07-14
1002Argentina2026-07-30
1003Germany2026-08-07
1004India2026-07-17
1005Brazil2026-08-01
1006Brazil2026-08-05
1007Spain2026-07-27
1008Spain2026-07-09
1009Argentina2026-08-05
1010India2026-08-03
1011Germany2026-07-25
1012United Kingdom2026-08-01
1013Australia2026-07-30
1014United Kingdom2026-07-23
1015India2026-07-09
1016Australia2026-07-17
1017Spain2026-07-27
1018Australia2026-07-12
1019Spain2026-07-18
1020Spain2026-07-22
1021Canada2026-07-28
1022Japan2026-08-03
1023Australia2026-07-23
1024Australia2026-07-21
1025Canada2026-08-01
1026Germany2026-07-09
1027France2026-08-02
1028Argentina2026-08-03
1029Russia2026-07-20
1030France2026-07-26
1031Argentina2026-07-19
1032Brazil2026-07-19
1033India2026-07-27
1034Japan2026-07-13
1035Canada2026-07-28
1036Spain2026-07-14
1037France2026-07-10
1038United Kingdom2026-07-18
1039Brazil2026-07-28
1040France2026-07-16
1041France2026-07-22
1042Italy2026-07-11
1043United Kingdom2026-07-25
1044United Kingdom2026-07-09
1045Brazil2026-07-22
1046Brazil2026-07-11
1047Spain2026-07-23
1048Russia2026-07-18
1049Australia2026-08-07

On-Demand Data

NameIdCountryDate
Juan D Glick1000Argentina2026-07-09
Ivar C Figeroa1001Brazil2026-07-18
Isabel H Chui1002Russia2026-08-03
Cody V Malet1003India2026-07-17
Clifford Y Venere1004Russia2026-08-01
Faith T Gaucho1005United Kingdom2026-07-11
Misaki K Perin1006Italy2026-07-30
Octavia S Stenseth1007France2026-07-11
Johnson P Butt1008Germany2026-07-30
Maria S Gillian1009India2026-08-02
Maisha R Kusko1010Japan2026-07-10
Ivar X Campain1011Italy2026-07-30
Sinclair T Slusarski1012Spain2026-07-11
Deepesh P Figeroa1013United Kingdom2026-07-14
Tony B Wieser1014United Kingdom2026-07-17
Kaitlin Q Caudy1015Spain2026-08-03
Clifford Z Glick1016Japan2026-08-06
Izzy D Wieser1017India2026-07-12
Maisha Q Ostrosky1018Brazil2026-07-24
James F Nicka1019France2026-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore J VocelkaAustraliaXuxue Feng PROPOSAL
Jennifer F DarakjyAustraliaAnna Fali RENEWAL
Adams H SchemmerArgentinaIvan Magalhaes NEW
Claire I MaletBrazilAmy Elsner UNQUALIFIED
Kadeem J BologniaJapanIvan Magalhaes RENEWAL
Mujtaba G SlusarskiJapanAmy Elsner PROPOSAL
Faith R DoeUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer H ShinkoGermanyBernardo Dominic RENEWAL
Ricardo W CaudyGermanyAmy Elsner PROPOSAL
Jones P InouyeUnited KingdomIvan Magalhaes NEW
Silvio F KuskoJapanIoni Bowcher QUALIFIED
Tony C NickaRussiaBernardo Dominic NEGOTIATION
Izzy K RulapaughSpainOnyama Limba QUALIFIED
Greenwood L OldroydCanadaElwin Sharvill NEGOTIATION
Kaitlin B MaletIndiaAsiya Javayant QUALIFIED
Chavez C MaletFranceAsiya Javayant NEGOTIATION
Arvin Z PoquetteCanadaOnyama Limba PROPOSAL
Rodrigues B SaylorsCanadaXuxue Feng PROPOSAL
Greenwood N WieserAustraliaIvan Magalhaes NEW
Emily Q OldroydGermanyStephen Shaw RENEWAL
Octavia L PaprockiAustraliaAnna Fali UNQUALIFIED
Ivar U FlosiRussiaStephen Shaw UNQUALIFIED
Leon N MaletBrazilXuxue Feng RENEWAL
Julie S WieserBrazilStephen Shaw NEW
Ashley Y StockhamJapanAmy Elsner NEGOTIATION
Antonio Z KolmetzCanadaXuxue Feng NEW
Chavez M PerinItalyIvan Magalhaes QUALIFIED
Isabel R RulapaughBrazilElwin Sharvill NEGOTIATION
Costa H FollerArgentinaXuxue Feng UNQUALIFIED
Darci D VocelkaFranceBernardo Dominic NEW
Misaki A VocelkaBrazilElwin Sharvill RENEWAL
Cody M RoysterItalyXuxue Feng NEW
Darci U DilliardCanadaXuxue Feng RENEWAL
Juan S ButtArgentinaAnna Fali NEGOTIATION
Tony V VenereIndiaAsiya Javayant UNQUALIFIED
Costa F GauchoArgentinaOnyama Limba PROPOSAL
Mujtaba B MaletRussiaStephen Shaw UNQUALIFIED
Claire T KolmetzIndiaBernardo Dominic NEGOTIATION
Jefferson B CaldareraRussiaElwin Sharvill NEGOTIATION
Stacey C MorascaUnited KingdomStephen Shaw 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>