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
Tony G SergiJapanAmy Elsner RENEWAL
Mayumi E WieserUnited KingdomAnna Fali QUALIFIED
Jennifer E BologniaFranceIoni Bowcher PROPOSAL
Arvin H AmigonAustraliaAsiya Javayant UNQUALIFIED
Ashley B FlosiIndiaIvan Magalhaes RENEWAL
Johnson M WhobreyRussiaAnna Fali RENEWAL
Isabel B FerenczIndiaXuxue Feng NEW
Ashley Q KuskoFranceOnyama Limba RENEWAL
Smith V RulapaughAustraliaBernardo Dominic PROPOSAL
Francesco R MaletJapanAnna Fali RENEWAL
Sinclair D CaldareraJapanElwin Sharvill RENEWAL
Mujtaba P SchemmerJapanOnyama Limba PROPOSAL
David X RoysterBrazilXuxue Feng QUALIFIED
Isabel L MorascaItalyAmy Elsner QUALIFIED
Cody W KuskoJapanOnyama Limba UNQUALIFIED
Aika M ChuiArgentinaAsiya Javayant PROPOSAL
Johnson O WieserBrazilIoni Bowcher NEGOTIATION
Claire Q OstroskyRussiaBernardo Dominic QUALIFIED
Salvatore V IturbideUnited KingdomIoni Bowcher NEW
David J RulapaughItalyElwin Sharvill RENEWAL
Morrow B GarufiItalyStephen Shaw PROPOSAL
Jefferson T BriddickJapanXuxue Feng RENEWAL
Clifford T MorascaFranceXuxue Feng QUALIFIED
Darci D ShinkoGermanyBernardo Dominic QUALIFIED
Cody D StockhamJapanIoni Bowcher RENEWAL
Antonio Y BriddickArgentinaBernardo Dominic NEGOTIATION
Kaitlin Z GauchoBrazilXuxue Feng RENEWAL
Sinclair U IturbideFranceBernardo Dominic QUALIFIED
Adams O NestleSpainIvan Magalhaes RENEWAL
Wickens Y AmigonRussiaAmy Elsner QUALIFIED
Morrow P AlbaresItalyXuxue Feng RENEWAL
Tony G FerenczArgentinaIvan Magalhaes RENEWAL
David U RutaArgentinaOnyama Limba NEGOTIATION
Ricardo Q BologniaCanadaAnna Fali UNQUALIFIED
Smith K PoquetteJapanBernardo Dominic NEW
Smith B FerenczIndiaIvan Magalhaes QUALIFIED
Stacey C MarrierBrazilElwin Sharvill NEGOTIATION
Ashley R WhobreyArgentinaIvan Magalhaes QUALIFIED
Aditya L GarufiAustraliaAnna Fali PROPOSAL
James G ButtJapanAnna Fali NEGOTIATION
Jennifer N TollnerFranceBernardo Dominic NEGOTIATION
Antonio Q PoquetteCanadaOnyama Limba UNQUALIFIED
Ricardo F IturbideUnited KingdomIoni Bowcher RENEWAL
Arvin Z ShinkoArgentinaIoni Bowcher NEGOTIATION
Nicolas U StensethGermanyAnna Fali NEGOTIATION
Smith E StensethJapanOnyama Limba NEGOTIATION
Mayumi A ShinkoArgentinaOnyama Limba NEW
Ricardo J WaycottItalyOnyama Limba RENEWAL
Emily Q VenereArgentinaStephen Shaw NEW
Mujtaba P RutaIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily M CaudyItalyXuxue Feng RENEWAL
Darci H MaletIndiaStephen Shaw NEW
Aika X BowleyCanadaAsiya Javayant RENEWAL
James S KuskoFranceElwin Sharvill QUALIFIED
David K FollerUnited KingdomAmy Elsner UNQUALIFIED
Misaki I PaprockiArgentinaStephen Shaw UNQUALIFIED
Jefferson P BriddickBrazilAsiya Javayant NEGOTIATION
Mujtaba V MarrierArgentinaAmy Elsner RENEWAL
Tony O InouyeItalyIoni Bowcher RENEWAL
Cody P KuskoItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James T WhobreyArgentina2026-10-06Morlong Associates UNQUALIFIED84Stephen Shaw
1001Antonio Q ShinkoItaly2026-09-14Rangoni Of Florence PROPOSAL92Asiya Javayant
1002Aika L VenereCanada2026-09-21Commercial Press UNQUALIFIED79Ioni Bowcher
1003Misaki C NickaCanada2026-09-13Morlong Associates RENEWAL50Ivan Magalhaes
1004Greenwood M WaycottSpain2026-09-19Buckley Miller Wright RENEWAL75Ioni Bowcher
1005Salvatore A ShinkoFrance2026-10-03Feiner Bros NEGOTIATION18Onyama Limba
1006Wickens D FerenczRussia2026-09-26Rangoni Of Florence RENEWAL42Bernardo Dominic
1007Stacey W NestleFrance2026-09-29Truhlar And Truhlar Attys UNQUALIFIED95Bernardo Dominic
1008Faith J IturbideRussia2026-09-11Rousseaux, Michael Esq RENEWAL33Ivan Magalhaes
1009Murillo K GlickArgentina2026-09-09Buckley Miller Wright QUALIFIED17Amy Elsner
1010Antonio X MaletJapan2026-10-04Buckley Miller Wright UNQUALIFIED19Ivan Magalhaes
1011Ivar F ChuiAustralia2026-09-19Feiner Bros PROPOSAL67Onyama Limba
1012Mujtaba W PerinGermany2026-09-17Truhlar And Truhlar Attys NEW56Anna Fali
1013Ricardo R DilliardIndia2026-09-22Rangoni Of Florence PROPOSAL29Asiya Javayant
1014Jones V BowleyAustralia2026-09-12Feiner Bros UNQUALIFIED1Ioni Bowcher
1015Nicolas Z VenereRussia2026-09-13Chemel, James L Cpa NEGOTIATION92Bernardo Dominic
1016Adams R RoysterAustralia2026-09-18Chanay, Jeffrey A Esq NEGOTIATION40Elwin Sharvill
1017Antonio U RimGermany2026-09-08Printing Dimensions PROPOSAL70Amy Elsner
1018Kadeem J ButtUnited Kingdom2026-09-17Commercial Press NEGOTIATION32Elwin Sharvill
1019Alejandro Q SlusarskiBrazil2026-09-13King, Christopher A Esq NEW9Anna Fali
1020Antonio M OstroskyRussia2026-09-07Printing Dimensions UNQUALIFIED18Ioni Bowcher
1021Costa V StockhamArgentina2026-09-19Rousseaux, Michael Esq QUALIFIED98Ivan Magalhaes
1022Maria L WhobreyAustralia2026-09-17Commercial Press NEW32Anna Fali
1023Jennifer R AmigonBrazil2026-09-18Commercial Press UNQUALIFIED30Bernardo Dominic
1024Maisha Z ChuiItaly2026-09-25Chemel, James L Cpa NEW45Onyama Limba
1025Munro S DilliardItaly2026-09-24Feiner Bros PROPOSAL0Elwin Sharvill
1026Alejandro A ShinkoSpain2026-09-15Morlong Associates QUALIFIED26Asiya Javayant
1027Aruna B KolmetzBrazil2026-10-01Chapman, Ross E Esq QUALIFIED75Anna Fali
1028Leja A ShinkoSpain2026-10-05King, Christopher A Esq UNQUALIFIED74Xuxue Feng
1029Jones T OldroydRussia2026-09-14Truhlar And Truhlar Attys QUALIFIED22Stephen Shaw
1030Deepesh Q ShinkoAustralia2026-09-22King, Christopher A Esq NEGOTIATION72Xuxue Feng
1031Chavez K BriddickItaly2026-09-30Chapman, Ross E Esq NEGOTIATION85Onyama Limba
1032Faith V StensethFrance2026-10-06Feltz Printing Service PROPOSAL54Amy Elsner
1033David X RimIndia2026-10-04Commercial Press PROPOSAL92Anna Fali
1034Kadeem I AmigonCanada2026-09-11Rousseaux, Michael Esq NEGOTIATION10Anna Fali
1035Antonio N VenereUnited Kingdom2026-10-01Commercial Press NEGOTIATION56Anna Fali
1036Wickens F VocelkaGermany2026-09-11Feltz Printing Service NEW41Amy Elsner
1037Rodrigues M MacleadSpain2026-09-20Morlong Associates RENEWAL44Bernardo Dominic
1038Munro M FollerArgentina2026-09-08Dorl, James J Esq PROPOSAL98Bernardo Dominic
1039Ricardo P SlusarskiBrazil2026-09-29Buckley Miller Wright UNQUALIFIED31Stephen Shaw
1040James B SaylorsGermany2026-09-17Commercial Press PROPOSAL17Stephen Shaw
1041Chavez W TollnerFrance2026-09-23Dorl, James J Esq RENEWAL36Stephen Shaw
1042David I VocelkaJapan2026-09-25Morlong Associates NEGOTIATION42Elwin Sharvill
1043Francesco C InouyeBrazil2026-09-08Truhlar And Truhlar Attys NEGOTIATION28Anna Fali
1044Alejandro N PaprockiBrazil2026-09-26Morlong Associates NEGOTIATION7Anna Fali
1045Silvio R DilliardJapan2026-10-05Dorl, James J Esq RENEWAL28Amy Elsner
1046Jeanfrancois A MaletRussia2026-09-29Feiner Bros QUALIFIED72Xuxue Feng
1047Costa B DoeGermany2026-10-04Rousseaux, Michael Esq UNQUALIFIED39Onyama Limba
1048Maisha Y BologniaJapan2026-09-19Buckley Miller Wright PROPOSAL22Bernardo Dominic
1049Francesco Q RimIndia2026-09-07Commercial Press RENEWAL76Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James I KuskoItalyAnna Fali PROPOSAL
Emily H SaylorsCanadaOnyama Limba PROPOSAL
Wickens E BowleyGermanyIoni Bowcher QUALIFIED
Johnson S OstroskyBrazilOnyama Limba NEW
Kadeem Y PoquetteIndiaBernardo Dominic PROPOSAL
Kadeem J KuskoAustraliaElwin Sharvill NEGOTIATION
Arvin H BowleyJapanAmy Elsner RENEWAL
Jennifer K PaprockiIndiaAmy Elsner RENEWAL
Chavez X GillianUnited KingdomIvan Magalhaes NEGOTIATION
Leja A PerinItalyAsiya Javayant NEGOTIATION
Juan C CaldareraSpainXuxue Feng NEW
Clifford L SlusarskiArgentinaIoni Bowcher PROPOSAL
Jefferson H MorascaFranceOnyama Limba UNQUALIFIED
Silvio P BologniaAustraliaBernardo Dominic NEW
Kaitlin Z NickaSpainXuxue Feng PROPOSAL
Costa W MarrierItalyOnyama Limba UNQUALIFIED
Adams C RutaFranceBernardo Dominic QUALIFIED
Emily R SlusarskiRussiaXuxue Feng RENEWAL
Isabel E AlbaresIndiaAmy Elsner UNQUALIFIED
Maisha L WaycottBrazilIoni Bowcher NEGOTIATION
Greenwood F MaletGermanyBernardo Dominic NEGOTIATION
Octavia G FerenczUnited KingdomElwin Sharvill RENEWAL
Arvin E AlbaresGermanyAsiya Javayant PROPOSAL
Smith E VenereFranceAsiya Javayant PROPOSAL
Arvin A WhobreyFranceElwin Sharvill UNQUALIFIED
Julie Y AlbaresJapanAsiya Javayant PROPOSAL
Claire C OstroskyRussiaIoni Bowcher NEW
Julie V SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Aika F CampainCanadaIoni Bowcher UNQUALIFIED
Jefferson C IturbideGermanyStephen Shaw RENEWAL
Murillo W AmigonFranceAnna Fali QUALIFIED
Isabel I CaldareraItalyIoni Bowcher PROPOSAL
Murillo R AlbaresSpainOnyama Limba UNQUALIFIED
Mayumi L MacleadUnited KingdomElwin Sharvill QUALIFIED
Aika E BriddickIndiaAmy Elsner NEGOTIATION
Greenwood F VenereUnited KingdomIvan Magalhaes QUALIFIED
Nicolas R RimBrazilXuxue Feng PROPOSAL
Salvatore O SaylorsSpainAnna Fali RENEWAL
Jefferson W SaylorsJapanAsiya Javayant RENEWAL
Mujtaba I ChuiJapanXuxue Feng NEGOTIATION
Darci L CampainFranceBernardo Dominic NEGOTIATION
Johnson T TollnerCanadaXuxue Feng RENEWAL
Aika B SchemmerUnited KingdomStephen Shaw QUALIFIED
Emily Q MaletJapanBernardo Dominic UNQUALIFIED
Aika R DoeGermanyAsiya Javayant QUALIFIED
Munro T KolmetzAustraliaIvan Magalhaes QUALIFIED
Tony K AlbaresBrazilAnna Fali PROPOSAL
Kadeem B SaylorsUnited KingdomBernardo Dominic RENEWAL
Wickens G WaycottArgentinaIvan Magalhaes NEW
Kaitlin D DilliardCanadaBernardo Dominic RENEWAL
Frozen Columns
Name
Claire D Poquette
Aditya R Poquette
David M Paprocki
Claire A Rulapaugh
Chavez X Maclead
Aika P Bowley
Tony B Rim
Claire U Amigon
Morrow A Chui
Aika F Chui
Silvio X Figeroa
Tony P Saylors
Johnson Z Venere
Smith V Flosi
Stacey S Ruta
Misaki W Inouye
Arvin B Malet
Nicolas L Rulapaugh
Maisha B Stockham
Costa V Vocelka
Silvio J Amigon
Cody E Gillian
Rodrigues M Doe
Isabel C Campain
Aika I Albares
Sinclair G Iturbide
James Y Stockham
Faith E Kolmetz
Rodrigues Z Rulapaugh
Maisha J Venere
Cody G Poquette
Sinclair E Slusarski
Izzy J Bowley
Leon W Iturbide
Ashley C Briddick
Maisha N Schemmer
Chavez Y Poquette
Aika H Inouye
Costa Z Amigon
Claire C Inouye
Tony P Briddick
Misaki U Caudy
Clifford G Sergi
Kaitlin Y Butt
Leja H Briddick
Ivar D Saylors
Kadeem P Gillian
Chavez G Paprocki
Greenwood T Kolmetz
Claire A Sergi
IdCountryDate
1000Spain2026-09-16
1001United Kingdom2026-09-21
1002Germany2026-09-15
1003India2026-09-28
1004Russia2026-10-03
1005Spain2026-09-24
1006Spain2026-09-12
1007Russia2026-10-04
1008Italy2026-10-04
1009Australia2026-09-24
1010Canada2026-09-10
1011Russia2026-10-04
1012United Kingdom2026-10-03
1013Spain2026-09-27
1014Japan2026-10-04
1015Argentina2026-09-21
1016Australia2026-09-12
1017Germany2026-09-21
1018Germany2026-09-11
1019France2026-09-24
1020Argentina2026-09-07
1021Brazil2026-09-27
1022Italy2026-09-12
1023Canada2026-09-26
1024Russia2026-09-27
1025United Kingdom2026-09-08
1026Spain2026-10-03
1027Canada2026-09-14
1028Argentina2026-09-10
1029Canada2026-10-06
1030Spain2026-09-25
1031France2026-09-20
1032Russia2026-09-24
1033France2026-09-18
1034Spain2026-09-18
1035Brazil2026-10-02
1036Germany2026-09-19
1037Spain2026-10-02
1038France2026-10-05
1039United Kingdom2026-10-05
1040India2026-10-03
1041Spain2026-09-08
1042Japan2026-10-02
1043Japan2026-10-06
1044Japan2026-09-18
1045Russia2026-09-28
1046France2026-09-19
1047Germany2026-09-19
1048United Kingdom2026-10-01
1049Brazil2026-09-29

