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
Salvatore Q KuskoItalyAmy Elsner UNQUALIFIED
Adams I ShinkoRussiaAsiya Javayant NEW
Jeanfrancois T CaudyBrazilAmy Elsner RENEWAL
Faith F SaylorsGermanyIvan Magalhaes NEGOTIATION
Deepesh W RimAustraliaElwin Sharvill UNQUALIFIED
Alejandro E FerenczFranceXuxue Feng RENEWAL
Rodrigues X MarrierUnited KingdomElwin Sharvill NEW
Mujtaba E BowleySpainOnyama Limba NEGOTIATION
Faith R PerinJapanXuxue Feng RENEWAL
Maisha B RulapaughJapanOnyama Limba PROPOSAL
Arvin C ShinkoArgentinaAmy Elsner QUALIFIED
Ivar H VocelkaIndiaBernardo Dominic UNQUALIFIED
Jones V VenereCanadaBernardo Dominic NEGOTIATION
Stacey O ShinkoFranceXuxue Feng UNQUALIFIED
Rodrigues F RoysterFranceIoni Bowcher NEGOTIATION
Mujtaba J KolmetzSpainIoni Bowcher PROPOSAL
Jennifer R GauchoJapanBernardo Dominic PROPOSAL
Leja R FigeroaJapanXuxue Feng UNQUALIFIED
Isabel F DilliardUnited KingdomIvan Magalhaes PROPOSAL
Juan U SchemmerBrazilIvan Magalhaes PROPOSAL
Emily K RulapaughArgentinaElwin Sharvill UNQUALIFIED
Greenwood M PerinSpainAmy Elsner PROPOSAL
Costa B FerenczBrazilIvan Magalhaes NEGOTIATION
Silvio R SchemmerCanadaXuxue Feng RENEWAL
Claire V ButtUnited KingdomXuxue Feng PROPOSAL
Izzy B MaletFranceIoni Bowcher UNQUALIFIED
Darci Z PaprockiAustraliaOnyama Limba NEW
Costa R KolmetzJapanOnyama Limba NEGOTIATION
Jeanfrancois L TollnerGermanyStephen Shaw PROPOSAL
Francesco Y KuskoUnited KingdomAmy Elsner RENEWAL
Alejandro F TollnerCanadaAmy Elsner RENEWAL
Johnson Q KuskoAustraliaBernardo Dominic UNQUALIFIED
Leja H SergiItalyOnyama Limba NEW
Darci Y VenereArgentinaAsiya Javayant NEW
Murillo L PoquetteJapanElwin Sharvill PROPOSAL
Aruna G MaletUnited KingdomOnyama Limba NEW
James A CaudyFranceElwin Sharvill NEGOTIATION
Izzy F OstroskyItalyAnna Fali NEW
Deepesh G NickaRussiaIvan Magalhaes QUALIFIED
Claire Y RoysterSpainXuxue Feng NEGOTIATION
Misaki I BologniaUnited KingdomIoni Bowcher PROPOSAL
James R GauchoSpainStephen Shaw PROPOSAL
Leon Z KuskoGermanyIvan Magalhaes UNQUALIFIED
Salvatore N MaletAustraliaBernardo Dominic PROPOSAL
Arvin H StensethRussiaAsiya Javayant NEW
Isabel O OstroskyBrazilElwin Sharvill QUALIFIED
Jones I MorascaUnited KingdomStephen Shaw UNQUALIFIED
Adams J KuskoItalyBernardo Dominic UNQUALIFIED
Juan P IturbideCanadaElwin Sharvill PROPOSAL
Jefferson O StensethCanadaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio O SlusarskiIndiaAmy Elsner NEW
Ashley K NestleItalyOnyama Limba NEGOTIATION
Salvatore M SchemmerRussiaXuxue Feng UNQUALIFIED
Adams W GauchoUnited KingdomStephen Shaw NEGOTIATION
Juan W BriddickUnited KingdomIvan Magalhaes PROPOSAL
Wickens S RoysterFranceElwin Sharvill PROPOSAL
Alejandro F FerenczBrazilOnyama Limba PROPOSAL
Misaki Y GlickSpainElwin Sharvill NEGOTIATION
Nicolas A SchemmerUnited KingdomBernardo Dominic RENEWAL
Chavez B KolmetzGermanyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow C MorascaFrance2025-06-07Benton, John B Jr NEGOTIATION6Xuxue Feng
1001Smith C InouyeAustralia2025-06-01Morlong Associates RENEWAL43Ivan Magalhaes
1002Isabel J ChuiUnited Kingdom2025-06-02Rangoni Of Florence PROPOSAL48Stephen Shaw
1003Jefferson H PerinArgentina2025-06-14King, Christopher A Esq UNQUALIFIED71Elwin Sharvill
1004Deepesh L RimAustralia2025-05-20Morlong Associates NEW4Xuxue Feng
1005Morrow K OldroydRussia2025-05-20Feiner Bros UNQUALIFIED2Amy Elsner
1006Tony W IturbideRussia2025-05-21Rousseaux, Michael Esq NEGOTIATION77Stephen Shaw
1007Stacey E MaletItaly2025-06-03King, Christopher A Esq PROPOSAL71Bernardo Dominic
1008Isabel J CaudyCanada2025-05-28Chanay, Jeffrey A Esq QUALIFIED64Anna Fali
1009James H OstroskyCanada2025-06-03Truhlar And Truhlar Attys UNQUALIFIED40Onyama Limba
1010Mayumi S MaletIndia2025-06-06Feltz Printing Service PROPOSAL49Onyama Limba
1011Jefferson N GauchoRussia2025-06-02Chemel, James L Cpa UNQUALIFIED55Elwin Sharvill
1012Leon I SaylorsCanada2025-05-21Rousseaux, Michael Esq UNQUALIFIED71Ioni Bowcher
1013Maria L OldroydFrance2025-05-26King, Christopher A Esq UNQUALIFIED66Amy Elsner
1014Leja L RulapaughAustralia2025-06-07King, Christopher A Esq RENEWAL88Asiya Javayant
1015Stacey V PoquetteCanada2025-05-19Chemel, James L Cpa PROPOSAL60Ivan Magalhaes
1016Mayumi N StensethSpain2025-06-06Chapman, Ross E Esq NEGOTIATION90Stephen Shaw
1017Aditya B KolmetzArgentina2025-06-16King, Christopher A Esq NEGOTIATION1Xuxue Feng
1018Wickens L MacleadJapan2025-06-05Feltz Printing Service NEW82Onyama Limba
1019Mayumi T BologniaGermany2025-05-29Feiner Bros PROPOSAL29Ioni Bowcher
1020Mayumi M DarakjyUnited Kingdom2025-05-18Truhlar And Truhlar Attys RENEWAL97Bernardo Dominic
1021Ashley G AmigonBrazil2025-06-10Chapman, Ross E Esq UNQUALIFIED93Xuxue Feng
1022Jeanfrancois L IturbideCanada2025-06-14Morlong Associates NEW3Ioni Bowcher
1023Johnson U TollnerIndia2025-05-19Rangoni Of Florence NEGOTIATION93Ioni Bowcher
1024Johnson W WieserJapan2025-05-24Printing Dimensions NEGOTIATION70Anna Fali
1025Jeanfrancois P AmigonCanada2025-06-06Dorl, James J Esq PROPOSAL93Ivan Magalhaes
1026Ricardo H FlosiRussia2025-05-27Benton, John B Jr QUALIFIED53Ivan Magalhaes
1027Salvatore O SergiAustralia2025-06-13Benton, John B Jr UNQUALIFIED22Xuxue Feng
1028Silvio C AlbaresGermany2025-06-10Chanay, Jeffrey A Esq NEGOTIATION48Ioni Bowcher
1029Izzy F MaletSpain2025-05-25Commercial Press QUALIFIED22Onyama Limba
1030Deepesh W InouyeRussia2025-05-22Chemel, James L Cpa NEW93Stephen Shaw
1031Murillo N RoysterItaly2025-05-28Benton, John B Jr NEW6Onyama Limba
1032Cody G KuskoBrazil2025-05-18Commercial Press NEW0Bernardo Dominic
1033Mayumi N MorascaCanada2025-05-22Printing Dimensions PROPOSAL98Onyama Limba
1034Smith L NickaJapan2025-06-11Buckley Miller Wright NEGOTIATION14Bernardo Dominic
1035Maisha Z MacleadIndia2025-06-03Printing Dimensions NEGOTIATION47Onyama Limba
1036Morrow T MacleadJapan2025-05-28Printing Dimensions QUALIFIED19Asiya Javayant
1037Mujtaba R AmigonUnited Kingdom2025-05-30Rangoni Of Florence RENEWAL70Asiya Javayant
1038Mayumi A SchemmerGermany2025-05-27Dorl, James J Esq QUALIFIED67Xuxue Feng
1039Aruna U AlbaresGermany2025-06-14Commercial Press NEW38Elwin Sharvill
1040Smith Y StensethUnited Kingdom2025-06-09Rousseaux, Michael Esq RENEWAL40Amy Elsner
1041Chavez Y RulapaughIndia2025-05-29Rousseaux, Michael Esq UNQUALIFIED8Xuxue Feng
1042Mujtaba R DarakjyUnited Kingdom2025-05-19Chanay, Jeffrey A Esq NEGOTIATION41Amy Elsner
1043Ivar P RulapaughSpain2025-05-23King, Christopher A Esq NEW45Ioni Bowcher
1044Aditya E OldroydRussia2025-06-10Printing Dimensions QUALIFIED55Anna Fali
1045Rodrigues D DilliardBrazil2025-06-13Rousseaux, Michael Esq RENEWAL40Elwin Sharvill
1046Mayumi V AmigonFrance2025-05-19Dorl, James J Esq QUALIFIED13Elwin Sharvill
1047Morrow M AlbaresIndia2025-06-13Dorl, James J Esq NEW9Amy Elsner
1048Jones W FigeroaCanada2025-06-02King, Christopher A Esq QUALIFIED3Asiya Javayant
1049Aditya Q DarakjyItaly2025-05-18Feltz Printing Service UNQUALIFIED11Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley D MaletItalyAsiya Javayant QUALIFIED
Morrow L SchemmerGermanyXuxue Feng PROPOSAL
Jones N WieserBrazilAmy Elsner NEGOTIATION
Maisha M PerinSpainXuxue Feng PROPOSAL
Juan L RulapaughFranceStephen Shaw PROPOSAL
Wickens J PoquetteSpainOnyama Limba PROPOSAL
Silvio X ButtIndiaXuxue Feng QUALIFIED
Clifford Y SaylorsGermanyBernardo Dominic NEW
Nicolas W WaycottGermanyAmy Elsner UNQUALIFIED
Jefferson E CaudyCanadaIoni Bowcher NEW
Jones U MacleadAustraliaIoni Bowcher NEW
Salvatore Y TollnerFranceOnyama Limba NEGOTIATION
Ricardo G VocelkaSpainAmy Elsner RENEWAL
Aditya R SergiItalyAmy Elsner NEGOTIATION
Mayumi M KolmetzGermanyAnna Fali RENEWAL
Claire I GillianIndiaBernardo Dominic NEW
James H PaprockiUnited KingdomAmy Elsner QUALIFIED
Jennifer H RimBrazilElwin Sharvill QUALIFIED
Rodrigues Z StockhamUnited KingdomOnyama Limba RENEWAL
Tony L ButtRussiaAmy Elsner UNQUALIFIED
Greenwood B BologniaBrazilAsiya Javayant QUALIFIED
Emily C DilliardArgentinaElwin Sharvill UNQUALIFIED
Clifford N MarrierFranceIvan Magalhaes QUALIFIED
Misaki A FlosiItalyBernardo Dominic NEGOTIATION
Jennifer K WaycottRussiaOnyama Limba NEW
Isabel O GlickCanadaIoni Bowcher NEGOTIATION
Misaki A IturbideAustraliaStephen Shaw UNQUALIFIED
Greenwood K VenereUnited KingdomIoni Bowcher PROPOSAL
Izzy O KuskoFranceIvan Magalhaes PROPOSAL
Maisha X SergiBrazilBernardo Dominic NEW
Mayumi M KolmetzItalyOnyama Limba NEW
Kadeem S BologniaItalyAnna Fali PROPOSAL
Johnson C GarufiItalyStephen Shaw RENEWAL
Jeanfrancois N DoeCanadaIvan Magalhaes RENEWAL
Wickens S MorascaIndiaAnna Fali NEW
Octavia Z GauchoGermanyAmy Elsner QUALIFIED
Adams G VenereUnited KingdomStephen Shaw NEW
Adams U NickaUnited KingdomBernardo Dominic NEGOTIATION
Stacey L OstroskyCanadaStephen Shaw UNQUALIFIED
Kadeem A MacleadJapanAnna Fali NEW
Chavez A FlosiJapanOnyama Limba NEGOTIATION
Ashley X KuskoBrazilIvan Magalhaes RENEWAL
Maisha W CaldareraIndiaAsiya Javayant UNQUALIFIED
Sinclair K BowleyAustraliaIvan Magalhaes PROPOSAL
Cody K AmigonCanadaStephen Shaw UNQUALIFIED
Wickens U PoquetteCanadaOnyama Limba QUALIFIED
Antonio Q WaycottCanadaBernardo Dominic RENEWAL
Rodrigues Q NestleRussiaAmy Elsner NEGOTIATION
Jones G CampainArgentinaElwin Sharvill UNQUALIFIED
Emily H NestleAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Ivar U Nicka
Adams U Malet
Aika L Caldarera
Alejandro O Chui
Leon A Gillian
Izzy P Oldroyd
Munro V Nicka
Arvin L Bolognia
Alejandro M Saylors
Morrow S Marrier
Izzy H Garufi
Clifford X Foller
Morrow K Malet
Johnson R Gaucho
Claire M Schemmer
Adams L Slusarski
Smith D Marrier
Wickens H Nicka
Octavia E Gillian
Aika G Iturbide
Murillo J Rim
Murillo P Chui
Darci T Royster
Costa D Inouye
Izzy T Nicka
Greenwood I Marrier
Greenwood O Slusarski
Morrow U Butt
Juan N Caudy
James U Bolognia
Stacey U Schemmer
Rodrigues K Rulapaugh
Morrow Q Sergi
Arvin O Vocelka
Aika T Ruta
Jeanfrancois K Kolmetz
Isabel C Malet
Ashley U Bowley
Greenwood G Morasca
Ivar V Caudy
Aika X Doe
Emily L Nicka
Leja G Campain
Murillo M Caldarera
Stacey S Campain
Deepesh K Chui
Mujtaba N Venere
Alejandro S Paprocki
Stacey B Briddick
Smith L Wieser
IdCountryDate
1000Russia2025-06-02
1001Russia2025-05-24
1002India2025-05-30
1003Japan2025-06-09
1004India2025-06-11
1005Italy2025-05-19
1006Australia2025-06-09
1007Japan2025-05-31
1008Spain2025-05-31
1009United Kingdom2025-06-14
1010Spain2025-06-04
1011India2025-06-10
1012India2025-05-18
1013Argentina2025-05-18
1014France2025-06-13
1015United Kingdom2025-05-23
1016Germany2025-06-09
1017Argentina2025-05-19
1018Brazil2025-05-24
1019United Kingdom2025-06-07
1020Japan2025-06-11
1021Brazil2025-05-21
1022United Kingdom2025-05-26
1023United Kingdom2025-05-29
1024Brazil2025-06-14
1025Russia2025-05-26
1026Germany2025-06-01
1027Spain2025-05-22
1028Argentina2025-05-23
1029Spain2025-06-10
1030Canada2025-06-14
1031Germany2025-06-01
1032Argentina2025-05-18
1033Italy2025-06-04
1034India2025-06-16
1035Russia2025-06-08
1036Canada2025-06-02
1037India2025-06-10
1038Japan2025-06-09
1039France2025-05-22
1040India2025-06-16
1041Canada2025-06-03
1042Italy2025-05-28
1043Russia2025-06-11
1044Germany2025-05-21
1045Russia2025-05-31
1046Argentina2025-05-28
1047Brazil2025-05-19
1048Argentina2025-06-15
1049France2025-06-15

