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
Mayumi N CaudyGermanyBernardo Dominic UNQUALIFIED
Adams R PaprockiCanadaXuxue Feng NEW
Arvin K GarufiSpainAnna Fali PROPOSAL
Izzy F TollnerAustraliaAnna Fali QUALIFIED
Greenwood P AmigonCanadaAnna Fali QUALIFIED
Chavez P MaletBrazilElwin Sharvill PROPOSAL
Misaki M PoquetteArgentinaStephen Shaw QUALIFIED
Greenwood J IturbideAustraliaBernardo Dominic PROPOSAL
Greenwood H ChuiAustraliaIoni Bowcher NEW
Nicolas Y StensethSpainAnna Fali UNQUALIFIED
Aditya H NestleCanadaElwin Sharvill PROPOSAL
Julie J RutaUnited KingdomXuxue Feng QUALIFIED
Julie Z InouyeFranceOnyama Limba UNQUALIFIED
Tony L NickaUnited KingdomBernardo Dominic QUALIFIED
Alejandro O RulapaughGermanyElwin Sharvill NEW
Antonio K BriddickGermanyAmy Elsner PROPOSAL
Faith J StockhamUnited KingdomAmy Elsner QUALIFIED
Nicolas W ButtIndiaIoni Bowcher RENEWAL
Isabel W PaprockiGermanyAnna Fali PROPOSAL
Greenwood H SaylorsSpainAnna Fali NEGOTIATION
Claire X ChuiAustraliaStephen Shaw NEGOTIATION
Nicolas P WaycottAustraliaXuxue Feng NEGOTIATION
Francesco C MacleadUnited KingdomAmy Elsner NEGOTIATION
Faith L InouyeSpainStephen Shaw RENEWAL
Antonio C MaletJapanStephen Shaw UNQUALIFIED
Ashley K DilliardArgentinaAsiya Javayant PROPOSAL
Alejandro H BriddickUnited KingdomIvan Magalhaes RENEWAL
Jones D RutaAustraliaIvan Magalhaes NEW
Costa S SchemmerJapanOnyama Limba RENEWAL
Cody K FigeroaSpainIvan Magalhaes UNQUALIFIED
Claire A RutaBrazilStephen Shaw NEW
James X ShinkoBrazilStephen Shaw NEW
Ricardo W SchemmerIndiaIoni Bowcher UNQUALIFIED
Aruna S MaletCanadaAnna Fali UNQUALIFIED
Arvin B ShinkoRussiaElwin Sharvill RENEWAL
Greenwood I WhobreyFranceIoni Bowcher NEGOTIATION
Jefferson S FerenczIndiaAsiya Javayant NEW
Sinclair J RulapaughItalyAnna Fali NEGOTIATION
Arvin P OldroydSpainIoni Bowcher RENEWAL
Leon T GillianIndiaIvan Magalhaes RENEWAL
Misaki A TollnerFranceAsiya Javayant NEW
Octavia Z FlosiItalyAsiya Javayant NEW
Faith E RimCanadaBernardo Dominic RENEWAL
Claire Q FollerAustraliaAsiya Javayant NEW
Ashley G RutaArgentinaIoni Bowcher RENEWAL
Claire N MaletJapanIvan Magalhaes UNQUALIFIED
Adams F FollerBrazilAsiya Javayant QUALIFIED
Misaki W GauchoRussiaOnyama Limba QUALIFIED
Misaki Y StensethCanadaAsiya Javayant UNQUALIFIED
Salvatore A WieserBrazilAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya E GillianRussiaXuxue Feng RENEWAL
Alejandro Z VocelkaGermanyElwin Sharvill UNQUALIFIED
Jones G FollerRussiaStephen Shaw NEW
James I KuskoGermanyBernardo Dominic NEGOTIATION
Murillo G WhobreyAustraliaIvan Magalhaes NEGOTIATION
Munro X MacleadUnited KingdomAnna Fali PROPOSAL
Salvatore B ChuiSpainAmy Elsner RENEWAL
Rodrigues Z CaldareraIndiaIoni Bowcher NEGOTIATION
Nicolas W FigeroaJapanElwin Sharvill PROPOSAL
Alejandro Y SergiItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily W GillianJapan2025-04-22Dorl, James J Esq NEGOTIATION4Ioni Bowcher
1001Jones A ButtBrazil2025-04-15Printing Dimensions UNQUALIFIED58Asiya Javayant
1002Stacey V RimJapan2025-04-08Truhlar And Truhlar Attys QUALIFIED89Xuxue Feng
1003Chavez U MacleadRussia2025-04-29Truhlar And Truhlar Attys NEGOTIATION79Anna Fali
1004Cody Y GarufiFrance2025-04-10Buckley Miller Wright PROPOSAL93Stephen Shaw
1005Isabel P VenereGermany2025-05-01Chanay, Jeffrey A Esq NEW39Ivan Magalhaes
1006Aika W BologniaBrazil2025-04-10Feiner Bros NEW27Xuxue Feng
1007Maisha N GauchoJapan2025-04-30Rousseaux, Michael Esq NEGOTIATION49Ioni Bowcher
1008Mujtaba W VenereAustralia2025-04-13Chanay, Jeffrey A Esq NEW3Anna Fali
1009Chavez L ButtBrazil2025-04-25Chemel, James L Cpa RENEWAL44Bernardo Dominic
1010Smith H WaycottArgentina2025-04-25Printing Dimensions RENEWAL22Amy Elsner
1011Johnson X MaletItaly2025-04-17Printing Dimensions UNQUALIFIED82Xuxue Feng
1012Adams B GauchoCanada2025-04-16King, Christopher A Esq QUALIFIED99Ioni Bowcher
1013Ricardo P RimGermany2025-05-01Commercial Press RENEWAL48Xuxue Feng
1014Julie Z ButtIndia2025-04-14Dorl, James J Esq PROPOSAL43Asiya Javayant
1015Rodrigues X CampainGermany2025-04-21Benton, John B Jr PROPOSAL84Elwin Sharvill
1016James C NestleItaly2025-04-27Chemel, James L Cpa PROPOSAL15Amy Elsner
1017Darci Y IturbideBrazil2025-04-06King, Christopher A Esq UNQUALIFIED13Onyama Limba
1018Claire H BologniaBrazil2025-04-05Rangoni Of Florence NEW97Ioni Bowcher
1019David E StensethItaly2025-04-06Buckley Miller Wright QUALIFIED18Onyama Limba
1020Smith W RutaJapan2025-04-20Chanay, Jeffrey A Esq NEGOTIATION70Bernardo Dominic
1021Chavez N RutaGermany2025-04-20Feltz Printing Service QUALIFIED9Asiya Javayant
1022Stacey E GarufiArgentina2025-04-24Chemel, James L Cpa NEW75Stephen Shaw
1023Johnson I CampainRussia2025-04-29Feltz Printing Service UNQUALIFIED8Ioni Bowcher
1024Murillo V VenereArgentina2025-05-01Chapman, Ross E Esq PROPOSAL91Onyama Limba
1025Aruna I BowleyIndia2025-04-10Morlong Associates UNQUALIFIED18Bernardo Dominic
1026Salvatore Q SergiJapan2025-04-29Truhlar And Truhlar Attys NEW64Anna Fali
1027Nicolas R SlusarskiBrazil2025-04-06Feltz Printing Service UNQUALIFIED30Ioni Bowcher
1028Mujtaba H CampainUnited Kingdom2025-04-18Rangoni Of Florence NEW3Asiya Javayant
1029Maria Z IturbideBrazil2025-04-23Commercial Press PROPOSAL20Anna Fali
1030Leja R CaudyArgentina2025-04-14Truhlar And Truhlar Attys NEW38Anna Fali
1031Greenwood S FerenczArgentina2025-04-11Chemel, James L Cpa PROPOSAL81Elwin Sharvill
1032Silvio N BriddickGermany2025-04-27Rousseaux, Michael Esq NEGOTIATION66Elwin Sharvill
1033James Z ShinkoSpain2025-04-03Chanay, Jeffrey A Esq UNQUALIFIED93Anna Fali
1034Claire G PerinUnited Kingdom2025-04-20King, Christopher A Esq PROPOSAL85Stephen Shaw
1035Juan U SchemmerItaly2025-04-11Commercial Press RENEWAL6Ioni Bowcher
1036Sinclair X VocelkaIndia2025-04-03Commercial Press QUALIFIED34Bernardo Dominic
1037Julie T TollnerJapan2025-04-07Printing Dimensions NEGOTIATION36Asiya Javayant
1038Silvio F WhobreyArgentina2025-04-18Rangoni Of Florence NEW39Elwin Sharvill
1039Stacey R SergiSpain2025-04-21Chemel, James L Cpa UNQUALIFIED72Elwin Sharvill
1040Mujtaba O PoquetteJapan2025-04-12Dorl, James J Esq NEGOTIATION29Ioni Bowcher
1041Francesco I PerinGermany2025-04-27Dorl, James J Esq NEW65Xuxue Feng
1042Stacey M SergiItaly2025-04-29Commercial Press RENEWAL35Ivan Magalhaes
1043Mayumi K CaldareraSpain2025-04-25Rangoni Of Florence NEGOTIATION20Xuxue Feng
1044Jones R PerinItaly2025-04-25Morlong Associates RENEWAL13Ioni Bowcher
1045Aruna H MarrierRussia2025-04-26Commercial Press QUALIFIED64Ioni Bowcher
1046Wickens G WhobreyIndia2025-04-17Chanay, Jeffrey A Esq NEW11Amy Elsner
1047Clifford D PaprockiIndia2025-04-05Chanay, Jeffrey A Esq RENEWAL48Ioni Bowcher
1048Morrow W WhobreyGermany2025-04-24Rangoni Of Florence NEW30Bernardo Dominic
1049Smith R AlbaresArgentina2025-04-16Dorl, James J Esq NEGOTIATION21Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Juan S KuskoJapanStephen Shaw QUALIFIED
Claire O SchemmerCanadaAsiya Javayant NEGOTIATION
Maisha Y NestleUnited KingdomStephen Shaw UNQUALIFIED
Chavez W TollnerItalyXuxue Feng QUALIFIED
Jones A IturbideGermanyOnyama Limba NEGOTIATION
Adams T RutaBrazilAmy Elsner QUALIFIED
Silvio N StockhamArgentinaAnna Fali UNQUALIFIED
Misaki Z VenereRussiaStephen Shaw QUALIFIED
Darci M ButtGermanyAnna Fali RENEWAL
Juan L InouyeJapanElwin Sharvill RENEWAL
Octavia D RoysterBrazilBernardo Dominic RENEWAL
Kaitlin T DarakjyIndiaAmy Elsner NEGOTIATION
Aditya Y SlusarskiRussiaIoni Bowcher NEW
Clifford D KuskoCanadaIvan Magalhaes PROPOSAL
Murillo K KuskoFranceElwin Sharvill QUALIFIED
Sinclair Z CampainRussiaBernardo Dominic RENEWAL
Kaitlin G MaletAustraliaAsiya Javayant NEW
Emily Z PerinRussiaAnna Fali QUALIFIED
James E StockhamRussiaIvan Magalhaes NEW
Arvin Q IturbideBrazilBernardo Dominic NEW
Claire P GlickItalyElwin Sharvill QUALIFIED
Mayumi P OstroskyAustraliaXuxue Feng UNQUALIFIED
Wickens F BriddickIndiaElwin Sharvill RENEWAL
Emily I BologniaGermanyIoni Bowcher NEGOTIATION
Silvio Y TollnerJapanElwin Sharvill UNQUALIFIED
Juan D KolmetzItalyAnna Fali RENEWAL
Claire X MacleadAustraliaIoni Bowcher NEGOTIATION
Arvin D AlbaresCanadaXuxue Feng NEGOTIATION
Izzy Q RoysterArgentinaIvan Magalhaes NEW
Isabel C MarrierUnited KingdomXuxue Feng PROPOSAL
Emily F VenereSpainBernardo Dominic NEW
Kaitlin Q GauchoSpainAmy Elsner PROPOSAL
Ashley J PerinArgentinaStephen Shaw UNQUALIFIED
Jennifer L OldroydGermanyXuxue Feng NEW
Jeanfrancois K NickaFranceBernardo Dominic PROPOSAL
Greenwood N BriddickAustraliaXuxue Feng NEW
Sinclair A SergiItalyIoni Bowcher NEW
Aditya N PerinArgentinaElwin Sharvill UNQUALIFIED
Morrow X BologniaIndiaIoni Bowcher PROPOSAL
James Q GillianFranceBernardo Dominic RENEWAL
Julie Q NestleArgentinaAmy Elsner QUALIFIED
Isabel K RimSpainAnna Fali NEW
Johnson A SergiCanadaAmy Elsner RENEWAL
Stacey S BriddickRussiaIvan Magalhaes NEW
Izzy O FlosiRussiaXuxue Feng QUALIFIED
Jefferson F AmigonIndiaBernardo Dominic UNQUALIFIED
Tony Z MaletBrazilBernardo Dominic QUALIFIED
Octavia O AmigonGermanyBernardo Dominic UNQUALIFIED
Silvio T MaletArgentinaAmy Elsner RENEWAL
Smith H GarufiSpainOnyama Limba NEW
Frozen Columns
Name
Ricardo M Schemmer
Julie Q Gaucho
Mayumi Q Gillian
Leon Z Dilliard
Rodrigues G Caldarera
Octavia W Gaucho
Chavez S Bolognia
Jeanfrancois D Whobrey
Costa A Maclead
David N Butt
Murillo H Venere
Francesco W Flosi
Smith H Perin
Darci G Malet
Smith M Rulapaugh
Jefferson D Oldroyd
Jennifer Q Morasca
Costa H Glick
Aika X Nicka
Nicolas Z Sergi
Ricardo L Ruta
Claire A Venere
Ashley Z Butt
Claire E Glick
Maria W Venere
Antonio F Rulapaugh
Maria D Waycott
Alejandro T Garufi
Jeanfrancois D Butt
Mayumi O Gillian
Julie S Dilliard
Nicolas C Amigon
Salvatore Z Iturbide
Salvatore V Bowley
Jennifer G Venere
Jones K Stenseth
James K Sergi
Faith K Bolognia
Maria Y Iturbide
Julie X Malet
Nicolas K Saylors
Munro M Vocelka
Costa B Sergi
Morrow A Nicka
Ashley Z Tollner
Ashley H Tollner
Juan F Ostrosky
Ashley S Amigon
Aika P Garufi
Cody W Malet
IdCountryDate
1000France2025-04-14
1001Japan2025-04-03
1002Russia2025-04-16
1003Canada2025-04-22
1004Japan2025-04-19
1005Russia2025-04-15
1006Spain2025-04-22
1007United Kingdom2025-04-11
1008Canada2025-04-09
1009Germany2025-04-17
1010India2025-04-15
1011United Kingdom2025-04-14
1012France2025-04-10
1013Argentina2025-04-17
1014Canada2025-04-13
1015Brazil2025-04-05
1016Russia2025-04-19
1017Argentina2025-04-14
1018Brazil2025-04-20
1019Japan2025-04-29
1020Japan2025-04-14
1021United Kingdom2025-04-10
1022Russia2025-04-11
1023Russia2025-04-26
1024Argentina2025-04-14
1025Australia2025-04-11
1026Japan2025-04-12
1027Japan2025-04-13
1028Germany2025-05-01
1029Spain2025-05-01
1030Brazil2025-05-01
1031Brazil2025-04-09
1032Australia2025-04-27
1033United Kingdom2025-04-22
1034Australia2025-04-16
1035Spain2025-04-10
1036Russia2025-04-27
1037United Kingdom2025-04-18
1038United Kingdom2025-04-04
1039Italy2025-05-01
1040Japan2025-04-16
1041Italy2025-04-02
1042Italy2025-04-14
1043India2025-04-23
1044Argentina2025-04-20
1045Spain2025-04-29
1046Japan2025-04-24
1047Germany2025-04-27
1048Germany2025-04-29
1049Russia2025-04-03

