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
Munro T FerenczArgentinaIvan Magalhaes PROPOSAL
Wickens V OstroskyCanadaAmy Elsner PROPOSAL
Darci U OldroydCanadaBernardo Dominic QUALIFIED
James A PerinArgentinaAmy Elsner UNQUALIFIED
Aruna A KolmetzItalyAnna Fali NEW
Deepesh Q VenereGermanyOnyama Limba UNQUALIFIED
Aditya C BriddickJapanAsiya Javayant NEGOTIATION
Greenwood I MarrierSpainOnyama Limba NEW
Izzy T WhobreyFranceIvan Magalhaes NEW
Murillo Z AlbaresBrazilOnyama Limba QUALIFIED
Leon Z FollerGermanyAmy Elsner NEW
Aika I CaudyJapanBernardo Dominic NEW
Julie P VocelkaCanadaAmy Elsner NEW
Juan G AlbaresArgentinaIoni Bowcher QUALIFIED
Chavez H RimGermanyXuxue Feng NEW
Aruna M DilliardFranceElwin Sharvill QUALIFIED
Adams I FerenczRussiaStephen Shaw NEGOTIATION
Adams Q FollerFranceXuxue Feng NEGOTIATION
Maria U RimBrazilIoni Bowcher NEW
Jones C WaycottFranceAmy Elsner UNQUALIFIED
Aika J MacleadItalyIoni Bowcher NEGOTIATION
Jeanfrancois H SergiJapanIoni Bowcher RENEWAL
Greenwood P KolmetzFranceBernardo Dominic NEW
Costa S GlickJapanXuxue Feng NEW
Rodrigues B KuskoJapanIoni Bowcher NEW
Greenwood M MorascaGermanyAmy Elsner QUALIFIED
Jones F ShinkoItalyAsiya Javayant UNQUALIFIED
Mayumi T SaylorsArgentinaAmy Elsner UNQUALIFIED
Sinclair A KolmetzJapanStephen Shaw UNQUALIFIED
Mujtaba K BriddickIndiaElwin Sharvill PROPOSAL
Murillo N ShinkoArgentinaAnna Fali QUALIFIED
Kadeem U GlickCanadaOnyama Limba QUALIFIED
Leja W FerenczUnited KingdomStephen Shaw NEW
Misaki K WaycottJapanOnyama Limba NEW
Aditya T StensethItalyIvan Magalhaes NEGOTIATION
Octavia W GauchoCanadaIoni Bowcher PROPOSAL
Izzy O RoysterSpainAsiya Javayant NEGOTIATION
Francesco A DoeRussiaBernardo Dominic NEGOTIATION
James A AmigonArgentinaOnyama Limba NEW
Emily N FlosiUnited KingdomIoni Bowcher QUALIFIED
Tony P KuskoFranceXuxue Feng NEGOTIATION
Izzy H OldroydSpainAnna Fali RENEWAL
Alejandro I OstroskySpainOnyama Limba NEGOTIATION
Kaitlin L MorascaBrazilAsiya Javayant NEGOTIATION
Alejandro R FigeroaIndiaXuxue Feng RENEWAL
Aika B StockhamItalyAmy Elsner RENEWAL
Smith F KolmetzBrazilOnyama Limba PROPOSAL
Salvatore R FollerGermanyIoni Bowcher NEW
Francesco X ChuiIndiaStephen Shaw RENEWAL
James P DoeBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo D PoquetteItalyAmy Elsner PROPOSAL
Chavez D KuskoIndiaIvan Magalhaes RENEWAL
Francesco U MorascaJapanElwin Sharvill NEGOTIATION
Mayumi B DoeSpainIvan Magalhaes NEW
Greenwood L FigeroaRussiaElwin Sharvill PROPOSAL
Octavia Q OldroydJapanIoni Bowcher QUALIFIED
Cody I SaylorsJapanStephen Shaw QUALIFIED
Aika Z RulapaughSpainXuxue Feng QUALIFIED
Adams A GarufiItalyAnna Fali UNQUALIFIED
Adams X CaldareraCanadaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M ButtUnited Kingdom2026-10-03Rousseaux, Michael Esq NEGOTIATION26Onyama Limba
1001Murillo U SaylorsCanada2026-10-14Feltz Printing Service NEGOTIATION77Onyama Limba
1002Munro A AmigonArgentina2026-10-18Chemel, James L Cpa UNQUALIFIED22Stephen Shaw
1003Darci R GarufiArgentina2026-10-24Benton, John B Jr RENEWAL47Elwin Sharvill
1004Clifford I PerinArgentina2026-10-27Morlong Associates NEGOTIATION68Xuxue Feng
1005Nicolas G ButtFrance2026-10-19Printing Dimensions NEW71Amy Elsner
1006Wickens P MacleadArgentina2026-10-23Feiner Bros UNQUALIFIED68Onyama Limba
1007Aditya D MacleadBrazil2026-10-10Morlong Associates NEGOTIATION80Amy Elsner
1008Rodrigues K GarufiArgentina2026-10-08Feltz Printing Service RENEWAL86Ivan Magalhaes
1009Kaitlin N WieserItaly2026-10-16Chanay, Jeffrey A Esq PROPOSAL39Anna Fali
1010Stacey W BriddickIndia2026-10-19Feiner Bros RENEWAL8Asiya Javayant
1011Alejandro D MaletRussia2026-10-20Rousseaux, Michael Esq NEW3Anna Fali
1012Jones J DoeRussia2026-10-20Dorl, James J Esq RENEWAL1Bernardo Dominic
1013Aruna M CaldareraUnited Kingdom2026-10-22Feltz Printing Service UNQUALIFIED12Bernardo Dominic
1014Mujtaba F SlusarskiIndia2026-10-03Truhlar And Truhlar Attys RENEWAL86Onyama Limba
1015Ashley Q CaudyArgentina2026-10-18Printing Dimensions RENEWAL44Bernardo Dominic
1016Wickens O CampainUnited Kingdom2026-10-08Rangoni Of Florence NEGOTIATION69Onyama Limba
1017Wickens V FollerCanada2026-10-21Feltz Printing Service QUALIFIED81Bernardo Dominic
1018Morrow D WieserAustralia2026-10-29Chemel, James L Cpa NEW72Xuxue Feng
1019Sinclair N KuskoIndia2026-10-03King, Christopher A Esq NEW66Ioni Bowcher
1020Rodrigues M FlosiGermany2026-10-05Chemel, James L Cpa NEW81Onyama Limba
1021Julie C IturbideBrazil2026-10-20Benton, John B Jr QUALIFIED95Elwin Sharvill
1022Murillo O GillianJapan2026-10-18Chapman, Ross E Esq PROPOSAL69Elwin Sharvill
1023Costa X DilliardAustralia2026-10-07Truhlar And Truhlar Attys UNQUALIFIED42Xuxue Feng
1024James M SlusarskiItaly2026-10-30Rousseaux, Michael Esq NEGOTIATION47Onyama Limba
1025Jeanfrancois Y ShinkoArgentina2026-11-01Benton, John B Jr PROPOSAL36Amy Elsner
1026Murillo D FlosiGermany2026-10-21Commercial Press NEW35Onyama Limba
1027Johnson D SaylorsBrazil2026-10-13Chemel, James L Cpa RENEWAL16Amy Elsner
1028Wickens S WaycottIndia2026-10-23Feltz Printing Service NEW80Anna Fali
1029David U ChuiSpain2026-10-28Printing Dimensions RENEWAL35Stephen Shaw
1030Ashley F DarakjyFrance2026-10-10Benton, John B Jr RENEWAL74Asiya Javayant
1031Arvin W CampainGermany2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED67Elwin Sharvill
1032Jeanfrancois Z KolmetzItaly2026-10-23Rangoni Of Florence NEW90Amy Elsner
1033Antonio M MarrierCanada2026-10-30King, Christopher A Esq NEGOTIATION70Onyama Limba
1034Jeanfrancois W SchemmerRussia2026-10-13Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1035Maria I StensethBrazil2026-10-17Rousseaux, Michael Esq NEW41Anna Fali
1036Misaki J AlbaresCanada2026-11-01Buckley Miller Wright RENEWAL86Ioni Bowcher
1037Cody Z FlosiUnited Kingdom2026-10-30Truhlar And Truhlar Attys PROPOSAL83Asiya Javayant
1038Costa P ShinkoSpain2026-10-03Feltz Printing Service QUALIFIED97Ivan Magalhaes
1039Munro Z NestleSpain2026-10-03Benton, John B Jr UNQUALIFIED54Stephen Shaw
1040Leja D DoeIndia2026-10-28Feltz Printing Service NEW9Elwin Sharvill
1041Claire I InouyeGermany2026-10-20Chapman, Ross E Esq PROPOSAL45Elwin Sharvill
1042Kaitlin W FerenczRussia2026-10-10King, Christopher A Esq PROPOSAL81Onyama Limba
1043Juan J RimFrance2026-10-07Buckley Miller Wright QUALIFIED96Onyama Limba
1044James Z StensethBrazil2026-10-24Chanay, Jeffrey A Esq UNQUALIFIED62Stephen Shaw
1045Claire A FlosiSpain2026-10-03King, Christopher A Esq NEGOTIATION10Ivan Magalhaes
1046Juan G CampainRussia2026-10-11King, Christopher A Esq PROPOSAL17Ivan Magalhaes
1047Misaki B GauchoRussia2026-10-05Truhlar And Truhlar Attys UNQUALIFIED86Onyama Limba
1048Aika F KolmetzCanada2026-10-05King, Christopher A Esq UNQUALIFIED88Anna Fali
1049Chavez P InouyeFrance2026-10-23Feiner Bros UNQUALIFIED85Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika U WieserFranceXuxue Feng NEW
Johnson P VocelkaJapanBernardo Dominic QUALIFIED
Tony T GarufiSpainAsiya Javayant NEW
Francesco R TollnerJapanAsiya Javayant UNQUALIFIED
Chavez J SaylorsCanadaAmy Elsner NEW
Ricardo Z ButtSpainAnna Fali QUALIFIED
Julie L DoeCanadaIvan Magalhaes NEGOTIATION
Mayumi O WaycottAustraliaIoni Bowcher NEW
Leon C StensethIndiaBernardo Dominic UNQUALIFIED
Adams B RutaJapanElwin Sharvill RENEWAL
Arvin V DilliardGermanyIoni Bowcher NEGOTIATION
Kadeem C BologniaIndiaAsiya Javayant PROPOSAL
Adams A InouyeBrazilIoni Bowcher NEW
Leja G SergiSpainBernardo Dominic QUALIFIED
Arvin G GauchoSpainIvan Magalhaes QUALIFIED
Arvin J AmigonFranceBernardo Dominic PROPOSAL
Jennifer F TollnerUnited KingdomBernardo Dominic RENEWAL
Julie T GlickUnited KingdomXuxue Feng NEGOTIATION
Ricardo Y StockhamAustraliaIvan Magalhaes UNQUALIFIED
Sinclair T SlusarskiArgentinaAmy Elsner QUALIFIED
Jones U PoquetteRussiaBernardo Dominic RENEWAL
Johnson T CampainRussiaAnna Fali PROPOSAL
Emily G SchemmerRussiaIvan Magalhaes NEW
Faith T MacleadIndiaIvan Magalhaes NEGOTIATION
Octavia B MaletBrazilStephen Shaw NEGOTIATION
Aika H FerenczRussiaIoni Bowcher PROPOSAL
Johnson Q ButtCanadaOnyama Limba QUALIFIED
Adams Z DoeGermanyAmy Elsner PROPOSAL
Ricardo H FigeroaItalyStephen Shaw PROPOSAL
Ivar L SlusarskiGermanyIoni Bowcher RENEWAL
Kadeem S MacleadFranceElwin Sharvill QUALIFIED
David F TollnerFranceAmy Elsner QUALIFIED
Kadeem R StockhamRussiaAsiya Javayant UNQUALIFIED
Smith X IturbideRussiaAmy Elsner NEW
Octavia Q KolmetzGermanyXuxue Feng QUALIFIED
Costa O AmigonAustraliaOnyama Limba RENEWAL
Arvin S KuskoBrazilIoni Bowcher NEW
Wickens E BriddickRussiaBernardo Dominic PROPOSAL
Jeanfrancois P MarrierAustraliaAsiya Javayant PROPOSAL
Claire U AlbaresCanadaXuxue Feng RENEWAL
Aruna R RimIndiaAsiya Javayant PROPOSAL
Greenwood Y FigeroaSpainXuxue Feng NEGOTIATION
Murillo A SlusarskiGermanyStephen Shaw QUALIFIED
Jennifer U RimJapanAsiya Javayant PROPOSAL
Leon V PoquetteIndiaXuxue Feng PROPOSAL
Darci O BologniaSpainOnyama Limba RENEWAL
Costa R FerenczIndiaIvan Magalhaes NEGOTIATION
Mujtaba S SaylorsJapanBernardo Dominic PROPOSAL
Maria R WaycottArgentinaBernardo Dominic UNQUALIFIED
Silvio Q SaylorsAustraliaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Kaitlin Z Bolognia
Wickens T Bolognia
Juan K Stockham
Juan E Flosi
Jefferson W Foller
Maria V Glick
Cody R Nicka
Murillo Q Paprocki
Stacey I Ostrosky
Chavez O Chui
Misaki S Stockham
Mujtaba N Schemmer
Isabel P Darakjy
Jeanfrancois K Gaucho
Julie G Foller
Aika U Darakjy
Murillo R Rim
Tony W Slusarski
Maria A Shinko
Ashley X Gillian
Adams O Ruta
Rodrigues P Malet
Ashley M Poquette
Silvio D Darakjy
Stacey N Ferencz
Aruna V Bowley
Kaitlin H Maclead
Munro B Caudy
Jones T Doe
Rodrigues J Oldroyd
Johnson D Stenseth
Aruna J Wieser
Jones S Darakjy
Antonio G Butt
Izzy W Bolognia
Chavez O Wieser
Ricardo N Oldroyd
Antonio P Gillian
Alejandro D Caudy
Deepesh E Ostrosky
Maisha J Slusarski
Isabel E Waycott
Jennifer A Waycott
Faith O Stenseth
Izzy N Gillian
Leon V Garufi
Costa U Marrier
Aika I Royster
Jones P Ferencz
Nicolas Q Oldroyd
IdCountryDate
1000United Kingdom2026-10-06
1001India2026-11-01
1002Russia2026-10-06
1003Argentina2026-10-12
1004Canada2026-10-29
1005Brazil2026-10-28
1006Japan2026-10-08
1007Canada2026-10-06
1008Germany2026-10-22
1009Canada2026-10-21
1010Germany2026-10-03
1011Spain2026-10-19
1012Italy2026-10-17
1013Spain2026-10-07
1014Japan2026-10-06
1015France2026-10-11
1016Japan2026-10-30
1017United Kingdom2026-10-27
1018Spain2026-10-12
1019Argentina2026-11-01
1020Italy2026-10-25
1021United Kingdom2026-10-19
1022France2026-10-08
1023Canada2026-10-23
1024France2026-10-08
1025Italy2026-10-03
1026Canada2026-10-15
1027Canada2026-10-05
1028Russia2026-10-16
1029Russia2026-10-30
1030Italy2026-10-19
1031Australia2026-10-07
1032Spain2026-10-27
1033Canada2026-10-26
1034Spain2026-10-05
1035United Kingdom2026-10-17
1036Italy2026-10-09
1037Brazil2026-10-07
1038France2026-10-24
1039France2026-10-26
1040Spain2026-11-01
1041Russia2026-10-11
1042Australia2026-10-18
1043India2026-10-12
1044France2026-10-16
1045Japan2026-10-17
1046Australia2026-10-12
1047Italy2026-10-04
1048Germany2026-10-25
1049United Kingdom2026-10-14

