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
Leon B OstroskyJapanOnyama Limba QUALIFIED
Tony L FigeroaJapanOnyama Limba PROPOSAL
Emily P SchemmerIndiaAnna Fali UNQUALIFIED
Mujtaba S NickaCanadaStephen Shaw RENEWAL
Maria X BowleyRussiaAmy Elsner NEW
Misaki E GauchoAustraliaIoni Bowcher QUALIFIED
Mayumi Z BowleyBrazilOnyama Limba RENEWAL
Julie A FollerBrazilStephen Shaw NEGOTIATION
Stacey I CaldareraCanadaIvan Magalhaes UNQUALIFIED
Alejandro E TollnerJapanAnna Fali QUALIFIED
Octavia G IturbideGermanyAsiya Javayant UNQUALIFIED
Emily G WaycottSpainAnna Fali PROPOSAL
Cody W RulapaughSpainAnna Fali RENEWAL
Munro K WieserItalyOnyama Limba QUALIFIED
Aika I BriddickGermanyIvan Magalhaes NEW
Costa E SergiRussiaAnna Fali NEGOTIATION
Octavia M CaudyBrazilAsiya Javayant UNQUALIFIED
Morrow A KuskoUnited KingdomXuxue Feng NEW
Jones L PaprockiItalyAmy Elsner RENEWAL
Misaki G DarakjyFranceStephen Shaw UNQUALIFIED
James N MorascaCanadaIoni Bowcher NEGOTIATION
Wickens I AmigonIndiaAmy Elsner NEGOTIATION
Stacey O RoysterJapanBernardo Dominic UNQUALIFIED
Isabel Y AmigonFranceElwin Sharvill RENEWAL
Salvatore E IturbideFranceXuxue Feng RENEWAL
Wickens R OstroskyUnited KingdomIoni Bowcher QUALIFIED
Octavia C InouyeGermanyXuxue Feng RENEWAL
Wickens Q GarufiItalyXuxue Feng PROPOSAL
Octavia T BowleyIndiaElwin Sharvill NEW
Deepesh A ChuiJapanStephen Shaw NEW
Maria R FerenczUnited KingdomXuxue Feng PROPOSAL
Murillo S CampainJapanXuxue Feng UNQUALIFIED
Costa O PoquetteBrazilIoni Bowcher RENEWAL
Aditya K MorascaJapanOnyama Limba PROPOSAL
Aditya T GauchoJapanAsiya Javayant PROPOSAL
Leon M AmigonFranceAmy Elsner PROPOSAL
Emily Y FigeroaBrazilElwin Sharvill RENEWAL
Alejandro G BowleyBrazilIoni Bowcher NEGOTIATION
Faith Z DarakjyBrazilAnna Fali PROPOSAL
Silvio I IturbideCanadaIoni Bowcher QUALIFIED
Juan V OstroskyItalyStephen Shaw UNQUALIFIED
Greenwood N RoysterArgentinaOnyama Limba NEGOTIATION
Murillo Z PerinUnited KingdomOnyama Limba PROPOSAL
Maria N RimIndiaAmy Elsner UNQUALIFIED
Mayumi P SlusarskiRussiaAsiya Javayant PROPOSAL
David X DoeRussiaIoni Bowcher QUALIFIED
Cody G NestleGermanyAnna Fali UNQUALIFIED
Maisha V WhobreyBrazilAnna Fali QUALIFIED
Greenwood C PaprockiCanadaElwin Sharvill NEW
Antonio H CaldareraJapanIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Murillo Q BriddickCanadaIvan Magalhaes NEGOTIATION
Izzy T MaletFranceAnna Fali RENEWAL
Leja X MaletAustraliaOnyama Limba NEW
Jones B RoysterJapanBernardo Dominic UNQUALIFIED
Morrow A VenereBrazilIoni Bowcher RENEWAL
Isabel A KuskoGermanyIvan Magalhaes PROPOSAL
Darci S SaylorsAustraliaAnna Fali QUALIFIED
Aditya O ButtFranceAsiya Javayant RENEWAL
James E RulapaughSpainIoni Bowcher PROPOSAL
David J KolmetzFranceStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy X NickaIndia2026-10-25Buckley Miller Wright RENEWAL39Ivan Magalhaes
1001Smith T WieserArgentina2026-10-25Printing Dimensions NEW60Elwin Sharvill
1002Emily A MarrierFrance2026-11-06Rangoni Of Florence UNQUALIFIED75Amy Elsner
1003Jefferson K CaldareraGermany2026-10-14Truhlar And Truhlar Attys UNQUALIFIED65Xuxue Feng
1004Murillo C VocelkaGermany2026-10-30Rousseaux, Michael Esq UNQUALIFIED47Elwin Sharvill
1005Alejandro G DilliardArgentina2026-11-05Benton, John B Jr NEGOTIATION55Ioni Bowcher
1006Morrow L BologniaIndia2026-10-19Dorl, James J Esq RENEWAL54Amy Elsner
1007Cody L BriddickRussia2026-10-23Feltz Printing Service RENEWAL79Bernardo Dominic
1008Misaki C CaldareraAustralia2026-10-17Buckley Miller Wright RENEWAL84Xuxue Feng
1009Sinclair Y MaletCanada2026-10-25Benton, John B Jr NEGOTIATION19Asiya Javayant
1010Silvio E PoquetteRussia2026-10-08Rangoni Of Florence PROPOSAL0Elwin Sharvill
1011Francesco Q CaudyBrazil2026-10-15Feiner Bros PROPOSAL3Amy Elsner
1012Izzy D RutaIndia2026-10-22Commercial Press QUALIFIED30Xuxue Feng
1013Morrow G AmigonArgentina2026-10-22Commercial Press UNQUALIFIED1Anna Fali
1014Ivar R ChuiArgentina2026-10-14Chapman, Ross E Esq UNQUALIFIED75Ivan Magalhaes
1015Johnson K DarakjyUnited Kingdom2026-10-09Printing Dimensions RENEWAL16Ivan Magalhaes
1016Ricardo D VocelkaArgentina2026-10-17Chemel, James L Cpa RENEWAL86Onyama Limba
1017Kaitlin R MaletBrazil2026-10-17Printing Dimensions PROPOSAL86Onyama Limba
1018Kaitlin U StensethUnited Kingdom2026-10-12Truhlar And Truhlar Attys QUALIFIED63Amy Elsner
1019Morrow C StensethSpain2026-10-31Morlong Associates UNQUALIFIED0Anna Fali
1020Clifford P OldroydIndia2026-10-09King, Christopher A Esq PROPOSAL94Asiya Javayant
1021James A IturbideAustralia2026-11-02Rangoni Of Florence QUALIFIED96Amy Elsner
1022Isabel M FerenczRussia2026-10-13Printing Dimensions QUALIFIED79Elwin Sharvill
1023Aditya Q BologniaUnited Kingdom2026-10-30Commercial Press PROPOSAL90Bernardo Dominic
1024Antonio E SaylorsIndia2026-10-25Buckley Miller Wright QUALIFIED5Bernardo Dominic
1025Stacey P StockhamJapan2026-11-02Dorl, James J Esq QUALIFIED71Ivan Magalhaes
1026Octavia F MacleadBrazil2026-11-03Rousseaux, Michael Esq NEW86Bernardo Dominic
1027Clifford G StockhamCanada2026-10-20Truhlar And Truhlar Attys PROPOSAL74Amy Elsner
1028Mayumi J AmigonArgentina2026-10-17King, Christopher A Esq RENEWAL42Onyama Limba
1029Mayumi E BowleySpain2026-10-18Chanay, Jeffrey A Esq RENEWAL44Bernardo Dominic
1030Cody K FigeroaRussia2026-10-14Rangoni Of Florence RENEWAL18Stephen Shaw
1031Morrow F GillianAustralia2026-10-29Benton, John B Jr UNQUALIFIED55Stephen Shaw
1032Mujtaba P InouyeSpain2026-11-02Truhlar And Truhlar Attys NEGOTIATION10Asiya Javayant
1033Nicolas L MarrierRussia2026-10-18Feiner Bros UNQUALIFIED41Ioni Bowcher
1034Tony G SlusarskiRussia2026-10-27Commercial Press UNQUALIFIED89Elwin Sharvill
1035Faith G MaletIndia2026-11-02Commercial Press NEGOTIATION90Onyama Limba
1036Jennifer Z MacleadCanada2026-11-06Rousseaux, Michael Esq QUALIFIED93Xuxue Feng
1037Sinclair C RimFrance2026-10-09Printing Dimensions QUALIFIED53Stephen Shaw
1038Leja X RimSpain2026-11-06Printing Dimensions RENEWAL74Stephen Shaw
1039Claire W StockhamAustralia2026-10-25Rousseaux, Michael Esq UNQUALIFIED71Anna Fali
1040Julie U MarrierSpain2026-10-12Feltz Printing Service NEGOTIATION26Stephen Shaw
1041Izzy T GarufiIndia2026-10-08Benton, John B Jr PROPOSAL19Asiya Javayant
1042Misaki F GlickItaly2026-10-21King, Christopher A Esq RENEWAL60Amy Elsner
1043Faith Y WieserSpain2026-10-18Rousseaux, Michael Esq QUALIFIED72Elwin Sharvill
1044Arvin E GlickJapan2026-10-10Printing Dimensions NEGOTIATION80Ioni Bowcher
1045Jones P RimUnited Kingdom2026-10-25Printing Dimensions RENEWAL40Amy Elsner
1046Costa E MacleadBrazil2026-10-31Rousseaux, Michael Esq NEW85Ioni Bowcher
1047Faith O MaletUnited Kingdom2026-10-08Chanay, Jeffrey A Esq QUALIFIED98Ioni Bowcher
1048Chavez J BologniaBrazil2026-10-18Chemel, James L Cpa RENEWAL5Onyama Limba
1049Maisha Z PerinIndia2026-10-20Printing Dimensions QUALIFIED74Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja H BologniaIndiaAsiya Javayant PROPOSAL
Rodrigues J BologniaItalyBernardo Dominic NEGOTIATION
Octavia G AmigonJapanXuxue Feng UNQUALIFIED
Isabel M MaletFranceStephen Shaw PROPOSAL
Salvatore X NickaCanadaIvan Magalhaes NEGOTIATION
Leon O RimRussiaStephen Shaw RENEWAL
Morrow N MaletBrazilAnna Fali UNQUALIFIED
Jeanfrancois I WieserGermanyOnyama Limba NEGOTIATION
Francesco T RimSpainBernardo Dominic RENEWAL
Darci D CaudyFranceIvan Magalhaes NEW
Julie B ChuiRussiaAnna Fali UNQUALIFIED
Darci R MorascaFranceBernardo Dominic QUALIFIED
Alejandro W MarrierAustraliaIvan Magalhaes RENEWAL
Emily P BologniaSpainAsiya Javayant RENEWAL
Antonio H MaletCanadaOnyama Limba NEW
Ivar H CampainArgentinaIvan Magalhaes QUALIFIED
Costa V SchemmerGermanyIoni Bowcher PROPOSAL
Morrow D DilliardAustraliaElwin Sharvill NEGOTIATION
Tony A NestleItalyElwin Sharvill QUALIFIED
Morrow L MarrierFranceAsiya Javayant NEW
Misaki M GillianRussiaAsiya Javayant NEGOTIATION
James F NestleBrazilAnna Fali NEGOTIATION
David G MacleadUnited KingdomElwin Sharvill QUALIFIED
Sinclair Q TollnerAustraliaIoni Bowcher QUALIFIED
Alejandro F FollerIndiaBernardo Dominic NEW
Tony X WhobreyItalyElwin Sharvill RENEWAL
Adams E MarrierIndiaXuxue Feng PROPOSAL
Adams V PaprockiIndiaXuxue Feng PROPOSAL
Sinclair Q GillianGermanyOnyama Limba PROPOSAL
Maria B MorascaAustraliaAmy Elsner NEW
Izzy W WaycottIndiaElwin Sharvill PROPOSAL
Juan N BologniaCanadaIoni Bowcher RENEWAL
Nicolas N RoysterArgentinaElwin Sharvill UNQUALIFIED
Munro E GarufiCanadaIoni Bowcher UNQUALIFIED
Ashley E PerinFranceAsiya Javayant NEW
Silvio H MaletItalyOnyama Limba QUALIFIED
Francesco W GlickCanadaXuxue Feng QUALIFIED
Darci H PoquetteSpainStephen Shaw NEGOTIATION
Wickens J WhobreyJapanOnyama Limba NEW
Ashley P KuskoItalyXuxue Feng NEW
Jennifer Y ButtFranceBernardo Dominic QUALIFIED
Aika U FerenczAustraliaAmy Elsner PROPOSAL
Aruna X CaudyCanadaXuxue Feng NEGOTIATION
Salvatore R GlickBrazilAmy Elsner UNQUALIFIED
Jones L GillianRussiaElwin Sharvill NEW
Julie L WhobreyUnited KingdomAnna Fali RENEWAL
Darci P MaletRussiaOnyama Limba RENEWAL
Mayumi Z MaletCanadaStephen Shaw RENEWAL
Emily T CampainUnited KingdomIvan Magalhaes NEW
Arvin H SergiItalyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Nicolas P Iturbide
Johnson Q Maclead
Antonio N Campain
Kadeem S Inouye
Maria J Schemmer
David I Caudy
Faith R Briddick
Murillo O Butt
Maisha C Gillian
Jennifer Z Rulapaugh
Kaitlin U Ferencz
Mujtaba Z Ruta
Aruna H Morasca
Smith R Maclead
Ricardo M Caldarera
Smith S Garufi
Greenwood B Chui
Adams C Inouye
Kadeem N Vocelka
Maria S Campain
Julie V Paprocki
Mujtaba J Paprocki
Aika T Perin
Rodrigues X Figeroa
Aika Z Perin
Maisha Y Darakjy
Alejandro J Foller
Cody V Whobrey
Emily C Ostrosky
Cody G Stockham
Mujtaba J Iturbide
Chavez N Oldroyd
Aditya V Royster
Tony F Sergi
Mayumi M Dilliard
Ivar C Ostrosky
Cody G Rulapaugh
Isabel S Nicka
Jones J Vocelka
Kadeem M Wieser
Aditya E Shinko
Darci Y Ruta
Octavia C Caudy
Octavia B Glick
Aika G Royster
Costa O Royster
Ashley X Bolognia
Ivar Q Nestle
Darci J Shinko
Clifford M Butt
IdCountryDate
1000Spain2026-10-09
1001United Kingdom2026-11-04
1002Brazil2026-11-03
1003Argentina2026-10-27
1004Australia2026-11-02
1005Australia2026-10-14
1006Russia2026-11-05
1007Japan2026-10-18
1008Russia2026-10-11
1009France2026-10-14
1010Argentina2026-10-25
1011Argentina2026-10-28
1012France2026-11-06
1013Spain2026-11-03
1014Spain2026-11-06
1015Spain2026-11-01
1016Russia2026-10-20
1017Japan2026-10-13
1018Canada2026-10-19
1019India2026-10-25
1020United Kingdom2026-11-05
1021India2026-10-27
1022Australia2026-11-04
1023France2026-10-21
1024Germany2026-10-12
1025Canada2026-11-04
1026Japan2026-10-30
1027Brazil2026-11-02
1028United Kingdom2026-11-03
1029Italy2026-10-21
1030Argentina2026-10-13
1031Canada2026-10-12
1032Germany2026-10-16
1033United Kingdom2026-11-06
1034Spain2026-11-06
1035Italy2026-10-13
1036Brazil2026-10-16
1037Australia2026-11-05
1038India2026-10-21
1039Japan2026-10-12
1040Spain2026-10-08
1041United Kingdom2026-10-23
1042Spain2026-10-28
1043Germany2026-10-16
1044Italy2026-10-10
1045Spain2026-10-19
1046India2026-10-18
1047Canada2026-10-23
1048Japan2026-10-08
1049France2026-10-12

