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
Juan S CaldareraItalyXuxue Feng NEW
Chavez R WhobreyArgentinaAsiya Javayant QUALIFIED
Juan M GauchoCanadaIoni Bowcher RENEWAL
Jefferson K ButtArgentinaIoni Bowcher NEW
Kadeem K OstroskyJapanIvan Magalhaes RENEWAL
Jones K GillianUnited KingdomElwin Sharvill PROPOSAL
Rodrigues E DilliardGermanyIoni Bowcher NEGOTIATION
Alejandro H WaycottBrazilOnyama Limba UNQUALIFIED
Sinclair F MaletBrazilBernardo Dominic RENEWAL
Leon M WaycottItalyOnyama Limba RENEWAL
Jefferson L SchemmerItalyOnyama Limba UNQUALIFIED
Kadeem D WaycottFranceOnyama Limba PROPOSAL
Misaki C MorascaRussiaBernardo Dominic UNQUALIFIED
Nicolas G RoysterRussiaOnyama Limba UNQUALIFIED
Emily G WaycottBrazilIoni Bowcher RENEWAL
Juan U WieserFranceAmy Elsner NEGOTIATION
Adams H CaudyGermanyAmy Elsner RENEWAL
Alejandro E PoquetteUnited KingdomOnyama Limba RENEWAL
Smith O NickaIndiaBernardo Dominic UNQUALIFIED
Kaitlin U SlusarskiBrazilStephen Shaw PROPOSAL
Maria G ButtAustraliaIvan Magalhaes RENEWAL
Greenwood O AmigonRussiaOnyama Limba PROPOSAL
Salvatore L SlusarskiGermanyBernardo Dominic NEW
Morrow M MorascaFranceXuxue Feng NEW
Leja E RutaSpainStephen Shaw NEGOTIATION
Mujtaba B MacleadGermanyAmy Elsner NEW
Tony N TollnerFranceIoni Bowcher NEW
Mujtaba W PerinBrazilAsiya Javayant PROPOSAL
Stacey C BowleyUnited KingdomElwin Sharvill RENEWAL
Claire N KuskoRussiaBernardo Dominic QUALIFIED
Tony L DoeSpainBernardo Dominic UNQUALIFIED
Juan F SergiGermanyOnyama Limba QUALIFIED
Leja R PaprockiBrazilAnna Fali QUALIFIED
Mujtaba F FlosiAustraliaElwin Sharvill NEW
Greenwood T FerenczFranceStephen Shaw PROPOSAL
Costa A BriddickBrazilStephen Shaw RENEWAL
Aika P CampainJapanAmy Elsner QUALIFIED
Stacey Y GillianSpainStephen Shaw RENEWAL
Adams I SergiGermanyIvan Magalhaes QUALIFIED
Clifford I RimBrazilOnyama Limba QUALIFIED
David T MacleadItalyAmy Elsner UNQUALIFIED
Greenwood B StensethFranceAmy Elsner NEGOTIATION
Isabel U FollerUnited KingdomBernardo Dominic NEW
Sinclair T MorascaCanadaIvan Magalhaes NEW
Antonio M GillianCanadaXuxue Feng UNQUALIFIED
Costa C DoeGermanyXuxue Feng QUALIFIED
Aika W ShinkoArgentinaBernardo Dominic RENEWAL
Stacey F WhobreyArgentinaXuxue Feng PROPOSAL
Salvatore M SchemmerCanadaAsiya Javayant QUALIFIED
Salvatore W GlickBrazilBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore L PerinCanadaXuxue Feng QUALIFIED
Morrow G KuskoIndiaIvan Magalhaes PROPOSAL
Claire J WhobreyBrazilBernardo Dominic PROPOSAL
Mayumi J RoysterItalyElwin Sharvill UNQUALIFIED
Antonio F CampainUnited KingdomIvan Magalhaes NEW
Francesco E RulapaughCanadaIvan Magalhaes QUALIFIED
Munro M BologniaArgentinaXuxue Feng NEW
Octavia Y KolmetzSpainAsiya Javayant PROPOSAL
Wickens V RimIndiaXuxue Feng RENEWAL
Salvatore M DarakjyFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa C SchemmerAustralia2026-10-23Feltz Printing Service RENEWAL65Asiya Javayant
1001Costa J RulapaughGermany2026-11-04Rousseaux, Michael Esq PROPOSAL62Elwin Sharvill
1002Murillo U GillianAustralia2026-10-14Dorl, James J Esq PROPOSAL2Asiya Javayant
1003Deepesh N AlbaresArgentina2026-11-08Morlong Associates QUALIFIED47Xuxue Feng
1004Emily S KuskoSpain2026-10-28Chemel, James L Cpa QUALIFIED52Asiya Javayant
1005Jeanfrancois D FigeroaGermany2026-11-01Truhlar And Truhlar Attys NEW42Ivan Magalhaes
1006Stacey N DoeIndia2026-10-16Commercial Press RENEWAL31Onyama Limba
1007Darci Q PerinUnited Kingdom2026-10-14Rangoni Of Florence PROPOSAL92Ivan Magalhaes
1008Kaitlin B VenereCanada2026-11-10Chapman, Ross E Esq NEGOTIATION62Elwin Sharvill
1009Adams G SchemmerGermany2026-11-09Benton, John B Jr UNQUALIFIED47Elwin Sharvill
1010Smith A MaletFrance2026-10-29Commercial Press UNQUALIFIED36Anna Fali
1011Aika C TollnerFrance2026-11-09Feltz Printing Service NEGOTIATION15Stephen Shaw
1012Ashley H BowleyBrazil2026-11-03Feiner Bros RENEWAL7Asiya Javayant
1013Johnson G BowleySpain2026-10-16Chemel, James L Cpa PROPOSAL88Asiya Javayant
1014Claire V CaudyFrance2026-11-02Commercial Press PROPOSAL85Bernardo Dominic
1015Ivar B RutaJapan2026-10-18Feiner Bros RENEWAL97Ivan Magalhaes
1016Jefferson T ChuiBrazil2026-10-31Benton, John B Jr PROPOSAL70Ioni Bowcher
1017Jones N FigeroaFrance2026-10-27Dorl, James J Esq NEW45Ivan Magalhaes
1018Murillo U MacleadBrazil2026-10-22Chemel, James L Cpa NEGOTIATION89Ivan Magalhaes
1019Maria I NickaUnited Kingdom2026-10-24Buckley Miller Wright UNQUALIFIED64Stephen Shaw
1020Maisha R InouyeCanada2026-10-22Printing Dimensions NEW8Stephen Shaw
1021Mujtaba I DilliardFrance2026-11-06King, Christopher A Esq NEGOTIATION92Onyama Limba
1022Claire S BriddickCanada2026-10-26Feiner Bros PROPOSAL87Stephen Shaw
1023Tony U PerinSpain2026-10-13Feltz Printing Service PROPOSAL70Bernardo Dominic
1024Emily G OstroskyGermany2026-10-17Truhlar And Truhlar Attys NEGOTIATION68Bernardo Dominic
1025Claire U TollnerSpain2026-10-23Dorl, James J Esq NEGOTIATION43Asiya Javayant
1026Wickens D WieserAustralia2026-10-14King, Christopher A Esq QUALIFIED46Stephen Shaw
1027Aika P RimRussia2026-11-08Dorl, James J Esq QUALIFIED75Stephen Shaw
1028Costa S ShinkoIndia2026-10-22Chanay, Jeffrey A Esq NEW98Asiya Javayant
1029Jeanfrancois K RimFrance2026-10-28Feltz Printing Service QUALIFIED22Elwin Sharvill
1030Rodrigues J RoysterAustralia2026-10-17Commercial Press NEW68Ioni Bowcher
1031Silvio H WhobreyIndia2026-11-06Feiner Bros PROPOSAL78Asiya Javayant
1032Clifford E AmigonArgentina2026-10-14Buckley Miller Wright NEGOTIATION24Anna Fali
1033Morrow M SlusarskiArgentina2026-10-20Morlong Associates QUALIFIED52Elwin Sharvill
1034Isabel M OldroydBrazil2026-11-10Rousseaux, Michael Esq NEGOTIATION2Ioni Bowcher
1035Sinclair P PerinJapan2026-11-05Feltz Printing Service NEW41Asiya Javayant
1036Ivar I FerenczSpain2026-10-16Truhlar And Truhlar Attys NEW5Ioni Bowcher
1037Morrow H StockhamAustralia2026-10-31King, Christopher A Esq UNQUALIFIED72Stephen Shaw
1038Silvio W VenereArgentina2026-10-23Benton, John B Jr QUALIFIED31Asiya Javayant
1039Maria J CampainGermany2026-10-22Morlong Associates NEW87Anna Fali
1040Emily R PoquetteArgentina2026-11-09Feiner Bros RENEWAL66Stephen Shaw
1041Cody X SergiItaly2026-10-21Benton, John B Jr NEW44Bernardo Dominic
1042Mujtaba W AlbaresIndia2026-10-22King, Christopher A Esq NEGOTIATION59Elwin Sharvill
1043Mayumi P FollerRussia2026-10-19Benton, John B Jr QUALIFIED6Xuxue Feng
1044Kaitlin J DoeFrance2026-10-25Rangoni Of Florence UNQUALIFIED85Bernardo Dominic
1045Chavez R GlickItaly2026-10-29Feiner Bros QUALIFIED67Amy Elsner
1046Jeanfrancois Y GlickAustralia2026-10-18Printing Dimensions QUALIFIED2Onyama Limba
1047Stacey F SchemmerSpain2026-10-27Truhlar And Truhlar Attys NEW73Onyama Limba
1048Aditya R KuskoGermany2026-10-22Chapman, Ross E Esq NEW34Bernardo Dominic
1049Kadeem U WhobreyRussia2026-10-23Truhlar And Truhlar Attys UNQUALIFIED90Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Darci S MaletArgentinaBernardo Dominic PROPOSAL
Salvatore G GillianRussiaElwin Sharvill RENEWAL
Greenwood V VocelkaAustraliaIvan Magalhaes PROPOSAL
Tony U AmigonIndiaIoni Bowcher QUALIFIED
Morrow L OstroskyArgentinaAnna Fali UNQUALIFIED
Stacey K GillianItalyStephen Shaw NEW
Leon T GillianCanadaIoni Bowcher QUALIFIED
Ricardo R NestleArgentinaOnyama Limba PROPOSAL
Clifford I GauchoRussiaXuxue Feng NEW
Munro N ShinkoBrazilAnna Fali UNQUALIFIED
Octavia J ButtIndiaAnna Fali UNQUALIFIED
Munro H AlbaresItalyAmy Elsner UNQUALIFIED
Clifford W SaylorsUnited KingdomAnna Fali UNQUALIFIED
Smith R OstroskyJapanIoni Bowcher UNQUALIFIED
Aruna W OldroydItalyOnyama Limba QUALIFIED
Jeanfrancois L CaldareraUnited KingdomIoni Bowcher RENEWAL
Emily G BologniaCanadaElwin Sharvill RENEWAL
Izzy G KuskoIndiaAnna Fali RENEWAL
Misaki D KolmetzRussiaIoni Bowcher QUALIFIED
Maria B RoysterSpainAnna Fali RENEWAL
Aika W OldroydGermanyAmy Elsner PROPOSAL
Greenwood D MarrierUnited KingdomBernardo Dominic NEGOTIATION
Adams X RoysterUnited KingdomAsiya Javayant RENEWAL
Ashley M OstroskyItalyXuxue Feng UNQUALIFIED
Deepesh I FigeroaBrazilAmy Elsner PROPOSAL
Isabel N PaprockiFranceElwin Sharvill UNQUALIFIED
Julie W BologniaRussiaIoni Bowcher NEGOTIATION
Leon F GarufiGermanyElwin Sharvill PROPOSAL
Mujtaba A VenereCanadaAnna Fali QUALIFIED
Jones T GillianJapanOnyama Limba UNQUALIFIED
Misaki Z FlosiSpainAsiya Javayant PROPOSAL
Morrow F SlusarskiUnited KingdomElwin Sharvill RENEWAL
Leon S GauchoArgentinaBernardo Dominic RENEWAL
Smith M KuskoIndiaOnyama Limba NEGOTIATION
Juan I BologniaArgentinaBernardo Dominic PROPOSAL
Tony Y AlbaresGermanyIoni Bowcher RENEWAL
Silvio A CaldareraCanadaBernardo Dominic UNQUALIFIED
Silvio N NickaRussiaIoni Bowcher NEGOTIATION
Kaitlin Y ChuiAustraliaElwin Sharvill PROPOSAL
Darci J NestleUnited KingdomAnna Fali NEGOTIATION
Antonio A MorascaAustraliaBernardo Dominic QUALIFIED
Silvio Y DoeGermanyXuxue Feng NEW
Kaitlin S IturbideCanadaXuxue Feng QUALIFIED
Chavez G SergiUnited KingdomAnna Fali NEGOTIATION
David O AmigonSpainElwin Sharvill UNQUALIFIED
Smith P PerinSpainStephen Shaw QUALIFIED
Leja C RoysterAustraliaOnyama Limba RENEWAL
Jefferson B MaletFranceIvan Magalhaes NEW
Jennifer V GarufiFranceAsiya Javayant UNQUALIFIED
Jennifer X MaletIndiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Wickens Y Ruta
Ivar P Tollner
Aruna B Malet
Misaki E Inouye
Morrow F Rim
Claire K Vocelka
James A Vocelka
Nicolas G Morasca
Leja F Ostrosky
Kadeem L Royster
Deepesh U Malet
Johnson F Figeroa
Deepesh G Morasca
Kadeem E Poquette
Silvio H Gaucho
Silvio U Garufi
James I Paprocki
James C Bolognia
Costa B Foller
Octavia U Flosi
Faith J Rim
Ricardo K Saylors
Emily C Nicka
Izzy E Caudy
Maisha O Shinko
Clifford U Stenseth
Jefferson T Saylors
Maria X Paprocki
Darci N Vocelka
Rodrigues B Dilliard
Ashley Y Caudy
Greenwood A Gaucho
Stacey N Rim
David O Dilliard
Darci R Whobrey
Sinclair Z Marrier
Juan X Poquette
Alejandro G Gaucho
Aruna M Doe
James X Malet
Greenwood N Morasca
Jones G Rim
Arvin B Slusarski
Maisha C Waycott
Jeanfrancois X Malet
Isabel T Stenseth
Misaki A Flosi
Ricardo O Bolognia
Jones M Marrier
Stacey G Foller
IdCountryDate
1000Italy2026-10-18
1001Italy2026-10-21
1002Canada2026-11-01
1003Canada2026-11-05
1004France2026-10-18
1005Canada2026-10-31
1006Australia2026-10-16
1007Japan2026-11-06
1008Russia2026-11-04
1009India2026-11-04
1010Australia2026-11-10
1011Argentina2026-10-25
1012India2026-11-06
1013Canada2026-10-17
1014Argentina2026-11-07
1015Australia2026-11-10
1016Australia2026-10-20
1017Australia2026-10-24
1018Japan2026-10-25
1019Australia2026-10-31
1020Spain2026-10-18
1021Italy2026-10-22
1022France2026-10-17
1023Japan2026-10-23
1024Argentina2026-10-14
1025Japan2026-10-26
1026Canada2026-10-26
1027United Kingdom2026-10-28
1028Germany2026-10-28
1029Japan2026-10-27
1030France2026-10-13
1031Spain2026-11-01
1032Germany2026-10-14
1033India2026-10-30
1034Canada2026-10-26
1035United Kingdom2026-11-03
1036Brazil2026-11-02
1037Japan2026-11-03
1038Brazil2026-10-18
1039India2026-10-26
1040Germany2026-10-26
1041Canada2026-10-21
1042Brazil2026-10-25
1043Russia2026-11-08
1044Germany2026-11-10
1045France2026-11-07
1046Italy2026-10-14
1047Russia2026-10-20
1048United Kingdom2026-10-19
1049France2026-10-18

