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
Jeanfrancois Q CaldareraJapanAnna Fali QUALIFIED
Kaitlin I MaletCanadaStephen Shaw PROPOSAL
Maria F DarakjyGermanyOnyama Limba RENEWAL
Julie U WhobreyAustraliaStephen Shaw NEGOTIATION
Aika E RulapaughGermanyBernardo Dominic UNQUALIFIED
Mayumi T CaudyFranceElwin Sharvill UNQUALIFIED
Ashley Y GarufiSpainAsiya Javayant NEW
Clifford U DoeAustraliaXuxue Feng UNQUALIFIED
Greenwood P SchemmerBrazilAmy Elsner RENEWAL
Leon C InouyeBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois Y PaprockiItalyOnyama Limba NEGOTIATION
Murillo S SergiAustraliaAnna Fali NEGOTIATION
Jefferson D BologniaItalyAsiya Javayant QUALIFIED
Jeanfrancois I DilliardCanadaBernardo Dominic RENEWAL
Morrow O BowleySpainBernardo Dominic RENEWAL
Rodrigues S CampainArgentinaElwin Sharvill RENEWAL
Cody K AlbaresUnited KingdomBernardo Dominic PROPOSAL
Leon H PerinBrazilAnna Fali RENEWAL
Darci W BologniaGermanyAsiya Javayant UNQUALIFIED
Mayumi P SlusarskiJapanAsiya Javayant PROPOSAL
Darci V VocelkaUnited KingdomOnyama Limba RENEWAL
Rodrigues F CaldareraAustraliaAsiya Javayant UNQUALIFIED
Deepesh S MaletCanadaElwin Sharvill UNQUALIFIED
James K MaletIndiaIvan Magalhaes RENEWAL
Claire V SlusarskiJapanAsiya Javayant QUALIFIED
Kadeem T StensethBrazilAnna Fali NEGOTIATION
Mayumi P SergiFranceBernardo Dominic NEW
Ivar F MaletItalyAmy Elsner RENEWAL
Jennifer X FlosiCanadaStephen Shaw NEGOTIATION
Aditya M VenereCanadaAmy Elsner NEGOTIATION
James T PoquetteCanadaAmy Elsner RENEWAL
David H ButtIndiaIoni Bowcher RENEWAL
Francesco K WieserRussiaBernardo Dominic NEW
Tony B SergiUnited KingdomElwin Sharvill NEW
Mujtaba K RutaBrazilBernardo Dominic PROPOSAL
Chavez U ShinkoRussiaAsiya Javayant UNQUALIFIED
Maria T MaletArgentinaIoni Bowcher PROPOSAL
Isabel B RoysterBrazilIoni Bowcher UNQUALIFIED
Ivar M RutaBrazilAsiya Javayant PROPOSAL
Jefferson F FigeroaJapanAsiya Javayant PROPOSAL
Arvin O DarakjyAustraliaAmy Elsner PROPOSAL
Juan P DoeBrazilStephen Shaw RENEWAL
Leon W FerenczRussiaOnyama Limba UNQUALIFIED
Ivar C AmigonItalyAnna Fali QUALIFIED
Jennifer N ButtUnited KingdomOnyama Limba PROPOSAL
Arvin Y WieserArgentinaBernardo Dominic RENEWAL
Juan D DoeJapanXuxue Feng NEGOTIATION
Deepesh C DarakjyUnited KingdomAsiya Javayant QUALIFIED
Nicolas N AmigonSpainOnyama Limba QUALIFIED
Julie B PoquetteRussiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika G SlusarskiGermanyElwin Sharvill RENEWAL
Francesco A CaldareraBrazilElwin Sharvill NEGOTIATION
Tony P AlbaresBrazilAmy Elsner PROPOSAL
Jefferson G RimBrazilElwin Sharvill PROPOSAL
Nicolas G TollnerIndiaElwin Sharvill QUALIFIED
Chavez T OldroydFranceOnyama Limba NEGOTIATION
Ashley F MorascaRussiaXuxue Feng NEGOTIATION
Aika Z FollerItalyXuxue Feng UNQUALIFIED
Ivar J ButtJapanBernardo Dominic NEGOTIATION
Maria P FerenczItalyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja F OldroydUnited Kingdom2026-10-31Chemel, James L Cpa NEGOTIATION37Stephen Shaw
1001Mujtaba I GlickBrazil2026-10-30Feltz Printing Service RENEWAL7Anna Fali
1002Ashley Q SchemmerIndia2026-10-22Truhlar And Truhlar Attys RENEWAL16Stephen Shaw
1003David D MorascaCanada2026-11-08Benton, John B Jr RENEWAL78Onyama Limba
1004Silvio A GillianCanada2026-11-06Morlong Associates QUALIFIED43Amy Elsner
1005Claire K PoquetteJapan2026-10-22Morlong Associates RENEWAL96Amy Elsner
1006Leon W KuskoAustralia2026-10-14Morlong Associates NEGOTIATION88Stephen Shaw
1007Isabel H PaprockiRussia2026-10-30Feiner Bros QUALIFIED27Xuxue Feng
1008Isabel W NickaBrazil2026-10-22Chapman, Ross E Esq PROPOSAL57Asiya Javayant
1009Octavia A DoeItaly2026-11-01Morlong Associates PROPOSAL54Stephen Shaw
1010Isabel O CampainFrance2026-10-14Feiner Bros UNQUALIFIED75Xuxue Feng
1011Francesco W FlosiRussia2026-10-29Commercial Press QUALIFIED41Xuxue Feng
1012Leja R OldroydItaly2026-11-01Chemel, James L Cpa NEW74Onyama Limba
1013Darci Z RoysterJapan2026-10-18Morlong Associates QUALIFIED41Amy Elsner
1014James W BologniaCanada2026-10-15Rangoni Of Florence RENEWAL2Asiya Javayant
1015Claire U SaylorsCanada2026-10-24Rangoni Of Florence NEW37Anna Fali
1016Aruna O SlusarskiIndia2026-10-29Chemel, James L Cpa PROPOSAL72Amy Elsner
1017Murillo B DilliardCanada2026-10-13Chapman, Ross E Esq PROPOSAL72Anna Fali
1018Mayumi W CaldareraArgentina2026-10-16King, Christopher A Esq QUALIFIED94Asiya Javayant
1019Antonio X MarrierSpain2026-10-26Rangoni Of Florence NEGOTIATION15Ioni Bowcher
1020Tony G StockhamAustralia2026-10-13Buckley Miller Wright RENEWAL99Anna Fali
1021Sinclair C StensethUnited Kingdom2026-10-24Buckley Miller Wright NEGOTIATION94Elwin Sharvill
1022Adams I SergiArgentina2026-10-23Rousseaux, Michael Esq NEGOTIATION45Amy Elsner
1023David F DilliardFrance2026-11-07Feiner Bros RENEWAL42Bernardo Dominic
1024Misaki C DoeItaly2026-10-22Printing Dimensions QUALIFIED95Xuxue Feng
1025David M AlbaresUnited Kingdom2026-11-06Printing Dimensions PROPOSAL97Asiya Javayant
1026Murillo D IturbideCanada2026-10-29Chemel, James L Cpa RENEWAL59Xuxue Feng
1027Claire J GlickUnited Kingdom2026-11-05Rousseaux, Michael Esq QUALIFIED91Asiya Javayant
1028Darci J WhobreyCanada2026-10-16Feiner Bros NEGOTIATION50Ioni Bowcher
1029Mayumi S StockhamAustralia2026-10-28King, Christopher A Esq RENEWAL91Anna Fali
1030Aruna Q TollnerGermany2026-10-15Feltz Printing Service NEGOTIATION95Xuxue Feng
1031Isabel Y FlosiGermany2026-11-04Buckley Miller Wright QUALIFIED17Xuxue Feng
1032Deepesh M MacleadBrazil2026-11-09Benton, John B Jr RENEWAL17Anna Fali
1033Jennifer J MorascaAustralia2026-11-07Feltz Printing Service QUALIFIED18Asiya Javayant
1034Claire J BologniaItaly2026-10-27Chemel, James L Cpa PROPOSAL6Stephen Shaw
1035Tony H FollerSpain2026-11-06Morlong Associates UNQUALIFIED69Asiya Javayant
1036Octavia I FlosiItaly2026-10-31Printing Dimensions PROPOSAL69Asiya Javayant
1037Silvio A SchemmerCanada2026-10-15Morlong Associates QUALIFIED4Stephen Shaw
1038Misaki F RimAustralia2026-10-19Dorl, James J Esq PROPOSAL5Elwin Sharvill
1039Costa A OldroydGermany2026-10-19Rousseaux, Michael Esq UNQUALIFIED71Asiya Javayant
1040Claire L VocelkaUnited Kingdom2026-10-20Chanay, Jeffrey A Esq PROPOSAL58Amy Elsner
1041Maisha C RoysterAustralia2026-11-02Printing Dimensions QUALIFIED41Ioni Bowcher
1042Mayumi H GillianIndia2026-10-18Rousseaux, Michael Esq NEW43Onyama Limba
1043Johnson G RutaGermany2026-10-30Benton, John B Jr NEW34Elwin Sharvill
1044Salvatore R GlickRussia2026-10-17Rangoni Of Florence RENEWAL50Ioni Bowcher
1045Isabel C AmigonSpain2026-10-19Chanay, Jeffrey A Esq NEW21Elwin Sharvill
1046Isabel M RutaUnited Kingdom2026-10-19Chanay, Jeffrey A Esq RENEWAL24Stephen Shaw
1047Maisha L RoysterUnited Kingdom2026-10-28Chanay, Jeffrey A Esq NEGOTIATION18Ivan Magalhaes
1048Kaitlin O TollnerBrazil2026-10-12Truhlar And Truhlar Attys UNQUALIFIED43Bernardo Dominic
1049Sinclair D GarufiGermany2026-10-13Benton, John B Jr RENEWAL70Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R CaudyBrazilIoni Bowcher RENEWAL
Emily O OldroydIndiaIvan Magalhaes QUALIFIED
Tony M KuskoItalyAmy Elsner NEGOTIATION
Jefferson P GarufiAustraliaAsiya Javayant UNQUALIFIED
Misaki T DarakjyIndiaIvan Magalhaes NEW
Greenwood P FerenczCanadaAmy Elsner NEW
Murillo E SergiGermanyIvan Magalhaes NEW
Smith H VocelkaIndiaAmy Elsner RENEWAL
Maisha V FigeroaArgentinaStephen Shaw NEW
Faith C FerenczFranceAmy Elsner UNQUALIFIED
Adams A NestleFranceBernardo Dominic PROPOSAL
Deepesh S ButtIndiaXuxue Feng PROPOSAL
Jones V OldroydIndiaElwin Sharvill NEW
Murillo L VenereGermanyIoni Bowcher NEGOTIATION
Antonio U CaudyBrazilXuxue Feng RENEWAL
Rodrigues M NestleItalyXuxue Feng NEW
Adams K ButtUnited KingdomElwin Sharvill RENEWAL
Leja N DarakjyItalyAmy Elsner PROPOSAL
Jefferson D KuskoSpainAnna Fali PROPOSAL
Mujtaba U AmigonGermanyIvan Magalhaes NEW
Jones F MarrierUnited KingdomXuxue Feng NEGOTIATION
Ricardo N RulapaughGermanyAmy Elsner PROPOSAL
Rodrigues L SchemmerJapanAnna Fali NEW
Silvio W StockhamJapanStephen Shaw RENEWAL
Jennifer L PerinItalyXuxue Feng NEGOTIATION
Aditya U ShinkoUnited KingdomAmy Elsner RENEWAL
Kadeem B RimGermanyIoni Bowcher NEGOTIATION
Mujtaba D GlickItalyIoni Bowcher RENEWAL
Mujtaba W OldroydIndiaElwin Sharvill NEGOTIATION
Julie R WhobreyFranceAmy Elsner PROPOSAL
Antonio Z RimJapanAmy Elsner RENEWAL
Antonio J BowleyBrazilAnna Fali QUALIFIED
Maria Y RoysterBrazilIoni Bowcher UNQUALIFIED
Johnson T InouyeUnited KingdomStephen Shaw NEW
Costa A DoeUnited KingdomOnyama Limba RENEWAL
Stacey L AlbaresJapanIoni Bowcher UNQUALIFIED
Aditya J NestleGermanyAmy Elsner NEGOTIATION
Silvio K SchemmerIndiaXuxue Feng NEW
Maria Y PoquetteUnited KingdomIoni Bowcher PROPOSAL
Johnson T VocelkaRussiaAnna Fali QUALIFIED
Misaki W InouyeRussiaElwin Sharvill NEGOTIATION
Salvatore Q PerinBrazilAsiya Javayant UNQUALIFIED
Ashley Y InouyeAustraliaAnna Fali UNQUALIFIED
Julie U CampainAustraliaBernardo Dominic NEW
Aditya B ChuiCanadaXuxue Feng NEGOTIATION
Mujtaba P WhobreyGermanyBernardo Dominic NEGOTIATION
Ashley D BriddickUnited KingdomOnyama Limba NEW
Octavia J FigeroaRussiaXuxue Feng RENEWAL
Rodrigues H KuskoAustraliaAsiya Javayant QUALIFIED
Silvio P OldroydSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Emily A Maclead
Deepesh U Maclead
Leja J Foller
Deepesh N Oldroyd
David Z Garufi
Leon X Figeroa
Jones F Caldarera
Tony C Chui
Nicolas E Nicka
Smith J Stenseth
Mayumi Z Perin
Darci J Dilliard
Rodrigues V Perin
Silvio I Ferencz
Octavia C Poquette
Mayumi N Figeroa
Isabel F Doe
Adams M Ferencz
Cody F Gillian
Munro I Slusarski
Leon L Foller
Alejandro H Marrier
Jefferson L Dilliard
Wickens N Foller
Misaki U Wieser
James J Nicka
Munro W Stenseth
Salvatore Q Paprocki
Mayumi R Saylors
Kaitlin B Ferencz
David X Foller
Aditya X Marrier
Silvio O Stenseth
Emily U Darakjy
Aika R Perin
Nicolas N Kusko
Rodrigues B Paprocki
Darci W Shinko
Jennifer T Sergi
Darci L Amigon
Johnson V Oldroyd
Smith S Perin
Faith E Ostrosky
David Z Venere
Wickens V Malet
Alejandro H Iturbide
Clifford N Inouye
David M Waycott
Mujtaba Q Gaucho
Sinclair T Caldarera
IdCountryDate
1000United Kingdom2026-10-24
1001Australia2026-10-24
1002Brazil2026-10-30
1003Italy2026-10-15
1004France2026-10-21
1005Italy2026-10-31
1006Russia2026-10-31
1007Germany2026-11-02
1008Brazil2026-10-24
1009France2026-10-29
1010Spain2026-10-26
1011Japan2026-10-22
1012Brazil2026-10-16
1013France2026-10-31
1014France2026-10-26
1015Italy2026-10-21
1016Russia2026-11-08
1017India2026-11-05
1018Germany2026-10-14
1019France2026-11-03
1020India2026-10-18
1021Australia2026-10-18
1022India2026-10-22
1023Brazil2026-11-08
1024Japan2026-10-15
1025Russia2026-11-03
1026France2026-10-24
1027Italy2026-10-13
1028Spain2026-11-05
1029Japan2026-10-19
1030United Kingdom2026-10-30
1031Brazil2026-11-08
1032Italy2026-10-15
1033Russia2026-11-04
1034Brazil2026-10-15
1035Australia2026-10-17
1036India2026-10-28
1037United Kingdom2026-10-13
1038India2026-10-29
1039Germany2026-10-30
1040Canada2026-10-29
1041Italy2026-11-02
1042Australia2026-10-13
1043Brazil2026-10-30
1044India2026-11-08
1045Germany2026-10-28
1046Italy2026-11-07
1047Russia2026-11-09
1048India2026-11-05
1049Canada2026-10-13

