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
Faith A MarrierFranceAnna Fali RENEWAL
Murillo H KolmetzGermanyAmy Elsner NEGOTIATION
Tony H MorascaItalyAmy Elsner NEW
Cody H StockhamBrazilStephen Shaw NEW
Costa E PaprockiBrazilIvan Magalhaes NEW
Wickens X NickaGermanyBernardo Dominic NEW
James U SchemmerUnited KingdomXuxue Feng RENEWAL
Sinclair N InouyeArgentinaAnna Fali UNQUALIFIED
Mujtaba A PaprockiBrazilIvan Magalhaes NEGOTIATION
Octavia M SlusarskiGermanyBernardo Dominic NEGOTIATION
Julie X StensethItalyXuxue Feng NEW
Arvin V PaprockiCanadaElwin Sharvill UNQUALIFIED
Claire X FerenczArgentinaAsiya Javayant NEW
Antonio K RoysterJapanIoni Bowcher QUALIFIED
Rodrigues V WieserUnited KingdomXuxue Feng RENEWAL
Tony Q RoysterJapanStephen Shaw UNQUALIFIED
Arvin O FollerArgentinaBernardo Dominic UNQUALIFIED
Ashley C MacleadBrazilAsiya Javayant UNQUALIFIED
Claire Z BowleyRussiaElwin Sharvill QUALIFIED
Maria I SaylorsJapanBernardo Dominic PROPOSAL
Deepesh H PoquetteSpainIvan Magalhaes UNQUALIFIED
Costa G MorascaRussiaAmy Elsner UNQUALIFIED
Morrow X BowleyRussiaOnyama Limba PROPOSAL
James Y InouyeUnited KingdomIvan Magalhaes RENEWAL
Aditya I SchemmerBrazilStephen Shaw UNQUALIFIED
Emily E MorascaFranceAnna Fali UNQUALIFIED
Salvatore M OldroydBrazilStephen Shaw RENEWAL
Emily F OstroskyArgentinaStephen Shaw NEGOTIATION
Sinclair O KuskoArgentinaIvan Magalhaes QUALIFIED
Maria V DoeIndiaStephen Shaw RENEWAL
Arvin Z RutaCanadaXuxue Feng UNQUALIFIED
Kaitlin M IturbideItalyAmy Elsner UNQUALIFIED
Mayumi E NestleIndiaAsiya Javayant NEGOTIATION
Julie C CampainRussiaOnyama Limba QUALIFIED
Claire T GlickItalyOnyama Limba NEW
Misaki L VenereGermanyXuxue Feng QUALIFIED
Cody U FollerUnited KingdomIoni Bowcher RENEWAL
Antonio J SchemmerAustraliaElwin Sharvill QUALIFIED
Rodrigues I FollerArgentinaXuxue Feng NEGOTIATION
James F BowleyUnited KingdomStephen Shaw NEGOTIATION
Aruna U DoeIndiaStephen Shaw NEW
Leja J AmigonBrazilAnna Fali UNQUALIFIED
David E MacleadCanadaAmy Elsner NEW
Jennifer A ButtItalyBernardo Dominic PROPOSAL
Kaitlin S GlickRussiaAmy Elsner PROPOSAL
Isabel G ShinkoGermanyAnna Fali QUALIFIED
Izzy E FigeroaRussiaElwin Sharvill UNQUALIFIED
Jennifer V StockhamItalyBernardo Dominic UNQUALIFIED
Ashley A DarakjyIndiaAsiya Javayant NEW
Clifford Q PerinItalyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams S FlosiAustraliaElwin Sharvill NEW
Cody U BologniaJapanAsiya Javayant NEW
Julie I StockhamGermanyXuxue Feng PROPOSAL
James M SergiUnited KingdomIoni Bowcher UNQUALIFIED
Smith A SaylorsRussiaAnna Fali QUALIFIED
Costa R PoquetteItalyAmy Elsner PROPOSAL
Rodrigues M MarrierRussiaXuxue Feng UNQUALIFIED
Greenwood H MaletBrazilAnna Fali RENEWAL
Mujtaba D WhobreySpainAmy Elsner NEGOTIATION
Maisha I SchemmerItalyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh U MarrierBrazil2026-07-24Buckley Miller Wright NEW59Xuxue Feng
1001Darci P BologniaBrazil2026-07-23Chemel, James L Cpa NEGOTIATION21Anna Fali
1002Francesco I DarakjySpain2026-07-20Benton, John B Jr UNQUALIFIED56Xuxue Feng
1003Greenwood P StensethSpain2026-07-18Morlong Associates NEGOTIATION84Asiya Javayant
1004Kadeem N MaletGermany2026-08-04Chapman, Ross E Esq NEGOTIATION63Onyama Limba
1005Murillo W FigeroaGermany2026-07-23Printing Dimensions NEGOTIATION1Ivan Magalhaes
1006Misaki X OldroydJapan2026-07-26Buckley Miller Wright UNQUALIFIED47Elwin Sharvill
1007Jennifer Q TollnerJapan2026-07-31Commercial Press QUALIFIED51Ioni Bowcher
1008Leja H BologniaAustralia2026-07-21Chemel, James L Cpa QUALIFIED23Anna Fali
1009Johnson O DilliardCanada2026-07-30Feiner Bros QUALIFIED92Anna Fali
1010Julie V KuskoCanada2026-07-23Commercial Press NEGOTIATION11Onyama Limba
1011Julie Q MacleadRussia2026-07-15Feiner Bros NEGOTIATION72Stephen Shaw
1012Cody L FollerArgentina2026-07-16Buckley Miller Wright NEW62Ivan Magalhaes
1013Munro G BologniaItaly2026-08-02Feltz Printing Service PROPOSAL6Elwin Sharvill
1014Isabel A WaycottUnited Kingdom2026-07-17Chanay, Jeffrey A Esq PROPOSAL99Elwin Sharvill
1015Octavia B RimFrance2026-08-05Dorl, James J Esq PROPOSAL66Onyama Limba
1016Francesco H AmigonArgentina2026-07-25Benton, John B Jr PROPOSAL25Xuxue Feng
1017Kadeem T IturbideAustralia2026-07-15Chapman, Ross E Esq UNQUALIFIED52Bernardo Dominic
1018Adams V SaylorsItaly2026-08-03Rangoni Of Florence NEGOTIATION64Anna Fali
1019Antonio L RoysterRussia2026-07-28Dorl, James J Esq NEW98Asiya Javayant
1020Alejandro J RulapaughSpain2026-07-19Truhlar And Truhlar Attys NEW64Asiya Javayant
1021Silvio I TollnerArgentina2026-07-29Truhlar And Truhlar Attys NEGOTIATION94Stephen Shaw
1022Francesco L GlickFrance2026-07-12Chemel, James L Cpa QUALIFIED17Stephen Shaw
1023Murillo V DoeUnited Kingdom2026-08-02Buckley Miller Wright RENEWAL86Bernardo Dominic
1024Emily W FollerUnited Kingdom2026-07-20Feiner Bros RENEWAL57Onyama Limba
1025Nicolas H MorascaItaly2026-07-22Buckley Miller Wright PROPOSAL80Xuxue Feng
1026Aika O SlusarskiBrazil2026-07-31Benton, John B Jr NEW86Xuxue Feng
1027Munro X VenereUnited Kingdom2026-07-15Chemel, James L Cpa PROPOSAL34Elwin Sharvill
1028Johnson J SlusarskiAustralia2026-08-07Feiner Bros NEGOTIATION80Amy Elsner
1029Murillo A GarufiFrance2026-07-23Buckley Miller Wright NEGOTIATION62Anna Fali
1030Aruna G ChuiIndia2026-08-04Rousseaux, Michael Esq QUALIFIED48Anna Fali
1031Octavia M CampainRussia2026-07-18Rousseaux, Michael Esq PROPOSAL9Stephen Shaw
1032Arvin R VenereSpain2026-08-04Benton, John B Jr PROPOSAL45Amy Elsner
1033Clifford V GillianRussia2026-07-23Printing Dimensions UNQUALIFIED4Anna Fali
1034Jefferson A PoquetteItaly2026-08-04Commercial Press QUALIFIED9Elwin Sharvill
1035Emily G MarrierCanada2026-08-07Printing Dimensions QUALIFIED78Ioni Bowcher
1036Isabel I BriddickUnited Kingdom2026-07-21Chapman, Ross E Esq RENEWAL50Stephen Shaw
1037Antonio A PaprockiGermany2026-08-01Feltz Printing Service QUALIFIED77Xuxue Feng
1038Faith O DarakjyUnited Kingdom2026-08-10Benton, John B Jr NEGOTIATION42Asiya Javayant
1039Stacey A MaletUnited Kingdom2026-07-24Chemel, James L Cpa PROPOSAL66Ivan Magalhaes
1040Costa Q GillianRussia2026-07-28Chemel, James L Cpa NEGOTIATION48Amy Elsner
1041Leon T SchemmerAustralia2026-07-29Morlong Associates RENEWAL56Onyama Limba
1042Stacey T WaycottGermany2026-08-02Benton, John B Jr PROPOSAL61Ivan Magalhaes
1043Mujtaba J CaldareraArgentina2026-07-14Rousseaux, Michael Esq NEW29Anna Fali
1044Leja S WieserRussia2026-07-22Chapman, Ross E Esq QUALIFIED65Stephen Shaw
1045Smith U PerinFrance2026-08-09Rangoni Of Florence QUALIFIED45Onyama Limba
1046Kadeem A BowleyArgentina2026-07-14Printing Dimensions QUALIFIED1Xuxue Feng
1047Arvin W OldroydCanada2026-07-24Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1048Mujtaba L MarrierArgentina2026-08-04Rousseaux, Michael Esq RENEWAL86Onyama Limba
1049Adams S GlickFrance2026-07-16Feltz Printing Service NEGOTIATION84Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jefferson J AlbaresAustraliaStephen Shaw QUALIFIED
Emily C DoeFranceAnna Fali PROPOSAL
Costa D InouyeAustraliaOnyama Limba PROPOSAL
Mujtaba Y RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Isabel A AmigonJapanOnyama Limba RENEWAL
Greenwood Y KolmetzUnited KingdomXuxue Feng QUALIFIED
Clifford Z ChuiUnited KingdomAsiya Javayant RENEWAL
Darci L CaldareraRussiaXuxue Feng RENEWAL
Arvin Y StockhamAustraliaElwin Sharvill PROPOSAL
Kadeem G DilliardFranceAnna Fali PROPOSAL
James I CampainSpainXuxue Feng PROPOSAL
Octavia A DoeCanadaAnna Fali RENEWAL
Morrow W GillianGermanyBernardo Dominic PROPOSAL
Aditya P DilliardArgentinaElwin Sharvill RENEWAL
Chavez E MarrierFranceOnyama Limba QUALIFIED
Murillo K RulapaughBrazilXuxue Feng PROPOSAL
Kaitlin N AmigonAustraliaAmy Elsner PROPOSAL
Smith K PerinBrazilOnyama Limba QUALIFIED
Jefferson V NestleGermanyIvan Magalhaes UNQUALIFIED
Munro R WaycottSpainBernardo Dominic PROPOSAL
Rodrigues Q IturbideBrazilIoni Bowcher UNQUALIFIED
Ivar H SlusarskiGermanyBernardo Dominic RENEWAL
Ivar M AmigonGermanyXuxue Feng NEGOTIATION
Nicolas M DoeCanadaElwin Sharvill UNQUALIFIED
Leon K FollerAustraliaIvan Magalhaes NEW
Tony K AmigonRussiaStephen Shaw PROPOSAL
Silvio S GlickItalyBernardo Dominic NEW
Wickens M RulapaughAustraliaIoni Bowcher RENEWAL
Emily I AlbaresArgentinaOnyama Limba RENEWAL
Jones E OldroydFranceOnyama Limba RENEWAL
Ricardo E InouyeSpainIvan Magalhaes NEGOTIATION
Antonio B FollerUnited KingdomXuxue Feng RENEWAL
Silvio C SchemmerFranceStephen Shaw RENEWAL
Tony R BologniaUnited KingdomElwin Sharvill NEW
Morrow U MarrierIndiaXuxue Feng PROPOSAL
Deepesh F OldroydAustraliaXuxue Feng RENEWAL
Costa E GarufiBrazilIoni Bowcher NEGOTIATION
Francesco R TollnerRussiaAsiya Javayant PROPOSAL
Julie M MaletRussiaAsiya Javayant RENEWAL
Wickens Z SergiJapanAnna Fali NEGOTIATION
Isabel E MaletRussiaStephen Shaw PROPOSAL
Morrow K ChuiSpainIoni Bowcher UNQUALIFIED
Misaki H ShinkoItalyIoni Bowcher RENEWAL
Costa P FlosiItalyAsiya Javayant PROPOSAL
Darci Y FigeroaRussiaAnna Fali QUALIFIED
Stacey Y GarufiArgentinaElwin Sharvill RENEWAL
Wickens U PerinRussiaOnyama Limba NEW
Aditya W DoeCanadaAnna Fali QUALIFIED
Murillo H RulapaughSpainAnna Fali RENEWAL
Antonio Y KolmetzUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Jeanfrancois I Royster
Antonio C Campain
Jefferson G Doe
Aika B Dilliard
Nicolas D Rulapaugh
Silvio I Sergi
Jennifer K Vocelka
Maisha O Bowley
Salvatore U Shinko
Munro T Kusko
Ashley Z Ostrosky
Chavez U Marrier
Silvio G Amigon
Jennifer Z Garufi
Jefferson L Shinko
Chavez Z Flosi
Jones R Nestle
Silvio T Slusarski
Maria P Foller
Adams T Oldroyd
Murillo C Marrier
Emily U Ruta
Julie S Foller
Leon E Marrier
Chavez Y Kolmetz
Ashley S Sergi
Aika M Flosi
Ashley H Figeroa
Ashley G Wieser
Tony F Venere
Kaitlin F Bolognia
Deepesh M Perin
Ivar N Rim
Faith W Ferencz
Kadeem P Bolognia
Johnson I Oldroyd
Maisha K Sergi
Rodrigues X Glick
Munro G Saylors
Tony D Nicka
Ricardo G Wieser
Octavia G Malet
Izzy U Perin
Morrow F Figeroa
Mujtaba V Bolognia
Aika J Dilliard
Rodrigues T Slusarski
David C Dilliard
Salvatore O Doe
Ashley T Whobrey
IdCountryDate
1000France2026-07-14
1001Argentina2026-07-25
1002Argentina2026-08-06
1003Italy2026-08-08
1004Australia2026-07-25
1005Australia2026-07-30
1006India2026-07-23
1007Argentina2026-07-18
1008United Kingdom2026-07-23
1009Japan2026-07-25
1010Italy2026-07-16
1011Germany2026-08-10
1012United Kingdom2026-07-24
1013India2026-07-27
1014United Kingdom2026-07-13
1015France2026-07-14
1016United Kingdom2026-07-17
1017Argentina2026-07-16
1018France2026-07-13
1019Canada2026-07-17
1020Spain2026-08-04
1021United Kingdom2026-07-13
1022Japan2026-07-14
1023Australia2026-07-19
1024India2026-07-13
1025Russia2026-07-19
1026Germany2026-07-28
1027Italy2026-08-02
1028Australia2026-08-05
1029Spain2026-08-07
1030Brazil2026-07-23
1031Germany2026-07-12
1032Australia2026-07-30
1033Brazil2026-07-25
1034Australia2026-07-25
1035India2026-07-12
1036United Kingdom2026-08-10
1037United Kingdom2026-07-15
1038Canada2026-07-18
1039Canada2026-08-09
1040United Kingdom2026-07-12
1041United Kingdom2026-08-02
1042Germany2026-07-23
1043Russia2026-08-05
1044Australia2026-07-28
1045Canada2026-08-03
1046Argentina2026-07-23
1047Russia2026-08-05
1048Argentina2026-07-24
1049Australia2026-08-01

