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
Francesco J NickaRussiaIoni Bowcher NEGOTIATION
Octavia O VocelkaGermanyIoni Bowcher PROPOSAL
Cody A InouyeItalyXuxue Feng RENEWAL
Juan E KuskoFranceOnyama Limba NEGOTIATION
Julie F MaletGermanyXuxue Feng NEGOTIATION
Munro P VenereSpainAsiya Javayant UNQUALIFIED
Tony Y BowleySpainIvan Magalhaes QUALIFIED
Kadeem G PoquetteCanadaIvan Magalhaes UNQUALIFIED
Leon K RutaJapanIoni Bowcher UNQUALIFIED
Antonio L PerinRussiaBernardo Dominic PROPOSAL
Antonio Z RimCanadaXuxue Feng NEGOTIATION
Chavez L OstroskyArgentinaOnyama Limba NEW
Costa A FlosiCanadaIvan Magalhaes UNQUALIFIED
Mujtaba Y WhobreyFranceStephen Shaw NEGOTIATION
Juan T IturbideItalyStephen Shaw PROPOSAL
Isabel R GarufiCanadaBernardo Dominic QUALIFIED
Aika Z BowleyItalyElwin Sharvill PROPOSAL
Aditya L FerenczBrazilIoni Bowcher RENEWAL
Clifford V GarufiItalyOnyama Limba RENEWAL
Jefferson B GauchoAustraliaXuxue Feng UNQUALIFIED
Leja T VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Maria F SergiIndiaOnyama Limba QUALIFIED
Kadeem E IturbideItalyAmy Elsner PROPOSAL
Cody H WhobreyBrazilAnna Fali RENEWAL
Smith H BowleyJapanAsiya Javayant UNQUALIFIED
Morrow O RoysterItalyOnyama Limba UNQUALIFIED
Ashley N DoeGermanyAmy Elsner NEGOTIATION
Emily S FigeroaFranceXuxue Feng UNQUALIFIED
Misaki Y KuskoJapanStephen Shaw NEW
Smith Y BriddickRussiaAsiya Javayant RENEWAL
Costa M StensethSpainBernardo Dominic UNQUALIFIED
Rodrigues J StockhamArgentinaAnna Fali QUALIFIED
Juan R ShinkoIndiaStephen Shaw UNQUALIFIED
James R FlosiUnited KingdomAnna Fali NEW
Nicolas W NickaItalyIvan Magalhaes UNQUALIFIED
Stacey M CaudyAustraliaStephen Shaw NEW
Mayumi L StensethGermanyOnyama Limba QUALIFIED
Chavez O BologniaFranceIvan Magalhaes QUALIFIED
Antonio F MaletGermanyIvan Magalhaes UNQUALIFIED
Isabel E MarrierAustraliaXuxue Feng PROPOSAL
Francesco S AmigonItalyOnyama Limba QUALIFIED
Johnson J BriddickJapanBernardo Dominic NEGOTIATION
Emily T StensethGermanyIvan Magalhaes NEW
Maria J InouyeCanadaOnyama Limba RENEWAL
Murillo E BriddickIndiaIvan Magalhaes NEGOTIATION
Jennifer V MaletSpainStephen Shaw PROPOSAL
Costa W TollnerJapanAmy Elsner RENEWAL
Leon Q OldroydGermanyStephen Shaw NEGOTIATION
Darci M RulapaughRussiaIoni Bowcher RENEWAL
Isabel R VocelkaJapanAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore E PoquetteSpainOnyama Limba UNQUALIFIED
Ashley B FlosiItalyIoni Bowcher NEW
Izzy D GillianRussiaStephen Shaw NEGOTIATION
Jefferson P BologniaSpainAmy Elsner NEW
Claire P RulapaughArgentinaIoni Bowcher NEW
Cody Z RutaSpainStephen Shaw NEW
Johnson V IturbideJapanXuxue Feng PROPOSAL
Aditya L MaletItalyBernardo Dominic NEW
Faith A KolmetzCanadaIvan Magalhaes NEW
Cody Z MaletGermanyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David Q NestleGermany2026-09-26Rangoni Of Florence RENEWAL6Ivan Magalhaes
1001Octavia N AlbaresCanada2026-10-07Truhlar And Truhlar Attys UNQUALIFIED69Onyama Limba
1002Mayumi P FigeroaUnited Kingdom2026-09-27Benton, John B Jr RENEWAL95Amy Elsner
1003Mayumi I IturbideJapan2026-10-01Buckley Miller Wright UNQUALIFIED77Amy Elsner
1004Johnson I AlbaresCanada2026-10-16Chemel, James L Cpa PROPOSAL48Anna Fali
1005Jefferson A StensethJapan2026-10-01Morlong Associates UNQUALIFIED2Asiya Javayant
1006Ashley C SlusarskiJapan2026-10-21Commercial Press UNQUALIFIED16Anna Fali
1007Claire Y IturbideUnited Kingdom2026-10-07Rousseaux, Michael Esq RENEWAL22Ivan Magalhaes
1008Sinclair J RoysterArgentina2026-10-08Dorl, James J Esq NEW76Amy Elsner
1009Salvatore V CaldareraIndia2026-10-20Dorl, James J Esq NEGOTIATION75Asiya Javayant
1010Rodrigues M GarufiUnited Kingdom2026-09-27Rangoni Of Florence QUALIFIED42Ioni Bowcher
1011Kaitlin F TollnerIndia2026-09-25Feiner Bros RENEWAL43Bernardo Dominic
1012Alejandro X ChuiSpain2026-09-28Dorl, James J Esq UNQUALIFIED73Bernardo Dominic
1013Arvin A RimFrance2026-10-14Printing Dimensions QUALIFIED4Xuxue Feng
1014Nicolas U KolmetzSpain2026-09-26Benton, John B Jr PROPOSAL39Ivan Magalhaes
1015Cody F StensethCanada2026-10-13Printing Dimensions PROPOSAL97Elwin Sharvill
1016Aditya I NestleFrance2026-10-09Chanay, Jeffrey A Esq NEGOTIATION91Ivan Magalhaes
1017James E RutaCanada2026-09-27Commercial Press NEW84Onyama Limba
1018Francesco R PaprockiAustralia2026-10-13Printing Dimensions NEW60Anna Fali
1019Smith Z BriddickAustralia2026-10-01Truhlar And Truhlar Attys NEW97Bernardo Dominic
1020Jefferson J NickaSpain2026-10-04King, Christopher A Esq QUALIFIED90Asiya Javayant
1021Greenwood I MorascaItaly2026-10-06Chapman, Ross E Esq PROPOSAL55Xuxue Feng
1022Julie T BowleyGermany2026-10-05Chanay, Jeffrey A Esq QUALIFIED1Onyama Limba
1023Francesco K MaletArgentina2026-10-02Chemel, James L Cpa RENEWAL39Asiya Javayant
1024Clifford S PerinAustralia2026-09-22Morlong Associates RENEWAL68Stephen Shaw
1025Darci V CampainIndia2026-10-17Chapman, Ross E Esq NEW60Asiya Javayant
1026Arvin F TollnerFrance2026-10-09King, Christopher A Esq RENEWAL7Asiya Javayant
1027Faith Q AmigonFrance2026-10-16Feltz Printing Service NEGOTIATION94Ivan Magalhaes
1028Alejandro O WhobreyIndia2026-09-26Printing Dimensions UNQUALIFIED85Amy Elsner
1029Tony N StensethArgentina2026-10-08Commercial Press QUALIFIED81Bernardo Dominic
1030Kaitlin J SaylorsGermany2026-09-27Chapman, Ross E Esq NEW20Anna Fali
1031Murillo S DilliardFrance2026-10-10Printing Dimensions RENEWAL19Onyama Limba
1032Mujtaba F FollerUnited Kingdom2026-10-19Printing Dimensions RENEWAL67Ioni Bowcher
1033Costa O WieserBrazil2026-10-07Printing Dimensions QUALIFIED39Ivan Magalhaes
1034Jefferson T WieserAustralia2026-10-21Benton, John B Jr NEW84Asiya Javayant
1035Aika S NestleAustralia2026-10-12Printing Dimensions PROPOSAL28Asiya Javayant
1036Chavez S PaprockiArgentina2026-10-12Dorl, James J Esq RENEWAL92Onyama Limba
1037Deepesh E DoeItaly2026-09-22Chemel, James L Cpa RENEWAL76Ivan Magalhaes
1038Johnson Q InouyeFrance2026-10-10Commercial Press RENEWAL99Onyama Limba
1039Kaitlin T DoeSpain2026-09-25Chapman, Ross E Esq UNQUALIFIED87Stephen Shaw
1040Mujtaba H ShinkoGermany2026-10-05Rangoni Of Florence NEW7Ivan Magalhaes
1041Kadeem O PoquetteBrazil2026-10-10Feltz Printing Service UNQUALIFIED7Bernardo Dominic
1042Sinclair Q VenereJapan2026-10-05Feltz Printing Service QUALIFIED46Elwin Sharvill
1043David O DilliardGermany2026-10-17Buckley Miller Wright NEW35Amy Elsner
1044Jeanfrancois G GauchoCanada2026-10-16Commercial Press QUALIFIED83Ioni Bowcher
1045Francesco Y StensethFrance2026-09-26Feltz Printing Service UNQUALIFIED12Ivan Magalhaes
1046Aika X SergiUnited Kingdom2026-09-28Chapman, Ross E Esq UNQUALIFIED16Ioni Bowcher
1047Juan P CaldareraFrance2026-09-23Benton, John B Jr NEGOTIATION37Asiya Javayant
1048Misaki G ShinkoIndia2026-09-28Printing Dimensions RENEWAL52Xuxue Feng
1049Clifford F PerinJapan2026-09-30Chemel, James L Cpa RENEWAL61Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Munro F SergiGermanyIvan Magalhaes NEGOTIATION
Mayumi E CaudyFranceIoni Bowcher QUALIFIED
Jennifer U GillianItalyAnna Fali QUALIFIED
Chavez R BriddickCanadaIoni Bowcher NEGOTIATION
Francesco R RutaIndiaIvan Magalhaes PROPOSAL
Silvio D BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi Q MaletFranceIvan Magalhaes RENEWAL
David J GillianRussiaBernardo Dominic RENEWAL
Munro W StockhamRussiaElwin Sharvill RENEWAL
Nicolas V StockhamJapanIoni Bowcher PROPOSAL
Maria C CaldareraCanadaAsiya Javayant UNQUALIFIED
Leja W StockhamBrazilXuxue Feng QUALIFIED
Salvatore T FerenczUnited KingdomAsiya Javayant NEGOTIATION
Aika H BriddickJapanAnna Fali NEW
Julie B ChuiUnited KingdomAsiya Javayant QUALIFIED
Aika A GlickFranceAmy Elsner UNQUALIFIED
Aditya F CaudyFranceOnyama Limba PROPOSAL
Kaitlin U RutaRussiaAmy Elsner NEGOTIATION
Mayumi I DilliardBrazilAsiya Javayant NEGOTIATION
Aditya E SlusarskiRussiaOnyama Limba NEGOTIATION
Alejandro S ShinkoBrazilIvan Magalhaes NEW
Stacey D FigeroaGermanyAmy Elsner QUALIFIED
Mayumi F DoeAustraliaElwin Sharvill NEGOTIATION
Leja Y CaudyBrazilElwin Sharvill UNQUALIFIED
Clifford Y PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Adams F WhobreyCanadaIoni Bowcher UNQUALIFIED
Ricardo F WhobreySpainStephen Shaw UNQUALIFIED
Claire B BologniaArgentinaBernardo Dominic PROPOSAL
Aika F CaldareraItalyAsiya Javayant PROPOSAL
Tony M MaletFranceStephen Shaw NEGOTIATION
Munro Z GlickSpainIoni Bowcher NEGOTIATION
Johnson W MaletCanadaAnna Fali NEGOTIATION
Johnson A SaylorsFranceAsiya Javayant UNQUALIFIED
Leon Z PoquetteGermanyXuxue Feng NEGOTIATION
Alejandro F MarrierSpainIoni Bowcher RENEWAL
Jeanfrancois B RulapaughRussiaStephen Shaw NEGOTIATION
Aika G FigeroaBrazilAmy Elsner QUALIFIED
Jefferson F StockhamSpainOnyama Limba QUALIFIED
Kaitlin Q KolmetzIndiaAsiya Javayant QUALIFIED
Sinclair F AlbaresFranceStephen Shaw QUALIFIED
Misaki J IturbideArgentinaOnyama Limba NEGOTIATION
Wickens P IturbideRussiaOnyama Limba UNQUALIFIED
Aditya M MaletBrazilAnna Fali RENEWAL
Johnson L MorascaCanadaStephen Shaw UNQUALIFIED
Munro P StensethCanadaStephen Shaw NEW
Ricardo L StockhamBrazilIoni Bowcher NEW
Julie V BowleyRussiaAnna Fali UNQUALIFIED
Johnson V RulapaughCanadaAsiya Javayant RENEWAL
Darci C ButtItalyXuxue Feng PROPOSAL
Jennifer K DilliardBrazilBernardo Dominic RENEWAL
Frozen Columns
Name
Ashley K Nestle
Chavez O Maclead
Octavia Y Bolognia
Ashley I Waycott
Emily Q Wieser
Kadeem E Schemmer
Jeanfrancois X Poquette
Darci K Saylors
Nicolas Y Campain
Rodrigues H Stenseth
Mayumi D Maclead
Tony W Tollner
Nicolas W Royster
Deepesh S Iturbide
Octavia M Doe
Murillo E Shinko
Stacey A Vocelka
Alejandro N Marrier
Emily S Stenseth
Alejandro O Dilliard
Leon H Shinko
Aditya S Oldroyd
Salvatore F Ferencz
Costa O Inouye
Johnson U Glick
Misaki E Bolognia
Maria B Royster
Chavez M Caudy
Izzy V Campain
Jones I Ferencz
Leja J Malet
Aika M Kolmetz
Misaki F Perin
Claire C Venere
Clifford C Gillian
Aika Y Malet
Izzy Y Foller
Johnson P Bolognia
Munro T Flosi
Silvio M Rim
Adams O Whobrey
Jeanfrancois G Doe
Costa K Saylors
Adams E Doe
Stacey K Darakjy
Faith W Sergi
Maria B Morasca
Izzy J Glick
Morrow B Foller
Mayumi E Slusarski
IdCountryDate
1000Italy2026-09-27
1001Argentina2026-09-23
1002India2026-09-23
1003Australia2026-10-17
1004Japan2026-10-17
1005India2026-10-20
1006Spain2026-09-29
1007United Kingdom2026-09-26
1008Argentina2026-09-26
1009India2026-10-08
1010Japan2026-10-09
1011Spain2026-10-14
1012Brazil2026-10-14
1013Australia2026-09-22
1014Germany2026-10-16
1015Canada2026-10-08
1016Brazil2026-09-26
1017France2026-10-05
1018Germany2026-10-20
1019Australia2026-09-26
1020Japan2026-10-10
1021Brazil2026-09-25
1022Spain2026-10-01
1023Japan2026-10-05
1024Brazil2026-10-10
1025Italy2026-10-17
1026Italy2026-10-05
1027Spain2026-10-04
1028Canada2026-10-08
1029Russia2026-09-26
1030Germany2026-10-03
1031Canada2026-09-28
1032Australia2026-10-09
1033France2026-10-06
1034France2026-10-20
1035Germany2026-10-12
1036India2026-10-04
1037Spain2026-10-19
1038Canada2026-10-03
1039Spain2026-09-26
1040Russia2026-09-25
1041Brazil2026-10-08
1042Argentina2026-10-01
1043Brazil2026-10-07
1044Japan2026-10-18
1045Argentina2026-10-12
1046Brazil2026-10-05
1047Brazil2026-09-23
1048Russia2026-10-16
1049Russia2026-10-21

