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
Stacey T FollerArgentinaStephen Shaw NEW
David V SergiItalyBernardo Dominic QUALIFIED
Deepesh N RimRussiaIvan Magalhaes QUALIFIED
Jefferson Y MaletSpainAnna Fali NEGOTIATION
Isabel E PoquetteArgentinaIvan Magalhaes PROPOSAL
Murillo A RoysterJapanElwin Sharvill QUALIFIED
Adams M ChuiArgentinaElwin Sharvill NEW
Tony Y NestleJapanAnna Fali NEW
Aditya A FlosiSpainStephen Shaw NEGOTIATION
Chavez R TollnerJapanAnna Fali UNQUALIFIED
Francesco N CampainIndiaAnna Fali UNQUALIFIED
Mujtaba B CampainSpainStephen Shaw NEGOTIATION
Kadeem X VocelkaSpainIoni Bowcher NEW
Clifford R DoeFranceAsiya Javayant UNQUALIFIED
Emily Z GillianRussiaXuxue Feng RENEWAL
Aditya C MarrierRussiaAnna Fali NEW
Aditya W OstroskyCanadaIoni Bowcher UNQUALIFIED
Mujtaba T AmigonRussiaElwin Sharvill NEGOTIATION
Jones B FigeroaRussiaBernardo Dominic RENEWAL
Costa S VocelkaJapanStephen Shaw PROPOSAL
Morrow J BowleyBrazilOnyama Limba UNQUALIFIED
Greenwood X SchemmerIndiaIvan Magalhaes UNQUALIFIED
David F MaletAustraliaElwin Sharvill QUALIFIED
Greenwood R KolmetzJapanXuxue Feng QUALIFIED
Juan X FlosiIndiaXuxue Feng NEGOTIATION
Murillo O CaudyAustraliaXuxue Feng QUALIFIED
Greenwood K MaletSpainXuxue Feng NEW
Sinclair W ChuiFranceXuxue Feng PROPOSAL
Chavez S NestleJapanAmy Elsner RENEWAL
Julie S FlosiArgentinaAnna Fali QUALIFIED
Maisha Z CaudyGermanyXuxue Feng NEGOTIATION
Jeanfrancois A WhobreySpainElwin Sharvill UNQUALIFIED
Darci W InouyeAustraliaAmy Elsner UNQUALIFIED
Jennifer G StensethRussiaAsiya Javayant UNQUALIFIED
Darci S StensethAustraliaAmy Elsner QUALIFIED
Clifford X ChuiGermanyIoni Bowcher RENEWAL
Munro V ButtGermanyBernardo Dominic NEW
Aruna M DoeUnited KingdomAmy Elsner PROPOSAL
Cody H MacleadJapanAnna Fali RENEWAL
Ivar U MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair A StensethIndiaIvan Magalhaes NEGOTIATION
Leon X RoysterFranceAsiya Javayant RENEWAL
Tony Z SlusarskiUnited KingdomAsiya Javayant NEW
Maisha T RutaRussiaAmy Elsner QUALIFIED
Darci V SaylorsJapanStephen Shaw NEW
Isabel U FlosiBrazilXuxue Feng NEW
Alejandro X PoquetteItalyAnna Fali UNQUALIFIED
Jeanfrancois K FerenczJapanAnna Fali QUALIFIED
Emily Q BologniaBrazilBernardo Dominic UNQUALIFIED
Mayumi L BowleyItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin L ButtAustraliaIvan Magalhaes NEGOTIATION
Emily V KolmetzItalyAmy Elsner QUALIFIED
Johnson S PerinFranceXuxue Feng QUALIFIED
Silvio X DilliardArgentinaXuxue Feng NEGOTIATION
Emily Z RutaSpainXuxue Feng NEW
Greenwood R DarakjyItalyAmy Elsner NEGOTIATION
Alejandro D CaldareraIndiaStephen Shaw NEW
Johnson T AmigonGermanyIoni Bowcher NEW
Johnson E NickaJapanIvan Magalhaes PROPOSAL
Aditya B OldroydJapanIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon E BriddickArgentina2026-08-25Chemel, James L Cpa QUALIFIED60Onyama Limba
1001Juan K SaylorsUnited Kingdom2026-08-16Dorl, James J Esq PROPOSAL25Onyama Limba
1002James W ShinkoCanada2026-08-25Truhlar And Truhlar Attys QUALIFIED62Onyama Limba
1003Deepesh U RimCanada2026-08-02Benton, John B Jr NEW41Asiya Javayant
1004Smith O SaylorsIndia2026-08-22Chanay, Jeffrey A Esq QUALIFIED68Ioni Bowcher
1005Juan T VenereSpain2026-08-20Chemel, James L Cpa NEGOTIATION20Ivan Magalhaes
1006Arvin L FigeroaJapan2026-08-04Buckley Miller Wright PROPOSAL95Asiya Javayant
1007Julie V OstroskyIndia2026-08-10Feiner Bros NEGOTIATION12Stephen Shaw
1008Jennifer C KuskoBrazil2026-08-27Commercial Press UNQUALIFIED25Amy Elsner
1009Arvin X SlusarskiJapan2026-08-12King, Christopher A Esq NEGOTIATION56Ioni Bowcher
1010Ashley Y ChuiCanada2026-08-14Rousseaux, Michael Esq PROPOSAL83Ivan Magalhaes
1011Jones A MaletAustralia2026-08-17Chapman, Ross E Esq PROPOSAL20Ioni Bowcher
1012Juan P SlusarskiJapan2026-07-31Commercial Press PROPOSAL99Amy Elsner
1013James X MorascaIndia2026-08-14Rousseaux, Michael Esq NEGOTIATION40Anna Fali
1014Ivar O DarakjyItaly2026-08-05Rousseaux, Michael Esq RENEWAL37Xuxue Feng
1015Julie E NestleCanada2026-08-11Buckley Miller Wright NEGOTIATION76Ioni Bowcher
1016Kadeem P FlosiRussia2026-07-31Benton, John B Jr NEGOTIATION65Amy Elsner
1017Alejandro V CaldareraCanada2026-08-19King, Christopher A Esq NEGOTIATION19Anna Fali
1018Ivar D PaprockiAustralia2026-08-15Benton, John B Jr UNQUALIFIED47Amy Elsner
1019Wickens A SaylorsBrazil2026-08-19Rousseaux, Michael Esq UNQUALIFIED79Stephen Shaw
1020Sinclair H InouyeSpain2026-08-10King, Christopher A Esq QUALIFIED58Ioni Bowcher
1021Aika Q BologniaBrazil2026-07-31Rousseaux, Michael Esq QUALIFIED50Elwin Sharvill
1022Leon M WaycottCanada2026-08-23Morlong Associates NEGOTIATION86Anna Fali
1023Alejandro J FerenczGermany2026-08-03Morlong Associates UNQUALIFIED4Onyama Limba
1024Misaki I RutaFrance2026-08-03Chemel, James L Cpa PROPOSAL98Amy Elsner
1025Leja X WaycottArgentina2026-08-01Feltz Printing Service QUALIFIED31Amy Elsner
1026Antonio M FollerCanada2026-08-02Chanay, Jeffrey A Esq NEGOTIATION58Onyama Limba
1027Jeanfrancois D RimAustralia2026-08-04Rangoni Of Florence RENEWAL56Anna Fali
1028Octavia L OldroydCanada2026-08-19Morlong Associates UNQUALIFIED56Asiya Javayant
1029Octavia T KolmetzUnited Kingdom2026-08-16King, Christopher A Esq RENEWAL15Bernardo Dominic
1030Nicolas P OstroskyUnited Kingdom2026-08-22King, Christopher A Esq PROPOSAL56Elwin Sharvill
1031Arvin Z AlbaresAustralia2026-08-08Feltz Printing Service UNQUALIFIED38Elwin Sharvill
1032Stacey U OstroskyIndia2026-08-02Rangoni Of Florence QUALIFIED91Bernardo Dominic
1033Morrow R DoeSpain2026-08-14Rangoni Of Florence PROPOSAL25Amy Elsner
1034Jones Y BowleyItaly2026-08-10Chanay, Jeffrey A Esq NEW10Bernardo Dominic
1035Antonio S WieserArgentina2026-08-14Benton, John B Jr UNQUALIFIED80Anna Fali
1036Alejandro B FigeroaRussia2026-08-01Chanay, Jeffrey A Esq NEGOTIATION68Amy Elsner
1037Salvatore Z DoeIndia2026-08-09Truhlar And Truhlar Attys NEW45Onyama Limba
1038Faith H GauchoUnited Kingdom2026-08-11Commercial Press PROPOSAL39Elwin Sharvill
1039Johnson M IturbideBrazil2026-08-22Commercial Press QUALIFIED43Elwin Sharvill
1040Maisha W PerinFrance2026-08-28King, Christopher A Esq NEGOTIATION52Onyama Limba
1041Stacey Z MaletArgentina2026-08-02Feiner Bros QUALIFIED30Xuxue Feng
1042Wickens U DilliardJapan2026-08-03Buckley Miller Wright UNQUALIFIED43Anna Fali
1043Clifford X StockhamUnited Kingdom2026-08-11Rousseaux, Michael Esq UNQUALIFIED66Stephen Shaw
1044James T MaletJapan2026-08-15Benton, John B Jr UNQUALIFIED37Xuxue Feng
1045Murillo L ButtRussia2026-08-21Feltz Printing Service QUALIFIED63Stephen Shaw
1046Wickens A DoeAustralia2026-08-16Printing Dimensions RENEWAL47Amy Elsner
1047Faith O PaprockiCanada2026-08-06Dorl, James J Esq QUALIFIED55Amy Elsner
1048Wickens W MaletGermany2026-08-24Chanay, Jeffrey A Esq PROPOSAL17Stephen Shaw
1049Darci J KuskoUnited Kingdom2026-08-08Truhlar And Truhlar Attys NEW19Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones O StockhamIndiaIoni Bowcher QUALIFIED
Silvio F ShinkoBrazilXuxue Feng UNQUALIFIED
Misaki R SergiCanadaElwin Sharvill UNQUALIFIED
Kaitlin L RoysterArgentinaElwin Sharvill UNQUALIFIED
Ricardo K DoeCanadaAnna Fali RENEWAL
Aika A DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Leon M RulapaughIndiaStephen Shaw RENEWAL
Ivar V SchemmerArgentinaElwin Sharvill NEW
James W AmigonAustraliaStephen Shaw PROPOSAL
Jennifer S WaycottCanadaXuxue Feng NEGOTIATION
James N IturbideItalyStephen Shaw PROPOSAL
Salvatore A SergiItalyAnna Fali NEGOTIATION
Sinclair A IturbideUnited KingdomAnna Fali NEGOTIATION
Adams Q ChuiRussiaIvan Magalhaes PROPOSAL
Costa W VenereBrazilElwin Sharvill QUALIFIED
Maisha U OldroydFranceElwin Sharvill PROPOSAL
Francesco Q FerenczFranceIvan Magalhaes UNQUALIFIED
Smith S PaprockiItalyXuxue Feng UNQUALIFIED
James T ChuiJapanAnna Fali UNQUALIFIED
Murillo M PoquetteRussiaOnyama Limba NEW
Aika U FerenczFranceAsiya Javayant NEGOTIATION
Julie H RulapaughJapanAmy Elsner NEGOTIATION
Arvin B StockhamSpainElwin Sharvill UNQUALIFIED
Jones Y WieserJapanIvan Magalhaes NEW
Kaitlin H WhobreyItalyAmy Elsner QUALIFIED
Emily P FlosiArgentinaElwin Sharvill NEW
Costa N RimFranceBernardo Dominic PROPOSAL
Ashley P WaycottIndiaAmy Elsner PROPOSAL
Misaki H RulapaughCanadaXuxue Feng QUALIFIED
Stacey Z GauchoRussiaIoni Bowcher PROPOSAL
Adams R BriddickIndiaAnna Fali UNQUALIFIED
Tony B WhobreyIndiaAnna Fali PROPOSAL
Aruna J GarufiAustraliaStephen Shaw RENEWAL
Jefferson T InouyeJapanOnyama Limba NEW
Tony K IturbideUnited KingdomAmy Elsner NEW
James X SchemmerUnited KingdomAmy Elsner NEGOTIATION
Claire O GillianArgentinaXuxue Feng NEW
Kadeem S SlusarskiBrazilOnyama Limba UNQUALIFIED
Claire V WaycottSpainStephen Shaw UNQUALIFIED
Izzy X IturbideCanadaAnna Fali NEGOTIATION
Murillo V KuskoJapanAmy Elsner PROPOSAL
Francesco X NickaBrazilBernardo Dominic UNQUALIFIED
Claire M KolmetzItalyBernardo Dominic NEW
Leon W SlusarskiFranceStephen Shaw QUALIFIED
Arvin K MacleadArgentinaElwin Sharvill QUALIFIED
Arvin U KolmetzAustraliaStephen Shaw PROPOSAL
Chavez L AmigonJapanIoni Bowcher NEGOTIATION
Chavez N WieserJapanElwin Sharvill PROPOSAL
Deepesh Z WhobreyIndiaIvan Magalhaes NEGOTIATION
Isabel Q StockhamItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jennifer J Royster
Darci M Ostrosky
Tony K Slusarski
Francesco C Nestle
Silvio A Nestle
David I Paprocki
Jennifer E Foller
Emily T Poquette
Adams X Venere
Aruna R Butt
Jeanfrancois L Foller
Misaki E Malet
Emily Y Gaucho
Juan S Ferencz
Ashley Q Campain
Silvio L Wieser
James K Amigon
Jeanfrancois Q Shinko
Tony S Briddick
David N Oldroyd
Octavia S Gillian
Leon I Flosi
Sinclair L Ostrosky
Maria H Marrier
Chavez V Glick
Rodrigues M Campain
Aruna M Waycott
Rodrigues V Kolmetz
Cody X Rulapaugh
Costa I Bolognia
Johnson O Gaucho
Aika U Dilliard
Sinclair X Stockham
Aika T Rim
Salvatore X Oldroyd
Claire K Gillian
Silvio L Shinko
Izzy F Nestle
Ashley X Butt
Cody P Maclead
Leon G Malet
Arvin E Iturbide
Claire H Albares
Ivar M Kusko
Murillo F Garufi
Ivar G Wieser
Antonio F Waycott
Wickens V Malet
Jennifer X Kusko
Mujtaba Q Dilliard
IdCountryDate
1000France2026-08-09
1001Brazil2026-08-19
1002Spain2026-08-02
1003France2026-08-14
1004India2026-08-25
1005Italy2026-08-26
1006Germany2026-07-31
1007United Kingdom2026-08-15
1008Japan2026-08-27
1009United Kingdom2026-08-22
1010Spain2026-08-06
1011Russia2026-07-30
1012France2026-08-03
1013United Kingdom2026-08-14
1014Spain2026-08-05
1015Germany2026-08-19
1016Germany2026-08-05
1017Australia2026-08-08
1018Russia2026-08-11
1019Germany2026-08-11
1020France2026-08-14
1021Russia2026-08-22
1022United Kingdom2026-08-22
1023Canada2026-07-31
1024Germany2026-08-22
1025United Kingdom2026-08-12
1026India2026-08-14
1027United Kingdom2026-08-02
1028Australia2026-08-28
1029Canada2026-08-19
1030Canada2026-08-11
1031Spain2026-08-11
1032Spain2026-08-14
1033Canada2026-08-01
1034Canada2026-08-16
1035Spain2026-08-28
1036India2026-07-31
1037Italy2026-08-27
1038Spain2026-08-03
1039Russia2026-08-21
1040Brazil2026-08-13
1041Argentina2026-08-07
1042Spain2026-08-27
1043Italy2026-08-27
1044United Kingdom2026-08-18
1045Germany2026-08-10
1046Australia2026-08-04
1047Canada2026-08-13
1048Brazil2026-08-11
1049Italy2026-08-17

