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
Julie N DarakjyFranceAmy Elsner NEGOTIATION
Costa G CaudySpainXuxue Feng NEW
Claire A StensethArgentinaAmy Elsner PROPOSAL
Emily U TollnerJapanAnna Fali UNQUALIFIED
Octavia S MorascaFranceIvan Magalhaes RENEWAL
Faith Q MacleadSpainBernardo Dominic PROPOSAL
David W PoquetteUnited KingdomIvan Magalhaes RENEWAL
Chavez D StockhamAustraliaAsiya Javayant RENEWAL
Nicolas X InouyeArgentinaStephen Shaw NEW
Munro H DilliardSpainStephen Shaw UNQUALIFIED
Izzy J VenereGermanyIvan Magalhaes PROPOSAL
Ashley A MorascaAustraliaIoni Bowcher NEW
Arvin H RoysterUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues T FerenczCanadaIoni Bowcher UNQUALIFIED
Arvin R DoeAustraliaAmy Elsner NEW
Ivar J WieserRussiaIvan Magalhaes QUALIFIED
Mujtaba K OldroydRussiaAsiya Javayant QUALIFIED
Antonio M PoquetteCanadaOnyama Limba PROPOSAL
Clifford R DarakjyAustraliaBernardo Dominic PROPOSAL
Aika Z WieserArgentinaIvan Magalhaes UNQUALIFIED
Antonio T MaletCanadaIoni Bowcher NEW
Maria T IturbideGermanyBernardo Dominic PROPOSAL
Juan Q PaprockiItalyAnna Fali UNQUALIFIED
Costa J WaycottItalyXuxue Feng UNQUALIFIED
Stacey R FerenczUnited KingdomAmy Elsner NEW
Smith P PaprockiAustraliaIoni Bowcher PROPOSAL
David M WieserGermanyAsiya Javayant UNQUALIFIED
Sinclair T NickaCanadaBernardo Dominic UNQUALIFIED
Izzy Y SaylorsRussiaIvan Magalhaes NEGOTIATION
Jennifer A ShinkoBrazilXuxue Feng PROPOSAL
Isabel D FerenczJapanAnna Fali QUALIFIED
Morrow P FerenczRussiaOnyama Limba RENEWAL
Leon Z FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin M BriddickFranceAmy Elsner RENEWAL
Kadeem U KolmetzBrazilXuxue Feng NEGOTIATION
Emily L MacleadAustraliaAsiya Javayant QUALIFIED
Maisha V InouyeRussiaElwin Sharvill UNQUALIFIED
Antonio A FigeroaRussiaOnyama Limba RENEWAL
Cody D WhobreyAustraliaOnyama Limba NEGOTIATION
Jones I WaycottGermanyElwin Sharvill PROPOSAL
Kadeem H MarrierBrazilBernardo Dominic PROPOSAL
David I WhobreyJapanOnyama Limba NEW
Kaitlin X BologniaUnited KingdomElwin Sharvill NEW
Tony L BowleySpainAsiya Javayant UNQUALIFIED
Deepesh S SchemmerFranceAmy Elsner NEW
Greenwood L CaudyFranceXuxue Feng QUALIFIED
Octavia J DilliardUnited KingdomAmy Elsner PROPOSAL
Greenwood Y ChuiArgentinaIoni Bowcher UNQUALIFIED
Chavez F GarufiFranceAmy Elsner PROPOSAL
David G BologniaJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair G NickaFranceElwin Sharvill NEGOTIATION
Jefferson V MaletCanadaIvan Magalhaes UNQUALIFIED
Clifford V GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Ivar Q PerinJapanIvan Magalhaes NEW
Misaki X WhobreyCanadaElwin Sharvill NEW
Aditya X AmigonFranceBernardo Dominic RENEWAL
Aika C CaudyRussiaAsiya Javayant UNQUALIFIED
Julie Y GarufiSpainIoni Bowcher UNQUALIFIED
Ashley S InouyeJapanXuxue Feng NEGOTIATION
Stacey W DoeSpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L GarufiSpain2026-10-06Rousseaux, Michael Esq NEW9Xuxue Feng
1001Smith C RimJapan2026-09-27Printing Dimensions QUALIFIED74Onyama Limba
1002Izzy K RutaAustralia2026-09-12King, Christopher A Esq NEGOTIATION1Ioni Bowcher
1003Costa D CampainGermany2026-09-17Printing Dimensions NEGOTIATION27Bernardo Dominic
1004Darci L NickaIndia2026-09-10King, Christopher A Esq PROPOSAL87Amy Elsner
1005Tony K DarakjyCanada2026-09-19Dorl, James J Esq NEGOTIATION23Elwin Sharvill
1006Aditya W GillianFrance2026-09-14Dorl, James J Esq RENEWAL43Bernardo Dominic
1007Izzy O SlusarskiFrance2026-10-07Chapman, Ross E Esq UNQUALIFIED2Ioni Bowcher
1008Greenwood X OstroskyJapan2026-09-11Feltz Printing Service UNQUALIFIED24Bernardo Dominic
1009Sinclair L MorascaBrazil2026-09-29Buckley Miller Wright PROPOSAL94Elwin Sharvill
1010Greenwood Z WhobreyRussia2026-09-20Dorl, James J Esq NEW62Anna Fali
1011Isabel Z GlickGermany2026-09-13Chanay, Jeffrey A Esq NEW99Stephen Shaw
1012Leon T MorascaJapan2026-10-08Printing Dimensions QUALIFIED29Ioni Bowcher
1013Maria T MacleadCanada2026-10-04Rousseaux, Michael Esq UNQUALIFIED32Amy Elsner
1014Smith U DarakjyBrazil2026-10-01Chanay, Jeffrey A Esq QUALIFIED60Anna Fali
1015Chavez V BologniaRussia2026-09-29Chanay, Jeffrey A Esq QUALIFIED82Asiya Javayant
1016Julie B GlickSpain2026-10-05Benton, John B Jr QUALIFIED53Asiya Javayant
1017Munro W DilliardCanada2026-09-12Truhlar And Truhlar Attys NEGOTIATION44Stephen Shaw
1018Leja K RutaIndia2026-09-25Chanay, Jeffrey A Esq QUALIFIED17Ivan Magalhaes
1019Stacey N RimItaly2026-09-15Feltz Printing Service QUALIFIED6Xuxue Feng
1020Costa W GauchoAustralia2026-09-21King, Christopher A Esq NEGOTIATION73Asiya Javayant
1021Salvatore L MorascaIndia2026-09-13Benton, John B Jr PROPOSAL58Stephen Shaw
1022Mayumi W KuskoAustralia2026-10-08Truhlar And Truhlar Attys QUALIFIED54Onyama Limba
1023Wickens I FlosiRussia2026-09-11Benton, John B Jr NEGOTIATION59Stephen Shaw
1024Antonio O BriddickGermany2026-10-02Benton, John B Jr RENEWAL56Ioni Bowcher
1025Costa W WieserCanada2026-09-17Feiner Bros PROPOSAL56Amy Elsner
1026Ivar F MorascaFrance2026-09-24Rousseaux, Michael Esq NEW52Amy Elsner
1027David D DoeIndia2026-09-26Feiner Bros RENEWAL29Onyama Limba
1028Claire A DilliardFrance2026-09-26King, Christopher A Esq QUALIFIED78Asiya Javayant
1029Maria F KolmetzSpain2026-09-19Feiner Bros UNQUALIFIED45Stephen Shaw
1030Munro J CaldareraIndia2026-09-14Chemel, James L Cpa RENEWAL84Stephen Shaw
1031Rodrigues R FollerJapan2026-09-12Rousseaux, Michael Esq NEGOTIATION83Amy Elsner
1032Rodrigues C PoquetteJapan2026-10-08Printing Dimensions RENEWAL53Ioni Bowcher
1033Tony J CaudyAustralia2026-10-01Commercial Press NEGOTIATION59Onyama Limba
1034Izzy A SaylorsIndia2026-09-26Dorl, James J Esq PROPOSAL46Stephen Shaw
1035Isabel Z DoeCanada2026-09-11Commercial Press NEGOTIATION45Amy Elsner
1036Ricardo U MaletSpain2026-10-07Benton, John B Jr RENEWAL62Asiya Javayant
1037Jeanfrancois D CaldareraBrazil2026-10-03Buckley Miller Wright UNQUALIFIED97Amy Elsner
1038Mayumi W SlusarskiAustralia2026-09-21Dorl, James J Esq NEGOTIATION29Amy Elsner
1039Aruna P FigeroaBrazil2026-10-03Printing Dimensions NEW4Anna Fali
1040Jeanfrancois T StockhamBrazil2026-09-11Truhlar And Truhlar Attys PROPOSAL83Bernardo Dominic
1041Murillo S DilliardSpain2026-10-09Morlong Associates PROPOSAL74Stephen Shaw
1042Murillo E MacleadArgentina2026-09-30Chapman, Ross E Esq QUALIFIED93Bernardo Dominic
1043Misaki X StockhamBrazil2026-10-07Printing Dimensions QUALIFIED50Anna Fali
1044Murillo S OldroydAustralia2026-09-14Rangoni Of Florence UNQUALIFIED23Ioni Bowcher
1045James A PaprockiIndia2026-09-28Morlong Associates PROPOSAL20Asiya Javayant
1046James W InouyeArgentina2026-10-03Truhlar And Truhlar Attys RENEWAL78Onyama Limba
1047Johnson Z VocelkaJapan2026-10-06Commercial Press UNQUALIFIED63Stephen Shaw
1048Jones O DoeCanada2026-09-26Buckley Miller Wright NEW88Stephen Shaw
1049Greenwood D CaudyUnited Kingdom2026-09-17Feltz Printing Service NEGOTIATION76Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maisha J CaldareraJapanAmy Elsner UNQUALIFIED
Claire P FigeroaArgentinaStephen Shaw QUALIFIED
Antonio Z GillianAustraliaElwin Sharvill QUALIFIED
Murillo T RulapaughJapanAsiya Javayant RENEWAL
Ivar P KuskoAustraliaBernardo Dominic UNQUALIFIED
Chavez G VenereSpainBernardo Dominic NEW
Ricardo T MacleadSpainStephen Shaw RENEWAL
Octavia C MacleadArgentinaIoni Bowcher RENEWAL
Tony G CaldareraUnited KingdomBernardo Dominic NEW
Aika P MarrierCanadaElwin Sharvill PROPOSAL
Greenwood H MacleadCanadaAmy Elsner PROPOSAL
Jennifer G KolmetzFranceOnyama Limba PROPOSAL
Salvatore B StockhamJapanXuxue Feng RENEWAL
Tony N DoeBrazilAsiya Javayant UNQUALIFIED
Silvio D NickaIndiaStephen Shaw UNQUALIFIED
Isabel D BowleyIndiaAsiya Javayant NEGOTIATION
Murillo G FlosiGermanyAsiya Javayant NEGOTIATION
Leja M AlbaresIndiaAmy Elsner PROPOSAL
Silvio A OldroydBrazilXuxue Feng RENEWAL
Silvio B TollnerArgentinaXuxue Feng UNQUALIFIED
Mujtaba R TollnerGermanyIvan Magalhaes NEGOTIATION
Isabel Q DoeGermanyAmy Elsner PROPOSAL
Nicolas T MaletFranceStephen Shaw UNQUALIFIED
Deepesh D WieserSpainIoni Bowcher QUALIFIED
Antonio Q GillianItalyIvan Magalhaes PROPOSAL
Aruna U FlosiJapanAnna Fali NEW
Jennifer Q FigeroaIndiaIvan Magalhaes NEW
Adams L AmigonFranceBernardo Dominic NEW
Jennifer K RulapaughFranceOnyama Limba PROPOSAL
Stacey W StockhamAustraliaOnyama Limba PROPOSAL
Greenwood F BologniaArgentinaAnna Fali QUALIFIED
Leon B RulapaughItalyIoni Bowcher PROPOSAL
Morrow F GillianItalyBernardo Dominic PROPOSAL
Greenwood M GlickJapanIoni Bowcher QUALIFIED
Costa A RimSpainAnna Fali RENEWAL
Claire F StensethCanadaAnna Fali NEGOTIATION
Maria A SlusarskiJapanStephen Shaw QUALIFIED
Faith Q TollnerFranceAmy Elsner NEW
Greenwood J TollnerSpainAmy Elsner NEGOTIATION
Aruna C WhobreyArgentinaBernardo Dominic PROPOSAL
Isabel M PerinArgentinaStephen Shaw QUALIFIED
Rodrigues N MorascaItalyIvan Magalhaes PROPOSAL
Kaitlin X PerinItalyElwin Sharvill RENEWAL
Misaki J ButtAustraliaAnna Fali UNQUALIFIED
Mujtaba T MacleadGermanyAsiya Javayant RENEWAL
Rodrigues P StensethJapanAsiya Javayant NEGOTIATION
Darci C PerinJapanBernardo Dominic RENEWAL
Jones A DilliardGermanyAsiya Javayant RENEWAL
Mayumi J SchemmerIndiaElwin Sharvill QUALIFIED
Ivar M SaylorsJapanElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Aika T Tollner
Misaki W Oldroyd
Jefferson X Doe
Kaitlin T Ruta
Julie F Bowley
Aditya I Figeroa
Clifford K Slusarski
Jeanfrancois E Waycott
Izzy L Schemmer
Smith G Malet
Morrow V Iturbide
Adams K Caudy
Jefferson R Bowley
Costa W Ostrosky
Cody H Marrier
Clifford A Flosi
Salvatore P Gillian
Sinclair Z Whobrey
Costa P Figeroa
Arvin R Oldroyd
Wickens V Ostrosky
Isabel B Waycott
Antonio J Inouye
Jennifer U Kolmetz
Tony C Chui
Misaki Y Ostrosky
Murillo V Oldroyd
Munro V Ferencz
Darci M Doe
Stacey L Foller
Ivar F Rim
Alejandro Z Bolognia
Murillo X Kusko
Jefferson T Rulapaugh
Tony O Doe
Kadeem I Figeroa
Clifford N Wieser
Aruna W Waycott
Sinclair Y Royster
Nicolas T Rim
Izzy O Darakjy
Costa H Flosi
Salvatore H Paprocki
Silvio H Figeroa
Morrow K Kusko
Arvin V Chui
Sinclair E Rim
Ricardo E Stenseth
Octavia W Bowley
Chavez V Perin
IdCountryDate
1000Brazil2026-09-28
1001Spain2026-09-30
1002Japan2026-09-29
1003India2026-09-12
1004United Kingdom2026-09-29
1005United Kingdom2026-10-08
1006Argentina2026-09-14
1007Germany2026-10-03
1008Germany2026-10-02
1009Russia2026-10-05
1010United Kingdom2026-09-18
1011Italy2026-10-03
1012France2026-09-23
1013Canada2026-10-04
1014Brazil2026-09-19
1015India2026-10-09
1016Spain2026-09-28
1017Russia2026-10-01
1018Russia2026-09-23
1019Canada2026-09-23
1020Brazil2026-09-28
1021Brazil2026-09-15
1022India2026-10-04
1023Japan2026-09-20
1024Australia2026-09-11
1025Canada2026-10-06
1026France2026-09-12
1027Brazil2026-10-07
1028United Kingdom2026-09-10
1029Germany2026-10-05
1030Canada2026-09-18
1031France2026-09-24
1032Germany2026-10-08
1033India2026-09-30
1034India2026-09-20
1035Argentina2026-09-21
1036Germany2026-09-14
1037Argentina2026-10-05
1038Germany2026-09-26
1039Argentina2026-10-06
1040Japan2026-10-04
1041United Kingdom2026-09-15
1042Italy2026-09-16
1043Canada2026-09-13
1044Argentina2026-10-01
1045Japan2026-10-04
1046Spain2026-09-28
1047Argentina2026-10-07
1048India2026-09-25
1049Germany2026-09-21

