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
Chavez B RulapaughArgentinaOnyama Limba UNQUALIFIED
Maisha H WhobreyBrazilElwin Sharvill NEW
Adams R SaylorsJapanIvan Magalhaes QUALIFIED
Smith B StockhamGermanyAsiya Javayant RENEWAL
Izzy Y DarakjyArgentinaXuxue Feng RENEWAL
Izzy K DoeJapanOnyama Limba PROPOSAL
Morrow A IturbideArgentinaXuxue Feng RENEWAL
Ivar Y FerenczItalyStephen Shaw NEGOTIATION
Leja Q ChuiIndiaStephen Shaw NEGOTIATION
Salvatore X PoquetteIndiaElwin Sharvill RENEWAL
Maria J AlbaresRussiaIvan Magalhaes PROPOSAL
Clifford Q PoquetteBrazilXuxue Feng NEW
Morrow N NestleCanadaElwin Sharvill PROPOSAL
Aditya U DarakjyIndiaAsiya Javayant NEW
Antonio C RimIndiaStephen Shaw UNQUALIFIED
Nicolas F FerenczFranceOnyama Limba RENEWAL
Ricardo T ButtUnited KingdomBernardo Dominic QUALIFIED
Aditya C InouyeIndiaBernardo Dominic UNQUALIFIED
Mayumi V CampainUnited KingdomElwin Sharvill NEGOTIATION
Johnson C WieserJapanAnna Fali PROPOSAL
Faith T StensethGermanyElwin Sharvill NEGOTIATION
Nicolas J KolmetzIndiaXuxue Feng NEGOTIATION
Tony C AmigonUnited KingdomBernardo Dominic NEW
Misaki K PerinCanadaIvan Magalhaes RENEWAL
Claire W WaycottItalyOnyama Limba NEGOTIATION
Murillo Y SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Munro N GarufiJapanAmy Elsner RENEWAL
Misaki U RulapaughRussiaIvan Magalhaes QUALIFIED
Murillo B FollerBrazilBernardo Dominic PROPOSAL
Costa L SaylorsUnited KingdomXuxue Feng RENEWAL
Darci D SchemmerAustraliaElwin Sharvill NEW
Munro C KuskoGermanyXuxue Feng PROPOSAL
Claire Q WieserCanadaStephen Shaw RENEWAL
Adams D FollerUnited KingdomStephen Shaw RENEWAL
Munro V ShinkoSpainXuxue Feng QUALIFIED
Munro T PoquetteGermanyAmy Elsner QUALIFIED
Mayumi E AmigonJapanXuxue Feng RENEWAL
Claire E SlusarskiUnited KingdomBernardo Dominic RENEWAL
Ivar B VocelkaSpainIvan Magalhaes RENEWAL
Ashley W CampainIndiaIvan Magalhaes UNQUALIFIED
Ricardo I WieserSpainAsiya Javayant NEW
Izzy T VocelkaGermanyIoni Bowcher QUALIFIED
Izzy Y MaletGermanyIoni Bowcher QUALIFIED
Jefferson I AmigonJapanIoni Bowcher PROPOSAL
Leon E CaldareraRussiaOnyama Limba QUALIFIED
Sinclair Y RutaBrazilStephen Shaw QUALIFIED
Mujtaba F ButtAustraliaXuxue Feng NEGOTIATION
Aditya M GillianIndiaElwin Sharvill UNQUALIFIED
Deepesh K IturbideJapanBernardo Dominic PROPOSAL
Jeanfrancois G FlosiIndiaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire K FerenczGermanyAnna Fali NEGOTIATION
Costa E RutaItalyXuxue Feng QUALIFIED
Nicolas E MacleadSpainElwin Sharvill PROPOSAL
Sinclair G StockhamBrazilAmy Elsner UNQUALIFIED
Cody S MaletUnited KingdomAmy Elsner NEW
Izzy M GillianBrazilStephen Shaw NEGOTIATION
Chavez T KuskoItalyAnna Fali UNQUALIFIED
Izzy O DarakjySpainAmy Elsner NEGOTIATION
Munro H FigeroaCanadaStephen Shaw NEGOTIATION
Chavez A WhobreyGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson K FlosiBrazil2026-10-13Rousseaux, Michael Esq NEGOTIATION85Elwin Sharvill
1001Tony N InouyeArgentina2026-10-15Morlong Associates NEGOTIATION40Stephen Shaw
1002Aditya A DarakjyFrance2026-10-02Feiner Bros QUALIFIED34Elwin Sharvill
1003Nicolas T DarakjyFrance2026-10-23Chemel, James L Cpa QUALIFIED44Bernardo Dominic
1004Jennifer N FlosiIndia2026-10-19Commercial Press NEW54Elwin Sharvill
1005Claire R PaprockiBrazil2026-10-02Printing Dimensions NEW83Onyama Limba
1006Cody N KolmetzSpain2026-10-06Rousseaux, Michael Esq UNQUALIFIED82Stephen Shaw
1007David A FlosiUnited Kingdom2026-10-15Rangoni Of Florence QUALIFIED4Ivan Magalhaes
1008Aruna J BowleyFrance2026-10-16Rousseaux, Michael Esq NEW63Onyama Limba
1009Julie V GlickUnited Kingdom2026-10-16Printing Dimensions PROPOSAL9Ivan Magalhaes
1010Ricardo D FigeroaIndia2026-10-10Chanay, Jeffrey A Esq RENEWAL98Elwin Sharvill
1011Kaitlin C WhobreyAustralia2026-10-09Rangoni Of Florence RENEWAL6Onyama Limba
1012Johnson K CaudyUnited Kingdom2026-10-23Rangoni Of Florence NEW99Ioni Bowcher
1013Jones H OstroskySpain2026-10-25King, Christopher A Esq RENEWAL40Onyama Limba
1014Maria X GauchoFrance2026-10-05Buckley Miller Wright NEW80Anna Fali
1015Isabel D FollerIndia2026-10-28Chemel, James L Cpa RENEWAL99Stephen Shaw
1016Aika Z NickaUnited Kingdom2026-10-21Feiner Bros NEW14Xuxue Feng
1017Ricardo G GlickItaly2026-10-17Dorl, James J Esq PROPOSAL28Bernardo Dominic
1018Faith K AlbaresUnited Kingdom2026-10-23Benton, John B Jr RENEWAL6Anna Fali
1019Smith F AmigonRussia2026-10-19Buckley Miller Wright UNQUALIFIED86Asiya Javayant
1020Julie I DilliardFrance2026-10-21King, Christopher A Esq QUALIFIED57Ioni Bowcher
1021Maisha S AmigonItaly2026-10-19Feltz Printing Service NEGOTIATION48Stephen Shaw
1022Isabel E BowleyGermany2026-10-09Printing Dimensions QUALIFIED73Ioni Bowcher
1023Emily J CaldareraRussia2026-10-26Benton, John B Jr UNQUALIFIED15Bernardo Dominic
1024Julie I PaprockiJapan2026-10-22Buckley Miller Wright NEW74Ioni Bowcher
1025Deepesh S AmigonSpain2026-10-04Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1026Nicolas B CaldareraCanada2026-10-02Chapman, Ross E Esq PROPOSAL18Onyama Limba
1027Morrow Y ButtGermany2026-10-28Commercial Press QUALIFIED84Ioni Bowcher
1028Alejandro A PerinSpain2026-10-10Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1029Munro S GlickFrance2026-10-10Printing Dimensions NEGOTIATION66Amy Elsner
1030Izzy Z DilliardUnited Kingdom2026-10-26Commercial Press NEGOTIATION55Stephen Shaw
1031Aditya G GillianAustralia2026-10-18Morlong Associates RENEWAL46Asiya Javayant
1032Maisha L GillianSpain2026-10-02Truhlar And Truhlar Attys RENEWAL65Ivan Magalhaes
1033Murillo B KuskoIndia2026-10-23Morlong Associates NEGOTIATION16Asiya Javayant
1034Mujtaba B TollnerJapan2026-10-22Feltz Printing Service NEGOTIATION63Xuxue Feng
1035Ashley Z VenereRussia2026-10-11Buckley Miller Wright NEW14Amy Elsner
1036Jones X OstroskyRussia2026-10-24Printing Dimensions UNQUALIFIED5Anna Fali
1037Emily B MaletRussia2026-10-02Chapman, Ross E Esq QUALIFIED60Ioni Bowcher
1038Cody M SaylorsSpain2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED23Stephen Shaw
1039Jefferson B MacleadRussia2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED34Elwin Sharvill
1040Rodrigues E MorascaFrance2026-10-25Chemel, James L Cpa NEGOTIATION0Amy Elsner
1041Claire F CampainBrazil2026-10-24Dorl, James J Esq UNQUALIFIED14Xuxue Feng
1042Aruna Y WhobreyFrance2026-10-02Rangoni Of Florence QUALIFIED6Onyama Limba
1043Arvin B RimJapan2026-10-10Buckley Miller Wright QUALIFIED32Xuxue Feng
1044Johnson Y GlickRussia2026-10-04Feiner Bros UNQUALIFIED19Ivan Magalhaes
1045Rodrigues X TollnerIndia2026-10-25Chapman, Ross E Esq PROPOSAL79Anna Fali
1046Smith J ShinkoRussia2026-10-09Buckley Miller Wright QUALIFIED49Stephen Shaw
1047Ivar Q VocelkaArgentina2026-09-30Benton, John B Jr QUALIFIED95Xuxue Feng
1048Arvin K MacleadAustralia2026-10-26Printing Dimensions NEGOTIATION17Asiya Javayant
1049Smith B PoquetteUnited Kingdom2026-10-02Chemel, James L Cpa UNQUALIFIED31Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Z NickaSpainOnyama Limba NEGOTIATION
Faith T OldroydUnited KingdomOnyama Limba PROPOSAL
Rodrigues R SergiUnited KingdomXuxue Feng UNQUALIFIED
Sinclair S OstroskyItalyStephen Shaw NEW
Ivar R RoysterIndiaAnna Fali NEGOTIATION
Murillo I DarakjySpainAsiya Javayant QUALIFIED
Maria I RimBrazilAmy Elsner PROPOSAL
Cody I PoquetteAustraliaElwin Sharvill RENEWAL
Aditya F RoysterSpainStephen Shaw UNQUALIFIED
Ashley K VenereAustraliaAsiya Javayant RENEWAL
Juan O FigeroaBrazilOnyama Limba QUALIFIED
Murillo R InouyeIndiaAnna Fali NEGOTIATION
Antonio T VocelkaJapanAnna Fali NEW
Adams A SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Alejandro Y PerinSpainBernardo Dominic NEGOTIATION
Murillo U VocelkaBrazilIvan Magalhaes PROPOSAL
Ricardo C IturbideArgentinaBernardo Dominic NEW
Chavez K PoquetteIndiaXuxue Feng RENEWAL
Isabel T GauchoArgentinaOnyama Limba UNQUALIFIED
Chavez B StensethArgentinaBernardo Dominic RENEWAL
Chavez L RoysterUnited KingdomAnna Fali UNQUALIFIED
Costa F DoeRussiaIoni Bowcher UNQUALIFIED
Ivar A BologniaBrazilIoni Bowcher QUALIFIED
Arvin E RoysterCanadaAnna Fali RENEWAL
Adams W RoysterRussiaAsiya Javayant NEW
Nicolas K DarakjyFranceXuxue Feng NEGOTIATION
Jeanfrancois H CaldareraRussiaAsiya Javayant NEW
Sinclair G SlusarskiJapanAnna Fali PROPOSAL
Johnson K PoquetteFranceStephen Shaw PROPOSAL
Octavia U OldroydIndiaAsiya Javayant RENEWAL
Leja A PerinJapanAnna Fali PROPOSAL
Emily F CaudyRussiaAsiya Javayant NEW
Kadeem I AlbaresFranceOnyama Limba PROPOSAL
Costa Q GillianRussiaBernardo Dominic PROPOSAL
Darci K FerenczUnited KingdomXuxue Feng QUALIFIED
Maisha N NestleJapanAnna Fali NEGOTIATION
Faith T RoysterRussiaStephen Shaw NEW
Smith B GauchoArgentinaAsiya Javayant PROPOSAL
Ashley P RulapaughJapanElwin Sharvill UNQUALIFIED
Izzy V PaprockiSpainAmy Elsner UNQUALIFIED
Maria U GauchoAustraliaElwin Sharvill UNQUALIFIED
Ivar O KuskoIndiaOnyama Limba PROPOSAL
James V SchemmerRussiaIoni Bowcher RENEWAL
Aditya D PerinGermanyXuxue Feng NEW
Chavez J SaylorsSpainIvan Magalhaes UNQUALIFIED
Silvio U CaudyGermanyIoni Bowcher UNQUALIFIED
Francesco I KuskoUnited KingdomElwin Sharvill RENEWAL
Tony Z GarufiSpainAnna Fali PROPOSAL
Smith L GauchoUnited KingdomBernardo Dominic PROPOSAL
Claire D BriddickSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Misaki D Rim
Johnson R Poquette
Morrow B Venere
Wickens L Nicka
Julie M Venere
Tony E Caudy
Johnson R Dilliard
Tony W Caudy
Octavia B Stockham
Jennifer O Bolognia
Izzy V Whobrey
Francesco B Butt
David P Inouye
Ashley U Maclead
Emily S Caldarera
Mayumi V Malet
Sinclair I Morasca
Sinclair X Oldroyd
Leja K Poquette
Nicolas R Garufi
Salvatore M Wieser
Leja A Bowley
Juan P Schemmer
Jeanfrancois M Oldroyd
Darci V Poquette
Leon J Oldroyd
Isabel D Ruta
Cody R Foller
Salvatore A Nestle
Costa L Caudy
Smith F Nicka
Adams D Perin
Misaki A Perin
Deepesh X Tollner
Aika N Iturbide
Emily W Saylors
Maria K Bolognia
Leon E Rim
David W Malet
Ashley X Figeroa
Francesco T Marrier
Jennifer B Figeroa
Ashley X Foller
Tony H Caudy
Munro F Rim
Clifford E Wieser
Kadeem Q Ostrosky
Aditya X Darakjy
Greenwood P Butt
Maisha K Amigon
IdCountryDate
1000Germany2026-10-13
1001Japan2026-10-10
1002India2026-09-30
1003Germany2026-10-23
1004Japan2026-10-11
1005Spain2026-09-29
1006Australia2026-10-10
1007Canada2026-10-21
1008Argentina2026-10-26
1009France2026-10-04
1010Japan2026-10-01
1011Brazil2026-10-05
1012Spain2026-10-21
1013Argentina2026-10-19
1014Argentina2026-10-23
1015France2026-09-30
1016France2026-10-14
1017Australia2026-09-30
1018Canada2026-10-05
1019Russia2026-10-09
1020Spain2026-10-01
1021France2026-09-30
1022France2026-10-07
1023India2026-10-05
1024Australia2026-10-10
1025United Kingdom2026-10-11
1026Germany2026-10-25
1027Australia2026-10-11
1028Germany2026-10-23
1029France2026-10-04
1030Japan2026-10-17
1031United Kingdom2026-10-24
1032Argentina2026-10-13
1033Spain2026-10-06
1034India2026-10-27
1035Russia2026-10-21
1036India2026-09-29
1037Japan2026-10-04
1038Japan2026-10-03
1039India2026-10-21
1040Spain2026-10-21
1041France2026-09-29
1042Argentina2026-09-29
1043Australia2026-10-14
1044Spain2026-10-22
1045Canada2026-10-03
1046Russia2026-09-30
1047Australia2026-10-14
1048Russia2026-10-15
1049Russia2026-10-25

