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
Mujtaba M SchemmerItalyBernardo Dominic RENEWAL
Deepesh J FlosiIndiaBernardo Dominic PROPOSAL
Isabel U FlosiCanadaStephen Shaw UNQUALIFIED
Aditya C VenereCanadaAsiya Javayant PROPOSAL
Sinclair Y BowleyUnited KingdomBernardo Dominic QUALIFIED
Munro G GillianUnited KingdomBernardo Dominic PROPOSAL
Mayumi V InouyeGermanyAmy Elsner NEW
Chavez Q DilliardArgentinaAmy Elsner NEW
Morrow Q BriddickIndiaIvan Magalhaes UNQUALIFIED
Kaitlin L StensethArgentinaAmy Elsner NEGOTIATION
Deepesh O DilliardRussiaBernardo Dominic NEW
Leon H FollerFranceElwin Sharvill PROPOSAL
Morrow A PaprockiItalyBernardo Dominic RENEWAL
Darci W DoeArgentinaIvan Magalhaes QUALIFIED
Maria H CampainJapanIoni Bowcher NEGOTIATION
Aditya M BologniaFranceAsiya Javayant PROPOSAL
Clifford J SaylorsBrazilAsiya Javayant QUALIFIED
Ashley D InouyeFranceElwin Sharvill PROPOSAL
Silvio E KuskoAustraliaIvan Magalhaes UNQUALIFIED
Sinclair D WieserRussiaAnna Fali PROPOSAL
Juan U AlbaresUnited KingdomXuxue Feng RENEWAL
Leja L CampainArgentinaAsiya Javayant NEGOTIATION
Smith V RulapaughBrazilAsiya Javayant UNQUALIFIED
Cody Z KolmetzUnited KingdomAnna Fali NEW
Faith H KuskoAustraliaOnyama Limba UNQUALIFIED
Johnson V PaprockiCanadaElwin Sharvill NEW
Octavia C BriddickArgentinaAsiya Javayant PROPOSAL
Ricardo O SergiArgentinaBernardo Dominic NEW
James N FigeroaIndiaStephen Shaw UNQUALIFIED
Silvio W TollnerJapanIoni Bowcher UNQUALIFIED
Stacey G RimSpainXuxue Feng UNQUALIFIED
Alejandro R NickaBrazilIvan Magalhaes RENEWAL
Kadeem R BriddickGermanyIoni Bowcher NEW
Aditya S FerenczItalyAnna Fali PROPOSAL
Misaki C IturbideFranceAmy Elsner UNQUALIFIED
Claire F WieserFranceAnna Fali NEW
Rodrigues C VocelkaUnited KingdomStephen Shaw NEW
Costa B NestleGermanyBernardo Dominic NEW
Arvin J GillianFranceIvan Magalhaes PROPOSAL
Murillo Y VocelkaFranceAnna Fali QUALIFIED
Misaki C OldroydGermanyXuxue Feng NEW
Rodrigues Y DilliardCanadaBernardo Dominic QUALIFIED
Claire S RimJapanIvan Magalhaes UNQUALIFIED
Darci Z OstroskyFranceBernardo Dominic NEW
Smith P WhobreyUnited KingdomIoni Bowcher RENEWAL
Francesco Y AmigonCanadaStephen Shaw NEW
Mujtaba Z SchemmerUnited KingdomStephen Shaw NEW
Ivar Z FerenczArgentinaElwin Sharvill UNQUALIFIED
Aika Q DarakjyBrazilStephen Shaw QUALIFIED
Antonio I IturbideUnited KingdomXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan I WaycottFranceStephen Shaw UNQUALIFIED
Leja L GauchoBrazilAnna Fali UNQUALIFIED
Greenwood P FollerUnited KingdomXuxue Feng QUALIFIED
David D FlosiCanadaAsiya Javayant QUALIFIED
Sinclair P RutaUnited KingdomStephen Shaw PROPOSAL
Cody I OstroskySpainElwin Sharvill QUALIFIED
Tony M SchemmerArgentinaIoni Bowcher PROPOSAL
Ashley U RulapaughJapanOnyama Limba RENEWAL
Salvatore P TollnerJapanOnyama Limba NEGOTIATION
Adams N BriddickAustraliaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha X RulapaughFrance2026-10-09Truhlar And Truhlar Attys RENEWAL10Ivan Magalhaes
1001Sinclair C KuskoUnited Kingdom2026-10-27Buckley Miller Wright RENEWAL81Ioni Bowcher
1002Ashley O VenereFrance2026-10-09Printing Dimensions QUALIFIED86Xuxue Feng
1003Deepesh H FlosiSpain2026-11-02Rangoni Of Florence PROPOSAL32Xuxue Feng
1004Ricardo R PaprockiIndia2026-10-17Feiner Bros PROPOSAL9Ioni Bowcher
1005Jennifer H AlbaresUnited Kingdom2026-10-23Feiner Bros NEGOTIATION4Ioni Bowcher
1006Claire E RutaUnited Kingdom2026-10-12King, Christopher A Esq RENEWAL79Ivan Magalhaes
1007Deepesh N MaletUnited Kingdom2026-10-24Morlong Associates NEGOTIATION11Ioni Bowcher
1008Kadeem B FollerAustralia2026-10-13Commercial Press NEW25Onyama Limba
1009Aika L SergiArgentina2026-10-10Buckley Miller Wright UNQUALIFIED68Xuxue Feng
1010Maria P MaletIndia2026-10-17Morlong Associates UNQUALIFIED66Amy Elsner
1011Ricardo X MaletJapan2026-10-30Dorl, James J Esq PROPOSAL28Elwin Sharvill
1012Octavia N CampainBrazil2026-10-11Feiner Bros QUALIFIED98Ivan Magalhaes
1013Cody Z MorascaArgentina2026-10-17Benton, John B Jr PROPOSAL8Onyama Limba
1014Jennifer G StockhamCanada2026-10-31Feltz Printing Service PROPOSAL20Anna Fali
1015Adams I OldroydAustralia2026-10-12Printing Dimensions PROPOSAL27Bernardo Dominic
1016Greenwood B BologniaArgentina2026-11-04Feltz Printing Service RENEWAL35Ivan Magalhaes
1017Darci A GillianUnited Kingdom2026-10-22Benton, John B Jr QUALIFIED48Anna Fali
1018Munro P PoquetteJapan2026-10-19King, Christopher A Esq UNQUALIFIED28Asiya Javayant
1019Greenwood S StensethRussia2026-10-08Dorl, James J Esq RENEWAL2Onyama Limba
1020Nicolas D NestleSpain2026-11-05Commercial Press QUALIFIED51Elwin Sharvill
1021Clifford U RimBrazil2026-10-22Feiner Bros NEW16Anna Fali
1022Cody G MarrierBrazil2026-10-27Dorl, James J Esq QUALIFIED96Xuxue Feng
1023Aruna U GarufiGermany2026-10-11Printing Dimensions RENEWAL77Xuxue Feng
1024Jones A WieserArgentina2026-10-23Commercial Press QUALIFIED20Ivan Magalhaes
1025Morrow M AmigonFrance2026-10-14Benton, John B Jr RENEWAL99Asiya Javayant
1026Adams M GauchoUnited Kingdom2026-10-25Benton, John B Jr RENEWAL66Ioni Bowcher
1027Sinclair G PaprockiIndia2026-10-12Morlong Associates NEW81Anna Fali
1028Morrow A AlbaresUnited Kingdom2026-10-20Feltz Printing Service UNQUALIFIED48Stephen Shaw
1029Murillo H KuskoUnited Kingdom2026-11-03King, Christopher A Esq NEW72Amy Elsner
1030Costa G ChuiSpain2026-10-31Dorl, James J Esq QUALIFIED44Anna Fali
1031Aruna P AmigonGermany2026-10-22Rousseaux, Michael Esq NEW52Ivan Magalhaes
1032Silvio K GillianIndia2026-10-25Chapman, Ross E Esq NEGOTIATION99Bernardo Dominic
1033Julie D MorascaFrance2026-10-14Buckley Miller Wright PROPOSAL13Anna Fali
1034Tony H BologniaSpain2026-11-02Morlong Associates RENEWAL29Ivan Magalhaes
1035Morrow K StockhamAustralia2026-10-28King, Christopher A Esq QUALIFIED20Ivan Magalhaes
1036Kadeem Z GlickAustralia2026-11-04Feiner Bros RENEWAL82Stephen Shaw
1037James F FigeroaAustralia2026-10-17Commercial Press NEW5Onyama Limba
1038Mayumi D FollerBrazil2026-10-10Chemel, James L Cpa NEGOTIATION96Bernardo Dominic
1039Chavez F MaletCanada2026-10-18Feltz Printing Service QUALIFIED69Anna Fali
1040Costa E RulapaughUnited Kingdom2026-10-22Chapman, Ross E Esq QUALIFIED7Onyama Limba
1041Morrow I OldroydBrazil2026-10-22Benton, John B Jr RENEWAL63Xuxue Feng
1042Juan C FlosiItaly2026-10-17Rangoni Of Florence UNQUALIFIED31Ivan Magalhaes
1043Jeanfrancois I KolmetzJapan2026-10-09Truhlar And Truhlar Attys NEGOTIATION82Ioni Bowcher
1044Jefferson E BowleyArgentina2026-10-19Rousseaux, Michael Esq QUALIFIED89Xuxue Feng
1045Mayumi M IturbideFrance2026-10-27Feiner Bros NEGOTIATION22Ioni Bowcher
1046Arvin K RutaItaly2026-11-03Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1047Salvatore S CampainSpain2026-10-31Commercial Press UNQUALIFIED46Ioni Bowcher
1048Ricardo V AlbaresItaly2026-10-28Rousseaux, Michael Esq PROPOSAL1Anna Fali
1049Jones V MaletCanada2026-11-01Dorl, James J Esq UNQUALIFIED94Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin A FerenczUnited KingdomOnyama Limba PROPOSAL
Darci P FerenczJapanElwin Sharvill PROPOSAL
Leja Q MorascaIndiaIvan Magalhaes UNQUALIFIED
Aruna N SlusarskiFranceElwin Sharvill UNQUALIFIED
Leon Q FerenczArgentinaAnna Fali PROPOSAL
Juan X FlosiAustraliaStephen Shaw UNQUALIFIED
Ashley W RoysterGermanyAsiya Javayant NEW
Silvio E RimGermanyXuxue Feng NEGOTIATION
Arvin A GlickSpainIvan Magalhaes RENEWAL
Jones V NestleCanadaAnna Fali UNQUALIFIED
Darci G StensethGermanyOnyama Limba RENEWAL
Wickens U PaprockiArgentinaElwin Sharvill UNQUALIFIED
Salvatore A KuskoJapanIoni Bowcher QUALIFIED
Sinclair Y GauchoRussiaAsiya Javayant RENEWAL
Ricardo S MarrierUnited KingdomElwin Sharvill NEGOTIATION
Wickens B PoquetteCanadaElwin Sharvill QUALIFIED
Juan T WaycottItalyAmy Elsner QUALIFIED
Cody T SaylorsUnited KingdomXuxue Feng NEGOTIATION
Cody P DilliardArgentinaAsiya Javayant NEW
Chavez L GarufiBrazilAsiya Javayant QUALIFIED
Aika I GillianCanadaElwin Sharvill QUALIFIED
Morrow T BriddickRussiaIoni Bowcher RENEWAL
Mujtaba A ChuiRussiaAnna Fali UNQUALIFIED
Ivar M MaletJapanStephen Shaw PROPOSAL
Stacey L StockhamRussiaElwin Sharvill RENEWAL
Jefferson X StensethAustraliaAsiya Javayant UNQUALIFIED
Adams Z ChuiArgentinaStephen Shaw NEGOTIATION
Jeanfrancois G TollnerRussiaElwin Sharvill RENEWAL
Darci F OstroskyJapanAmy Elsner PROPOSAL
Leon E CaldareraSpainAmy Elsner NEW
Stacey U MaletIndiaXuxue Feng UNQUALIFIED
Greenwood P BriddickUnited KingdomBernardo Dominic PROPOSAL
Chavez G DarakjyRussiaAsiya Javayant RENEWAL
Julie K SaylorsJapanBernardo Dominic NEW
Ivar F BowleyItalyXuxue Feng NEW
Salvatore C SlusarskiItalyAmy Elsner NEW
Isabel N DilliardBrazilXuxue Feng RENEWAL
Morrow O VenereArgentinaAsiya Javayant QUALIFIED
Chavez Z WaycottJapanAmy Elsner PROPOSAL
Darci R TollnerItalyStephen Shaw NEW
Aika E CampainJapanElwin Sharvill QUALIFIED
David I IturbideSpainIvan Magalhaes QUALIFIED
Ivar X TollnerFranceStephen Shaw NEGOTIATION
Costa N MaletBrazilStephen Shaw NEGOTIATION
Arvin O FigeroaJapanOnyama Limba RENEWAL
Claire T FerenczFranceAsiya Javayant NEW
Octavia T PerinIndiaIvan Magalhaes NEW
Aruna C MacleadGermanyOnyama Limba RENEWAL
Alejandro K WaycottBrazilElwin Sharvill RENEWAL
Munro V RutaBrazilElwin Sharvill QUALIFIED
Frozen Columns
Name
Morrow Z Waycott
Maria U Wieser
Salvatore U Garufi
Antonio Q Chui
Sinclair K Morasca
Mujtaba L Saylors
David G Iturbide
Arvin H Glick
Costa Q Shinko
James M Kolmetz
Nicolas X Poquette
Isabel Z Schemmer
Johnson J Inouye
Jones S Malet
Clifford P Maclead
Aditya S Royster
David V Maclead
Claire Z Maclead
Aruna D Gaucho
Arvin S Bolognia
Munro V Doe
Antonio Q Waycott
Wickens B Shinko
Aruna W Maclead
Sinclair Y Poquette
Munro F Bowley
Adams S Marrier
Ashley C Stenseth
Izzy B Whobrey
Ricardo W Ruta
Antonio I Saylors
Morrow E Rim
Maisha B Slusarski
David T Dilliard
Claire P Nicka
Emily J Glick
Maisha G Foller
Smith V Ruta
Darci Z Perin
Alejandro K Garufi
Aruna U Nicka
Munro M Briddick
Clifford C Maclead
Rodrigues H Tollner
Sinclair V Glick
Francesco D Campain
Claire C Malet
Izzy S Paprocki
Mayumi U Ostrosky
Francesco Z Stockham
IdCountryDate
1000Spain2026-10-15
1001Brazil2026-10-19
1002Brazil2026-10-09
1003Germany2026-10-27
1004Spain2026-10-08
1005Russia2026-10-24
1006Brazil2026-10-20
1007Spain2026-10-23
1008Argentina2026-11-01
1009Japan2026-10-31
1010Argentina2026-11-04
1011Italy2026-10-24
1012Argentina2026-10-28
1013Japan2026-10-28
1014Argentina2026-10-10
1015Russia2026-10-15
1016Canada2026-10-22
1017India2026-10-16
1018Japan2026-10-13
1019United Kingdom2026-10-22
1020Argentina2026-10-17
1021Russia2026-10-18
1022United Kingdom2026-10-13
1023India2026-10-25
1024Italy2026-10-16
1025Russia2026-10-18
1026Canada2026-10-18
1027Spain2026-10-07
1028Japan2026-10-21
1029Germany2026-10-30
1030Brazil2026-10-13
1031India2026-10-12
1032France2026-10-08
1033Brazil2026-11-03
1034France2026-10-29
1035Italy2026-10-13
1036India2026-10-30
1037Brazil2026-10-30
1038Spain2026-10-16
1039France2026-10-15
1040United Kingdom2026-10-15
1041Brazil2026-10-14
1042United Kingdom2026-10-07
1043Brazil2026-10-07
1044Japan2026-11-01
1045Italy2026-10-30
1046Australia2026-10-25
1047Japan2026-10-13
1048Brazil2026-10-14
1049Italy2026-10-17

