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
Antonio S FigeroaItalyStephen Shaw RENEWAL
Aruna M WieserAustraliaElwin Sharvill QUALIFIED
Clifford M KolmetzGermanyXuxue Feng PROPOSAL
Mujtaba I MorascaFranceIoni Bowcher NEW
Izzy B MaletAustraliaOnyama Limba UNQUALIFIED
Mayumi T ButtArgentinaAnna Fali UNQUALIFIED
Deepesh B WhobreyItalyAmy Elsner NEW
Darci P BologniaFranceOnyama Limba UNQUALIFIED
Johnson I WieserArgentinaXuxue Feng UNQUALIFIED
Silvio M StockhamIndiaXuxue Feng NEW
Juan U RoysterUnited KingdomAmy Elsner NEGOTIATION
Silvio Q MacleadBrazilAsiya Javayant NEGOTIATION
Smith E DarakjyGermanyElwin Sharvill UNQUALIFIED
Alejandro O IturbideUnited KingdomBernardo Dominic RENEWAL
Leja N WhobreyBrazilXuxue Feng QUALIFIED
Mayumi A OldroydGermanyElwin Sharvill QUALIFIED
Adams A WhobreyBrazilStephen Shaw RENEWAL
Deepesh N MaletCanadaAsiya Javayant QUALIFIED
Aruna C DarakjyRussiaIvan Magalhaes RENEWAL
Greenwood Q RimIndiaAnna Fali RENEWAL
Deepesh G IturbideSpainStephen Shaw QUALIFIED
Isabel U InouyeAustraliaElwin Sharvill QUALIFIED
Smith M GillianSpainBernardo Dominic UNQUALIFIED
Murillo B DoeCanadaXuxue Feng QUALIFIED
James M RutaItalyAmy Elsner PROPOSAL
Rodrigues V ButtAustraliaIoni Bowcher PROPOSAL
Misaki W StensethRussiaBernardo Dominic PROPOSAL
Wickens A RimAustraliaXuxue Feng RENEWAL
Darci J GarufiRussiaAmy Elsner PROPOSAL
Clifford D CaldareraIndiaElwin Sharvill QUALIFIED
Kadeem T DarakjyJapanAsiya Javayant UNQUALIFIED
Faith T MaletArgentinaAmy Elsner PROPOSAL
Wickens E MaletRussiaElwin Sharvill QUALIFIED
Octavia T MaletArgentinaIvan Magalhaes RENEWAL
Greenwood B MarrierIndiaIvan Magalhaes RENEWAL
Maria W KolmetzCanadaBernardo Dominic QUALIFIED
Izzy Z MorascaJapanBernardo Dominic RENEWAL
Silvio F AlbaresBrazilXuxue Feng PROPOSAL
Cody H VenereFranceIoni Bowcher PROPOSAL
Stacey H FigeroaItalyAnna Fali PROPOSAL
Nicolas I SergiArgentinaXuxue Feng NEGOTIATION
Stacey F TollnerFranceStephen Shaw PROPOSAL
Tony J SchemmerArgentinaXuxue Feng UNQUALIFIED
Mayumi F AlbaresSpainOnyama Limba QUALIFIED
Octavia X MacleadUnited KingdomXuxue Feng NEGOTIATION
Murillo P PerinItalyStephen Shaw NEGOTIATION
Darci V SlusarskiFranceXuxue Feng NEGOTIATION
Deepesh S CaudyJapanAmy Elsner UNQUALIFIED
Aditya Z OstroskyUnited KingdomElwin Sharvill NEW
Julie Y FigeroaGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha U NickaArgentinaOnyama Limba NEGOTIATION
Octavia W PaprockiGermanyXuxue Feng QUALIFIED
Izzy T PoquetteRussiaAmy Elsner RENEWAL
Jefferson W FigeroaItalyElwin Sharvill NEW
Adams W OstroskyUnited KingdomBernardo Dominic NEW
Aruna N BowleyJapanOnyama Limba PROPOSAL
Munro E ButtAustraliaStephen Shaw UNQUALIFIED
David P KolmetzJapanBernardo Dominic RENEWAL
David R TollnerGermanyAmy Elsner NEGOTIATION
Alejandro K TollnerArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley H NickaAustralia2026-08-14Buckley Miller Wright QUALIFIED38Anna Fali
1001Mayumi O WhobreyJapan2026-08-23Feiner Bros NEW30Ivan Magalhaes
1002Jeanfrancois K SlusarskiRussia2026-08-20Rousseaux, Michael Esq PROPOSAL62Onyama Limba
1003Izzy A DilliardUnited Kingdom2026-07-29Buckley Miller Wright NEGOTIATION56Anna Fali
1004Clifford X NickaUnited Kingdom2026-08-09Chanay, Jeffrey A Esq PROPOSAL99Asiya Javayant
1005Francesco A OldroydArgentina2026-08-19King, Christopher A Esq QUALIFIED67Xuxue Feng
1006Izzy H RutaUnited Kingdom2026-08-26Buckley Miller Wright RENEWAL67Elwin Sharvill
1007Sinclair H MaletAustralia2026-08-24Buckley Miller Wright RENEWAL50Anna Fali
1008Antonio T FerenczArgentina2026-08-11Buckley Miller Wright NEGOTIATION53Stephen Shaw
1009Smith T DarakjyBrazil2026-08-03Printing Dimensions QUALIFIED74Elwin Sharvill
1010Emily K GillianBrazil2026-08-02Truhlar And Truhlar Attys QUALIFIED44Xuxue Feng
1011Kadeem P FlosiGermany2026-08-06Rangoni Of Florence NEGOTIATION63Ivan Magalhaes
1012Juan Z GarufiGermany2026-08-05Rangoni Of Florence RENEWAL25Onyama Limba
1013Cody E AmigonJapan2026-08-04Dorl, James J Esq NEW73Anna Fali
1014Ivar B GauchoArgentina2026-08-15Dorl, James J Esq UNQUALIFIED7Ivan Magalhaes
1015Aika W BriddickRussia2026-08-20Buckley Miller Wright QUALIFIED31Xuxue Feng
1016Jennifer F TollnerAustralia2026-08-09Rousseaux, Michael Esq NEGOTIATION93Ivan Magalhaes
1017Leja E WaycottSpain2026-08-14Printing Dimensions NEGOTIATION83Anna Fali
1018Francesco W FerenczGermany2026-08-09Benton, John B Jr NEGOTIATION9Xuxue Feng
1019Greenwood X RutaIndia2026-08-09Buckley Miller Wright NEW93Bernardo Dominic
1020Aika I GillianCanada2026-08-26Feltz Printing Service UNQUALIFIED44Ivan Magalhaes
1021Octavia L CaldareraGermany2026-08-16Chemel, James L Cpa QUALIFIED54Asiya Javayant
1022Aika T MaletArgentina2026-08-23King, Christopher A Esq UNQUALIFIED96Anna Fali
1023Sinclair M FollerArgentina2026-08-15Feltz Printing Service NEW0Stephen Shaw
1024Emily V CaudyFrance2026-08-18Chemel, James L Cpa PROPOSAL79Amy Elsner
1025Emily M InouyeIndia2026-08-07King, Christopher A Esq RENEWAL90Stephen Shaw
1026Leon B WaycottIndia2026-08-11Commercial Press RENEWAL4Elwin Sharvill
1027Emily F NestleSpain2026-08-25Benton, John B Jr UNQUALIFIED25Stephen Shaw
1028Isabel G BologniaSpain2026-08-19Feltz Printing Service RENEWAL91Amy Elsner
1029Claire R SlusarskiGermany2026-07-30Buckley Miller Wright RENEWAL90Xuxue Feng
1030Aruna A NestleGermany2026-08-25Truhlar And Truhlar Attys PROPOSAL55Stephen Shaw
1031Emily W AlbaresArgentina2026-08-10Chemel, James L Cpa NEW78Onyama Limba
1032Octavia A SaylorsCanada2026-07-31Chanay, Jeffrey A Esq QUALIFIED51Bernardo Dominic
1033James M WieserArgentina2026-08-19Truhlar And Truhlar Attys NEW24Onyama Limba
1034Sinclair S StockhamArgentina2026-08-11Printing Dimensions PROPOSAL23Amy Elsner
1035Octavia C PerinCanada2026-08-26Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1036Tony N MaletSpain2026-07-29Feiner Bros PROPOSAL36Stephen Shaw
1037Jeanfrancois I OldroydSpain2026-08-05Chapman, Ross E Esq RENEWAL21Amy Elsner
1038Jennifer L BowleySpain2026-08-14Chapman, Ross E Esq NEW67Stephen Shaw
1039Salvatore W RimBrazil2026-08-25Buckley Miller Wright UNQUALIFIED72Stephen Shaw
1040James E DoeBrazil2026-08-16Chemel, James L Cpa PROPOSAL32Elwin Sharvill
1041Johnson Q FollerFrance2026-08-21Morlong Associates RENEWAL35Bernardo Dominic
1042Sinclair D GauchoIndia2026-08-26Commercial Press NEW29Amy Elsner
1043Jefferson P FerenczAustralia2026-08-04Chanay, Jeffrey A Esq QUALIFIED19Stephen Shaw
1044Silvio O SaylorsRussia2026-08-22Rousseaux, Michael Esq QUALIFIED22Xuxue Feng
1045Izzy T FigeroaIndia2026-08-08Chemel, James L Cpa RENEWAL60Stephen Shaw
1046Cody Y PoquetteGermany2026-08-13Feiner Bros QUALIFIED32Amy Elsner
1047Sinclair Q WieserAustralia2026-08-14Rangoni Of Florence NEGOTIATION49Stephen Shaw
1048Costa A ChuiArgentina2026-08-12Benton, John B Jr NEGOTIATION38Anna Fali
1049Adams Q RimArgentina2026-07-31Buckley Miller Wright RENEWAL85Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez C CaudyBrazilStephen Shaw PROPOSAL
Deepesh J NestleBrazilIoni Bowcher UNQUALIFIED
Isabel N WieserGermanyIvan Magalhaes UNQUALIFIED
Wickens L RulapaughCanadaAsiya Javayant NEGOTIATION
Smith G CaldareraSpainAmy Elsner NEGOTIATION
Clifford S AlbaresRussiaAsiya Javayant PROPOSAL
Antonio I StockhamGermanyBernardo Dominic UNQUALIFIED
Maisha N MarrierBrazilOnyama Limba PROPOSAL
Antonio P CaudyCanadaXuxue Feng RENEWAL
Julie J GauchoAustraliaStephen Shaw RENEWAL
Kaitlin M FollerUnited KingdomAnna Fali RENEWAL
Wickens T GillianAustraliaXuxue Feng RENEWAL
Arvin Y PaprockiFranceOnyama Limba NEGOTIATION
Tony D WieserRussiaStephen Shaw RENEWAL
Jones H DarakjyJapanIvan Magalhaes UNQUALIFIED
Misaki X BologniaBrazilAnna Fali RENEWAL
Ivar F RimJapanIoni Bowcher NEW
Juan L OldroydArgentinaOnyama Limba PROPOSAL
Faith N CaudyJapanAmy Elsner RENEWAL
Julie W MorascaBrazilElwin Sharvill PROPOSAL
Emily B GillianRussiaOnyama Limba RENEWAL
Cody H CampainArgentinaAsiya Javayant UNQUALIFIED
Faith S IturbideArgentinaIoni Bowcher RENEWAL
Johnson N OstroskyGermanyXuxue Feng UNQUALIFIED
Sinclair O MarrierBrazilElwin Sharvill QUALIFIED
Jeanfrancois D MarrierCanadaOnyama Limba RENEWAL
Nicolas Q InouyeJapanXuxue Feng RENEWAL
Ricardo R RoysterBrazilElwin Sharvill RENEWAL
Tony Q SchemmerFranceXuxue Feng RENEWAL
Jennifer J WhobreyAustraliaBernardo Dominic UNQUALIFIED
Aika T MaletAustraliaXuxue Feng NEGOTIATION
Mayumi U OstroskyIndiaAnna Fali NEGOTIATION
Emily N KolmetzSpainOnyama Limba PROPOSAL
Julie C WaycottArgentinaElwin Sharvill RENEWAL
Silvio Y ChuiIndiaElwin Sharvill PROPOSAL
Murillo D PerinFranceElwin Sharvill RENEWAL
Jones Y GillianBrazilXuxue Feng NEW
Johnson U DarakjyCanadaOnyama Limba QUALIFIED
Maisha U CaudySpainBernardo Dominic RENEWAL
Leon I MarrierGermanyOnyama Limba NEW
Silvio S BologniaAustraliaStephen Shaw NEGOTIATION
James B MacleadRussiaOnyama Limba PROPOSAL
Cody C BowleySpainIvan Magalhaes RENEWAL
Munro G BologniaAustraliaBernardo Dominic PROPOSAL
Ricardo U VenereIndiaStephen Shaw UNQUALIFIED
Ricardo Z FollerRussiaXuxue Feng PROPOSAL
Nicolas D RoysterCanadaElwin Sharvill NEW
Aika H MaletJapanAmy Elsner NEGOTIATION
Maisha H MaletGermanyElwin Sharvill UNQUALIFIED
Aruna T SchemmerArgentinaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Isabel G Garufi
Aditya X Caudy
Kaitlin P Ostrosky
Murillo T Chui
Julie M Flosi
Deepesh A Saylors
Aruna N Foller
Salvatore C Schemmer
Jefferson E Wieser
Kaitlin E Poquette
Aruna K Figeroa
Claire D Darakjy
Faith Q Wieser
Mayumi Z Saylors
Murillo V Gillian
Alejandro L Kolmetz
Greenwood V Butt
Morrow Z Morasca
Antonio K Iturbide
Jeanfrancois M Waycott
Juan F Stockham
Maisha X Ruta
Arvin Q Dilliard
Greenwood A Ruta
Leon A Wieser
Morrow L Flosi
Darci H Flosi
Misaki Y Albares
Maria S Malet
Francesco Q Nestle
Julie N Briddick
Greenwood E Bowley
Clifford Q Malet
Arvin U Kusko
Greenwood J Slusarski
Clifford A Kolmetz
Jones X Maclead
Silvio P Slusarski
Silvio J Kusko
Alejandro H Ruta
Juan P Nestle
Leon B Perin
Francesco B Ruta
Rodrigues X Stenseth
James X Malet
Aditya C Malet
Antonio F Marrier
Leon N Vocelka
Ivar E Nicka
Tony O Stenseth
IdCountryDate
1000Argentina2026-08-12
1001France2026-08-16
1002Argentina2026-08-09
1003Spain2026-08-11
1004United Kingdom2026-08-08
1005Japan2026-08-21
1006Russia2026-08-23
1007Japan2026-08-11
1008Canada2026-08-02
1009United Kingdom2026-08-04
1010United Kingdom2026-08-23
1011India2026-07-29
1012Australia2026-08-02
1013Japan2026-08-16
1014France2026-08-05
1015Russia2026-08-18
1016Japan2026-08-26
1017France2026-08-06
1018Japan2026-08-09
1019India2026-08-04
1020Brazil2026-08-23
1021Australia2026-08-20
1022United Kingdom2026-08-22
1023India2026-07-29
1024Argentina2026-07-28
1025Canada2026-08-22
1026Japan2026-08-13
1027Australia2026-08-01
1028Argentina2026-08-19
1029France2026-08-22
1030Russia2026-08-22
1031Spain2026-08-21
1032Argentina2026-07-30
1033Japan2026-07-31
1034Brazil2026-08-02
1035India2026-08-12
1036Italy2026-08-05
1037Spain2026-07-30
1038Argentina2026-07-28
1039Australia2026-07-28
1040France2026-08-02
1041Spain2026-08-20
1042Germany2026-08-24
1043Spain2026-08-18
1044Italy2026-08-22
1045Germany2026-08-19
1046Japan2026-08-24
1047France2026-08-17
1048Canada2026-08-16
1049Canada2026-08-12

