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
Leon K InouyeGermanyAnna Fali NEW
Munro T FigeroaItalyIoni Bowcher QUALIFIED
Kadeem J ButtJapanOnyama Limba NEGOTIATION
Claire P BowleyFranceAmy Elsner NEW
Smith D SchemmerItalyAmy Elsner RENEWAL
Ashley J SaylorsIndiaAsiya Javayant PROPOSAL
Octavia O DilliardCanadaIvan Magalhaes UNQUALIFIED
Johnson U GlickAustraliaIvan Magalhaes UNQUALIFIED
Munro X MorascaUnited KingdomAmy Elsner NEW
Wickens N KuskoItalyOnyama Limba UNQUALIFIED
Maisha C BologniaCanadaIoni Bowcher QUALIFIED
Ashley D ChuiSpainBernardo Dominic UNQUALIFIED
Aruna X NestleGermanyOnyama Limba RENEWAL
Darci V PerinFranceIoni Bowcher RENEWAL
Johnson B CaldareraCanadaXuxue Feng PROPOSAL
David I WhobreyJapanAmy Elsner UNQUALIFIED
Ricardo D BriddickFranceOnyama Limba NEGOTIATION
David N AmigonRussiaIvan Magalhaes UNQUALIFIED
Maisha E MorascaRussiaStephen Shaw RENEWAL
Nicolas A AlbaresUnited KingdomBernardo Dominic NEW
Clifford C CaldareraAustraliaOnyama Limba QUALIFIED
Ricardo O PerinGermanyXuxue Feng NEW
Claire P PerinGermanyIvan Magalhaes NEGOTIATION
Wickens R IturbideIndiaIoni Bowcher RENEWAL
Morrow Y BriddickRussiaAmy Elsner NEGOTIATION
Greenwood D GlickBrazilElwin Sharvill UNQUALIFIED
Deepesh Y IturbideCanadaIoni Bowcher UNQUALIFIED
Kaitlin F ButtItalyXuxue Feng RENEWAL
Maisha O StensethGermanyAnna Fali PROPOSAL
Ricardo Y OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Darci D SlusarskiBrazilXuxue Feng RENEWAL
Tony S MorascaGermanyElwin Sharvill QUALIFIED
Aika C AmigonGermanyOnyama Limba NEW
Ivar Q FollerItalyElwin Sharvill PROPOSAL
Jones W WaycottIndiaXuxue Feng RENEWAL
David Z DoeSpainAsiya Javayant UNQUALIFIED
Deepesh C GlickCanadaAmy Elsner PROPOSAL
Jefferson M RoysterJapanAsiya Javayant PROPOSAL
Antonio C IturbideAustraliaElwin Sharvill QUALIFIED
Salvatore O BologniaItalyXuxue Feng NEGOTIATION
Rodrigues F ShinkoCanadaStephen Shaw RENEWAL
Faith R GillianCanadaStephen Shaw NEGOTIATION
Wickens C IturbideBrazilAmy Elsner QUALIFIED
Maria C CaudyIndiaIoni Bowcher NEW
Stacey U WhobreySpainXuxue Feng PROPOSAL
Francesco B RimCanadaIvan Magalhaes RENEWAL
Johnson P PoquetteCanadaAmy Elsner RENEWAL
Isabel T NickaUnited KingdomIvan Magalhaes QUALIFIED
Chavez N VocelkaSpainAsiya Javayant PROPOSAL
Jefferson G MorascaAustraliaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Z SchemmerUnited KingdomIvan Magalhaes RENEWAL
Jones L VenereArgentinaAnna Fali NEW
Deepesh A DarakjyArgentinaAnna Fali RENEWAL
Leja A SaylorsBrazilIvan Magalhaes RENEWAL
Mayumi V FlosiBrazilStephen Shaw NEGOTIATION
Ivar O SchemmerArgentinaElwin Sharvill PROPOSAL
Ashley H DilliardSpainAnna Fali NEW
Clifford U StockhamAustraliaXuxue Feng QUALIFIED
Faith S WhobreyRussiaXuxue Feng NEW
Tony K SlusarskiGermanyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony W FollerArgentina2025-04-11Truhlar And Truhlar Attys NEW84Amy Elsner
1001Darci C GauchoSpain2025-04-04Dorl, James J Esq UNQUALIFIED81Ioni Bowcher
1002Silvio N MaletAustralia2025-04-03Rangoni Of Florence QUALIFIED88Elwin Sharvill
1003Wickens Y ButtGermany2025-04-22Buckley Miller Wright UNQUALIFIED48Asiya Javayant
1004Mujtaba U GillianUnited Kingdom2025-04-04Printing Dimensions NEGOTIATION64Anna Fali
1005Faith H MacleadJapan2025-04-12Printing Dimensions RENEWAL14Elwin Sharvill
1006Misaki G ButtUnited Kingdom2025-04-27Feltz Printing Service RENEWAL73Amy Elsner
1007Izzy G GauchoAustralia2025-04-15Dorl, James J Esq RENEWAL71Bernardo Dominic
1008Leon K WieserRussia2025-04-23Feltz Printing Service NEW93Bernardo Dominic
1009Cody D GarufiBrazil2025-04-03Dorl, James J Esq UNQUALIFIED99Amy Elsner
1010Julie T CaudyArgentina2025-04-15Chemel, James L Cpa QUALIFIED14Xuxue Feng
1011Aditya I ButtJapan2025-04-08King, Christopher A Esq NEW64Bernardo Dominic
1012Aruna T DarakjyRussia2025-04-15Feiner Bros NEGOTIATION53Stephen Shaw
1013Salvatore L VenereAustralia2025-04-09Truhlar And Truhlar Attys RENEWAL96Asiya Javayant
1014Emily C CampainUnited Kingdom2025-04-26Truhlar And Truhlar Attys RENEWAL21Asiya Javayant
1015Leon N WieserAustralia2025-04-29Morlong Associates PROPOSAL10Xuxue Feng
1016Leja D MacleadSpain2025-04-04Rangoni Of Florence UNQUALIFIED69Anna Fali
1017Rodrigues E RulapaughSpain2025-04-21Feltz Printing Service RENEWAL15Elwin Sharvill
1018Aika U RulapaughAustralia2025-04-13Dorl, James J Esq QUALIFIED13Ioni Bowcher
1019Ricardo U RulapaughGermany2025-04-14Chapman, Ross E Esq NEGOTIATION69Xuxue Feng
1020Cody E AmigonJapan2025-04-24Feiner Bros RENEWAL81Anna Fali
1021Julie X MorascaArgentina2025-04-27Feiner Bros RENEWAL42Ioni Bowcher
1022Maria X DarakjyGermany2025-04-05Truhlar And Truhlar Attys UNQUALIFIED18Xuxue Feng
1023Clifford O ShinkoArgentina2025-04-22Chapman, Ross E Esq NEGOTIATION38Xuxue Feng
1024Leon Z SergiArgentina2025-04-30Feltz Printing Service NEGOTIATION59Ivan Magalhaes
1025Mayumi A VocelkaJapan2025-04-04Chanay, Jeffrey A Esq UNQUALIFIED99Onyama Limba
1026Clifford O StensethJapan2025-04-10King, Christopher A Esq NEGOTIATION77Ioni Bowcher
1027Silvio M VenereItaly2025-04-24Chemel, James L Cpa UNQUALIFIED61Amy Elsner
1028Aruna X PerinGermany2025-04-24King, Christopher A Esq RENEWAL68Elwin Sharvill
1029Johnson S MorascaCanada2025-04-09Commercial Press NEGOTIATION99Stephen Shaw
1030Mujtaba T RulapaughJapan2025-04-26Feltz Printing Service PROPOSAL61Amy Elsner
1031Octavia G SergiRussia2025-04-15Feiner Bros UNQUALIFIED9Onyama Limba
1032Jones F GauchoItaly2025-04-22Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1033Salvatore B GauchoRussia2025-04-28Buckley Miller Wright UNQUALIFIED82Xuxue Feng
1034Munro J NickaFrance2025-04-21Dorl, James J Esq PROPOSAL72Onyama Limba
1035Ashley H IturbideUnited Kingdom2025-04-02Benton, John B Jr NEW17Onyama Limba
1036Cody J RutaItaly2025-04-27Dorl, James J Esq UNQUALIFIED79Elwin Sharvill
1037Emily R MaletFrance2025-04-12Chanay, Jeffrey A Esq QUALIFIED43Stephen Shaw
1038Stacey D CaldareraCanada2025-04-02Dorl, James J Esq NEW6Bernardo Dominic
1039Smith W FigeroaBrazil2025-04-17Chapman, Ross E Esq NEGOTIATION25Amy Elsner
1040Mujtaba Y FigeroaRussia2025-04-18Dorl, James J Esq UNQUALIFIED62Stephen Shaw
1041Johnson H BriddickItaly2025-04-06Rangoni Of Florence NEW91Ioni Bowcher
1042Ashley P FlosiFrance2025-04-23Feltz Printing Service QUALIFIED62Ioni Bowcher
1043Darci J SlusarskiArgentina2025-04-07Chapman, Ross E Esq NEGOTIATION77Elwin Sharvill
1044Murillo P WhobreyCanada2025-04-20Dorl, James J Esq QUALIFIED62Bernardo Dominic
1045Julie F VenereJapan2025-04-14Feltz Printing Service QUALIFIED65Asiya Javayant
1046Stacey U SergiUnited Kingdom2025-04-05Truhlar And Truhlar Attys NEGOTIATION76Anna Fali
1047Jones B TollnerAustralia2025-04-18Rousseaux, Michael Esq NEGOTIATION52Bernardo Dominic
1048Jennifer M InouyeAustralia2025-04-17Morlong Associates NEGOTIATION6Anna Fali
1049Isabel Q CaldareraJapan2025-04-13Dorl, James J Esq NEGOTIATION34Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin G GlickArgentinaIvan Magalhaes NEGOTIATION
Silvio V KolmetzGermanyStephen Shaw PROPOSAL
Faith H StensethItalyIvan Magalhaes NEW
Aika O WhobreyGermanyXuxue Feng RENEWAL
Izzy F NestleSpainAmy Elsner RENEWAL
Maria I RoysterIndiaAsiya Javayant QUALIFIED
Greenwood R GarufiArgentinaOnyama Limba RENEWAL
Stacey R CampainRussiaAmy Elsner RENEWAL
James R MacleadJapanIvan Magalhaes NEGOTIATION
Kadeem A GarufiFranceAnna Fali RENEWAL
Leja D CaldareraBrazilOnyama Limba NEW
Antonio U RoysterArgentinaOnyama Limba NEGOTIATION
Ricardo S MarrierUnited KingdomIoni Bowcher QUALIFIED
Alejandro O CampainAustraliaXuxue Feng UNQUALIFIED
Tony D KolmetzBrazilStephen Shaw PROPOSAL
Johnson B GillianSpainXuxue Feng RENEWAL
Jefferson G KolmetzRussiaAnna Fali QUALIFIED
Morrow I DoeUnited KingdomIvan Magalhaes PROPOSAL
Silvio D AlbaresItalyAnna Fali PROPOSAL
Johnson C MaletCanadaIoni Bowcher NEW
Munro J DoeIndiaStephen Shaw NEGOTIATION
Silvio Q RutaArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois F MarrierJapanStephen Shaw RENEWAL
Leja X SlusarskiFranceOnyama Limba UNQUALIFIED
Cody G ShinkoItalyIoni Bowcher NEGOTIATION
Julie Q IturbideBrazilBernardo Dominic NEGOTIATION
Silvio S ButtSpainStephen Shaw PROPOSAL
Silvio L StensethArgentinaStephen Shaw PROPOSAL
Ivar M MacleadItalyStephen Shaw UNQUALIFIED
Stacey W RulapaughGermanyAnna Fali RENEWAL
Kadeem B BowleyItalyStephen Shaw QUALIFIED
Aditya Q IturbideArgentinaElwin Sharvill QUALIFIED
Clifford U NickaItalyElwin Sharvill PROPOSAL
Tony Z RimGermanyIvan Magalhaes QUALIFIED
Francesco N BowleySpainOnyama Limba PROPOSAL
Salvatore P PaprockiFranceIvan Magalhaes QUALIFIED
Isabel X MorascaArgentinaStephen Shaw RENEWAL
Misaki I KolmetzCanadaOnyama Limba RENEWAL
Francesco C MorascaIndiaAmy Elsner NEW
Ricardo C FigeroaGermanyOnyama Limba NEGOTIATION
Kadeem Q GarufiArgentinaOnyama Limba UNQUALIFIED
Aruna Z MorascaUnited KingdomStephen Shaw NEGOTIATION
Ivar H GillianIndiaElwin Sharvill UNQUALIFIED
Stacey I StockhamBrazilStephen Shaw NEW
Alejandro Z ShinkoCanadaAmy Elsner QUALIFIED
Adams Y RulapaughSpainAmy Elsner UNQUALIFIED
James C WaycottJapanAmy Elsner PROPOSAL
Ricardo E BriddickCanadaAmy Elsner RENEWAL
Clifford P IturbideUnited KingdomIoni Bowcher NEGOTIATION
Leja A MaletUnited KingdomAsiya Javayant NEW
Frozen Columns
Name
Ivar Z Rulapaugh
Ivar I Stockham
Wickens I Waycott
Faith J Shinko
Darci G Ostrosky
Adams A Whobrey
David Z Schemmer
Silvio E Rulapaugh
Emily T Ostrosky
Faith C Ostrosky
Octavia B Amigon
Salvatore D Briddick
Nicolas G Figeroa
Smith X Ostrosky
Julie G Venere
Morrow C Foller
Tony V Schemmer
Alejandro W Venere
Octavia P Sergi
Leja K Butt
Sinclair M Ruta
Mujtaba U Foller
Aika Q Kolmetz
Arvin N Venere
Ricardo R Iturbide
Chavez M Rim
Faith C Albares
Tony K Nestle
Arvin D Dilliard
Mujtaba R Butt
Juan J Malet
Claire B Flosi
Isabel Z Ostrosky
Arvin O Rim
Aika W Albares
Salvatore J Amigon
Rodrigues J Stockham
Costa U Schemmer
Octavia N Kolmetz
Chavez C Bolognia
Silvio G Rim
Salvatore G Gillian
Octavia Q Paprocki
Darci S Albares
Ashley Y Nestle
Morrow F Paprocki
Jennifer B Stenseth
Isabel V Oldroyd
Leja I Foller
Munro D Bowley
IdCountryDate
1000Russia2025-04-14
1001Japan2025-04-03
1002Italy2025-04-20
1003India2025-04-16
1004France2025-04-05
1005Brazil2025-04-25
1006France2025-04-22
1007France2025-04-11
1008Brazil2025-04-04
1009Germany2025-04-13
1010Italy2025-04-16
1011Germany2025-04-06
1012Australia2025-04-27
1013Japan2025-04-20
1014Australia2025-04-24
1015Spain2025-04-24
1016Italy2025-04-15
1017India2025-04-01
1018Brazil2025-04-18
1019Italy2025-04-08
1020Russia2025-04-18
1021India2025-04-07
1022Russia2025-04-03
1023Spain2025-04-18
1024Japan2025-04-11
1025Australia2025-04-29
1026France2025-04-30
1027Brazil2025-04-15
1028Canada2025-04-07
1029India2025-04-08
1030Japan2025-04-04
1031France2025-04-04
1032Russia2025-04-01
1033France2025-04-15
1034France2025-04-12
1035Argentina2025-04-25
1036Canada2025-04-20
1037Russia2025-04-07
1038Canada2025-04-04
1039Japan2025-04-20
1040Argentina2025-04-16
1041Japan2025-04-16
1042Japan2025-04-04
1043Canada2025-04-24
1044Russia2025-04-03
1045Italy2025-04-04
1046Italy2025-04-24
1047Brazil2025-04-27
1048France2025-04-30
1049Spain2025-04-01

