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 S RutaUnited KingdomOnyama Limba UNQUALIFIED
Misaki Y MaletBrazilIvan Magalhaes PROPOSAL
Deepesh K InouyeFranceStephen Shaw QUALIFIED
Deepesh B WaycottAustraliaAnna Fali PROPOSAL
Maria U BologniaIndiaStephen Shaw RENEWAL
Misaki F AmigonAustraliaElwin Sharvill QUALIFIED
Julie A DilliardJapanAsiya Javayant NEW
Chavez W MaletJapanXuxue Feng NEGOTIATION
Jefferson H DilliardJapanOnyama Limba RENEWAL
Jennifer I FlosiJapanBernardo Dominic NEGOTIATION
Misaki J VocelkaFranceIoni Bowcher QUALIFIED
Aruna A AmigonAustraliaIvan Magalhaes PROPOSAL
Darci Y FlosiGermanyAnna Fali NEGOTIATION
Mujtaba T WhobreyGermanyAmy Elsner PROPOSAL
Aika B BowleyCanadaElwin Sharvill NEW
Jones Z NickaCanadaElwin Sharvill RENEWAL
Murillo Z MarrierItalyAmy Elsner RENEWAL
Misaki E WhobreyJapanXuxue Feng PROPOSAL
Nicolas N WaycottRussiaXuxue Feng NEGOTIATION
Morrow F OldroydRussiaXuxue Feng PROPOSAL
Jefferson P SlusarskiRussiaIvan Magalhaes NEW
Silvio H OldroydCanadaOnyama Limba NEGOTIATION
Misaki L OstroskyRussiaIvan Magalhaes NEGOTIATION
Costa D NestleFranceAnna Fali UNQUALIFIED
Costa V MaletArgentinaAnna Fali QUALIFIED
Mayumi L FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Jones Y MorascaRussiaElwin Sharvill UNQUALIFIED
Stacey X RutaFranceIvan Magalhaes UNQUALIFIED
Ricardo Y MaletFranceAnna Fali NEW
Julie X MaletCanadaAsiya Javayant UNQUALIFIED
Izzy G CampainFranceIvan Magalhaes QUALIFIED
Leon K FollerFranceAmy Elsner QUALIFIED
Juan Y KuskoIndiaBernardo Dominic RENEWAL
Deepesh V RulapaughFranceElwin Sharvill QUALIFIED
Mujtaba Z PoquetteGermanyAnna Fali NEGOTIATION
David H DilliardIndiaAmy Elsner NEGOTIATION
Kaitlin K KolmetzCanadaIoni Bowcher QUALIFIED
Jones Q SergiGermanyAmy Elsner UNQUALIFIED
Munro N FigeroaUnited KingdomIvan Magalhaes RENEWAL
Mayumi C KolmetzUnited KingdomIvan Magalhaes RENEWAL
Ricardo X SaylorsAustraliaAmy Elsner QUALIFIED
Juan Z StensethFranceStephen Shaw PROPOSAL
Stacey L RimRussiaOnyama Limba PROPOSAL
James S StensethJapanIvan Magalhaes NEGOTIATION
Leon O FollerFranceBernardo Dominic QUALIFIED
Smith Q SergiFranceStephen Shaw NEW
Alejandro V FigeroaRussiaElwin Sharvill UNQUALIFIED
Salvatore I PerinGermanyAsiya Javayant RENEWAL
Emily H OldroydJapanStephen Shaw NEW
Jennifer D RimGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody C KolmetzFranceAmy Elsner UNQUALIFIED
Salvatore M WieserArgentinaOnyama Limba UNQUALIFIED
Aika Y DilliardArgentinaAsiya Javayant PROPOSAL
Morrow R GarufiSpainXuxue Feng UNQUALIFIED
Smith S WhobreyCanadaIvan Magalhaes NEW
Aika Y DarakjyIndiaXuxue Feng PROPOSAL
Maria N DoeAustraliaAmy Elsner NEW
Leon F InouyeCanadaXuxue Feng UNQUALIFIED
Murillo S OldroydItalyElwin Sharvill RENEWAL
Jefferson O GillianItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey S WaycottSpain2025-07-31Feiner Bros NEGOTIATION88Onyama Limba
1001Arvin S StensethJapan2025-07-20Dorl, James J Esq RENEWAL93Bernardo Dominic
1002Jefferson P CampainRussia2025-08-13Buckley Miller Wright NEW24Onyama Limba
1003Aika T MorascaSpain2025-07-20Feiner Bros NEW43Xuxue Feng
1004Jennifer B MaletRussia2025-08-07Feltz Printing Service QUALIFIED17Stephen Shaw
1005Aika Y RoysterUnited Kingdom2025-07-19King, Christopher A Esq NEGOTIATION24Asiya Javayant
1006Emily W StockhamItaly2025-07-20Printing Dimensions NEGOTIATION83Onyama Limba
1007Jeanfrancois B WhobreyJapan2025-07-21Feltz Printing Service UNQUALIFIED4Onyama Limba
1008Munro I CaldareraCanada2025-08-01Feiner Bros QUALIFIED89Ivan Magalhaes
1009Morrow Y WieserJapan2025-07-21King, Christopher A Esq QUALIFIED73Asiya Javayant
1010Tony X RutaRussia2025-08-06Dorl, James J Esq NEW58Elwin Sharvill
1011Salvatore C StockhamJapan2025-08-06Buckley Miller Wright UNQUALIFIED93Stephen Shaw
1012Wickens U NickaSpain2025-08-05Rangoni Of Florence NEGOTIATION9Elwin Sharvill
1013Claire N MorascaJapan2025-07-25Truhlar And Truhlar Attys QUALIFIED60Onyama Limba
1014Emily Q PerinCanada2025-08-01Buckley Miller Wright NEW32Elwin Sharvill
1015Ashley Y WieserArgentina2025-08-14Feiner Bros QUALIFIED59Elwin Sharvill
1016Francesco B RimAustralia2025-07-24Commercial Press RENEWAL34Amy Elsner
1017Maisha V TollnerGermany2025-07-29Chanay, Jeffrey A Esq NEW40Bernardo Dominic
1018Murillo X CaldareraArgentina2025-07-27King, Christopher A Esq PROPOSAL45Bernardo Dominic
1019Munro H DilliardJapan2025-08-11Buckley Miller Wright UNQUALIFIED86Anna Fali
1020Octavia J CaldareraArgentina2025-07-17Commercial Press UNQUALIFIED72Elwin Sharvill
1021Mayumi P CampainItaly2025-08-13Rousseaux, Michael Esq RENEWAL3Elwin Sharvill
1022Kaitlin M KolmetzSpain2025-08-03Morlong Associates RENEWAL90Xuxue Feng
1023Costa K DilliardIndia2025-08-12Rousseaux, Michael Esq RENEWAL7Elwin Sharvill
1024Stacey X CampainJapan2025-08-03Truhlar And Truhlar Attys PROPOSAL25Onyama Limba
1025Kaitlin A DoeIndia2025-07-28Chemel, James L Cpa PROPOSAL50Ivan Magalhaes
1026Julie P MaletArgentina2025-07-30Truhlar And Truhlar Attys NEW97Bernardo Dominic
1027Kaitlin P PoquetteArgentina2025-07-16Buckley Miller Wright PROPOSAL82Stephen Shaw
1028Morrow N SchemmerGermany2025-07-17Benton, John B Jr UNQUALIFIED5Xuxue Feng
1029Leja O DarakjyGermany2025-08-07Feiner Bros NEGOTIATION22Stephen Shaw
1030Leon H BowleyAustralia2025-08-04Feltz Printing Service NEGOTIATION37Elwin Sharvill
1031Jennifer H InouyeAustralia2025-08-03Benton, John B Jr RENEWAL11Asiya Javayant
1032Misaki Z MaletJapan2025-07-23Chemel, James L Cpa QUALIFIED76Onyama Limba
1033Misaki H KuskoRussia2025-08-08Truhlar And Truhlar Attys QUALIFIED1Onyama Limba
1034Clifford R GlickIndia2025-08-10Feiner Bros NEW36Onyama Limba
1035Adams E PoquetteGermany2025-08-03Rangoni Of Florence PROPOSAL84Anna Fali
1036Leja F FigeroaJapan2025-07-29Feiner Bros NEW53Asiya Javayant
1037Stacey W VenereRussia2025-08-08Chemel, James L Cpa NEW90Ivan Magalhaes
1038Wickens P VocelkaSpain2025-08-09Rousseaux, Michael Esq NEGOTIATION62Onyama Limba
1039Mayumi A RulapaughRussia2025-08-14King, Christopher A Esq NEGOTIATION37Bernardo Dominic
1040Sinclair P DoeGermany2025-07-24Benton, John B Jr PROPOSAL34Xuxue Feng
1041Misaki U CaudyRussia2025-08-06Benton, John B Jr QUALIFIED60Stephen Shaw
1042Wickens Q GillianArgentina2025-08-08Buckley Miller Wright PROPOSAL86Asiya Javayant
1043Arvin Q GarufiItaly2025-07-23Truhlar And Truhlar Attys NEW16Elwin Sharvill
1044Isabel O PerinArgentina2025-08-02Benton, John B Jr NEGOTIATION65Asiya Javayant
1045Francesco D NestleItaly2025-08-09Rangoni Of Florence NEW21Amy Elsner
1046Antonio R DarakjyGermany2025-08-02Buckley Miller Wright PROPOSAL6Amy Elsner
1047Costa P WieserIndia2025-08-10Rangoni Of Florence QUALIFIED49Amy Elsner
1048Stacey R CaudySpain2025-08-07Feltz Printing Service UNQUALIFIED5Ivan Magalhaes
1049Nicolas J KolmetzSpain2025-07-27Chemel, James L Cpa NEW50Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer U StockhamFranceBernardo Dominic UNQUALIFIED
Ashley J FlosiUnited KingdomAnna Fali NEW
Jones R GarufiIndiaStephen Shaw QUALIFIED
Jones Q RulapaughRussiaOnyama Limba PROPOSAL
Nicolas P SaylorsSpainAnna Fali NEGOTIATION
Izzy K AmigonCanadaIoni Bowcher NEGOTIATION
Wickens V ChuiBrazilIoni Bowcher QUALIFIED
Jeanfrancois T GauchoRussiaBernardo Dominic NEGOTIATION
Silvio R CampainBrazilAmy Elsner PROPOSAL
Francesco K BowleyCanadaBernardo Dominic NEGOTIATION
Julie R RimBrazilElwin Sharvill UNQUALIFIED
Wickens W BologniaSpainAnna Fali UNQUALIFIED
Maisha D DilliardSpainStephen Shaw NEW
Aika U SchemmerJapanOnyama Limba NEGOTIATION
Darci P PaprockiGermanyIvan Magalhaes RENEWAL
Silvio Z RulapaughRussiaElwin Sharvill NEGOTIATION
Costa Q SaylorsJapanStephen Shaw RENEWAL
Greenwood I FigeroaRussiaStephen Shaw QUALIFIED
Darci M GlickIndiaAsiya Javayant QUALIFIED
Jones S FlosiRussiaBernardo Dominic RENEWAL
Costa V BologniaBrazilStephen Shaw UNQUALIFIED
Jennifer X NestleGermanyIoni Bowcher UNQUALIFIED
Aditya K SlusarskiGermanyElwin Sharvill PROPOSAL
Cody J CaudyCanadaAsiya Javayant RENEWAL
David N RoysterUnited KingdomAmy Elsner PROPOSAL
Wickens U CampainAustraliaXuxue Feng UNQUALIFIED
Izzy X NestleGermanyBernardo Dominic NEGOTIATION
Ivar D NestleCanadaOnyama Limba PROPOSAL
Jennifer K GillianAustraliaAnna Fali RENEWAL
Darci D MarrierRussiaXuxue Feng QUALIFIED
Nicolas M OldroydGermanyAnna Fali RENEWAL
Aika J FollerSpainAnna Fali RENEWAL
Jeanfrancois D KolmetzGermanyElwin Sharvill RENEWAL
Mujtaba L CaudyAustraliaAnna Fali RENEWAL
Cody B CaldareraAustraliaBernardo Dominic RENEWAL
Misaki N AmigonJapanOnyama Limba QUALIFIED
Rodrigues E StockhamJapanBernardo Dominic NEGOTIATION
Ivar X FigeroaCanadaStephen Shaw RENEWAL
Silvio K VocelkaSpainAsiya Javayant PROPOSAL
Maisha O SaylorsFranceIoni Bowcher QUALIFIED
Jones V StensethGermanyBernardo Dominic NEGOTIATION
Mujtaba D CampainArgentinaAmy Elsner QUALIFIED
Stacey B VocelkaFranceIvan Magalhaes NEGOTIATION
Greenwood K DarakjyCanadaAmy Elsner QUALIFIED
Murillo G GlickCanadaIoni Bowcher NEGOTIATION
Adams I DarakjyFranceAmy Elsner PROPOSAL
Mayumi V RoysterFranceIvan Magalhaes QUALIFIED
Maria Y FigeroaJapanAnna Fali RENEWAL
Darci V StockhamJapanAnna Fali NEW
Stacey B FlosiGermanyStephen Shaw RENEWAL
Frozen Columns
Name
Jeanfrancois K Malet
Alejandro V Iturbide
Leja Y Morasca
Francesco X Oldroyd
Deepesh I Gillian
Chavez V Ostrosky
Mujtaba H Ferencz
Julie D Iturbide
Emily N Bowley
Darci L Doe
Morrow B Darakjy
Faith C Doe
Arvin X Kolmetz
Misaki N Briddick
Nicolas F Kusko
Isabel M Shinko
Misaki W Campain
Ashley I Kolmetz
Antonio T Nestle
Juan M Rulapaugh
Claire L Chui
Leja D Ruta
Alejandro E Flosi
Izzy J Darakjy
Mayumi U Poquette
Octavia L Malet
Octavia P Kusko
Tony S Poquette
Morrow F Wieser
Munro J Ferencz
Isabel V Slusarski
Murillo H Inouye
Aditya P Shinko
Maisha U Marrier
Antonio K Bowley
Aruna J Maclead
Juan K Schemmer
Wickens I Stenseth
Stacey J Gaucho
Cody O Rulapaugh
Octavia E Stockham
Mujtaba D Oldroyd
Adams R Nestle
Mujtaba W Slusarski
Leon E Flosi
Darci K Caudy
Octavia E Ferencz
Leja T Malet
Munro J Schemmer
Ricardo Z Perin
IdCountryDate
1000Germany2025-07-26
1001Japan2025-07-24
1002Argentina2025-08-01
1003India2025-08-07
1004United Kingdom2025-07-22
1005Argentina2025-07-16
1006Spain2025-07-25
1007United Kingdom2025-07-21
1008Spain2025-07-31
1009India2025-08-08
1010Argentina2025-08-02
1011Australia2025-08-11
1012Brazil2025-08-14
1013Australia2025-07-18
1014Russia2025-07-19
1015Russia2025-08-05
1016Italy2025-07-17
1017Japan2025-07-18
1018Spain2025-08-13
1019Russia2025-08-04
1020Australia2025-08-09
1021Spain2025-07-25
1022Germany2025-08-12
1023Germany2025-08-10
1024Japan2025-07-31
1025Germany2025-07-19
1026Spain2025-07-29
1027Brazil2025-07-23
1028India2025-07-17
1029France2025-08-10
1030France2025-07-29
1031Japan2025-08-07
1032United Kingdom2025-08-02
1033Russia2025-07-30
1034Australia2025-07-22
1035Argentina2025-07-18
1036Argentina2025-07-20
1037Japan2025-08-11
1038Italy2025-07-29
1039United Kingdom2025-08-08
1040France2025-07-26
1041Spain2025-08-13
1042Japan2025-07-31
1043Japan2025-08-12
1044India2025-07-25
1045Russia2025-08-09
1046Italy2025-08-03
1047Spain2025-07-22
1048France2025-08-03
1049Brazil2025-08-10

