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
Leja G NickaRussiaAmy Elsner NEW
Emily N MaletArgentinaStephen Shaw NEW
Aditya U CaudyArgentinaBernardo Dominic QUALIFIED
Darci W SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy M BologniaGermanyBernardo Dominic RENEWAL
Alejandro Z MorascaItalyIoni Bowcher QUALIFIED
Aika D ChuiArgentinaElwin Sharvill NEGOTIATION
Faith A OldroydItalyOnyama Limba RENEWAL
Sinclair W RoysterRussiaElwin Sharvill PROPOSAL
Emily J KolmetzIndiaOnyama Limba PROPOSAL
Arvin A KolmetzJapanStephen Shaw QUALIFIED
Francesco P WhobreyBrazilAmy Elsner NEGOTIATION
Aruna X ShinkoGermanyStephen Shaw UNQUALIFIED
Antonio H ButtAustraliaAnna Fali UNQUALIFIED
Jeanfrancois Y MorascaGermanyElwin Sharvill QUALIFIED
Mujtaba Z SchemmerRussiaAsiya Javayant RENEWAL
Izzy F GauchoBrazilAnna Fali UNQUALIFIED
Emily J AlbaresCanadaAnna Fali PROPOSAL
Nicolas E OldroydBrazilIoni Bowcher QUALIFIED
Munro B FerenczIndiaIoni Bowcher UNQUALIFIED
Aruna S ShinkoAustraliaElwin Sharvill RENEWAL
Munro K WieserItalyBernardo Dominic QUALIFIED
Misaki V RutaUnited KingdomIvan Magalhaes RENEWAL
Juan P GlickAustraliaIoni Bowcher RENEWAL
Ashley G NickaRussiaBernardo Dominic NEGOTIATION
Alejandro O TollnerBrazilIoni Bowcher RENEWAL
Claire T CaudyAustraliaOnyama Limba UNQUALIFIED
Nicolas E AmigonGermanyAmy Elsner NEGOTIATION
Emily F DilliardSpainAmy Elsner RENEWAL
Adams F MacleadFranceAnna Fali NEW
Octavia R DarakjyIndiaBernardo Dominic QUALIFIED
Chavez J FollerItalyAnna Fali RENEWAL
Johnson T StensethAustraliaAmy Elsner NEGOTIATION
Stacey X SaylorsUnited KingdomIoni Bowcher RENEWAL
Johnson H GillianItalyBernardo Dominic UNQUALIFIED
Claire F PoquetteBrazilAmy Elsner UNQUALIFIED
Faith Z ButtFranceXuxue Feng NEGOTIATION
Kadeem Z DilliardBrazilIoni Bowcher PROPOSAL
Nicolas D MaletArgentinaAnna Fali QUALIFIED
Mayumi G InouyeSpainAnna Fali QUALIFIED
Silvio O SaylorsRussiaElwin Sharvill NEW
Johnson Z FollerGermanyStephen Shaw NEW
Munro N BologniaGermanyOnyama Limba UNQUALIFIED
Mayumi X GauchoBrazilBernardo Dominic PROPOSAL
Smith R OstroskyItalyIvan Magalhaes UNQUALIFIED
Aika P ChuiIndiaAmy Elsner PROPOSAL
Smith R DoeJapanIvan Magalhaes QUALIFIED
Ricardo B MaletCanadaAnna Fali RENEWAL
Francesco G VocelkaBrazilAnna Fali UNQUALIFIED
Cody B BriddickArgentinaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy W RulapaughFranceBernardo Dominic RENEWAL
Izzy N KolmetzCanadaBernardo Dominic RENEWAL
Morrow S VenereFranceElwin Sharvill NEW
Isabel U NickaItalyAmy Elsner RENEWAL
Julie V KolmetzCanadaAmy Elsner NEW
Izzy U PerinCanadaXuxue Feng NEW
Arvin M BriddickRussiaAnna Fali RENEWAL
Jones V DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Maria V KuskoCanadaIvan Magalhaes UNQUALIFIED
Tony R KolmetzCanadaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson Y GarufiItaly2026-09-10Feiner Bros NEW52Asiya Javayant
1001Francesco R KolmetzIndia2026-09-10King, Christopher A Esq QUALIFIED1Ioni Bowcher
1002Jefferson A MacleadItaly2026-09-17King, Christopher A Esq PROPOSAL50Onyama Limba
1003Leon F VenereIndia2026-09-17Benton, John B Jr RENEWAL80Amy Elsner
1004Morrow X FlosiFrance2026-09-25King, Christopher A Esq NEGOTIATION19Stephen Shaw
1005Julie W InouyeFrance2026-09-09Truhlar And Truhlar Attys NEGOTIATION31Bernardo Dominic
1006Tony H FigeroaGermany2026-09-10King, Christopher A Esq RENEWAL46Amy Elsner
1007Maisha F ButtUnited Kingdom2026-09-21Morlong Associates NEGOTIATION86Elwin Sharvill
1008Greenwood P CaudyAustralia2026-09-04Feiner Bros NEW72Ioni Bowcher
1009Arvin B CampainUnited Kingdom2026-09-20King, Christopher A Esq PROPOSAL64Anna Fali
1010Juan J BriddickIndia2026-09-09Benton, John B Jr PROPOSAL71Onyama Limba
1011Ashley G InouyeJapan2026-09-30Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1012Munro F InouyeRussia2026-09-07Feltz Printing Service UNQUALIFIED53Asiya Javayant
1013Claire W OstroskyIndia2026-09-10Chapman, Ross E Esq RENEWAL55Stephen Shaw
1014Salvatore K SergiUnited Kingdom2026-09-04Rangoni Of Florence NEW82Ioni Bowcher
1015Kadeem Y SergiIndia2026-09-19Dorl, James J Esq RENEWAL5Xuxue Feng
1016Mayumi B RimCanada2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED16Ivan Magalhaes
1017Jones T ButtCanada2026-09-25Benton, John B Jr NEGOTIATION56Elwin Sharvill
1018Murillo U RimFrance2026-09-17Commercial Press NEGOTIATION61Amy Elsner
1019Rodrigues T PoquetteSpain2026-09-29Buckley Miller Wright QUALIFIED96Elwin Sharvill
1020Smith W KuskoCanada2026-09-07Chemel, James L Cpa NEGOTIATION64Amy Elsner
1021Jefferson Q DilliardGermany2026-09-30Morlong Associates UNQUALIFIED0Amy Elsner
1022Morrow E GlickCanada2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED75Xuxue Feng
1023Francesco Q WieserFrance2026-09-25King, Christopher A Esq QUALIFIED76Anna Fali
1024Jennifer W SaylorsFrance2026-09-04Benton, John B Jr PROPOSAL78Elwin Sharvill
1025Silvio B FollerSpain2026-09-29Rangoni Of Florence QUALIFIED50Amy Elsner
1026James B MaletSpain2026-09-09Printing Dimensions UNQUALIFIED30Asiya Javayant
1027Salvatore W PoquetteIndia2026-09-01Chapman, Ross E Esq UNQUALIFIED38Ioni Bowcher
1028Jones G SlusarskiGermany2026-09-08Truhlar And Truhlar Attys QUALIFIED66Ioni Bowcher
1029Leja Z OstroskyCanada2026-09-19King, Christopher A Esq QUALIFIED45Ioni Bowcher
1030Juan G KuskoIndia2026-09-20Benton, John B Jr UNQUALIFIED1Amy Elsner
1031Leja L SergiIndia2026-09-01Rangoni Of Florence NEW50Onyama Limba
1032Misaki R DarakjyBrazil2026-09-26Rousseaux, Michael Esq RENEWAL90Onyama Limba
1033Alejandro O VocelkaAustralia2026-09-08Morlong Associates NEW69Onyama Limba
1034Maria V ButtAustralia2026-09-16Buckley Miller Wright RENEWAL29Anna Fali
1035Kadeem N VenereCanada2026-09-16Chapman, Ross E Esq NEW85Amy Elsner
1036Leon Q IturbideSpain2026-09-11Printing Dimensions RENEWAL25Xuxue Feng
1037Morrow B SergiGermany2026-09-25Feiner Bros NEGOTIATION49Bernardo Dominic
1038Francesco T ButtArgentina2026-09-02Rousseaux, Michael Esq RENEWAL65Amy Elsner
1039Aditya N GillianArgentina2026-09-11Feiner Bros PROPOSAL87Anna Fali
1040Wickens N MaletGermany2026-09-12Benton, John B Jr QUALIFIED34Bernardo Dominic
1041Kadeem G MaletIndia2026-09-10Truhlar And Truhlar Attys NEGOTIATION61Asiya Javayant
1042Maisha G StensethItaly2026-09-24Commercial Press NEW12Bernardo Dominic
1043Clifford K OldroydAustralia2026-09-16Morlong Associates UNQUALIFIED16Ioni Bowcher
1044Cody Z WaycottAustralia2026-09-26Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1045Chavez B MaletGermany2026-09-30Dorl, James J Esq QUALIFIED3Xuxue Feng
1046Octavia G PoquetteUnited Kingdom2026-09-03Buckley Miller Wright NEW79Stephen Shaw
1047Jeanfrancois A OstroskySpain2026-09-02Commercial Press RENEWAL13Elwin Sharvill
1048Munro P MarrierSpain2026-09-01Feiner Bros NEGOTIATION12Amy Elsner
1049Chavez F AlbaresFrance2026-09-29Commercial Press NEGOTIATION34Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair G StensethCanadaStephen Shaw UNQUALIFIED
Faith I ShinkoIndiaXuxue Feng QUALIFIED
Mujtaba A ChuiArgentinaXuxue Feng RENEWAL
Ashley O CaldareraJapanBernardo Dominic PROPOSAL
Maisha T GauchoBrazilIoni Bowcher RENEWAL
Antonio E RoysterRussiaBernardo Dominic RENEWAL
Leon Q PoquetteRussiaAnna Fali NEW
James C FollerBrazilIoni Bowcher QUALIFIED
Julie X RimFranceStephen Shaw RENEWAL
Jefferson P BowleyGermanyAmy Elsner NEGOTIATION
Wickens X FollerGermanyAsiya Javayant RENEWAL
Salvatore K WaycottArgentinaStephen Shaw UNQUALIFIED
Faith V BologniaAustraliaXuxue Feng PROPOSAL
Stacey P WieserGermanyXuxue Feng RENEWAL
Emily Z DilliardIndiaStephen Shaw PROPOSAL
Nicolas I FollerIndiaXuxue Feng QUALIFIED
Tony F SergiFranceAnna Fali QUALIFIED
Silvio V MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Faith F GlickGermanyStephen Shaw UNQUALIFIED
Ivar H AlbaresUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois L MacleadCanadaIoni Bowcher NEW
Faith Q NickaSpainIvan Magalhaes RENEWAL
Deepesh S BriddickBrazilIvan Magalhaes QUALIFIED
Jennifer C KuskoRussiaIoni Bowcher UNQUALIFIED
Stacey W KolmetzUnited KingdomBernardo Dominic NEW
Ashley N PaprockiJapanOnyama Limba NEW
Octavia A AmigonRussiaAsiya Javayant RENEWAL
Sinclair T PerinIndiaAmy Elsner PROPOSAL
Stacey T PoquetteCanadaOnyama Limba QUALIFIED
Ashley F PaprockiJapanIoni Bowcher NEGOTIATION
Wickens S CaldareraUnited KingdomOnyama Limba NEW
Salvatore W PaprockiCanadaOnyama Limba UNQUALIFIED
Adams V StensethBrazilXuxue Feng UNQUALIFIED
Jennifer V GlickSpainAsiya Javayant NEW
Silvio G IturbideIndiaElwin Sharvill QUALIFIED
Faith M ChuiFranceAnna Fali NEW
Claire K GarufiIndiaOnyama Limba NEW
Ricardo R AmigonSpainXuxue Feng NEGOTIATION
Alejandro A KolmetzBrazilAnna Fali UNQUALIFIED
Rodrigues K FerenczFranceElwin Sharvill UNQUALIFIED
Rodrigues K MarrierRussiaIvan Magalhaes NEW
Tony H CampainItalyOnyama Limba UNQUALIFIED
Misaki A IturbideAustraliaBernardo Dominic UNQUALIFIED
Leja F KolmetzFranceElwin Sharvill PROPOSAL
Maisha W AmigonSpainOnyama Limba NEW
Ivar S OstroskySpainAmy Elsner RENEWAL
Murillo R AmigonJapanIoni Bowcher NEW
Rodrigues Y PaprockiJapanElwin Sharvill RENEWAL
Johnson P MaletFranceIvan Magalhaes RENEWAL
Nicolas M BologniaIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Faith W Shinko
Juan O Albares
Emily I Inouye
Antonio Y Figeroa
Maisha E Albares
Rodrigues Y Butt
Jeanfrancois G Perin
David Y Chui
Ivar R Poquette
Ricardo G Inouye
Salvatore J Marrier
Costa H Gaucho
Aruna F Caldarera
Tony L Foller
Darci G Chui
James G Kusko
Nicolas G Gaucho
Costa U Whobrey
Darci L Bowley
Francesco H Sergi
Adams S Inouye
Jefferson J Bolognia
Alejandro A Ferencz
Misaki D Perin
Juan O Poquette
Maria E Figeroa
Jefferson Q Garufi
Nicolas J Malet
Ricardo X Chui
Rodrigues R Royster
Jefferson I Figeroa
Cody Y Rim
Arvin L Caldarera
Adams H Figeroa
Ashley A Rim
Nicolas J Venere
Kaitlin Q Bolognia
Rodrigues S Ruta
Tony R Perin
Johnson E Oldroyd
Clifford M Campain
Misaki L Inouye
Kadeem G Sergi
Sinclair P Caldarera
Jeanfrancois M Maclead
Jefferson Z Sergi
Smith J Inouye
Mayumi Y Figeroa
Maria N Figeroa
Misaki M Caudy
IdCountryDate
1000Japan2026-09-28
1001Australia2026-09-03
1002Brazil2026-09-20
1003Australia2026-09-25
1004France2026-09-04
1005Russia2026-09-03
1006Canada2026-09-27
1007France2026-09-29
1008India2026-09-29
1009Australia2026-09-16
1010Australia2026-09-29
1011Spain2026-09-16
1012Spain2026-09-23
1013Russia2026-09-22
1014Japan2026-09-09
1015Russia2026-09-08
1016Russia2026-09-20
1017Germany2026-09-04
1018Japan2026-09-25
1019India2026-09-12
1020Germany2026-09-23
1021Russia2026-09-22
1022India2026-09-12
1023Italy2026-09-09
1024Russia2026-09-11
1025Canada2026-09-02
1026Brazil2026-09-04
1027United Kingdom2026-09-10
1028Brazil2026-09-11
1029Japan2026-09-27
1030Japan2026-09-13
1031India2026-09-26
1032Brazil2026-09-25
1033Italy2026-09-20
1034India2026-09-17
1035Brazil2026-09-07
1036India2026-09-18
1037Argentina2026-09-21
1038Spain2026-09-10
1039France2026-09-06
1040Japan2026-09-02
1041Russia2026-09-02
1042India2026-09-13
1043Canada2026-09-06
1044Italy2026-09-11
1045Argentina2026-09-06
1046United Kingdom2026-09-16
1047Australia2026-09-08
1048Italy2026-09-06
1049Italy2026-09-02

