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
Faith W BowleyRussiaIoni Bowcher PROPOSAL
Aruna A IturbideRussiaAnna Fali NEGOTIATION
Deepesh C VocelkaAustraliaAsiya Javayant NEGOTIATION
Salvatore Z GlickSpainBernardo Dominic UNQUALIFIED
Mujtaba S PaprockiFranceBernardo Dominic NEGOTIATION
Morrow B KuskoFranceAsiya Javayant NEGOTIATION
Johnson D BologniaAustraliaBernardo Dominic PROPOSAL
Maria I MaletFranceIvan Magalhaes PROPOSAL
Aditya R BologniaAustraliaIvan Magalhaes QUALIFIED
Ivar R RimGermanyXuxue Feng NEGOTIATION
Greenwood D RimUnited KingdomAmy Elsner NEGOTIATION
Faith M OstroskySpainOnyama Limba QUALIFIED
Leon L NestleFranceAmy Elsner NEGOTIATION
Greenwood C FerenczIndiaAnna Fali RENEWAL
Tony F KuskoItalyAmy Elsner PROPOSAL
Costa C FerenczRussiaAmy Elsner QUALIFIED
Chavez A OldroydJapanIoni Bowcher NEGOTIATION
Ivar D ChuiArgentinaBernardo Dominic RENEWAL
Izzy H PoquetteUnited KingdomAsiya Javayant QUALIFIED
Faith B SlusarskiUnited KingdomAnna Fali NEW
Munro E MarrierBrazilBernardo Dominic RENEWAL
Isabel N BowleySpainStephen Shaw NEW
Juan Q StockhamGermanyOnyama Limba NEW
Ashley L SchemmerJapanOnyama Limba QUALIFIED
Wickens I MaletArgentinaXuxue Feng RENEWAL
Aditya S FigeroaItalyStephen Shaw NEW
Salvatore B ShinkoItalyXuxue Feng NEW
Octavia Y NestleArgentinaAnna Fali NEW
Octavia D CaldareraFranceXuxue Feng UNQUALIFIED
Ashley T ButtUnited KingdomElwin Sharvill PROPOSAL
Wickens Y ButtArgentinaIvan Magalhaes QUALIFIED
Smith C MacleadBrazilBernardo Dominic NEGOTIATION
Maria Q GarufiIndiaXuxue Feng RENEWAL
David Y SergiUnited KingdomBernardo Dominic NEW
Salvatore H GarufiItalyXuxue Feng RENEWAL
Mayumi X AlbaresRussiaAnna Fali UNQUALIFIED
Isabel L AmigonBrazilBernardo Dominic QUALIFIED
Leja E OldroydCanadaAnna Fali PROPOSAL
Aika Z StockhamCanadaIoni Bowcher UNQUALIFIED
Wickens R IturbideItalyXuxue Feng RENEWAL
Jeanfrancois Z GarufiAustraliaStephen Shaw QUALIFIED
Mujtaba E DilliardRussiaIoni Bowcher PROPOSAL
Munro E DoeRussiaIvan Magalhaes QUALIFIED
Tony R SchemmerSpainBernardo Dominic NEGOTIATION
Arvin J AlbaresSpainElwin Sharvill UNQUALIFIED
Arvin L TollnerAustraliaAsiya Javayant UNQUALIFIED
Izzy J StensethUnited KingdomStephen Shaw QUALIFIED
Aditya R BologniaArgentinaAnna Fali QUALIFIED
Kaitlin U GillianGermanyIoni Bowcher RENEWAL
Izzy I PaprockiFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith I IturbideFranceAsiya Javayant PROPOSAL
Leja F SchemmerArgentinaAsiya Javayant NEW
Darci P BologniaCanadaXuxue Feng RENEWAL
Chavez G ChuiJapanBernardo Dominic NEW
Stacey B StensethRussiaAmy Elsner UNQUALIFIED
Johnson Y PaprockiIndiaAnna Fali QUALIFIED
Francesco W FerenczFranceElwin Sharvill QUALIFIED
Kaitlin T ChuiGermanyIvan Magalhaes NEW
Misaki L BowleyCanadaAsiya Javayant QUALIFIED
Leon S SaylorsCanadaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David W OstroskyAustralia2026-09-20Benton, John B Jr UNQUALIFIED49Asiya Javayant
1001Mayumi E MacleadArgentina2026-10-10Dorl, James J Esq PROPOSAL4Amy Elsner
1002Claire J BowleyGermany2026-10-15Feltz Printing Service QUALIFIED41Anna Fali
1003Costa L SchemmerSpain2026-09-24Buckley Miller Wright PROPOSAL70Stephen Shaw
1004Alejandro R ButtSpain2026-10-01Chapman, Ross E Esq PROPOSAL69Ioni Bowcher
1005Ricardo N PoquetteCanada2026-09-29Commercial Press NEGOTIATION12Ivan Magalhaes
1006Maria R WaycottRussia2026-10-06Chapman, Ross E Esq NEGOTIATION41Xuxue Feng
1007Leja N TollnerRussia2026-10-02Feiner Bros RENEWAL29Amy Elsner
1008Antonio O SlusarskiBrazil2026-10-01Benton, John B Jr PROPOSAL54Ivan Magalhaes
1009Alejandro Y NickaFrance2026-10-06King, Christopher A Esq NEGOTIATION2Stephen Shaw
1010Greenwood R RimItaly2026-10-12Commercial Press PROPOSAL94Onyama Limba
1011Octavia F TollnerUnited Kingdom2026-10-12Printing Dimensions NEW63Bernardo Dominic
1012Silvio G MaletIndia2026-09-23Feltz Printing Service NEGOTIATION22Ioni Bowcher
1013Francesco M ShinkoCanada2026-10-07Benton, John B Jr QUALIFIED24Stephen Shaw
1014Wickens D TollnerSpain2026-10-02Truhlar And Truhlar Attys PROPOSAL12Xuxue Feng
1015Cody G KolmetzJapan2026-09-28Dorl, James J Esq QUALIFIED98Bernardo Dominic
1016Ricardo I NestleSpain2026-10-13Feiner Bros NEGOTIATION54Asiya Javayant
1017Julie U DarakjyArgentina2026-10-05King, Christopher A Esq UNQUALIFIED30Amy Elsner
1018Sinclair I MacleadUnited Kingdom2026-10-04Chapman, Ross E Esq QUALIFIED78Xuxue Feng
1019Juan K MarrierBrazil2026-10-04Buckley Miller Wright PROPOSAL2Ivan Magalhaes
1020James H NickaIndia2026-09-25Truhlar And Truhlar Attys RENEWAL28Elwin Sharvill
1021Arvin G CaudyIndia2026-09-21Feltz Printing Service NEW81Amy Elsner
1022Smith H VocelkaFrance2026-10-05Feiner Bros PROPOSAL41Bernardo Dominic
1023Adams C WaycottJapan2026-10-02Printing Dimensions RENEWAL15Onyama Limba
1024Stacey E CampainGermany2026-10-04Rangoni Of Florence UNQUALIFIED44Bernardo Dominic
1025Maisha C NickaIndia2026-10-12Chemel, James L Cpa NEGOTIATION31Onyama Limba
1026Jeanfrancois U MaletGermany2026-10-02Morlong Associates QUALIFIED91Asiya Javayant
1027Maisha Y StensethSpain2026-09-29Chapman, Ross E Esq UNQUALIFIED95Bernardo Dominic
1028Isabel W MarrierJapan2026-09-20Chanay, Jeffrey A Esq NEGOTIATION72Anna Fali
1029Salvatore L DoeSpain2026-09-25Feltz Printing Service UNQUALIFIED16Ivan Magalhaes
1030Claire R MarrierBrazil2026-10-12King, Christopher A Esq UNQUALIFIED10Ivan Magalhaes
1031Emily K RulapaughJapan2026-09-25Chemel, James L Cpa PROPOSAL51Elwin Sharvill
1032Sinclair Z ButtItaly2026-09-25Morlong Associates QUALIFIED52Elwin Sharvill
1033Johnson U CaudyFrance2026-09-22Chemel, James L Cpa RENEWAL62Ivan Magalhaes
1034Misaki W GlickCanada2026-10-08Chemel, James L Cpa PROPOSAL22Amy Elsner
1035Faith P OldroydJapan2026-10-03Chapman, Ross E Esq PROPOSAL69Asiya Javayant
1036David E SaylorsAustralia2026-10-05Feltz Printing Service NEW34Ivan Magalhaes
1037Julie P MacleadGermany2026-10-13Benton, John B Jr UNQUALIFIED81Stephen Shaw
1038Adams L SergiBrazil2026-10-04Chapman, Ross E Esq UNQUALIFIED40Amy Elsner
1039Ivar V WieserBrazil2026-09-18Benton, John B Jr NEGOTIATION79Stephen Shaw
1040Mujtaba M WieserIndia2026-10-02Chapman, Ross E Esq QUALIFIED61Amy Elsner
1041Murillo D GillianJapan2026-09-20Feltz Printing Service QUALIFIED86Bernardo Dominic
1042Chavez W BologniaArgentina2026-09-26King, Christopher A Esq NEGOTIATION96Anna Fali
1043Sinclair B FlosiItaly2026-10-11Chemel, James L Cpa NEW88Ivan Magalhaes
1044Nicolas W BologniaCanada2026-10-10Feltz Printing Service QUALIFIED20Amy Elsner
1045Jeanfrancois T AlbaresArgentina2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED43Anna Fali
1046Faith B CaldareraAustralia2026-10-07Feiner Bros RENEWAL65Asiya Javayant
1047Aditya Y BologniaBrazil2026-09-16Feiner Bros NEW70Stephen Shaw
1048Arvin T StensethJapan2026-10-11Rousseaux, Michael Esq PROPOSAL28Elwin Sharvill
1049Jefferson F MaletSpain2026-10-03Printing Dimensions PROPOSAL14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Z TollnerBrazilXuxue Feng NEW
Darci X MaletBrazilIvan Magalhaes RENEWAL
Salvatore P KolmetzIndiaAsiya Javayant PROPOSAL
Adams G DilliardAustraliaXuxue Feng NEGOTIATION
Julie E WhobreyGermanyAnna Fali NEGOTIATION
Mujtaba H WhobreyBrazilElwin Sharvill NEW
Antonio W AlbaresIndiaIoni Bowcher QUALIFIED
Leja W DarakjyRussiaIvan Magalhaes UNQUALIFIED
Smith R MorascaArgentinaIoni Bowcher UNQUALIFIED
Jones R AlbaresAustraliaIoni Bowcher QUALIFIED
Deepesh P InouyeAustraliaIvan Magalhaes NEW
Jennifer O GauchoBrazilElwin Sharvill NEW
Greenwood U OstroskyCanadaBernardo Dominic NEGOTIATION
Jeanfrancois G IturbideRussiaAnna Fali UNQUALIFIED
Morrow C PerinUnited KingdomElwin Sharvill QUALIFIED
Kadeem F BowleyGermanyIoni Bowcher RENEWAL
Juan W StensethIndiaStephen Shaw UNQUALIFIED
Jennifer V BologniaSpainIvan Magalhaes RENEWAL
Aika W WaycottAustraliaAnna Fali PROPOSAL
Nicolas V MaletFranceAsiya Javayant PROPOSAL
Aika G AlbaresRussiaElwin Sharvill RENEWAL
Jefferson J StensethAustraliaIoni Bowcher PROPOSAL
Deepesh P FerenczJapanAnna Fali PROPOSAL
David U OstroskyAustraliaAmy Elsner NEGOTIATION
Leon P RimAustraliaXuxue Feng QUALIFIED
Salvatore R WhobreyUnited KingdomXuxue Feng PROPOSAL
Ricardo T FerenczJapanXuxue Feng NEW
Aditya N PaprockiAustraliaIvan Magalhaes PROPOSAL
Chavez Y AmigonAustraliaElwin Sharvill PROPOSAL
Salvatore Y RimRussiaAnna Fali QUALIFIED
Nicolas U RimFranceStephen Shaw QUALIFIED
Stacey S MacleadAustraliaBernardo Dominic NEGOTIATION
Maisha T DilliardJapanIoni Bowcher RENEWAL
Jennifer N SlusarskiSpainIvan Magalhaes PROPOSAL
Smith C TollnerItalyElwin Sharvill RENEWAL
Misaki Z GarufiItalyAsiya Javayant RENEWAL
Silvio G DoeBrazilBernardo Dominic NEW
Claire X FerenczItalyXuxue Feng PROPOSAL
Morrow W DoeBrazilAsiya Javayant QUALIFIED
Julie V MacleadGermanyXuxue Feng PROPOSAL
Salvatore K GlickSpainAsiya Javayant RENEWAL
Salvatore V RulapaughSpainBernardo Dominic UNQUALIFIED
Adams V BriddickArgentinaAmy Elsner NEW
Antonio Z AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Ivar L IturbideIndiaAnna Fali NEGOTIATION
Salvatore O CaudyCanadaElwin Sharvill NEW
Murillo D StockhamFranceAmy Elsner NEGOTIATION
Izzy G GillianCanadaElwin Sharvill NEW
Octavia W OldroydItalyStephen Shaw NEW
Faith C BriddickSpainStephen Shaw QUALIFIED
Frozen Columns
Name
Jones X Figeroa
Juan D Dilliard
Mujtaba Q Royster
Mujtaba B Tollner
Sinclair E Maclead
Tony B Malet
Isabel A Ferencz
Maria W Sergi
Morrow R Saylors
Isabel H Royster
Aika M Slusarski
Izzy I Stenseth
Faith G Gillian
Ivar G Caudy
Jefferson O Whobrey
Costa B Vocelka
Maria H Iturbide
Arvin A Bowley
Misaki H Malet
Wickens O Venere
Maisha M Darakjy
Clifford W Garufi
Leja R Kolmetz
Nicolas N Inouye
Aruna I Morasca
Sinclair M Foller
Misaki Z Perin
Leon U Malet
Alejandro D Gaucho
Aruna L Nestle
Izzy V Tollner
Costa K Gaucho
Aditya V Tollner
Mayumi V Venere
Francesco U Schemmer
Arvin U Malet
Clifford N Waycott
Aika D Saylors
Claire N Sergi
Ivar E Albares
Izzy G Slusarski
Claire C Foller
Faith E Caudy
Greenwood X Poquette
Faith I Tollner
Clifford K Briddick
Maria R Kusko
Ashley X Waycott
Smith C Albares
Aruna I Rim
IdCountryDate
1000France2026-10-10
1001Canada2026-10-14
1002Canada2026-09-27
1003Canada2026-10-12
1004Japan2026-09-16
1005Italy2026-10-12
1006Australia2026-09-17
1007Canada2026-09-20
1008Germany2026-10-14
1009India2026-10-09
1010Japan2026-09-17
1011Canada2026-10-01
1012France2026-10-12
1013Germany2026-10-05
1014Brazil2026-09-20
1015Brazil2026-10-05
1016Germany2026-10-02
1017Spain2026-09-25
1018Italy2026-09-22
1019Russia2026-10-13
1020India2026-09-19
1021Argentina2026-09-16
1022Germany2026-09-18
1023United Kingdom2026-10-11
1024India2026-10-13
1025Brazil2026-10-01
1026Germany2026-10-07
1027Canada2026-09-18
1028Argentina2026-09-25
1029India2026-09-16
1030Japan2026-10-08
1031Spain2026-10-01
1032Australia2026-10-12
1033Japan2026-09-20
1034India2026-09-29
1035India2026-10-10
1036Japan2026-09-18
1037Italy2026-10-12
1038Italy2026-10-10
1039Italy2026-09-24
1040Brazil2026-10-02
1041Canada2026-09-28
1042India2026-10-06
1043Canada2026-09-24
1044Japan2026-10-02
1045Russia2026-10-08
1046United Kingdom2026-10-06
1047Australia2026-09-21
1048Canada2026-09-25
1049Japan2026-10-12

