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
Antonio J CaudyArgentinaElwin Sharvill RENEWAL
Izzy M StockhamBrazilIvan Magalhaes RENEWAL
Rodrigues L MarrierBrazilAsiya Javayant NEGOTIATION
Greenwood F WhobreyItalyAsiya Javayant UNQUALIFIED
Ivar R SchemmerGermanyAnna Fali PROPOSAL
Claire I CaudySpainIvan Magalhaes UNQUALIFIED
Maria T PerinCanadaBernardo Dominic RENEWAL
Rodrigues Z RoysterAustraliaStephen Shaw UNQUALIFIED
Julie S RoysterFranceIoni Bowcher RENEWAL
Juan D IturbideItalyStephen Shaw QUALIFIED
Mujtaba I ButtAustraliaAmy Elsner NEGOTIATION
Arvin G ShinkoIndiaElwin Sharvill NEW
Costa R FlosiCanadaOnyama Limba NEGOTIATION
Jefferson D DarakjyJapanAmy Elsner QUALIFIED
Greenwood Z WhobreySpainIvan Magalhaes NEW
Wickens H MaletArgentinaElwin Sharvill RENEWAL
Juan L PoquetteItalyIvan Magalhaes RENEWAL
Antonio V WhobreyGermanyIvan Magalhaes NEW
David I IturbideBrazilIoni Bowcher NEW
Faith Y FerenczUnited KingdomXuxue Feng QUALIFIED
Ivar F SlusarskiRussiaElwin Sharvill NEW
Mujtaba Y MaletGermanyXuxue Feng NEW
Misaki B AlbaresSpainAmy Elsner NEGOTIATION
Octavia Q WieserJapanStephen Shaw NEGOTIATION
Maisha S ShinkoRussiaBernardo Dominic PROPOSAL
Izzy G RulapaughGermanyAsiya Javayant RENEWAL
Octavia F ChuiIndiaIoni Bowcher NEGOTIATION
Mujtaba P MarrierSpainAnna Fali NEGOTIATION
Jones H FollerAustraliaOnyama Limba RENEWAL
Aditya K ChuiUnited KingdomAsiya Javayant PROPOSAL
Sinclair T AmigonArgentinaBernardo Dominic RENEWAL
Julie B DarakjyBrazilStephen Shaw PROPOSAL
Francesco I KolmetzGermanyIvan Magalhaes RENEWAL
Aditya J MarrierCanadaAsiya Javayant QUALIFIED
Izzy I GillianCanadaBernardo Dominic RENEWAL
Emily U RoysterRussiaIvan Magalhaes NEW
Tony F KuskoJapanStephen Shaw NEGOTIATION
David A GauchoJapanAsiya Javayant QUALIFIED
Jeanfrancois M SchemmerBrazilAmy Elsner NEW
Chavez C PoquetteUnited KingdomOnyama Limba QUALIFIED
Sinclair V GarufiBrazilAsiya Javayant NEGOTIATION
Misaki Q CampainItalyStephen Shaw PROPOSAL
Mujtaba J WaycottRussiaElwin Sharvill UNQUALIFIED
James W FerenczIndiaOnyama Limba PROPOSAL
Kaitlin C RulapaughGermanyAsiya Javayant RENEWAL
Emily A BriddickGermanyAnna Fali NEW
Misaki N GauchoItalyStephen Shaw RENEWAL
Murillo R OstroskyJapanAmy Elsner QUALIFIED
Misaki K ShinkoGermanyAsiya Javayant RENEWAL
Adams N DoeGermanyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria I InouyeCanadaAmy Elsner RENEWAL
Leja Y DilliardRussiaIvan Magalhaes RENEWAL
Deepesh K FlosiArgentinaIoni Bowcher NEW
Tony S MorascaUnited KingdomBernardo Dominic RENEWAL
Greenwood B CaldareraSpainStephen Shaw PROPOSAL
Cody T BriddickAustraliaAsiya Javayant NEW
Morrow J GlickAustraliaElwin Sharvill NEGOTIATION
Silvio S DilliardGermanyIvan Magalhaes UNQUALIFIED
Salvatore U SergiSpainIoni Bowcher RENEWAL
Maisha L BowleyFranceIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Q TollnerArgentina2024-05-21Commercial Press RENEWAL18Anna Fali
1001Aditya B DoeFrance2024-06-12Chapman, Ross E Esq NEW46Anna Fali
1002Isabel X CampainIndia2024-05-21Dorl, James J Esq UNQUALIFIED52Ioni Bowcher
1003Misaki L DarakjyRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION59Elwin Sharvill
1004Aditya I WaycottBrazil2024-06-05Rousseaux, Michael Esq PROPOSAL38Anna Fali
1005Deepesh D WieserAustralia2024-06-04Chapman, Ross E Esq QUALIFIED50Bernardo Dominic
1006Rodrigues U TollnerItaly2024-05-22Dorl, James J Esq NEGOTIATION19Stephen Shaw
1007Alejandro O MacleadUnited Kingdom2024-05-25Printing Dimensions QUALIFIED92Onyama Limba
1008Isabel X VenereUnited Kingdom2024-06-01Chemel, James L Cpa PROPOSAL84Bernardo Dominic
1009Morrow Z RoysterSpain2024-06-05Rousseaux, Michael Esq RENEWAL40Anna Fali
1010Deepesh T RimAustralia2024-06-07Chapman, Ross E Esq UNQUALIFIED30Ivan Magalhaes
1011Greenwood J RutaRussia2024-06-12Feltz Printing Service PROPOSAL70Elwin Sharvill
1012Kadeem K CaudySpain2024-05-31Feltz Printing Service RENEWAL86Elwin Sharvill
1013Murillo J MaletJapan2024-05-20King, Christopher A Esq UNQUALIFIED47Amy Elsner
1014Francesco H GlickItaly2024-06-09Feltz Printing Service RENEWAL94Asiya Javayant
1015Jeanfrancois B MaletJapan2024-06-08Feltz Printing Service PROPOSAL78Bernardo Dominic
1016Ivar U MaletGermany2024-05-26Buckley Miller Wright UNQUALIFIED86Onyama Limba
1017Faith F VocelkaRussia2024-05-27Chemel, James L Cpa PROPOSAL89Asiya Javayant
1018Ashley J RoysterArgentina2024-05-26King, Christopher A Esq NEW54Ioni Bowcher
1019Claire B KuskoFrance2024-06-05Chapman, Ross E Esq NEW87Xuxue Feng
1020Jefferson Q MarrierBrazil2024-05-29Chemel, James L Cpa NEGOTIATION48Ioni Bowcher
1021Ashley I VocelkaAustralia2024-05-22Printing Dimensions QUALIFIED17Bernardo Dominic
1022Wickens P NickaItaly2024-05-20Truhlar And Truhlar Attys NEGOTIATION35Anna Fali
1023Wickens R KolmetzItaly2024-05-21Truhlar And Truhlar Attys QUALIFIED47Bernardo Dominic
1024Antonio Y SchemmerUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION26Anna Fali
1025Adams D SchemmerUnited Kingdom2024-05-19Feltz Printing Service NEW50Stephen Shaw
1026Kaitlin J VocelkaRussia2024-06-02Rousseaux, Michael Esq NEW24Ioni Bowcher
1027Kadeem G StensethFrance2024-06-02Chanay, Jeffrey A Esq NEW71Elwin Sharvill
1028Mayumi D RimUnited Kingdom2024-06-07Commercial Press NEGOTIATION96Onyama Limba
1029Murillo L ChuiIndia2024-06-05Printing Dimensions UNQUALIFIED24Stephen Shaw
1030Arvin Q ChuiFrance2024-06-08Rangoni Of Florence UNQUALIFIED96Anna Fali
1031Ivar C DoeItaly2024-05-24Benton, John B Jr QUALIFIED13Bernardo Dominic
1032Deepesh N AlbaresItaly2024-06-03Commercial Press RENEWAL95Asiya Javayant
1033James N FollerItaly2024-06-12Printing Dimensions NEGOTIATION10Anna Fali
1034Nicolas M RutaRussia2024-05-22Benton, John B Jr UNQUALIFIED28Ivan Magalhaes
1035Mujtaba Q FigeroaJapan2024-06-02Morlong Associates PROPOSAL0Stephen Shaw
1036Deepesh A SchemmerRussia2024-06-09Chemel, James L Cpa NEGOTIATION59Amy Elsner
1037Mujtaba Q RutaBrazil2024-06-09Printing Dimensions NEGOTIATION39Amy Elsner
1038Salvatore D ShinkoSpain2024-06-13Printing Dimensions UNQUALIFIED48Bernardo Dominic
1039Jones C PaprockiFrance2024-06-09Chemel, James L Cpa RENEWAL47Xuxue Feng
1040Jennifer P WaycottBrazil2024-05-19Morlong Associates NEW38Stephen Shaw
1041Greenwood Q FlosiFrance2024-05-25Morlong Associates QUALIFIED25Anna Fali
1042Aruna Y AlbaresAustralia2024-05-27Feltz Printing Service NEGOTIATION65Anna Fali
1043Murillo M KuskoGermany2024-06-02Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
1044Misaki V FerenczArgentina2024-06-01Benton, John B Jr NEGOTIATION16Xuxue Feng
1045Silvio U FollerJapan2024-06-03Rousseaux, Michael Esq NEGOTIATION5Bernardo Dominic
1046Izzy D DarakjyBrazil2024-05-31Rousseaux, Michael Esq RENEWAL87Amy Elsner
1047Julie Q VenereSpain2024-05-20Feiner Bros QUALIFIED81Xuxue Feng
1048Jones E IturbideBrazil2024-05-22Chemel, James L Cpa PROPOSAL17Xuxue Feng
1049Silvio Z MarrierSpain2024-06-12Chapman, Ross E Esq RENEWAL66Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya B ChuiUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba J KuskoGermanyStephen Shaw RENEWAL
Jones Y PaprockiItalyAnna Fali NEW
Francesco W MarrierJapanBernardo Dominic RENEWAL
Salvatore F MacleadBrazilIvan Magalhaes QUALIFIED
Izzy T PoquetteUnited KingdomAnna Fali PROPOSAL
Ricardo M WaycottGermanyOnyama Limba NEGOTIATION
Isabel V FigeroaBrazilXuxue Feng NEW
Tony N ChuiRussiaIvan Magalhaes QUALIFIED
Isabel H PaprockiCanadaElwin Sharvill PROPOSAL
Murillo J VenereCanadaElwin Sharvill PROPOSAL
Octavia D SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Ricardo E MarrierFranceAmy Elsner NEW
Antonio U FigeroaUnited KingdomAmy Elsner RENEWAL
Morrow Z DilliardItalyIvan Magalhaes NEGOTIATION
Mayumi Z SergiUnited KingdomBernardo Dominic QUALIFIED
Salvatore N FollerItalyIoni Bowcher RENEWAL
Chavez T DilliardJapanIoni Bowcher QUALIFIED
Cody G GarufiAustraliaAnna Fali NEGOTIATION
Stacey I BriddickItalyElwin Sharvill NEW
Johnson H MaletItalyStephen Shaw UNQUALIFIED
Faith D NestleItalyBernardo Dominic UNQUALIFIED
Julie B GillianIndiaIoni Bowcher QUALIFIED
Nicolas L GlickRussiaIvan Magalhaes UNQUALIFIED
Stacey G OstroskyCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois U AmigonIndiaBernardo Dominic UNQUALIFIED
Aditya Z KuskoBrazilAmy Elsner NEW
Johnson E MarrierIndiaIvan Magalhaes RENEWAL
Stacey M BologniaItalyXuxue Feng QUALIFIED
Munro N GlickItalyElwin Sharvill QUALIFIED
Leon F OldroydRussiaStephen Shaw QUALIFIED
Julie X KolmetzIndiaAsiya Javayant RENEWAL
Maisha R MarrierArgentinaBernardo Dominic UNQUALIFIED
Faith C ButtUnited KingdomAnna Fali NEW
Darci I CaudyCanadaStephen Shaw NEGOTIATION
Rodrigues J StensethGermanyIoni Bowcher PROPOSAL
Maria I GarufiCanadaAsiya Javayant NEGOTIATION
Jennifer I WhobreyCanadaBernardo Dominic NEW
David Z StensethAustraliaElwin Sharvill QUALIFIED
Nicolas R BowleyIndiaIoni Bowcher UNQUALIFIED
Maria I AmigonUnited KingdomAmy Elsner RENEWAL
Murillo N KolmetzItalyIoni Bowcher RENEWAL
Juan Z AmigonRussiaXuxue Feng NEW
Salvatore M PaprockiCanadaAmy Elsner QUALIFIED
Jeanfrancois T WieserAustraliaAnna Fali NEGOTIATION
Sinclair J CaldareraCanadaOnyama Limba RENEWAL
Cody H RimGermanyElwin Sharvill UNQUALIFIED
Salvatore P NickaArgentinaAmy Elsner RENEWAL
Silvio I NickaItalyElwin Sharvill UNQUALIFIED
Jefferson D InouyeSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Salvatore Y Vocelka
Murillo L Marrier
Leja O Campain
Leja D Inouye
Ashley Q Venere
Deepesh U Saylors
Maisha B Gaucho
Jennifer N Whobrey
Ashley Y Malet
Nicolas C Maclead
Aruna K Doe
Ashley H Poquette
Nicolas D Ostrosky
Jeanfrancois N Butt
Aditya I Campain
Smith D Gaucho
Emily X Waycott
Rodrigues E Slusarski
Faith W Foller
Rodrigues U Perin
Darci N Sergi
Stacey H Foller
Chavez N Dilliard
Stacey W Flosi
Mujtaba T Kolmetz
Jones B Flosi
Kaitlin E Flosi
Izzy B Stenseth
Morrow I Oldroyd
Salvatore P Oldroyd
David O Gaucho
Faith M Caldarera
Izzy I Sergi
Munro X Nicka
Chavez Q Sergi
Alejandro B Glick
Mujtaba E Gaucho
Aruna S Butt
Wickens X Bolognia
Tony K Sergi
Chavez I Morasca
Chavez Z Stenseth
Francesco N Briddick
Adams S Saylors
Maria P Ferencz
Morrow M Marrier
Maisha L Kolmetz
Faith Q Amigon
Wickens Q Caudy
Maisha T Sergi
IdCountryDate
1000Canada2024-06-02
1001Spain2024-05-31
1002Italy2024-06-04
1003India2024-06-15
1004Canada2024-06-17
1005United Kingdom2024-05-19
1006United Kingdom2024-06-12
1007Brazil2024-05-19
1008Argentina2024-06-13
1009Australia2024-05-22
1010Germany2024-05-25
1011Italy2024-05-29
1012Canada2024-05-19
1013Canada2024-05-29
1014Japan2024-05-22
1015Russia2024-05-29
1016Italy2024-05-27
1017Argentina2024-05-27
1018Australia2024-06-11
1019Russia2024-05-27
1020Argentina2024-05-28
1021United Kingdom2024-06-13
1022Germany2024-06-10
1023United Kingdom2024-06-15
1024Canada2024-05-25
1025Australia2024-06-15
1026Russia2024-05-26
1027Italy2024-06-09
1028Russia2024-05-26
1029India2024-06-04
1030France2024-06-15
1031Canada2024-06-01
1032Italy2024-06-05
1033Japan2024-06-17
1034United Kingdom2024-05-29
1035Spain2024-05-19
1036Australia2024-06-16
1037Spain2024-06-05
1038Australia2024-05-22
1039United Kingdom2024-06-01
1040Argentina2024-05-31
1041Spain2024-06-08
1042Brazil2024-06-16
1043France2024-05-26
1044Germany2024-06-01
1045Japan2024-06-01
1046France2024-05-31
1047Japan2024-06-12
1048Australia2024-05-23
1049Argentina2024-06-08

