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
Emily Q CampainIndiaElwin Sharvill NEGOTIATION
Tony R OstroskyBrazilElwin Sharvill QUALIFIED
James Q CaldareraArgentinaAsiya Javayant RENEWAL
Jefferson N GauchoItalyBernardo Dominic NEW
Maisha V SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Juan K SchemmerIndiaAmy Elsner UNQUALIFIED
James P MarrierAustraliaIvan Magalhaes UNQUALIFIED
Darci Q VenereFranceXuxue Feng RENEWAL
Murillo M BowleySpainElwin Sharvill PROPOSAL
Chavez Z PoquetteFranceOnyama Limba QUALIFIED
Claire O OstroskyRussiaIoni Bowcher NEW
Johnson U MorascaJapanAmy Elsner RENEWAL
Morrow B IturbideUnited KingdomXuxue Feng QUALIFIED
Darci K GillianFranceAnna Fali RENEWAL
Jefferson Z SaylorsArgentinaAmy Elsner UNQUALIFIED
Wickens T MacleadGermanyElwin Sharvill NEGOTIATION
Mayumi K AlbaresSpainElwin Sharvill NEGOTIATION
Jones Y AmigonGermanyElwin Sharvill RENEWAL
Antonio P GauchoItalyIvan Magalhaes RENEWAL
Ivar X ButtBrazilIoni Bowcher NEGOTIATION
Darci D MarrierGermanyIvan Magalhaes PROPOSAL
Silvio G FerenczGermanyElwin Sharvill NEGOTIATION
Isabel L KuskoRussiaAsiya Javayant NEW
Jefferson K GillianRussiaAnna Fali UNQUALIFIED
Ricardo H BriddickGermanyElwin Sharvill RENEWAL
Arvin C MarrierRussiaOnyama Limba QUALIFIED
Greenwood T MarrierCanadaAsiya Javayant NEW
Ricardo Z VenereBrazilXuxue Feng NEGOTIATION
Adams U BriddickBrazilIvan Magalhaes UNQUALIFIED
Isabel E IturbideJapanBernardo Dominic PROPOSAL
Adams W OldroydJapanBernardo Dominic UNQUALIFIED
Greenwood H MaletBrazilElwin Sharvill RENEWAL
Greenwood Y AlbaresSpainIoni Bowcher NEW
Aika L DarakjyUnited KingdomXuxue Feng QUALIFIED
Mujtaba R ButtBrazilXuxue Feng QUALIFIED
Stacey Q AlbaresItalyBernardo Dominic RENEWAL
Stacey H ChuiUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues R IturbideIndiaAmy Elsner NEGOTIATION
Izzy T KolmetzBrazilXuxue Feng NEGOTIATION
Cody N NestleFranceIoni Bowcher PROPOSAL
Octavia C DoeSpainBernardo Dominic RENEWAL
Murillo T AmigonIndiaAsiya Javayant NEW
James D PoquetteAustraliaElwin Sharvill NEGOTIATION
Morrow P WhobreySpainAsiya Javayant QUALIFIED
Sinclair G FigeroaSpainBernardo Dominic UNQUALIFIED
Kadeem N FollerArgentinaAmy Elsner QUALIFIED
Smith V DilliardBrazilAsiya Javayant NEGOTIATION
Jefferson U GauchoItalyIvan Magalhaes UNQUALIFIED
Cody B MaletBrazilBernardo Dominic UNQUALIFIED
Faith S FerenczArgentinaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Francesco M WhobreyJapanAsiya Javayant NEGOTIATION
Johnson G RutaSpainAsiya Javayant RENEWAL
Greenwood S RimBrazilElwin Sharvill NEGOTIATION
Aika F GillianUnited KingdomAnna Fali PROPOSAL
Silvio V DoeAustraliaStephen Shaw PROPOSAL
Murillo E MarrierGermanyElwin Sharvill PROPOSAL
David T BriddickCanadaOnyama Limba QUALIFIED
Sinclair K RulapaughJapanXuxue Feng PROPOSAL
Tony V FerenczArgentinaAsiya Javayant QUALIFIED
Jones V DilliardRussiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro B WieserUnited Kingdom2026-07-31Truhlar And Truhlar Attys UNQUALIFIED69Ivan Magalhaes
1001Chavez N ButtGermany2026-07-08Morlong Associates RENEWAL7Ioni Bowcher
1002Emily F SergiCanada2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED13Xuxue Feng
1003Deepesh P FollerBrazil2026-07-12Feiner Bros NEW74Anna Fali
1004Aika B GarufiFrance2026-07-25Chemel, James L Cpa NEW21Stephen Shaw
1005Rodrigues P ShinkoJapan2026-07-23Chapman, Ross E Esq UNQUALIFIED40Stephen Shaw
1006Morrow V SchemmerAustralia2026-07-21Chemel, James L Cpa UNQUALIFIED99Anna Fali
1007Tony V BowleyUnited Kingdom2026-07-30Benton, John B Jr RENEWAL68Bernardo Dominic
1008Aika Q VocelkaSpain2026-07-23Feltz Printing Service NEGOTIATION0Amy Elsner
1009Leon D WieserItaly2026-07-13Printing Dimensions NEW74Amy Elsner
1010Darci F TollnerArgentina2026-07-26Chapman, Ross E Esq QUALIFIED53Stephen Shaw
1011Johnson K GarufiBrazil2026-07-09Rousseaux, Michael Esq PROPOSAL68Onyama Limba
1012Clifford P VenereItaly2026-07-12Chapman, Ross E Esq RENEWAL69Onyama Limba
1013Jefferson X DilliardItaly2026-07-22Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1014Murillo T FerenczArgentina2026-07-31Chanay, Jeffrey A Esq UNQUALIFIED5Amy Elsner
1015Maisha P IturbideBrazil2026-07-28Chemel, James L Cpa UNQUALIFIED86Amy Elsner
1016Nicolas S AlbaresGermany2026-07-04Chanay, Jeffrey A Esq PROPOSAL45Amy Elsner
1017Maisha E MorascaFrance2026-07-23Dorl, James J Esq RENEWAL63Stephen Shaw
1018Aruna E KolmetzRussia2026-07-07Dorl, James J Esq NEW38Ivan Magalhaes
1019Aruna L InouyeCanada2026-07-29King, Christopher A Esq PROPOSAL37Ivan Magalhaes
1020Salvatore K ButtIndia2026-07-18Printing Dimensions NEW69Anna Fali
1021Johnson A SchemmerJapan2026-07-20Morlong Associates NEW72Stephen Shaw
1022Juan U StensethArgentina2026-07-12Feltz Printing Service RENEWAL21Ioni Bowcher
1023Aruna C GlickCanada2026-07-02Printing Dimensions UNQUALIFIED10Onyama Limba
1024Greenwood D BologniaBrazil2026-07-18Buckley Miller Wright RENEWAL7Bernardo Dominic
1025Ashley I DilliardArgentina2026-07-26Chanay, Jeffrey A Esq NEGOTIATION84Ioni Bowcher
1026Jeanfrancois B GlickCanada2026-07-06Dorl, James J Esq NEW60Amy Elsner
1027Aika M ShinkoJapan2026-07-23Truhlar And Truhlar Attys NEGOTIATION38Elwin Sharvill
1028Isabel L CaldareraBrazil2026-07-05Truhlar And Truhlar Attys QUALIFIED80Amy Elsner
1029Jones R MacleadJapan2026-07-02Chemel, James L Cpa RENEWAL22Asiya Javayant
1030Clifford A MaletUnited Kingdom2026-07-14King, Christopher A Esq UNQUALIFIED8Ioni Bowcher
1031Murillo E GlickJapan2026-07-03Rousseaux, Michael Esq UNQUALIFIED14Elwin Sharvill
1032Smith R RulapaughCanada2026-07-31Chemel, James L Cpa PROPOSAL60Elwin Sharvill
1033Julie O SlusarskiItaly2026-07-25Rousseaux, Michael Esq NEGOTIATION92Stephen Shaw
1034Wickens U OldroydFrance2026-07-03Morlong Associates NEGOTIATION87Anna Fali
1035Cody M CaldareraBrazil2026-07-07Chemel, James L Cpa RENEWAL31Stephen Shaw
1036Morrow H AmigonItaly2026-07-24Feltz Printing Service NEW84Amy Elsner
1037Rodrigues J MorascaItaly2026-07-19Chemel, James L Cpa UNQUALIFIED14Amy Elsner
1038Francesco Z PoquetteUnited Kingdom2026-07-18Feltz Printing Service NEGOTIATION48Amy Elsner
1039Arvin P OldroydSpain2026-07-28Morlong Associates RENEWAL49Elwin Sharvill
1040Rodrigues G GlickFrance2026-07-27Rangoni Of Florence PROPOSAL18Ioni Bowcher
1041Murillo N PoquetteRussia2026-07-15Buckley Miller Wright PROPOSAL3Stephen Shaw
1042Mayumi E RimSpain2026-07-23Feiner Bros NEW80Stephen Shaw
1043Jones L SergiBrazil2026-07-14Commercial Press PROPOSAL53Ivan Magalhaes
1044Ashley H KuskoFrance2026-07-14King, Christopher A Esq UNQUALIFIED99Elwin Sharvill
1045Cody X ChuiSpain2026-07-27Rangoni Of Florence RENEWAL17Onyama Limba
1046Jones G RoysterUnited Kingdom2026-07-18Rangoni Of Florence NEW97Bernardo Dominic
1047Ricardo A KolmetzJapan2026-07-18King, Christopher A Esq PROPOSAL86Bernardo Dominic
1048Chavez B SergiFrance2026-07-25Printing Dimensions QUALIFIED37Asiya Javayant
1049Octavia I WhobreyJapan2026-07-22Chemel, James L Cpa RENEWAL20Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika J ButtItalyAmy Elsner NEGOTIATION
Adams Z AlbaresJapanBernardo Dominic NEW
Aika E GillianGermanyAmy Elsner RENEWAL
Ivar I IturbideAustraliaIoni Bowcher QUALIFIED
Leja K BriddickFranceStephen Shaw RENEWAL
Ivar W PoquetteArgentinaStephen Shaw QUALIFIED
Costa R ChuiBrazilAsiya Javayant PROPOSAL
David E StockhamRussiaIvan Magalhaes PROPOSAL
Juan S GarufiItalyAmy Elsner RENEWAL
Jefferson P PerinBrazilAmy Elsner NEW
David I GarufiBrazilAsiya Javayant PROPOSAL
Morrow L PoquetteSpainElwin Sharvill QUALIFIED
Jeanfrancois U SaylorsSpainXuxue Feng QUALIFIED
Jefferson I GauchoAustraliaIoni Bowcher NEGOTIATION
Aditya Q RutaItalyBernardo Dominic PROPOSAL
James H IturbideGermanyStephen Shaw UNQUALIFIED
Rodrigues T StensethAustraliaElwin Sharvill QUALIFIED
Jeanfrancois D PoquetteUnited KingdomAnna Fali QUALIFIED
Jennifer Q InouyeUnited KingdomIvan Magalhaes RENEWAL
Cody F RoysterGermanyOnyama Limba QUALIFIED
Sinclair A AlbaresIndiaElwin Sharvill UNQUALIFIED
Rodrigues B DilliardCanadaAmy Elsner QUALIFIED
Jennifer S MaletRussiaAsiya Javayant UNQUALIFIED
Claire Z AlbaresCanadaOnyama Limba RENEWAL
Smith E OldroydUnited KingdomStephen Shaw NEW
Munro I RimSpainOnyama Limba RENEWAL
Murillo V FlosiIndiaAnna Fali NEGOTIATION
Silvio B NestleSpainIvan Magalhaes RENEWAL
Ashley V BriddickIndiaIvan Magalhaes NEGOTIATION
Francesco W GarufiFranceBernardo Dominic QUALIFIED
Francesco X StockhamSpainStephen Shaw NEW
Aika L AmigonItalyIoni Bowcher RENEWAL
Octavia T RutaRussiaElwin Sharvill NEGOTIATION
Maria U AlbaresIndiaAsiya Javayant PROPOSAL
Jefferson J OstroskyArgentinaBernardo Dominic NEGOTIATION
David P WaycottGermanyBernardo Dominic NEW
Emily F DilliardUnited KingdomAnna Fali PROPOSAL
Faith P SlusarskiCanadaBernardo Dominic NEGOTIATION
Emily P FollerJapanIvan Magalhaes QUALIFIED
Juan A WaycottFranceAmy Elsner QUALIFIED
Aruna I BologniaRussiaAmy Elsner QUALIFIED
Smith X RimCanadaStephen Shaw NEGOTIATION
David M SergiCanadaXuxue Feng QUALIFIED
Adams E KolmetzItalyIvan Magalhaes NEW
Morrow I ChuiItalyBernardo Dominic QUALIFIED
Julie S RulapaughCanadaBernardo Dominic PROPOSAL
Maria U CampainIndiaStephen Shaw PROPOSAL
Smith N AmigonIndiaElwin Sharvill UNQUALIFIED
Leja N CaldareraRussiaAsiya Javayant NEW
Ricardo W RulapaughCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Deepesh L Foller
Jefferson Y Rulapaugh
Sinclair M Paprocki
Johnson I Venere
Ricardo I Perin
Greenwood Q Poquette
Maisha J Kusko
Jeanfrancois P Dilliard
Isabel V Flosi
Johnson N Ferencz
Deepesh K Amigon
Sinclair R Gillian
Kadeem H Morasca
Claire B Inouye
Maisha A Stockham
Emily S Ostrosky
Jefferson W Waycott
Jeanfrancois C Iturbide
Leja P Foller
Octavia N Ferencz
Ricardo T Gillian
Nicolas N Nestle
Costa V Campain
Murillo T Ferencz
Darci E Darakjy
Emily P Tollner
Adams Z Glick
Adams I Nicka
Chavez A Ruta
Munro V Paprocki
Francesco L Dilliard
Morrow F Ruta
Octavia I Whobrey
Ricardo W Briddick
Adams L Poquette
Salvatore L Schemmer
Claire M Gaucho
Silvio U Maclead
Ivar N Butt
Munro L Royster
Munro N Gaucho
Leja H Doe
Maria O Bowley
Deepesh I Ostrosky
Mujtaba H Rim
Salvatore H Amigon
Sinclair H Nicka
Aika T Saylors
Mayumi A Rim
Munro X Saylors
IdCountryDate
1000Canada2026-07-25
1001Italy2026-07-28
1002France2026-07-12
1003Argentina2026-07-21
1004Brazil2026-07-17
1005Italy2026-07-02
1006Italy2026-07-20
1007United Kingdom2026-07-13
1008Brazil2026-07-23
1009France2026-07-28
1010Canada2026-07-29
1011Italy2026-07-08
1012Italy2026-07-14
1013Italy2026-07-02
1014Argentina2026-07-12
1015India2026-07-30
1016United Kingdom2026-07-14
1017Germany2026-07-14
1018Italy2026-07-26
1019Argentina2026-07-19
1020United Kingdom2026-07-15
1021Brazil2026-07-16
1022Russia2026-07-16
1023Japan2026-07-14
1024India2026-07-06
1025Canada2026-07-14
1026United Kingdom2026-07-29
1027Japan2026-07-25
1028Spain2026-07-06
1029Brazil2026-07-20
1030Brazil2026-07-13
1031India2026-07-29
1032Brazil2026-07-22
1033United Kingdom2026-07-08
1034Italy2026-07-29
1035Argentina2026-07-30
1036France2026-07-10
1037France2026-07-13
1038Japan2026-07-10
1039Italy2026-07-27
1040Spain2026-07-22
1041Argentina2026-07-05
1042United Kingdom2026-07-29
1043United Kingdom2026-07-12
1044Australia2026-07-22
1045Japan2026-07-30
1046Canada2026-07-08
1047Italy2026-07-05
1048Australia2026-07-07
1049Germany2026-07-06

