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
Sinclair S StensethIndiaStephen Shaw NEGOTIATION
Sinclair E ShinkoCanadaBernardo Dominic RENEWAL
Jefferson E CampainUnited KingdomStephen Shaw RENEWAL
Sinclair M CaudyAustraliaStephen Shaw NEW
Smith P OstroskyArgentinaAnna Fali RENEWAL
Jennifer T MacleadJapanAmy Elsner NEGOTIATION
Antonio D StensethArgentinaIoni Bowcher NEGOTIATION
Greenwood G GarufiFranceIoni Bowcher UNQUALIFIED
David T SchemmerSpainAnna Fali UNQUALIFIED
Deepesh O RimFranceOnyama Limba NEGOTIATION
Aditya M VenereFranceStephen Shaw NEW
Francesco Y BowleyItalyAsiya Javayant QUALIFIED
Sinclair P GauchoItalyStephen Shaw QUALIFIED
Alejandro P GauchoArgentinaXuxue Feng RENEWAL
Clifford H CampainGermanyAmy Elsner RENEWAL
Deepesh D RimRussiaStephen Shaw QUALIFIED
Maisha B KuskoJapanBernardo Dominic NEGOTIATION
Isabel M MorascaGermanyIvan Magalhaes NEGOTIATION
Octavia T NickaIndiaAmy Elsner UNQUALIFIED
Jennifer B ButtAustraliaElwin Sharvill QUALIFIED
Ashley A MarrierArgentinaStephen Shaw QUALIFIED
Kadeem I RimFranceStephen Shaw QUALIFIED
Nicolas H CampainRussiaIoni Bowcher UNQUALIFIED
Adams E PoquetteCanadaAsiya Javayant PROPOSAL
Leon I MaletRussiaAsiya Javayant RENEWAL
Jefferson D FollerItalyOnyama Limba UNQUALIFIED
Ricardo I GarufiBrazilOnyama Limba RENEWAL
Leja X RutaCanadaAsiya Javayant RENEWAL
Leon Q CaldareraCanadaAmy Elsner PROPOSAL
Mayumi H CaudyGermanyAmy Elsner UNQUALIFIED
Jones N DoeFranceBernardo Dominic QUALIFIED
Maisha R KolmetzBrazilIoni Bowcher NEGOTIATION
Ricardo N ButtAustraliaXuxue Feng NEW
Cody R KolmetzCanadaIoni Bowcher UNQUALIFIED
Aruna D RutaCanadaBernardo Dominic NEGOTIATION
Aika P StockhamCanadaXuxue Feng QUALIFIED
Munro I StensethRussiaBernardo Dominic NEW
Aditya C WhobreySpainIoni Bowcher RENEWAL
Greenwood V RimGermanyIoni Bowcher RENEWAL
Costa E CampainItalyXuxue Feng PROPOSAL
Salvatore Z StensethIndiaAnna Fali UNQUALIFIED
Rodrigues Y MaletGermanyAmy Elsner RENEWAL
Aruna I AmigonAustraliaIvan Magalhaes QUALIFIED
Tony M WieserBrazilAmy Elsner NEW
Salvatore G WhobreyRussiaIoni Bowcher UNQUALIFIED
Arvin J OstroskyUnited KingdomAsiya Javayant NEW
Kaitlin Y IturbideSpainAmy Elsner UNQUALIFIED
Ricardo W FlosiUnited KingdomXuxue Feng PROPOSAL
Leon B GauchoIndiaIvan Magalhaes UNQUALIFIED
Misaki E OldroydSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jennifer R NestleSpainStephen Shaw NEW
Julie H PerinArgentinaIoni Bowcher NEGOTIATION
Ricardo D RoysterArgentinaAnna Fali RENEWAL
Wickens Q RutaIndiaAmy Elsner PROPOSAL
Morrow X FollerFranceAsiya Javayant UNQUALIFIED
Jones T FollerIndiaBernardo Dominic QUALIFIED
Chavez C RoysterRussiaOnyama Limba UNQUALIFIED
Octavia G PerinFranceAnna Fali QUALIFIED
Tony C CaudyArgentinaAsiya Javayant QUALIFIED
Leja S MaletUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David T ChuiItaly2026-09-28Buckley Miller Wright QUALIFIED85Anna Fali
1001Johnson N MacleadCanada2026-09-15Rousseaux, Michael Esq NEW57Anna Fali
1002Isabel U DarakjySpain2026-09-28Chapman, Ross E Esq RENEWAL96Ioni Bowcher
1003Arvin T CaldareraGermany2026-09-23King, Christopher A Esq NEW10Elwin Sharvill
1004Jefferson H VenereBrazil2026-09-21Chemel, James L Cpa NEW40Amy Elsner
1005Salvatore I VenereBrazil2026-09-14King, Christopher A Esq UNQUALIFIED36Stephen Shaw
1006Claire R BriddickGermany2026-09-30Printing Dimensions PROPOSAL52Ivan Magalhaes
1007Izzy O SergiArgentina2026-09-16Morlong Associates NEGOTIATION39Elwin Sharvill
1008Leja T WhobreyArgentina2026-09-24Rousseaux, Michael Esq UNQUALIFIED92Ioni Bowcher
1009Rodrigues F MorascaGermany2026-09-12Rousseaux, Michael Esq PROPOSAL96Bernardo Dominic
1010Izzy D MorascaUnited Kingdom2026-09-15Chapman, Ross E Esq RENEWAL85Elwin Sharvill
1011Jefferson I WaycottFrance2026-09-29Buckley Miller Wright NEGOTIATION22Stephen Shaw
1012Silvio Z RoysterBrazil2026-09-14Chapman, Ross E Esq PROPOSAL11Xuxue Feng
1013Izzy W WieserBrazil2026-09-10Feiner Bros PROPOSAL87Stephen Shaw
1014Jones A TollnerArgentina2026-09-21Rousseaux, Michael Esq NEGOTIATION51Ivan Magalhaes
1015Ricardo E FlosiFrance2026-09-12King, Christopher A Esq PROPOSAL57Anna Fali
1016Rodrigues R KuskoFrance2026-09-16Buckley Miller Wright RENEWAL9Stephen Shaw
1017Smith Y PoquetteBrazil2026-09-15King, Christopher A Esq PROPOSAL80Onyama Limba
1018Mayumi K StockhamBrazil2026-09-12Chemel, James L Cpa RENEWAL42Anna Fali
1019Tony Q FollerAustralia2026-09-29King, Christopher A Esq NEW62Bernardo Dominic
1020Kadeem L PaprockiGermany2026-09-28Buckley Miller Wright NEGOTIATION82Bernardo Dominic
1021Darci R GlickArgentina2026-09-06Morlong Associates UNQUALIFIED99Ivan Magalhaes
1022Mayumi G PerinCanada2026-09-13Buckley Miller Wright PROPOSAL81Anna Fali
1023Misaki N SlusarskiJapan2026-09-24Feltz Printing Service QUALIFIED84Onyama Limba
1024James O WieserSpain2026-09-19Chanay, Jeffrey A Esq RENEWAL21Asiya Javayant
1025Maisha X StensethRussia2026-09-08Buckley Miller Wright UNQUALIFIED22Asiya Javayant
1026Tony J ChuiAustralia2026-09-21Printing Dimensions PROPOSAL78Elwin Sharvill
1027Smith O KuskoUnited Kingdom2026-09-04Rangoni Of Florence PROPOSAL61Xuxue Feng
1028Nicolas J SaylorsBrazil2026-09-07Benton, John B Jr QUALIFIED51Ioni Bowcher
1029Chavez P RutaIndia2026-09-28Morlong Associates QUALIFIED10Anna Fali
1030Sinclair L IturbideSpain2026-09-19Chapman, Ross E Esq QUALIFIED5Bernardo Dominic
1031Cody K ChuiIndia2026-09-17Rangoni Of Florence PROPOSAL86Ivan Magalhaes
1032Aditya S InouyeFrance2026-10-01Buckley Miller Wright NEGOTIATION91Bernardo Dominic
1033Morrow V AlbaresSpain2026-09-16Chanay, Jeffrey A Esq QUALIFIED60Xuxue Feng
1034Maisha N GauchoBrazil2026-09-20Rousseaux, Michael Esq RENEWAL49Asiya Javayant
1035Faith K SaylorsItaly2026-09-06Rangoni Of Florence UNQUALIFIED13Amy Elsner
1036Greenwood Z SchemmerAustralia2026-09-27Feiner Bros PROPOSAL87Amy Elsner
1037Leon R TollnerBrazil2026-09-11Rousseaux, Michael Esq UNQUALIFIED82Stephen Shaw
1038Chavez U OstroskyRussia2026-09-26Dorl, James J Esq UNQUALIFIED7Anna Fali
1039Maria G CaudyJapan2026-09-28Truhlar And Truhlar Attys NEGOTIATION44Xuxue Feng
1040Munro X BologniaArgentina2026-09-20Buckley Miller Wright QUALIFIED42Ioni Bowcher
1041Francesco H CaudyItaly2026-09-18Benton, John B Jr UNQUALIFIED91Ioni Bowcher
1042Maria J StensethSpain2026-09-04Morlong Associates NEW72Xuxue Feng
1043Ivar E PaprockiFrance2026-10-01Buckley Miller Wright UNQUALIFIED12Bernardo Dominic
1044Jefferson G CaudyIndia2026-09-24Feltz Printing Service PROPOSAL78Ivan Magalhaes
1045Wickens X ShinkoAustralia2026-09-13Feiner Bros NEGOTIATION70Stephen Shaw
1046Kaitlin X PoquetteSpain2026-09-20Printing Dimensions NEGOTIATION83Asiya Javayant
1047Sinclair Y FerenczAustralia2026-09-28Buckley Miller Wright UNQUALIFIED61Anna Fali
1048Isabel E SaylorsAustralia2026-09-23Rousseaux, Michael Esq NEGOTIATION9Ioni Bowcher
1049Stacey P SlusarskiJapan2026-09-07Chanay, Jeffrey A Esq QUALIFIED63Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin F DilliardCanadaOnyama Limba PROPOSAL
Emily H BriddickCanadaElwin Sharvill NEGOTIATION
Leja J FollerRussiaElwin Sharvill NEGOTIATION
Emily T RulapaughItalyAnna Fali PROPOSAL
Silvio K MarrierCanadaIvan Magalhaes RENEWAL
Kaitlin U GlickAustraliaAnna Fali NEGOTIATION
Clifford Z KolmetzBrazilAmy Elsner RENEWAL
David T IturbideUnited KingdomOnyama Limba NEW
Rodrigues K OstroskyFranceAnna Fali NEGOTIATION
Aika V CaudyAustraliaOnyama Limba QUALIFIED
Octavia G MacleadRussiaAnna Fali RENEWAL
Silvio L DarakjyUnited KingdomIvan Magalhaes RENEWAL
Ricardo L BowleyAustraliaIoni Bowcher QUALIFIED
David Y ButtAustraliaIoni Bowcher RENEWAL
Smith Z FollerCanadaAmy Elsner NEW
Smith S CampainCanadaIvan Magalhaes NEGOTIATION
Deepesh N SergiFranceAnna Fali RENEWAL
Darci G BowleyAustraliaIoni Bowcher QUALIFIED
Ashley V TollnerArgentinaIvan Magalhaes NEW
Kaitlin Q RoysterBrazilAnna Fali NEW
Darci P MorascaBrazilIvan Magalhaes UNQUALIFIED
Francesco L OldroydArgentinaXuxue Feng PROPOSAL
Maisha Q MarrierIndiaStephen Shaw RENEWAL
Francesco Y BriddickRussiaStephen Shaw PROPOSAL
Leja H FerenczArgentinaAmy Elsner NEW
Chavez U KolmetzItalyIoni Bowcher RENEWAL
Johnson Q DoeArgentinaAmy Elsner RENEWAL
Kadeem W PoquetteUnited KingdomStephen Shaw NEW
Smith H MarrierItalyAmy Elsner RENEWAL
James I WieserGermanyAnna Fali NEGOTIATION
James B DarakjyJapanAmy Elsner NEGOTIATION
Emily V PaprockiUnited KingdomStephen Shaw NEGOTIATION
David T StockhamCanadaStephen Shaw RENEWAL
Kadeem J MacleadRussiaOnyama Limba UNQUALIFIED
Chavez G WhobreyAustraliaAsiya Javayant NEW
Clifford L WieserCanadaStephen Shaw UNQUALIFIED
Octavia A SergiUnited KingdomXuxue Feng NEGOTIATION
Sinclair G FigeroaJapanOnyama Limba NEW
Rodrigues K CampainBrazilAsiya Javayant NEW
Francesco K TollnerItalyAsiya Javayant RENEWAL
Jennifer Y FigeroaRussiaBernardo Dominic PROPOSAL
Costa T SergiSpainStephen Shaw NEW
James I AlbaresSpainXuxue Feng PROPOSAL
David E ChuiItalyAmy Elsner NEGOTIATION
Antonio R CaudyRussiaOnyama Limba PROPOSAL
Jefferson R BowleyFranceBernardo Dominic NEW
Wickens I KuskoSpainAsiya Javayant NEW
Smith A WhobreyGermanyIoni Bowcher NEW
Julie X OldroydSpainOnyama Limba NEGOTIATION
Ricardo G PoquetteBrazilBernardo Dominic QUALIFIED
Frozen Columns
Name
Jones A Gillian
Kadeem W Bowley
Jeanfrancois L Flosi
Aruna G Malet
Costa G Schemmer
Salvatore D Rulapaugh
Alejandro I Slusarski
Johnson O Paprocki
Darci C Gaucho
Julie S Marrier
Murillo W Figeroa
Leja F Poquette
Sinclair T Caldarera
Greenwood L Schemmer
Leon N Amigon
Maisha H Malet
Jeanfrancois J Rulapaugh
Sinclair O Briddick
Leon W Rim
Maisha P Campain
Antonio D Doe
Adams C Bolognia
Aruna I Caldarera
Tony Q Darakjy
Maisha Y Maclead
Izzy E Campain
Ricardo Y Ruta
Misaki C Slusarski
Costa U Oldroyd
Stacey C Albares
Cody J Sergi
Jennifer J Butt
Rodrigues B Vocelka
Murillo O Darakjy
Juan G Amigon
Deepesh F Malet
Misaki V Chui
Aditya T Amigon
Arvin K Inouye
Aika O Oldroyd
Salvatore R Dilliard
Deepesh E Chui
Morrow U Butt
Adams V Slusarski
Deepesh X Nestle
Jefferson J Ruta
Izzy R Nestle
Julie I Amigon
Antonio P Paprocki
David R Royster
IdCountryDate
1000India2026-09-04
1001Australia2026-09-13
1002United Kingdom2026-09-18
1003Japan2026-09-11
1004India2026-09-17
1005Spain2026-09-19
1006Japan2026-09-28
1007Brazil2026-10-01
1008Canada2026-09-21
1009Spain2026-09-16
1010Australia2026-09-12
1011Canada2026-09-29
1012India2026-09-21
1013Argentina2026-09-16
1014Germany2026-09-18
1015United Kingdom2026-09-22
1016Australia2026-09-09
1017Japan2026-09-30
1018United Kingdom2026-09-19
1019Italy2026-09-11
1020Italy2026-09-27
1021France2026-09-30
1022Brazil2026-09-07
1023Italy2026-09-15
1024Italy2026-09-13
1025Brazil2026-09-06
1026France2026-09-12
1027United Kingdom2026-09-22
1028Russia2026-09-21
1029Argentina2026-09-29
1030India2026-09-22
1031Germany2026-09-10
1032Germany2026-09-16
1033France2026-09-04
1034Germany2026-09-26
1035Spain2026-09-18
1036Japan2026-09-24
1037Japan2026-09-09
1038Canada2026-09-12
1039Russia2026-09-29
1040India2026-09-21
1041Argentina2026-09-20
1042United Kingdom2026-09-27
1043Russia2026-10-01
1044Canada2026-10-03
1045Australia2026-09-09
1046Russia2026-09-23
1047Canada2026-09-12
1048France2026-09-29
1049Brazil2026-09-17

