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
Faith W IturbideCanadaXuxue Feng UNQUALIFIED
Rodrigues M FigeroaSpainIoni Bowcher QUALIFIED
Morrow I FigeroaAustraliaOnyama Limba NEW
Misaki X FlosiCanadaBernardo Dominic RENEWAL
Greenwood C FlosiUnited KingdomAsiya Javayant QUALIFIED
Izzy X NickaIndiaOnyama Limba NEGOTIATION
Jeanfrancois X BologniaFranceStephen Shaw UNQUALIFIED
Juan X SlusarskiFranceAnna Fali RENEWAL
Julie P FigeroaAustraliaBernardo Dominic UNQUALIFIED
Kadeem U PaprockiFranceXuxue Feng PROPOSAL
Silvio J WieserRussiaIvan Magalhaes PROPOSAL
Antonio G TollnerSpainAnna Fali PROPOSAL
Kaitlin F ChuiRussiaAnna Fali NEGOTIATION
Jeanfrancois N GlickArgentinaXuxue Feng NEW
Ivar U MacleadBrazilAsiya Javayant RENEWAL
Darci N GlickAustraliaStephen Shaw NEGOTIATION
Johnson F BologniaFranceAnna Fali PROPOSAL
Deepesh D SaylorsRussiaAsiya Javayant PROPOSAL
Claire G RimAustraliaStephen Shaw NEGOTIATION
James I GillianItalyIvan Magalhaes RENEWAL
Alejandro D AmigonGermanyAnna Fali UNQUALIFIED
Mayumi U NestleGermanyOnyama Limba QUALIFIED
Chavez Z FigeroaUnited KingdomAsiya Javayant PROPOSAL
Leon M KolmetzBrazilAmy Elsner QUALIFIED
Ashley L MaletFranceElwin Sharvill PROPOSAL
Isabel D AlbaresGermanyBernardo Dominic NEW
Mujtaba D DoeRussiaStephen Shaw PROPOSAL
Clifford V MarrierRussiaAsiya Javayant RENEWAL
Leon E AmigonItalyStephen Shaw UNQUALIFIED
Johnson G SaylorsFranceIvan Magalhaes UNQUALIFIED
Emily A CaudyGermanyAnna Fali RENEWAL
Jennifer G TollnerAustraliaAmy Elsner PROPOSAL
James C RoysterArgentinaElwin Sharvill QUALIFIED
Nicolas T OldroydBrazilXuxue Feng NEGOTIATION
Salvatore A RoysterJapanOnyama Limba NEW
David W MacleadUnited KingdomXuxue Feng UNQUALIFIED
Ricardo H MaletItalyIoni Bowcher PROPOSAL
Salvatore T GillianRussiaOnyama Limba NEW
Aika O GlickCanadaElwin Sharvill NEGOTIATION
Greenwood M PoquetteAustraliaOnyama Limba NEGOTIATION
Misaki F DarakjyAustraliaIvan Magalhaes QUALIFIED
Costa P MarrierBrazilIvan Magalhaes NEGOTIATION
Chavez H PoquetteJapanStephen Shaw NEW
Kadeem J StensethJapanOnyama Limba QUALIFIED
Kadeem S KuskoArgentinaAmy Elsner NEGOTIATION
Aika H InouyeJapanAnna Fali NEW
Darci K DoeArgentinaXuxue Feng QUALIFIED
Jeanfrancois J SaylorsIndiaIvan Magalhaes NEW
Morrow O GauchoItalyXuxue Feng NEGOTIATION
Aruna M KuskoArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair W FigeroaRussiaBernardo Dominic RENEWAL
Ivar M StockhamFranceElwin Sharvill UNQUALIFIED
Misaki Z DoeIndiaIoni Bowcher PROPOSAL
Kadeem Q NestleCanadaIoni Bowcher NEW
Jeanfrancois T GillianJapanBernardo Dominic NEW
Ashley S RoysterGermanyIoni Bowcher UNQUALIFIED
Cody F AlbaresGermanyStephen Shaw NEW
Maria H DarakjyUnited KingdomAnna Fali PROPOSAL
Mayumi X KuskoUnited KingdomOnyama Limba RENEWAL
Salvatore Z AlbaresIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Q PaprockiSpain2026-11-04Benton, John B Jr QUALIFIED23Onyama Limba
1001Munro N RulapaughGermany2026-10-18Dorl, James J Esq NEW7Onyama Limba
1002Leon A MorascaJapan2026-10-15Dorl, James J Esq NEGOTIATION18Asiya Javayant
1003Murillo X BriddickIndia2026-10-14Rangoni Of Florence UNQUALIFIED34Amy Elsner
1004Silvio R WieserAustralia2026-10-08Buckley Miller Wright NEGOTIATION49Ivan Magalhaes
1005Izzy F CampainSpain2026-10-31Morlong Associates QUALIFIED33Amy Elsner
1006Aika Q VocelkaArgentina2026-10-27Chemel, James L Cpa NEGOTIATION3Ioni Bowcher
1007Mujtaba Y PoquetteGermany2026-10-16Chapman, Ross E Esq UNQUALIFIED61Stephen Shaw
1008Munro X KuskoItaly2026-10-30Truhlar And Truhlar Attys QUALIFIED81Anna Fali
1009Silvio M VenereCanada2026-10-16Buckley Miller Wright NEW18Amy Elsner
1010Morrow X WaycottRussia2026-10-19Morlong Associates RENEWAL77Stephen Shaw
1011Darci J KuskoArgentina2026-10-19Commercial Press PROPOSAL4Xuxue Feng
1012Kaitlin Y ButtJapan2026-10-17Chemel, James L Cpa NEW27Xuxue Feng
1013Julie Q BriddickSpain2026-10-17Commercial Press UNQUALIFIED13Asiya Javayant
1014Ricardo R FlosiSpain2026-10-16Benton, John B Jr QUALIFIED34Asiya Javayant
1015Deepesh J OstroskyAustralia2026-11-02King, Christopher A Esq NEGOTIATION54Onyama Limba
1016Kaitlin C OstroskyItaly2026-10-13King, Christopher A Esq RENEWAL23Ioni Bowcher
1017Kadeem S InouyeArgentina2026-10-16Feltz Printing Service NEGOTIATION1Stephen Shaw
1018Nicolas S MarrierBrazil2026-10-18Commercial Press QUALIFIED55Onyama Limba
1019Jones R OldroydGermany2026-10-17Rangoni Of Florence PROPOSAL45Stephen Shaw
1020Stacey E NickaGermany2026-10-13Chanay, Jeffrey A Esq RENEWAL36Amy Elsner
1021Jennifer V AmigonUnited Kingdom2026-10-22Dorl, James J Esq UNQUALIFIED16Elwin Sharvill
1022Darci A SergiCanada2026-10-23Chemel, James L Cpa NEW55Onyama Limba
1023James Y WhobreyCanada2026-10-18Morlong Associates NEGOTIATION34Anna Fali
1024Faith V WhobreyBrazil2026-10-18Chanay, Jeffrey A Esq PROPOSAL83Onyama Limba
1025Cody L SaylorsSpain2026-11-02Chanay, Jeffrey A Esq UNQUALIFIED63Anna Fali
1026Ashley S DilliardRussia2026-10-08Rousseaux, Michael Esq QUALIFIED69Stephen Shaw
1027Maria E WhobreyRussia2026-11-03Rangoni Of Florence NEGOTIATION51Amy Elsner
1028Salvatore V PerinIndia2026-10-28Printing Dimensions NEGOTIATION83Xuxue Feng
1029Alejandro C FigeroaBrazil2026-11-04Chapman, Ross E Esq RENEWAL11Stephen Shaw
1030Leja J GarufiUnited Kingdom2026-11-04Truhlar And Truhlar Attys NEGOTIATION3Ioni Bowcher
1031Izzy B MacleadAustralia2026-10-24Benton, John B Jr NEW25Ioni Bowcher
1032Stacey Y MaletItaly2026-11-01Commercial Press NEGOTIATION1Anna Fali
1033Arvin P StockhamFrance2026-10-20Printing Dimensions RENEWAL51Anna Fali
1034Stacey U WieserAustralia2026-10-14Commercial Press NEGOTIATION21Ivan Magalhaes
1035Alejandro R SergiIndia2026-10-06Feltz Printing Service PROPOSAL59Asiya Javayant
1036Jefferson N SchemmerCanada2026-10-07Feltz Printing Service NEW40Amy Elsner
1037Morrow N SergiGermany2026-10-11Buckley Miller Wright UNQUALIFIED46Onyama Limba
1038Ashley T GlickBrazil2026-10-10Rousseaux, Michael Esq RENEWAL73Ioni Bowcher
1039Jennifer Y GlickSpain2026-10-19Chemel, James L Cpa NEW17Anna Fali
1040Adams F CampainRussia2026-10-19Feltz Printing Service RENEWAL85Elwin Sharvill
1041Johnson R SlusarskiJapan2026-10-13Truhlar And Truhlar Attys PROPOSAL89Bernardo Dominic
1042Misaki V VenereCanada2026-11-04Benton, John B Jr UNQUALIFIED63Stephen Shaw
1043Mujtaba N FigeroaIndia2026-11-01Benton, John B Jr NEW46Asiya Javayant
1044Izzy K DarakjyIndia2026-10-10Commercial Press UNQUALIFIED7Ioni Bowcher
1045Alejandro G CaudyGermany2026-10-11Morlong Associates RENEWAL53Ivan Magalhaes
1046Ashley N GauchoRussia2026-10-28Commercial Press UNQUALIFIED60Amy Elsner
1047Jennifer Q MorascaAustralia2026-11-01Chanay, Jeffrey A Esq UNQUALIFIED25Stephen Shaw
1048Jefferson Q MaletBrazil2026-10-09Chapman, Ross E Esq RENEWAL65Stephen Shaw
1049Morrow K MarrierIndia2026-10-28Rousseaux, Michael Esq NEW18Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Salvatore S GauchoCanadaAnna Fali RENEWAL
Leon H MacleadBrazilXuxue Feng RENEWAL
Claire B CaudyBrazilXuxue Feng NEW
Jefferson Z DilliardGermanyIvan Magalhaes RENEWAL
Ashley F RoysterUnited KingdomOnyama Limba NEW
Wickens H FlosiRussiaAsiya Javayant UNQUALIFIED
Darci M OldroydFranceBernardo Dominic PROPOSAL
Ivar I MorascaFranceAnna Fali PROPOSAL
Francesco G GillianSpainStephen Shaw NEGOTIATION
Adams T OldroydSpainStephen Shaw UNQUALIFIED
Costa D PoquetteArgentinaAmy Elsner QUALIFIED
David B RimRussiaAnna Fali UNQUALIFIED
Ashley W SaylorsBrazilAnna Fali NEW
Silvio Z StockhamRussiaOnyama Limba RENEWAL
Ivar M OldroydJapanElwin Sharvill UNQUALIFIED
David Y GillianRussiaAmy Elsner NEW
Ivar K RutaAustraliaElwin Sharvill QUALIFIED
Mayumi H WaycottGermanyIvan Magalhaes NEW
Munro R BologniaJapanIoni Bowcher NEGOTIATION
Alejandro M RimCanadaElwin Sharvill PROPOSAL
Leja J GarufiArgentinaAnna Fali PROPOSAL
Nicolas T PoquetteSpainAsiya Javayant UNQUALIFIED
Leon X SaylorsJapanIvan Magalhaes UNQUALIFIED
Kaitlin T CaudyJapanAsiya Javayant PROPOSAL
Misaki Z CaldareraGermanyIvan Magalhaes RENEWAL
Ricardo O RutaCanadaAnna Fali QUALIFIED
Cody R FerenczAustraliaIvan Magalhaes RENEWAL
Leon P ShinkoJapanOnyama Limba QUALIFIED
Stacey F OstroskyFranceXuxue Feng NEGOTIATION
Leja J DilliardJapanBernardo Dominic NEGOTIATION
Ricardo Z MorascaItalyXuxue Feng NEW
Mujtaba Z FollerSpainIvan Magalhaes QUALIFIED
Salvatore G FollerJapanOnyama Limba NEGOTIATION
Munro Q SergiUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin H WieserArgentinaElwin Sharvill NEW
Tony C SchemmerSpainAnna Fali NEGOTIATION
Costa K NestleGermanyStephen Shaw PROPOSAL
Aruna U PaprockiRussiaIoni Bowcher RENEWAL
Emily U RimJapanAsiya Javayant UNQUALIFIED
Salvatore J ShinkoIndiaElwin Sharvill NEGOTIATION
Smith A MarrierRussiaAnna Fali NEW
Francesco K NestleFranceIoni Bowcher UNQUALIFIED
Maisha P GillianItalyAnna Fali UNQUALIFIED
Emily P OldroydIndiaBernardo Dominic QUALIFIED
Nicolas T AmigonArgentinaIoni Bowcher QUALIFIED
Maria G OstroskyJapanXuxue Feng UNQUALIFIED
Munro F GarufiBrazilStephen Shaw NEGOTIATION
David L StockhamItalyStephen Shaw RENEWAL
Arvin B FollerArgentinaAnna Fali PROPOSAL
Darci A GauchoIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Stacey B Briddick
Octavia E Morasca
Clifford R Bolognia
Jefferson V Venere
Silvio H Glick
Tony G Chui
Juan E Malet
Smith G Darakjy
Julie S Nicka
Johnson C Malet
Deepesh A Albares
Darci P Sergi
Jefferson S Waycott
Murillo H Gillian
Ricardo C Oldroyd
Aika A Wieser
Maisha I Albares
Izzy L Briddick
Munro O Briddick
Isabel J Caudy
Isabel U Schemmer
Leon I Garufi
Maria F Shinko
Ashley Q Glick
Ivar Q Royster
Isabel T Wieser
Mujtaba U Inouye
Jefferson N Morasca
Francesco W Vocelka
Clifford J Briddick
Ivar Q Stockham
Faith M Rulapaugh
Claire R Royster
Octavia Z Darakjy
Clifford I Malet
Salvatore X Rim
Aika R Doe
Wickens A Amigon
Rodrigues U Nestle
Jennifer L Caldarera
Emily Q Stenseth
Octavia Z Oldroyd
David I Paprocki
Kaitlin I Marrier
Juan G Kolmetz
Emily Y Poquette
Francesco P Morasca
Silvio M Bolognia
Jones C Darakjy
Arvin N Slusarski
IdCountryDate
1000France2026-10-18
1001Italy2026-11-04
1002Argentina2026-11-02
1003Canada2026-10-16
1004Italy2026-10-24
1005Argentina2026-11-02
1006Russia2026-10-27
1007India2026-10-08
1008Germany2026-10-14
1009Brazil2026-11-04
1010India2026-10-07
1011Brazil2026-10-30
1012Italy2026-10-19
1013France2026-10-21
1014Brazil2026-10-29
1015France2026-10-30
1016Spain2026-10-11
1017Argentina2026-10-21
1018France2026-10-26
1019Japan2026-10-20
1020Japan2026-10-11
1021India2026-10-31
1022Germany2026-10-13
1023United Kingdom2026-10-19
1024Brazil2026-10-30
1025Germany2026-10-18
1026Russia2026-10-25
1027Spain2026-10-16
1028Japan2026-10-31
1029Spain2026-10-14
1030France2026-11-02
1031India2026-10-10
1032France2026-10-16
1033Australia2026-10-20
1034Argentina2026-10-21
1035Japan2026-10-30
1036Brazil2026-10-27
1037Argentina2026-10-14
1038Germany2026-11-01
1039Argentina2026-10-11
1040Germany2026-10-23
1041United Kingdom2026-10-18
1042France2026-10-27
1043Japan2026-10-23
1044Argentina2026-10-26
1045United Kingdom2026-10-19
1046Brazil2026-10-13
1047France2026-10-13
1048Germany2026-11-01
1049Brazil2026-11-02

