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
Ivar O ShinkoCanadaXuxue Feng NEGOTIATION
Kadeem P OstroskyCanadaIoni Bowcher UNQUALIFIED
Mujtaba S KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Jones Y RimGermanyXuxue Feng PROPOSAL
Octavia Y GlickSpainIvan Magalhaes PROPOSAL
Costa I StensethGermanyAsiya Javayant UNQUALIFIED
Stacey P IturbideJapanAmy Elsner QUALIFIED
Ricardo V RimAustraliaIoni Bowcher UNQUALIFIED
Julie J FigeroaGermanyXuxue Feng NEW
Clifford W KuskoSpainIvan Magalhaes RENEWAL
David Y NickaBrazilAnna Fali NEGOTIATION
Stacey W GarufiArgentinaOnyama Limba NEW
Costa G TollnerIndiaAsiya Javayant RENEWAL
Clifford H ChuiArgentinaStephen Shaw PROPOSAL
Nicolas G FerenczUnited KingdomElwin Sharvill QUALIFIED
Misaki Y RulapaughSpainXuxue Feng NEGOTIATION
Aika V MaletFranceIvan Magalhaes NEW
Salvatore H KuskoBrazilAmy Elsner PROPOSAL
Jennifer X RoysterRussiaXuxue Feng RENEWAL
Costa V RoysterCanadaBernardo Dominic NEW
Jeanfrancois S MaletUnited KingdomBernardo Dominic NEW
Johnson V WieserSpainBernardo Dominic UNQUALIFIED
Sinclair V NestleSpainAnna Fali UNQUALIFIED
Jeanfrancois B TollnerSpainOnyama Limba PROPOSAL
Stacey X WaycottSpainIvan Magalhaes NEGOTIATION
Sinclair S GauchoFranceIoni Bowcher UNQUALIFIED
Jones T MacleadArgentinaXuxue Feng NEGOTIATION
Deepesh O ChuiRussiaIvan Magalhaes QUALIFIED
Misaki N OstroskySpainStephen Shaw UNQUALIFIED
Julie K RimIndiaIvan Magalhaes NEW
Nicolas M RutaRussiaStephen Shaw NEW
Jeanfrancois Y IturbideAustraliaStephen Shaw NEGOTIATION
Jennifer T KolmetzAustraliaXuxue Feng NEGOTIATION
Octavia I BowleyIndiaStephen Shaw PROPOSAL
Stacey K DoeFranceBernardo Dominic QUALIFIED
Greenwood N VenereCanadaOnyama Limba NEGOTIATION
Mayumi K SlusarskiItalyBernardo Dominic PROPOSAL
Darci V DarakjySpainElwin Sharvill UNQUALIFIED
Nicolas B NickaRussiaElwin Sharvill QUALIFIED
Mayumi C ChuiArgentinaStephen Shaw RENEWAL
Alejandro D WieserAustraliaAsiya Javayant NEW
Jefferson O OstroskyUnited KingdomXuxue Feng PROPOSAL
Alejandro W FerenczArgentinaAsiya Javayant UNQUALIFIED
Greenwood Z MorascaBrazilBernardo Dominic PROPOSAL
Izzy H NickaFranceAsiya Javayant NEW
Juan W BriddickFranceAnna Fali NEGOTIATION
Kaitlin W DarakjyGermanyIoni Bowcher QUALIFIED
Nicolas N ShinkoIndiaIvan Magalhaes UNQUALIFIED
Antonio T DilliardIndiaIoni Bowcher QUALIFIED
Darci H MarrierSpainBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley S VocelkaCanadaBernardo Dominic NEW
Isabel M AmigonBrazilStephen Shaw QUALIFIED
Nicolas O FigeroaFranceIvan Magalhaes RENEWAL
Jeanfrancois B WhobreyBrazilAnna Fali UNQUALIFIED
Morrow Y FigeroaAustraliaXuxue Feng QUALIFIED
Sinclair J AlbaresCanadaAmy Elsner UNQUALIFIED
Mayumi Z CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Aika X SlusarskiJapanAnna Fali NEW
Chavez L SlusarskiSpainBernardo Dominic NEGOTIATION
Emily S ChuiGermanyXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues P BologniaGermany2024-06-01Feiner Bros NEW96Amy Elsner
1001Juan P AmigonBrazil2024-06-19Commercial Press UNQUALIFIED53Anna Fali
1002Emily L OstroskyUnited Kingdom2024-06-07Feltz Printing Service PROPOSAL74Anna Fali
1003Ivar W KolmetzFrance2024-06-21Rousseaux, Michael Esq UNQUALIFIED78Bernardo Dominic
1004Arvin R PaprockiJapan2024-06-14Dorl, James J Esq UNQUALIFIED33Bernardo Dominic
1005Aruna W MorascaArgentina2024-06-10Chanay, Jeffrey A Esq RENEWAL2Ioni Bowcher
1006Rodrigues O ShinkoRussia2024-06-11Feltz Printing Service PROPOSAL89Bernardo Dominic
1007Jeanfrancois D CampainArgentina2024-05-30Benton, John B Jr QUALIFIED53Xuxue Feng
1008Aditya N ShinkoAustralia2024-06-04Chanay, Jeffrey A Esq NEW72Onyama Limba
1009Faith Z FigeroaAustralia2024-06-11Commercial Press NEW76Amy Elsner
1010Maisha H TollnerJapan2024-06-09King, Christopher A Esq NEGOTIATION81Anna Fali
1011Ivar E RulapaughSpain2024-06-19Chapman, Ross E Esq QUALIFIED26Anna Fali
1012Wickens K InouyeFrance2024-06-12Feiner Bros NEGOTIATION98Xuxue Feng
1013Rodrigues S StockhamSpain2024-06-05Morlong Associates QUALIFIED63Amy Elsner
1014Chavez K ButtItaly2024-05-30Truhlar And Truhlar Attys PROPOSAL15Amy Elsner
1015Aika S GillianIndia2024-06-12Dorl, James J Esq QUALIFIED26Stephen Shaw
1016Leja Z MorascaIndia2024-06-19Rousseaux, Michael Esq RENEWAL90Bernardo Dominic
1017Alejandro C RutaIndia2024-05-28Feiner Bros UNQUALIFIED16Onyama Limba
1018Emily R RimIndia2024-06-09Chemel, James L Cpa NEGOTIATION78Asiya Javayant
1019Leja O SlusarskiSpain2024-06-10Chapman, Ross E Esq NEW43Xuxue Feng
1020Clifford J KolmetzAustralia2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED37Amy Elsner
1021Murillo Q DarakjyJapan2024-06-07Dorl, James J Esq NEW39Amy Elsner
1022Darci L AmigonArgentina2024-06-10Printing Dimensions UNQUALIFIED83Elwin Sharvill
1023Greenwood N WieserJapan2024-06-21Dorl, James J Esq NEW1Asiya Javayant
1024Munro Y StensethRussia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED55Onyama Limba
1025Maisha G TollnerCanada2024-06-18Dorl, James J Esq QUALIFIED9Anna Fali
1026Ivar L StockhamIndia2024-05-31Rousseaux, Michael Esq QUALIFIED15Anna Fali
1027Rodrigues I DoeGermany2024-05-31Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1028Francesco X RoysterGermany2024-06-13Chapman, Ross E Esq UNQUALIFIED97Ioni Bowcher
1029Clifford H OstroskyItaly2024-05-28Rangoni Of Florence NEW65Ivan Magalhaes
1030Tony I CampainAustralia2024-05-26Truhlar And Truhlar Attys RENEWAL17Onyama Limba
1031Johnson K MaletAustralia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED68Xuxue Feng
1032Ricardo S PoquetteIndia2024-06-13Feiner Bros NEW92Anna Fali
1033Arvin Y ChuiIndia2024-06-22Buckley Miller Wright QUALIFIED45Ivan Magalhaes
1034Faith Y GillianFrance2024-06-04Rousseaux, Michael Esq NEW46Elwin Sharvill
1035Murillo Y TollnerIndia2024-06-17Feltz Printing Service NEW10Ioni Bowcher
1036Wickens P ShinkoBrazil2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED78Stephen Shaw
1037Greenwood Q GauchoIndia2024-06-20King, Christopher A Esq NEW54Bernardo Dominic
1038Claire M NickaBrazil2024-06-10Morlong Associates UNQUALIFIED40Amy Elsner
1039Ivar X SergiBrazil2024-06-14Rousseaux, Michael Esq UNQUALIFIED37Anna Fali
1040Mayumi F StensethBrazil2024-06-15Rangoni Of Florence RENEWAL52Ioni Bowcher
1041Salvatore R FlosiRussia2024-06-13Dorl, James J Esq NEGOTIATION79Amy Elsner
1042Aruna V StensethRussia2024-06-03Commercial Press UNQUALIFIED43Onyama Limba
1043Juan P InouyeIndia2024-06-10Commercial Press RENEWAL79Ivan Magalhaes
1044Costa N DarakjyAustralia2024-06-13Feltz Printing Service RENEWAL50Anna Fali
1045Deepesh M CaudyUnited Kingdom2024-06-02Rangoni Of Florence UNQUALIFIED76Ioni Bowcher
1046Leon Y IturbideBrazil2024-06-23Chanay, Jeffrey A Esq QUALIFIED99Anna Fali
1047Leja Z FlosiRussia2024-06-10Commercial Press NEGOTIATION85Stephen Shaw
1048Darci S ChuiItaly2024-06-23Chanay, Jeffrey A Esq PROPOSAL89Elwin Sharvill
1049Alejandro H VenereJapan2024-06-17Rangoni Of Florence PROPOSAL38Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens O WaycottItalyIoni Bowcher NEW
Jones C DoeJapanIvan Magalhaes QUALIFIED
Mayumi T RoysterAustraliaStephen Shaw UNQUALIFIED
Leon I WaycottFranceStephen Shaw UNQUALIFIED
Julie V DarakjyArgentinaAmy Elsner QUALIFIED
Julie G DarakjyCanadaAmy Elsner NEW
Ricardo Q SergiUnited KingdomAsiya Javayant NEW
Isabel A StensethBrazilBernardo Dominic NEW
Stacey R KuskoUnited KingdomXuxue Feng UNQUALIFIED
Murillo M SaylorsFranceElwin Sharvill QUALIFIED
Nicolas I MarrierArgentinaElwin Sharvill RENEWAL
Jones P WhobreyFranceAnna Fali UNQUALIFIED
Nicolas E CampainUnited KingdomStephen Shaw QUALIFIED
Kadeem O MaletFranceAsiya Javayant RENEWAL
Jeanfrancois P RoysterCanadaAnna Fali RENEWAL
Izzy D ShinkoAustraliaAnna Fali NEW
David F MarrierRussiaAsiya Javayant QUALIFIED
Ivar L CaldareraAustraliaAnna Fali NEGOTIATION
Faith O FollerFranceAnna Fali QUALIFIED
Nicolas D CaudyGermanyIvan Magalhaes UNQUALIFIED
Arvin M BowleyGermanyXuxue Feng NEW
Mayumi W FollerAustraliaBernardo Dominic UNQUALIFIED
Francesco I AmigonJapanOnyama Limba QUALIFIED
Leon W MarrierArgentinaIvan Magalhaes QUALIFIED
David B DoeFranceElwin Sharvill UNQUALIFIED
David J PaprockiCanadaIvan Magalhaes PROPOSAL
Kadeem X OstroskyRussiaElwin Sharvill NEGOTIATION
Leja Z WieserIndiaElwin Sharvill QUALIFIED
Kaitlin A VenereRussiaAsiya Javayant UNQUALIFIED
Leon A NickaArgentinaIoni Bowcher UNQUALIFIED
Octavia K PaprockiIndiaIoni Bowcher UNQUALIFIED
Ivar V DarakjyRussiaIoni Bowcher RENEWAL
Juan G BowleyAustraliaOnyama Limba QUALIFIED
Alejandro U PerinFranceOnyama Limba NEGOTIATION
Mujtaba G RimBrazilAsiya Javayant UNQUALIFIED
Kaitlin O ButtRussiaIvan Magalhaes NEW
Juan S GauchoGermanyBernardo Dominic UNQUALIFIED
Cody K WhobreyUnited KingdomAnna Fali QUALIFIED
Francesco V PerinItalyIvan Magalhaes QUALIFIED
Leon N RutaRussiaStephen Shaw PROPOSAL
Octavia J ChuiAustraliaAnna Fali NEGOTIATION
Stacey Z KolmetzJapanXuxue Feng UNQUALIFIED
Isabel S NestleCanadaAnna Fali NEW
Mujtaba T DarakjyItalyAsiya Javayant UNQUALIFIED
Isabel K AmigonSpainAsiya Javayant UNQUALIFIED
Johnson A DarakjyGermanyAsiya Javayant PROPOSAL
Rodrigues R CaldareraFranceAsiya Javayant UNQUALIFIED
Maria B RimBrazilStephen Shaw PROPOSAL
Claire G WaycottIndiaStephen Shaw PROPOSAL
Morrow Y ChuiRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Stacey T Royster
Arvin E Glick
Jeanfrancois H Albares
Maisha U Gillian
Darci E Paprocki
Alejandro J Royster
Mujtaba X Perin
Greenwood M Poquette
Wickens S Rulapaugh
Cody X Ferencz
Alejandro X Morasca
Mujtaba J Gaucho
Arvin A Maclead
Juan F Amigon
Aruna V Venere
Ashley F Gillian
Misaki Z Garufi
James P Rulapaugh
Leon T Nestle
Smith N Vocelka
Faith O Sergi
Murillo C Stockham
Jennifer E Rim
Francesco N Perin
Faith Z Schemmer
Wickens X Stenseth
Kadeem T Figeroa
Silvio Q Briddick
Jeanfrancois V Maclead
Octavia O Saylors
Cody E Bowley
Munro J Butt
Chavez G Nicka
Ashley Y Briddick
Wickens N Tollner
Morrow B Bolognia
Ivar Y Schemmer
Clifford L Inouye
Darci T Campain
Antonio R Kusko
Mujtaba O Gaucho
Aruna U Caudy
Jefferson M Marrier
Morrow M Rim
Aika G Iturbide
Aika H Foller
Rodrigues T Rulapaugh
Francesco G Ruta
Greenwood X Maclead
Johnson N Flosi
IdCountryDate
1000France2024-06-23
1001Italy2024-06-03
1002Australia2024-05-26
1003Australia2024-06-10
1004Argentina2024-06-02
1005France2024-05-30
1006Canada2024-06-07
1007Japan2024-06-23
1008India2024-06-17
1009Spain2024-06-18
1010Brazil2024-06-04
1011Italy2024-05-28
1012Australia2024-05-31
1013Italy2024-06-05
1014France2024-06-05
1015India2024-06-16
1016Australia2024-06-10
1017France2024-06-11
1018United Kingdom2024-06-01
1019Germany2024-06-16
1020France2024-05-31
1021India2024-06-13
1022Australia2024-06-15
1023India2024-06-12
1024Italy2024-06-19
1025Japan2024-06-11
1026Japan2024-06-21
1027Argentina2024-05-28
1028United Kingdom2024-06-08
1029Canada2024-06-14
1030Russia2024-06-08
1031India2024-06-20
1032Argentina2024-06-15
1033United Kingdom2024-05-29
1034Italy2024-06-20
1035Brazil2024-06-23
1036Japan2024-05-31
1037Italy2024-06-15
1038India2024-06-16
1039Germany2024-06-18
1040Australia2024-05-28
1041Japan2024-06-02
1042Germany2024-06-10
1043United Kingdom2024-06-14
1044Canada2024-06-21
1045Spain2024-05-27
1046Australia2024-06-11
1047Japan2024-06-08
1048Brazil2024-06-01
1049Brazil2024-06-13