On-Demand Data

NameIdCountryDate
Aika B Kusko1000Australia2026-10-15
Mayumi K Paprocki1001France2026-10-22
Leja F Ostrosky1002United Kingdom2026-10-21
Johnson O Rulapaugh1003Italy2026-10-31
Antonio H Glick1004Russia2026-10-15
Greenwood T Malet1005France2026-10-18
Chavez J Caldarera1006Germany2026-11-05
Wickens C Gaucho1007Italy2026-11-02
Misaki D Gaucho1008Italy2026-10-30
Ricardo U Perin1009Canada2026-10-30
Maria Q Ostrosky1010Argentina2026-10-18
Leja G Dilliard1011Canada2026-10-14
Jones T Iturbide1012Japan2026-10-24
Deepesh D Malet1013Germany2026-10-19
Aditya H Perin1014Japan2026-10-23
Smith V Poquette1015Spain2026-10-27
Leja G Royster1016Spain2026-10-15
Antonio J Glick1017Germany2026-10-13
Wickens S Caldarera1018Italy2026-11-04
Mujtaba X Garufi1019Australia2026-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Q CaldareraItalyBernardo Dominic QUALIFIED
Aditya N KuskoBrazilAsiya Javayant PROPOSAL
Ricardo M FerenczUnited KingdomIvan Magalhaes QUALIFIED
Costa T VocelkaArgentinaStephen Shaw RENEWAL
Costa G MorascaSpainIvan Magalhaes QUALIFIED
Aruna K TollnerRussiaAsiya Javayant QUALIFIED
Aika I SergiJapanStephen Shaw NEGOTIATION
Jeanfrancois Z MaletSpainStephen Shaw NEW
Stacey A RulapaughAustraliaAnna Fali PROPOSAL
Julie A GarufiAustraliaOnyama Limba UNQUALIFIED
Alejandro S MaletIndiaAnna Fali UNQUALIFIED
Smith B MaletFranceElwin Sharvill NEW
Antonio C MaletSpainAnna Fali RENEWAL
Tony T FigeroaRussiaAmy Elsner QUALIFIED
Deepesh J VenereItalyAsiya Javayant RENEWAL
Leon M WhobreyBrazilAnna Fali PROPOSAL
Octavia H CaudyBrazilIoni Bowcher NEW
Mujtaba X NickaIndiaStephen Shaw RENEWAL
Izzy R CaudyItalyIoni Bowcher NEW
Ashley L CaudySpainXuxue Feng PROPOSAL
Murillo H CampainSpainAsiya Javayant RENEWAL
Salvatore Z ButtSpainAnna Fali QUALIFIED
David F BowleyFranceAmy Elsner QUALIFIED
David Z MaletBrazilElwin Sharvill RENEWAL
Ashley R SaylorsBrazilAmy Elsner UNQUALIFIED
Mayumi M NickaUnited KingdomAnna Fali NEGOTIATION
James V AlbaresAustraliaAnna Fali PROPOSAL
Faith W StensethBrazilXuxue Feng NEW
Juan T BriddickIndiaAmy Elsner NEGOTIATION
David R MaletBrazilElwin Sharvill NEW
Misaki G TollnerAustraliaIvan Magalhaes RENEWAL
Francesco A PerinSpainOnyama Limba NEGOTIATION
Kadeem S MorascaUnited KingdomStephen Shaw NEW
Stacey U MaletIndiaIoni Bowcher PROPOSAL
Leon N MarrierRussiaBernardo Dominic RENEWAL
Jeanfrancois I ButtArgentinaIoni Bowcher UNQUALIFIED
Sinclair Z MarrierIndiaAnna Fali NEGOTIATION
Izzy N FigeroaBrazilAsiya Javayant NEGOTIATION
Nicolas Z KolmetzSpainIoni Bowcher PROPOSAL
Kaitlin Q ShinkoIndiaXuxue Feng RENEWAL

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