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 K PerinCanadaOnyama Limba RENEWAL
Izzy U DilliardArgentinaAmy Elsner QUALIFIED
Alejandro N BriddickJapanIoni Bowcher PROPOSAL
Salvatore K NestleAustraliaOnyama Limba RENEWAL
Octavia B CaudyIndiaIoni Bowcher QUALIFIED
Aruna H IturbideRussiaIoni Bowcher NEGOTIATION
Nicolas J CaldareraArgentinaElwin Sharvill RENEWAL
Francesco F WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Ricardo T RoysterJapanStephen Shaw QUALIFIED
Chavez G VenereSpainAnna Fali UNQUALIFIED
Aditya Q IturbideCanadaBernardo Dominic UNQUALIFIED
Claire O NestleRussiaElwin Sharvill NEW
Greenwood K BowleyUnited KingdomAmy Elsner NEW
Deepesh N KolmetzItalyIvan Magalhaes PROPOSAL
Greenwood L BologniaIndiaStephen Shaw QUALIFIED
Misaki V PaprockiAustraliaAmy Elsner RENEWAL
Isabel K ChuiSpainXuxue Feng PROPOSAL
Francesco X KolmetzIndiaAsiya Javayant QUALIFIED
Julie I AlbaresItalyAnna Fali UNQUALIFIED
Aika A PaprockiIndiaElwin Sharvill RENEWAL
Jeanfrancois R SaylorsUnited KingdomXuxue Feng PROPOSAL
Arvin S NestleAustraliaOnyama Limba NEW
Isabel B BologniaFranceBernardo Dominic NEGOTIATION
Misaki G CampainSpainIoni Bowcher UNQUALIFIED
Cody K ShinkoIndiaAmy Elsner QUALIFIED
Johnson E OstroskyBrazilOnyama Limba UNQUALIFIED
Aruna W BriddickSpainBernardo Dominic UNQUALIFIED
Deepesh E NickaSpainElwin Sharvill NEW
Clifford V OstroskySpainIoni Bowcher QUALIFIED
Aditya X CampainFranceOnyama Limba PROPOSAL
Clifford L MacleadAustraliaAmy Elsner PROPOSAL
Kadeem W MacleadFranceIoni Bowcher RENEWAL
Deepesh S FerenczArgentinaIvan Magalhaes NEGOTIATION
Greenwood C ShinkoJapanOnyama Limba UNQUALIFIED
Arvin E SchemmerCanadaAmy Elsner UNQUALIFIED
Aditya D SchemmerGermanyOnyama Limba UNQUALIFIED
Faith X RutaBrazilIvan Magalhaes RENEWAL
Stacey K NickaSpainIvan Magalhaes NEW
Misaki C BriddickCanadaAsiya Javayant RENEWAL
Murillo B VenereFranceIoni Bowcher UNQUALIFIED
Aditya I MarrierFranceXuxue Feng RENEWAL
Aditya U NickaBrazilBernardo Dominic NEW
Deepesh H DoeItalyXuxue Feng PROPOSAL
Mujtaba X TollnerJapanElwin Sharvill NEW
Kaitlin C MaletUnited KingdomBernardo Dominic NEW
Izzy P DilliardSpainAnna Fali NEW
Johnson G DarakjyItalyAnna Fali PROPOSAL
Isabel I MorascaGermanyAsiya Javayant UNQUALIFIED
Greenwood N GauchoCanadaXuxue Feng NEW
Aika V StockhamArgentinaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio X MaletItalyStephen Shaw RENEWAL
Ricardo N WaycottAustraliaOnyama Limba UNQUALIFIED
Aditya G BriddickCanadaOnyama Limba UNQUALIFIED
Julie Y RutaGermanyXuxue Feng PROPOSAL
James N FigeroaRussiaBernardo Dominic PROPOSAL
Aika Y FollerUnited KingdomXuxue Feng NEW
Tony V MaletJapanStephen Shaw RENEWAL
Costa P SaylorsCanadaAmy Elsner RENEWAL
Wickens X WaycottCanadaIvan Magalhaes RENEWAL
Maisha I GillianRussiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya M GlickGermany2024-06-04Rangoni Of Florence QUALIFIED0Anna Fali
1001Kadeem V RutaIndia2024-05-31Rousseaux, Michael Esq RENEWAL89Ivan Magalhaes
1002Jennifer Z MacleadUnited Kingdom2024-05-27Dorl, James J Esq NEGOTIATION9Anna Fali
1003Mujtaba G DarakjyIndia2024-05-21Feltz Printing Service UNQUALIFIED79Anna Fali
1004Murillo H BologniaCanada2024-06-10Feiner Bros RENEWAL94Amy Elsner
1005Kaitlin U PoquetteItaly2024-06-14Feiner Bros NEW10Amy Elsner
1006Aika V MarrierJapan2024-05-31Chanay, Jeffrey A Esq PROPOSAL36Ivan Magalhaes
1007Izzy X StockhamUnited Kingdom2024-05-23Feltz Printing Service PROPOSAL35Amy Elsner
1008Maria W BologniaRussia2024-06-11Buckley Miller Wright NEGOTIATION1Anna Fali
1009Emily D RulapaughRussia2024-05-22Commercial Press NEGOTIATION93Xuxue Feng
1010Jefferson L AlbaresRussia2024-05-20Buckley Miller Wright NEGOTIATION9Onyama Limba
1011Jefferson F PaprockiSpain2024-05-30Chapman, Ross E Esq UNQUALIFIED23Xuxue Feng
1012Clifford N GlickUnited Kingdom2024-06-12Feltz Printing Service RENEWAL36Amy Elsner
1013Alejandro A GauchoUnited Kingdom2024-06-04Rangoni Of Florence NEGOTIATION55Onyama Limba
1014Kaitlin U SlusarskiItaly2024-05-26Rousseaux, Michael Esq NEGOTIATION24Elwin Sharvill
1015Claire V GarufiJapan2024-06-17Feltz Printing Service PROPOSAL0Ivan Magalhaes
1016Aditya F GauchoRussia2024-06-14Buckley Miller Wright UNQUALIFIED92Anna Fali
1017Salvatore N OldroydRussia2024-05-25Commercial Press QUALIFIED27Ivan Magalhaes
1018Aruna S DarakjyRussia2024-06-12Commercial Press NEGOTIATION83Amy Elsner
1019Francesco V SchemmerRussia2024-05-23Dorl, James J Esq UNQUALIFIED33Onyama Limba
1020Silvio O GlickUnited Kingdom2024-05-26Rousseaux, Michael Esq PROPOSAL69Asiya Javayant
1021Misaki I AlbaresArgentina2024-05-19King, Christopher A Esq RENEWAL95Ioni Bowcher
1022Claire P MorascaBrazil2024-06-14Buckley Miller Wright NEGOTIATION69Asiya Javayant
1023Aditya Q CaudyBrazil2024-05-24Chanay, Jeffrey A Esq QUALIFIED6Elwin Sharvill
1024Jefferson K TollnerIndia2024-06-07Morlong Associates NEW29Xuxue Feng
1025Leja Y OstroskyRussia2024-06-10Chapman, Ross E Esq RENEWAL28Onyama Limba
1026Silvio M FerenczSpain2024-06-13Chapman, Ross E Esq QUALIFIED97Onyama Limba
1027Morrow L AmigonBrazil2024-05-31Feiner Bros UNQUALIFIED3Anna Fali
1028Stacey B GarufiCanada2024-06-04Feltz Printing Service NEW72Bernardo Dominic
1029Rodrigues T DarakjyGermany2024-06-02Rousseaux, Michael Esq NEW24Asiya Javayant
1030Munro P StockhamFrance2024-06-10King, Christopher A Esq NEGOTIATION47Asiya Javayant
1031Darci B RulapaughUnited Kingdom2024-05-29Feiner Bros NEW64Elwin Sharvill
1032Ivar Y KolmetzItaly2024-05-23King, Christopher A Esq UNQUALIFIED53Xuxue Feng
1033Costa V WaycottGermany2024-05-27Rousseaux, Michael Esq NEW35Bernardo Dominic
1034Emily R BologniaJapan2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED85Elwin Sharvill
1035Mayumi K SaylorsCanada2024-05-26Truhlar And Truhlar Attys PROPOSAL89Bernardo Dominic
1036Leja Y GarufiItaly2024-06-14Feltz Printing Service NEGOTIATION99Stephen Shaw
1037Claire X RutaFrance2024-05-29Dorl, James J Esq UNQUALIFIED91Onyama Limba
1038Tony E BologniaBrazil2024-05-31Dorl, James J Esq PROPOSAL74Ivan Magalhaes
1039Jefferson G WhobreyAustralia2024-06-12Chanay, Jeffrey A Esq PROPOSAL40Elwin Sharvill
1040Juan J CampainGermany2024-05-30Rousseaux, Michael Esq PROPOSAL93Asiya Javayant
1041Silvio M VocelkaAustralia2024-06-03Rangoni Of Florence NEGOTIATION21Onyama Limba
1042Misaki J FerenczSpain2024-05-22Morlong Associates RENEWAL11Ivan Magalhaes
1043Rodrigues J BologniaGermany2024-06-05Feltz Printing Service RENEWAL30Amy Elsner
1044Costa E MacleadCanada2024-06-05Dorl, James J Esq UNQUALIFIED93Elwin Sharvill
1045Kaitlin Q SergiGermany2024-06-13Rousseaux, Michael Esq UNQUALIFIED68Onyama Limba
1046Isabel A PaprockiArgentina2024-06-12Chemel, James L Cpa NEGOTIATION45Amy Elsner
1047Ivar D ChuiRussia2024-06-02Chapman, Ross E Esq RENEWAL11Elwin Sharvill
1048Murillo J SergiJapan2024-06-02Buckley Miller Wright NEGOTIATION2Xuxue Feng
1049Alejandro D VenereJapan2024-05-30Benton, John B Jr NEW36Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Julie H MacleadSpainOnyama Limba NEGOTIATION
Cody H ButtSpainAmy Elsner UNQUALIFIED
Antonio J DarakjySpainAmy Elsner RENEWAL
Ivar H DoeFranceBernardo Dominic RENEWAL
Jefferson E CampainRussiaIvan Magalhaes UNQUALIFIED
Izzy X GillianUnited KingdomBernardo Dominic NEGOTIATION
Ricardo G FerenczItalyXuxue Feng UNQUALIFIED
Maria I WaycottBrazilBernardo Dominic NEW
Alejandro K DarakjyCanadaAsiya Javayant PROPOSAL
Kadeem G VocelkaArgentinaAsiya Javayant NEGOTIATION
Isabel K StockhamFranceBernardo Dominic UNQUALIFIED
Antonio S AlbaresUnited KingdomAsiya Javayant QUALIFIED
Francesco C FollerGermanyAsiya Javayant QUALIFIED
Kadeem O CampainGermanyAsiya Javayant PROPOSAL
Octavia T CaudyUnited KingdomAsiya Javayant QUALIFIED
Cody A MarrierSpainBernardo Dominic QUALIFIED
Chavez B CaudyFranceOnyama Limba QUALIFIED
Johnson N SlusarskiGermanyBernardo Dominic NEGOTIATION
Mayumi L OstroskyAustraliaAsiya Javayant PROPOSAL
Greenwood K IturbideCanadaIvan Magalhaes NEGOTIATION
Ivar Q SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Misaki E DilliardCanadaAsiya Javayant QUALIFIED
Juan G MorascaGermanyAmy Elsner UNQUALIFIED
Francesco C CaldareraItalyBernardo Dominic PROPOSAL
Chavez Z FlosiGermanyIoni Bowcher PROPOSAL
Wickens L BologniaSpainBernardo Dominic PROPOSAL
Greenwood Y GlickSpainOnyama Limba RENEWAL
James T SlusarskiBrazilAnna Fali QUALIFIED
Wickens K SaylorsCanadaAnna Fali NEGOTIATION
Ashley Q GillianArgentinaAsiya Javayant NEGOTIATION
Mayumi S WaycottJapanBernardo Dominic NEGOTIATION
Nicolas X ShinkoArgentinaAmy Elsner NEW
Nicolas S StensethBrazilIoni Bowcher UNQUALIFIED
Murillo M RutaItalyBernardo Dominic RENEWAL
Rodrigues P RoysterCanadaIoni Bowcher PROPOSAL
Sinclair B GlickItalyAnna Fali NEW
Emily E GauchoIndiaStephen Shaw QUALIFIED
Claire N WaycottItalyXuxue Feng UNQUALIFIED
Maisha P MaletJapanAnna Fali UNQUALIFIED
Ivar I CaldareraJapanBernardo Dominic RENEWAL
Salvatore R DarakjySpainElwin Sharvill RENEWAL
Smith W TollnerUnited KingdomXuxue Feng UNQUALIFIED
Stacey I BowleyJapanXuxue Feng NEGOTIATION
Morrow I RoysterSpainStephen Shaw QUALIFIED
Greenwood R BriddickAustraliaOnyama Limba PROPOSAL
Cody W RutaUnited KingdomXuxue Feng NEGOTIATION
Francesco C RimItalyIoni Bowcher QUALIFIED
Mujtaba W AmigonAustraliaAnna Fali NEW
Clifford A KuskoSpainIvan Magalhaes PROPOSAL
Deepesh G RoysterItalyAnna Fali NEW
Frozen Columns
Name
Mujtaba T Vocelka
Adams I Stockham
Murillo O Ferencz
Ricardo V Whobrey
James Y Caldarera
Alejandro Z Caudy
Adams Y Stenseth
Emily R Nestle
Maisha L Perin
Maria F Vocelka
Adams I Albares
James R Slusarski
Mayumi X Albares
Kaitlin A Royster
Stacey N Glick
Silvio M Gaucho
Aditya Q Shinko
Johnson X Tollner
Mujtaba L Ferencz
Julie A Rulapaugh
Ashley M Nicka
Maisha Y Shinko
Leon U Amigon
Darci N Gillian
Stacey V Bolognia
Mujtaba V Glick
Sinclair S Albares
Mayumi H Campain
Cody F Briddick
Wickens D Glick
Cody X Paprocki
Mayumi H Stenseth
Munro N Darakjy
Darci Z Malet
David Z Campain
Julie V Oldroyd
Claire S Iturbide
Emily Q Marrier
Aruna A Morasca
Cody R Albares
James Q Rulapaugh
Aruna P Sergi
Ashley U Royster
Misaki O Gaucho
Ivar V Briddick
Faith X Stockham
Chavez L Schemmer
Darci T Waycott
Antonio K Malet
Leja Y Malet
IdCountryDate
1000Argentina2024-05-27
1001Spain2024-05-28
1002Italy2024-06-06
1003Australia2024-06-04
1004France2024-06-14
1005Brazil2024-06-12
1006Brazil2024-06-11
1007United Kingdom2024-05-26
1008Argentina2024-06-13
1009Japan2024-06-05
1010Japan2024-06-13
1011Argentina2024-06-02
1012Russia2024-05-31
1013Argentina2024-05-27
1014Italy2024-05-21
1015Brazil2024-06-10
1016Spain2024-06-04
1017Spain2024-06-01
1018Argentina2024-06-14
1019United Kingdom2024-06-06
1020Germany2024-06-04
1021United Kingdom2024-05-23
1022Spain2024-05-26
1023United Kingdom2024-05-21
1024Spain2024-05-29
1025Canada2024-05-22
1026Australia2024-05-21
1027Brazil2024-05-21
1028Australia2024-06-14
1029Canada2024-06-12
1030France2024-05-31
1031United Kingdom2024-05-25
1032Japan2024-06-17
1033Canada2024-05-21
1034Brazil2024-05-26
1035Japan2024-06-06
1036Brazil2024-06-14
1037Argentina2024-06-11
1038France2024-06-14
1039Italy2024-06-01
1040Italy2024-06-16
1041India2024-05-25
1042Italy2024-05-28
1043Italy2024-05-29
1044Germany2024-05-21
1045United Kingdom2024-06-10
1046Canada2024-06-09
1047Australia2024-06-13
1048United Kingdom2024-05-30
1049Germany2024-05-22

