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
Juan S PaprockiBrazilAnna Fali NEGOTIATION
Wickens S CampainGermanyIvan Magalhaes RENEWAL
Darci T MorascaBrazilXuxue Feng NEGOTIATION
Chavez F SlusarskiSpainOnyama Limba PROPOSAL
Jeanfrancois F MaletFranceXuxue Feng NEGOTIATION
Jones H VocelkaUnited KingdomElwin Sharvill PROPOSAL
Clifford N ChuiCanadaAsiya Javayant UNQUALIFIED
Aruna G StockhamCanadaStephen Shaw RENEWAL
Jennifer G BriddickIndiaBernardo Dominic QUALIFIED
Maisha Q MaletAustraliaAnna Fali PROPOSAL
Wickens Z SergiAustraliaAsiya Javayant QUALIFIED
Wickens J CaudyJapanAmy Elsner NEW
Ricardo V GlickItalyStephen Shaw NEW
Silvio B IturbideBrazilStephen Shaw UNQUALIFIED
Ivar Y WieserArgentinaIoni Bowcher NEW
Silvio Q OstroskyItalyIvan Magalhaes UNQUALIFIED
Munro J DilliardArgentinaXuxue Feng PROPOSAL
Nicolas I PaprockiItalyIvan Magalhaes RENEWAL
Emily Q BowleyRussiaElwin Sharvill RENEWAL
Leja V RutaIndiaXuxue Feng RENEWAL
Faith T StensethCanadaStephen Shaw QUALIFIED
James M VenereUnited KingdomElwin Sharvill NEGOTIATION
Johnson Q MarrierSpainBernardo Dominic NEGOTIATION
Salvatore F ShinkoItalyBernardo Dominic RENEWAL
Munro Y PoquetteGermanyOnyama Limba PROPOSAL
Wickens E DoeGermanyAsiya Javayant RENEWAL
Greenwood J OstroskyUnited KingdomAmy Elsner QUALIFIED
Misaki H PoquetteUnited KingdomAmy Elsner RENEWAL
Emily A OstroskyArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois T WhobreyRussiaAmy Elsner NEW
Ivar J GillianIndiaIvan Magalhaes RENEWAL
Aika O ShinkoItalyAmy Elsner QUALIFIED
Jefferson Z OldroydCanadaBernardo Dominic NEW
Juan S GillianArgentinaOnyama Limba UNQUALIFIED
Alejandro W VocelkaFranceOnyama Limba NEW
Aika Z AlbaresRussiaBernardo Dominic PROPOSAL
Leon F MarrierJapanElwin Sharvill PROPOSAL
Nicolas C ChuiRussiaElwin Sharvill NEGOTIATION
Clifford M AmigonIndiaElwin Sharvill NEW
Tony X WhobreySpainBernardo Dominic NEGOTIATION
Faith F AmigonIndiaBernardo Dominic PROPOSAL
Emily C GauchoIndiaStephen Shaw UNQUALIFIED
Kaitlin J SchemmerRussiaBernardo Dominic PROPOSAL
Nicolas G CampainUnited KingdomIoni Bowcher QUALIFIED
Chavez K KuskoSpainBernardo Dominic RENEWAL
Munro D GarufiGermanyOnyama Limba NEW
Rodrigues D SergiFranceOnyama Limba QUALIFIED
David W FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin B ButtSpainStephen Shaw UNQUALIFIED
Darci D StockhamSpainAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams M GauchoCanadaBernardo Dominic NEW
Silvio O TollnerArgentinaXuxue Feng NEGOTIATION
Smith Q MaletGermanyAsiya Javayant UNQUALIFIED
Rodrigues R ShinkoAustraliaAsiya Javayant PROPOSAL
Wickens C MorascaGermanyOnyama Limba RENEWAL
Leon W NickaJapanAnna Fali NEGOTIATION
Costa X AmigonFranceAsiya Javayant UNQUALIFIED
Julie Y VenereCanadaAnna Fali PROPOSAL
Aditya K ButtSpainStephen Shaw NEGOTIATION
Mujtaba Y VenereArgentinaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio H KuskoArgentina2024-04-25Rangoni Of Florence RENEWAL95Onyama Limba
1001Rodrigues Y KuskoBrazil2024-05-13Printing Dimensions UNQUALIFIED6Stephen Shaw
1002Claire I DoeAustralia2024-05-19Feiner Bros RENEWAL5Stephen Shaw
1003Morrow T PerinAustralia2024-05-14Truhlar And Truhlar Attys UNQUALIFIED71Xuxue Feng
1004Tony O RutaFrance2024-04-28Buckley Miller Wright RENEWAL94Onyama Limba
1005Tony G DarakjyRussia2024-04-26Commercial Press UNQUALIFIED24Amy Elsner
1006Salvatore F AlbaresRussia2024-05-10Chemel, James L Cpa NEW76Bernardo Dominic
1007Stacey X OstroskyUnited Kingdom2024-05-16Morlong Associates PROPOSAL29Bernardo Dominic
1008Rodrigues V OldroydFrance2024-05-08Rousseaux, Michael Esq QUALIFIED44Stephen Shaw
1009Johnson P FollerRussia2024-05-16King, Christopher A Esq PROPOSAL47Asiya Javayant
1010Emily B RutaItaly2024-05-18Chapman, Ross E Esq RENEWAL42Stephen Shaw
1011Julie D FollerAustralia2024-05-17Truhlar And Truhlar Attys NEGOTIATION67Bernardo Dominic
1012Cody M SchemmerItaly2024-05-08King, Christopher A Esq NEW3Xuxue Feng
1013Wickens S FlosiSpain2024-05-04Feiner Bros UNQUALIFIED91Bernardo Dominic
1014Cody A OldroydAustralia2024-04-29Printing Dimensions PROPOSAL29Xuxue Feng
1015Isabel A KolmetzGermany2024-05-11Chapman, Ross E Esq NEW40Ioni Bowcher
1016Leja U GillianCanada2024-05-03Truhlar And Truhlar Attys QUALIFIED99Bernardo Dominic
1017Maria B WieserCanada2024-04-28Feltz Printing Service NEW2Asiya Javayant
1018Jeanfrancois C OldroydJapan2024-04-29Feiner Bros NEGOTIATION17Bernardo Dominic
1019Stacey Z MaletCanada2024-04-30Buckley Miller Wright RENEWAL15Stephen Shaw
1020Rodrigues C RutaJapan2024-05-01Feiner Bros QUALIFIED52Bernardo Dominic
1021Chavez Y NestleRussia2024-05-08Chemel, James L Cpa QUALIFIED97Ioni Bowcher
1022Antonio F WaycottUnited Kingdom2024-05-11Feltz Printing Service UNQUALIFIED72Bernardo Dominic
1023Stacey I NestleIndia2024-05-16Chemel, James L Cpa QUALIFIED98Xuxue Feng
1024Claire B KuskoAustralia2024-05-04Printing Dimensions QUALIFIED21Ioni Bowcher
1025Faith F BologniaFrance2024-05-22King, Christopher A Esq RENEWAL91Stephen Shaw
1026Antonio E RimJapan2024-05-13Rousseaux, Michael Esq PROPOSAL15Stephen Shaw
1027Emily U VocelkaUnited Kingdom2024-05-03Rangoni Of Florence PROPOSAL87Bernardo Dominic
1028Mujtaba P SaylorsIndia2024-05-16Chemel, James L Cpa NEW42Stephen Shaw
1029Leon L GillianCanada2024-04-29Benton, John B Jr QUALIFIED43Bernardo Dominic
1030Chavez S AmigonGermany2024-04-25Commercial Press PROPOSAL3Elwin Sharvill
1031Julie W FollerAustralia2024-05-23Rousseaux, Michael Esq UNQUALIFIED88Anna Fali
1032Ricardo T SchemmerGermany2024-05-24Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1033Rodrigues D MaletJapan2024-05-14Buckley Miller Wright NEW55Ioni Bowcher
1034Clifford Y BowleyGermany2024-05-11Chanay, Jeffrey A Esq QUALIFIED62Onyama Limba
1035Isabel I PoquetteAustralia2024-05-04Dorl, James J Esq NEGOTIATION92Stephen Shaw
1036Claire O MaletAustralia2024-05-05Feltz Printing Service QUALIFIED70Amy Elsner
1037Silvio E BriddickAustralia2024-04-26Morlong Associates NEW27Stephen Shaw
1038Adams F RulapaughArgentina2024-05-13Chanay, Jeffrey A Esq RENEWAL51Onyama Limba
1039Leja Q MorascaBrazil2024-05-15Feiner Bros RENEWAL8Stephen Shaw
1040Silvio I MaletUnited Kingdom2024-05-04King, Christopher A Esq PROPOSAL76Asiya Javayant
1041Silvio W BologniaSpain2024-05-17Chanay, Jeffrey A Esq PROPOSAL81Elwin Sharvill
1042Deepesh R WaycottCanada2024-05-22Chemel, James L Cpa RENEWAL55Onyama Limba
1043Rodrigues Z BologniaCanada2024-05-12Benton, John B Jr NEGOTIATION56Ioni Bowcher
1044Costa L StockhamAustralia2024-05-12Chanay, Jeffrey A Esq RENEWAL95Stephen Shaw
1045James P VocelkaIndia2024-05-23Commercial Press UNQUALIFIED96Onyama Limba
1046Kaitlin D CampainSpain2024-05-07Chanay, Jeffrey A Esq QUALIFIED86Anna Fali
1047Greenwood F SaylorsIndia2024-04-25Chemel, James L Cpa QUALIFIED20Amy Elsner
1048Wickens I OldroydGermany2024-05-22Chemel, James L Cpa NEW9Bernardo Dominic
1049Aika K RoysterSpain2024-04-26Rousseaux, Michael Esq NEW44Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Darci P StockhamGermanyIvan Magalhaes RENEWAL
Tony I SaylorsItalyStephen Shaw PROPOSAL
Misaki D CaldareraBrazilIvan Magalhaes QUALIFIED
Tony W AmigonBrazilAnna Fali NEW
Greenwood S VenereAustraliaAnna Fali PROPOSAL
Johnson W ButtCanadaAsiya Javayant NEW
Murillo M FollerSpainOnyama Limba UNQUALIFIED
Emily G BologniaIndiaIoni Bowcher UNQUALIFIED
Ashley I BriddickIndiaAsiya Javayant NEGOTIATION
Kadeem K MorascaItalyOnyama Limba NEGOTIATION
Jeanfrancois M BriddickCanadaAmy Elsner UNQUALIFIED
Leon J PaprockiJapanAsiya Javayant QUALIFIED
Wickens D MaletItalyElwin Sharvill UNQUALIFIED
Mayumi V GlickBrazilAnna Fali RENEWAL
Costa U SaylorsGermanyOnyama Limba PROPOSAL
Alejandro Y GarufiGermanyAnna Fali QUALIFIED
Tony G SaylorsFranceAsiya Javayant NEW
Faith I StensethItalyOnyama Limba NEGOTIATION
Arvin K KuskoRussiaStephen Shaw RENEWAL
Chavez A WhobreyArgentinaIoni Bowcher QUALIFIED
Alejandro W CaudyRussiaAmy Elsner PROPOSAL
Francesco F ChuiSpainStephen Shaw UNQUALIFIED
Tony U InouyeBrazilAsiya Javayant NEW
Jennifer A ShinkoJapanBernardo Dominic NEGOTIATION
Smith J DilliardAustraliaElwin Sharvill QUALIFIED
Greenwood U RoysterCanadaXuxue Feng RENEWAL
Leon E WhobreyCanadaElwin Sharvill UNQUALIFIED
Silvio J ShinkoSpainElwin Sharvill QUALIFIED
Francesco L OstroskyBrazilIoni Bowcher RENEWAL
Rodrigues F AmigonCanadaAsiya Javayant PROPOSAL
Maria B VenereBrazilStephen Shaw NEGOTIATION
Ivar P PaprockiArgentinaBernardo Dominic RENEWAL
Leon I PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Aditya R OldroydBrazilStephen Shaw QUALIFIED
Smith S KolmetzArgentinaAsiya Javayant UNQUALIFIED
Octavia U RulapaughRussiaAsiya Javayant RENEWAL
Maisha U ButtFranceElwin Sharvill NEW
Mayumi E InouyeAustraliaElwin Sharvill NEGOTIATION
Chavez Y SlusarskiSpainAnna Fali UNQUALIFIED
Greenwood I AlbaresRussiaAmy Elsner UNQUALIFIED
Maisha O AmigonGermanyXuxue Feng RENEWAL
Salvatore Q KuskoIndiaAmy Elsner NEW
Alejandro G DarakjyAustraliaElwin Sharvill PROPOSAL
Izzy G TollnerItalyBernardo Dominic PROPOSAL
Clifford P KuskoRussiaIvan Magalhaes QUALIFIED
Leon H FollerSpainOnyama Limba QUALIFIED
Greenwood C SchemmerFranceStephen Shaw PROPOSAL
Claire X MaletIndiaIoni Bowcher NEGOTIATION
Misaki D ShinkoCanadaElwin Sharvill NEW
Aika X VenereItalyAnna Fali PROPOSAL
Frozen Columns
Name
Costa T Darakjy
Jefferson J Tollner
Leja A Poquette
Jennifer W Perin
Jeanfrancois Y Caudy
Maria X Garufi
Leja Q Flosi
Izzy T Bowley
Arvin E Briddick
Johnson A Saylors
Jeanfrancois Q Amigon
Salvatore Q Chui
Nicolas W Doe
Octavia Q Briddick
Costa Q Venere
Rodrigues H Malet
Smith B Albares
Alejandro S Paprocki
Darci Q Tollner
Wickens W Nicka
Stacey O Vocelka
Mujtaba V Rulapaugh
Ricardo S Kusko
Francesco W Venere
Francesco S Rulapaugh
Francesco U Dilliard
Wickens P Rulapaugh
Kadeem W Ruta
Isabel M Amigon
Smith I Saylors
Aditya I Glick
Faith O Paprocki
Claire L Poquette
Aditya C Sergi
Ivar D Briddick
Stacey Y Gillian
Clifford O Shinko
Maisha I Briddick
Alejandro O Ruta
Kadeem T Amigon
Tony C Darakjy
Clifford R Bowley
Julie J Wieser
David N Rim
Arvin B Perin
Clifford K Flosi
Deepesh N Sergi
Arvin R Malet
Silvio F Garufi
Cody B Figeroa
IdCountryDate
1000Germany2024-05-08
1001Italy2024-04-30
1002Spain2024-05-20
1003Japan2024-05-09
1004Argentina2024-05-19
1005Italy2024-05-24
1006Germany2024-05-09
1007Australia2024-05-18
1008Brazil2024-05-05
1009France2024-05-11
1010Russia2024-05-02
1011United Kingdom2024-05-09
1012Canada2024-05-20
1013Australia2024-05-09
1014Australia2024-04-27
1015Russia2024-04-28
1016Japan2024-04-30
1017Brazil2024-05-16
1018United Kingdom2024-04-25
1019Italy2024-05-20
1020Argentina2024-04-29
1021Canada2024-05-03
1022India2024-04-25
1023Australia2024-04-25
1024India2024-05-20
1025Italy2024-05-15
1026Canada2024-05-23
1027India2024-05-07
1028India2024-05-04
1029France2024-04-26
1030Germany2024-05-09
1031Germany2024-05-16
1032Argentina2024-04-29
1033Australia2024-05-05
1034India2024-05-21
1035Argentina2024-05-04
1036Spain2024-04-29
1037France2024-05-08
1038Japan2024-05-14
1039Spain2024-05-03
1040Argentina2024-05-11
1041Canada2024-05-18
1042Australia2024-05-07
1043Germany2024-04-27
1044Russia2024-05-16
1045Brazil2024-04-30
1046Australia2024-05-06
1047France2024-05-08
1048France2024-04-29
1049Canada2024-05-18

