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
Nicolas O FerenczRussiaStephen Shaw RENEWAL
Clifford T KuskoJapanAmy Elsner PROPOSAL
Ricardo W MorascaGermanyBernardo Dominic PROPOSAL
Kadeem Z WhobreyGermanyAnna Fali NEW
Kadeem I MarrierJapanXuxue Feng PROPOSAL
Silvio G NestleBrazilIvan Magalhaes NEGOTIATION
Chavez Q BowleyItalyAmy Elsner NEGOTIATION
Johnson I NickaItalyStephen Shaw NEGOTIATION
Mayumi Q RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Octavia W PoquetteSpainElwin Sharvill PROPOSAL
Aika M RutaRussiaOnyama Limba PROPOSAL
Maria V OstroskyIndiaOnyama Limba NEGOTIATION
Faith P OldroydCanadaAsiya Javayant UNQUALIFIED
Salvatore J StensethIndiaAsiya Javayant RENEWAL
Costa K BologniaFranceAnna Fali NEGOTIATION
Arvin F ShinkoArgentinaIoni Bowcher PROPOSAL
Mayumi S OldroydJapanIoni Bowcher NEGOTIATION
Claire V RutaArgentinaStephen Shaw NEGOTIATION
Smith Z SaylorsCanadaXuxue Feng UNQUALIFIED
Tony V BologniaIndiaAnna Fali RENEWAL
Silvio G MarrierGermanyAnna Fali PROPOSAL
Jones C ChuiJapanIoni Bowcher NEW
Deepesh T NickaFranceIoni Bowcher NEGOTIATION
Adams U GlickAustraliaIoni Bowcher NEGOTIATION
Maisha P RutaGermanyAnna Fali RENEWAL
Octavia L RulapaughUnited KingdomOnyama Limba NEW
Aditya J FigeroaUnited KingdomAmy Elsner NEGOTIATION
Kadeem A GlickJapanBernardo Dominic UNQUALIFIED
Leja Z DoeSpainAsiya Javayant RENEWAL
Leon S InouyeAustraliaIoni Bowcher RENEWAL
Octavia O SlusarskiFranceAsiya Javayant PROPOSAL
Jones U RutaCanadaOnyama Limba NEGOTIATION
Maisha W RulapaughRussiaAnna Fali QUALIFIED
Aruna G NestleRussiaOnyama Limba RENEWAL
Kaitlin I SaylorsIndiaOnyama Limba NEGOTIATION
Jefferson L AlbaresUnited KingdomAmy Elsner QUALIFIED
Leon O FerenczAustraliaIvan Magalhaes NEW
Claire D GillianIndiaBernardo Dominic UNQUALIFIED
Murillo A WhobreyUnited KingdomXuxue Feng PROPOSAL
Chavez K FlosiFranceAnna Fali UNQUALIFIED
Darci Y TollnerItalyIvan Magalhaes PROPOSAL
Ricardo F InouyeJapanOnyama Limba UNQUALIFIED
Kadeem G ChuiFranceBernardo Dominic QUALIFIED
Darci D DarakjyItalyIoni Bowcher RENEWAL
Stacey N ChuiGermanyIvan Magalhaes NEGOTIATION
Misaki Y MaletCanadaAnna Fali QUALIFIED
Morrow B StockhamIndiaAsiya Javayant QUALIFIED
Jeanfrancois G MaletItalyAsiya Javayant NEW
Clifford M BriddickArgentinaStephen Shaw NEW
Greenwood N RulapaughBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James H DarakjyItalyXuxue Feng PROPOSAL
Chavez V FerenczUnited KingdomElwin Sharvill NEGOTIATION
Darci A CampainAustraliaAmy Elsner NEW
Chavez L DoeArgentinaIvan Magalhaes QUALIFIED
Costa V PerinUnited KingdomAsiya Javayant RENEWAL
James X TollnerArgentinaAmy Elsner PROPOSAL
Cody C SergiSpainIoni Bowcher PROPOSAL
Sinclair V NestleRussiaXuxue Feng NEW
Murillo C InouyeBrazilElwin Sharvill NEGOTIATION
Aika V CaudyUnited KingdomOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith H ChuiJapan2025-05-18King, Christopher A Esq NEGOTIATION64Ioni Bowcher
1001Arvin N KolmetzUnited Kingdom2025-05-27Morlong Associates NEGOTIATION43Stephen Shaw
1002Antonio V DarakjyRussia2025-05-23Rousseaux, Michael Esq QUALIFIED25Asiya Javayant
1003Alejandro D MorascaJapan2025-06-09Feiner Bros UNQUALIFIED75Bernardo Dominic
1004Izzy N WhobreyJapan2025-06-09Rousseaux, Michael Esq PROPOSAL84Ivan Magalhaes
1005Jeanfrancois O BowleyIndia2025-05-20Buckley Miller Wright NEGOTIATION75Amy Elsner
1006Clifford I GauchoCanada2025-06-12Benton, John B Jr UNQUALIFIED46Elwin Sharvill
1007Rodrigues K BriddickIndia2025-05-20Feltz Printing Service QUALIFIED17Stephen Shaw
1008Darci L InouyeArgentina2025-06-12Truhlar And Truhlar Attys UNQUALIFIED40Asiya Javayant
1009Aika K NestleItaly2025-06-08Feltz Printing Service NEW42Elwin Sharvill
1010Emily V CampainSpain2025-05-25Chemel, James L Cpa NEGOTIATION74Bernardo Dominic
1011Misaki G SlusarskiIndia2025-06-05Dorl, James J Esq NEGOTIATION14Asiya Javayant
1012Juan C WhobreyJapan2025-05-26Feltz Printing Service QUALIFIED92Onyama Limba
1013Francesco M MorascaArgentina2025-06-13Printing Dimensions NEW73Elwin Sharvill
1014Francesco C WaycottFrance2025-05-18Commercial Press PROPOSAL39Amy Elsner
1015Emily D SergiIndia2025-06-05Chapman, Ross E Esq NEW38Ioni Bowcher
1016Aruna T KolmetzAustralia2025-06-15Truhlar And Truhlar Attys PROPOSAL93Ivan Magalhaes
1017Arvin W AlbaresAustralia2025-05-20Chanay, Jeffrey A Esq NEGOTIATION91Elwin Sharvill
1018Greenwood E FerenczGermany2025-06-14Commercial Press RENEWAL17Onyama Limba
1019Octavia I VocelkaItaly2025-05-19Rousseaux, Michael Esq NEW89Onyama Limba
1020Nicolas V KolmetzGermany2025-05-24Truhlar And Truhlar Attys NEW93Amy Elsner
1021Juan I CaldareraFrance2025-06-08Rangoni Of Florence PROPOSAL88Asiya Javayant
1022Jefferson R CaldareraRussia2025-06-10Dorl, James J Esq UNQUALIFIED29Elwin Sharvill
1023Jefferson L FollerAustralia2025-05-23Morlong Associates RENEWAL98Stephen Shaw
1024Maisha C GillianCanada2025-06-02Printing Dimensions RENEWAL93Ivan Magalhaes
1025Murillo T OstroskyItaly2025-06-03Commercial Press RENEWAL89Elwin Sharvill
1026Isabel T TollnerGermany2025-05-19Chemel, James L Cpa PROPOSAL73Asiya Javayant
1027David J WhobreyAustralia2025-06-12Chemel, James L Cpa QUALIFIED47Bernardo Dominic
1028Rodrigues U AmigonItaly2025-06-02Benton, John B Jr QUALIFIED99Asiya Javayant
1029Tony M GlickSpain2025-05-31Benton, John B Jr QUALIFIED20Stephen Shaw
1030Adams W SchemmerRussia2025-06-16Feiner Bros QUALIFIED74Anna Fali
1031Rodrigues V AmigonBrazil2025-05-29Dorl, James J Esq UNQUALIFIED52Xuxue Feng
1032Ricardo B IturbideFrance2025-06-10Feiner Bros NEGOTIATION90Bernardo Dominic
1033Aika T StensethIndia2025-06-12Benton, John B Jr NEW63Ivan Magalhaes
1034Wickens W WhobreyRussia2025-06-05Dorl, James J Esq UNQUALIFIED17Anna Fali
1035Johnson H SergiBrazil2025-06-04Dorl, James J Esq RENEWAL90Ioni Bowcher
1036Salvatore I KuskoIndia2025-06-07Commercial Press QUALIFIED12Bernardo Dominic
1037Stacey T AlbaresFrance2025-05-25Buckley Miller Wright NEGOTIATION1Stephen Shaw
1038Arvin Y KolmetzArgentina2025-05-25Benton, John B Jr NEGOTIATION29Stephen Shaw
1039Mujtaba W OstroskyGermany2025-05-25Buckley Miller Wright UNQUALIFIED8Amy Elsner
1040Izzy C VenereFrance2025-06-05Printing Dimensions RENEWAL98Amy Elsner
1041Wickens D GillianSpain2025-05-27Printing Dimensions QUALIFIED29Asiya Javayant
1042Octavia Y NestleJapan2025-06-06Feltz Printing Service NEW95Stephen Shaw
1043Maisha Z CaldareraArgentina2025-06-10Benton, John B Jr RENEWAL65Onyama Limba
1044Izzy M NestleUnited Kingdom2025-05-22Chanay, Jeffrey A Esq PROPOSAL44Ioni Bowcher
1045Munro O BowleyItaly2025-06-09Chemel, James L Cpa NEGOTIATION10Stephen Shaw
1046Darci H OstroskyFrance2025-05-24Feiner Bros PROPOSAL60Ivan Magalhaes
1047Aika E DilliardItaly2025-05-22Rousseaux, Michael Esq UNQUALIFIED30Amy Elsner
1048Leja B MaletCanada2025-06-07Morlong Associates RENEWAL38Stephen Shaw
1049Emily T RutaGermany2025-06-03Truhlar And Truhlar Attys RENEWAL72Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa S GarufiSpainAnna Fali QUALIFIED
Claire S BriddickBrazilAnna Fali NEW
Wickens J BowleyUnited KingdomAmy Elsner NEW
Kaitlin X WaycottSpainOnyama Limba UNQUALIFIED
Morrow T DilliardRussiaOnyama Limba QUALIFIED
Jennifer X NestleFranceBernardo Dominic NEGOTIATION
Antonio L PerinFranceStephen Shaw UNQUALIFIED
Tony K FlosiSpainXuxue Feng PROPOSAL
Maisha B NestleGermanyIvan Magalhaes PROPOSAL
Arvin X RulapaughJapanIvan Magalhaes PROPOSAL
Costa Z BologniaCanadaAnna Fali UNQUALIFIED
Munro E MaletAustraliaStephen Shaw QUALIFIED
Isabel O NestleAustraliaIoni Bowcher NEGOTIATION
Aditya O ButtFranceIoni Bowcher RENEWAL
Jennifer E DilliardArgentinaIoni Bowcher PROPOSAL
Arvin U SergiUnited KingdomBernardo Dominic RENEWAL
Jennifer B KuskoBrazilAsiya Javayant UNQUALIFIED
Mujtaba M StockhamRussiaXuxue Feng QUALIFIED
Octavia H CampainFranceXuxue Feng UNQUALIFIED
Kaitlin T GillianGermanyIvan Magalhaes PROPOSAL
Maisha W MorascaRussiaIoni Bowcher NEW
Salvatore L MaletCanadaOnyama Limba PROPOSAL
Francesco R MarrierGermanyXuxue Feng QUALIFIED
Jefferson T VocelkaRussiaOnyama Limba UNQUALIFIED
Darci C DarakjyUnited KingdomAnna Fali PROPOSAL
Alejandro X GauchoArgentinaBernardo Dominic UNQUALIFIED
Faith D AlbaresAustraliaStephen Shaw RENEWAL
Johnson W BologniaCanadaAsiya Javayant NEGOTIATION
Kaitlin J MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford O TollnerSpainElwin Sharvill NEW
Costa D IturbideJapanIoni Bowcher NEW
Ivar H MaletUnited KingdomAnna Fali UNQUALIFIED
Silvio C PoquetteCanadaBernardo Dominic UNQUALIFIED
Francesco I MaletSpainBernardo Dominic RENEWAL
Sinclair D MacleadRussiaXuxue Feng NEGOTIATION
Claire K DilliardAustraliaAmy Elsner QUALIFIED
Sinclair L NickaBrazilAmy Elsner UNQUALIFIED
Francesco X MacleadArgentinaXuxue Feng QUALIFIED
Mayumi S WieserGermanyAsiya Javayant NEW
James N PerinJapanOnyama Limba QUALIFIED
Maria A ChuiIndiaElwin Sharvill PROPOSAL
Darci A OstroskyUnited KingdomAsiya Javayant QUALIFIED
Darci H WieserArgentinaAmy Elsner RENEWAL
Johnson W FigeroaArgentinaStephen Shaw NEW
Ricardo H GauchoJapanAmy Elsner NEW
Isabel J ChuiItalyOnyama Limba UNQUALIFIED
Murillo V DoeItalyAnna Fali RENEWAL
Ashley P RutaItalyAnna Fali QUALIFIED
Leon S FigeroaRussiaXuxue Feng PROPOSAL
Clifford X MaletIndiaStephen Shaw NEW
Frozen Columns
Name
Cody L Perin
Jones Z Ferencz
Maria T Gillian
Chavez D Royster
Kaitlin A Poquette
Leja V Perin
Emily C Ferencz
Faith J Oldroyd
Mujtaba Q Briddick
Octavia A Perin
Ashley I Albares
Munro C Iturbide
Cody P Briddick
Deepesh L Royster
Deepesh Q Saylors
Adams T Vocelka
Alejandro F Poquette
Julie Y Tollner
Tony U Morasca
Stacey F Waycott
Claire H Gaucho
Murillo H Campain
Kaitlin E Caldarera
Silvio R Paprocki
Isabel S Sergi
Emily E Butt
Emily W Gillian
Antonio G Maclead
Jennifer G Malet
Ivar A Schemmer
Mayumi A Ferencz
Johnson U Shinko
Darci M Kolmetz
Stacey S Maclead
Clifford L Saylors
Johnson Y Chui
Claire A Flosi
Wickens L Malet
Tony B Iturbide
Darci C Waycott
Jennifer N Bolognia
Isabel M Gaucho
Aditya P Rulapaugh
Costa D Kolmetz
Aika T Shinko
Arvin C Garufi
Leja X Nestle
Ricardo F Ostrosky
Kaitlin J Stenseth
Johnson R Ruta
IdCountryDate
1000Japan2025-06-06
1001Russia2025-05-31
1002Canada2025-05-30
1003Argentina2025-06-02
1004Germany2025-05-25
1005United Kingdom2025-06-09
1006France2025-06-13
1007Spain2025-06-07
1008India2025-06-04
1009Argentina2025-06-12
1010Canada2025-06-15
1011Argentina2025-06-06
1012Italy2025-05-21
1013Japan2025-06-06
1014United Kingdom2025-05-24
1015Spain2025-06-07
1016Brazil2025-06-09
1017Italy2025-06-16
1018Australia2025-05-18
1019Spain2025-05-21
1020France2025-05-22
1021Canada2025-05-18
1022India2025-05-26
1023Brazil2025-05-18
1024Spain2025-06-02
1025United Kingdom2025-05-24
1026Japan2025-05-27
1027Canada2025-05-23
1028Australia2025-05-27
1029Argentina2025-06-13
1030India2025-05-27
1031Italy2025-05-25
1032Argentina2025-06-01
1033Italy2025-05-25
1034Japan2025-06-02
1035United Kingdom2025-06-06
1036Canada2025-06-11
1037India2025-05-18
1038United Kingdom2025-05-24
1039Germany2025-06-08
1040Australia2025-05-20
1041Russia2025-05-21
1042United Kingdom2025-05-28
1043Canada2025-06-12
1044France2025-06-16
1045Italy2025-06-04
1046India2025-06-14
1047Germany2025-06-08
1048Spain2025-06-08
1049France2025-06-13