On-Demand Data

NameIdCountryDate
Aika S Malet1000Spain2026-09-09
Morrow B Doe1001Germany2026-09-02
Greenwood A Saylors1002Germany2026-09-19
Adams W Saylors1003Spain2026-09-08
Jeanfrancois N Venere1004Russia2026-09-08
Octavia Z Caldarera1005Germany2026-09-01
Sinclair A Flosi1006France2026-09-20
Costa V Ruta1007Japan2026-09-01
Adams J Saylors1008Japan2026-09-05
Stacey F Malet1009Japan2026-09-11
Jennifer R Inouye1010Brazil2026-09-17
Chavez C Rulapaugh1011United Kingdom2026-09-04
Smith E Butt1012Canada2026-09-30
Darci N Ferencz1013Russia2026-09-28
Smith T Maclead1014Spain2026-09-02
Isabel H Waycott1015France2026-09-02
Maria X Sergi1016Australia2026-09-21
Johnson F Ruta1017Spain2026-09-18
Maria M Wieser1018Germany2026-09-13
Stacey P Stockham1019United Kingdom2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith K PaprockiBrazilOnyama Limba NEW
Misaki C MacleadIndiaAmy Elsner QUALIFIED
Ashley O IturbideAustraliaBernardo Dominic PROPOSAL
Johnson B TollnerFranceStephen Shaw NEGOTIATION
Maisha N NickaArgentinaAnna Fali PROPOSAL
Sinclair S AlbaresAustraliaOnyama Limba QUALIFIED
Ivar R KuskoSpainIoni Bowcher NEW
Kaitlin K BriddickGermanyAmy Elsner QUALIFIED
Munro T WaycottItalyIvan Magalhaes NEW
Maisha K MacleadCanadaAsiya Javayant UNQUALIFIED
Octavia F TollnerCanadaStephen Shaw PROPOSAL
Kaitlin V GlickCanadaAsiya Javayant RENEWAL
Stacey O ButtIndiaXuxue Feng NEGOTIATION
Aditya J DilliardBrazilStephen Shaw PROPOSAL
Jones U MarrierSpainBernardo Dominic NEW
Arvin J ShinkoJapanBernardo Dominic PROPOSAL
Silvio Z CampainItalyAnna Fali RENEWAL
Ashley W MaletRussiaStephen Shaw RENEWAL
Stacey B BologniaItalyBernardo Dominic NEW
Chavez T SergiRussiaElwin Sharvill NEGOTIATION
Misaki U RimItalyAmy Elsner PROPOSAL
Munro K SaylorsJapanXuxue Feng PROPOSAL
Mayumi X WhobreyArgentinaAsiya Javayant RENEWAL
Clifford D GillianIndiaAsiya Javayant NEGOTIATION
Leon A ButtItalyStephen Shaw NEW
Juan V SaylorsUnited KingdomStephen Shaw NEGOTIATION
Johnson M InouyeCanadaAmy Elsner RENEWAL
Francesco B TollnerArgentinaBernardo Dominic NEGOTIATION
Nicolas Y SergiFranceXuxue Feng RENEWAL
Sinclair H BowleyIndiaIvan Magalhaes PROPOSAL
Darci O BologniaCanadaStephen Shaw RENEWAL
Emily Y StensethCanadaIvan Magalhaes RENEWAL
Cody M MaletItalyIoni Bowcher NEW
Rodrigues K KuskoSpainAnna Fali PROPOSAL
Claire B FollerAustraliaBernardo Dominic UNQUALIFIED
Isabel R IturbideGermanyBernardo Dominic PROPOSAL
Juan O RutaArgentinaIoni Bowcher UNQUALIFIED
Johnson Q StensethGermanyIvan Magalhaes NEGOTIATION
Isabel X SaylorsIndiaIoni Bowcher NEW
Cody E WieserFranceIvan Magalhaes UNQUALIFIED

<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>