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
Smith A VenereIndiaIoni Bowcher UNQUALIFIED
Emily R GarufiRussiaOnyama Limba NEGOTIATION
Adams H SergiJapanIvan Magalhaes PROPOSAL
Rodrigues K CampainIndiaAsiya Javayant NEW
Kadeem F ButtFranceAsiya Javayant PROPOSAL
Ivar V CaudyRussiaElwin Sharvill PROPOSAL
Jennifer J StensethUnited KingdomOnyama Limba RENEWAL
Maria D SlusarskiAustraliaElwin Sharvill PROPOSAL
Kaitlin N ChuiItalyElwin Sharvill NEGOTIATION
David H InouyeSpainBernardo Dominic PROPOSAL
Greenwood R CaudyUnited KingdomIoni Bowcher RENEWAL
Munro R StensethArgentinaElwin Sharvill QUALIFIED
Adams H FigeroaRussiaBernardo Dominic PROPOSAL
Jeanfrancois B DilliardRussiaStephen Shaw NEW
Kaitlin W VenereJapanIvan Magalhaes NEW
Ashley H MarrierRussiaAsiya Javayant RENEWAL
Claire J StensethFranceBernardo Dominic UNQUALIFIED
Juan C AlbaresItalyBernardo Dominic NEGOTIATION
Izzy F VocelkaSpainStephen Shaw PROPOSAL
Juan P OldroydBrazilStephen Shaw QUALIFIED
Jones F MarrierJapanAnna Fali UNQUALIFIED
Jefferson K VenereUnited KingdomOnyama Limba UNQUALIFIED
Misaki D OldroydItalyOnyama Limba QUALIFIED
Morrow T FigeroaBrazilStephen Shaw NEW
Salvatore V OstroskyItalyBernardo Dominic QUALIFIED
Emily E RutaSpainXuxue Feng RENEWAL
Deepesh O WhobreyAustraliaXuxue Feng RENEWAL
Octavia R PaprockiUnited KingdomIoni Bowcher RENEWAL
Julie M MaletJapanElwin Sharvill UNQUALIFIED
Jones A SlusarskiSpainIvan Magalhaes PROPOSAL
Costa V SchemmerFranceBernardo Dominic UNQUALIFIED
Octavia B TollnerArgentinaIvan Magalhaes PROPOSAL
Ivar G VenereAustraliaIoni Bowcher NEGOTIATION
Rodrigues M SaylorsCanadaOnyama Limba RENEWAL
Silvio P ShinkoItalyIoni Bowcher NEW
Mujtaba K BowleyUnited KingdomOnyama Limba RENEWAL
Juan Z TollnerArgentinaIoni Bowcher NEGOTIATION
Mayumi N AlbaresArgentinaOnyama Limba QUALIFIED
Isabel J GarufiIndiaAsiya Javayant NEGOTIATION
Isabel K KolmetzGermanyIvan Magalhaes NEW
Murillo J AmigonFranceStephen Shaw RENEWAL
Johnson O ShinkoAustraliaIoni Bowcher UNQUALIFIED
Maria I SchemmerGermanyAsiya Javayant NEGOTIATION
Misaki O MacleadIndiaElwin Sharvill UNQUALIFIED
Aditya J GillianSpainAnna Fali PROPOSAL
Ivar J IturbideAustraliaXuxue Feng UNQUALIFIED
Kadeem B CaudyJapanAmy Elsner NEGOTIATION
Cody T MaletAustraliaIvan Magalhaes RENEWAL
Nicolas T GauchoRussiaOnyama Limba NEW
Maisha B MorascaBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford P ButtUnited KingdomBernardo Dominic PROPOSAL
Antonio A KolmetzFranceElwin Sharvill QUALIFIED
Kaitlin A NickaGermanyOnyama Limba NEW
Izzy H SergiJapanAmy Elsner NEGOTIATION
Greenwood E NestleFranceStephen Shaw QUALIFIED
Jeanfrancois V PaprockiCanadaAmy Elsner PROPOSAL
Johnson G BologniaAustraliaIoni Bowcher PROPOSAL
Antonio A IturbideIndiaStephen Shaw RENEWAL
Emily I GillianItalyAnna Fali QUALIFIED
Tony T BologniaSpainStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z AmigonGermany2026-10-28Rousseaux, Michael Esq NEGOTIATION55Asiya Javayant
1001Aditya Z PaprockiGermany2026-10-15Feltz Printing Service QUALIFIED10Anna Fali
1002Smith G VocelkaAustralia2026-10-17Printing Dimensions NEW81Bernardo Dominic
1003Morrow U CaldareraJapan2026-10-16Morlong Associates PROPOSAL18Amy Elsner
1004Alejandro R GlickRussia2026-10-25Rousseaux, Michael Esq UNQUALIFIED56Elwin Sharvill
1005Claire M KuskoFrance2026-10-28Buckley Miller Wright NEW91Ivan Magalhaes
1006Faith J GillianCanada2026-10-29Morlong Associates NEGOTIATION64Bernardo Dominic
1007Julie W RutaRussia2026-10-28Commercial Press RENEWAL86Amy Elsner
1008Maria Q SergiFrance2026-10-26Morlong Associates NEGOTIATION8Asiya Javayant
1009Aditya U RimIndia2026-10-31Feiner Bros QUALIFIED35Elwin Sharvill
1010Johnson C GauchoGermany2026-10-28Morlong Associates QUALIFIED69Ioni Bowcher
1011Jennifer H StensethFrance2026-10-20Benton, John B Jr NEGOTIATION17Asiya Javayant
1012Tony V SlusarskiSpain2026-10-25Feltz Printing Service UNQUALIFIED96Onyama Limba
1013Faith G WieserSpain2026-10-09Feltz Printing Service QUALIFIED27Xuxue Feng
1014Chavez V BologniaSpain2026-10-15Truhlar And Truhlar Attys NEW82Asiya Javayant
1015Stacey H FollerJapan2026-10-13Feiner Bros NEGOTIATION63Asiya Javayant
1016Aditya O StockhamBrazil2026-10-29Chanay, Jeffrey A Esq NEW80Onyama Limba
1017Salvatore B StensethItaly2026-10-29Morlong Associates UNQUALIFIED60Onyama Limba
1018Faith S MaletCanada2026-11-04Rangoni Of Florence NEW33Xuxue Feng
1019Leja I SchemmerRussia2026-11-06Buckley Miller Wright UNQUALIFIED94Amy Elsner
1020Aruna M NestleGermany2026-10-23Chemel, James L Cpa PROPOSAL66Anna Fali
1021Ashley G StockhamIndia2026-10-09Truhlar And Truhlar Attys PROPOSAL73Onyama Limba
1022Emily M RoysterGermany2026-10-17Rangoni Of Florence UNQUALIFIED69Onyama Limba
1023Wickens E OstroskyBrazil2026-10-29Rangoni Of Florence PROPOSAL80Onyama Limba
1024James G StensethJapan2026-10-18Printing Dimensions QUALIFIED75Onyama Limba
1025Francesco D WieserItaly2026-10-28Commercial Press PROPOSAL75Stephen Shaw
1026Francesco Q SlusarskiCanada2026-11-05Printing Dimensions RENEWAL0Asiya Javayant
1027Munro N MaletAustralia2026-10-11Feltz Printing Service NEGOTIATION57Bernardo Dominic
1028Aditya H DoeRussia2026-10-19Dorl, James J Esq UNQUALIFIED63Xuxue Feng
1029Greenwood V WaycottBrazil2026-11-05Truhlar And Truhlar Attys RENEWAL59Ioni Bowcher
1030Jones P CaldareraFrance2026-10-18Buckley Miller Wright NEW0Stephen Shaw
1031Darci S DilliardArgentina2026-10-25Commercial Press RENEWAL95Bernardo Dominic
1032Johnson V WieserRussia2026-11-04Printing Dimensions NEW64Xuxue Feng
1033Cody H GauchoSpain2026-10-20Truhlar And Truhlar Attys NEW56Anna Fali
1034Ashley Q InouyeRussia2026-11-02Commercial Press QUALIFIED15Xuxue Feng
1035Leon Q RutaArgentina2026-11-04Chemel, James L Cpa QUALIFIED3Bernardo Dominic
1036Cody X SaylorsAustralia2026-10-12Commercial Press NEW54Ivan Magalhaes
1037Stacey Q PoquetteFrance2026-11-03Morlong Associates PROPOSAL27Xuxue Feng
1038Claire V SchemmerRussia2026-10-29King, Christopher A Esq RENEWAL40Onyama Limba
1039Sinclair N InouyeJapan2026-10-20Rangoni Of Florence RENEWAL61Onyama Limba
1040Leja N WieserItaly2026-10-13Benton, John B Jr QUALIFIED64Xuxue Feng
1041Leja V CaudyGermany2026-10-23Feiner Bros QUALIFIED15Ioni Bowcher
1042Tony E RoysterSpain2026-10-16Benton, John B Jr RENEWAL70Anna Fali
1043Maria R MaletSpain2026-10-10Dorl, James J Esq NEGOTIATION35Elwin Sharvill
1044Clifford W MaletSpain2026-11-06Benton, John B Jr PROPOSAL32Ivan Magalhaes
1045Smith Q CaldareraGermany2026-10-22Chemel, James L Cpa QUALIFIED92Elwin Sharvill
1046Alejandro F PerinFrance2026-10-27Rousseaux, Michael Esq PROPOSAL81Elwin Sharvill
1047Chavez S MarrierItaly2026-10-15Rangoni Of Florence PROPOSAL0Ioni Bowcher
1048Nicolas A ButtItaly2026-11-04Rousseaux, Michael Esq NEGOTIATION1Anna Fali
1049Antonio G GauchoCanada2026-10-21Chemel, James L Cpa NEW83Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody C SlusarskiBrazilXuxue Feng NEGOTIATION
Clifford B TollnerFranceAmy Elsner RENEWAL
Johnson H FollerSpainAmy Elsner UNQUALIFIED
Octavia N SchemmerArgentinaAnna Fali NEGOTIATION
Leja J MaletBrazilIoni Bowcher RENEWAL
Nicolas H RutaAustraliaStephen Shaw UNQUALIFIED
Leon B NestleFranceOnyama Limba NEW
David J FollerSpainAnna Fali QUALIFIED
Aika S OstroskyFranceIoni Bowcher QUALIFIED
Aruna A DarakjyCanadaIvan Magalhaes RENEWAL
Tony J SlusarskiSpainXuxue Feng PROPOSAL
Ricardo T FlosiItalyAmy Elsner UNQUALIFIED
Octavia E AlbaresRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois Y ChuiArgentinaXuxue Feng RENEWAL
Costa H MaletArgentinaOnyama Limba NEW
Sinclair D OstroskyBrazilAnna Fali NEGOTIATION
Rodrigues M PaprockiFranceAsiya Javayant PROPOSAL
Stacey X RimAustraliaAnna Fali NEW
David S WhobreySpainOnyama Limba PROPOSAL
Jeanfrancois O MacleadCanadaAmy Elsner NEGOTIATION
Smith J PaprockiSpainElwin Sharvill NEGOTIATION
Morrow R DarakjyAustraliaBernardo Dominic NEGOTIATION
Maisha N SaylorsRussiaXuxue Feng NEW
Deepesh J RimArgentinaAmy Elsner PROPOSAL
Isabel K OldroydIndiaIoni Bowcher NEW
Adams A MaletJapanAsiya Javayant RENEWAL
Leon I TollnerFranceAmy Elsner UNQUALIFIED
Jennifer C RimJapanAsiya Javayant NEW
Izzy R CaldareraFranceAmy Elsner PROPOSAL
Isabel U RimBrazilBernardo Dominic QUALIFIED
Ashley W DarakjyCanadaAnna Fali NEW
Aditya Z RulapaughFranceStephen Shaw NEGOTIATION
Ricardo V RimSpainElwin Sharvill QUALIFIED
Julie E SaylorsItalyXuxue Feng PROPOSAL
Mujtaba W WhobreyItalyElwin Sharvill PROPOSAL
Ivar P MarrierBrazilAsiya Javayant NEW
Silvio L MorascaAustraliaIoni Bowcher PROPOSAL
Leon L DilliardRussiaIvan Magalhaes PROPOSAL
Claire A SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Aruna Y GauchoItalyAnna Fali RENEWAL
Juan X PerinFranceAnna Fali UNQUALIFIED
Juan U WaycottJapanXuxue Feng UNQUALIFIED
Mujtaba M MaletItalyXuxue Feng UNQUALIFIED
Smith W MaletFranceOnyama Limba UNQUALIFIED
Antonio O GarufiArgentinaBernardo Dominic UNQUALIFIED
Wickens C GauchoAustraliaIvan Magalhaes NEW
Claire K GauchoFranceIoni Bowcher NEGOTIATION
Faith R MacleadJapanStephen Shaw QUALIFIED
Maria Q FigeroaGermanyStephen Shaw NEW
Jeanfrancois W WieserJapanAsiya Javayant NEW
Frozen Columns
Name
Rodrigues X Vocelka
Deepesh R Nicka
Alejandro B Slusarski
Johnson S Paprocki
Tony G Gaucho
Stacey A Stenseth
Misaki P Marrier
Ivar W Darakjy
Izzy K Figeroa
Alejandro X Albares
Cody N Amigon
Jennifer I Waycott
Chavez Z Marrier
Smith N Perin
Rodrigues O Malet
Clifford G Malet
Mujtaba N Flosi
Jennifer J Stockham
Ashley M Flosi
Alejandro U Slusarski
Jones O Slusarski
Jeanfrancois B Doe
Julie S Garufi
James B Shinko
Kaitlin J Bowley
Silvio Z Dilliard
Salvatore Y Campain
Murillo G Caudy
Clifford M Darakjy
Costa S Bowley
Murillo N Malet
Arvin B Figeroa
Isabel B Gillian
Alejandro X Slusarski
Claire H Paprocki
Tony I Maclead
Wickens T Poquette
Leja L Dilliard
David G Rim
Clifford J Malet
Darci S Nestle
Clifford J Darakjy
Greenwood I Doe
Greenwood B Bowley
Jones R Wieser
Leon C Gaucho
Munro S Morasca
Salvatore A Morasca
Antonio Y Campain
Stacey H Wieser
IdCountryDate
1000Italy2026-11-06
1001India2026-10-20
1002United Kingdom2026-10-12
1003Brazil2026-10-23
1004Japan2026-10-24
1005Canada2026-10-13
1006Argentina2026-10-15
1007Australia2026-11-04
1008Australia2026-11-02
1009Italy2026-10-19
1010Australia2026-10-31
1011Russia2026-11-03
1012India2026-10-25
1013Japan2026-10-18
1014United Kingdom2026-11-05
1015Germany2026-10-10
1016United Kingdom2026-11-05
1017Australia2026-10-17
1018France2026-11-07
1019Argentina2026-10-12
1020France2026-10-19
1021France2026-11-02
1022Canada2026-10-22
1023Russia2026-10-28
1024Argentina2026-11-06
1025Argentina2026-10-17
1026Argentina2026-11-07
1027Italy2026-10-29
1028Germany2026-10-25
1029Argentina2026-10-21
1030Russia2026-10-24
1031Australia2026-10-28
1032India2026-10-12
1033Italy2026-10-25
1034Brazil2026-10-26
1035Russia2026-11-03
1036Canada2026-10-21
1037Japan2026-10-18
1038Brazil2026-10-26
1039India2026-10-30
1040United Kingdom2026-11-04
1041Russia2026-10-15
1042Brazil2026-11-06
1043Brazil2026-10-19
1044France2026-10-14
1045Argentina2026-11-07
1046United Kingdom2026-10-09
1047Brazil2026-11-04
1048India2026-10-27
1049Australia2026-10-21

