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
Munro F BowleyIndiaAnna Fali PROPOSAL
Salvatore E MorascaGermanyIvan Magalhaes NEW
Greenwood A WieserUnited KingdomAmy Elsner QUALIFIED
Clifford K FollerItalyStephen Shaw RENEWAL
Tony X StockhamRussiaBernardo Dominic UNQUALIFIED
Maria N AmigonIndiaOnyama Limba NEW
Rodrigues M MarrierArgentinaBernardo Dominic RENEWAL
Nicolas I SlusarskiFranceAsiya Javayant NEGOTIATION
Mujtaba O FigeroaCanadaXuxue Feng NEGOTIATION
Kadeem W MaletItalyIvan Magalhaes PROPOSAL
Jefferson N InouyeFranceXuxue Feng UNQUALIFIED
Nicolas G PoquetteIndiaXuxue Feng NEGOTIATION
Costa W MaletAustraliaElwin Sharvill QUALIFIED
Francesco C WaycottCanadaAsiya Javayant UNQUALIFIED
Johnson D FerenczBrazilBernardo Dominic RENEWAL
Jones G BologniaBrazilIoni Bowcher UNQUALIFIED
Cody F StockhamAustraliaBernardo Dominic PROPOSAL
Alejandro S SergiBrazilBernardo Dominic NEGOTIATION
Wickens U DarakjyCanadaIvan Magalhaes PROPOSAL
Leja X KuskoAustraliaIvan Magalhaes PROPOSAL
Murillo L SlusarskiBrazilIvan Magalhaes RENEWAL
Wickens X BowleyIndiaAmy Elsner NEGOTIATION
Salvatore K WaycottRussiaOnyama Limba RENEWAL
Nicolas F FerenczSpainAmy Elsner NEGOTIATION
Kaitlin W WieserBrazilAnna Fali RENEWAL
Emily W DarakjyItalyXuxue Feng RENEWAL
Cody O ShinkoArgentinaXuxue Feng NEW
Stacey G PoquetteSpainAmy Elsner PROPOSAL
Tony X VocelkaFranceAsiya Javayant QUALIFIED
Tony P MaletJapanOnyama Limba NEGOTIATION
Darci U CaldareraJapanAnna Fali PROPOSAL
Octavia O GillianRussiaElwin Sharvill NEGOTIATION
Julie A FigeroaFranceElwin Sharvill UNQUALIFIED
Julie N MarrierAustraliaElwin Sharvill UNQUALIFIED
Deepesh U StockhamUnited KingdomXuxue Feng UNQUALIFIED
Sinclair G BriddickFranceStephen Shaw NEGOTIATION
Arvin X GlickAustraliaElwin Sharvill NEW
Kaitlin J VocelkaIndiaAsiya Javayant QUALIFIED
Emily Q VenereAustraliaAnna Fali RENEWAL
Jeanfrancois N OldroydGermanyOnyama Limba PROPOSAL
Jennifer M DilliardArgentinaIoni Bowcher PROPOSAL
Juan C VocelkaFranceElwin Sharvill NEW
Rodrigues B CampainRussiaIoni Bowcher RENEWAL
David F RoysterArgentinaAsiya Javayant QUALIFIED
Leon P VocelkaCanadaAsiya Javayant RENEWAL
Ashley Q MorascaRussiaIvan Magalhaes RENEWAL
Adams M RutaCanadaOnyama Limba RENEWAL
Isabel M AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Antonio D GillianRussiaStephen Shaw RENEWAL
Emily B FerenczSpainBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire K FigeroaArgentinaElwin Sharvill UNQUALIFIED
Claire W GillianGermanyElwin Sharvill NEGOTIATION
Antonio Q AlbaresArgentinaXuxue Feng PROPOSAL
Aditya K CaldareraUnited KingdomOnyama Limba NEGOTIATION
Aruna R KolmetzAustraliaXuxue Feng NEGOTIATION
Munro M OldroydAustraliaAmy Elsner UNQUALIFIED
Murillo B DarakjyUnited KingdomElwin Sharvill QUALIFIED
Emily J SaylorsUnited KingdomAnna Fali UNQUALIFIED
Salvatore F BowleyAustraliaIoni Bowcher PROPOSAL
Kaitlin L RimFranceAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson T WaycottIndia2025-06-14Commercial Press QUALIFIED1Stephen Shaw
1001Mujtaba F OldroydBrazil2025-06-05Dorl, James J Esq QUALIFIED14Asiya Javayant
1002Antonio G AmigonAustralia2025-06-05Feltz Printing Service PROPOSAL14Elwin Sharvill
1003Kadeem Z RoysterAustralia2025-05-21Buckley Miller Wright NEW80Stephen Shaw
1004Chavez A GarufiBrazil2025-06-02Commercial Press QUALIFIED65Onyama Limba
1005Munro I RulapaughJapan2025-05-25Feiner Bros NEW19Bernardo Dominic
1006Tony M PerinCanada2025-06-11Rangoni Of Florence NEGOTIATION78Stephen Shaw
1007Kaitlin G ChuiFrance2025-05-20Chemel, James L Cpa NEGOTIATION33Ivan Magalhaes
1008Aika D FerenczSpain2025-06-01Feltz Printing Service QUALIFIED19Asiya Javayant
1009Ivar Z MorascaFrance2025-05-29Printing Dimensions PROPOSAL25Bernardo Dominic
1010Aika B StockhamUnited Kingdom2025-06-03Chapman, Ross E Esq NEGOTIATION47Bernardo Dominic
1011Jones Q CampainAustralia2025-05-30Chanay, Jeffrey A Esq QUALIFIED88Stephen Shaw
1012Octavia R PaprockiFrance2025-06-15Rousseaux, Michael Esq QUALIFIED95Bernardo Dominic
1013Emily N PerinArgentina2025-05-23Rousseaux, Michael Esq PROPOSAL46Ivan Magalhaes
1014Wickens U CaldareraRussia2025-05-30Printing Dimensions RENEWAL35Ioni Bowcher
1015Chavez H OstroskyGermany2025-05-25Benton, John B Jr RENEWAL58Amy Elsner
1016Mayumi N BowleyGermany2025-06-05Feltz Printing Service PROPOSAL0Stephen Shaw
1017Izzy R WhobreyItaly2025-05-29Chanay, Jeffrey A Esq PROPOSAL99Onyama Limba
1018Nicolas Q MaletSpain2025-05-23Dorl, James J Esq QUALIFIED5Bernardo Dominic
1019Claire N ButtIndia2025-05-24Buckley Miller Wright QUALIFIED93Ioni Bowcher
1020Maria Z IturbideIndia2025-05-31Morlong Associates QUALIFIED6Asiya Javayant
1021Faith R SlusarskiBrazil2025-05-19King, Christopher A Esq RENEWAL5Ioni Bowcher
1022Misaki H GlickSpain2025-05-31Truhlar And Truhlar Attys UNQUALIFIED70Ioni Bowcher
1023Claire J TollnerArgentina2025-06-13Feltz Printing Service RENEWAL33Anna Fali
1024Smith K MaletFrance2025-06-09Buckley Miller Wright NEW44Stephen Shaw
1025Julie D WhobreyFrance2025-06-16Feltz Printing Service NEW0Elwin Sharvill
1026David W PerinGermany2025-05-20Rangoni Of Florence NEGOTIATION89Elwin Sharvill
1027Costa E VocelkaGermany2025-05-19Morlong Associates NEGOTIATION16Amy Elsner
1028Tony T SchemmerFrance2025-06-01Chemel, James L Cpa RENEWAL65Ioni Bowcher
1029Silvio E CaldareraJapan2025-05-31Morlong Associates RENEWAL55Anna Fali
1030Octavia U ShinkoRussia2025-05-30Benton, John B Jr NEW50Anna Fali
1031Silvio Z RimGermany2025-05-28Morlong Associates RENEWAL48Anna Fali
1032Munro G KuskoFrance2025-05-27Chemel, James L Cpa NEW10Ivan Magalhaes
1033Aika X AlbaresSpain2025-06-12Chemel, James L Cpa RENEWAL63Ivan Magalhaes
1034Juan U VenereSpain2025-05-23Chanay, Jeffrey A Esq PROPOSAL24Ivan Magalhaes
1035Jones E StensethIndia2025-06-14Commercial Press RENEWAL76Bernardo Dominic
1036Jeanfrancois R IturbideIndia2025-06-10Benton, John B Jr NEGOTIATION72Stephen Shaw
1037Wickens Q BriddickItaly2025-06-10Printing Dimensions PROPOSAL98Ivan Magalhaes
1038Francesco Z WieserSpain2025-05-29Truhlar And Truhlar Attys UNQUALIFIED89Bernardo Dominic
1039Claire Z VenereUnited Kingdom2025-06-11King, Christopher A Esq QUALIFIED92Ioni Bowcher
1040Nicolas G KuskoUnited Kingdom2025-06-10Chanay, Jeffrey A Esq RENEWAL29Anna Fali
1041Greenwood A MaletCanada2025-05-21Printing Dimensions QUALIFIED58Elwin Sharvill
1042Morrow U VocelkaCanada2025-05-27Truhlar And Truhlar Attys RENEWAL26Stephen Shaw
1043Kadeem S CaudyAustralia2025-06-12King, Christopher A Esq NEGOTIATION15Anna Fali
1044Deepesh F CaudyItaly2025-06-08Chanay, Jeffrey A Esq PROPOSAL0Asiya Javayant
1045Arvin S AlbaresAustralia2025-05-26Truhlar And Truhlar Attys UNQUALIFIED4Ivan Magalhaes
1046Francesco A MorascaBrazil2025-05-22Printing Dimensions UNQUALIFIED77Xuxue Feng
1047Antonio G PerinAustralia2025-06-13Truhlar And Truhlar Attys NEW31Stephen Shaw
1048Aditya K CaudyFrance2025-05-18King, Christopher A Esq QUALIFIED51Ivan Magalhaes
1049Jennifer P InouyeUnited Kingdom2025-06-06King, Christopher A Esq UNQUALIFIED97Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa M WhobreyArgentinaBernardo Dominic NEW
Ashley R PaprockiCanadaBernardo Dominic NEW
Juan F TollnerGermanyOnyama Limba PROPOSAL
Misaki Q DarakjyFranceIoni Bowcher NEGOTIATION
Costa N MaletSpainStephen Shaw NEW
Sinclair H InouyeIndiaXuxue Feng NEGOTIATION
Wickens N DarakjyArgentinaAnna Fali NEGOTIATION
Claire A WieserGermanyXuxue Feng NEW
Maria F GillianFranceAmy Elsner QUALIFIED
Cody I ButtRussiaOnyama Limba QUALIFIED
Wickens O AlbaresGermanyAnna Fali NEGOTIATION
Kaitlin W WieserAustraliaAsiya Javayant PROPOSAL
Deepesh G FlosiCanadaStephen Shaw RENEWAL
Mujtaba B FerenczSpainIoni Bowcher NEGOTIATION
Jeanfrancois J ChuiUnited KingdomAnna Fali UNQUALIFIED
Ashley E CaldareraAustraliaIvan Magalhaes NEGOTIATION
Ashley Z RulapaughRussiaStephen Shaw PROPOSAL
Izzy L DoeIndiaOnyama Limba QUALIFIED
Ashley F SchemmerRussiaStephen Shaw QUALIFIED
Emily R FerenczAustraliaAnna Fali UNQUALIFIED
Nicolas V FlosiJapanIoni Bowcher NEGOTIATION
Greenwood S MaletJapanElwin Sharvill UNQUALIFIED
Johnson D BologniaCanadaAnna Fali PROPOSAL
Sinclair Z TollnerJapanElwin Sharvill RENEWAL
James W DilliardIndiaBernardo Dominic NEGOTIATION
Aruna C KuskoArgentinaElwin Sharvill RENEWAL
Johnson T OstroskyFranceOnyama Limba PROPOSAL
Aruna R FigeroaSpainOnyama Limba RENEWAL
Chavez H WieserGermanyElwin Sharvill NEGOTIATION
Aruna D SchemmerBrazilIoni Bowcher UNQUALIFIED
Smith Z NickaBrazilAsiya Javayant NEW
Chavez C ChuiArgentinaIvan Magalhaes PROPOSAL
Misaki S ButtUnited KingdomAmy Elsner PROPOSAL
Isabel B FlosiFranceAsiya Javayant PROPOSAL
Greenwood S ButtJapanBernardo Dominic RENEWAL
Julie P BriddickJapanXuxue Feng PROPOSAL
Misaki P SchemmerFranceAsiya Javayant NEW
Izzy A RutaBrazilIvan Magalhaes UNQUALIFIED
Arvin N PerinUnited KingdomIvan Magalhaes NEGOTIATION
Maria C ButtJapanAmy Elsner QUALIFIED
Wickens T WieserCanadaAsiya Javayant QUALIFIED
Kaitlin V MaletAustraliaAmy Elsner PROPOSAL
Mayumi W CaldareraIndiaOnyama Limba NEW
Jennifer S ShinkoSpainBernardo Dominic UNQUALIFIED
Stacey O OldroydAustraliaAsiya Javayant PROPOSAL
Kaitlin Q MacleadIndiaIoni Bowcher NEGOTIATION
Cody Q PaprockiJapanAnna Fali NEW
Chavez X VenereSpainElwin Sharvill NEGOTIATION
Tony K KuskoRussiaAmy Elsner QUALIFIED
Chavez I RutaCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Morrow S Ferencz
Julie Y Briddick
Costa S Tollner
Morrow U Venere
Silvio U Perin
Jones L Garufi
Octavia J Wieser
Isabel U Caudy
Cody L Inouye
Aika F Ruta
Jones I Stockham
Johnson V Gaucho
Ivar D Gaucho
Wickens I Glick
Leja K Saylors
Wickens Y Flosi
Misaki L Ferencz
Greenwood W Darakjy
Rodrigues C Iturbide
Clifford B Albares
Ricardo U Sergi
Kadeem N Ostrosky
Kaitlin B Gillian
Smith N Stockham
Mujtaba M Caldarera
Nicolas O Poquette
Nicolas N Foller
Arvin X Maclead
David R Tollner
Kaitlin H Sergi
Jefferson C Tollner
Izzy U Ostrosky
Deepesh M Caudy
Alejandro W Schemmer
Adams J Darakjy
James D Butt
Jeanfrancois D Gillian
Stacey G Saylors
Mayumi Q Doe
David M Figeroa
Jeanfrancois R Marrier
Jones F Perin
Johnson C Waycott
Aika M Briddick
Antonio B Vocelka
Mujtaba Z Tollner
Faith F Nicka
Tony R Marrier
Chavez F Wieser
Mayumi D Slusarski
IdCountryDate
1000Argentina2025-06-10
1001Russia2025-05-21
1002Russia2025-05-31
1003Brazil2025-06-11
1004Australia2025-05-24
1005Japan2025-06-05
1006Canada2025-06-05
1007Argentina2025-05-25
1008Australia2025-05-27
1009France2025-05-21
1010Spain2025-06-04
1011Japan2025-05-27
1012India2025-06-08
1013Argentina2025-06-07
1014Japan2025-06-09
1015Australia2025-06-07
1016Japan2025-05-26
1017Spain2025-05-21
1018Italy2025-05-29
1019Italy2025-06-04
1020Japan2025-05-29
1021Spain2025-05-30
1022Canada2025-05-24
1023France2025-06-01
1024Italy2025-06-14
1025Japan2025-05-31
1026Australia2025-06-05
1027Japan2025-06-11
1028Japan2025-06-01
1029Argentina2025-05-18
1030Germany2025-06-09
1031Germany2025-05-21
1032France2025-06-14
1033Italy2025-06-07
1034Spain2025-06-05
1035Russia2025-06-15
1036Australia2025-05-25
1037Russia2025-06-09
1038Russia2025-06-02
1039United Kingdom2025-06-14
1040France2025-05-19
1041India2025-05-19
1042India2025-05-27
1043Italy2025-06-14
1044India2025-06-04
1045United Kingdom2025-05-21
1046Italy2025-05-21
1047Russia2025-06-12
1048Spain2025-06-03
1049Brazil2025-05-22

