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
Jefferson W IturbideSpainXuxue Feng NEGOTIATION
Maisha X AlbaresCanadaAsiya Javayant UNQUALIFIED
Julie R AmigonCanadaStephen Shaw RENEWAL
Adams V DarakjyJapanIvan Magalhaes QUALIFIED
Julie E SaylorsUnited KingdomBernardo Dominic QUALIFIED
Francesco K MaletGermanyIvan Magalhaes NEW
Sinclair G RoysterAustraliaIoni Bowcher QUALIFIED
Emily B PoquetteSpainAmy Elsner NEW
Claire R TollnerBrazilIoni Bowcher NEGOTIATION
Sinclair T StockhamBrazilElwin Sharvill PROPOSAL
Misaki D OstroskyAustraliaOnyama Limba QUALIFIED
Jennifer Z AlbaresArgentinaXuxue Feng RENEWAL
Isabel F MorascaJapanElwin Sharvill NEW
Arvin L SaylorsFranceBernardo Dominic NEGOTIATION
Octavia P GillianBrazilOnyama Limba NEGOTIATION
Francesco D SergiIndiaIvan Magalhaes NEGOTIATION
Salvatore J MacleadUnited KingdomAsiya Javayant RENEWAL
Leja L BriddickItalyAmy Elsner NEGOTIATION
Aditya I StensethArgentinaStephen Shaw PROPOSAL
Darci I CaudyItalyXuxue Feng UNQUALIFIED
Munro T BologniaSpainAsiya Javayant NEW
Jennifer X VenereSpainIoni Bowcher UNQUALIFIED
Nicolas Z ButtIndiaAsiya Javayant NEGOTIATION
Octavia N MarrierSpainAnna Fali QUALIFIED
Julie A FlosiCanadaElwin Sharvill QUALIFIED
Mayumi G NestleGermanyStephen Shaw NEW
Juan N StensethAustraliaAsiya Javayant QUALIFIED
Munro S BologniaIndiaXuxue Feng RENEWAL
Francesco O OstroskyFranceIoni Bowcher QUALIFIED
Clifford Y GlickBrazilElwin Sharvill UNQUALIFIED
Silvio E SergiBrazilAmy Elsner NEW
Juan U OstroskyAustraliaIvan Magalhaes RENEWAL
Aika I SlusarskiJapanElwin Sharvill UNQUALIFIED
Smith N PoquetteAustraliaAmy Elsner NEW
Aika G MarrierFranceAmy Elsner NEW
Silvio Q FollerFranceOnyama Limba PROPOSAL
Wickens Y MorascaBrazilXuxue Feng NEW
Izzy Y PerinGermanyXuxue Feng NEW
Aruna Z ShinkoGermanyBernardo Dominic NEGOTIATION
Francesco V GillianIndiaAsiya Javayant UNQUALIFIED
Greenwood F FigeroaBrazilAsiya Javayant NEGOTIATION
Leon E BologniaCanadaBernardo Dominic UNQUALIFIED
Izzy Z MorascaCanadaXuxue Feng QUALIFIED
Smith Z BologniaBrazilIoni Bowcher UNQUALIFIED
Francesco V SaylorsBrazilIoni Bowcher QUALIFIED
Kaitlin O FlosiSpainElwin Sharvill UNQUALIFIED
Ivar D MaletAustraliaOnyama Limba NEGOTIATION
Arvin K SchemmerGermanyXuxue Feng PROPOSAL
Mujtaba V NestleGermanyIoni Bowcher NEW
Tony D ChuiBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore U PaprockiRussiaStephen Shaw NEGOTIATION
Francesco D CaudyAustraliaOnyama Limba UNQUALIFIED
Leja V SaylorsCanadaIvan Magalhaes NEW
Aditya V SchemmerJapanAsiya Javayant UNQUALIFIED
Stacey F CaldareraBrazilBernardo Dominic UNQUALIFIED
Cody P OstroskyJapanAmy Elsner PROPOSAL
Alejandro U SlusarskiCanadaXuxue Feng NEW
Jefferson K CaudyGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois J PerinBrazilAnna Fali QUALIFIED
Clifford N KuskoAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia L ShinkoBrazil2026-10-03Printing Dimensions PROPOSAL49Elwin Sharvill
1001Smith V FlosiBrazil2026-10-01Dorl, James J Esq PROPOSAL53Ioni Bowcher
1002Juan W SaylorsItaly2026-10-08Feltz Printing Service NEGOTIATION5Asiya Javayant
1003Ashley J MacleadRussia2026-10-01Chapman, Ross E Esq QUALIFIED95Bernardo Dominic
1004Faith Q NickaCanada2026-09-25Buckley Miller Wright RENEWAL58Onyama Limba
1005Octavia Q GauchoAustralia2026-10-14Benton, John B Jr NEGOTIATION77Xuxue Feng
1006Aditya H MorascaFrance2026-10-22Benton, John B Jr UNQUALIFIED78Xuxue Feng
1007Octavia W BowleyAustralia2026-10-22Chanay, Jeffrey A Esq RENEWAL33Anna Fali
1008Darci C VenereSpain2026-09-27Chemel, James L Cpa NEW97Elwin Sharvill
1009Emily Z MaletGermany2026-10-05Feiner Bros QUALIFIED91Elwin Sharvill
1010Emily C MaletSpain2026-09-25Truhlar And Truhlar Attys NEW4Stephen Shaw
1011Darci X AlbaresCanada2026-10-14Truhlar And Truhlar Attys NEW56Bernardo Dominic
1012Sinclair G IturbideUnited Kingdom2026-10-10Truhlar And Truhlar Attys NEGOTIATION65Stephen Shaw
1013Munro I RoysterGermany2026-09-26Dorl, James J Esq RENEWAL51Elwin Sharvill
1014Wickens K CaldareraBrazil2026-10-21Dorl, James J Esq RENEWAL9Bernardo Dominic
1015Cody P NestleJapan2026-10-22Rangoni Of Florence RENEWAL61Bernardo Dominic
1016Stacey Q NickaUnited Kingdom2026-10-18Chanay, Jeffrey A Esq RENEWAL35Ivan Magalhaes
1017David F CaldareraGermany2026-10-15Rangoni Of Florence NEGOTIATION3Elwin Sharvill
1018Stacey Z AmigonGermany2026-10-16Buckley Miller Wright QUALIFIED88Bernardo Dominic
1019Darci O MorascaArgentina2026-09-25Chapman, Ross E Esq QUALIFIED27Ioni Bowcher
1020Julie D ChuiIndia2026-10-18Feiner Bros UNQUALIFIED38Anna Fali
1021Morrow N MorascaGermany2026-09-27Chanay, Jeffrey A Esq PROPOSAL28Bernardo Dominic
1022Cody K KuskoRussia2026-09-27Commercial Press RENEWAL49Onyama Limba
1023Juan I OldroydJapan2026-10-02Rangoni Of Florence NEW87Bernardo Dominic
1024Adams P BriddickJapan2026-09-30Printing Dimensions RENEWAL75Anna Fali
1025Salvatore E GlickRussia2026-10-16Chanay, Jeffrey A Esq QUALIFIED96Amy Elsner
1026Adams N ChuiArgentina2026-10-14Benton, John B Jr QUALIFIED37Anna Fali
1027Jennifer P FigeroaItaly2026-10-20Printing Dimensions QUALIFIED5Anna Fali
1028Octavia P RimGermany2026-10-14Chanay, Jeffrey A Esq RENEWAL71Asiya Javayant
1029Mujtaba A ButtArgentina2026-10-07Buckley Miller Wright RENEWAL32Stephen Shaw
1030Octavia G AlbaresIndia2026-09-30Chanay, Jeffrey A Esq NEW72Onyama Limba
1031Silvio U OstroskyCanada2026-09-30Chanay, Jeffrey A Esq NEGOTIATION15Xuxue Feng
1032Stacey F KolmetzAustralia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED6Bernardo Dominic
1033Emily T GauchoFrance2026-10-18Rousseaux, Michael Esq QUALIFIED3Amy Elsner
1034Ricardo R GarufiRussia2026-10-12Commercial Press RENEWAL8Anna Fali
1035Izzy V PaprockiGermany2026-10-06Dorl, James J Esq RENEWAL23Ioni Bowcher
1036Julie S MaletItaly2026-10-09Benton, John B Jr UNQUALIFIED42Stephen Shaw
1037James L StockhamRussia2026-10-20Benton, John B Jr RENEWAL84Asiya Javayant
1038Claire W DarakjyUnited Kingdom2026-10-05Feltz Printing Service QUALIFIED66Onyama Limba
1039Greenwood G GauchoAustralia2026-10-02Rousseaux, Michael Esq QUALIFIED40Anna Fali
1040Johnson F ButtSpain2026-09-28Feiner Bros QUALIFIED88Ivan Magalhaes
1041Misaki W StensethUnited Kingdom2026-10-15Buckley Miller Wright QUALIFIED61Anna Fali
1042Deepesh A FlosiAustralia2026-10-15Truhlar And Truhlar Attys RENEWAL76Elwin Sharvill
1043Salvatore J WieserBrazil2026-09-29Feiner Bros UNQUALIFIED22Elwin Sharvill
1044Clifford W VenereIndia2026-09-25Benton, John B Jr QUALIFIED79Asiya Javayant
1045Jeanfrancois K GlickArgentina2026-10-14Feiner Bros RENEWAL17Elwin Sharvill
1046Mujtaba S BologniaRussia2026-10-04Printing Dimensions PROPOSAL76Onyama Limba
1047Aditya I SaylorsIndia2026-10-10Buckley Miller Wright NEW21Xuxue Feng
1048Wickens M ChuiUnited Kingdom2026-10-02Buckley Miller Wright NEW40Ioni Bowcher
1049Murillo A IturbideUnited Kingdom2026-09-28Morlong Associates PROPOSAL14Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith J KuskoSpainIoni Bowcher NEW
Mayumi R ChuiCanadaAsiya Javayant QUALIFIED
Ashley J ShinkoIndiaElwin Sharvill RENEWAL
Wickens U SchemmerUnited KingdomElwin Sharvill QUALIFIED
Cody L PaprockiAustraliaIvan Magalhaes RENEWAL
Chavez U BologniaRussiaIoni Bowcher UNQUALIFIED
Deepesh K BologniaRussiaOnyama Limba UNQUALIFIED
James T IturbideBrazilBernardo Dominic UNQUALIFIED
Alejandro Z StockhamGermanyAnna Fali NEGOTIATION
Ricardo O CaldareraItalyStephen Shaw QUALIFIED
Claire Q SchemmerIndiaIoni Bowcher NEGOTIATION
Cody K SergiItalyXuxue Feng NEGOTIATION
Silvio Q PerinCanadaXuxue Feng QUALIFIED
Julie F GarufiBrazilElwin Sharvill NEW
Salvatore C CaldareraGermanyBernardo Dominic QUALIFIED
Clifford O IturbideFranceBernardo Dominic NEGOTIATION
Clifford V OldroydRussiaElwin Sharvill UNQUALIFIED
Silvio I BowleyIndiaElwin Sharvill QUALIFIED
Wickens M WaycottAustraliaBernardo Dominic QUALIFIED
Darci E SergiItalyIoni Bowcher QUALIFIED
Deepesh V ButtCanadaXuxue Feng NEGOTIATION
Munro T VocelkaItalyElwin Sharvill QUALIFIED
Aditya D BologniaBrazilStephen Shaw QUALIFIED
Wickens P RimGermanyElwin Sharvill NEGOTIATION
Johnson V ChuiAustraliaStephen Shaw NEGOTIATION
Antonio W AlbaresRussiaAsiya Javayant UNQUALIFIED
Aditya I SergiAustraliaAnna Fali QUALIFIED
Wickens L PerinAustraliaAsiya Javayant PROPOSAL
David V PoquetteJapanAsiya Javayant NEW
Ricardo Q MaletAustraliaOnyama Limba RENEWAL
Aditya B OstroskyBrazilAnna Fali NEW
Smith T WaycottJapanXuxue Feng UNQUALIFIED
Johnson W CaudyItalyAsiya Javayant NEGOTIATION
Jennifer B BriddickItalyBernardo Dominic PROPOSAL
James E GauchoGermanyElwin Sharvill PROPOSAL
Mayumi N OldroydArgentinaAsiya Javayant PROPOSAL
Jennifer C MaletRussiaAnna Fali RENEWAL
Munro K FerenczUnited KingdomIoni Bowcher PROPOSAL
Chavez A SchemmerRussiaIvan Magalhaes NEW
Aika N RutaUnited KingdomOnyama Limba NEGOTIATION
Salvatore G ShinkoAustraliaIvan Magalhaes RENEWAL
Jefferson C StensethCanadaIvan Magalhaes NEGOTIATION
Nicolas T OstroskyFranceIoni Bowcher NEW
Aditya P StockhamBrazilAmy Elsner NEGOTIATION
Leon E OstroskyArgentinaAmy Elsner UNQUALIFIED
James T KolmetzIndiaStephen Shaw NEW
Maria Y RoysterBrazilStephen Shaw QUALIFIED
Ricardo U StockhamItalyXuxue Feng UNQUALIFIED
Julie H CaudyIndiaStephen Shaw RENEWAL
Rodrigues V KolmetzCanadaAsiya Javayant NEW
Frozen Columns
Name
Aruna J Bolognia
Mayumi G Waycott
Kadeem J Albares
Chavez A Garufi
Isabel D Briddick
Tony P Butt
Izzy H Vocelka
Jennifer Z Caudy
Greenwood V Dilliard
Claire F Vocelka
Mujtaba B Poquette
Arvin A Glick
Jennifer D Chui
Julie K Briddick
Jefferson M Perin
Aditya O Oldroyd
Kaitlin H Ruta
Morrow E Foller
Antonio L Venere
Darci K Bowley
Francesco M Gaucho
Emily Z Kusko
Kadeem M Oldroyd
Cody I Morasca
Munro Q Darakjy
Clifford U Stockham
Mayumi K Bowley
Arvin P Amigon
Stacey O Sergi
Greenwood X Malet
Juan A Ostrosky
Maisha Y Tollner
Deepesh M Perin
Faith D Malet
Ivar U Albares
Antonio S Ferencz
Clifford J Briddick
Ivar U Wieser
Jefferson X Nicka
Emily H Royster
Kaitlin J Tollner
Johnson C Kusko
Leon X Kusko
Darci D Stockham
Isabel M Kusko
Ashley U Paprocki
Wickens V Schemmer
Munro A Oldroyd
Misaki A Campain
Jefferson U Marrier
IdCountryDate
1000Argentina2026-09-24
1001India2026-10-06
1002Russia2026-10-21
1003Brazil2026-10-05
1004Argentina2026-10-09
1005Spain2026-10-23
1006Australia2026-10-20
1007Brazil2026-10-13
1008Japan2026-10-07
1009Russia2026-10-10
1010Germany2026-10-07
1011Japan2026-10-14
1012Canada2026-10-19
1013Japan2026-10-23
1014Germany2026-10-19
1015Russia2026-09-28
1016Canada2026-10-15
1017Argentina2026-09-26
1018India2026-10-09
1019Brazil2026-10-09
1020Canada2026-10-06
1021Argentina2026-10-07
1022Brazil2026-10-08
1023Russia2026-09-25
1024Spain2026-10-16
1025Russia2026-10-13
1026Brazil2026-10-18
1027Australia2026-10-13
1028Brazil2026-10-11
1029Brazil2026-09-24
1030Russia2026-10-05
1031Japan2026-10-18
1032Canada2026-09-25
1033Japan2026-10-12
1034Italy2026-10-09
1035Brazil2026-10-01
1036Germany2026-10-10
1037United Kingdom2026-10-09
1038Japan2026-10-20
1039Japan2026-10-16
1040Canada2026-10-01
1041Spain2026-09-30
1042France2026-10-15
1043Russia2026-10-14
1044Italy2026-09-24
1045Argentina2026-10-23
1046India2026-09-28
1047United Kingdom2026-10-01
1048Brazil2026-10-01
1049India2026-10-16

