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
Adams Y WieserItalyAnna Fali NEW
Francesco H GauchoIndiaAnna Fali QUALIFIED
Silvio G ShinkoRussiaStephen Shaw UNQUALIFIED
Smith U KolmetzIndiaElwin Sharvill NEW
Wickens D SergiIndiaAmy Elsner QUALIFIED
Ivar N FigeroaRussiaIoni Bowcher NEW
Aruna N DoeSpainStephen Shaw NEGOTIATION
Francesco O GauchoAustraliaAnna Fali NEW
Francesco D ButtJapanBernardo Dominic QUALIFIED
Johnson N NickaAustraliaIvan Magalhaes UNQUALIFIED
Kadeem Z DilliardItalyElwin Sharvill NEW
Francesco U RimCanadaAmy Elsner QUALIFIED
Misaki U PoquetteItalyIoni Bowcher NEW
Wickens G MaletFranceIvan Magalhaes RENEWAL
Antonio E WhobreyArgentinaOnyama Limba NEW
Costa I MaletArgentinaAmy Elsner UNQUALIFIED
Greenwood Q FlosiJapanElwin Sharvill RENEWAL
Chavez F MorascaItalyIvan Magalhaes RENEWAL
Clifford N FollerGermanyAmy Elsner UNQUALIFIED
Emily N PerinUnited KingdomElwin Sharvill PROPOSAL
Sinclair C PaprockiSpainAnna Fali PROPOSAL
Munro S FollerIndiaIvan Magalhaes QUALIFIED
Aruna E IturbideRussiaIvan Magalhaes UNQUALIFIED
Leon Z NestleCanadaIvan Magalhaes QUALIFIED
Faith C TollnerArgentinaIvan Magalhaes QUALIFIED
Johnson B MacleadArgentinaBernardo Dominic UNQUALIFIED
Izzy P MacleadFranceBernardo Dominic UNQUALIFIED
Ivar U SchemmerFranceStephen Shaw NEGOTIATION
Maisha R ButtIndiaOnyama Limba RENEWAL
Tony E StensethUnited KingdomXuxue Feng RENEWAL
Misaki O MorascaJapanStephen Shaw QUALIFIED
Francesco X GauchoSpainAsiya Javayant PROPOSAL
Nicolas D BologniaBrazilStephen Shaw QUALIFIED
Francesco S MaletAustraliaStephen Shaw NEGOTIATION
Munro T FollerUnited KingdomXuxue Feng QUALIFIED
Francesco V CaldareraRussiaAsiya Javayant PROPOSAL
Julie P PerinIndiaOnyama Limba NEGOTIATION
James D FollerSpainIvan Magalhaes QUALIFIED
Leon U NestleIndiaAmy Elsner RENEWAL
Izzy X FerenczFranceAmy Elsner QUALIFIED
Antonio E FerenczAustraliaStephen Shaw NEW
Deepesh S GlickIndiaIvan Magalhaes QUALIFIED
Salvatore S ChuiJapanAsiya Javayant UNQUALIFIED
Jefferson N StockhamGermanyIoni Bowcher RENEWAL
Silvio H MaletIndiaXuxue Feng RENEWAL
Aruna U KolmetzBrazilXuxue Feng UNQUALIFIED
Isabel I RoysterArgentinaAmy Elsner QUALIFIED
Emily L ButtBrazilBernardo Dominic RENEWAL
Leja W WhobreyItalyXuxue Feng NEW
Kaitlin J ButtJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair F VenereBrazilElwin Sharvill QUALIFIED
Smith D InouyeArgentinaAsiya Javayant NEW
Maisha N FigeroaRussiaIvan Magalhaes NEW
Arvin T RutaArgentinaIvan Magalhaes NEGOTIATION
Greenwood H GlickArgentinaAsiya Javayant UNQUALIFIED
Salvatore A VocelkaIndiaAnna Fali QUALIFIED
Murillo S NickaItalyOnyama Limba NEW
Aruna I AmigonBrazilAsiya Javayant PROPOSAL
Costa M OstroskyBrazilOnyama Limba UNQUALIFIED
Maisha M SaylorsGermanyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan P CampainFrance2026-10-06Morlong Associates NEGOTIATION98Onyama Limba
1001Faith P RutaArgentina2026-10-06Benton, John B Jr NEW31Ivan Magalhaes
1002Kadeem C MaletGermany2026-10-04Chemel, James L Cpa UNQUALIFIED21Stephen Shaw
1003Arvin A NestleSpain2026-10-21Commercial Press PROPOSAL65Amy Elsner
1004Sinclair M WaycottSpain2026-10-21Printing Dimensions QUALIFIED59Bernardo Dominic
1005Aditya Y DarakjyAustralia2026-10-08Buckley Miller Wright RENEWAL58Xuxue Feng
1006Isabel O BowleyJapan2026-10-23Printing Dimensions PROPOSAL46Onyama Limba
1007Stacey L ShinkoSpain2026-10-13Benton, John B Jr PROPOSAL22Amy Elsner
1008Mayumi S OstroskyItaly2026-10-21Buckley Miller Wright QUALIFIED25Amy Elsner
1009Costa K ButtRussia2026-09-28Feltz Printing Service RENEWAL63Ioni Bowcher
1010Misaki A PerinSpain2026-10-02Feltz Printing Service UNQUALIFIED97Ioni Bowcher
1011Sinclair Q BowleyIndia2026-10-24Chanay, Jeffrey A Esq UNQUALIFIED91Amy Elsner
1012Salvatore J PaprockiBrazil2026-09-28Chemel, James L Cpa UNQUALIFIED26Ivan Magalhaes
1013Smith V AmigonJapan2026-10-26Rangoni Of Florence NEW93Asiya Javayant
1014Greenwood D CampainSpain2026-10-27Feltz Printing Service QUALIFIED65Ioni Bowcher
1015Emily W DarakjyGermany2026-10-17Truhlar And Truhlar Attys RENEWAL29Elwin Sharvill
1016Adams P MacleadBrazil2026-10-21Printing Dimensions QUALIFIED22Anna Fali
1017Julie K MaletRussia2026-10-11Chemel, James L Cpa UNQUALIFIED71Stephen Shaw
1018Ricardo G PoquetteGermany2026-10-08Printing Dimensions NEW54Asiya Javayant
1019Isabel T PerinArgentina2026-10-07Chemel, James L Cpa RENEWAL47Stephen Shaw
1020Darci O FigeroaUnited Kingdom2026-10-02Truhlar And Truhlar Attys NEW85Xuxue Feng
1021Julie O ChuiBrazil2026-10-21Buckley Miller Wright QUALIFIED34Ivan Magalhaes
1022Wickens A SaylorsBrazil2026-10-27Rousseaux, Michael Esq QUALIFIED50Amy Elsner
1023Ivar C FerenczRussia2026-10-05Feltz Printing Service UNQUALIFIED48Elwin Sharvill
1024Antonio M NickaSpain2026-09-28Benton, John B Jr QUALIFIED75Amy Elsner
1025Smith H GlickAustralia2026-10-23Rangoni Of Florence RENEWAL16Asiya Javayant
1026Murillo F GarufiGermany2026-10-10Rangoni Of Florence RENEWAL84Bernardo Dominic
1027Tony W NickaRussia2026-10-25Rangoni Of Florence UNQUALIFIED21Amy Elsner
1028Smith N MorascaGermany2026-10-11Rousseaux, Michael Esq NEGOTIATION15Bernardo Dominic
1029Julie A AlbaresCanada2026-10-18Dorl, James J Esq UNQUALIFIED84Amy Elsner
1030Jones B PaprockiBrazil2026-10-03Chanay, Jeffrey A Esq NEW55Asiya Javayant
1031Nicolas O KolmetzIndia2026-10-17Rousseaux, Michael Esq PROPOSAL87Asiya Javayant
1032Murillo K MacleadSpain2026-10-11Rangoni Of Florence PROPOSAL90Ioni Bowcher
1033Kaitlin Z BowleyBrazil2026-10-24Printing Dimensions RENEWAL70Elwin Sharvill
1034Chavez D FlosiCanada2026-10-07Benton, John B Jr RENEWAL31Stephen Shaw
1035Adams U MacleadIndia2026-10-11Commercial Press NEW38Ivan Magalhaes
1036Emily U GillianBrazil2026-10-03Chapman, Ross E Esq PROPOSAL18Ivan Magalhaes
1037Misaki B GlickItaly2026-10-23King, Christopher A Esq QUALIFIED29Elwin Sharvill
1038Wickens Z FerenczGermany2026-10-09Benton, John B Jr UNQUALIFIED18Ioni Bowcher
1039James O ChuiGermany2026-10-09Commercial Press PROPOSAL23Asiya Javayant
1040Stacey V MorascaIndia2026-10-22Buckley Miller Wright PROPOSAL81Elwin Sharvill
1041Aika P NickaItaly2026-10-08Chapman, Ross E Esq NEGOTIATION15Ivan Magalhaes
1042Leja P RoysterUnited Kingdom2026-10-21Chemel, James L Cpa NEGOTIATION37Xuxue Feng
1043Silvio F CampainSpain2026-10-15Chapman, Ross E Esq UNQUALIFIED52Ioni Bowcher
1044Kadeem K NickaIndia2026-10-01Rangoni Of Florence RENEWAL52Ioni Bowcher
1045Chavez H StockhamFrance2026-10-18Rangoni Of Florence UNQUALIFIED67Ivan Magalhaes
1046Francesco L GillianFrance2026-10-05Printing Dimensions NEGOTIATION8Ioni Bowcher
1047Chavez B IturbideFrance2026-10-12Rousseaux, Michael Esq NEGOTIATION1Anna Fali
1048Aditya F ChuiBrazil2026-10-11Chapman, Ross E Esq NEGOTIATION16Bernardo Dominic
1049Kaitlin U FlosiRussia2026-10-10Buckley Miller Wright RENEWAL14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jefferson C NestleJapanAmy Elsner NEW
Costa Q GillianRussiaAsiya Javayant NEGOTIATION
Francesco P GillianJapanIvan Magalhaes NEGOTIATION
Jennifer K AmigonAustraliaElwin Sharvill QUALIFIED
Octavia Z ShinkoAustraliaBernardo Dominic PROPOSAL
Munro M DoeItalyBernardo Dominic NEW
Aruna L PaprockiBrazilBernardo Dominic NEW
Kadeem A DilliardRussiaBernardo Dominic RENEWAL
Tony R OldroydAustraliaStephen Shaw UNQUALIFIED
Murillo B GillianArgentinaIoni Bowcher PROPOSAL
Munro M WaycottJapanIoni Bowcher NEW
Misaki K OstroskyCanadaAnna Fali PROPOSAL
Julie U BowleyIndiaAmy Elsner NEGOTIATION
Antonio T CampainGermanyIoni Bowcher PROPOSAL
Aruna O BriddickRussiaBernardo Dominic NEW
Ivar R SchemmerIndiaOnyama Limba QUALIFIED
Isabel P WaycottCanadaXuxue Feng QUALIFIED
Nicolas P MacleadRussiaIoni Bowcher NEGOTIATION
Salvatore F WaycottRussiaElwin Sharvill NEW
Aika C ChuiUnited KingdomAnna Fali PROPOSAL
Julie E VenereIndiaIoni Bowcher NEGOTIATION
Munro J KuskoCanadaBernardo Dominic NEW
Nicolas J AlbaresUnited KingdomBernardo Dominic RENEWAL
Emily Y MorascaGermanyOnyama Limba PROPOSAL
James J GlickSpainAsiya Javayant UNQUALIFIED
Stacey Q OldroydFranceBernardo Dominic QUALIFIED
Mujtaba E VocelkaAustraliaXuxue Feng NEW
Mayumi C KuskoIndiaIvan Magalhaes QUALIFIED
Kadeem H TollnerUnited KingdomBernardo Dominic NEW
Mayumi K MacleadArgentinaBernardo Dominic NEGOTIATION
Rodrigues Q FlosiArgentinaElwin Sharvill UNQUALIFIED
Salvatore D FigeroaJapanAnna Fali QUALIFIED
Smith U GauchoFranceIvan Magalhaes QUALIFIED
David G StensethRussiaXuxue Feng NEGOTIATION
Izzy K ChuiItalyStephen Shaw PROPOSAL
James U VocelkaRussiaAmy Elsner RENEWAL
Stacey Z DarakjyIndiaAnna Fali NEW
Salvatore S RimRussiaXuxue Feng NEGOTIATION
Jones T FollerFranceAsiya Javayant PROPOSAL
Chavez W AlbaresItalyOnyama Limba RENEWAL
Johnson D StensethGermanyAsiya Javayant PROPOSAL
Costa N CampainCanadaAnna Fali PROPOSAL
Morrow C GlickCanadaIvan Magalhaes QUALIFIED
Murillo L NickaFranceAsiya Javayant RENEWAL
Murillo P GillianArgentinaStephen Shaw QUALIFIED
Murillo P RutaArgentinaIvan Magalhaes RENEWAL
Antonio P NestleGermanyXuxue Feng QUALIFIED
Kaitlin N FlosiItalyAmy Elsner NEW
Sinclair R KolmetzFranceIoni Bowcher UNQUALIFIED
Mujtaba B ButtCanadaXuxue Feng PROPOSAL
Frozen Columns
Name
James K Rulapaugh
Kaitlin M Gillian
Julie L Ferencz
Adams V Shinko
Mujtaba J Vocelka
David K Venere
Greenwood Z Malet
James B Shinko
Munro T Gillian
Juan E Oldroyd
Johnson W Chui
Jones V Caldarera
Arvin L Slusarski
Stacey O Morasca
Costa F Ruta
Leon V Kusko
Izzy R Kolmetz
Misaki V Glick
Darci K Ferencz
Salvatore O Venere
Aruna U Bolognia
Maria A Kolmetz
Murillo Q Rulapaugh
Emily W Gillian
Sinclair G Dilliard
Kadeem J Tollner
Jefferson D Darakjy
Antonio D Kusko
Francesco R Foller
Rodrigues N Waycott
Cody V Poquette
Deepesh Q Stenseth
Jennifer T Amigon
Misaki V Inouye
Costa Z Caudy
Deepesh Q Ostrosky
Ivar I Malet
Ivar U Perin
Maria E Sergi
David G Kusko
Izzy G Campain
Julie U Marrier
Mayumi C Bolognia
Jefferson Y Maclead
Stacey V Sergi
Ivar M Campain
Julie Q Rulapaugh
Costa A Figeroa
Emily G Slusarski
Chavez G Ferencz
IdCountryDate
1000India2026-10-15
1001Germany2026-10-05
1002United Kingdom2026-10-22
1003Australia2026-10-01
1004Argentina2026-10-23
1005France2026-09-29
1006India2026-10-25
1007France2026-10-05
1008Russia2026-10-07
1009Japan2026-10-17
1010Brazil2026-09-29
1011Canada2026-10-06
1012Spain2026-10-02
1013Brazil2026-10-03
1014India2026-10-21
1015Spain2026-10-13
1016Argentina2026-09-30
1017Italy2026-10-12
1018Australia2026-10-05
1019Germany2026-10-25
1020Argentina2026-10-02
1021Russia2026-10-09
1022Italy2026-10-25
1023Italy2026-10-13
1024Australia2026-10-25
1025Brazil2026-10-02
1026France2026-10-17
1027France2026-10-17
1028Italy2026-10-17
1029United Kingdom2026-10-06
1030Canada2026-09-28
1031Canada2026-10-16
1032Brazil2026-10-08
1033India2026-10-16
1034Italy2026-10-20
1035Germany2026-10-07
1036United Kingdom2026-10-25
1037Italy2026-10-24
1038United Kingdom2026-10-17
1039Japan2026-10-24
1040Japan2026-10-12
1041Russia2026-10-23
1042Spain2026-10-19
1043Canada2026-10-24
1044Japan2026-10-13
1045Germany2026-10-18
1046Brazil2026-10-07
1047Japan2026-10-08
1048Brazil2026-10-25
1049Brazil2026-10-10

