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
Nicolas T GarufiCanadaOnyama Limba PROPOSAL
Octavia G PaprockiCanadaAnna Fali NEGOTIATION
Leon P InouyeFranceXuxue Feng NEW
Leja R GarufiGermanyStephen Shaw PROPOSAL
Aruna N NestleFranceAsiya Javayant RENEWAL
Kaitlin B WaycottUnited KingdomXuxue Feng QUALIFIED
Aruna Q StockhamArgentinaAmy Elsner QUALIFIED
Alejandro T GauchoItalyIvan Magalhaes PROPOSAL
Emily P OstroskyUnited KingdomAmy Elsner PROPOSAL
Kadeem V WaycottAustraliaIoni Bowcher RENEWAL
Deepesh Q RimArgentinaAmy Elsner PROPOSAL
Rodrigues J StensethIndiaXuxue Feng NEW
Tony Z VocelkaSpainAnna Fali UNQUALIFIED
Costa P ButtItalyBernardo Dominic UNQUALIFIED
Johnson H SchemmerIndiaOnyama Limba PROPOSAL
Alejandro B CaldareraAustraliaIvan Magalhaes QUALIFIED
Darci R StockhamRussiaAnna Fali RENEWAL
Ricardo X RimUnited KingdomAsiya Javayant RENEWAL
Alejandro I IturbideFranceAmy Elsner RENEWAL
Wickens R GauchoBrazilIvan Magalhaes NEGOTIATION
Kaitlin R VocelkaIndiaOnyama Limba QUALIFIED
Juan W GauchoCanadaXuxue Feng RENEWAL
Wickens L ShinkoGermanyBernardo Dominic PROPOSAL
Rodrigues J WaycottCanadaBernardo Dominic PROPOSAL
Deepesh R FollerUnited KingdomStephen Shaw QUALIFIED
Emily E CaudyUnited KingdomAmy Elsner RENEWAL
Rodrigues Y MarrierItalyAmy Elsner QUALIFIED
James A KuskoGermanyBernardo Dominic PROPOSAL
Kadeem Y TollnerArgentinaXuxue Feng UNQUALIFIED
Wickens I BologniaBrazilAmy Elsner UNQUALIFIED
Sinclair L BowleyGermanyIvan Magalhaes NEGOTIATION
Maria T TollnerBrazilXuxue Feng NEGOTIATION
Costa Q KolmetzAustraliaBernardo Dominic RENEWAL
Mayumi V PerinUnited KingdomXuxue Feng RENEWAL
Maria F ChuiUnited KingdomIvan Magalhaes PROPOSAL
Leon L MaletGermanyXuxue Feng QUALIFIED
Isabel M DarakjyAustraliaAmy Elsner NEGOTIATION
Jones D VenereCanadaOnyama Limba NEW
Adams D VenereCanadaOnyama Limba NEW
Rodrigues V AlbaresRussiaIvan Magalhaes PROPOSAL
Francesco V InouyeItalyAmy Elsner PROPOSAL
Ivar W WaycottItalyElwin Sharvill QUALIFIED
Alejandro S NestleFranceBernardo Dominic UNQUALIFIED
Jones U GauchoFranceAnna Fali PROPOSAL
Faith Y IturbideArgentinaOnyama Limba RENEWAL
Kaitlin I FerenczFranceOnyama Limba PROPOSAL
Claire G FollerCanadaXuxue Feng NEW
Misaki K CampainJapanIvan Magalhaes PROPOSAL
Maisha F RimBrazilAnna Fali NEW
Izzy D DilliardAustraliaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore W InouyeSpainBernardo Dominic RENEWAL
Tony B SchemmerCanadaStephen Shaw PROPOSAL
Morrow N PoquetteArgentinaBernardo Dominic QUALIFIED
Mayumi I NickaGermanyIvan Magalhaes NEW
Munro G SergiAustraliaStephen Shaw NEW
Julie P MarrierRussiaBernardo Dominic RENEWAL
Costa R MaletJapanAsiya Javayant NEW
Juan N FerenczItalyIvan Magalhaes UNQUALIFIED
David D ShinkoGermanyAnna Fali RENEWAL
Juan Y MacleadItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki K InouyeAustralia2026-10-01Printing Dimensions RENEWAL33Anna Fali
1001Sinclair O VenereItaly2026-09-21Rousseaux, Michael Esq QUALIFIED2Bernardo Dominic
1002Wickens E DilliardCanada2026-09-11Chemel, James L Cpa NEW60Bernardo Dominic
1003Silvio R GlickGermany2026-10-08Dorl, James J Esq PROPOSAL90Onyama Limba
1004Adams C GarufiGermany2026-09-30Rangoni Of Florence RENEWAL20Anna Fali
1005Isabel D GlickSpain2026-09-29Truhlar And Truhlar Attys UNQUALIFIED7Bernardo Dominic
1006Mayumi X CampainIndia2026-10-04Truhlar And Truhlar Attys QUALIFIED40Ioni Bowcher
1007Juan V VenereItaly2026-10-02Feltz Printing Service NEW65Xuxue Feng
1008Francesco H OldroydAustralia2026-10-01Buckley Miller Wright QUALIFIED43Stephen Shaw
1009Clifford T FollerJapan2026-10-01King, Christopher A Esq NEGOTIATION33Anna Fali
1010Arvin G StensethGermany2026-09-11Chemel, James L Cpa QUALIFIED54Stephen Shaw
1011Jeanfrancois R AlbaresIndia2026-09-23King, Christopher A Esq UNQUALIFIED82Ivan Magalhaes
1012Silvio V SergiCanada2026-09-15Benton, John B Jr QUALIFIED10Amy Elsner
1013Smith N CampainItaly2026-09-22Chanay, Jeffrey A Esq QUALIFIED62Asiya Javayant
1014Munro K KuskoArgentina2026-09-26Buckley Miller Wright UNQUALIFIED12Bernardo Dominic
1015Jennifer P CaldareraAustralia2026-09-13Truhlar And Truhlar Attys PROPOSAL88Amy Elsner
1016Clifford W DoeJapan2026-10-04Rangoni Of Florence PROPOSAL69Stephen Shaw
1017Johnson H AmigonAustralia2026-09-23Buckley Miller Wright UNQUALIFIED78Stephen Shaw
1018Kadeem K MaletJapan2026-10-08Commercial Press QUALIFIED74Xuxue Feng
1019Kadeem Q CaldareraJapan2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED93Anna Fali
1020Mujtaba M GauchoBrazil2026-10-04Rousseaux, Michael Esq NEW62Bernardo Dominic
1021Alejandro H CaudyRussia2026-10-01Buckley Miller Wright NEGOTIATION77Elwin Sharvill
1022Chavez E AmigonAustralia2026-09-20Rousseaux, Michael Esq QUALIFIED22Asiya Javayant
1023Salvatore G FigeroaAustralia2026-09-23Commercial Press UNQUALIFIED4Bernardo Dominic
1024Leja I FollerGermany2026-10-03Printing Dimensions RENEWAL2Bernardo Dominic
1025Chavez K BriddickArgentina2026-09-11Benton, John B Jr PROPOSAL95Bernardo Dominic
1026Faith W CaudyArgentina2026-10-02Morlong Associates NEW99Bernardo Dominic
1027Izzy D CampainIndia2026-09-20Feiner Bros QUALIFIED89Asiya Javayant
1028David H IturbideIndia2026-09-28Rangoni Of Florence NEGOTIATION94Anna Fali
1029Juan K PerinRussia2026-09-14Dorl, James J Esq RENEWAL72Onyama Limba
1030Wickens U KolmetzCanada2026-10-10Truhlar And Truhlar Attys NEW1Asiya Javayant
1031Morrow O ShinkoSpain2026-10-10Feltz Printing Service NEW78Amy Elsner
1032Morrow I FlosiSpain2026-09-23Chapman, Ross E Esq QUALIFIED6Amy Elsner
1033Ashley R RimFrance2026-10-10Feltz Printing Service QUALIFIED33Anna Fali
1034Silvio Q OldroydUnited Kingdom2026-09-28Truhlar And Truhlar Attys QUALIFIED21Stephen Shaw
1035Rodrigues C PerinFrance2026-09-28Morlong Associates UNQUALIFIED30Ivan Magalhaes
1036Wickens S NestleGermany2026-09-19Benton, John B Jr NEW5Ivan Magalhaes
1037Antonio M StockhamSpain2026-10-08Truhlar And Truhlar Attys NEW92Ivan Magalhaes
1038Julie K WaycottJapan2026-09-14Feiner Bros NEW32Asiya Javayant
1039Morrow V GlickItaly2026-10-01Feltz Printing Service NEGOTIATION92Elwin Sharvill
1040Clifford A CaudyRussia2026-09-25Chanay, Jeffrey A Esq NEW66Xuxue Feng
1041Jefferson V FigeroaBrazil2026-10-09Printing Dimensions NEW74Elwin Sharvill
1042Jones K GauchoFrance2026-09-19Printing Dimensions NEGOTIATION60Asiya Javayant
1043Salvatore P MorascaBrazil2026-10-05Benton, John B Jr RENEWAL44Stephen Shaw
1044Rodrigues A KuskoArgentina2026-10-06Chanay, Jeffrey A Esq RENEWAL16Ivan Magalhaes
1045Silvio E BologniaUnited Kingdom2026-09-21Benton, John B Jr RENEWAL53Stephen Shaw
1046Chavez B RulapaughJapan2026-09-17Feiner Bros RENEWAL25Anna Fali
1047Maisha B InouyeBrazil2026-09-25Chanay, Jeffrey A Esq NEGOTIATION35Bernardo Dominic
1048Maria V DoeSpain2026-09-14Morlong Associates NEW87Elwin Sharvill
1049Jennifer Q RutaCanada2026-09-25Printing Dimensions UNQUALIFIED83Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Smith C MorascaAustraliaAnna Fali PROPOSAL
Kaitlin Y FerenczJapanStephen Shaw RENEWAL
Leon I MarrierFranceIoni Bowcher PROPOSAL
Greenwood Q SaylorsSpainIoni Bowcher UNQUALIFIED
Silvio B MorascaArgentinaIoni Bowcher NEW
Johnson U AlbaresJapanXuxue Feng NEGOTIATION
Deepesh T MaletRussiaIoni Bowcher RENEWAL
James D FlosiBrazilIvan Magalhaes NEGOTIATION
Adams Z CaudyCanadaAsiya Javayant NEGOTIATION
Kaitlin C WaycottBrazilIoni Bowcher NEGOTIATION
Deepesh I WieserIndiaXuxue Feng NEGOTIATION
Tony E RimRussiaAmy Elsner UNQUALIFIED
Isabel S AmigonBrazilAnna Fali NEGOTIATION
Nicolas V GlickSpainXuxue Feng PROPOSAL
Jennifer E AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Antonio R GarufiCanadaIoni Bowcher NEGOTIATION
Ricardo Z AlbaresFranceIoni Bowcher NEGOTIATION
Wickens P MaletBrazilAsiya Javayant QUALIFIED
Jefferson X ShinkoIndiaXuxue Feng PROPOSAL
Ashley D NickaItalyAsiya Javayant NEGOTIATION
James T WieserUnited KingdomOnyama Limba UNQUALIFIED
Nicolas D RutaJapanIvan Magalhaes UNQUALIFIED
Johnson E VenereItalyBernardo Dominic NEW
Murillo W ShinkoIndiaElwin Sharvill PROPOSAL
Arvin T GillianArgentinaIvan Magalhaes NEW
Aruna K WieserRussiaElwin Sharvill UNQUALIFIED
Silvio P PerinCanadaBernardo Dominic RENEWAL
Faith A BriddickAustraliaAmy Elsner QUALIFIED
Johnson D ButtUnited KingdomXuxue Feng NEGOTIATION
Chavez I DilliardCanadaOnyama Limba RENEWAL
Darci J OldroydFranceStephen Shaw NEW
Izzy K BriddickJapanBernardo Dominic NEGOTIATION
Smith N SergiBrazilBernardo Dominic NEW
Rodrigues U GlickGermanyOnyama Limba NEW
Silvio B MaletAustraliaAnna Fali NEGOTIATION
Francesco P DilliardBrazilAmy Elsner QUALIFIED
Morrow D VenereCanadaIoni Bowcher UNQUALIFIED
Leon K KolmetzFranceXuxue Feng NEW
Misaki C FlosiItalyElwin Sharvill NEW
Salvatore N MacleadSpainXuxue Feng PROPOSAL
Ivar M FollerBrazilAnna Fali UNQUALIFIED
Mayumi M IturbideSpainOnyama Limba NEW
Alejandro H RutaGermanyIoni Bowcher PROPOSAL
Kadeem Y InouyeUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois S PaprockiIndiaBernardo Dominic NEGOTIATION
Aditya H VenereCanadaStephen Shaw RENEWAL
Aruna O ButtFranceAnna Fali UNQUALIFIED
Nicolas K VenereRussiaBernardo Dominic PROPOSAL
Claire B KuskoIndiaAmy Elsner RENEWAL
Francesco B RutaFranceXuxue Feng NEW
Frozen Columns
Name
Aruna K Doe
Morrow S Darakjy
Jefferson I Nicka
Clifford E Schemmer
Alejandro T Slusarski
Morrow D Nicka
Smith F Waycott
Smith N Ostrosky
Claire G Gillian
Aditya Z Perin
Kadeem K Rim
Costa T Glick
Emily R Glick
Wickens B Schemmer
Juan P Caudy
Aruna V Kusko
Juan X Stockham
Jennifer N Nicka
Sinclair J Ostrosky
Octavia U Albares
Isabel P Morasca
Deepesh W Sergi
Antonio J Malet
Emily X Caudy
Nicolas P Butt
Leja W Sergi
Cody E Stockham
Costa F Wieser
Mujtaba L Shinko
Maria C Saylors
Maria D Butt
Ashley M Darakjy
Maisha Y Maclead
Johnson V Royster
Octavia Q Oldroyd
Julie J Oldroyd
Arvin J Sergi
Chavez M Rulapaugh
Chavez K Foller
Ashley B Wieser
Aruna H Bowley
Francesco U Vocelka
Rodrigues R Waycott
Cody S Garufi
Nicolas X Paprocki
Leon M Figeroa
Silvio T Inouye
Clifford R Caldarera
Deepesh Y Shinko
Mujtaba V Foller
IdCountryDate
1000Brazil2026-10-03
1001Japan2026-10-07
1002Australia2026-09-20
1003Australia2026-09-19
1004Japan2026-10-01
1005Argentina2026-09-19
1006Japan2026-10-04
1007Brazil2026-09-25
1008Japan2026-09-30
1009Italy2026-09-16
1010Germany2026-09-15
1011Brazil2026-09-29
1012Japan2026-09-11
1013Brazil2026-10-02
1014Germany2026-09-30
1015Russia2026-09-26
1016France2026-09-23
1017Canada2026-09-27
1018Italy2026-09-29
1019Italy2026-09-22
1020Russia2026-09-26
1021Brazil2026-09-17
1022Brazil2026-09-28
1023Brazil2026-09-24
1024Australia2026-09-23
1025Argentina2026-09-23
1026France2026-09-19
1027United Kingdom2026-10-10
1028Spain2026-10-01
1029Russia2026-10-09
1030India2026-09-15
1031Italy2026-09-23
1032France2026-10-10
1033United Kingdom2026-10-04
1034Italy2026-09-28
1035Italy2026-10-09
1036France2026-10-04
1037India2026-10-07
1038Japan2026-09-29
1039Russia2026-10-08
1040Italy2026-10-02
1041Germany2026-09-13
1042Canada2026-09-28
1043United Kingdom2026-10-07
1044Brazil2026-10-04
1045France2026-09-12
1046Germany2026-09-14
1047India2026-09-13
1048Argentina2026-09-27
1049Germany2026-10-05