On-Demand Data

NameIdCountryDate
Mujtaba A Oldroyd1000Russia2026-10-15
Emily E Oldroyd1001Australia2026-11-02
Alejandro F Briddick1002Australia2026-10-25
Adams A Paprocki1003Germany2026-10-23
Morrow I Kusko1004Japan2026-10-28
Nicolas F Ferencz1005Brazil2026-11-06
Maisha Y Waycott1006India2026-10-11
Leon G Gillian1007Japan2026-11-02
Ivar P Campain1008France2026-10-13
Murillo Y Whobrey1009India2026-10-14
Wickens L Glick1010India2026-10-12
Misaki G Briddick1011Argentina2026-10-21
Morrow R Whobrey1012Japan2026-11-06
Francesco J Darakjy1013Germany2026-10-17
Francesco R Slusarski1014Argentina2026-10-31
Mujtaba J Royster1015Spain2026-10-15
Ashley T Amigon1016Italy2026-10-23
Nicolas K Stockham1017Italy2026-11-04
Clifford O Tollner1018Canada2026-11-01
Faith A Shinko1019India2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci S NestleItalyAsiya Javayant PROPOSAL
Julie U DoeIndiaAnna Fali RENEWAL
David A ButtSpainElwin Sharvill NEGOTIATION
Murillo L IturbideRussiaBernardo Dominic RENEWAL
Clifford E FerenczItalyElwin Sharvill QUALIFIED
Misaki O FigeroaIndiaAnna Fali NEGOTIATION
Ricardo Q AlbaresGermanyAnna Fali UNQUALIFIED
Clifford E RutaJapanIvan Magalhaes NEW
Deepesh K MorascaAustraliaAmy Elsner NEW
Tony S AlbaresIndiaAmy Elsner UNQUALIFIED
Claire U OstroskyCanadaAsiya Javayant NEGOTIATION
Munro P RoysterUnited KingdomXuxue Feng QUALIFIED
Nicolas F ChuiRussiaAmy Elsner RENEWAL
Faith D MaletIndiaOnyama Limba NEW
Julie U SaylorsArgentinaAsiya Javayant PROPOSAL
Jefferson M BriddickItalyAsiya Javayant RENEWAL
David F VocelkaUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois B GauchoBrazilAsiya Javayant UNQUALIFIED
David W StockhamItalyStephen Shaw NEGOTIATION
Clifford V MacleadCanadaAmy Elsner UNQUALIFIED
David K MorascaItalyIoni Bowcher NEW
Costa S IturbideCanadaIoni Bowcher NEW
Ricardo X RutaGermanyAnna Fali QUALIFIED
Kaitlin B BologniaFranceBernardo Dominic RENEWAL
Darci R ShinkoCanadaIvan Magalhaes NEW
Misaki V MaletItalyAmy Elsner UNQUALIFIED
Jeanfrancois A ChuiAustraliaElwin Sharvill PROPOSAL
Kadeem X GillianCanadaAsiya Javayant QUALIFIED
Kadeem I KuskoCanadaIoni Bowcher RENEWAL
Cody V BriddickAustraliaAsiya Javayant QUALIFIED
Darci W InouyeBrazilIvan Magalhaes RENEWAL
Silvio P NickaArgentinaElwin Sharvill RENEWAL
Deepesh D RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues Y MaletGermanyXuxue Feng NEW
Nicolas S PerinBrazilAsiya Javayant PROPOSAL
Octavia W GarufiFranceXuxue Feng NEW
Stacey E VenereJapanAsiya Javayant RENEWAL
Julie O SchemmerFranceXuxue Feng NEGOTIATION
Izzy X CampainArgentinaXuxue Feng QUALIFIED
Jennifer D InouyeBrazilAsiya Javayant NEW

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