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
Tony G FigeroaGermanyAsiya Javayant PROPOSAL
Ricardo P GauchoRussiaXuxue Feng QUALIFIED
Costa Q GlickCanadaXuxue Feng NEGOTIATION
Jennifer J DarakjySpainAsiya Javayant QUALIFIED
Silvio Z DoeGermanyOnyama Limba QUALIFIED
Jeanfrancois M DoeCanadaElwin Sharvill NEGOTIATION
Cody A GauchoCanadaAmy Elsner NEGOTIATION
Misaki P VocelkaItalyStephen Shaw QUALIFIED
Isabel A RoysterRussiaStephen Shaw NEGOTIATION
Nicolas G KuskoRussiaAnna Fali NEGOTIATION
Kadeem K PaprockiCanadaOnyama Limba QUALIFIED
Rodrigues L WieserFranceAmy Elsner PROPOSAL
Morrow T WaycottIndiaStephen Shaw NEGOTIATION
Emily H KolmetzItalyElwin Sharvill RENEWAL
Jennifer N RimCanadaStephen Shaw PROPOSAL
Jones N FerenczIndiaAnna Fali QUALIFIED
Aika A TollnerRussiaStephen Shaw NEGOTIATION
Silvio P SlusarskiBrazilIvan Magalhaes NEW
Leja W NestleAustraliaBernardo Dominic PROPOSAL
Rodrigues Y SergiItalyAnna Fali PROPOSAL
Costa V NickaRussiaAnna Fali QUALIFIED
James B RulapaughCanadaIoni Bowcher NEW
Johnson W DarakjyIndiaIoni Bowcher PROPOSAL
Julie L BowleyItalyStephen Shaw UNQUALIFIED
Munro O SergiAustraliaBernardo Dominic NEGOTIATION
Johnson F MaletIndiaBernardo Dominic QUALIFIED
Antonio J VenereGermanyXuxue Feng NEGOTIATION
James F RimArgentinaIoni Bowcher NEGOTIATION
Cody V IturbideFranceAsiya Javayant UNQUALIFIED
Aika J GlickArgentinaBernardo Dominic NEW
Munro U GillianRussiaStephen Shaw UNQUALIFIED
Jennifer M GillianBrazilBernardo Dominic QUALIFIED
Aditya X MarrierFranceAnna Fali PROPOSAL
Deepesh N VenereAustraliaAsiya Javayant NEW
Greenwood J WhobreyItalyElwin Sharvill QUALIFIED
Greenwood I GarufiArgentinaAmy Elsner PROPOSAL
Julie I KolmetzAustraliaAsiya Javayant NEW
Smith I StensethSpainElwin Sharvill PROPOSAL
Stacey Q TollnerFranceXuxue Feng NEW
Octavia S KolmetzBrazilAsiya Javayant PROPOSAL
Faith H TollnerRussiaIoni Bowcher UNQUALIFIED
Chavez G RutaFranceStephen Shaw NEGOTIATION
Aika G GarufiSpainStephen Shaw UNQUALIFIED
Jeanfrancois C GauchoGermanyOnyama Limba NEGOTIATION
Faith N CaudyBrazilAsiya Javayant QUALIFIED
Juan N AmigonGermanyAsiya Javayant NEGOTIATION
Ricardo C PerinFranceAsiya Javayant UNQUALIFIED
Mayumi G GauchoItalyAnna Fali PROPOSAL
Misaki A MarrierItalyStephen Shaw NEW
Deepesh U CampainCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci O FlosiItalyElwin Sharvill NEW
David B ChuiRussiaElwin Sharvill PROPOSAL
Izzy H PaprockiItalyElwin Sharvill PROPOSAL
Jennifer C VocelkaArgentinaIoni Bowcher NEGOTIATION
Mayumi V KuskoBrazilAmy Elsner UNQUALIFIED
Maisha Z DoeIndiaIvan Magalhaes UNQUALIFIED
Greenwood W MarrierArgentinaAmy Elsner UNQUALIFIED
Johnson B GauchoSpainAsiya Javayant UNQUALIFIED
Morrow M GauchoJapanIvan Magalhaes NEW
Murillo N ChuiJapanXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily C BriddickSpain2026-09-12Rousseaux, Michael Esq NEGOTIATION61Xuxue Feng
1001Claire X BologniaCanada2026-09-20Rangoni Of Florence QUALIFIED53Elwin Sharvill
1002Emily O CaldareraGermany2026-09-12Morlong Associates UNQUALIFIED17Ivan Magalhaes
1003Rodrigues E MarrierFrance2026-09-27King, Christopher A Esq NEW49Amy Elsner
1004Jefferson U FollerIndia2026-10-07Feiner Bros PROPOSAL16Anna Fali
1005Jones T WaycottGermany2026-09-09Feiner Bros UNQUALIFIED8Onyama Limba
1006Stacey V FerenczArgentina2026-09-13Chanay, Jeffrey A Esq QUALIFIED51Xuxue Feng
1007Rodrigues O RulapaughUnited Kingdom2026-09-09Chanay, Jeffrey A Esq RENEWAL84Ioni Bowcher
1008Adams N WaycottItaly2026-09-23King, Christopher A Esq NEW25Amy Elsner
1009Kadeem E BologniaItaly2026-10-01Chemel, James L Cpa NEW67Ivan Magalhaes
1010Johnson O ShinkoJapan2026-09-11Feiner Bros UNQUALIFIED95Stephen Shaw
1011Adams F DarakjyIndia2026-09-11Feltz Printing Service QUALIFIED8Stephen Shaw
1012David X DoeIndia2026-09-15Feiner Bros UNQUALIFIED76Ivan Magalhaes
1013Mujtaba T DilliardJapan2026-10-04Rangoni Of Florence NEGOTIATION75Anna Fali
1014Aditya C NickaArgentina2026-09-24Chemel, James L Cpa UNQUALIFIED54Anna Fali
1015Octavia Y MorascaJapan2026-09-30Benton, John B Jr NEW19Elwin Sharvill
1016Adams M KuskoFrance2026-09-12Rousseaux, Michael Esq QUALIFIED10Elwin Sharvill
1017Ricardo J StensethIndia2026-09-18Rousseaux, Michael Esq NEGOTIATION28Stephen Shaw
1018Izzy M NestleItaly2026-09-24Rousseaux, Michael Esq UNQUALIFIED66Amy Elsner
1019Ivar Z NestleUnited Kingdom2026-09-22Truhlar And Truhlar Attys UNQUALIFIED41Anna Fali
1020Maria U RutaAustralia2026-10-07Chapman, Ross E Esq RENEWAL77Stephen Shaw
1021Jones C NickaRussia2026-09-24Chemel, James L Cpa UNQUALIFIED77Stephen Shaw
1022Ricardo L CaldareraAustralia2026-09-13Truhlar And Truhlar Attys QUALIFIED4Elwin Sharvill
1023Leja P OldroydUnited Kingdom2026-10-07Dorl, James J Esq PROPOSAL72Ioni Bowcher
1024Jones U VenereSpain2026-09-21Buckley Miller Wright RENEWAL32Onyama Limba
1025Tony W OldroydArgentina2026-09-25Chapman, Ross E Esq UNQUALIFIED80Ioni Bowcher
1026Ricardo H CaudyGermany2026-09-21Benton, John B Jr UNQUALIFIED98Anna Fali
1027Morrow A MarrierCanada2026-09-19Benton, John B Jr RENEWAL41Elwin Sharvill
1028Maria R ShinkoAustralia2026-09-22Rousseaux, Michael Esq RENEWAL66Asiya Javayant
1029Jefferson F ShinkoAustralia2026-09-10Rangoni Of Florence NEGOTIATION83Ivan Magalhaes
1030Deepesh Q StockhamGermany2026-09-14Truhlar And Truhlar Attys UNQUALIFIED7Xuxue Feng
1031Alejandro Z DilliardCanada2026-10-01Dorl, James J Esq PROPOSAL81Bernardo Dominic
1032Smith R MaletFrance2026-09-13Rangoni Of Florence UNQUALIFIED64Xuxue Feng
1033Jefferson E StensethAustralia2026-09-12Rangoni Of Florence PROPOSAL43Amy Elsner
1034Arvin Z ButtArgentina2026-10-01Morlong Associates RENEWAL44Ioni Bowcher
1035Clifford H FigeroaArgentina2026-09-22Morlong Associates PROPOSAL55Onyama Limba
1036Arvin P CaldareraFrance2026-10-06Chapman, Ross E Esq PROPOSAL71Stephen Shaw
1037Octavia D KolmetzBrazil2026-09-26Rousseaux, Michael Esq UNQUALIFIED36Onyama Limba
1038Faith S KolmetzBrazil2026-09-17Buckley Miller Wright QUALIFIED92Xuxue Feng
1039Faith V OstroskyRussia2026-09-21Feltz Printing Service NEW25Bernardo Dominic
1040Maisha L DilliardCanada2026-09-21Commercial Press NEGOTIATION19Anna Fali
1041Nicolas M SergiSpain2026-09-20Chapman, Ross E Esq NEGOTIATION33Ioni Bowcher
1042Ricardo F MaletArgentina2026-09-21Commercial Press NEGOTIATION79Amy Elsner
1043Mujtaba C FigeroaRussia2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED36Ioni Bowcher
1044Adams X IturbideUnited Kingdom2026-10-01Feltz Printing Service NEW57Stephen Shaw
1045Faith Q RoysterSpain2026-10-05Printing Dimensions PROPOSAL56Stephen Shaw
1046James Q AlbaresJapan2026-10-04Chanay, Jeffrey A Esq NEW99Bernardo Dominic
1047Chavez L FlosiJapan2026-10-01Truhlar And Truhlar Attys PROPOSAL91Stephen Shaw
1048Julie T ChuiUnited Kingdom2026-09-11Chemel, James L Cpa UNQUALIFIED10Ioni Bowcher
1049Darci U BriddickSpain2026-09-09Feiner Bros UNQUALIFIED18Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio X NickaAustraliaIoni Bowcher NEGOTIATION
Cody B MacleadGermanyIvan Magalhaes NEW
Silvio Z PoquetteArgentinaIvan Magalhaes PROPOSAL
Ashley O FigeroaFranceAnna Fali PROPOSAL
Rodrigues S DoeUnited KingdomAmy Elsner UNQUALIFIED
Aika Y StockhamRussiaOnyama Limba UNQUALIFIED
Jennifer W MaletUnited KingdomStephen Shaw RENEWAL
Wickens R MacleadIndiaBernardo Dominic NEGOTIATION
Isabel Z OstroskyCanadaBernardo Dominic PROPOSAL
Ricardo M CaldareraIndiaIvan Magalhaes RENEWAL
Mayumi J MaletIndiaXuxue Feng RENEWAL
Silvio T SaylorsAustraliaAnna Fali NEW
Rodrigues V DarakjyArgentinaAsiya Javayant QUALIFIED
Leon K SchemmerJapanBernardo Dominic QUALIFIED
Costa B BowleyGermanyElwin Sharvill UNQUALIFIED
Costa D FerenczItalyElwin Sharvill NEGOTIATION
Arvin V BologniaGermanyStephen Shaw NEGOTIATION
Maria P PoquetteAustraliaStephen Shaw NEW
Munro C FollerRussiaBernardo Dominic NEGOTIATION
Kaitlin U MaletItalyIoni Bowcher NEGOTIATION
Chavez D SchemmerJapanAsiya Javayant RENEWAL
David D ShinkoFranceAsiya Javayant RENEWAL
Smith S RutaFranceAnna Fali UNQUALIFIED
Jones X VocelkaGermanyAsiya Javayant RENEWAL
Murillo V StockhamSpainIvan Magalhaes RENEWAL
Silvio L FollerUnited KingdomOnyama Limba PROPOSAL
Ivar K FigeroaAustraliaElwin Sharvill PROPOSAL
Wickens R WieserGermanyIvan Magalhaes RENEWAL
James Z MaletRussiaIvan Magalhaes QUALIFIED
Salvatore J DoeArgentinaElwin Sharvill UNQUALIFIED
Jennifer R FlosiBrazilStephen Shaw PROPOSAL
Leja O GauchoFranceIoni Bowcher NEW
Adams Z StockhamIndiaIoni Bowcher PROPOSAL
Isabel D AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Francesco F IturbideJapanStephen Shaw NEW
Jeanfrancois X WaycottSpainAmy Elsner UNQUALIFIED
Johnson Q RimGermanyXuxue Feng NEW
Maisha O DarakjyUnited KingdomIvan Magalhaes RENEWAL
Clifford Y ShinkoBrazilStephen Shaw RENEWAL
Kaitlin S GlickBrazilBernardo Dominic RENEWAL
Smith U ChuiUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois M BriddickAustraliaAnna Fali PROPOSAL
Kaitlin G RimBrazilAmy Elsner UNQUALIFIED
Jones D PoquetteUnited KingdomAnna Fali QUALIFIED
Kaitlin C FerenczSpainElwin Sharvill NEGOTIATION
Misaki K BowleyFranceBernardo Dominic NEGOTIATION
Smith C GauchoIndiaOnyama Limba NEW
Kadeem K PerinFranceIvan Magalhaes PROPOSAL
Chavez J AmigonUnited KingdomOnyama Limba RENEWAL
Ricardo B NickaFranceAsiya Javayant PROPOSAL
Frozen Columns
Name
Chavez M Nicka
Isabel F Glick
Julie C Campain
Ricardo P Nestle
Claire N Gillian
Francesco H Sergi
Tony A Bowley
Ivar G Poquette
Jeanfrancois G Oldroyd
Silvio V Stenseth
Salvatore W Stenseth
Wickens F Campain
Stacey A Amigon
Wickens X Inouye
Smith G Amigon
Izzy T Campain
Maria S Saylors
Darci K Malet
Emily P Rulapaugh
Rodrigues D Ostrosky
Adams M Wieser
Izzy V Flosi
Misaki P Gaucho
Wickens N Flosi
Octavia N Whobrey
Maisha L Whobrey
Kaitlin P Iturbide
Clifford B Stenseth
Greenwood M Malet
Emily Q Campain
Isabel G Campain
Julie S Tollner
Chavez D Rulapaugh
Maisha W Nicka
Cody I Chui
Darci X Paprocki
Isabel V Caudy
Mayumi T Ferencz
James V Maclead
Claire A Foller
Leja L Chui
Morrow Q Rim
Misaki Y Maclead
Isabel S Shinko
Costa L Nicka
Greenwood A Kolmetz
Leon V Perin
Octavia U Oldroyd
James F Wieser
Greenwood F Rulapaugh
IdCountryDate
1000Brazil2026-09-22
1001Russia2026-09-11
1002Spain2026-09-26
1003Germany2026-09-10
1004India2026-09-14
1005United Kingdom2026-10-07
1006India2026-09-10
1007Canada2026-09-19
1008Russia2026-09-09
1009Australia2026-10-03
1010France2026-09-11
1011Canada2026-09-22
1012Germany2026-09-22
1013India2026-09-27
1014France2026-09-17
1015Argentina2026-09-09
1016Canada2026-10-07
1017Argentina2026-09-16
1018India2026-10-06
1019France2026-10-05
1020Canada2026-09-26
1021Australia2026-09-29
1022Russia2026-09-26
1023Australia2026-09-14
1024Italy2026-09-29
1025Japan2026-10-04
1026Germany2026-09-26
1027India2026-09-11
1028United Kingdom2026-09-20
1029Italy2026-09-09
1030Russia2026-09-24
1031United Kingdom2026-09-16
1032Russia2026-09-20
1033Argentina2026-09-21
1034India2026-10-03
1035Japan2026-09-10
1036Russia2026-09-19
1037Brazil2026-10-06
1038Japan2026-10-08
1039Italy2026-09-30
1040Spain2026-10-06
1041Spain2026-09-19
1042Japan2026-09-23
1043Russia2026-09-12
1044India2026-09-25
1045United Kingdom2026-09-09
1046India2026-09-18
1047India2026-09-27
1048Brazil2026-09-11
1049United Kingdom2026-09-11

