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
Julie I DarakjyAustraliaAmy Elsner QUALIFIED
Chavez M CaudyFranceIvan Magalhaes NEGOTIATION
Arvin D VenereSpainAsiya Javayant PROPOSAL
Kadeem I StockhamIndiaOnyama Limba PROPOSAL
Darci A SaylorsGermanyAmy Elsner NEW
Costa W MacleadJapanAmy Elsner RENEWAL
Sinclair A MaletArgentinaAnna Fali RENEWAL
Misaki S TollnerCanadaAnna Fali QUALIFIED
Aruna X WhobreyIndiaElwin Sharvill UNQUALIFIED
James H RulapaughRussiaAmy Elsner QUALIFIED
Morrow L VenereFranceAnna Fali NEGOTIATION
Kaitlin W NickaGermanyXuxue Feng NEGOTIATION
Juan V RulapaughGermanyAnna Fali UNQUALIFIED
Stacey S PoquetteCanadaBernardo Dominic RENEWAL
Greenwood Z PoquetteSpainIoni Bowcher QUALIFIED
Antonio X ChuiBrazilAmy Elsner NEW
Silvio S RutaSpainStephen Shaw UNQUALIFIED
Aika Y KolmetzItalyAnna Fali NEGOTIATION
Cody G SchemmerItalyOnyama Limba NEGOTIATION
Misaki Z FollerItalyAnna Fali NEW
Salvatore E DarakjyIndiaAsiya Javayant QUALIFIED
Faith X MacleadIndiaAmy Elsner UNQUALIFIED
Izzy E RulapaughIndiaBernardo Dominic UNQUALIFIED
Salvatore V RoysterRussiaIoni Bowcher PROPOSAL
Morrow O AmigonSpainXuxue Feng QUALIFIED
Kadeem R KuskoItalyElwin Sharvill UNQUALIFIED
Chavez P FerenczArgentinaIvan Magalhaes NEGOTIATION
David M AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Aditya G BriddickGermanyBernardo Dominic QUALIFIED
Costa N SlusarskiAustraliaAnna Fali PROPOSAL
Aruna O VenereBrazilAmy Elsner UNQUALIFIED
Julie G MacleadGermanyXuxue Feng NEGOTIATION
Stacey X StensethFranceOnyama Limba UNQUALIFIED
Leon G MorascaCanadaXuxue Feng PROPOSAL
Aditya V CampainSpainXuxue Feng UNQUALIFIED
Adams T SchemmerIndiaOnyama Limba RENEWAL
Nicolas V FerenczBrazilOnyama Limba QUALIFIED
Aika E MaletItalyIoni Bowcher UNQUALIFIED
Kadeem N WhobreyCanadaStephen Shaw UNQUALIFIED
Juan G KuskoJapanIvan Magalhaes NEGOTIATION
Emily W OldroydCanadaOnyama Limba NEGOTIATION
Murillo V KuskoUnited KingdomXuxue Feng RENEWAL
Clifford K BologniaGermanyIoni Bowcher NEW
Kaitlin F StensethJapanAmy Elsner NEW
Rodrigues F KolmetzBrazilAmy Elsner NEW
Kadeem I OstroskyJapanXuxue Feng QUALIFIED
Greenwood W DarakjyCanadaOnyama Limba NEW
Rodrigues S SaylorsFranceAmy Elsner UNQUALIFIED
Deepesh K DoeIndiaElwin Sharvill RENEWAL
Cody Q GlickArgentinaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Costa T MorascaRussiaStephen Shaw QUALIFIED
Izzy P CampainArgentinaAsiya Javayant UNQUALIFIED
Maisha A GlickJapanOnyama Limba PROPOSAL
Stacey B PoquetteRussiaBernardo Dominic UNQUALIFIED
Aditya T NickaUnited KingdomAnna Fali NEW
Darci P VenereSpainStephen Shaw PROPOSAL
Aruna P SchemmerFranceIvan Magalhaes RENEWAL
Faith X GauchoAustraliaIoni Bowcher NEW
Maria J MarrierRussiaIvan Magalhaes RENEWAL
Smith Z WhobreyItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki E GlickCanada2026-08-15Printing Dimensions NEGOTIATION46Xuxue Feng
1001Munro F InouyeRussia2026-08-27Commercial Press QUALIFIED97Elwin Sharvill
1002Ashley U InouyeBrazil2026-08-14Chanay, Jeffrey A Esq NEGOTIATION1Anna Fali
1003Jeanfrancois H SlusarskiRussia2026-08-01Dorl, James J Esq UNQUALIFIED20Xuxue Feng
1004Deepesh G WaycottIndia2026-08-15Morlong Associates QUALIFIED87Bernardo Dominic
1005Ashley I StensethCanada2026-08-20Commercial Press PROPOSAL0Stephen Shaw
1006Octavia W KuskoSpain2026-08-26Commercial Press UNQUALIFIED60Asiya Javayant
1007Maisha F CaudyItaly2026-08-29Feltz Printing Service UNQUALIFIED23Onyama Limba
1008Kadeem B ChuiBrazil2026-08-04Morlong Associates PROPOSAL67Anna Fali
1009Leon D WhobreyUnited Kingdom2026-08-28Feiner Bros RENEWAL82Elwin Sharvill
1010Salvatore C IturbideGermany2026-08-26Feiner Bros QUALIFIED47Xuxue Feng
1011Adams W ShinkoRussia2026-08-12Morlong Associates NEGOTIATION64Asiya Javayant
1012Chavez R WieserCanada2026-08-24Rousseaux, Michael Esq QUALIFIED34Stephen Shaw
1013Francesco J FigeroaCanada2026-08-03Chemel, James L Cpa UNQUALIFIED24Ioni Bowcher
1014Claire C CampainGermany2026-08-18Benton, John B Jr QUALIFIED90Ioni Bowcher
1015Emily V SaylorsFrance2026-08-02Printing Dimensions RENEWAL96Ivan Magalhaes
1016Maisha L BologniaFrance2026-08-11King, Christopher A Esq QUALIFIED20Onyama Limba
1017Kadeem H SaylorsUnited Kingdom2026-08-19Rangoni Of Florence NEGOTIATION60Elwin Sharvill
1018Jefferson E NestleFrance2026-08-14Feltz Printing Service RENEWAL88Xuxue Feng
1019Ashley N MacleadItaly2026-08-30Rangoni Of Florence NEGOTIATION63Xuxue Feng
1020Silvio N FollerGermany2026-08-18King, Christopher A Esq QUALIFIED84Onyama Limba
1021Salvatore Q RutaCanada2026-08-15Dorl, James J Esq NEGOTIATION91Asiya Javayant
1022Aditya D IturbideJapan2026-08-27Chemel, James L Cpa PROPOSAL99Ioni Bowcher
1023Leon I RoysterAustralia2026-08-26Buckley Miller Wright NEW88Onyama Limba
1024Chavez L FerenczCanada2026-08-26Truhlar And Truhlar Attys RENEWAL24Asiya Javayant
1025Chavez Y IturbideIndia2026-08-10Feltz Printing Service RENEWAL8Stephen Shaw
1026Nicolas F RoysterRussia2026-08-26Truhlar And Truhlar Attys NEW76Anna Fali
1027Adams D VocelkaItaly2026-08-29Rousseaux, Michael Esq NEGOTIATION81Amy Elsner
1028Jones Z MaletJapan2026-08-11Feltz Printing Service UNQUALIFIED62Amy Elsner
1029Antonio U OldroydFrance2026-08-22Morlong Associates QUALIFIED23Stephen Shaw
1030Nicolas H MarrierSpain2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED18Ioni Bowcher
1031Morrow W BowleyAustralia2026-08-10Truhlar And Truhlar Attys UNQUALIFIED91Stephen Shaw
1032Clifford R MaletUnited Kingdom2026-08-24Buckley Miller Wright QUALIFIED34Ioni Bowcher
1033Silvio R StensethGermany2026-08-27Benton, John B Jr NEGOTIATION15Onyama Limba
1034David K BriddickAustralia2026-08-16Morlong Associates NEGOTIATION42Asiya Javayant
1035Nicolas C BowleyArgentina2026-08-29Feiner Bros NEW74Xuxue Feng
1036Octavia X VenereGermany2026-08-24Chanay, Jeffrey A Esq QUALIFIED26Bernardo Dominic
1037Arvin L GlickArgentina2026-08-07Rangoni Of Florence RENEWAL41Ivan Magalhaes
1038Ashley P ChuiSpain2026-08-30Benton, John B Jr UNQUALIFIED39Elwin Sharvill
1039Jeanfrancois J StensethItaly2026-08-27Dorl, James J Esq QUALIFIED66Stephen Shaw
1040Francesco T RulapaughBrazil2026-08-10Truhlar And Truhlar Attys NEW25Onyama Limba
1041Clifford Z CaudyCanada2026-08-21Chanay, Jeffrey A Esq PROPOSAL95Asiya Javayant
1042Jones Z GarufiJapan2026-08-24Benton, John B Jr NEGOTIATION59Anna Fali
1043Ashley G ShinkoIndia2026-08-05Benton, John B Jr NEW89Elwin Sharvill
1044Mayumi F WaycottGermany2026-08-17Rousseaux, Michael Esq QUALIFIED44Onyama Limba
1045Kaitlin D SaylorsSpain2026-08-09Benton, John B Jr NEW83Stephen Shaw
1046Murillo G NickaBrazil2026-08-26Commercial Press NEW69Ivan Magalhaes
1047Maria S DilliardSpain2026-08-13Feiner Bros NEGOTIATION28Elwin Sharvill
1048Rodrigues P CampainUnited Kingdom2026-08-17Benton, John B Jr RENEWAL88Asiya Javayant
1049Stacey U MarrierRussia2026-08-15King, Christopher A Esq RENEWAL65Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa I RimItalyElwin Sharvill NEW
Francesco P PerinRussiaOnyama Limba NEGOTIATION
Aruna E RutaFranceIvan Magalhaes RENEWAL
Octavia Z RoysterUnited KingdomStephen Shaw UNQUALIFIED
Nicolas X DoeAustraliaIvan Magalhaes NEGOTIATION
Claire T OstroskyRussiaAnna Fali NEGOTIATION
Aika G IturbideCanadaElwin Sharvill PROPOSAL
Ashley D KolmetzJapanAsiya Javayant QUALIFIED
Maria Y AlbaresAustraliaIvan Magalhaes PROPOSAL
Nicolas O ChuiCanadaBernardo Dominic QUALIFIED
Clifford Q RoysterCanadaStephen Shaw UNQUALIFIED
Jefferson O MacleadRussiaElwin Sharvill UNQUALIFIED
Nicolas Y RoysterArgentinaIoni Bowcher UNQUALIFIED
Nicolas S FlosiRussiaAmy Elsner QUALIFIED
Mayumi F MacleadCanadaAmy Elsner NEGOTIATION
David A VenereIndiaAmy Elsner NEW
Cody Q ShinkoSpainOnyama Limba RENEWAL
Costa S InouyeGermanyAsiya Javayant NEW
Nicolas K DarakjyItalyXuxue Feng NEW
Aika I KolmetzCanadaAnna Fali UNQUALIFIED
Smith J AlbaresRussiaAsiya Javayant NEW
Faith F StockhamSpainIvan Magalhaes RENEWAL
Maria K MacleadSpainStephen Shaw NEGOTIATION
Kadeem I PoquetteSpainXuxue Feng PROPOSAL
Kadeem I GauchoAustraliaStephen Shaw NEW
Maria G DoeGermanyIvan Magalhaes RENEWAL
Alejandro U OldroydSpainAnna Fali NEGOTIATION
Juan U KuskoIndiaIvan Magalhaes RENEWAL
Ricardo K GarufiSpainXuxue Feng NEW
Arvin I StockhamSpainBernardo Dominic QUALIFIED
Ivar Z GauchoArgentinaBernardo Dominic RENEWAL
Darci G MorascaBrazilAsiya Javayant NEGOTIATION
Salvatore H WhobreyIndiaOnyama Limba RENEWAL
Adams Z ButtSpainXuxue Feng PROPOSAL
Antonio T SaylorsRussiaStephen Shaw NEW
Maisha J RimRussiaIvan Magalhaes PROPOSAL
Wickens Y RoysterAustraliaBernardo Dominic PROPOSAL
Murillo S NestleItalyElwin Sharvill RENEWAL
Claire I BowleyArgentinaStephen Shaw NEGOTIATION
Clifford H PerinAustraliaIoni Bowcher PROPOSAL
Jeanfrancois O SchemmerRussiaAmy Elsner PROPOSAL
Silvio N InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo A IturbideUnited KingdomIvan Magalhaes NEW
Octavia F GlickCanadaStephen Shaw PROPOSAL
Leja D ShinkoUnited KingdomStephen Shaw PROPOSAL
Morrow O SlusarskiCanadaXuxue Feng UNQUALIFIED
Antonio X BologniaIndiaIoni Bowcher PROPOSAL
Misaki B MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Munro F GauchoIndiaIoni Bowcher RENEWAL
Aika A KuskoSpainAnna Fali QUALIFIED
Frozen Columns
Name
Clifford O Waycott
Juan C Malet
Wickens A Maclead
Cody A Nicka
Arvin P Venere
Antonio C Tollner
Francesco M Paprocki
Maria Y Tollner
Kaitlin Y Chui
Jeanfrancois V Amigon
Johnson X Inouye
Clifford G Malet
Wickens O Ruta
Aika V Chui
Murillo Z Gillian
Alejandro D Bolognia
Claire X Bowley
Izzy J Perin
Kadeem Q Gaucho
Juan Q Perin
Arvin A Caldarera
Ivar T Perin
Maria Y Perin
Clifford K Saylors
Faith H Vocelka
Maria N Caudy
Aditya D Albares
Leon Z Marrier
Deepesh V Ruta
Octavia C Poquette
Jennifer A Ostrosky
Leja T Iturbide
Misaki A Caudy
Maria F Dilliard
Izzy U Caudy
Salvatore J Kusko
Izzy V Inouye
Ivar Q Butt
Deepesh T Perin
Ashley B Caldarera
Cody H Gillian
Nicolas I Dilliard
Smith S Saylors
Adams D Gaucho
Nicolas Y Ostrosky
David Y Kolmetz
Murillo C Maclead
Leon W Slusarski
Silvio Y Dilliard
Jennifer U Figeroa
IdCountryDate
1000Argentina2026-08-01
1001Italy2026-08-13
1002India2026-08-16
1003India2026-08-07
1004United Kingdom2026-08-27
1005Canada2026-08-08
1006India2026-08-26
1007Brazil2026-08-02
1008Japan2026-08-05
1009Australia2026-08-24
1010United Kingdom2026-08-05
1011Spain2026-08-07
1012Germany2026-08-01
1013Germany2026-08-02
1014United Kingdom2026-08-07
1015United Kingdom2026-08-27
1016Canada2026-08-24
1017Russia2026-08-12
1018India2026-08-20
1019United Kingdom2026-08-05
1020Italy2026-08-05
1021Canada2026-08-14
1022Australia2026-08-24
1023Russia2026-08-19
1024India2026-08-12
1025India2026-08-26
1026Argentina2026-08-20
1027Argentina2026-08-29
1028Canada2026-08-05
1029Spain2026-08-10
1030Argentina2026-08-01
1031Spain2026-08-15
1032Italy2026-08-13
1033France2026-08-08
1034Russia2026-08-10
1035Spain2026-08-09
1036Russia2026-08-26
1037United Kingdom2026-08-16
1038France2026-08-14
1039Spain2026-08-29
1040Japan2026-08-25
1041India2026-08-10
1042Japan2026-08-17
1043Japan2026-08-19
1044Japan2026-08-10
1045Italy2026-08-29
1046Argentina2026-08-30
1047Germany2026-08-16
1048Australia2026-08-19
1049Australia2026-08-19

