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
Misaki H MarrierGermanyElwin Sharvill UNQUALIFIED
Murillo M FlosiBrazilIvan Magalhaes RENEWAL
Rodrigues F PaprockiJapanIvan Magalhaes UNQUALIFIED
Alejandro M CampainUnited KingdomBernardo Dominic NEW
Aika Z ButtGermanyAnna Fali QUALIFIED
Sinclair O MacleadArgentinaOnyama Limba NEGOTIATION
Murillo P AlbaresAustraliaAnna Fali RENEWAL
Aika L IturbideItalyElwin Sharvill NEW
Clifford N CampainItalyElwin Sharvill UNQUALIFIED
Darci H TollnerSpainIvan Magalhaes RENEWAL
Maria Z GlickSpainOnyama Limba NEW
James E WaycottGermanyOnyama Limba PROPOSAL
Salvatore E FigeroaUnited KingdomAnna Fali QUALIFIED
Cody Y IturbideCanadaAnna Fali NEW
Johnson X RutaCanadaAnna Fali UNQUALIFIED
Salvatore B DoeBrazilAnna Fali RENEWAL
Jefferson Z ChuiBrazilAnna Fali NEW
Kaitlin Q MarrierItalyAmy Elsner NEW
Maisha K GauchoGermanyElwin Sharvill QUALIFIED
Chavez T RimArgentinaOnyama Limba RENEWAL
Darci S InouyeFranceAmy Elsner NEW
Jennifer D RutaItalyOnyama Limba NEGOTIATION
Rodrigues V DoeSpainIvan Magalhaes RENEWAL
Cody A BologniaFranceAnna Fali QUALIFIED
Wickens R GarufiGermanyElwin Sharvill PROPOSAL
Salvatore Q SchemmerUnited KingdomAmy Elsner PROPOSAL
Claire U OstroskyBrazilAnna Fali PROPOSAL
Chavez O DoeUnited KingdomElwin Sharvill QUALIFIED
Morrow U ChuiAustraliaElwin Sharvill PROPOSAL
Isabel X DilliardCanadaAsiya Javayant PROPOSAL
Juan P VocelkaAustraliaElwin Sharvill NEGOTIATION
Smith Q IturbideAustraliaAmy Elsner UNQUALIFIED
Adams K TollnerSpainStephen Shaw RENEWAL
Ivar Q BriddickGermanyIoni Bowcher PROPOSAL
Johnson P DoeUnited KingdomOnyama Limba NEGOTIATION
Julie V StockhamSpainOnyama Limba RENEWAL
Julie O GauchoFranceBernardo Dominic RENEWAL
Isabel C NestleCanadaBernardo Dominic NEW
Kaitlin Q MaletIndiaElwin Sharvill NEGOTIATION
Johnson A MacleadArgentinaAsiya Javayant UNQUALIFIED
David C MaletCanadaElwin Sharvill NEW
Kaitlin K OldroydItalyBernardo Dominic RENEWAL
Claire B ChuiItalyAnna Fali QUALIFIED
Clifford V PerinFranceAsiya Javayant RENEWAL
Ricardo S FlosiAustraliaElwin Sharvill RENEWAL
Mujtaba Q RimSpainOnyama Limba NEW
Mujtaba E WhobreyCanadaAmy Elsner QUALIFIED
Stacey U GillianItalyXuxue Feng QUALIFIED
Arvin P BologniaCanadaStephen Shaw UNQUALIFIED
Antonio B IturbideGermanyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Misaki I SergiItalyBernardo Dominic NEW
Rodrigues A GauchoBrazilElwin Sharvill RENEWAL
Clifford C PaprockiArgentinaIoni Bowcher NEW
Maisha J AmigonRussiaAsiya Javayant NEGOTIATION
Greenwood N NickaAustraliaOnyama Limba NEGOTIATION
Isabel G GillianItalyAmy Elsner PROPOSAL
Leja L SlusarskiAustraliaXuxue Feng QUALIFIED
Francesco T MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Smith K PoquetteGermanyBernardo Dominic QUALIFIED
Faith S MorascaFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith G RimItaly2026-10-19Chapman, Ross E Esq RENEWAL77Ioni Bowcher
1001Misaki A ChuiArgentina2026-10-20Commercial Press QUALIFIED24Stephen Shaw
1002Misaki O CaldareraUnited Kingdom2026-10-16Rangoni Of Florence UNQUALIFIED10Onyama Limba
1003Aditya U MarrierBrazil2026-10-06Chemel, James L Cpa NEGOTIATION97Onyama Limba
1004Wickens G OstroskyAustralia2026-10-16Morlong Associates NEGOTIATION66Amy Elsner
1005Salvatore U FerenczJapan2026-10-29Feltz Printing Service PROPOSAL28Ivan Magalhaes
1006Ricardo E AlbaresArgentina2026-10-28Feltz Printing Service QUALIFIED57Onyama Limba
1007Octavia Y BologniaBrazil2026-10-24Chanay, Jeffrey A Esq RENEWAL20Elwin Sharvill
1008Antonio J SchemmerUnited Kingdom2026-11-01Chanay, Jeffrey A Esq NEGOTIATION52Bernardo Dominic
1009Maisha M MaletAustralia2026-11-02Chanay, Jeffrey A Esq UNQUALIFIED29Onyama Limba
1010Salvatore F GlickIndia2026-10-15Feltz Printing Service QUALIFIED63Anna Fali
1011Cody F BologniaBrazil2026-10-24Chemel, James L Cpa RENEWAL26Stephen Shaw
1012Jefferson A MaletJapan2026-10-13King, Christopher A Esq NEW98Stephen Shaw
1013Costa O WaycottIndia2026-10-11Chapman, Ross E Esq NEGOTIATION17Xuxue Feng
1014Nicolas Q PerinCanada2026-10-31Truhlar And Truhlar Attys RENEWAL70Asiya Javayant
1015Leja T FerenczCanada2026-10-09Rangoni Of Florence PROPOSAL38Ivan Magalhaes
1016Aruna C IturbideBrazil2026-11-04Rangoni Of Florence RENEWAL15Bernardo Dominic
1017Izzy Q WhobreySpain2026-10-18Chemel, James L Cpa RENEWAL22Stephen Shaw
1018David T RulapaughUnited Kingdom2026-10-27Benton, John B Jr UNQUALIFIED23Stephen Shaw
1019Darci O WieserAustralia2026-11-03Chemel, James L Cpa NEW99Bernardo Dominic
1020Claire V MaletBrazil2026-10-17Feltz Printing Service UNQUALIFIED5Xuxue Feng
1021Costa E MacleadFrance2026-10-19Feltz Printing Service NEGOTIATION44Elwin Sharvill
1022Misaki M PoquetteGermany2026-10-13Chemel, James L Cpa RENEWAL88Xuxue Feng
1023Cody F BriddickFrance2026-10-22Rousseaux, Michael Esq QUALIFIED0Asiya Javayant
1024James N IturbideSpain2026-10-11Dorl, James J Esq RENEWAL62Stephen Shaw
1025Mujtaba S BologniaAustralia2026-10-14Feiner Bros NEGOTIATION49Asiya Javayant
1026Mayumi K InouyeBrazil2026-10-24Dorl, James J Esq UNQUALIFIED5Ivan Magalhaes
1027Aika J DoeAustralia2026-10-22Rangoni Of Florence UNQUALIFIED81Ioni Bowcher
1028Aika R WieserArgentina2026-10-13Dorl, James J Esq QUALIFIED27Anna Fali
1029Julie F FerenczIndia2026-10-27Chanay, Jeffrey A Esq UNQUALIFIED85Ioni Bowcher
1030Octavia Q CaldareraIndia2026-10-26Truhlar And Truhlar Attys QUALIFIED62Amy Elsner
1031Maisha D DilliardUnited Kingdom2026-10-22Rangoni Of Florence NEW57Ioni Bowcher
1032Munro J NestleGermany2026-11-02Feiner Bros NEW3Anna Fali
1033Faith B BowleyFrance2026-10-28King, Christopher A Esq NEGOTIATION54Anna Fali
1034Juan W RimItaly2026-11-04Commercial Press NEGOTIATION90Elwin Sharvill
1035Ricardo D WaycottBrazil2026-10-17Feltz Printing Service QUALIFIED36Elwin Sharvill
1036Aruna H SlusarskiIndia2026-10-15Commercial Press NEW47Ioni Bowcher
1037Maria Q KolmetzBrazil2026-10-27Benton, John B Jr UNQUALIFIED90Ioni Bowcher
1038Maisha H IturbideFrance2026-11-01Chanay, Jeffrey A Esq NEGOTIATION81Onyama Limba
1039Clifford H FlosiIndia2026-10-09Dorl, James J Esq UNQUALIFIED88Stephen Shaw
1040Antonio V GarufiItaly2026-10-28Chanay, Jeffrey A Esq QUALIFIED24Anna Fali
1041Aika A KolmetzRussia2026-10-12Commercial Press UNQUALIFIED79Xuxue Feng
1042Faith F StensethJapan2026-10-09Commercial Press RENEWAL88Xuxue Feng
1043Chavez O StockhamBrazil2026-10-22Commercial Press NEW83Anna Fali
1044Emily O RulapaughBrazil2026-10-08Dorl, James J Esq NEW82Elwin Sharvill
1045Rodrigues G VenereItaly2026-10-23Dorl, James J Esq PROPOSAL34Amy Elsner
1046Clifford V CaudyArgentina2026-10-23Chanay, Jeffrey A Esq RENEWAL86Onyama Limba
1047Claire F WhobreyUnited Kingdom2026-11-02Feltz Printing Service PROPOSAL72Xuxue Feng
1048Francesco E StockhamRussia2026-10-17Chemel, James L Cpa QUALIFIED99Asiya Javayant
1049Juan R NestleSpain2026-10-12Rangoni Of Florence NEW23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson C GarufiAustraliaAsiya Javayant NEW
Munro O SlusarskiRussiaAsiya Javayant UNQUALIFIED
Aditya P GillianAustraliaBernardo Dominic RENEWAL
Claire Y CaudyArgentinaElwin Sharvill NEGOTIATION
Salvatore V AlbaresBrazilElwin Sharvill NEGOTIATION
Aditya F WieserSpainOnyama Limba NEW
Ivar V KolmetzArgentinaBernardo Dominic NEW
Mujtaba L KolmetzCanadaOnyama Limba NEW
Sinclair C TollnerFranceIvan Magalhaes NEW
Tony S FlosiItalyAmy Elsner NEW
Stacey C BriddickUnited KingdomIoni Bowcher NEW
Aika Q PoquetteSpainOnyama Limba NEGOTIATION
Murillo F SchemmerFranceBernardo Dominic QUALIFIED
Jefferson J FlosiRussiaAnna Fali UNQUALIFIED
Ashley B CaldareraCanadaAmy Elsner UNQUALIFIED
Arvin D BowleyRussiaXuxue Feng NEGOTIATION
Aditya H DilliardAustraliaAsiya Javayant PROPOSAL
Kaitlin A SlusarskiUnited KingdomBernardo Dominic NEW
Leon V FollerUnited KingdomXuxue Feng PROPOSAL
Costa Y TollnerJapanAmy Elsner UNQUALIFIED
Ivar C ChuiAustraliaAsiya Javayant PROPOSAL
Adams L DilliardBrazilAsiya Javayant RENEWAL
Munro Y WhobreyItalyAnna Fali UNQUALIFIED
Claire T KuskoArgentinaBernardo Dominic RENEWAL
Smith O CampainJapanAsiya Javayant UNQUALIFIED
Juan H ChuiGermanyBernardo Dominic NEW
Maria Q WaycottArgentinaAnna Fali NEGOTIATION
Cody X MarrierJapanIoni Bowcher PROPOSAL
Jones H ChuiUnited KingdomAmy Elsner QUALIFIED
Smith X OstroskyGermanyElwin Sharvill QUALIFIED
Chavez F PerinUnited KingdomIoni Bowcher PROPOSAL
Jefferson O SergiAustraliaElwin Sharvill UNQUALIFIED
Misaki D DilliardAustraliaIvan Magalhaes NEW
Wickens J SlusarskiArgentinaIoni Bowcher RENEWAL
Salvatore T PaprockiAustraliaAsiya Javayant QUALIFIED
Murillo P MorascaSpainOnyama Limba RENEWAL
Cody J CaldareraBrazilAmy Elsner PROPOSAL
Aruna V GarufiArgentinaElwin Sharvill UNQUALIFIED
Izzy P WaycottBrazilAnna Fali NEW
Morrow A GarufiIndiaStephen Shaw RENEWAL
Izzy O WaycottItalyIvan Magalhaes NEGOTIATION
Maisha C FerenczIndiaAsiya Javayant NEGOTIATION
Munro N PerinAustraliaOnyama Limba PROPOSAL
Francesco T AlbaresJapanOnyama Limba NEW
David T RimCanadaAsiya Javayant PROPOSAL
Rodrigues Z MarrierItalyAnna Fali NEGOTIATION
Leon M FigeroaItalyStephen Shaw RENEWAL
Darci C OldroydAustraliaXuxue Feng PROPOSAL
Juan F MarrierJapanIvan Magalhaes NEGOTIATION
Arvin A DarakjyFranceElwin Sharvill PROPOSAL
Frozen Columns
Name
Tony G Venere
Mujtaba K Glick
Misaki K Rulapaugh
Deepesh Z Stockham
Alejandro W Nestle
Smith A Caudy
Francesco O Garufi
Jeanfrancois L Chui
Deepesh S Nicka
Francesco X Amigon
Jefferson B Glick
Emily P Amigon
Smith D Saylors
Emily N Kolmetz
Aditya W Marrier
Cody L Malet
Darci G Caudy
Munro G Poquette
Greenwood A Garufi
Faith S Tollner
Chavez P Maclead
Julie K Chui
Tony U Bolognia
Costa T Tollner
Jeanfrancois L Maclead
Octavia U Dilliard
Murillo T Albares
Sinclair Q Wieser
Chavez B Chui
Mujtaba G Malet
Emily F Waycott
Chavez B Stockham
Antonio W Sergi
Kaitlin F Garufi
Leja N Flosi
Emily J Albares
Costa F Whobrey
Ricardo K Doe
Faith L Chui
Maria G Inouye
Murillo K Ruta
Misaki M Stockham
Johnson C Campain
Clifford U Vocelka
Ivar O Shinko
Greenwood U Doe
Emily S Schemmer
Faith G Inouye
Morrow I Bowley
Nicolas S Waycott
IdCountryDate
1000Argentina2026-10-09
1001United Kingdom2026-10-09
1002Brazil2026-10-10
1003Brazil2026-10-19
1004United Kingdom2026-10-10
1005Brazil2026-10-27
1006Russia2026-10-15
1007Brazil2026-10-10
1008India2026-10-07
1009Italy2026-11-04
1010Japan2026-10-10
1011India2026-10-18
1012Australia2026-10-12
1013United Kingdom2026-10-30
1014Spain2026-11-02
1015Italy2026-10-11
1016Japan2026-10-12
1017Japan2026-10-25
1018Russia2026-10-24
1019Germany2026-11-04
1020Australia2026-10-23
1021Canada2026-10-09
1022Russia2026-11-03
1023Russia2026-10-21
1024Germany2026-10-09
1025India2026-10-29
1026Italy2026-10-08
1027Russia2026-10-08
1028France2026-11-04
1029Russia2026-11-03
1030Spain2026-10-17
1031Italy2026-10-19
1032France2026-10-11
1033Italy2026-10-13
1034Argentina2026-10-28
1035Italy2026-10-21
1036Brazil2026-10-23
1037Australia2026-10-28
1038Brazil2026-10-11
1039Spain2026-10-14
1040Argentina2026-10-17
1041France2026-10-20
1042France2026-10-15
1043Italy2026-10-20
1044Brazil2026-10-17
1045Argentina2026-11-02
1046Germany2026-10-09
1047Canada2026-11-02
1048Brazil2026-10-19
1049Italy2026-10-26

