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
Kaitlin P PaprockiSpainAnna Fali UNQUALIFIED
Adams A WieserBrazilXuxue Feng PROPOSAL
Julie Q FollerBrazilBernardo Dominic PROPOSAL
Deepesh I FollerCanadaIoni Bowcher NEW
Mayumi E SaylorsSpainAmy Elsner NEW
Antonio W GillianGermanyXuxue Feng UNQUALIFIED
Stacey X ButtRussiaOnyama Limba QUALIFIED
Leja E MaletJapanAnna Fali NEW
Munro S SergiUnited KingdomIvan Magalhaes PROPOSAL
Faith E GarufiArgentinaAsiya Javayant NEGOTIATION
David W FollerItalyIoni Bowcher UNQUALIFIED
Alejandro A DarakjyUnited KingdomStephen Shaw PROPOSAL
Costa E SlusarskiAustraliaXuxue Feng NEGOTIATION
Clifford S StensethFranceAsiya Javayant PROPOSAL
Greenwood A StockhamAustraliaAnna Fali QUALIFIED
Silvio J FollerAustraliaStephen Shaw RENEWAL
Octavia Y OstroskyItalyElwin Sharvill PROPOSAL
Adams D MaletBrazilAmy Elsner QUALIFIED
Leja X SaylorsAustraliaElwin Sharvill UNQUALIFIED
Izzy S GlickArgentinaAsiya Javayant NEGOTIATION
Johnson U DilliardFranceBernardo Dominic NEGOTIATION
Mujtaba F StockhamGermanyAsiya Javayant QUALIFIED
Jennifer S FlosiItalyBernardo Dominic PROPOSAL
James S DarakjyArgentinaOnyama Limba NEGOTIATION
Kaitlin F RulapaughItalyBernardo Dominic PROPOSAL
Wickens M VenereAustraliaAsiya Javayant PROPOSAL
Darci G SaylorsJapanStephen Shaw PROPOSAL
Aika F TollnerRussiaIoni Bowcher UNQUALIFIED
Octavia B PaprockiFranceOnyama Limba QUALIFIED
Misaki T WaycottFranceElwin Sharvill UNQUALIFIED
Nicolas D DoeGermanyXuxue Feng RENEWAL
Deepesh E WaycottUnited KingdomBernardo Dominic RENEWAL
Aditya J NestleAustraliaAsiya Javayant RENEWAL
Claire U CaudyGermanyElwin Sharvill NEW
Mujtaba Z CampainBrazilAmy Elsner QUALIFIED
Emily G NickaBrazilElwin Sharvill NEGOTIATION
James B FollerJapanOnyama Limba NEW
Ivar K WaycottCanadaXuxue Feng QUALIFIED
Greenwood P SergiJapanAsiya Javayant PROPOSAL
Alejandro B ChuiRussiaElwin Sharvill PROPOSAL
Arvin X OldroydFranceAsiya Javayant NEW
James I ShinkoSpainStephen Shaw PROPOSAL
Silvio E AmigonRussiaAmy Elsner QUALIFIED
Misaki B ShinkoAustraliaStephen Shaw RENEWAL
Ricardo F AlbaresArgentinaXuxue Feng RENEWAL
David N NestleItalyElwin Sharvill PROPOSAL
Isabel G MarrierArgentinaElwin Sharvill UNQUALIFIED
Stacey W WhobreyBrazilOnyama Limba NEGOTIATION
Julie M MaletRussiaAnna Fali NEGOTIATION
Salvatore V ShinkoUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Maisha W WhobreyAustraliaAsiya Javayant NEW
Izzy N AlbaresItalyOnyama Limba QUALIFIED
James T SlusarskiGermanyOnyama Limba UNQUALIFIED
Aditya D WieserAustraliaIoni Bowcher PROPOSAL
Mujtaba Y DoeCanadaAmy Elsner UNQUALIFIED
Juan U PaprockiUnited KingdomAsiya Javayant PROPOSAL
Ricardo Q TollnerGermanyElwin Sharvill NEW
Wickens P SlusarskiSpainAmy Elsner QUALIFIED
Wickens D NestleBrazilXuxue Feng RENEWAL
Mayumi G WaycottIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L OldroydBrazil2026-07-18Rangoni Of Florence NEW3Bernardo Dominic
1001Munro S IturbideCanada2026-08-04Feltz Printing Service NEW82Onyama Limba
1002Nicolas F MarrierSpain2026-07-22Rousseaux, Michael Esq NEGOTIATION57Anna Fali
1003Maria X AmigonCanada2026-07-16Rangoni Of Florence RENEWAL91Xuxue Feng
1004Ashley P FollerAustralia2026-07-14Buckley Miller Wright UNQUALIFIED1Bernardo Dominic
1005Emily I ButtIndia2026-07-18King, Christopher A Esq NEGOTIATION24Amy Elsner
1006Kaitlin V VocelkaUnited Kingdom2026-07-27Rousseaux, Michael Esq PROPOSAL38Bernardo Dominic
1007David F StensethSpain2026-08-04Chapman, Ross E Esq NEGOTIATION61Ioni Bowcher
1008Salvatore I AlbaresJapan2026-07-27Rangoni Of Florence RENEWAL81Stephen Shaw
1009Maisha R InouyeSpain2026-08-04Rangoni Of Florence PROPOSAL74Stephen Shaw
1010Jennifer O StensethIndia2026-08-02Morlong Associates QUALIFIED6Onyama Limba
1011Ricardo L MaletCanada2026-07-20Commercial Press RENEWAL94Anna Fali
1012Jennifer J MorascaRussia2026-07-25Feltz Printing Service NEGOTIATION19Asiya Javayant
1013Tony Y RutaJapan2026-08-02Truhlar And Truhlar Attys NEW55Elwin Sharvill
1014Tony L StensethRussia2026-07-25Printing Dimensions PROPOSAL75Stephen Shaw
1015Octavia W WieserJapan2026-08-07Rousseaux, Michael Esq UNQUALIFIED4Bernardo Dominic
1016Mujtaba J OstroskyArgentina2026-07-19Feiner Bros UNQUALIFIED43Ioni Bowcher
1017Faith O WhobreyUnited Kingdom2026-08-01Chemel, James L Cpa PROPOSAL16Anna Fali
1018Rodrigues U KolmetzJapan2026-08-09Morlong Associates NEGOTIATION48Bernardo Dominic
1019Chavez M TollnerJapan2026-08-03Commercial Press QUALIFIED60Elwin Sharvill
1020Sinclair G NestleGermany2026-07-20Chanay, Jeffrey A Esq NEGOTIATION7Amy Elsner
1021Darci V DilliardCanada2026-07-18King, Christopher A Esq NEW56Anna Fali
1022Leon F FerenczSpain2026-08-11Rangoni Of Florence NEW22Xuxue Feng
1023Leja A KuskoGermany2026-07-25Rangoni Of Florence NEW91Ioni Bowcher
1024Mujtaba T NickaRussia2026-07-30Rangoni Of Florence NEW20Elwin Sharvill
1025Antonio L RimItaly2026-07-15Commercial Press RENEWAL30Ioni Bowcher
1026Faith J StensethArgentina2026-07-17Benton, John B Jr QUALIFIED60Anna Fali
1027Maisha G OldroydAustralia2026-07-30Truhlar And Truhlar Attys NEGOTIATION11Anna Fali
1028David A FollerUnited Kingdom2026-08-05Feltz Printing Service NEGOTIATION21Elwin Sharvill
1029Cody X DoeItaly2026-07-16Morlong Associates RENEWAL9Anna Fali
1030Leja O AmigonArgentina2026-07-13Feltz Printing Service NEGOTIATION33Xuxue Feng
1031Maisha M FerenczRussia2026-07-20Chemel, James L Cpa PROPOSAL81Elwin Sharvill
1032Chavez R FlosiUnited Kingdom2026-07-15Chapman, Ross E Esq NEGOTIATION57Ioni Bowcher
1033Julie I WaycottArgentina2026-07-18Benton, John B Jr PROPOSAL4Bernardo Dominic
1034Emily S TollnerGermany2026-08-01Chanay, Jeffrey A Esq RENEWAL15Anna Fali
1035Juan B BriddickCanada2026-07-29Printing Dimensions UNQUALIFIED98Onyama Limba
1036Sinclair A VocelkaItaly2026-07-20Dorl, James J Esq QUALIFIED2Elwin Sharvill
1037Silvio B OstroskyIndia2026-08-03Rangoni Of Florence NEGOTIATION16Ivan Magalhaes
1038Francesco O RimRussia2026-07-13Feltz Printing Service RENEWAL55Onyama Limba
1039Munro Z BologniaItaly2026-08-10Morlong Associates NEGOTIATION96Xuxue Feng
1040Ashley S MacleadIndia2026-07-31Chanay, Jeffrey A Esq NEGOTIATION47Xuxue Feng
1041Faith E SergiAustralia2026-07-19Morlong Associates NEW30Anna Fali
1042Tony A MorascaIndia2026-07-23Feiner Bros UNQUALIFIED17Elwin Sharvill
1043Juan B PoquetteCanada2026-07-31Morlong Associates QUALIFIED56Amy Elsner
1044Faith S StensethRussia2026-07-25Buckley Miller Wright RENEWAL44Anna Fali
1045Jeanfrancois P GauchoJapan2026-08-11Buckley Miller Wright QUALIFIED95Stephen Shaw
1046Claire R StensethCanada2026-08-05Dorl, James J Esq PROPOSAL7Ivan Magalhaes
1047Sinclair L TollnerSpain2026-07-13Chemel, James L Cpa NEGOTIATION58Ivan Magalhaes
1048Aika N FerenczJapan2026-08-01Printing Dimensions NEGOTIATION95Bernardo Dominic
1049Deepesh E ChuiItaly2026-07-26Chemel, James L Cpa RENEWAL14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood G SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Kadeem O SlusarskiBrazilAmy Elsner NEGOTIATION
Kadeem W GlickArgentinaAnna Fali PROPOSAL
Alejandro S PaprockiJapanStephen Shaw QUALIFIED
David P CampainGermanyAmy Elsner NEW
Arvin M NestleRussiaAnna Fali RENEWAL
Faith C NestleAustraliaIoni Bowcher NEW
Octavia P ButtJapanIoni Bowcher QUALIFIED
Deepesh F ShinkoItalyOnyama Limba NEGOTIATION
Izzy J VenereBrazilAmy Elsner QUALIFIED
Jennifer G CaldareraFranceXuxue Feng NEW
Ivar Q FerenczRussiaXuxue Feng NEGOTIATION
Ricardo I WaycottArgentinaIvan Magalhaes UNQUALIFIED
Sinclair F VocelkaIndiaIoni Bowcher PROPOSAL
Nicolas S NickaFranceIvan Magalhaes RENEWAL
Adams L BowleySpainAnna Fali NEGOTIATION
Ashley Z NickaRussiaStephen Shaw NEW
Greenwood T InouyeUnited KingdomAmy Elsner QUALIFIED
James X CaldareraGermanyIvan Magalhaes RENEWAL
Claire H RoysterUnited KingdomXuxue Feng QUALIFIED
Munro D FigeroaSpainXuxue Feng NEGOTIATION
Aika W MarrierRussiaStephen Shaw RENEWAL
Mujtaba J VenereSpainOnyama Limba NEGOTIATION
Deepesh A NestleSpainXuxue Feng NEW
Jefferson E BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Stacey C StockhamSpainBernardo Dominic NEGOTIATION
Jefferson P MarrierAustraliaAsiya Javayant PROPOSAL
Sinclair V FerenczFranceIvan Magalhaes RENEWAL
Wickens W ShinkoUnited KingdomXuxue Feng NEW
Arvin K FerenczFranceBernardo Dominic PROPOSAL
Izzy X FollerItalyAnna Fali RENEWAL
James K DilliardUnited KingdomAsiya Javayant QUALIFIED
Juan R MarrierAustraliaElwin Sharvill PROPOSAL
Octavia X DarakjyBrazilIoni Bowcher RENEWAL
Johnson O CaldareraAustraliaElwin Sharvill PROPOSAL
Rodrigues E GillianCanadaAmy Elsner QUALIFIED
Wickens C BriddickUnited KingdomAmy Elsner RENEWAL
Ricardo E KuskoRussiaElwin Sharvill NEGOTIATION
Deepesh B AmigonFranceBernardo Dominic NEGOTIATION
Octavia T GillianGermanyAmy Elsner UNQUALIFIED
Jeanfrancois V BologniaRussiaElwin Sharvill QUALIFIED
Ashley H FerenczSpainIoni Bowcher PROPOSAL
Chavez S OstroskyGermanyAsiya Javayant NEW
Sinclair M VenereFranceIoni Bowcher UNQUALIFIED
Munro I MaletUnited KingdomAmy Elsner NEGOTIATION
Cody C RutaRussiaXuxue Feng QUALIFIED
Jones P PerinFranceAnna Fali UNQUALIFIED
Stacey K AlbaresRussiaOnyama Limba NEGOTIATION
Maisha E WieserUnited KingdomXuxue Feng NEGOTIATION
Mayumi T AlbaresAustraliaBernardo Dominic NEW
Frozen Columns
Name
Mayumi V Foller
Jones D Poquette
Chavez N Malet
Silvio V Venere
James A Waycott
Ivar M Darakjy
Francesco U Ruta
Jones K Campain
Jefferson H Maclead
Stacey A Gillian
Sinclair L Foller
Ashley A Gaucho
James X Saylors
Tony L Waycott
Jefferson I Stenseth
Ivar H Nicka
Sinclair D Iturbide
Johnson P Inouye
Misaki V Campain
James F Doe
David F Maclead
Chavez V Nicka
Leon M Kolmetz
Misaki Y Flosi
Jennifer I Inouye
Juan Y Butt
Chavez R Stockham
Deepesh G Tollner
Antonio T Albares
Salvatore A Figeroa
Misaki P Ferencz
Kadeem P Paprocki
Clifford H Butt
Deepesh K Whobrey
Tony C Glick
Izzy D Inouye
Johnson P Glick
Leon F Oldroyd
James V Figeroa
Deepesh T Saylors
Mujtaba T Rim
Darci T Figeroa
Aditya Q Schemmer
Ricardo Z Amigon
Adams G Flosi
David D Briddick
Ivar S Paprocki
Faith Y Nicka
Adams G Paprocki
Maria G Kolmetz
IdCountryDate
1000Germany2026-07-22
1001Canada2026-07-15
1002France2026-08-08
1003India2026-08-05
1004Australia2026-07-27
1005United Kingdom2026-07-15
1006Russia2026-07-25
1007India2026-08-01
1008Japan2026-07-19
1009United Kingdom2026-07-21
1010Japan2026-08-02
1011India2026-07-14
1012Brazil2026-07-14
1013Canada2026-07-24
1014France2026-07-16
1015India2026-07-15
1016United Kingdom2026-07-30
1017Argentina2026-07-22
1018France2026-08-08
1019United Kingdom2026-07-19
1020India2026-07-27
1021United Kingdom2026-07-31
1022Germany2026-07-29
1023India2026-07-17
1024Australia2026-07-25
1025Spain2026-07-18
1026India2026-07-13
1027Brazil2026-08-07
1028Argentina2026-07-29
1029Spain2026-07-14
1030Australia2026-08-08
1031Germany2026-07-21
1032India2026-07-15
1033Brazil2026-07-22
1034Brazil2026-08-10
1035Australia2026-07-20
1036Australia2026-08-11
1037Spain2026-08-07
1038Canada2026-07-27
1039Italy2026-07-17
1040India2026-08-04
1041Canada2026-07-30
1042Brazil2026-07-19
1043Italy2026-07-21
1044Germany2026-08-01
1045Japan2026-07-23
1046Canada2026-07-14
1047Italy2026-07-19
1048Brazil2026-08-07
1049Australia2026-07-27

