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
Chavez H SlusarskiItalyStephen Shaw NEW
Ivar O CaudyAustraliaAsiya Javayant NEW
Jefferson H VocelkaCanadaStephen Shaw UNQUALIFIED
Kaitlin B GarufiJapanAmy Elsner NEW
Clifford P RulapaughCanadaAmy Elsner NEW
Silvio I NestleFranceStephen Shaw QUALIFIED
Aruna B WaycottGermanyAmy Elsner NEGOTIATION
Chavez V KolmetzArgentinaOnyama Limba UNQUALIFIED
Adams R PerinIndiaIoni Bowcher NEW
Salvatore G DarakjySpainBernardo Dominic RENEWAL
David I WieserUnited KingdomAmy Elsner PROPOSAL
Sinclair F PaprockiIndiaAsiya Javayant RENEWAL
Nicolas B AlbaresBrazilOnyama Limba UNQUALIFIED
Morrow P MorascaAustraliaOnyama Limba QUALIFIED
Francesco I PoquetteSpainElwin Sharvill PROPOSAL
Morrow S PaprockiGermanyAmy Elsner UNQUALIFIED
Kaitlin S NestleBrazilStephen Shaw QUALIFIED
Jeanfrancois R FigeroaFranceBernardo Dominic QUALIFIED
Jefferson U KolmetzFranceIvan Magalhaes QUALIFIED
Munro U GillianFranceIvan Magalhaes NEGOTIATION
Darci Q ButtSpainStephen Shaw RENEWAL
Stacey P DoeFranceXuxue Feng UNQUALIFIED
Maisha V GlickSpainElwin Sharvill NEGOTIATION
Aditya T VocelkaRussiaAsiya Javayant NEGOTIATION
Jeanfrancois T KuskoBrazilAmy Elsner QUALIFIED
Aruna Z FlosiRussiaIvan Magalhaes NEW
Cody C RutaAustraliaAnna Fali NEW
Kadeem P FerenczJapanOnyama Limba UNQUALIFIED
Emily J AmigonSpainOnyama Limba UNQUALIFIED
Johnson W FlosiAustraliaOnyama Limba UNQUALIFIED
Francesco J FlosiJapanAnna Fali QUALIFIED
Aditya D SchemmerUnited KingdomXuxue Feng NEW
Cody E GlickRussiaElwin Sharvill PROPOSAL
Deepesh U WieserBrazilStephen Shaw QUALIFIED
Greenwood X AmigonItalyAnna Fali UNQUALIFIED
Silvio L IturbideCanadaOnyama Limba QUALIFIED
Adams X NestleRussiaAnna Fali NEW
Mayumi C CampainAustraliaAmy Elsner RENEWAL
Leja T StensethRussiaOnyama Limba NEW
Adams Z MorascaArgentinaOnyama Limba RENEWAL
Silvio V CampainAustraliaAmy Elsner NEW
Ricardo Q ButtArgentinaIvan Magalhaes PROPOSAL
Ricardo T SlusarskiAustraliaOnyama Limba NEGOTIATION
Jefferson I AlbaresCanadaIoni Bowcher PROPOSAL
Aditya E PerinSpainStephen Shaw QUALIFIED
Smith W CaldareraRussiaIvan Magalhaes PROPOSAL
Leja U FlosiUnited KingdomElwin Sharvill RENEWAL
Aruna A MaletArgentinaAmy Elsner NEW
Maisha N WaycottAustraliaStephen Shaw PROPOSAL
Aruna U WhobreySpainBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James V BowleySpainElwin Sharvill PROPOSAL
Stacey I RimUnited KingdomAmy Elsner NEW
Tony J MaletFranceAnna Fali NEW
James K IturbideArgentinaAnna Fali UNQUALIFIED
Octavia B NestleSpainBernardo Dominic PROPOSAL
Jefferson P WieserGermanyAmy Elsner PROPOSAL
Leon V DarakjyFranceAnna Fali UNQUALIFIED
Kadeem D MaletFranceOnyama Limba PROPOSAL
Silvio C GarufiAustraliaBernardo Dominic QUALIFIED
Ashley M NickaBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez E DarakjyUnited Kingdom2026-09-13Truhlar And Truhlar Attys NEGOTIATION91Ioni Bowcher
1001Nicolas E RulapaughIndia2026-09-14Feiner Bros NEW8Xuxue Feng
1002Kadeem M MaletJapan2026-10-03Truhlar And Truhlar Attys NEGOTIATION91Ivan Magalhaes
1003Greenwood Y StensethItaly2026-09-13Feltz Printing Service RENEWAL49Anna Fali
1004Leja G DilliardJapan2026-09-30Feiner Bros QUALIFIED89Stephen Shaw
1005Aditya H CaldareraFrance2026-09-13Dorl, James J Esq NEGOTIATION79Asiya Javayant
1006Ashley Y MaletGermany2026-09-14Chapman, Ross E Esq NEW93Ivan Magalhaes
1007Stacey G GauchoSpain2026-09-18Rousseaux, Michael Esq RENEWAL37Xuxue Feng
1008Faith Y WaycottIndia2026-09-09Feltz Printing Service NEGOTIATION82Bernardo Dominic
1009Faith M FerenczIndia2026-09-30Feltz Printing Service NEW88Elwin Sharvill
1010Emily A NickaJapan2026-10-02Morlong Associates RENEWAL38Amy Elsner
1011Morrow E MaletArgentina2026-09-23Commercial Press RENEWAL31Amy Elsner
1012Izzy S FlosiBrazil2026-09-12Printing Dimensions UNQUALIFIED26Stephen Shaw
1013Morrow L ShinkoBrazil2026-10-03Chanay, Jeffrey A Esq PROPOSAL87Ivan Magalhaes
1014Leja H SchemmerIndia2026-09-21Printing Dimensions NEGOTIATION86Ivan Magalhaes
1015Misaki I VenereArgentina2026-10-02Benton, John B Jr NEW70Ivan Magalhaes
1016Johnson U CaudyGermany2026-09-27Benton, John B Jr QUALIFIED77Anna Fali
1017Ivar K PoquetteFrance2026-09-11Morlong Associates NEGOTIATION38Onyama Limba
1018Emily Y CaudyBrazil2026-09-16Dorl, James J Esq RENEWAL53Bernardo Dominic
1019Maisha U BriddickBrazil2026-10-04Truhlar And Truhlar Attys NEGOTIATION89Bernardo Dominic
1020Darci G KuskoJapan2026-09-21King, Christopher A Esq NEGOTIATION18Elwin Sharvill
1021Isabel Q RimAustralia2026-10-04Morlong Associates UNQUALIFIED94Stephen Shaw
1022Faith A WieserArgentina2026-09-22Chanay, Jeffrey A Esq NEW79Onyama Limba
1023Kaitlin E BriddickGermany2026-09-15Chemel, James L Cpa PROPOSAL32Onyama Limba
1024Isabel M RimBrazil2026-09-16Printing Dimensions PROPOSAL33Xuxue Feng
1025Sinclair M MacleadGermany2026-09-18Chemel, James L Cpa NEGOTIATION67Elwin Sharvill
1026Julie P WieserAustralia2026-10-06Rousseaux, Michael Esq UNQUALIFIED3Onyama Limba
1027Munro G GlickFrance2026-09-23King, Christopher A Esq NEW55Xuxue Feng
1028Salvatore J ButtCanada2026-09-19Feiner Bros RENEWAL12Ivan Magalhaes
1029David C KuskoBrazil2026-09-21Chapman, Ross E Esq UNQUALIFIED73Onyama Limba
1030Faith T FigeroaCanada2026-09-09Chapman, Ross E Esq QUALIFIED82Onyama Limba
1031Faith V WhobreyIndia2026-09-26Dorl, James J Esq RENEWAL21Ioni Bowcher
1032Ashley X MarrierAustralia2026-09-23Truhlar And Truhlar Attys NEW90Onyama Limba
1033Morrow O StockhamJapan2026-10-02Chapman, Ross E Esq RENEWAL95Amy Elsner
1034Sinclair Q TollnerCanada2026-09-14Feltz Printing Service UNQUALIFIED99Xuxue Feng
1035Greenwood R GillianSpain2026-09-24Feltz Printing Service RENEWAL35Xuxue Feng
1036Jennifer P IturbideRussia2026-09-12Buckley Miller Wright QUALIFIED25Elwin Sharvill
1037Octavia Z StockhamAustralia2026-09-16Dorl, James J Esq RENEWAL66Ioni Bowcher
1038Kadeem B VocelkaFrance2026-10-04Rousseaux, Michael Esq NEGOTIATION43Bernardo Dominic
1039Antonio L CaudyFrance2026-10-03Morlong Associates UNQUALIFIED10Amy Elsner
1040Deepesh O FigeroaFrance2026-10-08Chemel, James L Cpa RENEWAL46Elwin Sharvill
1041James W WieserUnited Kingdom2026-10-07Commercial Press UNQUALIFIED35Xuxue Feng
1042Chavez G NestleGermany2026-09-27Printing Dimensions NEW15Ivan Magalhaes
1043Aditya C PaprockiFrance2026-10-05Dorl, James J Esq QUALIFIED13Asiya Javayant
1044James E RimItaly2026-09-23Benton, John B Jr QUALIFIED19Asiya Javayant
1045Misaki U MacleadArgentina2026-09-10King, Christopher A Esq QUALIFIED86Bernardo Dominic
1046Adams R KolmetzBrazil2026-10-06Chanay, Jeffrey A Esq QUALIFIED27Amy Elsner
1047Leon W MaletSpain2026-10-02Feiner Bros QUALIFIED21Asiya Javayant
1048Cody O ShinkoRussia2026-10-06Commercial Press PROPOSAL1Anna Fali
1049Ivar B CampainRussia2026-10-08Chemel, James L Cpa PROPOSAL69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio J NickaRussiaXuxue Feng NEGOTIATION
Stacey A MacleadFranceAnna Fali QUALIFIED
Maisha I OstroskySpainElwin Sharvill UNQUALIFIED
Morrow F VocelkaFranceIoni Bowcher UNQUALIFIED
David O KolmetzJapanAnna Fali NEGOTIATION
Cody W BowleyGermanyBernardo Dominic NEGOTIATION
Jefferson L OldroydFranceIoni Bowcher NEW
Maisha D InouyeIndiaXuxue Feng PROPOSAL
Leon X RulapaughSpainXuxue Feng PROPOSAL
Mayumi X RulapaughItalyOnyama Limba NEGOTIATION
Stacey A ChuiArgentinaIoni Bowcher QUALIFIED
Maria F GlickRussiaXuxue Feng NEW
Ricardo T KuskoIndiaIoni Bowcher PROPOSAL
James F WaycottCanadaOnyama Limba RENEWAL
Ivar U SlusarskiRussiaXuxue Feng NEW
Munro Q MarrierRussiaIoni Bowcher NEW
Aditya X OstroskyBrazilIoni Bowcher NEW
Misaki F MacleadCanadaAsiya Javayant NEGOTIATION
Cody A CampainSpainXuxue Feng NEGOTIATION
Sinclair X FigeroaGermanyIvan Magalhaes NEW
Arvin I PoquetteJapanStephen Shaw PROPOSAL
Izzy J MarrierArgentinaOnyama Limba UNQUALIFIED
Wickens I FlosiSpainIvan Magalhaes NEGOTIATION
Sinclair X DoeFranceAsiya Javayant QUALIFIED
Maisha Y CaudyJapanIoni Bowcher UNQUALIFIED
Nicolas C GillianIndiaOnyama Limba NEGOTIATION
Claire H DarakjyIndiaIvan Magalhaes PROPOSAL
Izzy I BologniaAustraliaXuxue Feng QUALIFIED
Emily P RutaIndiaStephen Shaw QUALIFIED
Deepesh C WaycottFranceAnna Fali QUALIFIED
Alejandro F RimSpainAsiya Javayant PROPOSAL
Jones Z SergiCanadaStephen Shaw QUALIFIED
Maria F AmigonUnited KingdomIvan Magalhaes QUALIFIED
Jennifer C ChuiBrazilIoni Bowcher PROPOSAL
Misaki P GarufiArgentinaOnyama Limba RENEWAL
Clifford C GauchoSpainXuxue Feng RENEWAL
Sinclair S AmigonAustraliaAnna Fali QUALIFIED
Kaitlin X BowleyArgentinaIvan Magalhaes NEW
Salvatore U PaprockiRussiaAmy Elsner QUALIFIED
Maisha P CaldareraArgentinaXuxue Feng NEGOTIATION
Johnson U StensethIndiaBernardo Dominic QUALIFIED
Kadeem P FollerAustraliaAnna Fali NEW
Jones L OstroskyCanadaElwin Sharvill RENEWAL
Arvin C FlosiAustraliaAmy Elsner UNQUALIFIED
Sinclair X VenereBrazilXuxue Feng NEW
Wickens D WieserGermanyIvan Magalhaes NEGOTIATION
Mayumi A GillianFranceXuxue Feng RENEWAL
Faith W RimIndiaStephen Shaw NEW
Johnson F GarufiSpainElwin Sharvill RENEWAL
Johnson Y SergiBrazilIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Antonio L Waycott
Rodrigues Q Tollner
Deepesh B Ruta
Ivar H Wieser
Ashley A Iturbide
Jones H Glick
Maria F Paprocki
Ivar H Shinko
Clifford F Sergi
Julie F Sergi
Cody E Butt
Maisha I Stenseth
Ivar S Albares
Greenwood O Rim
Aika E Ruta
Clifford D Foller
Ivar N Albares
Kaitlin Y Poquette
James J Chui
Chavez F Tollner
David I Dilliard
David R Marrier
James A Marrier
Kaitlin C Slusarski
Ashley I Maclead
Tony J Caldarera
Clifford P Malet
Francesco O Wieser
Tony J Garufi
Tony Z Rulapaugh
Juan W Ruta
Adams P Ruta
Juan V Kusko
Julie L Poquette
Claire T Schemmer
Murillo X Kolmetz
Morrow J Ostrosky
Wickens A Amigon
Jeanfrancois G Nestle
Clifford M Poquette
Mujtaba E Oldroyd
Emily N Schemmer
Aruna E Saylors
Chavez Q Inouye
Adams U Perin
David J Ostrosky
Misaki O Marrier
Izzy M Wieser
David Q Bolognia
Mayumi A Iturbide
IdCountryDate
1000Russia2026-10-05
1001Brazil2026-09-09
1002Spain2026-10-04
1003Brazil2026-09-21
1004France2026-09-18
1005Italy2026-09-09
1006United Kingdom2026-09-11
1007Japan2026-10-02
1008Brazil2026-09-09
1009Brazil2026-10-08
1010France2026-10-02
1011Germany2026-10-02
1012Russia2026-09-20
1013Russia2026-09-25
1014United Kingdom2026-09-16
1015Germany2026-09-13
1016India2026-09-16
1017India2026-09-19
1018Russia2026-09-14
1019France2026-09-28
1020Italy2026-10-07
1021Italy2026-10-03
1022France2026-09-22
1023Germany2026-09-11
1024India2026-10-07
1025Canada2026-09-17
1026Germany2026-09-20
1027Russia2026-10-05
1028Italy2026-09-25
1029United Kingdom2026-09-29
1030Brazil2026-09-26
1031Brazil2026-09-25
1032Germany2026-09-11
1033Japan2026-10-06
1034Russia2026-09-26
1035Brazil2026-09-29
1036Canada2026-09-10
1037Australia2026-10-06
1038France2026-10-03
1039France2026-10-02
1040France2026-09-14
1041France2026-10-08
1042India2026-09-10
1043Brazil2026-10-01
1044Brazil2026-09-29
1045Brazil2026-09-13
1046United Kingdom2026-10-02
1047Argentina2026-09-28
1048Brazil2026-10-05
1049Brazil2026-09-29

