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
David A ShinkoFranceIvan Magalhaes UNQUALIFIED
Johnson E WaycottIndiaXuxue Feng RENEWAL
Sinclair V OstroskyBrazilXuxue Feng NEGOTIATION
David T DoeItalyOnyama Limba NEGOTIATION
Arvin L RutaGermanyBernardo Dominic NEGOTIATION
Salvatore Q NickaCanadaStephen Shaw QUALIFIED
Smith N SlusarskiGermanyAsiya Javayant QUALIFIED
Aruna C VenereBrazilAmy Elsner RENEWAL
Chavez U InouyeUnited KingdomAnna Fali RENEWAL
Jefferson H KolmetzIndiaElwin Sharvill RENEWAL
Leja Q AmigonArgentinaIvan Magalhaes UNQUALIFIED
Adams B KolmetzItalyAsiya Javayant UNQUALIFIED
Chavez N GarufiUnited KingdomStephen Shaw QUALIFIED
Kaitlin Y RutaIndiaAnna Fali NEW
Jefferson T OstroskyJapanStephen Shaw RENEWAL
Leja I WaycottSpainIoni Bowcher NEW
Jones U DarakjyJapanAnna Fali QUALIFIED
Stacey Q AmigonRussiaIvan Magalhaes NEW
Alejandro S RutaFranceBernardo Dominic PROPOSAL
Greenwood L RulapaughAustraliaElwin Sharvill NEGOTIATION
Morrow I SchemmerItalyElwin Sharvill QUALIFIED
Julie I CaudyGermanyAnna Fali UNQUALIFIED
Kadeem V GarufiUnited KingdomAsiya Javayant NEGOTIATION
Aika B DoeArgentinaOnyama Limba RENEWAL
Francesco E WhobreyArgentinaElwin Sharvill NEW
Leon I IturbideGermanyBernardo Dominic QUALIFIED
Morrow Z MacleadRussiaXuxue Feng NEGOTIATION
Jeanfrancois V RimGermanyBernardo Dominic NEGOTIATION
Misaki N StensethUnited KingdomElwin Sharvill PROPOSAL
Mayumi X GillianGermanyAmy Elsner NEGOTIATION
Wickens S DilliardArgentinaBernardo Dominic UNQUALIFIED
Ashley O SaylorsCanadaAmy Elsner NEGOTIATION
Jefferson O FigeroaGermanyBernardo Dominic QUALIFIED
Munro L CaldareraIndiaStephen Shaw UNQUALIFIED
Claire G AlbaresFranceStephen Shaw UNQUALIFIED
Stacey A GarufiRussiaXuxue Feng RENEWAL
Salvatore W BologniaAustraliaIvan Magalhaes RENEWAL
Adams N RoysterJapanIoni Bowcher NEW
Sinclair I GlickCanadaOnyama Limba PROPOSAL
Jennifer I FigeroaRussiaStephen Shaw PROPOSAL
Mayumi Z MarrierIndiaOnyama Limba QUALIFIED
Johnson O StensethRussiaIoni Bowcher NEGOTIATION
Isabel S GarufiAustraliaIoni Bowcher NEW
Tony O TollnerFranceStephen Shaw QUALIFIED
Aruna P IturbideBrazilStephen Shaw RENEWAL
Tony O OstroskyJapanElwin Sharvill PROPOSAL
David G WieserItalyXuxue Feng QUALIFIED
Emily G MaletUnited KingdomAmy Elsner NEGOTIATION
Antonio C VenereJapanElwin Sharvill NEGOTIATION
Rodrigues D VocelkaArgentinaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas L WaycottUnited KingdomIvan Magalhaes PROPOSAL
Leon W SergiItalyXuxue Feng NEW
Claire A SlusarskiBrazilIoni Bowcher RENEWAL
Aruna S MaletFranceElwin Sharvill NEW
Isabel U WhobreyRussiaXuxue Feng QUALIFIED
Johnson F AmigonFranceOnyama Limba RENEWAL
Faith O GauchoItalyBernardo Dominic UNQUALIFIED
Costa Q OldroydAustraliaIoni Bowcher NEGOTIATION
Misaki D GillianBrazilAmy Elsner PROPOSAL
Arvin K RutaIndiaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues X DilliardGermany2025-04-25Morlong Associates NEGOTIATION90Anna Fali
1001Kaitlin M KolmetzFrance2025-04-04Printing Dimensions NEGOTIATION86Bernardo Dominic
1002Chavez G AlbaresItaly2025-04-01Rousseaux, Michael Esq RENEWAL20Elwin Sharvill
1003Jeanfrancois S FollerFrance2025-04-23Benton, John B Jr UNQUALIFIED61Asiya Javayant
1004Deepesh U MaletIndia2025-04-10Feltz Printing Service RENEWAL32Xuxue Feng
1005Kadeem V PoquetteSpain2025-04-10Rangoni Of Florence PROPOSAL91Anna Fali
1006Johnson C DilliardJapan2025-04-11Chanay, Jeffrey A Esq QUALIFIED85Onyama Limba
1007Antonio M RutaAustralia2025-04-19Buckley Miller Wright NEW89Bernardo Dominic
1008Sinclair E AlbaresRussia2025-04-05Chanay, Jeffrey A Esq RENEWAL83Stephen Shaw
1009Leja P KolmetzUnited Kingdom2025-04-13Commercial Press PROPOSAL1Elwin Sharvill
1010Ricardo I GauchoFrance2025-04-06Dorl, James J Esq QUALIFIED78Elwin Sharvill
1011Juan B OldroydIndia2025-04-20Rangoni Of Florence UNQUALIFIED89Bernardo Dominic
1012Ashley Z BologniaSpain2025-04-23Rangoni Of Florence QUALIFIED14Ivan Magalhaes
1013Murillo U RoysterFrance2025-04-13Commercial Press RENEWAL3Anna Fali
1014Darci T FlosiArgentina2025-04-22Buckley Miller Wright NEW34Stephen Shaw
1015Ashley I RutaRussia2025-04-13Chemel, James L Cpa QUALIFIED31Onyama Limba
1016David J MacleadRussia2025-04-25Truhlar And Truhlar Attys QUALIFIED71Elwin Sharvill
1017Wickens R SchemmerAustralia2025-04-10Buckley Miller Wright UNQUALIFIED89Anna Fali
1018Deepesh S SchemmerArgentina2025-04-25Commercial Press QUALIFIED69Onyama Limba
1019Maisha E WhobreyCanada2025-04-03Chemel, James L Cpa PROPOSAL67Xuxue Feng
1020Sinclair Z MacleadIndia2025-04-01Buckley Miller Wright PROPOSAL82Elwin Sharvill
1021Chavez K GarufiArgentina2025-04-17Morlong Associates NEW53Elwin Sharvill
1022Leja W RulapaughGermany2025-04-04Chemel, James L Cpa UNQUALIFIED19Amy Elsner
1023Tony P MaletAustralia2025-04-10Feltz Printing Service NEW18Anna Fali
1024Deepesh N StensethSpain2025-04-10Rangoni Of Florence PROPOSAL71Ioni Bowcher
1025Arvin K PoquetteArgentina2025-04-25Rousseaux, Michael Esq QUALIFIED9Anna Fali
1026Misaki P FlosiJapan2025-04-03Benton, John B Jr NEW99Bernardo Dominic
1027Cody Z ShinkoAustralia2025-04-14King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1028Ricardo V WhobreyCanada2025-04-27Morlong Associates RENEWAL92Ioni Bowcher
1029Murillo X DarakjySpain2025-04-15Benton, John B Jr NEGOTIATION23Stephen Shaw
1030Arvin K ChuiSpain2025-04-25Rangoni Of Florence UNQUALIFIED32Amy Elsner
1031Kadeem Q NestleGermany2025-04-19Printing Dimensions RENEWAL86Onyama Limba
1032Rodrigues Q MorascaFrance2025-04-04Truhlar And Truhlar Attys UNQUALIFIED26Onyama Limba
1033Ivar U ShinkoGermany2025-04-22Morlong Associates UNQUALIFIED23Asiya Javayant
1034Izzy Q AmigonBrazil2025-04-03Dorl, James J Esq NEW32Elwin Sharvill
1035Wickens V RoysterRussia2025-04-10Truhlar And Truhlar Attys NEW92Bernardo Dominic
1036Aika N GillianArgentina2025-04-23Truhlar And Truhlar Attys UNQUALIFIED8Amy Elsner
1037Maisha L WhobreyRussia2025-04-08Dorl, James J Esq RENEWAL17Anna Fali
1038Costa Q KuskoJapan2025-04-01King, Christopher A Esq NEW84Stephen Shaw
1039David I PaprockiSpain2025-04-18Dorl, James J Esq RENEWAL47Anna Fali
1040Chavez C RoysterJapan2025-04-09King, Christopher A Esq UNQUALIFIED79Bernardo Dominic
1041Julie G WaycottCanada2025-04-23Chapman, Ross E Esq NEGOTIATION60Anna Fali
1042Mayumi H MaletCanada2025-04-05Commercial Press UNQUALIFIED55Asiya Javayant
1043Ivar U CaldareraIndia2025-04-02Chapman, Ross E Esq PROPOSAL81Onyama Limba
1044Ivar K FerenczGermany2025-04-02Rangoni Of Florence PROPOSAL29Xuxue Feng
1045Murillo X StensethGermany2025-04-06Dorl, James J Esq NEGOTIATION75Stephen Shaw
1046Ivar B StensethArgentina2025-04-25Printing Dimensions UNQUALIFIED16Onyama Limba
1047Ashley L GauchoAustralia2025-04-04King, Christopher A Esq NEW68Anna Fali
1048Jones H IturbideBrazil2025-04-19Buckley Miller Wright PROPOSAL37Xuxue Feng
1049Claire D RimFrance2025-04-11Printing Dimensions NEW47Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith S AlbaresItalyIoni Bowcher NEGOTIATION
Stacey E RutaGermanyIoni Bowcher RENEWAL
Antonio X KuskoAustraliaIvan Magalhaes UNQUALIFIED
Aika X MacleadCanadaIvan Magalhaes PROPOSAL
Julie G CaudyUnited KingdomAsiya Javayant PROPOSAL
Stacey Y WhobreyIndiaStephen Shaw NEGOTIATION
Julie G RutaArgentinaIoni Bowcher PROPOSAL
Clifford Z GarufiCanadaXuxue Feng QUALIFIED
Mayumi N RoysterRussiaStephen Shaw UNQUALIFIED
Alejandro M TollnerBrazilIoni Bowcher PROPOSAL
Jones X OstroskyGermanyAsiya Javayant UNQUALIFIED
Octavia F MaletJapanXuxue Feng QUALIFIED
Rodrigues V MarrierJapanAsiya Javayant UNQUALIFIED
Rodrigues V WaycottArgentinaAnna Fali RENEWAL
Ivar C NestleAustraliaAsiya Javayant PROPOSAL
Alejandro K OstroskyRussiaBernardo Dominic NEW
Johnson E FigeroaBrazilAmy Elsner NEW
Mayumi K GarufiSpainOnyama Limba NEGOTIATION
Jones I ShinkoGermanyIoni Bowcher NEW
Nicolas W StensethCanadaIvan Magalhaes PROPOSAL
Mayumi M OldroydCanadaAmy Elsner UNQUALIFIED
Claire M GlickSpainOnyama Limba PROPOSAL
Cody R VenereRussiaElwin Sharvill UNQUALIFIED
Johnson N NickaGermanyXuxue Feng QUALIFIED
Claire H ChuiSpainAmy Elsner UNQUALIFIED
Chavez V RoysterRussiaIvan Magalhaes RENEWAL
Jones T MarrierUnited KingdomBernardo Dominic RENEWAL
Stacey Z RutaUnited KingdomBernardo Dominic NEW
Maisha S DarakjyFranceXuxue Feng UNQUALIFIED
Misaki L DoeFranceXuxue Feng UNQUALIFIED
Ashley K DarakjyFranceStephen Shaw UNQUALIFIED
Jeanfrancois N DoeJapanAsiya Javayant RENEWAL
Jefferson J MarrierUnited KingdomBernardo Dominic PROPOSAL
Deepesh D AmigonBrazilStephen Shaw RENEWAL
Silvio G SchemmerArgentinaStephen Shaw RENEWAL
Alejandro P PoquetteBrazilIoni Bowcher NEW
Claire U FerenczGermanyAnna Fali NEW
Salvatore X FigeroaIndiaElwin Sharvill RENEWAL
Nicolas B ShinkoGermanyIvan Magalhaes PROPOSAL
Murillo H FlosiBrazilAmy Elsner RENEWAL
Smith W ButtGermanyAnna Fali UNQUALIFIED
Maria X ChuiBrazilElwin Sharvill RENEWAL
Leja G GlickIndiaOnyama Limba NEGOTIATION
Silvio T FerenczCanadaIvan Magalhaes NEGOTIATION
Mayumi V CaudyBrazilBernardo Dominic QUALIFIED
Izzy Z GarufiFranceAmy Elsner QUALIFIED
Aruna K GillianSpainBernardo Dominic RENEWAL
Ricardo C FollerIndiaElwin Sharvill PROPOSAL
Aika D MarrierJapanAmy Elsner NEW
Ricardo E FigeroaCanadaIoni Bowcher RENEWAL
Frozen Columns
Name
Rodrigues J Waycott
David T Ferencz
Silvio K Ferencz
Leja A Saylors
Emily R Nestle
Mujtaba O Sergi
Antonio Z Nestle
Mayumi R Gillian
Arvin N Poquette
Maria W Maclead
Leon I Flosi
Mujtaba P Vocelka
Munro A Kolmetz
Octavia Z Bowley
Munro M Caudy
Isabel A Wieser
Antonio E Gillian
Aditya D Albares
Emily C Royster
Cody E Inouye
Sinclair S Sergi
Kaitlin S Campain
Maisha S Tollner
Stacey E Shinko
Munro B Stenseth
Aruna W Waycott
Costa I Dilliard
Jones M Ostrosky
Isabel J Sergi
Jennifer T Venere
Alejandro X Morasca
Arvin N Malet
Johnson X Royster
Kaitlin K Iturbide
Morrow X Gaucho
James U Stenseth
Salvatore D Darakjy
Jefferson D Doe
Darci V Campain
Smith Y Marrier
Tony T Waycott
Aditya S Briddick
Ricardo H Albares
Maisha M Briddick
Aika E Figeroa
Aruna W Foller
Tony D Maclead
Emily Q Wieser
Leon R Paprocki
Deepesh V Marrier
IdCountryDate
1000Germany2025-04-14
1001France2025-04-11
1002United Kingdom2025-04-29
1003Canada2025-04-25
1004Spain2025-04-27
1005Russia2025-04-12
1006United Kingdom2025-04-26
1007Russia2025-04-14
1008Italy2025-04-14
1009Australia2025-04-17
1010Canada2025-04-24
1011United Kingdom2025-04-09
1012France2025-04-17
1013Argentina2025-04-09
1014Argentina2025-04-14
1015Russia2025-04-09
1016Russia2025-04-02
1017Spain2025-04-27
1018Spain2025-04-07
1019Australia2025-04-26
1020Brazil2025-04-12
1021Germany2025-04-22
1022Spain2025-04-06
1023Spain2025-04-04
1024Japan2025-04-29
1025Japan2025-04-19
1026Brazil2025-04-04
1027Russia2025-04-25
1028Canada2025-04-09
1029Brazil2025-04-18
1030Canada2025-04-07
1031United Kingdom2025-04-04
1032Russia2025-04-24
1033Argentina2025-04-04
1034Russia2025-04-28
1035Italy2025-04-13
1036Argentina2025-04-08
1037Japan2025-04-09
1038Italy2025-04-26
1039India2025-04-18
1040Argentina2025-04-23
1041Australia2025-04-23
1042Australia2025-04-08
1043Brazil2025-04-09
1044Brazil2025-04-24
1045United Kingdom2025-04-17
1046Australia2025-04-03
1047United Kingdom2025-04-09
1048Spain2025-04-18
1049Italy2025-04-09

