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
Greenwood A FerenczIndiaAnna Fali RENEWAL
Wickens P DarakjyCanadaBernardo Dominic UNQUALIFIED
Antonio B FlosiIndiaAnna Fali NEGOTIATION
Mayumi O CaudyBrazilAnna Fali QUALIFIED
Jefferson Q KuskoJapanAsiya Javayant QUALIFIED
Salvatore Z MaletRussiaAnna Fali PROPOSAL
Maria C StockhamAustraliaAmy Elsner NEGOTIATION
Wickens V PerinRussiaBernardo Dominic UNQUALIFIED
Juan A GarufiSpainAnna Fali PROPOSAL
Jennifer C GauchoSpainStephen Shaw UNQUALIFIED
Rodrigues W MacleadFranceElwin Sharvill QUALIFIED
Rodrigues S AmigonJapanElwin Sharvill PROPOSAL
Kaitlin J BriddickSpainAsiya Javayant NEW
Nicolas T FollerArgentinaIvan Magalhaes RENEWAL
Arvin U WaycottSpainAnna Fali RENEWAL
Greenwood N CaldareraArgentinaXuxue Feng NEW
Cody B FerenczGermanyElwin Sharvill PROPOSAL
Jones G SaylorsRussiaIoni Bowcher NEW
Arvin F SergiFranceAmy Elsner NEGOTIATION
Costa R OldroydItalyIoni Bowcher PROPOSAL
Octavia U BriddickAustraliaOnyama Limba QUALIFIED
Kaitlin B PoquetteBrazilBernardo Dominic PROPOSAL
Mayumi O AlbaresCanadaBernardo Dominic QUALIFIED
Jones S MaletCanadaStephen Shaw NEW
Emily P PaprockiIndiaBernardo Dominic UNQUALIFIED
Francesco M GillianRussiaStephen Shaw NEGOTIATION
Misaki N OstroskyAustraliaAsiya Javayant QUALIFIED
Maria S ShinkoSpainAmy Elsner UNQUALIFIED
Stacey S IturbideArgentinaIvan Magalhaes UNQUALIFIED
Arvin D WieserUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois M WhobreyCanadaElwin Sharvill NEW
Leja J WhobreyAustraliaAmy Elsner NEW
Francesco V FollerBrazilIoni Bowcher NEW
Arvin J RimRussiaXuxue Feng NEGOTIATION
Greenwood U SergiRussiaOnyama Limba QUALIFIED
Juan X SergiSpainAmy Elsner QUALIFIED
Kaitlin N PaprockiGermanyBernardo Dominic QUALIFIED
Jones Z RulapaughFranceIoni Bowcher NEGOTIATION
Johnson Q MaletAustraliaAsiya Javayant UNQUALIFIED
Mayumi K RoysterSpainElwin Sharvill PROPOSAL
Faith S CaudyArgentinaElwin Sharvill UNQUALIFIED
Aruna F DoeItalyIoni Bowcher NEW
Arvin T DarakjyFranceAnna Fali RENEWAL
Faith K NickaJapanStephen Shaw NEW
Silvio S MacleadGermanyAnna Fali RENEWAL
Mujtaba V ChuiGermanyStephen Shaw PROPOSAL
Salvatore V FollerBrazilOnyama Limba RENEWAL
Aruna T PoquetteRussiaAmy Elsner QUALIFIED
Alejandro Q NestleArgentinaIoni Bowcher PROPOSAL
Adams M ChuiBrazilOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco B VocelkaUnited KingdomElwin Sharvill NEW
Faith N OstroskyUnited KingdomAsiya Javayant QUALIFIED
Maisha D GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson O StensethSpainIoni Bowcher RENEWAL
Octavia P StensethSpainIvan Magalhaes QUALIFIED
Ashley A CampainCanadaAnna Fali QUALIFIED
Antonio U RimRussiaElwin Sharvill NEGOTIATION
Claire D InouyeAustraliaIoni Bowcher RENEWAL
Salvatore H SchemmerCanadaIvan Magalhaes QUALIFIED
Aditya Q PoquetteUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T VocelkaCanada2026-07-22Printing Dimensions PROPOSAL89Ioni Bowcher
1001Jeanfrancois W IturbideGermany2026-07-25Benton, John B Jr RENEWAL18Ioni Bowcher
1002Alejandro H DarakjyJapan2026-07-14Chemel, James L Cpa NEGOTIATION69Amy Elsner
1003Deepesh O OstroskyJapan2026-07-22Feltz Printing Service NEGOTIATION38Ivan Magalhaes
1004Maisha X InouyeRussia2026-07-17Morlong Associates PROPOSAL93Amy Elsner
1005Aditya K BologniaArgentina2026-07-16Feiner Bros PROPOSAL39Asiya Javayant
1006Juan I OstroskyIndia2026-07-19Chapman, Ross E Esq PROPOSAL29Asiya Javayant
1007Octavia D GillianGermany2026-07-25Feiner Bros RENEWAL57Ivan Magalhaes
1008Jones A MaletGermany2026-07-25Chapman, Ross E Esq NEGOTIATION47Asiya Javayant
1009Johnson K BologniaArgentina2026-07-18Rousseaux, Michael Esq RENEWAL2Ioni Bowcher
1010Julie L FigeroaIndia2026-07-30Printing Dimensions RENEWAL27Ioni Bowcher
1011Adams T VenereIndia2026-07-24Chemel, James L Cpa QUALIFIED76Anna Fali
1012Maria C DarakjySpain2026-07-05Dorl, James J Esq RENEWAL84Ivan Magalhaes
1013Isabel Q ChuiCanada2026-07-21Benton, John B Jr QUALIFIED95Onyama Limba
1014Emily M OldroydBrazil2026-07-30Buckley Miller Wright NEW77Ivan Magalhaes
1015Isabel E SergiCanada2026-07-31Benton, John B Jr QUALIFIED20Onyama Limba
1016Murillo P RulapaughRussia2026-07-22Chapman, Ross E Esq PROPOSAL31Onyama Limba
1017Octavia V SlusarskiJapan2026-07-05King, Christopher A Esq RENEWAL3Ivan Magalhaes
1018Jones U PerinJapan2026-07-21Rangoni Of Florence NEW89Stephen Shaw
1019David Y StensethRussia2026-07-31Rangoni Of Florence RENEWAL50Ioni Bowcher
1020Arvin K StensethGermany2026-07-24Rangoni Of Florence PROPOSAL6Elwin Sharvill
1021Silvio Z SergiGermany2026-07-31Chemel, James L Cpa RENEWAL91Elwin Sharvill
1022Morrow A StensethGermany2026-07-20Chapman, Ross E Esq NEGOTIATION76Onyama Limba
1023Kadeem W GlickAustralia2026-07-27King, Christopher A Esq NEW13Ioni Bowcher
1024Greenwood V GlickItaly2026-07-16Chapman, Ross E Esq RENEWAL36Anna Fali
1025Aditya W FerenczGermany2026-07-11Rousseaux, Michael Esq QUALIFIED84Elwin Sharvill
1026Adams Z StockhamArgentina2026-07-08Rousseaux, Michael Esq NEW25Amy Elsner
1027Kadeem Y BowleyUnited Kingdom2026-07-25Printing Dimensions NEGOTIATION53Onyama Limba
1028Leon B ChuiUnited Kingdom2026-07-23Printing Dimensions QUALIFIED15Bernardo Dominic
1029Arvin Z PaprockiArgentina2026-07-27Commercial Press PROPOSAL95Ioni Bowcher
1030Salvatore W VenereBrazil2026-07-12Truhlar And Truhlar Attys NEGOTIATION17Stephen Shaw
1031Rodrigues N NestleFrance2026-07-09Printing Dimensions NEW6Elwin Sharvill
1032Aika D KolmetzBrazil2026-07-14Rangoni Of Florence QUALIFIED32Anna Fali
1033Tony M BologniaCanada2026-07-16Feiner Bros NEGOTIATION99Onyama Limba
1034Antonio J InouyeSpain2026-07-27Buckley Miller Wright RENEWAL20Amy Elsner
1035Izzy X GlickAustralia2026-07-11Truhlar And Truhlar Attys NEGOTIATION5Asiya Javayant
1036Stacey V OldroydJapan2026-07-31Truhlar And Truhlar Attys NEGOTIATION13Amy Elsner
1037Emily U RutaArgentina2026-07-30Truhlar And Truhlar Attys PROPOSAL76Elwin Sharvill
1038Antonio I GarufiIndia2026-07-08Commercial Press PROPOSAL8Ivan Magalhaes
1039Arvin W FollerCanada2026-07-19Morlong Associates NEW2Onyama Limba
1040Maisha Z CampainUnited Kingdom2026-07-10Benton, John B Jr NEW43Ivan Magalhaes
1041Jeanfrancois A StockhamCanada2026-07-09Chemel, James L Cpa QUALIFIED35Elwin Sharvill
1042Aika G DarakjyArgentina2026-07-07Dorl, James J Esq NEGOTIATION66Stephen Shaw
1043Maria K StockhamCanada2026-07-05Benton, John B Jr RENEWAL27Ioni Bowcher
1044Clifford U MacleadArgentina2026-07-17Morlong Associates NEW64Bernardo Dominic
1045David J RulapaughUnited Kingdom2026-07-13Benton, John B Jr UNQUALIFIED14Xuxue Feng
1046Sinclair H VenereFrance2026-07-23Chapman, Ross E Esq RENEWAL46Stephen Shaw
1047Julie I TollnerIndia2026-07-07Chapman, Ross E Esq PROPOSAL59Onyama Limba
1048Leja J StockhamCanada2026-07-11Printing Dimensions NEGOTIATION11Onyama Limba
1049Julie O ShinkoJapan2026-07-31Rangoni Of Florence NEW5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Claire S PaprockiSpainIvan Magalhaes UNQUALIFIED
David H CampainFranceXuxue Feng NEW
Aditya U NickaSpainBernardo Dominic PROPOSAL
Mayumi U VenereRussiaAnna Fali PROPOSAL
Chavez Z KuskoJapanOnyama Limba UNQUALIFIED
Leon Z PaprockiUnited KingdomXuxue Feng PROPOSAL
Murillo U ShinkoJapanOnyama Limba RENEWAL
Cody D BriddickItalyIvan Magalhaes UNQUALIFIED
Darci G MorascaIndiaXuxue Feng RENEWAL
Darci U SaylorsBrazilAmy Elsner NEGOTIATION
Aditya E StensethAustraliaAsiya Javayant NEGOTIATION
Jones L VenereFranceElwin Sharvill PROPOSAL
Munro Z GauchoJapanXuxue Feng NEGOTIATION
Greenwood K GauchoIndiaAsiya Javayant UNQUALIFIED
Kaitlin J GarufiBrazilOnyama Limba PROPOSAL
Juan D ButtGermanyBernardo Dominic NEGOTIATION
Mayumi M BriddickBrazilAnna Fali PROPOSAL
Antonio H GauchoBrazilStephen Shaw QUALIFIED
Rodrigues L VenereGermanyStephen Shaw RENEWAL
Claire H InouyeGermanyAnna Fali RENEWAL
Maria F FigeroaFranceElwin Sharvill PROPOSAL
Aika X WaycottAustraliaXuxue Feng RENEWAL
Rodrigues F MorascaCanadaOnyama Limba UNQUALIFIED
Clifford D MaletSpainStephen Shaw NEW
Antonio F WhobreyRussiaAmy Elsner NEW
Mayumi L SchemmerAustraliaAsiya Javayant UNQUALIFIED
Octavia U SergiBrazilOnyama Limba UNQUALIFIED
Munro V GlickAustraliaIoni Bowcher RENEWAL
Ricardo V StockhamJapanAnna Fali UNQUALIFIED
Isabel M ChuiRussiaOnyama Limba QUALIFIED
Faith D StockhamSpainElwin Sharvill UNQUALIFIED
Izzy D GillianRussiaOnyama Limba PROPOSAL
Jefferson F VenereBrazilElwin Sharvill RENEWAL
Claire U NestleJapanElwin Sharvill NEGOTIATION
Isabel L OstroskyJapanAmy Elsner NEGOTIATION
Jefferson P KolmetzCanadaAnna Fali PROPOSAL
Cody N ChuiCanadaStephen Shaw NEGOTIATION
Isabel L BowleyGermanyElwin Sharvill NEW
Mujtaba Y BowleyFranceBernardo Dominic QUALIFIED
Morrow B RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Kadeem T CampainSpainAmy Elsner NEW
Stacey H ButtBrazilOnyama Limba UNQUALIFIED
James L SlusarskiItalyXuxue Feng RENEWAL
Silvio H RulapaughFranceAmy Elsner NEW
Ricardo P RulapaughIndiaAmy Elsner NEW
Nicolas N IturbideRussiaAnna Fali PROPOSAL
David X GauchoRussiaStephen Shaw NEW
David C OstroskyItalyOnyama Limba NEGOTIATION
Wickens C FigeroaCanadaXuxue Feng NEGOTIATION
Tony C NickaFranceOnyama Limba NEGOTIATION
Frozen Columns
Name
Antonio T Foller
Jefferson S Stockham
Greenwood V Schemmer
Murillo G Saylors
Munro O Waycott
Aditya P Albares
Ivar K Doe
Leja A Nicka
Mujtaba Z Butt
Costa J Kolmetz
Chavez B Vocelka
Tony L Malet
Aditya Y Garufi
Misaki E Waycott
Munro P Shinko
Silvio F Venere
Sinclair B Albares
Tony R Nestle
Ashley Z Whobrey
Johnson N Whobrey
Murillo Q Stockham
Emily R Dilliard
Ashley N Saylors
Clifford S Rim
David U Stockham
Morrow E Stockham
Emily Q Vocelka
Leon X Flosi
Smith Q Ostrosky
Aditya F Shinko
Darci M Campain
Faith K Wieser
Leja R Glick
Tony L Figeroa
Antonio T Inouye
Salvatore O Stenseth
Arvin O Oldroyd
Wickens P Tollner
Stacey S Marrier
Tony W Kusko
Aruna L Foller
Francesco V Doe
Ricardo B Paprocki
Antonio G Saylors
Leja M Figeroa
Kadeem W Perin
Faith H Glick
David S Schemmer
Chavez U Ostrosky
Jones I Kolmetz
IdCountryDate
1000France2026-07-08
1001Italy2026-07-20
1002Brazil2026-07-24
1003France2026-07-26
1004Germany2026-07-21
1005Argentina2026-07-19
1006Spain2026-07-16
1007United Kingdom2026-07-30
1008Germany2026-07-19
1009Brazil2026-07-04
1010France2026-07-30
1011France2026-07-31
1012Spain2026-07-13
1013Russia2026-07-15
1014Argentina2026-07-13
1015Germany2026-07-07
1016Canada2026-07-12
1017France2026-07-25
1018Germany2026-07-20
1019Japan2026-07-06
1020India2026-08-01
1021India2026-07-27
1022Spain2026-07-09
1023Brazil2026-07-20
1024Russia2026-07-10
1025Brazil2026-07-30
1026Spain2026-07-29
1027Australia2026-07-21
1028Italy2026-07-26
1029Brazil2026-07-11
1030Japan2026-07-31
1031Japan2026-07-27
1032Australia2026-07-06
1033Japan2026-07-22
1034Spain2026-07-22
1035Spain2026-07-06
1036France2026-07-20
1037Germany2026-08-01
1038United Kingdom2026-07-16
1039Japan2026-07-25
1040India2026-07-21
1041United Kingdom2026-07-26
1042Canada2026-07-23
1043Australia2026-07-11
1044Argentina2026-07-06
1045India2026-07-17
1046United Kingdom2026-07-23
1047Canada2026-07-05
1048France2026-07-29
1049France2026-07-15

