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
Kadeem W CampainUnited KingdomStephen Shaw PROPOSAL
Leon M KolmetzIndiaOnyama Limba RENEWAL
Morrow M SaylorsUnited KingdomIvan Magalhaes NEW
Izzy A PoquetteArgentinaStephen Shaw RENEWAL
Greenwood L BowleyCanadaStephen Shaw NEW
Jefferson E ShinkoIndiaAnna Fali NEW
Stacey X CaldareraRussiaAnna Fali UNQUALIFIED
Emily B WhobreyCanadaAmy Elsner PROPOSAL
Cody L PerinSpainElwin Sharvill PROPOSAL
Aika Y DarakjyIndiaAnna Fali NEGOTIATION
Ashley P PaprockiAustraliaAmy Elsner NEW
Nicolas J VocelkaRussiaAnna Fali NEGOTIATION
Ricardo M VenereArgentinaOnyama Limba PROPOSAL
Kaitlin W TollnerGermanyIoni Bowcher NEW
Antonio W FollerBrazilAnna Fali NEW
Ivar Z FollerRussiaElwin Sharvill UNQUALIFIED
James O MacleadItalyAmy Elsner RENEWAL
Faith P VenereIndiaAmy Elsner NEGOTIATION
Jefferson L VenereAustraliaIoni Bowcher RENEWAL
Isabel U BowleyRussiaOnyama Limba PROPOSAL
Munro N KolmetzSpainOnyama Limba NEGOTIATION
Jefferson T AlbaresGermanyAsiya Javayant QUALIFIED
James E FerenczIndiaIoni Bowcher PROPOSAL
Morrow F DarakjyCanadaStephen Shaw NEW
Aruna V MaletRussiaAnna Fali RENEWAL
Kaitlin H OldroydRussiaIoni Bowcher PROPOSAL
Julie S VocelkaFranceAmy Elsner RENEWAL
Arvin M StensethSpainElwin Sharvill PROPOSAL
Aruna S DarakjyItalyBernardo Dominic QUALIFIED
Jones K MacleadRussiaIoni Bowcher NEGOTIATION
Adams E StensethItalyOnyama Limba RENEWAL
Aika V FigeroaJapanAmy Elsner RENEWAL
Mujtaba F GillianArgentinaIvan Magalhaes NEGOTIATION
Izzy F CampainCanadaOnyama Limba NEW
Mujtaba G RoysterFranceOnyama Limba RENEWAL
Claire P BowleyIndiaAnna Fali QUALIFIED
Misaki N FigeroaIndiaIoni Bowcher RENEWAL
Tony P SchemmerIndiaAsiya Javayant NEGOTIATION
Mayumi W DarakjySpainBernardo Dominic QUALIFIED
Leon E InouyeBrazilStephen Shaw NEGOTIATION
Clifford Q MacleadFranceXuxue Feng NEGOTIATION
Greenwood G ButtAustraliaBernardo Dominic UNQUALIFIED
Cody D StockhamAustraliaXuxue Feng NEW
Maisha P TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem W FigeroaItalyOnyama Limba NEGOTIATION
Mayumi P FlosiBrazilAsiya Javayant NEW
Clifford X AlbaresUnited KingdomBernardo Dominic RENEWAL
Mayumi K StensethSpainIvan Magalhaes RENEWAL
Alejandro O SaylorsBrazilIvan Magalhaes UNQUALIFIED
Juan T RoysterItalyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro G TollnerArgentinaStephen Shaw RENEWAL
Tony A MarrierIndiaAnna Fali UNQUALIFIED
Leon I DilliardRussiaBernardo Dominic RENEWAL
Adams O VocelkaJapanAnna Fali PROPOSAL
Darci U NestleBrazilAnna Fali RENEWAL
Juan F VocelkaRussiaOnyama Limba UNQUALIFIED
Johnson S FlosiFranceAsiya Javayant PROPOSAL
Ivar R PaprockiAustraliaElwin Sharvill PROPOSAL
Maria H ShinkoBrazilIoni Bowcher PROPOSAL
Ivar L VocelkaRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James W BriddickIndia2025-04-13Buckley Miller Wright PROPOSAL62Onyama Limba
1001Murillo J KolmetzGermany2025-04-13Printing Dimensions UNQUALIFIED83Bernardo Dominic
1002Smith R NestleArgentina2025-04-14Rousseaux, Michael Esq PROPOSAL21Elwin Sharvill
1003Sinclair F ChuiGermany2025-04-20Buckley Miller Wright UNQUALIFIED57Xuxue Feng
1004Leon O FollerIndia2025-04-28Rangoni Of Florence NEGOTIATION22Amy Elsner
1005Aika D BologniaRussia2025-04-15Commercial Press RENEWAL54Bernardo Dominic
1006Antonio X BologniaItaly2025-04-28Rangoni Of Florence UNQUALIFIED85Ivan Magalhaes
1007Aruna C BologniaCanada2025-04-06Chanay, Jeffrey A Esq PROPOSAL40Ivan Magalhaes
1008Isabel W DoeCanada2025-04-25Printing Dimensions QUALIFIED54Anna Fali
1009Jeanfrancois Q SaylorsCanada2025-04-30Chanay, Jeffrey A Esq QUALIFIED46Ivan Magalhaes
1010Julie J PoquetteCanada2025-04-17Chemel, James L Cpa PROPOSAL38Elwin Sharvill
1011Julie Y RoysterBrazil2025-04-25Buckley Miller Wright NEGOTIATION63Ivan Magalhaes
1012Izzy R StensethSpain2025-04-17Chapman, Ross E Esq RENEWAL26Elwin Sharvill
1013Jefferson F InouyeGermany2025-04-14King, Christopher A Esq PROPOSAL83Stephen Shaw
1014Morrow P KolmetzBrazil2025-04-08Benton, John B Jr RENEWAL11Bernardo Dominic
1015Tony G GarufiFrance2025-04-05Printing Dimensions QUALIFIED96Ivan Magalhaes
1016Jones D StockhamIndia2025-04-19Feltz Printing Service UNQUALIFIED47Ivan Magalhaes
1017Maisha P TollnerCanada2025-04-21Chemel, James L Cpa PROPOSAL9Asiya Javayant
1018Stacey W CaudyCanada2025-04-19Feltz Printing Service NEW24Elwin Sharvill
1019Silvio E StensethCanada2025-04-10Commercial Press QUALIFIED2Bernardo Dominic
1020Maria T MaletRussia2025-04-19Chemel, James L Cpa UNQUALIFIED72Xuxue Feng
1021Jeanfrancois S RoysterSpain2025-04-28Dorl, James J Esq UNQUALIFIED80Anna Fali
1022James U PerinRussia2025-04-01Chapman, Ross E Esq UNQUALIFIED84Ioni Bowcher
1023Emily U RoysterRussia2025-04-27Chapman, Ross E Esq UNQUALIFIED26Amy Elsner
1024Misaki W GlickUnited Kingdom2025-04-20Feltz Printing Service RENEWAL74Asiya Javayant
1025Octavia U OstroskyIndia2025-04-05Rousseaux, Michael Esq QUALIFIED21Ioni Bowcher
1026Kaitlin L WaycottIndia2025-04-10Printing Dimensions PROPOSAL27Anna Fali
1027Deepesh N BologniaJapan2025-04-19Chapman, Ross E Esq RENEWAL41Asiya Javayant
1028Greenwood Q DilliardGermany2025-04-12Commercial Press PROPOSAL95Asiya Javayant
1029Munro W VocelkaRussia2025-04-29Truhlar And Truhlar Attys PROPOSAL17Asiya Javayant
1030Francesco Z KolmetzGermany2025-04-06Feltz Printing Service PROPOSAL78Asiya Javayant
1031Antonio F GillianSpain2025-04-13Buckley Miller Wright NEGOTIATION77Amy Elsner
1032Mujtaba L FollerAustralia2025-04-01Chapman, Ross E Esq NEW80Anna Fali
1033Maisha L RimJapan2025-04-26Buckley Miller Wright QUALIFIED32Anna Fali
1034Cody Y FlosiCanada2025-04-16King, Christopher A Esq UNQUALIFIED93Onyama Limba
1035Arvin X StensethAustralia2025-04-15Chanay, Jeffrey A Esq NEGOTIATION62Stephen Shaw
1036Chavez F CampainGermany2025-04-12Commercial Press QUALIFIED34Elwin Sharvill
1037Faith N SlusarskiAustralia2025-04-24Benton, John B Jr RENEWAL61Elwin Sharvill
1038Claire G BowleyIndia2025-04-14Morlong Associates NEW89Ioni Bowcher
1039Smith P PoquetteAustralia2025-04-30Printing Dimensions UNQUALIFIED39Stephen Shaw
1040Nicolas C GlickIndia2025-04-25Benton, John B Jr NEW79Elwin Sharvill
1041Jennifer L ButtBrazil2025-04-25Buckley Miller Wright NEGOTIATION96Onyama Limba
1042Sinclair L BowleyUnited Kingdom2025-04-18Benton, John B Jr PROPOSAL38Ioni Bowcher
1043Arvin S OldroydRussia2025-04-01Rangoni Of Florence UNQUALIFIED18Ivan Magalhaes
1044Jones A NickaUnited Kingdom2025-04-09Printing Dimensions QUALIFIED58Ioni Bowcher
1045Nicolas Q PerinIndia2025-04-08Benton, John B Jr QUALIFIED61Asiya Javayant
1046Clifford I FerenczSpain2025-04-16Morlong Associates PROPOSAL54Anna Fali
1047Nicolas F DilliardBrazil2025-04-02Morlong Associates UNQUALIFIED22Anna Fali
1048James K InouyeJapan2025-04-30Dorl, James J Esq RENEWAL20Ioni Bowcher
1049Leja B DarakjyGermany2025-04-06Benton, John B Jr UNQUALIFIED39Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
David O GauchoAustraliaIvan Magalhaes UNQUALIFIED
Greenwood N DarakjyIndiaAsiya Javayant QUALIFIED
Leja Y RutaArgentinaIvan Magalhaes RENEWAL
Ivar Q OldroydRussiaXuxue Feng NEW
Arvin Z MorascaCanadaAsiya Javayant NEW
Cody F FlosiSpainStephen Shaw QUALIFIED
Leja Y SaylorsAustraliaBernardo Dominic PROPOSAL
Ashley N MacleadRussiaIvan Magalhaes QUALIFIED
Alejandro P WaycottArgentinaElwin Sharvill NEW
Ricardo J MarrierBrazilOnyama Limba QUALIFIED
David T PoquetteArgentinaAnna Fali PROPOSAL
Mayumi R GillianCanadaStephen Shaw UNQUALIFIED
Nicolas W ShinkoRussiaAsiya Javayant NEGOTIATION
Izzy B CaldareraUnited KingdomBernardo Dominic RENEWAL
David R ShinkoJapanOnyama Limba QUALIFIED
Aruna P KolmetzArgentinaIoni Bowcher RENEWAL
Izzy X NickaGermanyAsiya Javayant RENEWAL
Ashley D ShinkoBrazilIvan Magalhaes RENEWAL
Jefferson E BologniaArgentinaStephen Shaw RENEWAL
Ivar I GauchoGermanyElwin Sharvill PROPOSAL
Jefferson J PoquetteSpainStephen Shaw NEGOTIATION
Darci D RoysterGermanyBernardo Dominic NEGOTIATION
Sinclair B BowleyJapanStephen Shaw QUALIFIED
Mayumi F GlickJapanElwin Sharvill UNQUALIFIED
Aditya Y FigeroaAustraliaBernardo Dominic RENEWAL
Greenwood W GarufiArgentinaBernardo Dominic PROPOSAL
Chavez U WieserGermanyAsiya Javayant PROPOSAL
Chavez F RoysterArgentinaXuxue Feng NEW
David I AlbaresAustraliaOnyama Limba NEGOTIATION
Kadeem Y FigeroaGermanyOnyama Limba PROPOSAL
Aika U SergiUnited KingdomOnyama Limba RENEWAL
Aika G AlbaresRussiaIvan Magalhaes NEGOTIATION
Silvio H TollnerRussiaOnyama Limba NEW
Munro F BologniaBrazilIvan Magalhaes NEGOTIATION
Jefferson O GillianJapanIoni Bowcher RENEWAL
Jefferson S StensethSpainAnna Fali RENEWAL
Antonio B GillianBrazilAnna Fali NEGOTIATION
Aruna H GillianGermanyXuxue Feng RENEWAL
Jefferson X InouyeFranceOnyama Limba NEGOTIATION
Jefferson V DilliardFranceAsiya Javayant RENEWAL
James L KuskoIndiaStephen Shaw RENEWAL
Juan E GillianGermanyAmy Elsner UNQUALIFIED
Chavez T CampainItalyAsiya Javayant PROPOSAL
Ashley Q MacleadAustraliaIvan Magalhaes NEW
Murillo Q StockhamBrazilStephen Shaw QUALIFIED
Misaki I RutaCanadaOnyama Limba PROPOSAL
Izzy S MorascaItalyAmy Elsner NEW
Isabel G CaudyRussiaStephen Shaw NEGOTIATION
Isabel K FollerSpainIvan Magalhaes RENEWAL
Misaki P PoquetteFranceElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Claire I Malet
Greenwood J Rulapaugh
Greenwood C Stenseth
Octavia G Shinko
Tony Q Albares
Izzy X Chui
Maisha T Glick
Costa A Morasca
Darci M Caudy
Octavia V Dilliard
Ashley K Maclead
Deepesh C Ruta
Alejandro B Nestle
Salvatore X Glick
Julie I Stenseth
Adams C Stockham
Chavez Q Inouye
Misaki N Oldroyd
Aruna F Maclead
Ricardo L Kusko
Izzy W Gillian
Misaki Z Royster
Jefferson B Briddick
Sinclair W Schemmer
Sinclair B Gillian
Aruna X Nicka
Costa A Kusko
Murillo K Glick
Greenwood L Malet
Maisha N Figeroa
Tony H Glick
Jones M Iturbide
Salvatore T Marrier
Francesco N Caudy
Maisha S Caldarera
Salvatore L Gillian
Jennifer L Wieser
Aditya R Chui
Clifford L Bowley
Ashley Q Whobrey
Antonio N Shinko
Ashley O Amigon
Jennifer A Foller
Johnson B Caldarera
Silvio Q Ruta
Kadeem H Flosi
Wickens W Amigon
Nicolas G Inouye
Arvin Z Darakjy
Sinclair P Malet
IdCountryDate
1000Spain2025-04-10
1001Germany2025-04-04
1002Argentina2025-04-05
1003Brazil2025-04-17
1004Japan2025-04-04
1005Japan2025-04-06
1006Japan2025-04-04
1007Spain2025-04-26
1008United Kingdom2025-04-30
1009Australia2025-04-02
1010Japan2025-04-02
1011France2025-04-10
1012India2025-04-03
1013Russia2025-04-25
1014Japan2025-04-08
1015Japan2025-04-26
1016Spain2025-04-18
1017United Kingdom2025-04-26
1018Canada2025-04-19
1019Australia2025-04-22
1020Canada2025-04-17
1021France2025-04-06
1022India2025-04-23
1023Russia2025-04-07
1024Italy2025-04-11
1025Canada2025-04-13
1026Brazil2025-04-27
1027Spain2025-04-07
1028India2025-04-09
1029Russia2025-04-03
1030Russia2025-04-11
1031Argentina2025-04-24
1032Canada2025-04-26
1033Japan2025-04-13
1034Australia2025-04-18
1035Italy2025-04-12
1036Italy2025-04-12
1037Australia2025-04-19
1038Russia2025-04-05
1039Argentina2025-04-21
1040Spain2025-04-24
1041Japan2025-04-16
1042Canada2025-04-02
1043Brazil2025-04-21
1044United Kingdom2025-04-14
1045Canada2025-04-28
1046Brazil2025-04-17
1047Brazil2025-04-23
1048United Kingdom2025-04-14
1049Spain2025-04-23

