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
Jones H MaletArgentinaAsiya Javayant RENEWAL
Misaki U SergiJapanXuxue Feng NEGOTIATION
Maria B PaprockiUnited KingdomAsiya Javayant RENEWAL
Salvatore O DoeFranceXuxue Feng RENEWAL
Claire Y MorascaFranceOnyama Limba RENEWAL
Aruna T FerenczGermanyBernardo Dominic RENEWAL
Juan M PerinSpainIoni Bowcher QUALIFIED
Munro W ChuiIndiaStephen Shaw UNQUALIFIED
Deepesh H CampainRussiaBernardo Dominic QUALIFIED
Kadeem U GauchoSpainOnyama Limba PROPOSAL
Adams E BowleyFranceBernardo Dominic NEGOTIATION
Morrow J FigeroaSpainOnyama Limba NEGOTIATION
Ashley H GarufiArgentinaAnna Fali NEW
Kaitlin M PaprockiGermanyAnna Fali PROPOSAL
Maria R RoysterCanadaXuxue Feng NEW
Antonio P OldroydCanadaStephen Shaw PROPOSAL
Aika Z GillianSpainIoni Bowcher PROPOSAL
Morrow P DilliardFranceElwin Sharvill QUALIFIED
Mayumi V GillianGermanyXuxue Feng QUALIFIED
Faith Z DarakjyRussiaXuxue Feng UNQUALIFIED
Silvio Z GlickArgentinaStephen Shaw UNQUALIFIED
Mayumi L PerinSpainStephen Shaw UNQUALIFIED
Kaitlin H WhobreyRussiaAnna Fali PROPOSAL
Murillo Z GarufiCanadaXuxue Feng QUALIFIED
Jennifer Y GlickAustraliaXuxue Feng QUALIFIED
Isabel C OldroydRussiaAnna Fali RENEWAL
Kadeem O RulapaughCanadaStephen Shaw NEGOTIATION
Octavia P KuskoBrazilIoni Bowcher QUALIFIED
Cody P NickaFranceXuxue Feng NEGOTIATION
Deepesh M KolmetzCanadaAnna Fali NEGOTIATION
Jefferson A RimJapanElwin Sharvill QUALIFIED
Izzy Q FollerGermanyAmy Elsner UNQUALIFIED
Leja B WieserAustraliaXuxue Feng NEW
Johnson N DilliardSpainBernardo Dominic UNQUALIFIED
Aika Q CaudySpainAsiya Javayant PROPOSAL
Aika H BriddickFranceIvan Magalhaes RENEWAL
Johnson G BologniaCanadaAnna Fali NEW
Silvio G InouyeUnited KingdomAnna Fali NEGOTIATION
Julie C BologniaIndiaAmy Elsner NEW
Aika K StockhamSpainIoni Bowcher QUALIFIED
Ashley D InouyeUnited KingdomStephen Shaw NEGOTIATION
Chavez M BowleyJapanXuxue Feng RENEWAL
Jeanfrancois C BriddickBrazilElwin Sharvill NEGOTIATION
Alejandro A ButtBrazilIvan Magalhaes QUALIFIED
Leja J WieserIndiaIvan Magalhaes PROPOSAL
Johnson D AmigonRussiaElwin Sharvill QUALIFIED
Adams G SergiBrazilAnna Fali RENEWAL
Adams P SaylorsGermanyStephen Shaw NEGOTIATION
Greenwood U DilliardIndiaAsiya Javayant NEW
Kadeem K KolmetzCanadaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja D OstroskyItalyBernardo Dominic PROPOSAL
Maria W MaletRussiaAsiya Javayant QUALIFIED
Tony U CaldareraSpainStephen Shaw RENEWAL
Costa U GarufiUnited KingdomAnna Fali QUALIFIED
Cody X FollerCanadaIvan Magalhaes NEGOTIATION
Kaitlin R CaldareraCanadaOnyama Limba NEGOTIATION
Chavez A PerinUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues A NestleCanadaAnna Fali PROPOSAL
Isabel M MarrierArgentinaAnna Fali NEGOTIATION
Mujtaba K CaldareraIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan S MacleadSpain2026-09-30Morlong Associates NEGOTIATION53Bernardo Dominic
1001Jeanfrancois P WaycottAustralia2026-10-13Dorl, James J Esq UNQUALIFIED68Amy Elsner
1002Smith C RutaIndia2026-09-29Rangoni Of Florence QUALIFIED42Xuxue Feng
1003Costa J DoeJapan2026-09-28Buckley Miller Wright NEW20Elwin Sharvill
1004Tony B IturbideSpain2026-10-03Buckley Miller Wright QUALIFIED99Ivan Magalhaes
1005Costa H DarakjyIndia2026-09-20Feiner Bros RENEWAL30Ioni Bowcher
1006Julie U MaletRussia2026-09-17Commercial Press QUALIFIED54Bernardo Dominic
1007Isabel U GarufiIndia2026-10-13King, Christopher A Esq NEW67Stephen Shaw
1008Jennifer T TollnerCanada2026-09-23Benton, John B Jr NEGOTIATION61Bernardo Dominic
1009Salvatore S FollerArgentina2026-09-17Benton, John B Jr UNQUALIFIED15Anna Fali
1010Darci A FigeroaFrance2026-09-20Chanay, Jeffrey A Esq NEW73Xuxue Feng
1011Adams P AlbaresUnited Kingdom2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED95Xuxue Feng
1012Aditya M DarakjyArgentina2026-10-14Feiner Bros QUALIFIED76Amy Elsner
1013Morrow Y CaudyCanada2026-09-22Dorl, James J Esq QUALIFIED98Ioni Bowcher
1014Cody M SaylorsIndia2026-10-11Commercial Press PROPOSAL68Ioni Bowcher
1015Faith E OldroydItaly2026-10-05Commercial Press RENEWAL36Ioni Bowcher
1016Francesco M AmigonAustralia2026-10-15Chanay, Jeffrey A Esq NEGOTIATION50Amy Elsner
1017Darci B KuskoArgentina2026-09-28Truhlar And Truhlar Attys QUALIFIED91Elwin Sharvill
1018Deepesh E ButtSpain2026-09-23Truhlar And Truhlar Attys QUALIFIED13Ioni Bowcher
1019Maria Q MaletBrazil2026-10-12Printing Dimensions QUALIFIED35Anna Fali
1020Jones F BowleyIndia2026-10-09Truhlar And Truhlar Attys QUALIFIED11Elwin Sharvill
1021Maria K WieserJapan2026-10-14Feltz Printing Service QUALIFIED4Ioni Bowcher
1022Jefferson S BologniaCanada2026-10-13Feltz Printing Service UNQUALIFIED45Ioni Bowcher
1023Stacey H SergiItaly2026-10-04Rousseaux, Michael Esq NEGOTIATION57Bernardo Dominic
1024David Z DilliardRussia2026-10-14Chanay, Jeffrey A Esq QUALIFIED18Onyama Limba
1025Ashley Q NickaCanada2026-09-19Feltz Printing Service NEW32Ioni Bowcher
1026Jefferson B PerinJapan2026-09-29Feiner Bros QUALIFIED49Anna Fali
1027Julie H MaletRussia2026-10-11Chapman, Ross E Esq RENEWAL15Anna Fali
1028Isabel P PerinUnited Kingdom2026-09-25King, Christopher A Esq NEW64Asiya Javayant
1029Arvin D NestleFrance2026-09-27Feiner Bros UNQUALIFIED89Xuxue Feng
1030Julie S AlbaresItaly2026-10-03Truhlar And Truhlar Attys QUALIFIED74Ioni Bowcher
1031Mujtaba V KolmetzJapan2026-09-24Commercial Press UNQUALIFIED78Anna Fali
1032Octavia C OstroskyGermany2026-09-22Rousseaux, Michael Esq QUALIFIED48Xuxue Feng
1033Morrow L PoquetteIndia2026-10-14Buckley Miller Wright NEW27Onyama Limba
1034Juan I FlosiCanada2026-10-13Chapman, Ross E Esq NEGOTIATION82Bernardo Dominic
1035Claire U AmigonUnited Kingdom2026-09-23Printing Dimensions RENEWAL5Elwin Sharvill
1036Cody C SlusarskiRussia2026-09-18Morlong Associates PROPOSAL60Stephen Shaw
1037Alejandro L KuskoRussia2026-09-26Chemel, James L Cpa QUALIFIED45Ioni Bowcher
1038Kadeem L BriddickJapan2026-09-28Printing Dimensions NEW10Bernardo Dominic
1039Leon M MacleadSpain2026-09-17Chanay, Jeffrey A Esq NEW83Ioni Bowcher
1040Maria I DarakjyIndia2026-09-26Feiner Bros UNQUALIFIED42Onyama Limba
1041Aruna V NickaUnited Kingdom2026-10-07Benton, John B Jr PROPOSAL25Stephen Shaw
1042Morrow A MaletSpain2026-09-19Commercial Press RENEWAL87Elwin Sharvill
1043Murillo Z NickaGermany2026-09-28Chapman, Ross E Esq RENEWAL0Onyama Limba
1044Jefferson Y SaylorsArgentina2026-10-06Chemel, James L Cpa RENEWAL30Amy Elsner
1045Silvio X InouyeArgentina2026-09-19Morlong Associates PROPOSAL65Onyama Limba
1046Kadeem A DilliardItaly2026-10-10Benton, John B Jr NEW87Amy Elsner
1047Sinclair H PoquetteIndia2026-10-11Rousseaux, Michael Esq PROPOSAL78Onyama Limba
1048Adams J VocelkaUnited Kingdom2026-10-10Morlong Associates QUALIFIED44Ivan Magalhaes
1049Claire V KuskoSpain2026-09-16Morlong Associates NEW73Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens T AlbaresGermanyOnyama Limba RENEWAL
Adams O CaudyIndiaIoni Bowcher UNQUALIFIED
Faith B KolmetzCanadaIvan Magalhaes RENEWAL
Greenwood Y RoysterRussiaAmy Elsner NEW
Faith G MacleadCanadaXuxue Feng NEGOTIATION
Cody E FlosiCanadaBernardo Dominic UNQUALIFIED
Jones R NestleFranceElwin Sharvill NEW
Jennifer D DarakjyFranceXuxue Feng RENEWAL
Jennifer L FlosiGermanyAsiya Javayant PROPOSAL
Emily P VenereJapanIvan Magalhaes QUALIFIED
Aruna T MarrierItalyAmy Elsner RENEWAL
Morrow K MorascaRussiaAnna Fali NEGOTIATION
Misaki A OldroydFranceIvan Magalhaes NEW
Sinclair A CampainRussiaAsiya Javayant PROPOSAL
Salvatore D MacleadJapanStephen Shaw NEW
Sinclair A FlosiItalyAnna Fali RENEWAL
James H KolmetzCanadaAsiya Javayant RENEWAL
Francesco U VenereItalyAnna Fali NEGOTIATION
Juan X KuskoCanadaAnna Fali QUALIFIED
Ivar H GauchoJapanXuxue Feng RENEWAL
Jeanfrancois H MorascaSpainIoni Bowcher QUALIFIED
Antonio N KolmetzRussiaAnna Fali RENEWAL
Silvio I MarrierArgentinaIvan Magalhaes PROPOSAL
Ashley S NestleFranceOnyama Limba NEGOTIATION
Morrow R InouyeAustraliaElwin Sharvill QUALIFIED
Jefferson U OstroskySpainIvan Magalhaes NEGOTIATION
Chavez T MorascaUnited KingdomAmy Elsner RENEWAL
Ashley Y GlickAustraliaIoni Bowcher NEGOTIATION
Cody O BriddickAustraliaAnna Fali UNQUALIFIED
David B BowleyAustraliaOnyama Limba RENEWAL
Murillo H ShinkoJapanXuxue Feng NEW
Kadeem C GlickRussiaOnyama Limba NEW
Tony N RoysterGermanyAnna Fali QUALIFIED
Silvio E GillianItalyOnyama Limba UNQUALIFIED
Maisha A AmigonArgentinaIoni Bowcher QUALIFIED
Wickens A GarufiGermanyOnyama Limba RENEWAL
Jones I WieserFranceAnna Fali NEGOTIATION
Maisha G FerenczAustraliaIoni Bowcher NEGOTIATION
Kadeem K MarrierJapanIvan Magalhaes NEGOTIATION
Jeanfrancois D IturbideIndiaAmy Elsner RENEWAL
Alejandro D InouyeItalyOnyama Limba RENEWAL
Aditya Z VocelkaSpainIoni Bowcher RENEWAL
Maisha I MaletFranceIvan Magalhaes NEW
Maisha M WaycottBrazilIoni Bowcher NEGOTIATION
Francesco H GlickRussiaXuxue Feng UNQUALIFIED
James D MaletGermanyIoni Bowcher QUALIFIED
Deepesh X WaycottGermanyStephen Shaw UNQUALIFIED
Kadeem H KuskoBrazilIoni Bowcher QUALIFIED
Octavia S VocelkaJapanAmy Elsner UNQUALIFIED
Murillo J SergiBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Nicolas D Doe
Kaitlin P Perin
David B Inouye
Darci J Ruta
Aditya N Amigon
Ivar I Ruta
Aditya T Saylors
Arvin M Marrier
Greenwood H Butt
Johnson E Stockham
Antonio Q Amigon
Claire H Vocelka
Mayumi M Kusko
Julie M Iturbide
Rodrigues U Shinko
James O Iturbide
Deepesh J Gillian
Juan K Bolognia
Jennifer Q Ferencz
Aditya M Caudy
Salvatore R Gillian
Munro I Stenseth
Ricardo O Shinko
James A Paprocki
Deepesh O Ferencz
Chavez P Saylors
David L Ruta
Misaki E Amigon
David N Tollner
James V Perin
Arvin M Morasca
Adams R Oldroyd
Smith L Foller
Silvio S Bolognia
Maria Y Inouye
Maisha X Sergi
Julie Q Nestle
Octavia F Vocelka
Murillo Q Kolmetz
James X Dilliard
Murillo P Nestle
Ashley D Rulapaugh
Leon O Rim
Julie N Caldarera
Izzy Z Figeroa
Isabel C Bolognia
David Y Gillian
Stacey W Malet
Misaki L Iturbide
Aditya O Tollner
IdCountryDate
1000Brazil2026-09-17
1001Canada2026-10-06
1002Canada2026-09-27
1003Japan2026-09-26
1004India2026-10-02
1005Germany2026-09-21
1006Italy2026-10-07
1007Spain2026-09-25
1008Spain2026-10-04
1009India2026-09-29
1010Italy2026-09-27
1011India2026-10-14
1012India2026-10-06
1013Italy2026-10-15
1014United Kingdom2026-10-01
1015Japan2026-09-29
1016Brazil2026-09-24
1017Australia2026-10-12
1018Russia2026-09-17
1019France2026-09-17
1020Japan2026-10-05
1021United Kingdom2026-09-17
1022United Kingdom2026-09-21
1023Canada2026-10-13
1024Australia2026-10-11
1025India2026-09-16
1026Russia2026-09-16
1027Canada2026-09-26
1028Germany2026-09-17
1029Brazil2026-10-11
1030United Kingdom2026-09-28
1031Argentina2026-10-07
1032Spain2026-09-25
1033India2026-09-24
1034Argentina2026-09-23
1035Spain2026-09-20
1036Japan2026-09-16
1037Japan2026-10-10
1038United Kingdom2026-10-03
1039Spain2026-10-08
1040Canada2026-10-08
1041Argentina2026-09-26
1042India2026-09-25
1043Japan2026-10-11
1044Australia2026-10-08
1045France2026-09-20
1046France2026-10-05
1047India2026-09-19
1048Germany2026-09-30
1049Japan2026-10-08

