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
Darci A MaletIndiaElwin Sharvill UNQUALIFIED
Wickens H StockhamAustraliaOnyama Limba PROPOSAL
Adams R MaletItalyOnyama Limba PROPOSAL
Nicolas V AmigonSpainBernardo Dominic NEGOTIATION
Jones A WaycottCanadaBernardo Dominic NEGOTIATION
Jeanfrancois Q ButtFranceAmy Elsner PROPOSAL
Francesco F AmigonJapanBernardo Dominic NEGOTIATION
Izzy C GarufiFranceAnna Fali PROPOSAL
Leon C MacleadAustraliaAmy Elsner UNQUALIFIED
Munro C WieserUnited KingdomXuxue Feng QUALIFIED
Jones X VenereArgentinaAsiya Javayant QUALIFIED
Faith G FlosiCanadaAnna Fali UNQUALIFIED
Deepesh T MaletGermanyAsiya Javayant RENEWAL
Rodrigues C SchemmerSpainStephen Shaw NEGOTIATION
Chavez F NestleBrazilStephen Shaw NEGOTIATION
Johnson E AlbaresJapanAmy Elsner NEW
Jefferson G VenereSpainAmy Elsner NEGOTIATION
Jones L PerinCanadaBernardo Dominic UNQUALIFIED
Leon M WhobreyRussiaIoni Bowcher QUALIFIED
James S ButtJapanAnna Fali QUALIFIED
Silvio L NestleJapanIoni Bowcher NEGOTIATION
Jefferson A ShinkoGermanyOnyama Limba RENEWAL
Cody Q MarrierRussiaBernardo Dominic QUALIFIED
Tony M SlusarskiCanadaXuxue Feng UNQUALIFIED
Maisha B DarakjyFranceElwin Sharvill NEW
Rodrigues P TollnerFranceOnyama Limba NEGOTIATION
Jennifer V RimSpainOnyama Limba RENEWAL
Deepesh O MaletArgentinaOnyama Limba RENEWAL
Morrow D DoeSpainOnyama Limba RENEWAL
Silvio S BowleyGermanyXuxue Feng RENEWAL
David T PerinIndiaBernardo Dominic UNQUALIFIED
Johnson B ChuiArgentinaOnyama Limba UNQUALIFIED
Misaki T BologniaUnited KingdomStephen Shaw UNQUALIFIED
Chavez Z CaudyAustraliaAsiya Javayant NEGOTIATION
Clifford R AlbaresRussiaAmy Elsner RENEWAL
Adams S MaletBrazilOnyama Limba NEGOTIATION
Octavia Y StensethFranceIoni Bowcher NEW
Johnson U MaletIndiaAsiya Javayant UNQUALIFIED
David C DilliardGermanyIvan Magalhaes NEGOTIATION
Rodrigues K StockhamBrazilOnyama Limba UNQUALIFIED
Ivar W VenereIndiaAnna Fali QUALIFIED
Mayumi D NickaGermanyAmy Elsner NEW
David Q RimSpainBernardo Dominic NEW
Deepesh E ChuiUnited KingdomOnyama Limba RENEWAL
Darci W FerenczCanadaOnyama Limba QUALIFIED
Maria D PaprockiSpainXuxue Feng RENEWAL
Emily C DarakjyJapanIvan Magalhaes QUALIFIED
Maria K KolmetzSpainAnna Fali NEGOTIATION
Maria M SchemmerGermanyAnna Fali QUALIFIED
Jones A FigeroaRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Emily F BriddickRussiaIvan Magalhaes RENEWAL
Julie B CaldareraRussiaStephen Shaw PROPOSAL
Silvio N TollnerFranceAsiya Javayant NEGOTIATION
Maisha Y VocelkaAustraliaIvan Magalhaes NEW
Mayumi L GillianIndiaElwin Sharvill NEW
David O GauchoGermanyAmy Elsner NEGOTIATION
Misaki Y GauchoCanadaAmy Elsner QUALIFIED
Jeanfrancois H VocelkaGermanyAnna Fali UNQUALIFIED
Mujtaba Z PerinSpainIvan Magalhaes UNQUALIFIED
Misaki C SchemmerSpainIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki G FlosiAustralia2025-08-11Feiner Bros NEGOTIATION0Bernardo Dominic
1001Izzy K VocelkaCanada2025-08-19King, Christopher A Esq PROPOSAL92Elwin Sharvill
1002Silvio D VenereCanada2025-08-05Printing Dimensions QUALIFIED0Asiya Javayant
1003Darci W DarakjySpain2025-08-09Buckley Miller Wright PROPOSAL22Xuxue Feng
1004Leja O NestleSpain2025-08-23Commercial Press NEW1Onyama Limba
1005Emily J NestleRussia2025-08-23Chapman, Ross E Esq PROPOSAL91Stephen Shaw
1006Emily A NickaIndia2025-08-25Morlong Associates QUALIFIED83Stephen Shaw
1007Morrow L ChuiJapan2025-08-13King, Christopher A Esq NEGOTIATION27Asiya Javayant
1008Ivar Y MarrierIndia2025-08-28Rangoni Of Florence NEW73Elwin Sharvill
1009Aika A OldroydBrazil2025-08-09Printing Dimensions QUALIFIED12Anna Fali
1010Nicolas R PaprockiIndia2025-08-03King, Christopher A Esq NEGOTIATION45Ivan Magalhaes
1011Salvatore F NestleGermany2025-08-03Chanay, Jeffrey A Esq NEW82Asiya Javayant
1012Maria I StockhamCanada2025-08-11Buckley Miller Wright UNQUALIFIED39Onyama Limba
1013Maisha M RoysterAustralia2025-08-13Morlong Associates NEW33Ioni Bowcher
1014Smith P WhobreyAustralia2025-08-22Printing Dimensions QUALIFIED31Stephen Shaw
1015Munro Z GauchoIndia2025-07-30Benton, John B Jr QUALIFIED63Elwin Sharvill
1016Jefferson R GauchoCanada2025-08-23Printing Dimensions NEW16Amy Elsner
1017Juan Z StensethIndia2025-08-03Chapman, Ross E Esq PROPOSAL66Xuxue Feng
1018Mayumi K SchemmerItaly2025-08-11Buckley Miller Wright UNQUALIFIED33Amy Elsner
1019Adams Y NickaIndia2025-08-25Feltz Printing Service NEGOTIATION66Xuxue Feng
1020Johnson N SlusarskiBrazil2025-08-22King, Christopher A Esq PROPOSAL95Xuxue Feng
1021Isabel W ButtItaly2025-08-24Feiner Bros PROPOSAL79Bernardo Dominic
1022Maria Z TollnerUnited Kingdom2025-08-07Benton, John B Jr QUALIFIED76Onyama Limba
1023Aruna D MaletIndia2025-08-11Feiner Bros UNQUALIFIED67Stephen Shaw
1024Juan D OldroydCanada2025-08-19Printing Dimensions PROPOSAL0Anna Fali
1025Maisha J ChuiCanada2025-08-15Buckley Miller Wright UNQUALIFIED64Elwin Sharvill
1026Tony J WhobreyUnited Kingdom2025-08-20Rousseaux, Michael Esq NEW71Anna Fali
1027Misaki I VocelkaJapan2025-08-03Chanay, Jeffrey A Esq UNQUALIFIED51Stephen Shaw
1028Alejandro G StockhamJapan2025-08-09King, Christopher A Esq NEW42Anna Fali
1029Salvatore B MarrierJapan2025-08-22Chapman, Ross E Esq RENEWAL60Xuxue Feng
1030James D BologniaRussia2025-08-25Dorl, James J Esq NEW20Elwin Sharvill
1031Izzy V BowleyBrazil2025-08-26Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1032Deepesh R PaprockiArgentina2025-07-31Commercial Press NEGOTIATION27Anna Fali
1033Greenwood C GarufiFrance2025-08-09Buckley Miller Wright NEGOTIATION4Ivan Magalhaes
1034Arvin W InouyeSpain2025-08-09Benton, John B Jr QUALIFIED65Anna Fali
1035Johnson Y WhobreyArgentina2025-08-16Feltz Printing Service UNQUALIFIED60Ivan Magalhaes
1036Greenwood I WhobreySpain2025-08-16Truhlar And Truhlar Attys QUALIFIED51Xuxue Feng
1037Francesco U SchemmerJapan2025-08-26Dorl, James J Esq QUALIFIED74Elwin Sharvill
1038Juan Z FigeroaFrance2025-08-03Feiner Bros NEW63Elwin Sharvill
1039Morrow X VocelkaCanada2025-07-31Benton, John B Jr QUALIFIED42Xuxue Feng
1040Cody N GillianBrazil2025-07-30Chemel, James L Cpa PROPOSAL47Asiya Javayant
1041Silvio O RoysterItaly2025-08-23Chanay, Jeffrey A Esq QUALIFIED64Amy Elsner
1042Jefferson T NestleRussia2025-08-18Truhlar And Truhlar Attys UNQUALIFIED88Ivan Magalhaes
1043Greenwood S FigeroaCanada2025-07-30Chapman, Ross E Esq UNQUALIFIED77Asiya Javayant
1044Claire O OldroydIndia2025-08-18Feltz Printing Service UNQUALIFIED27Stephen Shaw
1045Emily F PaprockiCanada2025-08-13Morlong Associates PROPOSAL33Anna Fali
1046Ricardo H GauchoRussia2025-08-06Printing Dimensions PROPOSAL66Elwin Sharvill
1047Murillo Q GarufiSpain2025-08-22Truhlar And Truhlar Attys UNQUALIFIED8Onyama Limba
1048Stacey B GauchoAustralia2025-08-26Rousseaux, Michael Esq PROPOSAL82Asiya Javayant
1049Deepesh M NickaGermany2025-08-22King, Christopher A Esq NEGOTIATION42Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith O OstroskyCanadaIoni Bowcher UNQUALIFIED
Jennifer I VocelkaGermanyStephen Shaw NEGOTIATION
Isabel J InouyeRussiaAnna Fali UNQUALIFIED
Emily T BologniaBrazilIvan Magalhaes NEGOTIATION
Cody P FlosiAustraliaStephen Shaw NEGOTIATION
Mujtaba O SaylorsSpainIvan Magalhaes QUALIFIED
Salvatore A RimJapanIoni Bowcher PROPOSAL
Murillo F SaylorsJapanElwin Sharvill NEW
Claire P PoquetteSpainBernardo Dominic QUALIFIED
Francesco L GlickGermanyIvan Magalhaes NEW
Silvio T StockhamItalyXuxue Feng QUALIFIED
Aruna O InouyeItalyOnyama Limba NEGOTIATION
Aika D MaletItalyAsiya Javayant PROPOSAL
Alejandro I OstroskySpainIvan Magalhaes NEGOTIATION
James V RimFranceIoni Bowcher RENEWAL
Julie D CaudyGermanyAmy Elsner UNQUALIFIED
Jennifer T CampainCanadaOnyama Limba RENEWAL
Clifford V KolmetzIndiaIoni Bowcher PROPOSAL
Octavia S NestleCanadaXuxue Feng NEW
Leon K MaletJapanStephen Shaw PROPOSAL
Costa F SchemmerGermanyIvan Magalhaes NEGOTIATION
Darci H InouyeAustraliaXuxue Feng PROPOSAL
Kadeem L VocelkaItalyAnna Fali QUALIFIED
Munro Z ChuiRussiaXuxue Feng NEW
Aika X SergiGermanyBernardo Dominic NEGOTIATION
Izzy Q PaprockiItalyAnna Fali NEW
Wickens X RimBrazilBernardo Dominic PROPOSAL
Rodrigues D AlbaresArgentinaStephen Shaw QUALIFIED
Jefferson C KolmetzFranceBernardo Dominic RENEWAL
Juan B TollnerRussiaAnna Fali PROPOSAL
Deepesh G BologniaUnited KingdomStephen Shaw NEW
Costa J VocelkaItalyIvan Magalhaes UNQUALIFIED
Murillo P ChuiUnited KingdomXuxue Feng UNQUALIFIED
Nicolas X RulapaughArgentinaOnyama Limba QUALIFIED
Jennifer U ButtCanadaIoni Bowcher NEGOTIATION
Julie R ChuiArgentinaAmy Elsner UNQUALIFIED
Clifford Y BowleyJapanOnyama Limba NEGOTIATION
Costa A FerenczIndiaAnna Fali NEW
Alejandro L WieserItalyAnna Fali RENEWAL
Maria Y ShinkoJapanIvan Magalhaes QUALIFIED
Smith X StockhamBrazilXuxue Feng QUALIFIED
Jones R MaletFranceElwin Sharvill RENEWAL
Julie Y PoquetteItalyOnyama Limba PROPOSAL
Isabel U DarakjyAustraliaAsiya Javayant NEGOTIATION
Juan W DilliardIndiaOnyama Limba UNQUALIFIED
Silvio T FollerUnited KingdomAnna Fali NEW
Faith G CaldareraIndiaStephen Shaw PROPOSAL
Arvin Z AlbaresCanadaXuxue Feng NEW
Greenwood Q OldroydFranceBernardo Dominic PROPOSAL
Smith U FerenczAustraliaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Jennifer M Stockham
Adams X Inouye
Sinclair Z Schemmer
Francesco J Kolmetz
Emily K Foller
Izzy E Tollner
Antonio B Foller
Jeanfrancois B Malet
Wickens F Nicka
Greenwood E Amigon
Arvin P Sergi
Rodrigues M Paprocki
Greenwood X Ostrosky
Cody V Marrier
Faith Y Doe
Darci W Marrier
Cody N Tollner
Aditya F Dilliard
Kaitlin N Royster
Isabel U Garufi
Aruna I Stenseth
Sinclair D Garufi
Maria U Sergi
Juan E Albares
Silvio G Chui
Maisha D Waycott
Jeanfrancois V Doe
Greenwood B Paprocki
Chavez L Sergi
Maisha V Inouye
James R Nicka
Francesco J Tollner
Cody R Whobrey
Juan F Schemmer
Costa I Wieser
Silvio K Malet
David K Waycott
Greenwood F Waycott
Nicolas N Poquette
Kaitlin P Royster
Aruna D Marrier
Mayumi A Poquette
Izzy Y Venere
Jefferson G Oldroyd
Jones E Stenseth
Leon H Ostrosky
Aruna C Iturbide
Mayumi S Doe
Chavez G Chui
Morrow Z Gillian
IdCountryDate
1000Australia2025-08-16
1001Japan2025-08-28
1002Japan2025-08-25
1003India2025-08-26
1004Australia2025-08-04
1005Spain2025-08-03
1006Spain2025-08-20
1007India2025-08-26
1008Germany2025-08-26
1009Argentina2025-08-03
1010Italy2025-08-12
1011Argentina2025-08-10
1012Brazil2025-08-05
1013Australia2025-08-07
1014Australia2025-08-21
1015Australia2025-08-26
1016Italy2025-08-26
1017France2025-07-30
1018Italy2025-08-08
1019Brazil2025-08-01
1020Spain2025-08-20
1021United Kingdom2025-08-21
1022Italy2025-08-18
1023United Kingdom2025-08-27
1024France2025-08-23
1025Canada2025-08-28
1026Canada2025-08-23
1027Canada2025-08-19
1028India2025-08-08
1029Japan2025-07-31
1030Canada2025-07-30
1031Argentina2025-08-12
1032United Kingdom2025-08-07
1033Argentina2025-08-23
1034Spain2025-08-25
1035India2025-08-26
1036Russia2025-08-01
1037Spain2025-08-16
1038Germany2025-08-21
1039Japan2025-08-08
1040India2025-08-08
1041United Kingdom2025-08-21
1042Japan2025-08-11
1043Germany2025-08-08
1044Argentina2025-08-18
1045Spain2025-08-09
1046United Kingdom2025-08-22
1047Canada2025-07-31
1048United Kingdom2025-07-30
1049United Kingdom2025-08-10

