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
Chavez O MaletCanadaElwin Sharvill NEGOTIATION
Aika X GarufiAustraliaXuxue Feng PROPOSAL
Kaitlin Q CaldareraArgentinaIvan Magalhaes RENEWAL
Jeanfrancois M SergiFranceAsiya Javayant PROPOSAL
Jefferson O WieserAustraliaBernardo Dominic NEGOTIATION
Faith D MaletItalyStephen Shaw NEGOTIATION
Salvatore W CaldareraAustraliaIoni Bowcher PROPOSAL
Alejandro M StensethJapanElwin Sharvill RENEWAL
Octavia T AmigonRussiaAnna Fali NEW
Adams Y DarakjyCanadaXuxue Feng UNQUALIFIED
Faith Q DarakjyBrazilOnyama Limba UNQUALIFIED
Deepesh P MorascaArgentinaAmy Elsner PROPOSAL
Costa Q BowleyUnited KingdomAnna Fali RENEWAL
Salvatore M FigeroaBrazilAmy Elsner NEW
Smith E ShinkoGermanyAnna Fali QUALIFIED
Aika U MorascaCanadaAsiya Javayant QUALIFIED
Ivar D PaprockiJapanBernardo Dominic QUALIFIED
James Q StockhamCanadaXuxue Feng UNQUALIFIED
David K BowleyJapanAsiya Javayant NEGOTIATION
Kadeem L SlusarskiRussiaElwin Sharvill NEW
Stacey S FigeroaRussiaElwin Sharvill NEW
David I MarrierAustraliaElwin Sharvill NEW
Cody I DilliardUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois T TollnerItalyAmy Elsner QUALIFIED
Jones V MacleadSpainXuxue Feng NEGOTIATION
Jeanfrancois V GlickJapanBernardo Dominic NEGOTIATION
Kaitlin Y AmigonBrazilXuxue Feng NEGOTIATION
Juan K BriddickCanadaElwin Sharvill RENEWAL
Antonio O SchemmerJapanXuxue Feng NEGOTIATION
Wickens N CaudySpainAsiya Javayant NEW
Jeanfrancois S RimIndiaStephen Shaw NEGOTIATION
Juan L GauchoItalyIoni Bowcher PROPOSAL
Maisha K NestleItalyIvan Magalhaes PROPOSAL
Antonio P SaylorsUnited KingdomOnyama Limba PROPOSAL
Sinclair P PaprockiItalyIoni Bowcher RENEWAL
Silvio J FollerArgentinaAmy Elsner QUALIFIED
David B VenereAustraliaElwin Sharvill PROPOSAL
Aika N RoysterCanadaBernardo Dominic QUALIFIED
Greenwood V AlbaresRussiaStephen Shaw QUALIFIED
Alejandro Z StockhamGermanyElwin Sharvill RENEWAL
Julie B AmigonGermanyElwin Sharvill UNQUALIFIED
Greenwood T VocelkaAustraliaStephen Shaw PROPOSAL
Clifford F KuskoGermanyXuxue Feng PROPOSAL
Arvin S DilliardItalyBernardo Dominic NEW
Arvin R DarakjyItalyBernardo Dominic UNQUALIFIED
Mayumi T FerenczItalyOnyama Limba NEGOTIATION
Johnson V NestleBrazilIvan Magalhaes NEGOTIATION
Adams M NestleSpainElwin Sharvill NEW
Aruna I RulapaughFranceBernardo Dominic QUALIFIED
Octavia T WaycottIndiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily U MaletRussiaAmy Elsner QUALIFIED
Cody B FigeroaIndiaAmy Elsner NEGOTIATION
Aruna J BowleyRussiaBernardo Dominic UNQUALIFIED
Antonio S CampainJapanIvan Magalhaes RENEWAL
David J WaycottAustraliaIoni Bowcher RENEWAL
Smith L InouyeGermanyAnna Fali UNQUALIFIED
Aruna T GarufiItalyIoni Bowcher QUALIFIED
Darci Q MacleadSpainAmy Elsner NEW
Jones I WaycottFranceXuxue Feng QUALIFIED
Octavia Y NestleSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith T OstroskySpain2026-08-05Morlong Associates QUALIFIED58Bernardo Dominic
1001Claire H VenereJapan2026-08-01Chemel, James L Cpa UNQUALIFIED16Xuxue Feng
1002Kadeem D NickaUnited Kingdom2026-08-05King, Christopher A Esq RENEWAL46Asiya Javayant
1003Juan U CampainJapan2026-07-16Rangoni Of Florence NEW2Stephen Shaw
1004Alejandro M RulapaughIndia2026-07-19Buckley Miller Wright UNQUALIFIED9Ioni Bowcher
1005Juan V OldroydSpain2026-07-30Chemel, James L Cpa QUALIFIED94Elwin Sharvill
1006Adams U BowleyArgentina2026-08-05Truhlar And Truhlar Attys UNQUALIFIED91Ioni Bowcher
1007Leon E FigeroaJapan2026-07-25Printing Dimensions UNQUALIFIED37Bernardo Dominic
1008Mayumi J AmigonAustralia2026-07-24Benton, John B Jr QUALIFIED33Elwin Sharvill
1009Maria J MacleadItaly2026-07-31Rangoni Of Florence RENEWAL92Anna Fali
1010Costa N CaldareraJapan2026-07-17Printing Dimensions NEW57Ioni Bowcher
1011Mujtaba B BowleyJapan2026-07-27Chanay, Jeffrey A Esq UNQUALIFIED4Amy Elsner
1012Aruna L TollnerRussia2026-08-06Printing Dimensions RENEWAL80Stephen Shaw
1013Aruna P AlbaresArgentina2026-08-07Rousseaux, Michael Esq RENEWAL8Xuxue Feng
1014Arvin Y FerenczArgentina2026-07-26Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1015Octavia P TollnerRussia2026-08-11Benton, John B Jr QUALIFIED40Ivan Magalhaes
1016Clifford E DarakjyJapan2026-07-14Rangoni Of Florence NEGOTIATION81Xuxue Feng
1017Francesco S PoquetteCanada2026-08-09Chemel, James L Cpa RENEWAL86Amy Elsner
1018Aruna X DarakjyRussia2026-07-21Buckley Miller Wright NEGOTIATION74Ioni Bowcher
1019Deepesh D RutaGermany2026-08-10Feiner Bros RENEWAL20Bernardo Dominic
1020Murillo R BriddickCanada2026-07-29Chapman, Ross E Esq RENEWAL41Xuxue Feng
1021Morrow K RulapaughUnited Kingdom2026-07-16Feiner Bros PROPOSAL19Bernardo Dominic
1022Deepesh M TollnerIndia2026-08-03Commercial Press UNQUALIFIED21Onyama Limba
1023James S CampainItaly2026-08-02Commercial Press PROPOSAL46Bernardo Dominic
1024Cody Q FlosiRussia2026-07-15Benton, John B Jr PROPOSAL9Ioni Bowcher
1025Juan V KolmetzAustralia2026-07-15Buckley Miller Wright NEW8Onyama Limba
1026Juan O PaprockiCanada2026-07-15Chapman, Ross E Esq RENEWAL14Onyama Limba
1027Nicolas R MacleadUnited Kingdom2026-07-29Feiner Bros QUALIFIED51Stephen Shaw
1028David F ShinkoItaly2026-08-07Chanay, Jeffrey A Esq UNQUALIFIED61Amy Elsner
1029Tony U SchemmerAustralia2026-07-15Buckley Miller Wright NEGOTIATION54Onyama Limba
1030Stacey F FollerJapan2026-08-04King, Christopher A Esq NEGOTIATION80Asiya Javayant
1031Aika G ShinkoIndia2026-07-16Feltz Printing Service UNQUALIFIED80Anna Fali
1032Chavez O MaletSpain2026-07-14Chemel, James L Cpa QUALIFIED2Asiya Javayant
1033Jennifer E CaudyFrance2026-08-11Commercial Press RENEWAL22Onyama Limba
1034Emily H FlosiFrance2026-07-14Commercial Press QUALIFIED88Onyama Limba
1035Claire B ShinkoBrazil2026-08-08Printing Dimensions PROPOSAL20Elwin Sharvill
1036David K RoysterRussia2026-07-14Dorl, James J Esq NEGOTIATION1Anna Fali
1037Johnson T ChuiFrance2026-07-25Feiner Bros UNQUALIFIED27Bernardo Dominic
1038Leon M NickaFrance2026-07-18Feltz Printing Service PROPOSAL95Stephen Shaw
1039Clifford F MacleadCanada2026-07-14Chemel, James L Cpa QUALIFIED58Ivan Magalhaes
1040Julie J PoquetteSpain2026-07-22Benton, John B Jr PROPOSAL92Elwin Sharvill
1041Aika U KuskoJapan2026-07-28Rangoni Of Florence QUALIFIED1Bernardo Dominic
1042Chavez K WieserFrance2026-07-29Rousseaux, Michael Esq QUALIFIED69Elwin Sharvill
1043Octavia N SlusarskiGermany2026-08-09Buckley Miller Wright PROPOSAL30Bernardo Dominic
1044Jefferson L OstroskyFrance2026-08-11Chemel, James L Cpa NEW99Onyama Limba
1045Ashley K MacleadFrance2026-07-27King, Christopher A Esq NEGOTIATION20Asiya Javayant
1046Leja A SaylorsArgentina2026-08-02Rangoni Of Florence PROPOSAL57Xuxue Feng
1047Emily J BriddickArgentina2026-08-10Buckley Miller Wright RENEWAL68Elwin Sharvill
1048Morrow V PaprockiSpain2026-08-06Chemel, James L Cpa NEW27Ioni Bowcher
1049Adams D FollerGermany2026-08-03Commercial Press NEW95Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues I PaprockiSpainElwin Sharvill RENEWAL
Izzy F BowleyFranceIvan Magalhaes RENEWAL
Arvin H GillianIndiaIoni Bowcher NEW
Murillo G OldroydSpainElwin Sharvill RENEWAL
Ashley J CampainRussiaBernardo Dominic RENEWAL
Silvio B KuskoSpainAmy Elsner UNQUALIFIED
Claire Q SchemmerJapanAnna Fali NEW
Claire X NickaJapanElwin Sharvill NEGOTIATION
David Q OstroskyGermanyStephen Shaw PROPOSAL
Salvatore P ChuiIndiaAnna Fali QUALIFIED
Darci M GarufiSpainElwin Sharvill QUALIFIED
Izzy R PoquetteItalyStephen Shaw RENEWAL
Deepesh S ChuiItalyXuxue Feng RENEWAL
Greenwood M GarufiRussiaStephen Shaw RENEWAL
Aika R RimBrazilElwin Sharvill NEGOTIATION
Aditya T WaycottIndiaElwin Sharvill UNQUALIFIED
Salvatore D TollnerBrazilStephen Shaw PROPOSAL
Costa M WaycottFranceBernardo Dominic RENEWAL
Aditya U GlickArgentinaAmy Elsner PROPOSAL
Nicolas Z OldroydJapanStephen Shaw PROPOSAL
Smith W DarakjyIndiaBernardo Dominic QUALIFIED
Chavez T GauchoUnited KingdomAsiya Javayant QUALIFIED
Smith U PaprockiJapanAnna Fali NEW
Leja E AmigonBrazilStephen Shaw RENEWAL
Silvio P BriddickCanadaXuxue Feng NEGOTIATION
Francesco O MarrierUnited KingdomAmy Elsner NEW
Greenwood K DoeIndiaOnyama Limba QUALIFIED
Misaki J WhobreyCanadaAsiya Javayant UNQUALIFIED
Ivar O MarrierFranceOnyama Limba PROPOSAL
Costa L SchemmerBrazilStephen Shaw PROPOSAL
Jeanfrancois L NickaAustraliaAmy Elsner NEW
Aika Z StockhamFranceXuxue Feng QUALIFIED
Alejandro E MaletItalyBernardo Dominic NEGOTIATION
Kaitlin E PaprockiArgentinaAmy Elsner PROPOSAL
Smith V GauchoFranceOnyama Limba RENEWAL
Mayumi C PerinRussiaAsiya Javayant QUALIFIED
Ricardo W OldroydItalyAsiya Javayant QUALIFIED
Rodrigues D RulapaughIndiaOnyama Limba RENEWAL
Francesco Y GlickIndiaBernardo Dominic QUALIFIED
Wickens K OldroydIndiaOnyama Limba QUALIFIED
Nicolas T MarrierArgentinaStephen Shaw RENEWAL
Isabel C StockhamCanadaBernardo Dominic PROPOSAL
Darci N WieserCanadaAmy Elsner NEGOTIATION
Ashley E ChuiCanadaAsiya Javayant RENEWAL
Ashley L DoeFranceIvan Magalhaes PROPOSAL
Kadeem B RoysterArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois Z CampainUnited KingdomIoni Bowcher RENEWAL
Nicolas Y FerenczIndiaAmy Elsner NEGOTIATION
Arvin G OstroskyFranceIoni Bowcher RENEWAL
Juan X MaletRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Sinclair Q Bolognia
Tony W Foller
Mujtaba R Rim
Jefferson N Glick
Smith V Dilliard
Ricardo P Ruta
Wickens T Iturbide
Chavez N Iturbide
Maisha H Shinko
Mayumi V Briddick
Kaitlin E Caldarera
Octavia A Tollner
Maisha N Campain
Salvatore F Briddick
Leon K Caldarera
Ivar W Doe
Chavez T Poquette
Chavez X Wieser
Nicolas S Garufi
Munro Q Rulapaugh
Morrow Y Royster
Deepesh V Chui
Juan N Albares
Faith J Ostrosky
Adams Z Whobrey
Juan H Gaucho
Kaitlin A Royster
Johnson T Campain
Cody H Doe
Julie R Paprocki
Greenwood L Foller
Arvin X Tollner
Misaki Z Amigon
Maria F Saylors
Leja W Darakjy
Kaitlin H Marrier
Octavia U Ostrosky
Kaitlin P Bolognia
Cody I Caldarera
Faith A Kusko
Nicolas I Perin
Octavia B Flosi
Cody M Chui
Tony Z Venere
Johnson J Bowley
James L Figeroa
Jennifer B Marrier
Jefferson Q Campain
Nicolas E Tollner
Misaki I Kolmetz
IdCountryDate
1000Brazil2026-07-30
1001India2026-08-05
1002Italy2026-07-28
1003Spain2026-07-14
1004Spain2026-08-07
1005Brazil2026-08-07
1006India2026-07-13
1007United Kingdom2026-07-20
1008Italy2026-08-06
1009France2026-08-01
1010France2026-08-06
1011Canada2026-07-17
1012Russia2026-08-04
1013Italy2026-07-25
1014India2026-07-18
1015Argentina2026-07-19
1016Italy2026-07-23
1017Argentina2026-07-21
1018United Kingdom2026-08-11
1019Canada2026-07-16
1020United Kingdom2026-07-21
1021Spain2026-07-19
1022Italy2026-08-09
1023Italy2026-08-06
1024Spain2026-08-06
1025India2026-07-19
1026France2026-08-11
1027France2026-08-06
1028United Kingdom2026-08-09
1029Spain2026-07-24
1030India2026-07-24
1031Argentina2026-07-18
1032Canada2026-07-30
1033Germany2026-07-27
1034Spain2026-07-16
1035Canada2026-08-03
1036Argentina2026-07-13
1037Canada2026-07-29
1038Spain2026-08-01
1039Russia2026-07-23
1040Argentina2026-07-16
1041United Kingdom2026-07-19
1042Brazil2026-07-27
1043Argentina2026-07-13
1044Argentina2026-07-20
1045Germany2026-08-08
1046Russia2026-08-06
1047Spain2026-08-03
1048Argentina2026-07-31
1049Italy2026-08-08

