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
Cody M NestleGermanyIoni Bowcher NEW
Mayumi T VenereSpainBernardo Dominic UNQUALIFIED
Francesco E PerinCanadaBernardo Dominic NEW
Aruna V RimRussiaIvan Magalhaes UNQUALIFIED
Faith R CampainGermanyBernardo Dominic NEGOTIATION
Maisha V SlusarskiCanadaXuxue Feng PROPOSAL
Ricardo G StensethUnited KingdomStephen Shaw RENEWAL
Jefferson R StensethIndiaXuxue Feng PROPOSAL
Emily V GlickJapanAsiya Javayant RENEWAL
Kadeem B FigeroaFranceAnna Fali RENEWAL
Greenwood C CaudyRussiaAmy Elsner NEW
Clifford Q GillianJapanStephen Shaw QUALIFIED
Juan A WhobreyCanadaIoni Bowcher PROPOSAL
Darci J SchemmerIndiaIoni Bowcher RENEWAL
Ricardo H MacleadCanadaAnna Fali NEW
Jefferson C VocelkaItalyXuxue Feng NEW
Kaitlin Y RoysterJapanIoni Bowcher QUALIFIED
Rodrigues L SergiCanadaElwin Sharvill PROPOSAL
Aditya O MarrierItalyElwin Sharvill UNQUALIFIED
Costa J SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Mayumi L PoquetteBrazilAnna Fali RENEWAL
Kaitlin C InouyeFranceBernardo Dominic QUALIFIED
Silvio J VenereCanadaStephen Shaw QUALIFIED
Isabel T BriddickItalyStephen Shaw RENEWAL
Francesco T MaletArgentinaIoni Bowcher QUALIFIED
Costa R OldroydBrazilIoni Bowcher UNQUALIFIED
Jones N GlickAustraliaAsiya Javayant PROPOSAL
Costa J StensethFranceIoni Bowcher NEGOTIATION
Clifford U VenereCanadaAsiya Javayant NEGOTIATION
Salvatore B OstroskyItalyIoni Bowcher UNQUALIFIED
Alejandro P CaldareraItalyStephen Shaw PROPOSAL
Stacey Q GlickSpainXuxue Feng NEGOTIATION
Leja C CaudyRussiaAsiya Javayant NEW
Maisha Q RutaSpainStephen Shaw RENEWAL
Jennifer Z NickaFranceBernardo Dominic PROPOSAL
Murillo B PaprockiArgentinaAsiya Javayant RENEWAL
Aruna G FerenczAustraliaIoni Bowcher NEW
Stacey Q GillianRussiaAnna Fali NEW
Smith F ShinkoGermanyIvan Magalhaes RENEWAL
Munro J VenereUnited KingdomAnna Fali NEW
Darci Z TollnerRussiaXuxue Feng QUALIFIED
Faith F PoquetteSpainAnna Fali NEW
Ricardo N NestleBrazilAnna Fali QUALIFIED
Silvio Z GauchoGermanyXuxue Feng NEGOTIATION
Ivar L RulapaughBrazilAsiya Javayant QUALIFIED
Jennifer O ShinkoFranceStephen Shaw NEGOTIATION
Cody Y FlosiJapanIvan Magalhaes NEGOTIATION
Murillo O BowleyArgentinaAsiya Javayant PROPOSAL
Arvin R BologniaSpainAmy Elsner NEW
Leja G BologniaIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey M ButtBrazilAsiya Javayant PROPOSAL
Juan E PaprockiGermanyOnyama Limba NEW
Silvio L NestleBrazilIoni Bowcher NEW
Mujtaba J FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Wickens N ShinkoIndiaAsiya Javayant PROPOSAL
Smith G FlosiFranceStephen Shaw RENEWAL
Darci Q DoeArgentinaElwin Sharvill NEGOTIATION
Munro C BologniaAustraliaIoni Bowcher NEGOTIATION
Wickens F SlusarskiIndiaElwin Sharvill PROPOSAL
Jones G RutaCanadaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James V MarrierBrazil2026-08-06Feltz Printing Service PROPOSAL88Anna Fali
1001Costa K IturbideGermany2026-07-26Rousseaux, Michael Esq QUALIFIED55Bernardo Dominic
1002Maria U WieserFrance2026-08-13Chanay, Jeffrey A Esq NEW95Elwin Sharvill
1003Arvin S MacleadItaly2026-07-27Feltz Printing Service NEW89Amy Elsner
1004Ivar O MaletCanada2026-07-25Feiner Bros RENEWAL12Anna Fali
1005Costa M BriddickItaly2026-08-11Printing Dimensions PROPOSAL75Ivan Magalhaes
1006Alejandro U WhobreyIndia2026-08-07Chanay, Jeffrey A Esq PROPOSAL87Stephen Shaw
1007Aditya A InouyeJapan2026-07-30Dorl, James J Esq NEW21Ivan Magalhaes
1008Rodrigues G FigeroaBrazil2026-07-27Buckley Miller Wright PROPOSAL48Ivan Magalhaes
1009Ivar L ShinkoRussia2026-07-19Chemel, James L Cpa UNQUALIFIED8Ivan Magalhaes
1010Murillo L KolmetzArgentina2026-07-29King, Christopher A Esq RENEWAL43Onyama Limba
1011Deepesh C BriddickCanada2026-08-15Truhlar And Truhlar Attys NEW85Asiya Javayant
1012Chavez M WaycottRussia2026-08-11Morlong Associates RENEWAL48Elwin Sharvill
1013Darci W WaycottAustralia2026-08-07Rangoni Of Florence NEW7Anna Fali
1014Johnson W AmigonArgentina2026-08-02Printing Dimensions RENEWAL30Anna Fali
1015Leon J NickaArgentina2026-08-17Rousseaux, Michael Esq NEW82Amy Elsner
1016Antonio F CampainItaly2026-08-01Chapman, Ross E Esq UNQUALIFIED25Onyama Limba
1017Leja Y VocelkaArgentina2026-08-03Dorl, James J Esq UNQUALIFIED54Onyama Limba
1018Maisha H VocelkaJapan2026-08-06Rangoni Of Florence UNQUALIFIED59Bernardo Dominic
1019Wickens G SchemmerFrance2026-08-11King, Christopher A Esq UNQUALIFIED50Onyama Limba
1020Stacey T AlbaresSpain2026-08-08King, Christopher A Esq QUALIFIED56Amy Elsner
1021Faith R KuskoCanada2026-08-12Commercial Press NEGOTIATION46Bernardo Dominic
1022Costa K MacleadBrazil2026-07-24Buckley Miller Wright UNQUALIFIED54Elwin Sharvill
1023Deepesh B SaylorsItaly2026-08-13Rangoni Of Florence UNQUALIFIED37Amy Elsner
1024Ivar D ShinkoCanada2026-07-21Rousseaux, Michael Esq NEGOTIATION52Amy Elsner
1025Morrow O WaycottIndia2026-08-11Chanay, Jeffrey A Esq NEGOTIATION1Stephen Shaw
1026Aditya D AlbaresGermany2026-07-29Dorl, James J Esq NEW60Ivan Magalhaes
1027Salvatore D ChuiRussia2026-07-27Chapman, Ross E Esq RENEWAL57Bernardo Dominic
1028Sinclair I OstroskyFrance2026-08-11Rousseaux, Michael Esq NEGOTIATION76Ivan Magalhaes
1029Emily J InouyeRussia2026-07-23Dorl, James J Esq NEW67Onyama Limba
1030Mujtaba A RulapaughFrance2026-07-28Truhlar And Truhlar Attys QUALIFIED53Xuxue Feng
1031Leon V DoeJapan2026-08-07Chemel, James L Cpa PROPOSAL11Xuxue Feng
1032Izzy C ChuiFrance2026-07-20King, Christopher A Esq PROPOSAL15Amy Elsner
1033Jeanfrancois X StensethIndia2026-08-02Rangoni Of Florence NEW97Ivan Magalhaes
1034Munro U KolmetzUnited Kingdom2026-08-15Rousseaux, Michael Esq NEW41Amy Elsner
1035Jeanfrancois Q CaudyBrazil2026-08-03Rousseaux, Michael Esq RENEWAL39Asiya Javayant
1036Francesco Y DarakjyFrance2026-07-20Chanay, Jeffrey A Esq UNQUALIFIED0Stephen Shaw
1037Clifford W ButtBrazil2026-07-28Rangoni Of Florence NEW10Asiya Javayant
1038Mujtaba G MaletGermany2026-08-03Rangoni Of Florence NEGOTIATION42Stephen Shaw
1039Aditya O WhobreySpain2026-08-01Printing Dimensions UNQUALIFIED0Stephen Shaw
1040Stacey I WaycottFrance2026-07-31Chapman, Ross E Esq UNQUALIFIED20Asiya Javayant
1041Claire P PoquetteCanada2026-08-14Feiner Bros QUALIFIED80Onyama Limba
1042David Q VocelkaSpain2026-08-17King, Christopher A Esq NEW5Anna Fali
1043Leon T ShinkoCanada2026-07-19Feltz Printing Service QUALIFIED20Asiya Javayant
1044Sinclair F RulapaughCanada2026-08-12Dorl, James J Esq QUALIFIED64Onyama Limba
1045Munro X RoysterCanada2026-08-12King, Christopher A Esq NEGOTIATION35Bernardo Dominic
1046Aruna F NestleJapan2026-07-27Feltz Printing Service PROPOSAL24Anna Fali
1047Murillo Q MacleadSpain2026-08-14Commercial Press NEW97Asiya Javayant
1048Arvin B ChuiSpain2026-08-11Rangoni Of Florence UNQUALIFIED24Bernardo Dominic
1049Leon R DilliardRussia2026-08-13Buckley Miller Wright UNQUALIFIED9Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi O OldroydAustraliaElwin Sharvill UNQUALIFIED
Ashley G MaletUnited KingdomAsiya Javayant NEW
Rodrigues N MaletRussiaIoni Bowcher PROPOSAL
Octavia Q SaylorsAustraliaStephen Shaw UNQUALIFIED
Morrow A SchemmerCanadaStephen Shaw UNQUALIFIED
Ashley I GillianIndiaElwin Sharvill PROPOSAL
Maria E SergiGermanyAnna Fali PROPOSAL
Arvin I CaudyIndiaStephen Shaw NEGOTIATION
Francesco B MarrierJapanIvan Magalhaes UNQUALIFIED
Chavez A FlosiArgentinaAmy Elsner RENEWAL
Morrow E NestleArgentinaIoni Bowcher QUALIFIED
Murillo U MaletGermanyXuxue Feng QUALIFIED
Ivar H FollerAustraliaAmy Elsner NEW
Maisha Z DilliardItalyXuxue Feng NEGOTIATION
Greenwood S CampainBrazilElwin Sharvill PROPOSAL
Octavia U FerenczIndiaOnyama Limba RENEWAL
Sinclair M MorascaItalyIoni Bowcher NEW
Antonio J DoeBrazilAsiya Javayant NEGOTIATION
Emily J NestleArgentinaOnyama Limba RENEWAL
Maria T BowleyCanadaBernardo Dominic PROPOSAL
Darci W MaletGermanyIoni Bowcher RENEWAL
Faith A MorascaCanadaAnna Fali NEGOTIATION
Jeanfrancois Z VocelkaSpainAmy Elsner RENEWAL
Stacey V WhobreyRussiaStephen Shaw NEGOTIATION
Jennifer M InouyeGermanyIvan Magalhaes QUALIFIED
Jefferson C GillianGermanyAmy Elsner QUALIFIED
Jefferson A FlosiIndiaAnna Fali PROPOSAL
Smith M BowleyAustraliaAmy Elsner NEW
Salvatore I RoysterRussiaAnna Fali RENEWAL
Sinclair Q CaldareraItalyAnna Fali QUALIFIED
Juan D WaycottIndiaIvan Magalhaes QUALIFIED
Munro N FlosiArgentinaStephen Shaw PROPOSAL
Munro Y KolmetzUnited KingdomBernardo Dominic NEW
Jennifer R WieserFranceAmy Elsner NEW
Ricardo K MacleadAustraliaOnyama Limba QUALIFIED
Wickens C OldroydCanadaXuxue Feng RENEWAL
James K GarufiFranceStephen Shaw RENEWAL
Julie U BowleyCanadaAnna Fali NEW
Nicolas F TollnerSpainXuxue Feng NEW
Deepesh W MaletIndiaStephen Shaw QUALIFIED
Chavez S NestleFranceElwin Sharvill PROPOSAL
Izzy K BologniaSpainAmy Elsner NEW
Ivar F DarakjyFranceAmy Elsner PROPOSAL
Jones F PaprockiFranceAsiya Javayant NEGOTIATION
Francesco W PoquetteJapanOnyama Limba QUALIFIED
Johnson C MaletFranceIoni Bowcher RENEWAL
Jones O BriddickItalyStephen Shaw PROPOSAL
Ashley S GlickUnited KingdomIvan Magalhaes RENEWAL
Julie Z GillianUnited KingdomIvan Magalhaes PROPOSAL
Salvatore F FollerSpainIoni Bowcher RENEWAL
Frozen Columns
Name
Isabel Z Garufi
Ashley M Malet
Morrow G Dilliard
Stacey C Iturbide
Mayumi P Amigon
Greenwood I Darakjy
Octavia J Garufi
Nicolas Y Nestle
Sinclair C Flosi
Rodrigues S Slusarski
Rodrigues D Darakjy
Faith O Vocelka
Costa V Venere
Octavia H Paprocki
Adams D Malet
Kaitlin N Gillian
Salvatore W Schemmer
Arvin D Garufi
Misaki I Nicka
Morrow H Bowley
Mujtaba W Kolmetz
Jennifer E Paprocki
Greenwood H Malet
Maisha W Kusko
Jennifer A Tollner
Jennifer U Albares
Nicolas W Wieser
Misaki K Morasca
Emily Z Caldarera
Kadeem N Morasca
Ashley W Slusarski
Ivar R Perin
Octavia K Doe
Jefferson V Tollner
Salvatore E Iturbide
Silvio Z Kusko
Leja K Nestle
Johnson U Rim
Ricardo Z Ostrosky
Aika P Nicka
Ashley Z Glick
Darci E Poquette
Nicolas N Kusko
Costa M Nestle
Munro I Stockham
Rodrigues O Rulapaugh
Tony N Malet
Aditya H Iturbide
Cody F Ferencz
Costa P Malet
IdCountryDate
1000Russia2026-07-21
1001United Kingdom2026-08-10
1002Spain2026-07-23
1003Japan2026-07-19
1004Spain2026-08-10
1005Italy2026-08-16
1006Brazil2026-07-26
1007Russia2026-07-26
1008Spain2026-08-05
1009Argentina2026-07-21
1010United Kingdom2026-08-16
1011Australia2026-07-30
1012Australia2026-07-22
1013Spain2026-08-11
1014Germany2026-07-29
1015India2026-08-03
1016Germany2026-08-03
1017Brazil2026-08-05
1018Brazil2026-07-21
1019Spain2026-08-05
1020Brazil2026-07-22
1021Brazil2026-07-24
1022Spain2026-08-08
1023Australia2026-08-17
1024Canada2026-08-07
1025Spain2026-08-14
1026Argentina2026-07-27
1027Russia2026-07-26
1028India2026-07-25
1029United Kingdom2026-07-27
1030France2026-08-16
1031France2026-08-09
1032Spain2026-07-27
1033Japan2026-08-02
1034France2026-07-20
1035India2026-08-14
1036Spain2026-07-29
1037Japan2026-08-06
1038United Kingdom2026-07-27
1039Spain2026-07-28
1040Spain2026-07-24
1041India2026-08-06
1042Germany2026-07-29
1043Russia2026-08-11
1044United Kingdom2026-08-08
1045Italy2026-08-11
1046Canada2026-07-19
1047India2026-08-14
1048Italy2026-08-07
1049Italy2026-07-20

