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 N BologniaAustraliaAmy Elsner UNQUALIFIED
Aika W MaletArgentinaAsiya Javayant RENEWAL
Maria I CaldareraJapanAmy Elsner UNQUALIFIED
Morrow L BowleyRussiaStephen Shaw RENEWAL
Munro K BologniaRussiaStephen Shaw QUALIFIED
James O ButtIndiaStephen Shaw QUALIFIED
Salvatore Q MaletUnited KingdomAsiya Javayant RENEWAL
Mujtaba D SergiCanadaStephen Shaw UNQUALIFIED
Isabel T SlusarskiItalyXuxue Feng NEGOTIATION
James E MarrierBrazilIoni Bowcher QUALIFIED
Maisha F PoquetteSpainAmy Elsner NEW
Chavez M MorascaAustraliaAmy Elsner QUALIFIED
Silvio U FerenczFranceStephen Shaw NEW
Jennifer Z BriddickRussiaAsiya Javayant NEGOTIATION
Mujtaba C InouyeBrazilOnyama Limba QUALIFIED
Aruna M BologniaSpainIoni Bowcher UNQUALIFIED
Maisha U NickaCanadaAnna Fali NEGOTIATION
Kadeem M KuskoAustraliaBernardo Dominic PROPOSAL
Salvatore X MaletBrazilOnyama Limba NEGOTIATION
Murillo L MorascaJapanStephen Shaw PROPOSAL
Kadeem R AlbaresItalyAnna Fali QUALIFIED
Maisha S WaycottRussiaStephen Shaw NEGOTIATION
Darci E ShinkoItalyIvan Magalhaes RENEWAL
Tony U WhobreyCanadaXuxue Feng NEW
Francesco F KolmetzIndiaIoni Bowcher QUALIFIED
Aika X MorascaCanadaAsiya Javayant NEW
Mayumi O ChuiIndiaIvan Magalhaes QUALIFIED
Maisha K FerenczArgentinaAmy Elsner PROPOSAL
Alejandro Q BowleyRussiaIvan Magalhaes QUALIFIED
Darci E MaletCanadaIvan Magalhaes QUALIFIED
Nicolas G MaletBrazilBernardo Dominic NEGOTIATION
Deepesh E RutaUnited KingdomAnna Fali NEW
Chavez K IturbideUnited KingdomElwin Sharvill NEGOTIATION
Darci L MarrierCanadaIvan Magalhaes RENEWAL
Jennifer X RulapaughFranceOnyama Limba QUALIFIED
Nicolas T FlosiAustraliaIoni Bowcher PROPOSAL
Sinclair Z MaletRussiaAsiya Javayant RENEWAL
Julie Y RutaItalyOnyama Limba NEW
Ricardo O SergiItalyIoni Bowcher QUALIFIED
Alejandro U GarufiGermanyXuxue Feng UNQUALIFIED
Darci G KuskoBrazilAmy Elsner NEW
Silvio W MaletGermanyAnna Fali QUALIFIED
Izzy T MaletJapanOnyama Limba UNQUALIFIED
Morrow B IturbideUnited KingdomElwin Sharvill NEGOTIATION
Aruna V RimAustraliaAnna Fali RENEWAL
Leon R BriddickFranceOnyama Limba NEGOTIATION
Clifford P ButtCanadaStephen Shaw UNQUALIFIED
Misaki A CaldareraAustraliaOnyama Limba NEW
Ivar F BologniaSpainIvan Magalhaes NEGOTIATION
Nicolas S FerenczGermanyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna F DoeAustraliaOnyama Limba NEGOTIATION
Leja U PoquetteFranceOnyama Limba NEW
Rodrigues L FollerCanadaBernardo Dominic UNQUALIFIED
Morrow D AlbaresIndiaXuxue Feng QUALIFIED
Rodrigues E SaylorsGermanyAsiya Javayant NEGOTIATION
Emily F GlickBrazilAmy Elsner PROPOSAL
Faith S MorascaItalyAmy Elsner PROPOSAL
Stacey T MorascaArgentinaXuxue Feng PROPOSAL
Isabel U VenereJapanIvan Magalhaes NEW
Greenwood K GarufiFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore M FerenczIndia2026-09-05Feiner Bros UNQUALIFIED46Asiya Javayant
1001Ivar G DarakjyRussia2026-09-05Buckley Miller Wright NEW50Anna Fali
1002Silvio I VenereArgentina2026-09-10Chanay, Jeffrey A Esq NEGOTIATION77Elwin Sharvill
1003Deepesh M PoquetteFrance2026-09-16Dorl, James J Esq NEW70Amy Elsner
1004Antonio D MaletJapan2026-09-25Chemel, James L Cpa UNQUALIFIED90Bernardo Dominic
1005David Y WieserItaly2026-10-01Morlong Associates PROPOSAL15Ivan Magalhaes
1006Aika Q OldroydGermany2026-09-12Rangoni Of Florence UNQUALIFIED72Asiya Javayant
1007Leja K MarrierFrance2026-09-19Chapman, Ross E Esq NEGOTIATION45Stephen Shaw
1008Greenwood I RimArgentina2026-09-12Chanay, Jeffrey A Esq QUALIFIED9Asiya Javayant
1009Jones I IturbideGermany2026-09-29Benton, John B Jr RENEWAL98Stephen Shaw
1010Kaitlin O NestleIndia2026-09-05Chapman, Ross E Esq NEGOTIATION91Ivan Magalhaes
1011Antonio K RutaCanada2026-09-22Dorl, James J Esq RENEWAL94Amy Elsner
1012Cody M VenereCanada2026-10-01Feiner Bros NEW40Xuxue Feng
1013Jones V MaletJapan2026-09-15Chanay, Jeffrey A Esq NEW55Asiya Javayant
1014Ricardo M KuskoSpain2026-09-17Truhlar And Truhlar Attys RENEWAL62Stephen Shaw
1015Leon C ShinkoBrazil2026-09-23Rangoni Of Florence NEGOTIATION8Elwin Sharvill
1016Sinclair J KolmetzBrazil2026-09-10Rousseaux, Michael Esq NEGOTIATION66Bernardo Dominic
1017Chavez Z GlickUnited Kingdom2026-09-06Rangoni Of Florence UNQUALIFIED40Xuxue Feng
1018Alejandro I StensethAustralia2026-09-14Chapman, Ross E Esq NEW69Xuxue Feng
1019Munro U MaletCanada2026-09-08Dorl, James J Esq PROPOSAL91Ivan Magalhaes
1020Leja O BriddickArgentina2026-09-19Feltz Printing Service NEW22Ivan Magalhaes
1021Clifford D RoysterGermany2026-09-13Chemel, James L Cpa PROPOSAL41Asiya Javayant
1022Leon A AlbaresAustralia2026-09-08Dorl, James J Esq NEW70Asiya Javayant
1023Aika B FerenczFrance2026-09-06Buckley Miller Wright UNQUALIFIED78Xuxue Feng
1024Maisha X GillianAustralia2026-09-14Dorl, James J Esq RENEWAL22Ioni Bowcher
1025Smith Q GillianFrance2026-09-17Commercial Press NEGOTIATION78Onyama Limba
1026Aditya P NickaFrance2026-09-25Printing Dimensions UNQUALIFIED50Ioni Bowcher
1027Salvatore D BologniaBrazil2026-09-14Dorl, James J Esq UNQUALIFIED49Amy Elsner
1028Alejandro J MaletRussia2026-10-01Rousseaux, Michael Esq UNQUALIFIED6Onyama Limba
1029Leja W GauchoArgentina2026-09-08Buckley Miller Wright RENEWAL12Ivan Magalhaes
1030Ricardo U BowleyIndia2026-09-23Feltz Printing Service UNQUALIFIED3Bernardo Dominic
1031Leja Y VocelkaCanada2026-09-28Truhlar And Truhlar Attys RENEWAL54Stephen Shaw
1032Mujtaba O DilliardJapan2026-09-22Rousseaux, Michael Esq RENEWAL45Stephen Shaw
1033Murillo Z GauchoAustralia2026-09-08Rangoni Of Florence PROPOSAL6Stephen Shaw
1034Stacey S WaycottCanada2026-09-19Commercial Press QUALIFIED67Ioni Bowcher
1035Wickens A GlickItaly2026-09-13Morlong Associates NEGOTIATION66Elwin Sharvill
1036Murillo W SaylorsRussia2026-09-12King, Christopher A Esq NEW82Asiya Javayant
1037Claire K DoeRussia2026-09-27Dorl, James J Esq NEW67Elwin Sharvill
1038Adams I AmigonSpain2026-09-16Chapman, Ross E Esq NEGOTIATION65Bernardo Dominic
1039Munro A VocelkaItaly2026-09-22Buckley Miller Wright PROPOSAL38Stephen Shaw
1040Clifford V CaldareraAustralia2026-09-26Chapman, Ross E Esq NEGOTIATION61Asiya Javayant
1041Stacey V PoquetteIndia2026-09-30Chemel, James L Cpa RENEWAL69Stephen Shaw
1042Sinclair T SaylorsJapan2026-09-24Rousseaux, Michael Esq NEW14Elwin Sharvill
1043Greenwood I KolmetzRussia2026-09-09Buckley Miller Wright UNQUALIFIED7Ivan Magalhaes
1044Salvatore H RulapaughAustralia2026-09-20King, Christopher A Esq UNQUALIFIED10Bernardo Dominic
1045Arvin U VocelkaFrance2026-09-17Buckley Miller Wright UNQUALIFIED24Ivan Magalhaes
1046Jefferson A SchemmerCanada2026-09-26Commercial Press QUALIFIED47Elwin Sharvill
1047Greenwood W GillianAustralia2026-09-08Benton, John B Jr NEGOTIATION48Bernardo Dominic
1048Rodrigues C SaylorsCanada2026-09-10Chanay, Jeffrey A Esq RENEWAL58Bernardo Dominic
1049Leon W FlosiArgentina2026-09-13Feltz Printing Service NEGOTIATION35Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci D StensethUnited KingdomAnna Fali NEW
Mujtaba X StensethRussiaIvan Magalhaes NEW
Kaitlin F KuskoSpainXuxue Feng NEW
Jefferson A DilliardAustraliaIoni Bowcher PROPOSAL
Kadeem E WaycottCanadaIoni Bowcher UNQUALIFIED
Ricardo H BologniaIndiaAmy Elsner PROPOSAL
Leja M FerenczAustraliaIoni Bowcher NEGOTIATION
Juan T ChuiItalyStephen Shaw UNQUALIFIED
Izzy E FigeroaIndiaOnyama Limba UNQUALIFIED
Tony N FlosiRussiaElwin Sharvill NEGOTIATION
Jennifer S RulapaughUnited KingdomAsiya Javayant PROPOSAL
David T KolmetzJapanStephen Shaw RENEWAL
Mayumi P ButtArgentinaStephen Shaw NEW
Ivar Z WaycottAustraliaIoni Bowcher QUALIFIED
Munro A NickaCanadaAnna Fali QUALIFIED
Chavez X BowleyIndiaAmy Elsner QUALIFIED
Silvio U RulapaughAustraliaElwin Sharvill PROPOSAL
Sinclair I TollnerFranceAmy Elsner PROPOSAL
Salvatore F DoeIndiaElwin Sharvill NEW
Johnson J CaldareraGermanyIoni Bowcher NEGOTIATION
Leon I PaprockiFranceBernardo Dominic NEGOTIATION
James E OstroskyUnited KingdomStephen Shaw RENEWAL
Francesco X DilliardArgentinaXuxue Feng RENEWAL
Octavia R OldroydBrazilIoni Bowcher RENEWAL
Morrow E GlickAustraliaOnyama Limba NEGOTIATION
Ivar E RimIndiaIoni Bowcher NEW
Maisha F BowleySpainElwin Sharvill NEW
James M GillianIndiaIoni Bowcher PROPOSAL
Julie G FollerUnited KingdomStephen Shaw QUALIFIED
Arvin D OldroydCanadaIvan Magalhaes NEGOTIATION
Ashley M VocelkaUnited KingdomIoni Bowcher NEW
Sinclair O RoysterRussiaXuxue Feng NEGOTIATION
Morrow A SlusarskiSpainStephen Shaw NEGOTIATION
Jennifer L NestleBrazilStephen Shaw QUALIFIED
Greenwood I CampainItalyIoni Bowcher RENEWAL
Kadeem V InouyeAustraliaXuxue Feng RENEWAL
Leja A SaylorsAustraliaIoni Bowcher NEGOTIATION
Johnson B PaprockiAustraliaAnna Fali RENEWAL
Kaitlin X SergiSpainAnna Fali PROPOSAL
Julie I WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Maisha J VenereAustraliaOnyama Limba QUALIFIED
Alejandro Q SlusarskiRussiaElwin Sharvill NEW
Costa C DoeCanadaAmy Elsner RENEWAL
Kaitlin R FigeroaCanadaXuxue Feng NEGOTIATION
Mayumi O GauchoAustraliaXuxue Feng PROPOSAL
David S CaldareraAustraliaStephen Shaw NEGOTIATION
Costa X CampainJapanElwin Sharvill NEGOTIATION
Cody G BowleyRussiaAmy Elsner QUALIFIED
Clifford F MorascaUnited KingdomXuxue Feng QUALIFIED
Arvin C GlickAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Jones Q Slusarski
Jones D Butt
Ricardo F Stockham
Darci F Gaucho
Mayumi Q Tollner
Jeanfrancois W Sergi
David M Oldroyd
Morrow U Iturbide
Kaitlin P Royster
Jefferson D Albares
Leja K Perin
Cody B Caudy
Maisha I Kusko
Antonio G Rulapaugh
Salvatore U Malet
Nicolas A Iturbide
Silvio Y Dilliard
Jeanfrancois A Marrier
Murillo P Ostrosky
Clifford I Briddick
James H Maclead
Aika H Chui
Jeanfrancois K Glick
James U Malet
Jennifer J Campain
Munro K Perin
Leja V Venere
Adams L Amigon
Adams N Royster
Leon M Inouye
Jeanfrancois Z Chui
Jefferson T Caudy
Ivar Q Marrier
Deepesh W Garufi
Faith F Saylors
Mujtaba C Amigon
Smith Q Malet
Juan C Doe
Ivar D Iturbide
Silvio Y Doe
Cody Q Rim
Nicolas S Campain
Mayumi S Ferencz
Smith B Malet
Claire Z Dilliard
Munro H Inouye
Maria M Poquette
Silvio F Gillian
Wickens N Whobrey
Tony S Amigon
IdCountryDate
1000Italy2026-09-09
1001Russia2026-09-09
1002Germany2026-10-01
1003Russia2026-09-02
1004Argentina2026-09-08
1005France2026-09-03
1006Spain2026-09-19
1007Brazil2026-09-16
1008Brazil2026-09-11
1009Italy2026-09-16
1010Argentina2026-09-12
1011Japan2026-09-08
1012Australia2026-09-08
1013Argentina2026-09-09
1014Spain2026-09-25
1015Brazil2026-09-15
1016Australia2026-09-07
1017Germany2026-09-07
1018France2026-09-17
1019Japan2026-09-18
1020Japan2026-09-12
1021Italy2026-09-04
1022France2026-09-30
1023United Kingdom2026-09-24
1024United Kingdom2026-09-16
1025Brazil2026-09-09
1026United Kingdom2026-09-25
1027Argentina2026-09-03
1028Canada2026-09-20
1029Brazil2026-09-27
1030Canada2026-09-05
1031France2026-09-09
1032Japan2026-09-11
1033Italy2026-09-06
1034Spain2026-09-21
1035Italy2026-09-30
1036Brazil2026-09-18
1037Spain2026-09-12
1038India2026-09-25
1039Australia2026-09-26
1040Russia2026-09-08
1041France2026-09-10
1042Italy2026-09-09
1043Spain2026-09-22
1044France2026-09-28
1045Brazil2026-09-28
1046Germany2026-09-12
1047Spain2026-09-03
1048India2026-09-25
1049Italy2026-09-22

