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
Misaki N NickaAustraliaAsiya Javayant NEGOTIATION
Ashley R WieserUnited KingdomXuxue Feng NEGOTIATION
Greenwood W GarufiBrazilAsiya Javayant NEGOTIATION
Morrow Z InouyeAustraliaElwin Sharvill PROPOSAL
Julie U CaudyJapanElwin Sharvill PROPOSAL
Jefferson S StensethUnited KingdomOnyama Limba NEW
Aditya H PerinItalyStephen Shaw RENEWAL
Stacey Q PerinJapanAmy Elsner UNQUALIFIED
Chavez A FlosiSpainOnyama Limba RENEWAL
Arvin U DarakjyJapanAmy Elsner NEW
Misaki G AmigonRussiaIvan Magalhaes RENEWAL
Mayumi P BriddickFranceAnna Fali PROPOSAL
Claire X PoquetteBrazilIoni Bowcher NEGOTIATION
Octavia X ButtFranceBernardo Dominic NEW
Maria S BowleyFranceBernardo Dominic PROPOSAL
James C BowleyUnited KingdomBernardo Dominic NEW
Aditya A CampainGermanyBernardo Dominic UNQUALIFIED
Claire T AlbaresBrazilXuxue Feng NEGOTIATION
Ivar X InouyeRussiaAnna Fali RENEWAL
Chavez I RutaItalyIoni Bowcher UNQUALIFIED
Jones P IturbideCanadaBernardo Dominic NEW
James R RulapaughArgentinaAmy Elsner QUALIFIED
Chavez U AlbaresArgentinaIvan Magalhaes RENEWAL
Jefferson Y FerenczCanadaXuxue Feng UNQUALIFIED
Aditya W BriddickFranceXuxue Feng UNQUALIFIED
Isabel F KuskoUnited KingdomOnyama Limba UNQUALIFIED
Julie N DilliardJapanAmy Elsner PROPOSAL
Aruna V VocelkaUnited KingdomElwin Sharvill PROPOSAL
David H FerenczGermanyBernardo Dominic UNQUALIFIED
Wickens T RulapaughRussiaOnyama Limba QUALIFIED
Kaitlin B BriddickSpainAmy Elsner NEGOTIATION
Chavez F FollerRussiaAmy Elsner NEGOTIATION
Francesco Y InouyeJapanElwin Sharvill NEGOTIATION
Morrow C InouyeCanadaXuxue Feng PROPOSAL
Adams W NestleFranceBernardo Dominic QUALIFIED
Silvio S DilliardItalyOnyama Limba PROPOSAL
Faith A OstroskyBrazilAmy Elsner NEW
Rodrigues Z RoysterJapanBernardo Dominic NEGOTIATION
Greenwood B AmigonItalyElwin Sharvill PROPOSAL
Nicolas H WaycottGermanyBernardo Dominic NEW
Aditya E FerenczUnited KingdomStephen Shaw NEW
Salvatore L RulapaughCanadaAsiya Javayant PROPOSAL
Isabel Q FlosiCanadaAmy Elsner QUALIFIED
Salvatore Y AmigonIndiaBernardo Dominic NEGOTIATION
Costa Z PoquetteJapanBernardo Dominic RENEWAL
Kaitlin W SchemmerItalyIoni Bowcher QUALIFIED
Mujtaba N InouyeJapanStephen Shaw PROPOSAL
Kadeem E PerinBrazilOnyama Limba NEGOTIATION
Francesco Q OstroskyArgentinaXuxue Feng QUALIFIED
Claire R IturbideCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford E RimUnited KingdomAnna Fali RENEWAL
Aditya U MaletFranceElwin Sharvill QUALIFIED
Misaki E BologniaAustraliaXuxue Feng PROPOSAL
Tony J RulapaughFranceStephen Shaw NEGOTIATION
Arvin H DilliardBrazilIoni Bowcher RENEWAL
Leon O SchemmerCanadaAsiya Javayant RENEWAL
Deepesh X PoquetteAustraliaElwin Sharvill NEGOTIATION
Alejandro Z FlosiFranceAsiya Javayant RENEWAL
Francesco D FerenczSpainIoni Bowcher NEW
Ivar V GauchoItalyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa B MaletGermany2025-04-28King, Christopher A Esq NEGOTIATION38Ivan Magalhaes
1001Maria Q CampainGermany2025-04-24Feiner Bros NEGOTIATION34Onyama Limba
1002Izzy Y TollnerCanada2025-04-02Morlong Associates NEGOTIATION13Xuxue Feng
1003Isabel X VocelkaIndia2025-04-09Morlong Associates NEGOTIATION96Elwin Sharvill
1004Ricardo Q OstroskyItaly2025-04-01Dorl, James J Esq PROPOSAL81Amy Elsner
1005Sinclair P TollnerSpain2025-04-05Benton, John B Jr QUALIFIED50Elwin Sharvill
1006Mujtaba C CaldareraUnited Kingdom2025-04-26Rousseaux, Michael Esq NEGOTIATION12Anna Fali
1007Emily I DilliardRussia2025-04-15Rousseaux, Michael Esq PROPOSAL25Amy Elsner
1008Misaki G WaycottGermany2025-04-17Commercial Press UNQUALIFIED32Stephen Shaw
1009Antonio B DilliardBrazil2025-04-27Feiner Bros NEGOTIATION85Xuxue Feng
1010Wickens T MorascaAustralia2025-04-30King, Christopher A Esq NEW91Stephen Shaw
1011Kadeem E SergiAustralia2025-04-17Chemel, James L Cpa RENEWAL13Asiya Javayant
1012Sinclair W RimCanada2025-04-29Feltz Printing Service NEGOTIATION87Anna Fali
1013Alejandro M OldroydGermany2025-04-28Chapman, Ross E Esq PROPOSAL0Onyama Limba
1014Nicolas W CaudyAustralia2025-04-20Morlong Associates RENEWAL32Amy Elsner
1015David G DarakjyIndia2025-04-22Commercial Press NEGOTIATION44Xuxue Feng
1016Jeanfrancois H BowleyAustralia2025-04-24Buckley Miller Wright NEW16Xuxue Feng
1017Isabel J KuskoSpain2025-04-07Rousseaux, Michael Esq PROPOSAL10Anna Fali
1018Clifford N KuskoUnited Kingdom2025-04-14King, Christopher A Esq QUALIFIED65Anna Fali
1019Leja X VenereArgentina2025-04-25Truhlar And Truhlar Attys NEGOTIATION80Asiya Javayant
1020Sinclair R GarufiItaly2025-04-05Commercial Press UNQUALIFIED6Onyama Limba
1021Wickens A MacleadUnited Kingdom2025-04-15Buckley Miller Wright UNQUALIFIED85Stephen Shaw
1022Mayumi Y PaprockiJapan2025-04-11Rangoni Of Florence NEW71Xuxue Feng
1023Kadeem X AlbaresBrazil2025-04-29Rangoni Of Florence UNQUALIFIED88Ivan Magalhaes
1024Mayumi B SergiUnited Kingdom2025-04-17Dorl, James J Esq NEGOTIATION51Xuxue Feng
1025Chavez H SaylorsUnited Kingdom2025-04-26Printing Dimensions QUALIFIED22Onyama Limba
1026Francesco Y MaletAustralia2025-04-20Feiner Bros NEW91Stephen Shaw
1027Leon V MarrierIndia2025-04-30Chapman, Ross E Esq UNQUALIFIED80Bernardo Dominic
1028Silvio Q WaycottFrance2025-04-08Commercial Press NEW71Onyama Limba
1029Greenwood I ChuiCanada2025-04-23Printing Dimensions NEW30Onyama Limba
1030Izzy D OldroydSpain2025-04-04Buckley Miller Wright RENEWAL72Ioni Bowcher
1031Misaki R RulapaughAustralia2025-04-29King, Christopher A Esq QUALIFIED43Ioni Bowcher
1032Kadeem A BriddickBrazil2025-04-22King, Christopher A Esq NEW74Amy Elsner
1033Misaki H BriddickAustralia2025-04-20Feltz Printing Service QUALIFIED77Anna Fali
1034Mujtaba H MorascaRussia2025-04-19Benton, John B Jr UNQUALIFIED76Xuxue Feng
1035Isabel Z RutaBrazil2025-04-24King, Christopher A Esq QUALIFIED73Onyama Limba
1036Deepesh D AlbaresJapan2025-04-25Feiner Bros NEW76Elwin Sharvill
1037Isabel W OldroydSpain2025-04-30Rousseaux, Michael Esq UNQUALIFIED98Amy Elsner
1038Ivar N MorascaCanada2025-04-30Rangoni Of Florence QUALIFIED4Elwin Sharvill
1039Francesco D MorascaIndia2025-04-08Printing Dimensions NEW77Xuxue Feng
1040Faith K DarakjyJapan2025-04-08Rangoni Of Florence PROPOSAL89Onyama Limba
1041Johnson N InouyeRussia2025-04-08Rangoni Of Florence UNQUALIFIED30Ioni Bowcher
1042Greenwood Z SlusarskiFrance2025-04-27Rangoni Of Florence NEGOTIATION67Bernardo Dominic
1043Costa F RutaArgentina2025-04-06Buckley Miller Wright UNQUALIFIED48Onyama Limba
1044Deepesh P RoysterArgentina2025-04-26Chapman, Ross E Esq NEGOTIATION13Ioni Bowcher
1045Wickens J TollnerIndia2025-04-29Rangoni Of Florence PROPOSAL14Ivan Magalhaes
1046Clifford D CaldareraGermany2025-04-20Feltz Printing Service NEW96Stephen Shaw
1047Claire D VenereItaly2025-04-01Printing Dimensions NEW92Onyama Limba
1048Smith S WaycottIndia2025-04-01Rangoni Of Florence NEW39Amy Elsner
1049Octavia V IturbideBrazil2025-04-07Printing Dimensions UNQUALIFIED4Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio L PaprockiItalyAmy Elsner QUALIFIED
Darci E FollerIndiaAsiya Javayant UNQUALIFIED
Adams R KolmetzArgentinaElwin Sharvill NEW
James X MaletRussiaStephen Shaw NEGOTIATION
Costa F KolmetzSpainOnyama Limba NEGOTIATION
Mayumi B PaprockiGermanyAnna Fali QUALIFIED
David Z DarakjyRussiaOnyama Limba NEGOTIATION
Alejandro V FerenczJapanIvan Magalhaes NEGOTIATION
Cody I StockhamUnited KingdomBernardo Dominic NEGOTIATION
Mayumi U TollnerRussiaAsiya Javayant NEGOTIATION
Claire L PaprockiFranceXuxue Feng PROPOSAL
Emily T AmigonGermanyStephen Shaw NEW
Costa B FollerUnited KingdomAmy Elsner RENEWAL
Costa J DilliardAustraliaIvan Magalhaes QUALIFIED
Faith K AlbaresGermanyBernardo Dominic PROPOSAL
Arvin L AmigonRussiaIoni Bowcher QUALIFIED
Cody I PoquetteFranceIoni Bowcher QUALIFIED
Morrow R StockhamRussiaAmy Elsner NEW
Rodrigues P SlusarskiIndiaXuxue Feng RENEWAL
Chavez B PerinUnited KingdomXuxue Feng NEGOTIATION
Ivar F GauchoBrazilStephen Shaw NEGOTIATION
Aika T AlbaresFranceAsiya Javayant QUALIFIED
Ashley S FerenczItalyIvan Magalhaes PROPOSAL
Arvin T AlbaresBrazilAnna Fali PROPOSAL
Antonio Y PerinGermanyStephen Shaw PROPOSAL
Morrow A InouyeSpainAmy Elsner PROPOSAL
Emily J MacleadRussiaBernardo Dominic PROPOSAL
James N ChuiItalyAmy Elsner NEGOTIATION
Leja H RutaCanadaIoni Bowcher RENEWAL
Misaki Q NickaCanadaAnna Fali NEGOTIATION
Arvin P NickaAustraliaIvan Magalhaes RENEWAL
Kadeem V WieserSpainAmy Elsner RENEWAL
Jeanfrancois E MaletUnited KingdomXuxue Feng NEW
Aika Z AlbaresIndiaIoni Bowcher NEGOTIATION
Cody Q MorascaRussiaAnna Fali NEGOTIATION
Kadeem S GlickAustraliaOnyama Limba NEGOTIATION
Kaitlin Q KuskoUnited KingdomOnyama Limba QUALIFIED
Jefferson Z MaletItalyXuxue Feng PROPOSAL
Francesco V TollnerAustraliaIoni Bowcher RENEWAL
Stacey F GlickItalyAnna Fali NEGOTIATION
Leja F FerenczCanadaBernardo Dominic RENEWAL
Leon F AmigonSpainIvan Magalhaes NEW
Ivar I RimJapanIoni Bowcher RENEWAL
Darci O RimAustraliaAmy Elsner PROPOSAL
Aika Z SlusarskiArgentinaBernardo Dominic QUALIFIED
Wickens R ButtAustraliaAsiya Javayant NEW
Cody S FerenczRussiaXuxue Feng NEW
Chavez Y MacleadJapanElwin Sharvill NEW
Emily W MarrierUnited KingdomOnyama Limba NEGOTIATION
Munro I MacleadBrazilOnyama Limba RENEWAL
Frozen Columns
Name
Chavez H Glick
Tony V Stenseth
Stacey B Malet
Smith F Saylors
Juan N Malet
Nicolas G Rim
Adams Q Nestle
Jones P Kolmetz
Leon M Paprocki
Rodrigues B Chui
Claire J Nicka
Emily V Whobrey
Kaitlin W Stockham
Faith O Iturbide
Mayumi N Royster
Wickens S Rulapaugh
Claire S Royster
Murillo Z Maclead
Antonio I Rim
Rodrigues Y Flosi
Maisha O Ruta
Darci V Tollner
Mayumi W Marrier
Kaitlin Z Campain
Wickens V Stockham
Aruna H Royster
Johnson R Albares
Alejandro E Tollner
Misaki S Sergi
Julie D Marrier
Octavia S Foller
Maisha L Gillian
Mayumi V Maclead
Jeanfrancois P Marrier
Johnson M Slusarski
Isabel E Paprocki
Munro G Slusarski
Munro W Chui
Stacey U Flosi
Misaki X Glick
Rodrigues S Royster
Johnson Q Amigon
Deepesh O Oldroyd
Cody T Doe
Arvin W Slusarski
Julie P Maclead
Sinclair U Malet
Kaitlin X Gillian
Deepesh Z Amigon
Faith N Wieser
IdCountryDate
1000Spain2025-04-12
1001India2025-04-06
1002Australia2025-04-29
1003India2025-04-17
1004Germany2025-04-23
1005Germany2025-04-27
1006Japan2025-04-15
1007Canada2025-04-01
1008Brazil2025-04-16
1009United Kingdom2025-04-11
1010Japan2025-04-11
1011Germany2025-04-23
1012Spain2025-04-30
1013United Kingdom2025-04-24
1014Australia2025-04-19
1015India2025-04-11
1016Russia2025-04-12
1017France2025-04-20
1018Spain2025-04-13
1019France2025-04-13
1020Germany2025-04-08
1021Spain2025-04-16
1022India2025-04-12
1023Canada2025-04-02
1024United Kingdom2025-04-07
1025India2025-04-03
1026Argentina2025-04-25
1027France2025-04-30
1028Australia2025-04-02
1029Italy2025-04-26
1030United Kingdom2025-04-11
1031Brazil2025-04-03
1032France2025-04-11
1033Australia2025-04-23
1034India2025-04-16
1035Argentina2025-04-12
1036Japan2025-04-14
1037Brazil2025-04-02
1038France2025-04-01
1039Germany2025-04-05
1040Italy2025-04-02
1041Spain2025-04-13
1042Brazil2025-04-18
1043Canada2025-04-07
1044Japan2025-04-05
1045Argentina2025-04-26
1046United Kingdom2025-04-07
1047Russia2025-04-11
1048Russia2025-04-12
1049Japan2025-04-02

