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
Octavia H OldroydIndiaIoni Bowcher NEGOTIATION
Faith A PoquetteIndiaAsiya Javayant UNQUALIFIED
Izzy F NickaArgentinaXuxue Feng PROPOSAL
Maria G PoquetteItalyIoni Bowcher NEW
Isabel Q SergiBrazilOnyama Limba PROPOSAL
Rodrigues C FollerUnited KingdomAsiya Javayant NEGOTIATION
Stacey D ButtRussiaOnyama Limba QUALIFIED
Costa A MorascaIndiaAmy Elsner QUALIFIED
Emily Z MarrierSpainAnna Fali RENEWAL
Kadeem N SlusarskiArgentinaElwin Sharvill QUALIFIED
Nicolas A FigeroaSpainBernardo Dominic QUALIFIED
Wickens F ShinkoIndiaOnyama Limba QUALIFIED
Clifford G OstroskyArgentinaIvan Magalhaes NEW
Tony O TollnerSpainAmy Elsner QUALIFIED
Aika Q SaylorsItalyAsiya Javayant RENEWAL
Costa C StockhamUnited KingdomIoni Bowcher NEW
Johnson M FlosiBrazilXuxue Feng QUALIFIED
Murillo X MacleadFranceAsiya Javayant RENEWAL
Leja B GarufiFranceIvan Magalhaes PROPOSAL
Maisha I WhobreySpainBernardo Dominic NEGOTIATION
Aditya N SlusarskiCanadaIoni Bowcher QUALIFIED
Kadeem K MaletBrazilAsiya Javayant NEW
Julie Q NestleArgentinaOnyama Limba NEW
David Y IturbideGermanyAmy Elsner UNQUALIFIED
Clifford L SaylorsItalyBernardo Dominic NEGOTIATION
Nicolas L SlusarskiUnited KingdomStephen Shaw RENEWAL
Wickens J SlusarskiRussiaStephen Shaw RENEWAL
Darci M RutaItalyElwin Sharvill UNQUALIFIED
Alejandro X MaletUnited KingdomAsiya Javayant UNQUALIFIED
Johnson M MarrierArgentinaAmy Elsner QUALIFIED
Costa Q OstroskyIndiaBernardo Dominic QUALIFIED
James Q FollerFranceElwin Sharvill RENEWAL
Stacey J RulapaughCanadaAmy Elsner RENEWAL
Aditya L DilliardRussiaAnna Fali UNQUALIFIED
Morrow A MarrierArgentinaOnyama Limba NEW
Faith D AlbaresSpainAsiya Javayant PROPOSAL
Munro W VocelkaSpainAsiya Javayant UNQUALIFIED
Munro E WieserBrazilXuxue Feng UNQUALIFIED
Costa O CampainGermanyIvan Magalhaes NEGOTIATION
Octavia X VenereJapanXuxue Feng NEW
Silvio Y BriddickBrazilElwin Sharvill NEGOTIATION
Rodrigues R IturbideBrazilStephen Shaw NEW
Jones D FigeroaBrazilAsiya Javayant PROPOSAL
Johnson N RoysterArgentinaAsiya Javayant RENEWAL
Faith D MaletItalyXuxue Feng UNQUALIFIED
Ivar O ChuiCanadaAmy Elsner UNQUALIFIED
Mayumi C StockhamSpainXuxue Feng UNQUALIFIED
Juan L FlosiJapanIoni Bowcher NEW
Darci N CampainItalyStephen Shaw NEW
Ashley Z VenereBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
James Z OldroydUnited KingdomAsiya Javayant RENEWAL
Ashley S NestleCanadaBernardo Dominic NEGOTIATION
Jefferson Z PerinItalyXuxue Feng NEW
Wickens J BologniaGermanyAsiya Javayant RENEWAL
Jennifer R RoysterBrazilIvan Magalhaes QUALIFIED
Darci F ButtArgentinaAsiya Javayant RENEWAL
Tony L CaudyRussiaAsiya Javayant NEGOTIATION
Kadeem Z CaldareraJapanAnna Fali QUALIFIED
Jennifer M FigeroaFranceAmy Elsner PROPOSAL
Aruna O WaycottBrazilBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Q OldroydFrance2024-05-27Dorl, James J Esq NEW36Bernardo Dominic
1001Arvin V SchemmerSpain2024-05-27Feltz Printing Service PROPOSAL32Stephen Shaw
1002Maisha T BowleyJapan2024-05-15Printing Dimensions NEW78Ivan Magalhaes
1003Darci S BologniaItaly2024-06-02Feiner Bros NEGOTIATION41Onyama Limba
1004Adams W OldroydFrance2024-05-06Feiner Bros PROPOSAL38Ioni Bowcher
1005Morrow Z GauchoIndia2024-06-02Truhlar And Truhlar Attys RENEWAL94Xuxue Feng
1006Silvio W OstroskySpain2024-05-18Benton, John B Jr NEW63Onyama Limba
1007Aruna W SchemmerItaly2024-05-22Buckley Miller Wright NEGOTIATION16Stephen Shaw
1008Jones X FlosiGermany2024-05-14Chapman, Ross E Esq UNQUALIFIED56Bernardo Dominic
1009Silvio I NickaArgentina2024-05-23Chapman, Ross E Esq NEW6Onyama Limba
1010Isabel R RutaArgentina2024-05-13Morlong Associates PROPOSAL22Asiya Javayant
1011Mayumi G ShinkoJapan2024-05-07Morlong Associates QUALIFIED11Elwin Sharvill
1012Mayumi O RoysterRussia2024-05-31Truhlar And Truhlar Attys NEW19Onyama Limba
1013Deepesh F VenereAustralia2024-05-26King, Christopher A Esq UNQUALIFIED69Amy Elsner
1014Kaitlin J IturbideItaly2024-05-07Rangoni Of Florence NEW65Elwin Sharvill
1015Murillo S ButtCanada2024-05-23Buckley Miller Wright QUALIFIED33Amy Elsner
1016Maria S TollnerBrazil2024-05-15Feltz Printing Service NEGOTIATION94Amy Elsner
1017Ashley Q TollnerJapan2024-05-17Chapman, Ross E Esq PROPOSAL39Bernardo Dominic
1018Nicolas X RulapaughJapan2024-05-26Chanay, Jeffrey A Esq RENEWAL53Bernardo Dominic
1019Sinclair G BowleyRussia2024-05-11Rousseaux, Michael Esq NEGOTIATION96Onyama Limba
1020Faith F CaudyCanada2024-05-16Buckley Miller Wright RENEWAL15Bernardo Dominic
1021Smith P SaylorsIndia2024-05-30Rangoni Of Florence UNQUALIFIED38Onyama Limba
1022Jeanfrancois D RutaCanada2024-05-06Feiner Bros NEGOTIATION41Elwin Sharvill
1023Emily E IturbideArgentina2024-05-08Feltz Printing Service QUALIFIED87Onyama Limba
1024Ricardo A FlosiGermany2024-05-06Chanay, Jeffrey A Esq RENEWAL33Onyama Limba
1025Aditya T GarufiAustralia2024-05-30Feltz Printing Service UNQUALIFIED89Ioni Bowcher
1026Misaki V RoysterBrazil2024-05-06Feltz Printing Service NEW5Anna Fali
1027Johnson P SergiSpain2024-05-10Benton, John B Jr PROPOSAL45Bernardo Dominic
1028Aruna X RimFrance2024-05-15Truhlar And Truhlar Attys NEW37Bernardo Dominic
1029Costa A IturbideCanada2024-05-20Rousseaux, Michael Esq QUALIFIED56Amy Elsner
1030Tony D KuskoBrazil2024-05-05King, Christopher A Esq PROPOSAL53Anna Fali
1031Leon L FerenczIndia2024-05-12Dorl, James J Esq QUALIFIED81Stephen Shaw
1032Munro D GarufiCanada2024-05-04Buckley Miller Wright RENEWAL45Ioni Bowcher
1033Tony Z WhobreyItaly2024-05-19Chemel, James L Cpa PROPOSAL83Amy Elsner
1034Johnson N SchemmerBrazil2024-05-26King, Christopher A Esq UNQUALIFIED51Asiya Javayant
1035Munro Y AlbaresGermany2024-05-10Printing Dimensions UNQUALIFIED22Elwin Sharvill
1036James H GillianIndia2024-05-14Feltz Printing Service QUALIFIED74Xuxue Feng
1037Wickens A VocelkaItaly2024-05-29Feltz Printing Service NEW97Asiya Javayant
1038James N DarakjyBrazil2024-05-14Feiner Bros QUALIFIED25Amy Elsner
1039Octavia Z VenereArgentina2024-05-17Rousseaux, Michael Esq NEW2Asiya Javayant
1040Francesco H WaycottFrance2024-05-18Rousseaux, Michael Esq QUALIFIED67Xuxue Feng
1041Leon O ChuiJapan2024-05-12Commercial Press NEGOTIATION91Ivan Magalhaes
1042Stacey S MorascaBrazil2024-05-05Printing Dimensions NEGOTIATION37Bernardo Dominic
1043Isabel R ButtBrazil2024-05-25Printing Dimensions QUALIFIED66Stephen Shaw
1044Rodrigues J OldroydIndia2024-05-29Feiner Bros NEGOTIATION70Onyama Limba
1045Darci C NickaAustralia2024-05-24Dorl, James J Esq UNQUALIFIED47Elwin Sharvill
1046Adams P StensethIndia2024-05-23Benton, John B Jr UNQUALIFIED9Elwin Sharvill
1047Antonio G ShinkoSpain2024-05-08Dorl, James J Esq PROPOSAL80Elwin Sharvill
1048Clifford S FollerAustralia2024-06-01Commercial Press UNQUALIFIED68Stephen Shaw
1049Greenwood F BriddickRussia2024-05-11Benton, John B Jr RENEWAL49Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mayumi M CampainItalyStephen Shaw NEW
Julie T CaudyFranceXuxue Feng UNQUALIFIED
Juan T ChuiGermanyElwin Sharvill RENEWAL
Kadeem E SchemmerSpainElwin Sharvill QUALIFIED
Darci E NestleUnited KingdomStephen Shaw RENEWAL
Sinclair V TollnerFranceIoni Bowcher NEW
Julie R KuskoJapanXuxue Feng QUALIFIED
Rodrigues M WaycottIndiaElwin Sharvill QUALIFIED
Wickens I FollerUnited KingdomIvan Magalhaes PROPOSAL
Adams K ShinkoArgentinaAmy Elsner NEGOTIATION
Emily X RoysterRussiaStephen Shaw PROPOSAL
Kaitlin Z RoysterGermanyStephen Shaw UNQUALIFIED
Isabel F FerenczAustraliaXuxue Feng QUALIFIED
Aditya H RulapaughRussiaAmy Elsner NEW
Clifford J DarakjyGermanyBernardo Dominic QUALIFIED
Maisha A NickaAustraliaIvan Magalhaes RENEWAL
Claire M BologniaArgentinaIoni Bowcher UNQUALIFIED
Nicolas C FigeroaFranceXuxue Feng PROPOSAL
Octavia E FlosiArgentinaAnna Fali RENEWAL
Antonio H InouyeCanadaOnyama Limba NEW
Juan H OstroskyItalyIoni Bowcher PROPOSAL
Alejandro T ButtCanadaAmy Elsner RENEWAL
Misaki J CaldareraAustraliaAnna Fali QUALIFIED
Smith R TollnerItalyAmy Elsner UNQUALIFIED
Silvio K MaletBrazilIvan Magalhaes NEW
Aika X RimRussiaIoni Bowcher UNQUALIFIED
Isabel W OldroydUnited KingdomOnyama Limba NEGOTIATION
Salvatore O GlickCanadaIoni Bowcher NEW
Greenwood M OldroydGermanyElwin Sharvill RENEWAL
Aika K RimCanadaOnyama Limba UNQUALIFIED
Julie W RimGermanyAsiya Javayant PROPOSAL
David W BologniaJapanXuxue Feng UNQUALIFIED
Jeanfrancois L WhobreyIndiaIvan Magalhaes RENEWAL
Aditya F MacleadFranceXuxue Feng PROPOSAL
Kaitlin T KolmetzAustraliaAnna Fali QUALIFIED
Jones I KolmetzJapanBernardo Dominic RENEWAL
Jeanfrancois P KolmetzGermanyIvan Magalhaes PROPOSAL
Greenwood S ChuiAustraliaIoni Bowcher QUALIFIED
Francesco F WaycottArgentinaElwin Sharvill NEGOTIATION
Leon Z GarufiJapanElwin Sharvill NEGOTIATION
Cody F RulapaughSpainStephen Shaw NEGOTIATION
Adams Q TollnerBrazilIvan Magalhaes RENEWAL
Kaitlin Q StensethGermanyAsiya Javayant NEGOTIATION
Jones R WaycottItalyBernardo Dominic UNQUALIFIED
Antonio N MorascaIndiaIoni Bowcher QUALIFIED
Jeanfrancois L MaletArgentinaAnna Fali RENEWAL
Ricardo J AmigonSpainIoni Bowcher RENEWAL
Emily H ShinkoJapanStephen Shaw NEW
Wickens D MaletItalyAsiya Javayant QUALIFIED
Ivar N GauchoItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Wickens T Bowley
Jefferson A Bowley
David S Royster
Juan Y Tollner
Morrow S Saylors
Wickens W Ferencz
Maria C Caldarera
Leja V Kolmetz
Johnson P Venere
Misaki H Kolmetz
Ivar L Perin
Aruna R Garufi
Murillo D Inouye
Salvatore Z Caudy
Deepesh P Bolognia
Ivar O Tollner
Clifford F Schemmer
David N Briddick
Maisha G Wieser
Julie P Dilliard
Sinclair Y Ferencz
Munro U Iturbide
Leja U Nestle
Tony H Slusarski
Nicolas C Kusko
Stacey P Briddick
Alejandro W Inouye
Octavia K Vocelka
Jeanfrancois X Stenseth
Morrow E Shinko
Ashley Z Tollner
Adams E Morasca
Sinclair B Caudy
Maisha X Figeroa
Ashley Z Chui
Jennifer M Marrier
Aditya X Figeroa
Costa J Bowley
Arvin P Nicka
Maria Z Malet
Leon Y Ruta
Julie L Paprocki
Juan X Maclead
Stacey Q Bowley
Jones D Dilliard
Deepesh B Maclead
Claire E Flosi
David E Slusarski
Emily L Dilliard
Munro A Stenseth
IdCountryDate
1000Canada2024-05-08
1001Argentina2024-05-31
1002Australia2024-05-09
1003Italy2024-05-23
1004Russia2024-05-08
1005Germany2024-05-14
1006Spain2024-05-23
1007Italy2024-06-02
1008Argentina2024-05-21
1009Spain2024-05-18
1010United Kingdom2024-05-17
1011France2024-05-14
1012Russia2024-05-27
1013United Kingdom2024-06-01
1014Japan2024-05-06
1015Japan2024-05-20
1016Spain2024-05-09
1017Italy2024-05-30
1018United Kingdom2024-06-01
1019United Kingdom2024-05-24
1020Japan2024-05-13
1021France2024-05-08
1022Russia2024-05-05
1023Australia2024-05-24
1024Argentina2024-05-13
1025Germany2024-05-29
1026United Kingdom2024-05-25
1027United Kingdom2024-05-09
1028Russia2024-05-11
1029Canada2024-05-09
1030Canada2024-05-24
1031Italy2024-06-01
1032Japan2024-05-26
1033France2024-05-19
1034Spain2024-05-29
1035Germany2024-05-31
1036Australia2024-05-19
1037Spain2024-05-14
1038Italy2024-05-24
1039Japan2024-05-25
1040Argentina2024-05-23
1041Canada2024-05-29
1042Spain2024-05-11
1043Germany2024-05-31
1044Russia2024-05-28
1045United Kingdom2024-05-24
1046United Kingdom2024-05-04
1047Germany2024-05-22
1048Spain2024-05-13
1049India2024-05-27

