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
Mujtaba S SaylorsGermanyAmy Elsner NEGOTIATION
Ivar D SlusarskiAustraliaAnna Fali NEW
Costa L VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Salvatore X RutaSpainAsiya Javayant UNQUALIFIED
Aika E NickaUnited KingdomAsiya Javayant RENEWAL
Murillo T SaylorsAustraliaAmy Elsner NEW
Mayumi E SchemmerAustraliaOnyama Limba PROPOSAL
Jeanfrancois D DoeFranceAsiya Javayant PROPOSAL
Mayumi P IturbideRussiaOnyama Limba NEW
Adams Y ButtIndiaIoni Bowcher NEW
Salvatore U CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Leja R CampainItalyXuxue Feng PROPOSAL
Aruna Z ButtItalyAsiya Javayant NEGOTIATION
Clifford E CaudyJapanAnna Fali PROPOSAL
Jeanfrancois Q IturbideAustraliaBernardo Dominic NEW
Johnson S BowleyItalyStephen Shaw NEW
Aditya F RoysterRussiaBernardo Dominic PROPOSAL
Maria M VocelkaUnited KingdomOnyama Limba PROPOSAL
Misaki P BriddickUnited KingdomAmy Elsner PROPOSAL
Izzy Z GillianArgentinaXuxue Feng RENEWAL
Clifford R MorascaSpainIoni Bowcher NEGOTIATION
Kadeem D KuskoFranceElwin Sharvill PROPOSAL
Arvin M KolmetzIndiaIvan Magalhaes UNQUALIFIED
Julie F BowleyBrazilXuxue Feng NEW
Morrow N SchemmerArgentinaAnna Fali RENEWAL
Faith B SaylorsSpainXuxue Feng RENEWAL
Jefferson O NickaGermanyStephen Shaw NEW
Johnson R PerinCanadaElwin Sharvill UNQUALIFIED
Mayumi Q DilliardIndiaXuxue Feng RENEWAL
Isabel T MorascaUnited KingdomOnyama Limba NEGOTIATION
Ricardo W MaletArgentinaAnna Fali NEGOTIATION
Clifford A WaycottItalyIoni Bowcher PROPOSAL
Clifford E VenereIndiaAsiya Javayant UNQUALIFIED
David M ButtJapanIvan Magalhaes RENEWAL
Rodrigues Y TollnerBrazilElwin Sharvill PROPOSAL
Jeanfrancois Y GillianUnited KingdomIoni Bowcher RENEWAL
David Q WhobreyItalyAmy Elsner NEW
Johnson N KuskoBrazilIvan Magalhaes PROPOSAL
James K BriddickBrazilElwin Sharvill RENEWAL
Wickens A NickaIndiaIoni Bowcher RENEWAL
Murillo J MacleadItalyAmy Elsner UNQUALIFIED
Ivar V SaylorsIndiaIvan Magalhaes NEGOTIATION
Rodrigues N VenereIndiaStephen Shaw PROPOSAL
Emily E PerinCanadaOnyama Limba NEGOTIATION
Clifford C IturbideRussiaIoni Bowcher RENEWAL
Maisha G StensethArgentinaAnna Fali UNQUALIFIED
Clifford D GarufiBrazilStephen Shaw RENEWAL
Leja J MaletGermanyAsiya Javayant PROPOSAL
Deepesh T ShinkoFranceIoni Bowcher NEW
Wickens I FlosiAustraliaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh Z GarufiJapanAmy Elsner RENEWAL
Isabel V RimUnited KingdomAnna Fali UNQUALIFIED
Mayumi O PoquetteJapanIvan Magalhaes NEGOTIATION
Johnson F MorascaFranceIoni Bowcher QUALIFIED
Stacey G NickaRussiaAsiya Javayant QUALIFIED
Cody J MorascaAustraliaIvan Magalhaes NEW
Chavez F CampainGermanyIoni Bowcher NEGOTIATION
Kaitlin S SaylorsSpainOnyama Limba PROPOSAL
Murillo J FigeroaGermanyElwin Sharvill UNQUALIFIED
Claire K PerinRussiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan D FlosiRussia2024-06-04Chemel, James L Cpa UNQUALIFIED79Stephen Shaw
1001Emily Y ButtRussia2024-05-30Printing Dimensions PROPOSAL87Anna Fali
1002Kaitlin W CaldareraBrazil2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED48Anna Fali
1003Nicolas Z FerenczAustralia2024-05-29Feltz Printing Service RENEWAL94Stephen Shaw
1004Maria F CaudyRussia2024-05-28Feiner Bros QUALIFIED37Xuxue Feng
1005Juan N PerinJapan2024-05-27Rousseaux, Michael Esq RENEWAL31Xuxue Feng
1006Deepesh F PaprockiJapan2024-06-10Dorl, James J Esq QUALIFIED93Xuxue Feng
1007James T AlbaresArgentina2024-05-29Commercial Press UNQUALIFIED53Amy Elsner
1008Deepesh F BowleyArgentina2024-06-07Rousseaux, Michael Esq QUALIFIED81Onyama Limba
1009Nicolas Q DoeUnited Kingdom2024-06-08King, Christopher A Esq PROPOSAL87Stephen Shaw
1010Sinclair C AlbaresGermany2024-06-15Feiner Bros NEGOTIATION1Ioni Bowcher
1011Isabel B MarrierAustralia2024-06-23Rousseaux, Michael Esq PROPOSAL80Onyama Limba
1012Mayumi Y ButtAustralia2024-06-05Dorl, James J Esq NEGOTIATION21Elwin Sharvill
1013Jefferson V GauchoJapan2024-05-27Benton, John B Jr NEW7Onyama Limba
1014Kaitlin P IturbideGermany2024-05-31Feiner Bros RENEWAL82Xuxue Feng
1015Octavia N AmigonFrance2024-05-26Commercial Press QUALIFIED1Elwin Sharvill
1016Leon B PoquetteArgentina2024-06-16Benton, John B Jr UNQUALIFIED89Anna Fali
1017Juan L SergiIndia2024-06-20King, Christopher A Esq RENEWAL36Onyama Limba
1018Octavia M KuskoSpain2024-05-31Chapman, Ross E Esq NEGOTIATION88Xuxue Feng
1019Izzy J SlusarskiJapan2024-05-28Buckley Miller Wright NEW58Amy Elsner
1020Isabel S PerinBrazil2024-06-20Morlong Associates UNQUALIFIED90Amy Elsner
1021Misaki L SergiSpain2024-05-27Chapman, Ross E Esq RENEWAL26Anna Fali
1022Munro D DoeSpain2024-06-12King, Christopher A Esq NEGOTIATION79Xuxue Feng
1023Morrow S WieserArgentina2024-06-15Commercial Press NEGOTIATION93Ivan Magalhaes
1024Jones E TollnerGermany2024-05-29Feiner Bros PROPOSAL5Anna Fali
1025Jones N MorascaSpain2024-06-16Commercial Press UNQUALIFIED59Ioni Bowcher
1026Claire M PaprockiJapan2024-05-29Feltz Printing Service RENEWAL98Stephen Shaw
1027Clifford D SchemmerSpain2024-06-04Buckley Miller Wright PROPOSAL9Ivan Magalhaes
1028Jeanfrancois E StockhamFrance2024-06-20Commercial Press QUALIFIED29Bernardo Dominic
1029Munro B GillianAustralia2024-05-29Benton, John B Jr PROPOSAL55Anna Fali
1030Juan U GlickAustralia2024-06-14Truhlar And Truhlar Attys PROPOSAL64Elwin Sharvill
1031Jefferson U WhobreyArgentina2024-05-30Commercial Press NEW27Bernardo Dominic
1032Kadeem F SchemmerCanada2024-05-31Morlong Associates UNQUALIFIED37Ivan Magalhaes
1033Rodrigues S MacleadAustralia2024-05-26Dorl, James J Esq UNQUALIFIED11Bernardo Dominic
1034Greenwood Y CampainArgentina2024-06-20Rangoni Of Florence RENEWAL50Amy Elsner
1035Claire V GillianSpain2024-06-21King, Christopher A Esq QUALIFIED25Stephen Shaw
1036Chavez T BriddickRussia2024-05-29Feltz Printing Service NEW45Asiya Javayant
1037Tony T DilliardGermany2024-06-03Feltz Printing Service NEW39Xuxue Feng
1038David R InouyeJapan2024-05-30King, Christopher A Esq RENEWAL99Stephen Shaw
1039Ricardo U WhobreyGermany2024-05-28Dorl, James J Esq PROPOSAL6Stephen Shaw
1040Aruna O FollerSpain2024-06-06Feltz Printing Service PROPOSAL92Asiya Javayant
1041Rodrigues V CaldareraSpain2024-05-30Chemel, James L Cpa QUALIFIED84Ivan Magalhaes
1042Munro X IturbideGermany2024-06-12Truhlar And Truhlar Attys QUALIFIED88Elwin Sharvill
1043Smith B DarakjySpain2024-06-21Rousseaux, Michael Esq RENEWAL15Ivan Magalhaes
1044Aika L AmigonJapan2024-06-14Chanay, Jeffrey A Esq NEW11Stephen Shaw
1045Sinclair W GarufiJapan2024-06-11King, Christopher A Esq QUALIFIED26Elwin Sharvill
1046Stacey K RoysterCanada2024-06-16Feltz Printing Service PROPOSAL98Bernardo Dominic
1047Greenwood C GauchoCanada2024-06-22Feiner Bros UNQUALIFIED95Amy Elsner
1048Darci N OstroskyGermany2024-06-14Benton, John B Jr NEW61Stephen Shaw
1049Munro D ShinkoAustralia2024-06-04Commercial Press NEW98Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ricardo F FollerGermanyElwin Sharvill NEW
Leja L AlbaresUnited KingdomElwin Sharvill PROPOSAL
Jefferson C BowleyJapanAsiya Javayant PROPOSAL
Mujtaba Y ShinkoGermanyElwin Sharvill NEGOTIATION
Antonio P MaletCanadaXuxue Feng PROPOSAL
Jones Q KolmetzIndiaOnyama Limba QUALIFIED
Arvin C KolmetzArgentinaAmy Elsner NEW
David D IturbideIndiaIvan Magalhaes PROPOSAL
Silvio R MaletBrazilIvan Magalhaes RENEWAL
Smith X CampainArgentinaXuxue Feng NEGOTIATION
Ashley I AlbaresIndiaAmy Elsner NEGOTIATION
Maria W MacleadArgentinaBernardo Dominic UNQUALIFIED
Mayumi D AlbaresSpainBernardo Dominic QUALIFIED
Munro D CaudyRussiaBernardo Dominic UNQUALIFIED
Tony F SchemmerJapanAsiya Javayant NEGOTIATION
Salvatore S KolmetzAustraliaElwin Sharvill UNQUALIFIED
Ricardo P CaldareraItalyAsiya Javayant NEW
Tony R CampainUnited KingdomAnna Fali RENEWAL
Clifford C WieserSpainOnyama Limba RENEWAL
Munro W MaletArgentinaOnyama Limba NEGOTIATION
Jones B VenereBrazilStephen Shaw RENEWAL
Jeanfrancois Z BriddickArgentinaStephen Shaw NEGOTIATION
Misaki Q MorascaCanadaAsiya Javayant UNQUALIFIED
Greenwood V FollerUnited KingdomElwin Sharvill NEGOTIATION
Clifford E PoquetteAustraliaIoni Bowcher RENEWAL
Sinclair V PerinAustraliaBernardo Dominic RENEWAL
Stacey L BologniaRussiaElwin Sharvill UNQUALIFIED
Stacey D BologniaFranceAnna Fali QUALIFIED
Stacey G SlusarskiSpainXuxue Feng NEGOTIATION
Clifford R AmigonItalyAnna Fali PROPOSAL
Johnson W RutaRussiaOnyama Limba PROPOSAL
Ivar I WieserArgentinaOnyama Limba UNQUALIFIED
Claire F RoysterRussiaAsiya Javayant RENEWAL
Juan B RulapaughJapanOnyama Limba UNQUALIFIED
Julie U ShinkoBrazilStephen Shaw PROPOSAL
Francesco O WhobreyFranceElwin Sharvill RENEWAL
Chavez O PerinIndiaElwin Sharvill RENEWAL
Claire M ButtUnited KingdomAnna Fali UNQUALIFIED
Francesco O DarakjyRussiaIvan Magalhaes QUALIFIED
Salvatore S MarrierFranceAsiya Javayant QUALIFIED
Stacey E WaycottUnited KingdomXuxue Feng NEGOTIATION
Smith O VenereGermanyElwin Sharvill NEGOTIATION
Jeanfrancois V FollerArgentinaIoni Bowcher QUALIFIED
Jones O FlosiRussiaIoni Bowcher UNQUALIFIED
Misaki X GarufiAustraliaElwin Sharvill NEGOTIATION
Wickens W OstroskyAustraliaAsiya Javayant NEGOTIATION
Smith B DoeItalyBernardo Dominic RENEWAL
Rodrigues M WhobreyBrazilIoni Bowcher QUALIFIED
Cody U IturbideRussiaIvan Magalhaes QUALIFIED
Munro T VenereBrazilIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Claire X Wieser
Deepesh S Shinko
Jennifer L Shinko
Jeanfrancois S Marrier
Izzy C Dilliard
Greenwood C Albares
Deepesh A Malet
Ivar Q Caldarera
Rodrigues V Waycott
Antonio G Gillian
Murillo R Stenseth
Misaki J Morasca
Wickens U Dilliard
Mujtaba T Nicka
Jones N Bolognia
Costa X Gillian
Nicolas L Gaucho
Jefferson H Iturbide
Rodrigues Y Iturbide
Jeanfrancois W Vocelka
Leja G Glick
Ashley R Shinko
Alejandro X Kolmetz
Julie K Amigon
Clifford W Kusko
Maria X Glick
Jennifer L Maclead
Sinclair Q Malet
James N Stockham
Munro W Briddick
Kadeem T Kolmetz
Jeanfrancois Z Nicka
Mujtaba P Stockham
Stacey D Flosi
Octavia K Butt
Smith D Oldroyd
Leja P Amigon
Claire C Doe
Maria K Waycott
Izzy V Rulapaugh
David P Caldarera
Jefferson S Inouye
Mujtaba Y Venere
Munro D Perin
Claire K Darakjy
Faith M Poquette
Isabel N Perin
Jones J Chui
Cody W Poquette
Smith I Ruta
IdCountryDate
1000Japan2024-06-15
1001Germany2024-06-13
1002United Kingdom2024-06-08
1003Germany2024-06-16
1004Argentina2024-06-09
1005Australia2024-06-10
1006Italy2024-05-29
1007United Kingdom2024-06-11
1008Japan2024-06-15
1009Japan2024-05-31
1010Spain2024-06-01
1011France2024-06-09
1012Russia2024-06-22
1013Italy2024-06-07
1014Argentina2024-06-11
1015United Kingdom2024-06-06
1016Brazil2024-06-05
1017Australia2024-06-24
1018Spain2024-06-07
1019Spain2024-06-17
1020France2024-06-13
1021Australia2024-06-06
1022Canada2024-06-08
1023Brazil2024-06-03
1024Italy2024-05-26
1025Argentina2024-05-31
1026Argentina2024-06-05
1027Canada2024-06-03
1028Russia2024-06-14
1029Australia2024-06-06
1030Canada2024-06-22
1031Italy2024-05-26
1032Russia2024-06-19
1033Brazil2024-06-10
1034Italy2024-06-11
1035United Kingdom2024-06-23
1036Brazil2024-05-30
1037Australia2024-06-19
1038Italy2024-05-31
1039Russia2024-06-20
1040Germany2024-06-01
1041Canada2024-06-20
1042United Kingdom2024-05-30
1043Australia2024-06-13
1044Canada2024-06-22
1045Russia2024-06-06
1046Argentina2024-06-12
1047United Kingdom2024-06-07
1048Canada2024-06-15
1049United Kingdom2024-06-09

