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
Leon W CampainAustraliaXuxue Feng NEGOTIATION
Silvio Q DilliardRussiaElwin Sharvill QUALIFIED
Morrow D BologniaArgentinaIoni Bowcher RENEWAL
Juan L AmigonRussiaBernardo Dominic UNQUALIFIED
Clifford E PerinUnited KingdomIvan Magalhaes RENEWAL
Maisha O BologniaArgentinaIvan Magalhaes UNQUALIFIED
Munro C DoeArgentinaBernardo Dominic PROPOSAL
Jefferson F WaycottAustraliaAnna Fali UNQUALIFIED
Jeanfrancois M OldroydAustraliaBernardo Dominic UNQUALIFIED
Faith W ButtGermanyBernardo Dominic QUALIFIED
Alejandro G CampainArgentinaStephen Shaw QUALIFIED
Julie T PoquetteSpainBernardo Dominic QUALIFIED
Costa X SlusarskiSpainOnyama Limba NEGOTIATION
Juan L MarrierGermanyBernardo Dominic NEW
Murillo R StensethCanadaAmy Elsner PROPOSAL
Morrow G PaprockiFranceElwin Sharvill PROPOSAL
Jones P CampainIndiaAmy Elsner PROPOSAL
Sinclair L CampainBrazilElwin Sharvill NEGOTIATION
Mayumi W DarakjyRussiaIvan Magalhaes QUALIFIED
Johnson K CaldareraRussiaAmy Elsner QUALIFIED
David Z CampainItalyBernardo Dominic RENEWAL
Juan Q AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Costa U WhobreyFranceStephen Shaw PROPOSAL
Cody T RoysterSpainAmy Elsner RENEWAL
Maria S StensethJapanIvan Magalhaes QUALIFIED
Mujtaba D GarufiBrazilIoni Bowcher NEW
Smith T KolmetzItalyXuxue Feng QUALIFIED
Ivar G DarakjyIndiaElwin Sharvill QUALIFIED
Octavia O FlosiItalyOnyama Limba UNQUALIFIED
Jefferson U OldroydAustraliaAsiya Javayant UNQUALIFIED
Ricardo K DarakjyRussiaAmy Elsner NEGOTIATION
Maria S MaletUnited KingdomOnyama Limba PROPOSAL
Leon O MorascaUnited KingdomIoni Bowcher NEW
Mayumi M WhobreyUnited KingdomAmy Elsner NEGOTIATION
Aika Q MaletRussiaOnyama Limba NEW
Jeanfrancois P NestleItalyAmy Elsner QUALIFIED
Claire K FerenczRussiaXuxue Feng NEGOTIATION
Maria H SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Emily E NickaRussiaBernardo Dominic NEW
Tony C MorascaFranceAsiya Javayant UNQUALIFIED
Kaitlin U CaudyIndiaAnna Fali QUALIFIED
Jennifer N CaudyGermanyBernardo Dominic QUALIFIED
Izzy G RulapaughSpainAnna Fali NEW
Stacey U AlbaresGermanyOnyama Limba RENEWAL
Mujtaba H BriddickArgentinaBernardo Dominic RENEWAL
Smith X VocelkaUnited KingdomBernardo Dominic QUALIFIED
Maria T PerinJapanAnna Fali UNQUALIFIED
Stacey C VocelkaRussiaAnna Fali PROPOSAL
Emily M FerenczAustraliaAmy Elsner UNQUALIFIED
Greenwood F GauchoBrazilIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire D PerinJapanIoni Bowcher NEW
Leon B WieserFranceIoni Bowcher UNQUALIFIED
Juan V MarrierGermanyIoni Bowcher NEGOTIATION
Smith I WhobreyCanadaAmy Elsner UNQUALIFIED
Aruna M ShinkoItalyIoni Bowcher RENEWAL
Darci X GillianSpainAsiya Javayant QUALIFIED
Sinclair D GarufiAustraliaAsiya Javayant QUALIFIED
Ashley S PaprockiItalyBernardo Dominic PROPOSAL
Greenwood L InouyeFranceAmy Elsner NEW
Chavez R BologniaArgentinaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja A NestleIndia2026-10-17Truhlar And Truhlar Attys RENEWAL57Onyama Limba
1001Isabel O PaprockiItaly2026-10-18Commercial Press PROPOSAL29Onyama Limba
1002Kaitlin F ChuiItaly2026-10-04Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1003Antonio U VocelkaJapan2026-10-19Buckley Miller Wright QUALIFIED21Ioni Bowcher
1004Leja J BriddickItaly2026-10-03Feiner Bros NEGOTIATION0Bernardo Dominic
1005Leja U SergiAustralia2026-09-23Dorl, James J Esq UNQUALIFIED15Asiya Javayant
1006Jefferson P NickaIndia2026-10-18Feiner Bros QUALIFIED96Asiya Javayant
1007Darci M FollerRussia2026-10-20Buckley Miller Wright RENEWAL39Xuxue Feng
1008Costa M TollnerArgentina2026-09-24Truhlar And Truhlar Attys RENEWAL60Asiya Javayant
1009Silvio F RoysterGermany2026-10-08King, Christopher A Esq NEW90Asiya Javayant
1010Johnson P TollnerGermany2026-09-30Feltz Printing Service QUALIFIED59Xuxue Feng
1011Antonio U MaletCanada2026-10-20Chapman, Ross E Esq NEGOTIATION52Ivan Magalhaes
1012Jefferson B IturbideItaly2026-10-14Chanay, Jeffrey A Esq NEW73Elwin Sharvill
1013Deepesh I WhobreySpain2026-10-10Feltz Printing Service NEW28Bernardo Dominic
1014Leja V NickaFrance2026-09-25Chemel, James L Cpa QUALIFIED23Bernardo Dominic
1015Deepesh D AmigonRussia2026-10-06Chemel, James L Cpa NEGOTIATION64Asiya Javayant
1016Octavia W TollnerJapan2026-09-22King, Christopher A Esq RENEWAL67Asiya Javayant
1017Maria L BriddickBrazil2026-10-13Truhlar And Truhlar Attys NEGOTIATION95Bernardo Dominic
1018Johnson Q InouyeFrance2026-09-29King, Christopher A Esq NEGOTIATION99Bernardo Dominic
1019Claire Q RoysterBrazil2026-10-01King, Christopher A Esq NEW63Bernardo Dominic
1020Francesco V FigeroaRussia2026-10-14Feiner Bros QUALIFIED47Anna Fali
1021Misaki R StensethRussia2026-10-08Chemel, James L Cpa RENEWAL49Onyama Limba
1022Nicolas Q SaylorsUnited Kingdom2026-09-27Buckley Miller Wright PROPOSAL76Amy Elsner
1023Kaitlin W KuskoBrazil2026-10-02Buckley Miller Wright UNQUALIFIED2Bernardo Dominic
1024Nicolas E VenereItaly2026-10-14Feltz Printing Service NEGOTIATION1Elwin Sharvill
1025Faith Y PaprockiArgentina2026-09-23Dorl, James J Esq QUALIFIED37Ivan Magalhaes
1026Aruna D GarufiJapan2026-09-30Rangoni Of Florence NEW36Asiya Javayant
1027Aruna Q AmigonArgentina2026-10-16Printing Dimensions NEGOTIATION37Anna Fali
1028Morrow W AlbaresRussia2026-10-10Dorl, James J Esq RENEWAL25Ivan Magalhaes
1029Mayumi S WaycottGermany2026-10-19Dorl, James J Esq PROPOSAL99Elwin Sharvill
1030Greenwood M SlusarskiJapan2026-10-15Truhlar And Truhlar Attys NEW25Bernardo Dominic
1031Darci J ShinkoArgentina2026-10-20Chanay, Jeffrey A Esq NEW64Ioni Bowcher
1032Adams S ShinkoArgentina2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED49Amy Elsner
1033Maisha Y MarrierIndia2026-09-25Feiner Bros QUALIFIED20Asiya Javayant
1034Greenwood K MarrierJapan2026-10-13Benton, John B Jr NEGOTIATION23Amy Elsner
1035Rodrigues C FerenczBrazil2026-10-06Chapman, Ross E Esq QUALIFIED44Onyama Limba
1036Rodrigues O OstroskySpain2026-09-25Commercial Press QUALIFIED29Amy Elsner
1037Leon G IturbideGermany2026-10-04Buckley Miller Wright QUALIFIED39Ioni Bowcher
1038Kaitlin C WhobreyItaly2026-10-18Chanay, Jeffrey A Esq RENEWAL20Anna Fali
1039Chavez Q NickaUnited Kingdom2026-10-18Chemel, James L Cpa NEGOTIATION92Xuxue Feng
1040Chavez A GlickGermany2026-10-03Commercial Press RENEWAL52Bernardo Dominic
1041Isabel K NestleUnited Kingdom2026-10-04Rangoni Of Florence NEW93Bernardo Dominic
1042Adams A MarrierCanada2026-10-02Chapman, Ross E Esq UNQUALIFIED81Amy Elsner
1043Aika Z WhobreyIndia2026-09-30Feiner Bros PROPOSAL93Asiya Javayant
1044Silvio S BologniaArgentina2026-10-16Benton, John B Jr UNQUALIFIED40Bernardo Dominic
1045Adams W WieserAustralia2026-10-21Commercial Press NEW92Ivan Magalhaes
1046Greenwood I WhobreyAustralia2026-10-12Truhlar And Truhlar Attys QUALIFIED14Ioni Bowcher
1047Chavez T OstroskySpain2026-10-16King, Christopher A Esq UNQUALIFIED80Ivan Magalhaes
1048Smith J GillianBrazil2026-10-02Printing Dimensions UNQUALIFIED26Asiya Javayant
1049Smith L DilliardRussia2026-10-19Feltz Printing Service QUALIFIED95Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro C ButtItalyOnyama Limba PROPOSAL
Leja V KolmetzJapanIoni Bowcher RENEWAL
Jennifer W PerinJapanAmy Elsner UNQUALIFIED
Jennifer M KolmetzArgentinaIvan Magalhaes NEW
Maisha E SlusarskiSpainIvan Magalhaes NEW
Deepesh M MaletArgentinaBernardo Dominic NEGOTIATION
Cody A BologniaJapanAnna Fali NEGOTIATION
Smith T WieserItalyBernardo Dominic UNQUALIFIED
Jennifer N CampainItalyBernardo Dominic UNQUALIFIED
Cody O CaudyBrazilStephen Shaw NEW
Juan B KolmetzSpainAmy Elsner NEW
Emily Y OstroskyJapanStephen Shaw UNQUALIFIED
Jennifer P WhobreyJapanBernardo Dominic NEW
Julie Q WieserRussiaAmy Elsner NEW
Antonio E ButtItalyBernardo Dominic NEW
Francesco W StensethRussiaBernardo Dominic RENEWAL
Maisha T NestleItalyAmy Elsner RENEWAL
Misaki D OldroydAustraliaAnna Fali NEW
Claire R RimFranceXuxue Feng NEW
Rodrigues Y MarrierItalyStephen Shaw NEW
Aditya A PaprockiRussiaIoni Bowcher UNQUALIFIED
Alejandro U VenereFranceIvan Magalhaes PROPOSAL
Mujtaba Y AmigonGermanyStephen Shaw UNQUALIFIED
Costa B WieserArgentinaAmy Elsner NEW
Claire Z MaletSpainOnyama Limba RENEWAL
James T GillianAustraliaIoni Bowcher QUALIFIED
Faith B RoysterGermanyIvan Magalhaes QUALIFIED
Silvio K ButtRussiaAsiya Javayant RENEWAL
David V InouyeSpainBernardo Dominic UNQUALIFIED
Faith X ButtJapanAnna Fali RENEWAL
Emily B BologniaUnited KingdomOnyama Limba NEW
Antonio X CaudyFranceXuxue Feng UNQUALIFIED
Jefferson L IturbideFranceIvan Magalhaes RENEWAL
Clifford N CaldareraGermanyBernardo Dominic UNQUALIFIED
Misaki X WieserArgentinaIvan Magalhaes NEW
Greenwood K WaycottCanadaOnyama Limba RENEWAL
Juan O KolmetzItalyIvan Magalhaes PROPOSAL
Adams H RimRussiaStephen Shaw UNQUALIFIED
Francesco J OstroskyArgentinaAnna Fali NEW
Emily F GarufiJapanAnna Fali NEGOTIATION
Silvio X CaudyFranceBernardo Dominic NEGOTIATION
Ricardo N PoquetteIndiaElwin Sharvill RENEWAL
Rodrigues Z RutaFranceBernardo Dominic NEGOTIATION
Alejandro W OldroydGermanyStephen Shaw QUALIFIED
Murillo H StockhamRussiaBernardo Dominic NEGOTIATION
Emily T BologniaCanadaElwin Sharvill UNQUALIFIED
Kadeem R AmigonUnited KingdomIvan Magalhaes NEW
Aika J ShinkoJapanIoni Bowcher QUALIFIED
Ashley E DoeSpainStephen Shaw NEGOTIATION
Silvio O VenereUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Clifford R Iturbide
Antonio Q Rim
Faith U Briddick
Darci P Caldarera
Mayumi D Poquette
Jones L Rulapaugh
Juan X Briddick
Leja X Tollner
Darci W Slusarski
James Z Paprocki
Wickens X Caldarera
Stacey O Slusarski
Juan S Kusko
Jones A Kolmetz
Jeanfrancois H Oldroyd
Deepesh R Shinko
Leon J Slusarski
Leja B Saylors
Izzy R Garufi
Aditya N Ruta
Antonio A Foller
Ashley M Whobrey
Johnson J Dilliard
Kaitlin B Inouye
Costa W Ostrosky
Johnson L Waycott
Chavez B Ostrosky
Maria J Foller
Izzy I Rulapaugh
Silvio S Poquette
Stacey P Foller
Morrow N Ferencz
Smith Q Poquette
Chavez S Ruta
Munro Z Venere
Faith M Marrier
David J Albares
Stacey M Flosi
Isabel B Chui
Aika B Saylors
Clifford Y Flosi
Costa J Whobrey
Rodrigues J Bolognia
Adams E Poquette
Jones X Briddick
Johnson G Inouye
Antonio L Doe
Jefferson Z Maclead
Rodrigues R Doe
Chavez O Poquette
IdCountryDate
1000Brazil2026-10-14
1001Brazil2026-10-21
1002Australia2026-10-03
1003United Kingdom2026-10-16
1004Argentina2026-10-08
1005United Kingdom2026-10-21
1006United Kingdom2026-10-03
1007Spain2026-09-24
1008Italy2026-09-29
1009Australia2026-10-09
1010Germany2026-09-28
1011Australia2026-10-19
1012Argentina2026-09-28
1013Germany2026-09-28
1014Spain2026-10-08
1015United Kingdom2026-10-05
1016Italy2026-09-29
1017Australia2026-10-02
1018Canada2026-10-01
1019Japan2026-09-25
1020India2026-10-10
1021France2026-09-26
1022Italy2026-09-24
1023Spain2026-09-25
1024United Kingdom2026-10-20
1025Italy2026-10-10
1026Brazil2026-10-10
1027Canada2026-10-12
1028Spain2026-09-22
1029Italy2026-10-03
1030Italy2026-10-07
1031Japan2026-10-06
1032India2026-09-22
1033India2026-10-21
1034Italy2026-10-09
1035Canada2026-10-03
1036Brazil2026-09-22
1037Brazil2026-09-25
1038India2026-10-01
1039Spain2026-09-28
1040United Kingdom2026-10-04
1041Australia2026-10-14
1042Germany2026-09-28
1043Germany2026-10-13
1044Japan2026-10-06
1045India2026-09-22
1046Canada2026-10-12
1047Japan2026-10-11
1048France2026-10-21
1049Germany2026-10-06

