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
Wickens O GillianRussiaAmy Elsner UNQUALIFIED
Izzy D NestleRussiaXuxue Feng PROPOSAL
Aditya V ChuiRussiaElwin Sharvill QUALIFIED
Maisha W PerinBrazilIoni Bowcher QUALIFIED
Jones I MarrierFranceStephen Shaw NEW
Salvatore F PerinIndiaStephen Shaw NEW
Munro I ShinkoFranceAnna Fali NEW
Claire U BriddickArgentinaOnyama Limba RENEWAL
Mayumi C BriddickIndiaAmy Elsner UNQUALIFIED
Leja R VocelkaUnited KingdomIvan Magalhaes NEW
Juan C FollerCanadaElwin Sharvill RENEWAL
Morrow C PoquetteBrazilOnyama Limba UNQUALIFIED
Izzy W OldroydIndiaBernardo Dominic UNQUALIFIED
Isabel W IturbideRussiaAnna Fali NEW
Aditya B VocelkaSpainXuxue Feng NEGOTIATION
Darci C VenereBrazilAmy Elsner PROPOSAL
Greenwood F NickaItalyAmy Elsner RENEWAL
Leon Q SchemmerGermanyAnna Fali RENEWAL
Arvin T DoeSpainIvan Magalhaes RENEWAL
Darci L DoeSpainXuxue Feng NEGOTIATION
Jefferson C MacleadGermanyOnyama Limba NEGOTIATION
Nicolas D NestleItalyAmy Elsner PROPOSAL
Aika Y SaylorsCanadaBernardo Dominic RENEWAL
Silvio Z WieserItalyAnna Fali NEGOTIATION
Kaitlin G RulapaughArgentinaOnyama Limba RENEWAL
Nicolas J VocelkaFranceIoni Bowcher NEGOTIATION
Salvatore I RulapaughIndiaBernardo Dominic NEW
Silvio W StensethSpainBernardo Dominic PROPOSAL
Ricardo T AlbaresBrazilIvan Magalhaes QUALIFIED
Maria Z GarufiJapanIoni Bowcher PROPOSAL
Aika Q FollerFranceElwin Sharvill QUALIFIED
Aruna K AlbaresGermanyAmy Elsner NEGOTIATION
Izzy T BowleySpainBernardo Dominic QUALIFIED
Antonio W PoquetteJapanAmy Elsner PROPOSAL
David I NickaItalyIoni Bowcher QUALIFIED
Costa I SergiJapanStephen Shaw QUALIFIED
Jefferson U MacleadRussiaOnyama Limba QUALIFIED
Maria Z NickaGermanyXuxue Feng PROPOSAL
Claire R BowleyAustraliaAsiya Javayant QUALIFIED
Sinclair N MorascaCanadaStephen Shaw NEGOTIATION
Emily W PoquetteArgentinaIoni Bowcher NEGOTIATION
Kadeem T DarakjyItalyIoni Bowcher QUALIFIED
Jennifer I NickaItalyBernardo Dominic QUALIFIED
Jones G PoquetteGermanyIoni Bowcher NEGOTIATION
Jeanfrancois Y RimCanadaAnna Fali QUALIFIED
Munro K PaprockiCanadaIoni Bowcher RENEWAL
Isabel N GauchoBrazilAmy Elsner QUALIFIED
Mujtaba W KuskoCanadaIvan Magalhaes RENEWAL
Juan C RulapaughCanadaAnna Fali NEW
David H StensethJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro U AmigonCanadaIoni Bowcher NEGOTIATION
Juan C BowleyItalyIvan Magalhaes PROPOSAL
Claire K PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Clifford S MorascaGermanyIoni Bowcher RENEWAL
Emily K DilliardIndiaElwin Sharvill UNQUALIFIED
Morrow W OldroydGermanyAsiya Javayant UNQUALIFIED
Leja P BriddickAustraliaAmy Elsner RENEWAL
Darci C InouyeRussiaBernardo Dominic NEW
Cody W PerinJapanStephen Shaw PROPOSAL
Kaitlin D GillianRussiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro U DilliardJapan2024-06-06Rangoni Of Florence QUALIFIED1Elwin Sharvill
1001Maria B SergiAustralia2024-06-20Buckley Miller Wright NEGOTIATION39Xuxue Feng
1002Jones L NestleItaly2024-06-03Chemel, James L Cpa QUALIFIED44Elwin Sharvill
1003Costa L GillianGermany2024-06-21Dorl, James J Esq PROPOSAL91Asiya Javayant
1004Julie K VocelkaIndia2024-06-10Benton, John B Jr UNQUALIFIED72Amy Elsner
1005Leja E RulapaughAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED74Stephen Shaw
1006Maisha R IturbideIndia2024-06-05Printing Dimensions NEW88Asiya Javayant
1007Jeanfrancois Q MacleadCanada2024-06-19Rousseaux, Michael Esq PROPOSAL19Xuxue Feng
1008Jeanfrancois S InouyeBrazil2024-06-07Chanay, Jeffrey A Esq NEGOTIATION76Bernardo Dominic
1009Kaitlin U NickaAustralia2024-06-10King, Christopher A Esq NEW18Amy Elsner
1010Sinclair Z PerinArgentina2024-05-28Chemel, James L Cpa QUALIFIED75Amy Elsner
1011Kadeem R MarrierAustralia2024-06-07Morlong Associates QUALIFIED76Xuxue Feng
1012Izzy O VocelkaArgentina2024-06-01Benton, John B Jr QUALIFIED28Ivan Magalhaes
1013Kadeem M BowleyRussia2024-06-11Commercial Press NEW4Asiya Javayant
1014Munro L SlusarskiUnited Kingdom2024-06-14Morlong Associates PROPOSAL3Onyama Limba
1015Maisha Z GauchoArgentina2024-06-04Buckley Miller Wright NEGOTIATION21Stephen Shaw
1016Aruna O IturbideBrazil2024-06-12Feiner Bros QUALIFIED36Ioni Bowcher
1017Maisha Z InouyeRussia2024-05-30Rousseaux, Michael Esq PROPOSAL63Amy Elsner
1018Jefferson P RimSpain2024-06-19Buckley Miller Wright QUALIFIED69Ivan Magalhaes
1019Murillo Z BologniaSpain2024-06-11Rousseaux, Michael Esq NEW72Ivan Magalhaes
1020Ashley V DilliardSpain2024-06-20Buckley Miller Wright NEW97Anna Fali
1021Murillo K FollerFrance2024-06-08Truhlar And Truhlar Attys NEW1Ioni Bowcher
1022Murillo B NestleSpain2024-06-12Printing Dimensions NEGOTIATION56Ioni Bowcher
1023Tony A KuskoGermany2024-06-19Chapman, Ross E Esq NEGOTIATION62Ivan Magalhaes
1024Smith B ShinkoSpain2024-06-08Chemel, James L Cpa RENEWAL75Asiya Javayant
1025Juan Y KolmetzBrazil2024-05-26Feltz Printing Service QUALIFIED96Onyama Limba
1026Antonio X KolmetzItaly2024-05-23Printing Dimensions PROPOSAL86Stephen Shaw
1027Clifford C WaycottFrance2024-06-16Buckley Miller Wright UNQUALIFIED25Bernardo Dominic
1028Aika W OstroskyCanada2024-05-27Chanay, Jeffrey A Esq NEGOTIATION37Ivan Magalhaes
1029Murillo T PaprockiUnited Kingdom2024-06-15King, Christopher A Esq UNQUALIFIED49Elwin Sharvill
1030David U FerenczItaly2024-05-23Feltz Printing Service NEGOTIATION83Stephen Shaw
1031Costa I StensethRussia2024-06-06King, Christopher A Esq QUALIFIED63Xuxue Feng
1032Isabel U StensethRussia2024-06-14Feltz Printing Service QUALIFIED10Elwin Sharvill
1033Greenwood B CaldareraGermany2024-06-09Chapman, Ross E Esq RENEWAL92Onyama Limba
1034Sinclair W OstroskyAustralia2024-06-07Feiner Bros RENEWAL4Asiya Javayant
1035Munro V MaletSpain2024-06-07Truhlar And Truhlar Attys RENEWAL38Amy Elsner
1036Jeanfrancois E RoysterBrazil2024-06-07Rangoni Of Florence NEW42Stephen Shaw
1037Aruna W BriddickJapan2024-06-17Chemel, James L Cpa NEW62Xuxue Feng
1038Jennifer N KuskoAustralia2024-06-07Feiner Bros PROPOSAL78Anna Fali
1039Chavez H RutaIndia2024-05-30Morlong Associates QUALIFIED76Onyama Limba
1040Leon G FollerArgentina2024-05-26Chapman, Ross E Esq RENEWAL46Onyama Limba
1041Misaki Q StensethFrance2024-06-10Truhlar And Truhlar Attys UNQUALIFIED17Amy Elsner
1042Arvin C PerinUnited Kingdom2024-06-15Chemel, James L Cpa NEW26Elwin Sharvill
1043Octavia A RulapaughJapan2024-06-01Benton, John B Jr UNQUALIFIED43Anna Fali
1044Nicolas S OldroydUnited Kingdom2024-06-09Rangoni Of Florence NEW20Amy Elsner
1045Octavia D InouyeFrance2024-06-03Feiner Bros PROPOSAL75Onyama Limba
1046Murillo M CampainCanada2024-05-24Buckley Miller Wright RENEWAL47Xuxue Feng
1047Ivar H ButtArgentina2024-06-18Chanay, Jeffrey A Esq RENEWAL29Xuxue Feng
1048Alejandro W FigeroaJapan2024-05-23Chapman, Ross E Esq NEGOTIATION68Asiya Javayant
1049Smith I SlusarskiIndia2024-06-05Printing Dimensions NEGOTIATION16Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Francesco G KuskoJapanElwin Sharvill RENEWAL
Leon P DilliardAustraliaElwin Sharvill PROPOSAL
Deepesh Y NestleFranceBernardo Dominic PROPOSAL
Ricardo E CaudyFranceAmy Elsner UNQUALIFIED
Arvin U DilliardGermanyStephen Shaw UNQUALIFIED
Rodrigues G VocelkaGermanyElwin Sharvill NEGOTIATION
Maria F CaudyAustraliaXuxue Feng NEW
Maisha Q MorascaFranceElwin Sharvill UNQUALIFIED
Greenwood Z GauchoUnited KingdomBernardo Dominic QUALIFIED
Chavez L WieserUnited KingdomAnna Fali NEGOTIATION
Misaki R MaletSpainIoni Bowcher RENEWAL
Mujtaba M FlosiUnited KingdomStephen Shaw RENEWAL
Mujtaba P ShinkoItalyBernardo Dominic QUALIFIED
Antonio X WhobreyBrazilStephen Shaw NEW
Salvatore Z CaldareraItalyIoni Bowcher QUALIFIED
Alejandro K BologniaGermanyIvan Magalhaes UNQUALIFIED
Emily W SlusarskiJapanAsiya Javayant RENEWAL
Emily B BologniaJapanIvan Magalhaes PROPOSAL
Jeanfrancois F KolmetzRussiaAmy Elsner RENEWAL
Francesco T NickaSpainOnyama Limba NEW
Chavez H SaylorsGermanyBernardo Dominic NEW
Juan H RimIndiaOnyama Limba NEGOTIATION
Aditya O CaldareraGermanyAsiya Javayant NEW
Greenwood A SchemmerJapanStephen Shaw UNQUALIFIED
David T SlusarskiIndiaAnna Fali QUALIFIED
Juan C RimSpainOnyama Limba RENEWAL
Faith L WieserSpainOnyama Limba RENEWAL
Francesco S FollerUnited KingdomIvan Magalhaes PROPOSAL
Emily I AmigonIndiaOnyama Limba QUALIFIED
Ivar R FigeroaCanadaAsiya Javayant UNQUALIFIED
Juan G PerinFranceIoni Bowcher NEW
Sinclair S GauchoRussiaIoni Bowcher QUALIFIED
Aditya C IturbideIndiaBernardo Dominic PROPOSAL
Wickens H MarrierIndiaStephen Shaw NEW
Aditya A GarufiUnited KingdomAsiya Javayant NEW
Chavez Z AlbaresBrazilIvan Magalhaes QUALIFIED
Maria X FigeroaGermanyBernardo Dominic QUALIFIED
Aditya N GarufiSpainAmy Elsner NEGOTIATION
Aruna X WaycottItalyAsiya Javayant UNQUALIFIED
Wickens L SergiUnited KingdomAmy Elsner RENEWAL
Morrow U RutaRussiaAsiya Javayant RENEWAL
Aika J SchemmerGermanyIoni Bowcher NEW
Jeanfrancois Q FollerArgentinaElwin Sharvill QUALIFIED
Morrow K OldroydIndiaAmy Elsner PROPOSAL
James N FollerGermanyIoni Bowcher QUALIFIED
Tony N CaudySpainIvan Magalhaes NEW
Julie M InouyeUnited KingdomIvan Magalhaes PROPOSAL
Stacey D ButtAustraliaAsiya Javayant NEGOTIATION
Greenwood H RulapaughItalyAmy Elsner NEW
Cody W PaprockiAustraliaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Kaitlin I Chui
Salvatore F Stenseth
Emily Z Iturbide
Kadeem D Malet
Julie O Maclead
Julie M Ruta
Wickens T Tollner
Silvio P Ferencz
Misaki R Dilliard
Kadeem W Iturbide
Ashley A Morasca
Aruna J Perin
Stacey H Amigon
Jeanfrancois M Tollner
Jennifer H Bowley
Emily T Gillian
Mujtaba L Rim
Aditya P Shinko
Leja H Albares
Isabel K Malet
Ricardo X Paprocki
Johnson M Rulapaugh
Misaki A Bolognia
Sinclair W Vocelka
Aika Q Whobrey
Morrow B Tollner
Leja S Wieser
Costa I Stockham
Mujtaba P Royster
Tony K Stenseth
Julie U Saylors
Faith I Paprocki
Leja K Kolmetz
Adams H Rim
Maisha D Stockham
Alejandro M Malet
Ashley Y Chui
Claire U Tollner
Deepesh N Wieser
Maria A Ruta
Salvatore L Nestle
Costa F Campain
Julie G Ostrosky
Stacey X Doe
Jeanfrancois C Inouye
Jeanfrancois G Waycott
Greenwood P Bolognia
Aruna Y Whobrey
Antonio V Stenseth
Costa U Poquette
IdCountryDate
1000Russia2024-06-21
1001France2024-06-21
1002Australia2024-06-13
1003Germany2024-05-29
1004Russia2024-05-28
1005United Kingdom2024-05-23
1006India2024-06-12
1007Australia2024-06-13
1008France2024-06-06
1009Canada2024-06-05
1010Germany2024-06-16
1011Argentina2024-06-21
1012United Kingdom2024-06-15
1013Spain2024-05-28
1014United Kingdom2024-05-31
1015Argentina2024-05-24
1016Canada2024-06-10
1017France2024-06-19
1018Spain2024-06-01
1019Australia2024-06-08
1020Brazil2024-06-21
1021Canada2024-05-29
1022Italy2024-06-12
1023Canada2024-06-14
1024Germany2024-06-03
1025Brazil2024-06-20
1026Brazil2024-06-03
1027Germany2024-05-31
1028Russia2024-05-29
1029India2024-06-12
1030Brazil2024-06-18
1031Germany2024-06-07
1032United Kingdom2024-06-17
1033Russia2024-06-05
1034Italy2024-06-06
1035Russia2024-06-16
1036Italy2024-05-28
1037Germany2024-06-15
1038France2024-06-06
1039United Kingdom2024-06-09
1040Italy2024-06-03
1041Argentina2024-06-11
1042Spain2024-05-30
1043Canada2024-05-29
1044Canada2024-06-02
1045Australia2024-05-27
1046Spain2024-06-18
1047France2024-06-17
1048France2024-06-15
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Misaki Y Sergi1000Argentina2024-06-14
Jennifer X Ruta1001Australia2024-06-07
Ricardo H Gaucho1002Japan2024-06-13
Ashley V Ostrosky1003Australia2024-05-25
Ivar Z Rim1004Argentina2024-06-04
Chavez Y Doe1005Germany2024-06-14
Juan O Caudy1006Australia2024-06-20
Misaki R Saylors1007Canada2024-06-07
Darci C Darakjy1008Brazil2024-05-27
Julie J Butt1009Australia2024-06-17
Claire V Rim1010India2024-05-24
Kaitlin Y Stockham1011France2024-06-14
Ashley Q Doe1012Germany2024-05-30
Adams T Vocelka1013Japan2024-06-08
Greenwood T Glick1014France2024-05-29
Francesco J Iturbide1015United Kingdom2024-06-16
Cody C Perin1016Germany2024-06-03
Salvatore Z Nestle1017Argentina2024-06-09
Aditya X Garufi1018United Kingdom2024-05-28
Ricardo O Malet1019Australia2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow E AmigonArgentinaBernardo Dominic RENEWAL
Ricardo H BologniaFranceAnna Fali NEW
Clifford K RulapaughAustraliaAsiya Javayant QUALIFIED
Leja M CaldareraBrazilAnna Fali PROPOSAL
Clifford Y CampainIndiaAsiya Javayant NEW
Chavez L FerenczJapanIoni Bowcher NEW
Tony D MarrierUnited KingdomAmy Elsner UNQUALIFIED
James B IturbideItalyOnyama Limba RENEWAL
Morrow H StensethIndiaAmy Elsner NEW
Ricardo W WaycottGermanyStephen Shaw PROPOSAL
Ricardo L OstroskyBrazilOnyama Limba PROPOSAL
Wickens N KolmetzSpainAmy Elsner RENEWAL
Chavez R DarakjyCanadaAnna Fali RENEWAL
David G StensethCanadaIoni Bowcher PROPOSAL
Kaitlin P CampainBrazilOnyama Limba QUALIFIED
Ashley Z WaycottGermanyElwin Sharvill PROPOSAL
Wickens B SergiArgentinaElwin Sharvill PROPOSAL
Leja V FlosiUnited KingdomAmy Elsner RENEWAL
Adams S ShinkoJapanAnna Fali QUALIFIED
Isabel Z IturbideGermanyStephen Shaw NEW
Kadeem B NestleArgentinaStephen Shaw UNQUALIFIED
Aditya T KolmetzAustraliaElwin Sharvill PROPOSAL
Costa B TollnerFranceElwin Sharvill UNQUALIFIED
Antonio P SlusarskiFranceAsiya Javayant NEW
Isabel H VocelkaSpainIvan Magalhaes NEGOTIATION
Deepesh Q KolmetzAustraliaBernardo Dominic UNQUALIFIED
Francesco E RoysterUnited KingdomOnyama Limba UNQUALIFIED
Mayumi Q PerinGermanyAmy Elsner NEGOTIATION
Stacey V RulapaughSpainElwin Sharvill RENEWAL
Misaki E CampainFranceXuxue Feng RENEWAL
Darci E ShinkoGermanyIvan Magalhaes RENEWAL
Adams G StockhamIndiaAsiya Javayant NEW
Antonio W MorascaJapanAmy Elsner QUALIFIED
Aruna C MaletBrazilIvan Magalhaes NEW
Silvio Z RimJapanStephen Shaw PROPOSAL
Munro N GillianBrazilStephen Shaw QUALIFIED
Aika W AlbaresFranceIoni Bowcher UNQUALIFIED
Jeanfrancois Z NickaRussiaXuxue Feng NEW
Maria T MorascaGermanyIvan Magalhaes UNQUALIFIED
Juan R ChuiBrazilBernardo Dominic RENEWAL

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