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
Murillo X FigeroaRussiaIvan Magalhaes NEW
Tony E SaylorsSpainOnyama Limba NEW
Salvatore P NestleAustraliaIvan Magalhaes PROPOSAL
Aruna W PerinJapanElwin Sharvill RENEWAL
Smith H MacleadJapanBernardo Dominic NEGOTIATION
Salvatore M TollnerArgentinaElwin Sharvill NEW
Wickens I InouyeArgentinaElwin Sharvill PROPOSAL
Johnson N NestleBrazilXuxue Feng UNQUALIFIED
Izzy M WieserBrazilStephen Shaw QUALIFIED
Jeanfrancois P DarakjySpainStephen Shaw PROPOSAL
Adams F NickaItalyAnna Fali UNQUALIFIED
Aditya S AlbaresBrazilIoni Bowcher QUALIFIED
Juan E MaletIndiaStephen Shaw QUALIFIED
Faith J RutaItalyStephen Shaw QUALIFIED
Mayumi K PaprockiJapanOnyama Limba NEW
Ashley S FigeroaRussiaAnna Fali PROPOSAL
Deepesh K AmigonJapanStephen Shaw PROPOSAL
Leon E KolmetzItalyOnyama Limba NEW
Murillo H TollnerSpainAsiya Javayant NEW
Darci T SlusarskiSpainAmy Elsner NEW
Smith D WaycottRussiaElwin Sharvill UNQUALIFIED
Kaitlin A SlusarskiGermanyElwin Sharvill NEGOTIATION
Jeanfrancois Y BowleyJapanBernardo Dominic RENEWAL
Ricardo M WhobreyArgentinaOnyama Limba NEGOTIATION
Rodrigues F WhobreyCanadaIvan Magalhaes UNQUALIFIED
Jefferson R NickaIndiaIoni Bowcher NEGOTIATION
Morrow A DoeJapanOnyama Limba RENEWAL
Costa J RulapaughFranceIvan Magalhaes NEGOTIATION
Juan Q ChuiGermanyXuxue Feng RENEWAL
Arvin Q RimUnited KingdomAsiya Javayant NEGOTIATION
Tony E BologniaFranceIoni Bowcher QUALIFIED
Jeanfrancois T BriddickFranceElwin Sharvill NEW
Kadeem T GauchoJapanOnyama Limba PROPOSAL
Salvatore T CaldareraFranceIvan Magalhaes UNQUALIFIED
James Q StockhamIndiaAmy Elsner UNQUALIFIED
Claire B GlickRussiaElwin Sharvill NEW
Stacey V VenereBrazilBernardo Dominic NEW
Costa U SaylorsJapanAnna Fali UNQUALIFIED
Isabel N CaldareraFranceXuxue Feng RENEWAL
Leja P InouyeRussiaIvan Magalhaes QUALIFIED
Octavia W ShinkoUnited KingdomStephen Shaw NEW
Misaki J RoysterIndiaAsiya Javayant NEW
Smith M GlickIndiaAnna Fali NEGOTIATION
Silvio Q StockhamBrazilAnna Fali PROPOSAL
Cody L BologniaUnited KingdomXuxue Feng PROPOSAL
Rodrigues V SlusarskiBrazilElwin Sharvill QUALIFIED
Morrow B GillianIndiaAnna Fali RENEWAL
Antonio I BologniaRussiaXuxue Feng RENEWAL
Nicolas G MaletRussiaBernardo Dominic UNQUALIFIED
Ricardo M DarakjyCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo V VenereRussiaAnna Fali UNQUALIFIED
Faith H SaylorsJapanOnyama Limba QUALIFIED
Kadeem M PerinJapanAsiya Javayant NEGOTIATION
Salvatore L DarakjyUnited KingdomStephen Shaw RENEWAL
Tony X BowleyRussiaOnyama Limba NEW
Maria J RutaItalyIvan Magalhaes UNQUALIFIED
Munro P RutaArgentinaXuxue Feng RENEWAL
Adams P KolmetzBrazilStephen Shaw RENEWAL
Antonio Z RimJapanIvan Magalhaes PROPOSAL
Jones R ButtCanadaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh B DoeCanada2024-05-26Chemel, James L Cpa PROPOSAL6Ioni Bowcher
1001Kadeem M ButtCanada2024-05-21Rangoni Of Florence NEGOTIATION9Asiya Javayant
1002Antonio N StockhamRussia2024-06-07Rangoni Of Florence NEW90Onyama Limba
1003Leon S InouyeGermany2024-05-25Chapman, Ross E Esq PROPOSAL4Anna Fali
1004Izzy A BowleyFrance2024-06-01Benton, John B Jr UNQUALIFIED41Asiya Javayant
1005Greenwood M FlosiSpain2024-06-05Feiner Bros RENEWAL58Amy Elsner
1006Costa O FigeroaIndia2024-06-15Feltz Printing Service NEGOTIATION44Anna Fali
1007Deepesh C FollerJapan2024-06-10Chemel, James L Cpa RENEWAL58Ivan Magalhaes
1008Mujtaba I KuskoJapan2024-05-27Chapman, Ross E Esq UNQUALIFIED10Ivan Magalhaes
1009Nicolas C IturbideRussia2024-05-22Rangoni Of Florence QUALIFIED33Bernardo Dominic
1010Leon W RutaRussia2024-06-07Feltz Printing Service QUALIFIED5Amy Elsner
1011Emily C SaylorsBrazil2024-06-07Chapman, Ross E Esq QUALIFIED48Stephen Shaw
1012Salvatore N ButtRussia2024-06-13Commercial Press RENEWAL9Onyama Limba
1013Maisha K NickaJapan2024-05-22Truhlar And Truhlar Attys QUALIFIED57Ioni Bowcher
1014Alejandro G StensethRussia2024-05-20Commercial Press QUALIFIED89Onyama Limba
1015Stacey I NestleArgentina2024-05-29Chapman, Ross E Esq RENEWAL32Ivan Magalhaes
1016Salvatore C WaycottArgentina2024-06-07Chanay, Jeffrey A Esq NEGOTIATION62Ioni Bowcher
1017Julie Y BowleyGermany2024-05-29Rangoni Of Florence QUALIFIED53Asiya Javayant
1018Munro C RimAustralia2024-06-15Benton, John B Jr RENEWAL73Ioni Bowcher
1019Julie Z MaletIndia2024-06-16Commercial Press UNQUALIFIED13Asiya Javayant
1020Deepesh U BriddickJapan2024-06-16Dorl, James J Esq NEGOTIATION98Onyama Limba
1021Alejandro V MaletBrazil2024-06-16King, Christopher A Esq NEW88Anna Fali
1022Francesco M MaletArgentina2024-06-03Chapman, Ross E Esq UNQUALIFIED6Xuxue Feng
1023Misaki X AmigonItaly2024-06-07Rousseaux, Michael Esq QUALIFIED76Elwin Sharvill
1024Munro D GarufiArgentina2024-05-26Dorl, James J Esq PROPOSAL29Asiya Javayant
1025Murillo I RoysterJapan2024-06-17Feiner Bros QUALIFIED34Bernardo Dominic
1026David X SchemmerAustralia2024-05-24Rousseaux, Michael Esq NEGOTIATION19Asiya Javayant
1027Jeanfrancois A FlosiItaly2024-05-21Rousseaux, Michael Esq NEW40Ivan Magalhaes
1028Claire S BriddickItaly2024-05-27Morlong Associates UNQUALIFIED47Anna Fali
1029Stacey O AlbaresFrance2024-06-01Morlong Associates RENEWAL96Onyama Limba
1030Costa W FlosiArgentina2024-06-18Printing Dimensions QUALIFIED80Ioni Bowcher
1031Claire A AmigonJapan2024-05-30Buckley Miller Wright PROPOSAL73Anna Fali
1032Faith P MaletFrance2024-06-09Chemel, James L Cpa UNQUALIFIED3Bernardo Dominic
1033Stacey G CaldareraUnited Kingdom2024-05-20Chapman, Ross E Esq NEGOTIATION6Amy Elsner
1034Tony F PaprockiArgentina2024-06-04Chapman, Ross E Esq PROPOSAL38Xuxue Feng
1035Kadeem A OldroydItaly2024-05-23Commercial Press NEGOTIATION46Stephen Shaw
1036Ricardo A PerinCanada2024-05-21Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1037Kaitlin V WieserArgentina2024-06-07Morlong Associates PROPOSAL14Stephen Shaw
1038Nicolas Y SaylorsCanada2024-06-07Rangoni Of Florence RENEWAL6Bernardo Dominic
1039David Y VenereIndia2024-06-16Rangoni Of Florence RENEWAL16Ioni Bowcher
1040Deepesh E WhobreySpain2024-05-24Chapman, Ross E Esq NEGOTIATION92Elwin Sharvill
1041Stacey E DarakjyGermany2024-06-17King, Christopher A Esq NEGOTIATION53Amy Elsner
1042Sinclair S BologniaAustralia2024-06-10Chapman, Ross E Esq NEGOTIATION70Amy Elsner
1043Sinclair N FerenczUnited Kingdom2024-06-07Chanay, Jeffrey A Esq QUALIFIED84Elwin Sharvill
1044Chavez Z InouyeSpain2024-06-11Commercial Press NEW40Asiya Javayant
1045Claire I MorascaRussia2024-06-14Buckley Miller Wright RENEWAL22Bernardo Dominic
1046Jefferson F MaletGermany2024-06-06Truhlar And Truhlar Attys NEW93Anna Fali
1047Antonio K IturbideIndia2024-06-03Chapman, Ross E Esq RENEWAL24Amy Elsner
1048Leon S FerenczBrazil2024-06-16Buckley Miller Wright NEW28Stephen Shaw
1049Deepesh Q BowleyArgentina2024-06-04King, Christopher A Esq PROPOSAL25Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily Y OldroydAustraliaXuxue Feng QUALIFIED
Murillo T FerenczFranceBernardo Dominic NEGOTIATION
Octavia R StockhamCanadaElwin Sharvill UNQUALIFIED
Munro K IturbideCanadaElwin Sharvill QUALIFIED
Jefferson T FigeroaUnited KingdomStephen Shaw QUALIFIED
Munro H NickaJapanAnna Fali RENEWAL
Octavia V SlusarskiItalyAmy Elsner NEW
Arvin B IturbideUnited KingdomElwin Sharvill QUALIFIED
Aika C BowleyUnited KingdomAmy Elsner UNQUALIFIED
Emily C ButtItalyBernardo Dominic NEW
Ricardo C RulapaughItalyIoni Bowcher PROPOSAL
Murillo X StensethCanadaElwin Sharvill NEW
Arvin Z AmigonSpainAnna Fali UNQUALIFIED
Greenwood I TollnerGermanyStephen Shaw UNQUALIFIED
Ivar X DilliardAustraliaIvan Magalhaes QUALIFIED
Wickens H WaycottFranceStephen Shaw RENEWAL
Aditya Y MacleadSpainStephen Shaw QUALIFIED
Julie Z FlosiFranceBernardo Dominic RENEWAL
Isabel O MorascaFranceOnyama Limba UNQUALIFIED
Jennifer O RulapaughArgentinaAmy Elsner RENEWAL
Ricardo Y DoeJapanXuxue Feng QUALIFIED
Ashley X WhobreyRussiaIvan Magalhaes RENEWAL
Rodrigues S TollnerFranceIoni Bowcher UNQUALIFIED
Chavez T DarakjyFranceStephen Shaw NEW
Wickens X SchemmerRussiaBernardo Dominic UNQUALIFIED
Misaki R ShinkoSpainStephen Shaw PROPOSAL
David T StensethItalyOnyama Limba QUALIFIED
Jeanfrancois P SaylorsCanadaOnyama Limba RENEWAL
Jeanfrancois C CampainGermanyBernardo Dominic PROPOSAL
Misaki X GarufiAustraliaXuxue Feng PROPOSAL
Stacey K MaletGermanyAsiya Javayant PROPOSAL
Faith Y WhobreyUnited KingdomAmy Elsner QUALIFIED
Jennifer C PerinItalyAnna Fali NEGOTIATION
Kaitlin G VenereBrazilXuxue Feng NEGOTIATION
Leon E CaldareraItalyIoni Bowcher NEGOTIATION
Jefferson C PaprockiAustraliaIvan Magalhaes RENEWAL
Ricardo R RimCanadaStephen Shaw RENEWAL
Mayumi B FerenczItalyAnna Fali NEGOTIATION
Murillo E StensethArgentinaAsiya Javayant PROPOSAL
Emily D MarrierAustraliaElwin Sharvill NEW
Ivar B MorascaBrazilAsiya Javayant PROPOSAL
Murillo G FigeroaRussiaXuxue Feng NEGOTIATION
Morrow F GillianGermanyAsiya Javayant UNQUALIFIED
Misaki Q MaletCanadaStephen Shaw PROPOSAL
Alejandro K MacleadAustraliaIvan Magalhaes NEGOTIATION
Greenwood P SlusarskiRussiaIvan Magalhaes RENEWAL
Munro A CaudyArgentinaIvan Magalhaes NEGOTIATION
Mayumi P VenereIndiaOnyama Limba UNQUALIFIED
Emily B MaletIndiaIvan Magalhaes UNQUALIFIED
Maisha Q SlusarskiJapanOnyama Limba RENEWAL
Frozen Columns
Name
Aditya C Kolmetz
Murillo D Shinko
Kadeem G Wieser
Isabel Z Flosi
Mayumi F Glick
Arvin N Gaucho
Tony Q Dilliard
Adams X Paprocki
Izzy Q Glick
Jones Y Glick
Ricardo E Morasca
Adams X Doe
Sinclair P Darakjy
Mujtaba A Waycott
Cody F Oldroyd
Clifford B Briddick
Munro V Albares
James N Marrier
Antonio N Vocelka
Leon N Malet
Aika I Dilliard
Aika E Ferencz
Ricardo D Ostrosky
David Y Briddick
Jennifer U Schemmer
Leja I Waycott
Munro U Tollner
Adams R Sergi
Kadeem K Briddick
Alejandro O Whobrey
Salvatore E Kusko
Murillo C Amigon
Nicolas C Poquette
Johnson W Bolognia
Clifford R Paprocki
Ashley M Ostrosky
Jones Z Dilliard
Francesco Y Oldroyd
Nicolas E Figeroa
Antonio K Gillian
Silvio D Maclead
James M Stenseth
Deepesh A Saylors
Claire L Vocelka
Arvin R Amigon
Silvio R Waycott
Leon L Nicka
Faith J Whobrey
Smith Z Perin
Salvatore H Maclead
IdCountryDate
1000Brazil2024-06-05
1001United Kingdom2024-06-01
1002Canada2024-06-12
1003Argentina2024-06-08
1004Italy2024-05-25
1005Canada2024-06-14
1006United Kingdom2024-05-27
1007India2024-05-28
1008Germany2024-06-06
1009Italy2024-06-08
1010Brazil2024-06-08
1011France2024-06-05
1012Germany2024-05-22
1013Italy2024-06-14
1014India2024-06-06
1015Canada2024-06-17
1016Argentina2024-06-18
1017Brazil2024-06-16
1018United Kingdom2024-05-29
1019France2024-05-30
1020Canada2024-06-05
1021Australia2024-06-06
1022France2024-05-25
1023Brazil2024-06-10
1024Australia2024-06-15
1025India2024-06-12
1026Russia2024-06-15
1027Australia2024-05-26
1028India2024-06-02
1029Russia2024-06-11
1030Japan2024-05-21
1031United Kingdom2024-05-26
1032Brazil2024-05-30
1033United Kingdom2024-05-21
1034India2024-06-14
1035Italy2024-06-02
1036Spain2024-06-11
1037Australia2024-05-25
1038United Kingdom2024-06-07
1039Germany2024-06-08
1040United Kingdom2024-05-30
1041India2024-06-16
1042India2024-06-11
1043Argentina2024-05-28
1044Australia2024-06-12
1045Italy2024-06-16
1046Japan2024-05-28
1047France2024-05-22
1048Russia2024-06-07
1049Germany2024-05-29