On-Demand Data

NameIdCountryDate
Ivar Q Campain1000Brazil2026-10-13
Silvio H Chui1001Russia2026-10-16
Salvatore Q Caldarera1002Canada2026-10-12
Clifford L Malet1003Brazil2026-10-15
Tony F Caudy1004Italy2026-09-26
Octavia J Perin1005Canada2026-09-27
Faith V Royster1006Germany2026-10-09
Salvatore A Butt1007Spain2026-10-21
Ricardo S Bolognia1008United Kingdom2026-09-29
Maria J Butt1009Italy2026-10-16
Octavia L Perin1010Australia2026-10-04
Cody U Wieser1011Japan2026-10-09
Jeanfrancois O Gaucho1012Germany2026-09-30
Isabel S Caudy1013United Kingdom2026-10-17
Maisha F Garufi1014Spain2026-10-11
Sinclair Q Garufi1015United Kingdom2026-10-11
Mayumi E Ostrosky1016Argentina2026-09-29
Kadeem S Iturbide1017Canada2026-10-17
Jeanfrancois D Gillian1018Germany2026-10-15
Salvatore D Kolmetz1019India2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony A MacleadAustraliaIoni Bowcher UNQUALIFIED
Aditya S SlusarskiIndiaOnyama Limba NEGOTIATION
Jennifer I VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Maisha U NestleIndiaAsiya Javayant NEGOTIATION
Aruna V KolmetzUnited KingdomElwin Sharvill RENEWAL
Juan D VenereBrazilOnyama Limba PROPOSAL
Jefferson S BowleyJapanAsiya Javayant RENEWAL
David R NickaIndiaXuxue Feng RENEWAL
Murillo N VocelkaItalyIvan Magalhaes NEW
Izzy T MorascaJapanIoni Bowcher PROPOSAL
Costa L KuskoCanadaStephen Shaw NEGOTIATION
Jeanfrancois Y KuskoSpainBernardo Dominic UNQUALIFIED
Misaki D FlosiFranceIoni Bowcher QUALIFIED
Silvio L SergiAustraliaIvan Magalhaes PROPOSAL
Adams D SlusarskiRussiaAnna Fali PROPOSAL
Kadeem F RoysterIndiaElwin Sharvill NEW
Maisha Q BriddickJapanAsiya Javayant UNQUALIFIED
Nicolas W MarrierSpainAmy Elsner RENEWAL
Emily W SaylorsRussiaIoni Bowcher RENEWAL
Darci N SergiBrazilAnna Fali NEW
Kaitlin V BriddickArgentinaIoni Bowcher NEW
Kaitlin W DoeItalyIoni Bowcher NEW
Octavia S DoeSpainElwin Sharvill QUALIFIED
Leon A ChuiSpainAnna Fali NEW
Salvatore Z BriddickGermanyStephen Shaw NEGOTIATION
Chavez P NickaArgentinaIoni Bowcher NEW
Misaki D RoysterGermanyIoni Bowcher RENEWAL
Jennifer R FerenczAustraliaOnyama Limba RENEWAL
Adams K MaletCanadaAsiya Javayant QUALIFIED
Cody I FollerJapanIvan Magalhaes QUALIFIED
Johnson C CampainRussiaStephen Shaw PROPOSAL
Ashley J BologniaSpainElwin Sharvill UNQUALIFIED
Emily A RoysterCanadaBernardo Dominic NEW
Mayumi B CaldareraFranceElwin Sharvill PROPOSAL
Chavez Z DarakjyCanadaElwin Sharvill NEW
Juan P VocelkaAustraliaIvan Magalhaes NEGOTIATION
Octavia Q InouyeJapanOnyama Limba QUALIFIED
Jennifer V MaletRussiaStephen Shaw NEW
Octavia B CaudyGermanyXuxue Feng QUALIFIED
Mayumi A NestleCanadaIoni Bowcher NEGOTIATION

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