On-Demand Data

NameIdCountryDate
Aditya D Malet1000Japan2024-05-04
Misaki Z Marrier1001Australia2024-05-24
Cody N Rulapaugh1002Germany2024-05-14
Aika B Shinko1003United Kingdom2024-05-11
Octavia O Dilliard1004Canada2024-05-30
Chavez Z Glick1005Russia2024-05-28
Claire U Amigon1006Germany2024-05-06
Cody X Saylors1007Russia2024-05-27
Claire V Ruta1008Canada2024-05-16
Ricardo K Nestle1009Spain2024-05-06
Greenwood I Darakjy1010Italy2024-05-14
Cody D Nestle1011United Kingdom2024-05-23
Nicolas U Vocelka1012Japan2024-05-26
James Z Kolmetz1013India2024-05-19
Antonio R Saylors1014Brazil2024-05-30
Isabel N Poquette1015Canada2024-05-19
Munro Q Rim1016Australia2024-05-31
Julie K Rulapaugh1017Australia2024-05-22
Rodrigues B Caldarera1018Germany2024-05-08
Julie T Briddick1019Germany2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B WieserArgentinaIvan Magalhaes PROPOSAL
Antonio O SergiJapanStephen Shaw RENEWAL
Isabel S GlickUnited KingdomAmy Elsner UNQUALIFIED
Octavia Q MaletFranceStephen Shaw RENEWAL
Jefferson V GillianAustraliaBernardo Dominic RENEWAL
Clifford N ShinkoFranceElwin Sharvill NEGOTIATION
James C MaletFranceBernardo Dominic NEGOTIATION
Greenwood I RulapaughJapanIvan Magalhaes RENEWAL
Francesco D SergiRussiaIvan Magalhaes RENEWAL
Misaki Z PaprockiBrazilAnna Fali NEW
Salvatore B RulapaughFranceIvan Magalhaes RENEWAL
Costa N KuskoJapanAmy Elsner RENEWAL
Mayumi U StensethArgentinaElwin Sharvill NEW
Isabel R GlickAustraliaIvan Magalhaes UNQUALIFIED
James U MarrierCanadaBernardo Dominic NEGOTIATION
Nicolas W PerinJapanBernardo Dominic QUALIFIED
Isabel D KolmetzFranceOnyama Limba PROPOSAL
Leon N KuskoSpainIvan Magalhaes NEW
Ricardo Q BriddickFranceIvan Magalhaes UNQUALIFIED
Rodrigues L GauchoCanadaAsiya Javayant PROPOSAL
Maria E NestleJapanXuxue Feng QUALIFIED
Salvatore U InouyeFranceIoni Bowcher NEGOTIATION
Arvin Q AmigonFranceIvan Magalhaes RENEWAL
James H SchemmerIndiaOnyama Limba QUALIFIED
Aruna G InouyeUnited KingdomElwin Sharvill NEGOTIATION
Johnson Q MaletGermanyAnna Fali PROPOSAL
Chavez S DilliardBrazilIvan Magalhaes QUALIFIED
Misaki G StockhamItalyElwin Sharvill RENEWAL
Claire Q IturbideArgentinaStephen Shaw NEGOTIATION
Octavia K OstroskyAustraliaAnna Fali PROPOSAL
Alejandro R IturbideBrazilAsiya Javayant UNQUALIFIED
Octavia B SergiSpainAnna Fali UNQUALIFIED
Francesco N MaletAustraliaAsiya Javayant UNQUALIFIED
Izzy C RoysterSpainBernardo Dominic QUALIFIED
Salvatore T CampainSpainElwin Sharvill NEW
Munro E IturbideRussiaAmy Elsner NEW
Costa G PerinBrazilAsiya Javayant PROPOSAL
Leja X MacleadBrazilOnyama Limba UNQUALIFIED
Maisha U FlosiArgentinaAsiya Javayant PROPOSAL
Rodrigues T SaylorsIndiaBernardo Dominic 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>