On-Demand Data

NameIdCountryDate
Antonio V Tollner1000Australia2024-05-04
Claire H Dilliard1001India2024-05-20
Kadeem P Malet1002France2024-05-14
Claire R Rulapaugh1003France2024-05-23
Julie U Marrier1004India2024-05-08
Ivar F Bowley1005Canada2024-05-05
Morrow R Gaucho1006Italy2024-05-20
Antonio A Ostrosky1007France2024-05-15
Aruna T Ostrosky1008Brazil2024-05-18
Rodrigues G Campain1009Germany2024-04-27
Silvio X Poquette1010India2024-05-16
Maria O Kolmetz1011Argentina2024-04-28
Leon G Foller1012Japan2024-05-23
Jennifer R Whobrey1013India2024-05-18
Ricardo W Sergi1014Russia2024-05-12
Tony J Darakjy1015Italy2024-05-10
Antonio F Poquette1016France2024-04-26
Costa N Briddick1017Australia2024-04-30
Smith H Bowley1018United Kingdom2024-05-17
Adams C Rulapaugh1019Argentina2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C MacleadRussiaElwin Sharvill PROPOSAL
Costa M StockhamGermanyAmy Elsner UNQUALIFIED
Leon V BowleyBrazilOnyama Limba RENEWAL
Morrow S NickaArgentinaAnna Fali PROPOSAL
Adams B FigeroaRussiaOnyama Limba RENEWAL
Juan Q SchemmerRussiaOnyama Limba QUALIFIED
Isabel G RimItalyIvan Magalhaes NEW
Darci K NickaUnited KingdomOnyama Limba RENEWAL
Mayumi E RimJapanAmy Elsner QUALIFIED
Claire P KolmetzCanadaAnna Fali QUALIFIED
Rodrigues B FerenczSpainIoni Bowcher NEW
Rodrigues R PerinIndiaAmy Elsner NEW
Maria X VocelkaItalyOnyama Limba UNQUALIFIED
Aika M SchemmerGermanyAsiya Javayant QUALIFIED
Smith K AlbaresGermanyAmy Elsner NEGOTIATION
Smith G DarakjyUnited KingdomStephen Shaw NEGOTIATION
Misaki P GlickItalyAsiya Javayant NEW
Deepesh S StensethBrazilAnna Fali NEGOTIATION
Aditya Z PerinSpainOnyama Limba UNQUALIFIED
Jones B GlickIndiaIvan Magalhaes PROPOSAL
Kadeem J BologniaJapanBernardo Dominic NEGOTIATION
Aruna D WaycottUnited KingdomAnna Fali QUALIFIED
Cody J KuskoSpainIvan Magalhaes NEW
Sinclair M WieserSpainAnna Fali RENEWAL
Jeanfrancois D GarufiCanadaElwin Sharvill UNQUALIFIED
Jefferson T DoeCanadaAnna Fali NEGOTIATION
Ricardo Q AlbaresRussiaOnyama Limba PROPOSAL
Greenwood T VenereItalyAsiya Javayant NEGOTIATION
Rodrigues W SaylorsItalyElwin Sharvill RENEWAL
Kaitlin Z DarakjyIndiaStephen Shaw UNQUALIFIED
Morrow N MaletRussiaIoni Bowcher NEW
Greenwood J DarakjyBrazilStephen Shaw RENEWAL
Aditya R SchemmerSpainAmy Elsner QUALIFIED
Izzy W FlosiAustraliaElwin Sharvill QUALIFIED
Adams A PerinRussiaXuxue Feng QUALIFIED
Clifford F RimIndiaIvan Magalhaes QUALIFIED
Cody Y PerinUnited KingdomIvan Magalhaes RENEWAL
Misaki X PoquetteArgentinaAnna Fali NEGOTIATION
Stacey X StensethCanadaBernardo Dominic QUALIFIED
David G CaldareraSpainOnyama Limba NEGOTIATION

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