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
Aditya J PerinJapanXuxue Feng NEGOTIATION
Rodrigues Z GauchoIndiaIvan Magalhaes QUALIFIED
Isabel A PaprockiBrazilIoni Bowcher QUALIFIED
Maria R SchemmerCanadaElwin Sharvill PROPOSAL
Emily J OstroskyGermanyIoni Bowcher RENEWAL
Leja U IturbideCanadaIoni Bowcher QUALIFIED
Izzy X FigeroaFranceAnna Fali NEGOTIATION
Johnson Q MaletItalyIvan Magalhaes PROPOSAL
Aruna B GillianJapanAmy Elsner NEW
Francesco U MorascaFranceOnyama Limba UNQUALIFIED
Jennifer F DilliardIndiaOnyama Limba NEGOTIATION
Aruna N SergiSpainAsiya Javayant NEW
Leja K SlusarskiRussiaXuxue Feng NEW
Julie F SergiUnited KingdomAmy Elsner NEGOTIATION
Munro L BowleyIndiaStephen Shaw UNQUALIFIED
Smith A NickaIndiaOnyama Limba NEW
Ashley Q WhobreyAustraliaStephen Shaw RENEWAL
Aditya P BriddickCanadaStephen Shaw QUALIFIED
Isabel P OldroydItalyStephen Shaw NEGOTIATION
Aika Z OstroskyRussiaStephen Shaw UNQUALIFIED
Aika W MaletGermanyXuxue Feng NEGOTIATION
Aruna G SlusarskiFranceAmy Elsner QUALIFIED
Alejandro Q TollnerRussiaBernardo Dominic QUALIFIED
David R IturbideCanadaAsiya Javayant NEGOTIATION
Nicolas D CampainAustraliaIoni Bowcher NEGOTIATION
Adams X SlusarskiSpainAsiya Javayant QUALIFIED
Munro O MarrierBrazilOnyama Limba NEGOTIATION
Silvio Y InouyeSpainStephen Shaw NEGOTIATION
Izzy O FerenczArgentinaStephen Shaw RENEWAL
Johnson N GlickJapanIoni Bowcher QUALIFIED
Aditya J GlickFranceAnna Fali QUALIFIED
Mujtaba X MacleadUnited KingdomBernardo Dominic QUALIFIED
Chavez M RulapaughGermanyStephen Shaw NEGOTIATION
Wickens S WieserIndiaElwin Sharvill QUALIFIED
Smith I FlosiBrazilIvan Magalhaes RENEWAL
Sinclair H FlosiBrazilOnyama Limba QUALIFIED
Kaitlin F GauchoBrazilIvan Magalhaes NEGOTIATION
Ricardo Z KuskoBrazilBernardo Dominic PROPOSAL
Isabel Q ChuiJapanBernardo Dominic UNQUALIFIED
Kadeem E WaycottGermanyIoni Bowcher PROPOSAL
Clifford B IturbideIndiaIoni Bowcher RENEWAL
Smith Z SaylorsBrazilElwin Sharvill UNQUALIFIED
Stacey Y PoquetteJapanAnna Fali RENEWAL
Ivar P KuskoAustraliaBernardo Dominic PROPOSAL
Jeanfrancois W SchemmerRussiaAmy Elsner NEW
Claire X RulapaughGermanyStephen Shaw PROPOSAL
Jennifer C AmigonBrazilAsiya Javayant PROPOSAL
Ivar K ChuiArgentinaOnyama Limba UNQUALIFIED
Octavia H CaldareraFranceAnna Fali NEW
Mujtaba Y PerinItalyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya B PoquetteItalyXuxue Feng NEW
Mujtaba A GillianAustraliaAnna Fali QUALIFIED
Sinclair N FollerSpainAsiya Javayant NEGOTIATION
Jeanfrancois O InouyeUnited KingdomAsiya Javayant NEGOTIATION
Sinclair W GauchoUnited KingdomIoni Bowcher UNQUALIFIED
David D NestleCanadaIoni Bowcher PROPOSAL
Silvio E GarufiFranceAmy Elsner RENEWAL
Izzy G PaprockiRussiaBernardo Dominic PROPOSAL
Wickens H MarrierJapanXuxue Feng UNQUALIFIED
Murillo R GarufiArgentinaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel J WhobreyJapan2024-05-28Dorl, James J Esq PROPOSAL42Bernardo Dominic
1001Jefferson E GarufiIndia2024-06-23Benton, John B Jr PROPOSAL34Ivan Magalhaes
1002Leon F StensethRussia2024-06-08Feltz Printing Service QUALIFIED60Xuxue Feng
1003Chavez I GillianItaly2024-06-22Morlong Associates UNQUALIFIED10Bernardo Dominic
1004Deepesh T VenereAustralia2024-06-23Rangoni Of Florence PROPOSAL30Xuxue Feng
1005Costa S TollnerGermany2024-06-03Truhlar And Truhlar Attys PROPOSAL73Ioni Bowcher
1006David N NickaUnited Kingdom2024-05-31Rangoni Of Florence RENEWAL20Bernardo Dominic
1007Silvio O ButtRussia2024-06-08Commercial Press QUALIFIED38Elwin Sharvill
1008Murillo A FlosiFrance2024-05-30Benton, John B Jr RENEWAL68Xuxue Feng
1009Antonio E AlbaresRussia2024-06-13Rangoni Of Florence RENEWAL48Asiya Javayant
1010Darci Y VenereGermany2024-06-17Morlong Associates NEW80Ioni Bowcher
1011David G GlickItaly2024-05-28Dorl, James J Esq QUALIFIED75Stephen Shaw
1012Isabel M BologniaIndia2024-05-27Feltz Printing Service PROPOSAL9Stephen Shaw
1013Clifford Q KuskoGermany2024-06-19King, Christopher A Esq PROPOSAL7Elwin Sharvill
1014Isabel K MacleadGermany2024-05-28Feiner Bros NEW53Stephen Shaw
1015Sinclair M GauchoRussia2024-06-13Truhlar And Truhlar Attys QUALIFIED32Bernardo Dominic
1016Jennifer M FollerJapan2024-06-24Chemel, James L Cpa PROPOSAL8Onyama Limba
1017Ivar C IturbideJapan2024-06-06Chanay, Jeffrey A Esq QUALIFIED59Ioni Bowcher
1018Clifford Z NestleRussia2024-06-02Morlong Associates RENEWAL56Onyama Limba
1019Darci T GlickSpain2024-06-23Rangoni Of Florence QUALIFIED21Anna Fali
1020Jones F VenereAustralia2024-06-03Rangoni Of Florence PROPOSAL53Amy Elsner
1021Julie J RulapaughBrazil2024-06-19Morlong Associates QUALIFIED21Bernardo Dominic
1022Adams Q BologniaAustralia2024-06-04King, Christopher A Esq NEGOTIATION19Onyama Limba
1023Faith P GarufiFrance2024-06-22Rangoni Of Florence NEW80Anna Fali
1024Leon O MaletCanada2024-06-22King, Christopher A Esq PROPOSAL66Elwin Sharvill
1025Misaki E GarufiRussia2024-06-14Buckley Miller Wright PROPOSAL71Onyama Limba
1026Aika L GauchoItaly2024-06-04Benton, John B Jr NEW22Ioni Bowcher
1027Izzy D PerinItaly2024-05-27Rangoni Of Florence NEW93Amy Elsner
1028Wickens Y DoeAustralia2024-06-14Dorl, James J Esq QUALIFIED24Onyama Limba
1029Ricardo C MaletIndia2024-06-14Chapman, Ross E Esq NEGOTIATION49Stephen Shaw
1030David K NestleItaly2024-06-12Chemel, James L Cpa RENEWAL41Amy Elsner
1031David J DarakjySpain2024-06-06Dorl, James J Esq QUALIFIED72Asiya Javayant
1032Emily N BologniaGermany2024-05-29Buckley Miller Wright UNQUALIFIED71Onyama Limba
1033Misaki W CaldareraBrazil2024-06-21Chapman, Ross E Esq QUALIFIED75Ioni Bowcher
1034Leja R KuskoAustralia2024-06-16Rousseaux, Michael Esq PROPOSAL56Anna Fali
1035Mujtaba L BriddickFrance2024-06-24Rousseaux, Michael Esq NEW22Elwin Sharvill
1036Kadeem X AmigonAustralia2024-06-07Dorl, James J Esq NEW59Stephen Shaw
1037Rodrigues O WieserGermany2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED95Onyama Limba
1038Costa D OldroydBrazil2024-06-17Feltz Printing Service QUALIFIED74Asiya Javayant
1039Munro L GarufiRussia2024-05-28Commercial Press UNQUALIFIED21Stephen Shaw
1040Mayumi B BriddickGermany2024-05-26Chanay, Jeffrey A Esq RENEWAL58Stephen Shaw
1041Smith J WhobreyArgentina2024-06-05Truhlar And Truhlar Attys NEW45Stephen Shaw
1042David K TollnerGermany2024-06-14Chemel, James L Cpa NEW62Asiya Javayant
1043Silvio H DilliardIndia2024-06-05Rangoni Of Florence QUALIFIED25Xuxue Feng
1044Claire N ChuiGermany2024-06-08Rangoni Of Florence QUALIFIED53Onyama Limba
1045James M SchemmerArgentina2024-06-14Truhlar And Truhlar Attys RENEWAL46Onyama Limba
1046Jeanfrancois U OldroydJapan2024-06-14Dorl, James J Esq PROPOSAL26Stephen Shaw
1047Kadeem N PoquetteUnited Kingdom2024-06-05Benton, John B Jr NEW79Ioni Bowcher
1048Claire E NestleIndia2024-06-06Chapman, Ross E Esq PROPOSAL45Ivan Magalhaes
1049Emily O ChuiSpain2024-05-31Printing Dimensions UNQUALIFIED6Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey X NickaGermanyAnna Fali NEW
Claire G IturbideAustraliaStephen Shaw PROPOSAL
Ivar V GillianBrazilBernardo Dominic QUALIFIED
Claire V StensethArgentinaIvan Magalhaes NEGOTIATION
Tony T ShinkoArgentinaAmy Elsner PROPOSAL
Ashley F FerenczUnited KingdomXuxue Feng RENEWAL
Salvatore N MacleadArgentinaIoni Bowcher NEW
Salvatore G MorascaJapanXuxue Feng NEGOTIATION
Jennifer Z PerinAustraliaOnyama Limba PROPOSAL
Clifford R PaprockiItalyIvan Magalhaes QUALIFIED
Aika M NickaJapanStephen Shaw NEW
Isabel Z SchemmerIndiaBernardo Dominic PROPOSAL
Jeanfrancois S ButtIndiaAmy Elsner UNQUALIFIED
David U RutaGermanyXuxue Feng QUALIFIED
Chavez E SchemmerItalyOnyama Limba QUALIFIED
Clifford M RutaItalyIoni Bowcher QUALIFIED
Aditya B CaudyAustraliaElwin Sharvill UNQUALIFIED
Ivar B PoquetteJapanIvan Magalhaes NEW
Misaki T BowleyFranceElwin Sharvill NEW
Juan O ChuiFranceOnyama Limba RENEWAL
Maria P ChuiIndiaElwin Sharvill NEGOTIATION
Kadeem Y VenereBrazilElwin Sharvill RENEWAL
David I TollnerSpainAsiya Javayant UNQUALIFIED
Antonio H WaycottBrazilAsiya Javayant PROPOSAL
Costa T PerinItalyBernardo Dominic NEGOTIATION
Maria F SergiSpainElwin Sharvill NEGOTIATION
Stacey M PoquetteRussiaAsiya Javayant NEGOTIATION
Morrow S VenereArgentinaIvan Magalhaes RENEWAL
Munro M MaletRussiaAnna Fali PROPOSAL
Mayumi O WaycottAustraliaBernardo Dominic RENEWAL
Izzy R AlbaresSpainOnyama Limba QUALIFIED
Smith N DoeBrazilBernardo Dominic NEGOTIATION
Wickens V WieserGermanyAnna Fali UNQUALIFIED
Izzy O InouyeIndiaIvan Magalhaes RENEWAL
Morrow S GarufiCanadaXuxue Feng NEW
Ashley R GauchoFranceBernardo Dominic QUALIFIED
Adams B InouyeFranceAsiya Javayant UNQUALIFIED
Francesco A BologniaGermanyOnyama Limba RENEWAL
Silvio D MorascaCanadaOnyama Limba NEW
Rodrigues J StensethIndiaAsiya Javayant RENEWAL
Maisha O OldroydAustraliaAmy Elsner UNQUALIFIED
Silvio L ChuiJapanElwin Sharvill PROPOSAL
Ashley H IturbideGermanyElwin Sharvill QUALIFIED
Julie X VenereFranceBernardo Dominic QUALIFIED
Maria O KolmetzFranceAnna Fali UNQUALIFIED
Alejandro J VenereJapanBernardo Dominic NEW
Tony E OstroskyAustraliaElwin Sharvill RENEWAL
Adams P RimCanadaXuxue Feng QUALIFIED
Tony I DoeFranceOnyama Limba UNQUALIFIED
Ivar N BologniaIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Maria W Poquette
Leja U Foller
Julie C Gillian
Juan O Rulapaugh
Wickens S Maclead
Mayumi V Garufi
Ivar D Royster
Julie K Rulapaugh
Jones F Paprocki
Leon S Royster
Maisha I Ostrosky
Clifford L Paprocki
Faith N Waycott
Deepesh B Campain
Antonio T Darakjy
Jones R Garufi
Maisha I Stenseth
Francesco K Oldroyd
Jeanfrancois Y Wieser
Mayumi U Royster
Ivar R Tollner
Faith J Figeroa
Juan C Ostrosky
Faith E Bolognia
Jones I Doe
Morrow P Vocelka
Maisha Z Stenseth
Aditya K Shinko
Adams M Darakjy
Murillo P Ferencz
Antonio M Flosi
Morrow N Butt
Mayumi S Marrier
Smith G Chui
Emily B Garufi
Kaitlin B Morasca
Johnson T Whobrey
Silvio L Morasca
Aika F Nestle
Juan S Caldarera
Izzy V Amigon
Johnson Q Gillian
Jones N Nestle
Leon R Dilliard
Morrow Q Wieser
Izzy A Bowley
Aruna N Bowley
Jefferson Q Tollner
Wickens A Saylors
Ivar S Campain
IdCountryDate
1000Canada2024-06-14
1001Italy2024-06-20
1002Spain2024-06-06
1003Japan2024-06-10
1004Argentina2024-06-06
1005Japan2024-05-28
1006Italy2024-05-26
1007United Kingdom2024-06-12
1008Russia2024-06-17
1009Russia2024-06-12
1010Australia2024-06-02
1011Spain2024-06-10
1012Italy2024-06-21
1013Canada2024-06-16
1014Germany2024-06-09
1015Canada2024-06-24
1016Germany2024-06-18
1017Brazil2024-06-09
1018Spain2024-06-24
1019Russia2024-06-11
1020India2024-05-31
1021Spain2024-06-15
1022United Kingdom2024-06-13
1023Spain2024-06-19
1024Japan2024-06-03
1025United Kingdom2024-06-22
1026Canada2024-05-26
1027Canada2024-05-28
1028Russia2024-06-24
1029Canada2024-06-23
1030Russia2024-05-31
1031France2024-06-11
1032Spain2024-06-14
1033Australia2024-06-20
1034Germany2024-06-24
1035Italy2024-05-26
1036Russia2024-06-21
1037Spain2024-05-26
1038Germany2024-06-23
1039Australia2024-05-27
1040India2024-06-14
1041Germany2024-06-06
1042United Kingdom2024-06-10
1043Spain2024-06-17
1044India2024-06-04
1045Spain2024-06-23
1046Canada2024-05-28
1047Russia2024-05-29
1048Italy2024-05-28
1049Australia2024-05-29

