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
Maria J FlosiSpainAmy Elsner QUALIFIED
Izzy V WieserCanadaAsiya Javayant NEW
Kaitlin H CampainUnited KingdomStephen Shaw QUALIFIED
Juan Z InouyeSpainAnna Fali UNQUALIFIED
Nicolas A CaldareraAustraliaOnyama Limba RENEWAL
Darci L OldroydSpainAnna Fali PROPOSAL
Arvin O MacleadJapanAmy Elsner NEGOTIATION
Stacey G ShinkoArgentinaAmy Elsner PROPOSAL
Misaki Z PerinArgentinaBernardo Dominic NEGOTIATION
Izzy B OldroydSpainXuxue Feng QUALIFIED
Maisha B MarrierCanadaAmy Elsner UNQUALIFIED
Faith I DoeFranceBernardo Dominic NEW
Leja T VenereRussiaOnyama Limba UNQUALIFIED
Adams L NestleAustraliaIoni Bowcher UNQUALIFIED
Munro W ChuiCanadaIoni Bowcher NEW
Darci J GlickUnited KingdomIvan Magalhaes QUALIFIED
Kadeem L OldroydArgentinaAnna Fali RENEWAL
Sinclair C PoquetteIndiaIvan Magalhaes NEW
Jones J SlusarskiFranceXuxue Feng NEGOTIATION
Faith J FerenczJapanStephen Shaw UNQUALIFIED
Jeanfrancois P GlickGermanyXuxue Feng NEGOTIATION
Chavez G RutaUnited KingdomIvan Magalhaes RENEWAL
Jennifer M CaudyAustraliaOnyama Limba UNQUALIFIED
Maria S PoquetteGermanyAmy Elsner UNQUALIFIED
Sinclair H CampainBrazilElwin Sharvill RENEWAL
Leon F MaletRussiaIvan Magalhaes NEGOTIATION
Jefferson L BowleyUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin A DoeRussiaIoni Bowcher RENEWAL
James F MorascaCanadaBernardo Dominic UNQUALIFIED
Emily V StockhamItalyAsiya Javayant UNQUALIFIED
Deepesh Q ShinkoArgentinaXuxue Feng QUALIFIED
Smith O CampainBrazilAnna Fali NEW
Nicolas L MaletSpainAmy Elsner NEGOTIATION
Kadeem R WieserFranceAsiya Javayant RENEWAL
Nicolas R SlusarskiArgentinaAmy Elsner NEW
Deepesh P FollerBrazilBernardo Dominic QUALIFIED
Wickens J CampainGermanyAsiya Javayant UNQUALIFIED
Munro U KuskoIndiaAmy Elsner PROPOSAL
Emily P RoysterArgentinaAsiya Javayant NEW
Aika O WieserAustraliaIvan Magalhaes QUALIFIED
Morrow A FigeroaIndiaAnna Fali QUALIFIED
Aditya F MorascaSpainStephen Shaw RENEWAL
Leja C NestleJapanIoni Bowcher NEW
Ricardo V RutaFranceBernardo Dominic NEGOTIATION
Silvio G RimItalyElwin Sharvill PROPOSAL
Costa U DarakjyBrazilBernardo Dominic PROPOSAL
Antonio Y OldroydJapanElwin Sharvill UNQUALIFIED
Aditya S DoeRussiaStephen Shaw QUALIFIED
Francesco Y RulapaughItalyElwin Sharvill RENEWAL
Stacey X NestleUnited KingdomOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel N OstroskyJapanAmy Elsner PROPOSAL
Jeanfrancois A FerenczFranceAnna Fali PROPOSAL
Ricardo A VocelkaGermanyIvan Magalhaes NEGOTIATION
Ricardo S BriddickUnited KingdomBernardo Dominic NEGOTIATION
Aditya M MorascaUnited KingdomIoni Bowcher NEW
Costa Y MacleadAustraliaStephen Shaw RENEWAL
Adams Z SergiUnited KingdomOnyama Limba QUALIFIED
Arvin U SergiBrazilIoni Bowcher QUALIFIED
Jennifer I MacleadAustraliaStephen Shaw RENEWAL
Morrow K AlbaresFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey L SaylorsAustralia2024-05-23Buckley Miller Wright QUALIFIED13Xuxue Feng
1001Sinclair J CaudySpain2024-06-02Chapman, Ross E Esq RENEWAL94Ivan Magalhaes
1002Jeanfrancois Y WieserSpain2024-05-21Buckley Miller Wright UNQUALIFIED9Amy Elsner
1003David K SaylorsCanada2024-05-30Chanay, Jeffrey A Esq PROPOSAL85Xuxue Feng
1004Tony X BologniaSpain2024-06-09Rousseaux, Michael Esq UNQUALIFIED50Elwin Sharvill
1005Emily X StockhamJapan2024-06-14Printing Dimensions QUALIFIED21Ivan Magalhaes
1006Munro M PaprockiItaly2024-05-30Commercial Press PROPOSAL92Amy Elsner
1007Maisha S CampainItaly2024-06-11Rangoni Of Florence UNQUALIFIED6Ioni Bowcher
1008David Y RutaIndia2024-05-29Morlong Associates QUALIFIED91Ivan Magalhaes
1009Costa L FlosiArgentina2024-06-06Feiner Bros NEW51Amy Elsner
1010Maria R PoquetteRussia2024-05-30Commercial Press NEGOTIATION39Xuxue Feng
1011Silvio W VocelkaArgentina2024-06-15Printing Dimensions RENEWAL64Stephen Shaw
1012Isabel J ChuiAustralia2024-06-09Rangoni Of Florence RENEWAL40Onyama Limba
1013Morrow I InouyeItaly2024-05-28Benton, John B Jr NEW47Amy Elsner
1014Izzy G MaletJapan2024-05-21Commercial Press NEGOTIATION73Ivan Magalhaes
1015Faith U OstroskySpain2024-06-01Commercial Press UNQUALIFIED7Bernardo Dominic
1016David N CaudyItaly2024-05-23Printing Dimensions NEGOTIATION37Bernardo Dominic
1017Rodrigues M CaldareraGermany2024-06-13King, Christopher A Esq QUALIFIED24Stephen Shaw
1018Aruna T DarakjyJapan2024-05-18Rousseaux, Michael Esq PROPOSAL68Elwin Sharvill
1019Salvatore T TollnerCanada2024-06-07Rangoni Of Florence PROPOSAL83Asiya Javayant
1020Leja R RutaRussia2024-06-09Chapman, Ross E Esq RENEWAL98Stephen Shaw
1021Julie R SchemmerGermany2024-05-25Benton, John B Jr RENEWAL18Stephen Shaw
1022Emily P MacleadBrazil2024-06-03Feiner Bros UNQUALIFIED59Asiya Javayant
1023Emily Z CaldareraBrazil2024-06-13Feiner Bros UNQUALIFIED39Ivan Magalhaes
1024Costa U ChuiGermany2024-05-28Dorl, James J Esq QUALIFIED15Onyama Limba
1025Jeanfrancois B FollerFrance2024-06-06Dorl, James J Esq RENEWAL85Bernardo Dominic
1026Misaki N GlickBrazil2024-05-19Feltz Printing Service NEGOTIATION16Bernardo Dominic
1027Francesco J StensethRussia2024-06-02Feltz Printing Service NEW71Onyama Limba
1028Octavia G SaylorsIndia2024-06-15Chapman, Ross E Esq NEW75Anna Fali
1029Izzy U SaylorsAustralia2024-06-05Rousseaux, Michael Esq UNQUALIFIED99Ivan Magalhaes
1030Misaki B BologniaJapan2024-05-28Chanay, Jeffrey A Esq RENEWAL3Xuxue Feng
1031Tony U MacleadRussia2024-06-02Benton, John B Jr NEW25Stephen Shaw
1032Chavez J TollnerItaly2024-06-05King, Christopher A Esq QUALIFIED23Ioni Bowcher
1033Salvatore G WieserAustralia2024-06-16Morlong Associates UNQUALIFIED93Stephen Shaw
1034Kadeem U NickaRussia2024-05-18Benton, John B Jr UNQUALIFIED37Amy Elsner
1035Chavez Q ChuiUnited Kingdom2024-06-14Chapman, Ross E Esq NEW30Elwin Sharvill
1036Emily Q PerinSpain2024-06-06Buckley Miller Wright NEW36Bernardo Dominic
1037Aruna S SchemmerIndia2024-06-02Buckley Miller Wright UNQUALIFIED65Bernardo Dominic
1038Johnson T FlosiBrazil2024-05-31King, Christopher A Esq QUALIFIED87Xuxue Feng
1039Mujtaba R ChuiSpain2024-05-26Rangoni Of Florence NEW42Bernardo Dominic
1040Mujtaba Z BologniaSpain2024-06-16Feiner Bros PROPOSAL70Ivan Magalhaes
1041Chavez X MaletItaly2024-06-07Morlong Associates NEW71Ioni Bowcher
1042Aditya W ButtArgentina2024-05-19Rangoni Of Florence RENEWAL98Stephen Shaw
1043Smith P GlickAustralia2024-05-31Chapman, Ross E Esq QUALIFIED19Ioni Bowcher
1044Morrow M CampainUnited Kingdom2024-05-27Rangoni Of Florence RENEWAL66Xuxue Feng
1045Ashley Q FlosiSpain2024-06-15Feltz Printing Service NEW53Stephen Shaw
1046Stacey J GauchoAustralia2024-05-22Printing Dimensions NEW84Anna Fali
1047Misaki Q CaldareraCanada2024-05-18Rangoni Of Florence RENEWAL39Amy Elsner
1048Murillo V AlbaresArgentina2024-06-07Feltz Printing Service PROPOSAL99Amy Elsner
1049Tony O CaldareraSpain2024-06-16Chapman, Ross E Esq PROPOSAL4Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Claire E NickaFranceAsiya Javayant NEGOTIATION
Ivar B MorascaFranceBernardo Dominic NEW
Leja W AmigonArgentinaElwin Sharvill NEW
Arvin R RoysterAustraliaOnyama Limba PROPOSAL
Chavez T InouyeJapanBernardo Dominic RENEWAL
Alejandro Z VenereJapanXuxue Feng QUALIFIED
Murillo C GlickRussiaAmy Elsner NEGOTIATION
Adams D KolmetzGermanyOnyama Limba PROPOSAL
Emily I ChuiFranceAmy Elsner QUALIFIED
Aruna T CaudyIndiaElwin Sharvill NEW
Greenwood X IturbideUnited KingdomAsiya Javayant RENEWAL
Aditya M KolmetzItalyXuxue Feng NEGOTIATION
Jennifer Y SergiRussiaAnna Fali NEW
Octavia W IturbideJapanBernardo Dominic UNQUALIFIED
Costa X GarufiIndiaAmy Elsner UNQUALIFIED
Nicolas A DoeItalyStephen Shaw UNQUALIFIED
Isabel I RulapaughAustraliaAsiya Javayant PROPOSAL
Antonio K DilliardItalyXuxue Feng NEGOTIATION
Aruna D MacleadFranceStephen Shaw NEW
Sinclair X DoeFranceBernardo Dominic QUALIFIED
Deepesh N DoeIndiaXuxue Feng NEW
Mujtaba K BriddickSpainStephen Shaw UNQUALIFIED
Costa U IturbideFranceIoni Bowcher QUALIFIED
Smith D OstroskyIndiaIoni Bowcher QUALIFIED
Alejandro T OldroydAustraliaIvan Magalhaes UNQUALIFIED
Maria B TollnerAustraliaAmy Elsner NEGOTIATION
Jefferson N VenereIndiaIoni Bowcher UNQUALIFIED
Emily B NickaAustraliaStephen Shaw UNQUALIFIED
Arvin M StensethGermanyAmy Elsner RENEWAL
Nicolas G CaldareraBrazilAnna Fali NEW
Leja U CampainRussiaOnyama Limba PROPOSAL
Munro X KolmetzBrazilBernardo Dominic RENEWAL
Ivar N GillianGermanyAsiya Javayant PROPOSAL
Jeanfrancois L RimAustraliaOnyama Limba QUALIFIED
Ashley S StensethSpainStephen Shaw NEW
Tony Q DarakjyArgentinaIoni Bowcher PROPOSAL
Maria H StockhamBrazilXuxue Feng NEGOTIATION
Antonio K DoeJapanIvan Magalhaes NEGOTIATION
Claire N WieserBrazilXuxue Feng UNQUALIFIED
Juan F SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues Y KuskoBrazilAnna Fali UNQUALIFIED
Antonio W CaldareraFranceBernardo Dominic QUALIFIED
Costa K WieserFranceStephen Shaw UNQUALIFIED
Aika Z GauchoUnited KingdomAnna Fali NEW
Murillo Q MorascaItalyBernardo Dominic QUALIFIED
Deepesh Q NestleGermanyOnyama Limba NEW
Tony H StockhamCanadaAsiya Javayant RENEWAL
Costa R NickaJapanBernardo Dominic QUALIFIED
Salvatore D MacleadUnited KingdomXuxue Feng QUALIFIED
Johnson H VocelkaRussiaStephen Shaw PROPOSAL
Frozen Columns
Name
Alejandro H Chui
Jeanfrancois N Garufi
David U Malet
Jones O Glick
Smith Q Gillian
Sinclair T Caudy
David D Stockham
Sinclair R Figeroa
Nicolas Y Stockham
Juan N Bowley
Faith D Malet
Antonio G Vocelka
Kadeem H Amigon
Claire E Chui
Maria O Ostrosky
David W Darakjy
Costa T Ferencz
Octavia U Shinko
Ivar I Morasca
Darci H Foller
Juan U Royster
Costa T Paprocki
Antonio X Malet
Aruna P Briddick
Ricardo E Doe
Greenwood P Saylors
Octavia U Rim
Adams Q Campain
Mayumi Y Venere
David A Rulapaugh
Costa P Caldarera
Isabel S Butt
Sinclair N Chui
Tony R Bolognia
Jeanfrancois Q Schemmer
Rodrigues E Amigon
Rodrigues F Slusarski
Chavez O Rulapaugh
James X Inouye
Alejandro Q Bolognia
Smith L Gillian
Tony R Shinko
Ricardo E Bolognia
Silvio R Bowley
Juan Q Figeroa
Misaki H Ostrosky
Ricardo Z Stenseth
Faith P Figeroa
Stacey E Maclead
Deepesh Z Bolognia
IdCountryDate
1000United Kingdom2024-06-03
1001Argentina2024-05-24
1002United Kingdom2024-05-30
1003United Kingdom2024-05-19
1004Italy2024-06-04
1005India2024-05-25
1006Spain2024-05-30
1007India2024-06-09
1008France2024-05-25
1009Canada2024-06-07
1010Australia2024-06-09
1011Russia2024-06-14
1012Brazil2024-05-31
1013Canada2024-05-29
1014Germany2024-05-19
1015Japan2024-05-27
1016Australia2024-05-24
1017Canada2024-06-13
1018India2024-06-16
1019Russia2024-05-20
1020Brazil2024-05-21
1021France2024-05-29
1022United Kingdom2024-05-31
1023Italy2024-06-08
1024Russia2024-06-15
1025India2024-05-30
1026India2024-06-04
1027Italy2024-06-12
1028Brazil2024-06-12
1029Italy2024-06-09
1030Japan2024-05-18
1031India2024-06-01
1032Russia2024-06-08
1033Japan2024-05-19
1034Germany2024-05-30
1035Canada2024-06-16
1036United Kingdom2024-05-24
1037France2024-05-27
1038Spain2024-05-19
1039United Kingdom2024-05-23
1040Japan2024-05-30
1041Italy2024-05-25
1042Germany2024-05-22
1043India2024-05-31
1044Germany2024-06-10
1045Argentina2024-05-23
1046Argentina2024-05-24
1047United Kingdom2024-06-09
1048Russia2024-06-13
1049Canada2024-06-01

