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
Johnson P GillianRussiaElwin Sharvill NEGOTIATION
Kadeem S GarufiCanadaAnna Fali PROPOSAL
Nicolas U SchemmerSpainAsiya Javayant NEW
Clifford Z FigeroaItalyAsiya Javayant UNQUALIFIED
Adams Z GillianRussiaOnyama Limba NEGOTIATION
Mujtaba Z KolmetzFranceIoni Bowcher NEGOTIATION
Morrow X NickaSpainIvan Magalhaes NEW
Mayumi H GarufiArgentinaIoni Bowcher NEGOTIATION
Johnson V BriddickUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba X SlusarskiJapanIoni Bowcher NEW
Murillo Y KolmetzSpainAsiya Javayant PROPOSAL
Kaitlin J FlosiAustraliaIvan Magalhaes UNQUALIFIED
Juan Z OldroydJapanAnna Fali PROPOSAL
Ivar Y DarakjyItalyStephen Shaw RENEWAL
Kadeem K BriddickRussiaAsiya Javayant NEW
Juan X KolmetzArgentinaIvan Magalhaes NEGOTIATION
Jefferson H RimUnited KingdomOnyama Limba PROPOSAL
Maisha L FigeroaJapanOnyama Limba NEW
James W IturbideGermanyStephen Shaw RENEWAL
Jeanfrancois D PerinRussiaXuxue Feng NEW
Juan M ShinkoArgentinaAsiya Javayant PROPOSAL
Johnson R FollerJapanBernardo Dominic NEGOTIATION
Cody V SaylorsJapanAmy Elsner UNQUALIFIED
Isabel V GarufiGermanyIvan Magalhaes NEGOTIATION
Misaki Y RutaJapanAsiya Javayant NEGOTIATION
Francesco S SaylorsAustraliaElwin Sharvill QUALIFIED
Claire Z RimJapanBernardo Dominic RENEWAL
David E BologniaGermanyXuxue Feng UNQUALIFIED
Arvin J StockhamBrazilBernardo Dominic RENEWAL
Wickens D SchemmerIndiaElwin Sharvill NEW
Juan E MacleadUnited KingdomStephen Shaw QUALIFIED
Adams O MaletSpainOnyama Limba UNQUALIFIED
Silvio R MorascaJapanOnyama Limba RENEWAL
Aditya U VocelkaFranceAmy Elsner UNQUALIFIED
Munro K GauchoCanadaAnna Fali UNQUALIFIED
Mayumi P BriddickRussiaOnyama Limba RENEWAL
Alejandro A RimCanadaIvan Magalhaes NEW
Greenwood I KuskoAustraliaXuxue Feng NEGOTIATION
Smith L RimRussiaIvan Magalhaes NEGOTIATION
Rodrigues L StensethArgentinaStephen Shaw PROPOSAL
Sinclair J WaycottBrazilIvan Magalhaes NEGOTIATION
Mujtaba W WieserUnited KingdomIoni Bowcher RENEWAL
Juan D BriddickCanadaStephen Shaw QUALIFIED
Rodrigues G KuskoJapanAnna Fali QUALIFIED
Murillo R VenereAustraliaElwin Sharvill QUALIFIED
Munro I GlickCanadaAsiya Javayant QUALIFIED
Tony A VocelkaArgentinaAnna Fali QUALIFIED
David Z NickaSpainIoni Bowcher QUALIFIED
Kaitlin U MorascaIndiaElwin Sharvill NEGOTIATION
Morrow B NickaRussiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi Y PoquetteCanadaElwin Sharvill PROPOSAL
Morrow C NestleItalyAnna Fali QUALIFIED
Maisha E RutaGermanyAsiya Javayant PROPOSAL
David E GarufiFranceIvan Magalhaes NEGOTIATION
Mayumi Q NestleRussiaXuxue Feng PROPOSAL
Clifford I StensethFranceStephen Shaw RENEWAL
Ashley W PaprockiJapanIvan Magalhaes NEW
Murillo Q AlbaresIndiaAsiya Javayant PROPOSAL
Deepesh Y DoeJapanStephen Shaw PROPOSAL
Ricardo T InouyeUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas H FollerIndia2025-04-19Morlong Associates NEGOTIATION68Stephen Shaw
1001Greenwood M GauchoUnited Kingdom2025-04-24Chapman, Ross E Esq RENEWAL57Asiya Javayant
1002Emily S CaudyGermany2025-04-01Chanay, Jeffrey A Esq NEGOTIATION43Anna Fali
1003Tony K VocelkaUnited Kingdom2025-04-20Chapman, Ross E Esq PROPOSAL33Amy Elsner
1004Adams E OstroskyRussia2025-04-10Morlong Associates UNQUALIFIED36Ivan Magalhaes
1005Aditya D RulapaughFrance2025-04-15Printing Dimensions UNQUALIFIED13Onyama Limba
1006Darci G IturbideCanada2025-04-14Benton, John B Jr RENEWAL74Bernardo Dominic
1007Leon K DilliardAustralia2025-04-21Dorl, James J Esq RENEWAL20Anna Fali
1008Misaki B BriddickSpain2025-04-28Chapman, Ross E Esq NEW98Amy Elsner
1009Ivar B CaldareraFrance2025-04-29Printing Dimensions QUALIFIED70Amy Elsner
1010Mujtaba X OstroskyJapan2025-04-14Morlong Associates QUALIFIED52Onyama Limba
1011Adams V GlickItaly2025-04-25Chanay, Jeffrey A Esq NEW71Stephen Shaw
1012Costa P GillianGermany2025-04-17Feiner Bros PROPOSAL94Anna Fali
1013Leon S FlosiAustralia2025-04-20Morlong Associates QUALIFIED65Amy Elsner
1014Leja A CaldareraBrazil2025-04-28Benton, John B Jr NEW70Bernardo Dominic
1015Mujtaba K VocelkaItaly2025-04-27Morlong Associates NEW27Anna Fali
1016Rodrigues C WieserUnited Kingdom2025-04-26Morlong Associates NEGOTIATION26Xuxue Feng
1017Johnson U RimItaly2025-04-08King, Christopher A Esq UNQUALIFIED62Asiya Javayant
1018Jones G RimIndia2025-04-22Feltz Printing Service QUALIFIED35Amy Elsner
1019Sinclair D BriddickRussia2025-04-15Chapman, Ross E Esq UNQUALIFIED64Ioni Bowcher
1020David D FigeroaArgentina2025-04-19Morlong Associates NEW86Asiya Javayant
1021Julie U FerenczUnited Kingdom2025-04-07Dorl, James J Esq NEW35Elwin Sharvill
1022Leon G RimFrance2025-04-14Truhlar And Truhlar Attys NEW73Elwin Sharvill
1023Ivar P SergiJapan2025-03-31Commercial Press QUALIFIED98Asiya Javayant
1024Maria R MorascaIndia2025-04-28Commercial Press NEW60Onyama Limba
1025Ashley J BowleyCanada2025-03-31Chemel, James L Cpa RENEWAL17Ivan Magalhaes
1026Salvatore R ShinkoJapan2025-04-10Feltz Printing Service NEW71Xuxue Feng
1027Silvio Y MorascaItaly2025-04-25Printing Dimensions NEGOTIATION51Amy Elsner
1028Isabel Z MaletSpain2025-03-31Feiner Bros NEGOTIATION79Ioni Bowcher
1029Julie I RoysterIndia2025-04-28Dorl, James J Esq PROPOSAL28Ivan Magalhaes
1030Izzy A CaudyItaly2025-04-05Feltz Printing Service PROPOSAL63Xuxue Feng
1031Aika I OldroydCanada2025-04-24Chanay, Jeffrey A Esq QUALIFIED58Asiya Javayant
1032Isabel A MarrierItaly2025-04-08Buckley Miller Wright NEGOTIATION84Ivan Magalhaes
1033Jeanfrancois W StockhamSpain2025-04-17Rousseaux, Michael Esq UNQUALIFIED22Stephen Shaw
1034Sinclair P CaudyBrazil2025-04-21Rousseaux, Michael Esq RENEWAL61Xuxue Feng
1035Chavez A InouyeIndia2025-04-11Feiner Bros PROPOSAL28Asiya Javayant
1036Jones C RoysterFrance2025-04-26King, Christopher A Esq NEGOTIATION88Elwin Sharvill
1037Leon J WhobreyJapan2025-04-28Dorl, James J Esq NEW90Stephen Shaw
1038Antonio O GillianRussia2025-04-24Commercial Press PROPOSAL69Xuxue Feng
1039Adams B ChuiBrazil2025-03-31Chemel, James L Cpa UNQUALIFIED73Stephen Shaw
1040Alejandro G ButtGermany2025-04-24Truhlar And Truhlar Attys QUALIFIED12Anna Fali
1041Claire U SaylorsFrance2025-04-08Dorl, James J Esq PROPOSAL63Bernardo Dominic
1042Rodrigues L BowleyFrance2025-04-02Morlong Associates NEW39Amy Elsner
1043Johnson U RimGermany2025-04-24Dorl, James J Esq NEGOTIATION9Onyama Limba
1044Clifford I CaudyIndia2025-04-22Commercial Press PROPOSAL74Asiya Javayant
1045Leon M DarakjyUnited Kingdom2025-04-25Chapman, Ross E Esq PROPOSAL91Asiya Javayant
1046Stacey A WieserFrance2025-04-09Morlong Associates PROPOSAL94Ivan Magalhaes
1047Sinclair Y FlosiJapan2025-04-01Buckley Miller Wright NEW87Stephen Shaw
1048Leon Y ButtItaly2025-04-24Commercial Press PROPOSAL32Ioni Bowcher
1049Juan E BologniaIndia2025-04-07Chemel, James L Cpa RENEWAL81Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Murillo Y BowleyCanadaIoni Bowcher UNQUALIFIED
Arvin Z MacleadRussiaAsiya Javayant QUALIFIED
Morrow R BologniaItalyAsiya Javayant NEW
Aruna Y OstroskyCanadaElwin Sharvill QUALIFIED
Mayumi R AlbaresBrazilIoni Bowcher NEW
Deepesh O CampainCanadaAsiya Javayant RENEWAL
Smith P VocelkaIndiaXuxue Feng RENEWAL
Kaitlin N BriddickAustraliaElwin Sharvill RENEWAL
Isabel Y VocelkaArgentinaBernardo Dominic PROPOSAL
James B DoeGermanyOnyama Limba RENEWAL
Antonio Y MarrierGermanyAmy Elsner UNQUALIFIED
Misaki A DoeJapanIvan Magalhaes QUALIFIED
Aruna M SergiIndiaAsiya Javayant RENEWAL
Aruna K BriddickJapanAmy Elsner RENEWAL
Adams R DoeAustraliaElwin Sharvill QUALIFIED
Adams H MaletGermanyXuxue Feng QUALIFIED
Maria Y BriddickGermanyOnyama Limba NEW
Ivar W SaylorsAustraliaElwin Sharvill NEW
Juan A DoeGermanyStephen Shaw UNQUALIFIED
Kaitlin Z CaudyRussiaAnna Fali UNQUALIFIED
Jeanfrancois A VocelkaSpainIoni Bowcher QUALIFIED
Izzy V FigeroaJapanBernardo Dominic QUALIFIED
Clifford R CaudyUnited KingdomAsiya Javayant RENEWAL
Salvatore G DoeUnited KingdomAsiya Javayant QUALIFIED
Arvin J IturbideItalyAmy Elsner RENEWAL
Isabel R FollerAustraliaIoni Bowcher PROPOSAL
Octavia U BriddickRussiaXuxue Feng UNQUALIFIED
Maisha L KuskoGermanyBernardo Dominic QUALIFIED
Greenwood C WaycottUnited KingdomOnyama Limba UNQUALIFIED
Clifford I WhobreyRussiaAsiya Javayant QUALIFIED
Stacey C FollerBrazilAnna Fali NEGOTIATION
Jeanfrancois T MorascaUnited KingdomIvan Magalhaes RENEWAL
Ivar I BriddickArgentinaStephen Shaw PROPOSAL
Nicolas L NickaCanadaAnna Fali PROPOSAL
Darci D MarrierJapanIvan Magalhaes RENEWAL
Maria F SlusarskiBrazilIoni Bowcher PROPOSAL
Johnson D TollnerCanadaElwin Sharvill NEW
Octavia J AlbaresRussiaAsiya Javayant NEW
Kadeem P BowleyBrazilOnyama Limba NEW
Greenwood P CaldareraGermanyAnna Fali NEGOTIATION
Ricardo D StockhamArgentinaXuxue Feng UNQUALIFIED
Johnson L RoysterSpainAnna Fali PROPOSAL
Rodrigues O VenereCanadaXuxue Feng PROPOSAL
Ricardo O FlosiGermanyAsiya Javayant QUALIFIED
Silvio T GauchoRussiaAnna Fali QUALIFIED
Juan T MorascaGermanyAnna Fali NEW
Darci T TollnerRussiaAmy Elsner NEW
Jennifer I SergiUnited KingdomAsiya Javayant UNQUALIFIED
Julie A KuskoAustraliaBernardo Dominic NEW
Mayumi Y PoquetteUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Costa U Kusko
Ivar O Rim
Misaki X Wieser
Jennifer Z Tollner
Alejandro K Shinko
Tony P Vocelka
Emily R Bolognia
Smith S Wieser
Ivar O Briddick
Kaitlin R Maclead
Darci O Shinko
James G Venere
Aditya U Garufi
Johnson E Butt
Claire T Venere
Sinclair X Schemmer
Alejandro N Tollner
Nicolas V Oldroyd
Leon C Gaucho
Rodrigues F Royster
Murillo L Briddick
Faith B Poquette
Leon Z Caudy
Smith N Schemmer
Clifford C Briddick
Maisha L Rulapaugh
Faith X Stenseth
Stacey S Nicka
Jeanfrancois L Marrier
Aika S Dilliard
Mujtaba N Rulapaugh
Adams Q Rim
Rodrigues R Ostrosky
Johnson V Ruta
Tony E Royster
Mujtaba G Paprocki
Chavez G Whobrey
Leon C Gillian
Adams F Caldarera
Chavez M Morasca
Chavez H Foller
Isabel P Malet
Maria P Royster
Mujtaba X Maclead
Murillo N Ferencz
Adams Q Flosi
Aika C Venere
Aditya B Ferencz
Stacey K Malet
David S Inouye
IdCountryDate
1000Russia2025-04-21
1001Brazil2025-04-27
1002Australia2025-04-26
1003Argentina2025-04-07
1004France2025-04-12
1005Russia2025-04-24
1006Spain2025-04-08
1007Argentina2025-04-24
1008Germany2025-04-25
1009Australia2025-04-29
1010France2025-04-01
1011United Kingdom2025-04-22
1012Japan2025-04-11
1013Russia2025-04-02
1014India2025-04-03
1015Japan2025-04-22
1016Japan2025-04-26
1017Italy2025-04-20
1018Italy2025-04-29
1019Japan2025-04-24
1020Italy2025-04-22
1021Spain2025-04-16
1022Argentina2025-04-18
1023Australia2025-04-27
1024Germany2025-04-02
1025Spain2025-04-18
1026Spain2025-04-05
1027Argentina2025-04-29
1028Spain2025-04-14
1029Russia2025-04-23
1030Japan2025-04-27
1031India2025-04-03
1032Italy2025-04-13
1033Italy2025-03-31
1034India2025-04-05
1035United Kingdom2025-04-13
1036Japan2025-04-03
1037Argentina2025-04-19
1038Canada2025-04-17
1039Australia2025-04-29
1040United Kingdom2025-04-05
1041United Kingdom2025-04-04
1042United Kingdom2025-04-16
1043France2025-04-13
1044Argentina2025-04-24
1045India2025-04-18
1046Argentina2025-04-21
1047Italy2025-04-20
1048Russia2025-03-31
1049Argentina2025-04-07

