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
Arvin P MorascaCanadaOnyama Limba UNQUALIFIED
Alejandro M GauchoIndiaXuxue Feng NEGOTIATION
David R GillianCanadaElwin Sharvill UNQUALIFIED
Jefferson K NestleBrazilIoni Bowcher NEGOTIATION
Mujtaba W GauchoCanadaAmy Elsner NEGOTIATION
Kaitlin D OstroskyCanadaElwin Sharvill NEGOTIATION
Kaitlin O ShinkoArgentinaAsiya Javayant NEGOTIATION
Maria P WaycottFranceBernardo Dominic NEW
Tony Q WhobreyAustraliaXuxue Feng PROPOSAL
Costa P GauchoFranceIoni Bowcher RENEWAL
Smith O OldroydRussiaIvan Magalhaes NEW
Rodrigues T SergiGermanyAmy Elsner NEGOTIATION
Kadeem D StensethAustraliaXuxue Feng RENEWAL
Smith O RimCanadaIoni Bowcher NEW
Kaitlin D IturbideCanadaElwin Sharvill NEGOTIATION
Nicolas H SaylorsGermanyBernardo Dominic NEGOTIATION
Claire Z MaletCanadaAmy Elsner RENEWAL
Jefferson Z RulapaughArgentinaAnna Fali QUALIFIED
Nicolas K MorascaSpainOnyama Limba PROPOSAL
Emily J WhobreyFranceAnna Fali PROPOSAL
Alejandro R StensethIndiaAnna Fali QUALIFIED
Mayumi O TollnerGermanyIoni Bowcher NEW
James N MacleadArgentinaAmy Elsner QUALIFIED
Kaitlin T SchemmerAustraliaIoni Bowcher NEGOTIATION
Leon H MorascaJapanAmy Elsner NEGOTIATION
Jennifer G SergiItalyXuxue Feng NEW
Wickens L ButtItalyStephen Shaw NEGOTIATION
Faith X PerinGermanyAsiya Javayant PROPOSAL
Ashley W VenereBrazilBernardo Dominic PROPOSAL
Murillo V CampainSpainAsiya Javayant PROPOSAL
Faith G MaletIndiaBernardo Dominic UNQUALIFIED
Kaitlin T RimBrazilAmy Elsner QUALIFIED
Juan A WaycottGermanyAnna Fali NEW
Salvatore N VocelkaIndiaAnna Fali UNQUALIFIED
Clifford J StensethGermanyIoni Bowcher UNQUALIFIED
Izzy Y WaycottJapanAmy Elsner NEGOTIATION
Deepesh N MacleadIndiaStephen Shaw NEGOTIATION
Jeanfrancois F RoysterSpainElwin Sharvill RENEWAL
Francesco V StockhamGermanyBernardo Dominic UNQUALIFIED
Adams V WieserUnited KingdomBernardo Dominic QUALIFIED
Isabel D RimFranceIoni Bowcher PROPOSAL
Izzy J MacleadRussiaIvan Magalhaes RENEWAL
Arvin D SlusarskiAustraliaIoni Bowcher NEW
Clifford S CaudyGermanyIvan Magalhaes UNQUALIFIED
Ricardo J InouyeBrazilAnna Fali NEGOTIATION
Ricardo D GauchoSpainStephen Shaw NEGOTIATION
Leja B GlickFranceIvan Magalhaes PROPOSAL
Stacey E MaletItalyIoni Bowcher UNQUALIFIED
Claire W StockhamCanadaOnyama Limba QUALIFIED
Jefferson V GillianItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley I DilliardAustraliaAmy Elsner UNQUALIFIED
Aruna D FigeroaAustraliaAnna Fali QUALIFIED
Juan N FigeroaJapanIvan Magalhaes NEW
Izzy W WaycottCanadaIvan Magalhaes NEW
Antonio A GillianIndiaAmy Elsner NEW
Wickens U CampainAustraliaAmy Elsner NEGOTIATION
Arvin C RimFranceIoni Bowcher NEW
Arvin I AmigonIndiaIoni Bowcher UNQUALIFIED
Ivar G StockhamBrazilAsiya Javayant PROPOSAL
Leja I OldroydJapanIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson T CampainBrazil2024-06-21Morlong Associates UNQUALIFIED14Xuxue Feng
1001Maisha B FerenczGermany2024-05-29Truhlar And Truhlar Attys PROPOSAL49Stephen Shaw
1002Octavia W ChuiArgentina2024-06-19Commercial Press NEW95Stephen Shaw
1003Antonio R BologniaArgentina2024-06-16Rousseaux, Michael Esq PROPOSAL20Ivan Magalhaes
1004Sinclair S IturbideFrance2024-06-08Feltz Printing Service QUALIFIED70Elwin Sharvill
1005Greenwood I InouyeCanada2024-05-30Morlong Associates PROPOSAL6Amy Elsner
1006Kadeem R BowleyFrance2024-06-17Feiner Bros PROPOSAL53Ivan Magalhaes
1007Jones T NickaAustralia2024-06-20Truhlar And Truhlar Attys UNQUALIFIED68Stephen Shaw
1008Rodrigues L SaylorsItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION50Elwin Sharvill
1009Jefferson C MarrierFrance2024-06-22Commercial Press NEGOTIATION3Bernardo Dominic
1010Mujtaba D StensethGermany2024-05-28Truhlar And Truhlar Attys QUALIFIED24Stephen Shaw
1011Munro K WieserIndia2024-06-20Truhlar And Truhlar Attys RENEWAL10Anna Fali
1012James Q FerenczUnited Kingdom2024-05-29Dorl, James J Esq QUALIFIED48Stephen Shaw
1013Greenwood O SchemmerItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION73Elwin Sharvill
1014Chavez E BologniaJapan2024-05-28Morlong Associates UNQUALIFIED2Anna Fali
1015Ricardo T RutaRussia2024-05-24Benton, John B Jr NEGOTIATION8Ivan Magalhaes
1016Johnson E SchemmerItaly2024-05-31Rangoni Of Florence PROPOSAL62Ivan Magalhaes
1017Jefferson I SaylorsRussia2024-06-05Feltz Printing Service NEW31Amy Elsner
1018Deepesh H KolmetzAustralia2024-06-22Feltz Printing Service QUALIFIED40Bernardo Dominic
1019Misaki Y DarakjyFrance2024-05-24Morlong Associates UNQUALIFIED43Asiya Javayant
1020Maisha I WaycottGermany2024-06-14Commercial Press UNQUALIFIED87Onyama Limba
1021Tony Y PaprockiSpain2024-06-11Chemel, James L Cpa NEGOTIATION50Onyama Limba
1022Maria M FlosiFrance2024-06-15Chapman, Ross E Esq NEGOTIATION99Amy Elsner
1023Octavia K GauchoSpain2024-05-29Feltz Printing Service QUALIFIED45Asiya Javayant
1024Sinclair F TollnerAustralia2024-06-21Rangoni Of Florence UNQUALIFIED84Amy Elsner
1025Tony K NickaArgentina2024-05-31Buckley Miller Wright QUALIFIED22Bernardo Dominic
1026Maria U FerenczArgentina2024-06-08Feiner Bros PROPOSAL51Ivan Magalhaes
1027Isabel D CaldareraIndia2024-05-31Rousseaux, Michael Esq PROPOSAL36Xuxue Feng
1028Francesco H PoquetteItaly2024-06-22Feltz Printing Service RENEWAL95Amy Elsner
1029Izzy M GillianSpain2024-06-06Morlong Associates UNQUALIFIED58Stephen Shaw
1030Misaki N KolmetzJapan2024-06-19Feltz Printing Service QUALIFIED67Onyama Limba
1031Maisha B MaletBrazil2024-05-31Morlong Associates RENEWAL40Stephen Shaw
1032Francesco I OstroskyJapan2024-06-14Morlong Associates PROPOSAL67Amy Elsner
1033Leon T RutaJapan2024-05-30Commercial Press QUALIFIED88Onyama Limba
1034Izzy V CaudyCanada2024-06-18Buckley Miller Wright QUALIFIED22Amy Elsner
1035Alejandro I PaprockiAustralia2024-06-10Feltz Printing Service NEW84Ivan Magalhaes
1036Deepesh G VocelkaRussia2024-06-21Truhlar And Truhlar Attys RENEWAL18Stephen Shaw
1037Octavia E FlosiRussia2024-06-07Printing Dimensions NEGOTIATION65Asiya Javayant
1038Octavia F SchemmerGermany2024-06-16Buckley Miller Wright NEW89Bernardo Dominic
1039Francesco C PoquetteRussia2024-06-16Chapman, Ross E Esq NEGOTIATION77Stephen Shaw
1040Ricardo P GillianBrazil2024-06-09Benton, John B Jr RENEWAL75Amy Elsner
1041Clifford A WhobreyIndia2024-06-14Truhlar And Truhlar Attys NEW96Elwin Sharvill
1042Alejandro D InouyeJapan2024-06-16Feltz Printing Service RENEWAL96Bernardo Dominic
1043Maisha N WaycottJapan2024-06-01Benton, John B Jr UNQUALIFIED55Asiya Javayant
1044Morrow F SergiArgentina2024-05-25Chapman, Ross E Esq NEGOTIATION0Xuxue Feng
1045Jeanfrancois M FollerBrazil2024-06-03Chapman, Ross E Esq NEW24Onyama Limba
1046Julie X GauchoFrance2024-05-30Truhlar And Truhlar Attys UNQUALIFIED52Onyama Limba
1047Cody K WieserCanada2024-06-12Dorl, James J Esq NEGOTIATION7Ivan Magalhaes
1048Jones I PaprockiUnited Kingdom2024-06-19Rousseaux, Michael Esq NEGOTIATION60Xuxue Feng
1049Leja W OldroydIndia2024-05-26Rangoni Of Florence PROPOSAL14Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow Q RimCanadaAsiya Javayant NEW
Deepesh M InouyeFranceAsiya Javayant QUALIFIED
Maria O ShinkoRussiaAnna Fali UNQUALIFIED
Darci J WhobreyUnited KingdomAnna Fali RENEWAL
Salvatore A StockhamItalyXuxue Feng PROPOSAL
Mujtaba R AmigonBrazilXuxue Feng NEGOTIATION
Darci V FlosiIndiaAsiya Javayant RENEWAL
Kadeem F BologniaArgentinaXuxue Feng UNQUALIFIED
Chavez T AmigonAustraliaIvan Magalhaes NEGOTIATION
Costa B MarrierJapanIoni Bowcher PROPOSAL
Greenwood J DarakjyIndiaIoni Bowcher PROPOSAL
Alejandro K CampainGermanyOnyama Limba QUALIFIED
Leon N MarrierBrazilStephen Shaw NEW
Costa K MorascaRussiaElwin Sharvill NEGOTIATION
Emily Y AlbaresBrazilXuxue Feng NEGOTIATION
Tony B OstroskyItalyAsiya Javayant NEGOTIATION
Munro B FlosiRussiaAnna Fali UNQUALIFIED
Wickens V GarufiFranceAnna Fali NEW
Adams X VocelkaFranceAsiya Javayant QUALIFIED
Juan E TollnerJapanStephen Shaw UNQUALIFIED
Misaki G StensethGermanyIoni Bowcher QUALIFIED
Chavez O TollnerIndiaXuxue Feng QUALIFIED
Cody U PaprockiIndiaOnyama Limba RENEWAL
Isabel G InouyeFranceXuxue Feng PROPOSAL
Salvatore T AlbaresJapanIvan Magalhaes QUALIFIED
Silvio J AmigonFranceXuxue Feng QUALIFIED
Murillo M KolmetzIndiaIoni Bowcher NEW
Arvin W RoysterSpainElwin Sharvill NEW
Leja O StockhamCanadaAmy Elsner QUALIFIED
Antonio V VenereAustraliaStephen Shaw RENEWAL
Mayumi Q RoysterCanadaAsiya Javayant PROPOSAL
Faith F MaletItalyXuxue Feng UNQUALIFIED
Maisha B DarakjyRussiaXuxue Feng NEW
Sinclair C ChuiCanadaStephen Shaw PROPOSAL
Wickens H BologniaBrazilIoni Bowcher RENEWAL
Mayumi M NickaIndiaElwin Sharvill NEW
Mayumi L FlosiSpainOnyama Limba RENEWAL
Aruna B MaletUnited KingdomBernardo Dominic PROPOSAL
Deepesh Y CaudyBrazilAsiya Javayant NEGOTIATION
Maisha F GillianGermanyIvan Magalhaes RENEWAL
Smith S StockhamIndiaElwin Sharvill QUALIFIED
Francesco L StensethGermanyOnyama Limba NEGOTIATION
Wickens Y AlbaresFranceIvan Magalhaes QUALIFIED
Antonio C RutaItalyElwin Sharvill UNQUALIFIED
Mayumi C VenereRussiaAmy Elsner UNQUALIFIED
Claire I AmigonUnited KingdomStephen Shaw NEGOTIATION
Kaitlin L BriddickFranceBernardo Dominic PROPOSAL
Aditya L InouyeArgentinaOnyama Limba PROPOSAL
Rodrigues V PerinFranceElwin Sharvill RENEWAL
Cody I SaylorsArgentinaStephen Shaw RENEWAL
Frozen Columns
Name
Darci V Perin
David N Ostrosky
Julie K Venere
Aika S Albares
Darci D Rim
David P Gaucho
David D Sergi
Maria P Ruta
Chavez K Iturbide
Maria H Schemmer
Sinclair O Wieser
Antonio U Saylors
Arvin N Stenseth
Adams X Glick
Antonio N Rulapaugh
Jeanfrancois L Malet
Adams A Gaucho
Tony F Caudy
Alejandro A Waycott
Silvio M Perin
Aruna D Venere
Silvio V Briddick
Maria Z Flosi
Faith Y Caudy
Claire Q Rulapaugh
Aruna C Iturbide
Leon S Ruta
James B Sergi
Faith S Foller
Cody I Whobrey
Jones U Sergi
Nicolas X Maclead
Izzy V Albares
Sinclair C Bolognia
Silvio M Paprocki
Octavia U Gaucho
Faith A Bolognia
Murillo S Morasca
David O Stenseth
Faith T Ostrosky
Greenwood G Schemmer
Isabel H Caudy
Mujtaba J Foller
Claire F Ferencz
Aika T Darakjy
Ricardo M Vocelka
Mujtaba Q Schemmer
Maria V Marrier
James J Inouye
Smith W Albares
IdCountryDate
1000Italy2024-06-18
1001Italy2024-06-07
1002Spain2024-06-17
1003United Kingdom2024-05-28
1004Germany2024-06-11
1005United Kingdom2024-06-10
1006United Kingdom2024-06-18
1007Brazil2024-05-26
1008Brazil2024-05-27
1009Italy2024-05-24
1010Argentina2024-06-11
1011Italy2024-06-17
1012Russia2024-06-18
1013Argentina2024-06-03
1014Australia2024-06-18
1015France2024-06-18
1016Germany2024-05-27
1017Spain2024-05-27
1018Germany2024-06-18
1019Russia2024-06-07
1020Italy2024-06-10
1021Russia2024-05-24
1022Canada2024-06-08
1023Italy2024-06-14
1024Spain2024-06-21
1025Russia2024-06-10
1026France2024-05-29
1027Canada2024-06-01
1028United Kingdom2024-06-05
1029India2024-05-31
1030Argentina2024-06-22
1031Argentina2024-06-01
1032United Kingdom2024-06-12
1033Argentina2024-06-13
1034Argentina2024-06-05
1035Spain2024-06-19
1036Japan2024-05-30
1037Australia2024-06-18
1038United Kingdom2024-06-17
1039Italy2024-06-02
1040United Kingdom2024-05-28
1041Australia2024-06-12
1042India2024-05-28
1043Italy2024-06-15
1044Italy2024-05-27
1045Japan2024-06-01
1046Japan2024-06-10
1047Australia2024-06-15
1048India2024-06-16
1049India2024-06-16

