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
Murillo X PerinArgentinaAmy Elsner QUALIFIED
Cody V GauchoUnited KingdomStephen Shaw UNQUALIFIED
James T NickaGermanyAnna Fali NEW
Jeanfrancois R DoeGermanyAnna Fali RENEWAL
Stacey H BowleyCanadaIoni Bowcher RENEWAL
Ricardo S FerenczBrazilIoni Bowcher PROPOSAL
Julie X KuskoJapanOnyama Limba RENEWAL
Claire M DilliardGermanyXuxue Feng NEW
Juan Z DarakjyItalyOnyama Limba PROPOSAL
Ashley J DarakjySpainAsiya Javayant NEW
Ivar M BologniaSpainBernardo Dominic RENEWAL
Ricardo V NickaRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois C KuskoJapanXuxue Feng PROPOSAL
Clifford W IturbideRussiaElwin Sharvill UNQUALIFIED
Leja X MarrierCanadaStephen Shaw UNQUALIFIED
Antonio R GillianRussiaStephen Shaw QUALIFIED
Jennifer Y CaldareraItalyIvan Magalhaes QUALIFIED
Emily R CampainCanadaIoni Bowcher NEW
Leon B WhobreyGermanyIoni Bowcher NEGOTIATION
Emily D DilliardFranceAmy Elsner PROPOSAL
Maria V GlickArgentinaBernardo Dominic NEGOTIATION
Rodrigues Q DoeRussiaAsiya Javayant QUALIFIED
Jennifer I MaletAustraliaElwin Sharvill QUALIFIED
Morrow E BologniaGermanyIoni Bowcher NEW
Mayumi T SchemmerBrazilStephen Shaw UNQUALIFIED
Smith V GlickCanadaElwin Sharvill NEGOTIATION
Claire E PaprockiUnited KingdomAmy Elsner RENEWAL
Antonio E FerenczIndiaBernardo Dominic RENEWAL
Emily Z BologniaSpainIvan Magalhaes NEGOTIATION
Munro L SergiCanadaElwin Sharvill PROPOSAL
Octavia U ButtFranceOnyama Limba UNQUALIFIED
Leja M PoquetteRussiaElwin Sharvill PROPOSAL
Octavia H RutaCanadaIvan Magalhaes NEW
Francesco N RimGermanyBernardo Dominic NEGOTIATION
Jones L DilliardArgentinaIoni Bowcher NEGOTIATION
Adams Q PaprockiCanadaBernardo Dominic QUALIFIED
Smith Y CaudyFranceElwin Sharvill QUALIFIED
Johnson F BologniaRussiaIoni Bowcher UNQUALIFIED
Clifford E FigeroaCanadaXuxue Feng QUALIFIED
Morrow H RutaJapanIvan Magalhaes RENEWAL
Jones Z StensethAustraliaXuxue Feng RENEWAL
Smith K GauchoJapanBernardo Dominic NEW
Smith N RulapaughGermanyOnyama Limba NEW
Costa O MarrierJapanAnna Fali NEW
Izzy N StockhamFranceAsiya Javayant UNQUALIFIED
Leja Q CampainGermanyXuxue Feng UNQUALIFIED
Jennifer A WhobreyAustraliaXuxue Feng UNQUALIFIED
David G RoysterItalyIoni Bowcher PROPOSAL
Julie Y CampainAustraliaOnyama Limba PROPOSAL
Darci X FollerCanadaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro I BriddickCanadaBernardo Dominic NEW
Greenwood C SergiGermanyAmy Elsner QUALIFIED
Chavez Y ButtArgentinaIoni Bowcher RENEWAL
Kaitlin E CaudySpainStephen Shaw UNQUALIFIED
Salvatore A IturbideIndiaAsiya Javayant UNQUALIFIED
Ricardo N FlosiJapanIoni Bowcher PROPOSAL
Murillo K GillianFranceBernardo Dominic PROPOSAL
Nicolas B SergiArgentinaIoni Bowcher UNQUALIFIED
Darci C BowleyCanadaElwin Sharvill NEW
Morrow E CaldareraJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer U WieserIndia2026-10-08Chemel, James L Cpa PROPOSAL6Stephen Shaw
1001David C SergiFrance2026-09-30Rangoni Of Florence PROPOSAL13Bernardo Dominic
1002Chavez J PoquetteSpain2026-10-05Rousseaux, Michael Esq PROPOSAL34Amy Elsner
1003Antonio L WhobreyIndia2026-10-27Buckley Miller Wright PROPOSAL57Elwin Sharvill
1004Arvin W AmigonIndia2026-10-18Morlong Associates NEW90Elwin Sharvill
1005Maria H SchemmerUnited Kingdom2026-10-10Dorl, James J Esq UNQUALIFIED91Stephen Shaw
1006Clifford G DoeRussia2026-10-19Truhlar And Truhlar Attys UNQUALIFIED23Xuxue Feng
1007Kadeem W FollerBrazil2026-10-15Printing Dimensions PROPOSAL93Stephen Shaw
1008Octavia T FollerJapan2026-10-23Benton, John B Jr NEW75Amy Elsner
1009Silvio R BowleyUnited Kingdom2026-10-17King, Christopher A Esq NEW16Asiya Javayant
1010Rodrigues R TollnerItaly2026-10-13Chanay, Jeffrey A Esq PROPOSAL52Ivan Magalhaes
1011Maisha G CampainGermany2026-10-18Dorl, James J Esq RENEWAL75Anna Fali
1012Jefferson M MaletSpain2026-10-22Rousseaux, Michael Esq RENEWAL79Bernardo Dominic
1013Deepesh W SaylorsCanada2026-10-16Chapman, Ross E Esq PROPOSAL13Stephen Shaw
1014Ricardo B SaylorsItaly2026-10-08King, Christopher A Esq RENEWAL3Xuxue Feng
1015Ashley E OstroskyUnited Kingdom2026-10-21Dorl, James J Esq NEW21Asiya Javayant
1016Maria H BowleySpain2026-10-04Chemel, James L Cpa PROPOSAL21Asiya Javayant
1017Murillo Q SchemmerGermany2026-10-14Chemel, James L Cpa RENEWAL48Asiya Javayant
1018Misaki M RulapaughGermany2026-10-22Feltz Printing Service PROPOSAL21Onyama Limba
1019Deepesh R ChuiCanada2026-10-02Benton, John B Jr QUALIFIED57Amy Elsner
1020Silvio H DilliardArgentina2026-10-06Truhlar And Truhlar Attys NEGOTIATION99Stephen Shaw
1021Johnson E NestleUnited Kingdom2026-10-07Rangoni Of Florence UNQUALIFIED87Xuxue Feng
1022Stacey K BologniaFrance2026-10-09Chapman, Ross E Esq QUALIFIED63Xuxue Feng
1023Ashley A TollnerBrazil2026-10-21Printing Dimensions QUALIFIED40Xuxue Feng
1024Darci E StockhamRussia2026-10-14Rangoni Of Florence RENEWAL67Anna Fali
1025Julie S MacleadAustralia2026-10-17Printing Dimensions NEW27Stephen Shaw
1026Kaitlin U CaldareraArgentina2026-10-21Commercial Press UNQUALIFIED68Onyama Limba
1027Morrow U KuskoUnited Kingdom2026-10-27Chemel, James L Cpa NEW25Xuxue Feng
1028Deepesh K RimGermany2026-10-20King, Christopher A Esq UNQUALIFIED55Ioni Bowcher
1029Nicolas G BowleyRussia2026-10-10Dorl, James J Esq QUALIFIED89Anna Fali
1030Morrow L FerenczJapan2026-10-15Truhlar And Truhlar Attys QUALIFIED81Amy Elsner
1031Leja I StockhamCanada2026-10-04Printing Dimensions NEW40Xuxue Feng
1032Aditya F StensethUnited Kingdom2026-10-10Morlong Associates QUALIFIED24Anna Fali
1033Adams X AlbaresItaly2026-10-18King, Christopher A Esq QUALIFIED7Xuxue Feng
1034Costa W ShinkoSpain2026-09-30Benton, John B Jr PROPOSAL72Bernardo Dominic
1035Adams N VocelkaItaly2026-10-20Chapman, Ross E Esq NEW47Asiya Javayant
1036Claire N WaycottArgentina2026-10-16Truhlar And Truhlar Attys NEGOTIATION51Anna Fali
1037Tony W GlickUnited Kingdom2026-10-04Rangoni Of Florence RENEWAL49Ioni Bowcher
1038Izzy H FerenczGermany2026-10-24Feiner Bros PROPOSAL92Xuxue Feng
1039Alejandro E ButtBrazil2026-10-06Feiner Bros NEW6Anna Fali
1040Chavez Z MaletSpain2026-10-12Rangoni Of Florence NEW58Ivan Magalhaes
1041Mujtaba A PoquetteJapan2026-09-29Chanay, Jeffrey A Esq PROPOSAL86Xuxue Feng
1042Adams H PerinSpain2026-10-05Printing Dimensions NEGOTIATION10Asiya Javayant
1043Julie Z GauchoRussia2026-10-23Buckley Miller Wright QUALIFIED20Ioni Bowcher
1044Mayumi S SaylorsIndia2026-10-12Feiner Bros RENEWAL7Amy Elsner
1045Murillo B DarakjyJapan2026-10-19Rousseaux, Michael Esq UNQUALIFIED10Xuxue Feng
1046Izzy M SlusarskiItaly2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED64Anna Fali
1047Nicolas Z CampainUnited Kingdom2026-10-10Buckley Miller Wright RENEWAL4Elwin Sharvill
1048Jennifer M RimFrance2026-10-13Feltz Printing Service RENEWAL88Elwin Sharvill
1049Claire W NestleSpain2026-10-07Morlong Associates NEW78Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Chavez K WaycottUnited KingdomIoni Bowcher NEGOTIATION
Deepesh J OldroydAustraliaBernardo Dominic UNQUALIFIED
Tony Q GillianBrazilIoni Bowcher RENEWAL
Salvatore Q CaldareraUnited KingdomAmy Elsner RENEWAL
Jeanfrancois K MaletGermanyAnna Fali RENEWAL
Clifford G GlickJapanOnyama Limba UNQUALIFIED
Francesco A AlbaresBrazilStephen Shaw RENEWAL
Clifford E StensethIndiaBernardo Dominic RENEWAL
Greenwood N GillianArgentinaAsiya Javayant NEW
Adams Q MaletRussiaAnna Fali UNQUALIFIED
Jennifer G PoquetteUnited KingdomIoni Bowcher NEW
David Z WaycottRussiaXuxue Feng UNQUALIFIED
Aruna F PaprockiBrazilOnyama Limba NEGOTIATION
Jeanfrancois K SlusarskiRussiaXuxue Feng UNQUALIFIED
Leon V IturbideArgentinaOnyama Limba NEW
Leon K SchemmerIndiaOnyama Limba NEW
Ricardo C FigeroaFranceIvan Magalhaes PROPOSAL
Ivar W BologniaSpainAsiya Javayant PROPOSAL
Wickens K MaletGermanyElwin Sharvill QUALIFIED
Francesco C RimArgentinaXuxue Feng UNQUALIFIED
Rodrigues V PerinAustraliaOnyama Limba PROPOSAL
Darci W FerenczJapanStephen Shaw NEW
Kadeem W WieserUnited KingdomAnna Fali RENEWAL
Kaitlin G MaletAustraliaAsiya Javayant NEW
Isabel T MarrierCanadaIvan Magalhaes NEW
Morrow G GillianBrazilBernardo Dominic RENEWAL
Silvio N DoeIndiaIvan Magalhaes QUALIFIED
Salvatore F CaudyRussiaAnna Fali NEW
Tony N RoysterArgentinaOnyama Limba NEW
Nicolas G SergiJapanIoni Bowcher UNQUALIFIED
Morrow W SchemmerUnited KingdomXuxue Feng RENEWAL
Ashley C CaldareraAustraliaStephen Shaw NEGOTIATION
Isabel C MaletBrazilBernardo Dominic NEGOTIATION
Aditya L BologniaSpainAmy Elsner QUALIFIED
Faith R AmigonIndiaIoni Bowcher UNQUALIFIED
Octavia B GlickFranceIvan Magalhaes RENEWAL
Leon Q WhobreyFranceIoni Bowcher RENEWAL
Sinclair O BriddickAustraliaElwin Sharvill NEW
Aika W VenereUnited KingdomIvan Magalhaes RENEWAL
Cody C AlbaresItalyAsiya Javayant PROPOSAL
Alejandro B StockhamIndiaAnna Fali UNQUALIFIED
Alejandro K NestleJapanXuxue Feng PROPOSAL
Leon H MorascaItalyXuxue Feng NEW
Kaitlin T ShinkoJapanIoni Bowcher QUALIFIED
Greenwood R ShinkoFranceXuxue Feng NEGOTIATION
Johnson E KolmetzItalyBernardo Dominic QUALIFIED
Murillo Z CampainIndiaIoni Bowcher PROPOSAL
Munro N PoquetteAustraliaStephen Shaw PROPOSAL
Aruna P ButtSpainAmy Elsner UNQUALIFIED
Octavia A KuskoJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Silvio O Butt
Octavia T Albares
Izzy U Glick
Leja A Bolognia
Mujtaba B Morasca
Faith W Caldarera
Alejandro X Tollner
Jeanfrancois T Waycott
Johnson I Darakjy
Deepesh Q Stenseth
Munro T Iturbide
Munro E Campain
Emily P Dilliard
Johnson W Vocelka
Ivar X Flosi
Rodrigues C Albares
Aika N Foller
Murillo R Gillian
Ricardo P Poquette
Emily W Foller
Kadeem G Inouye
Julie R Bowley
Nicolas W Perin
Mujtaba L Wieser
Maisha Q Campain
Jennifer P Chui
Ivar U Bolognia
Claire O Malet
Tony N Garufi
Arvin S Amigon
Stacey E Sergi
Leja C Campain
Salvatore B Kusko
Darci A Darakjy
Mujtaba P Venere
Chavez P Garufi
Mujtaba W Vocelka
Octavia L Gillian
Kadeem M Malet
Costa R Campain
Adams T Saylors
Jefferson I Dilliard
Kaitlin V Glick
Jeanfrancois O Whobrey
Faith F Amigon
David Q Sergi
Salvatore R Slusarski
Claire I Oldroyd
Julie K Waycott
Aika S Paprocki
IdCountryDate
1000Brazil2026-10-20
1001Australia2026-10-06
1002India2026-10-06
1003United Kingdom2026-10-19
1004Japan2026-09-29
1005United Kingdom2026-10-16
1006Russia2026-10-22
1007Russia2026-10-09
1008Germany2026-10-05
1009Argentina2026-10-04
1010Argentina2026-09-30
1011India2026-10-17
1012Russia2026-10-03
1013Spain2026-10-20
1014France2026-10-21
1015Russia2026-10-07
1016Brazil2026-10-10
1017Russia2026-10-24
1018United Kingdom2026-10-12
1019Germany2026-10-14
1020France2026-10-16
1021Australia2026-10-26
1022United Kingdom2026-10-25
1023Japan2026-10-08
1024Italy2026-10-24
1025Canada2026-10-03
1026Japan2026-10-19
1027Japan2026-10-03
1028India2026-10-11
1029France2026-10-15
1030Spain2026-10-24
1031Italy2026-10-13
1032India2026-10-01
1033Argentina2026-10-13
1034India2026-09-29
1035France2026-09-29
1036Germany2026-09-28
1037Italy2026-10-08
1038Russia2026-10-02
1039Italy2026-10-25
1040India2026-10-07
1041India2026-10-16
1042United Kingdom2026-10-13
1043France2026-10-19
1044India2026-10-21
1045Italy2026-10-09
1046Italy2026-10-19
1047France2026-09-29
1048Brazil2026-10-23
1049United Kingdom2026-10-10

