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
Julie X StockhamGermanyAmy Elsner NEGOTIATION
Jones V MarrierArgentinaAnna Fali UNQUALIFIED
Ivar U FerenczRussiaStephen Shaw UNQUALIFIED
Arvin W FollerBrazilAmy Elsner NEW
Chavez P IturbideBrazilAnna Fali NEW
Aika R BowleySpainAmy Elsner PROPOSAL
Misaki X ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Izzy R StockhamAustraliaAsiya Javayant RENEWAL
Tony R FerenczSpainOnyama Limba RENEWAL
Jefferson E MarrierArgentinaOnyama Limba RENEWAL
Cody D RutaIndiaElwin Sharvill QUALIFIED
Clifford B GillianJapanIvan Magalhaes PROPOSAL
Aika W RutaGermanyAsiya Javayant PROPOSAL
Isabel H NickaIndiaAmy Elsner NEW
Mayumi R PoquetteIndiaAsiya Javayant NEGOTIATION
Jennifer O PaprockiIndiaXuxue Feng RENEWAL
Maria E PoquetteRussiaOnyama Limba RENEWAL
Wickens Z MaletFranceAmy Elsner NEW
Ricardo Q KuskoUnited KingdomXuxue Feng QUALIFIED
David D NestleIndiaAnna Fali NEW
James K GlickItalyOnyama Limba PROPOSAL
Jefferson U DilliardFranceIvan Magalhaes RENEWAL
Aditya K NickaGermanyIvan Magalhaes PROPOSAL
Murillo M TollnerJapanAsiya Javayant RENEWAL
Jones Z StockhamGermanyIvan Magalhaes PROPOSAL
Tony K PerinIndiaIvan Magalhaes PROPOSAL
Chavez O VenereFranceXuxue Feng NEW
Ricardo A KuskoBrazilOnyama Limba UNQUALIFIED
Maisha Y StensethBrazilBernardo Dominic UNQUALIFIED
Smith I SlusarskiJapanAsiya Javayant PROPOSAL
Aruna U VenereAustraliaXuxue Feng NEGOTIATION
Mujtaba D ShinkoRussiaIoni Bowcher RENEWAL
Emily K SergiArgentinaElwin Sharvill NEW
Sinclair L DilliardAustraliaStephen Shaw QUALIFIED
Kaitlin K MarrierSpainIvan Magalhaes PROPOSAL
Julie D KolmetzFranceIvan Magalhaes QUALIFIED
Francesco Y IturbideGermanyElwin Sharvill UNQUALIFIED
Kadeem P MaletJapanIoni Bowcher PROPOSAL
Antonio P RutaRussiaAnna Fali UNQUALIFIED
Murillo W CampainUnited KingdomElwin Sharvill NEGOTIATION
Aika G FollerJapanStephen Shaw PROPOSAL
Octavia J StockhamItalyXuxue Feng QUALIFIED
Jennifer U ButtItalyStephen Shaw UNQUALIFIED
Mayumi O CaudyAustraliaIvan Magalhaes NEGOTIATION
Clifford D OldroydArgentinaAnna Fali NEW
Costa N InouyeSpainAmy Elsner RENEWAL
Octavia V PoquetteIndiaIvan Magalhaes QUALIFIED
Nicolas M WhobreyJapanOnyama Limba RENEWAL
Faith I ButtUnited KingdomAmy Elsner RENEWAL
Octavia Z DoeArgentinaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson V DarakjyAustraliaBernardo Dominic RENEWAL
Stacey U CampainArgentinaBernardo Dominic NEGOTIATION
Nicolas B PaprockiAustraliaIvan Magalhaes QUALIFIED
Smith T IturbideJapanElwin Sharvill UNQUALIFIED
Johnson K MacleadRussiaAnna Fali NEGOTIATION
Tony H OldroydJapanBernardo Dominic RENEWAL
Adams U OldroydJapanAsiya Javayant NEGOTIATION
Tony Z OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Maria M CaldareraFranceAnna Fali NEW
Kaitlin P FlosiArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore C BriddickBrazil2025-06-08Chanay, Jeffrey A Esq RENEWAL65Asiya Javayant
1001Leja X CaldareraFrance2025-05-27Truhlar And Truhlar Attys QUALIFIED14Stephen Shaw
1002Kadeem X MaletGermany2025-05-26Chapman, Ross E Esq QUALIFIED56Ivan Magalhaes
1003Nicolas Y FlosiItaly2025-05-19Feiner Bros PROPOSAL9Stephen Shaw
1004Cody T PoquetteRussia2025-06-03Feiner Bros NEGOTIATION11Elwin Sharvill
1005Maisha G KuskoSpain2025-06-06Buckley Miller Wright RENEWAL58Stephen Shaw
1006Aruna X ButtFrance2025-06-03Chemel, James L Cpa UNQUALIFIED38Anna Fali
1007Salvatore G DoeGermany2025-06-04Buckley Miller Wright UNQUALIFIED9Asiya Javayant
1008Rodrigues W OstroskyUnited Kingdom2025-06-09Chemel, James L Cpa QUALIFIED82Anna Fali
1009David C ShinkoItaly2025-05-25Rousseaux, Michael Esq QUALIFIED90Amy Elsner
1010Maisha Q SergiCanada2025-06-05Buckley Miller Wright NEW71Stephen Shaw
1011Claire Z FollerFrance2025-06-14Chanay, Jeffrey A Esq UNQUALIFIED81Onyama Limba
1012Jennifer S GarufiUnited Kingdom2025-06-05Chapman, Ross E Esq NEW66Ioni Bowcher
1013Jones J VenereItaly2025-06-12Printing Dimensions NEGOTIATION79Xuxue Feng
1014Deepesh I DoeCanada2025-05-23Benton, John B Jr UNQUALIFIED28Stephen Shaw
1015Cody C WaycottItaly2025-05-24Rangoni Of Florence QUALIFIED82Ioni Bowcher
1016Darci H RulapaughSpain2025-06-03Chemel, James L Cpa QUALIFIED85Bernardo Dominic
1017Jones J DilliardItaly2025-05-28Commercial Press NEW38Asiya Javayant
1018Chavez Z RoysterUnited Kingdom2025-05-20Chapman, Ross E Esq PROPOSAL0Stephen Shaw
1019Costa T PerinFrance2025-05-30Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1020Aika K DoeRussia2025-06-14Chanay, Jeffrey A Esq NEGOTIATION22Asiya Javayant
1021Rodrigues W NickaBrazil2025-05-22Printing Dimensions RENEWAL9Onyama Limba
1022Faith L IturbideItaly2025-06-11Feiner Bros UNQUALIFIED95Elwin Sharvill
1023Silvio J MarrierUnited Kingdom2025-06-03Chapman, Ross E Esq UNQUALIFIED83Onyama Limba
1024Deepesh S SlusarskiSpain2025-05-29Morlong Associates NEGOTIATION33Ivan Magalhaes
1025Cody P DilliardCanada2025-05-20Feiner Bros UNQUALIFIED96Amy Elsner
1026Clifford X MacleadBrazil2025-05-20Dorl, James J Esq NEGOTIATION54Anna Fali
1027Munro G BowleySpain2025-05-19Feiner Bros RENEWAL55Ivan Magalhaes
1028James P OldroydItaly2025-06-04Chemel, James L Cpa NEGOTIATION68Onyama Limba
1029Maisha K TollnerAustralia2025-06-01Morlong Associates NEGOTIATION94Ivan Magalhaes
1030Smith R CampainArgentina2025-05-21Rousseaux, Michael Esq NEGOTIATION30Ivan Magalhaes
1031Darci C DarakjyArgentina2025-06-09Feiner Bros NEW20Stephen Shaw
1032Isabel F KolmetzJapan2025-05-27Rousseaux, Michael Esq PROPOSAL3Onyama Limba
1033Ricardo G ButtFrance2025-05-24Printing Dimensions NEW51Elwin Sharvill
1034Ricardo A ShinkoJapan2025-05-21Printing Dimensions PROPOSAL74Xuxue Feng
1035Jennifer B GlickSpain2025-06-08Chemel, James L Cpa UNQUALIFIED12Amy Elsner
1036Murillo Y FollerItaly2025-05-30Feltz Printing Service PROPOSAL93Elwin Sharvill
1037Kaitlin A TollnerItaly2025-06-03Dorl, James J Esq UNQUALIFIED61Anna Fali
1038Ashley M KolmetzIndia2025-06-12Rousseaux, Michael Esq UNQUALIFIED70Bernardo Dominic
1039Murillo X MaletAustralia2025-05-21King, Christopher A Esq NEW81Xuxue Feng
1040Izzy J GlickUnited Kingdom2025-06-02Dorl, James J Esq QUALIFIED45Asiya Javayant
1041Wickens R CaudyFrance2025-06-13Dorl, James J Esq QUALIFIED48Onyama Limba
1042Darci C InouyeAustralia2025-06-11King, Christopher A Esq RENEWAL94Anna Fali
1043Rodrigues R KolmetzRussia2025-06-04Feltz Printing Service RENEWAL33Asiya Javayant
1044Aditya T FlosiUnited Kingdom2025-05-29Feiner Bros QUALIFIED37Bernardo Dominic
1045Kaitlin F OldroydCanada2025-05-26Buckley Miller Wright NEW30Anna Fali
1046Claire Y NickaRussia2025-05-19Buckley Miller Wright NEW84Bernardo Dominic
1047Johnson F CaldareraUnited Kingdom2025-05-21Truhlar And Truhlar Attys RENEWAL4Anna Fali
1048Francesco W MarrierArgentina2025-05-22Buckley Miller Wright UNQUALIFIED98Onyama Limba
1049Deepesh J VocelkaIndia2025-06-09Buckley Miller Wright NEGOTIATION66Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jones B RimRussiaElwin Sharvill NEW
Ashley F ChuiBrazilElwin Sharvill PROPOSAL
Ivar M MaletGermanyAsiya Javayant PROPOSAL
Munro R OldroydRussiaBernardo Dominic QUALIFIED
Murillo A ShinkoIndiaIvan Magalhaes UNQUALIFIED
David U MaletIndiaOnyama Limba QUALIFIED
Juan Y KolmetzSpainBernardo Dominic NEGOTIATION
Rodrigues M PerinGermanyAsiya Javayant RENEWAL
Aditya A ShinkoIndiaElwin Sharvill QUALIFIED
Kaitlin R FollerAustraliaBernardo Dominic NEW
Jones G ShinkoBrazilAnna Fali UNQUALIFIED
Mayumi S StockhamAustraliaAmy Elsner NEW
Isabel N KuskoRussiaIoni Bowcher NEGOTIATION
Chavez I ChuiGermanyAnna Fali NEW
Jennifer N ButtUnited KingdomBernardo Dominic NEW
Salvatore H SaylorsGermanyAnna Fali NEW
Silvio J WhobreyIndiaElwin Sharvill RENEWAL
Sinclair L StensethGermanyIvan Magalhaes NEW
Johnson Q MorascaArgentinaStephen Shaw QUALIFIED
Salvatore N MaletBrazilOnyama Limba UNQUALIFIED
Johnson L InouyeGermanyStephen Shaw PROPOSAL
Kadeem J StensethJapanAnna Fali NEW
Munro Y ButtJapanOnyama Limba RENEWAL
Aditya L DoeArgentinaBernardo Dominic NEW
Isabel L CaldareraItalyStephen Shaw UNQUALIFIED
Clifford C SergiIndiaAsiya Javayant PROPOSAL
Wickens Y AmigonSpainAmy Elsner RENEWAL
Wickens S IturbideUnited KingdomIoni Bowcher NEW
Aruna E FollerArgentinaAmy Elsner NEGOTIATION
Deepesh V FlosiCanadaOnyama Limba QUALIFIED
Izzy U AmigonSpainElwin Sharvill RENEWAL
Clifford I ChuiArgentinaAnna Fali RENEWAL
Emily P SaylorsJapanAmy Elsner RENEWAL
Silvio T KolmetzFranceElwin Sharvill NEW
Misaki Q BologniaSpainElwin Sharvill UNQUALIFIED
Misaki M ShinkoGermanyXuxue Feng NEW
David F ChuiJapanAmy Elsner PROPOSAL
Kadeem Y PaprockiFranceAsiya Javayant RENEWAL
Tony W VenereUnited KingdomAmy Elsner NEGOTIATION
Aditya K SchemmerGermanyOnyama Limba RENEWAL
Aruna Q CaudyUnited KingdomElwin Sharvill PROPOSAL
Wickens B RoysterFranceBernardo Dominic NEW
Jeanfrancois P ButtJapanAmy Elsner NEW
Kadeem X NickaBrazilXuxue Feng NEW
Jeanfrancois V MacleadFranceBernardo Dominic QUALIFIED
Juan O DoeAustraliaAsiya Javayant RENEWAL
Costa X BologniaArgentinaElwin Sharvill RENEWAL
Izzy K KolmetzGermanyBernardo Dominic NEGOTIATION
Maria S InouyeItalyXuxue Feng PROPOSAL
Mujtaba V IturbideRussiaStephen Shaw NEW
Frozen Columns
Name
Mayumi T Marrier
Isabel M Kolmetz
Costa Z Flosi
Izzy T Campain
Silvio X Glick
Rodrigues Z Rulapaugh
Misaki Z Malet
Greenwood N Albares
Cody W Bolognia
Clifford P Wieser
Misaki C Gaucho
Silvio J Foller
Maisha R Stockham
Arvin G Wieser
Johnson D Rim
Nicolas C Bolognia
Wickens U Inouye
Leon N Rim
Alejandro N Marrier
Maria E Marrier
Julie E Flosi
Ivar K Ferencz
Clifford I Darakjy
Kaitlin F Rim
Deepesh B Foller
Darci O Oldroyd
Morrow X Butt
Johnson E Saylors
Stacey E Caudy
Stacey X Campain
Leja N Slusarski
James E Caudy
Julie C Maclead
Juan S Oldroyd
Adams A Caudy
Octavia M Sergi
Darci C Gaucho
Emily A Malet
Claire E Malet
Kadeem R Ruta
David D Nestle
Mayumi D Malet
Izzy E Inouye
Rodrigues X Chui
Stacey X Malet
Antonio B Caldarera
Claire M Chui
Greenwood F Nicka
Isabel E Figeroa
Aruna V Ferencz
IdCountryDate
1000India2025-06-11
1001India2025-06-10
1002Canada2025-06-05
1003Japan2025-05-31
1004Russia2025-06-12
1005Canada2025-06-01
1006Australia2025-06-05
1007Japan2025-06-08
1008Brazil2025-05-27
1009Brazil2025-06-03
1010United Kingdom2025-05-30
1011Argentina2025-05-28
1012Italy2025-05-25
1013United Kingdom2025-06-07
1014Brazil2025-05-27
1015India2025-05-22
1016Australia2025-06-05
1017Brazil2025-05-22
1018Italy2025-05-28
1019India2025-05-19
1020Spain2025-06-04
1021Canada2025-05-26
1022Italy2025-05-22
1023Brazil2025-06-11
1024India2025-05-27
1025Brazil2025-06-04
1026Spain2025-06-06
1027France2025-05-20
1028Germany2025-05-20
1029Brazil2025-05-21
1030France2025-06-08
1031Brazil2025-06-14
1032India2025-06-09
1033Australia2025-06-02
1034Russia2025-05-24
1035India2025-06-15
1036Canada2025-05-19
1037Spain2025-05-23
1038Spain2025-05-17
1039Canada2025-05-31
1040United Kingdom2025-06-14
1041Argentina2025-05-23
1042Italy2025-05-31
1043Canada2025-06-12
1044Germany2025-06-07
1045Spain2025-05-29
1046Australia2025-06-12
1047Italy2025-06-09
1048Australia2025-06-11
1049Japan2025-06-15

