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 T GlickFranceXuxue Feng QUALIFIED
Morrow S MorascaRussiaAnna Fali RENEWAL
Sinclair U StockhamRussiaIvan Magalhaes UNQUALIFIED
Maria E StensethGermanyAsiya Javayant RENEWAL
Johnson V ShinkoArgentinaXuxue Feng NEW
Adams G StockhamItalyAsiya Javayant QUALIFIED
David T AlbaresRussiaOnyama Limba RENEWAL
Ricardo P NickaJapanIvan Magalhaes PROPOSAL
Antonio D PerinArgentinaXuxue Feng RENEWAL
Mujtaba B PaprockiIndiaAnna Fali QUALIFIED
Leon D OldroydArgentinaIvan Magalhaes RENEWAL
Julie Q PerinItalyAsiya Javayant NEGOTIATION
Johnson A SlusarskiArgentinaAnna Fali PROPOSAL
Aika K ButtIndiaXuxue Feng RENEWAL
Maisha E InouyeItalyElwin Sharvill PROPOSAL
Maisha M RimGermanyIvan Magalhaes NEW
Maisha U TollnerArgentinaOnyama Limba RENEWAL
Aruna U SergiUnited KingdomIvan Magalhaes RENEWAL
Maisha E OldroydBrazilXuxue Feng NEGOTIATION
Alejandro F NestleJapanIvan Magalhaes NEGOTIATION
Deepesh E MacleadIndiaAnna Fali RENEWAL
Mujtaba P WhobreyCanadaXuxue Feng NEW
Stacey J RutaAustraliaOnyama Limba QUALIFIED
Jones D FollerAustraliaIoni Bowcher QUALIFIED
Juan Q ButtJapanStephen Shaw UNQUALIFIED
Aditya R MaletSpainStephen Shaw UNQUALIFIED
Misaki D SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Leon M MorascaFranceAmy Elsner UNQUALIFIED
Juan Y StockhamJapanIvan Magalhaes NEW
Aditya C DoeCanadaIvan Magalhaes PROPOSAL
Jennifer L PerinCanadaBernardo Dominic NEGOTIATION
Jefferson G IturbideArgentinaOnyama Limba PROPOSAL
Octavia S ChuiIndiaAnna Fali RENEWAL
Claire C FollerSpainStephen Shaw RENEWAL
David Y SchemmerGermanyStephen Shaw NEW
Salvatore R BowleyArgentinaStephen Shaw QUALIFIED
Munro W ButtItalyXuxue Feng PROPOSAL
Leja R StensethFranceAmy Elsner QUALIFIED
Aruna J VocelkaCanadaAsiya Javayant NEGOTIATION
Julie Z GillianItalyStephen Shaw UNQUALIFIED
Juan T MorascaUnited KingdomAmy Elsner NEW
James E PoquetteCanadaIoni Bowcher NEW
Ashley C FerenczArgentinaAsiya Javayant NEW
Emily K DilliardRussiaIoni Bowcher QUALIFIED
Arvin G PoquetteRussiaIoni Bowcher NEGOTIATION
Alejandro D WhobreyArgentinaXuxue Feng RENEWAL
Jeanfrancois X CaldareraBrazilAsiya Javayant QUALIFIED
Tony C CaldareraRussiaAnna Fali RENEWAL
Sinclair C GarufiIndiaXuxue Feng PROPOSAL
Adams M BriddickSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Julie X TollnerCanadaAnna Fali RENEWAL
Chavez T StockhamCanadaStephen Shaw UNQUALIFIED
Jeanfrancois A WaycottFranceOnyama Limba UNQUALIFIED
Arvin X ChuiGermanyElwin Sharvill PROPOSAL
Jennifer R WhobreyCanadaElwin Sharvill NEGOTIATION
Aditya C MacleadGermanyOnyama Limba QUALIFIED
Jones J FlosiIndiaOnyama Limba UNQUALIFIED
Julie R VocelkaRussiaElwin Sharvill NEGOTIATION
Ricardo C MaletCanadaIoni Bowcher NEW
Costa Y FlosiBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan N SaylorsRussia2026-08-25Chapman, Ross E Esq QUALIFIED12Anna Fali
1001Julie C GarufiAustralia2026-09-11Chapman, Ross E Esq RENEWAL22Amy Elsner
1002Smith F GarufiIndia2026-09-16Rousseaux, Michael Esq QUALIFIED0Ioni Bowcher
1003Mayumi M MorascaJapan2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED26Elwin Sharvill
1004Ashley I WaycottAustralia2026-08-29Morlong Associates UNQUALIFIED11Ioni Bowcher
1005Alejandro R KuskoUnited Kingdom2026-09-01Rangoni Of Florence RENEWAL96Onyama Limba
1006Izzy Q ButtArgentina2026-08-27Chanay, Jeffrey A Esq UNQUALIFIED40Amy Elsner
1007Jennifer D IturbideIndia2026-09-14Feltz Printing Service PROPOSAL91Bernardo Dominic
1008Mujtaba Q GlickItaly2026-09-05Printing Dimensions NEW39Onyama Limba
1009Kaitlin X AmigonJapan2026-09-02Chemel, James L Cpa PROPOSAL84Ioni Bowcher
1010Leon F BologniaAustralia2026-09-14Truhlar And Truhlar Attys NEGOTIATION81Bernardo Dominic
1011Darci F KuskoGermany2026-09-04Dorl, James J Esq UNQUALIFIED94Ivan Magalhaes
1012Jefferson F SchemmerItaly2026-09-18Morlong Associates NEGOTIATION83Amy Elsner
1013Francesco B NestleAustralia2026-09-10Chemel, James L Cpa RENEWAL58Bernardo Dominic
1014Salvatore T AmigonSpain2026-09-02Chapman, Ross E Esq RENEWAL57Anna Fali
1015Deepesh Q RulapaughUnited Kingdom2026-09-09Morlong Associates RENEWAL62Onyama Limba
1016Emily R NickaCanada2026-09-09Truhlar And Truhlar Attys QUALIFIED64Ivan Magalhaes
1017Mayumi F SaylorsIndia2026-09-05Printing Dimensions NEGOTIATION81Asiya Javayant
1018Alejandro E FollerBrazil2026-09-13Feltz Printing Service NEW27Onyama Limba
1019Wickens Q MaletIndia2026-08-21Benton, John B Jr NEGOTIATION48Bernardo Dominic
1020Morrow G BriddickItaly2026-09-16Buckley Miller Wright PROPOSAL76Bernardo Dominic
1021Sinclair T GlickSpain2026-09-03Feltz Printing Service RENEWAL9Elwin Sharvill
1022Mujtaba H NestleIndia2026-08-26Morlong Associates QUALIFIED66Asiya Javayant
1023Murillo Y SchemmerJapan2026-09-09Commercial Press PROPOSAL66Xuxue Feng
1024Smith H MaletArgentina2026-09-16Morlong Associates UNQUALIFIED57Amy Elsner
1025Francesco M NestleCanada2026-08-30Commercial Press PROPOSAL23Xuxue Feng
1026Kadeem M IturbideGermany2026-09-12Rousseaux, Michael Esq QUALIFIED72Bernardo Dominic
1027Silvio B SchemmerCanada2026-08-28Benton, John B Jr UNQUALIFIED94Amy Elsner
1028Francesco O KolmetzUnited Kingdom2026-08-22Rangoni Of Florence PROPOSAL93Amy Elsner
1029Leon V WaycottItaly2026-09-09King, Christopher A Esq NEW73Asiya Javayant
1030Leja G NestleJapan2026-09-01Morlong Associates NEW5Asiya Javayant
1031Jones A InouyeUnited Kingdom2026-09-16Benton, John B Jr NEW81Asiya Javayant
1032Sinclair S SlusarskiItaly2026-08-25Truhlar And Truhlar Attys PROPOSAL60Xuxue Feng
1033Maria V SergiIndia2026-09-12Rousseaux, Michael Esq RENEWAL90Onyama Limba
1034Greenwood Y MarrierSpain2026-08-29Morlong Associates NEGOTIATION60Elwin Sharvill
1035Rodrigues L MarrierUnited Kingdom2026-09-11Morlong Associates NEW47Ivan Magalhaes
1036Emily L FlosiRussia2026-09-10Commercial Press UNQUALIFIED75Amy Elsner
1037Octavia K SaylorsGermany2026-09-01Buckley Miller Wright PROPOSAL51Asiya Javayant
1038Ashley B DoeItaly2026-08-31Truhlar And Truhlar Attys UNQUALIFIED4Anna Fali
1039Wickens K PaprockiIndia2026-09-09Chemel, James L Cpa QUALIFIED21Elwin Sharvill
1040Mujtaba U PerinAustralia2026-09-11King, Christopher A Esq PROPOSAL71Ivan Magalhaes
1041Ivar E OstroskyFrance2026-09-01Printing Dimensions RENEWAL10Xuxue Feng
1042Munro G SchemmerFrance2026-09-06Printing Dimensions NEW43Xuxue Feng
1043Alejandro A RimSpain2026-09-18Rousseaux, Michael Esq RENEWAL9Ivan Magalhaes
1044Francesco G VenereSpain2026-09-01Rangoni Of Florence QUALIFIED36Asiya Javayant
1045Aditya O MaletBrazil2026-09-16Truhlar And Truhlar Attys QUALIFIED26Bernardo Dominic
1046Greenwood N GauchoItaly2026-08-24Buckley Miller Wright UNQUALIFIED6Asiya Javayant
1047Francesco W TollnerItaly2026-08-31Chapman, Ross E Esq RENEWAL45Ivan Magalhaes
1048Stacey B RulapaughCanada2026-08-21Morlong Associates NEW75Stephen Shaw
1049Murillo L PerinCanada2026-08-23Rousseaux, Michael Esq NEW79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Costa H GauchoAustraliaElwin Sharvill NEW
Munro N AlbaresUnited KingdomAnna Fali NEGOTIATION
Silvio R VocelkaArgentinaElwin Sharvill UNQUALIFIED
James I AlbaresSpainAmy Elsner NEW
Emily Y CaldareraAustraliaAnna Fali UNQUALIFIED
Costa H GarufiJapanOnyama Limba PROPOSAL
Johnson I DilliardSpainBernardo Dominic UNQUALIFIED
Maria D WhobreyJapanIvan Magalhaes QUALIFIED
Costa V FollerFranceAnna Fali UNQUALIFIED
Greenwood G NestleRussiaAsiya Javayant NEGOTIATION
Jones Y MorascaUnited KingdomOnyama Limba UNQUALIFIED
Salvatore M SergiJapanIoni Bowcher NEW
Octavia D MaletIndiaOnyama Limba PROPOSAL
Adams C WieserAustraliaAnna Fali PROPOSAL
Silvio G SchemmerFranceIvan Magalhaes PROPOSAL
Julie Z KolmetzUnited KingdomIoni Bowcher PROPOSAL
Aika C DilliardFranceIoni Bowcher QUALIFIED
Silvio H SlusarskiJapanOnyama Limba PROPOSAL
Jeanfrancois P FollerFranceAnna Fali RENEWAL
Wickens E OstroskyFranceAmy Elsner UNQUALIFIED
Maisha K FigeroaGermanyOnyama Limba UNQUALIFIED
Maria C GillianFranceStephen Shaw QUALIFIED
Clifford E GillianIndiaIvan Magalhaes NEGOTIATION
Claire V NestleFranceAnna Fali RENEWAL
Nicolas Q KolmetzRussiaOnyama Limba RENEWAL
Arvin P CaldareraJapanXuxue Feng NEW
Morrow V DilliardJapanBernardo Dominic PROPOSAL
Adams A VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Kadeem J BowleyGermanyOnyama Limba UNQUALIFIED
Munro M VocelkaSpainAmy Elsner PROPOSAL
Aditya A MaletBrazilAnna Fali PROPOSAL
Chavez O GillianJapanBernardo Dominic RENEWAL
Juan E AmigonArgentinaIoni Bowcher QUALIFIED
Leja I WaycottUnited KingdomBernardo Dominic NEW
Greenwood X ChuiRussiaBernardo Dominic QUALIFIED
Mayumi D GillianGermanyIvan Magalhaes NEW
Antonio X SlusarskiCanadaStephen Shaw RENEWAL
Stacey A RoysterAustraliaOnyama Limba UNQUALIFIED
Mujtaba M DoeIndiaAsiya Javayant QUALIFIED
Julie P CaldareraJapanIvan Magalhaes PROPOSAL
Aditya N RutaGermanyAmy Elsner PROPOSAL
Adams Q PaprockiItalyAmy Elsner UNQUALIFIED
Wickens D OstroskyJapanIvan Magalhaes NEW
Antonio A MacleadSpainAsiya Javayant PROPOSAL
Ivar B PaprockiCanadaStephen Shaw PROPOSAL
Aruna A GauchoFranceIvan Magalhaes NEGOTIATION
Morrow B SergiArgentinaOnyama Limba QUALIFIED
Salvatore Q AlbaresUnited KingdomAnna Fali QUALIFIED
Murillo K MorascaBrazilAmy Elsner NEGOTIATION
James Y MacleadArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Jeanfrancois V Saylors
Sinclair D Dilliard
Aditya T Dilliard
Silvio B Flosi
Leon X Darakjy
Alejandro Q Poquette
David P Kolmetz
Leja I Wieser
Morrow E Tollner
Kadeem J Perin
Deepesh C Bowley
Cody T Royster
Isabel I Albares
Jeanfrancois S Bowley
Murillo Z Malet
Smith D Royster
Rodrigues G Kusko
Chavez K Butt
Misaki X Inouye
Murillo A Rim
Ricardo D Rulapaugh
Kadeem K Paprocki
Claire M Perin
Kadeem V Nestle
Chavez W Bowley
Nicolas J Nestle
Munro G Bowley
Arvin L Doe
Arvin S Venere
Clifford P Chui
Salvatore H Rim
Aika O Stockham
Chavez O Tollner
Adams L Vocelka
Ivar R Caudy
Emily P Nestle
Aditya V Stenseth
Silvio H Flosi
Mayumi V Malet
Murillo G Poquette
Jeanfrancois U Doe
Maisha Z Campain
Juan X Inouye
James S Royster
Jennifer Q Whobrey
Alejandro I Inouye
Sinclair M Briddick
Francesco X Maclead
Jennifer U Morasca
Maria O Schemmer
IdCountryDate
1000Spain2026-09-16
1001United Kingdom2026-09-07
1002Japan2026-09-09
1003United Kingdom2026-09-04
1004Argentina2026-08-22
1005Germany2026-09-10
1006India2026-09-07
1007United Kingdom2026-09-16
1008Argentina2026-09-14
1009Russia2026-08-23
1010Canada2026-08-29
1011India2026-08-22
1012Argentina2026-09-04
1013Italy2026-09-17
1014Spain2026-08-23
1015Argentina2026-09-17
1016Brazil2026-09-08
1017Argentina2026-09-02
1018India2026-09-13
1019Canada2026-09-14
1020France2026-08-24
1021India2026-08-24
1022France2026-08-30
1023Australia2026-08-28
1024India2026-08-29
1025Italy2026-08-26
1026Spain2026-08-24
1027Argentina2026-09-05
1028Russia2026-09-04
1029Italy2026-08-22
1030Germany2026-08-28
1031France2026-08-30
1032United Kingdom2026-08-28
1033Russia2026-09-11
1034Japan2026-08-30
1035Spain2026-08-24
1036Spain2026-09-08
1037Germany2026-09-16
1038Russia2026-09-03
1039France2026-08-28
1040Russia2026-09-06
1041United Kingdom2026-09-04
1042Spain2026-08-22
1043Spain2026-09-07
1044United Kingdom2026-09-16
1045India2026-08-26
1046Spain2026-08-28
1047Russia2026-08-28
1048Argentina2026-09-12
1049Germany2026-09-08

