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 E OldroydUnited KingdomOnyama Limba NEW
Izzy J GauchoIndiaIoni Bowcher PROPOSAL
Salvatore D FerenczCanadaOnyama Limba UNQUALIFIED
Rodrigues I FigeroaJapanAsiya Javayant PROPOSAL
Munro R OstroskyGermanyAmy Elsner NEW
Wickens L PaprockiArgentinaBernardo Dominic RENEWAL
Adams E ButtRussiaAmy Elsner UNQUALIFIED
Adams U NickaRussiaIoni Bowcher QUALIFIED
Juan I VenereSpainElwin Sharvill QUALIFIED
Nicolas X SlusarskiItalyBernardo Dominic NEGOTIATION
Wickens T InouyeBrazilStephen Shaw UNQUALIFIED
Jennifer R DilliardUnited KingdomAmy Elsner UNQUALIFIED
Deepesh F SlusarskiFranceIoni Bowcher RENEWAL
Mayumi E VocelkaArgentinaAsiya Javayant QUALIFIED
Jones Q CampainCanadaStephen Shaw NEGOTIATION
Kaitlin L GlickArgentinaOnyama Limba PROPOSAL
Jeanfrancois K PoquetteCanadaAsiya Javayant NEGOTIATION
Ricardo L IturbideGermanyElwin Sharvill RENEWAL
Juan B StockhamAustraliaAnna Fali PROPOSAL
Kaitlin F DarakjyUnited KingdomAsiya Javayant PROPOSAL
Maria V GillianUnited KingdomStephen Shaw UNQUALIFIED
Silvio I GillianCanadaIvan Magalhaes NEW
Nicolas F StensethGermanyBernardo Dominic UNQUALIFIED
Kadeem J BriddickFranceOnyama Limba NEGOTIATION
Wickens O OldroydRussiaBernardo Dominic QUALIFIED
Antonio B SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Emily S NickaUnited KingdomAsiya Javayant NEGOTIATION
Silvio M RulapaughAustraliaBernardo Dominic RENEWAL
Stacey L ButtIndiaBernardo Dominic RENEWAL
Ivar V FlosiItalyAsiya Javayant QUALIFIED
Juan U MaletSpainBernardo Dominic QUALIFIED
Silvio V FlosiArgentinaAsiya Javayant RENEWAL
Aika Z DilliardBrazilIoni Bowcher PROPOSAL
Ivar U BowleyRussiaBernardo Dominic UNQUALIFIED
Ashley S CaudyArgentinaAmy Elsner QUALIFIED
Aruna N ChuiItalyStephen Shaw PROPOSAL
Chavez M NestleCanadaXuxue Feng NEGOTIATION
Aika C IturbideAustraliaStephen Shaw NEW
Alejandro B BriddickArgentinaStephen Shaw RENEWAL
Adams W CaldareraIndiaAsiya Javayant NEW
Claire H ButtBrazilXuxue Feng UNQUALIFIED
Julie P NestleUnited KingdomAnna Fali UNQUALIFIED
Claire Y FerenczUnited KingdomElwin Sharvill NEGOTIATION
David M KolmetzFranceIoni Bowcher UNQUALIFIED
Wickens Q KuskoFranceAnna Fali NEGOTIATION
Izzy K OldroydUnited KingdomXuxue Feng QUALIFIED
Jones W OldroydJapanStephen Shaw NEW
Ricardo S StockhamBrazilAmy Elsner NEGOTIATION
Misaki L MacleadUnited KingdomStephen Shaw QUALIFIED
Salvatore C CaudyFranceBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Darci E AmigonBrazilXuxue Feng UNQUALIFIED
Kadeem F GauchoCanadaOnyama Limba PROPOSAL
Murillo G MarrierBrazilAnna Fali NEGOTIATION
Isabel I GauchoItalyAnna Fali NEGOTIATION
Mayumi H TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Leja M VocelkaBrazilAnna Fali PROPOSAL
Emily I AmigonItalyIoni Bowcher UNQUALIFIED
Sinclair H PoquetteJapanAmy Elsner QUALIFIED
Costa X RimItalyAsiya Javayant PROPOSAL
Costa U NickaFranceBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P SergiArgentina2026-09-15Morlong Associates PROPOSAL50Amy Elsner
1001Stacey Q ChuiFrance2026-10-11Printing Dimensions NEW35Asiya Javayant
1002Salvatore T KuskoRussia2026-09-21Rangoni Of Florence PROPOSAL30Amy Elsner
1003Mujtaba Q FigeroaIndia2026-09-19Chanay, Jeffrey A Esq NEW23Elwin Sharvill
1004Smith X WhobreySpain2026-09-28Printing Dimensions PROPOSAL88Stephen Shaw
1005Chavez O AmigonGermany2026-09-20Chapman, Ross E Esq QUALIFIED54Xuxue Feng
1006Ricardo R MacleadCanada2026-09-14Commercial Press QUALIFIED44Stephen Shaw
1007Faith Y RimRussia2026-10-12Feltz Printing Service RENEWAL90Onyama Limba
1008Ashley C OstroskyArgentina2026-10-11Printing Dimensions PROPOSAL97Ivan Magalhaes
1009Silvio B MorascaIndia2026-09-23Rousseaux, Michael Esq NEGOTIATION45Onyama Limba
1010Alejandro I GauchoBrazil2026-09-15Printing Dimensions RENEWAL1Onyama Limba
1011James Q GlickGermany2026-09-19Feltz Printing Service NEW99Onyama Limba
1012Ivar F IturbideFrance2026-10-08Morlong Associates NEW92Xuxue Feng
1013Adams U MarrierRussia2026-09-26King, Christopher A Esq NEW48Amy Elsner
1014Leja C AlbaresArgentina2026-09-25Chapman, Ross E Esq PROPOSAL57Onyama Limba
1015Adams K BriddickBrazil2026-10-07Chemel, James L Cpa UNQUALIFIED90Onyama Limba
1016Kaitlin S FlosiSpain2026-09-21Chapman, Ross E Esq NEGOTIATION95Onyama Limba
1017Juan S NestleBrazil2026-10-12Rousseaux, Michael Esq UNQUALIFIED0Ioni Bowcher
1018Aruna A DoeItaly2026-09-15Benton, John B Jr RENEWAL12Amy Elsner
1019Francesco M MaletCanada2026-09-30Chemel, James L Cpa PROPOSAL52Stephen Shaw
1020Claire P GillianItaly2026-10-06Truhlar And Truhlar Attys NEW45Ioni Bowcher
1021Clifford R InouyeGermany2026-09-29Feltz Printing Service QUALIFIED49Stephen Shaw
1022Ashley W MaletFrance2026-09-23Truhlar And Truhlar Attys RENEWAL83Elwin Sharvill
1023Leja F WaycottAustralia2026-09-28Truhlar And Truhlar Attys QUALIFIED96Elwin Sharvill
1024Nicolas T MaletSpain2026-09-21Truhlar And Truhlar Attys PROPOSAL65Amy Elsner
1025Aditya E DarakjyGermany2026-09-16Commercial Press PROPOSAL94Ivan Magalhaes
1026Faith G SaylorsAustralia2026-10-10Truhlar And Truhlar Attys UNQUALIFIED13Bernardo Dominic
1027Jeanfrancois K ButtSpain2026-10-01Rousseaux, Michael Esq PROPOSAL47Amy Elsner
1028Morrow F RutaAustralia2026-09-16Commercial Press NEGOTIATION14Onyama Limba
1029Wickens U WhobreyGermany2026-10-06Feiner Bros NEW41Elwin Sharvill
1030Aditya N FerenczUnited Kingdom2026-09-25Benton, John B Jr NEW11Onyama Limba
1031Arvin Q OstroskyIndia2026-10-10Feltz Printing Service NEGOTIATION3Ivan Magalhaes
1032Cody L DilliardRussia2026-09-29Chapman, Ross E Esq NEW54Elwin Sharvill
1033Izzy X MaletJapan2026-09-28Truhlar And Truhlar Attys NEGOTIATION58Amy Elsner
1034Deepesh J KolmetzBrazil2026-10-10King, Christopher A Esq RENEWAL15Ivan Magalhaes
1035Aruna A SergiBrazil2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED28Elwin Sharvill
1036Alejandro Z PoquetteItaly2026-09-20Rangoni Of Florence NEW26Asiya Javayant
1037Adams B MaletFrance2026-09-23Chapman, Ross E Esq UNQUALIFIED27Elwin Sharvill
1038Aditya A SergiUnited Kingdom2026-09-23Printing Dimensions NEW27Xuxue Feng
1039Aruna X MorascaJapan2026-10-08Printing Dimensions QUALIFIED10Onyama Limba
1040Rodrigues P GillianCanada2026-10-04Rangoni Of Florence NEGOTIATION63Bernardo Dominic
1041Tony U PaprockiGermany2026-10-06Chanay, Jeffrey A Esq NEW32Onyama Limba
1042Morrow U PerinAustralia2026-10-05Buckley Miller Wright RENEWAL79Elwin Sharvill
1043Cody T RimCanada2026-09-19Chemel, James L Cpa RENEWAL63Asiya Javayant
1044Jennifer O StockhamCanada2026-10-04Dorl, James J Esq UNQUALIFIED68Onyama Limba
1045Mujtaba Q SaylorsBrazil2026-09-19Printing Dimensions RENEWAL78Stephen Shaw
1046Misaki Q GillianGermany2026-09-22Rangoni Of Florence NEW14Xuxue Feng
1047Darci E PoquetteIndia2026-09-28Truhlar And Truhlar Attys QUALIFIED97Stephen Shaw
1048Misaki X StensethJapan2026-10-10Morlong Associates NEGOTIATION18Onyama Limba
1049Francesco O SaylorsFrance2026-10-05Rangoni Of Florence NEW43Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja C MorascaRussiaIoni Bowcher QUALIFIED
Leon V GarufiRussiaAnna Fali RENEWAL
James E FerenczSpainIvan Magalhaes NEW
James G BologniaFranceElwin Sharvill PROPOSAL
Nicolas S PerinAustraliaStephen Shaw UNQUALIFIED
Darci X VenereRussiaElwin Sharvill RENEWAL
Francesco V MacleadArgentinaElwin Sharvill QUALIFIED
Deepesh S OstroskyRussiaOnyama Limba NEW
Costa X MaletArgentinaXuxue Feng PROPOSAL
Octavia L RoysterCanadaStephen Shaw UNQUALIFIED
David O MorascaGermanyIoni Bowcher UNQUALIFIED
Izzy C SlusarskiAustraliaElwin Sharvill RENEWAL
Ivar K RutaArgentinaXuxue Feng UNQUALIFIED
Smith H AmigonIndiaIvan Magalhaes NEW
Deepesh O SaylorsAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois D SlusarskiBrazilIoni Bowcher RENEWAL
Ashley Z KuskoArgentinaAsiya Javayant NEGOTIATION
Wickens H CaudyIndiaElwin Sharvill NEW
Octavia P CaldareraJapanAnna Fali PROPOSAL
Ivar T TollnerBrazilIvan Magalhaes RENEWAL
Juan P OstroskyUnited KingdomBernardo Dominic RENEWAL
Greenwood G CampainIndiaBernardo Dominic RENEWAL
Maria S PerinBrazilXuxue Feng NEGOTIATION
Claire E OldroydArgentinaElwin Sharvill QUALIFIED
Izzy G PerinSpainStephen Shaw PROPOSAL
Rodrigues T GauchoSpainAnna Fali PROPOSAL
Greenwood R OldroydJapanStephen Shaw NEW
Alejandro W FigeroaArgentinaElwin Sharvill NEGOTIATION
Smith N ShinkoIndiaStephen Shaw NEW
Cody T PerinUnited KingdomStephen Shaw PROPOSAL
Faith W BriddickArgentinaAsiya Javayant NEGOTIATION
Salvatore I FigeroaFranceElwin Sharvill NEGOTIATION
Jones R GauchoSpainAnna Fali RENEWAL
Octavia A ChuiItalyIvan Magalhaes PROPOSAL
Juan C DarakjyArgentinaElwin Sharvill QUALIFIED
Aditya Y PerinSpainAmy Elsner RENEWAL
Greenwood W DoeBrazilAsiya Javayant NEW
David F MorascaIndiaStephen Shaw RENEWAL
Aditya Z WaycottRussiaElwin Sharvill NEGOTIATION
Isabel C RimIndiaXuxue Feng PROPOSAL
Octavia E TollnerIndiaAsiya Javayant PROPOSAL
Claire H FollerBrazilStephen Shaw PROPOSAL
Faith V DarakjyRussiaIoni Bowcher RENEWAL
Jennifer M MaletJapanIvan Magalhaes QUALIFIED
Kaitlin R SlusarskiAustraliaAmy Elsner RENEWAL
Jefferson T CaldareraIndiaIvan Magalhaes RENEWAL
Jefferson L PaprockiGermanyAnna Fali RENEWAL
Alejandro Q KolmetzFranceAnna Fali QUALIFIED
Misaki Q NickaRussiaAmy Elsner NEGOTIATION
Nicolas F AlbaresBrazilAnna Fali QUALIFIED
Frozen Columns
Name
Mayumi Z Dilliard
Arvin M Oldroyd
Kadeem K Flosi
Octavia V Vocelka
Jennifer S Morasca
Adams R Shinko
Aika R Amigon
Claire H Caldarera
Ivar H Foller
Adams W Stenseth
Mujtaba O Kolmetz
Deepesh S Rim
Octavia P Gillian
Izzy Y Paprocki
Chavez C Tollner
Tony V Nestle
Claire K Perin
Leja F Marrier
Kadeem K Glick
Emily P Kusko
Leja L Perin
Adams R Kolmetz
Ricardo E Oldroyd
Maisha J Waycott
Jeanfrancois E Stockham
Salvatore D Briddick
Isabel S Malet
Greenwood Z Caldarera
Emily F Malet
Ashley C Venere
Jeanfrancois L Bolognia
Munro O Malet
Francesco W Gillian
Ricardo R Wieser
Julie X Butt
Tony U Maclead
Alejandro U Ostrosky
Misaki X Garufi
Alejandro L Royster
Jeanfrancois K Oldroyd
Mujtaba E Marrier
Salvatore M Wieser
Mayumi H Rim
Johnson K Stenseth
James Y Gaucho
Antonio G Nestle
Isabel L Nestle
Aika F Caudy
Misaki E Malet
Murillo X Rim
IdCountryDate
1000Canada2026-09-14
1001Germany2026-10-06
1002France2026-09-23
1003Argentina2026-09-17
1004Italy2026-10-05
1005Australia2026-09-18
1006United Kingdom2026-10-05
1007Spain2026-09-18
1008Spain2026-09-22
1009Australia2026-09-29
1010Australia2026-10-11
1011Brazil2026-10-02
1012Argentina2026-09-13
1013Germany2026-09-26
1014Canada2026-10-06
1015Brazil2026-09-20
1016Japan2026-09-29
1017Australia2026-10-11
1018Argentina2026-09-20
1019Spain2026-10-10
1020France2026-09-20
1021India2026-10-01
1022Brazil2026-10-04
1023Brazil2026-09-17
1024Spain2026-09-25
1025Argentina2026-09-19
1026Russia2026-09-22
1027Spain2026-09-21
1028Russia2026-10-10
1029Canada2026-09-29
1030France2026-09-17
1031Argentina2026-09-23
1032Russia2026-09-30
1033Canada2026-10-10
1034Japan2026-09-19
1035Russia2026-09-22
1036Australia2026-10-05
1037Brazil2026-09-24
1038France2026-09-14
1039India2026-09-30
1040India2026-09-24
1041India2026-09-26
1042United Kingdom2026-10-12
1043Japan2026-09-16
1044India2026-09-17
1045France2026-09-23
1046Germany2026-09-28
1047Canada2026-10-03
1048Argentina2026-09-30
1049Australia2026-10-11

