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
Smith R KuskoJapanOnyama Limba NEGOTIATION
Leon M NickaUnited KingdomIvan Magalhaes RENEWAL
Misaki K CaudyIndiaAsiya Javayant QUALIFIED
Tony O BowleyItalyBernardo Dominic QUALIFIED
Misaki I GillianSpainAsiya Javayant NEGOTIATION
Maisha E CaldareraIndiaAsiya Javayant PROPOSAL
Sinclair M GauchoRussiaIvan Magalhaes RENEWAL
Adams R MaletFranceElwin Sharvill RENEWAL
Julie C CaldareraCanadaIoni Bowcher RENEWAL
Aditya N OldroydSpainXuxue Feng NEGOTIATION
Ashley K SlusarskiSpainXuxue Feng PROPOSAL
Jennifer C DarakjyAustraliaAnna Fali NEW
Mayumi J FlosiCanadaXuxue Feng QUALIFIED
Nicolas F WhobreyArgentinaIoni Bowcher PROPOSAL
Isabel E FigeroaBrazilOnyama Limba NEGOTIATION
Ricardo F SaylorsUnited KingdomIvan Magalhaes NEW
Ricardo R PaprockiCanadaIvan Magalhaes NEGOTIATION
Morrow K RutaAustraliaElwin Sharvill QUALIFIED
Chavez E VocelkaUnited KingdomXuxue Feng NEGOTIATION
Claire J RutaJapanXuxue Feng UNQUALIFIED
Claire E KuskoFranceAnna Fali RENEWAL
Murillo P VocelkaBrazilAnna Fali PROPOSAL
Maisha E DoeRussiaIoni Bowcher NEGOTIATION
Maisha T WaycottSpainElwin Sharvill PROPOSAL
Johnson Y RimUnited KingdomAnna Fali NEW
Emily D BologniaGermanyIoni Bowcher RENEWAL
Izzy I CaudyGermanyIvan Magalhaes UNQUALIFIED
Antonio K PoquetteRussiaBernardo Dominic NEW
Mujtaba Z PerinIndiaBernardo Dominic QUALIFIED
Emily H TollnerSpainOnyama Limba NEGOTIATION
Faith T BologniaAustraliaElwin Sharvill NEW
Silvio B DoeGermanyStephen Shaw RENEWAL
James T ShinkoAustraliaBernardo Dominic QUALIFIED
David K MorascaFranceAmy Elsner QUALIFIED
Sinclair G DilliardArgentinaIvan Magalhaes RENEWAL
Jeanfrancois F BowleyArgentinaStephen Shaw UNQUALIFIED
Nicolas Q IturbideSpainIoni Bowcher UNQUALIFIED
Claire P BowleyCanadaAnna Fali NEW
Johnson F TollnerFranceStephen Shaw RENEWAL
Aditya N CaudyJapanXuxue Feng UNQUALIFIED
Smith V SchemmerArgentinaBernardo Dominic PROPOSAL
Ricardo N MorascaBrazilXuxue Feng RENEWAL
Clifford H WaycottItalyElwin Sharvill UNQUALIFIED
Isabel Y WaycottSpainOnyama Limba QUALIFIED
Munro G DoeArgentinaOnyama Limba UNQUALIFIED
Smith J IturbideBrazilElwin Sharvill PROPOSAL
Sinclair T NestleGermanyAnna Fali NEGOTIATION
Jeanfrancois Z OldroydArgentinaAnna Fali UNQUALIFIED
Francesco Z RoysterRussiaStephen Shaw UNQUALIFIED
Faith Z StensethArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Juan Q NickaRussiaIoni Bowcher UNQUALIFIED
Ivar X SlusarskiBrazilBernardo Dominic NEW
Isabel X StensethGermanyXuxue Feng PROPOSAL
Izzy G CaudyJapanAmy Elsner PROPOSAL
Johnson F SlusarskiSpainAsiya Javayant NEW
Jennifer Q RoysterArgentinaBernardo Dominic UNQUALIFIED
Jones H ButtRussiaBernardo Dominic UNQUALIFIED
Wickens Y BriddickItalyAmy Elsner NEW
Antonio T SaylorsIndiaAmy Elsner PROPOSAL
Mayumi A RulapaughBrazilAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa D SaylorsItaly2026-09-16Feiner Bros NEGOTIATION51Asiya Javayant
1001Kaitlin X KolmetzJapan2026-09-23Dorl, James J Esq NEW55Ivan Magalhaes
1002Julie U NickaUnited Kingdom2026-10-04Rousseaux, Michael Esq NEW93Ivan Magalhaes
1003Murillo M DilliardCanada2026-09-17King, Christopher A Esq UNQUALIFIED11Ioni Bowcher
1004Francesco A FigeroaFrance2026-09-24Feiner Bros PROPOSAL42Bernardo Dominic
1005Murillo W MaletItaly2026-10-12Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1006Leja G TollnerArgentina2026-10-10Chapman, Ross E Esq PROPOSAL70Stephen Shaw
1007Kaitlin E GarufiSpain2026-09-25Feltz Printing Service NEGOTIATION28Stephen Shaw
1008Tony B BowleyUnited Kingdom2026-09-20Morlong Associates NEW87Ioni Bowcher
1009Maria Q RulapaughArgentina2026-09-20Morlong Associates RENEWAL11Stephen Shaw
1010Tony L VenereGermany2026-09-21Dorl, James J Esq RENEWAL47Amy Elsner
1011Leja O RutaRussia2026-10-10Chemel, James L Cpa UNQUALIFIED43Ivan Magalhaes
1012Wickens Q StockhamUnited Kingdom2026-10-02Rousseaux, Michael Esq RENEWAL80Elwin Sharvill
1013Francesco S GlickRussia2026-09-25King, Christopher A Esq PROPOSAL11Xuxue Feng
1014Wickens Z NestleJapan2026-10-06Printing Dimensions RENEWAL30Elwin Sharvill
1015Aika B NickaArgentina2026-10-02Feltz Printing Service UNQUALIFIED89Ivan Magalhaes
1016Nicolas C VenereRussia2026-09-28Rousseaux, Michael Esq NEW53Stephen Shaw
1017Ashley W WhobreyGermany2026-09-18King, Christopher A Esq PROPOSAL23Stephen Shaw
1018Silvio F PoquetteFrance2026-09-24Commercial Press RENEWAL37Ioni Bowcher
1019Cody K OldroydJapan2026-10-11Truhlar And Truhlar Attys QUALIFIED45Asiya Javayant
1020Alejandro D MorascaArgentina2026-10-03Feiner Bros NEW51Elwin Sharvill
1021Jones P SergiFrance2026-10-12Printing Dimensions QUALIFIED85Anna Fali
1022Leja V MaletCanada2026-09-16Buckley Miller Wright NEW13Onyama Limba
1023Murillo K SchemmerRussia2026-10-09Commercial Press RENEWAL12Asiya Javayant
1024Greenwood K MarrierAustralia2026-09-14Rangoni Of Florence NEGOTIATION19Ioni Bowcher
1025Kadeem H WieserGermany2026-09-20Rangoni Of Florence NEW45Amy Elsner
1026Mujtaba R StensethJapan2026-09-24Dorl, James J Esq PROPOSAL43Xuxue Feng
1027Jennifer M FollerRussia2026-09-23Morlong Associates NEGOTIATION78Xuxue Feng
1028Isabel P WieserBrazil2026-10-02Chemel, James L Cpa UNQUALIFIED87Bernardo Dominic
1029Kaitlin J CampainGermany2026-10-05Printing Dimensions QUALIFIED38Onyama Limba
1030Claire F FollerGermany2026-10-11Chanay, Jeffrey A Esq QUALIFIED26Ioni Bowcher
1031Stacey C InouyeRussia2026-09-29Benton, John B Jr QUALIFIED55Bernardo Dominic
1032Costa X SchemmerCanada2026-09-20Feltz Printing Service RENEWAL74Amy Elsner
1033Aika X VenereArgentina2026-09-14Rangoni Of Florence NEGOTIATION10Ivan Magalhaes
1034Julie C GillianArgentina2026-09-14Commercial Press RENEWAL92Bernardo Dominic
1035Smith N PaprockiFrance2026-10-03Rangoni Of Florence NEW46Asiya Javayant
1036Claire J ButtCanada2026-10-09Chemel, James L Cpa NEGOTIATION96Onyama Limba
1037Juan X CampainJapan2026-09-20Commercial Press QUALIFIED23Amy Elsner
1038Faith D OldroydGermany2026-09-17Dorl, James J Esq NEW4Elwin Sharvill
1039Aika L SchemmerCanada2026-09-22Benton, John B Jr PROPOSAL60Ivan Magalhaes
1040Maria E CampainAustralia2026-09-26Morlong Associates QUALIFIED83Elwin Sharvill
1041Adams I GlickBrazil2026-10-05Chemel, James L Cpa QUALIFIED78Ioni Bowcher
1042Tony M NickaFrance2026-10-06Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1043Jeanfrancois H MacleadCanada2026-09-16Feiner Bros UNQUALIFIED56Elwin Sharvill
1044Wickens Z MarrierUnited Kingdom2026-09-18Commercial Press PROPOSAL66Xuxue Feng
1045Isabel T GlickGermany2026-09-23Dorl, James J Esq NEGOTIATION96Ioni Bowcher
1046Arvin R MaletJapan2026-10-02King, Christopher A Esq QUALIFIED66Stephen Shaw
1047Jones O FerenczBrazil2026-10-09Benton, John B Jr RENEWAL43Anna Fali
1048Johnson W ButtRussia2026-10-07Chanay, Jeffrey A Esq PROPOSAL65Bernardo Dominic
1049Tony O RimFrance2026-09-30Rangoni Of Florence UNQUALIFIED55Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aruna E RutaRussiaIoni Bowcher NEGOTIATION
Kaitlin U GillianJapanIoni Bowcher PROPOSAL
Tony V AmigonSpainIvan Magalhaes RENEWAL
Faith U SaylorsCanadaElwin Sharvill NEGOTIATION
Tony L GarufiAustraliaIoni Bowcher NEGOTIATION
Kaitlin E StensethAustraliaIvan Magalhaes NEW
Leon M BowleyItalyIoni Bowcher RENEWAL
Rodrigues V AmigonRussiaIoni Bowcher QUALIFIED
Emily A PerinCanadaAmy Elsner UNQUALIFIED
Jennifer M DilliardBrazilOnyama Limba QUALIFIED
Izzy D VenereCanadaElwin Sharvill NEW
Kadeem H VenereCanadaAnna Fali NEGOTIATION
Costa B MarrierSpainStephen Shaw NEGOTIATION
Johnson C DilliardFranceAmy Elsner PROPOSAL
Julie C GillianRussiaIoni Bowcher PROPOSAL
Tony J AlbaresFranceElwin Sharvill PROPOSAL
Octavia W KuskoItalyBernardo Dominic QUALIFIED
Faith D ButtItalyAsiya Javayant UNQUALIFIED
Julie Y RimGermanyIoni Bowcher NEW
Johnson X GarufiJapanStephen Shaw NEGOTIATION
Wickens Y IturbideAustraliaElwin Sharvill PROPOSAL
Aruna Q AmigonSpainBernardo Dominic QUALIFIED
Smith R VenereFranceBernardo Dominic NEW
Jeanfrancois W WieserAustraliaIoni Bowcher NEGOTIATION
Salvatore K StensethAustraliaOnyama Limba NEW
Misaki Q CampainBrazilAmy Elsner NEGOTIATION
Ashley N BowleySpainAnna Fali UNQUALIFIED
Adams S MarrierRussiaOnyama Limba RENEWAL
Jones Z CaldareraIndiaAnna Fali NEGOTIATION
Darci Y SaylorsJapanElwin Sharvill UNQUALIFIED
Jones B MarrierItalyAnna Fali QUALIFIED
Jeanfrancois K ChuiUnited KingdomAnna Fali QUALIFIED
Kaitlin X StockhamSpainIvan Magalhaes PROPOSAL
Costa I FerenczAustraliaAmy Elsner NEW
Jefferson Q AmigonSpainXuxue Feng RENEWAL
Isabel I AmigonIndiaIvan Magalhaes NEGOTIATION
Sinclair A AlbaresRussiaStephen Shaw QUALIFIED
Jeanfrancois W StensethJapanIvan Magalhaes UNQUALIFIED
Costa Q GlickIndiaXuxue Feng QUALIFIED
Mujtaba S WieserRussiaOnyama Limba RENEWAL
Ricardo U SchemmerRussiaIoni Bowcher QUALIFIED
Greenwood C OldroydArgentinaElwin Sharvill RENEWAL
Maisha L MaletItalyAsiya Javayant PROPOSAL
Johnson O GlickRussiaIvan Magalhaes PROPOSAL
Adams H AlbaresGermanyStephen Shaw PROPOSAL
Leon X ShinkoItalyElwin Sharvill NEGOTIATION
Claire I FerenczCanadaStephen Shaw QUALIFIED
Sinclair Q DarakjyGermanyAnna Fali UNQUALIFIED
Ivar E IturbideArgentinaElwin Sharvill NEW
Ricardo N MaletRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Alejandro L Ostrosky
Smith G Doe
Cody V Perin
Aditya C Schemmer
Maisha T Kolmetz
Aditya K Morasca
Jefferson N Stenseth
Adams I Schemmer
Misaki U Caudy
Clifford X Ferencz
Chavez C Whobrey
Francesco V Wieser
Juan P Perin
Nicolas F Dilliard
Juan F Royster
Kadeem T Slusarski
Cody S Stockham
Murillo K Nicka
Ashley P Perin
Ashley E Briddick
Johnson T Maclead
Greenwood B Marrier
Greenwood R Waycott
Rodrigues V Royster
Mujtaba K Flosi
Isabel X Ruta
Faith V Figeroa
Greenwood U Tollner
Arvin M Ostrosky
Jeanfrancois R Perin
Munro C Campain
Aditya S Glick
David R Glick
Darci J Bolognia
Julie V Dilliard
Jefferson R Wieser
Tony R Bowley
Stacey Z Foller
Jennifer E Bolognia
Sinclair C Stockham
Kadeem G Perin
Misaki P Garufi
Aruna C Gillian
Silvio W Perin
Leja E Paprocki
Johnson X Saylors
Greenwood U Bolognia
Deepesh G Ferencz
Mayumi N Nestle
Izzy X Slusarski
IdCountryDate
1000Australia2026-10-06
1001Australia2026-10-03
1002Canada2026-10-12
1003Argentina2026-10-03
1004Australia2026-09-25
1005India2026-09-30
1006Germany2026-09-21
1007Germany2026-10-06
1008Japan2026-09-22
1009Brazil2026-09-20
1010France2026-10-09
1011Italy2026-10-05
1012United Kingdom2026-10-11
1013Germany2026-10-05
1014Argentina2026-09-15
1015Argentina2026-10-08
1016Australia2026-09-27
1017United Kingdom2026-09-24
1018Australia2026-09-25
1019Russia2026-09-18
1020India2026-10-09
1021France2026-09-28
1022Spain2026-10-02
1023Spain2026-09-15
1024Germany2026-10-02
1025Spain2026-10-09
1026Canada2026-10-07
1027Germany2026-10-06
1028Spain2026-09-23
1029Spain2026-10-08
1030Argentina2026-10-09
1031United Kingdom2026-10-07
1032Brazil2026-09-20
1033Germany2026-09-26
1034Spain2026-10-10
1035Germany2026-09-29
1036Italy2026-10-02
1037Germany2026-09-16
1038Germany2026-10-08
1039Italy2026-09-26
1040Canada2026-09-27
1041Spain2026-09-17
1042United Kingdom2026-09-22
1043Brazil2026-09-27
1044Brazil2026-10-01
1045India2026-09-18
1046Italy2026-10-01
1047Germany2026-10-04
1048Russia2026-10-03
1049Canada2026-09-17

