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 W DilliardUnited KingdomOnyama Limba NEGOTIATION
Sinclair Q PerinJapanIvan Magalhaes QUALIFIED
Maria J DoeAustraliaOnyama Limba UNQUALIFIED
Emily M SaylorsItalyOnyama Limba UNQUALIFIED
Salvatore X VocelkaFranceXuxue Feng PROPOSAL
Deepesh V VenereSpainIoni Bowcher RENEWAL
Emily P FigeroaSpainXuxue Feng UNQUALIFIED
Jefferson O SlusarskiFranceElwin Sharvill UNQUALIFIED
Arvin U AmigonCanadaXuxue Feng PROPOSAL
Kadeem W InouyeRussiaStephen Shaw NEW
Misaki A SergiBrazilXuxue Feng NEW
Clifford U GlickRussiaAmy Elsner NEW
Murillo D CampainFranceBernardo Dominic RENEWAL
Aruna V DilliardRussiaAsiya Javayant NEGOTIATION
Antonio C NickaBrazilStephen Shaw UNQUALIFIED
Murillo C KuskoGermanyBernardo Dominic UNQUALIFIED
Juan W RimItalyAsiya Javayant UNQUALIFIED
Jones P SaylorsIndiaAnna Fali NEGOTIATION
Mujtaba Y PerinIndiaStephen Shaw PROPOSAL
James S GillianUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro N BowleyJapanAsiya Javayant UNQUALIFIED
Arvin W GarufiJapanAnna Fali PROPOSAL
Ricardo I StockhamBrazilIoni Bowcher RENEWAL
Julie Q BologniaArgentinaIvan Magalhaes PROPOSAL
Aika X AlbaresBrazilStephen Shaw UNQUALIFIED
Maisha I TollnerRussiaOnyama Limba NEGOTIATION
Munro X ButtRussiaAsiya Javayant QUALIFIED
Chavez E OldroydBrazilAmy Elsner QUALIFIED
Maria C MacleadBrazilAmy Elsner QUALIFIED
Jones S FigeroaUnited KingdomXuxue Feng QUALIFIED
Aditya U GauchoAustraliaAsiya Javayant PROPOSAL
Izzy P SaylorsSpainXuxue Feng QUALIFIED
Ashley U SaylorsFranceStephen Shaw UNQUALIFIED
Misaki G VenereItalyAsiya Javayant UNQUALIFIED
Aika Y PoquetteAustraliaAmy Elsner NEW
Ricardo L SergiGermanyElwin Sharvill RENEWAL
Johnson S GillianArgentinaIvan Magalhaes NEW
Jones H WieserGermanyAnna Fali PROPOSAL
Chavez N GarufiSpainAmy Elsner UNQUALIFIED
Johnson H BriddickSpainStephen Shaw QUALIFIED
David M SaylorsFranceXuxue Feng RENEWAL
Greenwood J MaletJapanAsiya Javayant RENEWAL
Munro P SergiJapanStephen Shaw NEGOTIATION
Octavia F SergiFranceBernardo Dominic UNQUALIFIED
Darci T RimJapanOnyama Limba UNQUALIFIED
Morrow C AlbaresFranceElwin Sharvill UNQUALIFIED
Nicolas V MorascaFranceStephen Shaw QUALIFIED
David P OldroydJapanXuxue Feng NEW
Faith D BowleyAustraliaStephen Shaw NEW
David A SergiArgentinaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio J SaylorsJapanAsiya Javayant UNQUALIFIED
Leja D DilliardUnited KingdomElwin Sharvill RENEWAL
David E GauchoAustraliaIoni Bowcher RENEWAL
Smith D WhobreyAustraliaAnna Fali PROPOSAL
Chavez K StockhamUnited KingdomBernardo Dominic QUALIFIED
Smith F BriddickIndiaIoni Bowcher UNQUALIFIED
Jones Q CaudyIndiaAmy Elsner UNQUALIFIED
Costa Y WieserAustraliaIoni Bowcher RENEWAL
Aruna F PaprockiSpainIvan Magalhaes UNQUALIFIED
Wickens W CampainItalyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo H MorascaIndia2026-09-08King, Christopher A Esq NEW0Ivan Magalhaes
1001Claire T AlbaresIndia2026-09-05Truhlar And Truhlar Attys PROPOSAL99Ioni Bowcher
1002Johnson L RoysterBrazil2026-09-17Rangoni Of Florence NEGOTIATION50Xuxue Feng
1003James J SlusarskiRussia2026-09-14Rangoni Of Florence PROPOSAL75Bernardo Dominic
1004Jeanfrancois T VenereSpain2026-08-28Printing Dimensions NEW26Bernardo Dominic
1005Morrow J PerinAustralia2026-09-11King, Christopher A Esq NEW45Onyama Limba
1006Leon A OstroskySpain2026-08-30Chanay, Jeffrey A Esq NEGOTIATION45Anna Fali
1007Sinclair H BologniaFrance2026-08-27Rousseaux, Michael Esq PROPOSAL20Stephen Shaw
1008Jefferson S AmigonCanada2026-08-25Dorl, James J Esq UNQUALIFIED7Ioni Bowcher
1009Tony U SchemmerIndia2026-08-28Feltz Printing Service NEGOTIATION9Ivan Magalhaes
1010Misaki S DoeItaly2026-09-01Commercial Press QUALIFIED11Bernardo Dominic
1011Jeanfrancois R KuskoBrazil2026-09-13Chemel, James L Cpa RENEWAL55Asiya Javayant
1012Mayumi J ChuiAustralia2026-09-01Dorl, James J Esq UNQUALIFIED15Asiya Javayant
1013Arvin A GarufiAustralia2026-08-28Feltz Printing Service QUALIFIED78Ivan Magalhaes
1014Sinclair E RoysterArgentina2026-09-12Chemel, James L Cpa UNQUALIFIED91Ioni Bowcher
1015Faith S VenereJapan2026-09-20Chemel, James L Cpa NEGOTIATION32Ioni Bowcher
1016Faith K OldroydCanada2026-09-06Morlong Associates RENEWAL62Ivan Magalhaes
1017Greenwood R VenereAustralia2026-09-19Feiner Bros NEGOTIATION60Onyama Limba
1018Wickens I KolmetzFrance2026-08-25Chapman, Ross E Esq NEGOTIATION68Amy Elsner
1019Jeanfrancois W ShinkoCanada2026-09-17Printing Dimensions NEW55Stephen Shaw
1020Claire D MaletAustralia2026-09-10Chanay, Jeffrey A Esq NEW77Ioni Bowcher
1021Murillo X StensethGermany2026-08-23Feiner Bros NEW58Onyama Limba
1022Faith I ShinkoBrazil2026-09-05Chanay, Jeffrey A Esq PROPOSAL29Bernardo Dominic
1023Leja U VocelkaSpain2026-09-19Morlong Associates NEW80Bernardo Dominic
1024Octavia H ChuiAustralia2026-09-14Printing Dimensions RENEWAL87Onyama Limba
1025Kadeem H FollerUnited Kingdom2026-09-12Feiner Bros PROPOSAL12Anna Fali
1026Maisha X MacleadJapan2026-09-16Rousseaux, Michael Esq NEW82Stephen Shaw
1027Faith J MaletUnited Kingdom2026-08-30Benton, John B Jr NEW98Ivan Magalhaes
1028Sinclair E NestleIndia2026-09-20Morlong Associates QUALIFIED10Onyama Limba
1029Rodrigues J MorascaGermany2026-08-30Buckley Miller Wright NEW93Asiya Javayant
1030Isabel W WaycottGermany2026-09-06Chemel, James L Cpa NEW64Anna Fali
1031Jennifer S KuskoUnited Kingdom2026-08-31Feiner Bros NEW13Stephen Shaw
1032Francesco I CaudyIndia2026-09-03King, Christopher A Esq PROPOSAL12Onyama Limba
1033Octavia R IturbideJapan2026-09-18Dorl, James J Esq RENEWAL99Amy Elsner
1034Adams B DarakjyJapan2026-08-28Printing Dimensions NEGOTIATION12Bernardo Dominic
1035Tony F FlosiRussia2026-09-09Chapman, Ross E Esq PROPOSAL77Xuxue Feng
1036Isabel T BologniaCanada2026-09-07Chapman, Ross E Esq RENEWAL91Bernardo Dominic
1037James Z VocelkaRussia2026-09-13Chanay, Jeffrey A Esq QUALIFIED79Bernardo Dominic
1038Jones Q RulapaughRussia2026-09-10Rousseaux, Michael Esq UNQUALIFIED78Xuxue Feng
1039Aika I FlosiSpain2026-09-05Dorl, James J Esq NEW77Stephen Shaw
1040Costa U AmigonBrazil2026-08-24Feltz Printing Service NEW14Asiya Javayant
1041Julie C OstroskyUnited Kingdom2026-09-15Feiner Bros RENEWAL98Onyama Limba
1042Costa H VenereGermany2026-09-05Truhlar And Truhlar Attys UNQUALIFIED41Asiya Javayant
1043Arvin V ButtJapan2026-09-07Rousseaux, Michael Esq QUALIFIED79Amy Elsner
1044Wickens P StensethArgentina2026-09-14Rangoni Of Florence RENEWAL75Onyama Limba
1045Antonio J SchemmerGermany2026-08-27Chapman, Ross E Esq NEGOTIATION21Stephen Shaw
1046Alejandro W BologniaCanada2026-08-27Commercial Press PROPOSAL16Ivan Magalhaes
1047Aruna L VenereItaly2026-08-23Truhlar And Truhlar Attys NEGOTIATION24Bernardo Dominic
1048Nicolas Y BriddickSpain2026-09-10Feltz Printing Service UNQUALIFIED67Asiya Javayant
1049Stacey F GauchoAustralia2026-08-28Chemel, James L Cpa PROPOSAL14Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q PoquetteSpainAsiya Javayant NEW
Munro O VocelkaCanadaXuxue Feng PROPOSAL
Jefferson W BologniaRussiaXuxue Feng NEGOTIATION
Jefferson U MorascaBrazilAmy Elsner NEW
Wickens G VenereIndiaAnna Fali UNQUALIFIED
Alejandro B TollnerUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba O ChuiCanadaElwin Sharvill NEGOTIATION
Izzy K KolmetzSpainAmy Elsner QUALIFIED
Stacey A GarufiJapanAmy Elsner NEW
Aditya V PerinArgentinaIvan Magalhaes PROPOSAL
Salvatore M ShinkoArgentinaOnyama Limba PROPOSAL
Jones X DilliardGermanyElwin Sharvill NEGOTIATION
Maisha V BologniaJapanIoni Bowcher UNQUALIFIED
Izzy D MarrierArgentinaAnna Fali UNQUALIFIED
Leja N GauchoCanadaIoni Bowcher RENEWAL
Faith B KuskoAustraliaElwin Sharvill NEW
Silvio N SergiSpainBernardo Dominic PROPOSAL
Leja I MorascaJapanElwin Sharvill PROPOSAL
Sinclair N SlusarskiBrazilAnna Fali RENEWAL
David L StockhamFranceStephen Shaw QUALIFIED
Maria A PoquetteJapanIvan Magalhaes QUALIFIED
Emily L PerinCanadaAnna Fali UNQUALIFIED
Mujtaba B VocelkaCanadaIvan Magalhaes PROPOSAL
Octavia O PerinAustraliaIvan Magalhaes QUALIFIED
Aruna I MarrierRussiaAmy Elsner NEW
Jennifer H NickaCanadaElwin Sharvill PROPOSAL
Leja V FigeroaBrazilAnna Fali NEGOTIATION
Murillo U DilliardArgentinaAsiya Javayant RENEWAL
Clifford I CaudyUnited KingdomXuxue Feng QUALIFIED
Ashley A AmigonJapanAsiya Javayant NEGOTIATION
Morrow M SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Johnson V FollerAustraliaIvan Magalhaes UNQUALIFIED
Wickens B DoeBrazilElwin Sharvill NEGOTIATION
Wickens C WaycottBrazilAnna Fali QUALIFIED
Jeanfrancois L SchemmerCanadaOnyama Limba UNQUALIFIED
Adams S SlusarskiIndiaBernardo Dominic UNQUALIFIED
Emily Y PerinJapanAmy Elsner PROPOSAL
Ivar B KolmetzJapanOnyama Limba UNQUALIFIED
Francesco M RulapaughArgentinaIvan Magalhaes NEW
Aditya V MaletItalyAnna Fali RENEWAL
Arvin T TollnerArgentinaAnna Fali RENEWAL
Maisha I KolmetzArgentinaStephen Shaw NEW
Greenwood X CaldareraUnited KingdomStephen Shaw NEW
Munro L FerenczGermanyOnyama Limba PROPOSAL
Tony R OldroydUnited KingdomBernardo Dominic RENEWAL
David Y CaudyGermanyIoni Bowcher QUALIFIED
Izzy I FerenczBrazilAmy Elsner QUALIFIED
Arvin N KuskoBrazilAnna Fali UNQUALIFIED
Octavia Q MorascaFranceOnyama Limba NEW
Rodrigues Q AmigonAustraliaAsiya Javayant NEW
Frozen Columns
Name
Isabel J Vocelka
Morrow P Marrier
Nicolas O Bolognia
Darci C Marrier
Antonio W Rulapaugh
Isabel R Gaucho
Maisha E Ostrosky
Isabel J Poquette
Mayumi Q Campain
Mujtaba K Nestle
Mujtaba C Tollner
Deepesh S Morasca
Nicolas Q Maclead
Julie M Schemmer
Munro S Perin
Julie B Malet
Cody T Ostrosky
Leon W Chui
Rodrigues D Glick
Stacey Y Rulapaugh
David J Darakjy
Adams C Paprocki
Greenwood C Flosi
Wickens Z Rulapaugh
David E Kusko
Jones Z Nestle
Maria F Figeroa
Faith S Rulapaugh
Faith Y Kusko
Jennifer Q Saylors
Francesco N Garufi
Tony Z Slusarski
Aika Z Slusarski
James C Perin
Chavez J Malet
Nicolas C Stenseth
Deepesh W Glick
Juan F Schemmer
Aruna R Rim
Ashley S Schemmer
Silvio F Glick
James K Schemmer
Ashley G Wieser
Wickens S Nestle
Julie C Malet
Arvin K Poquette
Chavez W Kolmetz
Kadeem F Caudy
Jones R Slusarski
Aruna G Maclead
IdCountryDate
1000Spain2026-09-15
1001India2026-09-04
1002France2026-09-10
1003Australia2026-09-19
1004India2026-09-03
1005Brazil2026-08-24
1006Spain2026-09-18
1007Japan2026-08-28
1008Canada2026-09-07
1009India2026-09-11
1010Japan2026-09-12
1011Australia2026-09-17
1012Spain2026-09-20
1013Argentina2026-08-24
1014Italy2026-09-11
1015India2026-09-09
1016France2026-09-15
1017Italy2026-09-21
1018Argentina2026-08-25
1019United Kingdom2026-09-12
1020India2026-09-01
1021Spain2026-08-29
1022France2026-08-30
1023Spain2026-08-23
1024France2026-08-23
1025Australia2026-09-21
1026France2026-09-20
1027Australia2026-09-04
1028Spain2026-09-09
1029India2026-09-15
1030Russia2026-08-26
1031Brazil2026-08-30
1032Canada2026-09-08
1033France2026-09-16
1034Italy2026-09-21
1035Canada2026-08-23
1036France2026-08-28
1037Argentina2026-09-17
1038Brazil2026-08-25
1039Spain2026-09-19
1040Spain2026-09-06
1041Germany2026-09-02
1042Australia2026-09-05
1043Spain2026-09-19
1044Brazil2026-09-04
1045United Kingdom2026-08-30
1046Argentina2026-09-08
1047Russia2026-08-25
1048Brazil2026-09-10
1049Canada2026-09-15

