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
Stacey F PaprockiArgentinaAmy Elsner UNQUALIFIED
Faith C MorascaItalyOnyama Limba QUALIFIED
Tony E AmigonRussiaAnna Fali UNQUALIFIED
James E NestleBrazilAsiya Javayant QUALIFIED
Aika Q NickaBrazilIoni Bowcher QUALIFIED
Mayumi G OstroskyAustraliaAmy Elsner RENEWAL
Octavia G SergiGermanyAmy Elsner RENEWAL
Misaki O PaprockiUnited KingdomElwin Sharvill RENEWAL
Ivar O DoeBrazilBernardo Dominic QUALIFIED
Darci D DoeSpainStephen Shaw NEGOTIATION
Izzy L TollnerCanadaIvan Magalhaes UNQUALIFIED
Greenwood F CaudyBrazilBernardo Dominic QUALIFIED
Clifford F PaprockiJapanAmy Elsner RENEWAL
Stacey W MaletGermanyIvan Magalhaes NEW
Francesco Y OldroydAustraliaIvan Magalhaes RENEWAL
Wickens B MaletItalyBernardo Dominic PROPOSAL
Mayumi W CaudyJapanAsiya Javayant RENEWAL
Faith O OldroydJapanAsiya Javayant RENEWAL
Sinclair Z NestleIndiaAnna Fali NEGOTIATION
Jones H KuskoAustraliaAmy Elsner NEGOTIATION
Arvin B ShinkoCanadaAnna Fali NEGOTIATION
Rodrigues R NestleAustraliaAmy Elsner QUALIFIED
Aika J FollerJapanIvan Magalhaes RENEWAL
Alejandro R RutaItalyBernardo Dominic RENEWAL
Wickens N KuskoFranceAnna Fali NEW
David U OstroskyItalyXuxue Feng NEGOTIATION
Greenwood Y FlosiJapanBernardo Dominic UNQUALIFIED
Emily T PerinJapanIvan Magalhaes QUALIFIED
Ashley N PaprockiAustraliaAmy Elsner NEGOTIATION
Jennifer D AmigonGermanyXuxue Feng QUALIFIED
Jefferson R VenereCanadaXuxue Feng RENEWAL
Darci R NestleSpainIvan Magalhaes PROPOSAL
Aika E VenereFranceAsiya Javayant UNQUALIFIED
Deepesh K DarakjyGermanyAsiya Javayant UNQUALIFIED
Jennifer T FlosiArgentinaAmy Elsner UNQUALIFIED
Darci X AmigonFranceAnna Fali NEW
Costa N DarakjyBrazilIoni Bowcher NEGOTIATION
Leja R BologniaAustraliaIvan Magalhaes NEW
Mayumi R MaletGermanyOnyama Limba NEW
Antonio M IturbideCanadaAsiya Javayant PROPOSAL
Johnson H MarrierBrazilElwin Sharvill PROPOSAL
Adams V BologniaSpainIvan Magalhaes NEGOTIATION
Clifford C ButtUnited KingdomStephen Shaw NEW
Faith A InouyeItalyAnna Fali RENEWAL
Octavia M SergiBrazilElwin Sharvill PROPOSAL
Rodrigues T ShinkoArgentinaBernardo Dominic UNQUALIFIED
Sinclair L BowleyJapanAnna Fali PROPOSAL
Isabel N DarakjySpainIvan Magalhaes QUALIFIED
Greenwood N StockhamGermanyAsiya Javayant UNQUALIFIED
Wickens O MacleadArgentinaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel Q WieserRussiaAnna Fali NEGOTIATION
Alejandro N WaycottItalyOnyama Limba PROPOSAL
Maisha P MaletCanadaStephen Shaw QUALIFIED
Clifford R CaldareraBrazilIvan Magalhaes UNQUALIFIED
Jones Y BowleyFranceOnyama Limba QUALIFIED
Stacey O MacleadRussiaElwin Sharvill RENEWAL
Aika J MaletBrazilIoni Bowcher NEGOTIATION
Antonio B ChuiUnited KingdomAnna Fali UNQUALIFIED
Darci G NestleArgentinaIvan Magalhaes QUALIFIED
Morrow R StensethBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith L DoeArgentina2026-09-26King, Christopher A Esq NEW57Ioni Bowcher
1001James R MarrierUnited Kingdom2026-09-20Feiner Bros NEW63Elwin Sharvill
1002Greenwood Q FerenczItaly2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED64Ivan Magalhaes
1003Aruna A PerinItaly2026-10-07King, Christopher A Esq UNQUALIFIED22Ivan Magalhaes
1004Alejandro O PoquetteFrance2026-09-15Rangoni Of Florence NEGOTIATION37Onyama Limba
1005David J MorascaFrance2026-09-23Chanay, Jeffrey A Esq PROPOSAL29Bernardo Dominic
1006Tony H AlbaresBrazil2026-09-19Chemel, James L Cpa PROPOSAL40Stephen Shaw
1007Isabel S StensethAustralia2026-09-30Feiner Bros PROPOSAL47Elwin Sharvill
1008Chavez A TollnerJapan2026-10-07Chapman, Ross E Esq QUALIFIED0Ivan Magalhaes
1009Aika Z GillianArgentina2026-10-02Feltz Printing Service NEGOTIATION16Ioni Bowcher
1010Faith K NestleFrance2026-09-21Chanay, Jeffrey A Esq QUALIFIED62Ivan Magalhaes
1011Wickens Q AmigonRussia2026-10-02Chemel, James L Cpa QUALIFIED74Ivan Magalhaes
1012Silvio F GlickRussia2026-10-10Printing Dimensions UNQUALIFIED47Asiya Javayant
1013Emily K MarrierArgentina2026-09-23Buckley Miller Wright NEGOTIATION11Ioni Bowcher
1014Octavia G WaycottFrance2026-10-08King, Christopher A Esq NEW92Bernardo Dominic
1015Wickens G RimSpain2026-10-05Truhlar And Truhlar Attys UNQUALIFIED87Amy Elsner
1016Maisha F StockhamArgentina2026-09-25King, Christopher A Esq NEW17Asiya Javayant
1017Clifford F FigeroaAustralia2026-10-06Feltz Printing Service NEW49Anna Fali
1018Morrow E AmigonBrazil2026-09-19Chapman, Ross E Esq QUALIFIED38Asiya Javayant
1019Kadeem D FigeroaSpain2026-09-26Feltz Printing Service UNQUALIFIED29Bernardo Dominic
1020Ricardo Z WaycottJapan2026-10-09Dorl, James J Esq NEW48Ivan Magalhaes
1021Misaki X WaycottUnited Kingdom2026-10-01Truhlar And Truhlar Attys PROPOSAL64Stephen Shaw
1022Morrow A MorascaCanada2026-09-15Truhlar And Truhlar Attys RENEWAL12Elwin Sharvill
1023Costa S FollerRussia2026-09-30Commercial Press PROPOSAL7Stephen Shaw
1024Stacey E FlosiAustralia2026-09-26Chapman, Ross E Esq NEGOTIATION35Xuxue Feng
1025Aruna S ButtArgentina2026-10-09Buckley Miller Wright NEW70Asiya Javayant
1026Adams C CaudyJapan2026-10-08Rousseaux, Michael Esq QUALIFIED20Onyama Limba
1027Leon T ButtItaly2026-09-18Rangoni Of Florence RENEWAL64Anna Fali
1028Jeanfrancois O InouyeIndia2026-10-01Morlong Associates UNQUALIFIED73Xuxue Feng
1029Ricardo R OstroskyAustralia2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED71Stephen Shaw
1030Antonio O TollnerArgentina2026-09-25Chapman, Ross E Esq RENEWAL22Onyama Limba
1031Octavia W VenereBrazil2026-10-05Chemel, James L Cpa UNQUALIFIED91Bernardo Dominic
1032Stacey N PoquetteUnited Kingdom2026-10-02Chapman, Ross E Esq RENEWAL29Elwin Sharvill
1033Arvin B RoysterArgentina2026-09-14Benton, John B Jr PROPOSAL41Amy Elsner
1034Kadeem H NickaGermany2026-09-17Feiner Bros NEW51Xuxue Feng
1035Aditya R PoquetteGermany2026-09-29Morlong Associates PROPOSAL43Amy Elsner
1036Claire B SergiRussia2026-09-18Chanay, Jeffrey A Esq QUALIFIED48Amy Elsner
1037Francesco A OldroydRussia2026-09-14Chanay, Jeffrey A Esq QUALIFIED89Bernardo Dominic
1038Deepesh Z WhobreySpain2026-10-07King, Christopher A Esq NEW83Asiya Javayant
1039Antonio Z ShinkoBrazil2026-10-01Benton, John B Jr PROPOSAL21Ioni Bowcher
1040Juan V GillianArgentina2026-10-08Rangoni Of Florence NEW55Elwin Sharvill
1041Nicolas A MarrierJapan2026-10-10Chemel, James L Cpa UNQUALIFIED95Ioni Bowcher
1042Ricardo Q RoysterCanada2026-09-14Chanay, Jeffrey A Esq QUALIFIED75Xuxue Feng
1043Leon K SaylorsSpain2026-09-21Commercial Press RENEWAL3Onyama Limba
1044Wickens C ShinkoBrazil2026-09-22Benton, John B Jr RENEWAL56Bernardo Dominic
1045Chavez L FigeroaIndia2026-09-13Feiner Bros UNQUALIFIED57Asiya Javayant
1046Arvin I NestleFrance2026-09-22Chapman, Ross E Esq UNQUALIFIED38Amy Elsner
1047Antonio J CampainRussia2026-10-01Commercial Press QUALIFIED85Ivan Magalhaes
1048Silvio D FlosiUnited Kingdom2026-09-12Printing Dimensions NEW29Bernardo Dominic
1049Jones X VocelkaSpain2026-10-10Rousseaux, Michael Esq NEW95Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna T SaylorsAustraliaAnna Fali UNQUALIFIED
James S MarrierArgentinaXuxue Feng NEW
Isabel X PoquetteUnited KingdomElwin Sharvill PROPOSAL
Julie V KolmetzIndiaXuxue Feng NEGOTIATION
Ashley E FerenczFranceBernardo Dominic QUALIFIED
Nicolas X SergiUnited KingdomAsiya Javayant NEGOTIATION
Maisha U SchemmerBrazilOnyama Limba NEGOTIATION
Isabel P MacleadUnited KingdomBernardo Dominic RENEWAL
Stacey L RulapaughGermanyAnna Fali UNQUALIFIED
Kadeem G BologniaItalyXuxue Feng NEW
Francesco E GarufiCanadaAsiya Javayant RENEWAL
Alejandro E SaylorsFranceOnyama Limba UNQUALIFIED
Adams Q StensethGermanyBernardo Dominic NEGOTIATION
Antonio V StensethIndiaStephen Shaw NEGOTIATION
Adams U DilliardAustraliaAsiya Javayant QUALIFIED
Ivar Z AlbaresRussiaAnna Fali QUALIFIED
Juan M VenereFranceIvan Magalhaes NEGOTIATION
Silvio F SchemmerJapanElwin Sharvill NEGOTIATION
Arvin R OstroskyRussiaAmy Elsner RENEWAL
Aruna W DarakjyRussiaXuxue Feng RENEWAL
Mujtaba Y VocelkaGermanyAnna Fali RENEWAL
Munro D BowleyBrazilIvan Magalhaes RENEWAL
Jennifer J KuskoCanadaStephen Shaw RENEWAL
Leon K StensethBrazilIoni Bowcher NEW
Mayumi D OldroydArgentinaXuxue Feng NEGOTIATION
David N WaycottUnited KingdomAsiya Javayant NEW
Mujtaba T GlickRussiaIvan Magalhaes NEGOTIATION
James M GlickAustraliaAnna Fali NEGOTIATION
Isabel G FigeroaSpainAmy Elsner UNQUALIFIED
Isabel I NestleUnited KingdomXuxue Feng PROPOSAL
Jefferson R AlbaresAustraliaElwin Sharvill PROPOSAL
Johnson R StensethJapanAmy Elsner QUALIFIED
Deepesh C WieserArgentinaElwin Sharvill PROPOSAL
Alejandro W StensethItalyBernardo Dominic UNQUALIFIED
Aditya O ChuiGermanyXuxue Feng NEW
Izzy F RutaCanadaBernardo Dominic UNQUALIFIED
Aruna F GauchoSpainOnyama Limba QUALIFIED
Leja Y DilliardIndiaAsiya Javayant QUALIFIED
Jefferson I FigeroaCanadaIoni Bowcher RENEWAL
Arvin K GauchoItalyIoni Bowcher QUALIFIED
Ivar R MarrierFranceIvan Magalhaes PROPOSAL
Chavez O FlosiBrazilBernardo Dominic NEGOTIATION
Sinclair D MorascaSpainIvan Magalhaes NEGOTIATION
Smith K CaldareraRussiaAnna Fali QUALIFIED
Silvio A KuskoAustraliaIvan Magalhaes QUALIFIED
Mujtaba T MaletUnited KingdomStephen Shaw RENEWAL
Munro L StockhamGermanyXuxue Feng PROPOSAL
Kaitlin L MorascaFranceBernardo Dominic UNQUALIFIED
Chavez U VenereAustraliaAmy Elsner RENEWAL
Ivar N MacleadGermanyIoni Bowcher NEW
Frozen Columns
Name
Chavez Z Darakjy
Kadeem E Albares
James S Perin
Cody F Whobrey
Leon T Tollner
Emily V Kusko
Alejandro H Saylors
Leja A Venere
Jennifer K Tollner
Jeanfrancois T Albares
Misaki O Foller
Mayumi T Albares
Tony U Flosi
Aditya T Stenseth
Silvio A Royster
Nicolas E Nestle
Nicolas Z Stockham
Tony B Figeroa
Smith A Malet
Rodrigues Q Waycott
Cody O Garufi
Julie M Slusarski
Aruna K Venere
Wickens A Oldroyd
Leon R Shinko
Rodrigues U Gillian
Murillo A Stenseth
Antonio T Garufi
Costa E Ostrosky
Francesco A Gaucho
Arvin O Dilliard
Misaki B Chui
Alejandro U Campain
Leja D Glick
Izzy G Campain
Jeanfrancois A Ruta
Ricardo P Kolmetz
Leja Y Ferencz
Ivar H Kusko
Cody T Slusarski
Aditya S Ruta
James O Kolmetz
Salvatore D Figeroa
Arvin D Royster
Darci U Schemmer
Julie N Kolmetz
Alejandro G Oldroyd
Deepesh E Malet
Cody W Rulapaugh
Silvio K Chui
IdCountryDate
1000Japan2026-10-01
1001Russia2026-10-01
1002United Kingdom2026-09-20
1003Australia2026-10-06
1004Canada2026-10-04
1005Canada2026-09-17
1006Australia2026-09-12
1007France2026-09-30
1008France2026-09-18
1009Australia2026-10-02
1010Spain2026-09-16
1011France2026-09-17
1012Russia2026-10-06
1013United Kingdom2026-10-03
1014Canada2026-09-15
1015Spain2026-09-15
1016Spain2026-09-12
1017Canada2026-10-07
1018Russia2026-09-17
1019France2026-09-28
1020Brazil2026-10-03
1021India2026-09-13
1022Argentina2026-09-17
1023India2026-09-25
1024United Kingdom2026-09-18
1025France2026-09-16
1026Russia2026-10-03
1027Russia2026-09-11
1028Argentina2026-09-18
1029India2026-10-10
1030Brazil2026-09-24
1031France2026-10-03
1032Canada2026-10-05
1033Italy2026-09-21
1034Argentina2026-09-20
1035France2026-09-13
1036Brazil2026-09-13
1037Brazil2026-09-21
1038Argentina2026-10-06
1039United Kingdom2026-09-18
1040Japan2026-09-29
1041United Kingdom2026-09-28
1042United Kingdom2026-09-25
1043Argentina2026-09-29
1044Italy2026-09-28
1045Spain2026-10-06
1046Canada2026-10-08
1047Italy2026-09-17
1048Japan2026-09-25
1049Germany2026-09-17

