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
Kaitlin N DarakjyAustraliaAnna Fali NEGOTIATION
Munro C AlbaresArgentinaXuxue Feng UNQUALIFIED
Jefferson Z ButtBrazilBernardo Dominic NEW
Julie H InouyeFranceAmy Elsner UNQUALIFIED
Darci Z FigeroaSpainAsiya Javayant QUALIFIED
Smith D SchemmerBrazilIoni Bowcher NEW
Faith D KolmetzArgentinaIoni Bowcher NEW
Kaitlin R MaletItalyBernardo Dominic NEGOTIATION
Stacey J MacleadFranceElwin Sharvill UNQUALIFIED
Tony I InouyeJapanBernardo Dominic NEGOTIATION
Aika N ButtUnited KingdomOnyama Limba RENEWAL
Kadeem L OldroydRussiaXuxue Feng NEW
Leja B RoysterAustraliaXuxue Feng NEGOTIATION
Jefferson G DarakjyAustraliaBernardo Dominic NEW
Arvin I BowleyCanadaIoni Bowcher RENEWAL
Faith F KuskoJapanXuxue Feng NEGOTIATION
Isabel W GillianFranceAsiya Javayant QUALIFIED
Arvin A PaprockiJapanBernardo Dominic UNQUALIFIED
Maria M OldroydArgentinaElwin Sharvill UNQUALIFIED
Isabel W IturbideRussiaAnna Fali NEW
Adams X FerenczItalyOnyama Limba UNQUALIFIED
Rodrigues F GauchoGermanyOnyama Limba QUALIFIED
Ivar V GauchoRussiaIvan Magalhaes NEW
Murillo J GlickJapanIvan Magalhaes UNQUALIFIED
Leja E MaletFranceIvan Magalhaes UNQUALIFIED
David U OstroskyGermanyAsiya Javayant NEW
Jennifer I MorascaFranceElwin Sharvill NEW
Ivar I KolmetzGermanyElwin Sharvill PROPOSAL
Smith G AmigonCanadaAnna Fali NEGOTIATION
Sinclair U FerenczSpainStephen Shaw NEGOTIATION
Octavia E GauchoJapanElwin Sharvill QUALIFIED
James Z BowleyArgentinaBernardo Dominic QUALIFIED
Silvio C StensethSpainIoni Bowcher UNQUALIFIED
Claire I FigeroaAustraliaAnna Fali PROPOSAL
Aika Q VocelkaItalyIvan Magalhaes RENEWAL
David V AmigonJapanXuxue Feng RENEWAL
Sinclair A FollerArgentinaXuxue Feng UNQUALIFIED
Jones Z SchemmerCanadaOnyama Limba QUALIFIED
Salvatore B StensethRussiaIvan Magalhaes NEGOTIATION
Misaki F RimUnited KingdomIvan Magalhaes PROPOSAL
Sinclair M PerinSpainStephen Shaw QUALIFIED
Claire G SchemmerCanadaBernardo Dominic UNQUALIFIED
Claire W BriddickCanadaElwin Sharvill UNQUALIFIED
James G MaletJapanIvan Magalhaes RENEWAL
Maria R NestleItalyAsiya Javayant PROPOSAL
Johnson B MorascaCanadaOnyama Limba UNQUALIFIED
Wickens C CampainAustraliaOnyama Limba NEW
Izzy P WhobreyBrazilIoni Bowcher UNQUALIFIED
Mujtaba I FollerItalyStephen Shaw NEW
Darci D SaylorsSpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley H PoquetteSpainElwin Sharvill NEGOTIATION
Faith A DoeSpainBernardo Dominic PROPOSAL
Misaki I MacleadAustraliaAmy Elsner UNQUALIFIED
Rodrigues X RoysterRussiaBernardo Dominic PROPOSAL
Juan V SlusarskiArgentinaBernardo Dominic NEGOTIATION
James P GillianRussiaAnna Fali PROPOSAL
Juan Q CampainIndiaAsiya Javayant NEGOTIATION
Costa X VenereIndiaAmy Elsner QUALIFIED
Jeanfrancois F OldroydAustraliaIvan Magalhaes NEW
Kaitlin J BowleyIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro F PerinUnited Kingdom2026-10-27Feltz Printing Service PROPOSAL45Ivan Magalhaes
1001Cody Q FigeroaUnited Kingdom2026-11-08Chanay, Jeffrey A Esq UNQUALIFIED59Ioni Bowcher
1002Jefferson V FerenczRussia2026-10-27Rousseaux, Michael Esq NEGOTIATION13Bernardo Dominic
1003Darci A OldroydJapan2026-11-10Benton, John B Jr NEW76Stephen Shaw
1004Ivar N InouyeSpain2026-11-01Buckley Miller Wright PROPOSAL79Ivan Magalhaes
1005Greenwood D TollnerItaly2026-10-31Commercial Press NEGOTIATION0Stephen Shaw
1006Costa T AlbaresUnited Kingdom2026-11-11King, Christopher A Esq PROPOSAL52Elwin Sharvill
1007Kadeem W GillianBrazil2026-11-03Truhlar And Truhlar Attys RENEWAL77Stephen Shaw
1008Aruna Q WieserRussia2026-10-30King, Christopher A Esq UNQUALIFIED97Onyama Limba
1009Aika H SergiUnited Kingdom2026-10-28Printing Dimensions QUALIFIED34Ioni Bowcher
1010Jefferson M WieserIndia2026-11-02Benton, John B Jr UNQUALIFIED98Ioni Bowcher
1011Rodrigues K KolmetzArgentina2026-10-22Chanay, Jeffrey A Esq QUALIFIED33Anna Fali
1012Salvatore K GarufiSpain2026-10-30Feiner Bros NEGOTIATION8Xuxue Feng
1013Jennifer S CampainRussia2026-10-31Buckley Miller Wright QUALIFIED34Amy Elsner
1014Wickens V KolmetzItaly2026-11-06Chanay, Jeffrey A Esq NEGOTIATION96Onyama Limba
1015Nicolas L MaletIndia2026-10-18Truhlar And Truhlar Attys QUALIFIED76Ivan Magalhaes
1016Chavez O AlbaresSpain2026-10-23Morlong Associates NEGOTIATION65Xuxue Feng
1017Silvio J RutaItaly2026-11-08Feiner Bros UNQUALIFIED47Asiya Javayant
1018Isabel O InouyeUnited Kingdom2026-11-02Truhlar And Truhlar Attys QUALIFIED24Stephen Shaw
1019Jennifer R FollerSpain2026-11-04Commercial Press NEGOTIATION82Onyama Limba
1020Rodrigues Q PaprockiItaly2026-11-11Printing Dimensions QUALIFIED25Bernardo Dominic
1021Chavez U GarufiFrance2026-11-01Chemel, James L Cpa NEW13Xuxue Feng
1022Wickens E DilliardSpain2026-11-04Rangoni Of Florence PROPOSAL63Anna Fali
1023Ashley L GillianCanada2026-10-15Commercial Press NEGOTIATION98Anna Fali
1024Murillo T MacleadSpain2026-11-03Commercial Press PROPOSAL79Elwin Sharvill
1025Emily N SaylorsArgentina2026-10-21Truhlar And Truhlar Attys PROPOSAL95Elwin Sharvill
1026Kaitlin H DarakjyItaly2026-10-18Commercial Press PROPOSAL8Asiya Javayant
1027Aditya T MorascaItaly2026-10-31Printing Dimensions QUALIFIED70Ioni Bowcher
1028Sinclair U OldroydUnited Kingdom2026-11-11Chanay, Jeffrey A Esq PROPOSAL61Onyama Limba
1029Alejandro Z WaycottItaly2026-10-16Chanay, Jeffrey A Esq PROPOSAL29Bernardo Dominic
1030Ricardo E BriddickIndia2026-10-29King, Christopher A Esq RENEWAL79Onyama Limba
1031Jeanfrancois T DoeBrazil2026-11-02Rousseaux, Michael Esq NEW96Bernardo Dominic
1032Aditya O SaylorsUnited Kingdom2026-11-03Feiner Bros NEGOTIATION76Stephen Shaw
1033Morrow T AlbaresAustralia2026-11-02Buckley Miller Wright NEW39Asiya Javayant
1034Greenwood Z NickaJapan2026-11-04Printing Dimensions PROPOSAL12Amy Elsner
1035James T GarufiArgentina2026-11-01Dorl, James J Esq NEGOTIATION44Asiya Javayant
1036Wickens G FlosiAustralia2026-10-23Chanay, Jeffrey A Esq QUALIFIED72Ioni Bowcher
1037Maisha K BologniaArgentina2026-11-06Printing Dimensions PROPOSAL5Ioni Bowcher
1038Aika M BriddickSpain2026-11-05Printing Dimensions PROPOSAL22Anna Fali
1039Aika B RutaArgentina2026-11-07Chanay, Jeffrey A Esq UNQUALIFIED94Amy Elsner
1040Julie M MorascaUnited Kingdom2026-10-17King, Christopher A Esq PROPOSAL23Ivan Magalhaes
1041Octavia K KuskoUnited Kingdom2026-10-31Morlong Associates NEGOTIATION33Elwin Sharvill
1042Ivar D OldroydUnited Kingdom2026-10-16Printing Dimensions RENEWAL22Stephen Shaw
1043Alejandro W ShinkoIndia2026-10-26King, Christopher A Esq NEW67Elwin Sharvill
1044Jones F VenereFrance2026-10-24Feltz Printing Service QUALIFIED37Ioni Bowcher
1045Nicolas I RimGermany2026-11-05Printing Dimensions RENEWAL67Asiya Javayant
1046Leon X AmigonArgentina2026-11-03Truhlar And Truhlar Attys QUALIFIED18Elwin Sharvill
1047Isabel F OstroskyUnited Kingdom2026-10-28Chemel, James L Cpa NEW67Ivan Magalhaes
1048Aika U ButtGermany2026-10-15Printing Dimensions RENEWAL48Ivan Magalhaes
1049Maria T KolmetzCanada2026-10-13Commercial Press PROPOSAL25Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie Y FlosiArgentinaStephen Shaw UNQUALIFIED
Aditya Y RutaGermanyAnna Fali NEGOTIATION
Misaki N MarrierSpainElwin Sharvill RENEWAL
Kaitlin G TollnerFranceAnna Fali UNQUALIFIED
Johnson O RutaBrazilAsiya Javayant UNQUALIFIED
Isabel V DarakjyRussiaIoni Bowcher PROPOSAL
Cody W KolmetzSpainIoni Bowcher PROPOSAL
Sinclair A DoeJapanAmy Elsner NEW
Francesco C RutaSpainAsiya Javayant PROPOSAL
Faith T ShinkoFranceXuxue Feng UNQUALIFIED
Greenwood R IturbideIndiaAnna Fali NEGOTIATION
Alejandro M CaudyJapanIoni Bowcher NEW
Rodrigues S GauchoRussiaOnyama Limba NEW
Isabel E BologniaFranceIvan Magalhaes UNQUALIFIED
Antonio O FigeroaBrazilElwin Sharvill QUALIFIED
David N CaudyUnited KingdomAnna Fali NEGOTIATION
James T BowleyFranceBernardo Dominic NEW
Maria C BriddickBrazilOnyama Limba PROPOSAL
Aruna I StensethBrazilElwin Sharvill PROPOSAL
David U RutaArgentinaAnna Fali PROPOSAL
Darci S InouyeArgentinaElwin Sharvill PROPOSAL
Jones S TollnerCanadaAnna Fali RENEWAL
Claire P DoeRussiaAmy Elsner RENEWAL
Rodrigues W WhobreyItalyAsiya Javayant QUALIFIED
Kaitlin C PerinSpainBernardo Dominic RENEWAL
Ricardo O IturbideIndiaAmy Elsner RENEWAL
Aditya D MacleadBrazilAmy Elsner RENEWAL
Jeanfrancois O GlickAustraliaIoni Bowcher PROPOSAL
Tony A AlbaresItalyAsiya Javayant NEGOTIATION
Aditya C BowleyArgentinaAsiya Javayant UNQUALIFIED
Isabel F NickaFranceOnyama Limba NEW
Salvatore A ChuiItalyIvan Magalhaes UNQUALIFIED
Arvin L DoeBrazilOnyama Limba NEW
Kadeem C RutaArgentinaElwin Sharvill UNQUALIFIED
Antonio E InouyeUnited KingdomIoni Bowcher PROPOSAL
Darci L InouyeArgentinaStephen Shaw NEW
Isabel C RimCanadaAmy Elsner QUALIFIED
Costa X FigeroaAustraliaBernardo Dominic NEW
Antonio E GauchoFranceBernardo Dominic QUALIFIED
Kadeem N BologniaBrazilIoni Bowcher PROPOSAL
Leon V InouyeCanadaXuxue Feng QUALIFIED
Maria H MacleadCanadaOnyama Limba NEGOTIATION
Ricardo R OldroydJapanIvan Magalhaes RENEWAL
Chavez N PoquetteGermanyXuxue Feng NEGOTIATION
Tony H PerinUnited KingdomElwin Sharvill NEW
Rodrigues A GauchoIndiaIoni Bowcher RENEWAL
Faith T RoysterGermanyAnna Fali RENEWAL
Munro I FigeroaJapanAmy Elsner QUALIFIED
Costa G VocelkaJapanOnyama Limba NEW
Julie Z AlbaresArgentinaAsiya Javayant NEW
Frozen Columns
Name
Chavez V Venere
Sinclair Z Royster
Emily R Malet
Salvatore C Inouye
Munro Q Foller
Francesco A Stockham
Aika C Stockham
Leon S Slusarski
Clifford Y Darakjy
Ricardo R Bolognia
Misaki X Butt
Julie B Amigon
Ivar S Garufi
Munro P Stenseth
Maisha B Chui
Salvatore E Oldroyd
Mujtaba C Paprocki
Adams Z Saylors
Johnson F Foller
Alejandro K Saylors
Wickens E Amigon
Stacey P Ferencz
Morrow W Stockham
Jones W Kolmetz
Costa B Chui
Mujtaba M Vocelka
Francesco H Wieser
Murillo Z Flosi
Aruna N Gillian
Deepesh O Butt
Stacey B Perin
Julie P Marrier
Aika S Wieser
Juan H Schemmer
Rodrigues N Gillian
Chavez L Flosi
Salvatore M Gillian
Ivar X Foller
Jennifer L Briddick
Silvio P Iturbide
Jeanfrancois N Oldroyd
Morrow L Venere
Cody J Albares
Kadeem A Dilliard
Claire U Garufi
Deepesh D Butt
Costa P Garufi
Isabel Z Inouye
Emily X Shinko
Wickens M Gaucho
IdCountryDate
1000Canada2026-10-13
1001United Kingdom2026-10-20
1002France2026-11-04
1003Japan2026-11-02
1004France2026-10-27
1005United Kingdom2026-10-15
1006India2026-10-26
1007Australia2026-11-01
1008Germany2026-10-28
1009Brazil2026-11-04
1010Italy2026-10-24
1011Japan2026-10-18
1012Australia2026-10-28
1013Russia2026-11-04
1014Canada2026-10-28
1015India2026-11-09
1016Brazil2026-10-18
1017United Kingdom2026-10-31
1018Australia2026-10-14
1019Argentina2026-11-09
1020Japan2026-11-03
1021Germany2026-10-22
1022India2026-10-28
1023Argentina2026-10-16
1024Russia2026-10-20
1025United Kingdom2026-11-11
1026France2026-10-13
1027Canada2026-11-02
1028Argentina2026-10-17
1029Brazil2026-10-21
1030Italy2026-10-14
1031Canada2026-11-08
1032France2026-10-13
1033Germany2026-10-28
1034India2026-10-21
1035France2026-10-18
1036Canada2026-10-21
1037Canada2026-11-02
1038United Kingdom2026-10-13
1039Italy2026-11-01
1040Canada2026-11-09
1041Australia2026-11-03
1042Brazil2026-10-25
1043Japan2026-11-02
1044Japan2026-11-03
1045Russia2026-10-17
1046France2026-10-15
1047Spain2026-10-15
1048United Kingdom2026-10-15
1049Spain2026-11-05

