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
Ashley Z ShinkoCanadaAsiya Javayant QUALIFIED
Tony A MaletGermanyXuxue Feng NEGOTIATION
Juan Z TollnerSpainIvan Magalhaes NEW
Claire Q WaycottRussiaIvan Magalhaes RENEWAL
Mayumi G ChuiFranceOnyama Limba RENEWAL
Jennifer X PerinSpainAmy Elsner PROPOSAL
Deepesh I NestleFranceBernardo Dominic RENEWAL
Julie Q RulapaughBrazilBernardo Dominic NEGOTIATION
Munro K PaprockiSpainOnyama Limba NEW
Chavez P VenereUnited KingdomBernardo Dominic NEGOTIATION
Emily S AlbaresArgentinaStephen Shaw UNQUALIFIED
Ashley Q OldroydSpainAnna Fali NEW
Sinclair K KuskoFranceIoni Bowcher NEGOTIATION
Morrow S CampainBrazilIvan Magalhaes QUALIFIED
Ricardo X WieserIndiaStephen Shaw QUALIFIED
Misaki J SlusarskiAustraliaAnna Fali RENEWAL
Smith Y RutaUnited KingdomElwin Sharvill UNQUALIFIED
Claire Y RoysterAustraliaOnyama Limba PROPOSAL
Greenwood Z ButtArgentinaAnna Fali NEGOTIATION
Nicolas H KuskoSpainElwin Sharvill NEW
Emily V ButtItalyBernardo Dominic PROPOSAL
Aika K CaldareraRussiaAmy Elsner QUALIFIED
Aditya U NickaSpainAsiya Javayant PROPOSAL
Costa F FigeroaCanadaIoni Bowcher UNQUALIFIED
David J SergiBrazilElwin Sharvill UNQUALIFIED
Nicolas W ButtBrazilIoni Bowcher UNQUALIFIED
Maria B PerinRussiaIvan Magalhaes NEW
Maria A RulapaughBrazilOnyama Limba PROPOSAL
Ricardo B NestleAustraliaAmy Elsner QUALIFIED
Mujtaba S StockhamUnited KingdomXuxue Feng PROPOSAL
Jefferson P IturbideJapanStephen Shaw QUALIFIED
Claire O NickaFranceBernardo Dominic NEW
Tony Y FerenczJapanAmy Elsner QUALIFIED
Izzy F VocelkaUnited KingdomAmy Elsner RENEWAL
Chavez N FlosiSpainAsiya Javayant PROPOSAL
Jones R FigeroaItalyAmy Elsner QUALIFIED
Wickens D SergiUnited KingdomIoni Bowcher QUALIFIED
Julie H DoeArgentinaIoni Bowcher PROPOSAL
Leon S BowleyArgentinaBernardo Dominic NEW
Julie Z SergiAustraliaXuxue Feng PROPOSAL
Tony L CampainItalyElwin Sharvill PROPOSAL
Aruna S SchemmerIndiaXuxue Feng NEW
Silvio G CaudyCanadaBernardo Dominic QUALIFIED
Smith L OstroskyRussiaAsiya Javayant NEGOTIATION
Salvatore S MaletUnited KingdomXuxue Feng NEW
Mayumi X BologniaAustraliaStephen Shaw QUALIFIED
Stacey U NickaRussiaOnyama Limba RENEWAL
Juan C FigeroaUnited KingdomAnna Fali PROPOSAL
Darci W ShinkoUnited KingdomAnna Fali QUALIFIED
Juan O StockhamSpainOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones V MaletIndiaOnyama Limba NEW
Jefferson S CaudySpainAnna Fali NEGOTIATION
Ivar D SchemmerFranceXuxue Feng UNQUALIFIED
Mayumi X VenereArgentinaXuxue Feng NEGOTIATION
Johnson X IturbideCanadaOnyama Limba NEGOTIATION
Claire I SaylorsBrazilIoni Bowcher PROPOSAL
Silvio E IturbideItalyXuxue Feng PROPOSAL
Julie V OstroskyIndiaBernardo Dominic UNQUALIFIED
Johnson Y PoquetteBrazilElwin Sharvill RENEWAL
Maisha M ShinkoArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Q MarrierIndia2026-06-30King, Christopher A Esq PROPOSAL99Anna Fali
1001Tony C CaudyRussia2026-06-13King, Christopher A Esq QUALIFIED13Bernardo Dominic
1002Ricardo P FigeroaItaly2026-06-11Feltz Printing Service QUALIFIED25Ivan Magalhaes
1003Isabel S GarufiUnited Kingdom2026-07-03Commercial Press RENEWAL18Xuxue Feng
1004Mujtaba W DarakjyUnited Kingdom2026-07-05Feiner Bros UNQUALIFIED96Ivan Magalhaes
1005Tony K RoysterIndia2026-06-29Commercial Press QUALIFIED2Amy Elsner
1006Mujtaba L GauchoIndia2026-06-26King, Christopher A Esq UNQUALIFIED31Anna Fali
1007Aika M NestleIndia2026-06-26Chanay, Jeffrey A Esq NEW61Asiya Javayant
1008Munro J DoeIndia2026-07-03Truhlar And Truhlar Attys PROPOSAL0Asiya Javayant
1009Wickens Q MacleadGermany2026-07-01Chanay, Jeffrey A Esq QUALIFIED18Asiya Javayant
1010Clifford U SergiItaly2026-07-05Morlong Associates NEW2Elwin Sharvill
1011Leon O SchemmerSpain2026-06-24Morlong Associates NEGOTIATION42Bernardo Dominic
1012Nicolas H TollnerFrance2026-06-18King, Christopher A Esq NEW92Asiya Javayant
1013Mayumi K BologniaSpain2026-06-14Dorl, James J Esq UNQUALIFIED41Xuxue Feng
1014Morrow W BriddickArgentina2026-06-27Morlong Associates PROPOSAL35Anna Fali
1015Octavia N DarakjyFrance2026-06-08Chanay, Jeffrey A Esq QUALIFIED27Elwin Sharvill
1016Munro P OldroydBrazil2026-06-12Benton, John B Jr NEGOTIATION12Bernardo Dominic
1017Cody R MarrierBrazil2026-06-30Benton, John B Jr NEGOTIATION10Ioni Bowcher
1018Deepesh A MaletBrazil2026-06-22Buckley Miller Wright QUALIFIED5Xuxue Feng
1019Silvio D GarufiRussia2026-06-11Feiner Bros NEW11Ivan Magalhaes
1020Leja E StensethCanada2026-07-04Chapman, Ross E Esq PROPOSAL0Xuxue Feng
1021Johnson R RoysterRussia2026-06-11Feiner Bros NEW51Asiya Javayant
1022Aditya F MaletCanada2026-06-26Truhlar And Truhlar Attys NEW8Ivan Magalhaes
1023Leon N IturbideBrazil2026-06-20Printing Dimensions UNQUALIFIED65Ivan Magalhaes
1024Maisha R SlusarskiAustralia2026-06-14Rangoni Of Florence NEGOTIATION71Ivan Magalhaes
1025Murillo E SlusarskiCanada2026-06-13Truhlar And Truhlar Attys RENEWAL97Xuxue Feng
1026Aruna D DilliardItaly2026-06-16Dorl, James J Esq UNQUALIFIED43Asiya Javayant
1027Rodrigues V SergiFrance2026-06-10Rousseaux, Michael Esq UNQUALIFIED82Ioni Bowcher
1028Kaitlin D VenereArgentina2026-07-05Feltz Printing Service NEW25Onyama Limba
1029Costa R TollnerFrance2026-06-26Commercial Press NEW10Elwin Sharvill
1030Morrow T VocelkaArgentina2026-06-14Buckley Miller Wright QUALIFIED64Anna Fali
1031David K RutaBrazil2026-07-02Rousseaux, Michael Esq QUALIFIED93Ioni Bowcher
1032Leja S RulapaughUnited Kingdom2026-06-21Chapman, Ross E Esq QUALIFIED41Ivan Magalhaes
1033Izzy R GauchoAustralia2026-07-03Chanay, Jeffrey A Esq NEW69Bernardo Dominic
1034Leja V VenereIndia2026-07-05Buckley Miller Wright QUALIFIED67Xuxue Feng
1035Murillo E SaylorsFrance2026-06-19Buckley Miller Wright NEW83Ioni Bowcher
1036Leja H BowleyJapan2026-06-21Truhlar And Truhlar Attys RENEWAL12Amy Elsner
1037David Z CaldareraFrance2026-06-24Morlong Associates QUALIFIED27Ivan Magalhaes
1038Silvio F IturbideGermany2026-06-21Buckley Miller Wright QUALIFIED3Stephen Shaw
1039Misaki C WhobreyItaly2026-07-04Chemel, James L Cpa QUALIFIED66Elwin Sharvill
1040Isabel L MacleadSpain2026-06-15Truhlar And Truhlar Attys NEGOTIATION78Amy Elsner
1041Adams H WaycottCanada2026-06-10Chanay, Jeffrey A Esq NEGOTIATION9Elwin Sharvill
1042Greenwood G GlickJapan2026-07-06Chanay, Jeffrey A Esq NEGOTIATION56Ioni Bowcher
1043Nicolas R FigeroaArgentina2026-06-28Chanay, Jeffrey A Esq RENEWAL8Onyama Limba
1044Mujtaba U CaudyAustralia2026-06-27Commercial Press UNQUALIFIED38Xuxue Feng
1045Aika F StockhamUnited Kingdom2026-07-04Truhlar And Truhlar Attys QUALIFIED56Amy Elsner
1046Juan X NestleCanada2026-06-09King, Christopher A Esq UNQUALIFIED92Asiya Javayant
1047Stacey Q SergiAustralia2026-06-29King, Christopher A Esq PROPOSAL43Anna Fali
1048Nicolas I InouyeRussia2026-06-08Rousseaux, Michael Esq PROPOSAL31Onyama Limba
1049Antonio I InouyeArgentina2026-06-12Commercial Press RENEWAL36Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore N MarrierAustraliaStephen Shaw RENEWAL
Jeanfrancois C FigeroaArgentinaXuxue Feng UNQUALIFIED
Octavia A ShinkoGermanyAnna Fali NEW
Jones Y WaycottIndiaBernardo Dominic QUALIFIED
Mujtaba X StockhamGermanyAsiya Javayant QUALIFIED
Claire K BowleyAustraliaAsiya Javayant PROPOSAL
Arvin D OstroskyBrazilAnna Fali RENEWAL
Morrow Y BowleyBrazilXuxue Feng RENEWAL
James W NestleAustraliaOnyama Limba RENEWAL
Jennifer L GauchoItalyOnyama Limba PROPOSAL
Mujtaba F SergiCanadaElwin Sharvill NEW
Rodrigues K CaldareraFranceAsiya Javayant UNQUALIFIED
Octavia T PerinArgentinaAnna Fali PROPOSAL
Silvio W ShinkoItalyIvan Magalhaes QUALIFIED
Chavez I FollerJapanIoni Bowcher RENEWAL
Tony M OstroskyItalyAmy Elsner RENEWAL
Johnson U BowleyAustraliaBernardo Dominic RENEWAL
Francesco E GlickBrazilIvan Magalhaes NEW
Ashley C ButtGermanyElwin Sharvill RENEWAL
Juan E CaldareraAustraliaAnna Fali NEGOTIATION
Julie U SlusarskiRussiaStephen Shaw UNQUALIFIED
Claire I CaldareraGermanyAmy Elsner UNQUALIFIED
Julie E VenereCanadaElwin Sharvill NEW
Misaki D KuskoSpainAsiya Javayant NEW
Jeanfrancois T MacleadGermanyAsiya Javayant NEW
Jones F PaprockiUnited KingdomOnyama Limba PROPOSAL
Tony M StockhamGermanyAnna Fali NEGOTIATION
Mujtaba K CampainIndiaIvan Magalhaes QUALIFIED
Leja A SchemmerRussiaStephen Shaw QUALIFIED
Jennifer Z SaylorsAustraliaStephen Shaw UNQUALIFIED
Arvin B BriddickIndiaStephen Shaw UNQUALIFIED
Munro I RimGermanyIvan Magalhaes PROPOSAL
Rodrigues T CampainJapanXuxue Feng PROPOSAL
Alejandro R TollnerGermanyOnyama Limba UNQUALIFIED
Clifford V InouyeIndiaAsiya Javayant RENEWAL
Francesco K GarufiFranceBernardo Dominic PROPOSAL
Leja F IturbideFranceStephen Shaw QUALIFIED
Wickens O AmigonUnited KingdomAnna Fali UNQUALIFIED
Jefferson X FerenczAustraliaStephen Shaw RENEWAL
Emily P RutaItalyStephen Shaw NEGOTIATION
Kadeem F DarakjyRussiaAsiya Javayant RENEWAL
Stacey S MarrierFranceIvan Magalhaes NEGOTIATION
Jeanfrancois Z SchemmerJapanBernardo Dominic QUALIFIED
Maria B PaprockiUnited KingdomBernardo Dominic PROPOSAL
Murillo U MaletRussiaElwin Sharvill PROPOSAL
Deepesh R FlosiAustraliaAsiya Javayant NEGOTIATION
James N ShinkoUnited KingdomXuxue Feng PROPOSAL
Tony I CampainAustraliaAnna Fali NEW
Claire C SergiUnited KingdomOnyama Limba PROPOSAL
James E FerenczGermanyAmy Elsner QUALIFIED
Frozen Columns
Name
Mujtaba S Saylors
Ivar G Amigon
Kadeem Q Poquette
Smith D Sergi
Cody Q Ferencz
Wickens Z Poquette
Emily C Morasca
Greenwood V Caudy
Darci F Nicka
Silvio K Rulapaugh
Mujtaba A Morasca
Darci A Malet
Izzy U Royster
Greenwood L Nestle
Chavez Q Albares
Maisha I Amigon
Jennifer O Bolognia
Francesco Q Inouye
Kaitlin Z Caudy
Ivar F Iturbide
Adams Y Inouye
Silvio U Shinko
Mujtaba W Ferencz
Francesco C Foller
Jennifer L Doe
Greenwood F Darakjy
Stacey N Figeroa
Izzy F Vocelka
Silvio L Nicka
Antonio Z Nicka
Smith E Flosi
Leon I Paprocki
Adams R Kusko
Sinclair U Malet
Jefferson K Ferencz
Darci Q Royster
Salvatore B Malet
Cody W Briddick
Silvio X Malet
Tony C Gaucho
Adams E Vocelka
Jeanfrancois H Wieser
Julie M Marrier
Nicolas D Oldroyd
Munro R Slusarski
Jeanfrancois C Foller
Costa R Briddick
Murillo J Ostrosky
Clifford T Sergi
Murillo H Caudy
IdCountryDate
1000Argentina2026-06-18
1001United Kingdom2026-06-17
1002Japan2026-06-22
1003Spain2026-06-15
1004Japan2026-07-04
1005India2026-07-07
1006Germany2026-06-23
1007Spain2026-06-15
1008Argentina2026-06-09
1009United Kingdom2026-06-24
1010Russia2026-06-28
1011India2026-06-10
1012India2026-06-11
1013Brazil2026-06-24
1014Germany2026-06-26
1015Australia2026-06-28
1016Italy2026-06-11
1017France2026-06-25
1018United Kingdom2026-07-05
1019France2026-07-01
1020India2026-06-25
1021Brazil2026-07-07
1022Spain2026-07-03
1023India2026-06-24
1024Canada2026-06-28
1025France2026-06-30
1026United Kingdom2026-06-25
1027Italy2026-06-29
1028Russia2026-07-03
1029Argentina2026-06-22
1030Russia2026-06-14
1031Argentina2026-06-14
1032Australia2026-06-10
1033Australia2026-07-05
1034France2026-06-17
1035France2026-06-29
1036France2026-06-22
1037United Kingdom2026-06-15
1038Spain2026-07-02
1039France2026-06-12
1040Germany2026-06-22
1041Russia2026-06-27
1042Russia2026-07-07
1043France2026-07-07
1044Brazil2026-06-28
1045United Kingdom2026-07-04
1046Italy2026-06-12
1047France2026-06-29
1048Italy2026-06-24
1049Australia2026-06-26

