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
Tony K SlusarskiItalyXuxue Feng NEGOTIATION
Darci M SlusarskiItalyBernardo Dominic RENEWAL
Izzy N FigeroaJapanBernardo Dominic PROPOSAL
Morrow L FollerCanadaAsiya Javayant UNQUALIFIED
Aditya Z MacleadUnited KingdomAnna Fali RENEWAL
Jeanfrancois F PaprockiCanadaStephen Shaw QUALIFIED
Faith P FlosiItalyIvan Magalhaes NEGOTIATION
Leja O SergiCanadaBernardo Dominic PROPOSAL
Leja V TollnerCanadaAsiya Javayant QUALIFIED
Chavez B FlosiIndiaIoni Bowcher NEGOTIATION
Kaitlin O MorascaFranceAmy Elsner NEGOTIATION
Kadeem O OldroydBrazilIoni Bowcher UNQUALIFIED
Arvin Z WieserFranceIoni Bowcher UNQUALIFIED
Leja K WhobreyRussiaBernardo Dominic RENEWAL
Salvatore I ButtBrazilAmy Elsner QUALIFIED
Maria W PoquetteItalyIvan Magalhaes NEW
Salvatore D GarufiArgentinaOnyama Limba QUALIFIED
Isabel J KuskoArgentinaStephen Shaw UNQUALIFIED
Mayumi F FerenczFranceAsiya Javayant RENEWAL
Claire J BowleyGermanyXuxue Feng QUALIFIED
Octavia L GillianSpainAnna Fali PROPOSAL
Izzy H GauchoArgentinaXuxue Feng QUALIFIED
Nicolas J WaycottSpainStephen Shaw PROPOSAL
Cody U StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro R IturbideRussiaBernardo Dominic NEGOTIATION
Maria W AmigonBrazilAmy Elsner NEGOTIATION
Darci S WaycottGermanyStephen Shaw RENEWAL
Leon U GarufiGermanyAmy Elsner NEW
Leon E MacleadBrazilXuxue Feng UNQUALIFIED
Tony U MarrierFranceAnna Fali RENEWAL
Misaki P DoeAustraliaXuxue Feng UNQUALIFIED
Aditya E PaprockiBrazilAnna Fali UNQUALIFIED
Jeanfrancois I MaletArgentinaIoni Bowcher NEW
Mujtaba X StensethUnited KingdomStephen Shaw UNQUALIFIED
Alejandro G WhobreyJapanElwin Sharvill QUALIFIED
Smith O PerinCanadaIvan Magalhaes RENEWAL
Mujtaba Q ButtIndiaStephen Shaw PROPOSAL
Aditya L StensethItalyXuxue Feng PROPOSAL
Stacey P AmigonFranceOnyama Limba PROPOSAL
Murillo R GarufiJapanXuxue Feng NEW
Kaitlin N CaldareraJapanAnna Fali RENEWAL
Kadeem F BowleySpainBernardo Dominic QUALIFIED
Ashley X DilliardArgentinaAmy Elsner QUALIFIED
Munro C ChuiRussiaAmy Elsner NEGOTIATION
Rodrigues B SlusarskiCanadaIvan Magalhaes NEGOTIATION
Faith Q BowleyIndiaStephen Shaw NEW
Johnson M DarakjySpainBernardo Dominic NEW
Ivar E DarakjyGermanyOnyama Limba RENEWAL
Ivar G StensethIndiaAmy Elsner UNQUALIFIED
Nicolas U DilliardItalyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika C GillianRussiaOnyama Limba NEW
Julie S RimFranceAnna Fali RENEWAL
Maisha J TollnerCanadaOnyama Limba PROPOSAL
Clifford T WaycottSpainOnyama Limba RENEWAL
Smith Y StensethSpainIvan Magalhaes NEW
Cody W ButtRussiaStephen Shaw UNQUALIFIED
Murillo X KolmetzItalyXuxue Feng QUALIFIED
Kaitlin B ShinkoAustraliaIoni Bowcher PROPOSAL
Morrow B KuskoArgentinaAsiya Javayant NEGOTIATION
Greenwood U MaletGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas J PoquetteCanada2024-08-28Dorl, James J Esq PROPOSAL41Ioni Bowcher
1001James F StockhamGermany2024-09-15Benton, John B Jr QUALIFIED32Asiya Javayant
1002Aditya Q ChuiArgentina2024-09-19Dorl, James J Esq PROPOSAL42Stephen Shaw
1003Octavia B StockhamJapan2024-08-28Printing Dimensions PROPOSAL75Amy Elsner
1004Misaki Q StensethRussia2024-09-16Commercial Press PROPOSAL51Xuxue Feng
1005Costa S PaprockiIndia2024-09-23Truhlar And Truhlar Attys RENEWAL13Asiya Javayant
1006Ivar Y AlbaresGermany2024-09-22Morlong Associates RENEWAL50Elwin Sharvill
1007Maisha N KolmetzArgentina2024-09-06Truhlar And Truhlar Attys QUALIFIED1Ioni Bowcher
1008Aruna F GlickBrazil2024-08-26Chemel, James L Cpa QUALIFIED93Onyama Limba
1009Morrow T CaldareraJapan2024-09-05Chemel, James L Cpa UNQUALIFIED39Amy Elsner
1010Octavia Y FerenczBrazil2024-09-15Chanay, Jeffrey A Esq QUALIFIED41Onyama Limba
1011Isabel W InouyeFrance2024-09-09Chemel, James L Cpa RENEWAL45Stephen Shaw
1012Ricardo C VocelkaJapan2024-09-11Rangoni Of Florence RENEWAL21Elwin Sharvill
1013James W KuskoAustralia2024-09-22Morlong Associates QUALIFIED13Elwin Sharvill
1014Mayumi V MorascaArgentina2024-08-27Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1015Sinclair H KuskoSpain2024-08-26Chemel, James L Cpa RENEWAL47Xuxue Feng
1016Tony F OstroskyUnited Kingdom2024-08-29King, Christopher A Esq PROPOSAL74Elwin Sharvill
1017Maria B PerinItaly2024-08-30Rangoni Of Florence QUALIFIED75Ivan Magalhaes
1018Leon X MaletUnited Kingdom2024-09-18Chemel, James L Cpa QUALIFIED16Stephen Shaw
1019Tony P TollnerRussia2024-09-10Feiner Bros QUALIFIED67Xuxue Feng
1020Stacey L RulapaughBrazil2024-09-16Chapman, Ross E Esq PROPOSAL47Xuxue Feng
1021Costa X IturbideUnited Kingdom2024-09-10Commercial Press UNQUALIFIED37Onyama Limba
1022Maisha I OstroskyItaly2024-09-19Benton, John B Jr PROPOSAL90Ioni Bowcher
1023Julie J IturbideFrance2024-08-30Chanay, Jeffrey A Esq QUALIFIED44Amy Elsner
1024Emily Y SaylorsItaly2024-09-07Rousseaux, Michael Esq RENEWAL32Onyama Limba
1025Izzy L SchemmerBrazil2024-09-13Feiner Bros QUALIFIED84Onyama Limba
1026Aika E NestleArgentina2024-09-22King, Christopher A Esq UNQUALIFIED93Xuxue Feng
1027Murillo C DilliardJapan2024-09-22Rousseaux, Michael Esq NEW58Xuxue Feng
1028Leja R BologniaFrance2024-09-10Chapman, Ross E Esq QUALIFIED35Anna Fali
1029Aditya W PoquetteIndia2024-09-20Feiner Bros PROPOSAL14Ivan Magalhaes
1030Cody V WieserFrance2024-09-24Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1031Leon F AlbaresSpain2024-09-13Printing Dimensions QUALIFIED9Onyama Limba
1032Mujtaba V RutaSpain2024-09-22Dorl, James J Esq RENEWAL54Elwin Sharvill
1033Isabel Z StensethRussia2024-09-19Truhlar And Truhlar Attys NEGOTIATION59Xuxue Feng
1034Alejandro U GlickUnited Kingdom2024-09-07Rangoni Of Florence NEW6Anna Fali
1035Antonio P KuskoIndia2024-09-23Dorl, James J Esq NEGOTIATION78Ioni Bowcher
1036Stacey K MarrierGermany2024-09-16Feltz Printing Service RENEWAL37Ivan Magalhaes
1037Ashley L RutaFrance2024-09-14Truhlar And Truhlar Attys RENEWAL83Asiya Javayant
1038James E BologniaAustralia2024-08-27Chemel, James L Cpa UNQUALIFIED91Onyama Limba
1039Maisha G MaletItaly2024-09-07Commercial Press PROPOSAL84Xuxue Feng
1040Clifford U CaudyArgentina2024-09-20Buckley Miller Wright NEGOTIATION72Amy Elsner
1041Darci H TollnerAustralia2024-09-24King, Christopher A Esq QUALIFIED37Elwin Sharvill
1042Jones R CaldareraSpain2024-09-12Dorl, James J Esq NEGOTIATION91Ioni Bowcher
1043Johnson T RimItaly2024-09-04Morlong Associates QUALIFIED53Anna Fali
1044Greenwood X PoquetteFrance2024-09-15Feltz Printing Service PROPOSAL14Anna Fali
1045Jeanfrancois Z IturbideFrance2024-09-19Rousseaux, Michael Esq NEW73Xuxue Feng
1046Emily Y BowleyCanada2024-09-24Feltz Printing Service UNQUALIFIED54Onyama Limba
1047Antonio O DilliardAustralia2024-08-31Chapman, Ross E Esq RENEWAL93Ivan Magalhaes
1048Jeanfrancois Y GarufiArgentina2024-09-02Chemel, James L Cpa UNQUALIFIED17Ioni Bowcher
1049Adams C OldroydFrance2024-08-27Chanay, Jeffrey A Esq UNQUALIFIED21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy R ChuiSpainBernardo Dominic RENEWAL
Tony G RimUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi Q OstroskyGermanyOnyama Limba QUALIFIED
Maisha H FigeroaFranceIvan Magalhaes QUALIFIED
Smith N MorascaFranceXuxue Feng NEGOTIATION
Darci Y NickaUnited KingdomAsiya Javayant RENEWAL
Murillo A SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Octavia J OldroydGermanyOnyama Limba QUALIFIED
Jeanfrancois K FigeroaAustraliaElwin Sharvill PROPOSAL
Jefferson M CaudyArgentinaIvan Magalhaes UNQUALIFIED
Darci E VenereGermanyAsiya Javayant NEW
Misaki Z GauchoIndiaAnna Fali PROPOSAL
Francesco U DilliardItalyStephen Shaw NEGOTIATION
Leon B MaletFranceBernardo Dominic UNQUALIFIED
Francesco Q DarakjyFranceStephen Shaw PROPOSAL
Ricardo X WhobreyAustraliaAmy Elsner NEW
Darci T ChuiItalyXuxue Feng RENEWAL
Maria S ButtAustraliaAsiya Javayant RENEWAL
Sinclair U GarufiRussiaElwin Sharvill NEW
Murillo U StockhamJapanAnna Fali NEW
Murillo U RutaFranceAnna Fali PROPOSAL
Arvin Y NestleGermanyBernardo Dominic NEW
Ashley H RulapaughJapanXuxue Feng QUALIFIED
Octavia Z OstroskyGermanyElwin Sharvill PROPOSAL
Ricardo L VenereJapanBernardo Dominic RENEWAL
Darci P NickaUnited KingdomIoni Bowcher QUALIFIED
Juan F GauchoArgentinaAmy Elsner RENEWAL
Greenwood L OstroskyIndiaBernardo Dominic PROPOSAL
Nicolas Z VocelkaAustraliaStephen Shaw RENEWAL
Isabel V RulapaughRussiaElwin Sharvill NEW
Octavia X CaldareraBrazilIoni Bowcher RENEWAL
Alejandro U SchemmerIndiaOnyama Limba NEGOTIATION
Jeanfrancois Q WaycottItalyIoni Bowcher RENEWAL
Aika Q RutaSpainBernardo Dominic RENEWAL
Johnson G KolmetzIndiaAmy Elsner UNQUALIFIED
Jennifer P ChuiJapanElwin Sharvill QUALIFIED
Arvin N IturbideJapanIvan Magalhaes RENEWAL
Ashley O MaletIndiaAnna Fali NEW
Cody L BologniaIndiaElwin Sharvill RENEWAL
Smith Y MarrierArgentinaBernardo Dominic UNQUALIFIED
Aika X MaletIndiaAnna Fali NEW
Mayumi B PoquetteAustraliaElwin Sharvill UNQUALIFIED
Leon N FigeroaAustraliaOnyama Limba NEGOTIATION
Ashley L SchemmerAustraliaAnna Fali NEGOTIATION
Sinclair A VenereCanadaElwin Sharvill PROPOSAL
Emily H WieserSpainIoni Bowcher NEW
Chavez E NestleRussiaIvan Magalhaes UNQUALIFIED
Ashley M WieserIndiaBernardo Dominic NEGOTIATION
Ashley O MarrierArgentinaAmy Elsner PROPOSAL
Kaitlin B FlosiItalyStephen Shaw RENEWAL
Frozen Columns
Name
David I Rim
Jennifer R Bolognia
Deepesh F Marrier
Juan E Rim
Maria I Sergi
Murillo U Nestle
Julie E Perin
Claire C Whobrey
Nicolas N Flosi
Deepesh S Gaucho
Smith R Marrier
Francesco G Figeroa
Izzy L Marrier
Antonio N Caudy
Adams G Foller
Aditya T Ostrosky
Faith O Nicka
Juan V Tollner
Adams H Bolognia
Ashley H Albares
Cody S Butt
Darci V Rulapaugh
Costa T Oldroyd
Cody F Foller
Salvatore I Vocelka
Juan O Stenseth
Clifford X Briddick
David J Albares
Emily I Foller
Jennifer D Nestle
Nicolas K Chui
Emily F Gillian
Leja M Gaucho
Rodrigues P Shinko
Tony C Vocelka
Ashley S Bowley
Alejandro O Bowley
Octavia J Darakjy
Adams O Ferencz
Octavia J Schemmer
Jefferson T Ostrosky
Smith T Flosi
Francesco M Bowley
Wickens A Flosi
Misaki F Royster
Antonio W Malet
James I Foller
Costa Y Rulapaugh
Aditya P Inouye
David C Poquette
IdCountryDate
1000India2024-09-24
1001Germany2024-09-14
1002Canada2024-09-18
1003Brazil2024-09-06
1004United Kingdom2024-09-22
1005Spain2024-09-11
1006Spain2024-09-14
1007United Kingdom2024-09-05
1008Brazil2024-09-12
1009Japan2024-08-29
1010Germany2024-09-08
1011Spain2024-09-24
1012United Kingdom2024-09-06
1013Brazil2024-09-06
1014Argentina2024-09-11
1015Germany2024-09-06
1016Australia2024-09-11
1017Spain2024-09-11
1018Germany2024-09-20
1019Brazil2024-09-23
1020Italy2024-09-15
1021Japan2024-09-22
1022Germany2024-09-05
1023Italy2024-09-19
1024Australia2024-08-27
1025Italy2024-09-05
1026India2024-09-23
1027Germany2024-08-27
1028France2024-09-05
1029Spain2024-09-06
1030Germany2024-09-15
1031Japan2024-09-22
1032Italy2024-09-01
1033India2024-09-13
1034Japan2024-09-08
1035Japan2024-09-11
1036Italy2024-09-22
1037Argentina2024-08-26
1038Russia2024-09-23
1039Australia2024-09-06
1040Russia2024-09-15
1041Italy2024-09-10
1042France2024-09-11
1043Spain2024-09-24
1044Russia2024-09-11
1045Spain2024-08-27
1046Brazil2024-08-26
1047Canada2024-09-19
1048Italy2024-09-02
1049Spain2024-09-13