On-Demand Data

NameIdCountryDate
Stacey A Sergi1000India2025-04-19
Morrow E Shinko1001United Kingdom2025-04-11
Ashley D Marrier1002France2025-04-23
James Q Waycott1003Australia2025-04-18
Tony S Campain1004United Kingdom2025-04-17
Aika R Vocelka1005Germany2025-04-16
Silvio B Venere1006Australia2025-04-25
Greenwood T Malet1007Spain2025-04-16
Kaitlin D Tollner1008Germany2025-04-23
Kadeem R Stockham1009Spain2025-04-28
James E Butt1010Russia2025-04-13
Johnson Q Ostrosky1011India2025-04-21
Aruna F Albares1012United Kingdom2025-04-24
Jones M Saylors1013India2025-04-12
Wickens X Waycott1014United Kingdom2025-04-06
Kaitlin L Glick1015Canada2025-04-11
Isabel M Flosi1016Japan2025-04-18
James B Bowley1017Italy2025-04-30
Ricardo Y Kusko1018Argentina2025-04-26
Aika F Ostrosky1019Spain2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams B WhobreyAustraliaIoni Bowcher QUALIFIED
Stacey S FlosiSpainAmy Elsner NEW
Mujtaba C CaudyUnited KingdomIoni Bowcher RENEWAL
Antonio N DilliardArgentinaAsiya Javayant NEW
Johnson Q GarufiRussiaAsiya Javayant QUALIFIED
Aditya D AlbaresRussiaStephen Shaw NEGOTIATION
Jefferson D AmigonJapanOnyama Limba NEW
Julie C VenereSpainXuxue Feng QUALIFIED
Chavez L RimBrazilBernardo Dominic NEGOTIATION
Darci C DilliardBrazilAmy Elsner QUALIFIED
Munro A ChuiFranceIoni Bowcher PROPOSAL
Tony S MacleadCanadaAnna Fali UNQUALIFIED
Jones N GauchoItalyIoni Bowcher NEGOTIATION
Isabel W WieserItalyOnyama Limba QUALIFIED
Mujtaba V NestleFranceBernardo Dominic NEW
Deepesh O VenereFranceIoni Bowcher UNQUALIFIED
Mujtaba F BologniaGermanyAnna Fali NEGOTIATION
Cody C MaletArgentinaAmy Elsner QUALIFIED
Morrow Z CaldareraIndiaAmy Elsner NEW
Alejandro N OldroydItalyAsiya Javayant PROPOSAL
Sinclair E GauchoSpainAsiya Javayant NEW
Ashley I ChuiSpainAnna Fali NEGOTIATION
Clifford Z FollerGermanyStephen Shaw NEW
Antonio A TollnerAustraliaAmy Elsner PROPOSAL
Tony K VocelkaArgentinaAmy Elsner RENEWAL
Deepesh Z RoysterSpainBernardo Dominic PROPOSAL
Morrow A OstroskyRussiaAmy Elsner PROPOSAL
Juan R OstroskySpainOnyama Limba UNQUALIFIED
Francesco E FlosiBrazilOnyama Limba RENEWAL
Julie U StensethCanadaAnna Fali NEW
Leon X PoquetteGermanyAsiya Javayant RENEWAL
Smith D TollnerSpainIvan Magalhaes PROPOSAL
Johnson G BriddickRussiaAmy Elsner RENEWAL
Aika Z GlickBrazilAmy Elsner PROPOSAL
Isabel F KolmetzArgentinaAmy Elsner RENEWAL
Morrow Z MarrierFranceIvan Magalhaes NEW
Leon E FlosiAustraliaAmy Elsner NEGOTIATION
Aditya Z OstroskyBrazilOnyama Limba PROPOSAL
Kaitlin G NickaCanadaAsiya Javayant NEW
Morrow R FollerArgentinaAmy Elsner 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>