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
Kaitlin V WaycottItalyIvan Magalhaes PROPOSAL
Maria D NickaGermanyElwin Sharvill PROPOSAL
Nicolas R VenereRussiaAmy Elsner UNQUALIFIED
Munro H WieserFranceStephen Shaw UNQUALIFIED
Chavez I ButtCanadaOnyama Limba PROPOSAL
Alejandro T PerinItalyAnna Fali NEGOTIATION
Smith T DarakjyArgentinaAmy Elsner QUALIFIED
Alejandro N GlickJapanElwin Sharvill QUALIFIED
Faith Z GillianUnited KingdomXuxue Feng RENEWAL
Cody P NickaBrazilAsiya Javayant QUALIFIED
Aruna R SaylorsRussiaBernardo Dominic PROPOSAL
Cody W ButtSpainAnna Fali RENEWAL
Munro B SlusarskiUnited KingdomAmy Elsner QUALIFIED
Misaki D FerenczGermanyElwin Sharvill PROPOSAL
Nicolas V MacleadSpainStephen Shaw NEGOTIATION
Salvatore L FigeroaAustraliaAsiya Javayant RENEWAL
Arvin X GauchoUnited KingdomAsiya Javayant QUALIFIED
Sinclair B AlbaresFranceBernardo Dominic RENEWAL
Silvio X AmigonRussiaIvan Magalhaes QUALIFIED
Arvin E ChuiArgentinaAsiya Javayant NEGOTIATION
Silvio C RulapaughRussiaAsiya Javayant UNQUALIFIED
Claire K KuskoGermanyAnna Fali RENEWAL
Kadeem L FollerSpainXuxue Feng NEGOTIATION
Juan H BowleyUnited KingdomAsiya Javayant PROPOSAL
Sinclair V BowleyFranceAnna Fali NEW
Jeanfrancois H RulapaughFranceXuxue Feng NEGOTIATION
Tony M SchemmerJapanAsiya Javayant NEGOTIATION
Munro W CaudyCanadaAmy Elsner RENEWAL
Leon Y SergiItalyXuxue Feng NEW
Silvio X OldroydUnited KingdomXuxue Feng NEW
Aruna Q KolmetzJapanElwin Sharvill QUALIFIED
Darci F KuskoIndiaIvan Magalhaes RENEWAL
Johnson H AlbaresAustraliaAsiya Javayant PROPOSAL
Mujtaba O NickaUnited KingdomAnna Fali UNQUALIFIED
Ricardo N WieserCanadaIvan Magalhaes QUALIFIED
Darci Q OstroskyItalyXuxue Feng RENEWAL
Misaki T SergiAustraliaIvan Magalhaes NEGOTIATION
Tony R ButtIndiaStephen Shaw NEGOTIATION
Jefferson H SchemmerGermanyStephen Shaw PROPOSAL
Faith V PaprockiCanadaIoni Bowcher NEW
Leja E RoysterJapanIoni Bowcher UNQUALIFIED
Smith J RulapaughJapanBernardo Dominic RENEWAL
Salvatore H StockhamGermanyXuxue Feng NEW
Morrow G SaylorsBrazilAmy Elsner QUALIFIED
Stacey T InouyeRussiaOnyama Limba UNQUALIFIED
Emily T BriddickGermanyElwin Sharvill PROPOSAL
Stacey E MarrierSpainAnna Fali NEGOTIATION
Maisha T MaletFranceBernardo Dominic NEGOTIATION
James U DoeRussiaIoni Bowcher PROPOSAL
Jeanfrancois T SchemmerUnited KingdomOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues W RimItalyOnyama Limba PROPOSAL
Emily R VocelkaFranceAmy Elsner NEGOTIATION
Faith Z GauchoRussiaElwin Sharvill NEW
Ivar H PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Ashley W SergiRussiaAmy Elsner QUALIFIED
Misaki O KuskoJapanIoni Bowcher UNQUALIFIED
Misaki S ChuiUnited KingdomAsiya Javayant NEGOTIATION
Faith S AlbaresUnited KingdomXuxue Feng PROPOSAL
Francesco V FlosiIndiaOnyama Limba NEW
Ricardo P StensethArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson G GarufiAustralia2026-10-07Truhlar And Truhlar Attys RENEWAL17Bernardo Dominic
1001Aruna S WhobreyArgentina2026-09-16Printing Dimensions NEGOTIATION82Bernardo Dominic
1002Octavia V AmigonCanada2026-10-10Printing Dimensions NEW96Elwin Sharvill
1003Tony U BriddickGermany2026-10-03Rousseaux, Michael Esq NEW96Amy Elsner
1004Jones V SergiArgentina2026-09-13Rangoni Of Florence PROPOSAL58Ivan Magalhaes
1005David O WhobreySpain2026-10-07Benton, John B Jr RENEWAL41Onyama Limba
1006David S ShinkoRussia2026-09-13Feltz Printing Service QUALIFIED60Ioni Bowcher
1007Nicolas O CampainBrazil2026-10-01Chanay, Jeffrey A Esq RENEWAL62Anna Fali
1008Tony P PoquetteCanada2026-09-25Chapman, Ross E Esq QUALIFIED33Elwin Sharvill
1009Johnson O CampainItaly2026-09-16Printing Dimensions NEGOTIATION41Anna Fali
1010Rodrigues V RulapaughGermany2026-09-24Rangoni Of Florence PROPOSAL28Anna Fali
1011Francesco D BowleyRussia2026-09-28Buckley Miller Wright PROPOSAL56Anna Fali
1012Cody F MorascaGermany2026-09-24Chemel, James L Cpa RENEWAL73Ioni Bowcher
1013Kaitlin B SaylorsAustralia2026-09-17Buckley Miller Wright RENEWAL17Elwin Sharvill
1014Izzy Z SlusarskiCanada2026-09-26Chapman, Ross E Esq RENEWAL97Ivan Magalhaes
1015Stacey N DilliardCanada2026-09-23Dorl, James J Esq NEGOTIATION16Stephen Shaw
1016Julie P DarakjyBrazil2026-10-01Commercial Press UNQUALIFIED53Anna Fali
1017Izzy S FollerBrazil2026-09-26Rousseaux, Michael Esq NEW79Elwin Sharvill
1018Misaki G RoysterSpain2026-10-06King, Christopher A Esq UNQUALIFIED83Ivan Magalhaes
1019Deepesh N NestleGermany2026-09-13King, Christopher A Esq NEW11Asiya Javayant
1020Julie X AmigonUnited Kingdom2026-09-26Rousseaux, Michael Esq RENEWAL44Amy Elsner
1021Alejandro Q CaldareraFrance2026-10-07Chemel, James L Cpa QUALIFIED36Stephen Shaw
1022Morrow K MacleadGermany2026-10-05Buckley Miller Wright NEGOTIATION70Ioni Bowcher
1023Jefferson B BriddickCanada2026-09-29Buckley Miller Wright NEGOTIATION20Ivan Magalhaes
1024Izzy N ButtBrazil2026-10-04Morlong Associates NEGOTIATION73Anna Fali
1025Aika U GauchoJapan2026-10-01Chemel, James L Cpa NEGOTIATION38Ivan Magalhaes
1026Mujtaba E ButtSpain2026-10-03Morlong Associates PROPOSAL39Ioni Bowcher
1027Aruna J KolmetzIndia2026-10-03Commercial Press NEW83Elwin Sharvill
1028Johnson C StockhamRussia2026-09-17Commercial Press NEW76Anna Fali
1029Aika H KolmetzItaly2026-09-28Printing Dimensions QUALIFIED13Amy Elsner
1030David T ShinkoArgentina2026-10-05Rangoni Of Florence QUALIFIED20Amy Elsner
1031Cody Q WieserCanada2026-09-29Buckley Miller Wright RENEWAL71Bernardo Dominic
1032Kaitlin S RoysterBrazil2026-10-08Printing Dimensions NEW63Ivan Magalhaes
1033Jeanfrancois M GauchoAustralia2026-09-16Rangoni Of Florence QUALIFIED19Ivan Magalhaes
1034Nicolas M GauchoUnited Kingdom2026-10-01Commercial Press QUALIFIED15Stephen Shaw
1035Morrow Y PerinFrance2026-09-16Benton, John B Jr NEGOTIATION4Anna Fali
1036Silvio X PerinIndia2026-10-06Truhlar And Truhlar Attys PROPOSAL26Anna Fali
1037Costa V AlbaresRussia2026-10-06Dorl, James J Esq NEW58Stephen Shaw
1038Francesco S ShinkoGermany2026-09-30Rousseaux, Michael Esq RENEWAL22Ioni Bowcher
1039Rodrigues L CaldareraItaly2026-10-02Morlong Associates PROPOSAL33Onyama Limba
1040Mayumi Q GauchoUnited Kingdom2026-09-11Chapman, Ross E Esq PROPOSAL77Elwin Sharvill
1041Silvio U KuskoSpain2026-09-18Printing Dimensions QUALIFIED37Elwin Sharvill
1042Jones F BowleyBrazil2026-09-16Buckley Miller Wright NEW16Ivan Magalhaes
1043Aika L PoquetteGermany2026-09-17Chemel, James L Cpa RENEWAL70Bernardo Dominic
1044Sinclair H RutaUnited Kingdom2026-09-19Dorl, James J Esq NEW4Onyama Limba
1045Rodrigues Q FigeroaJapan2026-09-15Buckley Miller Wright NEW24Asiya Javayant
1046Darci B GillianFrance2026-10-10Morlong Associates QUALIFIED39Elwin Sharvill
1047Sinclair B BologniaGermany2026-09-24Morlong Associates UNQUALIFIED76Xuxue Feng
1048David Q MacleadBrazil2026-09-11Dorl, James J Esq NEW46Onyama Limba
1049Cody U FollerRussia2026-09-12Commercial Press PROPOSAL62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa O WaycottJapanBernardo Dominic QUALIFIED
Leja N RoysterBrazilBernardo Dominic RENEWAL
Leja V PaprockiUnited KingdomIoni Bowcher NEW
James S FigeroaArgentinaAsiya Javayant UNQUALIFIED
Costa T MaletAustraliaIvan Magalhaes RENEWAL
Aditya G BowleySpainAnna Fali PROPOSAL
Morrow P RoysterAustraliaOnyama Limba NEGOTIATION
James E SergiUnited KingdomElwin Sharvill NEGOTIATION
Isabel X FlosiGermanyAnna Fali NEW
Jeanfrancois S SchemmerItalyXuxue Feng NEW
Antonio U RimFranceElwin Sharvill RENEWAL
Jennifer L NickaUnited KingdomXuxue Feng NEGOTIATION
Ashley V FlosiUnited KingdomAmy Elsner NEW
Leja H StockhamUnited KingdomOnyama Limba UNQUALIFIED
Aditya A BowleyGermanyStephen Shaw PROPOSAL
David B CampainFranceAmy Elsner RENEWAL
Aruna F CampainIndiaAsiya Javayant QUALIFIED
Jefferson L StensethCanadaAnna Fali NEGOTIATION
Smith D BowleyItalyIvan Magalhaes PROPOSAL
Wickens X KuskoArgentinaStephen Shaw UNQUALIFIED
Chavez A KuskoAustraliaAnna Fali UNQUALIFIED
Smith X SaylorsIndiaElwin Sharvill NEW
Rodrigues W DoeRussiaStephen Shaw RENEWAL
Aruna P StockhamBrazilXuxue Feng RENEWAL
Murillo V WhobreyJapanAnna Fali NEGOTIATION
Wickens U WaycottUnited KingdomXuxue Feng NEW
Sinclair B RimJapanAnna Fali NEGOTIATION
Tony S DilliardRussiaIvan Magalhaes QUALIFIED
Mayumi B GarufiFranceIvan Magalhaes NEW
Claire W OldroydCanadaBernardo Dominic QUALIFIED
Maria W GauchoFranceStephen Shaw NEGOTIATION
Jennifer P GillianUnited KingdomAnna Fali NEGOTIATION
Julie A ChuiArgentinaStephen Shaw PROPOSAL
Leon H MacleadIndiaAmy Elsner RENEWAL
Munro U SaylorsRussiaXuxue Feng PROPOSAL
Aika G RulapaughBrazilStephen Shaw NEW
Jones X GillianBrazilAsiya Javayant RENEWAL
Greenwood K WieserArgentinaXuxue Feng RENEWAL
Maisha K VenereFranceBernardo Dominic NEW
Cody E CaldareraIndiaOnyama Limba NEGOTIATION
Adams X SergiIndiaAsiya Javayant NEW
Kaitlin A CampainUnited KingdomOnyama Limba NEW
Johnson G CampainCanadaXuxue Feng PROPOSAL
Izzy Y TollnerRussiaAsiya Javayant PROPOSAL
Ivar E FlosiArgentinaIoni Bowcher QUALIFIED
Ricardo O RoysterFranceXuxue Feng NEW
Costa K InouyeGermanyBernardo Dominic NEGOTIATION
Tony B AlbaresBrazilXuxue Feng UNQUALIFIED
Aika A ShinkoArgentinaElwin Sharvill QUALIFIED
Salvatore D GauchoItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
David R Ruta
Aika Y Tollner
Johnson G Poquette
Deepesh T Caudy
Murillo U Gaucho
Aditya Z Figeroa
Antonio I Slusarski
Faith Q Garufi
Salvatore O Doe
Maisha T Sergi
Ricardo E Butt
Octavia D Nicka
Maisha S Butt
Aruna E Rim
Deepesh G Darakjy
Aruna D Rim
Faith A Bolognia
Leja R Darakjy
Misaki C Albares
Antonio N Shinko
Leja E Oldroyd
Aruna K Royster
Jefferson W Tollner
Misaki Q Tollner
Maria B Ruta
Aika Z Flosi
Silvio M Foller
Izzy Z Poquette
Johnson R Perin
Tony H Sergi
Deepesh D Gaucho
Claire W Paprocki
Rodrigues A Morasca
David A Maclead
Juan X Figeroa
Octavia K Malet
James B Ostrosky
Maisha F Saylors
Maria P Venere
Jones A Bolognia
Morrow M Dilliard
Misaki J Vocelka
Jones S Flosi
Greenwood H Malet
Jennifer A Glick
Cody F Poquette
Juan P Rim
Alejandro E Ferencz
Salvatore T Foller
Aditya S Saylors
IdCountryDate
1000Australia2026-09-21
1001Russia2026-09-14
1002United Kingdom2026-09-17
1003France2026-09-20
1004Germany2026-10-02
1005Italy2026-09-15
1006Italy2026-10-07
1007Spain2026-09-18
1008United Kingdom2026-09-28
1009France2026-10-03
1010Germany2026-09-28
1011Italy2026-09-28
1012Russia2026-09-28
1013United Kingdom2026-09-19
1014India2026-10-08
1015United Kingdom2026-09-27
1016France2026-10-08
1017Australia2026-10-07
1018Germany2026-09-25
1019Canada2026-10-01
1020Italy2026-10-09
1021United Kingdom2026-09-22
1022Italy2026-09-24
1023France2026-10-06
1024Brazil2026-09-12
1025Italy2026-10-03
1026Argentina2026-10-08
1027Japan2026-09-14
1028Germany2026-09-18
1029Italy2026-09-26
1030Argentina2026-09-21
1031Australia2026-10-08
1032France2026-09-16
1033Argentina2026-09-22
1034Germany2026-09-26
1035Canada2026-09-29
1036Australia2026-09-19
1037Argentina2026-09-11
1038Canada2026-10-06
1039Germany2026-09-20
1040Germany2026-10-01
1041Russia2026-09-15
1042Argentina2026-09-25
1043Germany2026-10-10
1044Argentina2026-09-27
1045Australia2026-10-03
1046Australia2026-09-18
1047Russia2026-09-24
1048Canada2026-09-19
1049United Kingdom2026-09-13

