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
Jefferson C DarakjyBrazilBernardo Dominic UNQUALIFIED
Alejandro O GillianIndiaIoni Bowcher QUALIFIED
Maria L PoquetteAustraliaElwin Sharvill UNQUALIFIED
Jennifer A FollerUnited KingdomStephen Shaw NEGOTIATION
Morrow P PaprockiItalyAnna Fali UNQUALIFIED
Kadeem P WieserIndiaAnna Fali QUALIFIED
Julie A DilliardGermanyAmy Elsner NEGOTIATION
Jefferson C PaprockiIndiaOnyama Limba PROPOSAL
Aruna N CaldareraArgentinaXuxue Feng RENEWAL
Jennifer P WaycottCanadaElwin Sharvill UNQUALIFIED
Aika O RulapaughSpainOnyama Limba UNQUALIFIED
Adams B GarufiSpainAsiya Javayant UNQUALIFIED
Cody A CaudyCanadaStephen Shaw NEGOTIATION
Francesco S PerinRussiaAnna Fali UNQUALIFIED
Julie Y SchemmerUnited KingdomElwin Sharvill NEW
Cody Z IturbideSpainAsiya Javayant NEGOTIATION
Silvio D WieserFranceStephen Shaw RENEWAL
Jones Z MaletSpainStephen Shaw NEW
Jones R InouyeArgentinaAmy Elsner NEW
Silvio J FollerJapanIoni Bowcher PROPOSAL
Aditya Z ChuiRussiaElwin Sharvill NEW
Darci F StensethBrazilAmy Elsner PROPOSAL
Johnson O GillianIndiaAsiya Javayant QUALIFIED
Maisha K BriddickArgentinaElwin Sharvill RENEWAL
Mujtaba V RimRussiaBernardo Dominic NEW
Maria O OstroskyFranceXuxue Feng RENEWAL
Maisha U CampainIndiaIoni Bowcher UNQUALIFIED
Deepesh Z GillianUnited KingdomOnyama Limba RENEWAL
Jefferson C WaycottFranceElwin Sharvill UNQUALIFIED
Antonio A GarufiArgentinaIoni Bowcher PROPOSAL
Tony P PerinIndiaAnna Fali UNQUALIFIED
Johnson M RulapaughFranceOnyama Limba UNQUALIFIED
Kadeem C MaletItalyStephen Shaw PROPOSAL
Nicolas T IturbideGermanyIoni Bowcher PROPOSAL
Faith M ChuiItalyBernardo Dominic QUALIFIED
Faith G StockhamGermanyElwin Sharvill QUALIFIED
Adams H PaprockiArgentinaElwin Sharvill RENEWAL
Faith Z BriddickRussiaAnna Fali QUALIFIED
Faith K VenereCanadaOnyama Limba NEGOTIATION
Jones J KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Aditya F RulapaughBrazilAnna Fali NEGOTIATION
Mayumi X FlosiArgentinaIvan Magalhaes UNQUALIFIED
Silvio J GauchoIndiaElwin Sharvill RENEWAL
Chavez H SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Sinclair C GillianGermanyIoni Bowcher NEW
Mujtaba A FlosiBrazilIoni Bowcher NEW
Arvin U KolmetzUnited KingdomOnyama Limba PROPOSAL
Cody X SergiFranceBernardo Dominic QUALIFIED
Jeanfrancois H SergiJapanAnna Fali NEW
Julie R IturbideFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony U ChuiItalyElwin Sharvill RENEWAL
Deepesh K FollerJapanAsiya Javayant NEGOTIATION
Clifford N RoysterAustraliaAsiya Javayant NEGOTIATION
Costa X FollerUnited KingdomIvan Magalhaes NEW
Costa G RoysterBrazilOnyama Limba NEW
Jefferson J ChuiItalyIvan Magalhaes NEGOTIATION
Stacey Y FerenczSpainAmy Elsner QUALIFIED
Jennifer G SlusarskiAustraliaAnna Fali NEGOTIATION
Ivar B GillianAustraliaElwin Sharvill NEGOTIATION
Antonio J TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith J GlickBrazil2025-04-19Commercial Press NEW71Anna Fali
1001Costa C CampainArgentina2025-04-24Chemel, James L Cpa PROPOSAL44Anna Fali
1002Jefferson Z SergiJapan2025-04-22Feltz Printing Service RENEWAL60Elwin Sharvill
1003Arvin E TollnerAustralia2025-04-20Printing Dimensions PROPOSAL19Bernardo Dominic
1004Munro V RutaRussia2025-04-03Chemel, James L Cpa NEW77Anna Fali
1005Munro U WaycottBrazil2025-04-25Benton, John B Jr UNQUALIFIED2Anna Fali
1006Izzy R DoeFrance2025-04-23Benton, John B Jr NEW44Onyama Limba
1007Deepesh V OldroydRussia2025-04-25Buckley Miller Wright NEGOTIATION85Asiya Javayant
1008Deepesh U BologniaAustralia2025-04-16Buckley Miller Wright UNQUALIFIED62Asiya Javayant
1009Francesco K MorascaItaly2025-04-09Truhlar And Truhlar Attys NEW32Anna Fali
1010Adams P FollerFrance2025-04-15Printing Dimensions PROPOSAL13Xuxue Feng
1011Tony H WieserBrazil2025-04-20Feiner Bros NEW68Anna Fali
1012Rodrigues R OldroydIndia2025-04-12Rangoni Of Florence NEGOTIATION17Amy Elsner
1013Maisha W MarrierBrazil2025-04-03Chanay, Jeffrey A Esq NEW32Bernardo Dominic
1014Kaitlin G RulapaughJapan2025-04-18Printing Dimensions RENEWAL58Anna Fali
1015Arvin Q VenereItaly2025-04-08Printing Dimensions QUALIFIED37Ioni Bowcher
1016Emily C BriddickIndia2025-04-25Benton, John B Jr QUALIFIED56Onyama Limba
1017Ivar O BowleyIndia2025-04-13Benton, John B Jr NEW85Anna Fali
1018Mujtaba D OstroskyItaly2025-04-18Commercial Press NEGOTIATION35Stephen Shaw
1019Mujtaba H RoysterSpain2025-04-06Printing Dimensions NEGOTIATION38Anna Fali
1020Octavia M BowleyBrazil2025-04-22Buckley Miller Wright NEW85Ivan Magalhaes
1021Costa Z PerinCanada2025-04-07Printing Dimensions UNQUALIFIED66Ioni Bowcher
1022Misaki R SaylorsJapan2025-04-10King, Christopher A Esq UNQUALIFIED19Asiya Javayant
1023Chavez N MacleadIndia2025-04-12Chanay, Jeffrey A Esq QUALIFIED29Ivan Magalhaes
1024Ashley G KolmetzJapan2025-04-07Feiner Bros UNQUALIFIED5Elwin Sharvill
1025Rodrigues L MorascaFrance2025-04-05Feltz Printing Service PROPOSAL59Onyama Limba
1026Francesco V MarrierArgentina2025-04-18Feltz Printing Service NEW98Amy Elsner
1027Munro C SergiItaly2025-04-28Commercial Press PROPOSAL20Ivan Magalhaes
1028Leon A DoeBrazil2025-04-23Buckley Miller Wright UNQUALIFIED19Bernardo Dominic
1029Jones N InouyeRussia2025-04-08Chapman, Ross E Esq PROPOSAL17Anna Fali
1030Greenwood C WhobreyJapan2025-04-04Feltz Printing Service RENEWAL86Stephen Shaw
1031Greenwood B ChuiAustralia2025-04-18King, Christopher A Esq RENEWAL44Asiya Javayant
1032Rodrigues S RulapaughUnited Kingdom2025-04-17Rousseaux, Michael Esq QUALIFIED55Anna Fali
1033Antonio I IturbideArgentina2025-04-21Feltz Printing Service RENEWAL73Amy Elsner
1034Aruna P WhobreyFrance2025-04-01Rousseaux, Michael Esq PROPOSAL32Asiya Javayant
1035Aika B VenereAustralia2025-04-22King, Christopher A Esq NEW68Anna Fali
1036Antonio M SchemmerGermany2025-04-16Feltz Printing Service RENEWAL20Bernardo Dominic
1037Sinclair B SaylorsAustralia2025-04-02Benton, John B Jr RENEWAL93Ivan Magalhaes
1038Alejandro G RimFrance2025-04-03Chapman, Ross E Esq PROPOSAL29Asiya Javayant
1039Clifford R VocelkaBrazil2025-04-29Morlong Associates NEGOTIATION85Elwin Sharvill
1040Juan N GillianAustralia2025-04-05King, Christopher A Esq UNQUALIFIED51Ioni Bowcher
1041Deepesh I SergiGermany2025-04-10Rousseaux, Michael Esq NEW6Amy Elsner
1042Nicolas R FigeroaSpain2025-04-18Morlong Associates UNQUALIFIED56Ivan Magalhaes
1043Leon H SaylorsAustralia2025-04-14Chapman, Ross E Esq UNQUALIFIED55Ivan Magalhaes
1044Leja W FollerAustralia2025-04-23Chapman, Ross E Esq RENEWAL42Asiya Javayant
1045Smith X BologniaItaly2025-04-30Printing Dimensions UNQUALIFIED63Anna Fali
1046Munro Q FerenczUnited Kingdom2025-04-01Feiner Bros RENEWAL6Stephen Shaw
1047Jones Q OstroskyBrazil2025-04-03Feltz Printing Service NEW65Anna Fali
1048Julie D OstroskyCanada2025-04-26Commercial Press NEGOTIATION18Amy Elsner
1049Isabel Z CaudyBrazil2025-04-07Commercial Press NEW47Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aika I FlosiUnited KingdomStephen Shaw QUALIFIED
Maisha B CampainArgentinaAnna Fali NEGOTIATION
Sinclair T StensethCanadaAsiya Javayant NEW
Nicolas O CaudyGermanyXuxue Feng RENEWAL
Octavia W GillianRussiaElwin Sharvill QUALIFIED
Aika O CampainRussiaXuxue Feng NEGOTIATION
Johnson S ButtGermanyAnna Fali NEGOTIATION
Leon R GillianIndiaAmy Elsner NEW
Sinclair I VocelkaCanadaElwin Sharvill UNQUALIFIED
Mayumi M FlosiFranceBernardo Dominic RENEWAL
Aruna B VocelkaIndiaOnyama Limba NEGOTIATION
Jones Y OldroydAustraliaAnna Fali RENEWAL
Octavia B ShinkoAustraliaBernardo Dominic NEGOTIATION
Rodrigues N FollerSpainIvan Magalhaes NEGOTIATION
Maria U MaletSpainAsiya Javayant NEW
Juan F MaletIndiaOnyama Limba NEW
Stacey P StockhamFranceAmy Elsner QUALIFIED
Aditya Q FigeroaGermanyOnyama Limba NEW
David R MorascaAustraliaElwin Sharvill RENEWAL
Adams D MacleadIndiaAsiya Javayant RENEWAL
Chavez F IturbideFranceXuxue Feng UNQUALIFIED
Johnson K GlickUnited KingdomIoni Bowcher RENEWAL
Aika M CaldareraAustraliaXuxue Feng NEW
Francesco A VenereItalyAnna Fali UNQUALIFIED
Silvio F MorascaItalyAmy Elsner QUALIFIED
Emily S KuskoFranceIoni Bowcher UNQUALIFIED
Julie V MaletAustraliaStephen Shaw NEW
James K VocelkaCanadaOnyama Limba QUALIFIED
Jones X OstroskyItalyIvan Magalhaes UNQUALIFIED
Izzy Z WhobreyItalyOnyama Limba QUALIFIED
Juan N GarufiArgentinaIvan Magalhaes RENEWAL
Darci H FigeroaCanadaAnna Fali RENEWAL
Izzy W OldroydRussiaAmy Elsner RENEWAL
Isabel H RimJapanAmy Elsner NEGOTIATION
Jennifer C BriddickItalyBernardo Dominic PROPOSAL
Misaki K NickaArgentinaIoni Bowcher PROPOSAL
Claire C SaylorsRussiaIoni Bowcher RENEWAL
Costa K ChuiAustraliaAnna Fali NEGOTIATION
Darci K GlickBrazilAnna Fali RENEWAL
Claire C PaprockiBrazilIoni Bowcher NEW
David Q StockhamCanadaAnna Fali NEGOTIATION
Sinclair K CaldareraGermanyAnna Fali NEW
Alejandro T ButtAustraliaAnna Fali NEW
Jones T StensethRussiaXuxue Feng PROPOSAL
Ivar T MacleadFranceAmy Elsner UNQUALIFIED
Morrow P NickaIndiaBernardo Dominic NEGOTIATION
Isabel S FlosiItalyAsiya Javayant RENEWAL
Octavia A KuskoUnited KingdomStephen Shaw UNQUALIFIED
Kadeem J RutaGermanyElwin Sharvill QUALIFIED
Jefferson F SchemmerRussiaStephen Shaw QUALIFIED
Frozen Columns
Name
Aditya O Ferencz
Jeanfrancois W Oldroyd
Jeanfrancois G Doe
Aditya N Foller
Izzy T Iturbide
Chavez Z Kolmetz
Rodrigues J Caldarera
Arvin S Gaucho
Francesco A Tollner
Kadeem P Ruta
Claire C Marrier
Tony F Doe
Leon Y Ruta
Smith X Albares
Leon L Amigon
Salvatore T Whobrey
Clifford S Saylors
Izzy L Rim
Clifford Q Saylors
Wickens P Flosi
Isabel B Rim
Izzy D Chui
Jeanfrancois S Gaucho
Ashley R Amigon
Darci M Poquette
David Q Vocelka
Darci X Inouye
Morrow M Bolognia
Salvatore T Ruta
Aruna P Bolognia
Leja P Flosi
Julie A Wieser
Emily T Whobrey
Salvatore M Sergi
James Z Doe
Arvin N Kusko
Sinclair N Flosi
Darci U Tollner
Chavez C Rim
Silvio Y Ruta
Francesco S Iturbide
Johnson S Morasca
Maria E Rulapaugh
Aruna V Royster
Aika U Poquette
Aika E Dilliard
Chavez D Rulapaugh
Maisha N Garufi
Faith A Tollner
Francesco Z Caudy
IdCountryDate
1000United Kingdom2025-04-06
1001Russia2025-04-14
1002Russia2025-04-03
1003France2025-04-18
1004Brazil2025-04-17
1005India2025-04-21
1006Canada2025-04-19
1007Argentina2025-04-30
1008Spain2025-04-11
1009Italy2025-04-13
1010Canada2025-04-07
1011India2025-04-15
1012Brazil2025-04-13
1013France2025-04-25
1014Germany2025-04-22
1015Japan2025-04-18
1016India2025-04-04
1017Australia2025-04-20
1018Russia2025-04-20
1019United Kingdom2025-04-10
1020Australia2025-04-09
1021Canada2025-04-14
1022France2025-04-15
1023Russia2025-04-20
1024Italy2025-04-01
1025United Kingdom2025-04-23
1026Argentina2025-04-17
1027Spain2025-04-09
1028France2025-04-17
1029Italy2025-04-17
1030Canada2025-04-12
1031Argentina2025-04-20
1032Germany2025-04-22
1033United Kingdom2025-04-21
1034Brazil2025-04-18
1035United Kingdom2025-04-23
1036Brazil2025-04-03
1037Brazil2025-04-29
1038Italy2025-04-13
1039Australia2025-04-13
1040Germany2025-04-28
1041Russia2025-04-06
1042Argentina2025-04-26
1043Argentina2025-04-01
1044Australia2025-04-12
1045Italy2025-04-17
1046France2025-04-06
1047Argentina2025-04-16
1048Germany2025-04-22
1049Russia2025-04-28

