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
Wickens U ChuiUnited KingdomIvan Magalhaes QUALIFIED
Ashley D IturbideCanadaIoni Bowcher NEW
Francesco Q DoeAustraliaElwin Sharvill UNQUALIFIED
Cody G AmigonBrazilAnna Fali PROPOSAL
Aditya O OstroskyRussiaAmy Elsner UNQUALIFIED
Salvatore J WaycottJapanElwin Sharvill NEGOTIATION
Aditya L MaletArgentinaStephen Shaw PROPOSAL
Aruna R VocelkaRussiaStephen Shaw UNQUALIFIED
Sinclair L WieserAustraliaStephen Shaw RENEWAL
Greenwood Z BriddickGermanyStephen Shaw NEW
Aditya J WaycottFranceAmy Elsner NEW
Mujtaba E KolmetzFranceElwin Sharvill NEGOTIATION
Morrow R BowleyItalyIvan Magalhaes QUALIFIED
Smith H NickaItalyOnyama Limba NEGOTIATION
Faith D GauchoCanadaStephen Shaw NEGOTIATION
Isabel M FerenczIndiaOnyama Limba NEGOTIATION
Emily W NestleUnited KingdomAnna Fali RENEWAL
Ivar K OstroskyFranceIoni Bowcher PROPOSAL
Jeanfrancois S ShinkoJapanXuxue Feng NEW
Misaki P SaylorsJapanElwin Sharvill UNQUALIFIED
Alejandro R SlusarskiBrazilBernardo Dominic RENEWAL
Octavia L NickaJapanAsiya Javayant QUALIFIED
Maisha E RutaItalyStephen Shaw PROPOSAL
Isabel S DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Arvin T VenereSpainElwin Sharvill NEW
Salvatore A StensethItalyXuxue Feng RENEWAL
Ricardo O NestleCanadaIoni Bowcher UNQUALIFIED
Chavez J OldroydGermanyAnna Fali NEGOTIATION
Emily K GlickJapanStephen Shaw NEW
Nicolas G NestleFranceIoni Bowcher NEW
Munro R GlickSpainStephen Shaw RENEWAL
Sinclair L MarrierJapanXuxue Feng UNQUALIFIED
Isabel I MaletItalyStephen Shaw QUALIFIED
Wickens J AmigonArgentinaAnna Fali QUALIFIED
Costa U ChuiRussiaAmy Elsner NEGOTIATION
Jeanfrancois Z PerinFranceAmy Elsner NEGOTIATION
Tony N FlosiGermanyXuxue Feng NEW
Aditya K WaycottBrazilXuxue Feng NEGOTIATION
Rodrigues W OldroydAustraliaElwin Sharvill PROPOSAL
Jones C GauchoRussiaAnna Fali QUALIFIED
Wickens L KuskoCanadaElwin Sharvill PROPOSAL
Aditya R MaletUnited KingdomAnna Fali RENEWAL
Stacey G DoeItalyIoni Bowcher RENEWAL
Juan T WieserUnited KingdomOnyama Limba PROPOSAL
James H AmigonAustraliaIvan Magalhaes UNQUALIFIED
Aditya H FerenczUnited KingdomStephen Shaw NEW
Munro J SlusarskiBrazilXuxue Feng NEGOTIATION
Wickens I DilliardJapanOnyama Limba NEGOTIATION
Jeanfrancois H PoquetteGermanyXuxue Feng NEGOTIATION
Octavia O SergiBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith X TollnerAustraliaStephen Shaw NEW
Nicolas N WhobreyItalyXuxue Feng PROPOSAL
Johnson N BriddickGermanyOnyama Limba NEW
Murillo V AlbaresAustraliaIoni Bowcher QUALIFIED
Wickens P WhobreyJapanStephen Shaw QUALIFIED
Jefferson Y SchemmerUnited KingdomIoni Bowcher QUALIFIED
Jennifer P SlusarskiAustraliaBernardo Dominic PROPOSAL
Tony H AmigonRussiaIvan Magalhaes NEW
Sinclair C WhobreyUnited KingdomStephen Shaw NEGOTIATION
Silvio L CaldareraRussiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire Z MaletCanada2025-04-14Chapman, Ross E Esq RENEWAL81Amy Elsner
1001Claire X ButtIndia2025-04-14Rangoni Of Florence PROPOSAL96Anna Fali
1002Mujtaba X RutaCanada2025-04-26Rangoni Of Florence RENEWAL3Bernardo Dominic
1003Murillo D AmigonItaly2025-04-21Chanay, Jeffrey A Esq RENEWAL65Stephen Shaw
1004Costa U AlbaresIndia2025-04-11Morlong Associates QUALIFIED15Amy Elsner
1005Deepesh N ShinkoJapan2025-04-01Dorl, James J Esq RENEWAL76Stephen Shaw
1006David U OstroskyFrance2025-04-03Buckley Miller Wright NEGOTIATION30Anna Fali
1007Maria F FerenczAustralia2025-04-25Chanay, Jeffrey A Esq NEW12Bernardo Dominic
1008Mujtaba C NestleSpain2025-04-26Chapman, Ross E Esq QUALIFIED4Elwin Sharvill
1009Leon J MarrierUnited Kingdom2025-04-04Morlong Associates PROPOSAL99Ioni Bowcher
1010Aika U CaudyCanada2025-04-07Benton, John B Jr RENEWAL24Asiya Javayant
1011Rodrigues B VocelkaFrance2025-04-07Rangoni Of Florence UNQUALIFIED93Ivan Magalhaes
1012Kaitlin P WhobreyItaly2025-04-15Chanay, Jeffrey A Esq RENEWAL73Xuxue Feng
1013Ricardo E BologniaRussia2025-04-01Dorl, James J Esq QUALIFIED85Onyama Limba
1014Maisha M NickaAustralia2025-04-14Chemel, James L Cpa NEW11Ioni Bowcher
1015Jennifer L BowleyIndia2025-04-03Truhlar And Truhlar Attys QUALIFIED60Bernardo Dominic
1016Cody R BologniaJapan2025-04-10Printing Dimensions QUALIFIED60Anna Fali
1017Misaki R BologniaGermany2025-04-29Morlong Associates UNQUALIFIED7Stephen Shaw
1018Murillo B CaldareraAustralia2025-04-10Chanay, Jeffrey A Esq NEGOTIATION90Asiya Javayant
1019Munro S CaldareraFrance2025-04-24Buckley Miller Wright NEW75Stephen Shaw
1020Maisha Q MaletJapan2025-04-16Buckley Miller Wright QUALIFIED78Stephen Shaw
1021Costa F MaletCanada2025-04-25Feiner Bros NEW37Amy Elsner
1022Kadeem T MorascaRussia2025-03-31Dorl, James J Esq NEGOTIATION68Bernardo Dominic
1023Ivar C TollnerJapan2025-04-04King, Christopher A Esq NEGOTIATION65Ivan Magalhaes
1024Mujtaba U BriddickJapan2025-04-09Morlong Associates QUALIFIED31Stephen Shaw
1025Mayumi E SergiItaly2025-04-20Truhlar And Truhlar Attys QUALIFIED31Ivan Magalhaes
1026Izzy R IturbideRussia2025-04-28Chemel, James L Cpa NEW45Anna Fali
1027Sinclair T InouyeIndia2025-04-21Buckley Miller Wright QUALIFIED33Xuxue Feng
1028Salvatore S NestleFrance2025-04-04Feiner Bros UNQUALIFIED26Stephen Shaw
1029Kadeem U ShinkoBrazil2025-04-07Commercial Press NEGOTIATION74Asiya Javayant
1030Adams N FigeroaAustralia2025-04-14Chemel, James L Cpa UNQUALIFIED89Amy Elsner
1031Jeanfrancois N PoquetteIndia2025-04-18Dorl, James J Esq UNQUALIFIED71Anna Fali
1032Jeanfrancois W TollnerGermany2025-04-29Benton, John B Jr RENEWAL3Elwin Sharvill
1033Alejandro R WhobreyUnited Kingdom2025-04-01Benton, John B Jr PROPOSAL55Xuxue Feng
1034Sinclair B StensethAustralia2025-04-04Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1035Emily O StockhamArgentina2025-04-18Printing Dimensions RENEWAL46Xuxue Feng
1036Izzy A RulapaughFrance2025-04-17Rangoni Of Florence QUALIFIED95Xuxue Feng
1037Cody O MaletRussia2025-04-02Benton, John B Jr NEW26Asiya Javayant
1038Isabel X StockhamBrazil2025-04-07Chapman, Ross E Esq NEW42Anna Fali
1039Morrow H ShinkoItaly2025-04-06King, Christopher A Esq NEW14Stephen Shaw
1040Munro E GlickSpain2025-04-03Feiner Bros QUALIFIED17Stephen Shaw
1041Costa E OstroskyCanada2025-04-18Morlong Associates QUALIFIED14Anna Fali
1042Francesco P FollerRussia2025-04-07Feiner Bros UNQUALIFIED78Bernardo Dominic
1043Darci C SchemmerGermany2025-04-25Chapman, Ross E Esq UNQUALIFIED4Xuxue Feng
1044Mayumi N RoysterBrazil2025-04-06Chapman, Ross E Esq PROPOSAL94Bernardo Dominic
1045Greenwood N PerinArgentina2025-04-09Rousseaux, Michael Esq NEGOTIATION18Bernardo Dominic
1046Misaki J OldroydIndia2025-03-31Benton, John B Jr RENEWAL53Elwin Sharvill
1047Octavia E DilliardCanada2025-04-03Buckley Miller Wright NEW82Elwin Sharvill
1048Misaki Z WaycottFrance2025-04-17Feiner Bros RENEWAL24Amy Elsner
1049Aika P KuskoJapan2025-04-24Chanay, Jeffrey A Esq PROPOSAL58Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio G VenereArgentinaAmy Elsner QUALIFIED
Murillo Y VenereAustraliaIvan Magalhaes NEW
Cody E RimBrazilStephen Shaw UNQUALIFIED
Wickens W PoquetteJapanAnna Fali PROPOSAL
Cody N RoysterAustraliaIoni Bowcher QUALIFIED
Jennifer L NickaCanadaIoni Bowcher UNQUALIFIED
Maisha X DarakjyBrazilStephen Shaw UNQUALIFIED
Johnson X SergiBrazilOnyama Limba QUALIFIED
Jeanfrancois H ButtCanadaStephen Shaw UNQUALIFIED
Aruna G GlickItalyOnyama Limba UNQUALIFIED
Jeanfrancois J NickaGermanyElwin Sharvill NEGOTIATION
Ricardo M MacleadArgentinaAmy Elsner QUALIFIED
Morrow Q DilliardJapanXuxue Feng NEW
Emily C MaletCanadaIvan Magalhaes RENEWAL
Leja O SergiAustraliaIoni Bowcher UNQUALIFIED
Kaitlin G WaycottRussiaAmy Elsner PROPOSAL
Aditya E OstroskyAustraliaAsiya Javayant PROPOSAL
Aditya T TollnerAustraliaIoni Bowcher QUALIFIED
Rodrigues Q RulapaughFranceXuxue Feng PROPOSAL
Leja P GillianAustraliaAsiya Javayant UNQUALIFIED
Mujtaba V OldroydIndiaStephen Shaw RENEWAL
Mayumi A RutaItalyIoni Bowcher UNQUALIFIED
Tony E OldroydItalyAsiya Javayant RENEWAL
Johnson T VenereGermanyElwin Sharvill QUALIFIED
Darci F GarufiUnited KingdomAnna Fali PROPOSAL
Cody B RoysterBrazilAmy Elsner NEGOTIATION
Julie W FigeroaArgentinaOnyama Limba NEW
Morrow Z FerenczFranceIoni Bowcher QUALIFIED
Octavia D RimAustraliaStephen Shaw NEW
Munro I WieserIndiaElwin Sharvill RENEWAL
Kaitlin N MaletSpainAnna Fali PROPOSAL
Jennifer V GlickUnited KingdomOnyama Limba UNQUALIFIED
Darci U MarrierUnited KingdomXuxue Feng QUALIFIED
Maisha D FigeroaJapanBernardo Dominic RENEWAL
Tony M PaprockiRussiaAsiya Javayant PROPOSAL
Stacey Z SlusarskiRussiaIvan Magalhaes PROPOSAL
Jennifer V IturbideRussiaIvan Magalhaes QUALIFIED
Aditya W WhobreyGermanyBernardo Dominic RENEWAL
Maria C SergiRussiaXuxue Feng NEW
Jennifer L StockhamItalyXuxue Feng NEGOTIATION
Munro P StensethJapanAnna Fali RENEWAL
Mujtaba I AlbaresBrazilIoni Bowcher PROPOSAL
Aditya V DarakjyCanadaAmy Elsner UNQUALIFIED
Rodrigues S MacleadCanadaAmy Elsner QUALIFIED
Aruna E InouyeAustraliaOnyama Limba RENEWAL
Jones K DoeBrazilXuxue Feng PROPOSAL
Munro C RoysterSpainOnyama Limba PROPOSAL
Nicolas P PoquetteGermanyOnyama Limba RENEWAL
Ashley O RimBrazilOnyama Limba QUALIFIED
Salvatore W RoysterAustraliaBernardo Dominic QUALIFIED
Frozen Columns
Name
Jones K Shinko
Maria A Albares
Cody J Amigon
Mujtaba Y Flosi
Aditya T Oldroyd
Arvin Z Chui
Jeanfrancois A Foller
Morrow I Bolognia
Julie O Shinko
Tony U Darakjy
Stacey E Bowley
Mujtaba F Foller
Cody J Glick
Jeanfrancois M Saylors
Sinclair N Sergi
Smith Y Poquette
Jennifer Z Doe
Antonio T Campain
Munro T Ruta
Stacey F Foller
Kaitlin E Slusarski
Aruna O Stockham
Antonio P Briddick
Jeanfrancois J Iturbide
Mayumi D Sergi
Aruna O Oldroyd
Claire T Rulapaugh
Chavez F Rim
Silvio H Nestle
Tony V Gaucho
Wickens G Maclead
Mayumi A Nestle
Stacey B Bowley
Jones Y Perin
Deepesh L Chui
Alejandro Q Iturbide
Mayumi V Whobrey
Adams Z Slusarski
Aika B Stenseth
Kaitlin U Ferencz
Johnson T Doe
Ivar Z Bowley
Salvatore E Gaucho
Deepesh Y Slusarski
Salvatore Z Bolognia
Julie Q Marrier
Adams L Inouye
Darci U Nestle
Jones H Caldarera
Murillo C Royster
IdCountryDate
1000Russia2025-04-13
1001Japan2025-04-25
1002France2025-04-20
1003Canada2025-04-22
1004Australia2025-04-16
1005Russia2025-04-13
1006Spain2025-04-03
1007Brazil2025-04-22
1008Italy2025-04-28
1009Canada2025-04-12
1010Germany2025-04-05
1011Spain2025-04-14
1012Germany2025-04-29
1013Russia2025-04-24
1014Italy2025-04-13
1015Japan2025-04-06
1016Australia2025-04-22
1017Brazil2025-04-26
1018Italy2025-04-20
1019Russia2025-04-26
1020India2025-04-19
1021Spain2025-04-01
1022Argentina2025-04-20
1023Canada2025-04-18
1024India2025-04-29
1025Spain2025-04-22
1026Argentina2025-04-02
1027India2025-04-13
1028France2025-04-17
1029Spain2025-04-03
1030Argentina2025-04-19
1031Japan2025-04-25
1032Australia2025-04-25
1033Italy2025-04-07
1034Brazil2025-04-04
1035Canada2025-04-29
1036Russia2025-04-29
1037Spain2025-04-27
1038India2025-04-16
1039United Kingdom2025-04-12
1040Russia2025-04-18
1041United Kingdom2025-04-26
1042Italy2025-04-10
1043Canada2025-04-21
1044Japan2025-04-14
1045Australia2025-04-25
1046France2025-04-13
1047Australia2025-04-13
1048Canada2025-04-28
1049Italy2025-04-18

