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 NestleItalyElwin Sharvill QUALIFIED
James E AlbaresJapanXuxue Feng RENEWAL
Leon L AlbaresSpainOnyama Limba PROPOSAL
Murillo X DoeUnited KingdomAnna Fali PROPOSAL
Aika R OldroydArgentinaIoni Bowcher PROPOSAL
Claire W WhobreyJapanIoni Bowcher PROPOSAL
Salvatore Q DilliardJapanBernardo Dominic NEGOTIATION
Maisha H RimAustraliaIoni Bowcher PROPOSAL
Ashley Z AmigonFranceIoni Bowcher NEGOTIATION
James H MaletGermanyXuxue Feng QUALIFIED
Murillo T BriddickUnited KingdomBernardo Dominic NEW
Kaitlin E GarufiFranceIoni Bowcher RENEWAL
Ashley M GlickFranceOnyama Limba RENEWAL
Mayumi D SergiFranceBernardo Dominic NEGOTIATION
Leon R WhobreyItalyXuxue Feng NEW
Jennifer M FollerRussiaStephen Shaw RENEWAL
Octavia T SlusarskiAustraliaAsiya Javayant RENEWAL
Adams E NestleJapanXuxue Feng NEW
Leon E IturbideRussiaIvan Magalhaes PROPOSAL
Sinclair K SlusarskiIndiaAmy Elsner UNQUALIFIED
Jefferson V TollnerUnited KingdomXuxue Feng NEW
Costa O MaletJapanAsiya Javayant PROPOSAL
Antonio N WaycottArgentinaAsiya Javayant QUALIFIED
Tony G FigeroaSpainXuxue Feng PROPOSAL
Wickens C DilliardAustraliaOnyama Limba UNQUALIFIED
James U RoysterCanadaAsiya Javayant PROPOSAL
Cody V AlbaresUnited KingdomAnna Fali RENEWAL
Alejandro W StensethIndiaBernardo Dominic RENEWAL
Nicolas P PaprockiCanadaIoni Bowcher PROPOSAL
Munro O IturbideGermanyAmy Elsner PROPOSAL
Ivar O ShinkoArgentinaAnna Fali PROPOSAL
Francesco Q CaldareraAustraliaAmy Elsner RENEWAL
Smith H GauchoGermanyXuxue Feng RENEWAL
Greenwood Q CaldareraSpainXuxue Feng QUALIFIED
Aika G DoeJapanOnyama Limba PROPOSAL
Mujtaba L FigeroaIndiaAmy Elsner NEW
Munro W KuskoUnited KingdomAnna Fali NEW
Ivar B OstroskyArgentinaStephen Shaw RENEWAL
Johnson H ButtIndiaAsiya Javayant PROPOSAL
Salvatore O OldroydBrazilAnna Fali UNQUALIFIED
Rodrigues I MacleadItalyAsiya Javayant QUALIFIED
Chavez O BriddickSpainIoni Bowcher RENEWAL
Darci L RulapaughAustraliaElwin Sharvill QUALIFIED
Aditya U GarufiUnited KingdomOnyama Limba RENEWAL
Ashley P MacleadItalyAsiya Javayant RENEWAL
Stacey N PerinRussiaElwin Sharvill NEW
Sinclair M DarakjyCanadaAsiya Javayant NEW
Jennifer G InouyeRussiaBernardo Dominic NEGOTIATION
Emily B WhobreyGermanyOnyama Limba NEW
Clifford W MaletBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro F CaldareraIndiaAmy Elsner PROPOSAL
Johnson G ButtArgentinaBernardo Dominic PROPOSAL
Morrow C CampainBrazilStephen Shaw PROPOSAL
Cody D GauchoArgentinaStephen Shaw UNQUALIFIED
Isabel G SchemmerSpainOnyama Limba UNQUALIFIED
Ivar M WaycottUnited KingdomElwin Sharvill QUALIFIED
Jones M MaletUnited KingdomElwin Sharvill NEW
Jeanfrancois L MaletBrazilOnyama Limba PROPOSAL
Alejandro W PerinRussiaBernardo Dominic RENEWAL
Tony A CampainFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika X GillianItaly2026-09-18Feltz Printing Service NEGOTIATION8Ivan Magalhaes
1001Leon U GlickCanada2026-10-08Rangoni Of Florence QUALIFIED68Bernardo Dominic
1002Misaki W MorascaJapan2026-10-08Printing Dimensions RENEWAL39Asiya Javayant
1003Rodrigues I KolmetzCanada2026-10-10Rousseaux, Michael Esq QUALIFIED50Xuxue Feng
1004Sinclair P WaycottGermany2026-09-13Morlong Associates RENEWAL77Xuxue Feng
1005Adams T FollerArgentina2026-09-13Rangoni Of Florence NEW34Asiya Javayant
1006Rodrigues Z MacleadCanada2026-10-02Chemel, James L Cpa QUALIFIED38Stephen Shaw
1007Antonio M OldroydGermany2026-10-03Chanay, Jeffrey A Esq NEGOTIATION41Amy Elsner
1008Emily R AlbaresFrance2026-10-03Rousseaux, Michael Esq RENEWAL57Ioni Bowcher
1009Emily G VocelkaAustralia2026-10-03Morlong Associates NEGOTIATION8Onyama Limba
1010Clifford P ChuiCanada2026-09-25Chemel, James L Cpa QUALIFIED50Asiya Javayant
1011Kadeem Q SlusarskiFrance2026-10-05Rangoni Of Florence RENEWAL73Stephen Shaw
1012David W GauchoItaly2026-09-15Morlong Associates NEW41Asiya Javayant
1013Munro J RimGermany2026-10-06Chanay, Jeffrey A Esq PROPOSAL85Asiya Javayant
1014James X PerinIndia2026-10-10Buckley Miller Wright NEW9Onyama Limba
1015Johnson U MarrierJapan2026-09-17Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1016Murillo Y RulapaughGermany2026-09-27Chapman, Ross E Esq PROPOSAL96Amy Elsner
1017Rodrigues A KuskoUnited Kingdom2026-10-05King, Christopher A Esq NEW94Bernardo Dominic
1018Murillo C OstroskyAustralia2026-10-05Chanay, Jeffrey A Esq NEGOTIATION58Bernardo Dominic
1019Jennifer Z CaldareraFrance2026-10-05Printing Dimensions NEGOTIATION50Onyama Limba
1020Kadeem L SaylorsBrazil2026-09-15Feltz Printing Service UNQUALIFIED96Anna Fali
1021Munro J StensethItaly2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED60Stephen Shaw
1022Wickens D RulapaughAustralia2026-09-28Truhlar And Truhlar Attys NEGOTIATION52Ivan Magalhaes
1023Kadeem D SergiJapan2026-10-06Printing Dimensions PROPOSAL21Ivan Magalhaes
1024Aditya Y NestleIndia2026-09-17Chanay, Jeffrey A Esq PROPOSAL87Asiya Javayant
1025Isabel G StensethAustralia2026-10-06Buckley Miller Wright QUALIFIED58Onyama Limba
1026Salvatore R InouyeBrazil2026-10-09Morlong Associates UNQUALIFIED65Onyama Limba
1027Alejandro H GillianRussia2026-10-10Chemel, James L Cpa NEW9Elwin Sharvill
1028Claire X MacleadSpain2026-10-08Rousseaux, Michael Esq PROPOSAL72Elwin Sharvill
1029Silvio N IturbideIndia2026-10-08Morlong Associates NEGOTIATION19Ivan Magalhaes
1030Sinclair W ButtSpain2026-09-22Chanay, Jeffrey A Esq QUALIFIED48Elwin Sharvill
1031Murillo K WhobreyUnited Kingdom2026-09-14Commercial Press NEW34Asiya Javayant
1032Johnson C AlbaresCanada2026-09-21Morlong Associates NEGOTIATION80Bernardo Dominic
1033Munro X GillianJapan2026-09-26Benton, John B Jr PROPOSAL81Xuxue Feng
1034Morrow P AmigonJapan2026-09-19Commercial Press NEGOTIATION1Ivan Magalhaes
1035Munro C RulapaughFrance2026-09-14Rousseaux, Michael Esq UNQUALIFIED18Amy Elsner
1036Aruna N ChuiFrance2026-10-08Printing Dimensions UNQUALIFIED95Onyama Limba
1037Stacey C KolmetzAustralia2026-10-09Feiner Bros RENEWAL34Onyama Limba
1038Juan P SergiAustralia2026-10-12Printing Dimensions UNQUALIFIED43Xuxue Feng
1039Jones A StensethArgentina2026-09-30King, Christopher A Esq UNQUALIFIED90Bernardo Dominic
1040Antonio W AmigonJapan2026-10-01Feiner Bros QUALIFIED16Elwin Sharvill
1041Emily P NestleJapan2026-09-13Chemel, James L Cpa NEGOTIATION4Bernardo Dominic
1042Rodrigues I BologniaAustralia2026-09-25Feiner Bros NEGOTIATION4Ivan Magalhaes
1043Rodrigues E ChuiSpain2026-09-14Benton, John B Jr PROPOSAL29Xuxue Feng
1044Darci Q RulapaughArgentina2026-09-26Feiner Bros QUALIFIED75Xuxue Feng
1045Deepesh N ButtGermany2026-09-20Feiner Bros UNQUALIFIED16Elwin Sharvill
1046Arvin J MaletArgentina2026-09-25Morlong Associates NEGOTIATION5Anna Fali
1047James I PoquetteCanada2026-10-08Printing Dimensions PROPOSAL31Amy Elsner
1048Misaki F VenereFrance2026-10-09Truhlar And Truhlar Attys UNQUALIFIED2Asiya Javayant
1049Juan C CampainGermany2026-09-13Feltz Printing Service UNQUALIFIED61Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James D StensethAustraliaIvan Magalhaes RENEWAL
Izzy U VenereGermanyOnyama Limba NEGOTIATION
Jefferson E StensethIndiaIvan Magalhaes QUALIFIED
Claire V DoeFranceStephen Shaw NEW
Ashley A StensethJapanOnyama Limba RENEWAL
Ashley J RimSpainXuxue Feng QUALIFIED
Kaitlin S VenereUnited KingdomOnyama Limba PROPOSAL
Jennifer T StockhamRussiaStephen Shaw PROPOSAL
Aruna E FerenczUnited KingdomXuxue Feng PROPOSAL
Ashley L OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Isabel D GlickJapanAsiya Javayant PROPOSAL
Ashley V StockhamRussiaXuxue Feng NEGOTIATION
Aruna X AlbaresArgentinaOnyama Limba NEW
Aditya S BowleyArgentinaIvan Magalhaes UNQUALIFIED
Jefferson U TollnerFranceIoni Bowcher NEW
Isabel T FlosiSpainStephen Shaw NEGOTIATION
Claire N ChuiBrazilIoni Bowcher RENEWAL
James G FerenczJapanIoni Bowcher QUALIFIED
Wickens Y BriddickJapanIoni Bowcher NEGOTIATION
Adams F FigeroaSpainElwin Sharvill NEGOTIATION
Kaitlin A GlickIndiaAnna Fali RENEWAL
Silvio N FerenczArgentinaOnyama Limba RENEWAL
Jones X SaylorsFranceOnyama Limba QUALIFIED
Jennifer W GarufiItalyIoni Bowcher RENEWAL
Jefferson R MaletSpainIvan Magalhaes RENEWAL
Arvin M IturbideItalyXuxue Feng PROPOSAL
Silvio T VocelkaArgentinaStephen Shaw NEGOTIATION
Izzy H BriddickCanadaAmy Elsner RENEWAL
Kadeem C FlosiFranceIoni Bowcher PROPOSAL
Aruna K PoquetteFranceIvan Magalhaes NEW
Alejandro F ShinkoJapanStephen Shaw QUALIFIED
Emily Z OstroskyUnited KingdomAmy Elsner NEGOTIATION
Morrow P SergiJapanStephen Shaw PROPOSAL
Tony W GauchoArgentinaAsiya Javayant NEW
Maisha J MaletGermanyElwin Sharvill RENEWAL
Faith Y MacleadItalyElwin Sharvill NEGOTIATION
Maria O FollerAustraliaAsiya Javayant NEW
Kadeem I SaylorsItalyAsiya Javayant UNQUALIFIED
Jeanfrancois I AmigonGermanyAmy Elsner NEGOTIATION
Izzy F ButtUnited KingdomElwin Sharvill NEGOTIATION
Jefferson A FlosiSpainElwin Sharvill UNQUALIFIED
Kaitlin Z FerenczFranceElwin Sharvill UNQUALIFIED
Leon J DilliardJapanAmy Elsner RENEWAL
Murillo Z VocelkaItalyBernardo Dominic UNQUALIFIED
Salvatore G MaletAustraliaAnna Fali NEW
Jones F RimIndiaAsiya Javayant UNQUALIFIED
Ashley I DilliardRussiaAmy Elsner RENEWAL
Ivar J OstroskyIndiaAnna Fali UNQUALIFIED
Maria D DarakjyCanadaIvan Magalhaes UNQUALIFIED
Alejandro O ShinkoItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aruna S Oldroyd
Alejandro P Darakjy
Mujtaba L Marrier
Cody W Flosi
Jones L Oldroyd
Deepesh J Kolmetz
Chavez W Campain
Mujtaba B Ferencz
Misaki L Waycott
Maisha I Garufi
Nicolas A Oldroyd
Smith L Briddick
Jones J Vocelka
Nicolas G Gaucho
Jeanfrancois V Gaucho
Deepesh E Amigon
Wickens A Ruta
Chavez P Sergi
Smith J Venere
Jeanfrancois H Shinko
Antonio T Oldroyd
Octavia V Garufi
Ashley U Tollner
Chavez H Malet
Julie X Vocelka
Francesco R Darakjy
Julie C Caudy
Isabel W Whobrey
Morrow T Bowley
Stacey I Caldarera
Aika E Iturbide
Mayumi U Vocelka
Aditya D Wieser
Maisha H Sergi
Smith E Kusko
Isabel M Morasca
Ricardo I Gillian
Johnson M Royster
Morrow U Wieser
Aika Y Nestle
Misaki O Perin
Isabel S Inouye
Salvatore T Poquette
Costa O Oldroyd
Ashley Y Butt
Jennifer S Ferencz
Darci D Ruta
Claire U Venere
Mujtaba V Saylors
Arvin D Foller
IdCountryDate
1000Argentina2026-09-26
1001Argentina2026-09-29
1002Argentina2026-10-09
1003Japan2026-09-20
1004India2026-09-19
1005Australia2026-09-13
1006France2026-09-27
1007Canada2026-09-24
1008Germany2026-10-04
1009Germany2026-09-27
1010Germany2026-10-01
1011Brazil2026-09-13
1012India2026-09-29
1013Canada2026-10-10
1014Japan2026-10-08
1015Spain2026-09-23
1016Italy2026-10-07
1017Brazil2026-10-07
1018Japan2026-10-05
1019Canada2026-10-12
1020France2026-09-25
1021United Kingdom2026-09-27
1022Spain2026-09-27
1023Spain2026-10-06
1024Canada2026-09-16
1025Spain2026-09-18
1026Germany2026-09-25
1027Japan2026-09-17
1028Russia2026-09-19
1029Japan2026-10-09
1030Australia2026-09-15
1031France2026-10-01
1032Russia2026-10-08
1033Canada2026-09-28
1034Australia2026-09-21
1035Argentina2026-09-16
1036Russia2026-09-16
1037India2026-09-18
1038Germany2026-09-29
1039Japan2026-09-30
1040Canada2026-09-18
1041India2026-10-07
1042United Kingdom2026-09-14
1043Canada2026-09-15
1044Argentina2026-09-14
1045United Kingdom2026-10-07
1046Russia2026-09-17
1047Argentina2026-09-21
1048France2026-10-07
1049Japan2026-09-18

