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
Costa K ChuiSpainIvan Magalhaes UNQUALIFIED
Stacey A NickaAustraliaAmy Elsner RENEWAL
Aruna Y DarakjySpainXuxue Feng NEGOTIATION
Cody Z KolmetzSpainOnyama Limba UNQUALIFIED
Salvatore H KolmetzArgentinaStephen Shaw NEW
Ivar J TollnerFranceAmy Elsner NEW
Maisha M NickaAustraliaBernardo Dominic NEGOTIATION
Ricardo T MaletFranceStephen Shaw QUALIFIED
Misaki K DilliardRussiaIvan Magalhaes QUALIFIED
Juan O MacleadSpainXuxue Feng NEGOTIATION
Maisha P IturbideUnited KingdomOnyama Limba QUALIFIED
Aruna V SaylorsIndiaXuxue Feng RENEWAL
Rodrigues I GarufiBrazilElwin Sharvill PROPOSAL
Juan U CaudyGermanyIvan Magalhaes QUALIFIED
James W ShinkoCanadaAnna Fali NEW
Misaki O DilliardBrazilAsiya Javayant NEGOTIATION
Aruna E FigeroaArgentinaIoni Bowcher NEW
Adams I SlusarskiArgentinaAsiya Javayant QUALIFIED
Ashley M KolmetzBrazilAsiya Javayant NEW
Maisha O DoeSpainAnna Fali UNQUALIFIED
Darci U BologniaFranceIvan Magalhaes UNQUALIFIED
Ivar U ButtItalyAnna Fali RENEWAL
Murillo F IturbideFranceStephen Shaw QUALIFIED
Salvatore A SlusarskiJapanAmy Elsner RENEWAL
Murillo E VenereArgentinaBernardo Dominic QUALIFIED
Cody T NestleGermanyElwin Sharvill UNQUALIFIED
Silvio A SchemmerSpainOnyama Limba PROPOSAL
Antonio R RoysterAustraliaBernardo Dominic RENEWAL
Francesco O OldroydAustraliaAmy Elsner NEGOTIATION
Maisha V PaprockiArgentinaStephen Shaw QUALIFIED
Mujtaba E VocelkaFranceAmy Elsner NEW
Jefferson J ChuiBrazilAsiya Javayant NEW
Silvio J FigeroaRussiaBernardo Dominic QUALIFIED
Ashley I OldroydGermanyBernardo Dominic UNQUALIFIED
Clifford M VocelkaIndiaElwin Sharvill PROPOSAL
Clifford D GarufiArgentinaBernardo Dominic QUALIFIED
Morrow Q SchemmerUnited KingdomAsiya Javayant RENEWAL
Jones R VocelkaSpainOnyama Limba UNQUALIFIED
Nicolas F SlusarskiIndiaIoni Bowcher NEW
Munro L GillianCanadaIoni Bowcher NEW
Mujtaba N RimCanadaElwin Sharvill NEGOTIATION
Jefferson P VenereBrazilStephen Shaw NEGOTIATION
Francesco H ShinkoAustraliaAsiya Javayant UNQUALIFIED
Nicolas P TollnerJapanIvan Magalhaes QUALIFIED
Cody D MaletFranceIvan Magalhaes NEW
Sinclair A GillianArgentinaXuxue Feng UNQUALIFIED
Kaitlin C CaldareraAustraliaBernardo Dominic QUALIFIED
Tony L RulapaughSpainAsiya Javayant NEW
Silvio P RulapaughArgentinaAsiya Javayant NEW
Arvin A GillianAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon Y WhobreyItalyIvan Magalhaes RENEWAL
Greenwood L MaletJapanXuxue Feng NEW
Julie X RutaFranceAsiya Javayant NEW
Smith R BologniaArgentinaIvan Magalhaes UNQUALIFIED
Juan R RoysterJapanAnna Fali NEW
Alejandro F BowleyUnited KingdomStephen Shaw NEW
Deepesh H NestleJapanIoni Bowcher QUALIFIED
Alejandro B WhobreyRussiaStephen Shaw NEW
Adams I MarrierUnited KingdomElwin Sharvill RENEWAL
Kaitlin R CaudyBrazilStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow S SergiGermany2026-09-11Printing Dimensions QUALIFIED94Anna Fali
1001Greenwood Z DarakjyUnited Kingdom2026-09-10Dorl, James J Esq NEGOTIATION78Asiya Javayant
1002Aika C FollerRussia2026-08-27Truhlar And Truhlar Attys QUALIFIED23Onyama Limba
1003Misaki I FerenczArgentina2026-09-02Chemel, James L Cpa PROPOSAL80Amy Elsner
1004Cody G RimRussia2026-08-30Dorl, James J Esq UNQUALIFIED53Bernardo Dominic
1005David P RulapaughSpain2026-08-28Buckley Miller Wright RENEWAL59Bernardo Dominic
1006Stacey Y OstroskyGermany2026-09-02Rousseaux, Michael Esq PROPOSAL89Anna Fali
1007Nicolas H DarakjyArgentina2026-09-07Truhlar And Truhlar Attys UNQUALIFIED13Anna Fali
1008Smith A StockhamBrazil2026-08-22Rangoni Of Florence PROPOSAL64Stephen Shaw
1009Murillo O SergiBrazil2026-08-23Commercial Press UNQUALIFIED61Stephen Shaw
1010Emily L DilliardRussia2026-09-09Chapman, Ross E Esq NEW0Xuxue Feng
1011Stacey A RulapaughSpain2026-09-11Benton, John B Jr UNQUALIFIED48Bernardo Dominic
1012Octavia G StockhamUnited Kingdom2026-09-12Benton, John B Jr PROPOSAL60Elwin Sharvill
1013Mayumi M WieserFrance2026-08-20Rousseaux, Michael Esq RENEWAL76Stephen Shaw
1014Faith K FollerRussia2026-08-21Commercial Press UNQUALIFIED61Anna Fali
1015Isabel B IturbideBrazil2026-09-11Morlong Associates NEGOTIATION97Stephen Shaw
1016Misaki U TollnerRussia2026-09-06Morlong Associates UNQUALIFIED7Onyama Limba
1017Wickens X CaudyRussia2026-09-10Printing Dimensions UNQUALIFIED60Bernardo Dominic
1018Izzy N PoquetteJapan2026-08-23Rousseaux, Michael Esq NEGOTIATION78Ivan Magalhaes
1019Cody Z OstroskyGermany2026-09-17Feiner Bros QUALIFIED53Ioni Bowcher
1020Chavez C RulapaughCanada2026-08-29King, Christopher A Esq UNQUALIFIED50Anna Fali
1021Maria H MarrierSpain2026-08-19Feltz Printing Service QUALIFIED3Stephen Shaw
1022Izzy W ShinkoItaly2026-09-17Morlong Associates QUALIFIED13Anna Fali
1023Izzy U GlickFrance2026-08-31Chemel, James L Cpa QUALIFIED12Onyama Limba
1024Arvin L ButtIndia2026-08-24Rousseaux, Michael Esq RENEWAL6Anna Fali
1025Munro Z DarakjyArgentina2026-09-09Feltz Printing Service UNQUALIFIED74Ioni Bowcher
1026Ashley F KolmetzFrance2026-09-07Morlong Associates RENEWAL67Xuxue Feng
1027Maria L BowleySpain2026-09-15Truhlar And Truhlar Attys UNQUALIFIED74Bernardo Dominic
1028Jones Z OldroydUnited Kingdom2026-09-17Buckley Miller Wright UNQUALIFIED86Onyama Limba
1029Francesco P DilliardJapan2026-08-28Feiner Bros NEW86Ioni Bowcher
1030Leja X WieserItaly2026-09-07Buckley Miller Wright RENEWAL77Ioni Bowcher
1031Antonio P NestleSpain2026-08-28Rousseaux, Michael Esq UNQUALIFIED77Anna Fali
1032Clifford P GauchoUnited Kingdom2026-09-14Feiner Bros RENEWAL70Amy Elsner
1033Emily Y DoeGermany2026-09-14King, Christopher A Esq NEW42Amy Elsner
1034Kaitlin K FollerFrance2026-09-09Rousseaux, Michael Esq PROPOSAL64Anna Fali
1035Jefferson S IturbideCanada2026-09-13Dorl, James J Esq NEGOTIATION41Amy Elsner
1036Aditya J OstroskyUnited Kingdom2026-09-02Feltz Printing Service NEW50Asiya Javayant
1037Juan N BriddickJapan2026-08-29Printing Dimensions PROPOSAL44Ivan Magalhaes
1038Deepesh G AlbaresUnited Kingdom2026-09-17Feiner Bros PROPOSAL58Anna Fali
1039Maisha T WhobreyArgentina2026-09-09Feiner Bros QUALIFIED1Bernardo Dominic
1040Claire T KolmetzArgentina2026-08-29Chanay, Jeffrey A Esq NEW92Onyama Limba
1041Octavia E CaudyFrance2026-08-26Chapman, Ross E Esq UNQUALIFIED22Anna Fali
1042Leja Y PoquetteRussia2026-09-04Chanay, Jeffrey A Esq QUALIFIED86Amy Elsner
1043Kadeem E CaldareraGermany2026-09-03Printing Dimensions RENEWAL7Elwin Sharvill
1044Francesco H CaudyJapan2026-09-16Commercial Press QUALIFIED88Xuxue Feng
1045Maria B KuskoAustralia2026-09-06Truhlar And Truhlar Attys QUALIFIED12Stephen Shaw
1046Cody R GauchoItaly2026-08-20Feiner Bros RENEWAL74Asiya Javayant
1047Munro S MaletFrance2026-08-23King, Christopher A Esq NEW30Stephen Shaw
1048Emily O CampainJapan2026-08-26Chanay, Jeffrey A Esq UNQUALIFIED50Ivan Magalhaes
1049James L FollerSpain2026-08-20Commercial Press NEW73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan H FlosiGermanyAnna Fali QUALIFIED
Jennifer U CampainRussiaElwin Sharvill UNQUALIFIED
Wickens D BowleyRussiaElwin Sharvill NEW
Julie S FerenczItalyBernardo Dominic QUALIFIED
Isabel G ButtJapanIvan Magalhaes UNQUALIFIED
Tony V ChuiArgentinaBernardo Dominic NEGOTIATION
Munro X ShinkoJapanOnyama Limba NEGOTIATION
Francesco L SaylorsItalyAsiya Javayant UNQUALIFIED
Julie V RutaAustraliaIoni Bowcher RENEWAL
James E SaylorsUnited KingdomXuxue Feng PROPOSAL
Sinclair U GlickFranceXuxue Feng PROPOSAL
Rodrigues V StockhamUnited KingdomAnna Fali RENEWAL
Ashley E SergiGermanyIvan Magalhaes RENEWAL
David U StockhamItalyIoni Bowcher NEW
Silvio I CaudyJapanAmy Elsner UNQUALIFIED
Claire I DarakjyGermanyOnyama Limba RENEWAL
Munro J MaletAustraliaOnyama Limba QUALIFIED
Stacey B KuskoAustraliaIvan Magalhaes RENEWAL
Kadeem I BriddickGermanyStephen Shaw NEW
Deepesh R MorascaAustraliaAnna Fali NEW
Arvin J BologniaGermanyStephen Shaw PROPOSAL
Johnson M PoquetteJapanXuxue Feng UNQUALIFIED
Costa N SaylorsBrazilBernardo Dominic NEW
Maria T GillianJapanElwin Sharvill RENEWAL
Ricardo L DoeBrazilBernardo Dominic NEW
Ashley B PoquetteAustraliaIvan Magalhaes NEW
James T StensethJapanBernardo Dominic UNQUALIFIED
Cody L DoeSpainIoni Bowcher PROPOSAL
Clifford O OstroskyItalyAmy Elsner QUALIFIED
Costa G WaycottBrazilStephen Shaw PROPOSAL
Munro V MaletArgentinaBernardo Dominic NEW
Jefferson Q TollnerUnited KingdomXuxue Feng QUALIFIED
Johnson J IturbideItalyAsiya Javayant NEGOTIATION
Chavez Q CaldareraSpainXuxue Feng PROPOSAL
Aruna Q VocelkaBrazilOnyama Limba RENEWAL
Murillo T KolmetzRussiaElwin Sharvill NEGOTIATION
Adams S NestleCanadaAmy Elsner NEW
Smith F DoeIndiaIoni Bowcher NEW
Stacey Y PoquetteRussiaElwin Sharvill PROPOSAL
Rodrigues N ButtFranceStephen Shaw QUALIFIED
Wickens E DilliardFranceIoni Bowcher RENEWAL
Darci O BologniaFranceAmy Elsner RENEWAL
Isabel I WhobreyBrazilStephen Shaw PROPOSAL
Antonio X VenereSpainIoni Bowcher RENEWAL
Aditya B GauchoItalyOnyama Limba RENEWAL
Cody R SaylorsAustraliaBernardo Dominic RENEWAL
Emily A GauchoRussiaXuxue Feng RENEWAL
Jefferson I CaudyRussiaBernardo Dominic PROPOSAL
Juan P GlickCanadaAnna Fali QUALIFIED
David E SlusarskiCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Izzy J Maclead
Ivar O Ferencz
Darci Y Kusko
Johnson N Caudy
Maisha J Paprocki
Morrow U Dilliard
Darci G Oldroyd
Tony P Doe
Leon W Rulapaugh
Adams C Whobrey
Morrow T Darakjy
Ricardo S Campain
Jefferson X Dilliard
Juan R Nicka
Claire A Dilliard
Nicolas J Figeroa
Deepesh D Gillian
Ricardo B Ruta
Darci Q Kusko
Emily W Caldarera
Morrow Q Darakjy
Isabel J Shinko
Deepesh M Rim
Faith S Dilliard
Maisha D Paprocki
Costa F Kusko
Darci R Iturbide
Jones H Foller
Aika W Kolmetz
Kadeem P Vocelka
Juan W Wieser
Morrow R Whobrey
Cody H Vocelka
Ashley G Caldarera
Leon R Garufi
Mayumi S Kolmetz
Francesco I Gillian
Aruna D Sergi
Mayumi J Ruta
Kadeem B Saylors
Murillo V Foller
Salvatore O Stenseth
Greenwood L Bowley
Adams J Ostrosky
Jones O Morasca
Aruna R Garufi
Cody A Briddick
James H Caldarera
Costa E Poquette
Salvatore T Darakjy
IdCountryDate
1000Japan2026-08-31
1001Japan2026-08-28
1002Argentina2026-09-12
1003Australia2026-08-31
1004Argentina2026-09-10
1005France2026-08-26
1006Argentina2026-09-08
1007Germany2026-08-29
1008France2026-08-20
1009France2026-09-09
1010Argentina2026-08-25
1011Australia2026-08-27
1012Japan2026-09-04
1013Argentina2026-08-22
1014United Kingdom2026-09-03
1015Germany2026-09-09
1016Argentina2026-09-03
1017Russia2026-09-16
1018Germany2026-08-21
1019India2026-08-22
1020Australia2026-09-05
1021India2026-08-24
1022Spain2026-08-30
1023Australia2026-09-16
1024Germany2026-09-06
1025Germany2026-09-11
1026Japan2026-08-27
1027Russia2026-09-13
1028France2026-09-16
1029Italy2026-08-29
1030Spain2026-09-01
1031Brazil2026-08-28
1032India2026-09-14
1033Canada2026-08-23
1034France2026-08-26
1035India2026-08-27
1036Germany2026-08-25
1037Spain2026-09-10
1038Spain2026-09-09
1039Brazil2026-08-29
1040Japan2026-08-30
1041Australia2026-09-02
1042United Kingdom2026-08-23
1043Australia2026-09-17
1044Italy2026-09-13
1045Brazil2026-09-17
1046United Kingdom2026-08-25
1047Spain2026-09-05
1048Germany2026-09-11
1049Italy2026-09-04

