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
Greenwood O FerenczSpainOnyama Limba PROPOSAL
Adams V StensethUnited KingdomBernardo Dominic NEW
Cody Q ShinkoCanadaIoni Bowcher PROPOSAL
Nicolas N DarakjyGermanyBernardo Dominic NEGOTIATION
Chavez L AmigonGermanyAmy Elsner NEW
Leon W SlusarskiCanadaOnyama Limba NEW
Octavia B MorascaGermanyBernardo Dominic PROPOSAL
Murillo Z OstroskyGermanyElwin Sharvill RENEWAL
Mujtaba M CaldareraJapanIoni Bowcher NEGOTIATION
Isabel F FigeroaAustraliaIvan Magalhaes PROPOSAL
Izzy S OldroydFranceStephen Shaw QUALIFIED
Sinclair E GlickRussiaStephen Shaw UNQUALIFIED
Murillo M MaletAustraliaBernardo Dominic NEGOTIATION
Kadeem H PaprockiUnited KingdomBernardo Dominic QUALIFIED
Antonio X FlosiGermanyAmy Elsner QUALIFIED
Jefferson J WhobreyBrazilIoni Bowcher RENEWAL
Johnson V OstroskyJapanAmy Elsner PROPOSAL
Leja D VocelkaItalyXuxue Feng UNQUALIFIED
Nicolas M OstroskyItalyAnna Fali NEW
Claire K WieserSpainAmy Elsner UNQUALIFIED
Emily H BriddickSpainIvan Magalhaes NEGOTIATION
Leon Y ShinkoSpainOnyama Limba PROPOSAL
Faith B OstroskyIndiaStephen Shaw NEW
Aruna W AlbaresArgentinaIvan Magalhaes PROPOSAL
Arvin Y FlosiRussiaIoni Bowcher PROPOSAL
Chavez Z NickaBrazilAnna Fali QUALIFIED
Adams D DoeAustraliaIoni Bowcher NEW
Adams F DoeGermanyIoni Bowcher RENEWAL
Stacey D KolmetzCanadaStephen Shaw NEGOTIATION
Maisha K CaudyUnited KingdomBernardo Dominic NEGOTIATION
Leja S ButtCanadaXuxue Feng UNQUALIFIED
Aika Z FlosiIndiaIoni Bowcher PROPOSAL
David W VocelkaIndiaXuxue Feng QUALIFIED
Clifford A GlickIndiaBernardo Dominic NEW
Jeanfrancois R DilliardIndiaAsiya Javayant QUALIFIED
James H GillianJapanAmy Elsner UNQUALIFIED
Silvio R StockhamArgentinaAnna Fali QUALIFIED
Mujtaba K FerenczCanadaIvan Magalhaes RENEWAL
Jones U StensethArgentinaXuxue Feng UNQUALIFIED
Kadeem D PaprockiItalyAnna Fali PROPOSAL
Sinclair H CampainAustraliaElwin Sharvill QUALIFIED
Jones Q RoysterItalyAsiya Javayant RENEWAL
Greenwood R VenereBrazilAnna Fali QUALIFIED
Morrow C KuskoIndiaAnna Fali UNQUALIFIED
Cody V IturbideJapanAmy Elsner NEGOTIATION
Aika M SergiFranceXuxue Feng PROPOSAL
Jefferson S GillianUnited KingdomIoni Bowcher UNQUALIFIED
Claire U KolmetzUnited KingdomXuxue Feng NEGOTIATION
Stacey A FigeroaItalyOnyama Limba NEGOTIATION
Johnson B ChuiFranceIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley F ShinkoSpainAmy Elsner NEW
Jennifer L FlosiRussiaAsiya Javayant NEGOTIATION
Maria I WieserRussiaAmy Elsner NEW
Mujtaba I WieserSpainAnna Fali QUALIFIED
Aruna Q SlusarskiJapanOnyama Limba PROPOSAL
Kadeem H GlickJapanAmy Elsner NEGOTIATION
Johnson C SergiCanadaAnna Fali RENEWAL
Tony Y TollnerJapanAmy Elsner PROPOSAL
Stacey O PaprockiIndiaAnna Fali PROPOSAL
Johnson A GlickGermanyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody C GillianGermany2026-07-29Morlong Associates NEGOTIATION49Asiya Javayant
1001Aruna A FerenczItaly2026-07-28Feltz Printing Service PROPOSAL32Ioni Bowcher
1002Octavia Y ButtBrazil2026-08-13King, Christopher A Esq UNQUALIFIED87Asiya Javayant
1003Jefferson Z BriddickFrance2026-08-15Chapman, Ross E Esq PROPOSAL20Elwin Sharvill
1004Jennifer K AmigonJapan2026-08-20King, Christopher A Esq RENEWAL36Amy Elsner
1005Arvin D RutaGermany2026-08-07Rangoni Of Florence RENEWAL95Elwin Sharvill
1006Leja A TollnerIndia2026-08-11King, Christopher A Esq RENEWAL90Stephen Shaw
1007Clifford T SlusarskiSpain2026-08-02Printing Dimensions UNQUALIFIED82Onyama Limba
1008Sinclair R BologniaArgentina2026-08-21Chemel, James L Cpa NEGOTIATION79Xuxue Feng
1009Costa J ShinkoCanada2026-08-22Dorl, James J Esq UNQUALIFIED97Anna Fali
1010Wickens R OstroskyAustralia2026-08-14Rangoni Of Florence NEW8Xuxue Feng
1011Tony E SlusarskiFrance2026-08-19King, Christopher A Esq NEGOTIATION48Amy Elsner
1012Leja B KuskoAustralia2026-08-07Feltz Printing Service QUALIFIED74Onyama Limba
1013Isabel I InouyeRussia2026-08-01Rangoni Of Florence PROPOSAL81Anna Fali
1014Jones Q VocelkaAustralia2026-08-10Benton, John B Jr PROPOSAL96Xuxue Feng
1015Maria Q MaletIndia2026-08-02Morlong Associates QUALIFIED24Anna Fali
1016Isabel P StockhamItaly2026-08-07Benton, John B Jr RENEWAL66Elwin Sharvill
1017Isabel B RulapaughUnited Kingdom2026-08-01Morlong Associates RENEWAL87Elwin Sharvill
1018Smith W PaprockiUnited Kingdom2026-08-03Feltz Printing Service QUALIFIED53Bernardo Dominic
1019Mujtaba Y SaylorsUnited Kingdom2026-08-22Printing Dimensions QUALIFIED91Ivan Magalhaes
1020Ashley Y PerinFrance2026-08-17King, Christopher A Esq UNQUALIFIED13Ivan Magalhaes
1021Misaki V IturbideBrazil2026-08-17Printing Dimensions PROPOSAL28Elwin Sharvill
1022Octavia A PerinCanada2026-08-12Morlong Associates UNQUALIFIED41Anna Fali
1023Chavez G PaprockiGermany2026-08-22Feltz Printing Service NEGOTIATION32Bernardo Dominic
1024Greenwood F AmigonArgentina2026-07-29Benton, John B Jr QUALIFIED15Elwin Sharvill
1025Julie L VocelkaAustralia2026-08-20Printing Dimensions NEW38Onyama Limba
1026David R MacleadItaly2026-08-15Commercial Press UNQUALIFIED64Amy Elsner
1027Cody H VenereFrance2026-08-11Chemel, James L Cpa UNQUALIFIED64Asiya Javayant
1028Misaki R FlosiSpain2026-08-16Chapman, Ross E Esq NEGOTIATION52Anna Fali
1029Clifford L SergiIndia2026-08-21Benton, John B Jr RENEWAL33Elwin Sharvill
1030Julie E FlosiSpain2026-08-07Benton, John B Jr NEW42Stephen Shaw
1031Faith P FlosiUnited Kingdom2026-08-01Buckley Miller Wright NEGOTIATION64Xuxue Feng
1032Morrow B KolmetzArgentina2026-08-19Commercial Press NEW58Xuxue Feng
1033Octavia O PoquetteBrazil2026-08-15Chanay, Jeffrey A Esq RENEWAL48Onyama Limba
1034Antonio X MarrierUnited Kingdom2026-08-16King, Christopher A Esq NEW4Amy Elsner
1035Alejandro P DilliardRussia2026-07-29Chanay, Jeffrey A Esq UNQUALIFIED43Ioni Bowcher
1036Ivar W PoquetteGermany2026-08-06Morlong Associates NEW58Ioni Bowcher
1037Deepesh U ButtRussia2026-08-20Printing Dimensions NEW26Bernardo Dominic
1038Murillo N AlbaresUnited Kingdom2026-08-17Feiner Bros PROPOSAL27Asiya Javayant
1039Octavia A VenereFrance2026-07-27Commercial Press UNQUALIFIED99Ivan Magalhaes
1040James I ChuiRussia2026-08-04Rousseaux, Michael Esq NEGOTIATION55Onyama Limba
1041Murillo N OstroskyUnited Kingdom2026-08-08Buckley Miller Wright NEW17Stephen Shaw
1042James T SlusarskiBrazil2026-08-12Truhlar And Truhlar Attys UNQUALIFIED38Bernardo Dominic
1043Misaki Q GauchoGermany2026-08-21Chemel, James L Cpa NEGOTIATION72Stephen Shaw
1044Ashley I WieserGermany2026-07-30Chapman, Ross E Esq UNQUALIFIED57Amy Elsner
1045Johnson F InouyeSpain2026-08-06Chanay, Jeffrey A Esq UNQUALIFIED32Anna Fali
1046Mujtaba M MacleadIndia2026-08-21Feltz Printing Service PROPOSAL13Ioni Bowcher
1047Faith K GauchoSpain2026-08-20Rangoni Of Florence NEGOTIATION99Asiya Javayant
1048Faith F CaldareraUnited Kingdom2026-08-11Morlong Associates NEGOTIATION36Ioni Bowcher
1049James L ButtBrazil2026-08-20Truhlar And Truhlar Attys QUALIFIED11Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow J FlosiCanadaBernardo Dominic RENEWAL
Aditya W BriddickIndiaElwin Sharvill UNQUALIFIED
Maisha W PaprockiJapanElwin Sharvill PROPOSAL
Sinclair O ChuiFranceAsiya Javayant UNQUALIFIED
Nicolas C MorascaFranceBernardo Dominic PROPOSAL
Ricardo O NickaJapanBernardo Dominic UNQUALIFIED
Clifford H WaycottIndiaBernardo Dominic RENEWAL
Murillo Z DoeJapanIoni Bowcher PROPOSAL
Kadeem D WhobreyIndiaAsiya Javayant RENEWAL
Mayumi K VocelkaBrazilAmy Elsner QUALIFIED
Mayumi E PerinItalyIvan Magalhaes UNQUALIFIED
Chavez D OldroydRussiaBernardo Dominic NEW
Leon A FerenczRussiaIoni Bowcher UNQUALIFIED
Clifford M GillianGermanyStephen Shaw NEGOTIATION
Jennifer R BologniaBrazilAmy Elsner QUALIFIED
Chavez C MacleadCanadaXuxue Feng UNQUALIFIED
Alejandro H MaletIndiaAnna Fali QUALIFIED
Jennifer U FigeroaIndiaIvan Magalhaes QUALIFIED
Ivar G KuskoSpainAsiya Javayant PROPOSAL
Greenwood I DoeUnited KingdomBernardo Dominic NEGOTIATION
Tony G KuskoItalyElwin Sharvill NEW
Aditya J PerinGermanyOnyama Limba QUALIFIED
Nicolas H OldroydJapanAsiya Javayant QUALIFIED
Maisha W RoysterArgentinaIvan Magalhaes RENEWAL
Wickens V GauchoCanadaElwin Sharvill QUALIFIED
Julie I WieserIndiaAnna Fali QUALIFIED
Misaki I RoysterCanadaAmy Elsner NEW
Jennifer C DilliardRussiaXuxue Feng PROPOSAL
Darci M DoeBrazilIvan Magalhaes UNQUALIFIED
Rodrigues F NestleGermanyAsiya Javayant PROPOSAL
Tony B WhobreyCanadaBernardo Dominic UNQUALIFIED
Nicolas U NestleIndiaBernardo Dominic NEGOTIATION
Ashley O ButtIndiaBernardo Dominic NEGOTIATION
Misaki U OstroskyRussiaElwin Sharvill NEGOTIATION
Darci T StockhamFranceBernardo Dominic PROPOSAL
Claire T TollnerUnited KingdomBernardo Dominic NEW
Maisha X FerenczRussiaXuxue Feng QUALIFIED
Arvin U OldroydJapanBernardo Dominic UNQUALIFIED
James R SaylorsFranceAnna Fali RENEWAL
Costa R BowleyUnited KingdomAnna Fali NEW
Francesco I CaldareraAustraliaStephen Shaw NEGOTIATION
Costa B MarrierItalyAsiya Javayant NEW
Emily T VenereCanadaAsiya Javayant RENEWAL
Munro C CampainCanadaAmy Elsner UNQUALIFIED
Johnson U CampainSpainAsiya Javayant QUALIFIED
Aruna N PerinAustraliaElwin Sharvill UNQUALIFIED
Francesco J KuskoJapanXuxue Feng UNQUALIFIED
Ricardo T RulapaughJapanIvan Magalhaes QUALIFIED
Jones M StockhamItalyAmy Elsner UNQUALIFIED
Nicolas P CampainItalyBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco O Maclead
Johnson U Wieser
Morrow T Flosi
David I Tollner
Juan S Poquette
Wickens J Perin
Nicolas G Maclead
Costa W Sergi
Julie K Perin
Alejandro F Butt
Francesco P Royster
Salvatore A Caudy
Aika H Perin
Sinclair G Nicka
James J Schemmer
Morrow K Venere
Antonio S Dilliard
Tony L Gaucho
Isabel X Caudy
Julie Y Sergi
Maisha S Venere
Cody F Bowley
Jennifer I Malet
Misaki N Amigon
Johnson H Garufi
Costa P Darakjy
Alejandro W Ostrosky
Costa C Waycott
Kadeem R Gaucho
Leon K Ferencz
Clifford V Caudy
Silvio G Oldroyd
Clifford L Wieser
James D Malet
Smith J Wieser
Isabel G Bolognia
Jones X Foller
Alejandro W Chui
Aditya N Chui
Kaitlin W Glick
James U Stenseth
Maria V Dilliard
David K Slusarski
Ricardo D Malet
Greenwood R Royster
Jeanfrancois P Ostrosky
Silvio I Darakjy
Leja O Glick
Mujtaba X Royster
Jennifer O Morasca
IdCountryDate
1000Russia2026-08-16
1001Brazil2026-08-05
1002Australia2026-08-09
1003Australia2026-08-20
1004France2026-08-13
1005Argentina2026-07-25
1006Canada2026-08-20
1007France2026-08-19
1008Canada2026-08-06
1009Argentina2026-08-17
1010Spain2026-08-09
1011United Kingdom2026-08-01
1012Italy2026-07-31
1013France2026-08-06
1014Japan2026-08-05
1015France2026-08-01
1016Russia2026-08-15
1017Canada2026-08-16
1018United Kingdom2026-08-23
1019Brazil2026-08-16
1020India2026-08-22
1021Russia2026-08-04
1022United Kingdom2026-08-11
1023Brazil2026-08-15
1024Argentina2026-08-20
1025Australia2026-08-12
1026India2026-08-07
1027France2026-08-06
1028India2026-07-29
1029Germany2026-08-19
1030Canada2026-08-20
1031Germany2026-07-28
1032Argentina2026-07-27
1033Japan2026-08-02
1034Japan2026-08-11
1035Australia2026-08-08
1036Australia2026-07-25
1037Germany2026-08-18
1038India2026-07-26
1039Brazil2026-07-31
1040France2026-08-18
1041France2026-08-22
1042Canada2026-08-02
1043Russia2026-08-10
1044Argentina2026-08-05
1045United Kingdom2026-08-10
1046Russia2026-08-18
1047United Kingdom2026-07-27
1048Brazil2026-08-20
1049Russia2026-08-01

