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
Morrow B RutaUnited KingdomXuxue Feng NEGOTIATION
Maisha Y VenereArgentinaIoni Bowcher NEW
Ashley Y WhobreyCanadaAmy Elsner PROPOSAL
Costa M MaletArgentinaOnyama Limba UNQUALIFIED
Jefferson Y ShinkoJapanIoni Bowcher NEGOTIATION
Jefferson K OstroskySpainStephen Shaw NEW
Sinclair J DarakjySpainXuxue Feng RENEWAL
Misaki N SergiUnited KingdomXuxue Feng QUALIFIED
Costa X StensethItalyStephen Shaw QUALIFIED
Isabel Q VocelkaCanadaAsiya Javayant QUALIFIED
Maisha K FigeroaBrazilIoni Bowcher UNQUALIFIED
Isabel Q CaldareraFranceAsiya Javayant RENEWAL
Emily A WaycottRussiaStephen Shaw RENEWAL
Kaitlin D FigeroaArgentinaAnna Fali PROPOSAL
Arvin N RoysterArgentinaBernardo Dominic PROPOSAL
Deepesh A MaletRussiaAmy Elsner NEW
Kadeem T KuskoFranceAnna Fali NEW
David B BologniaItalyAnna Fali QUALIFIED
Johnson W CampainGermanyOnyama Limba QUALIFIED
Morrow X BologniaAustraliaStephen Shaw RENEWAL
Smith J InouyeCanadaAmy Elsner RENEWAL
Greenwood M GauchoRussiaIoni Bowcher RENEWAL
Leon X CaudyCanadaAnna Fali PROPOSAL
Munro M BowleyCanadaXuxue Feng QUALIFIED
Julie N DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Leon Y FollerCanadaStephen Shaw RENEWAL
Mayumi Z KolmetzAustraliaIvan Magalhaes RENEWAL
Tony U BologniaJapanIoni Bowcher UNQUALIFIED
Izzy B NickaAustraliaOnyama Limba QUALIFIED
Aditya Q GauchoItalyElwin Sharvill NEGOTIATION
Costa C ChuiRussiaAmy Elsner NEGOTIATION
Silvio C NickaUnited KingdomAnna Fali PROPOSAL
Rodrigues F SergiJapanBernardo Dominic RENEWAL
Faith R MarrierRussiaStephen Shaw QUALIFIED
Isabel M WieserAustraliaStephen Shaw NEGOTIATION
Tony Y CaldareraBrazilAsiya Javayant NEGOTIATION
Izzy N GauchoSpainIoni Bowcher PROPOSAL
Aika W FlosiItalyOnyama Limba NEGOTIATION
Rodrigues K AlbaresBrazilAnna Fali PROPOSAL
Arvin A SaylorsSpainXuxue Feng UNQUALIFIED
Clifford K SergiRussiaOnyama Limba PROPOSAL
Maria S OldroydAustraliaAnna Fali PROPOSAL
Jeanfrancois I FigeroaRussiaStephen Shaw PROPOSAL
Mayumi G InouyeIndiaStephen Shaw NEW
Antonio Y RulapaughRussiaElwin Sharvill NEW
Tony O RulapaughRussiaXuxue Feng UNQUALIFIED
Salvatore F GillianJapanAmy Elsner QUALIFIED
Alejandro K FerenczFranceElwin Sharvill NEW
Smith E RimRussiaStephen Shaw PROPOSAL
Deepesh T SergiGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow S CampainItalyBernardo Dominic PROPOSAL
Maisha X RulapaughSpainAnna Fali NEGOTIATION
Mujtaba L ButtUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba M SaylorsBrazilOnyama Limba QUALIFIED
Aika M SchemmerBrazilAnna Fali NEW
Costa O WaycottUnited KingdomAmy Elsner UNQUALIFIED
Morrow U IturbideRussiaBernardo Dominic RENEWAL
Greenwood A BologniaFranceXuxue Feng RENEWAL
Greenwood E WhobreyJapanElwin Sharvill PROPOSAL
Mujtaba M GarufiBrazilAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Y AmigonSpain2025-04-04Feltz Printing Service NEGOTIATION57Amy Elsner
1001Francesco Q OstroskyUnited Kingdom2025-04-26Feltz Printing Service UNQUALIFIED26Elwin Sharvill
1002Silvio S CampainGermany2025-04-21King, Christopher A Esq UNQUALIFIED77Onyama Limba
1003Aruna T KuskoRussia2025-04-17Feltz Printing Service QUALIFIED12Stephen Shaw
1004Leja C RutaAustralia2025-04-26Printing Dimensions NEGOTIATION44Elwin Sharvill
1005James Q MarrierAustralia2025-04-01Truhlar And Truhlar Attys NEGOTIATION13Stephen Shaw
1006Wickens M FigeroaIndia2025-04-14Benton, John B Jr PROPOSAL44Anna Fali
1007Morrow M FlosiIndia2025-04-17Rousseaux, Michael Esq NEGOTIATION43Bernardo Dominic
1008Maria U CampainGermany2025-04-19Chanay, Jeffrey A Esq RENEWAL56Xuxue Feng
1009Jennifer U MaletRussia2025-04-18Benton, John B Jr UNQUALIFIED4Bernardo Dominic
1010Emily U GillianJapan2025-04-01Rangoni Of Florence NEW11Onyama Limba
1011Izzy D PoquetteUnited Kingdom2025-04-22Dorl, James J Esq RENEWAL21Xuxue Feng
1012Ashley B FigeroaArgentina2025-04-30Chapman, Ross E Esq NEGOTIATION40Anna Fali
1013Leon M ChuiUnited Kingdom2025-04-10Dorl, James J Esq UNQUALIFIED81Stephen Shaw
1014Morrow F SaylorsIndia2025-04-02Printing Dimensions UNQUALIFIED96Asiya Javayant
1015Isabel J GlickIndia2025-04-24Rousseaux, Michael Esq QUALIFIED94Amy Elsner
1016Munro T BologniaAustralia2025-04-14Benton, John B Jr NEGOTIATION87Bernardo Dominic
1017Darci X WhobreyAustralia2025-04-30Dorl, James J Esq PROPOSAL76Elwin Sharvill
1018Stacey E ChuiBrazil2025-04-16Rousseaux, Michael Esq RENEWAL50Bernardo Dominic
1019Francesco L StensethRussia2025-04-21Printing Dimensions NEGOTIATION52Xuxue Feng
1020Ashley I FollerSpain2025-04-01Chanay, Jeffrey A Esq UNQUALIFIED75Bernardo Dominic
1021Ivar Y RoysterBrazil2025-04-15Feltz Printing Service NEW54Anna Fali
1022Clifford D BologniaJapan2025-04-02Dorl, James J Esq NEGOTIATION23Anna Fali
1023Murillo M KuskoFrance2025-04-14Chemel, James L Cpa RENEWAL27Elwin Sharvill
1024Kadeem D MaletRussia2025-04-15Chemel, James L Cpa NEGOTIATION37Amy Elsner
1025Claire V CaldareraRussia2025-04-16King, Christopher A Esq QUALIFIED76Stephen Shaw
1026Chavez V SlusarskiFrance2025-04-15Chapman, Ross E Esq PROPOSAL87Bernardo Dominic
1027Leja U MaletIndia2025-04-11Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1028Juan X AlbaresUnited Kingdom2025-04-04Truhlar And Truhlar Attys QUALIFIED60Amy Elsner
1029Ivar H PaprockiItaly2025-04-18Chanay, Jeffrey A Esq NEW40Onyama Limba
1030Rodrigues C BologniaArgentina2025-04-19Buckley Miller Wright PROPOSAL77Bernardo Dominic
1031Smith D RoysterCanada2025-04-06Printing Dimensions PROPOSAL55Anna Fali
1032Aditya T IturbideRussia2025-04-26Buckley Miller Wright UNQUALIFIED35Asiya Javayant
1033Nicolas H RulapaughRussia2025-04-02Truhlar And Truhlar Attys QUALIFIED71Onyama Limba
1034Deepesh A ChuiIndia2025-04-10King, Christopher A Esq PROPOSAL2Stephen Shaw
1035Costa C KuskoUnited Kingdom2025-04-24Dorl, James J Esq NEW61Ioni Bowcher
1036Francesco F RutaIndia2025-04-26Morlong Associates PROPOSAL22Elwin Sharvill
1037Isabel J SlusarskiFrance2025-04-21Dorl, James J Esq RENEWAL14Amy Elsner
1038Maria U RoysterUnited Kingdom2025-04-24Chanay, Jeffrey A Esq RENEWAL14Bernardo Dominic
1039Faith Y MarrierItaly2025-04-03Rousseaux, Michael Esq PROPOSAL29Anna Fali
1040Octavia A FigeroaCanada2025-04-08Rangoni Of Florence PROPOSAL70Ioni Bowcher
1041Aika M FigeroaIndia2025-04-19Benton, John B Jr PROPOSAL89Ioni Bowcher
1042Murillo H ButtBrazil2025-04-23Dorl, James J Esq PROPOSAL74Ivan Magalhaes
1043Tony L SergiItaly2025-04-22Morlong Associates RENEWAL76Amy Elsner
1044David P ButtSpain2025-04-23Truhlar And Truhlar Attys PROPOSAL22Anna Fali
1045Kadeem S RimCanada2025-04-29Chemel, James L Cpa RENEWAL89Anna Fali
1046Antonio U PerinRussia2025-04-07Feltz Printing Service QUALIFIED93Onyama Limba
1047Darci F PerinJapan2025-04-15King, Christopher A Esq QUALIFIED90Amy Elsner
1048Aditya P MaletSpain2025-04-15Benton, John B Jr UNQUALIFIED73Asiya Javayant
1049Isabel I RulapaughRussia2025-04-30King, Christopher A Esq UNQUALIFIED32Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh I FlosiGermanyOnyama Limba NEGOTIATION
Sinclair U CaudyGermanyAnna Fali NEGOTIATION
Jefferson W PoquetteRussiaAsiya Javayant NEW
Ivar G PoquetteJapanAmy Elsner UNQUALIFIED
Tony I MaletRussiaAmy Elsner RENEWAL
James A PoquetteArgentinaIoni Bowcher NEW
Izzy E BologniaGermanyAsiya Javayant NEGOTIATION
Morrow A StockhamFranceStephen Shaw UNQUALIFIED
Rodrigues D SergiItalyIoni Bowcher NEW
Julie K OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Octavia F VenereAustraliaAsiya Javayant NEW
Juan Z CaudyItalyElwin Sharvill NEGOTIATION
Wickens C AmigonFranceIoni Bowcher UNQUALIFIED
Aika J VocelkaUnited KingdomIoni Bowcher QUALIFIED
David M DoeArgentinaIvan Magalhaes PROPOSAL
Munro Q GillianSpainIvan Magalhaes NEGOTIATION
Mayumi A IturbideBrazilAsiya Javayant RENEWAL
Izzy T SaylorsGermanyElwin Sharvill QUALIFIED
Aditya V GarufiJapanOnyama Limba UNQUALIFIED
Silvio I StockhamJapanIvan Magalhaes QUALIFIED
Octavia A NickaRussiaAmy Elsner PROPOSAL
Kadeem L RutaBrazilIoni Bowcher RENEWAL
Aika J PaprockiRussiaStephen Shaw QUALIFIED
Emily S BologniaJapanIoni Bowcher PROPOSAL
Alejandro K NickaRussiaOnyama Limba QUALIFIED
Izzy P VocelkaRussiaAnna Fali NEGOTIATION
Silvio H SlusarskiArgentinaAsiya Javayant QUALIFIED
Mujtaba K BologniaJapanOnyama Limba PROPOSAL
James H PerinFranceBernardo Dominic UNQUALIFIED
Aditya U PoquetteFranceOnyama Limba PROPOSAL
Claire T SchemmerCanadaElwin Sharvill RENEWAL
Chavez T RoysterRussiaAmy Elsner QUALIFIED
Kadeem Q MacleadFranceXuxue Feng QUALIFIED
Stacey K MacleadItalyElwin Sharvill PROPOSAL
Mujtaba U WhobreyFranceAsiya Javayant UNQUALIFIED
Jones M AmigonGermanyElwin Sharvill UNQUALIFIED
Ricardo W GillianCanadaBernardo Dominic UNQUALIFIED
Rodrigues U CaldareraIndiaElwin Sharvill PROPOSAL
Jones Y KolmetzRussiaStephen Shaw UNQUALIFIED
Clifford R WaycottGermanyBernardo Dominic UNQUALIFIED
Ricardo S CampainBrazilXuxue Feng QUALIFIED
Salvatore W WieserGermanyElwin Sharvill UNQUALIFIED
Mayumi T GlickGermanyOnyama Limba PROPOSAL
Cody T MaletUnited KingdomIoni Bowcher RENEWAL
Aruna D FlosiJapanAnna Fali UNQUALIFIED
Mayumi A RutaRussiaAsiya Javayant NEW
Sinclair L TollnerAustraliaOnyama Limba UNQUALIFIED
Nicolas C FigeroaCanadaStephen Shaw QUALIFIED
Emily Z FerenczCanadaXuxue Feng NEGOTIATION
Maria V WhobreySpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Adams Q Garufi
Greenwood Z Iturbide
Murillo L Foller
Octavia W Malet
Faith J Darakjy
Sinclair S Ferencz
Aika O Iturbide
Clifford S Kusko
Misaki I Vocelka
Alejandro S Nicka
Julie L Wieser
Munro O Foller
Murillo X Whobrey
Francesco K Gaucho
Smith E Tollner
Juan P Butt
Jennifer W Briddick
Leon H Whobrey
Juan W Doe
Isabel S Saylors
Izzy X Stenseth
Stacey E Iturbide
Stacey G Malet
Clifford Y Rim
Chavez A Gillian
Mayumi M Chui
Mujtaba Y Caudy
Misaki R Slusarski
Silvio F Marrier
Maisha D Rulapaugh
Izzy B Morasca
Leja Z Maclead
Greenwood Q Figeroa
Darci K Nicka
Silvio X Ostrosky
Clifford Y Gillian
Johnson F Malet
Rodrigues L Flosi
James O Ostrosky
Jefferson D Waycott
Emily X Schemmer
Ashley M Morasca
James W Rulapaugh
Maisha O Shinko
Johnson U Malet
Sinclair G Caldarera
Rodrigues M Royster
Aruna K Doe
Maisha W Kolmetz
Aditya Y Tollner
IdCountryDate
1000Italy2025-04-03
1001France2025-04-15
1002Brazil2025-04-29
1003Brazil2025-04-22
1004Spain2025-04-01
1005France2025-04-17
1006Spain2025-04-08
1007Germany2025-04-07
1008Germany2025-04-15
1009Japan2025-04-25
1010Argentina2025-04-14
1011Japan2025-04-08
1012Russia2025-04-14
1013Italy2025-04-07
1014Australia2025-04-12
1015India2025-04-28
1016Brazil2025-04-26
1017Spain2025-04-11
1018Japan2025-04-22
1019India2025-04-28
1020Italy2025-04-10
1021Japan2025-04-19
1022Japan2025-04-25
1023Russia2025-04-29
1024Canada2025-04-03
1025France2025-04-17
1026France2025-04-15
1027France2025-04-06
1028India2025-04-29
1029Canada2025-04-29
1030Australia2025-04-21
1031Canada2025-04-27
1032Italy2025-04-09
1033Australia2025-04-23
1034Russia2025-04-11
1035Germany2025-04-14
1036Australia2025-04-02
1037Japan2025-04-08
1038Spain2025-04-15
1039Brazil2025-04-12
1040Italy2025-04-13
1041Japan2025-04-30
1042India2025-04-18
1043Canada2025-04-17
1044Russia2025-04-05
1045Germany2025-04-08
1046Germany2025-04-27
1047Italy2025-04-08
1048Russia2025-04-29
1049Germany2025-04-30

