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
Ricardo N TollnerArgentinaAmy Elsner PROPOSAL
Ricardo W WaycottJapanElwin Sharvill PROPOSAL
Izzy H MorascaJapanXuxue Feng QUALIFIED
Aruna U CaldareraArgentinaStephen Shaw QUALIFIED
Salvatore O GauchoFranceBernardo Dominic UNQUALIFIED
Greenwood C DilliardItalyOnyama Limba RENEWAL
David A KuskoArgentinaIoni Bowcher NEW
Adams V SaylorsFranceStephen Shaw UNQUALIFIED
Mayumi V MacleadCanadaAsiya Javayant PROPOSAL
Stacey B RoysterCanadaOnyama Limba RENEWAL
Ashley Y StockhamSpainAnna Fali RENEWAL
Greenwood I GlickGermanyAmy Elsner UNQUALIFIED
Kaitlin O KolmetzFranceIoni Bowcher NEGOTIATION
Maria Y FigeroaSpainBernardo Dominic NEGOTIATION
Greenwood L MarrierJapanIoni Bowcher NEW
Alejandro B PerinUnited KingdomAnna Fali RENEWAL
Julie T DilliardArgentinaIvan Magalhaes QUALIFIED
Ashley B GauchoBrazilIvan Magalhaes QUALIFIED
Octavia D RoysterSpainBernardo Dominic NEW
Leon T CaudyUnited KingdomAnna Fali NEGOTIATION
Smith R MarrierFranceAmy Elsner QUALIFIED
Juan H WaycottBrazilAmy Elsner QUALIFIED
Silvio Y CaudyFranceXuxue Feng UNQUALIFIED
Costa G RoysterGermanyAnna Fali QUALIFIED
Mayumi W SaylorsRussiaXuxue Feng PROPOSAL
Julie J BowleyBrazilBernardo Dominic NEW
Adams V DoeBrazilBernardo Dominic UNQUALIFIED
Maria X OstroskyFranceIvan Magalhaes NEW
Ricardo D MorascaArgentinaIvan Magalhaes UNQUALIFIED
Clifford P AlbaresFranceIvan Magalhaes NEGOTIATION
Ashley J BowleyIndiaBernardo Dominic NEW
Chavez E DilliardRussiaXuxue Feng UNQUALIFIED
Jeanfrancois N ButtAustraliaElwin Sharvill RENEWAL
Aditya O FerenczIndiaXuxue Feng NEW
Aditya B PaprockiRussiaAmy Elsner QUALIFIED
Juan Z CaldareraIndiaAsiya Javayant NEW
Cody E PoquetteAustraliaBernardo Dominic NEGOTIATION
Aika R BologniaCanadaAmy Elsner NEW
Salvatore V RoysterRussiaIoni Bowcher RENEWAL
Mayumi N WhobreyFranceAnna Fali PROPOSAL
Alejandro Q RimAustraliaAmy Elsner NEGOTIATION
Costa C StensethAustraliaStephen Shaw RENEWAL
James X WieserRussiaOnyama Limba PROPOSAL
Octavia C SaylorsRussiaAsiya Javayant RENEWAL
Rodrigues Z FlosiIndiaOnyama Limba NEW
Greenwood D IturbideCanadaAsiya Javayant NEGOTIATION
Jones R MarrierCanadaBernardo Dominic NEGOTIATION
Smith O IturbideGermanyAnna Fali NEW
Faith Q FerenczAustraliaBernardo Dominic NEW
Murillo P PerinIndiaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa D IturbideArgentinaElwin Sharvill UNQUALIFIED
Aditya H CaldareraItalyAsiya Javayant PROPOSAL
Morrow H MacleadJapanAmy Elsner PROPOSAL
Adams O KolmetzIndiaOnyama Limba NEGOTIATION
Deepesh X SaylorsSpainElwin Sharvill PROPOSAL
Cody C KuskoAustraliaIoni Bowcher RENEWAL
Jennifer K FerenczGermanyAmy Elsner PROPOSAL
Morrow H SaylorsArgentinaXuxue Feng UNQUALIFIED
Cody P OldroydSpainAmy Elsner UNQUALIFIED
Ivar J RutaSpainStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya B DarakjyCanada2025-06-02Chapman, Ross E Esq NEW93Asiya Javayant
1001Smith S RimAustralia2025-06-12Buckley Miller Wright PROPOSAL36Xuxue Feng
1002Wickens V StensethAustralia2025-06-04Chapman, Ross E Esq NEGOTIATION87Stephen Shaw
1003Misaki S SaylorsGermany2025-05-28Feltz Printing Service NEGOTIATION66Amy Elsner
1004Deepesh D GlickRussia2025-05-24Chemel, James L Cpa NEGOTIATION92Bernardo Dominic
1005Claire E CaudyCanada2025-05-30Rangoni Of Florence UNQUALIFIED70Elwin Sharvill
1006Mujtaba P VocelkaCanada2025-05-25King, Christopher A Esq PROPOSAL1Xuxue Feng
1007Ricardo F WhobreyFrance2025-05-23Morlong Associates NEW87Ioni Bowcher
1008James E GauchoRussia2025-05-19Benton, John B Jr PROPOSAL53Elwin Sharvill
1009Maria Y DoeItaly2025-06-11Chemel, James L Cpa PROPOSAL0Elwin Sharvill
1010Maria S IturbideGermany2025-05-19King, Christopher A Esq NEGOTIATION28Asiya Javayant
1011Arvin Y FerenczItaly2025-06-02Feiner Bros UNQUALIFIED97Ivan Magalhaes
1012Jennifer C BologniaArgentina2025-05-30Feiner Bros RENEWAL80Xuxue Feng
1013Chavez K FollerIndia2025-06-16Rousseaux, Michael Esq NEGOTIATION85Anna Fali
1014Alejandro A CampainBrazil2025-05-20Printing Dimensions UNQUALIFIED36Anna Fali
1015Costa P OstroskyBrazil2025-06-14Commercial Press NEGOTIATION24Stephen Shaw
1016Faith M CaudyIndia2025-06-14Chanay, Jeffrey A Esq NEW48Ioni Bowcher
1017Jones U NestleRussia2025-05-22Chemel, James L Cpa UNQUALIFIED2Xuxue Feng
1018Adams T MorascaBrazil2025-06-16Dorl, James J Esq QUALIFIED45Ivan Magalhaes
1019Silvio K ShinkoIndia2025-06-06Printing Dimensions UNQUALIFIED28Onyama Limba
1020Greenwood R OstroskySpain2025-06-09Rousseaux, Michael Esq PROPOSAL61Elwin Sharvill
1021Maisha Z VocelkaArgentina2025-05-23Dorl, James J Esq QUALIFIED76Xuxue Feng
1022Chavez P VenereRussia2025-06-08Truhlar And Truhlar Attys RENEWAL31Anna Fali
1023Wickens T BowleyFrance2025-06-06Truhlar And Truhlar Attys PROPOSAL11Asiya Javayant
1024Cody J StockhamAustralia2025-06-07Benton, John B Jr PROPOSAL7Onyama Limba
1025Jones G KolmetzRussia2025-06-01Dorl, James J Esq PROPOSAL99Bernardo Dominic
1026Morrow A BowleyRussia2025-06-04Buckley Miller Wright UNQUALIFIED31Ioni Bowcher
1027James S KolmetzBrazil2025-05-27Rangoni Of Florence UNQUALIFIED3Onyama Limba
1028Ricardo P DarakjyFrance2025-05-24Morlong Associates PROPOSAL32Elwin Sharvill
1029Leon I SergiCanada2025-06-15Chanay, Jeffrey A Esq RENEWAL98Onyama Limba
1030Emily B ShinkoFrance2025-05-24Dorl, James J Esq NEW96Stephen Shaw
1031Misaki X RoysterSpain2025-05-25King, Christopher A Esq NEGOTIATION25Stephen Shaw
1032Murillo W DarakjyFrance2025-05-26Printing Dimensions QUALIFIED15Onyama Limba
1033Arvin Q WaycottFrance2025-06-06Chemel, James L Cpa RENEWAL78Stephen Shaw
1034Darci I MaletGermany2025-05-28Printing Dimensions QUALIFIED40Ioni Bowcher
1035Izzy Y GillianRussia2025-06-06Feltz Printing Service RENEWAL39Asiya Javayant
1036Ricardo R MarrierCanada2025-06-15Rousseaux, Michael Esq PROPOSAL85Onyama Limba
1037Munro D AmigonRussia2025-06-14Truhlar And Truhlar Attys NEGOTIATION68Onyama Limba
1038Antonio G GarufiItaly2025-06-03Chemel, James L Cpa QUALIFIED77Ioni Bowcher
1039Ivar Z MacleadBrazil2025-06-02Rangoni Of Florence UNQUALIFIED99Ivan Magalhaes
1040Julie A StensethAustralia2025-05-31Truhlar And Truhlar Attys QUALIFIED96Xuxue Feng
1041Octavia G CaldareraFrance2025-06-13King, Christopher A Esq QUALIFIED67Ivan Magalhaes
1042Jefferson T ChuiArgentina2025-06-06Printing Dimensions UNQUALIFIED12Stephen Shaw
1043Aika F OstroskyBrazil2025-05-28Truhlar And Truhlar Attys NEW2Asiya Javayant
1044Misaki I OldroydSpain2025-06-13Benton, John B Jr PROPOSAL15Ivan Magalhaes
1045Darci C OldroydCanada2025-05-22Chemel, James L Cpa NEW56Asiya Javayant
1046Cody J SchemmerBrazil2025-05-24Chapman, Ross E Esq RENEWAL74Xuxue Feng
1047Jennifer X FigeroaUnited Kingdom2025-05-27Feltz Printing Service QUALIFIED67Onyama Limba
1048Izzy H MaletRussia2025-06-15Feltz Printing Service PROPOSAL83Elwin Sharvill
1049Adams A NestleIndia2025-05-30Feltz Printing Service NEW31Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh M TollnerUnited KingdomIoni Bowcher QUALIFIED
Julie N MacleadArgentinaOnyama Limba NEW
Kadeem X MorascaJapanIvan Magalhaes RENEWAL
Murillo I MaletJapanBernardo Dominic QUALIFIED
Faith H KuskoBrazilElwin Sharvill UNQUALIFIED
Murillo I OldroydArgentinaElwin Sharvill UNQUALIFIED
Kadeem Y RulapaughSpainOnyama Limba RENEWAL
Sinclair S FigeroaGermanyAmy Elsner RENEWAL
Johnson J SergiBrazilAnna Fali NEW
Maisha O SlusarskiAustraliaIvan Magalhaes RENEWAL
Sinclair R SlusarskiSpainAsiya Javayant PROPOSAL
Rodrigues X DoeAustraliaIvan Magalhaes QUALIFIED
Isabel T OstroskyRussiaIoni Bowcher RENEWAL
Cody A OldroydItalyAsiya Javayant NEGOTIATION
Izzy L DarakjySpainOnyama Limba UNQUALIFIED
Maisha M DilliardUnited KingdomOnyama Limba QUALIFIED
James Q MorascaBrazilStephen Shaw NEGOTIATION
Izzy A MacleadItalyOnyama Limba PROPOSAL
Jefferson Z BologniaArgentinaIoni Bowcher NEGOTIATION
Greenwood N GillianArgentinaAmy Elsner QUALIFIED
Leja S RutaItalyIvan Magalhaes NEGOTIATION
Deepesh V StensethIndiaElwin Sharvill PROPOSAL
Munro K DoeUnited KingdomAmy Elsner NEW
Antonio Q MaletIndiaXuxue Feng RENEWAL
Ivar W VenereArgentinaIoni Bowcher RENEWAL
Aruna E MorascaCanadaIvan Magalhaes QUALIFIED
Rodrigues V CaudyArgentinaAnna Fali UNQUALIFIED
Ashley D FollerFranceIvan Magalhaes RENEWAL
Antonio F PaprockiJapanAsiya Javayant RENEWAL
Silvio W SaylorsCanadaOnyama Limba PROPOSAL
Jennifer G KolmetzUnited KingdomElwin Sharvill PROPOSAL
Nicolas F SchemmerAustraliaAmy Elsner NEW
Emily N RulapaughSpainElwin Sharvill NEGOTIATION
Johnson K BowleyGermanyIoni Bowcher UNQUALIFIED
Morrow E GlickAustraliaXuxue Feng NEW
Johnson J OstroskyAustraliaAsiya Javayant UNQUALIFIED
Johnson O RulapaughSpainAsiya Javayant PROPOSAL
Murillo X CaldareraIndiaOnyama Limba PROPOSAL
Julie T StockhamIndiaIoni Bowcher PROPOSAL
Stacey Y AlbaresArgentinaIoni Bowcher QUALIFIED
Ivar V TollnerAustraliaAnna Fali QUALIFIED
Nicolas S WieserBrazilXuxue Feng RENEWAL
Darci X StockhamCanadaXuxue Feng NEW
Juan E MarrierAustraliaBernardo Dominic NEW
Misaki D ButtSpainIvan Magalhaes UNQUALIFIED
Wickens P WieserArgentinaElwin Sharvill QUALIFIED
Aditya W NickaBrazilIvan Magalhaes PROPOSAL
David R GauchoAustraliaIoni Bowcher NEGOTIATION
Sinclair L ShinkoSpainOnyama Limba PROPOSAL
Izzy X KuskoIndiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Silvio G Maclead
Silvio Y Caudy
Mayumi A Sergi
Antonio A Rim
Rodrigues H Albares
Darci L Nicka
Aditya Y Briddick
Salvatore F Albares
Chavez D Royster
Ashley B Perin
Maria A Inouye
Cody U Butt
Jefferson O Darakjy
Darci O Chui
Francesco Z Wieser
Morrow H Royster
Jefferson W Paprocki
Mujtaba Y Caudy
Wickens R Rim
Juan I Amigon
Juan A Oldroyd
Deepesh R Figeroa
Darci P Caldarera
Murillo F Venere
Jefferson Y Ruta
Antonio K Amigon
Darci I Gillian
Aditya X Rulapaugh
Jefferson V Figeroa
Juan H Vocelka
Kadeem W Saylors
Julie Y Paprocki
Kadeem O Caldarera
Jeanfrancois H Iturbide
Kaitlin A Garufi
Faith T Saylors
Izzy Q Gillian
David B Glick
Chavez P Albares
Jefferson X Briddick
Leon V Ruta
Darci B Briddick
Rodrigues I Perin
Darci J Tollner
Juan Y Kusko
Darci O Morasca
Stacey N Wieser
Alejandro L Oldroyd
Maria Y Dilliard
Silvio U Vocelka
IdCountryDate
1000United Kingdom2025-05-31
1001Canada2025-06-08
1002United Kingdom2025-06-11
1003Argentina2025-06-04
1004Russia2025-05-29
1005United Kingdom2025-05-27
1006Germany2025-06-15
1007India2025-05-21
1008Argentina2025-06-14
1009Russia2025-06-12
1010Japan2025-06-01
1011India2025-05-19
1012Australia2025-06-02
1013France2025-06-10
1014France2025-06-04
1015Germany2025-05-20
1016India2025-05-31
1017Japan2025-05-30
1018Brazil2025-05-29
1019India2025-05-24
1020United Kingdom2025-06-01
1021United Kingdom2025-06-13
1022Italy2025-05-29
1023Italy2025-05-29
1024Russia2025-06-04
1025Canada2025-06-07
1026India2025-06-11
1027Germany2025-05-28
1028Canada2025-06-14
1029Japan2025-05-31
1030Australia2025-06-05
1031Canada2025-05-24
1032Germany2025-06-10
1033United Kingdom2025-05-22
1034Germany2025-05-22
1035India2025-05-23
1036Italy2025-05-26
1037Germany2025-05-18
1038Australia2025-05-31
1039Italy2025-06-08
1040Germany2025-05-28
1041Russia2025-05-18
1042Russia2025-06-15
1043Australia2025-05-23
1044Canada2025-05-29
1045Italy2025-06-10
1046Italy2025-06-16
1047Japan2025-05-22
1048India2025-05-27
1049India2025-06-06

