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
Salvatore L StockhamFranceOnyama Limba NEW
Ashley P PoquetteUnited KingdomElwin Sharvill NEW
Clifford R MacleadCanadaAsiya Javayant NEGOTIATION
Ivar F IturbideGermanyAnna Fali QUALIFIED
Morrow L TollnerArgentinaIoni Bowcher PROPOSAL
Deepesh N NestleRussiaBernardo Dominic NEGOTIATION
Darci X RulapaughRussiaAnna Fali QUALIFIED
Smith H SlusarskiJapanIoni Bowcher UNQUALIFIED
Maria H ButtIndiaXuxue Feng NEW
Nicolas E AlbaresGermanyAnna Fali RENEWAL
Jefferson M PaprockiIndiaStephen Shaw QUALIFIED
Munro J RulapaughArgentinaXuxue Feng UNQUALIFIED
Kaitlin Q ShinkoItalyElwin Sharvill UNQUALIFIED
Juan W ShinkoFranceElwin Sharvill QUALIFIED
Jeanfrancois Z IturbideArgentinaIvan Magalhaes RENEWAL
James O OstroskyRussiaOnyama Limba UNQUALIFIED
Ivar W RoysterBrazilIvan Magalhaes UNQUALIFIED
Emily S PoquetteFranceAnna Fali RENEWAL
Silvio L BologniaBrazilIvan Magalhaes UNQUALIFIED
Mayumi X SergiArgentinaIoni Bowcher NEW
Johnson V GlickIndiaElwin Sharvill UNQUALIFIED
Juan V RoysterAustraliaAmy Elsner UNQUALIFIED
Johnson T MorascaIndiaIoni Bowcher UNQUALIFIED
Darci N VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Aika R VocelkaArgentinaAmy Elsner QUALIFIED
Adams Q MacleadJapanIoni Bowcher NEW
Jones L IturbideArgentinaAnna Fali NEGOTIATION
Clifford X VenereBrazilStephen Shaw PROPOSAL
Jeanfrancois K MaletBrazilElwin Sharvill QUALIFIED
Jefferson W CampainBrazilAnna Fali RENEWAL
Leon P WieserIndiaAsiya Javayant NEW
Munro B DoeCanadaAnna Fali UNQUALIFIED
Jeanfrancois H SergiIndiaAsiya Javayant NEGOTIATION
Chavez M RoysterUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois Y IturbideGermanyAmy Elsner NEGOTIATION
Kadeem W WhobreyRussiaElwin Sharvill PROPOSAL
Leon Q KuskoItalyOnyama Limba QUALIFIED
Leon E CaudyUnited KingdomAnna Fali PROPOSAL
Emily P FollerAustraliaElwin Sharvill QUALIFIED
Antonio O OldroydUnited KingdomOnyama Limba UNQUALIFIED
Leja Z WhobreyBrazilIvan Magalhaes UNQUALIFIED
Faith Y DoeFranceStephen Shaw PROPOSAL
Jennifer B SchemmerJapanAmy Elsner NEGOTIATION
Tony O FigeroaBrazilAnna Fali QUALIFIED
David N IturbideArgentinaXuxue Feng UNQUALIFIED
Morrow M DilliardBrazilStephen Shaw NEW
Wickens Z DilliardIndiaElwin Sharvill NEW
Leon E CampainCanadaOnyama Limba PROPOSAL
Maisha K RulapaughIndiaXuxue Feng NEW
Jennifer L OstroskyGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams Z KuskoIndiaIoni Bowcher QUALIFIED
Jennifer Z GlickBrazilBernardo Dominic RENEWAL
Silvio Z KuskoGermanyXuxue Feng NEGOTIATION
Stacey J CampainItalyOnyama Limba PROPOSAL
Octavia E MaletFranceOnyama Limba NEW
Aruna E NestleRussiaBernardo Dominic NEGOTIATION
Costa G MacleadItalyOnyama Limba QUALIFIED
Cody D NestleJapanElwin Sharvill NEW
Leon P MorascaRussiaElwin Sharvill NEW
Clifford V FollerItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio X InouyeGermany2024-06-13Feiner Bros UNQUALIFIED1Elwin Sharvill
1001Kadeem T AmigonArgentina2024-06-18Rangoni Of Florence RENEWAL37Anna Fali
1002Isabel C WieserUnited Kingdom2024-06-20Feiner Bros UNQUALIFIED1Ivan Magalhaes
1003Cody T ShinkoCanada2024-06-05Truhlar And Truhlar Attys NEW24Ivan Magalhaes
1004Aditya N GillianUnited Kingdom2024-06-14Chemel, James L Cpa QUALIFIED64Xuxue Feng
1005Aditya E KolmetzFrance2024-06-21Benton, John B Jr NEGOTIATION28Ioni Bowcher
1006Claire Y GarufiUnited Kingdom2024-06-13Buckley Miller Wright RENEWAL96Ioni Bowcher
1007Aruna J WaycottRussia2024-06-06Truhlar And Truhlar Attys NEGOTIATION63Bernardo Dominic
1008Costa E WhobreyBrazil2024-06-05Printing Dimensions RENEWAL34Amy Elsner
1009Maisha R BologniaFrance2024-05-28Printing Dimensions NEGOTIATION7Elwin Sharvill
1010David G RimCanada2024-06-20Feiner Bros PROPOSAL85Ioni Bowcher
1011Julie V GillianRussia2024-06-06Feltz Printing Service PROPOSAL15Ioni Bowcher
1012Deepesh A WaycottCanada2024-06-11Chanay, Jeffrey A Esq NEGOTIATION53Amy Elsner
1013Sinclair O StockhamItaly2024-05-31Chanay, Jeffrey A Esq RENEWAL41Asiya Javayant
1014Emily S KolmetzIndia2024-05-25Rousseaux, Michael Esq NEW82Ioni Bowcher
1015Nicolas E TollnerAustralia2024-06-07Feiner Bros QUALIFIED65Ioni Bowcher
1016Tony M WhobreyUnited Kingdom2024-06-10King, Christopher A Esq PROPOSAL43Stephen Shaw
1017Tony G OstroskySpain2024-05-24Feltz Printing Service UNQUALIFIED19Stephen Shaw
1018Emily P BologniaSpain2024-05-28Chapman, Ross E Esq UNQUALIFIED3Ivan Magalhaes
1019David Y MaletCanada2024-06-01Feltz Printing Service RENEWAL71Onyama Limba
1020Morrow W PerinArgentina2024-06-14Truhlar And Truhlar Attys NEGOTIATION38Anna Fali
1021Smith N FerenczUnited Kingdom2024-06-02Feiner Bros NEGOTIATION86Stephen Shaw
1022David Z KolmetzBrazil2024-06-18Chapman, Ross E Esq QUALIFIED82Onyama Limba
1023Antonio V StensethFrance2024-06-19Buckley Miller Wright PROPOSAL17Elwin Sharvill
1024Arvin S MaletAustralia2024-05-24Benton, John B Jr NEGOTIATION91Onyama Limba
1025Chavez Z CampainItaly2024-05-28Buckley Miller Wright NEGOTIATION15Asiya Javayant
1026Isabel W MorascaUnited Kingdom2024-06-02Dorl, James J Esq NEGOTIATION50Ioni Bowcher
1027Maisha O SlusarskiSpain2024-05-26Feiner Bros NEGOTIATION2Anna Fali
1028Aditya P PoquetteGermany2024-06-07Rangoni Of Florence UNQUALIFIED82Asiya Javayant
1029Francesco U MorascaRussia2024-06-06Benton, John B Jr PROPOSAL90Anna Fali
1030Kadeem Q DilliardGermany2024-05-29Rangoni Of Florence PROPOSAL65Xuxue Feng
1031Arvin L BowleyBrazil2024-06-01Chapman, Ross E Esq UNQUALIFIED36Elwin Sharvill
1032Maisha A CampainIndia2024-06-13Benton, John B Jr UNQUALIFIED60Bernardo Dominic
1033Rodrigues Q CaudyItaly2024-05-26Printing Dimensions RENEWAL6Anna Fali
1034Greenwood T SchemmerAustralia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED21Onyama Limba
1035Tony C SchemmerArgentina2024-06-20Commercial Press QUALIFIED67Anna Fali
1036Leja Z MacleadAustralia2024-06-17Rousseaux, Michael Esq PROPOSAL60Elwin Sharvill
1037Arvin S OstroskyRussia2024-06-15Dorl, James J Esq QUALIFIED42Onyama Limba
1038Alejandro M AmigonFrance2024-06-11Buckley Miller Wright NEGOTIATION28Asiya Javayant
1039Maisha O CaldareraAustralia2024-06-17Feiner Bros NEW59Asiya Javayant
1040Ashley A CaudyIndia2024-06-03Chapman, Ross E Esq NEW63Elwin Sharvill
1041Salvatore R NestleUnited Kingdom2024-05-27Benton, John B Jr QUALIFIED89Xuxue Feng
1042Misaki D FollerJapan2024-06-04Benton, John B Jr RENEWAL8Amy Elsner
1043Ashley I MaletUnited Kingdom2024-06-18Buckley Miller Wright PROPOSAL45Amy Elsner
1044Antonio Z BriddickCanada2024-06-02King, Christopher A Esq NEGOTIATION69Xuxue Feng
1045Francesco M NestleAustralia2024-06-19Buckley Miller Wright PROPOSAL9Asiya Javayant
1046Maria P AmigonFrance2024-06-02Benton, John B Jr PROPOSAL70Onyama Limba
1047Aditya Q NestleRussia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION14Xuxue Feng
1048Sinclair P MacleadBrazil2024-06-19Chapman, Ross E Esq PROPOSAL82Stephen Shaw
1049Mayumi N MarrierGermany2024-06-21Chapman, Ross E Esq UNQUALIFIED52Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Claire N DoeJapanAmy Elsner QUALIFIED
Jefferson A MarrierSpainElwin Sharvill PROPOSAL
Aika V PaprockiAustraliaIoni Bowcher QUALIFIED
Morrow B BriddickSpainAsiya Javayant NEGOTIATION
Arvin B VenereAustraliaAmy Elsner QUALIFIED
Silvio Y ShinkoItalyStephen Shaw RENEWAL
Costa O MaletAustraliaAmy Elsner NEW
Smith Z GauchoAustraliaIvan Magalhaes PROPOSAL
Kaitlin X RulapaughRussiaStephen Shaw NEW
Rodrigues A CaldareraUnited KingdomXuxue Feng RENEWAL
Johnson N TollnerItalyElwin Sharvill QUALIFIED
Smith N NickaUnited KingdomAmy Elsner RENEWAL
Sinclair T ChuiSpainStephen Shaw PROPOSAL
Salvatore O FerenczBrazilAnna Fali PROPOSAL
Octavia W WieserJapanXuxue Feng NEW
Kaitlin D IturbideIndiaAsiya Javayant PROPOSAL
Rodrigues T SchemmerSpainAmy Elsner PROPOSAL
Nicolas N DoeArgentinaOnyama Limba NEGOTIATION
Aditya T WhobreyBrazilAmy Elsner NEW
Jennifer N GauchoIndiaIoni Bowcher UNQUALIFIED
Cody Q VenereFranceStephen Shaw NEW
Munro Y VenereGermanyIvan Magalhaes QUALIFIED
Leja W DilliardUnited KingdomElwin Sharvill NEGOTIATION
Maria K KuskoRussiaIoni Bowcher PROPOSAL
Munro G NestleRussiaOnyama Limba RENEWAL
Deepesh T CaldareraAustraliaStephen Shaw UNQUALIFIED
James V OldroydGermanyIoni Bowcher RENEWAL
Aika Z WaycottCanadaIvan Magalhaes QUALIFIED
Leon E NickaArgentinaIvan Magalhaes RENEWAL
Jennifer Q AmigonBrazilOnyama Limba NEGOTIATION
Aruna G MaletItalyStephen Shaw QUALIFIED
Faith U TollnerBrazilAsiya Javayant RENEWAL
Morrow J AlbaresFranceOnyama Limba UNQUALIFIED
Chavez E CampainAustraliaStephen Shaw NEGOTIATION
Greenwood O ChuiArgentinaAsiya Javayant QUALIFIED
Chavez O MaletIndiaStephen Shaw NEGOTIATION
Munro M IturbideArgentinaIvan Magalhaes RENEWAL
Clifford G SergiUnited KingdomIvan Magalhaes NEW
Antonio W PaprockiArgentinaIoni Bowcher NEGOTIATION
Kaitlin Y RutaUnited KingdomIvan Magalhaes NEGOTIATION
Darci K KuskoAustraliaAmy Elsner UNQUALIFIED
Wickens E FerenczJapanElwin Sharvill PROPOSAL
Johnson Z KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel T PoquetteSpainXuxue Feng RENEWAL
Kaitlin Z NestleJapanXuxue Feng PROPOSAL
Ashley U GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez G ChuiAustraliaAmy Elsner RENEWAL
Jefferson H OldroydAustraliaBernardo Dominic RENEWAL
Wickens C ChuiGermanyIvan Magalhaes NEW
Smith E FigeroaGermanyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Deepesh Q Butt
Silvio N Inouye
Leja S Wieser
Aika Q Darakjy
Ricardo D Rulapaugh
Izzy U Rim
Emily Q Nestle
Johnson X Albares
Juan L Garufi
Izzy V Caldarera
Misaki R Amigon
Kadeem X Morasca
Kaitlin Z Amigon
Munro A Paprocki
Aruna B Doe
Juan A Gillian
Emily Q Campain
Munro X Saylors
Murillo J Caldarera
Faith B Paprocki
Aditya R Nicka
Ricardo M Stenseth
Leja W Iturbide
Salvatore N Rulapaugh
Wickens Y Oldroyd
Maisha I Flosi
Emily Q Ferencz
Kadeem E Saylors
Kadeem Q Bolognia
Claire D Ruta
Aruna J Marrier
Johnson S Albares
Morrow D Bolognia
Alejandro W Marrier
Francesco H Ostrosky
Ashley X Venere
Jeanfrancois C Saylors
Ricardo R Iturbide
Octavia Y Perin
Maria Z Gaucho
Aditya F Chui
Smith G Figeroa
Silvio B Bolognia
Kaitlin J Rim
Tony P Morasca
Faith N Vocelka
Jeanfrancois D Malet
Claire T Bolognia
Alejandro C Inouye
Silvio C Stockham
IdCountryDate
1000Germany2024-06-03
1001United Kingdom2024-06-20
1002Argentina2024-05-28
1003Japan2024-06-19
1004United Kingdom2024-05-29
1005Brazil2024-05-23
1006India2024-05-28
1007India2024-06-02
1008Russia2024-05-24
1009United Kingdom2024-05-31
1010Germany2024-06-04
1011Germany2024-05-29
1012Argentina2024-06-20
1013Japan2024-05-31
1014India2024-06-14
1015Germany2024-06-09
1016Russia2024-06-08
1017Brazil2024-06-07
1018Italy2024-05-23
1019Brazil2024-05-24
1020United Kingdom2024-06-13
1021Russia2024-06-11
1022Australia2024-05-29
1023India2024-06-21
1024Russia2024-06-04
1025Spain2024-06-16
1026Japan2024-06-02
1027Brazil2024-06-08
1028Italy2024-06-02
1029Spain2024-05-25
1030France2024-05-28
1031Spain2024-06-14
1032United Kingdom2024-06-21
1033Italy2024-06-09
1034Spain2024-06-02
1035Canada2024-05-29
1036Australia2024-05-27
1037Japan2024-06-08
1038Argentina2024-06-06
1039United Kingdom2024-06-09
1040Australia2024-06-15
1041Brazil2024-06-01
1042Russia2024-05-27
1043Canada2024-06-03
1044Italy2024-06-14
1045Brazil2024-05-27
1046Italy2024-06-10
1047France2024-06-14
1048United Kingdom2024-05-23
1049Brazil2024-06-02