On-Demand Data

NameIdCountryDate
Juan N Gaucho1000Spain2026-07-31
Aika M Stenseth1001Argentina2026-08-09
Arvin W Chui1002Spain2026-08-25
Sinclair G Iturbide1003Spain2026-08-19
Aika Y Rim1004Brazil2026-08-07
Silvio G Bolognia1005Canada2026-08-05
Jennifer D Kusko1006Canada2026-08-12
Jefferson E Doe1007Japan2026-08-07
Leja C Poquette1008Japan2026-08-23
Kaitlin E Glick1009Japan2026-08-25
Nicolas Z Nestle1010Spain2026-08-07
Emily C Ostrosky1011United Kingdom2026-08-16
Adams E Royster1012Brazil2026-08-09
Murillo G Iturbide1013Argentina2026-08-23
Leon L Stenseth1014Argentina2026-08-24
David Q Slusarski1015Japan2026-08-21
Izzy R Waycott1016United Kingdom2026-08-23
Wickens H Kolmetz1017Canada2026-08-28
Adams M Darakjy1018France2026-08-03
Maria H Saylors1019Italy2026-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood K FlosiGermanyElwin Sharvill UNQUALIFIED
Morrow F PaprockiItalyElwin Sharvill RENEWAL
Francesco B SaylorsItalyBernardo Dominic UNQUALIFIED
Aika W KuskoSpainBernardo Dominic QUALIFIED
Aika E FollerIndiaIvan Magalhaes NEW
Morrow U NickaBrazilXuxue Feng RENEWAL
Aika A KolmetzRussiaXuxue Feng NEW
Darci E WieserRussiaStephen Shaw UNQUALIFIED
Isabel N BologniaGermanyElwin Sharvill UNQUALIFIED
Maisha J NickaBrazilAnna Fali QUALIFIED
Cody N StockhamBrazilAsiya Javayant NEGOTIATION
Greenwood Z CaldareraIndiaIvan Magalhaes NEW
Faith L CaldareraUnited KingdomAsiya Javayant QUALIFIED
Aditya V SlusarskiArgentinaAsiya Javayant NEGOTIATION
Mayumi S GillianGermanyBernardo Dominic NEW
Murillo T RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues H GlickBrazilIvan Magalhaes RENEWAL
Aika L RulapaughGermanyIvan Magalhaes UNQUALIFIED
David J AmigonGermanyElwin Sharvill NEGOTIATION
Morrow G InouyeBrazilAnna Fali NEGOTIATION
Tony U WaycottIndiaAnna Fali PROPOSAL
Emily F RulapaughCanadaIvan Magalhaes NEGOTIATION
Tony T GarufiArgentinaAsiya Javayant PROPOSAL
Juan U FlosiArgentinaStephen Shaw NEW
Kadeem F VenereJapanAmy Elsner NEGOTIATION
Tony V ChuiAustraliaOnyama Limba QUALIFIED
Aika W RulapaughCanadaXuxue Feng PROPOSAL
Ashley D ShinkoSpainBernardo Dominic PROPOSAL
Antonio X FlosiBrazilBernardo Dominic RENEWAL
Emily X PerinUnited KingdomAmy Elsner NEW
Salvatore G StensethIndiaBernardo Dominic PROPOSAL
Silvio V OldroydGermanyAsiya Javayant PROPOSAL
Salvatore L PerinUnited KingdomXuxue Feng QUALIFIED
Mujtaba E BologniaSpainElwin Sharvill UNQUALIFIED
Faith K KolmetzBrazilStephen Shaw NEGOTIATION
Salvatore N ButtGermanyAmy Elsner QUALIFIED
Mujtaba B PoquetteSpainAmy Elsner PROPOSAL
Jefferson B PoquetteCanadaAsiya Javayant PROPOSAL
Jennifer V NickaItalyAsiya Javayant PROPOSAL
Rodrigues I MaletItalyAsiya Javayant 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>