On-Demand Data

NameIdCountryDate
Izzy M Vocelka1000Italy2026-10-05
Juan S Saylors1001United Kingdom2026-10-06
Jennifer K Perin1002United Kingdom2026-10-06
Smith W Malet1003France2026-09-26
Darci P Paprocki1004Argentina2026-10-08
Sinclair E Figeroa1005Canada2026-09-30
Adams U Rulapaugh1006Russia2026-09-25
Izzy T Poquette1007Italy2026-09-22
Izzy O Kusko1008Italy2026-09-14
Julie D Foller1009India2026-10-02
Jones V Figeroa1010Germany2026-09-30
Chavez W Oldroyd1011Brazil2026-09-24
Stacey Z Slusarski1012India2026-10-03
Jefferson Y Saylors1013Germany2026-10-05
Kadeem V Ostrosky1014Spain2026-09-24
Misaki V Gillian1015Brazil2026-09-20
Misaki T Glick1016Russia2026-09-15
Claire Q Briddick1017France2026-10-01
Mujtaba H Garufi1018Germany2026-09-20
Cody D Butt1019France2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James U FlosiArgentinaXuxue Feng NEW
Aditya F GillianJapanOnyama Limba PROPOSAL
James M RutaCanadaBernardo Dominic NEW
Maria Q SchemmerIndiaBernardo Dominic NEW
Wickens Y WhobreyArgentinaAsiya Javayant UNQUALIFIED
Ricardo K GillianSpainAmy Elsner QUALIFIED
Clifford F DarakjyIndiaXuxue Feng NEGOTIATION
Darci O RoysterJapanIoni Bowcher QUALIFIED
Kaitlin F VocelkaIndiaAmy Elsner RENEWAL
Chavez R MacleadAustraliaAnna Fali NEW
Rodrigues O GarufiArgentinaXuxue Feng NEW
Leja F PaprockiSpainAsiya Javayant UNQUALIFIED
Izzy S WaycottAustraliaXuxue Feng UNQUALIFIED
Murillo B ButtJapanElwin Sharvill UNQUALIFIED
Chavez G DoeIndiaBernardo Dominic UNQUALIFIED
Arvin E MaletBrazilIvan Magalhaes NEW
Leja E ChuiSpainStephen Shaw NEGOTIATION
Johnson I AmigonSpainAnna Fali NEW
Rodrigues R MorascaUnited KingdomIoni Bowcher RENEWAL
Maisha G VenereArgentinaOnyama Limba UNQUALIFIED
Ivar U MarrierBrazilAsiya Javayant NEW
Emily B PaprockiBrazilStephen Shaw NEGOTIATION
James E WhobreyUnited KingdomOnyama Limba RENEWAL
Misaki A SchemmerBrazilElwin Sharvill UNQUALIFIED
Jefferson L PaprockiUnited KingdomXuxue Feng RENEWAL
Ashley D SchemmerCanadaStephen Shaw NEGOTIATION
Maisha B MorascaFranceBernardo Dominic NEGOTIATION
David F SergiSpainIvan Magalhaes RENEWAL
Faith Y MorascaArgentinaIvan Magalhaes RENEWAL
Alejandro Y SaylorsAustraliaAnna Fali UNQUALIFIED
Chavez S WaycottItalyAmy Elsner UNQUALIFIED
Adams P AmigonArgentinaElwin Sharvill NEW
Kaitlin I SergiBrazilAsiya Javayant RENEWAL
Julie B BologniaSpainOnyama Limba QUALIFIED
Maria J GarufiGermanyOnyama Limba PROPOSAL
Jennifer Z ChuiGermanyAsiya Javayant QUALIFIED
Mayumi Y OldroydJapanIoni Bowcher UNQUALIFIED
Leja X MaletSpainIoni Bowcher NEGOTIATION
David O StockhamJapanBernardo Dominic RENEWAL
Maisha D SchemmerBrazilXuxue Feng 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>