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
Izzy I AmigonUnited KingdomIvan Magalhaes QUALIFIED
Claire O StockhamUnited KingdomOnyama Limba UNQUALIFIED
Morrow Y TollnerJapanAsiya Javayant NEGOTIATION
James R NestleItalyElwin Sharvill PROPOSAL
Cody F GlickSpainIvan Magalhaes NEW
Aika S InouyeUnited KingdomAsiya Javayant NEGOTIATION
Morrow D SaylorsItalyAsiya Javayant UNQUALIFIED
Emily Z IturbideItalyElwin Sharvill UNQUALIFIED
Sinclair G PaprockiCanadaStephen Shaw UNQUALIFIED
Claire L CaudyRussiaIoni Bowcher QUALIFIED
Munro C MaletItalyOnyama Limba NEW
Johnson B BriddickRussiaAsiya Javayant NEW
Leon U TollnerIndiaAnna Fali NEGOTIATION
Munro C GarufiSpainXuxue Feng RENEWAL
Stacey O DilliardRussiaOnyama Limba RENEWAL
Leja R SlusarskiCanadaBernardo Dominic PROPOSAL
Cody I PerinCanadaXuxue Feng RENEWAL
Aruna K StockhamUnited KingdomIvan Magalhaes NEW
Arvin K ButtGermanyElwin Sharvill RENEWAL
Sinclair J StockhamItalyElwin Sharvill QUALIFIED
Kaitlin B AlbaresGermanyStephen Shaw RENEWAL
James B StockhamItalyBernardo Dominic QUALIFIED
Misaki D SergiIndiaXuxue Feng NEGOTIATION
Antonio J BriddickArgentinaOnyama Limba UNQUALIFIED
Deepesh N MaletFranceStephen Shaw NEW
Ivar U KolmetzIndiaAmy Elsner RENEWAL
Deepesh F DarakjyFranceAmy Elsner NEGOTIATION
Tony M MorascaJapanIvan Magalhaes PROPOSAL
Julie Y DilliardArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois P BologniaFranceElwin Sharvill PROPOSAL
Deepesh C VenereGermanyAmy Elsner NEGOTIATION
Octavia U DilliardBrazilBernardo Dominic PROPOSAL
Murillo A WhobreyFranceElwin Sharvill UNQUALIFIED
Clifford U FerenczGermanyIoni Bowcher NEW
Jeanfrancois A CaldareraAustraliaAsiya Javayant NEW
Cody I MorascaCanadaOnyama Limba RENEWAL
Kaitlin L OldroydUnited KingdomAnna Fali UNQUALIFIED
Sinclair S PoquetteAustraliaOnyama Limba NEW
Rodrigues P MacleadUnited KingdomAnna Fali UNQUALIFIED
Arvin P SaylorsJapanBernardo Dominic RENEWAL
Faith W FigeroaAustraliaAnna Fali NEGOTIATION
Isabel K CaudyAustraliaAsiya Javayant NEGOTIATION
Adams N MarrierArgentinaAmy Elsner RENEWAL
Munro D WhobreyGermanyXuxue Feng NEGOTIATION
Deepesh X InouyeJapanAsiya Javayant QUALIFIED
Aika K CaudyUnited KingdomAnna Fali PROPOSAL
Julie N GillianCanadaAnna Fali RENEWAL
Jeanfrancois L KuskoCanadaAsiya Javayant PROPOSAL
Antonio N OldroydItalyBernardo Dominic QUALIFIED
Francesco Q SlusarskiRussiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco A BologniaAustraliaOnyama Limba NEGOTIATION
Leon Y StockhamGermanyAnna Fali PROPOSAL
Maisha E GauchoCanadaAsiya Javayant NEW
Stacey C WieserCanadaBernardo Dominic NEW
David R ChuiSpainXuxue Feng NEW
Izzy Z ShinkoArgentinaBernardo Dominic NEGOTIATION
Faith N GillianArgentinaOnyama Limba NEGOTIATION
Kadeem Q DilliardGermanyStephen Shaw PROPOSAL
Kaitlin T CaudyGermanyStephen Shaw PROPOSAL
Sinclair B FollerGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin Z BowleyCanada2024-06-13King, Christopher A Esq QUALIFIED30Amy Elsner
1001David E MorascaIndia2024-06-15Rousseaux, Michael Esq NEW88Ivan Magalhaes
1002Jeanfrancois I PoquetteSpain2024-06-15Chanay, Jeffrey A Esq QUALIFIED53Elwin Sharvill
1003Aruna T AlbaresAustralia2024-06-21Rousseaux, Michael Esq QUALIFIED23Elwin Sharvill
1004Salvatore G PoquetteUnited Kingdom2024-06-13Morlong Associates PROPOSAL21Elwin Sharvill
1005Kadeem X FollerAustralia2024-06-08Rangoni Of Florence QUALIFIED64Ivan Magalhaes
1006Greenwood F GlickUnited Kingdom2024-06-05Benton, John B Jr PROPOSAL32Xuxue Feng
1007Darci E NickaBrazil2024-06-19Feltz Printing Service RENEWAL96Amy Elsner
1008Tony T MacleadIndia2024-06-13Buckley Miller Wright QUALIFIED19Anna Fali
1009Aruna R IturbideItaly2024-06-10Rangoni Of Florence QUALIFIED83Bernardo Dominic
1010Jefferson A PoquetteRussia2024-05-27Rangoni Of Florence NEGOTIATION68Bernardo Dominic
1011Adams T DoeItaly2024-05-31Rangoni Of Florence UNQUALIFIED53Asiya Javayant
1012Julie Z WaycottUnited Kingdom2024-06-19Dorl, James J Esq UNQUALIFIED5Onyama Limba
1013Munro B AlbaresJapan2024-05-28Morlong Associates UNQUALIFIED12Asiya Javayant
1014Antonio D DarakjyBrazil2024-06-05Commercial Press UNQUALIFIED29Asiya Javayant
1015Mujtaba I AmigonFrance2024-06-21Dorl, James J Esq UNQUALIFIED27Asiya Javayant
1016Ivar L GarufiGermany2024-05-29Rousseaux, Michael Esq NEW8Asiya Javayant
1017Cody I NickaIndia2024-06-23Dorl, James J Esq PROPOSAL77Elwin Sharvill
1018Mayumi N SergiUnited Kingdom2024-05-27Chemel, James L Cpa NEGOTIATION97Ioni Bowcher
1019Juan E StensethUnited Kingdom2024-06-07Feltz Printing Service PROPOSAL0Amy Elsner
1020Cody O PaprockiIndia2024-06-10King, Christopher A Esq NEW63Xuxue Feng
1021Ricardo T GlickIndia2024-06-22Feltz Printing Service QUALIFIED75Asiya Javayant
1022Stacey W MaletIndia2024-06-18King, Christopher A Esq UNQUALIFIED88Stephen Shaw
1023Izzy C FlosiArgentina2024-06-12Chapman, Ross E Esq QUALIFIED12Ivan Magalhaes
1024Rodrigues D WaycottIndia2024-05-29Feltz Printing Service NEW95Bernardo Dominic
1025Isabel I MacleadAustralia2024-06-18Truhlar And Truhlar Attys NEGOTIATION48Xuxue Feng
1026Tony L GarufiUnited Kingdom2024-06-18Rangoni Of Florence NEGOTIATION98Xuxue Feng
1027Leja A GarufiItaly2024-06-05Printing Dimensions NEGOTIATION51Onyama Limba
1028Adams D PaprockiArgentina2024-05-29Dorl, James J Esq NEW23Ivan Magalhaes
1029Juan R CaudyItaly2024-06-23King, Christopher A Esq NEGOTIATION65Amy Elsner
1030Julie C WieserRussia2024-05-25Dorl, James J Esq PROPOSAL8Ivan Magalhaes
1031Nicolas A WhobreySpain2024-06-23Benton, John B Jr NEW1Ivan Magalhaes
1032Ashley T TollnerRussia2024-06-02Benton, John B Jr NEW30Xuxue Feng
1033Claire E WaycottRussia2024-05-27King, Christopher A Esq QUALIFIED38Ioni Bowcher
1034Francesco F CaudySpain2024-06-12Chanay, Jeffrey A Esq QUALIFIED81Ioni Bowcher
1035Emily P SergiJapan2024-06-20Buckley Miller Wright QUALIFIED77Asiya Javayant
1036Claire P GauchoUnited Kingdom2024-05-26King, Christopher A Esq PROPOSAL3Bernardo Dominic
1037Ricardo W GauchoUnited Kingdom2024-05-31Benton, John B Jr NEGOTIATION39Ivan Magalhaes
1038Juan Y ShinkoGermany2024-06-04Morlong Associates QUALIFIED25Asiya Javayant
1039Misaki L CampainBrazil2024-06-22Rangoni Of Florence NEW84Amy Elsner
1040Salvatore E DilliardItaly2024-06-08King, Christopher A Esq NEW59Bernardo Dominic
1041Ashley R TollnerAustralia2024-05-26Dorl, James J Esq NEGOTIATION51Anna Fali
1042Leja O ButtArgentina2024-06-20Chanay, Jeffrey A Esq NEW86Ioni Bowcher
1043Kaitlin F BriddickCanada2024-06-20Dorl, James J Esq QUALIFIED64Xuxue Feng
1044Francesco D CaudySpain2024-05-26Chapman, Ross E Esq PROPOSAL32Asiya Javayant
1045Claire L FigeroaItaly2024-06-22Commercial Press NEW82Bernardo Dominic
1046Munro Y PerinRussia2024-06-19Chemel, James L Cpa NEGOTIATION11Elwin Sharvill
1047Kadeem E RimAustralia2024-06-07King, Christopher A Esq RENEWAL62Ivan Magalhaes
1048Aditya G TollnerAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL6Stephen Shaw
1049Francesco G WieserGermany2024-06-06Morlong Associates RENEWAL74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan O CaldareraArgentinaAsiya Javayant NEGOTIATION
Aditya O OstroskyJapanElwin Sharvill NEW
Jennifer Y AmigonAustraliaOnyama Limba PROPOSAL
Jefferson A VenereCanadaElwin Sharvill QUALIFIED
Sinclair P GillianCanadaAmy Elsner PROPOSAL
Ivar E SaylorsGermanyStephen Shaw QUALIFIED
Murillo J OstroskyItalyIvan Magalhaes PROPOSAL
Murillo G KolmetzArgentinaStephen Shaw RENEWAL
Cody E DarakjyGermanyOnyama Limba NEW
Johnson L MorascaJapanAsiya Javayant RENEWAL
Wickens V GillianIndiaIoni Bowcher RENEWAL
Emily Y GlickUnited KingdomAsiya Javayant NEW
Francesco A RutaItalyElwin Sharvill NEGOTIATION
Aruna D IturbideCanadaAsiya Javayant NEW
Julie S StensethFranceAmy Elsner PROPOSAL
Costa U GillianGermanyIvan Magalhaes PROPOSAL
Johnson O KolmetzIndiaAsiya Javayant NEGOTIATION
Munro S CaldareraSpainIvan Magalhaes RENEWAL
Stacey D FollerArgentinaElwin Sharvill QUALIFIED
Leja E BologniaItalyAnna Fali NEW
Maisha D CaudyGermanyXuxue Feng QUALIFIED
Kaitlin N GlickSpainAsiya Javayant NEGOTIATION
Stacey G NestleGermanyAmy Elsner NEW
Jones O IturbideGermanyBernardo Dominic PROPOSAL
Murillo V PaprockiBrazilAsiya Javayant PROPOSAL
Aruna K MacleadIndiaBernardo Dominic NEW
Darci K ShinkoJapanElwin Sharvill QUALIFIED
Greenwood V PoquetteIndiaElwin Sharvill PROPOSAL
Maria S KuskoUnited KingdomAsiya Javayant PROPOSAL
Deepesh C FigeroaAustraliaAnna Fali NEGOTIATION
Jones V MacleadUnited KingdomXuxue Feng NEGOTIATION
Aditya F FigeroaIndiaAnna Fali PROPOSAL
James Y WieserJapanStephen Shaw RENEWAL
Cody Q FlosiCanadaAnna Fali NEGOTIATION
Ivar R WaycottArgentinaStephen Shaw UNQUALIFIED
Cody D NickaIndiaAmy Elsner NEGOTIATION
Isabel G MaletSpainBernardo Dominic PROPOSAL
Isabel D RimIndiaIvan Magalhaes NEW
Octavia Y FollerJapanAmy Elsner PROPOSAL
Smith L OstroskyIndiaIoni Bowcher NEGOTIATION
Smith Y MacleadCanadaIvan Magalhaes RENEWAL
Arvin K GarufiArgentinaOnyama Limba RENEWAL
Salvatore L KolmetzArgentinaBernardo Dominic QUALIFIED
Leja Y PaprockiBrazilIoni Bowcher NEGOTIATION
Jennifer G MaletArgentinaIoni Bowcher NEGOTIATION
Isabel U MacleadGermanyAmy Elsner RENEWAL
Munro Z SchemmerFranceStephen Shaw QUALIFIED
Alejandro A SaylorsRussiaBernardo Dominic RENEWAL
Maria A PaprockiItalyStephen Shaw QUALIFIED
Silvio Z MacleadAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Salvatore U Dilliard
Mujtaba G Glick
Ashley P Kusko
Arvin N Butt
Johnson A Perin
Costa R Foller
Francesco T Whobrey
Johnson B Royster
Salvatore H Paprocki
Alejandro Z Briddick
Juan Y Inouye
David H Ruta
David C Glick
Isabel L Kolmetz
Francesco Z Campain
Greenwood N Bowley
Nicolas H Bolognia
Octavia P Shinko
Kaitlin O Sergi
Antonio C Doe
Kadeem K Glick
Aika S Rulapaugh
Morrow U Saylors
Leon P Ostrosky
Silvio B Caudy
Chavez L Kusko
Tony Y Tollner
James N Royster
Darci V Stockham
Ashley E Morasca
Antonio H Shinko
Jeanfrancois E Bowley
Wickens T Venere
Salvatore K Slusarski
Aika V Inouye
Leja V Foller
Alejandro D Chui
Kaitlin T Ferencz
Maisha Z Nicka
Juan M Wieser
Leon V Doe
Francesco H Darakjy
Leja R Figeroa
Claire R Oldroyd
Tony T Inouye
Leon G Glick
Antonio P Marrier
Jeanfrancois S Royster
Smith G Slusarski
Sinclair I Perin
IdCountryDate
1000Germany2024-05-30
1001Japan2024-06-11
1002France2024-06-15
1003Canada2024-06-15
1004Australia2024-06-10
1005Spain2024-06-23
1006Canada2024-06-15
1007Argentina2024-06-18
1008Australia2024-05-31
1009India2024-05-28
1010Japan2024-05-31
1011Russia2024-06-03
1012France2024-06-18
1013Argentina2024-05-31
1014Japan2024-06-19
1015Argentina2024-06-10
1016Argentina2024-06-19
1017Brazil2024-06-22
1018Brazil2024-06-13
1019Italy2024-05-26
1020Spain2024-06-04
1021Australia2024-06-05
1022Brazil2024-05-31
1023Japan2024-06-10
1024India2024-06-01
1025Australia2024-06-06
1026Italy2024-06-23
1027Russia2024-06-23
1028Brazil2024-05-25
1029Spain2024-06-03
1030United Kingdom2024-06-14
1031Canada2024-06-22
1032Spain2024-06-01
1033Russia2024-06-08
1034Germany2024-06-02
1035United Kingdom2024-06-19
1036United Kingdom2024-06-18
1037Brazil2024-06-04
1038France2024-06-22
1039Canada2024-06-04
1040Russia2024-06-03
1041Brazil2024-06-11
1042Brazil2024-06-06
1043Japan2024-06-02
1044France2024-06-15
1045Brazil2024-06-21
1046India2024-06-04
1047India2024-06-05
1048Japan2024-05-26
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Tony Q Rulapaugh1000Spain2024-06-10
Cody V Whobrey1001Italy2024-06-13
Leja U Saylors1002Spain2024-06-08
Johnson Z Perin1003Canada2024-06-23
Greenwood Y Figeroa1004India2024-05-28
Francesco D Kolmetz1005Russia2024-06-09
Jefferson H Foller1006India2024-06-14
Jones O Bowley1007Germany2024-06-19
Mujtaba B Shinko1008Canada2024-05-30
Darci P Rulapaugh1009India2024-06-14
Nicolas V Figeroa1010Japan2024-05-29
Silvio S Ostrosky1011Russia2024-06-21
Maria R Campain1012Spain2024-06-14
Johnson A Dilliard1013Argentina2024-06-01
Adams W Figeroa1014India2024-06-10
Tony V Chui1015Germany2024-06-18
Maria N Caudy1016India2024-06-15
Ricardo T Kolmetz1017Canada2024-06-10
Julie F Doe1018India2024-06-09
Kaitlin O Marrier1019Brazil2024-06-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones G PoquetteUnited KingdomXuxue Feng QUALIFIED
Ivar G KuskoRussiaElwin Sharvill NEGOTIATION
Clifford W PaprockiFranceAsiya Javayant QUALIFIED
Izzy P DilliardIndiaIoni Bowcher UNQUALIFIED
Clifford Z TollnerJapanXuxue Feng NEGOTIATION
Mujtaba Y IturbideJapanElwin Sharvill UNQUALIFIED
Murillo P ButtUnited KingdomAmy Elsner PROPOSAL
Rodrigues J ButtFranceXuxue Feng PROPOSAL
Nicolas I FerenczGermanyAmy Elsner QUALIFIED
Octavia X FollerItalyBernardo Dominic NEGOTIATION
Wickens S WieserJapanAsiya Javayant RENEWAL
Claire M RutaUnited KingdomAsiya Javayant NEW
Stacey S KuskoBrazilStephen Shaw NEGOTIATION
James S OstroskyGermanyAmy Elsner UNQUALIFIED
Murillo J FlosiJapanStephen Shaw NEW
Claire A CaudyRussiaAmy Elsner RENEWAL
Antonio U NestleUnited KingdomAsiya Javayant NEGOTIATION
Morrow R RimUnited KingdomXuxue Feng NEGOTIATION
Wickens H NestleGermanyBernardo Dominic NEW
Greenwood A AlbaresItalyXuxue Feng QUALIFIED
Octavia U MaletArgentinaBernardo Dominic PROPOSAL
Tony O BriddickBrazilElwin Sharvill QUALIFIED
Rodrigues Q OldroydUnited KingdomBernardo Dominic QUALIFIED
Octavia F GillianAustraliaBernardo Dominic RENEWAL
Aditya G GillianUnited KingdomXuxue Feng NEW
Murillo R CampainRussiaElwin Sharvill UNQUALIFIED
Jennifer M CaudyIndiaAmy Elsner UNQUALIFIED
Isabel X StensethFranceAsiya Javayant NEGOTIATION
Misaki B PerinJapanXuxue Feng QUALIFIED
Aruna D PerinJapanAnna Fali NEW
Maisha X WaycottCanadaElwin Sharvill RENEWAL
Murillo S GillianUnited KingdomStephen Shaw RENEWAL
Leon D AmigonAustraliaIoni Bowcher UNQUALIFIED
Sinclair U FerenczBrazilElwin Sharvill RENEWAL
Aruna C MarrierBrazilBernardo Dominic RENEWAL
Wickens R PerinJapanStephen Shaw NEGOTIATION
Chavez J CaudyItalyAsiya Javayant PROPOSAL
Kadeem T ChuiItalyElwin Sharvill PROPOSAL
Sinclair M AlbaresArgentinaXuxue Feng UNQUALIFIED
Murillo H GlickUnited KingdomAnna Fali QUALIFIED

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