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
Francesco E BriddickIndiaElwin Sharvill NEW
James K ChuiIndiaXuxue Feng QUALIFIED
Francesco F MaletAustraliaAsiya Javayant QUALIFIED
Murillo F OldroydAustraliaAnna Fali QUALIFIED
Jennifer N FollerAustraliaOnyama Limba RENEWAL
Emily V CaudySpainBernardo Dominic RENEWAL
Leja R GillianCanadaAmy Elsner RENEWAL
Aditya L MaletCanadaIvan Magalhaes RENEWAL
Silvio H DilliardFranceAnna Fali QUALIFIED
Ricardo H WieserFranceIvan Magalhaes PROPOSAL
Faith F BowleyAustraliaBernardo Dominic NEGOTIATION
Johnson W SchemmerUnited KingdomIoni Bowcher QUALIFIED
Cody F GlickItalyIoni Bowcher UNQUALIFIED
Ricardo D CaudyUnited KingdomIoni Bowcher NEW
David O OldroydBrazilElwin Sharvill PROPOSAL
Mayumi N TollnerBrazilStephen Shaw NEW
Cody V ShinkoArgentinaAmy Elsner PROPOSAL
Adams Y DoeIndiaOnyama Limba RENEWAL
Morrow M PerinAustraliaElwin Sharvill UNQUALIFIED
Aruna A OldroydBrazilAsiya Javayant NEW
Kadeem L DarakjyArgentinaAsiya Javayant PROPOSAL
Aika X FollerUnited KingdomStephen Shaw NEW
Chavez H DarakjyAustraliaAsiya Javayant RENEWAL
Misaki W AmigonRussiaAsiya Javayant PROPOSAL
Murillo K GarufiArgentinaStephen Shaw NEW
Juan Z AmigonUnited KingdomStephen Shaw RENEWAL
Rodrigues F MorascaBrazilOnyama Limba UNQUALIFIED
Johnson Y ShinkoGermanyAnna Fali NEGOTIATION
Octavia S VenereFranceIvan Magalhaes QUALIFIED
Morrow D SlusarskiItalyStephen Shaw NEGOTIATION
Ashley J RimItalyAnna Fali NEW
Stacey W GlickBrazilIvan Magalhaes PROPOSAL
Juan L FerenczSpainElwin Sharvill PROPOSAL
Greenwood E MaletBrazilAmy Elsner NEW
Izzy K ShinkoJapanElwin Sharvill PROPOSAL
David F StockhamRussiaBernardo Dominic PROPOSAL
Jennifer W PerinAustraliaAsiya Javayant NEW
Francesco F BologniaAustraliaAnna Fali PROPOSAL
Jones L BriddickFranceAmy Elsner NEGOTIATION
Adams A SlusarskiCanadaIvan Magalhaes NEGOTIATION
Arvin F MaletAustraliaAnna Fali NEGOTIATION
Tony H WhobreyRussiaAmy Elsner PROPOSAL
Antonio P WhobreyFranceAmy Elsner RENEWAL
Jones D SchemmerCanadaIvan Magalhaes PROPOSAL
Maria W BowleyItalyElwin Sharvill RENEWAL
Stacey E FollerFranceAnna Fali QUALIFIED
Clifford T OstroskySpainAsiya Javayant NEW
Costa J MacleadCanadaIvan Magalhaes NEW
Alejandro Z BologniaJapanElwin Sharvill RENEWAL
Octavia O RulapaughJapanBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley U CaldareraBrazilOnyama Limba NEW
Leja V WaycottArgentinaIvan Magalhaes RENEWAL
Ashley D DilliardGermanyAsiya Javayant RENEWAL
Aditya K OstroskySpainAmy Elsner PROPOSAL
Sinclair A ButtUnited KingdomOnyama Limba NEGOTIATION
Ashley N InouyeUnited KingdomStephen Shaw PROPOSAL
Mujtaba H GauchoSpainAmy Elsner PROPOSAL
Aruna F NickaIndiaBernardo Dominic QUALIFIED
Sinclair U MorascaItalyAnna Fali QUALIFIED
Nicolas O PoquetteBrazilAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi D KolmetzJapan2026-09-14King, Christopher A Esq NEGOTIATION72Amy Elsner
1001Mujtaba P RutaRussia2026-09-11Feiner Bros RENEWAL82Asiya Javayant
1002Ivar O ShinkoSpain2026-10-04Printing Dimensions QUALIFIED37Ivan Magalhaes
1003Kadeem P GarufiSpain2026-09-11Rousseaux, Michael Esq RENEWAL68Bernardo Dominic
1004Rodrigues M SlusarskiAustralia2026-09-20Dorl, James J Esq NEGOTIATION46Onyama Limba
1005Smith A DilliardRussia2026-10-04Chemel, James L Cpa UNQUALIFIED75Bernardo Dominic
1006Maria U OldroydIndia2026-09-11Morlong Associates NEW98Amy Elsner
1007Faith V PoquetteJapan2026-09-19Morlong Associates UNQUALIFIED73Ivan Magalhaes
1008Jennifer B MacleadJapan2026-09-17Rousseaux, Michael Esq RENEWAL76Xuxue Feng
1009Tony Z OstroskyGermany2026-09-21Printing Dimensions NEGOTIATION96Onyama Limba
1010James J SergiCanada2026-09-15King, Christopher A Esq PROPOSAL98Xuxue Feng
1011Izzy L VocelkaGermany2026-09-28Feiner Bros QUALIFIED55Stephen Shaw
1012Jefferson U GarufiAustralia2026-09-17Rousseaux, Michael Esq NEW35Onyama Limba
1013Ricardo D InouyeUnited Kingdom2026-10-05Rangoni Of Florence RENEWAL27Ioni Bowcher
1014Leon O WaycottCanada2026-09-26Feltz Printing Service PROPOSAL77Anna Fali
1015Sinclair X SergiUnited Kingdom2026-10-07Morlong Associates QUALIFIED22Xuxue Feng
1016Morrow X StensethIndia2026-09-22Commercial Press UNQUALIFIED46Bernardo Dominic
1017Morrow M WhobreyJapan2026-10-09Buckley Miller Wright PROPOSAL9Stephen Shaw
1018Kadeem D FlosiFrance2026-10-10Dorl, James J Esq NEGOTIATION99Asiya Javayant
1019Claire K ButtJapan2026-09-27Truhlar And Truhlar Attys PROPOSAL42Ivan Magalhaes
1020Izzy C GillianBrazil2026-10-01Benton, John B Jr NEW60Stephen Shaw
1021Ricardo D OldroydCanada2026-09-11Feiner Bros UNQUALIFIED37Elwin Sharvill
1022Costa J MarrierJapan2026-09-30Benton, John B Jr RENEWAL78Anna Fali
1023Aruna G DilliardFrance2026-09-27Rousseaux, Michael Esq QUALIFIED19Anna Fali
1024Isabel Z NestleItaly2026-09-11Buckley Miller Wright UNQUALIFIED56Xuxue Feng
1025Clifford R BowleyFrance2026-09-17Chemel, James L Cpa UNQUALIFIED94Elwin Sharvill
1026Juan S InouyeRussia2026-10-01Truhlar And Truhlar Attys UNQUALIFIED15Anna Fali
1027Faith Z OldroydSpain2026-09-27Buckley Miller Wright NEGOTIATION87Asiya Javayant
1028Adams L PerinIndia2026-10-02Buckley Miller Wright UNQUALIFIED32Stephen Shaw
1029Claire L PaprockiIndia2026-10-04Rangoni Of Florence NEGOTIATION88Ivan Magalhaes
1030Francesco U NestleAustralia2026-09-20Chemel, James L Cpa PROPOSAL10Onyama Limba
1031Emily F ButtBrazil2026-10-02King, Christopher A Esq UNQUALIFIED3Amy Elsner
1032Morrow Q FerenczArgentina2026-09-28Chemel, James L Cpa RENEWAL64Elwin Sharvill
1033Johnson C KuskoIndia2026-10-03Rangoni Of Florence NEGOTIATION83Xuxue Feng
1034Morrow T NestleAustralia2026-09-20Dorl, James J Esq QUALIFIED55Ivan Magalhaes
1035Jones D MarrierAustralia2026-10-05Buckley Miller Wright UNQUALIFIED59Anna Fali
1036Faith U KuskoSpain2026-09-22Rousseaux, Michael Esq RENEWAL11Stephen Shaw
1037Kaitlin O VocelkaIndia2026-10-10Buckley Miller Wright NEGOTIATION45Ioni Bowcher
1038Juan I MacleadJapan2026-09-14Chemel, James L Cpa NEW62Amy Elsner
1039Nicolas E OldroydUnited Kingdom2026-10-02Chemel, James L Cpa RENEWAL60Onyama Limba
1040Leon G StockhamIndia2026-09-15Benton, John B Jr NEGOTIATION99Asiya Javayant
1041Aika A BologniaItaly2026-09-13Truhlar And Truhlar Attys PROPOSAL35Elwin Sharvill
1042Misaki L BriddickUnited Kingdom2026-09-30Buckley Miller Wright RENEWAL51Elwin Sharvill
1043Misaki F SaylorsBrazil2026-10-09Dorl, James J Esq NEGOTIATION58Xuxue Feng
1044James E MaletItaly2026-09-22Feiner Bros RENEWAL47Xuxue Feng
1045Claire U ChuiRussia2026-09-18Benton, John B Jr NEGOTIATION6Asiya Javayant
1046David K AlbaresGermany2026-09-22Feiner Bros UNQUALIFIED14Xuxue Feng
1047Alejandro E FollerItaly2026-09-21Morlong Associates RENEWAL83Asiya Javayant
1048Maria S GauchoBrazil2026-10-03Dorl, James J Esq UNQUALIFIED39Bernardo Dominic
1049Chavez W VocelkaAustralia2026-10-08Feltz Printing Service RENEWAL64Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo Z PerinCanadaAsiya Javayant PROPOSAL
Kaitlin Y AmigonJapanElwin Sharvill UNQUALIFIED
Munro R FigeroaFranceIvan Magalhaes UNQUALIFIED
Julie P InouyeCanadaStephen Shaw NEGOTIATION
Misaki C OldroydCanadaIvan Magalhaes QUALIFIED
Munro C KuskoIndiaElwin Sharvill RENEWAL
Wickens C MorascaRussiaAmy Elsner RENEWAL
Clifford H SergiSpainAsiya Javayant UNQUALIFIED
Salvatore O RutaSpainIvan Magalhaes QUALIFIED
Faith D StensethJapanOnyama Limba QUALIFIED
Kaitlin P ChuiAustraliaIvan Magalhaes QUALIFIED
Costa D SlusarskiAustraliaOnyama Limba NEGOTIATION
Smith V IturbideGermanyXuxue Feng NEW
Aika N CaldareraGermanyXuxue Feng RENEWAL
Sinclair K SergiGermanyBernardo Dominic RENEWAL
Jones X IturbideJapanAsiya Javayant UNQUALIFIED
Sinclair V RimRussiaXuxue Feng QUALIFIED
Silvio I FollerIndiaOnyama Limba QUALIFIED
Aika P WhobreyAustraliaAnna Fali UNQUALIFIED
Cody G RulapaughRussiaElwin Sharvill QUALIFIED
Murillo L StockhamJapanAnna Fali UNQUALIFIED
Juan Y RutaCanadaAmy Elsner QUALIFIED
Antonio S CaudyUnited KingdomXuxue Feng NEGOTIATION
Misaki G PerinUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois V VocelkaGermanyStephen Shaw RENEWAL
Faith E SchemmerItalyOnyama Limba PROPOSAL
Rodrigues W DilliardItalyOnyama Limba UNQUALIFIED
Maria G OstroskyCanadaStephen Shaw UNQUALIFIED
Octavia B CampainSpainOnyama Limba UNQUALIFIED
Aruna N NestleUnited KingdomAsiya Javayant UNQUALIFIED
Aika H MacleadItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois U MorascaJapanBernardo Dominic NEGOTIATION
Silvio T MaletUnited KingdomAnna Fali NEW
Misaki Z OldroydJapanOnyama Limba NEGOTIATION
Ashley M MaletGermanyElwin Sharvill NEGOTIATION
Leja J PaprockiJapanAnna Fali UNQUALIFIED
Emily V SaylorsItalyIvan Magalhaes QUALIFIED
Ivar E AlbaresRussiaIoni Bowcher NEGOTIATION
Rodrigues K RulapaughRussiaStephen Shaw UNQUALIFIED
Clifford D SchemmerItalyIoni Bowcher UNQUALIFIED
Misaki B OldroydItalyAnna Fali QUALIFIED
Isabel M PerinIndiaOnyama Limba RENEWAL
Chavez D SaylorsSpainAnna Fali RENEWAL
Alejandro S PaprockiAustraliaStephen Shaw NEW
Morrow G WieserUnited KingdomAsiya Javayant QUALIFIED
Sinclair Z AlbaresSpainOnyama Limba NEGOTIATION
Deepesh V ChuiArgentinaXuxue Feng RENEWAL
Aika R NestleRussiaAmy Elsner RENEWAL
Emily C WaycottCanadaAnna Fali NEW
Salvatore M KolmetzRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Aruna J Ruta
Tony P Paprocki
Emily P Campain
Clifford O Poquette
Misaki P Malet
Emily A Poquette
Silvio F Whobrey
Jennifer R Whobrey
James B Amigon
Cody M Maclead
Aika P Whobrey
Deepesh P Tollner
Tony W Maclead
Stacey P Ferencz
Jefferson Z Chui
Smith Q Briddick
Julie U Schemmer
Aruna V Saylors
Mujtaba F Saylors
Izzy T Shinko
Rodrigues C Malet
Morrow D Ostrosky
Sinclair X Butt
Maisha I Ferencz
Juan Z Gaucho
Deepesh X Foller
Izzy Y Waycott
Emily X Caudy
Darci Z Amigon
Deepesh H Oldroyd
Costa O Bowley
Julie M Briddick
Aika L Bowley
Costa S Briddick
Jefferson Q Garufi
Morrow L Doe
James M Foller
Alejandro I Dilliard
Jennifer D Marrier
Isabel D Caudy
Munro H Maclead
Izzy M Slusarski
Chavez K Ostrosky
Mayumi S Stenseth
Salvatore J Iturbide
Faith U Venere
Silvio Q Tollner
Kadeem Q Butt
Emily Z Malet
Alejandro C Perin
IdCountryDate
1000Germany2026-09-23
1001Japan2026-09-15
1002Germany2026-10-02
1003India2026-09-30
1004India2026-09-14
1005Russia2026-09-27
1006Australia2026-10-04
1007United Kingdom2026-10-08
1008Australia2026-09-28
1009Argentina2026-09-17
1010Canada2026-09-18
1011Russia2026-10-08
1012Italy2026-09-19
1013Germany2026-09-20
1014France2026-09-25
1015Canada2026-10-05
1016Japan2026-10-02
1017Italy2026-09-22
1018Russia2026-09-25
1019Argentina2026-09-18
1020Italy2026-10-01
1021India2026-09-24
1022Russia2026-10-08
1023Australia2026-09-19
1024United Kingdom2026-09-30
1025United Kingdom2026-09-26
1026Italy2026-09-21
1027India2026-09-29
1028Germany2026-09-15
1029United Kingdom2026-09-18
1030Italy2026-09-26
1031Germany2026-09-30
1032United Kingdom2026-10-10
1033Japan2026-10-04
1034Germany2026-09-13
1035Japan2026-09-22
1036Germany2026-09-16
1037India2026-10-07
1038Italy2026-10-06
1039Spain2026-09-11
1040Germany2026-10-02
1041Brazil2026-10-09
1042Spain2026-09-28
1043Spain2026-09-16
1044Brazil2026-09-13
1045Italy2026-09-18
1046India2026-09-15
1047Australia2026-09-17
1048Argentina2026-10-06
1049Canada2026-09-13

