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
Leon N DarakjyUnited KingdomAsiya Javayant PROPOSAL
Kaitlin R StockhamFranceElwin Sharvill UNQUALIFIED
Jefferson Y KolmetzUnited KingdomAmy Elsner QUALIFIED
Leon U MarrierUnited KingdomXuxue Feng NEGOTIATION
Juan A ChuiRussiaBernardo Dominic NEW
Darci K OstroskyRussiaIvan Magalhaes NEW
Jones L DarakjyGermanyIoni Bowcher NEGOTIATION
Misaki P RoysterItalyAnna Fali NEW
Juan G SergiBrazilOnyama Limba PROPOSAL
Stacey E DarakjyRussiaBernardo Dominic QUALIFIED
Salvatore R CaudyItalyElwin Sharvill QUALIFIED
Antonio R MaletCanadaStephen Shaw PROPOSAL
Murillo Z CaldareraIndiaOnyama Limba PROPOSAL
Aditya F MarrierGermanyAsiya Javayant NEW
Greenwood T IturbideCanadaIoni Bowcher RENEWAL
Morrow K RimBrazilIoni Bowcher RENEWAL
Misaki J MaletUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair N DarakjyItalyIoni Bowcher NEGOTIATION
Silvio R AmigonFranceAmy Elsner UNQUALIFIED
Aika B GlickIndiaStephen Shaw QUALIFIED
Julie R StockhamUnited KingdomElwin Sharvill NEW
Octavia T DoeArgentinaIvan Magalhaes PROPOSAL
Aruna H FlosiJapanXuxue Feng RENEWAL
Munro F ChuiRussiaOnyama Limba NEGOTIATION
Francesco M RoysterBrazilStephen Shaw NEW
Ivar S FlosiJapanBernardo Dominic NEGOTIATION
Deepesh H DilliardJapanAnna Fali NEGOTIATION
Tony Z AlbaresSpainAnna Fali UNQUALIFIED
Jones E WieserIndiaStephen Shaw NEGOTIATION
Maria U IturbideRussiaAsiya Javayant PROPOSAL
Salvatore J GlickRussiaXuxue Feng NEGOTIATION
Ashley B PerinItalyElwin Sharvill UNQUALIFIED
Antonio U AmigonRussiaElwin Sharvill RENEWAL
Emily A BowleySpainXuxue Feng UNQUALIFIED
Murillo C BriddickJapanAnna Fali NEGOTIATION
Cody P MorascaSpainXuxue Feng RENEWAL
Jones Y PerinFranceOnyama Limba UNQUALIFIED
Mujtaba L WieserArgentinaAnna Fali NEGOTIATION
Chavez D AlbaresJapanAsiya Javayant RENEWAL
Arvin P RulapaughUnited KingdomIoni Bowcher NEW
Ricardo T WieserFranceXuxue Feng QUALIFIED
Alejandro X DoeGermanyBernardo Dominic QUALIFIED
Emily Q NestleItalyAnna Fali QUALIFIED
James G RulapaughSpainBernardo Dominic NEW
Chavez E FerenczItalyAnna Fali PROPOSAL
Greenwood U VocelkaSpainOnyama Limba QUALIFIED
Aruna U GauchoCanadaBernardo Dominic RENEWAL
Julie R MarrierGermanyAsiya Javayant QUALIFIED
Silvio Y SaylorsSpainElwin Sharvill NEGOTIATION
Mujtaba A InouyeJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel C AmigonJapanBernardo Dominic UNQUALIFIED
Rodrigues R RutaAustraliaBernardo Dominic RENEWAL
Darci N MarrierFranceIoni Bowcher NEW
Leja L GillianUnited KingdomStephen Shaw NEW
Darci J WhobreySpainAnna Fali UNQUALIFIED
Aruna I CaldareraSpainOnyama Limba RENEWAL
Claire T BriddickUnited KingdomAsiya Javayant NEW
Arvin S DoeFranceOnyama Limba PROPOSAL
Chavez H MacleadJapanAnna Fali QUALIFIED
Stacey C CaudyBrazilElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon P ButtGermany2024-05-29King, Christopher A Esq RENEWAL11Amy Elsner
1001David R DoeSpain2024-06-15Rousseaux, Michael Esq RENEWAL96Stephen Shaw
1002Alejandro B BowleyGermany2024-06-04Rousseaux, Michael Esq QUALIFIED41Stephen Shaw
1003Aditya O FerenczRussia2024-06-05Printing Dimensions NEGOTIATION88Ivan Magalhaes
1004Izzy G IturbideJapan2024-06-11Chemel, James L Cpa QUALIFIED10Ivan Magalhaes
1005Emily M GlickBrazil2024-06-08King, Christopher A Esq NEGOTIATION74Anna Fali
1006Aditya S IturbideFrance2024-06-01Feiner Bros UNQUALIFIED64Stephen Shaw
1007Misaki S AlbaresRussia2024-06-14Feltz Printing Service UNQUALIFIED2Amy Elsner
1008Maria F NestleArgentina2024-05-29Benton, John B Jr RENEWAL93Bernardo Dominic
1009Izzy J WhobreyItaly2024-06-17Feiner Bros NEGOTIATION69Ioni Bowcher
1010Tony P TollnerUnited Kingdom2024-06-08Rousseaux, Michael Esq QUALIFIED20Asiya Javayant
1011Greenwood F InouyeCanada2024-06-20Feiner Bros NEGOTIATION86Xuxue Feng
1012Ricardo Y SaylorsArgentina2024-06-21Dorl, James J Esq NEW8Asiya Javayant
1013Francesco L KuskoGermany2024-05-30Morlong Associates NEGOTIATION87Anna Fali
1014Maisha K MaletArgentina2024-06-16Benton, John B Jr PROPOSAL89Amy Elsner
1015Salvatore V DarakjyCanada2024-06-07Printing Dimensions UNQUALIFIED51Amy Elsner
1016Emily F VenereCanada2024-06-04Printing Dimensions NEGOTIATION46Stephen Shaw
1017Ivar F StockhamSpain2024-06-08Commercial Press PROPOSAL20Elwin Sharvill
1018Claire W MaletBrazil2024-06-06Morlong Associates PROPOSAL48Ioni Bowcher
1019Claire K OldroydIndia2024-06-06Chapman, Ross E Esq QUALIFIED32Asiya Javayant
1020Johnson B SlusarskiGermany2024-06-05King, Christopher A Esq NEW66Bernardo Dominic
1021Julie I NickaBrazil2024-05-26Feiner Bros UNQUALIFIED77Ioni Bowcher
1022Smith L GarufiUnited Kingdom2024-06-22Dorl, James J Esq PROPOSAL61Ivan Magalhaes
1023Tony V ChuiFrance2024-05-24King, Christopher A Esq PROPOSAL63Ioni Bowcher
1024Greenwood T TollnerBrazil2024-06-17Rousseaux, Michael Esq RENEWAL95Ivan Magalhaes
1025Rodrigues F ChuiUnited Kingdom2024-06-05Buckley Miller Wright NEW88Elwin Sharvill
1026Ashley S VenereFrance2024-05-27Chapman, Ross E Esq UNQUALIFIED95Ivan Magalhaes
1027Kaitlin I OstroskyRussia2024-06-07Rangoni Of Florence PROPOSAL6Bernardo Dominic
1028Leja U ButtSpain2024-05-29Buckley Miller Wright PROPOSAL10Stephen Shaw
1029Izzy H DoeRussia2024-06-08Morlong Associates NEGOTIATION90Elwin Sharvill
1030Clifford X GlickGermany2024-06-19Chanay, Jeffrey A Esq PROPOSAL17Stephen Shaw
1031Kaitlin R SaylorsAustralia2024-05-24Chapman, Ross E Esq NEGOTIATION65Amy Elsner
1032Darci M VenereUnited Kingdom2024-06-10King, Christopher A Esq PROPOSAL82Stephen Shaw
1033Tony N MaletCanada2024-06-09Truhlar And Truhlar Attys PROPOSAL97Xuxue Feng
1034Ricardo G SchemmerRussia2024-06-08Rangoni Of Florence UNQUALIFIED41Amy Elsner
1035Mayumi S ShinkoArgentina2024-05-27Benton, John B Jr PROPOSAL88Ivan Magalhaes
1036Maisha V MaletGermany2024-06-21Chanay, Jeffrey A Esq NEW74Amy Elsner
1037Francesco P InouyeAustralia2024-05-27Truhlar And Truhlar Attys RENEWAL89Stephen Shaw
1038Maria O KolmetzIndia2024-05-25Morlong Associates QUALIFIED71Anna Fali
1039Johnson Z StockhamGermany2024-06-21Feltz Printing Service PROPOSAL32Ioni Bowcher
1040Munro O GlickGermany2024-06-17Morlong Associates QUALIFIED81Elwin Sharvill
1041Morrow U StensethJapan2024-05-26Chapman, Ross E Esq QUALIFIED95Anna Fali
1042Nicolas W CampainJapan2024-06-07Printing Dimensions NEGOTIATION50Stephen Shaw
1043Emily P GauchoRussia2024-05-26Morlong Associates NEGOTIATION23Amy Elsner
1044Deepesh H MarrierBrazil2024-06-19Feltz Printing Service UNQUALIFIED17Ioni Bowcher
1045Greenwood M PaprockiBrazil2024-06-06Rangoni Of Florence RENEWAL10Bernardo Dominic
1046Jones Q SchemmerSpain2024-06-05King, Christopher A Esq UNQUALIFIED47Xuxue Feng
1047James J NickaItaly2024-06-21Buckley Miller Wright UNQUALIFIED49Anna Fali
1048Morrow D RutaSpain2024-05-24Feltz Printing Service NEGOTIATION60Ivan Magalhaes
1049Antonio L GauchoFrance2024-06-18Printing Dimensions NEGOTIATION14Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith H KolmetzAustraliaBernardo Dominic QUALIFIED
Morrow B AlbaresRussiaXuxue Feng NEGOTIATION
Mayumi Q CampainUnited KingdomAnna Fali RENEWAL
Claire W NickaItalyStephen Shaw PROPOSAL
Antonio E VocelkaJapanXuxue Feng QUALIFIED
Johnson I ShinkoGermanyAsiya Javayant UNQUALIFIED
Nicolas U SergiJapanAnna Fali PROPOSAL
Jefferson O FollerJapanAsiya Javayant NEW
Adams E MaletGermanyElwin Sharvill RENEWAL
Faith E RulapaughJapanBernardo Dominic NEW
Kaitlin E CaudySpainAsiya Javayant RENEWAL
Costa T FlosiItalyOnyama Limba NEW
Costa W FlosiFranceElwin Sharvill UNQUALIFIED
Jefferson T IturbideFranceAsiya Javayant QUALIFIED
Claire Y KolmetzJapanIvan Magalhaes NEGOTIATION
Jennifer W DarakjyFranceBernardo Dominic RENEWAL
Jeanfrancois H FlosiJapanElwin Sharvill NEGOTIATION
Emily E ShinkoItalyBernardo Dominic UNQUALIFIED
Darci E CaudyIndiaXuxue Feng RENEWAL
Ricardo F GarufiGermanyIoni Bowcher NEGOTIATION
Jefferson F KolmetzCanadaOnyama Limba NEW
Costa L BowleyArgentinaBernardo Dominic RENEWAL
Ivar F DarakjyAustraliaIoni Bowcher RENEWAL
Antonio Q SchemmerBrazilElwin Sharvill NEW
Mujtaba G NestleArgentinaStephen Shaw QUALIFIED
Francesco B IturbideFranceStephen Shaw NEGOTIATION
Ivar Q SaylorsIndiaAnna Fali PROPOSAL
Maisha B PaprockiItalyBernardo Dominic PROPOSAL
Adams F TollnerJapanXuxue Feng PROPOSAL
Salvatore Q ShinkoRussiaAnna Fali RENEWAL
Juan C NickaRussiaIoni Bowcher PROPOSAL
Antonio B DoeAustraliaAnna Fali QUALIFIED
Claire A SaylorsRussiaAmy Elsner RENEWAL
Francesco U AlbaresCanadaBernardo Dominic NEGOTIATION
Jones F BologniaRussiaIoni Bowcher QUALIFIED
Munro K PaprockiJapanElwin Sharvill RENEWAL
David L RulapaughJapanAnna Fali UNQUALIFIED
Leon Q FigeroaRussiaElwin Sharvill NEGOTIATION
Arvin S GarufiItalyIvan Magalhaes RENEWAL
Jefferson Y IturbideBrazilXuxue Feng NEW
Emily K GauchoBrazilIvan Magalhaes UNQUALIFIED
Octavia C NestleItalyBernardo Dominic QUALIFIED
Arvin O IturbideIndiaElwin Sharvill NEGOTIATION
Claire Z NestleAustraliaAnna Fali QUALIFIED
Emily F ShinkoItalyXuxue Feng UNQUALIFIED
Salvatore Q StensethBrazilXuxue Feng NEW
Clifford W StockhamCanadaAnna Fali PROPOSAL
Jennifer J VenereFranceAsiya Javayant UNQUALIFIED
Greenwood X RoysterJapanAmy Elsner PROPOSAL
Mayumi O MorascaIndiaAnna Fali NEGOTIATION
Frozen Columns
Name
Greenwood U Butt
David N Ferencz
Stacey H Sergi
Emily R Glick
Aruna X Ostrosky
Ashley K Stenseth
Costa U Iturbide
Chavez R Foller
Alejandro F Marrier
Wickens C Dilliard
Chavez I Stockham
Claire N Bolognia
Deepesh G Campain
Silvio L Bolognia
Ashley U Paprocki
Cody O Albares
Francesco O Ostrosky
Kadeem M Malet
Maria W Sergi
Costa J Amigon
Darci O Slusarski
Morrow P Caldarera
Jeanfrancois D Rulapaugh
Ashley J Stockham
Octavia S Paprocki
Aditya E Caudy
Ivar A Caudy
Aika A Butt
Deepesh Z Poquette
Kadeem S Stockham
Leja L Bolognia
Ashley X Stenseth
Silvio G Chui
Leon K Poquette
Leja Q Marrier
Ashley W Inouye
Tony H Ferencz
Morrow T Oldroyd
Isabel L Amigon
Ashley I Royster
Leon L Caudy
Stacey B Butt
Adams V Albares
Greenwood R Waycott
Darci V Saylors
Aruna A Perin
Jones M Flosi
Johnson P Ferencz
Misaki I Doe
Munro X Glick
IdCountryDate
1000Spain2024-06-06
1001India2024-06-12
1002Canada2024-06-21
1003Japan2024-06-13
1004India2024-05-24
1005France2024-06-08
1006Spain2024-06-06
1007Brazil2024-06-12
1008United Kingdom2024-06-13
1009Argentina2024-06-08
1010Spain2024-06-20
1011Brazil2024-05-28
1012Canada2024-06-13
1013Brazil2024-05-28
1014Brazil2024-06-11
1015Argentina2024-06-10
1016Canada2024-06-11
1017Italy2024-06-20
1018United Kingdom2024-06-12
1019Canada2024-06-20
1020France2024-05-30
1021France2024-05-31
1022Germany2024-06-12
1023India2024-06-21
1024Russia2024-06-03
1025India2024-06-21
1026Germany2024-05-26
1027Italy2024-06-01
1028Italy2024-05-29
1029Argentina2024-05-25
1030France2024-06-20
1031United Kingdom2024-06-09
1032Argentina2024-06-08
1033Spain2024-06-17
1034Japan2024-06-02
1035Canada2024-06-09
1036Germany2024-05-29
1037Argentina2024-06-12
1038Russia2024-06-05
1039Canada2024-06-15
1040Argentina2024-06-18
1041Japan2024-06-03
1042Germany2024-06-14
1043France2024-06-12
1044Russia2024-06-17
1045Germany2024-06-17
1046Japan2024-06-14
1047Canada2024-05-24
1048France2024-05-29
1049Italy2024-05-30

