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
Aditya P CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Octavia N CaudyJapanAsiya Javayant NEGOTIATION
Aika P StensethRussiaIoni Bowcher NEGOTIATION
Juan E OldroydIndiaXuxue Feng UNQUALIFIED
Leon Z MaletBrazilXuxue Feng RENEWAL
Julie P SergiUnited KingdomAmy Elsner NEGOTIATION
Nicolas V FlosiGermanyBernardo Dominic QUALIFIED
Smith P VocelkaAustraliaOnyama Limba NEW
Julie Q MorascaBrazilElwin Sharvill UNQUALIFIED
Kaitlin U NestleRussiaXuxue Feng RENEWAL
Tony Y SaylorsArgentinaAnna Fali UNQUALIFIED
Maria B KolmetzSpainBernardo Dominic NEGOTIATION
Murillo C FerenczFranceIvan Magalhaes UNQUALIFIED
Darci V OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Maria H StockhamCanadaElwin Sharvill NEGOTIATION
Adams W AmigonIndiaAnna Fali RENEWAL
Jeanfrancois R WaycottUnited KingdomAmy Elsner UNQUALIFIED
Jennifer I CampainIndiaBernardo Dominic NEW
Jefferson J GlickSpainXuxue Feng PROPOSAL
Jeanfrancois D DoeCanadaStephen Shaw UNQUALIFIED
Deepesh S OldroydGermanyXuxue Feng PROPOSAL
Mujtaba F BriddickGermanyIvan Magalhaes RENEWAL
Jeanfrancois R StockhamFranceAnna Fali QUALIFIED
Ricardo T StockhamRussiaXuxue Feng UNQUALIFIED
Octavia G InouyeSpainIvan Magalhaes UNQUALIFIED
Chavez M RoysterSpainBernardo Dominic NEW
Costa J MacleadJapanAmy Elsner UNQUALIFIED
Leja V FerenczSpainIoni Bowcher PROPOSAL
Smith J RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Salvatore R DoeRussiaIoni Bowcher RENEWAL
Kadeem J WaycottSpainAsiya Javayant NEW
Sinclair L PoquetteGermanyAsiya Javayant NEGOTIATION
Mujtaba U IturbideGermanyIvan Magalhaes NEW
Murillo Z FigeroaArgentinaOnyama Limba NEGOTIATION
Mujtaba C OstroskyCanadaIvan Magalhaes NEGOTIATION
Tony V GarufiIndiaOnyama Limba UNQUALIFIED
Kaitlin T SaylorsIndiaIvan Magalhaes QUALIFIED
Isabel H OldroydBrazilAmy Elsner QUALIFIED
Izzy Z MorascaIndiaStephen Shaw PROPOSAL
Alejandro R FollerCanadaAsiya Javayant UNQUALIFIED
Antonio H WhobreyCanadaOnyama Limba QUALIFIED
Darci X StockhamBrazilXuxue Feng NEW
Chavez S MorascaAustraliaAnna Fali QUALIFIED
Murillo K CampainRussiaBernardo Dominic RENEWAL
Munro G GlickArgentinaAnna Fali RENEWAL
Mayumi C RimCanadaAmy Elsner PROPOSAL
Chavez V DoeJapanAnna Fali NEW
Jefferson V VocelkaBrazilElwin Sharvill UNQUALIFIED
Costa F OldroydAustraliaIoni Bowcher RENEWAL
Maisha E MorascaSpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel Y FerenczJapanOnyama Limba UNQUALIFIED
Misaki L MorascaGermanyIoni Bowcher NEGOTIATION
Chavez D ChuiJapanXuxue Feng RENEWAL
David V SchemmerIndiaOnyama Limba UNQUALIFIED
Aruna B CaldareraItalyXuxue Feng RENEWAL
Francesco G OstroskyArgentinaAsiya Javayant PROPOSAL
Darci F GlickGermanyIvan Magalhaes RENEWAL
Adams G RutaSpainIoni Bowcher PROPOSAL
Francesco C SchemmerUnited KingdomAnna Fali RENEWAL
Salvatore T ChuiFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith B SergiItaly2024-06-21Printing Dimensions UNQUALIFIED49Ioni Bowcher
1001Leja N PerinCanada2024-06-02Feltz Printing Service UNQUALIFIED58Amy Elsner
1002Sinclair A MaletGermany2024-06-13Dorl, James J Esq UNQUALIFIED90Asiya Javayant
1003Sinclair A ShinkoItaly2024-06-11Buckley Miller Wright NEW49Bernardo Dominic
1004Claire Y WaycottCanada2024-06-08Feltz Printing Service PROPOSAL28Anna Fali
1005Smith P DoeGermany2024-06-02Rangoni Of Florence PROPOSAL45Elwin Sharvill
1006Salvatore D CaldareraJapan2024-06-01Chemel, James L Cpa NEW79Stephen Shaw
1007Adams P BriddickSpain2024-06-09Chanay, Jeffrey A Esq NEW12Ivan Magalhaes
1008Octavia I TollnerCanada2024-05-24Feltz Printing Service UNQUALIFIED92Bernardo Dominic
1009Ivar O OstroskyAustralia2024-06-08Rangoni Of Florence NEGOTIATION2Onyama Limba
1010Kadeem R SlusarskiGermany2024-06-06Printing Dimensions QUALIFIED91Ivan Magalhaes
1011Johnson N OstroskyFrance2024-06-06Rangoni Of Florence NEGOTIATION27Elwin Sharvill
1012David L StensethUnited Kingdom2024-06-14Chanay, Jeffrey A Esq QUALIFIED71Stephen Shaw
1013Izzy J StockhamBrazil2024-05-28Commercial Press QUALIFIED11Ivan Magalhaes
1014Chavez P SlusarskiBrazil2024-06-03Benton, John B Jr RENEWAL8Onyama Limba
1015Murillo L FerenczRussia2024-06-08Feltz Printing Service NEGOTIATION48Ioni Bowcher
1016Jeanfrancois Z PoquetteItaly2024-05-29Rangoni Of Florence NEW23Anna Fali
1017Leon C VenereAustralia2024-05-24Printing Dimensions PROPOSAL31Ivan Magalhaes
1018Chavez J GlickGermany2024-06-21Rangoni Of Florence QUALIFIED54Amy Elsner
1019Alejandro I SchemmerCanada2024-06-02Chapman, Ross E Esq NEGOTIATION53Anna Fali
1020Antonio Q MorascaItaly2024-06-09Benton, John B Jr UNQUALIFIED76Anna Fali
1021Juan L StockhamIndia2024-05-28Rousseaux, Michael Esq NEGOTIATION8Ioni Bowcher
1022Costa P FerenczJapan2024-06-02Rousseaux, Michael Esq UNQUALIFIED20Onyama Limba
1023Greenwood T IturbideSpain2024-06-06Buckley Miller Wright UNQUALIFIED70Onyama Limba
1024Isabel F NestleSpain2024-06-11Morlong Associates NEW43Bernardo Dominic
1025Claire E RutaGermany2024-05-23Rangoni Of Florence QUALIFIED57Anna Fali
1026Jeanfrancois J MacleadGermany2024-06-01Benton, John B Jr PROPOSAL28Ioni Bowcher
1027James P SchemmerRussia2024-05-25Chanay, Jeffrey A Esq QUALIFIED13Onyama Limba
1028Adams O SergiItaly2024-06-02Chanay, Jeffrey A Esq PROPOSAL93Asiya Javayant
1029Aditya V MaletUnited Kingdom2024-06-12Morlong Associates NEGOTIATION82Elwin Sharvill
1030Munro O VenereJapan2024-06-20Printing Dimensions QUALIFIED8Anna Fali
1031Octavia Z BologniaFrance2024-05-31Feiner Bros RENEWAL52Ivan Magalhaes
1032Chavez F FollerSpain2024-06-17Feiner Bros QUALIFIED67Elwin Sharvill
1033Greenwood G MarrierFrance2024-06-21Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1034James R GauchoAustralia2024-06-04Benton, John B Jr NEW4Stephen Shaw
1035Clifford E AmigonFrance2024-06-13Feltz Printing Service PROPOSAL1Amy Elsner
1036Alejandro Y StensethAustralia2024-06-06Chemel, James L Cpa UNQUALIFIED89Ivan Magalhaes
1037Clifford Q SaylorsAustralia2024-06-04Feltz Printing Service RENEWAL3Xuxue Feng
1038Tony O ButtFrance2024-06-12Buckley Miller Wright NEGOTIATION37Ivan Magalhaes
1039David U GarufiIndia2024-05-30Rangoni Of Florence RENEWAL36Ivan Magalhaes
1040Darci C WhobreyUnited Kingdom2024-06-21Chemel, James L Cpa RENEWAL75Amy Elsner
1041Aruna K GillianJapan2024-06-14Truhlar And Truhlar Attys PROPOSAL76Stephen Shaw
1042Jefferson C KuskoAustralia2024-05-29Buckley Miller Wright UNQUALIFIED3Xuxue Feng
1043Jeanfrancois A DilliardCanada2024-06-01Rousseaux, Michael Esq QUALIFIED2Ivan Magalhaes
1044Maisha E MaletJapan2024-06-12Feltz Printing Service RENEWAL9Amy Elsner
1045Izzy A PaprockiIndia2024-06-09Buckley Miller Wright NEGOTIATION61Amy Elsner
1046Mayumi O GillianItaly2024-06-08Rousseaux, Michael Esq RENEWAL37Xuxue Feng
1047Aditya C OldroydIndia2024-06-05Buckley Miller Wright NEGOTIATION5Amy Elsner
1048Octavia V BriddickIndia2024-06-06Chapman, Ross E Esq RENEWAL88Elwin Sharvill
1049Aditya O TollnerItaly2024-06-15Chemel, James L Cpa NEW14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna U CaudyArgentinaAnna Fali NEGOTIATION
Antonio S SchemmerRussiaIvan Magalhaes QUALIFIED
Cody C SlusarskiFranceBernardo Dominic RENEWAL
Antonio H RoysterAustraliaBernardo Dominic PROPOSAL
Kaitlin W DilliardCanadaElwin Sharvill RENEWAL
Jefferson O VocelkaJapanXuxue Feng PROPOSAL
Silvio J MaletItalyIoni Bowcher NEGOTIATION
Salvatore D DilliardJapanIoni Bowcher PROPOSAL
Stacey D NickaSpainAsiya Javayant PROPOSAL
Clifford Q SlusarskiItalyElwin Sharvill PROPOSAL
Alejandro K OstroskyAustraliaStephen Shaw QUALIFIED
Adams R VenereCanadaStephen Shaw QUALIFIED
Greenwood U SlusarskiCanadaOnyama Limba PROPOSAL
Izzy R MaletSpainOnyama Limba RENEWAL
Leon V KuskoSpainAnna Fali RENEWAL
Clifford M SlusarskiBrazilAsiya Javayant NEW
Mayumi S NestleJapanOnyama Limba QUALIFIED
Mujtaba M SaylorsFranceStephen Shaw NEGOTIATION
Munro Y MorascaJapanAmy Elsner QUALIFIED
Adams K ChuiJapanIoni Bowcher RENEWAL
Costa U KuskoIndiaAnna Fali PROPOSAL
Izzy Z RulapaughGermanyBernardo Dominic NEGOTIATION
Rodrigues B WhobreyJapanIoni Bowcher QUALIFIED
Francesco O MarrierFranceIvan Magalhaes NEGOTIATION
James V RoysterCanadaStephen Shaw RENEWAL
Munro D VocelkaBrazilBernardo Dominic UNQUALIFIED
Kaitlin A IturbideSpainAnna Fali NEGOTIATION
Octavia O WhobreyFranceBernardo Dominic NEGOTIATION
Adams F CaldareraSpainIvan Magalhaes NEW
Smith T DoeJapanElwin Sharvill UNQUALIFIED
Mayumi O VenereJapanIoni Bowcher PROPOSAL
Leon U BologniaArgentinaAmy Elsner NEGOTIATION
Claire N KuskoRussiaAmy Elsner PROPOSAL
Maisha M MacleadCanadaIoni Bowcher QUALIFIED
Octavia N GauchoRussiaIoni Bowcher NEW
Mujtaba Z FollerRussiaIvan Magalhaes NEW
Maisha O PaprockiGermanyXuxue Feng NEW
Alejandro S KolmetzAustraliaBernardo Dominic NEW
James X RulapaughItalyIvan Magalhaes PROPOSAL
Izzy S MacleadJapanAnna Fali QUALIFIED
Arvin W MorascaBrazilIoni Bowcher NEGOTIATION
Salvatore O RoysterBrazilAnna Fali RENEWAL
Jones H FerenczBrazilElwin Sharvill NEW
Francesco X SergiRussiaBernardo Dominic UNQUALIFIED
Darci G GlickBrazilIoni Bowcher NEGOTIATION
Ivar M OstroskyArgentinaOnyama Limba NEGOTIATION
Cody K MaletRussiaAsiya Javayant UNQUALIFIED
Johnson Z FerenczIndiaBernardo Dominic NEW
Misaki W GauchoFranceAsiya Javayant NEGOTIATION
Ricardo X AlbaresCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Sinclair E Garufi
Francesco W Paprocki
Julie H Darakjy
Wickens Q Garufi
Ashley J Nestle
Adams T Rulapaugh
Jones Q Rulapaugh
James E Kolmetz
James W Sergi
Clifford M Whobrey
Silvio X Darakjy
Juan T Wieser
Maria H Bolognia
Ivar G Vocelka
Adams H Ferencz
Misaki M Marrier
Arvin U Dilliard
Nicolas V Slusarski
Jeanfrancois N Butt
James T Poquette
Silvio X Morasca
Chavez V Ruta
Morrow R Malet
Julie A Bowley
Francesco U Campain
Jones Z Nestle
Jeanfrancois E Campain
Deepesh H Tollner
Jeanfrancois U Venere
Arvin T Dilliard
Alejandro U Bolognia
Emily V Doe
Misaki M Waycott
Ricardo X Tollner
Julie Q Garufi
Kaitlin J Figeroa
Isabel X Oldroyd
Murillo W Inouye
Alejandro H Butt
Nicolas X Figeroa
Francesco N Wieser
Jennifer D Caldarera
Deepesh E Schemmer
Rodrigues I Briddick
Silvio Q Bowley
Isabel Z Ferencz
Maisha Z Garufi
Rodrigues P Paprocki
Chavez N Albares
Morrow Z Flosi
IdCountryDate
1000United Kingdom2024-05-27
1001United Kingdom2024-06-04
1002Australia2024-06-06
1003France2024-06-01
1004United Kingdom2024-06-01
1005Australia2024-06-05
1006Australia2024-06-05
1007Germany2024-06-06
1008India2024-05-28
1009United Kingdom2024-06-16
1010Germany2024-06-11
1011Germany2024-06-21
1012Japan2024-06-11
1013Japan2024-06-03
1014United Kingdom2024-06-18
1015Brazil2024-06-04
1016France2024-06-10
1017Japan2024-06-15
1018Brazil2024-06-15
1019Australia2024-06-12
1020Australia2024-06-16
1021Germany2024-05-23
1022United Kingdom2024-06-17
1023Argentina2024-06-14
1024Australia2024-06-02
1025Canada2024-05-25
1026Italy2024-06-09
1027Australia2024-05-28
1028India2024-06-12
1029Brazil2024-05-24
1030Australia2024-06-04
1031France2024-05-29
1032Canada2024-06-18
1033Italy2024-06-01
1034Germany2024-06-18
1035Brazil2024-06-17
1036Canada2024-06-17
1037France2024-05-23
1038Japan2024-05-28
1039India2024-06-12
1040United Kingdom2024-06-15
1041France2024-05-24
1042Brazil2024-06-21
1043United Kingdom2024-05-30
1044Italy2024-05-27
1045Brazil2024-06-16
1046Argentina2024-05-23
1047Italy2024-05-25
1048Australia2024-06-05
1049Russia2024-06-07

