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
Mayumi C RulapaughAustraliaIoni Bowcher PROPOSAL
Darci F RoysterIndiaElwin Sharvill NEGOTIATION
James E BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo S GauchoJapanOnyama Limba QUALIFIED
Rodrigues Y PaprockiBrazilElwin Sharvill RENEWAL
Stacey E BriddickUnited KingdomElwin Sharvill NEGOTIATION
Murillo K WieserRussiaIoni Bowcher PROPOSAL
Clifford Q MarrierJapanStephen Shaw RENEWAL
Silvio M SergiJapanOnyama Limba NEW
Murillo S ShinkoRussiaIvan Magalhaes PROPOSAL
Francesco M CaudyFranceAmy Elsner RENEWAL
Aruna P VenereFranceAmy Elsner QUALIFIED
Tony T PoquetteSpainElwin Sharvill RENEWAL
Francesco Y CampainArgentinaXuxue Feng NEGOTIATION
Jones V RutaSpainAsiya Javayant RENEWAL
Jennifer Q RutaUnited KingdomIoni Bowcher RENEWAL
Stacey H WhobreyCanadaAsiya Javayant QUALIFIED
Ivar P VenereCanadaElwin Sharvill RENEWAL
Chavez B IturbideIndiaAmy Elsner RENEWAL
Francesco Z FigeroaJapanElwin Sharvill NEGOTIATION
Maisha B CampainFranceXuxue Feng RENEWAL
Cody J FigeroaRussiaElwin Sharvill NEW
Tony B CaldareraAustraliaBernardo Dominic PROPOSAL
Salvatore C KuskoFranceOnyama Limba UNQUALIFIED
Kaitlin J PerinRussiaAmy Elsner PROPOSAL
Leja G SaylorsBrazilXuxue Feng UNQUALIFIED
Deepesh I BriddickSpainOnyama Limba NEGOTIATION
Tony W WieserJapanAsiya Javayant QUALIFIED
Morrow E CaldareraBrazilAnna Fali RENEWAL
Maria U TollnerAustraliaStephen Shaw RENEWAL
Francesco A NickaRussiaOnyama Limba QUALIFIED
Maria B MacleadAustraliaStephen Shaw QUALIFIED
Greenwood D NickaAustraliaBernardo Dominic RENEWAL
Ashley C SchemmerCanadaOnyama Limba RENEWAL
Aditya O BowleyBrazilBernardo Dominic NEGOTIATION
Murillo N WaycottSpainBernardo Dominic QUALIFIED
James O CaudyUnited KingdomBernardo Dominic PROPOSAL
Jones U RoysterSpainElwin Sharvill UNQUALIFIED
Mujtaba R AlbaresArgentinaStephen Shaw QUALIFIED
Cody C IturbideFranceStephen Shaw NEGOTIATION
Emily D GarufiCanadaAmy Elsner NEW
Claire S FigeroaArgentinaAnna Fali RENEWAL
David R MarrierGermanyStephen Shaw RENEWAL
Wickens J WaycottArgentinaAmy Elsner NEW
Darci V AlbaresSpainOnyama Limba UNQUALIFIED
Rodrigues V OldroydFranceXuxue Feng QUALIFIED
Jones Y TollnerSpainIoni Bowcher QUALIFIED
Munro K PoquetteFranceAsiya Javayant NEGOTIATION
Rodrigues Y SchemmerAustraliaOnyama Limba RENEWAL
Johnson G FerenczFranceXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson J GarufiBrazilStephen Shaw PROPOSAL
Isabel Q ButtAustraliaAsiya Javayant PROPOSAL
Jones C AlbaresIndiaIoni Bowcher NEGOTIATION
Darci H AmigonRussiaElwin Sharvill UNQUALIFIED
Munro I PoquetteIndiaStephen Shaw PROPOSAL
Wickens R GlickSpainIvan Magalhaes QUALIFIED
Nicolas Y AlbaresFranceOnyama Limba UNQUALIFIED
Antonio C PerinItalyXuxue Feng UNQUALIFIED
Wickens M RimUnited KingdomAsiya Javayant RENEWAL
Izzy Y TollnerJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson Y NickaCanada2025-06-14Commercial Press UNQUALIFIED93Onyama Limba
1001Jefferson G MaletJapan2025-06-11Chanay, Jeffrey A Esq UNQUALIFIED23Stephen Shaw
1002Clifford B MaletUnited Kingdom2025-06-04Feiner Bros PROPOSAL29Anna Fali
1003Julie Y RulapaughIndia2025-05-17Morlong Associates PROPOSAL70Stephen Shaw
1004Wickens B RulapaughAustralia2025-06-14Benton, John B Jr RENEWAL26Amy Elsner
1005James Q MaletArgentina2025-05-18Feltz Printing Service NEGOTIATION8Bernardo Dominic
1006Ivar G MorascaRussia2025-05-21Rangoni Of Florence NEGOTIATION68Ioni Bowcher
1007Mayumi K DilliardArgentina2025-05-27Rousseaux, Michael Esq RENEWAL63Xuxue Feng
1008Emily G PerinJapan2025-05-25Chanay, Jeffrey A Esq RENEWAL20Bernardo Dominic
1009Cody G DarakjyFrance2025-06-05Rangoni Of Florence NEGOTIATION39Elwin Sharvill
1010Jones B ChuiAustralia2025-05-27Rousseaux, Michael Esq QUALIFIED75Anna Fali
1011Costa J CampainIndia2025-05-30King, Christopher A Esq QUALIFIED23Stephen Shaw
1012Kaitlin B AmigonBrazil2025-06-07Benton, John B Jr QUALIFIED90Stephen Shaw
1013Morrow B ButtSpain2025-05-29Buckley Miller Wright RENEWAL52Xuxue Feng
1014Ivar G GlickCanada2025-06-12Printing Dimensions UNQUALIFIED18Anna Fali
1015Clifford N RutaAustralia2025-05-20Feiner Bros UNQUALIFIED87Ivan Magalhaes
1016Mayumi X GarufiRussia2025-06-13Rangoni Of Florence NEGOTIATION7Bernardo Dominic
1017Wickens T RoysterItaly2025-06-09Truhlar And Truhlar Attys NEW33Xuxue Feng
1018Leon X BowleyBrazil2025-06-11Rangoni Of Florence QUALIFIED13Asiya Javayant
1019Salvatore F AlbaresBrazil2025-06-01Chapman, Ross E Esq RENEWAL41Amy Elsner
1020Salvatore Y GarufiCanada2025-05-26Feiner Bros NEGOTIATION70Amy Elsner
1021Misaki J NestleItaly2025-06-12Feltz Printing Service UNQUALIFIED79Xuxue Feng
1022Kaitlin M ShinkoCanada2025-05-28Benton, John B Jr QUALIFIED78Anna Fali
1023Adams I KuskoItaly2025-05-23Truhlar And Truhlar Attys PROPOSAL25Bernardo Dominic
1024Darci K BologniaAustralia2025-05-30Chapman, Ross E Esq UNQUALIFIED60Stephen Shaw
1025Deepesh X BologniaFrance2025-06-02Chapman, Ross E Esq NEGOTIATION48Elwin Sharvill
1026Jennifer N CampainIndia2025-06-02Chapman, Ross E Esq NEW14Anna Fali
1027Aditya R BologniaSpain2025-05-17Benton, John B Jr NEW85Bernardo Dominic
1028Izzy Q PerinRussia2025-06-02Morlong Associates QUALIFIED64Elwin Sharvill
1029Jeanfrancois E GarufiUnited Kingdom2025-06-07Chanay, Jeffrey A Esq NEW23Xuxue Feng
1030Isabel D StensethBrazil2025-05-17Benton, John B Jr QUALIFIED52Bernardo Dominic
1031Deepesh Z FollerAustralia2025-05-27Rousseaux, Michael Esq RENEWAL84Ivan Magalhaes
1032Claire K MacleadIndia2025-05-18Truhlar And Truhlar Attys PROPOSAL20Ivan Magalhaes
1033Stacey I BologniaFrance2025-05-31Benton, John B Jr NEGOTIATION95Anna Fali
1034Johnson T PerinFrance2025-05-26Chemel, James L Cpa UNQUALIFIED34Ivan Magalhaes
1035Chavez L FigeroaGermany2025-05-26Printing Dimensions NEGOTIATION87Stephen Shaw
1036Salvatore N FerenczFrance2025-06-11Dorl, James J Esq QUALIFIED34Ivan Magalhaes
1037Kadeem H FerenczSpain2025-05-24Chemel, James L Cpa QUALIFIED40Bernardo Dominic
1038Aruna F DoeJapan2025-06-09Rangoni Of Florence NEGOTIATION86Amy Elsner
1039Arvin A BologniaCanada2025-06-13Dorl, James J Esq QUALIFIED4Elwin Sharvill
1040Jennifer H CampainAustralia2025-06-08Rangoni Of Florence PROPOSAL4Anna Fali
1041Kadeem K FlosiAustralia2025-06-06Feiner Bros NEW47Anna Fali
1042Smith D NestleJapan2025-05-23Rangoni Of Florence RENEWAL29Onyama Limba
1043Ashley W GauchoAustralia2025-05-23Truhlar And Truhlar Attys UNQUALIFIED21Ioni Bowcher
1044Julie I FerenczSpain2025-06-08Dorl, James J Esq RENEWAL62Elwin Sharvill
1045Morrow R RutaSpain2025-06-05King, Christopher A Esq QUALIFIED26Bernardo Dominic
1046Juan M BologniaItaly2025-06-05Feiner Bros UNQUALIFIED93Elwin Sharvill
1047Aika L SchemmerJapan2025-05-31Chemel, James L Cpa QUALIFIED11Asiya Javayant
1048Greenwood Q KolmetzRussia2025-05-17Rousseaux, Michael Esq UNQUALIFIED35Ioni Bowcher
1049Ashley M ChuiAustralia2025-05-18King, Christopher A Esq UNQUALIFIED33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson J WieserSpainOnyama Limba QUALIFIED
Mujtaba V VenereItalyOnyama Limba UNQUALIFIED
Ashley H RimCanadaXuxue Feng PROPOSAL
Morrow T AlbaresArgentinaIoni Bowcher NEW
Murillo G SergiItalyAmy Elsner PROPOSAL
Tony O ButtJapanXuxue Feng NEGOTIATION
Izzy M ButtIndiaIvan Magalhaes QUALIFIED
Cody B SergiArgentinaAsiya Javayant QUALIFIED
Isabel K FigeroaIndiaIoni Bowcher NEW
Misaki K WieserSpainAnna Fali NEGOTIATION
Leja C CampainItalyBernardo Dominic PROPOSAL
Murillo D OstroskyItalyXuxue Feng QUALIFIED
Kaitlin L CaudyAustraliaAmy Elsner UNQUALIFIED
Aditya D FlosiArgentinaXuxue Feng NEGOTIATION
Mayumi O RutaBrazilBernardo Dominic NEW
Maisha S TollnerArgentinaBernardo Dominic RENEWAL
Chavez G FigeroaRussiaAmy Elsner QUALIFIED
Tony M GillianItalyBernardo Dominic QUALIFIED
Alejandro S InouyeSpainAnna Fali PROPOSAL
Mujtaba F SlusarskiBrazilOnyama Limba NEW
Leon V IturbideCanadaElwin Sharvill NEW
Izzy U SaylorsItalyBernardo Dominic UNQUALIFIED
Stacey X MacleadArgentinaIoni Bowcher NEGOTIATION
Francesco N FigeroaIndiaAsiya Javayant QUALIFIED
Leon C KolmetzGermanyElwin Sharvill UNQUALIFIED
Darci B VocelkaIndiaIoni Bowcher UNQUALIFIED
Sinclair E IturbideUnited KingdomOnyama Limba QUALIFIED
Stacey M NickaFranceOnyama Limba RENEWAL
Tony U CaudyGermanyAnna Fali UNQUALIFIED
Salvatore B BriddickSpainIvan Magalhaes RENEWAL
Cody N AmigonIndiaStephen Shaw UNQUALIFIED
Emily H MacleadBrazilAnna Fali UNQUALIFIED
Leja N MarrierGermanyAmy Elsner NEW
Leon K SlusarskiUnited KingdomAnna Fali PROPOSAL
Mujtaba K NickaItalyIoni Bowcher RENEWAL
Adams H CaldareraGermanyOnyama Limba PROPOSAL
Emily Z FigeroaAustraliaElwin Sharvill QUALIFIED
Octavia Y CaldareraRussiaIvan Magalhaes NEGOTIATION
Octavia C PoquetteItalyAsiya Javayant QUALIFIED
Ricardo X AlbaresJapanBernardo Dominic RENEWAL
Ricardo R BologniaFranceIvan Magalhaes PROPOSAL
Smith N KolmetzUnited KingdomXuxue Feng PROPOSAL
Alejandro U FerenczGermanyOnyama Limba RENEWAL
Cody V NestleRussiaXuxue Feng PROPOSAL
Tony F TollnerRussiaIoni Bowcher UNQUALIFIED
Mayumi Q WieserArgentinaAsiya Javayant QUALIFIED
Aditya U KuskoItalyAmy Elsner NEW
Alejandro L InouyeUnited KingdomBernardo Dominic QUALIFIED
Misaki O NestleIndiaIoni Bowcher NEW
Murillo I FlosiUnited KingdomElwin Sharvill NEW
Frozen Columns
Name
Antonio P Maclead
Smith X Foller
Morrow S Marrier
Cody N Foller
Murillo N Bowley
Ricardo T Morasca
Jones R Glick
Deepesh S Ruta
Alejandro G Rim
Darci O Tollner
Ivar Z Venere
Munro K Butt
Adams H Nestle
Jones Y Chui
Nicolas R Waycott
Aika R Sergi
Salvatore Q Stockham
Izzy C Malet
Claire U Gaucho
James M Bolognia
Isabel B Campain
Claire C Flosi
Costa J Saylors
Ricardo R Shinko
Ricardo M Whobrey
Aditya E Caldarera
Stacey B Garufi
Misaki U Gillian
Johnson D Caudy
Rodrigues S Ruta
Mujtaba N Doe
Arvin B Royster
Aditya D Briddick
Murillo H Sergi
Mujtaba E Royster
Murillo J Malet
Nicolas N Saylors
Jones J Malet
Jones F Whobrey
Julie A Stockham
Maisha K Darakjy
Aika E Whobrey
Adams I Gillian
Cody W Stenseth
Stacey U Whobrey
Morrow D Figeroa
Murillo I Whobrey
Alejandro X Nestle
David W Malet
Arvin F Caudy
IdCountryDate
1000Argentina2025-05-18
1001Canada2025-05-29
1002Japan2025-05-28
1003Canada2025-06-07
1004Italy2025-05-19
1005Germany2025-05-30
1006India2025-05-19
1007Brazil2025-05-26
1008Brazil2025-05-19
1009United Kingdom2025-05-22
1010Brazil2025-05-25
1011Russia2025-06-05
1012Brazil2025-05-21
1013United Kingdom2025-05-19
1014Canada2025-05-25
1015Brazil2025-05-27
1016Australia2025-06-12
1017Italy2025-05-21
1018India2025-05-18
1019Argentina2025-06-01
1020Italy2025-06-10
1021Russia2025-06-09
1022Russia2025-05-27
1023India2025-06-13
1024Spain2025-05-28
1025Australia2025-05-16
1026United Kingdom2025-06-07
1027Australia2025-05-16
1028Germany2025-05-28
1029Italy2025-05-30
1030Argentina2025-06-09
1031Russia2025-06-08
1032Argentina2025-06-01
1033Canada2025-06-01
1034India2025-05-17
1035Spain2025-05-29
1036Argentina2025-06-04
1037Argentina2025-05-18
1038France2025-05-21
1039Australia2025-06-04
1040United Kingdom2025-06-04
1041Germany2025-06-02
1042India2025-06-08
1043Russia2025-05-23
1044Spain2025-06-11
1045Japan2025-05-16
1046Germany2025-06-11
1047Argentina2025-05-19
1048France2025-05-16
1049Brazil2025-06-04

