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 P NestleArgentinaAnna Fali UNQUALIFIED
Nicolas L MaletArgentinaIoni Bowcher NEW
Aruna F SaylorsGermanyAsiya Javayant QUALIFIED
Wickens O ChuiRussiaBernardo Dominic QUALIFIED
James O MorascaCanadaStephen Shaw PROPOSAL
Aika J SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Francesco W MaletAustraliaXuxue Feng RENEWAL
Cody F TollnerItalyAmy Elsner QUALIFIED
Smith J GillianFranceOnyama Limba UNQUALIFIED
Clifford P RutaJapanAmy Elsner PROPOSAL
Murillo R PerinItalyIoni Bowcher NEW
Alejandro D VocelkaUnited KingdomIoni Bowcher RENEWAL
Misaki X NestleRussiaBernardo Dominic NEW
Deepesh O InouyeJapanAsiya Javayant NEW
Tony L RulapaughSpainIvan Magalhaes UNQUALIFIED
Maria J FollerAustraliaBernardo Dominic UNQUALIFIED
Johnson Q GauchoArgentinaAnna Fali NEW
Costa D NestleUnited KingdomStephen Shaw NEGOTIATION
Alejandro Y MaletUnited KingdomStephen Shaw RENEWAL
Greenwood G BowleyAustraliaIoni Bowcher PROPOSAL
Wickens I RimFranceAmy Elsner PROPOSAL
Deepesh W IturbideSpainIvan Magalhaes QUALIFIED
Deepesh V TollnerJapanIvan Magalhaes PROPOSAL
Costa H WaycottJapanIoni Bowcher NEGOTIATION
Wickens M BriddickBrazilStephen Shaw UNQUALIFIED
Deepesh F StensethCanadaAsiya Javayant QUALIFIED
David X MarrierJapanBernardo Dominic NEGOTIATION
Emily S SergiRussiaOnyama Limba NEW
Greenwood L MaletUnited KingdomIoni Bowcher QUALIFIED
David X BriddickAustraliaStephen Shaw NEGOTIATION
Silvio Y CampainIndiaAnna Fali RENEWAL
Aditya H ButtIndiaStephen Shaw QUALIFIED
Leja K RoysterFranceIoni Bowcher PROPOSAL
Octavia B SlusarskiGermanyIvan Magalhaes NEW
Nicolas D ChuiBrazilElwin Sharvill RENEWAL
Kaitlin U TollnerCanadaBernardo Dominic NEGOTIATION
Ricardo R CaudySpainOnyama Limba UNQUALIFIED
Claire K CampainIndiaStephen Shaw QUALIFIED
Ricardo F CaldareraAustraliaBernardo Dominic QUALIFIED
Jefferson H WieserBrazilBernardo Dominic PROPOSAL
Francesco O MarrierItalyXuxue Feng NEGOTIATION
Rodrigues C NickaBrazilAmy Elsner NEW
Rodrigues N FigeroaUnited KingdomAnna Fali QUALIFIED
Isabel E StensethCanadaAnna Fali QUALIFIED
Izzy B MaletJapanAmy Elsner NEW
Juan Y MaletAustraliaAsiya Javayant NEGOTIATION
Kadeem F BologniaCanadaAmy Elsner QUALIFIED
Ivar S RutaAustraliaAsiya Javayant RENEWAL
Faith C FerenczArgentinaIvan Magalhaes NEW
Jones P CaldareraCanadaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley U GlickSpainElwin Sharvill PROPOSAL
Leja F PerinFranceIvan Magalhaes QUALIFIED
Jefferson P AlbaresSpainAmy Elsner RENEWAL
Jeanfrancois N SchemmerFranceIvan Magalhaes PROPOSAL
Mujtaba Z GlickFranceOnyama Limba NEGOTIATION
Arvin M CaudyGermanyIoni Bowcher UNQUALIFIED
Darci W FollerRussiaBernardo Dominic NEGOTIATION
Faith M RulapaughIndiaAsiya Javayant RENEWAL
Jennifer R StensethFranceBernardo Dominic UNQUALIFIED
Rodrigues V OstroskyArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams B RimGermany2026-10-07Benton, John B Jr NEGOTIATION17Anna Fali
1001Darci P SaylorsAustralia2026-10-29Truhlar And Truhlar Attys RENEWAL79Anna Fali
1002Leon V CampainFrance2026-10-17Chanay, Jeffrey A Esq QUALIFIED60Bernardo Dominic
1003Ricardo L ShinkoBrazil2026-10-17Commercial Press UNQUALIFIED36Onyama Limba
1004Izzy A ButtArgentina2026-10-04Feiner Bros NEGOTIATION72Anna Fali
1005Darci D GarufiJapan2026-10-10Feltz Printing Service NEGOTIATION17Xuxue Feng
1006Antonio T FerenczJapan2026-10-16Chapman, Ross E Esq UNQUALIFIED58Amy Elsner
1007Greenwood V MaletFrance2026-10-24Benton, John B Jr NEW82Ivan Magalhaes
1008Julie K FerenczItaly2026-10-25Dorl, James J Esq RENEWAL3Asiya Javayant
1009Jeanfrancois H KolmetzJapan2026-10-10Chapman, Ross E Esq RENEWAL95Amy Elsner
1010Munro Z DilliardUnited Kingdom2026-10-10Feltz Printing Service NEGOTIATION97Xuxue Feng
1011Jones K SchemmerJapan2026-10-18Benton, John B Jr UNQUALIFIED32Onyama Limba
1012Jennifer R DoeUnited Kingdom2026-10-31Rangoni Of Florence QUALIFIED29Elwin Sharvill
1013Leja X ChuiBrazil2026-10-22Dorl, James J Esq RENEWAL70Ivan Magalhaes
1014Isabel R CampainCanada2026-10-25King, Christopher A Esq QUALIFIED10Ioni Bowcher
1015Misaki K WhobreyJapan2026-10-22Buckley Miller Wright UNQUALIFIED28Stephen Shaw
1016Munro L FerenczJapan2026-10-28Printing Dimensions PROPOSAL6Xuxue Feng
1017Munro E IturbideCanada2026-10-26Chemel, James L Cpa QUALIFIED78Ivan Magalhaes
1018Leon Q WaycottJapan2026-10-12Feiner Bros UNQUALIFIED73Anna Fali
1019Octavia S ButtItaly2026-10-17Buckley Miller Wright RENEWAL95Ivan Magalhaes
1020Munro B StensethRussia2026-10-30Feiner Bros QUALIFIED65Elwin Sharvill
1021Darci J DilliardGermany2026-10-27Dorl, James J Esq NEGOTIATION70Onyama Limba
1022Darci U FigeroaGermany2026-10-28Printing Dimensions NEW93Asiya Javayant
1023Greenwood S MaletIndia2026-10-22Benton, John B Jr NEW77Asiya Javayant
1024Ashley L DoeBrazil2026-10-07Chemel, James L Cpa PROPOSAL36Onyama Limba
1025Darci J InouyeCanada2026-10-08Chapman, Ross E Esq PROPOSAL94Ivan Magalhaes
1026Aika L DarakjyBrazil2026-10-04King, Christopher A Esq UNQUALIFIED87Bernardo Dominic
1027Tony R BologniaUnited Kingdom2026-11-02King, Christopher A Esq PROPOSAL67Onyama Limba
1028Isabel D AmigonCanada2026-10-11Benton, John B Jr QUALIFIED56Asiya Javayant
1029Wickens Y DarakjyItaly2026-10-26Commercial Press NEGOTIATION76Elwin Sharvill
1030Smith G CampainIndia2026-10-11Chemel, James L Cpa PROPOSAL52Elwin Sharvill
1031Antonio X StockhamRussia2026-10-09King, Christopher A Esq NEW56Asiya Javayant
1032Wickens E SlusarskiFrance2026-10-18Chanay, Jeffrey A Esq QUALIFIED5Stephen Shaw
1033Silvio P OstroskyUnited Kingdom2026-10-15Truhlar And Truhlar Attys QUALIFIED39Onyama Limba
1034Ivar Z OldroydIndia2026-10-27Rangoni Of Florence NEW21Xuxue Feng
1035Smith X MaletSpain2026-10-14Printing Dimensions RENEWAL70Stephen Shaw
1036Juan I RulapaughBrazil2026-10-16Feltz Printing Service NEW85Amy Elsner
1037Misaki G BriddickArgentina2026-10-27Dorl, James J Esq QUALIFIED24Ivan Magalhaes
1038Smith K BowleyAustralia2026-10-11Feltz Printing Service RENEWAL84Stephen Shaw
1039Izzy B DoeRussia2026-10-06Chapman, Ross E Esq PROPOSAL44Ioni Bowcher
1040Silvio C NickaSpain2026-10-31Buckley Miller Wright NEW50Ivan Magalhaes
1041Leon W BowleyCanada2026-10-17Commercial Press UNQUALIFIED72Onyama Limba
1042Deepesh Y FigeroaFrance2026-10-16Truhlar And Truhlar Attys QUALIFIED6Onyama Limba
1043Aika Q FlosiSpain2026-10-19Printing Dimensions RENEWAL76Onyama Limba
1044Kaitlin A PerinGermany2026-10-23Chemel, James L Cpa NEW78Xuxue Feng
1045Antonio R CaldareraJapan2026-10-11Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1046Munro B DoeFrance2026-10-22Morlong Associates NEGOTIATION14Ioni Bowcher
1047Chavez T KuskoCanada2026-10-24Buckley Miller Wright NEGOTIATION40Stephen Shaw
1048Emily U GillianBrazil2026-11-02Feltz Printing Service PROPOSAL20Anna Fali
1049James R MaletFrance2026-11-02King, Christopher A Esq UNQUALIFIED28Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ivar K StensethCanadaElwin Sharvill PROPOSAL
Cody F VocelkaArgentinaAnna Fali NEW
Jefferson E MacleadSpainIvan Magalhaes UNQUALIFIED
Jennifer K DilliardSpainOnyama Limba RENEWAL
Jones A RoysterGermanyElwin Sharvill RENEWAL
Chavez X StockhamJapanXuxue Feng PROPOSAL
Kaitlin K OldroydUnited KingdomStephen Shaw NEGOTIATION
Antonio C AmigonCanadaAsiya Javayant NEGOTIATION
Mujtaba I SaylorsFranceXuxue Feng PROPOSAL
David T StensethItalyOnyama Limba QUALIFIED
Wickens T GlickCanadaAmy Elsner QUALIFIED
James O IturbideIndiaBernardo Dominic NEW
Emily Y ShinkoRussiaAsiya Javayant RENEWAL
Octavia J KolmetzGermanyStephen Shaw QUALIFIED
Isabel N DoeJapanElwin Sharvill NEW
Costa M FerenczGermanyAmy Elsner PROPOSAL
Jeanfrancois I StensethCanadaAsiya Javayant RENEWAL
Rodrigues S CaldareraRussiaAnna Fali NEW
Chavez P VocelkaItalyStephen Shaw QUALIFIED
Adams Q GillianBrazilAnna Fali UNQUALIFIED
Faith S CaldareraUnited KingdomXuxue Feng RENEWAL
Adams R ChuiUnited KingdomXuxue Feng NEW
Chavez V CaudyJapanIvan Magalhaes RENEWAL
Salvatore X FigeroaIndiaIvan Magalhaes PROPOSAL
Nicolas S OldroydItalyBernardo Dominic UNQUALIFIED
Mujtaba L InouyeItalyIvan Magalhaes UNQUALIFIED
Leja C GillianSpainStephen Shaw PROPOSAL
Arvin K SaylorsRussiaXuxue Feng QUALIFIED
Cody L FigeroaRussiaBernardo Dominic RENEWAL
Arvin X OldroydCanadaAsiya Javayant RENEWAL
Misaki S NickaAustraliaAnna Fali NEGOTIATION
Jeanfrancois A RutaIndiaBernardo Dominic QUALIFIED
David G PoquetteUnited KingdomIvan Magalhaes NEW
Rodrigues T AlbaresItalyXuxue Feng UNQUALIFIED
Faith Y MaletBrazilAsiya Javayant NEGOTIATION
Isabel B BriddickCanadaOnyama Limba RENEWAL
Cody D RoysterIndiaAsiya Javayant RENEWAL
Chavez D GlickArgentinaIvan Magalhaes NEGOTIATION
Silvio I ButtCanadaAmy Elsner RENEWAL
Sinclair U MacleadAustraliaXuxue Feng NEW
Maisha Y StensethCanadaAnna Fali RENEWAL
Chavez Z KolmetzSpainIvan Magalhaes RENEWAL
Ashley Z BowleyJapanAsiya Javayant QUALIFIED
Stacey D SaylorsGermanyStephen Shaw QUALIFIED
Claire C MaletArgentinaIvan Magalhaes UNQUALIFIED
Juan J MarrierAustraliaBernardo Dominic PROPOSAL
Kadeem C PaprockiUnited KingdomAmy Elsner RENEWAL
Ivar A GarufiBrazilIvan Magalhaes RENEWAL
Costa U StockhamBrazilIvan Magalhaes NEGOTIATION
Ashley P IturbideArgentinaXuxue Feng NEGOTIATION
Frozen Columns
Name
Adams S Poquette
Sinclair Z Ferencz
Stacey H Kolmetz
Maria R Chui
Murillo V Chui
James S Bowley
Faith P Rulapaugh
Mayumi V Dilliard
Mujtaba C Doe
Clifford W Figeroa
Emily B Foller
Maisha W Flosi
Nicolas G Poquette
Kadeem I Foller
Kadeem I Waycott
Tony H Kolmetz
Jennifer R Royster
Johnson K Schemmer
Salvatore U Flosi
Mayumi P Darakjy
Nicolas M Doe
Francesco I Morasca
Aditya L Garufi
Misaki Y Gillian
Greenwood M Stenseth
Alejandro L Royster
Greenwood I Ruta
Jefferson V Gaucho
Cody I Nestle
Ashley C Whobrey
Juan X Tollner
Smith P Nestle
Aruna C Rim
Mujtaba S Glick
Greenwood K Stenseth
Stacey P Flosi
Munro Z Darakjy
Julie I Maclead
Leja P Amigon
Rodrigues O Morasca
Morrow C Saylors
Juan L Bowley
Ivar W Bolognia
Johnson U Stenseth
Adams M Stockham
Julie V Slusarski
Izzy L Malet
Maisha N Caudy
Jennifer X Poquette
Maria S Rim
IdCountryDate
1000France2026-10-09
1001Canada2026-10-24
1002Italy2026-10-10
1003France2026-10-05
1004Canada2026-10-04
1005United Kingdom2026-10-06
1006Spain2026-10-18
1007United Kingdom2026-10-18
1008Brazil2026-10-31
1009Italy2026-10-28
1010Spain2026-11-01
1011Italy2026-10-16
1012Germany2026-10-27
1013Italy2026-10-27
1014Germany2026-10-26
1015Russia2026-10-13
1016Canada2026-10-12
1017Australia2026-10-27
1018Spain2026-10-09
1019India2026-10-08
1020Canada2026-10-11
1021Canada2026-10-29
1022Russia2026-10-23
1023France2026-10-23
1024France2026-11-02
1025Australia2026-10-24
1026Russia2026-10-09
1027Russia2026-10-14
1028Russia2026-10-09
1029France2026-10-19
1030Brazil2026-10-17
1031Canada2026-10-22
1032Russia2026-10-06
1033Russia2026-10-20
1034Italy2026-10-08
1035Italy2026-10-23
1036India2026-11-01
1037India2026-10-22
1038India2026-10-29
1039France2026-10-11
1040France2026-10-17
1041Spain2026-10-21
1042Canada2026-10-27
1043Italy2026-10-21
1044Russia2026-10-17
1045France2026-10-25
1046Germany2026-10-20
1047Canada2026-11-01
1048Spain2026-10-18
1049Japan2026-10-06

