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
Faith I VenereBrazilAsiya Javayant RENEWAL
Jefferson O IturbideGermanyXuxue Feng RENEWAL
Smith S AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Deepesh E CaldareraCanadaOnyama Limba QUALIFIED
Wickens G CampainJapanIoni Bowcher NEGOTIATION
Tony P CampainIndiaElwin Sharvill PROPOSAL
Francesco W BowleyUnited KingdomIvan Magalhaes PROPOSAL
Morrow C CampainGermanyAsiya Javayant RENEWAL
David M BowleyIndiaAsiya Javayant NEW
Maisha Z PaprockiFranceElwin Sharvill QUALIFIED
Sinclair D PaprockiAustraliaXuxue Feng UNQUALIFIED
Silvio E VocelkaIndiaAsiya Javayant NEGOTIATION
Kadeem Y SaylorsJapanAnna Fali NEGOTIATION
Murillo Q WhobreyUnited KingdomElwin Sharvill NEW
Alejandro W GauchoJapanIvan Magalhaes QUALIFIED
Mujtaba E NickaGermanyStephen Shaw QUALIFIED
Rodrigues J MarrierArgentinaBernardo Dominic PROPOSAL
Izzy Y DilliardSpainAmy Elsner RENEWAL
Mujtaba V FerenczGermanyStephen Shaw RENEWAL
Wickens Z WhobreyBrazilIoni Bowcher QUALIFIED
James E RutaSpainAsiya Javayant NEW
Julie H MacleadRussiaXuxue Feng RENEWAL
Maria B WhobreyAustraliaIvan Magalhaes PROPOSAL
Greenwood O TollnerUnited KingdomXuxue Feng PROPOSAL
Claire F StensethSpainElwin Sharvill PROPOSAL
Chavez A MorascaGermanyIvan Magalhaes UNQUALIFIED
Mujtaba P DoeFranceBernardo Dominic RENEWAL
Johnson Z FollerFranceElwin Sharvill RENEWAL
Izzy F VenereItalyXuxue Feng NEW
Wickens S FerenczCanadaAmy Elsner RENEWAL
Jennifer F WaycottFranceAmy Elsner PROPOSAL
Sinclair A OstroskyGermanyElwin Sharvill NEW
Darci S DarakjyAustraliaAsiya Javayant RENEWAL
Nicolas R PaprockiUnited KingdomElwin Sharvill NEW
Cody C WaycottRussiaOnyama Limba RENEWAL
Darci F InouyeRussiaAnna Fali NEW
Smith W DilliardUnited KingdomAmy Elsner NEGOTIATION
Francesco D WieserCanadaElwin Sharvill NEGOTIATION
Kaitlin O BologniaCanadaIoni Bowcher NEGOTIATION
Silvio P KolmetzCanadaXuxue Feng PROPOSAL
Sinclair G CampainUnited KingdomAmy Elsner UNQUALIFIED
Jefferson P MarrierItalyAnna Fali PROPOSAL
Deepesh V ButtBrazilOnyama Limba NEW
Ivar R AlbaresAustraliaOnyama Limba NEW
Deepesh G FerenczBrazilXuxue Feng UNQUALIFIED
Emily X GauchoUnited KingdomAsiya Javayant NEGOTIATION
Jefferson A InouyeFranceIvan Magalhaes QUALIFIED
Maisha X FlosiJapanAmy Elsner UNQUALIFIED
Morrow Z MaletSpainXuxue Feng RENEWAL
Izzy E ShinkoItalyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Cody E WhobreyArgentinaIvan Magalhaes RENEWAL
Maria A BologniaArgentinaBernardo Dominic UNQUALIFIED
Wickens H BriddickIndiaStephen Shaw NEW
Francesco J RulapaughAustraliaStephen Shaw NEW
Johnson V StockhamCanadaIvan Magalhaes QUALIFIED
Mujtaba B MaletFranceIoni Bowcher NEGOTIATION
Mujtaba I NickaAustraliaXuxue Feng NEGOTIATION
Aika T RimCanadaAmy Elsner RENEWAL
Salvatore U WaycottRussiaAnna Fali NEGOTIATION
Cody W OstroskyAustraliaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki I FollerAustralia2024-05-30Feiner Bros PROPOSAL49Stephen Shaw
1001Ivar I DoeFrance2024-05-29Chanay, Jeffrey A Esq QUALIFIED74Stephen Shaw
1002Greenwood B GillianArgentina2024-05-28Rousseaux, Michael Esq PROPOSAL62Amy Elsner
1003Ivar S SaylorsIndia2024-06-04Chemel, James L Cpa UNQUALIFIED30Anna Fali
1004Clifford T AmigonSpain2024-06-08Morlong Associates RENEWAL94Anna Fali
1005Antonio Y MaletGermany2024-06-22Dorl, James J Esq NEGOTIATION38Bernardo Dominic
1006Ashley G VenereIndia2024-05-28Feltz Printing Service NEW60Ivan Magalhaes
1007Kadeem T GlickItaly2024-06-20Buckley Miller Wright UNQUALIFIED52Xuxue Feng
1008Alejandro C TollnerGermany2024-06-02Chanay, Jeffrey A Esq RENEWAL69Anna Fali
1009Chavez L SchemmerRussia2024-05-31Printing Dimensions QUALIFIED55Amy Elsner
1010Stacey K OstroskyItaly2024-06-19Chemel, James L Cpa PROPOSAL67Xuxue Feng
1011Darci Q NickaJapan2024-05-30Rousseaux, Michael Esq RENEWAL73Stephen Shaw
1012Jefferson U BowleyBrazil2024-06-16Rousseaux, Michael Esq QUALIFIED4Asiya Javayant
1013Ashley F VocelkaAustralia2024-05-26Chapman, Ross E Esq UNQUALIFIED99Amy Elsner
1014Deepesh B FerenczRussia2024-05-29Benton, John B Jr PROPOSAL76Onyama Limba
1015Kaitlin N RulapaughAustralia2024-06-05Rangoni Of Florence NEGOTIATION81Onyama Limba
1016Darci N NickaJapan2024-06-17Chanay, Jeffrey A Esq PROPOSAL91Stephen Shaw
1017Nicolas P DoeIndia2024-05-27Dorl, James J Esq RENEWAL1Stephen Shaw
1018Sinclair I FollerItaly2024-06-08Morlong Associates PROPOSAL55Asiya Javayant
1019Maria R BowleyBrazil2024-06-12Chanay, Jeffrey A Esq RENEWAL88Elwin Sharvill
1020Mayumi W GillianSpain2024-06-02Rousseaux, Michael Esq RENEWAL59Asiya Javayant
1021Clifford L FlosiArgentina2024-06-14Chanay, Jeffrey A Esq NEGOTIATION80Elwin Sharvill
1022Julie D CampainFrance2024-06-24Printing Dimensions PROPOSAL63Elwin Sharvill
1023Aditya Z MacleadUnited Kingdom2024-06-01Feiner Bros PROPOSAL4Elwin Sharvill
1024Cody B PoquetteJapan2024-06-07Chapman, Ross E Esq UNQUALIFIED70Amy Elsner
1025Faith M PerinSpain2024-06-17Dorl, James J Esq NEGOTIATION70Bernardo Dominic
1026Smith G MorascaRussia2024-06-01Chapman, Ross E Esq NEGOTIATION78Elwin Sharvill
1027Jefferson F FigeroaAustralia2024-06-05Printing Dimensions PROPOSAL65Ivan Magalhaes
1028Alejandro M VocelkaCanada2024-06-17Morlong Associates QUALIFIED9Elwin Sharvill
1029David W StockhamAustralia2024-06-05Rousseaux, Michael Esq QUALIFIED63Xuxue Feng
1030Jefferson S KolmetzJapan2024-06-15Rousseaux, Michael Esq NEW11Elwin Sharvill
1031Mayumi H ChuiGermany2024-06-04Feltz Printing Service NEGOTIATION83Bernardo Dominic
1032Johnson R OldroydFrance2024-06-10Rangoni Of Florence RENEWAL40Stephen Shaw
1033Salvatore Q VenereFrance2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED37Asiya Javayant
1034Isabel B OldroydArgentina2024-06-16Printing Dimensions RENEWAL35Onyama Limba
1035Julie V OldroydArgentina2024-06-02Truhlar And Truhlar Attys NEGOTIATION4Asiya Javayant
1036Mayumi Z TollnerAustralia2024-06-07Feltz Printing Service PROPOSAL93Elwin Sharvill
1037Kaitlin H AlbaresItaly2024-06-15Rousseaux, Michael Esq NEW97Xuxue Feng
1038Izzy W AmigonItaly2024-06-02Rangoni Of Florence NEGOTIATION81Bernardo Dominic
1039Misaki S StockhamArgentina2024-06-06Morlong Associates NEW47Xuxue Feng
1040Ashley T FigeroaIndia2024-06-20King, Christopher A Esq QUALIFIED11Onyama Limba
1041Costa H FlosiFrance2024-06-14Truhlar And Truhlar Attys NEW66Stephen Shaw
1042Maria L BowleyAustralia2024-06-20Buckley Miller Wright NEGOTIATION67Bernardo Dominic
1043Morrow H ShinkoBrazil2024-06-10Buckley Miller Wright QUALIFIED37Stephen Shaw
1044Cody O SaylorsArgentina2024-06-12King, Christopher A Esq PROPOSAL90Onyama Limba
1045Aruna S BologniaArgentina2024-06-22Dorl, James J Esq RENEWAL47Ioni Bowcher
1046Aruna E WhobreySpain2024-06-04Benton, John B Jr UNQUALIFIED65Amy Elsner
1047Greenwood M OldroydGermany2024-06-17Morlong Associates NEGOTIATION50Ivan Magalhaes
1048Aika A RulapaughUnited Kingdom2024-05-28King, Christopher A Esq UNQUALIFIED94Elwin Sharvill
1049Faith D NickaBrazil2024-06-15Feltz Printing Service NEW95Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha Z FigeroaArgentinaAsiya Javayant NEGOTIATION
Julie P InouyeAustraliaAnna Fali PROPOSAL
Morrow V ChuiIndiaAmy Elsner UNQUALIFIED
Salvatore D AmigonJapanOnyama Limba PROPOSAL
Rodrigues J MaletArgentinaAmy Elsner PROPOSAL
Aruna P SergiIndiaIoni Bowcher UNQUALIFIED
Kaitlin J TollnerAustraliaOnyama Limba NEGOTIATION
Julie T RutaSpainAsiya Javayant NEGOTIATION
Ivar T IturbideIndiaOnyama Limba UNQUALIFIED
Cody A OldroydFranceIoni Bowcher QUALIFIED
Octavia Z MaletRussiaIvan Magalhaes NEGOTIATION
Ricardo Z BowleyGermanyIvan Magalhaes RENEWAL
Rodrigues N DilliardRussiaIvan Magalhaes NEW
Emily L ChuiIndiaBernardo Dominic UNQUALIFIED
Cody T RoysterFranceIoni Bowcher RENEWAL
Adams L KolmetzCanadaBernardo Dominic NEGOTIATION
Faith O GlickCanadaAnna Fali QUALIFIED
Tony H MarrierBrazilIoni Bowcher PROPOSAL
Jones M MorascaBrazilAsiya Javayant PROPOSAL
Wickens L MaletFranceAsiya Javayant PROPOSAL
Leon O SlusarskiUnited KingdomAnna Fali PROPOSAL
Murillo P WhobreyItalyIoni Bowcher PROPOSAL
Maria O MorascaIndiaXuxue Feng RENEWAL
James X WhobreyJapanAmy Elsner NEGOTIATION
Murillo F InouyeIndiaStephen Shaw NEW
Murillo Y GauchoIndiaIoni Bowcher PROPOSAL
Ricardo E RutaFranceOnyama Limba UNQUALIFIED
Alejandro B DilliardAustraliaAnna Fali RENEWAL
Jennifer N WaycottArgentinaBernardo Dominic RENEWAL
Tony C MaletIndiaIoni Bowcher UNQUALIFIED
Faith S PoquetteJapanStephen Shaw PROPOSAL
Mayumi P WieserAustraliaAsiya Javayant QUALIFIED
Misaki G StockhamFranceOnyama Limba QUALIFIED
Jefferson C IturbideItalyXuxue Feng PROPOSAL
Leja U IturbideIndiaAsiya Javayant NEGOTIATION
Clifford G RutaArgentinaAnna Fali QUALIFIED
Maisha I MaletRussiaAsiya Javayant NEGOTIATION
Mayumi G WaycottUnited KingdomStephen Shaw UNQUALIFIED
Kadeem N WaycottRussiaAnna Fali RENEWAL
Johnson V PoquetteGermanyIoni Bowcher NEW
Smith A FigeroaCanadaAsiya Javayant PROPOSAL
Adams W BriddickUnited KingdomAnna Fali RENEWAL
Kadeem I StockhamGermanyBernardo Dominic NEGOTIATION
Leja H FlosiCanadaXuxue Feng NEW
Aika E WhobreyCanadaAmy Elsner NEGOTIATION
David C KuskoFranceAmy Elsner NEW
Kaitlin K WaycottAustraliaIvan Magalhaes RENEWAL
Misaki M GarufiItalyBernardo Dominic RENEWAL
Johnson D GillianIndiaBernardo Dominic NEGOTIATION
Emily R StensethJapanIoni Bowcher RENEWAL
Frozen Columns
Name
Jones P Dilliard
Costa E Stockham
Francesco C Ferencz
Leon F Briddick
Salvatore D Wieser
Izzy R Iturbide
Murillo O Figeroa
Nicolas V Bowley
Stacey I Glick
David N Slusarski
Julie Z Dilliard
Munro Z Rulapaugh
Sinclair I Paprocki
Francesco C Gillian
Francesco W Flosi
Tony V Sergi
Smith J Inouye
Jennifer B Waycott
Faith H Dilliard
Mujtaba A Glick
Leon J Doe
Darci F Ruta
Maria L Nicka
Ashley T Bowley
Jeanfrancois O Albares
Juan R Caldarera
Kaitlin P Butt
Maisha S Caudy
Silvio Y Shinko
Tony P Dilliard
David V Amigon
Ashley N Ferencz
Stacey W Waycott
Alejandro T Flosi
Murillo A Sergi
Antonio H Slusarski
Jefferson X Malet
Jennifer F Glick
James R Bowley
Sinclair N Rim
Antonio N Wieser
Izzy I Albares
Kaitlin P Foller
Darci M Marrier
Tony I Ferencz
Emily A Perin
Leon P Schemmer
Sinclair R Slusarski
Leja W Wieser
David R Albares
IdCountryDate
1000France2024-06-05
1001India2024-06-04
1002Japan2024-06-11
1003United Kingdom2024-06-12
1004United Kingdom2024-06-22
1005Canada2024-06-18
1006Brazil2024-05-31
1007Spain2024-06-21
1008Italy2024-06-05
1009Italy2024-06-22
1010Germany2024-06-03
1011Australia2024-06-22
1012United Kingdom2024-06-13
1013Japan2024-06-20
1014Italy2024-05-30
1015Germany2024-06-02
1016France2024-06-04
1017United Kingdom2024-06-02
1018Argentina2024-06-02
1019Germany2024-06-08
1020Germany2024-05-27
1021Japan2024-06-11
1022Australia2024-06-23
1023Spain2024-06-06
1024United Kingdom2024-06-09
1025Germany2024-06-18
1026Spain2024-06-16
1027Spain2024-06-19
1028India2024-06-04
1029Australia2024-05-29
1030Canada2024-06-21
1031Russia2024-06-01
1032Japan2024-06-07
1033Australia2024-06-09
1034Spain2024-06-23
1035Spain2024-05-30
1036Australia2024-06-04
1037Italy2024-06-12
1038United Kingdom2024-05-29
1039Italy2024-06-22
1040Canada2024-06-07
1041Spain2024-06-14
1042Italy2024-06-06
1043Japan2024-06-10
1044Spain2024-06-10
1045Spain2024-05-26
1046India2024-05-31
1047Italy2024-06-23
1048Spain2024-06-11
1049Russia2024-06-16

