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
Arvin J BriddickUnited KingdomAnna Fali PROPOSAL
Isabel S PerinFranceBernardo Dominic NEW
Kadeem D DarakjyJapanAsiya Javayant UNQUALIFIED
Faith Z FlosiFranceBernardo Dominic PROPOSAL
Smith E TollnerRussiaIoni Bowcher QUALIFIED
Costa V InouyeUnited KingdomOnyama Limba PROPOSAL
Claire Y RutaIndiaElwin Sharvill PROPOSAL
Ricardo P DarakjyCanadaXuxue Feng RENEWAL
Antonio Y SergiArgentinaIvan Magalhaes PROPOSAL
Emily D SaylorsIndiaAsiya Javayant NEGOTIATION
Kadeem T CampainBrazilBernardo Dominic QUALIFIED
Emily T DoeIndiaOnyama Limba UNQUALIFIED
Costa H MaletJapanAnna Fali NEGOTIATION
Clifford D OldroydIndiaStephen Shaw PROPOSAL
Ricardo B WhobreyRussiaXuxue Feng UNQUALIFIED
David P RulapaughRussiaOnyama Limba UNQUALIFIED
Faith H RulapaughGermanyStephen Shaw PROPOSAL
Misaki O NestleIndiaIvan Magalhaes UNQUALIFIED
Alejandro Q DoeUnited KingdomIvan Magalhaes RENEWAL
Jones B FlosiFranceIvan Magalhaes QUALIFIED
Jones L IturbideAustraliaAsiya Javayant NEGOTIATION
Silvio C SaylorsSpainIoni Bowcher UNQUALIFIED
Emily F WieserFranceXuxue Feng NEGOTIATION
Leon A GauchoRussiaXuxue Feng UNQUALIFIED
Tony O CaudyRussiaElwin Sharvill NEW
Deepesh V WaycottGermanyXuxue Feng NEGOTIATION
Izzy O DoeUnited KingdomAnna Fali QUALIFIED
Aruna F GillianGermanyAsiya Javayant NEGOTIATION
Leon R NestleUnited KingdomIoni Bowcher RENEWAL
Chavez W SchemmerArgentinaElwin Sharvill NEW
Jeanfrancois K VocelkaGermanyStephen Shaw NEGOTIATION
Aika N BowleyUnited KingdomAnna Fali QUALIFIED
Rodrigues L StensethJapanAnna Fali QUALIFIED
Munro P FerenczIndiaOnyama Limba PROPOSAL
Mayumi A MacleadAustraliaOnyama Limba RENEWAL
Mayumi K DoeGermanyAmy Elsner PROPOSAL
Costa T MarrierUnited KingdomBernardo Dominic PROPOSAL
Juan W RulapaughUnited KingdomAnna Fali RENEWAL
Emily L SchemmerRussiaIoni Bowcher UNQUALIFIED
Morrow D RoysterAustraliaElwin Sharvill PROPOSAL
Juan O MorascaUnited KingdomXuxue Feng RENEWAL
Greenwood W ShinkoJapanAnna Fali UNQUALIFIED
Greenwood O SlusarskiSpainStephen Shaw NEGOTIATION
Aditya P GarufiGermanyXuxue Feng PROPOSAL
Tony M WhobreyGermanyAsiya Javayant RENEWAL
Morrow J FollerItalyAmy Elsner PROPOSAL
Francesco E AmigonIndiaOnyama Limba QUALIFIED
Munro X StockhamAustraliaBernardo Dominic NEW
Ashley S DilliardSpainIoni Bowcher RENEWAL
Greenwood D WieserRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna C GillianGermanyElwin Sharvill PROPOSAL
Jones K WieserJapanAnna Fali RENEWAL
Kaitlin I DoeAustraliaAsiya Javayant NEW
Mayumi F GlickSpainAmy Elsner NEW
Ashley K AmigonGermanyIoni Bowcher NEGOTIATION
Mayumi Y SlusarskiFranceIoni Bowcher QUALIFIED
Nicolas R PerinJapanAnna Fali QUALIFIED
Ivar K BologniaGermanyIoni Bowcher NEGOTIATION
Julie W StensethSpainXuxue Feng QUALIFIED
Juan C NestleCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem N PaprockiAustralia2025-04-30Dorl, James J Esq RENEWAL59Ivan Magalhaes
1001Nicolas H DarakjyFrance2025-04-21Chapman, Ross E Esq QUALIFIED8Bernardo Dominic
1002Arvin K InouyeFrance2025-04-20Rangoni Of Florence NEW79Asiya Javayant
1003Munro U DoeSpain2025-04-19Chemel, James L Cpa NEGOTIATION57Onyama Limba
1004Antonio S InouyeFrance2025-04-19Dorl, James J Esq PROPOSAL39Anna Fali
1005Jefferson O TollnerIndia2025-04-03Feltz Printing Service RENEWAL92Xuxue Feng
1006Francesco U StensethJapan2025-04-06Chemel, James L Cpa RENEWAL67Bernardo Dominic
1007Jennifer E DilliardArgentina2025-04-13Morlong Associates NEW39Elwin Sharvill
1008Claire X MaletFrance2025-04-05Morlong Associates QUALIFIED30Elwin Sharvill
1009Juan M MarrierIndia2025-04-08Dorl, James J Esq QUALIFIED25Onyama Limba
1010Silvio Q RimFrance2025-04-21Chanay, Jeffrey A Esq QUALIFIED95Stephen Shaw
1011Jones I TollnerIndia2025-04-17King, Christopher A Esq NEGOTIATION7Asiya Javayant
1012Smith B WaycottItaly2025-04-21Commercial Press RENEWAL51Ivan Magalhaes
1013Aika A StockhamAustralia2025-04-30Rangoni Of Florence QUALIFIED57Elwin Sharvill
1014Leon G FigeroaFrance2025-04-15Commercial Press RENEWAL92Amy Elsner
1015Maisha D SergiFrance2025-04-10King, Christopher A Esq QUALIFIED46Asiya Javayant
1016Jefferson C CaldareraAustralia2025-04-02Commercial Press NEGOTIATION75Bernardo Dominic
1017Wickens B SlusarskiSpain2025-04-13Chanay, Jeffrey A Esq QUALIFIED5Ioni Bowcher
1018Jones V ChuiSpain2025-04-15King, Christopher A Esq NEW1Stephen Shaw
1019Emily O FigeroaSpain2025-04-20Benton, John B Jr NEW99Xuxue Feng
1020Juan M OstroskyGermany2025-04-23Feiner Bros NEGOTIATION78Ivan Magalhaes
1021James S FlosiJapan2025-04-02King, Christopher A Esq NEW86Ioni Bowcher
1022Arvin N KolmetzJapan2025-04-17Chanay, Jeffrey A Esq UNQUALIFIED85Anna Fali
1023Faith H VenereItaly2025-04-24Rangoni Of Florence NEW93Ivan Magalhaes
1024Julie C AlbaresBrazil2025-04-01Buckley Miller Wright PROPOSAL5Onyama Limba
1025Munro H GauchoCanada2025-04-25Benton, John B Jr UNQUALIFIED55Ioni Bowcher
1026Kaitlin Y GauchoJapan2025-04-14Morlong Associates PROPOSAL0Ioni Bowcher
1027Darci N KolmetzJapan2025-04-14King, Christopher A Esq NEW80Anna Fali
1028Nicolas B TollnerIndia2025-04-10Rousseaux, Michael Esq UNQUALIFIED91Amy Elsner
1029Francesco T NickaFrance2025-04-25Rousseaux, Michael Esq NEW37Elwin Sharvill
1030James B DoeJapan2025-04-17Morlong Associates RENEWAL36Xuxue Feng
1031Aruna Z AlbaresAustralia2025-04-15Chapman, Ross E Esq RENEWAL73Amy Elsner
1032Costa W SchemmerAustralia2025-04-26Benton, John B Jr PROPOSAL11Elwin Sharvill
1033Greenwood I RutaCanada2025-04-17Rangoni Of Florence NEGOTIATION69Amy Elsner
1034Cody W MaletIndia2025-04-05Rousseaux, Michael Esq RENEWAL1Onyama Limba
1035Jennifer C GlickSpain2025-04-30Printing Dimensions NEW32Elwin Sharvill
1036Salvatore B PerinBrazil2025-04-15Morlong Associates PROPOSAL17Elwin Sharvill
1037Tony Q KuskoItaly2025-04-17Chanay, Jeffrey A Esq PROPOSAL20Anna Fali
1038Jeanfrancois M TollnerAustralia2025-04-03Rousseaux, Michael Esq UNQUALIFIED57Ivan Magalhaes
1039Jones O CaudyAustralia2025-04-08Commercial Press NEGOTIATION15Onyama Limba
1040David G NickaArgentina2025-04-17Truhlar And Truhlar Attys NEW17Amy Elsner
1041Murillo H FerenczGermany2025-04-08Commercial Press NEW55Asiya Javayant
1042Sinclair C RutaAustralia2025-04-22Rousseaux, Michael Esq NEW77Amy Elsner
1043Silvio B StensethGermany2025-04-04King, Christopher A Esq NEGOTIATION64Stephen Shaw
1044Ashley P AmigonUnited Kingdom2025-04-12Feltz Printing Service UNQUALIFIED25Ioni Bowcher
1045Juan N WaycottJapan2025-04-30King, Christopher A Esq NEW40Ivan Magalhaes
1046Costa T MacleadBrazil2025-04-21Benton, John B Jr PROPOSAL91Asiya Javayant
1047Kaitlin S CaldareraAustralia2025-04-23Benton, John B Jr NEW92Ioni Bowcher
1048Greenwood E FerenczRussia2025-04-18Commercial Press QUALIFIED18Ioni Bowcher
1049Aika A RimAustralia2025-04-02Chanay, Jeffrey A Esq PROPOSAL22Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Costa E CaldareraBrazilOnyama Limba NEW
Maria R InouyeAustraliaElwin Sharvill PROPOSAL
Mujtaba T OldroydSpainAsiya Javayant NEW
Emily X WaycottItalyAsiya Javayant PROPOSAL
Ivar J ChuiSpainStephen Shaw RENEWAL
Darci B KuskoSpainAnna Fali QUALIFIED
Costa U RoysterRussiaIoni Bowcher NEW
Silvio O FlosiRussiaBernardo Dominic NEW
Jennifer M TollnerSpainElwin Sharvill UNQUALIFIED
Jeanfrancois S GarufiArgentinaStephen Shaw NEW
Aruna D VocelkaRussiaIvan Magalhaes NEW
James B OstroskyAustraliaBernardo Dominic UNQUALIFIED
Claire Z SergiArgentinaAsiya Javayant QUALIFIED
Claire H ChuiCanadaOnyama Limba NEW
Alejandro J DilliardJapanIoni Bowcher QUALIFIED
Octavia O MarrierSpainAmy Elsner QUALIFIED
Morrow L RimRussiaXuxue Feng PROPOSAL
Julie O AlbaresAustraliaAnna Fali PROPOSAL
Francesco Z PaprockiIndiaBernardo Dominic NEW
Adams G KolmetzSpainIoni Bowcher NEW
Emily I RutaFranceElwin Sharvill NEW
Adams U DoeBrazilIoni Bowcher QUALIFIED
Jennifer H DilliardGermanyAnna Fali RENEWAL
Jeanfrancois E FlosiGermanyIoni Bowcher QUALIFIED
Julie U WaycottJapanAsiya Javayant PROPOSAL
Cody S PaprockiArgentinaAmy Elsner RENEWAL
Stacey N CampainSpainOnyama Limba QUALIFIED
David O SergiUnited KingdomAsiya Javayant NEW
Smith B SlusarskiJapanXuxue Feng NEW
Juan T WaycottFranceStephen Shaw RENEWAL
Cody K BologniaIndiaXuxue Feng PROPOSAL
Leon S MaletFranceXuxue Feng NEW
Ivar Q BowleyBrazilOnyama Limba NEW
Alejandro R DoeRussiaXuxue Feng RENEWAL
Maria R MaletSpainXuxue Feng NEW
Deepesh L FollerJapanBernardo Dominic QUALIFIED
Kaitlin B PaprockiArgentinaIoni Bowcher QUALIFIED
Antonio A BologniaGermanyAsiya Javayant RENEWAL
Wickens E FerenczArgentinaStephen Shaw UNQUALIFIED
Munro K GarufiBrazilBernardo Dominic NEGOTIATION
Nicolas U PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Maisha X AlbaresSpainAmy Elsner QUALIFIED
Claire C RoysterJapanOnyama Limba NEGOTIATION
Wickens Z SaylorsFranceIoni Bowcher QUALIFIED
Jennifer Z RulapaughBrazilIvan Magalhaes UNQUALIFIED
Leon M MaletArgentinaAsiya Javayant NEW
Octavia I GillianUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba T DilliardCanadaStephen Shaw QUALIFIED
Nicolas B KuskoAustraliaAsiya Javayant QUALIFIED
Izzy X StensethIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Ashley V Paprocki
Murillo Q Perin
Julie W Foller
Leja X Malet
Greenwood H Dilliard
Julie N Schemmer
Murillo S Royster
Tony Y Garufi
Octavia H Inouye
Murillo G Royster
Rodrigues F Garufi
Salvatore V Stockham
Leon Q Caldarera
Stacey G Albares
Silvio J Poquette
Mujtaba Y Saylors
Aruna H Shinko
Sinclair W Nicka
Izzy R Amigon
Sinclair N Garufi
Faith M Albares
Claire G Iturbide
David U Schemmer
Johnson J Ruta
Claire K Kolmetz
Sinclair N Maclead
Ashley L Figeroa
Jeanfrancois T Amigon
Tony C Maclead
Silvio F Bowley
Deepesh G Nicka
Sinclair Y Morasca
Kadeem E Gaucho
Izzy Y Darakjy
Izzy Y Campain
Leon Q Ruta
Maria W Caudy
Antonio E Foller
Darci U Doe
David N Stenseth
Maisha P Albares
Claire T Rim
Salvatore Y Garufi
David R Nicka
Jefferson Z Foller
Salvatore N Nicka
Adams C Royster
Claire B Slusarski
Darci G Sergi
Johnson C Saylors
IdCountryDate
1000Germany2025-04-26
1001Argentina2025-04-08
1002Italy2025-04-24
1003Canada2025-04-04
1004India2025-04-13
1005Russia2025-04-06
1006Russia2025-04-25
1007Germany2025-04-07
1008Italy2025-04-12
1009India2025-04-27
1010United Kingdom2025-04-16
1011Brazil2025-04-11
1012Canada2025-04-14
1013Russia2025-04-16
1014Canada2025-04-16
1015Argentina2025-04-15
1016Germany2025-04-14
1017United Kingdom2025-04-01
1018Japan2025-04-18
1019France2025-04-22
1020Russia2025-04-13
1021India2025-04-19
1022Japan2025-04-14
1023Canada2025-04-06
1024France2025-04-09
1025Japan2025-04-26
1026Italy2025-04-14
1027France2025-04-03
1028Italy2025-04-13
1029Australia2025-04-27
1030Russia2025-04-09
1031Germany2025-04-08
1032Spain2025-04-24
1033France2025-04-23
1034Spain2025-04-15
1035Argentina2025-04-09
1036Australia2025-04-27
1037Japan2025-04-21
1038Russia2025-04-19
1039Japan2025-04-01
1040Japan2025-04-16
1041Russia2025-04-23
1042Brazil2025-04-23
1043Argentina2025-04-17
1044Italy2025-04-24
1045Italy2025-04-27
1046United Kingdom2025-04-14
1047Germany2025-04-27
1048United Kingdom2025-04-18
1049Spain2025-04-10

