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
Deepesh Z BologniaFranceIoni Bowcher NEGOTIATION
Chavez X AmigonRussiaAsiya Javayant NEGOTIATION
Aika M CaldareraFranceIvan Magalhaes NEW
Aditya H VenereArgentinaAmy Elsner NEGOTIATION
Maisha N DarakjyItalyAnna Fali QUALIFIED
Octavia V ShinkoFranceAsiya Javayant RENEWAL
Aditya O OldroydSpainElwin Sharvill NEW
Salvatore N ButtItalyOnyama Limba RENEWAL
Nicolas E WaycottIndiaIvan Magalhaes NEGOTIATION
Tony F DilliardItalyIvan Magalhaes PROPOSAL
Mayumi W DoeAustraliaOnyama Limba UNQUALIFIED
James X MaletBrazilOnyama Limba NEW
Francesco K PerinRussiaElwin Sharvill NEW
Leja V MacleadBrazilAmy Elsner NEGOTIATION
Tony V MarrierGermanyIoni Bowcher NEGOTIATION
Alejandro W MaletIndiaStephen Shaw NEW
Chavez N SlusarskiFranceAnna Fali NEW
Misaki D GauchoCanadaIvan Magalhaes RENEWAL
Aika Q CaldareraArgentinaBernardo Dominic PROPOSAL
Misaki C CaldareraJapanIvan Magalhaes NEGOTIATION
Murillo L InouyeJapanElwin Sharvill NEW
Jones L OldroydCanadaElwin Sharvill UNQUALIFIED
Chavez Z CaldareraRussiaStephen Shaw PROPOSAL
Maisha G GillianAustraliaElwin Sharvill PROPOSAL
Tony S VocelkaAustraliaAsiya Javayant RENEWAL
Ashley E SlusarskiJapanIoni Bowcher NEGOTIATION
Jones C StensethAustraliaIoni Bowcher UNQUALIFIED
Julie Y PerinBrazilIvan Magalhaes RENEWAL
Arvin L StockhamIndiaIvan Magalhaes NEW
Greenwood Q PoquetteFranceAmy Elsner UNQUALIFIED
Izzy L StockhamRussiaIoni Bowcher RENEWAL
Johnson Q VocelkaRussiaOnyama Limba NEGOTIATION
Kaitlin O RulapaughItalyIvan Magalhaes NEW
Clifford W FlosiSpainIvan Magalhaes RENEWAL
Kadeem Z MaletCanadaBernardo Dominic RENEWAL
Mayumi Y WaycottFranceStephen Shaw NEGOTIATION
Murillo T PoquetteUnited KingdomIvan Magalhaes NEW
Claire X RoysterArgentinaBernardo Dominic PROPOSAL
Tony K SlusarskiFranceOnyama Limba NEW
Ivar T FollerArgentinaStephen Shaw UNQUALIFIED
Maria Y BriddickUnited KingdomIvan Magalhaes NEW
Faith L NestleUnited KingdomIoni Bowcher NEW
Isabel V PaprockiSpainAmy Elsner NEGOTIATION
Misaki L MaletCanadaBernardo Dominic NEGOTIATION
Maria Z MacleadSpainIoni Bowcher NEGOTIATION
Morrow G RulapaughBrazilOnyama Limba QUALIFIED
Chavez V MaletItalyAnna Fali NEGOTIATION
Maria O CaldareraRussiaIoni Bowcher NEW
Jeanfrancois P MacleadUnited KingdomAnna Fali RENEWAL
Juan M VenereArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois B MacleadGermanyIvan Magalhaes QUALIFIED
Deepesh A CampainFranceElwin Sharvill NEGOTIATION
Greenwood M MorascaUnited KingdomAnna Fali RENEWAL
Chavez J BowleySpainIvan Magalhaes PROPOSAL
Salvatore Y RoysterItalyAmy Elsner PROPOSAL
Rodrigues I FigeroaIndiaAmy Elsner PROPOSAL
Misaki Y SergiFranceAmy Elsner RENEWAL
Adams Y MaletAustraliaAnna Fali RENEWAL
Faith Y SergiItalyAsiya Javayant PROPOSAL
Greenwood Y DoeIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley C RulapaughGermany2026-07-17Truhlar And Truhlar Attys QUALIFIED32Elwin Sharvill
1001Isabel S MaletJapan2026-07-31Dorl, James J Esq UNQUALIFIED5Amy Elsner
1002Faith R RoysterJapan2026-07-15Morlong Associates NEGOTIATION60Elwin Sharvill
1003Antonio R VocelkaBrazil2026-07-09Chanay, Jeffrey A Esq PROPOSAL96Xuxue Feng
1004Antonio Q RoysterAustralia2026-07-12Rousseaux, Michael Esq NEGOTIATION94Onyama Limba
1005Munro T FollerIndia2026-07-06Printing Dimensions RENEWAL13Ioni Bowcher
1006Maisha Y DoeItaly2026-07-08Benton, John B Jr QUALIFIED71Stephen Shaw
1007Murillo V NestleFrance2026-07-26Feltz Printing Service NEGOTIATION3Amy Elsner
1008Emily I KolmetzItaly2026-07-21Feltz Printing Service UNQUALIFIED77Elwin Sharvill
1009Stacey V GillianIndia2026-07-09Chemel, James L Cpa NEW11Asiya Javayant
1010Julie M MarrierSpain2026-07-26King, Christopher A Esq QUALIFIED10Asiya Javayant
1011Ricardo E WhobreyIndia2026-08-01Commercial Press NEW58Ioni Bowcher
1012Munro Q InouyeGermany2026-07-23Buckley Miller Wright NEW39Onyama Limba
1013Aika P ButtRussia2026-07-27Buckley Miller Wright PROPOSAL80Elwin Sharvill
1014Jennifer L VenereBrazil2026-07-08Chanay, Jeffrey A Esq PROPOSAL73Bernardo Dominic
1015Adams J FollerArgentina2026-07-07Printing Dimensions NEW32Elwin Sharvill
1016Misaki D FlosiArgentina2026-07-08Chanay, Jeffrey A Esq NEGOTIATION76Elwin Sharvill
1017David L KolmetzItaly2026-07-30King, Christopher A Esq RENEWAL51Amy Elsner
1018Tony S ChuiArgentina2026-07-16Chemel, James L Cpa QUALIFIED53Xuxue Feng
1019Emily O BowleyBrazil2026-07-19Chapman, Ross E Esq NEW11Anna Fali
1020Claire W WieserJapan2026-08-03Feiner Bros PROPOSAL49Amy Elsner
1021Aika K RulapaughJapan2026-07-31Feiner Bros PROPOSAL80Amy Elsner
1022Tony B VocelkaSpain2026-07-28Rousseaux, Michael Esq NEW5Elwin Sharvill
1023Costa I MarrierFrance2026-08-03Chapman, Ross E Esq UNQUALIFIED56Amy Elsner
1024Clifford C AmigonBrazil2026-07-07Truhlar And Truhlar Attys QUALIFIED12Amy Elsner
1025Francesco R RutaArgentina2026-07-09Feiner Bros RENEWAL78Amy Elsner
1026James T NestleBrazil2026-07-11Rousseaux, Michael Esq NEGOTIATION33Elwin Sharvill
1027Leon C RimArgentina2026-07-20Rousseaux, Michael Esq PROPOSAL16Anna Fali
1028Ashley G KuskoSpain2026-07-21Benton, John B Jr PROPOSAL82Xuxue Feng
1029Mayumi K MaletItaly2026-07-18Rousseaux, Michael Esq NEGOTIATION9Asiya Javayant
1030Aruna O FerenczCanada2026-08-01Feltz Printing Service QUALIFIED12Amy Elsner
1031Antonio G CaldareraRussia2026-07-19Chanay, Jeffrey A Esq UNQUALIFIED93Amy Elsner
1032Octavia I GillianSpain2026-07-22Commercial Press PROPOSAL58Anna Fali
1033Alejandro S BriddickAustralia2026-07-31King, Christopher A Esq PROPOSAL78Amy Elsner
1034Arvin C DilliardItaly2026-07-12Morlong Associates RENEWAL65Anna Fali
1035Costa L TollnerIndia2026-07-29Truhlar And Truhlar Attys PROPOSAL9Asiya Javayant
1036Silvio O NestleGermany2026-07-29Feiner Bros PROPOSAL91Onyama Limba
1037Darci H VenereGermany2026-07-18Truhlar And Truhlar Attys NEGOTIATION1Amy Elsner
1038Silvio E MaletArgentina2026-07-10Chemel, James L Cpa NEW58Anna Fali
1039Mujtaba C GarufiCanada2026-07-25Chemel, James L Cpa UNQUALIFIED40Xuxue Feng
1040Clifford O GlickJapan2026-07-30Rangoni Of Florence UNQUALIFIED26Onyama Limba
1041Chavez L GarufiArgentina2026-07-28Buckley Miller Wright UNQUALIFIED8Anna Fali
1042Faith L FerenczSpain2026-07-23Benton, John B Jr NEW1Amy Elsner
1043Ivar P WaycottItaly2026-07-27Printing Dimensions UNQUALIFIED48Anna Fali
1044Stacey I VenereSpain2026-07-08Commercial Press NEW93Ioni Bowcher
1045Sinclair F StockhamArgentina2026-08-03Benton, John B Jr PROPOSAL70Ioni Bowcher
1046Juan C GillianBrazil2026-07-23Morlong Associates RENEWAL78Xuxue Feng
1047Ricardo T KuskoArgentina2026-07-25Printing Dimensions NEW23Bernardo Dominic
1048Jefferson Y BologniaCanada2026-07-12Chanay, Jeffrey A Esq NEGOTIATION44Asiya Javayant
1049Johnson E SlusarskiGermany2026-07-15Commercial Press PROPOSAL88Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Misaki Y WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Stacey P SchemmerIndiaAsiya Javayant UNQUALIFIED
Stacey D VocelkaUnited KingdomElwin Sharvill QUALIFIED
Johnson O SlusarskiGermanyBernardo Dominic NEGOTIATION
Costa P SergiItalyOnyama Limba PROPOSAL
Claire R GauchoGermanyElwin Sharvill PROPOSAL
Tony H FlosiGermanyXuxue Feng PROPOSAL
Izzy Q RulapaughRussiaStephen Shaw UNQUALIFIED
Aruna T InouyeAustraliaAmy Elsner NEGOTIATION
Jefferson A WaycottGermanyAsiya Javayant NEGOTIATION
Rodrigues G WieserSpainAmy Elsner PROPOSAL
Aika W ButtGermanyXuxue Feng QUALIFIED
Nicolas S OstroskyAustraliaOnyama Limba NEGOTIATION
Aika W KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Sinclair P AmigonBrazilOnyama Limba PROPOSAL
Cody B AlbaresCanadaBernardo Dominic NEW
Ashley E DilliardFranceAmy Elsner NEW
Munro U KolmetzSpainOnyama Limba NEW
Clifford V NickaArgentinaStephen Shaw PROPOSAL
David S KolmetzGermanyIoni Bowcher NEGOTIATION
Costa V ButtJapanXuxue Feng QUALIFIED
Antonio V BowleyArgentinaBernardo Dominic QUALIFIED
Mujtaba I RutaArgentinaAnna Fali NEGOTIATION
Johnson F FollerAustraliaAmy Elsner NEW
Cody G MaletItalyIoni Bowcher QUALIFIED
Kadeem H GillianArgentinaAsiya Javayant NEW
Faith S KuskoCanadaAsiya Javayant NEGOTIATION
Jones M NickaCanadaStephen Shaw NEW
Smith V RutaUnited KingdomIvan Magalhaes RENEWAL
Ashley K BowleyFranceIoni Bowcher PROPOSAL
Darci Y StockhamCanadaBernardo Dominic NEW
Octavia V GarufiGermanyAnna Fali UNQUALIFIED
Juan X KuskoRussiaAnna Fali UNQUALIFIED
Nicolas C MarrierIndiaIoni Bowcher QUALIFIED
Silvio L GauchoUnited KingdomStephen Shaw NEW
Antonio Q StockhamArgentinaAnna Fali UNQUALIFIED
Aruna P FlosiItalyOnyama Limba PROPOSAL
Cody D NickaSpainAmy Elsner RENEWAL
Mujtaba B SchemmerCanadaElwin Sharvill UNQUALIFIED
Smith D ChuiUnited KingdomXuxue Feng NEW
Aditya P GillianUnited KingdomAmy Elsner QUALIFIED
Silvio M DarakjyArgentinaAsiya Javayant NEW
Julie U AmigonFranceAnna Fali PROPOSAL
Julie X PaprockiBrazilOnyama Limba NEGOTIATION
Munro P CaudyIndiaBernardo Dominic QUALIFIED
Salvatore Y InouyeFranceStephen Shaw NEW
Claire W GarufiFranceElwin Sharvill PROPOSAL
Leja R ChuiIndiaAsiya Javayant UNQUALIFIED
Misaki C VenereIndiaAsiya Javayant NEGOTIATION
Morrow A DoeSpainBernardo Dominic NEW
Frozen Columns
Name
Kaitlin X Butt
Arvin W Doe
Leon X Caudy
Jennifer R Darakjy
Arvin Q Shinko
Juan N Stenseth
Emily W Ostrosky
Jennifer K Caudy
Jones J Wieser
Adams B Wieser
Stacey D Bolognia
Ricardo L Saylors
Isabel R Kolmetz
Ivar X Nicka
Maisha V Rim
Rodrigues A Darakjy
Tony U Iturbide
Mayumi X Stenseth
Clifford P Caudy
Jefferson H Waycott
Izzy Z Schemmer
Wickens P Stenseth
Darci G Shinko
Ashley N Gillian
Maria L Shinko
Wickens U Gaucho
Antonio M Perin
Stacey K Paprocki
Chavez A Butt
Jefferson U Malet
Jeanfrancois Q Waycott
Jones G Flosi
Izzy B Slusarski
Costa C Darakjy
Nicolas V Inouye
Tony Q Maclead
Maria L Ferencz
Claire U Malet
Rodrigues P Saylors
Johnson K Foller
Jefferson L Glick
Murillo T Amigon
Rodrigues K Chui
Leja P Inouye
Munro E Doe
James S Kusko
Leon L Figeroa
Aditya X Inouye
Ivar X Gillian
Nicolas T Figeroa
IdCountryDate
1000Canada2026-08-01
1001France2026-07-15
1002Argentina2026-07-26
1003United Kingdom2026-07-18
1004Spain2026-07-12
1005Spain2026-07-21
1006Canada2026-07-31
1007Italy2026-07-22
1008Spain2026-07-21
1009France2026-07-07
1010Canada2026-07-21
1011France2026-07-23
1012United Kingdom2026-07-18
1013Argentina2026-07-21
1014Japan2026-07-08
1015Russia2026-07-25
1016Japan2026-08-01
1017Russia2026-07-18
1018Brazil2026-07-21
1019France2026-07-13
1020Brazil2026-08-03
1021Australia2026-07-19
1022Brazil2026-07-26
1023Argentina2026-07-17
1024United Kingdom2026-08-01
1025Spain2026-07-12
1026United Kingdom2026-07-12
1027Australia2026-08-03
1028Japan2026-08-03
1029Germany2026-07-28
1030India2026-07-17
1031Australia2026-07-07
1032India2026-07-29
1033India2026-07-20
1034Russia2026-07-12
1035Russia2026-07-31
1036Brazil2026-07-24
1037Russia2026-07-24
1038Australia2026-07-05
1039Germany2026-07-12
1040Spain2026-07-05
1041Russia2026-07-16
1042India2026-07-10
1043Russia2026-07-06
1044Brazil2026-07-31
1045Canada2026-08-03
1046France2026-07-22
1047India2026-07-14
1048United Kingdom2026-07-14
1049Russia2026-07-16

