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 M OldroydCanadaAmy Elsner NEGOTIATION
Jennifer Z DarakjyFranceOnyama Limba RENEWAL
Wickens Y StensethRussiaXuxue Feng QUALIFIED
Costa U BriddickArgentinaBernardo Dominic RENEWAL
Juan S RoysterAustraliaElwin Sharvill RENEWAL
Misaki P InouyeCanadaOnyama Limba NEGOTIATION
Cody V SaylorsAustraliaAmy Elsner NEGOTIATION
Aruna T ShinkoItalyOnyama Limba UNQUALIFIED
Juan P BriddickGermanyOnyama Limba UNQUALIFIED
Ricardo J WaycottFranceIoni Bowcher NEW
Ivar P SlusarskiBrazilIvan Magalhaes NEW
Antonio E MorascaUnited KingdomAsiya Javayant QUALIFIED
Aditya X MacleadItalyAmy Elsner NEW
Ivar F FlosiGermanyAmy Elsner QUALIFIED
Jefferson Z WieserFranceBernardo Dominic NEGOTIATION
Ivar N ButtBrazilOnyama Limba PROPOSAL
Ivar A FerenczJapanXuxue Feng PROPOSAL
Mayumi D PaprockiGermanyStephen Shaw PROPOSAL
Julie I CampainCanadaXuxue Feng RENEWAL
Salvatore G KolmetzArgentinaAsiya Javayant RENEWAL
Faith V WieserSpainAmy Elsner NEW
Cody L ButtJapanStephen Shaw QUALIFIED
James X GarufiGermanyOnyama Limba RENEWAL
Faith U FollerItalyStephen Shaw QUALIFIED
Jefferson B FigeroaCanadaIoni Bowcher PROPOSAL
Alejandro E MaletAustraliaAsiya Javayant NEW
Aika X SergiArgentinaXuxue Feng RENEWAL
Arvin Y IturbideFranceXuxue Feng PROPOSAL
Jefferson L SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Stacey C ShinkoCanadaStephen Shaw UNQUALIFIED
Sinclair E WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Clifford I CaldareraJapanXuxue Feng NEGOTIATION
Izzy F MacleadGermanyAmy Elsner UNQUALIFIED
Wickens M MaletSpainAmy Elsner UNQUALIFIED
Maisha D VenereSpainElwin Sharvill QUALIFIED
Leon H PerinSpainStephen Shaw QUALIFIED
Mayumi M DoeUnited KingdomAsiya Javayant UNQUALIFIED
David R NestleCanadaBernardo Dominic PROPOSAL
Aika T BologniaFranceOnyama Limba NEW
Sinclair P PoquetteUnited KingdomAmy Elsner RENEWAL
Salvatore U BriddickAustraliaIoni Bowcher NEGOTIATION
James L ButtSpainAmy Elsner RENEWAL
Johnson Q FigeroaItalyAsiya Javayant NEGOTIATION
Costa G WieserJapanBernardo Dominic RENEWAL
Aruna N VocelkaAustraliaElwin Sharvill QUALIFIED
Julie A GlickRussiaOnyama Limba QUALIFIED
Arvin L NestleFranceStephen Shaw NEW
Silvio R ShinkoRussiaAmy Elsner NEW
Ashley N BriddickAustraliaAmy Elsner QUALIFIED
Johnson A AlbaresArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey A DoeUnited KingdomBernardo Dominic NEGOTIATION
Wickens W ButtArgentinaIoni Bowcher NEGOTIATION
Cody D FollerBrazilIoni Bowcher NEW
Faith I WhobreyAustraliaOnyama Limba PROPOSAL
Kadeem J BologniaAustraliaOnyama Limba UNQUALIFIED
Aruna O MaletItalyOnyama Limba PROPOSAL
Leon N MacleadUnited KingdomOnyama Limba UNQUALIFIED
Aika F FerenczGermanyXuxue Feng NEGOTIATION
Silvio W StockhamGermanyAnna Fali UNQUALIFIED
Aditya S AlbaresBrazilBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro B ButtUnited Kingdom2024-05-25Rangoni Of Florence PROPOSAL16Stephen Shaw
1001Aditya F GarufiGermany2024-06-08Feltz Printing Service UNQUALIFIED38Asiya Javayant
1002Munro J CaldareraArgentina2024-06-14Feltz Printing Service UNQUALIFIED45Ivan Magalhaes
1003Misaki N GarufiArgentina2024-05-23Printing Dimensions RENEWAL90Anna Fali
1004Alejandro C WieserSpain2024-06-16Rangoni Of Florence QUALIFIED39Amy Elsner
1005James Y WieserIndia2024-06-10Morlong Associates NEGOTIATION93Onyama Limba
1006Stacey Q StensethItaly2024-05-27Chapman, Ross E Esq UNQUALIFIED97Stephen Shaw
1007Smith T DarakjyJapan2024-05-30Rangoni Of Florence UNQUALIFIED41Onyama Limba
1008Mayumi U NestleAustralia2024-06-21Morlong Associates QUALIFIED95Anna Fali
1009Arvin L AmigonIndia2024-05-28Chemel, James L Cpa NEW91Elwin Sharvill
1010Johnson A VenereBrazil2024-06-05King, Christopher A Esq PROPOSAL14Ioni Bowcher
1011Tony O MaletSpain2024-05-30Feltz Printing Service NEGOTIATION85Stephen Shaw
1012Jefferson Y FlosiFrance2024-06-17Buckley Miller Wright NEGOTIATION12Amy Elsner
1013Smith X MaletSpain2024-06-21Commercial Press NEW28Onyama Limba
1014Morrow G PaprockiRussia2024-06-13Benton, John B Jr QUALIFIED19Asiya Javayant
1015Johnson T WaycottJapan2024-06-16Truhlar And Truhlar Attys RENEWAL3Stephen Shaw
1016Wickens I AlbaresCanada2024-06-01Printing Dimensions RENEWAL21Bernardo Dominic
1017Jennifer Z FlosiArgentina2024-05-31Dorl, James J Esq QUALIFIED39Ioni Bowcher
1018Jennifer X DilliardItaly2024-05-31Feiner Bros NEGOTIATION55Asiya Javayant
1019Adams X MaletJapan2024-06-07Chanay, Jeffrey A Esq NEGOTIATION90Stephen Shaw
1020Clifford P StensethIndia2024-06-18Printing Dimensions QUALIFIED6Ivan Magalhaes
1021Jennifer A DoeCanada2024-05-28Chemel, James L Cpa RENEWAL40Bernardo Dominic
1022Isabel A ShinkoIndia2024-06-05Rangoni Of Florence QUALIFIED35Ioni Bowcher
1023Jennifer J ChuiSpain2024-05-30Rangoni Of Florence QUALIFIED4Stephen Shaw
1024Salvatore U RulapaughIndia2024-06-15Dorl, James J Esq RENEWAL79Elwin Sharvill
1025Smith D GillianAustralia2024-05-23Rangoni Of Florence NEW57Ioni Bowcher
1026Julie R TollnerIndia2024-05-31Benton, John B Jr NEW48Amy Elsner
1027Juan N DoeGermany2024-06-09Dorl, James J Esq RENEWAL14Onyama Limba
1028Clifford H SaylorsGermany2024-06-02Chapman, Ross E Esq NEW78Elwin Sharvill
1029Adams Z StockhamGermany2024-06-12Buckley Miller Wright NEGOTIATION83Amy Elsner
1030Sinclair K BriddickIndia2024-05-26Rousseaux, Michael Esq RENEWAL51Onyama Limba
1031Misaki H RoysterGermany2024-06-08Dorl, James J Esq RENEWAL21Ioni Bowcher
1032Faith F SchemmerFrance2024-05-26Truhlar And Truhlar Attys NEW93Ioni Bowcher
1033Costa B PoquetteSpain2024-06-14King, Christopher A Esq PROPOSAL27Onyama Limba
1034Jennifer Q CaldareraArgentina2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1035Greenwood Y BologniaUnited Kingdom2024-05-30Chemel, James L Cpa QUALIFIED96Xuxue Feng
1036Salvatore S RimGermany2024-06-14Feiner Bros UNQUALIFIED85Asiya Javayant
1037Aruna Q CaudyRussia2024-06-21Printing Dimensions UNQUALIFIED21Asiya Javayant
1038Darci V AlbaresIndia2024-06-06Commercial Press NEGOTIATION0Onyama Limba
1039Leja M RutaArgentina2024-06-13Rangoni Of Florence QUALIFIED78Amy Elsner
1040Sinclair C ShinkoRussia2024-06-12Benton, John B Jr NEW81Stephen Shaw
1041Darci R ShinkoJapan2024-05-29Printing Dimensions NEGOTIATION29Anna Fali
1042Tony S FigeroaRussia2024-06-11Rangoni Of Florence QUALIFIED35Amy Elsner
1043Antonio O AlbaresUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEW50Onyama Limba
1044Jefferson P KuskoCanada2024-05-26Buckley Miller Wright RENEWAL26Asiya Javayant
1045Stacey O AmigonSpain2024-06-02Buckley Miller Wright NEW58Asiya Javayant
1046Darci A FigeroaBrazil2024-06-04Chanay, Jeffrey A Esq PROPOSAL67Stephen Shaw
1047Claire O WieserArgentina2024-06-16Buckley Miller Wright NEGOTIATION66Stephen Shaw
1048Claire R BriddickJapan2024-06-17Morlong Associates UNQUALIFIED75Onyama Limba
1049Adams F WieserAustralia2024-06-13Printing Dimensions NEW41Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya A RutaCanadaAmy Elsner UNQUALIFIED
Isabel Y IturbideArgentinaElwin Sharvill UNQUALIFIED
Kaitlin F RutaBrazilBernardo Dominic NEGOTIATION
Tony G GillianFranceBernardo Dominic QUALIFIED
Aika N MaletGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois H AlbaresSpainIoni Bowcher QUALIFIED
Aruna U CampainSpainAsiya Javayant QUALIFIED
Antonio Y NickaJapanAmy Elsner RENEWAL
Greenwood M GlickBrazilOnyama Limba QUALIFIED
Silvio V MarrierBrazilXuxue Feng PROPOSAL
Jones Z GauchoFranceAnna Fali QUALIFIED
Smith M SergiCanadaIvan Magalhaes QUALIFIED
Mujtaba O SlusarskiIndiaXuxue Feng UNQUALIFIED
James E GauchoArgentinaStephen Shaw QUALIFIED
Mayumi V ButtSpainIoni Bowcher NEGOTIATION
Leon I IturbideRussiaElwin Sharvill PROPOSAL
Murillo W OstroskyGermanyAsiya Javayant NEW
Salvatore X RoysterCanadaAnna Fali QUALIFIED
Rodrigues K RimFranceXuxue Feng QUALIFIED
Greenwood L CaudyArgentinaElwin Sharvill PROPOSAL
Leja S KuskoAustraliaAmy Elsner NEGOTIATION
Sinclair A SlusarskiItalyAmy Elsner PROPOSAL
Greenwood K CaldareraCanadaXuxue Feng NEW
Faith M SchemmerRussiaIoni Bowcher QUALIFIED
Costa Y DilliardRussiaAnna Fali NEGOTIATION
David R ShinkoCanadaAmy Elsner NEW
Silvio V AmigonRussiaBernardo Dominic NEGOTIATION
Darci M AlbaresBrazilElwin Sharvill NEW
Chavez C RulapaughBrazilXuxue Feng PROPOSAL
Isabel T GarufiFranceBernardo Dominic NEGOTIATION
Leja G MaletItalyIvan Magalhaes NEW
Greenwood O ChuiSpainAsiya Javayant RENEWAL
Sinclair K RimRussiaIoni Bowcher RENEWAL
James I RimBrazilXuxue Feng QUALIFIED
Jones Y SchemmerUnited KingdomAnna Fali PROPOSAL
David D GillianRussiaElwin Sharvill QUALIFIED
Murillo P GlickArgentinaStephen Shaw NEW
Morrow W DilliardGermanyXuxue Feng NEW
David K ButtAustraliaXuxue Feng QUALIFIED
Alejandro J WaycottGermanyBernardo Dominic RENEWAL
Misaki T RutaIndiaXuxue Feng QUALIFIED
Ivar I KuskoArgentinaStephen Shaw QUALIFIED
Maisha G MorascaArgentinaAmy Elsner PROPOSAL
Nicolas W OldroydFranceIvan Magalhaes QUALIFIED
Mayumi P CaldareraBrazilIoni Bowcher QUALIFIED
Julie N PoquetteFranceAmy Elsner RENEWAL
Salvatore L VenereSpainStephen Shaw NEW
James I IturbideAustraliaStephen Shaw NEW
Murillo Y KolmetzSpainBernardo Dominic NEGOTIATION
Kaitlin B GillianItalyAmy Elsner NEGOTIATION
Frozen Columns
Name
Deepesh V Waycott
Francesco C Doe
Jeanfrancois W Whobrey
Silvio X Foller
Adams Q Whobrey
Ashley I Briddick
Wickens W Wieser
Misaki J Maclead
Misaki L Bowley
Salvatore Y Marrier
Sinclair O Nicka
Sinclair Z Briddick
Morrow I Saylors
Wickens O Albares
Morrow T Wieser
Kaitlin D Bowley
Smith Y Bowley
Alejandro V Caudy
Emily D Sergi
Emily K Dilliard
Ivar O Doe
Munro B Morasca
Leja U Ferencz
Murillo M Whobrey
Darci C Tollner
Kadeem J Rim
Chavez P Bowley
David U Kolmetz
Greenwood D Royster
Jennifer F Morasca
Claire X Glick
Sinclair A Oldroyd
Mayumi N Butt
Costa Z Amigon
Mujtaba S Ruta
Costa H Gaucho
Ricardo S Venere
Antonio D Bowley
Isabel S Venere
Mujtaba J Albares
Francesco B Campain
Kadeem O Venere
Kadeem P Butt
Arvin H Kolmetz
Leon P Royster
Arvin H Chui
Silvio P Garufi
Leja V Garufi
Kadeem E Wieser
Clifford H Caudy
IdCountryDate
1000India2024-05-25
1001India2024-05-26
1002Argentina2024-06-15
1003United Kingdom2024-05-30
1004Italy2024-06-14
1005France2024-06-02
1006Argentina2024-06-13
1007Japan2024-06-12
1008France2024-05-25
1009Germany2024-05-30
1010Russia2024-06-11
1011France2024-06-09
1012France2024-05-29
1013Canada2024-06-07
1014Italy2024-05-29
1015Australia2024-06-04
1016Italy2024-05-30
1017Argentina2024-06-20
1018France2024-06-09
1019India2024-06-17
1020Argentina2024-06-15
1021Italy2024-05-23
1022Germany2024-05-25
1023France2024-06-12
1024Spain2024-06-03
1025Spain2024-05-23
1026Italy2024-06-13
1027Canada2024-06-08
1028France2024-05-31
1029India2024-05-27
1030Italy2024-05-30
1031Italy2024-06-10
1032Spain2024-05-23
1033Canada2024-06-15
1034India2024-06-03
1035Canada2024-05-28
1036Italy2024-05-30
1037India2024-06-15
1038Germany2024-06-18
1039Spain2024-06-07
1040France2024-06-19
1041Germany2024-06-15
1042Japan2024-05-30
1043Australia2024-05-29
1044France2024-05-27
1045Argentina2024-06-04
1046Canada2024-06-07
1047Australia2024-06-09
1048Australia2024-05-23
1049United Kingdom2024-06-21

