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
Darci R PaprockiFranceStephen Shaw QUALIFIED
Ashley S FigeroaFranceAnna Fali RENEWAL
Alejandro P GarufiFranceElwin Sharvill NEW
Francesco G MacleadGermanyIoni Bowcher NEW
Adams N SlusarskiAustraliaElwin Sharvill RENEWAL
Maria W RutaIndiaElwin Sharvill QUALIFIED
Costa C FollerAustraliaBernardo Dominic QUALIFIED
Kaitlin Y MacleadItalyIvan Magalhaes NEW
Mayumi H BologniaFranceOnyama Limba QUALIFIED
Stacey F BowleyFranceIvan Magalhaes PROPOSAL
Kadeem Q SchemmerSpainBernardo Dominic PROPOSAL
Silvio B GarufiCanadaXuxue Feng NEGOTIATION
Claire L GillianFranceOnyama Limba RENEWAL
Aruna K VocelkaGermanyXuxue Feng QUALIFIED
Isabel F NestleIndiaElwin Sharvill UNQUALIFIED
Chavez B GauchoSpainElwin Sharvill RENEWAL
Murillo O FigeroaFranceAsiya Javayant UNQUALIFIED
Faith G BowleyItalyAsiya Javayant PROPOSAL
Wickens W DoeJapanIvan Magalhaes NEW
Isabel L MorascaUnited KingdomAsiya Javayant NEGOTIATION
James A CaldareraAustraliaAmy Elsner QUALIFIED
Tony E FollerBrazilAsiya Javayant QUALIFIED
Jones U StockhamSpainOnyama Limba RENEWAL
Octavia C RulapaughFranceBernardo Dominic PROPOSAL
Tony G MorascaFranceBernardo Dominic UNQUALIFIED
Kaitlin G RoysterFranceElwin Sharvill RENEWAL
Faith O RoysterSpainAsiya Javayant RENEWAL
Silvio U GlickArgentinaIvan Magalhaes UNQUALIFIED
Darci X NestleJapanBernardo Dominic NEW
Julie Z MacleadGermanyAmy Elsner NEW
Leja S SlusarskiItalyIoni Bowcher RENEWAL
Kadeem G StockhamAustraliaBernardo Dominic PROPOSAL
Leon S SchemmerCanadaIvan Magalhaes UNQUALIFIED
Aruna Q FigeroaGermanyXuxue Feng NEW
Rodrigues H ChuiBrazilBernardo Dominic PROPOSAL
Aika Q KuskoRussiaBernardo Dominic RENEWAL
Silvio Q GlickUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois H BowleyRussiaIoni Bowcher NEW
Octavia S RulapaughAustraliaAmy Elsner QUALIFIED
Jefferson D FigeroaCanadaAmy Elsner NEW
Aditya R InouyeItalyAmy Elsner RENEWAL
Rodrigues E ChuiBrazilBernardo Dominic NEGOTIATION
Greenwood R BriddickSpainAmy Elsner NEW
Kadeem N GillianAustraliaAsiya Javayant RENEWAL
Deepesh D RulapaughUnited KingdomOnyama Limba NEW
Aika Q OstroskyFranceAsiya Javayant UNQUALIFIED
Adams N GauchoRussiaXuxue Feng NEGOTIATION
Izzy T BologniaItalyIoni Bowcher QUALIFIED
Ivar O ChuiItalyStephen Shaw PROPOSAL
Ivar J FigeroaIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Alejandro G SaylorsUnited KingdomAsiya Javayant PROPOSAL
Chavez K TollnerIndiaOnyama Limba NEGOTIATION
Sinclair C MaletSpainOnyama Limba QUALIFIED
Tony W WieserArgentinaStephen Shaw PROPOSAL
Kaitlin C WieserUnited KingdomBernardo Dominic RENEWAL
Alejandro O ChuiIndiaIvan Magalhaes RENEWAL
Leja U StockhamItalyStephen Shaw NEW
Rodrigues R MarrierItalyStephen Shaw NEW
Francesco T MorascaSpainOnyama Limba UNQUALIFIED
Tony Z OldroydIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Q InouyeSpain2025-06-04Benton, John B Jr PROPOSAL96Elwin Sharvill
1001Tony M PerinGermany2025-06-03Printing Dimensions UNQUALIFIED78Stephen Shaw
1002Aika H PoquetteUnited Kingdom2025-06-08Commercial Press PROPOSAL67Asiya Javayant
1003Adams Y IturbideFrance2025-05-25King, Christopher A Esq UNQUALIFIED60Bernardo Dominic
1004Adams P PerinArgentina2025-05-21Dorl, James J Esq RENEWAL13Ioni Bowcher
1005Kadeem F CaudyGermany2025-05-28Rousseaux, Michael Esq QUALIFIED13Asiya Javayant
1006Jefferson L TollnerAustralia2025-05-24Buckley Miller Wright RENEWAL72Xuxue Feng
1007Aruna F SergiJapan2025-05-21King, Christopher A Esq UNQUALIFIED2Asiya Javayant
1008Alejandro F GlickArgentina2025-06-12Chemel, James L Cpa PROPOSAL69Stephen Shaw
1009Ashley W SergiArgentina2025-05-23Dorl, James J Esq QUALIFIED12Elwin Sharvill
1010Misaki J GarufiItaly2025-05-26Rousseaux, Michael Esq NEGOTIATION1Anna Fali
1011Francesco X AlbaresGermany2025-05-31Buckley Miller Wright NEW24Ioni Bowcher
1012Chavez M GlickBrazil2025-05-31Chanay, Jeffrey A Esq NEW65Anna Fali
1013David E WieserSpain2025-06-11Printing Dimensions UNQUALIFIED11Onyama Limba
1014Greenwood G RulapaughJapan2025-06-02Chemel, James L Cpa NEW4Ivan Magalhaes
1015Isabel B FollerJapan2025-06-04Printing Dimensions PROPOSAL73Bernardo Dominic
1016Ashley W FigeroaGermany2025-05-30Buckley Miller Wright UNQUALIFIED27Onyama Limba
1017Silvio U MarrierGermany2025-06-13Chemel, James L Cpa UNQUALIFIED14Stephen Shaw
1018Wickens L FollerBrazil2025-06-15Benton, John B Jr NEGOTIATION2Stephen Shaw
1019Aruna V OldroydArgentina2025-06-12Chemel, James L Cpa QUALIFIED39Ivan Magalhaes
1020Rodrigues V InouyeItaly2025-06-06King, Christopher A Esq QUALIFIED45Amy Elsner
1021Arvin W KolmetzGermany2025-06-01Morlong Associates NEGOTIATION25Ivan Magalhaes
1022Johnson J WhobreyItaly2025-06-01Commercial Press RENEWAL42Xuxue Feng
1023Mayumi C PaprockiIndia2025-06-12Chapman, Ross E Esq NEGOTIATION98Stephen Shaw
1024Leon O PaprockiItaly2025-06-12Morlong Associates NEGOTIATION73Anna Fali
1025Kaitlin V AlbaresGermany2025-06-14Dorl, James J Esq NEW4Elwin Sharvill
1026Aika V DoeBrazil2025-06-05Benton, John B Jr PROPOSAL6Onyama Limba
1027Sinclair N BriddickItaly2025-06-10Buckley Miller Wright NEGOTIATION23Ioni Bowcher
1028Smith H VenereJapan2025-06-04Morlong Associates NEW57Onyama Limba
1029Octavia D WaycottRussia2025-05-28Rangoni Of Florence NEW23Asiya Javayant
1030Johnson A RulapaughSpain2025-05-31Dorl, James J Esq QUALIFIED82Xuxue Feng
1031Emily X GillianGermany2025-05-26Rangoni Of Florence UNQUALIFIED37Stephen Shaw
1032Misaki C CaldareraCanada2025-06-02Truhlar And Truhlar Attys QUALIFIED85Xuxue Feng
1033Chavez Z VocelkaCanada2025-06-02Printing Dimensions NEW3Elwin Sharvill
1034Darci C GlickAustralia2025-05-22King, Christopher A Esq RENEWAL92Bernardo Dominic
1035Julie Z PaprockiItaly2025-06-16King, Christopher A Esq RENEWAL27Xuxue Feng
1036Faith N AmigonItaly2025-05-23Chemel, James L Cpa NEW73Asiya Javayant
1037Costa D VenereSpain2025-05-24Chemel, James L Cpa PROPOSAL54Anna Fali
1038Murillo B FerenczItaly2025-06-14Buckley Miller Wright RENEWAL92Anna Fali
1039Maisha S OstroskyArgentina2025-06-07Rousseaux, Michael Esq RENEWAL10Ivan Magalhaes
1040Aika G PoquetteGermany2025-06-01Chanay, Jeffrey A Esq QUALIFIED92Asiya Javayant
1041Aruna G MorascaCanada2025-06-15Benton, John B Jr NEGOTIATION44Anna Fali
1042Wickens H VenereFrance2025-06-02Chemel, James L Cpa PROPOSAL1Ioni Bowcher
1043Misaki D InouyeGermany2025-06-06Buckley Miller Wright NEGOTIATION48Amy Elsner
1044Ashley V MarrierFrance2025-06-14Feltz Printing Service QUALIFIED26Stephen Shaw
1045Alejandro H BriddickCanada2025-06-09Chemel, James L Cpa QUALIFIED62Anna Fali
1046Maria A FerenczBrazil2025-05-21Printing Dimensions RENEWAL15Xuxue Feng
1047James A SchemmerFrance2025-05-27Printing Dimensions PROPOSAL51Bernardo Dominic
1048Deepesh O SchemmerCanada2025-06-06Chemel, James L Cpa PROPOSAL26Asiya Javayant
1049Aruna I FerenczCanada2025-06-03Truhlar And Truhlar Attys UNQUALIFIED59Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leja T StockhamBrazilAsiya Javayant RENEWAL
Ivar O NestleSpainElwin Sharvill NEGOTIATION
Julie C RulapaughGermanyXuxue Feng RENEWAL
Rodrigues C SergiUnited KingdomIoni Bowcher RENEWAL
David N GlickJapanStephen Shaw UNQUALIFIED
Stacey B CampainRussiaXuxue Feng PROPOSAL
Ricardo E StockhamFranceStephen Shaw UNQUALIFIED
Leon D InouyeCanadaAnna Fali RENEWAL
Deepesh M InouyeAustraliaIoni Bowcher RENEWAL
Chavez T DarakjyFranceAsiya Javayant PROPOSAL
Jones D WhobreyBrazilBernardo Dominic PROPOSAL
Wickens W AlbaresGermanyAsiya Javayant PROPOSAL
Aditya A TollnerRussiaXuxue Feng PROPOSAL
Leon A FlosiBrazilXuxue Feng NEGOTIATION
Silvio W SaylorsAustraliaIoni Bowcher QUALIFIED
Jefferson B KolmetzFranceAsiya Javayant PROPOSAL
Deepesh V RulapaughUnited KingdomIoni Bowcher PROPOSAL
Murillo Z DilliardRussiaStephen Shaw NEGOTIATION
Isabel O MacleadUnited KingdomXuxue Feng RENEWAL
Leon A NickaCanadaBernardo Dominic NEGOTIATION
Darci G StensethItalyAnna Fali PROPOSAL
Isabel S RulapaughItalyAnna Fali RENEWAL
James N FlosiRussiaAmy Elsner RENEWAL
Ivar T NestleArgentinaAnna Fali NEGOTIATION
Leon G ShinkoItalyIoni Bowcher RENEWAL
Aruna D CampainRussiaOnyama Limba NEW
Aruna P CaldareraRussiaBernardo Dominic QUALIFIED
Kaitlin M WaycottArgentinaStephen Shaw QUALIFIED
Morrow A SergiUnited KingdomOnyama Limba RENEWAL
Jeanfrancois J PoquetteSpainBernardo Dominic NEW
Julie Q CaudyCanadaElwin Sharvill UNQUALIFIED
Ivar L PaprockiBrazilIoni Bowcher NEW
Julie N GarufiUnited KingdomStephen Shaw PROPOSAL
Aruna V GauchoItalyElwin Sharvill PROPOSAL
Chavez N VenereIndiaXuxue Feng RENEWAL
Nicolas G GarufiBrazilBernardo Dominic RENEWAL
Julie R DilliardIndiaAnna Fali NEW
Smith J MarrierBrazilBernardo Dominic QUALIFIED
Cody C MarrierJapanBernardo Dominic NEGOTIATION
Octavia C RoysterGermanyAsiya Javayant NEW
Ricardo R GarufiIndiaOnyama Limba NEGOTIATION
David Y SchemmerGermanyElwin Sharvill QUALIFIED
Johnson X FerenczAustraliaAnna Fali RENEWAL
Johnson U ButtUnited KingdomIvan Magalhaes RENEWAL
Maisha D MarrierArgentinaAmy Elsner UNQUALIFIED
Francesco W RoysterJapanIoni Bowcher RENEWAL
Clifford N GauchoUnited KingdomStephen Shaw QUALIFIED
Arvin B SchemmerCanadaAsiya Javayant RENEWAL
Faith F IturbideCanadaAnna Fali QUALIFIED
Smith T OldroydUnited KingdomIoni Bowcher NEGOTIATION
Frozen Columns
Name
Adams G Whobrey
Octavia H Caldarera
Chavez M Doe
Faith Y Venere
Claire F Flosi
James X Dilliard
Jeanfrancois X Morasca
Nicolas B Darakjy
Ricardo H Ostrosky
Arvin W Saylors
David K Bowley
Emily N Doe
Clifford B Schemmer
Izzy K Bolognia
Adams X Inouye
Juan J Kolmetz
David Z Malet
Isabel J Gillian
Chavez N Iturbide
Maria O Butt
Misaki Q Ruta
Emily J Marrier
Antonio X Kusko
Clifford J Sergi
Kadeem Y Morasca
Deepesh O Rulapaugh
Adams N Kusko
Darci K Stenseth
Chavez P Butt
Claire L Oldroyd
Leja M Gillian
Jeanfrancois K Bolognia
Mayumi U Sergi
Juan T Iturbide
Mujtaba D Bowley
Julie Z Nestle
Murillo Q Slusarski
Leon C Schemmer
Leon O Shinko
Aika E Royster
Darci W Poquette
Leon A Flosi
Darci H Shinko
Wickens B Vocelka
Silvio B Darakjy
Mujtaba H Gaucho
Jefferson Z Morasca
Julie N Morasca
Mayumi S Malet
Izzy M Slusarski
IdCountryDate
1000Argentina2025-06-05
1001Canada2025-06-06
1002Canada2025-05-26
1003Canada2025-05-21
1004Japan2025-06-08
1005Japan2025-05-28
1006Russia2025-05-25
1007India2025-05-19
1008India2025-05-22
1009Germany2025-06-03
1010Argentina2025-05-28
1011France2025-06-13
1012Germany2025-06-16
1013Russia2025-06-09
1014France2025-06-16
1015Brazil2025-06-09
1016Germany2025-05-21
1017Argentina2025-06-04
1018India2025-06-06
1019Brazil2025-05-22
1020Russia2025-05-27
1021Canada2025-06-08
1022Italy2025-05-31
1023France2025-05-21
1024Canada2025-05-27
1025India2025-05-27
1026France2025-05-18
1027Italy2025-06-02
1028Germany2025-05-29
1029Germany2025-06-02
1030Canada2025-06-03
1031India2025-06-04
1032France2025-06-08
1033Germany2025-05-31
1034Japan2025-06-03
1035Brazil2025-05-23
1036Italy2025-05-28
1037Brazil2025-06-04
1038Germany2025-06-14
1039Russia2025-05-19
1040United Kingdom2025-05-26
1041Argentina2025-05-28
1042Russia2025-06-03
1043Canada2025-06-07
1044Italy2025-05-19
1045Spain2025-06-08
1046Brazil2025-05-26
1047Australia2025-06-01
1048Russia2025-05-27
1049Germany2025-06-10

