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
Mayumi J CaldareraBrazilIvan Magalhaes PROPOSAL
Maria Z AmigonFranceAmy Elsner PROPOSAL
Jefferson N FigeroaFranceAsiya Javayant NEW
Ricardo O NestleIndiaStephen Shaw QUALIFIED
Claire E TollnerJapanElwin Sharvill PROPOSAL
Faith D GarufiJapanAnna Fali NEGOTIATION
Stacey L SaylorsArgentinaBernardo Dominic UNQUALIFIED
Maisha L CaldareraCanadaAnna Fali RENEWAL
Kaitlin N KolmetzGermanyOnyama Limba RENEWAL
Julie Y SchemmerFranceIvan Magalhaes UNQUALIFIED
Rodrigues Q CaldareraFranceElwin Sharvill PROPOSAL
Ricardo V WaycottRussiaIoni Bowcher NEGOTIATION
Aruna S DoeGermanyOnyama Limba QUALIFIED
David X CampainArgentinaAsiya Javayant UNQUALIFIED
Chavez O SlusarskiItalyAnna Fali UNQUALIFIED
Isabel F WieserFranceBernardo Dominic NEGOTIATION
Julie N PoquetteUnited KingdomStephen Shaw PROPOSAL
Alejandro A RimBrazilOnyama Limba NEW
Ricardo Q OldroydArgentinaElwin Sharvill QUALIFIED
Emily U ButtItalyAnna Fali QUALIFIED
Clifford D StensethFranceStephen Shaw NEW
Misaki Q InouyeFranceAmy Elsner UNQUALIFIED
Maisha P SchemmerIndiaStephen Shaw NEW
Julie T SaylorsAustraliaStephen Shaw UNQUALIFIED
Maria R OstroskyUnited KingdomElwin Sharvill NEGOTIATION
James R BologniaBrazilIoni Bowcher NEGOTIATION
Julie D RimUnited KingdomXuxue Feng UNQUALIFIED
James L CaudyJapanXuxue Feng QUALIFIED
Misaki O GarufiSpainAsiya Javayant PROPOSAL
Aditya R FigeroaArgentinaAnna Fali NEGOTIATION
Kaitlin M WaycottAustraliaAmy Elsner QUALIFIED
Adams G SergiSpainAsiya Javayant PROPOSAL
Darci V AlbaresJapanAnna Fali UNQUALIFIED
Emily B PoquetteJapanIvan Magalhaes PROPOSAL
Octavia L PerinAustraliaElwin Sharvill PROPOSAL
Cody K ChuiFranceAmy Elsner UNQUALIFIED
Ivar M RimSpainAsiya Javayant PROPOSAL
David N KolmetzGermanyAnna Fali PROPOSAL
Stacey P OldroydFranceAnna Fali NEGOTIATION
Aruna V BowleyIndiaAsiya Javayant QUALIFIED
Jones X VenereCanadaIvan Magalhaes PROPOSAL
Johnson Y MacleadArgentinaAnna Fali QUALIFIED
Smith L FigeroaSpainAsiya Javayant QUALIFIED
Costa L VenereArgentinaStephen Shaw UNQUALIFIED
Cody E StensethSpainAsiya Javayant NEW
Julie H DoeGermanyOnyama Limba RENEWAL
Wickens D FerenczAustraliaAmy Elsner QUALIFIED
Jones X ShinkoSpainElwin Sharvill UNQUALIFIED
Silvio F BriddickRussiaElwin Sharvill PROPOSAL
Stacey G NickaUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Morrow A RulapaughSpainBernardo Dominic UNQUALIFIED
Ricardo J GlickArgentinaOnyama Limba NEGOTIATION
Jennifer M FerenczRussiaIvan Magalhaes UNQUALIFIED
Tony X KolmetzArgentinaStephen Shaw PROPOSAL
Aruna G FollerIndiaStephen Shaw QUALIFIED
Clifford V FerenczIndiaXuxue Feng NEGOTIATION
Jennifer N PerinFranceIvan Magalhaes NEGOTIATION
Emily E MarrierSpainStephen Shaw NEGOTIATION
Ashley T StockhamCanadaBernardo Dominic NEGOTIATION
Sinclair T BriddickCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues P PaprockiItaly2026-10-15King, Christopher A Esq NEW31Bernardo Dominic
1001Octavia S StockhamFrance2026-09-21Truhlar And Truhlar Attys NEW53Elwin Sharvill
1002Morrow O StockhamCanada2026-09-24Morlong Associates RENEWAL30Xuxue Feng
1003Salvatore A SergiIndia2026-10-06Commercial Press NEGOTIATION56Amy Elsner
1004Ivar V RulapaughItaly2026-09-22Dorl, James J Esq NEW14Xuxue Feng
1005Francesco O FollerFrance2026-10-13Dorl, James J Esq QUALIFIED96Anna Fali
1006Ivar L CaldareraJapan2026-10-01Benton, John B Jr NEW2Anna Fali
1007Francesco B GillianRussia2026-09-28Morlong Associates RENEWAL74Asiya Javayant
1008Claire C MarrierIndia2026-10-17Chapman, Ross E Esq NEGOTIATION90Ivan Magalhaes
1009Alejandro L PaprockiJapan2026-09-25Buckley Miller Wright NEGOTIATION61Amy Elsner
1010Mujtaba L MaletSpain2026-10-18Commercial Press PROPOSAL53Bernardo Dominic
1011Jones J PaprockiBrazil2026-10-04Chapman, Ross E Esq QUALIFIED59Anna Fali
1012Emily J FerenczJapan2026-09-30Printing Dimensions QUALIFIED30Ivan Magalhaes
1013Isabel P GlickJapan2026-10-07Chemel, James L Cpa PROPOSAL71Ivan Magalhaes
1014Salvatore M GarufiCanada2026-09-26Feltz Printing Service PROPOSAL5Ivan Magalhaes
1015Jones T PaprockiCanada2026-10-05Rangoni Of Florence PROPOSAL33Ioni Bowcher
1016Wickens R IturbideIndia2026-10-14Printing Dimensions QUALIFIED13Ioni Bowcher
1017Julie B InouyeBrazil2026-10-15Chapman, Ross E Esq PROPOSAL71Amy Elsner
1018Faith C CaldareraJapan2026-09-22Rousseaux, Michael Esq RENEWAL49Anna Fali
1019Adams T InouyeCanada2026-10-14Truhlar And Truhlar Attys NEGOTIATION34Xuxue Feng
1020Silvio L PerinGermany2026-09-23Commercial Press PROPOSAL9Ivan Magalhaes
1021Murillo H CaudyUnited Kingdom2026-10-17Benton, John B Jr NEW31Stephen Shaw
1022Izzy B StockhamArgentina2026-10-03Printing Dimensions UNQUALIFIED61Anna Fali
1023Sinclair H InouyeUnited Kingdom2026-09-21Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1024Izzy E GarufiAustralia2026-09-23Chemel, James L Cpa UNQUALIFIED74Xuxue Feng
1025Costa O InouyeBrazil2026-10-14Feiner Bros QUALIFIED18Stephen Shaw
1026Emily V NestleCanada2026-10-11Truhlar And Truhlar Attys QUALIFIED25Anna Fali
1027Kadeem W MarrierFrance2026-10-17Benton, John B Jr QUALIFIED2Bernardo Dominic
1028Aruna L SaylorsAustralia2026-10-06Dorl, James J Esq NEW60Ivan Magalhaes
1029Tony T ShinkoCanada2026-10-18Commercial Press UNQUALIFIED9Asiya Javayant
1030Alejandro T IturbideFrance2026-10-13Truhlar And Truhlar Attys PROPOSAL15Onyama Limba
1031Costa V MacleadItaly2026-09-22Rangoni Of Florence RENEWAL50Asiya Javayant
1032Antonio M VenereCanada2026-10-19Printing Dimensions UNQUALIFIED2Stephen Shaw
1033Jeanfrancois L CaudyCanada2026-09-23Truhlar And Truhlar Attys UNQUALIFIED86Elwin Sharvill
1034Darci V MaletGermany2026-10-11King, Christopher A Esq QUALIFIED50Stephen Shaw
1035Arvin R SaylorsBrazil2026-10-11Feltz Printing Service NEW86Bernardo Dominic
1036Arvin J RutaRussia2026-10-19Printing Dimensions RENEWAL63Anna Fali
1037Ricardo H KolmetzFrance2026-09-30Rangoni Of Florence UNQUALIFIED22Stephen Shaw
1038Ashley U CaudyBrazil2026-10-18Printing Dimensions RENEWAL53Stephen Shaw
1039James A AmigonArgentina2026-10-15Feltz Printing Service RENEWAL31Onyama Limba
1040Octavia C FollerBrazil2026-10-03Rousseaux, Michael Esq QUALIFIED68Onyama Limba
1041Alejandro O KolmetzBrazil2026-10-16Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1042Munro J GlickFrance2026-10-05Feltz Printing Service PROPOSAL91Onyama Limba
1043Jefferson L RoysterIndia2026-10-09Truhlar And Truhlar Attys QUALIFIED57Amy Elsner
1044Francesco Y CampainIndia2026-09-25Rousseaux, Michael Esq RENEWAL18Anna Fali
1045Adams U ShinkoRussia2026-10-02Rangoni Of Florence RENEWAL39Bernardo Dominic
1046Leja E IturbideItaly2026-10-19Buckley Miller Wright PROPOSAL44Elwin Sharvill
1047Costa M FerenczJapan2026-09-22Rangoni Of Florence UNQUALIFIED56Anna Fali
1048Aika J RulapaughIndia2026-10-09Buckley Miller Wright RENEWAL65Onyama Limba
1049Francesco A PaprockiCanada2026-10-12Rangoni Of Florence NEW34Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha X AmigonJapanIoni Bowcher PROPOSAL
Clifford Q MaletArgentinaAmy Elsner QUALIFIED
Maisha H AlbaresArgentinaAsiya Javayant NEW
Jennifer B CaldareraGermanyIvan Magalhaes RENEWAL
Salvatore P RulapaughBrazilBernardo Dominic RENEWAL
Misaki N PaprockiCanadaXuxue Feng QUALIFIED
Clifford M CaldareraJapanElwin Sharvill RENEWAL
Ivar P GlickRussiaIvan Magalhaes RENEWAL
Jeanfrancois B BologniaJapanXuxue Feng NEGOTIATION
Maisha U InouyeFranceAmy Elsner UNQUALIFIED
Sinclair N CampainRussiaAmy Elsner NEW
Sinclair A ButtGermanyAnna Fali UNQUALIFIED
Maria C MarrierItalyXuxue Feng QUALIFIED
Tony G FollerAustraliaStephen Shaw UNQUALIFIED
James P TollnerFranceStephen Shaw PROPOSAL
Kaitlin C MaletAustraliaBernardo Dominic NEW
Maria W BowleyGermanyAmy Elsner RENEWAL
Tony D PoquetteGermanyAsiya Javayant PROPOSAL
Kadeem O InouyeAustraliaIvan Magalhaes UNQUALIFIED
David D DarakjyIndiaOnyama Limba PROPOSAL
Arvin E FerenczItalyAmy Elsner PROPOSAL
Ivar R FerenczGermanyAnna Fali NEGOTIATION
Leja N CaldareraFranceAnna Fali QUALIFIED
Jones Z StensethArgentinaBernardo Dominic PROPOSAL
Emily G WieserRussiaIoni Bowcher UNQUALIFIED
Kadeem C PoquetteIndiaAmy Elsner NEGOTIATION
Octavia F DilliardFranceIoni Bowcher PROPOSAL
Alejandro R WhobreyIndiaAmy Elsner PROPOSAL
Nicolas R FollerRussiaElwin Sharvill PROPOSAL
Ivar V FigeroaArgentinaAnna Fali QUALIFIED
Antonio B ChuiRussiaAnna Fali NEGOTIATION
Silvio L VenereAustraliaAmy Elsner RENEWAL
Tony L GlickBrazilXuxue Feng UNQUALIFIED
Juan W RoysterFranceXuxue Feng NEW
Jeanfrancois N FollerBrazilAmy Elsner NEGOTIATION
Costa M MaletBrazilElwin Sharvill RENEWAL
Chavez R FollerItalyElwin Sharvill RENEWAL
Kaitlin H BowleySpainIvan Magalhaes NEGOTIATION
Nicolas A StockhamSpainAmy Elsner RENEWAL
Ivar X FerenczBrazilElwin Sharvill NEGOTIATION
Darci M MaletArgentinaIvan Magalhaes RENEWAL
Murillo W KuskoGermanyAmy Elsner QUALIFIED
Salvatore M MacleadIndiaAnna Fali QUALIFIED
Leja K RutaCanadaIvan Magalhaes QUALIFIED
Octavia X IturbideFranceStephen Shaw PROPOSAL
Ashley O DoeItalyAnna Fali QUALIFIED
Alejandro E FerenczItalyXuxue Feng PROPOSAL
Sinclair Y GillianGermanyStephen Shaw NEGOTIATION
Sinclair G VenereSpainOnyama Limba PROPOSAL
Johnson N BowleySpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Leon O Campain
Adams J Flosi
Ashley N Vocelka
James D Maclead
Claire J Morasca
Greenwood Q Iturbide
Kaitlin P Royster
Antonio S Slusarski
Salvatore B Sergi
Cody I Figeroa
Cody F Kusko
Sinclair V Caudy
Jefferson M Slusarski
Julie H Royster
Alejandro U Shinko
Clifford X Gillian
Johnson C Kusko
Costa O Malet
Wickens Z Iturbide
Kaitlin N Dilliard
Deepesh C Gillian
Alejandro K Nicka
Costa T Chui
Stacey A Venere
Murillo Q Bowley
Rodrigues K Iturbide
Ricardo S Saylors
David B Gillian
Leon I Nestle
Leja M Bowley
Arvin Y Sergi
Darci S Schemmer
Deepesh T Albares
Leon P Nicka
Maisha T Tollner
Juan Z Rim
Ricardo N Albares
Francesco V Nicka
Deepesh V Perin
Kaitlin W Whobrey
Ricardo G Ostrosky
Aika N Glick
Claire R Vocelka
David B Gillian
Tony C Rulapaugh
Salvatore Y Oldroyd
Juan A Vocelka
Cody H Chui
Jennifer P Nestle
Izzy J Stockham
IdCountryDate
1000Japan2026-10-20
1001Germany2026-10-15
1002United Kingdom2026-09-30
1003Spain2026-09-30
1004France2026-10-10
1005Japan2026-10-13
1006Russia2026-10-06
1007Brazil2026-09-24
1008India2026-10-16
1009Argentina2026-10-09
1010India2026-09-24
1011United Kingdom2026-10-10
1012United Kingdom2026-09-27
1013Japan2026-10-14
1014Brazil2026-10-09
1015Australia2026-09-23
1016Japan2026-10-16
1017Spain2026-09-28
1018Japan2026-10-01
1019Canada2026-10-19
1020Brazil2026-10-10
1021Russia2026-10-20
1022Italy2026-09-28
1023Brazil2026-10-03
1024France2026-09-27
1025United Kingdom2026-10-01
1026United Kingdom2026-10-16
1027Italy2026-09-30
1028Japan2026-10-02
1029Japan2026-10-01
1030Australia2026-10-04
1031India2026-10-10
1032Russia2026-10-16
1033Russia2026-09-22
1034India2026-10-09
1035India2026-09-27
1036Spain2026-09-24
1037United Kingdom2026-10-07
1038Australia2026-10-18
1039Argentina2026-09-21
1040United Kingdom2026-10-07
1041United Kingdom2026-10-11
1042Argentina2026-09-29
1043Russia2026-10-09
1044Japan2026-10-18
1045Argentina2026-10-15
1046Argentina2026-10-13
1047India2026-10-14
1048Russia2026-10-05
1049Russia2026-10-02

