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
Leja A SergiFranceAmy Elsner NEW
Nicolas E CaldareraIndiaAnna Fali QUALIFIED
Antonio C ChuiSpainIvan Magalhaes NEGOTIATION
Nicolas T PerinRussiaBernardo Dominic RENEWAL
Isabel P BriddickFranceAmy Elsner UNQUALIFIED
Morrow D MorascaUnited KingdomIoni Bowcher NEW
Antonio D KuskoRussiaXuxue Feng NEGOTIATION
Emily C MarrierGermanyXuxue Feng UNQUALIFIED
Kadeem O SchemmerJapanAsiya Javayant QUALIFIED
Francesco X RulapaughBrazilAsiya Javayant NEW
Aditya G GarufiUnited KingdomIvan Magalhaes RENEWAL
Mujtaba M ShinkoSpainAmy Elsner NEGOTIATION
Antonio O BriddickSpainXuxue Feng NEGOTIATION
Smith V WieserGermanyIoni Bowcher QUALIFIED
Juan W DoeUnited KingdomAmy Elsner RENEWAL
Cody D MarrierIndiaIvan Magalhaes NEW
Aika K AmigonGermanyBernardo Dominic UNQUALIFIED
Ashley I DoeUnited KingdomAnna Fali NEW
Silvio L MorascaJapanOnyama Limba UNQUALIFIED
Octavia Q SaylorsItalyBernardo Dominic NEGOTIATION
Emily Q MacleadFranceAsiya Javayant QUALIFIED
Stacey T FollerAustraliaOnyama Limba NEW
Ivar B FollerJapanElwin Sharvill UNQUALIFIED
Mujtaba J WieserFranceIoni Bowcher RENEWAL
Kadeem W NickaAustraliaAsiya Javayant RENEWAL
Julie G ShinkoAustraliaAmy Elsner RENEWAL
Arvin M PoquetteIndiaStephen Shaw NEGOTIATION
Ricardo A OldroydBrazilIoni Bowcher NEW
Kaitlin J FlosiSpainAnna Fali UNQUALIFIED
Munro V CampainArgentinaAsiya Javayant NEW
Ashley J DilliardUnited KingdomBernardo Dominic PROPOSAL
Faith V StensethBrazilXuxue Feng RENEWAL
Alejandro V SergiRussiaXuxue Feng RENEWAL
Faith M OldroydAustraliaXuxue Feng PROPOSAL
Jeanfrancois T ShinkoJapanAsiya Javayant RENEWAL
Leja E SergiRussiaStephen Shaw NEGOTIATION
Ivar A BowleyItalyElwin Sharvill QUALIFIED
Mayumi J BowleyCanadaIoni Bowcher RENEWAL
Octavia X CampainIndiaXuxue Feng RENEWAL
Izzy I SlusarskiAustraliaAmy Elsner UNQUALIFIED
Alejandro B CaldareraSpainIoni Bowcher NEW
Emily B AlbaresJapanAnna Fali NEGOTIATION
Faith L OldroydUnited KingdomOnyama Limba PROPOSAL
Faith S SlusarskiCanadaIoni Bowcher RENEWAL
Smith P AlbaresJapanIoni Bowcher NEW
Emily A CampainUnited KingdomXuxue Feng UNQUALIFIED
Munro B WaycottJapanIoni Bowcher NEGOTIATION
Murillo W CaldareraAustraliaAmy Elsner RENEWAL
Johnson Z ShinkoGermanyElwin Sharvill QUALIFIED
Alejandro J GarufiAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna U RulapaughRussiaAsiya Javayant NEW
Jefferson V GarufiCanadaBernardo Dominic NEW
Ivar Q StockhamUnited KingdomIoni Bowcher NEW
Jones J BologniaCanadaBernardo Dominic QUALIFIED
Jefferson H PerinGermanyIoni Bowcher RENEWAL
Misaki Q VocelkaAustraliaAsiya Javayant RENEWAL
Aika Z DilliardSpainIvan Magalhaes NEGOTIATION
Jones D IturbideItalyAnna Fali NEGOTIATION
Chavez R NestleBrazilAsiya Javayant QUALIFIED
Emily L OldroydArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams V PoquetteUnited Kingdom2026-10-09King, Christopher A Esq PROPOSAL35Stephen Shaw
1001Maria I FigeroaRussia2026-09-22Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1002Leja R PoquetteGermany2026-10-15Commercial Press PROPOSAL68Ivan Magalhaes
1003Rodrigues W VocelkaArgentina2026-09-28Truhlar And Truhlar Attys QUALIFIED37Elwin Sharvill
1004Maria R AlbaresItaly2026-10-07Rousseaux, Michael Esq RENEWAL29Anna Fali
1005Clifford Z KolmetzUnited Kingdom2026-09-17Buckley Miller Wright UNQUALIFIED21Xuxue Feng
1006Isabel F KuskoCanada2026-10-15Feltz Printing Service QUALIFIED35Ioni Bowcher
1007Arvin C StockhamJapan2026-10-13Rousseaux, Michael Esq NEW89Bernardo Dominic
1008Izzy L SergiCanada2026-10-16Commercial Press PROPOSAL93Onyama Limba
1009David G RoysterUnited Kingdom2026-09-21King, Christopher A Esq UNQUALIFIED97Stephen Shaw
1010Cody E OldroydArgentina2026-09-18Benton, John B Jr QUALIFIED12Amy Elsner
1011Izzy L ShinkoUnited Kingdom2026-09-22Feiner Bros NEGOTIATION37Stephen Shaw
1012Arvin G MaletAustralia2026-09-21Feiner Bros PROPOSAL14Ivan Magalhaes
1013Adams K DarakjyBrazil2026-09-17Dorl, James J Esq RENEWAL67Ivan Magalhaes
1014Salvatore V VocelkaArgentina2026-09-23Rangoni Of Florence RENEWAL71Amy Elsner
1015Octavia K MorascaRussia2026-10-13Buckley Miller Wright NEGOTIATION21Asiya Javayant
1016Salvatore U RimUnited Kingdom2026-09-27King, Christopher A Esq RENEWAL21Amy Elsner
1017Cody E BriddickSpain2026-10-15Chapman, Ross E Esq RENEWAL76Amy Elsner
1018Maria P RulapaughGermany2026-10-05Feltz Printing Service UNQUALIFIED6Stephen Shaw
1019Silvio J CampainGermany2026-10-08Commercial Press QUALIFIED43Anna Fali
1020Antonio Y KolmetzUnited Kingdom2026-10-10Printing Dimensions QUALIFIED60Ioni Bowcher
1021Ivar O VenereSpain2026-09-17Rangoni Of Florence QUALIFIED48Bernardo Dominic
1022Misaki O ShinkoGermany2026-09-19Chanay, Jeffrey A Esq NEW72Elwin Sharvill
1023Misaki H VocelkaIndia2026-10-06Feiner Bros QUALIFIED96Bernardo Dominic
1024Munro E VenereBrazil2026-09-29Printing Dimensions UNQUALIFIED86Onyama Limba
1025Mayumi L RoysterBrazil2026-09-21Chemel, James L Cpa NEGOTIATION76Amy Elsner
1026Claire V BowleyBrazil2026-10-12Feiner Bros NEW4Ivan Magalhaes
1027Deepesh D MarrierGermany2026-09-29Morlong Associates RENEWAL28Stephen Shaw
1028Deepesh K MaletBrazil2026-10-12Benton, John B Jr UNQUALIFIED80Asiya Javayant
1029Octavia J SlusarskiSpain2026-10-02Benton, John B Jr PROPOSAL84Bernardo Dominic
1030Jeanfrancois A BriddickCanada2026-10-13King, Christopher A Esq RENEWAL35Ivan Magalhaes
1031Jennifer A InouyeItaly2026-10-08King, Christopher A Esq RENEWAL62Amy Elsner
1032Antonio S DoeGermany2026-09-19Buckley Miller Wright NEW48Xuxue Feng
1033Rodrigues V WaycottUnited Kingdom2026-09-18King, Christopher A Esq QUALIFIED45Ioni Bowcher
1034Ashley H MarrierAustralia2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1035Isabel X TollnerBrazil2026-09-22Chapman, Ross E Esq NEGOTIATION62Anna Fali
1036Isabel C GlickGermany2026-09-17Buckley Miller Wright NEGOTIATION80Amy Elsner
1037Antonio A CaudyIndia2026-10-09Dorl, James J Esq NEW80Onyama Limba
1038Deepesh W DoeIndia2026-10-04Printing Dimensions NEGOTIATION20Onyama Limba
1039Izzy N MaletRussia2026-10-04Feiner Bros NEW12Ivan Magalhaes
1040Johnson E WieserAustralia2026-09-22Morlong Associates PROPOSAL96Amy Elsner
1041Deepesh I StockhamSpain2026-09-19Truhlar And Truhlar Attys PROPOSAL67Asiya Javayant
1042Leon M TollnerItaly2026-10-02Feltz Printing Service NEW75Ivan Magalhaes
1043Alejandro W GauchoSpain2026-10-10Dorl, James J Esq QUALIFIED26Ioni Bowcher
1044Morrow I BowleyUnited Kingdom2026-09-21Feltz Printing Service UNQUALIFIED42Bernardo Dominic
1045Claire E DilliardRussia2026-09-28Benton, John B Jr QUALIFIED37Anna Fali
1046Mujtaba R GarufiCanada2026-10-04Feiner Bros PROPOSAL88Xuxue Feng
1047Stacey F FollerCanada2026-09-18Chapman, Ross E Esq UNQUALIFIED67Amy Elsner
1048Morrow Q PoquetteUnited Kingdom2026-10-08Buckley Miller Wright RENEWAL84Bernardo Dominic
1049Maisha A DoeGermany2026-10-06Dorl, James J Esq RENEWAL10Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair P ChuiBrazilOnyama Limba QUALIFIED
Jennifer F MarrierBrazilElwin Sharvill NEW
Francesco J GlickCanadaIoni Bowcher UNQUALIFIED
Antonio I MorascaSpainIvan Magalhaes UNQUALIFIED
Izzy Q MorascaRussiaStephen Shaw UNQUALIFIED
Mujtaba V MorascaFranceAmy Elsner UNQUALIFIED
Cody Q FlosiItalyBernardo Dominic NEW
Morrow F MaletItalyStephen Shaw NEW
Stacey G WaycottGermanyBernardo Dominic PROPOSAL
Rodrigues O GillianItalyOnyama Limba NEGOTIATION
Leja V PaprockiAustraliaAmy Elsner NEW
Johnson F SergiArgentinaAmy Elsner NEGOTIATION
Leon Q ShinkoRussiaAnna Fali NEGOTIATION
Munro E RimBrazilAmy Elsner RENEWAL
Greenwood U CaudyIndiaOnyama Limba UNQUALIFIED
Claire Q ButtSpainAnna Fali PROPOSAL
Murillo B WaycottFranceAnna Fali QUALIFIED
Kadeem H PerinArgentinaIvan Magalhaes RENEWAL
Jeanfrancois H DarakjyIndiaAnna Fali RENEWAL
Morrow Q AlbaresAustraliaAmy Elsner QUALIFIED
Emily T CampainFranceAmy Elsner QUALIFIED
Misaki T PaprockiBrazilOnyama Limba UNQUALIFIED
Silvio A ButtFranceStephen Shaw NEGOTIATION
Leon P PoquetteItalyXuxue Feng UNQUALIFIED
Izzy O RutaGermanyAsiya Javayant UNQUALIFIED
Ashley F KolmetzItalyAmy Elsner NEGOTIATION
Murillo B MaletCanadaOnyama Limba QUALIFIED
Julie F IturbideAustraliaIoni Bowcher RENEWAL
Clifford C BologniaGermanyOnyama Limba UNQUALIFIED
Deepesh E NickaJapanAnna Fali QUALIFIED
Octavia S VenereSpainElwin Sharvill NEGOTIATION
Maria R OldroydJapanStephen Shaw UNQUALIFIED
Tony B RulapaughAustraliaIoni Bowcher PROPOSAL
Ivar U SaylorsCanadaBernardo Dominic RENEWAL
Aditya E GlickSpainAnna Fali RENEWAL
Aika T MacleadItalyXuxue Feng QUALIFIED
Emily X PerinGermanyElwin Sharvill NEW
Izzy I DoeGermanyIoni Bowcher QUALIFIED
Francesco M RimCanadaIoni Bowcher UNQUALIFIED
Adams R CaldareraRussiaAnna Fali RENEWAL
Jeanfrancois E GlickArgentinaBernardo Dominic RENEWAL
Tony S BologniaCanadaIvan Magalhaes QUALIFIED
Jeanfrancois S VocelkaFranceXuxue Feng PROPOSAL
Leon I MaletUnited KingdomIvan Magalhaes QUALIFIED
Aditya G RulapaughAustraliaElwin Sharvill NEW
James Y PerinCanadaAsiya Javayant RENEWAL
Aika W FollerBrazilIvan Magalhaes NEGOTIATION
Sinclair D SchemmerFranceAsiya Javayant PROPOSAL
Maria F GillianIndiaAsiya Javayant NEW
Deepesh X BriddickBrazilElwin Sharvill PROPOSAL
Frozen Columns
Name
Izzy A Malet
Stacey G Gaucho
Izzy Y Royster
Faith H Sergi
Isabel O Oldroyd
Johnson W Darakjy
Johnson B Gillian
Leja Y Tollner
Francesco A Gillian
Adams P Tollner
Adams C Marrier
David T Bowley
Emily P Campain
Morrow T Marrier
Francesco E Rulapaugh
Leja U Nicka
Misaki R Malet
Aruna B Inouye
Nicolas E Caudy
Jefferson Y Campain
Greenwood V Dilliard
Adams U Campain
Murillo W Ruta
Francesco W Rulapaugh
Darci Q Caudy
Mayumi H Caldarera
Juan Q Nicka
Juan E Saylors
Izzy G Ruta
Francesco B Caudy
Ricardo G Whobrey
Misaki O Waycott
Kaitlin X Vocelka
Cody Y Royster
Francesco E Oldroyd
Sinclair U Malet
Rodrigues R Stenseth
Arvin T Oldroyd
Jefferson Y Caldarera
Emily W Morasca
Cody E Shinko
David Y Vocelka
Cody M Maclead
Leon G Stockham
Rodrigues D Nestle
James K Stenseth
Murillo Y Gaucho
Jeanfrancois S Foller
Julie E Malet
Jefferson W Maclead
IdCountryDate
1000Russia2026-10-07
1001Italy2026-10-15
1002Spain2026-10-12
1003France2026-10-12
1004Canada2026-09-24
1005Italy2026-09-23
1006United Kingdom2026-10-09
1007France2026-10-14
1008Brazil2026-10-14
1009India2026-09-19
1010Italy2026-10-01
1011Spain2026-10-14
1012India2026-10-03
1013Australia2026-09-29
1014Spain2026-10-15
1015United Kingdom2026-09-24
1016India2026-09-28
1017Germany2026-10-10
1018Japan2026-09-24
1019Australia2026-09-26
1020Canada2026-10-08
1021Canada2026-09-21
1022Russia2026-10-07
1023India2026-10-06
1024France2026-09-21
1025Canada2026-10-06
1026Japan2026-09-18
1027Russia2026-10-11
1028Russia2026-10-04
1029Brazil2026-10-03
1030India2026-10-16
1031India2026-09-20
1032Germany2026-09-17
1033Argentina2026-10-04
1034Australia2026-10-07
1035India2026-10-02
1036Germany2026-10-04
1037Argentina2026-09-24
1038Japan2026-09-21
1039Brazil2026-10-09
1040Australia2026-10-09
1041France2026-09-17
1042Italy2026-10-03
1043India2026-09-25
1044Australia2026-10-15
1045Italy2026-10-12
1046United Kingdom2026-10-13
1047Russia2026-10-02
1048Germany2026-10-16
1049Japan2026-09-17

