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
Sinclair L GauchoJapanAnna Fali RENEWAL
Alejandro Z StockhamAustraliaIoni Bowcher NEGOTIATION
Izzy R DoeBrazilIoni Bowcher NEW
Greenwood L MacleadUnited KingdomAsiya Javayant NEGOTIATION
Maria P MarrierUnited KingdomAsiya Javayant RENEWAL
Nicolas J InouyeGermanyXuxue Feng UNQUALIFIED
Jones P FigeroaArgentinaAmy Elsner UNQUALIFIED
Nicolas V FlosiJapanIoni Bowcher UNQUALIFIED
Smith W CaudyJapanIvan Magalhaes PROPOSAL
Johnson I FigeroaUnited KingdomAmy Elsner PROPOSAL
Aruna P ShinkoBrazilOnyama Limba UNQUALIFIED
Ashley K MaletJapanAnna Fali QUALIFIED
Sinclair R VenereRussiaXuxue Feng UNQUALIFIED
Aika B InouyeAustraliaOnyama Limba PROPOSAL
Munro H RulapaughUnited KingdomElwin Sharvill NEW
Leon W WhobreyUnited KingdomElwin Sharvill PROPOSAL
Chavez P VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Julie X WhobreyCanadaStephen Shaw UNQUALIFIED
Salvatore N FlosiItalyIoni Bowcher NEW
Greenwood X AlbaresItalyIvan Magalhaes NEW
Izzy M VocelkaGermanyXuxue Feng QUALIFIED
Emily Z GillianFranceXuxue Feng NEGOTIATION
Emily W WhobreyItalyStephen Shaw PROPOSAL
Chavez R FerenczRussiaAnna Fali NEW
Ivar Q WhobreyIndiaIoni Bowcher PROPOSAL
Costa O TollnerJapanStephen Shaw UNQUALIFIED
Faith H FollerRussiaElwin Sharvill UNQUALIFIED
Faith M WhobreyItalyXuxue Feng PROPOSAL
Kadeem F MaletGermanyAsiya Javayant NEGOTIATION
Ricardo Y VocelkaUnited KingdomIoni Bowcher RENEWAL
Faith N RulapaughCanadaOnyama Limba NEGOTIATION
Mujtaba G FollerArgentinaElwin Sharvill PROPOSAL
Morrow O GillianJapanXuxue Feng NEGOTIATION
Murillo I RulapaughItalyAnna Fali NEW
Mayumi K DarakjyUnited KingdomAmy Elsner QUALIFIED
Smith M SchemmerFranceAmy Elsner QUALIFIED
Ashley N MacleadCanadaBernardo Dominic NEGOTIATION
Octavia B PoquetteBrazilIoni Bowcher NEW
Munro T SlusarskiFranceBernardo Dominic NEGOTIATION
Isabel W OstroskyAustraliaBernardo Dominic UNQUALIFIED
Nicolas T MaletIndiaXuxue Feng PROPOSAL
James I RimBrazilAsiya Javayant RENEWAL
James D MorascaIndiaXuxue Feng QUALIFIED
Misaki V RoysterGermanyIvan Magalhaes NEW
Maria V StensethRussiaIvan Magalhaes NEW
Faith E VenereArgentinaIvan Magalhaes QUALIFIED
Kadeem K StensethAustraliaStephen Shaw NEGOTIATION
Maisha O CaudyArgentinaAsiya Javayant NEGOTIATION
Jennifer A PaprockiJapanBernardo Dominic NEW
Maria J NickaCanadaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey C GlickAustraliaStephen Shaw QUALIFIED
Chavez O TollnerJapanBernardo Dominic QUALIFIED
Adams E BriddickRussiaXuxue Feng QUALIFIED
Costa Z BriddickItalyStephen Shaw NEW
Ashley V GlickArgentinaAmy Elsner RENEWAL
Francesco H MaletArgentinaAsiya Javayant RENEWAL
Aruna C DoeUnited KingdomElwin Sharvill UNQUALIFIED
Antonio V FollerAustraliaAmy Elsner QUALIFIED
Chavez Y CampainIndiaAnna Fali RENEWAL
Smith U RulapaughCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro D GauchoBrazil2024-06-18Chanay, Jeffrey A Esq QUALIFIED61Amy Elsner
1001Maria T VenereCanada2024-06-10Feiner Bros QUALIFIED37Elwin Sharvill
1002Maisha X PoquetteSpain2024-06-14Feltz Printing Service QUALIFIED99Xuxue Feng
1003Ricardo E MaletItaly2024-06-15Feltz Printing Service QUALIFIED59Amy Elsner
1004Alejandro R RimGermany2024-05-31Chapman, Ross E Esq QUALIFIED84Amy Elsner
1005Smith Q IturbideBrazil2024-06-05Feiner Bros NEGOTIATION45Amy Elsner
1006Maria I RulapaughCanada2024-06-16King, Christopher A Esq NEW19Elwin Sharvill
1007Jennifer O RimGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL74Xuxue Feng
1008Aditya M MacleadSpain2024-06-04Truhlar And Truhlar Attys NEW50Xuxue Feng
1009Greenwood W BologniaArgentina2024-06-20Morlong Associates UNQUALIFIED28Xuxue Feng
1010Claire T FigeroaIndia2024-06-15Feltz Printing Service NEGOTIATION35Ioni Bowcher
1011Julie L RoysterArgentina2024-05-25Benton, John B Jr PROPOSAL52Onyama Limba
1012Cody C PaprockiRussia2024-06-14Rangoni Of Florence NEGOTIATION93Bernardo Dominic
1013Kaitlin Y CampainIndia2024-05-26Buckley Miller Wright RENEWAL73Amy Elsner
1014Munro F GauchoAustralia2024-05-26Feltz Printing Service QUALIFIED56Stephen Shaw
1015Jones F KuskoJapan2024-06-01Buckley Miller Wright NEGOTIATION96Amy Elsner
1016Francesco C CaudyIndia2024-06-15King, Christopher A Esq NEW80Xuxue Feng
1017Jefferson K DilliardGermany2024-06-08Feltz Printing Service PROPOSAL96Asiya Javayant
1018Johnson A TollnerGermany2024-06-12Chanay, Jeffrey A Esq NEGOTIATION82Ioni Bowcher
1019Costa L GauchoBrazil2024-06-02Chemel, James L Cpa RENEWAL30Stephen Shaw
1020Johnson L NestleUnited Kingdom2024-06-04Rangoni Of Florence NEW89Ivan Magalhaes
1021Greenwood C VenereUnited Kingdom2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED32Bernardo Dominic
1022Arvin N AlbaresBrazil2024-06-03Chanay, Jeffrey A Esq NEGOTIATION46Anna Fali
1023Wickens E BriddickIndia2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED89Ioni Bowcher
1024Nicolas V BowleyArgentina2024-06-20Rousseaux, Michael Esq RENEWAL3Xuxue Feng
1025Kadeem X DoeIndia2024-05-30Printing Dimensions NEGOTIATION35Stephen Shaw
1026Smith H AmigonFrance2024-06-09Printing Dimensions NEGOTIATION16Ioni Bowcher
1027Octavia G CaudyItaly2024-06-10Truhlar And Truhlar Attys RENEWAL16Xuxue Feng
1028Cody M GillianItaly2024-06-08Rousseaux, Michael Esq PROPOSAL14Amy Elsner
1029Jones M MaletUnited Kingdom2024-06-20Truhlar And Truhlar Attys RENEWAL94Stephen Shaw
1030David W CampainBrazil2024-05-30King, Christopher A Esq NEGOTIATION83Amy Elsner
1031Jones F PerinIndia2024-05-30Buckley Miller Wright QUALIFIED35Elwin Sharvill
1032Murillo X RoysterSpain2024-05-31Rangoni Of Florence NEW99Asiya Javayant
1033Clifford F MaletUnited Kingdom2024-06-19Rousseaux, Michael Esq NEGOTIATION85Stephen Shaw
1034Octavia V MacleadBrazil2024-06-14Feltz Printing Service RENEWAL1Xuxue Feng
1035Kadeem I StockhamArgentina2024-06-22Benton, John B Jr QUALIFIED77Elwin Sharvill
1036Darci O SchemmerAustralia2024-05-29King, Christopher A Esq RENEWAL83Asiya Javayant
1037Arvin K DoeJapan2024-06-05Dorl, James J Esq NEGOTIATION51Onyama Limba
1038Faith T MorascaJapan2024-06-21Chemel, James L Cpa QUALIFIED80Amy Elsner
1039Leon Y ShinkoGermany2024-06-22Rangoni Of Florence RENEWAL1Bernardo Dominic
1040Cody O BriddickItaly2024-06-01Rangoni Of Florence UNQUALIFIED31Ivan Magalhaes
1041Morrow T CaldareraSpain2024-06-20Buckley Miller Wright NEW13Xuxue Feng
1042Mayumi E GauchoBrazil2024-06-12Feiner Bros UNQUALIFIED60Amy Elsner
1043Octavia B ChuiIndia2024-06-22Printing Dimensions NEGOTIATION30Bernardo Dominic
1044Ashley W CaldareraFrance2024-06-07King, Christopher A Esq RENEWAL38Bernardo Dominic
1045Adams I DilliardBrazil2024-06-20Dorl, James J Esq NEGOTIATION12Stephen Shaw
1046Claire O OldroydRussia2024-06-02Chanay, Jeffrey A Esq RENEWAL5Stephen Shaw
1047Wickens O ChuiJapan2024-06-13Chemel, James L Cpa QUALIFIED57Ioni Bowcher
1048Smith K TollnerSpain2024-06-18Dorl, James J Esq NEW60Xuxue Feng
1049Stacey P SlusarskiIndia2024-05-28King, Christopher A Esq RENEWAL51Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha W InouyeUnited KingdomAmy Elsner NEW
Jones P SchemmerRussiaStephen Shaw QUALIFIED
Tony V KolmetzUnited KingdomXuxue Feng RENEWAL
Nicolas G IturbideSpainOnyama Limba NEW
Maria S BowleyGermanyIvan Magalhaes UNQUALIFIED
Salvatore I DarakjyUnited KingdomAmy Elsner NEW
Smith M SaylorsArgentinaOnyama Limba RENEWAL
Mayumi Z SlusarskiSpainAmy Elsner NEGOTIATION
Deepesh G StensethArgentinaElwin Sharvill PROPOSAL
Jennifer G SaylorsGermanyAnna Fali QUALIFIED
Aruna K SergiJapanAnna Fali RENEWAL
Munro I RimSpainXuxue Feng UNQUALIFIED
Salvatore D OldroydUnited KingdomBernardo Dominic PROPOSAL
Leja U MacleadBrazilBernardo Dominic RENEWAL
Jennifer D FlosiCanadaIvan Magalhaes RENEWAL
Mayumi V GillianRussiaBernardo Dominic QUALIFIED
Tony Q DarakjyRussiaElwin Sharvill QUALIFIED
Kadeem N GillianItalyElwin Sharvill PROPOSAL
Silvio L BowleyGermanyAmy Elsner PROPOSAL
Deepesh L SchemmerIndiaElwin Sharvill NEGOTIATION
Aruna H MorascaItalyIvan Magalhaes UNQUALIFIED
Ivar W OldroydRussiaAnna Fali NEW
Sinclair I DilliardSpainOnyama Limba UNQUALIFIED
Deepesh C MaletFranceAmy Elsner NEW
Wickens C ChuiCanadaOnyama Limba NEGOTIATION
Kaitlin G SchemmerItalyAsiya Javayant UNQUALIFIED
Arvin R CaudyFranceOnyama Limba UNQUALIFIED
Octavia O AlbaresItalyElwin Sharvill RENEWAL
Maisha V FollerCanadaStephen Shaw NEW
Antonio N RulapaughArgentinaAnna Fali UNQUALIFIED
Claire V BowleyItalyAmy Elsner NEGOTIATION
Alejandro L StockhamItalyElwin Sharvill RENEWAL
Mayumi O FerenczItalyIoni Bowcher UNQUALIFIED
Izzy M WhobreyUnited KingdomIoni Bowcher PROPOSAL
Morrow K DoeArgentinaAnna Fali UNQUALIFIED
Juan F ButtBrazilBernardo Dominic NEGOTIATION
Munro D SchemmerItalyElwin Sharvill NEW
Clifford K GillianJapanAsiya Javayant NEGOTIATION
Arvin L RulapaughAustraliaAsiya Javayant UNQUALIFIED
Kaitlin I BriddickBrazilElwin Sharvill RENEWAL
James O KuskoCanadaAsiya Javayant QUALIFIED
Morrow V WaycottAustraliaAnna Fali NEGOTIATION
Tony G PerinSpainIoni Bowcher PROPOSAL
Ricardo I RoysterRussiaAnna Fali QUALIFIED
Jones I FerenczGermanyAnna Fali PROPOSAL
Ricardo S BriddickAustraliaIvan Magalhaes NEW
Rodrigues S BriddickCanadaIoni Bowcher QUALIFIED
Aditya Q SergiJapanIvan Magalhaes QUALIFIED
Costa C RimAustraliaIvan Magalhaes QUALIFIED
Leja P MarrierAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Maria B Maclead
Aruna Z Maclead
Nicolas U Ruta
Antonio H Tollner
Munro F Doe
Faith Y Ferencz
Adams P Royster
Morrow F Venere
Faith D Oldroyd
Jeanfrancois G Figeroa
Greenwood F Oldroyd
Mayumi Z Ostrosky
Faith U Malet
Cody S Oldroyd
Wickens D Garufi
Nicolas N Stenseth
Cody X Whobrey
Clifford V Marrier
Ivar W Gaucho
Darci Q Gaucho
Emily Q Gillian
Misaki A Caudy
Leon T Stenseth
Costa Q Stenseth
Izzy K Kusko
Antonio F Chui
Wickens N Venere
Jennifer I Campain
Isabel V Stenseth
Cody T Poquette
Wickens N Doe
Juan R Stockham
Ivar G Garufi
Octavia A Bowley
Munro H Caldarera
Mujtaba I Caldarera
Juan C Stockham
Maisha D Figeroa
Leon V Bolognia
Mujtaba O Caldarera
Ivar Q Foller
Murillo U Maclead
Tony C Campain
Salvatore Q Flosi
Cody I Butt
Antonio M Schemmer
Jones W Kolmetz
Ashley M Ostrosky
Stacey A Caudy
Claire Z Royster
IdCountryDate
1000Japan2024-06-13
1001Germany2024-06-11
1002Russia2024-06-07
1003Russia2024-06-21
1004India2024-06-18
1005Germany2024-06-19
1006Spain2024-06-07
1007Spain2024-06-02
1008United Kingdom2024-06-15
1009Spain2024-05-29
1010United Kingdom2024-05-29
1011Spain2024-05-25
1012Argentina2024-06-09
1013France2024-06-09
1014Argentina2024-06-01
1015United Kingdom2024-06-07
1016Germany2024-06-01
1017Russia2024-06-19
1018Brazil2024-06-13
1019Argentina2024-06-08
1020Australia2024-06-04
1021India2024-06-21
1022Australia2024-06-13
1023France2024-06-12
1024Russia2024-06-04
1025Russia2024-05-27
1026Japan2024-06-09
1027United Kingdom2024-05-28
1028Canada2024-06-17
1029Canada2024-05-29
1030United Kingdom2024-05-28
1031Canada2024-06-17
1032Russia2024-06-22
1033United Kingdom2024-06-10
1034Australia2024-05-27
1035Canada2024-06-10
1036Germany2024-05-31
1037Australia2024-05-27
1038Russia2024-06-07
1039Spain2024-05-27
1040Germany2024-05-28
1041Russia2024-06-04
1042Argentina2024-06-21
1043Russia2024-06-04
1044France2024-05-30
1045Russia2024-05-30
1046Australia2024-06-05
1047India2024-06-07
1048France2024-06-02
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Mujtaba F Inouye1000Russia2024-06-12
Adams U Chui1001Italy2024-06-21
Jeanfrancois P Kolmetz1002Argentina2024-05-27
Isabel B Albares1003Argentina2024-05-30
Octavia F Nicka1004Germany2024-06-18
Jennifer N Ostrosky1005Japan2024-06-03
Jennifer S Kolmetz1006Canada2024-06-21
Sinclair K Paprocki1007Argentina2024-06-19
Arvin B Figeroa1008Australia2024-06-13
Juan B Rulapaugh1009Australia2024-05-29
Aika S Flosi1010Japan2024-06-12
Mujtaba Z Kolmetz1011Germany2024-06-17
Leon B Foller1012Brazil2024-05-31
Maisha B Vocelka1013Japan2024-06-04
Kadeem E Amigon1014France2024-06-21
Izzy E Chui1015France2024-05-31
Misaki Y Perin1016Canada2024-06-20
Ivar K Whobrey1017Russia2024-06-12
David K Whobrey1018United Kingdom2024-06-09
Mayumi C Foller1019United Kingdom2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Q CampainCanadaAmy Elsner NEW
Ricardo G KuskoFranceOnyama Limba NEGOTIATION
Isabel Q BowleyArgentinaStephen Shaw NEGOTIATION
Leon P StockhamArgentinaOnyama Limba UNQUALIFIED
Deepesh S SchemmerRussiaIoni Bowcher QUALIFIED
Smith A ShinkoBrazilIoni Bowcher UNQUALIFIED
Costa C GlickFranceOnyama Limba NEGOTIATION
Stacey F CampainIndiaAnna Fali PROPOSAL
Costa O NestleIndiaIvan Magalhaes UNQUALIFIED
Darci B GlickBrazilBernardo Dominic PROPOSAL
Jones A KolmetzBrazilElwin Sharvill PROPOSAL
Mayumi K RimIndiaAsiya Javayant UNQUALIFIED
Isabel O OstroskyArgentinaElwin Sharvill NEW
Maisha E FlosiIndiaAmy Elsner QUALIFIED
Stacey D BriddickAustraliaStephen Shaw NEGOTIATION
Jennifer X DilliardArgentinaAnna Fali RENEWAL
Aika Q RoysterAustraliaAsiya Javayant UNQUALIFIED
Munro W StockhamIndiaAmy Elsner PROPOSAL
Jennifer Q IturbideRussiaXuxue Feng NEW
Johnson B AmigonUnited KingdomStephen Shaw NEGOTIATION
Ricardo B KuskoBrazilElwin Sharvill NEW
Leon Y KolmetzJapanIoni Bowcher NEGOTIATION
Clifford G SchemmerJapanOnyama Limba UNQUALIFIED
Misaki N BriddickItalyBernardo Dominic UNQUALIFIED
Mujtaba I DilliardRussiaIvan Magalhaes RENEWAL
Faith N ChuiBrazilBernardo Dominic RENEWAL
Morrow U ShinkoAustraliaIoni Bowcher UNQUALIFIED
Murillo B FlosiSpainBernardo Dominic PROPOSAL
Clifford C BriddickFranceIoni Bowcher UNQUALIFIED
Emily R TollnerItalyIoni Bowcher UNQUALIFIED
Antonio T GauchoAustraliaIoni Bowcher RENEWAL
Kadeem K RimJapanAnna Fali UNQUALIFIED
Kaitlin G RulapaughItalyBernardo Dominic QUALIFIED
Munro C PoquetteGermanyBernardo Dominic RENEWAL
Maisha V VocelkaArgentinaAmy Elsner QUALIFIED
Jones F InouyeArgentinaElwin Sharvill NEW
Francesco O PerinJapanElwin Sharvill NEGOTIATION
Darci U DoeUnited KingdomXuxue Feng NEW
Jennifer F NestleSpainAmy Elsner RENEWAL
Ricardo U BowleyItalyStephen Shaw 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>