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
James C TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh F FigeroaItalyOnyama Limba QUALIFIED
Alejandro E SergiUnited KingdomElwin Sharvill UNQUALIFIED
Misaki D MaletFranceElwin Sharvill PROPOSAL
Maisha E RutaSpainAmy Elsner QUALIFIED
Arvin N RimFranceStephen Shaw QUALIFIED
Alejandro Q AlbaresItalyStephen Shaw NEGOTIATION
Francesco C WieserAustraliaAsiya Javayant UNQUALIFIED
Ashley B BriddickCanadaXuxue Feng UNQUALIFIED
Ricardo J CaudyFranceStephen Shaw UNQUALIFIED
Clifford M GlickUnited KingdomAsiya Javayant NEW
Francesco I StockhamIndiaBernardo Dominic RENEWAL
Smith W FigeroaArgentinaBernardo Dominic NEGOTIATION
Misaki A FigeroaAustraliaIvan Magalhaes RENEWAL
Maisha T MarrierIndiaAmy Elsner RENEWAL
Nicolas I VenereItalyAmy Elsner UNQUALIFIED
Silvio K DarakjyJapanElwin Sharvill UNQUALIFIED
Francesco J KolmetzRussiaOnyama Limba RENEWAL
Wickens M GarufiAustraliaXuxue Feng PROPOSAL
Munro F FlosiFranceAnna Fali UNQUALIFIED
Cody J ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin U DilliardSpainBernardo Dominic NEW
Jeanfrancois H StensethIndiaIoni Bowcher UNQUALIFIED
Nicolas Y FigeroaBrazilElwin Sharvill NEGOTIATION
Izzy I PoquetteSpainStephen Shaw QUALIFIED
Jefferson L SergiIndiaAsiya Javayant NEGOTIATION
Smith Z MaletSpainIvan Magalhaes PROPOSAL
Munro K SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Greenwood E DarakjyGermanyAmy Elsner PROPOSAL
Deepesh M BriddickJapanIvan Magalhaes NEW
Maisha X CampainGermanyElwin Sharvill NEGOTIATION
Aditya S BriddickRussiaAnna Fali PROPOSAL
Aika K DoeIndiaIoni Bowcher NEGOTIATION
Chavez K MaletSpainStephen Shaw PROPOSAL
Juan J PerinArgentinaAnna Fali UNQUALIFIED
Munro H RimItalyAsiya Javayant UNQUALIFIED
Salvatore D MacleadCanadaOnyama Limba QUALIFIED
Arvin D MaletSpainXuxue Feng RENEWAL
Mujtaba D RulapaughArgentinaBernardo Dominic RENEWAL
Adams I WieserFranceIvan Magalhaes NEGOTIATION
Salvatore R MorascaItalyXuxue Feng RENEWAL
Stacey Q OldroydItalyAnna Fali UNQUALIFIED
Costa J MaletFranceElwin Sharvill QUALIFIED
Cody A SergiIndiaStephen Shaw NEGOTIATION
Jeanfrancois Y SchemmerRussiaAsiya Javayant UNQUALIFIED
Emily Y StockhamIndiaAnna Fali QUALIFIED
Silvio Q VocelkaFranceStephen Shaw NEGOTIATION
Johnson O DoeUnited KingdomAsiya Javayant UNQUALIFIED
Smith M RutaFranceStephen Shaw PROPOSAL
Morrow G GarufiArgentinaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin B NickaSpainStephen Shaw PROPOSAL
Deepesh A MacleadFranceAmy Elsner NEGOTIATION
Claire K PerinAustraliaAnna Fali UNQUALIFIED
Murillo C RutaCanadaAnna Fali NEGOTIATION
Greenwood X InouyeAustraliaStephen Shaw NEW
Kadeem C BriddickUnited KingdomAmy Elsner PROPOSAL
Alejandro V ButtIndiaIoni Bowcher RENEWAL
Julie L DoeUnited KingdomElwin Sharvill NEGOTIATION
Jones M NestleRussiaStephen Shaw RENEWAL
Munro E DoeRussiaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez E WhobreyItaly2024-06-14King, Christopher A Esq PROPOSAL51Xuxue Feng
1001Jones G PaprockiRussia2024-06-02Rousseaux, Michael Esq NEW52Ioni Bowcher
1002David Q RoysterAustralia2024-06-05Rousseaux, Michael Esq QUALIFIED47Asiya Javayant
1003Claire U FlosiUnited Kingdom2024-06-12King, Christopher A Esq NEW40Asiya Javayant
1004Ricardo P WhobreySpain2024-06-19Commercial Press UNQUALIFIED11Ioni Bowcher
1005Izzy O BowleyRussia2024-06-14Commercial Press QUALIFIED27Xuxue Feng
1006Arvin Z StockhamArgentina2024-06-17Feiner Bros QUALIFIED67Onyama Limba
1007Francesco V ShinkoFrance2024-06-24Printing Dimensions PROPOSAL21Stephen Shaw
1008Kaitlin T DilliardItaly2024-06-24Feltz Printing Service RENEWAL28Elwin Sharvill
1009Nicolas T GlickFrance2024-05-27Rousseaux, Michael Esq PROPOSAL95Ivan Magalhaes
1010Smith O SchemmerCanada2024-06-10Printing Dimensions NEGOTIATION45Ivan Magalhaes
1011Mujtaba T FollerBrazil2024-06-14Feiner Bros NEW14Amy Elsner
1012Stacey H PerinGermany2024-06-18Chanay, Jeffrey A Esq QUALIFIED73Stephen Shaw
1013Octavia V RoysterBrazil2024-06-07Truhlar And Truhlar Attys PROPOSAL65Anna Fali
1014Emily L CaldareraAustralia2024-06-02Chapman, Ross E Esq RENEWAL4Asiya Javayant
1015Izzy F MacleadJapan2024-06-02Dorl, James J Esq NEW64Anna Fali
1016Morrow A SergiRussia2024-06-09Benton, John B Jr NEGOTIATION1Xuxue Feng
1017David G CaldareraFrance2024-06-06Truhlar And Truhlar Attys RENEWAL79Asiya Javayant
1018Rodrigues Z GillianRussia2024-06-11Dorl, James J Esq UNQUALIFIED88Ioni Bowcher
1019Adams U ChuiRussia2024-06-09Feltz Printing Service UNQUALIFIED64Onyama Limba
1020Cody U NestleArgentina2024-06-19Rousseaux, Michael Esq UNQUALIFIED8Asiya Javayant
1021Jefferson L FollerJapan2024-06-18Benton, John B Jr PROPOSAL77Xuxue Feng
1022Morrow A DoeJapan2024-06-11Printing Dimensions NEGOTIATION23Elwin Sharvill
1023Morrow R VenereRussia2024-06-13Feltz Printing Service NEGOTIATION81Asiya Javayant
1024Johnson D StockhamArgentina2024-06-02Buckley Miller Wright NEW31Ioni Bowcher
1025Francesco G ShinkoItaly2024-06-22Morlong Associates RENEWAL23Xuxue Feng
1026Alejandro T ChuiUnited Kingdom2024-05-28Chemel, James L Cpa QUALIFIED8Ioni Bowcher
1027Darci S AlbaresBrazil2024-06-10Dorl, James J Esq RENEWAL96Asiya Javayant
1028Claire X IturbideItaly2024-06-18Rousseaux, Michael Esq NEGOTIATION50Asiya Javayant
1029Octavia W KuskoRussia2024-06-05Morlong Associates PROPOSAL57Ioni Bowcher
1030Tony Z StockhamIndia2024-06-04Dorl, James J Esq NEGOTIATION42Xuxue Feng
1031Antonio L DarakjySpain2024-05-28Benton, John B Jr QUALIFIED32Anna Fali
1032Salvatore A TollnerJapan2024-06-12Buckley Miller Wright RENEWAL76Anna Fali
1033Isabel G PaprockiBrazil2024-06-06Commercial Press NEGOTIATION82Elwin Sharvill
1034Aditya B ChuiItaly2024-06-08Truhlar And Truhlar Attys NEGOTIATION98Anna Fali
1035Costa S WaycottSpain2024-06-09Buckley Miller Wright NEGOTIATION54Ioni Bowcher
1036Maria F GlickJapan2024-06-22Rangoni Of Florence UNQUALIFIED60Elwin Sharvill
1037Salvatore B CampainJapan2024-06-21Truhlar And Truhlar Attys NEGOTIATION2Ioni Bowcher
1038Mayumi U BologniaItaly2024-06-22Rangoni Of Florence NEW74Asiya Javayant
1039Salvatore F StockhamJapan2024-05-28Chapman, Ross E Esq RENEWAL95Amy Elsner
1040James Z BowleyJapan2024-06-16King, Christopher A Esq RENEWAL67Ivan Magalhaes
1041Leja X WaycottUnited Kingdom2024-06-07Dorl, James J Esq NEGOTIATION57Stephen Shaw
1042Nicolas F AmigonUnited Kingdom2024-06-06Chapman, Ross E Esq QUALIFIED44Onyama Limba
1043Juan P FigeroaRussia2024-05-28Feltz Printing Service NEGOTIATION91Onyama Limba
1044Kadeem R CaudyItaly2024-06-24Printing Dimensions PROPOSAL70Xuxue Feng
1045Jeanfrancois F InouyeAustralia2024-06-11Feltz Printing Service NEGOTIATION75Ivan Magalhaes
1046Greenwood R GillianRussia2024-06-20Chapman, Ross E Esq NEGOTIATION77Ivan Magalhaes
1047Jeanfrancois T GillianJapan2024-06-06Benton, John B Jr NEGOTIATION36Anna Fali
1048Isabel R SaylorsRussia2024-06-18Dorl, James J Esq QUALIFIED50Asiya Javayant
1049Deepesh K BowleyAustralia2024-06-06Dorl, James J Esq QUALIFIED54Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith S MarrierArgentinaOnyama Limba QUALIFIED
Costa O DarakjyJapanAmy Elsner UNQUALIFIED
Ricardo D AlbaresItalyXuxue Feng NEGOTIATION
Rodrigues F OldroydCanadaStephen Shaw NEGOTIATION
Morrow F GarufiAustraliaIoni Bowcher NEW
Izzy B VocelkaJapanXuxue Feng UNQUALIFIED
Jennifer G SergiSpainAmy Elsner RENEWAL
Mujtaba U StockhamSpainAnna Fali PROPOSAL
Costa F WhobreyArgentinaAmy Elsner UNQUALIFIED
Munro H BowleyArgentinaAmy Elsner PROPOSAL
Rodrigues G RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Ashley P FlosiFranceAsiya Javayant QUALIFIED
Jennifer M FlosiIndiaAsiya Javayant UNQUALIFIED
Tony P OstroskyGermanyStephen Shaw RENEWAL
Ashley H VocelkaSpainIoni Bowcher NEGOTIATION
Salvatore Y BowleyCanadaAmy Elsner NEGOTIATION
Arvin L GillianBrazilAmy Elsner RENEWAL
Ricardo B GauchoBrazilOnyama Limba UNQUALIFIED
Greenwood N PoquetteSpainBernardo Dominic RENEWAL
Nicolas J VenereUnited KingdomAmy Elsner NEW
Jennifer U MarrierUnited KingdomAnna Fali RENEWAL
Ricardo N KuskoSpainXuxue Feng NEGOTIATION
Tony Q FollerSpainElwin Sharvill UNQUALIFIED
Mayumi E AmigonAustraliaBernardo Dominic UNQUALIFIED
Maisha V InouyeIndiaIvan Magalhaes QUALIFIED
Claire T MacleadSpainStephen Shaw PROPOSAL
Aika Y IturbideItalyAnna Fali NEGOTIATION
Sinclair A SchemmerCanadaElwin Sharvill NEW
Johnson J MorascaCanadaIoni Bowcher PROPOSAL
Maisha A SaylorsJapanIvan Magalhaes QUALIFIED
Francesco B SergiIndiaBernardo Dominic PROPOSAL
Cody K FollerFranceIvan Magalhaes RENEWAL
Jefferson A SaylorsItalyXuxue Feng QUALIFIED
Darci U ChuiGermanyXuxue Feng NEGOTIATION
Isabel V FerenczArgentinaIoni Bowcher NEW
Maria W MacleadFranceAsiya Javayant NEW
James T BologniaArgentinaElwin Sharvill PROPOSAL
Julie F SaylorsUnited KingdomAnna Fali PROPOSAL
Julie C GillianCanadaBernardo Dominic NEGOTIATION
Jeanfrancois L GauchoAustraliaAmy Elsner RENEWAL
Morrow H BowleyRussiaAmy Elsner QUALIFIED
Leja X InouyeRussiaIoni Bowcher UNQUALIFIED
Tony R StockhamUnited KingdomElwin Sharvill QUALIFIED
Salvatore N CaldareraSpainElwin Sharvill PROPOSAL
Johnson Z RimCanadaAsiya Javayant NEGOTIATION
Murillo G AmigonItalyStephen Shaw NEGOTIATION
Maisha M DoeArgentinaXuxue Feng UNQUALIFIED
Morrow W StockhamGermanyAnna Fali RENEWAL
Aditya E GauchoUnited KingdomAsiya Javayant NEW
Morrow C FerenczCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Kadeem E Glick
Jones X Rulapaugh
Adams S Amigon
Adams Y Garufi
Aika U Darakjy
James G Kolmetz
Costa C Kolmetz
Mujtaba W Malet
Jeanfrancois Q Slusarski
Antonio L Amigon
Ashley P Caldarera
Aika Z Stenseth
Stacey R Slusarski
Izzy G Campain
Chavez E Slusarski
Leja P Malet
Wickens Q Albares
Tony P Darakjy
Aruna F Malet
Leon D Poquette
Leon T Royster
Rodrigues T Iturbide
Isabel O Rim
Rodrigues T Caldarera
Greenwood S Malet
Sinclair L Tollner
David X Morasca
Deepesh M Tollner
Julie M Schemmer
Jeanfrancois V Venere
Antonio L Stockham
Ashley M Figeroa
Johnson F Gillian
Ivar G Perin
Munro Z Dilliard
Johnson K Paprocki
Octavia T Caudy
Clifford X Shinko
Misaki K Kolmetz
Jeanfrancois E Caldarera
Mayumi U Caldarera
Francesco C Garufi
Maisha Z Gillian
Smith K Slusarski
Cody U Caudy
Deepesh F Amigon
Octavia B Nicka
Nicolas N Oldroyd
Misaki X Dilliard
Cody Q Poquette
IdCountryDate
1000India2024-06-16
1001Italy2024-06-12
1002United Kingdom2024-05-31
1003Argentina2024-06-14
1004Australia2024-06-18
1005Canada2024-06-12
1006United Kingdom2024-06-24
1007Germany2024-06-03
1008Italy2024-06-17
1009Canada2024-06-13
1010Australia2024-06-06
1011Germany2024-06-11
1012Australia2024-06-13
1013Japan2024-06-23
1014France2024-06-10
1015Spain2024-06-20
1016Australia2024-06-02
1017Australia2024-06-07
1018Canada2024-06-10
1019Australia2024-06-09
1020Russia2024-06-06
1021Russia2024-05-27
1022Argentina2024-06-21
1023Australia2024-06-19
1024Argentina2024-06-09
1025Argentina2024-06-01
1026France2024-06-15
1027Canada2024-06-12
1028France2024-06-11
1029Japan2024-05-31
1030Argentina2024-06-10
1031Argentina2024-06-22
1032United Kingdom2024-05-31
1033Russia2024-06-13
1034Canada2024-06-07
1035Spain2024-05-26
1036Argentina2024-06-05
1037India2024-05-31
1038Japan2024-06-15
1039United Kingdom2024-06-24
1040United Kingdom2024-06-07
1041United Kingdom2024-06-13
1042Germany2024-06-20
1043France2024-06-15
1044Italy2024-06-21
1045France2024-05-30
1046Spain2024-06-21
1047Argentina2024-06-02
1048Brazil2024-06-03
1049Brazil2024-06-19