On-Demand Data

NameIdCountryDate
Maisha J Malet1000Canada2026-10-31
Tony P Shinko1001India2026-10-20
Maisha J Ruta1002Spain2026-10-19
Maria C Amigon1003Brazil2026-10-13
Maisha X Flosi1004Australia2026-10-24
Johnson R Briddick1005Italy2026-10-12
Juan S Amigon1006Brazil2026-11-02
Octavia C Shinko1007Russia2026-10-11
David K Caldarera1008India2026-10-17
Kadeem O Stockham1009India2026-10-20
Antonio W Malet1010France2026-10-04
Aruna Z Gillian1011Russia2026-10-20
Nicolas T Flosi1012Canada2026-10-17
Nicolas C Caudy1013Canada2026-10-11
Isabel Z Amigon1014Canada2026-10-14
Juan M Darakjy1015France2026-10-25
Costa E Darakjy1016Argentina2026-10-14
Silvio P Shinko1017France2026-10-28
Leon K Bowley1018Argentina2026-10-30
Morrow B Ferencz1019Australia2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith M PoquetteBrazilAnna Fali PROPOSAL
Silvio G KuskoGermanyOnyama Limba NEGOTIATION
Isabel Q DoeBrazilAsiya Javayant UNQUALIFIED
Nicolas W ChuiRussiaBernardo Dominic QUALIFIED
Octavia Q BologniaAustraliaIoni Bowcher NEW
Ashley D MaletGermanyStephen Shaw RENEWAL
Aruna D DarakjyItalyIvan Magalhaes RENEWAL
Morrow C AlbaresCanadaIvan Magalhaes QUALIFIED
Octavia F BowleyAustraliaAsiya Javayant NEW
Jennifer J NestleCanadaAsiya Javayant UNQUALIFIED
Stacey K OstroskyGermanyXuxue Feng NEW
Tony F SchemmerJapanAmy Elsner PROPOSAL
Mujtaba M DilliardCanadaAsiya Javayant UNQUALIFIED
Ivar W ChuiBrazilElwin Sharvill RENEWAL
Julie S SlusarskiUnited KingdomStephen Shaw PROPOSAL
Costa A GlickFranceXuxue Feng QUALIFIED
Greenwood A MaletUnited KingdomBernardo Dominic PROPOSAL
Leon W VenereBrazilBernardo Dominic PROPOSAL
Clifford P SlusarskiItalyIvan Magalhaes UNQUALIFIED
Francesco A WhobreyBrazilStephen Shaw UNQUALIFIED
Wickens T ChuiIndiaXuxue Feng QUALIFIED
Arvin O NickaFranceAmy Elsner NEW
Smith A TollnerFranceBernardo Dominic RENEWAL
Leja T SlusarskiUnited KingdomAsiya Javayant RENEWAL
Murillo H StockhamRussiaIoni Bowcher RENEWAL
Kaitlin I RimCanadaXuxue Feng RENEWAL
Aika Y PerinBrazilStephen Shaw QUALIFIED
Deepesh M GillianSpainIvan Magalhaes QUALIFIED
Juan O StockhamRussiaIoni Bowcher RENEWAL
Claire T NickaGermanyIoni Bowcher QUALIFIED
Salvatore E PaprockiSpainIvan Magalhaes UNQUALIFIED
Johnson B InouyeIndiaOnyama Limba PROPOSAL
Deepesh D CaldareraCanadaStephen Shaw PROPOSAL
Claire A BologniaSpainOnyama Limba RENEWAL
Rodrigues Q MaletIndiaOnyama Limba QUALIFIED
Maria Y TollnerJapanIvan Magalhaes UNQUALIFIED
Smith O MarrierSpainAnna Fali QUALIFIED
Faith A ChuiGermanyStephen Shaw NEGOTIATION
Rodrigues I GauchoRussiaAsiya Javayant PROPOSAL
Jeanfrancois Z StockhamItalyOnyama Limba NEW

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