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
Aruna H CaudyBrazilIoni Bowcher NEGOTIATION
Chavez C KolmetzAustraliaBernardo Dominic NEGOTIATION
Julie E WaycottItalyIoni Bowcher PROPOSAL
Silvio S PerinGermanyOnyama Limba QUALIFIED
Misaki B RimGermanyAsiya Javayant NEGOTIATION
Leon E SaylorsRussiaAsiya Javayant UNQUALIFIED
Alejandro B StensethCanadaAnna Fali RENEWAL
Sinclair I GlickItalyIoni Bowcher UNQUALIFIED
Jefferson I GlickAustraliaIvan Magalhaes NEW
Leja N BriddickItalyAsiya Javayant UNQUALIFIED
Adams M MarrierGermanyBernardo Dominic PROPOSAL
Antonio T GauchoJapanOnyama Limba PROPOSAL
Izzy W RulapaughItalyBernardo Dominic NEGOTIATION
Darci Z RutaCanadaAmy Elsner UNQUALIFIED
Octavia Y SlusarskiJapanAmy Elsner NEW
Ivar M DarakjyFranceXuxue Feng UNQUALIFIED
Misaki Q MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer N RimSpainOnyama Limba PROPOSAL
Faith D FerenczIndiaIvan Magalhaes QUALIFIED
Rodrigues L PoquetteFranceOnyama Limba RENEWAL
Maria O BowleyFranceAsiya Javayant PROPOSAL
Octavia A TollnerUnited KingdomIvan Magalhaes QUALIFIED
Kadeem L GillianJapanOnyama Limba NEGOTIATION
Smith J CaudyGermanyAnna Fali NEGOTIATION
Ashley N MorascaIndiaAmy Elsner NEGOTIATION
Maisha O MorascaRussiaElwin Sharvill NEGOTIATION
Stacey Y RutaSpainStephen Shaw PROPOSAL
Stacey H GauchoFranceAmy Elsner RENEWAL
Emily Z IturbideArgentinaXuxue Feng RENEWAL
Isabel W SergiSpainOnyama Limba PROPOSAL
Morrow H WaycottRussiaIvan Magalhaes UNQUALIFIED
Silvio C BologniaItalyIoni Bowcher UNQUALIFIED
Mayumi I VocelkaCanadaAnna Fali UNQUALIFIED
Aruna F CaudyJapanOnyama Limba NEGOTIATION
Ricardo U StockhamCanadaXuxue Feng NEGOTIATION
Nicolas G CampainArgentinaStephen Shaw RENEWAL
Juan L WaycottJapanStephen Shaw PROPOSAL
Jeanfrancois P RoysterSpainAsiya Javayant NEW
Murillo T DarakjyIndiaIoni Bowcher NEW
Wickens I MacleadFranceAmy Elsner UNQUALIFIED
Salvatore Y GarufiItalyAmy Elsner QUALIFIED
James R InouyeJapanStephen Shaw NEW
Nicolas S ChuiUnited KingdomAnna Fali PROPOSAL
Darci J SaylorsFranceElwin Sharvill RENEWAL
Clifford X MaletRussiaAnna Fali UNQUALIFIED
Jefferson P OldroydIndiaBernardo Dominic UNQUALIFIED
David G DarakjyCanadaXuxue Feng NEW
Cody I PaprockiUnited KingdomAnna Fali NEGOTIATION
Jones K MaletSpainAnna Fali NEW
Alejandro L BowleyItalyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore N FigeroaRussiaXuxue Feng UNQUALIFIED
Alejandro C IturbideIndiaElwin Sharvill NEW
Stacey O SaylorsGermanyOnyama Limba UNQUALIFIED
Tony N GauchoArgentinaAmy Elsner PROPOSAL
Greenwood R OstroskyArgentinaAnna Fali PROPOSAL
Morrow N FerenczSpainAmy Elsner RENEWAL
Ivar Y MaletItalyIvan Magalhaes PROPOSAL
Munro T OstroskyJapanAnna Fali UNQUALIFIED
David M DoeUnited KingdomIoni Bowcher RENEWAL
Jennifer W DarakjyFranceBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair S FerenczFrance2026-09-01Buckley Miller Wright RENEWAL9Elwin Sharvill
1001Isabel Z MorascaAustralia2026-09-10Feiner Bros QUALIFIED47Anna Fali
1002Aditya N KuskoArgentina2026-09-18Chanay, Jeffrey A Esq QUALIFIED72Stephen Shaw
1003Jones B StockhamGermany2026-09-06Rangoni Of Florence UNQUALIFIED29Stephen Shaw
1004Ashley N WhobreyArgentina2026-09-02Truhlar And Truhlar Attys QUALIFIED84Onyama Limba
1005Adams G NickaIndia2026-09-20Feltz Printing Service QUALIFIED1Ivan Magalhaes
1006Smith D OldroydSpain2026-09-07King, Christopher A Esq RENEWAL67Stephen Shaw
1007James X KolmetzArgentina2026-09-02Feltz Printing Service PROPOSAL15Bernardo Dominic
1008Kadeem L GarufiBrazil2026-09-15Feiner Bros NEGOTIATION33Ioni Bowcher
1009Nicolas W CampainCanada2026-08-31Feltz Printing Service PROPOSAL36Xuxue Feng
1010Maria S SaylorsUnited Kingdom2026-09-19Chanay, Jeffrey A Esq QUALIFIED53Stephen Shaw
1011Octavia Y OstroskyRussia2026-09-17Printing Dimensions NEGOTIATION93Anna Fali
1012Jennifer T VocelkaFrance2026-09-05Rangoni Of Florence UNQUALIFIED1Elwin Sharvill
1013Jennifer L InouyeSpain2026-09-15Truhlar And Truhlar Attys RENEWAL60Ivan Magalhaes
1014Jennifer E AmigonCanada2026-09-26Chapman, Ross E Esq NEGOTIATION28Amy Elsner
1015Clifford O AmigonGermany2026-09-07Morlong Associates NEW83Ioni Bowcher
1016Greenwood D KolmetzJapan2026-09-13Printing Dimensions NEGOTIATION32Ioni Bowcher
1017Munro C StensethArgentina2026-09-01Feltz Printing Service QUALIFIED89Ioni Bowcher
1018Claire X TollnerJapan2026-09-17Morlong Associates PROPOSAL10Elwin Sharvill
1019Aika X RimFrance2026-09-18Chemel, James L Cpa NEGOTIATION39Asiya Javayant
1020Kadeem M GlickJapan2026-09-27Chapman, Ross E Esq UNQUALIFIED58Onyama Limba
1021Aruna E WhobreyAustralia2026-09-10Feltz Printing Service PROPOSAL2Onyama Limba
1022Emily Y RoysterItaly2026-09-16Chanay, Jeffrey A Esq PROPOSAL90Amy Elsner
1023Faith A NestleAustralia2026-09-24Feltz Printing Service NEW15Xuxue Feng
1024Johnson W CaldareraRussia2026-08-29Feiner Bros UNQUALIFIED25Anna Fali
1025Silvio J KolmetzAustralia2026-09-10Buckley Miller Wright NEGOTIATION54Elwin Sharvill
1026Kaitlin C KuskoBrazil2026-09-21Feltz Printing Service NEW28Elwin Sharvill
1027Smith R MacleadRussia2026-09-22Chapman, Ross E Esq QUALIFIED80Ioni Bowcher
1028Murillo P StensethRussia2026-09-19Benton, John B Jr UNQUALIFIED55Asiya Javayant
1029Salvatore P SaylorsUnited Kingdom2026-08-29Morlong Associates NEGOTIATION11Amy Elsner
1030Ivar C RutaRussia2026-09-20Feltz Printing Service PROPOSAL0Anna Fali
1031Cody K PoquetteCanada2026-09-18King, Christopher A Esq UNQUALIFIED74Amy Elsner
1032Aditya J CaudyGermany2026-09-03Buckley Miller Wright PROPOSAL42Bernardo Dominic
1033Munro X RutaSpain2026-09-20Rousseaux, Michael Esq PROPOSAL95Stephen Shaw
1034David F FollerUnited Kingdom2026-09-22Dorl, James J Esq NEW59Ivan Magalhaes
1035Adams T SergiJapan2026-09-13Feiner Bros RENEWAL64Bernardo Dominic
1036Isabel Y VenereBrazil2026-08-29Feltz Printing Service QUALIFIED74Amy Elsner
1037Aika Q ShinkoUnited Kingdom2026-09-14Benton, John B Jr NEW37Anna Fali
1038Alejandro G PerinAustralia2026-09-01King, Christopher A Esq UNQUALIFIED57Bernardo Dominic
1039Tony G FollerUnited Kingdom2026-09-10King, Christopher A Esq PROPOSAL48Amy Elsner
1040Ivar M CampainFrance2026-09-16Buckley Miller Wright NEW46Anna Fali
1041Clifford Q SchemmerJapan2026-09-04Commercial Press RENEWAL59Xuxue Feng
1042Izzy L DarakjySpain2026-09-02Dorl, James J Esq QUALIFIED19Ivan Magalhaes
1043Ricardo Q RimFrance2026-09-21Morlong Associates RENEWAL74Anna Fali
1044Salvatore J SergiCanada2026-09-02Printing Dimensions NEGOTIATION99Bernardo Dominic
1045Clifford O PoquetteFrance2026-09-09Feltz Printing Service PROPOSAL9Bernardo Dominic
1046Murillo L GillianUnited Kingdom2026-09-22Chanay, Jeffrey A Esq NEW32Stephen Shaw
1047Jones J RutaFrance2026-09-09Chapman, Ross E Esq RENEWAL14Elwin Sharvill
1048Murillo R VenereRussia2026-09-07Printing Dimensions NEGOTIATION47Ioni Bowcher
1049Jennifer H RulapaughRussia2026-09-01King, Christopher A Esq QUALIFIED26Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James Q SchemmerJapanStephen Shaw NEW
Wickens M SaylorsBrazilAsiya Javayant UNQUALIFIED
Julie H StockhamIndiaAnna Fali NEGOTIATION
Rodrigues F TollnerBrazilBernardo Dominic PROPOSAL
Faith B SchemmerBrazilElwin Sharvill NEW
Silvio X TollnerItalyElwin Sharvill RENEWAL
Greenwood J AlbaresCanadaIoni Bowcher UNQUALIFIED
Claire B NestleItalyAnna Fali RENEWAL
Julie A BriddickUnited KingdomXuxue Feng RENEWAL
Jefferson S DoeFranceIvan Magalhaes PROPOSAL
Stacey L WieserSpainIoni Bowcher UNQUALIFIED
Juan W ShinkoIndiaOnyama Limba NEGOTIATION
Aditya X BowleyBrazilBernardo Dominic UNQUALIFIED
Mayumi L KuskoJapanIoni Bowcher PROPOSAL
Aruna V GlickJapanOnyama Limba NEW
Morrow I GlickCanadaIoni Bowcher NEW
Wickens I DarakjyBrazilBernardo Dominic NEW
Smith J GlickRussiaIoni Bowcher RENEWAL
Emily D IturbideJapanIoni Bowcher RENEWAL
Francesco D CampainArgentinaIoni Bowcher UNQUALIFIED
Johnson K DoeIndiaOnyama Limba NEGOTIATION
Faith U VenereBrazilIoni Bowcher RENEWAL
Tony T RoysterFranceElwin Sharvill PROPOSAL
Nicolas B GillianGermanyIvan Magalhaes UNQUALIFIED
Octavia G WhobreyUnited KingdomAmy Elsner QUALIFIED
Deepesh X PerinUnited KingdomOnyama Limba QUALIFIED
Clifford W KuskoCanadaAmy Elsner UNQUALIFIED
Julie T CampainJapanOnyama Limba NEW
Costa U SchemmerGermanyElwin Sharvill PROPOSAL
Silvio R SchemmerBrazilOnyama Limba QUALIFIED
Octavia R SchemmerItalyBernardo Dominic NEW
Arvin U CaudyGermanyXuxue Feng NEGOTIATION
Adams K GillianIndiaElwin Sharvill NEW
Juan N VocelkaCanadaXuxue Feng NEGOTIATION
Izzy V IturbideGermanyXuxue Feng NEW
Mayumi Z StensethArgentinaBernardo Dominic QUALIFIED
Ashley S CampainCanadaIvan Magalhaes NEGOTIATION
Jefferson I DarakjyCanadaStephen Shaw RENEWAL
Jefferson M DoeCanadaBernardo Dominic QUALIFIED
Francesco K DarakjySpainBernardo Dominic NEGOTIATION
Smith H StensethSpainAnna Fali PROPOSAL
Johnson S NestleItalyAsiya Javayant NEW
Clifford Y FerenczCanadaElwin Sharvill NEGOTIATION
Leja Y InouyeGermanyOnyama Limba NEW
Adams H InouyeJapanStephen Shaw UNQUALIFIED
Stacey T GlickItalyAmy Elsner RENEWAL
Aditya E FerenczSpainOnyama Limba NEW
James C SlusarskiSpainAmy Elsner RENEWAL
Sinclair H RoysterItalyOnyama Limba RENEWAL
Leja P StensethArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Kadeem R Dilliard
Salvatore S Malet
Deepesh E Butt
Greenwood S Marrier
Mayumi Y Butt
Maisha U Bolognia
Wickens G Morasca
Stacey Q Foller
Kadeem V Stenseth
Mayumi Y Nicka
Octavia E Amigon
Nicolas P Foller
Silvio I Waycott
Sinclair R Figeroa
Kaitlin E Morasca
Johnson V Bolognia
Antonio V Morasca
Maria C Slusarski
Wickens W Darakjy
Aditya F Nestle
Misaki P Garufi
Rodrigues Y Darakjy
Clifford L Foller
Stacey V Caldarera
Sinclair O Bolognia
Julie K Doe
Clifford U Stenseth
Rodrigues Q Caudy
Kaitlin O Stenseth
Costa Z Bolognia
David A Venere
Ricardo K Paprocki
Antonio K Sergi
Claire E Flosi
Morrow T Garufi
Misaki D Oldroyd
Juan S Vocelka
Smith T Darakjy
Emily N Bolognia
Greenwood B Shinko
Murillo S Nestle
Nicolas Q Wieser
Julie T Caldarera
Chavez J Gillian
Jennifer B Figeroa
Jeanfrancois L Perin
James E Venere
James C Whobrey
Jennifer F Whobrey
Leja Y Stenseth
IdCountryDate
1000Brazil2026-09-13
1001Australia2026-09-20
1002Spain2026-09-19
1003United Kingdom2026-08-31
1004India2026-09-05
1005Argentina2026-09-26
1006France2026-09-06
1007Italy2026-09-19
1008France2026-09-23
1009Argentina2026-09-11
1010Germany2026-09-23
1011Germany2026-09-26
1012Canada2026-09-23
1013Italy2026-09-10
1014Italy2026-09-18
1015Spain2026-08-30
1016Germany2026-09-02
1017Russia2026-09-27
1018Brazil2026-08-29
1019India2026-09-19
1020Argentina2026-09-20
1021Germany2026-08-29
1022India2026-09-05
1023India2026-09-06
1024Spain2026-09-23
1025Japan2026-09-13
1026Japan2026-08-29
1027Australia2026-09-07
1028Argentina2026-09-27
1029Spain2026-09-15
1030Russia2026-09-08
1031Brazil2026-09-23
1032India2026-09-13
1033India2026-09-26
1034Brazil2026-09-13
1035Argentina2026-09-24
1036United Kingdom2026-08-29
1037France2026-09-02
1038Canada2026-09-22
1039India2026-09-05
1040Canada2026-09-17
1041Argentina2026-09-01
1042Russia2026-09-26
1043Australia2026-09-01
1044France2026-09-24
1045Russia2026-09-27
1046United Kingdom2026-09-21
1047Spain2026-09-14
1048Canada2026-09-26
1049India2026-08-31