On-Demand Data

NameIdCountryDate
Faith Y Caldarera1000Australia2025-05-20
Ivar U Tollner1001Argentina2025-05-22
Ashley K Vocelka1002United Kingdom2025-05-25
Mayumi Y Maclead1003Russia2025-05-28
Ashley X Bolognia1004Germany2025-05-24
Jones Q Marrier1005Argentina2025-06-02
Francesco T Venere1006Russia2025-05-26
Clifford Z Ostrosky1007Brazil2025-05-30
Munro H Stenseth1008Spain2025-06-14
Kaitlin M Chui1009Japan2025-05-29
Johnson V Tollner1010India2025-06-10
Stacey B Wieser1011Argentina2025-05-26
Jones Y Iturbide1012France2025-05-29
Smith E Glick1013United Kingdom2025-05-30
Jeanfrancois H Darakjy1014Italy2025-06-11
Mayumi R Marrier1015Canada2025-06-04
Costa G Morasca1016Italy2025-05-22
Julie G Nestle1017Russia2025-05-16
Jones P Kusko1018Germany2025-05-19
Emily A Shinko1019Germany2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin R PaprockiJapanIoni Bowcher NEW
Wickens M DilliardJapanAnna Fali PROPOSAL
Leja L BologniaJapanAsiya Javayant QUALIFIED
Misaki O FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Darci L MaletAustraliaAnna Fali QUALIFIED
Juan B GauchoItalyStephen Shaw UNQUALIFIED
Jennifer E DilliardCanadaAmy Elsner QUALIFIED
Arvin B AlbaresArgentinaAnna Fali RENEWAL
Kaitlin Y MorascaUnited KingdomAsiya Javayant RENEWAL
Morrow B StensethArgentinaBernardo Dominic NEGOTIATION
Silvio W ChuiGermanyElwin Sharvill NEGOTIATION
Ricardo H FigeroaGermanyIoni Bowcher NEW
Leon X AmigonItalyBernardo Dominic NEGOTIATION
Antonio E RutaArgentinaAnna Fali RENEWAL
Izzy U FerenczArgentinaAsiya Javayant NEW
Ivar R SergiItalyIvan Magalhaes PROPOSAL
Murillo N RoysterSpainAnna Fali NEGOTIATION
Clifford D GauchoCanadaXuxue Feng RENEWAL
Francesco F WhobreyFranceBernardo Dominic NEGOTIATION
Ashley P MarrierIndiaStephen Shaw UNQUALIFIED
Alejandro S MorascaRussiaAnna Fali RENEWAL
Maria Q ButtAustraliaIoni Bowcher RENEWAL
Faith G MacleadItalyXuxue Feng NEW
Francesco T FlosiUnited KingdomXuxue Feng NEW
Tony Q MaletJapanIvan Magalhaes RENEWAL
Johnson M FigeroaIndiaAsiya Javayant NEW
Clifford U PaprockiSpainAmy Elsner PROPOSAL
Sinclair T RulapaughSpainAmy Elsner NEW
Wickens G KuskoUnited KingdomXuxue Feng QUALIFIED
Murillo T ChuiIndiaOnyama Limba NEW
Salvatore S SaylorsGermanyAsiya Javayant QUALIFIED
Darci G FerenczUnited KingdomAsiya Javayant NEGOTIATION
Mayumi E NickaIndiaIoni Bowcher NEW
Kadeem M GauchoBrazilOnyama Limba QUALIFIED
Claire Y BologniaAustraliaIoni Bowcher RENEWAL
Cody A ShinkoItalyAnna Fali PROPOSAL
Leon G FigeroaAustraliaOnyama Limba UNQUALIFIED
Julie L OldroydIndiaAsiya Javayant QUALIFIED
Mayumi Y KuskoItalyStephen Shaw RENEWAL
Ivar X TollnerItalyIvan Magalhaes 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>