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
Rodrigues W CampainArgentinaBernardo Dominic PROPOSAL
Greenwood W VocelkaAustraliaAmy Elsner PROPOSAL
Wickens T MaletItalyBernardo Dominic NEW
Aika Q MarrierIndiaBernardo Dominic NEGOTIATION
Maisha C MaletFranceIvan Magalhaes PROPOSAL
Isabel B CaudyUnited KingdomAsiya Javayant NEW
Clifford M ChuiRussiaIvan Magalhaes NEGOTIATION
Munro L MaletSpainBernardo Dominic NEW
Maisha Y CaldareraRussiaAnna Fali NEGOTIATION
Ashley P ChuiRussiaIvan Magalhaes RENEWAL
Mujtaba K MacleadRussiaAsiya Javayant PROPOSAL
Mujtaba X RulapaughSpainAnna Fali NEW
Isabel F BowleyItalyXuxue Feng UNQUALIFIED
Greenwood G SchemmerArgentinaAnna Fali NEW
Claire E SaylorsFranceOnyama Limba NEGOTIATION
David I MorascaCanadaIoni Bowcher PROPOSAL
Octavia J RutaCanadaXuxue Feng RENEWAL
Jefferson O MaletBrazilAsiya Javayant UNQUALIFIED
Julie T ShinkoRussiaBernardo Dominic UNQUALIFIED
Murillo G WhobreyRussiaStephen Shaw NEW
Kadeem F ButtUnited KingdomXuxue Feng NEGOTIATION
Tony K MarrierCanadaAnna Fali PROPOSAL
Leja Q MarrierAustraliaOnyama Limba UNQUALIFIED
Stacey C KuskoGermanyAmy Elsner PROPOSAL
Wickens J NickaFranceAnna Fali PROPOSAL
Silvio Q MorascaArgentinaOnyama Limba UNQUALIFIED
Julie W StockhamJapanBernardo Dominic UNQUALIFIED
Silvio B NickaFranceElwin Sharvill NEGOTIATION
Silvio K OldroydIndiaAsiya Javayant PROPOSAL
Darci J SergiRussiaElwin Sharvill RENEWAL
Chavez E AlbaresGermanyAnna Fali PROPOSAL
Arvin I DarakjyAustraliaBernardo Dominic NEW
Ricardo L MacleadRussiaElwin Sharvill UNQUALIFIED
Aika T SaylorsJapanIoni Bowcher PROPOSAL
Faith K MaletArgentinaXuxue Feng RENEWAL
Morrow Z KuskoFranceAnna Fali NEW
Adams Y RimIndiaIoni Bowcher QUALIFIED
James L VenereRussiaStephen Shaw UNQUALIFIED
Johnson X RoysterRussiaAsiya Javayant NEW
Murillo C OldroydItalyElwin Sharvill QUALIFIED
Leja H NestleRussiaOnyama Limba QUALIFIED
Julie V BowleyAustraliaAsiya Javayant RENEWAL
Darci J GauchoAustraliaIvan Magalhaes NEW
Kaitlin O SchemmerJapanAnna Fali RENEWAL
Greenwood N NestleItalyAsiya Javayant NEW
Clifford V GarufiCanadaOnyama Limba PROPOSAL
Murillo B CaudyJapanOnyama Limba PROPOSAL
Chavez Z IturbideBrazilIvan Magalhaes QUALIFIED
Johnson R FerenczFranceAsiya Javayant NEW
Greenwood A MaletItalyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo R NickaIndiaIoni Bowcher NEW
Juan T AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel R NestleRussiaOnyama Limba NEW
Chavez C GillianCanadaBernardo Dominic NEGOTIATION
Stacey H DilliardBrazilXuxue Feng QUALIFIED
James L CaudyFranceStephen Shaw NEGOTIATION
Tony F FlosiBrazilAnna Fali NEW
Cody X CampainGermanyAmy Elsner PROPOSAL
Morrow A ShinkoItalyElwin Sharvill NEW
Antonio I ChuiFranceStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy H SchemmerItaly2026-07-09Chemel, James L Cpa PROPOSAL58Stephen Shaw
1001Arvin J MacleadJapan2026-07-26Feltz Printing Service NEGOTIATION43Amy Elsner
1002Antonio B TollnerUnited Kingdom2026-07-14Dorl, James J Esq NEW96Anna Fali
1003Johnson Z MaletRussia2026-07-13Feltz Printing Service NEW93Ioni Bowcher
1004Sinclair D RoysterAustralia2026-07-30Buckley Miller Wright UNQUALIFIED43Asiya Javayant
1005Darci Z MacleadArgentina2026-07-07Feiner Bros PROPOSAL56Onyama Limba
1006Maria T NickaAustralia2026-07-04Feltz Printing Service NEGOTIATION69Elwin Sharvill
1007Arvin T NestleGermany2026-07-24King, Christopher A Esq NEW6Stephen Shaw
1008Munro Y VocelkaFrance2026-07-07Rangoni Of Florence UNQUALIFIED78Elwin Sharvill
1009Sinclair Y WaycottSpain2026-07-09Printing Dimensions QUALIFIED13Amy Elsner
1010David K BologniaAustralia2026-07-29Rousseaux, Michael Esq QUALIFIED1Xuxue Feng
1011Arvin Z AmigonIndia2026-07-13Dorl, James J Esq UNQUALIFIED34Xuxue Feng
1012Ivar N IturbideJapan2026-07-24Chapman, Ross E Esq NEGOTIATION44Stephen Shaw
1013Murillo N BowleyRussia2026-07-17Chemel, James L Cpa QUALIFIED44Bernardo Dominic
1014Jefferson X GarufiBrazil2026-07-06Chemel, James L Cpa NEW52Bernardo Dominic
1015Darci R GillianUnited Kingdom2026-07-30Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1016Morrow A IturbideArgentina2026-07-07Chemel, James L Cpa NEGOTIATION81Xuxue Feng
1017Rodrigues Y VocelkaFrance2026-07-24Rousseaux, Michael Esq PROPOSAL48Anna Fali
1018Jefferson O KuskoSpain2026-07-17Rousseaux, Michael Esq UNQUALIFIED8Ioni Bowcher
1019Emily R FollerJapan2026-08-02Commercial Press NEGOTIATION62Asiya Javayant
1020Leja K PerinRussia2026-07-27King, Christopher A Esq RENEWAL29Asiya Javayant
1021Maria O RulapaughRussia2026-07-27Morlong Associates UNQUALIFIED76Amy Elsner
1022Kadeem L CampainIndia2026-07-29Buckley Miller Wright NEW19Stephen Shaw
1023Costa W BriddickItaly2026-07-16Feiner Bros PROPOSAL8Ioni Bowcher
1024Cody S TollnerFrance2026-07-12Feltz Printing Service NEGOTIATION79Onyama Limba
1025Adams L RimAustralia2026-07-14Chemel, James L Cpa PROPOSAL97Anna Fali
1026Darci Y KuskoAustralia2026-07-25Feiner Bros NEGOTIATION80Amy Elsner
1027Salvatore H RulapaughCanada2026-07-28Rangoni Of Florence NEGOTIATION67Elwin Sharvill
1028Aika X StensethCanada2026-07-22Truhlar And Truhlar Attys UNQUALIFIED74Stephen Shaw
1029Stacey T ChuiIndia2026-07-21Morlong Associates RENEWAL22Ioni Bowcher
1030Clifford O DarakjyItaly2026-07-21Chemel, James L Cpa RENEWAL65Asiya Javayant
1031Nicolas K GillianAustralia2026-07-25Printing Dimensions PROPOSAL15Ivan Magalhaes
1032Wickens H VocelkaFrance2026-07-16King, Christopher A Esq RENEWAL61Anna Fali
1033Aditya S CaldareraUnited Kingdom2026-07-19Chanay, Jeffrey A Esq NEW32Elwin Sharvill
1034Cody L FollerSpain2026-07-21Morlong Associates PROPOSAL67Xuxue Feng
1035Maria I RutaRussia2026-07-23Rangoni Of Florence QUALIFIED40Bernardo Dominic
1036Johnson Q VocelkaArgentina2026-07-30Dorl, James J Esq NEGOTIATION33Anna Fali
1037Aditya R KolmetzGermany2026-07-05Commercial Press QUALIFIED17Asiya Javayant
1038Maria F MaletArgentina2026-07-12Buckley Miller Wright NEW13Asiya Javayant
1039Aika M ChuiArgentina2026-07-25Morlong Associates PROPOSAL87Onyama Limba
1040Morrow O MacleadIndia2026-07-05Benton, John B Jr RENEWAL60Xuxue Feng
1041Nicolas M OstroskyFrance2026-07-21Printing Dimensions QUALIFIED13Elwin Sharvill
1042Greenwood E VocelkaBrazil2026-07-13Rangoni Of Florence PROPOSAL50Xuxue Feng
1043Munro O PoquetteAustralia2026-07-12Chemel, James L Cpa PROPOSAL27Stephen Shaw
1044Tony W PerinAustralia2026-07-29Truhlar And Truhlar Attys NEGOTIATION95Bernardo Dominic
1045Tony L RulapaughCanada2026-07-16Printing Dimensions PROPOSAL41Elwin Sharvill
1046Jones O WieserRussia2026-07-08Chapman, Ross E Esq QUALIFIED8Anna Fali
1047Leja K DilliardArgentina2026-07-26Benton, John B Jr QUALIFIED91Bernardo Dominic
1048Ricardo K SchemmerIndia2026-07-07Rousseaux, Michael Esq RENEWAL79Onyama Limba
1049Jeanfrancois P GauchoJapan2026-07-13Rangoni Of Florence UNQUALIFIED59Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria U StensethUnited KingdomAmy Elsner NEW
Jefferson Y RimUnited KingdomIvan Magalhaes PROPOSAL
Ivar Z MaletUnited KingdomAmy Elsner QUALIFIED
Julie F WieserArgentinaAnna Fali NEGOTIATION
Emily T WhobreyIndiaIvan Magalhaes UNQUALIFIED
Johnson A DilliardSpainAmy Elsner NEGOTIATION
Aruna D VocelkaBrazilOnyama Limba UNQUALIFIED
Sinclair X MacleadSpainOnyama Limba NEW
Adams G ShinkoGermanyBernardo Dominic NEGOTIATION
Ivar W GlickGermanyOnyama Limba UNQUALIFIED
Arvin G BologniaSpainOnyama Limba NEGOTIATION
Faith L VocelkaAustraliaIvan Magalhaes NEW
Aruna J MacleadUnited KingdomAsiya Javayant NEW
Isabel T GarufiRussiaXuxue Feng UNQUALIFIED
Antonio B DarakjyItalyBernardo Dominic NEW
Jennifer T PoquetteFranceIoni Bowcher NEGOTIATION
Jeanfrancois J ButtRussiaStephen Shaw PROPOSAL
Kaitlin S SchemmerJapanAnna Fali UNQUALIFIED
Chavez W KuskoSpainAmy Elsner NEW
Leon I SlusarskiArgentinaElwin Sharvill RENEWAL
Alejandro W StockhamCanadaStephen Shaw PROPOSAL
Cody Y RulapaughBrazilAmy Elsner UNQUALIFIED
Octavia J VocelkaItalyAsiya Javayant NEGOTIATION
Jones G StockhamItalyXuxue Feng NEW
Alejandro F MacleadGermanyOnyama Limba NEGOTIATION
Kadeem H FerenczSpainBernardo Dominic UNQUALIFIED
Johnson U OstroskyIndiaOnyama Limba PROPOSAL
Ricardo J PerinGermanyIoni Bowcher RENEWAL
Aditya G MaletJapanIvan Magalhaes QUALIFIED
Alejandro F WieserItalyBernardo Dominic NEGOTIATION
Aditya R ShinkoArgentinaElwin Sharvill NEGOTIATION
Cody H VenereIndiaIvan Magalhaes NEW
Cody F AlbaresArgentinaIvan Magalhaes NEGOTIATION
Murillo E MarrierJapanBernardo Dominic RENEWAL
Rodrigues V FlosiFranceStephen Shaw RENEWAL
Antonio G KuskoCanadaOnyama Limba UNQUALIFIED
Tony K NickaJapanOnyama Limba NEGOTIATION
Murillo A MorascaArgentinaStephen Shaw RENEWAL
Murillo E WieserCanadaOnyama Limba NEW
Mayumi U WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Aruna C BriddickArgentinaOnyama Limba NEGOTIATION
David R DilliardAustraliaBernardo Dominic NEW
Julie I FollerItalyIoni Bowcher UNQUALIFIED
Emily B RulapaughJapanAmy Elsner NEW
Leja I RoysterSpainStephen Shaw PROPOSAL
Alejandro B SergiSpainElwin Sharvill NEGOTIATION
Tony Z KuskoRussiaStephen Shaw PROPOSAL
Maisha T NickaArgentinaBernardo Dominic PROPOSAL
Morrow I SchemmerArgentinaXuxue Feng NEW
Aditya J SaylorsAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Jones A Dilliard
Antonio O Butt
Ivar S Gillian
Jeanfrancois D Slusarski
Jefferson U Rim
Jennifer U Bowley
Arvin F Venere
David R Albares
Murillo E Ferencz
Clifford R Slusarski
Silvio K Rulapaugh
Wickens E Ferencz
Isabel C Glick
Claire F Garufi
Claire H Stockham
Aika Q Maclead
Jefferson V Kusko
Izzy O Doe
Murillo X Dilliard
Salvatore A Gillian
Francesco V Campain
Octavia K Ostrosky
Ricardo C Malet
Mujtaba C Bowley
Sinclair D Caudy
Wickens V Vocelka
Silvio I Whobrey
Leja F Doe
Juan N Glick
Emily K Kusko
Jones H Ferencz
Munro O Vocelka
Costa V Slusarski
Leja L Stenseth
David J Butt
Deepesh Q Nestle
Leon L Gillian
Aditya U Ferencz
Johnson W Venere
Greenwood E Malet
Faith O Schemmer
Faith J Perin
Murillo L Inouye
Darci B Dilliard
Deepesh F Inouye
Faith J Bolognia
Chavez A Vocelka
Kadeem Z Amigon
Claire W Kolmetz
Leon D Iturbide
IdCountryDate
1000Brazil2026-07-26
1001Canada2026-07-26
1002Brazil2026-08-01
1003Germany2026-07-06
1004India2026-07-05
1005Canada2026-07-13
1006Germany2026-07-14
1007Japan2026-07-24
1008Brazil2026-07-22
1009Germany2026-08-01
1010India2026-07-10
1011Russia2026-07-21
1012Spain2026-07-22
1013Australia2026-07-10
1014Russia2026-08-02
1015Canada2026-07-16
1016France2026-07-14
1017Italy2026-07-05
1018United Kingdom2026-07-19
1019Italy2026-07-27
1020Spain2026-07-23
1021Australia2026-07-15
1022Russia2026-07-26
1023Argentina2026-07-09
1024Germany2026-07-09
1025Argentina2026-07-10
1026France2026-07-31
1027Spain2026-07-14
1028Argentina2026-07-09
1029Russia2026-07-11
1030Brazil2026-07-17
1031Brazil2026-07-23
1032United Kingdom2026-07-28
1033Italy2026-07-10
1034India2026-07-19
1035Spain2026-07-10
1036India2026-07-30
1037India2026-07-29
1038Germany2026-07-21
1039United Kingdom2026-07-18
1040Spain2026-07-26
1041Germany2026-07-09
1042Canada2026-07-24
1043Brazil2026-07-11
1044Argentina2026-07-27
1045Brazil2026-07-18
1046Japan2026-07-26
1047Argentina2026-07-16
1048Italy2026-08-01
1049France2026-07-20

