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
Julie N ChuiRussiaOnyama Limba UNQUALIFIED
Octavia H FerenczRussiaIoni Bowcher UNQUALIFIED
Wickens T FerenczGermanyIvan Magalhaes UNQUALIFIED
Morrow F SlusarskiRussiaElwin Sharvill NEGOTIATION
Aruna J PerinAustraliaOnyama Limba RENEWAL
Nicolas B KolmetzBrazilAsiya Javayant QUALIFIED
Murillo J DilliardRussiaAnna Fali UNQUALIFIED
Greenwood L RutaUnited KingdomBernardo Dominic QUALIFIED
Emily V CampainBrazilOnyama Limba NEGOTIATION
Ivar U FlosiArgentinaAnna Fali QUALIFIED
Ivar T FigeroaFranceBernardo Dominic QUALIFIED
Mujtaba O DilliardAustraliaXuxue Feng PROPOSAL
Leon M InouyeFranceAmy Elsner NEGOTIATION
Stacey L WieserFranceAnna Fali PROPOSAL
Kadeem B SlusarskiFranceBernardo Dominic QUALIFIED
Jefferson A FigeroaJapanBernardo Dominic NEW
Morrow R PoquetteFranceAsiya Javayant PROPOSAL
Ricardo F SergiIndiaXuxue Feng PROPOSAL
Silvio Y FlosiIndiaAsiya Javayant NEW
Emily Y IturbideArgentinaStephen Shaw RENEWAL
Izzy Q FlosiSpainElwin Sharvill QUALIFIED
Tony Z RutaBrazilAmy Elsner NEW
David X StensethSpainAmy Elsner NEW
Johnson B AmigonItalyIoni Bowcher RENEWAL
Wickens Q DarakjyFranceElwin Sharvill QUALIFIED
Cody J FerenczUnited KingdomElwin Sharvill RENEWAL
Adams D FlosiAustraliaAnna Fali NEW
Smith T CaudyIndiaIvan Magalhaes PROPOSAL
Mujtaba J InouyeUnited KingdomOnyama Limba UNQUALIFIED
David B BowleyArgentinaOnyama Limba PROPOSAL
Aika H InouyeUnited KingdomStephen Shaw RENEWAL
Sinclair T AlbaresJapanXuxue Feng NEGOTIATION
Cody V BriddickGermanyElwin Sharvill NEW
Morrow U FigeroaItalyElwin Sharvill PROPOSAL
Ivar O PerinBrazilXuxue Feng NEGOTIATION
Maria I OldroydItalyBernardo Dominic QUALIFIED
Faith Q SchemmerFranceAmy Elsner QUALIFIED
Greenwood F AlbaresGermanyAmy Elsner NEW
Adams N FerenczBrazilElwin Sharvill RENEWAL
Mayumi E SaylorsItalyElwin Sharvill QUALIFIED
Murillo P WieserJapanElwin Sharvill QUALIFIED
Alejandro L CampainAustraliaIvan Magalhaes QUALIFIED
Tony N WieserFranceIoni Bowcher RENEWAL
Leja D VenereIndiaXuxue Feng NEGOTIATION
Arvin W MaletBrazilOnyama Limba NEGOTIATION
Antonio I PerinAustraliaBernardo Dominic QUALIFIED
Rodrigues D MaletIndiaIoni Bowcher UNQUALIFIED
Greenwood B DarakjyItalyElwin Sharvill NEGOTIATION
Isabel P SergiArgentinaElwin Sharvill NEGOTIATION
Jones J MorascaJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David S RutaGermanyBernardo Dominic RENEWAL
Leja D ButtSpainAmy Elsner NEW
Maria S MacleadUnited KingdomAmy Elsner PROPOSAL
Leon E AmigonItalyXuxue Feng NEGOTIATION
Antonio G KolmetzSpainAmy Elsner UNQUALIFIED
James L OldroydUnited KingdomXuxue Feng QUALIFIED
Nicolas N DarakjyArgentinaAnna Fali NEW
Kaitlin W PoquetteRussiaXuxue Feng UNQUALIFIED
Arvin V PaprockiIndiaBernardo Dominic NEW
Costa L DilliardCanadaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba R NestleIndia2025-04-17Morlong Associates RENEWAL83Bernardo Dominic
1001Chavez T DarakjyArgentina2025-04-14Feiner Bros UNQUALIFIED63Onyama Limba
1002Octavia T FollerUnited Kingdom2025-04-30Morlong Associates UNQUALIFIED78Ivan Magalhaes
1003Juan H TollnerIndia2025-04-12King, Christopher A Esq NEGOTIATION27Amy Elsner
1004Juan Q StockhamRussia2025-04-21Truhlar And Truhlar Attys UNQUALIFIED4Xuxue Feng
1005Emily A DarakjyGermany2025-04-25Morlong Associates RENEWAL4Elwin Sharvill
1006Johnson T DarakjyRussia2025-04-06Feltz Printing Service NEGOTIATION43Anna Fali
1007Silvio V IturbideAustralia2025-04-18Morlong Associates NEGOTIATION74Amy Elsner
1008Munro V MaletGermany2025-04-24Chemel, James L Cpa UNQUALIFIED79Onyama Limba
1009Izzy Z FollerCanada2025-04-09Rangoni Of Florence UNQUALIFIED87Xuxue Feng
1010Morrow E WaycottGermany2025-04-08Rousseaux, Michael Esq UNQUALIFIED34Asiya Javayant
1011Munro O SlusarskiAustralia2025-04-29Morlong Associates NEW56Stephen Shaw
1012Johnson H DarakjyIndia2025-04-08King, Christopher A Esq QUALIFIED10Ivan Magalhaes
1013Stacey L VenereArgentina2025-04-07Chemel, James L Cpa NEW90Bernardo Dominic
1014Francesco R DarakjyAustralia2025-04-03Chemel, James L Cpa RENEWAL3Stephen Shaw
1015Maisha I OldroydFrance2025-04-08Printing Dimensions UNQUALIFIED11Anna Fali
1016Murillo Z FerenczArgentina2025-04-27King, Christopher A Esq QUALIFIED27Ioni Bowcher
1017Silvio Q WaycottRussia2025-04-03Rousseaux, Michael Esq NEW71Anna Fali
1018Wickens N CaldareraArgentina2025-04-15Morlong Associates UNQUALIFIED4Stephen Shaw
1019Francesco Y PerinItaly2025-04-09Chemel, James L Cpa PROPOSAL75Asiya Javayant
1020Izzy C RimArgentina2025-04-05Chanay, Jeffrey A Esq NEW73Xuxue Feng
1021Johnson L BriddickJapan2025-04-10Printing Dimensions NEGOTIATION17Stephen Shaw
1022Clifford V GarufiJapan2025-04-18Printing Dimensions NEW6Elwin Sharvill
1023Antonio N ShinkoBrazil2025-04-14Benton, John B Jr QUALIFIED65Ivan Magalhaes
1024Emily V CaldareraBrazil2025-04-19Dorl, James J Esq NEGOTIATION81Xuxue Feng
1025Rodrigues C TollnerAustralia2025-04-03Printing Dimensions QUALIFIED42Elwin Sharvill
1026David W DarakjyItaly2025-04-06Chanay, Jeffrey A Esq PROPOSAL31Ioni Bowcher
1027Mayumi Y GillianRussia2025-04-10Morlong Associates NEW2Ioni Bowcher
1028Kaitlin H DoeGermany2025-04-23King, Christopher A Esq PROPOSAL87Amy Elsner
1029Morrow H SaylorsSpain2025-04-17Chapman, Ross E Esq RENEWAL21Ivan Magalhaes
1030Darci D StensethArgentina2025-04-23Morlong Associates RENEWAL77Stephen Shaw
1031Darci P MarrierJapan2025-04-27Buckley Miller Wright RENEWAL31Anna Fali
1032Sinclair F DarakjyAustralia2025-04-09Chanay, Jeffrey A Esq NEW17Asiya Javayant
1033James F KuskoUnited Kingdom2025-04-17Truhlar And Truhlar Attys RENEWAL87Bernardo Dominic
1034Mayumi I CaldareraBrazil2025-04-23Commercial Press NEGOTIATION39Ioni Bowcher
1035James K FollerSpain2025-04-21Truhlar And Truhlar Attys RENEWAL79Anna Fali
1036Deepesh J WaycottAustralia2025-04-11Printing Dimensions QUALIFIED61Bernardo Dominic
1037Sinclair I OstroskyItaly2025-04-10Chemel, James L Cpa RENEWAL13Ivan Magalhaes
1038Stacey F GillianSpain2025-04-27Feltz Printing Service QUALIFIED42Amy Elsner
1039Cody X RutaAustralia2025-04-17Rangoni Of Florence QUALIFIED50Stephen Shaw
1040Silvio P TollnerCanada2025-04-04Chanay, Jeffrey A Esq UNQUALIFIED86Ioni Bowcher
1041Isabel D WaycottCanada2025-04-20King, Christopher A Esq NEW67Onyama Limba
1042Octavia D CampainItaly2025-04-21Feltz Printing Service RENEWAL60Onyama Limba
1043Deepesh G KolmetzIndia2025-04-07Buckley Miller Wright RENEWAL33Ivan Magalhaes
1044Juan Q SaylorsAustralia2025-04-01Printing Dimensions PROPOSAL50Anna Fali
1045Francesco V GarufiRussia2025-04-05Morlong Associates NEW43Onyama Limba
1046Stacey K WhobreyUnited Kingdom2025-04-02Commercial Press PROPOSAL53Xuxue Feng
1047Murillo S MacleadFrance2025-04-17Morlong Associates QUALIFIED84Ioni Bowcher
1048Arvin H ChuiArgentina2025-04-07Benton, John B Jr RENEWAL15Onyama Limba
1049Izzy W StockhamJapan2025-04-12Commercial Press UNQUALIFIED33Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon F KuskoAustraliaElwin Sharvill PROPOSAL
James B KolmetzRussiaAsiya Javayant NEGOTIATION
Aditya G FollerArgentinaBernardo Dominic NEGOTIATION
Rodrigues O MarrierCanadaAmy Elsner RENEWAL
Claire L MaletIndiaElwin Sharvill RENEWAL
Alejandro M MaletSpainElwin Sharvill NEGOTIATION
Nicolas L SergiBrazilAmy Elsner RENEWAL
Aika V FerenczArgentinaBernardo Dominic QUALIFIED
Antonio Y FerenczUnited KingdomBernardo Dominic UNQUALIFIED
Jones B MaletJapanXuxue Feng PROPOSAL
James K ShinkoRussiaAnna Fali PROPOSAL
Tony R TollnerItalyBernardo Dominic UNQUALIFIED
Aika D DarakjyRussiaAnna Fali NEW
Maisha K PoquetteAustraliaAsiya Javayant UNQUALIFIED
Mayumi E MarrierRussiaAmy Elsner NEGOTIATION
Darci D RimRussiaElwin Sharvill QUALIFIED
David G SergiRussiaAnna Fali QUALIFIED
Chavez B MarrierJapanElwin Sharvill UNQUALIFIED
Adams I TollnerArgentinaAmy Elsner QUALIFIED
Cody M FlosiCanadaIvan Magalhaes RENEWAL
Rodrigues H CampainBrazilElwin Sharvill NEGOTIATION
Aika Y GauchoAustraliaStephen Shaw PROPOSAL
Aika N CampainArgentinaIvan Magalhaes NEW
Nicolas G ButtIndiaAmy Elsner NEGOTIATION
Stacey Y InouyeIndiaBernardo Dominic NEW
Aika L RutaArgentinaAsiya Javayant NEW
Smith F TollnerGermanyAnna Fali UNQUALIFIED
Clifford H MorascaItalyBernardo Dominic PROPOSAL
Juan M BologniaSpainXuxue Feng UNQUALIFIED
Smith R MaletFranceOnyama Limba QUALIFIED
Faith X FollerIndiaAnna Fali QUALIFIED
Rodrigues J PerinArgentinaIoni Bowcher PROPOSAL
Francesco Y StensethUnited KingdomIvan Magalhaes PROPOSAL
Claire J BriddickCanadaElwin Sharvill UNQUALIFIED
Jefferson D GillianJapanOnyama Limba NEW
Salvatore N CampainSpainStephen Shaw NEGOTIATION
Morrow J BologniaBrazilStephen Shaw UNQUALIFIED
Antonio J CaudyAustraliaAmy Elsner QUALIFIED
Chavez V BowleyGermanyBernardo Dominic UNQUALIFIED
Darci L VocelkaSpainIoni Bowcher RENEWAL
Darci O GillianRussiaAsiya Javayant NEGOTIATION
Arvin N PoquetteUnited KingdomIoni Bowcher NEW
Costa Q GlickGermanyAsiya Javayant PROPOSAL
Stacey W OldroydGermanyAsiya Javayant QUALIFIED
Francesco H CaldareraUnited KingdomAsiya Javayant RENEWAL
Smith M AmigonJapanAsiya Javayant QUALIFIED
Aruna Z DoeFranceIvan Magalhaes RENEWAL
James W GauchoJapanIvan Magalhaes PROPOSAL
Murillo R StockhamUnited KingdomStephen Shaw NEGOTIATION
Rodrigues P BowleyAustraliaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Misaki W Garufi
Octavia Y Perin
Emily D Ferencz
Faith U Iturbide
Leon P Slusarski
Munro H Sergi
Alejandro A Caudy
Greenwood P Bolognia
Tony H Darakjy
Cody M Saylors
Octavia Y Marrier
Wickens L Amigon
Jeanfrancois U Rim
Tony K Flosi
James F Ruta
Jones X Chui
Emily X Chui
Silvio A Nestle
Octavia W Maclead
Ricardo H Sergi
Rodrigues O Perin
Ivar B Shinko
Ivar A Stockham
Darci V Whobrey
Ashley N Briddick
Antonio K Bowley
Misaki W Iturbide
Maisha S Waycott
Emily H Ferencz
Munro I Chui
Murillo T Slusarski
Aruna X Rulapaugh
Greenwood Y Nicka
Jones U Rim
Leon I Briddick
Leja A Marrier
Isabel J Dilliard
Johnson I Maclead
Octavia M Paprocki
Antonio R Ruta
Munro H Ostrosky
Alejandro G Stockham
Maria G Stockham
Rodrigues A Slusarski
Julie Y Caudy
Adams K Garufi
Mayumi C Nicka
Aika W Sergi
James D Marrier
Ricardo S Saylors
IdCountryDate
1000United Kingdom2025-04-09
1001Argentina2025-04-07
1002Japan2025-04-13
1003France2025-04-20
1004Australia2025-04-20
1005Russia2025-04-05
1006Germany2025-04-22
1007Canada2025-04-08
1008Russia2025-04-22
1009Australia2025-04-22
1010Russia2025-04-07
1011Russia2025-04-22
1012Italy2025-04-17
1013Russia2025-04-28
1014Australia2025-04-02
1015Italy2025-04-06
1016Argentina2025-04-11
1017Canada2025-04-22
1018India2025-04-17
1019India2025-04-28
1020Australia2025-04-17
1021Australia2025-04-27
1022United Kingdom2025-04-11
1023Japan2025-04-03
1024Italy2025-04-05
1025Japan2025-04-17
1026Argentina2025-04-30
1027Russia2025-04-17
1028Italy2025-04-01
1029Russia2025-04-13
1030Germany2025-04-12
1031France2025-04-30
1032Japan2025-04-26
1033Germany2025-04-14
1034Germany2025-04-14
1035United Kingdom2025-04-19
1036Spain2025-04-22
1037Australia2025-04-24
1038Russia2025-04-09
1039Russia2025-04-30
1040Germany2025-04-06
1041Germany2025-04-12
1042Australia2025-04-14
1043Japan2025-04-13
1044Australia2025-04-16
1045Germany2025-04-05
1046United Kingdom2025-04-29
1047India2025-04-02
1048Brazil2025-04-04
1049Italy2025-04-10