On-Demand Data

NameIdCountryDate
Emily R Caldarera1000Brazil2026-11-02
Stacey M Malet1001Germany2026-10-17
Maisha P Gillian1002Australia2026-11-10
Mujtaba F Shinko1003France2026-10-14
Chavez L Rulapaugh1004Italy2026-10-14
Tony B Vocelka1005Argentina2026-11-04
Chavez R Butt1006Brazil2026-10-30
Tony R Bolognia1007Germany2026-11-05
Jeanfrancois S Shinko1008United Kingdom2026-10-26
Morrow O Ruta1009United Kingdom2026-10-20
Antonio G Rulapaugh1010Russia2026-11-05
Greenwood O Gaucho1011Brazil2026-11-06
Jefferson T Nicka1012Australia2026-10-20
Julie O Gillian1013Argentina2026-10-22
Murillo E Paprocki1014India2026-10-16
Darci X Briddick1015Australia2026-11-06
Smith N Kolmetz1016Argentina2026-10-15
Ashley D Maclead1017India2026-10-18
Arvin X Bolognia1018Italy2026-11-08
Mujtaba J Flosi1019Canada2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G GarufiArgentinaBernardo Dominic NEGOTIATION
Leja T StockhamBrazilAsiya Javayant NEW
Misaki G InouyeIndiaElwin Sharvill NEW
Leon M FerenczCanadaBernardo Dominic PROPOSAL
Emily X FlosiGermanyXuxue Feng RENEWAL
Antonio P GlickIndiaAmy Elsner PROPOSAL
Maisha L KuskoItalyIoni Bowcher NEW
Antonio Z DarakjyArgentinaOnyama Limba NEW
Johnson Q RimArgentinaIvan Magalhaes RENEWAL
Smith A PoquetteRussiaElwin Sharvill RENEWAL
Jennifer S BologniaJapanBernardo Dominic NEGOTIATION
David W InouyeRussiaElwin Sharvill NEGOTIATION
Aika F FollerGermanyStephen Shaw QUALIFIED
Stacey W CampainRussiaOnyama Limba QUALIFIED
Ivar K BologniaItalyOnyama Limba RENEWAL
Chavez Q SlusarskiUnited KingdomAnna Fali NEGOTIATION
Izzy A PerinIndiaAsiya Javayant RENEWAL
Jeanfrancois V NickaUnited KingdomStephen Shaw RENEWAL
Francesco Y FlosiItalyElwin Sharvill NEGOTIATION
Rodrigues M KolmetzRussiaElwin Sharvill RENEWAL
Jennifer E CaudyRussiaAsiya Javayant NEW
David E MaletSpainBernardo Dominic PROPOSAL
Francesco V KolmetzItalyIoni Bowcher QUALIFIED
Jennifer J IturbideIndiaAmy Elsner NEW
Cody T GlickJapanOnyama Limba UNQUALIFIED
Julie U AmigonRussiaOnyama Limba QUALIFIED
Morrow G StensethSpainElwin Sharvill UNQUALIFIED
Kaitlin U ButtArgentinaAsiya Javayant PROPOSAL
Aruna V DoeAustraliaStephen Shaw NEW
Sinclair P AmigonRussiaOnyama Limba UNQUALIFIED
Wickens F PerinSpainStephen Shaw RENEWAL
Leja G BowleySpainElwin Sharvill PROPOSAL
Mujtaba Y MarrierBrazilIoni Bowcher NEW
Jennifer W AmigonBrazilBernardo Dominic QUALIFIED
Costa J OldroydIndiaAsiya Javayant PROPOSAL
Arvin L WieserUnited KingdomElwin Sharvill UNQUALIFIED
Clifford T GarufiArgentinaAsiya Javayant NEGOTIATION
Tony I GauchoBrazilIoni Bowcher NEW
James P FollerGermanyAsiya Javayant PROPOSAL
Maisha I SlusarskiRussiaAmy Elsner NEGOTIATION

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