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
Aditya Q IturbideFranceOnyama Limba RENEWAL
Chavez C KuskoRussiaAmy Elsner UNQUALIFIED
Salvatore I WaycottSpainAnna Fali RENEWAL
Izzy R PerinJapanIvan Magalhaes PROPOSAL
Aditya W MacleadCanadaBernardo Dominic RENEWAL
Ivar I RutaItalyXuxue Feng NEGOTIATION
Ricardo S SlusarskiJapanXuxue Feng NEW
Clifford I WaycottIndiaXuxue Feng QUALIFIED
Emily M GarufiBrazilIoni Bowcher PROPOSAL
Jefferson R PoquetteItalyStephen Shaw UNQUALIFIED
Emily K InouyeAustraliaStephen Shaw NEW
Silvio F GlickUnited KingdomXuxue Feng UNQUALIFIED
Octavia S KuskoCanadaXuxue Feng RENEWAL
Deepesh U PerinUnited KingdomOnyama Limba NEGOTIATION
Cody R SergiAustraliaOnyama Limba NEW
Jefferson L IturbideAustraliaAmy Elsner UNQUALIFIED
Murillo K IturbideAustraliaStephen Shaw NEW
Smith U VenereAustraliaStephen Shaw NEW
James Z GarufiJapanIvan Magalhaes QUALIFIED
Claire R FigeroaGermanyXuxue Feng QUALIFIED
Ricardo F FerenczIndiaAnna Fali QUALIFIED
Ivar X KolmetzIndiaXuxue Feng QUALIFIED
Rodrigues Y DilliardIndiaBernardo Dominic QUALIFIED
Morrow K GillianArgentinaAnna Fali UNQUALIFIED
Wickens P GarufiGermanyIoni Bowcher NEGOTIATION
Silvio X DarakjyJapanAmy Elsner QUALIFIED
Juan J WieserRussiaStephen Shaw RENEWAL
Salvatore I WhobreyBrazilBernardo Dominic NEGOTIATION
Deepesh F CampainJapanIvan Magalhaes NEGOTIATION
Salvatore V OldroydGermanyIoni Bowcher PROPOSAL
Mujtaba B FerenczJapanIoni Bowcher UNQUALIFIED
Aditya I RoysterAustraliaIvan Magalhaes PROPOSAL
Faith C StensethJapanStephen Shaw NEGOTIATION
Clifford I AlbaresBrazilAnna Fali UNQUALIFIED
Johnson R MaletAustraliaElwin Sharvill QUALIFIED
Stacey P ChuiRussiaOnyama Limba NEW
Cody G SchemmerUnited KingdomAmy Elsner NEW
Sinclair S ButtBrazilIoni Bowcher PROPOSAL
Clifford Q FollerRussiaOnyama Limba NEGOTIATION
Ivar A WaycottCanadaAnna Fali UNQUALIFIED
James A BriddickSpainXuxue Feng RENEWAL
Arvin J GauchoSpainIvan Magalhaes NEW
Mayumi E BologniaArgentinaAmy Elsner PROPOSAL
Smith A ButtGermanyXuxue Feng UNQUALIFIED
Munro Z SlusarskiItalyBernardo Dominic NEGOTIATION
Juan G WaycottJapanAmy Elsner QUALIFIED
Chavez Y WaycottAustraliaAmy Elsner NEW
Silvio I BologniaJapanAmy Elsner QUALIFIED
Ivar Q GauchoGermanyBernardo Dominic NEGOTIATION
Arvin F CaudyItalyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford R MacleadIndiaXuxue Feng NEGOTIATION
Ashley G CaudySpainBernardo Dominic UNQUALIFIED
Mayumi J FerenczJapanOnyama Limba QUALIFIED
Emily V MaletRussiaXuxue Feng PROPOSAL
Julie B WhobreyIndiaBernardo Dominic QUALIFIED
Aditya G CampainFranceStephen Shaw NEGOTIATION
Rodrigues L DilliardRussiaAnna Fali NEW
Izzy H StensethIndiaOnyama Limba QUALIFIED
Kadeem I CaldareraIndiaXuxue Feng PROPOSAL
Costa I MorascaUnited KingdomIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David I FollerItaly2026-10-26Chanay, Jeffrey A Esq RENEWAL28Amy Elsner
1001Darci J CaldareraSpain2026-10-30Chemel, James L Cpa PROPOSAL24Onyama Limba
1002Jefferson V StensethUnited Kingdom2026-11-11Dorl, James J Esq NEW51Amy Elsner
1003Izzy X TollnerGermany2026-11-09Morlong Associates UNQUALIFIED24Onyama Limba
1004Stacey I SergiSpain2026-10-27Benton, John B Jr PROPOSAL2Asiya Javayant
1005Mayumi M InouyeArgentina2026-11-01Printing Dimensions RENEWAL63Elwin Sharvill
1006Nicolas O InouyeSpain2026-10-20Truhlar And Truhlar Attys NEGOTIATION13Ioni Bowcher
1007Sinclair X WieserItaly2026-11-01Chapman, Ross E Esq QUALIFIED36Bernardo Dominic
1008Antonio O MarrierFrance2026-10-15Buckley Miller Wright PROPOSAL59Asiya Javayant
1009Kadeem Y ChuiJapan2026-11-08Feiner Bros QUALIFIED11Stephen Shaw
1010Leon V MacleadFrance2026-11-08King, Christopher A Esq NEGOTIATION73Ivan Magalhaes
1011Stacey Z FollerBrazil2026-10-21Printing Dimensions RENEWAL52Onyama Limba
1012Tony L NickaFrance2026-11-01Printing Dimensions RENEWAL20Elwin Sharvill
1013Deepesh U NestleBrazil2026-10-26Chapman, Ross E Esq NEW84Anna Fali
1014Rodrigues P RutaAustralia2026-10-28Dorl, James J Esq NEGOTIATION81Asiya Javayant
1015Darci Q GlickRussia2026-11-03Chemel, James L Cpa UNQUALIFIED82Ioni Bowcher
1016Aika V BowleyItaly2026-11-01Feiner Bros PROPOSAL0Amy Elsner
1017Greenwood U GillianUnited Kingdom2026-10-27Feiner Bros RENEWAL9Ivan Magalhaes
1018Ashley J WhobreyRussia2026-10-17King, Christopher A Esq RENEWAL72Onyama Limba
1019David G MarrierJapan2026-10-16King, Christopher A Esq UNQUALIFIED2Elwin Sharvill
1020Ashley B PaprockiJapan2026-11-01Buckley Miller Wright NEGOTIATION7Bernardo Dominic
1021Leon L SlusarskiJapan2026-10-24Buckley Miller Wright NEW54Xuxue Feng
1022Emily C CaldareraRussia2026-11-02Chapman, Ross E Esq NEW21Asiya Javayant
1023Deepesh K DarakjyUnited Kingdom2026-10-27Chapman, Ross E Esq NEGOTIATION63Onyama Limba
1024Smith N PerinFrance2026-10-29Rangoni Of Florence RENEWAL8Xuxue Feng
1025Chavez M GlickGermany2026-11-04Chapman, Ross E Esq RENEWAL79Onyama Limba
1026Chavez R NickaGermany2026-11-10Buckley Miller Wright UNQUALIFIED64Onyama Limba
1027Morrow R FollerItaly2026-11-09Buckley Miller Wright NEGOTIATION1Anna Fali
1028Jeanfrancois W RutaUnited Kingdom2026-10-13Rangoni Of Florence NEGOTIATION84Onyama Limba
1029Mujtaba X CaldareraBrazil2026-10-22Feltz Printing Service RENEWAL40Amy Elsner
1030Clifford P OldroydAustralia2026-11-06Dorl, James J Esq NEGOTIATION58Stephen Shaw
1031Mujtaba J MorascaBrazil2026-11-04Chemel, James L Cpa UNQUALIFIED44Amy Elsner
1032Jennifer O VocelkaItaly2026-10-30Benton, John B Jr NEW0Bernardo Dominic
1033Greenwood E MorascaCanada2026-11-10Feiner Bros UNQUALIFIED16Ioni Bowcher
1034Mujtaba K BowleyItaly2026-11-11Chanay, Jeffrey A Esq NEW80Onyama Limba
1035Rodrigues Q CaldareraItaly2026-11-05Benton, John B Jr UNQUALIFIED61Amy Elsner
1036Nicolas Y DoeJapan2026-11-09Dorl, James J Esq NEW45Stephen Shaw
1037Sinclair N GauchoBrazil2026-11-04Rousseaux, Michael Esq NEW73Bernardo Dominic
1038Isabel K AmigonFrance2026-11-07Feiner Bros NEGOTIATION67Asiya Javayant
1039Leon Q WhobreyBrazil2026-10-29King, Christopher A Esq UNQUALIFIED31Onyama Limba
1040James X SaylorsIndia2026-11-01Printing Dimensions QUALIFIED32Amy Elsner
1041Darci J PoquetteItaly2026-10-24Chanay, Jeffrey A Esq PROPOSAL99Anna Fali
1042Nicolas A FerenczFrance2026-10-17Dorl, James J Esq NEGOTIATION36Anna Fali
1043Murillo D ChuiIndia2026-11-10Benton, John B Jr PROPOSAL47Ivan Magalhaes
1044Aditya G DoeFrance2026-11-01Morlong Associates PROPOSAL64Bernardo Dominic
1045Greenwood X BowleySpain2026-10-21Chemel, James L Cpa NEW84Amy Elsner
1046Juan M VenereAustralia2026-10-18Rousseaux, Michael Esq NEW72Amy Elsner
1047Smith C OldroydCanada2026-10-23Chemel, James L Cpa QUALIFIED65Ivan Magalhaes
1048Clifford Z RimAustralia2026-10-29Rousseaux, Michael Esq RENEWAL22Anna Fali
1049Maria C GarufiItaly2026-10-20Feltz Printing Service UNQUALIFIED21Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar D VocelkaCanadaOnyama Limba UNQUALIFIED
Emily T FigeroaRussiaStephen Shaw UNQUALIFIED
Mayumi L VenereBrazilIvan Magalhaes NEW
Munro B GillianUnited KingdomIvan Magalhaes NEGOTIATION
Maria B VocelkaFranceXuxue Feng UNQUALIFIED
James H ShinkoJapanAmy Elsner PROPOSAL
Aika K RoysterItalyElwin Sharvill UNQUALIFIED
Izzy U FerenczFranceIoni Bowcher RENEWAL
Sinclair V SchemmerArgentinaOnyama Limba NEW
Kaitlin X SlusarskiFranceIoni Bowcher UNQUALIFIED
Kadeem Z WieserFranceXuxue Feng UNQUALIFIED
Nicolas O DoeAustraliaAnna Fali PROPOSAL
Clifford R VenereUnited KingdomAmy Elsner RENEWAL
Claire U NestleItalyXuxue Feng UNQUALIFIED
Clifford Q DarakjyBrazilBernardo Dominic UNQUALIFIED
James V DilliardArgentinaAsiya Javayant PROPOSAL
Francesco O FlosiItalyIvan Magalhaes NEGOTIATION
Alejandro R ButtSpainElwin Sharvill UNQUALIFIED
Claire W OstroskyAustraliaIoni Bowcher NEW
Ashley A MarrierIndiaAmy Elsner PROPOSAL
Alejandro B SchemmerItalyBernardo Dominic RENEWAL
Jeanfrancois O GillianBrazilIoni Bowcher UNQUALIFIED
Maria W FollerIndiaElwin Sharvill RENEWAL
Misaki J GauchoSpainIvan Magalhaes NEGOTIATION
Kaitlin U PaprockiIndiaStephen Shaw UNQUALIFIED
Isabel N KolmetzIndiaOnyama Limba QUALIFIED
Isabel A PaprockiFranceBernardo Dominic NEGOTIATION
Jefferson E WieserJapanAnna Fali NEGOTIATION
Murillo Y DilliardUnited KingdomElwin Sharvill NEW
James C PaprockiBrazilStephen Shaw NEGOTIATION
Rodrigues Z SlusarskiFranceStephen Shaw NEGOTIATION
Mujtaba O InouyeRussiaBernardo Dominic QUALIFIED
Ricardo J FigeroaCanadaIvan Magalhaes RENEWAL
Francesco M DarakjyRussiaOnyama Limba UNQUALIFIED
Jefferson I RimAustraliaStephen Shaw UNQUALIFIED
Munro V WhobreyRussiaOnyama Limba NEGOTIATION
Ricardo C AlbaresBrazilIvan Magalhaes NEW
Faith G GauchoBrazilAnna Fali QUALIFIED
Aika J CampainSpainIoni Bowcher RENEWAL
James O BowleyGermanyAsiya Javayant UNQUALIFIED
Mujtaba M CaldareraAustraliaAnna Fali NEGOTIATION
Leja L NestleGermanyStephen Shaw RENEWAL
Francesco A GillianAustraliaIvan Magalhaes NEGOTIATION
Francesco E VenereGermanyBernardo Dominic PROPOSAL
Kadeem W NickaItalyStephen Shaw PROPOSAL
Darci L DilliardCanadaBernardo Dominic NEW
Kaitlin W AlbaresFranceAmy Elsner RENEWAL
Chavez J OldroydItalyXuxue Feng NEW
Emily E CampainBrazilIoni Bowcher NEW
Clifford D SchemmerSpainElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Aruna W Caldarera
Antonio M Oldroyd
Izzy C Schemmer
Morrow M Perin
Adams O Tollner
Misaki W Dilliard
Tony N Figeroa
Rodrigues X Malet
Morrow T Bowley
Clifford V Sergi
Silvio P Stockham
Munro Q Figeroa
James S Wieser
Leja G Malet
Francesco K Saylors
Juan P Rim
Clifford I Caldarera
Octavia M Tollner
Aditya V Kusko
Arvin M Garufi
Leon V Paprocki
Maisha A Caldarera
Leja D Vocelka
Maria Z Butt
Ashley S Rim
Francesco T Marrier
James J Doe
Clifford Q Morasca
Misaki J Gillian
Johnson L Amigon
Isabel Z Glick
James Z Stockham
Deepesh E Rim
Jefferson Q Shinko
Faith G Foller
Mayumi A Bolognia
Arvin O Stenseth
Munro Z Ruta
Arvin E Figeroa
Francesco X Doe
Silvio S Albares
Deepesh H Whobrey
Aditya W Bolognia
Isabel C Morasca
Maria X Kolmetz
Claire V Morasca
Murillo P Rim
James A Kusko
Aika D Campain
Kaitlin F Slusarski
IdCountryDate
1000Brazil2026-10-25
1001India2026-10-18
1002Canada2026-10-13
1003Brazil2026-11-03
1004Brazil2026-10-29
1005Spain2026-11-06
1006Germany2026-11-06
1007India2026-11-04
1008United Kingdom2026-10-14
1009Japan2026-11-04
1010India2026-11-10
1011Canada2026-10-16
1012Brazil2026-10-14
1013Italy2026-10-14
1014Russia2026-10-17
1015Brazil2026-11-08
1016Germany2026-10-19
1017Canada2026-10-22
1018France2026-11-08
1019Germany2026-11-10
1020Brazil2026-10-22
1021Argentina2026-11-07
1022Spain2026-10-13
1023France2026-11-01
1024Italy2026-11-02
1025France2026-11-11
1026Spain2026-11-03
1027France2026-10-24
1028Canada2026-11-01
1029Germany2026-10-15
1030Argentina2026-10-25
1031Brazil2026-11-05
1032Germany2026-10-24
1033Spain2026-10-20
1034Spain2026-11-09
1035Italy2026-10-13
1036Italy2026-10-17
1037France2026-10-21
1038India2026-10-24
1039Australia2026-10-29
1040Japan2026-10-26
1041Italy2026-10-30
1042Canada2026-10-25
1043Spain2026-11-06
1044Brazil2026-11-01
1045France2026-10-24
1046Argentina2026-11-05
1047Italy2026-10-24
1048Russia2026-10-26
1049Brazil2026-11-03

