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
Jennifer K StensethFranceBernardo Dominic NEW
Kaitlin J GarufiAustraliaBernardo Dominic NEW
Munro T KolmetzFranceXuxue Feng UNQUALIFIED
Munro X SergiRussiaStephen Shaw PROPOSAL
Tony J NestleBrazilIvan Magalhaes NEW
Tony F GauchoJapanAmy Elsner PROPOSAL
Maria B PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Leon E DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Stacey Y FigeroaArgentinaBernardo Dominic PROPOSAL
Johnson H WieserSpainStephen Shaw UNQUALIFIED
Maisha Z InouyeBrazilOnyama Limba NEW
Ashley J GillianItalyIoni Bowcher UNQUALIFIED
James K RutaBrazilAsiya Javayant NEGOTIATION
Aruna C VocelkaFranceBernardo Dominic NEGOTIATION
Jefferson V MacleadGermanyIvan Magalhaes NEW
Kaitlin L ButtFranceIvan Magalhaes QUALIFIED
Morrow T CampainIndiaBernardo Dominic PROPOSAL
Murillo Z WaycottItalyBernardo Dominic PROPOSAL
Aika X VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues B MaletFranceStephen Shaw UNQUALIFIED
Silvio Q GlickIndiaIvan Magalhaes PROPOSAL
Aika K FlosiJapanOnyama Limba UNQUALIFIED
Darci Q PoquetteRussiaAsiya Javayant NEW
Ricardo U GauchoGermanyBernardo Dominic UNQUALIFIED
Murillo B AlbaresUnited KingdomAnna Fali PROPOSAL
Mayumi Z SaylorsIndiaElwin Sharvill QUALIFIED
Sinclair K DarakjyIndiaAmy Elsner NEGOTIATION
Wickens S NestleJapanOnyama Limba RENEWAL
Aditya O ButtRussiaOnyama Limba QUALIFIED
Munro V NestleCanadaAmy Elsner QUALIFIED
Aditya X VenereBrazilStephen Shaw QUALIFIED
Jones W FollerIndiaElwin Sharvill NEW
Maisha I AmigonCanadaXuxue Feng NEW
Mujtaba Z PerinItalyOnyama Limba NEGOTIATION
Rodrigues M MaletFranceAsiya Javayant QUALIFIED
Faith K SchemmerAustraliaAsiya Javayant NEW
Chavez I DoeFranceIvan Magalhaes PROPOSAL
Ivar N SchemmerBrazilBernardo Dominic QUALIFIED
Clifford H CaldareraJapanOnyama Limba UNQUALIFIED
Sinclair J MaletBrazilAmy Elsner UNQUALIFIED
Arvin U PaprockiJapanElwin Sharvill NEGOTIATION
Octavia S RimFranceAmy Elsner UNQUALIFIED
Jones G BowleyBrazilStephen Shaw PROPOSAL
Cody M FlosiItalyAmy Elsner NEGOTIATION
Aruna Z ShinkoJapanAsiya Javayant NEW
Rodrigues M AlbaresBrazilIvan Magalhaes NEW
Stacey D StockhamBrazilIoni Bowcher NEW
Aika X PerinArgentinaOnyama Limba QUALIFIED
Tony S RutaRussiaElwin Sharvill NEGOTIATION
Sinclair I KolmetzCanadaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin C OstroskyFranceAsiya Javayant NEGOTIATION
Cody B RutaSpainOnyama Limba NEGOTIATION
Smith U DilliardGermanyAsiya Javayant PROPOSAL
Maisha R WieserArgentinaIoni Bowcher RENEWAL
Johnson A FigeroaAustraliaIoni Bowcher NEW
James G GillianRussiaOnyama Limba UNQUALIFIED
Silvio E ChuiArgentinaIvan Magalhaes QUALIFIED
Leon M SaylorsAustraliaAnna Fali NEGOTIATION
Kaitlin E BowleyIndiaIoni Bowcher NEW
Chavez W RimItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey L SergiItaly2026-07-26Feltz Printing Service NEW68Anna Fali
1001Leon E IturbideRussia2026-08-04Rangoni Of Florence NEGOTIATION59Anna Fali
1002Morrow U AmigonIndia2026-08-07Commercial Press PROPOSAL94Ivan Magalhaes
1003Aika L VenereGermany2026-07-28Dorl, James J Esq UNQUALIFIED30Anna Fali
1004Aika C StockhamArgentina2026-08-03Dorl, James J Esq NEW13Ioni Bowcher
1005Maisha Y OldroydBrazil2026-07-19Chanay, Jeffrey A Esq RENEWAL24Onyama Limba
1006Faith O NickaUnited Kingdom2026-07-25Feltz Printing Service UNQUALIFIED17Anna Fali
1007Wickens V SlusarskiJapan2026-08-08Truhlar And Truhlar Attys RENEWAL95Stephen Shaw
1008Darci K SlusarskiGermany2026-08-07Feiner Bros NEGOTIATION18Elwin Sharvill
1009Aika S DoeBrazil2026-08-08Feltz Printing Service NEW64Asiya Javayant
1010Silvio V CampainAustralia2026-07-25Printing Dimensions PROPOSAL91Stephen Shaw
1011Stacey L MacleadCanada2026-07-22Printing Dimensions NEW17Elwin Sharvill
1012Deepesh Q RulapaughCanada2026-07-21Chanay, Jeffrey A Esq RENEWAL17Xuxue Feng
1013Antonio D CaudyCanada2026-07-18King, Christopher A Esq NEW43Xuxue Feng
1014Antonio S GauchoIndia2026-07-23Chanay, Jeffrey A Esq QUALIFIED1Ioni Bowcher
1015Francesco F CaudyItaly2026-08-06Chemel, James L Cpa NEW15Stephen Shaw
1016Stacey J VocelkaRussia2026-07-31Truhlar And Truhlar Attys RENEWAL88Anna Fali
1017Misaki V FollerItaly2026-07-17Buckley Miller Wright PROPOSAL12Stephen Shaw
1018Maisha W TollnerCanada2026-08-13Dorl, James J Esq QUALIFIED10Elwin Sharvill
1019Darci F SlusarskiItaly2026-07-18Feiner Bros NEW25Onyama Limba
1020Jennifer V AlbaresJapan2026-07-20Buckley Miller Wright NEGOTIATION59Elwin Sharvill
1021Izzy F MaletItaly2026-07-30Chanay, Jeffrey A Esq QUALIFIED62Ioni Bowcher
1022Aruna Y WaycottAustralia2026-08-10Truhlar And Truhlar Attys NEW21Elwin Sharvill
1023Mujtaba V WaycottItaly2026-07-23Chanay, Jeffrey A Esq NEW16Ioni Bowcher
1024Salvatore U FigeroaSpain2026-08-10Chemel, James L Cpa NEW83Anna Fali
1025Darci D WaycottFrance2026-08-10Dorl, James J Esq NEGOTIATION60Xuxue Feng
1026Clifford M AmigonItaly2026-07-27Truhlar And Truhlar Attys PROPOSAL5Amy Elsner
1027Jennifer E CaudyBrazil2026-07-25Chemel, James L Cpa QUALIFIED54Anna Fali
1028Cody Y DoeItaly2026-07-17Truhlar And Truhlar Attys NEGOTIATION13Ioni Bowcher
1029Alejandro G VocelkaRussia2026-07-22Commercial Press QUALIFIED62Onyama Limba
1030Misaki S BologniaUnited Kingdom2026-07-31Rousseaux, Michael Esq QUALIFIED4Amy Elsner
1031Silvio K SaylorsAustralia2026-08-08Feltz Printing Service PROPOSAL0Ivan Magalhaes
1032Leon F TollnerSpain2026-07-24King, Christopher A Esq NEGOTIATION8Ivan Magalhaes
1033Aditya J InouyeItaly2026-07-20King, Christopher A Esq NEW47Anna Fali
1034Ashley K WaycottGermany2026-07-19Printing Dimensions UNQUALIFIED55Bernardo Dominic
1035Morrow R GauchoArgentina2026-07-29Buckley Miller Wright UNQUALIFIED71Bernardo Dominic
1036Francesco H NickaCanada2026-07-18Dorl, James J Esq NEW75Onyama Limba
1037Isabel D KolmetzSpain2026-08-12Feltz Printing Service NEW99Bernardo Dominic
1038Silvio K RutaBrazil2026-07-30Feltz Printing Service QUALIFIED80Anna Fali
1039Deepesh H ButtJapan2026-07-25Printing Dimensions NEW66Amy Elsner
1040Jennifer T StockhamAustralia2026-08-13Commercial Press NEGOTIATION90Bernardo Dominic
1041Murillo P TollnerIndia2026-07-23Chemel, James L Cpa PROPOSAL65Asiya Javayant
1042Aruna B StockhamItaly2026-07-22Rousseaux, Michael Esq UNQUALIFIED94Bernardo Dominic
1043Cody L RoysterItaly2026-08-07Chemel, James L Cpa PROPOSAL0Anna Fali
1044Ivar W SchemmerBrazil2026-08-13Dorl, James J Esq NEGOTIATION70Elwin Sharvill
1045James B GauchoItaly2026-08-03Feiner Bros PROPOSAL98Xuxue Feng
1046Salvatore E StensethJapan2026-07-22Buckley Miller Wright PROPOSAL62Asiya Javayant
1047Mujtaba S RutaCanada2026-08-07Feiner Bros RENEWAL3Amy Elsner
1048Isabel O AmigonJapan2026-08-11Chapman, Ross E Esq RENEWAL74Amy Elsner
1049Costa Z InouyeIndia2026-08-09King, Christopher A Esq RENEWAL16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria I RulapaughGermanyElwin Sharvill UNQUALIFIED
Jones D PerinRussiaBernardo Dominic PROPOSAL
Ricardo F NickaFranceAnna Fali RENEWAL
Emily C AmigonArgentinaXuxue Feng RENEWAL
Mayumi F ChuiFranceIoni Bowcher QUALIFIED
Aika K NestleAustraliaXuxue Feng UNQUALIFIED
Julie A SergiFranceOnyama Limba UNQUALIFIED
Johnson P MaletItalyIoni Bowcher UNQUALIFIED
Adams C WaycottSpainAsiya Javayant PROPOSAL
Aruna Z SaylorsGermanyOnyama Limba RENEWAL
Arvin U InouyeIndiaAnna Fali NEW
Francesco P OstroskyCanadaOnyama Limba QUALIFIED
Darci W PaprockiArgentinaBernardo Dominic PROPOSAL
Morrow H IturbideFranceIvan Magalhaes QUALIFIED
James T CampainIndiaStephen Shaw NEW
Tony L DilliardIndiaElwin Sharvill RENEWAL
Sinclair D OldroydGermanyIoni Bowcher RENEWAL
Smith K GarufiGermanyAsiya Javayant NEW
Darci C PerinGermanyStephen Shaw QUALIFIED
Nicolas Y AmigonFranceStephen Shaw RENEWAL
Jefferson B CaudySpainIoni Bowcher PROPOSAL
Salvatore R InouyeItalyOnyama Limba RENEWAL
Johnson O RulapaughItalyIvan Magalhaes QUALIFIED
Johnson N SlusarskiRussiaXuxue Feng PROPOSAL
Mayumi G FerenczItalyAsiya Javayant NEW
Antonio K DilliardCanadaIvan Magalhaes QUALIFIED
Francesco L PaprockiCanadaAsiya Javayant NEGOTIATION
Isabel D StensethRussiaOnyama Limba RENEWAL
Adams O SlusarskiSpainAmy Elsner NEW
Kadeem B FigeroaCanadaBernardo Dominic QUALIFIED
Jeanfrancois P PaprockiRussiaBernardo Dominic NEGOTIATION
Juan U OldroydArgentinaIvan Magalhaes NEW
Aditya S VocelkaRussiaAsiya Javayant NEW
Nicolas Q VenereUnited KingdomAnna Fali PROPOSAL
Johnson S PerinBrazilStephen Shaw NEGOTIATION
Julie Q WieserCanadaIvan Magalhaes NEGOTIATION
Greenwood M VenereFranceAsiya Javayant PROPOSAL
Kadeem P OldroydFranceStephen Shaw QUALIFIED
Adams V RimAustraliaStephen Shaw NEGOTIATION
Cody E GillianItalyAnna Fali RENEWAL
Leja L InouyeItalyIoni Bowcher NEW
Mayumi C ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Maisha T CampainUnited KingdomAsiya Javayant RENEWAL
Maisha A DoeCanadaStephen Shaw RENEWAL
Emily H RoysterRussiaAsiya Javayant PROPOSAL
Tony V ButtUnited KingdomAsiya Javayant UNQUALIFIED
Darci D CampainRussiaIoni Bowcher PROPOSAL
Smith U RutaIndiaStephen Shaw RENEWAL
Nicolas V NickaArgentinaBernardo Dominic QUALIFIED
Maisha E PerinCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Munro S Campain
James O Malet
James K Ferencz
Jennifer U Bolognia
Nicolas E Albares
Kaitlin G Malet
Nicolas U Campain
Sinclair X Gaucho
Deepesh P Gillian
Murillo T Marrier
Antonio U Rulapaugh
Costa F Ostrosky
Morrow B Schemmer
Julie T Vocelka
Aditya W Kolmetz
Francesco D Oldroyd
Murillo L Malet
Greenwood M Gillian
Faith P Wieser
Cody M Kolmetz
Rodrigues R Maclead
Smith K Paprocki
Smith S Gaucho
Claire E Caldarera
Antonio K Poquette
Misaki X Albares
Kaitlin E Kusko
Leja P Slusarski
Kadeem W Stockham
Leja K Albares
Jennifer A Ferencz
Emily H Gaucho
Aika U Caudy
Kadeem V Inouye
David Q Foller
Isabel S Vocelka
Smith D Amigon
James A Paprocki
Arvin W Ostrosky
Francesco G Malet
Francesco O Vocelka
Rodrigues G Iturbide
Kaitlin V Waycott
Misaki G Glick
Jones F Darakjy
Aruna R Nestle
Morrow X Vocelka
Leon R Bolognia
Leja B Whobrey
Jennifer I Schemmer
IdCountryDate
1000Italy2026-07-26
1001Italy2026-07-17
1002Canada2026-07-21
1003Australia2026-07-18
1004Italy2026-07-30
1005Japan2026-08-10
1006Brazil2026-08-15
1007United Kingdom2026-07-18
1008United Kingdom2026-07-27
1009Brazil2026-07-31
1010Canada2026-07-17
1011Canada2026-08-07
1012Brazil2026-08-12
1013Germany2026-07-27
1014Italy2026-08-05
1015Italy2026-07-29
1016Canada2026-08-01
1017United Kingdom2026-08-09
1018Russia2026-08-08
1019Italy2026-08-04
1020Russia2026-08-08
1021Russia2026-08-06
1022United Kingdom2026-08-11
1023Italy2026-08-05
1024Japan2026-08-05
1025Argentina2026-08-14
1026Japan2026-08-04
1027Argentina2026-08-08
1028Germany2026-08-03
1029Italy2026-08-08
1030United Kingdom2026-07-18
1031Germany2026-08-14
1032Argentina2026-07-27
1033Australia2026-08-04
1034Russia2026-07-20
1035Italy2026-07-19
1036Spain2026-08-12
1037Italy2026-07-27
1038Germany2026-07-24
1039Italy2026-08-05
1040Russia2026-07-21
1041Brazil2026-07-22
1042Russia2026-07-23
1043Spain2026-08-04
1044Canada2026-08-10
1045Russia2026-08-13
1046Russia2026-07-19
1047Italy2026-08-07
1048Brazil2026-07-20
1049United Kingdom2026-07-25

