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 W MaletSpainAmy Elsner UNQUALIFIED
Leja S RutaSpainElwin Sharvill RENEWAL
Faith V GarufiIndiaStephen Shaw PROPOSAL
Maria F VenereAustraliaXuxue Feng PROPOSAL
Leja I ChuiBrazilXuxue Feng NEGOTIATION
Jeanfrancois E BologniaCanadaElwin Sharvill NEW
Jones H OstroskyArgentinaBernardo Dominic UNQUALIFIED
Leja T MaletIndiaStephen Shaw NEGOTIATION
Antonio D MorascaIndiaOnyama Limba NEW
David W WieserJapanXuxue Feng RENEWAL
Mujtaba S StockhamAustraliaXuxue Feng NEW
Francesco J SergiSpainAnna Fali RENEWAL
Clifford H BologniaSpainXuxue Feng PROPOSAL
Francesco R KolmetzFranceElwin Sharvill PROPOSAL
Jefferson O BriddickItalyStephen Shaw NEW
Greenwood Z WhobreyArgentinaAsiya Javayant RENEWAL
Johnson E ButtUnited KingdomXuxue Feng UNQUALIFIED
Munro T MarrierBrazilElwin Sharvill PROPOSAL
Antonio Y PaprockiGermanyXuxue Feng RENEWAL
Alejandro B RimRussiaOnyama Limba NEW
Jennifer M CaudySpainAmy Elsner UNQUALIFIED
Aika C OstroskyItalyAsiya Javayant NEGOTIATION
Costa S RutaGermanyElwin Sharvill RENEWAL
Antonio Z IturbideBrazilStephen Shaw PROPOSAL
Mayumi E StockhamArgentinaAnna Fali QUALIFIED
Izzy Y BriddickAustraliaAmy Elsner RENEWAL
Kaitlin P NestleSpainStephen Shaw RENEWAL
Morrow X FigeroaArgentinaAmy Elsner PROPOSAL
Maria N BologniaGermanyBernardo Dominic UNQUALIFIED
Tony X RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Jones G ShinkoItalyIoni Bowcher NEW
Chavez H MorascaAustraliaElwin Sharvill NEW
Jones Y MarrierGermanyXuxue Feng UNQUALIFIED
Johnson M MarrierSpainIoni Bowcher UNQUALIFIED
Aika A RoysterGermanyXuxue Feng UNQUALIFIED
Mujtaba P BologniaUnited KingdomAsiya Javayant NEGOTIATION
Misaki P WhobreyIndiaOnyama Limba UNQUALIFIED
Adams T TollnerFranceXuxue Feng NEW
Jennifer P RoysterUnited KingdomIoni Bowcher PROPOSAL
Jennifer I FollerArgentinaOnyama Limba UNQUALIFIED
Murillo J GlickJapanAnna Fali NEGOTIATION
Aditya P FollerArgentinaElwin Sharvill QUALIFIED
Silvio E NickaAustraliaXuxue Feng NEW
Jefferson E AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio T RulapaughGermanyAnna Fali NEGOTIATION
Johnson B OstroskyItalyElwin Sharvill RENEWAL
Tony E SaylorsJapanElwin Sharvill NEGOTIATION
Darci L BriddickBrazilBernardo Dominic NEW
Mayumi K IturbideFranceElwin Sharvill UNQUALIFIED
Clifford A GauchoCanadaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson V DarakjySpainAmy Elsner UNQUALIFIED
Kadeem P GauchoCanadaXuxue Feng NEW
Aika Q OstroskyIndiaOnyama Limba UNQUALIFIED
Johnson H DarakjyArgentinaIvan Magalhaes NEW
Smith A FigeroaRussiaStephen Shaw NEGOTIATION
Stacey C ChuiGermanyAmy Elsner NEW
Ashley Q VocelkaAustraliaAmy Elsner NEW
Ivar S FerenczFranceAsiya Javayant QUALIFIED
Nicolas J RulapaughGermanyOnyama Limba QUALIFIED
Ashley E CaldareraAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith L CaudyGermany2025-05-19Rangoni Of Florence UNQUALIFIED61Amy Elsner
1001Faith U NickaCanada2025-06-08Morlong Associates NEW0Ivan Magalhaes
1002Darci P PerinIndia2025-05-28Feiner Bros RENEWAL36Anna Fali
1003Salvatore F RoysterFrance2025-06-06King, Christopher A Esq NEW84Onyama Limba
1004Aika Z WieserSpain2025-05-29Feltz Printing Service NEW52Xuxue Feng
1005Wickens X AmigonAustralia2025-06-16Chapman, Ross E Esq NEW68Ivan Magalhaes
1006Salvatore X RoysterBrazil2025-05-20Dorl, James J Esq NEGOTIATION0Xuxue Feng
1007Morrow D InouyeIndia2025-05-26Chanay, Jeffrey A Esq NEGOTIATION99Xuxue Feng
1008Chavez O DoeIndia2025-05-31Chanay, Jeffrey A Esq PROPOSAL26Elwin Sharvill
1009Emily G RoysterRussia2025-06-10Morlong Associates NEGOTIATION6Ioni Bowcher
1010Izzy Y FigeroaFrance2025-05-30Benton, John B Jr UNQUALIFIED78Ioni Bowcher
1011Stacey F MorascaJapan2025-06-12Morlong Associates RENEWAL63Ioni Bowcher
1012Tony C RulapaughRussia2025-05-24Feiner Bros QUALIFIED31Onyama Limba
1013Silvio J VenereIndia2025-05-23Feiner Bros UNQUALIFIED59Ivan Magalhaes
1014Alejandro W OstroskyArgentina2025-05-21Dorl, James J Esq PROPOSAL73Stephen Shaw
1015Arvin F MaletFrance2025-06-02Truhlar And Truhlar Attys QUALIFIED49Bernardo Dominic
1016Maria R CaldareraJapan2025-06-15Morlong Associates PROPOSAL51Xuxue Feng
1017Kaitlin T NickaRussia2025-05-19Rousseaux, Michael Esq PROPOSAL27Stephen Shaw
1018Juan Q SchemmerFrance2025-05-23Morlong Associates NEGOTIATION62Elwin Sharvill
1019Aditya U VenereCanada2025-05-20Feltz Printing Service NEW7Amy Elsner
1020Deepesh U FerenczItaly2025-06-10Dorl, James J Esq RENEWAL26Xuxue Feng
1021Kaitlin W PoquetteFrance2025-05-26Commercial Press RENEWAL95Anna Fali
1022Murillo Y DoeAustralia2025-06-13Printing Dimensions NEGOTIATION7Ivan Magalhaes
1023Jennifer W VenereSpain2025-06-14Feltz Printing Service NEGOTIATION72Amy Elsner
1024Sinclair K VenereBrazil2025-06-16Feiner Bros PROPOSAL75Ioni Bowcher
1025Alejandro Q GarufiGermany2025-06-01Commercial Press PROPOSAL19Onyama Limba
1026Octavia I AlbaresSpain2025-06-03Chemel, James L Cpa QUALIFIED8Ivan Magalhaes
1027Ricardo Z PaprockiJapan2025-05-18Printing Dimensions QUALIFIED20Amy Elsner
1028Arvin L BologniaSpain2025-06-14Commercial Press NEW6Anna Fali
1029Ivar K FerenczUnited Kingdom2025-05-18Rousseaux, Michael Esq NEW10Asiya Javayant
1030Emily C KuskoCanada2025-06-13Printing Dimensions NEW20Xuxue Feng
1031Stacey S FlosiIndia2025-06-09Chanay, Jeffrey A Esq NEGOTIATION45Elwin Sharvill
1032James Z WieserUnited Kingdom2025-06-11Rangoni Of Florence UNQUALIFIED95Elwin Sharvill
1033Stacey D DoeJapan2025-05-25Chemel, James L Cpa NEGOTIATION88Asiya Javayant
1034Leja I StensethRussia2025-06-15Morlong Associates QUALIFIED31Ivan Magalhaes
1035Julie I FerenczJapan2025-06-15Feiner Bros PROPOSAL95Ivan Magalhaes
1036Julie U WaycottGermany2025-06-07Chemel, James L Cpa NEW18Anna Fali
1037Sinclair K RulapaughItaly2025-06-11Benton, John B Jr PROPOSAL79Elwin Sharvill
1038Antonio O BriddickAustralia2025-06-05Rousseaux, Michael Esq UNQUALIFIED78Xuxue Feng
1039Julie C ButtBrazil2025-06-05Rangoni Of Florence PROPOSAL17Amy Elsner
1040Kaitlin J PaprockiArgentina2025-06-05Chemel, James L Cpa NEGOTIATION35Anna Fali
1041Mujtaba H IturbideAustralia2025-05-23Chanay, Jeffrey A Esq PROPOSAL24Stephen Shaw
1042Sinclair S OldroydUnited Kingdom2025-05-28Chapman, Ross E Esq RENEWAL70Asiya Javayant
1043Salvatore M FlosiRussia2025-06-16Rousseaux, Michael Esq RENEWAL83Ioni Bowcher
1044Morrow R FollerBrazil2025-06-12Commercial Press QUALIFIED23Anna Fali
1045Jeanfrancois J DarakjyArgentina2025-05-26Printing Dimensions PROPOSAL41Bernardo Dominic
1046Juan F WaycottGermany2025-06-05Printing Dimensions QUALIFIED88Xuxue Feng
1047Juan S SlusarskiArgentina2025-06-14Rangoni Of Florence NEW29Onyama Limba
1048Ricardo H DilliardItaly2025-06-07Truhlar And Truhlar Attys NEW48Onyama Limba
1049Rodrigues Q PerinFrance2025-05-26Truhlar And Truhlar Attys NEW28Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Misaki O StockhamRussiaStephen Shaw RENEWAL
Maria K MaletJapanElwin Sharvill NEGOTIATION
David W RulapaughItalyIvan Magalhaes NEGOTIATION
Wickens T StensethUnited KingdomOnyama Limba QUALIFIED
Smith X NestleSpainIvan Magalhaes NEGOTIATION
David B GillianAustraliaIvan Magalhaes QUALIFIED
Cody A FerenczBrazilBernardo Dominic NEGOTIATION
Wickens O FigeroaAustraliaIoni Bowcher QUALIFIED
Costa L InouyeBrazilOnyama Limba UNQUALIFIED
Wickens V RoysterJapanAsiya Javayant QUALIFIED
Smith A RulapaughArgentinaXuxue Feng UNQUALIFIED
James I OldroydJapanStephen Shaw UNQUALIFIED
Maria Q NestleUnited KingdomAsiya Javayant RENEWAL
Izzy F RoysterIndiaXuxue Feng UNQUALIFIED
Ivar Y ChuiFranceElwin Sharvill NEW
Mujtaba I ButtRussiaAsiya Javayant UNQUALIFIED
Antonio X PoquetteArgentinaAnna Fali QUALIFIED
James Y WieserCanadaBernardo Dominic NEGOTIATION
Stacey N RimItalyAnna Fali RENEWAL
Claire D GillianRussiaIvan Magalhaes RENEWAL
Aruna X WhobreyItalyOnyama Limba NEW
Costa D FerenczUnited KingdomOnyama Limba QUALIFIED
Darci O CaudyArgentinaAmy Elsner NEGOTIATION
Ashley S FigeroaAustraliaAsiya Javayant NEGOTIATION
Arvin U RoysterGermanyStephen Shaw RENEWAL
Isabel S MaletGermanyAsiya Javayant UNQUALIFIED
Ricardo D DoeFranceStephen Shaw PROPOSAL
Munro G PaprockiIndiaIoni Bowcher NEGOTIATION
Stacey E PoquetteItalyStephen Shaw PROPOSAL
Clifford R ChuiBrazilXuxue Feng UNQUALIFIED
Ashley L SaylorsIndiaStephen Shaw QUALIFIED
Cody P SergiFranceIvan Magalhaes QUALIFIED
Octavia M PerinSpainBernardo Dominic PROPOSAL
Antonio O AmigonRussiaIoni Bowcher NEGOTIATION
Wickens J RutaFranceAsiya Javayant PROPOSAL
Kadeem H MacleadIndiaBernardo Dominic RENEWAL
Ashley P GlickItalyIvan Magalhaes RENEWAL
Jennifer E OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba L GillianItalyIoni Bowcher PROPOSAL
Cody M VenereUnited KingdomBernardo Dominic QUALIFIED
Munro G IturbideSpainXuxue Feng UNQUALIFIED
Leja H MorascaAustraliaOnyama Limba NEGOTIATION
Clifford E GlickCanadaOnyama Limba NEW
Arvin W CampainUnited KingdomStephen Shaw NEW
Ivar Z OstroskyAustraliaElwin Sharvill UNQUALIFIED
Munro N VocelkaAustraliaIoni Bowcher PROPOSAL
Greenwood D FerenczSpainStephen Shaw QUALIFIED
Smith V GarufiJapanXuxue Feng NEW
Mayumi H KolmetzRussiaOnyama Limba RENEWAL
Jones G RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Frozen Columns
Name
Aditya J Butt
Misaki C Kolmetz
Kadeem R Wieser
Darci H Shinko
Jefferson I Sergi
Maisha W Morasca
Ivar X Ruta
Francesco A Kusko
Aika Z Rim
Chavez U Stockham
James G Campain
Tony E Ostrosky
Maisha R Malet
Arvin S Oldroyd
Juan P Glick
Izzy S Rulapaugh
Maria D Kolmetz
Murillo C Rulapaugh
Darci P Royster
Ricardo C Inouye
Maria K Perin
Smith S Garufi
Smith P Schemmer
Jennifer W Rim
Misaki H Amigon
Octavia A Gaucho
Ivar S Waycott
Sinclair P Campain
Octavia F Stockham
Nicolas O Amigon
Maisha R Flosi
Greenwood V Rulapaugh
Jones I Caldarera
Kaitlin W Darakjy
Jeanfrancois V Albares
Faith M Flosi
Aruna W Perin
James M Chui
Costa Q Waycott
Murillo H Slusarski
Aditya V Ostrosky
Kaitlin J Wieser
James M Perin
Adams D Darakjy
Munro M Stenseth
Munro F Whobrey
Kadeem R Waycott
Darci J Kusko
Munro O Chui
Izzy F Malet
IdCountryDate
1000France2025-06-01
1001Spain2025-06-05
1002Canada2025-06-13
1003Germany2025-06-10
1004Spain2025-05-21
1005Japan2025-06-01
1006Germany2025-06-14
1007India2025-06-12
1008India2025-06-06
1009Japan2025-06-06
1010Australia2025-05-26
1011Brazil2025-06-12
1012Germany2025-05-26
1013Spain2025-05-22
1014Italy2025-05-28
1015India2025-06-14
1016India2025-05-24
1017India2025-06-07
1018India2025-05-25
1019Italy2025-05-24
1020Italy2025-05-18
1021Spain2025-05-27
1022United Kingdom2025-05-21
1023France2025-05-24
1024India2025-05-30
1025Russia2025-05-22
1026Canada2025-05-20
1027Brazil2025-05-30
1028Spain2025-05-23
1029France2025-06-09
1030Canada2025-05-20
1031Canada2025-05-19
1032Japan2025-06-15
1033Australia2025-06-03
1034Spain2025-05-24
1035France2025-06-15
1036Argentina2025-06-01
1037Australia2025-05-26
1038Argentina2025-05-25
1039France2025-06-01
1040Argentina2025-06-07
1041India2025-06-03
1042Germany2025-05-25
1043France2025-06-11
1044Russia2025-06-07
1045India2025-06-12
1046Brazil2025-06-04
1047Spain2025-06-14
1048Canada2025-06-12
1049Italy2025-06-11

