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
Alejandro R MaletItalyStephen Shaw PROPOSAL
Silvio C WieserIndiaIvan Magalhaes PROPOSAL
Juan D GlickArgentinaOnyama Limba NEGOTIATION
Aika P DilliardBrazilAmy Elsner RENEWAL
Arvin V WhobreySpainIoni Bowcher QUALIFIED
Rodrigues W PoquetteCanadaBernardo Dominic PROPOSAL
Munro R KuskoIndiaStephen Shaw NEW
Isabel K StockhamArgentinaIoni Bowcher UNQUALIFIED
Greenwood G StensethFranceIvan Magalhaes NEGOTIATION
Munro C StensethAustraliaStephen Shaw RENEWAL
Silvio Y FollerAustraliaOnyama Limba NEW
Kadeem S IturbideCanadaAsiya Javayant PROPOSAL
Ashley P WhobreyGermanyXuxue Feng PROPOSAL
Ricardo Y KuskoJapanXuxue Feng UNQUALIFIED
Jennifer R InouyeCanadaStephen Shaw RENEWAL
Kadeem N RutaUnited KingdomAsiya Javayant RENEWAL
Francesco R ChuiGermanyIoni Bowcher QUALIFIED
Johnson Q PoquetteAustraliaIoni Bowcher NEGOTIATION
Leja J MorascaUnited KingdomOnyama Limba UNQUALIFIED
Francesco U FigeroaItalyElwin Sharvill QUALIFIED
James L CaudyRussiaElwin Sharvill QUALIFIED
Morrow E DilliardSpainOnyama Limba NEW
Arvin Q KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Jennifer V StockhamCanadaStephen Shaw UNQUALIFIED
Munro T GarufiItalyIoni Bowcher RENEWAL
Tony Q StensethCanadaStephen Shaw NEW
Aruna N OldroydJapanAmy Elsner RENEWAL
Misaki P CaldareraGermanyElwin Sharvill NEGOTIATION
Emily R FerenczItalyAsiya Javayant RENEWAL
Jones K FlosiSpainAnna Fali QUALIFIED
Leja R ShinkoItalyIoni Bowcher RENEWAL
Arvin H BowleyFranceElwin Sharvill UNQUALIFIED
Salvatore Y CampainAustraliaIvan Magalhaes NEGOTIATION
Maria J BologniaUnited KingdomXuxue Feng RENEWAL
Murillo Q MorascaSpainBernardo Dominic NEGOTIATION
Kadeem V RimUnited KingdomAsiya Javayant PROPOSAL
Murillo K SlusarskiIndiaBernardo Dominic NEW
Salvatore O SlusarskiIndiaAmy Elsner UNQUALIFIED
Rodrigues T RulapaughItalyAmy Elsner PROPOSAL
Munro T CampainBrazilAnna Fali NEGOTIATION
Octavia F TollnerArgentinaElwin Sharvill PROPOSAL
Stacey N BriddickFranceAsiya Javayant PROPOSAL
Aruna V OldroydRussiaAmy Elsner NEW
Aika S SergiRussiaIoni Bowcher RENEWAL
Ashley J RimRussiaOnyama Limba NEGOTIATION
Izzy G PerinIndiaAsiya Javayant QUALIFIED
Leja R ButtJapanBernardo Dominic QUALIFIED
Ivar K BowleyCanadaAmy Elsner UNQUALIFIED
Johnson M AmigonRussiaElwin Sharvill UNQUALIFIED
Faith U InouyeCanadaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio R MarrierItalyElwin Sharvill UNQUALIFIED
Aika M SergiCanadaBernardo Dominic NEW
Octavia H GillianIndiaIoni Bowcher RENEWAL
Aika V TollnerBrazilElwin Sharvill NEGOTIATION
David C MorascaFranceAmy Elsner QUALIFIED
Chavez D ShinkoBrazilOnyama Limba RENEWAL
Johnson Z AlbaresUnited KingdomAnna Fali NEW
Wickens T GillianItalyAsiya Javayant UNQUALIFIED
Sinclair E NickaCanadaIoni Bowcher NEGOTIATION
Rodrigues K GarufiAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith T GillianSpain2026-10-21Benton, John B Jr RENEWAL62Asiya Javayant
1001Ricardo L IturbideCanada2026-10-23Truhlar And Truhlar Attys NEW32Elwin Sharvill
1002Kaitlin R KolmetzItaly2026-10-21Rangoni Of Florence NEW0Bernardo Dominic
1003Antonio C StockhamFrance2026-10-25Feltz Printing Service NEGOTIATION95Amy Elsner
1004Octavia V OldroydArgentina2026-11-02Feiner Bros RENEWAL26Stephen Shaw
1005Aika I MarrierFrance2026-11-07Rousseaux, Michael Esq NEW90Asiya Javayant
1006Arvin G GlickJapan2026-10-26Dorl, James J Esq PROPOSAL40Bernardo Dominic
1007Costa N RimFrance2026-10-21Commercial Press RENEWAL61Elwin Sharvill
1008Alejandro F InouyeRussia2026-10-19Feiner Bros NEW35Bernardo Dominic
1009Antonio C MorascaGermany2026-11-07Feltz Printing Service RENEWAL47Bernardo Dominic
1010Izzy N DilliardCanada2026-10-21Truhlar And Truhlar Attys RENEWAL96Elwin Sharvill
1011Murillo P NickaArgentina2026-10-29Commercial Press UNQUALIFIED2Onyama Limba
1012Jones N PoquetteFrance2026-11-01Dorl, James J Esq RENEWAL4Stephen Shaw
1013Jones K StockhamItaly2026-10-19Benton, John B Jr PROPOSAL96Xuxue Feng
1014Clifford E MarrierCanada2026-11-10Commercial Press NEGOTIATION54Ioni Bowcher
1015Faith C FollerIndia2026-10-26Dorl, James J Esq PROPOSAL5Amy Elsner
1016Mayumi W BowleyBrazil2026-10-22Commercial Press UNQUALIFIED4Stephen Shaw
1017Mayumi F MorascaCanada2026-10-27Feiner Bros NEGOTIATION9Onyama Limba
1018Ricardo K VocelkaFrance2026-11-01Chapman, Ross E Esq UNQUALIFIED99Amy Elsner
1019Emily W PaprockiBrazil2026-11-10Morlong Associates PROPOSAL39Bernardo Dominic
1020Tony U MarrierRussia2026-11-13Rousseaux, Michael Esq PROPOSAL66Asiya Javayant
1021Antonio T IturbideSpain2026-11-05Feiner Bros NEGOTIATION97Onyama Limba
1022Kaitlin F VocelkaUnited Kingdom2026-10-26Benton, John B Jr QUALIFIED0Elwin Sharvill
1023Alejandro J OstroskyUnited Kingdom2026-11-07Rangoni Of Florence PROPOSAL54Xuxue Feng
1024Rodrigues P CaldareraAustralia2026-10-25Rousseaux, Michael Esq NEGOTIATION32Onyama Limba
1025Cody C TollnerJapan2026-11-03Feiner Bros NEW15Ioni Bowcher
1026Salvatore D ButtRussia2026-10-30Dorl, James J Esq UNQUALIFIED20Ivan Magalhaes
1027Morrow V MaletAustralia2026-10-31Chanay, Jeffrey A Esq NEW28Asiya Javayant
1028Nicolas S AmigonJapan2026-11-11Benton, John B Jr QUALIFIED11Ivan Magalhaes
1029Aditya J GillianItaly2026-11-11Rangoni Of Florence RENEWAL8Xuxue Feng
1030David W MaletItaly2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED9Bernardo Dominic
1031Cody X IturbideJapan2026-10-30Rousseaux, Michael Esq QUALIFIED41Asiya Javayant
1032Maisha L CaldareraSpain2026-10-19King, Christopher A Esq NEGOTIATION99Bernardo Dominic
1033Arvin E ShinkoJapan2026-10-31Morlong Associates RENEWAL19Amy Elsner
1034Salvatore Z MaletRussia2026-10-30Commercial Press NEGOTIATION31Asiya Javayant
1035David Y CaudyAustralia2026-10-18Chanay, Jeffrey A Esq QUALIFIED45Ioni Bowcher
1036Faith Z DoeItaly2026-10-16Feltz Printing Service NEGOTIATION5Ivan Magalhaes
1037Arvin V NickaUnited Kingdom2026-11-07Commercial Press RENEWAL63Stephen Shaw
1038Emily M ChuiBrazil2026-10-18Buckley Miller Wright RENEWAL93Anna Fali
1039Mujtaba F MacleadAustralia2026-11-08Printing Dimensions NEGOTIATION46Elwin Sharvill
1040Silvio L PoquetteGermany2026-11-06Rousseaux, Michael Esq UNQUALIFIED18Bernardo Dominic
1041Smith H CaudyCanada2026-11-04Dorl, James J Esq RENEWAL73Bernardo Dominic
1042Costa Y ChuiBrazil2026-11-04Chemel, James L Cpa PROPOSAL98Ioni Bowcher
1043James J PoquetteJapan2026-10-31Feiner Bros UNQUALIFIED11Onyama Limba
1044Clifford X VenereUnited Kingdom2026-10-21Rangoni Of Florence NEGOTIATION89Xuxue Feng
1045Wickens L MacleadAustralia2026-11-12Chemel, James L Cpa NEGOTIATION78Anna Fali
1046Mayumi Z SlusarskiRussia2026-11-10Benton, John B Jr UNQUALIFIED83Onyama Limba
1047Leon E BriddickBrazil2026-11-08Dorl, James J Esq NEGOTIATION35Amy Elsner
1048Izzy R NestleRussia2026-10-29King, Christopher A Esq PROPOSAL58Stephen Shaw
1049Salvatore X OldroydGermany2026-10-22Chapman, Ross E Esq RENEWAL12Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Izzy B RoysterFranceIvan Magalhaes RENEWAL
Maisha V ShinkoFranceIoni Bowcher NEW
Mujtaba C MarrierAustraliaAnna Fali QUALIFIED
Kadeem Q BologniaCanadaAsiya Javayant UNQUALIFIED
Izzy R KuskoSpainStephen Shaw NEGOTIATION
Greenwood U CaudyFranceIvan Magalhaes QUALIFIED
Emily P DarakjyBrazilElwin Sharvill PROPOSAL
Aditya Z GillianAustraliaBernardo Dominic NEGOTIATION
James O SchemmerFranceIvan Magalhaes RENEWAL
Jones D ButtCanadaElwin Sharvill PROPOSAL
Stacey I WhobreyGermanyAmy Elsner NEW
Maria Q SaylorsUnited KingdomIvan Magalhaes NEW
Faith R SchemmerAustraliaAsiya Javayant NEW
Cody S SlusarskiJapanBernardo Dominic UNQUALIFIED
Jefferson P MaletRussiaAnna Fali NEW
Faith T MaletItalyXuxue Feng QUALIFIED
Juan M FollerBrazilAnna Fali QUALIFIED
Ivar J PerinSpainXuxue Feng PROPOSAL
David P RimFranceElwin Sharvill RENEWAL
Costa V MacleadSpainAsiya Javayant RENEWAL
Jennifer M WhobreySpainAsiya Javayant NEGOTIATION
Alejandro G TollnerItalyIvan Magalhaes PROPOSAL
Tony T OstroskyAustraliaOnyama Limba NEW
Deepesh A CampainAustraliaAmy Elsner QUALIFIED
Sinclair Y PerinArgentinaXuxue Feng NEGOTIATION
Kaitlin T DilliardRussiaXuxue Feng NEW
Leja Y BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Aika O BriddickBrazilAnna Fali PROPOSAL
Clifford N MaletAustraliaXuxue Feng QUALIFIED
Murillo V CaldareraCanadaIoni Bowcher NEW
Antonio M FerenczSpainAsiya Javayant UNQUALIFIED
Leon Y VenereJapanBernardo Dominic PROPOSAL
Chavez D WieserSpainAnna Fali NEW
Ashley H InouyeGermanyStephen Shaw RENEWAL
Sinclair Z NickaJapanElwin Sharvill NEGOTIATION
Mayumi R NickaAustraliaStephen Shaw UNQUALIFIED
James C SergiArgentinaAmy Elsner PROPOSAL
Jeanfrancois W StockhamItalyBernardo Dominic QUALIFIED
Wickens X FlosiJapanStephen Shaw RENEWAL
Munro M ChuiUnited KingdomElwin Sharvill NEW
Alejandro L MorascaBrazilOnyama Limba PROPOSAL
Maisha B AmigonFranceIvan Magalhaes RENEWAL
Rodrigues L ShinkoBrazilAnna Fali NEGOTIATION
Clifford J PaprockiJapanAmy Elsner QUALIFIED
Julie Z TollnerJapanXuxue Feng NEW
Cody S RutaItalyIoni Bowcher NEGOTIATION
Faith P OstroskyRussiaIvan Magalhaes QUALIFIED
Silvio M MaletRussiaStephen Shaw RENEWAL
Ashley C IturbideFranceAsiya Javayant RENEWAL
David G MaletRussiaIvan Magalhaes NEW
Frozen Columns
Name
Leja P Glick
Tony N Campain
Nicolas K Schemmer
Tony X Ostrosky
Nicolas H Ferencz
Morrow B Ferencz
Adams Q Wieser
Salvatore U Oldroyd
Maisha I Saylors
Sinclair B Slusarski
Salvatore V Glick
Julie S Gillian
Antonio S Ferencz
Izzy Y Kusko
Octavia U Chui
Stacey X Ruta
Jones M Amigon
Emily Y Ferencz
Adams M Tollner
Ashley C Gillian
Deepesh J Nestle
Nicolas X Paprocki
Johnson E Inouye
Stacey E Campain
Murillo W Gaucho
Murillo V Tollner
Jones W Marrier
Arvin F Glick
Nicolas H Rulapaugh
Ashley I Ostrosky
Mayumi I Caldarera
Murillo D Campain
Juan G Shinko
Maria C Doe
Misaki Z Malet
Adams U Nicka
Cody H Rim
David V Gaucho
Rodrigues G Tollner
Sinclair W Figeroa
James Q Stockham
Aditya O Rim
Jeanfrancois C Briddick
Francesco L Ostrosky
Chavez U Campain
Cody M Marrier
Juan O Gillian
Darci D Morasca
Costa B Schemmer
Octavia Y Doe
IdCountryDate
1000Argentina2026-10-23
1001Japan2026-10-29
1002Canada2026-11-02
1003Russia2026-11-10
1004Brazil2026-10-25
1005Italy2026-10-16
1006France2026-11-08
1007Australia2026-11-08
1008France2026-10-20
1009Spain2026-11-13
1010Spain2026-11-10
1011Canada2026-10-24
1012Russia2026-10-31
1013Italy2026-10-27
1014Germany2026-10-31
1015Japan2026-10-23
1016Canada2026-11-10
1017Australia2026-10-29
1018Brazil2026-10-22
1019United Kingdom2026-11-13
1020France2026-10-30
1021Brazil2026-11-13
1022India2026-11-14
1023Canada2026-11-14
1024France2026-11-11
1025Germany2026-10-23
1026Spain2026-10-17
1027Italy2026-10-16
1028Russia2026-10-17
1029United Kingdom2026-11-12
1030United Kingdom2026-11-12
1031Brazil2026-11-08
1032Canada2026-10-16
1033Germany2026-11-05
1034Russia2026-10-22
1035Germany2026-11-01
1036Canada2026-11-09
1037Argentina2026-11-14
1038United Kingdom2026-10-23
1039Germany2026-11-05
1040Brazil2026-11-01
1041Argentina2026-10-16
1042Russia2026-10-31
1043Germany2026-10-20
1044Japan2026-10-24
1045India2026-11-05
1046Spain2026-11-08
1047United Kingdom2026-11-01
1048United Kingdom2026-11-09
1049Brazil2026-11-01