On-Demand Data

NameIdCountryDate
Jeanfrancois M Inouye1000Argentina2025-08-11
Claire D Vocelka1001Russia2025-08-05
Johnson D Amigon1002Japan2025-08-10
James Q Stockham1003Canada2025-08-14
Claire L Albares1004Germany2025-07-31
Emily I Kolmetz1005Japan2025-07-27
Jennifer R Waycott1006Australia2025-08-08
Cody I Ostrosky1007Canada2025-07-24
Juan I Rim1008Brazil2025-07-20
Aditya Z Paprocki1009Italy2025-08-03
Jones C Wieser1010Italy2025-08-06
Misaki S Slusarski1011Argentina2025-07-31
Morrow Q Shinko1012India2025-07-18
Maria I Kusko1013Germany2025-08-10
Emily X Ruta1014Japan2025-08-04
Cody W Bolognia1015Japan2025-08-03
Kaitlin L Caldarera1016Canada2025-08-10
Johnson S Chui1017Germany2025-07-27
Leja F Foller1018United Kingdom2025-07-23
Leja O Glick1019Spain2025-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika F GlickFranceIoni Bowcher NEGOTIATION
Isabel F MorascaSpainStephen Shaw UNQUALIFIED
Aika A WieserIndiaOnyama Limba RENEWAL
Sinclair Z CampainJapanIoni Bowcher NEGOTIATION
Ashley O ShinkoBrazilXuxue Feng NEW
Maria A PoquetteJapanAsiya Javayant PROPOSAL
Izzy W IturbideJapanAmy Elsner UNQUALIFIED
Stacey B DilliardFranceXuxue Feng NEGOTIATION
Maria B StockhamArgentinaAmy Elsner PROPOSAL
Francesco S BologniaRussiaOnyama Limba PROPOSAL
Leja X WhobreyJapanBernardo Dominic UNQUALIFIED
Francesco T KolmetzFranceAnna Fali NEW
David N FlosiAustraliaAnna Fali PROPOSAL
Jefferson W RoysterCanadaXuxue Feng RENEWAL
Munro S MarrierAustraliaAmy Elsner NEW
Maria R SlusarskiGermanyStephen Shaw NEGOTIATION
Chavez H MaletGermanyAmy Elsner NEW
Claire W KolmetzJapanIoni Bowcher NEW
Sinclair W PerinFranceIvan Magalhaes PROPOSAL
Tony O MorascaSpainOnyama Limba NEGOTIATION
Jeanfrancois B MarrierGermanyIoni Bowcher NEW
Kadeem N RutaFranceIoni Bowcher PROPOSAL
Rodrigues W MarrierBrazilStephen Shaw PROPOSAL
Adams A WaycottRussiaXuxue Feng RENEWAL
Aditya M CampainBrazilStephen Shaw QUALIFIED
Silvio C ShinkoBrazilOnyama Limba NEW
Ashley I DoeJapanBernardo Dominic QUALIFIED
Ricardo I FollerCanadaAmy Elsner UNQUALIFIED
Munro M CaudyUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba W WhobreyRussiaBernardo Dominic NEW
Arvin P PerinSpainAnna Fali UNQUALIFIED
Antonio G WhobreyAustraliaBernardo Dominic NEGOTIATION
Leon K SchemmerFranceElwin Sharvill QUALIFIED
Maria X FollerGermanyOnyama Limba UNQUALIFIED
Emily L OldroydJapanElwin Sharvill RENEWAL
Jeanfrancois D SaylorsGermanyOnyama Limba NEGOTIATION
Leon H VenereGermanyXuxue Feng NEGOTIATION
Deepesh A MacleadArgentinaIvan Magalhaes RENEWAL
Maisha G WieserSpainAnna Fali PROPOSAL
Maisha Z GillianGermanyIvan Magalhaes QUALIFIED

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