On-Demand Data

NameIdCountryDate
Kaitlin U Rulapaugh1000India2025-05-26
Tony S Schemmer1001United Kingdom2025-06-14
Johnson J Flosi1002Germany2025-06-09
Johnson L Nicka1003United Kingdom2025-06-08
Greenwood C Nestle1004Brazil2025-05-19
Aditya G Kusko1005Australia2025-06-07
Tony G Shinko1006Australia2025-05-20
Darci H Campain1007India2025-06-08
Kaitlin P Malet1008India2025-05-29
Mujtaba S Stockham1009Brazil2025-06-09
Johnson W Rulapaugh1010Italy2025-05-25
Misaki W Butt1011Italy2025-06-08
Faith Q Amigon1012United Kingdom2025-06-07
Aika Z Foller1013India2025-05-22
Darci Y Gaucho1014Russia2025-05-20
Smith O Saylors1015France2025-05-21
Leja V Kusko1016Japan2025-05-19
Darci X Campain1017France2025-05-29
Rodrigues W Marrier1018France2025-05-22
Tony A Malet1019Russia2025-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Q RutaItalyStephen Shaw NEGOTIATION
Maisha Q SergiItalyStephen Shaw NEGOTIATION
Ivar R FollerRussiaAsiya Javayant PROPOSAL
Arvin O MaletUnited KingdomOnyama Limba NEW
Alejandro L WieserCanadaAnna Fali PROPOSAL
Sinclair C StockhamRussiaElwin Sharvill NEW
Cody S GarufiSpainAnna Fali NEGOTIATION
Francesco L BowleyJapanBernardo Dominic UNQUALIFIED
Sinclair L VenereCanadaAnna Fali PROPOSAL
Leon C KuskoCanadaStephen Shaw NEGOTIATION
Mujtaba A RulapaughSpainBernardo Dominic PROPOSAL
Munro X ButtJapanBernardo Dominic PROPOSAL
Cody P CaudyArgentinaAnna Fali PROPOSAL
Jefferson B MaletFranceElwin Sharvill NEGOTIATION
Jeanfrancois S SchemmerBrazilOnyama Limba UNQUALIFIED
Octavia Z DilliardSpainAmy Elsner QUALIFIED
Faith U ButtFranceXuxue Feng UNQUALIFIED
Wickens O MaletAustraliaAnna Fali NEW
Ashley T MaletGermanyBernardo Dominic NEW
Ashley K InouyeBrazilOnyama Limba NEW
Wickens Z FlosiJapanElwin Sharvill UNQUALIFIED
Nicolas G FlosiGermanyXuxue Feng UNQUALIFIED
Izzy L StockhamSpainAmy Elsner NEW
Julie H RulapaughGermanyAmy Elsner PROPOSAL
Chavez X SergiJapanIoni Bowcher RENEWAL
Emily W BowleyRussiaAsiya Javayant RENEWAL
Deepesh X ChuiJapanIoni Bowcher NEGOTIATION
Deepesh E VocelkaBrazilIoni Bowcher PROPOSAL
Chavez L GillianBrazilAsiya Javayant QUALIFIED
Stacey A BowleyArgentinaAsiya Javayant RENEWAL
Aruna L BriddickItalyAsiya Javayant RENEWAL
Sinclair U MorascaFranceOnyama Limba RENEWAL
Jeanfrancois V GillianItalyAsiya Javayant UNQUALIFIED
Kadeem V PaprockiUnited KingdomOnyama Limba PROPOSAL
Faith R VocelkaGermanyIoni Bowcher PROPOSAL
Deepesh Z IturbideGermanyAmy Elsner RENEWAL
Stacey P OldroydAustraliaStephen Shaw NEW
Jones H MaletRussiaIoni Bowcher NEW
Munro B AmigonGermanyOnyama Limba PROPOSAL
James E SlusarskiRussiaAmy Elsner NEW

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