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
Antonio O MaletRussiaAnna Fali UNQUALIFIED
Juan L FerenczIndiaAnna Fali NEGOTIATION
Darci Y DilliardRussiaOnyama Limba NEGOTIATION
Chavez L OldroydItalyAnna Fali RENEWAL
Silvio O PerinCanadaAmy Elsner NEW
Octavia C TollnerItalyAnna Fali NEGOTIATION
Juan Y StockhamIndiaStephen Shaw RENEWAL
Jennifer U OldroydRussiaIvan Magalhaes UNQUALIFIED
Jefferson N SlusarskiSpainBernardo Dominic QUALIFIED
Leja R IturbideAustraliaOnyama Limba UNQUALIFIED
Silvio R RulapaughGermanyIoni Bowcher PROPOSAL
Ashley F GarufiArgentinaOnyama Limba NEW
Claire Y SlusarskiCanadaIvan Magalhaes QUALIFIED
Ivar W MaletJapanElwin Sharvill UNQUALIFIED
James I KolmetzItalyAsiya Javayant RENEWAL
Munro W KuskoRussiaStephen Shaw QUALIFIED
Stacey P MacleadJapanBernardo Dominic PROPOSAL
Sinclair O ButtUnited KingdomXuxue Feng PROPOSAL
Tony M CaldareraGermanyAmy Elsner UNQUALIFIED
Ivar C CaudyGermanyXuxue Feng NEW
Aditya I ButtAustraliaOnyama Limba NEW
Costa C GarufiItalyAmy Elsner NEGOTIATION
Aruna M VocelkaRussiaAnna Fali UNQUALIFIED
Wickens J PaprockiItalyBernardo Dominic UNQUALIFIED
Silvio O MarrierRussiaAsiya Javayant NEW
Johnson H DilliardUnited KingdomStephen Shaw PROPOSAL
Chavez X TollnerItalyElwin Sharvill NEGOTIATION
Emily F InouyeBrazilAnna Fali RENEWAL
Costa H PaprockiFranceAsiya Javayant UNQUALIFIED
Munro Y MorascaRussiaXuxue Feng NEW
Mayumi A StensethCanadaXuxue Feng RENEWAL
Wickens B SchemmerGermanyXuxue Feng PROPOSAL
Misaki O FollerSpainAmy Elsner NEW
Julie I ChuiIndiaAnna Fali NEGOTIATION
Mayumi N MaletUnited KingdomXuxue Feng PROPOSAL
Ivar M DilliardCanadaIvan Magalhaes NEGOTIATION
Murillo C FollerGermanyOnyama Limba NEGOTIATION
Mujtaba T NestleGermanyElwin Sharvill NEW
Johnson Y BriddickAustraliaXuxue Feng NEW
Deepesh A MacleadRussiaAnna Fali UNQUALIFIED
Aika X VenereSpainIoni Bowcher RENEWAL
Antonio I DilliardItalyElwin Sharvill UNQUALIFIED
Nicolas F MaletBrazilOnyama Limba PROPOSAL
Aika P IturbideSpainIoni Bowcher PROPOSAL
Wickens D ShinkoFranceIvan Magalhaes UNQUALIFIED
Francesco I IturbideArgentinaAnna Fali RENEWAL
Tony O SergiBrazilAsiya Javayant NEW
Isabel R KuskoItalyBernardo Dominic UNQUALIFIED
Smith R SergiRussiaXuxue Feng UNQUALIFIED
Faith U FollerJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer T SchemmerSpainIvan Magalhaes NEGOTIATION
David U CaudyCanadaAmy Elsner NEGOTIATION
Silvio X InouyeCanadaElwin Sharvill UNQUALIFIED
Tony B WaycottArgentinaAnna Fali UNQUALIFIED
Ashley S MarrierArgentinaIvan Magalhaes NEGOTIATION
Aruna L MarrierAustraliaOnyama Limba QUALIFIED
Nicolas M CampainUnited KingdomAnna Fali PROPOSAL
Maisha H SaylorsArgentinaAnna Fali RENEWAL
Cody H NestleAustraliaAmy Elsner PROPOSAL
Jeanfrancois U BologniaGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Y AmigonBrazil2026-09-06Dorl, James J Esq NEGOTIATION39Bernardo Dominic
1001Tony P RimGermany2026-09-09Morlong Associates PROPOSAL70Anna Fali
1002Leon J KuskoGermany2026-09-19Feiner Bros QUALIFIED90Xuxue Feng
1003Johnson N TollnerAustralia2026-09-01Feltz Printing Service RENEWAL66Stephen Shaw
1004Murillo T MarrierGermany2026-09-08Benton, John B Jr PROPOSAL21Asiya Javayant
1005Antonio D RulapaughUnited Kingdom2026-09-11Feiner Bros NEW45Amy Elsner
1006Deepesh X SaylorsFrance2026-09-17Benton, John B Jr NEW95Elwin Sharvill
1007Jones B GauchoFrance2026-08-24Feltz Printing Service PROPOSAL99Anna Fali
1008Antonio Q NestleBrazil2026-09-09Feiner Bros NEGOTIATION60Elwin Sharvill
1009Faith M FerenczUnited Kingdom2026-09-10Dorl, James J Esq RENEWAL51Xuxue Feng
1010Jeanfrancois A VenereIndia2026-08-30Printing Dimensions QUALIFIED56Ivan Magalhaes
1011Ricardo A GlickJapan2026-08-29Dorl, James J Esq NEW44Anna Fali
1012Julie V GillianRussia2026-09-11Printing Dimensions PROPOSAL69Ioni Bowcher
1013Aruna U GlickFrance2026-09-02Morlong Associates NEGOTIATION9Ivan Magalhaes
1014Ivar B CampainSpain2026-08-23Rousseaux, Michael Esq QUALIFIED39Asiya Javayant
1015Francesco F NestleCanada2026-09-15Chapman, Ross E Esq PROPOSAL12Onyama Limba
1016Greenwood Q FlosiIndia2026-09-11King, Christopher A Esq NEGOTIATION3Onyama Limba
1017James C StensethRussia2026-09-11Benton, John B Jr QUALIFIED78Asiya Javayant
1018Maria W SergiBrazil2026-09-07Buckley Miller Wright QUALIFIED31Ioni Bowcher
1019Francesco R OstroskyAustralia2026-08-27Chanay, Jeffrey A Esq RENEWAL12Amy Elsner
1020Mayumi J DilliardItaly2026-08-23Rousseaux, Michael Esq RENEWAL51Ioni Bowcher
1021Jeanfrancois J KuskoAustralia2026-08-21Chanay, Jeffrey A Esq UNQUALIFIED38Ioni Bowcher
1022Francesco A WhobreyIndia2026-09-06Printing Dimensions NEGOTIATION82Elwin Sharvill
1023Morrow W FerenczIndia2026-08-27Truhlar And Truhlar Attys UNQUALIFIED39Elwin Sharvill
1024Mayumi M NickaBrazil2026-09-01Rangoni Of Florence NEGOTIATION5Anna Fali
1025Jones X GauchoItaly2026-08-26Commercial Press UNQUALIFIED93Ivan Magalhaes
1026Darci K DarakjyIndia2026-09-04Dorl, James J Esq PROPOSAL16Stephen Shaw
1027Salvatore U FigeroaIndia2026-08-30Commercial Press NEW62Stephen Shaw
1028Mujtaba X AlbaresRussia2026-09-19Printing Dimensions NEW59Amy Elsner
1029Johnson G CampainUnited Kingdom2026-09-16Commercial Press NEW2Anna Fali
1030Morrow F RimItaly2026-09-14Morlong Associates UNQUALIFIED12Xuxue Feng
1031Silvio C MorascaJapan2026-09-10Chemel, James L Cpa RENEWAL73Onyama Limba
1032Wickens C MarrierSpain2026-09-12Chemel, James L Cpa QUALIFIED51Onyama Limba
1033Adams F MorascaArgentina2026-09-02Rangoni Of Florence QUALIFIED44Stephen Shaw
1034Alejandro H NickaJapan2026-08-26Morlong Associates QUALIFIED49Elwin Sharvill
1035Salvatore V PoquetteRussia2026-08-22Printing Dimensions UNQUALIFIED5Anna Fali
1036Silvio Y WieserCanada2026-09-03Benton, John B Jr RENEWAL64Stephen Shaw
1037Faith P OstroskyIndia2026-08-21Chemel, James L Cpa QUALIFIED86Stephen Shaw
1038Aditya O ButtUnited Kingdom2026-09-06Buckley Miller Wright NEW34Elwin Sharvill
1039Faith K GauchoGermany2026-08-28Rangoni Of Florence PROPOSAL79Elwin Sharvill
1040James K ButtGermany2026-09-06Chemel, James L Cpa RENEWAL82Asiya Javayant
1041Salvatore X BowleyArgentina2026-09-16Rousseaux, Michael Esq QUALIFIED25Ivan Magalhaes
1042Aditya M GillianGermany2026-08-31Chanay, Jeffrey A Esq RENEWAL65Onyama Limba
1043Greenwood I ShinkoCanada2026-09-09King, Christopher A Esq RENEWAL30Onyama Limba
1044Mayumi P VenereJapan2026-08-26Morlong Associates PROPOSAL46Ioni Bowcher
1045Aditya H FlosiUnited Kingdom2026-09-18Chemel, James L Cpa QUALIFIED31Amy Elsner
1046Rodrigues L FlosiFrance2026-08-24Benton, John B Jr NEGOTIATION0Onyama Limba
1047Kadeem B BologniaItaly2026-09-17Chapman, Ross E Esq RENEWAL86Stephen Shaw
1048Wickens Q CampainBrazil2026-09-15Chanay, Jeffrey A Esq NEW74Ivan Magalhaes
1049Sinclair H MacleadSpain2026-08-30Rangoni Of Florence QUALIFIED27Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jones F InouyeJapanAmy Elsner NEGOTIATION
Darci O NickaArgentinaBernardo Dominic RENEWAL
Leon S FerenczIndiaBernardo Dominic UNQUALIFIED
Jefferson C NestleGermanyAnna Fali QUALIFIED
Deepesh T KuskoGermanyIvan Magalhaes UNQUALIFIED
Ricardo E NickaItalyBernardo Dominic NEGOTIATION
Jeanfrancois C ChuiJapanOnyama Limba NEW
Ivar V RutaCanadaXuxue Feng PROPOSAL
Chavez O BologniaCanadaAnna Fali NEGOTIATION
Julie A InouyeCanadaStephen Shaw PROPOSAL
Arvin F ButtAustraliaXuxue Feng RENEWAL
Stacey K SlusarskiBrazilIoni Bowcher NEGOTIATION
Stacey X WhobreyGermanyAmy Elsner RENEWAL
Jefferson C SlusarskiRussiaBernardo Dominic PROPOSAL
Claire T GauchoSpainElwin Sharvill NEGOTIATION
Faith D CampainUnited KingdomStephen Shaw NEW
Julie F ButtRussiaOnyama Limba UNQUALIFIED
Aditya U CaudyBrazilBernardo Dominic PROPOSAL
Salvatore H CaudyAustraliaStephen Shaw RENEWAL
Juan X StockhamRussiaOnyama Limba NEGOTIATION
Octavia B PerinSpainAmy Elsner PROPOSAL
Kadeem F SchemmerFranceIoni Bowcher NEGOTIATION
Claire Q WhobreyRussiaOnyama Limba QUALIFIED
Julie U KolmetzItalyAsiya Javayant NEW
Jennifer R MarrierArgentinaAmy Elsner UNQUALIFIED
Silvio M ShinkoFranceIoni Bowcher RENEWAL
Mayumi W FollerBrazilOnyama Limba QUALIFIED
Aditya F RoysterUnited KingdomElwin Sharvill QUALIFIED
Costa S RimItalyAnna Fali NEGOTIATION
Tony I GillianJapanIvan Magalhaes NEW
Ashley G KuskoArgentinaBernardo Dominic NEGOTIATION
Emily H FlosiAustraliaStephen Shaw UNQUALIFIED
Aika S MaletAustraliaAmy Elsner RENEWAL
Clifford D MarrierGermanyElwin Sharvill UNQUALIFIED
Silvio P TollnerArgentinaAsiya Javayant UNQUALIFIED
Mujtaba E StensethRussiaIvan Magalhaes NEGOTIATION
Costa B RutaBrazilXuxue Feng QUALIFIED
Izzy B AmigonCanadaStephen Shaw PROPOSAL
Leja A WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas M MarrierGermanyStephen Shaw QUALIFIED
Sinclair L DilliardJapanAsiya Javayant QUALIFIED
Julie Z DilliardSpainXuxue Feng QUALIFIED
Ivar V GillianItalyIoni Bowcher NEGOTIATION
Ricardo Y FerenczItalyIoni Bowcher NEW
David W GlickIndiaIvan Magalhaes NEW
Kaitlin M MaletSpainBernardo Dominic UNQUALIFIED
Murillo I RimJapanBernardo Dominic PROPOSAL
Wickens Z NickaItalyAsiya Javayant UNQUALIFIED
Claire N TollnerSpainIoni Bowcher UNQUALIFIED
Misaki F RutaBrazilIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Morrow H Nestle
Munro U Gaucho
Stacey A Figeroa
Ricardo B Morasca
Jefferson N Iturbide
Faith Z Flosi
Isabel D Stockham
Isabel P Ruta
James C Ruta
Darci G Foller
Arvin V Dilliard
Antonio D Shinko
Stacey W Tollner
Sinclair E Chui
Ricardo G Kusko
Salvatore Q Maclead
Jeanfrancois L Amigon
Juan M Morasca
Deepesh C Whobrey
Mayumi Q Nestle
Izzy O Malet
Ricardo X Briddick
Ivar L Maclead
Izzy Y Gillian
Alejandro J Nicka
Jefferson G Ruta
Francesco Q Morasca
Claire C Bolognia
Kaitlin O Stenseth
James A Shinko
Murillo G Flosi
Greenwood U Whobrey
Jeanfrancois K Stockham
Silvio T Kusko
Ashley U Darakjy
Morrow H Ostrosky
Morrow X Briddick
Aruna E Malet
Julie Y Gillian
Munro E Gillian
Salvatore A Doe
Izzy N Chui
Jennifer O Venere
Clifford K Rim
James D Dilliard
Alejandro L Chui
Antonio L Poquette
Misaki V Malet
Octavia J Nestle
Johnson Y Kusko
IdCountryDate
1000Russia2026-09-05
1001Spain2026-09-12
1002Russia2026-09-04
1003Germany2026-08-22
1004United Kingdom2026-08-26
1005Argentina2026-08-21
1006Spain2026-09-19
1007Argentina2026-08-27
1008France2026-09-06
1009Spain2026-09-01
1010Italy2026-08-23
1011Brazil2026-09-05
1012Argentina2026-09-02
1013Canada2026-09-11
1014Spain2026-09-11
1015Germany2026-08-24
1016Canada2026-08-25
1017United Kingdom2026-09-19
1018Germany2026-09-15
1019France2026-08-28
1020Canada2026-09-04
1021Italy2026-09-04
1022Japan2026-09-11
1023France2026-09-15
1024Canada2026-09-10
1025India2026-08-22
1026Germany2026-08-29
1027Japan2026-08-22
1028Italy2026-08-23
1029Italy2026-09-18
1030Brazil2026-09-04
1031Argentina2026-08-26
1032Italy2026-09-06
1033Canada2026-08-21
1034Germany2026-09-14
1035France2026-08-22
1036Japan2026-08-27
1037Japan2026-08-24
1038Italy2026-08-26
1039Russia2026-09-06
1040Argentina2026-08-23
1041France2026-09-16
1042Spain2026-09-05
1043Argentina2026-08-25
1044Brazil2026-08-27
1045Canada2026-09-11
1046Brazil2026-08-31
1047Italy2026-08-30
1048United Kingdom2026-08-21
1049India2026-09-04