On-Demand Data

NameIdCountryDate
Morrow G Kusko1000Australia2026-10-27
Ricardo D Rulapaugh1001Argentina2026-11-07
Kaitlin A Doe1002United Kingdom2026-11-01
Octavia U Wieser1003Australia2026-10-11
Maisha O Vocelka1004Australia2026-10-17
Mayumi R Shinko1005Argentina2026-10-11
Chavez O Stockham1006Russia2026-10-25
Murillo A Doe1007Russia2026-10-30
Izzy J Bolognia1008Italy2026-11-01
Claire Q Caldarera1009France2026-11-05
Johnson M Dilliard1010Russia2026-10-21
Jones I Ferencz1011France2026-11-07
Stacey Y Chui1012France2026-10-24
Ivar G Caudy1013France2026-10-13
Isabel C Wieser1014Germany2026-10-11
Aruna V Ostrosky1015Australia2026-10-11
Kadeem W Rulapaugh1016Italy2026-10-27
Silvio S Shinko1017France2026-10-11
Francesco P Amigon1018Japan2026-11-01
Alejandro S Doe1019United Kingdom2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey C PoquetteGermanyIoni Bowcher NEW
Cody E PaprockiBrazilAnna Fali NEW
Clifford R MarrierRussiaElwin Sharvill NEGOTIATION
Aika P WhobreyItalyAsiya Javayant RENEWAL
Morrow W StensethSpainBernardo Dominic PROPOSAL
Izzy Y MaletFranceIoni Bowcher UNQUALIFIED
Izzy W PoquetteBrazilIoni Bowcher RENEWAL
Silvio N VenereAustraliaXuxue Feng UNQUALIFIED
Silvio Y RimUnited KingdomAsiya Javayant QUALIFIED
Rodrigues X FlosiArgentinaIoni Bowcher NEW
Emily G MacleadAustraliaElwin Sharvill QUALIFIED
Murillo K StensethFranceBernardo Dominic RENEWAL
Isabel A NestleCanadaIoni Bowcher NEW
Salvatore S SlusarskiArgentinaStephen Shaw NEGOTIATION
Johnson U WhobreyFranceXuxue Feng UNQUALIFIED
Silvio E OstroskyGermanyBernardo Dominic UNQUALIFIED
Emily D WhobreySpainOnyama Limba UNQUALIFIED
Cody Z VenereBrazilBernardo Dominic PROPOSAL
Morrow M SlusarskiBrazilOnyama Limba RENEWAL
Francesco F DarakjyUnited KingdomAsiya Javayant RENEWAL
Stacey X SergiArgentinaAnna Fali UNQUALIFIED
Leon E OldroydArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin X RulapaughCanadaIvan Magalhaes UNQUALIFIED
Aika T SchemmerFranceAsiya Javayant PROPOSAL
Nicolas Z CaldareraIndiaIvan Magalhaes NEGOTIATION
Jefferson F DarakjyArgentinaStephen Shaw UNQUALIFIED
Leon M GarufiCanadaElwin Sharvill QUALIFIED
Emily R DilliardRussiaIvan Magalhaes PROPOSAL
Mujtaba C RoysterFranceAsiya Javayant PROPOSAL
Tony A StockhamUnited KingdomElwin Sharvill NEGOTIATION
Maisha S AmigonAustraliaIoni Bowcher PROPOSAL
Arvin O OstroskyCanadaAmy Elsner PROPOSAL
Clifford Z SchemmerIndiaBernardo Dominic RENEWAL
Octavia U BologniaUnited KingdomAmy Elsner PROPOSAL
Faith R ButtFranceElwin Sharvill PROPOSAL
Ashley D InouyeAustraliaStephen Shaw PROPOSAL
Rodrigues Y BologniaArgentinaStephen Shaw RENEWAL
Ivar Z ShinkoSpainStephen Shaw UNQUALIFIED
Jennifer J MaletItalyAmy Elsner QUALIFIED
Ashley V BriddickItalyBernardo Dominic NEGOTIATION

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