On-Demand Data

NameIdCountryDate
Ricardo O Venere1000Canada2026-07-20
Cody V Shinko1001Russia2026-07-27
Francesco W Gillian1002Germany2026-07-13
Misaki Q Poquette1003Japan2026-07-30
Misaki J Foller1004United Kingdom2026-07-23
Greenwood Z Amigon1005Canada2026-07-28
Costa R Butt1006Germany2026-07-31
Murillo U Schemmer1007Russia2026-07-22
Izzy J Malet1008Canada2026-07-17
Wickens A Briddick1009Japan2026-07-19
Deepesh U Stenseth1010Japan2026-08-02
Tony T Glick1011Canada2026-07-26
Jefferson S Campain1012Germany2026-07-24
Cody O Shinko1013Italy2026-07-09
Johnson D Caudy1014Germany2026-08-02
Leja V Ostrosky1015Germany2026-07-14
Isabel P Malet1016India2026-07-15
Emily F Morasca1017Japan2026-07-31
Chavez C Tollner1018India2026-07-18
Darci M Darakjy1019Brazil2026-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony N StockhamUnited KingdomElwin Sharvill PROPOSAL
Costa P BowleySpainIvan Magalhaes NEGOTIATION
Aditya Q FigeroaRussiaStephen Shaw UNQUALIFIED
Cody B RimAustraliaAmy Elsner QUALIFIED
James X RutaBrazilXuxue Feng UNQUALIFIED
Sinclair D MacleadBrazilElwin Sharvill NEW
Arvin L RimIndiaBernardo Dominic NEGOTIATION
Darci S ShinkoUnited KingdomIoni Bowcher PROPOSAL
Rodrigues Q InouyeIndiaAnna Fali QUALIFIED
Ricardo U ChuiSpainBernardo Dominic PROPOSAL
Julie G StockhamJapanElwin Sharvill NEGOTIATION
Isabel T StensethCanadaAnna Fali RENEWAL
Clifford Z TollnerGermanyAsiya Javayant PROPOSAL
Tony X WieserSpainIoni Bowcher NEW
Ivar E IturbideSpainXuxue Feng NEGOTIATION
Juan P GlickAustraliaXuxue Feng QUALIFIED
Morrow X MacleadBrazilStephen Shaw QUALIFIED
Octavia N OldroydAustraliaIoni Bowcher NEW
Munro V MacleadJapanStephen Shaw NEW
Isabel X RutaArgentinaAmy Elsner UNQUALIFIED
Mujtaba T CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Mayumi C KolmetzSpainIvan Magalhaes NEW
Misaki K CaudyFranceStephen Shaw PROPOSAL
Stacey K MaletGermanyStephen Shaw RENEWAL
Clifford T FigeroaItalyIoni Bowcher RENEWAL
Julie C ButtItalyElwin Sharvill QUALIFIED
Deepesh X BowleyAustraliaAsiya Javayant UNQUALIFIED
Alejandro L WieserBrazilStephen Shaw UNQUALIFIED
Kaitlin X KuskoRussiaOnyama Limba NEW
Leja D KolmetzArgentinaAmy Elsner UNQUALIFIED
Chavez H CampainArgentinaAmy Elsner NEW
Ashley R MaletRussiaIvan Magalhaes RENEWAL
Octavia S DoeArgentinaIvan Magalhaes NEGOTIATION
Misaki P OstroskyIndiaXuxue Feng PROPOSAL
Greenwood A MacleadBrazilXuxue Feng PROPOSAL
Izzy D MorascaJapanAsiya Javayant NEGOTIATION
Maisha G KuskoFranceIvan Magalhaes NEW
Alejandro M ChuiIndiaAnna Fali NEGOTIATION
Murillo R ShinkoAustraliaBernardo Dominic RENEWAL
Tony W OldroydJapanStephen Shaw PROPOSAL

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