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
Octavia F BriddickAustraliaAmy Elsner NEW
Juan K SaylorsIndiaBernardo Dominic RENEWAL
James Q IturbideSpainAmy Elsner RENEWAL
Aruna K RutaUnited KingdomIvan Magalhaes NEGOTIATION
Juan J DarakjyFranceStephen Shaw NEW
Octavia Z GarufiRussiaBernardo Dominic PROPOSAL
Octavia R GlickFranceAsiya Javayant NEW
Kadeem I StockhamGermanyIoni Bowcher QUALIFIED
Maria I WhobreyUnited KingdomXuxue Feng RENEWAL
Aditya D GarufiBrazilAnna Fali RENEWAL
Jones R SlusarskiArgentinaStephen Shaw QUALIFIED
Aika A WieserIndiaIvan Magalhaes NEW
Chavez L KolmetzSpainIvan Magalhaes PROPOSAL
Ashley Q BologniaSpainIoni Bowcher NEW
Silvio U GarufiSpainElwin Sharvill PROPOSAL
Aditya J GauchoItalyXuxue Feng QUALIFIED
Tony H FollerBrazilIvan Magalhaes QUALIFIED
Jennifer T GillianCanadaAsiya Javayant PROPOSAL
Jeanfrancois X RimUnited KingdomAnna Fali NEW
Antonio K SchemmerAustraliaOnyama Limba NEW
Stacey L PaprockiSpainAsiya Javayant UNQUALIFIED
Aika R BriddickCanadaAnna Fali PROPOSAL
Aruna X SergiArgentinaStephen Shaw PROPOSAL
Nicolas O SlusarskiGermanyElwin Sharvill QUALIFIED
Emily S SergiSpainXuxue Feng UNQUALIFIED
Morrow E KuskoGermanyElwin Sharvill QUALIFIED
Leon F GillianCanadaAnna Fali UNQUALIFIED
Kadeem E FigeroaAustraliaIvan Magalhaes PROPOSAL
Maisha A DarakjyArgentinaIoni Bowcher NEW
Salvatore F VocelkaJapanIvan Magalhaes NEGOTIATION
Aruna H KuskoJapanAsiya Javayant QUALIFIED
Munro H BowleyItalyAnna Fali PROPOSAL
Leja A BriddickItalyAnna Fali QUALIFIED
Misaki W DarakjyAustraliaElwin Sharvill RENEWAL
Ivar E KolmetzFranceOnyama Limba RENEWAL
Smith T MaletRussiaAsiya Javayant NEGOTIATION
Munro R WieserCanadaBernardo Dominic UNQUALIFIED
Clifford S VenereGermanyIvan Magalhaes NEGOTIATION
Cody C BowleyRussiaIvan Magalhaes QUALIFIED
Juan G MaletArgentinaAnna Fali UNQUALIFIED
Johnson G AlbaresFranceIoni Bowcher UNQUALIFIED
Juan P OldroydBrazilBernardo Dominic UNQUALIFIED
Aika F FollerIndiaAnna Fali NEGOTIATION
Nicolas H AmigonAustraliaOnyama Limba PROPOSAL
Stacey O FigeroaRussiaAsiya Javayant UNQUALIFIED
Francesco S VocelkaArgentinaAnna Fali NEW
David G FollerFranceOnyama Limba PROPOSAL
Silvio I KolmetzIndiaOnyama Limba QUALIFIED
Jennifer P KuskoItalyIoni Bowcher QUALIFIED
Octavia T GlickRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Costa U FigeroaCanadaAmy Elsner UNQUALIFIED
Maria F StensethCanadaStephen Shaw UNQUALIFIED
Mujtaba V NickaJapanAsiya Javayant NEW
Deepesh G AmigonGermanyIoni Bowcher RENEWAL
Silvio T RoysterItalyBernardo Dominic UNQUALIFIED
Leon O CaldareraRussiaIoni Bowcher PROPOSAL
Faith O VocelkaRussiaXuxue Feng NEGOTIATION
Costa P AlbaresJapanAmy Elsner UNQUALIFIED
Costa M NickaJapanIoni Bowcher RENEWAL
Juan F CaldareraAustraliaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James B NestleIndia2024-06-10Buckley Miller Wright NEGOTIATION53Amy Elsner
1001Ricardo W FigeroaUnited Kingdom2024-05-29Printing Dimensions PROPOSAL36Anna Fali
1002Alejandro H ShinkoFrance2024-05-31King, Christopher A Esq UNQUALIFIED51Elwin Sharvill
1003Murillo H FollerIndia2024-06-08Commercial Press UNQUALIFIED70Ioni Bowcher
1004Stacey S MorascaRussia2024-05-24King, Christopher A Esq QUALIFIED96Bernardo Dominic
1005Costa K MorascaGermany2024-06-10Commercial Press PROPOSAL27Anna Fali
1006Maria W DilliardUnited Kingdom2024-05-27Rousseaux, Michael Esq NEGOTIATION82Stephen Shaw
1007Arvin P AlbaresArgentina2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED96Bernardo Dominic
1008Nicolas B WhobreyAustralia2024-06-17Morlong Associates QUALIFIED27Asiya Javayant
1009Maisha X SchemmerFrance2024-06-18Buckley Miller Wright PROPOSAL23Xuxue Feng
1010Murillo Q NestleFrance2024-06-01Buckley Miller Wright UNQUALIFIED21Anna Fali
1011Jennifer E ButtFrance2024-06-17Feltz Printing Service NEGOTIATION88Asiya Javayant
1012Kaitlin V SergiBrazil2024-06-06Chanay, Jeffrey A Esq NEW50Amy Elsner
1013Cody U CaldareraGermany2024-05-23Chemel, James L Cpa UNQUALIFIED90Stephen Shaw
1014Aditya D CaudyFrance2024-06-07Benton, John B Jr NEGOTIATION1Amy Elsner
1015Munro V FigeroaArgentina2024-06-15King, Christopher A Esq NEGOTIATION95Bernardo Dominic
1016Cody D InouyeItaly2024-06-20Commercial Press QUALIFIED41Ioni Bowcher
1017Smith M FollerIndia2024-06-04Feltz Printing Service NEW40Stephen Shaw
1018Octavia P DilliardFrance2024-06-18Feiner Bros NEGOTIATION2Elwin Sharvill
1019Alejandro W ChuiArgentina2024-05-28King, Christopher A Esq UNQUALIFIED53Asiya Javayant
1020Silvio M ButtRussia2024-06-09Printing Dimensions PROPOSAL60Bernardo Dominic
1021Sinclair G KuskoSpain2024-05-27King, Christopher A Esq QUALIFIED14Bernardo Dominic
1022Octavia I KolmetzUnited Kingdom2024-06-12Rousseaux, Michael Esq QUALIFIED67Xuxue Feng
1023Mujtaba U KuskoJapan2024-06-14Chemel, James L Cpa RENEWAL17Xuxue Feng
1024Claire A DilliardFrance2024-06-13Buckley Miller Wright PROPOSAL35Ioni Bowcher
1025Adams D PoquetteCanada2024-06-13Dorl, James J Esq NEGOTIATION74Onyama Limba
1026Alejandro N FerenczJapan2024-06-06Printing Dimensions QUALIFIED2Xuxue Feng
1027Aruna Q PoquetteCanada2024-06-05Feltz Printing Service PROPOSAL15Stephen Shaw
1028Ricardo B FlosiGermany2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED59Elwin Sharvill
1029Stacey X ChuiJapan2024-06-09Morlong Associates QUALIFIED7Bernardo Dominic
1030Rodrigues R IturbideItaly2024-06-09Benton, John B Jr PROPOSAL67Ivan Magalhaes
1031Ivar O SaylorsFrance2024-06-07Feltz Printing Service NEW97Ioni Bowcher
1032Juan P SaylorsItaly2024-06-17Chemel, James L Cpa UNQUALIFIED51Anna Fali
1033Ivar L PerinItaly2024-06-11Feiner Bros QUALIFIED34Xuxue Feng
1034Johnson Q ButtUnited Kingdom2024-06-15Feiner Bros UNQUALIFIED36Bernardo Dominic
1035Jeanfrancois Y GarufiFrance2024-06-15Chapman, Ross E Esq RENEWAL76Bernardo Dominic
1036Maria Z GauchoAustralia2024-06-04Morlong Associates QUALIFIED32Amy Elsner
1037Ashley Z CampainAustralia2024-06-05Rangoni Of Florence QUALIFIED19Onyama Limba
1038David I SlusarskiGermany2024-05-29Printing Dimensions NEW96Onyama Limba
1039Greenwood G GillianItaly2024-05-26Truhlar And Truhlar Attys RENEWAL46Ioni Bowcher
1040Rodrigues E CaudyUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION36Xuxue Feng
1041Alejandro Z WhobreyItaly2024-05-31Chemel, James L Cpa PROPOSAL45Elwin Sharvill
1042Silvio U PaprockiBrazil2024-05-25King, Christopher A Esq PROPOSAL95Bernardo Dominic
1043Ivar F TollnerItaly2024-06-20Feltz Printing Service QUALIFIED66Elwin Sharvill
1044Jeanfrancois E OldroydCanada2024-05-28Printing Dimensions NEGOTIATION16Ioni Bowcher
1045Aruna I GarufiGermany2024-06-06Feiner Bros NEW18Bernardo Dominic
1046Antonio L FollerIndia2024-05-30Commercial Press UNQUALIFIED39Bernardo Dominic
1047Aika W WaycottArgentina2024-06-07Printing Dimensions UNQUALIFIED91Ioni Bowcher
1048Antonio M PaprockiUnited Kingdom2024-06-15Truhlar And Truhlar Attys NEW55Onyama Limba
1049Stacey B PerinUnited Kingdom2024-06-06Benton, John B Jr NEW24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio F TollnerArgentinaXuxue Feng UNQUALIFIED
Rodrigues L ShinkoAustraliaOnyama Limba RENEWAL
Jennifer F DarakjyIndiaXuxue Feng QUALIFIED
Murillo S PaprockiAustraliaIvan Magalhaes RENEWAL
Emily O PaprockiIndiaBernardo Dominic PROPOSAL
Leja A FerenczSpainXuxue Feng NEGOTIATION
Francesco L MaletUnited KingdomAsiya Javayant NEW
Jones C OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Ricardo Q NickaAustraliaElwin Sharvill QUALIFIED
Octavia P ChuiJapanBernardo Dominic PROPOSAL
Johnson F ChuiGermanyIoni Bowcher PROPOSAL
Leja N IturbideUnited KingdomOnyama Limba PROPOSAL
Aika W OstroskyAustraliaXuxue Feng RENEWAL
Sinclair P StockhamCanadaIoni Bowcher UNQUALIFIED
Aika C SlusarskiFranceIvan Magalhaes UNQUALIFIED
Rodrigues H AlbaresItalyAsiya Javayant NEW
Morrow A MorascaBrazilAnna Fali PROPOSAL
Faith Z SaylorsItalyAmy Elsner PROPOSAL
Sinclair A GlickUnited KingdomAnna Fali NEW
Juan D FigeroaItalyStephen Shaw UNQUALIFIED
Stacey T VenereItalyAsiya Javayant RENEWAL
Leon W KuskoJapanOnyama Limba PROPOSAL
Octavia P CampainCanadaBernardo Dominic QUALIFIED
Clifford K RulapaughIndiaAmy Elsner UNQUALIFIED
Juan T CaudyItalyAnna Fali QUALIFIED
Tony V OldroydFranceXuxue Feng NEGOTIATION
James C VocelkaRussiaBernardo Dominic UNQUALIFIED
Francesco Q PaprockiSpainOnyama Limba NEW
Octavia C SchemmerUnited KingdomOnyama Limba RENEWAL
James K NestleBrazilXuxue Feng UNQUALIFIED
Leon U FigeroaUnited KingdomXuxue Feng NEW
Adams Y PoquetteGermanyBernardo Dominic PROPOSAL
David O BriddickRussiaIoni Bowcher RENEWAL
Salvatore W SchemmerJapanIoni Bowcher RENEWAL
Stacey B GarufiItalyStephen Shaw RENEWAL
Alejandro W VocelkaItalyBernardo Dominic NEGOTIATION
Cody D WieserAustraliaElwin Sharvill UNQUALIFIED
Greenwood P WaycottRussiaIoni Bowcher NEW
Munro U KolmetzBrazilAmy Elsner QUALIFIED
Tony Z AmigonArgentinaAnna Fali NEW
Aruna D NickaCanadaXuxue Feng RENEWAL
Francesco A GarufiCanadaAmy Elsner NEW
Murillo Y AlbaresBrazilIvan Magalhaes PROPOSAL
Stacey K OldroydFranceAmy Elsner UNQUALIFIED
Mayumi D ShinkoGermanyOnyama Limba NEW
Darci J FlosiSpainAmy Elsner UNQUALIFIED
Stacey H RimArgentinaElwin Sharvill PROPOSAL
Cody Q WieserUnited KingdomXuxue Feng UNQUALIFIED
Misaki X AlbaresFranceBernardo Dominic RENEWAL
Mayumi C TollnerBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Arvin C Rulapaugh
Aruna M Shinko
Greenwood D Amigon
Antonio O Slusarski
David D Saylors
Nicolas Z Rim
Misaki R Doe
Adams A Nestle
James G Marrier
Julie K Shinko
Misaki C Bolognia
Salvatore R Kolmetz
Ashley A Amigon
Stacey F Caudy
Rodrigues Z Gillian
Darci M Gaucho
Greenwood L Saylors
Costa O Caldarera
Adams A Doe
Greenwood L Perin
Rodrigues R Caudy
Arvin E Kolmetz
Claire P Briddick
Adams H Schemmer
Misaki R Tollner
Jennifer X Kolmetz
Murillo G Figeroa
Greenwood W Campain
Munro D Maclead
James J Venere
Aruna P Caudy
Francesco P Garufi
Nicolas V Amigon
Ivar K Briddick
Cody G Butt
Jones O Ruta
James D Vocelka
Stacey C Kusko
Misaki I Albares
Kaitlin W Kolmetz
Ivar H Morasca
Juan N Poquette
Rodrigues U Venere
Kadeem B Wieser
Adams M Nicka
Mayumi A Paprocki
David Y Kusko
Leja O Gillian
Smith I Ferencz
Faith D Malet
IdCountryDate
1000India2024-06-04
1001Brazil2024-06-20
1002Canada2024-06-15
1003Japan2024-05-29
1004Brazil2024-06-15
1005Italy2024-06-17
1006Brazil2024-05-28
1007United Kingdom2024-06-14
1008Germany2024-06-01
1009India2024-06-01
1010Japan2024-06-03
1011Italy2024-05-27
1012Argentina2024-06-03
1013Spain2024-05-24
1014Italy2024-05-31
1015Argentina2024-06-02
1016United Kingdom2024-06-15
1017France2024-06-20
1018India2024-06-18
1019Canada2024-05-26
1020Germany2024-06-04
1021Australia2024-06-06
1022Australia2024-06-07
1023Brazil2024-06-19
1024Argentina2024-05-30
1025France2024-06-21
1026Canada2024-06-12
1027Brazil2024-06-08
1028Canada2024-06-09
1029Germany2024-06-16
1030Argentina2024-05-27
1031Germany2024-06-14
1032India2024-05-28
1033India2024-06-18
1034Brazil2024-06-02
1035Argentina2024-05-26
1036Japan2024-05-27
1037Russia2024-06-08
1038Argentina2024-06-07
1039Argentina2024-06-18
1040Spain2024-05-30
1041France2024-06-20
1042United Kingdom2024-05-27
1043Canada2024-06-08
1044Russia2024-06-05
1045Germany2024-06-16
1046Australia2024-05-31
1047France2024-05-24
1048United Kingdom2024-06-13
1049Japan2024-05-28

