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
David D TollnerJapanIvan Magalhaes UNQUALIFIED
Clifford J PoquetteJapanXuxue Feng RENEWAL
Francesco J DilliardIndiaAnna Fali UNQUALIFIED
Costa C MaletCanadaElwin Sharvill UNQUALIFIED
Tony S ButtUnited KingdomIoni Bowcher RENEWAL
Arvin U TollnerSpainStephen Shaw QUALIFIED
Ashley S MaletArgentinaOnyama Limba RENEWAL
Cody P OstroskyIndiaAmy Elsner PROPOSAL
Leon A NickaFranceOnyama Limba RENEWAL
Kaitlin R FerenczUnited KingdomBernardo Dominic UNQUALIFIED
Julie W RimItalyOnyama Limba UNQUALIFIED
Smith X RimSpainElwin Sharvill RENEWAL
Antonio L InouyeCanadaOnyama Limba RENEWAL
Isabel Y InouyeAustraliaOnyama Limba NEGOTIATION
Murillo K MorascaRussiaBernardo Dominic UNQUALIFIED
Aditya J MaletCanadaStephen Shaw PROPOSAL
Kadeem N FlosiRussiaIvan Magalhaes QUALIFIED
Izzy E StensethArgentinaIvan Magalhaes NEGOTIATION
Rodrigues N OldroydFranceIoni Bowcher PROPOSAL
Kaitlin A MacleadFranceOnyama Limba UNQUALIFIED
Sinclair Z RulapaughJapanElwin Sharvill RENEWAL
Silvio S ChuiUnited KingdomAnna Fali RENEWAL
David P VenereJapanAmy Elsner UNQUALIFIED
Jefferson Y VenereIndiaOnyama Limba PROPOSAL
Juan S GarufiSpainAnna Fali NEW
Cody U FlosiAustraliaOnyama Limba NEW
Jeanfrancois I WieserGermanyOnyama Limba PROPOSAL
Murillo M KolmetzIndiaOnyama Limba UNQUALIFIED
Ashley P SchemmerUnited KingdomAsiya Javayant RENEWAL
Maisha J VocelkaSpainIvan Magalhaes NEGOTIATION
Maria U NestleFranceIvan Magalhaes UNQUALIFIED
Emily I StensethBrazilStephen Shaw RENEWAL
Faith Y WhobreyFranceAmy Elsner RENEWAL
Maria V PerinFranceAsiya Javayant NEW
Mujtaba K SchemmerArgentinaAmy Elsner QUALIFIED
Costa C ShinkoFranceStephen Shaw PROPOSAL
Kadeem O BologniaBrazilAmy Elsner PROPOSAL
Ricardo O ChuiJapanStephen Shaw NEW
Cody H RimIndiaIvan Magalhaes NEW
Wickens E PoquetteBrazilBernardo Dominic NEGOTIATION
Julie P MaletArgentinaOnyama Limba RENEWAL
Adams I VocelkaBrazilXuxue Feng QUALIFIED
Ivar N RoysterGermanyOnyama Limba RENEWAL
Jennifer G NestleCanadaAsiya Javayant PROPOSAL
Izzy U StensethItalyOnyama Limba NEGOTIATION
Tony J SaylorsJapanOnyama Limba RENEWAL
Ivar B BriddickRussiaAmy Elsner PROPOSAL
Greenwood U SchemmerSpainBernardo Dominic NEW
Silvio F VenereRussiaOnyama Limba PROPOSAL
Morrow V FigeroaJapanBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson T InouyeFranceXuxue Feng PROPOSAL
Jennifer Y TollnerSpainStephen Shaw RENEWAL
Rodrigues A OldroydBrazilXuxue Feng UNQUALIFIED
Kadeem R ShinkoBrazilIoni Bowcher RENEWAL
Morrow A CampainJapanAsiya Javayant NEW
Smith V FlosiIndiaIvan Magalhaes NEW
Misaki I ShinkoBrazilAsiya Javayant RENEWAL
Stacey I RutaSpainAsiya Javayant NEGOTIATION
Jeanfrancois N WhobreyJapanAsiya Javayant NEGOTIATION
Deepesh L IturbideAustraliaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas B SlusarskiItaly2026-08-09Chapman, Ross E Esq NEGOTIATION40Onyama Limba
1001Wickens B TollnerGermany2026-08-22Dorl, James J Esq NEGOTIATION67Xuxue Feng
1002Izzy L GlickBrazil2026-08-21Feltz Printing Service RENEWAL36Amy Elsner
1003Alejandro I DoeCanada2026-08-08Feltz Printing Service NEGOTIATION71Onyama Limba
1004Silvio N GillianCanada2026-08-03Chapman, Ross E Esq QUALIFIED4Anna Fali
1005Alejandro J RimBrazil2026-08-24Buckley Miller Wright UNQUALIFIED83Xuxue Feng
1006Leon U CaudyCanada2026-08-30Rangoni Of Florence NEGOTIATION47Anna Fali
1007Deepesh H WaycottArgentina2026-08-10Feiner Bros PROPOSAL25Anna Fali
1008Ricardo K IturbideItaly2026-08-06Truhlar And Truhlar Attys NEGOTIATION27Bernardo Dominic
1009Aika R GillianFrance2026-08-12Morlong Associates NEW16Onyama Limba
1010Clifford L NickaGermany2026-08-22Chanay, Jeffrey A Esq NEW90Ioni Bowcher
1011Jefferson U ButtIndia2026-08-09Chapman, Ross E Esq NEW26Ivan Magalhaes
1012Misaki V BologniaSpain2026-08-15Buckley Miller Wright NEGOTIATION92Xuxue Feng
1013Leon P ShinkoBrazil2026-08-22King, Christopher A Esq NEGOTIATION23Ivan Magalhaes
1014Arvin U PaprockiGermany2026-08-25Truhlar And Truhlar Attys UNQUALIFIED68Elwin Sharvill
1015Isabel U CaldareraCanada2026-08-28Chanay, Jeffrey A Esq RENEWAL44Anna Fali
1016Leon A BowleyUnited Kingdom2026-08-28Chapman, Ross E Esq QUALIFIED2Onyama Limba
1017Francesco S OldroydUnited Kingdom2026-08-27Truhlar And Truhlar Attys NEGOTIATION51Bernardo Dominic
1018Rodrigues R CaudyBrazil2026-08-08Dorl, James J Esq UNQUALIFIED83Asiya Javayant
1019Jefferson H RutaUnited Kingdom2026-08-25Rangoni Of Florence UNQUALIFIED47Xuxue Feng
1020Leja Q NestleCanada2026-08-13Morlong Associates UNQUALIFIED14Bernardo Dominic
1021Chavez X TollnerIndia2026-08-26Printing Dimensions PROPOSAL49Asiya Javayant
1022Mayumi N FollerItaly2026-08-16Chanay, Jeffrey A Esq QUALIFIED47Anna Fali
1023Deepesh R RimAustralia2026-08-05Dorl, James J Esq UNQUALIFIED87Onyama Limba
1024Claire P AmigonRussia2026-08-18Morlong Associates NEW67Amy Elsner
1025Darci Q WaycottRussia2026-08-04Buckley Miller Wright PROPOSAL63Amy Elsner
1026Julie L InouyeBrazil2026-08-23Chapman, Ross E Esq QUALIFIED92Anna Fali
1027Johnson K VocelkaIndia2026-08-05Chanay, Jeffrey A Esq QUALIFIED38Elwin Sharvill
1028Jennifer F StensethCanada2026-08-14Commercial Press UNQUALIFIED72Anna Fali
1029Nicolas K StensethItaly2026-08-21Morlong Associates PROPOSAL50Xuxue Feng
1030Claire R GauchoItaly2026-08-01King, Christopher A Esq UNQUALIFIED63Bernardo Dominic
1031Maisha A WhobreyBrazil2026-08-03Feltz Printing Service QUALIFIED50Anna Fali
1032James T MacleadAustralia2026-08-02Benton, John B Jr NEGOTIATION3Ivan Magalhaes
1033Francesco N KolmetzItaly2026-08-06Feltz Printing Service NEGOTIATION18Stephen Shaw
1034Antonio M DilliardItaly2026-08-01Feiner Bros UNQUALIFIED51Ioni Bowcher
1035Mayumi O FigeroaArgentina2026-08-30Feltz Printing Service NEW75Amy Elsner
1036Jennifer K BologniaIndia2026-08-25Feiner Bros PROPOSAL49Asiya Javayant
1037Alejandro I ButtUnited Kingdom2026-08-05Rousseaux, Michael Esq NEW35Onyama Limba
1038Antonio L ChuiJapan2026-08-08Buckley Miller Wright QUALIFIED49Anna Fali
1039Emily W PoquetteIndia2026-08-16Feiner Bros NEGOTIATION32Stephen Shaw
1040Octavia Q StensethFrance2026-08-18Chemel, James L Cpa QUALIFIED53Asiya Javayant
1041Ricardo W CampainFrance2026-08-24Printing Dimensions QUALIFIED66Bernardo Dominic
1042Maisha G FlosiItaly2026-08-24Dorl, James J Esq NEGOTIATION46Stephen Shaw
1043Mayumi U PerinUnited Kingdom2026-08-11Feiner Bros QUALIFIED49Stephen Shaw
1044Antonio R WaycottRussia2026-08-02Benton, John B Jr NEGOTIATION83Ivan Magalhaes
1045Morrow Y GlickRussia2026-08-13Printing Dimensions NEW94Asiya Javayant
1046Leon P PaprockiFrance2026-08-10Morlong Associates QUALIFIED21Bernardo Dominic
1047Greenwood D DoeAustralia2026-08-15Feiner Bros NEGOTIATION18Amy Elsner
1048Claire A RutaArgentina2026-08-02Benton, John B Jr PROPOSAL40Ivan Magalhaes
1049Murillo W AlbaresIndia2026-08-23Chanay, Jeffrey A Esq RENEWAL30Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore N KuskoGermanyIoni Bowcher RENEWAL
Octavia N BologniaFranceAnna Fali QUALIFIED
Jeanfrancois W OstroskyItalyIoni Bowcher NEGOTIATION
Salvatore A DoeRussiaStephen Shaw QUALIFIED
Octavia E NickaGermanyOnyama Limba PROPOSAL
Jeanfrancois G IturbideIndiaOnyama Limba QUALIFIED
Jeanfrancois M AmigonBrazilAmy Elsner RENEWAL
Claire O FigeroaSpainAmy Elsner RENEWAL
Ricardo U OstroskyUnited KingdomXuxue Feng RENEWAL
Jones M PerinIndiaAnna Fali NEW
Emily O MaletCanadaAsiya Javayant NEGOTIATION
Antonio D GarufiArgentinaIvan Magalhaes PROPOSAL
Cody N RulapaughUnited KingdomIvan Magalhaes RENEWAL
Munro J CaudyJapanBernardo Dominic UNQUALIFIED
Wickens D GarufiUnited KingdomIoni Bowcher PROPOSAL
Munro B ShinkoJapanAsiya Javayant NEW
Jefferson A SchemmerUnited KingdomElwin Sharvill NEW
Claire F WieserAustraliaBernardo Dominic PROPOSAL
Greenwood M SchemmerSpainXuxue Feng NEW
Leja U ButtUnited KingdomBernardo Dominic PROPOSAL
Adams O AmigonUnited KingdomBernardo Dominic NEW
Greenwood R NestleArgentinaAnna Fali RENEWAL
Tony O FigeroaArgentinaOnyama Limba UNQUALIFIED
David J GlickCanadaAmy Elsner QUALIFIED
Ashley K StockhamIndiaElwin Sharvill PROPOSAL
Octavia P RoysterAustraliaElwin Sharvill NEW
Rodrigues U VenereBrazilStephen Shaw NEGOTIATION
Julie Q DarakjyCanadaElwin Sharvill PROPOSAL
Aruna V CaldareraSpainAmy Elsner NEGOTIATION
Emily M FigeroaCanadaAsiya Javayant QUALIFIED
Leon X GarufiBrazilAsiya Javayant RENEWAL
Stacey Z StensethSpainXuxue Feng UNQUALIFIED
Kadeem L IturbideArgentinaOnyama Limba NEW
Sinclair E SaylorsGermanyOnyama Limba QUALIFIED
Nicolas Z MacleadUnited KingdomOnyama Limba PROPOSAL
Murillo T PoquetteSpainIoni Bowcher PROPOSAL
Jennifer S StensethGermanyAsiya Javayant NEW
Misaki K KolmetzBrazilBernardo Dominic PROPOSAL
Morrow S OstroskyRussiaOnyama Limba PROPOSAL
Kaitlin C DoeIndiaAmy Elsner RENEWAL
Ashley U DoeAustraliaIoni Bowcher NEW
Clifford U DarakjySpainAnna Fali QUALIFIED
Alejandro D OstroskyItalyAsiya Javayant UNQUALIFIED
Izzy M MorascaItalyIvan Magalhaes RENEWAL
Aika L BriddickIndiaAnna Fali PROPOSAL
Kadeem E RoysterBrazilAnna Fali QUALIFIED
James K RoysterFranceStephen Shaw QUALIFIED
Chavez T KolmetzFranceAnna Fali UNQUALIFIED
Ashley F OstroskyFranceAsiya Javayant NEGOTIATION
Misaki S FigeroaIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Antonio I Shinko
Juan G Garufi
Aruna G Slusarski
Smith N Malet
Misaki N Ruta
Leon I Campain
Julie L Stockham
Ricardo F Sergi
Wickens A Bolognia
Salvatore W Darakjy
Salvatore U Dilliard
Costa M Saylors
James B Kusko
James E Whobrey
Julie V Shinko
Ricardo E Malet
David D Royster
Octavia Z Nicka
Jefferson K Paprocki
Costa H Albares
Costa R Shinko
Ivar B Malet
Salvatore G Nicka
Stacey R Poquette
Octavia C Tollner
Rodrigues C Caldarera
Emily B Gaucho
Faith R Gaucho
Jones B Iturbide
Emily A Flosi
Isabel I Perin
Leja X Rim
Izzy T Doe
Aditya F Saylors
Jeanfrancois B Poquette
Nicolas M Dilliard
Mujtaba H Caldarera
Kaitlin X Ruta
Ivar W Butt
Salvatore J Gaucho
Kaitlin G Perin
Faith V Perin
Murillo Y Flosi
Faith Y Bolognia
Jennifer R Bolognia
Chavez I Vocelka
Ashley I Glick
Ivar W Briddick
Claire Z Shinko
Johnson F Caudy
IdCountryDate
1000Russia2026-08-27
1001Brazil2026-08-06
1002Canada2026-08-18
1003France2026-08-16
1004Germany2026-08-21
1005Argentina2026-08-18
1006Canada2026-08-26
1007Spain2026-08-09
1008Russia2026-08-18
1009Japan2026-08-22
1010Italy2026-08-01
1011Australia2026-08-19
1012Argentina2026-08-22
1013Argentina2026-08-08
1014Brazil2026-08-13
1015Argentina2026-08-04
1016India2026-08-01
1017Russia2026-08-28
1018Canada2026-08-19
1019Germany2026-08-28
1020Argentina2026-08-03
1021Germany2026-08-27
1022Spain2026-08-17
1023United Kingdom2026-08-20
1024Spain2026-08-16
1025Canada2026-08-02
1026Spain2026-08-01
1027United Kingdom2026-08-29
1028Italy2026-08-29
1029Spain2026-08-09
1030United Kingdom2026-08-09
1031Canada2026-08-24
1032Canada2026-08-09
1033Spain2026-08-16
1034Argentina2026-08-28
1035United Kingdom2026-08-11
1036India2026-08-21
1037United Kingdom2026-08-29
1038Russia2026-08-06
1039Japan2026-08-05
1040Spain2026-08-09
1041Argentina2026-08-19
1042United Kingdom2026-08-12
1043Spain2026-08-26
1044Australia2026-08-03
1045India2026-08-01
1046Germany2026-08-21
1047United Kingdom2026-08-12
1048Japan2026-08-18
1049Argentina2026-08-18

