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
Aruna L InouyeGermanyBernardo Dominic QUALIFIED
David O TollnerItalyOnyama Limba RENEWAL
Silvio R GarufiBrazilIvan Magalhaes RENEWAL
Jefferson F DilliardIndiaAsiya Javayant QUALIFIED
Chavez J GillianCanadaStephen Shaw NEGOTIATION
Mujtaba N RutaBrazilBernardo Dominic NEGOTIATION
Antonio U DarakjySpainStephen Shaw NEW
Maria P WaycottAustraliaIoni Bowcher RENEWAL
Stacey H GarufiCanadaIvan Magalhaes QUALIFIED
Octavia N WieserArgentinaIvan Magalhaes PROPOSAL
Aditya B NestleArgentinaAsiya Javayant NEGOTIATION
Nicolas K NestleUnited KingdomBernardo Dominic RENEWAL
Emily G DarakjyJapanIvan Magalhaes QUALIFIED
Sinclair J MaletCanadaElwin Sharvill RENEWAL
Kaitlin Q ShinkoFranceAmy Elsner NEGOTIATION
Salvatore R MorascaSpainOnyama Limba QUALIFIED
Clifford P SlusarskiSpainAsiya Javayant UNQUALIFIED
Sinclair I RulapaughGermanyElwin Sharvill RENEWAL
Deepesh Q WieserFranceXuxue Feng PROPOSAL
Octavia K RoysterAustraliaAnna Fali QUALIFIED
David M BowleyUnited KingdomStephen Shaw UNQUALIFIED
Darci X NestleUnited KingdomAnna Fali NEW
Adams G ShinkoFranceBernardo Dominic RENEWAL
Antonio F MaletIndiaAmy Elsner UNQUALIFIED
Emily L BriddickGermanyXuxue Feng QUALIFIED
Morrow Y AlbaresBrazilAmy Elsner QUALIFIED
Aditya G WhobreyUnited KingdomXuxue Feng NEW
Faith S CaldareraItalyXuxue Feng UNQUALIFIED
Kaitlin Y BologniaFranceAmy Elsner RENEWAL
Maria U SchemmerRussiaIvan Magalhaes PROPOSAL
Chavez B DarakjyBrazilElwin Sharvill PROPOSAL
Maisha Y WaycottItalyOnyama Limba NEW
Maria V CaldareraIndiaIvan Magalhaes PROPOSAL
Kadeem Q WaycottItalyXuxue Feng QUALIFIED
Rodrigues D RoysterCanadaBernardo Dominic UNQUALIFIED
Antonio E FlosiRussiaOnyama Limba PROPOSAL
Cody V StockhamAustraliaElwin Sharvill PROPOSAL
Greenwood I GauchoRussiaBernardo Dominic PROPOSAL
Jennifer E NestleFranceOnyama Limba NEGOTIATION
Costa I RutaArgentinaIoni Bowcher NEW
Costa N AmigonUnited KingdomIoni Bowcher RENEWAL
Smith I WhobreyCanadaBernardo Dominic QUALIFIED
Claire S VenereItalyAmy Elsner NEW
Francesco B StockhamRussiaOnyama Limba RENEWAL
Antonio T PoquetteSpainIvan Magalhaes PROPOSAL
Aika X CaldareraItalyBernardo Dominic UNQUALIFIED
Johnson P MaletItalyIvan Magalhaes NEW
Claire R WaycottIndiaElwin Sharvill QUALIFIED
Stacey B ShinkoArgentinaIvan Magalhaes NEGOTIATION
Maisha B AlbaresCanadaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci V GarufiSpainIvan Magalhaes PROPOSAL
Kadeem F NestleRussiaBernardo Dominic QUALIFIED
Izzy B PaprockiFranceAnna Fali QUALIFIED
Isabel J BriddickItalyAsiya Javayant NEW
Maria E SchemmerCanadaAnna Fali QUALIFIED
Deepesh U CaldareraItalyAnna Fali NEW
Nicolas H CampainCanadaXuxue Feng UNQUALIFIED
Claire Q SaylorsGermanyOnyama Limba NEW
Aika D DilliardFranceAnna Fali UNQUALIFIED
Leja X KuskoItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones O GauchoAustralia2026-10-14Chanay, Jeffrey A Esq NEW79Xuxue Feng
1001Greenwood K TollnerCanada2026-10-30Rangoni Of Florence RENEWAL75Onyama Limba
1002Francesco R ShinkoGermany2026-11-05Truhlar And Truhlar Attys RENEWAL9Elwin Sharvill
1003Maria C ChuiUnited Kingdom2026-10-11Rousseaux, Michael Esq QUALIFIED82Ivan Magalhaes
1004Clifford W FollerGermany2026-10-27Rousseaux, Michael Esq NEW75Elwin Sharvill
1005Jeanfrancois N StockhamBrazil2026-10-28Printing Dimensions UNQUALIFIED40Bernardo Dominic
1006Deepesh H FerenczCanada2026-10-10Commercial Press NEGOTIATION50Ioni Bowcher
1007Misaki C PaprockiItaly2026-11-06Rousseaux, Michael Esq NEW74Ioni Bowcher
1008Kadeem D RutaIndia2026-10-18Chanay, Jeffrey A Esq PROPOSAL98Anna Fali
1009Cody M MaletCanada2026-11-07Morlong Associates NEW1Bernardo Dominic
1010Ashley O NestleArgentina2026-10-20Printing Dimensions PROPOSAL87Bernardo Dominic
1011Salvatore E PoquetteArgentina2026-10-31Rousseaux, Michael Esq RENEWAL34Ivan Magalhaes
1012Chavez R BologniaBrazil2026-10-20Buckley Miller Wright PROPOSAL74Bernardo Dominic
1013Deepesh I SlusarskiArgentina2026-10-15Feltz Printing Service PROPOSAL11Anna Fali
1014Aruna Z AmigonJapan2026-11-05Commercial Press QUALIFIED53Stephen Shaw
1015Francesco A DarakjyRussia2026-10-21Feltz Printing Service NEGOTIATION66Elwin Sharvill
1016Octavia C AlbaresArgentina2026-10-25Chapman, Ross E Esq QUALIFIED76Asiya Javayant
1017Aditya K FlosiFrance2026-10-15Chapman, Ross E Esq RENEWAL15Stephen Shaw
1018James H KuskoRussia2026-10-13Truhlar And Truhlar Attys PROPOSAL77Ivan Magalhaes
1019Aika B MacleadRussia2026-10-30Chanay, Jeffrey A Esq QUALIFIED4Amy Elsner
1020Darci G GauchoUnited Kingdom2026-10-25Feiner Bros NEW94Anna Fali
1021Salvatore E SaylorsIndia2026-10-15Feltz Printing Service NEW22Stephen Shaw
1022Jeanfrancois L ButtBrazil2026-10-18Commercial Press RENEWAL91Asiya Javayant
1023Maria X RulapaughBrazil2026-10-24Morlong Associates UNQUALIFIED6Bernardo Dominic
1024Deepesh M FerenczCanada2026-10-28Feiner Bros PROPOSAL8Elwin Sharvill
1025Julie R BriddickIndia2026-10-23Dorl, James J Esq NEGOTIATION6Onyama Limba
1026Wickens X MarrierCanada2026-11-07Printing Dimensions UNQUALIFIED76Anna Fali
1027Stacey V NickaIndia2026-11-05Chanay, Jeffrey A Esq NEGOTIATION64Onyama Limba
1028Kaitlin P CampainIndia2026-11-06Feltz Printing Service NEW60Amy Elsner
1029Deepesh M PaprockiJapan2026-10-17King, Christopher A Esq UNQUALIFIED69Ivan Magalhaes
1030Clifford V InouyeFrance2026-10-19Morlong Associates NEGOTIATION88Stephen Shaw
1031Nicolas Z SlusarskiArgentina2026-10-15Feltz Printing Service UNQUALIFIED58Asiya Javayant
1032Chavez G RimGermany2026-10-20Rousseaux, Michael Esq RENEWAL43Elwin Sharvill
1033Stacey W PerinRussia2026-10-10Truhlar And Truhlar Attys NEW64Asiya Javayant
1034Murillo A PerinIndia2026-11-04Feiner Bros NEW42Onyama Limba
1035Aika X AmigonUnited Kingdom2026-10-12Printing Dimensions PROPOSAL94Asiya Javayant
1036Juan F RutaGermany2026-11-05Chanay, Jeffrey A Esq RENEWAL40Xuxue Feng
1037Maria I KuskoRussia2026-10-10Chemel, James L Cpa UNQUALIFIED83Onyama Limba
1038Sinclair E DarakjyRussia2026-10-26Morlong Associates NEGOTIATION92Stephen Shaw
1039Cody B FlosiGermany2026-10-19Rangoni Of Florence QUALIFIED72Stephen Shaw
1040Leon P CaldareraRussia2026-11-08Dorl, James J Esq RENEWAL1Onyama Limba
1041Greenwood M SlusarskiFrance2026-10-13Commercial Press QUALIFIED35Onyama Limba
1042Leja G BriddickJapan2026-10-18Dorl, James J Esq NEGOTIATION68Amy Elsner
1043Greenwood N MaletUnited Kingdom2026-10-18Chemel, James L Cpa QUALIFIED2Amy Elsner
1044Aika C AmigonJapan2026-10-23Printing Dimensions UNQUALIFIED82Bernardo Dominic
1045Isabel Z SaylorsFrance2026-10-10Rousseaux, Michael Esq NEW76Xuxue Feng
1046Ashley Z ShinkoUnited Kingdom2026-10-30Printing Dimensions PROPOSAL19Ioni Bowcher
1047Johnson V MorascaGermany2026-10-15Buckley Miller Wright UNQUALIFIED38Onyama Limba
1048Isabel B DarakjyJapan2026-10-26Rousseaux, Michael Esq QUALIFIED7Stephen Shaw
1049Kadeem F StockhamAustralia2026-10-29Rousseaux, Michael Esq NEW0Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow Q SaylorsFranceStephen Shaw NEW
Cody J AmigonItalyAsiya Javayant NEW
Isabel D OldroydRussiaAnna Fali RENEWAL
Costa T AlbaresGermanyBernardo Dominic UNQUALIFIED
Leon V InouyeRussiaAsiya Javayant UNQUALIFIED
Kadeem K DarakjyIndiaBernardo Dominic PROPOSAL
Morrow C GauchoItalyIvan Magalhaes PROPOSAL
Darci N AmigonUnited KingdomAmy Elsner PROPOSAL
Isabel L FerenczBrazilIoni Bowcher NEGOTIATION
Johnson A DoeArgentinaStephen Shaw NEGOTIATION
Faith A FerenczBrazilAnna Fali PROPOSAL
Jeanfrancois D InouyeIndiaStephen Shaw NEGOTIATION
Tony Y ChuiBrazilXuxue Feng QUALIFIED
Jones L RoysterArgentinaStephen Shaw UNQUALIFIED
Isabel B BologniaCanadaIvan Magalhaes UNQUALIFIED
Leja T NickaBrazilXuxue Feng PROPOSAL
Johnson V FlosiCanadaAsiya Javayant NEW
Costa F BriddickIndiaAsiya Javayant UNQUALIFIED
Emily E PaprockiCanadaBernardo Dominic PROPOSAL
Mayumi C RoysterRussiaBernardo Dominic UNQUALIFIED
James E RulapaughBrazilIoni Bowcher NEW
Chavez J StockhamCanadaAsiya Javayant RENEWAL
Adams M MaletFranceAsiya Javayant PROPOSAL
Mayumi D BriddickIndiaXuxue Feng NEGOTIATION
Kaitlin K PerinJapanXuxue Feng RENEWAL
Juan A SlusarskiGermanyElwin Sharvill NEGOTIATION
Jeanfrancois Y RoysterGermanyIoni Bowcher NEW
Isabel Y OldroydUnited KingdomXuxue Feng QUALIFIED
Ricardo G GarufiGermanyBernardo Dominic NEW
Clifford F RutaArgentinaXuxue Feng QUALIFIED
Silvio U FigeroaIndiaStephen Shaw UNQUALIFIED
Jennifer V ShinkoItalyXuxue Feng NEGOTIATION
Costa S CaldareraRussiaBernardo Dominic NEW
Kaitlin O GauchoAustraliaStephen Shaw NEW
Mujtaba X BriddickBrazilElwin Sharvill QUALIFIED
Kaitlin Q WhobreyItalyXuxue Feng QUALIFIED
Murillo V FigeroaAustraliaXuxue Feng NEGOTIATION
Costa R SchemmerJapanBernardo Dominic RENEWAL
Faith A OstroskyArgentinaOnyama Limba NEW
Costa G FollerRussiaElwin Sharvill NEW
Adams O SaylorsBrazilStephen Shaw NEW
Chavez A BowleyIndiaAnna Fali NEW
Aditya Q AlbaresRussiaAsiya Javayant QUALIFIED
Sinclair R CaldareraFranceAsiya Javayant PROPOSAL
Cody N NickaJapanStephen Shaw NEGOTIATION
Arvin J StockhamUnited KingdomAnna Fali RENEWAL
Maria B WaycottAustraliaBernardo Dominic RENEWAL
Misaki S PerinRussiaElwin Sharvill NEGOTIATION
Leja C TollnerUnited KingdomAnna Fali NEW
Morrow I RulapaughIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Ashley E Whobrey
Aika P Doe
Aditya I Inouye
Aika Y Doe
Morrow K Malet
Ricardo O Amigon
Munro U Gillian
Izzy E Butt
Darci K Campain
Cody B Whobrey
Silvio R Poquette
Arvin L Rulapaugh
Ricardo I Royster
Emily W Waycott
Arvin V Tollner
Murillo O Maclead
Chavez R Marrier
Darci J Caudy
Chavez L Darakjy
Tony A Whobrey
Rodrigues O Darakjy
Octavia I Vocelka
Silvio Q Nestle
Isabel Y Amigon
Tony U Figeroa
Greenwood T Malet
Munro P Albares
Octavia H Whobrey
Aika D Vocelka
Claire J Dilliard
Maria J Maclead
Morrow P Dilliard
Nicolas T Vocelka
Chavez O Whobrey
Salvatore O Waycott
Chavez L Briddick
Tony G Vocelka
Tony V Caldarera
Octavia F Butt
Izzy A Venere
Octavia O Glick
Jones D Gillian
Izzy N Dilliard
Jeanfrancois R Caudy
Leja A Bowley
Smith J Rim
Misaki I Royster
Mayumi B Figeroa
Maisha F Waycott
Antonio E Waycott
IdCountryDate
1000India2026-11-01
1001United Kingdom2026-11-04
1002Australia2026-10-16
1003India2026-10-19
1004Germany2026-10-17
1005Russia2026-10-15
1006Australia2026-10-15
1007Japan2026-10-18
1008Italy2026-10-15
1009Spain2026-10-26
1010Argentina2026-11-06
1011Australia2026-10-12
1012India2026-10-10
1013Spain2026-10-14
1014Brazil2026-10-19
1015United Kingdom2026-10-23
1016Germany2026-10-21
1017United Kingdom2026-10-14
1018Australia2026-10-22
1019Canada2026-11-03
1020Russia2026-10-14
1021India2026-10-18
1022France2026-10-20
1023Canada2026-11-05
1024Argentina2026-10-15
1025Spain2026-10-22
1026India2026-11-07
1027India2026-10-19
1028Argentina2026-10-27
1029United Kingdom2026-11-07
1030India2026-10-10
1031Russia2026-10-28
1032Germany2026-10-13
1033Canada2026-10-29
1034Italy2026-10-13
1035India2026-10-16
1036India2026-11-05
1037Canada2026-10-26
1038Russia2026-10-11
1039Brazil2026-10-16
1040Australia2026-10-16
1041Canada2026-10-29
1042India2026-10-13
1043Spain2026-11-02
1044Brazil2026-10-12
1045Russia2026-11-07
1046United Kingdom2026-11-02
1047Brazil2026-11-01
1048Brazil2026-10-19
1049France2026-10-25