On-Demand Data

NameIdCountryDate
Octavia K Schemmer1000United Kingdom2025-08-19
Deepesh U Doe1001India2025-08-14
Ashley G Dilliard1002Australia2025-08-04
Antonio W Royster1003Germany2025-08-25
Alejandro J Schemmer1004Italy2025-07-30
Leja N Caldarera1005Argentina2025-08-02
Ricardo N Maclead1006Australia2025-07-30
Smith K Bowley1007Germany2025-07-30
Faith L Waycott1008Japan2025-08-05
Tony D Stenseth1009France2025-08-26
Antonio P Campain1010Italy2025-08-25
Cody F Flosi1011Brazil2025-08-01
Jefferson M Rim1012Russia2025-08-09
Chavez K Stenseth1013Argentina2025-08-04
Aruna A Doe1014Germany2025-08-05
Kadeem G Ruta1015Brazil2025-08-17
Isabel V Whobrey1016Australia2025-08-16
Munro Z Wieser1017Italy2025-08-09
Mayumi T Ostrosky1018Brazil2025-08-10
Johnson O Foller1019Canada2025-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Q NickaCanadaAmy Elsner NEW
Clifford W RoysterItalyBernardo Dominic UNQUALIFIED
Ashley N ShinkoBrazilIoni Bowcher UNQUALIFIED
Jennifer W PoquetteFranceOnyama Limba QUALIFIED
Emily J WhobreySpainIvan Magalhaes QUALIFIED
Nicolas A MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio Z RimGermanyElwin Sharvill RENEWAL
Adams L ButtArgentinaOnyama Limba NEW
Smith E DilliardGermanyIoni Bowcher RENEWAL
Faith A BowleyJapanXuxue Feng QUALIFIED
Cody V GauchoJapanXuxue Feng QUALIFIED
Mayumi M CaldareraCanadaAmy Elsner NEGOTIATION
Maisha O KolmetzAustraliaOnyama Limba NEGOTIATION
Aditya P PaprockiGermanyOnyama Limba NEGOTIATION
Isabel R ChuiIndiaElwin Sharvill NEW
Aditya X MaletGermanyXuxue Feng NEW
Claire D DoeBrazilXuxue Feng RENEWAL
Salvatore L BriddickIndiaOnyama Limba NEW
Deepesh F ChuiAustraliaXuxue Feng RENEWAL
Jones V AlbaresBrazilXuxue Feng NEW
Jones A PerinRussiaAnna Fali PROPOSAL
Aditya T PoquetteAustraliaBernardo Dominic RENEWAL
Misaki O BologniaIndiaIvan Magalhaes UNQUALIFIED
Mujtaba K CaudyGermanyAsiya Javayant PROPOSAL
Stacey K StensethIndiaAmy Elsner PROPOSAL
Nicolas L NickaBrazilIoni Bowcher PROPOSAL
Faith L NickaFranceIvan Magalhaes PROPOSAL
Leja R PaprockiAustraliaXuxue Feng PROPOSAL
Darci B RoysterAustraliaAmy Elsner QUALIFIED
Salvatore F VenereItalyStephen Shaw NEW
Mujtaba Q WhobreySpainIoni Bowcher RENEWAL
Claire X DilliardFranceStephen Shaw NEW
Maisha L KuskoIndiaIoni Bowcher QUALIFIED
James P TollnerUnited KingdomElwin Sharvill RENEWAL
Chavez M FerenczGermanyIoni Bowcher NEW
Francesco D BriddickBrazilAsiya Javayant PROPOSAL
Greenwood U RulapaughSpainIoni Bowcher NEGOTIATION
Chavez C NickaArgentinaElwin Sharvill UNQUALIFIED
Claire K WieserCanadaBernardo Dominic UNQUALIFIED
Ricardo R GauchoJapanAsiya Javayant 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>