On-Demand Data

NameIdCountryDate
Aditya L Stockham1000Germany2024-05-29
Nicolas M Kusko1001Italy2024-06-11
Octavia J Ostrosky1002Germany2024-06-07
Francesco X Ostrosky1003India2024-06-12
Aruna O Shinko1004France2024-05-31
Leon J Sergi1005Australia2024-06-11
Kaitlin Q Figeroa1006United Kingdom2024-06-12
Ashley F Flosi1007Germany2024-05-24
Darci O Darakjy1008Japan2024-06-11
Jefferson Y Bowley1009Argentina2024-06-12
Antonio D Tollner1010Argentina2024-06-21
Aditya B Gillian1011India2024-06-02
Greenwood O Tollner1012France2024-06-05
Mujtaba J Maclead1013Canada2024-06-14
Julie X Vocelka1014India2024-06-13
Smith C Morasca1015Russia2024-06-01
Alejandro N Stockham1016Spain2024-05-25
Kadeem G Foller1017Germany2024-06-13
Jones M Slusarski1018Spain2024-06-06
Emily L Ruta1019Germany2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily W WhobreySpainXuxue Feng NEW
Deepesh N RoysterJapanElwin Sharvill NEW
Cody N BriddickUnited KingdomAsiya Javayant NEW
Leja K MarrierIndiaAmy Elsner PROPOSAL
Kadeem F RoysterRussiaIoni Bowcher UNQUALIFIED
Greenwood T RutaItalyAnna Fali PROPOSAL
Mujtaba T ShinkoIndiaAnna Fali RENEWAL
Salvatore J ButtCanadaElwin Sharvill UNQUALIFIED
Cody W MarrierArgentinaIvan Magalhaes RENEWAL
Nicolas P PoquetteAustraliaIoni Bowcher PROPOSAL
Chavez E DilliardAustraliaBernardo Dominic QUALIFIED
Aditya I SchemmerCanadaAmy Elsner RENEWAL
Chavez L AmigonArgentinaElwin Sharvill QUALIFIED
Sinclair A PoquetteGermanyIoni Bowcher RENEWAL
Ashley M WhobreyItalyXuxue Feng PROPOSAL
Costa Q KolmetzSpainStephen Shaw RENEWAL
Misaki H DoeSpainOnyama Limba PROPOSAL
Kadeem K FollerFranceAsiya Javayant NEGOTIATION
Rodrigues W KuskoSpainElwin Sharvill PROPOSAL
Salvatore W SergiIndiaIoni Bowcher RENEWAL
Juan Y FigeroaGermanyElwin Sharvill QUALIFIED
Jeanfrancois O DilliardSpainAsiya Javayant PROPOSAL
Misaki I TollnerJapanIoni Bowcher PROPOSAL
Izzy V VocelkaCanadaAmy Elsner PROPOSAL
Salvatore Y FollerJapanIoni Bowcher UNQUALIFIED
Nicolas C ButtAustraliaIoni Bowcher PROPOSAL
Darci Z MaletFranceBernardo Dominic UNQUALIFIED
Wickens L BowleyIndiaAnna Fali QUALIFIED
Antonio I FlosiUnited KingdomIoni Bowcher RENEWAL
Antonio A StockhamItalyOnyama Limba PROPOSAL
Sinclair C MarrierAustraliaBernardo Dominic NEW
Morrow R SergiAustraliaBernardo Dominic NEW
Francesco J WieserGermanyStephen Shaw QUALIFIED
Ricardo O CampainJapanAsiya Javayant RENEWAL
Jefferson R KuskoRussiaIoni Bowcher RENEWAL
Cody X MaletRussiaOnyama Limba PROPOSAL
Arvin X BologniaItalyIoni Bowcher QUALIFIED
Rodrigues K WaycottJapanOnyama Limba RENEWAL
Faith X GillianAustraliaElwin Sharvill QUALIFIED
Wickens T MacleadAustraliaIoni Bowcher NEGOTIATION

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