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
Emily M WaycottAustraliaStephen Shaw RENEWAL
Ashley Z WieserRussiaOnyama Limba NEW
Maisha U WhobreyFranceOnyama Limba NEW
Ivar P CaudyItalyIoni Bowcher RENEWAL
Wickens W MacleadItalyStephen Shaw QUALIFIED
Maisha A ShinkoBrazilIoni Bowcher PROPOSAL
Arvin J AmigonBrazilOnyama Limba PROPOSAL
Leja I DoeFranceElwin Sharvill PROPOSAL
Isabel Q MacleadGermanyXuxue Feng UNQUALIFIED
Clifford N MorascaFranceAsiya Javayant RENEWAL
Emily U PoquetteRussiaStephen Shaw NEW
Ivar J MaletGermanyAnna Fali NEW
Smith Y SchemmerIndiaIvan Magalhaes NEW
Darci V RutaBrazilXuxue Feng NEGOTIATION
Smith W AlbaresAustraliaAnna Fali PROPOSAL
Julie A RulapaughCanadaAnna Fali PROPOSAL
Salvatore D WieserGermanyAnna Fali NEW
Julie O GauchoRussiaAsiya Javayant RENEWAL
Francesco Y PerinIndiaIvan Magalhaes UNQUALIFIED
Aika R SchemmerFranceElwin Sharvill UNQUALIFIED
Maria X RimRussiaAsiya Javayant PROPOSAL
Juan T MaletCanadaBernardo Dominic PROPOSAL
Francesco R RulapaughFranceStephen Shaw PROPOSAL
Aika O GauchoAustraliaOnyama Limba UNQUALIFIED
Faith S StockhamFranceElwin Sharvill RENEWAL
Maisha C DarakjyFranceIvan Magalhaes PROPOSAL
Izzy B DilliardSpainAsiya Javayant RENEWAL
Darci B KuskoSpainBernardo Dominic RENEWAL
James P KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Leon X CampainAustraliaAsiya Javayant RENEWAL
Morrow D KolmetzCanadaOnyama Limba QUALIFIED
Jennifer X DilliardCanadaAnna Fali NEGOTIATION
Clifford Y MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Cody D CaldareraFranceAnna Fali QUALIFIED
Greenwood E PaprockiIndiaAsiya Javayant NEGOTIATION
Cody X VenereRussiaAmy Elsner NEGOTIATION
Greenwood Y ButtBrazilIoni Bowcher PROPOSAL
Salvatore Q StockhamCanadaOnyama Limba QUALIFIED
Emily M CaldareraItalyAnna Fali QUALIFIED
Juan D RulapaughArgentinaIoni Bowcher RENEWAL
Ashley K CampainArgentinaAsiya Javayant NEW
Kaitlin R CampainCanadaXuxue Feng PROPOSAL
Stacey T WaycottFranceAsiya Javayant RENEWAL
Jefferson M DarakjyIndiaAmy Elsner RENEWAL
Arvin B NickaItalyAnna Fali NEGOTIATION
Mayumi V NickaSpainIoni Bowcher NEW
Costa S DarakjyRussiaStephen Shaw PROPOSAL
Kaitlin M MaletCanadaStephen Shaw QUALIFIED
Johnson H AmigonUnited KingdomIvan Magalhaes QUALIFIED
Leja M SergiUnited KingdomIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues S FigeroaRussiaAsiya Javayant UNQUALIFIED
Emily Z OldroydArgentinaElwin Sharvill NEGOTIATION
Adams Z CaldareraArgentinaBernardo Dominic QUALIFIED
Aditya H ButtRussiaElwin Sharvill PROPOSAL
Tony A GillianBrazilOnyama Limba UNQUALIFIED
Clifford A KuskoBrazilBernardo Dominic RENEWAL
Ivar J GlickFranceAnna Fali QUALIFIED
Aika J BriddickIndiaStephen Shaw NEW
Misaki Y ShinkoFranceElwin Sharvill RENEWAL
Mayumi G SchemmerGermanyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S FlosiFrance2026-10-05Commercial Press NEW53Stephen Shaw
1001Alejandro T WieserSpain2026-09-20Chemel, James L Cpa RENEWAL13Xuxue Feng
1002Kaitlin Y MorascaBrazil2026-09-15Benton, John B Jr PROPOSAL0Bernardo Dominic
1003Leja A AmigonSpain2026-09-15Chapman, Ross E Esq NEGOTIATION32Anna Fali
1004Smith Y DarakjyGermany2026-09-21Commercial Press QUALIFIED36Anna Fali
1005Mayumi B SlusarskiRussia2026-09-08Chapman, Ross E Esq UNQUALIFIED75Stephen Shaw
1006Mayumi D WieserJapan2026-09-24Rousseaux, Michael Esq NEW70Onyama Limba
1007Smith R AlbaresJapan2026-09-27Printing Dimensions UNQUALIFIED58Elwin Sharvill
1008Mayumi Y ShinkoBrazil2026-09-30Dorl, James J Esq PROPOSAL74Bernardo Dominic
1009Ashley R VocelkaSpain2026-09-17Dorl, James J Esq NEW1Asiya Javayant
1010Rodrigues E GauchoArgentina2026-09-23Printing Dimensions UNQUALIFIED2Xuxue Feng
1011Silvio X FlosiFrance2026-09-29King, Christopher A Esq RENEWAL45Ivan Magalhaes
1012Greenwood I MarrierIndia2026-09-09Rousseaux, Michael Esq RENEWAL84Elwin Sharvill
1013Chavez G PaprockiUnited Kingdom2026-09-28Truhlar And Truhlar Attys NEW17Elwin Sharvill
1014Izzy B CaldareraArgentina2026-09-09Feiner Bros PROPOSAL90Amy Elsner
1015Mayumi Y FigeroaGermany2026-09-14Benton, John B Jr RENEWAL42Amy Elsner
1016David V BowleyCanada2026-09-08Morlong Associates QUALIFIED15Asiya Javayant
1017Kadeem A WhobreyArgentina2026-09-17Printing Dimensions PROPOSAL5Ivan Magalhaes
1018Jefferson D VenereUnited Kingdom2026-09-29Rangoni Of Florence RENEWAL72Onyama Limba
1019Claire F StensethIndia2026-10-03Rousseaux, Michael Esq NEW52Onyama Limba
1020Emily C AmigonItaly2026-09-14King, Christopher A Esq PROPOSAL43Amy Elsner
1021Nicolas L PaprockiFrance2026-10-06Dorl, James J Esq RENEWAL57Xuxue Feng
1022Ashley P PerinIndia2026-10-01Rousseaux, Michael Esq PROPOSAL87Anna Fali
1023Kaitlin J InouyeSpain2026-09-17Buckley Miller Wright NEGOTIATION20Bernardo Dominic
1024Maisha U InouyeArgentina2026-09-21Commercial Press QUALIFIED18Ivan Magalhaes
1025David M SlusarskiCanada2026-09-08Chanay, Jeffrey A Esq QUALIFIED84Amy Elsner
1026Faith M BowleyCanada2026-09-15Chemel, James L Cpa NEW71Ivan Magalhaes
1027Darci K StockhamRussia2026-10-04Dorl, James J Esq NEW18Ioni Bowcher
1028Ivar J GillianFrance2026-09-11Morlong Associates NEGOTIATION69Ivan Magalhaes
1029Adams N NestleUnited Kingdom2026-09-30Chanay, Jeffrey A Esq NEGOTIATION81Ivan Magalhaes
1030Silvio Y IturbideSpain2026-09-19Chemel, James L Cpa NEW88Onyama Limba
1031Rodrigues G CaldareraAustralia2026-09-20Commercial Press NEW19Onyama Limba
1032Salvatore D FlosiAustralia2026-10-04Commercial Press PROPOSAL70Onyama Limba
1033Francesco Q InouyeCanada2026-09-11King, Christopher A Esq RENEWAL61Ioni Bowcher
1034Silvio Q PaprockiIndia2026-10-06Feiner Bros RENEWAL1Amy Elsner
1035Aruna C StensethFrance2026-10-02Chemel, James L Cpa NEW71Amy Elsner
1036Mujtaba R OldroydAustralia2026-09-30Chanay, Jeffrey A Esq NEW67Stephen Shaw
1037Deepesh A VenereSpain2026-10-01Commercial Press QUALIFIED23Elwin Sharvill
1038Salvatore Z MacleadArgentina2026-09-10Feltz Printing Service NEGOTIATION30Amy Elsner
1039Claire L RimAustralia2026-10-01Commercial Press QUALIFIED45Amy Elsner
1040Aruna J StensethJapan2026-09-14Buckley Miller Wright UNQUALIFIED57Xuxue Feng
1041Rodrigues S GlickIndia2026-09-21Feiner Bros PROPOSAL12Xuxue Feng
1042Francesco O MaletAustralia2026-10-02King, Christopher A Esq PROPOSAL49Xuxue Feng
1043Ricardo M CampainItaly2026-09-08Printing Dimensions PROPOSAL56Onyama Limba
1044Isabel T CaldareraFrance2026-09-30Buckley Miller Wright PROPOSAL58Bernardo Dominic
1045Darci H KolmetzFrance2026-09-12Buckley Miller Wright NEGOTIATION28Ivan Magalhaes
1046Antonio X ShinkoItaly2026-09-26Benton, John B Jr UNQUALIFIED81Onyama Limba
1047Murillo V DoeRussia2026-09-28Feiner Bros RENEWAL33Asiya Javayant
1048Nicolas L BologniaJapan2026-10-05Rousseaux, Michael Esq PROPOSAL98Onyama Limba
1049Octavia O ShinkoRussia2026-09-16Morlong Associates QUALIFIED98Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja O RutaJapanIoni Bowcher NEGOTIATION
Jones A DoeItalyAmy Elsner PROPOSAL
Isabel I VocelkaSpainAmy Elsner PROPOSAL
Tony D MarrierFranceOnyama Limba QUALIFIED
Octavia W InouyeFranceAnna Fali UNQUALIFIED
Antonio A ChuiIndiaStephen Shaw NEGOTIATION
Kaitlin Y WaycottBrazilAmy Elsner RENEWAL
Darci L PaprockiIndiaAmy Elsner UNQUALIFIED
Jennifer P CampainIndiaAmy Elsner RENEWAL
Juan O KuskoCanadaIvan Magalhaes NEGOTIATION
Morrow D CampainIndiaAsiya Javayant QUALIFIED
Leon Z CaudySpainIvan Magalhaes NEW
Jones T KolmetzRussiaStephen Shaw RENEWAL
Munro U MaletIndiaAmy Elsner PROPOSAL
Ricardo V PaprockiUnited KingdomXuxue Feng RENEWAL
Maisha A StockhamJapanXuxue Feng NEW
Octavia T SaylorsAustraliaAnna Fali PROPOSAL
Francesco H PoquetteRussiaAsiya Javayant NEGOTIATION
Chavez X KuskoItalyXuxue Feng QUALIFIED
Ashley D RutaUnited KingdomOnyama Limba RENEWAL
Cody Q ButtRussiaAnna Fali QUALIFIED
Leon S SchemmerSpainOnyama Limba UNQUALIFIED
Silvio B WhobreyGermanyOnyama Limba NEGOTIATION
Izzy G SchemmerCanadaBernardo Dominic PROPOSAL
Leja S OldroydCanadaIoni Bowcher PROPOSAL
Murillo G SchemmerUnited KingdomAsiya Javayant RENEWAL
Octavia B KolmetzFranceElwin Sharvill PROPOSAL
David I GillianUnited KingdomBernardo Dominic NEGOTIATION
Izzy J PaprockiIndiaAmy Elsner NEGOTIATION
Maisha N OstroskyBrazilAmy Elsner UNQUALIFIED
Maisha P OstroskyUnited KingdomAmy Elsner NEGOTIATION
Aditya B CaldareraSpainOnyama Limba PROPOSAL
Silvio R BriddickCanadaXuxue Feng NEW
Clifford V CampainCanadaAsiya Javayant RENEWAL
Tony F InouyeUnited KingdomStephen Shaw UNQUALIFIED
Johnson E VenereItalyElwin Sharvill UNQUALIFIED
Clifford D DoeItalyAmy Elsner RENEWAL
Aruna U SergiGermanyIoni Bowcher UNQUALIFIED
Aruna C PerinAustraliaIoni Bowcher PROPOSAL
Munro O GillianBrazilStephen Shaw QUALIFIED
Aditya I ButtCanadaAnna Fali NEW
Kaitlin Q SlusarskiItalyOnyama Limba PROPOSAL
Aditya H PoquetteBrazilXuxue Feng NEW
Chavez B ButtIndiaAmy Elsner UNQUALIFIED
Costa R CaldareraCanadaAnna Fali NEW
Faith U StockhamUnited KingdomAsiya Javayant PROPOSAL
Claire I SlusarskiRussiaOnyama Limba PROPOSAL
Silvio K GauchoBrazilIvan Magalhaes UNQUALIFIED
Faith P KuskoGermanyAsiya Javayant PROPOSAL
Leon R FigeroaBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
Johnson U Dilliard
Rodrigues G Butt
Antonio Z Gaucho
Maria Y Gaucho
Smith W Malet
Costa L Albares
Aika Y Chui
Ricardo H Venere
Arvin E Morasca
Isabel Y Malet
Alejandro U Inouye
Faith V Perin
Nicolas U Oldroyd
Darci N Marrier
Jones C Stockham
Greenwood G Slusarski
Maria O Kusko
Ashley F Doe
Nicolas C Rim
Emily O Whobrey
Ashley K Albares
David C Butt
Morrow V Ostrosky
Aruna N Malet
Aruna M Ostrosky
Aditya N Foller
Jennifer X Whobrey
Aika D Whobrey
Alejandro K Oldroyd
Kaitlin Q Amigon
Aika V Figeroa
James X Nestle
Greenwood Q Inouye
Kadeem Y Stockham
Claire O Glick
Morrow Y Waycott
Isabel T Campain
Cody F Caudy
Aditya A Malet
Jeanfrancois C Kolmetz
Antonio S Whobrey
Aika G Kusko
Jefferson T Waycott
Sinclair A Bowley
Mayumi D Kolmetz
Emily Z Morasca
Salvatore C Whobrey
Jennifer V Briddick
Salvatore U Amigon
Emily S Malet
IdCountryDate
1000Australia2026-09-17
1001Italy2026-09-29
1002Brazil2026-09-16
1003Japan2026-09-10
1004Canada2026-10-03
1005Australia2026-09-18
1006Brazil2026-09-12
1007Argentina2026-10-06
1008Brazil2026-09-22
1009France2026-10-05
1010United Kingdom2026-09-09
1011Brazil2026-09-21
1012Brazil2026-09-10
1013Japan2026-09-20
1014Germany2026-09-19
1015Russia2026-09-18
1016Germany2026-10-03
1017France2026-09-11
1018Italy2026-09-17
1019Spain2026-10-05
1020Russia2026-10-01
1021Argentina2026-09-10
1022Canada2026-09-25
1023United Kingdom2026-10-05
1024Argentina2026-09-19
1025France2026-09-20
1026Germany2026-09-27
1027Russia2026-10-03
1028Japan2026-10-07
1029Brazil2026-09-10
1030Canada2026-09-24
1031Japan2026-09-18
1032Canada2026-09-11
1033Argentina2026-09-16
1034Russia2026-09-28
1035Brazil2026-09-29
1036Russia2026-10-06
1037Spain2026-10-01
1038Russia2026-09-21
1039Argentina2026-10-06
1040Germany2026-10-06
1041France2026-09-09
1042India2026-09-11
1043Brazil2026-09-15
1044Australia2026-09-26
1045Australia2026-10-06
1046France2026-09-28
1047Spain2026-09-11
1048Italy2026-10-07
1049Russia2026-10-01

