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
Clifford H ShinkoJapanXuxue Feng UNQUALIFIED
Smith N GarufiUnited KingdomBernardo Dominic PROPOSAL
Emily V NickaUnited KingdomIvan Magalhaes QUALIFIED
Silvio C MarrierAustraliaAsiya Javayant RENEWAL
Clifford L GlickJapanStephen Shaw PROPOSAL
Salvatore T GlickCanadaAmy Elsner UNQUALIFIED
Aika B SergiSpainXuxue Feng NEW
Arvin Y RutaFranceXuxue Feng NEGOTIATION
Mujtaba J MarrierGermanyAnna Fali UNQUALIFIED
Ashley A DilliardCanadaStephen Shaw UNQUALIFIED
Morrow T AlbaresUnited KingdomAnna Fali UNQUALIFIED
Aika Q PerinBrazilIoni Bowcher PROPOSAL
Izzy K CampainFranceOnyama Limba UNQUALIFIED
Johnson I MaletSpainOnyama Limba PROPOSAL
Jones K NickaFranceElwin Sharvill QUALIFIED
Kadeem V ChuiBrazilOnyama Limba NEGOTIATION
Chavez I NickaCanadaElwin Sharvill QUALIFIED
Darci I PoquetteRussiaElwin Sharvill QUALIFIED
Mayumi Y GarufiGermanyAnna Fali PROPOSAL
Ricardo G StensethArgentinaIvan Magalhaes RENEWAL
Johnson L RulapaughBrazilIoni Bowcher QUALIFIED
Clifford N DilliardGermanyAnna Fali NEW
Jefferson U CaldareraBrazilBernardo Dominic RENEWAL
Sinclair B InouyeBrazilStephen Shaw UNQUALIFIED
Jeanfrancois F GlickCanadaStephen Shaw QUALIFIED
Nicolas O ShinkoIndiaIvan Magalhaes NEW
Silvio A FigeroaSpainStephen Shaw NEGOTIATION
Jeanfrancois G TollnerGermanyIoni Bowcher RENEWAL
Tony Q GarufiUnited KingdomIoni Bowcher NEW
Arvin I BowleyArgentinaXuxue Feng NEGOTIATION
Murillo Y FigeroaRussiaAsiya Javayant NEW
Juan K ButtItalyAnna Fali QUALIFIED
Mujtaba M IturbideIndiaStephen Shaw NEGOTIATION
Murillo D GlickBrazilXuxue Feng PROPOSAL
Jennifer V GlickBrazilAsiya Javayant QUALIFIED
Faith Y GlickArgentinaBernardo Dominic NEW
Faith G AmigonRussiaIoni Bowcher QUALIFIED
Cody C CaudyRussiaXuxue Feng NEW
Isabel R SchemmerSpainAsiya Javayant QUALIFIED
Salvatore I VenereArgentinaAnna Fali QUALIFIED
Sinclair E MaletFranceIvan Magalhaes RENEWAL
Leja L VocelkaJapanIoni Bowcher NEW
Octavia X CampainArgentinaXuxue Feng PROPOSAL
Silvio R FerenczFranceAnna Fali NEW
Costa H SchemmerArgentinaIvan Magalhaes PROPOSAL
Cody Q FerenczSpainIoni Bowcher RENEWAL
Isabel D BowleyFranceAsiya Javayant PROPOSAL
Rodrigues F RutaJapanIoni Bowcher UNQUALIFIED
Clifford X PoquetteRussiaElwin Sharvill QUALIFIED
Ashley L KolmetzIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford B RutaItalyElwin Sharvill NEGOTIATION
Juan B CaudyJapanIoni Bowcher PROPOSAL
Jennifer D MacleadGermanyAmy Elsner PROPOSAL
Salvatore N RimUnited KingdomStephen Shaw UNQUALIFIED
Aruna O OldroydIndiaElwin Sharvill RENEWAL
Misaki O RulapaughCanadaStephen Shaw NEW
Ricardo E DarakjyAustraliaElwin Sharvill NEGOTIATION
Darci X CaldareraGermanyElwin Sharvill QUALIFIED
David D CampainItalyXuxue Feng NEW
Maria W CampainBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha J NickaGermany2025-04-02Chemel, James L Cpa NEW80Onyama Limba
1001Maisha C OstroskyArgentina2025-04-12Buckley Miller Wright RENEWAL47Ivan Magalhaes
1002Leon Z GillianUnited Kingdom2025-04-03King, Christopher A Esq QUALIFIED15Onyama Limba
1003Faith I DoeGermany2025-04-09Commercial Press NEGOTIATION33Anna Fali
1004Morrow C StensethAustralia2025-04-25Truhlar And Truhlar Attys UNQUALIFIED8Onyama Limba
1005Arvin E FollerItaly2025-04-08Commercial Press NEGOTIATION60Asiya Javayant
1006Rodrigues Q CaudyArgentina2025-04-07Feltz Printing Service NEW44Amy Elsner
1007Mujtaba T RulapaughCanada2025-04-06Benton, John B Jr NEW18Stephen Shaw
1008Murillo Z CampainGermany2025-04-04Printing Dimensions NEGOTIATION34Xuxue Feng
1009Leon U FollerJapan2025-04-22Feltz Printing Service NEGOTIATION74Amy Elsner
1010Wickens P FollerBrazil2025-04-19Rangoni Of Florence NEGOTIATION22Stephen Shaw
1011Nicolas V InouyeCanada2025-04-04King, Christopher A Esq NEGOTIATION44Anna Fali
1012Tony K MaletUnited Kingdom2025-04-11Buckley Miller Wright NEW54Xuxue Feng
1013Francesco Q AlbaresRussia2025-04-14Chemel, James L Cpa PROPOSAL22Xuxue Feng
1014Rodrigues F NestleItaly2025-04-03Chemel, James L Cpa NEGOTIATION48Asiya Javayant
1015Wickens Z FigeroaUnited Kingdom2025-04-06Morlong Associates NEW15Amy Elsner
1016Alejandro I VenereJapan2025-04-10Rousseaux, Michael Esq NEGOTIATION48Ivan Magalhaes
1017Adams T FerenczBrazil2025-04-19Feiner Bros RENEWAL15Xuxue Feng
1018Jones H KolmetzIndia2025-04-12Chanay, Jeffrey A Esq RENEWAL26Asiya Javayant
1019Octavia E FollerAustralia2025-04-21Feltz Printing Service PROPOSAL93Asiya Javayant
1020Maria U InouyeCanada2025-04-28Rousseaux, Michael Esq NEGOTIATION35Anna Fali
1021Juan I BriddickJapan2025-04-28Chemel, James L Cpa RENEWAL46Ivan Magalhaes
1022Tony D VocelkaItaly2025-04-27Truhlar And Truhlar Attys RENEWAL38Stephen Shaw
1023Adams I BologniaAustralia2025-04-14Printing Dimensions RENEWAL30Bernardo Dominic
1024Octavia T PaprockiItaly2025-04-01Feltz Printing Service PROPOSAL16Onyama Limba
1025Jones H IturbideGermany2025-04-06Dorl, James J Esq RENEWAL31Asiya Javayant
1026Octavia K CaldareraCanada2025-04-07Feltz Printing Service RENEWAL2Amy Elsner
1027Jones R WaycottSpain2025-04-04Buckley Miller Wright NEW93Stephen Shaw
1028Clifford U MaletCanada2025-04-12King, Christopher A Esq PROPOSAL30Amy Elsner
1029Chavez V GauchoRussia2025-04-11Buckley Miller Wright RENEWAL95Amy Elsner
1030Claire U NestleArgentina2025-04-16Buckley Miller Wright QUALIFIED86Stephen Shaw
1031Leja U PoquetteIndia2025-04-04Rousseaux, Michael Esq QUALIFIED36Ioni Bowcher
1032Leon M OstroskyGermany2025-04-22Feiner Bros NEW9Amy Elsner
1033Faith E MaletIndia2025-04-04Benton, John B Jr PROPOSAL97Ivan Magalhaes
1034Kaitlin C DarakjyIndia2025-04-19Chemel, James L Cpa RENEWAL36Bernardo Dominic
1035Ivar X VocelkaIndia2025-04-26Benton, John B Jr NEGOTIATION88Ivan Magalhaes
1036Faith X SaylorsAustralia2025-04-04King, Christopher A Esq UNQUALIFIED79Xuxue Feng
1037Tony Q CampainSpain2025-04-14Morlong Associates NEGOTIATION96Xuxue Feng
1038Stacey M TollnerSpain2025-04-16Rangoni Of Florence NEW68Xuxue Feng
1039Alejandro M DarakjyGermany2025-04-11Chanay, Jeffrey A Esq PROPOSAL77Stephen Shaw
1040David H FollerRussia2025-04-23Feiner Bros UNQUALIFIED37Xuxue Feng
1041Ricardo Y AlbaresSpain2025-04-16Rousseaux, Michael Esq QUALIFIED71Stephen Shaw
1042Jefferson N KolmetzBrazil2025-04-08Chanay, Jeffrey A Esq QUALIFIED39Xuxue Feng
1043Faith P NestleIndia2025-04-17Chanay, Jeffrey A Esq RENEWAL11Onyama Limba
1044Alejandro Y BowleyIndia2025-04-14Feiner Bros QUALIFIED95Asiya Javayant
1045Julie Y KuskoUnited Kingdom2025-04-27Feiner Bros PROPOSAL5Anna Fali
1046James Q SlusarskiFrance2025-04-17Chemel, James L Cpa RENEWAL74Elwin Sharvill
1047Alejandro M GarufiRussia2025-04-07King, Christopher A Esq NEGOTIATION41Elwin Sharvill
1048Aika E WhobreySpain2025-04-18Morlong Associates QUALIFIED93Anna Fali
1049Kaitlin G GarufiRussia2025-04-25Benton, John B Jr NEW9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Munro P GauchoItalyAnna Fali QUALIFIED
Rodrigues C GillianSpainAmy Elsner RENEWAL
Francesco W InouyeCanadaAsiya Javayant PROPOSAL
Izzy E ShinkoFranceAnna Fali NEW
Tony M GillianSpainIoni Bowcher NEW
Maisha G FollerSpainXuxue Feng UNQUALIFIED
Ashley J BriddickFranceXuxue Feng NEGOTIATION
Kaitlin K NestleIndiaStephen Shaw UNQUALIFIED
Murillo T WhobreyIndiaStephen Shaw PROPOSAL
Salvatore B GlickRussiaAnna Fali UNQUALIFIED
Salvatore V MorascaBrazilIvan Magalhaes PROPOSAL
Greenwood V RutaFranceOnyama Limba UNQUALIFIED
Antonio S AmigonAustraliaOnyama Limba PROPOSAL
Wickens A IturbideUnited KingdomAnna Fali NEGOTIATION
Emily L BowleyBrazilStephen Shaw QUALIFIED
Leja P DilliardGermanyBernardo Dominic RENEWAL
Clifford A IturbideGermanyAsiya Javayant NEGOTIATION
Faith Z DoeJapanAmy Elsner NEGOTIATION
Jeanfrancois M OldroydSpainIoni Bowcher QUALIFIED
Kadeem I IturbideFranceBernardo Dominic UNQUALIFIED
Misaki V AmigonCanadaAmy Elsner PROPOSAL
Juan V SlusarskiArgentinaStephen Shaw NEGOTIATION
Adams S FigeroaIndiaElwin Sharvill PROPOSAL
Adams D IturbideRussiaOnyama Limba PROPOSAL
Nicolas F CaudyCanadaXuxue Feng NEW
Jennifer Z IturbideFranceOnyama Limba NEW
Aditya K InouyeUnited KingdomXuxue Feng RENEWAL
Mujtaba T FigeroaIndiaXuxue Feng PROPOSAL
Antonio V WhobreyItalyAmy Elsner NEW
Murillo T FigeroaCanadaOnyama Limba NEGOTIATION
Clifford U DarakjySpainAsiya Javayant PROPOSAL
Ashley M IturbideSpainOnyama Limba UNQUALIFIED
Kadeem T DilliardCanadaXuxue Feng NEW
Clifford O BriddickGermanyAsiya Javayant QUALIFIED
Adams R MarrierItalyOnyama Limba QUALIFIED
Chavez U MacleadCanadaBernardo Dominic NEGOTIATION
Francesco Q ShinkoGermanyAmy Elsner NEGOTIATION
Leon K DilliardAustraliaAnna Fali NEW
Alejandro D GlickSpainStephen Shaw NEGOTIATION
Murillo L FollerJapanElwin Sharvill QUALIFIED
Maisha B ButtIndiaBernardo Dominic UNQUALIFIED
Kadeem S KolmetzArgentinaBernardo Dominic UNQUALIFIED
Sinclair H GarufiJapanAmy Elsner UNQUALIFIED
Aditya Y ButtUnited KingdomAmy Elsner UNQUALIFIED
Francesco R ShinkoFranceAsiya Javayant UNQUALIFIED
Clifford F StensethItalyOnyama Limba RENEWAL
Morrow S FollerBrazilAsiya Javayant NEW
Greenwood Z CaldareraJapanIoni Bowcher RENEWAL
Arvin N MaletGermanyAnna Fali RENEWAL
Kaitlin M WhobreyFranceElwin Sharvill PROPOSAL
Frozen Columns
Name
Adams G Flosi
Alejandro N Kolmetz
Greenwood S Oldroyd
Misaki Q Wieser
Jennifer X Poquette
Juan B Stenseth
Aika X Gaucho
Leon E Kusko
Juan A Dilliard
Jones F Caudy
Aika B Ruta
Arvin Q Gaucho
Nicolas T Wieser
Ricardo I Gillian
Aditya C Iturbide
Morrow O Foller
Izzy N Slusarski
Munro E Inouye
Nicolas Y Waycott
Isabel S Slusarski
Leja N Morasca
Mujtaba I Inouye
Smith T Royster
Kaitlin Q Foller
Maria X Flosi
Aditya Y Paprocki
Costa G Poquette
Misaki Q Maclead
Claire Z Campain
James M Briddick
James P Figeroa
Aruna B Tollner
Stacey X Dilliard
Smith H Iturbide
Arvin K Sergi
Aditya B Stenseth
Smith M Kusko
Adams O Gaucho
Faith M Glick
Octavia Q Gillian
Nicolas N Doe
Antonio K Darakjy
Misaki H Ferencz
Cody P Nicka
Tony G Shinko
Kadeem C Garufi
Munro W Ostrosky
Costa V Sergi
Arvin G Bowley
Nicolas C Ruta
IdCountryDate
1000France2025-04-08
1001Russia2025-04-23
1002Brazil2025-04-30
1003Spain2025-04-24
1004United Kingdom2025-04-21
1005Russia2025-04-05
1006Russia2025-04-11
1007Canada2025-04-01
1008Italy2025-04-03
1009United Kingdom2025-04-16
1010Australia2025-04-13
1011Brazil2025-04-21
1012Argentina2025-04-13
1013India2025-04-08
1014Argentina2025-04-09
1015Brazil2025-04-22
1016Brazil2025-04-22
1017Canada2025-04-10
1018Italy2025-04-24
1019Brazil2025-04-25
1020Brazil2025-04-26
1021Germany2025-04-25
1022Canada2025-04-05
1023Canada2025-04-15
1024Russia2025-04-10
1025Argentina2025-04-27
1026Japan2025-04-21
1027Australia2025-04-09
1028Germany2025-04-03
1029Australia2025-04-15
1030Spain2025-04-09
1031India2025-04-04
1032Brazil2025-04-22
1033Australia2025-04-04
1034Australia2025-04-21
1035Germany2025-04-28
1036United Kingdom2025-04-13
1037Japan2025-04-22
1038Spain2025-04-04
1039United Kingdom2025-04-17
1040Brazil2025-04-09
1041Germany2025-04-02
1042Australia2025-04-07
1043Canada2025-04-20
1044France2025-04-21
1045United Kingdom2025-04-05
1046India2025-04-19
1047Japan2025-04-26
1048Brazil2025-04-18
1049Australia2025-04-01