On-Demand Data

NameIdCountryDate
Maisha B Albares1000Italy2026-10-16
Mujtaba U Marrier1001Australia2026-10-20
Johnson J Figeroa1002Brazil2026-09-26
Maisha J Wieser1003Japan2026-09-24
Murillo N Glick1004Argentina2026-09-26
Isabel I Caldarera1005United Kingdom2026-10-11
Chavez D Wieser1006Italy2026-10-15
Darci L Garufi1007Italy2026-10-08
Alejandro C Maclead1008India2026-10-11
Smith U Slusarski1009Italy2026-10-05
Claire O Shinko1010Germany2026-09-24
Mayumi D Poquette1011France2026-10-18
Salvatore V Vocelka1012Russia2026-09-24
Aika U Marrier1013Italy2026-10-08
Costa X Whobrey1014Spain2026-10-17
Francesco A Stenseth1015Canada2026-10-08
Maisha T Dilliard1016Canada2026-09-26
Isabel Z Maclead1017Brazil2026-10-06
Emily L Malet1018Australia2026-09-24
Darci O Morasca1019Italy2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford Q WieserGermanyElwin Sharvill UNQUALIFIED
Leja B SchemmerRussiaAsiya Javayant PROPOSAL
Arvin R FerenczCanadaAnna Fali RENEWAL
Murillo O SchemmerIndiaIvan Magalhaes PROPOSAL
Jennifer Y DoeIndiaXuxue Feng NEGOTIATION
Claire G GarufiGermanyAmy Elsner RENEWAL
Antonio S MaletGermanyBernardo Dominic NEW
Costa A MarrierArgentinaAnna Fali QUALIFIED
Munro L NestleBrazilAsiya Javayant NEGOTIATION
Jones V RimIndiaBernardo Dominic PROPOSAL
Maria H ShinkoJapanStephen Shaw NEW
Isabel C IturbideItalyOnyama Limba NEW
Smith J ShinkoIndiaElwin Sharvill PROPOSAL
Adams P SlusarskiCanadaAsiya Javayant NEGOTIATION
Isabel L DoeRussiaIvan Magalhaes PROPOSAL
Julie C NestleBrazilIvan Magalhaes NEGOTIATION
Izzy H WieserUnited KingdomAsiya Javayant RENEWAL
Johnson G WieserIndiaAnna Fali NEGOTIATION
James T GlickCanadaBernardo Dominic NEW
Rodrigues T WaycottRussiaOnyama Limba NEW
Chavez I InouyeRussiaIoni Bowcher RENEWAL
Murillo V MorascaFranceAsiya Javayant QUALIFIED
Ivar Z VocelkaGermanyIoni Bowcher PROPOSAL
Leja B VenereUnited KingdomXuxue Feng UNQUALIFIED
Isabel B NestleFranceBernardo Dominic RENEWAL
Clifford N DilliardBrazilAsiya Javayant PROPOSAL
Johnson B DoeSpainOnyama Limba QUALIFIED
Isabel B SaylorsRussiaAmy Elsner QUALIFIED
Maisha N MaletUnited KingdomStephen Shaw UNQUALIFIED
Kadeem T MacleadItalyStephen Shaw UNQUALIFIED
Rodrigues S CampainCanadaIvan Magalhaes NEW
Tony V RutaIndiaAmy Elsner UNQUALIFIED
Alejandro H TollnerIndiaStephen Shaw PROPOSAL
James B WieserRussiaAsiya Javayant RENEWAL
Deepesh M RimJapanOnyama Limba UNQUALIFIED
Costa X SaylorsIndiaXuxue Feng NEGOTIATION
Adams U DarakjyIndiaOnyama Limba QUALIFIED
Johnson V WaycottFranceOnyama Limba NEGOTIATION
Darci U RimGermanyBernardo Dominic UNQUALIFIED
Darci J DarakjyCanadaIvan Magalhaes 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>