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
Morrow D PerinIndiaOnyama Limba QUALIFIED
Aditya W MarrierArgentinaBernardo Dominic UNQUALIFIED
Mujtaba R InouyeItalyIvan Magalhaes PROPOSAL
Misaki W OstroskyBrazilStephen Shaw NEW
Johnson U FlosiIndiaAnna Fali UNQUALIFIED
Morrow X SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Maria O MacleadArgentinaIvan Magalhaes UNQUALIFIED
Tony U BologniaUnited KingdomAnna Fali NEW
Julie H KuskoFranceBernardo Dominic QUALIFIED
Juan L AmigonAustraliaBernardo Dominic UNQUALIFIED
Aruna F KuskoJapanIoni Bowcher RENEWAL
Cody P RoysterArgentinaAnna Fali NEW
Aruna U VenereSpainXuxue Feng UNQUALIFIED
James I SergiUnited KingdomElwin Sharvill PROPOSAL
Misaki D ShinkoGermanyAnna Fali NEGOTIATION
Jefferson R InouyeJapanStephen Shaw UNQUALIFIED
Maria B ChuiJapanBernardo Dominic UNQUALIFIED
James V MarrierFranceBernardo Dominic UNQUALIFIED
Arvin Z NickaItalyAmy Elsner RENEWAL
Greenwood D FlosiRussiaBernardo Dominic NEW
Wickens J StockhamArgentinaOnyama Limba NEGOTIATION
Kaitlin Y StensethSpainOnyama Limba QUALIFIED
Rodrigues M CaudyArgentinaIvan Magalhaes RENEWAL
Aruna N MacleadCanadaIvan Magalhaes UNQUALIFIED
Chavez R GauchoArgentinaElwin Sharvill RENEWAL
Aika H ButtGermanyElwin Sharvill QUALIFIED
David L CaudyJapanIoni Bowcher RENEWAL
Izzy Z GarufiGermanyStephen Shaw QUALIFIED
Aditya D MacleadIndiaAsiya Javayant RENEWAL
Maria N SaylorsRussiaAmy Elsner QUALIFIED
Nicolas M InouyeIndiaOnyama Limba RENEWAL
Munro K RoysterBrazilStephen Shaw QUALIFIED
Kaitlin R KuskoJapanElwin Sharvill NEGOTIATION
Izzy L MacleadCanadaIoni Bowcher RENEWAL
Jefferson I OldroydBrazilElwin Sharvill NEW
Maria H StensethRussiaXuxue Feng NEGOTIATION
Antonio Y ShinkoBrazilAsiya Javayant NEW
Aditya C FollerItalyBernardo Dominic NEGOTIATION
Julie B PaprockiFranceElwin Sharvill UNQUALIFIED
Murillo R RimCanadaStephen Shaw QUALIFIED
Silvio S ButtArgentinaBernardo Dominic PROPOSAL
Jennifer G NickaIndiaBernardo Dominic NEW
Ricardo H NestleGermanyXuxue Feng UNQUALIFIED
Ricardo G WaycottJapanXuxue Feng PROPOSAL
Kadeem X NestleItalyOnyama Limba NEW
James R SchemmerUnited KingdomStephen Shaw QUALIFIED
Misaki R BowleyFranceStephen Shaw NEW
Munro M WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Nicolas Z WhobreyAustraliaAsiya Javayant PROPOSAL
Nicolas Y BowleyFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones I FlosiJapanIvan Magalhaes QUALIFIED
Kadeem M CampainJapanOnyama Limba NEGOTIATION
Claire W FigeroaGermanyOnyama Limba NEW
Jones W KuskoArgentinaIoni Bowcher NEW
Tony F IturbideUnited KingdomOnyama Limba UNQUALIFIED
Nicolas I PoquetteAustraliaIoni Bowcher RENEWAL
Ashley Y StensethAustraliaOnyama Limba NEW
Munro N NickaGermanyAsiya Javayant NEGOTIATION
Emily T FollerItalyAnna Fali NEW
Greenwood N SergiGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya I VocelkaArgentina2026-11-04Feiner Bros RENEWAL77Ioni Bowcher
1001Izzy X WaycottRussia2026-10-18Rousseaux, Michael Esq NEW30Ivan Magalhaes
1002Faith H ButtRussia2026-11-02Chapman, Ross E Esq NEGOTIATION78Ivan Magalhaes
1003David W FerenczSpain2026-10-06Rousseaux, Michael Esq PROPOSAL69Anna Fali
1004Mayumi V KuskoItaly2026-10-31Dorl, James J Esq UNQUALIFIED43Asiya Javayant
1005Jones Q PoquetteFrance2026-10-21Commercial Press NEW59Amy Elsner
1006Mayumi J WhobreyFrance2026-10-26Commercial Press UNQUALIFIED1Elwin Sharvill
1007Misaki V RimIndia2026-10-15Commercial Press PROPOSAL73Amy Elsner
1008Darci K StockhamItaly2026-10-27Rangoni Of Florence PROPOSAL34Elwin Sharvill
1009Aditya V DoeArgentina2026-10-13Chemel, James L Cpa RENEWAL77Stephen Shaw
1010Murillo J GillianGermany2026-10-24Chapman, Ross E Esq NEGOTIATION17Anna Fali
1011Misaki D ChuiBrazil2026-10-21Benton, John B Jr NEGOTIATION78Bernardo Dominic
1012Claire A MaletIndia2026-10-20Chapman, Ross E Esq RENEWAL70Ivan Magalhaes
1013Adams N SlusarskiRussia2026-10-24Commercial Press NEGOTIATION97Bernardo Dominic
1014James B KuskoAustralia2026-10-24Feltz Printing Service QUALIFIED57Elwin Sharvill
1015Faith S ShinkoFrance2026-11-01Truhlar And Truhlar Attys NEW23Amy Elsner
1016Juan P GillianIndia2026-10-09Rangoni Of Florence NEGOTIATION14Amy Elsner
1017Tony Q SergiCanada2026-10-24Commercial Press QUALIFIED88Onyama Limba
1018Emily L CaldareraSpain2026-10-12Buckley Miller Wright RENEWAL59Onyama Limba
1019Salvatore W WhobreyGermany2026-11-04King, Christopher A Esq NEW74Elwin Sharvill
1020Arvin U ButtSpain2026-11-03Morlong Associates NEGOTIATION90Ivan Magalhaes
1021Maria V RulapaughCanada2026-10-20Printing Dimensions QUALIFIED61Xuxue Feng
1022Francesco O PaprockiSpain2026-10-20Dorl, James J Esq RENEWAL98Ioni Bowcher
1023James N NickaIndia2026-10-29Chanay, Jeffrey A Esq NEW14Ivan Magalhaes
1024Antonio A StensethAustralia2026-11-03Benton, John B Jr RENEWAL57Stephen Shaw
1025Kadeem M FollerBrazil2026-10-19Benton, John B Jr RENEWAL98Onyama Limba
1026Murillo G SlusarskiRussia2026-11-02Feiner Bros UNQUALIFIED65Onyama Limba
1027Maisha R BriddickArgentina2026-11-01Feltz Printing Service NEW34Anna Fali
1028Clifford F CaldareraUnited Kingdom2026-10-09Dorl, James J Esq UNQUALIFIED28Amy Elsner
1029Arvin I VenereCanada2026-10-06Truhlar And Truhlar Attys NEW26Stephen Shaw
1030Ricardo H FerenczUnited Kingdom2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED85Amy Elsner
1031Aruna Z MaletCanada2026-10-24Morlong Associates UNQUALIFIED39Asiya Javayant
1032Antonio U BologniaItaly2026-11-03Commercial Press NEW90Amy Elsner
1033Arvin Z PerinAustralia2026-10-24Benton, John B Jr NEGOTIATION59Amy Elsner
1034Francesco X OldroydBrazil2026-10-07Benton, John B Jr RENEWAL86Onyama Limba
1035David E StockhamSpain2026-10-31Chapman, Ross E Esq NEW61Stephen Shaw
1036Salvatore V RutaArgentina2026-10-21Commercial Press UNQUALIFIED8Ivan Magalhaes
1037Salvatore V TollnerArgentina2026-10-31Chapman, Ross E Esq QUALIFIED82Onyama Limba
1038Rodrigues H DoeUnited Kingdom2026-10-18Chemel, James L Cpa QUALIFIED26Anna Fali
1039Isabel Y BowleyFrance2026-10-24Commercial Press QUALIFIED14Stephen Shaw
1040Francesco R CaldareraJapan2026-10-09Rousseaux, Michael Esq PROPOSAL23Ivan Magalhaes
1041Maria C CaudyAustralia2026-10-28Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1042Nicolas A RulapaughGermany2026-10-24Feiner Bros PROPOSAL49Bernardo Dominic
1043James M KolmetzRussia2026-10-31Commercial Press NEGOTIATION78Amy Elsner
1044Jones U DarakjyAustralia2026-10-31Feltz Printing Service UNQUALIFIED11Ioni Bowcher
1045Antonio W DarakjyArgentina2026-10-08Buckley Miller Wright UNQUALIFIED69Elwin Sharvill
1046Mayumi R StensethArgentina2026-10-19Commercial Press UNQUALIFIED54Onyama Limba
1047Maria A NestleAustralia2026-10-27Chapman, Ross E Esq PROPOSAL22Elwin Sharvill
1048Leja H RoysterArgentina2026-10-06Morlong Associates QUALIFIED62Ivan Magalhaes
1049Arvin X RimBrazil2026-10-17Chanay, Jeffrey A Esq RENEWAL38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones O MaletItalyXuxue Feng NEGOTIATION
Munro G AlbaresJapanStephen Shaw PROPOSAL
James X FerenczArgentinaIoni Bowcher PROPOSAL
Maisha X RimBrazilAsiya Javayant NEW
Antonio Y MarrierSpainXuxue Feng UNQUALIFIED
Murillo B ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Faith A RimJapanOnyama Limba RENEWAL
Octavia B VenereAustraliaIoni Bowcher PROPOSAL
Morrow Q AmigonArgentinaAsiya Javayant QUALIFIED
Alejandro Q ChuiBrazilBernardo Dominic NEGOTIATION
Julie C RutaItalyBernardo Dominic NEGOTIATION
Ricardo P DilliardArgentinaAnna Fali QUALIFIED
Arvin V InouyeRussiaOnyama Limba NEW
Nicolas C SlusarskiSpainAnna Fali NEGOTIATION
Jefferson U NestleRussiaBernardo Dominic UNQUALIFIED
Arvin A ChuiRussiaStephen Shaw UNQUALIFIED
David O PoquetteRussiaIvan Magalhaes RENEWAL
Juan Y MacleadIndiaBernardo Dominic RENEWAL
Leja X WieserJapanAsiya Javayant PROPOSAL
Ashley A RutaSpainXuxue Feng QUALIFIED
Rodrigues M VenereUnited KingdomXuxue Feng NEW
Octavia L RulapaughItalyIoni Bowcher QUALIFIED
Jones G SergiAustraliaAsiya Javayant NEW
Leja F MacleadItalyOnyama Limba UNQUALIFIED
Costa D WaycottArgentinaAsiya Javayant NEW
Jefferson K WaycottUnited KingdomOnyama Limba QUALIFIED
Claire B BowleyUnited KingdomOnyama Limba UNQUALIFIED
Chavez N MaletJapanOnyama Limba PROPOSAL
Johnson X MarrierJapanIvan Magalhaes UNQUALIFIED
Leja H FlosiJapanStephen Shaw PROPOSAL
Aruna T DilliardBrazilAmy Elsner NEGOTIATION
Aditya X SchemmerSpainAmy Elsner NEGOTIATION
Francesco D SchemmerUnited KingdomIoni Bowcher RENEWAL
Maisha N RulapaughSpainIoni Bowcher RENEWAL
Jefferson G MarrierUnited KingdomAsiya Javayant QUALIFIED
Antonio Y AmigonIndiaBernardo Dominic UNQUALIFIED
Wickens N FlosiUnited KingdomIvan Magalhaes QUALIFIED
Jennifer U OstroskyRussiaOnyama Limba UNQUALIFIED
Wickens Q MorascaFranceIvan Magalhaes UNQUALIFIED
Darci V AlbaresJapanBernardo Dominic QUALIFIED
Francesco P AmigonIndiaAsiya Javayant QUALIFIED
Costa R WieserGermanyBernardo Dominic UNQUALIFIED
Ivar E DilliardGermanyBernardo Dominic NEW
Stacey J MarrierFranceElwin Sharvill NEW
Darci W DarakjyIndiaIvan Magalhaes NEGOTIATION
Murillo B GauchoCanadaAnna Fali UNQUALIFIED
Octavia H AmigonCanadaOnyama Limba RENEWAL
Wickens Z MorascaCanadaXuxue Feng NEW
Silvio O RimGermanyAmy Elsner RENEWAL
Silvio M SaylorsGermanyOnyama Limba PROPOSAL
Frozen Columns
Name
Darci V Oldroyd
Kadeem L Rim
Silvio T Flosi
Alejandro Q Tollner
Aika G Slusarski
Kaitlin S Ruta
Munro F Amigon
Johnson C Tollner
Tony F Marrier
Wickens O Ferencz
Nicolas W Chui
Antonio Q Maclead
Ashley O Morasca
Aditya X Poquette
Alejandro M Gillian
Juan C Tollner
Claire Z Dilliard
Misaki R Malet
Arvin M Saylors
Aruna B Marrier
Adams I Ruta
David Z Caudy
Jefferson F Venere
Nicolas M Ferencz
Tony S Flosi
Deepesh V Tollner
Jones S Slusarski
Tony N Albares
Adams J Foller
Misaki M Rulapaugh
Isabel K Nicka
Adams Z Albares
Nicolas L Inouye
Julie L Venere
Murillo G Shinko
Jennifer M Rulapaugh
Leja M Gillian
Arvin Y Doe
Mujtaba D Oldroyd
Rodrigues C Iturbide
Ricardo Q Iturbide
Jefferson N Rim
Jones J Marrier
Arvin Q Nestle
Cody L Malet
Juan F Paprocki
Jones Q Briddick
Mujtaba K Sergi
Mayumi Z Vocelka
Sinclair N Venere
IdCountryDate
1000Japan2026-10-26
1001India2026-11-01
1002Russia2026-10-20
1003Australia2026-11-03
1004Germany2026-10-24
1005Germany2026-10-24
1006Italy2026-10-15
1007Spain2026-10-20
1008Australia2026-10-29
1009Spain2026-10-11
1010France2026-11-01
1011Japan2026-10-27
1012Canada2026-10-23
1013Brazil2026-10-15
1014Germany2026-10-25
1015Russia2026-10-19
1016Russia2026-10-24
1017Spain2026-10-11
1018Australia2026-10-14
1019Germany2026-10-24
1020Japan2026-10-30
1021Russia2026-10-09
1022Japan2026-10-26
1023Argentina2026-10-28
1024France2026-10-09
1025Canada2026-10-11
1026Argentina2026-10-15
1027Russia2026-10-16
1028Argentina2026-10-16
1029Germany2026-10-10
1030Argentina2026-10-13
1031Japan2026-10-12
1032Canada2026-11-03
1033Canada2026-10-20
1034Russia2026-10-11
1035Germany2026-10-16
1036United Kingdom2026-10-13
1037Australia2026-10-18
1038Argentina2026-10-31
1039Argentina2026-11-03
1040Japan2026-10-11
1041Canada2026-10-12
1042Japan2026-10-14
1043Argentina2026-10-10
1044Brazil2026-10-12
1045Argentina2026-11-04
1046Italy2026-10-29
1047Russia2026-10-17
1048Spain2026-10-08
1049Russia2026-10-09

