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
Smith S DoeIndiaStephen Shaw NEGOTIATION
Johnson B VocelkaIndiaIvan Magalhaes QUALIFIED
Antonio Y MaletItalyElwin Sharvill UNQUALIFIED
Nicolas G SlusarskiJapanAmy Elsner NEW
Stacey A FlosiFranceElwin Sharvill NEW
Julie C MarrierFranceElwin Sharvill NEGOTIATION
Wickens N StensethItalyAmy Elsner PROPOSAL
Izzy F MacleadBrazilStephen Shaw RENEWAL
Arvin V SergiUnited KingdomBernardo Dominic NEGOTIATION
Darci T StockhamAustraliaIvan Magalhaes PROPOSAL
Octavia R MacleadFranceOnyama Limba NEGOTIATION
Octavia H CaldareraJapanXuxue Feng NEW
Chavez K PaprockiAustraliaAsiya Javayant QUALIFIED
Jeanfrancois C ChuiAustraliaXuxue Feng QUALIFIED
Misaki X CampainBrazilIoni Bowcher UNQUALIFIED
David B InouyeIndiaBernardo Dominic NEW
Alejandro L TollnerSpainAmy Elsner UNQUALIFIED
Ivar M NickaArgentinaIoni Bowcher RENEWAL
Chavez W SchemmerUnited KingdomOnyama Limba QUALIFIED
Cody I MarrierCanadaOnyama Limba PROPOSAL
Aruna O SchemmerSpainAsiya Javayant UNQUALIFIED
Julie O BowleyCanadaIoni Bowcher QUALIFIED
Julie Y NickaFranceIvan Magalhaes QUALIFIED
Clifford V RutaArgentinaOnyama Limba NEGOTIATION
David L KolmetzArgentinaElwin Sharvill NEW
Octavia W StensethCanadaAnna Fali UNQUALIFIED
Antonio S BriddickArgentinaAnna Fali NEW
Maisha K TollnerFranceAsiya Javayant RENEWAL
David Q GlickSpainAmy Elsner PROPOSAL
Clifford P VocelkaFranceElwin Sharvill NEW
Kaitlin E FollerBrazilOnyama Limba NEW
Munro I WieserGermanyBernardo Dominic RENEWAL
Jennifer Q ButtItalyAnna Fali NEGOTIATION
Sinclair D FollerUnited KingdomAmy Elsner RENEWAL
Aruna P RoysterIndiaIvan Magalhaes PROPOSAL
Jones H GlickIndiaAmy Elsner UNQUALIFIED
Aditya N WieserArgentinaOnyama Limba NEW
Kadeem M NestleFranceAsiya Javayant PROPOSAL
Julie R SaylorsJapanAmy Elsner PROPOSAL
Wickens V BowleyAustraliaIoni Bowcher QUALIFIED
Ricardo A IturbideFranceIvan Magalhaes NEGOTIATION
Arvin U SchemmerGermanyStephen Shaw UNQUALIFIED
Sinclair Z WaycottJapanBernardo Dominic NEGOTIATION
Darci X DilliardSpainStephen Shaw NEGOTIATION
Arvin T IturbideBrazilXuxue Feng NEGOTIATION
Tony P RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Emily R SlusarskiAustraliaAsiya Javayant QUALIFIED
Misaki O WhobreyCanadaXuxue Feng PROPOSAL
Kadeem X FlosiFranceStephen Shaw UNQUALIFIED
Silvio X FigeroaFranceXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Ashley W GarufiFranceBernardo Dominic UNQUALIFIED
Ricardo D SaylorsRussiaBernardo Dominic QUALIFIED
Silvio S OldroydArgentinaAnna Fali PROPOSAL
Jennifer B GillianArgentinaBernardo Dominic NEGOTIATION
Aruna P FollerBrazilAsiya Javayant UNQUALIFIED
Munro R WhobreyBrazilOnyama Limba QUALIFIED
Kaitlin C OldroydGermanyXuxue Feng RENEWAL
Jones M AlbaresRussiaStephen Shaw RENEWAL
Kaitlin Z WhobreyArgentinaXuxue Feng NEW
Nicolas Y NestleFranceXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja R FollerBrazil2026-06-16Buckley Miller Wright NEGOTIATION95Stephen Shaw
1001Murillo K RimItaly2026-06-13Feiner Bros QUALIFIED35Amy Elsner
1002Jones G DilliardJapan2026-06-12Truhlar And Truhlar Attys RENEWAL4Onyama Limba
1003Aika Z NickaArgentina2026-07-08Feiner Bros NEW13Stephen Shaw
1004Jennifer A SlusarskiGermany2026-06-12Truhlar And Truhlar Attys NEGOTIATION81Bernardo Dominic
1005Leja X GauchoIndia2026-07-01Dorl, James J Esq QUALIFIED85Onyama Limba
1006Aruna J CampainBrazil2026-06-10Chapman, Ross E Esq NEW44Onyama Limba
1007Emily J SchemmerItaly2026-06-17Commercial Press PROPOSAL40Amy Elsner
1008Maria J DilliardGermany2026-07-04Chemel, James L Cpa NEGOTIATION26Elwin Sharvill
1009Morrow Y CaudyBrazil2026-07-09King, Christopher A Esq PROPOSAL4Onyama Limba
1010Jefferson C VocelkaGermany2026-07-09Rousseaux, Michael Esq RENEWAL22Xuxue Feng
1011Jeanfrancois V ShinkoUnited Kingdom2026-06-30Benton, John B Jr QUALIFIED26Anna Fali
1012Antonio B WaycottAustralia2026-06-21Printing Dimensions UNQUALIFIED7Asiya Javayant
1013Greenwood M StockhamAustralia2026-06-16Feiner Bros NEGOTIATION31Anna Fali
1014Nicolas V RimIndia2026-06-28Chanay, Jeffrey A Esq NEW16Asiya Javayant
1015Jones Z AlbaresGermany2026-06-21Feiner Bros NEGOTIATION85Ioni Bowcher
1016Smith P PerinFrance2026-06-12Chanay, Jeffrey A Esq QUALIFIED51Bernardo Dominic
1017Darci J GillianUnited Kingdom2026-06-27Chapman, Ross E Esq PROPOSAL39Asiya Javayant
1018Francesco G CampainUnited Kingdom2026-06-20Feltz Printing Service RENEWAL67Ioni Bowcher
1019Aditya K VenereFrance2026-06-14Dorl, James J Esq UNQUALIFIED33Elwin Sharvill
1020Arvin O RulapaughRussia2026-07-09Chapman, Ross E Esq NEGOTIATION91Asiya Javayant
1021Faith L RulapaughAustralia2026-06-21Morlong Associates NEW77Xuxue Feng
1022Alejandro B IturbideGermany2026-07-09Commercial Press PROPOSAL53Anna Fali
1023James S MaletArgentina2026-06-21Rangoni Of Florence NEGOTIATION64Xuxue Feng
1024Munro O CampainGermany2026-07-03Commercial Press QUALIFIED1Amy Elsner
1025Ashley B StockhamGermany2026-06-20Chanay, Jeffrey A Esq UNQUALIFIED94Asiya Javayant
1026Tony X MorascaAustralia2026-06-29Dorl, James J Esq NEW71Amy Elsner
1027Aruna K StensethSpain2026-06-13King, Christopher A Esq RENEWAL16Ioni Bowcher
1028Jeanfrancois E AlbaresArgentina2026-06-16Dorl, James J Esq NEW24Asiya Javayant
1029Silvio X GlickJapan2026-07-03Truhlar And Truhlar Attys QUALIFIED92Ioni Bowcher
1030Octavia Y SaylorsUnited Kingdom2026-06-28Printing Dimensions QUALIFIED66Ioni Bowcher
1031Darci L WieserUnited Kingdom2026-06-10Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1032Misaki S KuskoAustralia2026-07-09Buckley Miller Wright QUALIFIED52Asiya Javayant
1033Deepesh X OldroydArgentina2026-07-04Commercial Press PROPOSAL87Ioni Bowcher
1034Chavez V MarrierAustralia2026-07-06King, Christopher A Esq PROPOSAL38Bernardo Dominic
1035David Q StensethGermany2026-06-22Truhlar And Truhlar Attys UNQUALIFIED53Xuxue Feng
1036Smith D SaylorsSpain2026-06-21Chanay, Jeffrey A Esq PROPOSAL57Onyama Limba
1037Clifford P OstroskyUnited Kingdom2026-06-19Chapman, Ross E Esq NEGOTIATION73Amy Elsner
1038Greenwood M ButtItaly2026-07-08Rousseaux, Michael Esq UNQUALIFIED35Amy Elsner
1039Cody U GillianRussia2026-06-10Rangoni Of Florence NEW78Anna Fali
1040Darci R GillianSpain2026-06-26Dorl, James J Esq UNQUALIFIED65Xuxue Feng
1041Aruna H FigeroaCanada2026-07-07Rousseaux, Michael Esq RENEWAL64Elwin Sharvill
1042Nicolas A PoquetteJapan2026-06-27King, Christopher A Esq UNQUALIFIED65Bernardo Dominic
1043Faith D FollerBrazil2026-06-29Printing Dimensions NEW20Elwin Sharvill
1044James A OstroskyBrazil2026-07-07Rangoni Of Florence UNQUALIFIED87Ioni Bowcher
1045Stacey P ChuiJapan2026-06-30Rangoni Of Florence PROPOSAL77Bernardo Dominic
1046David B CampainIndia2026-06-20Rousseaux, Michael Esq NEGOTIATION21Onyama Limba
1047Johnson A VocelkaItaly2026-07-03Feltz Printing Service QUALIFIED69Onyama Limba
1048Johnson V RimGermany2026-06-28Morlong Associates QUALIFIED93Elwin Sharvill
1049Ivar H DilliardCanada2026-06-22Printing Dimensions RENEWAL31Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan L GlickGermanyIoni Bowcher NEGOTIATION
Wickens C KolmetzJapanXuxue Feng PROPOSAL
Juan K DoeBrazilIvan Magalhaes NEGOTIATION
Leon E StockhamItalyOnyama Limba RENEWAL
Ivar O KolmetzGermanyBernardo Dominic PROPOSAL
Maria F RoysterBrazilIoni Bowcher NEGOTIATION
Juan C AlbaresCanadaXuxue Feng NEW
Smith O GauchoArgentinaIvan Magalhaes PROPOSAL
Adams J InouyeFranceOnyama Limba RENEWAL
Deepesh X FigeroaItalyStephen Shaw UNQUALIFIED
Clifford T BriddickSpainAmy Elsner QUALIFIED
Jones M VocelkaItalyAsiya Javayant PROPOSAL
Arvin B StensethIndiaBernardo Dominic PROPOSAL
Leon Y MaletBrazilIoni Bowcher RENEWAL
Antonio L CaudyFranceIvan Magalhaes PROPOSAL
Kadeem S CampainCanadaBernardo Dominic NEGOTIATION
Ivar D TollnerFranceAmy Elsner NEW
Johnson A GlickAustraliaAsiya Javayant QUALIFIED
Deepesh F AmigonSpainIoni Bowcher NEW
Aruna Y RutaAustraliaStephen Shaw UNQUALIFIED
Kaitlin R TollnerJapanXuxue Feng UNQUALIFIED
Murillo Y WhobreyJapanStephen Shaw UNQUALIFIED
James N MorascaJapanIvan Magalhaes PROPOSAL
Smith F AmigonBrazilOnyama Limba NEGOTIATION
Silvio B WhobreyCanadaIvan Magalhaes QUALIFIED
Aruna G CaldareraCanadaAmy Elsner PROPOSAL
Wickens P ButtRussiaAsiya Javayant RENEWAL
Ashley A TollnerUnited KingdomXuxue Feng NEGOTIATION
Ashley D DilliardAustraliaAmy Elsner NEW
Jennifer R CampainItalyAmy Elsner RENEWAL
Arvin O BowleyBrazilXuxue Feng NEW
Julie D SaylorsItalyXuxue Feng NEW
Leja C CaudyRussiaXuxue Feng UNQUALIFIED
Aditya I ButtRussiaAmy Elsner UNQUALIFIED
Smith D FlosiIndiaIvan Magalhaes PROPOSAL
Emily W CaudyIndiaAmy Elsner RENEWAL
Aditya W VenereRussiaOnyama Limba PROPOSAL
Ivar L MarrierCanadaAnna Fali QUALIFIED
Silvio E MarrierAustraliaIvan Magalhaes QUALIFIED
Ivar A OldroydArgentinaAmy Elsner UNQUALIFIED
Chavez I SaylorsGermanyXuxue Feng PROPOSAL
Mujtaba L AlbaresBrazilStephen Shaw RENEWAL
David I KolmetzFranceAmy Elsner PROPOSAL
Maria A GlickArgentinaAsiya Javayant RENEWAL
Tony S ShinkoJapanAsiya Javayant UNQUALIFIED
Jennifer Y RimIndiaElwin Sharvill RENEWAL
Juan J MorascaBrazilIoni Bowcher NEW
Munro K MorascaBrazilOnyama Limba PROPOSAL
Greenwood N StockhamCanadaElwin Sharvill PROPOSAL
Julie B MorascaJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Faith U Flosi
Francesco Z Tollner
Jones P Caudy
Tony K Paprocki
Murillo I Saylors
Leja T Caldarera
Costa S Garufi
Leon F Venere
Jefferson A Gillian
Leon B Ferencz
Ivar P Figeroa
Claire Q Bowley
Jennifer M Kusko
Emily H Campain
Arvin T Darakjy
Claire S Chui
Salvatore R Caldarera
Jefferson B Malet
Wickens T Poquette
Salvatore G Rulapaugh
Ashley M Whobrey
Mayumi N Glick
Julie P Stockham
Morrow R Ostrosky
Munro D Ostrosky
Adams N Iturbide
Ivar Q Rulapaugh
Nicolas A Wieser
Mayumi M Nestle
Ricardo K Figeroa
Cody Q Nicka
Jones Q Perin
Johnson Y Inouye
Mujtaba R Butt
Nicolas W Butt
Maria V Foller
Jefferson L Tollner
Smith I Stockham
Ricardo F Bowley
Wickens J Waycott
Mayumi R Ruta
Costa O Ostrosky
Stacey S Oldroyd
Cody H Wieser
Ivar D Malet
Johnson U Shinko
Salvatore X Bolognia
Alejandro R Ferencz
Leon K Ostrosky
Cody Z Royster
IdCountryDate
1000United Kingdom2026-06-27
1001Brazil2026-06-14
1002Germany2026-06-22
1003Spain2026-06-10
1004United Kingdom2026-06-16
1005Spain2026-06-14
1006Japan2026-06-11
1007Australia2026-07-06
1008India2026-07-04
1009India2026-06-18
1010Japan2026-07-04
1011Germany2026-06-10
1012Germany2026-06-15
1013Brazil2026-06-26
1014Brazil2026-06-29
1015Japan2026-07-05
1016Italy2026-06-30
1017Australia2026-06-14
1018Brazil2026-06-11
1019Germany2026-06-30
1020Brazil2026-06-10
1021Italy2026-06-22
1022Germany2026-07-03
1023Spain2026-07-06
1024Spain2026-07-06
1025Canada2026-06-16
1026Germany2026-06-12
1027Argentina2026-07-08
1028Argentina2026-06-16
1029France2026-06-15
1030Australia2026-06-24
1031India2026-06-19
1032Russia2026-06-15
1033India2026-06-24
1034Spain2026-07-09
1035Germany2026-06-11
1036Spain2026-06-22
1037Germany2026-07-07
1038Argentina2026-06-17
1039France2026-07-09
1040Brazil2026-06-17
1041Russia2026-06-29
1042Argentina2026-07-06
1043Germany2026-06-14
1044Australia2026-06-23
1045France2026-07-08
1046Australia2026-06-24
1047Brazil2026-06-10
1048Spain2026-06-26
1049Germany2026-06-13

