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
Munro I SlusarskiItalyAnna Fali UNQUALIFIED
Isabel O PerinItalyAmy Elsner RENEWAL
Tony E RutaFranceXuxue Feng UNQUALIFIED
Murillo L MarrierFranceAsiya Javayant QUALIFIED
Kaitlin W ChuiItalyStephen Shaw QUALIFIED
Salvatore Q GlickCanadaStephen Shaw NEGOTIATION
Kaitlin Y MarrierCanadaOnyama Limba NEGOTIATION
Julie V AmigonIndiaXuxue Feng RENEWAL
Antonio C KolmetzRussiaIvan Magalhaes PROPOSAL
Maisha K RimIndiaOnyama Limba RENEWAL
Salvatore N DilliardBrazilOnyama Limba NEGOTIATION
Sinclair N ShinkoCanadaAnna Fali NEW
Wickens U DilliardArgentinaBernardo Dominic NEGOTIATION
Jefferson K RutaItalyAmy Elsner QUALIFIED
Ashley I OldroydItalyAmy Elsner QUALIFIED
Nicolas D BologniaCanadaOnyama Limba UNQUALIFIED
Costa F CaudyIndiaAnna Fali RENEWAL
Izzy L TollnerGermanyElwin Sharvill RENEWAL
Clifford E SaylorsItalyBernardo Dominic QUALIFIED
Salvatore G GillianUnited KingdomAmy Elsner UNQUALIFIED
Costa Y RulapaughGermanyBernardo Dominic QUALIFIED
Ricardo E RoysterGermanyIoni Bowcher NEGOTIATION
Cody E GarufiSpainStephen Shaw UNQUALIFIED
Deepesh P SaylorsItalyElwin Sharvill PROPOSAL
Emily U BologniaArgentinaAsiya Javayant NEGOTIATION
Arvin Y WaycottBrazilOnyama Limba NEW
Julie N TollnerRussiaElwin Sharvill QUALIFIED
Rodrigues J MacleadAustraliaOnyama Limba NEGOTIATION
Smith X FollerBrazilAmy Elsner PROPOSAL
Jeanfrancois H DoeItalyAmy Elsner NEW
Adams E DoeCanadaAsiya Javayant QUALIFIED
Kaitlin P RulapaughFranceXuxue Feng PROPOSAL
Chavez E CampainRussiaBernardo Dominic UNQUALIFIED
Arvin T GlickUnited KingdomBernardo Dominic RENEWAL
Greenwood V MaletSpainStephen Shaw RENEWAL
Tony U RutaFranceXuxue Feng RENEWAL
Mujtaba D DilliardArgentinaStephen Shaw UNQUALIFIED
Tony L FerenczAustraliaAsiya Javayant RENEWAL
Octavia Q VocelkaUnited KingdomIoni Bowcher QUALIFIED
David E CaudyRussiaAmy Elsner RENEWAL
Isabel N FlosiBrazilIvan Magalhaes NEW
Sinclair D SaylorsFranceAnna Fali NEW
Smith W StensethIndiaOnyama Limba RENEWAL
Ivar U CaudySpainIoni Bowcher RENEWAL
Murillo O StockhamJapanElwin Sharvill NEW
Aditya W SaylorsSpainIoni Bowcher NEGOTIATION
Munro R MaletIndiaStephen Shaw NEGOTIATION
Jennifer K FlosiRussiaXuxue Feng UNQUALIFIED
Jones X WieserArgentinaOnyama Limba UNQUALIFIED
Kaitlin M MorascaJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon A InouyeJapanBernardo Dominic QUALIFIED
Juan N BologniaJapanAsiya Javayant QUALIFIED
Ricardo T WhobreyGermanyIvan Magalhaes RENEWAL
Francesco B SlusarskiAustraliaIvan Magalhaes RENEWAL
Maria S GauchoJapanAnna Fali NEGOTIATION
Jennifer M PaprockiCanadaBernardo Dominic RENEWAL
James E VenereAustraliaBernardo Dominic NEGOTIATION
Darci E GauchoBrazilAsiya Javayant NEGOTIATION
James L OldroydAustraliaOnyama Limba NEGOTIATION
Maisha K InouyeSpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues L ShinkoRussia2026-07-18Truhlar And Truhlar Attys NEGOTIATION17Elwin Sharvill
1001Costa L ShinkoBrazil2026-07-11Feltz Printing Service UNQUALIFIED83Anna Fali
1002Ashley V TollnerItaly2026-07-09Rangoni Of Florence RENEWAL64Ivan Magalhaes
1003Murillo N FigeroaItaly2026-06-29Chemel, James L Cpa NEW21Stephen Shaw
1004Mujtaba G BowleyCanada2026-07-05Chanay, Jeffrey A Esq PROPOSAL90Asiya Javayant
1005Aditya T ButtSpain2026-06-30Buckley Miller Wright QUALIFIED66Anna Fali
1006Stacey V FlosiFrance2026-07-02Rousseaux, Michael Esq NEGOTIATION71Xuxue Feng
1007Greenwood Y NestleSpain2026-06-29Benton, John B Jr UNQUALIFIED34Amy Elsner
1008Morrow X CaldareraIndia2026-07-01Truhlar And Truhlar Attys NEW49Onyama Limba
1009Ricardo A WieserCanada2026-06-28Benton, John B Jr NEGOTIATION93Stephen Shaw
1010Murillo O GarufiGermany2026-07-13Chapman, Ross E Esq UNQUALIFIED15Elwin Sharvill
1011Kadeem A GlickJapan2026-07-14Dorl, James J Esq QUALIFIED66Amy Elsner
1012Aika Y KuskoItaly2026-07-16Morlong Associates RENEWAL98Xuxue Feng
1013Sinclair M MaletJapan2026-06-28Dorl, James J Esq NEW48Elwin Sharvill
1014Ashley T WhobreyItaly2026-06-25Commercial Press NEW95Ioni Bowcher
1015Rodrigues U KuskoIndia2026-07-18Buckley Miller Wright RENEWAL82Elwin Sharvill
1016Jefferson J DarakjyFrance2026-07-01Chemel, James L Cpa NEW80Elwin Sharvill
1017Morrow Z WaycottUnited Kingdom2026-06-26Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1018Aika Q RimArgentina2026-07-15Buckley Miller Wright NEGOTIATION16Ivan Magalhaes
1019Kaitlin A VenereRussia2026-06-26Printing Dimensions NEW27Amy Elsner
1020Mayumi U ChuiItaly2026-07-19Commercial Press NEGOTIATION7Bernardo Dominic
1021Greenwood A GlickArgentina2026-07-05Rousseaux, Michael Esq NEGOTIATION49Xuxue Feng
1022Jones S WieserIndia2026-07-16Feltz Printing Service RENEWAL79Ivan Magalhaes
1023Claire H GlickItaly2026-07-11Truhlar And Truhlar Attys NEW63Asiya Javayant
1024Antonio W CaudyUnited Kingdom2026-07-03Chemel, James L Cpa NEGOTIATION50Elwin Sharvill
1025Misaki J VenereIndia2026-06-23Truhlar And Truhlar Attys NEGOTIATION61Ioni Bowcher
1026Claire B SchemmerItaly2026-06-24Rousseaux, Michael Esq NEW59Stephen Shaw
1027Nicolas D DoeBrazil2026-07-09Feiner Bros RENEWAL48Stephen Shaw
1028Darci B CaudyGermany2026-07-04Commercial Press NEW28Elwin Sharvill
1029Arvin I CaudyGermany2026-07-13Printing Dimensions NEW43Bernardo Dominic
1030Ashley A GarufiAustralia2026-06-27Rousseaux, Michael Esq RENEWAL2Onyama Limba
1031Kadeem G SlusarskiBrazil2026-07-12Morlong Associates PROPOSAL5Stephen Shaw
1032Tony G MarrierUnited Kingdom2026-07-19Chapman, Ross E Esq PROPOSAL46Xuxue Feng
1033Mujtaba F OldroydBrazil2026-06-28Buckley Miller Wright QUALIFIED64Stephen Shaw
1034Ricardo D PerinSpain2026-07-04Morlong Associates UNQUALIFIED87Ioni Bowcher
1035Claire J VocelkaIndia2026-06-30Dorl, James J Esq NEGOTIATION60Onyama Limba
1036Clifford P DarakjyIndia2026-06-26Truhlar And Truhlar Attys NEW39Asiya Javayant
1037Alejandro H OstroskyRussia2026-07-18Rangoni Of Florence RENEWAL76Elwin Sharvill
1038Mayumi D DilliardRussia2026-07-20Rousseaux, Michael Esq NEW98Stephen Shaw
1039James O SlusarskiItaly2026-07-08Dorl, James J Esq RENEWAL8Amy Elsner
1040Julie S CampainRussia2026-07-17Rangoni Of Florence UNQUALIFIED77Amy Elsner
1041Mujtaba I MacleadSpain2026-07-14Chanay, Jeffrey A Esq NEW7Elwin Sharvill
1042Arvin K MaletGermany2026-07-19Printing Dimensions PROPOSAL23Anna Fali
1043Aruna T FlosiFrance2026-07-03Feiner Bros NEW60Amy Elsner
1044Salvatore E ShinkoItaly2026-07-13Printing Dimensions UNQUALIFIED75Onyama Limba
1045Ashley J SaylorsJapan2026-07-05Morlong Associates NEGOTIATION24Ioni Bowcher
1046Silvio K FlosiBrazil2026-07-17Buckley Miller Wright UNQUALIFIED7Ivan Magalhaes
1047Aruna Y DoeJapan2026-07-21Printing Dimensions RENEWAL57Elwin Sharvill
1048Jefferson D AmigonUnited Kingdom2026-07-05Rousseaux, Michael Esq RENEWAL16Anna Fali
1049Adams K SchemmerIndia2026-07-13Commercial Press PROPOSAL60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood T RulapaughSpainAsiya Javayant NEGOTIATION
Salvatore A NestleFranceStephen Shaw RENEWAL
Kadeem M VenereCanadaXuxue Feng QUALIFIED
Darci B DoeItalyBernardo Dominic PROPOSAL
Julie D InouyeBrazilElwin Sharvill QUALIFIED
Jefferson Y KolmetzRussiaElwin Sharvill PROPOSAL
Kadeem S RimArgentinaIoni Bowcher PROPOSAL
Kaitlin S VenereAustraliaAnna Fali PROPOSAL
Claire W ChuiFranceStephen Shaw PROPOSAL
Tony Z WaycottFranceIoni Bowcher RENEWAL
Antonio C StockhamAustraliaXuxue Feng UNQUALIFIED
Leja Y SchemmerBrazilElwin Sharvill QUALIFIED
Maria L GillianAustraliaAsiya Javayant RENEWAL
Greenwood B FlosiAustraliaOnyama Limba PROPOSAL
Mayumi U VocelkaSpainAsiya Javayant NEGOTIATION
Deepesh E BriddickBrazilAnna Fali RENEWAL
Aika V WhobreyUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois O CaudyBrazilXuxue Feng UNQUALIFIED
Rodrigues K KolmetzJapanAnna Fali RENEWAL
Octavia J KuskoSpainAsiya Javayant QUALIFIED
Aditya A KuskoJapanAnna Fali QUALIFIED
Jefferson I AmigonFranceBernardo Dominic UNQUALIFIED
Jones G CaldareraUnited KingdomAnna Fali UNQUALIFIED
Octavia Y AlbaresGermanyAmy Elsner RENEWAL
Juan V NickaRussiaBernardo Dominic QUALIFIED
Jefferson P VocelkaRussiaElwin Sharvill PROPOSAL
Jefferson Y FigeroaUnited KingdomOnyama Limba PROPOSAL
Mujtaba Q SaylorsSpainStephen Shaw NEGOTIATION
Greenwood A OstroskyJapanAnna Fali QUALIFIED
Wickens L SaylorsFranceOnyama Limba NEW
Claire L SlusarskiCanadaXuxue Feng PROPOSAL
Faith X GillianArgentinaElwin Sharvill NEW
Murillo U WaycottFranceIoni Bowcher NEGOTIATION
Silvio H ShinkoUnited KingdomIoni Bowcher NEW
Francesco K GillianFranceElwin Sharvill QUALIFIED
Jefferson U WieserArgentinaAmy Elsner NEW
Morrow V CaudyCanadaStephen Shaw PROPOSAL
Faith A BriddickJapanStephen Shaw NEW
Isabel Q WieserAustraliaOnyama Limba PROPOSAL
Munro U StockhamSpainAsiya Javayant UNQUALIFIED
Nicolas V InouyeIndiaBernardo Dominic PROPOSAL
Jeanfrancois G PaprockiIndiaElwin Sharvill PROPOSAL
Maria P AmigonIndiaBernardo Dominic UNQUALIFIED
Ivar G WaycottUnited KingdomAsiya Javayant QUALIFIED
Misaki A MaletItalyIoni Bowcher UNQUALIFIED
Izzy R PaprockiAustraliaIoni Bowcher PROPOSAL
Morrow M AlbaresIndiaAnna Fali NEW
Costa D FigeroaGermanyAnna Fali NEGOTIATION
Silvio E AmigonIndiaXuxue Feng NEGOTIATION
Nicolas X StockhamIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Wickens F Amigon
Tony S Venere
James L Doe
Costa W Glick
Murillo Y Ruta
Johnson C Gillian
Tony N Bowley
Chavez O Gaucho
Silvio U Malet
Jefferson C Caldarera
Cody L Gaucho
Claire J Dilliard
Leon C Flosi
Leja D Chui
Ivar X Saylors
Claire V Iturbide
James D Kusko
Arvin F Rulapaugh
Isabel Z Gillian
Costa T Stockham
Jennifer W Shinko
Deepesh V Venere
Wickens H Caldarera
Misaki J Whobrey
Munro S Marrier
Cody W Marrier
Tony Q Saylors
Murillo H Caudy
Kaitlin A Royster
Jennifer A Garufi
Francesco Q Albares
James V Garufi
Leja J Gillian
Silvio T Iturbide
Juan X Darakjy
Isabel J Tollner
Clifford U Maclead
Tony K Poquette
Antonio Z Slusarski
Julie C Wieser
Julie X Vocelka
David K Bolognia
Isabel C Wieser
Nicolas D Gaucho
Smith U Butt
Misaki Q Ferencz
Faith P Rim
Ashley X Doe
Tony W Gaucho
Maisha K Vocelka
IdCountryDate
1000Brazil2026-07-05
1001Argentina2026-07-11
1002India2026-06-26
1003India2026-07-17
1004India2026-07-11
1005Canada2026-07-11
1006United Kingdom2026-07-10
1007Canada2026-06-24
1008Italy2026-07-02
1009Italy2026-07-08
1010France2026-07-20
1011Argentina2026-07-12
1012United Kingdom2026-07-14
1013Argentina2026-07-21
1014Japan2026-07-05
1015Australia2026-07-20
1016Brazil2026-07-18
1017France2026-07-09
1018Argentina2026-07-10
1019Brazil2026-06-23
1020Spain2026-07-10
1021Canada2026-06-30
1022United Kingdom2026-06-24
1023Germany2026-07-22
1024Germany2026-06-27
1025Spain2026-07-02
1026Canada2026-07-03
1027Spain2026-07-14
1028Russia2026-06-26
1029Russia2026-07-01
1030Italy2026-06-28
1031Argentina2026-07-01
1032France2026-06-28
1033Germany2026-06-30
1034Russia2026-07-05
1035United Kingdom2026-07-08
1036Japan2026-07-19
1037France2026-06-26
1038United Kingdom2026-06-25
1039Canada2026-06-29
1040France2026-07-22
1041Brazil2026-07-05
1042Germany2026-07-13
1043Canada2026-06-30
1044France2026-07-13
1045Germany2026-06-27
1046France2026-06-30
1047Canada2026-07-22
1048Brazil2026-07-14
1049Italy2026-07-06

