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
Leja J AmigonAustraliaAsiya Javayant NEW
Juan Y FlosiArgentinaIoni Bowcher PROPOSAL
Adams U SchemmerSpainStephen Shaw NEW
Wickens E GlickBrazilIvan Magalhaes NEGOTIATION
Octavia E FlosiGermanyOnyama Limba RENEWAL
Ivar W DarakjyIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois K BriddickAustraliaStephen Shaw NEW
Isabel K RoysterRussiaAnna Fali UNQUALIFIED
Mujtaba B FlosiCanadaElwin Sharvill QUALIFIED
Maisha Y PaprockiAustraliaAmy Elsner UNQUALIFIED
Izzy M KolmetzGermanyStephen Shaw PROPOSAL
Costa U GauchoBrazilIoni Bowcher NEGOTIATION
Costa M ButtGermanyOnyama Limba NEW
Morrow N SchemmerAustraliaOnyama Limba NEGOTIATION
Isabel W MorascaItalyAsiya Javayant RENEWAL
Smith Q FollerJapanIoni Bowcher NEGOTIATION
Deepesh E NestleIndiaStephen Shaw QUALIFIED
Greenwood Z KuskoBrazilIoni Bowcher PROPOSAL
Kadeem P GarufiArgentinaElwin Sharvill UNQUALIFIED
Salvatore O InouyeIndiaIvan Magalhaes UNQUALIFIED
Morrow I PaprockiGermanyStephen Shaw RENEWAL
Murillo U MorascaUnited KingdomIvan Magalhaes PROPOSAL
Claire U GauchoIndiaXuxue Feng QUALIFIED
Ashley H WieserJapanXuxue Feng UNQUALIFIED
Misaki C SaylorsJapanOnyama Limba QUALIFIED
Salvatore T DilliardCanadaAnna Fali UNQUALIFIED
Juan O TollnerAustraliaBernardo Dominic QUALIFIED
Claire U MorascaGermanyAmy Elsner NEW
Mujtaba I FlosiCanadaStephen Shaw QUALIFIED
Emily T MacleadUnited KingdomAnna Fali PROPOSAL
Octavia B FlosiAustraliaOnyama Limba PROPOSAL
Adams O GarufiBrazilAmy Elsner UNQUALIFIED
Claire Q AmigonAustraliaElwin Sharvill UNQUALIFIED
Deepesh U OldroydJapanAsiya Javayant UNQUALIFIED
Kaitlin I FerenczFranceIvan Magalhaes NEW
Sinclair M SaylorsSpainElwin Sharvill RENEWAL
Nicolas S WieserArgentinaXuxue Feng NEGOTIATION
Ivar G PoquetteItalyStephen Shaw NEW
Darci H OstroskyItalyBernardo Dominic NEGOTIATION
Izzy O FollerIndiaAnna Fali UNQUALIFIED
Aditya X FigeroaJapanElwin Sharvill NEW
Leon U SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues Q CaudyFranceIvan Magalhaes NEGOTIATION
Adams S SchemmerAustraliaAsiya Javayant RENEWAL
Clifford M VocelkaCanadaOnyama Limba NEGOTIATION
Aruna R RutaItalyBernardo Dominic UNQUALIFIED
Alejandro S RoysterItalyXuxue Feng NEW
Costa H RutaFranceXuxue Feng RENEWAL
Aruna T FerenczAustraliaAmy Elsner PROPOSAL
Salvatore B SlusarskiJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna W RulapaughSpainIvan Magalhaes NEW
Smith H FerenczFranceIvan Magalhaes NEGOTIATION
Francesco M RutaCanadaBernardo Dominic NEGOTIATION
Kaitlin R SergiFranceIvan Magalhaes PROPOSAL
Aika Y KuskoRussiaIoni Bowcher UNQUALIFIED
Salvatore T FlosiFranceIoni Bowcher RENEWAL
Salvatore Y DarakjyBrazilAmy Elsner QUALIFIED
Jennifer C BowleyCanadaAmy Elsner UNQUALIFIED
Stacey S CaldareraArgentinaAsiya Javayant QUALIFIED
Isabel Y ShinkoBrazilIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna Z KuskoSpain2024-06-01Printing Dimensions NEGOTIATION17Ivan Magalhaes
1001Misaki X ShinkoGermany2024-05-26Morlong Associates NEW8Anna Fali
1002Alejandro W SergiUnited Kingdom2024-05-25Morlong Associates QUALIFIED88Elwin Sharvill
1003Smith R StockhamBrazil2024-06-09Rousseaux, Michael Esq PROPOSAL7Xuxue Feng
1004Jeanfrancois D SchemmerCanada2024-06-13Dorl, James J Esq PROPOSAL12Anna Fali
1005Aika I SaylorsBrazil2024-06-14Chemel, James L Cpa NEGOTIATION63Ioni Bowcher
1006Murillo Z MarrierAustralia2024-06-04Chapman, Ross E Esq QUALIFIED12Elwin Sharvill
1007Mujtaba Z OstroskyArgentina2024-05-29Morlong Associates PROPOSAL11Ivan Magalhaes
1008Deepesh Y WieserGermany2024-05-24Rangoni Of Florence PROPOSAL65Stephen Shaw
1009Ashley U RulapaughIndia2024-06-13Dorl, James J Esq QUALIFIED20Amy Elsner
1010Costa H AmigonSpain2024-06-10Chapman, Ross E Esq RENEWAL61Elwin Sharvill
1011Emily B OldroydUnited Kingdom2024-05-23Feltz Printing Service UNQUALIFIED18Xuxue Feng
1012Darci I SergiBrazil2024-05-23Buckley Miller Wright NEGOTIATION20Ivan Magalhaes
1013Maisha C GauchoSpain2024-06-05Chemel, James L Cpa PROPOSAL29Anna Fali
1014Arvin D MacleadBrazil2024-05-28Chanay, Jeffrey A Esq QUALIFIED63Onyama Limba
1015Morrow T FollerBrazil2024-05-29Rangoni Of Florence RENEWAL12Ioni Bowcher
1016Jones N RutaJapan2024-06-02Morlong Associates NEGOTIATION63Ivan Magalhaes
1017Nicolas G BriddickCanada2024-06-18Chemel, James L Cpa PROPOSAL61Ioni Bowcher
1018Darci A CampainCanada2024-06-01Buckley Miller Wright NEGOTIATION57Bernardo Dominic
1019Tony S DarakjyBrazil2024-06-07Commercial Press NEGOTIATION30Xuxue Feng
1020David V OstroskyRussia2024-06-08Chanay, Jeffrey A Esq NEW99Elwin Sharvill
1021Jennifer U GlickBrazil2024-06-07Chemel, James L Cpa NEGOTIATION88Elwin Sharvill
1022Deepesh M SchemmerJapan2024-05-24King, Christopher A Esq NEGOTIATION48Elwin Sharvill
1023Tony F DarakjyAustralia2024-05-20Feiner Bros RENEWAL58Anna Fali
1024Clifford O RimRussia2024-05-25Dorl, James J Esq PROPOSAL69Xuxue Feng
1025Mujtaba T SchemmerIndia2024-06-15Benton, John B Jr NEW6Elwin Sharvill
1026Mayumi E InouyeAustralia2024-06-15Buckley Miller Wright QUALIFIED39Stephen Shaw
1027Deepesh H FigeroaCanada2024-06-13Chemel, James L Cpa NEGOTIATION27Stephen Shaw
1028Kaitlin J MorascaSpain2024-06-12Dorl, James J Esq QUALIFIED61Ivan Magalhaes
1029Maria Q PerinArgentina2024-05-29Chapman, Ross E Esq RENEWAL1Asiya Javayant
1030James U CaudyItaly2024-05-21Dorl, James J Esq RENEWAL45Amy Elsner
1031Nicolas Y SlusarskiIndia2024-06-14Feltz Printing Service NEGOTIATION41Ivan Magalhaes
1032Jennifer I FerenczAustralia2024-05-22Rousseaux, Michael Esq QUALIFIED80Ivan Magalhaes
1033Nicolas F GarufiJapan2024-06-10Feiner Bros UNQUALIFIED69Ivan Magalhaes
1034Claire K WieserGermany2024-06-01Morlong Associates UNQUALIFIED36Onyama Limba
1035Deepesh C TollnerJapan2024-05-20Morlong Associates UNQUALIFIED69Amy Elsner
1036Mujtaba O SlusarskiRussia2024-06-10Dorl, James J Esq QUALIFIED54Ioni Bowcher
1037David P StensethRussia2024-05-30Buckley Miller Wright NEGOTIATION25Xuxue Feng
1038Mujtaba I GillianUnited Kingdom2024-06-16Printing Dimensions RENEWAL85Stephen Shaw
1039Darci X PerinBrazil2024-05-30Rousseaux, Michael Esq PROPOSAL54Ivan Magalhaes
1040Deepesh W KolmetzRussia2024-06-16Rousseaux, Michael Esq NEW21Bernardo Dominic
1041Rodrigues U MarrierBrazil2024-05-23Feiner Bros NEGOTIATION32Elwin Sharvill
1042Aruna A BowleySpain2024-06-13Commercial Press UNQUALIFIED71Stephen Shaw
1043Francesco L GlickGermany2024-05-26Feiner Bros NEW54Onyama Limba
1044Salvatore L WhobreyArgentina2024-06-07King, Christopher A Esq NEW33Anna Fali
1045Maisha C DoeFrance2024-05-31King, Christopher A Esq QUALIFIED85Bernardo Dominic
1046Deepesh G IturbideArgentina2024-05-25Feltz Printing Service RENEWAL60Stephen Shaw
1047Kadeem X FigeroaJapan2024-05-31Chapman, Ross E Esq PROPOSAL40Anna Fali
1048James P SchemmerBrazil2024-06-08Morlong Associates PROPOSAL15Asiya Javayant
1049Tony H DoeBrazil2024-06-08Rousseaux, Michael Esq QUALIFIED83Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Z StockhamJapanBernardo Dominic QUALIFIED
Aruna K OldroydFranceOnyama Limba NEW
Mujtaba F RutaBrazilAmy Elsner UNQUALIFIED
Aika H AlbaresBrazilAmy Elsner UNQUALIFIED
Stacey L FigeroaJapanAnna Fali PROPOSAL
Kadeem Z AlbaresJapanStephen Shaw UNQUALIFIED
James X MaletGermanyIvan Magalhaes RENEWAL
Mujtaba V VenereUnited KingdomStephen Shaw RENEWAL
Ivar U KolmetzSpainElwin Sharvill UNQUALIFIED
Jeanfrancois D GlickCanadaAsiya Javayant QUALIFIED
Alejandro N SlusarskiJapanIvan Magalhaes PROPOSAL
Claire B GarufiIndiaBernardo Dominic NEGOTIATION
Deepesh P SergiFranceBernardo Dominic NEGOTIATION
Leon S KuskoCanadaStephen Shaw PROPOSAL
Leon E RimRussiaStephen Shaw RENEWAL
Aditya K GillianRussiaStephen Shaw RENEWAL
Mayumi B AlbaresFranceOnyama Limba UNQUALIFIED
Adams C SchemmerFranceXuxue Feng RENEWAL
Jennifer N StockhamRussiaIvan Magalhaes RENEWAL
Mayumi M ChuiBrazilBernardo Dominic NEGOTIATION
Izzy D SaylorsGermanyAnna Fali QUALIFIED
Juan B WhobreyAustraliaAsiya Javayant UNQUALIFIED
Aika Y FerenczRussiaIvan Magalhaes PROPOSAL
Rodrigues C AmigonAustraliaAmy Elsner QUALIFIED
Maisha K GarufiArgentinaAnna Fali QUALIFIED
Adams F IturbideIndiaAsiya Javayant RENEWAL
Sinclair E FollerItalyIvan Magalhaes UNQUALIFIED
Mujtaba Y GauchoRussiaOnyama Limba NEGOTIATION
Alejandro J FollerAustraliaStephen Shaw QUALIFIED
Emily P MarrierJapanAmy Elsner QUALIFIED
Leja H MaletAustraliaElwin Sharvill PROPOSAL
Aika G SchemmerRussiaElwin Sharvill QUALIFIED
Murillo Q SaylorsRussiaAsiya Javayant NEW
Leja R WaycottAustraliaBernardo Dominic NEW
Leja J VocelkaArgentinaAsiya Javayant PROPOSAL
Clifford A PerinAustraliaIoni Bowcher PROPOSAL
Cody K SchemmerBrazilBernardo Dominic PROPOSAL
Chavez R OstroskyUnited KingdomBernardo Dominic QUALIFIED
Kadeem R BowleyGermanyOnyama Limba NEGOTIATION
Stacey F KuskoRussiaAmy Elsner NEW
Claire C MacleadBrazilBernardo Dominic NEGOTIATION
Aika L MaletJapanAsiya Javayant QUALIFIED
Costa S WaycottIndiaBernardo Dominic UNQUALIFIED
Alejandro X SaylorsArgentinaAmy Elsner UNQUALIFIED
James N FerenczAustraliaAnna Fali NEW
Ashley N BologniaJapanElwin Sharvill UNQUALIFIED
Morrow L FlosiCanadaOnyama Limba PROPOSAL
Jefferson H NestleUnited KingdomBernardo Dominic RENEWAL
Faith H ShinkoBrazilStephen Shaw UNQUALIFIED
Darci X CampainUnited KingdomBernardo Dominic PROPOSAL
Frozen Columns
Name
Cody R Doe
Claire H Campain
Leon D Ostrosky
Salvatore A Kusko
Jeanfrancois J Slusarski
Antonio F Bolognia
Kaitlin D Inouye
Jennifer H Nestle
Johnson C Dilliard
Francesco I Vocelka
Aditya F Figeroa
Aruna J Chui
James M Slusarski
Jefferson U Venere
Morrow I Malet
Munro U Garufi
Juan E Malet
Alejandro Z Schemmer
Misaki R Malet
Darci F Kusko
Kaitlin K Darakjy
Cody L Marrier
Costa N Dilliard
Aditya W Kusko
Johnson T Kolmetz
Chavez U Amigon
Munro M Ruta
Aruna J Ruta
Antonio R Foller
Misaki Y Rulapaugh
Adams R Saylors
Isabel R Darakjy
Mujtaba R Malet
Tony U Shinko
Ashley Y Figeroa
Rodrigues X Amigon
Jones X Albares
Salvatore W Venere
Morrow O Shinko
Alejandro A Kolmetz
Kaitlin H Marrier
Francesco L Perin
Jennifer A Albares
Mujtaba K Dilliard
Wickens M Paprocki
Mayumi F Darakjy
Jennifer N Whobrey
Claire V Garufi
Ivar T Rim
Smith L Ostrosky
IdCountryDate
1000Canada2024-06-13
1001France2024-06-10
1002Argentina2024-05-24
1003United Kingdom2024-06-10
1004United Kingdom2024-05-30
1005Australia2024-05-23
1006Spain2024-05-25
1007Italy2024-06-08
1008France2024-05-24
1009United Kingdom2024-05-29
1010Germany2024-06-06
1011Brazil2024-06-03
1012Australia2024-06-04
1013Germany2024-06-01
1014Australia2024-06-09
1015Russia2024-05-21
1016Argentina2024-05-30
1017Germany2024-06-01
1018Argentina2024-05-25
1019Spain2024-05-27
1020Germany2024-05-31
1021France2024-06-02
1022France2024-06-15
1023Argentina2024-06-12
1024Argentina2024-06-14
1025Brazil2024-05-28
1026Argentina2024-06-08
1027Australia2024-06-11
1028Brazil2024-06-17
1029Spain2024-05-27
1030France2024-06-18
1031Russia2024-06-18
1032Italy2024-05-25
1033Australia2024-06-05
1034Russia2024-05-27
1035Canada2024-05-24
1036France2024-06-13
1037Canada2024-05-26
1038Germany2024-05-31
1039Canada2024-05-31
1040Argentina2024-06-02
1041Australia2024-06-18
1042United Kingdom2024-05-28
1043India2024-06-18
1044India2024-06-12
1045Russia2024-05-26
1046Brazil2024-06-02
1047Spain2024-05-30
1048India2024-05-30
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Maria G Paprocki1000Japan2024-06-01
Jennifer K Doe1001United Kingdom2024-06-16
Aditya I Caldarera1002Spain2024-05-30
Munro U Vocelka1003Brazil2024-06-05
Costa R Figeroa1004United Kingdom2024-06-15
Wickens B Tollner1005United Kingdom2024-06-10
Murillo I Campain1006Brazil2024-06-13
Ashley S Doe1007United Kingdom2024-06-12
Rodrigues N Shinko1008France2024-05-30
Aruna G Rim1009Japan2024-06-18
Tony V Bolognia1010Canada2024-06-18
Silvio M Bowley1011France2024-05-27
Maria U Wieser1012Brazil2024-06-06
Rodrigues B Doe1013Canada2024-06-16
Aditya J Amigon1014Argentina2024-05-22
Darci F Bowley1015France2024-06-04
Francesco A Malet1016Germany2024-05-27
Antonio N Caldarera1017United Kingdom2024-05-25
Izzy J Venere1018Spain2024-06-13
Maisha X Stockham1019Brazil2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues H AmigonArgentinaAnna Fali QUALIFIED
Nicolas T WieserCanadaAsiya Javayant UNQUALIFIED
Jennifer D PoquetteItalyAmy Elsner PROPOSAL
Cody U MaletRussiaBernardo Dominic UNQUALIFIED
Wickens L RimArgentinaAnna Fali QUALIFIED
Cody C ShinkoUnited KingdomAsiya Javayant QUALIFIED
Mayumi P SchemmerAustraliaOnyama Limba UNQUALIFIED
Sinclair S RoysterCanadaElwin Sharvill UNQUALIFIED
Cody H MacleadArgentinaBernardo Dominic QUALIFIED
Faith L FlosiGermanyAmy Elsner RENEWAL
James V AmigonItalyStephen Shaw NEGOTIATION
Darci D MorascaFranceStephen Shaw QUALIFIED
Smith B PerinBrazilAsiya Javayant NEW
Darci G MaletJapanElwin Sharvill RENEWAL
Chavez O ChuiCanadaXuxue Feng NEGOTIATION
Isabel V KolmetzBrazilAsiya Javayant NEGOTIATION
Ivar B AlbaresArgentinaXuxue Feng NEGOTIATION
Ashley T OldroydArgentinaOnyama Limba RENEWAL
Stacey U SchemmerAustraliaStephen Shaw RENEWAL
Francesco T SchemmerAustraliaAnna Fali UNQUALIFIED
Arvin X MaletArgentinaOnyama Limba NEW
Chavez G MarrierBrazilAsiya Javayant RENEWAL
Greenwood F SergiArgentinaOnyama Limba RENEWAL
Izzy V RutaCanadaAmy Elsner QUALIFIED
Costa K RutaAustraliaElwin Sharvill NEW
Kadeem I VocelkaItalyIvan Magalhaes NEGOTIATION
Maisha V BriddickUnited KingdomElwin Sharvill RENEWAL
Murillo Q AmigonSpainStephen Shaw NEW
Octavia I GillianIndiaIoni Bowcher NEGOTIATION
James M TollnerArgentinaElwin Sharvill RENEWAL
Jeanfrancois H OstroskyCanadaXuxue Feng PROPOSAL
Ivar T PerinCanadaElwin Sharvill PROPOSAL
Emily M SchemmerItalyAnna Fali PROPOSAL
Jefferson Z MarrierUnited KingdomOnyama Limba QUALIFIED
Julie D CaldareraIndiaAsiya Javayant UNQUALIFIED
Jones F OstroskyBrazilElwin Sharvill NEW
Munro I OstroskySpainAnna Fali NEW
Jennifer M DilliardSpainAnna Fali NEW
James C AmigonArgentinaStephen Shaw PROPOSAL
Alejandro O CaudyRussiaAmy Elsner RENEWAL

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