On-Demand Data

NameIdCountryDate
Octavia O Maclead1000Russia2026-09-16
Misaki V Tollner1001Japan2026-09-15
Chavez N Garufi1002Japan2026-09-28
Murillo V Kusko1003Argentina2026-09-18
Chavez R Chui1004Argentina2026-09-11
Darci F Garufi1005Spain2026-10-01
Smith D Morasca1006Brazil2026-09-25
Julie S Wieser1007Argentina2026-09-14
Darci W Royster1008Japan2026-09-22
Costa U Doe1009United Kingdom2026-10-04
Aditya K Albares1010Canada2026-10-06
Jennifer Z Poquette1011Argentina2026-10-03
Adams T Sergi1012India2026-09-19
Mayumi V Nestle1013Japan2026-09-23
Misaki R Venere1014Germany2026-09-21
Leon I Garufi1015Brazil2026-09-25
Chavez U Dilliard1016Germany2026-09-16
Mayumi T Waycott1017Argentina2026-09-09
Francesco W Chui1018Argentina2026-09-10
Clifford C Ferencz1019India2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin N WieserRussiaOnyama Limba UNQUALIFIED
Misaki T VocelkaRussiaIvan Magalhaes UNQUALIFIED
Stacey K WaycottGermanyAmy Elsner QUALIFIED
Ashley R WieserCanadaXuxue Feng UNQUALIFIED
Aruna C ButtFranceIvan Magalhaes NEGOTIATION
Claire M AlbaresAustraliaAsiya Javayant PROPOSAL
Ashley W DoeFranceXuxue Feng NEGOTIATION
Alejandro E CaudyGermanyIvan Magalhaes PROPOSAL
Deepesh R CaudyJapanStephen Shaw PROPOSAL
Izzy W OstroskyUnited KingdomXuxue Feng RENEWAL
Julie R ShinkoCanadaAsiya Javayant RENEWAL
Jennifer G FlosiArgentinaAmy Elsner UNQUALIFIED
Sinclair W FlosiArgentinaBernardo Dominic NEW
Maisha A VenereIndiaElwin Sharvill NEW
Stacey Y BowleyJapanStephen Shaw UNQUALIFIED
Leja S AmigonIndiaBernardo Dominic UNQUALIFIED
David N KolmetzSpainIoni Bowcher NEW
Chavez A DoeCanadaAsiya Javayant QUALIFIED
Chavez D SaylorsItalyOnyama Limba RENEWAL
Tony A GarufiArgentinaAnna Fali UNQUALIFIED
Costa B WieserJapanElwin Sharvill QUALIFIED
Emily T FlosiUnited KingdomStephen Shaw PROPOSAL
Munro W BriddickFranceStephen Shaw NEW
Tony Q WaycottRussiaOnyama Limba QUALIFIED
Julie D CampainIndiaIoni Bowcher NEGOTIATION
Smith F RoysterItalyStephen Shaw PROPOSAL
Jefferson I FigeroaJapanElwin Sharvill UNQUALIFIED
Arvin K PerinUnited KingdomOnyama Limba QUALIFIED
Greenwood O BologniaGermanyBernardo Dominic UNQUALIFIED
Wickens N MorascaGermanyStephen Shaw QUALIFIED
Tony U WieserItalyAsiya Javayant RENEWAL
Jones E MaletAustraliaAsiya Javayant NEW
Silvio W GarufiUnited KingdomAsiya Javayant NEGOTIATION
Octavia V MorascaArgentinaAsiya Javayant PROPOSAL
Rodrigues D RoysterCanadaAnna Fali PROPOSAL
Maisha W GauchoSpainBernardo Dominic UNQUALIFIED
Salvatore E PaprockiIndiaAnna Fali QUALIFIED
Cody J FlosiAustraliaElwin Sharvill RENEWAL
Mayumi K GarufiItalyStephen Shaw NEW
Chavez A CaudyRussiaOnyama Limba 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>