On-Demand Data

NameIdCountryDate
Darci A Nestle1000Spain2024-05-31
Darci A Morasca1001France2024-05-31
Juan R Whobrey1002Spain2024-05-31
Aditya S Perin1003France2024-06-12
Ivar J Waycott1004Germany2024-06-08
Mujtaba N Butt1005India2024-06-01
Ivar L Glick1006Italy2024-05-25
Morrow B Paprocki1007Italy2024-06-13
Maria H Caudy1008Australia2024-05-19
Johnson E Venere1009France2024-05-24
Maisha K Waycott1010India2024-05-29
Clifford K Foller1011Argentina2024-06-07
Morrow U Chui1012Canada2024-06-12
Jeanfrancois F Malet1013Canada2024-06-11
Costa G Darakjy1014Japan2024-05-21
Chavez A Nestle1015Germany2024-06-12
Juan D Perin1016Canada2024-06-09
Salvatore A Amigon1017Germany2024-05-27
Chavez U Bowley1018Brazil2024-06-15
Darci V Ruta1019Argentina2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel R FerenczUnited KingdomElwin Sharvill NEW
Julie H RoysterArgentinaElwin Sharvill RENEWAL
Misaki M BriddickItalyIoni Bowcher PROPOSAL
Sinclair F PoquetteSpainXuxue Feng UNQUALIFIED
Aditya S MarrierGermanyIoni Bowcher RENEWAL
Stacey I FerenczRussiaStephen Shaw PROPOSAL
Misaki P MaletIndiaStephen Shaw RENEWAL
Darci X StensethBrazilBernardo Dominic UNQUALIFIED
Ashley G GauchoRussiaStephen Shaw NEW
David P MacleadIndiaAmy Elsner NEW
Kaitlin K DoeSpainXuxue Feng RENEWAL
Cody Z FlosiArgentinaBernardo Dominic RENEWAL
Mujtaba K PoquetteSpainAnna Fali RENEWAL
Smith Y ChuiItalyStephen Shaw NEW
James H VenereGermanyAmy Elsner PROPOSAL
Darci A FigeroaCanadaAsiya Javayant UNQUALIFIED
Faith C StockhamIndiaAmy Elsner QUALIFIED
David E TollnerGermanyIvan Magalhaes NEGOTIATION
Nicolas W ShinkoCanadaXuxue Feng UNQUALIFIED
Isabel L AmigonItalyIvan Magalhaes RENEWAL
Morrow D GlickIndiaAmy Elsner NEGOTIATION
Leja I VocelkaGermanyAmy Elsner NEGOTIATION
Jefferson O SlusarskiArgentinaAmy Elsner QUALIFIED
Greenwood B NickaAustraliaAsiya Javayant RENEWAL
Misaki I VenereArgentinaOnyama Limba PROPOSAL
Aruna Y InouyeCanadaBernardo Dominic RENEWAL
Greenwood Q VocelkaItalyBernardo Dominic PROPOSAL
Faith Y RimIndiaXuxue Feng NEW
Chavez J WaycottBrazilIoni Bowcher QUALIFIED
Adams U OstroskyGermanyElwin Sharvill UNQUALIFIED
James K InouyeSpainStephen Shaw PROPOSAL
Ivar Y AmigonUnited KingdomAsiya Javayant QUALIFIED
Chavez C FlosiAustraliaIvan Magalhaes QUALIFIED
Costa J FollerUnited KingdomAnna Fali PROPOSAL
Aika I NickaFranceAmy Elsner NEW
Faith K CaudyGermanyIvan Magalhaes QUALIFIED
Francesco Y MaletJapanIvan Magalhaes PROPOSAL
Juan D AmigonUnited KingdomBernardo Dominic QUALIFIED
Smith J MaletSpainAnna Fali UNQUALIFIED
Maria R MacleadGermanyIoni Bowcher NEW

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