On-Demand Data

NameIdCountryDate
Aruna P Doe1000Japan2024-06-16
Aruna F Bolognia1001France2024-06-07
Darci B Kusko1002India2024-06-01
Francesco G Gillian1003Argentina2024-06-01
Munro U Ruta1004Argentina2024-06-04
Francesco C Maclead1005United Kingdom2024-06-17
Adams W Stockham1006Canada2024-06-09
Misaki K Nicka1007India2024-06-04
Wickens D Albares1008Australia2024-06-11
Deepesh V Glick1009United Kingdom2024-06-10
Arvin O Sergi1010Russia2024-06-12
James E Sergi1011Brazil2024-06-18
Julie S Gaucho1012Germany2024-06-10
Jeanfrancois G Paprocki1013Russia2024-06-02
Jeanfrancois F Gaucho1014Argentina2024-06-16
Munro U Caudy1015Russia2024-06-04
Tony C Malet1016Russia2024-06-06
Francesco K Caudy1017Japan2024-06-19
Kadeem E Nestle1018India2024-06-24
Isabel D Venere1019Spain2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues X ButtGermanyAnna Fali RENEWAL
Claire J CaudySpainXuxue Feng PROPOSAL
Arvin I CaldareraJapanXuxue Feng UNQUALIFIED
Izzy L ButtRussiaAnna Fali RENEWAL
Greenwood T ChuiSpainAsiya Javayant NEGOTIATION
Wickens B PaprockiAustraliaIvan Magalhaes QUALIFIED
Claire C WaycottAustraliaAsiya Javayant UNQUALIFIED
Mayumi F StensethGermanyElwin Sharvill RENEWAL
Octavia G FigeroaBrazilOnyama Limba PROPOSAL
Ashley U BriddickFranceOnyama Limba PROPOSAL
Francesco G MaletBrazilAnna Fali QUALIFIED
Maria H CaudyIndiaElwin Sharvill PROPOSAL
Nicolas V WaycottArgentinaIoni Bowcher NEGOTIATION
Alejandro B OldroydFranceStephen Shaw NEGOTIATION
Johnson I FollerJapanOnyama Limba PROPOSAL
Clifford H RutaRussiaIvan Magalhaes NEW
Salvatore F KuskoItalyStephen Shaw NEGOTIATION
Faith I WhobreyAustraliaIvan Magalhaes QUALIFIED
Maisha X OstroskyGermanyOnyama Limba NEGOTIATION
Smith L GarufiIndiaElwin Sharvill RENEWAL
Leon Z RoysterUnited KingdomIoni Bowcher RENEWAL
Smith S DarakjyItalyIvan Magalhaes NEW
Leja Q KuskoCanadaAnna Fali PROPOSAL
Aruna R FerenczItalyStephen Shaw QUALIFIED
Kadeem R DarakjyAustraliaStephen Shaw QUALIFIED
David G FigeroaBrazilAsiya Javayant UNQUALIFIED
Smith L WieserGermanyElwin Sharvill RENEWAL
Francesco H RulapaughArgentinaBernardo Dominic NEGOTIATION
Cody F TollnerGermanyAsiya Javayant RENEWAL
Kadeem L AmigonArgentinaIvan Magalhaes PROPOSAL
Alejandro M RimBrazilStephen Shaw UNQUALIFIED
Juan W NestleBrazilIvan Magalhaes QUALIFIED
Kadeem R AmigonGermanyIvan Magalhaes NEGOTIATION
Ashley G SaylorsFranceElwin Sharvill NEW
Maisha D AlbaresFranceBernardo Dominic QUALIFIED
Cody I CaldareraGermanyAmy Elsner NEW
Aruna F SergiCanadaAnna Fali QUALIFIED
Octavia X CaudyCanadaStephen Shaw NEW
Maisha H BriddickBrazilStephen Shaw UNQUALIFIED
Alejandro I GarufiGermanyOnyama Limba UNQUALIFIED

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