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
Jones F BriddickRussiaAnna Fali RENEWAL
James F BowleyJapanIoni Bowcher NEW
Johnson N VenereItalyBernardo Dominic QUALIFIED
Johnson Q InouyeBrazilXuxue Feng NEW
Jeanfrancois X SergiFranceStephen Shaw RENEWAL
Aditya U DarakjySpainOnyama Limba RENEWAL
Francesco K NickaArgentinaElwin Sharvill UNQUALIFIED
Kaitlin K TollnerUnited KingdomAnna Fali RENEWAL
Tony C MaletIndiaOnyama Limba QUALIFIED
Isabel Q NickaSpainAmy Elsner PROPOSAL
James N PoquetteItalyAmy Elsner RENEWAL
Greenwood F TollnerSpainAnna Fali PROPOSAL
Greenwood A ChuiRussiaStephen Shaw UNQUALIFIED
Jeanfrancois G SergiSpainAmy Elsner NEGOTIATION
Sinclair K CaudyItalyBernardo Dominic QUALIFIED
Murillo H GauchoRussiaXuxue Feng NEGOTIATION
Ricardo M StockhamJapanBernardo Dominic QUALIFIED
Mujtaba J IturbideRussiaOnyama Limba QUALIFIED
Deepesh E DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Wickens N DarakjyCanadaBernardo Dominic NEGOTIATION
Costa N FigeroaBrazilElwin Sharvill RENEWAL
Jeanfrancois X AlbaresBrazilAnna Fali PROPOSAL
Deepesh I BriddickIndiaAsiya Javayant QUALIFIED
Jones M WieserAustraliaStephen Shaw NEGOTIATION
Rodrigues W OldroydAustraliaStephen Shaw UNQUALIFIED
David F RoysterArgentinaIoni Bowcher UNQUALIFIED
Darci X KuskoIndiaElwin Sharvill UNQUALIFIED
Leja U MarrierRussiaElwin Sharvill UNQUALIFIED
Deepesh O VocelkaJapanAsiya Javayant PROPOSAL
Deepesh G CaudyBrazilIvan Magalhaes UNQUALIFIED
James B KolmetzGermanyOnyama Limba RENEWAL
Nicolas S NickaAustraliaIvan Magalhaes PROPOSAL
Francesco X TollnerCanadaIvan Magalhaes UNQUALIFIED
Isabel D IturbideSpainStephen Shaw UNQUALIFIED
Leon X StockhamCanadaIoni Bowcher NEW
Jeanfrancois T NickaUnited KingdomAmy Elsner NEGOTIATION
Francesco E ShinkoIndiaOnyama Limba UNQUALIFIED
Alejandro M SchemmerRussiaAmy Elsner UNQUALIFIED
Jennifer T SergiFranceAsiya Javayant PROPOSAL
Tony E FerenczArgentinaBernardo Dominic UNQUALIFIED
Francesco M SchemmerGermanyStephen Shaw NEGOTIATION
Isabel E MaletUnited KingdomIoni Bowcher UNQUALIFIED
Smith Y PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Ashley E WaycottFranceIvan Magalhaes NEW
Mayumi J KuskoItalyAmy Elsner NEW
Johnson O GlickCanadaAsiya Javayant QUALIFIED
Faith G SchemmerFranceOnyama Limba NEW
Kaitlin F GillianSpainIvan Magalhaes PROPOSAL
Jeanfrancois V PerinIndiaElwin Sharvill NEGOTIATION
Murillo T AmigonBrazilAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair P ChuiAustraliaElwin Sharvill NEGOTIATION
Kadeem Z BriddickIndiaBernardo Dominic NEW
Izzy O KuskoGermanyIoni Bowcher PROPOSAL
Morrow S ShinkoItalyOnyama Limba PROPOSAL
Jennifer J IturbideUnited KingdomIoni Bowcher PROPOSAL
Mujtaba E BologniaItalyIoni Bowcher UNQUALIFIED
Juan C ShinkoRussiaOnyama Limba NEGOTIATION
Tony Z FigeroaIndiaOnyama Limba PROPOSAL
Morrow T MorascaGermanyIoni Bowcher UNQUALIFIED
Munro H RulapaughCanadaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson C MaletCanada2026-07-07Feiner Bros RENEWAL74Bernardo Dominic
1001Julie V FigeroaJapan2026-07-01Feltz Printing Service NEW66Xuxue Feng
1002Leon Q SaylorsFrance2026-06-18Rousseaux, Michael Esq UNQUALIFIED72Stephen Shaw
1003Arvin M RulapaughBrazil2026-06-21Chapman, Ross E Esq RENEWAL13Bernardo Dominic
1004Deepesh F NickaItaly2026-06-19Printing Dimensions NEW56Onyama Limba
1005Johnson T WhobreyIndia2026-06-29Commercial Press QUALIFIED60Asiya Javayant
1006Tony Q MarrierUnited Kingdom2026-06-13Chapman, Ross E Esq NEW13Ioni Bowcher
1007Julie P ShinkoAustralia2026-06-23King, Christopher A Esq RENEWAL97Asiya Javayant
1008James L PerinCanada2026-06-13Rousseaux, Michael Esq UNQUALIFIED92Bernardo Dominic
1009Leja J DilliardArgentina2026-07-07Feltz Printing Service QUALIFIED43Onyama Limba
1010Leja Y InouyeItaly2026-06-16Truhlar And Truhlar Attys NEW13Stephen Shaw
1011Leja L SlusarskiBrazil2026-06-12Rousseaux, Michael Esq QUALIFIED5Stephen Shaw
1012Munro R StensethArgentina2026-07-01Rangoni Of Florence PROPOSAL74Anna Fali
1013Kaitlin C MacleadArgentina2026-07-02Truhlar And Truhlar Attys QUALIFIED68Elwin Sharvill
1014Cody Y RimFrance2026-06-22Rangoni Of Florence NEGOTIATION75Amy Elsner
1015Rodrigues V MaletRussia2026-07-02Morlong Associates RENEWAL60Xuxue Feng
1016Misaki A DilliardArgentina2026-06-27Rousseaux, Michael Esq RENEWAL3Xuxue Feng
1017Antonio C AmigonJapan2026-07-02Feiner Bros RENEWAL48Ioni Bowcher
1018Ashley N StensethUnited Kingdom2026-07-01Dorl, James J Esq PROPOSAL1Ivan Magalhaes
1019Ricardo W OldroydRussia2026-06-21King, Christopher A Esq NEGOTIATION99Bernardo Dominic
1020Arvin Z ShinkoCanada2026-06-20Feltz Printing Service NEW25Stephen Shaw
1021Isabel O MacleadSpain2026-06-18Chemel, James L Cpa NEGOTIATION51Xuxue Feng
1022Tony Y GarufiGermany2026-07-02Dorl, James J Esq PROPOSAL36Anna Fali
1023Leon J OldroydRussia2026-06-22Printing Dimensions PROPOSAL18Ioni Bowcher
1024Murillo I FlosiUnited Kingdom2026-06-19Morlong Associates QUALIFIED48Xuxue Feng
1025Johnson P StensethJapan2026-06-22Feiner Bros PROPOSAL36Elwin Sharvill
1026Juan O AmigonJapan2026-07-06Commercial Press QUALIFIED2Stephen Shaw
1027Smith J MarrierFrance2026-06-17Buckley Miller Wright NEGOTIATION17Elwin Sharvill
1028Stacey S MaletArgentina2026-06-23Benton, John B Jr NEW27Elwin Sharvill
1029Ivar S FerenczCanada2026-07-06Printing Dimensions PROPOSAL2Xuxue Feng
1030Leja N VocelkaCanada2026-06-15Morlong Associates NEW23Anna Fali
1031Rodrigues L KolmetzAustralia2026-06-25Morlong Associates UNQUALIFIED66Bernardo Dominic
1032Mayumi E WhobreyBrazil2026-06-15Chemel, James L Cpa NEW99Onyama Limba
1033Julie W MorascaItaly2026-06-29Rousseaux, Michael Esq UNQUALIFIED22Bernardo Dominic
1034Ashley C MorascaCanada2026-06-09Morlong Associates PROPOSAL25Xuxue Feng
1035Faith D GillianFrance2026-06-18Morlong Associates QUALIFIED6Asiya Javayant
1036Jeanfrancois V VenereSpain2026-07-05Rousseaux, Michael Esq QUALIFIED47Anna Fali
1037Nicolas G ShinkoUnited Kingdom2026-06-28Morlong Associates NEW37Stephen Shaw
1038Leon X FollerArgentina2026-06-28Feiner Bros NEGOTIATION30Xuxue Feng
1039Ricardo J FollerIndia2026-06-26Feltz Printing Service RENEWAL62Bernardo Dominic
1040Greenwood R BowleyFrance2026-07-05Benton, John B Jr PROPOSAL11Elwin Sharvill
1041Maisha Q AmigonBrazil2026-06-20Chemel, James L Cpa PROPOSAL61Ioni Bowcher
1042Maisha C SlusarskiBrazil2026-06-30Morlong Associates NEW19Asiya Javayant
1043Greenwood B KuskoCanada2026-06-11Chapman, Ross E Esq NEGOTIATION80Amy Elsner
1044Tony N ShinkoArgentina2026-07-06Chemel, James L Cpa UNQUALIFIED55Ioni Bowcher
1045Wickens H RimArgentina2026-06-08Rangoni Of Florence PROPOSAL27Asiya Javayant
1046Misaki C VocelkaJapan2026-06-20Chapman, Ross E Esq PROPOSAL75Bernardo Dominic
1047Claire X MacleadFrance2026-06-13Benton, John B Jr NEW95Bernardo Dominic
1048Juan X WhobreyFrance2026-06-29Feiner Bros NEW80Anna Fali
1049Rodrigues O StensethCanada2026-07-03Printing Dimensions NEW35Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey J FollerBrazilIoni Bowcher UNQUALIFIED
Sinclair H InouyeSpainIvan Magalhaes RENEWAL
Munro I RoysterJapanIvan Magalhaes NEGOTIATION
Misaki A DoeRussiaAsiya Javayant NEGOTIATION
Salvatore B NickaIndiaIvan Magalhaes PROPOSAL
Ashley Q IturbideBrazilElwin Sharvill UNQUALIFIED
David H ChuiCanadaAmy Elsner RENEWAL
Greenwood N SchemmerRussiaBernardo Dominic RENEWAL
Aruna U PoquetteRussiaAmy Elsner NEGOTIATION
Deepesh N AlbaresItalyOnyama Limba UNQUALIFIED
Jeanfrancois K PaprockiIndiaAsiya Javayant RENEWAL
Smith V AlbaresRussiaIvan Magalhaes NEGOTIATION
Sinclair A SchemmerCanadaIvan Magalhaes PROPOSAL
Smith S WhobreyIndiaOnyama Limba NEGOTIATION
Deepesh L BowleyItalyOnyama Limba QUALIFIED
Ashley X MarrierSpainBernardo Dominic QUALIFIED
Darci X RulapaughUnited KingdomStephen Shaw PROPOSAL
Kadeem T GlickAustraliaBernardo Dominic PROPOSAL
Salvatore J GarufiBrazilStephen Shaw NEGOTIATION
Stacey I WieserArgentinaElwin Sharvill NEW
Clifford V NestleSpainAmy Elsner PROPOSAL
Stacey L OstroskyAustraliaIoni Bowcher NEGOTIATION
James B IturbideItalyStephen Shaw UNQUALIFIED
Johnson Y BowleyRussiaBernardo Dominic NEGOTIATION
Maria J DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Murillo H SergiCanadaBernardo Dominic NEW
Jefferson A OstroskyRussiaElwin Sharvill NEW
Maria H ChuiRussiaStephen Shaw QUALIFIED
Smith R PoquetteArgentinaBernardo Dominic UNQUALIFIED
Emily K VocelkaCanadaStephen Shaw NEW
Jefferson A MorascaAustraliaElwin Sharvill NEW
Jefferson K GlickBrazilAsiya Javayant NEGOTIATION
Costa C SchemmerSpainXuxue Feng NEW
Ivar N PoquetteBrazilAsiya Javayant QUALIFIED
Morrow Q GauchoUnited KingdomOnyama Limba QUALIFIED
Emily Q KuskoFranceOnyama Limba PROPOSAL
Julie A AlbaresIndiaIvan Magalhaes NEGOTIATION
Arvin B GauchoCanadaStephen Shaw PROPOSAL
Jones Z IturbideIndiaStephen Shaw QUALIFIED
Juan Z BriddickRussiaIvan Magalhaes NEW
Jefferson J NestleFranceBernardo Dominic QUALIFIED
Adams F CampainRussiaXuxue Feng RENEWAL
Morrow G VenereAustraliaAmy Elsner PROPOSAL
Silvio Y AmigonCanadaXuxue Feng NEGOTIATION
Deepesh S PoquetteRussiaOnyama Limba UNQUALIFIED
Alejandro U BriddickSpainElwin Sharvill NEW
Tony O SlusarskiRussiaElwin Sharvill QUALIFIED
Emily D MaletCanadaAmy Elsner PROPOSAL
Cody T DoeBrazilStephen Shaw QUALIFIED
Misaki X PaprockiSpainAnna Fali RENEWAL
Frozen Columns
Name
Jennifer X Caudy
Deepesh M Venere
Wickens V Slusarski
Tony D Butt
Deepesh Q Butt
Silvio S Kusko
Francesco C Bowley
Munro O Oldroyd
Arvin J Oldroyd
Rodrigues I Caldarera
Cody V Slusarski
Cody P Marrier
Costa K Caldarera
Jones N Dilliard
Darci C Kolmetz
Mayumi B Saylors
Jennifer F Paprocki
Julie J Garufi
Maria D Slusarski
Deepesh Y Malet
Clifford Y Bolognia
Misaki J Saylors
Wickens K Albares
Kaitlin G Rulapaugh
Jennifer C Ostrosky
Nicolas B Malet
Alejandro G Morasca
Mujtaba P Tollner
David K Rim
Maria H Paprocki
Stacey U Garufi
Izzy S Nicka
Octavia S Nestle
Arvin J Saylors
Cody U Caudy
Maisha R Briddick
Adams L Inouye
Francesco G Albares
Claire T Stenseth
Misaki H Garufi
Arvin O Caudy
Silvio D Caudy
Darci M Marrier
James Y Bowley
Sinclair R Nicka
Juan G Tollner
Ricardo H Bolognia
Munro V Rulapaugh
Misaki Z Paprocki
Mayumi F Perin
IdCountryDate
1000Japan2026-07-05
1001Germany2026-06-12
1002Canada2026-06-15
1003Canada2026-07-04
1004Italy2026-06-12
1005Brazil2026-06-20
1006Australia2026-06-25
1007United Kingdom2026-06-22
1008Australia2026-06-23
1009Germany2026-06-15
1010France2026-06-19
1011India2026-07-02
1012Italy2026-06-08
1013Germany2026-06-08
1014Japan2026-06-18
1015France2026-06-25
1016Spain2026-06-18
1017United Kingdom2026-06-21
1018Germany2026-07-01
1019Brazil2026-06-15
1020India2026-06-10
1021Spain2026-06-11
1022Argentina2026-06-27
1023India2026-07-03
1024Argentina2026-07-04
1025Russia2026-06-20
1026Italy2026-07-04
1027Australia2026-06-15
1028France2026-06-24
1029Germany2026-06-19
1030Spain2026-06-26
1031United Kingdom2026-06-14
1032Canada2026-07-05
1033Canada2026-06-08
1034France2026-06-12
1035India2026-06-13
1036Australia2026-06-29
1037United Kingdom2026-07-02
1038France2026-06-27
1039United Kingdom2026-06-10
1040Brazil2026-06-08
1041Canada2026-06-09
1042Canada2026-06-15
1043Argentina2026-07-02
1044United Kingdom2026-06-21
1045Germany2026-06-21
1046India2026-06-22
1047Russia2026-07-05
1048Italy2026-06-17
1049Italy2026-07-01

