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
Claire R IturbideArgentinaXuxue Feng QUALIFIED
Antonio A ButtItalyAnna Fali RENEWAL
David B WhobreyJapanIvan Magalhaes UNQUALIFIED
Arvin P WieserGermanyOnyama Limba PROPOSAL
Wickens X MacleadUnited KingdomOnyama Limba NEGOTIATION
Costa K WieserAustraliaIvan Magalhaes NEGOTIATION
Aruna S RimItalyXuxue Feng RENEWAL
Ivar W FigeroaAustraliaStephen Shaw NEW
Francesco D WieserFranceIoni Bowcher UNQUALIFIED
Chavez N OldroydSpainOnyama Limba RENEWAL
Adams L RoysterArgentinaXuxue Feng NEGOTIATION
Darci F AmigonSpainOnyama Limba NEW
Smith B CaldareraUnited KingdomIoni Bowcher NEW
Adams U CaldareraBrazilStephen Shaw QUALIFIED
James B SaylorsSpainAmy Elsner NEW
Leon A DarakjyIndiaAnna Fali RENEWAL
Clifford S ChuiArgentinaIvan Magalhaes QUALIFIED
Antonio F AlbaresAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois W BowleyRussiaStephen Shaw NEW
Leon K OstroskyGermanyAmy Elsner NEW
Morrow V MorascaBrazilAmy Elsner QUALIFIED
Maria X BowleyIndiaElwin Sharvill NEW
Rodrigues H OldroydItalyXuxue Feng NEGOTIATION
Aika J MarrierFranceAsiya Javayant UNQUALIFIED
Clifford R PoquetteUnited KingdomOnyama Limba PROPOSAL
Kadeem X BowleyCanadaBernardo Dominic QUALIFIED
Juan V SergiIndiaAnna Fali NEW
Arvin F MarrierSpainIoni Bowcher NEGOTIATION
Chavez N CaudyBrazilStephen Shaw QUALIFIED
Octavia Y ChuiItalyIoni Bowcher NEGOTIATION
Maria C CaudyAustraliaOnyama Limba QUALIFIED
Mujtaba O ChuiAustraliaIoni Bowcher RENEWAL
Rodrigues J CampainCanadaAsiya Javayant QUALIFIED
Kadeem K GlickArgentinaIvan Magalhaes NEW
Salvatore H RimItalyAnna Fali QUALIFIED
Isabel X VenereArgentinaAmy Elsner QUALIFIED
Wickens G MarrierIndiaElwin Sharvill RENEWAL
David B PoquetteCanadaXuxue Feng NEGOTIATION
Nicolas V GauchoIndiaAnna Fali UNQUALIFIED
Julie N MacleadArgentinaBernardo Dominic NEGOTIATION
Darci Z DilliardIndiaAsiya Javayant NEGOTIATION
Leja F FollerAustraliaAsiya Javayant UNQUALIFIED
Antonio H PoquetteIndiaAnna Fali QUALIFIED
Aika R OstroskyIndiaBernardo Dominic QUALIFIED
Aruna Q InouyeJapanOnyama Limba PROPOSAL
James H SchemmerFranceElwin Sharvill RENEWAL
Deepesh P RutaRussiaOnyama Limba NEW
James B BologniaUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues C PaprockiArgentinaAmy Elsner QUALIFIED
Maria I NickaFranceElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow G PoquetteUnited KingdomAnna Fali UNQUALIFIED
James G NestleUnited KingdomElwin Sharvill NEW
Misaki U CaudyGermanyElwin Sharvill PROPOSAL
Claire V CaudySpainAnna Fali UNQUALIFIED
Johnson C KolmetzFranceAnna Fali NEGOTIATION
Izzy G IturbideAustraliaBernardo Dominic NEGOTIATION
Aruna L WaycottFranceStephen Shaw NEGOTIATION
Clifford O GillianRussiaXuxue Feng QUALIFIED
Stacey J GauchoCanadaIoni Bowcher NEGOTIATION
Juan K RulapaughBrazilStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco X SaylorsFrance2026-09-08Benton, John B Jr UNQUALIFIED64Onyama Limba
1001Cody E BowleyBrazil2026-09-21Feltz Printing Service QUALIFIED79Ivan Magalhaes
1002Ivar T PoquetteItaly2026-09-21Buckley Miller Wright PROPOSAL80Elwin Sharvill
1003Greenwood Y MaletIndia2026-09-07Buckley Miller Wright NEGOTIATION98Asiya Javayant
1004Juan P WaycottCanada2026-09-21Morlong Associates RENEWAL77Bernardo Dominic
1005Alejandro E ChuiUnited Kingdom2026-09-19Chanay, Jeffrey A Esq NEW18Bernardo Dominic
1006Aika W FerenczArgentina2026-09-18Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1007Wickens F MorascaFrance2026-09-04Chanay, Jeffrey A Esq PROPOSAL89Amy Elsner
1008Aditya W FollerIndia2026-09-06Printing Dimensions UNQUALIFIED51Ivan Magalhaes
1009Johnson E PaprockiIndia2026-09-16Chapman, Ross E Esq UNQUALIFIED85Amy Elsner
1010Silvio V StockhamFrance2026-09-07Rousseaux, Michael Esq RENEWAL93Onyama Limba
1011Salvatore P TollnerIndia2026-09-30Morlong Associates PROPOSAL77Anna Fali
1012Claire L KuskoBrazil2026-09-05Chapman, Ross E Esq NEGOTIATION30Bernardo Dominic
1013Wickens S MorascaUnited Kingdom2026-09-05Feiner Bros PROPOSAL71Onyama Limba
1014Ivar O PoquetteUnited Kingdom2026-09-09Printing Dimensions QUALIFIED23Elwin Sharvill
1015Cody F TollnerBrazil2026-09-05Benton, John B Jr PROPOSAL61Ivan Magalhaes
1016Smith M FigeroaAustralia2026-09-25Chemel, James L Cpa UNQUALIFIED87Ioni Bowcher
1017Murillo E AmigonGermany2026-09-20Chemel, James L Cpa QUALIFIED50Bernardo Dominic
1018Mayumi C RulapaughGermany2026-09-10Chemel, James L Cpa PROPOSAL40Onyama Limba
1019Alejandro S KuskoBrazil2026-09-03Feltz Printing Service PROPOSAL82Amy Elsner
1020Leon U WhobreyBrazil2026-09-12Rangoni Of Florence RENEWAL69Ivan Magalhaes
1021Costa T SergiBrazil2026-09-05Benton, John B Jr NEGOTIATION32Asiya Javayant
1022Johnson N MaletBrazil2026-09-22Dorl, James J Esq QUALIFIED40Bernardo Dominic
1023Murillo F PoquetteCanada2026-09-07Rousseaux, Michael Esq NEGOTIATION4Ivan Magalhaes
1024Jennifer Z CaudyArgentina2026-09-11Buckley Miller Wright PROPOSAL19Ioni Bowcher
1025Claire B RimItaly2026-09-04Rangoni Of Florence NEW3Anna Fali
1026Munro L FollerItaly2026-09-12Commercial Press NEGOTIATION38Xuxue Feng
1027Leja J FollerArgentina2026-09-08Rousseaux, Michael Esq QUALIFIED51Xuxue Feng
1028Francesco T ButtArgentina2026-09-28Truhlar And Truhlar Attys QUALIFIED57Xuxue Feng
1029James O PaprockiSpain2026-09-23Dorl, James J Esq UNQUALIFIED17Amy Elsner
1030Juan O GarufiSpain2026-09-10Feltz Printing Service NEGOTIATION46Bernardo Dominic
1031Maisha U NestleFrance2026-09-08Chapman, Ross E Esq RENEWAL69Onyama Limba
1032Misaki A SaylorsSpain2026-09-05Dorl, James J Esq QUALIFIED16Anna Fali
1033Kaitlin H KolmetzFrance2026-09-29Printing Dimensions RENEWAL95Stephen Shaw
1034Arvin K BologniaAustralia2026-09-30Feltz Printing Service NEW89Stephen Shaw
1035Claire D DarakjyIndia2026-09-11Chanay, Jeffrey A Esq QUALIFIED94Onyama Limba
1036Jeanfrancois K GarufiAustralia2026-09-21Printing Dimensions QUALIFIED46Onyama Limba
1037Ashley L AmigonUnited Kingdom2026-09-01Printing Dimensions NEGOTIATION49Ivan Magalhaes
1038Salvatore P PoquetteIndia2026-09-03Chapman, Ross E Esq NEW90Ioni Bowcher
1039Octavia D CaudyFrance2026-09-28Feltz Printing Service RENEWAL39Ivan Magalhaes
1040Faith D PoquetteUnited Kingdom2026-09-28Benton, John B Jr NEW48Stephen Shaw
1041Munro R SlusarskiAustralia2026-09-28Printing Dimensions PROPOSAL62Asiya Javayant
1042Aditya T BowleyBrazil2026-09-03Buckley Miller Wright RENEWAL82Ivan Magalhaes
1043Izzy L AmigonAustralia2026-09-10Commercial Press RENEWAL34Ivan Magalhaes
1044Ricardo K FigeroaItaly2026-09-04Feltz Printing Service NEGOTIATION44Asiya Javayant
1045Kaitlin M WaycottArgentina2026-09-14Buckley Miller Wright RENEWAL96Elwin Sharvill
1046Mayumi X DoeAustralia2026-09-28Buckley Miller Wright RENEWAL69Bernardo Dominic
1047Mayumi C DarakjyCanada2026-09-04Dorl, James J Esq RENEWAL81Amy Elsner
1048Munro W RoysterJapan2026-09-11Chemel, James L Cpa NEGOTIATION46Anna Fali
1049Francesco W MaletFrance2026-09-09Commercial Press NEW44Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer P GauchoAustraliaElwin Sharvill UNQUALIFIED
Darci R DilliardJapanIoni Bowcher PROPOSAL
Tony J WaycottRussiaIoni Bowcher RENEWAL
Faith O FigeroaAustraliaXuxue Feng UNQUALIFIED
Mayumi F CaldareraBrazilIvan Magalhaes UNQUALIFIED
Isabel H AlbaresCanadaBernardo Dominic RENEWAL
Ricardo G PerinGermanyIvan Magalhaes NEW
Sinclair M WhobreyUnited KingdomStephen Shaw QUALIFIED
Claire F PoquetteFranceElwin Sharvill NEW
Murillo L KuskoJapanStephen Shaw RENEWAL
Silvio L SaylorsRussiaStephen Shaw NEGOTIATION
Kaitlin U ButtCanadaBernardo Dominic PROPOSAL
Salvatore E MacleadItalyElwin Sharvill UNQUALIFIED
Johnson Y WaycottArgentinaAmy Elsner UNQUALIFIED
Kaitlin O RoysterUnited KingdomIvan Magalhaes QUALIFIED
Faith E InouyeCanadaStephen Shaw PROPOSAL
Cody L CampainIndiaIoni Bowcher PROPOSAL
Maisha G FollerCanadaOnyama Limba PROPOSAL
Murillo C DilliardArgentinaIoni Bowcher RENEWAL
Clifford B VenereJapanAnna Fali NEGOTIATION
Leon G OldroydBrazilIvan Magalhaes NEW
Mujtaba N InouyeArgentinaXuxue Feng RENEWAL
Sinclair Z GlickRussiaBernardo Dominic UNQUALIFIED
Darci U OldroydGermanyStephen Shaw PROPOSAL
Morrow D PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues U KolmetzCanadaXuxue Feng NEGOTIATION
Adams H OldroydSpainStephen Shaw RENEWAL
Kadeem X BologniaUnited KingdomAmy Elsner NEGOTIATION
Jones J FerenczFranceAnna Fali NEGOTIATION
Tony K DoeUnited KingdomStephen Shaw QUALIFIED
Leja V RutaItalyStephen Shaw QUALIFIED
David C FollerSpainElwin Sharvill NEGOTIATION
James F VenereIndiaAnna Fali RENEWAL
Chavez V SaylorsJapanAsiya Javayant NEW
Julie W ButtUnited KingdomOnyama Limba RENEWAL
Mayumi H FollerSpainAmy Elsner UNQUALIFIED
Jones G SergiFranceAnna Fali NEW
Tony L NestleCanadaXuxue Feng NEW
Aika U MaletJapanIoni Bowcher RENEWAL
Salvatore T InouyeFranceIvan Magalhaes RENEWAL
Chavez S GauchoBrazilBernardo Dominic NEW
Emily X FigeroaBrazilAnna Fali NEGOTIATION
Kaitlin C VocelkaSpainElwin Sharvill QUALIFIED
Aditya D CampainArgentinaElwin Sharvill NEW
Darci F SchemmerCanadaAnna Fali QUALIFIED
Salvatore N SchemmerArgentinaAmy Elsner NEW
Adams V SlusarskiJapanAmy Elsner QUALIFIED
Silvio C CaldareraGermanyIvan Magalhaes UNQUALIFIED
Morrow B GarufiUnited KingdomXuxue Feng NEW
Chavez B StockhamItalyIvan Magalhaes NEW
Frozen Columns
Name
Darci Q Stockham
Stacey Z Stenseth
David E Wieser
Leja J Dilliard
Ivar Y Iturbide
Francesco W Rulapaugh
Julie P Amigon
Jefferson S Waycott
Leon J Inouye
Mujtaba L Ruta
Kaitlin B Perin
Johnson O Nestle
Ricardo O Royster
Ivar H Albares
Ashley I Marrier
Ricardo Q Gaucho
Isabel D Sergi
Nicolas G Waycott
Isabel H Shinko
Antonio J Caudy
Misaki J Saylors
Silvio C Garufi
Ivar A Rim
Leja G Figeroa
Isabel Y Nestle
Greenwood N Saylors
Emily E Malet
Alejandro A Gaucho
Misaki Q Nestle
David H Gillian
Kaitlin Z Garufi
Tony C Caldarera
Nicolas X Rim
Faith Z Ostrosky
Munro S Schemmer
Leon K Morasca
Adams W Bowley
Aruna H Rim
Mayumi T Slusarski
Maisha U Amigon
Octavia L Malet
Isabel B Wieser
Rodrigues V Caldarera
David S Oldroyd
Chavez O Figeroa
Maria N Kolmetz
Leja I Darakjy
Maria H Ferencz
Emily T Malet
Jefferson K Sergi
IdCountryDate
1000India2026-09-20
1001Canada2026-09-04
1002Brazil2026-09-06
1003Germany2026-09-16
1004United Kingdom2026-09-26
1005Japan2026-09-09
1006Japan2026-09-21
1007Canada2026-09-06
1008India2026-09-12
1009Germany2026-09-23
1010Argentina2026-09-29
1011Russia2026-09-06
1012Italy2026-09-19
1013Japan2026-09-26
1014Argentina2026-09-10
1015Australia2026-09-11
1016Italy2026-09-19
1017France2026-09-04
1018India2026-09-18
1019Germany2026-09-20
1020India2026-09-21
1021Brazil2026-09-27
1022France2026-09-30
1023Japan2026-09-08
1024Italy2026-09-02
1025Russia2026-09-06
1026Germany2026-09-01
1027France2026-09-22
1028Argentina2026-09-10
1029Spain2026-09-09
1030Russia2026-09-20
1031Spain2026-09-10
1032United Kingdom2026-09-04
1033United Kingdom2026-09-29
1034Spain2026-09-17
1035Germany2026-09-22
1036Australia2026-09-15
1037Canada2026-09-01
1038Italy2026-09-07
1039India2026-09-27
1040Japan2026-09-21
1041United Kingdom2026-09-22
1042Italy2026-09-11
1043Argentina2026-09-10
1044India2026-09-24
1045France2026-09-30
1046Canada2026-09-14
1047Russia2026-09-15
1048Italy2026-09-20
1049Brazil2026-09-04