On-Demand Data

NameIdCountryDate
Murillo Z Campain1000Canada2025-04-20
Jeanfrancois X Gaucho1001Japan2025-04-19
Darci R Rulapaugh1002Japan2025-04-30
Johnson W Sergi1003Germany2025-04-02
Kaitlin U Whobrey1004Germany2025-04-03
Stacey Y Malet1005Italy2025-04-25
James B Saylors1006Italy2025-04-11
Maisha U Royster1007India2025-04-04
Ivar L Butt1008Italy2025-04-07
Sinclair S Malet1009United Kingdom2025-05-01
Alejandro D Schemmer1010Brazil2025-04-26
Johnson R Kusko1011Japan2025-04-16
Leja N Flosi1012Argentina2025-04-22
Jeanfrancois D Glick1013United Kingdom2025-04-20
Kadeem L Venere1014United Kingdom2025-04-16
Adams K Stenseth1015Brazil2025-04-09
Maisha A Flosi1016Russia2025-04-23
Deepesh V Royster1017France2025-04-22
Jones Y Marrier1018Brazil2025-04-13
Juan X Vocelka1019Argentina2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro A GarufiItalyIvan Magalhaes RENEWAL
Mayumi E KolmetzGermanyOnyama Limba NEW
Darci A SchemmerRussiaIvan Magalhaes UNQUALIFIED
Misaki X RimIndiaAnna Fali UNQUALIFIED
Munro Q FollerCanadaIoni Bowcher NEW
Tony K BowleyBrazilXuxue Feng UNQUALIFIED
Nicolas V SlusarskiItalyIoni Bowcher QUALIFIED
Ricardo J MaletGermanyAnna Fali QUALIFIED
Rodrigues W MorascaIndiaStephen Shaw NEW
Tony X DilliardCanadaOnyama Limba NEGOTIATION
Francesco N OldroydAustraliaBernardo Dominic RENEWAL
Tony N TollnerArgentinaAmy Elsner RENEWAL
Salvatore N BowleyUnited KingdomIvan Magalhaes QUALIFIED
Francesco I FollerUnited KingdomOnyama Limba NEGOTIATION
Ashley X WieserFranceXuxue Feng UNQUALIFIED
Sinclair A GauchoIndiaAsiya Javayant NEW
Leja T OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi L FlosiBrazilXuxue Feng RENEWAL
Francesco O StockhamJapanElwin Sharvill UNQUALIFIED
Aruna Z FollerItalyOnyama Limba NEW
Salvatore M DilliardJapanStephen Shaw PROPOSAL
Silvio Z StockhamUnited KingdomAmy Elsner QUALIFIED
Isabel Y RutaFranceXuxue Feng RENEWAL
Munro B MorascaSpainBernardo Dominic UNQUALIFIED
Francesco C WhobreyFranceIoni Bowcher NEW
David V WhobreyArgentinaOnyama Limba QUALIFIED
Murillo R MacleadSpainIvan Magalhaes PROPOSAL
Nicolas R SaylorsGermanyBernardo Dominic RENEWAL
Jennifer X WaycottItalyBernardo Dominic QUALIFIED
Octavia N KolmetzIndiaIvan Magalhaes NEGOTIATION
Jones L CaldareraGermanyOnyama Limba NEW
Isabel Z GlickAustraliaBernardo Dominic NEW
Cody P DoeUnited KingdomOnyama Limba NEGOTIATION
Clifford C IturbideFranceAmy Elsner RENEWAL
Mayumi F VenereBrazilAsiya Javayant NEW
Johnson U WieserUnited KingdomAsiya Javayant PROPOSAL
James G OldroydFranceIoni Bowcher NEW
Munro J FlosiArgentinaAmy Elsner PROPOSAL
Adams L SlusarskiBrazilIvan Magalhaes NEW
Kaitlin H PoquetteArgentinaAnna Fali 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>