On-Demand Data

NameIdCountryDate
Izzy N Darakjy1000United Kingdom2025-06-02
Isabel B Royster1001Spain2025-06-16
Murillo I Vocelka1002Brazil2025-06-06
Murillo K Tollner1003Russia2025-05-30
Chavez V Schemmer1004Argentina2025-05-29
Misaki H Chui1005Germany2025-06-01
Kadeem A Tollner1006Italy2025-05-19
Chavez E Garufi1007Brazil2025-05-20
Ricardo H Nestle1008Italy2025-05-30
Leja P Bowley1009Italy2025-06-02
Antonio S Glick1010Argentina2025-05-20
Chavez H Figeroa1011Canada2025-05-26
Isabel W Butt1012United Kingdom2025-06-02
Ashley A Slusarski1013Brazil2025-06-02
Rodrigues T Albares1014Canada2025-05-21
Jennifer B Malet1015Brazil2025-06-02
Leon X Gaucho1016Italy2025-06-13
David I Nestle1017Australia2025-06-02
Murillo F Ferencz1018France2025-06-01
Julie O Schemmer1019United Kingdom2025-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba U OstroskySpainOnyama Limba NEGOTIATION
Tony N GlickBrazilAmy Elsner NEGOTIATION
Ricardo B IturbideRussiaIvan Magalhaes RENEWAL
Nicolas M WhobreyAustraliaElwin Sharvill NEGOTIATION
Costa I VenereJapanXuxue Feng NEW
Adams S IturbideAustraliaIoni Bowcher PROPOSAL
Faith S StockhamGermanyAmy Elsner NEW
Costa S MacleadFranceAnna Fali PROPOSAL
David E VocelkaCanadaOnyama Limba RENEWAL
Morrow M FollerGermanyXuxue Feng NEW
Isabel V PaprockiJapanStephen Shaw UNQUALIFIED
Kaitlin D VenereCanadaIvan Magalhaes QUALIFIED
Smith C FerenczRussiaElwin Sharvill UNQUALIFIED
Misaki S DilliardUnited KingdomAsiya Javayant RENEWAL
Maria X RutaUnited KingdomAmy Elsner QUALIFIED
Mujtaba V WhobreyUnited KingdomXuxue Feng NEGOTIATION
Smith C WaycottIndiaAnna Fali NEGOTIATION
Cody W ButtItalyAnna Fali NEGOTIATION
Jefferson R VenereAustraliaElwin Sharvill UNQUALIFIED
Johnson I ChuiRussiaOnyama Limba QUALIFIED
Leon Y BriddickBrazilIoni Bowcher UNQUALIFIED
Francesco I RutaArgentinaIoni Bowcher RENEWAL
Murillo D MaletIndiaAmy Elsner UNQUALIFIED
Claire H SergiItalyElwin Sharvill NEW
David T MacleadFranceOnyama Limba QUALIFIED
Faith O MaletRussiaXuxue Feng RENEWAL
Kaitlin W IturbideSpainIvan Magalhaes RENEWAL
Francesco V FollerRussiaAsiya Javayant NEW
Claire P NickaItalyIvan Magalhaes NEGOTIATION
Izzy T KolmetzIndiaAmy Elsner PROPOSAL
Morrow Z TollnerIndiaOnyama Limba QUALIFIED
Ashley X KolmetzGermanyIoni Bowcher NEGOTIATION
Jeanfrancois O GillianIndiaElwin Sharvill NEGOTIATION
Emily L CaldareraIndiaXuxue Feng RENEWAL
Izzy N FlosiItalyBernardo Dominic PROPOSAL
Johnson D PaprockiBrazilAsiya Javayant RENEWAL
Mujtaba G FlosiFranceBernardo Dominic NEGOTIATION
Silvio F CaldareraIndiaXuxue Feng QUALIFIED
Clifford B ChuiCanadaBernardo Dominic RENEWAL
Deepesh L MarrierAustraliaElwin Sharvill 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>