On-Demand Data

NameIdCountryDate
Morrow Q Nicka1000Canada2026-08-21
Izzy U Iturbide1001Russia2026-08-16
Octavia T Iturbide1002India2026-08-19
Mayumi B Doe1003Canada2026-08-20
Ivar A Nicka1004Spain2026-08-07
Claire V Sergi1005Italy2026-08-14
Johnson K Tollner1006France2026-08-06
Alejandro T Saylors1007United Kingdom2026-08-02
Jeanfrancois A Foller1008Argentina2026-08-29
James Z Poquette1009India2026-08-10
Antonio D Malet1010India2026-08-12
Mayumi G Garufi1011United Kingdom2026-08-22
Francesco O Albares1012India2026-08-23
Chavez A Saylors1013Russia2026-08-07
Stacey L Gaucho1014India2026-08-18
Chavez M Saylors1015Italy2026-08-18
Aika X Waycott1016United Kingdom2026-08-24
Murillo E Whobrey1017Japan2026-08-26
Chavez P Glick1018United Kingdom2026-08-14
Aditya A Doe1019United Kingdom2026-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Y FollerIndiaAmy Elsner UNQUALIFIED
Aruna A CampainAustraliaAsiya Javayant NEW
Leja U FlosiItalyAmy Elsner UNQUALIFIED
Octavia S FerenczRussiaAmy Elsner UNQUALIFIED
Kaitlin L WhobreyBrazilBernardo Dominic NEGOTIATION
Costa A OldroydFranceOnyama Limba RENEWAL
Faith L ShinkoIndiaStephen Shaw QUALIFIED
Leon U DoeFranceAnna Fali NEGOTIATION
James U DoeJapanElwin Sharvill QUALIFIED
Jeanfrancois B SlusarskiSpainElwin Sharvill QUALIFIED
Kaitlin M BologniaIndiaXuxue Feng NEW
Murillo D WhobreyFranceElwin Sharvill NEGOTIATION
Stacey O DilliardGermanyElwin Sharvill PROPOSAL
Leon T CaudyAustraliaBernardo Dominic NEW
Arvin U AmigonFranceIoni Bowcher RENEWAL
Jefferson Y MorascaCanadaStephen Shaw UNQUALIFIED
Ricardo P DoeFranceXuxue Feng PROPOSAL
Nicolas M ChuiBrazilAsiya Javayant UNQUALIFIED
Arvin Q BowleyRussiaBernardo Dominic NEW
Antonio T WhobreyUnited KingdomStephen Shaw QUALIFIED
Aika U RoysterRussiaOnyama Limba UNQUALIFIED
Aruna F SergiIndiaAsiya Javayant PROPOSAL
Francesco D InouyeItalyBernardo Dominic NEGOTIATION
Arvin J ButtFranceStephen Shaw NEW
Munro U VocelkaArgentinaElwin Sharvill QUALIFIED
Murillo C WhobreyItalyBernardo Dominic RENEWAL
Kaitlin M ChuiFranceStephen Shaw PROPOSAL
Faith V InouyeAustraliaIoni Bowcher RENEWAL
Mujtaba M DoeFranceOnyama Limba PROPOSAL
Jeanfrancois S KolmetzSpainIvan Magalhaes NEW
Adams M PoquetteJapanAnna Fali PROPOSAL
Misaki C MaletItalyAmy Elsner UNQUALIFIED
Silvio V WhobreyIndiaOnyama Limba UNQUALIFIED
Clifford W KolmetzJapanIoni Bowcher NEGOTIATION
Jones T ShinkoRussiaIoni Bowcher UNQUALIFIED
Arvin Y StockhamSpainXuxue Feng NEGOTIATION
Aika N DarakjyCanadaBernardo Dominic PROPOSAL
Nicolas I FerenczItalyBernardo Dominic NEW
Aika G DilliardGermanyOnyama Limba RENEWAL
Salvatore C AmigonArgentinaElwin 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>