On-Demand Data

NameIdCountryDate
Jefferson K Kusko1000United Kingdom2024-06-05
Aditya T Iturbide1001France2024-06-15
Darci V Whobrey1002Russia2024-06-23
Mujtaba Z Ruta1003United Kingdom2024-06-04
Kaitlin U Flosi1004Australia2024-06-05
Misaki A Foller1005Russia2024-05-27
Munro B Malet1006Italy2024-06-08
Juan K Caudy1007France2024-06-08
Mayumi S Bowley1008Germany2024-06-20
Octavia X Venere1009Brazil2024-06-21
Juan H Royster1010India2024-06-18
Morrow K Darakjy1011Italy2024-06-04
Kaitlin H Inouye1012Russia2024-06-01
Juan D Ferencz1013Germany2024-05-29
Izzy D Foller1014India2024-06-24
Arvin R Ruta1015Argentina2024-06-23
David R Foller1016Argentina2024-06-24
Izzy A Nicka1017Argentina2024-06-13
Antonio W Tollner1018United Kingdom2024-06-21
James O Waycott1019Germany2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria A BologniaGermanyBernardo Dominic NEGOTIATION
Aditya E ShinkoUnited KingdomStephen Shaw QUALIFIED
David Z WieserBrazilStephen Shaw NEW
Adams O FerenczSpainIoni Bowcher PROPOSAL
Johnson O NestleFranceBernardo Dominic RENEWAL
Francesco Y BologniaArgentinaAnna Fali NEGOTIATION
Mayumi Y DilliardJapanElwin Sharvill QUALIFIED
Chavez C StockhamFranceAnna Fali NEGOTIATION
Greenwood E BologniaUnited KingdomOnyama Limba PROPOSAL
Ashley A PerinUnited KingdomAnna Fali NEW
Arvin D SchemmerAustraliaStephen Shaw QUALIFIED
Nicolas C InouyeBrazilAsiya Javayant RENEWAL
Darci K MacleadJapanXuxue Feng RENEWAL
Rodrigues L AlbaresFranceAmy Elsner RENEWAL
David I RoysterBrazilBernardo Dominic PROPOSAL
Chavez D RoysterCanadaIvan Magalhaes NEW
Mayumi Z MorascaCanadaOnyama Limba QUALIFIED
Aditya G IturbideAustraliaAmy Elsner QUALIFIED
Rodrigues P FigeroaIndiaAsiya Javayant RENEWAL
Leja D InouyeRussiaAsiya Javayant QUALIFIED
Ricardo W FigeroaRussiaStephen Shaw NEW
Sinclair O FlosiItalyStephen Shaw QUALIFIED
James N RulapaughGermanyStephen Shaw NEW
Claire M FigeroaIndiaAmy Elsner NEGOTIATION
Mayumi P PaprockiJapanStephen Shaw QUALIFIED
Aditya G MorascaRussiaAmy Elsner QUALIFIED
Rodrigues R BowleyJapanIoni Bowcher PROPOSAL
Mayumi P RulapaughCanadaAnna Fali QUALIFIED
Maisha B VocelkaIndiaIoni Bowcher QUALIFIED
Octavia F AlbaresRussiaElwin Sharvill NEW
Stacey B BologniaAustraliaIoni Bowcher NEGOTIATION
Clifford P MaletIndiaStephen Shaw RENEWAL
Nicolas Q RutaSpainAmy Elsner QUALIFIED
Emily X PerinFranceOnyama Limba UNQUALIFIED
Aika W PoquetteBrazilAmy Elsner QUALIFIED
Leon L RoysterRussiaIoni Bowcher NEW
James W SlusarskiSpainOnyama Limba NEW
Maisha P SchemmerArgentinaAnna Fali RENEWAL
Faith W CaudyBrazilXuxue Feng RENEWAL
Alejandro J PerinFranceAnna Fali QUALIFIED

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