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
Jennifer U RoysterJapanAnna Fali NEW
Mujtaba C FlosiCanadaOnyama Limba PROPOSAL
Silvio Y GillianJapanElwin Sharvill PROPOSAL
Isabel T KolmetzAustraliaStephen Shaw NEGOTIATION
Claire Y GlickUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin O DarakjyCanadaBernardo Dominic UNQUALIFIED
Claire J RimGermanyBernardo Dominic QUALIFIED
Jefferson Y CaudyIndiaAmy Elsner NEW
Rodrigues Z KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Ivar T PerinAustraliaElwin Sharvill NEW
Adams Z GlickBrazilXuxue Feng NEW
Leja X WhobreyGermanyBernardo Dominic PROPOSAL
Alejandro G StockhamAustraliaIoni Bowcher NEW
Leon B ButtSpainBernardo Dominic PROPOSAL
Rodrigues I DilliardSpainOnyama Limba PROPOSAL
Morrow K KuskoRussiaAsiya Javayant PROPOSAL
Faith H NickaGermanyBernardo Dominic RENEWAL
Cody J FigeroaAustraliaOnyama Limba QUALIFIED
Antonio P BriddickRussiaAsiya Javayant NEW
Greenwood Q InouyeArgentinaXuxue Feng RENEWAL
Leja W RulapaughRussiaAmy Elsner NEW
Cody V MacleadSpainIvan Magalhaes PROPOSAL
Julie I MorascaArgentinaIvan Magalhaes QUALIFIED
Kadeem D TollnerRussiaBernardo Dominic NEGOTIATION
David H CaudyBrazilElwin Sharvill PROPOSAL
Johnson W StensethSpainIoni Bowcher RENEWAL
Stacey R GauchoRussiaAmy Elsner QUALIFIED
Greenwood B AmigonItalyAmy Elsner RENEWAL
Munro K FigeroaIndiaAsiya Javayant PROPOSAL
Antonio U AlbaresBrazilOnyama Limba NEGOTIATION
Julie G SchemmerSpainOnyama Limba NEW
Jennifer G BowleyItalyAmy Elsner RENEWAL
Maisha L SergiBrazilIvan Magalhaes PROPOSAL
Rodrigues V DilliardItalyStephen Shaw UNQUALIFIED
Jefferson R PerinJapanIoni Bowcher NEW
Jones X MacleadIndiaXuxue Feng RENEWAL
Munro G SaylorsArgentinaAmy Elsner NEGOTIATION
Chavez P MarrierGermanyStephen Shaw NEW
Jeanfrancois S CaldareraIndiaElwin Sharvill NEGOTIATION
Ricardo P RulapaughUnited KingdomBernardo Dominic QUALIFIED
Stacey G WaycottItalyElwin Sharvill NEW
Nicolas D CampainItalyXuxue Feng NEGOTIATION
Kaitlin C DoeJapanAsiya Javayant NEW
Smith Q NestleFranceXuxue Feng QUALIFIED
Ivar I RoysterGermanyAnna Fali RENEWAL
Aruna N GarufiAustraliaElwin Sharvill PROPOSAL
Mayumi Y PoquetteAustraliaBernardo Dominic UNQUALIFIED
Jefferson V BowleyItalyStephen Shaw PROPOSAL
Aika R TollnerSpainXuxue Feng NEW
Kadeem X GauchoFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues A GarufiArgentinaIvan Magalhaes NEW
Antonio F NestleJapanAnna Fali QUALIFIED
Octavia S NickaBrazilAmy Elsner QUALIFIED
Aditya J SaylorsJapanElwin Sharvill QUALIFIED
Salvatore D MorascaAustraliaElwin Sharvill NEW
Alejandro J SaylorsArgentinaAmy Elsner NEGOTIATION
Clifford R TollnerRussiaStephen Shaw NEW
Kadeem C SlusarskiFranceStephen Shaw NEW
Mujtaba K AmigonArgentinaAnna Fali UNQUALIFIED
Silvio H MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore L StockhamFrance2025-08-16Dorl, James J Esq QUALIFIED19Asiya Javayant
1001Mayumi N ShinkoSpain2025-08-21Chemel, James L Cpa UNQUALIFIED31Xuxue Feng
1002Jeanfrancois V MaletItaly2025-08-23Buckley Miller Wright QUALIFIED37Ioni Bowcher
1003Silvio M GarufiItaly2025-09-08Feltz Printing Service NEW93Amy Elsner
1004Jeanfrancois V KuskoSpain2025-08-18Chanay, Jeffrey A Esq NEW6Ioni Bowcher
1005Maisha Y NickaGermany2025-09-04Benton, John B Jr UNQUALIFIED76Amy Elsner
1006Maria F FigeroaBrazil2025-09-09Rangoni Of Florence NEGOTIATION53Amy Elsner
1007Ricardo Y OstroskyJapan2025-09-08Chapman, Ross E Esq NEGOTIATION15Elwin Sharvill
1008Adams H OldroydIndia2025-08-25Morlong Associates NEGOTIATION97Ivan Magalhaes
1009Leja U ButtItaly2025-09-02Morlong Associates QUALIFIED37Xuxue Feng
1010Jennifer T RoysterFrance2025-08-29Benton, John B Jr QUALIFIED96Onyama Limba
1011Chavez Z CaudyBrazil2025-08-18Chemel, James L Cpa NEW68Amy Elsner
1012Jeanfrancois G BowleyAustralia2025-08-26Truhlar And Truhlar Attys PROPOSAL3Ivan Magalhaes
1013Smith T GillianAustralia2025-09-03Chemel, James L Cpa PROPOSAL30Amy Elsner
1014Smith E DarakjyRussia2025-09-08Rangoni Of Florence PROPOSAL84Onyama Limba
1015James R RulapaughBrazil2025-08-24Chanay, Jeffrey A Esq UNQUALIFIED98Ivan Magalhaes
1016Tony K MaletSpain2025-09-13Benton, John B Jr UNQUALIFIED91Stephen Shaw
1017Wickens M MaletArgentina2025-09-01King, Christopher A Esq PROPOSAL96Amy Elsner
1018Jones T MorascaIndia2025-08-25Feltz Printing Service NEGOTIATION24Ivan Magalhaes
1019Jennifer K CampainBrazil2025-09-07Feltz Printing Service RENEWAL64Ivan Magalhaes
1020Antonio E TollnerSpain2025-08-23Buckley Miller Wright QUALIFIED57Xuxue Feng
1021Emily M CampainJapan2025-08-30Rangoni Of Florence PROPOSAL16Ivan Magalhaes
1022Adams P GillianJapan2025-09-03Morlong Associates RENEWAL53Ioni Bowcher
1023Silvio A BowleyFrance2025-09-13Rangoni Of Florence PROPOSAL50Ioni Bowcher
1024Clifford L GillianBrazil2025-09-06Feiner Bros NEW73Asiya Javayant
1025Stacey E RoysterRussia2025-08-17Morlong Associates UNQUALIFIED35Bernardo Dominic
1026Kadeem A CampainRussia2025-08-22Commercial Press NEW10Stephen Shaw
1027Jeanfrancois W KuskoBrazil2025-08-24Chanay, Jeffrey A Esq QUALIFIED36Amy Elsner
1028Isabel Z MorascaRussia2025-08-30Buckley Miller Wright RENEWAL16Ivan Magalhaes
1029Nicolas R RulapaughSpain2025-09-10Rousseaux, Michael Esq QUALIFIED7Asiya Javayant
1030Francesco X CaldareraFrance2025-08-30Feltz Printing Service UNQUALIFIED89Xuxue Feng
1031Ricardo J GarufiCanada2025-08-21Benton, John B Jr NEW98Elwin Sharvill
1032Stacey T CaudyIndia2025-09-06Rousseaux, Michael Esq PROPOSAL27Stephen Shaw
1033Octavia P VenereGermany2025-09-01Chapman, Ross E Esq QUALIFIED54Bernardo Dominic
1034Mayumi A MacleadAustralia2025-09-10Rangoni Of Florence RENEWAL13Amy Elsner
1035Mayumi B GauchoRussia2025-09-06Dorl, James J Esq PROPOSAL20Asiya Javayant
1036James K FigeroaFrance2025-08-22Buckley Miller Wright RENEWAL39Bernardo Dominic
1037Misaki W MacleadArgentina2025-09-04Chanay, Jeffrey A Esq NEGOTIATION34Onyama Limba
1038Stacey X StockhamGermany2025-09-12Rousseaux, Michael Esq NEGOTIATION51Ioni Bowcher
1039Darci M MaletGermany2025-08-21Feltz Printing Service NEGOTIATION23Elwin Sharvill
1040Jones L MarrierRussia2025-08-22Printing Dimensions PROPOSAL67Xuxue Feng
1041Adams V GillianAustralia2025-09-12Rangoni Of Florence RENEWAL9Ioni Bowcher
1042Stacey H SchemmerUnited Kingdom2025-09-13Buckley Miller Wright RENEWAL37Onyama Limba
1043Francesco A FollerJapan2025-08-28Printing Dimensions NEW85Stephen Shaw
1044Leon O FigeroaBrazil2025-08-16Printing Dimensions NEW62Elwin Sharvill
1045Claire V MarrierJapan2025-09-01Commercial Press QUALIFIED96Xuxue Feng
1046Ricardo B StensethArgentina2025-08-28Feltz Printing Service NEGOTIATION68Stephen Shaw
1047Mayumi X StockhamSpain2025-09-03Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1048Jeanfrancois R RulapaughCanada2025-09-03Buckley Miller Wright PROPOSAL99Bernardo Dominic
1049Faith B MorascaArgentina2025-09-07Morlong Associates QUALIFIED30Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey O CampainBrazilOnyama Limba PROPOSAL
Leon V MarrierGermanyBernardo Dominic UNQUALIFIED
Deepesh V RutaFranceAsiya Javayant NEGOTIATION
Nicolas A RutaAustraliaBernardo Dominic NEGOTIATION
Ricardo X NestleAustraliaIvan Magalhaes NEW
Julie R KuskoArgentinaAsiya Javayant NEGOTIATION
Faith T DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Munro G CaudyFranceOnyama Limba PROPOSAL
Salvatore Q TollnerIndiaStephen Shaw NEGOTIATION
Greenwood X GillianRussiaAnna Fali QUALIFIED
Kaitlin B WieserRussiaIoni Bowcher QUALIFIED
Salvatore R WhobreyGermanyAnna Fali QUALIFIED
Darci N GarufiUnited KingdomOnyama Limba NEW
Chavez J MaletCanadaAnna Fali RENEWAL
Juan I AmigonRussiaBernardo Dominic QUALIFIED
Isabel U ButtFranceIvan Magalhaes PROPOSAL
Rodrigues T SaylorsIndiaAnna Fali QUALIFIED
Ricardo Q MarrierBrazilAmy Elsner QUALIFIED
Darci U ButtIndiaOnyama Limba NEW
Julie P TollnerCanadaIoni Bowcher RENEWAL
Mujtaba D DilliardFranceAmy Elsner QUALIFIED
Silvio Q GillianGermanyStephen Shaw PROPOSAL
Ashley P PerinArgentinaXuxue Feng RENEWAL
Jennifer E MaletAustraliaElwin Sharvill QUALIFIED
Deepesh N StockhamArgentinaAmy Elsner NEW
Tony O FigeroaRussiaAnna Fali PROPOSAL
Wickens J SergiItalyAnna Fali UNQUALIFIED
Cody Q CaldareraAustraliaAnna Fali NEGOTIATION
Jefferson R StensethItalyAmy Elsner RENEWAL
Maisha C OldroydItalyBernardo Dominic NEGOTIATION
Juan Q RoysterAustraliaStephen Shaw UNQUALIFIED
Ricardo J ShinkoItalyXuxue Feng RENEWAL
Maria K PerinGermanyStephen Shaw NEW
Jennifer E MorascaIndiaAsiya Javayant PROPOSAL
Jefferson C ButtAustraliaOnyama Limba NEGOTIATION
Kadeem Q RulapaughAustraliaIvan Magalhaes RENEWAL
James C SergiSpainAsiya Javayant PROPOSAL
Aditya L ShinkoCanadaAsiya Javayant QUALIFIED
Izzy G PaprockiSpainAmy Elsner RENEWAL
Nicolas V NestleIndiaStephen Shaw QUALIFIED
Emily E TollnerGermanyBernardo Dominic QUALIFIED
Ricardo H GauchoSpainOnyama Limba NEGOTIATION
Ivar X RulapaughUnited KingdomElwin Sharvill PROPOSAL
Chavez S RoysterItalyAnna Fali NEW
Wickens Q GillianAustraliaAmy Elsner PROPOSAL
Sinclair M FigeroaIndiaAnna Fali NEW
Kaitlin Q NickaRussiaAnna Fali NEGOTIATION
Costa B RimItalyBernardo Dominic NEGOTIATION
Silvio W CaldareraFranceIvan Magalhaes PROPOSAL
Darci R VenereArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
Ashley V Shinko
Mujtaba N Butt
Sinclair F Gaucho
David U Caldarera
Darci I Caudy
Deepesh E Saylors
Izzy N Figeroa
Isabel U Rulapaugh
Cody H Paprocki
Greenwood E Glick
Johnson Y Gaucho
Wickens J Iturbide
Maisha X Garufi
Alejandro Y Rim
Jeanfrancois F Bolognia
Maria I Stockham
Clifford R Bowley
Kadeem J Garufi
Ashley J Foller
Isabel I Venere
Clifford E Chui
Ivar R Chui
Isabel Q Gillian
Faith F Nicka
Antonio I Caudy
Arvin A Garufi
Claire S Sergi
Antonio A Amigon
Leja R Doe
Greenwood X Slusarski
Rodrigues O Bolognia
Ivar R Nicka
Nicolas E Briddick
David F Bolognia
Mujtaba P Ostrosky
Alejandro B Albares
Darci T Bolognia
Salvatore P Briddick
Jennifer D Darakjy
Mayumi V Vocelka
Maisha Q Wieser
Aika K Ferencz
Emily V Malet
Cody J Ostrosky
Sinclair A Stockham
Kadeem O Bolognia
Misaki F Briddick
Rodrigues X Caudy
Jefferson N Morasca
Jones T Foller
IdCountryDate
1000Australia2025-08-18
1001India2025-09-02
1002Germany2025-09-07
1003Australia2025-09-05
1004Argentina2025-08-20
1005Brazil2025-08-26
1006Argentina2025-09-12
1007Brazil2025-09-03
1008France2025-08-25
1009Japan2025-08-29
1010United Kingdom2025-09-05
1011India2025-09-10
1012Russia2025-09-07
1013Brazil2025-09-01
1014Italy2025-09-11
1015United Kingdom2025-08-26
1016Australia2025-08-21
1017Canada2025-09-09
1018Germany2025-08-29
1019Italy2025-09-06
1020Argentina2025-08-25
1021India2025-08-31
1022India2025-09-02
1023Brazil2025-09-13
1024Argentina2025-09-02
1025Japan2025-08-30
1026Brazil2025-09-11
1027Italy2025-09-06
1028Japan2025-09-10
1029Spain2025-09-06
1030Canada2025-08-22
1031Canada2025-08-22
1032Canada2025-09-09
1033Brazil2025-09-01
1034Spain2025-08-16
1035Australia2025-09-01
1036United Kingdom2025-09-02
1037Italy2025-09-02
1038Australia2025-08-21
1039Australia2025-08-25
1040Germany2025-08-31
1041Brazil2025-08-27
1042Russia2025-08-17
1043India2025-09-03
1044Italy2025-08-23
1045Brazil2025-09-02
1046Brazil2025-09-08
1047Spain2025-08-26
1048Japan2025-08-18
1049Italy2025-08-20

