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
Ashley O OstroskyFranceIoni Bowcher UNQUALIFIED
Smith Z InouyeBrazilStephen Shaw UNQUALIFIED
Leja F KuskoAustraliaElwin Sharvill UNQUALIFIED
Antonio Y IturbideUnited KingdomStephen Shaw PROPOSAL
David N BowleyRussiaBernardo Dominic NEGOTIATION
Tony O ShinkoGermanyBernardo Dominic NEGOTIATION
Mujtaba F VenereBrazilStephen Shaw NEW
Clifford F StensethUnited KingdomOnyama Limba QUALIFIED
Mayumi Z FlosiFranceAnna Fali RENEWAL
Silvio M MacleadIndiaBernardo Dominic NEW
Maria C WhobreyGermanyOnyama Limba PROPOSAL
Greenwood C GlickSpainAmy Elsner QUALIFIED
Aika S CaudyFranceOnyama Limba UNQUALIFIED
Jennifer M KuskoJapanIvan Magalhaes NEW
Ricardo Q FigeroaAustraliaXuxue Feng RENEWAL
Maisha A NickaItalyXuxue Feng UNQUALIFIED
Costa R DilliardRussiaElwin Sharvill NEGOTIATION
Stacey Q SlusarskiGermanyIoni Bowcher RENEWAL
Costa V ShinkoFranceXuxue Feng NEGOTIATION
Morrow S NestleIndiaOnyama Limba NEGOTIATION
Smith O NestleRussiaIvan Magalhaes UNQUALIFIED
Mayumi P KolmetzGermanyAmy Elsner RENEWAL
Octavia Q WhobreyUnited KingdomStephen Shaw QUALIFIED
Jennifer P InouyeBrazilAsiya Javayant RENEWAL
Jones M SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Misaki F GillianArgentinaAsiya Javayant NEGOTIATION
Alejandro W GarufiBrazilAnna Fali NEW
James D MaletUnited KingdomOnyama Limba NEGOTIATION
Aruna K RutaAustraliaAmy Elsner PROPOSAL
Rodrigues F GauchoIndiaStephen Shaw RENEWAL
Maria Q MaletIndiaStephen Shaw NEGOTIATION
Emily U MaletJapanAmy Elsner UNQUALIFIED
Morrow S InouyeGermanyElwin Sharvill RENEWAL
Aditya M ShinkoArgentinaIvan Magalhaes RENEWAL
Alejandro T RutaCanadaAnna Fali UNQUALIFIED
Leja Z OstroskyJapanIvan Magalhaes UNQUALIFIED
Mayumi Y SaylorsArgentinaElwin Sharvill NEW
Francesco V FollerJapanOnyama Limba UNQUALIFIED
Morrow Z BologniaFranceAmy Elsner NEW
Alejandro A InouyeArgentinaAnna Fali QUALIFIED
Adams J WaycottArgentinaOnyama Limba PROPOSAL
James G PerinCanadaAnna Fali PROPOSAL
Ashley K DarakjyBrazilOnyama Limba NEW
Kadeem U MacleadArgentinaAmy Elsner NEGOTIATION
Nicolas D GillianGermanyElwin Sharvill UNQUALIFIED
Francesco E PoquetteRussiaIvan Magalhaes RENEWAL
Cody Q DilliardRussiaStephen Shaw PROPOSAL
Maisha K NestleAustraliaBernardo Dominic NEGOTIATION
Izzy H StensethItalyAsiya Javayant QUALIFIED
Stacey L WaycottSpainBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna K InouyeArgentinaXuxue Feng RENEWAL
Ashley P BriddickSpainElwin Sharvill UNQUALIFIED
Isabel F SlusarskiBrazilStephen Shaw NEW
Tony Q CaudyUnited KingdomIvan Magalhaes RENEWAL
Maisha W VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Leon G KolmetzBrazilAmy Elsner RENEWAL
Morrow T FerenczArgentinaXuxue Feng QUALIFIED
Misaki N WaycottGermanyElwin Sharvill QUALIFIED
Mayumi R StensethJapanStephen Shaw PROPOSAL
Mujtaba M SchemmerUnited KingdomElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley G RutaItaly2024-05-13Chanay, Jeffrey A Esq QUALIFIED71Ioni Bowcher
1001Aruna W NickaSpain2024-05-25Chanay, Jeffrey A Esq NEW94Amy Elsner
1002Salvatore T PerinCanada2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED78Onyama Limba
1003Tony N CampainBrazil2024-05-26Rangoni Of Florence RENEWAL29Onyama Limba
1004Isabel Q ShinkoCanada2024-05-24Commercial Press RENEWAL39Xuxue Feng
1005Maria D AlbaresArgentina2024-05-29Chemel, James L Cpa NEGOTIATION52Elwin Sharvill
1006Isabel K SaylorsBrazil2024-05-09Truhlar And Truhlar Attys NEGOTIATION13Onyama Limba
1007Ricardo F TollnerArgentina2024-05-26Printing Dimensions QUALIFIED87Onyama Limba
1008Arvin E AmigonFrance2024-05-19Feiner Bros UNQUALIFIED1Ivan Magalhaes
1009Greenwood Y DarakjyUnited Kingdom2024-06-02Rangoni Of Florence PROPOSAL61Ioni Bowcher
1010Emily A CampainBrazil2024-05-23Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1011Izzy P RutaAustralia2024-05-18Feiner Bros NEW41Elwin Sharvill
1012Mayumi A OldroydSpain2024-05-11Chemel, James L Cpa NEW51Asiya Javayant
1013Alejandro F WieserRussia2024-06-02Benton, John B Jr NEW53Anna Fali
1014Silvio A GarufiSpain2024-05-19Feltz Printing Service RENEWAL0Asiya Javayant
1015Deepesh O StockhamIndia2024-05-08Rousseaux, Michael Esq NEW41Ioni Bowcher
1016Maisha B FollerRussia2024-05-19Commercial Press QUALIFIED55Asiya Javayant
1017Greenwood F FollerIndia2024-05-16Chapman, Ross E Esq NEGOTIATION55Bernardo Dominic
1018Morrow U SaylorsIndia2024-05-16Truhlar And Truhlar Attys PROPOSAL76Xuxue Feng
1019Sinclair K VocelkaBrazil2024-05-13Feltz Printing Service NEGOTIATION23Bernardo Dominic
1020Maria G WieserIndia2024-05-19Chapman, Ross E Esq NEGOTIATION42Onyama Limba
1021Rodrigues E GarufiCanada2024-05-19Rangoni Of Florence NEW1Ioni Bowcher
1022Juan K StensethGermany2024-06-04Rousseaux, Michael Esq UNQUALIFIED90Xuxue Feng
1023Ivar S GauchoBrazil2024-05-26Feltz Printing Service NEGOTIATION79Onyama Limba
1024Darci V FollerIndia2024-06-02Commercial Press NEW14Bernardo Dominic
1025Jones R KolmetzRussia2024-05-11Commercial Press NEW35Onyama Limba
1026Aika R StensethGermany2024-05-23Feltz Printing Service QUALIFIED87Elwin Sharvill
1027Antonio Y AlbaresArgentina2024-05-12Commercial Press NEGOTIATION66Xuxue Feng
1028Clifford K DilliardSpain2024-05-12Feiner Bros NEW32Ivan Magalhaes
1029Costa D WaycottAustralia2024-05-27Dorl, James J Esq QUALIFIED15Elwin Sharvill
1030Jennifer R PaprockiSpain2024-05-22Truhlar And Truhlar Attys QUALIFIED46Ioni Bowcher
1031Claire C RutaUnited Kingdom2024-05-23Chemel, James L Cpa RENEWAL35Anna Fali
1032James I RoysterGermany2024-06-06King, Christopher A Esq RENEWAL5Bernardo Dominic
1033Deepesh Y CaldareraSpain2024-05-21Dorl, James J Esq UNQUALIFIED20Amy Elsner
1034Maria M VocelkaUnited Kingdom2024-05-19Rangoni Of Florence UNQUALIFIED89Elwin Sharvill
1035Costa G WieserBrazil2024-05-14Buckley Miller Wright UNQUALIFIED88Elwin Sharvill
1036Kadeem H GlickAustralia2024-05-28Chemel, James L Cpa NEGOTIATION6Amy Elsner
1037James O MorascaBrazil2024-05-24Chemel, James L Cpa QUALIFIED93Elwin Sharvill
1038Jones H BologniaBrazil2024-05-26Feiner Bros RENEWAL40Xuxue Feng
1039Greenwood J BologniaGermany2024-05-11Truhlar And Truhlar Attys RENEWAL93Amy Elsner
1040Francesco J VocelkaBrazil2024-05-12Rangoni Of Florence QUALIFIED61Xuxue Feng
1041Maisha D NestleAustralia2024-05-24Feiner Bros NEGOTIATION77Amy Elsner
1042Nicolas B CaldareraCanada2024-05-24Feiner Bros NEW0Stephen Shaw
1043Cody T IturbideBrazil2024-05-22Rousseaux, Michael Esq PROPOSAL13Ivan Magalhaes
1044Adams D SlusarskiItaly2024-05-25Feltz Printing Service NEGOTIATION96Amy Elsner
1045Stacey I StockhamRussia2024-05-21Buckley Miller Wright QUALIFIED2Stephen Shaw
1046Emily B FollerGermany2024-05-19King, Christopher A Esq NEGOTIATION84Amy Elsner
1047Tony F CaudyAustralia2024-05-20Rousseaux, Michael Esq PROPOSAL8Ivan Magalhaes
1048Cody Y DarakjyFrance2024-05-11Chemel, James L Cpa NEW73Ioni Bowcher
1049Ashley Q CaldareraIndia2024-06-01Printing Dimensions NEW29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco A IturbideAustraliaAsiya Javayant UNQUALIFIED
Antonio W BologniaItalyXuxue Feng NEGOTIATION
Silvio P IturbideSpainElwin Sharvill QUALIFIED
Jefferson M SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Cody P DoeJapanElwin Sharvill NEGOTIATION
Morrow Y PaprockiRussiaElwin Sharvill RENEWAL
Faith Q VocelkaRussiaXuxue Feng PROPOSAL
Jennifer V RulapaughJapanXuxue Feng NEW
Aika D SaylorsUnited KingdomXuxue Feng PROPOSAL
Jefferson C OstroskyArgentinaIvan Magalhaes RENEWAL
Chavez S BowleyUnited KingdomXuxue Feng NEGOTIATION
Ivar Z FerenczBrazilIoni Bowcher NEW
Salvatore L GauchoUnited KingdomAnna Fali NEW
Aditya V NestleCanadaElwin Sharvill RENEWAL
Sinclair A BriddickItalyOnyama Limba NEW
Mayumi S OstroskyBrazilXuxue Feng PROPOSAL
Leja O DilliardFranceStephen Shaw QUALIFIED
Tony D KolmetzRussiaAmy Elsner NEGOTIATION
Kaitlin H RimArgentinaAmy Elsner RENEWAL
Murillo G GarufiBrazilElwin Sharvill RENEWAL
Stacey W SergiRussiaIvan Magalhaes NEGOTIATION
Emily K OstroskyBrazilAsiya Javayant UNQUALIFIED
Smith T WhobreyCanadaElwin Sharvill NEW
Costa A MacleadJapanBernardo Dominic QUALIFIED
Johnson Q PaprockiBrazilOnyama Limba PROPOSAL
Munro W SergiSpainStephen Shaw NEGOTIATION
Deepesh H BologniaBrazilElwin Sharvill UNQUALIFIED
Aika X DarakjySpainStephen Shaw NEW
Adams F GauchoJapanAnna Fali NEGOTIATION
Aruna H SergiIndiaIvan Magalhaes UNQUALIFIED
Julie L RutaItalyStephen Shaw QUALIFIED
Munro C GlickUnited KingdomXuxue Feng UNQUALIFIED
Jefferson X CaldareraFranceAsiya Javayant QUALIFIED
Greenwood T VocelkaArgentinaAsiya Javayant NEGOTIATION
Deepesh Y VocelkaItalyXuxue Feng NEGOTIATION
Mujtaba E ButtJapanStephen Shaw QUALIFIED
Kaitlin V SergiGermanyIvan Magalhaes NEW
Ivar M AmigonFranceIoni Bowcher UNQUALIFIED
Alejandro N IturbideItalyStephen Shaw PROPOSAL
Jones B OldroydUnited KingdomOnyama Limba NEW
Darci H BologniaAustraliaOnyama Limba QUALIFIED
Kaitlin Z OldroydIndiaXuxue Feng PROPOSAL
Ashley W PoquetteCanadaAsiya Javayant RENEWAL
Stacey Z StockhamSpainAnna Fali NEGOTIATION
Ashley J BowleyArgentinaOnyama Limba NEW
Ricardo P WaycottArgentinaXuxue Feng RENEWAL
Aika R NestleAustraliaXuxue Feng NEW
Mujtaba A SergiBrazilBernardo Dominic RENEWAL
Stacey X FigeroaJapanBernardo Dominic NEW
Clifford J IturbideRussiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily M Bowley
Greenwood R Flosi
Jennifer H Nicka
Kadeem T Nicka
Adams R Stockham
Johnson M Marrier
Munro J Malet
Wickens D Briddick
Misaki T Briddick
Darci H Malet
Salvatore F Malet
Tony Q Stockham
Darci R Schemmer
Faith I Figeroa
Rodrigues U Darakjy
Murillo Y Figeroa
Murillo P Gillian
Jennifer C Royster
Isabel R Inouye
Smith L Albares
Johnson I Tollner
Clifford E Shinko
Arvin D Slusarski
Maria S Gillian
Cody B Inouye
Johnson U Campain
Deepesh Q Campain
Costa G Albares
Greenwood Y Waycott
Arvin O Perin
Julie I Campain
Kaitlin U Doe
Leja U Campain
Jeanfrancois L Wieser
Jennifer X Iturbide
Leja O Stenseth
Costa N Foller
Kadeem C Malet
Leon F Kusko
Izzy V Butt
Adams A Venere
Costa B Vocelka
Leja A Wieser
Wickens S Caldarera
Jennifer O Caldarera
Smith T Gillian
Octavia P Caudy
Clifford I Paprocki
Maria L Rim
Emily I Kolmetz
IdCountryDate
1000Italy2024-06-02
1001Canada2024-05-27
1002Germany2024-05-12
1003Canada2024-05-13
1004Spain2024-06-04
1005India2024-05-19
1006Italy2024-05-16
1007India2024-05-26
1008Canada2024-05-19
1009Canada2024-05-19
1010Russia2024-05-15
1011France2024-05-09
1012Spain2024-06-01
1013Argentina2024-05-22
1014France2024-06-04
1015Japan2024-05-21
1016Russia2024-05-29
1017Italy2024-06-02
1018Argentina2024-06-06
1019Italy2024-05-15
1020India2024-05-30
1021India2024-06-02
1022Australia2024-05-23
1023Canada2024-05-21
1024Russia2024-05-14
1025Canada2024-05-12
1026Australia2024-06-01
1027France2024-05-21
1028United Kingdom2024-05-08
1029Spain2024-06-06
1030Germany2024-05-16
1031Spain2024-05-13
1032India2024-05-21
1033Italy2024-05-09
1034Spain2024-05-19
1035Germany2024-06-02
1036Russia2024-05-08
1037Argentina2024-05-17
1038India2024-06-01
1039France2024-05-29
1040Germany2024-06-04
1041United Kingdom2024-05-22
1042United Kingdom2024-05-11
1043Japan2024-05-30
1044Brazil2024-05-18
1045France2024-05-08
1046Italy2024-05-29
1047Brazil2024-05-29
1048India2024-05-14
1049Argentina2024-05-12

