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
Ricardo R SaylorsGermanyAsiya Javayant PROPOSAL
Kaitlin Q CaldareraItalyBernardo Dominic QUALIFIED
Jeanfrancois P FlosiFranceAsiya Javayant QUALIFIED
Aditya I PerinBrazilAmy Elsner UNQUALIFIED
Julie O KuskoBrazilOnyama Limba NEW
Izzy E FollerArgentinaAmy Elsner NEGOTIATION
Juan N VenereRussiaAnna Fali NEGOTIATION
Izzy N NestleUnited KingdomElwin Sharvill QUALIFIED
Misaki R CaldareraItalyAsiya Javayant PROPOSAL
Misaki T FlosiIndiaStephen Shaw NEGOTIATION
Leon D FerenczItalyBernardo Dominic PROPOSAL
Faith M RulapaughArgentinaAmy Elsner PROPOSAL
Johnson T OstroskyCanadaStephen Shaw NEW
Nicolas S BriddickItalyAmy Elsner QUALIFIED
Jeanfrancois D VenereFranceIvan Magalhaes UNQUALIFIED
Morrow N ShinkoCanadaXuxue Feng QUALIFIED
Claire U RutaGermanyAsiya Javayant UNQUALIFIED
Aika O GarufiArgentinaXuxue Feng QUALIFIED
Faith O PoquetteUnited KingdomAsiya Javayant RENEWAL
Munro I CampainRussiaIvan Magalhaes QUALIFIED
Arvin T PoquetteCanadaElwin Sharvill RENEWAL
Aika M BowleyCanadaStephen Shaw PROPOSAL
Jefferson D GarufiRussiaAmy Elsner NEGOTIATION
Leon W GlickUnited KingdomXuxue Feng RENEWAL
Arvin C StensethArgentinaStephen Shaw NEW
Jefferson Y NestleArgentinaIoni Bowcher QUALIFIED
Octavia J StensethAustraliaAmy Elsner NEGOTIATION
Smith H StockhamFranceBernardo Dominic RENEWAL
Faith J DilliardJapanStephen Shaw UNQUALIFIED
Johnson Z CaudyItalyOnyama Limba PROPOSAL
Maria N PoquetteItalyAnna Fali RENEWAL
Julie B TollnerAustraliaElwin Sharvill PROPOSAL
Aditya G ButtCanadaAnna Fali NEGOTIATION
Chavez Q PaprockiBrazilAsiya Javayant NEW
David B SergiJapanOnyama Limba PROPOSAL
Izzy Y AmigonCanadaOnyama Limba UNQUALIFIED
Maria T OstroskySpainIvan Magalhaes PROPOSAL
Faith K StockhamBrazilIoni Bowcher NEGOTIATION
Aruna T WaycottRussiaIoni Bowcher NEW
Chavez K GillianRussiaIvan Magalhaes UNQUALIFIED
Alejandro B AlbaresAustraliaAsiya Javayant RENEWAL
Antonio T RulapaughArgentinaAmy Elsner PROPOSAL
Kadeem S NickaCanadaBernardo Dominic RENEWAL
Stacey D FigeroaGermanyElwin Sharvill UNQUALIFIED
Isabel N MacleadBrazilStephen Shaw RENEWAL
Johnson P GauchoArgentinaIoni Bowcher RENEWAL
Aditya E CaudyAustraliaAnna Fali PROPOSAL
Maisha O KolmetzUnited KingdomAnna Fali NEW
Ricardo C IturbideIndiaAmy Elsner QUALIFIED
David E WaycottRussiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Z ChuiFranceIvan Magalhaes RENEWAL
Adams I CaudySpainAsiya Javayant QUALIFIED
Leja O KolmetzAustraliaBernardo Dominic NEW
Nicolas B BriddickFranceIoni Bowcher PROPOSAL
Sinclair K RulapaughFranceIoni Bowcher NEGOTIATION
Murillo P MarrierArgentinaAnna Fali NEGOTIATION
Isabel Q OstroskyFranceStephen Shaw QUALIFIED
Alejandro C ButtRussiaElwin Sharvill NEGOTIATION
Maria E ChuiArgentinaAsiya Javayant NEGOTIATION
Arvin W SlusarskiItalyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja B KuskoBrazil2026-09-11Chapman, Ross E Esq PROPOSAL19Xuxue Feng
1001Silvio M GauchoFrance2026-09-21Rangoni Of Florence PROPOSAL95Onyama Limba
1002Leon C SaylorsItaly2026-09-26Feiner Bros RENEWAL78Amy Elsner
1003Silvio L GauchoAustralia2026-10-04Printing Dimensions NEGOTIATION72Ioni Bowcher
1004Antonio P FerenczAustralia2026-09-30Rangoni Of Florence RENEWAL90Xuxue Feng
1005Tony D FlosiCanada2026-10-02Chapman, Ross E Esq PROPOSAL12Ivan Magalhaes
1006Costa U CampainAustralia2026-09-14Commercial Press NEW58Asiya Javayant
1007Kaitlin V RoysterJapan2026-09-27Dorl, James J Esq NEW70Bernardo Dominic
1008Aruna N WieserCanada2026-09-25Rangoni Of Florence UNQUALIFIED95Stephen Shaw
1009Nicolas I MorascaGermany2026-09-23Commercial Press QUALIFIED33Elwin Sharvill
1010Costa V IturbideAustralia2026-10-04Feltz Printing Service NEGOTIATION25Ivan Magalhaes
1011Leon E BowleyIndia2026-10-06Commercial Press NEGOTIATION40Anna Fali
1012Darci C BowleyIndia2026-09-22Chanay, Jeffrey A Esq RENEWAL45Xuxue Feng
1013Smith U FigeroaSpain2026-10-04Commercial Press QUALIFIED60Ivan Magalhaes
1014Ashley S PerinJapan2026-09-15Morlong Associates NEW49Elwin Sharvill
1015Darci U SergiCanada2026-09-09Printing Dimensions UNQUALIFIED35Asiya Javayant
1016Adams Y FollerArgentina2026-09-13Commercial Press PROPOSAL72Amy Elsner
1017Stacey Z WaycottGermany2026-09-18Morlong Associates NEGOTIATION71Bernardo Dominic
1018Jefferson K CampainIndia2026-09-16Chanay, Jeffrey A Esq NEGOTIATION89Xuxue Feng
1019Alejandro N WhobreyFrance2026-09-30Chemel, James L Cpa NEGOTIATION39Onyama Limba
1020Octavia Y GarufiUnited Kingdom2026-10-05Buckley Miller Wright NEGOTIATION55Bernardo Dominic
1021James W WaycottFrance2026-10-04Printing Dimensions PROPOSAL18Xuxue Feng
1022Antonio C FigeroaCanada2026-10-01Feiner Bros NEW49Elwin Sharvill
1023Silvio C SchemmerRussia2026-09-26Rangoni Of Florence NEW24Ivan Magalhaes
1024Clifford Z InouyeSpain2026-10-05Chanay, Jeffrey A Esq NEW57Anna Fali
1025Jennifer Z FlosiCanada2026-09-20Dorl, James J Esq RENEWAL78Amy Elsner
1026Emily O SchemmerBrazil2026-09-09Benton, John B Jr UNQUALIFIED65Anna Fali
1027Alejandro N MaletAustralia2026-09-27Chapman, Ross E Esq PROPOSAL58Ioni Bowcher
1028Jefferson O RulapaughItaly2026-09-29Commercial Press PROPOSAL12Xuxue Feng
1029Morrow T MarrierRussia2026-09-11King, Christopher A Esq NEW64Stephen Shaw
1030Darci I SchemmerUnited Kingdom2026-09-26Truhlar And Truhlar Attys RENEWAL8Bernardo Dominic
1031Chavez V RimItaly2026-09-19Dorl, James J Esq PROPOSAL28Asiya Javayant
1032Juan Q DilliardArgentina2026-09-28Feiner Bros RENEWAL35Elwin Sharvill
1033Aruna Y StockhamUnited Kingdom2026-09-11Rangoni Of Florence UNQUALIFIED5Stephen Shaw
1034Wickens M MarrierAustralia2026-09-25Chanay, Jeffrey A Esq PROPOSAL10Ivan Magalhaes
1035Emily B DarakjyJapan2026-09-29Feiner Bros NEGOTIATION7Onyama Limba
1036Jeanfrancois J NestleCanada2026-09-21Benton, John B Jr NEW23Amy Elsner
1037Jones T SchemmerCanada2026-09-26Chapman, Ross E Esq QUALIFIED25Bernardo Dominic
1038Murillo G AlbaresJapan2026-09-18King, Christopher A Esq RENEWAL24Asiya Javayant
1039Leon Q ShinkoRussia2026-09-11Buckley Miller Wright NEGOTIATION3Ivan Magalhaes
1040Mayumi U FlosiCanada2026-10-02Chanay, Jeffrey A Esq NEGOTIATION41Elwin Sharvill
1041Emily T ShinkoSpain2026-09-20Commercial Press NEW10Onyama Limba
1042Mujtaba V AlbaresSpain2026-10-08Morlong Associates PROPOSAL8Onyama Limba
1043Mujtaba R TollnerJapan2026-09-14Chemel, James L Cpa UNQUALIFIED82Onyama Limba
1044Leon G NickaCanada2026-10-06Chemel, James L Cpa NEGOTIATION15Asiya Javayant
1045Antonio Y KolmetzCanada2026-10-05Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1046Jones B MacleadIndia2026-09-11Truhlar And Truhlar Attys NEW69Anna Fali
1047Costa A SergiFrance2026-10-06Truhlar And Truhlar Attys NEGOTIATION66Amy Elsner
1048Kaitlin A OldroydIndia2026-10-07Morlong Associates RENEWAL90Bernardo Dominic
1049Francesco N ButtCanada2026-09-23Truhlar And Truhlar Attys RENEWAL54Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aika N SlusarskiBrazilAsiya Javayant QUALIFIED
Leja P RimItalyOnyama Limba PROPOSAL
Isabel I MaletCanadaAsiya Javayant NEGOTIATION
Leja V ButtRussiaOnyama Limba NEW
Murillo N StensethIndiaStephen Shaw RENEWAL
Claire W ChuiCanadaBernardo Dominic RENEWAL
Francesco V GauchoJapanBernardo Dominic UNQUALIFIED
Nicolas Q IturbideAustraliaXuxue Feng NEW
Morrow B WaycottBrazilAmy Elsner PROPOSAL
Claire N PoquetteGermanyIvan Magalhaes RENEWAL
Maria Z DilliardArgentinaAmy Elsner NEGOTIATION
Murillo F WieserItalyBernardo Dominic NEW
Jones W CaldareraUnited KingdomStephen Shaw PROPOSAL
Cody P GlickFranceBernardo Dominic NEW
Faith E FlosiItalyIoni Bowcher NEW
Nicolas S OstroskyArgentinaAsiya Javayant RENEWAL
Ricardo Y VenereFranceAmy Elsner RENEWAL
Leon A NickaIndiaElwin Sharvill RENEWAL
Sinclair D SaylorsCanadaElwin Sharvill RENEWAL
Ricardo O ShinkoJapanAsiya Javayant RENEWAL
Kaitlin L ShinkoIndiaElwin Sharvill UNQUALIFIED
Izzy O VenereGermanyStephen Shaw QUALIFIED
Francesco B PerinArgentinaAnna Fali NEW
Izzy C GarufiUnited KingdomAnna Fali PROPOSAL
Greenwood O OldroydBrazilOnyama Limba NEW
James E VenereCanadaStephen Shaw UNQUALIFIED
Kadeem I WaycottFranceAnna Fali RENEWAL
Cody N KuskoSpainAsiya Javayant RENEWAL
Mujtaba F NestleIndiaIvan Magalhaes RENEWAL
Greenwood P GarufiUnited KingdomElwin Sharvill RENEWAL
Maria Y WhobreySpainOnyama Limba RENEWAL
Stacey D KuskoCanadaAnna Fali NEGOTIATION
Costa U DilliardBrazilOnyama Limba UNQUALIFIED
Rodrigues O OstroskyItalyIvan Magalhaes PROPOSAL
Arvin D DarakjyArgentinaElwin Sharvill QUALIFIED
Silvio J KuskoAustraliaIvan Magalhaes NEW
Aditya S StockhamItalyOnyama Limba QUALIFIED
Salvatore B BriddickBrazilAmy Elsner UNQUALIFIED
Aruna J OldroydSpainIoni Bowcher QUALIFIED
Darci I PaprockiFranceIvan Magalhaes RENEWAL
Maria G WaycottUnited KingdomOnyama Limba UNQUALIFIED
Maria X MaletUnited KingdomElwin Sharvill QUALIFIED
Aruna B PerinUnited KingdomBernardo Dominic NEW
Stacey G ShinkoCanadaAmy Elsner NEW
Jeanfrancois J StensethBrazilStephen Shaw RENEWAL
Chavez K BowleyJapanIoni Bowcher RENEWAL
Aditya N GarufiAustraliaAmy Elsner RENEWAL
Maisha N PerinIndiaAsiya Javayant NEW
Arvin K BriddickItalyBernardo Dominic NEW
Smith P WieserSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Sinclair V Schemmer
Cody T Ferencz
Nicolas S Malet
Deepesh Z Doe
Jones M Amigon
Kadeem Q Vocelka
David V Sergi
Antonio R Amigon
Jennifer B Ostrosky
Aditya W Morasca
Ivar Q Morasca
Darci M Royster
Jones B Vocelka
Mujtaba G Iturbide
Rodrigues M Nicka
Kaitlin W Waycott
Mujtaba H Slusarski
Ricardo F Malet
Juan W Ferencz
Deepesh S Shinko
Kadeem W Garufi
David M Chui
Claire J Nestle
Darci B Briddick
Rodrigues E Albares
Cody E Tollner
Aika K Sergi
Tony E Tollner
Alejandro M Kolmetz
Leja Y Bowley
Clifford Y Chui
Ricardo Y Tollner
Jeanfrancois V Morasca
Salvatore N Stockham
Kaitlin P Vocelka
Salvatore L Whobrey
Darci T Royster
Aruna I Iturbide
Morrow V Venere
Ashley R Albares
Nicolas T Briddick
Johnson R Malet
Maisha S Ferencz
Claire Z Doe
Kaitlin T Nicka
Smith H Ferencz
Julie W Nestle
Johnson D Marrier
Emily L Bolognia
Silvio E Bowley
IdCountryDate
1000Italy2026-09-23
1001Germany2026-09-17
1002Italy2026-09-29
1003Argentina2026-10-04
1004India2026-10-04
1005France2026-10-05
1006Argentina2026-09-30
1007Canada2026-10-04
1008Canada2026-10-07
1009Japan2026-09-16
1010Japan2026-10-02
1011United Kingdom2026-10-04
1012Australia2026-09-27
1013Japan2026-09-15
1014Australia2026-10-02
1015Australia2026-10-04
1016United Kingdom2026-10-05
1017Australia2026-10-07
1018Germany2026-09-20
1019India2026-09-12
1020Russia2026-09-20
1021India2026-09-10
1022Australia2026-09-15
1023Japan2026-09-17
1024Australia2026-09-21
1025Germany2026-10-03
1026Brazil2026-09-15
1027Japan2026-09-23
1028India2026-10-07
1029Australia2026-09-29
1030Australia2026-09-18
1031Canada2026-09-19
1032Spain2026-09-19
1033Italy2026-09-23
1034India2026-09-11
1035France2026-10-08
1036Spain2026-10-07
1037Germany2026-10-06
1038Australia2026-09-16
1039France2026-09-27
1040Brazil2026-09-21
1041Brazil2026-09-24
1042Spain2026-09-13
1043Canada2026-10-02
1044Spain2026-09-19
1045Argentina2026-09-17
1046Japan2026-09-16
1047Brazil2026-09-12
1048Argentina2026-09-16
1049Spain2026-09-27