On-Demand Data

NameIdCountryDate
Claire U Shinko1000Argentina2026-07-10
Misaki Q Sergi1001Italy2026-07-26
Greenwood W Ferencz1002Argentina2026-07-07
Faith A Maclead1003Brazil2026-07-11
Leon E Kusko1004Italy2026-07-20
Alejandro I Whobrey1005Argentina2026-07-30
Juan E Stockham1006Italy2026-07-21
Juan C Foller1007Italy2026-07-23
Tony U Morasca1008Spain2026-07-15
Maisha O Amigon1009France2026-07-04
Rodrigues Z Nicka1010India2026-07-03
Costa P Perin1011United Kingdom2026-07-20
Costa V Iturbide1012United Kingdom2026-07-24
Alejandro H Nicka1013Spain2026-07-20
Darci K Marrier1014Spain2026-07-11
Deepesh Q Vocelka1015Germany2026-07-19
Ricardo S Garufi1016United Kingdom2026-07-03
Chavez D Darakjy1017Germany2026-07-18
Faith S Nestle1018Argentina2026-07-13
Murillo B Nicka1019Australia2026-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey C CampainGermanyAmy Elsner RENEWAL
Arvin T IturbideAustraliaAnna Fali RENEWAL
James U GarufiFranceAnna Fali RENEWAL
Juan H VenereIndiaAnna Fali NEW
Julie T InouyeRussiaAnna Fali NEW
Tony G FerenczAustraliaBernardo Dominic NEW
Morrow O FigeroaUnited KingdomOnyama Limba RENEWAL
Emily K WieserUnited KingdomIoni Bowcher NEW
Murillo L InouyeBrazilAmy Elsner NEGOTIATION
Clifford M NestleAustraliaAnna Fali NEW
Mujtaba N WhobreyJapanIvan Magalhaes QUALIFIED
Juan K BriddickArgentinaElwin Sharvill PROPOSAL
Silvio F FollerBrazilAnna Fali NEGOTIATION
Cody Y BowleyCanadaOnyama Limba NEW
Costa V FerenczAustraliaIoni Bowcher QUALIFIED
Johnson H RutaSpainXuxue Feng QUALIFIED
Emily U RutaGermanyAsiya Javayant RENEWAL
Kaitlin I CampainArgentinaIoni Bowcher UNQUALIFIED
Francesco U MorascaIndiaXuxue Feng UNQUALIFIED
Arvin J RutaBrazilAnna Fali QUALIFIED
Nicolas S OstroskyGermanyIvan Magalhaes UNQUALIFIED
Sinclair G FigeroaArgentinaIvan Magalhaes NEW
Antonio O FerenczJapanAsiya Javayant QUALIFIED
Rodrigues F DarakjyJapanIoni Bowcher PROPOSAL
Greenwood V PoquetteCanadaAmy Elsner UNQUALIFIED
Aika Y StockhamBrazilBernardo Dominic RENEWAL
Tony B MacleadCanadaAsiya Javayant RENEWAL
Mujtaba Y CaldareraRussiaAmy Elsner RENEWAL
Claire J StockhamFranceIvan Magalhaes PROPOSAL
Juan H RimSpainStephen Shaw QUALIFIED
Isabel V KuskoItalyIvan Magalhaes QUALIFIED
Kadeem N FollerArgentinaElwin Sharvill UNQUALIFIED
Murillo G WhobreyUnited KingdomAsiya Javayant PROPOSAL
Darci Y GarufiGermanyIoni Bowcher PROPOSAL
Munro U BologniaRussiaXuxue Feng UNQUALIFIED
Emily D NestleArgentinaStephen Shaw UNQUALIFIED
Clifford L FlosiArgentinaAnna Fali QUALIFIED
Smith O AmigonAustraliaStephen Shaw NEW
Maria P DilliardArgentinaAsiya Javayant PROPOSAL
Aika T PaprockiJapanAnna Fali 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>