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
Juan Q SlusarskiAustraliaAnna Fali UNQUALIFIED
Costa O SergiGermanyXuxue Feng UNQUALIFIED
Adams N DarakjyItalyAnna Fali NEGOTIATION
Wickens O GlickArgentinaIoni Bowcher NEW
Aruna N BologniaJapanAmy Elsner UNQUALIFIED
Leon V MorascaUnited KingdomXuxue Feng NEGOTIATION
Kaitlin Q MorascaFranceIoni Bowcher UNQUALIFIED
Emily C FerenczIndiaOnyama Limba QUALIFIED
Smith Z SaylorsBrazilBernardo Dominic QUALIFIED
Silvio C InouyeFranceBernardo Dominic UNQUALIFIED
Kaitlin K NickaSpainAsiya Javayant QUALIFIED
Morrow F NickaAustraliaXuxue Feng NEW
Jefferson M TollnerIndiaStephen Shaw QUALIFIED
Costa P PaprockiFranceStephen Shaw PROPOSAL
Tony Y FerenczAustraliaIoni Bowcher NEW
Maisha J DoeItalyAsiya Javayant QUALIFIED
Clifford C VenereGermanyIoni Bowcher NEGOTIATION
Salvatore I BowleyJapanStephen Shaw UNQUALIFIED
Jefferson Q FollerArgentinaIvan Magalhaes NEGOTIATION
Johnson V FerenczCanadaBernardo Dominic RENEWAL
Octavia F GlickCanadaAsiya Javayant NEW
Jeanfrancois U KuskoItalyXuxue Feng NEGOTIATION
Morrow K AlbaresAustraliaIvan Magalhaes PROPOSAL
Octavia X WaycottCanadaOnyama Limba NEGOTIATION
Salvatore C SergiIndiaAsiya Javayant QUALIFIED
Wickens T PaprockiArgentinaXuxue Feng RENEWAL
Isabel U TollnerIndiaIvan Magalhaes NEGOTIATION
Silvio D BriddickJapanStephen Shaw PROPOSAL
Emily F AlbaresGermanyOnyama Limba QUALIFIED
Ivar Z SergiJapanElwin Sharvill RENEWAL
Chavez L DoeGermanyAsiya Javayant PROPOSAL
Arvin S VocelkaArgentinaIvan Magalhaes RENEWAL
Aruna M TollnerAustraliaOnyama Limba QUALIFIED
James E StensethRussiaElwin Sharvill PROPOSAL
Isabel L TollnerBrazilOnyama Limba NEGOTIATION
Mujtaba G BriddickIndiaAmy Elsner NEGOTIATION
Mayumi K FerenczBrazilIoni Bowcher RENEWAL
Darci W PaprockiCanadaBernardo Dominic QUALIFIED
Alejandro N DoeBrazilOnyama Limba NEGOTIATION
Jones J StensethBrazilAnna Fali PROPOSAL
Ashley S CaldareraBrazilIoni Bowcher QUALIFIED
Murillo V ChuiSpainAnna Fali UNQUALIFIED
Smith F KolmetzSpainStephen Shaw NEW
Faith R GarufiAustraliaAsiya Javayant NEGOTIATION
Johnson F PerinFranceStephen Shaw NEGOTIATION
Greenwood G DilliardRussiaOnyama Limba QUALIFIED
Arvin X PaprockiGermanyBernardo Dominic QUALIFIED
Deepesh J DarakjySpainIoni Bowcher QUALIFIED
Salvatore D IturbideBrazilAmy Elsner RENEWAL
Kadeem T KuskoBrazilAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody U PoquetteRussiaAmy Elsner PROPOSAL
Deepesh Z MaletGermanyXuxue Feng NEW
Kaitlin T KolmetzIndiaOnyama Limba NEGOTIATION
David W WaycottArgentinaIvan Magalhaes QUALIFIED
Francesco Q MorascaArgentinaAmy Elsner NEW
Kaitlin A MorascaAustraliaOnyama Limba PROPOSAL
Silvio E DilliardRussiaStephen Shaw NEW
Jones O KolmetzBrazilBernardo Dominic UNQUALIFIED
Faith U AlbaresIndiaIvan Magalhaes NEGOTIATION
Smith M CaldareraJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba X WaycottIndia2026-09-28Rousseaux, Michael Esq QUALIFIED63Amy Elsner
1001Deepesh L SergiItaly2026-09-30King, Christopher A Esq UNQUALIFIED56Elwin Sharvill
1002Juan Q WaycottItaly2026-09-28Truhlar And Truhlar Attys NEW55Stephen Shaw
1003Chavez T KolmetzIndia2026-10-08Feiner Bros NEGOTIATION75Anna Fali
1004Mujtaba X DilliardBrazil2026-09-29Chemel, James L Cpa NEW21Ivan Magalhaes
1005Deepesh O MaletCanada2026-09-16Rangoni Of Florence PROPOSAL70Stephen Shaw
1006Alejandro V NickaItaly2026-09-21Chapman, Ross E Esq QUALIFIED58Asiya Javayant
1007Kadeem G KolmetzAustralia2026-09-16Benton, John B Jr RENEWAL67Elwin Sharvill
1008Wickens F IturbideFrance2026-10-07Feiner Bros RENEWAL11Elwin Sharvill
1009Murillo I MarrierCanada2026-09-25Buckley Miller Wright QUALIFIED91Asiya Javayant
1010Sinclair R MaletSpain2026-10-06Chanay, Jeffrey A Esq QUALIFIED33Anna Fali
1011Leja Q IturbideSpain2026-09-29Benton, John B Jr NEGOTIATION70Onyama Limba
1012Sinclair V AlbaresFrance2026-09-12Morlong Associates RENEWAL16Ivan Magalhaes
1013Adams W RimJapan2026-09-30Commercial Press RENEWAL92Asiya Javayant
1014Clifford A CaudyRussia2026-09-16Rangoni Of Florence NEW8Elwin Sharvill
1015Adams C CaudyBrazil2026-09-30Rangoni Of Florence NEW83Xuxue Feng
1016Leon C RimIndia2026-10-03Truhlar And Truhlar Attys NEGOTIATION9Xuxue Feng
1017Francesco M NickaRussia2026-09-22Rangoni Of Florence RENEWAL18Xuxue Feng
1018Johnson N NickaBrazil2026-10-07Printing Dimensions NEGOTIATION67Onyama Limba
1019Leja K NickaCanada2026-10-03Chemel, James L Cpa UNQUALIFIED15Elwin Sharvill
1020Wickens Y AlbaresSpain2026-10-09Buckley Miller Wright NEW64Asiya Javayant
1021Wickens G FollerArgentina2026-09-11Benton, John B Jr PROPOSAL49Ivan Magalhaes
1022Silvio D OldroydCanada2026-09-27Rangoni Of Florence QUALIFIED29Anna Fali
1023Stacey D MaletItaly2026-10-03Chemel, James L Cpa PROPOSAL39Xuxue Feng
1024Antonio A MorascaGermany2026-09-25Commercial Press NEGOTIATION76Asiya Javayant
1025Ivar F ShinkoUnited Kingdom2026-09-28Chanay, Jeffrey A Esq RENEWAL2Amy Elsner
1026Claire B GlickArgentina2026-09-16Dorl, James J Esq NEW39Ioni Bowcher
1027Ivar S RimRussia2026-09-25Chanay, Jeffrey A Esq PROPOSAL71Bernardo Dominic
1028Izzy T MacleadBrazil2026-09-19Rangoni Of Florence NEW80Anna Fali
1029Kadeem N GillianAustralia2026-09-21Dorl, James J Esq NEGOTIATION46Amy Elsner
1030Faith R WieserArgentina2026-09-21Chemel, James L Cpa QUALIFIED94Elwin Sharvill
1031Chavez P NickaIndia2026-09-25Feltz Printing Service QUALIFIED72Ivan Magalhaes
1032Greenwood E MarrierFrance2026-10-03Rousseaux, Michael Esq PROPOSAL22Ioni Bowcher
1033Sinclair P VocelkaArgentina2026-09-26Morlong Associates UNQUALIFIED9Bernardo Dominic
1034David J DilliardCanada2026-09-27Rousseaux, Michael Esq UNQUALIFIED25Bernardo Dominic
1035Mujtaba V RulapaughRussia2026-10-06Printing Dimensions UNQUALIFIED89Ivan Magalhaes
1036Smith P SchemmerItaly2026-10-04Benton, John B Jr QUALIFIED1Anna Fali
1037Mujtaba U KolmetzAustralia2026-09-17Benton, John B Jr NEGOTIATION50Asiya Javayant
1038Stacey D KuskoGermany2026-09-17Rousseaux, Michael Esq PROPOSAL31Bernardo Dominic
1039Ivar W KuskoItaly2026-09-14Rangoni Of Florence NEW93Elwin Sharvill
1040Aruna F BowleySpain2026-09-22Feiner Bros NEW49Ivan Magalhaes
1041Kadeem Q MarrierAustralia2026-10-02Dorl, James J Esq NEGOTIATION53Anna Fali
1042Francesco O BologniaCanada2026-10-06Buckley Miller Wright NEGOTIATION13Amy Elsner
1043Maria D BowleySpain2026-09-25Feiner Bros RENEWAL55Amy Elsner
1044Tony D GillianIndia2026-09-26Feltz Printing Service QUALIFIED11Xuxue Feng
1045Deepesh L PoquetteArgentina2026-10-03Commercial Press RENEWAL94Anna Fali
1046Jefferson R RimJapan2026-09-17Feltz Printing Service UNQUALIFIED13Ioni Bowcher
1047James V WaycottBrazil2026-10-03Printing Dimensions PROPOSAL37Xuxue Feng
1048Chavez Q GarufiBrazil2026-10-06Commercial Press PROPOSAL70Onyama Limba
1049Murillo X MorascaUnited Kingdom2026-10-08Morlong Associates QUALIFIED25Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki D StensethSpainAsiya Javayant NEGOTIATION
Sinclair X FlosiIndiaAsiya Javayant NEW
Sinclair U IturbideRussiaIoni Bowcher NEGOTIATION
Clifford Z SaylorsSpainBernardo Dominic UNQUALIFIED
Leja Q DarakjyUnited KingdomElwin Sharvill PROPOSAL
Ashley E WhobreyJapanOnyama Limba QUALIFIED
Adams G InouyeIndiaXuxue Feng UNQUALIFIED
Cody L RoysterAustraliaStephen Shaw NEGOTIATION
James O SergiSpainElwin Sharvill QUALIFIED
Ashley E KuskoItalyStephen Shaw UNQUALIFIED
Leon O VocelkaJapanStephen Shaw NEW
Kadeem H FlosiCanadaIoni Bowcher NEW
Maisha X RoysterRussiaElwin Sharvill RENEWAL
Aruna C DilliardArgentinaXuxue Feng PROPOSAL
James Q KuskoIndiaAnna Fali RENEWAL
Aditya A FollerIndiaAsiya Javayant QUALIFIED
Deepesh B DoeSpainElwin Sharvill NEGOTIATION
Mayumi D NestleCanadaIvan Magalhaes QUALIFIED
Isabel A FigeroaSpainBernardo Dominic PROPOSAL
Misaki T VocelkaSpainAnna Fali NEW
Faith F VenereFranceXuxue Feng NEW
Stacey I BriddickIndiaElwin Sharvill UNQUALIFIED
Morrow U FlosiFranceOnyama Limba QUALIFIED
Aditya M PaprockiCanadaIvan Magalhaes RENEWAL
Aruna A BologniaUnited KingdomAnna Fali NEGOTIATION
Ivar G OldroydGermanyXuxue Feng NEGOTIATION
Kadeem U GarufiFranceAsiya Javayant PROPOSAL
Jeanfrancois D SergiCanadaAmy Elsner NEW
Aditya L CampainIndiaXuxue Feng RENEWAL
Aruna O ChuiJapanIvan Magalhaes UNQUALIFIED
Francesco M CaldareraIndiaElwin Sharvill RENEWAL
Murillo Z BowleyIndiaElwin Sharvill UNQUALIFIED
Maisha M GarufiSpainAsiya Javayant NEGOTIATION
Jefferson F SchemmerAustraliaElwin Sharvill NEGOTIATION
Murillo C MorascaArgentinaOnyama Limba NEGOTIATION
Aika R FlosiArgentinaXuxue Feng QUALIFIED
Sinclair R SlusarskiItalyAnna Fali QUALIFIED
Faith Y FlosiSpainAsiya Javayant QUALIFIED
Emily U ChuiJapanBernardo Dominic PROPOSAL
Johnson Y SchemmerItalyXuxue Feng NEW
Antonio N GillianSpainStephen Shaw NEGOTIATION
Juan D StockhamGermanyAmy Elsner UNQUALIFIED
Jones K DoeCanadaIoni Bowcher RENEWAL
Kadeem P GarufiSpainBernardo Dominic PROPOSAL
Kadeem Y SlusarskiAustraliaBernardo Dominic PROPOSAL
Johnson B SergiAustraliaElwin Sharvill NEW
Adams J BriddickCanadaAmy Elsner NEGOTIATION
Munro M VocelkaRussiaAsiya Javayant NEGOTIATION
Aditya C DarakjyUnited KingdomAsiya Javayant PROPOSAL
Tony M MacleadSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Greenwood J Nicka
Izzy W Bowley
Leja X Malet
Murillo B Figeroa
James Z Ferencz
Leon E Flosi
Jennifer D Bowley
Faith Z Albares
Alejandro W Stenseth
Cody T Bolognia
Wickens V Malet
Isabel K Schemmer
Smith I Waycott
Munro K Darakjy
Darci L Shinko
Wickens E Waycott
Stacey Q Albares
Tony P Albares
Kaitlin E Oldroyd
Chavez T Maclead
Jefferson R Kusko
Adams Y Nestle
Leon A Perin
Isabel D Bolognia
Darci V Gaucho
Johnson I Iturbide
Costa F Bolognia
Ricardo A Whobrey
Cody M Gaucho
Johnson M Gillian
Julie E Dilliard
Izzy U Waycott
Aditya W Ruta
Ashley T Slusarski
Costa F Vocelka
Wickens O Nestle
Jefferson A Morasca
Ashley K Stockham
Kadeem A Butt
Cody F Nestle
Adams X Kolmetz
Jeanfrancois J Inouye
Mujtaba N Schemmer
Tony D Vocelka
Tony K Tollner
James X Nicka
Stacey J Waycott
Jennifer F Ruta
Wickens W Saylors
James K Campain
IdCountryDate
1000Brazil2026-10-10
1001Argentina2026-09-29
1002Brazil2026-09-11
1003Japan2026-09-17
1004Brazil2026-10-05
1005Argentina2026-10-09
1006Japan2026-09-15
1007Brazil2026-09-20
1008Australia2026-09-13
1009United Kingdom2026-09-29
1010India2026-09-20
1011India2026-10-09
1012Japan2026-10-04
1013Japan2026-10-08
1014Germany2026-09-14
1015Russia2026-10-02
1016Japan2026-09-25
1017Japan2026-10-04
1018Germany2026-09-23
1019Japan2026-10-10
1020Italy2026-09-11
1021Canada2026-09-25
1022Spain2026-10-08
1023Germany2026-09-12
1024France2026-09-27
1025India2026-09-24
1026Spain2026-09-20
1027Japan2026-09-15
1028Spain2026-09-23
1029Spain2026-10-07
1030Australia2026-10-01
1031Canada2026-09-11
1032Canada2026-09-25
1033Germany2026-09-17
1034Germany2026-09-22
1035Spain2026-09-21
1036India2026-09-14
1037Russia2026-09-30
1038France2026-09-14
1039Canada2026-10-07
1040Russia2026-09-20
1041Argentina2026-10-09
1042France2026-09-11
1043France2026-09-26
1044India2026-10-05
1045France2026-09-12
1046Brazil2026-09-14
1047Canada2026-09-21
1048Australia2026-09-12
1049Argentina2026-09-18