On-Demand Data

NameIdCountryDate
David A Gaucho1000Japan2026-10-02
Ricardo Y Venere1001Australia2026-09-16
Smith L Venere1002Germany2026-09-23
Ashley Y Gillian1003Japan2026-09-26
Emily U Perin1004Spain2026-09-22
Chavez Q Schemmer1005United Kingdom2026-09-30
Darci G Stockham1006United Kingdom2026-09-30
Aruna V Garufi1007France2026-09-15
Silvio P Darakjy1008Italy2026-09-19
Alejandro R Dilliard1009Italy2026-09-29
Munro G Foller1010United Kingdom2026-10-09
Mayumi H Poquette1011Japan2026-09-14
Kaitlin W Campain1012Brazil2026-09-14
Jeanfrancois R Garufi1013Germany2026-09-24
Greenwood T Campain1014Japan2026-10-03
Johnson X Saylors1015Australia2026-10-09
Chavez K Paprocki1016Italy2026-10-06
Munro Z Gillian1017United Kingdom2026-09-13
Isabel N Nicka1018Spain2026-09-13
Wickens Y Ostrosky1019India2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X PaprockiUnited KingdomXuxue Feng QUALIFIED
Julie N FollerFranceXuxue Feng NEGOTIATION
Octavia H FerenczArgentinaStephen Shaw NEW
Tony O CaudySpainXuxue Feng PROPOSAL
Nicolas I MaletGermanyIoni Bowcher QUALIFIED
Mayumi N VenereJapanAsiya Javayant UNQUALIFIED
Sinclair F KolmetzIndiaStephen Shaw RENEWAL
Johnson C ShinkoJapanAsiya Javayant PROPOSAL
Stacey V PoquetteAustraliaAnna Fali PROPOSAL
Costa Z SaylorsRussiaAsiya Javayant QUALIFIED
Deepesh I WaycottCanadaXuxue Feng NEW
Maisha P GarufiGermanyIoni Bowcher QUALIFIED
Clifford P ChuiFranceAsiya Javayant QUALIFIED
Mayumi B PoquetteArgentinaIvan Magalhaes QUALIFIED
Chavez B GillianSpainOnyama Limba RENEWAL
Arvin N GillianJapanElwin Sharvill PROPOSAL
Izzy A ButtArgentinaStephen Shaw PROPOSAL
Munro V CampainBrazilOnyama Limba NEW
Nicolas A FlosiBrazilIoni Bowcher QUALIFIED
Costa Q ChuiSpainAmy Elsner UNQUALIFIED
Izzy V PaprockiUnited KingdomIoni Bowcher NEW
Juan Y RimItalyXuxue Feng PROPOSAL
Wickens O InouyeAustraliaXuxue Feng NEGOTIATION
Alejandro I PaprockiUnited KingdomAmy Elsner QUALIFIED
Faith J NickaRussiaXuxue Feng PROPOSAL
Jefferson E GarufiJapanOnyama Limba NEW
Isabel E DilliardAustraliaElwin Sharvill PROPOSAL
Deepesh R CampainGermanyAmy Elsner PROPOSAL
Kaitlin G MacleadUnited KingdomStephen Shaw NEW
Cody R StensethItalyIvan Magalhaes UNQUALIFIED
Arvin F IturbideSpainAnna Fali UNQUALIFIED
Nicolas Q SchemmerGermanyBernardo Dominic RENEWAL
Rodrigues Q FlosiGermanyBernardo Dominic PROPOSAL
Octavia X CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Johnson R ShinkoAustraliaElwin Sharvill UNQUALIFIED
Clifford P RulapaughItalyOnyama Limba UNQUALIFIED
Deepesh A CaldareraGermanyXuxue Feng NEW
Jennifer T AmigonUnited KingdomBernardo Dominic NEW
Octavia B AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Adams N NickaRussiaStephen 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>