On-Demand Data

NameIdCountryDate
Rodrigues G Tollner1000Japan2026-10-24
Ashley E Malet1001Spain2026-11-04
Faith D Marrier1002Russia2026-11-05
Mayumi I Gaucho1003Germany2026-10-14
Juan O Wieser1004Spain2026-10-24
David L Stockham1005Japan2026-10-12
Ivar M Stenseth1006Japan2026-11-04
Misaki Y Rim1007Canada2026-10-13
Cody U Wieser1008Russia2026-10-16
Wickens K Rulapaugh1009Russia2026-11-03
Silvio I Marrier1010Germany2026-10-14
Leja Q Malet1011Russia2026-11-06
James A Oldroyd1012France2026-10-22
Claire I Dilliard1013Australia2026-10-23
Leon N Shinko1014Japan2026-10-12
Emily L Stockham1015Russia2026-10-22
Arvin E Glick1016Brazil2026-10-31
Aruna D Nicka1017Italy2026-11-01
Aruna T Rulapaugh1018Japan2026-10-28
Clifford L Vocelka1019Japan2026-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire E RutaArgentinaAmy Elsner NEGOTIATION
Leon T FlosiSpainElwin Sharvill PROPOSAL
Jones G BowleyJapanAmy Elsner NEW
James M DilliardIndiaStephen Shaw NEW
Leon T OstroskyItalyIoni Bowcher QUALIFIED
Stacey Q CampainCanadaElwin Sharvill NEGOTIATION
Leon I GauchoFranceIvan Magalhaes QUALIFIED
Julie X WhobreyFranceOnyama Limba RENEWAL
Faith G SlusarskiArgentinaAmy Elsner NEGOTIATION
Cody W DilliardCanadaAsiya Javayant QUALIFIED
Sinclair L AlbaresArgentinaAmy Elsner RENEWAL
Alejandro O KuskoFranceElwin Sharvill QUALIFIED
Silvio O FollerItalyOnyama Limba PROPOSAL
Cody A PaprockiItalyBernardo Dominic UNQUALIFIED
Smith R PaprockiArgentinaAsiya Javayant UNQUALIFIED
Aika M DarakjyRussiaElwin Sharvill UNQUALIFIED
Munro N MaletBrazilAsiya Javayant NEW
Chavez D DarakjyItalyAnna Fali PROPOSAL
Silvio Z RimCanadaIoni Bowcher NEGOTIATION
Leja L SchemmerRussiaElwin Sharvill NEGOTIATION
Izzy Y FollerAustraliaStephen Shaw QUALIFIED
Jennifer N AlbaresCanadaAmy Elsner PROPOSAL
Murillo B KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Clifford X VocelkaBrazilAnna Fali RENEWAL
Julie K CaudyGermanyIoni Bowcher PROPOSAL
Murillo X FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem H GlickArgentinaAsiya Javayant NEW
Leon X MaletGermanyXuxue Feng RENEWAL
James V MacleadRussiaOnyama Limba NEW
Jennifer I StockhamAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois S SchemmerJapanOnyama Limba NEGOTIATION
Jennifer B MaletJapanElwin Sharvill RENEWAL
Adams N FollerBrazilAnna Fali PROPOSAL
Silvio Y AlbaresItalyStephen Shaw PROPOSAL
Juan T SlusarskiItalyElwin Sharvill UNQUALIFIED
Johnson H InouyeRussiaElwin Sharvill RENEWAL
Morrow D BowleyItalyAnna Fali PROPOSAL
Antonio S RimArgentinaIoni Bowcher NEW
Misaki V GarufiAustraliaAnna Fali NEGOTIATION
Jones Q AlbaresSpainElwin Sharvill 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>