On-Demand Data

NameIdCountryDate
Costa L Butt1000France2026-10-16
Claire G Sergi1001Australia2026-10-25
James Q Morasca1002Germany2026-10-04
David N Venere1003Germany2026-10-19
Ashley L Royster1004Brazil2026-10-15
David Y Figeroa1005Spain2026-10-17
Ivar S Saylors1006India2026-10-15
Deepesh D Waycott1007India2026-09-30
Sinclair I Darakjy1008India2026-10-11
Sinclair Z Wieser1009Argentina2026-10-24
Tony U Figeroa1010Argentina2026-10-18
David M Butt1011Argentina2026-10-25
Jennifer I Albares1012Brazil2026-10-08
Adams E Poquette1013Spain2026-09-30
Izzy W Kolmetz1014Argentina2026-10-16
Clifford K Whobrey1015Russia2026-10-22
Alejandro S Briddick1016Australia2026-10-11
Costa L Rulapaugh1017Japan2026-09-29
Aruna T Butt1018France2026-10-01
Silvio W Gillian1019United Kingdom2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Z VocelkaArgentinaBernardo Dominic NEW
Octavia N NestleArgentinaIoni Bowcher NEW
Kadeem H RimArgentinaAmy Elsner RENEWAL
Nicolas U GarufiCanadaAmy Elsner RENEWAL
Emily A SergiFranceIvan Magalhaes NEGOTIATION
David B NickaJapanElwin Sharvill UNQUALIFIED
Sinclair H AmigonBrazilOnyama Limba PROPOSAL
Nicolas U CaudyIndiaIvan Magalhaes QUALIFIED
Chavez C SlusarskiFranceXuxue Feng UNQUALIFIED
Stacey F MacleadUnited KingdomElwin Sharvill RENEWAL
Leja O SaylorsRussiaAnna Fali RENEWAL
Aruna X KuskoFranceOnyama Limba UNQUALIFIED
Munro T SlusarskiIndiaElwin Sharvill RENEWAL
Faith Q CampainItalyAnna Fali UNQUALIFIED
Silvio N RoysterAustraliaAmy Elsner PROPOSAL
Clifford P IturbideGermanyBernardo Dominic RENEWAL
Stacey H BriddickCanadaXuxue Feng UNQUALIFIED
Jones K CaldareraItalyElwin Sharvill NEW
Munro T RutaJapanStephen Shaw NEW
Costa G ChuiGermanyElwin Sharvill QUALIFIED
Jefferson M AmigonAustraliaElwin Sharvill NEGOTIATION
Francesco Y GlickItalyAnna Fali UNQUALIFIED
Aruna P WaycottGermanyAmy Elsner QUALIFIED
Maria O RimAustraliaOnyama Limba QUALIFIED
Ricardo N DarakjyIndiaIvan Magalhaes PROPOSAL
Leon B MorascaCanadaIoni Bowcher NEW
Greenwood P PoquetteUnited KingdomAsiya Javayant QUALIFIED
Mayumi L AlbaresIndiaAnna Fali NEGOTIATION
Greenwood A OstroskyUnited KingdomAnna Fali RENEWAL
Izzy N FollerArgentinaElwin Sharvill UNQUALIFIED
Jennifer I DilliardBrazilElwin Sharvill QUALIFIED
Johnson M AmigonJapanXuxue Feng QUALIFIED
Arvin Y RutaRussiaAmy Elsner QUALIFIED
Maria I MaletFranceAsiya Javayant QUALIFIED
Ashley U IturbideGermanyXuxue Feng UNQUALIFIED
Juan K CaudySpainXuxue Feng UNQUALIFIED
Wickens S GauchoSpainElwin Sharvill QUALIFIED
Aruna W MorascaCanadaIoni Bowcher RENEWAL
Ricardo H AmigonBrazilAmy Elsner NEW
Smith F FerenczBrazilAmy Elsner 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>