On-Demand Data

NameIdCountryDate
Silvio K Poquette1000Italy2026-09-18
James H Figeroa1001Brazil2026-10-03
Juan V Ruta1002India2026-09-17
Octavia I Briddick1003United Kingdom2026-09-22
Rodrigues F Ferencz1004Italy2026-09-24
Clifford V Royster1005Australia2026-09-15
Ricardo O Perin1006Canada2026-09-17
James R Royster1007Russia2026-09-11
Smith C Whobrey1008France2026-09-28
Silvio S Doe1009United Kingdom2026-09-18
Stacey K Nestle1010Japan2026-09-21
Costa N Schemmer1011France2026-10-07
Jones J Stockham1012Australia2026-10-09
Aika H Waycott1013France2026-09-25
Leon V Malet1014Brazil2026-09-17
Faith G Ostrosky1015Russia2026-09-19
Aruna B Malet1016Italy2026-10-04
Cody H Oldroyd1017United Kingdom2026-09-25
Ricardo Q Poquette1018United Kingdom2026-09-25
Misaki V Doe1019Japan2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams T GlickAustraliaBernardo Dominic NEGOTIATION
Wickens Q FollerItalyXuxue Feng RENEWAL
Maisha R GauchoBrazilAnna Fali QUALIFIED
Jennifer U AlbaresRussiaAmy Elsner QUALIFIED
Ashley S AlbaresCanadaStephen Shaw QUALIFIED
Misaki V VenereAustraliaAnna Fali UNQUALIFIED
Misaki S RulapaughItalyStephen Shaw PROPOSAL
Leja Z MaletIndiaXuxue Feng UNQUALIFIED
Morrow M TollnerSpainAnna Fali QUALIFIED
Isabel F FlosiIndiaBernardo Dominic NEW
Julie G KolmetzRussiaIoni Bowcher PROPOSAL
Ashley L DarakjySpainAmy Elsner RENEWAL
Francesco E MorascaUnited KingdomBernardo Dominic PROPOSAL
Leja B CaldareraGermanyOnyama Limba UNQUALIFIED
Leja X GlickCanadaOnyama Limba PROPOSAL
Cody C SchemmerSpainAsiya Javayant PROPOSAL
Leja R SaylorsItalyStephen Shaw RENEWAL
Murillo R RimBrazilIvan Magalhaes RENEWAL
Sinclair E MaletItalyOnyama Limba QUALIFIED
Darci I AmigonBrazilStephen Shaw NEGOTIATION
Misaki P SergiFranceAnna Fali QUALIFIED
Adams O AmigonFranceAnna Fali NEW
Darci F TollnerItalyAsiya Javayant NEW
James W CaldareraJapanXuxue Feng NEGOTIATION
Costa M FerenczIndiaIvan Magalhaes QUALIFIED
Maisha T SlusarskiRussiaElwin Sharvill PROPOSAL
Salvatore J IturbideBrazilXuxue Feng NEGOTIATION
Claire T ChuiIndiaElwin Sharvill NEW
Leja B FerenczBrazilIvan Magalhaes NEGOTIATION
Chavez X SlusarskiArgentinaAsiya Javayant RENEWAL
James W WaycottCanadaOnyama Limba NEGOTIATION
David M MaletUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson N VenereRussiaElwin Sharvill NEW
Leon L GarufiUnited KingdomOnyama Limba NEGOTIATION
Jones T TollnerJapanIvan Magalhaes PROPOSAL
Nicolas D MorascaCanadaAnna Fali UNQUALIFIED
Kadeem H MaletItalyAnna Fali PROPOSAL
Francesco B BowleyUnited KingdomBernardo Dominic UNQUALIFIED
James N ChuiJapanAsiya Javayant NEW
Rodrigues N GlickArgentinaAnna Fali NEW

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