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
Jeanfrancois Q NickaArgentinaAnna Fali RENEWAL
Claire D ButtFranceAnna Fali NEW
Francesco Q AlbaresGermanyXuxue Feng NEW
Leon I IturbideSpainAsiya Javayant QUALIFIED
Salvatore A BriddickJapanAmy Elsner PROPOSAL
Ricardo F OldroydRussiaBernardo Dominic NEGOTIATION
Nicolas Q DoeFranceAmy Elsner NEGOTIATION
Aruna U OldroydRussiaAnna Fali NEW
Tony S MacleadBrazilStephen Shaw NEW
Costa I ChuiFranceAnna Fali QUALIFIED
Salvatore N InouyeArgentinaBernardo Dominic PROPOSAL
Smith Y MaletIndiaOnyama Limba RENEWAL
Tony L RoysterJapanAnna Fali UNQUALIFIED
Claire K BowleySpainAnna Fali RENEWAL
Kaitlin P BologniaCanadaXuxue Feng NEGOTIATION
Kadeem M NickaArgentinaAsiya Javayant RENEWAL
Faith H SaylorsJapanAmy Elsner PROPOSAL
Leon M WaycottBrazilIoni Bowcher RENEWAL
Misaki N BowleyGermanyOnyama Limba NEW
Aruna V PerinIndiaOnyama Limba UNQUALIFIED
Francesco Q SergiBrazilAsiya Javayant NEW
David G IturbideRussiaIoni Bowcher NEGOTIATION
Tony J MaletArgentinaBernardo Dominic QUALIFIED
Chavez Y AlbaresJapanAmy Elsner PROPOSAL
Leon L WieserItalyIoni Bowcher UNQUALIFIED
Costa O KuskoIndiaAnna Fali NEGOTIATION
Aditya C SergiGermanyStephen Shaw NEGOTIATION
Wickens P BologniaJapanAnna Fali PROPOSAL
Maisha V BriddickFranceOnyama Limba UNQUALIFIED
Costa B StockhamAustraliaAsiya Javayant NEW
Silvio R PerinSpainIoni Bowcher RENEWAL
Greenwood V CampainIndiaOnyama Limba RENEWAL
Murillo U OstroskyGermanyBernardo Dominic QUALIFIED
Leja M InouyeJapanBernardo Dominic RENEWAL
Claire B CampainJapanAnna Fali NEGOTIATION
Arvin I GlickArgentinaAsiya Javayant QUALIFIED
Aruna J ChuiAustraliaStephen Shaw UNQUALIFIED
Wickens G RutaJapanStephen Shaw NEGOTIATION
Jeanfrancois K RoysterJapanStephen Shaw NEW
Adams B FlosiBrazilOnyama Limba PROPOSAL
Arvin P FlosiCanadaAmy Elsner UNQUALIFIED
Maria W VenereUnited KingdomIvan Magalhaes RENEWAL
Leon Q StensethUnited KingdomIoni Bowcher PROPOSAL
Kadeem E MaletUnited KingdomXuxue Feng UNQUALIFIED
Ashley L RulapaughSpainIoni Bowcher RENEWAL
Salvatore M ChuiRussiaAsiya Javayant QUALIFIED
Faith Q IturbideSpainOnyama Limba QUALIFIED
Ashley E OldroydFranceIoni Bowcher RENEWAL
Tony K WieserCanadaIvan Magalhaes QUALIFIED
Ashley B CaudyItalyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues W WieserCanadaIvan Magalhaes PROPOSAL
Jefferson Z DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Isabel T SaylorsSpainIoni Bowcher NEW
Ricardo I StensethCanadaStephen Shaw NEW
Aika M GauchoFranceStephen Shaw PROPOSAL
Jennifer G WhobreyFranceStephen Shaw NEW
Leon S FollerCanadaOnyama Limba PROPOSAL
David E FlosiItalyXuxue Feng NEW
Kadeem Y StensethIndiaIvan Magalhaes PROPOSAL
Leja A CaudySpainOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa A AlbaresJapan2026-10-17Morlong Associates UNQUALIFIED79Anna Fali
1001Isabel Z GlickArgentina2026-10-21Feltz Printing Service NEGOTIATION99Elwin Sharvill
1002Aruna Q CaudyRussia2026-10-12Feltz Printing Service NEGOTIATION77Anna Fali
1003Octavia W MaletItaly2026-10-18Feiner Bros NEW1Bernardo Dominic
1004Stacey C KolmetzBrazil2026-10-18Rangoni Of Florence NEGOTIATION11Bernardo Dominic
1005Faith H MaletSpain2026-10-19Feltz Printing Service NEGOTIATION24Asiya Javayant
1006Nicolas Y KolmetzItaly2026-09-29Truhlar And Truhlar Attys RENEWAL37Bernardo Dominic
1007Juan F VocelkaItaly2026-10-19Feltz Printing Service UNQUALIFIED73Onyama Limba
1008Emily E RoysterUnited Kingdom2026-10-22Chemel, James L Cpa QUALIFIED36Stephen Shaw
1009Aruna G StensethRussia2026-09-28Dorl, James J Esq QUALIFIED92Onyama Limba
1010Jeanfrancois O FlosiBrazil2026-09-23Truhlar And Truhlar Attys QUALIFIED74Onyama Limba
1011Juan N WaycottArgentina2026-10-04Morlong Associates UNQUALIFIED68Amy Elsner
1012Costa B SaylorsBrazil2026-09-23Commercial Press UNQUALIFIED64Xuxue Feng
1013Nicolas X AlbaresFrance2026-10-12Dorl, James J Esq NEGOTIATION18Onyama Limba
1014Alejandro R SaylorsAustralia2026-09-26Dorl, James J Esq QUALIFIED58Stephen Shaw
1015Johnson G BowleyGermany2026-10-14Morlong Associates UNQUALIFIED8Xuxue Feng
1016Stacey H ChuiJapan2026-09-24Morlong Associates PROPOSAL42Anna Fali
1017Antonio H KuskoBrazil2026-10-21Chanay, Jeffrey A Esq NEW84Ivan Magalhaes
1018Aruna G RutaFrance2026-10-17Feltz Printing Service NEGOTIATION6Ivan Magalhaes
1019Ricardo O FlosiRussia2026-09-23Rangoni Of Florence NEGOTIATION24Ioni Bowcher
1020Adams S FlosiUnited Kingdom2026-10-09Benton, John B Jr NEW5Amy Elsner
1021Kadeem Y ButtItaly2026-10-10Rousseaux, Michael Esq QUALIFIED75Stephen Shaw
1022Deepesh J IturbideFrance2026-10-10Feltz Printing Service UNQUALIFIED72Anna Fali
1023Arvin F VocelkaFrance2026-10-16Chanay, Jeffrey A Esq NEGOTIATION96Elwin Sharvill
1024Nicolas T SlusarskiRussia2026-10-05Dorl, James J Esq NEW32Ivan Magalhaes
1025Darci Y PoquetteArgentina2026-10-21Benton, John B Jr QUALIFIED49Bernardo Dominic
1026Johnson N BowleyJapan2026-10-16Chanay, Jeffrey A Esq QUALIFIED88Ioni Bowcher
1027Faith Q DarakjyItaly2026-10-12Chapman, Ross E Esq PROPOSAL47Onyama Limba
1028Julie A StockhamCanada2026-10-11Dorl, James J Esq NEW18Bernardo Dominic
1029Ashley E WieserBrazil2026-09-26Chapman, Ross E Esq PROPOSAL30Amy Elsner
1030Alejandro R MacleadRussia2026-09-26Rousseaux, Michael Esq UNQUALIFIED27Asiya Javayant
1031Silvio H KuskoBrazil2026-10-12Rangoni Of Florence RENEWAL79Ioni Bowcher
1032Jefferson N CampainArgentina2026-10-13Feltz Printing Service UNQUALIFIED76Stephen Shaw
1033Morrow W NestleItaly2026-10-17Chemel, James L Cpa QUALIFIED50Ivan Magalhaes
1034Jones O OldroydIndia2026-10-19Feiner Bros UNQUALIFIED41Xuxue Feng
1035Leja A CampainUnited Kingdom2026-10-02Commercial Press PROPOSAL4Onyama Limba
1036Cody G BologniaSpain2026-10-02King, Christopher A Esq PROPOSAL92Bernardo Dominic
1037Jennifer S NickaCanada2026-10-03Buckley Miller Wright NEW41Amy Elsner
1038Kaitlin B KuskoBrazil2026-10-11Benton, John B Jr NEW94Ioni Bowcher
1039Emily L CaldareraIndia2026-10-22King, Christopher A Esq UNQUALIFIED71Ivan Magalhaes
1040Izzy P FigeroaArgentina2026-10-15Dorl, James J Esq NEGOTIATION66Stephen Shaw
1041Nicolas L PoquetteIndia2026-10-21Chemel, James L Cpa RENEWAL34Ivan Magalhaes
1042Adams Y MaletArgentina2026-10-04Feltz Printing Service NEW11Amy Elsner
1043Costa J WhobreyItaly2026-09-30Morlong Associates PROPOSAL46Amy Elsner
1044Costa U StockhamFrance2026-10-06Feiner Bros NEW98Ivan Magalhaes
1045Francesco V SaylorsIndia2026-10-04Chemel, James L Cpa NEW78Onyama Limba
1046Darci O DilliardRussia2026-10-15Chemel, James L Cpa RENEWAL58Amy Elsner
1047Stacey O FollerCanada2026-10-11Feiner Bros UNQUALIFIED9Anna Fali
1048Darci K OldroydItaly2026-10-13Dorl, James J Esq RENEWAL78Onyama Limba
1049Adams X OstroskyItaly2026-10-22Buckley Miller Wright UNQUALIFIED17Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki F SergiRussiaElwin Sharvill RENEWAL
Sinclair Z NestleBrazilStephen Shaw PROPOSAL
Salvatore Y FlosiAustraliaOnyama Limba NEGOTIATION
Silvio R FerenczJapanAsiya Javayant NEGOTIATION
Emily Z WieserArgentinaStephen Shaw NEW
Salvatore Q GauchoSpainOnyama Limba PROPOSAL
Emily A StockhamSpainElwin Sharvill NEGOTIATION
Salvatore B RulapaughBrazilBernardo Dominic QUALIFIED
Chavez W WaycottRussiaElwin Sharvill QUALIFIED
Aditya Z DoeSpainAnna Fali PROPOSAL
Nicolas K MarrierAustraliaElwin Sharvill RENEWAL
Isabel Q GillianFranceOnyama Limba NEW
Maisha N GlickCanadaIoni Bowcher NEW
Johnson W TollnerAustraliaIvan Magalhaes UNQUALIFIED
Claire L BologniaJapanAsiya Javayant NEW
Murillo J IturbideIndiaAsiya Javayant RENEWAL
David O KuskoCanadaIvan Magalhaes RENEWAL
Chavez E WhobreyIndiaElwin Sharvill UNQUALIFIED
Darci I MacleadAustraliaElwin Sharvill UNQUALIFIED
Kaitlin W NickaUnited KingdomAnna Fali PROPOSAL
Isabel I WaycottGermanyIoni Bowcher NEGOTIATION
David K PerinSpainAsiya Javayant NEW
Ivar L DoeFranceAmy Elsner RENEWAL
Chavez H RulapaughAustraliaElwin Sharvill RENEWAL
David X SlusarskiCanadaOnyama Limba NEW
Munro H RoysterArgentinaElwin Sharvill QUALIFIED
Ivar P MaletIndiaAsiya Javayant QUALIFIED
Aditya P GauchoGermanyBernardo Dominic QUALIFIED
Tony I SaylorsRussiaIvan Magalhaes RENEWAL
Antonio N NickaGermanyAnna Fali UNQUALIFIED
Julie U OstroskyCanadaBernardo Dominic RENEWAL
Aika H PerinCanadaAmy Elsner RENEWAL
Cody Y StensethIndiaAnna Fali PROPOSAL
Johnson Z AmigonArgentinaAmy Elsner NEW
David X CaudyArgentinaStephen Shaw NEW
Deepesh Q AmigonArgentinaIoni Bowcher PROPOSAL
Adams C FollerItalyXuxue Feng QUALIFIED
Adams N MorascaGermanyElwin Sharvill QUALIFIED
Aika U GarufiFranceAsiya Javayant PROPOSAL
Faith Y WieserRussiaAnna Fali NEGOTIATION
Chavez A RoysterCanadaBernardo Dominic PROPOSAL
Darci H PerinArgentinaAnna Fali QUALIFIED
Aditya M MorascaIndiaOnyama Limba NEW
Tony N ButtGermanyElwin Sharvill RENEWAL
Isabel F StockhamFranceAsiya Javayant RENEWAL
Silvio F GarufiAustraliaStephen Shaw NEW
Salvatore I RulapaughUnited KingdomXuxue Feng RENEWAL
Juan O VenereUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore O DoeRussiaAnna Fali QUALIFIED
Tony U AmigonJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Aika P Amigon
Francesco T Paprocki
Isabel J Nestle
Juan C Perin
Antonio U Oldroyd
Morrow X Marrier
Emily W Waycott
Ricardo M Nicka
Sinclair W Stenseth
Mujtaba E Caudy
Izzy Y Vocelka
Emily A Figeroa
Costa I Maclead
Costa O Doe
Morrow V Rulapaugh
Murillo N Inouye
Maisha B Perin
Darci X Foller
Nicolas O Royster
Jones M Glick
Murillo Z Flosi
Munro A Garufi
Kaitlin I Iturbide
Faith N Wieser
Costa C Caudy
Jennifer O Rulapaugh
Murillo R Nestle
Greenwood S Amigon
David Z Oldroyd
Octavia S Whobrey
Costa B Flosi
Cody G Whobrey
Darci I Gaucho
Arvin T Paprocki
Francesco T Slusarski
Jennifer M Kolmetz
Morrow C Kusko
Salvatore J Vocelka
Octavia C Malet
Greenwood Z Royster
Juan I Bowley
James P Garufi
Misaki Q Butt
Munro O Saylors
Aruna J Foller
David D Royster
Cody W Wieser
Murillo E Malet
James I Darakjy
Nicolas E Darakjy
IdCountryDate
1000France2026-10-18
1001France2026-10-08
1002Japan2026-10-09
1003Germany2026-10-07
1004Italy2026-10-17
1005Italy2026-10-19
1006Russia2026-10-12
1007France2026-10-11
1008Japan2026-09-30
1009India2026-10-16
1010Canada2026-10-12
1011Australia2026-10-05
1012Japan2026-10-15
1013Spain2026-10-14
1014Italy2026-09-23
1015Russia2026-10-22
1016Italy2026-10-20
1017France2026-10-11
1018Brazil2026-09-25
1019Japan2026-10-05
1020Canada2026-09-29
1021Australia2026-10-15
1022Spain2026-10-03
1023Japan2026-10-20
1024United Kingdom2026-10-02
1025France2026-09-25
1026France2026-10-06
1027Canada2026-09-25
1028Italy2026-09-23
1029Russia2026-10-04
1030Germany2026-09-26
1031Spain2026-10-12
1032United Kingdom2026-09-30
1033Japan2026-10-01
1034Germany2026-10-12
1035Russia2026-10-06
1036Japan2026-10-22
1037Germany2026-10-17
1038India2026-10-03
1039Japan2026-10-01
1040Japan2026-09-24
1041Argentina2026-10-10
1042India2026-09-23
1043Italy2026-09-29
1044Canada2026-10-20
1045Spain2026-09-28
1046Australia2026-10-14
1047Germany2026-10-16
1048Italy2026-09-27
1049Canada2026-10-06

