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
Sinclair R WaycottGermanyIvan Magalhaes PROPOSAL
Mujtaba U FollerSpainStephen Shaw QUALIFIED
Emily G MaletItalyElwin Sharvill RENEWAL
Arvin S WieserAustraliaAsiya Javayant UNQUALIFIED
Leja P RimUnited KingdomStephen Shaw PROPOSAL
Faith H MaletArgentinaOnyama Limba QUALIFIED
Adams L FollerArgentinaIvan Magalhaes UNQUALIFIED
Octavia X FlosiArgentinaStephen Shaw NEGOTIATION
Misaki L GarufiFranceOnyama Limba NEW
Antonio K NestleItalyAsiya Javayant QUALIFIED
Kaitlin M ChuiItalyIvan Magalhaes UNQUALIFIED
Aruna C PaprockiAustraliaAnna Fali UNQUALIFIED
Aditya F SaylorsSpainAmy Elsner UNQUALIFIED
Juan R CampainUnited KingdomElwin Sharvill QUALIFIED
Cody N CampainFranceBernardo Dominic UNQUALIFIED
Ricardo Y MorascaAustraliaAsiya Javayant RENEWAL
Smith Y PoquetteRussiaAsiya Javayant NEW
Antonio R MaletRussiaBernardo Dominic UNQUALIFIED
Cody G GlickCanadaAnna Fali NEW
Jones C SaylorsBrazilAsiya Javayant UNQUALIFIED
Stacey T RutaUnited KingdomAnna Fali QUALIFIED
Leon V WieserArgentinaStephen Shaw NEGOTIATION
Arvin T InouyeIndiaAsiya Javayant NEGOTIATION
Aruna U PerinIndiaStephen Shaw NEGOTIATION
Murillo S DilliardFranceAsiya Javayant UNQUALIFIED
Claire R RoysterUnited KingdomAnna Fali PROPOSAL
Adams O WhobreyJapanXuxue Feng UNQUALIFIED
James U OstroskyFranceAnna Fali PROPOSAL
Stacey W MorascaGermanyIvan Magalhaes QUALIFIED
Julie D MarrierGermanyAmy Elsner RENEWAL
Darci R VenereAustraliaXuxue Feng UNQUALIFIED
Salvatore J AmigonAustraliaAnna Fali UNQUALIFIED
Mujtaba U NickaItalyBernardo Dominic UNQUALIFIED
Costa Y DilliardArgentinaIoni Bowcher RENEWAL
Sinclair M BriddickGermanyAsiya Javayant QUALIFIED
Jennifer K DilliardGermanyIoni Bowcher PROPOSAL
Sinclair R GillianCanadaOnyama Limba QUALIFIED
Maria G RulapaughAustraliaAmy Elsner PROPOSAL
Mujtaba K BologniaRussiaStephen Shaw UNQUALIFIED
Isabel N PaprockiArgentinaBernardo Dominic PROPOSAL
Leja S GarufiSpainElwin Sharvill NEW
Maria X ButtJapanXuxue Feng PROPOSAL
Silvio H GillianUnited KingdomAmy Elsner QUALIFIED
Faith W CaudyCanadaIvan Magalhaes NEW
Emily C GarufiCanadaOnyama Limba PROPOSAL
Smith X NickaCanadaBernardo Dominic UNQUALIFIED
Mayumi R AlbaresGermanyAmy Elsner PROPOSAL
Aruna V SchemmerFranceAmy Elsner NEW
Julie I RoysterUnited KingdomStephen Shaw NEW
Kadeem E MarrierArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David U DoeItalyElwin Sharvill QUALIFIED
Johnson C MacleadBrazilAmy Elsner NEW
Francesco T SaylorsItalyStephen Shaw RENEWAL
Rodrigues T RutaUnited KingdomBernardo Dominic RENEWAL
Maisha N CampainArgentinaOnyama Limba QUALIFIED
Ricardo D RulapaughIndiaElwin Sharvill QUALIFIED
Leja L PerinFranceStephen Shaw UNQUALIFIED
Octavia M CampainFranceIoni Bowcher UNQUALIFIED
Tony G SaylorsUnited KingdomAsiya Javayant RENEWAL
David V PoquetteRussiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa E SergiCanada2024-09-08Benton, John B Jr NEGOTIATION50Stephen Shaw
1001Julie O ChuiGermany2024-09-12Feltz Printing Service NEW56Onyama Limba
1002Murillo F GarufiIndia2024-09-08Morlong Associates NEGOTIATION84Ivan Magalhaes
1003Alejandro H ShinkoJapan2024-09-20Rangoni Of Florence UNQUALIFIED92Bernardo Dominic
1004Jones W MacleadCanada2024-08-27Dorl, James J Esq UNQUALIFIED38Ioni Bowcher
1005Jones E PoquetteIndia2024-09-24Truhlar And Truhlar Attys PROPOSAL25Onyama Limba
1006Emily W TollnerFrance2024-09-07Dorl, James J Esq NEGOTIATION94Ioni Bowcher
1007Maisha M SlusarskiGermany2024-09-06Chemel, James L Cpa PROPOSAL76Bernardo Dominic
1008Jefferson H FerenczGermany2024-09-24Buckley Miller Wright QUALIFIED90Onyama Limba
1009Juan J CaudyCanada2024-09-06Rousseaux, Michael Esq PROPOSAL66Stephen Shaw
1010Rodrigues W MarrierAustralia2024-09-03Dorl, James J Esq NEGOTIATION58Anna Fali
1011Misaki X CaudySpain2024-09-21Chemel, James L Cpa NEW25Asiya Javayant
1012Maisha T OldroydRussia2024-09-20Chemel, James L Cpa QUALIFIED17Elwin Sharvill
1013Jefferson R PoquetteAustralia2024-09-05Buckley Miller Wright UNQUALIFIED71Ivan Magalhaes
1014Silvio F PaprockiUnited Kingdom2024-09-13Chemel, James L Cpa RENEWAL41Bernardo Dominic
1015Stacey S RulapaughBrazil2024-09-20Chanay, Jeffrey A Esq PROPOSAL14Anna Fali
1016Wickens X DilliardAustralia2024-08-31Chanay, Jeffrey A Esq UNQUALIFIED45Bernardo Dominic
1017Morrow E CaudyUnited Kingdom2024-09-21Buckley Miller Wright UNQUALIFIED9Anna Fali
1018Johnson E WieserFrance2024-09-02Printing Dimensions RENEWAL23Asiya Javayant
1019David B FerenczItaly2024-09-12Truhlar And Truhlar Attys NEGOTIATION57Asiya Javayant
1020Jeanfrancois S CampainUnited Kingdom2024-09-10Dorl, James J Esq RENEWAL67Anna Fali
1021Johnson J DilliardIndia2024-08-26Benton, John B Jr RENEWAL67Xuxue Feng
1022Cody M SchemmerGermany2024-09-03Chapman, Ross E Esq UNQUALIFIED25Xuxue Feng
1023Misaki M IturbideIndia2024-09-03Chanay, Jeffrey A Esq UNQUALIFIED16Ioni Bowcher
1024Greenwood T NestleFrance2024-08-30Morlong Associates PROPOSAL49Stephen Shaw
1025Stacey M RutaUnited Kingdom2024-09-08Chapman, Ross E Esq NEW80Ioni Bowcher
1026Jones J WhobreyGermany2024-09-24Feiner Bros PROPOSAL73Bernardo Dominic
1027Francesco A VenereCanada2024-09-16Chapman, Ross E Esq PROPOSAL60Anna Fali
1028Stacey D RutaArgentina2024-09-06Feltz Printing Service QUALIFIED52Bernardo Dominic
1029Jeanfrancois Y NickaItaly2024-09-22Commercial Press RENEWAL22Ivan Magalhaes
1030Jeanfrancois L RulapaughIndia2024-09-21Chemel, James L Cpa NEGOTIATION8Anna Fali
1031David R StockhamJapan2024-09-18Feiner Bros RENEWAL53Amy Elsner
1032Aika H VocelkaItaly2024-09-01Benton, John B Jr RENEWAL52Ioni Bowcher
1033Izzy S BologniaIndia2024-08-28Chanay, Jeffrey A Esq UNQUALIFIED75Onyama Limba
1034Costa N GlickGermany2024-09-06Rangoni Of Florence RENEWAL15Asiya Javayant
1035Mayumi L VocelkaIndia2024-09-17Chapman, Ross E Esq NEGOTIATION71Ioni Bowcher
1036Isabel I SchemmerArgentina2024-09-14Rangoni Of Florence RENEWAL77Amy Elsner
1037Salvatore S SchemmerGermany2024-09-22Rousseaux, Michael Esq NEGOTIATION60Ioni Bowcher
1038Sinclair U TollnerRussia2024-09-08Rousseaux, Michael Esq QUALIFIED85Elwin Sharvill
1039Johnson Q RulapaughIndia2024-09-19Chapman, Ross E Esq QUALIFIED68Amy Elsner
1040James N BowleyItaly2024-09-01Printing Dimensions NEW56Ivan Magalhaes
1041Tony W VenereJapan2024-09-01Commercial Press NEGOTIATION91Stephen Shaw
1042Aditya V PaprockiRussia2024-09-02Rangoni Of Florence PROPOSAL69Xuxue Feng
1043Salvatore D DarakjyRussia2024-08-26Dorl, James J Esq UNQUALIFIED35Ivan Magalhaes
1044Clifford D FollerGermany2024-09-14Rousseaux, Michael Esq NEW95Anna Fali
1045Misaki U FlosiItaly2024-09-15Chemel, James L Cpa RENEWAL50Amy Elsner
1046Arvin E CampainUnited Kingdom2024-09-18Chapman, Ross E Esq RENEWAL13Elwin Sharvill
1047Jones Y MacleadAustralia2024-09-07Rousseaux, Michael Esq PROPOSAL57Ivan Magalhaes
1048Leja E MaletJapan2024-09-09Printing Dimensions PROPOSAL95Asiya Javayant
1049Darci X KuskoCanada2024-09-04Buckley Miller Wright NEW81Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel W ShinkoSpainBernardo Dominic QUALIFIED
Emily T FigeroaGermanyAsiya Javayant RENEWAL
Jefferson H PerinSpainAnna Fali NEGOTIATION
Aditya J DoeAustraliaAmy Elsner NEW
Emily T GarufiJapanIvan Magalhaes QUALIFIED
Adams G ShinkoAustraliaXuxue Feng RENEWAL
Francesco Y NickaGermanyElwin Sharvill QUALIFIED
Claire U GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh N StensethUnited KingdomOnyama Limba PROPOSAL
Johnson X BowleyBrazilAsiya Javayant QUALIFIED
Maria N GlickFranceAmy Elsner NEGOTIATION
David X RutaGermanyAnna Fali QUALIFIED
Faith N BowleySpainIoni Bowcher PROPOSAL
Jeanfrancois E OstroskyRussiaXuxue Feng PROPOSAL
Smith J IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar Z RimUnited KingdomOnyama Limba PROPOSAL
Jones T AmigonRussiaStephen Shaw UNQUALIFIED
Johnson Q CampainFranceIoni Bowcher NEW
Aruna A CampainUnited KingdomOnyama Limba NEW
Misaki V GauchoSpainAsiya Javayant QUALIFIED
Ivar N AlbaresCanadaAnna Fali RENEWAL
Aruna C PerinBrazilAnna Fali RENEWAL
Munro O BriddickJapanAmy Elsner UNQUALIFIED
Deepesh P SlusarskiArgentinaAnna Fali NEW
Ricardo M StensethAustraliaOnyama Limba UNQUALIFIED
Emily R SchemmerAustraliaBernardo Dominic NEW
Maisha O DoeGermanyXuxue Feng QUALIFIED
Leon Z MorascaFranceStephen Shaw UNQUALIFIED
Nicolas P PerinArgentinaStephen Shaw QUALIFIED
David O FollerSpainAsiya Javayant QUALIFIED
Morrow J SlusarskiCanadaXuxue Feng PROPOSAL
Octavia Q ShinkoAustraliaIvan Magalhaes QUALIFIED
Antonio W StensethAustraliaBernardo Dominic QUALIFIED
Aditya L PerinCanadaAnna Fali UNQUALIFIED
Johnson T FerenczGermanyIoni Bowcher QUALIFIED
Francesco B AlbaresArgentinaIvan Magalhaes QUALIFIED
Kaitlin V InouyeJapanIvan Magalhaes PROPOSAL
Costa R BriddickUnited KingdomOnyama Limba PROPOSAL
Aditya P SaylorsGermanyIvan Magalhaes NEW
Costa E KolmetzBrazilXuxue Feng NEGOTIATION
Deepesh E FlosiCanadaAnna Fali UNQUALIFIED
Salvatore B IturbideFranceAmy Elsner NEGOTIATION
Francesco N FigeroaFranceBernardo Dominic RENEWAL
Juan B SergiAustraliaIvan Magalhaes UNQUALIFIED
Morrow C RimIndiaIoni Bowcher PROPOSAL
Mayumi Y FerenczIndiaAsiya Javayant QUALIFIED
Tony H MaletIndiaAsiya Javayant NEW
Mujtaba R AlbaresItalyAmy Elsner QUALIFIED
Jefferson W CaudyRussiaElwin Sharvill PROPOSAL
Ivar K OstroskyBrazilElwin Sharvill PROPOSAL
Frozen Columns
Name
Alejandro H Foller
Arvin G Dilliard
David L Kolmetz
Maria C Amigon
Stacey B Royster
James B Nestle
Stacey U Bolognia
Maria Z Rim
Darci I Briddick
Chavez I Whobrey
Sinclair Q Ruta
Arvin E Venere
Faith M Morasca
Aika R Oldroyd
Mayumi Q Poquette
Arvin C Ferencz
David Y Marrier
Octavia R Nicka
Mujtaba A Sergi
Maisha D Paprocki
Faith T Ferencz
Ashley F Venere
Adams M Doe
Aditya Q Gillian
Kaitlin E Stockham
Murillo P Paprocki
Misaki N Figeroa
Claire C Perin
Deepesh A Slusarski
Kaitlin Z Inouye
Kaitlin X Nestle
Izzy Y Maclead
Cody A Stockham
Adams W Briddick
Julie S Malet
Jeanfrancois P Slusarski
Rodrigues N Stockham
Mujtaba V Amigon
Jennifer N Garufi
Johnson E Stenseth
Costa C Wieser
Clifford B Perin
Juan A Briddick
Smith K Marrier
Izzy Q Stenseth
Aika D Malet
David S Poquette
Arvin E Stenseth
Clifford K Figeroa
Adams P Marrier
IdCountryDate
1000France2024-09-13
1001Russia2024-09-15
1002Australia2024-08-27
1003India2024-09-08
1004Japan2024-08-26
1005Spain2024-09-10
1006United Kingdom2024-08-29
1007Italy2024-09-20
1008Canada2024-09-19
1009Italy2024-09-12
1010Canada2024-09-06
1011Brazil2024-09-21
1012Australia2024-09-01
1013Brazil2024-08-31
1014United Kingdom2024-08-26
1015India2024-09-16
1016Italy2024-09-11
1017Australia2024-09-01
1018Australia2024-09-19
1019Brazil2024-09-14
1020India2024-09-15
1021Brazil2024-09-15
1022United Kingdom2024-09-04
1023Germany2024-09-19
1024Italy2024-08-28
1025Argentina2024-09-15
1026Argentina2024-09-22
1027Japan2024-09-04
1028Russia2024-09-07
1029Argentina2024-09-08
1030Spain2024-09-16
1031United Kingdom2024-09-10
1032United Kingdom2024-09-08
1033Japan2024-09-07
1034India2024-09-05
1035Australia2024-08-31
1036Japan2024-08-28
1037Russia2024-09-02
1038Italy2024-09-17
1039France2024-09-05
1040Italy2024-09-06
1041Italy2024-09-12
1042Germany2024-09-04
1043Spain2024-09-21
1044Italy2024-09-16
1045Russia2024-09-03
1046Australia2024-08-27
1047Germany2024-08-31
1048Canada2024-08-28
1049France2024-09-12