On-Demand Data

NameIdCountryDate
Stacey W Butt1000Japan2025-04-24
Deepesh T Chui1001Australia2025-04-17
Julie Z Caudy1002Canada2025-04-11
Jones R Iturbide1003Brazil2025-03-31
Greenwood H Stockham1004United Kingdom2025-04-20
Deepesh U Morasca1005Germany2025-04-11
Mayumi S Schemmer1006Australia2025-03-31
Wickens K Amigon1007Italy2025-03-31
Leja B Ostrosky1008India2025-04-27
Francesco Y Royster1009Germany2025-04-12
Costa V Flosi1010Japan2025-04-19
Aika T Campain1011Japan2025-04-10
Rodrigues G Dilliard1012Germany2025-04-11
Antonio M Campain1013Canada2025-04-15
Kadeem B Albares1014Spain2025-04-15
Julie V Schemmer1015United Kingdom2025-04-29
Juan V Briddick1016Canada2025-04-21
Leon F Poquette1017Japan2025-04-24
Maria I Bolognia1018Italy2025-04-22
Julie Y Kusko1019Australia2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro P IturbideCanadaIvan Magalhaes NEGOTIATION
David B FlosiSpainOnyama Limba UNQUALIFIED
Maria P IturbideSpainAmy Elsner NEGOTIATION
Juan U KuskoAustraliaElwin Sharvill UNQUALIFIED
Alejandro S FigeroaUnited KingdomAnna Fali UNQUALIFIED
Alejandro H InouyeJapanIvan Magalhaes PROPOSAL
Adams T BowleySpainOnyama Limba RENEWAL
Darci U MaletArgentinaXuxue Feng NEGOTIATION
Ashley L BologniaUnited KingdomOnyama Limba UNQUALIFIED
Kadeem V StockhamItalyStephen Shaw QUALIFIED
Salvatore Z RimUnited KingdomOnyama Limba RENEWAL
Nicolas H RimBrazilOnyama Limba QUALIFIED
Mujtaba X OstroskyAustraliaBernardo Dominic PROPOSAL
Stacey F NickaJapanBernardo Dominic NEGOTIATION
Julie U WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Maisha J KuskoItalyBernardo Dominic NEGOTIATION
Wickens D IturbideSpainBernardo Dominic NEW
Nicolas Z FlosiUnited KingdomAmy Elsner RENEWAL
Tony F CampainJapanAnna Fali QUALIFIED
Alejandro Y AmigonGermanyAsiya Javayant NEW
Aruna Q RimSpainAnna Fali RENEWAL
Maisha B AmigonGermanyAnna Fali RENEWAL
Deepesh M TollnerItalyAsiya Javayant RENEWAL
Jennifer U FerenczAustraliaStephen Shaw RENEWAL
James V CaudyJapanBernardo Dominic QUALIFIED
Antonio D MaletCanadaIoni Bowcher UNQUALIFIED
Ricardo I PoquetteJapanAmy Elsner NEW
Costa R MaletIndiaIvan Magalhaes UNQUALIFIED
Jefferson D FerenczBrazilXuxue Feng NEW
Leon S WhobreyRussiaStephen Shaw NEW
Cody Z SchemmerBrazilXuxue Feng RENEWAL
Ricardo Z VenereGermanyOnyama Limba QUALIFIED
Isabel I MaletCanadaElwin Sharvill QUALIFIED
Aditya H InouyeItalyAsiya Javayant UNQUALIFIED
Jefferson N PerinFranceAsiya Javayant QUALIFIED
Jennifer V NickaJapanAnna Fali QUALIFIED
Claire C GillianGermanyAnna Fali QUALIFIED
Antonio Y BowleyRussiaXuxue Feng NEW
Stacey C WaycottUnited KingdomBernardo Dominic QUALIFIED
Kaitlin R AlbaresBrazilXuxue Feng RENEWAL

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