On-Demand Data

NameIdCountryDate
Aruna U Stockham1000Germany2025-06-10
Kaitlin Z Paprocki1001India2025-06-07
Julie F Kusko1002Japan2025-06-05
Aika C Darakjy1003Canada2025-05-18
Sinclair O Bowley1004Spain2025-05-28
Misaki O Whobrey1005Germany2025-06-10
Jennifer J Rulapaugh1006France2025-06-03
Ricardo Y Campain1007Argentina2025-06-03
Francesco F Paprocki1008Brazil2025-06-03
Johnson D Schemmer1009Spain2025-05-31
Ricardo W Kusko1010United Kingdom2025-05-21
Arvin P Poquette1011Italy2025-06-02
Morrow R Caldarera1012Australia2025-06-06
David E Tollner1013Brazil2025-06-16
Aruna N Malet1014France2025-05-28
Deepesh P Bowley1015Japan2025-05-20
Munro N Malet1016Canada2025-05-30
Salvatore V Butt1017Argentina2025-05-25
Johnson E Briddick1018Argentina2025-06-14
Jones L Poquette1019Spain2025-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin P DarakjyItalyAsiya Javayant RENEWAL
Isabel C NestleItalyXuxue Feng NEW
Adams A IturbideFranceOnyama Limba UNQUALIFIED
Wickens Q RimRussiaAnna Fali UNQUALIFIED
James G CampainItalyIvan Magalhaes RENEWAL
Deepesh B GarufiIndiaAsiya Javayant NEW
Ivar D NestleItalyAmy Elsner PROPOSAL
Misaki Y ButtItalyBernardo Dominic UNQUALIFIED
Rodrigues Q SchemmerUnited KingdomIoni Bowcher NEW
Cody K DarakjyItalyIoni Bowcher NEGOTIATION
Kadeem M AmigonItalyAmy Elsner RENEWAL
Munro J MarrierGermanyBernardo Dominic QUALIFIED
David K VocelkaFranceIvan Magalhaes RENEWAL
Nicolas O BriddickItalyBernardo Dominic RENEWAL
Adams V FigeroaCanadaBernardo Dominic PROPOSAL
Clifford F FollerUnited KingdomStephen Shaw UNQUALIFIED
Izzy K RulapaughArgentinaXuxue Feng PROPOSAL
Adams Q RoysterItalyXuxue Feng NEGOTIATION
Ivar F FigeroaCanadaAmy Elsner NEGOTIATION
Ricardo T RutaBrazilXuxue Feng NEGOTIATION
Morrow W BriddickArgentinaIvan Magalhaes NEW
Murillo U GillianSpainAsiya Javayant UNQUALIFIED
Leja O KolmetzJapanAnna Fali UNQUALIFIED
Claire M BowleyBrazilAsiya Javayant RENEWAL
Claire C CaudyItalyXuxue Feng NEGOTIATION
Deepesh X GauchoIndiaAnna Fali PROPOSAL
Leon O MacleadFranceAnna Fali NEW
Juan E PerinFranceAsiya Javayant UNQUALIFIED
Kaitlin K TollnerFranceStephen Shaw UNQUALIFIED
Wickens W DarakjySpainBernardo Dominic PROPOSAL
Leja H FollerItalyAsiya Javayant UNQUALIFIED
Murillo V SlusarskiBrazilAnna Fali NEW
Kaitlin M StensethAustraliaXuxue Feng QUALIFIED
Silvio C FigeroaJapanBernardo Dominic NEGOTIATION
Mayumi N FlosiUnited KingdomAmy Elsner QUALIFIED
Smith K StensethIndiaElwin Sharvill UNQUALIFIED
Isabel D FerenczSpainAnna Fali NEW
Jeanfrancois S MaletItalyStephen Shaw NEGOTIATION
Munro T KuskoGermanyAsiya Javayant RENEWAL
Aruna A GarufiSpainStephen Shaw PROPOSAL

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