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
Maisha F SlusarskiJapanXuxue Feng PROPOSAL
David T ButtSpainIvan Magalhaes NEW
Alejandro X MorascaCanadaAnna Fali UNQUALIFIED
Ashley E VocelkaArgentinaIvan Magalhaes PROPOSAL
Antonio Z GlickArgentinaOnyama Limba NEGOTIATION
Aika G CampainAustraliaAnna Fali NEGOTIATION
Isabel X RoysterFranceIoni Bowcher UNQUALIFIED
Greenwood S IturbideUnited KingdomOnyama Limba NEGOTIATION
Tony B MorascaBrazilBernardo Dominic RENEWAL
Mujtaba F MarrierFranceStephen Shaw RENEWAL
Tony T ChuiArgentinaIoni Bowcher NEW
Costa Q KolmetzGermanyIoni Bowcher UNQUALIFIED
Rodrigues A GillianSpainAmy Elsner RENEWAL
David X RoysterCanadaAsiya Javayant UNQUALIFIED
Francesco Y InouyeJapanAnna Fali NEW
Aruna P BowleySpainOnyama Limba NEW
Juan Q BologniaIndiaXuxue Feng UNQUALIFIED
Arvin X GillianUnited KingdomBernardo Dominic QUALIFIED
Misaki H ChuiFranceAmy Elsner NEW
Aditya Y RutaAustraliaIvan Magalhaes NEGOTIATION
Mayumi Z NestleRussiaIoni Bowcher PROPOSAL
Octavia O OldroydUnited KingdomIvan Magalhaes NEW
Wickens C AlbaresIndiaStephen Shaw NEW
Leon W MarrierFranceAsiya Javayant PROPOSAL
Jones L BologniaCanadaAmy Elsner NEW
Munro P MaletRussiaBernardo Dominic NEW
Deepesh R RutaIndiaStephen Shaw RENEWAL
Kadeem F OldroydBrazilAnna Fali NEGOTIATION
Smith O CaudyJapanStephen Shaw RENEWAL
Aruna N StockhamFranceAnna Fali NEGOTIATION
Ivar V GillianItalyAnna Fali NEGOTIATION
Adams G WaycottAustraliaOnyama Limba NEW
Smith P ButtFranceIvan Magalhaes QUALIFIED
Johnson S PerinUnited KingdomElwin Sharvill RENEWAL
Leon F InouyeAustraliaAmy Elsner QUALIFIED
Cody E PerinArgentinaAnna Fali NEW
Leon P SchemmerBrazilBernardo Dominic PROPOSAL
Leon O MaletArgentinaAmy Elsner NEGOTIATION
Isabel M DilliardBrazilStephen Shaw QUALIFIED
Stacey J MacleadIndiaIoni Bowcher NEW
Adams L MaletAustraliaXuxue Feng NEGOTIATION
Costa J FerenczSpainAsiya Javayant PROPOSAL
Aruna Z IturbideBrazilOnyama Limba UNQUALIFIED
Maisha B RutaRussiaIoni Bowcher RENEWAL
Misaki H MaletAustraliaIoni Bowcher PROPOSAL
Emily O GillianBrazilStephen Shaw PROPOSAL
Aika D DoeRussiaAsiya Javayant UNQUALIFIED
Maria D KuskoItalyAnna Fali QUALIFIED
Aruna B NickaArgentinaBernardo Dominic RENEWAL
Stacey I TollnerFranceOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro S FerenczArgentinaAsiya Javayant RENEWAL
Rodrigues Q OldroydJapanIvan Magalhaes PROPOSAL
Greenwood V ShinkoBrazilAmy Elsner NEW
Kadeem Z ButtFranceXuxue Feng RENEWAL
Leon Q RutaIndiaOnyama Limba UNQUALIFIED
Maria O PoquetteFranceElwin Sharvill UNQUALIFIED
Costa Q BologniaCanadaAnna Fali QUALIFIED
Rodrigues E OstroskyCanadaXuxue Feng NEGOTIATION
Juan S KuskoFranceAsiya Javayant RENEWAL
Maisha Y OstroskyJapanOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio A OldroydItaly2024-06-03Chemel, James L Cpa QUALIFIED93Amy Elsner
1001Ashley R MacleadArgentina2024-06-19Chanay, Jeffrey A Esq PROPOSAL35Anna Fali
1002Munro L WhobreyRussia2024-06-24Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1003Jefferson C KuskoJapan2024-06-14Dorl, James J Esq PROPOSAL95Onyama Limba
1004Aruna Z CampainFrance2024-05-26Chemel, James L Cpa UNQUALIFIED30Ivan Magalhaes
1005Tony J NestleFrance2024-05-31Buckley Miller Wright NEGOTIATION96Ivan Magalhaes
1006Jones V SergiItaly2024-06-02Rousseaux, Michael Esq NEGOTIATION0Amy Elsner
1007Morrow A ShinkoRussia2024-06-06Feiner Bros NEGOTIATION59Elwin Sharvill
1008Octavia T CaudyRussia2024-06-14Chanay, Jeffrey A Esq RENEWAL17Ivan Magalhaes
1009Leon T SergiUnited Kingdom2024-05-31Rangoni Of Florence NEW24Ioni Bowcher
1010Tony M OldroydItaly2024-06-12Buckley Miller Wright RENEWAL85Anna Fali
1011Greenwood R CaudyCanada2024-06-19Dorl, James J Esq RENEWAL35Amy Elsner
1012Morrow O ButtCanada2024-06-19Buckley Miller Wright QUALIFIED22Amy Elsner
1013Leon W GillianBrazil2024-06-15Feltz Printing Service NEW74Stephen Shaw
1014Ashley U RutaAustralia2024-06-15Chanay, Jeffrey A Esq PROPOSAL22Ioni Bowcher
1015James S ShinkoRussia2024-06-16King, Christopher A Esq NEGOTIATION14Xuxue Feng
1016Aditya S InouyeArgentina2024-06-16Printing Dimensions QUALIFIED35Amy Elsner
1017Darci Z ChuiBrazil2024-06-12Morlong Associates UNQUALIFIED64Ioni Bowcher
1018Ricardo T VocelkaCanada2024-06-02Truhlar And Truhlar Attys RENEWAL35Asiya Javayant
1019Isabel W PerinCanada2024-06-18Dorl, James J Esq QUALIFIED50Asiya Javayant
1020Alejandro O KolmetzJapan2024-06-01Printing Dimensions QUALIFIED43Elwin Sharvill
1021Cody K FollerItaly2024-06-18Chemel, James L Cpa RENEWAL6Asiya Javayant
1022Nicolas P InouyeSpain2024-06-23Benton, John B Jr UNQUALIFIED34Asiya Javayant
1023Stacey Z DoeJapan2024-06-19Buckley Miller Wright UNQUALIFIED22Stephen Shaw
1024Leja V KuskoFrance2024-06-19Truhlar And Truhlar Attys NEW85Asiya Javayant
1025Leon U FollerUnited Kingdom2024-06-05Printing Dimensions RENEWAL19Ivan Magalhaes
1026Wickens E NestleJapan2024-05-30Feiner Bros QUALIFIED4Onyama Limba
1027Aika X IturbideCanada2024-06-15King, Christopher A Esq NEGOTIATION30Amy Elsner
1028Arvin M MarrierItaly2024-06-11Rangoni Of Florence NEGOTIATION41Ivan Magalhaes
1029Isabel F RutaBrazil2024-06-15Printing Dimensions QUALIFIED94Ivan Magalhaes
1030Octavia G RoysterIndia2024-06-11Dorl, James J Esq NEW3Ivan Magalhaes
1031Stacey S VocelkaCanada2024-06-17Rangoni Of Florence QUALIFIED57Anna Fali
1032Antonio J WaycottFrance2024-06-19King, Christopher A Esq UNQUALIFIED0Anna Fali
1033Faith A WhobreyUnited Kingdom2024-05-26Dorl, James J Esq RENEWAL41Onyama Limba
1034Francesco Z CaldareraItaly2024-05-31Morlong Associates QUALIFIED24Anna Fali
1035Clifford S OldroydRussia2024-05-27Chapman, Ross E Esq NEGOTIATION40Xuxue Feng
1036Francesco G PerinGermany2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED87Asiya Javayant
1037Rodrigues K FlosiSpain2024-06-10Dorl, James J Esq QUALIFIED44Ivan Magalhaes
1038Claire S PaprockiItaly2024-06-03Chanay, Jeffrey A Esq NEW62Elwin Sharvill
1039Ricardo O KuskoJapan2024-06-11Feiner Bros QUALIFIED3Bernardo Dominic
1040Antonio Y KolmetzIndia2024-06-03Benton, John B Jr PROPOSAL59Bernardo Dominic
1041Munro R MorascaArgentina2024-06-22Truhlar And Truhlar Attys NEGOTIATION58Elwin Sharvill
1042Ivar L NickaBrazil2024-06-19Chapman, Ross E Esq QUALIFIED5Anna Fali
1043Adams O PerinGermany2024-06-09Chemel, James L Cpa NEGOTIATION83Stephen Shaw
1044Aditya P AmigonJapan2024-06-24Dorl, James J Esq QUALIFIED84Onyama Limba
1045Ivar R DoeGermany2024-06-15Feiner Bros PROPOSAL80Ivan Magalhaes
1046Jennifer L BriddickFrance2024-05-27Rangoni Of Florence QUALIFIED47Anna Fali
1047Deepesh A CaldareraGermany2024-06-16Rousseaux, Michael Esq PROPOSAL3Ivan Magalhaes
1048Kadeem M NestleCanada2024-06-11Feiner Bros NEGOTIATION58Stephen Shaw
1049Aditya W WieserCanada2024-06-10Printing Dimensions UNQUALIFIED97Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa Y BowleySpainElwin Sharvill NEGOTIATION
Arvin P GarufiGermanyAnna Fali RENEWAL
Leon J WieserFranceAsiya Javayant NEGOTIATION
Alejandro D MaletJapanOnyama Limba UNQUALIFIED
Deepesh A CaldareraCanadaXuxue Feng RENEWAL
Adams T VocelkaGermanyElwin Sharvill PROPOSAL
Chavez B MarrierAustraliaElwin Sharvill NEGOTIATION
Maisha L DarakjyGermanyBernardo Dominic RENEWAL
Mujtaba A AlbaresCanadaElwin Sharvill UNQUALIFIED
Maria F TollnerIndiaIoni Bowcher RENEWAL
Darci Z StensethCanadaAnna Fali NEW
Costa W GlickSpainElwin Sharvill NEW
Emily S MaletSpainElwin Sharvill NEW
Smith D FollerFranceOnyama Limba UNQUALIFIED
Ivar T PerinJapanStephen Shaw QUALIFIED
Izzy T GillianCanadaIvan Magalhaes QUALIFIED
Clifford V WhobreyBrazilIvan Magalhaes RENEWAL
Rodrigues K MarrierCanadaAnna Fali NEW
Wickens D GillianIndiaBernardo Dominic RENEWAL
Smith L BowleyFranceBernardo Dominic QUALIFIED
Aditya U MaletIndiaElwin Sharvill RENEWAL
Leja P GillianFranceAmy Elsner PROPOSAL
Juan M RoysterCanadaStephen Shaw QUALIFIED
Kaitlin B MacleadSpainIoni Bowcher NEGOTIATION
Tony P ShinkoBrazilIvan Magalhaes QUALIFIED
Rodrigues G DilliardAustraliaIoni Bowcher UNQUALIFIED
Cody C MarrierJapanAmy Elsner NEW
Antonio U GillianFranceBernardo Dominic UNQUALIFIED
Jennifer P ShinkoUnited KingdomOnyama Limba NEW
Maisha B InouyeAustraliaElwin Sharvill UNQUALIFIED
Antonio R PerinSpainElwin Sharvill NEGOTIATION
Deepesh Y FerenczAustraliaAsiya Javayant PROPOSAL
Maisha O StockhamFranceStephen Shaw NEW
Ricardo R SlusarskiAustraliaXuxue Feng UNQUALIFIED
Faith S TollnerJapanXuxue Feng UNQUALIFIED
Julie Z CaldareraRussiaStephen Shaw UNQUALIFIED
Silvio U MaletIndiaAnna Fali UNQUALIFIED
Rodrigues H NestleSpainStephen Shaw PROPOSAL
Aditya L ChuiFranceElwin Sharvill NEGOTIATION
Emily J ChuiIndiaElwin Sharvill NEW
Wickens Q OldroydRussiaXuxue Feng NEW
Jennifer B KuskoUnited KingdomStephen Shaw PROPOSAL
Maria E BriddickAustraliaOnyama Limba NEW
Aika R PerinJapanOnyama Limba RENEWAL
Deepesh W SaylorsSpainStephen Shaw PROPOSAL
Jones F WaycottJapanAmy Elsner NEGOTIATION
Morrow D AlbaresGermanyOnyama Limba UNQUALIFIED
Ashley D GauchoFranceXuxue Feng RENEWAL
Kaitlin F BriddickUnited KingdomAsiya Javayant NEW
Morrow Z BowleyFranceOnyama Limba NEGOTIATION
Frozen Columns
Name
Leon O Tollner
Adams T Saylors
Emily N Glick
Salvatore A Schemmer
Faith J Gaucho
Leon T Amigon
Wickens P Bolognia
Aditya S Butt
Johnson I Iturbide
Ashley A Vocelka
Clifford B Waycott
Arvin S Ostrosky
Silvio W Amigon
Kadeem X Stockham
Juan L Maclead
Rodrigues T Amigon
Julie Y Slusarski
Darci U Campain
Clifford X Malet
Greenwood S Dilliard
Jennifer N Garufi
Faith O Oldroyd
Morrow A Foller
Francesco E Schemmer
Stacey V Malet
Costa M Ostrosky
Octavia V Ruta
Jennifer J Tollner
Jefferson I Campain
Francesco J Ostrosky
Adams N Malet
Chavez Z Malet
Octavia P Sergi
James M Dilliard
Silvio B Nestle
Isabel P Slusarski
Jennifer F Tollner
Salvatore B Foller
Murillo L Royster
Sinclair F Kolmetz
Jennifer K Doe
Morrow O Iturbide
Leja T Maclead
Maria A Slusarski
Claire S Figeroa
Ashley T Doe
Mujtaba K Whobrey
Greenwood H Nicka
Antonio S Iturbide
Ivar W Morasca
IdCountryDate
1000United Kingdom2024-06-19
1001Spain2024-06-03
1002Italy2024-05-28
1003United Kingdom2024-06-21
1004India2024-05-29
1005Russia2024-06-01
1006Italy2024-06-21
1007Australia2024-06-23
1008Brazil2024-06-18
1009United Kingdom2024-06-03
1010Australia2024-06-24
1011United Kingdom2024-06-02
1012Brazil2024-06-15
1013Germany2024-06-02
1014Japan2024-06-23
1015Australia2024-05-28
1016Italy2024-06-15
1017Brazil2024-06-01
1018Italy2024-06-18
1019Italy2024-05-27
1020Spain2024-06-14
1021Germany2024-05-29
1022Brazil2024-06-18
1023Brazil2024-06-22
1024Spain2024-05-28
1025Australia2024-06-22
1026Canada2024-06-10
1027Spain2024-06-09
1028Italy2024-05-28
1029Brazil2024-06-24
1030Canada2024-06-22
1031United Kingdom2024-06-06
1032Canada2024-06-22
1033Australia2024-05-30
1034Canada2024-06-17
1035Italy2024-06-14
1036United Kingdom2024-06-11
1037United Kingdom2024-05-27
1038Japan2024-06-23
1039Germany2024-06-19
1040Spain2024-06-01
1041United Kingdom2024-06-02
1042Brazil2024-06-23
1043Japan2024-06-08
1044Italy2024-06-06
1045Australia2024-05-26
1046Russia2024-06-01
1047Italy2024-06-04
1048Australia2024-05-31
1049France2024-06-16

