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
Juan J WhobreyCanadaIoni Bowcher NEGOTIATION
Kaitlin J VenereRussiaXuxue Feng NEGOTIATION
Stacey T FlosiBrazilOnyama Limba UNQUALIFIED
Aruna Q FerenczBrazilOnyama Limba PROPOSAL
Rodrigues H PerinFranceAsiya Javayant PROPOSAL
Murillo Z FigeroaUnited KingdomStephen Shaw NEW
Salvatore Z WhobreyArgentinaOnyama Limba QUALIFIED
Salvatore B StockhamIndiaStephen Shaw NEW
Aruna E OldroydUnited KingdomElwin Sharvill RENEWAL
Cody N BriddickFranceAmy Elsner NEW
Rodrigues W SergiFranceAnna Fali NEGOTIATION
Julie B FigeroaArgentinaAnna Fali QUALIFIED
James N PoquetteIndiaBernardo Dominic RENEWAL
Jennifer P GarufiSpainAmy Elsner NEW
Leja P ShinkoCanadaStephen Shaw NEGOTIATION
Leja C StensethIndiaBernardo Dominic QUALIFIED
Tony Q OstroskyAustraliaOnyama Limba UNQUALIFIED
Juan K SlusarskiIndiaAnna Fali RENEWAL
Antonio L StensethUnited KingdomBernardo Dominic NEW
Ricardo P DoeFranceIoni Bowcher NEW
Maria G SaylorsArgentinaOnyama Limba RENEWAL
Munro Q CaudyArgentinaElwin Sharvill RENEWAL
Maria S GlickCanadaBernardo Dominic PROPOSAL
Mayumi R BologniaBrazilStephen Shaw RENEWAL
Stacey J MorascaRussiaElwin Sharvill NEW
Jeanfrancois J InouyeItalyIoni Bowcher UNQUALIFIED
Alejandro T KuskoItalyElwin Sharvill NEGOTIATION
Kadeem I WieserItalyXuxue Feng PROPOSAL
Darci J RimItalyAnna Fali PROPOSAL
Cody V BriddickArgentinaAnna Fali PROPOSAL
Jones J BologniaItalyBernardo Dominic NEGOTIATION
Darci G KolmetzRussiaAmy Elsner PROPOSAL
James A GarufiUnited KingdomOnyama Limba PROPOSAL
Kadeem J FerenczCanadaAsiya Javayant UNQUALIFIED
Jennifer V CaudySpainBernardo Dominic PROPOSAL
Kaitlin Z PerinSpainXuxue Feng QUALIFIED
Murillo W WhobreyIndiaAmy Elsner PROPOSAL
Sinclair R PerinBrazilAnna Fali UNQUALIFIED
Emily Z AlbaresCanadaIvan Magalhaes NEGOTIATION
Octavia N DoeItalyAmy Elsner UNQUALIFIED
Leon K FerenczCanadaElwin Sharvill QUALIFIED
Ashley M CampainFranceBernardo Dominic UNQUALIFIED
Johnson M CaldareraFranceBernardo Dominic UNQUALIFIED
Emily Z WieserArgentinaXuxue Feng NEGOTIATION
Octavia E StockhamUnited KingdomStephen Shaw RENEWAL
Maisha A MacleadIndiaXuxue Feng NEW
Francesco X BowleySpainIoni Bowcher UNQUALIFIED
Johnson V WhobreyGermanyXuxue Feng RENEWAL
Emily A MaletGermanyIvan Magalhaes RENEWAL
Ivar Y AmigonArgentinaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio I ButtUnited KingdomBernardo Dominic UNQUALIFIED
Morrow I WaycottSpainXuxue Feng NEW
Kadeem Q DilliardBrazilIoni Bowcher UNQUALIFIED
Jefferson D BologniaJapanAsiya Javayant RENEWAL
Smith V MaletUnited KingdomIvan Magalhaes NEGOTIATION
Juan Z VocelkaSpainElwin Sharvill PROPOSAL
Silvio Q WieserUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues D CampainUnited KingdomAmy Elsner PROPOSAL
Faith R VenereBrazilOnyama Limba PROPOSAL
Mayumi N OldroydIndiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem H FerenczUnited Kingdom2024-05-30Commercial Press QUALIFIED5Stephen Shaw
1001Izzy W FigeroaUnited Kingdom2024-05-22King, Christopher A Esq RENEWAL99Asiya Javayant
1002Juan N AlbaresItaly2024-05-31Dorl, James J Esq RENEWAL56Asiya Javayant
1003Ivar Y FerenczArgentina2024-05-14Chemel, James L Cpa NEGOTIATION64Anna Fali
1004Kaitlin I SergiArgentina2024-05-29Feiner Bros NEW25Asiya Javayant
1005Jeanfrancois W BowleyUnited Kingdom2024-05-23Buckley Miller Wright QUALIFIED7Amy Elsner
1006Johnson M VenereArgentina2024-05-30Chapman, Ross E Esq NEGOTIATION15Stephen Shaw
1007Deepesh G InouyeCanada2024-05-03Chanay, Jeffrey A Esq NEGOTIATION2Asiya Javayant
1008Claire M RimGermany2024-05-09Dorl, James J Esq RENEWAL69Bernardo Dominic
1009Isabel A DarakjyBrazil2024-05-09Rangoni Of Florence PROPOSAL98Ivan Magalhaes
1010David O MorascaGermany2024-05-04Morlong Associates UNQUALIFIED43Stephen Shaw
1011Aruna F RimGermany2024-05-20Feltz Printing Service QUALIFIED97Onyama Limba
1012Antonio I RutaUnited Kingdom2024-05-18Buckley Miller Wright QUALIFIED53Amy Elsner
1013David R NestleCanada2024-05-14Chanay, Jeffrey A Esq NEW72Ioni Bowcher
1014Maria I SlusarskiGermany2024-05-07Chemel, James L Cpa UNQUALIFIED56Anna Fali
1015Arvin Y SaylorsUnited Kingdom2024-05-17Printing Dimensions NEGOTIATION47Asiya Javayant
1016Antonio P PoquetteArgentina2024-05-19Printing Dimensions NEW17Asiya Javayant
1017Rodrigues R IturbideUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEW51Bernardo Dominic
1018Wickens Y MaletSpain2024-05-07Truhlar And Truhlar Attys PROPOSAL15Bernardo Dominic
1019Ashley B FigeroaItaly2024-05-16Feiner Bros UNQUALIFIED75Elwin Sharvill
1020Maria Q FollerIndia2024-05-15Buckley Miller Wright NEW6Stephen Shaw
1021Izzy S PoquetteCanada2024-05-29Benton, John B Jr NEGOTIATION26Ivan Magalhaes
1022Maisha B BowleyIndia2024-05-06Chanay, Jeffrey A Esq RENEWAL96Xuxue Feng
1023James U PoquetteSpain2024-05-08Chemel, James L Cpa UNQUALIFIED66Ivan Magalhaes
1024Sinclair U MaletBrazil2024-05-31Printing Dimensions RENEWAL24Ioni Bowcher
1025Ivar V BologniaBrazil2024-05-06Rousseaux, Michael Esq UNQUALIFIED89Asiya Javayant
1026Johnson R ShinkoAustralia2024-05-13Truhlar And Truhlar Attys RENEWAL15Onyama Limba
1027Salvatore X OldroydGermany2024-05-16Chemel, James L Cpa RENEWAL22Elwin Sharvill
1028Maisha Z PoquetteGermany2024-05-03Chanay, Jeffrey A Esq PROPOSAL44Onyama Limba
1029Maria U DoeRussia2024-05-25Chemel, James L Cpa PROPOSAL77Ioni Bowcher
1030Aruna R PerinCanada2024-05-13Feltz Printing Service NEGOTIATION51Asiya Javayant
1031Izzy D IturbideBrazil2024-05-16Rangoni Of Florence QUALIFIED3Bernardo Dominic
1032Maria N IturbideIndia2024-05-14Morlong Associates RENEWAL16Xuxue Feng
1033Ashley P ChuiBrazil2024-05-04Commercial Press NEW16Bernardo Dominic
1034Francesco I MarrierFrance2024-05-26Benton, John B Jr QUALIFIED8Ivan Magalhaes
1035Leon Q FigeroaItaly2024-05-27Printing Dimensions NEW36Stephen Shaw
1036Salvatore P ChuiFrance2024-05-09Feiner Bros PROPOSAL30Xuxue Feng
1037James L OstroskyAustralia2024-05-23Chapman, Ross E Esq QUALIFIED5Asiya Javayant
1038Juan R FerenczGermany2024-05-17Buckley Miller Wright PROPOSAL25Xuxue Feng
1039Isabel B DarakjyRussia2024-05-24Morlong Associates NEGOTIATION94Asiya Javayant
1040Claire B StensethSpain2024-05-03Rousseaux, Michael Esq NEGOTIATION26Anna Fali
1041Kadeem W SaylorsRussia2024-05-21Chemel, James L Cpa PROPOSAL84Anna Fali
1042Morrow Z PaprockiIndia2024-05-27Morlong Associates UNQUALIFIED71Asiya Javayant
1043Isabel M VenereAustralia2024-05-03Benton, John B Jr UNQUALIFIED19Onyama Limba
1044Deepesh S StensethAustralia2024-05-24Printing Dimensions NEW66Stephen Shaw
1045Clifford D RimRussia2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED56Ioni Bowcher
1046Ivar D NestleSpain2024-05-11Chapman, Ross E Esq NEW71Stephen Shaw
1047Rodrigues N FerenczAustralia2024-05-04Feltz Printing Service QUALIFIED85Asiya Javayant
1048Nicolas C TollnerAustralia2024-05-29Printing Dimensions NEW94Asiya Javayant
1049Chavez H ShinkoArgentina2024-05-12Dorl, James J Esq UNQUALIFIED26Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha G FigeroaFranceIoni Bowcher NEGOTIATION
Tony L PoquetteGermanyXuxue Feng NEW
Greenwood A BologniaSpainBernardo Dominic NEGOTIATION
Silvio E ButtGermanyAmy Elsner NEGOTIATION
Nicolas B CampainSpainOnyama Limba QUALIFIED
Juan B WaycottGermanyStephen Shaw PROPOSAL
Munro W GlickFranceAmy Elsner NEW
Misaki C InouyeArgentinaAmy Elsner UNQUALIFIED
Mayumi P StockhamRussiaOnyama Limba QUALIFIED
Jeanfrancois I FerenczArgentinaAsiya Javayant NEGOTIATION
Wickens T GarufiIndiaIvan Magalhaes QUALIFIED
Munro B DarakjyFranceOnyama Limba NEW
Morrow M MaletRussiaAmy Elsner UNQUALIFIED
Deepesh I RulapaughItalyAmy Elsner NEGOTIATION
Chavez T MorascaJapanIoni Bowcher UNQUALIFIED
Mujtaba V OldroydCanadaAmy Elsner NEGOTIATION
David S SchemmerIndiaIvan Magalhaes RENEWAL
Mujtaba O WaycottJapanOnyama Limba UNQUALIFIED
Munro K GarufiCanadaOnyama Limba RENEWAL
Mujtaba T PoquetteGermanyStephen Shaw NEGOTIATION
Jefferson P CampainSpainBernardo Dominic PROPOSAL
Maria U SaylorsArgentinaElwin Sharvill QUALIFIED
Wickens V GarufiCanadaAsiya Javayant PROPOSAL
Jennifer J WieserSpainAmy Elsner RENEWAL
Munro B SergiSpainBernardo Dominic NEGOTIATION
Clifford F DoeSpainIvan Magalhaes RENEWAL
Murillo M KolmetzRussiaIvan Magalhaes PROPOSAL
Sinclair J RoysterIndiaStephen Shaw QUALIFIED
Smith D VenereRussiaXuxue Feng QUALIFIED
Juan I VenereBrazilBernardo Dominic NEGOTIATION
Chavez S TollnerRussiaAmy Elsner NEW
Kadeem H FollerArgentinaOnyama Limba UNQUALIFIED
Murillo F StensethBrazilStephen Shaw QUALIFIED
Darci M PoquetteAustraliaOnyama Limba QUALIFIED
Aika Y KuskoIndiaIvan Magalhaes NEGOTIATION
Jones U AlbaresBrazilOnyama Limba NEW
Mayumi I PerinGermanyElwin Sharvill PROPOSAL
Greenwood V GlickArgentinaAsiya Javayant UNQUALIFIED
Silvio Z PoquetteItalyAnna Fali UNQUALIFIED
Julie I MaletJapanAmy Elsner UNQUALIFIED
Jones F ShinkoGermanyOnyama Limba NEGOTIATION
Jeanfrancois K RutaJapanIvan Magalhaes PROPOSAL
Ivar Z PoquetteFranceOnyama Limba NEGOTIATION
Jefferson Y GauchoIndiaOnyama Limba NEW
Deepesh U ChuiAustraliaIoni Bowcher QUALIFIED
Ricardo V CampainUnited KingdomStephen Shaw NEGOTIATION
Jennifer D AmigonArgentinaAnna Fali UNQUALIFIED
Wickens Y DoeAustraliaIoni Bowcher NEW
Claire X BriddickIndiaOnyama Limba RENEWAL
Ashley X DarakjyGermanyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Tony C Poquette
Wickens A Bolognia
Jennifer V Iturbide
Smith G Malet
Faith U Glick
Greenwood B Waycott
Nicolas T Morasca
Maria O Tollner
Ashley S Marrier
Salvatore N Nicka
Sinclair X Poquette
Juan Y Ruta
Isabel M Venere
Claire K Gaucho
Costa M Stenseth
Wickens S Butt
Ricardo C Sergi
Emily Q Caudy
Wickens F Garufi
Tony T Doe
Clifford G Caldarera
Morrow L Shinko
Cody L Ruta
Aruna D Wieser
Francesco J Gaucho
Ricardo T Glick
Rodrigues X Maclead
Arvin D Butt
Morrow Q Stockham
Jones E Kolmetz
Smith K Nestle
Aruna T Doe
Munro T Vocelka
Munro S Caudy
Jones A Inouye
Greenwood L Glick
Jeanfrancois V Gaucho
Cody B Foller
Silvio R Caldarera
Cody S Caldarera
Chavez E Sergi
Jeanfrancois O Chui
Isabel Z Figeroa
Leja U Stockham
Antonio B Doe
Aruna I Waycott
Murillo G Venere
Nicolas M Stenseth
Cody Y Vocelka
Sinclair W Paprocki
IdCountryDate
1000Argentina2024-05-21
1001United Kingdom2024-05-05
1002Russia2024-05-09
1003Spain2024-05-13
1004Spain2024-05-06
1005Brazil2024-05-20
1006Russia2024-05-28
1007Japan2024-05-05
1008Brazil2024-05-29
1009Japan2024-05-21
1010United Kingdom2024-05-02
1011Brazil2024-05-04
1012Spain2024-05-27
1013Russia2024-05-17
1014India2024-05-25
1015Canada2024-05-02
1016Argentina2024-05-07
1017Russia2024-05-27
1018Brazil2024-05-12
1019France2024-05-07
1020Australia2024-05-13
1021Japan2024-05-06
1022Germany2024-05-17
1023Australia2024-05-17
1024Russia2024-05-26
1025Canada2024-05-17
1026Canada2024-05-14
1027Spain2024-05-17
1028Russia2024-05-13
1029Russia2024-05-06
1030India2024-05-24
1031Italy2024-05-05
1032Canada2024-05-30
1033Spain2024-05-15
1034Spain2024-05-25
1035United Kingdom2024-05-08
1036Italy2024-05-12
1037Canada2024-05-23
1038United Kingdom2024-05-02
1039Russia2024-05-19
1040Brazil2024-05-03
1041Canada2024-05-06
1042Canada2024-05-24
1043Italy2024-05-03
1044Canada2024-05-26
1045India2024-05-25
1046Argentina2024-05-25
1047Spain2024-05-25
1048Japan2024-05-30
1049France2024-05-19