On-Demand Data

NameIdCountryDate
Leon Y Doe1000Argentina2026-10-08
Leja S Whobrey1001Spain2026-10-07
Greenwood I Shinko1002Australia2026-11-04
Silvio B Shinko1003Russia2026-11-01
Maisha P Maclead1004India2026-10-16
Mujtaba L Bowley1005Australia2026-10-24
Leon A Albares1006Russia2026-10-10
Claire J Ferencz1007Argentina2026-10-12
Greenwood X Maclead1008Spain2026-10-24
Darci L Iturbide1009United Kingdom2026-10-26
Mujtaba V Waycott1010Argentina2026-10-09
Izzy Y Kolmetz1011Spain2026-10-30
David S Ferencz1012Italy2026-10-20
Octavia T Malet1013Spain2026-10-14
Murillo X Figeroa1014Argentina2026-10-22
Jeanfrancois J Shinko1015Germany2026-10-27
Leon X Rim1016India2026-10-09
Aika S Iturbide1017Spain2026-10-24
Maisha W Sergi1018Japan2026-10-18
Ricardo P Kolmetz1019Russia2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire P DoeBrazilStephen Shaw NEW
Kaitlin Z ShinkoSpainElwin Sharvill RENEWAL
David M RulapaughRussiaXuxue Feng PROPOSAL
Arvin A AmigonCanadaBernardo Dominic RENEWAL
Darci X KuskoJapanOnyama Limba NEW
Antonio V RulapaughRussiaStephen Shaw RENEWAL
Francesco V MaletAustraliaIoni Bowcher NEGOTIATION
Mayumi L KolmetzAustraliaXuxue Feng NEGOTIATION
Stacey U BowleySpainElwin Sharvill NEW
Ashley P RutaCanadaElwin Sharvill PROPOSAL
Tony Y GarufiItalyIoni Bowcher QUALIFIED
Munro M KolmetzGermanyAnna Fali UNQUALIFIED
Sinclair Z WhobreyGermanyBernardo Dominic UNQUALIFIED
Leon U AlbaresSpainAnna Fali NEW
Johnson Z VenereAustraliaElwin Sharvill QUALIFIED
Greenwood E AlbaresItalyIvan Magalhaes NEGOTIATION
Francesco V GillianItalyBernardo Dominic PROPOSAL
Octavia I RulapaughBrazilIvan Magalhaes UNQUALIFIED
Salvatore E AmigonUnited KingdomIoni Bowcher QUALIFIED
James Y RulapaughIndiaAnna Fali PROPOSAL
Clifford J TollnerCanadaElwin Sharvill NEW
Maria Y NickaCanadaElwin Sharvill NEW
Maisha Z AlbaresUnited KingdomAnna Fali QUALIFIED
Alejandro E ButtJapanIoni Bowcher RENEWAL
Aditya Z DarakjyGermanyBernardo Dominic QUALIFIED
Munro B AlbaresIndiaAnna Fali PROPOSAL
David W RoysterBrazilIvan Magalhaes NEGOTIATION
Isabel N SchemmerRussiaOnyama Limba PROPOSAL
Jefferson J DoeCanadaBernardo Dominic QUALIFIED
Jones R MaletFranceIoni Bowcher NEW
Costa G SergiFranceIoni Bowcher PROPOSAL
Wickens J MacleadUnited KingdomXuxue Feng QUALIFIED
Maisha D AlbaresGermanyElwin Sharvill RENEWAL
Arvin T PerinArgentinaElwin Sharvill UNQUALIFIED
Costa G SaylorsSpainAsiya Javayant QUALIFIED
Octavia I OldroydSpainXuxue Feng QUALIFIED
Nicolas N ButtFranceXuxue Feng NEGOTIATION
Leja D SergiRussiaStephen Shaw QUALIFIED
Deepesh O VocelkaJapanBernardo Dominic PROPOSAL
Octavia Q CaldareraCanadaAmy Elsner 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>