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
Kadeem D GillianIndiaOnyama Limba UNQUALIFIED
Kaitlin Q IturbideUnited KingdomStephen Shaw NEGOTIATION
Stacey D MarrierGermanyAsiya Javayant QUALIFIED
Faith G IturbideJapanAmy Elsner UNQUALIFIED
Misaki P TollnerFranceXuxue Feng PROPOSAL
Murillo C AmigonBrazilIvan Magalhaes NEW
Costa E OstroskyUnited KingdomElwin Sharvill QUALIFIED
Ivar T SergiUnited KingdomXuxue Feng NEW
Clifford X GlickGermanyAnna Fali UNQUALIFIED
Aika L OstroskyGermanyAnna Fali NEGOTIATION
Jeanfrancois F AmigonFranceAmy Elsner UNQUALIFIED
Rodrigues F OldroydArgentinaAnna Fali NEGOTIATION
Stacey H PerinFranceXuxue Feng NEGOTIATION
Deepesh T MaletSpainIoni Bowcher UNQUALIFIED
Munro R NickaRussiaStephen Shaw QUALIFIED
Aditya S SchemmerUnited KingdomAmy Elsner QUALIFIED
Morrow W StockhamFranceXuxue Feng NEGOTIATION
Rodrigues T NestleJapanElwin Sharvill QUALIFIED
Stacey U NestleArgentinaIoni Bowcher NEW
Adams J DarakjyJapanIvan Magalhaes NEW
Mayumi N RoysterFranceAnna Fali UNQUALIFIED
Ashley A CampainBrazilIvan Magalhaes QUALIFIED
Deepesh F KolmetzGermanyBernardo Dominic NEW
Aruna I MacleadFranceAmy Elsner NEW
Smith C StensethFranceStephen Shaw QUALIFIED
James A VocelkaArgentinaOnyama Limba QUALIFIED
Francesco G GillianJapanAnna Fali UNQUALIFIED
David K FlosiAustraliaStephen Shaw NEGOTIATION
Smith U DoeSpainAmy Elsner RENEWAL
Aditya I CampainBrazilBernardo Dominic RENEWAL
Sinclair M AmigonIndiaOnyama Limba RENEWAL
Kadeem V PerinAustraliaXuxue Feng NEGOTIATION
Munro K SaylorsSpainElwin Sharvill NEGOTIATION
Mayumi W BowleyGermanyIvan Magalhaes RENEWAL
Ricardo D ShinkoAustraliaAnna Fali QUALIFIED
Leja U KuskoArgentinaIoni Bowcher NEW
Nicolas Z RulapaughJapanAnna Fali NEGOTIATION
Jeanfrancois O StensethSpainAsiya Javayant NEGOTIATION
Claire B TollnerGermanyOnyama Limba NEGOTIATION
Misaki T PaprockiUnited KingdomElwin Sharvill NEW
Antonio F SergiBrazilAmy Elsner QUALIFIED
Smith Y MarrierJapanBernardo Dominic QUALIFIED
Smith W InouyeSpainAnna Fali UNQUALIFIED
Ivar Z NickaJapanAnna Fali UNQUALIFIED
Tony Z GillianGermanyElwin Sharvill QUALIFIED
Adams X ShinkoIndiaXuxue Feng NEGOTIATION
Munro D MarrierUnited KingdomOnyama Limba NEGOTIATION
Clifford P MacleadBrazilAnna Fali RENEWAL
Ivar W FlosiGermanyIvan Magalhaes NEGOTIATION
Smith R InouyeSpainAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues W NestleBrazilAnna Fali NEW
James F CaudyIndiaAmy Elsner NEGOTIATION
Aruna U SchemmerJapanAnna Fali QUALIFIED
Cody B ChuiRussiaOnyama Limba NEW
Leja E SergiSpainElwin Sharvill QUALIFIED
Smith Y AlbaresAustraliaAnna Fali PROPOSAL
Francesco D FerenczSpainBernardo Dominic PROPOSAL
Ricardo Z SergiGermanyAsiya Javayant RENEWAL
Ashley E KolmetzSpainAsiya Javayant QUALIFIED
Alejandro W KuskoGermanyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh F MorascaJapan2026-09-19Morlong Associates NEW82Bernardo Dominic
1001Johnson T MaletBrazil2026-09-16Rangoni Of Florence NEW10Anna Fali
1002Ricardo V CampainCanada2026-09-25Printing Dimensions NEW58Bernardo Dominic
1003Emily R RulapaughArgentina2026-10-02Feiner Bros NEGOTIATION4Amy Elsner
1004Deepesh X RoysterFrance2026-09-22Feiner Bros PROPOSAL36Elwin Sharvill
1005Ashley D FerenczUnited Kingdom2026-09-26Morlong Associates PROPOSAL62Xuxue Feng
1006Clifford V WhobreyRussia2026-09-16Feltz Printing Service NEGOTIATION2Amy Elsner
1007Aika S DoeAustralia2026-10-11Feiner Bros PROPOSAL69Anna Fali
1008Morrow S IturbideGermany2026-10-11Buckley Miller Wright NEW60Onyama Limba
1009Misaki Q KuskoCanada2026-10-03Buckley Miller Wright PROPOSAL21Ivan Magalhaes
1010Leja I GarufiCanada2026-09-13Feltz Printing Service NEGOTIATION58Xuxue Feng
1011Isabel D AlbaresCanada2026-10-10Truhlar And Truhlar Attys UNQUALIFIED71Ioni Bowcher
1012Mujtaba W VenereFrance2026-09-22King, Christopher A Esq UNQUALIFIED4Xuxue Feng
1013Adams V GauchoCanada2026-10-10Feiner Bros UNQUALIFIED82Asiya Javayant
1014Morrow L ButtFrance2026-10-10Dorl, James J Esq PROPOSAL25Elwin Sharvill
1015Jefferson F MacleadAustralia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED56Ivan Magalhaes
1016Maria D SergiFrance2026-10-10Commercial Press NEW77Asiya Javayant
1017Kadeem D BologniaFrance2026-09-13Buckley Miller Wright UNQUALIFIED80Stephen Shaw
1018Rodrigues L ShinkoIndia2026-09-24Benton, John B Jr QUALIFIED54Onyama Limba
1019James I MaletUnited Kingdom2026-09-29Printing Dimensions RENEWAL85Elwin Sharvill
1020Greenwood V BologniaBrazil2026-10-05Dorl, James J Esq UNQUALIFIED46Stephen Shaw
1021Maria V RimUnited Kingdom2026-09-16Chapman, Ross E Esq PROPOSAL21Asiya Javayant
1022Maisha K MaletRussia2026-09-25Chanay, Jeffrey A Esq QUALIFIED55Ivan Magalhaes
1023Smith W RimArgentina2026-09-24King, Christopher A Esq NEW5Ivan Magalhaes
1024Ricardo O WhobreyJapan2026-09-12Printing Dimensions PROPOSAL2Ivan Magalhaes
1025Murillo F GillianAustralia2026-10-09Rangoni Of Florence UNQUALIFIED36Ioni Bowcher
1026Juan E BriddickItaly2026-10-09Morlong Associates PROPOSAL1Ioni Bowcher
1027Costa I KuskoUnited Kingdom2026-09-19King, Christopher A Esq NEW84Ioni Bowcher
1028Kaitlin D GarufiGermany2026-09-30Commercial Press PROPOSAL7Onyama Limba
1029Izzy W FerenczBrazil2026-10-02Benton, John B Jr NEGOTIATION23Bernardo Dominic
1030Leja I GauchoCanada2026-09-13King, Christopher A Esq QUALIFIED45Ioni Bowcher
1031Isabel M GauchoItaly2026-09-14Feiner Bros NEW57Xuxue Feng
1032Leja N GlickUnited Kingdom2026-09-12Buckley Miller Wright PROPOSAL88Elwin Sharvill
1033Octavia G RimAustralia2026-09-18Commercial Press NEW62Elwin Sharvill
1034Aditya U DilliardArgentina2026-09-24Dorl, James J Esq QUALIFIED16Ivan Magalhaes
1035Mayumi O ButtCanada2026-09-27Printing Dimensions QUALIFIED95Asiya Javayant
1036Mujtaba P OstroskyUnited Kingdom2026-10-06Rangoni Of Florence PROPOSAL69Stephen Shaw
1037Francesco I MorascaGermany2026-10-03Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1038Murillo L WieserAustralia2026-10-04Rousseaux, Michael Esq NEW90Ioni Bowcher
1039Murillo H NestleIndia2026-10-02Rousseaux, Michael Esq UNQUALIFIED68Amy Elsner
1040Ricardo O OldroydCanada2026-10-04Benton, John B Jr RENEWAL63Elwin Sharvill
1041Isabel B BologniaRussia2026-09-18Feiner Bros NEGOTIATION3Asiya Javayant
1042Octavia Z MarrierJapan2026-10-11Feiner Bros QUALIFIED22Elwin Sharvill
1043Leja H PaprockiIndia2026-09-21Chemel, James L Cpa NEGOTIATION27Amy Elsner
1044Izzy C WaycottRussia2026-10-10Benton, John B Jr NEW52Ioni Bowcher
1045Leja R NickaJapan2026-09-28Benton, John B Jr UNQUALIFIED45Asiya Javayant
1046Octavia E WaycottSpain2026-09-29Rangoni Of Florence NEW60Xuxue Feng
1047Murillo J ChuiBrazil2026-09-14Printing Dimensions NEGOTIATION25Bernardo Dominic
1048Faith N PoquetteSpain2026-10-10Commercial Press UNQUALIFIED45Ivan Magalhaes
1049Darci C RoysterItaly2026-09-28Rousseaux, Michael Esq NEGOTIATION95Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar K AmigonItalyOnyama Limba RENEWAL
Tony U BriddickSpainStephen Shaw RENEWAL
Isabel X ShinkoAustraliaIvan Magalhaes RENEWAL
Wickens B RimItalyIvan Magalhaes UNQUALIFIED
Ashley E SchemmerItalyStephen Shaw RENEWAL
Octavia E StensethCanadaStephen Shaw NEW
Silvio T AlbaresItalyIoni Bowcher PROPOSAL
Deepesh I MorascaBrazilElwin Sharvill NEW
Jones A BologniaCanadaXuxue Feng UNQUALIFIED
Misaki P WieserBrazilElwin Sharvill UNQUALIFIED
Emily P GillianUnited KingdomBernardo Dominic NEW
Darci J MaletAustraliaStephen Shaw UNQUALIFIED
Leja D TollnerBrazilStephen Shaw NEW
Kaitlin A BriddickGermanyOnyama Limba NEGOTIATION
Isabel E StockhamRussiaAnna Fali QUALIFIED
Greenwood U DarakjyRussiaAnna Fali PROPOSAL
Ricardo D FerenczBrazilAsiya Javayant QUALIFIED
David X GlickSpainElwin Sharvill QUALIFIED
Munro X OldroydFranceAsiya Javayant NEW
Kadeem C MarrierArgentinaOnyama Limba NEW
Francesco Q GauchoArgentinaAsiya Javayant QUALIFIED
Julie J MacleadJapanBernardo Dominic NEW
Chavez B AlbaresSpainElwin Sharvill QUALIFIED
Rodrigues Q CaudyArgentinaAsiya Javayant PROPOSAL
Chavez I SchemmerCanadaXuxue Feng PROPOSAL
Morrow V OldroydFranceAmy Elsner NEGOTIATION
Adams X GarufiArgentinaAmy Elsner NEW
Maria D ButtUnited KingdomStephen Shaw NEGOTIATION
Ashley P ButtItalyAnna Fali NEGOTIATION
Munro Y MaletAustraliaElwin Sharvill QUALIFIED
Francesco T BriddickIndiaAmy Elsner QUALIFIED
James W TollnerJapanAsiya Javayant NEGOTIATION
Aditya A GillianItalyIvan Magalhaes PROPOSAL
Aruna F ChuiArgentinaAmy Elsner NEGOTIATION
Costa Y VocelkaSpainAsiya Javayant RENEWAL
Clifford A IturbideAustraliaIvan Magalhaes UNQUALIFIED
Smith J DoeGermanyBernardo Dominic NEW
Leja O SaylorsSpainIvan Magalhaes QUALIFIED
Cody P ButtCanadaAsiya Javayant NEGOTIATION
Emily K NickaCanadaIoni Bowcher NEW
Stacey S RoysterIndiaIvan Magalhaes PROPOSAL
Stacey X GlickRussiaAmy Elsner NEW
Aditya G GlickGermanyAsiya Javayant QUALIFIED
Rodrigues G GlickIndiaOnyama Limba RENEWAL
Aruna G FollerRussiaBernardo Dominic NEGOTIATION
Maria J ButtSpainBernardo Dominic RENEWAL
Francesco P ButtUnited KingdomIvan Magalhaes QUALIFIED
Ivar A MacleadUnited KingdomOnyama Limba NEW
Morrow J MorascaAustraliaAmy Elsner UNQUALIFIED
Isabel V NickaJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Claire S Perin
Leon D Flosi
Leja B Inouye
Deepesh A Inouye
Johnson D Glick
Tony R Perin
Deepesh S Venere
Francesco F Nestle
Morrow I Malet
Maisha H Amigon
Deepesh I Marrier
Octavia Y Malet
Sinclair C Stenseth
Jones I Caudy
Aika H Glick
Greenwood W Gaucho
David W Kolmetz
Aika P Vocelka
Juan F Garufi
Jennifer D Tollner
Maisha E Malet
Jones L Dilliard
Morrow H Rim
Francesco P Glick
Julie Q Ostrosky
Octavia A Tollner
Aditya A Figeroa
Jeanfrancois S Albares
Jones S Gillian
Jefferson X Inouye
Chavez X Venere
Leja M Dilliard
Maisha G Inouye
Emily V Tollner
Jefferson F Paprocki
Stacey W Kusko
Claire Q Saylors
Costa A Gaucho
Jennifer A Nestle
Greenwood H Gillian
Nicolas Y Bowley
Juan S Schemmer
Alejandro L Butt
Aika A Albares
Tony L Poquette
Faith Z Caudy
Faith J Gillian
Adams J Darakjy
Costa U Amigon
David Z Waycott
IdCountryDate
1000Argentina2026-09-20
1001India2026-09-27
1002Russia2026-10-07
1003India2026-09-20
1004India2026-10-10
1005Spain2026-09-26
1006Brazil2026-09-25
1007France2026-09-12
1008Germany2026-10-05
1009Argentina2026-10-07
1010India2026-09-25
1011India2026-09-23
1012Canada2026-09-22
1013Brazil2026-09-13
1014Spain2026-09-13
1015France2026-10-09
1016Russia2026-09-21
1017Italy2026-09-21
1018Russia2026-10-09
1019Argentina2026-09-28
1020India2026-09-27
1021Russia2026-09-22
1022United Kingdom2026-10-09
1023Spain2026-10-06
1024Russia2026-09-29
1025Brazil2026-10-04
1026Spain2026-10-07
1027Canada2026-10-08
1028Australia2026-09-28
1029Argentina2026-09-29
1030Italy2026-09-23
1031Italy2026-10-05
1032United Kingdom2026-09-14
1033India2026-09-14
1034Japan2026-09-16
1035Russia2026-09-20
1036Germany2026-09-18
1037Russia2026-09-30
1038France2026-09-18
1039Russia2026-09-30
1040Canada2026-09-23
1041Spain2026-09-18
1042United Kingdom2026-09-30
1043Russia2026-09-30
1044Brazil2026-09-15
1045Brazil2026-10-09
1046Spain2026-09-14
1047Germany2026-09-15
1048United Kingdom2026-09-30
1049United Kingdom2026-10-02

