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
Maria M GauchoUnited KingdomIoni Bowcher RENEWAL
Cody A MacleadIndiaElwin Sharvill NEGOTIATION
Greenwood P FollerBrazilElwin Sharvill QUALIFIED
Kadeem T RutaArgentinaAsiya Javayant RENEWAL
Emily C SaylorsCanadaOnyama Limba NEW
Kaitlin I WieserSpainIvan Magalhaes UNQUALIFIED
Maisha K KolmetzCanadaOnyama Limba QUALIFIED
Stacey T DilliardAustraliaAnna Fali RENEWAL
Tony T OstroskyFranceIvan Magalhaes UNQUALIFIED
Claire L DarakjyBrazilAsiya Javayant NEGOTIATION
Kadeem O RutaJapanXuxue Feng NEW
Stacey F IturbideFranceOnyama Limba PROPOSAL
Greenwood X IturbideSpainStephen Shaw NEW
Adams I MorascaBrazilBernardo Dominic NEW
Leon N BriddickGermanyXuxue Feng QUALIFIED
Julie V ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Clifford W DoeFranceIvan Magalhaes PROPOSAL
Greenwood H ChuiJapanXuxue Feng PROPOSAL
Antonio A GauchoArgentinaIoni Bowcher NEGOTIATION
Nicolas L GillianSpainBernardo Dominic PROPOSAL
Nicolas X MaletGermanyBernardo Dominic QUALIFIED
Smith J RulapaughCanadaOnyama Limba UNQUALIFIED
Leja T GlickUnited KingdomAnna Fali QUALIFIED
Juan X OstroskyAustraliaElwin Sharvill PROPOSAL
David P TollnerFranceStephen Shaw UNQUALIFIED
Octavia Q FollerIndiaBernardo Dominic NEW
Julie J NickaCanadaIvan Magalhaes NEW
Ashley S MorascaSpainElwin Sharvill PROPOSAL
Izzy U NestleRussiaAnna Fali NEGOTIATION
Aruna I MacleadCanadaOnyama Limba PROPOSAL
Faith Z WhobreyBrazilStephen Shaw QUALIFIED
Izzy D WaycottFranceStephen Shaw UNQUALIFIED
Kaitlin M WaycottJapanAmy Elsner UNQUALIFIED
Juan P WhobreyRussiaBernardo Dominic PROPOSAL
Maisha G WaycottArgentinaBernardo Dominic NEW
Jennifer Y SergiFranceIoni Bowcher NEW
Silvio T StockhamBrazilBernardo Dominic UNQUALIFIED
Izzy W CampainSpainIoni Bowcher RENEWAL
Johnson U ChuiAustraliaIvan Magalhaes NEGOTIATION
Stacey S BologniaItalyElwin Sharvill NEGOTIATION
Munro B BriddickRussiaIoni Bowcher RENEWAL
Tony T BowleyJapanAsiya Javayant QUALIFIED
Morrow M PerinUnited KingdomAmy Elsner UNQUALIFIED
Stacey B MacleadCanadaXuxue Feng RENEWAL
Jeanfrancois X BologniaArgentinaIvan Magalhaes RENEWAL
Ricardo T CaudyRussiaXuxue Feng NEW
Silvio H OstroskyJapanXuxue Feng NEGOTIATION
Tony L SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Aruna U CampainIndiaBernardo Dominic PROPOSAL
Ashley U GlickAustraliaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar I FerenczRussiaAsiya Javayant RENEWAL
Jefferson S BologniaCanadaAnna Fali UNQUALIFIED
Izzy I OldroydAustraliaOnyama Limba UNQUALIFIED
Misaki V WaycottArgentinaIvan Magalhaes UNQUALIFIED
Jennifer R GlickItalyElwin Sharvill UNQUALIFIED
Juan A SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Adams F CampainGermanyBernardo Dominic NEGOTIATION
Mayumi W CaudyJapanAsiya Javayant UNQUALIFIED
Misaki R CaldareraUnited KingdomXuxue Feng QUALIFIED
Ricardo C WhobreyBrazilAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith A BriddickItaly2024-06-19Benton, John B Jr UNQUALIFIED64Ioni Bowcher
1001Wickens W TollnerRussia2024-06-17Rangoni Of Florence PROPOSAL37Elwin Sharvill
1002Francesco G WhobreyFrance2024-06-09Dorl, James J Esq NEW21Elwin Sharvill
1003Julie Z CaldareraRussia2024-06-14Rangoni Of Florence QUALIFIED24Amy Elsner
1004Munro B RoysterGermany2024-05-26Buckley Miller Wright QUALIFIED68Stephen Shaw
1005Morrow J ButtArgentina2024-06-01Dorl, James J Esq NEW94Anna Fali
1006Smith M SlusarskiCanada2024-06-13Truhlar And Truhlar Attys UNQUALIFIED49Anna Fali
1007Misaki N FollerItaly2024-06-12Feltz Printing Service RENEWAL76Elwin Sharvill
1008Francesco R NestleItaly2024-06-20Morlong Associates NEW16Asiya Javayant
1009Aruna N PaprockiBrazil2024-06-10Feltz Printing Service QUALIFIED13Bernardo Dominic
1010Ricardo T CaldareraUnited Kingdom2024-06-12Feltz Printing Service UNQUALIFIED28Ioni Bowcher
1011Claire G NestleArgentina2024-06-13Rousseaux, Michael Esq PROPOSAL55Stephen Shaw
1012Munro Y CaudyIndia2024-05-26Rangoni Of Florence QUALIFIED91Ioni Bowcher
1013Darci B TollnerArgentina2024-06-06Dorl, James J Esq UNQUALIFIED66Stephen Shaw
1014Sinclair Z NestleUnited Kingdom2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED33Asiya Javayant
1015Smith Y GillianGermany2024-06-22Chemel, James L Cpa UNQUALIFIED36Elwin Sharvill
1016Smith B WhobreyRussia2024-06-08Feltz Printing Service QUALIFIED63Ivan Magalhaes
1017Octavia Q WhobreyCanada2024-06-08Printing Dimensions PROPOSAL31Amy Elsner
1018Clifford B GarufiItaly2024-06-02Chemel, James L Cpa UNQUALIFIED83Onyama Limba
1019Rodrigues N VenereFrance2024-05-31Buckley Miller Wright QUALIFIED2Xuxue Feng
1020Jennifer I CaudyUnited Kingdom2024-06-10Printing Dimensions QUALIFIED36Amy Elsner
1021Izzy X CaudyIndia2024-06-05Chemel, James L Cpa NEGOTIATION46Bernardo Dominic
1022Leon O RutaBrazil2024-06-19Dorl, James J Esq NEW10Bernardo Dominic
1023Jennifer L AmigonBrazil2024-05-27Printing Dimensions NEW71Amy Elsner
1024Wickens N AlbaresAustralia2024-06-13Chemel, James L Cpa PROPOSAL63Onyama Limba
1025Stacey M CaldareraSpain2024-06-17Feiner Bros NEGOTIATION49Xuxue Feng
1026Aika I MarrierItaly2024-06-01Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1027Munro U DilliardUnited Kingdom2024-06-07Dorl, James J Esq RENEWAL34Bernardo Dominic
1028Leon F StockhamItaly2024-05-25Printing Dimensions NEW22Amy Elsner
1029Ashley O CampainCanada2024-06-01Commercial Press NEGOTIATION13Ivan Magalhaes
1030Greenwood H InouyeItaly2024-06-06King, Christopher A Esq RENEWAL55Ivan Magalhaes
1031Antonio B GarufiSpain2024-06-17Benton, John B Jr UNQUALIFIED92Amy Elsner
1032Leja I MorascaJapan2024-05-27Feltz Printing Service NEGOTIATION3Stephen Shaw
1033Julie T FlosiFrance2024-06-04Printing Dimensions PROPOSAL40Ioni Bowcher
1034Kaitlin V SchemmerSpain2024-06-22Benton, John B Jr NEGOTIATION93Ioni Bowcher
1035Costa B RutaSpain2024-05-30Morlong Associates NEGOTIATION65Anna Fali
1036Kadeem R GauchoItaly2024-05-25Printing Dimensions RENEWAL57Stephen Shaw
1037Isabel L CampainIndia2024-05-27Chemel, James L Cpa RENEWAL7Anna Fali
1038Greenwood L BowleySpain2024-05-30Morlong Associates RENEWAL81Amy Elsner
1039Jones P GillianGermany2024-06-18King, Christopher A Esq NEW13Bernardo Dominic
1040Nicolas D OstroskyUnited Kingdom2024-06-18King, Christopher A Esq NEW81Xuxue Feng
1041Aruna X ChuiArgentina2024-06-05Buckley Miller Wright NEW87Stephen Shaw
1042Munro V FerenczIndia2024-06-22Truhlar And Truhlar Attys QUALIFIED79Elwin Sharvill
1043Silvio G InouyeCanada2024-06-12Dorl, James J Esq NEW72Stephen Shaw
1044Morrow U RulapaughAustralia2024-05-25Benton, John B Jr PROPOSAL21Bernardo Dominic
1045Sinclair K ChuiRussia2024-06-02Rangoni Of Florence NEGOTIATION81Ivan Magalhaes
1046Misaki S TollnerArgentina2024-05-26Feltz Printing Service RENEWAL65Anna Fali
1047Chavez P InouyeUnited Kingdom2024-05-31Rangoni Of Florence NEW25Ioni Bowcher
1048Rodrigues E PaprockiGermany2024-06-13Rangoni Of Florence PROPOSAL13Ivan Magalhaes
1049Salvatore T GlickAustralia2024-06-15King, Christopher A Esq NEW49Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel U TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Julie W SaylorsJapanAmy Elsner QUALIFIED
Morrow W IturbideGermanyElwin Sharvill PROPOSAL
Chavez P MorascaBrazilAnna Fali RENEWAL
Cody H SchemmerSpainIvan Magalhaes UNQUALIFIED
Jefferson H DarakjyAustraliaAmy Elsner UNQUALIFIED
Claire Y VenereUnited KingdomStephen Shaw NEGOTIATION
Maisha F StensethFranceElwin Sharvill UNQUALIFIED
Costa R SergiArgentinaStephen Shaw PROPOSAL
Salvatore U WaycottGermanyBernardo Dominic QUALIFIED
Kadeem E RimBrazilIvan Magalhaes NEGOTIATION
Darci E GauchoAustraliaAsiya Javayant NEGOTIATION
Chavez P PaprockiFranceElwin Sharvill UNQUALIFIED
Arvin H AmigonUnited KingdomAnna Fali NEGOTIATION
Aditya B StockhamIndiaElwin Sharvill PROPOSAL
Adams C CampainAustraliaAmy Elsner QUALIFIED
Tony T AmigonRussiaStephen Shaw NEGOTIATION
Munro U ShinkoGermanyAnna Fali NEW
Stacey Q WaycottFranceElwin Sharvill PROPOSAL
Jones N RimFranceIoni Bowcher PROPOSAL
Arvin E NickaCanadaAnna Fali PROPOSAL
Octavia E ButtFranceAsiya Javayant UNQUALIFIED
Ivar L OstroskyFranceAnna Fali UNQUALIFIED
Clifford K InouyeSpainAsiya Javayant QUALIFIED
Chavez I StockhamIndiaAnna Fali RENEWAL
Murillo J NestleGermanyElwin Sharvill NEW
Silvio N TollnerItalyStephen Shaw RENEWAL
Nicolas Z CaldareraBrazilAsiya Javayant NEGOTIATION
Darci T GarufiGermanyAsiya Javayant NEW
Aruna J ButtBrazilAsiya Javayant RENEWAL
Isabel Y GauchoGermanyStephen Shaw PROPOSAL
Deepesh X GlickCanadaAnna Fali QUALIFIED
Claire A AlbaresAustraliaAnna Fali RENEWAL
Maisha W CaudyArgentinaAsiya Javayant NEW
Arvin U ShinkoJapanAsiya Javayant RENEWAL
Costa Z MarrierSpainStephen Shaw PROPOSAL
Cody E FerenczGermanyElwin Sharvill UNQUALIFIED
Emily A ButtIndiaStephen Shaw PROPOSAL
Leon F FigeroaIndiaIvan Magalhaes NEW
Nicolas Z NestleArgentinaXuxue Feng RENEWAL
Faith Y WaycottArgentinaAsiya Javayant QUALIFIED
Aditya M BologniaAustraliaAmy Elsner UNQUALIFIED
Faith R OstroskyItalyAsiya Javayant NEW
Jennifer O WhobreyBrazilOnyama Limba RENEWAL
Greenwood X SaylorsRussiaElwin Sharvill NEW
Adams J DarakjyArgentinaStephen Shaw RENEWAL
Leon W RutaRussiaElwin Sharvill NEGOTIATION
Aika K AlbaresRussiaBernardo Dominic PROPOSAL
Costa J VenereIndiaIvan Magalhaes PROPOSAL
Maisha W GlickAustraliaBernardo Dominic NEW
Frozen Columns
Name
Maisha V Butt
Munro Q Campain
Murillo Z Garufi
Izzy D Vocelka
Greenwood D Venere
Aditya P Perin
Smith A Ruta
Faith S Kolmetz
Wickens Y Gillian
Adams B Malet
Leon O Whobrey
Kaitlin F Venere
Clifford V Malet
Johnson V Nestle
Silvio D Ruta
Darci M Iturbide
Misaki A Morasca
Smith X Glick
Misaki J Nestle
Octavia U Gillian
Mayumi H Caldarera
Stacey P Ferencz
Rodrigues K Ferencz
Octavia O Slusarski
Deepesh S Rim
Izzy C Campain
Tony A Marrier
Morrow C Butt
Nicolas H Gillian
Maisha K Butt
Cody A Schemmer
Mayumi S Dilliard
Jennifer J Amigon
Julie M Inouye
Kaitlin W Slusarski
Emily W Poquette
Kaitlin O Kusko
Misaki V Caudy
Arvin A Perin
Alejandro I Gillian
Aruna X Whobrey
Stacey T Kusko
Morrow U Darakjy
Leja X Campain
Salvatore A Campain
Emily H Albares
Darci B Inouye
Stacey C Doe
Munro K Schemmer
Jeanfrancois V Oldroyd
IdCountryDate
1000India2024-05-30
1001India2024-06-12
1002India2024-05-24
1003Australia2024-05-24
1004Japan2024-06-07
1005Australia2024-06-10
1006France2024-06-08
1007Spain2024-05-25
1008Australia2024-05-28
1009Brazil2024-06-15
1010India2024-05-27
1011Argentina2024-05-26
1012Brazil2024-06-16
1013Canada2024-05-28
1014Italy2024-06-18
1015Japan2024-06-19
1016Italy2024-06-10
1017India2024-06-13
1018Australia2024-06-11
1019India2024-06-04
1020Argentina2024-05-25
1021Japan2024-06-10
1022United Kingdom2024-06-19
1023Russia2024-06-19
1024India2024-05-24
1025France2024-05-25
1026Russia2024-06-13
1027United Kingdom2024-06-12
1028Canada2024-06-14
1029Australia2024-06-08
1030Spain2024-06-10
1031Brazil2024-05-27
1032Brazil2024-06-08
1033Russia2024-06-05
1034Australia2024-06-08
1035Brazil2024-06-06
1036India2024-05-31
1037Italy2024-06-05
1038Germany2024-05-27
1039India2024-06-15
1040Australia2024-05-25
1041Argentina2024-06-02
1042India2024-06-16
1043Germany2024-06-22
1044Japan2024-06-10
1045Canada2024-06-04
1046United Kingdom2024-06-07
1047India2024-06-15
1048Japan2024-05-31
1049Argentina2024-06-20

