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
Kadeem K CampainBrazilElwin Sharvill PROPOSAL
Jeanfrancois E DilliardAustraliaOnyama Limba QUALIFIED
Isabel B RutaItalyAsiya Javayant UNQUALIFIED
Antonio I GauchoAustraliaBernardo Dominic NEW
Wickens H GillianArgentinaElwin Sharvill NEGOTIATION
Maisha E SlusarskiItalyElwin Sharvill NEW
Maisha X VenereIndiaOnyama Limba RENEWAL
Francesco Z RimItalyAmy Elsner QUALIFIED
Tony Q GauchoSpainBernardo Dominic QUALIFIED
Smith O MacleadSpainStephen Shaw NEW
Adams E FollerJapanAsiya Javayant PROPOSAL
Jennifer T SergiRussiaIoni Bowcher RENEWAL
Wickens H FollerIndiaXuxue Feng NEW
Octavia T GauchoIndiaXuxue Feng UNQUALIFIED
Mujtaba A GarufiUnited KingdomAsiya Javayant QUALIFIED
Arvin Q DarakjyItalyElwin Sharvill PROPOSAL
Wickens E VocelkaJapanAmy Elsner UNQUALIFIED
Claire M OstroskyJapanAmy Elsner PROPOSAL
Izzy K AlbaresFranceStephen Shaw NEW
Arvin I FlosiArgentinaOnyama Limba NEGOTIATION
Kadeem H SlusarskiCanadaAnna Fali QUALIFIED
Izzy S RulapaughJapanBernardo Dominic PROPOSAL
Sinclair L GarufiArgentinaAsiya Javayant NEGOTIATION
Antonio S WhobreyIndiaBernardo Dominic UNQUALIFIED
Alejandro C FerenczBrazilStephen Shaw QUALIFIED
Deepesh C MacleadArgentinaXuxue Feng PROPOSAL
Maisha J RulapaughBrazilBernardo Dominic NEGOTIATION
Francesco T DarakjyArgentinaAmy Elsner NEGOTIATION
Octavia D VocelkaArgentinaIoni Bowcher NEGOTIATION
James L DilliardCanadaAnna Fali PROPOSAL
Salvatore R RutaSpainAnna Fali PROPOSAL
Jennifer U ShinkoRussiaOnyama Limba PROPOSAL
Isabel Z DilliardGermanyAsiya Javayant NEW
Munro U RimArgentinaXuxue Feng NEW
Sinclair T CampainArgentinaBernardo Dominic UNQUALIFIED
Juan Q RulapaughIndiaAnna Fali RENEWAL
Nicolas K MacleadJapanXuxue Feng PROPOSAL
Tony N FollerArgentinaOnyama Limba PROPOSAL
Emily J CaldareraUnited KingdomStephen Shaw NEW
Jefferson T WieserBrazilAmy Elsner PROPOSAL
Tony G RimSpainAnna Fali PROPOSAL
Deepesh J RutaFranceElwin Sharvill UNQUALIFIED
Alejandro F StensethArgentinaAnna Fali PROPOSAL
Arvin J MarrierUnited KingdomStephen Shaw RENEWAL
Tony K VocelkaItalyOnyama Limba PROPOSAL
Leon J StensethSpainIvan Magalhaes UNQUALIFIED
Aika K SaylorsJapanElwin Sharvill NEW
Nicolas K WhobreySpainElwin Sharvill RENEWAL
Alejandro F OldroydArgentinaAmy Elsner NEW
Greenwood L PoquetteAustraliaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh E CaudySpainIvan Magalhaes QUALIFIED
Octavia M PaprockiBrazilIoni Bowcher NEGOTIATION
Aditya F CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood M OstroskyAustraliaAsiya Javayant RENEWAL
Antonio M VenereItalyStephen Shaw NEW
Aika K NestleFranceOnyama Limba UNQUALIFIED
Tony L SchemmerAustraliaStephen Shaw NEGOTIATION
Mujtaba H KolmetzUnited KingdomStephen Shaw NEW
Jeanfrancois Q MorascaIndiaAmy Elsner RENEWAL
Kadeem W VocelkaArgentinaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci W RulapaughGermany2026-10-19Chapman, Ross E Esq NEGOTIATION37Amy Elsner
1001Leja O CampainJapan2026-09-23Chemel, James L Cpa QUALIFIED75Anna Fali
1002Chavez U SlusarskiUnited Kingdom2026-10-13Commercial Press NEW56Anna Fali
1003Aditya T StensethBrazil2026-10-08Chanay, Jeffrey A Esq NEW63Amy Elsner
1004Rodrigues S CampainIndia2026-10-11Truhlar And Truhlar Attys QUALIFIED95Anna Fali
1005Leon Q WieserArgentina2026-10-02Truhlar And Truhlar Attys QUALIFIED68Elwin Sharvill
1006Smith F OstroskyGermany2026-10-20Rousseaux, Michael Esq QUALIFIED8Anna Fali
1007Misaki M PaprockiArgentina2026-10-15Feltz Printing Service RENEWAL56Ivan Magalhaes
1008Jennifer T KuskoAustralia2026-10-14Dorl, James J Esq NEW45Elwin Sharvill
1009Aruna C DoeGermany2026-10-18Benton, John B Jr NEW16Elwin Sharvill
1010David C IturbideCanada2026-10-11Feltz Printing Service RENEWAL32Ivan Magalhaes
1011Maisha W BologniaSpain2026-10-16King, Christopher A Esq QUALIFIED95Ivan Magalhaes
1012Deepesh W PaprockiUnited Kingdom2026-10-18Chemel, James L Cpa UNQUALIFIED62Ioni Bowcher
1013Ivar Y MarrierArgentina2026-10-21Feiner Bros PROPOSAL73Amy Elsner
1014Sinclair A GillianSpain2026-09-30King, Christopher A Esq NEW84Ioni Bowcher
1015Leja U CaldareraUnited Kingdom2026-10-19Feltz Printing Service QUALIFIED60Asiya Javayant
1016Julie P RutaAustralia2026-09-28Chanay, Jeffrey A Esq QUALIFIED81Stephen Shaw
1017Kaitlin F AlbaresItaly2026-10-21Truhlar And Truhlar Attys PROPOSAL78Anna Fali
1018Costa L IturbideFrance2026-10-07Benton, John B Jr UNQUALIFIED37Amy Elsner
1019Tony X RulapaughUnited Kingdom2026-09-30Feiner Bros RENEWAL99Stephen Shaw
1020Johnson Z ShinkoJapan2026-10-16Rangoni Of Florence NEGOTIATION37Anna Fali
1021Nicolas B MaletUnited Kingdom2026-10-01Morlong Associates RENEWAL36Ivan Magalhaes
1022Claire M GillianSpain2026-10-10Printing Dimensions QUALIFIED17Asiya Javayant
1023Munro O PoquetteJapan2026-10-12Dorl, James J Esq NEW52Anna Fali
1024David D WhobreyBrazil2026-09-27Rangoni Of Florence UNQUALIFIED57Ivan Magalhaes
1025David R CaldareraIndia2026-10-10Rousseaux, Michael Esq NEGOTIATION7Stephen Shaw
1026Claire Y MarrierJapan2026-10-10Printing Dimensions PROPOSAL48Anna Fali
1027Cody E BriddickSpain2026-10-15Chapman, Ross E Esq UNQUALIFIED28Stephen Shaw
1028Emily K NestleIndia2026-10-16Chemel, James L Cpa QUALIFIED11Ioni Bowcher
1029Nicolas H BologniaItaly2026-09-25Rangoni Of Florence PROPOSAL78Xuxue Feng
1030Maria P GillianArgentina2026-09-24King, Christopher A Esq QUALIFIED51Bernardo Dominic
1031Aruna P ChuiCanada2026-10-09Benton, John B Jr UNQUALIFIED4Xuxue Feng
1032Deepesh E RimSpain2026-10-11Buckley Miller Wright RENEWAL82Amy Elsner
1033Mayumi P AlbaresCanada2026-10-13Commercial Press RENEWAL98Ioni Bowcher
1034Ricardo N TollnerGermany2026-09-23Rousseaux, Michael Esq NEGOTIATION47Asiya Javayant
1035Cody M GarufiJapan2026-09-22Commercial Press UNQUALIFIED22Amy Elsner
1036Salvatore M SlusarskiArgentina2026-10-02Rangoni Of Florence NEW46Asiya Javayant
1037Leon L IturbideAustralia2026-09-22Chanay, Jeffrey A Esq RENEWAL85Ivan Magalhaes
1038Stacey H PaprockiRussia2026-10-12Rangoni Of Florence NEGOTIATION50Ivan Magalhaes
1039Kadeem F OstroskyUnited Kingdom2026-10-07Dorl, James J Esq NEW31Onyama Limba
1040Emily Z WieserArgentina2026-10-06Feiner Bros NEW74Stephen Shaw
1041Alejandro S AmigonAustralia2026-09-28Chemel, James L Cpa UNQUALIFIED42Bernardo Dominic
1042Kaitlin Q FigeroaFrance2026-09-25Feltz Printing Service UNQUALIFIED52Anna Fali
1043Emily I AmigonSpain2026-09-22Rangoni Of Florence RENEWAL43Asiya Javayant
1044David B DoeCanada2026-10-19Morlong Associates PROPOSAL34Elwin Sharvill
1045Maria N ShinkoGermany2026-10-17Truhlar And Truhlar Attys RENEWAL16Ivan Magalhaes
1046Isabel S TollnerRussia2026-10-01Dorl, James J Esq NEW77Anna Fali
1047Izzy M ShinkoFrance2026-10-17Dorl, James J Esq PROPOSAL27Asiya Javayant
1048Clifford R SaylorsJapan2026-10-02Rousseaux, Michael Esq RENEWAL0Amy Elsner
1049Sinclair Y BologniaAustralia2026-10-05Rangoni Of Florence PROPOSAL45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maisha C StensethCanadaOnyama Limba QUALIFIED
Sinclair I NickaUnited KingdomAmy Elsner QUALIFIED
Kadeem F RoysterSpainOnyama Limba UNQUALIFIED
Mujtaba N PerinUnited KingdomAnna Fali NEGOTIATION
Misaki P StensethArgentinaAnna Fali NEGOTIATION
Rodrigues W StockhamRussiaBernardo Dominic NEW
Francesco T RutaGermanyAmy Elsner NEGOTIATION
Alejandro N MaletJapanAnna Fali UNQUALIFIED
Jennifer O VocelkaAustraliaAmy Elsner NEGOTIATION
Costa M RutaJapanXuxue Feng QUALIFIED
Julie E FigeroaCanadaAsiya Javayant UNQUALIFIED
Alejandro T SaylorsCanadaAmy Elsner RENEWAL
Misaki W IturbideAustraliaIvan Magalhaes UNQUALIFIED
Jones F WhobreyItalyIvan Magalhaes RENEWAL
Jeanfrancois U IturbideAustraliaStephen Shaw NEGOTIATION
Leon E TollnerUnited KingdomStephen Shaw PROPOSAL
Izzy I SaylorsIndiaAsiya Javayant UNQUALIFIED
Wickens A WaycottCanadaXuxue Feng PROPOSAL
Nicolas O StockhamGermanyBernardo Dominic RENEWAL
Aruna I StockhamFranceXuxue Feng RENEWAL
Sinclair U MarrierItalyAmy Elsner RENEWAL
Leja Z FigeroaRussiaXuxue Feng RENEWAL
Clifford H PoquetteRussiaIvan Magalhaes NEW
Mujtaba D SergiIndiaAmy Elsner NEW
Julie H MarrierArgentinaBernardo Dominic NEW
Antonio Z StensethFranceElwin Sharvill RENEWAL
Emily A RutaCanadaElwin Sharvill NEGOTIATION
Izzy M BologniaArgentinaAmy Elsner UNQUALIFIED
Chavez L FlosiIndiaStephen Shaw UNQUALIFIED
Deepesh O WaycottRussiaBernardo Dominic NEGOTIATION
Rodrigues A BologniaJapanIoni Bowcher NEGOTIATION
Mayumi S KuskoFranceOnyama Limba RENEWAL
Francesco C PoquetteFranceStephen Shaw QUALIFIED
Arvin X MaletCanadaIoni Bowcher NEGOTIATION
Darci A DarakjyBrazilOnyama Limba NEGOTIATION
Clifford M PoquetteBrazilOnyama Limba QUALIFIED
Chavez X NestleUnited KingdomXuxue Feng PROPOSAL
Jennifer G RutaArgentinaAnna Fali QUALIFIED
Darci A CampainGermanyIoni Bowcher NEGOTIATION
Clifford T WieserFranceAmy Elsner RENEWAL
Octavia X PaprockiFranceOnyama Limba QUALIFIED
Julie I OstroskyIndiaAnna Fali QUALIFIED
Faith U FlosiCanadaXuxue Feng NEW
Antonio E DilliardJapanAmy Elsner PROPOSAL
Jefferson K KuskoBrazilIvan Magalhaes RENEWAL
Aruna W GillianBrazilAnna Fali PROPOSAL
Antonio M BowleyItalyBernardo Dominic PROPOSAL
Silvio M DarakjyUnited KingdomElwin Sharvill RENEWAL
Tony N VocelkaAustraliaIvan Magalhaes NEGOTIATION
James D GlickGermanyAnna Fali PROPOSAL
Frozen Columns
Name
Rodrigues I Campain
Alejandro X Perin
Salvatore I Kusko
Deepesh T Malet
Faith A Butt
Ricardo H Saylors
Antonio N Poquette
Izzy U Butt
Mayumi G Ferencz
Alejandro W Marrier
Maria J Schemmer
Clifford Z Kusko
Smith H Foller
Chavez T Bolognia
Cody U Rim
Rodrigues Y Slusarski
David G Amigon
Morrow Z Sergi
Cody Z Glick
Salvatore W Doe
Kadeem D Whobrey
Maria U Oldroyd
Salvatore W Ruta
Rodrigues A Doe
Wickens S Inouye
Salvatore F Perin
Maisha Y Malet
Ricardo O Iturbide
Juan Z Campain
Jones U Inouye
Antonio Y Malet
Rodrigues D Inouye
Costa S Doe
Isabel I Flosi
Jefferson M Vocelka
Tony F Shinko
Francesco D Gaucho
Aditya W Morasca
Ashley U Paprocki
Leja A Kusko
Smith L Stockham
Mayumi D Vocelka
Tony R Nicka
Greenwood T Sergi
Deepesh R Poquette
Costa U Stockham
Claire V Poquette
Deepesh M Schemmer
Nicolas V Malet
Murillo D Whobrey
IdCountryDate
1000Russia2026-10-03
1001India2026-10-15
1002Japan2026-10-01
1003Spain2026-10-06
1004Russia2026-10-19
1005Australia2026-10-06
1006India2026-10-04
1007Australia2026-10-17
1008United Kingdom2026-10-13
1009Canada2026-09-27
1010Italy2026-10-20
1011Germany2026-10-12
1012India2026-10-20
1013Italy2026-09-28
1014France2026-09-23
1015Brazil2026-09-22
1016Russia2026-10-14
1017Italy2026-10-10
1018Russia2026-10-16
1019India2026-10-15
1020Germany2026-10-09
1021India2026-10-04
1022Japan2026-09-25
1023India2026-10-19
1024Russia2026-10-11
1025Australia2026-10-07
1026France2026-10-07
1027Japan2026-10-15
1028Brazil2026-10-07
1029Italy2026-09-24
1030France2026-10-16
1031Canada2026-10-02
1032Australia2026-10-03
1033Argentina2026-10-19
1034India2026-10-02
1035Italy2026-10-21
1036France2026-09-30
1037Japan2026-10-17
1038Brazil2026-10-08
1039India2026-10-09
1040Germany2026-09-28
1041Russia2026-10-18
1042Italy2026-09-23
1043Russia2026-10-04
1044Australia2026-10-12
1045India2026-10-07
1046India2026-10-03
1047France2026-10-01
1048United Kingdom2026-10-08
1049Argentina2026-10-02

