Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Arvin N BowleyArgentinaIvan Magalhaes RENEWAL
Deepesh U MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Leon P PoquetteCanadaBernardo Dominic RENEWAL
Murillo L FollerSpainStephen Shaw UNQUALIFIED
Mayumi L FollerCanadaAnna Fali NEW
Costa W PerinArgentinaAmy Elsner UNQUALIFIED
Aika J KuskoFranceIoni Bowcher QUALIFIED
Nicolas V StockhamItalyXuxue Feng UNQUALIFIED
Chavez O SlusarskiArgentinaAmy Elsner NEW
Morrow N PoquetteJapanElwin Sharvill NEGOTIATION
Mayumi A DarakjyCanadaIvan Magalhaes PROPOSAL
David G StockhamBrazilIvan Magalhaes NEGOTIATION
Deepesh D DarakjyAustraliaIoni Bowcher NEW
Claire E ChuiGermanyStephen Shaw QUALIFIED
Silvio G CaudyGermanyElwin Sharvill NEGOTIATION
Aruna N BowleyBrazilAnna Fali NEW
Maria K MarrierIndiaBernardo Dominic RENEWAL
Clifford A GlickFranceXuxue Feng NEW
David V BriddickIndiaAmy Elsner UNQUALIFIED
Leja R FerenczFranceElwin Sharvill QUALIFIED
Alejandro H VenereRussiaBernardo Dominic NEGOTIATION
Sinclair R MorascaItalyIoni Bowcher NEW
Sinclair U BologniaGermanyElwin Sharvill NEW
Aruna W StockhamCanadaAmy Elsner UNQUALIFIED
Isabel F TollnerCanadaStephen Shaw UNQUALIFIED
Johnson H NestleBrazilAnna Fali NEW
Wickens V ShinkoIndiaElwin Sharvill UNQUALIFIED
Johnson G SchemmerBrazilOnyama Limba UNQUALIFIED
James X KolmetzAustraliaBernardo Dominic NEW
Francesco H MaletCanadaOnyama Limba NEW
Adams L CaudyFranceXuxue Feng PROPOSAL
Leon T OldroydRussiaAsiya Javayant NEGOTIATION
Claire Y GillianIndiaIvan Magalhaes NEW
Salvatore K MacleadAustraliaStephen Shaw PROPOSAL
Chavez B ButtJapanAsiya Javayant PROPOSAL
Francesco R SaylorsIndiaXuxue Feng PROPOSAL
Jeanfrancois B StensethJapanXuxue Feng QUALIFIED
Isabel Y ButtFranceXuxue Feng RENEWAL
Ricardo O FigeroaBrazilElwin Sharvill NEGOTIATION
Tony C GarufiUnited KingdomBernardo Dominic NEGOTIATION
David E GillianIndiaAsiya Javayant RENEWAL
Ivar I StockhamAustraliaElwin Sharvill NEGOTIATION
Murillo A GarufiJapanAnna Fali QUALIFIED
Misaki Q BriddickSpainIoni Bowcher QUALIFIED
Aruna L RimArgentinaOnyama Limba NEW
Jennifer H BowleyIndiaStephen Shaw UNQUALIFIED
Jefferson V StockhamArgentinaAsiya Javayant PROPOSAL
Clifford X MaletArgentinaBernardo Dominic NEW
Juan T SaylorsArgentinaBernardo Dominic RENEWAL
David W OstroskyRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh X GlickGermanyElwin Sharvill RENEWAL
Kadeem Z SergiSpainAmy Elsner QUALIFIED
Stacey U MarrierJapanOnyama Limba PROPOSAL
Kadeem U DilliardFranceIoni Bowcher NEGOTIATION
Aditya V InouyeSpainStephen Shaw PROPOSAL
Isabel F BowleyCanadaOnyama Limba PROPOSAL
Sinclair F NestleSpainAmy Elsner UNQUALIFIED
David V KuskoUnited KingdomAnna Fali NEGOTIATION
Leja X DilliardJapanBernardo Dominic NEW
Leon X OstroskyItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey H GarufiItaly2025-08-03Chemel, James L Cpa NEGOTIATION51Ivan Magalhaes
1001Jeanfrancois K InouyeUnited Kingdom2025-07-07Chanay, Jeffrey A Esq RENEWAL8Onyama Limba
1002Greenwood W OstroskyGermany2025-07-24Chanay, Jeffrey A Esq QUALIFIED72Asiya Javayant
1003Emily Y FollerFrance2025-07-20Buckley Miller Wright NEGOTIATION3Ivan Magalhaes
1004Jefferson W RulapaughIndia2025-07-06Commercial Press NEW64Amy Elsner
1005Munro G RutaIndia2025-07-18Truhlar And Truhlar Attys PROPOSAL0Ioni Bowcher
1006Ashley S FlosiGermany2025-07-10Chapman, Ross E Esq PROPOSAL93Ivan Magalhaes
1007Claire X FerenczSpain2025-07-24Truhlar And Truhlar Attys QUALIFIED40Ioni Bowcher
1008Cody Z AmigonSpain2025-07-07Buckley Miller Wright RENEWAL16Stephen Shaw
1009Morrow S FollerGermany2025-07-19Printing Dimensions NEGOTIATION53Anna Fali
1010Darci Q GauchoSpain2025-07-18Commercial Press NEGOTIATION49Ioni Bowcher
1011Faith T ButtSpain2025-07-09Chapman, Ross E Esq PROPOSAL90Xuxue Feng
1012Izzy W VocelkaGermany2025-07-19Dorl, James J Esq QUALIFIED9Anna Fali
1013Cody H AmigonAustralia2025-07-27Chapman, Ross E Esq QUALIFIED76Onyama Limba
1014Maria Z BologniaSpain2025-08-04Truhlar And Truhlar Attys NEW8Stephen Shaw
1015Costa F GillianArgentina2025-07-18Rousseaux, Michael Esq RENEWAL62Xuxue Feng
1016Arvin J CampainFrance2025-07-22Chanay, Jeffrey A Esq UNQUALIFIED6Amy Elsner
1017Johnson N MorascaUnited Kingdom2025-07-08Truhlar And Truhlar Attys PROPOSAL19Anna Fali
1018Ricardo S WaycottBrazil2025-08-02Morlong Associates NEGOTIATION41Onyama Limba
1019Greenwood L OldroydBrazil2025-07-25Benton, John B Jr NEW77Xuxue Feng
1020Maria Y TollnerGermany2025-07-13Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1021Mujtaba B CampainFrance2025-07-23Benton, John B Jr NEGOTIATION71Asiya Javayant
1022Ricardo R MarrierFrance2025-07-19Benton, John B Jr NEGOTIATION46Asiya Javayant
1023Faith M PaprockiFrance2025-08-04Dorl, James J Esq PROPOSAL78Anna Fali
1024Sinclair Y StensethBrazil2025-07-06Dorl, James J Esq QUALIFIED52Amy Elsner
1025Smith F DarakjyArgentina2025-08-02Morlong Associates NEW20Xuxue Feng
1026Tony O FollerRussia2025-07-20Truhlar And Truhlar Attys NEGOTIATION2Ioni Bowcher
1027Jones T SergiArgentina2025-07-20Buckley Miller Wright NEW63Anna Fali
1028Izzy C SergiFrance2025-07-12Buckley Miller Wright QUALIFIED67Xuxue Feng
1029David Q WieserGermany2025-07-08Buckley Miller Wright NEGOTIATION87Onyama Limba
1030Faith F SaylorsArgentina2025-07-31Printing Dimensions PROPOSAL1Elwin Sharvill
1031Adams U GillianRussia2025-07-12Printing Dimensions UNQUALIFIED9Stephen Shaw
1032Tony K BologniaRussia2025-07-26Printing Dimensions PROPOSAL99Elwin Sharvill
1033Sinclair Y WhobreyIndia2025-07-20Feiner Bros PROPOSAL84Amy Elsner
1034Jeanfrancois E AlbaresAustralia2025-07-14Rousseaux, Michael Esq RENEWAL82Xuxue Feng
1035Mujtaba F VocelkaAustralia2025-07-06Printing Dimensions NEW63Elwin Sharvill
1036Aika Y PerinJapan2025-07-17Chemel, James L Cpa NEW65Onyama Limba
1037Clifford F GillianUnited Kingdom2025-07-23Feltz Printing Service QUALIFIED27Ivan Magalhaes
1038Ricardo Z SlusarskiGermany2025-07-21Feltz Printing Service UNQUALIFIED68Elwin Sharvill
1039Izzy I GauchoArgentina2025-08-03Benton, John B Jr QUALIFIED58Elwin Sharvill
1040Isabel D DilliardGermany2025-07-12Printing Dimensions NEGOTIATION81Amy Elsner
1041Wickens Y BriddickItaly2025-07-18Truhlar And Truhlar Attys NEW16Anna Fali
1042Adams O MaletSpain2025-07-17Commercial Press NEGOTIATION88Amy Elsner
1043Munro N PaprockiArgentina2025-07-23Feltz Printing Service PROPOSAL73Anna Fali
1044Ashley M NickaUnited Kingdom2025-07-10Printing Dimensions UNQUALIFIED99Anna Fali
1045Sinclair L RulapaughAustralia2025-08-04Rangoni Of Florence RENEWAL8Onyama Limba
1046Ricardo Q DilliardIndia2025-07-22Chemel, James L Cpa NEGOTIATION32Stephen Shaw
1047Murillo C DoeRussia2025-07-28Morlong Associates QUALIFIED3Anna Fali
1048Emily H AlbaresFrance2025-07-28King, Christopher A Esq QUALIFIED17Ioni Bowcher
1049Greenwood K MaletItaly2025-08-02Morlong Associates NEGOTIATION17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco D GarufiFranceIoni Bowcher NEW
Aditya G NestleJapanIoni Bowcher NEW
Jeanfrancois O CaudyCanadaStephen Shaw PROPOSAL
James O RimUnited KingdomAmy Elsner QUALIFIED
Tony C InouyeItalyIoni Bowcher NEW
Wickens H NestleArgentinaXuxue Feng NEGOTIATION
Silvio C KuskoRussiaElwin Sharvill NEGOTIATION
Adams I NestleSpainOnyama Limba RENEWAL
Rodrigues J AmigonFranceBernardo Dominic UNQUALIFIED
Leja O ChuiSpainAmy Elsner QUALIFIED
Munro E DarakjyAustraliaElwin Sharvill NEGOTIATION
Aruna J GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Darci D GillianFranceBernardo Dominic UNQUALIFIED
Morrow G InouyeSpainAsiya Javayant NEW
Darci P MarrierItalyStephen Shaw PROPOSAL
Adams X MarrierGermanyAsiya Javayant PROPOSAL
Smith P PoquetteIndiaElwin Sharvill RENEWAL
Clifford Y WaycottRussiaOnyama Limba NEW
David W GillianBrazilXuxue Feng UNQUALIFIED
Maria N PoquetteArgentinaBernardo Dominic QUALIFIED
Claire X BologniaCanadaElwin Sharvill PROPOSAL
Ivar D DilliardFranceXuxue Feng NEW
Maisha D VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Kadeem L AmigonGermanyElwin Sharvill PROPOSAL
Maisha W WhobreyGermanyBernardo Dominic QUALIFIED
Greenwood V SergiCanadaIvan Magalhaes NEW
Darci B WhobreyBrazilOnyama Limba NEW
Wickens R GlickBrazilIoni Bowcher NEW
Greenwood O CaldareraRussiaBernardo Dominic RENEWAL
Morrow A GlickIndiaStephen Shaw PROPOSAL
Mujtaba E RulapaughGermanyBernardo Dominic NEGOTIATION
Julie F CaudyJapanBernardo Dominic RENEWAL
Adams H DoeSpainAsiya Javayant PROPOSAL
Jennifer L SergiFranceAnna Fali RENEWAL
Claire C DoeArgentinaOnyama Limba UNQUALIFIED
David E SaylorsFranceStephen Shaw UNQUALIFIED
Smith V RutaBrazilAmy Elsner UNQUALIFIED
Maria U StensethBrazilStephen Shaw RENEWAL
Munro V CaldareraJapanOnyama Limba UNQUALIFIED
Faith C InouyeItalyElwin Sharvill PROPOSAL
Maisha J RulapaughArgentinaBernardo Dominic NEW
Arvin J StockhamItalyStephen Shaw RENEWAL
Misaki E FigeroaUnited KingdomAnna Fali UNQUALIFIED
Julie Q MaletUnited KingdomStephen Shaw NEW
Jennifer N WaycottItalyOnyama Limba NEGOTIATION
James N PerinAustraliaOnyama Limba NEGOTIATION
Alejandro U NestleRussiaIoni Bowcher NEGOTIATION
Wickens Z SaylorsAustraliaXuxue Feng RENEWAL
Murillo S MaletArgentinaIoni Bowcher QUALIFIED
Arvin K RoysterIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Emily U Shinko
Octavia C Doe
Ashley G Nicka
Alejandro R Darakjy
Leja R Ruta
Smith E Gaucho
Aditya R Caudy
Rodrigues V Rulapaugh
David M Malet
Deepesh K Amigon
Jennifer P Malet
Leja E Iturbide
Emily F Paprocki
Adams V Rulapaugh
Rodrigues H Darakjy
Octavia U Ferencz
Murillo T Morasca
Ashley K Tollner
Silvio A Bolognia
Stacey L Nicka
Francesco Q Shinko
Aruna T Maclead
Aruna K Campain
Chavez K Ostrosky
Kadeem P Iturbide
Murillo V Maclead
Izzy N Sergi
Tony I Nestle
Johnson K Foller
Jeanfrancois T Kusko
Jennifer T Oldroyd
Izzy I Flosi
Ashley P Royster
Aditya W Venere
Darci Q Nestle
Stacey X Waycott
Aruna V Malet
Emily A Malet
Emily J Briddick
Silvio Z Ruta
Leja Z Flosi
Cody P Venere
Aika U Briddick
Wickens U Royster
Isabel G Caudy
Kadeem D Iturbide
Greenwood X Stockham
Leon H Stockham
Greenwood O Royster
Maria T Figeroa
IdCountryDate
1000Germany2025-08-04
1001Canada2025-07-23
1002Australia2025-07-10
1003Germany2025-07-07
1004Russia2025-07-09
1005Italy2025-07-21
1006Germany2025-07-27
1007Australia2025-07-26
1008India2025-07-08
1009Italy2025-07-29
1010Australia2025-08-04
1011India2025-07-16
1012Brazil2025-07-16
1013Japan2025-07-13
1014Russia2025-07-08
1015India2025-07-26
1016Canada2025-07-30
1017Argentina2025-07-10
1018India2025-07-14
1019United Kingdom2025-07-18
1020India2025-07-15
1021Italy2025-07-15
1022France2025-07-18
1023Italy2025-07-31
1024Argentina2025-07-17
1025Russia2025-08-01
1026Canada2025-07-19
1027Spain2025-07-11
1028Spain2025-07-30
1029Japan2025-08-02
1030Russia2025-07-25
1031United Kingdom2025-07-26
1032Australia2025-07-06
1033Argentina2025-07-23
1034Italy2025-07-26
1035Italy2025-07-29
1036Australia2025-08-02
1037Australia2025-07-18
1038Australia2025-07-06
1039Spain2025-08-02
1040Russia2025-07-15
1041India2025-07-17
1042Australia2025-07-29
1043Canada2025-07-30
1044Russia2025-07-18
1045France2025-07-06
1046France2025-07-30
1047Canada2025-07-26
1048Canada2025-07-28
1049India2025-07-27