On-Demand Data

NameIdCountryDate
Johnson K Doe1000Argentina2026-06-24
Isabel T Campain1001Australia2026-06-26
Kadeem V Venere1002France2026-06-15
Jefferson I Figeroa1003Canada2026-06-18
Aika T Ferencz1004India2026-06-23
Rodrigues O Nicka1005France2026-07-05
Juan O Stenseth1006Germany2026-06-09
Stacey C Ferencz1007Spain2026-06-13
Nicolas A Venere1008India2026-06-27
Rodrigues N Flosi1009Canada2026-07-04
Mujtaba R Gillian1010India2026-06-19
Antonio A Saylors1011Italy2026-06-19
Johnson S Schemmer1012Canada2026-06-17
Aditya V Amigon1013United Kingdom2026-07-02
Juan B Saylors1014Japan2026-06-25
Aditya E Glick1015India2026-06-11
Chavez I Nestle1016Australia2026-06-24
Tony S Marrier1017Russia2026-06-20
Aruna B Campain1018India2026-07-03
Deepesh T Bolognia1019Brazil2026-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L CampainBrazilStephen Shaw RENEWAL
Stacey V CaudyBrazilIoni Bowcher QUALIFIED
Maria I ButtRussiaOnyama Limba PROPOSAL
Sinclair L VenereGermanyOnyama Limba PROPOSAL
Murillo U FerenczFranceAsiya Javayant NEGOTIATION
Ricardo L FollerBrazilStephen Shaw RENEWAL
Mayumi Y RutaBrazilOnyama Limba RENEWAL
Kaitlin Z GauchoItalyStephen Shaw NEW
Costa Q MorascaJapanIoni Bowcher NEGOTIATION
Adams H TollnerBrazilIoni Bowcher RENEWAL
Aruna R PoquetteSpainBernardo Dominic QUALIFIED
Salvatore Q RulapaughUnited KingdomAmy Elsner PROPOSAL
Maisha V RulapaughSpainAsiya Javayant RENEWAL
Misaki D OstroskyUnited KingdomIvan Magalhaes NEW
Salvatore X PoquetteBrazilElwin Sharvill PROPOSAL
Costa B ChuiFranceXuxue Feng UNQUALIFIED
Jones Q CaldareraGermanyBernardo Dominic UNQUALIFIED
Nicolas D DoeArgentinaOnyama Limba QUALIFIED
Smith L NestleGermanyStephen Shaw PROPOSAL
Nicolas N GillianRussiaIvan Magalhaes RENEWAL
Maisha I VenereArgentinaOnyama Limba NEW
Aika C ShinkoFranceIvan Magalhaes UNQUALIFIED
Maisha V PaprockiSpainAsiya Javayant UNQUALIFIED
Adams F NickaUnited KingdomBernardo Dominic NEGOTIATION
Sinclair D ChuiAustraliaIoni Bowcher QUALIFIED
David Z GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Smith F BowleyGermanyAnna Fali RENEWAL
Stacey N BologniaAustraliaAsiya Javayant RENEWAL
Sinclair K CampainRussiaOnyama Limba QUALIFIED
Munro D VenereFranceAsiya Javayant NEW
David C TollnerCanadaBernardo Dominic RENEWAL
Misaki S SchemmerAustraliaStephen Shaw NEW
Julie P MorascaSpainIvan Magalhaes NEW
Johnson E MacleadCanadaXuxue Feng QUALIFIED
Izzy U NickaItalyAmy Elsner PROPOSAL
Deepesh J GillianArgentinaAsiya Javayant UNQUALIFIED
Julie Q TollnerIndiaStephen Shaw PROPOSAL
Sinclair J NickaJapanAsiya Javayant NEGOTIATION
Costa Z SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Munro E OstroskyJapanAsiya Javayant 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>