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
Aika Y WieserSpainAnna Fali UNQUALIFIED
Tony F MarrierSpainStephen Shaw PROPOSAL
Darci G FollerRussiaAsiya Javayant UNQUALIFIED
Izzy O DilliardUnited KingdomIvan Magalhaes RENEWAL
Claire J PerinFranceAsiya Javayant NEGOTIATION
Greenwood N WhobreyAustraliaIoni Bowcher NEGOTIATION
Clifford R SaylorsFranceAsiya Javayant QUALIFIED
Darci J RimFranceXuxue Feng RENEWAL
Claire J RutaFranceAmy Elsner PROPOSAL
Claire V VenereSpainAnna Fali PROPOSAL
Wickens K NestleJapanIvan Magalhaes PROPOSAL
Mayumi P PoquetteFranceElwin Sharvill UNQUALIFIED
Leon U SergiIndiaAnna Fali PROPOSAL
Mujtaba P AlbaresItalyAsiya Javayant QUALIFIED
Jennifer X RulapaughRussiaAmy Elsner RENEWAL
Sinclair F KolmetzJapanBernardo Dominic NEW
Maria U WhobreyBrazilOnyama Limba PROPOSAL
Misaki V BriddickCanadaBernardo Dominic NEGOTIATION
Adams N MacleadItalyBernardo Dominic QUALIFIED
Wickens R FerenczCanadaXuxue Feng QUALIFIED
Wickens V FlosiItalyIvan Magalhaes QUALIFIED
Kaitlin Q ShinkoSpainAmy Elsner NEGOTIATION
Clifford W GillianGermanyAnna Fali NEGOTIATION
Arvin B BriddickBrazilXuxue Feng PROPOSAL
Julie N KolmetzRussiaElwin Sharvill RENEWAL
Arvin I ShinkoJapanIvan Magalhaes NEGOTIATION
Izzy Y ShinkoArgentinaIoni Bowcher NEW
Ricardo S ShinkoCanadaAnna Fali NEGOTIATION
Deepesh B MacleadBrazilElwin Sharvill NEW
Cody X AlbaresArgentinaIoni Bowcher PROPOSAL
Aditya G RimGermanyAsiya Javayant NEGOTIATION
Cody D RulapaughSpainBernardo Dominic NEGOTIATION
Salvatore K KolmetzUnited KingdomAmy Elsner PROPOSAL
Wickens W ShinkoArgentinaAnna Fali NEW
Mujtaba T MorascaSpainAnna Fali NEW
Misaki H SchemmerIndiaAsiya Javayant QUALIFIED
Johnson L StensethIndiaAnna Fali NEW
Aruna Q BriddickBrazilStephen Shaw PROPOSAL
Juan C CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Kadeem S AmigonItalyAmy Elsner QUALIFIED
Aditya F VenereItalyIoni Bowcher PROPOSAL
Morrow E MorascaCanadaIvan Magalhaes RENEWAL
Morrow H CaldareraGermanyAnna Fali NEGOTIATION
Alejandro T ShinkoUnited KingdomXuxue Feng RENEWAL
Aruna O MaletIndiaXuxue Feng PROPOSAL
Wickens Q GillianAustraliaXuxue Feng NEW
Sinclair P WhobreyBrazilIvan Magalhaes PROPOSAL
Octavia I InouyeBrazilAsiya Javayant NEGOTIATION
Adams S GlickJapanElwin Sharvill PROPOSAL
Greenwood O ShinkoArgentinaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey M SergiIndiaAsiya Javayant NEW
Stacey D CaldareraCanadaAsiya Javayant NEW
Leon A GauchoArgentinaElwin Sharvill NEGOTIATION
Rodrigues Y CampainCanadaBernardo Dominic QUALIFIED
Mayumi E NickaBrazilIvan Magalhaes NEW
Clifford W AlbaresAustraliaAnna Fali PROPOSAL
Silvio B SergiGermanyElwin Sharvill RENEWAL
Wickens O SaylorsBrazilStephen Shaw NEGOTIATION
Murillo B GlickJapanBernardo Dominic UNQUALIFIED
Wickens V SlusarskiRussiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem P RimItaly2026-10-22Feiner Bros QUALIFIED75Onyama Limba
1001Munro B CaldareraJapan2026-10-18Commercial Press NEW73Bernardo Dominic
1002Deepesh H PoquetteGermany2026-10-24Truhlar And Truhlar Attys UNQUALIFIED70Asiya Javayant
1003Chavez O PoquetteSpain2026-10-31Chapman, Ross E Esq UNQUALIFIED36Anna Fali
1004Isabel Q SaylorsAustralia2026-11-01Rangoni Of Florence RENEWAL42Bernardo Dominic
1005James F BologniaGermany2026-10-11Printing Dimensions QUALIFIED16Ivan Magalhaes
1006Emily Z FlosiGermany2026-10-31Morlong Associates NEGOTIATION14Anna Fali
1007Darci J AmigonUnited Kingdom2026-10-16Truhlar And Truhlar Attys PROPOSAL77Ioni Bowcher
1008Aruna P AlbaresItaly2026-10-22Rangoni Of Florence NEGOTIATION51Bernardo Dominic
1009Morrow Y RutaUnited Kingdom2026-10-18Benton, John B Jr PROPOSAL33Ioni Bowcher
1010Rodrigues G GarufiSpain2026-10-12Printing Dimensions PROPOSAL78Xuxue Feng
1011Faith H StensethRussia2026-11-02Printing Dimensions PROPOSAL50Elwin Sharvill
1012Jennifer M WieserBrazil2026-10-07Printing Dimensions PROPOSAL27Bernardo Dominic
1013Salvatore K FollerItaly2026-10-17Feiner Bros QUALIFIED15Ioni Bowcher
1014Smith Y ShinkoIndia2026-10-15Chanay, Jeffrey A Esq PROPOSAL96Amy Elsner
1015Nicolas Y ChuiCanada2026-10-13Commercial Press UNQUALIFIED7Xuxue Feng
1016Jones P PerinAustralia2026-10-20Benton, John B Jr QUALIFIED38Bernardo Dominic
1017Silvio B ChuiFrance2026-10-07Morlong Associates UNQUALIFIED20Onyama Limba
1018Kaitlin C PerinGermany2026-10-22Rangoni Of Florence UNQUALIFIED13Anna Fali
1019Jeanfrancois B CampainSpain2026-10-20Benton, John B Jr RENEWAL87Ioni Bowcher
1020Wickens U StockhamUnited Kingdom2026-10-25Feltz Printing Service UNQUALIFIED12Anna Fali
1021Darci W GlickRussia2026-10-10Chanay, Jeffrey A Esq PROPOSAL8Onyama Limba
1022Jennifer C TollnerFrance2026-10-22Morlong Associates QUALIFIED49Bernardo Dominic
1023Leja G GlickAustralia2026-10-31Commercial Press RENEWAL99Anna Fali
1024Jefferson Q AlbaresAustralia2026-10-19Benton, John B Jr NEW88Stephen Shaw
1025Octavia K RimAustralia2026-10-07Benton, John B Jr UNQUALIFIED75Anna Fali
1026Cody L FlosiBrazil2026-10-12Feiner Bros QUALIFIED25Amy Elsner
1027Maisha A OldroydAustralia2026-10-25Rangoni Of Florence NEW24Xuxue Feng
1028Smith H RimAustralia2026-10-28Rangoni Of Florence NEGOTIATION89Ioni Bowcher
1029Leja O SergiArgentina2026-10-10Rangoni Of Florence NEGOTIATION56Stephen Shaw
1030Johnson M BriddickGermany2026-10-17Morlong Associates PROPOSAL58Amy Elsner
1031Johnson N WieserIndia2026-10-30Buckley Miller Wright RENEWAL56Amy Elsner
1032Aika A TollnerSpain2026-10-30Chemel, James L Cpa NEGOTIATION70Onyama Limba
1033Aditya V RimArgentina2026-10-17Printing Dimensions QUALIFIED1Xuxue Feng
1034Costa M AlbaresFrance2026-10-25Chapman, Ross E Esq NEW16Elwin Sharvill
1035Tony U AlbaresIndia2026-10-30Feltz Printing Service QUALIFIED6Stephen Shaw
1036Kaitlin B MarrierIndia2026-10-07Buckley Miller Wright QUALIFIED8Ivan Magalhaes
1037Isabel Q RoysterGermany2026-10-22Chapman, Ross E Esq PROPOSAL30Asiya Javayant
1038Octavia U GarufiItaly2026-10-31Feiner Bros QUALIFIED42Asiya Javayant
1039Leja O AmigonBrazil2026-11-02Feltz Printing Service PROPOSAL38Onyama Limba
1040Ashley W PoquetteBrazil2026-10-12Truhlar And Truhlar Attys NEGOTIATION0Amy Elsner
1041Chavez Q FlosiUnited Kingdom2026-10-30Buckley Miller Wright NEGOTIATION91Xuxue Feng
1042Kadeem T VenereBrazil2026-10-09Benton, John B Jr NEGOTIATION95Onyama Limba
1043Jefferson M TollnerArgentina2026-11-04Truhlar And Truhlar Attys QUALIFIED51Bernardo Dominic
1044Morrow M NickaUnited Kingdom2026-10-16Feiner Bros QUALIFIED78Asiya Javayant
1045Greenwood V RulapaughUnited Kingdom2026-10-31Printing Dimensions QUALIFIED69Ioni Bowcher
1046Ashley Q FollerItaly2026-11-02Truhlar And Truhlar Attys NEGOTIATION36Anna Fali
1047Izzy B CaudyRussia2026-10-27Rangoni Of Florence RENEWAL98Stephen Shaw
1048Misaki Z SaylorsItaly2026-10-31Chemel, James L Cpa NEW79Ioni Bowcher
1049Jefferson X DarakjyGermany2026-10-19Chapman, Ross E Esq NEW2Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aditya J CaldareraArgentinaXuxue Feng PROPOSAL
Adams F BowleyRussiaIvan Magalhaes NEGOTIATION
Adams J GlickRussiaIoni Bowcher QUALIFIED
Emily Z DarakjyItalyAsiya Javayant PROPOSAL
Jones Z ChuiArgentinaOnyama Limba NEGOTIATION
Julie W DarakjyJapanElwin Sharvill UNQUALIFIED
Izzy F TollnerBrazilOnyama Limba NEW
Leja O VenereJapanElwin Sharvill UNQUALIFIED
Aruna Z MorascaIndiaBernardo Dominic NEW
David V WieserBrazilIoni Bowcher NEW
Leon F SaylorsUnited KingdomAnna Fali UNQUALIFIED
Tony K VenereJapanStephen Shaw PROPOSAL
Julie C NickaRussiaAmy Elsner PROPOSAL
Smith N FlosiIndiaStephen Shaw QUALIFIED
Leon L FollerRussiaXuxue Feng QUALIFIED
Mayumi O ShinkoFranceXuxue Feng QUALIFIED
Ricardo B TollnerRussiaOnyama Limba PROPOSAL
Jones T KolmetzGermanyStephen Shaw QUALIFIED
Cody X AlbaresJapanAsiya Javayant RENEWAL
Leja T AmigonUnited KingdomAmy Elsner NEGOTIATION
Mayumi D BowleyFranceIoni Bowcher NEW
David B VenereUnited KingdomOnyama Limba PROPOSAL
Kaitlin Y PoquetteUnited KingdomIvan Magalhaes RENEWAL
Maria J FollerGermanyIvan Magalhaes PROPOSAL
Aruna O RoysterRussiaAmy Elsner NEW
Rodrigues R AmigonRussiaIvan Magalhaes PROPOSAL
Kadeem U FigeroaArgentinaAsiya Javayant NEW
Octavia W IturbideArgentinaOnyama Limba NEGOTIATION
Stacey J ButtCanadaStephen Shaw PROPOSAL
Aika P PerinArgentinaAsiya Javayant NEW
Faith G VocelkaBrazilIoni Bowcher UNQUALIFIED
Maria D CaudyUnited KingdomXuxue Feng QUALIFIED
Isabel U WieserJapanIoni Bowcher UNQUALIFIED
Nicolas X CampainIndiaIvan Magalhaes RENEWAL
Smith M CaudyRussiaIoni Bowcher QUALIFIED
Clifford V TollnerArgentinaIvan Magalhaes UNQUALIFIED
Aditya Q SergiJapanAsiya Javayant NEGOTIATION
Isabel I DoeUnited KingdomIvan Magalhaes PROPOSAL
Aruna C RulapaughIndiaStephen Shaw NEW
David U AmigonBrazilIoni Bowcher RENEWAL
Jennifer D GauchoSpainAsiya Javayant PROPOSAL
Morrow R RimCanadaIoni Bowcher NEW
Octavia D FlosiIndiaStephen Shaw UNQUALIFIED
Greenwood J BowleySpainBernardo Dominic RENEWAL
Johnson E PoquetteIndiaBernardo Dominic QUALIFIED
Ashley N DarakjyIndiaOnyama Limba QUALIFIED
Aditya V PaprockiSpainAmy Elsner RENEWAL
Morrow J WieserJapanStephen Shaw NEGOTIATION
Mayumi N FlosiUnited KingdomAmy Elsner NEGOTIATION
Kaitlin T AmigonItalyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Jennifer R Bolognia
Cody P Poquette
Clifford R Butt
Munro M Figeroa
Nicolas N Caudy
Claire G Rulapaugh
Kaitlin J Malet
Claire N Campain
Jennifer G Gaucho
Rodrigues J Doe
Leja I Sergi
Octavia P Gillian
Emily O Malet
Adams I Tollner
Arvin W Saylors
Jefferson N Rulapaugh
Izzy D Malet
Aditya R Stenseth
Salvatore R Iturbide
Kadeem X Dilliard
Maria D Nicka
Salvatore T Saylors
Wickens C Caldarera
Maria U Albares
Jennifer F Marrier
Jefferson Q Kusko
Francesco B Tollner
Morrow C Malet
Adams G Wieser
Cody V Nestle
Adams N Saylors
Wickens Z Slusarski
Misaki M Slusarski
Alejandro W Sergi
Julie B Chui
Emily J Vocelka
Smith S Chui
Nicolas F Campain
Julie W Glick
Maisha D Ferencz
Johnson Q Shinko
Jeanfrancois V Saylors
Sinclair X Slusarski
Deepesh G Inouye
Alejandro V Perin
Smith J Stenseth
Francesco U Poquette
Misaki G Slusarski
Isabel Q Venere
Leon P Caldarera
IdCountryDate
1000Russia2026-10-21
1001France2026-10-31
1002Australia2026-10-29
1003Australia2026-10-27
1004Italy2026-10-21
1005Germany2026-10-19
1006United Kingdom2026-10-22
1007Russia2026-10-17
1008Germany2026-10-24
1009Australia2026-10-22
1010Brazil2026-10-11
1011Russia2026-10-31
1012Brazil2026-10-14
1013India2026-10-11
1014Argentina2026-10-26
1015Japan2026-10-16
1016Brazil2026-10-08
1017Canada2026-10-15
1018Australia2026-10-11
1019France2026-10-09
1020Russia2026-10-29
1021Argentina2026-10-23
1022Japan2026-10-09
1023Brazil2026-10-07
1024India2026-10-20
1025Australia2026-10-27
1026India2026-10-17
1027Italy2026-10-14
1028Spain2026-10-21
1029India2026-10-31
1030Canada2026-11-02
1031France2026-11-04
1032Canada2026-10-13
1033United Kingdom2026-10-13
1034Italy2026-11-01
1035France2026-10-26
1036Spain2026-10-14
1037United Kingdom2026-10-14
1038Canada2026-10-14
1039Japan2026-10-27
1040Spain2026-10-10
1041Germany2026-10-08
1042Italy2026-10-11
1043Australia2026-10-26
1044Canada2026-11-01
1045Italy2026-10-14
1046Germany2026-10-27
1047India2026-10-24
1048Australia2026-11-03
1049Canada2026-11-03

