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
Jones L MaletGermanyOnyama Limba NEGOTIATION
Chavez B RoysterFranceAsiya Javayant QUALIFIED
Aditya S DarakjyIndiaIoni Bowcher QUALIFIED
Claire E SlusarskiBrazilIvan Magalhaes PROPOSAL
Murillo K StockhamFranceElwin Sharvill NEGOTIATION
Ivar B VocelkaFranceElwin Sharvill NEW
Tony T GarufiIndiaOnyama Limba PROPOSAL
Faith I NestleBrazilIvan Magalhaes QUALIFIED
Jennifer R ChuiItalyAmy Elsner PROPOSAL
Nicolas Q OldroydFranceXuxue Feng QUALIFIED
Aditya T SaylorsFranceOnyama Limba UNQUALIFIED
Octavia X SchemmerUnited KingdomStephen Shaw RENEWAL
Aditya V DarakjySpainOnyama Limba QUALIFIED
James W MaletItalyBernardo Dominic UNQUALIFIED
Mayumi F SergiRussiaAnna Fali PROPOSAL
Alejandro D GauchoJapanOnyama Limba NEW
Cody J OldroydAustraliaIoni Bowcher PROPOSAL
Johnson Y PaprockiItalyElwin Sharvill PROPOSAL
Murillo X GauchoJapanOnyama Limba PROPOSAL
Isabel L StensethJapanAnna Fali RENEWAL
Kaitlin T GillianJapanStephen Shaw RENEWAL
Juan E FollerIndiaIoni Bowcher NEW
Claire K FlosiArgentinaXuxue Feng NEW
Mujtaba Y BologniaFranceIvan Magalhaes NEW
Jones F ButtArgentinaIoni Bowcher NEGOTIATION
Leon T BologniaIndiaStephen Shaw RENEWAL
Alejandro Q FollerItalyStephen Shaw PROPOSAL
Darci O VenereSpainElwin Sharvill RENEWAL
Francesco L CampainCanadaBernardo Dominic NEGOTIATION
Arvin J WaycottRussiaIvan Magalhaes QUALIFIED
Juan T KuskoBrazilStephen Shaw RENEWAL
Kaitlin J AlbaresJapanXuxue Feng QUALIFIED
Aruna T ButtUnited KingdomStephen Shaw RENEWAL
Isabel R PoquetteGermanyAsiya Javayant NEGOTIATION
Ricardo G WaycottItalyIoni Bowcher UNQUALIFIED
Kaitlin V GillianBrazilBernardo Dominic QUALIFIED
Deepesh R GarufiBrazilXuxue Feng NEW
Silvio E SlusarskiSpainOnyama Limba NEW
Rodrigues X FlosiItalyAmy Elsner QUALIFIED
Silvio J FigeroaSpainIoni Bowcher UNQUALIFIED
Jones C MaletAustraliaAnna Fali NEW
Arvin N WhobreyAustraliaOnyama Limba QUALIFIED
Isabel X GillianItalyAnna Fali QUALIFIED
Emily I BowleyGermanyBernardo Dominic NEW
Stacey U GarufiIndiaStephen Shaw QUALIFIED
Ashley X KuskoArgentinaStephen Shaw NEW
Kaitlin F SlusarskiAustraliaAmy Elsner RENEWAL
Aruna S FollerArgentinaIvan Magalhaes NEW
Jeanfrancois V NestleGermanyOnyama Limba QUALIFIED
Izzy Z PoquetteJapanIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Aika I StockhamGermanyAsiya Javayant NEGOTIATION
Aruna J GillianSpainAmy Elsner RENEWAL
Emily Q BologniaArgentinaElwin Sharvill UNQUALIFIED
Murillo M DoeFranceStephen Shaw QUALIFIED
Stacey M BologniaJapanXuxue Feng QUALIFIED
Kadeem K WaycottIndiaXuxue Feng PROPOSAL
Greenwood P AlbaresRussiaStephen Shaw RENEWAL
Faith F InouyeCanadaOnyama Limba NEGOTIATION
Maria R DilliardFranceElwin Sharvill UNQUALIFIED
Izzy M PoquetteGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow K NestleRussia2025-04-27Rousseaux, Michael Esq RENEWAL63Onyama Limba
1001Chavez X ButtRussia2025-04-28Feltz Printing Service QUALIFIED90Ivan Magalhaes
1002Ivar P CaudyJapan2025-04-06Feltz Printing Service QUALIFIED2Anna Fali
1003David X KuskoRussia2025-04-03Chapman, Ross E Esq NEW21Ivan Magalhaes
1004Johnson Q DarakjySpain2025-04-18Rangoni Of Florence UNQUALIFIED61Asiya Javayant
1005Smith J MorascaJapan2025-04-01Buckley Miller Wright PROPOSAL49Bernardo Dominic
1006Deepesh M MaletUnited Kingdom2025-04-20Truhlar And Truhlar Attys NEW0Ivan Magalhaes
1007Emily Q VenereCanada2025-04-08Rousseaux, Michael Esq QUALIFIED54Onyama Limba
1008Salvatore E WieserGermany2025-04-15Feltz Printing Service PROPOSAL18Ioni Bowcher
1009Isabel Y GlickCanada2025-04-01Chanay, Jeffrey A Esq NEW0Stephen Shaw
1010Octavia O RimRussia2025-04-17Commercial Press NEW87Stephen Shaw
1011Jones M CampainFrance2025-04-08Rousseaux, Michael Esq RENEWAL41Onyama Limba
1012Aika I NestleJapan2025-04-05Morlong Associates NEW99Bernardo Dominic
1013Alejandro V WieserJapan2025-04-09Chemel, James L Cpa UNQUALIFIED19Xuxue Feng
1014Claire E PerinBrazil2025-04-17Feltz Printing Service RENEWAL42Anna Fali
1015Chavez Z WaycottArgentina2025-04-03Chanay, Jeffrey A Esq QUALIFIED1Onyama Limba
1016Wickens G SlusarskiArgentina2025-04-25Buckley Miller Wright QUALIFIED77Asiya Javayant
1017David Y PerinRussia2025-04-02Feltz Printing Service UNQUALIFIED16Anna Fali
1018Deepesh Q RutaJapan2025-04-15King, Christopher A Esq PROPOSAL96Ivan Magalhaes
1019Leja D ShinkoItaly2025-04-05Chemel, James L Cpa NEGOTIATION4Stephen Shaw
1020Tony H GarufiAustralia2025-04-20Chanay, Jeffrey A Esq PROPOSAL85Stephen Shaw
1021Stacey E VocelkaSpain2025-04-17Feiner Bros NEGOTIATION89Elwin Sharvill
1022James Q GillianArgentina2025-04-15Chapman, Ross E Esq UNQUALIFIED3Ivan Magalhaes
1023Cody O KuskoArgentina2025-04-02Chemel, James L Cpa PROPOSAL33Anna Fali
1024Wickens C StockhamGermany2025-04-17Feiner Bros RENEWAL55Onyama Limba
1025Morrow L PerinUnited Kingdom2025-04-04Printing Dimensions PROPOSAL56Xuxue Feng
1026Julie G OldroydAustralia2025-04-06Benton, John B Jr NEW80Ioni Bowcher
1027Darci U ShinkoItaly2025-04-07Feltz Printing Service QUALIFIED63Anna Fali
1028Emily T VocelkaJapan2025-04-25Chanay, Jeffrey A Esq PROPOSAL62Elwin Sharvill
1029Rodrigues I StensethAustralia2025-04-24Truhlar And Truhlar Attys PROPOSAL10Onyama Limba
1030James N MorascaUnited Kingdom2025-04-02Feltz Printing Service NEW6Elwin Sharvill
1031Isabel J StensethRussia2025-04-06Truhlar And Truhlar Attys UNQUALIFIED77Onyama Limba
1032Ashley F WieserIndia2025-04-16Truhlar And Truhlar Attys NEW23Xuxue Feng
1033Aditya Y SaylorsRussia2025-04-04Feltz Printing Service NEGOTIATION77Asiya Javayant
1034Nicolas V NestleGermany2025-04-12Commercial Press NEGOTIATION48Amy Elsner
1035Leja I FigeroaUnited Kingdom2025-04-12Rangoni Of Florence NEGOTIATION1Xuxue Feng
1036Morrow F SlusarskiJapan2025-04-12Rousseaux, Michael Esq PROPOSAL12Elwin Sharvill
1037Ivar D PaprockiItaly2025-04-30Chapman, Ross E Esq NEGOTIATION47Onyama Limba
1038Sinclair W PoquetteSpain2025-04-13Morlong Associates PROPOSAL85Asiya Javayant
1039Clifford W KuskoGermany2025-04-02Printing Dimensions NEGOTIATION9Xuxue Feng
1040Murillo A RoysterCanada2025-04-26Rangoni Of Florence NEW37Elwin Sharvill
1041Antonio I OldroydBrazil2025-04-10Commercial Press RENEWAL0Onyama Limba
1042Arvin W MaletAustralia2025-04-13Buckley Miller Wright PROPOSAL38Amy Elsner
1043Izzy Q WieserFrance2025-04-25Chanay, Jeffrey A Esq NEW45Ioni Bowcher
1044Deepesh F CaldareraBrazil2025-04-05Chapman, Ross E Esq UNQUALIFIED73Amy Elsner
1045Claire Z KuskoRussia2025-04-03Rangoni Of Florence RENEWAL54Stephen Shaw
1046Leon O ButtGermany2025-04-24Chapman, Ross E Esq UNQUALIFIED54Stephen Shaw
1047Octavia H FollerAustralia2025-04-14Rangoni Of Florence NEGOTIATION58Anna Fali
1048Mayumi P StensethIndia2025-04-03Chanay, Jeffrey A Esq UNQUALIFIED33Ivan Magalhaes
1049Clifford N DilliardUnited Kingdom2025-04-04Commercial Press PROPOSAL73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith I IturbideIndiaBernardo Dominic PROPOSAL
Juan C SchemmerArgentinaIoni Bowcher NEW
Jefferson Z GillianSpainIvan Magalhaes UNQUALIFIED
James A StensethFranceAmy Elsner PROPOSAL
Kadeem P NestleArgentinaAmy Elsner UNQUALIFIED
Wickens C CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin H GauchoItalyStephen Shaw RENEWAL
Jennifer N CaldareraFranceAnna Fali NEW
Leon D BriddickFranceElwin Sharvill QUALIFIED
James O MorascaJapanStephen Shaw RENEWAL
Sinclair G SergiSpainStephen Shaw NEW
Silvio P IturbideArgentinaIoni Bowcher RENEWAL
Munro W PerinFranceOnyama Limba PROPOSAL
Jeanfrancois G GauchoRussiaOnyama Limba NEW
Aika M InouyeUnited KingdomBernardo Dominic PROPOSAL
Ricardo L RimUnited KingdomIoni Bowcher RENEWAL
Ivar C MarrierRussiaIoni Bowcher RENEWAL
Julie C MacleadRussiaStephen Shaw NEW
Smith K SchemmerAustraliaBernardo Dominic PROPOSAL
Salvatore C SchemmerGermanyStephen Shaw NEGOTIATION
Francesco Q BowleyIndiaStephen Shaw NEW
Juan U OstroskyBrazilBernardo Dominic RENEWAL
Francesco A KuskoAustraliaXuxue Feng UNQUALIFIED
Wickens M FollerCanadaAsiya Javayant RENEWAL
Maria Z GauchoUnited KingdomAsiya Javayant PROPOSAL
James M StockhamFranceElwin Sharvill NEW
Munro I RoysterArgentinaAsiya Javayant QUALIFIED
Juan K MacleadSpainIoni Bowcher UNQUALIFIED
Kaitlin K SchemmerCanadaElwin Sharvill NEW
Costa I MacleadCanadaStephen Shaw UNQUALIFIED
Kaitlin P AmigonIndiaIoni Bowcher QUALIFIED
Aditya H VocelkaCanadaStephen Shaw RENEWAL
David A AlbaresRussiaXuxue Feng PROPOSAL
Johnson I FollerArgentinaBernardo Dominic NEW
Mujtaba Y BologniaIndiaAnna Fali UNQUALIFIED
Nicolas S MarrierJapanAnna Fali QUALIFIED
Octavia A MaletArgentinaXuxue Feng UNQUALIFIED
Wickens V TollnerRussiaElwin Sharvill UNQUALIFIED
Emily B AlbaresJapanAsiya Javayant QUALIFIED
Morrow P WhobreyIndiaElwin Sharvill QUALIFIED
Ivar G OldroydSpainXuxue Feng NEGOTIATION
Claire W MaletItalyAsiya Javayant RENEWAL
Tony S RutaSpainBernardo Dominic RENEWAL
James M BologniaUnited KingdomOnyama Limba RENEWAL
Adams D RulapaughGermanyAsiya Javayant RENEWAL
Clifford H IturbideCanadaAsiya Javayant PROPOSAL
Faith F MacleadUnited KingdomXuxue Feng PROPOSAL
Rodrigues Q SergiSpainBernardo Dominic UNQUALIFIED
Leon Q SlusarskiIndiaElwin Sharvill UNQUALIFIED
Adams Y GauchoFranceElwin Sharvill PROPOSAL
Frozen Columns
Name
Jennifer M Poquette
Leja L Malet
Aruna I Iturbide
Clifford C Shinko
Maisha T Dilliard
Isabel Q Stockham
Ivar M Ostrosky
Cody V Figeroa
Wickens O Garufi
Rodrigues J Ferencz
Chavez L Flosi
Rodrigues C Ferencz
Deepesh A Waycott
Izzy L Bowley
Sinclair Y Shinko
Aika X Slusarski
David G Morasca
Alejandro N Schemmer
David M Venere
Maisha I Darakjy
Johnson C Rulapaugh
Misaki O Tollner
Maisha K Caldarera
Juan M Bowley
Stacey E Ferencz
Sinclair E Darakjy
Kadeem V Bowley
Salvatore V Darakjy
Smith M Paprocki
Ivar B Campain
Stacey L Figeroa
Aruna J Kusko
Misaki J Perin
Tony A Butt
Stacey O Sergi
Faith L Saylors
Sinclair A Glick
Clifford U Dilliard
Aruna D Bolognia
Greenwood O Morasca
Costa Z Amigon
Adams U Gillian
Jones S Waycott
Leon X Nicka
Wickens P Doe
James X Stenseth
Aika O Foller
James I Chui
Claire U Dilliard
Claire W Bowley
IdCountryDate
1000Canada2025-04-08
1001Argentina2025-04-26
1002France2025-04-01
1003Canada2025-04-20
1004India2025-04-16
1005Brazil2025-04-10
1006Brazil2025-04-07
1007Germany2025-04-05
1008Japan2025-04-07
1009Canada2025-04-06
1010United Kingdom2025-04-14
1011Argentina2025-04-29
1012Germany2025-04-13
1013France2025-04-19
1014France2025-04-18
1015France2025-04-17
1016Germany2025-04-27
1017Italy2025-04-20
1018Brazil2025-04-26
1019Spain2025-04-23
1020Japan2025-04-08
1021Japan2025-04-09
1022Spain2025-04-24
1023Spain2025-04-12
1024Spain2025-04-14
1025Canada2025-04-10
1026Italy2025-04-09
1027Spain2025-04-20
1028Spain2025-04-19
1029Russia2025-04-24
1030Italy2025-04-26
1031Australia2025-04-02
1032Spain2025-04-24
1033Brazil2025-04-04
1034Japan2025-04-21
1035Italy2025-04-19
1036India2025-04-24
1037Italy2025-04-18
1038India2025-04-22
1039Germany2025-04-16
1040India2025-04-14
1041Germany2025-04-25
1042Spain2025-04-06
1043Spain2025-04-12
1044Russia2025-04-20
1045Spain2025-04-14
1046Germany2025-04-22
1047Germany2025-04-15
1048Canada2025-04-28
1049Canada2025-04-22