On-Demand Data

NameIdCountryDate
Smith U Waycott1000Australia2025-04-23
Francesco H Gillian1001India2025-04-07
Maisha X Whobrey1002United Kingdom2025-04-26
Maisha V Gillian1003Australia2025-04-24
Munro R Wieser1004France2025-04-03
Tony M Doe1005Brazil2025-04-29
Darci C Garufi1006Spain2025-04-07
Julie T Perin1007Canada2025-04-07
Julie Z Stenseth1008Argentina2025-04-08
Octavia G Marrier1009Japan2025-03-31
Darci C Darakjy1010Canada2025-04-22
Munro N Butt1011Australia2025-04-07
Antonio V Bolognia1012Italy2025-04-05
Claire R Flosi1013Canada2025-04-17
Cody U Slusarski1014Argentina2025-04-23
Smith W Ferencz1015Canada2025-04-28
Tony R Rulapaugh1016Australia2025-04-09
Ashley D Rulapaugh1017Canada2025-04-24
Jeanfrancois Q Paprocki1018Australia2025-04-26
Silvio T Darakjy1019Japan2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja N FerenczAustraliaStephen Shaw NEGOTIATION
Ivar T FlosiGermanyStephen Shaw NEGOTIATION
Aditya Q KuskoArgentinaIvan Magalhaes QUALIFIED
Kaitlin A SlusarskiAustraliaAmy Elsner NEW
Octavia Q MaletFranceStephen Shaw NEGOTIATION
Greenwood N VenereIndiaStephen Shaw RENEWAL
Jefferson J MaletIndiaAmy Elsner QUALIFIED
James W ChuiJapanElwin Sharvill QUALIFIED
Arvin C FigeroaIndiaAmy Elsner NEW
Arvin O RulapaughArgentinaAsiya Javayant QUALIFIED
Octavia B FigeroaSpainBernardo Dominic NEW
Morrow M BriddickJapanIoni Bowcher QUALIFIED
Jones A FlosiSpainAmy Elsner UNQUALIFIED
David Y MorascaFranceXuxue Feng QUALIFIED
Wickens J FerenczItalyBernardo Dominic QUALIFIED
Francesco L GauchoBrazilElwin Sharvill QUALIFIED
Antonio H OstroskyArgentinaAnna Fali PROPOSAL
Mujtaba K ChuiCanadaIvan Magalhaes QUALIFIED
Darci L SlusarskiBrazilOnyama Limba RENEWAL
Costa W OstroskySpainIoni Bowcher NEGOTIATION
Aruna Y MaletCanadaAsiya Javayant RENEWAL
Aika K FigeroaSpainIoni Bowcher NEW
Chavez O OstroskyBrazilElwin Sharvill QUALIFIED
Ashley Z RulapaughRussiaAmy Elsner NEW
Faith A PerinArgentinaBernardo Dominic QUALIFIED
James H BriddickIndiaAmy Elsner UNQUALIFIED
Greenwood O StockhamUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois K CaldareraUnited KingdomStephen Shaw RENEWAL
Costa O AmigonBrazilIvan Magalhaes QUALIFIED
Juan H SergiGermanyElwin Sharvill NEGOTIATION
Munro A CaldareraJapanIvan Magalhaes NEW
Octavia P GauchoJapanOnyama Limba QUALIFIED
Claire E InouyeArgentinaIoni Bowcher PROPOSAL
Murillo U MorascaIndiaAsiya Javayant UNQUALIFIED
Arvin J WaycottIndiaStephen Shaw UNQUALIFIED
Juan M RutaGermanyIvan Magalhaes UNQUALIFIED
Darci I RoysterGermanyOnyama Limba RENEWAL
Chavez U RimSpainIvan Magalhaes NEW
Arvin B MacleadJapanElwin Sharvill NEGOTIATION
Aika V MorascaGermanyBernardo Dominic NEGOTIATION

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