On-Demand Data

NameIdCountryDate
Cody O Saylors1000Spain2026-08-12
Salvatore X Slusarski1001India2026-08-26
Mayumi D Stenseth1002Argentina2026-08-01
Leja O Waycott1003Argentina2026-08-23
David Q Rim1004Germany2026-08-07
Jennifer I Kolmetz1005Argentina2026-08-28
Johnson B Bolognia1006Italy2026-08-10
Kaitlin S Stenseth1007Japan2026-08-21
Deepesh C Marrier1008Canada2026-08-16
Aruna V Slusarski1009Australia2026-08-22
Salvatore D Ostrosky1010United Kingdom2026-08-03
Stacey L Ostrosky1011Argentina2026-08-25
Maria D Kusko1012United Kingdom2026-08-18
Isabel L Foller1013Japan2026-08-23
Misaki N Wieser1014Japan2026-08-20
David O Bolognia1015Japan2026-08-12
Alejandro E Maclead1016United Kingdom2026-08-25
David Q Ruta1017Italy2026-08-14
Francesco V Briddick1018Germany2026-08-27
Murillo A Campain1019Russia2026-08-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Z MaletGermanyBernardo Dominic QUALIFIED
Stacey U PaprockiItalyAnna Fali PROPOSAL
Chavez R MaletSpainElwin Sharvill RENEWAL
Aika J FlosiArgentinaXuxue Feng QUALIFIED
Emily E MorascaFranceElwin Sharvill NEW
Murillo D MarrierUnited KingdomElwin Sharvill QUALIFIED
Ricardo U WhobreyJapanIoni Bowcher NEW
Chavez F PaprockiJapanElwin Sharvill NEGOTIATION
Izzy E WieserGermanyAnna Fali PROPOSAL
Cody T RulapaughRussiaIoni Bowcher UNQUALIFIED
Smith Y InouyeCanadaOnyama Limba NEGOTIATION
Sinclair Z RoysterGermanyStephen Shaw NEGOTIATION
David W RulapaughUnited KingdomAmy Elsner PROPOSAL
Morrow O WieserJapanXuxue Feng NEW
Jeanfrancois V WhobreyArgentinaBernardo Dominic NEW
Mujtaba B OstroskyArgentinaOnyama Limba NEGOTIATION
Juan J FerenczSpainAnna Fali PROPOSAL
Darci V PoquetteAustraliaStephen Shaw PROPOSAL
Maisha I BriddickIndiaElwin Sharvill QUALIFIED
Ashley B NestleBrazilIvan Magalhaes NEGOTIATION
Julie K DarakjyArgentinaIoni Bowcher UNQUALIFIED
Darci E FigeroaUnited KingdomAnna Fali RENEWAL
Ashley K OstroskyItalyIoni Bowcher QUALIFIED
Leon E OldroydIndiaAnna Fali UNQUALIFIED
Maria B FigeroaBrazilBernardo Dominic PROPOSAL
Claire L FigeroaAustraliaIvan Magalhaes NEW
Kadeem L RutaCanadaStephen Shaw NEGOTIATION
Munro E GillianArgentinaBernardo Dominic UNQUALIFIED
Leon R WieserSpainElwin Sharvill UNQUALIFIED
Chavez B MacleadAustraliaAsiya Javayant NEGOTIATION
Costa T MarrierArgentinaIvan Magalhaes QUALIFIED
Julie Q DarakjyFranceStephen Shaw NEGOTIATION
Murillo L GlickSpainBernardo Dominic UNQUALIFIED
Wickens A AlbaresItalyOnyama Limba UNQUALIFIED
Maria K CampainSpainAsiya Javayant PROPOSAL
Murillo H RutaRussiaBernardo Dominic UNQUALIFIED
Isabel L FlosiItalyBernardo Dominic RENEWAL
Jefferson R SchemmerAustraliaBernardo Dominic QUALIFIED
Antonio R NickaGermanyIvan Magalhaes NEW
Claire W MarrierFranceXuxue Feng NEW

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