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
Jeanfrancois I CaldareraRussiaIvan Magalhaes UNQUALIFIED
Morrow C MacleadItalyXuxue Feng QUALIFIED
David M WhobreyAustraliaBernardo Dominic NEW
Leon B BriddickBrazilOnyama Limba NEW
Mayumi A CampainIndiaXuxue Feng UNQUALIFIED
David W MorascaUnited KingdomIvan Magalhaes NEW
Jeanfrancois I GlickFranceAnna Fali NEW
Mayumi A BowleySpainStephen Shaw NEW
Ashley Y AmigonUnited KingdomStephen Shaw NEW
Greenwood R SlusarskiIndiaStephen Shaw PROPOSAL
Leon J VocelkaSpainStephen Shaw QUALIFIED
Tony P MorascaFranceIvan Magalhaes NEW
Murillo M FigeroaArgentinaAmy Elsner NEGOTIATION
Stacey Q RulapaughUnited KingdomStephen Shaw NEGOTIATION
Misaki U MaletItalyAsiya Javayant QUALIFIED
Jeanfrancois I WhobreyGermanyBernardo Dominic RENEWAL
Costa P GauchoItalyOnyama Limba PROPOSAL
Morrow O PerinArgentinaElwin Sharvill PROPOSAL
Aruna O MarrierSpainStephen Shaw UNQUALIFIED
Ricardo I WhobreyIndiaAnna Fali NEGOTIATION
Antonio P BowleyCanadaElwin Sharvill NEGOTIATION
James O SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy L GauchoBrazilStephen Shaw RENEWAL
Munro F SergiJapanStephen Shaw RENEWAL
Maria B GauchoBrazilStephen Shaw NEW
Jefferson X OldroydJapanElwin Sharvill RENEWAL
Jefferson A GauchoUnited KingdomOnyama Limba QUALIFIED
Sinclair E PoquetteCanadaBernardo Dominic NEW
Claire H ChuiFranceIoni Bowcher UNQUALIFIED
Antonio K ChuiItalyElwin Sharvill UNQUALIFIED
Johnson J GauchoAustraliaAsiya Javayant RENEWAL
Aika C FerenczItalyBernardo Dominic QUALIFIED
Antonio F ChuiUnited KingdomElwin Sharvill QUALIFIED
Francesco F InouyeSpainAsiya Javayant RENEWAL
Francesco U TollnerAustraliaStephen Shaw RENEWAL
Izzy E SlusarskiRussiaAsiya Javayant UNQUALIFIED
Antonio B RutaFranceAsiya Javayant NEGOTIATION
Rodrigues F SergiSpainOnyama Limba QUALIFIED
Chavez M PoquetteIndiaIvan Magalhaes NEGOTIATION
Antonio H PaprockiArgentinaStephen Shaw PROPOSAL
James H VocelkaAustraliaIoni Bowcher RENEWAL
Ricardo B DarakjyAustraliaAmy Elsner UNQUALIFIED
Cody R FlosiItalyAnna Fali NEW
Ashley I DarakjyArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois A DarakjyUnited KingdomXuxue Feng NEW
Francesco G DoeAustraliaIvan Magalhaes NEGOTIATION
Ricardo E SaylorsIndiaBernardo Dominic QUALIFIED
Costa N InouyeGermanyAsiya Javayant QUALIFIED
Claire D FlosiUnited KingdomStephen Shaw QUALIFIED
Stacey N NestleBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood V ChuiGermanyAmy Elsner PROPOSAL
Stacey V BologniaRussiaXuxue Feng RENEWAL
Cody Z MaletIndiaAnna Fali UNQUALIFIED
Rodrigues M DilliardArgentinaStephen Shaw QUALIFIED
Salvatore Z PoquetteAustraliaOnyama Limba PROPOSAL
Leja T BriddickBrazilBernardo Dominic NEW
Rodrigues S BowleyJapanAnna Fali UNQUALIFIED
Costa J SlusarskiBrazilIvan Magalhaes PROPOSAL
Ashley S CaudyArgentinaAmy Elsner RENEWAL
Jefferson K WaycottBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Q BologniaCanada2024-05-09Chemel, James L Cpa PROPOSAL62Xuxue Feng
1001Johnson N AmigonJapan2024-04-30Benton, John B Jr UNQUALIFIED53Stephen Shaw
1002Jones B NestleItaly2024-05-01Chapman, Ross E Esq QUALIFIED97Onyama Limba
1003Adams Z CaudyBrazil2024-05-14Commercial Press NEW48Onyama Limba
1004Deepesh H VocelkaArgentina2024-05-21Printing Dimensions UNQUALIFIED80Ioni Bowcher
1005Kaitlin I MarrierUnited Kingdom2024-05-06Feiner Bros RENEWAL80Onyama Limba
1006Maria O BologniaArgentina2024-05-16Feltz Printing Service PROPOSAL15Asiya Javayant
1007Kadeem E GauchoBrazil2024-05-28Morlong Associates RENEWAL85Xuxue Feng
1008Silvio K FigeroaSpain2024-05-15Buckley Miller Wright UNQUALIFIED18Amy Elsner
1009Silvio U RutaBrazil2024-05-25Benton, John B Jr QUALIFIED7Onyama Limba
1010Mayumi J IturbideAustralia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED69Onyama Limba
1011Kaitlin J PerinArgentina2024-05-26Feltz Printing Service RENEWAL65Onyama Limba
1012Izzy L ShinkoIndia2024-05-08Chemel, James L Cpa NEGOTIATION19Amy Elsner
1013Salvatore R MaletFrance2024-04-30Feiner Bros QUALIFIED47Ioni Bowcher
1014Kadeem V CampainBrazil2024-05-19Truhlar And Truhlar Attys QUALIFIED95Asiya Javayant
1015Nicolas Z SergiJapan2024-05-16Truhlar And Truhlar Attys PROPOSAL23Bernardo Dominic
1016Mayumi J GillianGermany2024-05-21Rousseaux, Michael Esq NEGOTIATION17Xuxue Feng
1017David Z MaletAustralia2024-05-06Feiner Bros NEGOTIATION39Asiya Javayant
1018Faith C SlusarskiSpain2024-05-20Dorl, James J Esq UNQUALIFIED9Anna Fali
1019Aruna L MarrierItaly2024-05-17Rangoni Of Florence NEW80Amy Elsner
1020Stacey M CampainCanada2024-05-18Feltz Printing Service UNQUALIFIED57Ivan Magalhaes
1021Darci Z NestleUnited Kingdom2024-05-25Rousseaux, Michael Esq PROPOSAL15Bernardo Dominic
1022Emily W CaudyFrance2024-05-04Morlong Associates PROPOSAL18Onyama Limba
1023Aika L WieserBrazil2024-04-30Chemel, James L Cpa NEGOTIATION86Ivan Magalhaes
1024Aruna F StockhamArgentina2024-05-23Benton, John B Jr NEGOTIATION19Asiya Javayant
1025Johnson E BriddickGermany2024-05-08Chanay, Jeffrey A Esq NEW27Onyama Limba
1026Aruna K AlbaresGermany2024-05-19Buckley Miller Wright PROPOSAL46Bernardo Dominic
1027Greenwood V KolmetzGermany2024-05-05King, Christopher A Esq PROPOSAL42Asiya Javayant
1028Adams V IturbideRussia2024-05-18Rangoni Of Florence PROPOSAL70Elwin Sharvill
1029Rodrigues E WaycottSpain2024-05-22Feiner Bros UNQUALIFIED77Asiya Javayant
1030Aditya Q RimSpain2024-05-08Chemel, James L Cpa UNQUALIFIED46Onyama Limba
1031Mujtaba P AmigonArgentina2024-05-10Commercial Press RENEWAL43Ioni Bowcher
1032Salvatore E FollerArgentina2024-05-23Rangoni Of Florence UNQUALIFIED81Stephen Shaw
1033Deepesh K StockhamItaly2024-05-06Dorl, James J Esq QUALIFIED66Asiya Javayant
1034James R CaudyUnited Kingdom2024-05-20Truhlar And Truhlar Attys NEGOTIATION93Bernardo Dominic
1035Sinclair T NestleItaly2024-05-26Feiner Bros QUALIFIED8Ioni Bowcher
1036Julie A FollerJapan2024-05-27Morlong Associates PROPOSAL49Onyama Limba
1037Ivar I MorascaRussia2024-05-24Chapman, Ross E Esq QUALIFIED54Ioni Bowcher
1038Emily S ShinkoUnited Kingdom2024-05-22Commercial Press PROPOSAL95Ivan Magalhaes
1039Smith J BowleyCanada2024-05-05King, Christopher A Esq QUALIFIED69Stephen Shaw
1040Octavia T VocelkaFrance2024-05-09Truhlar And Truhlar Attys UNQUALIFIED18Ivan Magalhaes
1041Murillo A CampainBrazil2024-05-24Rousseaux, Michael Esq QUALIFIED54Asiya Javayant
1042Aika X PerinArgentina2024-05-29Feiner Bros NEW60Xuxue Feng
1043Leja Q StockhamAustralia2024-05-20Printing Dimensions UNQUALIFIED44Onyama Limba
1044Chavez K SaylorsAustralia2024-05-19Dorl, James J Esq RENEWAL29Stephen Shaw
1045Deepesh O StockhamSpain2024-05-07Chapman, Ross E Esq PROPOSAL70Stephen Shaw
1046Julie O MacleadFrance2024-05-17Rousseaux, Michael Esq PROPOSAL64Ioni Bowcher
1047David V PoquetteArgentina2024-05-01Chapman, Ross E Esq UNQUALIFIED88Amy Elsner
1048Maria V WaycottUnited Kingdom2024-05-07Chemel, James L Cpa QUALIFIED97Elwin Sharvill
1049Rodrigues U ChuiSpain2024-04-30Buckley Miller Wright NEW27Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow H PoquetteIndiaXuxue Feng RENEWAL
Chavez F ShinkoJapanOnyama Limba RENEWAL
Ricardo L OstroskyFranceIvan Magalhaes NEGOTIATION
Aruna Z FlosiCanadaStephen Shaw NEW
Costa G AmigonIndiaAsiya Javayant UNQUALIFIED
Murillo L GarufiUnited KingdomAmy Elsner UNQUALIFIED
Silvio V GauchoUnited KingdomElwin Sharvill PROPOSAL
David K GlickItalyIoni Bowcher UNQUALIFIED
Leon K PerinSpainIvan Magalhaes UNQUALIFIED
Darci F DarakjyRussiaStephen Shaw NEW
Jones V WhobreySpainAmy Elsner NEGOTIATION
Jones E RimCanadaAnna Fali UNQUALIFIED
Jefferson J CaldareraSpainElwin Sharvill QUALIFIED
Mayumi Q RutaRussiaXuxue Feng RENEWAL
Nicolas Z PaprockiFranceBernardo Dominic PROPOSAL
Kaitlin N KolmetzRussiaAnna Fali PROPOSAL
Nicolas P PaprockiRussiaStephen Shaw UNQUALIFIED
Jennifer B DilliardItalyIvan Magalhaes QUALIFIED
Arvin S DoeRussiaAmy Elsner NEGOTIATION
Ricardo T MaletUnited KingdomIoni Bowcher NEW
Juan T IturbideFranceXuxue Feng QUALIFIED
Izzy N MaletUnited KingdomBernardo Dominic QUALIFIED
Leon L GlickArgentinaAmy Elsner QUALIFIED
Cody Z GlickBrazilIoni Bowcher QUALIFIED
Costa Y DarakjyItalyElwin Sharvill NEW
Octavia S DarakjyAustraliaElwin Sharvill PROPOSAL
Francesco V DarakjyCanadaAnna Fali UNQUALIFIED
Tony A DilliardRussiaStephen Shaw NEW
Faith W PerinAustraliaIoni Bowcher PROPOSAL
Isabel H CaudySpainAmy Elsner NEGOTIATION
Cody P AmigonItalyAsiya Javayant NEW
Kadeem I RutaRussiaXuxue Feng UNQUALIFIED
Jennifer X AlbaresArgentinaXuxue Feng NEGOTIATION
Tony F NestleIndiaStephen Shaw QUALIFIED
Wickens H PaprockiRussiaXuxue Feng PROPOSAL
Jefferson J GarufiSpainAnna Fali RENEWAL
Jones F RimRussiaBernardo Dominic NEW
Misaki H MarrierAustraliaXuxue Feng NEGOTIATION
Wickens O OldroydArgentinaElwin Sharvill QUALIFIED
Stacey S BologniaJapanStephen Shaw PROPOSAL
Clifford H BowleyItalyAsiya Javayant NEGOTIATION
Salvatore K NickaCanadaAnna Fali NEGOTIATION
Francesco K OldroydArgentinaAmy Elsner UNQUALIFIED
Leja A CaldareraArgentinaElwin Sharvill QUALIFIED
Maisha A DoeJapanIvan Magalhaes UNQUALIFIED
Maria Z GlickItalyStephen Shaw PROPOSAL
Aika V BologniaIndiaAsiya Javayant QUALIFIED
Chavez M RutaArgentinaAnna Fali NEGOTIATION
Francesco I AlbaresSpainXuxue Feng UNQUALIFIED
Morrow T SaylorsCanadaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Jefferson W Chui
Jeanfrancois Y Kusko
Smith T Stenseth
Stacey Z Saylors
Aditya Y Figeroa
Jefferson Q Schemmer
Leja W Gillian
Leon Z Tollner
Aditya C Foller
Jones Y Dilliard
Deepesh E Ferencz
Cody J Royster
Julie A Venere
Juan L Doe
Leon K Gillian
Jeanfrancois E Bolognia
Octavia N Ferencz
Sinclair Z Flosi
Adams X Gaucho
Maria R Stenseth
Misaki A Inouye
Jefferson D Saylors
Clifford P Ruta
Rodrigues B Stockham
Octavia T Iturbide
Claire F Ferencz
Johnson D Bolognia
Izzy X Wieser
Francesco S Dilliard
Silvio D Rim
Chavez W Iturbide
Johnson B Perin
Deepesh C Ferencz
Jennifer K Stenseth
Rodrigues O Dilliard
Maria J Maclead
Isabel X Oldroyd
Costa J Nicka
Mayumi U Waycott
Faith B Iturbide
Silvio L Dilliard
Antonio Z Wieser
Nicolas K Paprocki
Mujtaba E Butt
Morrow V Saylors
Misaki T Amigon
Maisha X Campain
Nicolas P Kusko
Johnson O Malet
Jeanfrancois J Caudy
IdCountryDate
1000Italy2024-05-23
1001Australia2024-05-11
1002Italy2024-05-09
1003Argentina2024-05-03
1004Spain2024-05-17
1005Italy2024-05-15
1006Italy2024-05-08
1007Brazil2024-05-08
1008Russia2024-05-03
1009India2024-05-13
1010France2024-05-25
1011Spain2024-04-30
1012Canada2024-05-15
1013France2024-05-13
1014Brazil2024-05-09
1015United Kingdom2024-05-19
1016India2024-05-21
1017Argentina2024-05-02
1018Russia2024-05-18
1019Germany2024-05-22
1020Canada2024-05-17
1021Russia2024-05-24
1022France2024-05-17
1023United Kingdom2024-05-24
1024Russia2024-05-07
1025Japan2024-05-10
1026Brazil2024-05-25
1027Italy2024-05-04
1028Spain2024-05-04
1029Japan2024-05-05
1030Russia2024-05-19
1031Argentina2024-05-28
1032Italy2024-05-19
1033Argentina2024-04-30
1034Italy2024-05-05
1035Spain2024-05-01
1036Canada2024-05-05
1037Italy2024-05-04
1038Japan2024-05-28
1039India2024-05-06
1040Germany2024-05-27
1041Argentina2024-05-09
1042Russia2024-05-05
1043Italy2024-05-11
1044Brazil2024-05-20
1045Germany2024-05-04
1046Russia2024-05-08
1047Germany2024-05-29
1048Italy2024-05-29
1049Spain2024-05-13