On-Demand Data

NameIdCountryDate
Rodrigues R Sergi1000United Kingdom2026-10-15
Misaki F Royster1001Japan2026-10-09
Francesco R Vocelka1002Canada2026-09-22
Sinclair N Wieser1003United Kingdom2026-10-17
Tony L Glick1004India2026-09-29
Kadeem K Schemmer1005Canada2026-10-05
Greenwood X Albares1006France2026-10-11
Ricardo Z Ostrosky1007Spain2026-09-24
Clifford T Ostrosky1008France2026-10-16
Jeanfrancois Q Caudy1009Canada2026-10-06
Alejandro S Garufi1010Spain2026-09-29
Antonio D Caudy1011Japan2026-09-25
Maisha V Maclead1012Russia2026-10-19
David V Marrier1013Japan2026-10-09
Salvatore G Nestle1014Germany2026-10-19
Jones D Caudy1015Germany2026-09-30
Aika M Oldroyd1016Brazil2026-09-24
Maisha T Malet1017Italy2026-09-22
Leon O Poquette1018United Kingdom2026-10-02
Julie T Inouye1019Argentina2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro M ChuiFranceElwin Sharvill RENEWAL
Salvatore N RoysterArgentinaBernardo Dominic QUALIFIED
Nicolas Z IturbideSpainBernardo Dominic NEGOTIATION
Adams V GillianAustraliaAnna Fali RENEWAL
Costa B RimUnited KingdomElwin Sharvill PROPOSAL
Ivar O FollerAustraliaIvan Magalhaes RENEWAL
Clifford J WieserIndiaXuxue Feng NEW
Morrow U FerenczFranceAmy Elsner NEGOTIATION
Alejandro S RutaJapanOnyama Limba NEW
Wickens N MorascaGermanyXuxue Feng RENEWAL
Wickens X DoeAustraliaIvan Magalhaes RENEWAL
Ivar Y CampainBrazilIvan Magalhaes NEW
Jennifer O FlosiUnited KingdomStephen Shaw UNQUALIFIED
Francesco M MaletArgentinaAnna Fali NEW
Mujtaba Z NickaGermanyOnyama Limba PROPOSAL
David Z GauchoItalyAmy Elsner QUALIFIED
Mayumi H NickaJapanAsiya Javayant PROPOSAL
Ashley S GillianSpainBernardo Dominic NEGOTIATION
Cody Q MacleadAustraliaBernardo Dominic RENEWAL
Ashley A IturbideItalyElwin Sharvill NEGOTIATION
Juan Z StensethItalyBernardo Dominic NEW
Maria V DoeIndiaStephen Shaw QUALIFIED
Ashley G CaldareraJapanOnyama Limba PROPOSAL
Nicolas U KuskoFranceElwin Sharvill QUALIFIED
Johnson A ChuiBrazilXuxue Feng NEW
Misaki Q MarrierJapanBernardo Dominic PROPOSAL
Kaitlin H PaprockiRussiaAmy Elsner QUALIFIED
Adams H BologniaRussiaIoni Bowcher NEW
Munro V InouyeItalyAmy Elsner RENEWAL
Ashley V AlbaresGermanyAnna Fali QUALIFIED
Aditya V PerinJapanIoni Bowcher RENEWAL
Nicolas R PaprockiCanadaElwin Sharvill NEW
Arvin Q PoquetteRussiaOnyama Limba NEGOTIATION
Darci M IturbideItalyIoni Bowcher NEW
Ashley B RutaBrazilElwin Sharvill UNQUALIFIED
Alejandro N WaycottAustraliaAmy Elsner RENEWAL
Francesco A WieserFranceElwin Sharvill NEGOTIATION
Jennifer I GillianFranceIvan Magalhaes NEW
Claire Y FlosiArgentinaAnna Fali QUALIFIED
Adams A InouyeRussiaElwin Sharvill 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>