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
Jefferson Q DarakjyUnited KingdomAnna Fali NEGOTIATION
Aruna D CaldareraIndiaStephen Shaw NEGOTIATION
Mayumi A RimFranceElwin Sharvill RENEWAL
Antonio W ButtCanadaIoni Bowcher NEW
Tony X NestleUnited KingdomOnyama Limba UNQUALIFIED
Isabel Z GauchoUnited KingdomElwin Sharvill QUALIFIED
Francesco W InouyeIndiaAnna Fali PROPOSAL
Kadeem A SergiIndiaBernardo Dominic RENEWAL
Izzy F WieserRussiaElwin Sharvill UNQUALIFIED
Francesco C AmigonUnited KingdomXuxue Feng NEW
Octavia P MaletItalyStephen Shaw QUALIFIED
Claire R FollerGermanyAsiya Javayant PROPOSAL
Aruna P IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Leon P DarakjyGermanyIoni Bowcher NEGOTIATION
Darci D RoysterIndiaBernardo Dominic NEGOTIATION
Ivar Q VocelkaArgentinaAnna Fali RENEWAL
Silvio V PerinIndiaAnna Fali RENEWAL
Isabel C GarufiUnited KingdomElwin Sharvill QUALIFIED
Stacey X FollerUnited KingdomOnyama Limba NEW
Isabel H GlickAustraliaXuxue Feng UNQUALIFIED
Cody O DoeCanadaAsiya Javayant UNQUALIFIED
Tony I MorascaRussiaOnyama Limba UNQUALIFIED
Tony A OstroskyItalyAnna Fali QUALIFIED
Rodrigues R TollnerFranceAmy Elsner UNQUALIFIED
Stacey F DarakjyBrazilXuxue Feng PROPOSAL
Misaki O DarakjyArgentinaOnyama Limba PROPOSAL
Adams F WhobreyGermanyStephen Shaw NEGOTIATION
Rodrigues L MorascaGermanyIoni Bowcher UNQUALIFIED
Ivar I FollerGermanyIvan Magalhaes QUALIFIED
Darci U RutaItalyAnna Fali NEW
Aika N MaletSpainXuxue Feng NEGOTIATION
Wickens B GillianGermanyXuxue Feng NEGOTIATION
Faith T RoysterRussiaAnna Fali NEW
Tony S DarakjyRussiaXuxue Feng RENEWAL
Adams U GarufiJapanOnyama Limba NEW
Sinclair C OstroskyBrazilIoni Bowcher QUALIFIED
Izzy Y PaprockiBrazilAmy Elsner RENEWAL
Salvatore Z GarufiCanadaAmy Elsner UNQUALIFIED
Costa H GlickRussiaAsiya Javayant NEW
Wickens C CaldareraRussiaStephen Shaw UNQUALIFIED
Jeanfrancois M WieserCanadaIvan Magalhaes PROPOSAL
Rodrigues B VocelkaArgentinaIvan Magalhaes NEW
David G NickaSpainAsiya Javayant PROPOSAL
Juan S ShinkoIndiaAsiya Javayant PROPOSAL
Mayumi I PoquetteFranceElwin Sharvill NEW
Maria E MaletRussiaAnna Fali UNQUALIFIED
Ivar H BologniaJapanIoni Bowcher QUALIFIED
Deepesh C FollerCanadaBernardo Dominic QUALIFIED
Costa L GarufiArgentinaAmy Elsner QUALIFIED
Juan I BriddickSpainAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem E GarufiJapanBernardo Dominic PROPOSAL
Octavia Z FollerBrazilBernardo Dominic RENEWAL
Claire P PoquetteCanadaIvan Magalhaes PROPOSAL
Johnson I VocelkaSpainBernardo Dominic RENEWAL
Kadeem V StensethJapanAnna Fali NEW
Kadeem K RutaItalyStephen Shaw NEW
Kadeem R DilliardSpainAmy Elsner RENEWAL
Chavez M InouyeUnited KingdomIvan Magalhaes NEW
Francesco U AmigonIndiaAmy Elsner QUALIFIED
Izzy G FollerBrazilXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon L GlickGermany2025-06-04Feiner Bros RENEWAL13Ivan Magalhaes
1001Aruna Z IturbideItaly2025-05-31Commercial Press PROPOSAL92Amy Elsner
1002Murillo J WaycottRussia2025-06-14Commercial Press PROPOSAL87Xuxue Feng
1003Adams C PoquetteAustralia2025-06-05Rangoni Of Florence NEW42Ioni Bowcher
1004Antonio B VenereAustralia2025-06-01Printing Dimensions UNQUALIFIED87Bernardo Dominic
1005Mayumi P FigeroaCanada2025-06-09Rangoni Of Florence RENEWAL26Asiya Javayant
1006Smith A InouyeCanada2025-05-28Truhlar And Truhlar Attys NEW81Stephen Shaw
1007Jefferson N PerinItaly2025-06-03Rangoni Of Florence RENEWAL25Amy Elsner
1008Jeanfrancois M SergiBrazil2025-05-21King, Christopher A Esq RENEWAL84Ivan Magalhaes
1009Kadeem M KuskoArgentina2025-05-30Chapman, Ross E Esq NEW60Anna Fali
1010Maria J GarufiFrance2025-06-05Buckley Miller Wright UNQUALIFIED5Amy Elsner
1011Julie V CampainBrazil2025-05-31Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1012Claire S VenereCanada2025-05-18Truhlar And Truhlar Attys QUALIFIED76Anna Fali
1013Silvio C PerinIndia2025-05-20Benton, John B Jr QUALIFIED94Xuxue Feng
1014Ashley K TollnerAustralia2025-06-09Rangoni Of Florence NEGOTIATION55Onyama Limba
1015David K AlbaresArgentina2025-06-10Morlong Associates QUALIFIED5Anna Fali
1016Jennifer H FigeroaAustralia2025-06-04Commercial Press NEGOTIATION7Ivan Magalhaes
1017Wickens P DilliardGermany2025-06-12Dorl, James J Esq QUALIFIED90Bernardo Dominic
1018Octavia L SergiCanada2025-05-17Printing Dimensions RENEWAL4Stephen Shaw
1019Kaitlin M DoeSpain2025-05-21Chemel, James L Cpa QUALIFIED42Ioni Bowcher
1020Aruna O MorascaSpain2025-05-18Dorl, James J Esq RENEWAL78Xuxue Feng
1021James V PaprockiRussia2025-05-16Chanay, Jeffrey A Esq NEGOTIATION61Anna Fali
1022Jones J StensethItaly2025-05-28Chapman, Ross E Esq UNQUALIFIED48Onyama Limba
1023Silvio O TollnerItaly2025-05-17Benton, John B Jr RENEWAL34Onyama Limba
1024Nicolas M MorascaRussia2025-06-04Chemel, James L Cpa NEGOTIATION65Asiya Javayant
1025Tony V MarrierUnited Kingdom2025-05-27Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1026Maisha Q DilliardRussia2025-05-22Commercial Press NEGOTIATION92Ioni Bowcher
1027Claire Z TollnerItaly2025-06-05Printing Dimensions PROPOSAL88Elwin Sharvill
1028Kaitlin J DoeSpain2025-06-14Printing Dimensions NEW94Ivan Magalhaes
1029Munro X AlbaresJapan2025-05-24Rousseaux, Michael Esq RENEWAL19Bernardo Dominic
1030Emily S SaylorsArgentina2025-06-08Chapman, Ross E Esq UNQUALIFIED72Xuxue Feng
1031Faith G VenereFrance2025-05-25Benton, John B Jr QUALIFIED83Ivan Magalhaes
1032Antonio D BologniaAustralia2025-06-11Truhlar And Truhlar Attys NEW4Anna Fali
1033Jeanfrancois K MaletArgentina2025-06-01Printing Dimensions PROPOSAL59Stephen Shaw
1034Morrow G BologniaSpain2025-06-12Commercial Press UNQUALIFIED7Ioni Bowcher
1035Greenwood M CaldareraBrazil2025-05-18Printing Dimensions RENEWAL9Elwin Sharvill
1036Morrow S FlosiJapan2025-06-04Printing Dimensions RENEWAL5Ivan Magalhaes
1037Aruna D RoysterAustralia2025-05-21Chanay, Jeffrey A Esq PROPOSAL89Ioni Bowcher
1038Clifford Q GauchoArgentina2025-05-26Feiner Bros UNQUALIFIED83Ioni Bowcher
1039Costa W BowleyBrazil2025-06-01Rangoni Of Florence NEGOTIATION21Asiya Javayant
1040Aruna Y FigeroaBrazil2025-05-21Rangoni Of Florence NEW19Ivan Magalhaes
1041Darci Z WaycottArgentina2025-06-03Rousseaux, Michael Esq QUALIFIED63Elwin Sharvill
1042Claire G DilliardUnited Kingdom2025-05-17Dorl, James J Esq UNQUALIFIED1Amy Elsner
1043Cody E SergiSpain2025-05-17Morlong Associates RENEWAL55Amy Elsner
1044Jones S TollnerRussia2025-06-06Feiner Bros NEW98Bernardo Dominic
1045David D VenereRussia2025-06-13Chemel, James L Cpa NEGOTIATION44Onyama Limba
1046Darci U IturbideIndia2025-06-11Truhlar And Truhlar Attys NEW3Onyama Limba
1047Sinclair M WaycottFrance2025-05-30Morlong Associates UNQUALIFIED89Ivan Magalhaes
1048Darci Y FerenczSpain2025-06-07Benton, John B Jr NEW69Bernardo Dominic
1049Leja P CaudySpain2025-05-27Rousseaux, Michael Esq PROPOSAL16Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David R RimIndiaAsiya Javayant RENEWAL
Murillo L NickaUnited KingdomIoni Bowcher QUALIFIED
Ricardo L WieserItalyOnyama Limba QUALIFIED
Antonio B TollnerCanadaXuxue Feng PROPOSAL
Munro U AlbaresFranceAmy Elsner PROPOSAL
Octavia V ShinkoRussiaXuxue Feng NEGOTIATION
Izzy X NickaRussiaBernardo Dominic QUALIFIED
James O VenereArgentinaAmy Elsner NEW
Clifford F AmigonIndiaAsiya Javayant NEGOTIATION
Chavez G MaletArgentinaAmy Elsner QUALIFIED
Misaki Q DoeArgentinaIoni Bowcher PROPOSAL
Tony P MacleadIndiaOnyama Limba PROPOSAL
Stacey O MacleadIndiaBernardo Dominic UNQUALIFIED
Emily M SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Stacey S CaudyAustraliaStephen Shaw NEW
David Z VocelkaArgentinaOnyama Limba NEGOTIATION
Cody O MaletSpainBernardo Dominic RENEWAL
Morrow P RoysterAustraliaBernardo Dominic NEW
Tony J KuskoJapanOnyama Limba QUALIFIED
Aika P BriddickSpainOnyama Limba RENEWAL
Francesco T OldroydAustraliaElwin Sharvill RENEWAL
Rodrigues Q FollerUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues X GarufiGermanyAnna Fali NEGOTIATION
Maisha A VocelkaRussiaElwin Sharvill PROPOSAL
Johnson X ButtCanadaStephen Shaw UNQUALIFIED
Chavez M ChuiUnited KingdomStephen Shaw RENEWAL
Jones K IturbideIndiaElwin Sharvill NEW
Mujtaba Z WhobreyJapanStephen Shaw NEGOTIATION
Wickens R AlbaresGermanyStephen Shaw PROPOSAL
Chavez C RulapaughBrazilOnyama Limba NEW
Smith Z GillianUnited KingdomXuxue Feng QUALIFIED
Nicolas A OstroskyJapanAmy Elsner PROPOSAL
Octavia B ButtSpainElwin Sharvill UNQUALIFIED
Chavez X GlickCanadaAnna Fali RENEWAL
Morrow B RutaCanadaStephen Shaw RENEWAL
Isabel W RutaArgentinaOnyama Limba NEW
Tony P FigeroaIndiaIvan Magalhaes NEW
Aika T OstroskyCanadaStephen Shaw PROPOSAL
David J CaldareraAustraliaBernardo Dominic RENEWAL
Leon V RutaRussiaAsiya Javayant UNQUALIFIED
Kaitlin P RulapaughFranceElwin Sharvill UNQUALIFIED
Antonio L AlbaresCanadaAsiya Javayant NEGOTIATION
Faith N RoysterItalyOnyama Limba PROPOSAL
Jones W RutaUnited KingdomElwin Sharvill QUALIFIED
Maisha L SaylorsFranceIvan Magalhaes UNQUALIFIED
Greenwood J BriddickRussiaAnna Fali NEGOTIATION
Maisha X FlosiJapanOnyama Limba NEW
Ashley L FollerArgentinaAnna Fali UNQUALIFIED
Aditya N OldroydIndiaXuxue Feng UNQUALIFIED
Izzy Q KolmetzAustraliaOnyama Limba NEW
Frozen Columns
Name
Sinclair C Glick
Kaitlin E Butt
Tony L Bolognia
Morrow X Nestle
Greenwood L Kolmetz
Aditya O Gillian
Wickens P Darakjy
Salvatore F Butt
David Z Albares
Wickens F Marrier
Tony R Kolmetz
Tony R Malet
Mujtaba J Stenseth
Francesco E Doe
Kaitlin U Whobrey
Morrow D Foller
Isabel U Slusarski
Cody I Schemmer
Misaki X Ruta
Costa L Kusko
Maisha Z Ferencz
David G Oldroyd
Munro E Stockham
Mujtaba U Foller
Maria F Saylors
Alejandro K Nicka
Sinclair S Whobrey
Deepesh W Nicka
Deepesh W Foller
Sinclair O Ruta
Johnson B Marrier
Murillo M Figeroa
Adams T Briddick
Smith L Wieser
Aditya Y Waycott
Silvio G Amigon
Isabel E Rim
Antonio Y Royster
Faith W Slusarski
Ricardo B Briddick
Izzy J Bowley
Mujtaba H Malet
Nicolas J Bolognia
Leon M Nicka
Maisha Y Gillian
Rodrigues S Shinko
Faith B Inouye
Mujtaba M Paprocki
Wickens A Flosi
Jeanfrancois V Dilliard
IdCountryDate
1000Canada2025-06-04
1001Italy2025-06-03
1002Australia2025-05-18
1003Germany2025-05-25
1004Argentina2025-06-11
1005Spain2025-05-17
1006India2025-05-20
1007Japan2025-06-02
1008Germany2025-06-13
1009Italy2025-05-17
1010Japan2025-06-09
1011Argentina2025-06-02
1012Spain2025-06-03
1013United Kingdom2025-06-06
1014India2025-06-04
1015Spain2025-06-12
1016Italy2025-05-20
1017India2025-06-10
1018Italy2025-06-01
1019France2025-05-17
1020Russia2025-06-04
1021India2025-06-02
1022Italy2025-05-22
1023Brazil2025-06-08
1024Argentina2025-05-22
1025Spain2025-05-23
1026United Kingdom2025-06-12
1027Japan2025-06-12
1028India2025-05-22
1029Brazil2025-06-11
1030Australia2025-06-06
1031Germany2025-05-31
1032Italy2025-06-04
1033Argentina2025-05-25
1034Brazil2025-06-01
1035Germany2025-06-06
1036India2025-05-30
1037Canada2025-06-06
1038Germany2025-06-14
1039Germany2025-06-10
1040Argentina2025-06-07
1041United Kingdom2025-06-02
1042Canada2025-06-10
1043Spain2025-06-03
1044Italy2025-05-30
1045Spain2025-06-14
1046Italy2025-06-14
1047Spain2025-06-08
1048India2025-06-07
1049Russia2025-05-31

