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
Jennifer R MaletAustraliaAsiya Javayant RENEWAL
Leja G GauchoIndiaStephen Shaw QUALIFIED
Maria T BologniaBrazilStephen Shaw UNQUALIFIED
Darci R OstroskyIndiaStephen Shaw PROPOSAL
Chavez B SchemmerRussiaXuxue Feng UNQUALIFIED
Tony R FigeroaAustraliaAmy Elsner NEW
Leja B GauchoUnited KingdomXuxue Feng RENEWAL
Johnson T GarufiFranceIoni Bowcher UNQUALIFIED
Arvin H FlosiRussiaAsiya Javayant UNQUALIFIED
Ashley L RulapaughFranceOnyama Limba NEGOTIATION
Arvin K RoysterGermanyOnyama Limba NEGOTIATION
Chavez C ButtUnited KingdomAnna Fali NEW
Claire P GlickRussiaAnna Fali NEW
Adams M WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Mayumi S FlosiAustraliaIoni Bowcher PROPOSAL
Maria O ChuiSpainElwin Sharvill NEGOTIATION
Costa Z CaldareraAustraliaXuxue Feng RENEWAL
Smith G SaylorsGermanyIvan Magalhaes PROPOSAL
Greenwood F GlickRussiaAmy Elsner UNQUALIFIED
Mayumi X TollnerCanadaAmy Elsner NEGOTIATION
Ivar K WieserAustraliaIvan Magalhaes RENEWAL
Emily M StensethGermanyElwin Sharvill RENEWAL
Kadeem H RulapaughBrazilOnyama Limba UNQUALIFIED
Murillo V ButtUnited KingdomXuxue Feng NEW
Francesco E DarakjyGermanyXuxue Feng RENEWAL
Leja B RutaBrazilElwin Sharvill NEW
Izzy N BowleyItalyAnna Fali NEW
Rodrigues H OstroskyJapanElwin Sharvill RENEWAL
Alejandro S SergiRussiaAnna Fali PROPOSAL
Murillo E StensethRussiaIvan Magalhaes RENEWAL
Izzy V AlbaresSpainIoni Bowcher RENEWAL
Stacey B PerinItalyOnyama Limba RENEWAL
Rodrigues Q DarakjyIndiaAsiya Javayant QUALIFIED
Costa D FerenczArgentinaOnyama Limba RENEWAL
David M WaycottIndiaIoni Bowcher QUALIFIED
Rodrigues I OstroskySpainIvan Magalhaes NEW
Leja A MorascaArgentinaAnna Fali RENEWAL
Francesco D ButtCanadaOnyama Limba QUALIFIED
Darci E WieserArgentinaAsiya Javayant QUALIFIED
Chavez W VocelkaSpainAsiya Javayant NEW
Clifford I GillianUnited KingdomElwin Sharvill NEW
Ashley C MaletArgentinaAmy Elsner QUALIFIED
Leon M DilliardUnited KingdomElwin Sharvill RENEWAL
Stacey S GlickIndiaOnyama Limba QUALIFIED
Octavia U VenereRussiaOnyama Limba PROPOSAL
Faith V FigeroaBrazilIvan Magalhaes PROPOSAL
David L FigeroaAustraliaIoni Bowcher NEGOTIATION
Morrow U WaycottGermanyXuxue Feng UNQUALIFIED
Jefferson S StockhamArgentinaAnna Fali NEW
Salvatore T CampainIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy E FerenczArgentinaElwin Sharvill PROPOSAL
Ricardo M WieserFranceOnyama Limba UNQUALIFIED
Aika L TollnerIndiaAmy Elsner QUALIFIED
Aika N FollerCanadaXuxue Feng NEGOTIATION
Claire Q DilliardItalyAnna Fali PROPOSAL
Izzy V StockhamSpainAnna Fali NEW
Arvin X PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Wickens B CaldareraIndiaStephen Shaw PROPOSAL
Ashley T BologniaJapanStephen Shaw UNQUALIFIED
Tony B BowleyGermanyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood F SergiSpain2025-04-17Chemel, James L Cpa RENEWAL75Ivan Magalhaes
1001Ivar Q GlickItaly2025-04-24Rousseaux, Michael Esq NEW92Elwin Sharvill
1002Mujtaba Q SergiBrazil2025-04-13Commercial Press RENEWAL83Amy Elsner
1003Leon M RutaSpain2025-04-02Dorl, James J Esq NEW70Elwin Sharvill
1004Claire U KuskoUnited Kingdom2025-04-05Benton, John B Jr PROPOSAL11Amy Elsner
1005Alejandro W GillianCanada2025-04-28Commercial Press UNQUALIFIED13Elwin Sharvill
1006Antonio F BologniaCanada2025-04-07Commercial Press RENEWAL71Asiya Javayant
1007Rodrigues Z SlusarskiFrance2025-04-20Feiner Bros PROPOSAL57Xuxue Feng
1008Juan P MaletSpain2025-04-13Commercial Press NEW19Elwin Sharvill
1009Murillo K FlosiUnited Kingdom2025-04-21Buckley Miller Wright PROPOSAL22Ioni Bowcher
1010Stacey W StensethBrazil2025-04-27Chanay, Jeffrey A Esq QUALIFIED31Stephen Shaw
1011Arvin T TollnerItaly2025-04-08Chapman, Ross E Esq NEGOTIATION93Elwin Sharvill
1012Leja A StensethIndia2025-04-29Truhlar And Truhlar Attys PROPOSAL83Ivan Magalhaes
1013Clifford X FlosiSpain2025-04-19Printing Dimensions RENEWAL35Xuxue Feng
1014Ashley E NestleJapan2025-04-22Truhlar And Truhlar Attys NEW32Bernardo Dominic
1015Salvatore R PerinGermany2025-04-26Printing Dimensions NEW3Ioni Bowcher
1016Adams U RutaBrazil2025-04-20Dorl, James J Esq NEGOTIATION44Xuxue Feng
1017Tony E OldroydUnited Kingdom2025-04-19Chanay, Jeffrey A Esq QUALIFIED47Bernardo Dominic
1018Misaki C StensethAustralia2025-04-17Morlong Associates NEGOTIATION81Xuxue Feng
1019Nicolas Q GauchoGermany2025-04-25Dorl, James J Esq UNQUALIFIED95Elwin Sharvill
1020Silvio R MaletIndia2025-04-23Printing Dimensions PROPOSAL87Stephen Shaw
1021Darci J FerenczItaly2025-04-24Feltz Printing Service NEGOTIATION54Asiya Javayant
1022Mujtaba M ShinkoFrance2025-04-07Commercial Press NEGOTIATION63Onyama Limba
1023Julie Z PoquetteFrance2025-04-15Commercial Press NEGOTIATION64Ioni Bowcher
1024Antonio M PaprockiArgentina2025-04-06Morlong Associates UNQUALIFIED13Ioni Bowcher
1025Chavez I OldroydUnited Kingdom2025-04-26Chemel, James L Cpa UNQUALIFIED86Bernardo Dominic
1026Murillo F MaletJapan2025-04-30Commercial Press UNQUALIFIED39Elwin Sharvill
1027Francesco X AmigonItaly2025-04-18Morlong Associates QUALIFIED95Asiya Javayant
1028Nicolas Q MorascaRussia2025-04-04Feltz Printing Service NEGOTIATION62Asiya Javayant
1029Juan U TollnerItaly2025-04-23Commercial Press NEGOTIATION81Xuxue Feng
1030Greenwood T BologniaUnited Kingdom2025-04-26Dorl, James J Esq NEW14Bernardo Dominic
1031Ivar K PoquetteGermany2025-04-16Chapman, Ross E Esq RENEWAL29Ioni Bowcher
1032Ivar Q StensethRussia2025-04-24Rousseaux, Michael Esq NEW88Ivan Magalhaes
1033Wickens C WieserSpain2025-04-08Chanay, Jeffrey A Esq PROPOSAL4Elwin Sharvill
1034Jeanfrancois I MarrierFrance2025-04-12King, Christopher A Esq UNQUALIFIED4Xuxue Feng
1035Arvin Y MorascaGermany2025-04-14King, Christopher A Esq PROPOSAL15Anna Fali
1036Mayumi N NickaIndia2025-04-14King, Christopher A Esq RENEWAL27Ivan Magalhaes
1037Francesco N SaylorsCanada2025-04-07Printing Dimensions UNQUALIFIED77Ioni Bowcher
1038Cody F GauchoFrance2025-04-14Commercial Press NEGOTIATION40Elwin Sharvill
1039Johnson Z GlickArgentina2025-04-21Feltz Printing Service NEGOTIATION72Elwin Sharvill
1040Emily W ButtSpain2025-04-07Dorl, James J Esq PROPOSAL63Bernardo Dominic
1041Claire Z DoeCanada2025-04-30Feiner Bros UNQUALIFIED83Xuxue Feng
1042Darci Q VocelkaIndia2025-04-05Dorl, James J Esq QUALIFIED79Amy Elsner
1043Jennifer R IturbideJapan2025-04-25Benton, John B Jr QUALIFIED92Elwin Sharvill
1044Alejandro A FerenczGermany2025-04-20Feiner Bros RENEWAL11Bernardo Dominic
1045Jennifer E KolmetzSpain2025-04-20Benton, John B Jr NEGOTIATION39Ioni Bowcher
1046Salvatore C OstroskyArgentina2025-04-05Buckley Miller Wright UNQUALIFIED11Stephen Shaw
1047Johnson Q WieserGermany2025-04-22Rousseaux, Michael Esq QUALIFIED20Xuxue Feng
1048Leja E PoquetteJapan2025-04-17Buckley Miller Wright NEW47Bernardo Dominic
1049Antonio S ButtArgentina2025-04-07Feltz Printing Service QUALIFIED79Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin X OstroskyJapanAnna Fali NEGOTIATION
Ivar M IturbideItalyAnna Fali NEGOTIATION
Faith N CaudySpainBernardo Dominic PROPOSAL
Cody S RulapaughCanadaAnna Fali QUALIFIED
Leon F DilliardArgentinaAsiya Javayant QUALIFIED
Izzy Z WieserCanadaElwin Sharvill NEW
David H DarakjyBrazilAsiya Javayant NEW
Misaki D RoysterFranceBernardo Dominic NEW
Deepesh U NickaFranceIoni Bowcher QUALIFIED
Aruna U AlbaresItalyElwin Sharvill UNQUALIFIED
Munro P MaletJapanAnna Fali PROPOSAL
Leja U MaletJapanXuxue Feng RENEWAL
Izzy K PoquetteRussiaElwin Sharvill NEGOTIATION
Morrow D GlickIndiaOnyama Limba UNQUALIFIED
Deepesh S RutaFranceElwin Sharvill UNQUALIFIED
Kaitlin I PoquetteJapanAmy Elsner RENEWAL
Juan H VenereAustraliaIoni Bowcher NEW
Mayumi V RoysterArgentinaOnyama Limba NEGOTIATION
Francesco H KuskoItalyAsiya Javayant UNQUALIFIED
Cody G WieserJapanStephen Shaw RENEWAL
Rodrigues U VocelkaAustraliaAnna Fali QUALIFIED
Morrow D BologniaGermanyAsiya Javayant NEGOTIATION
Deepesh R WaycottItalyAsiya Javayant RENEWAL
Juan Q MaletIndiaAnna Fali RENEWAL
Rodrigues Z WaycottFranceAsiya Javayant QUALIFIED
Mujtaba F SaylorsItalyElwin Sharvill NEGOTIATION
Octavia V TollnerUnited KingdomOnyama Limba QUALIFIED
Maria R StockhamCanadaOnyama Limba QUALIFIED
James T SergiJapanAmy Elsner PROPOSAL
Alejandro B PerinAustraliaAsiya Javayant UNQUALIFIED
Aika I GillianRussiaXuxue Feng UNQUALIFIED
Greenwood S SchemmerAustraliaOnyama Limba NEGOTIATION
Nicolas G KolmetzGermanyAsiya Javayant RENEWAL
Maisha M DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Arvin O TollnerAustraliaBernardo Dominic QUALIFIED
Clifford O OldroydFranceIoni Bowcher PROPOSAL
Kadeem M FollerItalyIvan Magalhaes RENEWAL
Costa C MorascaBrazilAmy Elsner NEW
Johnson Q MarrierSpainBernardo Dominic PROPOSAL
Darci N FlosiAustraliaBernardo Dominic PROPOSAL
Aruna H DilliardGermanyAnna Fali RENEWAL
Juan I MaletItalyBernardo Dominic NEGOTIATION
Sinclair X SlusarskiAustraliaAnna Fali UNQUALIFIED
Jennifer E InouyeJapanIoni Bowcher PROPOSAL
Sinclair F GauchoRussiaElwin Sharvill QUALIFIED
Faith C KuskoCanadaElwin Sharvill UNQUALIFIED
Arvin X BologniaRussiaElwin Sharvill UNQUALIFIED
Julie D AlbaresJapanOnyama Limba RENEWAL
Mayumi Q StensethItalyAmy Elsner NEW
Mujtaba T StockhamAustraliaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Misaki H Stockham
Leja B Bolognia
Claire R Perin
Emily Z Gaucho
Morrow K Amigon
Johnson W Whobrey
Aika W Schemmer
Maisha G Flosi
Murillo G Perin
Julie U Kusko
Kaitlin U Garufi
Deepesh X Foller
Emily W Bowley
Kaitlin B Maclead
Tony H Poquette
David F Oldroyd
Leja B Foller
Mujtaba O Caldarera
Salvatore A Campain
Izzy D Shinko
Chavez Z Whobrey
Julie C Caudy
James O Kusko
Ivar H Nestle
Murillo X Figeroa
Kadeem F Paprocki
Aruna Y Malet
Maisha O Bowley
Francesco U Oldroyd
Aditya N Kolmetz
Rodrigues S Perin
Cody Y Amigon
Juan Z Shinko
Jeanfrancois X Dilliard
Leon I Bolognia
Rodrigues L Butt
Smith B Waycott
Kadeem K Caudy
Mujtaba O Dilliard
Jennifer H Malet
Misaki W Foller
Murillo M Caldarera
Octavia F Marrier
Alejandro Y Foller
Maria P Flosi
Antonio K Perin
David X Wieser
Claire S Darakjy
Chavez P Inouye
Wickens I Morasca
IdCountryDate
1000Japan2025-04-21
1001Italy2025-04-29
1002India2025-04-16
1003Germany2025-04-21
1004Japan2025-04-17
1005Spain2025-04-06
1006United Kingdom2025-04-01
1007Russia2025-04-22
1008Germany2025-04-20
1009Australia2025-04-08
1010Canada2025-04-27
1011France2025-04-06
1012United Kingdom2025-04-13
1013Argentina2025-04-11
1014Brazil2025-04-01
1015Canada2025-04-28
1016Australia2025-04-17
1017Japan2025-04-24
1018Japan2025-04-13
1019Germany2025-04-04
1020Canada2025-04-30
1021Brazil2025-04-07
1022France2025-04-04
1023France2025-04-09
1024France2025-04-20
1025Spain2025-04-19
1026India2025-04-18
1027Argentina2025-04-27
1028United Kingdom2025-04-01
1029Japan2025-04-29
1030Russia2025-04-01
1031France2025-04-08
1032Argentina2025-04-05
1033Canada2025-04-17
1034Japan2025-04-27
1035India2025-04-11
1036Russia2025-04-17
1037Argentina2025-04-10
1038Spain2025-04-28
1039Canada2025-04-27
1040Germany2025-04-14
1041Russia2025-04-30
1042Canada2025-04-20
1043Italy2025-04-14
1044Brazil2025-04-23
1045Italy2025-04-07
1046Japan2025-04-19
1047Italy2025-04-10
1048India2025-04-28
1049India2025-04-06

