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
Leja S SlusarskiItalyAmy Elsner UNQUALIFIED
Jennifer F GauchoGermanyIoni Bowcher NEGOTIATION
Leon E ChuiAustraliaAnna Fali UNQUALIFIED
Greenwood N DoeArgentinaAsiya Javayant RENEWAL
Izzy Y StensethArgentinaAsiya Javayant RENEWAL
Aruna N KuskoCanadaIoni Bowcher PROPOSAL
Ashley O TollnerIndiaAnna Fali RENEWAL
Cody H NestleJapanAsiya Javayant NEGOTIATION
Rodrigues Q OstroskyIndiaAmy Elsner RENEWAL
Alejandro N MaletSpainAnna Fali QUALIFIED
Faith D WhobreyAustraliaIvan Magalhaes NEW
Isabel Y VenereIndiaStephen Shaw PROPOSAL
Julie T VenereUnited KingdomAnna Fali RENEWAL
James M MarrierSpainXuxue Feng PROPOSAL
Mujtaba B RoysterIndiaStephen Shaw UNQUALIFIED
Alejandro J DarakjyAustraliaBernardo Dominic NEW
Jones S PerinArgentinaAsiya Javayant QUALIFIED
Maria K DarakjyBrazilStephen Shaw PROPOSAL
Leon H FerenczAustraliaXuxue Feng QUALIFIED
Mayumi V GlickCanadaAmy Elsner NEW
Mujtaba B RulapaughFranceIvan Magalhaes UNQUALIFIED
Silvio H FerenczItalyOnyama Limba UNQUALIFIED
Claire K VenereCanadaIoni Bowcher UNQUALIFIED
Stacey K ChuiSpainStephen Shaw NEGOTIATION
Aika K MacleadBrazilBernardo Dominic NEW
Kaitlin I OstroskyRussiaAsiya Javayant NEW
Greenwood K MaletIndiaIvan Magalhaes NEW
Julie L ShinkoJapanAsiya Javayant UNQUALIFIED
Silvio O KolmetzAustraliaIvan Magalhaes RENEWAL
Adams P SlusarskiJapanIvan Magalhaes PROPOSAL
Silvio M StensethRussiaIvan Magalhaes NEGOTIATION
Clifford O MaletAustraliaIoni Bowcher UNQUALIFIED
Stacey E CampainIndiaOnyama Limba PROPOSAL
Munro U IturbideUnited KingdomAsiya Javayant NEGOTIATION
Smith A OldroydRussiaOnyama Limba UNQUALIFIED
Adams P SchemmerIndiaStephen Shaw QUALIFIED
Sinclair C SchemmerCanadaXuxue Feng UNQUALIFIED
Francesco N KolmetzAustraliaXuxue Feng QUALIFIED
Salvatore E ShinkoCanadaElwin Sharvill NEW
Mayumi E MaletSpainAnna Fali NEW
Cody Y WaycottItalyAnna Fali NEW
Greenwood Y ShinkoUnited KingdomElwin Sharvill NEW
Stacey L DarakjyRussiaIvan Magalhaes NEW
Ashley I MorascaAustraliaAnna Fali UNQUALIFIED
Greenwood Y NickaArgentinaStephen Shaw PROPOSAL
Smith U TollnerFranceBernardo Dominic PROPOSAL
Clifford G MaletFranceElwin Sharvill PROPOSAL
Jennifer N ChuiFranceOnyama Limba UNQUALIFIED
David S SergiRussiaStephen Shaw NEGOTIATION
Greenwood D ButtJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio C InouyeRussiaAnna Fali RENEWAL
Darci L RoysterArgentinaOnyama Limba QUALIFIED
Nicolas D GlickRussiaOnyama Limba NEW
Darci X DilliardArgentinaIoni Bowcher NEW
Faith E DoeCanadaAnna Fali QUALIFIED
Munro H SergiAustraliaBernardo Dominic NEW
Murillo L WhobreyBrazilBernardo Dominic PROPOSAL
Isabel O SlusarskiIndiaAmy Elsner NEGOTIATION
Arvin M CampainJapanAsiya Javayant PROPOSAL
Jeanfrancois G PaprockiFranceElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M SergiRussia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION69Anna Fali
1001Juan G AmigonJapan2024-06-03Chemel, James L Cpa RENEWAL39Bernardo Dominic
1002Alejandro N PoquetteSpain2024-06-14Printing Dimensions QUALIFIED17Xuxue Feng
1003Mujtaba M CaldareraFrance2024-05-30Feltz Printing Service RENEWAL70Onyama Limba
1004Mayumi F RutaItaly2024-05-31Truhlar And Truhlar Attys NEGOTIATION38Xuxue Feng
1005Julie O FerenczGermany2024-06-22Printing Dimensions UNQUALIFIED2Bernardo Dominic
1006Tony L StockhamUnited Kingdom2024-06-09Buckley Miller Wright RENEWAL71Onyama Limba
1007Stacey Z KolmetzRussia2024-06-02Feiner Bros NEW39Amy Elsner
1008Misaki C ShinkoJapan2024-06-09Printing Dimensions RENEWAL20Xuxue Feng
1009Murillo G StensethRussia2024-06-14Benton, John B Jr NEW99Ivan Magalhaes
1010Nicolas O ShinkoUnited Kingdom2024-05-29Rousseaux, Michael Esq UNQUALIFIED83Elwin Sharvill
1011Nicolas J WaycottRussia2024-05-28Chanay, Jeffrey A Esq NEGOTIATION83Ivan Magalhaes
1012Jeanfrancois U MaletUnited Kingdom2024-06-08Feltz Printing Service NEGOTIATION18Elwin Sharvill
1013Faith N VocelkaUnited Kingdom2024-06-07Chapman, Ross E Esq RENEWAL65Asiya Javayant
1014Deepesh Y RutaFrance2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED12Onyama Limba
1015Munro A BriddickIndia2024-05-30Chapman, Ross E Esq PROPOSAL25Bernardo Dominic
1016Mayumi Q StockhamCanada2024-06-11Feiner Bros NEW57Xuxue Feng
1017Smith Q MaletAustralia2024-06-01Benton, John B Jr NEGOTIATION30Elwin Sharvill
1018Maria M GauchoSpain2024-05-27Buckley Miller Wright UNQUALIFIED35Onyama Limba
1019Adams Q RutaRussia2024-05-26King, Christopher A Esq PROPOSAL23Elwin Sharvill
1020Murillo F FigeroaArgentina2024-06-18Feltz Printing Service UNQUALIFIED98Onyama Limba
1021Deepesh Z DarakjyArgentina2024-06-10Truhlar And Truhlar Attys NEW27Asiya Javayant
1022Cody Q PerinSpain2024-05-26Feltz Printing Service PROPOSAL95Stephen Shaw
1023Aruna N FollerFrance2024-06-22Chapman, Ross E Esq NEW69Stephen Shaw
1024Jones R FollerCanada2024-05-25King, Christopher A Esq PROPOSAL87Onyama Limba
1025Ricardo I ChuiGermany2024-05-30Commercial Press NEW76Ivan Magalhaes
1026Aika C KuskoRussia2024-06-04Rangoni Of Florence NEGOTIATION9Anna Fali
1027Silvio W KolmetzCanada2024-06-21Chemel, James L Cpa PROPOSAL31Asiya Javayant
1028Chavez X GillianFrance2024-05-29Benton, John B Jr PROPOSAL50Asiya Javayant
1029Juan O DilliardBrazil2024-05-31Feiner Bros UNQUALIFIED57Onyama Limba
1030Isabel Z NestleSpain2024-05-28Feltz Printing Service PROPOSAL49Xuxue Feng
1031Francesco R BologniaGermany2024-05-30Truhlar And Truhlar Attys PROPOSAL15Elwin Sharvill
1032Clifford U VenereJapan2024-06-12Chapman, Ross E Esq UNQUALIFIED84Elwin Sharvill
1033Stacey Y FollerIndia2024-06-14Rangoni Of Florence NEW33Asiya Javayant
1034Costa L MorascaBrazil2024-05-29Feltz Printing Service QUALIFIED68Stephen Shaw
1035Ivar U StensethCanada2024-06-20Feltz Printing Service NEW12Amy Elsner
1036James U PerinIndia2024-06-07Commercial Press PROPOSAL48Bernardo Dominic
1037Ricardo A CaldareraAustralia2024-06-16Morlong Associates NEW21Bernardo Dominic
1038Faith Y OstroskyJapan2024-06-01Commercial Press QUALIFIED13Asiya Javayant
1039Aika Y NickaGermany2024-06-06Buckley Miller Wright QUALIFIED55Ioni Bowcher
1040Claire G MaletRussia2024-06-01Buckley Miller Wright QUALIFIED58Onyama Limba
1041Nicolas R MarrierBrazil2024-05-30Chemel, James L Cpa NEGOTIATION53Bernardo Dominic
1042Izzy O MaletSpain2024-06-15Feiner Bros UNQUALIFIED34Elwin Sharvill
1043Kadeem F BriddickFrance2024-06-19Feltz Printing Service NEW16Ivan Magalhaes
1044Costa U KolmetzSpain2024-05-31Rangoni Of Florence NEW78Stephen Shaw
1045Smith M RoysterArgentina2024-06-12Benton, John B Jr QUALIFIED19Elwin Sharvill
1046Cody G SlusarskiJapan2024-06-15Chemel, James L Cpa RENEWAL94Onyama Limba
1047Cody T RimFrance2024-06-11Rousseaux, Michael Esq NEGOTIATION79Xuxue Feng
1048Izzy X PoquetteRussia2024-06-19Rangoni Of Florence NEGOTIATION37Stephen Shaw
1049Adams I KuskoIndia2024-06-13Morlong Associates UNQUALIFIED90Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria D RimItalyStephen Shaw RENEWAL
Cody Z RutaCanadaBernardo Dominic NEGOTIATION
Misaki V AlbaresItalyAmy Elsner NEW
Stacey L MaletUnited KingdomBernardo Dominic NEGOTIATION
Jones J StensethJapanOnyama Limba PROPOSAL
Clifford D SergiUnited KingdomAmy Elsner NEW
Murillo P AmigonFranceStephen Shaw NEGOTIATION
Leja U CaldareraSpainIoni Bowcher QUALIFIED
Sinclair B PaprockiArgentinaAmy Elsner QUALIFIED
Jones F AmigonGermanyStephen Shaw QUALIFIED
Murillo B RutaSpainAnna Fali UNQUALIFIED
Emily A RulapaughBrazilAmy Elsner PROPOSAL
Nicolas M OstroskySpainAnna Fali UNQUALIFIED
Wickens E RimSpainIoni Bowcher RENEWAL
Kadeem Z MaletAustraliaIoni Bowcher RENEWAL
Maisha U PaprockiArgentinaIvan Magalhaes QUALIFIED
Nicolas I SergiArgentinaAmy Elsner PROPOSAL
Maisha D StockhamCanadaXuxue Feng QUALIFIED
Mujtaba A StockhamSpainAmy Elsner QUALIFIED
Arvin Q BologniaCanadaAmy Elsner NEW
Silvio R WhobreyRussiaAsiya Javayant RENEWAL
Johnson S FerenczCanadaAsiya Javayant UNQUALIFIED
Jones Q SchemmerItalyAsiya Javayant RENEWAL
Jeanfrancois X MorascaUnited KingdomIoni Bowcher RENEWAL
Chavez Q BriddickRussiaAnna Fali PROPOSAL
Murillo Z BowleyAustraliaStephen Shaw RENEWAL
Juan N MaletIndiaXuxue Feng PROPOSAL
Aruna P AmigonIndiaAmy Elsner NEW
Leja D MarrierJapanXuxue Feng QUALIFIED
Faith X FollerCanadaIoni Bowcher RENEWAL
Darci S IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Silvio K DilliardItalyOnyama Limba PROPOSAL
Clifford I PerinGermanyElwin Sharvill QUALIFIED
Maisha M DilliardJapanAnna Fali NEGOTIATION
Jeanfrancois I WieserRussiaAsiya Javayant UNQUALIFIED
Maisha V GlickFranceBernardo Dominic UNQUALIFIED
Clifford R OldroydRussiaXuxue Feng PROPOSAL
Misaki H DoeFranceXuxue Feng RENEWAL
David L BowleyBrazilStephen Shaw NEGOTIATION
Isabel G NestleSpainIoni Bowcher PROPOSAL
Leon N StockhamArgentinaBernardo Dominic NEGOTIATION
Jefferson J AlbaresArgentinaIvan Magalhaes NEW
Cody C RimGermanyElwin Sharvill RENEWAL
Salvatore W CaldareraFranceAsiya Javayant UNQUALIFIED
Salvatore W GauchoRussiaAnna Fali NEW
Alejandro D DarakjyCanadaStephen Shaw PROPOSAL
Jeanfrancois M SlusarskiItalyAmy Elsner PROPOSAL
Julie S DilliardGermanyElwin Sharvill RENEWAL
Mayumi B MaletJapanStephen Shaw RENEWAL
Rodrigues L RutaSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Antonio A Flosi
David X Briddick
Francesco Q Amigon
Chavez G Shinko
Maisha X Rulapaugh
Darci C Marrier
Maria C Caldarera
Antonio A Bowley
Maria U Malet
Octavia G Paprocki
Izzy O Butt
David M Malet
Leja C Waycott
Ricardo P Ostrosky
Juan V Marrier
James O Shinko
Adams R Bowley
Ashley N Wieser
Jeanfrancois F Shinko
Mujtaba W Iturbide
Aruna H Morasca
Isabel C Paprocki
Stacey U Malet
Clifford M Chui
Ashley P Stockham
Stacey O Slusarski
Sinclair J Bolognia
Mujtaba W Rulapaugh
Faith P Nestle
Julie B Foller
Izzy X Nicka
Mujtaba Y Nicka
Clifford E Ostrosky
Jefferson D Ferencz
Munro X Venere
Silvio E Vocelka
Morrow T Paprocki
Maria A Poquette
Salvatore Z Nestle
Greenwood P Royster
Rodrigues E Sergi
Mayumi Q Wieser
Maisha B Rulapaugh
Ricardo F Nicka
Mayumi L Venere
Jeanfrancois Y Vocelka
Alejandro V Flosi
Leja N Waycott
Sinclair F Briddick
Aditya C Slusarski
IdCountryDate
1000Spain2024-06-05
1001Spain2024-06-09
1002Germany2024-06-09
1003Argentina2024-06-18
1004Germany2024-06-06
1005France2024-06-18
1006Germany2024-06-11
1007Italy2024-05-30
1008Australia2024-06-22
1009Russia2024-05-25
1010Spain2024-05-26
1011Australia2024-06-16
1012Japan2024-06-08
1013United Kingdom2024-06-22
1014Italy2024-06-13
1015Spain2024-06-12
1016Spain2024-05-24
1017Brazil2024-06-05
1018United Kingdom2024-06-10
1019Argentina2024-05-24
1020Italy2024-06-01
1021India2024-06-21
1022Italy2024-06-11
1023Japan2024-06-21
1024Canada2024-06-13
1025Germany2024-06-15
1026Germany2024-06-15
1027Argentina2024-05-30
1028Brazil2024-06-15
1029Argentina2024-05-30
1030France2024-06-22
1031Brazil2024-06-09
1032France2024-06-11
1033Russia2024-06-04
1034India2024-06-07
1035France2024-06-04
1036India2024-05-27
1037India2024-05-27
1038France2024-05-27
1039Canada2024-06-13
1040Russia2024-06-06
1041Spain2024-06-05
1042Canada2024-06-20
1043Brazil2024-06-03
1044Italy2024-05-26
1045Russia2024-06-08
1046Australia2024-05-29
1047Argentina2024-06-17
1048Argentina2024-06-06
1049Brazil2024-06-02

