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
Jones G DoeIndiaElwin Sharvill RENEWAL
Octavia A NestleJapanAnna Fali QUALIFIED
Clifford V GillianArgentinaBernardo Dominic PROPOSAL
Jones N InouyeAustraliaElwin Sharvill QUALIFIED
Maisha D RutaJapanXuxue Feng PROPOSAL
Murillo D GillianBrazilBernardo Dominic QUALIFIED
Darci P WhobreyCanadaStephen Shaw NEW
Rodrigues L MacleadJapanElwin Sharvill UNQUALIFIED
Isabel C FigeroaAustraliaAmy Elsner RENEWAL
Octavia G RutaBrazilAmy Elsner NEGOTIATION
Claire P SergiBrazilAmy Elsner RENEWAL
Octavia E SergiArgentinaBernardo Dominic UNQUALIFIED
Octavia T CampainSpainElwin Sharvill QUALIFIED
Octavia M NestleFranceAsiya Javayant UNQUALIFIED
Kadeem M SaylorsSpainAsiya Javayant UNQUALIFIED
Kadeem F CaldareraSpainAmy Elsner QUALIFIED
Deepesh B GarufiUnited KingdomIoni Bowcher QUALIFIED
Mayumi I GauchoJapanAsiya Javayant UNQUALIFIED
Izzy T RimFranceElwin Sharvill RENEWAL
Sinclair G RoysterBrazilStephen Shaw NEGOTIATION
Greenwood S GillianCanadaAsiya Javayant UNQUALIFIED
Faith H WhobreyItalyStephen Shaw UNQUALIFIED
Morrow H SergiItalyElwin Sharvill RENEWAL
Faith F NickaCanadaStephen Shaw NEW
Jones M ChuiAustraliaAnna Fali UNQUALIFIED
Clifford E GarufiItalyBernardo Dominic UNQUALIFIED
Emily L StensethCanadaXuxue Feng NEW
Johnson D SlusarskiCanadaIvan Magalhaes PROPOSAL
Francesco T MaletRussiaAmy Elsner UNQUALIFIED
Faith R FlosiArgentinaIoni Bowcher PROPOSAL
Costa M WaycottUnited KingdomAnna Fali NEW
Sinclair P FollerIndiaAnna Fali QUALIFIED
James G GarufiBrazilIvan Magalhaes NEW
Jeanfrancois Z FlosiAustraliaElwin Sharvill RENEWAL
Darci A DarakjySpainOnyama Limba QUALIFIED
Leja X IturbideBrazilBernardo Dominic UNQUALIFIED
Jefferson N MorascaIndiaIoni Bowcher NEW
Wickens F WhobreyAustraliaElwin Sharvill QUALIFIED
Greenwood Y DoeUnited KingdomXuxue Feng NEGOTIATION
Maria C DarakjyGermanyStephen Shaw RENEWAL
Jones S BowleyAustraliaIoni Bowcher RENEWAL
Alejandro Q KuskoJapanStephen Shaw NEGOTIATION
Aruna V InouyeAustraliaStephen Shaw UNQUALIFIED
Ivar R OstroskyGermanyIvan Magalhaes RENEWAL
Mayumi G ShinkoGermanyIvan Magalhaes RENEWAL
Nicolas G WieserCanadaElwin Sharvill QUALIFIED
Ricardo K OstroskyJapanAmy Elsner UNQUALIFIED
Costa U CaudyCanadaElwin Sharvill QUALIFIED
David T SergiFranceOnyama Limba QUALIFIED
Munro J NickaRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues J SchemmerAustraliaOnyama Limba NEW
Maria T OstroskyArgentinaOnyama Limba PROPOSAL
James U RulapaughIndiaAnna Fali UNQUALIFIED
Jennifer H TollnerRussiaOnyama Limba UNQUALIFIED
Juan G GauchoItalyElwin Sharvill NEGOTIATION
Aika I IturbideFranceBernardo Dominic NEW
Rodrigues N SlusarskiCanadaIvan Magalhaes NEGOTIATION
Juan N InouyeGermanyAnna Fali RENEWAL
Stacey N KolmetzRussiaStephen Shaw NEGOTIATION
Francesco L MorascaRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony V FollerBrazil2026-09-20Chapman, Ross E Esq UNQUALIFIED59Amy Elsner
1001Misaki N ShinkoArgentina2026-09-30Benton, John B Jr UNQUALIFIED42Amy Elsner
1002Deepesh Z GlickAustralia2026-10-12King, Christopher A Esq UNQUALIFIED19Elwin Sharvill
1003Costa A MacleadFrance2026-10-16Feltz Printing Service UNQUALIFIED73Anna Fali
1004James B SchemmerCanada2026-09-26Truhlar And Truhlar Attys NEW29Onyama Limba
1005Salvatore H GarufiSpain2026-10-10Feltz Printing Service NEGOTIATION71Amy Elsner
1006Munro C RutaSpain2026-10-01Rangoni Of Florence NEGOTIATION3Onyama Limba
1007Morrow D GlickArgentina2026-10-03Chemel, James L Cpa PROPOSAL60Amy Elsner
1008Silvio Y IturbideIndia2026-10-13King, Christopher A Esq NEGOTIATION28Onyama Limba
1009Aika Q VocelkaUnited Kingdom2026-10-01King, Christopher A Esq RENEWAL42Xuxue Feng
1010Tony Q FollerAustralia2026-09-20Feltz Printing Service PROPOSAL41Amy Elsner
1011Julie L KuskoItaly2026-10-01Morlong Associates PROPOSAL28Xuxue Feng
1012Smith T GillianIndia2026-09-21Dorl, James J Esq QUALIFIED79Asiya Javayant
1013Jones N SchemmerIndia2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED41Ivan Magalhaes
1014Leon K CampainJapan2026-09-23Printing Dimensions NEW11Elwin Sharvill
1015Octavia N DoeFrance2026-09-21Chemel, James L Cpa QUALIFIED2Xuxue Feng
1016James U FerenczGermany2026-10-02Printing Dimensions RENEWAL44Elwin Sharvill
1017Salvatore E GauchoGermany2026-09-30Commercial Press PROPOSAL75Xuxue Feng
1018Misaki U FollerAustralia2026-09-30Chanay, Jeffrey A Esq PROPOSAL33Ivan Magalhaes
1019Aruna U BowleyUnited Kingdom2026-09-27Feltz Printing Service PROPOSAL45Onyama Limba
1020Antonio O DilliardJapan2026-10-17Rangoni Of Florence UNQUALIFIED91Ioni Bowcher
1021Jefferson M BowleyIndia2026-10-07King, Christopher A Esq RENEWAL47Elwin Sharvill
1022Claire U BologniaArgentina2026-10-17Morlong Associates PROPOSAL8Stephen Shaw
1023Deepesh J ButtItaly2026-09-30Rangoni Of Florence RENEWAL58Amy Elsner
1024Misaki N RulapaughIndia2026-10-04Printing Dimensions PROPOSAL11Bernardo Dominic
1025Kadeem C DilliardJapan2026-09-20Morlong Associates UNQUALIFIED93Asiya Javayant
1026Jennifer B AmigonJapan2026-10-02Chapman, Ross E Esq NEW96Elwin Sharvill
1027Francesco F ShinkoSpain2026-10-05Dorl, James J Esq PROPOSAL54Ivan Magalhaes
1028Julie M MaletCanada2026-09-19Rangoni Of Florence NEW89Anna Fali
1029Kadeem E IturbideUnited Kingdom2026-10-13Printing Dimensions RENEWAL74Stephen Shaw
1030Costa F OldroydFrance2026-09-19King, Christopher A Esq UNQUALIFIED65Ivan Magalhaes
1031Claire M FollerGermany2026-10-14Chemel, James L Cpa PROPOSAL45Stephen Shaw
1032Stacey K ChuiItaly2026-10-14Morlong Associates PROPOSAL42Elwin Sharvill
1033Mujtaba J NickaRussia2026-10-13King, Christopher A Esq QUALIFIED64Ivan Magalhaes
1034Jones V MorascaRussia2026-10-03Chapman, Ross E Esq PROPOSAL65Asiya Javayant
1035Johnson E CampainFrance2026-10-01Chanay, Jeffrey A Esq NEW90Amy Elsner
1036Chavez C VenereArgentina2026-09-28Chemel, James L Cpa PROPOSAL18Elwin Sharvill
1037Leja M FigeroaSpain2026-10-17Dorl, James J Esq NEGOTIATION61Amy Elsner
1038Claire E StockhamRussia2026-10-15Commercial Press QUALIFIED41Ioni Bowcher
1039Aika V CaldareraUnited Kingdom2026-10-17Printing Dimensions UNQUALIFIED81Amy Elsner
1040Isabel N OstroskyAustralia2026-10-01Chapman, Ross E Esq UNQUALIFIED59Amy Elsner
1041Wickens E IturbideAustralia2026-10-12Benton, John B Jr QUALIFIED77Anna Fali
1042Jones B MorascaItaly2026-10-05Benton, John B Jr NEW3Anna Fali
1043James Z SaylorsFrance2026-09-28King, Christopher A Esq RENEWAL90Bernardo Dominic
1044Isabel L RulapaughArgentina2026-09-27Benton, John B Jr NEGOTIATION62Amy Elsner
1045Rodrigues U AmigonArgentina2026-10-11Printing Dimensions QUALIFIED40Asiya Javayant
1046Francesco D RoysterCanada2026-10-10Printing Dimensions NEGOTIATION61Ioni Bowcher
1047Juan F WieserUnited Kingdom2026-09-24Chapman, Ross E Esq RENEWAL77Xuxue Feng
1048Misaki W MacleadJapan2026-09-24Dorl, James J Esq QUALIFIED94Xuxue Feng
1049Morrow A VenereSpain2026-09-28Feltz Printing Service NEGOTIATION45Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Johnson C DarakjyFranceAmy Elsner QUALIFIED
Julie T PerinGermanyXuxue Feng NEW
Aditya G IturbideCanadaOnyama Limba NEW
Darci O BologniaFranceElwin Sharvill UNQUALIFIED
Octavia Q StensethIndiaAsiya Javayant PROPOSAL
Juan D SlusarskiFranceBernardo Dominic UNQUALIFIED
Misaki R RimGermanyElwin Sharvill NEGOTIATION
David H ChuiRussiaIvan Magalhaes QUALIFIED
Faith Y PoquetteItalyOnyama Limba UNQUALIFIED
Johnson D FigeroaSpainAsiya Javayant NEGOTIATION
Aruna S MaletGermanyAnna Fali QUALIFIED
Jennifer F ShinkoIndiaAmy Elsner UNQUALIFIED
Ashley J FigeroaCanadaStephen Shaw NEW
Jones C PaprockiFranceAnna Fali NEW
Cody C RulapaughFranceAmy Elsner NEW
Adams L SchemmerAustraliaBernardo Dominic NEGOTIATION
Munro V MaletItalyBernardo Dominic QUALIFIED
Ashley I FerenczCanadaXuxue Feng NEGOTIATION
Smith A VenereFranceStephen Shaw UNQUALIFIED
Emily K WaycottItalyStephen Shaw NEW
Julie Y NickaCanadaAsiya Javayant QUALIFIED
Alejandro F ChuiIndiaAsiya Javayant NEGOTIATION
Johnson R PerinGermanyOnyama Limba QUALIFIED
Adams H SchemmerBrazilBernardo Dominic NEW
Aditya H GillianFranceAsiya Javayant RENEWAL
Faith P BowleyGermanyAmy Elsner QUALIFIED
Ivar J VocelkaUnited KingdomBernardo Dominic NEW
Aditya G PerinGermanyElwin Sharvill NEW
Julie F ShinkoRussiaAsiya Javayant NEW
Kadeem Z BowleyAustraliaIvan Magalhaes QUALIFIED
Alejandro I WieserAustraliaBernardo Dominic UNQUALIFIED
Ashley L ButtGermanyOnyama Limba UNQUALIFIED
Leon H RimJapanElwin Sharvill QUALIFIED
Cody V DoeItalyAmy Elsner NEGOTIATION
Ricardo P ShinkoRussiaElwin Sharvill NEW
Morrow W ChuiRussiaElwin Sharvill QUALIFIED
Johnson F BriddickSpainIoni Bowcher NEW
Arvin F WieserBrazilAnna Fali RENEWAL
Ashley B MacleadGermanyOnyama Limba QUALIFIED
Julie U ButtArgentinaIoni Bowcher RENEWAL
Jones U BriddickCanadaIoni Bowcher UNQUALIFIED
Izzy B PoquetteSpainAmy Elsner QUALIFIED
Faith J MarrierBrazilOnyama Limba NEGOTIATION
Kadeem R FlosiArgentinaStephen Shaw QUALIFIED
Aika I ChuiGermanyIvan Magalhaes QUALIFIED
Salvatore G ButtCanadaAnna Fali RENEWAL
Claire Z DarakjySpainBernardo Dominic NEW
Costa T SchemmerRussiaBernardo Dominic UNQUALIFIED
Mayumi Z WaycottItalyAsiya Javayant QUALIFIED
Mujtaba P PaprockiRussiaXuxue Feng QUALIFIED
Frozen Columns
Name
Sinclair G Venere
Izzy W Ruta
Claire W Saylors
Juan J Ruta
Greenwood J Nicka
Ashley X Albares
Sinclair G Albares
Alejandro K Inouye
Ashley U Whobrey
Antonio A Ostrosky
Jones U Royster
Ricardo U Foller
Izzy D Kusko
Francesco C Briddick
Francesco W Figeroa
Emily Y Caudy
Nicolas I Royster
Chavez T Foller
Chavez A Malet
Octavia J Foller
Juan Z Caldarera
Leon W Vocelka
Greenwood P Chui
Wickens Q Vocelka
Silvio Y Figeroa
Jones C Inouye
Smith C Briddick
Munro U Vocelka
Misaki Q Morasca
Arvin Y Malet
Misaki R Dilliard
Tony E Royster
Aika Q Rim
Munro V Butt
Emily H Kolmetz
Leja U Rulapaugh
Maisha X Maclead
Izzy V Glick
Stacey C Doe
Maisha K Ruta
Mujtaba N Garufi
Mayumi H Gaucho
Jennifer Q Figeroa
Wickens I Slusarski
Darci Q Sergi
Mayumi F Stenseth
Ivar B Amigon
Morrow F Kolmetz
Munro Z Doe
Mayumi A Vocelka
IdCountryDate
1000France2026-10-17
1001Brazil2026-10-12
1002Japan2026-10-17
1003India2026-10-13
1004Canada2026-10-06
1005United Kingdom2026-10-16
1006Italy2026-10-02
1007Canada2026-09-20
1008Spain2026-09-29
1009Argentina2026-09-27
1010Spain2026-10-14
1011Germany2026-09-28
1012Argentina2026-09-23
1013India2026-10-08
1014Italy2026-10-07
1015France2026-09-24
1016India2026-10-17
1017Russia2026-09-22
1018Italy2026-10-06
1019United Kingdom2026-09-21
1020Japan2026-10-11
1021Italy2026-09-21
1022Russia2026-10-13
1023Brazil2026-09-20
1024France2026-09-19
1025Canada2026-10-05
1026Canada2026-10-16
1027Argentina2026-09-25
1028Canada2026-09-27
1029Russia2026-10-15
1030Argentina2026-10-03
1031Canada2026-09-26
1032Argentina2026-10-15
1033Argentina2026-09-23
1034Brazil2026-09-23
1035Italy2026-10-05
1036Australia2026-10-01
1037Canada2026-10-16
1038Australia2026-09-26
1039Australia2026-10-10
1040Spain2026-10-06
1041Brazil2026-09-18
1042Argentina2026-09-25
1043Argentina2026-10-10
1044Canada2026-09-23
1045Canada2026-10-08
1046Spain2026-09-27
1047Italy2026-09-24
1048Spain2026-09-19
1049Canada2026-09-19

