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
Rodrigues A NestleGermanyElwin Sharvill UNQUALIFIED
Deepesh Z GillianRussiaAmy Elsner QUALIFIED
Chavez R WieserJapanBernardo Dominic QUALIFIED
Juan I PoquetteItalyAmy Elsner NEW
Munro P AmigonUnited KingdomBernardo Dominic NEGOTIATION
Cody M PaprockiGermanyAnna Fali PROPOSAL
Juan I PaprockiSpainAsiya Javayant NEGOTIATION
Leja U TollnerCanadaElwin Sharvill RENEWAL
Nicolas E CaudyRussiaElwin Sharvill NEGOTIATION
Misaki P FlosiFranceAmy Elsner NEW
Ivar M BologniaAustraliaElwin Sharvill NEGOTIATION
Greenwood H CaldareraArgentinaAnna Fali UNQUALIFIED
Chavez D MaletItalyIvan Magalhaes UNQUALIFIED
Clifford M NickaUnited KingdomOnyama Limba QUALIFIED
Maria Z BologniaJapanBernardo Dominic RENEWAL
Smith H RulapaughArgentinaAmy Elsner QUALIFIED
Izzy T ShinkoJapanIvan Magalhaes UNQUALIFIED
Morrow P RoysterUnited KingdomIvan Magalhaes PROPOSAL
Clifford Z GarufiItalyAsiya Javayant NEGOTIATION
Deepesh E PerinAustraliaElwin Sharvill RENEWAL
Adams R ChuiSpainIvan Magalhaes PROPOSAL
Francesco E FlosiFranceElwin Sharvill RENEWAL
Deepesh I MarrierFranceAsiya Javayant QUALIFIED
Ivar D OstroskyJapanIoni Bowcher NEW
Jefferson X DoeUnited KingdomXuxue Feng QUALIFIED
Chavez E DarakjyRussiaBernardo Dominic NEW
Darci J BriddickBrazilBernardo Dominic PROPOSAL
Silvio R RutaAustraliaElwin Sharvill UNQUALIFIED
Darci Q ButtRussiaAsiya Javayant NEGOTIATION
Juan T ButtIndiaElwin Sharvill NEGOTIATION
Rodrigues U CampainUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois A GlickAustraliaAsiya Javayant NEGOTIATION
Ashley S AlbaresSpainXuxue Feng QUALIFIED
Antonio H BologniaRussiaElwin Sharvill RENEWAL
Murillo K MorascaCanadaXuxue Feng PROPOSAL
Francesco P StensethFranceAnna Fali QUALIFIED
Johnson X SchemmerBrazilStephen Shaw PROPOSAL
Mayumi P DarakjyJapanAsiya Javayant QUALIFIED
Stacey P SergiJapanIoni Bowcher NEGOTIATION
Munro S OldroydArgentinaAmy Elsner UNQUALIFIED
Nicolas B PaprockiCanadaBernardo Dominic RENEWAL
Faith Z DoeItalyAmy Elsner NEGOTIATION
Munro O MarrierRussiaIoni Bowcher UNQUALIFIED
Claire P RulapaughSpainElwin Sharvill NEW
Munro P MorascaAustraliaAnna Fali NEW
Silvio M VocelkaSpainBernardo Dominic NEW
Adams U TollnerGermanyIoni Bowcher NEGOTIATION
Adams A BriddickUnited KingdomAsiya Javayant PROPOSAL
Ashley L DarakjyUnited KingdomOnyama Limba NEGOTIATION
Jennifer T KolmetzCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley R DilliardItalyAmy Elsner UNQUALIFIED
Antonio B StensethBrazilOnyama Limba NEGOTIATION
Aika F KuskoSpainXuxue Feng QUALIFIED
Julie U StockhamIndiaBernardo Dominic UNQUALIFIED
Misaki R StockhamGermanyStephen Shaw NEW
Antonio D WhobreyAustraliaXuxue Feng PROPOSAL
Adams X BriddickRussiaOnyama Limba NEGOTIATION
Costa E AmigonJapanIoni Bowcher PROPOSAL
Rodrigues D RimCanadaBernardo Dominic NEW
Maisha J StockhamArgentinaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel W IturbideItaly2026-06-19Feltz Printing Service PROPOSAL32Amy Elsner
1001Alejandro H OldroydUnited Kingdom2026-07-06Chemel, James L Cpa NEW5Ivan Magalhaes
1002Ricardo I CaldareraIndia2026-06-19Chapman, Ross E Esq NEGOTIATION80Bernardo Dominic
1003Jones X IturbideGermany2026-06-12Feiner Bros NEW22Amy Elsner
1004Aditya O CaldareraSpain2026-06-15Morlong Associates NEGOTIATION35Onyama Limba
1005Stacey X VocelkaArgentina2026-06-27Benton, John B Jr NEGOTIATION36Elwin Sharvill
1006Jeanfrancois N DilliardCanada2026-06-11Feiner Bros NEGOTIATION54Onyama Limba
1007Jennifer G BologniaJapan2026-06-27King, Christopher A Esq UNQUALIFIED32Onyama Limba
1008Rodrigues H FollerCanada2026-06-27Buckley Miller Wright NEGOTIATION52Ivan Magalhaes
1009Kadeem B DoeBrazil2026-07-05Feltz Printing Service NEW13Ioni Bowcher
1010Francesco Y SaylorsRussia2026-06-22Chapman, Ross E Esq PROPOSAL0Elwin Sharvill
1011Morrow D BologniaIndia2026-06-28Chapman, Ross E Esq NEGOTIATION7Ioni Bowcher
1012Aika N ChuiAustralia2026-06-21Truhlar And Truhlar Attys NEW64Bernardo Dominic
1013Leon D PerinArgentina2026-06-24Benton, John B Jr NEW14Onyama Limba
1014Sinclair K StensethUnited Kingdom2026-06-29Dorl, James J Esq NEGOTIATION24Asiya Javayant
1015Antonio O FollerSpain2026-06-27Rangoni Of Florence NEW6Xuxue Feng
1016Jennifer I FollerSpain2026-06-17Dorl, James J Esq QUALIFIED51Anna Fali
1017Ivar P ShinkoSpain2026-06-18King, Christopher A Esq UNQUALIFIED54Elwin Sharvill
1018Ashley X WhobreyIndia2026-06-25Morlong Associates PROPOSAL70Stephen Shaw
1019James O NickaUnited Kingdom2026-06-21Truhlar And Truhlar Attys PROPOSAL18Elwin Sharvill
1020Ricardo K CampainCanada2026-06-20Truhlar And Truhlar Attys NEGOTIATION23Xuxue Feng
1021Antonio U RimArgentina2026-06-11Feltz Printing Service PROPOSAL70Stephen Shaw
1022Greenwood W BriddickCanada2026-06-14Truhlar And Truhlar Attys QUALIFIED37Ivan Magalhaes
1023Chavez I AmigonIndia2026-06-23Feltz Printing Service UNQUALIFIED96Elwin Sharvill
1024James T AlbaresArgentina2026-07-04Morlong Associates NEW99Ioni Bowcher
1025Murillo D AlbaresGermany2026-07-02Morlong Associates QUALIFIED7Amy Elsner
1026David F BowleyFrance2026-06-24Printing Dimensions PROPOSAL46Bernardo Dominic
1027Costa V CampainBrazil2026-07-01Benton, John B Jr UNQUALIFIED43Amy Elsner
1028Aruna M BowleyArgentina2026-06-12King, Christopher A Esq PROPOSAL79Stephen Shaw
1029Jones U TollnerGermany2026-06-20Dorl, James J Esq NEW19Amy Elsner
1030Maisha O MaletArgentina2026-06-29Dorl, James J Esq NEW25Bernardo Dominic
1031Leja M RulapaughAustralia2026-06-24Benton, John B Jr NEGOTIATION61Stephen Shaw
1032David B FerenczJapan2026-06-17Dorl, James J Esq UNQUALIFIED48Onyama Limba
1033Johnson W MacleadBrazil2026-06-12Dorl, James J Esq NEW78Elwin Sharvill
1034Ivar C MaletSpain2026-06-16Feiner Bros RENEWAL74Anna Fali
1035Aditya Z WaycottRussia2026-06-11Chanay, Jeffrey A Esq UNQUALIFIED13Onyama Limba
1036Jefferson B ButtSpain2026-06-22Chanay, Jeffrey A Esq NEGOTIATION69Amy Elsner
1037Ivar X PoquetteFrance2026-06-17Chapman, Ross E Esq NEW20Ioni Bowcher
1038Juan I WieserGermany2026-06-22Benton, John B Jr PROPOSAL7Stephen Shaw
1039Octavia E WhobreyJapan2026-06-17Printing Dimensions UNQUALIFIED33Xuxue Feng
1040Cody Q VenereUnited Kingdom2026-06-08Printing Dimensions PROPOSAL96Bernardo Dominic
1041Isabel I GillianFrance2026-06-30Truhlar And Truhlar Attys UNQUALIFIED82Onyama Limba
1042Adams X MaletJapan2026-07-01Feltz Printing Service UNQUALIFIED64Asiya Javayant
1043Leon L StockhamGermany2026-06-08Printing Dimensions UNQUALIFIED29Stephen Shaw
1044Cody C BriddickItaly2026-06-12Chanay, Jeffrey A Esq RENEWAL18Ivan Magalhaes
1045Clifford L MarrierSpain2026-06-29Chemel, James L Cpa NEW67Ivan Magalhaes
1046David X IturbideUnited Kingdom2026-07-06Feltz Printing Service RENEWAL38Asiya Javayant
1047Isabel T AmigonSpain2026-06-20Rangoni Of Florence NEW82Bernardo Dominic
1048Wickens A AmigonFrance2026-07-06King, Christopher A Esq PROPOSAL53Ioni Bowcher
1049Morrow Y NickaItaly2026-06-17Rousseaux, Michael Esq NEW99Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily F OstroskyItalyOnyama Limba RENEWAL
Antonio N GauchoCanadaStephen Shaw NEGOTIATION
Silvio J FigeroaUnited KingdomAsiya Javayant QUALIFIED
Julie F PerinSpainStephen Shaw NEGOTIATION
Jeanfrancois I StockhamFranceElwin Sharvill NEW
Maisha N RulapaughSpainIvan Magalhaes NEGOTIATION
Salvatore D KolmetzBrazilAmy Elsner PROPOSAL
Costa C PerinIndiaStephen Shaw NEGOTIATION
Aika L TollnerGermanyIvan Magalhaes NEGOTIATION
Faith H IturbideGermanyIoni Bowcher PROPOSAL
Salvatore F StensethJapanIoni Bowcher NEGOTIATION
Ashley A ShinkoRussiaXuxue Feng UNQUALIFIED
Ashley G BologniaGermanyStephen Shaw NEGOTIATION
Julie U RulapaughSpainStephen Shaw NEGOTIATION
Aruna R WieserArgentinaAsiya Javayant NEGOTIATION
Ricardo A RulapaughSpainAsiya Javayant RENEWAL
Mayumi C KuskoBrazilStephen Shaw RENEWAL
Jeanfrancois Q FigeroaAustraliaIoni Bowcher QUALIFIED
Rodrigues P SchemmerJapanElwin Sharvill PROPOSAL
Faith I MarrierFranceStephen Shaw QUALIFIED
Nicolas A VocelkaArgentinaAmy Elsner NEGOTIATION
Munro O VocelkaCanadaAmy Elsner NEGOTIATION
Morrow U ButtSpainIvan Magalhaes PROPOSAL
Octavia Q PaprockiArgentinaIoni Bowcher NEGOTIATION
Munro A ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel D CampainRussiaXuxue Feng RENEWAL
Faith G MaletJapanIoni Bowcher NEW
Kadeem D AmigonFranceAsiya Javayant PROPOSAL
Kaitlin L VenereGermanyXuxue Feng QUALIFIED
Misaki Z InouyeUnited KingdomAnna Fali NEW
Nicolas L GlickArgentinaXuxue Feng QUALIFIED
Arvin X MaletIndiaOnyama Limba NEW
Octavia N MacleadJapanAnna Fali PROPOSAL
Ricardo G OldroydIndiaAmy Elsner PROPOSAL
Stacey O CampainArgentinaIvan Magalhaes QUALIFIED
Ivar K MorascaUnited KingdomElwin Sharvill RENEWAL
Kadeem O OldroydIndiaElwin Sharvill UNQUALIFIED
Rodrigues Q SchemmerCanadaStephen Shaw NEW
Alejandro J OldroydIndiaXuxue Feng RENEWAL
Antonio O BologniaJapanElwin Sharvill RENEWAL
David Q MarrierBrazilXuxue Feng NEW
Jefferson A DarakjyAustraliaAnna Fali NEW
David M SaylorsCanadaBernardo Dominic QUALIFIED
Leon Y MaletRussiaStephen Shaw UNQUALIFIED
Alejandro R StockhamJapanBernardo Dominic NEW
Francesco E SergiArgentinaIvan Magalhaes NEW
Chavez F ChuiItalyStephen Shaw NEW
Darci R GillianUnited KingdomXuxue Feng UNQUALIFIED
Nicolas K RimBrazilAnna Fali QUALIFIED
Greenwood N AmigonGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Nicolas S Campain
Aruna T Perin
Izzy D Oldroyd
Claire E Shinko
Murillo W Nicka
Darci O Figeroa
James C Stenseth
Ashley X Wieser
Claire D Waycott
Mujtaba I Chui
Maria T Sergi
David C Morasca
Maisha L Albares
Jefferson W Doe
Mayumi Z Flosi
Claire Q Venere
Silvio G Amigon
Jennifer N Caldarera
Izzy P Ostrosky
Alejandro A Darakjy
Arvin L Malet
Chavez C Gillian
Stacey O Saylors
Murillo F Rim
Clifford U Caldarera
Clifford Q Tollner
Kaitlin R Saylors
Maria C Stockham
Juan E Caldarera
Jennifer E Marrier
Misaki V Malet
Sinclair L Malet
Cody D Nestle
Greenwood J Tollner
Silvio Z Oldroyd
Faith N Doe
Julie P Vocelka
Jennifer S Maclead
Munro J Perin
Juan Y Figeroa
Misaki G Perin
Maria F Dilliard
Maria Z Briddick
Jennifer G Nestle
Cody B Bowley
Clifford V Nestle
Leon U Gaucho
Maria W Ferencz
Arvin U Butt
Ivar M Malet
IdCountryDate
1000Germany2026-06-11
1001India2026-06-17
1002India2026-06-27
1003France2026-06-26
1004France2026-07-02
1005Italy2026-06-26
1006Brazil2026-07-01
1007Japan2026-06-26
1008Canada2026-06-19
1009Germany2026-06-28
1010Russia2026-06-08
1011United Kingdom2026-06-10
1012France2026-06-19
1013Brazil2026-06-29
1014United Kingdom2026-06-30
1015Australia2026-06-29
1016Argentina2026-06-27
1017Canada2026-06-08
1018Australia2026-06-27
1019Italy2026-06-21
1020Italy2026-06-07
1021Brazil2026-07-01
1022Spain2026-06-17
1023Canada2026-06-30
1024Canada2026-06-21
1025United Kingdom2026-06-14
1026Italy2026-06-10
1027Canada2026-06-11
1028Spain2026-06-07
1029Canada2026-07-02
1030Canada2026-07-03
1031Argentina2026-06-24
1032Brazil2026-06-09
1033Spain2026-06-27
1034United Kingdom2026-06-29
1035India2026-07-03
1036United Kingdom2026-06-15
1037Argentina2026-07-03
1038Argentina2026-06-09
1039Brazil2026-06-18
1040Canada2026-06-09
1041Germany2026-06-25
1042Japan2026-06-23
1043India2026-06-19
1044Italy2026-07-06
1045Australia2026-06-14
1046Argentina2026-06-23
1047Russia2026-06-23
1048Germany2026-06-10
1049Japan2026-07-03

