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
Kadeem Z BriddickBrazilIoni Bowcher UNQUALIFIED
Clifford I AmigonJapanAmy Elsner UNQUALIFIED
Morrow E MorascaAustraliaStephen Shaw PROPOSAL
Darci W StockhamItalyBernardo Dominic UNQUALIFIED
Sinclair F CaldareraIndiaAnna Fali QUALIFIED
Mujtaba B PaprockiBrazilIoni Bowcher RENEWAL
Tony F RimIndiaIvan Magalhaes PROPOSAL
Aika X MaletCanadaAsiya Javayant QUALIFIED
Julie W BologniaCanadaIoni Bowcher PROPOSAL
Jones N FigeroaRussiaStephen Shaw NEGOTIATION
Juan M PerinArgentinaOnyama Limba UNQUALIFIED
James J AmigonUnited KingdomAnna Fali PROPOSAL
James Y AlbaresGermanyElwin Sharvill PROPOSAL
David P OldroydIndiaAnna Fali NEW
Clifford F NestleAustraliaOnyama Limba NEW
Aditya H DarakjySpainStephen Shaw QUALIFIED
Jennifer G DarakjyArgentinaBernardo Dominic RENEWAL
Wickens W NickaItalyIoni Bowcher QUALIFIED
Salvatore F ShinkoSpainAmy Elsner NEGOTIATION
Ivar O MarrierBrazilAsiya Javayant UNQUALIFIED
Ricardo W NestleUnited KingdomAmy Elsner PROPOSAL
David L DilliardUnited KingdomXuxue Feng RENEWAL
Darci E GillianBrazilBernardo Dominic PROPOSAL
Francesco Q InouyeUnited KingdomIoni Bowcher NEW
Kadeem G GarufiSpainXuxue Feng UNQUALIFIED
Francesco P IturbideJapanElwin Sharvill PROPOSAL
Munro V RulapaughSpainXuxue Feng PROPOSAL
Jefferson A NickaRussiaAsiya Javayant PROPOSAL
Izzy F CaldareraAustraliaElwin Sharvill RENEWAL
Mayumi U GlickArgentinaOnyama Limba QUALIFIED
Aditya X BriddickRussiaOnyama Limba NEW
Salvatore T SchemmerGermanyBernardo Dominic PROPOSAL
Mujtaba G ChuiBrazilBernardo Dominic NEW
Leja R DilliardJapanAsiya Javayant UNQUALIFIED
Julie H SlusarskiRussiaBernardo Dominic RENEWAL
Maisha B ButtRussiaXuxue Feng QUALIFIED
Aditya A OldroydFranceIoni Bowcher QUALIFIED
Jeanfrancois O RimSpainAsiya Javayant UNQUALIFIED
Salvatore P FerenczRussiaAsiya Javayant RENEWAL
Salvatore A DilliardRussiaAmy Elsner NEW
Sinclair M BologniaUnited KingdomAmy Elsner NEGOTIATION
Faith C SchemmerBrazilXuxue Feng UNQUALIFIED
Ashley G RimItalyXuxue Feng NEW
Antonio P SchemmerCanadaIoni Bowcher QUALIFIED
Julie X GillianSpainOnyama Limba PROPOSAL
Antonio Y MaletJapanElwin Sharvill RENEWAL
Kadeem W FigeroaBrazilAnna Fali RENEWAL
Wickens B PaprockiAustraliaIvan Magalhaes PROPOSAL
David Z ButtItalyAmy Elsner RENEWAL
Silvio T BologniaBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Jones L VocelkaRussiaIoni Bowcher NEW
Clifford N GillianUnited KingdomElwin Sharvill RENEWAL
Johnson Z VocelkaFranceIvan Magalhaes UNQUALIFIED
Chavez R RimCanadaXuxue Feng NEW
Darci C ButtIndiaAsiya Javayant PROPOSAL
Alejandro N GillianGermanyElwin Sharvill RENEWAL
Ricardo O RutaJapanOnyama Limba RENEWAL
Ashley T VenereIndiaElwin Sharvill NEW
Clifford J InouyeRussiaOnyama Limba NEW
Kaitlin G BologniaBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba X KolmetzJapan2026-07-25Dorl, James J Esq RENEWAL32Stephen Shaw
1001Adams C OstroskyArgentina2026-07-12Printing Dimensions RENEWAL85Bernardo Dominic
1002Ashley G ChuiFrance2026-07-08Feiner Bros PROPOSAL7Xuxue Feng
1003Salvatore Y FerenczGermany2026-07-29Rangoni Of Florence NEGOTIATION1Asiya Javayant
1004Isabel L WhobreyIndia2026-07-17Rangoni Of Florence UNQUALIFIED12Xuxue Feng
1005Octavia V PerinUnited Kingdom2026-07-21Buckley Miller Wright RENEWAL6Bernardo Dominic
1006Darci F SchemmerGermany2026-07-10Buckley Miller Wright NEW21Bernardo Dominic
1007Costa I MacleadSpain2026-07-30Buckley Miller Wright PROPOSAL14Stephen Shaw
1008Stacey I FerenczGermany2026-07-17Chanay, Jeffrey A Esq PROPOSAL23Stephen Shaw
1009Rodrigues P BologniaCanada2026-07-06Buckley Miller Wright NEW24Asiya Javayant
1010Julie X BowleyAustralia2026-07-27Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1011Julie E RutaBrazil2026-07-17Commercial Press QUALIFIED8Amy Elsner
1012Antonio D AmigonBrazil2026-07-16Dorl, James J Esq NEW73Xuxue Feng
1013Deepesh W FollerGermany2026-07-24Chapman, Ross E Esq NEGOTIATION69Ioni Bowcher
1014Nicolas P DoeUnited Kingdom2026-07-30Truhlar And Truhlar Attys QUALIFIED81Bernardo Dominic
1015David G PaprockiBrazil2026-08-01Rousseaux, Michael Esq QUALIFIED77Anna Fali
1016Maria X CaudySpain2026-07-14King, Christopher A Esq PROPOSAL65Onyama Limba
1017Ashley P StensethUnited Kingdom2026-07-26Morlong Associates UNQUALIFIED28Elwin Sharvill
1018Chavez Z GlickUnited Kingdom2026-07-21Rangoni Of Florence NEGOTIATION27Stephen Shaw
1019Kadeem T RulapaughJapan2026-07-16Chemel, James L Cpa QUALIFIED9Xuxue Feng
1020Aruna L WieserJapan2026-07-30Feltz Printing Service QUALIFIED21Bernardo Dominic
1021Ashley X BowleyGermany2026-07-25Truhlar And Truhlar Attys UNQUALIFIED99Bernardo Dominic
1022Maria G OldroydGermany2026-07-12Benton, John B Jr NEGOTIATION59Anna Fali
1023Arvin T FlosiItaly2026-07-19Dorl, James J Esq NEGOTIATION77Anna Fali
1024Aditya V PaprockiSpain2026-07-23Feiner Bros NEW46Stephen Shaw
1025Rodrigues K OldroydJapan2026-07-28Feltz Printing Service NEGOTIATION73Anna Fali
1026Jones J SchemmerFrance2026-07-24Rousseaux, Michael Esq PROPOSAL31Xuxue Feng
1027Misaki R NickaBrazil2026-07-08Printing Dimensions NEGOTIATION12Anna Fali
1028Sinclair H SlusarskiIndia2026-07-28Chemel, James L Cpa QUALIFIED25Onyama Limba
1029Maria W NickaFrance2026-07-31Chanay, Jeffrey A Esq PROPOSAL95Xuxue Feng
1030Darci W BologniaSpain2026-07-22King, Christopher A Esq UNQUALIFIED88Elwin Sharvill
1031Jones S MaletJapan2026-07-22King, Christopher A Esq RENEWAL46Asiya Javayant
1032Deepesh E KolmetzUnited Kingdom2026-07-06Chemel, James L Cpa NEGOTIATION86Anna Fali
1033Clifford L RimJapan2026-07-30Chapman, Ross E Esq NEGOTIATION17Anna Fali
1034Morrow H FigeroaUnited Kingdom2026-07-19Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1035Leon J BologniaGermany2026-07-14Rangoni Of Florence QUALIFIED35Anna Fali
1036Leja M MorascaSpain2026-07-19Chanay, Jeffrey A Esq UNQUALIFIED54Xuxue Feng
1037Morrow U GillianCanada2026-07-08Buckley Miller Wright PROPOSAL34Ioni Bowcher
1038Jefferson S FlosiArgentina2026-07-17Printing Dimensions PROPOSAL41Ioni Bowcher
1039Aika D NickaBrazil2026-07-28Chapman, Ross E Esq PROPOSAL90Anna Fali
1040Stacey L ChuiItaly2026-07-08Truhlar And Truhlar Attys QUALIFIED2Bernardo Dominic
1041Chavez X FerenczUnited Kingdom2026-07-16Chapman, Ross E Esq NEGOTIATION89Ivan Magalhaes
1042Costa B CaldareraBrazil2026-07-11Morlong Associates RENEWAL83Anna Fali
1043Octavia K FlosiGermany2026-07-19Commercial Press UNQUALIFIED14Asiya Javayant
1044Jones V RutaArgentina2026-07-12Commercial Press UNQUALIFIED42Asiya Javayant
1045Francesco G RulapaughCanada2026-07-10Feltz Printing Service NEW2Elwin Sharvill
1046Costa V GarufiSpain2026-07-28Buckley Miller Wright UNQUALIFIED77Onyama Limba
1047James M ButtAustralia2026-07-24Rousseaux, Michael Esq UNQUALIFIED42Stephen Shaw
1048Tony V DoeBrazil2026-07-11Chemel, James L Cpa RENEWAL0Xuxue Feng
1049Juan W MacleadUnited Kingdom2026-07-12Rangoni Of Florence RENEWAL66Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aruna W FigeroaFranceAnna Fali NEW
Aruna M OldroydRussiaElwin Sharvill NEW
Wickens D VenereArgentinaAmy Elsner UNQUALIFIED
Smith Z OstroskyItalyAnna Fali UNQUALIFIED
Julie P PoquetteUnited KingdomXuxue Feng PROPOSAL
Tony D CaldareraUnited KingdomOnyama Limba PROPOSAL
Juan Q BologniaBrazilBernardo Dominic NEW
Ricardo G PerinRussiaAmy Elsner NEW
Nicolas S OstroskyGermanyElwin Sharvill UNQUALIFIED
Cody O GauchoGermanyOnyama Limba UNQUALIFIED
Isabel R AmigonFranceOnyama Limba NEW
Aruna B InouyeArgentinaXuxue Feng RENEWAL
Isabel P KolmetzRussiaOnyama Limba QUALIFIED
Jefferson D TollnerBrazilStephen Shaw PROPOSAL
Antonio H PerinBrazilIoni Bowcher QUALIFIED
Emily D VocelkaSpainIvan Magalhaes NEW
Maisha Y NickaFranceOnyama Limba RENEWAL
Izzy T RulapaughItalyBernardo Dominic NEW
Arvin L RulapaughItalyOnyama Limba NEW
James I TollnerBrazilElwin Sharvill NEW
Salvatore G KolmetzCanadaAnna Fali NEGOTIATION
Mujtaba S BowleyAustraliaAnna Fali NEW
Faith Q RutaFranceElwin Sharvill RENEWAL
Smith I KuskoArgentinaAnna Fali PROPOSAL
Silvio J VenereSpainIoni Bowcher RENEWAL
Silvio E DarakjyItalyIvan Magalhaes UNQUALIFIED
Mujtaba G DilliardJapanIoni Bowcher NEGOTIATION
Munro Q RimRussiaStephen Shaw QUALIFIED
Maisha V WieserJapanAsiya Javayant UNQUALIFIED
Tony L WieserArgentinaStephen Shaw QUALIFIED
Wickens F SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Ivar E VocelkaUnited KingdomXuxue Feng NEGOTIATION
Octavia M RutaCanadaBernardo Dominic NEGOTIATION
Aika S ButtAustraliaAmy Elsner UNQUALIFIED
Juan M OldroydJapanIoni Bowcher NEW
Leon V MarrierFranceStephen Shaw NEW
Adams X DilliardRussiaAnna Fali RENEWAL
Sinclair N RutaFranceIvan Magalhaes NEGOTIATION
Francesco D MarrierCanadaOnyama Limba NEW
Sinclair Z FerenczUnited KingdomAnna Fali NEW
Deepesh T MaletCanadaBernardo Dominic NEW
Chavez H InouyeItalyXuxue Feng QUALIFIED
Munro W VocelkaUnited KingdomElwin Sharvill NEW
Maria A AlbaresCanadaXuxue Feng RENEWAL
Arvin M WieserUnited KingdomAmy Elsner NEGOTIATION
Octavia N MarrierCanadaStephen Shaw UNQUALIFIED
Rodrigues S MorascaJapanIoni Bowcher QUALIFIED
Chavez J StockhamRussiaIvan Magalhaes NEGOTIATION
Aditya B GlickItalyOnyama Limba NEGOTIATION
Darci A CampainUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Morrow W Whobrey
Octavia N Oldroyd
Jones V Slusarski
Claire G Vocelka
Stacey E Albares
Aika L Morasca
Rodrigues X Ruta
Clifford W Flosi
Juan E Butt
Isabel V Briddick
Mayumi T Gaucho
Ivar L Caudy
Silvio E Oldroyd
Juan E Sergi
Faith O Campain
Leja N Paprocki
Aika M Royster
Sinclair P Marrier
Smith F Rulapaugh
Sinclair N Whobrey
Octavia Q Garufi
Francesco Q Inouye
Kadeem C Kolmetz
Maisha W Caldarera
Deepesh E Marrier
Jones K Rim
James D Paprocki
Mayumi X Figeroa
Maria W Caudy
Julie U Malet
Silvio V Iturbide
Cody D Ferencz
Deepesh W Iturbide
Isabel A Wieser
Cody K Butt
Chavez B Inouye
Octavia Z Caldarera
Ivar V Vocelka
Ricardo S Albares
Jones W Bowley
Izzy P Wieser
Claire W Butt
Stacey X Bowley
Clifford V Nestle
Antonio L Kolmetz
Adams K Perin
Kadeem I Poquette
Aditya C Saylors
Aika S Nestle
Chavez F Darakjy
IdCountryDate
1000Australia2026-07-05
1001Brazil2026-07-26
1002Brazil2026-07-28
1003India2026-07-17
1004Spain2026-07-05
1005Brazil2026-07-06
1006India2026-07-09
1007Italy2026-07-15
1008France2026-07-31
1009Canada2026-07-30
1010Canada2026-07-31
1011Brazil2026-07-09
1012Italy2026-07-18
1013Spain2026-07-18
1014Italy2026-07-23
1015Australia2026-08-01
1016Spain2026-07-17
1017Japan2026-07-07
1018Spain2026-07-18
1019India2026-07-14
1020Russia2026-07-07
1021Russia2026-07-09
1022Russia2026-07-14
1023Australia2026-07-13
1024Japan2026-07-24
1025France2026-07-14
1026Russia2026-07-15
1027India2026-07-14
1028Canada2026-07-26
1029India2026-07-05
1030Canada2026-07-22
1031France2026-07-12
1032Russia2026-07-25
1033Italy2026-07-11
1034India2026-07-22
1035Australia2026-07-17
1036Russia2026-07-13
1037India2026-07-05
1038Germany2026-07-20
1039Italy2026-07-23
1040Germany2026-07-08
1041Canada2026-07-30
1042Italy2026-07-23
1043Japan2026-08-02
1044France2026-07-19
1045Spain2026-07-10
1046United Kingdom2026-07-23
1047Australia2026-07-26
1048Germany2026-07-05
1049France2026-08-03