On-Demand Data

NameIdCountryDate
Mayumi E Kolmetz1000Spain2026-08-09
Jones Z Foller1001India2026-08-10
Tony G Albares1002Russia2026-07-24
Izzy Y Kolmetz1003Germany2026-07-23
Julie F Kolmetz1004Italy2026-07-27
Tony Q Caudy1005Australia2026-07-28
Nicolas B Nestle1006Germany2026-07-15
Ashley P Saylors1007Japan2026-07-21
Munro K Maclead1008Canada2026-08-07
Faith A Glick1009Brazil2026-07-30
Jefferson D Rulapaugh1010Germany2026-07-13
Jennifer J Caudy1011Australia2026-07-29
Deepesh Q Vocelka1012Japan2026-07-13
Jeanfrancois T Tollner1013Brazil2026-07-31
Antonio N Figeroa1014India2026-08-11
Adams R Bowley1015Australia2026-08-03
Jones Q Stenseth1016Russia2026-08-05
Adams M Kusko1017Russia2026-07-22
Wickens B Garufi1018Brazil2026-08-08
Nicolas H Ostrosky1019Canada2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez F SergiItalyAnna Fali QUALIFIED
Greenwood J WaycottCanadaAsiya Javayant NEW
Greenwood G DarakjyGermanyXuxue Feng NEW
Smith W BologniaArgentinaStephen Shaw RENEWAL
Kaitlin E BologniaBrazilStephen Shaw UNQUALIFIED
Alejandro O SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Jennifer E AmigonFranceIvan Magalhaes RENEWAL
Ashley H RutaCanadaAnna Fali PROPOSAL
Kadeem E GillianRussiaBernardo Dominic RENEWAL
Alejandro B MorascaGermanyXuxue Feng NEW
Costa B RimRussiaBernardo Dominic NEW
Maria D CaldareraFranceXuxue Feng UNQUALIFIED
Murillo A StockhamSpainBernardo Dominic QUALIFIED
Leja N FerenczArgentinaXuxue Feng QUALIFIED
David J CaldareraItalyIvan Magalhaes NEGOTIATION
Claire O DilliardFranceElwin Sharvill QUALIFIED
Isabel L ChuiGermanyElwin Sharvill NEW
Munro Q WieserUnited KingdomAnna Fali RENEWAL
Claire C SlusarskiAustraliaIoni Bowcher PROPOSAL
Jones M GarufiGermanyAmy Elsner RENEWAL
Aditya A BowleyAustraliaStephen Shaw PROPOSAL
Costa W MaletUnited KingdomBernardo Dominic RENEWAL
Antonio Q MaletUnited KingdomStephen Shaw NEW
Salvatore D AmigonIndiaIvan Magalhaes NEW
Stacey S GauchoJapanAmy Elsner QUALIFIED
Francesco D BriddickBrazilAnna Fali UNQUALIFIED
Cody X GarufiSpainXuxue Feng UNQUALIFIED
Tony R RoysterIndiaIoni Bowcher PROPOSAL
Misaki E MaletArgentinaStephen Shaw QUALIFIED
Jefferson I AmigonItalyAnna Fali RENEWAL
Stacey A GlickArgentinaXuxue Feng UNQUALIFIED
Mayumi E StockhamJapanIvan Magalhaes QUALIFIED
Stacey A SlusarskiCanadaOnyama Limba UNQUALIFIED
Arvin E MaletAustraliaXuxue Feng NEGOTIATION
Antonio G MaletRussiaOnyama Limba NEW
Rodrigues J RoysterRussiaIoni Bowcher RENEWAL
Kadeem H ChuiRussiaXuxue Feng RENEWAL
Octavia U RutaUnited KingdomXuxue Feng QUALIFIED
Faith C PaprockiFranceAnna Fali RENEWAL
Salvatore L TollnerCanadaAsiya Javayant 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>