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
Mujtaba M DarakjyGermanyIoni Bowcher UNQUALIFIED
Silvio V CaldareraUnited KingdomBernardo Dominic RENEWAL
Kaitlin S DoeFranceBernardo Dominic QUALIFIED
Leja C TollnerAustraliaAsiya Javayant NEW
Adams V PaprockiAustraliaBernardo Dominic PROPOSAL
Mujtaba J StensethSpainBernardo Dominic NEGOTIATION
Isabel K NestleGermanyAnna Fali UNQUALIFIED
Ashley H RoysterAustraliaBernardo Dominic NEGOTIATION
Aika E AmigonRussiaOnyama Limba NEGOTIATION
Aruna T PoquetteBrazilAmy Elsner NEW
Silvio Q SaylorsCanadaAnna Fali RENEWAL
David R BowleyGermanyAmy Elsner UNQUALIFIED
Misaki M InouyeAustraliaAnna Fali UNQUALIFIED
James R IturbideUnited KingdomBernardo Dominic NEW
Aika J FollerJapanAsiya Javayant NEW
Claire A WieserItalyAsiya Javayant UNQUALIFIED
Silvio O MaletRussiaElwin Sharvill NEW
Jennifer Q VocelkaSpainXuxue Feng UNQUALIFIED
Smith U InouyeArgentinaBernardo Dominic NEW
Cody H PoquetteBrazilBernardo Dominic NEGOTIATION
Jennifer D MorascaBrazilStephen Shaw RENEWAL
Maria P PoquetteCanadaIvan Magalhaes UNQUALIFIED
Claire E ButtFranceIoni Bowcher UNQUALIFIED
Munro G VocelkaFranceIoni Bowcher NEGOTIATION
Jeanfrancois B SlusarskiItalyOnyama Limba RENEWAL
Maisha Z PaprockiIndiaAmy Elsner RENEWAL
Arvin M NickaUnited KingdomIvan Magalhaes NEGOTIATION
Stacey H SaylorsRussiaAnna Fali NEGOTIATION
Ricardo T DarakjyArgentinaOnyama Limba UNQUALIFIED
Maisha P RutaGermanyAmy Elsner RENEWAL
Adams K DarakjyFranceAmy Elsner UNQUALIFIED
Antonio W CampainItalyXuxue Feng NEW
Jones G SaylorsGermanyAnna Fali NEW
Stacey R MaletGermanyAmy Elsner PROPOSAL
Smith F ButtCanadaAsiya Javayant NEGOTIATION
Aika T BologniaFranceAmy Elsner QUALIFIED
Mujtaba J RutaIndiaElwin Sharvill RENEWAL
Emily P MacleadFranceAmy Elsner PROPOSAL
Aika D PerinBrazilBernardo Dominic QUALIFIED
Wickens I VocelkaIndiaAsiya Javayant NEW
Costa T SaylorsUnited KingdomAsiya Javayant NEW
Francesco Q PoquetteUnited KingdomXuxue Feng NEW
Aditya K BriddickItalyElwin Sharvill NEGOTIATION
Claire A OstroskyUnited KingdomElwin Sharvill NEW
Stacey R RulapaughFranceStephen Shaw NEGOTIATION
Ivar J DoeJapanElwin Sharvill PROPOSAL
Jennifer D FigeroaAustraliaXuxue Feng PROPOSAL
Jones Z VocelkaAustraliaIoni Bowcher NEW
Costa U VocelkaArgentinaIoni Bowcher UNQUALIFIED
Maisha N ButtArgentinaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem B FlosiCanadaBernardo Dominic PROPOSAL
Smith W SergiUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois W SergiGermanyAsiya Javayant NEGOTIATION
Aika R RulapaughRussiaAnna Fali QUALIFIED
Greenwood C DoeSpainBernardo Dominic NEW
James Z CampainJapanIvan Magalhaes RENEWAL
Jennifer C TollnerItalyIvan Magalhaes NEW
Deepesh U DilliardIndiaAnna Fali UNQUALIFIED
David W OldroydFranceAsiya Javayant QUALIFIED
Jefferson K TollnerItalyStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro U PoquetteArgentina2024-05-20Dorl, James J Esq UNQUALIFIED67Amy Elsner
1001Francesco K InouyeSpain2024-05-20Feiner Bros NEGOTIATION99Ioni Bowcher
1002Cody X NickaItaly2024-06-07Commercial Press PROPOSAL69Bernardo Dominic
1003Stacey A OstroskyArgentina2024-06-07Dorl, James J Esq RENEWAL31Ivan Magalhaes
1004Clifford C MaletAustralia2024-06-06Feltz Printing Service UNQUALIFIED47Ivan Magalhaes
1005Ivar T AlbaresItaly2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED79Xuxue Feng
1006Costa R RoysterItaly2024-06-14Benton, John B Jr NEW47Elwin Sharvill
1007Isabel E OstroskyJapan2024-05-31Benton, John B Jr QUALIFIED11Amy Elsner
1008Johnson D IturbideGermany2024-05-18Printing Dimensions QUALIFIED96Asiya Javayant
1009Murillo D WaycottIndia2024-05-28Buckley Miller Wright NEGOTIATION60Elwin Sharvill
1010Leon Q DilliardGermany2024-06-06Feiner Bros PROPOSAL20Anna Fali
1011Greenwood H NestleUnited Kingdom2024-06-07Rangoni Of Florence NEGOTIATION76Ivan Magalhaes
1012Rodrigues J MarrierUnited Kingdom2024-05-17Printing Dimensions NEGOTIATION50Onyama Limba
1013Mujtaba Z IturbideFrance2024-06-09Chemel, James L Cpa QUALIFIED98Stephen Shaw
1014Maria L WieserRussia2024-06-08Chapman, Ross E Esq QUALIFIED56Xuxue Feng
1015Smith S CaldareraItaly2024-06-10Printing Dimensions RENEWAL99Xuxue Feng
1016Salvatore Z WieserArgentina2024-05-24Rangoni Of Florence NEGOTIATION79Elwin Sharvill
1017Misaki W FigeroaFrance2024-06-01Dorl, James J Esq QUALIFIED54Elwin Sharvill
1018Tony W SaylorsFrance2024-06-14Dorl, James J Esq RENEWAL73Xuxue Feng
1019Izzy A GillianGermany2024-06-04Buckley Miller Wright PROPOSAL25Stephen Shaw
1020Misaki I ButtIndia2024-05-25Rousseaux, Michael Esq UNQUALIFIED3Bernardo Dominic
1021Clifford E DilliardItaly2024-05-23Chapman, Ross E Esq NEW25Amy Elsner
1022Ivar B FigeroaFrance2024-05-29Chapman, Ross E Esq UNQUALIFIED26Xuxue Feng
1023Misaki O RoysterAustralia2024-05-22Chanay, Jeffrey A Esq NEGOTIATION51Elwin Sharvill
1024Salvatore O WhobreyGermany2024-06-13Dorl, James J Esq UNQUALIFIED60Onyama Limba
1025Kaitlin T FlosiIndia2024-06-07Dorl, James J Esq PROPOSAL62Ioni Bowcher
1026Aditya R GillianUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION21Elwin Sharvill
1027Maisha Z FollerGermany2024-06-05Rangoni Of Florence NEGOTIATION60Onyama Limba
1028Jefferson C DilliardArgentina2024-06-15Dorl, James J Esq QUALIFIED30Anna Fali
1029Jones C SergiSpain2024-05-24King, Christopher A Esq RENEWAL21Ivan Magalhaes
1030Ashley S NickaIndia2024-06-11Commercial Press QUALIFIED97Ivan Magalhaes
1031Nicolas Q TollnerGermany2024-06-06Benton, John B Jr RENEWAL1Ivan Magalhaes
1032Greenwood I PerinGermany2024-05-19King, Christopher A Esq NEGOTIATION20Anna Fali
1033Misaki J CaudyJapan2024-05-18Rousseaux, Michael Esq NEGOTIATION5Onyama Limba
1034Ricardo K FlosiJapan2024-06-02Printing Dimensions RENEWAL50Anna Fali
1035Claire O GlickSpain2024-05-24Feiner Bros NEGOTIATION30Elwin Sharvill
1036Johnson I ChuiBrazil2024-06-06Rousseaux, Michael Esq RENEWAL68Elwin Sharvill
1037Munro I WhobreyAustralia2024-05-18King, Christopher A Esq NEW44Stephen Shaw
1038Jennifer G AlbaresSpain2024-06-11Rangoni Of Florence NEGOTIATION36Stephen Shaw
1039Adams P FollerUnited Kingdom2024-05-29Dorl, James J Esq UNQUALIFIED41Stephen Shaw
1040Emily T IturbideUnited Kingdom2024-05-22Chanay, Jeffrey A Esq PROPOSAL97Ivan Magalhaes
1041Claire G StockhamGermany2024-06-12Feltz Printing Service UNQUALIFIED2Stephen Shaw
1042Kadeem S PoquetteAustralia2024-05-23Benton, John B Jr UNQUALIFIED78Ivan Magalhaes
1043Emily N WaycottCanada2024-05-28Rousseaux, Michael Esq NEW5Bernardo Dominic
1044Jennifer W RulapaughGermany2024-06-09King, Christopher A Esq QUALIFIED60Amy Elsner
1045Chavez M RulapaughGermany2024-06-10Morlong Associates PROPOSAL38Onyama Limba
1046Sinclair V GarufiAustralia2024-05-18Rangoni Of Florence RENEWAL62Ivan Magalhaes
1047Misaki M CampainUnited Kingdom2024-06-13Buckley Miller Wright QUALIFIED25Bernardo Dominic
1048Arvin L FollerItaly2024-06-01Commercial Press QUALIFIED33Stephen Shaw
1049Isabel N MarrierAustralia2024-05-17Chanay, Jeffrey A Esq UNQUALIFIED94Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon N BriddickSpainIoni Bowcher PROPOSAL
Francesco K StensethGermanyIoni Bowcher UNQUALIFIED
Leja L CampainArgentinaBernardo Dominic NEGOTIATION
Stacey B RulapaughJapanOnyama Limba PROPOSAL
Isabel D InouyeFranceElwin Sharvill NEGOTIATION
Julie N GarufiUnited KingdomAnna Fali PROPOSAL
Rodrigues U GlickItalyAsiya Javayant PROPOSAL
Ashley D MacleadArgentinaAsiya Javayant QUALIFIED
Ivar S PerinCanadaXuxue Feng NEGOTIATION
Kaitlin J PerinBrazilBernardo Dominic RENEWAL
Juan O WieserJapanElwin Sharvill RENEWAL
Jeanfrancois D StensethGermanyIvan Magalhaes QUALIFIED
Julie N FigeroaRussiaAmy Elsner RENEWAL
Ricardo S ButtItalyAsiya Javayant UNQUALIFIED
Wickens Y ChuiSpainBernardo Dominic NEGOTIATION
Francesco A VenereBrazilAnna Fali PROPOSAL
Jennifer U SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Darci R RulapaughArgentinaIoni Bowcher UNQUALIFIED
Alejandro B CampainBrazilBernardo Dominic QUALIFIED
David H CaldareraArgentinaXuxue Feng QUALIFIED
Sinclair A DoeItalyAmy Elsner PROPOSAL
Stacey C DilliardItalyAsiya Javayant RENEWAL
Mujtaba L CampainFranceXuxue Feng QUALIFIED
Misaki L AlbaresSpainAsiya Javayant PROPOSAL
Misaki I GillianArgentinaStephen Shaw UNQUALIFIED
Greenwood X InouyeAustraliaXuxue Feng QUALIFIED
Francesco J PerinFranceStephen Shaw NEW
Maria W FigeroaBrazilOnyama Limba PROPOSAL
Misaki X RoysterGermanyAsiya Javayant UNQUALIFIED
Ricardo N AmigonItalyAsiya Javayant NEGOTIATION
Aruna C FollerGermanyStephen Shaw UNQUALIFIED
Alejandro A CampainBrazilAnna Fali RENEWAL
Misaki M BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Emily G TollnerCanadaXuxue Feng RENEWAL
Julie S MorascaJapanBernardo Dominic RENEWAL
Maria A DoeCanadaBernardo Dominic UNQUALIFIED
Octavia S FollerFranceOnyama Limba NEW
Silvio W MacleadUnited KingdomElwin Sharvill RENEWAL
Jones N OstroskyRussiaBernardo Dominic PROPOSAL
Chavez V OldroydArgentinaElwin Sharvill QUALIFIED
Alejandro G PoquetteAustraliaIvan Magalhaes QUALIFIED
Alejandro C BologniaUnited KingdomXuxue Feng PROPOSAL
James U KuskoJapanIoni Bowcher NEGOTIATION
Mayumi J SaylorsBrazilXuxue Feng NEGOTIATION
Julie E RoysterCanadaOnyama Limba NEGOTIATION
Deepesh M WhobreyCanadaIvan Magalhaes NEGOTIATION
Maria J VocelkaBrazilAmy Elsner RENEWAL
Adams X KolmetzJapanAmy Elsner PROPOSAL
Francesco F KuskoJapanElwin Sharvill NEW
Emily R GauchoItalyIoni Bowcher PROPOSAL
Frozen Columns
Name
Jennifer F Venere
Cody S Figeroa
Emily L Nicka
Ashley E Wieser
Adams K Nicka
Johnson M Stenseth
Aditya V Gillian
Nicolas G Schemmer
Jeanfrancois P Albares
Emily T Iturbide
Aditya P Slusarski
Antonio V Albares
Jones P Kolmetz
Rodrigues Z Caudy
Smith B Tollner
Cody X Butt
Tony J Stockham
Aditya I Malet
Nicolas K Malet
Stacey V Perin
Wickens K Venere
Jones S Iturbide
Ivar D Flosi
Jennifer B Schemmer
Nicolas X Poquette
Mujtaba A Figeroa
Isabel C Garufi
Costa W Kolmetz
Jefferson Q Gaucho
Cody D Amigon
Costa H Shinko
Kaitlin P Ruta
Octavia R Maclead
Leon K Wieser
Morrow K Slusarski
Misaki U Oldroyd
Faith N Nicka
Maisha X Gaucho
Alejandro S Maclead
Aditya Y Maclead
Greenwood Z Perin
Claire G Malet
Mayumi K Nicka
Cody J Bolognia
Ashley H Albares
Rodrigues D Rim
Silvio A Garufi
Clifford M Inouye
Juan G Nestle
Silvio S Bolognia
IdCountryDate
1000Australia2024-05-22
1001India2024-05-27
1002Russia2024-05-18
1003United Kingdom2024-06-08
1004Japan2024-06-06
1005Japan2024-05-23
1006United Kingdom2024-06-04
1007Italy2024-06-06
1008Japan2024-06-15
1009Italy2024-06-10
1010Australia2024-05-27
1011Canada2024-06-03
1012Italy2024-05-21
1013Brazil2024-05-17
1014India2024-05-18
1015United Kingdom2024-06-11
1016France2024-06-07
1017Brazil2024-05-25
1018Australia2024-06-04
1019France2024-05-29
1020United Kingdom2024-05-30
1021Canada2024-05-22
1022Japan2024-05-22
1023France2024-05-29
1024Spain2024-06-04
1025Germany2024-05-29
1026Russia2024-06-03
1027United Kingdom2024-05-30
1028Spain2024-05-23
1029France2024-05-27
1030Italy2024-05-28
1031Canada2024-05-19
1032United Kingdom2024-05-29
1033Australia2024-05-21
1034Japan2024-05-29
1035France2024-06-04
1036Japan2024-06-07
1037Germany2024-06-10
1038France2024-06-15
1039Argentina2024-05-31
1040Italy2024-05-23
1041Australia2024-05-25
1042Argentina2024-05-25
1043Argentina2024-06-09
1044Spain2024-05-23
1045Argentina2024-06-10
1046Japan2024-05-22
1047Australia2024-05-17
1048United Kingdom2024-05-21
1049India2024-05-21