On-Demand Data

NameIdCountryDate
Tony S Venere1000France2026-09-29
Sinclair N Wieser1001India2026-09-30
Nicolas V Malet1002Russia2026-10-05
Rodrigues H Butt1003Italy2026-09-30
Clifford R Butt1004India2026-10-05
Darci F Garufi1005India2026-09-20
Salvatore Y Kolmetz1006Russia2026-10-02
Aika F Morasca1007Italy2026-09-22
Ricardo V Paprocki1008Russia2026-09-21
Nicolas M Caudy1009Canada2026-09-15
Francesco S Venere1010India2026-09-27
Chavez L Waycott1011Italy2026-10-05
Jefferson V Amigon1012Argentina2026-09-26
Deepesh O Inouye1013Australia2026-10-06
Costa S Saylors1014Japan2026-10-06
Mujtaba B Wieser1015India2026-09-12
Cody S Poquette1016Canada2026-09-14
Francesco L Marrier1017Spain2026-09-21
Emily J Gillian1018Brazil2026-09-22
Misaki O Maclead1019United Kingdom2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair C ButtFranceXuxue Feng UNQUALIFIED
Ashley J FlosiCanadaStephen Shaw QUALIFIED
Morrow Q MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Costa X RimArgentinaAsiya Javayant NEW
Juan T OldroydFranceIvan Magalhaes NEW
Maisha W BologniaSpainBernardo Dominic QUALIFIED
Morrow R NickaSpainStephen Shaw NEGOTIATION
Morrow H InouyeIndiaAnna Fali RENEWAL
Maisha D ButtArgentinaOnyama Limba QUALIFIED
Claire V MarrierAustraliaOnyama Limba NEGOTIATION
Sinclair R AmigonUnited KingdomStephen Shaw PROPOSAL
Smith D RulapaughItalyAnna Fali PROPOSAL
Julie J MarrierBrazilIvan Magalhaes RENEWAL
Maria O GarufiJapanBernardo Dominic RENEWAL
Isabel V StockhamArgentinaElwin Sharvill NEGOTIATION
Emily C DarakjyGermanyAmy Elsner NEGOTIATION
Jefferson F ChuiCanadaBernardo Dominic NEGOTIATION
Wickens V MorascaSpainAsiya Javayant NEW
Mujtaba I CaldareraItalyXuxue Feng RENEWAL
Chavez A GillianGermanyBernardo Dominic QUALIFIED
Isabel T GarufiArgentinaOnyama Limba NEGOTIATION
Sinclair T ShinkoSpainBernardo Dominic QUALIFIED
Misaki M CaldareraGermanyAnna Fali QUALIFIED
Faith H SergiArgentinaBernardo Dominic PROPOSAL
Jennifer A WaycottFranceIoni Bowcher NEGOTIATION
Juan L SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Maria Q RulapaughArgentinaXuxue Feng NEW
Sinclair L DilliardIndiaIvan Magalhaes NEW
Leon F StensethArgentinaAsiya Javayant UNQUALIFIED
Arvin U PerinBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois H FigeroaArgentinaAsiya Javayant NEGOTIATION
Mayumi F SaylorsFranceBernardo Dominic NEW
Stacey L MaletRussiaOnyama Limba UNQUALIFIED
Kadeem U SaylorsIndiaIoni Bowcher QUALIFIED
Nicolas E FollerIndiaAmy Elsner NEW
Cody A PaprockiJapanElwin Sharvill QUALIFIED
Adams A CaldareraBrazilXuxue Feng PROPOSAL
Izzy J AmigonAustraliaElwin Sharvill QUALIFIED
Jefferson U RoysterRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois T SaylorsRussiaAmy Elsner PROPOSAL

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