On-Demand Data

NameIdCountryDate
Isabel I Wieser1000United Kingdom2025-04-11
Munro J Albares1001Spain2025-04-22
Juan Z Venere1002Germany2025-04-18
Juan C Marrier1003Germany2025-04-11
Ricardo M Glick1004Germany2025-04-09
Jeanfrancois I Waycott1005Germany2025-04-12
Smith V Stockham1006France2025-04-22
Misaki I Stenseth1007Australia2025-04-30
Aditya O Saylors1008Italy2025-04-11
Mayumi T Rim1009India2025-04-13
Darci B Marrier1010Canada2025-04-27
Darci M Iturbide1011Italy2025-04-15
Morrow X Dilliard1012Australia2025-04-29
Aruna A Bowley1013Russia2025-04-12
Izzy F Ostrosky1014Brazil2025-04-15
Jones P Schemmer1015India2025-04-09
Faith V Ruta1016Australia2025-04-08
Johnson Z Rim1017Brazil2025-04-13
Emily D Nestle1018Italy2025-04-13
Cody J Stenseth1019Russia2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Z CaudyGermanyAnna Fali RENEWAL
Misaki J DilliardCanadaXuxue Feng NEGOTIATION
Juan V FerenczRussiaAsiya Javayant NEGOTIATION
James S RimRussiaIvan Magalhaes NEW
Clifford U PerinIndiaAnna Fali RENEWAL
Jeanfrancois F ButtCanadaOnyama Limba UNQUALIFIED
Rodrigues T OldroydAustraliaAmy Elsner PROPOSAL
Costa Z PaprockiIndiaElwin Sharvill RENEWAL
Smith Q MorascaUnited KingdomStephen Shaw UNQUALIFIED
Jones J IturbideSpainOnyama Limba UNQUALIFIED
Murillo R KuskoJapanBernardo Dominic UNQUALIFIED
Maria R RoysterJapanAnna Fali QUALIFIED
Jennifer A SlusarskiUnited KingdomXuxue Feng RENEWAL
Faith S AlbaresArgentinaAmy Elsner NEW
Greenwood E RulapaughGermanyAnna Fali RENEWAL
Costa H ButtJapanAsiya Javayant NEW
James J SaylorsAustraliaElwin Sharvill UNQUALIFIED
Leja I RimCanadaOnyama Limba NEW
James O StensethAustraliaElwin Sharvill NEGOTIATION
Sinclair I MorascaSpainAnna Fali NEGOTIATION
Smith I BologniaJapanAnna Fali QUALIFIED
Kadeem H KuskoBrazilIoni Bowcher UNQUALIFIED
Chavez B MaletCanadaStephen Shaw UNQUALIFIED
Jennifer X BologniaGermanyIvan Magalhaes NEGOTIATION
Clifford F ButtSpainXuxue Feng RENEWAL
Salvatore I DarakjyUnited KingdomXuxue Feng RENEWAL
Sinclair E OstroskyCanadaIvan Magalhaes RENEWAL
Johnson E StensethCanadaIvan Magalhaes UNQUALIFIED
Emily R DoeFranceStephen Shaw RENEWAL
Maisha D DarakjyItalyIvan Magalhaes QUALIFIED
Aika V VocelkaIndiaXuxue Feng PROPOSAL
Aditya J InouyeArgentinaIvan Magalhaes NEGOTIATION
Claire I CampainRussiaIoni Bowcher UNQUALIFIED
Tony R VenereIndiaElwin Sharvill PROPOSAL
Mujtaba P BowleyGermanyOnyama Limba QUALIFIED
Isabel F CampainBrazilAsiya Javayant NEGOTIATION
Adams O CaldareraJapanOnyama Limba NEW
Alejandro W MaletCanadaAnna Fali PROPOSAL
Wickens G NestleArgentinaBernardo Dominic NEGOTIATION
Jefferson P FlosiArgentinaAnna Fali 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>