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
Ashley V FigeroaBrazilElwin Sharvill NEW
Octavia E InouyeArgentinaBernardo Dominic QUALIFIED
Tony C ChuiGermanyIvan Magalhaes UNQUALIFIED
Izzy Z PerinItalyXuxue Feng PROPOSAL
Emily V DilliardArgentinaElwin Sharvill RENEWAL
Stacey S SlusarskiCanadaAmy Elsner RENEWAL
Cody C VocelkaItalyXuxue Feng UNQUALIFIED
Smith X AlbaresUnited KingdomAnna Fali NEGOTIATION
Darci A RutaArgentinaElwin Sharvill QUALIFIED
Alejandro E SchemmerFranceAsiya Javayant NEGOTIATION
Aika A BologniaArgentinaAsiya Javayant NEW
Julie J WaycottRussiaStephen Shaw RENEWAL
Murillo A ShinkoRussiaAsiya Javayant NEW
Emily P KuskoBrazilIoni Bowcher PROPOSAL
Maria T SaylorsBrazilIoni Bowcher NEW
David X DoeBrazilAsiya Javayant UNQUALIFIED
David F SergiFranceIvan Magalhaes NEGOTIATION
Aruna S ChuiJapanElwin Sharvill UNQUALIFIED
Antonio R StensethFranceBernardo Dominic RENEWAL
Wickens H RimItalyStephen Shaw RENEWAL
Kaitlin Y GlickRussiaAnna Fali NEW
Izzy V WieserItalyElwin Sharvill QUALIFIED
Claire R MaletFranceStephen Shaw NEGOTIATION
David C RulapaughSpainOnyama Limba RENEWAL
Arvin U StockhamSpainStephen Shaw NEW
Alejandro Z GarufiSpainAsiya Javayant PROPOSAL
Johnson H RutaGermanyIoni Bowcher NEW
Munro M FigeroaRussiaAsiya Javayant QUALIFIED
Jeanfrancois J StockhamGermanyAmy Elsner RENEWAL
Aika B AmigonBrazilIoni Bowcher NEGOTIATION
Francesco I ShinkoIndiaOnyama Limba UNQUALIFIED
Smith B BowleySpainAmy Elsner QUALIFIED
Faith F VenereItalyElwin Sharvill UNQUALIFIED
Claire N BowleyItalyAnna Fali PROPOSAL
Juan E FerenczItalyAnna Fali PROPOSAL
Misaki Q PerinFranceXuxue Feng NEGOTIATION
Kaitlin W CampainRussiaStephen Shaw NEW
Aruna P SlusarskiSpainAmy Elsner NEGOTIATION
Claire B WhobreyGermanyXuxue Feng NEW
Juan G ShinkoFranceElwin Sharvill NEGOTIATION
Nicolas W StockhamJapanBernardo Dominic UNQUALIFIED
Johnson F DoeAustraliaIoni Bowcher UNQUALIFIED
Arvin K ChuiJapanElwin Sharvill NEW
Tony C SchemmerFranceIoni Bowcher QUALIFIED
Costa Q WhobreyAustraliaOnyama Limba RENEWAL
Wickens I WhobreyJapanAsiya Javayant QUALIFIED
Misaki F RimUnited KingdomOnyama Limba PROPOSAL
James T KolmetzArgentinaBernardo Dominic RENEWAL
Adams C VenereIndiaStephen Shaw NEW
Silvio V PoquetteItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo F ShinkoIndiaAnna Fali NEGOTIATION
Jones K FollerUnited KingdomOnyama Limba UNQUALIFIED
Wickens F DoeSpainAmy Elsner NEW
Rodrigues V GlickSpainIvan Magalhaes RENEWAL
Mayumi U RutaUnited KingdomOnyama Limba NEGOTIATION
Mayumi U WhobreyIndiaIoni Bowcher RENEWAL
Emily N TollnerItalyAnna Fali NEGOTIATION
Munro M SaylorsFranceOnyama Limba QUALIFIED
Antonio W FlosiArgentinaStephen Shaw PROPOSAL
Aika N WaycottUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba F OstroskyUnited Kingdom2026-08-28Rangoni Of Florence PROPOSAL83Xuxue Feng
1001Nicolas L TollnerIndia2026-08-23Chanay, Jeffrey A Esq NEGOTIATION88Stephen Shaw
1002Claire X GlickSpain2026-08-04Dorl, James J Esq NEGOTIATION97Xuxue Feng
1003Adams B FigeroaRussia2026-08-04Truhlar And Truhlar Attys RENEWAL36Bernardo Dominic
1004Ricardo C OstroskyItaly2026-08-09Dorl, James J Esq UNQUALIFIED33Stephen Shaw
1005Kaitlin J WieserJapan2026-08-05Chapman, Ross E Esq RENEWAL68Stephen Shaw
1006Wickens O MaletItaly2026-08-17Rousseaux, Michael Esq UNQUALIFIED15Ivan Magalhaes
1007Isabel V NickaBrazil2026-08-26King, Christopher A Esq RENEWAL0Asiya Javayant
1008Jennifer M CaudyCanada2026-08-15Chemel, James L Cpa NEW62Stephen Shaw
1009Murillo V CaldareraSpain2026-08-18Chapman, Ross E Esq PROPOSAL25Xuxue Feng
1010Cody Y OstroskyJapan2026-08-07Chanay, Jeffrey A Esq QUALIFIED42Ivan Magalhaes
1011Darci L FollerAustralia2026-08-24Morlong Associates NEW1Ioni Bowcher
1012Murillo A KolmetzArgentina2026-08-21Chanay, Jeffrey A Esq QUALIFIED34Ioni Bowcher
1013Juan S InouyeCanada2026-08-28Chanay, Jeffrey A Esq UNQUALIFIED83Stephen Shaw
1014Murillo J SlusarskiUnited Kingdom2026-08-22King, Christopher A Esq UNQUALIFIED84Onyama Limba
1015Tony M SlusarskiAustralia2026-08-15Chanay, Jeffrey A Esq NEGOTIATION47Ivan Magalhaes
1016Darci A SlusarskiArgentina2026-08-28King, Christopher A Esq QUALIFIED16Xuxue Feng
1017Faith T OstroskyBrazil2026-08-05Chapman, Ross E Esq UNQUALIFIED19Ioni Bowcher
1018Nicolas Z FollerIndia2026-08-26Chanay, Jeffrey A Esq NEGOTIATION82Xuxue Feng
1019Clifford J OldroydGermany2026-08-07Buckley Miller Wright QUALIFIED76Anna Fali
1020Kaitlin H DilliardIndia2026-08-20Rousseaux, Michael Esq RENEWAL33Stephen Shaw
1021Darci K BriddickArgentina2026-08-21Feltz Printing Service QUALIFIED26Elwin Sharvill
1022Kaitlin G OldroydUnited Kingdom2026-08-12King, Christopher A Esq UNQUALIFIED64Amy Elsner
1023Murillo S TollnerGermany2026-08-03Feltz Printing Service QUALIFIED59Ivan Magalhaes
1024Jones T MacleadIndia2026-08-14Benton, John B Jr RENEWAL48Ioni Bowcher
1025Francesco L MarrierArgentina2026-08-24Chapman, Ross E Esq UNQUALIFIED68Amy Elsner
1026Jefferson X DarakjyIndia2026-08-11Chemel, James L Cpa PROPOSAL87Anna Fali
1027David M SergiArgentina2026-08-29Printing Dimensions PROPOSAL15Elwin Sharvill
1028Smith G MaletArgentina2026-08-13Dorl, James J Esq QUALIFIED3Bernardo Dominic
1029Johnson C GauchoJapan2026-08-05Chapman, Ross E Esq NEGOTIATION28Anna Fali
1030Darci X WaycottSpain2026-08-31Printing Dimensions UNQUALIFIED56Elwin Sharvill
1031Jefferson L BriddickBrazil2026-08-14Feltz Printing Service UNQUALIFIED46Xuxue Feng
1032Greenwood C NickaSpain2026-08-15Morlong Associates NEGOTIATION54Stephen Shaw
1033Ivar E IturbideFrance2026-08-27Truhlar And Truhlar Attys UNQUALIFIED35Onyama Limba
1034Arvin C BologniaCanada2026-08-24Truhlar And Truhlar Attys NEGOTIATION51Amy Elsner
1035Faith D NickaCanada2026-08-26Morlong Associates NEGOTIATION20Xuxue Feng
1036Sinclair T PerinIndia2026-08-09Printing Dimensions UNQUALIFIED32Asiya Javayant
1037James T VenereUnited Kingdom2026-08-04Chemel, James L Cpa NEW9Ivan Magalhaes
1038Costa S WieserCanada2026-08-14Feltz Printing Service NEGOTIATION60Stephen Shaw
1039Faith F MaletSpain2026-08-10Feiner Bros QUALIFIED85Amy Elsner
1040Costa J ChuiJapan2026-08-06King, Christopher A Esq RENEWAL91Xuxue Feng
1041Tony O OldroydCanada2026-08-11Commercial Press QUALIFIED98Ioni Bowcher
1042Cody F FigeroaBrazil2026-08-24Chanay, Jeffrey A Esq PROPOSAL5Asiya Javayant
1043Francesco S ShinkoIndia2026-08-23Commercial Press NEW14Ioni Bowcher
1044Leon E VenereSpain2026-08-25Truhlar And Truhlar Attys NEW39Asiya Javayant
1045Kaitlin Y CaudyItaly2026-08-28Chapman, Ross E Esq NEW11Elwin Sharvill
1046Antonio I DarakjyItaly2026-08-29Printing Dimensions NEGOTIATION90Asiya Javayant
1047Emily Z GauchoJapan2026-08-23Printing Dimensions PROPOSAL35Elwin Sharvill
1048Leja T AmigonRussia2026-08-05Commercial Press RENEWAL84Onyama Limba
1049Leon Z InouyeGermany2026-08-31Truhlar And Truhlar Attys PROPOSAL34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford V CaudyGermanyXuxue Feng UNQUALIFIED
Aditya D MacleadRussiaBernardo Dominic NEGOTIATION
Stacey L MaletIndiaAnna Fali QUALIFIED
Sinclair K MaletSpainIoni Bowcher UNQUALIFIED
Aika R InouyeBrazilAnna Fali QUALIFIED
Misaki O FigeroaAustraliaXuxue Feng QUALIFIED
Alejandro I KolmetzBrazilOnyama Limba RENEWAL
Murillo H SchemmerJapanStephen Shaw PROPOSAL
David R KuskoBrazilAnna Fali PROPOSAL
Emily G VocelkaIndiaAmy Elsner NEGOTIATION
Aika L PaprockiItalyAmy Elsner PROPOSAL
Aika Y AmigonAustraliaElwin Sharvill QUALIFIED
David L BologniaSpainIvan Magalhaes NEGOTIATION
Rodrigues K PaprockiSpainBernardo Dominic NEGOTIATION
Maria N GarufiRussiaAmy Elsner NEW
Antonio E PaprockiAustraliaOnyama Limba RENEWAL
Emily W GillianAustraliaElwin Sharvill NEGOTIATION
Tony X ChuiRussiaOnyama Limba UNQUALIFIED
Murillo N SlusarskiJapanIvan Magalhaes NEGOTIATION
Smith H RimIndiaIoni Bowcher NEW
Claire E NestleIndiaOnyama Limba RENEWAL
Darci R KolmetzArgentinaAsiya Javayant RENEWAL
David D RutaSpainAsiya Javayant NEW
Stacey I MorascaSpainIvan Magalhaes RENEWAL
Arvin I BologniaSpainOnyama Limba NEW
Kadeem T MorascaIndiaAmy Elsner UNQUALIFIED
Adams W GauchoJapanXuxue Feng RENEWAL
Darci X NestleUnited KingdomAnna Fali NEW
Julie F StockhamRussiaXuxue Feng QUALIFIED
Misaki P OldroydFranceAnna Fali QUALIFIED
Ashley O SergiFranceIoni Bowcher UNQUALIFIED
Costa X VocelkaJapanXuxue Feng NEW
Ashley C FlosiAustraliaBernardo Dominic PROPOSAL
Wickens I WhobreyRussiaStephen Shaw RENEWAL
Clifford F RoysterUnited KingdomIvan Magalhaes PROPOSAL
Jones E SchemmerSpainStephen Shaw NEGOTIATION
Kaitlin I CaudyBrazilAsiya Javayant NEGOTIATION
Maisha M MaletArgentinaIvan Magalhaes RENEWAL
Jones Z GarufiIndiaXuxue Feng QUALIFIED
Maisha S MaletRussiaAmy Elsner RENEWAL
Greenwood Q PerinUnited KingdomStephen Shaw PROPOSAL
David Q VocelkaFranceElwin Sharvill PROPOSAL
Octavia I SaylorsJapanStephen Shaw RENEWAL
Greenwood M PoquetteAustraliaIoni Bowcher NEW
Arvin K VenereIndiaStephen Shaw NEW
Clifford J FollerGermanyElwin Sharvill QUALIFIED
Izzy B RimAustraliaIoni Bowcher QUALIFIED
Emily J GillianJapanIoni Bowcher QUALIFIED
Juan J DoeBrazilAsiya Javayant RENEWAL
Jeanfrancois C PerinCanadaXuxue Feng PROPOSAL
Frozen Columns
Name
Stacey I Saylors
Greenwood G Malet
Aika G Stockham
Clifford Z Oldroyd
Cody N Kolmetz
Jennifer J Shinko
Johnson M Albares
Julie G Slusarski
Munro X Garufi
Sinclair M Stockham
Kaitlin U Malet
Ivar N Glick
Stacey D Garufi
Morrow F Waycott
Wickens R Sergi
Jones J Vocelka
David Z Marrier
Mayumi A Ferencz
Nicolas X Foller
Adams P Bowley
Silvio K Stenseth
Jeanfrancois S Bolognia
Jones Z Garufi
Salvatore D Campain
Mujtaba L Ruta
Leja O Malet
Clifford G Briddick
Cody V Gaucho
Adams U Morasca
Aruna A Vocelka
Ivar F Kusko
Costa H Darakjy
Tony S Butt
Jefferson L Nicka
Maisha Q Marrier
Mujtaba P Amigon
Leon W Foller
Faith A Rulapaugh
Munro K Malet
Juan F Caldarera
Alejandro K Dilliard
Jones H Perin
Jefferson J Nicka
Tony G Nestle
Deepesh Y Malet
Jeanfrancois M Campain
Rodrigues X Morasca
Izzy X Flosi
Adams J Dilliard
Deepesh O Schemmer
IdCountryDate
1000Canada2026-08-24
1001Germany2026-09-01
1002India2026-08-28
1003Spain2026-08-05
1004Argentina2026-08-25
1005India2026-08-29
1006Germany2026-08-31
1007United Kingdom2026-08-20
1008United Kingdom2026-08-10
1009Russia2026-08-07
1010Germany2026-08-17
1011Italy2026-08-17
1012India2026-08-30
1013United Kingdom2026-08-31
1014Brazil2026-08-20
1015India2026-08-06
1016Canada2026-08-14
1017United Kingdom2026-08-19
1018United Kingdom2026-08-27
1019Japan2026-08-05
1020Germany2026-08-10
1021Canada2026-08-28
1022Canada2026-08-29
1023Canada2026-08-26
1024India2026-08-31
1025Germany2026-08-16
1026Japan2026-08-05
1027United Kingdom2026-08-17
1028Australia2026-08-13
1029Canada2026-08-23
1030Canada2026-09-01
1031Argentina2026-08-08
1032Russia2026-08-15
1033Spain2026-08-20
1034Japan2026-08-13
1035Russia2026-08-09
1036France2026-08-18
1037Australia2026-08-30
1038Italy2026-08-09
1039Italy2026-08-12
1040Italy2026-08-22
1041United Kingdom2026-08-30
1042Canada2026-08-30
1043Germany2026-08-24
1044United Kingdom2026-08-04
1045Russia2026-08-09
1046Germany2026-08-10
1047Italy2026-08-13
1048Italy2026-08-29
1049Russia2026-08-16

