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
Octavia Y ButtUnited KingdomAsiya Javayant NEGOTIATION
Maria J VenereGermanyAmy Elsner RENEWAL
Jennifer S SaylorsSpainIvan Magalhaes PROPOSAL
Ivar F ChuiArgentinaAnna Fali PROPOSAL
Juan O InouyeUnited KingdomBernardo Dominic RENEWAL
Salvatore T GlickFranceStephen Shaw UNQUALIFIED
Emily M BowleySpainElwin Sharvill UNQUALIFIED
Izzy W CampainIndiaStephen Shaw RENEWAL
Misaki B DilliardGermanyXuxue Feng PROPOSAL
Greenwood J SaylorsSpainAmy Elsner NEGOTIATION
Leon R StensethAustraliaAnna Fali QUALIFIED
Isabel W BologniaIndiaElwin Sharvill UNQUALIFIED
Leja J StensethJapanBernardo Dominic NEGOTIATION
Jennifer R SlusarskiBrazilAmy Elsner RENEWAL
Tony W SaylorsCanadaAmy Elsner PROPOSAL
Leon I BologniaIndiaXuxue Feng NEW
Smith J SlusarskiBrazilAnna Fali PROPOSAL
Leon P FerenczJapanAsiya Javayant NEW
Adams R RimBrazilElwin Sharvill NEW
Octavia R WieserAustraliaXuxue Feng PROPOSAL
Jennifer C SaylorsIndiaElwin Sharvill NEW
Clifford N InouyeFranceIoni Bowcher QUALIFIED
Kadeem W KuskoBrazilElwin Sharvill QUALIFIED
Jefferson E NestleFranceXuxue Feng RENEWAL
Silvio V FerenczFranceIvan Magalhaes PROPOSAL
Stacey H SchemmerSpainAsiya Javayant PROPOSAL
Alejandro M ChuiItalyXuxue Feng NEGOTIATION
Kaitlin H DilliardAustraliaAnna Fali NEW
Aika G FollerUnited KingdomIoni Bowcher NEW
Juan H DilliardGermanyIoni Bowcher PROPOSAL
Adams I RulapaughJapanXuxue Feng UNQUALIFIED
Faith M PaprockiJapanAmy Elsner NEW
Claire L RutaArgentinaBernardo Dominic NEGOTIATION
Faith O MarrierItalyIoni Bowcher UNQUALIFIED
Ashley O KuskoUnited KingdomXuxue Feng PROPOSAL
Cody J ShinkoCanadaBernardo Dominic PROPOSAL
James Z StensethItalyOnyama Limba NEGOTIATION
Darci J NestleCanadaOnyama Limba NEW
Munro J DarakjyIndiaAsiya Javayant UNQUALIFIED
Mayumi B VocelkaJapanAmy Elsner UNQUALIFIED
Rodrigues K DilliardRussiaElwin Sharvill PROPOSAL
Smith A VenereJapanIvan Magalhaes NEGOTIATION
Antonio T StockhamCanadaBernardo Dominic RENEWAL
Tony I AlbaresItalyIvan Magalhaes NEGOTIATION
Silvio Z MorascaFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois Q MaletFranceAsiya Javayant PROPOSAL
Chavez I MaletIndiaAmy Elsner NEGOTIATION
Ricardo F NickaUnited KingdomAmy Elsner NEW
Ricardo A PerinIndiaAnna Fali RENEWAL
David W OldroydGermanyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin R DilliardSpainStephen Shaw PROPOSAL
Aditya K StockhamUnited KingdomBernardo Dominic NEGOTIATION
Smith A RutaArgentinaStephen Shaw NEGOTIATION
Rodrigues C DoeUnited KingdomIoni Bowcher UNQUALIFIED
Murillo Y WhobreyGermanyElwin Sharvill UNQUALIFIED
Adams U OstroskyCanadaAsiya Javayant RENEWAL
Kaitlin H OstroskyGermanyIvan Magalhaes NEW
Leon N MarrierBrazilAmy Elsner NEGOTIATION
Julie X AmigonGermanyElwin Sharvill QUALIFIED
Clifford C OldroydItalyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem G TollnerCanada2026-09-26Buckley Miller Wright NEGOTIATION94Ioni Bowcher
1001Misaki D FlosiAustralia2026-10-01Feltz Printing Service PROPOSAL18Elwin Sharvill
1002Tony Z DilliardCanada2026-09-25Feltz Printing Service NEGOTIATION30Ioni Bowcher
1003James Y MorascaItaly2026-09-19Rousseaux, Michael Esq NEW35Stephen Shaw
1004Octavia F MaletFrance2026-09-07Feltz Printing Service UNQUALIFIED91Ivan Magalhaes
1005Cody P AmigonArgentina2026-09-24Commercial Press PROPOSAL63Xuxue Feng
1006Wickens Y CampainGermany2026-10-02Benton, John B Jr NEGOTIATION18Bernardo Dominic
1007Mayumi M RulapaughCanada2026-09-21Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1008Antonio D GauchoUnited Kingdom2026-09-11Printing Dimensions PROPOSAL85Elwin Sharvill
1009David M AlbaresIndia2026-09-16Rousseaux, Michael Esq UNQUALIFIED74Asiya Javayant
1010Adams V SaylorsItaly2026-09-04Rousseaux, Michael Esq QUALIFIED19Onyama Limba
1011Costa V WaycottItaly2026-09-28Morlong Associates QUALIFIED39Bernardo Dominic
1012David Q NestleAustralia2026-09-28Commercial Press QUALIFIED9Onyama Limba
1013Octavia R ButtItaly2026-10-02Rangoni Of Florence PROPOSAL46Ivan Magalhaes
1014Darci B ShinkoAustralia2026-10-03Chanay, Jeffrey A Esq RENEWAL23Anna Fali
1015Emily W MorascaGermany2026-09-18Commercial Press NEW50Elwin Sharvill
1016Claire O WieserAustralia2026-09-07Feiner Bros NEGOTIATION97Ivan Magalhaes
1017Alejandro S MorascaAustralia2026-09-28Dorl, James J Esq PROPOSAL50Ioni Bowcher
1018Cody T MaletBrazil2026-09-13Benton, John B Jr NEGOTIATION43Bernardo Dominic
1019Francesco R VocelkaArgentina2026-09-10Feiner Bros NEW20Xuxue Feng
1020Jefferson U MacleadArgentina2026-09-18Truhlar And Truhlar Attys QUALIFIED44Elwin Sharvill
1021Alejandro K KuskoJapan2026-09-05Truhlar And Truhlar Attys QUALIFIED76Amy Elsner
1022Johnson K DarakjyArgentina2026-09-04Chapman, Ross E Esq QUALIFIED49Xuxue Feng
1023Ashley I StensethGermany2026-09-29Dorl, James J Esq PROPOSAL31Ivan Magalhaes
1024Chavez S GarufiArgentina2026-09-18Printing Dimensions NEW27Onyama Limba
1025Stacey E TollnerJapan2026-10-01Commercial Press QUALIFIED96Xuxue Feng
1026Jefferson T NestleBrazil2026-09-07King, Christopher A Esq NEGOTIATION53Bernardo Dominic
1027Faith Q FigeroaCanada2026-09-10Printing Dimensions RENEWAL17Amy Elsner
1028Isabel Q WaycottArgentina2026-09-14Rangoni Of Florence UNQUALIFIED20Amy Elsner
1029Emily A WieserBrazil2026-09-10Truhlar And Truhlar Attys NEW62Amy Elsner
1030Silvio Q FigeroaRussia2026-09-20Chemel, James L Cpa NEGOTIATION21Ioni Bowcher
1031Sinclair F CaudyRussia2026-09-14Morlong Associates PROPOSAL96Ioni Bowcher
1032Maria M GlickGermany2026-09-17Chemel, James L Cpa NEGOTIATION91Amy Elsner
1033Deepesh L GlickItaly2026-10-03Benton, John B Jr NEW79Anna Fali
1034Isabel B CaldareraSpain2026-10-02Feltz Printing Service NEGOTIATION53Anna Fali
1035Costa M ShinkoArgentina2026-09-11Truhlar And Truhlar Attys NEGOTIATION58Ioni Bowcher
1036Juan M CaldareraIndia2026-09-18Commercial Press UNQUALIFIED25Ioni Bowcher
1037Claire E PoquetteGermany2026-09-17Dorl, James J Esq RENEWAL42Anna Fali
1038Emily C MaletItaly2026-10-01Printing Dimensions QUALIFIED66Amy Elsner
1039Isabel N SergiJapan2026-09-21Chapman, Ross E Esq QUALIFIED37Onyama Limba
1040Kaitlin Q SchemmerFrance2026-09-07Feltz Printing Service UNQUALIFIED73Anna Fali
1041Kaitlin R FerenczIndia2026-09-22Rangoni Of Florence NEGOTIATION61Ivan Magalhaes
1042Jones M SlusarskiItaly2026-09-19Chanay, Jeffrey A Esq QUALIFIED15Stephen Shaw
1043Francesco V NestleJapan2026-09-17Printing Dimensions PROPOSAL0Asiya Javayant
1044Ivar V ChuiArgentina2026-09-26Morlong Associates NEW62Xuxue Feng
1045Greenwood E ButtBrazil2026-10-01Buckley Miller Wright UNQUALIFIED44Amy Elsner
1046Maisha I GillianIndia2026-09-13Rangoni Of Florence NEW26Onyama Limba
1047Ashley D BowleyIndia2026-10-03Benton, John B Jr QUALIFIED75Bernardo Dominic
1048Tony H WhobreyCanada2026-09-24Chanay, Jeffrey A Esq QUALIFIED62Xuxue Feng
1049Smith Y CaudyUnited Kingdom2026-09-11Buckley Miller Wright RENEWAL92Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba G SaylorsAustraliaAsiya Javayant UNQUALIFIED
Misaki P RimRussiaElwin Sharvill NEW
Faith A WieserRussiaAnna Fali NEGOTIATION
Alejandro Y OldroydFranceIoni Bowcher QUALIFIED
Darci N DarakjySpainOnyama Limba RENEWAL
Jefferson S RutaUnited KingdomXuxue Feng RENEWAL
Tony A CaldareraAustraliaAnna Fali NEGOTIATION
Claire Y AlbaresCanadaAnna Fali UNQUALIFIED
Aruna S PaprockiArgentinaStephen Shaw NEGOTIATION
Alejandro U MacleadAustraliaBernardo Dominic UNQUALIFIED
Maria F ButtBrazilStephen Shaw NEGOTIATION
Johnson B ChuiGermanyAsiya Javayant RENEWAL
Arvin H BologniaRussiaBernardo Dominic UNQUALIFIED
Ashley C GillianIndiaBernardo Dominic NEGOTIATION
Misaki D AmigonGermanyElwin Sharvill UNQUALIFIED
Mayumi M TollnerArgentinaIvan Magalhaes UNQUALIFIED
Francesco G CaudyArgentinaAsiya Javayant RENEWAL
Darci W AlbaresCanadaBernardo Dominic RENEWAL
Francesco R ShinkoItalyStephen Shaw RENEWAL
Misaki Y VocelkaSpainAsiya Javayant QUALIFIED
Munro Q ShinkoIndiaBernardo Dominic UNQUALIFIED
James E NickaJapanXuxue Feng PROPOSAL
Stacey H StensethGermanyXuxue Feng NEGOTIATION
Maria F MorascaArgentinaAmy Elsner RENEWAL
Nicolas M BriddickJapanAnna Fali QUALIFIED
Silvio I OstroskyBrazilOnyama Limba QUALIFIED
Cody F WaycottBrazilBernardo Dominic UNQUALIFIED
Wickens O NestleAustraliaIoni Bowcher NEGOTIATION
Leon A SchemmerRussiaIoni Bowcher PROPOSAL
Jeanfrancois K OstroskySpainElwin Sharvill PROPOSAL
Aditya A ButtBrazilIvan Magalhaes UNQUALIFIED
Aditya I SergiFranceAnna Fali UNQUALIFIED
Aika I PerinJapanAsiya Javayant PROPOSAL
Clifford T KolmetzFranceAsiya Javayant PROPOSAL
Chavez S WieserSpainAmy Elsner PROPOSAL
Jones N BologniaAustraliaIoni Bowcher PROPOSAL
Mujtaba A BologniaCanadaXuxue Feng NEGOTIATION
Jeanfrancois N NickaUnited KingdomXuxue Feng NEW
Aika N BowleyIndiaStephen Shaw RENEWAL
Stacey T FlosiBrazilAnna Fali PROPOSAL
Octavia X OstroskyFranceAmy Elsner PROPOSAL
Smith L OstroskyGermanyIoni Bowcher NEW
Leon P OstroskyArgentinaAmy Elsner UNQUALIFIED
Ivar W CaldareraRussiaAmy Elsner QUALIFIED
Arvin U RoysterCanadaOnyama Limba NEW
Claire P NestleFranceAsiya Javayant NEW
Clifford V InouyeCanadaElwin Sharvill QUALIFIED
Aika B DarakjyRussiaAmy Elsner QUALIFIED
Misaki C VenereRussiaIoni Bowcher NEGOTIATION
Leon S DoeBrazilElwin Sharvill NEW
Frozen Columns
Name
Mujtaba K Stockham
Silvio V Campain
Maisha E Slusarski
Silvio T Marrier
Smith X Amigon
Munro G Stenseth
Clifford G Ferencz
Aika X Morasca
Mayumi H Slusarski
Jones N Foller
Maria B Inouye
Cody U Ferencz
Ricardo C Iturbide
Juan T Stockham
David G Caldarera
Isabel S Glick
Chavez K Malet
Mayumi H Glick
Cody Z Caudy
Aika T Albares
Clifford R Perin
Mujtaba S Shinko
Maria G Stockham
Aruna S Saylors
Claire I Marrier
Ivar X Darakjy
Kaitlin I Ruta
Octavia A Maclead
Wickens X Nicka
James Y Slusarski
Smith B Perin
Smith M Stockham
Aditya N Albares
Antonio S Ferencz
Johnson N Campain
Jeanfrancois H Kolmetz
Arvin D Schemmer
Silvio F Iturbide
Faith Z Tollner
Ashley O Perin
Murillo G Nestle
David M Morasca
Tony L Royster
Stacey B Bowley
Smith Q Flosi
Jeanfrancois J Venere
Smith B Malet
Chavez S Perin
Salvatore B Caudy
Izzy W Ruta
IdCountryDate
1000Russia2026-09-04
1001Italy2026-09-30
1002Russia2026-09-05
1003Spain2026-10-03
1004Spain2026-09-05
1005Germany2026-09-11
1006United Kingdom2026-10-03
1007United Kingdom2026-09-30
1008Russia2026-09-26
1009India2026-09-10
1010United Kingdom2026-09-25
1011Japan2026-09-19
1012United Kingdom2026-09-14
1013Italy2026-09-23
1014France2026-09-07
1015Brazil2026-09-11
1016Australia2026-09-07
1017Canada2026-09-12
1018Canada2026-09-17
1019Japan2026-09-07
1020Germany2026-09-16
1021Brazil2026-09-06
1022Spain2026-09-17
1023India2026-10-03
1024Italy2026-09-14
1025United Kingdom2026-09-14
1026France2026-09-21
1027Canada2026-09-15
1028Germany2026-09-06
1029Italy2026-09-12
1030Japan2026-09-09
1031Spain2026-10-03
1032France2026-09-24
1033France2026-09-19
1034Canada2026-09-10
1035Canada2026-09-19
1036Germany2026-09-15
1037Italy2026-09-22
1038Germany2026-09-24
1039Brazil2026-10-03
1040Brazil2026-09-21
1041Spain2026-09-25
1042Spain2026-09-12
1043Australia2026-10-02
1044United Kingdom2026-09-30
1045Russia2026-09-10
1046United Kingdom2026-10-03
1047Russia2026-09-18
1048India2026-09-08
1049France2026-10-03

