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
Aika E KuskoSpainIoni Bowcher NEW
Claire J RulapaughUnited KingdomOnyama Limba PROPOSAL
Misaki E DilliardSpainAmy Elsner PROPOSAL
Tony R CampainAustraliaAsiya Javayant QUALIFIED
Ashley L AmigonIndiaIvan Magalhaes PROPOSAL
Jefferson Y CampainUnited KingdomElwin Sharvill NEW
Stacey D GillianCanadaBernardo Dominic NEW
Aika X FollerGermanyElwin Sharvill QUALIFIED
James Z FollerGermanyIoni Bowcher NEGOTIATION
Silvio W NestleRussiaStephen Shaw QUALIFIED
Maria L AlbaresJapanBernardo Dominic PROPOSAL
Aika U FigeroaJapanXuxue Feng RENEWAL
Munro W WieserItalyStephen Shaw PROPOSAL
Maria T SchemmerRussiaOnyama Limba UNQUALIFIED
Maisha X ButtArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois T VocelkaAustraliaIoni Bowcher QUALIFIED
Nicolas X MaletCanadaAnna Fali QUALIFIED
Johnson K CaldareraGermanyIvan Magalhaes PROPOSAL
Mujtaba X VocelkaJapanAmy Elsner UNQUALIFIED
Adams K OldroydSpainStephen Shaw RENEWAL
Darci R WhobreyAustraliaAsiya Javayant PROPOSAL
Izzy J PerinItalyAnna Fali NEW
Alejandro U RutaGermanyIoni Bowcher UNQUALIFIED
Munro O OldroydArgentinaOnyama Limba NEW
Morrow S NestleBrazilStephen Shaw NEW
Isabel H MarrierJapanElwin Sharvill NEW
Murillo G FollerGermanyXuxue Feng PROPOSAL
Kadeem M ChuiGermanyAnna Fali NEW
Stacey D GillianUnited KingdomIvan Magalhaes QUALIFIED
Wickens X CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba R GillianCanadaIoni Bowcher PROPOSAL
Julie O GillianRussiaElwin Sharvill NEW
Claire G RimJapanStephen Shaw UNQUALIFIED
Wickens V RoysterUnited KingdomElwin Sharvill NEW
Jennifer F TollnerBrazilIvan Magalhaes RENEWAL
Jones F DarakjyIndiaXuxue Feng PROPOSAL
Tony D GarufiBrazilXuxue Feng NEW
Octavia Q DilliardJapanBernardo Dominic UNQUALIFIED
Costa C VenereUnited KingdomIoni Bowcher NEGOTIATION
Misaki I MarrierRussiaStephen Shaw QUALIFIED
Ricardo M PoquetteArgentinaAnna Fali UNQUALIFIED
Izzy Z DoeAustraliaBernardo Dominic PROPOSAL
Smith H NickaItalyOnyama Limba NEW
Faith B PerinCanadaXuxue Feng NEW
Jefferson Q InouyeAustraliaOnyama Limba RENEWAL
Antonio Z WieserIndiaStephen Shaw NEGOTIATION
Claire W WhobreyRussiaElwin Sharvill QUALIFIED
Sinclair Y BriddickSpainOnyama Limba NEW
Ivar O RutaJapanOnyama Limba QUALIFIED
Claire N BowleySpainXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar O OldroydAustraliaBernardo Dominic UNQUALIFIED
Alejandro P WieserFranceElwin Sharvill PROPOSAL
Emily D MorascaRussiaBernardo Dominic PROPOSAL
Aditya J GillianRussiaAmy Elsner PROPOSAL
Kaitlin G FerenczAustraliaIvan Magalhaes NEW
Rodrigues Z WieserItalyXuxue Feng RENEWAL
Jones C MarrierIndiaXuxue Feng RENEWAL
Salvatore Y RutaFranceIoni Bowcher UNQUALIFIED
Tony I MaletRussiaStephen Shaw NEGOTIATION
Chavez C GillianFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow C RoysterFrance2025-08-17Feiner Bros NEGOTIATION15Stephen Shaw
1001Adams B SergiSpain2025-08-13Chapman, Ross E Esq NEW10Amy Elsner
1002Clifford A FlosiArgentina2025-08-08Buckley Miller Wright NEW48Amy Elsner
1003Smith X MacleadJapan2025-07-24Chanay, Jeffrey A Esq PROPOSAL83Xuxue Feng
1004Jeanfrancois B SchemmerItaly2025-07-23Dorl, James J Esq QUALIFIED89Ioni Bowcher
1005Maria Z StockhamBrazil2025-08-18Rousseaux, Michael Esq NEGOTIATION81Anna Fali
1006Darci S BowleyIndia2025-08-09Buckley Miller Wright NEW86Xuxue Feng
1007Nicolas T SaylorsArgentina2025-07-21Morlong Associates NEW43Amy Elsner
1008Misaki W AlbaresArgentina2025-08-09Printing Dimensions PROPOSAL13Xuxue Feng
1009Ashley I NestleItaly2025-08-03Commercial Press RENEWAL63Ioni Bowcher
1010Antonio X AmigonGermany2025-08-14Chemel, James L Cpa QUALIFIED53Onyama Limba
1011Smith J StockhamUnited Kingdom2025-07-23Rangoni Of Florence QUALIFIED30Stephen Shaw
1012Chavez L WaycottJapan2025-08-07Chemel, James L Cpa RENEWAL15Asiya Javayant
1013Julie B BologniaAustralia2025-08-04Printing Dimensions QUALIFIED11Elwin Sharvill
1014Darci L VenereIndia2025-07-30Feiner Bros UNQUALIFIED48Bernardo Dominic
1015James P AlbaresFrance2025-07-29Commercial Press QUALIFIED46Elwin Sharvill
1016Johnson P VenereArgentina2025-08-17Chemel, James L Cpa QUALIFIED75Amy Elsner
1017Francesco D BowleyBrazil2025-08-02Chemel, James L Cpa NEW8Xuxue Feng
1018Adams T CampainFrance2025-08-11Truhlar And Truhlar Attys UNQUALIFIED5Asiya Javayant
1019Jennifer D PaprockiIndia2025-07-22Printing Dimensions RENEWAL80Amy Elsner
1020Francesco N DilliardCanada2025-08-01Dorl, James J Esq QUALIFIED44Ioni Bowcher
1021Ashley P MarrierFrance2025-08-07Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1022David H PerinBrazil2025-07-21Chapman, Ross E Esq PROPOSAL53Stephen Shaw
1023Alejandro W VocelkaArgentina2025-08-05Chanay, Jeffrey A Esq RENEWAL81Stephen Shaw
1024Murillo E MaletGermany2025-08-11Buckley Miller Wright UNQUALIFIED34Asiya Javayant
1025Tony D BowleyJapan2025-07-20Morlong Associates PROPOSAL75Anna Fali
1026Jefferson O PaprockiBrazil2025-08-06Rousseaux, Michael Esq NEW76Anna Fali
1027Jones C PoquetteUnited Kingdom2025-07-29King, Christopher A Esq UNQUALIFIED10Bernardo Dominic
1028Rodrigues C NestleItaly2025-08-11Chanay, Jeffrey A Esq PROPOSAL48Elwin Sharvill
1029Costa K SergiIndia2025-08-01Benton, John B Jr NEGOTIATION9Stephen Shaw
1030Salvatore Z OstroskyBrazil2025-07-23Chemel, James L Cpa QUALIFIED75Amy Elsner
1031Jeanfrancois G AlbaresJapan2025-08-17Feiner Bros NEW88Anna Fali
1032Nicolas V WhobreyUnited Kingdom2025-08-07Morlong Associates UNQUALIFIED94Amy Elsner
1033Alejandro C NickaAustralia2025-07-24Benton, John B Jr NEGOTIATION67Xuxue Feng
1034Tony E GarufiJapan2025-07-24King, Christopher A Esq RENEWAL1Onyama Limba
1035Antonio O DoeIndia2025-08-13Chanay, Jeffrey A Esq RENEWAL20Elwin Sharvill
1036Wickens N CaudyArgentina2025-08-14Feltz Printing Service QUALIFIED36Amy Elsner
1037Johnson U PaprockiFrance2025-07-23Dorl, James J Esq QUALIFIED85Onyama Limba
1038Mayumi U MorascaFrance2025-08-13Chapman, Ross E Esq QUALIFIED37Onyama Limba
1039Misaki Y GillianUnited Kingdom2025-08-04Chapman, Ross E Esq QUALIFIED8Bernardo Dominic
1040Mujtaba G NestleIndia2025-07-20Printing Dimensions UNQUALIFIED52Amy Elsner
1041Mayumi J GarufiAustralia2025-08-06Buckley Miller Wright UNQUALIFIED99Elwin Sharvill
1042Morrow Z WieserCanada2025-07-25Rousseaux, Michael Esq NEW81Bernardo Dominic
1043Cody U GarufiRussia2025-08-05Dorl, James J Esq NEGOTIATION15Xuxue Feng
1044Cody L BowleyItaly2025-07-31Rangoni Of Florence QUALIFIED5Ioni Bowcher
1045Faith O IturbideBrazil2025-08-06Chemel, James L Cpa UNQUALIFIED34Stephen Shaw
1046Aditya F RulapaughSpain2025-07-24Printing Dimensions NEW15Ivan Magalhaes
1047Nicolas C PoquetteJapan2025-08-02Dorl, James J Esq NEGOTIATION42Stephen Shaw
1048Costa L IturbideRussia2025-07-24Buckley Miller Wright NEGOTIATION59Asiya Javayant
1049Ricardo J KolmetzSpain2025-08-01King, Christopher A Esq QUALIFIED19Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Nicolas T KolmetzFranceOnyama Limba NEGOTIATION
Claire Q RutaRussiaIoni Bowcher QUALIFIED
Mujtaba P BowleyJapanXuxue Feng RENEWAL
Rodrigues C FerenczArgentinaBernardo Dominic PROPOSAL
Greenwood I SaylorsArgentinaAsiya Javayant RENEWAL
Arvin R PerinIndiaAmy Elsner NEW
Stacey B RoysterBrazilElwin Sharvill QUALIFIED
Leon B MaletUnited KingdomXuxue Feng PROPOSAL
Kadeem M MaletArgentinaAsiya Javayant PROPOSAL
Francesco W CaldareraGermanyStephen Shaw NEW
Stacey C RulapaughItalyAmy Elsner NEGOTIATION
Maria M MarrierUnited KingdomStephen Shaw PROPOSAL
Arvin O GarufiJapanOnyama Limba UNQUALIFIED
Rodrigues N RulapaughBrazilOnyama Limba NEGOTIATION
Maria G DoeAustraliaIvan Magalhaes UNQUALIFIED
Arvin F TollnerBrazilOnyama Limba UNQUALIFIED
Leja R CampainRussiaStephen Shaw PROPOSAL
Aditya V NickaArgentinaElwin Sharvill QUALIFIED
Leja J GauchoGermanyAsiya Javayant UNQUALIFIED
Jefferson O SchemmerFranceAmy Elsner UNQUALIFIED
Darci Q PaprockiItalyIoni Bowcher NEW
Jefferson A PaprockiCanadaAmy Elsner UNQUALIFIED
Ashley A MaletSpainXuxue Feng QUALIFIED
Emily K ShinkoBrazilAsiya Javayant PROPOSAL
Misaki Z SergiFranceStephen Shaw UNQUALIFIED
Munro P PoquetteFranceElwin Sharvill QUALIFIED
James N DarakjyItalyElwin Sharvill PROPOSAL
Alejandro O RutaSpainAmy Elsner RENEWAL
Juan N ShinkoBrazilAnna Fali QUALIFIED
Jefferson Z StensethFranceOnyama Limba UNQUALIFIED
Arvin U DilliardIndiaOnyama Limba NEGOTIATION
Isabel P RimSpainXuxue Feng NEGOTIATION
Clifford X DoeGermanyAsiya Javayant UNQUALIFIED
Arvin J SchemmerBrazilStephen Shaw UNQUALIFIED
Darci O BowleyBrazilXuxue Feng NEGOTIATION
Cody R DarakjyGermanyOnyama Limba NEW
Darci T MaletCanadaOnyama Limba PROPOSAL
Izzy Z ShinkoIndiaAsiya Javayant NEW
Maria I MaletArgentinaAnna Fali RENEWAL
Clifford G FollerArgentinaIvan Magalhaes QUALIFIED
David Q CampainArgentinaIvan Magalhaes QUALIFIED
Deepesh K IturbideIndiaAsiya Javayant PROPOSAL
Sinclair B InouyeUnited KingdomAmy Elsner RENEWAL
Octavia K OldroydRussiaAnna Fali UNQUALIFIED
Mayumi A ChuiSpainAnna Fali RENEWAL
Murillo I GlickJapanOnyama Limba RENEWAL
Isabel C SergiUnited KingdomStephen Shaw RENEWAL
Chavez A FigeroaBrazilIvan Magalhaes RENEWAL
Jones G DarakjyJapanIoni Bowcher NEGOTIATION
Jeanfrancois I FlosiUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Maisha V Garufi
Jeanfrancois R Poquette
Kaitlin I Chui
Aruna C Perin
Aika U Caldarera
James L Foller
Claire T Stockham
Aika Y Whobrey
Jeanfrancois K Slusarski
Ricardo H Shinko
Chavez P Rulapaugh
Izzy C Royster
Mujtaba Q Venere
Johnson B Perin
Emily R Chui
James K Marrier
Leja Q Foller
Emily Z Doe
Tony G Tollner
James E Flosi
Clifford H Perin
James B Marrier
Aditya B Schemmer
David B Sergi
Arvin N Paprocki
Silvio R Stockham
Aditya E Waycott
Leon C Kusko
Kadeem W Slusarski
Antonio F Stockham
Clifford O Morasca
Jefferson A Waycott
Morrow M Rim
Faith E Sergi
Cody J Nicka
Greenwood N Rim
Salvatore S Marrier
David S Venere
Nicolas K Ostrosky
Nicolas E Tollner
Adams G Stenseth
Deepesh S Royster
David G Sergi
Costa P Ruta
Francesco N Sergi
Ashley O Waycott
Adams I Slusarski
Emily G Butt
Sinclair H Poquette
Clifford H Nicka
IdCountryDate
1000Australia2025-07-31
1001Russia2025-08-01
1002Japan2025-07-23
1003Japan2025-07-22
1004France2025-07-20
1005Argentina2025-08-07
1006Spain2025-07-30
1007Canada2025-07-28
1008France2025-08-12
1009Russia2025-08-09
1010Italy2025-07-23
1011United Kingdom2025-08-18
1012Japan2025-08-11
1013Germany2025-08-14
1014India2025-07-20
1015India2025-08-04
1016Australia2025-08-07
1017Germany2025-07-29
1018Russia2025-07-27
1019Italy2025-07-24
1020Russia2025-08-08
1021Brazil2025-08-14
1022Australia2025-07-29
1023Australia2025-07-30
1024United Kingdom2025-08-13
1025France2025-08-08
1026Russia2025-08-16
1027France2025-08-12
1028United Kingdom2025-07-29
1029Canada2025-08-12
1030Canada2025-07-29
1031Australia2025-08-05
1032France2025-07-26
1033Australia2025-07-26
1034Spain2025-07-24
1035Canada2025-07-26
1036Germany2025-08-02
1037France2025-08-08
1038France2025-08-07
1039Italy2025-07-23
1040India2025-08-17
1041France2025-07-21
1042Canada2025-08-10
1043Japan2025-07-29
1044Spain2025-08-03
1045India2025-08-08
1046Brazil2025-07-23
1047Argentina2025-08-12
1048Canada2025-07-24
1049Spain2025-08-18

