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
Claire Y DoeArgentinaAnna Fali RENEWAL
James E SaylorsAustraliaAnna Fali UNQUALIFIED
Antonio V RoysterJapanBernardo Dominic QUALIFIED
Maisha M DarakjyItalyElwin Sharvill UNQUALIFIED
Isabel F InouyeCanadaAmy Elsner RENEWAL
Johnson R VenereItalyXuxue Feng QUALIFIED
Claire H RutaFranceAmy Elsner QUALIFIED
Arvin M MarrierFranceElwin Sharvill NEW
Jones Y PaprockiCanadaIoni Bowcher QUALIFIED
Aika W KolmetzItalyIvan Magalhaes NEGOTIATION
Misaki N WhobreySpainIvan Magalhaes NEGOTIATION
Munro O TollnerArgentinaAsiya Javayant QUALIFIED
Antonio K IturbideCanadaXuxue Feng RENEWAL
Aika N PerinJapanAnna Fali RENEWAL
Mayumi Z WhobreyItalyIvan Magalhaes NEW
Johnson S RimFranceIvan Magalhaes QUALIFIED
Rodrigues B CaudyItalyStephen Shaw UNQUALIFIED
Greenwood Z MorascaGermanyOnyama Limba RENEWAL
Kadeem I OldroydAustraliaIoni Bowcher RENEWAL
Ashley I StensethJapanXuxue Feng NEGOTIATION
Deepesh A CampainBrazilXuxue Feng NEGOTIATION
Jennifer Y GlickJapanAnna Fali UNQUALIFIED
Octavia S PoquetteArgentinaElwin Sharvill RENEWAL
Silvio P NickaFranceAsiya Javayant UNQUALIFIED
Juan V KolmetzAustraliaAsiya Javayant RENEWAL
Mayumi L ButtJapanAmy Elsner PROPOSAL
Maisha N VenereGermanyStephen Shaw RENEWAL
Maisha E SaylorsCanadaAsiya Javayant NEW
Kaitlin O VenereItalyAmy Elsner PROPOSAL
Leon U MacleadSpainElwin Sharvill NEGOTIATION
Aruna S SaylorsSpainElwin Sharvill QUALIFIED
Leon E FerenczAustraliaIoni Bowcher PROPOSAL
Cody A DarakjyAustraliaElwin Sharvill PROPOSAL
Kadeem A ButtFranceIoni Bowcher RENEWAL
Mujtaba H IturbideFranceAsiya Javayant PROPOSAL
Cody K MacleadAustraliaStephen Shaw QUALIFIED
Greenwood D MaletArgentinaElwin Sharvill QUALIFIED
Mujtaba S WhobreyGermanyIoni Bowcher NEGOTIATION
Deepesh S DoeUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba U MorascaCanadaAnna Fali PROPOSAL
Juan B TollnerFranceElwin Sharvill PROPOSAL
Chavez K SaylorsCanadaAnna Fali QUALIFIED
Nicolas B StockhamIndiaAsiya Javayant UNQUALIFIED
Morrow I WhobreyFranceAnna Fali PROPOSAL
Julie A RimFranceElwin Sharvill NEW
Julie O WieserFranceBernardo Dominic PROPOSAL
Emily K AlbaresItalyBernardo Dominic NEW
Aruna W KolmetzIndiaAsiya Javayant UNQUALIFIED
Ricardo A MacleadRussiaAsiya Javayant UNQUALIFIED
Ricardo Q StensethIndiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin K WhobreySpainStephen Shaw NEW
Cody Y GauchoSpainOnyama Limba PROPOSAL
Ashley Y FigeroaRussiaAmy Elsner RENEWAL
Isabel V NickaItalyOnyama Limba UNQUALIFIED
Maria G SergiFranceIoni Bowcher QUALIFIED
Murillo C StensethFranceBernardo Dominic PROPOSAL
Cody T SlusarskiIndiaXuxue Feng RENEWAL
Deepesh C BriddickCanadaBernardo Dominic RENEWAL
Antonio U KuskoBrazilStephen Shaw QUALIFIED
Mayumi I KuskoArgentinaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith E ChuiArgentina2026-07-23Dorl, James J Esq QUALIFIED97Bernardo Dominic
1001Adams Y WhobreyUnited Kingdom2026-08-04Chapman, Ross E Esq UNQUALIFIED12Stephen Shaw
1002Rodrigues D ChuiSpain2026-08-08Feltz Printing Service NEW32Anna Fali
1003Izzy J TollnerAustralia2026-08-05Rangoni Of Florence RENEWAL52Ivan Magalhaes
1004Kaitlin P VocelkaBrazil2026-07-31Dorl, James J Esq QUALIFIED42Xuxue Feng
1005Greenwood R GarufiRussia2026-07-24Feltz Printing Service NEGOTIATION56Ivan Magalhaes
1006Ricardo A OldroydItaly2026-07-26King, Christopher A Esq UNQUALIFIED97Elwin Sharvill
1007Claire Q DoeCanada2026-07-26Rangoni Of Florence NEGOTIATION31Anna Fali
1008Leon M PerinGermany2026-07-25Rousseaux, Michael Esq UNQUALIFIED24Xuxue Feng
1009Jeanfrancois Z BowleyUnited Kingdom2026-07-20Rousseaux, Michael Esq QUALIFIED31Asiya Javayant
1010Aika V CampainCanada2026-07-27Morlong Associates NEGOTIATION57Bernardo Dominic
1011Faith S AmigonSpain2026-07-25Feiner Bros NEGOTIATION19Elwin Sharvill
1012Rodrigues A CaldareraAustralia2026-08-07Truhlar And Truhlar Attys PROPOSAL82Anna Fali
1013Maisha E MaletBrazil2026-08-11Rangoni Of Florence QUALIFIED53Amy Elsner
1014Adams B RutaGermany2026-07-28Feltz Printing Service NEW77Anna Fali
1015Mujtaba U CaldareraBrazil2026-08-10Morlong Associates PROPOSAL75Xuxue Feng
1016Costa A WieserArgentina2026-08-06Commercial Press QUALIFIED87Stephen Shaw
1017Nicolas H StensethArgentina2026-08-05King, Christopher A Esq NEW55Anna Fali
1018Maisha J SergiBrazil2026-08-11Morlong Associates PROPOSAL26Xuxue Feng
1019Greenwood B PaprockiRussia2026-08-07Commercial Press QUALIFIED80Amy Elsner
1020Jeanfrancois R GauchoCanada2026-07-29Chanay, Jeffrey A Esq QUALIFIED65Elwin Sharvill
1021Mujtaba L MarrierUnited Kingdom2026-08-06Buckley Miller Wright NEGOTIATION74Asiya Javayant
1022Wickens S FollerSpain2026-07-23Truhlar And Truhlar Attys UNQUALIFIED47Amy Elsner
1023Deepesh P RoysterRussia2026-08-04Morlong Associates QUALIFIED56Ioni Bowcher
1024Deepesh F StensethGermany2026-07-16Morlong Associates NEW64Xuxue Feng
1025Aika G OstroskyFrance2026-07-20Dorl, James J Esq PROPOSAL13Stephen Shaw
1026Aika Q OldroydCanada2026-08-11Printing Dimensions QUALIFIED52Bernardo Dominic
1027Adams V StockhamAustralia2026-07-29Chanay, Jeffrey A Esq NEGOTIATION92Bernardo Dominic
1028Juan C IturbideIndia2026-07-17Rangoni Of Florence NEW46Asiya Javayant
1029Clifford L FollerBrazil2026-08-06Dorl, James J Esq UNQUALIFIED58Amy Elsner
1030Chavez X PaprockiCanada2026-08-05Dorl, James J Esq PROPOSAL62Xuxue Feng
1031Octavia Y MaletIndia2026-07-19Truhlar And Truhlar Attys QUALIFIED62Asiya Javayant
1032Chavez M DarakjyAustralia2026-08-08Dorl, James J Esq NEGOTIATION9Ioni Bowcher
1033Claire I StockhamSpain2026-07-27Commercial Press NEW98Elwin Sharvill
1034Jefferson N BowleyItaly2026-08-01Printing Dimensions QUALIFIED73Asiya Javayant
1035Nicolas N SchemmerUnited Kingdom2026-07-22Feiner Bros NEGOTIATION77Asiya Javayant
1036Cody K WieserItaly2026-07-31Morlong Associates RENEWAL49Stephen Shaw
1037Silvio R DoeRussia2026-07-24Rousseaux, Michael Esq PROPOSAL36Bernardo Dominic
1038Mayumi M CampainAustralia2026-08-08Chanay, Jeffrey A Esq QUALIFIED87Elwin Sharvill
1039James P DarakjyGermany2026-07-29Benton, John B Jr NEW18Amy Elsner
1040Kadeem L FerenczJapan2026-08-03Dorl, James J Esq RENEWAL92Onyama Limba
1041Maria Q FerenczRussia2026-08-08Printing Dimensions NEGOTIATION62Elwin Sharvill
1042Munro D GillianUnited Kingdom2026-08-08Chemel, James L Cpa NEW80Onyama Limba
1043Salvatore D GarufiRussia2026-07-27King, Christopher A Esq UNQUALIFIED46Amy Elsner
1044Chavez A InouyeAustralia2026-07-22Rangoni Of Florence NEW83Xuxue Feng
1045Jeanfrancois T WieserCanada2026-07-19Buckley Miller Wright PROPOSAL49Asiya Javayant
1046Adams Z GarufiIndia2026-07-25Chanay, Jeffrey A Esq UNQUALIFIED31Ioni Bowcher
1047Aditya G CaldareraUnited Kingdom2026-08-02Truhlar And Truhlar Attys UNQUALIFIED45Elwin Sharvill
1048Francesco P DoeArgentina2026-08-13Chapman, Ross E Esq QUALIFIED56Elwin Sharvill
1049Isabel A DoeRussia2026-08-08King, Christopher A Esq RENEWAL97Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson F SlusarskiGermanyXuxue Feng UNQUALIFIED
Leon A AlbaresBrazilOnyama Limba RENEWAL
Morrow N VenereUnited KingdomOnyama Limba PROPOSAL
Ashley X SaylorsFranceIvan Magalhaes PROPOSAL
Costa U RimUnited KingdomAnna Fali NEGOTIATION
James Z RutaGermanyStephen Shaw NEGOTIATION
Adams A FerenczItalyAnna Fali RENEWAL
Darci H BologniaBrazilBernardo Dominic PROPOSAL
Kaitlin V VenereRussiaStephen Shaw RENEWAL
Octavia A MarrierCanadaStephen Shaw QUALIFIED
Maria A MaletIndiaStephen Shaw PROPOSAL
Julie F FigeroaCanadaBernardo Dominic PROPOSAL
Kaitlin O OldroydBrazilStephen Shaw QUALIFIED
Nicolas H PerinItalyAmy Elsner NEW
Mujtaba V DarakjyJapanIoni Bowcher NEW
Wickens Y DilliardBrazilIoni Bowcher UNQUALIFIED
Maisha Q StockhamFranceXuxue Feng RENEWAL
Julie O SergiBrazilStephen Shaw PROPOSAL
Tony H FerenczGermanyAsiya Javayant UNQUALIFIED
Aika T CampainIndiaBernardo Dominic NEW
Tony P IturbideJapanAmy Elsner RENEWAL
Mujtaba N PaprockiCanadaIvan Magalhaes RENEWAL
Rodrigues J SchemmerAustraliaAsiya Javayant PROPOSAL
Wickens M ShinkoIndiaXuxue Feng UNQUALIFIED
Ricardo J BowleyBrazilOnyama Limba PROPOSAL
Misaki R FollerArgentinaIoni Bowcher NEGOTIATION
Francesco T StensethRussiaXuxue Feng NEGOTIATION
Murillo O RutaItalyIvan Magalhaes UNQUALIFIED
Emily M GlickAustraliaIoni Bowcher PROPOSAL
Juan W SlusarskiIndiaAmy Elsner NEW
Kaitlin R AmigonArgentinaStephen Shaw RENEWAL
Jennifer C MaletAustraliaAsiya Javayant NEW
Kaitlin D CaldareraRussiaOnyama Limba RENEWAL
Francesco V GarufiCanadaIoni Bowcher RENEWAL
Juan O DilliardGermanyIvan Magalhaes QUALIFIED
Juan J SergiSpainOnyama Limba PROPOSAL
Morrow M AmigonUnited KingdomAnna Fali UNQUALIFIED
Leja G VocelkaJapanOnyama Limba NEW
Jeanfrancois A RutaSpainAsiya Javayant UNQUALIFIED
Misaki G FerenczArgentinaAnna Fali PROPOSAL
Leja L AmigonItalyOnyama Limba RENEWAL
Octavia X OstroskySpainStephen Shaw RENEWAL
Jones H CaldareraArgentinaAsiya Javayant RENEWAL
Ashley C ChuiArgentinaStephen Shaw QUALIFIED
Maisha R CampainFranceAmy Elsner NEW
Kadeem B MaletItalyAsiya Javayant UNQUALIFIED
Claire U WhobreyCanadaAmy Elsner NEW
Leon H MarrierIndiaXuxue Feng QUALIFIED
Arvin Z SaylorsCanadaAsiya Javayant PROPOSAL
Chavez Y RulapaughSpainOnyama Limba RENEWAL
Frozen Columns
Name
Jefferson D Foller
Adams D Stenseth
Deepesh Y Kolmetz
Wickens F Nestle
Sinclair P Morasca
Chavez U Ferencz
Murillo S Vocelka
Morrow Y Caldarera
Costa U Paprocki
Octavia M Maclead
Stacey J Caldarera
Sinclair Z Iturbide
Antonio L Darakjy
Wickens G Bolognia
James I Albares
Emily R Perin
Juan Z Ferencz
Arvin I Malet
Nicolas S Whobrey
Darci U Rulapaugh
Octavia K Malet
Julie O Poquette
Claire K Bowley
Jeanfrancois D Glick
Jeanfrancois P Waycott
Emily Z Maclead
James N Rulapaugh
Misaki Y Darakjy
Johnson H Stockham
Deepesh I Figeroa
Maisha X Maclead
Morrow M Oldroyd
Cody T Briddick
Munro U Dilliard
Emily O Amigon
Murillo K Garufi
Jennifer J Oldroyd
Sinclair X Paprocki
Alejandro T Royster
Cody M Albares
Adams G Oldroyd
Faith Y Amigon
Ricardo Z Paprocki
Mayumi M Venere
Isabel N Campain
Deepesh J Stockham
Misaki V Rim
Jennifer H Bowley
Jennifer D Saylors
Claire T Foller
IdCountryDate
1000Russia2026-07-23
1001Canada2026-07-19
1002Japan2026-08-09
1003Japan2026-08-04
1004Spain2026-08-07
1005Italy2026-07-23
1006Australia2026-08-07
1007Germany2026-08-09
1008United Kingdom2026-08-01
1009India2026-07-18
1010Germany2026-07-20
1011Australia2026-07-19
1012Japan2026-08-12
1013Russia2026-07-24
1014Spain2026-08-04
1015Brazil2026-08-09
1016Germany2026-07-28
1017India2026-08-07
1018France2026-07-28
1019Russia2026-08-12
1020Brazil2026-08-05
1021India2026-07-23
1022Italy2026-08-13
1023United Kingdom2026-08-12
1024Russia2026-08-07
1025India2026-07-29
1026Germany2026-08-05
1027Brazil2026-07-22
1028France2026-08-08
1029Canada2026-07-24
1030Russia2026-07-22
1031Russia2026-08-09
1032Argentina2026-08-13
1033India2026-07-21
1034Brazil2026-08-10
1035Argentina2026-08-09
1036Australia2026-08-03
1037Germany2026-08-05
1038Italy2026-07-18
1039Argentina2026-08-02
1040Brazil2026-07-31
1041Australia2026-07-22
1042Russia2026-07-28
1043Italy2026-07-27
1044Argentina2026-07-28
1045Germany2026-08-14
1046Spain2026-07-22
1047Japan2026-07-21
1048Canada2026-08-07
1049Canada2026-07-26