On-Demand Data

NameIdCountryDate
Kaitlin W Amigon1000United Kingdom2026-10-05
Kaitlin U Inouye1001Russia2026-10-08
Izzy R Kusko1002Brazil2026-10-27
Jennifer J Rim1003India2026-10-29
Salvatore G Perin1004Spain2026-10-19
Alejandro N Briddick1005Spain2026-10-08
Claire M Gaucho1006India2026-10-15
Arvin C Stenseth1007Italy2026-10-05
Ricardo M Rim1008Australia2026-10-15
Kaitlin X Dilliard1009Japan2026-10-10
Greenwood J Ostrosky1010Spain2026-10-20
Ashley C Shinko1011Germany2026-10-09
Ivar X Maclead1012Italy2026-10-20
Murillo M Maclead1013Japan2026-10-25
Izzy M Garufi1014Japan2026-10-04
Jefferson C Caudy1015Australia2026-10-21
Claire Z Wieser1016Canada2026-10-08
Darci H Bolognia1017France2026-10-13
Alejandro J Iturbide1018Japan2026-10-08
Francesco W Ferencz1019France2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire T ShinkoItalyAsiya Javayant UNQUALIFIED
Nicolas U CaudyFranceBernardo Dominic UNQUALIFIED
Johnson S GillianFranceStephen Shaw RENEWAL
Octavia M DilliardIndiaAnna Fali QUALIFIED
Isabel E DarakjyItalyXuxue Feng RENEWAL
Clifford F ButtFranceIvan Magalhaes PROPOSAL
David Z VocelkaGermanyStephen Shaw NEGOTIATION
Isabel U SergiUnited KingdomStephen Shaw NEGOTIATION
Jennifer K PaprockiArgentinaBernardo Dominic NEGOTIATION
Rodrigues Y GarufiJapanXuxue Feng RENEWAL
Adams R AlbaresBrazilBernardo Dominic PROPOSAL
Misaki V IturbideArgentinaOnyama Limba RENEWAL
Costa W MaletArgentinaAnna Fali PROPOSAL
Murillo T CaldareraIndiaElwin Sharvill RENEWAL
Kaitlin A TollnerSpainBernardo Dominic UNQUALIFIED
Aruna Q ChuiCanadaAsiya Javayant QUALIFIED
Francesco F BowleyCanadaBernardo Dominic QUALIFIED
Cody E PaprockiFranceIvan Magalhaes NEW
Stacey V KuskoAustraliaBernardo Dominic RENEWAL
Jefferson B FigeroaUnited KingdomOnyama Limba QUALIFIED
Octavia O TollnerBrazilAmy Elsner RENEWAL
Murillo J KolmetzAustraliaAnna Fali PROPOSAL
James J GauchoGermanyXuxue Feng PROPOSAL
Faith X PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Jones E MarrierJapanStephen Shaw UNQUALIFIED
Maria D DarakjyIndiaAnna Fali QUALIFIED
Maria Y RoysterJapanAnna Fali NEW
Octavia G WieserBrazilAnna Fali QUALIFIED
Mayumi Z FollerAustraliaIoni Bowcher QUALIFIED
Faith U RimFranceAmy Elsner NEW
Octavia L CaldareraSpainAsiya Javayant RENEWAL
Izzy S GlickRussiaIvan Magalhaes QUALIFIED
Wickens V RulapaughUnited KingdomBernardo Dominic RENEWAL
Alejandro W SchemmerItalyBernardo Dominic NEW
Ivar W MarrierJapanAnna Fali NEW
Salvatore X VenereGermanyBernardo Dominic UNQUALIFIED
Wickens Q OldroydBrazilXuxue Feng UNQUALIFIED
Leon A GillianJapanElwin Sharvill QUALIFIED
Greenwood U PerinJapanBernardo Dominic PROPOSAL
Kadeem F VocelkaGermanyBernardo Dominic 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>