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
Nicolas K StockhamUnited KingdomIvan Magalhaes PROPOSAL
Julie G PerinItalyIoni Bowcher UNQUALIFIED
Mujtaba X StockhamJapanElwin Sharvill QUALIFIED
Francesco P PoquetteJapanAsiya Javayant QUALIFIED
Juan Z BowleyJapanAnna Fali NEGOTIATION
Aika A BologniaCanadaStephen Shaw RENEWAL
Alejandro W DarakjySpainBernardo Dominic NEGOTIATION
Salvatore S CampainArgentinaBernardo Dominic PROPOSAL
Leon M PaprockiRussiaIoni Bowcher NEW
Aditya P SaylorsArgentinaOnyama Limba RENEWAL
Mayumi S MacleadFranceAmy Elsner NEW
Ricardo R MaletRussiaAmy Elsner RENEWAL
Jefferson U BologniaJapanOnyama Limba RENEWAL
Cody B GlickCanadaIvan Magalhaes NEW
Julie E BriddickArgentinaIoni Bowcher PROPOSAL
Francesco J RimCanadaBernardo Dominic NEW
Sinclair R MaletCanadaAmy Elsner RENEWAL
Octavia D WieserUnited KingdomBernardo Dominic NEGOTIATION
Tony C RutaJapanIoni Bowcher PROPOSAL
Aika R WaycottIndiaBernardo Dominic UNQUALIFIED
Leja S PerinFranceAsiya Javayant UNQUALIFIED
Ivar H FlosiCanadaBernardo Dominic PROPOSAL
Mayumi I SergiJapanAnna Fali UNQUALIFIED
Aruna N FollerItalyIoni Bowcher NEGOTIATION
Julie A RulapaughItalyIvan Magalhaes PROPOSAL
Kadeem P KolmetzRussiaIoni Bowcher QUALIFIED
Francesco W GlickItalyIvan Magalhaes NEW
Silvio B InouyeSpainBernardo Dominic NEW
Stacey R GillianBrazilAnna Fali NEGOTIATION
Julie Z MaletAustraliaIvan Magalhaes QUALIFIED
Kaitlin O BologniaArgentinaXuxue Feng RENEWAL
Mayumi G DarakjyItalyOnyama Limba NEW
Emily O SchemmerRussiaAsiya Javayant RENEWAL
Cody A KolmetzCanadaXuxue Feng NEGOTIATION
Emily W VenereGermanyIoni Bowcher UNQUALIFIED
Sinclair M WaycottIndiaStephen Shaw UNQUALIFIED
Cody G SchemmerItalyAsiya Javayant RENEWAL
Salvatore P MaletUnited KingdomAsiya Javayant QUALIFIED
Cody J BologniaRussiaAsiya Javayant NEW
Aika R SlusarskiJapanStephen Shaw QUALIFIED
Francesco T CampainItalyAnna Fali NEGOTIATION
Alejandro H GillianSpainAmy Elsner NEGOTIATION
Francesco I BologniaItalyAnna Fali QUALIFIED
Misaki L PerinBrazilXuxue Feng NEW
Octavia V GauchoIndiaIvan Magalhaes PROPOSAL
Ivar L CaldareraBrazilAsiya Javayant PROPOSAL
Kaitlin D WhobreyArgentinaAnna Fali QUALIFIED
Mujtaba Q VenereAustraliaIoni Bowcher RENEWAL
Adams R FollerBrazilElwin Sharvill NEW
Johnson X ShinkoJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh N BriddickCanadaBernardo Dominic RENEWAL
Salvatore I FlosiItalyOnyama Limba UNQUALIFIED
Smith L PerinBrazilIoni Bowcher PROPOSAL
Munro D VocelkaRussiaIvan Magalhaes PROPOSAL
Ashley K StockhamAustraliaOnyama Limba UNQUALIFIED
Rodrigues A MarrierItalyAnna Fali NEW
James G VocelkaArgentinaXuxue Feng RENEWAL
Misaki N GlickItalyAmy Elsner NEW
Kadeem C TollnerCanadaElwin Sharvill NEGOTIATION
Kaitlin B RulapaughJapanAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith M MarrierJapan2026-10-22Morlong Associates NEW55Amy Elsner
1001Jennifer K MarrierJapan2026-10-11Feltz Printing Service NEW41Anna Fali
1002Juan G GlickAustralia2026-10-17Rousseaux, Michael Esq RENEWAL27Stephen Shaw
1003Darci M RutaArgentina2026-10-15Truhlar And Truhlar Attys RENEWAL14Ioni Bowcher
1004Silvio E CaldareraItaly2026-10-07Truhlar And Truhlar Attys NEW24Amy Elsner
1005Jeanfrancois G MaletItaly2026-10-14Feltz Printing Service NEW83Onyama Limba
1006Adams U RutaBrazil2026-10-24Feiner Bros UNQUALIFIED17Onyama Limba
1007David D IturbideJapan2026-10-12Morlong Associates NEGOTIATION67Elwin Sharvill
1008Mayumi M WhobreyCanada2026-10-18Rousseaux, Michael Esq QUALIFIED95Ioni Bowcher
1009Cody E WaycottCanada2026-10-25Dorl, James J Esq NEGOTIATION95Ivan Magalhaes
1010Clifford T FerenczUnited Kingdom2026-10-15Printing Dimensions RENEWAL46Asiya Javayant
1011Rodrigues P StockhamAustralia2026-10-11Dorl, James J Esq NEGOTIATION5Amy Elsner
1012Emily N SchemmerCanada2026-10-31Feltz Printing Service QUALIFIED77Ivan Magalhaes
1013Leja X ChuiArgentina2026-10-13Dorl, James J Esq RENEWAL28Elwin Sharvill
1014Maria U PoquetteCanada2026-10-23Benton, John B Jr NEW79Amy Elsner
1015Silvio K CampainCanada2026-10-08Feiner Bros NEW23Amy Elsner
1016Emily W PerinCanada2026-11-01Rangoni Of Florence NEGOTIATION57Bernardo Dominic
1017Tony Q AmigonSpain2026-10-31Buckley Miller Wright PROPOSAL2Elwin Sharvill
1018Misaki D ButtCanada2026-10-23Feltz Printing Service PROPOSAL22Onyama Limba
1019Leon M ChuiUnited Kingdom2026-10-24Truhlar And Truhlar Attys UNQUALIFIED41Amy Elsner
1020Morrow A PoquetteJapan2026-10-24Dorl, James J Esq NEW61Stephen Shaw
1021Mujtaba D FerenczBrazil2026-10-17Morlong Associates UNQUALIFIED5Stephen Shaw
1022Jefferson S FerenczGermany2026-10-20Buckley Miller Wright NEGOTIATION68Bernardo Dominic
1023Claire G RutaRussia2026-10-12Chanay, Jeffrey A Esq NEGOTIATION47Asiya Javayant
1024Salvatore W MarrierFrance2026-10-29Chapman, Ross E Esq NEW15Onyama Limba
1025Nicolas K AmigonItaly2026-10-14Feiner Bros PROPOSAL76Ioni Bowcher
1026Isabel N VocelkaRussia2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED20Anna Fali
1027Antonio R ButtArgentina2026-10-28Buckley Miller Wright UNQUALIFIED36Anna Fali
1028Juan X FlosiUnited Kingdom2026-10-31Dorl, James J Esq UNQUALIFIED62Onyama Limba
1029Cody T StockhamIndia2026-10-14Commercial Press NEGOTIATION54Onyama Limba
1030Mujtaba Y RimArgentina2026-10-09King, Christopher A Esq QUALIFIED31Onyama Limba
1031Isabel E BriddickUnited Kingdom2026-10-14Chapman, Ross E Esq RENEWAL38Anna Fali
1032Costa S DilliardRussia2026-10-31Morlong Associates RENEWAL86Asiya Javayant
1033Mayumi D AmigonIndia2026-10-13Feltz Printing Service NEGOTIATION84Stephen Shaw
1034Aika U WhobreyBrazil2026-10-11Chemel, James L Cpa NEW52Bernardo Dominic
1035Kadeem S SaylorsItaly2026-10-14Truhlar And Truhlar Attys PROPOSAL8Asiya Javayant
1036David C RimItaly2026-10-09Commercial Press NEW37Bernardo Dominic
1037Kaitlin K BowleyItaly2026-11-01Rangoni Of Florence RENEWAL60Onyama Limba
1038Chavez D MarrierItaly2026-10-13Rousseaux, Michael Esq UNQUALIFIED12Anna Fali
1039Nicolas Q SchemmerRussia2026-10-28Rangoni Of Florence NEW16Asiya Javayant
1040Leon C PerinArgentina2026-10-13Rangoni Of Florence QUALIFIED87Ivan Magalhaes
1041Mujtaba L DoeFrance2026-10-16Feiner Bros UNQUALIFIED87Asiya Javayant
1042Ivar E WieserSpain2026-10-21Printing Dimensions PROPOSAL87Onyama Limba
1043Rodrigues B NestleJapan2026-10-28Buckley Miller Wright UNQUALIFIED34Elwin Sharvill
1044Ashley P SchemmerIndia2026-10-27Feiner Bros NEW52Asiya Javayant
1045Morrow O WaycottFrance2026-11-01Printing Dimensions NEW78Anna Fali
1046James O MaletItaly2026-10-12Commercial Press RENEWAL26Asiya Javayant
1047Murillo K OldroydRussia2026-10-13Truhlar And Truhlar Attys QUALIFIED93Ivan Magalhaes
1048Juan O KolmetzBrazil2026-10-06Rangoni Of Florence NEW26Ivan Magalhaes
1049Jennifer T ChuiFrance2026-10-21Chanay, Jeffrey A Esq NEGOTIATION92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Izzy P ButtFranceIvan Magalhaes NEGOTIATION
Johnson B ShinkoSpainElwin Sharvill RENEWAL
Francesco H ButtJapanXuxue Feng NEW
Maisha N SaylorsUnited KingdomOnyama Limba QUALIFIED
Antonio D PerinAustraliaAmy Elsner RENEWAL
Kadeem J RoysterJapanOnyama Limba NEW
Rodrigues D CaudyUnited KingdomBernardo Dominic RENEWAL
Sinclair P CampainCanadaAmy Elsner NEGOTIATION
Aditya T CampainBrazilIvan Magalhaes NEGOTIATION
Arvin B RoysterFranceAnna Fali RENEWAL
Maisha C VenereArgentinaAmy Elsner UNQUALIFIED
David M RulapaughAustraliaAmy Elsner QUALIFIED
Sinclair H BowleyRussiaAmy Elsner NEW
Claire K RulapaughArgentinaXuxue Feng PROPOSAL
Munro G SlusarskiRussiaAmy Elsner PROPOSAL
Ricardo A SaylorsArgentinaAnna Fali UNQUALIFIED
Salvatore V CampainItalyElwin Sharvill QUALIFIED
Aditya T NickaRussiaBernardo Dominic QUALIFIED
Arvin Q PerinItalyIvan Magalhaes UNQUALIFIED
Tony E PerinCanadaBernardo Dominic NEGOTIATION
Munro O RutaGermanyStephen Shaw NEGOTIATION
Rodrigues C WhobreyGermanyStephen Shaw RENEWAL
Isabel R GlickIndiaIvan Magalhaes NEW
Adams P GarufiRussiaAmy Elsner QUALIFIED
James K OldroydCanadaIoni Bowcher QUALIFIED
Leon M StockhamIndiaAmy Elsner NEGOTIATION
Ricardo J PoquetteFranceBernardo Dominic PROPOSAL
Johnson F WaycottGermanyXuxue Feng RENEWAL
Mayumi A BowleyIndiaElwin Sharvill RENEWAL
Arvin W KolmetzArgentinaStephen Shaw PROPOSAL
Kadeem N WaycottAustraliaAsiya Javayant QUALIFIED
Stacey V MorascaUnited KingdomBernardo Dominic RENEWAL
Misaki S SergiFranceAmy Elsner PROPOSAL
Leja E RulapaughUnited KingdomAsiya Javayant QUALIFIED
James D ButtItalyIoni Bowcher UNQUALIFIED
Emily B MacleadRussiaIoni Bowcher PROPOSAL
David W BologniaAustraliaBernardo Dominic UNQUALIFIED
Antonio D SchemmerCanadaAsiya Javayant UNQUALIFIED
Maria U GlickUnited KingdomIvan Magalhaes RENEWAL
Johnson V FigeroaCanadaBernardo Dominic QUALIFIED
Clifford Y CaudyArgentinaIvan Magalhaes NEW
Izzy U NestleUnited KingdomAmy Elsner RENEWAL
Cody F BowleyRussiaBernardo Dominic RENEWAL
Leon C OldroydGermanyBernardo Dominic QUALIFIED
Costa L GillianArgentinaBernardo Dominic UNQUALIFIED
Arvin N FlosiAustraliaIvan Magalhaes QUALIFIED
Cody X DoeIndiaIoni Bowcher NEW
Arvin G BowleyAustraliaStephen Shaw NEGOTIATION
Kaitlin Z InouyeUnited KingdomAmy Elsner RENEWAL
Alejandro G SchemmerFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Sinclair R Nicka
Darci D Rulapaugh
Leon K Figeroa
Greenwood J Royster
Alejandro V Iturbide
Aditya A Bowley
Darci K Malet
Francesco Q Butt
Wickens L Doe
Costa E Doe
Sinclair C Doe
Arvin F Shinko
Salvatore J Flosi
Deepesh V Royster
Rodrigues D Malet
Costa R Paprocki
Maisha S Slusarski
Izzy S Nicka
Darci N Darakjy
Salvatore U Amigon
Izzy N Bolognia
Francesco M Garufi
Arvin X Bolognia
Misaki R Amigon
Costa G Briddick
Munro Y Darakjy
Jeanfrancois H Tollner
Clifford Q Whobrey
Ashley F Malet
Jones A Doe
Ashley M Kolmetz
Costa Q Stenseth
Jennifer Z Maclead
Adams B Tollner
James D Morasca
Kadeem O Morasca
Murillo A Inouye
Ivar L Stenseth
Maisha H Flosi
Octavia W Malet
Wickens W Ferencz
David M Stenseth
Sinclair P Amigon
Alejandro G Perin
Aruna F Glick
Johnson T Shinko
Faith Z Whobrey
Kadeem R Campain
Izzy W Waycott
Ricardo H Perin
IdCountryDate
1000Russia2026-10-06
1001Canada2026-10-14
1002Italy2026-10-10
1003Italy2026-10-30
1004Australia2026-10-28
1005Spain2026-10-28
1006Argentina2026-10-10
1007France2026-10-18
1008India2026-10-24
1009Russia2026-10-30
1010Canada2026-10-20
1011United Kingdom2026-10-23
1012Russia2026-10-24
1013Spain2026-11-01
1014Russia2026-10-17
1015Italy2026-10-21
1016Spain2026-10-14
1017Italy2026-10-21
1018United Kingdom2026-10-12
1019Italy2026-10-14
1020Japan2026-10-28
1021Argentina2026-10-25
1022India2026-10-09
1023Italy2026-10-18
1024United Kingdom2026-10-28
1025France2026-10-21
1026Russia2026-10-23
1027Brazil2026-10-06
1028Australia2026-10-13
1029Brazil2026-10-24
1030Australia2026-10-27
1031Canada2026-10-31
1032France2026-11-01
1033Spain2026-10-27
1034Russia2026-10-18
1035United Kingdom2026-10-19
1036Italy2026-10-22
1037France2026-10-08
1038Canada2026-10-10
1039Australia2026-11-02
1040Argentina2026-10-17
1041Germany2026-10-06
1042Spain2026-10-15
1043Spain2026-10-29
1044Russia2026-10-24
1045Germany2026-10-19
1046Brazil2026-11-03
1047United Kingdom2026-10-23
1048Argentina2026-10-17
1049Canada2026-10-26