On-Demand Data

NameIdCountryDate
Greenwood N Stenseth1000Australia2026-11-14
Smith A Ruta1001Italy2026-10-24
Jones O Bolognia1002Brazil2026-10-31
Smith L Glick1003United Kingdom2026-10-21
Jeanfrancois L Stockham1004France2026-10-26
Kadeem X Doe1005Germany2026-10-29
Faith N Oldroyd1006Germany2026-10-27
Faith K Figeroa1007Germany2026-11-08
Claire S Butt1008India2026-11-08
Aruna O Whobrey1009Argentina2026-11-03
Francesco P Maclead1010Brazil2026-10-21
Ivar H Kolmetz1011Spain2026-10-21
Salvatore F Chui1012Japan2026-11-03
Jefferson U Ostrosky1013Japan2026-11-11
Clifford O Butt1014Australia2026-10-27
Leon P Rulapaugh1015Brazil2026-10-31
Aruna F Campain1016Argentina2026-10-19
Jones C Slusarski1017France2026-11-07
Faith V Tollner1018Argentina2026-10-26
Greenwood J Nestle1019Canada2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues M PerinArgentinaAmy Elsner PROPOSAL
Adams B OldroydCanadaAnna Fali RENEWAL
Jefferson G PerinCanadaOnyama Limba RENEWAL
Chavez S WaycottCanadaAsiya Javayant QUALIFIED
Smith V VenereUnited KingdomElwin Sharvill NEGOTIATION
Cody V GlickItalyIoni Bowcher NEGOTIATION
Arvin W WaycottIndiaIvan Magalhaes PROPOSAL
Nicolas L SergiBrazilElwin Sharvill UNQUALIFIED
Mujtaba A ButtGermanyAsiya Javayant UNQUALIFIED
Maria K MorascaCanadaStephen Shaw UNQUALIFIED
Cody V KolmetzCanadaAmy Elsner UNQUALIFIED
Jennifer M FerenczGermanyStephen Shaw UNQUALIFIED
Mujtaba G MaletItalyXuxue Feng PROPOSAL
Munro M MorascaArgentinaAsiya Javayant UNQUALIFIED
Murillo Q FigeroaItalyStephen Shaw UNQUALIFIED
Jones C ChuiFranceAsiya Javayant QUALIFIED
Antonio N NickaBrazilIoni Bowcher PROPOSAL
Cody W AlbaresUnited KingdomBernardo Dominic NEW
Faith E AlbaresJapanXuxue Feng RENEWAL
Salvatore V SergiAustraliaBernardo Dominic NEW
Ivar O CaldareraIndiaAnna Fali NEW
Jones X VocelkaCanadaAmy Elsner QUALIFIED
Rodrigues N GarufiIndiaStephen Shaw RENEWAL
Kaitlin S OstroskyUnited KingdomAmy Elsner NEW
Aika G RoysterFranceIvan Magalhaes QUALIFIED
Clifford I WieserRussiaIvan Magalhaes NEGOTIATION
Ricardo G VenereAustraliaElwin Sharvill QUALIFIED
Antonio U InouyeBrazilIoni Bowcher NEW
Mujtaba V CaudyItalyOnyama Limba NEGOTIATION
Sinclair K GillianItalyAnna Fali RENEWAL
Leon L PaprockiRussiaXuxue Feng PROPOSAL
Faith O ChuiBrazilAsiya Javayant PROPOSAL
Jeanfrancois Q PaprockiJapanBernardo Dominic RENEWAL
James Q VenereCanadaAmy Elsner UNQUALIFIED
Misaki R PoquetteRussiaXuxue Feng PROPOSAL
Octavia W MacleadFranceAnna Fali UNQUALIFIED
Leon V WieserSpainBernardo Dominic RENEWAL
Mujtaba E GauchoIndiaAnna Fali QUALIFIED
Kaitlin C ChuiCanadaStephen Shaw QUALIFIED
Johnson Q BowleyBrazilOnyama 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>