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
Emily A InouyeUnited KingdomElwin Sharvill QUALIFIED
Antonio K StensethBrazilAmy Elsner QUALIFIED
Claire H WieserBrazilBernardo Dominic NEGOTIATION
Greenwood Y FerenczAustraliaAmy Elsner NEW
Sinclair S MarrierSpainElwin Sharvill QUALIFIED
Arvin B FollerJapanAsiya Javayant RENEWAL
Jeanfrancois H NickaItalyIoni Bowcher UNQUALIFIED
Julie P AmigonSpainAnna Fali NEGOTIATION
Julie O CaldareraCanadaIvan Magalhaes QUALIFIED
Maria W ChuiCanadaElwin Sharvill NEW
Mayumi J SaylorsCanadaBernardo Dominic QUALIFIED
Octavia K BriddickGermanyAmy Elsner PROPOSAL
Kadeem O SchemmerCanadaIvan Magalhaes RENEWAL
Ashley X RulapaughItalyIvan Magalhaes NEGOTIATION
Octavia R TollnerGermanyBernardo Dominic RENEWAL
Murillo V MaletArgentinaIvan Magalhaes PROPOSAL
James A GarufiBrazilIoni Bowcher RENEWAL
Aditya O FigeroaGermanyElwin Sharvill RENEWAL
Adams V WaycottCanadaAsiya Javayant RENEWAL
Claire M CampainAustraliaIoni Bowcher NEGOTIATION
Jennifer C FlosiArgentinaIvan Magalhaes NEW
Arvin T MarrierGermanyElwin Sharvill PROPOSAL
Tony W ChuiGermanyElwin Sharvill NEGOTIATION
Claire S VocelkaSpainStephen Shaw PROPOSAL
Arvin G CaldareraAustraliaIoni Bowcher UNQUALIFIED
Sinclair X MaletJapanXuxue Feng UNQUALIFIED
Mujtaba K TollnerJapanBernardo Dominic PROPOSAL
Cody A CaudyAustraliaOnyama Limba PROPOSAL
Morrow O ChuiRussiaStephen Shaw PROPOSAL
Darci J GlickBrazilOnyama Limba PROPOSAL
Faith C InouyeArgentinaIoni Bowcher UNQUALIFIED
Salvatore X NestleArgentinaElwin Sharvill UNQUALIFIED
Morrow E BowleyUnited KingdomAnna Fali UNQUALIFIED
Leon V TollnerRussiaElwin Sharvill PROPOSAL
Leja S DilliardSpainOnyama Limba NEW
Clifford I CampainBrazilXuxue Feng NEW
Izzy E WieserSpainBernardo Dominic NEW
Antonio A IturbideFranceAmy Elsner PROPOSAL
Antonio B BriddickItalyAmy Elsner NEW
Leon J SergiFranceElwin Sharvill QUALIFIED
Costa G ButtBrazilStephen Shaw QUALIFIED
Chavez Z KuskoCanadaAnna Fali NEW
Darci J ButtItalyIoni Bowcher NEW
Jones A BologniaFranceStephen Shaw NEW
Greenwood U RoysterArgentinaAsiya Javayant UNQUALIFIED
Octavia L FlosiJapanIoni Bowcher UNQUALIFIED
Juan V MaletAustraliaBernardo Dominic NEW
Kaitlin E VocelkaJapanXuxue Feng PROPOSAL
James N GlickFranceStephen Shaw NEGOTIATION
Mujtaba R StockhamItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan N ChuiJapanIoni Bowcher NEGOTIATION
Cody P TollnerSpainXuxue Feng NEW
Jeanfrancois C KuskoFranceElwin Sharvill NEGOTIATION
Costa S BologniaJapanAsiya Javayant NEGOTIATION
Wickens M DarakjyArgentinaIvan Magalhaes PROPOSAL
Francesco G MacleadIndiaStephen Shaw RENEWAL
Emily E MarrierFranceBernardo Dominic UNQUALIFIED
Sinclair Z PaprockiArgentinaOnyama Limba UNQUALIFIED
Claire J KolmetzFranceIvan Magalhaes RENEWAL
Arvin O SergiCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James T DilliardRussia2026-09-25Chemel, James L Cpa PROPOSAL84Anna Fali
1001Ricardo E StensethRussia2026-09-17Dorl, James J Esq UNQUALIFIED61Ivan Magalhaes
1002Aruna H VenereCanada2026-09-15Benton, John B Jr NEW4Elwin Sharvill
1003Rodrigues I FerenczGermany2026-09-28Benton, John B Jr NEGOTIATION57Xuxue Feng
1004Kadeem G AlbaresFrance2026-09-14King, Christopher A Esq UNQUALIFIED35Asiya Javayant
1005Maria Y BriddickArgentina2026-10-05Rangoni Of Florence NEW81Asiya Javayant
1006Antonio N StensethArgentina2026-09-30Rousseaux, Michael Esq PROPOSAL59Elwin Sharvill
1007Aditya R ButtRussia2026-09-26King, Christopher A Esq NEW92Ivan Magalhaes
1008Mujtaba K FollerAustralia2026-10-10Chemel, James L Cpa NEGOTIATION56Xuxue Feng
1009Arvin G RutaArgentina2026-10-11Buckley Miller Wright NEW48Elwin Sharvill
1010Stacey T GauchoCanada2026-10-10Morlong Associates NEGOTIATION67Amy Elsner
1011Emily Z OstroskyFrance2026-10-02Rousseaux, Michael Esq NEGOTIATION32Asiya Javayant
1012Stacey C IturbideCanada2026-09-26Truhlar And Truhlar Attys NEGOTIATION15Asiya Javayant
1013Jennifer C KolmetzItaly2026-09-14Feltz Printing Service NEGOTIATION77Ioni Bowcher
1014Alejandro M OstroskyFrance2026-09-22Rousseaux, Michael Esq NEGOTIATION5Xuxue Feng
1015Francesco R OstroskyBrazil2026-09-24King, Christopher A Esq RENEWAL22Anna Fali
1016Leja N VocelkaIndia2026-09-20Chemel, James L Cpa PROPOSAL45Asiya Javayant
1017Tony Q RoysterGermany2026-09-14Feiner Bros RENEWAL59Ioni Bowcher
1018Aika N RulapaughAustralia2026-09-13Buckley Miller Wright PROPOSAL24Ivan Magalhaes
1019Antonio W CaldareraSpain2026-09-26Dorl, James J Esq RENEWAL75Asiya Javayant
1020Sinclair E GlickRussia2026-10-04Feiner Bros RENEWAL39Ioni Bowcher
1021Johnson G NickaAustralia2026-09-17Rangoni Of Florence QUALIFIED72Ivan Magalhaes
1022Maria J GauchoSpain2026-09-18Chemel, James L Cpa PROPOSAL95Bernardo Dominic
1023Maria R DoeIndia2026-09-26Buckley Miller Wright NEW69Asiya Javayant
1024Maisha J WieserItaly2026-10-08Dorl, James J Esq NEGOTIATION41Ioni Bowcher
1025Leja I RoysterRussia2026-09-27Benton, John B Jr PROPOSAL89Ioni Bowcher
1026Tony O SchemmerBrazil2026-09-19Chapman, Ross E Esq NEGOTIATION57Ivan Magalhaes
1027Ashley B BriddickAustralia2026-10-06Morlong Associates PROPOSAL0Asiya Javayant
1028Adams K VocelkaCanada2026-09-14King, Christopher A Esq PROPOSAL59Xuxue Feng
1029Jennifer W BologniaIndia2026-09-20Feltz Printing Service NEGOTIATION37Ioni Bowcher
1030Ashley G FigeroaUnited Kingdom2026-10-10Chanay, Jeffrey A Esq NEW54Ivan Magalhaes
1031Darci P CaldareraFrance2026-10-09Chanay, Jeffrey A Esq QUALIFIED28Amy Elsner
1032Mayumi I PoquetteAustralia2026-09-18Rousseaux, Michael Esq QUALIFIED32Amy Elsner
1033Claire V RimAustralia2026-10-04Dorl, James J Esq PROPOSAL23Elwin Sharvill
1034Morrow P StockhamSpain2026-09-18Benton, John B Jr NEGOTIATION70Bernardo Dominic
1035Mujtaba L RulapaughBrazil2026-09-13Morlong Associates PROPOSAL98Stephen Shaw
1036Maisha N AlbaresGermany2026-10-12Commercial Press RENEWAL62Xuxue Feng
1037Mayumi X MacleadArgentina2026-10-09Printing Dimensions NEGOTIATION96Asiya Javayant
1038Tony W MaletGermany2026-09-17Truhlar And Truhlar Attys NEW70Elwin Sharvill
1039Aika J AlbaresFrance2026-09-18Feiner Bros PROPOSAL28Stephen Shaw
1040Murillo O GauchoBrazil2026-09-17Morlong Associates NEW27Onyama Limba
1041Juan W BowleyJapan2026-10-02Benton, John B Jr NEW55Stephen Shaw
1042Juan J RimAustralia2026-09-16Morlong Associates UNQUALIFIED63Bernardo Dominic
1043Darci J BowleyArgentina2026-09-29Buckley Miller Wright UNQUALIFIED56Xuxue Feng
1044David S OldroydJapan2026-09-13Rousseaux, Michael Esq NEW17Anna Fali
1045Antonio W RulapaughBrazil2026-09-24Chanay, Jeffrey A Esq NEGOTIATION59Amy Elsner
1046Wickens Z AlbaresUnited Kingdom2026-09-13Commercial Press PROPOSAL13Onyama Limba
1047Deepesh V IturbideIndia2026-09-25Dorl, James J Esq PROPOSAL27Stephen Shaw
1048Sinclair H PaprockiAustralia2026-09-25Commercial Press QUALIFIED74Ioni Bowcher
1049Juan D KolmetzIndia2026-10-02Printing Dimensions NEW70Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith H StensethArgentinaBernardo Dominic NEGOTIATION
Silvio Z StockhamFranceAmy Elsner PROPOSAL
Leja R CaldareraArgentinaAsiya Javayant NEW
Julie H SergiFranceOnyama Limba QUALIFIED
Arvin N InouyeAustraliaStephen Shaw RENEWAL
Octavia Y NestleIndiaElwin Sharvill PROPOSAL
Maisha Q NickaIndiaStephen Shaw RENEWAL
Octavia B PerinJapanIvan Magalhaes QUALIFIED
Kadeem G NestleCanadaXuxue Feng PROPOSAL
Emily A AlbaresArgentinaXuxue Feng NEW
Adams J KuskoRussiaXuxue Feng UNQUALIFIED
Jeanfrancois S KuskoAustraliaOnyama Limba NEW
Leja F StockhamAustraliaOnyama Limba UNQUALIFIED
Ricardo H FollerJapanAmy Elsner RENEWAL
Francesco Y StensethJapanAnna Fali PROPOSAL
Juan W FollerBrazilIoni Bowcher NEW
Isabel H BowleyUnited KingdomAnna Fali RENEWAL
Alejandro D IturbideGermanyBernardo Dominic NEW
Jones J BowleyItalyStephen Shaw UNQUALIFIED
Emily L DarakjyBrazilIoni Bowcher QUALIFIED
Salvatore R KolmetzBrazilAnna Fali NEW
Munro E OldroydCanadaStephen Shaw NEGOTIATION
Jennifer H TollnerFranceIvan Magalhaes UNQUALIFIED
Johnson X DoeAustraliaAnna Fali NEGOTIATION
Stacey R BowleyGermanyAnna Fali NEGOTIATION
Cody F MorascaItalyAnna Fali UNQUALIFIED
Greenwood G AlbaresCanadaOnyama Limba RENEWAL
Costa R OstroskyCanadaXuxue Feng RENEWAL
Wickens O GillianJapanElwin Sharvill QUALIFIED
David N FerenczFranceOnyama Limba RENEWAL
Adams I SchemmerBrazilStephen Shaw RENEWAL
Aditya R PoquetteCanadaXuxue Feng RENEWAL
James A RulapaughBrazilElwin Sharvill QUALIFIED
Francesco P PaprockiAustraliaElwin Sharvill NEW
Jeanfrancois E FollerArgentinaIvan Magalhaes NEW
Aditya T MorascaRussiaElwin Sharvill QUALIFIED
Faith N PoquetteRussiaIvan Magalhaes NEW
Greenwood E PoquetteItalyBernardo Dominic PROPOSAL
Octavia O SlusarskiRussiaBernardo Dominic UNQUALIFIED
Ricardo L BologniaSpainAmy Elsner NEW
Rodrigues A SchemmerAustraliaIoni Bowcher QUALIFIED
Murillo K StensethJapanIvan Magalhaes PROPOSAL
Munro J GauchoFranceAsiya Javayant NEGOTIATION
Alejandro V NestleUnited KingdomXuxue Feng QUALIFIED
Izzy H BriddickIndiaBernardo Dominic NEW
Smith H ButtUnited KingdomOnyama Limba UNQUALIFIED
Juan Y IturbideJapanBernardo Dominic RENEWAL
Tony S FigeroaIndiaIvan Magalhaes UNQUALIFIED
Costa P SchemmerItalyAsiya Javayant PROPOSAL
Maisha B FollerUnited KingdomElwin Sharvill PROPOSAL
Frozen Columns
Name
Adams E Flosi
Leja T Darakjy
Adams J Malet
Deepesh U Dilliard
Rodrigues D Briddick
Tony Y Shinko
Morrow V Bolognia
Emily B Marrier
Jones M Figeroa
Antonio D Bolognia
David R Kolmetz
Ashley N Venere
Wickens X Malet
Aika Z Whobrey
Chavez Z Butt
Octavia E Ruta
Adams O Sergi
Johnson P Amigon
Smith O Caudy
Darci I Paprocki
Mujtaba E Caldarera
Ricardo J Inouye
Antonio J Figeroa
Alejandro W Flosi
Greenwood J Chui
Kadeem G Royster
Cody W Venere
Alejandro O Waycott
Wickens S Stockham
Leon S Inouye
Francesco N Caldarera
Faith I Gillian
Mujtaba W Malet
Tony S Butt
Deepesh M Gaucho
Nicolas Q Tollner
Mayumi E Ruta
Aditya M Inouye
Morrow R Wieser
David Z Bowley
Silvio M Schemmer
Arvin P Kolmetz
Darci U Caldarera
Munro B Wieser
Kaitlin T Foller
Antonio Y Poquette
Faith C Stenseth
Emily G Vocelka
Munro P Paprocki
Mujtaba R Maclead
IdCountryDate
1000Germany2026-10-01
1001Canada2026-10-03
1002France2026-09-18
1003United Kingdom2026-10-04
1004France2026-10-06
1005India2026-09-17
1006Canada2026-10-09
1007Argentina2026-09-18
1008India2026-09-26
1009Germany2026-09-22
1010Argentina2026-10-02
1011Argentina2026-09-23
1012France2026-10-06
1013Argentina2026-10-12
1014Germany2026-09-24
1015France2026-09-27
1016Germany2026-09-17
1017Spain2026-10-04
1018France2026-09-27
1019Japan2026-09-27
1020Australia2026-09-21
1021Italy2026-10-02
1022Canada2026-10-12
1023Germany2026-09-20
1024Japan2026-10-05
1025Russia2026-09-25
1026Spain2026-10-03
1027United Kingdom2026-09-28
1028Italy2026-09-16
1029Canada2026-09-29
1030Spain2026-09-18
1031United Kingdom2026-09-19
1032Brazil2026-09-28
1033Germany2026-09-26
1034United Kingdom2026-09-21
1035United Kingdom2026-10-03
1036United Kingdom2026-09-17
1037India2026-09-25
1038Germany2026-10-06
1039Spain2026-10-03
1040Australia2026-10-09
1041Germany2026-09-20
1042Italy2026-10-07
1043Italy2026-10-02
1044Germany2026-09-29
1045United Kingdom2026-09-15
1046India2026-10-06
1047France2026-10-01
1048Spain2026-10-03
1049Argentina2026-09-18