On-Demand Data

NameIdCountryDate
Aditya L Caudy1000Spain2026-09-16
Johnson S Shinko1001Australia2026-10-02
Antonio G Gaucho1002Germany2026-10-05
Deepesh U Kolmetz1003Australia2026-09-15
Kaitlin A Malet1004India2026-09-14
Costa U Albares1005Japan2026-10-02
Mujtaba Z Doe1006France2026-09-22
Jeanfrancois Q Campain1007France2026-09-15
Costa X Stockham1008Germany2026-09-23
Aika S Vocelka1009United Kingdom2026-09-28
Izzy U Marrier1010Argentina2026-10-06
Julie D Sergi1011Germany2026-09-23
Leja D Caldarera1012Australia2026-09-29
Morrow S Rulapaugh1013Australia2026-10-09
Kadeem Q Royster1014Argentina2026-09-26
Jones Y Caudy1015Russia2026-10-05
Aditya W Maclead1016Australia2026-09-11
Francesco H Darakjy1017France2026-09-25
Aditya Q Chui1018Italy2026-09-14
Leja J Ferencz1019Germany2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Y NickaCanadaBernardo Dominic QUALIFIED
Johnson H InouyeSpainAmy Elsner RENEWAL
James Z FollerUnited KingdomIvan Magalhaes PROPOSAL
Ricardo R FigeroaAustraliaElwin Sharvill NEGOTIATION
Misaki I DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson K DarakjyRussiaAsiya Javayant UNQUALIFIED
Mujtaba H NestleArgentinaBernardo Dominic RENEWAL
Ricardo V WieserSpainIvan Magalhaes QUALIFIED
Faith H ButtCanadaIvan Magalhaes RENEWAL
Aditya E StockhamFranceIvan Magalhaes RENEWAL
Juan B CaudySpainIvan Magalhaes QUALIFIED
Aruna B AlbaresBrazilAsiya Javayant QUALIFIED
Deepesh J DarakjyUnited KingdomIoni Bowcher NEW
Maria P FlosiGermanyBernardo Dominic NEW
Sinclair J TollnerSpainAmy Elsner UNQUALIFIED
Francesco H BriddickGermanyAsiya Javayant RENEWAL
Greenwood X VenereSpainBernardo Dominic UNQUALIFIED
Leon W SchemmerSpainXuxue Feng PROPOSAL
Tony X VocelkaGermanyElwin Sharvill QUALIFIED
Leja J KuskoRussiaBernardo Dominic PROPOSAL
Julie L WaycottJapanIoni Bowcher NEW
Costa B FigeroaUnited KingdomBernardo Dominic PROPOSAL
Salvatore Q CampainFranceAnna Fali RENEWAL
Alejandro Q VocelkaCanadaIoni Bowcher NEGOTIATION
James I FollerArgentinaOnyama Limba QUALIFIED
Alejandro F RutaArgentinaXuxue Feng RENEWAL
Darci A ShinkoArgentinaStephen Shaw UNQUALIFIED
Mujtaba M GillianRussiaXuxue Feng NEGOTIATION
Adams L ChuiSpainBernardo Dominic NEW
Chavez W DoeJapanBernardo Dominic RENEWAL
Silvio U MaletItalyElwin Sharvill NEW
Aika E WieserUnited KingdomAmy Elsner RENEWAL
Murillo U ShinkoArgentinaIvan Magalhaes PROPOSAL
Kaitlin J WhobreyFranceIvan Magalhaes QUALIFIED
Emily I VenereSpainAmy Elsner NEW
Chavez Z MorascaJapanBernardo Dominic UNQUALIFIED
Aruna T RutaSpainAnna Fali PROPOSAL
Mayumi S IturbideSpainBernardo Dominic UNQUALIFIED
Nicolas C InouyeRussiaOnyama Limba PROPOSAL
Adams X StensethArgentinaElwin Sharvill 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>