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
Silvio T DilliardCanadaAmy Elsner NEW
Izzy B BowleyCanadaAnna Fali UNQUALIFIED
Julie T MorascaArgentinaStephen Shaw UNQUALIFIED
Juan O GlickUnited KingdomStephen Shaw NEW
Alejandro A KuskoAustraliaXuxue Feng NEGOTIATION
David N InouyeAustraliaOnyama Limba NEW
Antonio A KolmetzItalyOnyama Limba PROPOSAL
Aruna M CampainCanadaAsiya Javayant UNQUALIFIED
Tony J PerinSpainIvan Magalhaes NEW
Aditya I MarrierJapanOnyama Limba NEW
Murillo N MaletBrazilOnyama Limba PROPOSAL
Costa O MaletIndiaElwin Sharvill QUALIFIED
Munro F WhobreyIndiaElwin Sharvill QUALIFIED
James W FerenczUnited KingdomAsiya Javayant NEGOTIATION
Clifford G OldroydItalyElwin Sharvill UNQUALIFIED
Maisha P StockhamItalyXuxue Feng QUALIFIED
Aditya Q BologniaSpainAmy Elsner UNQUALIFIED
Murillo N VocelkaIndiaOnyama Limba QUALIFIED
Izzy Q GillianGermanyIoni Bowcher QUALIFIED
Francesco Z PerinJapanBernardo Dominic PROPOSAL
Maisha N OstroskyAustraliaElwin Sharvill NEGOTIATION
Faith Y ButtItalyXuxue Feng NEW
Smith I KuskoItalyElwin Sharvill NEGOTIATION
Jones W OldroydIndiaIoni Bowcher RENEWAL
Stacey K BologniaBrazilIvan Magalhaes UNQUALIFIED
Isabel B GarufiCanadaIvan Magalhaes NEW
Arvin Y NickaCanadaElwin Sharvill NEGOTIATION
Smith A ChuiGermanyOnyama Limba UNQUALIFIED
Jeanfrancois G KolmetzRussiaAsiya Javayant RENEWAL
Kaitlin E PaprockiGermanyBernardo Dominic QUALIFIED
Rodrigues G NestleCanadaIvan Magalhaes PROPOSAL
Kadeem D NestleJapanAsiya Javayant QUALIFIED
Jeanfrancois L MacleadJapanIvan Magalhaes QUALIFIED
Clifford S TollnerRussiaIoni Bowcher PROPOSAL
Alejandro O GarufiFranceAsiya Javayant PROPOSAL
Kadeem C WieserIndiaElwin Sharvill UNQUALIFIED
Costa Q GlickItalyXuxue Feng NEW
Faith R InouyeCanadaOnyama Limba PROPOSAL
Leja S WhobreyUnited KingdomOnyama Limba PROPOSAL
Maria Z StensethJapanAnna Fali RENEWAL
Nicolas M PoquetteBrazilElwin Sharvill UNQUALIFIED
Darci K MaletGermanyBernardo Dominic NEW
Octavia M NickaBrazilAsiya Javayant RENEWAL
Kadeem J GarufiIndiaXuxue Feng UNQUALIFIED
Greenwood A CaudyFranceStephen Shaw PROPOSAL
Murillo F ButtIndiaAmy Elsner RENEWAL
Chavez E IturbideJapanStephen Shaw RENEWAL
Leon U ChuiCanadaIoni Bowcher PROPOSAL
Adams L PoquetteIndiaAsiya Javayant NEGOTIATION
Deepesh X BowleyIndiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika A PerinJapanAsiya Javayant RENEWAL
Julie D CaldareraUnited KingdomAmy Elsner RENEWAL
Mujtaba R AlbaresUnited KingdomAnna Fali NEW
Johnson M MarrierJapanXuxue Feng NEGOTIATION
David C DoeSpainIvan Magalhaes UNQUALIFIED
Greenwood O AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Stacey P MaletIndiaXuxue Feng NEW
Smith W AlbaresSpainOnyama Limba NEW
Jennifer H RutaAustraliaAnna Fali QUALIFIED
Isabel A MarrierJapanAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Z StensethUnited Kingdom2024-05-30Benton, John B Jr NEGOTIATION21Elwin Sharvill
1001Clifford L SchemmerGermany2024-05-22Truhlar And Truhlar Attys NEW82Amy Elsner
1002Ashley L TollnerIndia2024-06-11Chanay, Jeffrey A Esq RENEWAL19Elwin Sharvill
1003Morrow N PerinItaly2024-06-14Dorl, James J Esq PROPOSAL82Ioni Bowcher
1004Jeanfrancois N SaylorsAustralia2024-05-30King, Christopher A Esq QUALIFIED35Bernardo Dominic
1005Darci O MarrierCanada2024-05-26Rousseaux, Michael Esq NEGOTIATION5Stephen Shaw
1006Morrow P DoeFrance2024-05-24Commercial Press NEW9Elwin Sharvill
1007Aika C MaletAustralia2024-06-07Chapman, Ross E Esq UNQUALIFIED23Anna Fali
1008Morrow K SaylorsUnited Kingdom2024-06-06Printing Dimensions QUALIFIED41Ivan Magalhaes
1009Sinclair O StensethIndia2024-06-15King, Christopher A Esq RENEWAL41Ioni Bowcher
1010Nicolas R PoquetteFrance2024-06-06Chanay, Jeffrey A Esq PROPOSAL13Anna Fali
1011Deepesh Q KuskoIndia2024-06-06Commercial Press QUALIFIED74Bernardo Dominic
1012Mujtaba G FigeroaGermany2024-06-14Morlong Associates QUALIFIED43Xuxue Feng
1013Cody S MacleadSpain2024-06-17Feltz Printing Service UNQUALIFIED44Amy Elsner
1014Octavia X StockhamJapan2024-06-15Benton, John B Jr PROPOSAL25Onyama Limba
1015Mujtaba K MaletGermany2024-06-09Rangoni Of Florence NEGOTIATION82Amy Elsner
1016Wickens G BriddickJapan2024-06-16Morlong Associates RENEWAL77Asiya Javayant
1017Cody S CaldareraGermany2024-05-24Truhlar And Truhlar Attys RENEWAL48Xuxue Feng
1018Ricardo Q VenereArgentina2024-05-23Chemel, James L Cpa RENEWAL74Bernardo Dominic
1019Claire T PerinCanada2024-06-13Feltz Printing Service UNQUALIFIED97Elwin Sharvill
1020Mujtaba Q KuskoCanada2024-05-26Feiner Bros NEGOTIATION7Anna Fali
1021Arvin V GlickJapan2024-06-07Printing Dimensions NEW23Anna Fali
1022James C GillianJapan2024-06-12Truhlar And Truhlar Attys PROPOSAL45Bernardo Dominic
1023Leon J WieserBrazil2024-06-09Printing Dimensions UNQUALIFIED64Asiya Javayant
1024Leon F FollerItaly2024-06-09Feiner Bros PROPOSAL32Ivan Magalhaes
1025Kadeem S PerinJapan2024-05-22Feiner Bros NEW27Ivan Magalhaes
1026Faith J StockhamFrance2024-06-10Morlong Associates NEW19Bernardo Dominic
1027Costa X FollerCanada2024-05-21Buckley Miller Wright NEW3Anna Fali
1028Adams B MaletRussia2024-06-13Benton, John B Jr RENEWAL92Asiya Javayant
1029Maria B InouyeJapan2024-05-22Dorl, James J Esq NEGOTIATION51Bernardo Dominic
1030Isabel O FigeroaJapan2024-06-08Chapman, Ross E Esq NEW86Onyama Limba
1031Johnson W WaycottAustralia2024-06-05Feltz Printing Service PROPOSAL56Stephen Shaw
1032Cody W InouyeUnited Kingdom2024-06-01Chemel, James L Cpa RENEWAL81Bernardo Dominic
1033Jennifer A MacleadJapan2024-05-31Benton, John B Jr NEGOTIATION54Bernardo Dominic
1034Aruna K RoysterJapan2024-05-23Feltz Printing Service RENEWAL49Asiya Javayant
1035David F GauchoArgentina2024-05-19Printing Dimensions NEW2Stephen Shaw
1036Morrow K PerinCanada2024-06-05Printing Dimensions NEGOTIATION2Amy Elsner
1037Salvatore Q FlosiJapan2024-05-22Chanay, Jeffrey A Esq NEGOTIATION64Anna Fali
1038Claire Z GarufiArgentina2024-05-31Benton, John B Jr RENEWAL41Ioni Bowcher
1039Stacey P VenereJapan2024-06-09Morlong Associates PROPOSAL58Amy Elsner
1040Aruna J SchemmerArgentina2024-06-07Rangoni Of Florence RENEWAL85Xuxue Feng
1041Faith Q AmigonBrazil2024-05-29Chemel, James L Cpa NEW71Elwin Sharvill
1042Emily D ButtItaly2024-06-05Dorl, James J Esq NEGOTIATION0Amy Elsner
1043Stacey F PerinRussia2024-05-19Rousseaux, Michael Esq PROPOSAL92Anna Fali
1044Izzy V TollnerRussia2024-05-29Dorl, James J Esq RENEWAL82Xuxue Feng
1045Arvin A BriddickJapan2024-06-11Rangoni Of Florence RENEWAL47Elwin Sharvill
1046Leon V PaprockiIndia2024-05-28Feltz Printing Service PROPOSAL67Bernardo Dominic
1047Munro S WhobreyArgentina2024-05-27Buckley Miller Wright NEW59Amy Elsner
1048Jefferson D SergiCanada2024-06-14Morlong Associates NEW11Elwin Sharvill
1049Mujtaba Q StockhamGermany2024-06-15Commercial Press RENEWAL66Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Nicolas B SlusarskiArgentinaAmy Elsner QUALIFIED
Deepesh E MorascaBrazilIoni Bowcher UNQUALIFIED
Arvin G MaletCanadaIoni Bowcher NEW
Tony B RutaFranceElwin Sharvill QUALIFIED
Izzy V ShinkoArgentinaAsiya Javayant QUALIFIED
Maria J BologniaGermanyAmy Elsner UNQUALIFIED
Silvio N WhobreyArgentinaElwin Sharvill PROPOSAL
Nicolas C PerinBrazilXuxue Feng PROPOSAL
Chavez E MarrierRussiaBernardo Dominic NEW
Tony Z GillianCanadaXuxue Feng NEW
Kaitlin A DoeBrazilIvan Magalhaes RENEWAL
Darci C MaletBrazilElwin Sharvill RENEWAL
Ricardo C RoysterAustraliaAnna Fali NEGOTIATION
Claire V BologniaItalyIvan Magalhaes PROPOSAL
Jones Y CaldareraAustraliaBernardo Dominic QUALIFIED
Octavia N PaprockiAustraliaIoni Bowcher NEGOTIATION
Izzy J TollnerArgentinaAsiya Javayant RENEWAL
Stacey O PoquetteItalyIvan Magalhaes RENEWAL
Jeanfrancois V SlusarskiSpainXuxue Feng RENEWAL
Aika J ShinkoItalyIvan Magalhaes QUALIFIED
Jeanfrancois E TollnerAustraliaAmy Elsner UNQUALIFIED
Murillo N MarrierBrazilElwin Sharvill RENEWAL
Kaitlin V ChuiSpainXuxue Feng UNQUALIFIED
Rodrigues O NestleItalyAsiya Javayant NEW
Greenwood G SchemmerFranceAsiya Javayant QUALIFIED
Mayumi V DilliardAustraliaStephen Shaw PROPOSAL
Faith X MaletItalyAmy Elsner UNQUALIFIED
Octavia D DilliardRussiaStephen Shaw NEGOTIATION
Adams E AmigonAustraliaAmy Elsner QUALIFIED
Juan D VenereRussiaXuxue Feng RENEWAL
Claire H NickaArgentinaOnyama Limba QUALIFIED
Adams Y IturbideSpainStephen Shaw PROPOSAL
Alejandro I OstroskyCanadaStephen Shaw UNQUALIFIED
Antonio T KolmetzFranceIvan Magalhaes QUALIFIED
Deepesh U MaletAustraliaAnna Fali UNQUALIFIED
Jones I StockhamAustraliaIoni Bowcher UNQUALIFIED
Faith H KuskoCanadaStephen Shaw NEW
Jones M MaletUnited KingdomOnyama Limba NEGOTIATION
Francesco M CampainGermanyIvan Magalhaes NEGOTIATION
Emily M WhobreyRussiaIvan Magalhaes NEW
Munro A BriddickJapanOnyama Limba UNQUALIFIED
Jefferson E CampainFranceStephen Shaw NEGOTIATION
Costa M KuskoArgentinaAmy Elsner PROPOSAL
Claire D RoysterRussiaIvan Magalhaes PROPOSAL
Johnson M VenereArgentinaBernardo Dominic UNQUALIFIED
Deepesh E ChuiArgentinaIoni Bowcher RENEWAL
Adams M GauchoAustraliaOnyama Limba NEW
Costa L SergiFranceAsiya Javayant QUALIFIED
Juan A StensethBrazilIoni Bowcher RENEWAL
Greenwood I ChuiGermanyAmy Elsner NEW
Frozen Columns
Name
Alejandro L Venere
Leon C Albares
Tony C Maclead
Faith A Ferencz
Isabel G Kusko
Jeanfrancois Z Briddick
Cody I Chui
Deepesh O Whobrey
Maisha P Saylors
Francesco S Butt
Murillo E Figeroa
Kadeem Q Slusarski
Tony X Wieser
Emily Z Maclead
Maisha A Saylors
Izzy U Schemmer
Johnson K Maclead
James O Iturbide
Murillo K Nestle
Julie I Butt
Rodrigues G Wieser
Morrow E Waycott
Sinclair G Oldroyd
Aruna V Schemmer
Clifford J Malet
Octavia H Maclead
Ashley E Gillian
Emily W Gaucho
Mujtaba G Slusarski
Tony Q Wieser
Deepesh D Glick
Misaki B Morasca
Wickens B Poquette
Alejandro K Doe
Aruna Y Sergi
Alejandro Z Rim
Adams D Flosi
Sinclair V Stockham
Rodrigues R Doe
Maria Z Glick
Aditya H Stenseth
Deepesh Z Sergi
Izzy Y Marrier
Clifford B Darakjy
Johnson L Waycott
Ashley N Campain
Antonio I Figeroa
Jeanfrancois E Nicka
Stacey U Vocelka
Murillo Y Bolognia
IdCountryDate
1000Canada2024-06-15
1001Canada2024-06-15
1002India2024-06-03
1003Spain2024-05-25
1004Russia2024-06-05
1005Brazil2024-05-30
1006Brazil2024-06-13
1007United Kingdom2024-06-13
1008Canada2024-05-26
1009Germany2024-05-27
1010Brazil2024-05-24
1011Spain2024-05-26
1012Argentina2024-06-13
1013Brazil2024-06-02
1014France2024-06-03
1015Argentina2024-05-30
1016Japan2024-05-19
1017India2024-05-25
1018France2024-06-09
1019Italy2024-05-29
1020France2024-06-02
1021Germany2024-05-24
1022United Kingdom2024-05-27
1023United Kingdom2024-05-23
1024United Kingdom2024-06-06
1025Japan2024-06-10
1026Argentina2024-06-03
1027France2024-06-15
1028Argentina2024-06-03
1029Brazil2024-06-11
1030United Kingdom2024-05-30
1031Japan2024-06-03
1032Japan2024-06-03
1033France2024-05-28
1034Argentina2024-05-22
1035Brazil2024-05-24
1036United Kingdom2024-06-07
1037Australia2024-05-25
1038Brazil2024-06-12
1039Argentina2024-05-30
1040United Kingdom2024-06-16
1041Russia2024-06-09
1042Australia2024-05-30
1043Canada2024-06-15
1044Australia2024-06-03
1045Germany2024-06-04
1046Russia2024-06-08
1047United Kingdom2024-05-20
1048Russia2024-06-05
1049Italy2024-06-05

