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
Ricardo F CaldareraAustraliaStephen Shaw RENEWAL
Juan K PerinUnited KingdomElwin Sharvill RENEWAL
Jefferson Y AlbaresBrazilBernardo Dominic UNQUALIFIED
Claire F GlickUnited KingdomOnyama Limba PROPOSAL
Ashley I DoeIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois E RoysterFranceOnyama Limba PROPOSAL
Mayumi A PoquetteUnited KingdomAnna Fali PROPOSAL
Ivar C InouyeUnited KingdomElwin Sharvill QUALIFIED
Misaki T StockhamItalyOnyama Limba NEW
Nicolas Y FollerItalyAmy Elsner QUALIFIED
Octavia E RutaItalyAmy Elsner NEGOTIATION
Kaitlin O SlusarskiJapanAmy Elsner RENEWAL
Mayumi L StockhamAustraliaBernardo Dominic QUALIFIED
Isabel J GlickCanadaStephen Shaw NEW
Munro X MaletItalyElwin Sharvill NEW
Maria U GarufiSpainElwin Sharvill NEGOTIATION
Johnson K PerinUnited KingdomBernardo Dominic QUALIFIED
James G MorascaUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin T ButtAustraliaXuxue Feng QUALIFIED
Emily J BologniaUnited KingdomElwin Sharvill QUALIFIED
Stacey Y GlickAustraliaAsiya Javayant RENEWAL
Juan C RutaSpainIvan Magalhaes NEW
Leon U PaprockiRussiaAsiya Javayant RENEWAL
Aika L OldroydGermanyElwin Sharvill UNQUALIFIED
Sinclair I RimUnited KingdomBernardo Dominic PROPOSAL
Salvatore V AlbaresJapanIvan Magalhaes UNQUALIFIED
Silvio Y BriddickUnited KingdomStephen Shaw UNQUALIFIED
Aditya T CaldareraUnited KingdomOnyama Limba RENEWAL
Johnson O RulapaughCanadaStephen Shaw PROPOSAL
Alejandro E RoysterRussiaAmy Elsner NEGOTIATION
Greenwood U BologniaRussiaElwin Sharvill UNQUALIFIED
Clifford P RoysterRussiaIvan Magalhaes RENEWAL
Misaki K KolmetzAustraliaOnyama Limba NEGOTIATION
Kaitlin B BriddickJapanIoni Bowcher NEW
Octavia Y MarrierFranceElwin Sharvill NEW
Stacey U DoeFranceAsiya Javayant NEW
Sinclair W OstroskyJapanOnyama Limba UNQUALIFIED
Francesco E NickaBrazilXuxue Feng PROPOSAL
Leja M RoysterAustraliaElwin Sharvill PROPOSAL
Maisha F CampainUnited KingdomStephen Shaw NEW
Adams E VenereGermanyElwin Sharvill QUALIFIED
Nicolas Z SergiArgentinaOnyama Limba NEGOTIATION
Ricardo H KuskoRussiaStephen Shaw QUALIFIED
Julie N PerinJapanAnna Fali RENEWAL
Aruna I CaldareraSpainOnyama Limba UNQUALIFIED
Antonio Q AmigonGermanyBernardo Dominic UNQUALIFIED
Silvio E IturbideGermanyOnyama Limba UNQUALIFIED
Francesco G FigeroaItalyElwin Sharvill NEGOTIATION
Leja O InouyeRussiaAsiya Javayant NEW
Claire C VenereIndiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin A ChuiRussiaAnna Fali NEW
Chavez P GlickIndiaBernardo Dominic NEGOTIATION
Alejandro V RimSpainIvan Magalhaes UNQUALIFIED
Clifford H PoquetteUnited KingdomAsiya Javayant PROPOSAL
Aruna F DoeIndiaAnna Fali QUALIFIED
Darci X SaylorsSpainAnna Fali UNQUALIFIED
Faith K MorascaIndiaBernardo Dominic UNQUALIFIED
Chavez D VocelkaSpainBernardo Dominic RENEWAL
Cody J WieserGermanyAnna Fali QUALIFIED
James S ChuiFranceIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo N KolmetzJapan2026-07-16Buckley Miller Wright NEGOTIATION52Amy Elsner
1001James R PerinItaly2026-07-17Printing Dimensions NEGOTIATION45Elwin Sharvill
1002Claire L GlickSpain2026-07-03Feltz Printing Service PROPOSAL94Asiya Javayant
1003Jeanfrancois A WieserCanada2026-07-09Rousseaux, Michael Esq RENEWAL57Asiya Javayant
1004James B GauchoCanada2026-06-29Feltz Printing Service UNQUALIFIED35Amy Elsner
1005Salvatore R CaldareraJapan2026-07-05Chemel, James L Cpa RENEWAL80Stephen Shaw
1006Munro S CaudyJapan2026-06-30Printing Dimensions UNQUALIFIED94Onyama Limba
1007Kaitlin Y PoquetteItaly2026-07-11Morlong Associates QUALIFIED62Anna Fali
1008Rodrigues P AlbaresJapan2026-07-01Rangoni Of Florence NEW17Onyama Limba
1009Mayumi A SlusarskiGermany2026-06-27Rousseaux, Michael Esq RENEWAL25Amy Elsner
1010Costa D OldroydRussia2026-06-26Morlong Associates NEGOTIATION91Stephen Shaw
1011Silvio N SaylorsCanada2026-07-04Buckley Miller Wright UNQUALIFIED28Onyama Limba
1012Chavez E WieserArgentina2026-07-15Chemel, James L Cpa NEW67Ivan Magalhaes
1013Darci F CaldareraAustralia2026-06-24Rangoni Of Florence NEGOTIATION50Elwin Sharvill
1014Faith Y KuskoIndia2026-06-24Morlong Associates NEW33Bernardo Dominic
1015Arvin E NickaItaly2026-06-25Chemel, James L Cpa NEGOTIATION26Ivan Magalhaes
1016Jefferson X FigeroaArgentina2026-07-18Rangoni Of Florence RENEWAL54Stephen Shaw
1017Arvin L FigeroaFrance2026-06-27Printing Dimensions NEW3Amy Elsner
1018Mayumi B VocelkaUnited Kingdom2026-07-21Benton, John B Jr QUALIFIED38Xuxue Feng
1019Munro Q DilliardSpain2026-07-19Benton, John B Jr NEW43Elwin Sharvill
1020Jefferson H VocelkaRussia2026-06-24Feltz Printing Service RENEWAL0Anna Fali
1021Isabel I MacleadRussia2026-07-05Feiner Bros QUALIFIED48Elwin Sharvill
1022Faith T WieserSpain2026-07-03Printing Dimensions UNQUALIFIED43Stephen Shaw
1023Alejandro W IturbideUnited Kingdom2026-07-05Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1024Wickens C InouyeRussia2026-07-04Commercial Press NEW92Ioni Bowcher
1025Sinclair O NestleIndia2026-07-18Chapman, Ross E Esq RENEWAL60Bernardo Dominic
1026Ashley Z BowleyJapan2026-07-05King, Christopher A Esq NEW42Asiya Javayant
1027Tony A OldroydAustralia2026-07-02Dorl, James J Esq QUALIFIED40Amy Elsner
1028Arvin C MaletArgentina2026-07-07King, Christopher A Esq PROPOSAL1Anna Fali
1029Morrow G DoeFrance2026-07-02Chapman, Ross E Esq UNQUALIFIED7Xuxue Feng
1030Isabel V FigeroaArgentina2026-06-28Feltz Printing Service QUALIFIED4Amy Elsner
1031Julie R FollerIndia2026-06-27Feltz Printing Service NEW16Bernardo Dominic
1032Izzy D GillianCanada2026-06-28Benton, John B Jr UNQUALIFIED50Xuxue Feng
1033Wickens X KuskoArgentina2026-07-18Rousseaux, Michael Esq UNQUALIFIED52Bernardo Dominic
1034Ricardo U StockhamItaly2026-07-08Benton, John B Jr UNQUALIFIED42Ivan Magalhaes
1035Smith T WhobreyItaly2026-07-21Rousseaux, Michael Esq RENEWAL62Amy Elsner
1036Claire Q OldroydCanada2026-06-29Truhlar And Truhlar Attys RENEWAL46Ioni Bowcher
1037Antonio M PerinArgentina2026-07-19Chemel, James L Cpa QUALIFIED16Onyama Limba
1038Jones Q MaletRussia2026-06-26Dorl, James J Esq NEW67Xuxue Feng
1039Isabel A FerenczFrance2026-06-29Dorl, James J Esq NEW87Bernardo Dominic
1040Greenwood I MaletAustralia2026-07-08Benton, John B Jr PROPOSAL33Ioni Bowcher
1041Alejandro P DoeIndia2026-06-24Commercial Press RENEWAL77Onyama Limba
1042Leja D GauchoItaly2026-06-26Benton, John B Jr NEGOTIATION88Stephen Shaw
1043Octavia B GillianSpain2026-07-03Chapman, Ross E Esq NEW94Anna Fali
1044Kadeem M ChuiAustralia2026-07-13Morlong Associates RENEWAL25Onyama Limba
1045Maisha N RulapaughItaly2026-06-24Chanay, Jeffrey A Esq NEW73Stephen Shaw
1046Salvatore J SchemmerSpain2026-07-12Commercial Press QUALIFIED59Stephen Shaw
1047Emily L BowleyUnited Kingdom2026-06-23Chemel, James L Cpa QUALIFIED60Xuxue Feng
1048Ricardo M PerinJapan2026-07-18Commercial Press NEW16Anna Fali
1049Alejandro L SaylorsGermany2026-06-29Chemel, James L Cpa NEW95Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo A PoquetteBrazilAsiya Javayant QUALIFIED
Silvio T AmigonFranceIoni Bowcher RENEWAL
Kaitlin J BowleyItalyAsiya Javayant NEGOTIATION
Misaki I OstroskyAustraliaAsiya Javayant RENEWAL
Juan R GillianArgentinaAnna Fali NEW
Aruna H BowleyAustraliaAnna Fali NEW
Greenwood M DilliardFranceXuxue Feng NEW
Stacey E RulapaughUnited KingdomAnna Fali QUALIFIED
Claire H CampainCanadaAnna Fali NEGOTIATION
Jefferson Q BriddickCanadaOnyama Limba UNQUALIFIED
Wickens P RimGermanyAnna Fali QUALIFIED
David Z WhobreyCanadaStephen Shaw RENEWAL
Ivar U OldroydUnited KingdomBernardo Dominic QUALIFIED
Nicolas U ShinkoSpainAnna Fali PROPOSAL
Ricardo B MaletGermanyOnyama Limba PROPOSAL
Izzy I MaletFranceAmy Elsner NEW
Maisha B OstroskyCanadaStephen Shaw NEW
Claire U GlickItalyIvan Magalhaes RENEWAL
Ricardo E CaudyIndiaXuxue Feng NEGOTIATION
Kaitlin C MarrierItalyIoni Bowcher NEW
Costa U StockhamSpainAmy Elsner QUALIFIED
Greenwood E RoysterItalyElwin Sharvill QUALIFIED
Aruna O BriddickCanadaBernardo Dominic NEW
Juan J DarakjyGermanyElwin Sharvill NEGOTIATION
Jennifer K ChuiGermanyOnyama Limba PROPOSAL
Arvin X BowleyBrazilOnyama Limba QUALIFIED
Mujtaba K IturbideIndiaIvan Magalhaes UNQUALIFIED
Kadeem A ButtCanadaIoni Bowcher NEW
Morrow H KolmetzItalyElwin Sharvill PROPOSAL
Deepesh S PaprockiIndiaIvan Magalhaes NEW
Johnson N RimIndiaAmy Elsner RENEWAL
Maria T IturbideUnited KingdomOnyama Limba UNQUALIFIED
Aditya R SergiItalyStephen Shaw QUALIFIED
Morrow Q VocelkaArgentinaElwin Sharvill NEW
Salvatore W StensethBrazilXuxue Feng NEW
Leon I GarufiAustraliaBernardo Dominic NEW
Leon I StockhamArgentinaElwin Sharvill PROPOSAL
Aruna K WhobreyJapanAsiya Javayant NEW
Chavez O VocelkaRussiaIvan Magalhaes QUALIFIED
Aruna S IturbideCanadaOnyama Limba NEW
Murillo V RulapaughIndiaAnna Fali NEGOTIATION
Maria K ShinkoUnited KingdomAnna Fali NEW
Jefferson Q OstroskyJapanXuxue Feng PROPOSAL
Maria Q GlickUnited KingdomAmy Elsner PROPOSAL
David N KolmetzArgentinaAmy Elsner PROPOSAL
Mayumi V GlickCanadaStephen Shaw QUALIFIED
Maria C MacleadItalyElwin Sharvill QUALIFIED
Ashley O StensethRussiaAmy Elsner UNQUALIFIED
Francesco U MarrierGermanyIvan Magalhaes NEGOTIATION
Mujtaba O RimSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Leon Z Nicka
Mayumi M Inouye
Silvio A Rulapaugh
Cody L Shinko
Silvio U Rulapaugh
Tony R Slusarski
Kadeem F Flosi
Julie S Vocelka
James Y Kolmetz
Misaki U Albares
Munro Y Oldroyd
Juan R Royster
Darci L Campain
Aruna K Caldarera
Nicolas G Malet
Julie B Kusko
Nicolas K Nestle
Faith Q Glick
Murillo Z Briddick
Mayumi I Royster
Mujtaba R Slusarski
Ivar L Malet
Maria T Stenseth
Cody O Slusarski
Wickens P Morasca
Misaki W Gillian
Munro Y Nicka
Sinclair S Chui
Aditya P Venere
Leon G Rulapaugh
Jennifer Q Stockham
Juan F Bolognia
Murillo W Schemmer
Mayumi Z Amigon
Cody N Whobrey
Leja C Rim
Aditya H Chui
Silvio F Stockham
Izzy M Rim
Aruna Y Vocelka
James R Figeroa
Izzy H Darakjy
Alejandro Y Slusarski
Ricardo I Maclead
Chavez F Doe
Deepesh B Oldroyd
Juan M Darakjy
Izzy V Ferencz
Alejandro T Wieser
Silvio Z Chui
IdCountryDate
1000Spain2026-07-15
1001United Kingdom2026-07-10
1002India2026-07-08
1003Germany2026-07-03
1004Russia2026-07-06
1005France2026-07-19
1006Germany2026-07-19
1007India2026-07-13
1008India2026-06-23
1009India2026-07-17
1010Spain2026-07-08
1011Spain2026-07-14
1012Brazil2026-07-20
1013Italy2026-07-13
1014Russia2026-06-25
1015Brazil2026-07-04
1016Argentina2026-07-16
1017Brazil2026-07-21
1018Italy2026-06-26
1019Australia2026-07-22
1020Australia2026-07-12
1021Australia2026-07-11
1022France2026-06-24
1023Spain2026-06-27
1024United Kingdom2026-06-30
1025Argentina2026-06-29
1026Australia2026-07-10
1027Russia2026-07-08
1028Argentina2026-07-21
1029Russia2026-07-20
1030Canada2026-07-06
1031Italy2026-07-05
1032Germany2026-06-28
1033Italy2026-07-03
1034Argentina2026-07-04
1035United Kingdom2026-06-24
1036Germany2026-07-15
1037Germany2026-07-07
1038Australia2026-07-10
1039Italy2026-06-24
1040India2026-07-16
1041Germany2026-07-07
1042France2026-06-26
1043Russia2026-06-25
1044Italy2026-07-08
1045Brazil2026-07-15
1046Canada2026-07-10
1047Argentina2026-06-26
1048Russia2026-06-25
1049Australia2026-07-10

