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
Aditya P WieserGermanyAmy Elsner UNQUALIFIED
Jennifer N SlusarskiArgentinaAnna Fali PROPOSAL
Costa Q FigeroaArgentinaOnyama Limba UNQUALIFIED
Kaitlin Z MaletIndiaElwin Sharvill RENEWAL
Antonio Y SchemmerJapanAmy Elsner NEGOTIATION
Kadeem W DoeSpainAsiya Javayant PROPOSAL
Jones G InouyeGermanyBernardo Dominic RENEWAL
Silvio O MaletRussiaOnyama Limba NEW
Antonio G GlickGermanyElwin Sharvill UNQUALIFIED
Rodrigues O BowleyArgentinaStephen Shaw QUALIFIED
Faith U MarrierGermanyIoni Bowcher NEW
Isabel Z GillianArgentinaAsiya Javayant QUALIFIED
Aditya O MarrierBrazilOnyama Limba UNQUALIFIED
Mujtaba P DilliardGermanyXuxue Feng NEW
Morrow J KuskoRussiaIoni Bowcher RENEWAL
Faith M PaprockiCanadaOnyama Limba NEW
Arvin H MaletIndiaStephen Shaw NEGOTIATION
Chavez H AmigonItalyBernardo Dominic UNQUALIFIED
Ashley M BriddickAustraliaBernardo Dominic RENEWAL
David O NestleItalyAsiya Javayant PROPOSAL
Deepesh A GillianFranceOnyama Limba PROPOSAL
Nicolas X NickaUnited KingdomAnna Fali NEW
Wickens K DarakjyIndiaStephen Shaw UNQUALIFIED
Jefferson U OstroskySpainBernardo Dominic RENEWAL
Juan T MaletJapanBernardo Dominic RENEWAL
Jeanfrancois P FollerAustraliaBernardo Dominic RENEWAL
Johnson M OstroskyIndiaIoni Bowcher UNQUALIFIED
Maria L StockhamCanadaIvan Magalhaes UNQUALIFIED
Mujtaba B GillianIndiaElwin Sharvill NEW
Jennifer S WhobreyFranceOnyama Limba RENEWAL
Kaitlin T RutaJapanAnna Fali RENEWAL
Leon K MaletItalyAsiya Javayant PROPOSAL
Alejandro T CampainJapanAsiya Javayant PROPOSAL
Ashley H VenereGermanyIoni Bowcher UNQUALIFIED
Arvin U DarakjyRussiaAmy Elsner QUALIFIED
Ivar I PaprockiAustraliaIoni Bowcher RENEWAL
Jones A BologniaAustraliaElwin Sharvill NEW
Claire S AlbaresItalyStephen Shaw QUALIFIED
Arvin Q ShinkoArgentinaStephen Shaw QUALIFIED
Misaki K TollnerFranceStephen Shaw RENEWAL
Deepesh T KolmetzRussiaIoni Bowcher RENEWAL
Murillo H RutaArgentinaOnyama Limba RENEWAL
Jennifer I SergiCanadaOnyama Limba RENEWAL
Kadeem S BologniaSpainAsiya Javayant PROPOSAL
Darci I DoeRussiaElwin Sharvill NEGOTIATION
Darci D FollerBrazilBernardo Dominic NEGOTIATION
Jefferson S AlbaresCanadaOnyama Limba UNQUALIFIED
Costa F DoeBrazilIvan Magalhaes RENEWAL
Chavez A GauchoUnited KingdomXuxue Feng QUALIFIED
Mayumi K SergiIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson N BologniaAustraliaStephen Shaw PROPOSAL
Izzy V KuskoIndiaOnyama Limba NEGOTIATION
Salvatore I OldroydItalyIvan Magalhaes PROPOSAL
Silvio V WaycottAustraliaIvan Magalhaes QUALIFIED
Maria C PerinAustraliaIoni Bowcher NEGOTIATION
Maisha T RutaAustraliaOnyama Limba NEW
James E CaudySpainIvan Magalhaes PROPOSAL
Octavia L DoeRussiaIvan Magalhaes RENEWAL
Antonio X OldroydBrazilIvan Magalhaes QUALIFIED
Kadeem S MaletIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S VocelkaAustralia2026-10-05King, Christopher A Esq RENEWAL41Amy Elsner
1001Isabel I VocelkaIndia2026-10-04Chapman, Ross E Esq UNQUALIFIED86Anna Fali
1002Ivar M GillianRussia2026-10-06Truhlar And Truhlar Attys NEW19Amy Elsner
1003Morrow F DarakjyAustralia2026-10-08Rousseaux, Michael Esq QUALIFIED51Stephen Shaw
1004Jeanfrancois E BologniaArgentina2026-10-10Benton, John B Jr RENEWAL10Xuxue Feng
1005Tony V VenereItaly2026-09-16Chemel, James L Cpa UNQUALIFIED80Elwin Sharvill
1006Emily Z PaprockiGermany2026-09-21Truhlar And Truhlar Attys NEW54Ivan Magalhaes
1007Sinclair S RutaAustralia2026-10-07Truhlar And Truhlar Attys PROPOSAL96Bernardo Dominic
1008Nicolas Q SchemmerRussia2026-10-08Morlong Associates RENEWAL50Stephen Shaw
1009Rodrigues B GarufiCanada2026-10-05Printing Dimensions QUALIFIED15Xuxue Feng
1010Wickens D VocelkaAustralia2026-09-12King, Christopher A Esq NEGOTIATION85Anna Fali
1011Stacey Z CaudyArgentina2026-09-30Chemel, James L Cpa PROPOSAL70Onyama Limba
1012Cody J RutaGermany2026-09-12Chemel, James L Cpa PROPOSAL81Stephen Shaw
1013Kadeem Z TollnerRussia2026-09-30King, Christopher A Esq QUALIFIED18Amy Elsner
1014Sinclair X SchemmerRussia2026-09-27Feltz Printing Service PROPOSAL95Anna Fali
1015Munro B OstroskyGermany2026-09-19King, Christopher A Esq NEGOTIATION87Asiya Javayant
1016Kadeem C CaldareraIndia2026-10-03Chapman, Ross E Esq UNQUALIFIED15Elwin Sharvill
1017Jennifer J FlosiBrazil2026-09-30King, Christopher A Esq UNQUALIFIED71Amy Elsner
1018Deepesh T BowleyBrazil2026-09-15Printing Dimensions NEW2Bernardo Dominic
1019Aditya O StensethSpain2026-09-29Truhlar And Truhlar Attys PROPOSAL31Asiya Javayant
1020Octavia M CaudyUnited Kingdom2026-10-06Dorl, James J Esq QUALIFIED57Stephen Shaw
1021Salvatore L DoeUnited Kingdom2026-09-27Chemel, James L Cpa QUALIFIED69Anna Fali
1022Tony Y DilliardGermany2026-10-05Morlong Associates PROPOSAL72Bernardo Dominic
1023Leon D SaylorsArgentina2026-09-21Rangoni Of Florence NEW19Anna Fali
1024James F VenereGermany2026-10-10Dorl, James J Esq QUALIFIED53Ioni Bowcher
1025Maria C GlickIndia2026-09-27Dorl, James J Esq QUALIFIED77Amy Elsner
1026Stacey L SaylorsFrance2026-09-12Dorl, James J Esq NEGOTIATION20Ivan Magalhaes
1027Izzy X IturbideItaly2026-09-15Chapman, Ross E Esq QUALIFIED42Xuxue Feng
1028Salvatore V BologniaJapan2026-10-09Chemel, James L Cpa UNQUALIFIED66Amy Elsner
1029Cody W DoeAustralia2026-09-23Benton, John B Jr NEW52Asiya Javayant
1030Leja Y CaldareraBrazil2026-09-19Truhlar And Truhlar Attys NEW87Ivan Magalhaes
1031Stacey D RoysterUnited Kingdom2026-09-24Rousseaux, Michael Esq UNQUALIFIED65Amy Elsner
1032Francesco K AmigonRussia2026-09-19Feltz Printing Service RENEWAL35Asiya Javayant
1033Rodrigues F IturbideCanada2026-09-17Dorl, James J Esq RENEWAL72Anna Fali
1034Nicolas I CaudyAustralia2026-10-06Rangoni Of Florence NEGOTIATION64Onyama Limba
1035Misaki I GauchoGermany2026-09-21Commercial Press NEGOTIATION72Bernardo Dominic
1036Murillo T RutaCanada2026-10-09Commercial Press NEW24Ivan Magalhaes
1037Ivar F PoquetteAustralia2026-09-14Chanay, Jeffrey A Esq NEW96Amy Elsner
1038Jeanfrancois L GillianItaly2026-09-24Commercial Press NEGOTIATION51Onyama Limba
1039Juan R CaldareraGermany2026-10-04Morlong Associates RENEWAL48Anna Fali
1040Ivar V MorascaJapan2026-09-16Rousseaux, Michael Esq PROPOSAL60Ioni Bowcher
1041Salvatore Q CaldareraArgentina2026-09-12Buckley Miller Wright NEGOTIATION73Bernardo Dominic
1042Jones P DoeAustralia2026-09-29Feltz Printing Service QUALIFIED36Elwin Sharvill
1043Francesco Z MorascaArgentina2026-09-27Truhlar And Truhlar Attys RENEWAL52Bernardo Dominic
1044Jennifer V KolmetzCanada2026-09-27Printing Dimensions UNQUALIFIED12Ivan Magalhaes
1045Darci V KolmetzUnited Kingdom2026-10-03Chemel, James L Cpa PROPOSAL15Bernardo Dominic
1046Jones G PaprockiSpain2026-09-22Rousseaux, Michael Esq QUALIFIED51Amy Elsner
1047Mayumi D OstroskyAustralia2026-09-24Feiner Bros RENEWAL94Xuxue Feng
1048Maisha Q WieserFrance2026-09-12Rousseaux, Michael Esq QUALIFIED65Amy Elsner
1049Deepesh B CampainArgentina2026-10-07Buckley Miller Wright UNQUALIFIED57Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci E BologniaGermanyIoni Bowcher PROPOSAL
Ricardo F ChuiCanadaIvan Magalhaes QUALIFIED
James E ShinkoIndiaStephen Shaw UNQUALIFIED
Antonio J AlbaresItalyOnyama Limba NEW
Octavia U FlosiGermanyAsiya Javayant NEW
Ivar Y AlbaresBrazilIoni Bowcher UNQUALIFIED
Isabel G InouyeBrazilXuxue Feng RENEWAL
Clifford C NestleJapanIvan Magalhaes NEW
Isabel E CampainItalyXuxue Feng PROPOSAL
Antonio F WaycottIndiaOnyama Limba NEW
Ivar X SchemmerCanadaXuxue Feng RENEWAL
David V GauchoArgentinaElwin Sharvill NEW
Nicolas T GarufiCanadaStephen Shaw QUALIFIED
Maisha O MaletFranceOnyama Limba QUALIFIED
Antonio M RimFranceXuxue Feng NEW
Ricardo Y OldroydArgentinaElwin Sharvill NEGOTIATION
Smith A PerinGermanyXuxue Feng NEW
Ivar D MaletAustraliaOnyama Limba UNQUALIFIED
Adams W TollnerSpainOnyama Limba RENEWAL
Francesco Q NickaRussiaStephen Shaw RENEWAL
Jeanfrancois X FigeroaGermanyIvan Magalhaes RENEWAL
Aditya T GauchoItalyElwin Sharvill QUALIFIED
Jennifer I CampainFranceAnna Fali RENEWAL
Maisha Q DilliardJapanAsiya Javayant NEGOTIATION
Ashley F StensethSpainXuxue Feng RENEWAL
Aditya S SergiSpainOnyama Limba PROPOSAL
Alejandro X RulapaughJapanAsiya Javayant PROPOSAL
Aruna X RoysterFranceAnna Fali RENEWAL
Maria D GauchoUnited KingdomXuxue Feng QUALIFIED
Francesco H AmigonBrazilAnna Fali RENEWAL
Cody F GarufiCanadaIoni Bowcher PROPOSAL
Wickens X WhobreyIndiaBernardo Dominic PROPOSAL
Juan G IturbideFranceIvan Magalhaes NEW
David H RutaUnited KingdomElwin Sharvill RENEWAL
Jefferson Y MarrierArgentinaBernardo Dominic UNQUALIFIED
Julie Z AlbaresSpainBernardo Dominic UNQUALIFIED
Aika A SergiSpainXuxue Feng RENEWAL
Antonio S AlbaresItalyIoni Bowcher NEGOTIATION
Mujtaba U WaycottCanadaElwin Sharvill PROPOSAL
Ricardo V DoeArgentinaStephen Shaw NEGOTIATION
Octavia H InouyeFranceIvan Magalhaes PROPOSAL
Maisha Z WieserBrazilStephen Shaw NEGOTIATION
Leja Z CaldareraItalyBernardo Dominic NEGOTIATION
Darci P SlusarskiItalyElwin Sharvill UNQUALIFIED
David H MacleadSpainElwin Sharvill UNQUALIFIED
Aika S AmigonIndiaElwin Sharvill NEW
Maria U SergiSpainIvan Magalhaes PROPOSAL
Tony U FollerFranceIoni Bowcher UNQUALIFIED
Aditya S WhobreyAustraliaOnyama Limba PROPOSAL
Alejandro F MaletCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Arvin X Figeroa
Alejandro F Doe
Darci R Kusko
Silvio R Caldarera
Adams G Whobrey
Clifford Z Slusarski
Francesco M Doe
Ashley Z Figeroa
Jones A Caldarera
Maisha E Bolognia
Izzy C Perin
Sinclair Y Campain
Jones L Tollner
Emily D Caudy
Francesco R Saylors
Silvio H Dilliard
Arvin Z Ostrosky
Leja K Doe
Rodrigues M Waycott
Cody G Perin
Adams D Paprocki
Darci I Tollner
Costa T Albares
Costa P Nestle
Aika R Nestle
Mujtaba C Darakjy
Jones S Gaucho
Misaki S Shinko
Tony S Campain
Murillo P Rulapaugh
Costa V Darakjy
Leon H Bowley
Clifford W Whobrey
Nicolas U Stockham
Smith G Iturbide
Isabel D Marrier
Antonio M Garufi
David O Saylors
Smith L Dilliard
Darci O Rim
Deepesh A Stockham
Stacey K Campain
Julie K Malet
Maisha B Gaucho
Adams M Rulapaugh
Johnson Q Figeroa
Juan B Ostrosky
Emily S Paprocki
David N Wieser
Maisha W Dilliard
IdCountryDate
1000Japan2026-10-11
1001Russia2026-10-08
1002Brazil2026-10-09
1003Spain2026-10-06
1004India2026-09-23
1005United Kingdom2026-10-10
1006India2026-09-18
1007Russia2026-10-04
1008Germany2026-09-20
1009Germany2026-09-23
1010France2026-09-16
1011Brazil2026-10-03
1012Canada2026-09-28
1013Australia2026-09-26
1014France2026-09-13
1015France2026-09-13
1016Spain2026-09-25
1017Brazil2026-10-04
1018Argentina2026-09-20
1019France2026-09-25
1020Canada2026-09-25
1021Spain2026-10-08
1022France2026-09-24
1023India2026-10-09
1024Canada2026-09-16
1025Italy2026-09-30
1026India2026-09-27
1027Japan2026-09-21
1028Argentina2026-10-10
1029Germany2026-09-12
1030Russia2026-09-23
1031India2026-10-05
1032United Kingdom2026-09-15
1033Spain2026-09-16
1034Japan2026-10-08
1035Argentina2026-09-29
1036France2026-09-27
1037India2026-09-28
1038Australia2026-10-04
1039United Kingdom2026-09-16
1040United Kingdom2026-09-16
1041Russia2026-09-29
1042Italy2026-10-05
1043Brazil2026-10-11
1044Spain2026-09-26
1045United Kingdom2026-09-28
1046United Kingdom2026-10-03
1047Argentina2026-10-05
1048Germany2026-10-07
1049Brazil2026-09-22

