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
Deepesh C GlickRussiaElwin Sharvill NEW
Aika M MorascaBrazilOnyama Limba QUALIFIED
Isabel W SaylorsCanadaAnna Fali PROPOSAL
Morrow G ChuiArgentinaAnna Fali QUALIFIED
Munro O DoeGermanyOnyama Limba UNQUALIFIED
Clifford H FerenczCanadaAnna Fali NEGOTIATION
Smith V FerenczArgentinaXuxue Feng RENEWAL
Morrow R DarakjyBrazilBernardo Dominic NEW
Costa T RimBrazilStephen Shaw QUALIFIED
Greenwood F RoysterFranceOnyama Limba QUALIFIED
Jeanfrancois H VocelkaAustraliaStephen Shaw RENEWAL
Leon I RoysterSpainAmy Elsner RENEWAL
Leja J StensethRussiaAsiya Javayant NEW
Leon V FerenczIndiaAnna Fali NEGOTIATION
Ashley C BologniaAustraliaOnyama Limba QUALIFIED
Munro U DilliardIndiaOnyama Limba NEW
Jennifer F OldroydItalyAnna Fali NEGOTIATION
Leon Y KolmetzJapanStephen Shaw RENEWAL
Johnson V FerenczItalyElwin Sharvill RENEWAL
Chavez B RulapaughGermanyBernardo Dominic PROPOSAL
Arvin L PaprockiGermanyAnna Fali UNQUALIFIED
Maria A SaylorsAustraliaAmy Elsner QUALIFIED
Juan T TollnerRussiaXuxue Feng UNQUALIFIED
Jennifer H DilliardUnited KingdomAmy Elsner NEW
Jennifer B CampainFranceIvan Magalhaes PROPOSAL
Sinclair Q MacleadBrazilOnyama Limba UNQUALIFIED
Chavez Y NestleSpainBernardo Dominic NEGOTIATION
Faith P BowleySpainOnyama Limba PROPOSAL
Darci Z CaudyBrazilBernardo Dominic NEW
Faith R AlbaresAustraliaElwin Sharvill UNQUALIFIED
Murillo C SaylorsCanadaElwin Sharvill QUALIFIED
Deepesh C NickaAustraliaXuxue Feng NEW
Chavez D CaudyBrazilXuxue Feng RENEWAL
Smith Y MorascaAustraliaAsiya Javayant PROPOSAL
Chavez U FigeroaSpainBernardo Dominic UNQUALIFIED
Leja Q WaycottBrazilBernardo Dominic NEW
Mayumi I IturbideBrazilAnna Fali RENEWAL
Nicolas V AlbaresArgentinaBernardo Dominic QUALIFIED
Emily W PoquetteBrazilIvan Magalhaes NEW
Alejandro Q GillianArgentinaStephen Shaw NEGOTIATION
Greenwood O ButtCanadaOnyama Limba UNQUALIFIED
Mayumi J SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Antonio Z BowleyAustraliaIvan Magalhaes RENEWAL
Adams D SlusarskiAustraliaAmy Elsner UNQUALIFIED
Rodrigues D ButtSpainIvan Magalhaes NEW
Greenwood U FigeroaCanadaAnna Fali UNQUALIFIED
Leja O FlosiFranceAmy Elsner NEW
Aruna E BriddickJapanAnna Fali PROPOSAL
Maisha Y VocelkaSpainXuxue Feng PROPOSAL
Juan G FerenczIndiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki Q BologniaRussiaIoni Bowcher NEW
Leja K MaletJapanAnna Fali QUALIFIED
Alejandro H BriddickUnited KingdomBernardo Dominic PROPOSAL
Claire W CampainRussiaIvan Magalhaes QUALIFIED
Sinclair J BriddickIndiaBernardo Dominic QUALIFIED
Octavia M FerenczAustraliaBernardo Dominic PROPOSAL
Deepesh K WieserArgentinaAmy Elsner QUALIFIED
Darci B CampainRussiaAsiya Javayant RENEWAL
Chavez T GillianCanadaElwin Sharvill NEW
Deepesh N RoysterItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas A KolmetzSpain2025-04-03Commercial Press RENEWAL89Elwin Sharvill
1001Munro F StockhamCanada2025-04-16Feltz Printing Service PROPOSAL47Elwin Sharvill
1002David C PoquetteGermany2025-04-22Printing Dimensions PROPOSAL5Ioni Bowcher
1003Murillo H StockhamJapan2025-04-12Feltz Printing Service PROPOSAL14Onyama Limba
1004Leon S OldroydUnited Kingdom2025-04-03Printing Dimensions NEGOTIATION18Xuxue Feng
1005Jones O CaldareraSpain2025-04-05Dorl, James J Esq NEW66Stephen Shaw
1006Darci F MacleadItaly2025-04-11Rousseaux, Michael Esq RENEWAL96Bernardo Dominic
1007Tony M GarufiItaly2025-04-05Chemel, James L Cpa RENEWAL25Elwin Sharvill
1008Nicolas U GlickItaly2025-04-10Truhlar And Truhlar Attys PROPOSAL50Ioni Bowcher
1009Silvio D StensethSpain2025-04-01Feiner Bros RENEWAL32Ioni Bowcher
1010Aruna Y BriddickJapan2025-04-15Truhlar And Truhlar Attys NEW29Ioni Bowcher
1011Salvatore W AlbaresAustralia2025-04-07Truhlar And Truhlar Attys UNQUALIFIED64Elwin Sharvill
1012Johnson G StensethGermany2025-04-19Commercial Press NEGOTIATION80Ivan Magalhaes
1013Aika D StockhamArgentina2025-04-22Rangoni Of Florence NEGOTIATION15Xuxue Feng
1014Salvatore Z OstroskyJapan2025-04-24Truhlar And Truhlar Attys NEGOTIATION46Bernardo Dominic
1015Mayumi F FlosiAustralia2025-04-19Chanay, Jeffrey A Esq NEGOTIATION20Bernardo Dominic
1016Deepesh K MaletCanada2025-04-14Buckley Miller Wright RENEWAL74Ioni Bowcher
1017Wickens K RimJapan2025-04-22Buckley Miller Wright PROPOSAL41Bernardo Dominic
1018Clifford G AmigonAustralia2025-04-01Feltz Printing Service NEW17Elwin Sharvill
1019Misaki H InouyeArgentina2025-04-21Benton, John B Jr NEGOTIATION45Ioni Bowcher
1020Misaki P FigeroaFrance2025-04-15Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1021Jefferson I AlbaresItaly2025-04-07Morlong Associates PROPOSAL34Onyama Limba
1022Ricardo U PaprockiItaly2025-04-17Morlong Associates PROPOSAL52Amy Elsner
1023Tony L MarrierGermany2025-04-10Feltz Printing Service NEW46Onyama Limba
1024Juan K GlickCanada2025-04-02Morlong Associates NEGOTIATION49Xuxue Feng
1025Mujtaba C FollerItaly2025-04-14King, Christopher A Esq PROPOSAL67Stephen Shaw
1026Jennifer H CaudyGermany2025-04-15Truhlar And Truhlar Attys QUALIFIED49Anna Fali
1027Mayumi O PoquetteSpain2025-04-28Feltz Printing Service UNQUALIFIED19Bernardo Dominic
1028Mujtaba G MacleadItaly2025-04-10Dorl, James J Esq NEGOTIATION80Bernardo Dominic
1029Jefferson U WhobreyJapan2025-04-25Rousseaux, Michael Esq PROPOSAL76Bernardo Dominic
1030Nicolas I FerenczCanada2025-04-23King, Christopher A Esq NEW45Bernardo Dominic
1031Aruna X BriddickJapan2025-04-10Feiner Bros RENEWAL10Bernardo Dominic
1032Kaitlin Y MaletJapan2025-04-16Chapman, Ross E Esq NEW48Elwin Sharvill
1033Juan P MaletGermany2025-04-11Chanay, Jeffrey A Esq QUALIFIED5Anna Fali
1034Alejandro D DoeGermany2025-04-05Feiner Bros RENEWAL18Amy Elsner
1035Arvin T BriddickBrazil2025-04-20Printing Dimensions NEW70Anna Fali
1036Maria S OldroydUnited Kingdom2025-04-16Chemel, James L Cpa UNQUALIFIED56Asiya Javayant
1037Alejandro B RoysterFrance2025-04-04Feltz Printing Service PROPOSAL14Onyama Limba
1038Octavia H MaletGermany2025-04-10Truhlar And Truhlar Attys RENEWAL6Anna Fali
1039Kadeem P ShinkoFrance2025-04-28Commercial Press QUALIFIED83Ioni Bowcher
1040Deepesh F InouyeGermany2025-04-09Rousseaux, Michael Esq NEGOTIATION32Bernardo Dominic
1041Nicolas Z AlbaresGermany2025-04-05Rousseaux, Michael Esq QUALIFIED90Onyama Limba
1042Kadeem U ShinkoGermany2025-04-27Chapman, Ross E Esq NEW37Asiya Javayant
1043Maria I FigeroaSpain2025-04-27Truhlar And Truhlar Attys UNQUALIFIED96Ivan Magalhaes
1044Maria L AlbaresIndia2025-04-01Morlong Associates PROPOSAL50Onyama Limba
1045Jefferson U DilliardJapan2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED28Ioni Bowcher
1046Antonio S MarrierItaly2025-04-29Feltz Printing Service RENEWAL96Anna Fali
1047David Q RutaFrance2025-04-13Chapman, Ross E Esq UNQUALIFIED63Xuxue Feng
1048Faith Z PoquetteGermany2025-04-21Dorl, James J Esq PROPOSAL65Bernardo Dominic
1049Darci O WhobreyJapan2025-04-03Rangoni Of Florence NEW25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David C RulapaughSpainAmy Elsner QUALIFIED
Tony V BriddickUnited KingdomAnna Fali UNQUALIFIED
Murillo Z BriddickJapanAmy Elsner UNQUALIFIED
Greenwood K KolmetzJapanBernardo Dominic RENEWAL
Munro A GillianItalyAnna Fali QUALIFIED
Maisha Q InouyeBrazilOnyama Limba NEGOTIATION
Maisha D PoquetteRussiaIoni Bowcher PROPOSAL
Costa K DoeSpainIvan Magalhaes NEW
Jefferson A FigeroaRussiaIvan Magalhaes NEGOTIATION
Isabel F FlosiSpainAsiya Javayant NEGOTIATION
Murillo Q CaudyArgentinaBernardo Dominic NEW
Leja X KuskoCanadaOnyama Limba NEW
Kadeem G KuskoCanadaStephen Shaw UNQUALIFIED
Morrow M GauchoCanadaIvan Magalhaes QUALIFIED
Francesco M CaldareraUnited KingdomXuxue Feng PROPOSAL
Aika H MarrierBrazilIvan Magalhaes RENEWAL
Cody R NickaAustraliaAsiya Javayant NEGOTIATION
Clifford M VocelkaUnited KingdomOnyama Limba NEGOTIATION
Sinclair M RulapaughAustraliaAnna Fali QUALIFIED
Munro L InouyeAustraliaStephen Shaw NEW
Aditya P BowleyRussiaOnyama Limba RENEWAL
Octavia J OstroskyBrazilXuxue Feng NEW
Munro O MaletIndiaAsiya Javayant PROPOSAL
Nicolas Y CampainBrazilOnyama Limba NEW
Adams A OstroskyJapanOnyama Limba UNQUALIFIED
Claire W OldroydSpainIoni Bowcher UNQUALIFIED
Izzy R TollnerArgentinaIvan Magalhaes QUALIFIED
Ricardo E WhobreyArgentinaStephen Shaw UNQUALIFIED
Salvatore W CampainFranceXuxue Feng NEW
Stacey R NickaSpainAsiya Javayant NEW
Rodrigues F OldroydAustraliaIvan Magalhaes NEGOTIATION
Aruna S BowleyArgentinaAsiya Javayant PROPOSAL
Chavez R AmigonCanadaBernardo Dominic UNQUALIFIED
Clifford E PerinUnited KingdomBernardo Dominic RENEWAL
James Y VenereGermanyStephen Shaw QUALIFIED
Adams W FollerJapanElwin Sharvill QUALIFIED
Leja T RutaItalyIvan Magalhaes QUALIFIED
Nicolas N SergiUnited KingdomOnyama Limba UNQUALIFIED
Maisha X DilliardItalyBernardo Dominic PROPOSAL
Ricardo I NickaAustraliaAsiya Javayant NEW
James K DoeGermanyOnyama Limba UNQUALIFIED
Deepesh T AlbaresRussiaIvan Magalhaes PROPOSAL
Alejandro P MarrierJapanAmy Elsner RENEWAL
Maria X DarakjySpainBernardo Dominic NEGOTIATION
Jennifer Y RoysterBrazilBernardo Dominic NEW
Stacey M RulapaughRussiaBernardo Dominic PROPOSAL
Cody Q SchemmerGermanyStephen Shaw NEGOTIATION
James F MorascaBrazilIvan Magalhaes UNQUALIFIED
Isabel J WieserAustraliaOnyama Limba NEW
Octavia R OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Frozen Columns
Name
Mujtaba Q Perin
Morrow C Stockham
Darci W Bolognia
Clifford O Stenseth
Izzy D Bowley
David F Ruta
Juan R Paprocki
Aika E Flosi
Clifford X Nicka
Alejandro T Darakjy
Rodrigues X Iturbide
Octavia V Vocelka
Ricardo Z Nestle
Sinclair N Stockham
Misaki P Stockham
Ricardo M Malet
Alejandro A Foller
Mayumi P Inouye
Jeanfrancois S Butt
Isabel V Briddick
Arvin P Rulapaugh
Salvatore A Wieser
Francesco T Malet
Emily L Rim
Izzy X Garufi
Isabel O Marrier
Salvatore E Wieser
Morrow A Gaucho
Aruna P Stockham
Morrow S Caldarera
Kadeem N Tollner
Kaitlin X Marrier
Aruna X Caldarera
Aditya W Waycott
Adams R Wieser
David M Vocelka
Kaitlin B Ferencz
James B Maclead
Darci X Rim
Juan C Dilliard
Ashley H Venere
Johnson L Tollner
Tony H Wieser
Aruna O Kusko
Rodrigues H Briddick
Morrow Z Briddick
Antonio K Morasca
Faith H Nicka
Wickens C Paprocki
Jeanfrancois T Rim
IdCountryDate
1000United Kingdom2025-04-04
1001Canada2025-04-15
1002Russia2025-04-13
1003Australia2025-04-21
1004Canada2025-04-29
1005Australia2025-04-20
1006Germany2025-04-18
1007Brazil2025-04-23
1008Japan2025-04-06
1009Australia2025-04-15
1010Russia2025-04-20
1011France2025-04-30
1012India2025-04-21
1013Brazil2025-04-21
1014Australia2025-04-29
1015Australia2025-04-22
1016Germany2025-04-09
1017Brazil2025-04-15
1018Canada2025-04-03
1019Australia2025-04-14
1020Brazil2025-04-13
1021United Kingdom2025-04-07
1022Germany2025-04-23
1023Argentina2025-04-26
1024Russia2025-04-12
1025Canada2025-04-30
1026Spain2025-04-14
1027Brazil2025-04-17
1028France2025-04-13
1029Canada2025-04-09
1030Germany2025-04-17
1031United Kingdom2025-04-28
1032Argentina2025-04-08
1033Australia2025-04-25
1034United Kingdom2025-04-23
1035Japan2025-04-25
1036Canada2025-04-21
1037France2025-04-07
1038United Kingdom2025-04-11
1039India2025-04-03
1040Brazil2025-04-11
1041Australia2025-04-29
1042France2025-04-14
1043Canada2025-04-11
1044Brazil2025-04-30
1045Argentina2025-04-02
1046Argentina2025-04-25
1047France2025-04-01
1048France2025-04-11
1049Argentina2025-04-09