On-Demand Data

NameIdCountryDate
Tony X Dilliard1000Russia2026-09-24
James G Sergi1001Spain2026-09-13
Clifford Z Bolognia1002Italy2026-09-16
Mujtaba P Venere1003Brazil2026-09-01
Johnson E Sergi1004Spain2026-09-06
Izzy Z Bolognia1005Australia2026-09-07
Deepesh W Briddick1006India2026-09-26
Maisha J Amigon1007Spain2026-09-13
Izzy O Figeroa1008France2026-08-31
Emily C Darakjy1009Canada2026-09-17
Jeanfrancois Y Gillian1010Germany2026-09-11
Deepesh H Schemmer1011Japan2026-09-08
Cody F Stockham1012Canada2026-09-08
Juan V Perin1013India2026-09-07
Emily W Stockham1014Germany2026-09-04
Mujtaba H Caudy1015Germany2026-09-27
Mujtaba M Foller1016India2026-08-30
Izzy Y Waycott1017Canada2026-09-27
Stacey G Darakjy1018Australia2026-09-25
Aika E Doe1019Canada2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Z WhobreyAustraliaIoni Bowcher NEW
Claire E SchemmerJapanIoni Bowcher PROPOSAL
Francesco A GillianGermanyStephen Shaw UNQUALIFIED
Salvatore K NestleItalyIoni Bowcher NEW
Greenwood K NickaItalyElwin Sharvill UNQUALIFIED
Jones R PerinSpainIoni Bowcher UNQUALIFIED
Jeanfrancois G CampainUnited KingdomAsiya Javayant PROPOSAL
Leja U ButtGermanyStephen Shaw NEGOTIATION
Arvin Y GauchoJapanXuxue Feng PROPOSAL
Antonio W OldroydFranceIoni Bowcher UNQUALIFIED
Stacey Z DoeRussiaAsiya Javayant NEW
Antonio R TollnerGermanyIoni Bowcher NEW
Sinclair P ChuiBrazilIvan Magalhaes PROPOSAL
Julie B SergiFranceBernardo Dominic QUALIFIED
Jefferson K ButtFranceOnyama Limba NEW
Ashley O PaprockiJapanAsiya Javayant NEGOTIATION
Cody V FlosiSpainBernardo Dominic NEGOTIATION
Isabel W SchemmerItalyOnyama Limba QUALIFIED
Julie J SergiFranceAsiya Javayant PROPOSAL
Isabel T IturbideItalyAnna Fali PROPOSAL
Mayumi S StockhamRussiaStephen Shaw NEGOTIATION
Sinclair W OldroydGermanyStephen Shaw NEGOTIATION
Maisha A DarakjyRussiaOnyama Limba PROPOSAL
Mujtaba Y RoysterRussiaOnyama Limba NEW
Stacey T VenereFranceIoni Bowcher NEGOTIATION
Morrow I NestleAustraliaOnyama Limba QUALIFIED
Adams Z RimAustraliaOnyama Limba NEGOTIATION
Morrow M GauchoItalyAmy Elsner QUALIFIED
Izzy F VenereIndiaOnyama Limba NEGOTIATION
Leja X CaudyBrazilAmy Elsner UNQUALIFIED
Jennifer B TollnerBrazilBernardo Dominic NEW
Leja I MaletJapanIoni Bowcher NEGOTIATION
Greenwood N StensethJapanOnyama Limba PROPOSAL
Leja I BowleyIndiaBernardo Dominic PROPOSAL
James A PaprockiIndiaBernardo Dominic QUALIFIED
Juan N KuskoAustraliaAnna Fali PROPOSAL
Sinclair Y FerenczArgentinaAnna Fali NEW
Leja U DarakjyJapanAsiya Javayant NEW
Jones J WieserItalyStephen Shaw UNQUALIFIED
Clifford M DarakjyIndiaAmy Elsner 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>