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
Jeanfrancois S ShinkoItalyAnna Fali RENEWAL
Octavia V FlosiRussiaElwin Sharvill PROPOSAL
Clifford E MacleadCanadaStephen Shaw RENEWAL
Arvin K GillianUnited KingdomElwin Sharvill RENEWAL
Arvin T FerenczFranceXuxue Feng NEGOTIATION
James J IturbideUnited KingdomAnna Fali QUALIFIED
Munro X TollnerItalyOnyama Limba NEW
Kaitlin Q StockhamFranceIvan Magalhaes PROPOSAL
Murillo Q VocelkaRussiaAsiya Javayant NEGOTIATION
Aika N TollnerUnited KingdomOnyama Limba NEGOTIATION
Izzy Y GlickIndiaAsiya Javayant QUALIFIED
Aruna R StensethArgentinaElwin Sharvill QUALIFIED
Antonio A BologniaAustraliaAsiya Javayant PROPOSAL
Stacey V DilliardSpainStephen Shaw UNQUALIFIED
Tony Y VenereAustraliaIoni Bowcher NEW
Chavez S ButtBrazilElwin Sharvill UNQUALIFIED
Ivar E FlosiJapanOnyama Limba QUALIFIED
Rodrigues Z ChuiCanadaIvan Magalhaes NEW
Mujtaba R SergiRussiaStephen Shaw UNQUALIFIED
Francesco Q NestleAustraliaAnna Fali NEGOTIATION
Julie H SchemmerAustraliaOnyama Limba UNQUALIFIED
Leja L SchemmerJapanElwin Sharvill PROPOSAL
Leja T FigeroaIndiaElwin Sharvill UNQUALIFIED
Octavia C RimBrazilAsiya Javayant NEW
Smith Z CaldareraBrazilElwin Sharvill QUALIFIED
Leja Q RulapaughFranceOnyama Limba NEW
Johnson R BriddickFranceStephen Shaw PROPOSAL
Jefferson C RulapaughGermanyBernardo Dominic NEGOTIATION
Maria B KolmetzArgentinaAnna Fali PROPOSAL
Greenwood P AmigonFranceBernardo Dominic NEW
Izzy Y RoysterFranceIoni Bowcher UNQUALIFIED
Leon A MorascaBrazilIoni Bowcher NEW
Jones V AlbaresItalyIoni Bowcher PROPOSAL
Alejandro S BowleyGermanyIvan Magalhaes NEGOTIATION
Adams R MarrierArgentinaAsiya Javayant NEW
Ricardo Q BowleySpainXuxue Feng UNQUALIFIED
Julie B InouyeCanadaBernardo Dominic PROPOSAL
Ricardo Q FlosiJapanAnna Fali QUALIFIED
Greenwood R OstroskyJapanStephen Shaw NEW
Maisha J RimIndiaIvan Magalhaes NEGOTIATION
Arvin Z NestleAustraliaIoni Bowcher UNQUALIFIED
David L KuskoArgentinaBernardo Dominic PROPOSAL
Clifford P MaletGermanyAmy Elsner UNQUALIFIED
Jeanfrancois Y ChuiIndiaAnna Fali PROPOSAL
Morrow Q MaletCanadaAmy Elsner PROPOSAL
Arvin U PaprockiBrazilOnyama Limba PROPOSAL
Stacey X SchemmerRussiaIoni Bowcher RENEWAL
Julie K RutaSpainAmy Elsner NEW
Izzy H BriddickSpainAnna Fali RENEWAL
Misaki M PoquetteCanadaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson P CaudySpainStephen Shaw PROPOSAL
Mayumi F MacleadIndiaAnna Fali UNQUALIFIED
Murillo Q ShinkoCanadaAmy Elsner PROPOSAL
Ashley K OstroskyCanadaAsiya Javayant PROPOSAL
Munro A WhobreyItalyAsiya Javayant RENEWAL
Rodrigues F BriddickSpainIvan Magalhaes PROPOSAL
Ricardo Y OstroskyAustraliaIvan Magalhaes NEGOTIATION
Jones N GillianRussiaAmy Elsner UNQUALIFIED
Claire Q GauchoCanadaIvan Magalhaes PROPOSAL
Ashley V KolmetzFranceAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh O WhobreyGermany2024-06-10Benton, John B Jr NEGOTIATION16Stephen Shaw
1001Kadeem H ShinkoAustralia2024-06-16King, Christopher A Esq PROPOSAL35Anna Fali
1002Arvin D CaudyUnited Kingdom2024-06-18Chemel, James L Cpa PROPOSAL63Bernardo Dominic
1003Maria H KuskoBrazil2024-06-04Morlong Associates NEGOTIATION18Amy Elsner
1004Murillo S BriddickArgentina2024-06-02King, Christopher A Esq PROPOSAL82Amy Elsner
1005Aditya L NestleCanada2024-05-29Feltz Printing Service UNQUALIFIED11Bernardo Dominic
1006Murillo I MaletItaly2024-05-28Chemel, James L Cpa UNQUALIFIED44Bernardo Dominic
1007Tony E RutaRussia2024-06-13Printing Dimensions UNQUALIFIED61Ivan Magalhaes
1008Stacey Y RimGermany2024-05-21Truhlar And Truhlar Attys PROPOSAL60Anna Fali
1009Kaitlin I DarakjyBrazil2024-05-30Commercial Press QUALIFIED0Anna Fali
1010Misaki N CampainIndia2024-05-29Feltz Printing Service NEW71Ivan Magalhaes
1011Jones E CaldareraRussia2024-05-24Feiner Bros UNQUALIFIED36Ivan Magalhaes
1012Julie D PerinCanada2024-06-09Rousseaux, Michael Esq NEW78Anna Fali
1013Deepesh A RutaAustralia2024-06-06Buckley Miller Wright PROPOSAL43Asiya Javayant
1014Francesco U MarrierCanada2024-06-16King, Christopher A Esq UNQUALIFIED80Stephen Shaw
1015Chavez Y GauchoCanada2024-06-13Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1016Leon I DilliardRussia2024-06-06Chapman, Ross E Esq PROPOSAL17Bernardo Dominic
1017David L CaudySpain2024-06-16Chapman, Ross E Esq NEGOTIATION6Onyama Limba
1018Francesco Y VenereItaly2024-05-29Printing Dimensions UNQUALIFIED69Bernardo Dominic
1019Munro A WieserBrazil2024-05-23Rousseaux, Michael Esq NEGOTIATION33Asiya Javayant
1020James E AlbaresIndia2024-06-14Morlong Associates PROPOSAL94Ioni Bowcher
1021Emily P PaprockiJapan2024-06-05Feiner Bros RENEWAL48Bernardo Dominic
1022Ricardo O NestleAustralia2024-05-25Benton, John B Jr NEW1Stephen Shaw
1023Faith T PaprockiIndia2024-05-29Buckley Miller Wright NEW79Asiya Javayant
1024Alejandro Z NestleUnited Kingdom2024-05-31Feltz Printing Service NEW64Asiya Javayant
1025Tony N StockhamIndia2024-06-16Feltz Printing Service NEW66Anna Fali
1026Misaki P ButtArgentina2024-05-20Benton, John B Jr NEW4Ioni Bowcher
1027Kaitlin Y VenereAustralia2024-06-10Morlong Associates RENEWAL71Ioni Bowcher
1028Ivar U RulapaughRussia2024-05-24Chanay, Jeffrey A Esq PROPOSAL15Asiya Javayant
1029Aika Y OstroskySpain2024-05-26King, Christopher A Esq QUALIFIED26Bernardo Dominic
1030Clifford A SaylorsFrance2024-06-13Feltz Printing Service PROPOSAL43Xuxue Feng
1031Adams Z OstroskyGermany2024-05-31Benton, John B Jr UNQUALIFIED43Xuxue Feng
1032Cody Q NickaJapan2024-06-13Buckley Miller Wright PROPOSAL1Anna Fali
1033David S PerinFrance2024-05-29Rousseaux, Michael Esq NEW28Anna Fali
1034Arvin X OldroydGermany2024-06-16Chapman, Ross E Esq UNQUALIFIED68Ioni Bowcher
1035Darci S SaylorsUnited Kingdom2024-06-07King, Christopher A Esq NEW61Amy Elsner
1036Mayumi L DarakjyItaly2024-05-28Truhlar And Truhlar Attys NEGOTIATION60Amy Elsner
1037Wickens Y IturbideGermany2024-06-10Feltz Printing Service QUALIFIED31Anna Fali
1038Jefferson A BriddickIndia2024-06-03Rousseaux, Michael Esq UNQUALIFIED78Stephen Shaw
1039Maria Q GarufiRussia2024-06-08Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
1040Juan A WieserArgentina2024-06-13Benton, John B Jr UNQUALIFIED4Ivan Magalhaes
1041Nicolas D GauchoRussia2024-05-22Rangoni Of Florence PROPOSAL28Asiya Javayant
1042Mayumi G NestleBrazil2024-06-02King, Christopher A Esq PROPOSAL33Amy Elsner
1043Tony Q CaldareraCanada2024-06-14Truhlar And Truhlar Attys NEGOTIATION56Stephen Shaw
1044Jennifer X ButtRussia2024-06-16Rangoni Of Florence NEGOTIATION85Anna Fali
1045Salvatore B NestleCanada2024-06-06Feiner Bros RENEWAL74Amy Elsner
1046Stacey P MaletJapan2024-05-31Truhlar And Truhlar Attys RENEWAL86Xuxue Feng
1047Deepesh W StensethItaly2024-05-24Dorl, James J Esq NEW4Amy Elsner
1048Jennifer W RulapaughUnited Kingdom2024-05-23Chapman, Ross E Esq NEW93Asiya Javayant
1049Mujtaba D RutaArgentina2024-05-27Truhlar And Truhlar Attys NEGOTIATION68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Juan T BowleyJapanIvan Magalhaes UNQUALIFIED
Ashley S CaudyItalyStephen Shaw PROPOSAL
Silvio V PoquetteGermanyStephen Shaw RENEWAL
Sinclair N WaycottIndiaElwin Sharvill UNQUALIFIED
Deepesh L MaletJapanXuxue Feng QUALIFIED
Morrow C RoysterUnited KingdomAsiya Javayant NEGOTIATION
Jones Q SlusarskiIndiaIoni Bowcher NEW
Munro I PerinAustraliaStephen Shaw QUALIFIED
Salvatore C KuskoItalyIvan Magalhaes PROPOSAL
Cody Q PaprockiUnited KingdomAsiya Javayant RENEWAL
Alejandro S AlbaresRussiaAnna Fali PROPOSAL
Morrow J FlosiAustraliaStephen Shaw UNQUALIFIED
Ashley L MarrierSpainAnna Fali UNQUALIFIED
Munro C FigeroaJapanIvan Magalhaes PROPOSAL
Salvatore Y NickaItalyAmy Elsner NEGOTIATION
Greenwood C InouyeRussiaAnna Fali NEGOTIATION
James R SaylorsArgentinaElwin Sharvill NEW
Alejandro T PaprockiItalyBernardo Dominic NEGOTIATION
Wickens E GillianIndiaElwin Sharvill NEGOTIATION
Leja H GauchoItalyAsiya Javayant NEW
Alejandro V OstroskyJapanAnna Fali UNQUALIFIED
Chavez O ButtIndiaAmy Elsner PROPOSAL
Tony S InouyeIndiaIoni Bowcher RENEWAL
Arvin J MorascaArgentinaAsiya Javayant UNQUALIFIED
Leja I NestleItalyStephen Shaw UNQUALIFIED
Antonio B SergiGermanyElwin Sharvill QUALIFIED
Cody L RutaSpainAsiya Javayant NEW
Leja E VenereBrazilOnyama Limba QUALIFIED
Greenwood T CaldareraGermanyStephen Shaw PROPOSAL
Claire G GlickAustraliaElwin Sharvill PROPOSAL
Isabel I BologniaFranceXuxue Feng QUALIFIED
Mujtaba G StockhamBrazilStephen Shaw PROPOSAL
Jones J MorascaCanadaIvan Magalhaes NEW
Claire F MaletIndiaElwin Sharvill NEGOTIATION
Alejandro M KolmetzCanadaAmy Elsner PROPOSAL
Munro E GlickJapanAmy Elsner UNQUALIFIED
Stacey Q FerenczUnited KingdomAmy Elsner QUALIFIED
Salvatore T InouyeFranceOnyama Limba NEGOTIATION
Jeanfrancois T WieserBrazilAmy Elsner PROPOSAL
James N NestleArgentinaAmy Elsner PROPOSAL
James G NestleArgentinaBernardo Dominic NEW
Leja P WhobreyFranceBernardo Dominic UNQUALIFIED
Jeanfrancois M WhobreyIndiaIoni Bowcher QUALIFIED
Jennifer T CampainGermanyAnna Fali RENEWAL
Emily I RutaArgentinaElwin Sharvill NEGOTIATION
James H FollerIndiaIvan Magalhaes NEGOTIATION
Silvio W GarufiJapanIvan Magalhaes QUALIFIED
Morrow C BologniaGermanyStephen Shaw NEW
Ashley P AmigonIndiaIoni Bowcher NEGOTIATION
Mujtaba Q SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Leja U Poquette
Octavia G Morasca
Arvin L Stockham
Faith D Doe
Ashley K Iturbide
Faith W Caudy
Darci S Foller
Murillo T Paprocki
Kaitlin D Tollner
Mujtaba L Slusarski
Costa T Malet
Jones J Stenseth
Arvin M Morasca
Alejandro R Malet
Ivar W Gaucho
Maisha Y Nicka
Silvio J Butt
Jeanfrancois T Perin
Emily S Bolognia
Cody O Vocelka
Julie H Figeroa
Jeanfrancois L Figeroa
Ricardo R Inouye
Antonio A Amigon
Stacey G Morasca
Stacey S Saylors
Jefferson Y Caudy
Maisha A Nestle
Silvio U Butt
Antonio S Butt
Jennifer R Wieser
Johnson H Doe
Aika F Saylors
Leon G Marrier
Salvatore Q Chui
Munro Z Malet
Faith D Iturbide
Francesco R Garufi
Maisha S Amigon
Arvin D Nestle
Leja N Garufi
Silvio Y Gillian
Emily E Waycott
Sinclair G Rulapaugh
Antonio C Malet
Claire O Ferencz
Stacey Y Kusko
Leja A Campain
Murillo G Schemmer
Tony Z Albares
IdCountryDate
1000Brazil2024-06-17
1001Brazil2024-06-07
1002Australia2024-05-29
1003Spain2024-06-14
1004Russia2024-06-01
1005United Kingdom2024-06-11
1006Italy2024-06-03
1007United Kingdom2024-06-09
1008Germany2024-06-14
1009Argentina2024-06-18
1010Italy2024-06-11
1011Italy2024-06-04
1012France2024-05-20
1013Argentina2024-06-06
1014India2024-06-17
1015Italy2024-06-13
1016Italy2024-05-30
1017India2024-06-13
1018Argentina2024-06-13
1019Russia2024-05-20
1020Japan2024-06-15
1021Brazil2024-06-18
1022Italy2024-06-05
1023Spain2024-05-28
1024Germany2024-06-16
1025United Kingdom2024-06-14
1026United Kingdom2024-06-08
1027Russia2024-06-14
1028Spain2024-05-31
1029Australia2024-06-15
1030Argentina2024-05-20
1031United Kingdom2024-06-08
1032Canada2024-06-15
1033Japan2024-06-15
1034Japan2024-06-16
1035Germany2024-05-31
1036Argentina2024-06-16
1037Japan2024-06-01
1038India2024-06-18
1039Brazil2024-06-10
1040Russia2024-06-07
1041Australia2024-06-06
1042Germany2024-05-23
1043Argentina2024-06-01
1044Brazil2024-05-31
1045Italy2024-06-01
1046Australia2024-06-03
1047Australia2024-06-03
1048India2024-06-12
1049Russia2024-06-04

