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
Izzy S GarufiGermanyAnna Fali NEGOTIATION
Deepesh K BriddickItalyIoni Bowcher NEW
Jeanfrancois L FerenczSpainStephen Shaw RENEWAL
David T AmigonAustraliaStephen Shaw QUALIFIED
Claire R DarakjyUnited KingdomIoni Bowcher RENEWAL
Munro H MorascaCanadaXuxue Feng UNQUALIFIED
Wickens E FlosiBrazilAsiya Javayant NEGOTIATION
Greenwood G WieserGermanyStephen Shaw NEGOTIATION
Juan S OstroskyJapanIvan Magalhaes RENEWAL
Stacey C RimRussiaAnna Fali PROPOSAL
Johnson O WieserBrazilXuxue Feng RENEWAL
Izzy I RimSpainElwin Sharvill NEGOTIATION
Octavia R CaldareraSpainXuxue Feng NEW
Kaitlin U CaldareraItalyIvan Magalhaes NEW
Darci I RimUnited KingdomXuxue Feng PROPOSAL
Misaki W MarrierIndiaIvan Magalhaes NEGOTIATION
Juan O CaldareraIndiaIvan Magalhaes UNQUALIFIED
Greenwood X SaylorsGermanyBernardo Dominic NEGOTIATION
Izzy T StockhamIndiaBernardo Dominic QUALIFIED
Jefferson X AlbaresAustraliaAmy Elsner QUALIFIED
Kaitlin V GillianBrazilOnyama Limba NEW
Deepesh Z GillianSpainIoni Bowcher QUALIFIED
Jeanfrancois V NestleGermanyAmy Elsner NEGOTIATION
Tony X CaudySpainAsiya Javayant NEGOTIATION
Greenwood S KuskoBrazilIvan Magalhaes NEW
Tony P IturbideArgentinaIoni Bowcher NEGOTIATION
Maria P OldroydAustraliaBernardo Dominic PROPOSAL
Francesco K AlbaresArgentinaStephen Shaw UNQUALIFIED
Adams J MaletItalyBernardo Dominic PROPOSAL
Claire I RutaJapanBernardo Dominic NEW
Aditya S RutaCanadaAmy Elsner QUALIFIED
Mujtaba V MarrierSpainOnyama Limba NEW
Leon C KolmetzAustraliaIvan Magalhaes RENEWAL
Emily R DarakjyRussiaAsiya Javayant QUALIFIED
Julie O FigeroaSpainOnyama Limba PROPOSAL
Silvio O TollnerCanadaBernardo Dominic RENEWAL
Maisha K RulapaughUnited KingdomAsiya Javayant QUALIFIED
Maria T StensethArgentinaAsiya Javayant RENEWAL
Ashley L AlbaresJapanAnna Fali NEGOTIATION
Mujtaba V OstroskyRussiaIvan Magalhaes NEW
Alejandro J FlosiBrazilElwin Sharvill NEGOTIATION
Faith Y NestleBrazilStephen Shaw RENEWAL
Munro R AmigonArgentinaIoni Bowcher QUALIFIED
Darci V WaycottJapanElwin Sharvill RENEWAL
Kadeem F WieserSpainElwin Sharvill QUALIFIED
Chavez E GillianFranceIoni Bowcher QUALIFIED
Wickens Z RoysterRussiaBernardo Dominic UNQUALIFIED
David L SlusarskiJapanAmy Elsner QUALIFIED
Jennifer J StensethSpainXuxue Feng PROPOSAL
Wickens U BowleyItalyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Emily N AmigonIndiaIvan Magalhaes NEW
James M BriddickFranceAsiya Javayant QUALIFIED
Cody I FigeroaBrazilXuxue Feng QUALIFIED
Wickens M WieserFranceIvan Magalhaes QUALIFIED
Juan V DarakjyCanadaIoni Bowcher QUALIFIED
Deepesh I ChuiCanadaOnyama Limba NEW
Octavia L ShinkoItalyXuxue Feng QUALIFIED
Leon K FollerItalyStephen Shaw UNQUALIFIED
Maisha R GillianRussiaIoni Bowcher RENEWAL
Nicolas Q RulapaughArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood S CaudyIndia2026-09-29King, Christopher A Esq RENEWAL37Ioni Bowcher
1001Mayumi D MaletCanada2026-09-30Feltz Printing Service NEW82Ioni Bowcher
1002Sinclair G RulapaughItaly2026-10-16Truhlar And Truhlar Attys QUALIFIED89Amy Elsner
1003Jennifer A VenereItaly2026-09-28Rangoni Of Florence RENEWAL63Ioni Bowcher
1004Deepesh P NestleRussia2026-10-02Commercial Press UNQUALIFIED47Amy Elsner
1005Leja O PoquetteCanada2026-09-30Chemel, James L Cpa NEW47Stephen Shaw
1006Jeanfrancois C TollnerFrance2026-09-25King, Christopher A Esq NEW33Anna Fali
1007Alejandro P CaldareraRussia2026-10-10Rangoni Of Florence QUALIFIED39Xuxue Feng
1008Rodrigues A VocelkaFrance2026-09-21Rangoni Of Florence NEGOTIATION17Ivan Magalhaes
1009Ivar M GarufiItaly2026-10-12Rangoni Of Florence NEGOTIATION69Ivan Magalhaes
1010Octavia G OstroskyIndia2026-10-18Morlong Associates QUALIFIED76Ioni Bowcher
1011Smith F MacleadItaly2026-10-15Rangoni Of Florence QUALIFIED10Bernardo Dominic
1012Clifford P FollerUnited Kingdom2026-10-04Feltz Printing Service RENEWAL80Ioni Bowcher
1013Costa V RoysterBrazil2026-10-04Chemel, James L Cpa UNQUALIFIED73Ivan Magalhaes
1014Cody V RimAustralia2026-09-27Feiner Bros UNQUALIFIED42Amy Elsner
1015Ricardo U RimAustralia2026-09-28Benton, John B Jr PROPOSAL87Amy Elsner
1016Jefferson D VenereJapan2026-09-22Rangoni Of Florence RENEWAL15Amy Elsner
1017Faith Z FlosiIndia2026-10-15Chanay, Jeffrey A Esq QUALIFIED93Onyama Limba
1018Tony K BologniaBrazil2026-10-02King, Christopher A Esq UNQUALIFIED96Onyama Limba
1019Ashley K StockhamBrazil2026-10-18Feiner Bros NEW65Asiya Javayant
1020Murillo E RulapaughArgentina2026-09-22Commercial Press NEGOTIATION82Elwin Sharvill
1021Mayumi V MaletSpain2026-09-22Commercial Press NEGOTIATION99Ivan Magalhaes
1022Francesco F PerinBrazil2026-10-15King, Christopher A Esq NEGOTIATION50Ioni Bowcher
1023Leja N ShinkoAustralia2026-10-05Chapman, Ross E Esq UNQUALIFIED20Anna Fali
1024David P WaycottJapan2026-09-28Chanay, Jeffrey A Esq NEGOTIATION59Ivan Magalhaes
1025Aditya L DilliardJapan2026-10-05Feiner Bros QUALIFIED67Bernardo Dominic
1026Emily P FigeroaUnited Kingdom2026-10-06Truhlar And Truhlar Attys PROPOSAL89Xuxue Feng
1027Mayumi B AlbaresJapan2026-10-18Truhlar And Truhlar Attys RENEWAL28Asiya Javayant
1028Arvin T ChuiBrazil2026-10-11Feltz Printing Service NEGOTIATION21Ivan Magalhaes
1029Maisha Y GauchoFrance2026-10-06Dorl, James J Esq NEGOTIATION17Amy Elsner
1030Leon Q ButtUnited Kingdom2026-10-07Chapman, Ross E Esq PROPOSAL78Bernardo Dominic
1031Jeanfrancois B FollerGermany2026-09-27Benton, John B Jr UNQUALIFIED0Onyama Limba
1032Stacey D KuskoGermany2026-09-24Commercial Press QUALIFIED54Amy Elsner
1033Misaki F SchemmerArgentina2026-09-23Benton, John B Jr RENEWAL3Amy Elsner
1034Alejandro F PaprockiAustralia2026-09-28Buckley Miller Wright NEGOTIATION34Amy Elsner
1035Murillo A FollerIndia2026-10-18Dorl, James J Esq RENEWAL38Elwin Sharvill
1036Faith K MaletRussia2026-10-17Truhlar And Truhlar Attys QUALIFIED75Amy Elsner
1037Leja A PoquetteRussia2026-10-13Chemel, James L Cpa RENEWAL86Onyama Limba
1038Octavia B WhobreyUnited Kingdom2026-10-10Commercial Press QUALIFIED59Bernardo Dominic
1039Costa C MacleadGermany2026-10-07Chemel, James L Cpa NEW80Anna Fali
1040Francesco F ButtRussia2026-10-09Benton, John B Jr NEW39Elwin Sharvill
1041Munro U BriddickCanada2026-10-09Chapman, Ross E Esq RENEWAL69Elwin Sharvill
1042Tony H NickaArgentina2026-10-17Chanay, Jeffrey A Esq NEGOTIATION94Onyama Limba
1043Maria U StensethCanada2026-10-17Rangoni Of Florence QUALIFIED53Stephen Shaw
1044Chavez F SaylorsSpain2026-10-18Feltz Printing Service QUALIFIED97Stephen Shaw
1045Morrow Q TollnerArgentina2026-10-12Chapman, Ross E Esq QUALIFIED22Elwin Sharvill
1046Munro C ShinkoCanada2026-10-20Morlong Associates RENEWAL20Stephen Shaw
1047Chavez Z SergiJapan2026-10-14Printing Dimensions RENEWAL11Stephen Shaw
1048Kaitlin A MaletArgentina2026-09-27Dorl, James J Esq PROPOSAL74Amy Elsner
1049Salvatore D RulapaughGermany2026-09-27Benton, John B Jr NEGOTIATION70Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leon G CaldareraFranceAsiya Javayant NEW
Isabel P OstroskyItalyIoni Bowcher NEGOTIATION
Isabel J ChuiSpainAsiya Javayant NEW
Rodrigues H DoeIndiaAsiya Javayant NEGOTIATION
Kaitlin H WhobreyCanadaIoni Bowcher PROPOSAL
Maria C MaletItalyAnna Fali QUALIFIED
David X MorascaSpainBernardo Dominic QUALIFIED
Smith L GillianGermanyAmy Elsner RENEWAL
Maria H WhobreySpainElwin Sharvill RENEWAL
Leon W MorascaBrazilAnna Fali RENEWAL
Morrow A ChuiJapanAsiya Javayant NEW
Morrow J GarufiArgentinaAnna Fali NEGOTIATION
Morrow L GarufiArgentinaOnyama Limba QUALIFIED
Leja T CaudyIndiaIoni Bowcher UNQUALIFIED
Ricardo J BriddickItalyOnyama Limba PROPOSAL
Ricardo X CaldareraArgentinaIvan Magalhaes NEW
Juan K MaletUnited KingdomAmy Elsner NEGOTIATION
Jennifer A BologniaUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin W DarakjyBrazilXuxue Feng UNQUALIFIED
Jeanfrancois F GarufiGermanyAmy Elsner QUALIFIED
Adams M ChuiIndiaXuxue Feng NEW
Adams U AlbaresCanadaStephen Shaw NEW
Mayumi C KuskoItalyAsiya Javayant RENEWAL
Izzy Z RoysterAustraliaAnna Fali RENEWAL
Faith H InouyeCanadaBernardo Dominic NEGOTIATION
Claire L RimFranceAnna Fali QUALIFIED
Jennifer X SchemmerUnited KingdomIvan Magalhaes RENEWAL
Emily V SchemmerCanadaIvan Magalhaes RENEWAL
Salvatore C OldroydRussiaIoni Bowcher NEGOTIATION
Rodrigues W CaudyCanadaAnna Fali RENEWAL
Greenwood P StensethCanadaXuxue Feng UNQUALIFIED
Mujtaba T PerinArgentinaAmy Elsner NEGOTIATION
Arvin X WaycottArgentinaOnyama Limba PROPOSAL
Adams X FollerRussiaStephen Shaw NEW
Cody I OldroydRussiaIoni Bowcher NEGOTIATION
Darci D CampainIndiaXuxue Feng PROPOSAL
Leja R GillianUnited KingdomOnyama Limba QUALIFIED
Clifford J DarakjyIndiaOnyama Limba PROPOSAL
Clifford M ButtGermanyXuxue Feng NEW
Francesco Y FigeroaRussiaAmy Elsner NEW
Jennifer P RimFranceAnna Fali UNQUALIFIED
Sinclair I SaylorsCanadaIvan Magalhaes RENEWAL
Morrow B FerenczCanadaAmy Elsner NEGOTIATION
Maria E ChuiGermanyIoni Bowcher PROPOSAL
Francesco R RimArgentinaElwin Sharvill NEW
Antonio Y SergiRussiaAnna Fali PROPOSAL
Aruna W FlosiCanadaOnyama Limba UNQUALIFIED
Wickens B BologniaAustraliaIvan Magalhaes NEW
Chavez A NestleAustraliaStephen Shaw UNQUALIFIED
Aika J RutaBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Julie D Shinko
Jennifer C Gillian
Maria M Royster
Misaki L Slusarski
Munro Z Nicka
Ivar V Royster
Arvin W Chui
Maria R Malet
Munro U Flosi
James I Morasca
Emily L Poquette
Deepesh X Slusarski
Stacey Z Venere
Faith X Briddick
Faith S Paprocki
Nicolas O Flosi
Leja Y Perin
Silvio V Figeroa
Nicolas J Inouye
Tony I Poquette
Aditya I Briddick
Kaitlin C Iturbide
Costa Z Butt
Misaki O Inouye
Isabel U Waycott
Aruna S Glick
Maisha V Paprocki
Izzy W Ruta
Deepesh F Briddick
Mayumi F Chui
Clifford J Foller
Morrow T Morasca
Aika B Caudy
Julie B Shinko
Salvatore T Sergi
Octavia A Royster
Mayumi I Amigon
Aika H Waycott
Ricardo I Waycott
Silvio R Briddick
Aruna T Morasca
Nicolas K Stenseth
Greenwood H Whobrey
Leja M Briddick
Jennifer V Venere
Mayumi W Doe
Nicolas C Nestle
Tony Q Wieser
Ricardo L Darakjy
Emily T Caldarera
IdCountryDate
1000Brazil2026-10-19
1001United Kingdom2026-10-03
1002Russia2026-10-18
1003Russia2026-10-06
1004India2026-10-12
1005Japan2026-10-06
1006France2026-10-07
1007Argentina2026-09-27
1008Spain2026-10-19
1009Brazil2026-10-14
1010Argentina2026-10-04
1011Australia2026-10-10
1012Germany2026-10-20
1013Spain2026-10-18
1014Brazil2026-10-05
1015Germany2026-10-07
1016Japan2026-09-25
1017Argentina2026-09-24
1018Canada2026-10-18
1019France2026-10-16
1020Argentina2026-10-09
1021Russia2026-09-28
1022Germany2026-09-28
1023France2026-10-12
1024Canada2026-09-30
1025Japan2026-10-01
1026Brazil2026-10-14
1027India2026-10-08
1028Spain2026-10-02
1029India2026-09-29
1030United Kingdom2026-10-18
1031Brazil2026-10-13
1032Japan2026-09-21
1033France2026-10-13
1034Australia2026-09-22
1035France2026-10-04
1036Canada2026-09-24
1037Canada2026-10-02
1038Spain2026-10-16
1039Japan2026-10-13
1040India2026-10-01
1041India2026-10-19
1042Brazil2026-09-25
1043France2026-10-20
1044Spain2026-10-12
1045Spain2026-10-17
1046Germany2026-10-16
1047Canada2026-09-30
1048Italy2026-10-11
1049Japan2026-09-25