On-Demand Data

NameIdCountryDate
Kadeem C Gaucho1000Spain2025-05-21
Jennifer I Caldarera1001Australia2025-06-12
Arvin X Royster1002Argentina2025-05-23
Leja A Nestle1003United Kingdom2025-05-19
Misaki O Caldarera1004Germany2025-06-08
Julie J Wieser1005India2025-05-18
Ivar G Gaucho1006Germany2025-05-30
Jeanfrancois G Stenseth1007France2025-06-14
Rodrigues W Figeroa1008Canada2025-05-20
Aditya J Chui1009Japan2025-06-10
Juan P Albares1010France2025-06-11
Smith K Butt1011Japan2025-05-22
Adams T Royster1012United Kingdom2025-05-19
Cody H Flosi1013Australia2025-06-15
Arvin T Maclead1014United Kingdom2025-06-13
Jefferson Y Ruta1015Canada2025-05-25
Antonio K Maclead1016Spain2025-05-26
Costa J Sergi1017France2025-05-18
Cody L Malet1018Brazil2025-05-28
Jones O Paprocki1019Canada2025-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia F ChuiArgentinaAnna Fali NEGOTIATION
Kadeem N StockhamSpainAsiya Javayant NEGOTIATION
Darci D DilliardArgentinaOnyama Limba QUALIFIED
Tony L VenereIndiaAmy Elsner RENEWAL
Deepesh H GlickIndiaAnna Fali QUALIFIED
Emily F MaletItalyOnyama Limba UNQUALIFIED
Wickens R SergiSpainIoni Bowcher QUALIFIED
Greenwood L CampainJapanElwin Sharvill NEW
Jones J SchemmerIndiaAnna Fali UNQUALIFIED
Izzy J InouyeAustraliaIoni Bowcher PROPOSAL
Salvatore A CampainFranceIoni Bowcher NEGOTIATION
Maisha E KuskoItalyAnna Fali NEW
Aruna L AmigonItalyOnyama Limba PROPOSAL
Munro Z DoeItalyAnna Fali NEGOTIATION
James N FollerFranceIvan Magalhaes UNQUALIFIED
Clifford Y SlusarskiAustraliaIvan Magalhaes NEW
Jones A WaycottFranceOnyama Limba UNQUALIFIED
Adams I VenereRussiaXuxue Feng UNQUALIFIED
Greenwood I KuskoSpainIoni Bowcher PROPOSAL
Octavia E MaletArgentinaStephen Shaw QUALIFIED
Jeanfrancois V WhobreyIndiaIvan Magalhaes UNQUALIFIED
Kadeem X StockhamRussiaOnyama Limba QUALIFIED
Kadeem G DarakjyIndiaIvan Magalhaes NEW
Chavez C IturbideBrazilElwin Sharvill RENEWAL
Octavia M NickaIndiaIvan Magalhaes RENEWAL
Aditya Z IturbideUnited KingdomXuxue Feng QUALIFIED
Arvin Q FlosiGermanyIoni Bowcher RENEWAL
Antonio U SaylorsSpainAnna Fali UNQUALIFIED
Aditya U FigeroaCanadaBernardo Dominic QUALIFIED
Salvatore N RoysterBrazilBernardo Dominic QUALIFIED
Juan S SchemmerIndiaBernardo Dominic RENEWAL
Antonio U MacleadGermanyIoni Bowcher NEW
Maisha U BowleyAustraliaIvan Magalhaes NEW
Silvio V GarufiJapanAnna Fali NEW
Morrow E SlusarskiRussiaStephen Shaw RENEWAL
Arvin D NickaSpainAnna Fali PROPOSAL
Jefferson Z FlosiBrazilAmy Elsner RENEWAL
Salvatore O RoysterSpainAmy Elsner NEW
Alejandro S OstroskyItalyBernardo Dominic PROPOSAL
Ivar V RimAustraliaAmy Elsner PROPOSAL

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