On-Demand Data

NameIdCountryDate
Leja J Caldarera1000India2026-10-07
Chavez J Iturbide1001Canada2026-10-06
Munro X Briddick1002France2026-09-19
Deepesh F Maclead1003Argentina2026-10-10
Ricardo N Briddick1004India2026-09-14
Claire K Kusko1005Germany2026-10-05
Munro I Kusko1006Argentina2026-09-14
Leja W Nicka1007United Kingdom2026-10-07
Francesco A Garufi1008Japan2026-10-01
Juan G Marrier1009India2026-09-25
Murillo W Schemmer1010Germany2026-09-18
Kadeem G Stockham1011Italy2026-09-13
Johnson Q Poquette1012Russia2026-09-26
Munro Q Malet1013Australia2026-10-12
Salvatore E Gaucho1014Japan2026-09-14
David G Campain1015France2026-09-15
Leja Z Morasca1016Australia2026-10-06
Izzy B Kusko1017United Kingdom2026-10-09
Clifford T Whobrey1018Brazil2026-10-11
Costa X Whobrey1019Argentina2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika G TollnerItalyAnna Fali UNQUALIFIED
Munro F RulapaughRussiaAmy Elsner NEGOTIATION
Kaitlin M OldroydRussiaElwin Sharvill NEW
Mayumi U PerinItalyIvan Magalhaes NEW
Antonio D KuskoBrazilIoni Bowcher PROPOSAL
Silvio N BowleyIndiaAsiya Javayant QUALIFIED
Morrow J SaylorsGermanyIoni Bowcher PROPOSAL
Darci E DoeCanadaAsiya Javayant RENEWAL
Greenwood I StockhamJapanBernardo Dominic UNQUALIFIED
Tony F GillianRussiaAmy Elsner NEW
Morrow H DarakjyAustraliaBernardo Dominic QUALIFIED
Costa L OstroskyArgentinaIoni Bowcher PROPOSAL
Smith B DoeSpainAmy Elsner NEGOTIATION
Munro V BowleyItalyStephen Shaw RENEWAL
Cody V FollerFranceIvan Magalhaes UNQUALIFIED
Stacey A PaprockiRussiaStephen Shaw PROPOSAL
Octavia H RutaIndiaElwin Sharvill PROPOSAL
Emily L BowleyCanadaIoni Bowcher PROPOSAL
Wickens Y FerenczItalyBernardo Dominic NEGOTIATION
Cody J VocelkaIndiaBernardo Dominic NEW
Cody E VocelkaJapanXuxue Feng QUALIFIED
Misaki D OstroskyItalyAsiya Javayant QUALIFIED
Emily L ShinkoJapanAmy Elsner NEW
Wickens V AmigonItalyAnna Fali QUALIFIED
Emily A WieserCanadaAmy Elsner RENEWAL
Leon J PoquetteSpainBernardo Dominic RENEWAL
Stacey B NestleIndiaOnyama Limba NEGOTIATION
Octavia R KuskoCanadaAmy Elsner RENEWAL
Aika X StensethJapanAnna Fali RENEWAL
Antonio F GlickAustraliaXuxue Feng UNQUALIFIED
Munro L CaldareraGermanyAmy Elsner RENEWAL
Aditya B MacleadAustraliaBernardo Dominic NEGOTIATION
Deepesh A OstroskyJapanXuxue Feng NEW
Maisha O CaudyJapanAnna Fali QUALIFIED
Rodrigues F OldroydArgentinaOnyama Limba UNQUALIFIED
Ivar I TollnerCanadaIoni Bowcher UNQUALIFIED
Octavia E GarufiRussiaIoni Bowcher NEW
Emily U GauchoJapanAsiya Javayant QUALIFIED
Nicolas E OldroydItalyAsiya Javayant NEW
Greenwood Z SchemmerFranceAnna 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>