On-Demand Data

NameIdCountryDate
Alejandro E Garufi1000Spain2025-04-01
Francesco Q Vocelka1001Australia2025-04-09
Smith Y Inouye1002India2025-04-02
Octavia B Rulapaugh1003India2025-04-14
Ricardo O Saylors1004Italy2025-04-11
Aditya V Waycott1005France2025-04-12
Jefferson C Slusarski1006France2025-04-26
Aditya G Nicka1007Argentina2025-04-11
Ivar U Oldroyd1008Spain2025-04-22
Kadeem S Dilliard1009Italy2025-04-18
Chavez O Rim1010Spain2025-04-01
Antonio U Malet1011Russia2025-04-10
Munro D Nicka1012India2025-04-25
Jones N Darakjy1013Australia2025-04-11
Juan G Flosi1014Italy2025-04-23
Adams D Gaucho1015Japan2025-04-29
Aruna H Gillian1016Australia2025-04-11
Ricardo Z Whobrey1017Japan2025-04-07
Costa Q Gaucho1018India2025-04-14
Kaitlin E Vocelka1019Brazil2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro H WhobreySpainOnyama Limba UNQUALIFIED
Sinclair B KolmetzAustraliaIoni Bowcher UNQUALIFIED
Aditya E FlosiCanadaXuxue Feng NEW
Arvin Q InouyeBrazilOnyama Limba RENEWAL
Rodrigues C InouyeRussiaIvan Magalhaes QUALIFIED
Jefferson A CampainRussiaAsiya Javayant QUALIFIED
Morrow I SergiCanadaStephen Shaw QUALIFIED
Chavez G GauchoRussiaAmy Elsner NEW
Rodrigues P AlbaresUnited KingdomOnyama Limba QUALIFIED
Juan S MaletBrazilIoni Bowcher UNQUALIFIED
Arvin F FerenczIndiaOnyama Limba PROPOSAL
Costa V BowleyJapanAsiya Javayant QUALIFIED
Darci L NickaRussiaStephen Shaw PROPOSAL
Maisha K FollerItalyElwin Sharvill PROPOSAL
Darci Z VocelkaIndiaAnna Fali NEW
Johnson R StensethRussiaXuxue Feng NEW
Salvatore R KolmetzItalyBernardo Dominic RENEWAL
Johnson T SchemmerRussiaIoni Bowcher NEGOTIATION
Jefferson L SaylorsBrazilAmy Elsner PROPOSAL
Morrow P RimGermanyBernardo Dominic NEW
Jefferson C KuskoGermanyAmy Elsner PROPOSAL
Smith G AlbaresItalyElwin Sharvill QUALIFIED
Francesco T GillianIndiaOnyama Limba RENEWAL
Leon T PerinAustraliaIvan Magalhaes NEW
Jefferson I DarakjyIndiaStephen Shaw PROPOSAL
Misaki M GarufiIndiaStephen Shaw PROPOSAL
Clifford X GlickRussiaStephen Shaw NEGOTIATION
Costa O IturbideJapanBernardo Dominic RENEWAL
Aika O OstroskyFranceXuxue Feng PROPOSAL
Johnson P RulapaughAustraliaAsiya Javayant NEGOTIATION
Ashley A SergiJapanAnna Fali UNQUALIFIED
Arvin C SlusarskiFranceAsiya Javayant NEGOTIATION
Kaitlin O BriddickSpainXuxue Feng UNQUALIFIED
Ashley G GauchoRussiaElwin Sharvill NEGOTIATION
Maria F NickaCanadaOnyama Limba RENEWAL
Antonio Q DilliardGermanyAnna Fali QUALIFIED
Jennifer M CaldareraIndiaXuxue Feng RENEWAL
Alejandro C FerenczSpainIoni Bowcher RENEWAL
Ashley L VenereFranceAmy Elsner RENEWAL
Faith L DilliardIndiaOnyama Limba 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>