On-Demand Data

NameIdCountryDate
Aditya F Garufi1000Australia2026-07-16
Ivar F Wieser1001Spain2026-07-02
Kaitlin J Bolognia1002Italy2026-06-29
Mujtaba Z Figeroa1003Canada2026-06-27
Ricardo U Doe1004United Kingdom2026-07-05
Kaitlin J Figeroa1005Russia2026-07-06
Smith J Venere1006Spain2026-07-07
Ashley O Slusarski1007Spain2026-07-19
Arvin B Caudy1008United Kingdom2026-07-06
Arvin L Sergi1009Spain2026-07-21
Nicolas R Albares1010Spain2026-07-06
James B Schemmer1011Australia2026-06-27
James L Paprocki1012Russia2026-07-17
Chavez Z Stenseth1013India2026-06-25
Costa K Tollner1014Germany2026-06-27
Cody V Slusarski1015Canada2026-06-30
Jefferson W Dilliard1016Germany2026-06-29
Cody M Ferencz1017Germany2026-07-20
Emily Q Royster1018Argentina2026-07-03
Greenwood G Oldroyd1019United Kingdom2026-07-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio E StensethCanadaStephen Shaw NEGOTIATION
Faith O MacleadCanadaIoni Bowcher QUALIFIED
Isabel D StockhamJapanElwin Sharvill UNQUALIFIED
Smith O TollnerArgentinaIvan Magalhaes NEGOTIATION
Isabel I GillianSpainAmy Elsner RENEWAL
Kadeem L MarrierGermanyBernardo Dominic NEGOTIATION
Mujtaba X PoquetteFranceElwin Sharvill PROPOSAL
Darci U DilliardFranceAsiya Javayant NEW
Cody P DilliardItalyIvan Magalhaes PROPOSAL
Cody A StockhamBrazilAsiya Javayant RENEWAL
Jefferson R MarrierArgentinaElwin Sharvill RENEWAL
Julie K FollerJapanAmy Elsner RENEWAL
Aika S CaudyIndiaOnyama Limba UNQUALIFIED
Francesco B PerinBrazilAsiya Javayant NEW
Kaitlin A FlosiBrazilAnna Fali UNQUALIFIED
Kaitlin J FigeroaRussiaAnna Fali UNQUALIFIED
Aika T NickaUnited KingdomOnyama Limba NEGOTIATION
Maisha E PaprockiGermanyAnna Fali PROPOSAL
Alejandro U FigeroaFranceElwin Sharvill QUALIFIED
Misaki F StockhamFranceStephen Shaw UNQUALIFIED
Mayumi R FerenczItalyOnyama Limba UNQUALIFIED
Izzy P StockhamFranceAnna Fali NEW
Kadeem X ShinkoGermanyAmy Elsner UNQUALIFIED
Maria R MorascaGermanyAnna Fali RENEWAL
Emily U PerinUnited KingdomIvan Magalhaes PROPOSAL
Murillo Y FigeroaJapanAnna Fali UNQUALIFIED
Aika I FerenczArgentinaIoni Bowcher PROPOSAL
Juan A GlickIndiaStephen Shaw PROPOSAL
Stacey Z GauchoSpainStephen Shaw NEGOTIATION
Silvio Y StockhamRussiaOnyama Limba RENEWAL
Wickens T WhobreyGermanyIvan Magalhaes NEW
Jones X CampainCanadaOnyama Limba QUALIFIED
Mujtaba R NestleFranceAnna Fali RENEWAL
Stacey H FigeroaSpainAnna Fali NEGOTIATION
Antonio O OldroydBrazilBernardo Dominic UNQUALIFIED
Munro V PoquetteRussiaStephen Shaw NEW
Clifford B WieserUnited KingdomAmy Elsner RENEWAL
Julie L RoysterRussiaOnyama Limba NEGOTIATION
Octavia X NestleBrazilXuxue Feng NEW
Aruna F DilliardUnited KingdomAnna Fali 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>