On-Demand Data

NameIdCountryDate
Julie K Gillian1000India2026-08-02
Adams B Nicka1001Russia2026-07-23
Smith S Ferencz1002Russia2026-07-18
Ashley Y Inouye1003Japan2026-07-05
Chavez T Poquette1004Brazil2026-07-28
Antonio L Garufi1005Canada2026-07-28
James J Figeroa1006United Kingdom2026-07-25
Sinclair L Tollner1007France2026-07-12
Izzy V Chui1008Germany2026-07-11
James Z Caudy1009Australia2026-07-05
Kaitlin S Royster1010Canada2026-07-19
Tony P Malet1011Russia2026-07-28
Octavia X Garufi1012Russia2026-07-26
Nicolas L Venere1013Argentina2026-07-25
Darci K Venere1014Japan2026-07-12
Leja V Schemmer1015Germany2026-07-16
Rodrigues V Dilliard1016Spain2026-07-29
Clifford M Campain1017India2026-07-22
Leja D Ruta1018Australia2026-07-29
Arvin P Dilliard1019Canada2026-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya B OldroydItalyAnna Fali RENEWAL
Darci F PerinGermanyXuxue Feng NEGOTIATION
Aruna B FollerBrazilOnyama Limba RENEWAL
Nicolas O AlbaresArgentinaXuxue Feng NEW
Deepesh S OstroskySpainOnyama Limba NEW
Jones E KuskoItalyElwin Sharvill NEGOTIATION
Jennifer M WhobreySpainBernardo Dominic NEW
Maisha H KuskoRussiaAmy Elsner NEGOTIATION
Munro Y DoeBrazilIvan Magalhaes NEGOTIATION
Arvin M GarufiJapanStephen Shaw NEGOTIATION
Maria V BowleyCanadaElwin Sharvill UNQUALIFIED
Clifford K CampainAustraliaAnna Fali NEGOTIATION
Francesco N InouyeSpainOnyama Limba PROPOSAL
Jefferson D KuskoBrazilXuxue Feng PROPOSAL
Izzy N MorascaBrazilStephen Shaw NEW
Smith S FollerIndiaAnna Fali PROPOSAL
Mayumi U TollnerSpainAmy Elsner RENEWAL
Kadeem O SlusarskiCanadaAmy Elsner NEGOTIATION
Adams S StensethGermanyStephen Shaw UNQUALIFIED
Nicolas M CampainJapanIoni Bowcher UNQUALIFIED
Antonio X RulapaughRussiaBernardo Dominic NEW
Murillo M ButtCanadaStephen Shaw NEGOTIATION
Chavez S MarrierArgentinaStephen Shaw PROPOSAL
Stacey G GillianRussiaXuxue Feng NEGOTIATION
Munro L RulapaughCanadaXuxue Feng PROPOSAL
Jeanfrancois D BowleyGermanyAnna Fali NEGOTIATION
Costa X BowleyItalyAmy Elsner NEW
Johnson S NestleGermanyAnna Fali RENEWAL
Faith D MorascaCanadaXuxue Feng QUALIFIED
Mayumi E KolmetzJapanAmy Elsner NEGOTIATION
Morrow R SergiJapanXuxue Feng QUALIFIED
Greenwood Q DilliardGermanyOnyama Limba NEGOTIATION
Deepesh G MorascaUnited KingdomIoni Bowcher PROPOSAL
Kadeem E RutaArgentinaAsiya Javayant PROPOSAL
Tony V PoquetteFranceAnna Fali PROPOSAL
Izzy Q InouyeGermanyAnna Fali QUALIFIED
Misaki Q SlusarskiUnited KingdomElwin Sharvill QUALIFIED
Juan A BriddickIndiaAmy Elsner UNQUALIFIED
Mujtaba S SlusarskiRussiaBernardo Dominic NEW
Leja Z MaletSpainAmy Elsner 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>