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
Mayumi H CampainIndiaIvan Magalhaes PROPOSAL
David V BriddickJapanBernardo Dominic PROPOSAL
Julie F ChuiRussiaOnyama Limba NEW
Leja E DilliardCanadaElwin Sharvill NEGOTIATION
Claire N FerenczUnited KingdomAnna Fali PROPOSAL
Aika J RoysterUnited KingdomOnyama Limba QUALIFIED
Tony O SergiFranceAmy Elsner NEGOTIATION
Sinclair E BowleyUnited KingdomAnna Fali PROPOSAL
James N GauchoJapanElwin Sharvill NEW
Mayumi X GillianCanadaIoni Bowcher RENEWAL
Leja K AlbaresGermanyAmy Elsner RENEWAL
Mujtaba R MorascaJapanElwin Sharvill RENEWAL
Mayumi H MaletUnited KingdomAmy Elsner RENEWAL
Stacey S GillianJapanAmy Elsner PROPOSAL
Kaitlin J RoysterAustraliaAmy Elsner UNQUALIFIED
Aruna O RoysterFranceAmy Elsner RENEWAL
Munro H GillianRussiaAmy Elsner NEGOTIATION
Costa Q DilliardBrazilBernardo Dominic RENEWAL
Tony R WieserBrazilStephen Shaw NEGOTIATION
Aditya G CaudyCanadaXuxue Feng UNQUALIFIED
Claire Z CaldareraJapanAsiya Javayant NEGOTIATION
Sinclair L KuskoCanadaIvan Magalhaes QUALIFIED
Misaki F SaylorsItalyXuxue Feng PROPOSAL
Francesco S CampainBrazilAmy Elsner PROPOSAL
David Y BriddickSpainXuxue Feng NEGOTIATION
Silvio A ChuiBrazilIoni Bowcher UNQUALIFIED
Jones I FlosiRussiaBernardo Dominic QUALIFIED
Smith P FollerCanadaStephen Shaw NEW
Jones Y WaycottRussiaAnna Fali RENEWAL
Mujtaba J SaylorsCanadaIvan Magalhaes RENEWAL
Adams V BologniaJapanAsiya Javayant UNQUALIFIED
Cody H CampainFranceIoni Bowcher NEGOTIATION
Francesco H DarakjyFranceAsiya Javayant NEW
Leon D DoeAustraliaAsiya Javayant RENEWAL
Faith F MorascaCanadaAnna Fali PROPOSAL
Aika G ShinkoItalyBernardo Dominic UNQUALIFIED
Stacey W PaprockiBrazilIoni Bowcher NEGOTIATION
Silvio L AlbaresSpainElwin Sharvill NEW
Jennifer V StensethUnited KingdomBernardo Dominic PROPOSAL
Maisha N FerenczGermanyXuxue Feng NEW
Silvio O NestleRussiaAnna Fali NEGOTIATION
Emily X BriddickRussiaXuxue Feng NEW
Rodrigues D CaldareraBrazilAnna Fali PROPOSAL
Jeanfrancois F FlosiGermanyElwin Sharvill UNQUALIFIED
Cody Q VocelkaRussiaIoni Bowcher PROPOSAL
Francesco Z CaldareraFranceAsiya Javayant QUALIFIED
Adams J FollerRussiaAnna Fali NEGOTIATION
Tony A ButtBrazilAsiya Javayant RENEWAL
Johnson O TollnerSpainStephen Shaw QUALIFIED
Nicolas K WaycottCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Z MarrierFranceAmy Elsner NEW
Alejandro G BologniaIndiaElwin Sharvill NEW
Mayumi Q KuskoJapanElwin Sharvill QUALIFIED
Murillo C RimRussiaAmy Elsner PROPOSAL
Maria Z VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Ricardo M DarakjyGermanyBernardo Dominic PROPOSAL
Aika V KolmetzItalyStephen Shaw UNQUALIFIED
Faith F RimGermanyAsiya Javayant RENEWAL
Mujtaba R BologniaCanadaStephen Shaw PROPOSAL
David G NestleIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith R InouyeIndia2024-05-25Buckley Miller Wright PROPOSAL22Anna Fali
1001Arvin B VenereBrazil2024-06-19King, Christopher A Esq QUALIFIED68Onyama Limba
1002Jones W InouyeBrazil2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED39Onyama Limba
1003Munro G KolmetzJapan2024-06-11Morlong Associates QUALIFIED65Ioni Bowcher
1004Murillo R FerenczGermany2024-06-16Buckley Miller Wright RENEWAL69Stephen Shaw
1005Emily X StockhamJapan2024-06-19Chemel, James L Cpa NEGOTIATION75Stephen Shaw
1006Salvatore H InouyeFrance2024-06-01Rousseaux, Michael Esq NEW83Onyama Limba
1007Tony C NestleJapan2024-05-26King, Christopher A Esq QUALIFIED82Ioni Bowcher
1008Costa Y KuskoItaly2024-06-03Rousseaux, Michael Esq UNQUALIFIED22Asiya Javayant
1009Deepesh O FigeroaItaly2024-06-14Feltz Printing Service RENEWAL68Amy Elsner
1010Ashley T GillianCanada2024-05-23Chanay, Jeffrey A Esq NEGOTIATION39Stephen Shaw
1011Nicolas M FollerArgentina2024-05-26Rangoni Of Florence NEW45Elwin Sharvill
1012Maisha F ButtSpain2024-06-17Feiner Bros QUALIFIED12Elwin Sharvill
1013Johnson I WaycottGermany2024-05-26Chapman, Ross E Esq QUALIFIED32Asiya Javayant
1014Leja Y InouyeFrance2024-06-07Dorl, James J Esq RENEWAL20Anna Fali
1015Wickens E ButtAustralia2024-06-21Rousseaux, Michael Esq NEGOTIATION15Amy Elsner
1016Francesco Y DarakjyUnited Kingdom2024-06-06Benton, John B Jr QUALIFIED44Anna Fali
1017Arvin H SaylorsCanada2024-06-09Benton, John B Jr UNQUALIFIED11Ivan Magalhaes
1018Leja S GillianSpain2024-06-05Benton, John B Jr PROPOSAL55Onyama Limba
1019Isabel Z WieserUnited Kingdom2024-06-03Chanay, Jeffrey A Esq QUALIFIED88Xuxue Feng
1020Antonio C RulapaughUnited Kingdom2024-06-20Printing Dimensions RENEWAL84Ivan Magalhaes
1021Kaitlin B RutaCanada2024-06-08Printing Dimensions PROPOSAL98Ioni Bowcher
1022Octavia Y SergiSpain2024-05-29Chemel, James L Cpa NEW36Amy Elsner
1023Chavez R MacleadIndia2024-06-02Commercial Press NEGOTIATION53Elwin Sharvill
1024Arvin G BologniaAustralia2024-05-28Dorl, James J Esq RENEWAL21Xuxue Feng
1025Misaki T MaletItaly2024-05-29Dorl, James J Esq NEW69Asiya Javayant
1026Juan T SlusarskiItaly2024-06-07Chanay, Jeffrey A Esq PROPOSAL11Onyama Limba
1027Munro T GarufiItaly2024-05-27Chapman, Ross E Esq RENEWAL9Bernardo Dominic
1028Smith X MarrierSpain2024-06-21Feltz Printing Service QUALIFIED1Elwin Sharvill
1029Octavia X WaycottCanada2024-06-07Chapman, Ross E Esq RENEWAL75Bernardo Dominic
1030Stacey F DilliardItaly2024-06-11Rangoni Of Florence NEGOTIATION96Ivan Magalhaes
1031Sinclair N ButtArgentina2024-05-25Buckley Miller Wright QUALIFIED56Ivan Magalhaes
1032Ricardo M OldroydArgentina2024-06-01Morlong Associates UNQUALIFIED61Amy Elsner
1033Leja T WieserRussia2024-06-06King, Christopher A Esq UNQUALIFIED88Amy Elsner
1034Juan A OstroskyUnited Kingdom2024-05-26Morlong Associates PROPOSAL42Asiya Javayant
1035Munro E SchemmerArgentina2024-06-04Chapman, Ross E Esq QUALIFIED90Amy Elsner
1036Costa R FerenczJapan2024-06-16Rousseaux, Michael Esq PROPOSAL99Xuxue Feng
1037Octavia S RimIndia2024-05-26Rousseaux, Michael Esq NEGOTIATION9Xuxue Feng
1038Faith Q BowleyFrance2024-05-25Feltz Printing Service QUALIFIED4Elwin Sharvill
1039Tony D GlickRussia2024-05-24Feiner Bros RENEWAL69Stephen Shaw
1040Emily D BowleyArgentina2024-06-07Morlong Associates QUALIFIED20Stephen Shaw
1041Faith W VenereUnited Kingdom2024-06-06Feltz Printing Service UNQUALIFIED1Onyama Limba
1042Ricardo K OldroydFrance2024-06-12Rousseaux, Michael Esq UNQUALIFIED31Xuxue Feng
1043Juan H DarakjyItaly2024-05-31Truhlar And Truhlar Attys NEGOTIATION96Onyama Limba
1044Aditya I SchemmerArgentina2024-05-30Commercial Press QUALIFIED60Onyama Limba
1045Aruna D PoquetteGermany2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED43Xuxue Feng
1046Mayumi N KuskoArgentina2024-06-08Chanay, Jeffrey A Esq NEW47Asiya Javayant
1047Isabel C BriddickUnited Kingdom2024-06-08Chemel, James L Cpa UNQUALIFIED35Amy Elsner
1048Greenwood Z PaprockiGermany2024-05-27Truhlar And Truhlar Attys QUALIFIED16Amy Elsner
1049Chavez U GarufiIndia2024-05-30Dorl, James J Esq NEW34Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio U MacleadUnited KingdomIoni Bowcher PROPOSAL
Maria X SergiCanadaIvan Magalhaes NEW
Kaitlin B OldroydFranceBernardo Dominic RENEWAL
Misaki A SaylorsItalyElwin Sharvill QUALIFIED
Sinclair I FlosiSpainOnyama Limba PROPOSAL
Claire H DoeRussiaOnyama Limba NEGOTIATION
Salvatore V RulapaughCanadaIvan Magalhaes UNQUALIFIED
Francesco A GillianBrazilElwin Sharvill NEGOTIATION
Ricardo G FlosiArgentinaAmy Elsner NEW
Ivar V RoysterSpainAmy Elsner NEGOTIATION
Deepesh J WieserIndiaAmy Elsner NEGOTIATION
Clifford L RimUnited KingdomAsiya Javayant NEW
Salvatore H RoysterAustraliaBernardo Dominic QUALIFIED
Costa J RutaJapanOnyama Limba PROPOSAL
Smith A WieserGermanyStephen Shaw UNQUALIFIED
Aika P DilliardAustraliaAmy Elsner NEW
Jones N BriddickCanadaIvan Magalhaes RENEWAL
Mujtaba F VocelkaSpainBernardo Dominic PROPOSAL
Antonio J ChuiJapanStephen Shaw NEGOTIATION
Leon R NestleItalyAnna Fali QUALIFIED
Ivar R RulapaughJapanStephen Shaw RENEWAL
Julie A FerenczBrazilAmy Elsner PROPOSAL
Misaki P ButtItalyBernardo Dominic PROPOSAL
Ricardo T MaletUnited KingdomElwin Sharvill NEGOTIATION
Stacey Q CaldareraAustraliaAmy Elsner UNQUALIFIED
Johnson I MacleadFranceStephen Shaw NEGOTIATION
Ivar E FerenczGermanyAnna Fali NEGOTIATION
Jennifer G PerinRussiaIvan Magalhaes UNQUALIFIED
Emily Y SaylorsCanadaAsiya Javayant QUALIFIED
Costa R FollerAustraliaXuxue Feng NEGOTIATION
Faith X SergiGermanyBernardo Dominic UNQUALIFIED
Leja D DoeGermanyAsiya Javayant QUALIFIED
Clifford Q RoysterJapanIoni Bowcher NEW
Izzy B TollnerBrazilAnna Fali NEGOTIATION
Johnson O WhobreyArgentinaIvan Magalhaes QUALIFIED
Johnson I MarrierIndiaAnna Fali QUALIFIED
Isabel Q SaylorsArgentinaXuxue Feng NEW
David E StockhamIndiaBernardo Dominic QUALIFIED
Nicolas S GauchoArgentinaAsiya Javayant UNQUALIFIED
Maria D ChuiRussiaXuxue Feng UNQUALIFIED
Maria J SaylorsFranceXuxue Feng QUALIFIED
Arvin A IturbideIndiaAnna Fali UNQUALIFIED
Jefferson B AlbaresBrazilStephen Shaw UNQUALIFIED
Jones A GarufiGermanyAsiya Javayant RENEWAL
Munro J SchemmerSpainBernardo Dominic PROPOSAL
Munro I FigeroaSpainElwin Sharvill PROPOSAL
Aika P GillianAustraliaAnna Fali QUALIFIED
Emily F SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Mujtaba N ShinkoGermanyBernardo Dominic PROPOSAL
Claire T PaprockiJapanIvan Magalhaes NEW
Frozen Columns
Name
Chavez H Gaucho
Jeanfrancois F Vocelka
Kadeem J Schemmer
Tony X Gillian
Faith T Foller
Cody X Slusarski
Aditya F Doe
Ivar V Perin
Kadeem U Doe
Jennifer Z Gaucho
Kaitlin B Nestle
Rodrigues C Paprocki
Sinclair P Bowley
Izzy J Chui
Isabel O Bowley
Aditya E Oldroyd
Chavez Q Poquette
Salvatore M Ruta
Jefferson Z Slusarski
Darci F Oldroyd
Kaitlin J Gaucho
Darci D Paprocki
Faith E Oldroyd
Mujtaba H Paprocki
Maisha K Foller
Kadeem B Caldarera
Isabel I Oldroyd
Izzy G Caldarera
Chavez D Wieser
Claire F Iturbide
Johnson X Nicka
Maria J Bolognia
Julie R Ruta
Aika L Perin
Maria H Briddick
Claire C Glick
Misaki Q Ferencz
Nicolas D Bowley
Jennifer X Iturbide
Costa J Glick
Ivar Q Ostrosky
Greenwood D Venere
Jones X Stockham
Leon I Rulapaugh
Cody I Tollner
Smith X Iturbide
Leja L Kusko
David T Saylors
Deepesh K Whobrey
Salvatore A Rim
IdCountryDate
1000Spain2024-06-06
1001Canada2024-06-10
1002Australia2024-06-06
1003United Kingdom2024-06-05
1004Japan2024-06-06
1005Spain2024-05-28
1006Italy2024-06-06
1007Canada2024-06-20
1008Canada2024-05-24
1009Italy2024-06-10
1010Italy2024-06-19
1011Spain2024-05-29
1012Australia2024-06-16
1013France2024-06-14
1014Spain2024-06-12
1015Italy2024-06-17
1016Canada2024-05-28
1017Japan2024-06-20
1018France2024-06-03
1019India2024-06-11
1020Italy2024-06-14
1021Italy2024-06-01
1022Germany2024-06-11
1023France2024-06-08
1024Germany2024-06-19
1025United Kingdom2024-06-13
1026Australia2024-06-16
1027Argentina2024-06-13
1028Russia2024-06-19
1029Spain2024-06-11
1030Japan2024-06-09
1031Australia2024-05-30
1032France2024-06-15
1033Russia2024-06-10
1034United Kingdom2024-06-19
1035Brazil2024-06-08
1036Brazil2024-05-28
1037Italy2024-06-20
1038Canada2024-06-04
1039Russia2024-05-31
1040Argentina2024-05-28
1041Brazil2024-06-13
1042Canada2024-06-15
1043France2024-06-14
1044Canada2024-06-05
1045France2024-06-21
1046India2024-06-07
1047Brazil2024-06-12
1048Argentina2024-06-10
1049Italy2024-05-29