On-Demand Data

NameIdCountryDate
Clifford K Venere1000Spain2026-07-31
Aditya A Tollner1001United Kingdom2026-07-22
Morrow Y Nestle1002Canada2026-07-14
Wickens C Caudy1003Spain2026-07-25
Misaki R Bowley1004United Kingdom2026-07-07
Morrow R Ruta1005India2026-08-02
Jeanfrancois Q Poquette1006France2026-07-27
Stacey Z Ferencz1007Australia2026-07-30
Mayumi A Stenseth1008France2026-07-24
Julie X Vocelka1009Japan2026-08-01
Sinclair S Morasca1010Germany2026-07-30
Darci N Chui1011France2026-07-29
Adams B Ferencz1012Spain2026-07-11
Mujtaba G Waycott1013Russia2026-07-12
Aditya L Nicka1014France2026-07-06
Juan Y Ruta1015Argentina2026-07-18
Maria Q Doe1016Italy2026-07-16
Tony B Ostrosky1017France2026-07-12
Jeanfrancois G Amigon1018Australia2026-07-12
Emily P Bolognia1019Japan2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire V TollnerAustraliaXuxue Feng RENEWAL
Alejandro J FigeroaAustraliaAmy Elsner PROPOSAL
Julie L FerenczSpainElwin Sharvill NEW
Adams A SaylorsRussiaOnyama Limba PROPOSAL
Jeanfrancois W RoysterCanadaAmy Elsner RENEWAL
Smith X SergiUnited KingdomXuxue Feng UNQUALIFIED
Chavez M RimIndiaIoni Bowcher PROPOSAL
Leja O InouyeSpainAmy Elsner UNQUALIFIED
Greenwood H BowleySpainBernardo Dominic UNQUALIFIED
Mayumi C InouyeArgentinaIoni Bowcher QUALIFIED
Wickens U CaudyAustraliaElwin Sharvill NEGOTIATION
Ivar L GlickUnited KingdomAnna Fali NEGOTIATION
Wickens D CaldareraItalyIoni Bowcher NEGOTIATION
Mayumi C FollerCanadaXuxue Feng NEW
Juan A CaldareraJapanStephen Shaw NEW
Maisha X MaletUnited KingdomAmy Elsner NEGOTIATION
Aruna M PoquetteSpainAnna Fali QUALIFIED
Tony P ButtGermanyStephen Shaw RENEWAL
Salvatore E PoquetteIndiaOnyama Limba NEGOTIATION
Isabel L BriddickArgentinaAnna Fali NEGOTIATION
Tony J WhobreyIndiaAsiya Javayant PROPOSAL
Mujtaba T ButtBrazilXuxue Feng NEGOTIATION
Adams L IturbideAustraliaIoni Bowcher NEW
Arvin Y ChuiRussiaXuxue Feng NEW
Silvio F DoeBrazilAmy Elsner NEGOTIATION
Leja R BowleyUnited KingdomXuxue Feng NEW
Jeanfrancois O VenereItalyStephen Shaw QUALIFIED
Aika F CaldareraArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois N PerinJapanAmy Elsner QUALIFIED
Francesco Q ChuiArgentinaAnna Fali NEGOTIATION
Mayumi R DilliardRussiaBernardo Dominic NEW
Izzy P WaycottUnited KingdomXuxue Feng PROPOSAL
Misaki D OstroskyGermanyXuxue Feng PROPOSAL
Jones V ButtArgentinaBernardo Dominic RENEWAL
Adams S CaldareraCanadaBernardo Dominic QUALIFIED
Mujtaba O MarrierGermanyIvan Magalhaes QUALIFIED
Greenwood W MorascaAustraliaAmy Elsner PROPOSAL
Jefferson S SchemmerRussiaOnyama Limba NEW
Morrow D ChuiArgentinaAnna Fali NEW
Aditya M FlosiFranceElwin Sharvill RENEWAL

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