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
Francesco L RoysterItalyBernardo Dominic RENEWAL
Smith N ChuiIndiaXuxue Feng PROPOSAL
Ricardo Q GarufiJapanBernardo Dominic NEGOTIATION
Munro F RulapaughItalyAnna Fali UNQUALIFIED
Greenwood X RoysterArgentinaIoni Bowcher UNQUALIFIED
Kadeem D BologniaRussiaAnna Fali QUALIFIED
Antonio B TollnerJapanOnyama Limba QUALIFIED
Stacey V WieserBrazilXuxue Feng NEW
Adams E MacleadRussiaElwin Sharvill NEGOTIATION
Isabel I GauchoBrazilOnyama Limba NEGOTIATION
Arvin Q MaletJapanXuxue Feng RENEWAL
Maria S GarufiUnited KingdomOnyama Limba QUALIFIED
Murillo G NickaJapanOnyama Limba NEW
Maria K BowleyUnited KingdomStephen Shaw RENEWAL
Rodrigues L ChuiUnited KingdomAmy Elsner QUALIFIED
David X FollerUnited KingdomIoni Bowcher NEW
Octavia J MaletCanadaOnyama Limba NEW
Arvin E RulapaughItalyIoni Bowcher UNQUALIFIED
Julie T StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Costa X MaletCanadaOnyama Limba RENEWAL
Rodrigues O MacleadRussiaAsiya Javayant RENEWAL
Antonio I CaldareraIndiaAmy Elsner NEW
Mayumi G RoysterCanadaElwin Sharvill UNQUALIFIED
Clifford S MaletFranceAsiya Javayant NEGOTIATION
Cody K KuskoUnited KingdomAsiya Javayant PROPOSAL
Leja N BologniaBrazilAnna Fali QUALIFIED
Smith X IturbideIndiaBernardo Dominic QUALIFIED
Izzy V MorascaIndiaOnyama Limba PROPOSAL
Maria I TollnerRussiaStephen Shaw UNQUALIFIED
Darci A KuskoIndiaIvan Magalhaes NEGOTIATION
Morrow J KuskoUnited KingdomXuxue Feng UNQUALIFIED
Salvatore L CampainCanadaXuxue Feng QUALIFIED
Tony D NickaCanadaOnyama Limba NEW
Ricardo Z NestleUnited KingdomIvan Magalhaes QUALIFIED
Adams G InouyeBrazilAnna Fali PROPOSAL
Jeanfrancois N RulapaughGermanyAmy Elsner QUALIFIED
Jeanfrancois T WieserFranceElwin Sharvill RENEWAL
Leon G TollnerUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois C KuskoSpainXuxue Feng UNQUALIFIED
Silvio A BowleyGermanyAmy Elsner NEGOTIATION
Aruna D FerenczBrazilStephen Shaw UNQUALIFIED
Aditya I DilliardSpainStephen Shaw UNQUALIFIED
Francesco A PaprockiArgentinaElwin Sharvill PROPOSAL
Ricardo F RimGermanyIoni Bowcher QUALIFIED
Aruna R PoquetteFranceAnna Fali NEGOTIATION
Aika I SlusarskiAustraliaOnyama Limba QUALIFIED
Chavez G SlusarskiFranceBernardo Dominic QUALIFIED
Faith A WaycottFranceOnyama Limba NEW
Rodrigues C GlickCanadaAmy Elsner RENEWAL
Maisha N FerenczArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh K FlosiGermanyOnyama Limba RENEWAL
Chavez S FollerRussiaOnyama Limba RENEWAL
Jennifer J SchemmerSpainStephen Shaw NEGOTIATION
Nicolas M MarrierItalyIvan Magalhaes PROPOSAL
Rodrigues N NickaAustraliaStephen Shaw NEW
Kaitlin D WhobreyAustraliaAmy Elsner PROPOSAL
Kadeem G FollerAustraliaOnyama Limba RENEWAL
Faith U CampainAustraliaStephen Shaw QUALIFIED
Tony Q ShinkoItalyAsiya Javayant QUALIFIED
Leon T SchemmerItalyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci E MacleadArgentina2025-06-05Dorl, James J Esq NEW31Ioni Bowcher
1001James Q RulapaughItaly2025-06-07Benton, John B Jr RENEWAL4Ivan Magalhaes
1002Misaki R NestleJapan2025-05-28King, Christopher A Esq RENEWAL82Onyama Limba
1003Maisha N WieserUnited Kingdom2025-06-11Feiner Bros QUALIFIED67Ioni Bowcher
1004Johnson U NickaJapan2025-06-12Benton, John B Jr QUALIFIED71Ivan Magalhaes
1005Leja J StensethUnited Kingdom2025-05-27Morlong Associates RENEWAL75Asiya Javayant
1006James Z NestleAustralia2025-05-29Commercial Press UNQUALIFIED67Bernardo Dominic
1007Johnson D NickaRussia2025-05-24Dorl, James J Esq PROPOSAL87Bernardo Dominic
1008Ivar P WieserGermany2025-06-05Feltz Printing Service QUALIFIED29Bernardo Dominic
1009Juan I MacleadRussia2025-06-09Dorl, James J Esq UNQUALIFIED12Anna Fali
1010Antonio D DarakjyItaly2025-06-01Chemel, James L Cpa RENEWAL27Bernardo Dominic
1011Cody I OldroydRussia2025-06-03Benton, John B Jr QUALIFIED37Ivan Magalhaes
1012Adams B VenereBrazil2025-06-15Chanay, Jeffrey A Esq PROPOSAL90Onyama Limba
1013Faith U FigeroaFrance2025-06-14Rangoni Of Florence PROPOSAL76Ivan Magalhaes
1014Alejandro O MaletUnited Kingdom2025-05-19Feltz Printing Service QUALIFIED53Xuxue Feng
1015Maisha U WhobreyItaly2025-05-22Benton, John B Jr NEW56Elwin Sharvill
1016Nicolas B MaletFrance2025-05-21Rangoni Of Florence PROPOSAL70Elwin Sharvill
1017Costa G KuskoItaly2025-05-18Feiner Bros NEGOTIATION11Amy Elsner
1018Tony B MaletAustralia2025-05-23Printing Dimensions QUALIFIED26Stephen Shaw
1019Stacey H InouyeBrazil2025-05-28Feltz Printing Service UNQUALIFIED32Xuxue Feng
1020Rodrigues P NestleArgentina2025-06-11Dorl, James J Esq UNQUALIFIED20Ioni Bowcher
1021Alejandro A PoquetteArgentina2025-06-06Chemel, James L Cpa NEGOTIATION90Xuxue Feng
1022Darci D PaprockiUnited Kingdom2025-06-12Truhlar And Truhlar Attys QUALIFIED31Ivan Magalhaes
1023Clifford C GauchoIndia2025-05-27Feiner Bros QUALIFIED58Ioni Bowcher
1024Maisha A StensethAustralia2025-05-31Commercial Press RENEWAL1Bernardo Dominic
1025Jefferson T SlusarskiRussia2025-06-02King, Christopher A Esq UNQUALIFIED88Bernardo Dominic
1026Claire X SaylorsJapan2025-05-28Feiner Bros UNQUALIFIED24Xuxue Feng
1027Francesco U WhobreyRussia2025-05-26Rousseaux, Michael Esq QUALIFIED48Ioni Bowcher
1028Jones I GarufiRussia2025-06-11Morlong Associates PROPOSAL3Onyama Limba
1029Mujtaba F PoquetteSpain2025-05-20Dorl, James J Esq NEGOTIATION3Anna Fali
1030James K WieserRussia2025-05-25Dorl, James J Esq NEW87Stephen Shaw
1031Darci N GarufiFrance2025-05-28Truhlar And Truhlar Attys RENEWAL22Stephen Shaw
1032Johnson J IturbideIndia2025-06-09Rangoni Of Florence RENEWAL30Amy Elsner
1033Arvin Z CampainArgentina2025-06-07Benton, John B Jr RENEWAL76Elwin Sharvill
1034Murillo R PoquetteFrance2025-06-01Rangoni Of Florence NEW55Elwin Sharvill
1035Leon Y MacleadIndia2025-06-03Chapman, Ross E Esq QUALIFIED7Onyama Limba
1036Kaitlin Q InouyeUnited Kingdom2025-06-14Buckley Miller Wright RENEWAL80Ioni Bowcher
1037Octavia Z MarrierFrance2025-06-07Commercial Press PROPOSAL90Onyama Limba
1038Leja Q PerinCanada2025-06-06Truhlar And Truhlar Attys UNQUALIFIED38Xuxue Feng
1039Rodrigues V PoquetteRussia2025-06-16Chanay, Jeffrey A Esq QUALIFIED65Anna Fali
1040Maria M DarakjyIndia2025-06-03King, Christopher A Esq NEW62Ivan Magalhaes
1041Claire E BriddickItaly2025-06-06Benton, John B Jr RENEWAL14Amy Elsner
1042Jefferson Y RutaBrazil2025-05-25Feltz Printing Service RENEWAL48Elwin Sharvill
1043Jones P PoquetteBrazil2025-06-01Rousseaux, Michael Esq RENEWAL32Elwin Sharvill
1044Ivar V RutaArgentina2025-05-19Feltz Printing Service NEGOTIATION44Elwin Sharvill
1045Arvin V SergiArgentina2025-05-26Buckley Miller Wright RENEWAL2Onyama Limba
1046Juan U VenereItaly2025-06-08Chapman, Ross E Esq NEW55Amy Elsner
1047Jones N ChuiItaly2025-06-05Chemel, James L Cpa QUALIFIED38Bernardo Dominic
1048Greenwood L BologniaIndia2025-05-24Dorl, James J Esq NEW39Stephen Shaw
1049Costa W DarakjyFrance2025-05-24Feiner Bros RENEWAL53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Murillo T ChuiArgentinaOnyama Limba RENEWAL
Smith A KolmetzItalyBernardo Dominic PROPOSAL
Misaki J FollerSpainStephen Shaw PROPOSAL
Aruna N GauchoRussiaOnyama Limba RENEWAL
Emily F KolmetzUnited KingdomAnna Fali QUALIFIED
Nicolas O DarakjyJapanIoni Bowcher NEW
Izzy V FlosiArgentinaBernardo Dominic NEW
Claire M PerinAustraliaAsiya Javayant NEGOTIATION
Rodrigues M CampainGermanyElwin Sharvill UNQUALIFIED
Darci R IturbideItalyBernardo Dominic NEW
David O DoeItalyIoni Bowcher QUALIFIED
James X MaletCanadaAsiya Javayant QUALIFIED
Murillo Y ButtAustraliaOnyama Limba PROPOSAL
Greenwood F CaldareraFranceIvan Magalhaes NEW
Kadeem Q BriddickUnited KingdomAmy Elsner QUALIFIED
Stacey L ButtBrazilAnna Fali UNQUALIFIED
Johnson M FollerJapanIoni Bowcher UNQUALIFIED
Jeanfrancois C WieserJapanStephen Shaw RENEWAL
Ivar N PaprockiArgentinaBernardo Dominic PROPOSAL
Octavia C RoysterSpainOnyama Limba NEW
Jones V MacleadArgentinaAmy Elsner PROPOSAL
Greenwood B NickaAustraliaAnna Fali QUALIFIED
Juan P CampainIndiaAnna Fali PROPOSAL
Clifford H RoysterCanadaAsiya Javayant NEW
Greenwood Y MaletFranceAnna Fali RENEWAL
Leon F MaletFranceXuxue Feng RENEWAL
Julie J GlickItalyBernardo Dominic UNQUALIFIED
Greenwood B InouyeRussiaBernardo Dominic RENEWAL
Maria A MarrierRussiaIvan Magalhaes RENEWAL
Jefferson Z OstroskyJapanAnna Fali PROPOSAL
Nicolas W CampainFranceXuxue Feng NEGOTIATION
Aditya T NestleJapanAmy Elsner NEGOTIATION
Johnson L FollerJapanBernardo Dominic NEW
Munro F RulapaughBrazilAmy Elsner NEW
Aika L KolmetzSpainStephen Shaw NEGOTIATION
Deepesh B WieserItalyAnna Fali UNQUALIFIED
Deepesh E BriddickBrazilAsiya Javayant PROPOSAL
Wickens V MarrierUnited KingdomAsiya Javayant RENEWAL
Tony U BowleyCanadaAsiya Javayant PROPOSAL
David E StockhamCanadaElwin Sharvill RENEWAL
Faith V RutaFranceIvan Magalhaes RENEWAL
Costa X GlickBrazilXuxue Feng NEGOTIATION
Isabel P DilliardBrazilElwin Sharvill NEW
Faith X BologniaSpainStephen Shaw QUALIFIED
Cody P MacleadArgentinaXuxue Feng NEW
Smith T RulapaughCanadaOnyama Limba NEW
Adams S MaletBrazilAnna Fali RENEWAL
Costa P InouyeArgentinaOnyama Limba NEGOTIATION
Juan L FigeroaItalyAsiya Javayant RENEWAL
Nicolas P ShinkoBrazilStephen Shaw NEW
Frozen Columns
Name
Aika A Poquette
Costa R Caldarera
James H Nicka
Jeanfrancois Z Nicka
Octavia C Whobrey
Clifford X Oldroyd
Darci M Garufi
Alejandro J Glick
Murillo R Dilliard
Cody L Marrier
Nicolas P Stenseth
Mayumi F Bolognia
Aditya B Vocelka
Johnson J Stockham
Rodrigues Z Bowley
Francesco R Glick
Sinclair N Gillian
Darci D Royster
Silvio A Royster
Leja E Paprocki
Salvatore P Chui
Salvatore K Figeroa
Antonio C Rim
Aika V Stenseth
Greenwood B Whobrey
Nicolas J Dilliard
Rodrigues R Bowley
Smith Z Gaucho
Salvatore F Chui
Mujtaba P Vocelka
Jennifer H Schemmer
Mujtaba M Briddick
Leja O Ostrosky
Deepesh S Rulapaugh
Arvin Q Darakjy
Morrow A Kusko
Maria M Stockham
Johnson H Glick
Aruna F Briddick
Mayumi S Kolmetz
Leja A Iturbide
Wickens S Bowley
Chavez A Rulapaugh
Sinclair C Gaucho
Cody Z Tollner
Murillo X Rulapaugh
Clifford E Wieser
Johnson F Butt
Mayumi T Ruta
Costa B Venere
IdCountryDate
1000Germany2025-05-29
1001India2025-06-11
1002Germany2025-05-30
1003Russia2025-06-03
1004India2025-06-09
1005Brazil2025-06-07
1006Argentina2025-05-18
1007Russia2025-06-09
1008Spain2025-05-26
1009India2025-06-03
1010Italy2025-05-30
1011Spain2025-06-13
1012India2025-05-27
1013Japan2025-06-16
1014Germany2025-06-01
1015Canada2025-05-20
1016United Kingdom2025-05-20
1017Germany2025-05-21
1018Japan2025-05-28
1019Argentina2025-06-14
1020France2025-05-23
1021United Kingdom2025-06-06
1022Canada2025-06-10
1023France2025-05-29
1024Argentina2025-05-27
1025Japan2025-05-21
1026Brazil2025-05-28
1027Argentina2025-05-22
1028Argentina2025-06-06
1029United Kingdom2025-06-13
1030Canada2025-06-02
1031India2025-05-26
1032Argentina2025-05-18
1033United Kingdom2025-06-10
1034Russia2025-06-02
1035France2025-05-19
1036Australia2025-05-19
1037Australia2025-05-27
1038India2025-06-11
1039Australia2025-06-12
1040Australia2025-06-07
1041United Kingdom2025-06-09
1042United Kingdom2025-05-27
1043Canada2025-05-31
1044United Kingdom2025-05-24
1045Spain2025-05-30
1046Canada2025-06-10
1047France2025-05-21
1048Italy2025-05-19
1049Russia2025-05-28

