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
Tony Q SlusarskiRussiaIvan Magalhaes QUALIFIED
Mayumi S AlbaresFranceElwin Sharvill NEGOTIATION
Rodrigues B MaletFranceAsiya Javayant PROPOSAL
James P PerinIndiaXuxue Feng UNQUALIFIED
Clifford S NestleFranceOnyama Limba NEW
Aruna O PaprockiGermanyAnna Fali QUALIFIED
Francesco H OldroydItalyAnna Fali UNQUALIFIED
Leon I OldroydSpainIoni Bowcher UNQUALIFIED
James V StensethIndiaAnna Fali NEGOTIATION
Costa Y FlosiUnited KingdomStephen Shaw RENEWAL
Silvio Z KuskoIndiaElwin Sharvill PROPOSAL
Kaitlin V ButtIndiaAsiya Javayant NEW
David R ButtIndiaOnyama Limba RENEWAL
Julie M CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues H PoquetteAustraliaStephen Shaw NEGOTIATION
Clifford M DarakjyFranceStephen Shaw NEGOTIATION
Nicolas O PoquetteRussiaIvan Magalhaes NEW
Arvin Z FerenczItalyAnna Fali NEW
Maria P BologniaIndiaIvan Magalhaes UNQUALIFIED
Aruna K KolmetzRussiaIvan Magalhaes QUALIFIED
Morrow B GarufiRussiaIvan Magalhaes UNQUALIFIED
Greenwood T CaudyAustraliaAmy Elsner NEW
Jones R SaylorsIndiaStephen Shaw UNQUALIFIED
Leon Q TollnerRussiaBernardo Dominic NEW
Octavia Y BriddickUnited KingdomAmy Elsner NEGOTIATION
David M OstroskyItalyXuxue Feng NEGOTIATION
Johnson U PerinItalyBernardo Dominic PROPOSAL
Leon B ButtSpainBernardo Dominic NEW
Isabel H CaldareraFranceOnyama Limba PROPOSAL
Faith W DilliardCanadaOnyama Limba RENEWAL
Johnson W BologniaRussiaAnna Fali QUALIFIED
Johnson I CaudyUnited KingdomIoni Bowcher QUALIFIED
Munro S NickaUnited KingdomAnna Fali NEW
Juan M SchemmerFranceOnyama Limba QUALIFIED
Wickens H FigeroaUnited KingdomAnna Fali NEW
Jefferson M SaylorsGermanyElwin Sharvill NEGOTIATION
Francesco G PaprockiRussiaXuxue Feng UNQUALIFIED
Misaki L WaycottAustraliaStephen Shaw QUALIFIED
Maria K ChuiCanadaStephen Shaw NEW
Juan L SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Ricardo R PoquetteIndiaAmy Elsner NEW
Faith F PaprockiFranceElwin Sharvill NEW
Francesco C FollerRussiaElwin Sharvill PROPOSAL
Jefferson H MaletFranceOnyama Limba NEW
Chavez Q IturbideGermanyOnyama Limba NEW
Deepesh D PoquetteGermanyAnna Fali NEGOTIATION
Isabel K DilliardFranceOnyama Limba NEW
Salvatore I TollnerBrazilAmy Elsner PROPOSAL
Salvatore J WhobreyBrazilAsiya Javayant UNQUALIFIED
Mayumi R BowleyGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens C KuskoGermanyStephen Shaw UNQUALIFIED
Smith P BriddickRussiaXuxue Feng RENEWAL
Greenwood Q AmigonGermanyOnyama Limba NEW
Misaki W MarrierAustraliaAsiya Javayant UNQUALIFIED
Faith N AmigonGermanyXuxue Feng RENEWAL
Isabel H StensethArgentinaOnyama Limba QUALIFIED
Cody U MaletArgentinaOnyama Limba NEGOTIATION
Emily L BologniaJapanStephen Shaw PROPOSAL
Smith Y FerenczItalyElwin Sharvill UNQUALIFIED
Ricardo N CaudyFranceElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro P SergiArgentina2024-05-02Feiner Bros PROPOSAL62Ioni Bowcher
1001Aditya Q KolmetzGermany2024-05-13Printing Dimensions PROPOSAL26Stephen Shaw
1002Munro L WaycottGermany2024-05-24Chapman, Ross E Esq NEW62Anna Fali
1003Jeanfrancois H ButtItaly2024-05-15Dorl, James J Esq PROPOSAL51Stephen Shaw
1004Deepesh G PaprockiSpain2024-05-03Morlong Associates NEGOTIATION68Asiya Javayant
1005Aditya A WaycottUnited Kingdom2024-05-11Rangoni Of Florence RENEWAL77Onyama Limba
1006Johnson F RutaFrance2024-05-13Rangoni Of Florence QUALIFIED22Xuxue Feng
1007Juan N MaletGermany2024-05-11Rangoni Of Florence NEW63Stephen Shaw
1008Kaitlin J NickaUnited Kingdom2024-05-18Benton, John B Jr NEGOTIATION86Elwin Sharvill
1009Stacey X MaletAustralia2024-05-11Chemel, James L Cpa PROPOSAL87Elwin Sharvill
1010Ivar K RoysterCanada2024-05-10Feltz Printing Service PROPOSAL0Amy Elsner
1011Francesco G OstroskyGermany2024-04-30Chemel, James L Cpa NEGOTIATION61Xuxue Feng
1012Jefferson C NickaFrance2024-05-12Truhlar And Truhlar Attys NEGOTIATION73Ioni Bowcher
1013Ricardo C CaldareraFrance2024-05-12Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1014Clifford C PoquetteArgentina2024-05-05Rangoni Of Florence PROPOSAL90Asiya Javayant
1015James O PaprockiArgentina2024-05-09Benton, John B Jr NEW82Onyama Limba
1016Murillo V ButtIndia2024-05-12Benton, John B Jr NEW61Xuxue Feng
1017Aruna N CaudySpain2024-05-14King, Christopher A Esq NEGOTIATION96Anna Fali
1018Jefferson D RulapaughItaly2024-05-18Dorl, James J Esq RENEWAL72Ivan Magalhaes
1019James N FerenczRussia2024-04-29Feiner Bros NEGOTIATION49Amy Elsner
1020Emily A MaletCanada2024-05-10Truhlar And Truhlar Attys NEW71Asiya Javayant
1021Munro Y MacleadSpain2024-04-27Rangoni Of Florence NEW99Ioni Bowcher
1022Mujtaba G PerinUnited Kingdom2024-05-18Buckley Miller Wright UNQUALIFIED64Elwin Sharvill
1023Faith A CampainSpain2024-05-16Commercial Press PROPOSAL84Ivan Magalhaes
1024Aika X BowleyJapan2024-05-15Rangoni Of Florence PROPOSAL3Amy Elsner
1025Leja N MaletIndia2024-04-25Rangoni Of Florence UNQUALIFIED18Stephen Shaw
1026Misaki I DoeSpain2024-05-04Chemel, James L Cpa QUALIFIED74Stephen Shaw
1027Wickens T FigeroaIndia2024-05-10Printing Dimensions RENEWAL6Ioni Bowcher
1028Jones Y GauchoJapan2024-05-23King, Christopher A Esq PROPOSAL68Ioni Bowcher
1029James E MacleadAustralia2024-05-16Benton, John B Jr QUALIFIED37Xuxue Feng
1030Maisha L ShinkoIndia2024-05-16Rangoni Of Florence NEGOTIATION24Elwin Sharvill
1031David N FlosiGermany2024-04-26Rangoni Of Florence NEGOTIATION97Onyama Limba
1032Rodrigues P AlbaresFrance2024-05-11King, Christopher A Esq RENEWAL23Stephen Shaw
1033Smith K WhobreyArgentina2024-04-27Truhlar And Truhlar Attys RENEWAL47Ivan Magalhaes
1034Aruna G FigeroaGermany2024-05-21Morlong Associates PROPOSAL55Asiya Javayant
1035Aruna K CaldareraBrazil2024-04-30Benton, John B Jr NEGOTIATION80Bernardo Dominic
1036Emily T BriddickSpain2024-05-07Dorl, James J Esq NEW93Elwin Sharvill
1037Darci N FerenczSpain2024-05-10Rousseaux, Michael Esq PROPOSAL92Asiya Javayant
1038Adams G VocelkaArgentina2024-05-01Chemel, James L Cpa NEW77Xuxue Feng
1039Arvin F PerinJapan2024-05-24Rangoni Of Florence NEW92Asiya Javayant
1040Munro Y GillianIndia2024-05-11Buckley Miller Wright UNQUALIFIED4Stephen Shaw
1041Aika D MaletUnited Kingdom2024-04-29Printing Dimensions NEW92Stephen Shaw
1042Ricardo Z IturbideAustralia2024-05-07Feltz Printing Service QUALIFIED30Bernardo Dominic
1043Octavia U TollnerItaly2024-05-09Feltz Printing Service RENEWAL94Onyama Limba
1044Octavia H TollnerRussia2024-05-22Feltz Printing Service QUALIFIED31Onyama Limba
1045Isabel W GillianBrazil2024-05-18Chemel, James L Cpa NEW40Ivan Magalhaes
1046Smith F ButtJapan2024-04-28Feltz Printing Service NEW55Asiya Javayant
1047Aditya D SergiRussia2024-05-14Chapman, Ross E Esq UNQUALIFIED46Xuxue Feng
1048Leon U FigeroaFrance2024-04-27Dorl, James J Esq PROPOSAL83Onyama Limba
1049Isabel U KolmetzRussia2024-05-06Commercial Press NEGOTIATION59Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba I BriddickSpainAnna Fali PROPOSAL
Julie H AlbaresFranceStephen Shaw RENEWAL
Silvio X MaletBrazilIvan Magalhaes UNQUALIFIED
Clifford H NickaBrazilStephen Shaw NEGOTIATION
Aruna O WaycottCanadaStephen Shaw UNQUALIFIED
Leja W DilliardAustraliaBernardo Dominic NEGOTIATION
Greenwood M BowleyFranceAmy Elsner PROPOSAL
Smith S NickaSpainOnyama Limba NEGOTIATION
James T KolmetzAustraliaXuxue Feng RENEWAL
James N OldroydCanadaAsiya Javayant PROPOSAL
Ivar V MorascaUnited KingdomIoni Bowcher QUALIFIED
Munro P VenereSpainAmy Elsner PROPOSAL
Murillo N CaldareraSpainElwin Sharvill PROPOSAL
Darci W VenereItalyBernardo Dominic NEW
Alejandro X SergiAustraliaStephen Shaw RENEWAL
Julie D SchemmerGermanyIvan Magalhaes NEGOTIATION
Jones I SlusarskiSpainStephen Shaw NEGOTIATION
Arvin V OstroskyJapanBernardo Dominic PROPOSAL
Jones T OldroydArgentinaIoni Bowcher UNQUALIFIED
Johnson G BriddickAustraliaIoni Bowcher QUALIFIED
Rodrigues K InouyeAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois X CaldareraBrazilStephen Shaw QUALIFIED
Ivar Y KuskoCanadaIvan Magalhaes QUALIFIED
Faith G IturbideBrazilStephen Shaw NEGOTIATION
Stacey T IturbideGermanyIoni Bowcher RENEWAL
Maisha B BologniaIndiaIoni Bowcher NEW
Jefferson M DoeArgentinaIoni Bowcher RENEWAL
Adams X NickaBrazilStephen Shaw RENEWAL
Jefferson K PoquetteArgentinaStephen Shaw QUALIFIED
Leja D ShinkoArgentinaXuxue Feng QUALIFIED
Aruna U WhobreyGermanyIvan Magalhaes NEGOTIATION
Kaitlin T StensethGermanyStephen Shaw QUALIFIED
Costa I KuskoBrazilIvan Magalhaes NEW
Arvin Q RutaUnited KingdomXuxue Feng NEW
Maria N MaletBrazilStephen Shaw PROPOSAL
Kaitlin O RoysterJapanAmy Elsner UNQUALIFIED
Leon J InouyeIndiaOnyama Limba UNQUALIFIED
Deepesh Q KolmetzItalyStephen Shaw UNQUALIFIED
Deepesh P IturbideUnited KingdomIoni Bowcher RENEWAL
Misaki O BologniaCanadaOnyama Limba NEGOTIATION
Jeanfrancois S StockhamGermanyElwin Sharvill NEW
Jones V AlbaresUnited KingdomStephen Shaw NEW
Mujtaba T NickaAustraliaIvan Magalhaes QUALIFIED
Adams Z IturbideJapanAsiya Javayant RENEWAL
Jeanfrancois G PoquetteFranceXuxue Feng PROPOSAL
Deepesh V VocelkaIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois L KolmetzFranceAnna Fali NEGOTIATION
Aditya Q NickaAustraliaAmy Elsner NEGOTIATION
Ricardo F NestleArgentinaIvan Magalhaes RENEWAL
Claire X CaudySpainAnna Fali UNQUALIFIED
Frozen Columns
Name
Juan G Whobrey
Jeanfrancois S Slusarski
Murillo S Bolognia
Cody P Waycott
Chavez C Vocelka
Jones C Ruta
Mayumi L Nestle
Wickens O Oldroyd
Emily J Malet
James U Paprocki
Emily C Glick
Salvatore P Gillian
Jefferson S Saylors
Chavez D Rim
Ashley K Malet
Leon P Stockham
Antonio X Oldroyd
Antonio V Perin
Stacey C Darakjy
Leon J Marrier
Izzy Y Vocelka
James C Garufi
Aditya K Gaucho
Mayumi Q Campain
Munro M Doe
Jeanfrancois X Kusko
Arvin X Campain
Aruna T Ferencz
Jefferson R Waycott
Mujtaba M Figeroa
Rodrigues Y Nicka
Adams B Wieser
David Z Perin
Rodrigues W Ruta
Tony K Royster
Aruna F Royster
Sinclair I Schemmer
Mujtaba Z Waycott
Ashley Q Schemmer
Claire N Caudy
James K Garufi
Cody O Bolognia
Francesco N Poquette
Morrow R Gillian
Jeanfrancois S Bowley
Maria G Stockham
Mayumi D Stockham
Leon S Paprocki
Antonio Z Albares
Emily H Rulapaugh
IdCountryDate
1000Spain2024-05-07
1001Brazil2024-05-09
1002Australia2024-04-29
1003Russia2024-05-06
1004Canada2024-05-07
1005Japan2024-05-09
1006Brazil2024-05-21
1007Spain2024-05-02
1008Brazil2024-05-23
1009Italy2024-05-07
1010Spain2024-05-22
1011India2024-04-30
1012Brazil2024-05-12
1013India2024-05-15
1014Australia2024-05-15
1015France2024-05-02
1016Italy2024-05-04
1017Australia2024-05-18
1018Argentina2024-05-04
1019Australia2024-04-27
1020Brazil2024-05-01
1021France2024-05-12
1022France2024-04-30
1023Canada2024-05-18
1024Germany2024-05-18
1025Australia2024-05-05
1026Italy2024-05-23
1027Italy2024-05-19
1028Germany2024-05-10
1029France2024-05-16
1030United Kingdom2024-05-23
1031Brazil2024-05-11
1032Spain2024-05-07
1033United Kingdom2024-05-12
1034Germany2024-04-25
1035Germany2024-05-17
1036Argentina2024-05-07
1037Canada2024-05-07
1038Canada2024-05-03
1039Brazil2024-05-15
1040Canada2024-05-12
1041Russia2024-05-18
1042Canada2024-04-27
1043India2024-05-12
1044India2024-05-15
1045Canada2024-04-28
1046Brazil2024-05-18
1047Japan2024-05-11
1048Brazil2024-04-27
1049France2024-05-16