On-Demand Data

NameIdCountryDate
Cody V Inouye1000United Kingdom2025-05-31
Mujtaba O Oldroyd1001France2025-06-09
Sinclair T Saylors1002Spain2025-05-20
Smith J Slusarski1003Argentina2025-05-30
Leon U Shinko1004Russia2025-06-06
Munro T Poquette1005Spain2025-06-11
Chavez G Bolognia1006India2025-05-23
Antonio F Campain1007Canada2025-05-30
Chavez P Rulapaugh1008Australia2025-06-02
Faith B Poquette1009Australia2025-05-29
Chavez F Waycott1010India2025-05-20
Munro T Bowley1011Brazil2025-05-30
Julie R Flosi1012Australia2025-06-04
Kaitlin E Albares1013Australia2025-06-12
Stacey L Bolognia1014Japan2025-06-12
Arvin O Stockham1015United Kingdom2025-06-06
Arvin U Malet1016France2025-06-09
Misaki A Schemmer1017Spain2025-05-24
Morrow V Perin1018Italy2025-06-12
Ivar M Flosi1019Brazil2025-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens Q SchemmerItalyIoni Bowcher NEGOTIATION
Cody X ChuiRussiaOnyama Limba PROPOSAL
Jennifer J DilliardJapanElwin Sharvill NEGOTIATION
Nicolas L RimBrazilIvan Magalhaes NEW
Aruna W ButtFranceElwin Sharvill NEW
Faith V FlosiArgentinaIvan Magalhaes NEGOTIATION
Julie S AlbaresGermanyAnna Fali QUALIFIED
Kaitlin X MaletJapanXuxue Feng QUALIFIED
Maisha B MacleadArgentinaBernardo Dominic NEW
Stacey C MorascaUnited KingdomOnyama Limba RENEWAL
Kaitlin D StensethCanadaAsiya Javayant QUALIFIED
Salvatore O CampainBrazilAnna Fali RENEWAL
Jones H MarrierUnited KingdomAmy Elsner UNQUALIFIED
Greenwood H FigeroaGermanyXuxue Feng RENEWAL
Cody A MacleadUnited KingdomAnna Fali NEGOTIATION
Adams W FollerUnited KingdomOnyama Limba QUALIFIED
Antonio R DilliardItalyIvan Magalhaes QUALIFIED
Deepesh U MaletAustraliaStephen Shaw RENEWAL
Murillo D FlosiAustraliaAsiya Javayant RENEWAL
Julie O OldroydRussiaXuxue Feng PROPOSAL
Kaitlin P FigeroaCanadaAsiya Javayant UNQUALIFIED
Isabel T BriddickFranceIoni Bowcher NEGOTIATION
Izzy Z MarrierRussiaAmy Elsner RENEWAL
Rodrigues J IturbideAustraliaIoni Bowcher NEGOTIATION
Juan Y OldroydRussiaBernardo Dominic NEGOTIATION
Aruna S VocelkaBrazilXuxue Feng UNQUALIFIED
Izzy J GlickAustraliaBernardo Dominic NEGOTIATION
Munro I OstroskySpainIoni Bowcher PROPOSAL
Salvatore B CaudyIndiaOnyama Limba NEW
Silvio E BowleyBrazilBernardo Dominic RENEWAL
Alejandro D WhobreyAustraliaElwin Sharvill UNQUALIFIED
Aruna E PoquetteJapanStephen Shaw UNQUALIFIED
Jones Z NestleItalyAsiya Javayant UNQUALIFIED
Kaitlin Q RulapaughBrazilBernardo Dominic NEGOTIATION
Stacey K RulapaughItalyBernardo Dominic PROPOSAL
Costa V MaletSpainAmy Elsner PROPOSAL
Morrow J MorascaSpainIoni Bowcher PROPOSAL
Kaitlin R InouyeRussiaAnna Fali QUALIFIED
Isabel L FerenczJapanElwin Sharvill NEGOTIATION
Jones P BologniaArgentinaBernardo Dominic 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>