On-Demand Data

NameIdCountryDate
Murillo A Shinko1000Germany2026-10-08
Maria P Gillian1001India2026-10-07
Antonio D Nestle1002Germany2026-10-08
Silvio W Rulapaugh1003United Kingdom2026-10-02
Silvio A Briddick1004Japan2026-10-09
Rodrigues C Ruta1005United Kingdom2026-09-21
Mayumi K Poquette1006Japan2026-09-26
Octavia D Schemmer1007Germany2026-10-15
Greenwood F Morasca1008United Kingdom2026-10-07
Ricardo X Butt1009Argentina2026-09-24
Aruna N Venere1010Brazil2026-10-09
Maria Q Kolmetz1011Brazil2026-09-29
Maria Z Iturbide1012France2026-09-19
Greenwood E Vocelka1013Brazil2026-09-23
Claire D Rim1014India2026-10-02
Emily Y Foller1015Spain2026-10-11
Antonio S Dilliard1016Australia2026-09-29
Faith S Tollner1017Russia2026-09-24
Leja Y Briddick1018United Kingdom2026-10-03
Jones X Malet1019United Kingdom2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith G FollerUnited KingdomAnna Fali UNQUALIFIED
Costa U FlosiJapanIoni Bowcher RENEWAL
Antonio J VenereBrazilIoni Bowcher NEGOTIATION
Munro X ButtRussiaElwin Sharvill NEW
Antonio M ChuiJapanAmy Elsner PROPOSAL
Isabel F OstroskyItalyAnna Fali NEW
Leja D BologniaFranceElwin Sharvill NEW
Greenwood G RimItalyAmy Elsner NEGOTIATION
Jennifer V BriddickCanadaAnna Fali UNQUALIFIED
Emily R RoysterUnited KingdomIoni Bowcher NEW
Emily P AmigonJapanAnna Fali NEW
Jeanfrancois H NestleSpainBernardo Dominic PROPOSAL
Sinclair W MorascaUnited KingdomOnyama Limba UNQUALIFIED
Murillo T MorascaArgentinaBernardo Dominic NEW
Izzy A WaycottIndiaXuxue Feng PROPOSAL
Costa Y SaylorsSpainIoni Bowcher RENEWAL
Claire P FigeroaJapanXuxue Feng QUALIFIED
Salvatore Z CaldareraFranceBernardo Dominic RENEWAL
Aditya T GillianUnited KingdomAsiya Javayant UNQUALIFIED
Johnson L GlickAustraliaAsiya Javayant NEGOTIATION
Murillo T MaletBrazilStephen Shaw NEGOTIATION
Costa T RulapaughRussiaBernardo Dominic RENEWAL
Misaki M DilliardSpainIvan Magalhaes RENEWAL
Greenwood Z KolmetzGermanyElwin Sharvill NEW
Nicolas M RutaGermanyStephen Shaw QUALIFIED
Clifford T RulapaughSpainIvan Magalhaes QUALIFIED
Mujtaba V MarrierFranceAnna Fali UNQUALIFIED
Izzy W SaylorsItalyAnna Fali PROPOSAL
Adams Q BowleyItalyIvan Magalhaes QUALIFIED
Aruna B SergiBrazilXuxue Feng UNQUALIFIED
Johnson C WhobreyIndiaAnna Fali PROPOSAL
Izzy A RulapaughCanadaAsiya Javayant PROPOSAL
Adams W BowleyUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois N BologniaJapanBernardo Dominic NEW
Morrow Q FigeroaGermanyStephen Shaw NEW
James O AlbaresArgentinaIvan Magalhaes NEW
Tony R DilliardAustraliaAmy Elsner RENEWAL
Rodrigues B FigeroaSpainAnna Fali UNQUALIFIED
Maisha U OldroydItalyIvan Magalhaes PROPOSAL
Leja C BowleyIndiaXuxue Feng RENEWAL

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