On-Demand Data

NameIdCountryDate
Tony H Ruta1000Germany2026-07-07
Leja U Poquette1001Spain2026-06-22
Antonio Q Chui1002Japan2026-07-02
Jennifer M Butt1003Spain2026-06-21
Stacey J Dilliard1004United Kingdom2026-06-28
Costa Q Schemmer1005Spain2026-06-27
Octavia S Figeroa1006Brazil2026-07-01
Arvin P Schemmer1007Spain2026-07-01
Chavez O Inouye1008Brazil2026-06-15
David G Kolmetz1009Japan2026-06-16
Alejandro L Malet1010Italy2026-06-28
Mayumi C Nicka1011Spain2026-07-08
Kaitlin V Foller1012Italy2026-06-22
Emily O Kusko1013United Kingdom2026-06-15
Ricardo J Chui1014India2026-07-01
Smith G Vocelka1015Australia2026-07-01
Ivar U Wieser1016France2026-06-18
Kaitlin H Gillian1017France2026-07-09
Aruna G Chui1018France2026-06-17
Maisha K Inouye1019France2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams E BowleyBrazilOnyama Limba UNQUALIFIED
Jennifer K RulapaughRussiaBernardo Dominic NEGOTIATION
Alejandro D SchemmerFranceStephen Shaw QUALIFIED
Clifford G RoysterCanadaElwin Sharvill NEW
Kadeem V CaldareraFranceIvan Magalhaes QUALIFIED
Antonio Z PoquetteCanadaXuxue Feng NEW
Clifford X MaletSpainAnna Fali NEGOTIATION
Aditya M SergiBrazilElwin Sharvill QUALIFIED
Greenwood Y NickaAustraliaElwin Sharvill RENEWAL
Wickens X PerinBrazilAmy Elsner NEGOTIATION
Leon J RulapaughSpainAmy Elsner PROPOSAL
Aika I RimCanadaElwin Sharvill NEW
Leon C SchemmerRussiaXuxue Feng PROPOSAL
Mayumi T WieserJapanAmy Elsner NEW
Stacey G OstroskyFranceIoni Bowcher NEGOTIATION
Jennifer E SaylorsBrazilIoni Bowcher PROPOSAL
Chavez K GillianFranceAnna Fali UNQUALIFIED
Deepesh Y StensethJapanElwin Sharvill PROPOSAL
Mujtaba M InouyeSpainElwin Sharvill UNQUALIFIED
Maisha P AmigonRussiaAsiya Javayant PROPOSAL
Cody M KolmetzBrazilElwin Sharvill QUALIFIED
Jones V MaletIndiaAnna Fali NEGOTIATION
Isabel P PoquetteCanadaXuxue Feng RENEWAL
Misaki U GarufiUnited KingdomAsiya Javayant QUALIFIED
Maisha W FerenczItalyOnyama Limba PROPOSAL
Antonio T TollnerSpainXuxue Feng UNQUALIFIED
Aditya F NestleIndiaAsiya Javayant NEW
Costa U CaudySpainIvan Magalhaes UNQUALIFIED
Wickens Q RimRussiaAmy Elsner RENEWAL
Isabel U NestleJapanElwin Sharvill UNQUALIFIED
Kadeem R CaldareraAustraliaOnyama Limba PROPOSAL
Leon G WaycottRussiaIoni Bowcher NEW
Faith Z MacleadJapanAnna Fali QUALIFIED
Tony X MacleadFranceIoni Bowcher RENEWAL
Johnson Y MorascaAustraliaIoni Bowcher NEW
Jones Z PaprockiFranceStephen Shaw QUALIFIED
Sinclair C MorascaCanadaAsiya Javayant NEW
Chavez Q OstroskyArgentinaStephen Shaw RENEWAL
Izzy F BriddickFranceAmy Elsner PROPOSAL
Wickens D PoquetteIndiaStephen 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>