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
Jennifer A PoquetteAustraliaAmy Elsner NEGOTIATION
Rodrigues S PoquetteItalyIvan Magalhaes PROPOSAL
Stacey A OstroskyItalyAsiya Javayant NEGOTIATION
Juan R WhobreyBrazilIvan Magalhaes NEW
Nicolas E MarrierRussiaIoni Bowcher PROPOSAL
Jefferson Y OldroydBrazilAmy Elsner NEW
Arvin Q MacleadCanadaXuxue Feng UNQUALIFIED
Tony X RutaCanadaIoni Bowcher RENEWAL
Leon Q KuskoItalyIoni Bowcher NEGOTIATION
Ricardo B DilliardItalyStephen Shaw NEGOTIATION
Tony C WhobreyIndiaAmy Elsner NEGOTIATION
Isabel W RulapaughAustraliaAnna Fali QUALIFIED
Jones T RimJapanElwin Sharvill RENEWAL
Arvin A PaprockiCanadaIvan Magalhaes NEW
David Q RoysterCanadaOnyama Limba UNQUALIFIED
Julie F MacleadIndiaElwin Sharvill NEGOTIATION
Kaitlin G GillianJapanStephen Shaw QUALIFIED
Kaitlin A PoquetteArgentinaAmy Elsner PROPOSAL
Aika J BowleySpainAnna Fali NEW
Juan I MacleadCanadaAsiya Javayant NEGOTIATION
Francesco F FollerBrazilAmy Elsner RENEWAL
Munro S BowleyBrazilElwin Sharvill QUALIFIED
Kadeem N GlickGermanyOnyama Limba NEW
Juan U WhobreyGermanyIoni Bowcher UNQUALIFIED
Murillo F KolmetzIndiaStephen Shaw PROPOSAL
Maria S RoysterArgentinaAsiya Javayant NEW
Costa O PoquetteFranceIvan Magalhaes UNQUALIFIED
Antonio D DoeRussiaXuxue Feng NEGOTIATION
Rodrigues V PoquetteAustraliaAsiya Javayant UNQUALIFIED
Munro Q SergiBrazilAnna Fali NEW
Francesco U DilliardUnited KingdomBernardo Dominic NEW
Alejandro L InouyeBrazilOnyama Limba UNQUALIFIED
Mayumi F RutaAustraliaAsiya Javayant PROPOSAL
Aditya M ButtAustraliaElwin Sharvill NEW
Chavez O GauchoBrazilIoni Bowcher UNQUALIFIED
Faith Z PoquetteFranceAnna Fali NEW
Kaitlin X RoysterSpainAnna Fali NEGOTIATION
Mayumi E GauchoFranceAsiya Javayant PROPOSAL
Sinclair C SchemmerSpainAnna Fali RENEWAL
Aika F PerinAustraliaAnna Fali UNQUALIFIED
Nicolas N RoysterArgentinaStephen Shaw RENEWAL
Ivar L GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi B SergiJapanIvan Magalhaes QUALIFIED
Ricardo F KolmetzJapanOnyama Limba NEGOTIATION
Izzy M DoeRussiaStephen Shaw NEW
Smith O VocelkaItalyAsiya Javayant NEW
Emily G SlusarskiUnited KingdomIvan Magalhaes NEW
Clifford D MaletGermanyOnyama Limba QUALIFIED
James M FerenczSpainStephen Shaw RENEWAL
Octavia O GarufiSpainOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Darci L WaycottGermanyAnna Fali QUALIFIED
Sinclair S KuskoRussiaAnna Fali UNQUALIFIED
Ashley A RimArgentinaAmy Elsner UNQUALIFIED
Faith O FerenczRussiaAnna Fali PROPOSAL
Maria W SaylorsJapanElwin Sharvill PROPOSAL
Maisha Q ChuiFranceAmy Elsner NEGOTIATION
Aditya W RulapaughSpainOnyama Limba NEGOTIATION
Leja B FlosiJapanOnyama Limba RENEWAL
Alejandro L SaylorsAustraliaAmy Elsner PROPOSAL
Aika U AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie S BriddickSpain2024-06-03Truhlar And Truhlar Attys QUALIFIED57Ivan Magalhaes
1001Kaitlin G NestleBrazil2024-05-25Rangoni Of Florence NEGOTIATION72Bernardo Dominic
1002Deepesh T AlbaresItaly2024-06-20Commercial Press NEW55Xuxue Feng
1003Darci E RimUnited Kingdom2024-05-30Rousseaux, Michael Esq NEGOTIATION8Anna Fali
1004Nicolas J CampainArgentina2024-05-30Commercial Press NEW1Ioni Bowcher
1005Aruna R CampainJapan2024-05-28Dorl, James J Esq QUALIFIED2Ivan Magalhaes
1006Smith U PerinArgentina2024-05-26Dorl, James J Esq UNQUALIFIED51Anna Fali
1007Greenwood E BowleyUnited Kingdom2024-06-07Commercial Press QUALIFIED33Ioni Bowcher
1008Mujtaba X GlickJapan2024-06-17Chapman, Ross E Esq NEW62Ioni Bowcher
1009Antonio O MaletFrance2024-06-12Chanay, Jeffrey A Esq NEGOTIATION54Elwin Sharvill
1010James U DarakjyItaly2024-05-31Feiner Bros NEGOTIATION7Elwin Sharvill
1011Mayumi B BriddickFrance2024-06-08Chemel, James L Cpa PROPOSAL83Bernardo Dominic
1012Murillo B BowleyBrazil2024-06-14Rangoni Of Florence PROPOSAL69Ioni Bowcher
1013Faith S CaudySpain2024-05-27Feltz Printing Service QUALIFIED73Bernardo Dominic
1014Ricardo T CaudyUnited Kingdom2024-06-17King, Christopher A Esq QUALIFIED47Elwin Sharvill
1015Cody G GlickGermany2024-06-21Commercial Press NEGOTIATION74Anna Fali
1016Tony K PaprockiAustralia2024-06-07Dorl, James J Esq UNQUALIFIED21Onyama Limba
1017Adams B OstroskyBrazil2024-06-18Chapman, Ross E Esq NEW71Amy Elsner
1018Ricardo Q SchemmerRussia2024-06-16Rangoni Of Florence RENEWAL87Anna Fali
1019Wickens I ShinkoCanada2024-05-28Rangoni Of Florence UNQUALIFIED41Ioni Bowcher
1020Aika V CaudyGermany2024-06-22Chapman, Ross E Esq NEW83Asiya Javayant
1021Nicolas J AmigonIndia2024-06-15Printing Dimensions NEW68Ivan Magalhaes
1022Costa I NickaFrance2024-06-21Chanay, Jeffrey A Esq PROPOSAL55Ivan Magalhaes
1023Rodrigues I DarakjyItaly2024-06-02Printing Dimensions UNQUALIFIED95Xuxue Feng
1024Greenwood G WaycottFrance2024-06-16Printing Dimensions NEW29Xuxue Feng
1025Murillo L IturbideIndia2024-06-07Feltz Printing Service PROPOSAL63Anna Fali
1026Isabel G MaletJapan2024-05-30Rousseaux, Michael Esq NEW2Stephen Shaw
1027Smith K PaprockiJapan2024-06-05Truhlar And Truhlar Attys UNQUALIFIED13Ivan Magalhaes
1028Antonio G ChuiGermany2024-06-19Rangoni Of Florence PROPOSAL11Onyama Limba
1029Maisha V AmigonRussia2024-06-07Morlong Associates QUALIFIED51Ioni Bowcher
1030Cody I WaycottJapan2024-05-31Truhlar And Truhlar Attys NEW11Amy Elsner
1031Chavez X ChuiUnited Kingdom2024-06-17Morlong Associates QUALIFIED83Ioni Bowcher
1032Deepesh E CaudyRussia2024-05-24Buckley Miller Wright NEW14Elwin Sharvill
1033Ashley K FlosiArgentina2024-05-27Feltz Printing Service QUALIFIED76Xuxue Feng
1034Faith O PaprockiIndia2024-06-07Buckley Miller Wright NEW26Elwin Sharvill
1035Aditya U CaldareraGermany2024-06-15Buckley Miller Wright RENEWAL92Stephen Shaw
1036Aika J PoquetteSpain2024-06-05Truhlar And Truhlar Attys NEW58Asiya Javayant
1037Silvio Z FlosiFrance2024-06-10Rousseaux, Michael Esq QUALIFIED25Asiya Javayant
1038Murillo T MacleadRussia2024-06-05Rangoni Of Florence NEW77Elwin Sharvill
1039Leja B WhobreyBrazil2024-06-04Printing Dimensions RENEWAL97Ioni Bowcher
1040Antonio Y BriddickArgentina2024-05-31Rangoni Of Florence RENEWAL70Ioni Bowcher
1041Mujtaba J BowleyRussia2024-05-29Buckley Miller Wright RENEWAL61Ivan Magalhaes
1042Ivar C TollnerCanada2024-06-19Commercial Press NEGOTIATION89Bernardo Dominic
1043Tony P DoeJapan2024-06-08Rousseaux, Michael Esq PROPOSAL77Ivan Magalhaes
1044Smith X ChuiFrance2024-06-18Rangoni Of Florence UNQUALIFIED39Ivan Magalhaes
1045Jefferson H BriddickGermany2024-05-26Rousseaux, Michael Esq UNQUALIFIED82Onyama Limba
1046Smith U DarakjyUnited Kingdom2024-05-27Commercial Press NEGOTIATION99Xuxue Feng
1047Julie U SlusarskiFrance2024-06-20Benton, John B Jr RENEWAL84Xuxue Feng
1048Juan I OldroydCanada2024-06-05King, Christopher A Esq QUALIFIED13Asiya Javayant
1049Maria T DilliardAustralia2024-06-22Commercial Press QUALIFIED92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika X OstroskyArgentinaElwin Sharvill UNQUALIFIED
Tony N StockhamJapanAsiya Javayant NEGOTIATION
Salvatore G ButtJapanAmy Elsner UNQUALIFIED
Kaitlin J RutaFranceIvan Magalhaes NEW
Kadeem G PoquetteRussiaElwin Sharvill UNQUALIFIED
Ricardo R OstroskyFranceStephen Shaw RENEWAL
Juan N StensethAustraliaAnna Fali NEGOTIATION
Arvin O MaletGermanyElwin Sharvill UNQUALIFIED
Alejandro M MaletUnited KingdomOnyama Limba NEGOTIATION
Ricardo O PoquetteAustraliaAmy Elsner PROPOSAL
Cody E FigeroaSpainAnna Fali NEW
Cody K VocelkaIndiaIoni Bowcher NEW
Kadeem P PaprockiGermanyIoni Bowcher RENEWAL
Kadeem E WaycottSpainOnyama Limba NEGOTIATION
Tony A NestleBrazilBernardo Dominic UNQUALIFIED
Greenwood D GarufiCanadaIvan Magalhaes UNQUALIFIED
Stacey W DarakjyJapanElwin Sharvill PROPOSAL
Jeanfrancois X TollnerAustraliaAsiya Javayant UNQUALIFIED
Murillo T WieserCanadaOnyama Limba PROPOSAL
Jennifer L GarufiAustraliaElwin Sharvill QUALIFIED
Faith S GauchoUnited KingdomXuxue Feng NEW
Jones X MaletAustraliaAnna Fali UNQUALIFIED
Mujtaba E VenereRussiaBernardo Dominic NEW
Antonio W BriddickSpainElwin Sharvill UNQUALIFIED
Isabel O ButtRussiaIoni Bowcher NEW
Emily I KolmetzBrazilOnyama Limba QUALIFIED
Juan N ButtSpainAnna Fali UNQUALIFIED
Aika N OstroskySpainBernardo Dominic RENEWAL
Sinclair W MaletBrazilIoni Bowcher QUALIFIED
Greenwood F MorascaGermanyStephen Shaw PROPOSAL
Murillo F BologniaUnited KingdomIvan Magalhaes QUALIFIED
Kadeem V PaprockiSpainBernardo Dominic PROPOSAL
Morrow G SaylorsItalyAsiya Javayant NEGOTIATION
Greenwood V DoeArgentinaAnna Fali NEGOTIATION
Leon M SchemmerGermanyElwin Sharvill NEGOTIATION
Mayumi D DarakjyBrazilAsiya Javayant NEGOTIATION
Antonio P RutaRussiaElwin Sharvill NEW
James O PoquetteJapanAsiya Javayant PROPOSAL
Claire P ChuiUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois J GauchoFranceOnyama Limba PROPOSAL
Wickens F PerinCanadaIvan Magalhaes UNQUALIFIED
Claire Q RutaSpainBernardo Dominic NEGOTIATION
Jennifer H MaletBrazilOnyama Limba QUALIFIED
Nicolas S NickaSpainIvan Magalhaes UNQUALIFIED
Arvin P FerenczBrazilIoni Bowcher QUALIFIED
Wickens G TollnerRussiaStephen Shaw RENEWAL
Jennifer O RulapaughJapanXuxue Feng NEW
Aika L MarrierArgentinaStephen Shaw PROPOSAL
Johnson F GauchoArgentinaIoni Bowcher RENEWAL
Chavez O ShinkoRussiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
David S Chui
David Y Rim
Ashley D Stenseth
Murillo F Malet
Chavez G Campain
Greenwood W Ferencz
Costa Y Kolmetz
Silvio W Caudy
Murillo U Nestle
Emily B Vocelka
Ashley G Flosi
Smith I Butt
Nicolas A Schemmer
Murillo W Maclead
Jefferson Q Bolognia
Salvatore R Campain
Murillo L Kolmetz
Mujtaba G Sergi
Jennifer V Rulapaugh
Misaki N Flosi
Wickens P Campain
Juan I Kolmetz
Cody R Malet
Maria W Venere
Antonio U Oldroyd
Antonio E Darakjy
Leon N Schemmer
Jones V Stockham
Stacey C Briddick
Claire V Royster
Antonio R Darakjy
Leon R Venere
Cody I Dilliard
Nicolas N Caldarera
Rodrigues S Doe
Jennifer T Malet
Deepesh M Vocelka
Chavez E Waycott
Claire L Oldroyd
Murillo P Ostrosky
Tony X Garufi
Chavez X Dilliard
Silvio A Garufi
Ivar K Nestle
Juan W Ferencz
Nicolas K Stockham
Maria D Rim
Johnson W Kolmetz
Chavez V Butt
Jones I Whobrey
IdCountryDate
1000Russia2024-06-20
1001Brazil2024-05-24
1002Argentina2024-06-06
1003Canada2024-05-26
1004Brazil2024-06-06
1005Argentina2024-05-28
1006Germany2024-06-12
1007Argentina2024-06-01
1008Australia2024-06-10
1009Germany2024-06-02
1010Spain2024-06-17
1011France2024-06-13
1012United Kingdom2024-06-19
1013Canada2024-05-31
1014France2024-06-04
1015India2024-06-21
1016United Kingdom2024-06-11
1017Germany2024-06-04
1018Italy2024-06-18
1019Italy2024-06-14
1020Japan2024-06-07
1021Germany2024-06-10
1022Italy2024-06-19
1023France2024-06-15
1024Brazil2024-06-11
1025Spain2024-05-26
1026Argentina2024-05-29
1027Brazil2024-06-16
1028Australia2024-06-05
1029United Kingdom2024-06-16
1030Germany2024-06-02
1031Australia2024-05-30
1032Germany2024-06-19
1033Argentina2024-06-01
1034India2024-06-12
1035Italy2024-06-16
1036India2024-06-20
1037Brazil2024-05-28
1038India2024-06-15
1039India2024-06-02
1040United Kingdom2024-06-14
1041Germany2024-06-22
1042United Kingdom2024-05-24
1043Russia2024-06-16
1044India2024-05-26
1045Argentina2024-06-05
1046Germany2024-06-03
1047Brazil2024-06-03
1048Brazil2024-05-26
1049Russia2024-06-20