On-Demand Data

NameIdCountryDate
Salvatore Y Shinko1000Russia2026-09-17
Aika H Glick1001Brazil2026-09-09
Emily R Vocelka1002Spain2026-09-23
Kaitlin F Maclead1003Argentina2026-09-26
Francesco R Gaucho1004Canada2026-09-09
Antonio H Schemmer1005Spain2026-09-21
Aika W Dilliard1006Italy2026-09-10
Julie V Maclead1007India2026-10-04
Greenwood R Figeroa1008Australia2026-09-16
Murillo L Venere1009Argentina2026-09-09
Clifford L Nicka1010Argentina2026-09-13
Alejandro L Rim1011Brazil2026-09-09
Julie V Kusko1012Germany2026-10-02
Faith H Marrier1013United Kingdom2026-09-17
Rodrigues V Marrier1014United Kingdom2026-10-01
Greenwood P Nicka1015Australia2026-09-24
Aika W Glick1016Italy2026-09-15
Ashley D Dilliard1017Spain2026-09-09
Wickens C Rulapaugh1018Canada2026-09-29
Munro A Waycott1019Russia2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy X GlickGermanyXuxue Feng PROPOSAL
Costa Y VocelkaCanadaAmy Elsner RENEWAL
Cody A KolmetzArgentinaIoni Bowcher PROPOSAL
Kadeem B ChuiRussiaOnyama Limba QUALIFIED
Juan I VenereArgentinaElwin Sharvill NEW
Chavez V MacleadCanadaOnyama Limba RENEWAL
Jeanfrancois T WhobreyBrazilBernardo Dominic QUALIFIED
Greenwood N RutaRussiaAmy Elsner NEGOTIATION
Munro D BowleyBrazilAnna Fali PROPOSAL
Jones M BriddickUnited KingdomIvan Magalhaes PROPOSAL
Nicolas C DarakjyFranceOnyama Limba NEGOTIATION
Wickens M StockhamRussiaBernardo Dominic NEW
Morrow Y DilliardJapanOnyama Limba PROPOSAL
Silvio I ButtFranceIoni Bowcher UNQUALIFIED
Maisha S AlbaresArgentinaAsiya Javayant UNQUALIFIED
Smith C RulapaughAustraliaXuxue Feng NEW
Adams L GlickFranceIoni Bowcher NEGOTIATION
Greenwood G WieserFranceElwin Sharvill QUALIFIED
Nicolas V SaylorsFranceStephen Shaw PROPOSAL
James F CaudyRussiaIoni Bowcher NEGOTIATION
Mayumi O PerinIndiaElwin Sharvill RENEWAL
Wickens W WhobreyFranceAnna Fali PROPOSAL
Deepesh S GauchoJapanIvan Magalhaes NEW
Sinclair Y VenereArgentinaStephen Shaw UNQUALIFIED
Deepesh I OstroskyAustraliaIoni Bowcher PROPOSAL
Alejandro Q VenereRussiaIvan Magalhaes RENEWAL
Kadeem Y MarrierIndiaElwin Sharvill QUALIFIED
Juan N RutaSpainIvan Magalhaes NEW
Munro G PaprockiItalyStephen Shaw QUALIFIED
Wickens M MorascaAustraliaXuxue Feng QUALIFIED
Mujtaba H RutaIndiaStephen Shaw RENEWAL
Isabel G MaletBrazilIoni Bowcher QUALIFIED
Adams U BowleySpainAnna Fali NEGOTIATION
Jones K PerinFranceAmy Elsner RENEWAL
Kadeem Q OstroskyFranceXuxue Feng NEW
Ashley Z DilliardItalyAmy Elsner NEGOTIATION
Ashley D DoeAustraliaIvan Magalhaes UNQUALIFIED
Costa T KolmetzIndiaBernardo Dominic PROPOSAL
Claire L FollerJapanElwin Sharvill RENEWAL
Morrow A PaprockiSpainStephen Shaw PROPOSAL

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