On-Demand Data

NameIdCountryDate
Darci A Saylors1000Argentina2025-06-14
Costa D Shinko1001Russia2025-06-10
Rodrigues N Paprocki1002India2025-05-22
Alejandro Y Doe1003Argentina2025-06-02
Darci B Ostrosky1004Japan2025-05-21
Claire J Perin1005Argentina2025-05-31
Cody G Darakjy1006Australia2025-06-10
Cody P Caudy1007United Kingdom2025-05-27
Ivar Q Caudy1008Brazil2025-05-29
Adams K Butt1009Canada2025-06-01
Octavia Q Caldarera1010United Kingdom2025-06-03
Salvatore F Caudy1011India2025-06-16
Francesco B Malet1012Brazil2025-05-31
Alejandro Q Butt1013Brazil2025-06-14
Emily K Ruta1014India2025-05-22
James I Shinko1015Canada2025-06-04
Adams Z Paprocki1016Brazil2025-05-31
Aika R Tollner1017United Kingdom2025-05-20
Mayumi H Flosi1018Brazil2025-06-13
Sinclair I Perin1019Russia2025-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco R TollnerFranceAmy Elsner UNQUALIFIED
Claire L PoquetteGermanyStephen Shaw QUALIFIED
Deepesh M AmigonItalyStephen Shaw QUALIFIED
Silvio Z RulapaughGermanyIvan Magalhaes NEW
Julie P DoeSpainAnna Fali RENEWAL
Octavia P AmigonItalyStephen Shaw PROPOSAL
Izzy U TollnerCanadaAsiya Javayant UNQUALIFIED
Kaitlin J AmigonIndiaIvan Magalhaes UNQUALIFIED
Isabel F SaylorsBrazilOnyama Limba PROPOSAL
Nicolas W MorascaCanadaIoni Bowcher NEW
Claire G IturbideCanadaElwin Sharvill RENEWAL
Leja G GarufiAustraliaIvan Magalhaes QUALIFIED
Greenwood X CaudyRussiaBernardo Dominic NEGOTIATION
David R MarrierGermanyBernardo Dominic QUALIFIED
Alejandro T PerinCanadaAsiya Javayant UNQUALIFIED
Jefferson W NickaFranceElwin Sharvill RENEWAL
Mayumi I PerinUnited KingdomIvan Magalhaes RENEWAL
Salvatore O PerinGermanyAmy Elsner PROPOSAL
Kaitlin T VocelkaJapanAnna Fali QUALIFIED
Kadeem Y AlbaresAustraliaAnna Fali QUALIFIED
Cody S MaletAustraliaAsiya Javayant NEGOTIATION
Antonio Q BriddickFranceElwin Sharvill NEW
Francesco I KolmetzSpainXuxue Feng RENEWAL
Arvin T WhobreyGermanyElwin Sharvill UNQUALIFIED
Greenwood K RulapaughArgentinaBernardo Dominic PROPOSAL
Maisha Z ButtFranceBernardo Dominic PROPOSAL
Greenwood I KolmetzCanadaStephen Shaw PROPOSAL
Julie L TollnerBrazilAsiya Javayant NEW
Wickens I GarufiUnited KingdomElwin Sharvill NEGOTIATION
David I OldroydJapanElwin Sharvill RENEWAL
Cody X PerinCanadaStephen Shaw UNQUALIFIED
Deepesh U RulapaughItalyBernardo Dominic NEW
Ricardo D GauchoItalyBernardo Dominic NEGOTIATION
Munro V IturbideSpainAsiya Javayant NEGOTIATION
Julie S RutaIndiaStephen Shaw UNQUALIFIED
Faith U CaudyBrazilElwin Sharvill RENEWAL
Jennifer R NickaSpainIvan Magalhaes UNQUALIFIED
Alejandro R ButtSpainAsiya Javayant NEW
Antonio P FigeroaFranceAnna Fali RENEWAL
Leja U FerenczBrazilStephen Shaw UNQUALIFIED

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