On-Demand Data

NameIdCountryDate
Maria L Vocelka1000Japan2026-10-05
Arvin D Saylors1001United Kingdom2026-09-19
Morrow G Malet1002Germany2026-09-25
Silvio X Vocelka1003Russia2026-09-13
Arvin C Waycott1004Canada2026-09-21
Darci D Venere1005United Kingdom2026-09-15
Jefferson X Whobrey1006Germany2026-09-25
Mayumi M Caudy1007Canada2026-09-13
Claire A Nestle1008Italy2026-09-17
Munro H Glick1009France2026-09-27
Murillo U Flosi1010Russia2026-09-29
Jones X Doe1011Argentina2026-10-03
Mayumi O Wieser1012Canada2026-09-16
Morrow Z Ferencz1013Australia2026-10-05
Johnson F Ferencz1014Germany2026-09-30
Deepesh D Malet1015Canada2026-09-27
James P Waycott1016Australia2026-09-14
Murillo T Foller1017Japan2026-09-13
Misaki V Ostrosky1018Australia2026-09-16
Ivar F Caudy1019Brazil2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith G MarrierAustraliaAsiya Javayant RENEWAL
Munro X WieserArgentinaStephen Shaw PROPOSAL
Stacey M PerinBrazilElwin Sharvill UNQUALIFIED
Ivar J GillianIndiaElwin Sharvill QUALIFIED
Adams H OldroydItalyBernardo Dominic NEGOTIATION
Deepesh T IturbideArgentinaXuxue Feng QUALIFIED
Greenwood Z RimFranceIvan Magalhaes NEW
Maria I SchemmerIndiaAmy Elsner RENEWAL
Mujtaba O GauchoGermanyAnna Fali RENEWAL
Juan R SlusarskiJapanStephen Shaw QUALIFIED
Cody F RimGermanyBernardo Dominic QUALIFIED
Leon R PoquetteBrazilAmy Elsner NEW
Darci L InouyeIndiaStephen Shaw NEGOTIATION
Francesco M WhobreyAustraliaIvan Magalhaes RENEWAL
Clifford N MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Clifford C IturbideRussiaAmy Elsner UNQUALIFIED
Munro T CampainRussiaXuxue Feng RENEWAL
Jeanfrancois O WaycottItalyStephen Shaw NEGOTIATION
Kaitlin Z GillianRussiaIoni Bowcher UNQUALIFIED
Chavez C ShinkoSpainXuxue Feng RENEWAL
Kaitlin N ButtCanadaAnna Fali QUALIFIED
Clifford F VenereCanadaXuxue Feng UNQUALIFIED
Stacey C BologniaCanadaAsiya Javayant QUALIFIED
Costa R MorascaArgentinaAnna Fali NEGOTIATION
Adams W ShinkoSpainOnyama Limba NEW
Salvatore T KolmetzItalyStephen Shaw NEGOTIATION
Leja E NickaFranceAsiya Javayant NEW
Ashley O DarakjyItalyIvan Magalhaes QUALIFIED
Deepesh V ButtGermanyAsiya Javayant PROPOSAL
Aditya U PaprockiBrazilIvan Magalhaes PROPOSAL
Julie P FerenczSpainIvan Magalhaes NEGOTIATION
Maria B RulapaughBrazilIvan Magalhaes RENEWAL
Octavia J CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel W TollnerBrazilBernardo Dominic NEGOTIATION
Antonio Y OldroydArgentinaAnna Fali NEGOTIATION
Smith K BologniaBrazilOnyama Limba NEW
Kaitlin T CampainGermanyElwin Sharvill QUALIFIED
David N SaylorsAustraliaXuxue Feng QUALIFIED
Antonio G DoeJapanOnyama Limba UNQUALIFIED
Aika M InouyeSpainStephen Shaw UNQUALIFIED

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