On-Demand Data

NameIdCountryDate
Claire F Ruta1000Italy2026-11-01
Silvio M Butt1001Argentina2026-10-24
Ivar Q Kusko1002India2026-10-13
Aika G Malet1003Spain2026-10-16
Izzy W Malet1004Argentina2026-10-16
Murillo J Gaucho1005Australia2026-11-04
Adams K Glick1006Germany2026-10-27
Antonio M Caudy1007Italy2026-10-13
Mujtaba M Albares1008Russia2026-11-01
Leon L Malet1009Canada2026-10-10
Maisha W Bowley1010India2026-10-19
Arvin L Garufi1011France2026-10-21
Jennifer N Royster1012Russia2026-10-09
Adams N Amigon1013Germany2026-10-15
Isabel A Ruta1014Canada2026-11-03
Smith Y Shinko1015Russia2026-10-20
Sinclair G Gillian1016Canada2026-10-23
Leja B Kusko1017Australia2026-10-12
Julie L Dilliard1018Italy2026-10-28
Nicolas O Amigon1019Brazil2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley B ShinkoIndiaElwin Sharvill QUALIFIED
Emily T CaudySpainBernardo Dominic PROPOSAL
Antonio H SergiJapanOnyama Limba QUALIFIED
Mujtaba V ChuiAustraliaAmy Elsner NEW
Julie Z GauchoIndiaAmy Elsner RENEWAL
Darci B GauchoCanadaOnyama Limba QUALIFIED
Silvio Q WaycottCanadaIvan Magalhaes PROPOSAL
Francesco D VenereFranceAnna Fali PROPOSAL
Aditya P OstroskyFranceBernardo Dominic NEGOTIATION
Ricardo X OstroskyJapanBernardo Dominic QUALIFIED
Munro H AlbaresArgentinaOnyama Limba UNQUALIFIED
James M AlbaresBrazilAsiya Javayant PROPOSAL
Wickens Y CaudyGermanyBernardo Dominic NEGOTIATION
Francesco M OstroskyJapanIvan Magalhaes UNQUALIFIED
Cody D WieserJapanStephen Shaw QUALIFIED
David W GlickCanadaXuxue Feng NEGOTIATION
Maisha F MarrierArgentinaAnna Fali UNQUALIFIED
Nicolas G TollnerRussiaIvan Magalhaes QUALIFIED
Darci V OldroydAustraliaIoni Bowcher UNQUALIFIED
Costa F DoeSpainAnna Fali UNQUALIFIED
Adams Y SaylorsFranceAnna Fali QUALIFIED
Greenwood E DarakjyRussiaOnyama Limba NEW
Murillo W AmigonSpainAsiya Javayant QUALIFIED
Wickens D VocelkaFranceIoni Bowcher PROPOSAL
Adams M GillianSpainAmy Elsner QUALIFIED
Alejandro P BowleyGermanyStephen Shaw NEW
Cody C VocelkaAustraliaIoni Bowcher RENEWAL
Adams A MaletUnited KingdomStephen Shaw NEW
Mayumi S CaldareraGermanyAsiya Javayant QUALIFIED
Jones V AmigonFranceXuxue Feng NEW
Juan K MaletAustraliaAmy Elsner NEW
Morrow T TollnerJapanOnyama Limba NEW
Ashley T RutaCanadaAmy Elsner NEW
Deepesh N MacleadIndiaAsiya Javayant PROPOSAL
Sinclair J MarrierCanadaIoni Bowcher UNQUALIFIED
Deepesh I SchemmerBrazilAmy Elsner UNQUALIFIED
Sinclair V TollnerJapanStephen Shaw PROPOSAL
Jones Q RoysterArgentinaAsiya Javayant RENEWAL
Ricardo N WieserJapanIoni Bowcher RENEWAL
Kadeem B ChuiCanadaOnyama Limba NEW

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