On-Demand Data

NameIdCountryDate
Ivar W Garufi1000Italy2026-09-25
Darci E Nestle1001Argentina2026-10-13
Jones C Perin1002Australia2026-09-22
Faith G Wieser1003Canada2026-10-04
Isabel Q Iturbide1004Italy2026-09-27
Julie F Ostrosky1005Spain2026-09-29
Faith F Maclead1006France2026-10-15
Jefferson Q Maclead1007Spain2026-09-29
Ashley R Rulapaugh1008Brazil2026-10-11
Leja V Briddick1009Spain2026-10-06
Claire P Nestle1010India2026-10-15
Octavia E Oldroyd1011Russia2026-09-18
Johnson U Inouye1012Japan2026-09-19
Jefferson N Ostrosky1013Japan2026-09-20
Chavez M Butt1014Germany2026-10-08
Nicolas X Malet1015United Kingdom2026-10-11
Maria B Venere1016India2026-10-14
Jones P Vocelka1017United Kingdom2026-09-29
Isabel U Darakjy1018Canada2026-10-15
Mayumi I Campain1019Japan2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon J RimUnited KingdomAnna Fali NEW
Morrow Z PerinGermanyOnyama Limba UNQUALIFIED
Adams A ButtAustraliaIoni Bowcher NEGOTIATION
Costa X IturbideBrazilAsiya Javayant UNQUALIFIED
Munro D StensethUnited KingdomBernardo Dominic NEGOTIATION
David G SaylorsGermanyAmy Elsner NEW
Stacey L VenereSpainStephen Shaw NEGOTIATION
James B PerinFranceIoni Bowcher QUALIFIED
Sinclair V AlbaresSpainIoni Bowcher UNQUALIFIED
Rodrigues D PoquetteRussiaAmy Elsner RENEWAL
Francesco R DoeUnited KingdomOnyama Limba QUALIFIED
Jefferson M SergiFranceAsiya Javayant PROPOSAL
Kadeem E FollerCanadaIvan Magalhaes PROPOSAL
Ivar Y VenereFranceBernardo Dominic PROPOSAL
Aditya N NestleCanadaAnna Fali QUALIFIED
Jennifer D PoquetteRussiaAmy Elsner QUALIFIED
Juan N WieserBrazilAsiya Javayant NEW
Maisha Y CaudyFranceElwin Sharvill QUALIFIED
Jefferson A CaldareraIndiaElwin Sharvill RENEWAL
Murillo X SchemmerJapanBernardo Dominic RENEWAL
Smith C VocelkaGermanyBernardo Dominic PROPOSAL
James P BowleyRussiaAsiya Javayant NEW
Octavia Z IturbideGermanyStephen Shaw NEW
Jeanfrancois F WaycottJapanOnyama Limba RENEWAL
Murillo E RulapaughRussiaElwin Sharvill QUALIFIED
Cody K AmigonIndiaIvan Magalhaes NEW
Juan J VenereIndiaElwin Sharvill RENEWAL
Arvin Y BriddickBrazilIoni Bowcher NEW
Emily F FerenczGermanyBernardo Dominic PROPOSAL
James R RimBrazilStephen Shaw UNQUALIFIED
Jeanfrancois G PerinGermanyStephen Shaw RENEWAL
Alejandro H RutaArgentinaElwin Sharvill PROPOSAL
Leja Q MaletSpainAnna Fali PROPOSAL
Kaitlin E MaletJapanAsiya Javayant PROPOSAL
Leja P SergiArgentinaAmy Elsner NEW
Izzy O ButtRussiaAsiya Javayant NEW
Stacey E AlbaresBrazilStephen Shaw QUALIFIED
Aditya F ChuiUnited KingdomAnna Fali PROPOSAL
Claire F CampainSpainElwin Sharvill RENEWAL
Adams B WieserBrazilStephen Shaw NEGOTIATION

<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>