On-Demand Data

NameIdCountryDate
Deepesh Z Malet1000Argentina2025-08-04
Francesco P Ferencz1001Spain2025-08-16
Stacey F Venere1002Australia2025-08-01
Salvatore I Bolognia1003Russia2025-08-06
Adams Z Perin1004Brazil2025-07-21
Maria H Kolmetz1005Canada2025-08-01
Mujtaba A Malet1006Canada2025-07-30
Aruna N Wieser1007Brazil2025-07-22
Ricardo G Waycott1008Japan2025-08-03
Ashley U Marrier1009Russia2025-07-27
Mayumi M Inouye1010India2025-08-08
Isabel H Oldroyd1011Germany2025-07-20
Stacey R Iturbide1012Russia2025-08-03
Maria U Vocelka1013Canada2025-08-10
Octavia D Wieser1014Russia2025-08-13
Mayumi G Malet1015Argentina2025-07-24
Izzy Q Marrier1016Russia2025-08-10
Maria X Bolognia1017Japan2025-08-17
Antonio Z Ferencz1018Brazil2025-07-21
Jones Q Bowley1019Argentina2025-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria I SergiJapanStephen Shaw QUALIFIED
Johnson A NickaArgentinaAsiya Javayant QUALIFIED
Juan L SergiSpainIoni Bowcher QUALIFIED
Leja M FigeroaFranceBernardo Dominic UNQUALIFIED
Morrow A VocelkaGermanyIoni Bowcher NEW
Tony M AmigonGermanyStephen Shaw NEW
Adams Q ButtRussiaXuxue Feng NEGOTIATION
Stacey E RoysterAustraliaXuxue Feng PROPOSAL
Maria H SaylorsUnited KingdomAnna Fali RENEWAL
Greenwood P CaldareraCanadaAsiya Javayant PROPOSAL
Wickens V RutaJapanXuxue Feng UNQUALIFIED
Munro K PaprockiItalyOnyama Limba PROPOSAL
Costa O NestleIndiaAmy Elsner UNQUALIFIED
Kaitlin G BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Aruna B StensethUnited KingdomOnyama Limba PROPOSAL
Adams W SaylorsFranceAsiya Javayant QUALIFIED
Tony N GauchoRussiaOnyama Limba RENEWAL
Darci U WaycottCanadaAsiya Javayant QUALIFIED
Adams U DarakjyCanadaXuxue Feng RENEWAL
Juan I StockhamArgentinaIvan Magalhaes NEGOTIATION
Chavez T PerinArgentinaIoni Bowcher RENEWAL
Juan V SlusarskiJapanAsiya Javayant UNQUALIFIED
Aruna J KolmetzAustraliaXuxue Feng UNQUALIFIED
Mujtaba I MarrierFranceBernardo Dominic QUALIFIED
Adams S DoeBrazilIoni Bowcher PROPOSAL
Francesco O GlickCanadaAmy Elsner NEGOTIATION
Jennifer L FlosiBrazilAsiya Javayant NEGOTIATION
Juan L BologniaIndiaIoni Bowcher PROPOSAL
Nicolas E VenereUnited KingdomElwin Sharvill NEW
Chavez E PaprockiAustraliaOnyama Limba PROPOSAL
Mayumi A OldroydIndiaStephen Shaw RENEWAL
Aditya A SergiCanadaAnna Fali PROPOSAL
Jefferson Q FerenczBrazilAsiya Javayant NEGOTIATION
James D BowleyFranceIvan Magalhaes PROPOSAL
Francesco K KuskoFranceElwin Sharvill NEW
Clifford W PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Maisha C AmigonRussiaAmy Elsner NEGOTIATION
Ricardo S StensethAustraliaIoni Bowcher PROPOSAL
Maria F SlusarskiItalyAnna Fali NEGOTIATION
Morrow O MaletArgentinaElwin Sharvill 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>