On-Demand Data

NameIdCountryDate
Aika Q Stenseth1000Japan2025-04-12
Jones Y Briddick1001Brazil2025-04-08
David C Rulapaugh1002Spain2025-04-19
Cody B Ruta1003Japan2025-04-23
Izzy I Iturbide1004Brazil2025-04-11
Isabel S Tollner1005Canada2025-04-09
Cody T Maclead1006Germany2025-04-05
Izzy P Glick1007Russia2025-04-12
Morrow G Gaucho1008India2025-04-12
Smith W Bowley1009Italy2025-04-30
Julie Z Venere1010United Kingdom2025-04-22
Aika S Saylors1011Spain2025-04-19
Francesco Z Inouye1012Russia2025-04-29
Salvatore X Waycott1013Australia2025-04-22
Izzy K Nicka1014India2025-04-28
Adams L Stenseth1015Germany2025-04-18
James B Dilliard1016Germany2025-04-22
Salvatore W Tollner1017Japan2025-04-11
Silvio F Albares1018Canada2025-04-19
Julie L Wieser1019Italy2025-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood L AmigonItalyIvan Magalhaes UNQUALIFIED
Julie C MaletUnited KingdomBernardo Dominic RENEWAL
Adams E BriddickGermanyOnyama Limba QUALIFIED
Sinclair U NestleUnited KingdomAnna Fali PROPOSAL
David W BowleyAustraliaAsiya Javayant UNQUALIFIED
Clifford F DarakjyCanadaStephen Shaw RENEWAL
Costa O CampainSpainElwin Sharvill UNQUALIFIED
Rodrigues G DoeSpainIoni Bowcher RENEWAL
Greenwood T PaprockiCanadaAsiya Javayant RENEWAL
Claire R RutaIndiaStephen Shaw UNQUALIFIED
Julie U ChuiCanadaBernardo Dominic PROPOSAL
Costa E SchemmerCanadaOnyama Limba RENEWAL
Costa R FigeroaJapanBernardo Dominic NEW
Alejandro F MorascaUnited KingdomElwin Sharvill NEGOTIATION
Deepesh Z KolmetzRussiaOnyama Limba RENEWAL
Francesco K RulapaughBrazilOnyama Limba NEW
Aruna Y NickaRussiaIoni Bowcher NEGOTIATION
Rodrigues R PerinAustraliaOnyama Limba UNQUALIFIED
Maria B FollerArgentinaAsiya Javayant NEW
David Q PoquetteIndiaXuxue Feng NEW
James M TollnerRussiaBernardo Dominic PROPOSAL
Octavia X IturbideIndiaAsiya Javayant QUALIFIED
Alejandro H BowleyRussiaXuxue Feng NEW
Kadeem D WaycottRussiaAmy Elsner NEW
Alejandro I SergiRussiaElwin Sharvill UNQUALIFIED
Ashley D ChuiFranceElwin Sharvill RENEWAL
Julie G DilliardArgentinaElwin Sharvill PROPOSAL
Kadeem F BologniaJapanIoni Bowcher RENEWAL
Deepesh H StockhamArgentinaIoni Bowcher QUALIFIED
Francesco K NestleCanadaBernardo Dominic NEW
Deepesh P OstroskySpainIvan Magalhaes PROPOSAL
Ashley V ShinkoItalyAsiya Javayant RENEWAL
Murillo W ShinkoFranceIoni Bowcher NEW
Deepesh F SlusarskiIndiaIvan Magalhaes RENEWAL
Juan V WaycottItalyOnyama Limba RENEWAL
Alejandro T MarrierBrazilStephen Shaw QUALIFIED
Misaki Y MorascaBrazilXuxue Feng UNQUALIFIED
Kaitlin R FigeroaSpainIoni Bowcher NEW
Ricardo S VocelkaRussiaStephen Shaw UNQUALIFIED
Johnson T AmigonSpainAmy Elsner NEGOTIATION

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