On-Demand Data

NameIdCountryDate
Jennifer X Garufi1000Canada2026-07-01
Tony K Amigon1001France2026-06-25
Maria V Chui1002Germany2026-06-20
Chavez T Butt1003Japan2026-06-27
Salvatore L Marrier1004Japan2026-06-08
Jeanfrancois C Briddick1005Argentina2026-06-17
Antonio Y Schemmer1006Canada2026-06-16
Faith Y Venere1007France2026-07-02
Stacey M Foller1008Japan2026-06-27
Alejandro M Kusko1009Spain2026-06-15
Nicolas M Caldarera1010Brazil2026-06-20
Aika D Dilliard1011Germany2026-06-26
Juan W Slusarski1012United Kingdom2026-07-06
Smith S Shinko1013Japan2026-06-20
Kaitlin V Gillian1014France2026-06-08
Emily R Schemmer1015Australia2026-06-20
Mujtaba Q Morasca1016France2026-06-27
Jennifer Q Bolognia1017Argentina2026-06-10
Darci I Ruta1018Brazil2026-06-15
Leon V Kolmetz1019United Kingdom2026-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David O AmigonCanadaStephen Shaw QUALIFIED
Ashley I CaldareraSpainAmy Elsner NEGOTIATION
Jennifer O GarufiJapanXuxue Feng NEW
Antonio S FerenczArgentinaAsiya Javayant QUALIFIED
James P CaldareraArgentinaXuxue Feng UNQUALIFIED
Emily E ChuiSpainAmy Elsner UNQUALIFIED
Silvio U KuskoJapanAmy Elsner NEGOTIATION
Jefferson K NickaJapanAsiya Javayant NEGOTIATION
Jones W DilliardAustraliaAsiya Javayant PROPOSAL
Jones J FerenczAustraliaIoni Bowcher RENEWAL
Salvatore E DoeAustraliaIvan Magalhaes UNQUALIFIED
Maisha L PoquetteArgentinaAsiya Javayant UNQUALIFIED
Greenwood E ShinkoRussiaAmy Elsner QUALIFIED
Clifford Z SaylorsJapanBernardo Dominic PROPOSAL
Arvin V VocelkaItalyAnna Fali NEGOTIATION
Arvin Z OstroskyUnited KingdomXuxue Feng PROPOSAL
Jennifer S OldroydIndiaBernardo Dominic QUALIFIED
Julie N CampainSpainAsiya Javayant UNQUALIFIED
David G InouyeIndiaXuxue Feng PROPOSAL
Maisha D RutaArgentinaOnyama Limba NEW
Maria W SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Leja S CaudyAustraliaIoni Bowcher RENEWAL
Ashley J ButtCanadaBernardo Dominic QUALIFIED
Wickens V MarrierCanadaXuxue Feng UNQUALIFIED
Izzy F SaylorsGermanyAnna Fali RENEWAL
Octavia F PerinGermanyStephen Shaw RENEWAL
Silvio G GillianBrazilOnyama Limba NEW
Cody A MaletSpainBernardo Dominic NEW
Nicolas C GlickRussiaElwin Sharvill UNQUALIFIED
Stacey Z IturbideUnited KingdomAnna Fali RENEWAL
Jeanfrancois D GillianFranceAmy Elsner NEW
Chavez I PerinItalyAnna Fali PROPOSAL
Salvatore P InouyeIndiaXuxue Feng PROPOSAL
Sinclair E FollerSpainStephen Shaw NEW
Ashley E ButtItalyAmy Elsner NEGOTIATION
James Z VenereUnited KingdomOnyama Limba NEGOTIATION
Mayumi H PoquetteCanadaAsiya Javayant PROPOSAL
Nicolas B VocelkaJapanXuxue Feng NEW
Jeanfrancois J OldroydItalyBernardo Dominic RENEWAL
Kaitlin O DoeAustraliaAnna Fali 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>