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 C PoquetteItalyOnyama Limba PROPOSAL
Ashley U FerenczArgentinaStephen Shaw NEW
Jones E StensethIndiaBernardo Dominic NEGOTIATION
Octavia W NickaArgentinaIoni Bowcher NEGOTIATION
Wickens E KuskoCanadaXuxue Feng NEW
Jeanfrancois I TollnerCanadaAmy Elsner RENEWAL
David O CaudyArgentinaElwin Sharvill QUALIFIED
Isabel T ChuiSpainElwin Sharvill RENEWAL
Mujtaba U SergiCanadaAsiya Javayant UNQUALIFIED
Morrow K DilliardBrazilAnna Fali RENEWAL
Silvio I WhobreyGermanyAsiya Javayant NEGOTIATION
Deepesh H GarufiCanadaOnyama Limba NEGOTIATION
Morrow G StensethAustraliaIvan Magalhaes NEW
Mayumi S DilliardRussiaXuxue Feng NEGOTIATION
Silvio A NickaFranceAsiya Javayant NEGOTIATION
Stacey T ShinkoBrazilAnna Fali RENEWAL
Silvio C DoeBrazilElwin Sharvill QUALIFIED
Faith B FlosiRussiaBernardo Dominic RENEWAL
Clifford S FigeroaIndiaAmy Elsner NEW
Ivar X DilliardBrazilStephen Shaw RENEWAL
Costa N GlickRussiaIoni Bowcher RENEWAL
Octavia L FerenczFranceIvan Magalhaes QUALIFIED
Clifford K TollnerSpainStephen Shaw UNQUALIFIED
Octavia W NestleFranceIvan Magalhaes UNQUALIFIED
Mayumi R IturbideUnited KingdomOnyama Limba NEW
Jones T MacleadFranceOnyama Limba RENEWAL
Francesco K MaletItalyStephen Shaw NEGOTIATION
Arvin A SchemmerArgentinaBernardo Dominic QUALIFIED
Rodrigues R CaudyAustraliaIvan Magalhaes RENEWAL
Stacey C MorascaUnited KingdomAmy Elsner NEGOTIATION
Greenwood F MorascaIndiaXuxue Feng QUALIFIED
Costa G CaudySpainElwin Sharvill PROPOSAL
Jones G GlickJapanIoni Bowcher RENEWAL
David C BologniaBrazilBernardo Dominic RENEWAL
Mujtaba T MacleadItalyAmy Elsner RENEWAL
Izzy A MacleadBrazilBernardo Dominic UNQUALIFIED
Deepesh H WieserCanadaOnyama Limba QUALIFIED
Antonio K RoysterGermanyStephen Shaw UNQUALIFIED
Nicolas F FigeroaJapanElwin Sharvill RENEWAL
Jefferson P StockhamSpainIoni Bowcher RENEWAL
Rodrigues K FerenczArgentinaElwin Sharvill RENEWAL
Costa G MorascaIndiaStephen Shaw NEGOTIATION
Faith H AmigonCanadaAsiya Javayant NEW
Salvatore C MorascaSpainOnyama Limba QUALIFIED
Emily P WaycottBrazilStephen Shaw QUALIFIED
Maria M RulapaughJapanIoni Bowcher UNQUALIFIED
Costa T TollnerRussiaStephen Shaw UNQUALIFIED
Arvin H WhobreyFranceIvan Magalhaes QUALIFIED
Costa O PerinSpainAnna Fali RENEWAL
Silvio L MaletBrazilAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Chavez F BologniaUnited KingdomElwin Sharvill QUALIFIED
Aditya D DarakjyItalyIvan Magalhaes UNQUALIFIED
Smith T PerinUnited KingdomAnna Fali UNQUALIFIED
Costa M PerinAustraliaOnyama Limba PROPOSAL
Salvatore I CampainFranceBernardo Dominic NEW
Rodrigues P ButtAustraliaStephen Shaw QUALIFIED
Sinclair J VocelkaGermanyStephen Shaw QUALIFIED
Sinclair D NestleBrazilIvan Magalhaes QUALIFIED
Francesco C GarufiBrazilOnyama Limba UNQUALIFIED
Kadeem X GauchoIndiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna O DarakjySpain2026-10-16Rousseaux, Michael Esq NEGOTIATION65Amy Elsner
1001Jennifer E SchemmerBrazil2026-11-06Dorl, James J Esq NEGOTIATION85Bernardo Dominic
1002Deepesh M SergiIndia2026-11-01Rangoni Of Florence NEW25Stephen Shaw
1003Mujtaba N RutaItaly2026-11-09Chemel, James L Cpa RENEWAL2Ivan Magalhaes
1004Leja M StockhamSpain2026-11-12Feltz Printing Service UNQUALIFIED55Xuxue Feng
1005Aditya T BologniaUnited Kingdom2026-11-09Rangoni Of Florence NEW15Amy Elsner
1006Sinclair G OldroydFrance2026-10-18Chapman, Ross E Esq QUALIFIED60Elwin Sharvill
1007Costa O OldroydArgentina2026-10-23Buckley Miller Wright QUALIFIED6Bernardo Dominic
1008Jones W AmigonBrazil2026-10-24Chanay, Jeffrey A Esq NEW15Ivan Magalhaes
1009Aruna D PerinGermany2026-10-30Rousseaux, Michael Esq UNQUALIFIED2Xuxue Feng
1010Aika G MacleadCanada2026-10-30Commercial Press NEW5Ioni Bowcher
1011Ricardo D SergiItaly2026-10-17Benton, John B Jr QUALIFIED50Onyama Limba
1012Greenwood M CaudySpain2026-11-03Benton, John B Jr PROPOSAL99Stephen Shaw
1013Maisha A SaylorsArgentina2026-10-20Buckley Miller Wright RENEWAL62Bernardo Dominic
1014Johnson K RoysterBrazil2026-10-15Feltz Printing Service NEW39Ioni Bowcher
1015Kadeem F FlosiUnited Kingdom2026-10-30Printing Dimensions PROPOSAL90Onyama Limba
1016Maria N OstroskyArgentina2026-11-12Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1017Adams R RulapaughSpain2026-11-06Feltz Printing Service UNQUALIFIED98Anna Fali
1018Chavez V FerenczBrazil2026-10-18Chanay, Jeffrey A Esq RENEWAL31Anna Fali
1019James R InouyeRussia2026-10-14Chanay, Jeffrey A Esq RENEWAL64Ioni Bowcher
1020Kaitlin D PoquetteBrazil2026-10-22King, Christopher A Esq QUALIFIED52Onyama Limba
1021Johnson O NickaJapan2026-10-29Morlong Associates QUALIFIED27Amy Elsner
1022Ivar C IturbideGermany2026-10-24Buckley Miller Wright UNQUALIFIED57Elwin Sharvill
1023Alejandro E CampainRussia2026-10-28Truhlar And Truhlar Attys QUALIFIED93Onyama Limba
1024Maisha K DoeJapan2026-11-07Dorl, James J Esq UNQUALIFIED60Elwin Sharvill
1025Sinclair U AmigonJapan2026-10-29Buckley Miller Wright UNQUALIFIED13Ivan Magalhaes
1026Tony M NickaGermany2026-10-29Chanay, Jeffrey A Esq NEW21Onyama Limba
1027Ricardo X FollerSpain2026-10-31Printing Dimensions RENEWAL81Amy Elsner
1028Munro L MarrierBrazil2026-10-31Truhlar And Truhlar Attys NEW16Stephen Shaw
1029Darci C WaycottAustralia2026-10-27Rousseaux, Michael Esq NEW49Xuxue Feng
1030Alejandro F TollnerUnited Kingdom2026-10-20Rousseaux, Michael Esq QUALIFIED43Bernardo Dominic
1031Stacey G SlusarskiAustralia2026-11-08Feltz Printing Service UNQUALIFIED1Stephen Shaw
1032Isabel P TollnerArgentina2026-10-30Dorl, James J Esq RENEWAL83Onyama Limba
1033Costa K SlusarskiCanada2026-11-12Rangoni Of Florence QUALIFIED81Xuxue Feng
1034Salvatore T PerinCanada2026-10-29Morlong Associates RENEWAL76Bernardo Dominic
1035Morrow Q GlickRussia2026-10-16King, Christopher A Esq NEW85Asiya Javayant
1036Chavez B MorascaItaly2026-11-10Printing Dimensions PROPOSAL63Anna Fali
1037Tony R RoysterItaly2026-11-12Commercial Press PROPOSAL25Anna Fali
1038Claire L FlosiIndia2026-10-18Dorl, James J Esq NEW42Ivan Magalhaes
1039Aika M WaycottBrazil2026-11-07Dorl, James J Esq PROPOSAL71Stephen Shaw
1040Arvin L AmigonUnited Kingdom2026-10-23Buckley Miller Wright UNQUALIFIED79Onyama Limba
1041Munro B InouyeAustralia2026-10-22Feltz Printing Service RENEWAL46Stephen Shaw
1042Greenwood A ButtItaly2026-11-12Dorl, James J Esq NEGOTIATION26Onyama Limba
1043Smith I WieserSpain2026-10-16Chanay, Jeffrey A Esq QUALIFIED39Onyama Limba
1044Jones M OldroydIndia2026-10-25Benton, John B Jr UNQUALIFIED68Bernardo Dominic
1045Clifford W InouyeGermany2026-10-25Chapman, Ross E Esq UNQUALIFIED53Asiya Javayant
1046Jennifer O MaletIndia2026-10-20Printing Dimensions NEW62Onyama Limba
1047Maria R VenereSpain2026-10-16Feiner Bros PROPOSAL97Asiya Javayant
1048Aika D AlbaresGermany2026-11-10Benton, John B Jr RENEWAL95Anna Fali
1049Mujtaba B WaycottArgentina2026-10-28Buckley Miller Wright UNQUALIFIED43Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair X PerinAustraliaStephen Shaw QUALIFIED
Costa C WhobreySpainXuxue Feng RENEWAL
Silvio U RoysterSpainXuxue Feng UNQUALIFIED
Stacey X BologniaIndiaElwin Sharvill RENEWAL
Nicolas L InouyeAustraliaBernardo Dominic UNQUALIFIED
Tony S GarufiItalyElwin Sharvill UNQUALIFIED
James A OldroydCanadaIoni Bowcher UNQUALIFIED
James I RoysterJapanIoni Bowcher RENEWAL
Emily K FollerAustraliaXuxue Feng QUALIFIED
Octavia M BowleyJapanXuxue Feng QUALIFIED
Greenwood J MarrierRussiaAmy Elsner NEGOTIATION
Sinclair L ButtAustraliaOnyama Limba NEGOTIATION
Leja N MarrierIndiaXuxue Feng UNQUALIFIED
Murillo X FollerUnited KingdomIoni Bowcher RENEWAL
Kaitlin E GarufiItalyIvan Magalhaes RENEWAL
Aika D RimJapanOnyama Limba QUALIFIED
Alejandro J RulapaughIndiaXuxue Feng PROPOSAL
Misaki T FerenczSpainOnyama Limba NEGOTIATION
Aditya X TollnerItalyOnyama Limba NEGOTIATION
Emily B KuskoJapanElwin Sharvill QUALIFIED
Faith S MaletSpainBernardo Dominic RENEWAL
Jennifer T CampainBrazilXuxue Feng RENEWAL
Alejandro R GarufiIndiaIoni Bowcher UNQUALIFIED
Claire R StensethGermanyAmy Elsner UNQUALIFIED
Darci U KolmetzCanadaXuxue Feng NEW
Stacey L CaudyGermanyAmy Elsner RENEWAL
Octavia Q FlosiGermanyStephen Shaw NEW
Faith Q RimJapanAnna Fali PROPOSAL
James G VocelkaCanadaBernardo Dominic NEW
Aditya M RimSpainXuxue Feng UNQUALIFIED
Kadeem B RoysterFranceAmy Elsner PROPOSAL
Antonio E WaycottGermanyAsiya Javayant RENEWAL
Leon T BowleyGermanyIvan Magalhaes PROPOSAL
Maria W FollerAustraliaXuxue Feng UNQUALIFIED
Emily K GlickCanadaBernardo Dominic UNQUALIFIED
Emily D FigeroaItalyBernardo Dominic UNQUALIFIED
Nicolas H PoquetteSpainAnna Fali UNQUALIFIED
Emily F GauchoItalyAsiya Javayant NEW
Aika F FerenczIndiaBernardo Dominic PROPOSAL
Clifford Q KolmetzBrazilAsiya Javayant UNQUALIFIED
Rodrigues Y ChuiRussiaStephen Shaw PROPOSAL
Mayumi X RoysterRussiaAnna Fali QUALIFIED
Kaitlin F NestleItalyOnyama Limba NEGOTIATION
Julie V NickaUnited KingdomBernardo Dominic QUALIFIED
Octavia C ChuiAustraliaOnyama Limba PROPOSAL
Ricardo I FigeroaRussiaIvan Magalhaes QUALIFIED
Emily O DoeArgentinaBernardo Dominic RENEWAL
Deepesh E GarufiRussiaOnyama Limba UNQUALIFIED
Leja T CaudyArgentinaAnna Fali RENEWAL
Antonio R BriddickJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Arvin V Kolmetz
Maria G Marrier
Greenwood I Nestle
Nicolas U Slusarski
Leon D Briddick
Jeanfrancois J Royster
Octavia T Marrier
Greenwood B Bolognia
Mayumi D Whobrey
David D Malet
Silvio N Vocelka
Jennifer F Royster
Leja O Shinko
Leon E Bowley
Darci K Chui
Aika C Waycott
Darci K Paprocki
Antonio Y Rim
Stacey G Whobrey
Ashley X Nicka
Mujtaba Q Oldroyd
Costa G Vocelka
Chavez U Caldarera
Juan X Dilliard
Tony R Caudy
Juan S Kusko
Aruna B Glick
Izzy G Nicka
Arvin A Waycott
Munro P Foller
Kadeem V Iturbide
Mayumi X Vocelka
Claire Y Nestle
Maisha Y Saylors
Aruna K Darakjy
Ivar F Foller
Chavez C Darakjy
Mujtaba K Vocelka
Kadeem I Venere
Izzy G Stenseth
Kadeem L Saylors
Smith B Nicka
Leja L Paprocki
Misaki M Gillian
Mayumi W Briddick
Francesco N Caudy
Arvin K Shinko
Greenwood V Campain
Francesco P Ruta
Ivar M Ostrosky
IdCountryDate
1000Canada2026-11-05
1001India2026-10-19
1002Spain2026-11-05
1003Germany2026-11-12
1004Russia2026-11-05
1005Brazil2026-11-11
1006Germany2026-10-30
1007Germany2026-11-03
1008Canada2026-10-15
1009India2026-10-17
1010Argentina2026-10-29
1011Brazil2026-11-09
1012Canada2026-11-07
1013Italy2026-11-12
1014United Kingdom2026-10-23
1015Brazil2026-10-20
1016Australia2026-11-04
1017United Kingdom2026-10-21
1018Canada2026-10-24
1019Italy2026-10-18
1020Spain2026-10-14
1021Germany2026-10-19
1022India2026-10-16
1023Russia2026-11-02
1024Japan2026-10-25
1025Italy2026-10-22
1026India2026-10-25
1027Brazil2026-10-31
1028Italy2026-10-16
1029Italy2026-11-12
1030Argentina2026-11-06
1031Australia2026-10-17
1032Argentina2026-11-07
1033Italy2026-11-08
1034France2026-10-23
1035Germany2026-10-14
1036Brazil2026-10-30
1037Germany2026-10-19
1038Canada2026-11-03
1039India2026-11-05
1040Spain2026-10-14
1041Italy2026-10-31
1042Russia2026-10-29
1043France2026-10-19
1044Australia2026-10-22
1045Argentina2026-11-10
1046Germany2026-10-23
1047Brazil2026-11-08
1048Canada2026-11-09
1049Canada2026-11-07

