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
James U BriddickJapanAnna Fali QUALIFIED
Smith O PoquetteArgentinaBernardo Dominic QUALIFIED
Jeanfrancois J RoysterArgentinaOnyama Limba PROPOSAL
Murillo D MaletArgentinaIvan Magalhaes NEGOTIATION
Smith T DoeUnited KingdomElwin Sharvill UNQUALIFIED
Tony N FerenczSpainBernardo Dominic NEW
Salvatore Q StockhamIndiaIoni Bowcher UNQUALIFIED
Johnson F PoquetteAustraliaIvan Magalhaes QUALIFIED
Aika S BowleyArgentinaAmy Elsner RENEWAL
Chavez Y ShinkoFranceXuxue Feng NEGOTIATION
Sinclair I BologniaRussiaOnyama Limba UNQUALIFIED
David W FerenczJapanOnyama Limba PROPOSAL
Misaki C FollerGermanyAmy Elsner PROPOSAL
Maria J CaldareraCanadaBernardo Dominic QUALIFIED
Kadeem U TollnerRussiaElwin Sharvill PROPOSAL
Julie S MacleadJapanAnna Fali RENEWAL
Emily Z ButtGermanyElwin Sharvill NEGOTIATION
Faith F FigeroaGermanyAmy Elsner RENEWAL
Deepesh A GlickArgentinaAmy Elsner RENEWAL
Leon P AmigonGermanyStephen Shaw QUALIFIED
Jones Q WieserFranceIvan Magalhaes NEW
Izzy Q ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Jones R NestleGermanyIvan Magalhaes PROPOSAL
Alejandro Z PoquetteArgentinaElwin Sharvill NEGOTIATION
Jennifer M IturbideAustraliaIoni Bowcher QUALIFIED
Arvin Z FlosiRussiaIoni Bowcher PROPOSAL
Julie H DilliardAustraliaOnyama Limba UNQUALIFIED
Maria X CaldareraIndiaAnna Fali NEW
Clifford O AlbaresBrazilBernardo Dominic UNQUALIFIED
Mujtaba P StensethJapanBernardo Dominic RENEWAL
Deepesh J GauchoItalyIvan Magalhaes NEGOTIATION
Antonio C ButtCanadaElwin Sharvill RENEWAL
Misaki I MacleadRussiaElwin Sharvill NEW
Jennifer E CaldareraCanadaXuxue Feng UNQUALIFIED
Francesco E ShinkoCanadaStephen Shaw UNQUALIFIED
Maria Q ChuiGermanyElwin Sharvill NEGOTIATION
Izzy N WhobreyIndiaIoni Bowcher UNQUALIFIED
Claire Z PerinArgentinaElwin Sharvill PROPOSAL
Smith H PoquetteUnited KingdomElwin Sharvill NEW
Faith Z TollnerCanadaBernardo Dominic PROPOSAL
Silvio S PoquetteIndiaAmy Elsner PROPOSAL
Faith J IturbideRussiaOnyama Limba NEGOTIATION
Aika K SlusarskiIndiaStephen Shaw NEW
Emily F DarakjyJapanStephen Shaw QUALIFIED
Nicolas M BowleyBrazilIoni Bowcher QUALIFIED
Aditya K RimGermanyIoni Bowcher RENEWAL
Ashley W ChuiItalyStephen Shaw RENEWAL
Kadeem T RutaArgentinaIoni Bowcher NEW
Wickens F PaprockiAustraliaOnyama Limba NEW
Ivar Z StockhamAustraliaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya Z KuskoUnited KingdomOnyama Limba NEW
Ricardo Y InouyeFranceAmy Elsner QUALIFIED
Kaitlin Z OldroydCanadaAnna Fali PROPOSAL
Kadeem L RutaJapanElwin Sharvill RENEWAL
Izzy U ShinkoBrazilIvan Magalhaes PROPOSAL
Aditya I WieserUnited KingdomIoni Bowcher UNQUALIFIED
James S NickaSpainAsiya Javayant PROPOSAL
Silvio P PerinFranceBernardo Dominic NEW
Mayumi H TollnerSpainStephen Shaw NEW
Claire M KuskoJapanStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody T GlickRussia2026-10-30Feiner Bros QUALIFIED54Asiya Javayant
1001Aruna L DoeBrazil2026-10-13Chanay, Jeffrey A Esq RENEWAL96Asiya Javayant
1002Misaki S KuskoIndia2026-11-06Rangoni Of Florence PROPOSAL18Elwin Sharvill
1003Morrow T SchemmerItaly2026-11-11Rangoni Of Florence NEW92Bernardo Dominic
1004Misaki Y MarrierItaly2026-10-22Chapman, Ross E Esq QUALIFIED50Ioni Bowcher
1005Deepesh M SlusarskiUnited Kingdom2026-11-10Chemel, James L Cpa UNQUALIFIED89Anna Fali
1006Ivar U SergiItaly2026-11-11Truhlar And Truhlar Attys RENEWAL44Stephen Shaw
1007Jeanfrancois T MarrierAustralia2026-10-31Benton, John B Jr RENEWAL21Elwin Sharvill
1008Wickens T RutaGermany2026-10-25Chapman, Ross E Esq PROPOSAL16Bernardo Dominic
1009Aika J SergiJapan2026-11-07Commercial Press QUALIFIED13Bernardo Dominic
1010Antonio Q CaudyJapan2026-11-04Morlong Associates RENEWAL39Ivan Magalhaes
1011Leja R MaletGermany2026-11-11Printing Dimensions UNQUALIFIED57Ivan Magalhaes
1012Maria C InouyeItaly2026-10-13Commercial Press PROPOSAL60Onyama Limba
1013Aruna I GlickAustralia2026-11-09Feiner Bros NEW55Anna Fali
1014Costa G SlusarskiCanada2026-11-03Feltz Printing Service RENEWAL14Ivan Magalhaes
1015Izzy F AlbaresRussia2026-10-22Feltz Printing Service NEGOTIATION71Ivan Magalhaes
1016Mujtaba S RulapaughBrazil2026-10-30Feltz Printing Service RENEWAL43Stephen Shaw
1017Costa S InouyeArgentina2026-11-07Chanay, Jeffrey A Esq RENEWAL33Amy Elsner
1018Ashley W AlbaresBrazil2026-10-27Rangoni Of Florence NEW94Anna Fali
1019Greenwood E CaldareraItaly2026-10-25Commercial Press NEW42Bernardo Dominic
1020Aruna V FerenczRussia2026-10-27Dorl, James J Esq NEW96Ivan Magalhaes
1021Adams Q ShinkoFrance2026-10-28Buckley Miller Wright NEGOTIATION71Amy Elsner
1022Maria S PerinFrance2026-10-20Chemel, James L Cpa NEW74Anna Fali
1023Salvatore K CampainCanada2026-10-17Truhlar And Truhlar Attys QUALIFIED18Stephen Shaw
1024Aika K GarufiCanada2026-11-02Chanay, Jeffrey A Esq RENEWAL6Asiya Javayant
1025Antonio A SchemmerIndia2026-10-31Rangoni Of Florence NEGOTIATION53Asiya Javayant
1026Deepesh A MacleadSpain2026-10-18King, Christopher A Esq PROPOSAL92Onyama Limba
1027Ashley F StockhamBrazil2026-11-08Dorl, James J Esq NEGOTIATION91Bernardo Dominic
1028Emily F SaylorsJapan2026-10-22Chanay, Jeffrey A Esq NEGOTIATION49Elwin Sharvill
1029Munro C GarufiGermany2026-10-24Feltz Printing Service RENEWAL41Bernardo Dominic
1030Tony Y OldroydGermany2026-10-13Buckley Miller Wright UNQUALIFIED83Elwin Sharvill
1031Ashley F WhobreySpain2026-10-13Chanay, Jeffrey A Esq NEGOTIATION29Anna Fali
1032Octavia F GarufiArgentina2026-11-01Commercial Press RENEWAL8Asiya Javayant
1033David Y SchemmerFrance2026-10-18Printing Dimensions PROPOSAL51Stephen Shaw
1034James A OldroydItaly2026-11-09King, Christopher A Esq UNQUALIFIED2Asiya Javayant
1035Ashley M RoysterAustralia2026-11-08Buckley Miller Wright UNQUALIFIED24Ioni Bowcher
1036Leja D StockhamArgentina2026-10-29Morlong Associates RENEWAL78Bernardo Dominic
1037Aditya N PerinSpain2026-10-28Rousseaux, Michael Esq RENEWAL38Bernardo Dominic
1038Alejandro N DarakjyRussia2026-11-09Printing Dimensions RENEWAL90Xuxue Feng
1039Juan C GillianRussia2026-10-28King, Christopher A Esq RENEWAL18Asiya Javayant
1040Nicolas S RoysterRussia2026-11-09Chemel, James L Cpa UNQUALIFIED28Bernardo Dominic
1041Murillo N OldroydUnited Kingdom2026-11-01Rangoni Of Florence NEW77Onyama Limba
1042Clifford Q WaycottCanada2026-10-28Rousseaux, Michael Esq NEW42Elwin Sharvill
1043Octavia Q InouyeArgentina2026-11-01Chapman, Ross E Esq PROPOSAL69Asiya Javayant
1044Juan G RoysterItaly2026-10-30Feiner Bros NEGOTIATION84Ioni Bowcher
1045Aruna R RulapaughRussia2026-10-24Chemel, James L Cpa RENEWAL7Ioni Bowcher
1046Kadeem W GlickSpain2026-10-25Benton, John B Jr UNQUALIFIED56Onyama Limba
1047Juan H TollnerCanada2026-10-23Buckley Miller Wright QUALIFIED84Ioni Bowcher
1048Greenwood F ButtJapan2026-11-04Chapman, Ross E Esq NEGOTIATION69Anna Fali
1049Arvin Z MarrierGermany2026-11-06King, Christopher A Esq UNQUALIFIED50Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maria M RutaBrazilAnna Fali NEGOTIATION
Maria U CaldareraGermanyAmy Elsner UNQUALIFIED
Aruna O IturbideCanadaAsiya Javayant RENEWAL
Deepesh V IturbideRussiaBernardo Dominic NEW
Emily E StensethItalyStephen Shaw PROPOSAL
Leja S MarrierIndiaXuxue Feng RENEWAL
Stacey S PoquetteGermanyAnna Fali QUALIFIED
Ivar A VenereSpainAsiya Javayant NEW
Stacey I SaylorsItalyBernardo Dominic NEW
Mayumi U WaycottJapanAnna Fali UNQUALIFIED
Munro P PerinAustraliaOnyama Limba UNQUALIFIED
Misaki S PerinAustraliaBernardo Dominic PROPOSAL
Emily C OstroskyIndiaElwin Sharvill NEW
Jones C VocelkaRussiaXuxue Feng UNQUALIFIED
Julie W CaldareraSpainBernardo Dominic UNQUALIFIED
Rodrigues U FerenczSpainStephen Shaw QUALIFIED
Maria M IturbideArgentinaOnyama Limba RENEWAL
Arvin C MaletAustraliaAsiya Javayant NEGOTIATION
Stacey B SchemmerJapanElwin Sharvill NEW
Salvatore S VenereIndiaAsiya Javayant RENEWAL
Isabel E FerenczGermanyElwin Sharvill UNQUALIFIED
Costa H ChuiBrazilIvan Magalhaes PROPOSAL
Silvio B WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Morrow J MaletItalyElwin Sharvill PROPOSAL
Ashley C PoquetteAustraliaOnyama Limba UNQUALIFIED
Maria Z GlickBrazilAnna Fali RENEWAL
Jennifer B RulapaughBrazilBernardo Dominic UNQUALIFIED
Munro S NestleIndiaOnyama Limba UNQUALIFIED
Morrow W KolmetzRussiaBernardo Dominic PROPOSAL
Kadeem O DilliardIndiaOnyama Limba RENEWAL
Aditya M StensethIndiaIvan Magalhaes RENEWAL
Mujtaba S GillianGermanyElwin Sharvill NEGOTIATION
Greenwood P RutaItalyIoni Bowcher RENEWAL
Leja H ButtIndiaOnyama Limba UNQUALIFIED
Cody A CaldareraSpainAsiya Javayant NEW
Claire N SergiItalyIvan Magalhaes PROPOSAL
Costa P CampainUnited KingdomStephen Shaw RENEWAL
Ivar M GlickArgentinaAnna Fali NEW
Julie X BologniaUnited KingdomAsiya Javayant NEGOTIATION
Tony N GarufiSpainOnyama Limba UNQUALIFIED
David B VenereItalyAmy Elsner NEGOTIATION
Mayumi I DoeGermanyStephen Shaw PROPOSAL
Kaitlin H CampainUnited KingdomAnna Fali RENEWAL
Mujtaba T SaylorsCanadaIvan Magalhaes QUALIFIED
Francesco A MaletRussiaAnna Fali NEGOTIATION
Rodrigues Y MaletJapanXuxue Feng PROPOSAL
Maria X NickaUnited KingdomBernardo Dominic RENEWAL
Leja J DarakjyAustraliaAnna Fali NEW
James W ButtIndiaBernardo Dominic NEGOTIATION
Silvio Q MarrierFranceOnyama Limba NEGOTIATION
Frozen Columns
Name
Arvin E Paprocki
Darci X Schemmer
Aika Y Wieser
Ashley R Stenseth
Ricardo Z Foller
Mayumi B Whobrey
Smith V Foller
Octavia U Briddick
Wickens R Saylors
Jefferson P Nicka
Jones F Poquette
Adams E Amigon
Emily P Rim
Julie C Inouye
Aika W Stenseth
Wickens S Chui
Faith V Perin
Antonio W Albares
Maria Y Slusarski
Aika K Inouye
Sinclair L Stenseth
Francesco B Stockham
Claire X Kolmetz
Claire V Chui
Arvin K Foller
Jeanfrancois G Doe
Mujtaba N Tollner
Isabel S Venere
Sinclair R Wieser
Francesco V Ruta
David O Morasca
Octavia A Poquette
Francesco Y Caldarera
David M Venere
Johnson Z Oldroyd
David D Paprocki
Isabel W Bowley
Mujtaba V Chui
Faith Y Caudy
Tony I Rim
Octavia W Marrier
Kaitlin G Royster
Jones K Dilliard
Ricardo C Nicka
Alejandro W Darakjy
Silvio I Doe
Francesco R Caldarera
Nicolas N Bowley
Kaitlin O Morasca
Cody N Foller
IdCountryDate
1000Japan2026-10-30
1001Spain2026-10-24
1002India2026-10-28
1003India2026-11-03
1004Australia2026-10-14
1005France2026-11-04
1006Italy2026-10-25
1007United Kingdom2026-11-05
1008Russia2026-10-27
1009Australia2026-11-02
1010Canada2026-11-02
1011Argentina2026-11-11
1012India2026-10-16
1013Spain2026-11-11
1014Spain2026-10-22
1015France2026-10-26
1016Russia2026-11-10
1017Germany2026-10-25
1018France2026-10-17
1019Argentina2026-11-08
1020United Kingdom2026-11-09
1021United Kingdom2026-11-10
1022Germany2026-11-03
1023France2026-11-10
1024Argentina2026-10-14
1025Italy2026-10-16
1026France2026-11-10
1027Australia2026-10-24
1028Russia2026-10-15
1029Spain2026-10-25
1030India2026-10-28
1031Argentina2026-10-27
1032India2026-10-21
1033United Kingdom2026-10-31
1034United Kingdom2026-11-02
1035Russia2026-11-04
1036France2026-10-19
1037Italy2026-10-19
1038Argentina2026-10-13
1039Italy2026-10-16
1040Spain2026-10-14
1041Brazil2026-11-10
1042Russia2026-11-07
1043France2026-10-28
1044Canada2026-10-27
1045Spain2026-11-01
1046Japan2026-10-16
1047Brazil2026-10-25
1048Australia2026-10-19
1049India2026-11-10

