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
Ricardo P MarrierIndiaAsiya Javayant UNQUALIFIED
Arvin Q NickaSpainAsiya Javayant PROPOSAL
Faith F StockhamFranceStephen Shaw QUALIFIED
Mujtaba E FollerJapanXuxue Feng NEGOTIATION
Emily E FlosiBrazilBernardo Dominic NEW
Isabel J RutaFranceIvan Magalhaes QUALIFIED
Arvin T PaprockiArgentinaXuxue Feng QUALIFIED
Adams U CampainFranceIvan Magalhaes NEW
Aika B FlosiAustraliaOnyama Limba RENEWAL
Silvio H PaprockiBrazilOnyama Limba PROPOSAL
Emily W GauchoAustraliaIoni Bowcher RENEWAL
Johnson Q CaudyCanadaOnyama Limba QUALIFIED
Leja Y RulapaughBrazilElwin Sharvill RENEWAL
James H WhobreyArgentinaXuxue Feng NEGOTIATION
Wickens A BowleyGermanyXuxue Feng UNQUALIFIED
Ashley Z CaldareraItalyIoni Bowcher UNQUALIFIED
Mayumi K MaletFranceIoni Bowcher QUALIFIED
Wickens O TollnerArgentinaOnyama Limba NEGOTIATION
Isabel N ButtArgentinaElwin Sharvill NEGOTIATION
Chavez B RoysterAustraliaAsiya Javayant RENEWAL
Ricardo B MarrierRussiaOnyama Limba UNQUALIFIED
Alejandro L GillianSpainAnna Fali NEGOTIATION
Aditya H RimRussiaAmy Elsner QUALIFIED
Sinclair L WieserGermanyIvan Magalhaes NEW
Jeanfrancois O NestleUnited KingdomIvan Magalhaes QUALIFIED
Octavia C ButtAustraliaOnyama Limba NEGOTIATION
Francesco K AlbaresJapanIvan Magalhaes NEGOTIATION
Chavez N OldroydBrazilBernardo Dominic QUALIFIED
Jeanfrancois Q VenereUnited KingdomElwin Sharvill UNQUALIFIED
Octavia R DarakjyIndiaElwin Sharvill NEGOTIATION
Darci O OstroskySpainOnyama Limba RENEWAL
Ricardo R CaudyAustraliaXuxue Feng QUALIFIED
Ricardo X ButtRussiaStephen Shaw NEGOTIATION
Julie Z SergiRussiaIvan Magalhaes QUALIFIED
David E TollnerArgentinaAmy Elsner QUALIFIED
Kaitlin W RimIndiaAmy Elsner PROPOSAL
Kadeem U MorascaUnited KingdomStephen Shaw UNQUALIFIED
Adams U WieserCanadaAmy Elsner NEGOTIATION
Mujtaba Z RutaFranceIoni Bowcher QUALIFIED
Wickens P RutaFranceOnyama Limba NEW
Tony Y FerenczBrazilIoni Bowcher QUALIFIED
Arvin V DilliardItalyStephen Shaw NEW
Faith Z GillianJapanAsiya Javayant QUALIFIED
Sinclair J BologniaSpainIvan Magalhaes NEW
Ivar H RutaSpainIvan Magalhaes PROPOSAL
Morrow V ShinkoFranceAsiya Javayant QUALIFIED
Octavia R MaletIndiaXuxue Feng NEW
Ivar O IturbideRussiaAmy Elsner NEGOTIATION
Ricardo Y MaletGermanyAnna Fali RENEWAL
Clifford G RoysterItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar K WieserArgentinaElwin Sharvill RENEWAL
Jennifer C FollerJapanStephen Shaw QUALIFIED
Alejandro I GillianIndiaAnna Fali UNQUALIFIED
James O CampainIndiaIoni Bowcher PROPOSAL
Aditya M DoeItalyAnna Fali PROPOSAL
Chavez T OldroydBrazilIvan Magalhaes PROPOSAL
Nicolas A InouyeSpainIvan Magalhaes PROPOSAL
Juan J MarrierFranceIvan Magalhaes QUALIFIED
Aika P NickaItalyIvan Magalhaes UNQUALIFIED
Chavez Z OldroydArgentinaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio N GillianBrazil2024-06-01Rangoni Of Florence QUALIFIED12Xuxue Feng
1001Antonio H RutaItaly2024-06-11Rangoni Of Florence NEW56Stephen Shaw
1002Ivar Q ShinkoBrazil2024-06-08Benton, John B Jr RENEWAL86Bernardo Dominic
1003Misaki C MorascaGermany2024-05-28Chemel, James L Cpa RENEWAL56Onyama Limba
1004Isabel G GillianCanada2024-06-01Chapman, Ross E Esq NEW4Ivan Magalhaes
1005Rodrigues A BologniaArgentina2024-06-15Feiner Bros QUALIFIED11Elwin Sharvill
1006Francesco Z DarakjyIndia2024-06-12Truhlar And Truhlar Attys RENEWAL21Stephen Shaw
1007Salvatore F NestleUnited Kingdom2024-05-25Dorl, James J Esq PROPOSAL58Ioni Bowcher
1008Jefferson M FollerSpain2024-06-19Chanay, Jeffrey A Esq PROPOSAL79Amy Elsner
1009Francesco M KuskoArgentina2024-06-17Printing Dimensions NEGOTIATION58Stephen Shaw
1010Nicolas J FlosiGermany2024-06-21Dorl, James J Esq NEGOTIATION88Ioni Bowcher
1011Wickens Y WaycottBrazil2024-05-24Rousseaux, Michael Esq NEGOTIATION39Elwin Sharvill
1012Alejandro I MaletArgentina2024-06-20King, Christopher A Esq PROPOSAL15Xuxue Feng
1013Maisha R FigeroaItaly2024-06-02Chapman, Ross E Esq NEGOTIATION2Elwin Sharvill
1014Chavez H AlbaresGermany2024-06-15Feltz Printing Service RENEWAL9Asiya Javayant
1015Jones Z BowleySpain2024-06-21Rangoni Of Florence RENEWAL64Bernardo Dominic
1016Ashley U AlbaresBrazil2024-06-13Rangoni Of Florence RENEWAL18Stephen Shaw
1017Nicolas P NickaGermany2024-06-09Truhlar And Truhlar Attys PROPOSAL44Stephen Shaw
1018Munro R FollerUnited Kingdom2024-05-29Chanay, Jeffrey A Esq QUALIFIED52Xuxue Feng
1019Jefferson Y StockhamUnited Kingdom2024-06-17Feltz Printing Service NEW1Ivan Magalhaes
1020Murillo O DarakjyArgentina2024-05-24Benton, John B Jr NEGOTIATION97Xuxue Feng
1021Octavia E RulapaughIndia2024-06-09Chemel, James L Cpa NEW40Anna Fali
1022Salvatore L MacleadArgentina2024-06-01Truhlar And Truhlar Attys UNQUALIFIED17Stephen Shaw
1023Costa I VocelkaAustralia2024-05-29Chanay, Jeffrey A Esq NEGOTIATION84Xuxue Feng
1024Morrow Z StockhamAustralia2024-06-04Chapman, Ross E Esq UNQUALIFIED96Asiya Javayant
1025Darci I SchemmerIndia2024-06-15Chemel, James L Cpa NEW35Ivan Magalhaes
1026Stacey B FollerAustralia2024-05-31Rousseaux, Michael Esq UNQUALIFIED7Stephen Shaw
1027Ricardo X AlbaresRussia2024-06-21Commercial Press NEW19Xuxue Feng
1028Izzy O WieserGermany2024-06-20Feiner Bros PROPOSAL84Anna Fali
1029Alejandro G DilliardRussia2024-06-13Chanay, Jeffrey A Esq QUALIFIED65Onyama Limba
1030Faith J OldroydArgentina2024-06-08Rousseaux, Michael Esq RENEWAL93Anna Fali
1031Alejandro K NestleIndia2024-06-03Chapman, Ross E Esq NEGOTIATION7Anna Fali
1032Isabel L SchemmerUnited Kingdom2024-06-19Truhlar And Truhlar Attys UNQUALIFIED98Xuxue Feng
1033Tony L KuskoItaly2024-06-21Rousseaux, Michael Esq UNQUALIFIED88Amy Elsner
1034Chavez Q ChuiCanada2024-05-27Printing Dimensions NEGOTIATION66Ioni Bowcher
1035Alejandro K FlosiRussia2024-06-11Morlong Associates UNQUALIFIED52Anna Fali
1036Octavia A InouyeUnited Kingdom2024-06-22Dorl, James J Esq QUALIFIED37Amy Elsner
1037Claire K WhobreyIndia2024-05-28Truhlar And Truhlar Attys NEW30Amy Elsner
1038Smith J FollerBrazil2024-05-28Rangoni Of Florence UNQUALIFIED90Elwin Sharvill
1039Juan Z PaprockiJapan2024-05-26Morlong Associates UNQUALIFIED37Anna Fali
1040Aika A PaprockiRussia2024-06-18Morlong Associates NEW70Asiya Javayant
1041Ashley Y CaldareraArgentina2024-06-13Buckley Miller Wright QUALIFIED98Bernardo Dominic
1042Chavez X OstroskyGermany2024-06-22King, Christopher A Esq RENEWAL92Bernardo Dominic
1043James B CaldareraIndia2024-06-06Dorl, James J Esq UNQUALIFIED91Ivan Magalhaes
1044Claire H StockhamIndia2024-06-20Commercial Press QUALIFIED39Ivan Magalhaes
1045Aika N KuskoRussia2024-06-14Chemel, James L Cpa RENEWAL1Stephen Shaw
1046Aditya M SchemmerFrance2024-06-05Truhlar And Truhlar Attys PROPOSAL1Asiya Javayant
1047Alejandro V PaprockiSpain2024-05-29Feiner Bros QUALIFIED52Xuxue Feng
1048Cody A MorascaUnited Kingdom2024-06-05Rousseaux, Michael Esq NEGOTIATION24Anna Fali
1049Smith B StockhamItaly2024-06-02Printing Dimensions NEGOTIATION36Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci Y IturbideAustraliaIvan Magalhaes NEGOTIATION
Faith Z DoeJapanAsiya Javayant RENEWAL
Adams T OstroskyItalyStephen Shaw UNQUALIFIED
Octavia D ChuiArgentinaIvan Magalhaes NEW
Ivar F KolmetzArgentinaStephen Shaw NEGOTIATION
Tony E IturbideArgentinaAnna Fali PROPOSAL
Kadeem M MarrierFranceElwin Sharvill QUALIFIED
Jefferson P WhobreyJapanXuxue Feng NEW
Aika J FollerRussiaAmy Elsner NEGOTIATION
Morrow P ButtItalyXuxue Feng PROPOSAL
Jones I KolmetzUnited KingdomAmy Elsner PROPOSAL
Alejandro D SlusarskiCanadaIvan Magalhaes NEW
Aika X MarrierSpainAmy Elsner UNQUALIFIED
Johnson S FollerFranceIvan Magalhaes NEW
Tony U InouyeSpainIvan Magalhaes NEW
Alejandro A MorascaRussiaIoni Bowcher RENEWAL
Wickens O NestleItalyIvan Magalhaes NEGOTIATION
Morrow B FigeroaSpainXuxue Feng RENEWAL
Antonio M SaylorsUnited KingdomElwin Sharvill QUALIFIED
Aditya N IturbideJapanXuxue Feng QUALIFIED
Faith X BologniaUnited KingdomXuxue Feng QUALIFIED
Leja D DoeAustraliaAmy Elsner QUALIFIED
David I ChuiUnited KingdomStephen Shaw UNQUALIFIED
Aruna H VocelkaItalyElwin Sharvill UNQUALIFIED
Claire M RimArgentinaAsiya Javayant NEGOTIATION
Francesco Q OstroskyFranceOnyama Limba UNQUALIFIED
Stacey Y CaldareraUnited KingdomAnna Fali PROPOSAL
Emily M PaprockiRussiaXuxue Feng NEGOTIATION
Nicolas X NickaIndiaBernardo Dominic NEW
Alejandro J MarrierAustraliaBernardo Dominic RENEWAL
Mujtaba Q WhobreyFranceIoni Bowcher RENEWAL
Tony G OldroydIndiaAnna Fali UNQUALIFIED
Faith R KuskoIndiaAnna Fali NEGOTIATION
Jones J WhobreyJapanStephen Shaw NEGOTIATION
Silvio R SlusarskiArgentinaOnyama Limba UNQUALIFIED
Jennifer D IturbideUnited KingdomStephen Shaw UNQUALIFIED
Octavia X DoeItalyIoni Bowcher NEW
Tony T BologniaCanadaAsiya Javayant PROPOSAL
Ashley O KuskoGermanyAnna Fali NEGOTIATION
Nicolas G VocelkaCanadaElwin Sharvill NEW
Munro I IturbideGermanyAsiya Javayant PROPOSAL
Isabel D BowleyIndiaIvan Magalhaes NEW
Ricardo A ButtRussiaOnyama Limba RENEWAL
Murillo I VocelkaUnited KingdomElwin Sharvill RENEWAL
Ricardo P IturbideRussiaElwin Sharvill PROPOSAL
Kadeem R BowleyAustraliaBernardo Dominic PROPOSAL
Antonio Y MacleadBrazilIvan Magalhaes RENEWAL
Morrow T DilliardArgentinaElwin Sharvill PROPOSAL
Emily N IturbideFranceAmy Elsner UNQUALIFIED
Chavez Y GarufiBrazilBernardo Dominic NEW
Frozen Columns
Name
Deepesh V Ferencz
Aditya D Gaucho
Ricardo O Paprocki
Silvio X Stockham
Tony B Caldarera
Smith W Royster
Aruna E Ferencz
Claire W Oldroyd
Jones O Tollner
Julie R Inouye
Cody J Malet
Claire W Amigon
Kadeem K Schemmer
Jefferson I Morasca
Chavez F Marrier
Rodrigues A Oldroyd
Izzy D Rim
Costa D Marrier
Nicolas I Wieser
Arvin J Nicka
Maisha Y Nestle
Aruna X Poquette
Costa H Dilliard
Maisha T Marrier
Leon D Malet
Nicolas V Ferencz
Mayumi S Marrier
Greenwood G Glick
Aditya D Ruta
Arvin P Schemmer
Aruna L Wieser
Juan W Ostrosky
Johnson J Perin
Isabel R Glick
Clifford D Tollner
Kaitlin Y Paprocki
Jones Z Morasca
Faith C Kusko
Aditya W Stenseth
Johnson N Garufi
Julie X Royster
Juan V Foller
Leja K Waycott
Chavez V Garufi
James I Oldroyd
Jeanfrancois U Figeroa
Arvin D Flosi
Maisha O Wieser
Octavia A Malet
Leon F Perin
IdCountryDate
1000Argentina2024-05-31
1001Argentina2024-06-19
1002Brazil2024-06-11
1003Australia2024-05-31
1004India2024-05-31
1005Japan2024-06-15
1006Canada2024-06-08
1007Spain2024-05-25
1008Spain2024-05-27
1009Canada2024-06-12
1010France2024-06-15
1011India2024-06-13
1012Australia2024-05-25
1013Australia2024-05-24
1014Brazil2024-06-15
1015Australia2024-06-15
1016Russia2024-05-28
1017Russia2024-06-05
1018Canada2024-06-13
1019Japan2024-06-22
1020Spain2024-05-27
1021Italy2024-06-12
1022Brazil2024-05-26
1023India2024-06-11
1024France2024-05-26
1025United Kingdom2024-06-12
1026Brazil2024-05-25
1027Russia2024-05-26
1028Brazil2024-06-08
1029France2024-06-07
1030Canada2024-06-03
1031Australia2024-05-27
1032Canada2024-05-25
1033United Kingdom2024-06-12
1034Australia2024-05-25
1035Australia2024-05-27
1036Brazil2024-05-26
1037Japan2024-05-24
1038France2024-06-07
1039Argentina2024-06-06
1040Russia2024-06-06
1041Russia2024-06-14
1042Russia2024-06-08
1043France2024-06-16
1044Russia2024-06-09
1045Brazil2024-05-30
1046Japan2024-06-02
1047Italy2024-06-18
1048India2024-06-08
1049Spain2024-06-15