On-Demand Data

NameIdCountryDate
Munro C Royster1000Italy2026-07-29
Cody X Gaucho1001Japan2026-08-12
Ivar J Whobrey1002Canada2026-07-20
Adams R Bowley1003Argentina2026-07-29
Darci G Chui1004Italy2026-07-29
Mayumi I Vocelka1005United Kingdom2026-08-14
Mayumi W Paprocki1006Italy2026-08-12
Francesco B Figeroa1007Japan2026-08-14
Murillo J Sergi1008Germany2026-07-24
Nicolas E Foller1009Italy2026-07-27
Aika X Oldroyd1010Russia2026-07-28
Arvin W Ferencz1011Argentina2026-08-02
Julie P Shinko1012Argentina2026-08-11
Ashley M Tollner1013Argentina2026-07-23
Maisha N Poquette1014Japan2026-08-10
Maisha A Stenseth1015India2026-08-04
Leja L Gillian1016France2026-07-25
Aruna V Royster1017Argentina2026-08-10
Claire Q Kolmetz1018Argentina2026-07-26
Costa H Nicka1019Russia2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna I MorascaGermanyBernardo Dominic NEGOTIATION
Costa P OstroskyJapanStephen Shaw NEW
Ivar F DarakjyFranceOnyama Limba PROPOSAL
Leon C MarrierAustraliaIoni Bowcher UNQUALIFIED
Antonio E IturbideBrazilIoni Bowcher NEW
Maisha A NestleRussiaIoni Bowcher NEW
Stacey Z RoysterJapanIoni Bowcher PROPOSAL
Antonio U MorascaCanadaAsiya Javayant UNQUALIFIED
Maria W RoysterArgentinaIvan Magalhaes QUALIFIED
Mujtaba D AlbaresSpainIoni Bowcher NEGOTIATION
Jones S RoysterCanadaElwin Sharvill NEGOTIATION
Morrow A MacleadCanadaIoni Bowcher PROPOSAL
Juan I ButtRussiaAmy Elsner NEW
Octavia D DarakjyUnited KingdomXuxue Feng RENEWAL
Julie G PoquetteJapanElwin Sharvill QUALIFIED
Faith K MaletCanadaStephen Shaw NEGOTIATION
Francesco V FlosiCanadaXuxue Feng NEW
Jones L GillianRussiaIoni Bowcher UNQUALIFIED
Smith N GarufiJapanElwin Sharvill UNQUALIFIED
Jones S MorascaJapanAmy Elsner UNQUALIFIED
Tony A KuskoBrazilOnyama Limba UNQUALIFIED
Deepesh Y MacleadRussiaIvan Magalhaes NEW
Juan T SchemmerRussiaXuxue Feng NEGOTIATION
Juan K StockhamIndiaIoni Bowcher RENEWAL
Rodrigues K StensethGermanyAsiya Javayant QUALIFIED
Tony Q MaletUnited KingdomXuxue Feng PROPOSAL
Leon F GlickGermanyIvan Magalhaes PROPOSAL
Antonio C BologniaRussiaAmy Elsner UNQUALIFIED
Wickens W TollnerFranceBernardo Dominic RENEWAL
Isabel X MaletGermanyAnna Fali NEW
Isabel C GlickUnited KingdomAnna Fali RENEWAL
Julie Y WieserGermanyXuxue Feng NEGOTIATION
Greenwood M FerenczAustraliaIvan Magalhaes NEW
Ashley L KolmetzSpainStephen Shaw RENEWAL
Ricardo N TollnerFranceAmy Elsner PROPOSAL
Morrow H SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Faith V CaldareraArgentinaOnyama Limba NEGOTIATION
Octavia W SaylorsUnited KingdomElwin Sharvill NEW
Chavez A OstroskyIndiaAmy Elsner NEGOTIATION
Faith J SergiBrazilXuxue Feng 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>