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
Jeanfrancois V CampainJapanElwin Sharvill NEW
Smith E GlickGermanyIvan Magalhaes PROPOSAL
Ricardo T GarufiItalyBernardo Dominic NEW
Leja C GillianSpainAnna Fali NEGOTIATION
Rodrigues B StockhamUnited KingdomAmy Elsner PROPOSAL
Misaki L NickaAustraliaStephen Shaw NEW
James U MorascaGermanyAsiya Javayant QUALIFIED
Stacey G SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Ricardo D NickaItalyStephen Shaw NEW
Silvio U AlbaresFranceIvan Magalhaes UNQUALIFIED
Mayumi E BologniaJapanXuxue Feng NEW
Ivar U GillianAustraliaStephen Shaw RENEWAL
Wickens N AlbaresFranceElwin Sharvill RENEWAL
Julie H FlosiBrazilXuxue Feng UNQUALIFIED
Rodrigues P BowleyItalyOnyama Limba RENEWAL
Maisha I MarrierIndiaOnyama Limba QUALIFIED
Sinclair X RutaIndiaXuxue Feng NEGOTIATION
Kaitlin V VocelkaCanadaElwin Sharvill UNQUALIFIED
Isabel K MorascaArgentinaBernardo Dominic NEGOTIATION
Ricardo H RimGermanyIoni Bowcher QUALIFIED
Ashley K GillianUnited KingdomAmy Elsner QUALIFIED
Ricardo E SergiIndiaBernardo Dominic NEW
Greenwood X RutaGermanyOnyama Limba NEGOTIATION
Clifford H PoquetteRussiaXuxue Feng QUALIFIED
Aditya Q RoysterAustraliaStephen Shaw QUALIFIED
Aditya U FerenczArgentinaAnna Fali RENEWAL
Clifford C ChuiSpainStephen Shaw NEGOTIATION
Morrow T FerenczArgentinaAsiya Javayant PROPOSAL
Salvatore H StensethItalyIoni Bowcher NEW
Juan E OstroskyGermanyIoni Bowcher RENEWAL
Jennifer I CampainArgentinaAnna Fali QUALIFIED
Antonio R SchemmerUnited KingdomOnyama Limba NEGOTIATION
Emily F CampainCanadaAmy Elsner NEW
Adams W FlosiFranceAsiya Javayant UNQUALIFIED
Arvin A FerenczFranceXuxue Feng UNQUALIFIED
Ivar I NickaBrazilOnyama Limba UNQUALIFIED
Arvin Q ButtItalyAnna Fali NEGOTIATION
Smith K AmigonItalyIoni Bowcher QUALIFIED
Mujtaba K IturbideBrazilStephen Shaw QUALIFIED
Claire D NickaBrazilXuxue Feng QUALIFIED
Munro P AmigonFranceAmy Elsner PROPOSAL
Emily W RulapaughSpainXuxue Feng RENEWAL
Maria A MarrierCanadaElwin Sharvill PROPOSAL
Alejandro Z MaletJapanOnyama Limba NEGOTIATION
Munro E InouyeAustraliaBernardo Dominic QUALIFIED
Octavia R StockhamArgentinaIoni Bowcher NEGOTIATION
Antonio V GlickCanadaAmy Elsner PROPOSAL
Octavia N WieserAustraliaAmy Elsner UNQUALIFIED
Aika X FlosiFranceBernardo Dominic NEGOTIATION
James U WhobreyCanadaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Antonio X CaudyIndiaOnyama Limba QUALIFIED
Kadeem N CampainBrazilAnna Fali PROPOSAL
Chavez V VocelkaIndiaXuxue Feng NEGOTIATION
Salvatore C MaletArgentinaElwin Sharvill UNQUALIFIED
Wickens J StockhamAustraliaAnna Fali NEW
Kaitlin Z AlbaresAustraliaAsiya Javayant NEW
Misaki H DoeArgentinaBernardo Dominic UNQUALIFIED
Jones R CaldareraBrazilAmy Elsner NEW
Wickens N FollerCanadaStephen Shaw UNQUALIFIED
Isabel L FlosiIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia M BowleyUnited Kingdom2025-04-14Rangoni Of Florence NEW72Elwin Sharvill
1001Aika Y VocelkaUnited Kingdom2025-04-08Truhlar And Truhlar Attys QUALIFIED16Asiya Javayant
1002Greenwood P PaprockiGermany2025-04-22Feiner Bros RENEWAL88Amy Elsner
1003Francesco F SaylorsIndia2025-04-05Morlong Associates NEW44Elwin Sharvill
1004Alejandro J SchemmerUnited Kingdom2025-04-14Rousseaux, Michael Esq QUALIFIED53Ioni Bowcher
1005Silvio D SlusarskiBrazil2025-04-01Truhlar And Truhlar Attys PROPOSAL36Amy Elsner
1006Aditya Z OstroskyArgentina2025-04-22Printing Dimensions RENEWAL19Asiya Javayant
1007Wickens J NestleAustralia2025-03-31Morlong Associates NEW73Asiya Javayant
1008Clifford E FollerUnited Kingdom2025-04-15King, Christopher A Esq UNQUALIFIED49Asiya Javayant
1009Greenwood D CampainGermany2025-04-04Buckley Miller Wright NEGOTIATION55Amy Elsner
1010Munro I BriddickFrance2025-04-26King, Christopher A Esq NEGOTIATION60Bernardo Dominic
1011Arvin A RoysterRussia2025-04-04Buckley Miller Wright RENEWAL34Stephen Shaw
1012Greenwood P OstroskyBrazil2025-04-17Truhlar And Truhlar Attys QUALIFIED12Anna Fali
1013Smith C FigeroaBrazil2025-04-18Feiner Bros PROPOSAL15Amy Elsner
1014Ivar G KuskoRussia2025-04-13Feltz Printing Service NEGOTIATION55Bernardo Dominic
1015Mujtaba Z MaletBrazil2025-04-01Dorl, James J Esq PROPOSAL76Ioni Bowcher
1016Ashley Q TollnerSpain2025-04-23Feiner Bros NEGOTIATION17Bernardo Dominic
1017Munro D BriddickGermany2025-04-10Commercial Press RENEWAL66Elwin Sharvill
1018Jeanfrancois L OldroydAustralia2025-04-11Benton, John B Jr NEGOTIATION87Bernardo Dominic
1019Nicolas R KuskoArgentina2025-04-12Benton, John B Jr UNQUALIFIED43Ivan Magalhaes
1020Izzy M PaprockiRussia2025-04-07Benton, John B Jr QUALIFIED56Stephen Shaw
1021Aika C GauchoAustralia2025-04-01Morlong Associates NEW62Stephen Shaw
1022David P KolmetzIndia2025-04-16Rangoni Of Florence PROPOSAL83Ivan Magalhaes
1023Murillo H SergiJapan2025-04-01Truhlar And Truhlar Attys PROPOSAL43Bernardo Dominic
1024Nicolas G VocelkaGermany2025-04-18Feltz Printing Service RENEWAL76Bernardo Dominic
1025Munro O FigeroaCanada2025-04-10Dorl, James J Esq NEGOTIATION41Onyama Limba
1026Arvin F RutaSpain2025-04-24Feltz Printing Service NEGOTIATION98Ivan Magalhaes
1027Kadeem Z FerenczFrance2025-03-31Truhlar And Truhlar Attys NEW68Amy Elsner
1028Nicolas X WaycottItaly2025-04-03King, Christopher A Esq UNQUALIFIED77Onyama Limba
1029Cody Q SaylorsArgentina2025-04-16King, Christopher A Esq NEGOTIATION82Onyama Limba
1030Kaitlin E RulapaughJapan2025-04-19Buckley Miller Wright PROPOSAL55Elwin Sharvill
1031Octavia B BriddickItaly2025-04-09Dorl, James J Esq RENEWAL87Bernardo Dominic
1032Tony G FollerIndia2025-04-04Commercial Press UNQUALIFIED92Stephen Shaw
1033Leja C ButtJapan2025-04-01Dorl, James J Esq QUALIFIED63Elwin Sharvill
1034Leja W NestleJapan2025-04-20Rangoni Of Florence QUALIFIED27Stephen Shaw
1035Morrow M GauchoSpain2025-04-23Benton, John B Jr QUALIFIED88Anna Fali
1036Leon C WieserJapan2025-03-31Chemel, James L Cpa PROPOSAL23Asiya Javayant
1037Chavez S DarakjyIndia2025-04-16Chapman, Ross E Esq PROPOSAL28Elwin Sharvill
1038Leon J FlosiCanada2025-04-05Feiner Bros UNQUALIFIED46Ivan Magalhaes
1039Murillo P AmigonItaly2025-04-28Rousseaux, Michael Esq NEW77Onyama Limba
1040Silvio D CaldareraRussia2025-04-04Printing Dimensions UNQUALIFIED13Bernardo Dominic
1041Francesco G WhobreyCanada2025-04-04Rousseaux, Michael Esq PROPOSAL99Ioni Bowcher
1042James K DilliardBrazil2025-04-05Rousseaux, Michael Esq RENEWAL41Anna Fali
1043Munro S SergiCanada2025-04-02Feiner Bros NEW93Amy Elsner
1044Deepesh G ChuiJapan2025-04-15Rangoni Of Florence UNQUALIFIED62Amy Elsner
1045Jeanfrancois F WhobreyIndia2025-04-22Feltz Printing Service UNQUALIFIED67Amy Elsner
1046Ashley X DilliardJapan2025-04-23Morlong Associates PROPOSAL1Ivan Magalhaes
1047Maisha X DoeIndia2025-04-19Benton, John B Jr PROPOSAL38Stephen Shaw
1048Isabel Q KolmetzBrazil2025-04-05Buckley Miller Wright NEW89Amy Elsner
1049Darci J RutaAustralia2025-04-18Chapman, Ross E Esq PROPOSAL74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jones D RimJapanStephen Shaw NEGOTIATION
Maisha K KuskoIndiaAsiya Javayant NEGOTIATION
Jeanfrancois C WieserFranceBernardo Dominic RENEWAL
Kaitlin P WaycottRussiaAsiya Javayant QUALIFIED
Stacey P RimArgentinaBernardo Dominic UNQUALIFIED
Emily V GlickAustraliaXuxue Feng NEW
Arvin C ShinkoGermanyIvan Magalhaes PROPOSAL
Claire Y SaylorsFranceIvan Magalhaes PROPOSAL
David V SaylorsJapanBernardo Dominic UNQUALIFIED
Clifford K StockhamCanadaIoni Bowcher RENEWAL
Izzy R AlbaresItalyStephen Shaw NEW
Julie Y RimJapanElwin Sharvill NEW
Faith S StockhamBrazilOnyama Limba PROPOSAL
Morrow N NickaAustraliaIvan Magalhaes NEW
Maisha A BriddickFranceBernardo Dominic PROPOSAL
Ashley M KuskoArgentinaElwin Sharvill PROPOSAL
Darci F BologniaSpainAmy Elsner UNQUALIFIED
Mayumi M RulapaughBrazilElwin Sharvill PROPOSAL
Darci D ShinkoCanadaIoni Bowcher QUALIFIED
Juan Y PoquetteIndiaIoni Bowcher RENEWAL
Jefferson C TollnerGermanyAsiya Javayant NEW
Sinclair V SchemmerItalyAmy Elsner NEW
Deepesh L RoysterAustraliaStephen Shaw QUALIFIED
Greenwood O TollnerJapanAsiya Javayant NEGOTIATION
Cody O KuskoRussiaIoni Bowcher QUALIFIED
Julie U SaylorsAustraliaOnyama Limba RENEWAL
David I ShinkoIndiaOnyama Limba PROPOSAL
Leja S WaycottCanadaIoni Bowcher UNQUALIFIED
Antonio F KolmetzRussiaAnna Fali NEGOTIATION
Deepesh F FollerItalyElwin Sharvill PROPOSAL
Darci X WaycottSpainXuxue Feng UNQUALIFIED
Jennifer W CaudyBrazilIoni Bowcher PROPOSAL
Francesco S KuskoJapanIoni Bowcher NEGOTIATION
Rodrigues G VocelkaFranceAnna Fali QUALIFIED
Isabel M StensethIndiaAnna Fali NEGOTIATION
Octavia Q DilliardArgentinaAsiya Javayant RENEWAL
Jones F PerinUnited KingdomElwin Sharvill QUALIFIED
Munro T PerinGermanyBernardo Dominic RENEWAL
Smith T DarakjyAustraliaXuxue Feng NEGOTIATION
Ivar Z DoeSpainAsiya Javayant UNQUALIFIED
Ricardo P ChuiGermanyAsiya Javayant PROPOSAL
Rodrigues A MarrierFranceIvan Magalhaes PROPOSAL
Isabel J MaletItalyOnyama Limba PROPOSAL
Ivar B StockhamArgentinaAmy Elsner NEW
Mujtaba O BowleyIndiaXuxue Feng NEW
Mujtaba S ChuiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues K SchemmerUnited KingdomIoni Bowcher QUALIFIED
Cody H DoeArgentinaXuxue Feng NEGOTIATION
James H GlickGermanyAsiya Javayant UNQUALIFIED
Antonio N SlusarskiItalyElwin Sharvill NEW
Frozen Columns
Name
Aditya E Whobrey
Octavia V Ruta
Darci E Flosi
Octavia Q Rulapaugh
Aditya K Caldarera
Rodrigues U Campain
Maria F Schemmer
Wickens Q Paprocki
Munro Z Rim
Chavez O Ostrosky
Leja O Gaucho
Jeanfrancois Y Morasca
Wickens L Royster
Misaki J Stenseth
Deepesh F Rulapaugh
Maria F Vocelka
Jefferson O Briddick
Aruna X Malet
Jennifer I Glick
Julie H Amigon
Kaitlin Q Briddick
Leon E Stenseth
Leon O Marrier
Izzy J Tollner
Leja C Gaucho
Morrow O Whobrey
Ashley L Slusarski
Alejandro J Chui
Octavia M Malet
Claire U Chui
Claire F Malet
Deepesh T Whobrey
Aditya F Iturbide
Chavez A Doe
Clifford S Bowley
Maisha G Malet
Antonio T Vocelka
Silvio G Malet
Adams V Darakjy
Aruna W Nestle
Mayumi X Albares
Deepesh W Butt
Stacey X Inouye
Rodrigues F Malet
Jefferson K Butt
Rodrigues G Nicka
Cody H Garufi
Tony Z Ruta
Rodrigues Z Perin
Arvin H Tollner
IdCountryDate
1000United Kingdom2025-04-21
1001Germany2025-04-18
1002Japan2025-04-24
1003Brazil2025-04-02
1004Japan2025-04-06
1005Canada2025-04-06
1006Canada2025-04-20
1007Australia2025-04-27
1008Canada2025-04-29
1009United Kingdom2025-04-27
1010Germany2025-04-19
1011France2025-04-11
1012Italy2025-04-06
1013Brazil2025-04-24
1014India2025-04-16
1015Brazil2025-04-12
1016Germany2025-04-13
1017Canada2025-04-17
1018Australia2025-04-11
1019Argentina2025-04-22
1020Japan2025-04-25
1021India2025-04-23
1022France2025-04-27
1023Canada2025-04-27
1024Japan2025-03-31
1025United Kingdom2025-04-15
1026Australia2025-04-03
1027Brazil2025-04-28
1028Japan2025-04-29
1029Japan2025-04-15
1030Japan2025-04-23
1031Australia2025-04-12
1032Spain2025-04-11
1033Brazil2025-04-27
1034Argentina2025-04-24
1035Japan2025-04-21
1036Germany2025-04-14
1037Canada2025-04-24
1038Australia2025-04-29
1039India2025-04-01
1040Russia2025-04-11
1041Italy2025-03-31
1042Germany2025-04-27
1043Japan2025-04-19
1044Argentina2025-04-20
1045United Kingdom2025-04-27
1046Brazil2025-04-05
1047Spain2025-04-07
1048Brazil2025-04-21
1049Italy2025-04-14