On-Demand Data

NameIdCountryDate
Tony Y Glick1000Australia2026-09-30
Alejandro W Malet1001Italy2026-10-03
Faith P Saylors1002Germany2026-09-26
Ricardo E Nicka1003Russia2026-09-14
Stacey J Stenseth1004Russia2026-09-24
Smith E Ferencz1005Australia2026-09-18
Aditya I Bowley1006Germany2026-09-29
Leja P Bolognia1007Italy2026-09-23
Francesco B Gillian1008Brazil2026-09-14
Jennifer T Figeroa1009Brazil2026-09-24
Jones P Garufi1010Russia2026-09-24
Antonio L Kusko1011France2026-09-26
Maria P Caldarera1012Italy2026-09-27
Murillo F Stenseth1013Canada2026-09-18
Julie H Vocelka1014Argentina2026-09-17
Jefferson D Iturbide1015Russia2026-09-16
Ricardo S Slusarski1016Argentina2026-10-05
Ricardo D Nicka1017Italy2026-10-04
Aruna P Glick1018Argentina2026-09-17
Chavez O Marrier1019United Kingdom2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody K ShinkoItalyAnna Fali NEGOTIATION
Jefferson E DoeItalyBernardo Dominic NEW
Darci U WieserJapanElwin Sharvill UNQUALIFIED
Aruna D RutaIndiaElwin Sharvill RENEWAL
Mayumi E OldroydCanadaBernardo Dominic QUALIFIED
David N CaldareraItalyBernardo Dominic QUALIFIED
Silvio D SergiArgentinaAnna Fali RENEWAL
Cody F MaletAustraliaElwin Sharvill NEW
Ivar V RimCanadaBernardo Dominic NEGOTIATION
Silvio C SergiAustraliaAnna Fali NEGOTIATION
Nicolas O TollnerJapanAnna Fali UNQUALIFIED
Octavia D BowleyCanadaAmy Elsner PROPOSAL
Aditya T ShinkoSpainBernardo Dominic RENEWAL
Mujtaba N VenereGermanyStephen Shaw NEW
Maisha M MarrierJapanElwin Sharvill UNQUALIFIED
Munro S FollerAustraliaXuxue Feng NEW
Salvatore B PaprockiRussiaBernardo Dominic NEGOTIATION
Aditya C BologniaFranceIoni Bowcher RENEWAL
Jefferson E StensethSpainAmy Elsner PROPOSAL
Clifford Y CampainArgentinaAmy Elsner RENEWAL
Nicolas Y FlosiBrazilIoni Bowcher QUALIFIED
Izzy I IturbideIndiaIoni Bowcher UNQUALIFIED
Tony Y WieserCanadaAsiya Javayant NEGOTIATION
Stacey Q VocelkaSpainIvan Magalhaes RENEWAL
Kadeem P PoquetteSpainBernardo Dominic PROPOSAL
Mujtaba O VenereIndiaIoni Bowcher PROPOSAL
Juan W SaylorsAustraliaOnyama Limba RENEWAL
Juan K GauchoIndiaAnna Fali NEW
Aditya R FlosiFranceStephen Shaw PROPOSAL
Aruna W OldroydCanadaElwin Sharvill NEW
Isabel C RutaBrazilBernardo Dominic QUALIFIED
Tony J OstroskyAustraliaIvan Magalhaes NEW
Juan O MorascaAustraliaXuxue Feng UNQUALIFIED
Alejandro O PerinFranceElwin Sharvill PROPOSAL
Juan J FollerCanadaElwin Sharvill NEW
James I SergiBrazilAnna Fali UNQUALIFIED
Francesco D StensethAustraliaAmy Elsner QUALIFIED
Rodrigues V MacleadArgentinaOnyama Limba NEGOTIATION
Aika B MaletIndiaStephen Shaw RENEWAL
Julie N DilliardSpainAmy Elsner 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>