On-Demand Data

NameIdCountryDate
Deepesh M Slusarski1000United Kingdom2026-07-28
Julie S Marrier1001Russia2026-07-14
Francesco P Royster1002Russia2026-07-27
Jeanfrancois F Vocelka1003United Kingdom2026-08-08
Kaitlin D Whobrey1004Australia2026-07-16
Murillo U Wieser1005Japan2026-07-16
Claire N Garufi1006Italy2026-07-29
Claire D Foller1007France2026-07-16
Morrow O Royster1008Italy2026-07-14
Emily G Slusarski1009Spain2026-07-18
Mujtaba I Paprocki1010India2026-08-08
Julie G Dilliard1011Canada2026-07-21
Antonio U Malet1012France2026-07-31
Aditya M Amigon1013Japan2026-07-31
Emily M Nicka1014Canada2026-08-07
Wickens Y Stockham1015Argentina2026-08-04
Johnson W Ostrosky1016Spain2026-08-10
Chavez H Royster1017India2026-08-05
Johnson Y Sergi1018Australia2026-07-27
Isabel P Ferencz1019Canada2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood O ShinkoItalyOnyama Limba PROPOSAL
Darci T GillianItalyAnna Fali PROPOSAL
James O InouyeRussiaStephen Shaw PROPOSAL
Silvio K GauchoGermanyAsiya Javayant NEGOTIATION
Aditya R FollerGermanyAsiya Javayant NEGOTIATION
Leja A GarufiGermanyIoni Bowcher UNQUALIFIED
Johnson N InouyeGermanyAmy Elsner PROPOSAL
Murillo K ShinkoAustraliaOnyama Limba NEW
Antonio I WhobreySpainIoni Bowcher NEW
Sinclair I FigeroaCanadaXuxue Feng QUALIFIED
Jones S RoysterJapanStephen Shaw NEW
Kaitlin C VocelkaGermanyStephen Shaw RENEWAL
Tony S SaylorsAustraliaAsiya Javayant RENEWAL
Isabel J FollerArgentinaXuxue Feng NEGOTIATION
Clifford P FigeroaJapanElwin Sharvill RENEWAL
Mujtaba D FigeroaSpainIoni Bowcher NEW
Aruna Z DoeAustraliaStephen Shaw RENEWAL
Misaki M FerenczItalyAmy Elsner NEGOTIATION
Jefferson N FollerRussiaOnyama Limba PROPOSAL
Aika F IturbideIndiaIvan Magalhaes NEW
Stacey R KuskoSpainElwin Sharvill QUALIFIED
Stacey R IturbideRussiaBernardo Dominic NEW
Ricardo P AmigonSpainIoni Bowcher QUALIFIED
Faith L PoquetteArgentinaIvan Magalhaes PROPOSAL
Alejandro K RoysterBrazilIvan Magalhaes PROPOSAL
Maria N BowleySpainStephen Shaw NEGOTIATION
Maisha O StensethUnited KingdomAmy Elsner QUALIFIED
Chavez M SergiUnited KingdomElwin Sharvill NEW
Faith Q MarrierRussiaIvan Magalhaes UNQUALIFIED
Silvio X WhobreyIndiaAmy Elsner PROPOSAL
Nicolas R MacleadSpainAnna Fali QUALIFIED
James H PaprockiBrazilStephen Shaw QUALIFIED
Greenwood M RulapaughCanadaAmy Elsner NEW
Wickens N AlbaresAustraliaBernardo Dominic PROPOSAL
Tony Y RutaAustraliaOnyama Limba NEW
Arvin K RutaCanadaIoni Bowcher RENEWAL
Wickens I OstroskyIndiaIoni Bowcher PROPOSAL
Jefferson M SlusarskiBrazilAnna Fali UNQUALIFIED
Jennifer Q FlosiIndiaIvan Magalhaes NEGOTIATION
Leon V GlickSpainAmy Elsner QUALIFIED

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