On-Demand Data

NameIdCountryDate
Greenwood H Ostrosky1000Japan2026-09-18
Mujtaba R Gaucho1001Canada2026-09-17
Leja A Stenseth1002Brazil2026-09-24
Murillo C Ferencz1003Argentina2026-09-16
Chavez Q Slusarski1004Italy2026-09-14
Smith R Venere1005Spain2026-10-06
Kadeem L Stockham1006Brazil2026-10-04
Jennifer G Bolognia1007United Kingdom2026-09-25
Sinclair M Kolmetz1008Spain2026-10-01
Leja T Gillian1009Argentina2026-09-12
Jefferson Z Schemmer1010India2026-10-10
Leja N Caldarera1011Brazil2026-09-16
Jones A Flosi1012India2026-10-08
Salvatore Z Rim1013Canada2026-09-26
Murillo Y Venere1014Japan2026-09-29
Isabel J Campain1015United Kingdom2026-10-09
Aika P Rim1016Canada2026-09-15
Juan Q Nestle1017United Kingdom2026-09-13
Clifford X Nicka1018Japan2026-10-03
Leja T Inouye1019Russia2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens L BologniaIndiaIoni Bowcher RENEWAL
Francesco X InouyeRussiaBernardo Dominic UNQUALIFIED
Stacey D KuskoRussiaIvan Magalhaes PROPOSAL
Cody M FigeroaAustraliaAnna Fali NEW
Leon S PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Leja H InouyeJapanIvan Magalhaes RENEWAL
Kadeem X StensethJapanElwin Sharvill NEW
Arvin U DarakjyAustraliaStephen Shaw QUALIFIED
Ricardo U GillianIndiaElwin Sharvill QUALIFIED
Julie J ShinkoGermanyBernardo Dominic RENEWAL
Emily P FerenczGermanyOnyama Limba NEW
Octavia K RimGermanyAsiya Javayant QUALIFIED
Murillo A GarufiIndiaAnna Fali NEW
James W KolmetzArgentinaAnna Fali NEW
Murillo H VenereFranceAmy Elsner RENEWAL
Maria E StockhamCanadaIoni Bowcher UNQUALIFIED
James V PoquetteRussiaStephen Shaw PROPOSAL
Francesco V StockhamUnited KingdomIoni Bowcher QUALIFIED
Claire T BriddickArgentinaOnyama Limba QUALIFIED
Jones B ChuiBrazilIvan Magalhaes NEGOTIATION
Emily D AlbaresAustraliaStephen Shaw UNQUALIFIED
Emily O MarrierRussiaXuxue Feng RENEWAL
Kadeem A SergiSpainXuxue Feng RENEWAL
Munro C CaudyJapanAsiya Javayant RENEWAL
Juan F PaprockiUnited KingdomOnyama Limba RENEWAL
Maisha S WieserIndiaIoni Bowcher RENEWAL
Isabel B VocelkaAustraliaOnyama Limba NEGOTIATION
Johnson V CampainUnited KingdomElwin Sharvill RENEWAL
Salvatore K GauchoAustraliaIoni Bowcher NEGOTIATION
Silvio K AmigonFranceXuxue Feng RENEWAL
Rodrigues B PoquetteArgentinaStephen Shaw PROPOSAL
Johnson U RoysterJapanXuxue Feng RENEWAL
Adams Z MaletJapanElwin Sharvill UNQUALIFIED
Silvio Z ChuiArgentinaOnyama Limba RENEWAL
Faith Z AmigonAustraliaIoni Bowcher RENEWAL
Costa J MacleadGermanyBernardo Dominic NEW
Ricardo L StensethFranceElwin Sharvill RENEWAL
Costa A BowleySpainAmy Elsner UNQUALIFIED
Ricardo S VocelkaCanadaStephen Shaw PROPOSAL
Aika K StockhamBrazilAmy Elsner PROPOSAL

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