On-Demand Data

NameIdCountryDate
Claire V Waycott1000Canada2024-05-25
Juan J Whobrey1001Brazil2024-06-05
Wickens A Nestle1002Australia2024-06-03
Chavez R Darakjy1003United Kingdom2024-06-09
Mayumi Z Venere1004Germany2024-06-16
Cody Q Doe1005United Kingdom2024-05-22
Emily L Rulapaugh1006Russia2024-05-24
Aditya X Nestle1007Spain2024-06-09
Stacey A Kusko1008Brazil2024-06-17
Faith D Wieser1009Spain2024-06-02
Silvio F Garufi1010Argentina2024-06-17
Greenwood R Royster1011Japan2024-06-08
Izzy W Ostrosky1012Germany2024-06-14
Munro C Briddick1013Argentina2024-06-10
Maisha L Bolognia1014Argentina2024-06-02
Sinclair C Vocelka1015France2024-06-05
Juan N Garufi1016Australia2024-05-22
Antonio B Caldarera1017India2024-05-31
Darci C Inouye1018Russia2024-06-04
Maria M Nestle1019Australia2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas R KolmetzBrazilOnyama Limba PROPOSAL
Wickens Q DarakjyAustraliaAmy Elsner NEGOTIATION
Izzy Y GlickRussiaElwin Sharvill NEW
Aruna W MarrierItalyBernardo Dominic UNQUALIFIED
Maisha V OstroskySpainAnna Fali RENEWAL
Faith S GarufiFranceXuxue Feng NEGOTIATION
Jennifer R WhobreyRussiaAmy Elsner RENEWAL
Kaitlin D CaldareraJapanAsiya Javayant RENEWAL
Francesco M WhobreyArgentinaAmy Elsner QUALIFIED
Juan A FerenczCanadaAnna Fali QUALIFIED
Wickens Q PoquetteFranceAmy Elsner NEW
Aika H GlickUnited KingdomOnyama Limba PROPOSAL
Emily V SaylorsArgentinaIoni Bowcher NEGOTIATION
Aruna V TollnerBrazilAnna Fali QUALIFIED
Munro M FerenczRussiaElwin Sharvill PROPOSAL
Antonio W OldroydUnited KingdomAmy Elsner UNQUALIFIED
Silvio C StensethJapanAmy Elsner NEW
Jones X GillianRussiaOnyama Limba NEW
Emily B RutaAustraliaAmy Elsner UNQUALIFIED
Arvin H RutaGermanyStephen Shaw NEGOTIATION
Julie W NestleFranceIvan Magalhaes NEGOTIATION
Octavia E AlbaresBrazilElwin Sharvill NEW
Salvatore T MorascaFranceXuxue Feng RENEWAL
Kadeem D BriddickUnited KingdomOnyama Limba RENEWAL
Leja A KuskoSpainAsiya Javayant NEW
Wickens H PerinGermanyIvan Magalhaes PROPOSAL
Antonio T RimArgentinaBernardo Dominic PROPOSAL
Greenwood Q VenereRussiaAsiya Javayant UNQUALIFIED
Julie Z FollerJapanAsiya Javayant PROPOSAL
Johnson B AmigonIndiaIvan Magalhaes NEGOTIATION
Leon L NickaFranceElwin Sharvill RENEWAL
James F BowleyCanadaOnyama Limba UNQUALIFIED
Ashley O ChuiAustraliaStephen Shaw NEW
Silvio P GarufiFranceXuxue Feng RENEWAL
Mujtaba E FigeroaFranceIvan Magalhaes PROPOSAL
Tony U ButtArgentinaElwin Sharvill QUALIFIED
Arvin Q ChuiArgentinaIvan Magalhaes QUALIFIED
Aika F TollnerSpainXuxue Feng QUALIFIED
Kaitlin N DarakjySpainBernardo Dominic RENEWAL
David V DoeRussiaIvan Magalhaes UNQUALIFIED

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