On-Demand Data

NameIdCountryDate
Faith J Maclead1000United Kingdom2025-04-20
Rodrigues Q Amigon1001Argentina2025-04-15
Izzy F Bolognia1002Brazil2025-04-08
Faith Q Wieser1003Russia2025-04-25
Ashley G Stenseth1004Japan2025-04-15
Rodrigues M Ostrosky1005United Kingdom2025-04-03
Jeanfrancois L Bowley1006Canada2025-04-18
Jones Q Ruta1007Russia2025-04-27
Maria K Malet1008India2025-04-12
Darci K Doe1009Canada2025-04-13
Julie B Dilliard1010Brazil2025-04-19
Sinclair W Gaucho1011Japan2025-04-29
Adams P Flosi1012United Kingdom2025-04-01
Munro G Caudy1013Japan2025-04-28
Faith X Saylors1014United Kingdom2025-04-11
Silvio J Oldroyd1015Canada2025-04-16
Rodrigues U Briddick1016Russia2025-04-19
Claire M Caudy1017Australia2025-04-06
James H Bolognia1018Germany2025-04-04
Faith G Foller1019Germany2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria M MarrierItalyIoni Bowcher NEW
Rodrigues C WieserSpainIoni Bowcher QUALIFIED
David P AmigonGermanyAnna Fali QUALIFIED
Faith J ButtArgentinaXuxue Feng RENEWAL
Aditya C WaycottIndiaStephen Shaw QUALIFIED
Jeanfrancois D VocelkaRussiaElwin Sharvill RENEWAL
Isabel W BowleyArgentinaAsiya Javayant UNQUALIFIED
Emily K FigeroaCanadaAnna Fali QUALIFIED
Ashley E DarakjyAustraliaAmy Elsner NEGOTIATION
Cody O MaletSpainIoni Bowcher PROPOSAL
Julie J MarrierSpainStephen Shaw UNQUALIFIED
Octavia L MarrierGermanyXuxue Feng PROPOSAL
Rodrigues L GarufiFranceStephen Shaw PROPOSAL
Misaki Y GarufiBrazilElwin Sharvill QUALIFIED
Julie P WieserAustraliaAsiya Javayant PROPOSAL
Darci S CampainArgentinaBernardo Dominic UNQUALIFIED
Clifford E PaprockiBrazilAsiya Javayant UNQUALIFIED
Leon E GauchoItalyAnna Fali PROPOSAL
Deepesh N RimCanadaBernardo Dominic UNQUALIFIED
Faith X GillianIndiaAsiya Javayant RENEWAL
Costa O CaudyJapanOnyama Limba NEW
Arvin H KolmetzRussiaAsiya Javayant UNQUALIFIED
Deepesh R MaletItalyOnyama Limba QUALIFIED
Leja N BriddickAustraliaStephen Shaw NEW
Costa R MaletItalyOnyama Limba RENEWAL
Misaki Q BologniaItalyAmy Elsner RENEWAL
Johnson Q WhobreyBrazilXuxue Feng RENEWAL
Chavez X WaycottJapanElwin Sharvill RENEWAL
Murillo G AlbaresCanadaStephen Shaw RENEWAL
Claire M WieserRussiaIvan Magalhaes QUALIFIED
Ricardo T FigeroaIndiaStephen Shaw QUALIFIED
Leja Y NestleItalyAnna Fali RENEWAL
Ricardo X ButtUnited KingdomBernardo Dominic NEW
Ashley H OldroydCanadaAnna Fali NEW
Emily L VenereIndiaOnyama Limba PROPOSAL
Ricardo R StensethArgentinaIvan Magalhaes NEGOTIATION
Clifford C RulapaughGermanyXuxue Feng NEGOTIATION
Aditya M AmigonAustraliaElwin Sharvill NEGOTIATION
Darci Y PerinJapanElwin Sharvill NEGOTIATION
Adams T CaudySpainIoni Bowcher 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>