On-Demand Data

NameIdCountryDate
Arvin J Butt1000Australia2026-09-08
Rodrigues B Stockham1001Japan2026-09-04
Emily J Ferencz1002Australia2026-09-12
Smith B Albares1003France2026-09-29
Claire T Royster1004Spain2026-09-27
Kaitlin F Venere1005Italy2026-09-22
Arvin C Rulapaugh1006Brazil2026-09-10
Jefferson B Foller1007Brazil2026-09-30
Jennifer Z Doe1008France2026-09-18
Juan X Ruta1009Argentina2026-09-22
Murillo A Vocelka1010France2026-09-20
Aika Y Paprocki1011Germany2026-09-12
Misaki R Chui1012Brazil2026-09-09
Johnson N Malet1013Russia2026-09-15
Ricardo I Butt1014France2026-09-14
Jefferson T Shinko1015France2026-09-22
Emily O Glick1016Argentina2026-09-15
Aditya A Tollner1017Japan2026-09-21
Mujtaba F Doe1018Italy2026-09-22
Isabel O Foller1019Argentina2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna K MorascaUnited KingdomAmy Elsner NEGOTIATION
Adams N TollnerJapanAmy Elsner NEGOTIATION
Silvio O StensethAustraliaXuxue Feng RENEWAL
Julie P DoeItalyAmy Elsner NEW
Leja B DilliardSpainOnyama Limba UNQUALIFIED
Octavia T MorascaItalyStephen Shaw NEW
Francesco Y CampainBrazilAmy Elsner NEGOTIATION
Darci R PoquetteFranceElwin Sharvill UNQUALIFIED
Izzy D SlusarskiSpainXuxue Feng NEW
Smith J OstroskyFranceAmy Elsner RENEWAL
Juan Z StockhamUnited KingdomBernardo Dominic PROPOSAL
Adams G OldroydBrazilOnyama Limba QUALIFIED
Salvatore M WieserArgentinaXuxue Feng RENEWAL
Cody G MacleadIndiaBernardo Dominic NEGOTIATION
Faith Q WhobreyItalyAsiya Javayant RENEWAL
David D GillianArgentinaIoni Bowcher UNQUALIFIED
Ivar I BriddickUnited KingdomAsiya Javayant NEW
Jennifer L WaycottItalyIoni Bowcher RENEWAL
Ashley J PaprockiGermanyOnyama Limba QUALIFIED
Murillo Q StensethUnited KingdomStephen Shaw QUALIFIED
Maria C ChuiSpainElwin Sharvill QUALIFIED
Greenwood U BowleyArgentinaXuxue Feng NEW
Aruna H MacleadItalyIvan Magalhaes UNQUALIFIED
Rodrigues F CampainFranceAmy Elsner PROPOSAL
Ashley O FlosiCanadaAmy Elsner NEGOTIATION
Ivar Q RoysterAustraliaOnyama Limba UNQUALIFIED
Jones H MarrierCanadaAsiya Javayant RENEWAL
Maisha R AmigonArgentinaStephen Shaw NEGOTIATION
Adams C OldroydSpainBernardo Dominic RENEWAL
Isabel Q FigeroaGermanyStephen Shaw UNQUALIFIED
Izzy T MacleadFranceOnyama Limba NEGOTIATION
Ivar Z PoquetteGermanyElwin Sharvill UNQUALIFIED
Mujtaba Z NestleAustraliaAsiya Javayant UNQUALIFIED
Deepesh H WieserAustraliaBernardo Dominic QUALIFIED
Francesco M MorascaIndiaAmy Elsner RENEWAL
Julie H TollnerCanadaIvan Magalhaes PROPOSAL
Faith B VenereIndiaIoni Bowcher QUALIFIED
Maisha E IturbideRussiaAmy Elsner UNQUALIFIED
Greenwood H PoquetteAustraliaStephen Shaw NEW
Leon E AlbaresFranceAsiya Javayant 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>