On-Demand Data

NameIdCountryDate
Alejandro B Sergi1000Argentina2024-05-08
Emily N Paprocki1001United Kingdom2024-05-07
Julie Y Amigon1002Australia2024-05-10
Salvatore V Iturbide1003Brazil2024-05-28
Stacey K Vocelka1004France2024-05-26
Aika K Ferencz1005Spain2024-05-22
Darci A Shinko1006United Kingdom2024-05-19
Rodrigues K Kusko1007Canada2024-05-02
Johnson E Venere1008United Kingdom2024-05-26
David U Slusarski1009Germany2024-05-11
David D Garufi1010France2024-05-14
Mujtaba R Butt1011Germany2024-05-24
Munro A Glick1012India2024-05-24
James K Figeroa1013Italy2024-05-22
Smith O Shinko1014Japan2024-04-30
Aika Y Maclead1015Australia2024-05-28
Costa O Bolognia1016United Kingdom2024-05-11
Maisha K Garufi1017United Kingdom2024-05-09
Leja L Schemmer1018Australia2024-05-28
Rodrigues Y Poquette1019Brazil2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow K BologniaFranceXuxue Feng RENEWAL
Ashley R StockhamCanadaXuxue Feng NEGOTIATION
Aika X StensethJapanBernardo Dominic QUALIFIED
Silvio Q FigeroaRussiaElwin Sharvill PROPOSAL
Kadeem I CaldareraJapanAmy Elsner QUALIFIED
Isabel C VocelkaSpainOnyama Limba NEGOTIATION
Izzy T KuskoUnited KingdomXuxue Feng RENEWAL
Antonio H FigeroaSpainXuxue Feng NEW
Costa U AlbaresCanadaBernardo Dominic PROPOSAL
Wickens S ShinkoIndiaIoni Bowcher NEW
Aika T DarakjyCanadaAsiya Javayant UNQUALIFIED
Jennifer T SergiGermanyElwin Sharvill PROPOSAL
Munro B RimBrazilAsiya Javayant QUALIFIED
Kadeem V FigeroaJapanIvan Magalhaes PROPOSAL
Costa X NickaArgentinaIoni Bowcher NEGOTIATION
Murillo R IturbideItalyXuxue Feng NEW
Faith D FerenczItalyOnyama Limba PROPOSAL
Kaitlin J TollnerArgentinaXuxue Feng NEW
Smith Q PoquetteCanadaAnna Fali PROPOSAL
Izzy J MarrierFranceIoni Bowcher PROPOSAL
Emily B OstroskyItalyOnyama Limba RENEWAL
James Y DilliardAustraliaIvan Magalhaes RENEWAL
Wickens U AlbaresJapanBernardo Dominic NEW
Alejandro U BowleyRussiaStephen Shaw QUALIFIED
Costa L ButtItalyAnna Fali UNQUALIFIED
Jeanfrancois A PaprockiArgentinaAmy Elsner RENEWAL
Ivar K StockhamItalyIvan Magalhaes UNQUALIFIED
Darci E CampainBrazilAmy Elsner NEW
Emily Q VocelkaAustraliaOnyama Limba RENEWAL
Antonio A DoeRussiaIvan Magalhaes UNQUALIFIED
Jones Y WaycottAustraliaStephen Shaw RENEWAL
Cody R SaylorsArgentinaAnna Fali QUALIFIED
Aruna Z StensethJapanAmy Elsner NEGOTIATION
Chavez Q GlickUnited KingdomBernardo Dominic QUALIFIED
Greenwood I PoquetteItalyStephen Shaw NEGOTIATION
Aditya W MarrierAustraliaOnyama Limba UNQUALIFIED
Aditya K GlickArgentinaBernardo Dominic NEW
Rodrigues D RoysterUnited KingdomIoni Bowcher RENEWAL
Arvin M ShinkoItalyIoni Bowcher QUALIFIED
Murillo U SlusarskiJapanBernardo Dominic PROPOSAL

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