On-Demand Data

NameIdCountryDate
Jeanfrancois F Venere1000Russia2026-10-29
Costa L Royster1001Brazil2026-10-14
Munro P Stockham1002France2026-10-27
Mayumi U Ostrosky1003Australia2026-10-21
Wickens R Nicka1004Germany2026-10-22
Francesco D Caldarera1005Russia2026-10-05
Cody C Albares1006Germany2026-10-08
Greenwood X Albares1007Brazil2026-10-28
Kaitlin Q Gaucho1008Canada2026-10-13
Isabel J Malet1009Argentina2026-10-12
Jefferson Y Bolognia1010Spain2026-10-21
Izzy W Campain1011Australia2026-11-01
Darci B Whobrey1012Australia2026-10-18
Maisha T Dilliard1013India2026-11-01
Clifford B Saylors1014Spain2026-10-26
Cody A Inouye1015Canada2026-10-10
Maisha S Venere1016Russia2026-10-10
Aruna Q Malet1017Canada2026-10-13
Morrow U Ostrosky1018Spain2026-10-15
Alejandro G Dilliard1019United Kingdom2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith R GauchoSpainIoni Bowcher NEW
Tony L WhobreyUnited KingdomAsiya Javayant QUALIFIED
Ivar L KuskoCanadaXuxue Feng PROPOSAL
Darci P SlusarskiJapanIvan Magalhaes PROPOSAL
Jefferson S CampainSpainXuxue Feng QUALIFIED
James W FlosiBrazilOnyama Limba UNQUALIFIED
Jones M StockhamArgentinaAmy Elsner UNQUALIFIED
Maisha C PaprockiUnited KingdomAmy Elsner QUALIFIED
Nicolas N MarrierBrazilIvan Magalhaes QUALIFIED
Murillo V CaudyArgentinaElwin Sharvill UNQUALIFIED
Nicolas X StockhamSpainStephen Shaw UNQUALIFIED
Misaki N SergiSpainBernardo Dominic PROPOSAL
Cody N MarrierAustraliaAmy Elsner QUALIFIED
Octavia Q InouyeAustraliaIvan Magalhaes QUALIFIED
Juan F NestleFranceXuxue Feng PROPOSAL
Tony O CaldareraIndiaAmy Elsner QUALIFIED
Isabel H PerinItalyIvan Magalhaes RENEWAL
Wickens R MorascaCanadaAsiya Javayant NEW
Arvin B MacleadBrazilAmy Elsner NEW
Antonio G RulapaughUnited KingdomIvan Magalhaes RENEWAL
Mayumi D SergiArgentinaIvan Magalhaes NEGOTIATION
Wickens G RoysterCanadaAnna Fali NEW
Misaki V FlosiSpainAsiya Javayant PROPOSAL
Octavia W OstroskyAustraliaOnyama Limba PROPOSAL
Stacey U OldroydCanadaElwin Sharvill RENEWAL
Kaitlin X DoeSpainIoni Bowcher UNQUALIFIED
Salvatore A MaletArgentinaStephen Shaw RENEWAL
Tony H BowleyArgentinaIoni Bowcher NEW
Alejandro Z ChuiIndiaXuxue Feng NEGOTIATION
Arvin Z GillianAustraliaAmy Elsner QUALIFIED
Smith C OldroydIndiaOnyama Limba NEW
Greenwood P AmigonFranceOnyama Limba UNQUALIFIED
Izzy S BowleyUnited KingdomStephen Shaw PROPOSAL
Jones U PaprockiSpainIvan Magalhaes QUALIFIED
Julie H VocelkaGermanyAmy Elsner UNQUALIFIED
Aditya V KolmetzSpainIvan Magalhaes PROPOSAL
Deepesh U FollerItalyStephen Shaw PROPOSAL
Aika E ChuiGermanyBernardo Dominic UNQUALIFIED
Kaitlin R SchemmerGermanyElwin Sharvill PROPOSAL
James D GillianUnited KingdomIoni Bowcher 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>