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
Arvin P RoysterGermanyIoni Bowcher NEGOTIATION
Darci N CaldareraSpainIoni Bowcher PROPOSAL
James T FigeroaItalyAnna Fali RENEWAL
Rodrigues O AlbaresGermanyElwin Sharvill QUALIFIED
Adams P StensethRussiaAnna Fali PROPOSAL
Izzy F PaprockiIndiaXuxue Feng NEW
Arvin P FerenczUnited KingdomOnyama Limba PROPOSAL
Aika S KolmetzRussiaAsiya Javayant NEW
Julie N ShinkoCanadaAmy Elsner RENEWAL
Ashley V GillianAustraliaIoni Bowcher NEGOTIATION
Tony U StensethFranceAsiya Javayant RENEWAL
Nicolas U NestleFranceAmy Elsner RENEWAL
Salvatore K CaldareraCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois F BologniaGermanyOnyama Limba NEW
Isabel C MarrierGermanyAsiya Javayant RENEWAL
Sinclair E SergiSpainAmy Elsner PROPOSAL
Juan P OldroydAustraliaXuxue Feng NEGOTIATION
Tony V MarrierRussiaAsiya Javayant QUALIFIED
Mayumi P CaudyAustraliaElwin Sharvill UNQUALIFIED
Smith J FigeroaJapanElwin Sharvill UNQUALIFIED
Francesco R WieserGermanyAsiya Javayant NEW
Alejandro K CaudyRussiaStephen Shaw NEW
Antonio N PaprockiArgentinaIoni Bowcher NEW
Ivar B InouyeJapanXuxue Feng RENEWAL
Izzy G FlosiGermanyBernardo Dominic UNQUALIFIED
Ricardo N PoquetteArgentinaAnna Fali NEGOTIATION
Johnson Q GillianRussiaAnna Fali PROPOSAL
Munro N RoysterRussiaAsiya Javayant NEGOTIATION
Mayumi O CampainJapanAsiya Javayant RENEWAL
Tony H WieserRussiaBernardo Dominic QUALIFIED
Stacey V GillianCanadaIoni Bowcher QUALIFIED
Faith D WaycottArgentinaXuxue Feng QUALIFIED
Stacey S ShinkoIndiaIvan Magalhaes NEGOTIATION
Aditya P ShinkoGermanyElwin Sharvill NEW
Munro F MorascaSpainAnna Fali NEW
Greenwood T ShinkoSpainElwin Sharvill RENEWAL
Misaki U SaylorsAustraliaIvan Magalhaes RENEWAL
Isabel J TollnerBrazilXuxue Feng RENEWAL
David P ButtRussiaAmy Elsner UNQUALIFIED
Clifford P MaletItalyOnyama Limba RENEWAL
Stacey Y MacleadArgentinaElwin Sharvill RENEWAL
Darci W SergiAustraliaXuxue Feng NEGOTIATION
Kadeem C NickaRussiaAsiya Javayant NEGOTIATION
Jeanfrancois J TollnerSpainAmy Elsner RENEWAL
Emily S StensethRussiaXuxue Feng PROPOSAL
Jeanfrancois X AmigonCanadaStephen Shaw NEW
Chavez F MarrierGermanyElwin Sharvill RENEWAL
Claire T VocelkaGermanyAnna Fali PROPOSAL
Misaki D BriddickGermanyBernardo Dominic QUALIFIED
Antonio S DilliardArgentinaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood W StockhamFranceAmy Elsner NEW
Johnson M WaycottAustraliaOnyama Limba PROPOSAL
Johnson A NickaSpainAnna Fali UNQUALIFIED
Kaitlin Z BowleyFranceOnyama Limba UNQUALIFIED
David A VenereRussiaOnyama Limba NEGOTIATION
Maisha C OstroskyIndiaAnna Fali UNQUALIFIED
Ivar L PaprockiAustraliaIvan Magalhaes RENEWAL
Clifford N CaldareraItalyBernardo Dominic NEGOTIATION
Maisha R NestleArgentinaAmy Elsner NEGOTIATION
Nicolas X GillianUnited KingdomAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Z RulapaughBrazil2026-09-18Feltz Printing Service NEW63Bernardo Dominic
1001Silvio J StockhamAustralia2026-10-02Chapman, Ross E Esq NEGOTIATION96Amy Elsner
1002Izzy U StensethSpain2026-09-12Morlong Associates QUALIFIED64Anna Fali
1003Misaki A WaycottCanada2026-09-17Dorl, James J Esq RENEWAL87Bernardo Dominic
1004Maria I SaylorsAustralia2026-09-13Rousseaux, Michael Esq PROPOSAL79Stephen Shaw
1005Sinclair R SaylorsItaly2026-09-09Printing Dimensions NEW61Onyama Limba
1006Stacey G GauchoFrance2026-10-05Printing Dimensions UNQUALIFIED81Elwin Sharvill
1007Misaki D KolmetzFrance2026-09-28Feltz Printing Service NEW38Bernardo Dominic
1008Claire Q BologniaItaly2026-09-09Rousseaux, Michael Esq QUALIFIED38Ioni Bowcher
1009Jennifer R WaycottRussia2026-09-28Morlong Associates NEW56Bernardo Dominic
1010Murillo F AmigonGermany2026-10-07Benton, John B Jr QUALIFIED50Bernardo Dominic
1011Maisha P CaudyRussia2026-09-12Truhlar And Truhlar Attys RENEWAL28Bernardo Dominic
1012Nicolas W PoquetteFrance2026-09-23Benton, John B Jr RENEWAL2Bernardo Dominic
1013Mujtaba H RutaGermany2026-09-19Feltz Printing Service NEW23Asiya Javayant
1014Ivar K PaprockiSpain2026-09-28Chapman, Ross E Esq RENEWAL15Xuxue Feng
1015Tony Q SlusarskiCanada2026-10-01Chanay, Jeffrey A Esq RENEWAL72Stephen Shaw
1016Munro L SergiUnited Kingdom2026-09-13King, Christopher A Esq RENEWAL71Anna Fali
1017Jennifer M CaudySpain2026-10-03Commercial Press UNQUALIFIED53Stephen Shaw
1018Antonio X TollnerBrazil2026-09-13Commercial Press NEW44Ivan Magalhaes
1019Ricardo Q NestleRussia2026-10-04Chemel, James L Cpa PROPOSAL1Anna Fali
1020Silvio K PerinBrazil2026-09-20Commercial Press PROPOSAL68Ioni Bowcher
1021Izzy I FigeroaJapan2026-09-11Morlong Associates RENEWAL0Bernardo Dominic
1022Deepesh X RutaJapan2026-09-22Benton, John B Jr NEW56Bernardo Dominic
1023David P WaycottSpain2026-10-05King, Christopher A Esq QUALIFIED4Xuxue Feng
1024Isabel O DoeGermany2026-09-11Feiner Bros PROPOSAL68Bernardo Dominic
1025Maria W MacleadCanada2026-10-03Rangoni Of Florence PROPOSAL38Stephen Shaw
1026Izzy Z OldroydBrazil2026-09-11Benton, John B Jr UNQUALIFIED0Xuxue Feng
1027Mayumi S MaletBrazil2026-09-19Buckley Miller Wright UNQUALIFIED8Elwin Sharvill
1028Ricardo P NickaUnited Kingdom2026-09-16Dorl, James J Esq NEGOTIATION6Ioni Bowcher
1029Aditya Q RoysterGermany2026-09-25King, Christopher A Esq QUALIFIED64Onyama Limba
1030Greenwood G MaletJapan2026-09-18Truhlar And Truhlar Attys QUALIFIED92Ivan Magalhaes
1031Jeanfrancois C KuskoIndia2026-10-05Rangoni Of Florence NEGOTIATION32Bernardo Dominic
1032Misaki S GlickIndia2026-09-17Feiner Bros RENEWAL87Anna Fali
1033Salvatore T ChuiBrazil2026-09-17Rangoni Of Florence UNQUALIFIED61Bernardo Dominic
1034Rodrigues N StockhamBrazil2026-09-17Feiner Bros NEW38Xuxue Feng
1035Kaitlin Y FigeroaItaly2026-09-27Dorl, James J Esq PROPOSAL72Ivan Magalhaes
1036Tony Q PerinRussia2026-09-17King, Christopher A Esq RENEWAL78Ioni Bowcher
1037Faith B VenereBrazil2026-09-30Morlong Associates NEW64Onyama Limba
1038Kaitlin B ChuiBrazil2026-09-26Rousseaux, Michael Esq RENEWAL72Asiya Javayant
1039Smith O MaletJapan2026-09-14Feltz Printing Service PROPOSAL53Onyama Limba
1040Juan I RulapaughGermany2026-10-03Truhlar And Truhlar Attys UNQUALIFIED26Stephen Shaw
1041Jefferson S WaycottGermany2026-09-24Feiner Bros QUALIFIED97Stephen Shaw
1042Isabel P WhobreyItaly2026-09-14Commercial Press PROPOSAL79Onyama Limba
1043Greenwood D WaycottAustralia2026-10-07Chanay, Jeffrey A Esq NEGOTIATION90Ivan Magalhaes
1044Kaitlin E SergiUnited Kingdom2026-09-12Benton, John B Jr UNQUALIFIED35Stephen Shaw
1045Jeanfrancois B FollerArgentina2026-09-08Chemel, James L Cpa UNQUALIFIED1Xuxue Feng
1046Maria X IturbideSpain2026-09-15Printing Dimensions NEGOTIATION90Ioni Bowcher
1047Juan F IturbideBrazil2026-09-23Rousseaux, Michael Esq NEGOTIATION39Bernardo Dominic
1048David P KuskoFrance2026-09-17Chemel, James L Cpa PROPOSAL18Ivan Magalhaes
1049Emily P PoquetteSpain2026-09-11Rangoni Of Florence RENEWAL34Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore H AmigonAustraliaIoni Bowcher RENEWAL
Juan F TollnerBrazilBernardo Dominic NEGOTIATION
Ricardo Z MaletCanadaAmy Elsner PROPOSAL
Smith M WhobreyRussiaStephen Shaw NEGOTIATION
Cody M GillianIndiaElwin Sharvill NEW
Ivar N TollnerItalyAmy Elsner QUALIFIED
Octavia E InouyeCanadaBernardo Dominic NEW
Smith S AlbaresJapanOnyama Limba UNQUALIFIED
Mayumi Y AmigonFranceIoni Bowcher RENEWAL
Aika K SergiJapanStephen Shaw UNQUALIFIED
Isabel T ChuiItalyIoni Bowcher PROPOSAL
Deepesh J TollnerItalyAnna Fali NEW
Izzy Q StockhamAustraliaXuxue Feng QUALIFIED
Stacey F IturbideRussiaOnyama Limba UNQUALIFIED
Ricardo J RutaFranceStephen Shaw PROPOSAL
Aruna H WaycottArgentinaBernardo Dominic PROPOSAL
Maisha S CaldareraFranceIoni Bowcher PROPOSAL
Claire N AlbaresRussiaIvan Magalhaes NEW
Ashley L WaycottAustraliaAnna Fali PROPOSAL
Rodrigues U CampainRussiaOnyama Limba QUALIFIED
Isabel Q KolmetzRussiaOnyama Limba RENEWAL
Arvin Z RimRussiaIvan Magalhaes PROPOSAL
Wickens W RutaCanadaOnyama Limba NEW
Jones T MarrierSpainOnyama Limba NEGOTIATION
Silvio Y PaprockiFranceOnyama Limba UNQUALIFIED
Claire X FlosiUnited KingdomIoni Bowcher QUALIFIED
Sinclair T FigeroaCanadaAnna Fali NEGOTIATION
Leja O WhobreyFranceXuxue Feng QUALIFIED
Morrow K GlickCanadaIvan Magalhaes NEGOTIATION
Tony T PerinAustraliaIoni Bowcher RENEWAL
Johnson I CaudyIndiaXuxue Feng QUALIFIED
Johnson I AlbaresFranceBernardo Dominic QUALIFIED
Octavia K VocelkaItalyElwin Sharvill RENEWAL
Adams U DoeIndiaStephen Shaw UNQUALIFIED
Cody D WieserUnited KingdomBernardo Dominic QUALIFIED
Ashley H KuskoAustraliaAnna Fali PROPOSAL
Sinclair B FollerSpainIvan Magalhaes NEW
Maria D WieserSpainBernardo Dominic QUALIFIED
Nicolas Y ChuiCanadaIvan Magalhaes RENEWAL
Octavia A KolmetzFranceAsiya Javayant QUALIFIED
Alejandro V WieserBrazilElwin Sharvill UNQUALIFIED
Aditya G WaycottArgentinaOnyama Limba RENEWAL
Cody F WieserArgentinaIvan Magalhaes UNQUALIFIED
Leon O RulapaughArgentinaAsiya Javayant NEW
Tony G IturbideGermanyIoni Bowcher UNQUALIFIED
Clifford Q IturbideAustraliaOnyama Limba NEGOTIATION
Leon A RimIndiaElwin Sharvill NEW
Morrow J StockhamArgentinaIoni Bowcher RENEWAL
Francesco E ChuiItalyElwin Sharvill RENEWAL
Maria L PoquetteSpainOnyama Limba RENEWAL
Frozen Columns
Name
Ashley D Glick
Mujtaba Y Rulapaugh
Munro H Figeroa
Mayumi T Briddick
Aditya C Perin
Smith X Ostrosky
Leon C Caldarera
Maisha Y Bowley
Kadeem J Gaucho
Aruna E Nestle
James W Maclead
Murillo V Kusko
Emily I Whobrey
Rodrigues A Ferencz
Jennifer Z Gillian
Faith X Schemmer
Ricardo F Briddick
Isabel A Chui
Aika V Kolmetz
Ivar V Waycott
Octavia F Doe
Ricardo Y Inouye
Emily W Maclead
Salvatore H Dilliard
James M Ostrosky
Maria D Maclead
Rodrigues O Bowley
Aditya T Marrier
Silvio S Nicka
Julie R Kolmetz
Sinclair V Schemmer
Misaki V Rim
Morrow W Doe
Murillo M Rim
Kaitlin B Sergi
Alejandro O Ostrosky
Octavia T Stockham
Francesco Q Darakjy
Deepesh T Iturbide
Deepesh I Malet
Rodrigues S Saylors
Alejandro C Whobrey
Mayumi L Schemmer
Adams S Royster
James D Dilliard
Costa P Kolmetz
Ivar J Gillian
Mujtaba E Flosi
Leon R Venere
Rodrigues T Maclead
IdCountryDate
1000Italy2026-10-04
1001Canada2026-09-19
1002Canada2026-09-17
1003Argentina2026-09-11
1004Spain2026-09-09
1005United Kingdom2026-09-24
1006Italy2026-09-08
1007Italy2026-09-24
1008United Kingdom2026-09-16
1009Australia2026-09-28
1010Spain2026-09-21
1011France2026-10-03
1012Australia2026-09-08
1013Australia2026-09-22
1014Germany2026-10-02
1015Canada2026-10-04
1016Russia2026-10-06
1017Argentina2026-09-09
1018India2026-10-01
1019France2026-09-25
1020United Kingdom2026-09-12
1021Spain2026-10-06
1022Brazil2026-09-27
1023Brazil2026-10-03
1024Italy2026-09-10
1025Italy2026-09-18
1026Italy2026-10-05
1027Japan2026-10-07
1028Australia2026-10-05
1029India2026-10-06
1030Australia2026-09-20
1031Spain2026-09-08
1032Japan2026-09-10
1033Australia2026-10-01
1034Australia2026-09-22
1035Russia2026-09-17
1036India2026-09-29
1037Australia2026-10-04
1038Argentina2026-09-26
1039India2026-10-06
1040Brazil2026-09-25
1041Argentina2026-09-16
1042Australia2026-09-21
1043Brazil2026-10-06
1044Russia2026-10-01
1045Canada2026-09-28
1046Spain2026-09-09
1047Australia2026-10-04
1048India2026-10-06
1049France2026-09-30