On-Demand Data

NameIdCountryDate
Aruna C Bowley1000Germany2024-05-19
Juan L Nicka1001India2024-06-01
Isabel Q Dilliard1002Germany2024-05-22
Juan P Doe1003Russia2024-06-07
Maria X Malet1004Brazil2024-06-14
Aika J Ferencz1005Japan2024-06-15
James M Nicka1006Australia2024-05-25
Leon L Caudy1007Spain2024-05-22
Sinclair E Tollner1008Australia2024-05-27
Mayumi P Shinko1009Spain2024-06-12
Cody Y Rim1010India2024-06-04
Mujtaba Z Marrier1011Canada2024-06-11
Kadeem Q Kusko1012Australia2024-06-05
Clifford C Sergi1013United Kingdom2024-05-29
Kaitlin Z Wieser1014France2024-06-10
Leon G Stenseth1015Italy2024-05-27
Jennifer T Perin1016India2024-06-05
Aika A Darakjy1017Canada2024-06-16
Izzy B Albares1018Argentina2024-05-18
Greenwood N Perin1019Japan2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon O PaprockiCanadaAmy Elsner RENEWAL
Francesco G FlosiAustraliaAsiya Javayant NEW
Maisha W BowleyCanadaAsiya Javayant QUALIFIED
Rodrigues R SergiAustraliaAmy Elsner NEW
Maisha F SchemmerAustraliaIvan Magalhaes RENEWAL
Faith G BologniaAustraliaStephen Shaw PROPOSAL
Ricardo S KuskoArgentinaStephen Shaw RENEWAL
Deepesh W StensethFranceAnna Fali QUALIFIED
Misaki F FerenczAustraliaBernardo Dominic QUALIFIED
Stacey K CampainFranceElwin Sharvill NEGOTIATION
Tony O ButtUnited KingdomAsiya Javayant NEW
David J StockhamRussiaAsiya Javayant QUALIFIED
Cody G RulapaughUnited KingdomBernardo Dominic RENEWAL
Alejandro O GillianJapanAnna Fali RENEWAL
Maisha F RulapaughRussiaAnna Fali NEGOTIATION
Mujtaba Q WhobreySpainAnna Fali QUALIFIED
Johnson G MaletGermanyIvan Magalhaes QUALIFIED
Jennifer A RimItalyAmy Elsner RENEWAL
Munro N GillianFranceXuxue Feng UNQUALIFIED
Julie Z StensethAustraliaIoni Bowcher RENEWAL
Claire H SergiItalyIoni Bowcher UNQUALIFIED
Wickens Y AmigonItalyAnna Fali UNQUALIFIED
Kaitlin E KolmetzJapanXuxue Feng RENEWAL
Chavez X SlusarskiItalyStephen Shaw PROPOSAL
Juan J MacleadRussiaXuxue Feng NEGOTIATION
Cody G PoquetteItalyIvan Magalhaes NEW
Maisha W DilliardCanadaStephen Shaw NEW
Antonio B KuskoSpainXuxue Feng RENEWAL
Julie S RimSpainAsiya Javayant QUALIFIED
Morrow Q MaletCanadaElwin Sharvill UNQUALIFIED
Kaitlin B WhobreyItalyAnna Fali UNQUALIFIED
Ricardo Y WaycottJapanAmy Elsner NEW
Murillo K ButtAustraliaAnna Fali NEGOTIATION
Tony Z WieserBrazilStephen Shaw UNQUALIFIED
Aditya M IturbideFranceBernardo Dominic NEGOTIATION
Nicolas K MarrierCanadaStephen Shaw NEGOTIATION
Kaitlin S DoeIndiaAsiya Javayant QUALIFIED
Leon D GlickArgentinaElwin Sharvill RENEWAL
James V GlickAustraliaOnyama Limba RENEWAL
Sinclair O StockhamItalyBernardo Dominic 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>