On-Demand Data

NameIdCountryDate
Kadeem S Perin1000Italy2025-05-26
Juan V Poquette1001Australia2025-05-24
Darci J Rulapaugh1002Canada2025-05-17
Claire E Venere1003Canada2025-05-30
Ivar U Bolognia1004Germany2025-05-22
Clifford K Rulapaugh1005Canada2025-06-07
Alejandro O Slusarski1006Spain2025-05-31
Clifford D Maclead1007Argentina2025-06-12
Cody J Waycott1008France2025-06-09
Silvio H Kolmetz1009Italy2025-06-10
Stacey S Vocelka1010France2025-06-08
Isabel S Bowley1011United Kingdom2025-06-03
Leon K Marrier1012France2025-06-08
Isabel W Poquette1013Russia2025-05-20
Darci J Gaucho1014Germany2025-05-27
Nicolas E Saylors1015Germany2025-06-11
Rodrigues E Campain1016Canada2025-06-10
Izzy B Shinko1017Brazil2025-05-24
David X Sergi1018Italy2025-05-28
Francesco W Doe1019Brazil2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire X StensethJapanOnyama Limba PROPOSAL
Julie O GillianSpainIvan Magalhaes RENEWAL
Rodrigues T StensethCanadaIoni Bowcher RENEWAL
Wickens D TollnerItalyIoni Bowcher RENEWAL
Francesco J RulapaughGermanyAsiya Javayant NEW
Julie D AlbaresRussiaIoni Bowcher RENEWAL
Clifford Q ButtCanadaBernardo Dominic PROPOSAL
Arvin Z WhobreyIndiaOnyama Limba UNQUALIFIED
Aika H DilliardAustraliaIvan Magalhaes QUALIFIED
Chavez Y StockhamItalyOnyama Limba UNQUALIFIED
Rodrigues I CampainArgentinaStephen Shaw RENEWAL
Adams L CaldareraGermanyAsiya Javayant QUALIFIED
Misaki D DoeSpainElwin Sharvill PROPOSAL
Clifford Y AlbaresItalyStephen Shaw UNQUALIFIED
Octavia V WhobreyJapanAnna Fali QUALIFIED
Adams Y MaletAustraliaStephen Shaw RENEWAL
Darci N IturbideBrazilOnyama Limba UNQUALIFIED
Jones P VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Murillo C StockhamFranceXuxue Feng QUALIFIED
Octavia K SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Aika Y StockhamGermanyOnyama Limba NEGOTIATION
Deepesh N StockhamIndiaBernardo Dominic NEW
Jeanfrancois Q TollnerJapanBernardo Dominic PROPOSAL
Jennifer H NestleCanadaElwin Sharvill PROPOSAL
Emily J MarrierGermanyOnyama Limba QUALIFIED
Maria D MaletSpainXuxue Feng RENEWAL
Costa A SaylorsItalyAsiya Javayant UNQUALIFIED
Cody A VenereJapanIoni Bowcher NEGOTIATION
Mujtaba T GarufiUnited KingdomAnna Fali NEW
Francesco B GauchoArgentinaIvan Magalhaes QUALIFIED
Murillo U AlbaresAustraliaAnna Fali NEW
Emily K PoquetteCanadaAnna Fali PROPOSAL
Maria T VenereRussiaAmy Elsner NEW
Munro N GillianArgentinaXuxue Feng PROPOSAL
Clifford K WaycottRussiaAmy Elsner RENEWAL
Morrow Z MaletFranceAsiya Javayant QUALIFIED
Silvio D SchemmerSpainIvan Magalhaes NEW
Kadeem D StockhamBrazilOnyama Limba QUALIFIED
Rodrigues M FerenczBrazilBernardo Dominic NEW
Mujtaba L AlbaresGermanyIvan Magalhaes UNQUALIFIED

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