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
Jeanfrancois H RimGermanyBernardo Dominic UNQUALIFIED
Darci T GlickSpainStephen Shaw RENEWAL
Darci F CaldareraUnited KingdomAmy Elsner NEW
Leja Z StockhamJapanIoni Bowcher QUALIFIED
Isabel R RoysterCanadaAmy Elsner NEW
Greenwood R OstroskyCanadaAsiya Javayant NEW
Morrow K PerinJapanOnyama Limba RENEWAL
Darci I MarrierArgentinaIoni Bowcher QUALIFIED
Alejandro G DilliardGermanyStephen Shaw NEW
Faith A SaylorsCanadaIvan Magalhaes PROPOSAL
James E CaudyAustraliaXuxue Feng NEGOTIATION
Leon B KuskoItalyAnna Fali NEGOTIATION
Adams G WieserAustraliaAnna Fali NEGOTIATION
Greenwood J StockhamCanadaBernardo Dominic QUALIFIED
Arvin J FerenczJapanIvan Magalhaes RENEWAL
James M KolmetzItalyIoni Bowcher NEW
Greenwood X PerinAustraliaAnna Fali QUALIFIED
Greenwood G RutaSpainOnyama Limba PROPOSAL
Izzy G StensethUnited KingdomAsiya Javayant NEGOTIATION
Alejandro M SergiFranceIvan Magalhaes NEGOTIATION
Ashley S CaldareraRussiaIvan Magalhaes NEGOTIATION
Kadeem I RulapaughAustraliaIvan Magalhaes PROPOSAL
Cody M CampainGermanyAsiya Javayant RENEWAL
Salvatore G NestleJapanIoni Bowcher NEW
Wickens M SergiItalyXuxue Feng PROPOSAL
Aika O FlosiRussiaAnna Fali QUALIFIED
Alejandro H ButtJapanAsiya Javayant UNQUALIFIED
Munro I PerinCanadaElwin Sharvill NEGOTIATION
Greenwood X PerinGermanyOnyama Limba NEW
Claire S DoeItalyIoni Bowcher NEGOTIATION
Aruna T AmigonSpainIvan Magalhaes NEW
Francesco V RimItalyElwin Sharvill PROPOSAL
Kadeem G BriddickItalyBernardo Dominic UNQUALIFIED
Clifford O MacleadRussiaIvan Magalhaes UNQUALIFIED
Leon O FigeroaRussiaAnna Fali PROPOSAL
James Q SaylorsSpainAmy Elsner QUALIFIED
Antonio L FlosiArgentinaAmy Elsner NEW
Misaki O GillianItalyElwin Sharvill NEGOTIATION
Izzy S MarrierAustraliaXuxue Feng PROPOSAL
Maria S StensethIndiaBernardo Dominic NEGOTIATION
David Q NestleRussiaOnyama Limba UNQUALIFIED
Chavez L FollerFranceAmy Elsner NEW
Stacey J WieserFranceXuxue Feng PROPOSAL
Faith A DoeRussiaAmy Elsner QUALIFIED
Costa W ShinkoItalyElwin Sharvill NEGOTIATION
Darci L DilliardAustraliaAmy Elsner NEGOTIATION
Ashley E BologniaCanadaXuxue Feng RENEWAL
Smith H WhobreySpainElwin Sharvill UNQUALIFIED
Deepesh M AmigonSpainElwin Sharvill NEW
Izzy G MacleadFranceElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi W SaylorsFranceIvan Magalhaes PROPOSAL
Greenwood R GauchoArgentinaAmy Elsner QUALIFIED
Salvatore B ButtIndiaAnna Fali UNQUALIFIED
Johnson M NestleRussiaXuxue Feng UNQUALIFIED
Jefferson J AmigonUnited KingdomXuxue Feng PROPOSAL
Francesco P BowleyItalyElwin Sharvill UNQUALIFIED
Alejandro A FlosiItalyIoni Bowcher QUALIFIED
Salvatore W BowleyFranceAnna Fali UNQUALIFIED
Smith T SergiCanadaElwin Sharvill UNQUALIFIED
Tony Q OldroydGermanyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan B WieserUnited Kingdom2026-07-29Feiner Bros NEGOTIATION69Ivan Magalhaes
1001Munro B SergiCanada2026-07-07Truhlar And Truhlar Attys NEW69Bernardo Dominic
1002Tony N RutaCanada2026-07-04Morlong Associates PROPOSAL88Anna Fali
1003Ivar G WaycottArgentina2026-07-13Printing Dimensions UNQUALIFIED75Ioni Bowcher
1004Clifford N DilliardGermany2026-07-27Printing Dimensions NEGOTIATION66Asiya Javayant
1005Izzy N AmigonIndia2026-07-18Dorl, James J Esq NEW41Amy Elsner
1006Clifford U AmigonRussia2026-07-13Buckley Miller Wright RENEWAL15Ivan Magalhaes
1007Salvatore T FlosiBrazil2026-07-04Dorl, James J Esq NEGOTIATION97Asiya Javayant
1008Ricardo U IturbideIndia2026-07-15Truhlar And Truhlar Attys QUALIFIED69Bernardo Dominic
1009Stacey B AlbaresJapan2026-07-03King, Christopher A Esq QUALIFIED54Xuxue Feng
1010Costa S StockhamRussia2026-07-31Truhlar And Truhlar Attys NEGOTIATION37Amy Elsner
1011Clifford W GarufiArgentina2026-07-28Buckley Miller Wright RENEWAL23Anna Fali
1012Leja Z GauchoIndia2026-07-28King, Christopher A Esq RENEWAL50Asiya Javayant
1013Octavia C NestleRussia2026-07-21Feiner Bros NEW47Amy Elsner
1014Salvatore J PerinRussia2026-07-10Buckley Miller Wright QUALIFIED60Anna Fali
1015Aruna A StensethSpain2026-07-07Chemel, James L Cpa RENEWAL11Xuxue Feng
1016Jennifer Y InouyeItaly2026-07-07King, Christopher A Esq PROPOSAL50Onyama Limba
1017Salvatore Q MaletGermany2026-07-21King, Christopher A Esq NEW37Amy Elsner
1018Rodrigues Y InouyeBrazil2026-07-11Truhlar And Truhlar Attys UNQUALIFIED64Amy Elsner
1019Johnson G MaletUnited Kingdom2026-07-25Truhlar And Truhlar Attys PROPOSAL49Onyama Limba
1020Mujtaba J MarrierRussia2026-07-24Buckley Miller Wright RENEWAL71Stephen Shaw
1021Maria T NestleFrance2026-07-23Morlong Associates PROPOSAL48Xuxue Feng
1022Salvatore H FollerArgentina2026-07-03Printing Dimensions RENEWAL5Anna Fali
1023Maria P StockhamItaly2026-08-01Dorl, James J Esq RENEWAL18Anna Fali
1024Murillo L CampainAustralia2026-07-21Chapman, Ross E Esq NEGOTIATION69Onyama Limba
1025Maria J BologniaGermany2026-07-18Benton, John B Jr NEGOTIATION89Onyama Limba
1026Ashley W MarrierArgentina2026-07-23Truhlar And Truhlar Attys RENEWAL44Onyama Limba
1027Cody A VocelkaCanada2026-07-04Chapman, Ross E Esq UNQUALIFIED24Ioni Bowcher
1028Aika N NestleGermany2026-07-22Rousseaux, Michael Esq NEW56Onyama Limba
1029Smith J ButtUnited Kingdom2026-07-19Rangoni Of Florence PROPOSAL90Xuxue Feng
1030Antonio A PerinGermany2026-07-05Feltz Printing Service QUALIFIED10Stephen Shaw
1031Maria W VenereRussia2026-07-11King, Christopher A Esq NEGOTIATION6Stephen Shaw
1032Jeanfrancois Z BologniaUnited Kingdom2026-07-03King, Christopher A Esq NEGOTIATION31Bernardo Dominic
1033Isabel R TollnerRussia2026-07-07Buckley Miller Wright RENEWAL10Onyama Limba
1034Jefferson R CampainBrazil2026-07-26Commercial Press RENEWAL17Anna Fali
1035Kaitlin U PerinGermany2026-07-10Rousseaux, Michael Esq NEW84Bernardo Dominic
1036Aruna C VocelkaCanada2026-07-31Commercial Press NEGOTIATION84Asiya Javayant
1037Jennifer U NickaBrazil2026-07-28Feiner Bros PROPOSAL89Asiya Javayant
1038Jefferson B MarrierSpain2026-07-05Rangoni Of Florence NEGOTIATION76Anna Fali
1039Leon O PoquetteSpain2026-07-10Printing Dimensions RENEWAL20Asiya Javayant
1040Octavia V SaylorsAustralia2026-07-17Truhlar And Truhlar Attys QUALIFIED40Bernardo Dominic
1041Leon U SergiFrance2026-07-30Commercial Press NEGOTIATION19Onyama Limba
1042Adams D AlbaresAustralia2026-07-20Benton, John B Jr UNQUALIFIED51Bernardo Dominic
1043Arvin U WaycottIndia2026-07-29Buckley Miller Wright NEW24Amy Elsner
1044Silvio N MorascaItaly2026-07-04Chanay, Jeffrey A Esq NEW42Ioni Bowcher
1045Maisha O StensethJapan2026-07-29Feltz Printing Service PROPOSAL86Anna Fali
1046Jeanfrancois J TollnerBrazil2026-07-13Chapman, Ross E Esq NEGOTIATION23Anna Fali
1047Stacey U WaycottGermany2026-07-05Chemel, James L Cpa PROPOSAL67Stephen Shaw
1048Morrow L DoeItaly2026-07-05Rangoni Of Florence NEGOTIATION36Bernardo Dominic
1049Leon M NickaIndia2026-07-28King, Christopher A Esq UNQUALIFIED36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh K TollnerAustraliaIoni Bowcher PROPOSAL
Arvin V ChuiJapanAsiya Javayant NEGOTIATION
Johnson V SchemmerGermanyAnna Fali NEW
Kadeem H IturbideUnited KingdomAmy Elsner RENEWAL
Claire H KuskoUnited KingdomAsiya Javayant NEW
Ivar F CampainCanadaElwin Sharvill UNQUALIFIED
Ashley U GarufiSpainAnna Fali NEGOTIATION
James K GauchoIndiaBernardo Dominic UNQUALIFIED
Clifford J PoquetteBrazilElwin Sharvill PROPOSAL
Nicolas L AlbaresRussiaIoni Bowcher QUALIFIED
Munro B FlosiFranceAnna Fali PROPOSAL
Aditya B SergiJapanElwin Sharvill UNQUALIFIED
Aruna O InouyeGermanyXuxue Feng RENEWAL
Mujtaba V KolmetzSpainIvan Magalhaes NEW
Francesco B VenereGermanyAnna Fali NEW
Cody A BriddickCanadaAmy Elsner UNQUALIFIED
Jones A StensethUnited KingdomXuxue Feng RENEWAL
Ricardo C GlickSpainBernardo Dominic NEW
Smith W MarrierUnited KingdomStephen Shaw NEW
Costa Y CaldareraBrazilIoni Bowcher NEGOTIATION
Wickens U BologniaRussiaAnna Fali PROPOSAL
Smith T FigeroaCanadaAsiya Javayant UNQUALIFIED
Octavia G CampainSpainOnyama Limba UNQUALIFIED
Isabel W VocelkaBrazilIvan Magalhaes RENEWAL
Ivar R DilliardIndiaStephen Shaw UNQUALIFIED
Aika U WhobreyJapanXuxue Feng PROPOSAL
Clifford G ButtFranceOnyama Limba NEGOTIATION
Julie M StensethCanadaAnna Fali NEGOTIATION
Wickens K ChuiCanadaBernardo Dominic UNQUALIFIED
Maria M CaudySpainOnyama Limba RENEWAL
Murillo U SergiItalyStephen Shaw UNQUALIFIED
Misaki O DarakjyBrazilBernardo Dominic PROPOSAL
Juan G AlbaresSpainIvan Magalhaes NEGOTIATION
Murillo N MaletFranceBernardo Dominic QUALIFIED
Smith R GauchoArgentinaIvan Magalhaes PROPOSAL
Maisha V PoquetteGermanyXuxue Feng NEW
David Q CaudyRussiaStephen Shaw RENEWAL
Aika Y OstroskyRussiaBernardo Dominic NEW
Arvin V IturbideFranceElwin Sharvill NEGOTIATION
Johnson K CaldareraBrazilXuxue Feng PROPOSAL
Jeanfrancois L FigeroaIndiaAnna Fali UNQUALIFIED
Munro A TollnerItalyAsiya Javayant RENEWAL
Maria E IturbideAustraliaBernardo Dominic QUALIFIED
Chavez A OldroydFranceStephen Shaw UNQUALIFIED
Faith C BowleyRussiaIvan Magalhaes UNQUALIFIED
David S BologniaUnited KingdomStephen Shaw QUALIFIED
Cody J SlusarskiCanadaAnna Fali NEGOTIATION
David S RutaRussiaAnna Fali RENEWAL
Arvin Y SaylorsRussiaIvan Magalhaes UNQUALIFIED
Juan G ButtSpainOnyama Limba UNQUALIFIED
Frozen Columns
Name
Francesco A Schemmer
Adams M Kusko
Nicolas W Malet
Murillo C Ruta
Rodrigues R Rim
Kaitlin L Maclead
Leon R Sergi
Isabel H Wieser
Maisha J Stockham
Julie U Briddick
Leja N Stenseth
Francesco Z Kolmetz
Ivar V Kusko
Morrow Q Kolmetz
Cody W Gillian
Ivar T Amigon
Costa X Amigon
Adams D Slusarski
Kaitlin B Glick
Costa X Waycott
Octavia X Paprocki
Ashley E Ostrosky
Adams B Stockham
Jefferson V Albares
Maisha H Iturbide
Sinclair F Chui
Costa W Sergi
Morrow V Kusko
Misaki Y Albares
Sinclair C Kusko
Aruna T Slusarski
Greenwood K Morasca
Salvatore D Vocelka
Jefferson R Caudy
Jeanfrancois P Doe
Rodrigues U Rim
Chavez W Amigon
Ashley A Nicka
Misaki P Oldroyd
Costa L Chui
Greenwood B Albares
Julie K Kusko
Kaitlin D Stenseth
Maisha O Oldroyd
Julie T Tollner
Maria I Ferencz
Smith L Albares
Chavez Z Butt
Maisha I Ostrosky
Aika N Sergi
IdCountryDate
1000Russia2026-07-26
1001Brazil2026-07-21
1002France2026-07-14
1003India2026-07-09
1004France2026-07-29
1005Canada2026-07-16
1006Spain2026-07-23
1007Canada2026-07-03
1008Germany2026-07-11
1009Canada2026-07-12
1010France2026-07-28
1011India2026-07-16
1012Germany2026-07-10
1013Brazil2026-07-31
1014Japan2026-07-24
1015United Kingdom2026-07-26
1016United Kingdom2026-07-03
1017India2026-07-27
1018France2026-07-30
1019India2026-07-23
1020Brazil2026-07-06
1021India2026-07-28
1022United Kingdom2026-07-09
1023Italy2026-07-23
1024India2026-07-20
1025Brazil2026-07-12
1026Russia2026-07-03
1027Canada2026-07-27
1028France2026-07-03
1029Brazil2026-07-14
1030Spain2026-07-15
1031France2026-08-01
1032Argentina2026-07-12
1033Russia2026-07-20
1034Brazil2026-07-04
1035France2026-07-10
1036Spain2026-07-10
1037France2026-07-11
1038Australia2026-07-08
1039United Kingdom2026-07-22
1040Argentina2026-07-21
1041Brazil2026-07-11
1042India2026-07-10
1043Spain2026-07-11
1044Australia2026-07-28
1045Russia2026-07-05
1046Argentina2026-07-15
1047France2026-07-05
1048Australia2026-07-21
1049United Kingdom2026-07-07