On-Demand Data

NameIdCountryDate
Jefferson Q Schemmer1000Italy2026-10-17
Murillo Z Inouye1001Brazil2026-10-23
Stacey S Poquette1002India2026-11-03
James W Maclead1003Spain2026-10-30
Wickens I Royster1004Canada2026-11-03
Sinclair P Waycott1005France2026-10-17
Maria S Oldroyd1006Italy2026-11-04
Smith L Marrier1007Spain2026-11-01
Jeanfrancois Y Saylors1008Argentina2026-10-26
Adams Q Garufi1009Italy2026-10-20
Ashley V Campain1010Canada2026-10-17
Johnson P Oldroyd1011Brazil2026-11-10
Nicolas E Garufi1012France2026-11-12
Ivar F Morasca1013Argentina2026-11-02
Francesco H Kolmetz1014Germany2026-10-21
Julie L Nestle1015Spain2026-11-08
Antonio S Wieser1016France2026-10-16
Silvio G Nicka1017Brazil2026-10-19
Nicolas I Nicka1018India2026-11-03
Darci B Chui1019France2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily K RutaSpainAmy Elsner QUALIFIED
Mujtaba Y RulapaughSpainAmy Elsner PROPOSAL
Nicolas P PerinBrazilAsiya Javayant NEW
Jefferson K OstroskyArgentinaAmy Elsner QUALIFIED
Ricardo F TollnerCanadaAnna Fali NEGOTIATION
Arvin G FlosiIndiaIoni Bowcher UNQUALIFIED
Alejandro L BologniaItalyAmy Elsner NEGOTIATION
Johnson N RulapaughCanadaAnna Fali RENEWAL
Juan T KuskoItalyStephen Shaw PROPOSAL
Juan S WhobreySpainStephen Shaw NEGOTIATION
Leon Y NestleSpainStephen Shaw UNQUALIFIED
Darci V BriddickFranceElwin Sharvill NEW
Deepesh Y WaycottIndiaIoni Bowcher QUALIFIED
Murillo F OstroskyIndiaIvan Magalhaes RENEWAL
Jeanfrancois A DoeIndiaBernardo Dominic NEGOTIATION
Adams P FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Cody X VenereFranceIoni Bowcher NEW
Morrow A ButtFranceIvan Magalhaes UNQUALIFIED
Stacey X PaprockiFranceAnna Fali PROPOSAL
Darci N PerinJapanIoni Bowcher NEW
Kaitlin B DilliardItalyStephen Shaw NEW
Octavia R MorascaCanadaBernardo Dominic RENEWAL
Deepesh B BologniaCanadaBernardo Dominic PROPOSAL
Munro I WhobreyJapanAmy Elsner PROPOSAL
Cody T RimAustraliaAsiya Javayant NEW
Isabel N AmigonUnited KingdomBernardo Dominic RENEWAL
Ashley D WhobreyUnited KingdomAmy Elsner PROPOSAL
Nicolas N NickaGermanyElwin Sharvill UNQUALIFIED
Ricardo O KolmetzRussiaAnna Fali RENEWAL
Morrow W WhobreyIndiaStephen Shaw RENEWAL
Munro X FollerArgentinaAmy Elsner UNQUALIFIED
Sinclair S InouyeCanadaAsiya Javayant NEW
Munro X IturbideJapanOnyama Limba UNQUALIFIED
Adams R RimJapanAnna Fali UNQUALIFIED
Ashley C PoquetteGermanyAnna Fali PROPOSAL
Silvio W DoeArgentinaStephen Shaw NEW
Wickens U MorascaBrazilBernardo Dominic NEW
Leon A MaletItalyIvan Magalhaes QUALIFIED
Deepesh Z GillianRussiaElwin Sharvill QUALIFIED
Julie X StockhamRussiaIvan Magalhaes PROPOSAL

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