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
Jennifer A FlosiIndiaIvan Magalhaes UNQUALIFIED
Arvin G AmigonArgentinaAmy Elsner PROPOSAL
Darci I GlickBrazilAnna Fali NEGOTIATION
Deepesh H GarufiArgentinaBernardo Dominic UNQUALIFIED
Aika Z PerinArgentinaIoni Bowcher QUALIFIED
Antonio Q GlickBrazilStephen Shaw UNQUALIFIED
Antonio A StensethFranceXuxue Feng UNQUALIFIED
Morrow E StensethItalyAsiya Javayant QUALIFIED
Kaitlin S FigeroaIndiaXuxue Feng UNQUALIFIED
Juan F SchemmerCanadaIvan Magalhaes UNQUALIFIED
Faith H SergiIndiaAsiya Javayant UNQUALIFIED
Wickens L ChuiFranceOnyama Limba PROPOSAL
Kaitlin U KolmetzRussiaIoni Bowcher NEW
Jones G SergiCanadaAsiya Javayant RENEWAL
Arvin U PerinRussiaElwin Sharvill RENEWAL
Francesco L FollerAustraliaIvan Magalhaes QUALIFIED
Cody Q ChuiSpainIvan Magalhaes UNQUALIFIED
Murillo Z RimFranceAnna Fali UNQUALIFIED
Adams V WaycottCanadaAsiya Javayant UNQUALIFIED
Munro N NestleGermanyElwin Sharvill NEGOTIATION
Leon S WaycottCanadaAsiya Javayant PROPOSAL
Izzy H CampainSpainStephen Shaw UNQUALIFIED
Jeanfrancois E AmigonIndiaAmy Elsner UNQUALIFIED
Munro K BowleyIndiaXuxue Feng NEW
Mujtaba G GauchoJapanIoni Bowcher UNQUALIFIED
Izzy B SchemmerSpainElwin Sharvill QUALIFIED
Ashley B DilliardSpainXuxue Feng RENEWAL
Maisha L MacleadAustraliaAmy Elsner PROPOSAL
Aruna R WieserCanadaIvan Magalhaes QUALIFIED
Stacey G BowleyJapanAnna Fali NEW
Juan S PerinCanadaBernardo Dominic PROPOSAL
Clifford R GillianItalyOnyama Limba NEW
Costa F GarufiFranceOnyama Limba PROPOSAL
Wickens M MorascaBrazilElwin Sharvill PROPOSAL
James C MarrierSpainIoni Bowcher NEGOTIATION
Chavez U DarakjyJapanElwin Sharvill PROPOSAL
Clifford T MacleadJapanAnna Fali QUALIFIED
Jefferson Y WaycottFranceElwin Sharvill RENEWAL
Wickens Z DarakjyArgentinaAmy Elsner UNQUALIFIED
Jennifer K OldroydAustraliaIvan Magalhaes UNQUALIFIED
Nicolas E IturbideCanadaOnyama Limba QUALIFIED
Emily J StensethItalyStephen Shaw NEW
Wickens Z MacleadAustraliaAnna Fali QUALIFIED
Aditya R StockhamItalyElwin Sharvill QUALIFIED
Smith U SaylorsArgentinaOnyama Limba NEGOTIATION
Sinclair S PaprockiGermanyAmy Elsner PROPOSAL
Octavia D OstroskyItalyAsiya Javayant QUALIFIED
Jennifer Q FlosiFranceElwin Sharvill NEGOTIATION
Smith Z DoeUnited KingdomIvan Magalhaes NEW
David E WieserUnited KingdomAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Cody N BriddickItalyIvan Magalhaes RENEWAL
Sinclair T FollerItalyStephen Shaw UNQUALIFIED
David R RimCanadaXuxue Feng NEW
Mujtaba M WhobreyFranceBernardo Dominic PROPOSAL
Morrow C MacleadSpainOnyama Limba RENEWAL
Johnson Q PoquetteFranceAnna Fali PROPOSAL
Adams Y BologniaFranceOnyama Limba UNQUALIFIED
Salvatore K DilliardFranceOnyama Limba PROPOSAL
Ricardo G BologniaSpainAnna Fali NEGOTIATION
Smith G WaycottAustraliaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo R AmigonAustralia2026-10-19Rangoni Of Florence NEW26Bernardo Dominic
1001Rodrigues R WaycottGermany2026-10-24Morlong Associates PROPOSAL37Onyama Limba
1002Kaitlin H BowleyUnited Kingdom2026-10-04Feltz Printing Service QUALIFIED15Xuxue Feng
1003Nicolas F WaycottAustralia2026-11-01Dorl, James J Esq UNQUALIFIED78Elwin Sharvill
1004Wickens N CaudyUnited Kingdom2026-10-04King, Christopher A Esq RENEWAL79Ioni Bowcher
1005David Y BologniaAustralia2026-10-19Chapman, Ross E Esq RENEWAL92Onyama Limba
1006Claire H BologniaFrance2026-10-11Morlong Associates QUALIFIED62Anna Fali
1007Emily F DarakjyIndia2026-10-20Commercial Press RENEWAL95Amy Elsner
1008Salvatore R DilliardBrazil2026-10-22Rousseaux, Michael Esq QUALIFIED18Stephen Shaw
1009Costa Z PerinCanada2026-10-23Morlong Associates UNQUALIFIED0Anna Fali
1010Kaitlin K VenereArgentina2026-10-29Feiner Bros RENEWAL71Bernardo Dominic
1011Aditya O BriddickAustralia2026-10-24Chanay, Jeffrey A Esq RENEWAL64Asiya Javayant
1012Aruna S GlickCanada2026-10-26Chanay, Jeffrey A Esq PROPOSAL7Onyama Limba
1013Mujtaba J RoysterAustralia2026-10-14Rousseaux, Michael Esq NEGOTIATION39Onyama Limba
1014Stacey R StensethRussia2026-10-28Feiner Bros RENEWAL69Onyama Limba
1015Sinclair Y BriddickBrazil2026-10-08Truhlar And Truhlar Attys RENEWAL22Anna Fali
1016Leja X KolmetzJapan2026-10-10Rangoni Of Florence UNQUALIFIED46Onyama Limba
1017Costa D StockhamAustralia2026-10-10King, Christopher A Esq RENEWAL94Ivan Magalhaes
1018Nicolas M InouyeIndia2026-10-12Rangoni Of Florence PROPOSAL17Xuxue Feng
1019Kaitlin D StensethJapan2026-10-23Truhlar And Truhlar Attys NEGOTIATION17Ivan Magalhaes
1020Mayumi M KuskoGermany2026-10-11Rangoni Of Florence NEGOTIATION34Anna Fali
1021Julie P InouyeCanada2026-10-05Chemel, James L Cpa UNQUALIFIED23Bernardo Dominic
1022Morrow A CaudyUnited Kingdom2026-10-13Dorl, James J Esq NEW27Onyama Limba
1023Faith O FerenczJapan2026-10-15Chanay, Jeffrey A Esq PROPOSAL40Bernardo Dominic
1024Munro V BowleySpain2026-10-27Rangoni Of Florence NEGOTIATION71Ioni Bowcher
1025David P FollerItaly2026-10-14Chanay, Jeffrey A Esq RENEWAL72Stephen Shaw
1026Leon R MaletItaly2026-10-31Feiner Bros PROPOSAL53Ivan Magalhaes
1027Costa A PoquetteUnited Kingdom2026-10-27Chanay, Jeffrey A Esq NEGOTIATION2Asiya Javayant
1028Ivar G RulapaughCanada2026-10-30Buckley Miller Wright RENEWAL87Anna Fali
1029Maisha K DoeRussia2026-10-30Rangoni Of Florence QUALIFIED8Stephen Shaw
1030Juan X GlickUnited Kingdom2026-10-18Feltz Printing Service NEGOTIATION52Bernardo Dominic
1031Ashley I SaylorsBrazil2026-10-06Rangoni Of Florence RENEWAL25Amy Elsner
1032Maisha R WhobreyBrazil2026-10-22Truhlar And Truhlar Attys PROPOSAL59Anna Fali
1033Silvio E VenereBrazil2026-10-18Rangoni Of Florence QUALIFIED78Xuxue Feng
1034James P CampainFrance2026-10-31Feiner Bros NEGOTIATION46Xuxue Feng
1035Salvatore U SlusarskiFrance2026-10-24Truhlar And Truhlar Attys PROPOSAL90Xuxue Feng
1036Adams A MorascaUnited Kingdom2026-10-21Feltz Printing Service QUALIFIED35Bernardo Dominic
1037Faith E PaprockiCanada2026-10-29Printing Dimensions QUALIFIED1Ioni Bowcher
1038Johnson H BologniaGermany2026-11-02Feiner Bros PROPOSAL18Elwin Sharvill
1039Salvatore I BriddickSpain2026-10-08Feltz Printing Service NEW18Anna Fali
1040Aditya V OstroskyRussia2026-10-22King, Christopher A Esq PROPOSAL10Ivan Magalhaes
1041Ashley Q RulapaughUnited Kingdom2026-10-12Benton, John B Jr NEW4Asiya Javayant
1042Izzy Z StockhamArgentina2026-10-15Commercial Press NEW27Xuxue Feng
1043Morrow M FigeroaArgentina2026-10-18Feiner Bros NEW19Ioni Bowcher
1044Maria H SaylorsCanada2026-10-27Printing Dimensions PROPOSAL19Anna Fali
1045Leja L ShinkoItaly2026-10-27Chemel, James L Cpa UNQUALIFIED51Anna Fali
1046Arvin Q WieserAustralia2026-10-22Benton, John B Jr RENEWAL76Stephen Shaw
1047Leja C SergiArgentina2026-10-15Truhlar And Truhlar Attys RENEWAL29Onyama Limba
1048Isabel J KolmetzItaly2026-10-26Printing Dimensions RENEWAL80Stephen Shaw
1049Antonio F FollerJapan2026-10-31Rousseaux, Michael Esq NEW85Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya K CaldareraJapanAsiya Javayant UNQUALIFIED
Ricardo T BriddickIndiaXuxue Feng UNQUALIFIED
Misaki P AmigonGermanyElwin Sharvill RENEWAL
Maisha V FlosiRussiaOnyama Limba RENEWAL
Munro I DarakjySpainElwin Sharvill UNQUALIFIED
Ashley T SchemmerJapanXuxue Feng PROPOSAL
Costa O StensethJapanElwin Sharvill NEGOTIATION
Octavia F SlusarskiJapanIvan Magalhaes QUALIFIED
Julie A MacleadRussiaIvan Magalhaes NEW
Wickens R DoeFranceStephen Shaw PROPOSAL
Arvin J ButtUnited KingdomAmy Elsner RENEWAL
Nicolas W VocelkaGermanyAsiya Javayant NEW
Jeanfrancois I MacleadArgentinaElwin Sharvill RENEWAL
Maisha O MacleadIndiaAmy Elsner NEGOTIATION
Stacey D KuskoAustraliaOnyama Limba RENEWAL
Francesco U ChuiArgentinaOnyama Limba QUALIFIED
Munro Y StensethItalyBernardo Dominic NEGOTIATION
Faith W SaylorsSpainIvan Magalhaes UNQUALIFIED
Adams J DoeCanadaXuxue Feng UNQUALIFIED
Greenwood W FigeroaRussiaElwin Sharvill RENEWAL
Mujtaba S VenereJapanStephen Shaw NEGOTIATION
Misaki L DarakjyUnited KingdomElwin Sharvill PROPOSAL
Ivar P NickaFranceAsiya Javayant RENEWAL
Johnson K BowleyUnited KingdomStephen Shaw QUALIFIED
Darci V WhobreyArgentinaAmy Elsner RENEWAL
Alejandro C ButtSpainAnna Fali NEW
Smith P NickaSpainOnyama Limba UNQUALIFIED
Maisha V ButtIndiaXuxue Feng RENEWAL
Adams S RoysterIndiaAsiya Javayant NEW
Jones G RimSpainOnyama Limba UNQUALIFIED
Leja I IturbideIndiaIvan Magalhaes PROPOSAL
Juan E TollnerCanadaOnyama Limba RENEWAL
Leja A KolmetzBrazilAmy Elsner QUALIFIED
Izzy C WhobreyUnited KingdomXuxue Feng RENEWAL
Jones J KolmetzUnited KingdomElwin Sharvill NEW
Stacey C VenereFranceIvan Magalhaes QUALIFIED
Francesco N PerinSpainAmy Elsner UNQUALIFIED
Kadeem Z NickaArgentinaAsiya Javayant PROPOSAL
Jennifer C AmigonUnited KingdomStephen Shaw PROPOSAL
James P CaldareraFranceIoni Bowcher UNQUALIFIED
Darci F GarufiUnited KingdomAsiya Javayant PROPOSAL
Ashley P CampainFranceBernardo Dominic RENEWAL
Darci L FlosiFranceStephen Shaw QUALIFIED
Leon Z FlosiRussiaAnna Fali UNQUALIFIED
Ashley Y FlosiAustraliaElwin Sharvill RENEWAL
Wickens F MaletRussiaIvan Magalhaes PROPOSAL
Costa H GarufiGermanyAsiya Javayant RENEWAL
Kaitlin Y NestleGermanyAsiya Javayant QUALIFIED
Jones X MacleadGermanyIoni Bowcher NEW
Arvin X FigeroaSpainBernardo Dominic NEW
Frozen Columns
Name
Sinclair A Amigon
Antonio F Briddick
Emily M Royster
Smith M Ostrosky
Faith V Vocelka
Sinclair V Garufi
Isabel G Butt
Mujtaba K Foller
Smith Q Foller
Faith J Flosi
Adams Z Bolognia
Munro Z Stenseth
Kaitlin R Venere
Emily Q Glick
Costa N Sergi
Izzy Z Poquette
Ivar P Caudy
Arvin S Foller
Salvatore C Bowley
Murillo B Nicka
Arvin D Inouye
James R Malet
James N Maclead
Johnson S Albares
Francesco J Kusko
Octavia T Marrier
Deepesh S Nicka
Wickens F Royster
Wickens B Rulapaugh
Salvatore O Royster
Deepesh M Inouye
Johnson M Marrier
Maria N Wieser
Clifford M Paprocki
Claire S Maclead
David T Rulapaugh
Izzy I Schemmer
Silvio G Ferencz
Jennifer A Glick
Leja T Wieser
Octavia H Royster
Greenwood X Royster
Johnson R Royster
Deepesh O Garufi
Clifford L Saylors
Smith C Ostrosky
Kadeem I Nestle
Misaki D Inouye
Smith H Tollner
Silvio R Slusarski
IdCountryDate
1000Russia2026-10-30
1001Japan2026-10-24
1002Argentina2026-10-17
1003Canada2026-10-30
1004Brazil2026-10-14
1005United Kingdom2026-10-14
1006Italy2026-11-01
1007Australia2026-10-28
1008Canada2026-10-09
1009United Kingdom2026-10-04
1010Germany2026-10-17
1011Japan2026-10-20
1012Germany2026-10-04
1013Japan2026-10-15
1014Germany2026-10-13
1015Germany2026-10-15
1016United Kingdom2026-10-22
1017Italy2026-10-06
1018Russia2026-10-08
1019Germany2026-10-08
1020Germany2026-10-25
1021France2026-11-02
1022India2026-10-12
1023United Kingdom2026-10-08
1024India2026-10-18
1025Italy2026-10-13
1026Australia2026-10-07
1027France2026-10-21
1028India2026-10-08
1029Italy2026-10-21
1030Argentina2026-10-26
1031Argentina2026-10-17
1032Brazil2026-10-21
1033Russia2026-10-14
1034Italy2026-10-10
1035Russia2026-10-07
1036India2026-10-25
1037Canada2026-11-02
1038Spain2026-10-10
1039Germany2026-10-16
1040Argentina2026-10-04
1041Argentina2026-11-02
1042Canada2026-10-19
1043France2026-10-22
1044Brazil2026-10-26
1045Japan2026-10-27
1046Russia2026-10-25
1047Australia2026-10-13
1048Argentina2026-10-19
1049United Kingdom2026-10-17