On-Demand Data

NameIdCountryDate
Costa Y Briddick1000Australia2026-09-13
Darci K Briddick1001Italy2026-09-10
Salvatore T Wieser1002Germany2026-08-24
Aika T Whobrey1003India2026-09-20
James M Figeroa1004Brazil2026-09-05
Nicolas S Stenseth1005Canada2026-09-12
Jeanfrancois B Amigon1006Russia2026-09-17
Nicolas A Rim1007Argentina2026-09-16
Munro S Bowley1008Germany2026-09-21
Murillo E Amigon1009India2026-09-04
Jefferson V Schemmer1010Argentina2026-09-15
Maria H Caldarera1011Germany2026-09-10
Morrow Z Perin1012Germany2026-09-10
Maisha Q Bowley1013United Kingdom2026-08-30
Juan U Ostrosky1014France2026-08-27
Jefferson P Royster1015United Kingdom2026-09-06
Faith S Stockham1016France2026-09-13
Arvin F Rim1017Japan2026-09-13
James V Amigon1018Canada2026-08-27
Smith B Paprocki1019France2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi E BowleyArgentinaElwin Sharvill QUALIFIED
Arvin J FerenczJapanAnna Fali RENEWAL
Adams J MaletRussiaStephen Shaw NEGOTIATION
Jefferson A TollnerBrazilElwin Sharvill NEW
Murillo F OldroydAustraliaAmy Elsner QUALIFIED
Morrow G ButtArgentinaBernardo Dominic NEW
Rodrigues G CaudySpainAsiya Javayant UNQUALIFIED
Kaitlin Z DoeIndiaAsiya Javayant PROPOSAL
Johnson K SaylorsItalyOnyama Limba RENEWAL
Murillo L CampainGermanyAmy Elsner QUALIFIED
Juan F IturbideIndiaAsiya Javayant NEW
Arvin O KuskoIndiaOnyama Limba PROPOSAL
Emily M SlusarskiFranceAnna Fali NEGOTIATION
Leja Z AlbaresGermanyElwin Sharvill NEGOTIATION
Tony G RutaRussiaBernardo Dominic NEW
Darci S FlosiUnited KingdomIoni Bowcher RENEWAL
Johnson B MaletGermanyAsiya Javayant QUALIFIED
Mujtaba I BologniaJapanOnyama Limba QUALIFIED
Jones D ButtUnited KingdomAmy Elsner RENEWAL
Adams F MarrierItalyStephen Shaw NEW
Morrow A AmigonRussiaAsiya Javayant QUALIFIED
Julie M AmigonSpainOnyama Limba RENEWAL
Faith O BriddickArgentinaIvan Magalhaes PROPOSAL
Mujtaba X StensethRussiaAnna Fali NEGOTIATION
Silvio A GlickIndiaAnna Fali PROPOSAL
Salvatore B InouyeUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues Q NickaRussiaAnna Fali PROPOSAL
Izzy T DoeRussiaAsiya Javayant QUALIFIED
Julie R PoquetteFranceStephen Shaw PROPOSAL
Faith R FigeroaSpainAmy Elsner QUALIFIED
Silvio J WhobreySpainElwin Sharvill UNQUALIFIED
Octavia P GlickItalyAsiya Javayant UNQUALIFIED
Maria D FigeroaCanadaOnyama Limba NEGOTIATION
Faith D FigeroaAustraliaXuxue Feng RENEWAL
Ivar I OstroskyJapanElwin Sharvill NEGOTIATION
Faith B SlusarskiBrazilAnna Fali RENEWAL
Clifford Y DilliardRussiaIvan Magalhaes UNQUALIFIED
Stacey Q SchemmerCanadaAsiya Javayant QUALIFIED
Leon T RulapaughFranceOnyama Limba NEW
Nicolas V MacleadIndiaXuxue Feng 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>