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
Adams G ShinkoBrazilIoni Bowcher NEW
Salvatore E GlickArgentinaXuxue Feng QUALIFIED
Jones C TollnerRussiaIvan Magalhaes QUALIFIED
Munro L SchemmerUnited KingdomStephen Shaw RENEWAL
Aditya S RoysterBrazilOnyama Limba NEGOTIATION
Leon C BowleySpainAsiya Javayant RENEWAL
Cody D PaprockiIndiaXuxue Feng RENEWAL
David H OldroydArgentinaBernardo Dominic NEW
Emily W MorascaCanadaStephen Shaw NEW
Ashley B FigeroaRussiaOnyama Limba PROPOSAL
Ashley Y VenereArgentinaIoni Bowcher QUALIFIED
Isabel V SlusarskiIndiaOnyama Limba UNQUALIFIED
Sinclair E ChuiCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois Y FlosiCanadaAmy Elsner NEGOTIATION
Julie A SchemmerItalyStephen Shaw NEGOTIATION
Aditya R KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Misaki B MorascaCanadaIvan Magalhaes RENEWAL
Faith X StensethAustraliaBernardo Dominic UNQUALIFIED
David L VocelkaFranceXuxue Feng PROPOSAL
Morrow L SergiJapanIoni Bowcher UNQUALIFIED
Murillo B DilliardAustraliaAsiya Javayant NEGOTIATION
Izzy P AlbaresAustraliaStephen Shaw QUALIFIED
Rodrigues U KolmetzBrazilIvan Magalhaes UNQUALIFIED
Silvio Q CampainItalyElwin Sharvill UNQUALIFIED
Stacey Y FerenczSpainXuxue Feng NEGOTIATION
Clifford B PaprockiArgentinaXuxue Feng QUALIFIED
Kaitlin P NestleIndiaIoni Bowcher NEW
Mujtaba T SlusarskiJapanIvan Magalhaes UNQUALIFIED
Mujtaba G AlbaresCanadaAnna Fali QUALIFIED
Sinclair P RimBrazilBernardo Dominic UNQUALIFIED
Juan I GauchoRussiaAmy Elsner UNQUALIFIED
Chavez Q CampainJapanAsiya Javayant UNQUALIFIED
Emily T MarrierAustraliaStephen Shaw NEW
Antonio W GillianRussiaElwin Sharvill NEW
Clifford L AlbaresUnited KingdomBernardo Dominic QUALIFIED
Jennifer E PoquetteRussiaXuxue Feng UNQUALIFIED
Johnson J DilliardGermanyIvan Magalhaes PROPOSAL
Deepesh N MorascaGermanyAmy Elsner RENEWAL
Isabel W AlbaresArgentinaAmy Elsner NEW
Aruna J MaletArgentinaAnna Fali RENEWAL
Maria U ButtBrazilIoni Bowcher PROPOSAL
Ricardo D GlickJapanBernardo Dominic UNQUALIFIED
Munro J NestleBrazilAsiya Javayant PROPOSAL
Jefferson J SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Leja S KolmetzItalyAnna Fali QUALIFIED
Tony Q AmigonGermanyAnna Fali PROPOSAL
Darci E MacleadJapanAmy Elsner UNQUALIFIED
Francesco S WieserCanadaAsiya Javayant NEW
Stacey Q MacleadJapanAmy Elsner PROPOSAL
Izzy H ShinkoRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel L KolmetzAustraliaIvan Magalhaes NEGOTIATION
Jefferson C MaletUnited KingdomBernardo Dominic QUALIFIED
Misaki W CampainSpainBernardo Dominic NEGOTIATION
Jones E CampainCanadaAnna Fali NEW
Isabel A BriddickItalyAnna Fali PROPOSAL
Leja D MarrierCanadaElwin Sharvill NEGOTIATION
Arvin E FigeroaArgentinaXuxue Feng QUALIFIED
Deepesh L AmigonUnited KingdomIoni Bowcher QUALIFIED
Adams P ChuiItalyXuxue Feng NEW
Sinclair E InouyeCanadaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith O InouyeCanada2024-06-09Morlong Associates NEGOTIATION71Onyama Limba
1001Aika N RutaAustralia2024-06-05Benton, John B Jr RENEWAL61Bernardo Dominic
1002Mujtaba P GlickIndia2024-06-13Commercial Press NEW22Ioni Bowcher
1003Jones S MarrierCanada2024-06-13Rangoni Of Florence NEW82Anna Fali
1004Aditya R SergiFrance2024-06-19Chemel, James L Cpa RENEWAL47Ivan Magalhaes
1005Nicolas B FlosiJapan2024-06-05Rangoni Of Florence QUALIFIED8Stephen Shaw
1006Mayumi P KolmetzCanada2024-06-08Printing Dimensions NEW34Asiya Javayant
1007Leja Q NestleJapan2024-06-22Chanay, Jeffrey A Esq RENEWAL43Ivan Magalhaes
1008Darci X MaletFrance2024-05-27Chanay, Jeffrey A Esq PROPOSAL84Onyama Limba
1009Aruna M MarrierFrance2024-06-04Rousseaux, Michael Esq NEGOTIATION88Asiya Javayant
1010Maria P MaletFrance2024-06-18Buckley Miller Wright NEGOTIATION25Asiya Javayant
1011Deepesh K FollerIndia2024-06-21Feiner Bros NEW95Stephen Shaw
1012David C BriddickItaly2024-05-27King, Christopher A Esq UNQUALIFIED30Anna Fali
1013Aruna N GarufiBrazil2024-05-27King, Christopher A Esq QUALIFIED28Elwin Sharvill
1014Isabel Q GauchoFrance2024-06-04Rangoni Of Florence QUALIFIED1Ioni Bowcher
1015Tony F GarufiArgentina2024-06-12Rangoni Of Florence UNQUALIFIED27Ivan Magalhaes
1016Isabel T KolmetzJapan2024-06-08Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1017Emily X AmigonCanada2024-06-06Rousseaux, Michael Esq NEGOTIATION13Amy Elsner
1018Arvin L ChuiCanada2024-05-26Chapman, Ross E Esq PROPOSAL57Onyama Limba
1019Arvin V MacleadArgentina2024-06-14Morlong Associates RENEWAL50Onyama Limba
1020Jones K SergiIndia2024-06-22Rousseaux, Michael Esq UNQUALIFIED65Onyama Limba
1021Kaitlin T FigeroaCanada2024-06-01Chemel, James L Cpa RENEWAL26Ioni Bowcher
1022Emily W GlickJapan2024-06-22Dorl, James J Esq NEW57Xuxue Feng
1023Juan B AmigonFrance2024-06-03Feltz Printing Service NEGOTIATION82Xuxue Feng
1024Greenwood K AlbaresRussia2024-06-06Feiner Bros NEGOTIATION22Onyama Limba
1025Leja P IturbideArgentina2024-06-02Rousseaux, Michael Esq NEGOTIATION85Amy Elsner
1026Tony U KuskoUnited Kingdom2024-06-10Chemel, James L Cpa QUALIFIED13Stephen Shaw
1027Kadeem G FigeroaUnited Kingdom2024-06-12Truhlar And Truhlar Attys PROPOSAL12Asiya Javayant
1028Leon A WhobreyGermany2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED59Bernardo Dominic
1029Darci X DilliardItaly2024-06-05Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1030Adams S AmigonArgentina2024-06-01Truhlar And Truhlar Attys NEGOTIATION58Stephen Shaw
1031Jefferson W GlickUnited Kingdom2024-06-03Morlong Associates NEGOTIATION30Elwin Sharvill
1032Mayumi U AlbaresGermany2024-06-14Dorl, James J Esq RENEWAL89Bernardo Dominic
1033Antonio L RutaFrance2024-06-02Rangoni Of Florence NEGOTIATION59Anna Fali
1034Jones E MorascaUnited Kingdom2024-06-04King, Christopher A Esq UNQUALIFIED37Elwin Sharvill
1035Deepesh Y ButtFrance2024-06-01Chapman, Ross E Esq NEW47Anna Fali
1036Munro C AlbaresArgentina2024-06-16Benton, John B Jr QUALIFIED17Bernardo Dominic
1037Juan Y MorascaUnited Kingdom2024-05-27Truhlar And Truhlar Attys PROPOSAL29Onyama Limba
1038Jeanfrancois A StockhamItaly2024-06-06Chapman, Ross E Esq NEGOTIATION28Anna Fali
1039David W VocelkaArgentina2024-05-28Commercial Press NEGOTIATION49Elwin Sharvill
1040Jefferson Y MarrierGermany2024-06-07Rangoni Of Florence QUALIFIED74Asiya Javayant
1041David Y MacleadArgentina2024-06-12Printing Dimensions NEGOTIATION10Xuxue Feng
1042Tony N BowleyIndia2024-06-08Printing Dimensions NEGOTIATION41Elwin Sharvill
1043Mayumi T ChuiIndia2024-05-30Chanay, Jeffrey A Esq QUALIFIED76Elwin Sharvill
1044Kaitlin W SlusarskiSpain2024-06-04Feltz Printing Service PROPOSAL97Amy Elsner
1045Munro P SergiItaly2024-06-12Benton, John B Jr NEGOTIATION30Asiya Javayant
1046Francesco V DarakjyItaly2024-06-18Chanay, Jeffrey A Esq QUALIFIED44Ivan Magalhaes
1047Deepesh I RoysterRussia2024-05-28Morlong Associates QUALIFIED73Ivan Magalhaes
1048Jones H NickaBrazil2024-05-28Printing Dimensions NEGOTIATION93Ivan Magalhaes
1049Claire H FollerArgentina2024-06-09Feltz Printing Service NEGOTIATION58Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja H KuskoUnited KingdomAnna Fali NEGOTIATION
Emily L ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer P NickaArgentinaAsiya Javayant PROPOSAL
Ashley P MorascaAustraliaXuxue Feng UNQUALIFIED
Izzy M AlbaresBrazilOnyama Limba NEGOTIATION
Ricardo D MacleadBrazilIvan Magalhaes QUALIFIED
Munro J WieserSpainIoni Bowcher RENEWAL
Nicolas G WieserArgentinaElwin Sharvill PROPOSAL
Kaitlin X KolmetzUnited KingdomAsiya Javayant QUALIFIED
Claire S IturbideArgentinaIoni Bowcher QUALIFIED
Julie W RimUnited KingdomBernardo Dominic PROPOSAL
Chavez C BologniaSpainAmy Elsner UNQUALIFIED
Adams I SlusarskiBrazilAsiya Javayant PROPOSAL
Chavez P MaletSpainAmy Elsner NEW
Jones Z PerinItalyStephen Shaw RENEWAL
Johnson N FerenczGermanyElwin Sharvill NEW
Francesco Q SlusarskiRussiaAnna Fali QUALIFIED
Salvatore N BologniaArgentinaXuxue Feng QUALIFIED
Faith I ShinkoRussiaStephen Shaw NEW
Ivar R MarrierArgentinaAmy Elsner PROPOSAL
Wickens D GlickArgentinaIvan Magalhaes RENEWAL
Tony Z TollnerRussiaStephen Shaw PROPOSAL
Faith S MaletSpainElwin Sharvill QUALIFIED
Ashley Q ButtArgentinaIvan Magalhaes NEW
Antonio H MaletGermanyElwin Sharvill QUALIFIED
David C SergiRussiaXuxue Feng UNQUALIFIED
Chavez E MarrierSpainElwin Sharvill PROPOSAL
Murillo V DoeSpainAmy Elsner NEGOTIATION
Kaitlin Q ChuiBrazilAnna Fali RENEWAL
Jennifer E InouyeAustraliaStephen Shaw NEGOTIATION
Silvio H RutaJapanIvan Magalhaes UNQUALIFIED
Leja L OstroskyCanadaAnna Fali PROPOSAL
Wickens R PoquetteJapanXuxue Feng NEGOTIATION
Antonio V FerenczFranceElwin Sharvill NEW
Chavez W DilliardBrazilAsiya Javayant NEGOTIATION
Julie S BowleyAustraliaAmy Elsner PROPOSAL
Ivar S KolmetzArgentinaIoni Bowcher NEW
Ashley M OldroydUnited KingdomIoni Bowcher NEGOTIATION
Wickens Z BologniaArgentinaStephen Shaw NEW
Morrow Z TollnerGermanyElwin Sharvill PROPOSAL
Costa V DoeCanadaAnna Fali UNQUALIFIED
Smith Z OstroskyIndiaIvan Magalhaes NEGOTIATION
Jones W BowleyIndiaStephen Shaw QUALIFIED
Alejandro M WaycottSpainAnna Fali NEGOTIATION
Jeanfrancois M WieserJapanElwin Sharvill RENEWAL
Wickens Y AmigonJapanXuxue Feng RENEWAL
Morrow H DilliardItalyAsiya Javayant RENEWAL
Leon Z TollnerItalyBernardo Dominic UNQUALIFIED
Salvatore V GarufiGermanyStephen Shaw PROPOSAL
Adams T SchemmerGermanyXuxue Feng QUALIFIED
Frozen Columns
Name
Ashley K Rim
Aruna F Schemmer
Kaitlin X Saylors
Silvio J Ostrosky
Kadeem G Ostrosky
Faith M Stockham
Jeanfrancois O Chui
Aika U Royster
Juan U Shinko
Wickens M Stockham
Greenwood K Malet
Kaitlin I Maclead
Julie D Nestle
Greenwood W Oldroyd
Jones J Schemmer
Morrow W Marrier
Clifford W Rulapaugh
Chavez L Malet
Arvin C Inouye
Morrow S Wieser
Rodrigues H Stenseth
Costa R Ruta
Adams V Bowley
Jones W Dilliard
Leon L Royster
Chavez L Rim
Faith D Rim
Jeanfrancois M Ruta
Maria Q Marrier
David B Wieser
Wickens E Morasca
Octavia F Rim
Kadeem E Paprocki
Jones H Malet
Greenwood C Dilliard
Mujtaba V Malet
David E Ferencz
Aruna T Whobrey
Claire E Butt
Johnson K Stenseth
Isabel Z Gaucho
Jeanfrancois E Darakjy
Claire W Campain
Juan V Oldroyd
Greenwood X Vocelka
Mujtaba W Whobrey
Sinclair N Glick
Deepesh V Vocelka
Leon Y Malet
Darci P Schemmer
IdCountryDate
1000United Kingdom2024-06-22
1001Russia2024-06-08
1002India2024-06-20
1003France2024-06-21
1004India2024-06-13
1005United Kingdom2024-06-16
1006Canada2024-06-17
1007Italy2024-05-26
1008Argentina2024-05-26
1009Argentina2024-06-12
1010Brazil2024-06-20
1011Germany2024-06-16
1012France2024-05-29
1013Russia2024-06-20
1014India2024-06-18
1015Brazil2024-06-05
1016Australia2024-06-01
1017Spain2024-05-27
1018Brazil2024-06-08
1019United Kingdom2024-06-16
1020France2024-05-29
1021Argentina2024-05-29
1022Brazil2024-06-13
1023Argentina2024-05-26
1024Spain2024-05-31
1025France2024-06-04
1026Russia2024-06-17
1027India2024-06-04
1028Russia2024-05-24
1029Germany2024-06-16
1030Germany2024-05-27
1031Australia2024-06-16
1032Germany2024-05-27
1033Germany2024-06-19
1034Russia2024-05-26
1035United Kingdom2024-05-29
1036France2024-06-09
1037Australia2024-06-18
1038United Kingdom2024-06-02
1039Japan2024-06-10
1040France2024-05-25
1041United Kingdom2024-05-25
1042Brazil2024-06-10
1043Brazil2024-05-31
1044Italy2024-06-19
1045France2024-05-26
1046Germany2024-05-28
1047India2024-06-18
1048Canada2024-05-26
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
David F Venere1000Japan2024-06-09
David E Campain1001France2024-05-26
Clifford K Maclead1002Canada2024-06-07
Costa H Glick1003Brazil2024-05-26
Darci H Briddick1004Canada2024-06-07
Kaitlin Z Vocelka1005Argentina2024-06-20
Murillo A Poquette1006Australia2024-06-18
Isabel S Doe1007Brazil2024-06-08
Jones G Rulapaugh1008Russia2024-06-18
Alejandro B Butt1009Argentina2024-06-18
Mujtaba H Perin1010Germany2024-06-14
Deepesh B Stenseth1011Argentina2024-06-09
Aruna X Oldroyd1012United Kingdom2024-05-25
Octavia L Morasca1013Australia2024-05-30
Tony M Waycott1014Russia2024-06-05
Emily I Nestle1015Germany2024-06-17
Francesco R Dilliard1016Canada2024-06-06
Chavez S Malet1017Japan2024-06-08
Ashley W Shinko1018France2024-06-18
Juan Y Morasca1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois A SlusarskiAustraliaOnyama Limba PROPOSAL
Munro Z DoeCanadaIoni Bowcher QUALIFIED
David A MorascaFranceXuxue Feng QUALIFIED
Arvin P CampainGermanyAmy Elsner QUALIFIED
Sinclair K FlosiUnited KingdomIvan Magalhaes RENEWAL
Isabel B GillianSpainIvan Magalhaes QUALIFIED
Nicolas N BriddickSpainOnyama Limba PROPOSAL
Jeanfrancois T OstroskyCanadaElwin Sharvill UNQUALIFIED
Wickens Z MorascaArgentinaBernardo Dominic QUALIFIED
Maisha N WieserArgentinaAnna Fali QUALIFIED
Darci W GlickRussiaAsiya Javayant QUALIFIED
Deepesh G WieserBrazilBernardo Dominic PROPOSAL
Sinclair R FigeroaSpainElwin Sharvill UNQUALIFIED
Jeanfrancois Q FlosiUnited KingdomIoni Bowcher NEW
Silvio S MacleadUnited KingdomAsiya Javayant QUALIFIED
Stacey K CaudyItalyIoni Bowcher PROPOSAL
Adams M InouyeFranceBernardo Dominic NEGOTIATION
Kaitlin X SlusarskiArgentinaOnyama Limba PROPOSAL
Murillo Q DilliardIndiaIoni Bowcher PROPOSAL
Tony E FlosiCanadaBernardo Dominic UNQUALIFIED
Emily I GarufiItalyIvan Magalhaes RENEWAL
Stacey N GarufiAustraliaElwin Sharvill QUALIFIED
David T OldroydBrazilAsiya Javayant UNQUALIFIED
Kaitlin M ShinkoFranceBernardo Dominic QUALIFIED
Johnson L CaudyCanadaElwin Sharvill PROPOSAL
Faith D RimFranceAnna Fali NEGOTIATION
Greenwood C AlbaresGermanyAsiya Javayant QUALIFIED
Greenwood O CampainGermanyXuxue Feng NEGOTIATION
Ivar X PerinBrazilAsiya Javayant QUALIFIED
Munro P CampainGermanyAmy Elsner UNQUALIFIED
Alejandro J MacleadBrazilIvan Magalhaes QUALIFIED
Antonio E SergiFranceIoni Bowcher NEW
Kadeem T NickaRussiaIoni Bowcher UNQUALIFIED
Leon M BologniaIndiaStephen Shaw UNQUALIFIED
Salvatore R VenereAustraliaXuxue Feng UNQUALIFIED
Leja K OldroydUnited KingdomXuxue Feng UNQUALIFIED
Darci R FigeroaJapanAnna Fali RENEWAL
Greenwood E WaycottBrazilAsiya Javayant NEGOTIATION
Antonio K GillianUnited KingdomXuxue Feng RENEWAL
Mujtaba L BriddickAustraliaBernardo Dominic NEW

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