On-Demand Data

NameIdCountryDate
Leja L Iturbide1000Australia2024-09-06
Salvatore A Albares1001Japan2024-09-16
Francesco F Inouye1002United Kingdom2024-09-04
Wickens S Sergi1003Germany2024-09-05
Rodrigues N Flosi1004India2024-09-23
Izzy U Inouye1005Canada2024-09-23
Mujtaba J Malet1006United Kingdom2024-09-02
Maria B Maclead1007Argentina2024-08-29
Clifford A Caudy1008Spain2024-08-27
Jennifer A Dilliard1009Spain2024-09-04
Darci E Whobrey1010Canada2024-09-20
Sinclair T Poquette1011Russia2024-09-20
Nicolas C Malet1012India2024-09-09
Munro L Foller1013United Kingdom2024-09-18
Smith Q Albares1014Russia2024-09-16
Faith V Whobrey1015Spain2024-09-07
Emily T Garufi1016Russia2024-09-09
Clifford V Nicka1017Argentina2024-08-29
Kaitlin A Morasca1018Australia2024-09-23
Antonio X Kolmetz1019Italy2024-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas M GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Ivar Z FlosiIndiaOnyama Limba RENEWAL
Sinclair M MorascaRussiaElwin Sharvill QUALIFIED
Maisha A AlbaresGermanyAmy Elsner QUALIFIED
Leon Z CaudyIndiaIvan Magalhaes NEGOTIATION
Adams G KuskoRussiaOnyama Limba RENEWAL
Clifford L GlickItalyStephen Shaw PROPOSAL
Tony B IturbideUnited KingdomAnna Fali UNQUALIFIED
Julie V VenereIndiaOnyama Limba NEW
Ricardo V NickaArgentinaBernardo Dominic NEGOTIATION
Rodrigues G GlickItalyOnyama Limba PROPOSAL
Leon U SaylorsFranceAmy Elsner RENEWAL
Aruna I NickaAustraliaAnna Fali NEGOTIATION
Misaki Q MacleadJapanOnyama Limba RENEWAL
Mujtaba D MorascaJapanAnna Fali NEW
Jennifer I MacleadArgentinaStephen Shaw RENEWAL
Tony F RulapaughFranceXuxue Feng NEGOTIATION
Costa V ChuiIndiaAmy Elsner NEGOTIATION
Francesco T CampainAustraliaIoni Bowcher PROPOSAL
Chavez N OldroydItalyAnna Fali RENEWAL
Maisha O PoquetteJapanAmy Elsner NEW
Smith Y CaldareraIndiaBernardo Dominic PROPOSAL
Ivar B SergiBrazilXuxue Feng NEGOTIATION
Nicolas L IturbideUnited KingdomAmy Elsner NEGOTIATION
Juan Z DarakjyBrazilOnyama Limba NEW
Darci C BriddickSpainIoni Bowcher QUALIFIED
Kadeem H BowleyFranceBernardo Dominic UNQUALIFIED
Aditya C DilliardRussiaBernardo Dominic QUALIFIED
Murillo B MaletItalyIvan Magalhaes NEW
Aruna R DilliardGermanyStephen Shaw RENEWAL
Rodrigues V ChuiJapanAnna Fali PROPOSAL
Smith G KolmetzArgentinaIoni Bowcher RENEWAL
Deepesh G WieserBrazilXuxue Feng NEGOTIATION
James F DilliardItalyStephen Shaw NEW
Arvin J WhobreyCanadaBernardo Dominic RENEWAL
Costa O FollerGermanyXuxue Feng RENEWAL
Cody C RoysterIndiaElwin Sharvill NEW
Tony G GarufiItalyIvan Magalhaes NEGOTIATION
Morrow M BowleyItalyIvan Magalhaes NEW
Johnson X PoquetteFranceBernardo Dominic 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>