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
Julie I PerinCanadaAnna Fali UNQUALIFIED
Cody O CampainJapanElwin Sharvill UNQUALIFIED
Jones F ShinkoIndiaStephen Shaw QUALIFIED
Jefferson T GauchoItalyIoni Bowcher NEGOTIATION
Sinclair C GlickArgentinaAsiya Javayant UNQUALIFIED
Johnson P PoquetteGermanyIoni Bowcher QUALIFIED
Stacey B SaylorsBrazilIoni Bowcher PROPOSAL
Clifford I SergiRussiaIoni Bowcher NEGOTIATION
Silvio K CaldareraRussiaIoni Bowcher NEGOTIATION
Jennifer Z WhobreyFranceStephen Shaw NEW
Tony S FigeroaRussiaStephen Shaw NEW
Kadeem A KolmetzJapanAmy Elsner PROPOSAL
David D IturbideCanadaOnyama Limba RENEWAL
Misaki R GlickIndiaAmy Elsner NEGOTIATION
Stacey V DoeBrazilAsiya Javayant RENEWAL
Smith U InouyeGermanyBernardo Dominic RENEWAL
Deepesh K PoquetteCanadaAsiya Javayant QUALIFIED
Jennifer W BowleyGermanyOnyama Limba NEGOTIATION
Chavez P MacleadBrazilElwin Sharvill NEW
Chavez P AlbaresAustraliaXuxue Feng RENEWAL
Smith A SchemmerAustraliaOnyama Limba UNQUALIFIED
Leon X RulapaughArgentinaAnna Fali PROPOSAL
Kadeem E RutaJapanStephen Shaw QUALIFIED
Francesco K OstroskyRussiaAmy Elsner UNQUALIFIED
Juan P CaudyArgentinaXuxue Feng QUALIFIED
Francesco K FigeroaRussiaStephen Shaw QUALIFIED
Ashley F DarakjyUnited KingdomElwin Sharvill PROPOSAL
Deepesh K WaycottSpainStephen Shaw UNQUALIFIED
Claire G AmigonRussiaStephen Shaw PROPOSAL
Wickens K DarakjySpainIvan Magalhaes NEGOTIATION
Isabel E FerenczAustraliaBernardo Dominic UNQUALIFIED
Cody M PerinAustraliaOnyama Limba RENEWAL
Kaitlin K DoeItalyElwin Sharvill NEW
Julie F WaycottGermanyElwin Sharvill NEW
Maisha F StockhamItalyIvan Magalhaes QUALIFIED
Jeanfrancois N WaycottRussiaStephen Shaw UNQUALIFIED
Emily U KuskoRussiaAnna Fali PROPOSAL
Misaki L DilliardGermanyBernardo Dominic QUALIFIED
Mayumi C AlbaresGermanyXuxue Feng QUALIFIED
Leja K StockhamSpainOnyama Limba NEW
Jennifer N BriddickJapanBernardo Dominic RENEWAL
Deepesh N FollerBrazilAnna Fali NEGOTIATION
Tony E NestleArgentinaAmy Elsner PROPOSAL
Arvin F NestleAustraliaBernardo Dominic PROPOSAL
Silvio P StockhamGermanyOnyama Limba RENEWAL
Misaki V MarrierSpainStephen Shaw NEGOTIATION
Antonio I BologniaUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues C StensethFranceIvan Magalhaes QUALIFIED
Adams J CaldareraJapanIvan Magalhaes NEW
Clifford S VenereAustraliaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire N MacleadArgentinaOnyama Limba PROPOSAL
Faith H MaletArgentinaAmy Elsner PROPOSAL
Leja E CaudyRussiaAnna Fali PROPOSAL
Maisha M NestleBrazilStephen Shaw NEW
Mayumi U AlbaresJapanOnyama Limba NEGOTIATION
Julie D StockhamFranceXuxue Feng NEW
Tony M PaprockiSpainElwin Sharvill RENEWAL
Darci H SchemmerArgentinaXuxue Feng PROPOSAL
David V DarakjyUnited KingdomStephen Shaw PROPOSAL
Ricardo M BriddickCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L MaletArgentina2026-07-20Chanay, Jeffrey A Esq RENEWAL75Ivan Magalhaes
1001Jefferson K BriddickFrance2026-07-13Feltz Printing Service UNQUALIFIED92Elwin Sharvill
1002Deepesh J InouyeIndia2026-07-22King, Christopher A Esq NEW35Onyama Limba
1003Murillo O StockhamAustralia2026-07-19Rousseaux, Michael Esq RENEWAL42Ivan Magalhaes
1004Kadeem Z ChuiGermany2026-07-06Chapman, Ross E Esq UNQUALIFIED22Stephen Shaw
1005Rodrigues T GillianRussia2026-07-16Benton, John B Jr PROPOSAL8Ivan Magalhaes
1006Leja K OldroydSpain2026-07-14Chemel, James L Cpa UNQUALIFIED33Asiya Javayant
1007Jones H ShinkoSpain2026-06-29Rangoni Of Florence NEGOTIATION54Ioni Bowcher
1008Julie I IturbideItaly2026-07-11Rangoni Of Florence PROPOSAL29Ivan Magalhaes
1009Kadeem M TollnerItaly2026-07-28Morlong Associates UNQUALIFIED7Ioni Bowcher
1010Darci O FerenczJapan2026-07-25Chemel, James L Cpa PROPOSAL65Elwin Sharvill
1011David V GauchoCanada2026-07-22Chemel, James L Cpa PROPOSAL63Onyama Limba
1012Chavez I ShinkoBrazil2026-07-10Dorl, James J Esq PROPOSAL52Xuxue Feng
1013Cody F VenereSpain2026-07-07Commercial Press PROPOSAL33Ioni Bowcher
1014Misaki D SergiItaly2026-07-06Dorl, James J Esq QUALIFIED99Stephen Shaw
1015Clifford A IturbideUnited Kingdom2026-07-09Dorl, James J Esq PROPOSAL81Anna Fali
1016Isabel W BologniaArgentina2026-07-04Printing Dimensions NEGOTIATION3Xuxue Feng
1017Morrow F MacleadUnited Kingdom2026-07-01Feltz Printing Service NEGOTIATION83Anna Fali
1018Munro P GauchoCanada2026-07-13Rousseaux, Michael Esq UNQUALIFIED50Ivan Magalhaes
1019Aditya P WieserUnited Kingdom2026-07-11Printing Dimensions RENEWAL81Ioni Bowcher
1020Maria R VenereAustralia2026-07-21Chemel, James L Cpa NEGOTIATION23Stephen Shaw
1021Salvatore B KuskoUnited Kingdom2026-07-06Chapman, Ross E Esq PROPOSAL89Onyama Limba
1022Smith H DilliardJapan2026-07-10Printing Dimensions RENEWAL82Onyama Limba
1023Munro N MarrierJapan2026-07-28Commercial Press PROPOSAL54Ivan Magalhaes
1024Jones C StockhamSpain2026-07-23Truhlar And Truhlar Attys PROPOSAL15Elwin Sharvill
1025Arvin Z DarakjyArgentina2026-07-18Dorl, James J Esq PROPOSAL94Asiya Javayant
1026Octavia U AmigonRussia2026-07-06Commercial Press PROPOSAL32Onyama Limba
1027Stacey I DarakjyJapan2026-07-17Feiner Bros RENEWAL97Stephen Shaw
1028Jones Q SaylorsAustralia2026-07-27Rousseaux, Michael Esq NEW20Anna Fali
1029Greenwood V CaudyGermany2026-07-14Chemel, James L Cpa QUALIFIED79Stephen Shaw
1030Murillo D RoysterArgentina2026-07-01Feltz Printing Service QUALIFIED34Bernardo Dominic
1031Francesco R VenereCanada2026-06-30Morlong Associates NEW52Elwin Sharvill
1032Ricardo U BowleyIndia2026-07-17Benton, John B Jr UNQUALIFIED0Elwin Sharvill
1033Faith P KuskoItaly2026-07-23King, Christopher A Esq NEGOTIATION42Anna Fali
1034Kadeem U FlosiArgentina2026-07-26Printing Dimensions NEGOTIATION74Ivan Magalhaes
1035Murillo V CaudyCanada2026-07-15Rangoni Of Florence PROPOSAL51Ivan Magalhaes
1036Claire K MaletJapan2026-06-30Printing Dimensions NEGOTIATION49Ivan Magalhaes
1037Sinclair O AmigonJapan2026-07-22Morlong Associates UNQUALIFIED10Ivan Magalhaes
1038Claire K MorascaIndia2026-07-16King, Christopher A Esq RENEWAL22Anna Fali
1039Silvio M TollnerUnited Kingdom2026-07-24Buckley Miller Wright PROPOSAL54Amy Elsner
1040Jennifer L GlickCanada2026-07-27Rousseaux, Michael Esq PROPOSAL8Ivan Magalhaes
1041Julie J MaletIndia2026-07-12Buckley Miller Wright PROPOSAL3Bernardo Dominic
1042Wickens I VenereBrazil2026-07-20King, Christopher A Esq RENEWAL84Ioni Bowcher
1043Costa R GarufiCanada2026-07-04Rangoni Of Florence RENEWAL61Amy Elsner
1044Nicolas W SaylorsItaly2026-07-04Truhlar And Truhlar Attys PROPOSAL33Stephen Shaw
1045Kadeem B InouyeFrance2026-07-23Commercial Press NEW16Bernardo Dominic
1046Arvin O FigeroaGermany2026-07-04Feiner Bros QUALIFIED49Bernardo Dominic
1047Isabel C SergiUnited Kingdom2026-07-16Truhlar And Truhlar Attys NEGOTIATION96Elwin Sharvill
1048Darci Y TollnerIndia2026-07-12Buckley Miller Wright UNQUALIFIED62Onyama Limba
1049Silvio O BowleyAustralia2026-07-25Commercial Press UNQUALIFIED35Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja M ButtFranceIvan Magalhaes NEGOTIATION
Darci Q WaycottUnited KingdomElwin Sharvill NEW
Arvin K OstroskyItalyBernardo Dominic NEGOTIATION
Maisha U VocelkaArgentinaIoni Bowcher PROPOSAL
Jennifer G StensethArgentinaXuxue Feng NEW
James R PaprockiArgentinaAmy Elsner UNQUALIFIED
Salvatore K VocelkaFranceAnna Fali QUALIFIED
Alejandro H OldroydUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois F MaletIndiaAnna Fali RENEWAL
Cody N NestleIndiaStephen Shaw PROPOSAL
Ashley R CaudyJapanStephen Shaw QUALIFIED
Mujtaba H DoeAustraliaOnyama Limba RENEWAL
Isabel R MaletArgentinaIoni Bowcher NEGOTIATION
Octavia D MorascaArgentinaOnyama Limba NEGOTIATION
Kaitlin Y KuskoFranceIoni Bowcher RENEWAL
Emily I VocelkaItalyIvan Magalhaes QUALIFIED
Ivar B BriddickFranceIvan Magalhaes NEW
Murillo L MaletBrazilIoni Bowcher UNQUALIFIED
Deepesh O ShinkoCanadaXuxue Feng NEGOTIATION
Wickens I CaldareraFranceIvan Magalhaes NEGOTIATION
Wickens D SergiSpainStephen Shaw QUALIFIED
Johnson I GlickCanadaAnna Fali NEGOTIATION
Aruna A MacleadBrazilIvan Magalhaes NEW
Octavia D NestleFranceAnna Fali UNQUALIFIED
Stacey K StockhamSpainIvan Magalhaes PROPOSAL
Alejandro F OldroydGermanyBernardo Dominic QUALIFIED
James D DilliardArgentinaElwin Sharvill NEW
Ashley X DoeAustraliaIoni Bowcher QUALIFIED
Salvatore L AmigonRussiaElwin Sharvill PROPOSAL
Greenwood O AlbaresGermanyIvan Magalhaes UNQUALIFIED
Isabel R InouyeBrazilAnna Fali UNQUALIFIED
Emily D BowleySpainStephen Shaw QUALIFIED
Chavez V MacleadArgentinaXuxue Feng NEW
Costa M MaletSpainAsiya Javayant PROPOSAL
Stacey F InouyeFranceIvan Magalhaes UNQUALIFIED
Clifford V MaletJapanXuxue Feng NEGOTIATION
Mujtaba K RulapaughIndiaBernardo Dominic PROPOSAL
Johnson V OldroydIndiaOnyama Limba RENEWAL
Aditya X GillianUnited KingdomStephen Shaw RENEWAL
Misaki Z ShinkoSpainOnyama Limba PROPOSAL
Octavia P NickaCanadaStephen Shaw PROPOSAL
Kaitlin G MacleadCanadaBernardo Dominic RENEWAL
Murillo V MorascaIndiaOnyama Limba NEW
Rodrigues F VocelkaArgentinaAnna Fali NEGOTIATION
Jones C DoeCanadaIoni Bowcher RENEWAL
Alejandro O BologniaUnited KingdomAmy Elsner NEGOTIATION
Jefferson F InouyeGermanyAnna Fali UNQUALIFIED
Smith L CampainFranceIvan Magalhaes RENEWAL
Julie K SergiFranceIoni Bowcher PROPOSAL
Sinclair D MaletFranceOnyama Limba NEW
Frozen Columns
Name
Wickens L Morasca
Ricardo I Garufi
Wickens F Foller
Darci W Rulapaugh
Nicolas M Chui
Juan B Gillian
Jennifer B Paprocki
Jennifer G Ostrosky
Juan R Perin
Mayumi G Kusko
Maisha R Royster
Deepesh A Stenseth
Francesco Y Flosi
Nicolas N Stenseth
Chavez T Chui
Tony O Bowley
Johnson H Marrier
Jeanfrancois S Nestle
Munro K Ferencz
Ivar P Briddick
Munro R Glick
Mujtaba J Garufi
Jeanfrancois Q Albares
Leja V Garufi
Munro V Whobrey
Leja J Venere
Emily Z Glick
Ricardo V Nicka
Jefferson D Poquette
Jennifer E Ruta
Rodrigues V Caudy
Cody H Butt
Leon Z Perin
Aruna V Royster
Morrow D Ruta
Rodrigues C Gillian
Misaki G Darakjy
Kaitlin I Perin
Wickens D Dilliard
Ashley X Flosi
Rodrigues X Figeroa
Faith J Darakjy
Mujtaba D Saylors
Mujtaba U Tollner
Jefferson T Nicka
Juan O Malet
Ivar D Tollner
Mujtaba Y Rulapaugh
James B Caudy
Julie H Albares
IdCountryDate
1000Spain2026-07-20
1001Australia2026-07-26
1002Canada2026-07-05
1003Spain2026-07-03
1004United Kingdom2026-07-28
1005Australia2026-07-16
1006Argentina2026-07-19
1007Germany2026-07-21
1008Italy2026-07-26
1009India2026-07-13
1010France2026-07-02
1011Germany2026-07-28
1012Canada2026-07-07
1013Italy2026-07-10
1014India2026-07-06
1015Australia2026-07-27
1016Brazil2026-07-03
1017Spain2026-07-17
1018Argentina2026-07-06
1019Canada2026-07-01
1020Russia2026-07-04
1021India2026-07-20
1022Australia2026-06-30
1023Canada2026-07-16
1024Brazil2026-07-14
1025India2026-07-16
1026Germany2026-07-02
1027Argentina2026-07-21
1028Argentina2026-07-20
1029Spain2026-07-02
1030Russia2026-07-21
1031Italy2026-07-11
1032United Kingdom2026-07-11
1033Argentina2026-07-24
1034India2026-07-08
1035Canada2026-07-14
1036India2026-07-11
1037Italy2026-07-18
1038Japan2026-07-07
1039Spain2026-07-25
1040Japan2026-07-09
1041Germany2026-06-30
1042United Kingdom2026-07-07
1043Germany2026-07-24
1044Russia2026-06-29
1045Brazil2026-07-05
1046Argentina2026-07-02
1047Russia2026-07-14
1048India2026-07-26
1049Australia2026-07-16