On-Demand Data

NameIdCountryDate
Silvio W Saylors1000Russia2024-05-17
Juan K Garufi1001Japan2024-04-28
James D Vocelka1002Japan2024-05-13
Salvatore Z Gillian1003France2024-05-19
James X Campain1004Germany2024-05-12
Clifford P Inouye1005Japan2024-05-20
Costa S Royster1006Russia2024-04-29
Francesco Z Waycott1007United Kingdom2024-04-30
Francesco A Slusarski1008Spain2024-04-30
Jeanfrancois Q Flosi1009Germany2024-05-11
Antonio B Amigon1010Argentina2024-05-05
Munro I Caldarera1011Spain2024-05-17
Johnson Q Venere1012India2024-05-02
Salvatore M Sergi1013United Kingdom2024-04-25
Johnson O Figeroa1014Japan2024-05-22
Silvio S Whobrey1015Spain2024-05-22
Salvatore H Ostrosky1016Japan2024-05-07
Adams J Slusarski1017Russia2024-05-08
Stacey N Rim1018United Kingdom2024-05-23
Jennifer T Bolognia1019Argentina2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens K OstroskyIndiaXuxue Feng PROPOSAL
Mayumi Y AmigonSpainBernardo Dominic QUALIFIED
Munro K InouyeFranceElwin Sharvill NEGOTIATION
Silvio E SchemmerJapanAmy Elsner UNQUALIFIED
Aruna A RulapaughJapanAnna Fali RENEWAL
Silvio F FigeroaJapanStephen Shaw RENEWAL
Francesco Y TollnerFranceStephen Shaw RENEWAL
Juan L PoquetteUnited KingdomStephen Shaw NEW
Jones A GillianUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas W KolmetzJapanElwin Sharvill QUALIFIED
Kaitlin X RulapaughArgentinaAmy Elsner UNQUALIFIED
Juan D SergiCanadaOnyama Limba QUALIFIED
Deepesh S WieserAustraliaXuxue Feng NEW
Tony U CaudySpainOnyama Limba NEGOTIATION
Francesco P BowleyAustraliaAsiya Javayant QUALIFIED
Leon Y WieserGermanyStephen Shaw RENEWAL
Wickens Y IturbideAustraliaElwin Sharvill NEGOTIATION
Jennifer A VenereSpainAmy Elsner UNQUALIFIED
Jennifer B SergiRussiaAnna Fali PROPOSAL
Leon Z RimCanadaAnna Fali PROPOSAL
Jennifer N RoysterFranceStephen Shaw UNQUALIFIED
Mayumi N GillianJapanBernardo Dominic PROPOSAL
Claire O WieserUnited KingdomIoni Bowcher UNQUALIFIED
Munro A OstroskyArgentinaStephen Shaw QUALIFIED
Kadeem A FigeroaIndiaAnna Fali PROPOSAL
Rodrigues I TollnerUnited KingdomIvan Magalhaes RENEWAL
Arvin Z StockhamItalyAmy Elsner NEGOTIATION
Juan A SergiBrazilAmy Elsner QUALIFIED
Adams E RulapaughAustraliaIoni Bowcher NEW
Kaitlin Y MacleadGermanyAmy Elsner NEW
Chavez L RoysterBrazilAsiya Javayant NEW
Greenwood Z AmigonArgentinaElwin Sharvill NEW
Stacey I RulapaughArgentinaXuxue Feng QUALIFIED
James W WaycottJapanStephen Shaw UNQUALIFIED
Jeanfrancois V DarakjyIndiaStephen Shaw PROPOSAL
Jennifer I WieserSpainAnna Fali PROPOSAL
Deepesh K PoquetteItalyOnyama Limba NEGOTIATION
Maisha G CampainRussiaIoni Bowcher NEGOTIATION
Cody A PoquetteRussiaAmy Elsner RENEWAL
Chavez U DilliardFranceAnna Fali 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>