On-Demand Data

NameIdCountryDate
Salvatore E Caudy1000Russia2026-11-10
Jones J Briddick1001Argentina2026-11-10
Silvio G Gaucho1002Argentina2026-10-30
Salvatore W Tollner1003United Kingdom2026-11-08
Francesco U Caldarera1004India2026-11-07
Aika F Briddick1005Russia2026-11-04
Jefferson B Ruta1006France2026-11-08
David N Bolognia1007Spain2026-11-04
Isabel F Tollner1008Italy2026-10-19
Nicolas K Sergi1009United Kingdom2026-10-14
Francesco H Chui1010United Kingdom2026-10-24
Aditya H Schemmer1011Russia2026-11-07
Aditya P Waycott1012Russia2026-11-04
David Q Royster1013Argentina2026-10-25
Salvatore N Figeroa1014Argentina2026-11-08
Julie G Glick1015Argentina2026-10-23
Antonio E Kolmetz1016United Kingdom2026-10-14
Adams T Caldarera1017Australia2026-10-19
Wickens V Poquette1018Australia2026-10-16
Isabel B Royster1019Canada2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon D VenereItalyStephen Shaw QUALIFIED
Ashley Z RimFranceAsiya Javayant UNQUALIFIED
Adams H MaletUnited KingdomXuxue Feng UNQUALIFIED
Ivar F PerinAustraliaAsiya Javayant PROPOSAL
Munro C MorascaRussiaIoni Bowcher NEW
Aika R PaprockiFranceStephen Shaw QUALIFIED
Alejandro R RoysterBrazilAsiya Javayant QUALIFIED
Smith D FerenczGermanyElwin Sharvill UNQUALIFIED
Nicolas G ChuiIndiaAsiya Javayant UNQUALIFIED
Clifford T RimRussiaIoni Bowcher UNQUALIFIED
Mayumi B BriddickIndiaXuxue Feng NEGOTIATION
Salvatore Q FerenczRussiaAmy Elsner NEW
Francesco N VenereAustraliaAsiya Javayant NEW
Costa V KolmetzBrazilStephen Shaw NEW
Darci D RutaArgentinaAnna Fali QUALIFIED
Darci U GlickBrazilAmy Elsner QUALIFIED
Wickens D ButtUnited KingdomAnna Fali PROPOSAL
Silvio F InouyeCanadaAnna Fali UNQUALIFIED
Jeanfrancois A DarakjyFranceStephen Shaw NEGOTIATION
Johnson G OstroskyBrazilAnna Fali RENEWAL
Nicolas B BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Tony R ButtRussiaAsiya Javayant PROPOSAL
Jeanfrancois Q CampainBrazilStephen Shaw RENEWAL
Antonio H OldroydArgentinaIvan Magalhaes UNQUALIFIED
Ivar A VenereCanadaOnyama Limba NEW
Jefferson M ButtArgentinaOnyama Limba UNQUALIFIED
Juan T KuskoItalyStephen Shaw NEW
Chavez J AmigonAustraliaAsiya Javayant NEW
Maria T AlbaresCanadaStephen Shaw QUALIFIED
Greenwood F TollnerArgentinaXuxue Feng PROPOSAL
Ivar B SaylorsAustraliaBernardo Dominic QUALIFIED
Cody G FollerItalyIvan Magalhaes NEGOTIATION
Octavia W WieserGermanyStephen Shaw RENEWAL
Julie B WieserCanadaOnyama Limba QUALIFIED
Ricardo Z ChuiRussiaAmy Elsner PROPOSAL
Jones F MorascaUnited KingdomAsiya Javayant NEW
Smith X DarakjyItalyAmy Elsner NEGOTIATION
Misaki X FerenczIndiaIoni Bowcher UNQUALIFIED
Kaitlin U ButtJapanOnyama Limba NEW
Munro R BowleyCanadaStephen Shaw UNQUALIFIED

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