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
Juan G DilliardArgentinaStephen Shaw UNQUALIFIED
Kaitlin B WhobreyAustraliaBernardo Dominic NEGOTIATION
Ivar U WieserFranceIoni Bowcher RENEWAL
Smith V SlusarskiFranceXuxue Feng UNQUALIFIED
Chavez W StensethBrazilStephen Shaw NEGOTIATION
Costa Q RulapaughIndiaAsiya Javayant QUALIFIED
Mujtaba D StockhamGermanyIoni Bowcher UNQUALIFIED
Morrow X BriddickArgentinaOnyama Limba PROPOSAL
Cody S VenereUnited KingdomElwin Sharvill RENEWAL
Cody U PerinFranceAnna Fali RENEWAL
Antonio Z MarrierArgentinaStephen Shaw RENEWAL
Antonio J GarufiSpainElwin Sharvill PROPOSAL
David Z NestleArgentinaXuxue Feng NEW
Claire Y BowleySpainAmy Elsner RENEWAL
Misaki I PoquetteCanadaIvan Magalhaes UNQUALIFIED
Misaki S FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Faith X WieserUnited KingdomOnyama Limba NEW
Munro Z ShinkoCanadaOnyama Limba RENEWAL
Jennifer B VenereFranceElwin Sharvill UNQUALIFIED
Jones Q OstroskyAustraliaXuxue Feng UNQUALIFIED
Emily Z BriddickUnited KingdomAsiya Javayant RENEWAL
Mujtaba I CaudyItalyStephen Shaw UNQUALIFIED
Jefferson K SergiItalyAmy Elsner NEGOTIATION
Nicolas Z MorascaAustraliaIvan Magalhaes QUALIFIED
Deepesh F SaylorsItalyBernardo Dominic NEW
Francesco G PaprockiSpainIvan Magalhaes QUALIFIED
Chavez X FlosiItalyOnyama Limba NEGOTIATION
Aditya G ChuiIndiaAsiya Javayant PROPOSAL
Salvatore N KolmetzRussiaAmy Elsner NEGOTIATION
Kaitlin F BologniaJapanXuxue Feng NEW
Misaki N TollnerAustraliaStephen Shaw UNQUALIFIED
Julie K GillianRussiaXuxue Feng NEW
Salvatore J FigeroaJapanStephen Shaw NEW
Ricardo W OldroydBrazilAsiya Javayant PROPOSAL
Deepesh N MarrierJapanElwin Sharvill UNQUALIFIED
Johnson T DoeItalyAsiya Javayant PROPOSAL
Francesco K AlbaresAustraliaAnna Fali NEGOTIATION
Faith C RimIndiaAmy Elsner NEGOTIATION
Jennifer R PerinAustraliaAsiya Javayant PROPOSAL
Aditya Q FlosiGermanyIvan Magalhaes UNQUALIFIED
Rodrigues B OldroydSpainOnyama Limba NEGOTIATION
James L RulapaughSpainStephen Shaw UNQUALIFIED
Morrow P RimItalyStephen Shaw RENEWAL
Faith J KuskoSpainBernardo Dominic PROPOSAL
Ricardo G BowleyIndiaXuxue Feng QUALIFIED
Arvin V MorascaCanadaIvan Magalhaes NEGOTIATION
Aika X MaletCanadaAmy Elsner RENEWAL
Izzy Z GlickIndiaAsiya Javayant UNQUALIFIED
Kaitlin B TollnerUnited KingdomAmy Elsner UNQUALIFIED
Chavez B VenereGermanyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie T CampainBrazilOnyama Limba NEGOTIATION
David Q BriddickIndiaOnyama Limba NEW
Rodrigues G GarufiRussiaXuxue Feng NEGOTIATION
Antonio B RimAustraliaIvan Magalhaes NEGOTIATION
Stacey O VocelkaAustraliaStephen Shaw UNQUALIFIED
Jones V FollerJapanXuxue Feng PROPOSAL
Leon I CaudyItalyStephen Shaw PROPOSAL
Octavia V ChuiItalyOnyama Limba QUALIFIED
Smith U BowleyIndiaOnyama Limba UNQUALIFIED
Darci L StensethFranceIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie S MorascaSpain2025-04-05Dorl, James J Esq NEW98Asiya Javayant
1001Aruna B FollerBrazil2025-04-28Rangoni Of Florence NEGOTIATION11Amy Elsner
1002David F InouyeFrance2025-04-29Rousseaux, Michael Esq NEGOTIATION64Anna Fali
1003Ivar Q DarakjyBrazil2025-04-16Buckley Miller Wright PROPOSAL20Elwin Sharvill
1004Ivar C OldroydJapan2025-04-08Feiner Bros NEW50Ivan Magalhaes
1005Johnson H FigeroaCanada2025-04-08King, Christopher A Esq UNQUALIFIED22Onyama Limba
1006Leon K SlusarskiGermany2025-04-17Buckley Miller Wright NEW98Onyama Limba
1007Darci R SchemmerIndia2025-04-01Buckley Miller Wright RENEWAL48Asiya Javayant
1008Adams D KuskoFrance2025-04-22Chanay, Jeffrey A Esq UNQUALIFIED68Ivan Magalhaes
1009Jeanfrancois L BowleyIndia2025-04-30Feiner Bros PROPOSAL77Asiya Javayant
1010Julie T BowleyIndia2025-04-04Rangoni Of Florence NEGOTIATION54Ioni Bowcher
1011Aika X IturbideFrance2025-04-23Rousseaux, Michael Esq UNQUALIFIED87Anna Fali
1012Clifford Q InouyeFrance2025-04-05Morlong Associates NEW1Ivan Magalhaes
1013Maisha A FigeroaCanada2025-04-14Morlong Associates QUALIFIED44Anna Fali
1014Sinclair B ChuiIndia2025-04-25Commercial Press RENEWAL11Ioni Bowcher
1015Aika Y MorascaIndia2025-04-20Printing Dimensions NEGOTIATION2Stephen Shaw
1016Rodrigues S NickaAustralia2025-04-07Commercial Press UNQUALIFIED20Bernardo Dominic
1017Jones J OstroskyGermany2025-04-02King, Christopher A Esq PROPOSAL25Amy Elsner
1018David K RimUnited Kingdom2025-04-29Benton, John B Jr RENEWAL67Stephen Shaw
1019Mayumi E AmigonGermany2025-04-12Rousseaux, Michael Esq PROPOSAL34Asiya Javayant
1020Alejandro D RimUnited Kingdom2025-04-24Morlong Associates NEW40Xuxue Feng
1021Murillo T SchemmerJapan2025-04-22Truhlar And Truhlar Attys NEGOTIATION99Stephen Shaw
1022Murillo T GlickSpain2025-04-10Buckley Miller Wright NEW20Onyama Limba
1023Johnson P ShinkoBrazil2025-04-19Chemel, James L Cpa NEGOTIATION51Anna Fali
1024Maisha S SlusarskiGermany2025-04-26Morlong Associates UNQUALIFIED22Ioni Bowcher
1025Antonio Y TollnerArgentina2025-04-30Morlong Associates NEGOTIATION29Elwin Sharvill
1026Aruna P KuskoUnited Kingdom2025-04-28Rangoni Of Florence RENEWAL46Xuxue Feng
1027Francesco K CaudyFrance2025-04-17Benton, John B Jr NEW39Ioni Bowcher
1028Morrow X FigeroaJapan2025-04-16Chemel, James L Cpa NEGOTIATION63Stephen Shaw
1029Clifford R OldroydUnited Kingdom2025-04-07Chemel, James L Cpa RENEWAL0Amy Elsner
1030Chavez C NestleSpain2025-04-26Feltz Printing Service NEGOTIATION39Onyama Limba
1031Smith D SchemmerAustralia2025-04-30Rangoni Of Florence NEW95Ivan Magalhaes
1032Deepesh M RulapaughIndia2025-04-19Dorl, James J Esq PROPOSAL47Ioni Bowcher
1033Izzy O DarakjyIndia2025-04-19Chanay, Jeffrey A Esq NEGOTIATION33Amy Elsner
1034Claire X FigeroaBrazil2025-04-26Feiner Bros RENEWAL37Anna Fali
1035David G SaylorsFrance2025-04-18Feltz Printing Service NEW21Amy Elsner
1036Juan E SchemmerRussia2025-04-24King, Christopher A Esq UNQUALIFIED68Stephen Shaw
1037Ivar F MarrierCanada2025-04-18Chanay, Jeffrey A Esq QUALIFIED18Xuxue Feng
1038Tony S BologniaAustralia2025-04-05King, Christopher A Esq NEGOTIATION82Ioni Bowcher
1039Tony E MaletCanada2025-04-17Truhlar And Truhlar Attys QUALIFIED62Onyama Limba
1040Adams R StockhamCanada2025-04-11Feiner Bros PROPOSAL0Ivan Magalhaes
1041Mayumi E FerenczArgentina2025-04-01Dorl, James J Esq NEGOTIATION9Ioni Bowcher
1042Aika N StensethBrazil2025-04-12Morlong Associates QUALIFIED51Stephen Shaw
1043Mayumi Q IturbideUnited Kingdom2025-04-07Feiner Bros RENEWAL33Anna Fali
1044Aditya T SlusarskiItaly2025-04-28Rousseaux, Michael Esq UNQUALIFIED0Ivan Magalhaes
1045Ivar T VenereIndia2025-04-04Truhlar And Truhlar Attys UNQUALIFIED69Asiya Javayant
1046Claire I SlusarskiAustralia2025-04-17Benton, John B Jr UNQUALIFIED51Onyama Limba
1047Jennifer R DoeIndia2025-04-04Dorl, James J Esq UNQUALIFIED1Asiya Javayant
1048Aruna I PaprockiItaly2025-04-15Printing Dimensions UNQUALIFIED16Anna Fali
1049Morrow Y MaletJapan2025-04-21Rangoni Of Florence NEW13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer S WaycottSpainAsiya Javayant UNQUALIFIED
Mayumi H FlosiJapanXuxue Feng RENEWAL
Juan T DoeUnited KingdomIoni Bowcher RENEWAL
Mujtaba L DarakjyArgentinaOnyama Limba RENEWAL
Adams T MarrierAustraliaAmy Elsner RENEWAL
Tony J CaldareraAustraliaIoni Bowcher QUALIFIED
Cody L InouyeJapanIoni Bowcher NEW
Murillo N BologniaAustraliaOnyama Limba NEGOTIATION
Wickens S GauchoAustraliaStephen Shaw PROPOSAL
Juan H ShinkoArgentinaAnna Fali QUALIFIED
Maisha T KolmetzGermanyBernardo Dominic QUALIFIED
Faith Z CaudyJapanAmy Elsner UNQUALIFIED
Jones I NestleCanadaAmy Elsner NEGOTIATION
Maria G MacleadItalyXuxue Feng PROPOSAL
Maria G KolmetzJapanIoni Bowcher NEW
Rodrigues F DarakjyArgentinaAmy Elsner NEW
Smith Q MacleadCanadaAsiya Javayant UNQUALIFIED
Ashley F StensethRussiaAmy Elsner QUALIFIED
Leon W OldroydBrazilIvan Magalhaes NEGOTIATION
Darci V PerinUnited KingdomIoni Bowcher PROPOSAL
Salvatore E ShinkoSpainIvan Magalhaes UNQUALIFIED
Emily B OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Aditya J GarufiCanadaAnna Fali NEGOTIATION
Aruna U PerinArgentinaElwin Sharvill QUALIFIED
Leon H AmigonGermanyOnyama Limba NEGOTIATION
Jeanfrancois G GauchoUnited KingdomIoni Bowcher QUALIFIED
Clifford U DilliardArgentinaBernardo Dominic RENEWAL
Leon R VenereRussiaAnna Fali QUALIFIED
Leon Y FerenczIndiaAmy Elsner UNQUALIFIED
Greenwood T DoeFranceAmy Elsner NEW
James F PerinSpainIvan Magalhaes NEW
Costa Y DoeSpainOnyama Limba PROPOSAL
David I InouyeSpainOnyama Limba PROPOSAL
Clifford L CampainRussiaXuxue Feng UNQUALIFIED
Johnson V StensethCanadaIoni Bowcher UNQUALIFIED
Faith N CaldareraBrazilAnna Fali NEGOTIATION
Smith M FlosiFranceElwin Sharvill PROPOSAL
James E IturbideRussiaOnyama Limba UNQUALIFIED
Adams Z VenereUnited KingdomXuxue Feng UNQUALIFIED
Costa A GarufiJapanBernardo Dominic PROPOSAL
Juan E StensethUnited KingdomBernardo Dominic RENEWAL
Maisha Y NickaJapanAmy Elsner RENEWAL
Maria F FlosiAustraliaOnyama Limba RENEWAL
Claire F ChuiJapanAsiya Javayant QUALIFIED
Rodrigues T RutaGermanyBernardo Dominic RENEWAL
Jeanfrancois G DoeArgentinaStephen Shaw NEW
Cody Y MaletItalyAmy Elsner UNQUALIFIED
Izzy Z GlickGermanyStephen Shaw NEGOTIATION
David Q KolmetzSpainStephen Shaw QUALIFIED
Arvin P InouyeGermanyXuxue Feng NEW
Frozen Columns
Name
Nicolas D Stockham
Ricardo U Kusko
Darci D Iturbide
Isabel C Perin
Ashley M Tollner
Chavez J Albares
James A Paprocki
Arvin B Tollner
Cody R Waycott
Isabel I Stockham
Munro P Dilliard
Mayumi Q Waycott
Ashley S Stockham
Greenwood N Gaucho
Rodrigues M Saylors
Smith X Sergi
Morrow O Venere
Francesco X Bolognia
Kadeem M Malet
Alejandro U Slusarski
Mayumi B Gillian
Isabel Y Malet
Adams V Malet
Mayumi Z Albares
Aika C Vocelka
Silvio N Foller
Maisha W Stenseth
Jefferson T Briddick
Kadeem Z Waycott
David K Nestle
Ashley P Venere
Aruna T Saylors
Maria H Tollner
Mayumi B Gillian
Kadeem J Amigon
Tony W Albares
Stacey O Stenseth
Francesco L Iturbide
Johnson P Ostrosky
Jefferson H Wieser
Murillo P Nestle
Adams S Morasca
Leon H Vocelka
Murillo N Campain
Kaitlin W Briddick
Jefferson G Briddick
Stacey A Gillian
Julie P Ferencz
Alejandro P Nestle
Aika E Stockham
IdCountryDate
1000Spain2025-04-10
1001Italy2025-04-13
1002Spain2025-04-13
1003Canada2025-04-20
1004Italy2025-04-10
1005France2025-04-30
1006Russia2025-04-10
1007Spain2025-04-29
1008France2025-04-08
1009Germany2025-04-13
1010India2025-04-14
1011Russia2025-04-06
1012Russia2025-04-14
1013United Kingdom2025-04-24
1014Brazil2025-04-01
1015Germany2025-04-09
1016Argentina2025-04-25
1017Australia2025-04-15
1018Russia2025-04-17
1019Canada2025-04-04
1020India2025-04-22
1021Russia2025-04-15
1022Germany2025-04-02
1023Argentina2025-04-13
1024Argentina2025-04-23
1025United Kingdom2025-04-12
1026Japan2025-04-02
1027Italy2025-04-10
1028France2025-04-27
1029Australia2025-04-27
1030Italy2025-04-13
1031Russia2025-04-12
1032India2025-04-19
1033Canada2025-04-29
1034Spain2025-04-30
1035Argentina2025-04-03
1036Italy2025-04-26
1037Japan2025-04-29
1038Argentina2025-04-04
1039Germany2025-04-20
1040Japan2025-04-19
1041United Kingdom2025-04-04
1042Canada2025-04-16
1043Germany2025-04-06
1044United Kingdom2025-04-15
1045Germany2025-04-26
1046United Kingdom2025-04-25
1047Argentina2025-04-17
1048India2025-04-20
1049Japan2025-04-25