On-Demand Data

NameIdCountryDate
Jennifer L Rim1000Australia2026-08-10
Izzy U Paprocki1001Canada2026-08-07
Antonio N Butt1002Russia2026-08-06
Salvatore F Butt1003Brazil2026-08-12
Aika K Royster1004Japan2026-07-16
Cody A Ruta1005Brazil2026-07-20
Aditya Z Caldarera1006Spain2026-08-13
Munro R Glick1007Brazil2026-07-30
Jones U Venere1008Spain2026-08-10
Octavia K Figeroa1009Brazil2026-08-06
Izzy Z Glick1010Germany2026-07-24
Deepesh J Briddick1011Japan2026-07-19
Jennifer M Marrier1012United Kingdom2026-08-09
Jennifer O Ferencz1013France2026-07-16
Nicolas P Bolognia1014Canada2026-07-25
Faith Y Venere1015Germany2026-08-03
Jefferson Z Saylors1016Brazil2026-07-31
Kadeem J Gillian1017Argentina2026-07-27
Mayumi L Malet1018Brazil2026-07-23
Emily C Bolognia1019Spain2026-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow U FigeroaItalyStephen Shaw PROPOSAL
Smith T GauchoBrazilBernardo Dominic NEW
Stacey Z MacleadCanadaOnyama Limba RENEWAL
Maria C MorascaFranceStephen Shaw NEW
Jefferson G KolmetzFranceIoni Bowcher PROPOSAL
Ivar A GillianBrazilAmy Elsner NEW
Faith K WhobreyIndiaBernardo Dominic PROPOSAL
Smith Q TollnerRussiaBernardo Dominic QUALIFIED
Greenwood T WhobreyUnited KingdomAmy Elsner NEGOTIATION
Aruna J GillianIndiaIoni Bowcher QUALIFIED
Adams X SlusarskiCanadaAsiya Javayant UNQUALIFIED
Arvin D NickaIndiaIoni Bowcher RENEWAL
Mayumi G WhobreyJapanIoni Bowcher NEW
Octavia P RoysterItalyStephen Shaw UNQUALIFIED
Mujtaba Y NickaFranceBernardo Dominic NEW
Wickens D BowleyFranceAsiya Javayant NEGOTIATION
Costa S KolmetzJapanAsiya Javayant NEW
Cody J AmigonBrazilIoni Bowcher NEW
Silvio V CaudyUnited KingdomAmy Elsner QUALIFIED
Mujtaba M StensethIndiaIvan Magalhaes QUALIFIED
David C FlosiAustraliaAsiya Javayant PROPOSAL
Francesco B CaudyGermanyIoni Bowcher UNQUALIFIED
Stacey H PaprockiArgentinaStephen Shaw NEGOTIATION
Johnson F KuskoFranceStephen Shaw RENEWAL
Mayumi T ChuiAustraliaStephen Shaw QUALIFIED
Greenwood A KolmetzCanadaIvan Magalhaes PROPOSAL
Juan O FollerIndiaStephen Shaw QUALIFIED
Munro Q PaprockiSpainBernardo Dominic NEGOTIATION
Mayumi E MarrierBrazilIvan Magalhaes UNQUALIFIED
Ricardo Z RoysterArgentinaXuxue Feng NEGOTIATION
Deepesh K NickaIndiaAnna Fali RENEWAL
Tony E SergiAustraliaStephen Shaw PROPOSAL
Johnson R AmigonFranceElwin Sharvill PROPOSAL
Faith K GarufiUnited KingdomBernardo Dominic PROPOSAL
Nicolas X BowleyRussiaOnyama Limba NEGOTIATION
Nicolas Q BologniaGermanyAsiya Javayant RENEWAL
Nicolas K AlbaresGermanyAmy Elsner NEW
Deepesh Q PaprockiRussiaIvan Magalhaes UNQUALIFIED
Nicolas W BriddickGermanyOnyama Limba RENEWAL
Nicolas Q ChuiCanadaXuxue Feng 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>