On-Demand Data

NameIdCountryDate
Sinclair N Maclead1000Canada2026-09-11
Leja G Ruta1001Canada2026-09-15
Mayumi D Nicka1002India2026-09-19
James W Perin1003Canada2026-09-30
Salvatore Z Perin1004Brazil2026-09-13
David E Perin1005Italy2026-09-23
Octavia I Ruta1006United Kingdom2026-09-13
Jones D Figeroa1007United Kingdom2026-09-15
Tony S Maclead1008India2026-09-24
Maisha G Saylors1009Australia2026-09-13
Johnson W Albares1010India2026-09-02
Stacey J Stockham1011Japan2026-09-28
Jefferson R Paprocki1012Brazil2026-09-11
Deepesh U Rulapaugh1013Canada2026-09-09
Greenwood D Figeroa1014Japan2026-09-25
Mayumi L Rulapaugh1015India2026-09-29
James F Ostrosky1016Australia2026-09-06
Stacey O Butt1017Japan2026-09-12
Kadeem L Briddick1018United Kingdom2026-09-11
Munro J Malet1019Spain2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar V NestleArgentinaXuxue Feng QUALIFIED
David W DarakjyRussiaIvan Magalhaes PROPOSAL
Rodrigues H PerinArgentinaXuxue Feng UNQUALIFIED
Leon O InouyeAustraliaBernardo Dominic PROPOSAL
Darci A CaudyAustraliaIvan Magalhaes NEW
Deepesh W MaletUnited KingdomOnyama Limba NEW
Emily J BriddickJapanIvan Magalhaes RENEWAL
Jones S TollnerJapanAmy Elsner RENEWAL
Ricardo Z VocelkaUnited KingdomOnyama Limba NEW
Octavia A GlickItalyXuxue Feng QUALIFIED
Chavez P AmigonGermanyIvan Magalhaes NEW
Arvin X VenereRussiaAnna Fali UNQUALIFIED
Mujtaba F VenereCanadaAsiya Javayant NEW
Faith J FerenczFranceBernardo Dominic UNQUALIFIED
Deepesh O NestleAustraliaBernardo Dominic NEGOTIATION
Cody H NestleItalyXuxue Feng RENEWAL
Munro A MaletIndiaAnna Fali RENEWAL
Maisha T SchemmerJapanIoni Bowcher NEW
Arvin X PoquetteItalyOnyama Limba RENEWAL
Morrow A GauchoArgentinaBernardo Dominic QUALIFIED
Maria S FerenczArgentinaIvan Magalhaes UNQUALIFIED
Stacey V DilliardArgentinaElwin Sharvill PROPOSAL
Chavez D RimIndiaXuxue Feng UNQUALIFIED
Salvatore A KolmetzAustraliaIoni Bowcher PROPOSAL
Darci M PaprockiJapanAmy Elsner QUALIFIED
Faith L BowleyUnited KingdomXuxue Feng PROPOSAL
Johnson I SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Alejandro U NestleJapanElwin Sharvill QUALIFIED
Izzy L IturbideAustraliaAsiya Javayant QUALIFIED
Faith J InouyeJapanOnyama Limba UNQUALIFIED
Stacey R BriddickItalyAmy Elsner UNQUALIFIED
Sinclair F SlusarskiGermanyIvan Magalhaes UNQUALIFIED
David R RimUnited KingdomOnyama Limba QUALIFIED
Izzy D ShinkoSpainXuxue Feng UNQUALIFIED
Juan O TollnerUnited KingdomElwin Sharvill RENEWAL
Sinclair X StockhamRussiaXuxue Feng QUALIFIED
Greenwood K GillianSpainOnyama Limba NEGOTIATION
David Y PoquetteCanadaStephen Shaw PROPOSAL
James E MarrierRussiaOnyama Limba PROPOSAL
Leon L OldroydFranceBernardo Dominic NEW

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