On-Demand Data

NameIdCountryDate
Cody A Ferencz1000Germany2025-04-26
Ashley A Caldarera1001Australia2025-04-14
Wickens G Rim1002Australia2025-04-18
James E Nicka1003France2025-04-13
Cody X Butt1004United Kingdom2025-04-17
Wickens R Garufi1005Brazil2025-04-11
Adams V Stenseth1006United Kingdom2025-04-05
Darci Z Rulapaugh1007France2025-04-21
Johnson H Dilliard1008Brazil2025-04-13
Mayumi Y Flosi1009Spain2025-04-19
Jennifer A Stenseth1010Germany2025-04-12
Isabel F Shinko1011Russia2025-04-08
Izzy F Schemmer1012France2025-04-23
Juan A Bowley1013Germany2025-04-04
Aika X Bowley1014Japan2025-04-29
Mujtaba R Ruta1015Russia2025-04-15
David E Whobrey1016United Kingdom2025-04-13
Johnson L Chui1017Italy2025-04-30
Jennifer Z Nestle1018India2025-04-14
Leja Q Glick1019Australia2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey L PerinCanadaAsiya Javayant NEGOTIATION
Izzy B SlusarskiFranceAsiya Javayant UNQUALIFIED
Smith W KuskoBrazilIoni Bowcher NEW
Aruna R ShinkoIndiaIoni Bowcher RENEWAL
Emily P MaletIndiaBernardo Dominic NEW
Jeanfrancois Z RutaAustraliaIvan Magalhaes NEGOTIATION
David R CaldareraSpainIoni Bowcher UNQUALIFIED
Jones Q StockhamCanadaAmy Elsner UNQUALIFIED
Nicolas R KolmetzAustraliaAsiya Javayant NEGOTIATION
Greenwood F AmigonRussiaAmy Elsner NEW
Jennifer C OstroskyRussiaAnna Fali NEW
David J CaldareraFranceBernardo Dominic NEGOTIATION
Jeanfrancois X BriddickRussiaStephen Shaw PROPOSAL
Misaki H PerinFranceAnna Fali UNQUALIFIED
Misaki S SaylorsGermanyIvan Magalhaes QUALIFIED
Misaki P FlosiAustraliaIvan Magalhaes NEW
Kadeem J PoquetteJapanOnyama Limba RENEWAL
Juan J FlosiArgentinaAsiya Javayant RENEWAL
Francesco Y PoquetteCanadaBernardo Dominic NEGOTIATION
David L VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Leja O RimAustraliaIoni Bowcher PROPOSAL
Claire Z FollerGermanyAmy Elsner QUALIFIED
Murillo L MaletArgentinaAmy Elsner NEGOTIATION
Aika A RimJapanXuxue Feng UNQUALIFIED
Leja Y MaletGermanyIoni Bowcher NEGOTIATION
Kaitlin L FigeroaItalyIoni Bowcher RENEWAL
Leon Q CaudyItalyElwin Sharvill QUALIFIED
Leon T OstroskyRussiaIoni Bowcher NEW
Nicolas W FlosiAustraliaIoni Bowcher PROPOSAL
Jennifer X ButtItalyIoni Bowcher NEW
Julie J InouyeIndiaOnyama Limba NEW
Sinclair N CaudyCanadaXuxue Feng UNQUALIFIED
Antonio U ButtIndiaElwin Sharvill QUALIFIED
Jones E VocelkaCanadaOnyama Limba PROPOSAL
Clifford N DilliardItalyBernardo Dominic UNQUALIFIED
Jeanfrancois V RimJapanOnyama Limba NEW
Ricardo P SaylorsJapanElwin Sharvill QUALIFIED
Aika S MacleadGermanyAmy Elsner NEW
Morrow K MarrierBrazilAmy Elsner NEW
Alejandro Q GlickBrazilAmy Elsner PROPOSAL

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