On-Demand Data

NameIdCountryDate
Smith X Butt1000India2026-09-12
Maisha O Nicka1001Brazil2026-09-12
James C Stenseth1002Japan2026-09-27
Jones H Chui1003Argentina2026-09-16
Faith M Gaucho1004Italy2026-09-17
Stacey P Sergi1005France2026-09-05
Sinclair P Amigon1006Germany2026-09-09
Sinclair S Darakjy1007Brazil2026-09-26
Misaki W Figeroa1008Brazil2026-09-15
Kadeem I Briddick1009Canada2026-09-21
Mayumi F Inouye1010India2026-09-27
Cody F Doe1011Spain2026-09-07
Kadeem H Venere1012France2026-09-22
Claire F Amigon1013Germany2026-10-01
Salvatore K Nicka1014Russia2026-09-22
Jefferson P Saylors1015Russia2026-09-23
Smith G Figeroa1016Canada2026-09-22
Ricardo O Tollner1017Argentina2026-09-27
Munro L Vocelka1018India2026-09-12
Darci K Iturbide1019India2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony L InouyeSpainAsiya Javayant UNQUALIFIED
Jones B StockhamJapanAnna Fali UNQUALIFIED
Jeanfrancois T RulapaughGermanyBernardo Dominic RENEWAL
Jennifer P DarakjyAustraliaStephen Shaw NEW
Jones F BriddickRussiaStephen Shaw NEGOTIATION
Jefferson U IturbideGermanyIvan Magalhaes QUALIFIED
Ricardo Y BowleyFranceOnyama Limba NEW
Leon N BologniaAustraliaElwin Sharvill NEW
Chavez L GillianRussiaAsiya Javayant PROPOSAL
Izzy W RulapaughIndiaIoni Bowcher RENEWAL
Leja X SchemmerJapanIvan Magalhaes PROPOSAL
Maisha O FlosiArgentinaIvan Magalhaes NEW
Salvatore G CampainSpainOnyama Limba NEW
Mujtaba T OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Juan A SergiGermanyIoni Bowcher UNQUALIFIED
Mayumi L PerinArgentinaXuxue Feng NEGOTIATION
Juan O NestleBrazilIoni Bowcher NEGOTIATION
Jennifer P RimGermanyAmy Elsner PROPOSAL
Wickens S RutaUnited KingdomXuxue Feng UNQUALIFIED
Cody I MarrierGermanyAnna Fali RENEWAL
Juan U TollnerItalyIvan Magalhaes PROPOSAL
Kaitlin N ButtIndiaStephen Shaw UNQUALIFIED
Salvatore U WaycottFranceXuxue Feng QUALIFIED
Wickens P DilliardIndiaAsiya Javayant PROPOSAL
David U StockhamAustraliaAnna Fali UNQUALIFIED
James O GillianCanadaIvan Magalhaes NEW
Alejandro R WieserItalyIoni Bowcher UNQUALIFIED
Leja R CaudyIndiaIoni Bowcher UNQUALIFIED
Smith M FigeroaUnited KingdomXuxue Feng PROPOSAL
Ivar B SchemmerSpainAsiya Javayant RENEWAL
Jennifer Z WieserJapanIvan Magalhaes RENEWAL
Munro A KuskoJapanXuxue Feng PROPOSAL
Nicolas F CampainUnited KingdomIvan Magalhaes RENEWAL
Aruna A AlbaresFranceElwin Sharvill UNQUALIFIED
Sinclair I GarufiRussiaIvan Magalhaes RENEWAL
Stacey I MaletUnited KingdomOnyama Limba NEGOTIATION
Greenwood E OldroydBrazilBernardo Dominic PROPOSAL
Stacey C BowleyAustraliaElwin Sharvill PROPOSAL
Alejandro C CaldareraJapanAmy Elsner NEW
Mayumi P RimArgentinaIoni 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>