On-Demand Data

NameIdCountryDate
Leon I Ruta1000France2025-04-21
Leja S Whobrey1001United Kingdom2025-04-29
Wickens Y Briddick1002Australia2025-04-22
Morrow Q Marrier1003India2025-04-27
Deepesh B Gillian1004Italy2025-04-09
Ashley E Morasca1005Russia2025-04-25
Wickens C Paprocki1006Argentina2025-04-06
Sinclair D Flosi1007Canada2025-04-21
Mayumi S Saylors1008Russia2025-04-15
Kadeem T Bolognia1009Russia2025-04-29
Darci V Malet1010Spain2025-04-30
David W Inouye1011Brazil2025-04-06
Costa P Malet1012Spain2025-04-19
Jennifer N Stockham1013France2025-04-02
Nicolas N Stockham1014Germany2025-04-12
Claire J Dilliard1015Australia2025-04-25
Jones K Marrier1016Russia2025-04-15
David D Flosi1017Italy2025-04-13
Kadeem W Rim1018Brazil2025-04-19
Kadeem E Foller1019United Kingdom2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio R BologniaIndiaOnyama Limba UNQUALIFIED
James Z TollnerBrazilElwin Sharvill RENEWAL
Leon V ShinkoArgentinaAmy Elsner QUALIFIED
Mayumi E PoquetteGermanyBernardo Dominic NEGOTIATION
Izzy N WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Silvio D VenereBrazilAmy Elsner NEW
Alejandro O InouyeIndiaStephen Shaw RENEWAL
Chavez J NestleJapanAmy Elsner RENEWAL
Rodrigues M VenereIndiaAsiya Javayant NEW
Octavia S GarufiRussiaElwin Sharvill QUALIFIED
Leon B FerenczItalyBernardo Dominic PROPOSAL
Misaki H FollerIndiaOnyama Limba UNQUALIFIED
Adams O CaudyRussiaBernardo Dominic QUALIFIED
Kadeem V ButtArgentinaAsiya Javayant RENEWAL
Salvatore W FlosiItalyStephen Shaw RENEWAL
Wickens G DilliardRussiaAmy Elsner QUALIFIED
Cody Z FollerRussiaElwin Sharvill PROPOSAL
Murillo U SlusarskiSpainIvan Magalhaes QUALIFIED
Claire J BriddickJapanAsiya Javayant QUALIFIED
Jennifer J RimBrazilElwin Sharvill UNQUALIFIED
Francesco T BowleyCanadaIoni Bowcher QUALIFIED
Aika W MarrierJapanOnyama Limba RENEWAL
Deepesh E IturbideRussiaStephen Shaw NEGOTIATION
Ricardo N AlbaresFranceOnyama Limba NEGOTIATION
Sinclair Z AlbaresRussiaElwin Sharvill QUALIFIED
Claire B SlusarskiJapanOnyama Limba RENEWAL
Darci L MaletUnited KingdomAmy Elsner PROPOSAL
Jefferson M MarrierUnited KingdomAsiya Javayant NEW
Aruna C MorascaBrazilStephen Shaw UNQUALIFIED
Rodrigues W BriddickUnited KingdomAmy Elsner UNQUALIFIED
Stacey A DilliardSpainBernardo Dominic NEW
Johnson G BriddickCanadaXuxue Feng QUALIFIED
Silvio X GarufiAustraliaXuxue Feng QUALIFIED
Arvin Z SlusarskiArgentinaOnyama Limba UNQUALIFIED
Clifford X WaycottIndiaAmy Elsner PROPOSAL
Murillo K ButtAustraliaOnyama Limba QUALIFIED
Jeanfrancois U GauchoCanadaXuxue Feng RENEWAL
Leon T PoquetteJapanBernardo Dominic RENEWAL
Julie B RimIndiaStephen Shaw PROPOSAL
Ivar C WieserBrazilElwin Sharvill 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>