On-Demand Data

NameIdCountryDate
Faith W Kusko1000United Kingdom2026-09-09
Kadeem I Malet1001Argentina2026-09-10
Izzy O Schemmer1002Germany2026-09-07
Silvio L Darakjy1003United Kingdom2026-09-19
Jones J Perin1004Japan2026-09-16
Jeanfrancois R Sergi1005France2026-09-18
David M Sergi1006Italy2026-08-24
Smith U Foller1007Australia2026-09-17
Misaki U Bowley1008France2026-08-23
Nicolas I Malet1009Spain2026-09-08
Misaki U Nestle1010Japan2026-08-29
Ricardo O Stenseth1011France2026-09-13
David I Stenseth1012United Kingdom2026-08-24
Jennifer H Foller1013Argentina2026-08-26
Murillo S Butt1014Australia2026-09-10
Kadeem X Butt1015Spain2026-09-19
Julie Y Morasca1016Brazil2026-08-27
James D Doe1017Argentina2026-09-14
Jones V Stenseth1018France2026-08-31
Francesco M Vocelka1019France2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan C BologniaCanadaXuxue Feng NEGOTIATION
Clifford H BowleyCanadaIoni Bowcher NEW
Greenwood R OstroskyIndiaXuxue Feng NEGOTIATION
Mayumi F FerenczGermanyElwin Sharvill PROPOSAL
Silvio L DoeJapanIoni Bowcher RENEWAL
Nicolas N CaudyGermanyIoni Bowcher PROPOSAL
Alejandro P PaprockiArgentinaStephen Shaw RENEWAL
Isabel Y CaudyUnited KingdomIoni Bowcher RENEWAL
Juan E RulapaughCanadaStephen Shaw UNQUALIFIED
Aika J FigeroaBrazilIoni Bowcher QUALIFIED
Sinclair R BowleyCanadaXuxue Feng PROPOSAL
Sinclair X DarakjyCanadaAsiya Javayant QUALIFIED
Munro J GauchoIndiaStephen Shaw RENEWAL
Rodrigues P DarakjyGermanyStephen Shaw QUALIFIED
Munro P VocelkaIndiaStephen Shaw NEGOTIATION
Isabel O KuskoAustraliaIoni Bowcher PROPOSAL
Arvin P OstroskyFranceAmy Elsner PROPOSAL
Arvin U CaudyCanadaStephen Shaw PROPOSAL
Antonio B FollerIndiaAmy Elsner NEW
Izzy P RutaArgentinaStephen Shaw NEW
Cody O RoysterArgentinaXuxue Feng UNQUALIFIED
Francesco M AmigonBrazilStephen Shaw PROPOSAL
Antonio M SlusarskiFranceXuxue Feng RENEWAL
Rodrigues W PaprockiUnited KingdomIoni Bowcher PROPOSAL
Leja F AlbaresUnited KingdomXuxue Feng RENEWAL
Stacey U DoeArgentinaAmy Elsner NEGOTIATION
Mujtaba J OldroydJapanBernardo Dominic NEW
Aruna Z StensethGermanyXuxue Feng NEW
Stacey J VenereArgentinaAsiya Javayant QUALIFIED
Misaki G IturbideSpainStephen Shaw UNQUALIFIED
Francesco K TollnerFranceAnna Fali NEW
Kadeem L OstroskyGermanyAmy Elsner NEW
Salvatore H CaudySpainIoni Bowcher PROPOSAL
Maria F BriddickIndiaElwin Sharvill PROPOSAL
Kaitlin S ChuiJapanBernardo Dominic PROPOSAL
Ivar N FlosiJapanOnyama Limba RENEWAL
Chavez C VocelkaJapanAmy Elsner RENEWAL
Claire E RulapaughGermanyXuxue Feng NEGOTIATION
Mujtaba G BowleyRussiaAmy Elsner UNQUALIFIED
Deepesh U TollnerGermanyAsiya Javayant 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>