On-Demand Data

NameIdCountryDate
Misaki E Whobrey1000United Kingdom2024-06-07
Smith C Butt1001India2024-06-14
Faith X Ruta1002Canada2024-06-21
Leja T Doe1003Japan2024-06-14
Aditya Z Whobrey1004Japan2024-06-12
Chavez D Tollner1005United Kingdom2024-06-16
Jefferson O Sergi1006France2024-06-16
Octavia Q Nestle1007Argentina2024-06-24
Jones K Inouye1008Japan2024-06-08
Salvatore A Rim1009Italy2024-06-20
Juan R Vocelka1010Spain2024-06-11
Octavia R Rim1011United Kingdom2024-06-12
Aika E Briddick1012Brazil2024-05-27
Murillo V Ostrosky1013France2024-06-14
Arvin I Stenseth1014Italy2024-06-13
Juan X Saylors1015Germany2024-05-28
Stacey O Tollner1016Australia2024-06-05
Stacey L Briddick1017Spain2024-06-19
Julie Y Iturbide1018Russia2024-06-12
Faith R Figeroa1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya H VocelkaGermanyIvan Magalhaes RENEWAL
David G RoysterGermanyAnna Fali QUALIFIED
Smith P GarufiJapanAnna Fali RENEWAL
Julie X PaprockiCanadaAmy Elsner RENEWAL
Costa E FigeroaSpainOnyama Limba QUALIFIED
Kaitlin X VenereGermanyIvan Magalhaes RENEWAL
Alejandro V OldroydArgentinaAnna Fali UNQUALIFIED
Misaki S GarufiFranceOnyama Limba QUALIFIED
Jeanfrancois I FerenczSpainIoni Bowcher RENEWAL
Jefferson G StockhamGermanyIoni Bowcher PROPOSAL
Kadeem E BowleyUnited KingdomAmy Elsner RENEWAL
Adams L GillianRussiaIvan Magalhaes QUALIFIED
Rodrigues X RoysterAustraliaElwin Sharvill QUALIFIED
Kaitlin K RutaAustraliaStephen Shaw NEW
Izzy N OldroydRussiaOnyama Limba NEW
Greenwood I PerinBrazilIoni Bowcher NEW
Cody Y OldroydArgentinaBernardo Dominic NEW
Chavez V BowleyUnited KingdomIoni Bowcher RENEWAL
Mayumi W SergiBrazilXuxue Feng UNQUALIFIED
David D ChuiArgentinaStephen Shaw RENEWAL
Izzy D NickaGermanyIoni Bowcher QUALIFIED
Nicolas P VocelkaItalyElwin Sharvill RENEWAL
Faith C DoeCanadaIvan Magalhaes UNQUALIFIED
Johnson T MorascaCanadaIvan Magalhaes NEW
Alejandro O IturbideRussiaIvan Magalhaes UNQUALIFIED
Aruna M RutaFranceIoni Bowcher UNQUALIFIED
Smith F OldroydJapanElwin Sharvill UNQUALIFIED
Maisha N KuskoRussiaAnna Fali UNQUALIFIED
Aika U AmigonFranceOnyama Limba NEGOTIATION
Rodrigues Y NestleCanadaIvan Magalhaes QUALIFIED
Octavia J TollnerSpainIoni Bowcher UNQUALIFIED
Faith Z ButtCanadaAmy Elsner QUALIFIED
Morrow G RimSpainXuxue Feng NEW
Ashley R FollerIndiaBernardo Dominic UNQUALIFIED
Ashley I RulapaughItalyStephen Shaw RENEWAL
Mayumi N WieserBrazilStephen Shaw NEGOTIATION
Nicolas M SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Izzy P WhobreyUnited KingdomElwin Sharvill QUALIFIED
Ivar H MarrierRussiaAnna Fali NEW
Faith E KuskoFranceIoni Bowcher 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>