On-Demand Data

NameIdCountryDate
Aruna Q Inouye1000France2024-06-08
Francesco S Darakjy1001United Kingdom2024-06-13
Aditya X Ruta1002Russia2024-06-01
Johnson W Saylors1003France2024-06-04
David V Chui1004Australia2024-05-27
Chavez U Inouye1005Russia2024-06-03
Costa M Nicka1006Spain2024-05-27
Darci X Maclead1007France2024-06-18
Octavia Y Bolognia1008Brazil2024-06-02
Leja Z Garufi1009Australia2024-06-05
Kaitlin H Kolmetz1010Argentina2024-06-02
Munro T Caudy1011India2024-06-16
Clifford S Royster1012France2024-06-14
Kaitlin L Malet1013United Kingdom2024-06-20
Stacey N Malet1014Italy2024-06-12
Ivar U Chui1015Australia2024-06-15
Misaki U Garufi1016France2024-05-27
Stacey Z Tollner1017India2024-06-16
Isabel Z Oldroyd1018Argentina2024-05-31
Octavia U Albares1019India2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y RoysterBrazilOnyama Limba RENEWAL
Greenwood M NestleRussiaBernardo Dominic UNQUALIFIED
Chavez R StockhamItalyBernardo Dominic NEW
Maisha O CaldareraRussiaAsiya Javayant PROPOSAL
Kaitlin H WhobreyUnited KingdomElwin Sharvill QUALIFIED
Alejandro K TollnerGermanyStephen Shaw PROPOSAL
Aditya X GillianRussiaElwin Sharvill PROPOSAL
Johnson F SaylorsItalyStephen Shaw RENEWAL
Maria H GlickCanadaOnyama Limba RENEWAL
Costa O NestleAustraliaIvan Magalhaes PROPOSAL
Juan D NickaIndiaIoni Bowcher UNQUALIFIED
Mayumi U WhobreyIndiaAmy Elsner UNQUALIFIED
Jefferson C RulapaughItalyAsiya Javayant PROPOSAL
Sinclair U SlusarskiGermanyOnyama Limba PROPOSAL
Juan Y IturbideRussiaXuxue Feng NEGOTIATION
Maisha K OldroydSpainAnna Fali PROPOSAL
Claire E CaudyIndiaAnna Fali UNQUALIFIED
Nicolas C RoysterAustraliaAsiya Javayant NEGOTIATION
Wickens J OldroydRussiaIvan Magalhaes QUALIFIED
Chavez L MaletCanadaOnyama Limba NEGOTIATION
Leja M GauchoBrazilIoni Bowcher QUALIFIED
Ivar B RimSpainIoni Bowcher UNQUALIFIED
Leja Q TollnerJapanOnyama Limba RENEWAL
Jennifer X WhobreyCanadaAsiya Javayant UNQUALIFIED
Aditya G MarrierItalyAnna Fali PROPOSAL
Maria T VocelkaSpainIoni Bowcher UNQUALIFIED
Juan Y VenereSpainAnna Fali PROPOSAL
Aditya F CaudySpainBernardo Dominic RENEWAL
James Z NickaAustraliaAsiya Javayant NEW
Smith G BriddickJapanStephen Shaw NEW
Emily U MacleadFranceXuxue Feng NEW
Aika W GlickBrazilElwin Sharvill NEW
Izzy T CampainCanadaAmy Elsner UNQUALIFIED
Leja E CaudyGermanyAnna Fali QUALIFIED
Claire J DilliardUnited KingdomBernardo Dominic NEGOTIATION
Ivar K OstroskyUnited KingdomStephen Shaw NEW
Ricardo X NestleItalyIvan Magalhaes PROPOSAL
Clifford A BriddickCanadaXuxue Feng UNQUALIFIED
Leon I CaudyArgentinaAsiya Javayant RENEWAL
Cody B FerenczAustraliaIoni Bowcher 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>