On-Demand Data

NameIdCountryDate
Greenwood Y Bolognia1000France2026-09-23
Jeanfrancois F Amigon1001Germany2026-10-06
Deepesh E Chui1002Spain2026-10-09
Emily I Malet1003France2026-10-11
Mujtaba I Nestle1004Germany2026-09-28
Izzy E Royster1005Brazil2026-10-04
Darci N Gaucho1006India2026-09-15
Chavez M Royster1007United Kingdom2026-10-03
Octavia Q Poquette1008United Kingdom2026-09-25
Faith P Nicka1009Canada2026-09-15
Smith N Ruta1010Spain2026-09-19
Francesco J Gaucho1011France2026-10-06
Francesco Z Stockham1012Germany2026-09-26
Deepesh X Perin1013Brazil2026-09-16
Octavia A Garufi1014Brazil2026-09-25
Mujtaba F Oldroyd1015Spain2026-09-27
James Z Whobrey1016Italy2026-09-26
Rodrigues A Amigon1017Russia2026-09-26
Sinclair F Dilliard1018Germany2026-09-29
David R Sergi1019India2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro Z GauchoArgentinaAsiya Javayant PROPOSAL
Tony Q PaprockiRussiaOnyama Limba UNQUALIFIED
Sinclair Q AmigonCanadaAnna Fali NEW
Ivar E PoquetteGermanyIvan Magalhaes PROPOSAL
Nicolas X KolmetzAustraliaAnna Fali NEW
Misaki T GauchoItalyStephen Shaw QUALIFIED
Chavez E MarrierArgentinaIoni Bowcher UNQUALIFIED
Alejandro M GlickArgentinaAmy Elsner QUALIFIED
Kaitlin L PoquetteItalyStephen Shaw RENEWAL
Smith F GarufiItalyStephen Shaw NEW
Leja N AlbaresIndiaStephen Shaw UNQUALIFIED
Claire Z MorascaItalyBernardo Dominic QUALIFIED
Juan Z GarufiUnited KingdomIoni Bowcher RENEWAL
Clifford E BowleyAustraliaStephen Shaw QUALIFIED
Claire R WaycottSpainXuxue Feng PROPOSAL
Costa R PaprockiItalyAsiya Javayant NEW
Octavia K ChuiItalyXuxue Feng NEGOTIATION
Francesco N MacleadUnited KingdomIoni Bowcher NEW
Jefferson X PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Misaki B WhobreyItalyAnna Fali NEW
Stacey J AlbaresUnited KingdomBernardo Dominic RENEWAL
Isabel G WhobreyArgentinaAsiya Javayant QUALIFIED
Nicolas C WhobreySpainAsiya Javayant UNQUALIFIED
Smith I OstroskyGermanyIvan Magalhaes QUALIFIED
Cody W SlusarskiBrazilIoni Bowcher PROPOSAL
Salvatore S FerenczFranceAsiya Javayant QUALIFIED
Wickens I WieserUnited KingdomStephen Shaw NEW
Johnson K CaudyIndiaElwin Sharvill PROPOSAL
Kadeem F WaycottUnited KingdomIvan Magalhaes PROPOSAL
Costa Q ChuiIndiaIoni Bowcher RENEWAL
Morrow R OldroydIndiaAsiya Javayant QUALIFIED
Julie B CampainIndiaXuxue Feng QUALIFIED
Jefferson G WaycottSpainAnna Fali NEW
Tony S DoeRussiaIoni Bowcher NEGOTIATION
Murillo M AmigonUnited KingdomStephen Shaw QUALIFIED
Julie F FigeroaArgentinaAmy Elsner QUALIFIED
Misaki S WieserJapanIoni Bowcher QUALIFIED
Leon U FollerIndiaAnna Fali QUALIFIED
Munro S AmigonRussiaElwin Sharvill UNQUALIFIED
Tony Z ButtRussiaAmy Elsner QUALIFIED

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