On-Demand Data

NameIdCountryDate
Arvin U Perin1000Italy2026-07-19
Kadeem D Vocelka1001Russia2026-08-11
Alejandro A Nestle1002Canada2026-07-23
Tony T Rim1003Australia2026-07-21
Maisha T Paprocki1004France2026-07-28
Jennifer V Nicka1005Argentina2026-07-18
Johnson A Albares1006Spain2026-07-17
Adams J Perin1007France2026-07-24
Darci O Malet1008Russia2026-07-23
Misaki L Paprocki1009United Kingdom2026-08-01
Deepesh W Darakjy1010Germany2026-08-11
Greenwood L Malet1011India2026-07-13
Smith U Glick1012Germany2026-07-20
Salvatore K Malet1013Brazil2026-07-18
Leon E Gillian1014United Kingdom2026-08-11
Morrow N Rulapaugh1015Italy2026-07-28
Aditya G Butt1016Brazil2026-07-21
Jones H Doe1017Japan2026-08-07
Costa D Nicka1018Brazil2026-07-28
James Y Marrier1019Russia2026-07-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois G ButtRussiaAnna Fali NEW
Misaki L FlosiItalyIoni Bowcher QUALIFIED
Jennifer T OstroskyItalyBernardo Dominic UNQUALIFIED
Sinclair C ButtRussiaAnna Fali RENEWAL
Antonio T PaprockiSpainElwin Sharvill PROPOSAL
Isabel H DarakjyIndiaStephen Shaw RENEWAL
Silvio K TollnerRussiaIvan Magalhaes NEW
Aika Z AmigonItalyElwin Sharvill RENEWAL
Munro U AmigonRussiaIoni Bowcher QUALIFIED
Clifford Z AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Jefferson R FlosiJapanElwin Sharvill NEW
Ricardo D MaletItalyAmy Elsner RENEWAL
Octavia O WieserRussiaAsiya Javayant NEGOTIATION
Silvio E StensethRussiaStephen Shaw NEGOTIATION
Johnson H FerenczSpainOnyama Limba RENEWAL
Salvatore S SergiSpainBernardo Dominic PROPOSAL
Salvatore Q ButtItalyOnyama Limba PROPOSAL
Stacey M MaletBrazilIvan Magalhaes RENEWAL
Darci D MorascaFranceElwin Sharvill RENEWAL
James J MaletItalyXuxue Feng PROPOSAL
Alejandro S DilliardFranceBernardo Dominic NEGOTIATION
Aika A DilliardSpainIvan Magalhaes NEW
Isabel D CaudyJapanAsiya Javayant RENEWAL
Silvio L GillianItalyAmy Elsner QUALIFIED
Jennifer P RimUnited KingdomXuxue Feng PROPOSAL
Kaitlin D DilliardBrazilAmy Elsner NEW
Stacey B PaprockiBrazilBernardo Dominic NEGOTIATION
Mayumi E BowleyItalyIvan Magalhaes NEW
Darci V GauchoCanadaIoni Bowcher UNQUALIFIED
Misaki N SchemmerAustraliaIoni Bowcher PROPOSAL
Maisha N DilliardBrazilAsiya Javayant NEW
Darci Z BologniaCanadaXuxue Feng NEGOTIATION
Jennifer Y FollerSpainStephen Shaw UNQUALIFIED
Nicolas Q RulapaughCanadaXuxue Feng UNQUALIFIED
Maisha A StockhamArgentinaAmy Elsner QUALIFIED
Jefferson I BriddickSpainAmy Elsner NEGOTIATION
Aditya E WaycottArgentinaElwin Sharvill RENEWAL
Murillo I BologniaSpainOnyama Limba UNQUALIFIED
Izzy X FlosiFranceAnna Fali PROPOSAL
Jeanfrancois L AmigonGermanyIoni Bowcher 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>