On-Demand Data

NameIdCountryDate
Arvin R Inouye1000Italy2026-06-19
Alejandro U Campain1001Canada2026-06-27
Nicolas S Nicka1002Japan2026-06-14
Smith P Doe1003Germany2026-06-08
Izzy P Glick1004Brazil2026-06-16
Wickens B Dilliard1005Spain2026-07-04
Maisha R Ferencz1006Brazil2026-06-25
Octavia N Doe1007Italy2026-07-04
Aruna O Malet1008Argentina2026-06-11
Juan W Figeroa1009Russia2026-06-19
Claire J Caudy1010United Kingdom2026-06-11
Ricardo L Chui1011Russia2026-06-21
Claire R Nestle1012Australia2026-06-11
Jefferson E Poquette1013United Kingdom2026-06-07
Isabel F Vocelka1014Italy2026-06-22
Rodrigues B Wieser1015Argentina2026-06-12
Johnson J Briddick1016United Kingdom2026-06-22
Maria J Malet1017Canada2026-06-22
Jones D Nicka1018Australia2026-06-11
Salvatore R Rim1019United Kingdom2026-06-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa X CampainAustraliaElwin Sharvill PROPOSAL
Chavez B VenereJapanAnna Fali NEGOTIATION
Aditya R DoeJapanAsiya Javayant NEGOTIATION
Clifford X RulapaughSpainXuxue Feng NEGOTIATION
Mujtaba O FlosiJapanElwin Sharvill NEW
Francesco R OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin J GarufiSpainIoni Bowcher NEGOTIATION
Ashley H GarufiFranceElwin Sharvill RENEWAL
Emily T IturbideFranceElwin Sharvill NEW
Darci B PoquetteItalyStephen Shaw QUALIFIED
Antonio E ChuiIndiaXuxue Feng UNQUALIFIED
Julie Z AlbaresUnited KingdomAmy Elsner QUALIFIED
Juan L RoysterUnited KingdomXuxue Feng UNQUALIFIED
Cody B WaycottArgentinaElwin Sharvill NEGOTIATION
Jennifer O MarrierRussiaAmy Elsner RENEWAL
Morrow V WaycottFranceAnna Fali NEGOTIATION
Leja A SergiCanadaIoni Bowcher QUALIFIED
Jefferson B KolmetzAustraliaIoni Bowcher QUALIFIED
David B PaprockiAustraliaAnna Fali NEW
Jefferson W AmigonGermanyXuxue Feng NEGOTIATION
Misaki Y BriddickJapanAmy Elsner NEGOTIATION
Claire C FigeroaArgentinaAsiya Javayant PROPOSAL
Octavia G NickaUnited KingdomOnyama Limba NEGOTIATION
Murillo X GauchoSpainAmy Elsner PROPOSAL
Johnson L RutaUnited KingdomAmy Elsner NEW
Smith J RulapaughJapanAmy Elsner PROPOSAL
Sinclair H BowleyBrazilIvan Magalhaes RENEWAL
Clifford Z AlbaresGermanyBernardo Dominic QUALIFIED
Juan Q BriddickCanadaAsiya Javayant NEW
Murillo R PoquetteRussiaOnyama Limba QUALIFIED
David W SergiArgentinaStephen Shaw NEW
Leon S OldroydBrazilXuxue Feng QUALIFIED
Sinclair U DilliardIndiaXuxue Feng QUALIFIED
Aditya V RutaItalyOnyama Limba NEGOTIATION
Jennifer D FlosiFranceAsiya Javayant UNQUALIFIED
Izzy E GarufiSpainAmy Elsner RENEWAL
Munro K FerenczItalyIoni Bowcher NEGOTIATION
Johnson R BriddickUnited KingdomAmy Elsner NEW
Mayumi Q ChuiSpainAmy Elsner UNQUALIFIED
Maria T RoysterArgentinaOnyama 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>