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
Smith B NestleSpainElwin Sharvill QUALIFIED
James V PaprockiIndiaBernardo Dominic NEGOTIATION
Kaitlin H BologniaArgentinaIoni Bowcher QUALIFIED
Johnson B VocelkaUnited KingdomBernardo Dominic NEW
Leja W KuskoGermanyIvan Magalhaes QUALIFIED
Costa Z CaudyAustraliaStephen Shaw NEGOTIATION
Alejandro D MarrierGermanyOnyama Limba NEW
Stacey X CaldareraJapanAmy Elsner NEW
Chavez X AmigonFranceStephen Shaw NEGOTIATION
Darci O CampainFranceAnna Fali NEW
Ashley Y SaylorsItalyIoni Bowcher NEW
Clifford D MacleadAustraliaOnyama Limba RENEWAL
Aruna B IturbideIndiaIoni Bowcher RENEWAL
Ashley R OstroskyItalyXuxue Feng NEGOTIATION
Mujtaba E CampainItalyElwin Sharvill NEW
Arvin V CampainBrazilIvan Magalhaes RENEWAL
Maisha C NestleRussiaAmy Elsner UNQUALIFIED
Jennifer D SaylorsJapanAnna Fali NEW
Salvatore X BriddickFranceXuxue Feng PROPOSAL
Misaki T InouyeCanadaIoni Bowcher UNQUALIFIED
Clifford L IturbideIndiaXuxue Feng PROPOSAL
Smith X MarrierItalyIvan Magalhaes RENEWAL
Octavia T OstroskySpainOnyama Limba NEW
Aditya J RimFranceOnyama Limba RENEWAL
Cody K CaldareraItalyIoni Bowcher UNQUALIFIED
Aika T MaletItalyIvan Magalhaes RENEWAL
Morrow G SlusarskiItalyAsiya Javayant UNQUALIFIED
Jennifer D ChuiFranceStephen Shaw NEGOTIATION
Costa K DilliardCanadaAnna Fali UNQUALIFIED
Adams W MorascaRussiaAsiya Javayant NEW
Murillo Z SergiUnited KingdomStephen Shaw NEW
Aruna F VocelkaFranceAmy Elsner PROPOSAL
Jefferson G WieserArgentinaIoni Bowcher QUALIFIED
David Z BologniaGermanyElwin Sharvill PROPOSAL
Nicolas P MaletArgentinaAsiya Javayant QUALIFIED
Aditya Z StensethAustraliaXuxue Feng NEGOTIATION
Arvin J SergiBrazilOnyama Limba RENEWAL
Leja G FlosiSpainBernardo Dominic PROPOSAL
Maria L StockhamFranceElwin Sharvill NEGOTIATION
Kadeem W DoeJapanXuxue Feng PROPOSAL
Izzy N SaylorsRussiaIvan Magalhaes QUALIFIED
Faith N BologniaFranceOnyama Limba QUALIFIED
Sinclair F RoysterSpainBernardo Dominic UNQUALIFIED
Greenwood K MorascaArgentinaBernardo Dominic RENEWAL
Clifford V CampainFranceIvan Magalhaes PROPOSAL
Octavia Q MarrierRussiaElwin Sharvill NEGOTIATION
Ashley B DoeItalyAmy Elsner NEW
Jefferson V MaletArgentinaIvan Magalhaes RENEWAL
Salvatore P RutaBrazilStephen Shaw UNQUALIFIED
Nicolas Q DoeItalyOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh U OldroydJapanAnna Fali NEGOTIATION
Kaitlin Y SchemmerItalyElwin Sharvill PROPOSAL
David V FollerAustraliaBernardo Dominic NEW
Costa D RulapaughAustraliaAmy Elsner NEW
Jefferson P AlbaresCanadaIoni Bowcher QUALIFIED
Julie L BriddickBrazilElwin Sharvill RENEWAL
Maisha K FlosiGermanyIoni Bowcher UNQUALIFIED
Isabel I SergiBrazilIoni Bowcher RENEWAL
Munro S KolmetzRussiaOnyama Limba UNQUALIFIED
Antonio U FlosiSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo T ShinkoIndia2026-10-04Dorl, James J Esq NEW91Stephen Shaw
1001Aika X StensethJapan2026-10-03Buckley Miller Wright RENEWAL21Asiya Javayant
1002Adams G AmigonJapan2026-10-11Truhlar And Truhlar Attys RENEWAL1Elwin Sharvill
1003Kadeem W FlosiRussia2026-10-10Chemel, James L Cpa NEGOTIATION51Asiya Javayant
1004Silvio T GauchoItaly2026-09-17Truhlar And Truhlar Attys NEW78Anna Fali
1005Octavia S CaldareraArgentina2026-10-02Chemel, James L Cpa QUALIFIED49Ivan Magalhaes
1006Aditya Z CaldareraCanada2026-10-10Rangoni Of Florence UNQUALIFIED19Anna Fali
1007Rodrigues P RoysterAustralia2026-09-13Chemel, James L Cpa PROPOSAL70Ivan Magalhaes
1008Mayumi U DarakjyIndia2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED55Bernardo Dominic
1009Misaki X PaprockiGermany2026-10-05Morlong Associates PROPOSAL92Ivan Magalhaes
1010Jennifer K ChuiItaly2026-09-23Rangoni Of Florence RENEWAL28Elwin Sharvill
1011Murillo D BologniaArgentina2026-09-22Morlong Associates UNQUALIFIED4Stephen Shaw
1012Costa R PerinFrance2026-09-19Buckley Miller Wright UNQUALIFIED48Xuxue Feng
1013Rodrigues S PoquetteAustralia2026-09-29Chanay, Jeffrey A Esq NEGOTIATION13Onyama Limba
1014Tony S DoeAustralia2026-10-10Buckley Miller Wright UNQUALIFIED23Asiya Javayant
1015Cody L IturbideAustralia2026-10-10Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1016Isabel B FigeroaRussia2026-09-14Chanay, Jeffrey A Esq PROPOSAL99Onyama Limba
1017Clifford F CaudyItaly2026-09-14Chanay, Jeffrey A Esq NEGOTIATION1Onyama Limba
1018Claire F RulapaughAustralia2026-09-17Printing Dimensions QUALIFIED83Asiya Javayant
1019Mujtaba V FlosiFrance2026-10-05Chanay, Jeffrey A Esq PROPOSAL12Ivan Magalhaes
1020Costa Z BowleyAustralia2026-10-01Rousseaux, Michael Esq NEW76Anna Fali
1021David S MaletArgentina2026-10-11King, Christopher A Esq QUALIFIED19Elwin Sharvill
1022Murillo Q GarufiRussia2026-09-29Truhlar And Truhlar Attys PROPOSAL98Asiya Javayant
1023Rodrigues G NestleUnited Kingdom2026-10-06Chanay, Jeffrey A Esq QUALIFIED4Anna Fali
1024Darci F FerenczGermany2026-09-24Chanay, Jeffrey A Esq PROPOSAL94Bernardo Dominic
1025Munro Z MacleadItaly2026-10-01King, Christopher A Esq UNQUALIFIED96Onyama Limba
1026David L GlickCanada2026-10-12Chemel, James L Cpa PROPOSAL66Xuxue Feng
1027Ivar H MacleadJapan2026-10-02King, Christopher A Esq PROPOSAL18Amy Elsner
1028Izzy J KolmetzUnited Kingdom2026-10-05Benton, John B Jr NEGOTIATION83Amy Elsner
1029David H OldroydArgentina2026-09-28King, Christopher A Esq NEGOTIATION89Stephen Shaw
1030Munro Q BriddickArgentina2026-10-11Morlong Associates NEGOTIATION68Xuxue Feng
1031David E KolmetzAustralia2026-10-02Printing Dimensions RENEWAL92Asiya Javayant
1032Jeanfrancois C CaudyArgentina2026-10-12Rousseaux, Michael Esq QUALIFIED64Onyama Limba
1033Aruna W AlbaresBrazil2026-10-12Morlong Associates RENEWAL59Stephen Shaw
1034Greenwood F FollerCanada2026-10-10Morlong Associates RENEWAL38Asiya Javayant
1035Aika K BologniaArgentina2026-09-27King, Christopher A Esq NEW81Amy Elsner
1036Jennifer J MacleadUnited Kingdom2026-09-29Benton, John B Jr QUALIFIED65Ioni Bowcher
1037Jones V VenereArgentina2026-09-20Commercial Press QUALIFIED46Amy Elsner
1038Francesco E KuskoUnited Kingdom2026-09-21Feltz Printing Service RENEWAL97Onyama Limba
1039Tony M KolmetzBrazil2026-09-21Feltz Printing Service NEW81Stephen Shaw
1040Kaitlin I ShinkoRussia2026-09-22King, Christopher A Esq UNQUALIFIED7Asiya Javayant
1041Jefferson F FigeroaBrazil2026-09-28Feiner Bros NEW48Xuxue Feng
1042Octavia Y GlickSpain2026-10-04Commercial Press QUALIFIED3Ioni Bowcher
1043Misaki J NestleJapan2026-10-03Buckley Miller Wright PROPOSAL25Onyama Limba
1044Julie O RutaItaly2026-10-05Feltz Printing Service PROPOSAL25Amy Elsner
1045James F KuskoFrance2026-09-26Rangoni Of Florence NEW73Stephen Shaw
1046Julie G TollnerAustralia2026-10-01Rangoni Of Florence NEGOTIATION88Ioni Bowcher
1047Johnson F AmigonRussia2026-10-10Buckley Miller Wright QUALIFIED4Anna Fali
1048Mayumi K CaldareraSpain2026-09-22Printing Dimensions RENEWAL16Amy Elsner
1049Clifford V KolmetzArgentina2026-09-24Truhlar And Truhlar Attys NEGOTIATION20Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia L ChuiAustraliaElwin Sharvill PROPOSAL
Rodrigues V WaycottSpainIvan Magalhaes PROPOSAL
Greenwood Z FerenczItalyBernardo Dominic QUALIFIED
Jones N BriddickIndiaElwin Sharvill RENEWAL
Leja P SergiAustraliaXuxue Feng NEGOTIATION
Salvatore N TollnerSpainBernardo Dominic NEGOTIATION
Isabel Q FigeroaGermanyXuxue Feng UNQUALIFIED
Kaitlin V SlusarskiBrazilIvan Magalhaes NEW
Antonio F KuskoItalyStephen Shaw NEW
Darci I IturbideArgentinaAnna Fali UNQUALIFIED
Jefferson B GarufiJapanXuxue Feng UNQUALIFIED
Claire Y MarrierFranceOnyama Limba QUALIFIED
Salvatore K WhobreyUnited KingdomOnyama Limba NEGOTIATION
Jennifer H ShinkoUnited KingdomIoni Bowcher NEW
Smith J MacleadAustraliaElwin Sharvill NEGOTIATION
Greenwood M NickaSpainIoni Bowcher PROPOSAL
Stacey Y SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Cody F StockhamCanadaAmy Elsner RENEWAL
Isabel E MarrierFranceAsiya Javayant PROPOSAL
Stacey K OldroydJapanAsiya Javayant QUALIFIED
Munro U ButtIndiaXuxue Feng NEW
Clifford D ShinkoBrazilAnna Fali RENEWAL
Jones C PoquetteItalyIoni Bowcher RENEWAL
Julie K KolmetzRussiaStephen Shaw QUALIFIED
Juan V WaycottAustraliaStephen Shaw NEW
Ashley L StensethGermanyBernardo Dominic NEW
Stacey Z GarufiSpainElwin Sharvill UNQUALIFIED
Greenwood Y MaletItalyOnyama Limba QUALIFIED
Johnson M BologniaUnited KingdomXuxue Feng NEGOTIATION
Stacey R VocelkaIndiaStephen Shaw RENEWAL
Maria A KuskoFranceXuxue Feng NEGOTIATION
James O FlosiCanadaStephen Shaw UNQUALIFIED
Cody D MaletArgentinaAnna Fali QUALIFIED
Emily X SergiJapanOnyama Limba PROPOSAL
Jennifer C WieserArgentinaAmy Elsner QUALIFIED
Juan T PaprockiJapanElwin Sharvill RENEWAL
Antonio D SlusarskiItalyElwin Sharvill NEGOTIATION
Chavez K FerenczItalyStephen Shaw PROPOSAL
David R MaletCanadaBernardo Dominic NEW
Misaki A ShinkoGermanyIvan Magalhaes UNQUALIFIED
Leja W OstroskyArgentinaOnyama Limba UNQUALIFIED
Mujtaba D FigeroaItalyAmy Elsner NEGOTIATION
Rodrigues D VenereArgentinaOnyama Limba QUALIFIED
Ashley Y FlosiIndiaAmy Elsner NEW
Cody F MorascaArgentinaStephen Shaw NEW
Isabel X StockhamJapanOnyama Limba NEGOTIATION
Deepesh S DoeSpainStephen Shaw RENEWAL
Aditya B GarufiJapanBernardo Dominic NEW
Maisha S VenereIndiaAnna Fali UNQUALIFIED
Kaitlin U GillianItalyIoni Bowcher PROPOSAL
Frozen Columns
Name
Smith X Dilliard
Juan A Malet
Misaki N Garufi
Jeanfrancois Z Perin
Alejandro J Bolognia
Arvin D Malet
Izzy E Morasca
Greenwood W Saylors
James U Malet
Deepesh J Paprocki
Kaitlin Q Kolmetz
Emily U Rulapaugh
Mujtaba T Butt
Aika A Morasca
Rodrigues U Gillian
Leon G Paprocki
Silvio L Bolognia
Isabel F Flosi
Jeanfrancois G Chui
Antonio Y Bolognia
Munro E Dilliard
Faith V Iturbide
Aika P Garufi
Murillo Z Perin
Tony W Campain
Leja F Gaucho
Leon L Poquette
Octavia V Caudy
Ivar N Tollner
Jones I Slusarski
Jennifer F Glick
Smith J Perin
Kadeem I Saylors
Jennifer B Inouye
Tony U Darakjy
Aika Y Albares
Mayumi K Shinko
Jones L Darakjy
Darci V Schemmer
Ashley R Caldarera
Jeanfrancois R Caldarera
Faith J Dilliard
Aika P Whobrey
Mayumi A Morasca
Costa X Kolmetz
Ivar P Morasca
Ivar N Caldarera
Adams Y Malet
Aditya Z Wieser
Ashley Y Amigon
IdCountryDate
1000Italy2026-09-28
1001United Kingdom2026-10-07
1002Japan2026-09-22
1003Brazil2026-10-12
1004Brazil2026-10-07
1005Germany2026-09-30
1006Spain2026-09-21
1007France2026-10-01
1008Germany2026-09-25
1009Italy2026-10-11
1010Australia2026-09-26
1011Argentina2026-10-04
1012United Kingdom2026-10-10
1013Canada2026-10-06
1014Brazil2026-09-25
1015Brazil2026-10-07
1016Canada2026-09-23
1017Canada2026-09-22
1018Russia2026-09-24
1019Argentina2026-10-10
1020France2026-09-16
1021Japan2026-10-11
1022Italy2026-10-02
1023France2026-09-29
1024Brazil2026-10-06
1025Japan2026-09-24
1026India2026-09-23
1027Brazil2026-09-30
1028France2026-09-15
1029Argentina2026-10-02
1030Italy2026-10-04
1031France2026-10-05
1032India2026-09-28
1033Brazil2026-09-20
1034France2026-09-15
1035India2026-09-20
1036Italy2026-10-05
1037Russia2026-10-12
1038United Kingdom2026-09-27
1039Spain2026-10-04
1040Italy2026-09-21
1041Spain2026-09-28
1042Canada2026-10-10
1043Spain2026-09-24
1044United Kingdom2026-10-06
1045Australia2026-10-10
1046Brazil2026-10-03
1047Spain2026-10-07
1048Spain2026-09-16
1049Brazil2026-09-14