On-Demand Data

NameIdCountryDate
Wickens D Campain1000Australia2026-10-10
Silvio G Kusko1001Argentina2026-09-22
Murillo V Sergi1002Brazil2026-10-05
Leja G Sergi1003Spain2026-10-12
Julie W Bowley1004Germany2026-10-03
Rodrigues O Stenseth1005Italy2026-10-15
James F Perin1006Brazil2026-09-19
Ricardo I Malet1007Germany2026-09-21
Claire Y Poquette1008Australia2026-10-01
Maria T Poquette1009Brazil2026-09-19
Leja B Inouye1010Argentina2026-10-11
Clifford M Briddick1011Russia2026-10-06
Isabel Z Slusarski1012France2026-09-22
Izzy H Ruta1013France2026-10-13
Misaki F Garufi1014France2026-10-08
Francesco M Vocelka1015Brazil2026-09-17
Misaki M Albares1016United Kingdom2026-09-20
Cody G Flosi1017Spain2026-10-06
Aika P Kolmetz1018Canada2026-10-14
Nicolas R Oldroyd1019France2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro M AmigonFranceXuxue Feng RENEWAL
Aika R RulapaughSpainAmy Elsner NEGOTIATION
Julie M StensethAustraliaXuxue Feng PROPOSAL
Octavia W KuskoItalyIvan Magalhaes NEW
Greenwood Q MaletIndiaStephen Shaw UNQUALIFIED
Arvin I FigeroaCanadaStephen Shaw RENEWAL
David M FerenczGermanyBernardo Dominic RENEWAL
Mayumi F ButtIndiaOnyama Limba NEW
Arvin M ButtFranceAnna Fali RENEWAL
Kadeem D GarufiFranceXuxue Feng NEW
Julie T RulapaughItalyAmy Elsner PROPOSAL
Deepesh G GarufiJapanOnyama Limba UNQUALIFIED
Chavez D PerinSpainBernardo Dominic QUALIFIED
Isabel R CaudyGermanyAnna Fali UNQUALIFIED
Antonio N ButtItalyStephen Shaw UNQUALIFIED
Jeanfrancois T StensethGermanyElwin Sharvill NEW
Clifford M PerinAustraliaBernardo Dominic NEGOTIATION
Alejandro B FigeroaSpainBernardo Dominic RENEWAL
Maisha I BriddickSpainIoni Bowcher QUALIFIED
Rodrigues M GlickUnited KingdomIvan Magalhaes RENEWAL
Smith O StensethAustraliaAnna Fali RENEWAL
Stacey V NickaItalyOnyama Limba PROPOSAL
Claire O DilliardJapanOnyama Limba QUALIFIED
Aruna H MaletGermanyXuxue Feng NEGOTIATION
Rodrigues B GauchoJapanOnyama Limba PROPOSAL
Maria D GlickUnited KingdomIoni Bowcher PROPOSAL
Ivar B FlosiArgentinaIvan Magalhaes PROPOSAL
Darci X WhobreyGermanyXuxue Feng PROPOSAL
Johnson H RutaCanadaXuxue Feng NEGOTIATION
Cody U FerenczBrazilIoni Bowcher QUALIFIED
Smith W BriddickBrazilAnna Fali NEGOTIATION
Munro N GlickSpainElwin Sharvill PROPOSAL
Rodrigues E SlusarskiItalyXuxue Feng NEW
Misaki K NestleJapanBernardo Dominic QUALIFIED
Leja S FollerFranceAnna Fali RENEWAL
Aika H OldroydItalyIoni Bowcher QUALIFIED
Aika L WaycottRussiaBernardo Dominic NEGOTIATION
Rodrigues O RulapaughCanadaIvan Magalhaes NEW
Aditya T GarufiGermanyBernardo Dominic PROPOSAL
Alejandro J RutaBrazilIvan Magalhaes RENEWAL

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