On-Demand Data

NameIdCountryDate
Aruna W Kolmetz1000Canada2026-10-20
David V Waycott1001India2026-10-22
Cody F Shinko1002Italy2026-10-23
Arvin W Morasca1003Italy2026-09-28
Maria I Glick1004Japan2026-10-10
Isabel A Gaucho1005Germany2026-10-11
Emily Z Marrier1006Australia2026-10-05
Sinclair T Ruta1007Italy2026-10-26
Stacey Q Perin1008France2026-10-04
Francesco U Doe1009Argentina2026-10-02
Leja T Shinko1010United Kingdom2026-10-24
Stacey X Sergi1011Canada2026-10-19
Greenwood I Caldarera1012Japan2026-10-14
Salvatore J Saylors1013Italy2026-10-02
Morrow H Butt1014Argentina2026-10-22
James M Saylors1015Italy2026-10-24
Jeanfrancois M Figeroa1016Brazil2026-10-04
Adams Z Rulapaugh1017United Kingdom2026-10-04
Darci G Briddick1018France2026-10-24
Izzy A Campain1019Australia2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer O NickaJapanAmy Elsner NEW
Isabel N NickaBrazilAmy Elsner NEW
Costa F PoquetteRussiaBernardo Dominic PROPOSAL
James Q SchemmerAustraliaStephen Shaw UNQUALIFIED
Leja H AmigonFranceAmy Elsner UNQUALIFIED
Jeanfrancois T BowleyCanadaIvan Magalhaes PROPOSAL
Silvio Y BologniaJapanAnna Fali PROPOSAL
Maisha C OldroydSpainIvan Magalhaes UNQUALIFIED
Kadeem E WhobreyBrazilXuxue Feng UNQUALIFIED
Jefferson I IturbideCanadaIoni Bowcher RENEWAL
Mayumi S StockhamRussiaBernardo Dominic RENEWAL
Stacey E IturbideItalyStephen Shaw PROPOSAL
James B AlbaresSpainAsiya Javayant PROPOSAL
Mayumi Y ChuiAustraliaAsiya Javayant NEGOTIATION
Mujtaba Q AmigonJapanStephen Shaw PROPOSAL
Chavez C WieserItalyIvan Magalhaes NEW
Chavez T RulapaughIndiaElwin Sharvill NEW
Aditya I SchemmerGermanyAnna Fali NEW
Ashley Y MaletUnited KingdomAmy Elsner PROPOSAL
Francesco W WaycottJapanAmy Elsner UNQUALIFIED
Rodrigues A FigeroaSpainOnyama Limba NEW
Cody O MacleadBrazilAnna Fali RENEWAL
Deepesh G GlickItalyIoni Bowcher QUALIFIED
Smith F MaletRussiaBernardo Dominic RENEWAL
David W NickaItalyOnyama Limba NEGOTIATION
Juan V MaletBrazilOnyama Limba NEW
Julie T InouyeJapanElwin Sharvill NEGOTIATION
Leja Q CaldareraGermanyAnna Fali RENEWAL
Clifford O BologniaFranceElwin Sharvill QUALIFIED
Munro F CampainJapanAnna Fali QUALIFIED
Aika R SchemmerCanadaAsiya Javayant NEW
Sinclair L FerenczArgentinaElwin Sharvill UNQUALIFIED
Morrow H RutaArgentinaIoni Bowcher NEW
Sinclair E MorascaArgentinaIvan Magalhaes QUALIFIED
Wickens P MaletBrazilBernardo Dominic PROPOSAL
Jefferson B PaprockiAustraliaBernardo Dominic PROPOSAL
Kadeem O WieserJapanIoni Bowcher PROPOSAL
Kadeem R FollerFranceElwin Sharvill NEW
Julie R StensethCanadaAmy Elsner NEW
Jefferson I FerenczArgentinaAmy Elsner RENEWAL

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