On-Demand Data

NameIdCountryDate
Julie S Stenseth1000Australia2026-09-12
Clifford N Royster1001Japan2026-09-25
Jennifer F Campain1002Australia2026-10-03
Smith V Slusarski1003France2026-09-16
Maria N Bowley1004Brazil2026-10-07
Darci O Oldroyd1005Canada2026-09-28
Misaki U Flosi1006Brazil2026-09-24
Adams O Gillian1007Canada2026-09-13
Greenwood X Iturbide1008Argentina2026-09-14
Deepesh U Saylors1009Italy2026-09-15
Maisha Q Saylors1010Australia2026-09-15
Jones H Saylors1011India2026-10-08
Mayumi K Ruta1012Germany2026-09-15
Costa C Whobrey1013Germany2026-10-04
Cody Y Saylors1014Japan2026-09-25
Mayumi B Shinko1015France2026-10-01
Ivar L Inouye1016France2026-09-27
Smith T Nestle1017Brazil2026-09-29
Octavia Z Amigon1018Argentina2026-09-24
Johnson D Nestle1019Italy2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore O OldroydArgentinaXuxue Feng QUALIFIED
Wickens X SergiBrazilAmy Elsner NEGOTIATION
Izzy U DarakjyItalyAsiya Javayant NEGOTIATION
Aika N VenereFranceXuxue Feng QUALIFIED
Salvatore M GlickRussiaElwin Sharvill UNQUALIFIED
Aruna E AmigonFranceElwin Sharvill NEW
Leon P PaprockiGermanyAnna Fali NEGOTIATION
Aruna J FlosiUnited KingdomBernardo Dominic QUALIFIED
Morrow W DilliardCanadaStephen Shaw QUALIFIED
Francesco N ShinkoJapanOnyama Limba NEW
Jones P MacleadBrazilAsiya Javayant PROPOSAL
David Q BowleyRussiaXuxue Feng PROPOSAL
Jones S FlosiAustraliaIoni Bowcher RENEWAL
Sinclair Q MacleadJapanBernardo Dominic QUALIFIED
Ricardo O PoquetteFranceIoni Bowcher NEGOTIATION
Darci M CaldareraSpainStephen Shaw UNQUALIFIED
Leon H RimSpainIoni Bowcher PROPOSAL
Deepesh G ChuiUnited KingdomAsiya Javayant PROPOSAL
Cody O GillianBrazilAmy Elsner PROPOSAL
Chavez J WieserAustraliaStephen Shaw PROPOSAL
Alejandro F MarrierItalyXuxue Feng NEW
Alejandro B GarufiRussiaAsiya Javayant UNQUALIFIED
Smith B MorascaSpainXuxue Feng NEW
Arvin E RulapaughGermanyStephen Shaw QUALIFIED
Sinclair D MarrierGermanyXuxue Feng NEGOTIATION
Mujtaba V ShinkoArgentinaIvan Magalhaes NEGOTIATION
Izzy O InouyeAustraliaBernardo Dominic UNQUALIFIED
Darci R StockhamItalyXuxue Feng NEW
Aika P ShinkoAustraliaElwin Sharvill UNQUALIFIED
Nicolas G FollerJapanAmy Elsner NEGOTIATION
Johnson J MaletItalyAnna Fali QUALIFIED
Ivar U BologniaFranceAnna Fali QUALIFIED
Darci J SergiIndiaIvan Magalhaes PROPOSAL
Morrow N ShinkoRussiaBernardo Dominic RENEWAL
Adams G FollerItalyAnna Fali PROPOSAL
Deepesh O GillianArgentinaElwin Sharvill UNQUALIFIED
Emily D BologniaSpainAmy Elsner PROPOSAL
Claire A MaletIndiaAsiya Javayant UNQUALIFIED
Aditya G WieserRussiaIoni Bowcher PROPOSAL
Johnson V StockhamAustraliaAmy Elsner 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>