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
Smith N BologniaItalyAmy Elsner PROPOSAL
Claire V FerenczBrazilAnna Fali PROPOSAL
Deepesh U WaycottArgentinaOnyama Limba UNQUALIFIED
Kadeem H WaycottUnited KingdomAsiya Javayant RENEWAL
Izzy L MaletArgentinaIoni Bowcher UNQUALIFIED
Juan C WhobreyItalyAsiya Javayant UNQUALIFIED
Wickens Q NestleCanadaIoni Bowcher UNQUALIFIED
Jennifer E CaudyItalyOnyama Limba UNQUALIFIED
Octavia L BologniaCanadaElwin Sharvill QUALIFIED
Francesco E MaletAustraliaStephen Shaw UNQUALIFIED
Aika U MacleadIndiaAsiya Javayant UNQUALIFIED
Chavez I MaletSpainAmy Elsner UNQUALIFIED
Aika J CampainItalyAmy Elsner PROPOSAL
Ivar C StockhamGermanyStephen Shaw QUALIFIED
Costa N GlickJapanXuxue Feng NEW
Mayumi Z GillianRussiaIvan Magalhaes NEGOTIATION
Chavez Y AlbaresCanadaIoni Bowcher NEGOTIATION
Aditya N AmigonJapanIoni Bowcher QUALIFIED
David T SaylorsAustraliaAsiya Javayant RENEWAL
Octavia X RulapaughItalyStephen Shaw NEW
Stacey R RimRussiaAnna Fali PROPOSAL
Kaitlin I DarakjyRussiaAnna Fali RENEWAL
Darci B StensethAustraliaXuxue Feng PROPOSAL
Murillo I ButtSpainIvan Magalhaes QUALIFIED
Isabel J GlickAustraliaBernardo Dominic UNQUALIFIED
David Y BriddickArgentinaStephen Shaw NEGOTIATION
Jennifer V DilliardArgentinaAnna Fali NEW
Munro L MaletArgentinaStephen Shaw NEW
Greenwood S AlbaresJapanStephen Shaw NEGOTIATION
Johnson D RimJapanXuxue Feng RENEWAL
Mayumi L SergiUnited KingdomStephen Shaw QUALIFIED
Adams R StockhamBrazilAnna Fali QUALIFIED
Ivar A ShinkoSpainAsiya Javayant QUALIFIED
Wickens B VenereSpainAnna Fali QUALIFIED
Stacey Q OstroskyArgentinaAsiya Javayant PROPOSAL
Adams A WieserSpainStephen Shaw QUALIFIED
Francesco P DoeUnited KingdomIoni Bowcher NEW
Darci R BologniaJapanAnna Fali NEW
Aditya L AmigonCanadaAmy Elsner PROPOSAL
Smith P AlbaresItalyBernardo Dominic UNQUALIFIED
Leja Q NestleSpainAsiya Javayant QUALIFIED
Isabel A TollnerGermanyIoni Bowcher QUALIFIED
Mayumi U PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Chavez V KolmetzBrazilIoni Bowcher NEW
Chavez E SchemmerSpainBernardo Dominic RENEWAL
Deepesh B RimGermanyStephen Shaw PROPOSAL
Maisha W RimItalyIvan Magalhaes NEGOTIATION
Clifford O PoquetteItalyIoni Bowcher PROPOSAL
Arvin D DilliardItalyXuxue Feng QUALIFIED
Munro O CaudyJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues X StensethRussiaAmy Elsner NEGOTIATION
Jones M AlbaresBrazilIoni Bowcher NEGOTIATION
Faith T FigeroaFranceAmy Elsner PROPOSAL
Jennifer P DilliardCanadaOnyama Limba QUALIFIED
Cody G WhobreyFranceOnyama Limba NEGOTIATION
Adams K WaycottJapanXuxue Feng NEW
Ivar A DilliardBrazilAsiya Javayant NEGOTIATION
Stacey M SergiUnited KingdomIoni Bowcher PROPOSAL
Misaki B DarakjyArgentinaStephen Shaw NEW
Cody M IturbideIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan P ChuiCanada2025-04-17Buckley Miller Wright QUALIFIED41Onyama Limba
1001Cody I RutaUnited Kingdom2025-04-24Rousseaux, Michael Esq RENEWAL2Amy Elsner
1002Mujtaba N MaletItaly2025-04-03Morlong Associates UNQUALIFIED98Xuxue Feng
1003Munro N GauchoFrance2025-04-20Printing Dimensions UNQUALIFIED29Bernardo Dominic
1004Munro O SchemmerArgentina2025-04-28Commercial Press NEGOTIATION24Ivan Magalhaes
1005Jones W StockhamSpain2025-04-24Rangoni Of Florence PROPOSAL78Ivan Magalhaes
1006Aditya I OldroydItaly2025-04-05Commercial Press QUALIFIED60Xuxue Feng
1007Francesco B CampainCanada2025-04-04Chapman, Ross E Esq UNQUALIFIED51Ivan Magalhaes
1008Claire A IturbideSpain2025-04-28Chemel, James L Cpa PROPOSAL7Asiya Javayant
1009Stacey S AlbaresSpain2025-04-11Feltz Printing Service NEGOTIATION20Asiya Javayant
1010Octavia A SlusarskiRussia2025-04-11Feltz Printing Service QUALIFIED24Amy Elsner
1011Munro X InouyeItaly2025-04-07Printing Dimensions NEW4Stephen Shaw
1012Isabel N SchemmerGermany2025-04-24Feltz Printing Service PROPOSAL66Elwin Sharvill
1013Aruna T ChuiIndia2025-04-24Benton, John B Jr PROPOSAL20Elwin Sharvill
1014Octavia F InouyeArgentina2025-04-20Rangoni Of Florence UNQUALIFIED18Anna Fali
1015Izzy W GarufiBrazil2025-04-09Feltz Printing Service QUALIFIED7Anna Fali
1016Mujtaba A NestleBrazil2025-04-13Buckley Miller Wright NEW48Ivan Magalhaes
1017Cody F CaldareraFrance2025-04-21Rousseaux, Michael Esq QUALIFIED19Amy Elsner
1018Morrow X BowleyFrance2025-04-23Benton, John B Jr NEGOTIATION28Asiya Javayant
1019Juan N ChuiGermany2025-04-14Commercial Press PROPOSAL16Anna Fali
1020Morrow P WhobreySpain2025-04-26Rousseaux, Michael Esq QUALIFIED57Bernardo Dominic
1021Emily G CaldareraUnited Kingdom2025-04-13Feiner Bros PROPOSAL31Anna Fali
1022Aditya U BowleyBrazil2025-04-07Rangoni Of Florence QUALIFIED27Anna Fali
1023Jefferson U SlusarskiSpain2025-04-19Benton, John B Jr RENEWAL76Ioni Bowcher
1024Claire X FollerIndia2025-04-06Printing Dimensions NEGOTIATION38Xuxue Feng
1025Kaitlin K MarrierSpain2025-04-01King, Christopher A Esq UNQUALIFIED28Asiya Javayant
1026Aditya F MorascaRussia2025-04-23Truhlar And Truhlar Attys NEGOTIATION7Bernardo Dominic
1027Jennifer P AlbaresIndia2025-04-02Rangoni Of Florence PROPOSAL35Ioni Bowcher
1028Ricardo Z BriddickItaly2025-04-14Chapman, Ross E Esq NEGOTIATION76Xuxue Feng
1029Aruna Q SlusarskiAustralia2025-04-20Chanay, Jeffrey A Esq RENEWAL76Stephen Shaw
1030Aika H VenereGermany2025-04-22Chapman, Ross E Esq PROPOSAL8Onyama Limba
1031Tony N DoeIndia2025-04-08Printing Dimensions RENEWAL93Xuxue Feng
1032Salvatore I MaletIndia2025-04-28Morlong Associates PROPOSAL70Xuxue Feng
1033Mujtaba B WhobreyRussia2025-04-29Printing Dimensions NEW82Ivan Magalhaes
1034Octavia D SaylorsSpain2025-04-14Chanay, Jeffrey A Esq PROPOSAL4Ioni Bowcher
1035Silvio F PoquetteJapan2025-04-01Buckley Miller Wright PROPOSAL84Ioni Bowcher
1036Greenwood Z NickaRussia2025-04-03King, Christopher A Esq UNQUALIFIED93Asiya Javayant
1037Maria N AmigonIndia2025-04-02Truhlar And Truhlar Attys UNQUALIFIED4Elwin Sharvill
1038Julie V InouyeCanada2025-04-01Chemel, James L Cpa RENEWAL94Asiya Javayant
1039Adams F MaletCanada2025-04-04Truhlar And Truhlar Attys NEW16Stephen Shaw
1040Cody O RoysterFrance2025-04-18Chemel, James L Cpa RENEWAL69Xuxue Feng
1041Ivar B DarakjyJapan2025-04-02Commercial Press RENEWAL0Xuxue Feng
1042Munro Z PerinUnited Kingdom2025-04-07Feltz Printing Service QUALIFIED52Amy Elsner
1043Juan D BriddickRussia2025-04-01Commercial Press UNQUALIFIED24Anna Fali
1044Isabel B GlickSpain2025-04-15Feiner Bros QUALIFIED85Ioni Bowcher
1045Silvio B RutaRussia2025-04-04Buckley Miller Wright UNQUALIFIED48Ivan Magalhaes
1046Misaki Y DilliardArgentina2025-04-18Truhlar And Truhlar Attys NEGOTIATION4Stephen Shaw
1047Leon Q PerinCanada2025-04-05Feiner Bros NEW65Asiya Javayant
1048Maisha E PoquetteGermany2025-04-14Printing Dimensions NEGOTIATION73Elwin Sharvill
1049Emily T FigeroaIndia2025-04-15Morlong Associates NEW32Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Misaki U PaprockiJapanAnna Fali NEGOTIATION
Juan B MorascaGermanyOnyama Limba UNQUALIFIED
Deepesh R OstroskyCanadaIvan Magalhaes QUALIFIED
Isabel Q IturbideAustraliaXuxue Feng NEW
Leja I KolmetzRussiaElwin Sharvill RENEWAL
Wickens A FerenczFranceAmy Elsner UNQUALIFIED
Wickens Z CaldareraCanadaBernardo Dominic NEGOTIATION
Mayumi Y FigeroaSpainAnna Fali UNQUALIFIED
Arvin J FigeroaBrazilAmy Elsner RENEWAL
Greenwood Z FollerCanadaStephen Shaw PROPOSAL
Salvatore P CaldareraGermanyAnna Fali QUALIFIED
Cody O MacleadBrazilXuxue Feng RENEWAL
Juan A NickaIndiaOnyama Limba PROPOSAL
Stacey O AlbaresRussiaIoni Bowcher RENEWAL
Faith K PoquetteAustraliaOnyama Limba NEGOTIATION
Jones L DilliardFranceAsiya Javayant UNQUALIFIED
Darci O WaycottJapanBernardo Dominic NEGOTIATION
Ivar Z KuskoGermanyOnyama Limba UNQUALIFIED
Costa M StockhamArgentinaAnna Fali UNQUALIFIED
Jones P StensethUnited KingdomOnyama Limba RENEWAL
Arvin V SlusarskiFranceAnna Fali PROPOSAL
Francesco U DilliardSpainXuxue Feng RENEWAL
Wickens I InouyeRussiaOnyama Limba PROPOSAL
Chavez M RulapaughGermanyAmy Elsner NEW
Johnson X SchemmerBrazilAsiya Javayant PROPOSAL
Cody V KuskoRussiaXuxue Feng NEW
Nicolas T GillianFranceIoni Bowcher NEGOTIATION
Smith N VocelkaIndiaElwin Sharvill NEGOTIATION
Deepesh E StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Misaki I MaletJapanBernardo Dominic QUALIFIED
Jeanfrancois N IturbideAustraliaElwin Sharvill NEW
Maria B OstroskyArgentinaXuxue Feng NEW
Claire H DoeItalyIvan Magalhaes QUALIFIED
Ivar R CampainUnited KingdomAsiya Javayant UNQUALIFIED
Isabel E GarufiIndiaOnyama Limba QUALIFIED
Sinclair L NickaAustraliaOnyama Limba UNQUALIFIED
Darci J GauchoIndiaOnyama Limba PROPOSAL
Smith A IturbideAustraliaIvan Magalhaes PROPOSAL
Murillo C BriddickBrazilAmy Elsner QUALIFIED
Leon D GlickBrazilAmy Elsner NEGOTIATION
Munro W PerinCanadaBernardo Dominic RENEWAL
Antonio N GauchoAustraliaAsiya Javayant UNQUALIFIED
Smith O WieserSpainAmy Elsner QUALIFIED
Sinclair X AmigonItalyBernardo Dominic QUALIFIED
Jones W SlusarskiGermanyStephen Shaw PROPOSAL
Nicolas Z VenereUnited KingdomStephen Shaw UNQUALIFIED
Francesco T MorascaJapanAsiya Javayant NEW
Mujtaba Y OldroydFranceElwin Sharvill QUALIFIED
Costa W MaletRussiaXuxue Feng NEW
Darci X GlickJapanOnyama Limba PROPOSAL
Frozen Columns
Name
Clifford E Kusko
Jefferson G Figeroa
James P Briddick
Leja B Garufi
Alejandro O Campain
James O Vocelka
Costa W Oldroyd
Misaki N Sergi
Silvio K Perin
Isabel G Shinko
Ivar C Maclead
Jennifer R Butt
Johnson U Butt
Isabel U Waycott
Cody A Marrier
Morrow J Vocelka
Francesco T Malet
Sinclair O Saylors
Alejandro X Tollner
Octavia J Paprocki
Chavez K Chui
Costa S Inouye
Jones X Caldarera
Emily P Ruta
Juan Z Rim
Adams A Caudy
Jeanfrancois Z Stenseth
Arvin C Vocelka
Murillo H Oldroyd
Munro O Maclead
Sinclair S Marrier
Stacey D Malet
Tony G Garufi
Jennifer Q Caudy
Ricardo X Malet
Jefferson S Bowley
Aika R Iturbide
Jennifer U Wieser
Ricardo D Marrier
Alejandro W Morasca
Smith J Slusarski
Leon B Ruta
Leon G Maclead
Sinclair B Iturbide
Johnson V Nestle
Jones P Glick
Jennifer C Rim
Cody Y Sergi
Chavez T Bolognia
Tony W Tollner
IdCountryDate
1000Russia2025-04-30
1001Japan2025-04-04
1002Spain2025-04-21
1003Russia2025-04-21
1004Argentina2025-04-23
1005Canada2025-04-09
1006Brazil2025-04-01
1007Argentina2025-04-15
1008India2025-04-22
1009Japan2025-04-24
1010Japan2025-04-25
1011India2025-04-11
1012India2025-04-28
1013Germany2025-04-17
1014Russia2025-04-10
1015India2025-04-30
1016Germany2025-04-17
1017Japan2025-04-13
1018Brazil2025-04-08
1019Argentina2025-04-01
1020Brazil2025-04-24
1021Japan2025-04-19
1022Spain2025-04-12
1023Germany2025-04-03
1024Russia2025-04-26
1025Italy2025-04-01
1026Argentina2025-04-15
1027France2025-04-28
1028United Kingdom2025-04-30
1029Russia2025-04-02
1030United Kingdom2025-04-05
1031Spain2025-04-04
1032Australia2025-04-05
1033Russia2025-04-12
1034Japan2025-04-27
1035Germany2025-04-04
1036France2025-04-06
1037Italy2025-04-04
1038Germany2025-04-05
1039Australia2025-04-22
1040Spain2025-04-27
1041Spain2025-04-10
1042Russia2025-04-09
1043Australia2025-04-13
1044Australia2025-04-21
1045India2025-04-21
1046Germany2025-04-04
1047Brazil2025-04-24
1048Australia2025-04-30
1049Canada2025-04-15

