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
Emily D GillianIndiaAmy Elsner PROPOSAL
Maria S WhobreyCanadaBernardo Dominic NEW
Rodrigues K CaudyCanadaXuxue Feng PROPOSAL
Darci B OstroskyFranceAsiya Javayant PROPOSAL
Stacey F WieserIndiaElwin Sharvill PROPOSAL
Costa X OldroydUnited KingdomXuxue Feng QUALIFIED
Nicolas R PerinBrazilOnyama Limba UNQUALIFIED
Maisha O SergiRussiaStephen Shaw QUALIFIED
Chavez K PaprockiFranceBernardo Dominic RENEWAL
Wickens F SchemmerBrazilAnna Fali UNQUALIFIED
Ivar M NickaAustraliaIvan Magalhaes NEGOTIATION
Emily F FollerBrazilBernardo Dominic UNQUALIFIED
Cody K FigeroaJapanAmy Elsner UNQUALIFIED
Faith F FollerSpainAsiya Javayant RENEWAL
David I PerinJapanAsiya Javayant QUALIFIED
Jennifer F AlbaresGermanyAsiya Javayant NEGOTIATION
Leja C AlbaresAustraliaAmy Elsner NEW
Chavez X OstroskyCanadaAsiya Javayant PROPOSAL
Leon V KuskoRussiaOnyama Limba UNQUALIFIED
Costa Q RulapaughAustraliaElwin Sharvill PROPOSAL
Smith W GillianSpainElwin Sharvill QUALIFIED
Aruna H VocelkaGermanyAsiya Javayant NEW
Ricardo K FigeroaArgentinaAsiya Javayant UNQUALIFIED
Maria R BriddickSpainBernardo Dominic RENEWAL
Ashley M ShinkoFranceStephen Shaw UNQUALIFIED
Cody N BowleyGermanyStephen Shaw QUALIFIED
Nicolas U KolmetzRussiaElwin Sharvill PROPOSAL
David Y DarakjyJapanBernardo Dominic UNQUALIFIED
Jennifer M WhobreyJapanBernardo Dominic UNQUALIFIED
Greenwood S SlusarskiIndiaIoni Bowcher PROPOSAL
Aditya T NickaRussiaAnna Fali RENEWAL
Aika M AmigonCanadaStephen Shaw PROPOSAL
Aruna A SlusarskiRussiaXuxue Feng PROPOSAL
Darci B StockhamBrazilXuxue Feng QUALIFIED
Claire F MacleadAustraliaAnna Fali NEW
James O MacleadRussiaXuxue Feng QUALIFIED
James L PerinIndiaAnna Fali UNQUALIFIED
Ivar Q AmigonItalyAsiya Javayant NEW
Murillo B CampainUnited KingdomOnyama Limba NEW
Ivar P CaldareraItalyAnna Fali NEW
Alejandro C MacleadJapanOnyama Limba RENEWAL
Darci I MaletBrazilElwin Sharvill NEGOTIATION
Maisha F MorascaRussiaElwin Sharvill UNQUALIFIED
Ashley M BowleyAustraliaStephen Shaw NEGOTIATION
Tony X BriddickCanadaAmy Elsner QUALIFIED
Deepesh I SaylorsUnited KingdomAmy Elsner RENEWAL
Greenwood Q GauchoSpainStephen Shaw RENEWAL
Deepesh A CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Aditya G RutaJapanOnyama Limba UNQUALIFIED
Sinclair A BowleyIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith L NickaItalyAnna Fali PROPOSAL
Maria E VocelkaSpainIoni Bowcher UNQUALIFIED
Mayumi Y OldroydRussiaXuxue Feng NEGOTIATION
Arvin M InouyeCanadaElwin Sharvill PROPOSAL
Clifford Q TollnerFranceOnyama Limba NEGOTIATION
Nicolas F SaylorsArgentinaAnna Fali NEGOTIATION
Chavez R MaletJapanElwin Sharvill NEW
Octavia Y PoquetteBrazilXuxue Feng QUALIFIED
James Z KuskoRussiaAnna Fali UNQUALIFIED
Tony E PaprockiBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco I SaylorsIndia2026-10-13Chapman, Ross E Esq NEW0Bernardo Dominic
1001Misaki H ShinkoItaly2026-10-21Chanay, Jeffrey A Esq QUALIFIED60Onyama Limba
1002Deepesh N RoysterIndia2026-10-22Dorl, James J Esq PROPOSAL24Ioni Bowcher
1003David R BowleyFrance2026-10-12Chanay, Jeffrey A Esq NEGOTIATION24Amy Elsner
1004David M DoeRussia2026-10-21Feltz Printing Service UNQUALIFIED26Amy Elsner
1005Adams R MacleadItaly2026-10-12Printing Dimensions NEW57Amy Elsner
1006Emily C FigeroaFrance2026-10-06Dorl, James J Esq NEGOTIATION17Xuxue Feng
1007James S PerinSpain2026-10-13Chapman, Ross E Esq NEGOTIATION15Anna Fali
1008Jefferson P FollerRussia2026-10-25Chanay, Jeffrey A Esq PROPOSAL30Stephen Shaw
1009Jefferson V DoeJapan2026-10-06Dorl, James J Esq RENEWAL90Asiya Javayant
1010Adams C GauchoJapan2026-10-15Rangoni Of Florence NEGOTIATION88Asiya Javayant
1011Clifford Z RoysterSpain2026-10-25Chanay, Jeffrey A Esq NEW13Anna Fali
1012Mayumi L SchemmerGermany2026-10-25Chanay, Jeffrey A Esq UNQUALIFIED84Amy Elsner
1013Morrow S MorascaRussia2026-10-20Morlong Associates UNQUALIFIED54Amy Elsner
1014Murillo H WhobreyCanada2026-10-18Benton, John B Jr RENEWAL31Elwin Sharvill
1015Munro J CaldareraCanada2026-10-23Morlong Associates PROPOSAL17Elwin Sharvill
1016Johnson W SergiFrance2026-10-12Truhlar And Truhlar Attys RENEWAL61Elwin Sharvill
1017Arvin T WhobreyCanada2026-10-21Morlong Associates NEGOTIATION14Bernardo Dominic
1018Antonio X DarakjyUnited Kingdom2026-10-09Chapman, Ross E Esq UNQUALIFIED48Anna Fali
1019Jefferson S OldroydAustralia2026-10-12Buckley Miller Wright QUALIFIED58Xuxue Feng
1020Antonio E DilliardFrance2026-10-31Rousseaux, Michael Esq QUALIFIED38Anna Fali
1021Nicolas U CaudyAustralia2026-10-06Chanay, Jeffrey A Esq QUALIFIED4Xuxue Feng
1022Arvin O IturbideSpain2026-10-23Benton, John B Jr UNQUALIFIED29Elwin Sharvill
1023Deepesh Y CaldareraGermany2026-10-06Rangoni Of Florence NEGOTIATION27Amy Elsner
1024Leja O WhobreySpain2026-10-13Truhlar And Truhlar Attys NEW88Asiya Javayant
1025Rodrigues Q PerinRussia2026-10-18Rousseaux, Michael Esq NEW74Bernardo Dominic
1026Tony W GauchoAustralia2026-10-23Printing Dimensions UNQUALIFIED65Asiya Javayant
1027Murillo N MarrierIndia2026-10-03Truhlar And Truhlar Attys PROPOSAL66Amy Elsner
1028Faith E StensethUnited Kingdom2026-10-30Buckley Miller Wright QUALIFIED43Anna Fali
1029Munro J WaycottFrance2026-10-12Printing Dimensions NEGOTIATION47Ioni Bowcher
1030Maisha C CampainAustralia2026-10-08Truhlar And Truhlar Attys QUALIFIED31Ivan Magalhaes
1031Emily H DarakjyBrazil2026-10-07Benton, John B Jr NEW63Elwin Sharvill
1032Mayumi H DarakjyIndia2026-10-30Morlong Associates NEGOTIATION76Ivan Magalhaes
1033Munro M ShinkoIndia2026-10-25Feltz Printing Service NEW83Bernardo Dominic
1034Chavez W MorascaFrance2026-10-30Chemel, James L Cpa PROPOSAL10Ivan Magalhaes
1035Ivar H KuskoAustralia2026-10-22Feiner Bros UNQUALIFIED38Ioni Bowcher
1036Aruna J CampainArgentina2026-10-13Benton, John B Jr NEW5Ivan Magalhaes
1037Morrow K NestleIndia2026-10-25Rangoni Of Florence QUALIFIED28Xuxue Feng
1038Ivar H NestleFrance2026-10-27Chanay, Jeffrey A Esq RENEWAL47Ivan Magalhaes
1039Leja V GillianRussia2026-10-12Truhlar And Truhlar Attys NEW54Asiya Javayant
1040Claire M PerinItaly2026-10-17Printing Dimensions NEGOTIATION61Xuxue Feng
1041Chavez Y PaprockiRussia2026-10-24Rousseaux, Michael Esq PROPOSAL48Ivan Magalhaes
1042Cody I BowleyAustralia2026-10-03Commercial Press QUALIFIED85Ioni Bowcher
1043Maisha C IturbideItaly2026-10-08Rousseaux, Michael Esq NEW75Stephen Shaw
1044Ricardo P BriddickBrazil2026-10-06Printing Dimensions NEGOTIATION37Onyama Limba
1045Aruna K AmigonItaly2026-10-24Truhlar And Truhlar Attys RENEWAL16Amy Elsner
1046Deepesh W ButtIndia2026-10-06Chapman, Ross E Esq RENEWAL56Bernardo Dominic
1047Costa L BowleySpain2026-11-01Rangoni Of Florence NEGOTIATION38Xuxue Feng
1048Greenwood H WieserBrazil2026-10-31Chemel, James L Cpa QUALIFIED84Ivan Magalhaes
1049Claire N MacleadBrazil2026-10-21Printing Dimensions QUALIFIED52Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois K FollerUnited KingdomXuxue Feng RENEWAL
Octavia H RulapaughJapanAmy Elsner RENEWAL
Antonio C BowleyIndiaAnna Fali UNQUALIFIED
Salvatore D NickaItalyAnna Fali NEGOTIATION
Cody P FlosiJapanBernardo Dominic NEW
Francesco J StensethAustraliaIvan Magalhaes PROPOSAL
Claire L ShinkoRussiaElwin Sharvill RENEWAL
Salvatore Q FollerCanadaBernardo Dominic PROPOSAL
Munro H MacleadFranceIoni Bowcher NEGOTIATION
Aditya L ButtGermanyAmy Elsner QUALIFIED
Ricardo W ChuiRussiaIvan Magalhaes QUALIFIED
Emily J SergiRussiaAmy Elsner UNQUALIFIED
Sinclair Z RoysterGermanyIoni Bowcher NEGOTIATION
Cody G RoysterRussiaOnyama Limba NEGOTIATION
Johnson Z MarrierIndiaStephen Shaw NEGOTIATION
Octavia B DilliardJapanStephen Shaw PROPOSAL
Jefferson K ChuiBrazilBernardo Dominic UNQUALIFIED
Leja L MorascaSpainXuxue Feng NEW
Izzy P FlosiFranceOnyama Limba NEW
Rodrigues A BologniaCanadaIoni Bowcher UNQUALIFIED
Costa S FlosiGermanyIvan Magalhaes QUALIFIED
Izzy G MacleadRussiaAmy Elsner RENEWAL
Rodrigues R IturbideBrazilStephen Shaw NEW
Cody T WieserGermanyIoni Bowcher RENEWAL
Emily K FlosiArgentinaOnyama Limba QUALIFIED
Silvio A PoquetteArgentinaStephen Shaw NEW
Alejandro U WaycottFranceBernardo Dominic NEGOTIATION
Faith Q TollnerCanadaBernardo Dominic QUALIFIED
Maisha X FlosiBrazilElwin Sharvill PROPOSAL
Cody G PoquetteIndiaAnna Fali NEW
Johnson T StockhamSpainAmy Elsner PROPOSAL
Claire O SlusarskiGermanyStephen Shaw RENEWAL
Chavez U AmigonBrazilBernardo Dominic UNQUALIFIED
Mayumi W OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Maisha D StensethRussiaAmy Elsner RENEWAL
Sinclair E FollerFranceAmy Elsner UNQUALIFIED
Jennifer L RutaIndiaXuxue Feng PROPOSAL
Jefferson Y TollnerJapanElwin Sharvill PROPOSAL
Silvio Q SaylorsCanadaIvan Magalhaes NEGOTIATION
Jennifer H SchemmerUnited KingdomBernardo Dominic NEW
Arvin H BriddickCanadaBernardo Dominic NEW
Isabel W KolmetzIndiaAsiya Javayant UNQUALIFIED
Chavez Z AmigonSpainAsiya Javayant NEW
Misaki M FigeroaCanadaXuxue Feng QUALIFIED
Ricardo F PaprockiItalyOnyama Limba NEW
Jeanfrancois T RimIndiaIvan Magalhaes QUALIFIED
Munro O ShinkoCanadaIvan Magalhaes QUALIFIED
Smith Z CaldareraItalyAnna Fali RENEWAL
Jones Z FlosiIndiaOnyama Limba QUALIFIED
Tony Z GlickBrazilAnna Fali PROPOSAL
Frozen Columns
Name
James F Kusko
Silvio O Sergi
Maisha J Tollner
Sinclair F Schemmer
Jefferson M Kusko
Izzy I Maclead
Aika A Kolmetz
Maisha U Campain
Antonio Q Shinko
Aditya X Darakjy
Octavia F Stockham
Tony R Schemmer
James K Gaucho
Chavez L Maclead
Juan H Caudy
Maisha X Campain
Arvin L Rulapaugh
Wickens Y Ferencz
Mayumi Z Tollner
Sinclair W Iturbide
Maisha W Oldroyd
Leja G Morasca
Darci R Maclead
Izzy W Figeroa
Misaki B Gaucho
Arvin F Slusarski
Stacey K Flosi
Aika R Morasca
Alejandro C Morasca
Francesco K Whobrey
Smith W Stenseth
David J Caudy
Izzy F Inouye
Isabel J Oldroyd
Octavia E Whobrey
Alejandro F Morasca
James J Paprocki
Clifford G Perin
Stacey H Paprocki
Claire Z Maclead
Faith Q Ostrosky
Sinclair R Wieser
Darci D Dilliard
Smith S Inouye
Adams R Gaucho
Faith Z Tollner
Darci O Malet
Mujtaba K Maclead
Ivar G Gillian
Smith I Butt
IdCountryDate
1000Italy2026-10-24
1001Japan2026-10-06
1002Germany2026-10-06
1003Germany2026-10-19
1004Argentina2026-10-31
1005Argentina2026-10-24
1006Germany2026-10-23
1007India2026-10-18
1008India2026-10-20
1009Argentina2026-10-08
1010India2026-10-22
1011Russia2026-10-04
1012France2026-10-22
1013Spain2026-10-09
1014Russia2026-10-12
1015India2026-10-09
1016Argentina2026-10-29
1017France2026-10-06
1018Japan2026-10-03
1019Brazil2026-10-14
1020India2026-10-12
1021Canada2026-10-10
1022Argentina2026-10-16
1023India2026-10-22
1024Russia2026-10-04
1025Italy2026-10-10
1026Brazil2026-10-18
1027India2026-10-25
1028Canada2026-10-12
1029Russia2026-10-27
1030Spain2026-10-23
1031Germany2026-10-21
1032Argentina2026-10-26
1033Japan2026-10-13
1034France2026-10-03
1035Russia2026-10-04
1036France2026-10-21
1037Canada2026-10-22
1038Australia2026-10-09
1039India2026-10-04
1040Italy2026-10-22
1041Argentina2026-10-17
1042Australia2026-10-22
1043Russia2026-10-10
1044Australia2026-10-07
1045United Kingdom2026-10-04
1046Russia2026-10-13
1047Argentina2026-10-28
1048Japan2026-10-14
1049Japan2026-10-05