On-Demand Data

NameIdCountryDate
Deepesh J Stenseth1000United Kingdom2024-06-12
Greenwood T Venere1001United Kingdom2024-05-29
Jeanfrancois Z Darakjy1002Australia2024-06-14
Francesco S Marrier1003India2024-05-23
Tony T Ruta1004Australia2024-06-10
Jones V Slusarski1005Germany2024-06-14
Adams G Nicka1006France2024-06-02
Silvio C Caudy1007Brazil2024-06-12
Morrow H Darakjy1008Germany2024-06-04
Stacey G Morasca1009Canada2024-05-20
Sinclair R Flosi1010Russia2024-05-26
Tony D Kusko1011United Kingdom2024-06-13
Deepesh K Iturbide1012Brazil2024-05-25
Francesco N Ruta1013Australia2024-06-01
Clifford N Doe1014Australia2024-06-02
Isabel B Caudy1015United Kingdom2024-06-01
Johnson T Caldarera1016United Kingdom2024-06-10
Silvio M Kusko1017France2024-05-20
Arvin U Saylors1018Italy2024-06-16
Salvatore Y Saylors1019India2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci D RoysterCanadaElwin Sharvill UNQUALIFIED
Clifford V AlbaresBrazilElwin Sharvill RENEWAL
James U AlbaresIndiaIvan Magalhaes PROPOSAL
Ricardo E ChuiBrazilStephen Shaw QUALIFIED
Greenwood G WieserRussiaAmy Elsner QUALIFIED
Chavez N BowleyFranceElwin Sharvill QUALIFIED
Sinclair G SchemmerSpainAsiya Javayant NEGOTIATION
Salvatore X BologniaItalyBernardo Dominic UNQUALIFIED
Mujtaba S CampainArgentinaBernardo Dominic QUALIFIED
Alejandro R DoeBrazilStephen Shaw PROPOSAL
Darci N GlickCanadaOnyama Limba UNQUALIFIED
Cody X TollnerAustraliaIoni Bowcher NEGOTIATION
Sinclair O GauchoBrazilOnyama Limba UNQUALIFIED
Aditya K MaletUnited KingdomStephen Shaw PROPOSAL
Leon P RulapaughJapanStephen Shaw NEW
Ashley X MorascaBrazilElwin Sharvill PROPOSAL
Julie N VocelkaArgentinaAmy Elsner QUALIFIED
Jeanfrancois R RulapaughAustraliaIoni Bowcher UNQUALIFIED
Smith X FollerAustraliaElwin Sharvill PROPOSAL
Antonio W IturbideArgentinaElwin Sharvill RENEWAL
Greenwood V AlbaresJapanIoni Bowcher PROPOSAL
Costa W AmigonArgentinaAsiya Javayant NEW
Mujtaba P OldroydBrazilIoni Bowcher PROPOSAL
Murillo P StockhamItalyElwin Sharvill NEW
Claire S GillianSpainOnyama Limba NEGOTIATION
Emily S FerenczAustraliaStephen Shaw UNQUALIFIED
Adams F MaletUnited KingdomIoni Bowcher RENEWAL
Jennifer O BowleyItalyBernardo Dominic PROPOSAL
Octavia E OldroydArgentinaXuxue Feng UNQUALIFIED
Jones I KolmetzBrazilElwin Sharvill RENEWAL
Smith Q BologniaBrazilAnna Fali NEW
Isabel S BriddickArgentinaIoni Bowcher PROPOSAL
Greenwood S KolmetzCanadaIvan Magalhaes NEGOTIATION
Jennifer F CaldareraBrazilStephen Shaw QUALIFIED
Mayumi M IturbideCanadaOnyama Limba NEW
Costa D KolmetzGermanyIvan Magalhaes RENEWAL
Adams F GillianBrazilAsiya Javayant QUALIFIED
James Q StockhamSpainIoni Bowcher NEGOTIATION
Nicolas X TollnerIndiaIoni Bowcher QUALIFIED
Costa O WhobreyItalyElwin Sharvill NEW

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