On-Demand Data

NameIdCountryDate
Octavia Z Garufi1000Canada2026-09-29
James N Stockham1001Brazil2026-09-20
Morrow M Vocelka1002France2026-10-12
Darci E Tollner1003Italy2026-10-12
Julie V Wieser1004Argentina2026-09-15
Morrow B Gillian1005Brazil2026-09-13
Deepesh X Ruta1006Spain2026-09-20
Chavez J Gaucho1007Germany2026-10-12
Izzy B Ostrosky1008Argentina2026-09-18
Wickens D Campain1009France2026-10-11
Aika T Ruta1010Brazil2026-10-09
Mayumi G Marrier1011Japan2026-09-17
Kadeem R Vocelka1012Argentina2026-10-02
Leon C Flosi1013Brazil2026-09-30
Murillo V Poquette1014Germany2026-10-08
Arvin E Kolmetz1015Canada2026-09-29
Kadeem F Ferencz1016Germany2026-09-17
Cody E Inouye1017Canada2026-09-25
Mujtaba M Gaucho1018Japan2026-10-01
Sinclair D Inouye1019Germany2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey L ShinkoGermanyXuxue Feng NEW
Clifford W KuskoGermanyBernardo Dominic UNQUALIFIED
Arvin H BriddickArgentinaElwin Sharvill NEGOTIATION
Ivar T ButtCanadaXuxue Feng NEW
Jones Z ButtItalyAnna Fali RENEWAL
Clifford K NestleArgentinaBernardo Dominic NEW
Arvin A StockhamFranceAmy Elsner NEW
Stacey V GauchoSpainStephen Shaw UNQUALIFIED
Clifford T InouyeSpainAsiya Javayant RENEWAL
Munro U GarufiRussiaXuxue Feng PROPOSAL
Nicolas K PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Ashley E RoysterItalyElwin Sharvill PROPOSAL
Antonio F SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Isabel C GlickCanadaAsiya Javayant PROPOSAL
Ricardo F GlickGermanyIoni Bowcher RENEWAL
Ivar R WaycottFranceStephen Shaw NEGOTIATION
Mayumi O CampainAustraliaAnna Fali QUALIFIED
Antonio L WhobreyGermanyAmy Elsner RENEWAL
David U MaletSpainIvan Magalhaes QUALIFIED
Nicolas F BriddickGermanyAsiya Javayant PROPOSAL
Stacey I WieserGermanyAmy Elsner NEW
Francesco L GillianSpainAnna Fali NEW
Misaki W InouyeAustraliaBernardo Dominic NEW
David E NestleJapanIoni Bowcher NEW
Ivar A CampainFranceIvan Magalhaes NEW
Kadeem F BologniaBrazilOnyama Limba QUALIFIED
Chavez M VenereBrazilElwin Sharvill RENEWAL
Jeanfrancois Y AmigonBrazilIoni Bowcher QUALIFIED
Arvin Y RulapaughCanadaAmy Elsner PROPOSAL
Morrow I PaprockiIndiaBernardo Dominic NEW
David V StensethCanadaIoni Bowcher UNQUALIFIED
Deepesh H VenereUnited KingdomOnyama Limba PROPOSAL
Murillo J SchemmerIndiaBernardo Dominic QUALIFIED
Juan E RutaArgentinaBernardo Dominic UNQUALIFIED
Misaki F FlosiFranceElwin Sharvill NEGOTIATION
James U RutaItalyAnna Fali RENEWAL
Ricardo J ChuiJapanIvan Magalhaes QUALIFIED
Nicolas K WieserRussiaAnna Fali UNQUALIFIED
Morrow J PerinUnited KingdomAnna Fali UNQUALIFIED
Leja M AlbaresItalyOnyama Limba NEGOTIATION

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