On-Demand Data

NameIdCountryDate
Costa P Albares1000India2025-05-31
Mujtaba Q Campain1001India2025-06-09
Ricardo G Saylors1002India2025-05-29
Stacey G Foller1003Japan2025-05-26
Juan E Stockham1004Italy2025-05-26
Aruna G Malet1005Germany2025-05-27
Leon U Amigon1006Russia2025-05-24
Clifford Q Garufi1007Russia2025-05-23
Aditya L Sergi1008Brazil2025-06-10
Murillo J Caldarera1009Russia2025-05-22
Ashley J Saylors1010France2025-06-16
Greenwood V Wieser1011Brazil2025-05-27
Isabel N Whobrey1012Argentina2025-05-25
Emily S Flosi1013Italy2025-06-02
Adams A Kusko1014Argentina2025-06-14
Salvatore Y Darakjy1015Russia2025-05-22
Wickens Q Perin1016India2025-05-31
Murillo L Inouye1017Russia2025-06-07
Claire Z Oldroyd1018Russia2025-05-18
Claire E Garufi1019Japan2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson A WaycottUnited KingdomAnna Fali NEGOTIATION
Wickens N GauchoAustraliaIoni Bowcher NEW
Juan T StockhamJapanAsiya Javayant RENEWAL
Cody V FerenczFranceAmy Elsner UNQUALIFIED
Kadeem H VocelkaFranceAmy Elsner UNQUALIFIED
Aika Z FlosiSpainAsiya Javayant NEGOTIATION
Jefferson D SlusarskiIndiaAmy Elsner NEGOTIATION
Jeanfrancois E WaycottBrazilAnna Fali NEW
Silvio R WieserUnited KingdomElwin Sharvill NEW
Octavia K MaletSpainBernardo Dominic PROPOSAL
Jeanfrancois N SergiItalyOnyama Limba NEW
Arvin B VocelkaGermanyBernardo Dominic QUALIFIED
Cody O VocelkaIndiaAmy Elsner QUALIFIED
Johnson R GauchoItalyIvan Magalhaes NEGOTIATION
Greenwood U PoquetteUnited KingdomAmy Elsner NEGOTIATION
Murillo C IturbideItalyBernardo Dominic NEGOTIATION
Octavia Q IturbideRussiaIoni Bowcher NEGOTIATION
Munro C DoeBrazilStephen Shaw QUALIFIED
Chavez Q CaldareraRussiaXuxue Feng NEW
Misaki R StockhamBrazilIvan Magalhaes RENEWAL
Ricardo K RutaGermanyIvan Magalhaes QUALIFIED
Arvin Z CaudyBrazilAsiya Javayant UNQUALIFIED
Alejandro S ChuiSpainStephen Shaw PROPOSAL
Faith D RimIndiaOnyama Limba QUALIFIED
Octavia V AmigonAustraliaIoni Bowcher UNQUALIFIED
Munro K OldroydGermanyStephen Shaw QUALIFIED
Isabel O PaprockiBrazilOnyama Limba NEW
Morrow W VocelkaCanadaAsiya Javayant UNQUALIFIED
Isabel C TollnerUnited KingdomIvan Magalhaes QUALIFIED
David D VocelkaRussiaStephen Shaw NEGOTIATION
Izzy E DoeRussiaXuxue Feng NEW
Smith J DarakjyIndiaIvan Magalhaes RENEWAL
Jones U CaldareraItalyBernardo Dominic PROPOSAL
Sinclair L PoquetteSpainStephen Shaw PROPOSAL
Munro I KolmetzItalyIvan Magalhaes QUALIFIED
Stacey Y VocelkaArgentinaAsiya Javayant RENEWAL
Mujtaba C CaudyIndiaAsiya Javayant PROPOSAL
Stacey Y SlusarskiJapanStephen Shaw NEW
Ivar B MacleadItalyAsiya Javayant PROPOSAL
Izzy J WieserIndiaOnyama Limba NEGOTIATION

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