On-Demand Data

NameIdCountryDate
Ricardo O Paprocki1000Spain2025-04-14
Julie R Malet1001France2025-04-24
Leja V Bolognia1002India2025-04-19
Mujtaba W Shinko1003India2025-04-07
Juan P Garufi1004Spain2025-04-20
Costa W Perin1005Argentina2025-04-02
Claire G Kolmetz1006Brazil2025-04-26
Ashley S Ferencz1007India2025-04-30
Sinclair K Flosi1008Russia2025-04-17
Aruna L Doe1009Russia2025-04-12
Ivar P Figeroa1010Italy2025-04-13
Greenwood S Waycott1011Russia2025-04-26
Sinclair L Amigon1012Spain2025-04-13
Stacey R Chui1013Australia2025-04-05
Munro P Slusarski1014United Kingdom2025-04-09
Francesco A Ferencz1015France2025-04-27
Darci A Caldarera1016Argentina2025-04-05
Mayumi T Kolmetz1017Russia2025-04-25
David U Figeroa1018United Kingdom2025-04-02
Mayumi Z Flosi1019Italy2025-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas V TollnerSpainAsiya Javayant PROPOSAL
Claire M PaprockiItalyOnyama Limba NEGOTIATION
Octavia I KolmetzCanadaOnyama Limba NEGOTIATION
Jennifer P NestleItalyBernardo Dominic NEW
Isabel T TollnerCanadaBernardo Dominic PROPOSAL
Antonio K AlbaresSpainStephen Shaw UNQUALIFIED
Ashley F OstroskyFranceXuxue Feng RENEWAL
Julie K WhobreySpainBernardo Dominic NEGOTIATION
David S KuskoRussiaOnyama Limba PROPOSAL
Tony L IturbideArgentinaAsiya Javayant QUALIFIED
Rodrigues Y OstroskyAustraliaAmy Elsner NEGOTIATION
Isabel Z StensethItalyElwin Sharvill QUALIFIED
Francesco C StockhamJapanAnna Fali QUALIFIED
Leja U ButtAustraliaIoni Bowcher QUALIFIED
Kadeem T OldroydAustraliaOnyama Limba RENEWAL
Jeanfrancois O InouyeCanadaElwin Sharvill QUALIFIED
Kaitlin U StensethRussiaBernardo Dominic NEGOTIATION
Maisha B MaletCanadaIvan Magalhaes QUALIFIED
Antonio Q ChuiGermanyElwin Sharvill NEGOTIATION
Leon D GarufiAustraliaBernardo Dominic UNQUALIFIED
Ivar X BologniaBrazilIvan Magalhaes NEW
Darci K VocelkaAustraliaXuxue Feng QUALIFIED
Darci Z KuskoSpainAnna Fali NEGOTIATION
Wickens K SaylorsIndiaElwin Sharvill RENEWAL
Ivar V DarakjySpainStephen Shaw NEGOTIATION
Ricardo W OstroskyFranceAnna Fali QUALIFIED
Alejandro R OstroskyCanadaAsiya Javayant RENEWAL
Salvatore M CampainGermanyAsiya Javayant RENEWAL
Salvatore M IturbideRussiaStephen Shaw RENEWAL
Tony P FerenczJapanAsiya Javayant RENEWAL
Mayumi B NickaArgentinaStephen Shaw PROPOSAL
Izzy U BowleyRussiaAsiya Javayant NEGOTIATION
Kadeem Z CaudySpainAsiya Javayant NEW
Morrow L SlusarskiGermanyAmy Elsner PROPOSAL
Misaki G FigeroaBrazilIvan Magalhaes QUALIFIED
Misaki O InouyeJapanIoni Bowcher NEGOTIATION
Cody G AlbaresRussiaAmy Elsner NEW
Claire J StockhamUnited KingdomAnna Fali PROPOSAL
Leon F GauchoAustraliaOnyama Limba UNQUALIFIED
Claire W PoquetteRussiaOnyama Limba 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>