On-Demand Data

NameIdCountryDate
Johnson O Rulapaugh1000Australia2026-08-26
Octavia S Wieser1001India2026-08-02
Ashley U Foller1002Italy2026-08-12
Costa G Garufi1003France2026-08-16
Maria E Tollner1004Japan2026-08-06
Darci C Slusarski1005France2026-08-19
Ivar U Rim1006Spain2026-08-22
Johnson J Malet1007Italy2026-07-30
Isabel C Vocelka1008India2026-08-06
Stacey G Gillian1009France2026-08-09
Maria P Rim1010Germany2026-08-13
Faith I Rulapaugh1011United Kingdom2026-08-20
David P Amigon1012Italy2026-07-28
Arvin V Schemmer1013Japan2026-08-14
Adams U Darakjy1014Russia2026-07-28
Isabel N Dilliard1015United Kingdom2026-08-25
Salvatore R Caldarera1016Canada2026-08-07
Jeanfrancois H Waycott1017Canada2026-08-16
Emily O Ruta1018Germany2026-08-24
Leon N Saylors1019France2026-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones A TollnerItalyAmy Elsner NEGOTIATION
Adams I VenereBrazilAnna Fali QUALIFIED
Sinclair S MaletRussiaStephen Shaw NEW
Smith P RoysterFranceBernardo Dominic PROPOSAL
Julie V FigeroaRussiaAsiya Javayant UNQUALIFIED
Adams W SergiArgentinaIvan Magalhaes NEW
Cody I BowleyArgentinaAnna Fali UNQUALIFIED
Ricardo D PaprockiRussiaAmy Elsner QUALIFIED
Cody O InouyeSpainAnna Fali PROPOSAL
Mayumi J BowleyUnited KingdomIvan Magalhaes PROPOSAL
Aditya Y GarufiGermanyAmy Elsner NEGOTIATION
Jones G KuskoCanadaAmy Elsner UNQUALIFIED
Wickens E SergiCanadaAnna Fali RENEWAL
Jones W CampainIndiaBernardo Dominic RENEWAL
Ivar F FollerGermanyAnna Fali RENEWAL
Aika P ButtSpainAnna Fali QUALIFIED
Kadeem W KolmetzGermanyStephen Shaw QUALIFIED
Silvio H NickaSpainXuxue Feng RENEWAL
Darci W NestleUnited KingdomBernardo Dominic RENEWAL
Wickens W OldroydSpainStephen Shaw NEGOTIATION
Clifford L FigeroaBrazilIvan Magalhaes NEGOTIATION
Greenwood A VenereItalyOnyama Limba NEGOTIATION
Misaki U GarufiBrazilElwin Sharvill RENEWAL
David E RoysterItalyStephen Shaw RENEWAL
Claire X SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Maria A IturbideCanadaIvan Magalhaes QUALIFIED
Ashley S FerenczSpainAnna Fali UNQUALIFIED
Jefferson Q DarakjySpainStephen Shaw NEW
Nicolas T PoquetteRussiaIoni Bowcher UNQUALIFIED
Ivar Z SchemmerFranceAmy Elsner NEW
Leon Q StensethItalyBernardo Dominic UNQUALIFIED
Julie L SlusarskiIndiaAmy Elsner RENEWAL
Johnson A PaprockiIndiaIvan Magalhaes PROPOSAL
Cody B SlusarskiBrazilOnyama Limba NEGOTIATION
Arvin K AlbaresJapanAnna Fali NEW
Antonio Y FerenczArgentinaAsiya Javayant PROPOSAL
Jeanfrancois X AlbaresRussiaIvan Magalhaes PROPOSAL
Emily K BowleySpainBernardo Dominic NEGOTIATION
Jeanfrancois H FollerBrazilXuxue Feng RENEWAL
Adams B PerinArgentinaStephen Shaw 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>