On-Demand Data

NameIdCountryDate
Claire N Doe1000Brazil2026-09-27
Adams D Doe1001Italy2026-09-30
Smith B Poquette1002Germany2026-10-16
Morrow K Malet1003Germany2026-10-10
Costa B Slusarski1004Germany2026-10-22
Mayumi P Morasca1005Japan2026-10-01
Ivar S Caudy1006Argentina2026-10-08
Aika F Flosi1007Australia2026-09-29
Jefferson M Ruta1008Russia2026-10-15
Aika T Garufi1009Russia2026-10-16
Clifford J Ostrosky1010Russia2026-09-24
Costa O Darakjy1011Australia2026-10-16
Ivar R Kolmetz1012Brazil2026-10-04
Costa I Bolognia1013Russia2026-10-05
Maisha R Bowley1014Canada2026-10-21
Faith Z Bowley1015Brazil2026-10-17
Cody W Whobrey1016Italy2026-10-06
Ivar A Perin1017Brazil2026-10-18
Leon G Iturbide1018Russia2026-09-29
Juan O Morasca1019Spain2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo X PaprockiBrazilXuxue Feng UNQUALIFIED
Chavez X ButtGermanyXuxue Feng RENEWAL
Octavia X BowleyJapanIvan Magalhaes QUALIFIED
Greenwood Z GauchoJapanOnyama Limba RENEWAL
Aditya R MaletIndiaIvan Magalhaes NEW
James X PaprockiAustraliaAnna Fali PROPOSAL
Tony S PoquetteGermanyAnna Fali QUALIFIED
Leja Q BologniaAustraliaStephen Shaw NEGOTIATION
Cody G IturbideUnited KingdomStephen Shaw NEGOTIATION
Francesco L MacleadIndiaAsiya Javayant RENEWAL
Mujtaba Y SlusarskiFranceBernardo Dominic NEW
Mujtaba Y DilliardGermanyOnyama Limba PROPOSAL
Leja L CaudyBrazilIvan Magalhaes RENEWAL
James P GauchoUnited KingdomAsiya Javayant NEGOTIATION
Antonio G DilliardCanadaAnna Fali RENEWAL
James X WhobreyItalyStephen Shaw NEW
Ivar H WieserCanadaIvan Magalhaes RENEWAL
Jones E DilliardItalyAnna Fali QUALIFIED
Nicolas H FlosiRussiaAnna Fali RENEWAL
Maria A VenereFranceAmy Elsner NEGOTIATION
Francesco I BriddickCanadaStephen Shaw NEW
Juan J ChuiIndiaIoni Bowcher RENEWAL
Antonio H SlusarskiGermanyIoni Bowcher PROPOSAL
Jones L DarakjyCanadaOnyama Limba NEW
Wickens R GarufiJapanAsiya Javayant UNQUALIFIED
Claire Q GillianItalyAmy Elsner QUALIFIED
Julie I StockhamSpainOnyama Limba QUALIFIED
Jefferson Q RutaCanadaIoni Bowcher NEGOTIATION
Rodrigues M PaprockiBrazilAsiya Javayant NEW
Faith I WhobreySpainOnyama Limba UNQUALIFIED
Jones C MorascaItalyAnna Fali PROPOSAL
Rodrigues W KuskoItalyAsiya Javayant UNQUALIFIED
Ashley S SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Salvatore A RimJapanAnna Fali QUALIFIED
Leon R StockhamCanadaOnyama Limba NEGOTIATION
Aika H CaudyItalyBernardo Dominic PROPOSAL
Munro I MacleadBrazilXuxue Feng NEW
Darci O VocelkaUnited KingdomBernardo Dominic NEW
Claire S GarufiBrazilAsiya Javayant RENEWAL
Leon N KolmetzRussiaIvan 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>