November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Kadeem C GauchoRussiaBernardo Dominic NEW
Johnson G RoysterBrazilOnyama Limba QUALIFIED
Jefferson G SaylorsFranceXuxue Feng PROPOSAL
Kadeem L BriddickItalyOnyama Limba NEW
Kadeem Z RutaCanadaBernardo Dominic NEGOTIATION
Nicolas X GlickRussiaAmy Elsner UNQUALIFIED
Deepesh I NickaIndiaIvan Magalhaes UNQUALIFIED
Ricardo J KuskoIndiaAmy Elsner QUALIFIED
Costa J PoquetteCanadaElwin Sharvill PROPOSAL
Cody F IturbideBrazilElwin Sharvill PROPOSAL
Emily V GlickBrazilIvan Magalhaes RENEWAL
James D FlosiCanadaElwin Sharvill PROPOSAL
Antonio E FerenczFranceAsiya Javayant PROPOSAL
Johnson N GarufiIndiaBernardo Dominic QUALIFIED
Jennifer X GlickGermanyElwin Sharvill PROPOSAL
Jones H MorascaIndiaAmy Elsner NEGOTIATION
James B BowleyAustraliaXuxue Feng UNQUALIFIED
Izzy D WaycottItalyOnyama Limba NEW
Ashley K MorascaIndiaBernardo Dominic RENEWAL
David J DoeSpainIvan Magalhaes UNQUALIFIED
Julie M GarufiIndiaOnyama Limba NEGOTIATION
Costa T AmigonAustraliaAnna Fali RENEWAL
Maisha J MaletSpainAmy Elsner PROPOSAL
Kaitlin H MarrierIndiaIvan Magalhaes NEGOTIATION
Octavia A WieserIndiaBernardo Dominic QUALIFIED
Murillo E MaletUnited KingdomAnna Fali PROPOSAL
Mayumi Y PoquetteSpainAsiya Javayant QUALIFIED
Cody W PaprockiGermanyAmy Elsner RENEWAL
Nicolas Y ShinkoAustraliaElwin Sharvill UNQUALIFIED
Sinclair E AlbaresSpainAmy Elsner NEW
Nicolas P ShinkoCanadaOnyama Limba PROPOSAL
Rodrigues G GarufiBrazilIoni Bowcher NEGOTIATION
Jeanfrancois V DarakjySpainXuxue Feng UNQUALIFIED
Octavia A NickaFranceXuxue Feng PROPOSAL
Aditya J FerenczSpainAnna Fali NEGOTIATION
Smith E PaprockiGermanyAmy Elsner QUALIFIED
Mujtaba Q IturbideJapanStephen Shaw PROPOSAL
Juan Z GarufiUnited KingdomStephen Shaw RENEWAL
Leja W SergiSpainIoni Bowcher RENEWAL
Maisha P FigeroaAustraliaXuxue Feng UNQUALIFIED
Cody O FerenczSpainIoni Bowcher PROPOSAL
David D FerenczSpainStephen Shaw UNQUALIFIED
Silvio D DarakjyAustraliaOnyama Limba NEW
Aruna H WieserCanadaStephen Shaw NEW
Johnson O BriddickSpainAmy Elsner PROPOSAL
Jones Y DarakjyJapanAmy Elsner NEW
Juan C ButtFranceXuxue Feng NEW
Darci J SergiFranceAnna Fali QUALIFIED
Deepesh G PerinBrazilIoni Bowcher PROPOSAL
James I RoysterSpainElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin V NestleCanadaIoni Bowcher NEGOTIATION
Wickens R VenereItalyAsiya Javayant PROPOSAL
Kaitlin T SchemmerRussiaAnna Fali QUALIFIED
Tony E NestleItalyOnyama Limba RENEWAL
Cody M RoysterCanadaXuxue Feng QUALIFIED
Alejandro Z GillianItalyOnyama Limba NEGOTIATION
Antonio B PerinUnited KingdomIoni Bowcher RENEWAL
Morrow N OldroydBrazilAmy Elsner NEGOTIATION
Aruna M RulapaughAustraliaAnna Fali UNQUALIFIED
Adams L GlickSpainIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh V BologniaCanada2026-09-28Feiner Bros NEGOTIATION31Ioni Bowcher
1001Stacey U MacleadJapan2026-10-08Morlong Associates UNQUALIFIED33Onyama Limba
1002Salvatore B StensethUnited Kingdom2026-10-21Dorl, James J Esq RENEWAL43Ioni Bowcher
1003Morrow X GillianJapan2026-10-21Commercial Press NEW18Bernardo Dominic
1004Morrow A DilliardIndia2026-09-26Morlong Associates UNQUALIFIED56Anna Fali
1005Nicolas P PaprockiAustralia2026-10-11Commercial Press UNQUALIFIED27Asiya Javayant
1006Darci X DilliardItaly2026-10-19Feltz Printing Service NEGOTIATION71Stephen Shaw
1007Ivar H WaycottCanada2026-10-05Rousseaux, Michael Esq UNQUALIFIED52Ioni Bowcher
1008Morrow Q StensethJapan2026-10-20Chemel, James L Cpa QUALIFIED83Xuxue Feng
1009Maria H WaycottCanada2026-10-13Dorl, James J Esq UNQUALIFIED43Elwin Sharvill
1010Francesco U BowleyItaly2026-10-21Truhlar And Truhlar Attys NEW99Onyama Limba
1011Jennifer M GillianCanada2026-10-22Chemel, James L Cpa QUALIFIED49Anna Fali
1012Cody T OldroydAustralia2026-10-16Feltz Printing Service RENEWAL1Anna Fali
1013Sinclair Q VenereBrazil2026-10-25Rangoni Of Florence QUALIFIED88Elwin Sharvill
1014Ricardo R SaylorsGermany2026-10-20Morlong Associates NEW53Ivan Magalhaes
1015Jeanfrancois G BowleyIndia2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED46Asiya Javayant
1016Smith K SchemmerGermany2026-10-13Chemel, James L Cpa RENEWAL27Xuxue Feng
1017Octavia G DoeItaly2026-09-29Rangoni Of Florence PROPOSAL41Anna Fali
1018Julie A GarufiSpain2026-10-20Morlong Associates UNQUALIFIED38Asiya Javayant
1019Aika Q FlosiFrance2026-10-09Chanay, Jeffrey A Esq PROPOSAL53Asiya Javayant
1020Adams M TollnerBrazil2026-10-24Rousseaux, Michael Esq NEW33Onyama Limba
1021Izzy V GillianCanada2026-10-22Benton, John B Jr PROPOSAL23Ioni Bowcher
1022Rodrigues D RimIndia2026-10-09Printing Dimensions UNQUALIFIED61Ivan Magalhaes
1023Sinclair S KuskoFrance2026-10-13Chapman, Ross E Esq NEW78Ivan Magalhaes
1024Aika R ChuiBrazil2026-10-15Chemel, James L Cpa NEGOTIATION36Asiya Javayant
1025Jefferson Q DoeItaly2026-10-23Feltz Printing Service UNQUALIFIED30Asiya Javayant
1026Stacey I VenereFrance2026-10-20Rangoni Of Florence QUALIFIED59Ivan Magalhaes
1027Clifford A WhobreyAustralia2026-10-21Dorl, James J Esq PROPOSAL51Onyama Limba
1028Arvin E GauchoItaly2026-10-12Printing Dimensions UNQUALIFIED51Elwin Sharvill
1029Kaitlin S WhobreySpain2026-09-28Commercial Press NEGOTIATION15Onyama Limba
1030Morrow Y DoeJapan2026-10-15Dorl, James J Esq NEW59Bernardo Dominic
1031Kaitlin D FerenczIndia2026-10-16Printing Dimensions NEGOTIATION47Ivan Magalhaes
1032Munro M NickaFrance2026-10-24King, Christopher A Esq NEGOTIATION65Xuxue Feng
1033Jennifer B NestleSpain2026-10-02Chanay, Jeffrey A Esq PROPOSAL52Onyama Limba
1034Kaitlin M DarakjyCanada2026-10-01Rousseaux, Michael Esq UNQUALIFIED73Ioni Bowcher
1035Adams B RimCanada2026-09-28Morlong Associates UNQUALIFIED20Onyama Limba
1036Deepesh L BriddickJapan2026-09-27Chapman, Ross E Esq UNQUALIFIED63Amy Elsner
1037Maisha C RulapaughJapan2026-10-03Dorl, James J Esq QUALIFIED8Bernardo Dominic
1038Leon F BriddickUnited Kingdom2026-09-28Rousseaux, Michael Esq NEW66Anna Fali
1039Smith X CampainRussia2026-10-15Chapman, Ross E Esq UNQUALIFIED28Xuxue Feng
1040Munro Z RimArgentina2026-10-20Chanay, Jeffrey A Esq RENEWAL79Ioni Bowcher
1041Alejandro T SaylorsJapan2026-09-28Benton, John B Jr NEGOTIATION20Amy Elsner
1042Darci M KuskoItaly2026-10-05Buckley Miller Wright PROPOSAL47Onyama Limba
1043Juan L RimIndia2026-10-23Printing Dimensions UNQUALIFIED78Ioni Bowcher
1044Octavia E CaldareraSpain2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED56Xuxue Feng
1045Emily J SergiBrazil2026-10-18Feltz Printing Service QUALIFIED68Bernardo Dominic
1046Kadeem W FigeroaJapan2026-10-03Chemel, James L Cpa RENEWAL81Stephen Shaw
1047Wickens B RoysterArgentina2026-10-06Benton, John B Jr RENEWAL96Amy Elsner
1048Nicolas R FollerRussia2026-09-28Commercial Press PROPOSAL90Bernardo Dominic
1049Adams P MaletUnited Kingdom2026-10-09Feiner Bros RENEWAL92Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Stacey N MarrierJapanBernardo Dominic NEW
Ricardo N OldroydGermanyStephen Shaw NEGOTIATION
Sinclair S BologniaJapanStephen Shaw RENEWAL
Izzy X RutaUnited KingdomStephen Shaw UNQUALIFIED
Aruna Q VenereJapanAnna Fali QUALIFIED
Misaki F RoysterUnited KingdomAmy Elsner NEW
Ashley S MarrierGermanyElwin Sharvill NEW
Leja R NickaJapanAmy Elsner NEGOTIATION
Izzy K RoysterFranceAmy Elsner QUALIFIED
David N GarufiItalyIvan Magalhaes NEW
Kadeem L BologniaAustraliaXuxue Feng RENEWAL
Emily S FerenczIndiaXuxue Feng NEW
Kadeem F NickaBrazilOnyama Limba UNQUALIFIED
Emily O PoquetteUnited KingdomAsiya Javayant NEW
Jennifer Y GauchoFranceElwin Sharvill UNQUALIFIED
Ashley A SlusarskiCanadaIvan Magalhaes QUALIFIED
Antonio F GauchoJapanXuxue Feng RENEWAL
Aruna F PerinSpainStephen Shaw RENEWAL
Wickens L GauchoArgentinaIvan Magalhaes PROPOSAL
Wickens J RutaIndiaIvan Magalhaes PROPOSAL
Ashley T SaylorsJapanIoni Bowcher NEGOTIATION
Maria J SchemmerCanadaElwin Sharvill NEGOTIATION
Julie K OldroydBrazilBernardo Dominic QUALIFIED
Wickens C GauchoBrazilOnyama Limba QUALIFIED
Izzy F BowleyFranceAsiya Javayant RENEWAL
Smith L FigeroaAustraliaAnna Fali QUALIFIED
Tony J GauchoFranceElwin Sharvill RENEWAL
Jefferson X DilliardUnited KingdomElwin Sharvill NEGOTIATION
Maria C PerinIndiaBernardo Dominic NEW
Darci D DoeUnited KingdomIoni Bowcher UNQUALIFIED
Jones D RimCanadaBernardo Dominic UNQUALIFIED
Wickens R StockhamBrazilStephen Shaw UNQUALIFIED
Misaki Z RutaGermanyIoni Bowcher RENEWAL
Smith C RulapaughRussiaStephen Shaw PROPOSAL
Smith Q StockhamArgentinaOnyama Limba PROPOSAL
Greenwood C KolmetzSpainElwin Sharvill PROPOSAL
Misaki E FollerItalyOnyama Limba NEGOTIATION
Arvin A SergiIndiaIvan Magalhaes NEW
Misaki Y CampainFranceIoni Bowcher QUALIFIED
Octavia O StensethArgentinaElwin Sharvill UNQUALIFIED
Francesco U SaylorsGermanyStephen Shaw NEW
Julie Y SergiFranceIvan Magalhaes UNQUALIFIED
Silvio J DoeCanadaAmy Elsner QUALIFIED
Cody I CaudyGermanyXuxue Feng RENEWAL
Aruna S SaylorsJapanIvan Magalhaes PROPOSAL
James B AlbaresArgentinaAnna Fali NEGOTIATION
Costa S TollnerUnited KingdomElwin Sharvill QUALIFIED
Deepesh B FlosiArgentinaIoni Bowcher PROPOSAL
Stacey U GauchoSpainElwin Sharvill NEGOTIATION
Jennifer W AlbaresJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Silvio Z Rim
Aditya K Darakjy
Aditya D Kusko
Sinclair M Malet
Juan J Inouye
Adams X Bowley
Morrow U Shinko
Jeanfrancois Z Marrier
Antonio J Nestle
Salvatore T Chui
Munro L Gaucho
Ashley W Tollner
Jones U Caudy
Arvin M Gillian
Leja G Maclead
Clifford Y Venere
Johnson X Poquette
Clifford H Kolmetz
Jennifer H Gaucho
Juan X Flosi
Rodrigues K Amigon
Octavia N Butt
Munro Z Venere
Morrow Y Chui
Julie X Schemmer
Ashley D Malet
Alejandro X Wieser
Kaitlin X Malet
Jones V Vocelka
Aruna F Garufi
Greenwood O Stenseth
Rodrigues J Stockham
Francesco Q Caldarera
Mayumi D Bolognia
Silvio N Figeroa
Isabel J Royster
Kaitlin B Flosi
Aruna T Amigon
Mujtaba B Nestle
David Y Amigon
Darci B Malet
Jones Z Sergi
Leja E Flosi
Jones V Waycott
Mayumi F Doe
Misaki N Gaucho
Leja U Sergi
Salvatore L Inouye
Ricardo W Whobrey
Aika F Ostrosky
IdCountryDate
1000Germany2026-10-14
1001Italy2026-10-10
1002Canada2026-10-15
1003United Kingdom2026-10-19
1004Japan2026-09-26
1005United Kingdom2026-09-30
1006Brazil2026-10-22
1007United Kingdom2026-10-15
1008Germany2026-10-05
1009Argentina2026-10-22
1010Argentina2026-09-30
1011Japan2026-09-27
1012India2026-10-21
1013Italy2026-10-18
1014Germany2026-10-01
1015Canada2026-10-05
1016Germany2026-10-09
1017Italy2026-10-08
1018France2026-10-18
1019Russia2026-10-11
1020Canada2026-10-09
1021India2026-10-08
1022Italy2026-09-29
1023United Kingdom2026-10-06
1024India2026-10-13
1025Russia2026-09-26
1026United Kingdom2026-10-24
1027Japan2026-10-04
1028Canada2026-09-30
1029Brazil2026-10-18
1030Australia2026-10-18
1031Italy2026-10-11
1032Japan2026-10-10
1033Australia2026-10-23
1034Italy2026-10-16
1035Brazil2026-10-15
1036United Kingdom2026-10-07
1037India2026-09-30
1038Germany2026-10-14
1039Japan2026-10-02
1040India2026-10-22
1041India2026-09-30
1042India2026-09-26
1043Argentina2026-09-26
1044France2026-10-04
1045Spain2026-10-12
1046Germany2026-09-28
1047India2026-10-05
1048United Kingdom2026-10-21
1049Italy2026-10-16