On-Demand Data

NameIdCountryDate
Tony H Campain1000Australia2024-06-09
Morrow P Stockham1001Japan2024-06-06
Jones L Vocelka1002Japan2024-06-01
Ashley N Kolmetz1003Germany2024-06-07
Octavia C Figeroa1004Canada2024-06-07
Octavia H Briddick1005Germany2024-06-01
Ivar G Ostrosky1006France2024-05-23
Deepesh Z Saylors1007Spain2024-06-16
Izzy Z Chui1008Canada2024-06-06
Faith Q Venere1009Spain2024-06-13
Antonio M Foller1010France2024-05-29
Mayumi K Foller1011Italy2024-06-10
Antonio U Maclead1012Australia2024-06-08
Jefferson Z Stockham1013India2024-06-06
Greenwood Q Kusko1014Germany2024-05-27
Costa T Briddick1015India2024-05-25
Clifford Y Bolognia1016Brazil2024-05-27
Jones Z Caudy1017United Kingdom2024-06-18
Wickens Q Malet1018India2024-06-08
Izzy G Doe1019Canada2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David T FigeroaUnited KingdomElwin Sharvill PROPOSAL
Arvin P GauchoArgentinaAnna Fali PROPOSAL
Leja I GlickAustraliaOnyama Limba NEW
Alejandro P BologniaIndiaAsiya Javayant PROPOSAL
Mujtaba M CampainArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois M MacleadSpainXuxue Feng RENEWAL
Aruna L PaprockiSpainXuxue Feng RENEWAL
Julie P SlusarskiCanadaIvan Magalhaes NEGOTIATION
Ricardo A MorascaFranceIvan Magalhaes PROPOSAL
Johnson F FerenczGermanyAnna Fali UNQUALIFIED
Mujtaba B PaprockiBrazilAmy Elsner NEW
Francesco O DarakjyCanadaIoni Bowcher QUALIFIED
Jeanfrancois F FerenczRussiaBernardo Dominic RENEWAL
Alejandro N SaylorsArgentinaIoni Bowcher RENEWAL
Deepesh B GlickJapanAsiya Javayant UNQUALIFIED
Alejandro K WaycottItalyBernardo Dominic QUALIFIED
Maria A CaldareraBrazilOnyama Limba NEGOTIATION
Leja H VenereGermanyAnna Fali UNQUALIFIED
Ricardo V SchemmerRussiaIvan Magalhaes UNQUALIFIED
Kadeem Q MorascaRussiaIvan Magalhaes QUALIFIED
Octavia I SergiBrazilIvan Magalhaes PROPOSAL
Mayumi H DarakjyRussiaIvan Magalhaes PROPOSAL
Aruna P TollnerArgentinaIoni Bowcher UNQUALIFIED
Antonio O VocelkaUnited KingdomIoni Bowcher RENEWAL
Ivar F DilliardRussiaOnyama Limba NEGOTIATION
Cody Z RimFranceAnna Fali RENEWAL
Tony E VocelkaJapanStephen Shaw PROPOSAL
Kaitlin Q GarufiUnited KingdomAnna Fali NEW
Silvio K GillianJapanStephen Shaw QUALIFIED
Aditya S IturbideAustraliaAnna Fali NEW
Aditya V NickaJapanAmy Elsner NEGOTIATION
Greenwood T FigeroaFranceStephen Shaw NEGOTIATION
Ivar K FigeroaSpainOnyama Limba NEGOTIATION
Juan O FigeroaSpainAsiya Javayant NEGOTIATION
David E AlbaresRussiaAmy Elsner RENEWAL
Adams X GillianArgentinaElwin Sharvill UNQUALIFIED
Faith F CaudyRussiaOnyama Limba NEGOTIATION
James Q PaprockiIndiaOnyama Limba NEGOTIATION
Kaitlin M PaprockiAustraliaAsiya Javayant QUALIFIED
Greenwood L CampainBrazilStephen Shaw 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>