On-Demand Data

NameIdCountryDate
Leja F Maclead1000Australia2025-04-16
Rodrigues Z Rim1001France2025-04-25
Kaitlin R Malet1002Brazil2025-04-29
Adams B Shinko1003Italy2025-04-24
Octavia V Flosi1004Canada2025-04-11
James U Garufi1005Italy2025-04-06
Kadeem L Paprocki1006Italy2025-04-10
Izzy V Iturbide1007United Kingdom2025-04-02
Ricardo M Doe1008Brazil2025-04-01
Jefferson O Butt1009Germany2025-04-10
Mujtaba N Dilliard1010France2025-04-26
Greenwood E Tollner1011Canada2025-04-12
Mayumi D Vocelka1012Argentina2025-04-30
Julie O Venere1013Germany2025-04-26
Murillo Y Poquette1014France2025-04-04
Morrow V Chui1015Russia2025-04-08
James R Maclead1016France2025-04-20
Kadeem L Foller1017France2025-04-14
Clifford L Tollner1018Spain2025-04-13
Munro X Malet1019Russia2025-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Y SergiRussiaAsiya Javayant QUALIFIED
Maria T CaudyUnited KingdomStephen Shaw QUALIFIED
David J BologniaBrazilBernardo Dominic UNQUALIFIED
Faith V SaylorsCanadaXuxue Feng NEGOTIATION
Salvatore F SlusarskiBrazilAnna Fali NEW
Maisha S GlickSpainAmy Elsner QUALIFIED
Leon E CaudyArgentinaXuxue Feng QUALIFIED
David V MacleadFranceAmy Elsner UNQUALIFIED
Jones B RutaBrazilIoni Bowcher NEW
Misaki T MarrierCanadaIoni Bowcher QUALIFIED
Deepesh T OldroydCanadaIvan Magalhaes NEGOTIATION
James G PoquetteGermanyOnyama Limba NEGOTIATION
Nicolas K FollerArgentinaIoni Bowcher NEW
Sinclair O RutaJapanBernardo Dominic QUALIFIED
Cody R PerinBrazilAsiya Javayant RENEWAL
Tony K BowleyFranceIvan Magalhaes NEGOTIATION
David Y BologniaGermanyAsiya Javayant UNQUALIFIED
David Q VenereGermanyAnna Fali PROPOSAL
Jeanfrancois N MaletFranceAmy Elsner NEW
Salvatore R FigeroaCanadaAnna Fali PROPOSAL
Salvatore U RimAustraliaXuxue Feng RENEWAL
Wickens Z KuskoSpainAsiya Javayant QUALIFIED
Adams T TollnerArgentinaIoni Bowcher QUALIFIED
Aika J GlickFranceStephen Shaw QUALIFIED
Maria A PerinFranceIvan Magalhaes NEW
Darci L OstroskyItalyIoni Bowcher RENEWAL
Leon K DoeCanadaAsiya Javayant RENEWAL
Octavia T SergiJapanBernardo Dominic UNQUALIFIED
Claire Y KolmetzUnited KingdomAnna Fali NEGOTIATION
Ricardo U SlusarskiIndiaXuxue Feng NEGOTIATION
Costa C CampainArgentinaXuxue Feng NEW
David O AmigonFranceAnna Fali UNQUALIFIED
David S BowleyArgentinaIoni Bowcher UNQUALIFIED
Mujtaba X ChuiArgentinaIoni Bowcher QUALIFIED
Clifford W SchemmerCanadaIoni Bowcher PROPOSAL
Clifford I PerinIndiaIoni Bowcher RENEWAL
Johnson I SergiSpainAmy Elsner NEW
Nicolas R MarrierSpainIvan Magalhaes QUALIFIED
Chavez E FlosiJapanXuxue Feng NEW
Jefferson S MaletItalyAnna Fali UNQUALIFIED

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