On-Demand Data

NameIdCountryDate
Ricardo M Paprocki1000Spain2026-10-09
Emily J Tollner1001Spain2026-10-13
Aika A Saylors1002Spain2026-10-23
Mayumi T Figeroa1003Japan2026-10-10
David Q Briddick1004France2026-10-26
Kadeem Q Malet1005Germany2026-10-21
Darci O Venere1006Germany2026-10-13
Rodrigues U Nestle1007Australia2026-10-30
Misaki T Whobrey1008Russia2026-10-14
Munro C Nicka1009France2026-10-31
Deepesh X Iturbide1010Spain2026-10-15
Clifford R Ferencz1011Spain2026-10-28
Stacey G Chui1012Japan2026-10-11
Isabel V Dilliard1013Germany2026-10-31
Leja J Gaucho1014France2026-10-12
Jones I Doe1015Japan2026-10-13
Antonio L Venere1016Canada2026-10-27
Emily Q Maclead1017France2026-10-10
Johnson N Nicka1018India2026-10-25
Jones R Chui1019Japan2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie O DarakjyFranceBernardo Dominic NEGOTIATION
Jennifer R FigeroaRussiaAmy Elsner QUALIFIED
Wickens I PerinItalyIvan Magalhaes NEGOTIATION
Nicolas S GillianItalyIvan Magalhaes RENEWAL
Aruna V BologniaCanadaIvan Magalhaes QUALIFIED
Cody D DoeUnited KingdomElwin Sharvill QUALIFIED
Johnson U FollerBrazilOnyama Limba PROPOSAL
Chavez A MaletItalyAnna Fali PROPOSAL
Kadeem S BriddickAustraliaAnna Fali PROPOSAL
Mayumi N WhobreyFranceAmy Elsner NEGOTIATION
Jones R DoeSpainElwin Sharvill PROPOSAL
Jeanfrancois H VocelkaUnited KingdomOnyama Limba NEW
Johnson G MarrierRussiaIvan Magalhaes RENEWAL
Misaki C MacleadIndiaOnyama Limba QUALIFIED
Nicolas P FigeroaBrazilStephen Shaw PROPOSAL
Wickens E TollnerIndiaAnna Fali UNQUALIFIED
Aruna T CampainItalyAnna Fali UNQUALIFIED
David T DilliardBrazilAsiya Javayant QUALIFIED
Sinclair U MarrierIndiaAmy Elsner RENEWAL
Adams P IturbideCanadaStephen Shaw RENEWAL
Sinclair F RutaGermanyAsiya Javayant RENEWAL
Arvin Y CampainFranceAnna Fali NEGOTIATION
Sinclair L SaylorsItalyStephen Shaw NEW
Adams G DoeCanadaOnyama Limba QUALIFIED
Claire I SlusarskiItalyAmy Elsner RENEWAL
Aditya Y OstroskyBrazilOnyama Limba UNQUALIFIED
Adams E DoeArgentinaAsiya Javayant NEW
Aruna L KolmetzFranceStephen Shaw PROPOSAL
Kaitlin N OstroskyRussiaIvan Magalhaes QUALIFIED
Jones M ShinkoUnited KingdomAmy Elsner QUALIFIED
Kadeem E RoysterFranceBernardo Dominic NEW
Cody F VenereFranceAnna Fali NEGOTIATION
Emily Y DarakjyCanadaBernardo Dominic NEW
Jefferson Q MaletAustraliaElwin Sharvill NEW
Tony W OldroydIndiaIoni Bowcher RENEWAL
Murillo C PerinItalyXuxue Feng UNQUALIFIED
Maria E SlusarskiSpainStephen Shaw NEGOTIATION
Chavez I CampainGermanyIvan Magalhaes NEGOTIATION
Juan S MorascaGermanyXuxue Feng RENEWAL
Costa P FlosiAustraliaStephen Shaw 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>