On-Demand Data

NameIdCountryDate
Johnson Q Garufi1000Germany2026-10-12
Wickens C Dilliard1001United Kingdom2026-10-25
Julie O Morasca1002Spain2026-10-22
Mujtaba K Poquette1003Canada2026-11-02
Juan L Paprocki1004India2026-10-11
Clifford A Gaucho1005Canada2026-10-26
Ashley V Garufi1006Italy2026-10-31
Leon K Vocelka1007Italy2026-10-29
Ivar U Saylors1008Australia2026-10-11
Leja F Waycott1009Japan2026-10-28
Juan F Chui1010Italy2026-10-14
Salvatore O Foller1011India2026-10-08
David R Perin1012Italy2026-10-14
Isabel E Rulapaugh1013Argentina2026-10-16
Faith F Kolmetz1014Germany2026-10-08
Tony S Whobrey1015Canada2026-10-17
Octavia V Bowley1016India2026-10-31
Silvio P Malet1017Japan2026-10-15
Mujtaba F Nestle1018Spain2026-10-11
Cody K Figeroa1019United Kingdom2026-11-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens N CampainFranceElwin Sharvill PROPOSAL
Deepesh Y VocelkaSpainIvan Magalhaes UNQUALIFIED
Ivar R FlosiIndiaXuxue Feng NEGOTIATION
Darci O VenereFranceAsiya Javayant PROPOSAL
Mayumi C MorascaFranceXuxue Feng NEGOTIATION
Tony M OldroydItalyAsiya Javayant RENEWAL
Jefferson P DarakjyJapanAmy Elsner NEGOTIATION
Julie Z BowleyFranceAnna Fali NEW
Morrow V SaylorsRussiaIvan Magalhaes QUALIFIED
Ivar K MarrierItalyAsiya Javayant QUALIFIED
Murillo O BriddickCanadaBernardo Dominic NEW
Stacey T KolmetzBrazilXuxue Feng QUALIFIED
Leja X OldroydCanadaXuxue Feng NEGOTIATION
Isabel C AlbaresJapanStephen Shaw QUALIFIED
Jeanfrancois H FerenczGermanyXuxue Feng PROPOSAL
Kaitlin N MaletItalyElwin Sharvill RENEWAL
Salvatore L GarufiBrazilXuxue Feng PROPOSAL
Clifford B CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi Q AlbaresFranceXuxue Feng QUALIFIED
Munro W SaylorsBrazilBernardo Dominic QUALIFIED
Jennifer B MorascaSpainAnna Fali UNQUALIFIED
Aditya A GillianUnited KingdomOnyama Limba UNQUALIFIED
Jones C GauchoSpainAmy Elsner NEW
Cody D SergiAustraliaElwin Sharvill RENEWAL
Johnson O MacleadIndiaIvan Magalhaes PROPOSAL
Jones F PerinCanadaOnyama Limba PROPOSAL
Salvatore I VocelkaJapanStephen Shaw NEGOTIATION
Jones Q SergiJapanAsiya Javayant QUALIFIED
Maisha S SchemmerSpainAmy Elsner PROPOSAL
Salvatore G GlickCanadaXuxue Feng NEW
Antonio Y AmigonSpainIvan Magalhaes NEGOTIATION
David L DarakjyRussiaAmy Elsner QUALIFIED
Izzy Q DarakjyItalyAsiya Javayant QUALIFIED
Adams O WaycottUnited KingdomAmy Elsner NEW
Mujtaba W CampainRussiaIoni Bowcher RENEWAL
Mayumi Z VocelkaSpainOnyama Limba QUALIFIED
Jeanfrancois H AlbaresSpainAmy Elsner NEGOTIATION
Faith K FigeroaArgentinaIvan Magalhaes QUALIFIED
Aditya H SchemmerSpainBernardo Dominic PROPOSAL
Cody T OstroskyGermanyAnna Fali 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>