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
Morrow S MaletAustraliaAnna Fali NEW
Jefferson K FollerGermanyXuxue Feng QUALIFIED
Claire J StockhamCanadaBernardo Dominic QUALIFIED
Kaitlin W StockhamIndiaAnna Fali NEGOTIATION
Sinclair T DoeSpainStephen Shaw QUALIFIED
Stacey J GauchoRussiaIvan Magalhaes QUALIFIED
Stacey C RimBrazilXuxue Feng NEGOTIATION
Tony A NickaBrazilAnna Fali QUALIFIED
Deepesh R WhobreyGermanyElwin Sharvill PROPOSAL
Tony C DoeRussiaAnna Fali RENEWAL
Nicolas A PoquetteIndiaXuxue Feng NEW
Mujtaba W GarufiBrazilStephen Shaw PROPOSAL
Kadeem R PoquetteSpainBernardo Dominic NEW
Sinclair Q NestleRussiaAmy Elsner QUALIFIED
Antonio U StensethUnited KingdomIvan Magalhaes QUALIFIED
Aditya X InouyeSpainOnyama Limba NEGOTIATION
Darci J VenereGermanyOnyama Limba RENEWAL
Stacey V CampainCanadaOnyama Limba NEGOTIATION
Ivar C StockhamArgentinaIvan Magalhaes PROPOSAL
Juan I MaletUnited KingdomAsiya Javayant RENEWAL
Juan S WaycottGermanyOnyama Limba PROPOSAL
Darci B OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Munro N SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Stacey D OstroskyIndiaBernardo Dominic RENEWAL
Costa J StensethGermanyIvan Magalhaes UNQUALIFIED
Julie T ShinkoGermanyIoni Bowcher UNQUALIFIED
Munro X DarakjyFranceAsiya Javayant UNQUALIFIED
Arvin U InouyeItalyElwin Sharvill NEW
Jennifer S PoquetteItalyAnna Fali NEGOTIATION
Morrow V StockhamFranceIoni Bowcher RENEWAL
Rodrigues N FerenczIndiaAsiya Javayant NEW
Arvin R PerinRussiaAsiya Javayant NEW
Darci B FlosiBrazilStephen Shaw UNQUALIFIED
Leon B VenereUnited KingdomElwin Sharvill RENEWAL
Mayumi M RulapaughIndiaXuxue Feng NEW
Salvatore L CampainRussiaStephen Shaw PROPOSAL
Misaki P RulapaughGermanyOnyama Limba UNQUALIFIED
Octavia J MaletIndiaIoni Bowcher NEW
Tony N PoquetteIndiaAmy Elsner RENEWAL
Jefferson C WaycottCanadaBernardo Dominic NEW
Leon S MacleadGermanyElwin Sharvill NEGOTIATION
Jennifer F MaletSpainAnna Fali PROPOSAL
Jefferson W KuskoBrazilXuxue Feng NEGOTIATION
Aditya J AmigonCanadaBernardo Dominic QUALIFIED
Octavia N WhobreyJapanXuxue Feng PROPOSAL
David E WhobreyIndiaAnna Fali NEW
Izzy H KolmetzGermanyXuxue Feng RENEWAL
Morrow R RimBrazilElwin Sharvill NEGOTIATION
Maisha K PerinJapanAsiya Javayant PROPOSAL
Maria X FerenczRussiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel H SaylorsUnited KingdomXuxue Feng NEW
Tony N WhobreyGermanyOnyama Limba PROPOSAL
Costa Z MorascaCanadaElwin Sharvill QUALIFIED
Costa M KolmetzCanadaOnyama Limba PROPOSAL
Sinclair Q SaylorsCanadaXuxue Feng NEGOTIATION
Jeanfrancois C OldroydIndiaAnna Fali UNQUALIFIED
Salvatore Y ChuiAustraliaElwin Sharvill RENEWAL
Emily G FigeroaRussiaIvan Magalhaes QUALIFIED
Costa Q CaldareraArgentinaXuxue Feng PROPOSAL
Johnson C SergiItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika X MorascaRussia2025-04-27Rangoni Of Florence QUALIFIED11Amy Elsner
1001Claire M WhobreyJapan2025-04-16Chapman, Ross E Esq QUALIFIED76Anna Fali
1002Clifford X MaletRussia2025-04-10Feltz Printing Service NEW16Elwin Sharvill
1003Costa D InouyeRussia2025-04-26Printing Dimensions NEW92Onyama Limba
1004Jones C NestleCanada2025-04-10Morlong Associates PROPOSAL83Bernardo Dominic
1005Sinclair W FollerSpain2025-04-08Feiner Bros NEW10Xuxue Feng
1006Murillo K PerinBrazil2025-04-16Truhlar And Truhlar Attys QUALIFIED65Ioni Bowcher
1007Smith Z WhobreyItaly2025-04-15Morlong Associates QUALIFIED9Elwin Sharvill
1008Jennifer M FlosiItaly2025-04-18Chapman, Ross E Esq RENEWAL30Elwin Sharvill
1009Faith P MacleadRussia2025-04-11Chemel, James L Cpa NEW92Asiya Javayant
1010Murillo T FlosiFrance2025-04-18Rousseaux, Michael Esq RENEWAL54Stephen Shaw
1011Tony F MaletAustralia2025-04-24Printing Dimensions UNQUALIFIED44Ivan Magalhaes
1012Adams Y StensethIndia2025-04-08Benton, John B Jr PROPOSAL57Onyama Limba
1013Adams P GillianCanada2025-04-14Chanay, Jeffrey A Esq PROPOSAL43Bernardo Dominic
1014David N ShinkoAustralia2025-04-28Rangoni Of Florence QUALIFIED22Elwin Sharvill
1015Ricardo J OldroydSpain2025-04-28Buckley Miller Wright QUALIFIED88Asiya Javayant
1016Smith G StensethItaly2025-04-24Chemel, James L Cpa NEGOTIATION37Ioni Bowcher
1017Aruna Y VenereGermany2025-04-10Dorl, James J Esq RENEWAL54Ivan Magalhaes
1018Clifford Z IturbideBrazil2025-04-23Truhlar And Truhlar Attys NEW19Asiya Javayant
1019Wickens P RoysterIndia2025-04-08King, Christopher A Esq QUALIFIED46Ivan Magalhaes
1020Faith A VenereCanada2025-04-25Printing Dimensions NEGOTIATION5Ivan Magalhaes
1021Murillo C OldroydSpain2025-04-05Truhlar And Truhlar Attys UNQUALIFIED83Onyama Limba
1022Maria N SlusarskiSpain2025-04-14King, Christopher A Esq NEW20Ivan Magalhaes
1023Leon U MaletIndia2025-04-07King, Christopher A Esq RENEWAL94Ivan Magalhaes
1024Aditya X GauchoBrazil2025-04-29Chemel, James L Cpa UNQUALIFIED56Asiya Javayant
1025Clifford J PoquetteBrazil2025-04-22Rousseaux, Michael Esq QUALIFIED19Anna Fali
1026Munro X GillianArgentina2025-04-14Benton, John B Jr PROPOSAL55Onyama Limba
1027James M StensethUnited Kingdom2025-04-29Chanay, Jeffrey A Esq RENEWAL83Onyama Limba
1028Juan Y ButtArgentina2025-04-17Chanay, Jeffrey A Esq NEGOTIATION37Xuxue Feng
1029Aruna P NickaSpain2025-04-14Benton, John B Jr QUALIFIED30Stephen Shaw
1030Sinclair D SchemmerSpain2025-04-14Commercial Press PROPOSAL69Xuxue Feng
1031Jennifer G OstroskyBrazil2025-04-11King, Christopher A Esq PROPOSAL22Stephen Shaw
1032Aruna Q FollerArgentina2025-04-03Feltz Printing Service PROPOSAL89Ivan Magalhaes
1033Kadeem A FlosiItaly2025-04-04Truhlar And Truhlar Attys NEW66Amy Elsner
1034Murillo J MorascaJapan2025-04-03Chapman, Ross E Esq UNQUALIFIED35Bernardo Dominic
1035Salvatore L BriddickAustralia2025-04-16Commercial Press RENEWAL89Elwin Sharvill
1036Emily N FollerRussia2025-04-13Feiner Bros QUALIFIED2Bernardo Dominic
1037David R InouyeFrance2025-04-29Chemel, James L Cpa NEW24Ivan Magalhaes
1038Emily V GlickCanada2025-04-25Chanay, Jeffrey A Esq NEW65Ioni Bowcher
1039Mujtaba M IturbideAustralia2025-04-19Chapman, Ross E Esq UNQUALIFIED39Asiya Javayant
1040Cody X OstroskyIndia2025-04-04Chapman, Ross E Esq NEGOTIATION38Xuxue Feng
1041Jefferson U OldroydIndia2025-04-14Chemel, James L Cpa NEW2Elwin Sharvill
1042Isabel M BowleySpain2025-04-15Chapman, Ross E Esq RENEWAL1Amy Elsner
1043Ricardo S MacleadUnited Kingdom2025-04-25Rangoni Of Florence RENEWAL58Ivan Magalhaes
1044Rodrigues V WieserArgentina2025-04-19Chanay, Jeffrey A Esq NEW27Elwin Sharvill
1045Sinclair J GarufiAustralia2025-04-07Feiner Bros NEGOTIATION98Stephen Shaw
1046Juan M PerinSpain2025-04-28Feiner Bros NEW75Xuxue Feng
1047David U MorascaBrazil2025-04-28Feiner Bros RENEWAL83Amy Elsner
1048Emily B RulapaughAustralia2025-04-28Morlong Associates NEGOTIATION9Asiya Javayant
1049Octavia N DoeGermany2025-04-28Buckley Miller Wright PROPOSAL67Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro Y MaletGermanyOnyama Limba QUALIFIED
Octavia N WieserUnited KingdomAnna Fali NEW
Wickens B MacleadItalyAnna Fali PROPOSAL
Greenwood S SlusarskiIndiaAsiya Javayant UNQUALIFIED
Clifford T DoeIndiaBernardo Dominic NEGOTIATION
Maisha Y OldroydRussiaAsiya Javayant QUALIFIED
Greenwood A SlusarskiItalyOnyama Limba PROPOSAL
Ashley B OstroskyRussiaAsiya Javayant RENEWAL
Ashley Q VenereRussiaIoni Bowcher NEW
Jennifer V CaudySpainOnyama Limba UNQUALIFIED
Ricardo A VocelkaArgentinaAsiya Javayant NEGOTIATION
Aika P DoeJapanStephen Shaw UNQUALIFIED
Smith F KuskoRussiaAmy Elsner UNQUALIFIED
Octavia J MaletSpainBernardo Dominic UNQUALIFIED
Kadeem V OldroydBrazilIvan Magalhaes RENEWAL
Izzy K CaldareraCanadaXuxue Feng UNQUALIFIED
Chavez V ShinkoRussiaBernardo Dominic NEW
Emily S GlickIndiaAmy Elsner UNQUALIFIED
Greenwood M BologniaUnited KingdomIvan Magalhaes RENEWAL
James I SaylorsBrazilIoni Bowcher PROPOSAL
Aika G MaletJapanStephen Shaw PROPOSAL
Chavez T MarrierCanadaAnna Fali PROPOSAL
Izzy V InouyeAustraliaIvan Magalhaes RENEWAL
Nicolas P KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Murillo U NestleSpainOnyama Limba QUALIFIED
Misaki Z ButtJapanAsiya Javayant NEW
Alejandro Z MorascaGermanyOnyama Limba RENEWAL
Nicolas W PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Jones T ChuiArgentinaStephen Shaw QUALIFIED
Chavez S FlosiJapanOnyama Limba UNQUALIFIED
Claire O PoquetteGermanyAsiya Javayant NEGOTIATION
Clifford B DarakjyItalyIoni Bowcher UNQUALIFIED
Murillo N PaprockiItalyXuxue Feng QUALIFIED
Wickens P FigeroaUnited KingdomAnna Fali UNQUALIFIED
Jefferson L ButtAustraliaBernardo Dominic QUALIFIED
Sinclair R CampainAustraliaAnna Fali UNQUALIFIED
Octavia E ChuiBrazilAsiya Javayant RENEWAL
Jones G ChuiCanadaElwin Sharvill RENEWAL
Nicolas D GarufiCanadaElwin Sharvill UNQUALIFIED
Francesco C WaycottArgentinaElwin Sharvill QUALIFIED
Kadeem R SlusarskiIndiaElwin Sharvill RENEWAL
Antonio S DilliardBrazilAnna Fali QUALIFIED
Clifford W FlosiIndiaAnna Fali QUALIFIED
Sinclair F SchemmerAustraliaElwin Sharvill RENEWAL
Ricardo D CaudyFranceAmy Elsner PROPOSAL
Faith V SergiUnited KingdomAsiya Javayant RENEWAL
Tony O StensethRussiaIoni Bowcher NEW
Arvin G WieserSpainIoni Bowcher NEW
Aditya S RoysterFranceBernardo Dominic NEGOTIATION
Alejandro S SaylorsJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Smith A Inouye
Jennifer M Kolmetz
Jones E Ferencz
David F Tollner
Arvin V Oldroyd
Faith X Kusko
Francesco C Gaucho
Faith P Oldroyd
Smith B Rulapaugh
Jefferson V Kolmetz
Jennifer D Caudy
Ashley N Paprocki
Emily I Caudy
Juan Y Marrier
Maisha Z Bolognia
Octavia I Darakjy
Darci I Bowley
Ashley F Briddick
Aditya D Ostrosky
Misaki B Garufi
Munro Z Saylors
Jefferson D Sergi
Maria Z Briddick
Arvin C Saylors
Mujtaba G Gillian
Jennifer J Ostrosky
Maria Y Ruta
Isabel K Ruta
Faith D Darakjy
Isabel O Rulapaugh
Misaki T Garufi
Claire L Amigon
Aditya X Gaucho
Greenwood M Schemmer
Alejandro G Iturbide
Faith Z Saylors
Morrow T Rulapaugh
David I Iturbide
Julie F Morasca
Maisha F Dilliard
Aditya R Gillian
Maria U Slusarski
Antonio I Caudy
Greenwood B Briddick
Claire N Perin
Salvatore C Stockham
Munro K Waycott
Cody Q Sergi
Jefferson Y Briddick
Maria E Perin
IdCountryDate
1000Spain2025-04-16
1001India2025-04-29
1002United Kingdom2025-04-25
1003Australia2025-04-28
1004Germany2025-04-21
1005Argentina2025-04-12
1006India2025-04-07
1007India2025-04-12
1008Russia2025-04-28
1009Italy2025-04-01
1010France2025-04-18
1011Australia2025-04-27
1012Canada2025-04-28
1013Canada2025-04-16
1014Japan2025-04-27
1015United Kingdom2025-04-25
1016Australia2025-04-06
1017France2025-04-28
1018Spain2025-04-02
1019Italy2025-04-05
1020Brazil2025-04-07
1021Canada2025-04-23
1022Spain2025-04-24
1023India2025-04-15
1024India2025-04-27
1025France2025-04-10
1026Spain2025-04-07
1027Russia2025-04-23
1028Italy2025-04-17
1029India2025-04-26
1030France2025-04-07
1031United Kingdom2025-04-20
1032Brazil2025-04-30
1033Spain2025-04-09
1034Australia2025-04-30
1035Australia2025-04-05
1036Argentina2025-04-21
1037India2025-04-16
1038Australia2025-04-05
1039Australia2025-04-02
1040Russia2025-04-09
1041India2025-04-25
1042Russia2025-04-01
1043United Kingdom2025-04-16
1044Brazil2025-04-16
1045Italy2025-04-28
1046Spain2025-04-27
1047Australia2025-04-26
1048Russia2025-04-27
1049Canada2025-04-25