On-Demand Data

NameIdCountryDate
Izzy L Slusarski1000Canada2026-09-25
Silvio T Gillian1001India2026-09-21
Munro D Perin1002Japan2026-09-15
Claire T Flosi1003Spain2026-10-05
Arvin X Stenseth1004France2026-09-28
Darci P Stockham1005Japan2026-09-29
Aditya J Dilliard1006Spain2026-10-10
Salvatore B Shinko1007Brazil2026-09-28
Izzy B Malet1008Russia2026-10-12
Rodrigues S Chui1009Germany2026-09-24
Wickens N Rulapaugh1010India2026-09-15
Kadeem S Slusarski1011India2026-09-16
Cody M Figeroa1012Australia2026-10-11
Arvin G Perin1013United Kingdom2026-09-17
Emily I Nicka1014France2026-09-21
Cody S Bowley1015France2026-10-02
Isabel I Gaucho1016Japan2026-09-14
Adams C Gaucho1017United Kingdom2026-09-28
Silvio I Whobrey1018Japan2026-09-27
Francesco S Caudy1019Italy2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer O WieserRussiaAsiya Javayant RENEWAL
Aika L NickaArgentinaElwin Sharvill QUALIFIED
Mujtaba G StockhamFranceOnyama Limba RENEWAL
Aruna W FigeroaGermanyElwin Sharvill RENEWAL
Emily E CaudyArgentinaElwin Sharvill UNQUALIFIED
Francesco F IturbideJapanOnyama Limba QUALIFIED
Salvatore D WieserBrazilStephen Shaw PROPOSAL
Aika O ShinkoItalyElwin Sharvill PROPOSAL
Darci R PoquetteArgentinaIoni Bowcher NEW
Morrow G MacleadRussiaAsiya Javayant QUALIFIED
Emily G RutaIndiaStephen Shaw NEGOTIATION
Jefferson G OstroskyBrazilIvan Magalhaes QUALIFIED
Clifford H KolmetzArgentinaXuxue Feng NEGOTIATION
Mujtaba L PoquetteGermanyBernardo Dominic QUALIFIED
Wickens Q GarufiItalyStephen Shaw NEGOTIATION
Izzy R PerinJapanIvan Magalhaes QUALIFIED
Faith B AlbaresRussiaAmy Elsner PROPOSAL
Juan I IturbideSpainElwin Sharvill UNQUALIFIED
Cody L BowleyUnited KingdomIvan Magalhaes PROPOSAL
Claire M MarrierArgentinaIvan Magalhaes QUALIFIED
David S DarakjyFranceStephen Shaw NEGOTIATION
Julie Z OldroydJapanStephen Shaw RENEWAL
Greenwood Y GarufiJapanOnyama Limba PROPOSAL
Isabel W MacleadIndiaOnyama Limba RENEWAL
Julie M WaycottBrazilXuxue Feng RENEWAL
Aika U SaylorsFranceAnna Fali PROPOSAL
Leja G BowleyArgentinaAsiya Javayant PROPOSAL
Wickens P RutaJapanAsiya Javayant NEW
Adams V RulapaughJapanAmy Elsner NEGOTIATION
James M MarrierIndiaAnna Fali PROPOSAL
Wickens K IturbideBrazilAmy Elsner PROPOSAL
Maisha M NickaSpainXuxue Feng PROPOSAL
Leon L BologniaFranceOnyama Limba NEW
Jennifer G AlbaresIndiaOnyama Limba RENEWAL
Jeanfrancois Q MarrierBrazilXuxue Feng NEW
Aika K MaletSpainAnna Fali UNQUALIFIED
Greenwood L KuskoCanadaAsiya Javayant PROPOSAL
Clifford H OstroskyGermanyOnyama Limba RENEWAL
Maisha P RutaIndiaStephen Shaw NEW
Isabel Y CaudySpainStephen Shaw QUALIFIED

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