On-Demand Data

NameIdCountryDate
Antonio N Oldroyd1000United Kingdom2026-07-23
Julie B Whobrey1001Spain2026-08-08
Smith C Marrier1002Australia2026-07-24
Ivar I Caudy1003Spain2026-08-05
Tony T Poquette1004United Kingdom2026-07-21
Ricardo S Amigon1005Canada2026-08-14
Jeanfrancois B Rulapaugh1006Argentina2026-08-17
Clifford U Ruta1007Canada2026-08-14
Stacey X Marrier1008Canada2026-08-17
Smith D Briddick1009Brazil2026-08-13
Stacey Z Malet1010Brazil2026-08-06
Costa R Saylors1011Brazil2026-07-22
Murillo Y Butt1012United Kingdom2026-07-20
Isabel T Kusko1013Brazil2026-08-11
Claire A Inouye1014Russia2026-07-30
Rodrigues U Ruta1015Italy2026-07-30
Leja C Nestle1016France2026-07-24
Antonio Z Ruta1017Canada2026-08-05
Leon T Flosi1018Japan2026-08-17
Costa I Stockham1019Brazil2026-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Y GillianCanadaAmy Elsner UNQUALIFIED
Ricardo A NickaAustraliaBernardo Dominic UNQUALIFIED
Silvio Q FigeroaSpainIvan Magalhaes NEGOTIATION
Jefferson Y GarufiSpainAmy Elsner NEW
Johnson S FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Misaki Q ShinkoJapanBernardo Dominic NEGOTIATION
Jeanfrancois X ButtCanadaElwin Sharvill UNQUALIFIED
James M MaletSpainElwin Sharvill NEGOTIATION
David G SaylorsRussiaAnna Fali UNQUALIFIED
Octavia I FlosiUnited KingdomBernardo Dominic NEW
Deepesh T DoeSpainIvan Magalhaes UNQUALIFIED
James D DoeJapanXuxue Feng QUALIFIED
Izzy P FlosiIndiaIvan Magalhaes NEW
Mayumi S MaletIndiaIoni Bowcher NEW
Stacey E CampainRussiaIoni Bowcher QUALIFIED
Clifford B MarrierSpainAnna Fali QUALIFIED
Morrow F OldroydArgentinaStephen Shaw NEGOTIATION
Ricardo O GlickRussiaOnyama Limba PROPOSAL
Deepesh Y BowleyArgentinaAnna Fali QUALIFIED
Alejandro D WieserItalyAmy Elsner RENEWAL
Ivar Z OstroskyCanadaAnna Fali RENEWAL
Leon N VocelkaGermanyOnyama Limba PROPOSAL
Smith S ButtGermanyAsiya Javayant QUALIFIED
James Z GarufiAustraliaElwin Sharvill NEGOTIATION
Munro I PerinBrazilXuxue Feng NEW
Murillo C SchemmerJapanXuxue Feng NEGOTIATION
Maria E MaletRussiaIoni Bowcher RENEWAL
Aika M AmigonArgentinaXuxue Feng NEGOTIATION
David L FlosiRussiaStephen Shaw NEW
Misaki Q GarufiIndiaAnna Fali PROPOSAL
Julie J SaylorsItalyXuxue Feng NEGOTIATION
Mayumi D WhobreySpainAnna Fali QUALIFIED
Chavez P MarrierCanadaElwin Sharvill PROPOSAL
Mujtaba L NickaAustraliaElwin Sharvill PROPOSAL
Maisha A WaycottAustraliaBernardo Dominic RENEWAL
David W VocelkaIndiaXuxue Feng NEW
Izzy S NestleUnited KingdomAnna Fali UNQUALIFIED
Leja L NestleJapanIoni Bowcher NEGOTIATION
Morrow A ChuiSpainXuxue Feng NEW
Antonio U SchemmerSpainBernardo Dominic QUALIFIED

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