On-Demand Data

NameIdCountryDate
Nicolas Y Saylors1000United Kingdom2024-06-02
Kaitlin U Campain1001Italy2024-06-03
Rodrigues N Malet1002Australia2024-05-28
Jones X Kolmetz1003Russia2024-05-31
Misaki Y Briddick1004Russia2024-05-17
Izzy B Albares1005Spain2024-05-28
Munro O Perin1006Australia2024-05-29
Silvio G Albares1007Canada2024-06-10
Smith C Stenseth1008Spain2024-05-25
Aika S Waycott1009Spain2024-06-12
Jennifer N Oldroyd1010Brazil2024-06-14
Francesco D Stenseth1011Brazil2024-05-20
Rodrigues T Vocelka1012Canada2024-05-21
Sinclair C Butt1013Russia2024-05-22
Juan R Garufi1014Japan2024-05-24
Octavia L Slusarski1015Australia2024-06-06
Jennifer K Albares1016Argentina2024-05-26
Faith B Ferencz1017Germany2024-06-06
Izzy L Sergi1018Germany2024-05-29
Maria M Inouye1019Australia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy B WieserFranceStephen Shaw QUALIFIED
Arvin D VenereArgentinaElwin Sharvill QUALIFIED
Aika Q MacleadAustraliaBernardo Dominic NEGOTIATION
Mujtaba V CampainFranceStephen Shaw QUALIFIED
Murillo S MorascaItalyStephen Shaw RENEWAL
Tony S AlbaresSpainStephen Shaw NEW
Tony R KuskoIndiaElwin Sharvill PROPOSAL
Jeanfrancois H FerenczIndiaElwin Sharvill PROPOSAL
Kadeem W BologniaJapanStephen Shaw NEW
James S OldroydSpainAmy Elsner NEW
Smith S GauchoJapanXuxue Feng QUALIFIED
Arvin D WhobreyRussiaOnyama Limba PROPOSAL
Kadeem I FigeroaRussiaIvan Magalhaes NEGOTIATION
Kaitlin R VocelkaArgentinaXuxue Feng PROPOSAL
Stacey W AmigonAustraliaIvan Magalhaes RENEWAL
Sinclair P CaudyArgentinaOnyama Limba NEW
Izzy S FlosiFranceAmy Elsner QUALIFIED
Maria Y VenereIndiaOnyama Limba QUALIFIED
Darci C BriddickUnited KingdomAsiya Javayant PROPOSAL
Ivar X ShinkoCanadaAsiya Javayant PROPOSAL
Maria U IturbideGermanyStephen Shaw PROPOSAL
Clifford C ChuiGermanyOnyama Limba NEGOTIATION
Jennifer Q InouyeFranceXuxue Feng NEW
Aruna S MorascaRussiaAsiya Javayant PROPOSAL
Claire R MaletAustraliaStephen Shaw QUALIFIED
Ivar B GlickBrazilXuxue Feng UNQUALIFIED
Tony O MorascaItalyAnna Fali UNQUALIFIED
David X WhobreyBrazilIvan Magalhaes QUALIFIED
Adams H RimBrazilOnyama Limba NEW
Mayumi V InouyeBrazilAmy Elsner NEGOTIATION
Aruna U AlbaresBrazilIvan Magalhaes PROPOSAL
Cody Y IturbideIndiaXuxue Feng PROPOSAL
Wickens G BowleyUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin B GauchoCanadaStephen Shaw PROPOSAL
Darci U VocelkaUnited KingdomAmy Elsner NEGOTIATION
Leja Y RulapaughGermanyElwin Sharvill RENEWAL
Salvatore N MaletGermanyAsiya Javayant QUALIFIED
Antonio D VenereCanadaAnna Fali NEGOTIATION
James Y GillianRussiaElwin Sharvill RENEWAL
Ricardo R GlickIndiaAsiya Javayant 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>