On-Demand Data

NameIdCountryDate
Johnson W Malet1000Canada2024-05-27
Leja L Royster1001Italy2024-06-17
Antonio T Figeroa1002Argentina2024-06-03
Ashley I Briddick1003Germany2024-06-07
Greenwood A Dilliard1004Japan2024-05-28
Nicolas Z Ruta1005Brazil2024-05-28
Adams O Nestle1006Russia2024-06-01
Claire H Amigon1007India2024-05-23
Juan J Schemmer1008Russia2024-06-07
Kaitlin F Amigon1009Russia2024-06-17
Tony Y Figeroa1010Russia2024-06-20
Claire S Venere1011Germany2024-06-12
Kaitlin Y Schemmer1012Germany2024-06-19
Juan V Rim1013United Kingdom2024-05-28
Deepesh O Schemmer1014United Kingdom2024-06-05
Jeanfrancois Z Figeroa1015Germany2024-05-29
Cody H Nestle1016Italy2024-06-01
Murillo A Foller1017Russia2024-06-18
Jefferson I Ferencz1018Canada2024-06-11
Cody T Ruta1019Spain2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow H MorascaArgentinaAsiya Javayant PROPOSAL
Murillo R RimArgentinaOnyama Limba RENEWAL
Izzy L AlbaresArgentinaBernardo Dominic PROPOSAL
Claire I KuskoGermanyAmy Elsner RENEWAL
Clifford C RimCanadaAnna Fali RENEWAL
Smith G IturbideArgentinaIoni Bowcher RENEWAL
Aika C ShinkoUnited KingdomAmy Elsner RENEWAL
Silvio X DilliardAustraliaIvan Magalhaes RENEWAL
Jeanfrancois P ShinkoCanadaAnna Fali PROPOSAL
Smith A BowleyFranceAnna Fali PROPOSAL
David J SaylorsSpainIoni Bowcher NEW
Nicolas W WaycottUnited KingdomAsiya Javayant NEW
Morrow Q NickaUnited KingdomAsiya Javayant RENEWAL
Kadeem F RulapaughJapanXuxue Feng RENEWAL
Kaitlin U ChuiJapanIoni Bowcher RENEWAL
Stacey W ButtFranceIvan Magalhaes RENEWAL
Aditya G PaprockiSpainBernardo Dominic NEGOTIATION
Munro N MaletFranceStephen Shaw UNQUALIFIED
Adams F WaycottCanadaAsiya Javayant UNQUALIFIED
Johnson G OldroydIndiaAnna Fali PROPOSAL
Leon G MarrierGermanyBernardo Dominic UNQUALIFIED
Morrow M StensethItalyXuxue Feng NEW
Munro O GarufiJapanBernardo Dominic PROPOSAL
James M GlickBrazilElwin Sharvill UNQUALIFIED
Adams U SlusarskiIndiaAmy Elsner UNQUALIFIED
Greenwood J PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Maria C RoysterRussiaAnna Fali PROPOSAL
Clifford G PaprockiJapanIvan Magalhaes NEW
Faith O BologniaGermanyAsiya Javayant UNQUALIFIED
Sinclair L PerinBrazilBernardo Dominic NEW
Morrow K CampainFranceIvan Magalhaes NEGOTIATION
Chavez W KolmetzGermanyOnyama Limba RENEWAL
Kadeem K OstroskyUnited KingdomAnna Fali QUALIFIED
Ricardo V SlusarskiGermanyIvan Magalhaes PROPOSAL
Julie V RutaItalyElwin Sharvill NEGOTIATION
Morrow A InouyeGermanyXuxue Feng NEW
Jeanfrancois R SaylorsFranceOnyama Limba UNQUALIFIED
Jones J TollnerAustraliaAmy Elsner NEW
Julie M FerenczCanadaStephen Shaw NEGOTIATION
Darci F RulapaughBrazilStephen Shaw 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>