On-Demand Data

NameIdCountryDate
Francesco T Garufi1000Germany2026-10-02
Salvatore T Ruta1001Japan2026-10-19
Adams I Caldarera1002Argentina2026-10-20
Emily L Kusko1003Germany2026-10-10
Johnson T Nicka1004Argentina2026-10-14
Greenwood J Nicka1005Japan2026-10-11
Cody W Iturbide1006Italy2026-10-12
Adams T Stockham1007Argentina2026-10-17
Tony C Gaucho1008United Kingdom2026-10-06
Tony P Figeroa1009Russia2026-10-16
Maria M Kusko1010France2026-09-27
Wickens S Ostrosky1011Germany2026-10-14
Morrow X Albares1012Russia2026-09-25
Murillo N Morasca1013Argentina2026-10-05
Juan P Gaucho1014France2026-10-12
Rodrigues S Flosi1015Italy2026-10-21
Misaki E Maclead1016Argentina2026-10-16
Jennifer K Oldroyd1017India2026-09-28
Mayumi X Wieser1018Germany2026-10-21
Tony B Butt1019Australia2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy R DoeArgentinaAnna Fali QUALIFIED
Leon M VenereSpainIvan Magalhaes NEW
Munro X WhobreyBrazilOnyama Limba PROPOSAL
Deepesh X KolmetzArgentinaStephen Shaw RENEWAL
Silvio S WieserSpainElwin Sharvill NEW
Ivar D BologniaGermanyOnyama Limba PROPOSAL
Ricardo L KuskoJapanElwin Sharvill PROPOSAL
Jones V MaletGermanyIvan Magalhaes NEW
Aruna Y ButtJapanStephen Shaw PROPOSAL
Ivar U PerinAustraliaAnna Fali QUALIFIED
James F GarufiItalyIvan Magalhaes UNQUALIFIED
Morrow U MarrierBrazilAsiya Javayant NEW
Clifford L CaudyFranceAsiya Javayant QUALIFIED
David I SlusarskiBrazilStephen Shaw PROPOSAL
Chavez U BologniaFranceBernardo Dominic RENEWAL
Isabel A RimCanadaAsiya Javayant RENEWAL
Tony F KolmetzRussiaXuxue Feng RENEWAL
Maria Z IturbideCanadaElwin Sharvill NEGOTIATION
James G ChuiJapanIvan Magalhaes NEGOTIATION
Wickens C PaprockiItalyAnna Fali UNQUALIFIED
Wickens Z BriddickUnited KingdomIoni Bowcher QUALIFIED
Izzy Y OldroydJapanElwin Sharvill RENEWAL
Costa Y CampainRussiaAmy Elsner PROPOSAL
Izzy T AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Jefferson B BologniaJapanXuxue Feng RENEWAL
Isabel F MacleadUnited KingdomIvan Magalhaes PROPOSAL
Cody L GauchoUnited KingdomAsiya Javayant PROPOSAL
Smith T BologniaFranceAmy Elsner UNQUALIFIED
Julie R StensethIndiaAsiya Javayant PROPOSAL
Nicolas Q FigeroaJapanAmy Elsner RENEWAL
Aditya K GarufiUnited KingdomIoni Bowcher NEW
Misaki B SaylorsJapanStephen Shaw PROPOSAL
Chavez F IturbideGermanyAnna Fali UNQUALIFIED
Munro O PoquetteRussiaIoni Bowcher RENEWAL
Jones O AlbaresBrazilBernardo Dominic UNQUALIFIED
Morrow Y TollnerAustraliaBernardo Dominic PROPOSAL
Misaki I MacleadUnited KingdomAsiya Javayant NEW
Aditya U CampainBrazilXuxue Feng NEW
Tony J TollnerGermanyElwin Sharvill NEGOTIATION
Mayumi N PerinAustraliaElwin Sharvill RENEWAL

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