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
Leja U StockhamArgentinaIoni Bowcher QUALIFIED
Deepesh Y IturbideSpainXuxue Feng RENEWAL
Ricardo N DarakjyGermanyStephen Shaw QUALIFIED
Aditya B AmigonRussiaXuxue Feng PROPOSAL
James U GauchoCanadaXuxue Feng RENEWAL
Clifford D WaycottIndiaIvan Magalhaes RENEWAL
Costa O AmigonAustraliaElwin Sharvill QUALIFIED
Darci W SchemmerRussiaAsiya Javayant RENEWAL
Wickens B TollnerRussiaAmy Elsner PROPOSAL
Kadeem T GlickRussiaOnyama Limba PROPOSAL
Cody E CampainCanadaStephen Shaw NEW
Aruna I VocelkaGermanyOnyama Limba QUALIFIED
Morrow I GlickUnited KingdomXuxue Feng NEW
Nicolas N PoquetteIndiaAmy Elsner PROPOSAL
Ricardo J MacleadCanadaAsiya Javayant RENEWAL
Ricardo L GauchoIndiaIvan Magalhaes QUALIFIED
Silvio E ChuiFranceAmy Elsner NEGOTIATION
Misaki U OldroydJapanXuxue Feng QUALIFIED
Munro Z NickaAustraliaIvan Magalhaes PROPOSAL
Julie I WaycottSpainOnyama Limba UNQUALIFIED
Morrow K StensethJapanAnna Fali QUALIFIED
Greenwood X GarufiUnited KingdomBernardo Dominic QUALIFIED
Mujtaba D GillianGermanyOnyama Limba RENEWAL
Faith Q AmigonJapanAsiya Javayant PROPOSAL
Chavez F StockhamRussiaAnna Fali RENEWAL
Salvatore G RulapaughArgentinaAmy Elsner NEW
Ivar M PerinFranceElwin Sharvill NEW
Maria R MorascaRussiaAsiya Javayant NEGOTIATION
Sinclair K ChuiRussiaAsiya Javayant NEGOTIATION
Chavez I VocelkaBrazilAsiya Javayant QUALIFIED
Mujtaba T SergiSpainIvan Magalhaes UNQUALIFIED
Cody E RimBrazilIvan Magalhaes PROPOSAL
Salvatore O SergiArgentinaStephen Shaw RENEWAL
Maria S VocelkaGermanyAnna Fali QUALIFIED
Mujtaba Q MacleadCanadaBernardo Dominic RENEWAL
Isabel N GillianRussiaIvan Magalhaes UNQUALIFIED
Emily E FlosiGermanyXuxue Feng NEGOTIATION
Kadeem Q PerinArgentinaAsiya Javayant QUALIFIED
Ricardo B NestleSpainAnna Fali UNQUALIFIED
Isabel Q CaudyUnited KingdomElwin Sharvill PROPOSAL
Darci S FerenczCanadaBernardo Dominic QUALIFIED
Cody Z WhobreyFranceAsiya Javayant PROPOSAL
Aruna C VocelkaRussiaAnna Fali NEGOTIATION
Emily T KolmetzRussiaAsiya Javayant UNQUALIFIED
Murillo U AmigonSpainStephen Shaw QUALIFIED
Wickens B VenereItalyBernardo Dominic NEGOTIATION
Kaitlin W KolmetzArgentinaAnna Fali QUALIFIED
Ivar D StensethUnited KingdomAmy Elsner RENEWAL
Izzy T CampainJapanOnyama Limba RENEWAL
Stacey A OldroydItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy X MaletBrazilXuxue Feng NEGOTIATION
Faith Q VenereSpainElwin Sharvill RENEWAL
Ricardo U SaylorsArgentinaIvan Magalhaes NEGOTIATION
Claire R VocelkaItalyElwin Sharvill UNQUALIFIED
Jennifer I OstroskyItalyAmy Elsner PROPOSAL
Aika F SchemmerItalyAsiya Javayant NEW
Kadeem O FerenczBrazilStephen Shaw NEW
Antonio V CaldareraSpainOnyama Limba NEGOTIATION
Izzy K GauchoCanadaElwin Sharvill RENEWAL
David F VocelkaRussiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire H VocelkaJapan2024-06-12Feltz Printing Service RENEWAL27Amy Elsner
1001Aruna A SaylorsSpain2024-05-31Truhlar And Truhlar Attys UNQUALIFIED76Onyama Limba
1002Kaitlin A RulapaughJapan2024-06-08Rousseaux, Michael Esq NEGOTIATION69Onyama Limba
1003Jennifer N StensethArgentina2024-05-27King, Christopher A Esq NEGOTIATION80Asiya Javayant
1004Misaki Y NestleGermany2024-06-22Morlong Associates NEGOTIATION48Xuxue Feng
1005Johnson W CaudyUnited Kingdom2024-06-10Dorl, James J Esq RENEWAL34Anna Fali
1006Emily Z DilliardItaly2024-06-13Commercial Press PROPOSAL10Anna Fali
1007Ivar W PoquetteGermany2024-05-31Feltz Printing Service NEGOTIATION43Asiya Javayant
1008Mayumi O AmigonGermany2024-05-28Truhlar And Truhlar Attys QUALIFIED23Onyama Limba
1009Clifford S AlbaresCanada2024-06-11Truhlar And Truhlar Attys NEGOTIATION67Elwin Sharvill
1010Ashley T AlbaresJapan2024-06-24Chanay, Jeffrey A Esq NEGOTIATION48Stephen Shaw
1011Johnson U DilliardCanada2024-06-15Rangoni Of Florence RENEWAL75Asiya Javayant
1012Jefferson V OldroydRussia2024-06-16Feiner Bros PROPOSAL76Elwin Sharvill
1013Munro A WieserCanada2024-06-19Truhlar And Truhlar Attys RENEWAL97Ivan Magalhaes
1014Ivar U ButtUnited Kingdom2024-06-21King, Christopher A Esq NEW35Stephen Shaw
1015Mujtaba G MaletUnited Kingdom2024-06-05Chanay, Jeffrey A Esq PROPOSAL87Ioni Bowcher
1016Octavia H MaletGermany2024-06-17King, Christopher A Esq QUALIFIED88Ivan Magalhaes
1017Ivar A FollerSpain2024-06-18Dorl, James J Esq QUALIFIED35Bernardo Dominic
1018Faith Z InouyeGermany2024-06-22Feiner Bros UNQUALIFIED53Ivan Magalhaes
1019Mujtaba T WhobreyIndia2024-06-03Rangoni Of Florence UNQUALIFIED61Anna Fali
1020Kadeem G TollnerUnited Kingdom2024-06-24Printing Dimensions QUALIFIED69Onyama Limba
1021Francesco I CaudyAustralia2024-06-02Chemel, James L Cpa NEGOTIATION30Bernardo Dominic
1022Rodrigues E ChuiIndia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED54Ioni Bowcher
1023Rodrigues O ChuiArgentina2024-06-17Buckley Miller Wright UNQUALIFIED87Stephen Shaw
1024Sinclair Q CaudySpain2024-06-18Morlong Associates QUALIFIED37Anna Fali
1025Leja D StensethCanada2024-06-08Benton, John B Jr NEGOTIATION77Bernardo Dominic
1026Arvin G GlickItaly2024-05-26Buckley Miller Wright NEW78Stephen Shaw
1027Isabel P RulapaughFrance2024-06-08Buckley Miller Wright NEW86Xuxue Feng
1028Ashley C VenereJapan2024-06-17Rousseaux, Michael Esq PROPOSAL52Onyama Limba
1029Jeanfrancois Y IturbideUnited Kingdom2024-05-28Morlong Associates PROPOSAL16Bernardo Dominic
1030Ricardo P CaldareraIndia2024-06-01Chemel, James L Cpa UNQUALIFIED53Stephen Shaw
1031Clifford G SergiIndia2024-06-11Truhlar And Truhlar Attys NEW27Stephen Shaw
1032Wickens S DarakjyJapan2024-06-16Rangoni Of Florence NEW1Amy Elsner
1033Salvatore B DoeJapan2024-06-23Truhlar And Truhlar Attys NEGOTIATION31Amy Elsner
1034Costa M BologniaArgentina2024-06-04Truhlar And Truhlar Attys QUALIFIED29Bernardo Dominic
1035Arvin K KolmetzSpain2024-06-05King, Christopher A Esq NEGOTIATION12Ioni Bowcher
1036Stacey Z StockhamItaly2024-06-14Truhlar And Truhlar Attys UNQUALIFIED14Ivan Magalhaes
1037Kaitlin G PerinAustralia2024-06-06Rousseaux, Michael Esq UNQUALIFIED66Ivan Magalhaes
1038Kaitlin Y BriddickAustralia2024-06-23Printing Dimensions NEGOTIATION86Asiya Javayant
1039Arvin Y SchemmerIndia2024-06-19Benton, John B Jr NEGOTIATION24Ivan Magalhaes
1040Morrow H CaldareraArgentina2024-06-01Printing Dimensions PROPOSAL77Onyama Limba
1041Arvin P StockhamRussia2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED5Anna Fali
1042Aditya L RoysterSpain2024-06-16Chemel, James L Cpa PROPOSAL34Stephen Shaw
1043Murillo O ChuiSpain2024-06-23Buckley Miller Wright QUALIFIED11Amy Elsner
1044Rodrigues C OstroskyJapan2024-06-04King, Christopher A Esq UNQUALIFIED2Bernardo Dominic
1045Ashley P FigeroaSpain2024-06-07Rousseaux, Michael Esq RENEWAL23Elwin Sharvill
1046Costa L DarakjyArgentina2024-06-24Buckley Miller Wright NEW27Anna Fali
1047Murillo B VenereJapan2024-06-07Feltz Printing Service NEGOTIATION24Onyama Limba
1048Emily S CaldareraRussia2024-06-06Chemel, James L Cpa QUALIFIED93Ivan Magalhaes
1049Aditya X DilliardRussia2024-06-11Truhlar And Truhlar Attys PROPOSAL56Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki I BowleyBrazilXuxue Feng UNQUALIFIED
Julie N GlickRussiaAmy Elsner NEGOTIATION
Ricardo I IturbideItalyStephen Shaw NEW
Ricardo R FigeroaItalyElwin Sharvill QUALIFIED
Octavia F OstroskySpainBernardo Dominic UNQUALIFIED
Stacey W SaylorsGermanyBernardo Dominic QUALIFIED
James L OldroydArgentinaIvan Magalhaes UNQUALIFIED
Adams U CaldareraArgentinaAsiya Javayant UNQUALIFIED
Emily D GarufiJapanOnyama Limba PROPOSAL
Aika U RutaIndiaXuxue Feng RENEWAL
Jones L MaletFranceIvan Magalhaes QUALIFIED
Jefferson W NickaSpainBernardo Dominic NEGOTIATION
Octavia C MorascaCanadaXuxue Feng QUALIFIED
Maisha N FerenczRussiaAsiya Javayant NEW
Leon X StockhamAustraliaElwin Sharvill UNQUALIFIED
Claire K DoeIndiaAsiya Javayant UNQUALIFIED
Mayumi N GauchoIndiaXuxue Feng NEW
Jeanfrancois F WaycottSpainAsiya Javayant NEGOTIATION
Johnson T VenereUnited KingdomElwin Sharvill UNQUALIFIED
Wickens Q PaprockiJapanIvan Magalhaes RENEWAL
Sinclair I FigeroaCanadaAsiya Javayant NEW
Salvatore L FerenczRussiaIoni Bowcher UNQUALIFIED
Sinclair H CaudyArgentinaXuxue Feng RENEWAL
James Z AmigonIndiaBernardo Dominic RENEWAL
Jones H SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Arvin M RimSpainBernardo Dominic NEW
David U NickaIndiaAsiya Javayant QUALIFIED
Aruna Z RoysterJapanBernardo Dominic UNQUALIFIED
Cody S GarufiRussiaStephen Shaw NEGOTIATION
Octavia U NestleUnited KingdomAnna Fali QUALIFIED
Ivar G InouyeItalyAmy Elsner NEGOTIATION
Darci T KolmetzAustraliaOnyama Limba NEW
Aika K FerenczUnited KingdomXuxue Feng QUALIFIED
Jones I CampainRussiaBernardo Dominic NEW
Ashley A RoysterBrazilBernardo Dominic UNQUALIFIED
Izzy Q GillianRussiaAmy Elsner UNQUALIFIED
Kaitlin B GauchoIndiaOnyama Limba NEGOTIATION
Arvin I IturbideItalyAsiya Javayant PROPOSAL
Leon Q RimItalyOnyama Limba NEGOTIATION
Julie Z MaletUnited KingdomElwin Sharvill UNQUALIFIED
Morrow Q CampainFranceBernardo Dominic QUALIFIED
Kaitlin T OldroydGermanyXuxue Feng PROPOSAL
Darci W FigeroaAustraliaBernardo Dominic PROPOSAL
Stacey O SlusarskiIndiaIvan Magalhaes PROPOSAL
Greenwood A WhobreyCanadaAsiya Javayant RENEWAL
Aditya K MacleadCanadaAnna Fali NEGOTIATION
Salvatore Q NickaArgentinaBernardo Dominic QUALIFIED
Cody Z SergiIndiaAmy Elsner RENEWAL
Emily Z PaprockiRussiaElwin Sharvill PROPOSAL
Clifford X MarrierSpainXuxue Feng RENEWAL
Frozen Columns
Name
Jefferson R Figeroa
Jeanfrancois G Poquette
Aruna S Bowley
Emily M Malet
Octavia F Campain
Misaki K Stockham
Darci H Vocelka
Silvio J Kolmetz
Aditya H Albares
Murillo A Dilliard
Ricardo H Perin
Isabel V Waycott
Morrow S Briddick
Emily K Morasca
Smith I Bowley
Izzy T Albares
Munro R Maclead
Clifford N Gillian
Francesco R Inouye
Silvio I Inouye
Cody X Butt
Costa U Saylors
Jones Y Vocelka
Munro C Sergi
Izzy Z Ferencz
Darci X Paprocki
Wickens G Tollner
Misaki K Sergi
Claire J Kolmetz
Tony E Kusko
Murillo V Amigon
Antonio Y Darakjy
Kaitlin M Figeroa
Silvio O Wieser
Nicolas C Wieser
Leon G Slusarski
Greenwood G Bolognia
Cody P Royster
Wickens K Stenseth
Tony J Saylors
Mayumi Y Iturbide
Silvio E Malet
Leja I Figeroa
Murillo A Schemmer
Alejandro G Maclead
Greenwood B Nicka
Sinclair Y Morasca
Wickens R Whobrey
Kaitlin B Briddick
Greenwood H Shinko
IdCountryDate
1000France2024-06-10
1001India2024-06-19
1002Australia2024-06-15
1003Argentina2024-06-23
1004Argentina2024-06-24
1005Argentina2024-06-18
1006Canada2024-06-15
1007Brazil2024-06-17
1008India2024-06-19
1009Australia2024-06-01
1010Italy2024-05-27
1011Australia2024-06-01
1012United Kingdom2024-06-21
1013India2024-06-01
1014United Kingdom2024-06-06
1015Argentina2024-06-10
1016Germany2024-06-24
1017Brazil2024-06-03
1018Argentina2024-05-30
1019Italy2024-05-27
1020Germany2024-06-23
1021Brazil2024-06-10
1022Italy2024-06-06
1023Russia2024-06-21
1024Brazil2024-06-06
1025Germany2024-05-31
1026Italy2024-06-09
1027Brazil2024-05-29
1028India2024-06-02
1029Argentina2024-06-04
1030France2024-06-01
1031Spain2024-06-09
1032United Kingdom2024-06-04
1033Brazil2024-06-24
1034Germany2024-06-15
1035France2024-06-09
1036Japan2024-06-15
1037India2024-06-17
1038Spain2024-06-05
1039France2024-06-11
1040Argentina2024-06-15
1041Italy2024-05-29
1042Canada2024-06-10
1043France2024-06-23
1044Japan2024-06-17
1045Japan2024-06-10
1046Spain2024-06-18
1047India2024-06-23
1048Russia2024-05-30
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Izzy U Rulapaugh1000Argentina2024-06-20
Claire W Ferencz1001Australia2024-06-13
Chavez E Vocelka1002Japan2024-05-29
Greenwood L Slusarski1003Germany2024-06-24
Ashley D Butt1004Canada2024-05-31
Maria N Schemmer1005Brazil2024-06-19
Deepesh O Tollner1006Canada2024-05-30
Ashley U Glick1007Canada2024-06-17
Aruna Q Chui1008France2024-06-19
Darci V Campain1009France2024-06-14
Salvatore A Poquette1010Brazil2024-05-31
Tony R Dilliard1011France2024-06-23
Johnson Y Amigon1012Italy2024-06-01
Mujtaba U Sergi1013Spain2024-06-12
Silvio D Gaucho1014France2024-05-31
Morrow R Nestle1015United Kingdom2024-06-10
Aika N Gaucho1016United Kingdom2024-06-15
Maria J Bolognia1017Italy2024-06-23
Alejandro M Rulapaugh1018Australia2024-06-04
Leja U Bolognia1019Australia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh V VenereRussiaIoni Bowcher QUALIFIED
Costa J SlusarskiRussiaXuxue Feng PROPOSAL
Chavez G NestleRussiaAmy Elsner NEGOTIATION
Aika Z FigeroaIndiaIvan Magalhaes QUALIFIED
Deepesh K PaprockiArgentinaIoni Bowcher QUALIFIED
Adams V GillianSpainXuxue Feng QUALIFIED
Deepesh D RulapaughItalyBernardo Dominic NEW
Jennifer X GarufiSpainStephen Shaw NEGOTIATION
Antonio Y PoquetteAustraliaIvan Magalhaes NEGOTIATION
Morrow S DoeCanadaOnyama Limba PROPOSAL
Misaki I InouyeSpainAnna Fali UNQUALIFIED
David Z SchemmerItalyStephen Shaw NEGOTIATION
Cody P MaletArgentinaElwin Sharvill RENEWAL
Claire Z CaudyCanadaXuxue Feng NEW
Costa X RulapaughArgentinaAsiya Javayant UNQUALIFIED
Salvatore T OstroskyCanadaAnna Fali QUALIFIED
James F RutaAustraliaStephen Shaw RENEWAL
David O FollerUnited KingdomOnyama Limba PROPOSAL
Octavia N TollnerBrazilElwin Sharvill QUALIFIED
Julie W CaldareraCanadaIvan Magalhaes UNQUALIFIED
Claire R StensethFranceXuxue Feng UNQUALIFIED
Leon Y CaldareraCanadaBernardo Dominic PROPOSAL
Kadeem G WieserGermanyBernardo Dominic PROPOSAL
Jefferson P WhobreyBrazilBernardo Dominic NEW
Julie K AlbaresJapanOnyama Limba UNQUALIFIED
Maisha W CaldareraGermanyAnna Fali PROPOSAL
Ricardo O RoysterSpainAmy Elsner PROPOSAL
James L FigeroaJapanAnna Fali NEGOTIATION
Aika G FigeroaCanadaXuxue Feng PROPOSAL
Chavez M CampainSpainStephen Shaw NEW
Leja B GlickJapanElwin Sharvill PROPOSAL
David Z InouyeBrazilStephen Shaw UNQUALIFIED
Maisha O SaylorsIndiaAnna Fali UNQUALIFIED
Costa P CaudyRussiaBernardo Dominic PROPOSAL
David W DilliardAustraliaOnyama Limba PROPOSAL
Arvin T RoysterRussiaIvan Magalhaes PROPOSAL
Leon Z CaudyCanadaBernardo Dominic QUALIFIED
Darci P NickaUnited KingdomIvan Magalhaes QUALIFIED
Salvatore P KolmetzAustraliaAsiya Javayant QUALIFIED
Jones B MarrierArgentinaAnna Fali 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>