On-Demand Data

NameIdCountryDate
Antonio U Whobrey1000Argentina2026-07-03
Wickens I Foller1001United Kingdom2026-07-01
Aditya B Bolognia1002United Kingdom2026-07-15
Sinclair S Waycott1003Canada2026-06-23
Wickens Q Morasca1004Japan2026-07-18
Ashley Z Bolognia1005Germany2026-07-13
James G Paprocki1006United Kingdom2026-07-21
Johnson B Albares1007Italy2026-07-19
Greenwood F Dilliard1008Brazil2026-07-22
Costa V Wieser1009India2026-06-23
Johnson H Schemmer1010India2026-07-04
Clifford F Schemmer1011Japan2026-07-02
Isabel J Marrier1012Australia2026-07-13
Costa A Flosi1013France2026-07-17
Antonio Y Kusko1014Canada2026-06-27
Antonio X Nestle1015Italy2026-06-27
Misaki J Wieser1016United Kingdom2026-06-24
Jeanfrancois M Albares1017Canada2026-07-07
Mujtaba D Sergi1018Italy2026-06-23
Kadeem W Iturbide1019Spain2026-07-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh P PerinBrazilElwin Sharvill NEGOTIATION
Murillo T OldroydJapanAnna Fali PROPOSAL
David V DilliardRussiaIvan Magalhaes NEW
Darci U FlosiAustraliaAnna Fali PROPOSAL
Darci L FollerGermanyOnyama Limba PROPOSAL
Darci G StensethGermanyAmy Elsner NEGOTIATION
Smith S MorascaJapanIvan Magalhaes PROPOSAL
Silvio S RulapaughItalyElwin Sharvill NEW
Ricardo B ChuiJapanBernardo Dominic UNQUALIFIED
Smith J ChuiRussiaAnna Fali NEW
Greenwood E RoysterJapanIvan Magalhaes PROPOSAL
Kadeem I AlbaresFranceAsiya Javayant UNQUALIFIED
Rodrigues R CaldareraIndiaIoni Bowcher NEGOTIATION
Kadeem Y RoysterSpainStephen Shaw NEGOTIATION
Rodrigues G WaycottCanadaIvan Magalhaes PROPOSAL
Mayumi Q BowleyUnited KingdomAmy Elsner QUALIFIED
Clifford Y CampainFranceBernardo Dominic QUALIFIED
Mujtaba B PoquetteBrazilAsiya Javayant PROPOSAL
Stacey P DarakjyGermanyStephen Shaw NEGOTIATION
David B RoysterBrazilStephen Shaw RENEWAL
Munro X StockhamIndiaBernardo Dominic UNQUALIFIED
Aruna K TollnerItalyBernardo Dominic PROPOSAL
Wickens U MacleadAustraliaStephen Shaw QUALIFIED
Ashley M SergiArgentinaXuxue Feng RENEWAL
Kadeem X PerinJapanStephen Shaw NEW
Emily R StockhamSpainAnna Fali NEW
Aika D FerenczUnited KingdomIoni Bowcher NEW
Octavia D NestleAustraliaIoni Bowcher UNQUALIFIED
Smith W OldroydCanadaXuxue Feng NEW
Nicolas D WaycottBrazilStephen Shaw NEGOTIATION
Chavez F VenereGermanyIoni Bowcher RENEWAL
Nicolas R AmigonUnited KingdomXuxue Feng QUALIFIED
Alejandro R PaprockiGermanyStephen Shaw QUALIFIED
Arvin W WaycottJapanBernardo Dominic RENEWAL
Antonio N ShinkoRussiaAmy Elsner UNQUALIFIED
Jefferson C FerenczCanadaElwin Sharvill QUALIFIED
Arvin B RoysterCanadaElwin Sharvill NEW
Jeanfrancois Z NestleItalyStephen Shaw UNQUALIFIED
James C BowleyArgentinaIvan Magalhaes RENEWAL
Mayumi G GillianJapanXuxue Feng 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>