On-Demand Data

NameIdCountryDate
Jones A Rim1000France2026-07-04
Alejandro Y Gillian1001Brazil2026-07-13
Octavia J Perin1002Argentina2026-07-30
Arvin W Butt1003Australia2026-07-18
Nicolas S Caldarera1004Canada2026-07-08
Clifford W Kusko1005Germany2026-07-19
Jones Y Royster1006Japan2026-07-26
Chavez U Darakjy1007Spain2026-07-25
Antonio Y Caldarera1008Argentina2026-07-12
Darci J Chui1009United Kingdom2026-07-19
Ricardo W Albares1010Australia2026-07-20
Greenwood V Schemmer1011Russia2026-07-24
Wickens Q Nestle1012United Kingdom2026-07-27
Juan Q Stockham1013Spain2026-07-25
Leon W Amigon1014Japan2026-07-05
Kadeem K Campain1015France2026-07-27
Octavia K Waycott1016Russia2026-07-15
Julie O Caldarera1017Japan2026-07-30
Adams T Caudy1018Italy2026-07-13
Kaitlin M Tollner1019Japan2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire T FollerBrazilAmy Elsner PROPOSAL
Munro M ShinkoJapanOnyama Limba QUALIFIED
Leja X DarakjyRussiaStephen Shaw QUALIFIED
Mayumi W IturbideUnited KingdomAsiya Javayant PROPOSAL
Francesco L VenereUnited KingdomElwin Sharvill PROPOSAL
Stacey O SlusarskiRussiaAmy Elsner RENEWAL
Rodrigues E RulapaughItalyXuxue Feng UNQUALIFIED
Jefferson R MaletJapanAmy Elsner NEW
Jennifer V RulapaughArgentinaIvan Magalhaes QUALIFIED
Sinclair F TollnerIndiaOnyama Limba QUALIFIED
Kaitlin B BologniaFranceOnyama Limba NEW
Arvin O DoeItalyAmy Elsner NEGOTIATION
Stacey G GillianUnited KingdomAsiya Javayant QUALIFIED
Maria Y RoysterJapanAnna Fali UNQUALIFIED
Adams Z GillianAustraliaOnyama Limba PROPOSAL
Silvio B MorascaBrazilIvan Magalhaes NEW
Johnson A IturbideArgentinaIvan Magalhaes NEW
Faith R CaudyAustraliaXuxue Feng NEW
Chavez X WhobreyRussiaIvan Magalhaes UNQUALIFIED
Aruna M AmigonIndiaIvan Magalhaes PROPOSAL
Claire I InouyeBrazilAnna Fali QUALIFIED
Mujtaba R FlosiItalyBernardo Dominic QUALIFIED
Maria W StockhamJapanElwin Sharvill UNQUALIFIED
Emily J BriddickCanadaXuxue Feng UNQUALIFIED
Jennifer N FigeroaAustraliaAnna Fali RENEWAL
Jeanfrancois D StockhamSpainAnna Fali RENEWAL
Darci N GauchoUnited KingdomOnyama Limba QUALIFIED
Isabel O NickaIndiaAsiya Javayant NEGOTIATION
Jennifer G RimArgentinaStephen Shaw RENEWAL
Mujtaba N IturbideFranceAmy Elsner QUALIFIED
Ricardo H AmigonRussiaAmy Elsner QUALIFIED
Isabel S NestleFranceAnna Fali QUALIFIED
Silvio B AlbaresAustraliaAnna Fali QUALIFIED
Silvio X SaylorsUnited KingdomElwin Sharvill PROPOSAL
Greenwood Z MacleadRussiaStephen Shaw PROPOSAL
Jeanfrancois M CaldareraBrazilElwin Sharvill NEGOTIATION
Mayumi T MorascaCanadaAsiya Javayant RENEWAL
Mujtaba G GillianFranceBernardo Dominic NEGOTIATION
Stacey V MarrierArgentinaIvan Magalhaes RENEWAL
Tony K NestleSpainXuxue Feng NEW

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