On-Demand Data

NameIdCountryDate
Nicolas Z Sergi1000United Kingdom2024-05-24
Greenwood J Shinko1001India2024-06-10
Stacey H Tollner1002Brazil2024-05-26
Misaki X Briddick1003United Kingdom2024-05-29
Chavez G Ruta1004Argentina2024-05-28
Kaitlin V Marrier1005Canada2024-05-24
Darci C Flosi1006Australia2024-06-07
Rodrigues H Tollner1007Spain2024-06-12
Leon L Poquette1008Spain2024-06-18
Jeanfrancois A Caldarera1009Canada2024-06-17
Tony T Garufi1010Spain2024-06-13
Jefferson L Paprocki1011Spain2024-06-11
Faith B Ferencz1012Brazil2024-05-28
Octavia F Wieser1013Australia2024-06-16
Tony V Foller1014Canada2024-05-31
Johnson R Oldroyd1015Canada2024-06-06
Emily B Tollner1016Italy2024-06-11
Izzy M Morasca1017Australia2024-06-05
Kaitlin S Ostrosky1018India2024-06-03
Kaitlin U Garufi1019Russia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon K ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Chavez A KolmetzAustraliaAmy Elsner RENEWAL
Cody J FigeroaGermanyOnyama Limba PROPOSAL
Ashley U StockhamGermanyIvan Magalhaes PROPOSAL
Salvatore Y AlbaresUnited KingdomIvan Magalhaes NEW
Jennifer U BologniaJapanOnyama Limba NEGOTIATION
Johnson S StensethBrazilOnyama Limba NEW
Octavia B DarakjyArgentinaStephen Shaw QUALIFIED
Maria L VenereFranceAsiya Javayant QUALIFIED
Nicolas D BriddickArgentinaIvan Magalhaes RENEWAL
Smith H SlusarskiIndiaBernardo Dominic UNQUALIFIED
Aika M RulapaughRussiaAnna Fali QUALIFIED
David Q CaudyFranceIvan Magalhaes QUALIFIED
Morrow J BowleyAustraliaStephen Shaw PROPOSAL
Rodrigues L WieserCanadaAsiya Javayant RENEWAL
Jennifer Q CaldareraItalyBernardo Dominic NEGOTIATION
Juan N FerenczGermanyStephen Shaw NEW
Silvio Q VenereBrazilIoni Bowcher UNQUALIFIED
Ivar U GarufiCanadaElwin Sharvill NEW
Arvin K BriddickJapanAmy Elsner RENEWAL
Jones T VocelkaJapanOnyama Limba NEW
Morrow G CaudyCanadaAnna Fali RENEWAL
Izzy X RutaBrazilAnna Fali QUALIFIED
Emily O SchemmerJapanAsiya Javayant NEW
Chavez C StensethRussiaAsiya Javayant UNQUALIFIED
Ricardo F RoysterJapanStephen Shaw UNQUALIFIED
Kadeem D AlbaresIndiaIoni Bowcher QUALIFIED
Rodrigues S CampainSpainXuxue Feng QUALIFIED
Francesco F ShinkoJapanOnyama Limba UNQUALIFIED
Mayumi Z SergiGermanyIoni Bowcher NEGOTIATION
Juan B NestleArgentinaElwin Sharvill NEW
Darci G DilliardCanadaElwin Sharvill QUALIFIED
Isabel T FlosiSpainIvan Magalhaes UNQUALIFIED
Rodrigues Y ChuiFranceOnyama Limba QUALIFIED
Faith W DarakjyArgentinaElwin Sharvill QUALIFIED
Antonio B MarrierItalyElwin Sharvill NEW
Claire N RimArgentinaElwin Sharvill QUALIFIED
Nicolas H PoquetteArgentinaStephen Shaw QUALIFIED
Maisha D BologniaRussiaOnyama Limba QUALIFIED
Clifford J CaudyItalyElwin Sharvill 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>