On-Demand Data

NameIdCountryDate
Julie K Butt1000Brazil2024-06-20
Salvatore K Gaucho1001Australia2024-06-05
Maisha J Doe1002Canada2024-06-12
Wickens V Stenseth1003Argentina2024-06-17
Adams O Slusarski1004France2024-06-18
Ashley U Malet1005Canada2024-06-21
Juan N Bowley1006Australia2024-06-11
Jones K Figeroa1007United Kingdom2024-05-26
Antonio H Rim1008Russia2024-06-05
Jones D Bowley1009India2024-06-12
Aditya G Flosi1010Brazil2024-05-30
Aruna U Nicka1011Spain2024-06-05
Aditya L Figeroa1012Spain2024-06-07
Clifford O Kusko1013Russia2024-05-27
Nicolas P Stockham1014Canada2024-05-28
Kaitlin F Campain1015Argentina2024-06-06
David O Schemmer1016Japan2024-05-30
Mujtaba S Gaucho1017Canada2024-06-13
Clifford Z Garufi1018France2024-06-19
Kaitlin I Caldarera1019Argentina2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba I CampainGermanyAsiya Javayant QUALIFIED
Adams F WhobreyCanadaStephen Shaw NEGOTIATION
Kadeem X StockhamCanadaAmy Elsner NEGOTIATION
Aika U VocelkaArgentinaIoni Bowcher PROPOSAL
Isabel M GillianBrazilOnyama Limba RENEWAL
Mayumi O PerinBrazilStephen Shaw QUALIFIED
Greenwood A FlosiRussiaStephen Shaw RENEWAL
Aruna W WaycottIndiaOnyama Limba NEW
Jennifer H MacleadJapanIoni Bowcher QUALIFIED
Leja L WaycottUnited KingdomStephen Shaw NEW
Aruna Z SergiJapanBernardo Dominic QUALIFIED
Leon J GarufiItalyBernardo Dominic QUALIFIED
Emily R MarrierCanadaAnna Fali UNQUALIFIED
Ricardo H BowleyAustraliaAsiya Javayant RENEWAL
Arvin B BologniaAustraliaOnyama Limba UNQUALIFIED
Maria Z FigeroaAustraliaElwin Sharvill PROPOSAL
Munro V TollnerBrazilIvan Magalhaes NEW
Leja L BowleyRussiaAmy Elsner NEW
Ashley J SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo Q RimJapanAsiya Javayant QUALIFIED
Mujtaba I MaletFranceXuxue Feng NEW
James T KuskoItalyAsiya Javayant QUALIFIED
Aika Q RutaArgentinaIoni Bowcher QUALIFIED
Rodrigues V CampainAustraliaStephen Shaw NEGOTIATION
Ricardo C MacleadGermanyAnna Fali NEGOTIATION
Aditya P MarrierItalyStephen Shaw PROPOSAL
David O ButtSpainOnyama Limba NEW
Juan E OstroskyArgentinaAsiya Javayant PROPOSAL
Deepesh S DoeIndiaAnna Fali PROPOSAL
Sinclair L GlickIndiaStephen Shaw NEGOTIATION
Mujtaba W GauchoAustraliaXuxue Feng UNQUALIFIED
Kadeem W ShinkoUnited KingdomAnna Fali UNQUALIFIED
Misaki Y NickaCanadaElwin Sharvill QUALIFIED
Cody R NestleIndiaOnyama Limba NEGOTIATION
Leja E PaprockiBrazilXuxue Feng NEGOTIATION
Munro M ShinkoAustraliaXuxue Feng RENEWAL
Smith F PerinItalyAmy Elsner NEW
Mujtaba J GlickUnited KingdomOnyama Limba NEW
Ivar O FigeroaItalyIoni Bowcher NEGOTIATION
Johnson W KolmetzItalyOnyama Limba 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>