On-Demand Data

NameIdCountryDate
Silvio G Caudy1000Argentina2024-06-13
Sinclair U Figeroa1001India2024-05-24
Jones O Flosi1002Brazil2024-06-09
Aruna K Rulapaugh1003Argentina2024-05-27
Octavia P Perin1004Italy2024-05-31
Misaki V Royster1005Brazil2024-06-03
Ashley R Darakjy1006India2024-06-04
Darci X Tollner1007Canada2024-05-24
Tony W Schemmer1008India2024-06-15
Ivar H Stockham1009Argentina2024-05-30
Ricardo M Rulapaugh1010France2024-05-26
Clifford K Kolmetz1011Germany2024-05-31
Clifford G Gaucho1012United Kingdom2024-06-02
Morrow D Briddick1013United Kingdom2024-06-04
Izzy N Gillian1014Brazil2024-05-25
Sinclair N Caudy1015Argentina2024-06-01
Antonio R Poquette1016India2024-06-07
Izzy G Caldarera1017Italy2024-06-08
Smith L Doe1018United Kingdom2024-06-17
Greenwood P Campain1019France2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio Z WhobreyArgentinaIvan Magalhaes RENEWAL
Ricardo S MarrierGermanyIoni Bowcher UNQUALIFIED
Munro F StensethBrazilBernardo Dominic UNQUALIFIED
Chavez L ButtFranceAnna Fali NEW
Salvatore M VenereUnited KingdomElwin Sharvill RENEWAL
Chavez K SchemmerJapanIvan Magalhaes QUALIFIED
Octavia D VocelkaJapanAmy Elsner NEW
Juan L PerinBrazilElwin Sharvill NEW
James M PoquetteCanadaXuxue Feng NEGOTIATION
David M GarufiGermanyAmy Elsner PROPOSAL
James X DoeUnited KingdomAsiya Javayant NEGOTIATION
Murillo D AlbaresGermanyStephen Shaw NEW
Chavez N CaldareraSpainElwin Sharvill PROPOSAL
Isabel W RimSpainIoni Bowcher RENEWAL
Ashley A OldroydArgentinaIvan Magalhaes UNQUALIFIED
Cody R MaletRussiaOnyama Limba NEW
Kadeem Z SaylorsItalyElwin Sharvill RENEWAL
David U IturbideIndiaIvan Magalhaes UNQUALIFIED
David A RulapaughFranceAnna Fali RENEWAL
Murillo B IturbideIndiaOnyama Limba PROPOSAL
Mujtaba D FigeroaRussiaOnyama Limba NEW
Ricardo V NestleSpainOnyama Limba QUALIFIED
Chavez E ShinkoFranceAsiya Javayant QUALIFIED
Aditya I NestleJapanElwin Sharvill RENEWAL
Emily N WhobreyBrazilStephen Shaw QUALIFIED
Jennifer J AlbaresSpainAnna Fali RENEWAL
Silvio R SaylorsArgentinaElwin Sharvill RENEWAL
Johnson R FigeroaRussiaElwin Sharvill NEW
Kaitlin S RulapaughCanadaAsiya Javayant RENEWAL
Cody V StensethAustraliaAsiya Javayant NEW
Maria G KuskoUnited KingdomAmy Elsner QUALIFIED
Alejandro F GauchoRussiaStephen Shaw NEW
Clifford E MacleadRussiaXuxue Feng QUALIFIED
Octavia N DilliardCanadaIoni Bowcher NEW
Costa F KuskoUnited KingdomBernardo Dominic QUALIFIED
Smith K NickaFranceBernardo Dominic UNQUALIFIED
Salvatore A ButtAustraliaStephen Shaw QUALIFIED
Mayumi S VenereJapanXuxue Feng UNQUALIFIED
Arvin T ChuiArgentinaIvan Magalhaes PROPOSAL
Chavez V KuskoCanadaXuxue Feng 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>