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
Arvin V AlbaresItalyIoni Bowcher QUALIFIED
Chavez S ChuiRussiaAsiya Javayant RENEWAL
Costa L PerinSpainAnna Fali NEGOTIATION
Tony Y OldroydSpainAmy Elsner PROPOSAL
Maria W SchemmerCanadaElwin Sharvill NEW
Aditya I GillianGermanyIoni Bowcher NEW
Aditya O FlosiCanadaXuxue Feng QUALIFIED
Deepesh T GillianFranceAmy Elsner QUALIFIED
Murillo A ButtJapanIvan Magalhaes PROPOSAL
Ashley D WhobreySpainAsiya Javayant UNQUALIFIED
Alejandro F FerenczCanadaBernardo Dominic QUALIFIED
Aruna Q BologniaAustraliaOnyama Limba QUALIFIED
Cody E MacleadGermanyOnyama Limba PROPOSAL
Salvatore F StensethJapanXuxue Feng QUALIFIED
Kadeem C ShinkoRussiaIvan Magalhaes NEW
Jones K RulapaughItalyAnna Fali RENEWAL
Tony U WaycottItalyIvan Magalhaes PROPOSAL
Aruna J VenereBrazilIoni Bowcher UNQUALIFIED
Leon O DarakjyCanadaXuxue Feng QUALIFIED
Antonio F AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha Y OstroskyCanadaAnna Fali QUALIFIED
Mujtaba W WieserRussiaElwin Sharvill PROPOSAL
Kaitlin H StensethBrazilIoni Bowcher PROPOSAL
Izzy S InouyeSpainBernardo Dominic UNQUALIFIED
Mayumi C MacleadSpainIoni Bowcher UNQUALIFIED
Misaki Q FigeroaUnited KingdomIoni Bowcher PROPOSAL
Clifford J OldroydIndiaAsiya Javayant NEGOTIATION
Jones H CampainIndiaOnyama Limba NEW
Octavia B PaprockiItalyStephen Shaw UNQUALIFIED
Claire N AlbaresSpainElwin Sharvill NEGOTIATION
Tony P FlosiGermanyOnyama Limba UNQUALIFIED
Julie K SergiGermanyBernardo Dominic RENEWAL
Stacey R RimRussiaAnna Fali UNQUALIFIED
Mayumi W ButtItalyStephen Shaw UNQUALIFIED
Tony N StockhamAustraliaIvan Magalhaes NEGOTIATION
Jones O TollnerItalyAmy Elsner UNQUALIFIED
Maria S SaylorsRussiaIoni Bowcher RENEWAL
Stacey D GauchoUnited KingdomBernardo Dominic QUALIFIED
Leja R ChuiRussiaBernardo Dominic RENEWAL
Silvio O BowleySpainAnna Fali NEGOTIATION
Morrow U CampainArgentinaStephen Shaw PROPOSAL
Salvatore J SlusarskiFranceAsiya Javayant NEW
Murillo F RulapaughIndiaElwin Sharvill NEW
Arvin L ChuiCanadaElwin Sharvill UNQUALIFIED
Ashley F OldroydSpainOnyama Limba QUALIFIED
Munro H WaycottBrazilStephen Shaw QUALIFIED
Izzy V ChuiUnited KingdomBernardo Dominic PROPOSAL
Nicolas Y FerenczCanadaElwin Sharvill NEGOTIATION
Greenwood N GillianAustraliaElwin Sharvill NEGOTIATION
Clifford C GauchoItalyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Antonio K BologniaSpainAmy Elsner PROPOSAL
David V GarufiSpainElwin Sharvill UNQUALIFIED
Emily F FerenczJapanXuxue Feng UNQUALIFIED
Deepesh B NickaFranceAsiya Javayant PROPOSAL
Munro S FlosiJapanBernardo Dominic NEW
Leja F PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Julie B NestleArgentinaAmy Elsner QUALIFIED
Octavia O InouyeFranceStephen Shaw NEGOTIATION
Maria J DoeBrazilBernardo Dominic UNQUALIFIED
Greenwood N SchemmerGermanyIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens M ButtSpain2026-09-24Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1001Morrow F CampainCanada2026-10-10Dorl, James J Esq QUALIFIED64Asiya Javayant
1002Octavia L DarakjyUnited Kingdom2026-09-14Morlong Associates UNQUALIFIED93Stephen Shaw
1003Wickens T StockhamArgentina2026-09-28King, Christopher A Esq PROPOSAL58Onyama Limba
1004Ashley A VenereSpain2026-10-10Chemel, James L Cpa RENEWAL57Anna Fali
1005Ashley U ButtJapan2026-09-18Feltz Printing Service NEGOTIATION51Ioni Bowcher
1006Misaki T GarufiBrazil2026-09-13Morlong Associates QUALIFIED56Stephen Shaw
1007Sinclair N KuskoSpain2026-09-28Truhlar And Truhlar Attys PROPOSAL9Elwin Sharvill
1008Sinclair X DoeAustralia2026-10-01Chapman, Ross E Esq RENEWAL48Stephen Shaw
1009Smith I InouyeIndia2026-09-22Printing Dimensions RENEWAL36Ioni Bowcher
1010Jones O FerenczFrance2026-09-27Buckley Miller Wright UNQUALIFIED68Elwin Sharvill
1011Clifford V StensethBrazil2026-09-23Commercial Press QUALIFIED97Ioni Bowcher
1012Cody T ChuiIndia2026-09-18King, Christopher A Esq NEW48Xuxue Feng
1013Alejandro H PaprockiIndia2026-09-22Chapman, Ross E Esq NEW37Onyama Limba
1014Maria R VocelkaGermany2026-09-30King, Christopher A Esq UNQUALIFIED40Onyama Limba
1015Salvatore V MorascaSpain2026-10-07Buckley Miller Wright RENEWAL61Xuxue Feng
1016Silvio F DarakjyAustralia2026-09-16Rousseaux, Michael Esq QUALIFIED7Onyama Limba
1017Ricardo C SlusarskiGermany2026-10-04Chanay, Jeffrey A Esq NEW50Bernardo Dominic
1018Alejandro U ShinkoArgentina2026-09-16Feiner Bros RENEWAL32Anna Fali
1019Nicolas Y PaprockiItaly2026-09-28Rousseaux, Michael Esq PROPOSAL13Amy Elsner
1020Adams T ShinkoJapan2026-10-09King, Christopher A Esq NEW64Onyama Limba
1021Arvin O MacleadSpain2026-09-20Buckley Miller Wright NEW69Amy Elsner
1022Chavez W RoysterArgentina2026-09-17King, Christopher A Esq QUALIFIED79Ivan Magalhaes
1023Ricardo X GarufiJapan2026-09-22Buckley Miller Wright UNQUALIFIED8Ivan Magalhaes
1024Leja W RimUnited Kingdom2026-10-09Rousseaux, Michael Esq NEW41Xuxue Feng
1025Stacey U OstroskyRussia2026-10-09Chapman, Ross E Esq QUALIFIED93Onyama Limba
1026Morrow F DoeAustralia2026-09-13Printing Dimensions PROPOSAL62Onyama Limba
1027Ivar A FerenczArgentina2026-09-29Buckley Miller Wright NEW19Xuxue Feng
1028Ricardo V VocelkaBrazil2026-09-22Printing Dimensions UNQUALIFIED90Anna Fali
1029Jennifer U ShinkoBrazil2026-10-10Rousseaux, Michael Esq NEW84Amy Elsner
1030Jennifer J MorascaJapan2026-10-10Printing Dimensions PROPOSAL22Stephen Shaw
1031Francesco K WieserArgentina2026-10-10Feiner Bros QUALIFIED15Ivan Magalhaes
1032Chavez M SergiJapan2026-09-30Chapman, Ross E Esq NEW53Amy Elsner
1033Stacey Z MorascaArgentina2026-09-11Dorl, James J Esq PROPOSAL12Ioni Bowcher
1034Ricardo R CaldareraBrazil2026-09-21Chemel, James L Cpa NEGOTIATION84Xuxue Feng
1035Aika W DilliardSpain2026-09-12Rousseaux, Michael Esq UNQUALIFIED67Onyama Limba
1036Mujtaba X CaudyGermany2026-09-16Morlong Associates UNQUALIFIED58Asiya Javayant
1037Murillo T GarufiBrazil2026-10-10Printing Dimensions PROPOSAL68Ivan Magalhaes
1038Murillo F StockhamCanada2026-09-14Chapman, Ross E Esq NEGOTIATION56Onyama Limba
1039Cody R AlbaresUnited Kingdom2026-09-28Chapman, Ross E Esq RENEWAL31Amy Elsner
1040Greenwood X InouyeCanada2026-09-17Buckley Miller Wright UNQUALIFIED71Stephen Shaw
1041Jefferson M RulapaughCanada2026-09-25King, Christopher A Esq RENEWAL46Stephen Shaw
1042Mujtaba C BriddickBrazil2026-09-24Dorl, James J Esq QUALIFIED2Ivan Magalhaes
1043Leja Y StensethRussia2026-09-27Rousseaux, Michael Esq QUALIFIED79Ivan Magalhaes
1044Greenwood N RimFrance2026-09-20Commercial Press PROPOSAL67Anna Fali
1045Aruna O GillianBrazil2026-10-10Rangoni Of Florence NEGOTIATION79Elwin Sharvill
1046Ricardo A MorascaFrance2026-09-22Rangoni Of Florence PROPOSAL98Amy Elsner
1047David P CaldareraFrance2026-10-09King, Christopher A Esq RENEWAL5Anna Fali
1048Deepesh V OldroydJapan2026-09-13Morlong Associates UNQUALIFIED59Xuxue Feng
1049Adams Z MarrierRussia2026-10-05Morlong Associates NEW81Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy X GauchoCanadaIvan Magalhaes PROPOSAL
Leon G AmigonAustraliaAsiya Javayant PROPOSAL
Jones T CampainSpainBernardo Dominic QUALIFIED
Johnson F WhobreyJapanAmy Elsner RENEWAL
Maisha S ShinkoGermanyElwin Sharvill UNQUALIFIED
Aika Z RimItalyIoni Bowcher NEW
Chavez Y GauchoItalyXuxue Feng UNQUALIFIED
Sinclair Y FollerGermanyAsiya Javayant NEGOTIATION
Smith A RoysterSpainIoni Bowcher RENEWAL
Aditya I MacleadCanadaIoni Bowcher PROPOSAL
Greenwood X FigeroaCanadaElwin Sharvill QUALIFIED
Juan U WieserCanadaAnna Fali UNQUALIFIED
Kadeem C FigeroaJapanBernardo Dominic UNQUALIFIED
Leon D RoysterBrazilIoni Bowcher QUALIFIED
Kadeem E PoquetteItalyOnyama Limba NEW
Ashley J RulapaughArgentinaElwin Sharvill RENEWAL
Salvatore J SaylorsCanadaAnna Fali UNQUALIFIED
Maisha M GillianGermanyBernardo Dominic RENEWAL
Johnson L IturbideUnited KingdomXuxue Feng UNQUALIFIED
Nicolas M WhobreyJapanAmy Elsner NEW
Smith I FollerIndiaStephen Shaw NEGOTIATION
Maria D FigeroaSpainStephen Shaw UNQUALIFIED
Isabel N NestleAustraliaIoni Bowcher RENEWAL
Deepesh W GlickSpainBernardo Dominic NEW
Jefferson K FlosiCanadaIvan Magalhaes NEGOTIATION
Morrow Y CaudyItalyXuxue Feng NEW
Morrow T CaudyArgentinaStephen Shaw QUALIFIED
Greenwood L ButtRussiaBernardo Dominic PROPOSAL
Jennifer S BowleyFranceBernardo Dominic UNQUALIFIED
Kaitlin F MaletIndiaElwin Sharvill NEGOTIATION
Claire X PoquetteArgentinaOnyama Limba PROPOSAL
Maisha D OldroydAustraliaIvan Magalhaes NEGOTIATION
Alejandro H ButtBrazilIoni Bowcher QUALIFIED
Arvin X WaycottArgentinaIoni Bowcher UNQUALIFIED
Deepesh D AmigonFranceStephen Shaw RENEWAL
Sinclair G NickaFranceOnyama Limba UNQUALIFIED
Ivar D CaldareraFranceIoni Bowcher NEW
James V MaletArgentinaElwin Sharvill NEW
Kadeem O SergiRussiaAnna Fali RENEWAL
James D ShinkoArgentinaStephen Shaw RENEWAL
Jefferson F WhobreyFranceAmy Elsner QUALIFIED
Juan O StockhamFranceBernardo Dominic PROPOSAL
Mayumi F AlbaresBrazilStephen Shaw RENEWAL
Smith O CaudyArgentinaIvan Magalhaes NEGOTIATION
Johnson I SaylorsSpainOnyama Limba NEW
Sinclair Q WhobreyGermanyAnna Fali UNQUALIFIED
Isabel E PerinFranceXuxue Feng UNQUALIFIED
Jefferson A DilliardArgentinaOnyama Limba RENEWAL
Sinclair Q PoquetteGermanyStephen Shaw NEGOTIATION
Salvatore R RoysterFranceAsiya Javayant NEW
Frozen Columns
Name
Arvin G Amigon
Mayumi E Saylors
Kadeem N Garufi
Kadeem W Kolmetz
Arvin D Wieser
Stacey R Royster
Octavia D Caldarera
Mayumi S Whobrey
Faith S Chui
Aditya H Ostrosky
Wickens R Gaucho
Maisha S Sergi
Izzy X Nicka
Ivar Y Malet
Kadeem F Stockham
Darci B Gillian
Julie Q Whobrey
Jeanfrancois C Shinko
Smith Q Rim
Deepesh A Vocelka
Ivar P Gaucho
Octavia O Slusarski
Aditya V Caldarera
Juan X Doe
Antonio J Garufi
Aika G Maclead
Maisha R Glick
Aditya H Nicka
Adams L Kusko
Chavez P Morasca
David X Albares
Mayumi O Saylors
Aika O Bowley
Chavez U Stenseth
Aditya G Schemmer
Johnson Z Venere
Johnson X Inouye
Rodrigues J Gillian
Aruna K Gaucho
Rodrigues H Dilliard
Jones Q Amigon
Kadeem C Dilliard
Claire L Perin
Adams I Albares
Johnson M Whobrey
Maria Z Albares
Arvin P Gillian
Kaitlin V Bolognia
David D Albares
Silvio D Nicka
IdCountryDate
1000Germany2026-09-12
1001Australia2026-09-24
1002United Kingdom2026-10-04
1003Russia2026-10-03
1004India2026-10-07
1005Argentina2026-10-04
1006Australia2026-09-24
1007Spain2026-10-04
1008Japan2026-09-29
1009Japan2026-09-28
1010Spain2026-09-13
1011Canada2026-10-09
1012India2026-10-03
1013Germany2026-09-30
1014France2026-10-02
1015Spain2026-09-15
1016France2026-09-17
1017Italy2026-09-25
1018India2026-09-18
1019United Kingdom2026-09-18
1020Brazil2026-09-29
1021Italy2026-09-22
1022Australia2026-09-24
1023Italy2026-10-10
1024Canada2026-09-18
1025Japan2026-09-27
1026Canada2026-09-13
1027Italy2026-10-05
1028Spain2026-10-04
1029Australia2026-09-17
1030Australia2026-09-20
1031France2026-09-18
1032Canada2026-10-01
1033Brazil2026-10-02
1034Canada2026-09-16
1035Russia2026-10-02
1036Russia2026-09-25
1037Australia2026-10-03
1038Germany2026-09-19
1039Argentina2026-09-27
1040India2026-09-23
1041United Kingdom2026-09-20
1042Spain2026-10-04
1043Brazil2026-09-20
1044Spain2026-09-17
1045Russia2026-10-02
1046Italy2026-09-27
1047Canada2026-10-05
1048Australia2026-09-16
1049Argentina2026-09-11

