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
David H PerinAustraliaStephen Shaw NEGOTIATION
Ricardo W RulapaughCanadaStephen Shaw NEW
Aditya S BriddickAustraliaIvan Magalhaes NEGOTIATION
Chavez T WaycottItalyAsiya Javayant QUALIFIED
Rodrigues P WaycottGermanyXuxue Feng NEGOTIATION
Kaitlin R OstroskyArgentinaAsiya Javayant NEGOTIATION
Juan Y GarufiAustraliaIvan Magalhaes NEW
Faith C GillianIndiaOnyama Limba NEW
Isabel E DarakjyFranceStephen Shaw PROPOSAL
Clifford S MaletRussiaAnna Fali UNQUALIFIED
Clifford P VenereAustraliaIvan Magalhaes NEW
Kadeem Z OldroydArgentinaAnna Fali RENEWAL
Leja N GauchoJapanXuxue Feng QUALIFIED
Wickens Y OstroskyGermanyIvan Magalhaes NEGOTIATION
Kaitlin E RoysterAustraliaStephen Shaw PROPOSAL
Rodrigues E StensethIndiaAsiya Javayant RENEWAL
Maria X DilliardArgentinaAmy Elsner RENEWAL
Mujtaba M SchemmerRussiaAnna Fali RENEWAL
Julie V RoysterIndiaOnyama Limba RENEWAL
Johnson E GillianGermanyBernardo Dominic RENEWAL
Francesco M MorascaIndiaAnna Fali UNQUALIFIED
Deepesh E AlbaresCanadaAmy Elsner RENEWAL
Julie V VocelkaSpainIvan Magalhaes NEW
Alejandro L SlusarskiRussiaOnyama Limba UNQUALIFIED
Cody J PoquetteBrazilAsiya Javayant PROPOSAL
Arvin C OstroskyGermanyOnyama Limba RENEWAL
Wickens H FlosiBrazilAnna Fali NEW
Tony T ButtUnited KingdomIvan Magalhaes NEW
Francesco E SaylorsItalyXuxue Feng PROPOSAL
David N ChuiFranceAmy Elsner RENEWAL
Smith Y PerinAustraliaXuxue Feng UNQUALIFIED
Emily L ShinkoAustraliaStephen Shaw QUALIFIED
Mayumi X MaletUnited KingdomAmy Elsner NEGOTIATION
Francesco Y StockhamJapanIoni Bowcher NEW
Kadeem I MaletIndiaOnyama Limba RENEWAL
Jennifer V SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Ivar H GarufiGermanyAsiya Javayant NEW
Silvio V ChuiSpainAsiya Javayant RENEWAL
Mayumi X CampainGermanyIvan Magalhaes RENEWAL
Maisha D MacleadFranceStephen Shaw NEW
Izzy B OldroydUnited KingdomBernardo Dominic NEW
Greenwood S GauchoSpainAsiya Javayant QUALIFIED
Jefferson H OldroydArgentinaAnna Fali PROPOSAL
Stacey H BriddickRussiaXuxue Feng PROPOSAL
Faith U MorascaIndiaBernardo Dominic UNQUALIFIED
Juan J NestleItalyXuxue Feng NEGOTIATION
Julie N RulapaughItalyOnyama Limba RENEWAL
Emily X FlosiArgentinaAmy Elsner QUALIFIED
Adams Z TollnerFranceAsiya Javayant UNQUALIFIED
Deepesh E DoeArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa C RoysterAustraliaOnyama Limba PROPOSAL
Rodrigues I VocelkaGermanyXuxue Feng RENEWAL
Aika M PoquetteFranceStephen Shaw NEW
Jefferson B DoeSpainIvan Magalhaes NEW
Jones M FlosiCanadaAsiya Javayant QUALIFIED
Aditya L SaylorsBrazilElwin Sharvill RENEWAL
Ashley S RoysterArgentinaAnna Fali RENEWAL
Emily B DoeBrazilBernardo Dominic NEW
Izzy Q FigeroaItalyIoni Bowcher QUALIFIED
David R StockhamItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily L DoeCanada2026-08-20Rousseaux, Michael Esq NEW97Asiya Javayant
1001Smith Z RimGermany2026-09-07Chanay, Jeffrey A Esq RENEWAL18Bernardo Dominic
1002Ricardo Y MorascaUnited Kingdom2026-08-21Printing Dimensions NEW32Bernardo Dominic
1003Leon F DilliardSpain2026-08-25Commercial Press PROPOSAL91Xuxue Feng
1004Mayumi B BologniaCanada2026-08-25Chemel, James L Cpa RENEWAL62Bernardo Dominic
1005Chavez P ShinkoJapan2026-09-12Feltz Printing Service NEGOTIATION62Asiya Javayant
1006James J SergiGermany2026-08-24Buckley Miller Wright PROPOSAL57Xuxue Feng
1007Kadeem T MarrierGermany2026-08-28Morlong Associates NEW56Amy Elsner
1008Jefferson I WaycottCanada2026-09-17Truhlar And Truhlar Attys NEGOTIATION50Ioni Bowcher
1009Arvin V PerinSpain2026-08-25Rousseaux, Michael Esq NEW2Anna Fali
1010Kadeem Q AlbaresJapan2026-08-30Chanay, Jeffrey A Esq NEGOTIATION32Ioni Bowcher
1011Jefferson M InouyeAustralia2026-08-23Printing Dimensions UNQUALIFIED72Onyama Limba
1012Costa S AmigonGermany2026-09-01Benton, John B Jr UNQUALIFIED23Onyama Limba
1013Silvio Y FerenczCanada2026-08-31Rousseaux, Michael Esq UNQUALIFIED65Stephen Shaw
1014Chavez J WhobreyBrazil2026-08-23Buckley Miller Wright QUALIFIED16Bernardo Dominic
1015Johnson R BowleyGermany2026-09-01Feiner Bros NEW80Anna Fali
1016Nicolas W CaldareraSpain2026-09-11Truhlar And Truhlar Attys NEGOTIATION72Stephen Shaw
1017Leon W InouyeArgentina2026-09-13Dorl, James J Esq NEGOTIATION33Asiya Javayant
1018Rodrigues Y BriddickBrazil2026-09-15Dorl, James J Esq PROPOSAL91Ioni Bowcher
1019Jones W VenereIndia2026-09-17Feiner Bros RENEWAL92Asiya Javayant
1020Johnson K CaudyGermany2026-08-22Morlong Associates NEGOTIATION48Elwin Sharvill
1021Leja R StensethJapan2026-09-13Commercial Press UNQUALIFIED77Anna Fali
1022Ricardo D KuskoRussia2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED59Elwin Sharvill
1023Izzy V InouyeJapan2026-09-13Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1024Darci G MaletItaly2026-09-06King, Christopher A Esq RENEWAL9Stephen Shaw
1025Nicolas N SchemmerUnited Kingdom2026-08-20Benton, John B Jr RENEWAL50Xuxue Feng
1026Alejandro V PoquetteItaly2026-09-08King, Christopher A Esq NEGOTIATION9Anna Fali
1027Antonio Y InouyeItaly2026-09-02Benton, John B Jr PROPOSAL47Anna Fali
1028Francesco Q NickaAustralia2026-08-29Morlong Associates NEW65Ivan Magalhaes
1029Mujtaba P AmigonGermany2026-08-26Feltz Printing Service UNQUALIFIED30Onyama Limba
1030Mayumi F KuskoUnited Kingdom2026-08-27Chapman, Ross E Esq UNQUALIFIED25Anna Fali
1031Johnson W WieserIndia2026-08-23Rangoni Of Florence RENEWAL96Anna Fali
1032Tony A StockhamIndia2026-08-20Truhlar And Truhlar Attys QUALIFIED90Xuxue Feng
1033Deepesh U MorascaSpain2026-08-29Chemel, James L Cpa RENEWAL69Elwin Sharvill
1034David W MaletCanada2026-08-22Printing Dimensions PROPOSAL22Xuxue Feng
1035James B MorascaUnited Kingdom2026-09-16Commercial Press QUALIFIED34Amy Elsner
1036Smith J DarakjyJapan2026-08-30Truhlar And Truhlar Attys QUALIFIED74Asiya Javayant
1037Mayumi J MorascaArgentina2026-09-08Printing Dimensions UNQUALIFIED78Anna Fali
1038Jennifer P BologniaCanada2026-09-06Rousseaux, Michael Esq NEW30Elwin Sharvill
1039Leon Q AlbaresAustralia2026-08-30Truhlar And Truhlar Attys UNQUALIFIED4Anna Fali
1040Julie E PoquetteGermany2026-09-09Feltz Printing Service PROPOSAL53Amy Elsner
1041Ashley B PaprockiAustralia2026-08-19Feltz Printing Service PROPOSAL55Bernardo Dominic
1042Ivar P SaylorsIndia2026-09-07Truhlar And Truhlar Attys UNQUALIFIED45Onyama Limba
1043James N FlosiSpain2026-08-26Printing Dimensions PROPOSAL13Ivan Magalhaes
1044Ivar Y WieserAustralia2026-08-29Printing Dimensions PROPOSAL73Bernardo Dominic
1045Maisha E CampainItaly2026-09-03King, Christopher A Esq NEGOTIATION63Xuxue Feng
1046Tony Z DarakjyJapan2026-09-03Chemel, James L Cpa UNQUALIFIED75Elwin Sharvill
1047Clifford S PerinUnited Kingdom2026-09-12Rousseaux, Michael Esq QUALIFIED79Xuxue Feng
1048Rodrigues S PaprockiRussia2026-09-15Chapman, Ross E Esq QUALIFIED34Ivan Magalhaes
1049Cody V BowleyFrance2026-09-01Commercial Press UNQUALIFIED49Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
James K RulapaughSpainIvan Magalhaes QUALIFIED
Salvatore U WhobreyArgentinaBernardo Dominic NEW
Aruna W SaylorsIndiaAnna Fali PROPOSAL
Misaki W PoquetteItalyElwin Sharvill NEW
David P FlosiAustraliaAnna Fali NEW
Stacey O MaletCanadaAnna Fali NEGOTIATION
Antonio R ChuiGermanyElwin Sharvill NEW
Mayumi A SchemmerItalyElwin Sharvill NEGOTIATION
Rodrigues O GlickRussiaElwin Sharvill NEGOTIATION
Arvin Q VocelkaSpainXuxue Feng QUALIFIED
Antonio W GillianRussiaElwin Sharvill NEGOTIATION
Chavez L FerenczItalyAnna Fali PROPOSAL
Maria A TollnerRussiaOnyama Limba PROPOSAL
Juan Z BologniaGermanyAsiya Javayant NEW
Johnson W CaldareraAustraliaBernardo Dominic QUALIFIED
Leja N BriddickRussiaStephen Shaw PROPOSAL
Mujtaba E WieserAustraliaAnna Fali NEW
James X BologniaSpainIoni Bowcher UNQUALIFIED
Nicolas A SlusarskiIndiaXuxue Feng NEW
Julie Q SaylorsBrazilXuxue Feng QUALIFIED
Claire U InouyeBrazilIoni Bowcher NEW
Aika U NestleUnited KingdomAnna Fali QUALIFIED
Faith G BriddickGermanyAnna Fali NEGOTIATION
Smith Y NestleAustraliaAsiya Javayant NEGOTIATION
Greenwood N KuskoIndiaOnyama Limba NEGOTIATION
Emily U SchemmerGermanyAnna Fali PROPOSAL
Francesco U OldroydFranceAnna Fali QUALIFIED
Jeanfrancois G RutaAustraliaAmy Elsner QUALIFIED
Mujtaba N BriddickAustraliaElwin Sharvill NEW
Claire D MaletCanadaAmy Elsner NEW
Jeanfrancois A ChuiRussiaElwin Sharvill NEGOTIATION
Adams P DoeAustraliaIvan Magalhaes NEGOTIATION
Munro C VocelkaCanadaOnyama Limba UNQUALIFIED
Mayumi B FollerFranceAmy Elsner UNQUALIFIED
James Z RimFranceStephen Shaw NEW
Claire H DarakjyItalyIvan Magalhaes PROPOSAL
Julie G SergiRussiaBernardo Dominic NEW
Arvin O SlusarskiRussiaStephen Shaw RENEWAL
Julie U SergiBrazilStephen Shaw UNQUALIFIED
Silvio C FerenczIndiaElwin Sharvill UNQUALIFIED
Nicolas L RoysterSpainXuxue Feng NEW
Jones Q CaldareraUnited KingdomElwin Sharvill NEW
Faith L SchemmerItalyIvan Magalhaes RENEWAL
Chavez G WaycottArgentinaOnyama Limba NEGOTIATION
Morrow G OstroskyItalyAmy Elsner PROPOSAL
Izzy D WhobreyFranceElwin Sharvill NEGOTIATION
Emily F BriddickBrazilBernardo Dominic PROPOSAL
Maisha L GauchoArgentinaXuxue Feng UNQUALIFIED
Munro N CaldareraCanadaBernardo Dominic NEW
James E CaudyCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Leja M Briddick
Francesco Z Garufi
Johnson G Stenseth
Munro L Slusarski
Johnson T Morasca
David Y Garufi
Octavia F Gaucho
Jones R Royster
Cody Y Poquette
Wickens S Perin
Murillo U Perin
Aditya Q Nicka
David C Garufi
Kadeem Z Dilliard
Antonio E Waycott
Jones U Gaucho
Jennifer K Royster
Aika W Stenseth
Darci W Marrier
Tony N Perin
Juan B Gaucho
Adams B Malet
Mayumi V Shinko
Costa Z Darakjy
David G Malet
Jefferson R Amigon
Arvin M Poquette
Darci S Poquette
Maria E Marrier
Stacey C Kusko
Deepesh K Kusko
Ashley L Ferencz
James L Sergi
Deepesh S Figeroa
Clifford M Schemmer
Costa U Butt
Izzy D Tollner
Nicolas Y Oldroyd
Jennifer G Kusko
David J Butt
Isabel O Flosi
Ricardo J Shinko
Jones F Vocelka
Jeanfrancois Q Glick
Isabel D Gillian
James F Kusko
Darci Z Saylors
Kadeem X Marrier
Leon E Malet
Chavez E Dilliard
IdCountryDate
1000Australia2026-08-27
1001Japan2026-09-01
1002Australia2026-08-23
1003Canada2026-08-29
1004United Kingdom2026-09-05
1005India2026-09-04
1006Brazil2026-08-23
1007United Kingdom2026-09-01
1008Australia2026-09-06
1009Brazil2026-09-05
1010Australia2026-08-30
1011Germany2026-09-14
1012Russia2026-09-06
1013France2026-09-06
1014United Kingdom2026-09-07
1015Brazil2026-09-11
1016Spain2026-09-03
1017Germany2026-08-21
1018Brazil2026-08-30
1019India2026-09-14
1020Japan2026-08-27
1021France2026-09-14
1022India2026-09-03
1023Australia2026-09-16
1024Spain2026-09-12
1025Canada2026-09-11
1026United Kingdom2026-09-09
1027Australia2026-09-11
1028Brazil2026-09-13
1029Canada2026-08-26
1030Canada2026-09-17
1031Spain2026-08-20
1032Argentina2026-09-04
1033Argentina2026-08-28
1034Japan2026-09-16
1035Australia2026-09-14
1036Argentina2026-08-19
1037Japan2026-08-25
1038Germany2026-09-17
1039France2026-09-10
1040Canada2026-09-06
1041Canada2026-09-16
1042Spain2026-08-25
1043Germany2026-08-24
1044France2026-09-12
1045United Kingdom2026-09-16
1046Russia2026-09-09
1047Australia2026-09-07
1048Argentina2026-09-16
1049Brazil2026-09-11