On-Demand Data

NameIdCountryDate
James S Stenseth1000India2026-09-17
Silvio F Figeroa1001United Kingdom2026-10-01
Ricardo I Waycott1002Japan2026-09-21
Leja P Dilliard1003France2026-09-13
Tony Q Ruta1004Spain2026-09-18
James D Glick1005India2026-09-06
Morrow B Iturbide1006Australia2026-09-20
Stacey N Bolognia1007Spain2026-10-01
James E Garufi1008Italy2026-09-07
Aika M Amigon1009Germany2026-09-21
Julie Z Sergi1010India2026-09-28
Rodrigues H Ostrosky1011Japan2026-09-12
Darci E Amigon1012Canada2026-09-08
Antonio X Briddick1013Brazil2026-09-26
Faith L Malet1014India2026-09-24
Greenwood O Nestle1015Canada2026-09-20
Jeanfrancois B Gillian1016Argentina2026-09-18
Jennifer H Perin1017Germany2026-09-18
Izzy I Foller1018Australia2026-09-16
Adams P Wieser1019United Kingdom2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson T ButtRussiaBernardo Dominic RENEWAL
David P SergiBrazilStephen Shaw PROPOSAL
Maria V MaletJapanBernardo Dominic RENEWAL
Maisha L ButtItalyOnyama Limba PROPOSAL
Isabel P MarrierAustraliaXuxue Feng PROPOSAL
Aika A MaletItalyBernardo Dominic NEW
Faith D FollerRussiaAmy Elsner NEW
Aditya K WaycottGermanyAmy Elsner UNQUALIFIED
Aika C RoysterCanadaIoni Bowcher NEGOTIATION
Emily J SergiGermanyIoni Bowcher QUALIFIED
Francesco H AmigonFranceXuxue Feng QUALIFIED
Misaki Q MaletFranceXuxue Feng QUALIFIED
Silvio T MacleadRussiaIoni Bowcher RENEWAL
Costa M MaletUnited KingdomIoni Bowcher QUALIFIED
Ricardo K InouyeAustraliaIoni Bowcher PROPOSAL
Claire K SchemmerGermanyElwin Sharvill RENEWAL
Morrow R GarufiJapanXuxue Feng NEGOTIATION
Antonio U ButtJapanBernardo Dominic UNQUALIFIED
Clifford Y StensethBrazilIvan Magalhaes NEGOTIATION
Silvio B PerinGermanyElwin Sharvill RENEWAL
Smith S WieserJapanIoni Bowcher RENEWAL
Leja F WieserFranceIoni Bowcher UNQUALIFIED
Jefferson E AmigonCanadaStephen Shaw UNQUALIFIED
Jones T FigeroaFranceAmy Elsner PROPOSAL
Cody O OldroydIndiaStephen Shaw UNQUALIFIED
Leon F StockhamJapanBernardo Dominic UNQUALIFIED
Chavez H RutaArgentinaIoni Bowcher PROPOSAL
Mujtaba I GarufiSpainElwin Sharvill RENEWAL
Darci T AlbaresArgentinaBernardo Dominic RENEWAL
Izzy T FigeroaBrazilAnna Fali PROPOSAL
Johnson X GarufiGermanyIoni Bowcher RENEWAL
Salvatore K FerenczItalyStephen Shaw RENEWAL
Sinclair F SaylorsFranceIvan Magalhaes QUALIFIED
Mujtaba C CampainIndiaElwin Sharvill RENEWAL
Aika Q VocelkaFranceStephen Shaw NEW
Ricardo K GarufiJapanAnna Fali NEW
Jennifer E TollnerUnited KingdomAnna Fali PROPOSAL
Arvin S SergiCanadaOnyama Limba RENEWAL
James F VenereArgentinaAsiya Javayant RENEWAL
Kadeem F MacleadSpainAnna Fali PROPOSAL

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