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
Francesco U VenereArgentinaStephen Shaw UNQUALIFIED
Leja T TollnerCanadaBernardo Dominic UNQUALIFIED
Antonio N OldroydFranceOnyama Limba NEGOTIATION
Morrow U MarrierFranceIvan Magalhaes NEW
Claire T PerinFranceAmy Elsner QUALIFIED
Mujtaba O FlosiCanadaAmy Elsner QUALIFIED
Ivar B FerenczIndiaElwin Sharvill QUALIFIED
Smith N OldroydAustraliaBernardo Dominic RENEWAL
Adams Q MaletUnited KingdomAmy Elsner RENEWAL
Jones J ShinkoIndiaAmy Elsner QUALIFIED
Emily P MacleadArgentinaStephen Shaw QUALIFIED
Leon J MaletIndiaElwin Sharvill RENEWAL
Tony H SlusarskiRussiaIoni Bowcher PROPOSAL
Murillo X NestleFranceElwin Sharvill NEW
Stacey L CampainSpainAnna Fali RENEWAL
Juan Y MarrierCanadaStephen Shaw QUALIFIED
Kadeem Y OstroskySpainIvan Magalhaes QUALIFIED
Octavia F StockhamIndiaIoni Bowcher RENEWAL
Aruna Y GauchoItalyStephen Shaw RENEWAL
Murillo A MarrierCanadaAsiya Javayant PROPOSAL
Nicolas X TollnerIndiaXuxue Feng PROPOSAL
Jones N RoysterSpainOnyama Limba NEW
Alejandro L ChuiCanadaIvan Magalhaes NEW
Francesco K OldroydSpainAsiya Javayant NEGOTIATION
Silvio P GillianIndiaAnna Fali PROPOSAL
Leja Y OldroydItalyAnna Fali NEGOTIATION
Emily B FollerBrazilIvan Magalhaes NEGOTIATION
Aika K PerinSpainAsiya Javayant NEW
Chavez R PoquetteCanadaAsiya Javayant NEGOTIATION
Izzy P RulapaughUnited KingdomStephen Shaw NEGOTIATION
Nicolas L ButtFranceStephen Shaw QUALIFIED
Ashley K RoysterIndiaElwin Sharvill NEGOTIATION
Aruna V NickaCanadaElwin Sharvill UNQUALIFIED
Smith X WaycottFranceStephen Shaw RENEWAL
Jennifer O StockhamAustraliaOnyama Limba NEGOTIATION
James L InouyeArgentinaOnyama Limba RENEWAL
Ricardo G MacleadAustraliaIoni Bowcher NEGOTIATION
Emily R RimIndiaStephen Shaw NEW
Faith N OldroydFranceAmy Elsner NEW
Greenwood A FigeroaBrazilBernardo Dominic UNQUALIFIED
Aditya D WieserArgentinaElwin Sharvill UNQUALIFIED
Rodrigues D RutaUnited KingdomIoni Bowcher NEGOTIATION
James L WhobreyAustraliaOnyama Limba PROPOSAL
Greenwood R IturbideArgentinaElwin Sharvill QUALIFIED
Arvin Y DoeArgentinaStephen Shaw NEGOTIATION
David Y RutaUnited KingdomIoni Bowcher NEGOTIATION
Maria U SergiFranceIoni Bowcher UNQUALIFIED
Isabel A ButtSpainAnna Fali UNQUALIFIED
Octavia X GillianCanadaElwin Sharvill NEW
Silvio L FlosiJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha H DilliardJapanElwin Sharvill QUALIFIED
Morrow J SergiSpainStephen Shaw NEGOTIATION
Leon I IturbideItalyIoni Bowcher NEW
Smith R SchemmerAustraliaIvan Magalhaes NEGOTIATION
Jones G FerenczJapanXuxue Feng NEW
Ivar B RutaCanadaAmy Elsner NEW
James H StockhamItalyIvan Magalhaes NEGOTIATION
Julie P FlosiGermanyAnna Fali PROPOSAL
Antonio A CampainUnited KingdomBernardo Dominic NEW
Nicolas F PerinUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith U AmigonFrance2024-06-04Buckley Miller Wright UNQUALIFIED28Amy Elsner
1001Arvin J NickaFrance2024-06-05Morlong Associates NEGOTIATION0Ioni Bowcher
1002Claire B PerinJapan2024-06-09Chapman, Ross E Esq NEGOTIATION76Elwin Sharvill
1003Maria Y TollnerFrance2024-06-03King, Christopher A Esq UNQUALIFIED54Ioni Bowcher
1004Johnson X RimBrazil2024-06-20King, Christopher A Esq UNQUALIFIED85Ivan Magalhaes
1005Mayumi P KuskoArgentina2024-06-08Feiner Bros PROPOSAL51Elwin Sharvill
1006Faith A SchemmerUnited Kingdom2024-06-02Feltz Printing Service PROPOSAL83Amy Elsner
1007Cody J VenereBrazil2024-06-08Morlong Associates NEW76Amy Elsner
1008Kadeem W BowleyAustralia2024-05-27Morlong Associates QUALIFIED37Onyama Limba
1009Leja F OldroydUnited Kingdom2024-05-27Chapman, Ross E Esq RENEWAL9Anna Fali
1010Claire D NickaIndia2024-06-19Printing Dimensions RENEWAL15Anna Fali
1011Maisha F CaudyAustralia2024-05-27Benton, John B Jr UNQUALIFIED97Ivan Magalhaes
1012Misaki D RutaUnited Kingdom2024-06-24Truhlar And Truhlar Attys NEW2Bernardo Dominic
1013Tony F RimCanada2024-06-15Feltz Printing Service PROPOSAL71Ivan Magalhaes
1014Kaitlin Z GauchoJapan2024-06-09King, Christopher A Esq QUALIFIED18Ivan Magalhaes
1015Silvio Y VocelkaItaly2024-06-18Rousseaux, Michael Esq UNQUALIFIED94Bernardo Dominic
1016Morrow S RoysterFrance2024-06-15Feltz Printing Service PROPOSAL39Ivan Magalhaes
1017Smith R MarrierBrazil2024-06-19Dorl, James J Esq NEGOTIATION35Asiya Javayant
1018Johnson E GlickAustralia2024-06-23Rousseaux, Michael Esq PROPOSAL76Ioni Bowcher
1019Octavia V FollerSpain2024-06-09Printing Dimensions NEW1Onyama Limba
1020Izzy H SchemmerUnited Kingdom2024-05-27King, Christopher A Esq NEGOTIATION22Anna Fali
1021Misaki Y VenereSpain2024-06-24Rangoni Of Florence QUALIFIED9Ioni Bowcher
1022Aruna K MaletJapan2024-06-07Rousseaux, Michael Esq QUALIFIED84Amy Elsner
1023David X FigeroaJapan2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED38Onyama Limba
1024Sinclair X AlbaresGermany2024-06-02Chanay, Jeffrey A Esq RENEWAL75Ioni Bowcher
1025Jefferson N DarakjyJapan2024-06-05Feltz Printing Service QUALIFIED27Onyama Limba
1026Johnson W TollnerSpain2024-06-06Dorl, James J Esq NEW98Stephen Shaw
1027Alejandro M OldroydJapan2024-05-31Chemel, James L Cpa RENEWAL22Anna Fali
1028Ricardo I GarufiUnited Kingdom2024-06-04Truhlar And Truhlar Attys UNQUALIFIED82Anna Fali
1029Adams X OldroydUnited Kingdom2024-06-16Truhlar And Truhlar Attys RENEWAL78Anna Fali
1030Leon Z ChuiUnited Kingdom2024-06-11Rousseaux, Michael Esq NEW43Elwin Sharvill
1031Deepesh K GauchoIndia2024-06-16Commercial Press PROPOSAL43Bernardo Dominic
1032Adams M NestleAustralia2024-06-07Chanay, Jeffrey A Esq NEW50Onyama Limba
1033Antonio M MaletRussia2024-06-10Chanay, Jeffrey A Esq NEW33Amy Elsner
1034Ricardo P MarrierItaly2024-05-31Buckley Miller Wright UNQUALIFIED51Elwin Sharvill
1035Murillo D GauchoIndia2024-05-27Rangoni Of Florence NEW89Asiya Javayant
1036Wickens D AmigonUnited Kingdom2024-06-19Rangoni Of Florence QUALIFIED75Onyama Limba
1037Tony D SlusarskiBrazil2024-06-05Commercial Press PROPOSAL56Amy Elsner
1038Alejandro J AmigonJapan2024-06-09Chanay, Jeffrey A Esq NEW63Stephen Shaw
1039Murillo V IturbideUnited Kingdom2024-06-23Morlong Associates PROPOSAL19Asiya Javayant
1040Deepesh E ButtUnited Kingdom2024-06-15Printing Dimensions RENEWAL72Asiya Javayant
1041Wickens W GauchoJapan2024-06-07Feltz Printing Service NEGOTIATION26Bernardo Dominic
1042Leja F BologniaJapan2024-06-24Commercial Press RENEWAL1Ivan Magalhaes
1043Deepesh B ChuiBrazil2024-06-08Truhlar And Truhlar Attys NEW64Onyama Limba
1044Aditya I BowleyIndia2024-06-13Truhlar And Truhlar Attys NEGOTIATION13Stephen Shaw
1045Salvatore S DoeCanada2024-06-08Dorl, James J Esq QUALIFIED66Xuxue Feng
1046Sinclair E FigeroaItaly2024-06-21Morlong Associates UNQUALIFIED7Bernardo Dominic
1047James T MorascaGermany2024-06-18Chanay, Jeffrey A Esq RENEWAL38Anna Fali
1048Smith Y AmigonSpain2024-06-14Feiner Bros PROPOSAL69Elwin Sharvill
1049Maria H CampainGermany2024-06-09Commercial Press RENEWAL66Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens T WaycottUnited KingdomXuxue Feng UNQUALIFIED
Ivar C BowleyAustraliaAmy Elsner UNQUALIFIED
Munro F RutaGermanyBernardo Dominic PROPOSAL
Misaki B MacleadRussiaBernardo Dominic UNQUALIFIED
Leja D NestleAustraliaAnna Fali QUALIFIED
Ricardo W VenereGermanyBernardo Dominic UNQUALIFIED
Octavia K OstroskyRussiaAnna Fali PROPOSAL
David G MaletCanadaStephen Shaw NEW
Wickens E SergiBrazilIvan Magalhaes UNQUALIFIED
Adams V AmigonGermanyOnyama Limba RENEWAL
Jefferson E DarakjyCanadaXuxue Feng NEW
Isabel R FlosiSpainBernardo Dominic PROPOSAL
Mayumi Y BowleyFranceStephen Shaw PROPOSAL
Ivar R BologniaBrazilAmy Elsner QUALIFIED
Julie K InouyeBrazilIvan Magalhaes QUALIFIED
Ivar H DarakjyUnited KingdomAmy Elsner NEW
James V BowleyFranceAnna Fali PROPOSAL
Adams O VocelkaRussiaAsiya Javayant PROPOSAL
Antonio B TollnerFranceAnna Fali QUALIFIED
Rodrigues H MorascaIndiaBernardo Dominic QUALIFIED
Kadeem Q GlickAustraliaElwin Sharvill UNQUALIFIED
Sinclair I AlbaresJapanBernardo Dominic PROPOSAL
Morrow A DilliardCanadaStephen Shaw UNQUALIFIED
Wickens Z WhobreyFranceXuxue Feng NEGOTIATION
Darci R NickaRussiaStephen Shaw UNQUALIFIED
Julie B MaletFranceBernardo Dominic UNQUALIFIED
Johnson N AlbaresItalyAnna Fali RENEWAL
Maisha X KuskoRussiaAsiya Javayant RENEWAL
Deepesh V SlusarskiArgentinaOnyama Limba QUALIFIED
David K NickaBrazilOnyama Limba QUALIFIED
Faith C FerenczBrazilIoni Bowcher QUALIFIED
Julie U KuskoGermanyAsiya Javayant UNQUALIFIED
Ashley I FollerCanadaElwin Sharvill QUALIFIED
Clifford P WieserRussiaAsiya Javayant NEGOTIATION
Tony M ButtArgentinaXuxue Feng NEGOTIATION
Antonio Z SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Greenwood Z WhobreyGermanyStephen Shaw UNQUALIFIED
Stacey M BologniaGermanyAsiya Javayant QUALIFIED
Aruna L WhobreyGermanyIoni Bowcher NEGOTIATION
Julie S SchemmerItalyStephen Shaw NEGOTIATION
Clifford L OldroydAustraliaAmy Elsner NEW
Emily L MorascaIndiaXuxue Feng QUALIFIED
Costa R PoquetteIndiaAnna Fali QUALIFIED
Munro S PerinAustraliaBernardo Dominic QUALIFIED
Kaitlin P CaudyUnited KingdomElwin Sharvill RENEWAL
Izzy N DoeAustraliaAsiya Javayant UNQUALIFIED
Murillo A KuskoCanadaAsiya Javayant QUALIFIED
Misaki E VenereArgentinaElwin Sharvill RENEWAL
Rodrigues B SergiArgentinaOnyama Limba NEW
Antonio J GarufiJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Tony U Gillian
Misaki T Maclead
Ashley U Chui
Adams I Iturbide
Arvin C Poquette
Silvio S Darakjy
Tony A Paprocki
Jefferson F Royster
Aruna F Royster
Mujtaba A Iturbide
Maria E Slusarski
Alejandro T Amigon
James Z Nestle
Smith Q Whobrey
Alejandro X Nestle
Antonio U Flosi
Octavia N Bowley
Aruna C Nestle
Mayumi U Nicka
Aruna C Bolognia
Greenwood G Figeroa
Maisha T Gaucho
Mujtaba Q Slusarski
Darci A Shinko
Kadeem P Oldroyd
Adams S Garufi
Leja F Kusko
Julie L Oldroyd
Leon X Slusarski
Salvatore T Kusko
Kadeem H Stockham
Stacey N Glick
Johnson V Foller
Kaitlin Y Bolognia
Ivar B Poquette
Johnson T Figeroa
Adams A Inouye
Leon Y Slusarski
Kadeem W Morasca
Nicolas J Nestle
Claire J Amigon
Francesco W Chui
Francesco X Paprocki
Munro E Kolmetz
Ashley M Gillian
Cody H Ruta
Izzy X Saylors
Aditya C Stenseth
Wickens C Schemmer
Jeanfrancois H Chui
IdCountryDate
1000Italy2024-06-03
1001Spain2024-06-02
1002France2024-06-04
1003Argentina2024-06-05
1004France2024-05-30
1005India2024-06-23
1006France2024-06-19
1007France2024-05-31
1008Canada2024-06-20
1009Russia2024-06-08
1010Germany2024-06-20
1011United Kingdom2024-05-27
1012Italy2024-06-10
1013France2024-06-23
1014Brazil2024-06-10
1015Canada2024-06-17
1016India2024-06-23
1017Spain2024-05-27
1018Argentina2024-06-23
1019India2024-05-30
1020Japan2024-05-31
1021India2024-05-29
1022Australia2024-06-11
1023Canada2024-06-15
1024Brazil2024-06-04
1025Germany2024-06-07
1026France2024-06-24
1027India2024-05-30
1028Spain2024-05-26
1029Australia2024-06-24
1030Canada2024-06-01
1031Germany2024-06-11
1032Australia2024-06-04
1033France2024-06-06
1034United Kingdom2024-06-22
1035Germany2024-06-19
1036Italy2024-06-19
1037Brazil2024-06-10
1038Argentina2024-06-05
1039Russia2024-06-24
1040Argentina2024-06-06
1041Australia2024-05-26
1042Argentina2024-05-27
1043Italy2024-06-05
1044Japan2024-06-21
1045United Kingdom2024-06-23
1046Brazil2024-06-23
1047Italy2024-06-06
1048Brazil2024-06-24
1049Brazil2024-06-24