On-Demand Data

NameIdCountryDate
Aditya B Schemmer1000Spain2024-05-29
Jones P Campain1001France2024-05-31
Greenwood Q Nicka1002Japan2024-06-12
Francesco S Glick1003Spain2024-06-08
Sinclair Y Caudy1004Russia2024-05-30
Aika V Morasca1005Australia2024-06-20
Deepesh R Vocelka1006Australia2024-06-03
Smith U Rim1007Japan2024-05-24
Johnson E Venere1008Australia2024-05-26
Jeanfrancois D Poquette1009Australia2024-06-20
Jennifer O Dilliard1010India2024-06-04
Tony N Rulapaugh1011Germany2024-05-26
Cody L Malet1012Canada2024-05-27
Ricardo N Poquette1013Italy2024-06-03
Munro D Briddick1014Australia2024-05-26
Smith S Caldarera1015Canada2024-06-06
Salvatore G Gillian1016India2024-06-08
Claire S Nestle1017Germany2024-05-30
Deepesh T Gaucho1018France2024-05-31
Aditya L Ruta1019Argentina2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer G VocelkaArgentinaAnna Fali RENEWAL
Clifford F FerenczBrazilOnyama Limba NEGOTIATION
Alejandro W DilliardRussiaAnna Fali PROPOSAL
Jennifer F ShinkoItalyXuxue Feng RENEWAL
Greenwood V StensethSpainBernardo Dominic NEW
Misaki H RoysterUnited KingdomAsiya Javayant RENEWAL
Wickens X DarakjyAustraliaAsiya Javayant UNQUALIFIED
David P WaycottCanadaBernardo Dominic PROPOSAL
Mujtaba P AmigonIndiaXuxue Feng QUALIFIED
Darci Q InouyeGermanyAmy Elsner QUALIFIED
Salvatore W StensethArgentinaIoni Bowcher PROPOSAL
Sinclair U MaletGermanyOnyama Limba NEW
Francesco H SergiJapanStephen Shaw QUALIFIED
Arvin Z StockhamFranceStephen Shaw RENEWAL
Emily X WaycottAustraliaXuxue Feng UNQUALIFIED
Clifford A GlickGermanyXuxue Feng PROPOSAL
Juan R BriddickCanadaBernardo Dominic UNQUALIFIED
Clifford Z KolmetzUnited KingdomAmy Elsner RENEWAL
Wickens S NestleFranceOnyama Limba UNQUALIFIED
Clifford G DarakjyUnited KingdomXuxue Feng NEW
Ashley R VocelkaItalyElwin Sharvill UNQUALIFIED
Emily L MacleadCanadaStephen Shaw NEGOTIATION
Jefferson L WieserCanadaXuxue Feng NEGOTIATION
Silvio Y SaylorsFranceXuxue Feng NEGOTIATION
Wickens H WieserIndiaOnyama Limba PROPOSAL
Alejandro O SaylorsRussiaAsiya Javayant NEGOTIATION
Juan X FollerItalyOnyama Limba RENEWAL
Jones J NickaJapanAnna Fali QUALIFIED
Johnson J GlickArgentinaStephen Shaw NEGOTIATION
Leja R BologniaSpainIoni Bowcher NEGOTIATION
Aika Y AlbaresArgentinaIoni Bowcher UNQUALIFIED
Francesco V ChuiUnited KingdomAmy Elsner NEGOTIATION
Emily R MaletItalyElwin Sharvill UNQUALIFIED
Jeanfrancois Q RimRussiaAnna Fali PROPOSAL
Claire C SaylorsCanadaIoni Bowcher UNQUALIFIED
Darci V SchemmerArgentinaBernardo Dominic QUALIFIED
Octavia Q BowleyBrazilStephen Shaw UNQUALIFIED
Isabel Y CaudyIndiaXuxue Feng NEGOTIATION
Arvin I RutaBrazilOnyama Limba NEW
Izzy O FerenczUnited KingdomAsiya Javayant PROPOSAL

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