On-Demand Data

NameIdCountryDate
Francesco K Caldarera1000Germany2024-05-31
Nicolas D Kolmetz1001France2024-05-26
Claire M Campain1002Italy2024-06-09
Chavez N Gillian1003Canada2024-05-30
Francesco I Gillian1004Australia2024-06-15
Aruna U Marrier1005United Kingdom2024-06-19
Leja L Nestle1006United Kingdom2024-06-18
Cody I Flosi1007Spain2024-06-20
Rodrigues X Chui1008Germany2024-06-03
Tony C Tollner1009Australia2024-06-19
Leja E Wieser1010Japan2024-06-17
Cody S Campain1011Russia2024-06-11
Salvatore R Gaucho1012United Kingdom2024-05-31
Jones O Schemmer1013United Kingdom2024-06-12
Jennifer B Wieser1014Russia2024-05-23
Julie Z Chui1015France2024-06-04
Rodrigues Q Amigon1016Germany2024-06-21
Emily W Foller1017Russia2024-06-01
Juan K Albares1018Japan2024-06-14
Julie C Kolmetz1019Canada2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson C CaudyJapanAmy Elsner PROPOSAL
Claire U SergiSpainAmy Elsner PROPOSAL
James S StensethSpainStephen Shaw NEW
Jefferson F StensethIndiaOnyama Limba NEW
Leon I FollerSpainAmy Elsner QUALIFIED
Tony K InouyeUnited KingdomIvan Magalhaes NEW
Stacey H BriddickFranceElwin Sharvill NEW
Maria W FerenczRussiaAnna Fali UNQUALIFIED
James M InouyeIndiaIvan Magalhaes QUALIFIED
Deepesh W StockhamJapanElwin Sharvill PROPOSAL
Kadeem M MarrierCanadaAmy Elsner NEGOTIATION
Octavia S RutaIndiaElwin Sharvill RENEWAL
Costa S TollnerAustraliaStephen Shaw NEGOTIATION
Silvio E ChuiArgentinaStephen Shaw PROPOSAL
Alejandro O ChuiArgentinaXuxue Feng QUALIFIED
David B CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Ashley V ChuiArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois R SergiIndiaBernardo Dominic QUALIFIED
Wickens Q NestleJapanAmy Elsner UNQUALIFIED
Octavia Q PerinGermanyIvan Magalhaes RENEWAL
James M RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois H PerinJapanIvan Magalhaes UNQUALIFIED
Antonio N DarakjyJapanBernardo Dominic UNQUALIFIED
Cody X GillianGermanyIoni Bowcher PROPOSAL
Julie I FigeroaIndiaAnna Fali RENEWAL
Clifford P SaylorsUnited KingdomStephen Shaw NEW
James M RulapaughAustraliaIvan Magalhaes PROPOSAL
Ivar O StockhamRussiaStephen Shaw QUALIFIED
Maisha Z PaprockiFranceOnyama Limba QUALIFIED
Alejandro E OldroydAustraliaOnyama Limba NEGOTIATION
Smith D KolmetzArgentinaElwin Sharvill PROPOSAL
David O WaycottCanadaBernardo Dominic QUALIFIED
Leon O FlosiCanadaAsiya Javayant UNQUALIFIED
Silvio L NestleArgentinaAsiya Javayant NEW
Jeanfrancois J CaudyCanadaIoni Bowcher QUALIFIED
Tony O AmigonGermanyAnna Fali RENEWAL
Tony K RimIndiaBernardo Dominic UNQUALIFIED
Sinclair J RoysterJapanAsiya Javayant NEGOTIATION
Jefferson A GarufiFranceAnna Fali NEW
Murillo R SaylorsItalyStephen Shaw 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>