On-Demand Data

NameIdCountryDate
Francesco L Maclead1000Japan2026-08-22
Octavia R Morasca1001Argentina2026-09-15
Johnson L Darakjy1002Spain2026-09-01
Julie D Slusarski1003France2026-08-24
Mayumi D Flosi1004Japan2026-09-15
Misaki D Nicka1005Australia2026-09-08
Francesco I Gillian1006Italy2026-09-04
Chavez T Flosi1007Canada2026-08-22
Mujtaba C Oldroyd1008Japan2026-08-20
Julie Q Royster1009Italy2026-08-19
Maisha B Ferencz1010France2026-09-03
Maria P Nestle1011Italy2026-09-02
Juan T Foller1012Canada2026-09-02
Jones N Perin1013Italy2026-09-13
Leja X Malet1014Germany2026-09-13
Silvio K Stockham1015Italy2026-09-08
Octavia K Venere1016Australia2026-09-10
Kadeem Q Saylors1017Russia2026-09-04
Salvatore Q Nestle1018Italy2026-09-05
Arvin B Perin1019France2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens S FerenczCanadaElwin Sharvill PROPOSAL
Jeanfrancois B GlickIndiaOnyama Limba NEGOTIATION
Aditya A MaletUnited KingdomAmy Elsner UNQUALIFIED
Ashley T TollnerArgentinaIvan Magalhaes UNQUALIFIED
Claire C OstroskyAustraliaAnna Fali RENEWAL
Claire J ShinkoArgentinaElwin Sharvill QUALIFIED
Francesco G SaylorsCanadaStephen Shaw PROPOSAL
Darci I DarakjyGermanyXuxue Feng NEGOTIATION
Mayumi V BriddickArgentinaAsiya Javayant NEW
Ricardo H BowleyArgentinaElwin Sharvill NEW
Ricardo Q DarakjyRussiaOnyama Limba NEGOTIATION
Sinclair Z RutaAustraliaStephen Shaw PROPOSAL
Jefferson R PaprockiFranceElwin Sharvill NEGOTIATION
Francesco O ButtFranceStephen Shaw RENEWAL
Costa P BologniaAustraliaBernardo Dominic NEW
Mayumi G WieserUnited KingdomOnyama Limba UNQUALIFIED
Claire A StockhamIndiaBernardo Dominic RENEWAL
Adams U ShinkoSpainBernardo Dominic NEGOTIATION
Smith I MaletCanadaElwin Sharvill NEW
Chavez Z FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson J WieserGermanyXuxue Feng RENEWAL
Julie A StensethItalyElwin Sharvill UNQUALIFIED
Morrow A SergiIndiaBernardo Dominic NEW
Silvio P MacleadCanadaBernardo Dominic UNQUALIFIED
Emily R DoeGermanyElwin Sharvill QUALIFIED
Juan U FlosiGermanyAnna Fali PROPOSAL
Kaitlin V PoquetteUnited KingdomAnna Fali RENEWAL
Isabel M CampainIndiaElwin Sharvill RENEWAL
Clifford S SlusarskiArgentinaIoni Bowcher RENEWAL
Aditya K FigeroaCanadaAsiya Javayant NEGOTIATION
Wickens I SlusarskiCanadaXuxue Feng NEGOTIATION
Francesco W FlosiItalyAsiya Javayant PROPOSAL
Francesco V SlusarskiIndiaXuxue Feng RENEWAL
Jefferson S NickaArgentinaIoni Bowcher QUALIFIED
Adams M CaudyGermanyElwin Sharvill UNQUALIFIED
Wickens J VenereUnited KingdomOnyama Limba UNQUALIFIED
Mayumi N BriddickBrazilIvan Magalhaes NEW
Arvin X StockhamSpainIoni Bowcher QUALIFIED
Kadeem Y InouyeSpainAmy Elsner NEGOTIATION
Izzy B RoysterAustraliaAnna Fali 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>