On-Demand Data

NameIdCountryDate
James E Paprocki1000Italy2026-08-23
Murillo R Ferencz1001Italy2026-08-23
Misaki X Foller1002Australia2026-09-09
Deepesh P Schemmer1003Germany2026-08-22
Sinclair F Caudy1004United Kingdom2026-09-17
Emily P Garufi1005Germany2026-08-24
Jones X Garufi1006Brazil2026-08-25
Tony A Caudy1007Brazil2026-09-07
Jones L Garufi1008United Kingdom2026-09-05
Deepesh B Caldarera1009Japan2026-08-29
Wickens R Butt1010Germany2026-09-14
Chavez V Kolmetz1011Germany2026-09-13
Faith D Inouye1012Spain2026-08-24
Nicolas S Iturbide1013Japan2026-08-28
Mujtaba J Sergi1014Brazil2026-09-12
Ivar O Dilliard1015Australia2026-09-10
Julie P Waycott1016Russia2026-08-23
Jones I Figeroa1017Spain2026-09-03
Nicolas Y Malet1018Italy2026-09-05
Ricardo R Slusarski1019Russia2026-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio T DilliardGermanyAnna Fali RENEWAL
Nicolas K ChuiSpainAmy Elsner RENEWAL
Antonio L SaylorsFranceAnna Fali UNQUALIFIED
Maisha L SergiJapanOnyama Limba UNQUALIFIED
Jones V MaletItalyStephen Shaw QUALIFIED
Isabel N CaudySpainAsiya Javayant UNQUALIFIED
Kaitlin X KolmetzItalyAnna Fali NEW
Izzy J MorascaRussiaBernardo Dominic PROPOSAL
Aditya A NickaRussiaAmy Elsner QUALIFIED
Maria D CaudyItalyAsiya Javayant NEW
Alejandro N DoeSpainIvan Magalhaes NEGOTIATION
Aika H GlickGermanyBernardo Dominic UNQUALIFIED
Tony Y PerinFranceXuxue Feng RENEWAL
Misaki O BriddickCanadaAnna Fali QUALIFIED
Adams B OldroydJapanStephen Shaw UNQUALIFIED
Kaitlin T DarakjyJapanAsiya Javayant QUALIFIED
Adams C FollerJapanOnyama Limba RENEWAL
Smith A StensethJapanStephen Shaw NEGOTIATION
Izzy X BowleyGermanyBernardo Dominic RENEWAL
Aika D WhobreyArgentinaAmy Elsner NEGOTIATION
Arvin L MorascaSpainIvan Magalhaes NEGOTIATION
Adams G SchemmerGermanyBernardo Dominic PROPOSAL
Mayumi N MaletItalyStephen Shaw UNQUALIFIED
Jefferson A PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois K RulapaughJapanAmy Elsner RENEWAL
Greenwood P PaprockiBrazilAsiya Javayant RENEWAL
Adams M AmigonFranceStephen Shaw QUALIFIED
Cody J MorascaCanadaOnyama Limba NEGOTIATION
Cody J PoquetteBrazilStephen Shaw NEGOTIATION
Maisha V DoeCanadaAsiya Javayant RENEWAL
Wickens V PerinGermanyStephen Shaw RENEWAL
Chavez Z DoeCanadaIoni Bowcher QUALIFIED
Claire X RimItalyElwin Sharvill NEGOTIATION
Izzy C RoysterItalyElwin Sharvill RENEWAL
Arvin F FigeroaAustraliaAnna Fali UNQUALIFIED
Faith H WieserJapanElwin Sharvill PROPOSAL
Leja L KolmetzSpainXuxue Feng PROPOSAL
Alejandro V MaletRussiaElwin Sharvill NEW
Ashley E RimBrazilXuxue Feng PROPOSAL
Mayumi Q TollnerBrazilIvan Magalhaes RENEWAL

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