On-Demand Data

NameIdCountryDate
Salvatore P Briddick1000Australia2024-06-22
Aika N Gaucho1001Brazil2024-05-30
Aika J Figeroa1002United Kingdom2024-05-24
Silvio C Maclead1003Spain2024-05-29
Alejandro B Nicka1004Italy2024-06-14
Antonio R Malet1005France2024-06-06
Munro S Tollner1006Argentina2024-05-28
David Z Garufi1007Canada2024-06-06
Ashley R Inouye1008United Kingdom2024-06-03
Aika O Glick1009Japan2024-05-31
Aruna B Malet1010Russia2024-06-12
Aditya R Flosi1011Japan2024-05-28
Morrow N Amigon1012United Kingdom2024-06-10
Aditya O Dilliard1013Brazil2024-05-30
Aruna I Whobrey1014Germany2024-05-31
Deepesh D Royster1015Italy2024-05-25
Jefferson F Ostrosky1016Australia2024-06-11
Leon Z Waycott1017Japan2024-06-04
Izzy L Darakjy1018Russia2024-06-09
Leja H Marrier1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood H VocelkaGermanyAnna Fali PROPOSAL
Arvin M FlosiGermanyAsiya Javayant NEW
Jefferson P AlbaresFranceStephen Shaw NEGOTIATION
Nicolas Y GlickCanadaAnna Fali NEGOTIATION
Mayumi H KolmetzUnited KingdomIvan Magalhaes NEW
Mayumi R DilliardSpainElwin Sharvill NEGOTIATION
Arvin H MaletAustraliaStephen Shaw PROPOSAL
Jones B KolmetzIndiaIoni Bowcher QUALIFIED
James B MacleadUnited KingdomOnyama Limba RENEWAL
Greenwood E ChuiItalyAmy Elsner NEGOTIATION
Emily W InouyeJapanStephen Shaw QUALIFIED
Clifford B NestleCanadaBernardo Dominic PROPOSAL
Leon F NickaAustraliaStephen Shaw RENEWAL
Isabel N KolmetzBrazilIoni Bowcher NEW
Clifford U FollerItalyAnna Fali UNQUALIFIED
Munro A PaprockiCanadaXuxue Feng NEGOTIATION
Kadeem O DilliardJapanAnna Fali PROPOSAL
Octavia N CaudyBrazilAmy Elsner RENEWAL
Francesco T FollerFranceBernardo Dominic NEGOTIATION
Rodrigues Z BriddickBrazilAsiya Javayant QUALIFIED
Chavez J DilliardItalyIoni Bowcher UNQUALIFIED
Aditya R KuskoRussiaStephen Shaw NEW
Munro V WhobreyFranceOnyama Limba PROPOSAL
Salvatore B AmigonCanadaIoni Bowcher RENEWAL
Izzy H WieserRussiaStephen Shaw QUALIFIED
Leja W PaprockiFranceIoni Bowcher NEGOTIATION
Ricardo W MaletSpainAmy Elsner UNQUALIFIED
Aika S PoquetteSpainBernardo Dominic NEGOTIATION
Sinclair Y PerinItalyBernardo Dominic QUALIFIED
Aditya O WieserRussiaOnyama Limba QUALIFIED
James V NestleJapanAmy Elsner RENEWAL
Francesco O OldroydItalyAmy Elsner QUALIFIED
Aditya T SchemmerCanadaXuxue Feng NEW
Jeanfrancois F CaldareraJapanIoni Bowcher QUALIFIED
Maisha T FollerArgentinaIoni Bowcher NEGOTIATION
Chavez C MaletFranceElwin Sharvill UNQUALIFIED
Jennifer D OstroskyAustraliaAnna Fali RENEWAL
Wickens B InouyeGermanyAmy Elsner UNQUALIFIED
Aika U ShinkoJapanIvan Magalhaes NEGOTIATION
Faith A PerinGermanyAmy 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>