On-Demand Data

NameIdCountryDate
Chavez F Slusarski1000Brazil2026-10-23
David X Bowley1001Australia2026-10-12
Mujtaba U Caldarera1002Australia2026-10-10
James D Gillian1003India2026-10-15
Mayumi H Nestle1004Russia2026-10-30
Jones S Saylors1005Russia2026-10-06
Octavia S Wieser1006France2026-10-31
Emily F Briddick1007France2026-10-10
Clifford Z Saylors1008India2026-10-14
Rodrigues S Saylors1009Canada2026-10-15
Johnson T Rim1010India2026-10-17
Mujtaba A Nestle1011Brazil2026-10-24
Claire J Malet1012United Kingdom2026-10-20
Alejandro R Butt1013Russia2026-10-08
Jeanfrancois H Flosi1014Canada2026-10-16
Maria C Gillian1015United Kingdom2026-10-08
Alejandro O Albares1016France2026-10-20
Aruna G Shinko1017India2026-10-08
Ivar Y Marrier1018Germany2026-10-23
Morrow H Wieser1019Spain2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo J DarakjyGermanyIvan Magalhaes RENEWAL
Aika V WaycottGermanyIvan Magalhaes UNQUALIFIED
Murillo X ChuiSpainIoni Bowcher UNQUALIFIED
Chavez G GarufiBrazilAmy Elsner RENEWAL
Faith G ChuiCanadaOnyama Limba NEGOTIATION
Izzy Y TollnerJapanAsiya Javayant PROPOSAL
Mujtaba G VocelkaBrazilIoni Bowcher RENEWAL
Chavez T DoeRussiaAnna Fali NEW
Kadeem U GauchoRussiaElwin Sharvill NEW
Isabel Q RimFranceBernardo Dominic RENEWAL
Jeanfrancois N SaylorsJapanElwin Sharvill UNQUALIFIED
Emily X FigeroaRussiaAmy Elsner NEW
Kadeem D RulapaughBrazilAnna Fali NEGOTIATION
Arvin M WaycottGermanyStephen Shaw QUALIFIED
Jennifer A StensethCanadaIoni Bowcher NEW
Mayumi D FigeroaJapanBernardo Dominic RENEWAL
Kaitlin I NickaArgentinaBernardo Dominic RENEWAL
Costa K OldroydCanadaAnna Fali RENEWAL
Isabel B KolmetzItalyBernardo Dominic QUALIFIED
Mayumi I GauchoSpainIvan Magalhaes PROPOSAL
Kadeem F BologniaGermanyElwin Sharvill NEW
Leja Z RoysterBrazilIoni Bowcher PROPOSAL
Jones E GlickSpainXuxue Feng RENEWAL
Aruna X StockhamRussiaIoni Bowcher NEGOTIATION
Aruna J ButtIndiaAnna Fali NEW
Aditya T GillianIndiaAmy Elsner NEW
Chavez Z StensethArgentinaAmy Elsner PROPOSAL
Maria I AlbaresRussiaOnyama Limba QUALIFIED
Greenwood W FollerRussiaAnna Fali RENEWAL
Tony R TollnerSpainStephen Shaw UNQUALIFIED
Mujtaba C AmigonFranceAmy Elsner UNQUALIFIED
Darci N StensethJapanBernardo Dominic QUALIFIED
Alejandro I NestleRussiaAmy Elsner PROPOSAL
Claire A GlickCanadaAmy Elsner QUALIFIED
Stacey U VocelkaSpainAsiya Javayant RENEWAL
Ricardo X CampainCanadaStephen Shaw NEGOTIATION
Jeanfrancois Y StensethUnited KingdomElwin Sharvill QUALIFIED
Jefferson W PaprockiRussiaXuxue Feng NEW
Maria K FlosiIndiaIvan Magalhaes QUALIFIED
Kadeem K FerenczJapanIvan Magalhaes 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>