On-Demand Data

NameIdCountryDate
Alejandro F Ostrosky1000France2026-09-28
Sinclair K Campain1001India2026-10-01
Jeanfrancois Z Gaucho1002Italy2026-10-03
Claire Y Albares1003Germany2026-09-21
Leja T Inouye1004Germany2026-10-03
Munro D Doe1005Spain2026-09-25
Ricardo T Campain1006Canada2026-10-01
Jeanfrancois O Vocelka1007France2026-10-07
James X Ruta1008Italy2026-10-07
Juan E Albares1009Spain2026-09-11
Stacey V Ostrosky1010Australia2026-09-23
Salvatore C Figeroa1011Argentina2026-10-01
Tony T Waycott1012Spain2026-09-20
Mujtaba T Malet1013Russia2026-09-16
Deepesh H Morasca1014Spain2026-09-26
Isabel I Perin1015Brazil2026-09-28
Leon Z Caldarera1016United Kingdom2026-09-28
Leon S Maclead1017Argentina2026-09-11
Claire Z Foller1018Spain2026-09-30
Octavia R Perin1019Brazil2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer W NickaUnited KingdomIvan Magalhaes PROPOSAL
Ricardo U ShinkoUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois W PoquetteFranceAnna Fali RENEWAL
Cody Z IturbideFranceIoni Bowcher NEW
Tony U DilliardCanadaAsiya Javayant NEW
Juan U BologniaJapanAnna Fali NEW
Morrow N IturbideRussiaIoni Bowcher QUALIFIED
Jones G AmigonSpainAsiya Javayant QUALIFIED
Maisha G FollerArgentinaAnna Fali NEW
Ashley Z PaprockiBrazilStephen Shaw UNQUALIFIED
Leja U FigeroaFranceAsiya Javayant RENEWAL
Adams Q KuskoJapanAnna Fali NEW
Cody Y ShinkoItalyElwin Sharvill NEGOTIATION
David P RimItalyXuxue Feng NEW
Morrow H WieserItalyBernardo Dominic NEGOTIATION
Silvio D FigeroaArgentinaAnna Fali QUALIFIED
Emily X BowleyBrazilIoni Bowcher QUALIFIED
Mujtaba C PerinRussiaIoni Bowcher RENEWAL
Sinclair Z StockhamCanadaXuxue Feng PROPOSAL
Aditya F GauchoUnited KingdomElwin Sharvill QUALIFIED
Stacey M KuskoUnited KingdomAmy Elsner NEGOTIATION
Maria X StockhamAustraliaIvan Magalhaes NEGOTIATION
Stacey X SergiIndiaAmy Elsner QUALIFIED
Morrow W NickaGermanyAmy Elsner RENEWAL
Leon S DoeSpainIoni Bowcher PROPOSAL
Adams K GillianRussiaIvan Magalhaes PROPOSAL
Jennifer G BowleyRussiaStephen Shaw QUALIFIED
Smith U ButtIndiaAsiya Javayant NEGOTIATION
Chavez N BologniaCanadaAmy Elsner RENEWAL
Kaitlin J DarakjyAustraliaIvan Magalhaes RENEWAL
Adams Z StockhamUnited KingdomXuxue Feng NEW
James M FigeroaGermanyXuxue Feng NEGOTIATION
Jennifer T NickaAustraliaIoni Bowcher RENEWAL
Ivar R OstroskySpainAmy Elsner NEW
Silvio H CaldareraFranceIvan Magalhaes UNQUALIFIED
Aika L MaletCanadaAmy Elsner UNQUALIFIED
Antonio W FigeroaIndiaXuxue Feng NEW
Antonio X PerinFranceAnna Fali RENEWAL
Misaki K AlbaresAustraliaXuxue Feng UNQUALIFIED
Silvio A GillianSpainAmy Elsner 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>