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
Silvio P RulapaughFranceBernardo Dominic NEW
Greenwood Y BologniaIndiaAnna Fali NEW
James L DarakjyGermanyIoni Bowcher UNQUALIFIED
Kaitlin V SchemmerUnited KingdomIoni Bowcher QUALIFIED
Costa E PoquetteIndiaAnna Fali NEGOTIATION
Costa N OstroskyIndiaOnyama Limba NEW
Tony F GillianJapanAsiya Javayant UNQUALIFIED
Misaki D RimSpainXuxue Feng RENEWAL
Salvatore H RimCanadaBernardo Dominic UNQUALIFIED
Darci K FerenczAustraliaOnyama Limba NEGOTIATION
Stacey S VocelkaUnited KingdomElwin Sharvill NEW
Leon Y PoquetteArgentinaIvan Magalhaes RENEWAL
Smith Z FerenczItalyIoni Bowcher RENEWAL
Arvin E GarufiIndiaStephen Shaw QUALIFIED
Emily K AlbaresUnited KingdomStephen Shaw PROPOSAL
Salvatore E FollerGermanyAsiya Javayant UNQUALIFIED
Silvio Y CaldareraUnited KingdomElwin Sharvill PROPOSAL
Ricardo K RoysterSpainStephen Shaw NEW
Sinclair T MorascaAustraliaAnna Fali RENEWAL
Ricardo V MaletAustraliaAnna Fali NEW
Izzy Y OldroydRussiaBernardo Dominic RENEWAL
Aditya X MaletSpainOnyama Limba RENEWAL
Jeanfrancois X MarrierSpainXuxue Feng PROPOSAL
Deepesh E BologniaBrazilAsiya Javayant PROPOSAL
Cody C DoeAustraliaOnyama Limba QUALIFIED
Aika J SchemmerIndiaBernardo Dominic NEGOTIATION
Aditya W MacleadSpainBernardo Dominic QUALIFIED
David F SaylorsCanadaAsiya Javayant UNQUALIFIED
Mujtaba S VocelkaIndiaAmy Elsner UNQUALIFIED
Salvatore F NickaGermanyElwin Sharvill QUALIFIED
Juan A CaudyGermanyStephen Shaw RENEWAL
Wickens X MaletRussiaAsiya Javayant RENEWAL
Tony F RutaBrazilStephen Shaw NEGOTIATION
Ashley D ButtIndiaBernardo Dominic NEGOTIATION
Claire M SaylorsUnited KingdomElwin Sharvill QUALIFIED
Claire J GlickGermanyStephen Shaw QUALIFIED
Arvin P FollerCanadaIoni Bowcher UNQUALIFIED
Leon T AlbaresJapanXuxue Feng NEGOTIATION
Arvin S BriddickBrazilAsiya Javayant NEGOTIATION
Julie X BologniaUnited KingdomBernardo Dominic QUALIFIED
Smith C WhobreyAustraliaIoni Bowcher NEGOTIATION
Octavia H BriddickRussiaAmy Elsner UNQUALIFIED
Antonio A StensethBrazilXuxue Feng RENEWAL
Nicolas H GauchoJapanElwin Sharvill UNQUALIFIED
Tony B NestleCanadaBernardo Dominic RENEWAL
Aditya D DoeItalyXuxue Feng NEW
Jennifer V SaylorsBrazilIoni Bowcher RENEWAL
Ashley L CaudyArgentinaIoni Bowcher NEGOTIATION
Johnson F OldroydJapanStephen Shaw RENEWAL
Rodrigues V ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro S ChuiItalyOnyama Limba RENEWAL
Morrow C MarrierCanadaBernardo Dominic NEGOTIATION
Rodrigues X CaudyBrazilIvan Magalhaes UNQUALIFIED
Nicolas P StockhamSpainAsiya Javayant QUALIFIED
Rodrigues N MacleadJapanIvan Magalhaes NEW
Ricardo L FollerArgentinaElwin Sharvill NEGOTIATION
Ivar J BowleyIndiaAmy Elsner NEW
Juan P SaylorsSpainStephen Shaw UNQUALIFIED
Francesco Z PoquetteBrazilIoni Bowcher NEGOTIATION
Munro Q WaycottFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh I AmigonItaly2026-10-22Commercial Press UNQUALIFIED37Asiya Javayant
1001Clifford X TollnerGermany2026-11-09Rousseaux, Michael Esq NEW69Onyama Limba
1002Ivar Q NickaBrazil2026-11-06Morlong Associates PROPOSAL17Anna Fali
1003Emily H DoeSpain2026-10-27Commercial Press PROPOSAL98Onyama Limba
1004Murillo Y SaylorsGermany2026-10-19Feltz Printing Service RENEWAL45Elwin Sharvill
1005Cody C RutaAustralia2026-11-07King, Christopher A Esq RENEWAL28Ioni Bowcher
1006Mujtaba D DoeBrazil2026-10-24Commercial Press PROPOSAL89Asiya Javayant
1007Misaki N FerenczJapan2026-10-30Buckley Miller Wright NEGOTIATION61Stephen Shaw
1008Claire A NestleCanada2026-10-24Rangoni Of Florence QUALIFIED94Amy Elsner
1009Salvatore F CampainSpain2026-11-01Rangoni Of Florence UNQUALIFIED9Anna Fali
1010Maisha H NickaIndia2026-10-13Commercial Press NEW7Asiya Javayant
1011Maisha Q BriddickIndia2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED92Xuxue Feng
1012Octavia M MacleadSpain2026-10-30Dorl, James J Esq PROPOSAL71Ivan Magalhaes
1013Ricardo Z CampainIndia2026-10-17Morlong Associates QUALIFIED14Ioni Bowcher
1014Arvin L MaletAustralia2026-10-15Commercial Press NEGOTIATION12Ioni Bowcher
1015Alejandro N InouyeIndia2026-11-06Truhlar And Truhlar Attys NEW78Asiya Javayant
1016Faith D ButtCanada2026-10-26Rangoni Of Florence UNQUALIFIED48Xuxue Feng
1017Jeanfrancois A WhobreyArgentina2026-10-27Truhlar And Truhlar Attys UNQUALIFIED90Anna Fali
1018Darci U FigeroaAustralia2026-10-23Rangoni Of Florence QUALIFIED52Ioni Bowcher
1019Kadeem L VenereBrazil2026-10-17Chemel, James L Cpa PROPOSAL76Asiya Javayant
1020Adams D BowleySpain2026-11-11Commercial Press RENEWAL52Bernardo Dominic
1021Jeanfrancois A KolmetzCanada2026-10-24Commercial Press UNQUALIFIED83Bernardo Dominic
1022Maisha C MacleadJapan2026-10-29Chanay, Jeffrey A Esq RENEWAL82Asiya Javayant
1023Chavez E AlbaresSpain2026-10-26Truhlar And Truhlar Attys QUALIFIED47Stephen Shaw
1024Smith U BowleyCanada2026-11-04Chanay, Jeffrey A Esq PROPOSAL90Ioni Bowcher
1025James G InouyeFrance2026-10-28Rousseaux, Michael Esq RENEWAL98Amy Elsner
1026Ashley T MaletJapan2026-10-30Feiner Bros NEW45Stephen Shaw
1027Claire P WhobreyAustralia2026-10-28King, Christopher A Esq QUALIFIED3Ioni Bowcher
1028Jefferson Y DarakjyBrazil2026-11-07Rousseaux, Michael Esq NEW11Amy Elsner
1029Murillo J MacleadFrance2026-10-17Morlong Associates NEW96Asiya Javayant
1030Smith D RimRussia2026-11-04Buckley Miller Wright RENEWAL87Anna Fali
1031Alejandro Y KuskoAustralia2026-10-31Chapman, Ross E Esq PROPOSAL41Onyama Limba
1032Francesco X GillianBrazil2026-10-13Chapman, Ross E Esq QUALIFIED91Amy Elsner
1033Jennifer F BowleyArgentina2026-10-14Buckley Miller Wright PROPOSAL5Ivan Magalhaes
1034Juan G BologniaItaly2026-10-26Printing Dimensions RENEWAL90Ivan Magalhaes
1035Johnson P GarufiRussia2026-10-25Feltz Printing Service NEGOTIATION64Anna Fali
1036David M WieserCanada2026-10-15Rangoni Of Florence RENEWAL28Bernardo Dominic
1037Mayumi S NickaCanada2026-10-26Commercial Press NEW92Anna Fali
1038Morrow A TollnerIndia2026-11-04Rangoni Of Florence RENEWAL63Amy Elsner
1039Chavez E FerenczCanada2026-10-15Morlong Associates NEW10Ivan Magalhaes
1040Salvatore K CampainJapan2026-11-04Chanay, Jeffrey A Esq PROPOSAL80Amy Elsner
1041Ricardo J NestleJapan2026-10-30Printing Dimensions RENEWAL45Onyama Limba
1042Aditya X OstroskyUnited Kingdom2026-10-28Truhlar And Truhlar Attys UNQUALIFIED99Stephen Shaw
1043Jones I SergiSpain2026-10-17Feltz Printing Service RENEWAL68Stephen Shaw
1044Jennifer F WaycottCanada2026-11-10Chemel, James L Cpa RENEWAL79Amy Elsner
1045Mayumi F AmigonIndia2026-10-26Chanay, Jeffrey A Esq QUALIFIED70Bernardo Dominic
1046Aditya L CampainFrance2026-10-26Feltz Printing Service NEGOTIATION66Anna Fali
1047Leja N PaprockiFrance2026-10-14Rangoni Of Florence PROPOSAL28Ioni Bowcher
1048Jeanfrancois E TollnerSpain2026-10-24Morlong Associates NEGOTIATION38Ioni Bowcher
1049Aruna A DarakjyUnited Kingdom2026-10-16Commercial Press NEGOTIATION21Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio M CaldareraCanadaElwin Sharvill NEGOTIATION
Tony N NickaIndiaElwin Sharvill PROPOSAL
Leja Z MacleadCanadaXuxue Feng PROPOSAL
Mayumi E InouyeUnited KingdomStephen Shaw QUALIFIED
Sinclair J StockhamJapanStephen Shaw RENEWAL
Johnson F SlusarskiItalyElwin Sharvill PROPOSAL
Stacey B MaletJapanIoni Bowcher PROPOSAL
Adams H StensethRussiaAsiya Javayant PROPOSAL
Octavia B ShinkoRussiaIoni Bowcher NEW
Julie I CaudyGermanyStephen Shaw QUALIFIED
Misaki H WhobreySpainIoni Bowcher UNQUALIFIED
Jennifer F RutaGermanyStephen Shaw QUALIFIED
Emily L ShinkoUnited KingdomAnna Fali RENEWAL
Aruna K GillianIndiaStephen Shaw UNQUALIFIED
Silvio W CaudyJapanAnna Fali NEW
Octavia X SchemmerCanadaAsiya Javayant NEGOTIATION
Misaki B GillianIndiaStephen Shaw UNQUALIFIED
Misaki X FollerAustraliaAmy Elsner PROPOSAL
Misaki V DarakjyBrazilIvan Magalhaes RENEWAL
Maria K OstroskyAustraliaXuxue Feng NEGOTIATION
Mayumi O ShinkoJapanXuxue Feng NEGOTIATION
Leja S WaycottFranceOnyama Limba PROPOSAL
Ivar P MaletSpainElwin Sharvill NEGOTIATION
Arvin E PoquetteCanadaStephen Shaw NEGOTIATION
Darci J MaletUnited KingdomXuxue Feng UNQUALIFIED
Julie Q DoeGermanyIvan Magalhaes QUALIFIED
Maria X FerenczFranceIoni Bowcher RENEWAL
Silvio K BologniaCanadaElwin Sharvill UNQUALIFIED
Ricardo C MacleadRussiaAnna Fali PROPOSAL
Antonio G KolmetzAustraliaXuxue Feng PROPOSAL
David Y InouyeIndiaOnyama Limba NEGOTIATION
Leon N StockhamFranceAnna Fali QUALIFIED
Aditya E FigeroaAustraliaIvan Magalhaes PROPOSAL
Emily U AmigonJapanXuxue Feng NEGOTIATION
Aditya B VenereFranceAmy Elsner UNQUALIFIED
Nicolas P KuskoSpainIoni Bowcher QUALIFIED
Izzy C MaletGermanyIoni Bowcher NEW
Julie H KolmetzRussiaStephen Shaw UNQUALIFIED
Tony H WhobreyItalyOnyama Limba UNQUALIFIED
Mujtaba Q DarakjyArgentinaAsiya Javayant UNQUALIFIED
Misaki O PoquetteUnited KingdomElwin Sharvill RENEWAL
Munro M PoquetteAustraliaElwin Sharvill NEGOTIATION
Munro I VocelkaSpainIoni Bowcher UNQUALIFIED
Murillo D AmigonCanadaIoni Bowcher PROPOSAL
Juan O FerenczBrazilStephen Shaw PROPOSAL
Isabel O OldroydCanadaXuxue Feng QUALIFIED
Leon B RimSpainAnna Fali RENEWAL
Kadeem D FlosiJapanIvan Magalhaes NEGOTIATION
Izzy E MaletAustraliaElwin Sharvill QUALIFIED
Tony V StensethSpainStephen Shaw PROPOSAL
Frozen Columns
Name
Isabel U Bolognia
Cody X Nicka
Aika G Marrier
Octavia A Poquette
Faith D Ferencz
Darci G Marrier
James L Stenseth
Julie I Glick
Wickens G Malet
Ivar C Gillian
Claire O Figeroa
David V Malet
Alejandro J Whobrey
Juan G Nicka
Mujtaba N Caldarera
David B Venere
Jennifer E Vocelka
Misaki N Perin
Jefferson K Amigon
Isabel E Paprocki
Julie I Oldroyd
Ivar S Marrier
David F Morasca
Smith A Stenseth
Johnson I Stockham
Faith T Wieser
Leja E Saylors
Murillo H Dilliard
Clifford B Shinko
Alejandro U Rulapaugh
Cody R Amigon
Faith F Butt
Johnson G Ruta
Alejandro Q Rulapaugh
David R Malet
Arvin Q Malet
Ricardo U Schemmer
Jefferson M Poquette
Kadeem R Stockham
Jennifer O Glick
James H Wieser
Alejandro H Figeroa
Maria C Gillian
Costa Z Chui
Emily R Rulapaugh
Misaki H Darakjy
Misaki I Malet
Aika Z Poquette
Salvatore F Garufi
Chavez D Doe
IdCountryDate
1000United Kingdom2026-10-28
1001India2026-11-08
1002Italy2026-11-05
1003Argentina2026-11-01
1004Japan2026-11-02
1005India2026-10-24
1006France2026-11-02
1007United Kingdom2026-11-11
1008United Kingdom2026-10-20
1009United Kingdom2026-10-15
1010Russia2026-11-08
1011Argentina2026-10-13
1012Spain2026-10-27
1013Germany2026-11-06
1014Spain2026-10-22
1015Australia2026-10-20
1016Canada2026-10-20
1017Germany2026-10-29
1018Canada2026-10-14
1019Germany2026-10-28
1020Argentina2026-10-20
1021Brazil2026-11-10
1022India2026-11-10
1023Canada2026-11-08
1024Australia2026-11-07
1025Canada2026-11-05
1026Russia2026-10-21
1027Russia2026-10-27
1028Italy2026-10-21
1029India2026-10-25
1030Russia2026-10-23
1031Italy2026-10-31
1032United Kingdom2026-10-19
1033France2026-11-01
1034Japan2026-11-11
1035Spain2026-10-28
1036India2026-11-06
1037Canada2026-11-11
1038Germany2026-10-18
1039Germany2026-10-19
1040Japan2026-10-13
1041Australia2026-10-16
1042Brazil2026-11-08
1043Russia2026-10-16
1044Italy2026-10-31
1045Germany2026-10-28
1046India2026-10-13
1047Argentina2026-10-24
1048Japan2026-10-26
1049Japan2026-11-05