On-Demand Data

NameIdCountryDate
Mayumi J Inouye1000Russia2026-10-01
Tony K Flosi1001United Kingdom2026-10-09
David H Royster1002India2026-10-21
Aruna O Foller1003Australia2026-10-14
Darci K Poquette1004Germany2026-10-03
Smith R Vocelka1005Italy2026-09-22
David G Vocelka1006France2026-09-27
Salvatore K Darakjy1007Japan2026-09-27
Misaki O Gaucho1008India2026-09-29
Maria Y Stenseth1009Japan2026-10-06
Stacey C Ostrosky1010Italy2026-10-09
Faith P Morasca1011Japan2026-10-21
Jones K Amigon1012United Kingdom2026-10-07
Mayumi O Tollner1013Australia2026-10-02
Mujtaba W Malet1014Spain2026-10-12
Stacey V Schemmer1015France2026-09-25
Nicolas F Glick1016Germany2026-09-26
Chavez U Whobrey1017Brazil2026-09-22
Maisha R Schemmer1018Australia2026-10-14
Munro N Caldarera1019Italy2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas D BowleyRussiaStephen Shaw QUALIFIED
Morrow K TollnerSpainElwin Sharvill QUALIFIED
Morrow L MorascaAustraliaOnyama Limba RENEWAL
David S FerenczFranceAmy Elsner NEW
Maisha C CaldareraFranceXuxue Feng NEGOTIATION
Antonio J SlusarskiRussiaStephen Shaw UNQUALIFIED
Misaki S OldroydGermanyAnna Fali RENEWAL
Kadeem G AlbaresGermanyElwin Sharvill RENEWAL
Cody I StockhamJapanBernardo Dominic NEGOTIATION
Rodrigues Y MacleadArgentinaElwin Sharvill UNQUALIFIED
David J MarrierGermanyElwin Sharvill NEW
Leon S NickaSpainAsiya Javayant UNQUALIFIED
Costa B StockhamGermanyBernardo Dominic RENEWAL
Rodrigues J MacleadBrazilAnna Fali NEW
Misaki C MacleadSpainIvan Magalhaes QUALIFIED
Alejandro Z CaldareraJapanOnyama Limba QUALIFIED
Maria O OldroydAustraliaIoni Bowcher QUALIFIED
Mujtaba U PerinFranceStephen Shaw QUALIFIED
Mujtaba I MorascaJapanAnna Fali NEW
Leja B DoeAustraliaIoni Bowcher QUALIFIED
Leon O IturbideCanadaAsiya Javayant PROPOSAL
Maisha G SchemmerGermanyAmy Elsner NEW
Wickens M OldroydSpainXuxue Feng NEW
Ivar Y WieserCanadaBernardo Dominic QUALIFIED
Darci T GillianIndiaBernardo Dominic NEW
Jefferson L SaylorsCanadaXuxue Feng NEGOTIATION
Chavez O FigeroaIndiaAnna Fali RENEWAL
Juan Q WhobreyRussiaAnna Fali NEW
Kadeem O CaldareraAustraliaAsiya Javayant NEW
Rodrigues L AlbaresUnited KingdomAsiya Javayant PROPOSAL
Greenwood T RimJapanBernardo Dominic RENEWAL
Jennifer S RulapaughItalyElwin Sharvill PROPOSAL
Rodrigues K GillianIndiaStephen Shaw NEW
Alejandro Y FlosiCanadaStephen Shaw RENEWAL
Morrow X NickaBrazilAnna Fali RENEWAL
Chavez D VocelkaUnited KingdomStephen Shaw PROPOSAL
David X ChuiFranceOnyama Limba QUALIFIED
James Y CampainSpainXuxue Feng NEW
Izzy P FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Munro M PoquetteUnited KingdomIoni Bowcher QUALIFIED

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