On-Demand Data

NameIdCountryDate
Cody J Schemmer1000Russia2025-04-08
Leja Q Tollner1001Canada2025-04-15
Maria L Saylors1002Canada2025-04-22
Jefferson U Dilliard1003Germany2025-04-09
Mujtaba K Butt1004Brazil2025-04-26
Jones V Stenseth1005United Kingdom2025-04-09
Stacey W Kolmetz1006Canada2025-04-06
Izzy C Waycott1007Argentina2025-04-16
Leja N Sergi1008Brazil2025-04-07
David A Morasca1009India2025-04-23
Tony L Bowley1010United Kingdom2025-04-30
Silvio G Albares1011France2025-04-10
Maisha O Paprocki1012Argentina2025-04-01
Adams I Ferencz1013Japan2025-04-21
Claire A Oldroyd1014Germany2025-04-21
Isabel N Glick1015Japan2025-04-10
Tony K Maclead1016Argentina2025-04-18
Greenwood G Schemmer1017Germany2025-04-08
Octavia B Shinko1018Argentina2025-04-23
Silvio D Garufi1019Italy2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria H TollnerBrazilIoni Bowcher QUALIFIED
Francesco A WhobreyCanadaBernardo Dominic NEW
Misaki I SlusarskiBrazilIvan Magalhaes RENEWAL
Ricardo V MaletFranceIoni Bowcher PROPOSAL
Rodrigues B BologniaRussiaOnyama Limba PROPOSAL
Leja V OldroydJapanStephen Shaw NEW
Smith Q ButtAustraliaOnyama Limba QUALIFIED
Morrow K SaylorsRussiaElwin Sharvill NEW
Adams Z PoquetteSpainAsiya Javayant RENEWAL
Faith H FigeroaUnited KingdomAmy Elsner NEGOTIATION
Leon S SaylorsAustraliaAsiya Javayant NEW
Ashley L WieserArgentinaBernardo Dominic QUALIFIED
Isabel J RulapaughSpainBernardo Dominic NEGOTIATION
Misaki U KolmetzIndiaIoni Bowcher PROPOSAL
Juan N IturbideFranceIvan Magalhaes NEW
Sinclair T CaudyJapanAmy Elsner PROPOSAL
Antonio X AmigonSpainAsiya Javayant NEGOTIATION
Octavia Y CampainFranceIvan Magalhaes QUALIFIED
Cody Z NickaAustraliaStephen Shaw UNQUALIFIED
Chavez C RutaCanadaOnyama Limba UNQUALIFIED
Adams V VenereItalyIvan Magalhaes PROPOSAL
Aruna M PaprockiCanadaElwin Sharvill QUALIFIED
Francesco S DarakjyBrazilIoni Bowcher NEGOTIATION
Maisha H SchemmerAustraliaXuxue Feng UNQUALIFIED
Silvio S AmigonAustraliaBernardo Dominic RENEWAL
Aika P PerinAustraliaStephen Shaw QUALIFIED
Alejandro Q RutaGermanyAnna Fali PROPOSAL
Julie I DilliardBrazilAmy Elsner QUALIFIED
Arvin Q IturbideSpainOnyama Limba QUALIFIED
Ivar F PaprockiAustraliaElwin Sharvill QUALIFIED
Kaitlin J OldroydArgentinaIvan Magalhaes RENEWAL
Adams D PerinRussiaIoni Bowcher NEW
Johnson B GarufiArgentinaIoni Bowcher RENEWAL
Costa E MorascaFranceXuxue Feng PROPOSAL
Rodrigues F ChuiAustraliaAsiya Javayant QUALIFIED
Octavia X ButtFranceElwin Sharvill PROPOSAL
Kaitlin E RulapaughSpainAmy Elsner UNQUALIFIED
Morrow T StensethSpainStephen Shaw NEGOTIATION
Isabel O FerenczBrazilXuxue Feng NEGOTIATION
Maria F GarufiIndiaAsiya Javayant NEGOTIATION

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