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
Salvatore E MaletCanadaBernardo Dominic NEW
Salvatore I SaylorsCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois C RulapaughFranceXuxue Feng UNQUALIFIED
Johnson V NestleRussiaElwin Sharvill QUALIFIED
Adams K TollnerRussiaStephen Shaw UNQUALIFIED
Julie N AlbaresItalyAsiya Javayant NEW
Jefferson D DilliardRussiaXuxue Feng QUALIFIED
Misaki Z KuskoSpainIvan Magalhaes PROPOSAL
Antonio G MorascaItalyAsiya Javayant RENEWAL
Antonio D AmigonFranceStephen Shaw QUALIFIED
Munro C RutaCanadaBernardo Dominic UNQUALIFIED
Jones D TollnerArgentinaXuxue Feng RENEWAL
Jeanfrancois R KuskoAustraliaOnyama Limba NEGOTIATION
Greenwood A FerenczItalyAmy Elsner RENEWAL
Adams G DarakjySpainStephen Shaw RENEWAL
Antonio I MacleadGermanyXuxue Feng UNQUALIFIED
Octavia Y MacleadUnited KingdomAnna Fali NEGOTIATION
Salvatore N RimBrazilXuxue Feng QUALIFIED
Antonio E PerinSpainBernardo Dominic NEGOTIATION
Johnson Y StensethUnited KingdomAmy Elsner RENEWAL
Jefferson J BriddickRussiaIoni Bowcher PROPOSAL
Johnson Q KuskoArgentinaAmy Elsner NEW
Leon D StockhamAustraliaElwin Sharvill RENEWAL
Cody Y FlosiArgentinaAmy Elsner NEGOTIATION
James Q GarufiGermanyStephen Shaw NEGOTIATION
Murillo C VenereItalyOnyama Limba QUALIFIED
Stacey W MaletBrazilOnyama Limba NEW
Johnson N SergiItalyAmy Elsner NEGOTIATION
Sinclair P PoquetteRussiaAnna Fali NEGOTIATION
Francesco K FlosiBrazilIoni Bowcher UNQUALIFIED
James T ChuiArgentinaStephen Shaw RENEWAL
Maria W CaldareraBrazilStephen Shaw NEGOTIATION
Octavia U DoeJapanAsiya Javayant NEW
Chavez X GillianAustraliaXuxue Feng NEGOTIATION
Greenwood Y CaudyRussiaIoni Bowcher NEGOTIATION
Stacey V ShinkoGermanyXuxue Feng PROPOSAL
Morrow W BowleyArgentinaStephen Shaw RENEWAL
Johnson F GarufiGermanyBernardo Dominic QUALIFIED
Francesco J FigeroaItalyAsiya Javayant UNQUALIFIED
Emily H InouyeAustraliaOnyama Limba QUALIFIED
Sinclair X IturbideRussiaXuxue Feng UNQUALIFIED
Juan A SlusarskiUnited KingdomOnyama Limba PROPOSAL
Claire J OstroskySpainIvan Magalhaes RENEWAL
Aika N PoquetteRussiaAsiya Javayant RENEWAL
Silvio Q MaletUnited KingdomIoni Bowcher NEW
Claire X FigeroaBrazilOnyama Limba NEGOTIATION
Sinclair J DarakjyGermanyStephen Shaw NEW
Maria S NestleAustraliaStephen Shaw UNQUALIFIED
Maisha O PerinIndiaBernardo Dominic NEGOTIATION
Jones X StensethAustraliaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha X VenereItalyIvan Magalhaes QUALIFIED
Leja N BowleyGermanyAmy Elsner UNQUALIFIED
Juan Z CampainRussiaOnyama Limba NEW
Jennifer U PoquetteBrazilBernardo Dominic PROPOSAL
Cody Q AmigonAustraliaIoni Bowcher NEW
Smith W BriddickCanadaIoni Bowcher RENEWAL
Adams E WaycottAustraliaIoni Bowcher NEW
Leja L AlbaresBrazilXuxue Feng PROPOSAL
Johnson E OstroskyGermanyAnna Fali NEW
Alejandro H RulapaughGermanyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody D WhobreyIndia2024-05-24Chanay, Jeffrey A Esq PROPOSAL66Asiya Javayant
1001Mayumi O WieserBrazil2024-06-13King, Christopher A Esq RENEWAL25Ioni Bowcher
1002Nicolas T CaldareraBrazil2024-05-30Rousseaux, Michael Esq NEW98Bernardo Dominic
1003Morrow W SergiUnited Kingdom2024-06-12Truhlar And Truhlar Attys NEGOTIATION58Elwin Sharvill
1004Wickens O RulapaughFrance2024-06-14Chemel, James L Cpa QUALIFIED61Stephen Shaw
1005Maisha V MorascaGermany2024-06-13Commercial Press PROPOSAL89Amy Elsner
1006Wickens R NestleGermany2024-06-15King, Christopher A Esq UNQUALIFIED85Ioni Bowcher
1007Aruna R CampainArgentina2024-05-20Commercial Press QUALIFIED50Bernardo Dominic
1008Deepesh B CaudyRussia2024-05-28Chapman, Ross E Esq RENEWAL73Ivan Magalhaes
1009Smith O AmigonFrance2024-06-12Chanay, Jeffrey A Esq NEGOTIATION74Ioni Bowcher
1010Jennifer X BriddickAustralia2024-06-13Chemel, James L Cpa RENEWAL3Stephen Shaw
1011Juan D SaylorsUnited Kingdom2024-05-20King, Christopher A Esq PROPOSAL10Xuxue Feng
1012Nicolas H TollnerFrance2024-05-25Rousseaux, Michael Esq UNQUALIFIED22Elwin Sharvill
1013Antonio V FigeroaArgentina2024-06-15Chanay, Jeffrey A Esq NEW61Elwin Sharvill
1014Sinclair D GarufiAustralia2024-06-07Rousseaux, Michael Esq RENEWAL36Xuxue Feng
1015Octavia W PerinJapan2024-05-25Commercial Press QUALIFIED87Stephen Shaw
1016Ricardo N GlickAustralia2024-05-23Feltz Printing Service RENEWAL62Bernardo Dominic
1017Aruna K ButtRussia2024-06-06Printing Dimensions QUALIFIED72Ioni Bowcher
1018Maria L KuskoCanada2024-05-23Benton, John B Jr NEGOTIATION20Xuxue Feng
1019Mujtaba L GlickIndia2024-06-15Buckley Miller Wright PROPOSAL92Elwin Sharvill
1020Octavia X MorascaFrance2024-05-29Rangoni Of Florence PROPOSAL40Ioni Bowcher
1021Leon I MaletAustralia2024-06-05Chapman, Ross E Esq RENEWAL92Amy Elsner
1022Arvin R GarufiUnited Kingdom2024-06-02Feltz Printing Service UNQUALIFIED76Stephen Shaw
1023Aruna P ChuiRussia2024-05-30Feltz Printing Service RENEWAL59Elwin Sharvill
1024Faith B FlosiIndia2024-06-07Dorl, James J Esq UNQUALIFIED79Asiya Javayant
1025Leon B GillianFrance2024-06-08Chapman, Ross E Esq NEW16Xuxue Feng
1026Mayumi L CaudyBrazil2024-06-12Buckley Miller Wright NEW9Xuxue Feng
1027Mujtaba B DilliardJapan2024-05-28Chanay, Jeffrey A Esq QUALIFIED22Xuxue Feng
1028Leon F StockhamBrazil2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED26Elwin Sharvill
1029Jefferson J SaylorsJapan2024-05-20Rousseaux, Michael Esq NEW39Elwin Sharvill
1030Alejandro G KuskoRussia2024-05-25Feiner Bros UNQUALIFIED83Ioni Bowcher
1031Munro R MaletFrance2024-06-10Feiner Bros NEW24Ivan Magalhaes
1032Jefferson J FlosiArgentina2024-06-10Commercial Press QUALIFIED71Amy Elsner
1033Chavez V WhobreyGermany2024-06-08Morlong Associates UNQUALIFIED91Asiya Javayant
1034Leon S SchemmerGermany2024-06-10Morlong Associates PROPOSAL76Ioni Bowcher
1035Antonio I GauchoBrazil2024-05-21Dorl, James J Esq QUALIFIED33Anna Fali
1036Munro W KolmetzUnited Kingdom2024-05-29Feltz Printing Service QUALIFIED51Xuxue Feng
1037Arvin Q NickaUnited Kingdom2024-05-31Rousseaux, Michael Esq PROPOSAL52Anna Fali
1038Francesco G OstroskyRussia2024-06-11Rangoni Of Florence UNQUALIFIED68Amy Elsner
1039Rodrigues T InouyeCanada2024-05-29Rousseaux, Michael Esq RENEWAL75Ivan Magalhaes
1040Silvio W SchemmerAustralia2024-05-21Benton, John B Jr QUALIFIED94Stephen Shaw
1041James N PaprockiGermany2024-06-18Benton, John B Jr NEGOTIATION85Bernardo Dominic
1042Cody C BowleyBrazil2024-05-25Printing Dimensions NEGOTIATION16Onyama Limba
1043Jones S PerinFrance2024-06-07Chanay, Jeffrey A Esq PROPOSAL81Asiya Javayant
1044Octavia V PaprockiJapan2024-05-25Benton, John B Jr NEW67Ioni Bowcher
1045Leja P OldroydCanada2024-06-13Commercial Press NEW1Xuxue Feng
1046Kadeem W RimUnited Kingdom2024-05-20Rousseaux, Michael Esq NEW35Onyama Limba
1047Darci W DoeJapan2024-06-17Printing Dimensions RENEWAL3Anna Fali
1048Wickens P MarrierBrazil2024-06-15Printing Dimensions PROPOSAL46Elwin Sharvill
1049Jennifer K SaylorsItaly2024-05-22Rousseaux, Michael Esq NEW61Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones G SergiSpainAmy Elsner NEW
Munro B GarufiJapanAmy Elsner UNQUALIFIED
Murillo X WieserFranceAnna Fali QUALIFIED
Chavez H ShinkoIndiaAmy Elsner NEW
Isabel S MarrierCanadaElwin Sharvill NEW
Sinclair D OstroskyItalyXuxue Feng NEW
Wickens J PoquetteUnited KingdomAmy Elsner PROPOSAL
Francesco I CaudySpainStephen Shaw UNQUALIFIED
Aditya F SlusarskiIndiaIvan Magalhaes NEW
Morrow V GauchoJapanIoni Bowcher NEGOTIATION
Salvatore B ChuiJapanOnyama Limba NEGOTIATION
Jefferson I BowleyCanadaAnna Fali UNQUALIFIED
Ivar G VenereUnited KingdomStephen Shaw PROPOSAL
Jennifer Q NestleGermanyAnna Fali NEW
Murillo D WieserGermanyAsiya Javayant NEGOTIATION
Maria H BologniaIndiaBernardo Dominic QUALIFIED
Murillo X RimGermanyXuxue Feng QUALIFIED
Mayumi H GlickFranceAmy Elsner PROPOSAL
Antonio H PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Adams B PoquetteArgentinaXuxue Feng PROPOSAL
Sinclair E CampainSpainOnyama Limba NEW
Aditya H FlosiGermanyBernardo Dominic NEW
Leon O FigeroaIndiaXuxue Feng NEGOTIATION
Aruna J OstroskySpainElwin Sharvill PROPOSAL
Adams G VocelkaItalyAmy Elsner QUALIFIED
Misaki P WaycottItalyStephen Shaw UNQUALIFIED
Wickens U MacleadUnited KingdomXuxue Feng QUALIFIED
Adams B MacleadJapanOnyama Limba NEGOTIATION
Arvin W TollnerUnited KingdomIvan Magalhaes PROPOSAL
Cody V SaylorsSpainXuxue Feng NEW
Izzy X FigeroaUnited KingdomAnna Fali RENEWAL
Antonio P MacleadGermanyIvan Magalhaes NEGOTIATION
Johnson L VenereRussiaAnna Fali RENEWAL
Jeanfrancois A FigeroaUnited KingdomIoni Bowcher QUALIFIED
Silvio J ShinkoCanadaAsiya Javayant UNQUALIFIED
Emily Y NickaArgentinaAsiya Javayant NEGOTIATION
Izzy Q BowleyGermanyXuxue Feng RENEWAL
Murillo J MacleadGermanyBernardo Dominic QUALIFIED
Ashley Z PaprockiBrazilStephen Shaw RENEWAL
Aditya V RutaRussiaAmy Elsner UNQUALIFIED
Kadeem T BowleyItalyIvan Magalhaes QUALIFIED
Isabel T CaldareraGermanyOnyama Limba QUALIFIED
Misaki Z VocelkaArgentinaXuxue Feng RENEWAL
Costa P RulapaughAustraliaAsiya Javayant QUALIFIED
Octavia G DarakjyAustraliaOnyama Limba NEW
Claire P MaletArgentinaIvan Magalhaes NEW
Munro I VenereFranceXuxue Feng UNQUALIFIED
Juan T NestleArgentinaAmy Elsner PROPOSAL
James Q FollerRussiaBernardo Dominic NEGOTIATION
Rodrigues H WhobreyRussiaBernardo Dominic NEW
Frozen Columns
Name
Rodrigues P Campain
David U Waycott
Deepesh F Flosi
Deepesh M Gillian
Arvin M Marrier
Jennifer J Schemmer
Kadeem Q Glick
Jennifer G Ostrosky
Juan K Dilliard
Sinclair R Butt
Juan S Gillian
Rodrigues O Rim
Leon P Maclead
Darci F Stenseth
Greenwood K Saylors
Stacey W Shinko
Sinclair U Doe
Munro K Rulapaugh
Smith D Butt
Jones R Gillian
Jennifer P Amigon
Ivar S Glick
Aruna F Waycott
Jefferson M Albares
Munro N Caldarera
Nicolas G Ferencz
Silvio P Butt
Munro X Marrier
Cody I Royster
Leon P Garufi
Chavez V Doe
Ricardo I Malet
Alejandro I Stockham
Maria Q Darakjy
Adams B Glick
Silvio E Iturbide
Alejandro R Briddick
Wickens R Perin
Arvin A Dilliard
Aditya M Gillian
Maisha G Briddick
Isabel L Venere
Johnson M Dilliard
Tony L Shinko
Smith H Sergi
Rodrigues U Caldarera
Antonio R Stenseth
Ashley K Nestle
Ricardo C Whobrey
Maria U Flosi
IdCountryDate
1000Canada2024-06-09
1001United Kingdom2024-05-24
1002Russia2024-06-15
1003Germany2024-05-22
1004Brazil2024-06-16
1005France2024-06-01
1006India2024-05-24
1007United Kingdom2024-06-13
1008Germany2024-06-03
1009Australia2024-06-03
1010Argentina2024-05-25
1011United Kingdom2024-06-10
1012Canada2024-05-30
1013Argentina2024-05-25
1014Japan2024-05-22
1015Russia2024-05-26
1016United Kingdom2024-06-14
1017Australia2024-05-24
1018Italy2024-06-15
1019Germany2024-06-14
1020Argentina2024-06-01
1021Argentina2024-06-15
1022Argentina2024-06-17
1023Argentina2024-06-01
1024Australia2024-05-23
1025Australia2024-06-02
1026Japan2024-05-28
1027Japan2024-06-17
1028Japan2024-05-22
1029Spain2024-06-01
1030India2024-05-31
1031Germany2024-06-09
1032Canada2024-06-05
1033Italy2024-05-30
1034France2024-05-28
1035Australia2024-06-14
1036Germany2024-05-22
1037Japan2024-06-13
1038Brazil2024-05-22
1039Italy2024-06-17
1040United Kingdom2024-05-25
1041Argentina2024-06-10
1042Australia2024-05-22
1043United Kingdom2024-06-04
1044Russia2024-06-12
1045India2024-05-23
1046Japan2024-05-25
1047Russia2024-06-10
1048Brazil2024-05-21
1049Spain2024-05-22