On-Demand Data

NameIdCountryDate
Izzy R Venere1000Italy2026-10-23
Jones D Chui1001France2026-10-15
Johnson K Darakjy1002India2026-10-15
Deepesh X Oldroyd1003United Kingdom2026-11-08
Nicolas L Kolmetz1004France2026-10-26
Leon X Briddick1005Argentina2026-10-21
Munro Q Slusarski1006United Kingdom2026-11-09
Octavia V Nicka1007India2026-10-15
Murillo V Rim1008France2026-10-13
Ashley W Whobrey1009Brazil2026-10-17
Francesco L Schemmer1010France2026-10-14
Maria Y Iturbide1011United Kingdom2026-10-20
Darci Z Wieser1012Germany2026-10-29
Johnson D Albares1013France2026-10-23
Adams O Tollner1014Japan2026-10-27
Isabel Z Nicka1015Australia2026-10-26
Ivar V Poquette1016Brazil2026-11-06
Sinclair W Whobrey1017India2026-11-05
Sinclair P Caldarera1018Argentina2026-11-10
Clifford P Whobrey1019Germany2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio R IturbideRussiaAsiya Javayant UNQUALIFIED
Greenwood W MorascaJapanIvan Magalhaes QUALIFIED
Smith W IturbideIndiaAmy Elsner UNQUALIFIED
Munro Y NestleUnited KingdomStephen Shaw QUALIFIED
Jennifer O WaycottArgentinaBernardo Dominic QUALIFIED
Munro Q GillianSpainIoni Bowcher UNQUALIFIED
Salvatore J DarakjyGermanyAnna Fali NEW
Leon Y CaudyItalyAmy Elsner NEW
Juan C OldroydUnited KingdomAmy Elsner NEW
Aditya C ChuiAustraliaAnna Fali UNQUALIFIED
Rodrigues R MorascaJapanElwin Sharvill NEGOTIATION
Alejandro S VenereBrazilXuxue Feng NEGOTIATION
Juan Q StockhamRussiaAsiya Javayant NEGOTIATION
Greenwood L RimAustraliaOnyama Limba QUALIFIED
Maria O SchemmerCanadaAnna Fali NEW
Munro V SlusarskiGermanyXuxue Feng NEW
Ivar T CaudyGermanyIoni Bowcher UNQUALIFIED
Jennifer M TollnerRussiaElwin Sharvill UNQUALIFIED
Salvatore E GauchoIndiaAnna Fali RENEWAL
Jefferson I VenereGermanyAmy Elsner UNQUALIFIED
James U PoquetteUnited KingdomAnna Fali NEGOTIATION
Greenwood B MaletRussiaStephen Shaw NEW
Claire U InouyeGermanyIvan Magalhaes NEGOTIATION
Stacey Y DarakjyFranceIoni Bowcher UNQUALIFIED
Juan Y GauchoJapanIvan Magalhaes NEW
Jeanfrancois R StockhamUnited KingdomStephen Shaw QUALIFIED
Mayumi R RutaRussiaStephen Shaw UNQUALIFIED
Leon R FigeroaJapanBernardo Dominic PROPOSAL
Johnson Y PaprockiJapanIoni Bowcher PROPOSAL
Nicolas V BologniaAustraliaXuxue Feng NEW
Jones C MarrierItalyBernardo Dominic QUALIFIED
Aruna R MaletUnited KingdomAnna Fali PROPOSAL
Adams R DarakjyJapanBernardo Dominic PROPOSAL
Murillo W KolmetzIndiaStephen Shaw NEW
Faith U GillianSpainIvan Magalhaes QUALIFIED
Julie Y AmigonItalyXuxue Feng NEW
Octavia B BologniaGermanyBernardo Dominic NEGOTIATION
Deepesh A SaylorsItalyIvan Magalhaes RENEWAL
Maisha M CaldareraJapanOnyama Limba RENEWAL
Wickens Q MorascaRussiaAnna Fali NEGOTIATION

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