On-Demand Data

NameIdCountryDate
Kaitlin N Shinko1000Canada2025-08-27
Juan X Vocelka1001Australia2025-09-01
Emily W Campain1002Japan2025-09-06
Antonio O Ruta1003Canada2025-08-16
Aditya M Malet1004Australia2025-08-31
Ivar B Wieser1005Germany2025-08-21
Chavez K Amigon1006Spain2025-08-17
Tony E Paprocki1007Japan2025-08-16
Emily V Foller1008France2025-09-06
Clifford H Flosi1009Spain2025-09-02
Clifford B Kusko1010India2025-08-30
Aditya Q Rulapaugh1011Italy2025-08-27
Costa R Iturbide1012France2025-09-07
Tony V Waycott1013Canada2025-08-26
Salvatore L Garufi1014Italy2025-09-10
Julie B Campain1015Brazil2025-09-10
Aika D Sergi1016Russia2025-08-30
Alejandro C Wieser1017Argentina2025-08-29
Juan O Bowley1018Spain2025-09-04
Munro G Waycott1019Germany2025-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio A GauchoFranceXuxue Feng QUALIFIED
Jeanfrancois W ButtArgentinaIvan Magalhaes PROPOSAL
Tony G AlbaresGermanyAsiya Javayant NEGOTIATION
Ricardo P WhobreyRussiaAmy Elsner NEGOTIATION
Munro N OldroydAustraliaStephen Shaw NEW
Costa M MaletRussiaAsiya Javayant PROPOSAL
Maria U OstroskyFranceXuxue Feng QUALIFIED
Johnson M MaletAustraliaIoni Bowcher PROPOSAL
Isabel Z PerinItalyIvan Magalhaes RENEWAL
Clifford A StockhamJapanAnna Fali QUALIFIED
Francesco R FollerArgentinaXuxue Feng PROPOSAL
Claire M OldroydFranceAsiya Javayant QUALIFIED
Faith K MorascaJapanAnna Fali UNQUALIFIED
Leon C TollnerGermanyOnyama Limba NEW
Stacey W RutaJapanStephen Shaw RENEWAL
Izzy L VenereRussiaBernardo Dominic QUALIFIED
Salvatore A GillianBrazilAsiya Javayant RENEWAL
David Z CampainBrazilBernardo Dominic NEW
Mayumi E FigeroaArgentinaElwin Sharvill NEW
Wickens O PerinUnited KingdomAnna Fali PROPOSAL
Aika I PaprockiRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois R FollerBrazilStephen Shaw QUALIFIED
Julie Q RimSpainIvan Magalhaes NEGOTIATION
Kaitlin Q PaprockiItalyElwin Sharvill NEW
Misaki O ChuiCanadaAnna Fali QUALIFIED
Stacey W TollnerSpainIvan Magalhaes NEW
Morrow R ChuiRussiaStephen Shaw NEGOTIATION
Smith B MarrierIndiaIoni Bowcher RENEWAL
Greenwood P MaletSpainAnna Fali UNQUALIFIED
Wickens D WieserJapanBernardo Dominic NEW
Faith M DilliardRussiaAmy Elsner QUALIFIED
Stacey Q RulapaughUnited KingdomAnna Fali NEW
Ricardo M CaudyItalyXuxue Feng UNQUALIFIED
Smith O RimRussiaElwin Sharvill RENEWAL
Greenwood D MorascaItalyBernardo Dominic NEGOTIATION
Octavia W FerenczJapanElwin Sharvill RENEWAL
Ashley E GlickItalyAsiya Javayant NEW
Clifford G MaletJapanElwin Sharvill QUALIFIED
Arvin M KuskoAustraliaElwin Sharvill NEGOTIATION
Aruna R ShinkoItalyOnyama Limba 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" 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>