On-Demand Data

NameIdCountryDate
David Q Saylors1000Russia2026-09-11
Aditya I Flosi1001Japan2026-09-25
Leja W Stenseth1002Germany2026-09-22
Leon N Dilliard1003Japan2026-10-05
Julie W Rulapaugh1004Japan2026-09-21
Antonio L Poquette1005Japan2026-09-28
Jefferson P Sergi1006Brazil2026-09-28
David I Foller1007Russia2026-09-30
Leon E Foller1008Russia2026-09-16
Johnson F Campain1009Argentina2026-10-01
Emily S Flosi1010Argentina2026-10-01
Leja Y Gillian1011France2026-09-12
Tony L Kusko1012Japan2026-09-30
Clifford D Wieser1013Germany2026-09-19
Nicolas R Kusko1014Spain2026-09-12
Ashley B Vocelka1015Canada2026-10-06
Leja G Bowley1016Russia2026-09-29
Ivar G Ruta1017Canada2026-10-08
Leja F Morasca1018Spain2026-10-02
Johnson T Perin1019Japan2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki P NickaFranceXuxue Feng NEGOTIATION
Alejandro D FollerItalyOnyama Limba PROPOSAL
Juan T OstroskyBrazilIvan Magalhaes QUALIFIED
Francesco W OldroydIndiaElwin Sharvill QUALIFIED
Izzy X FollerArgentinaOnyama Limba UNQUALIFIED
Maria I WaycottItalyAmy Elsner PROPOSAL
Isabel O MaletFranceAnna Fali UNQUALIFIED
Ashley M BowleyUnited KingdomElwin Sharvill RENEWAL
Smith O GauchoBrazilElwin Sharvill NEW
Jefferson B MaletUnited KingdomXuxue Feng PROPOSAL
Salvatore G TollnerFranceBernardo Dominic UNQUALIFIED
Kaitlin U FigeroaIndiaStephen Shaw NEW
Kadeem X StockhamRussiaXuxue Feng QUALIFIED
Salvatore B MaletCanadaOnyama Limba QUALIFIED
Ricardo K SchemmerGermanyIvan Magalhaes QUALIFIED
Leon C BologniaFranceAmy Elsner RENEWAL
Mujtaba J DoeAustraliaOnyama Limba NEGOTIATION
Arvin M CampainArgentinaOnyama Limba QUALIFIED
Jennifer K PerinArgentinaAmy Elsner RENEWAL
Octavia F CampainGermanyBernardo Dominic NEW
Nicolas W BologniaAustraliaStephen Shaw UNQUALIFIED
Clifford H MorascaBrazilAmy Elsner NEGOTIATION
Jennifer R DarakjyUnited KingdomElwin Sharvill PROPOSAL
Silvio T WaycottGermanyIoni Bowcher PROPOSAL
Costa D FollerGermanyAmy Elsner UNQUALIFIED
Aditya N PaprockiUnited KingdomAnna Fali UNQUALIFIED
James Q SchemmerRussiaAmy Elsner RENEWAL
Kadeem T PaprockiIndiaXuxue Feng PROPOSAL
Murillo S GillianItalyOnyama Limba NEGOTIATION
Cody X NickaGermanyAmy Elsner UNQUALIFIED
Morrow V RimFranceOnyama Limba RENEWAL
Mayumi M CampainItalyAmy Elsner NEGOTIATION
Misaki T SaylorsBrazilXuxue Feng NEW
Clifford Y NestleFranceAsiya Javayant UNQUALIFIED
Izzy S RulapaughItalyXuxue Feng PROPOSAL
David Y RoysterIndiaIoni Bowcher RENEWAL
Emily W SergiJapanAmy Elsner UNQUALIFIED
Wickens M AmigonGermanyAsiya Javayant NEGOTIATION
Costa O InouyeJapanAsiya Javayant QUALIFIED
Faith D NickaJapanAmy Elsner UNQUALIFIED

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