On-Demand Data

NameIdCountryDate
Aditya I Amigon1000Spain2024-06-21
Morrow E Amigon1001Italy2024-06-11
Deepesh J Waycott1002Brazil2024-06-06
Aika C Malet1003Japan2024-06-02
Rodrigues J Stockham1004Argentina2024-05-29
Tony P Morasca1005France2024-06-16
David T Nestle1006Australia2024-06-15
Sinclair P Nicka1007Germany2024-06-01
Rodrigues B Rim1008Russia2024-06-11
Claire V Darakjy1009Japan2024-06-08
Juan I Dilliard1010Italy2024-06-17
Faith J Albares1011India2024-06-16
Rodrigues D Briddick1012Russia2024-06-03
Octavia T Rulapaugh1013India2024-06-23
Jennifer H Rulapaugh1014Germany2024-05-27
Nicolas D Bowley1015Australia2024-06-15
Emily A Ostrosky1016Germany2024-06-06
Jefferson H Venere1017Argentina2024-06-05
Aika Z Malet1018Australia2024-06-07
Smith F Morasca1019Argentina2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna E RimItalyIoni Bowcher RENEWAL
Jones N WhobreyBrazilOnyama Limba RENEWAL
Sinclair T PoquetteJapanOnyama Limba RENEWAL
Izzy K GarufiUnited KingdomBernardo Dominic RENEWAL
Alejandro R WaycottJapanBernardo Dominic NEGOTIATION
James K KuskoBrazilXuxue Feng PROPOSAL
Maisha O MaletRussiaElwin Sharvill NEW
Octavia I MacleadJapanXuxue Feng PROPOSAL
Ricardo F DoeAustraliaXuxue Feng QUALIFIED
Ricardo L DoeAustraliaXuxue Feng NEW
Jeanfrancois X GarufiArgentinaElwin Sharvill NEW
Jefferson L CaldareraJapanBernardo Dominic NEGOTIATION
Deepesh Q TollnerIndiaElwin Sharvill PROPOSAL
Ivar T ChuiIndiaOnyama Limba NEW
Munro J KuskoCanadaIoni Bowcher NEGOTIATION
Misaki K OldroydRussiaIvan Magalhaes NEGOTIATION
Aruna B GillianSpainStephen Shaw RENEWAL
Misaki P StensethJapanOnyama Limba RENEWAL
Arvin R GarufiItalyIoni Bowcher RENEWAL
Jeanfrancois H FigeroaCanadaIoni Bowcher RENEWAL
Leja X AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Juan H MarrierCanadaElwin Sharvill RENEWAL
Kadeem P IturbideBrazilAmy Elsner NEGOTIATION
Leon K FollerItalyIoni Bowcher PROPOSAL
Misaki H DarakjyRussiaStephen Shaw RENEWAL
Mujtaba C WhobreyGermanyBernardo Dominic QUALIFIED
Darci C ChuiFranceAmy Elsner NEW
Ashley F DilliardCanadaXuxue Feng NEGOTIATION
Maisha G CampainBrazilBernardo Dominic UNQUALIFIED
Greenwood P RimGermanyAmy Elsner NEGOTIATION
Aika P IturbideItalyBernardo Dominic RENEWAL
Arvin A WaycottIndiaOnyama Limba NEW
Nicolas A StensethGermanyXuxue Feng NEW
Juan V GillianArgentinaAmy Elsner UNQUALIFIED
Morrow T KolmetzItalyAnna Fali NEGOTIATION
Silvio R MorascaRussiaAmy Elsner QUALIFIED
Johnson A FlosiUnited KingdomAsiya Javayant NEW
Tony Q GillianFranceIoni Bowcher NEGOTIATION
Izzy U FlosiJapanAnna Fali NEW
Salvatore F PerinJapanElwin Sharvill 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>