On-Demand Data

NameIdCountryDate
Salvatore S Inouye1000Argentina2026-09-21
Kadeem J Oldroyd1001Germany2026-10-07
Leja R Malet1002Japan2026-09-11
David E Foller1003Spain2026-10-01
Adams S Butt1004Australia2026-09-28
Stacey J Albares1005Brazil2026-09-22
James O Poquette1006Canada2026-09-27
Sinclair T Albares1007France2026-09-20
Kadeem T Malet1008United Kingdom2026-10-03
Antonio W Shinko1009Argentina2026-09-16
Aditya Y Glick1010Italy2026-10-04
Maria Q Maclead1011Russia2026-09-20
Faith I Nicka1012Spain2026-09-26
Alejandro I Saylors1013Australia2026-09-21
Juan A Rulapaugh1014Japan2026-09-17
Julie Z Tollner1015Russia2026-10-01
Faith B Figeroa1016Japan2026-09-17
Izzy I Ferencz1017United Kingdom2026-10-07
David Y Doe1018Japan2026-09-10
Claire O Perin1019Russia2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya L VenereSpainIvan Magalhaes QUALIFIED
Wickens G GillianAustraliaOnyama Limba RENEWAL
Rodrigues L WaycottGermanyAsiya Javayant RENEWAL
Antonio G CaudyGermanyElwin Sharvill QUALIFIED
Misaki J SergiRussiaOnyama Limba QUALIFIED
Claire H DilliardUnited KingdomAsiya Javayant RENEWAL
Greenwood A AlbaresGermanyElwin Sharvill NEGOTIATION
Izzy J GarufiUnited KingdomIvan Magalhaes PROPOSAL
Izzy L BriddickUnited KingdomOnyama Limba UNQUALIFIED
Salvatore O MaletUnited KingdomAnna Fali UNQUALIFIED
Maisha L OldroydAustraliaIoni Bowcher NEW
Murillo P MorascaGermanyAnna Fali NEGOTIATION
Jeanfrancois N StockhamBrazilIoni Bowcher NEW
Maisha E ShinkoItalyAnna Fali QUALIFIED
Isabel D PaprockiSpainIoni Bowcher RENEWAL
Ashley G CaldareraSpainXuxue Feng QUALIFIED
Alejandro P NickaArgentinaOnyama Limba PROPOSAL
Emily S AmigonIndiaIoni Bowcher NEGOTIATION
Aika C KolmetzUnited KingdomIoni Bowcher RENEWAL
Isabel M WieserCanadaIoni Bowcher NEGOTIATION
Mayumi V AmigonUnited KingdomStephen Shaw RENEWAL
Costa A GarufiCanadaXuxue Feng UNQUALIFIED
Izzy I CampainIndiaOnyama Limba PROPOSAL
Jones W MaletIndiaStephen Shaw NEGOTIATION
Jefferson Y SergiIndiaOnyama Limba NEGOTIATION
Aruna Q VenereArgentinaOnyama Limba PROPOSAL
Chavez L InouyeBrazilOnyama Limba PROPOSAL
Antonio J AmigonIndiaIvan Magalhaes RENEWAL
Alejandro P OldroydJapanElwin Sharvill QUALIFIED
Deepesh P RimCanadaAnna Fali RENEWAL
Isabel X StensethJapanIoni Bowcher PROPOSAL
Faith K NickaSpainAnna Fali NEW
Kaitlin K StensethItalyElwin Sharvill RENEWAL
Jefferson P DoeJapanIoni Bowcher RENEWAL
Wickens U DarakjySpainAmy Elsner QUALIFIED
Claire B GauchoGermanyAsiya Javayant NEGOTIATION
Morrow P BologniaJapanAnna Fali RENEWAL
Juan T AmigonRussiaStephen Shaw QUALIFIED
Silvio B RulapaughRussiaIoni Bowcher NEGOTIATION
Jennifer H CaldareraRussiaAnna Fali 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>