On-Demand Data

NameIdCountryDate
Claire Z Poquette1000Canada2025-04-27
Clifford V Kolmetz1001Spain2025-04-03
Ashley N Sergi1002Argentina2025-04-03
Johnson Z Butt1003Germany2025-04-11
Kadeem B Paprocki1004France2025-04-18
Nicolas F Poquette1005France2025-04-04
Kaitlin D Wieser1006Germany2025-04-30
Cody W Doe1007Germany2025-04-18
Aditya D Wieser1008Japan2025-04-30
Nicolas M Glick1009Japan2025-04-14
Maisha X Tollner1010Japan2025-04-08
Isabel B Marrier1011Canada2025-04-08
Jennifer I Rim1012United Kingdom2025-04-16
Julie L Nestle1013Russia2025-04-02
Claire X Caudy1014Japan2025-04-04
Wickens H Oldroyd1015Brazil2025-04-22
Aika M Royster1016United Kingdom2025-04-16
Izzy Y Gaucho1017Germany2025-04-26
Leja W Poquette1018Japan2025-04-24
Clifford U Butt1019France2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith J RimIndiaAsiya Javayant QUALIFIED
Aika U WieserSpainElwin Sharvill NEGOTIATION
David T BowleyBrazilIvan Magalhaes PROPOSAL
Morrow P SchemmerAustraliaAsiya Javayant RENEWAL
Francesco Y VenereJapanIvan Magalhaes PROPOSAL
Izzy H ChuiRussiaStephen Shaw PROPOSAL
Aruna T PerinItalyXuxue Feng UNQUALIFIED
Julie L NestleItalyBernardo Dominic NEW
Clifford C PerinUnited KingdomXuxue Feng NEW
Claire Y ChuiArgentinaStephen Shaw NEW
Morrow S PerinJapanIoni Bowcher PROPOSAL
Morrow P DarakjySpainAnna Fali PROPOSAL
Francesco S BriddickBrazilStephen Shaw PROPOSAL
Munro P KuskoAustraliaElwin Sharvill QUALIFIED
Silvio F IturbideSpainAmy Elsner RENEWAL
Smith T PoquetteItalyBernardo Dominic PROPOSAL
Ashley J SlusarskiCanadaAmy Elsner NEW
Stacey G OldroydIndiaBernardo Dominic PROPOSAL
David S FerenczCanadaStephen Shaw UNQUALIFIED
Johnson Q FlosiFranceElwin Sharvill UNQUALIFIED
Isabel S WaycottCanadaIvan Magalhaes UNQUALIFIED
Emily A SchemmerRussiaOnyama Limba RENEWAL
Smith V CampainCanadaIvan Magalhaes NEW
Isabel H WhobreyCanadaAnna Fali QUALIFIED
Stacey E BriddickBrazilIoni Bowcher QUALIFIED
Maisha S VocelkaIndiaElwin Sharvill NEW
Mujtaba S InouyeSpainAnna Fali NEGOTIATION
Izzy E BologniaAustraliaXuxue Feng RENEWAL
Silvio R WhobreyFranceIvan Magalhaes QUALIFIED
Alejandro Z SergiBrazilStephen Shaw PROPOSAL
Maisha G SlusarskiGermanyXuxue Feng RENEWAL
Alejandro M FigeroaCanadaOnyama Limba UNQUALIFIED
Claire V AlbaresArgentinaAnna Fali NEGOTIATION
Kadeem R WieserJapanIoni Bowcher RENEWAL
Stacey Y OldroydGermanyElwin Sharvill PROPOSAL
Mayumi X PaprockiJapanIoni Bowcher QUALIFIED
Mayumi I CampainCanadaXuxue Feng QUALIFIED
Chavez V SergiGermanyAsiya Javayant NEGOTIATION
Maria E MorascaFranceIvan Magalhaes PROPOSAL
Francesco T BowleyUnited KingdomOnyama Limba 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>