On-Demand Data

NameIdCountryDate
Aika T Perin1000United Kingdom2026-07-14
Adams F Perin1001Canada2026-07-28
Nicolas J Inouye1002Australia2026-07-08
Mayumi G Maclead1003Argentina2026-07-25
Clifford D Wieser1004Brazil2026-07-12
Alejandro V Royster1005Argentina2026-07-09
Murillo R Schemmer1006Brazil2026-07-27
Jeanfrancois Q Sergi1007Japan2026-07-11
Aika Y Butt1008Canada2026-07-31
Emily O Nicka1009United Kingdom2026-07-31
Francesco Y Bolognia1010Russia2026-07-23
Julie L Venere1011India2026-07-17
Nicolas I Perin1012United Kingdom2026-07-25
Leon Y Sergi1013Russia2026-07-07
Arvin E Malet1014Italy2026-07-19
Aditya Y Albares1015Italy2026-07-08
Aditya N Caudy1016Germany2026-07-27
Jones V Malet1017Australia2026-07-30
Jennifer F Vocelka1018Canada2026-07-16
Munro J Malet1019Argentina2026-07-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio C WhobreyBrazilXuxue Feng QUALIFIED
Salvatore N KuskoFranceOnyama Limba NEW
Jones V KolmetzSpainAmy Elsner NEW
Antonio O AlbaresBrazilBernardo Dominic RENEWAL
Cody F CaudyAustraliaBernardo Dominic NEGOTIATION
James F GlickBrazilElwin Sharvill QUALIFIED
Costa G TollnerBrazilElwin Sharvill QUALIFIED
Leon B WaycottAustraliaXuxue Feng UNQUALIFIED
Nicolas Q WieserJapanIvan Magalhaes QUALIFIED
Ricardo P GarufiUnited KingdomAsiya Javayant RENEWAL
Jones J OstroskyIndiaBernardo Dominic UNQUALIFIED
Costa T MacleadIndiaXuxue Feng NEW
Wickens C OstroskyUnited KingdomStephen Shaw NEW
Silvio D BowleyItalyAnna Fali PROPOSAL
Izzy D SaylorsRussiaStephen Shaw UNQUALIFIED
Aditya A CaldareraAustraliaIvan Magalhaes PROPOSAL
Greenwood M PerinAustraliaBernardo Dominic UNQUALIFIED
Ivar R FerenczFranceIvan Magalhaes RENEWAL
Murillo X SergiFranceStephen Shaw NEW
Murillo S MarrierGermanyBernardo Dominic NEGOTIATION
David M FlosiItalyAnna Fali NEGOTIATION
Murillo C InouyeGermanyXuxue Feng RENEWAL
Clifford K DarakjySpainIoni Bowcher PROPOSAL
Julie R PaprockiArgentinaOnyama Limba UNQUALIFIED
Maria F FerenczUnited KingdomAnna Fali NEW
Jefferson C MarrierCanadaAnna Fali NEGOTIATION
Ricardo S MorascaUnited KingdomOnyama Limba UNQUALIFIED
Johnson C MaletJapanAnna Fali QUALIFIED
Misaki U VocelkaArgentinaStephen Shaw RENEWAL
Claire A CaldareraRussiaXuxue Feng PROPOSAL
Emily P DilliardUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois Y MaletBrazilXuxue Feng UNQUALIFIED
Julie X VocelkaSpainBernardo Dominic RENEWAL
Murillo R OstroskyIndiaIvan Magalhaes RENEWAL
David S WieserGermanyOnyama Limba RENEWAL
Adams H MaletRussiaAsiya Javayant RENEWAL
Ivar D RutaBrazilBernardo Dominic NEW
Murillo J GlickFranceStephen Shaw PROPOSAL
Darci M IturbideGermanyElwin Sharvill NEW
Ashley O MaletCanadaXuxue Feng 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>