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
Leon Y IturbideFranceXuxue Feng NEGOTIATION
Maria J InouyeJapanOnyama Limba NEW
Antonio S ChuiJapanXuxue Feng NEGOTIATION
Murillo Y InouyeGermanyBernardo Dominic QUALIFIED
Antonio V OstroskyRussiaAmy Elsner UNQUALIFIED
Ricardo J ChuiCanadaAnna Fali QUALIFIED
Jennifer H WieserGermanyAmy Elsner QUALIFIED
Arvin A GlickItalyBernardo Dominic NEW
Ashley I SaylorsSpainBernardo Dominic PROPOSAL
Costa T PaprockiUnited KingdomBernardo Dominic QUALIFIED
David K ButtCanadaBernardo Dominic QUALIFIED
Greenwood J PaprockiIndiaXuxue Feng NEW
Morrow A CampainBrazilAmy Elsner RENEWAL
Clifford R MorascaBrazilAsiya Javayant QUALIFIED
Ivar G OstroskyJapanStephen Shaw NEGOTIATION
Juan W ShinkoCanadaOnyama Limba UNQUALIFIED
Chavez J WieserIndiaStephen Shaw NEW
Aruna P WieserGermanyIvan Magalhaes NEW
Darci B BologniaIndiaOnyama Limba RENEWAL
Jones C StockhamAustraliaAmy Elsner RENEWAL
Isabel R GlickCanadaAmy Elsner UNQUALIFIED
Wickens M SergiFranceAsiya Javayant RENEWAL
Sinclair V GarufiGermanyAmy Elsner PROPOSAL
Izzy I GauchoJapanStephen Shaw UNQUALIFIED
Tony T MaletJapanElwin Sharvill UNQUALIFIED
Morrow O DoeUnited KingdomElwin Sharvill UNQUALIFIED
Ivar F RimArgentinaXuxue Feng UNQUALIFIED
Cody N GillianArgentinaAsiya Javayant PROPOSAL
Maria M KolmetzFranceAsiya Javayant UNQUALIFIED
Emily H TollnerIndiaBernardo Dominic QUALIFIED
Darci S SaylorsCanadaAnna Fali QUALIFIED
Francesco R DarakjySpainElwin Sharvill PROPOSAL
Wickens U InouyeJapanAnna Fali QUALIFIED
Izzy Y DoeJapanBernardo Dominic NEGOTIATION
Darci G FlosiGermanyAsiya Javayant NEGOTIATION
Stacey C MaletFranceIvan Magalhaes QUALIFIED
Johnson D GlickGermanyXuxue Feng PROPOSAL
Clifford P WhobreyGermanyOnyama Limba NEGOTIATION
Maisha J WhobreyGermanyIvan Magalhaes QUALIFIED
Aruna H GarufiFranceStephen Shaw PROPOSAL
Antonio M MaletItalyElwin Sharvill QUALIFIED
Maria W GlickUnited KingdomStephen Shaw QUALIFIED
Emily V BologniaGermanyAsiya Javayant PROPOSAL
Aika W FollerJapanAmy Elsner PROPOSAL
Tony Y MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi K CaudyFranceStephen Shaw QUALIFIED
Emily N PoquetteAustraliaIvan Magalhaes QUALIFIED
Smith B SaylorsIndiaIoni Bowcher NEGOTIATION
Jefferson N OstroskyUnited KingdomIvan Magalhaes NEW
Nicolas R VenereFranceXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
David D SchemmerBrazilXuxue Feng PROPOSAL
Cody U AmigonItalyAmy Elsner UNQUALIFIED
Jennifer R MacleadSpainIvan Magalhaes NEW
Johnson D NestleRussiaAsiya Javayant RENEWAL
Alejandro W PoquetteIndiaElwin Sharvill PROPOSAL
Misaki M DoeIndiaAmy Elsner RENEWAL
Octavia B ButtFranceAsiya Javayant NEW
Octavia J FerenczCanadaIoni Bowcher NEW
Misaki C NickaFranceAsiya Javayant NEW
Jennifer K GlickUnited KingdomOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel S CaldareraIndia2026-10-22Morlong Associates RENEWAL22Stephen Shaw
1001Jennifer Z SchemmerJapan2026-10-15Chemel, James L Cpa RENEWAL30Onyama Limba
1002Tony D RoysterGermany2026-10-30Dorl, James J Esq PROPOSAL95Ioni Bowcher
1003Wickens A DoeIndia2026-10-17Benton, John B Jr QUALIFIED27Bernardo Dominic
1004Jeanfrancois H StockhamItaly2026-10-22Feiner Bros UNQUALIFIED56Onyama Limba
1005Jeanfrancois O GlickSpain2026-10-28Chapman, Ross E Esq NEGOTIATION42Anna Fali
1006Julie R RimGermany2026-11-01Truhlar And Truhlar Attys NEW7Xuxue Feng
1007Adams P GillianFrance2026-11-01Chapman, Ross E Esq NEGOTIATION67Elwin Sharvill
1008Jefferson M RoysterAustralia2026-10-23King, Christopher A Esq UNQUALIFIED81Anna Fali
1009Izzy X StockhamRussia2026-10-13Benton, John B Jr PROPOSAL18Ioni Bowcher
1010Ashley J CaudyJapan2026-10-11Truhlar And Truhlar Attys NEW43Ioni Bowcher
1011Adams Q PaprockiRussia2026-10-04Buckley Miller Wright NEW60Amy Elsner
1012Cody Z GlickArgentina2026-10-09Chanay, Jeffrey A Esq PROPOSAL74Xuxue Feng
1013Francesco F IturbideCanada2026-11-01Chapman, Ross E Esq NEW1Onyama Limba
1014Leon T AmigonItaly2026-10-12Buckley Miller Wright UNQUALIFIED56Asiya Javayant
1015Nicolas P RoysterBrazil2026-10-28Rangoni Of Florence QUALIFIED62Onyama Limba
1016Jennifer R VenereGermany2026-10-20Commercial Press UNQUALIFIED83Ioni Bowcher
1017Smith H MaletItaly2026-10-07Benton, John B Jr NEGOTIATION50Anna Fali
1018Greenwood W MorascaItaly2026-10-21Chemel, James L Cpa RENEWAL0Onyama Limba
1019Jones N GlickGermany2026-10-16Buckley Miller Wright NEW51Ioni Bowcher
1020Alejandro D GlickGermany2026-10-16Chemel, James L Cpa NEGOTIATION88Anna Fali
1021Tony F ButtItaly2026-10-06Dorl, James J Esq PROPOSAL22Asiya Javayant
1022Julie V OstroskyItaly2026-10-10Buckley Miller Wright NEW97Elwin Sharvill
1023Izzy G TollnerIndia2026-10-21Rousseaux, Michael Esq QUALIFIED58Onyama Limba
1024Adams Y FlosiBrazil2026-10-13King, Christopher A Esq PROPOSAL97Anna Fali
1025Rodrigues M CampainGermany2026-10-10Dorl, James J Esq RENEWAL37Anna Fali
1026Alejandro K WieserArgentina2026-10-19Commercial Press RENEWAL79Asiya Javayant
1027Silvio I GauchoArgentina2026-10-12Truhlar And Truhlar Attys NEW76Elwin Sharvill
1028Alejandro A TollnerCanada2026-10-08Commercial Press NEGOTIATION27Stephen Shaw
1029Juan Z FlosiFrance2026-10-25Rangoni Of Florence NEGOTIATION26Amy Elsner
1030Stacey X RoysterBrazil2026-10-13Feltz Printing Service NEW13Anna Fali
1031Alejandro B AlbaresRussia2026-10-24Rangoni Of Florence NEW91Bernardo Dominic
1032Francesco Q RulapaughIndia2026-11-01King, Christopher A Esq RENEWAL41Asiya Javayant
1033Jeanfrancois T CaudyGermany2026-10-12Dorl, James J Esq NEGOTIATION21Amy Elsner
1034Aika B BologniaUnited Kingdom2026-10-09Morlong Associates RENEWAL14Anna Fali
1035Stacey W FollerSpain2026-10-26Benton, John B Jr NEGOTIATION32Elwin Sharvill
1036Morrow T VocelkaArgentina2026-10-03Printing Dimensions QUALIFIED22Xuxue Feng
1037Antonio M VenereJapan2026-10-14Rousseaux, Michael Esq QUALIFIED45Amy Elsner
1038Ricardo W FerenczBrazil2026-10-14Benton, John B Jr NEW8Ivan Magalhaes
1039Jeanfrancois T RutaIndia2026-10-14Printing Dimensions QUALIFIED64Asiya Javayant
1040Kadeem K FigeroaSpain2026-10-06Buckley Miller Wright QUALIFIED40Ivan Magalhaes
1041Ricardo J MacleadUnited Kingdom2026-11-01Buckley Miller Wright NEGOTIATION25Onyama Limba
1042Jeanfrancois X ChuiSpain2026-10-05Feiner Bros QUALIFIED71Anna Fali
1043Costa O OldroydUnited Kingdom2026-10-15Dorl, James J Esq RENEWAL95Onyama Limba
1044James X SlusarskiItaly2026-10-06Feiner Bros NEGOTIATION24Onyama Limba
1045Ricardo O NickaArgentina2026-11-01Buckley Miller Wright RENEWAL19Anna Fali
1046Kadeem M AlbaresJapan2026-10-15Rousseaux, Michael Esq NEGOTIATION94Xuxue Feng
1047Clifford R NestleRussia2026-10-20Benton, John B Jr RENEWAL25Ioni Bowcher
1048Greenwood S BologniaUnited Kingdom2026-10-20Benton, John B Jr NEGOTIATION7Asiya Javayant
1049Salvatore L CaudyItaly2026-10-30Morlong Associates PROPOSAL18Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony H OldroydIndiaBernardo Dominic QUALIFIED
Octavia Y ChuiBrazilAsiya Javayant NEW
Faith S SlusarskiItalyXuxue Feng NEW
Rodrigues N TollnerAustraliaOnyama Limba UNQUALIFIED
Maria D CampainAustraliaBernardo Dominic PROPOSAL
Sinclair T AlbaresRussiaBernardo Dominic UNQUALIFIED
Murillo R GillianAustraliaStephen Shaw RENEWAL
Munro X GillianItalyElwin Sharvill PROPOSAL
Rodrigues M GauchoSpainAsiya Javayant UNQUALIFIED
Tony W OstroskyBrazilOnyama Limba RENEWAL
Munro X MaletFranceAnna Fali UNQUALIFIED
Alejandro K VenereIndiaXuxue Feng PROPOSAL
Morrow Y GauchoAustraliaAsiya Javayant NEW
Aditya T RoysterRussiaIvan Magalhaes QUALIFIED
Emily M ButtCanadaAnna Fali PROPOSAL
Emily R OstroskyJapanIvan Magalhaes UNQUALIFIED
Sinclair S RimItalyOnyama Limba NEGOTIATION
Salvatore A RoysterSpainElwin Sharvill QUALIFIED
Greenwood V FlosiRussiaIoni Bowcher PROPOSAL
Johnson M VocelkaJapanAsiya Javayant PROPOSAL
Clifford M StockhamUnited KingdomIoni Bowcher RENEWAL
Leon P MaletAustraliaAmy Elsner UNQUALIFIED
Johnson B SchemmerGermanyAmy Elsner PROPOSAL
Deepesh Y FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Aika D WhobreySpainStephen Shaw RENEWAL
Murillo N AlbaresGermanyAsiya Javayant PROPOSAL
Smith V InouyeArgentinaAnna Fali NEW
Julie P MarrierRussiaOnyama Limba UNQUALIFIED
Costa F VenereFranceStephen Shaw UNQUALIFIED
Jones R VocelkaAustraliaOnyama Limba QUALIFIED
Munro N RoysterFranceAnna Fali PROPOSAL
Costa Y RulapaughSpainAsiya Javayant RENEWAL
Isabel S MaletAustraliaAmy Elsner UNQUALIFIED
Antonio Q SchemmerCanadaIoni Bowcher RENEWAL
Maria V RulapaughJapanAmy Elsner QUALIFIED
Clifford P DoeBrazilBernardo Dominic NEW
Octavia Q BowleyIndiaAnna Fali NEW
Izzy I BologniaFranceAnna Fali PROPOSAL
Kaitlin Q SchemmerArgentinaIvan Magalhaes RENEWAL
Kadeem U VocelkaItalyStephen Shaw QUALIFIED
Misaki Q MorascaSpainIvan Magalhaes PROPOSAL
Stacey L WieserCanadaStephen Shaw PROPOSAL
Isabel U MaletAustraliaOnyama Limba RENEWAL
Octavia A MorascaArgentinaOnyama Limba NEGOTIATION
Chavez F FerenczArgentinaXuxue Feng QUALIFIED
Juan K WieserBrazilOnyama Limba NEGOTIATION
Emily G SaylorsRussiaAnna Fali PROPOSAL
Julie C MarrierItalyAmy Elsner RENEWAL
Stacey E ChuiGermanyBernardo Dominic UNQUALIFIED
Claire M MaletUnited KingdomXuxue Feng NEGOTIATION
Frozen Columns
Name
Leon L Flosi
Wickens O Caudy
Mayumi P Malet
Antonio S Ruta
Arvin Y Doe
Silvio Y Nicka
Maria L Morasca
Murillo K Nicka
Leja X Nicka
Emily C Caldarera
Maisha V Rim
Nicolas O Saylors
Emily K Garufi
Isabel M Kolmetz
Morrow F Butt
Kaitlin Q Nicka
Morrow S Bolognia
Silvio C Shinko
Emily W Oldroyd
Maria Q Oldroyd
James G Bowley
Leja X Bowley
Julie Z Schemmer
Silvio P Stockham
Leja T Maclead
Cody B Figeroa
Sinclair E Vocelka
Rodrigues X Inouye
Stacey Q Albares
Emily R Chui
James K Garufi
Silvio Z Malet
Silvio C Paprocki
Aika Z Rulapaugh
Claire B Gaucho
Adams J Campain
Izzy P Tollner
Misaki C Iturbide
Salvatore E Chui
Izzy K Glick
Leja G Caldarera
Ricardo L Butt
Adams Y Maclead
Jennifer N Figeroa
Jeanfrancois A Flosi
Aruna M Ostrosky
Murillo A Malet
Ricardo Q Kusko
Murillo B Amigon
Misaki T Venere
IdCountryDate
1000Italy2026-10-06
1001Italy2026-10-26
1002United Kingdom2026-10-22
1003Italy2026-10-05
1004Brazil2026-10-04
1005Spain2026-10-20
1006India2026-10-09
1007Argentina2026-10-06
1008Brazil2026-10-08
1009Spain2026-10-12
1010Germany2026-10-09
1011Canada2026-10-07
1012Spain2026-10-19
1013Italy2026-10-28
1014India2026-10-15
1015Japan2026-10-08
1016United Kingdom2026-10-12
1017Brazil2026-10-28
1018Russia2026-10-06
1019Brazil2026-10-10
1020Japan2026-10-26
1021Italy2026-10-20
1022France2026-10-14
1023India2026-10-21
1024United Kingdom2026-10-27
1025Italy2026-10-10
1026Australia2026-10-26
1027Russia2026-10-26
1028Brazil2026-10-21
1029United Kingdom2026-10-31
1030Germany2026-10-19
1031United Kingdom2026-10-25
1032United Kingdom2026-10-05
1033Canada2026-11-01
1034Spain2026-10-20
1035Spain2026-10-11
1036Canada2026-10-22
1037India2026-10-12
1038Canada2026-10-14
1039Russia2026-10-31
1040Brazil2026-10-04
1041Germany2026-10-05
1042United Kingdom2026-10-28
1043Italy2026-10-13
1044United Kingdom2026-10-26
1045Australia2026-10-04
1046Italy2026-10-05
1047France2026-10-03
1048India2026-10-30
1049Argentina2026-10-17

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Kolmetz1000Germany2026-10-24
Deepesh M Briddick1001Japan2026-10-18
Murillo L Sergi1002Canada2026-10-13
Kadeem Q Royster1003Italy2026-10-31
Morrow E Perin1004Brazil2026-10-10
Silvio R Amigon1005Japan2026-10-19
David V Ruta1006Japan2026-11-01
Sinclair Y Figeroa1007Russia2026-10-30
Chavez T Foller1008Germany2026-10-27
Sinclair I Kolmetz1009Argentina2026-10-09
Jefferson N Morasca1010Argentina2026-10-24
Leon D Bolognia1011Canada2026-10-06
Mayumi O Glick1012Japan2026-10-07
Sinclair O Inouye1013United Kingdom2026-10-12
Kadeem Z Sergi1014India2026-10-16
Julie D Inouye1015India2026-10-04
Ashley B Whobrey1016Argentina2026-10-19
Stacey O Glick1017Japan2026-10-04
Jeanfrancois E Venere1018Russia2026-10-21
Izzy M Chui1019Argentina2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Q PoquetteArgentinaStephen Shaw PROPOSAL
Clifford B GillianAustraliaAmy Elsner NEGOTIATION
Alejandro T BowleyItalyIoni Bowcher QUALIFIED
Sinclair Z AlbaresUnited KingdomAmy Elsner RENEWAL
Isabel N StensethJapanAnna Fali RENEWAL
Jefferson I BowleyItalyXuxue Feng PROPOSAL
Deepesh O AlbaresItalyAsiya Javayant UNQUALIFIED
David R SlusarskiIndiaIoni Bowcher NEW
Aika H ChuiUnited KingdomIoni Bowcher NEGOTIATION
Darci M GillianSpainAnna Fali NEW
Deepesh R AlbaresGermanyElwin Sharvill QUALIFIED
Munro X CaldareraGermanyBernardo Dominic NEGOTIATION
Johnson U AmigonArgentinaAmy Elsner PROPOSAL
Octavia P ShinkoUnited KingdomOnyama Limba PROPOSAL
Mujtaba Z TollnerFranceIvan Magalhaes PROPOSAL
Kadeem I TollnerUnited KingdomBernardo Dominic PROPOSAL
Arvin L PaprockiBrazilXuxue Feng NEW
Kaitlin J KuskoAustraliaBernardo Dominic PROPOSAL
Alejandro D FigeroaBrazilAsiya Javayant RENEWAL
Greenwood E MaletSpainIoni Bowcher PROPOSAL
Kadeem V DarakjyFranceAmy Elsner NEGOTIATION
Johnson N SchemmerUnited KingdomAsiya Javayant RENEWAL
Izzy E DarakjySpainAnna Fali NEGOTIATION
Johnson P GlickSpainIvan Magalhaes NEGOTIATION
Smith M MorascaUnited KingdomAmy Elsner UNQUALIFIED
Isabel A KolmetzGermanyStephen Shaw NEGOTIATION
Adams G GauchoUnited KingdomIoni Bowcher NEGOTIATION
Ricardo O FerenczBrazilAnna Fali RENEWAL
Ricardo C ShinkoJapanAmy Elsner PROPOSAL
Aditya B PoquetteBrazilBernardo Dominic UNQUALIFIED
Izzy X SergiArgentinaOnyama Limba RENEWAL
Salvatore U OstroskyRussiaAnna Fali NEGOTIATION
Greenwood E CaldareraRussiaAmy Elsner UNQUALIFIED
Misaki X WieserAustraliaAnna Fali NEGOTIATION
James D RimIndiaIvan Magalhaes UNQUALIFIED
Munro Y DilliardUnited KingdomAnna Fali NEGOTIATION
Tony T FerenczArgentinaXuxue Feng NEW
Octavia A GarufiArgentinaStephen Shaw NEGOTIATION
Darci U NestleUnited KingdomXuxue Feng QUALIFIED
Antonio W GarufiItalyIvan Magalhaes 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>