On-Demand Data

NameIdCountryDate
David D Ostrosky1000United Kingdom2026-10-20
Julie S Schemmer1001Russia2026-10-11
Mayumi W Marrier1002Italy2026-10-13
Johnson N Glick1003Brazil2026-10-07
Mayumi M Slusarski1004Spain2026-10-17
Aditya B Doe1005Russia2026-10-07
Francesco C Schemmer1006Russia2026-10-14
Emily N Bolognia1007Brazil2026-09-25
Claire X Waycott1008Brazil2026-10-10
Sinclair U Venere1009Italy2026-09-21
Cody G Flosi1010Australia2026-10-06
Johnson D Wieser1011France2026-10-13
Aika W Doe1012Spain2026-09-22
Claire L Wieser1013Germany2026-10-04
Silvio Z Dilliard1014France2026-10-14
Maisha D Caudy1015Russia2026-10-09
Isabel P Albares1016Argentina2026-10-17
Leja C Flosi1017Japan2026-10-04
Salvatore K Darakjy1018Brazil2026-10-16
Alejandro B Darakjy1019Brazil2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z RimIndiaAmy Elsner NEW
Maisha H WhobreyGermanyIvan Magalhaes NEW
Morrow N OstroskyGermanyAnna Fali PROPOSAL
Deepesh E MaletIndiaAsiya Javayant PROPOSAL
Arvin M FigeroaGermanyIvan Magalhaes UNQUALIFIED
Ricardo U NickaItalyElwin Sharvill UNQUALIFIED
Stacey J ButtJapanIvan Magalhaes UNQUALIFIED
Munro S SaylorsSpainBernardo Dominic RENEWAL
Octavia Q PoquetteAustraliaAsiya Javayant UNQUALIFIED
Isabel A FerenczArgentinaBernardo Dominic PROPOSAL
Aditya L DoeArgentinaOnyama Limba RENEWAL
James V RimRussiaAmy Elsner PROPOSAL
Aruna I FerenczGermanyAsiya Javayant QUALIFIED
Ashley W BowleyItalyBernardo Dominic NEGOTIATION
Octavia E OstroskyBrazilElwin Sharvill RENEWAL
Isabel A OldroydIndiaIvan Magalhaes NEW
Johnson F WaycottItalyXuxue Feng NEW
Leja F BriddickBrazilIvan Magalhaes UNQUALIFIED
Johnson P StensethItalyAmy Elsner UNQUALIFIED
Cody E SlusarskiSpainStephen Shaw UNQUALIFIED
Antonio L BologniaUnited KingdomAsiya Javayant QUALIFIED
Sinclair Z MorascaFranceBernardo Dominic PROPOSAL
Rodrigues H GlickIndiaXuxue Feng QUALIFIED
Kaitlin N GarufiGermanyElwin Sharvill QUALIFIED
Greenwood S MarrierJapanAmy Elsner NEGOTIATION
Tony N DoeArgentinaIoni Bowcher PROPOSAL
Darci K CaldareraIndiaBernardo Dominic PROPOSAL
Clifford J VenereArgentinaIvan Magalhaes RENEWAL
Adams H CaldareraArgentinaIoni Bowcher QUALIFIED
Silvio Y TollnerSpainOnyama Limba NEGOTIATION
Sinclair E TollnerIndiaStephen Shaw RENEWAL
Deepesh P VenereJapanBernardo Dominic PROPOSAL
Alejandro I GauchoIndiaIvan Magalhaes RENEWAL
Ivar C AmigonJapanStephen Shaw NEGOTIATION
Leon H MorascaGermanyBernardo Dominic QUALIFIED
Aika J NickaItalyElwin Sharvill QUALIFIED
Faith V SergiArgentinaIvan Magalhaes QUALIFIED
Claire V PerinFranceIvan Magalhaes PROPOSAL
Emily Y FlosiAustraliaIoni Bowcher NEGOTIATION
Chavez D CaldareraArgentinaBernardo Dominic QUALIFIED

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