On-Demand Data

NameIdCountryDate
Jefferson Z Tollner1000Russia2026-11-01
Octavia I Maclead1001India2026-10-24
Julie R Kusko1002India2026-10-27
Smith F Butt1003Italy2026-11-06
Cody H Maclead1004Canada2026-10-24
Aika G Malet1005Spain2026-10-27
Octavia I Glick1006Italy2026-10-16
Maria N Stockham1007Russia2026-10-20
James N Shinko1008India2026-10-30
Silvio D Inouye1009Australia2026-10-26
Claire T Garufi1010Canada2026-10-15
Tony X Vocelka1011India2026-10-20
Aditya R Caudy1012Japan2026-10-15
Stacey N Morasca1013Italy2026-11-01
Morrow L Stockham1014Italy2026-10-16
James V Gillian1015Japan2026-11-06
Murillo W Vocelka1016United Kingdom2026-11-06
Octavia G Ferencz1017Australia2026-10-22
Rodrigues A Gillian1018Russia2026-10-31
Jeanfrancois S Rulapaugh1019Spain2026-11-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia K BriddickUnited KingdomAnna Fali PROPOSAL
Darci U OldroydArgentinaXuxue Feng PROPOSAL
Kadeem L RoysterSpainStephen Shaw RENEWAL
Claire T ButtUnited KingdomIoni Bowcher UNQUALIFIED
Tony Q KolmetzAustraliaIvan Magalhaes QUALIFIED
Silvio K ChuiJapanOnyama Limba RENEWAL
Kaitlin I WhobreyIndiaAsiya Javayant QUALIFIED
Izzy L SchemmerIndiaAnna Fali QUALIFIED
Jeanfrancois P SaylorsGermanyIoni Bowcher NEGOTIATION
Jones I GarufiRussiaAnna Fali NEW
Izzy M RoysterItalyAnna Fali UNQUALIFIED
Salvatore E CampainAustraliaElwin Sharvill UNQUALIFIED
Jefferson F MacleadBrazilAnna Fali QUALIFIED
Jones X DilliardCanadaIoni Bowcher RENEWAL
Wickens K VocelkaFranceBernardo Dominic NEGOTIATION
Chavez M CaldareraBrazilIoni Bowcher UNQUALIFIED
Isabel J MaletFranceAsiya Javayant PROPOSAL
Ricardo H DilliardFranceIoni Bowcher PROPOSAL
Aditya Z ButtFranceXuxue Feng NEGOTIATION
Jeanfrancois N IturbideAustraliaStephen Shaw NEGOTIATION
Wickens O MaletAustraliaAnna Fali RENEWAL
Octavia J AmigonBrazilIoni Bowcher QUALIFIED
Silvio S SaylorsSpainAmy Elsner PROPOSAL
Ricardo R FlosiFranceBernardo Dominic NEGOTIATION
Tony I RutaSpainIoni Bowcher RENEWAL
Kadeem N StockhamIndiaIvan Magalhaes UNQUALIFIED
Murillo V GarufiCanadaStephen Shaw NEGOTIATION
Aditya E ShinkoItalyXuxue Feng QUALIFIED
Cody G CaldareraBrazilOnyama Limba NEGOTIATION
David I FlosiRussiaOnyama Limba UNQUALIFIED
Aditya Y RulapaughCanadaStephen Shaw PROPOSAL
Kaitlin S NickaIndiaIvan Magalhaes QUALIFIED
Adams K BologniaGermanyStephen Shaw UNQUALIFIED
Adams T BowleyAustraliaAmy Elsner NEGOTIATION
Leon J FollerBrazilElwin Sharvill UNQUALIFIED
Sinclair X RimJapanBernardo Dominic NEW
Misaki B SchemmerCanadaAnna Fali NEGOTIATION
Greenwood U FigeroaItalyAmy Elsner NEW
Stacey N FlosiIndiaAnna Fali RENEWAL
Kadeem W GauchoAustraliaBernardo Dominic 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>