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
Izzy K GlickIndiaBernardo Dominic PROPOSAL
Costa O FlosiSpainBernardo Dominic NEGOTIATION
Maria X IturbideAustraliaAsiya Javayant NEW
Antonio I DoeBrazilElwin Sharvill NEW
Faith T BriddickBrazilOnyama Limba QUALIFIED
Ivar H GarufiSpainStephen Shaw NEGOTIATION
Rodrigues A FlosiUnited KingdomAnna Fali NEW
Chavez F GarufiAustraliaElwin Sharvill UNQUALIFIED
Leon L DilliardGermanyBernardo Dominic UNQUALIFIED
Julie T NestleRussiaOnyama Limba UNQUALIFIED
Jefferson O FerenczAustraliaStephen Shaw RENEWAL
James M MacleadRussiaAsiya Javayant UNQUALIFIED
Deepesh X MaletCanadaElwin Sharvill PROPOSAL
Octavia E PerinRussiaOnyama Limba RENEWAL
Darci X IturbideRussiaAsiya Javayant QUALIFIED
Rodrigues V MacleadCanadaIvan Magalhaes UNQUALIFIED
Juan U FollerBrazilAmy Elsner QUALIFIED
Faith V OstroskyItalyXuxue Feng NEGOTIATION
Cody G WhobreyCanadaAnna Fali PROPOSAL
Maria U DoeRussiaAmy Elsner NEW
Mujtaba I BologniaIndiaElwin Sharvill UNQUALIFIED
Rodrigues N MarrierUnited KingdomOnyama Limba PROPOSAL
Julie W StensethAustraliaOnyama Limba UNQUALIFIED
Mujtaba U OldroydArgentinaElwin Sharvill UNQUALIFIED
Maria B PerinAustraliaStephen Shaw NEW
Aruna X PaprockiItalyAsiya Javayant UNQUALIFIED
Cody M MorascaGermanyElwin Sharvill UNQUALIFIED
Arvin H WaycottFranceElwin Sharvill NEW
Mayumi J SaylorsIndiaAnna Fali NEW
Johnson G FigeroaArgentinaAmy Elsner UNQUALIFIED
Aika R WaycottUnited KingdomBernardo Dominic NEGOTIATION
Misaki C PaprockiUnited KingdomAnna Fali NEW
Misaki S ChuiBrazilXuxue Feng NEW
Juan O AmigonBrazilAsiya Javayant NEGOTIATION
Wickens H GlickIndiaIoni Bowcher PROPOSAL
Alejandro I MacleadUnited KingdomBernardo Dominic NEGOTIATION
Wickens R GillianArgentinaIoni Bowcher QUALIFIED
Aditya C VocelkaAustraliaElwin Sharvill NEGOTIATION
Alejandro L AlbaresAustraliaIvan Magalhaes NEGOTIATION
Leon L IturbideBrazilAmy Elsner NEW
Aruna Q KolmetzIndiaAmy Elsner NEW
Jefferson E GarufiFranceIvan Magalhaes QUALIFIED
Julie U RutaItalyOnyama Limba QUALIFIED
Murillo S BowleyArgentinaIvan Magalhaes UNQUALIFIED
David U AlbaresUnited KingdomIvan Magalhaes NEW
Cody A GillianGermanyIoni Bowcher QUALIFIED
Emily W KolmetzArgentinaAsiya Javayant UNQUALIFIED
Isabel F RutaJapanAsiya Javayant UNQUALIFIED
Morrow S WieserSpainAmy Elsner UNQUALIFIED
Octavia S FerenczIndiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer K MaletFranceAmy Elsner NEGOTIATION
Munro C ShinkoSpainIoni Bowcher NEGOTIATION
Costa L SchemmerUnited KingdomStephen Shaw PROPOSAL
Costa U AmigonArgentinaElwin Sharvill UNQUALIFIED
Sinclair C AlbaresArgentinaXuxue Feng QUALIFIED
Murillo T KuskoCanadaAnna Fali NEW
Wickens H RoysterSpainElwin Sharvill NEGOTIATION
Kaitlin T VenereIndiaIvan Magalhaes NEW
Silvio N GarufiItalyIoni Bowcher NEW
Nicolas F IturbideFranceStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore M SergiBrazil2025-06-16Commercial Press PROPOSAL7Stephen Shaw
1001Wickens G SaylorsBrazil2025-06-05Printing Dimensions UNQUALIFIED50Amy Elsner
1002Jones O AlbaresCanada2025-05-18King, Christopher A Esq UNQUALIFIED3Amy Elsner
1003Jeanfrancois R CaldareraRussia2025-05-31Printing Dimensions RENEWAL72Bernardo Dominic
1004Mayumi W GarufiFrance2025-05-29Feiner Bros NEW42Amy Elsner
1005James S GillianAustralia2025-06-02King, Christopher A Esq QUALIFIED68Stephen Shaw
1006Juan E AmigonRussia2025-05-29Rangoni Of Florence QUALIFIED59Bernardo Dominic
1007Clifford E BriddickJapan2025-05-21Chapman, Ross E Esq RENEWAL19Ivan Magalhaes
1008Alejandro R CaudySpain2025-06-05Benton, John B Jr UNQUALIFIED67Ivan Magalhaes
1009Ashley B DilliardItaly2025-05-30Chemel, James L Cpa NEW43Ioni Bowcher
1010David A FerenczUnited Kingdom2025-06-05Morlong Associates NEGOTIATION9Bernardo Dominic
1011Sinclair N VenereArgentina2025-06-06Rousseaux, Michael Esq RENEWAL13Anna Fali
1012Julie J ButtFrance2025-05-28King, Christopher A Esq NEGOTIATION54Anna Fali
1013Francesco S CaldareraCanada2025-05-22Morlong Associates NEW4Elwin Sharvill
1014Ricardo M KuskoIndia2025-06-06Commercial Press NEGOTIATION96Ivan Magalhaes
1015Francesco P CaldareraRussia2025-05-27Feltz Printing Service RENEWAL78Stephen Shaw
1016Darci E DilliardRussia2025-05-20Chapman, Ross E Esq UNQUALIFIED62Anna Fali
1017Aditya W BriddickJapan2025-06-09King, Christopher A Esq RENEWAL81Bernardo Dominic
1018Ricardo R ChuiItaly2025-06-08Chanay, Jeffrey A Esq QUALIFIED24Onyama Limba
1019Francesco T MarrierIndia2025-05-24Feiner Bros PROPOSAL36Asiya Javayant
1020Greenwood T NickaGermany2025-05-28Dorl, James J Esq RENEWAL24Bernardo Dominic
1021Wickens B RoysterRussia2025-05-27Dorl, James J Esq RENEWAL5Anna Fali
1022Kaitlin I GlickFrance2025-06-09Dorl, James J Esq UNQUALIFIED32Anna Fali
1023Mayumi L DoeIndia2025-06-05Rangoni Of Florence NEGOTIATION46Bernardo Dominic
1024Aditya D VocelkaSpain2025-06-11Dorl, James J Esq NEW20Anna Fali
1025Sinclair G NestleSpain2025-06-05Chanay, Jeffrey A Esq QUALIFIED78Anna Fali
1026Faith F MacleadFrance2025-06-15Printing Dimensions NEW91Ivan Magalhaes
1027Nicolas F NestleCanada2025-06-10Chapman, Ross E Esq PROPOSAL10Bernardo Dominic
1028Francesco K ShinkoSpain2025-06-01King, Christopher A Esq NEGOTIATION43Elwin Sharvill
1029Mayumi P SaylorsBrazil2025-05-31Chanay, Jeffrey A Esq PROPOSAL17Ivan Magalhaes
1030Ricardo L RoysterFrance2025-05-24Rangoni Of Florence RENEWAL75Stephen Shaw
1031Salvatore K SergiIndia2025-05-26Rangoni Of Florence PROPOSAL18Xuxue Feng
1032Wickens E FerenczUnited Kingdom2025-05-28Feltz Printing Service NEW90Xuxue Feng
1033Kaitlin N OstroskyArgentina2025-05-26Chapman, Ross E Esq UNQUALIFIED53Ivan Magalhaes
1034Mujtaba T BowleyBrazil2025-05-25Dorl, James J Esq NEGOTIATION94Asiya Javayant
1035Antonio A DarakjyFrance2025-05-29Morlong Associates NEGOTIATION60Amy Elsner
1036Costa A AmigonAustralia2025-06-15Commercial Press UNQUALIFIED78Elwin Sharvill
1037Jefferson I ButtGermany2025-05-28Feltz Printing Service UNQUALIFIED56Anna Fali
1038Tony D SchemmerRussia2025-05-25Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1039Kadeem D BowleyAustralia2025-06-04Feiner Bros PROPOSAL26Asiya Javayant
1040Nicolas U PerinCanada2025-06-07Dorl, James J Esq PROPOSAL49Amy Elsner
1041Julie T AlbaresBrazil2025-06-07Truhlar And Truhlar Attys UNQUALIFIED93Stephen Shaw
1042Nicolas R GarufiSpain2025-05-19Commercial Press NEGOTIATION69Onyama Limba
1043Morrow U BriddickIndia2025-06-04Chanay, Jeffrey A Esq NEW87Stephen Shaw
1044Darci M InouyeFrance2025-06-12Commercial Press RENEWAL75Amy Elsner
1045Greenwood Z SlusarskiIndia2025-06-05Chemel, James L Cpa NEW84Elwin Sharvill
1046Claire N MacleadRussia2025-05-18Morlong Associates RENEWAL62Ioni Bowcher
1047Kaitlin X FerenczCanada2025-05-25Commercial Press NEW89Stephen Shaw
1048Smith P MorascaJapan2025-06-02Truhlar And Truhlar Attys UNQUALIFIED60Ioni Bowcher
1049Deepesh I FerenczArgentina2025-06-03Chemel, James L Cpa NEGOTIATION8Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Alejandro K MarrierRussiaAnna Fali NEGOTIATION
Maria F DoeFranceOnyama Limba QUALIFIED
Misaki K GillianFranceIvan Magalhaes NEW
Munro H WhobreyAustraliaIoni Bowcher QUALIFIED
Antonio U AlbaresFranceBernardo Dominic UNQUALIFIED
Tony U ChuiJapanStephen Shaw PROPOSAL
Izzy P BowleyJapanIoni Bowcher RENEWAL
Clifford Z FlosiRussiaElwin Sharvill QUALIFIED
Kadeem Z OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Maisha B BowleyJapanStephen Shaw UNQUALIFIED
Sinclair G RoysterAustraliaIvan Magalhaes RENEWAL
Jefferson G FlosiJapanAmy Elsner UNQUALIFIED
Leja O StockhamAustraliaAmy Elsner QUALIFIED
Silvio Z VenereIndiaAsiya Javayant QUALIFIED
Arvin B GarufiBrazilIoni Bowcher QUALIFIED
Clifford V GillianAustraliaIvan Magalhaes QUALIFIED
Aika A WieserRussiaIvan Magalhaes NEGOTIATION
Munro G FlosiRussiaElwin Sharvill QUALIFIED
James F CaldareraArgentinaAsiya Javayant NEGOTIATION
Stacey I AlbaresArgentinaAnna Fali QUALIFIED
Jefferson B SaylorsRussiaXuxue Feng RENEWAL
Faith N ChuiCanadaBernardo Dominic NEW
Munro M OldroydAustraliaXuxue Feng UNQUALIFIED
Aika X InouyeFranceXuxue Feng NEGOTIATION
Aruna V GlickJapanIvan Magalhaes PROPOSAL
Aruna S NestleArgentinaElwin Sharvill NEW
Jefferson T RulapaughGermanyBernardo Dominic NEGOTIATION
Costa Q MarrierArgentinaElwin Sharvill UNQUALIFIED
Johnson O GillianItalyAmy Elsner NEGOTIATION
Greenwood E PoquetteBrazilOnyama Limba NEW
Leon W DarakjyFranceIvan Magalhaes UNQUALIFIED
Sinclair Y PoquetteBrazilXuxue Feng NEGOTIATION
Juan P SaylorsItalyAmy Elsner RENEWAL
Ashley I IturbideIndiaAsiya Javayant QUALIFIED
Jefferson X ShinkoRussiaBernardo Dominic PROPOSAL
Chavez Y FigeroaRussiaAnna Fali UNQUALIFIED
Aditya B GarufiItalyXuxue Feng NEGOTIATION
Francesco S StensethRussiaAmy Elsner NEGOTIATION
Costa V KuskoFranceAsiya Javayant QUALIFIED
Kadeem B TollnerRussiaAmy Elsner UNQUALIFIED
Greenwood I FerenczCanadaAnna Fali PROPOSAL
Mayumi B KolmetzJapanOnyama Limba NEW
Chavez P BriddickSpainIvan Magalhaes RENEWAL
Silvio J KolmetzRussiaElwin Sharvill NEW
Deepesh M PerinUnited KingdomElwin Sharvill NEW
Antonio N BowleyFranceBernardo Dominic NEGOTIATION
Isabel V GarufiArgentinaAsiya Javayant RENEWAL
Clifford T BologniaJapanOnyama Limba QUALIFIED
Sinclair X DoeGermanyBernardo Dominic RENEWAL
Sinclair D GauchoItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Maisha R Briddick
Octavia R Ostrosky
Stacey H Nestle
Maisha B Malet
Adams C Dilliard
Murillo C Albares
Mayumi L Campain
Nicolas F Royster
Leja Y Flosi
Claire Z Royster
Ivar N Campain
Aruna Z Flosi
Julie F Tollner
Jennifer G Inouye
Isabel B Sergi
Juan S Slusarski
Maria J Schemmer
Rodrigues D Rim
Jennifer O Albares
Isabel B Albares
Izzy E Shinko
Greenwood U Rim
Arvin L Stenseth
Ricardo W Whobrey
Ivar V Glick
Johnson L Flosi
Francesco K Waycott
Adams E Tollner
Salvatore K Garufi
Sinclair A Figeroa
Aika U Shinko
Jeanfrancois A Shinko
Arvin M Tollner
Murillo E Inouye
Jones Q Bowley
Misaki D Dilliard
Ricardo D Ruta
Rodrigues E Darakjy
Nicolas D Kusko
Ivar E Caldarera
Isabel W Sergi
Costa S Royster
James N Slusarski
Francesco U Morasca
Adams W Marrier
Ricardo Q Flosi
Kaitlin F Butt
Alejandro D Shinko
Salvatore R Venere
Izzy G Iturbide
IdCountryDate
1000Japan2025-06-10
1001Italy2025-06-02
1002France2025-05-28
1003India2025-06-02
1004Spain2025-06-07
1005Germany2025-05-19
1006Germany2025-05-29
1007Germany2025-05-28
1008India2025-05-27
1009Canada2025-05-20
1010Russia2025-05-25
1011Italy2025-06-10
1012Germany2025-05-20
1013Canada2025-05-23
1014Russia2025-06-11
1015Canada2025-05-26
1016Argentina2025-06-02
1017Canada2025-05-28
1018Spain2025-06-05
1019France2025-05-20
1020Argentina2025-06-04
1021France2025-06-07
1022Germany2025-06-14
1023Russia2025-06-04
1024Germany2025-05-22
1025France2025-06-07
1026Canada2025-05-27
1027Japan2025-06-05
1028Japan2025-05-21
1029Australia2025-06-14
1030Australia2025-05-24
1031Argentina2025-06-04
1032Italy2025-06-06
1033Spain2025-05-28
1034Japan2025-06-02
1035Italy2025-05-22
1036Canada2025-06-13
1037Russia2025-06-04
1038Japan2025-05-27
1039France2025-05-24
1040Argentina2025-05-18
1041India2025-06-12
1042Australia2025-06-12
1043Japan2025-06-10
1044Argentina2025-05-26
1045India2025-05-20
1046Japan2025-06-12
1047United Kingdom2025-06-12
1048Canada2025-05-27
1049Spain2025-05-24