On-Demand Data

NameIdCountryDate
Claire W Saylors1000India2024-05-28
Octavia B Rim1001Brazil2024-06-08
Jeanfrancois L Stenseth1002Canada2024-06-14
Johnson L Flosi1003Canada2024-06-07
Aruna O Campain1004Argentina2024-06-04
Antonio I Wieser1005Australia2024-06-11
Clifford V Rim1006Canada2024-05-31
Octavia V Saylors1007Spain2024-06-13
Aruna L Figeroa1008United Kingdom2024-06-22
Kadeem N Campain1009Brazil2024-06-24
David Z Shinko1010Spain2024-06-07
Sinclair T Waycott1011Spain2024-05-27
Kadeem Z Sergi1012Argentina2024-06-08
Leja Y Bolognia1013Germany2024-06-19
Nicolas U Saylors1014Japan2024-05-26
Leja Q Caldarera1015Canada2024-06-03
Adams W Maclead1016India2024-06-03
Chavez Z Ferencz1017Canada2024-06-03
Jefferson P Amigon1018Argentina2024-06-14
Murillo C Ostrosky1019United Kingdom2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues C WieserAustraliaXuxue Feng QUALIFIED
Adams H VenereBrazilIoni Bowcher RENEWAL
Greenwood T SaylorsSpainStephen Shaw QUALIFIED
Faith B RulapaughSpainElwin Sharvill NEGOTIATION
Chavez U MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba G CaldareraAustraliaAnna Fali QUALIFIED
Maria M CaudyJapanIvan Magalhaes NEW
Johnson M OldroydAustraliaElwin Sharvill NEGOTIATION
Tony P SchemmerCanadaStephen Shaw NEW
Sinclair R CampainIndiaIoni Bowcher UNQUALIFIED
Silvio V RutaCanadaAmy Elsner UNQUALIFIED
Faith G KolmetzUnited KingdomOnyama Limba QUALIFIED
Emily Y BowleyItalyAsiya Javayant NEW
Maria Z FigeroaFranceIvan Magalhaes RENEWAL
Izzy E FerenczBrazilStephen Shaw UNQUALIFIED
Aditya G KuskoJapanBernardo Dominic RENEWAL
Tony D StockhamFranceElwin Sharvill NEGOTIATION
Aditya O MorascaArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois F DoeSpainIvan Magalhaes NEGOTIATION
Costa W FlosiArgentinaElwin Sharvill UNQUALIFIED
Kadeem I AlbaresItalyStephen Shaw NEW
Munro F GarufiBrazilOnyama Limba NEGOTIATION
Rodrigues J SchemmerSpainAnna Fali UNQUALIFIED
Darci N FlosiAustraliaXuxue Feng RENEWAL
Julie J BowleyFranceStephen Shaw NEGOTIATION
Deepesh D DilliardUnited KingdomElwin Sharvill QUALIFIED
Mayumi Q SlusarskiArgentinaElwin Sharvill PROPOSAL
Murillo H FlosiFranceIoni Bowcher RENEWAL
Emily Y FigeroaSpainAmy Elsner QUALIFIED
Sinclair E OstroskySpainOnyama Limba NEGOTIATION
Isabel Z PoquetteGermanyXuxue Feng NEGOTIATION
Isabel E AlbaresIndiaIoni Bowcher NEGOTIATION
Mayumi V RimJapanIvan Magalhaes QUALIFIED
Adams T DilliardGermanyIvan Magalhaes NEGOTIATION
Rodrigues Z ChuiCanadaStephen Shaw UNQUALIFIED
Murillo I NickaCanadaStephen Shaw PROPOSAL
Sinclair A AmigonRussiaIoni Bowcher NEW
Jennifer C MaletAustraliaOnyama Limba PROPOSAL
Kaitlin X PoquetteAustraliaXuxue Feng QUALIFIED
Jones H SlusarskiUnited KingdomIvan Magalhaes QUALIFIED

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