On-Demand Data

NameIdCountryDate
Leon G Waycott1000Italy2026-10-11
Isabel E Waycott1001Germany2026-09-16
Izzy I Bowley1002Brazil2026-10-03
Munro N Bolognia1003Spain2026-10-05
Salvatore I Vocelka1004Italy2026-09-21
Jefferson I Foller1005France2026-09-25
Morrow C Maclead1006Japan2026-09-15
Antonio L Foller1007Russia2026-09-29
Clifford G Nestle1008Germany2026-10-06
Leja K Campain1009Argentina2026-10-11
Isabel B Nicka1010Germany2026-10-11
Nicolas S Slusarski1011Argentina2026-09-23
Izzy Q Bolognia1012Italy2026-09-25
Smith B Perin1013Italy2026-09-28
Nicolas N Morasca1014United Kingdom2026-09-28
Aditya U Caldarera1015France2026-10-09
Silvio Y Royster1016Japan2026-10-07
Emily P Venere1017Japan2026-10-06
Darci G Foller1018Argentina2026-10-06
Tony U Ferencz1019Russia2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika T RutaArgentinaIoni Bowcher NEGOTIATION
Deepesh M GillianIndiaStephen Shaw RENEWAL
Julie I StockhamBrazilAsiya Javayant QUALIFIED
Salvatore J VocelkaIndiaAnna Fali QUALIFIED
Maisha M GlickFranceAsiya Javayant NEW
Sinclair U GauchoArgentinaAnna Fali NEGOTIATION
Ashley U MorascaFranceStephen Shaw NEGOTIATION
Emily H PaprockiBrazilElwin Sharvill QUALIFIED
Antonio Q CaudyAustraliaIvan Magalhaes RENEWAL
Isabel Z DarakjyRussiaIoni Bowcher PROPOSAL
James A BowleyGermanyAmy Elsner PROPOSAL
Antonio U DilliardRussiaAsiya Javayant QUALIFIED
Ashley F FollerItalyIvan Magalhaes QUALIFIED
Johnson O BologniaFranceXuxue Feng NEGOTIATION
Tony K GillianIndiaElwin Sharvill UNQUALIFIED
Adams N MorascaFranceOnyama Limba QUALIFIED
Antonio Q WhobreyJapanAnna Fali RENEWAL
Nicolas I MacleadArgentinaStephen Shaw NEW
Isabel T CaldareraAustraliaStephen Shaw NEW
Arvin K WaycottIndiaStephen Shaw NEW
Costa D CampainArgentinaIvan Magalhaes NEGOTIATION
Antonio H SlusarskiBrazilElwin Sharvill NEGOTIATION
Izzy M MaletCanadaAmy Elsner NEGOTIATION
Antonio E DoeJapanAmy Elsner NEW
Kadeem L OstroskyItalyAmy Elsner UNQUALIFIED
David R NickaGermanyIoni Bowcher PROPOSAL
Aditya P FollerGermanyAmy Elsner QUALIFIED
Adams S GlickGermanyOnyama Limba NEW
Leja T RulapaughItalyBernardo Dominic UNQUALIFIED
Morrow C BologniaArgentinaStephen Shaw QUALIFIED
Sinclair D MorascaGermanyOnyama Limba UNQUALIFIED
Julie G WieserAustraliaIoni Bowcher UNQUALIFIED
Juan T WhobreyBrazilIoni Bowcher NEGOTIATION
Aditya A FerenczJapanElwin Sharvill NEW
Ivar X MarrierCanadaStephen Shaw PROPOSAL
Costa P StockhamArgentinaAnna Fali UNQUALIFIED
Ashley T MacleadBrazilAsiya Javayant UNQUALIFIED
Arvin G RoysterFranceOnyama Limba NEW
Mujtaba D RutaUnited KingdomIvan Magalhaes QUALIFIED
Adams G PaprockiFranceElwin Sharvill 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>