On-Demand Data

NameIdCountryDate
Jefferson B Rim1000United Kingdom2024-06-05
Johnson Y Rulapaugh1001Canada2024-05-12
Jones U Foller1002Spain2024-05-20
Faith H Vocelka1003Argentina2024-05-23
Salvatore N Inouye1004Spain2024-05-08
Antonio T Malet1005India2024-05-19
Morrow E Rulapaugh1006Argentina2024-05-14
Morrow J Malet1007Brazil2024-06-05
Aditya J Amigon1008Russia2024-06-04
Salvatore O Bolognia1009Australia2024-05-27
Juan J Rulapaugh1010Italy2024-05-09
Leja Q Royster1011Italy2024-05-29
Claire B Kolmetz1012Canada2024-05-22
Antonio J Amigon1013Russia2024-05-08
Maria G Tollner1014India2024-05-09
Aruna P Ostrosky1015Spain2024-05-30
Greenwood V Amigon1016Russia2024-06-04
Morrow O Malet1017Canada2024-05-16
Juan H Glick1018Germany2024-05-15
Kadeem E Garufi1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin P DoeFranceAsiya Javayant PROPOSAL
Kadeem M RutaIndiaAnna Fali RENEWAL
Ivar V MarrierGermanyIvan Magalhaes UNQUALIFIED
Aruna O FerenczGermanyXuxue Feng RENEWAL
Aditya G CaldareraUnited KingdomIoni Bowcher RENEWAL
Kadeem S GarufiArgentinaOnyama Limba RENEWAL
Kadeem V InouyeGermanyStephen Shaw UNQUALIFIED
Tony Q CampainRussiaAmy Elsner NEGOTIATION
Greenwood B TollnerFranceIoni Bowcher NEW
Antonio Z WieserItalyBernardo Dominic NEGOTIATION
Aditya Q ChuiCanadaAnna Fali PROPOSAL
Mujtaba J BologniaArgentinaAmy Elsner RENEWAL
Deepesh S OldroydJapanIvan Magalhaes QUALIFIED
Jefferson T MaletAustraliaStephen Shaw NEGOTIATION
Kadeem D FerenczItalyXuxue Feng RENEWAL
Jones N RutaIndiaXuxue Feng QUALIFIED
Octavia N MacleadItalyXuxue Feng NEGOTIATION
Aruna D MacleadGermanyOnyama Limba PROPOSAL
Clifford C DarakjyRussiaAsiya Javayant QUALIFIED
Ashley B RulapaughJapanOnyama Limba RENEWAL
Leon X BologniaItalyOnyama Limba PROPOSAL
Nicolas Y SaylorsCanadaAnna Fali RENEWAL
Mujtaba J StensethSpainIoni Bowcher PROPOSAL
Arvin Z DarakjyFranceIvan Magalhaes RENEWAL
Morrow D FlosiFranceIvan Magalhaes NEW
Stacey V AmigonFranceAmy Elsner UNQUALIFIED
Morrow S MorascaRussiaElwin Sharvill UNQUALIFIED
Emily A FigeroaItalyStephen Shaw RENEWAL
Maria E VenereJapanIoni Bowcher NEW
Juan M KolmetzItalyElwin Sharvill NEW
Julie N FigeroaSpainStephen Shaw QUALIFIED
Juan J NestleSpainBernardo Dominic NEW
Deepesh F RutaUnited KingdomAsiya Javayant NEGOTIATION
Salvatore P AlbaresBrazilIvan Magalhaes QUALIFIED
Maria S KuskoIndiaOnyama Limba QUALIFIED
Nicolas Y BriddickSpainXuxue Feng UNQUALIFIED
Jeanfrancois M CaldareraItalyAsiya Javayant NEGOTIATION
Silvio C OldroydIndiaElwin Sharvill NEGOTIATION
Johnson X RimAustraliaBernardo Dominic PROPOSAL
Leon D WaycottIndiaAsiya Javayant 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>