On-Demand Data

NameIdCountryDate
Darci P Nicka1000Spain2026-10-06
Ricardo C Foller1001Australia2026-10-23
Arvin E Ruta1002Spain2026-10-30
Deepesh T Inouye1003Germany2026-10-06
Adams T Albares1004Russia2026-10-11
Smith J Chui1005Spain2026-10-16
Salvatore F Venere1006Spain2026-10-24
Kaitlin L Poquette1007Russia2026-10-11
Cody J Ruta1008France2026-10-06
Leon V Ruta1009Russia2026-10-23
Mujtaba L Rim1010India2026-10-16
Adams V Darakjy1011Spain2026-10-11
Izzy B Doe1012Japan2026-10-30
Leon O Saylors1013France2026-10-31
Mujtaba J Marrier1014France2026-10-08
Faith M Caldarera1015Germany2026-10-31
Morrow U Bowley1016Japan2026-10-30
Mujtaba B Rulapaugh1017Spain2026-10-08
Alejandro M Stenseth1018Argentina2026-10-28
Murillo A Butt1019Argentina2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore M RutaAustraliaXuxue Feng RENEWAL
Costa Q DoeRussiaAsiya Javayant UNQUALIFIED
Cody W TollnerArgentinaElwin Sharvill NEGOTIATION
Antonio W FerenczJapanBernardo Dominic NEW
Maisha K OldroydFranceIoni Bowcher NEW
Juan N AlbaresItalyAsiya Javayant UNQUALIFIED
Misaki S RulapaughArgentinaAnna Fali NEGOTIATION
Jefferson Y AlbaresItalyIvan Magalhaes QUALIFIED
Jefferson Q CaudyIndiaAnna Fali NEGOTIATION
Sinclair E RoysterArgentinaIvan Magalhaes PROPOSAL
Jennifer V DarakjyJapanIoni Bowcher PROPOSAL
Costa A StensethCanadaIoni Bowcher UNQUALIFIED
Alejandro H AlbaresCanadaBernardo Dominic NEW
Rodrigues E GillianGermanyAsiya Javayant QUALIFIED
Kaitlin Z FerenczItalyIvan Magalhaes PROPOSAL
Mujtaba O ShinkoAustraliaStephen Shaw UNQUALIFIED
Stacey T IturbideCanadaBernardo Dominic NEGOTIATION
Claire T MacleadAustraliaOnyama Limba NEW
Jones E PoquetteBrazilStephen Shaw NEGOTIATION
Leon W MacleadSpainElwin Sharvill PROPOSAL
Antonio J BriddickRussiaXuxue Feng NEGOTIATION
Rodrigues T BowleyFranceIvan Magalhaes QUALIFIED
Misaki V MaletIndiaBernardo Dominic UNQUALIFIED
Tony W DilliardCanadaOnyama Limba QUALIFIED
Rodrigues V SaylorsBrazilAsiya Javayant RENEWAL
Mujtaba K GillianJapanAsiya Javayant RENEWAL
Emily S GillianBrazilXuxue Feng NEGOTIATION
Morrow G NestleRussiaAsiya Javayant NEGOTIATION
Faith P GillianUnited KingdomOnyama Limba PROPOSAL
Antonio B PoquetteSpainXuxue Feng NEGOTIATION
Jennifer B RutaUnited KingdomBernardo Dominic QUALIFIED
Murillo Y AmigonArgentinaStephen Shaw NEW
Mayumi E TollnerJapanOnyama Limba PROPOSAL
Arvin E PoquetteArgentinaOnyama Limba UNQUALIFIED
Mayumi R ChuiJapanXuxue Feng RENEWAL
Nicolas T FigeroaCanadaAnna Fali RENEWAL
Alejandro G GlickAustraliaElwin Sharvill NEW
Francesco U PerinItalyOnyama Limba RENEWAL
Faith O KuskoFranceXuxue Feng UNQUALIFIED
Maria G SlusarskiJapanXuxue Feng 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>