On-Demand Data

NameIdCountryDate
Murillo I Glick1000Australia2024-05-29
Emily R Chui1001India2024-06-19
Tony F Caudy1002Germany2024-06-04
Adams M Paprocki1003India2024-06-04
Adams X Vocelka1004Japan2024-06-07
Juan S Gillian1005France2024-05-24
Nicolas L Nicka1006Australia2024-05-28
Arvin V Chui1007Brazil2024-06-09
Costa D Waycott1008Brazil2024-06-08
Ricardo S Rulapaugh1009Italy2024-05-24
Chavez N Oldroyd1010Australia2024-06-07
Cody J Saylors1011Argentina2024-06-14
Ivar S Venere1012Canada2024-06-03
Kadeem K Ostrosky1013United Kingdom2024-06-06
Jennifer H Caudy1014Canada2024-06-16
Antonio K Tollner1015Japan2024-06-13
Wickens A Bolognia1016United Kingdom2024-06-14
Smith Y Gillian1017Canada2024-05-27
Chavez P Poquette1018Canada2024-06-17
Faith N Marrier1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C OstroskyGermanyElwin Sharvill QUALIFIED
Juan I WieserRussiaAnna Fali UNQUALIFIED
Tony X CampainIndiaOnyama Limba NEGOTIATION
Maria Q StockhamItalyBernardo Dominic RENEWAL
Misaki X NestleSpainIvan Magalhaes UNQUALIFIED
Jones T AlbaresIndiaXuxue Feng QUALIFIED
Morrow X StensethItalyAsiya Javayant RENEWAL
Wickens Q BriddickRussiaIvan Magalhaes PROPOSAL
Nicolas I StockhamRussiaXuxue Feng RENEWAL
Julie Q ShinkoArgentinaBernardo Dominic NEGOTIATION
Francesco P MacleadFranceAnna Fali UNQUALIFIED
Kadeem C MorascaIndiaOnyama Limba NEW
Sinclair W DarakjyRussiaXuxue Feng UNQUALIFIED
Nicolas R DarakjyRussiaOnyama Limba QUALIFIED
Mayumi P FollerUnited KingdomAsiya Javayant RENEWAL
Chavez A BowleyIndiaIoni Bowcher NEGOTIATION
Cody Y SchemmerGermanyAsiya Javayant QUALIFIED
Francesco T StensethSpainXuxue Feng RENEWAL
Emily P VocelkaGermanyIoni Bowcher NEGOTIATION
Leon P RoysterBrazilElwin Sharvill RENEWAL
Juan W OstroskyCanadaElwin Sharvill RENEWAL
Ashley F DoeJapanStephen Shaw PROPOSAL
Munro V NickaUnited KingdomStephen Shaw RENEWAL
Maria J DarakjyFranceOnyama Limba PROPOSAL
Misaki W StensethItalyIvan Magalhaes NEGOTIATION
Claire F KuskoRussiaBernardo Dominic PROPOSAL
Silvio V MaletGermanyBernardo Dominic PROPOSAL
Clifford P MaletIndiaOnyama Limba PROPOSAL
Greenwood N GarufiUnited KingdomXuxue Feng QUALIFIED
Wickens Y StensethGermanyIoni Bowcher NEW
David N WaycottItalyOnyama Limba NEW
Costa Q PoquetteRussiaElwin Sharvill QUALIFIED
Ricardo Y OstroskyGermanyAnna Fali NEGOTIATION
Arvin T VocelkaFranceAsiya Javayant PROPOSAL
Silvio Y CampainSpainBernardo Dominic QUALIFIED
Antonio S MarrierAustraliaBernardo Dominic RENEWAL
Morrow E SchemmerRussiaOnyama Limba UNQUALIFIED
Isabel V WieserAustraliaIvan Magalhaes UNQUALIFIED
Aditya C BowleyFranceElwin Sharvill RENEWAL
Arvin N OldroydAustraliaAmy Elsner 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>