On-Demand Data

NameIdCountryDate
Maisha I Paprocki1000Argentina2026-07-24
Salvatore A Gillian1001Canada2026-07-27
Mujtaba D Rulapaugh1002Spain2026-07-17
Cody C Dilliard1003India2026-07-19
Isabel Q Malet1004Australia2026-07-14
Julie D Inouye1005Canada2026-07-18
Chavez E Vocelka1006Canada2026-07-21
Wickens D Briddick1007France2026-07-14
Aika Y Vocelka1008Russia2026-07-19
Mujtaba K Kolmetz1009Argentina2026-07-15
Silvio D Morasca1010Canada2026-07-22
Jefferson F Flosi1011Germany2026-07-09
Ivar G Nicka1012United Kingdom2026-07-02
Mujtaba K Doe1013Russia2026-07-24
Tony H Ostrosky1014Japan2026-07-17
Ivar H Dilliard1015Argentina2026-07-17
Ivar M Morasca1016Brazil2026-07-23
Julie F Venere1017Japan2026-06-29
Ashley T Kolmetz1018Canada2026-07-19
Costa P Maclead1019Italy2026-07-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa M BriddickAustraliaAsiya Javayant UNQUALIFIED
Octavia F InouyeIndiaXuxue Feng RENEWAL
Alejandro N VenereSpainBernardo Dominic RENEWAL
Octavia R InouyeSpainIoni Bowcher NEW
Smith A MarrierIndiaAsiya Javayant QUALIFIED
Faith T SchemmerRussiaStephen Shaw QUALIFIED
Jones Q DoeArgentinaAnna Fali PROPOSAL
Mayumi X GlickArgentinaAnna Fali PROPOSAL
Leon Z CaldareraFranceBernardo Dominic UNQUALIFIED
Aika M FollerArgentinaAmy Elsner UNQUALIFIED
Jones I SchemmerAustraliaElwin Sharvill QUALIFIED
Arvin X PoquetteJapanIoni Bowcher NEW
Ashley Y WaycottBrazilAmy Elsner NEGOTIATION
Jefferson J ShinkoSpainAsiya Javayant PROPOSAL
Stacey V DilliardSpainElwin Sharvill RENEWAL
Munro S DarakjyBrazilBernardo Dominic RENEWAL
Johnson Q DarakjyAustraliaIvan Magalhaes RENEWAL
Misaki G SergiGermanyAnna Fali PROPOSAL
Kaitlin H GauchoArgentinaXuxue Feng UNQUALIFIED
Munro H VenereCanadaElwin Sharvill NEW
Kaitlin J DarakjyJapanElwin Sharvill NEGOTIATION
Darci M OldroydBrazilAnna Fali UNQUALIFIED
Morrow U ButtGermanyIvan Magalhaes NEGOTIATION
Stacey N NestleBrazilAmy Elsner QUALIFIED
Wickens T IturbideRussiaAsiya Javayant PROPOSAL
Mujtaba A MorascaArgentinaBernardo Dominic NEGOTIATION
Wickens G PoquetteSpainAnna Fali NEGOTIATION
Silvio G MaletFranceElwin Sharvill PROPOSAL
Jefferson X PaprockiFranceAsiya Javayant PROPOSAL
James B CampainUnited KingdomIvan Magalhaes NEW
Ivar X DarakjyArgentinaIvan Magalhaes NEGOTIATION
Jennifer L PoquetteGermanyIoni Bowcher PROPOSAL
Wickens Y RutaItalyAsiya Javayant QUALIFIED
Aditya E TollnerSpainXuxue Feng QUALIFIED
Juan U BriddickItalyIvan Magalhaes UNQUALIFIED
Izzy T PoquetteIndiaBernardo Dominic NEW
Leon V KolmetzGermanyStephen Shaw NEW
Ivar U GauchoItalyAsiya Javayant RENEWAL
Munro M FigeroaSpainStephen Shaw QUALIFIED
Cody N DarakjyArgentinaAmy Elsner 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>