On-Demand Data

NameIdCountryDate
Wickens H Amigon1000Brazil2024-05-25
Morrow J Venere1001Italy2024-06-15
Francesco I Venere1002Brazil2024-06-08
Wickens Y Malet1003Germany2024-06-13
Jefferson T Gillian1004Spain2024-05-25
Cody A Amigon1005Argentina2024-06-11
Jeanfrancois R Nicka1006Brazil2024-06-18
Jennifer N Campain1007Argentina2024-05-25
Kadeem M Inouye1008Brazil2024-06-07
Izzy V Albares1009Argentina2024-06-01
Emily Q Campain1010Spain2024-06-16
Nicolas V Chui1011Japan2024-05-21
Cody J Nicka1012Australia2024-05-27
Wickens V Glick1013United Kingdom2024-06-05
Ashley J Butt1014Brazil2024-06-03
Sinclair P Chui1015India2024-05-26
Ivar V Oldroyd1016Australia2024-06-16
Murillo J Stockham1017India2024-06-06
Smith T Ferencz1018Japan2024-05-26
Stacey O Venere1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues U GauchoFranceAmy Elsner NEW
Antonio K PoquetteUnited KingdomAsiya Javayant NEW
Sinclair A AmigonIndiaAnna Fali UNQUALIFIED
Jeanfrancois C GlickCanadaIvan Magalhaes NEGOTIATION
Misaki S FerenczUnited KingdomAnna Fali PROPOSAL
Leja J GauchoFranceAsiya Javayant UNQUALIFIED
Mayumi G NestleSpainOnyama Limba UNQUALIFIED
Alejandro F AmigonItalyStephen Shaw QUALIFIED
Arvin O VenereIndiaAsiya Javayant QUALIFIED
Maisha Q KolmetzSpainElwin Sharvill PROPOSAL
Sinclair N RulapaughJapanStephen Shaw QUALIFIED
Chavez L OldroydArgentinaStephen Shaw UNQUALIFIED
Sinclair T DilliardItalyElwin Sharvill UNQUALIFIED
James K VenereCanadaStephen Shaw PROPOSAL
Aruna V DarakjyCanadaIvan Magalhaes RENEWAL
Juan X BologniaItalyAsiya Javayant RENEWAL
Mayumi W GarufiBrazilAnna Fali NEGOTIATION
Deepesh M CampainArgentinaAsiya Javayant UNQUALIFIED
Clifford C BriddickFranceElwin Sharvill NEW
Jones L DilliardBrazilAnna Fali QUALIFIED
Greenwood H GillianIndiaIvan Magalhaes NEW
Arvin N StensethSpainXuxue Feng QUALIFIED
Mayumi L SchemmerAustraliaAnna Fali NEW
Cody G OldroydAustraliaAnna Fali NEGOTIATION
Octavia V FollerGermanyIvan Magalhaes UNQUALIFIED
Aditya M SlusarskiIndiaIoni Bowcher UNQUALIFIED
Isabel Y GauchoSpainAmy Elsner NEW
Mujtaba T RoysterAustraliaOnyama Limba NEW
Isabel I FerenczJapanIoni Bowcher NEW
Costa O MaletIndiaBernardo Dominic PROPOSAL
Izzy R VocelkaCanadaIvan Magalhaes RENEWAL
Johnson L ButtGermanyAnna Fali QUALIFIED
Izzy E VocelkaGermanyAmy Elsner NEW
Octavia V OstroskyAustraliaElwin Sharvill QUALIFIED
David P MaletIndiaXuxue Feng NEW
Costa H MarrierAustraliaIoni Bowcher NEGOTIATION
Costa Q PaprockiRussiaAsiya Javayant NEGOTIATION
Greenwood F FerenczCanadaIoni Bowcher UNQUALIFIED
Isabel J SlusarskiIndiaIoni Bowcher PROPOSAL
James B VocelkaArgentinaIoni Bowcher NEW

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