On-Demand Data

NameIdCountryDate
Jeanfrancois V Gillian1000India2025-04-21
Salvatore A Ferencz1001Japan2025-04-22
Mujtaba S Nicka1002Germany2025-04-21
Salvatore X Waycott1003Russia2025-04-04
Aika U Nicka1004Russia2025-04-06
Aditya V Bolognia1005Canada2025-04-04
Misaki J Waycott1006Germany2025-04-21
Salvatore T Butt1007United Kingdom2025-04-07
Greenwood J Waycott1008Japan2025-04-24
Nicolas E Garufi1009Brazil2025-04-28
Aruna I Sergi1010India2025-04-08
Aika K Nestle1011Italy2025-04-26
Francesco N Stenseth1012Russia2025-04-03
Smith O Foller1013Argentina2025-03-31
Sinclair K Glick1014United Kingdom2025-04-10
Munro U Nestle1015Argentina2025-03-31
Salvatore Q Iturbide1016Brazil2025-04-29
Nicolas Q Campain1017India2025-04-06
Leja H Wieser1018Russia2025-04-04
Ivar W Flosi1019Germany2025-04-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley I GillianJapanElwin Sharvill NEW
Greenwood H MacleadAustraliaIoni Bowcher UNQUALIFIED
Nicolas U FollerUnited KingdomAsiya Javayant NEGOTIATION
Faith I GarufiBrazilIvan Magalhaes UNQUALIFIED
Maria J WieserAustraliaElwin Sharvill NEW
Francesco P VenereUnited KingdomIvan Magalhaes QUALIFIED
Darci V SlusarskiFranceXuxue Feng PROPOSAL
Sinclair G GillianIndiaIvan Magalhaes RENEWAL
Sinclair E MaletJapanBernardo Dominic NEGOTIATION
Munro J BologniaAustraliaOnyama Limba QUALIFIED
Munro J FigeroaCanadaElwin Sharvill UNQUALIFIED
Julie V CampainItalyIoni Bowcher NEGOTIATION
Greenwood Q SchemmerGermanyElwin Sharvill UNQUALIFIED
Ashley K DoeRussiaBernardo Dominic QUALIFIED
Misaki U StockhamFranceIvan Magalhaes NEGOTIATION
Francesco F VocelkaSpainOnyama Limba NEW
James X BologniaIndiaIvan Magalhaes NEGOTIATION
Kaitlin L SlusarskiSpainElwin Sharvill NEW
Morrow H CaldareraAustraliaAnna Fali NEGOTIATION
Costa A MaletJapanBernardo Dominic RENEWAL
Mayumi Y SaylorsItalyElwin Sharvill NEGOTIATION
Nicolas N RoysterFranceOnyama Limba RENEWAL
Tony G StensethUnited KingdomStephen Shaw QUALIFIED
Alejandro I BologniaGermanyBernardo Dominic QUALIFIED
Francesco W NickaItalyElwin Sharvill QUALIFIED
Murillo T GauchoGermanyIoni Bowcher UNQUALIFIED
Maisha I RimSpainIoni Bowcher QUALIFIED
Aditya Z WhobreyArgentinaAsiya Javayant UNQUALIFIED
Alejandro P NestleUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi H DoeFranceIoni Bowcher UNQUALIFIED
Chavez G OstroskyRussiaOnyama Limba RENEWAL
Jeanfrancois E ShinkoRussiaIvan Magalhaes QUALIFIED
Jeanfrancois X FerenczRussiaAnna Fali NEGOTIATION
David D IturbideFranceBernardo Dominic PROPOSAL
Kadeem U SaylorsCanadaStephen Shaw UNQUALIFIED
Isabel C SchemmerRussiaAmy Elsner RENEWAL
Salvatore P SchemmerFranceIvan Magalhaes UNQUALIFIED
Cody G OldroydUnited KingdomIoni Bowcher NEW
Costa X MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson B StensethFranceAmy Elsner RENEWAL

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