On-Demand Data

NameIdCountryDate
Juan T Sergi1000Russia2026-08-30
Clifford A Ostrosky1001Canada2026-09-19
James C Whobrey1002Italy2026-08-23
Kaitlin J Wieser1003Canada2026-09-18
Rodrigues W Briddick1004Canada2026-09-11
Adams X Amigon1005Brazil2026-08-26
Maria A Gaucho1006Argentina2026-09-07
Mujtaba E Malet1007Russia2026-09-14
Salvatore C Rim1008Germany2026-09-10
Faith O Kolmetz1009Russia2026-08-30
Stacey A Maclead1010Argentina2026-09-18
Morrow E Slusarski1011India2026-09-16
Jones B Foller1012India2026-09-13
Adams C Oldroyd1013Japan2026-08-23
Julie G Morasca1014United Kingdom2026-08-21
Silvio P Poquette1015France2026-09-18
Octavia T Garufi1016Spain2026-09-17
Emily V Campain1017France2026-08-24
Cody Z Rulapaugh1018Russia2026-08-30
James D Royster1019India2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon X RulapaughRussiaAnna Fali NEGOTIATION
Deepesh X StockhamIndiaOnyama Limba NEGOTIATION
Aditya F MarrierCanadaStephen Shaw RENEWAL
Cody Q GarufiItalyIvan Magalhaes PROPOSAL
Aruna Q KolmetzSpainIoni Bowcher RENEWAL
Clifford G SlusarskiIndiaXuxue Feng PROPOSAL
Kaitlin J StockhamBrazilAmy Elsner NEW
Tony M MacleadGermanyElwin Sharvill PROPOSAL
Claire S SaylorsGermanyBernardo Dominic UNQUALIFIED
Jefferson H FollerSpainAsiya Javayant NEW
Faith P DoeRussiaAsiya Javayant PROPOSAL
Wickens S WhobreyGermanyOnyama Limba NEW
James I WaycottBrazilXuxue Feng NEGOTIATION
Murillo V GauchoFranceElwin Sharvill NEW
Jefferson V RulapaughSpainStephen Shaw UNQUALIFIED
Jeanfrancois X GarufiJapanBernardo Dominic RENEWAL
Adams O AlbaresArgentinaAmy Elsner QUALIFIED
Silvio X DarakjyArgentinaOnyama Limba UNQUALIFIED
Julie Z PoquetteFranceAnna Fali RENEWAL
Misaki H FerenczFranceIvan Magalhaes QUALIFIED
Maisha I MacleadJapanIoni Bowcher UNQUALIFIED
Claire C WhobreyGermanyElwin Sharvill QUALIFIED
Claire V NestleSpainIoni Bowcher PROPOSAL
Octavia V GlickAustraliaOnyama Limba NEGOTIATION
Alejandro P RulapaughFranceIvan Magalhaes NEW
Smith P CaudyIndiaBernardo Dominic QUALIFIED
Isabel V NestleCanadaAmy Elsner UNQUALIFIED
Juan R OldroydUnited KingdomElwin Sharvill NEGOTIATION
Deepesh A CaudyRussiaElwin Sharvill UNQUALIFIED
Claire T SaylorsItalyBernardo Dominic QUALIFIED
Aika R VocelkaFranceIoni Bowcher RENEWAL
Isabel K DarakjyAustraliaOnyama Limba NEGOTIATION
Cody C FigeroaGermanyBernardo Dominic UNQUALIFIED
Darci C ShinkoSpainAsiya Javayant RENEWAL
Emily R FigeroaGermanyAsiya Javayant NEW
Misaki K WhobreyGermanyIvan Magalhaes PROPOSAL
Silvio Y OstroskyGermanyBernardo Dominic PROPOSAL
Murillo M SlusarskiIndiaXuxue Feng NEW
Ashley G SchemmerArgentinaAsiya Javayant RENEWAL
Sinclair D PerinGermanyAnna Fali 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>