On-Demand Data

NameIdCountryDate
Claire U Iturbide1000United Kingdom2026-09-28
Morrow P Chui1001India2026-10-16
Aruna X Waycott1002Australia2026-10-17
Leja F Stenseth1003Argentina2026-10-06
Faith J Whobrey1004Spain2026-09-24
Tony N Malet1005Brazil2026-10-02
Julie G Iturbide1006United Kingdom2026-09-22
Greenwood K Malet1007Australia2026-10-12
Murillo C Caudy1008Canada2026-10-04
Nicolas U Poquette1009Australia2026-10-01
Jennifer U Garufi1010India2026-10-03
Darci N Waycott1011United Kingdom2026-10-09
Darci G Foller1012Canada2026-10-08
Faith U Albares1013Australia2026-09-21
Munro Z Kolmetz1014United Kingdom2026-10-17
Morrow I Poquette1015Germany2026-09-19
Antonio Q Bolognia1016Russia2026-10-05
Chavez L Morasca1017Germany2026-09-23
Emily E Waycott1018Australia2026-10-05
Greenwood S Rim1019France2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy H BriddickRussiaAsiya Javayant NEGOTIATION
Nicolas P KuskoUnited KingdomBernardo Dominic PROPOSAL
Murillo D WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Julie U FigeroaBrazilAnna Fali RENEWAL
James V SaylorsIndiaOnyama Limba UNQUALIFIED
Adams Y NickaBrazilIoni Bowcher UNQUALIFIED
Silvio C NestleGermanyAsiya Javayant NEGOTIATION
Aditya T StensethCanadaElwin Sharvill PROPOSAL
Ivar Z FlosiCanadaElwin Sharvill QUALIFIED
Octavia M BriddickSpainIvan Magalhaes PROPOSAL
Morrow B SlusarskiItalyBernardo Dominic QUALIFIED
Octavia V CampainCanadaIvan Magalhaes RENEWAL
Smith E PoquetteAustraliaAsiya Javayant NEGOTIATION
Juan J GauchoRussiaIvan Magalhaes NEW
Murillo X OstroskyCanadaAnna Fali QUALIFIED
Jefferson U GarufiAustraliaOnyama Limba NEW
Ivar S VocelkaAustraliaXuxue Feng QUALIFIED
Emily F WhobreyFranceIoni Bowcher NEW
Murillo T ButtIndiaAsiya Javayant PROPOSAL
Silvio Q KuskoIndiaElwin Sharvill NEGOTIATION
Isabel Q RimAustraliaIvan Magalhaes RENEWAL
Wickens K AmigonSpainAmy Elsner PROPOSAL
Clifford A BriddickGermanyIvan Magalhaes PROPOSAL
Ivar N FlosiGermanyAnna Fali QUALIFIED
Costa C BologniaArgentinaElwin Sharvill NEW
Smith L MaletAustraliaBernardo Dominic NEW
Mujtaba K PaprockiGermanyOnyama Limba RENEWAL
Rodrigues I FlosiCanadaIvan Magalhaes PROPOSAL
Emily Y OldroydUnited KingdomAnna Fali PROPOSAL
Alejandro E RulapaughCanadaBernardo Dominic NEW
Mayumi U WieserIndiaXuxue Feng RENEWAL
Deepesh O MarrierJapanIoni Bowcher NEGOTIATION
James P FollerUnited KingdomStephen Shaw NEW
James X BriddickUnited KingdomAmy Elsner PROPOSAL
Misaki U ChuiArgentinaIvan Magalhaes QUALIFIED
Francesco G ShinkoGermanyOnyama Limba PROPOSAL
Claire A RoysterRussiaBernardo Dominic QUALIFIED
Jones A WhobreyJapanXuxue Feng PROPOSAL
Ricardo H PaprockiUnited KingdomXuxue Feng RENEWAL
Greenwood A NestleItalyBernardo Dominic 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>