On-Demand Data

NameIdCountryDate
Cody F Bowley1000Australia2024-06-08
Izzy W Darakjy1001Brazil2024-06-18
Deepesh Q Ruta1002Russia2024-05-30
Smith S Saylors1003Germany2024-05-30
Ricardo V Amigon1004Canada2024-06-13
Mujtaba J Gaucho1005Italy2024-06-05
Maria H Kusko1006France2024-06-14
Jennifer X Albares1007Australia2024-05-20
Stacey C Whobrey1008Canada2024-05-23
Johnson Y Albares1009Russia2024-06-02
Faith S Ostrosky1010Australia2024-05-29
Aruna Y Albares1011Brazil2024-06-12
Adams V Bolognia1012United Kingdom2024-06-04
Nicolas F Poquette1013Australia2024-06-03
Tony P Oldroyd1014Russia2024-06-14
Mujtaba Y Paprocki1015Argentina2024-05-29
Emily C Amigon1016Canada2024-06-15
Emily X Waycott1017Argentina2024-06-15
Alejandro M Schemmer1018India2024-05-25
Francesco J Wieser1019United Kingdom2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T WieserRussiaOnyama Limba QUALIFIED
Ivar U MaletUnited KingdomAsiya Javayant RENEWAL
Smith X GarufiUnited KingdomIvan Magalhaes RENEWAL
Cody R MaletIndiaAnna Fali RENEWAL
Kadeem K OstroskyItalyAmy Elsner NEGOTIATION
Kaitlin C NestleSpainIoni Bowcher NEW
Alejandro M BologniaGermanyOnyama Limba UNQUALIFIED
Juan C BologniaIndiaAnna Fali NEW
Cody S VenereSpainElwin Sharvill NEGOTIATION
Johnson C ChuiUnited KingdomIvan Magalhaes NEW
Salvatore H WaycottRussiaBernardo Dominic NEGOTIATION
Jeanfrancois K MacleadFranceIoni Bowcher NEW
Deepesh P GillianArgentinaAmy Elsner NEW
Mujtaba Y ShinkoArgentinaOnyama Limba NEW
Leon Z CampainRussiaAnna Fali UNQUALIFIED
Ricardo S CampainArgentinaAmy Elsner RENEWAL
Munro D DilliardUnited KingdomAmy Elsner RENEWAL
Deepesh J DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Darci K WaycottArgentinaOnyama Limba RENEWAL
Isabel Z OstroskyIndiaIvan Magalhaes NEGOTIATION
Deepesh Y StockhamItalyIvan Magalhaes RENEWAL
Leon I RutaSpainElwin Sharvill UNQUALIFIED
Misaki D PerinGermanyAsiya Javayant NEW
Mayumi E ButtSpainStephen Shaw QUALIFIED
Silvio A ShinkoArgentinaOnyama Limba NEGOTIATION
Leja T RutaJapanAsiya Javayant UNQUALIFIED
Mayumi K NickaGermanyBernardo Dominic NEGOTIATION
Emily O WaycottArgentinaXuxue Feng NEGOTIATION
Morrow S WhobreyJapanAmy Elsner NEW
Kadeem E RulapaughIndiaAnna Fali NEW
Juan S SaylorsJapanBernardo Dominic QUALIFIED
Sinclair U FigeroaUnited KingdomAsiya Javayant PROPOSAL
Aika S FollerItalyBernardo Dominic QUALIFIED
Jeanfrancois G FlosiAustraliaStephen Shaw PROPOSAL
Emily T GlickCanadaIoni Bowcher UNQUALIFIED
Clifford X SchemmerBrazilBernardo Dominic NEW
Adams V GillianUnited KingdomStephen Shaw NEW
Francesco U FigeroaUnited KingdomAsiya Javayant NEW
Clifford A MaletUnited KingdomIvan Magalhaes NEW
Cody O MarrierGermanyAmy Elsner 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>