On-Demand Data

NameIdCountryDate
Jeanfrancois K Ostrosky1000Canada2026-08-08
Kaitlin I Stockham1001Japan2026-08-13
Kadeem M Stockham1002Russia2026-08-15
Cody B Wieser1003Argentina2026-08-16
Nicolas X Kusko1004Argentina2026-08-15
Julie A Nestle1005France2026-08-19
Maria Q Gaucho1006Argentina2026-07-30
Nicolas S Bowley1007Germany2026-08-19
Johnson D Poquette1008Germany2026-08-10
Morrow A Glick1009United Kingdom2026-08-16
Izzy C Ferencz1010Germany2026-08-05
Julie S Darakjy1011Argentina2026-07-31
Emily L Ostrosky1012Italy2026-08-02
Jeanfrancois V Bowley1013India2026-08-02
Julie I Darakjy1014Canada2026-07-26
Antonio A Bolognia1015United Kingdom2026-07-29
Isabel E Campain1016France2026-08-17
Julie X Stockham1017Japan2026-08-10
Clifford Q Nestle1018France2026-07-30
Tony Y Perin1019India2026-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio A FigeroaIndiaIoni Bowcher PROPOSAL
Murillo E SchemmerItalyXuxue Feng NEW
Mujtaba J FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Clifford R VenereGermanyAsiya Javayant UNQUALIFIED
Juan R CaldareraAustraliaAmy Elsner NEGOTIATION
Leon Z SaylorsBrazilStephen Shaw NEW
Greenwood S BowleyArgentinaIoni Bowcher NEW
Sinclair E DoeCanadaOnyama Limba PROPOSAL
Murillo H MaletFranceBernardo Dominic QUALIFIED
Costa Z WaycottCanadaStephen Shaw NEGOTIATION
Faith B DilliardIndiaElwin Sharvill PROPOSAL
Maisha B GauchoBrazilAsiya Javayant NEGOTIATION
Ricardo M SlusarskiSpainOnyama Limba NEGOTIATION
Emily P WaycottArgentinaAsiya Javayant QUALIFIED
Octavia R VocelkaItalyAmy Elsner PROPOSAL
Deepesh G VenereUnited KingdomXuxue Feng UNQUALIFIED
Izzy L RulapaughFranceBernardo Dominic UNQUALIFIED
Ivar I WaycottSpainOnyama Limba RENEWAL
Nicolas T MaletCanadaAnna Fali NEW
Ashley O FlosiJapanIvan Magalhaes PROPOSAL
Sinclair U OstroskyJapanAsiya Javayant NEGOTIATION
Munro C CaudyFranceAsiya Javayant NEGOTIATION
Munro G SergiSpainIoni Bowcher PROPOSAL
Morrow H WieserSpainIoni Bowcher NEW
Munro X FlosiAustraliaOnyama Limba NEW
Johnson X DarakjyGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois E SergiSpainStephen Shaw QUALIFIED
Deepesh L IturbideJapanAsiya Javayant RENEWAL
Morrow H NickaUnited KingdomStephen Shaw PROPOSAL
Mayumi N ButtRussiaIvan Magalhaes PROPOSAL
Wickens X PoquetteGermanyAsiya Javayant UNQUALIFIED
Juan P FigeroaIndiaXuxue Feng QUALIFIED
Ricardo C MarrierRussiaElwin Sharvill PROPOSAL
Aika U IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio A FigeroaSpainElwin Sharvill QUALIFIED
Leon Z KuskoItalyBernardo Dominic QUALIFIED
Maria A ShinkoSpainAmy Elsner RENEWAL
Leon J FigeroaItalyAnna Fali QUALIFIED
Cody E BologniaGermanyAsiya Javayant RENEWAL
Izzy M SchemmerCanadaElwin Sharvill 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>