On-Demand Data

NameIdCountryDate
Juan Q Vocelka1000Spain2025-05-24
Jefferson G Waycott1001Spain2025-05-31
Cody Y Tollner1002Canada2025-05-20
Costa H Stockham1003France2025-05-31
Maria X Butt1004Germany2025-06-09
Munro U Sergi1005Spain2025-06-10
Sinclair L Venere1006Brazil2025-05-18
Jeanfrancois I Chui1007Russia2025-06-14
Juan Y Vocelka1008Germany2025-05-29
Clifford U Garufi1009Argentina2025-05-31
Leon X Amigon1010France2025-06-05
Francesco O Kusko1011Brazil2025-06-12
Wickens A Stockham1012Brazil2025-06-05
Isabel O Kolmetz1013Canada2025-05-26
Alejandro Z Gillian1014Spain2025-05-31
Ivar B Shinko1015Italy2025-05-19
Ivar J Waycott1016France2025-06-14
Juan C Venere1017Argentina2025-06-07
David D Perin1018France2025-06-09
Johnson X Campain1019Brazil2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio S BowleyBrazilAsiya Javayant RENEWAL
Isabel I WieserArgentinaOnyama Limba NEW
Ashley L MacleadSpainStephen Shaw NEW
Salvatore R MacleadSpainXuxue Feng RENEWAL
Julie Q PerinJapanStephen Shaw PROPOSAL
Ivar O FollerRussiaStephen Shaw UNQUALIFIED
Cody Y StensethRussiaAsiya Javayant NEGOTIATION
Emily X NickaBrazilOnyama Limba NEGOTIATION
Adams V WhobreyFranceAmy Elsner PROPOSAL
Costa D MaletUnited KingdomAnna Fali PROPOSAL
Mujtaba H FerenczArgentinaAnna Fali PROPOSAL
Antonio Z DarakjyArgentinaOnyama Limba QUALIFIED
Kaitlin Y FlosiAustraliaOnyama Limba NEW
Stacey J RutaJapanStephen Shaw NEGOTIATION
Maisha G MorascaRussiaAmy Elsner RENEWAL
James F VenereIndiaIoni Bowcher UNQUALIFIED
Kadeem L VocelkaFranceOnyama Limba NEW
Wickens Z KuskoRussiaBernardo Dominic NEGOTIATION
Smith A PaprockiArgentinaElwin Sharvill RENEWAL
Leon E OldroydJapanIoni Bowcher NEGOTIATION
Morrow D PaprockiCanadaBernardo Dominic RENEWAL
Chavez I GarufiArgentinaXuxue Feng PROPOSAL
Kadeem O VenereJapanAmy Elsner NEW
Sinclair E ButtGermanyIvan Magalhaes NEGOTIATION
Isabel H SchemmerRussiaStephen Shaw NEGOTIATION
Leon S SaylorsGermanyBernardo Dominic PROPOSAL
Claire H MacleadUnited KingdomBernardo Dominic RENEWAL
Claire I MarrierBrazilIoni Bowcher NEW
Mujtaba Z SlusarskiGermanyOnyama Limba RENEWAL
Julie V GlickCanadaIoni Bowcher QUALIFIED
Cody Y GillianJapanStephen Shaw UNQUALIFIED
Ricardo F MaletIndiaIvan Magalhaes RENEWAL
Julie W VocelkaUnited KingdomAmy Elsner QUALIFIED
Alejandro T MacleadArgentinaXuxue Feng QUALIFIED
Antonio O AlbaresIndiaElwin Sharvill RENEWAL
Claire M StensethCanadaAsiya Javayant QUALIFIED
James F OldroydBrazilAsiya Javayant QUALIFIED
Smith I DilliardIndiaBernardo Dominic NEW
Jeanfrancois A NestleRussiaElwin Sharvill NEW
David C AmigonIndiaOnyama Limba RENEWAL

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