On-Demand Data

NameIdCountryDate
Julie D Albares1000Canada2025-04-07
Mayumi X Wieser1001India2025-04-14
Tony I Stockham1002France2025-04-02
Costa B Rim1003Australia2025-04-06
Johnson Q Whobrey1004India2025-04-06
Leon M Waycott1005Russia2025-04-25
Alejandro M Bowley1006United Kingdom2025-04-12
Murillo F Ferencz1007Canada2025-04-17
Misaki Q Kolmetz1008India2025-04-08
Jefferson H Ostrosky1009Italy2025-04-02
Greenwood Q Schemmer1010Canada2025-04-27
Murillo R Perin1011Japan2025-04-29
Johnson J Marrier1012Russia2025-04-10
Jennifer G Bolognia1013Russia2025-04-21
Maisha Z Paprocki1014Australia2025-04-24
Nicolas Y Slusarski1015Argentina2025-04-01
Morrow L Albares1016India2025-04-28
Aika B Marrier1017Russia2025-04-20
Johnson Q Schemmer1018Australia2025-04-09
Faith D Briddick1019India2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith D OldroydFranceElwin Sharvill UNQUALIFIED
Jones D SchemmerAustraliaAnna Fali UNQUALIFIED
Isabel Y CaldareraItalyAsiya Javayant NEGOTIATION
Claire N DoeGermanyAsiya Javayant RENEWAL
Mayumi X KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar C BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Leja V PaprockiSpainOnyama Limba RENEWAL
Aditya D RutaUnited KingdomIvan Magalhaes PROPOSAL
Ashley H MarrierJapanXuxue Feng NEW
Ivar V OstroskyItalyIoni Bowcher PROPOSAL
Salvatore G PaprockiRussiaStephen Shaw UNQUALIFIED
Munro R RulapaughGermanyAnna Fali NEW
Stacey D KuskoCanadaXuxue Feng NEW
Maisha G BriddickFranceAsiya Javayant PROPOSAL
Leon Q OldroydJapanOnyama Limba PROPOSAL
Octavia G AlbaresFranceOnyama Limba QUALIFIED
Aditya S WaycottRussiaXuxue Feng UNQUALIFIED
Smith E GauchoIndiaXuxue Feng RENEWAL
James X KuskoIndiaElwin Sharvill RENEWAL
Arvin C MaletItalyAmy Elsner NEGOTIATION
Nicolas S ButtRussiaXuxue Feng QUALIFIED
Tony A FlosiRussiaIoni Bowcher QUALIFIED
Arvin O MarrierRussiaXuxue Feng NEW
Aruna Z RimItalyXuxue Feng UNQUALIFIED
Faith P MarrierRussiaOnyama Limba PROPOSAL
Arvin K SchemmerSpainElwin Sharvill RENEWAL
Julie O NestleUnited KingdomXuxue Feng NEW
David H SergiIndiaAnna Fali PROPOSAL
Rodrigues O ButtRussiaIoni Bowcher PROPOSAL
Jefferson J MaletFranceIvan Magalhaes QUALIFIED
Salvatore X FerenczAustraliaIoni Bowcher PROPOSAL
Maria U CaldareraFranceOnyama Limba RENEWAL
Nicolas P ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues K MarrierGermanyStephen Shaw NEGOTIATION
Darci Y StockhamUnited KingdomAsiya Javayant QUALIFIED
Francesco Q ButtBrazilXuxue Feng UNQUALIFIED
Morrow Q OstroskyArgentinaOnyama Limba NEGOTIATION
Nicolas U MarrierArgentinaXuxue Feng UNQUALIFIED
Kadeem N RimAustraliaAmy Elsner QUALIFIED
Faith L CaudyFranceBernardo Dominic PROPOSAL

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