On-Demand Data

NameIdCountryDate
Octavia F Gaucho1000Spain2024-06-19
Costa H Nicka1001Argentina2024-06-21
Isabel S Flosi1002Brazil2024-05-30
Munro Z Foller1003Australia2024-06-20
Jeanfrancois T Venere1004United Kingdom2024-06-05
Mujtaba I Shinko1005Italy2024-05-30
Tony Y Tollner1006Brazil2024-05-26
Munro Z Ostrosky1007Japan2024-05-30
Stacey U Campain1008Russia2024-06-08
Darci U Marrier1009Brazil2024-06-03
Chavez W Slusarski1010Spain2024-06-16
Antonio Y Waycott1011Germany2024-06-02
Juan N Rim1012Argentina2024-05-28
Aruna Q Whobrey1013Italy2024-05-28
Murillo X Rim1014Australia2024-06-21
Juan W Campain1015Brazil2024-06-02
Arvin Z Oldroyd1016India2024-06-12
Greenwood R Butt1017Australia2024-06-21
Aruna S Caldarera1018Japan2024-06-21
Rodrigues M Garufi1019India2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire E PerinFranceXuxue Feng RENEWAL
Juan D MacleadFranceElwin Sharvill RENEWAL
Jefferson X CaudyItalyIoni Bowcher UNQUALIFIED
Octavia O InouyeItalyAsiya Javayant UNQUALIFIED
Maria F DilliardUnited KingdomAsiya Javayant NEW
Arvin F MacleadSpainIoni Bowcher NEW
Wickens U KolmetzArgentinaStephen Shaw NEW
Octavia F SergiAustraliaOnyama Limba PROPOSAL
Juan C KuskoArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois G CampainItalyAsiya Javayant UNQUALIFIED
Stacey D AlbaresBrazilOnyama Limba NEW
Rodrigues C RutaItalyIvan Magalhaes RENEWAL
Francesco R BowleySpainElwin Sharvill NEW
Jennifer O MarrierRussiaAmy Elsner PROPOSAL
Aika U KuskoUnited KingdomAsiya Javayant RENEWAL
Faith L SergiAustraliaOnyama Limba PROPOSAL
Sinclair G MaletCanadaIvan Magalhaes PROPOSAL
Julie G BriddickArgentinaStephen Shaw QUALIFIED
Chavez X WieserGermanyAsiya Javayant UNQUALIFIED
Claire W AmigonSpainAnna Fali QUALIFIED
James W MaletRussiaIvan Magalhaes UNQUALIFIED
Misaki M WhobreyArgentinaStephen Shaw QUALIFIED
Jefferson J CaldareraGermanyAsiya Javayant PROPOSAL
Morrow D MaletBrazilBernardo Dominic PROPOSAL
Mayumi L WhobreyArgentinaElwin Sharvill NEGOTIATION
Kadeem I CaudyIndiaAsiya Javayant QUALIFIED
Kadeem A GillianBrazilIoni Bowcher RENEWAL
Salvatore A BriddickIndiaXuxue Feng UNQUALIFIED
Misaki H VocelkaFranceIoni Bowcher NEW
Aika V InouyeArgentinaXuxue Feng UNQUALIFIED
Aditya C GlickRussiaStephen Shaw UNQUALIFIED
Rodrigues D VocelkaSpainBernardo Dominic UNQUALIFIED
Jennifer T KuskoFranceIvan Magalhaes RENEWAL
Leon J MorascaFranceIvan Magalhaes NEW
Claire O OstroskyArgentinaOnyama Limba QUALIFIED
Darci S ChuiBrazilIoni Bowcher NEGOTIATION
Cody J KolmetzGermanyIoni Bowcher RENEWAL
Jeanfrancois Q BowleyJapanElwin Sharvill UNQUALIFIED
Antonio H StockhamBrazilAmy Elsner QUALIFIED
Munro Z StockhamAustraliaStephen Shaw 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>