On-Demand Data

NameIdCountryDate
Darci U Wieser1000Italy2026-11-01
Wickens S Venere1001Argentina2026-10-19
Sinclair O Amigon1002Japan2026-10-28
Antonio U Gillian1003Canada2026-10-20
Misaki N Flosi1004Italy2026-10-30
James S Dilliard1005Italy2026-10-13
Juan U Iturbide1006Brazil2026-10-20
Emily O Ferencz1007Brazil2026-10-25
Clifford A Royster1008Russia2026-11-04
Jeanfrancois V Caldarera1009Italy2026-10-16
Darci A Kolmetz1010Spain2026-10-26
Jennifer U Tollner1011Australia2026-10-26
Mayumi R Stockham1012Brazil2026-10-22
Munro I Foller1013United Kingdom2026-11-02
Jefferson S Glick1014Russia2026-11-03
Kadeem M Marrier1015Australia2026-11-07
Morrow U Waycott1016Japan2026-11-03
Ivar G Malet1017Russia2026-10-21
Cody N Sergi1018Russia2026-11-06
Johnson J Slusarski1019India2026-11-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja D ChuiRussiaElwin Sharvill RENEWAL
Stacey X RutaRussiaElwin Sharvill NEGOTIATION
Munro Q PaprockiBrazilElwin Sharvill QUALIFIED
Aika I FigeroaCanadaAsiya Javayant RENEWAL
Cody M SaylorsCanadaAsiya Javayant PROPOSAL
Murillo V NestleUnited KingdomXuxue Feng NEGOTIATION
Aditya R NickaFranceAmy Elsner PROPOSAL
Mujtaba D MorascaFranceElwin Sharvill UNQUALIFIED
Mayumi Q ButtCanadaAsiya Javayant RENEWAL
Misaki I AmigonFranceIvan Magalhaes PROPOSAL
Antonio S PaprockiSpainAsiya Javayant PROPOSAL
Leja P AlbaresIndiaXuxue Feng NEW
Aruna S TollnerArgentinaOnyama Limba NEW
Julie O BriddickRussiaOnyama Limba UNQUALIFIED
Johnson N ChuiRussiaBernardo Dominic QUALIFIED
Jefferson G MarrierItalyIoni Bowcher RENEWAL
Ashley T DilliardBrazilStephen Shaw QUALIFIED
Salvatore O TollnerItalyIoni Bowcher RENEWAL
Claire Y SchemmerIndiaOnyama Limba PROPOSAL
Leon I IturbideFranceElwin Sharvill PROPOSAL
Julie Z ShinkoGermanyOnyama Limba QUALIFIED
Stacey I RutaFranceOnyama Limba NEW
Sinclair E FerenczSpainIvan Magalhaes PROPOSAL
Maisha V RulapaughCanadaAsiya Javayant NEW
David T GarufiAustraliaBernardo Dominic NEGOTIATION
Wickens N RulapaughSpainXuxue Feng PROPOSAL
Octavia T RutaUnited KingdomIvan Magalhaes NEW
Maria U MorascaCanadaIoni Bowcher NEW
Juan X StockhamRussiaAnna Fali QUALIFIED
Kaitlin K IturbideBrazilXuxue Feng NEW
Alejandro Y MacleadJapanElwin Sharvill QUALIFIED
Nicolas Z NestleArgentinaOnyama Limba UNQUALIFIED
Rodrigues V BologniaCanadaAmy Elsner NEW
Misaki W KuskoSpainBernardo Dominic RENEWAL
Jones E FollerBrazilStephen Shaw PROPOSAL
Ashley R RimCanadaAnna Fali QUALIFIED
Murillo W InouyeItalyAnna Fali NEW
Francesco R AmigonSpainIvan Magalhaes NEGOTIATION
Emily Z TollnerUnited KingdomAnna Fali NEGOTIATION
Munro F VenereBrazilBernardo Dominic 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>