On-Demand Data

NameIdCountryDate
Sinclair B Wieser1000Japan2026-10-03
Misaki M Bowley1001Germany2026-10-04
Claire O Darakjy1002Brazil2026-10-25
Rodrigues H Marrier1003Germany2026-10-12
Kaitlin E Rulapaugh1004Spain2026-10-17
Emily M Stenseth1005Italy2026-10-24
Mayumi J Venere1006Canada2026-10-11
Julie R Campain1007Canada2026-09-29
Aruna F Nicka1008Canada2026-09-28
Kaitlin S Rim1009Argentina2026-10-14
Sinclair I Rim1010Italy2026-10-08
James B Paprocki1011Russia2026-10-22
Deepesh E Bolognia1012Spain2026-10-07
Salvatore Y Iturbide1013Russia2026-10-05
Nicolas L Albares1014Spain2026-10-25
Juan H Briddick1015India2026-09-29
Wickens F Malet1016United Kingdom2026-10-03
Emily C Campain1017Germany2026-10-17
Leon Y Morasca1018Australia2026-09-30
Deepesh T Stockham1019Brazil2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh X RulapaughArgentinaBernardo Dominic PROPOSAL
Aditya A BologniaSpainAmy Elsner PROPOSAL
Nicolas R CaudyJapanIoni Bowcher QUALIFIED
Aruna J MaletCanadaStephen Shaw QUALIFIED
Arvin F PaprockiSpainAnna Fali PROPOSAL
Mujtaba J DilliardSpainAnna Fali NEW
Wickens K WhobreyArgentinaOnyama Limba NEW
Julie O KuskoFranceXuxue Feng RENEWAL
Maria K NickaBrazilAnna Fali NEW
Stacey H BriddickBrazilXuxue Feng QUALIFIED
Maria T FigeroaGermanyIvan Magalhaes RENEWAL
Rodrigues F DarakjySpainAnna Fali RENEWAL
Jones L AmigonJapanAmy Elsner PROPOSAL
Kadeem A CaudyRussiaIvan Magalhaes UNQUALIFIED
Smith P CaldareraArgentinaXuxue Feng UNQUALIFIED
Rodrigues O PaprockiFranceIoni Bowcher QUALIFIED
Aditya W FigeroaGermanyAmy Elsner RENEWAL
Costa L CaudyRussiaStephen Shaw RENEWAL
Izzy S DarakjyCanadaOnyama Limba NEGOTIATION
Maisha A FerenczFranceBernardo Dominic QUALIFIED
Faith E ChuiAustraliaOnyama Limba RENEWAL
Morrow S OldroydFranceStephen Shaw QUALIFIED
Aditya K SaylorsUnited KingdomIvan Magalhaes NEW
Ricardo N AmigonGermanyAsiya Javayant QUALIFIED
Salvatore L FerenczSpainElwin Sharvill QUALIFIED
Ashley Y RulapaughAustraliaElwin Sharvill NEGOTIATION
Emily L SaylorsItalyAmy Elsner UNQUALIFIED
Cody E WieserAustraliaAmy Elsner NEGOTIATION
Rodrigues P BowleyJapanBernardo Dominic NEW
Izzy P NestleJapanAnna Fali NEW
Clifford D FollerJapanXuxue Feng UNQUALIFIED
Juan G NickaItalyXuxue Feng UNQUALIFIED
Ivar Q CaldareraJapanIoni Bowcher UNQUALIFIED
Sinclair D WaycottRussiaAmy Elsner PROPOSAL
David U WaycottIndiaXuxue Feng QUALIFIED
Smith D BriddickIndiaXuxue Feng NEGOTIATION
Salvatore J FigeroaAustraliaAmy Elsner RENEWAL
David G PerinAustraliaStephen Shaw NEW
Tony H WhobreyGermanyAsiya Javayant QUALIFIED
Nicolas W IturbideItalyBernardo 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>