On-Demand Data

NameIdCountryDate
Greenwood L Shinko1000Canada2024-06-13
Arvin R Ostrosky1001Spain2024-06-11
Claire F Venere1002Russia2024-05-27
Misaki V Foller1003Spain2024-06-20
David T Figeroa1004India2024-06-04
Maria N Shinko1005Argentina2024-06-08
Juan N Rim1006India2024-06-13
Deepesh Q Whobrey1007Spain2024-05-30
Deepesh W Briddick1008Canada2024-06-01
Aditya N Caudy1009Russia2024-06-08
Adams U Rulapaugh1010Argentina2024-06-10
Juan H Schemmer1011France2024-06-16
Jones Z Bolognia1012France2024-06-12
Misaki D Dilliard1013United Kingdom2024-05-30
Smith E Ostrosky1014Argentina2024-06-14
Tony V Bowley1015India2024-05-25
Munro M Nicka1016Russia2024-05-23
Francesco O Malet1017India2024-06-15
Jennifer I Royster1018Argentina2024-06-05
Emily I Shinko1019Spain2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois A RutaCanadaIvan Magalhaes NEW
Morrow I BriddickAustraliaBernardo Dominic QUALIFIED
Maisha G RimIndiaIvan Magalhaes QUALIFIED
Aditya H WhobreyUnited KingdomOnyama Limba NEGOTIATION
Ricardo W DarakjyCanadaStephen Shaw QUALIFIED
Jeanfrancois I MaletBrazilAmy Elsner NEW
Munro P MorascaSpainAmy Elsner RENEWAL
Jones V GauchoArgentinaBernardo Dominic NEW
James A WaycottIndiaIvan Magalhaes NEW
Isabel B FigeroaJapanBernardo Dominic NEW
Johnson I OstroskyItalyIvan Magalhaes UNQUALIFIED
Jefferson R FollerFranceOnyama Limba PROPOSAL
Izzy B AmigonIndiaBernardo Dominic PROPOSAL
Octavia N RimArgentinaIoni Bowcher PROPOSAL
Kaitlin H GillianRussiaIoni Bowcher NEGOTIATION
Chavez O IturbideCanadaStephen Shaw NEGOTIATION
Arvin A TollnerJapanAnna Fali UNQUALIFIED
Wickens Z AlbaresUnited KingdomOnyama Limba PROPOSAL
Salvatore Z ButtBrazilAnna Fali RENEWAL
Costa D StensethAustraliaElwin Sharvill QUALIFIED
Jefferson N StockhamItalyIoni Bowcher QUALIFIED
Antonio Z AmigonIndiaXuxue Feng UNQUALIFIED
Ricardo M SchemmerIndiaAmy Elsner NEGOTIATION
Mujtaba N WaycottSpainBernardo Dominic NEW
Cody R PaprockiGermanyAmy Elsner QUALIFIED
Octavia P WhobreyAustraliaAsiya Javayant NEW
Ashley P BologniaArgentinaAnna Fali QUALIFIED
Ricardo I SlusarskiFranceXuxue Feng PROPOSAL
Francesco J FerenczItalyXuxue Feng NEGOTIATION
Misaki E CampainBrazilOnyama Limba RENEWAL
Rodrigues W ShinkoGermanyAmy Elsner RENEWAL
Ashley C RimAustraliaAmy Elsner NEW
Francesco A BologniaGermanyAnna Fali PROPOSAL
Claire C FerenczIndiaStephen Shaw QUALIFIED
Maria Y FigeroaBrazilElwin Sharvill RENEWAL
Wickens S MarrierAustraliaStephen Shaw NEW
Kaitlin W NickaArgentinaAmy Elsner UNQUALIFIED
Wickens I WhobreyFranceStephen Shaw RENEWAL
Faith Z DilliardItalyIvan Magalhaes RENEWAL
Isabel B GauchoRussiaElwin Sharvill 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>