On-Demand Data

NameIdCountryDate
Mayumi D Albares1000Australia2025-06-10
Isabel B Malet1001United Kingdom2025-05-27
Octavia Z Tollner1002Spain2025-06-01
Faith P Stenseth1003Spain2025-05-30
Isabel Z Figeroa1004Australia2025-06-16
Maisha F Darakjy1005United Kingdom2025-05-22
Stacey C Wieser1006Germany2025-05-28
Leon J Glick1007Germany2025-06-04
Kadeem Y Garufi1008Australia2025-06-13
Emily Y Tollner1009Germany2025-06-02
Tony C Sergi1010Australia2025-05-25
Darci F Stenseth1011Argentina2025-06-15
Chavez G Slusarski1012Japan2025-06-07
Ashley Y Gaucho1013Germany2025-05-28
Jeanfrancois N Caudy1014Argentina2025-05-23
Ricardo B Royster1015Japan2025-06-10
Izzy O Sergi1016France2025-06-12
Ivar C Shinko1017Argentina2025-05-18
Munro A Marrier1018Japan2025-05-21
Julie G Stockham1019Japan2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood Q AlbaresFranceAnna Fali QUALIFIED
Julie J KuskoBrazilBernardo Dominic PROPOSAL
Adams H RoysterUnited KingdomAsiya Javayant NEW
Chavez W DoeItalyIvan Magalhaes NEW
Kaitlin L CaldareraSpainIoni Bowcher RENEWAL
Arvin X WhobreyUnited KingdomIvan Magalhaes RENEWAL
Ivar V InouyeAustraliaAnna Fali NEGOTIATION
Maria E KuskoCanadaElwin Sharvill NEW
Costa E VocelkaUnited KingdomXuxue Feng PROPOSAL
Julie J SaylorsBrazilAsiya Javayant RENEWAL
Misaki G MaletAustraliaStephen Shaw NEW
Jefferson A FollerFranceElwin Sharvill NEGOTIATION
Rodrigues G FollerUnited KingdomAsiya Javayant UNQUALIFIED
Cody G CampainGermanyOnyama Limba NEW
Antonio Z NestleFranceIoni Bowcher RENEWAL
Francesco W WaycottItalyIoni Bowcher NEGOTIATION
Aika I GillianFranceAnna Fali NEW
Sinclair E WaycottSpainAnna Fali NEW
Clifford O OldroydUnited KingdomStephen Shaw QUALIFIED
Johnson R RimFranceIoni Bowcher QUALIFIED
Claire Y FollerRussiaXuxue Feng UNQUALIFIED
Wickens G CaudyJapanIoni Bowcher NEGOTIATION
Smith D DilliardItalyAmy Elsner RENEWAL
Jeanfrancois H BriddickCanadaAsiya Javayant RENEWAL
Maria T WieserUnited KingdomStephen Shaw UNQUALIFIED
Silvio C WhobreyItalyElwin Sharvill PROPOSAL
Aruna H PoquetteRussiaIvan Magalhaes NEGOTIATION
Maria R DoeBrazilElwin Sharvill PROPOSAL
Munro W CaudyAustraliaStephen Shaw NEW
Izzy Y BologniaRussiaAnna Fali RENEWAL
Jennifer K KolmetzUnited KingdomElwin Sharvill QUALIFIED
Silvio Z ButtItalyAnna Fali NEGOTIATION
Kaitlin K DilliardAustraliaElwin Sharvill NEW
Clifford K WhobreyItalyAsiya Javayant PROPOSAL
Morrow A AlbaresGermanyElwin Sharvill QUALIFIED
Maisha E PerinJapanStephen Shaw UNQUALIFIED
Cody Z DarakjyJapanBernardo Dominic UNQUALIFIED
Claire C GlickCanadaOnyama Limba UNQUALIFIED
Juan Y StockhamCanadaXuxue Feng PROPOSAL
Jeanfrancois L GillianItalyBernardo Dominic UNQUALIFIED

<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>