On-Demand Data

NameIdCountryDate
Cody Y Wieser1000Japan2026-10-21
Greenwood C Ruta1001Argentina2026-09-27
Cody X Stockham1002Spain2026-10-22
Morrow A Schemmer1003United Kingdom2026-10-21
Izzy J Wieser1004Spain2026-10-03
Aika Z Campain1005Australia2026-10-10
Jeanfrancois V Bolognia1006Argentina2026-09-26
Arvin K Sergi1007Spain2026-10-17
Rodrigues W Tollner1008Russia2026-10-14
Nicolas I Oldroyd1009Russia2026-09-29
Deepesh F Maclead1010Canada2026-10-24
Sinclair K Ruta1011Japan2026-10-04
Jones I Kusko1012France2026-10-09
Izzy M Paprocki1013Argentina2026-10-14
Adams L Foller1014India2026-10-09
Izzy D Iturbide1015Russia2026-10-09
Leja Q Wieser1016Australia2026-10-05
Aditya N Rim1017Germany2026-09-29
Mujtaba N Butt1018Canada2026-10-21
Claire R Malet1019France2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem B AmigonFranceAnna Fali RENEWAL
Stacey C ChuiItalyStephen Shaw RENEWAL
Antonio V OldroydGermanyStephen Shaw RENEWAL
Costa D PerinJapanXuxue Feng NEGOTIATION
David U AlbaresJapanOnyama Limba NEGOTIATION
Maria V MarrierGermanyAmy Elsner PROPOSAL
Wickens X WhobreyCanadaAmy Elsner RENEWAL
Smith E RulapaughCanadaXuxue Feng UNQUALIFIED
Jeanfrancois W RulapaughCanadaElwin Sharvill NEW
Sinclair X BriddickItalyElwin Sharvill PROPOSAL
Jennifer H PoquetteRussiaXuxue Feng NEGOTIATION
Juan R CaldareraRussiaAsiya Javayant PROPOSAL
Jefferson R AlbaresIndiaBernardo Dominic RENEWAL
Arvin B VenereUnited KingdomOnyama Limba NEW
Cody X MacleadCanadaBernardo Dominic QUALIFIED
Smith P SchemmerGermanyIvan Magalhaes NEW
Ricardo Q VocelkaItalyStephen Shaw NEW
Maria H MaletItalyXuxue Feng QUALIFIED
Ricardo A PerinSpainOnyama Limba RENEWAL
Chavez X KolmetzAustraliaStephen Shaw QUALIFIED
Kaitlin W MarrierItalyIoni Bowcher UNQUALIFIED
Kadeem W ButtIndiaElwin Sharvill NEW
Smith V WieserArgentinaXuxue Feng UNQUALIFIED
Silvio G ShinkoItalyXuxue Feng NEW
Emily W FlosiJapanAsiya Javayant RENEWAL
Smith V StockhamSpainAmy Elsner RENEWAL
Rodrigues X CaudyBrazilElwin Sharvill RENEWAL
Isabel T DarakjyArgentinaAsiya Javayant UNQUALIFIED
Maria K RimBrazilOnyama Limba QUALIFIED
Claire D DarakjyArgentinaIvan Magalhaes RENEWAL
Emily C FigeroaFranceIoni Bowcher UNQUALIFIED
Ashley T WaycottFranceOnyama Limba PROPOSAL
Julie R StensethAustraliaIvan Magalhaes QUALIFIED
Jones A NestleJapanAsiya Javayant PROPOSAL
Izzy I GarufiSpainIvan Magalhaes QUALIFIED
Deepesh C AmigonGermanyStephen Shaw NEGOTIATION
Antonio P KolmetzItalyStephen Shaw UNQUALIFIED
Maisha N AlbaresJapanIoni Bowcher NEW
Ashley K VenereFranceStephen Shaw UNQUALIFIED
Morrow K PerinCanadaOnyama Limba UNQUALIFIED

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