On-Demand Data

NameIdCountryDate
James D Gaucho1000Japan2024-09-23
Costa N Gaucho1001Argentina2024-08-26
Izzy M Schemmer1002France2024-09-08
Jones G Butt1003Japan2024-09-05
Ivar Q Schemmer1004France2024-09-21
Aditya L Albares1005Canada2024-08-27
Wickens D Sergi1006Russia2024-09-23
Jones H Kusko1007Brazil2024-09-14
Alejandro R Paprocki1008Japan2024-09-24
Isabel N Perin1009France2024-08-26
Darci A Inouye1010Brazil2024-09-03
Misaki L Nicka1011Italy2024-09-12
Alejandro D Gaucho1012Germany2024-09-21
Rodrigues J Nicka1013Spain2024-09-15
Jennifer T Amigon1014Brazil2024-09-03
Maisha M Campain1015France2024-09-07
Aditya C Nestle1016Italy2024-08-30
Izzy J Sergi1017United Kingdom2024-08-28
Tony C Marrier1018Brazil2024-09-10
Costa H Poquette1019Australia2024-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony S WhobreyFranceXuxue Feng NEGOTIATION
Misaki N WaycottAustraliaAnna Fali NEW
Ivar Q InouyeJapanOnyama Limba PROPOSAL
Arvin T VenereItalyIoni Bowcher QUALIFIED
Leja Q MarrierUnited KingdomXuxue Feng NEW
Misaki W OstroskyBrazilXuxue Feng PROPOSAL
Aruna G RimRussiaBernardo Dominic PROPOSAL
Mujtaba H MaletFranceAsiya Javayant PROPOSAL
Darci K MorascaBrazilXuxue Feng PROPOSAL
Wickens R BologniaRussiaAmy Elsner NEW
Maria S VenereGermanyAnna Fali PROPOSAL
Ricardo K DoeFranceAmy Elsner RENEWAL
Emily Z ShinkoIndiaXuxue Feng NEW
Rodrigues O MacleadSpainAsiya Javayant NEW
Octavia L RoysterUnited KingdomIoni Bowcher NEGOTIATION
Misaki I ButtSpainAmy Elsner NEW
Maisha U WhobreySpainOnyama Limba PROPOSAL
Stacey B BowleyGermanyAsiya Javayant RENEWAL
Darci K BologniaUnited KingdomAsiya Javayant PROPOSAL
Sinclair D SergiFranceIvan Magalhaes NEGOTIATION
Chavez Z StensethGermanyOnyama Limba NEGOTIATION
Mayumi P MaletItalyXuxue Feng PROPOSAL
Jennifer J CaudyBrazilOnyama Limba UNQUALIFIED
Jeanfrancois J NickaItalyStephen Shaw PROPOSAL
Johnson Z KuskoItalyStephen Shaw NEGOTIATION
Isabel C ShinkoArgentinaOnyama Limba NEW
Jeanfrancois M OldroydJapanAsiya Javayant NEGOTIATION
Isabel R FollerRussiaIoni Bowcher RENEWAL
Jennifer N MorascaCanadaElwin Sharvill QUALIFIED
Jefferson Z WieserArgentinaXuxue Feng PROPOSAL
Chavez J MarrierRussiaXuxue Feng QUALIFIED
Alejandro Y GlickBrazilOnyama Limba RENEWAL
Adams P FollerIndiaElwin Sharvill NEW
Deepesh D IturbideFranceStephen Shaw UNQUALIFIED
Murillo I AmigonCanadaIvan Magalhaes UNQUALIFIED
Clifford Q OldroydBrazilAsiya Javayant UNQUALIFIED
Arvin Y StockhamRussiaIoni Bowcher UNQUALIFIED
Octavia W DilliardIndiaAsiya Javayant NEW
Rodrigues J GauchoUnited KingdomXuxue Feng NEGOTIATION
Faith Z PoquetteGermanyAsiya Javayant 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>