On-Demand Data

NameIdCountryDate
Johnson R Foller1000India2025-07-31
Smith Z Albares1001Canada2025-07-11
Morrow M Caldarera1002Germany2025-07-09
Isabel T Malet1003India2025-07-16
Misaki N Nicka1004Japan2025-07-24
Morrow R Bolognia1005United Kingdom2025-08-02
Antonio Z Morasca1006Spain2025-07-30
Kaitlin B Ruta1007Spain2025-08-03
Cody J Malet1008Argentina2025-07-20
Sinclair Y Dilliard1009Spain2025-07-31
Francesco O Caudy1010Brazil2025-07-12
Silvio C Perin1011France2025-07-12
Misaki M Malet1012Japan2025-07-11
Stacey Z Tollner1013Canada2025-07-15
Kadeem H Gillian1014Brazil2025-08-02
Clifford J Figeroa1015Canada2025-07-13
Aruna K Kolmetz1016Canada2025-07-20
Antonio B Rulapaugh1017Australia2025-07-14
Francesco J Ostrosky1018Germany2025-07-22
Darci H Malet1019Italy2025-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Y AmigonIndiaAnna Fali NEGOTIATION
Adams R NestleGermanyIvan Magalhaes RENEWAL
Silvio P CaudySpainAmy Elsner QUALIFIED
Murillo C FlosiGermanyOnyama Limba UNQUALIFIED
Munro A FigeroaFranceIvan Magalhaes RENEWAL
Clifford U DilliardBrazilXuxue Feng PROPOSAL
Jennifer R OldroydItalyAmy Elsner NEW
Maria F FollerBrazilOnyama Limba RENEWAL
Stacey Q MaletSpainStephen Shaw QUALIFIED
Jefferson Z AlbaresItalyIoni Bowcher PROPOSAL
Costa A AlbaresFranceIoni Bowcher UNQUALIFIED
Ricardo I ButtCanadaElwin Sharvill PROPOSAL
Deepesh N NickaArgentinaAsiya Javayant PROPOSAL
Smith V VenereJapanElwin Sharvill RENEWAL
Ricardo R ButtGermanyStephen Shaw NEGOTIATION
James R ShinkoJapanAnna Fali PROPOSAL
Kaitlin I MaletRussiaAmy Elsner PROPOSAL
Chavez Y BowleyArgentinaOnyama Limba NEGOTIATION
Ashley Y SergiFranceOnyama Limba PROPOSAL
Isabel O BologniaArgentinaAsiya Javayant UNQUALIFIED
Murillo T SergiRussiaXuxue Feng UNQUALIFIED
Ivar D AlbaresBrazilAmy Elsner QUALIFIED
Ivar N FlosiCanadaBernardo Dominic NEGOTIATION
Clifford D GarufiUnited KingdomAnna Fali RENEWAL
Alejandro F SlusarskiFranceElwin Sharvill QUALIFIED
Emily H SergiIndiaAnna Fali QUALIFIED
Nicolas G CaldareraItalyElwin Sharvill UNQUALIFIED
Octavia I WieserBrazilAmy Elsner UNQUALIFIED
Juan V BowleyItalyBernardo Dominic RENEWAL
Cody Y MarrierFranceAnna Fali NEW
Ricardo Q BowleyBrazilStephen Shaw RENEWAL
Ivar G CaudyFranceAsiya Javayant UNQUALIFIED
Aruna B CaudyIndiaAnna Fali PROPOSAL
Costa B VocelkaBrazilOnyama Limba QUALIFIED
Nicolas V StensethFranceXuxue Feng RENEWAL
Jeanfrancois O FigeroaIndiaBernardo Dominic RENEWAL
Ashley B SlusarskiArgentinaAsiya Javayant RENEWAL
Costa E OldroydGermanyStephen Shaw NEGOTIATION
Claire X IturbideCanadaStephen Shaw QUALIFIED
Juan M SlusarskiIndiaAsiya Javayant 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" frozenColumnsAlignment="left">
            <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>