On-Demand Data

NameIdCountryDate
Mayumi X Dilliard1000Canada2024-06-02
Murillo V Doe1001Germany2024-06-11
Kaitlin Q Garufi1002Italy2024-06-19
Chavez T Butt1003Spain2024-06-06
Isabel K Whobrey1004United Kingdom2024-06-02
Nicolas L Nestle1005Brazil2024-05-31
Aditya C Campain1006Argentina2024-05-28
Julie G Doe1007Spain2024-06-12
Wickens S Nicka1008Brazil2024-06-14
Clifford J Campain1009Canada2024-06-03
Chavez Y Albares1010France2024-06-08
Jones G Bowley1011Germany2024-06-04
Aika T Iturbide1012Japan2024-06-14
Antonio G Gaucho1013France2024-06-11
David Y Whobrey1014India2024-05-27
Stacey G Albares1015Brazil2024-06-16
Kadeem Y Whobrey1016Spain2024-06-02
Stacey B Kusko1017India2024-05-27
Stacey L Glick1018Australia2024-05-28
Octavia D Figeroa1019Japan2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi O DarakjyFranceAsiya Javayant UNQUALIFIED
Tony R FerenczGermanyAmy Elsner QUALIFIED
Kadeem R GauchoGermanyIvan Magalhaes PROPOSAL
James R ChuiUnited KingdomOnyama Limba QUALIFIED
Jefferson A CaudyUnited KingdomElwin Sharvill NEGOTIATION
Sinclair B BowleyJapanBernardo Dominic NEGOTIATION
Cody M SergiIndiaXuxue Feng UNQUALIFIED
Ashley V AmigonJapanIvan Magalhaes NEGOTIATION
Salvatore G PerinFranceElwin Sharvill UNQUALIFIED
Antonio R IturbideArgentinaAsiya Javayant NEGOTIATION
Aika T SchemmerJapanIoni Bowcher RENEWAL
Deepesh I IturbideRussiaXuxue Feng QUALIFIED
Salvatore R BriddickUnited KingdomIvan Magalhaes NEW
Kadeem Q RoysterCanadaXuxue Feng RENEWAL
Munro G PerinFranceAmy Elsner PROPOSAL
Darci M WhobreyGermanyIoni Bowcher NEW
Mujtaba Q VenereRussiaBernardo Dominic RENEWAL
Leja J PaprockiGermanyAnna Fali NEW
Francesco V RulapaughJapanXuxue Feng NEGOTIATION
Ricardo Z DarakjyArgentinaXuxue Feng NEW
Salvatore F RimItalyAsiya Javayant QUALIFIED
Misaki A GillianJapanStephen Shaw UNQUALIFIED
Alejandro V MacleadItalyBernardo Dominic RENEWAL
Claire F FerenczFranceAmy Elsner NEW
Darci W ButtItalyXuxue Feng NEGOTIATION
Greenwood Y SchemmerFranceElwin Sharvill RENEWAL
Sinclair W GauchoRussiaBernardo Dominic QUALIFIED
Kadeem O IturbideIndiaElwin Sharvill PROPOSAL
Aika Q AmigonIndiaIvan Magalhaes UNQUALIFIED
Emily S SchemmerArgentinaElwin Sharvill RENEWAL
Tony B BologniaItalyAsiya Javayant NEW
Ivar Q PaprockiCanadaAsiya Javayant UNQUALIFIED
Salvatore D BologniaRussiaIoni Bowcher UNQUALIFIED
Julie B DilliardAustraliaIvan Magalhaes PROPOSAL
Julie G MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Maisha S WaycottSpainOnyama Limba PROPOSAL
Isabel M GillianFranceAmy Elsner NEW
Rodrigues D SchemmerBrazilAsiya Javayant RENEWAL
Maisha L WhobreyArgentinaStephen Shaw NEGOTIATION
Misaki C PaprockiBrazilElwin Sharvill 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>