On-Demand Data

NameIdCountryDate
Rodrigues T Whobrey1000France2026-09-19
David E Perin1001France2026-09-26
Morrow Y Foller1002Germany2026-09-26
Alejandro Y Albares1003Germany2026-09-22
Sinclair D Gaucho1004Japan2026-09-16
Alejandro P Gaucho1005Argentina2026-10-06
James J Malet1006Russia2026-09-29
Aditya V Maclead1007India2026-09-22
Ashley F Chui1008Italy2026-09-29
Wickens F Schemmer1009Canada2026-09-27
Clifford I Morasca1010Argentina2026-09-14
Wickens O Amigon1011Argentina2026-10-01
Johnson U Rulapaugh1012India2026-09-29
Kaitlin Z Malet1013Australia2026-09-13
Francesco F Perin1014Brazil2026-10-03
Kaitlin C Inouye1015India2026-09-17
Kadeem G Tollner1016India2026-09-14
Johnson B Wieser1017United Kingdom2026-09-10
Stacey D Nicka1018United Kingdom2026-09-18
Isabel R Rulapaugh1019Russia2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie G FerenczGermanyIoni Bowcher NEW
Emily M OstroskyItalyAnna Fali QUALIFIED
Leja S AlbaresArgentinaElwin Sharvill QUALIFIED
Claire R BriddickGermanyElwin Sharvill RENEWAL
Mujtaba M VocelkaSpainAmy Elsner RENEWAL
Murillo Z CampainGermanyIoni Bowcher NEW
Jennifer W OldroydSpainOnyama Limba RENEWAL
Darci C BologniaUnited KingdomElwin Sharvill RENEWAL
Kadeem O KuskoItalyIoni Bowcher NEGOTIATION
Johnson H GarufiBrazilBernardo Dominic UNQUALIFIED
David O BriddickAustraliaXuxue Feng PROPOSAL
Deepesh H AmigonCanadaIvan Magalhaes UNQUALIFIED
Jennifer G ButtIndiaOnyama Limba QUALIFIED
Tony A OstroskyIndiaElwin Sharvill UNQUALIFIED
Aditya U AlbaresIndiaAnna Fali UNQUALIFIED
Smith C BologniaRussiaBernardo Dominic NEGOTIATION
Munro Y VenereRussiaBernardo Dominic NEW
Isabel U AmigonRussiaStephen Shaw UNQUALIFIED
Cody Y DilliardIndiaStephen Shaw NEW
Francesco N PaprockiSpainOnyama Limba PROPOSAL
Clifford B GlickBrazilIvan Magalhaes RENEWAL
Juan I CaldareraJapanXuxue Feng PROPOSAL
Maisha F StensethBrazilAmy Elsner PROPOSAL
Aditya Y ShinkoFranceAmy Elsner PROPOSAL
Julie R PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Smith P InouyeFranceAnna Fali QUALIFIED
Leja B SergiUnited KingdomAmy Elsner NEGOTIATION
Mujtaba R FigeroaJapanOnyama Limba RENEWAL
Salvatore H ButtArgentinaAmy Elsner NEGOTIATION
Alejandro Y StensethFranceBernardo Dominic NEW
Aruna X NestleUnited KingdomIvan Magalhaes RENEWAL
Jennifer C MorascaGermanyAnna Fali QUALIFIED
Leon I GillianJapanElwin Sharvill RENEWAL
Cody L GarufiArgentinaIvan Magalhaes UNQUALIFIED
Maria G RulapaughJapanAnna Fali PROPOSAL
Costa V FlosiRussiaAsiya Javayant NEGOTIATION
Jefferson R PoquetteBrazilAnna Fali RENEWAL
Smith I WaycottBrazilXuxue Feng NEW
Octavia S MarrierJapanAnna Fali PROPOSAL
Kadeem L AlbaresFranceAsiya Javayant 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>