On-Demand Data

NameIdCountryDate
Leon L Perin1000Canada2026-10-07
Emily D Maclead1001France2026-10-10
Smith O Tollner1002France2026-10-28
Antonio I Inouye1003United Kingdom2026-11-04
Antonio J Nestle1004Russia2026-10-08
Aditya F Royster1005Argentina2026-10-11
Stacey E Maclead1006Germany2026-10-22
Faith Z Stockham1007Germany2026-10-11
Arvin I Ostrosky1008Brazil2026-10-31
Darci V Malet1009Russia2026-11-03
Maria D Butt1010Germany2026-10-28
Smith N Amigon1011Spain2026-10-18
Deepesh Q Kusko1012Argentina2026-11-01
Ricardo F Dilliard1013Italy2026-11-05
Aditya Z Stockham1014Japan2026-10-26
Julie D Caudy1015Australia2026-10-16
Aika A Nestle1016Spain2026-11-02
Leon X Gillian1017Italy2026-10-13
Ivar C Whobrey1018Russia2026-10-19
Tony A Saylors1019United Kingdom2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily V RoysterRussiaBernardo Dominic NEW
Aditya H CampainIndiaOnyama Limba UNQUALIFIED
Faith J KuskoIndiaIvan Magalhaes RENEWAL
Mayumi A PoquetteBrazilOnyama Limba NEGOTIATION
Salvatore Y GauchoCanadaElwin Sharvill RENEWAL
Antonio H MarrierSpainAnna Fali QUALIFIED
Leon F WaycottArgentinaIvan Magalhaes RENEWAL
Sinclair M PerinBrazilXuxue Feng QUALIFIED
Adams L WhobreyJapanAnna Fali NEW
Deepesh D TollnerBrazilIoni Bowcher QUALIFIED
Nicolas Z BologniaIndiaAsiya Javayant RENEWAL
Aditya S ShinkoGermanyOnyama Limba NEGOTIATION
Antonio R RutaUnited KingdomAnna Fali RENEWAL
Alejandro L KolmetzCanadaIoni Bowcher PROPOSAL
Stacey V WhobreyAustraliaElwin Sharvill PROPOSAL
Alejandro A PoquetteSpainAsiya Javayant PROPOSAL
Munro J KolmetzJapanAmy Elsner QUALIFIED
Deepesh H ShinkoJapanBernardo Dominic NEGOTIATION
Misaki N SaylorsUnited KingdomAsiya Javayant RENEWAL
Aruna E CaldareraAustraliaOnyama Limba UNQUALIFIED
Wickens F VocelkaGermanyBernardo Dominic RENEWAL
Mujtaba L AlbaresJapanBernardo Dominic UNQUALIFIED
Francesco U RutaBrazilAmy Elsner NEW
David M FlosiRussiaAsiya Javayant PROPOSAL
Costa Z CaudyRussiaAnna Fali UNQUALIFIED
Leja I AlbaresBrazilIvan Magalhaes NEW
Mujtaba U StockhamJapanOnyama Limba NEW
Ricardo Q AmigonBrazilElwin Sharvill QUALIFIED
Salvatore A RulapaughItalyStephen Shaw PROPOSAL
Mujtaba N IturbideIndiaAmy Elsner UNQUALIFIED
Octavia H AlbaresBrazilAnna Fali NEGOTIATION
Mujtaba V WieserSpainAmy Elsner UNQUALIFIED
Isabel R RoysterItalyOnyama Limba QUALIFIED
Darci A CampainIndiaElwin Sharvill UNQUALIFIED
Stacey J IturbideArgentinaAsiya Javayant NEGOTIATION
Aditya G VenereGermanyElwin Sharvill RENEWAL
Leon G OstroskyGermanyBernardo Dominic UNQUALIFIED
Silvio G FigeroaArgentinaAnna Fali RENEWAL
Julie U IturbideCanadaXuxue Feng PROPOSAL
Rodrigues K FollerAustraliaAsiya Javayant 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>