On-Demand Data

NameIdCountryDate
Ricardo L Stockham1000France2026-08-13
Ricardo X Caldarera1001Germany2026-08-17
Cody R Slusarski1002France2026-08-30
Izzy G Briddick1003Canada2026-08-24
Rodrigues X Stockham1004Argentina2026-08-07
Deepesh O Rim1005India2026-08-21
Misaki S Flosi1006United Kingdom2026-08-15
Maria H Nicka1007Russia2026-08-18
Isabel H Malet1008Russia2026-08-29
Aditya B Doe1009Canada2026-08-17
Jones L Gillian1010Canada2026-08-30
Deepesh Z Garufi1011Italy2026-08-14
Costa Q Amigon1012Germany2026-08-04
Isabel V Amigon1013Spain2026-08-22
Stacey F Bowley1014Canada2026-08-14
Ashley W Stenseth1015Japan2026-08-19
Stacey T Ferencz1016Japan2026-08-27
Salvatore T Garufi1017United Kingdom2026-09-01
Izzy H Malet1018India2026-08-03
Jeanfrancois D Chui1019Japan2026-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie E RimIndiaAnna Fali QUALIFIED
Deepesh X BriddickCanadaIvan Magalhaes UNQUALIFIED
Izzy M NickaAustraliaBernardo Dominic NEW
Ivar T RulapaughItalyBernardo Dominic RENEWAL
Nicolas M KolmetzGermanyBernardo Dominic RENEWAL
Mujtaba U BriddickJapanXuxue Feng NEW
Deepesh J VocelkaFranceStephen Shaw RENEWAL
Nicolas F IturbideJapanElwin Sharvill UNQUALIFIED
Juan I SchemmerIndiaBernardo Dominic PROPOSAL
Darci H MaletGermanyIvan Magalhaes UNQUALIFIED
Cody R OstroskyJapanAmy Elsner RENEWAL
Munro R DoeFranceStephen Shaw UNQUALIFIED
Clifford S StockhamUnited KingdomAsiya Javayant NEGOTIATION
Izzy Y RutaSpainOnyama Limba NEW
Kaitlin O NestleItalyAnna Fali NEW
Juan D GauchoFranceElwin Sharvill UNQUALIFIED
Greenwood X MarrierIndiaBernardo Dominic QUALIFIED
Adams O SergiBrazilElwin Sharvill RENEWAL
Adams H WhobreyBrazilAsiya Javayant UNQUALIFIED
Jefferson R IturbideUnited KingdomOnyama Limba NEW
Jennifer Y GlickJapanIoni Bowcher NEGOTIATION
Chavez P BriddickSpainIvan Magalhaes RENEWAL
Ivar P StensethCanadaIvan Magalhaes NEGOTIATION
Juan F RutaGermanyIoni Bowcher RENEWAL
Smith T InouyeSpainIvan Magalhaes NEW
Sinclair K RutaIndiaXuxue Feng NEW
Jones O PerinCanadaElwin Sharvill UNQUALIFIED
Salvatore V ChuiItalyBernardo Dominic UNQUALIFIED
Ashley W NestleRussiaIvan Magalhaes RENEWAL
Emily J RimItalyAsiya Javayant QUALIFIED
David U WieserItalyBernardo Dominic NEW
Maria G RutaGermanyIvan Magalhaes UNQUALIFIED
Adams J GauchoGermanyIvan Magalhaes UNQUALIFIED
Greenwood S FigeroaIndiaAnna Fali NEW
Maisha T GauchoFranceElwin Sharvill NEW
Claire J DarakjySpainXuxue Feng RENEWAL
Chavez X FollerBrazilAmy Elsner QUALIFIED
Isabel I CaldareraJapanIvan Magalhaes PROPOSAL
Munro I MaletGermanyBernardo Dominic PROPOSAL
Darci B NestleIndiaElwin Sharvill NEGOTIATION

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