On-Demand Data

NameIdCountryDate
Octavia V Royster1000Germany2025-04-26
Darci K Bowley1001Argentina2025-04-18
Ivar N Iturbide1002Brazil2025-04-18
Antonio E Ruta1003Brazil2025-04-01
Ivar Z Doe1004Japan2025-04-06
Chavez I Oldroyd1005Italy2025-04-03
Adams B Morasca1006Russia2025-04-15
Sinclair H Oldroyd1007Spain2025-04-28
Mayumi Z Nestle1008Brazil2025-04-04
Costa R Darakjy1009Australia2025-04-06
Claire A Garufi1010United Kingdom2025-04-25
Sinclair K Perin1011United Kingdom2025-04-05
Isabel G Whobrey1012Brazil2025-04-15
Costa L Darakjy1013Germany2025-04-25
Francesco W Royster1014Italy2025-04-26
Misaki W Ostrosky1015India2025-04-13
Ashley H Stockham1016Italy2025-04-16
James J Stockham1017Spain2025-04-29
Deepesh K Rim1018Germany2025-04-08
Deepesh Q Rim1019India2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X ChuiCanadaBernardo Dominic PROPOSAL
Adams O InouyeItalyBernardo Dominic QUALIFIED
Francesco P MaletSpainIvan Magalhaes NEW
Izzy Y SaylorsSpainBernardo Dominic RENEWAL
Morrow A FerenczItalyXuxue Feng NEGOTIATION
Aika J InouyeItalyAnna Fali PROPOSAL
Leon U SaylorsBrazilXuxue Feng PROPOSAL
Jennifer E BologniaFranceIvan Magalhaes PROPOSAL
Cody K IturbideJapanAsiya Javayant NEGOTIATION
Kaitlin T GarufiUnited KingdomOnyama Limba QUALIFIED
Francesco D TollnerAustraliaIvan Magalhaes RENEWAL
Emily T ShinkoJapanAsiya Javayant NEW
Izzy A RimFranceBernardo Dominic QUALIFIED
Jones H SlusarskiArgentinaStephen Shaw NEGOTIATION
Isabel U FlosiArgentinaIvan Magalhaes QUALIFIED
Clifford L ShinkoRussiaBernardo Dominic RENEWAL
Morrow V FigeroaIndiaBernardo Dominic NEGOTIATION
Tony O RoysterCanadaIvan Magalhaes QUALIFIED
Leon R DilliardArgentinaIoni Bowcher PROPOSAL
Munro H PaprockiJapanAmy Elsner UNQUALIFIED
Murillo J RulapaughSpainIvan Magalhaes QUALIFIED
Greenwood C MaletFranceAmy Elsner NEGOTIATION
Jennifer X DilliardArgentinaStephen Shaw QUALIFIED
Maisha N ShinkoUnited KingdomStephen Shaw RENEWAL
Stacey E GlickCanadaAnna Fali RENEWAL
Jefferson U SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Faith O MarrierJapanIvan Magalhaes NEGOTIATION
Stacey J AmigonArgentinaAsiya Javayant PROPOSAL
Leon J GauchoAustraliaAsiya Javayant NEW
Chavez P BowleyFranceBernardo Dominic NEGOTIATION
Julie B ButtFranceAmy Elsner PROPOSAL
Clifford R RimSpainStephen Shaw NEW
Alejandro D RimItalyBernardo Dominic QUALIFIED
Leon K CaudyGermanyIvan Magalhaes RENEWAL
Greenwood N MarrierAustraliaBernardo Dominic RENEWAL
Alejandro Y IturbideAustraliaIvan Magalhaes RENEWAL
Adams E InouyeItalyBernardo Dominic NEGOTIATION
Stacey B VocelkaJapanAnna Fali RENEWAL
Ivar H RimSpainOnyama Limba NEGOTIATION
Antonio L ButtCanadaStephen Shaw NEW

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