On-Demand Data

NameIdCountryDate
Francesco W Chui1000Germany2025-04-16
Murillo T Gillian1001Argentina2025-04-02
Isabel G Kusko1002Australia2025-04-02
Juan D Garufi1003Brazil2025-04-14
Greenwood C Sergi1004Brazil2025-04-07
Silvio Z Malet1005Australia2025-04-14
Misaki P Darakjy1006Italy2025-04-06
Chavez T Stockham1007Spain2025-04-10
Misaki O Chui1008Italy2025-04-19
Murillo K Bowley1009Argentina2025-04-04
Maisha V Flosi1010Russia2025-04-10
Mujtaba M Slusarski1011France2025-04-17
Greenwood V Inouye1012United Kingdom2025-04-29
Darci I Inouye1013Argentina2025-04-20
Cody N Butt1014Germany2025-04-23
Faith D Malet1015United Kingdom2025-04-18
Arvin O Malet1016United Kingdom2025-04-26
Deepesh A Briddick1017India2025-04-13
Arvin M Sergi1018United Kingdom2025-04-20
Mayumi X Stenseth1019United Kingdom2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas V GlickCanadaAnna Fali NEW
David Q BologniaRussiaAnna Fali RENEWAL
Silvio K BologniaSpainStephen Shaw NEGOTIATION
Deepesh Y SergiRussiaBernardo Dominic NEW
Izzy Z RimUnited KingdomOnyama Limba UNQUALIFIED
Octavia W NickaGermanyIvan Magalhaes NEW
Cody K IturbideCanadaXuxue Feng UNQUALIFIED
Nicolas B MaletAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois S CampainSpainBernardo Dominic PROPOSAL
Chavez L PaprockiIndiaAmy Elsner PROPOSAL
Chavez B CaldareraAustraliaAsiya Javayant UNQUALIFIED
Wickens E SergiCanadaIoni Bowcher PROPOSAL
Emily Y ChuiAustraliaIoni Bowcher QUALIFIED
Salvatore R KolmetzUnited KingdomAmy Elsner PROPOSAL
Ivar N GarufiItalyOnyama Limba NEGOTIATION
Nicolas A StockhamItalyStephen Shaw RENEWAL
Smith E SlusarskiRussiaElwin Sharvill PROPOSAL
Leja P StockhamGermanyAsiya Javayant NEW
Johnson A StensethRussiaXuxue Feng NEGOTIATION
Aditya K MacleadJapanAnna Fali RENEWAL
Claire Y InouyeJapanAmy Elsner UNQUALIFIED
Mayumi X PerinRussiaIvan Magalhaes RENEWAL
Jones U ShinkoBrazilAmy Elsner NEW
Wickens O DoeSpainElwin Sharvill RENEWAL
Leon C ShinkoItalyStephen Shaw QUALIFIED
Kaitlin X SergiUnited KingdomBernardo Dominic UNQUALIFIED
Claire W MacleadRussiaIoni Bowcher PROPOSAL
Munro G IturbideAustraliaBernardo Dominic NEW
Emily D RutaJapanStephen Shaw RENEWAL
Faith U BowleyCanadaXuxue Feng RENEWAL
Costa D RulapaughJapanIoni Bowcher UNQUALIFIED
Adams W CampainIndiaAsiya Javayant PROPOSAL
Isabel B RutaBrazilAnna Fali QUALIFIED
Morrow S DilliardRussiaOnyama Limba UNQUALIFIED
Costa T MacleadCanadaOnyama Limba NEW
Jones Z ShinkoGermanyAsiya Javayant PROPOSAL
Deepesh T MorascaBrazilAmy Elsner PROPOSAL
Stacey W BowleyArgentinaAsiya Javayant QUALIFIED
Mayumi I SlusarskiSpainBernardo Dominic NEW
Isabel N KolmetzJapanOnyama Limba QUALIFIED

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