On-Demand Data

NameIdCountryDate
Ricardo U Sergi1000United Kingdom2025-04-15
Johnson Y Kolmetz1001Brazil2025-04-23
Ivar G Malet1002Brazil2025-04-25
Isabel E Perin1003Russia2025-04-05
Ivar N Wieser1004Australia2025-04-13
Isabel F Waycott1005Russia2025-04-10
Antonio K Ferencz1006Russia2025-04-02
Francesco G Briddick1007India2025-04-16
Jefferson R Darakjy1008Russia2025-04-24
Greenwood O Malet1009India2025-04-17
Nicolas N Morasca1010Canada2025-04-23
Julie B Inouye1011Argentina2025-04-22
Leja U Inouye1012India2025-04-16
Jefferson Q Wieser1013Canada2025-04-26
Leon V Shinko1014Australia2025-04-18
Chavez M Oldroyd1015India2025-04-20
Maisha E Wieser1016Australia2025-04-25
Wickens R Kolmetz1017Japan2025-04-18
Maria P Nestle1018Germany2025-04-05
Aruna S Sergi1019Russia2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey M MaletIndiaAnna Fali PROPOSAL
Silvio N RulapaughAustraliaAnna Fali RENEWAL
Ivar K MaletSpainAmy Elsner NEGOTIATION
Smith R SlusarskiIndiaElwin Sharvill UNQUALIFIED
Rodrigues D SaylorsRussiaIoni Bowcher QUALIFIED
Aruna Y InouyeAustraliaStephen Shaw UNQUALIFIED
Deepesh G ChuiIndiaStephen Shaw NEGOTIATION
Mujtaba Z BowleyItalyAmy Elsner RENEWAL
Murillo I IturbideSpainBernardo Dominic UNQUALIFIED
Isabel U OstroskyGermanyOnyama Limba NEW
Isabel B BowleyIndiaAsiya Javayant PROPOSAL
Costa Y WhobreySpainIvan Magalhaes PROPOSAL
Deepesh Y SlusarskiRussiaStephen Shaw QUALIFIED
Ivar E NestleItalyIvan Magalhaes NEGOTIATION
Leon K DarakjyAustraliaAsiya Javayant NEGOTIATION
Greenwood P OldroydUnited KingdomAnna Fali NEW
Munro X AmigonIndiaBernardo Dominic RENEWAL
Leja V SlusarskiBrazilXuxue Feng UNQUALIFIED
Misaki G FigeroaArgentinaOnyama Limba RENEWAL
Cody I KolmetzRussiaBernardo Dominic NEW
Cody R DarakjyIndiaBernardo Dominic NEW
Francesco O RutaIndiaAnna Fali QUALIFIED
Aruna V PoquetteJapanAsiya Javayant UNQUALIFIED
Leja X BologniaJapanElwin Sharvill UNQUALIFIED
Wickens B BriddickIndiaOnyama Limba RENEWAL
Johnson Z NickaFranceOnyama Limba UNQUALIFIED
James Z CaldareraRussiaBernardo Dominic RENEWAL
Chavez U MacleadCanadaElwin Sharvill NEW
Ashley B ShinkoArgentinaAsiya Javayant PROPOSAL
Maisha F BowleyRussiaIoni Bowcher PROPOSAL
Stacey J WaycottUnited KingdomAmy Elsner PROPOSAL
Jennifer K CaudyAustraliaOnyama Limba NEGOTIATION
Maisha L MacleadSpainAmy Elsner RENEWAL
Mayumi D AlbaresItalyBernardo Dominic NEGOTIATION
Jennifer E StockhamFranceOnyama Limba NEGOTIATION
Claire R ChuiFranceBernardo Dominic NEW
Leon X GauchoIndiaElwin Sharvill PROPOSAL
Morrow T GillianJapanAnna Fali NEW
Claire L StockhamSpainStephen Shaw NEW
Antonio Z PaprockiIndiaBernardo Dominic RENEWAL

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