On-Demand Data

NameIdCountryDate
James J Vocelka1000Australia2024-05-26
Deepesh P Maclead1001Russia2024-05-28
Maria G Darakjy1002Australia2024-05-05
Izzy O Rim1003Japan2024-05-16
Munro C Caudy1004Russia2024-05-29
Maria J Nicka1005Argentina2024-05-14
Maisha D Foller1006Canada2024-05-20
Greenwood D Glick1007United Kingdom2024-05-17
Mayumi C Kusko1008France2024-05-15
Faith A Rulapaugh1009Japan2024-05-09
Sinclair Z Briddick1010India2024-05-31
Morrow R Garufi1011Canada2024-05-03
Wickens O Caudy1012Germany2024-05-26
Nicolas S Albares1013United Kingdom2024-05-28
Arvin W Nicka1014United Kingdom2024-05-25
Morrow O Bowley1015Australia2024-05-14
Greenwood Z Rulapaugh1016United Kingdom2024-05-11
Silvio Z Nicka1017Russia2024-05-13
Johnson E Marrier1018Brazil2024-05-26
Aditya X Whobrey1019Spain2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow W StensethAustraliaOnyama Limba UNQUALIFIED
Francesco M IturbideGermanyBernardo Dominic QUALIFIED
Faith W PoquetteArgentinaAmy Elsner NEW
Salvatore W RutaGermanyAmy Elsner PROPOSAL
Aditya R SergiSpainAsiya Javayant NEGOTIATION
Costa N PerinArgentinaBernardo Dominic QUALIFIED
Izzy S DoeUnited KingdomIoni Bowcher RENEWAL
Jones I DarakjyGermanyAsiya Javayant UNQUALIFIED
Alejandro K StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Juan H MaletFranceXuxue Feng PROPOSAL
Jennifer S VenereRussiaOnyama Limba QUALIFIED
Greenwood I DoeGermanyBernardo Dominic NEGOTIATION
Costa P KolmetzRussiaAmy Elsner UNQUALIFIED
Isabel H SergiUnited KingdomOnyama Limba PROPOSAL
Ricardo D PerinFranceStephen Shaw QUALIFIED
Ricardo C GillianJapanIoni Bowcher RENEWAL
Jones G BologniaFranceAsiya Javayant NEW
Murillo A WaycottBrazilStephen Shaw UNQUALIFIED
Darci J PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Antonio D BriddickUnited KingdomStephen Shaw NEW
Chavez B RoysterArgentinaStephen Shaw PROPOSAL
Wickens Y DoeGermanyXuxue Feng NEGOTIATION
Munro A InouyeSpainXuxue Feng RENEWAL
Ashley O WaycottFranceAnna Fali UNQUALIFIED
Leja Y CaudyItalyAsiya Javayant PROPOSAL
Jeanfrancois P DarakjyCanadaBernardo Dominic UNQUALIFIED
Sinclair N BologniaIndiaXuxue Feng PROPOSAL
Leja B CaldareraUnited KingdomAnna Fali PROPOSAL
Kadeem A MacleadJapanAsiya Javayant NEW
Johnson M KolmetzItalyAmy Elsner QUALIFIED
Jennifer K InouyeSpainBernardo Dominic QUALIFIED
Juan F RutaSpainStephen Shaw UNQUALIFIED
Murillo X RimFranceBernardo Dominic PROPOSAL
Isabel O PerinAustraliaElwin Sharvill UNQUALIFIED
Kaitlin S FlosiSpainAnna Fali PROPOSAL
Murillo R BriddickGermanyIvan Magalhaes PROPOSAL
Jennifer N StockhamUnited KingdomAsiya Javayant QUALIFIED
Cody I MarrierItalyElwin Sharvill NEGOTIATION
Leja W DoeUnited KingdomXuxue Feng PROPOSAL
Aruna H WhobreySpainOnyama Limba NEGOTIATION

<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>