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
Ricardo P RulapaughAustraliaOnyama Limba NEW
Smith K RulapaughUnited KingdomAnna Fali QUALIFIED
Smith C MorascaArgentinaIvan Magalhaes RENEWAL
Francesco M IturbideFranceStephen Shaw QUALIFIED
Jones J InouyeBrazilAsiya Javayant PROPOSAL
Deepesh Q FigeroaSpainAmy Elsner UNQUALIFIED
Kadeem Y IturbideIndiaAmy Elsner PROPOSAL
Arvin B DilliardRussiaElwin Sharvill NEW
Jefferson D BowleyGermanyAnna Fali NEGOTIATION
Izzy W MacleadArgentinaAmy Elsner QUALIFIED
Misaki I SlusarskiArgentinaStephen Shaw PROPOSAL
Greenwood F PaprockiBrazilBernardo Dominic RENEWAL
Aditya H FlosiSpainAsiya Javayant PROPOSAL
Alejandro W RutaGermanyStephen Shaw PROPOSAL
Cody C GlickSpainAnna Fali PROPOSAL
Costa U CaldareraGermanyXuxue Feng NEW
Smith O VenereIndiaElwin Sharvill NEGOTIATION
Darci M BologniaSpainIoni Bowcher QUALIFIED
Darci V SergiRussiaBernardo Dominic PROPOSAL
Aika X DilliardJapanAnna Fali NEW
Arvin U AlbaresRussiaIoni Bowcher QUALIFIED
Sinclair V SlusarskiRussiaAsiya Javayant QUALIFIED
Faith P GillianItalyAnna Fali QUALIFIED
Emily O VenereRussiaElwin Sharvill RENEWAL
Maria K SchemmerBrazilStephen Shaw UNQUALIFIED
Arvin X OstroskyCanadaOnyama Limba RENEWAL
Greenwood W ShinkoCanadaAnna Fali QUALIFIED
Munro G StensethCanadaIoni Bowcher RENEWAL
Ashley T RutaSpainXuxue Feng QUALIFIED
Jennifer C ShinkoRussiaIoni Bowcher NEW
Munro I OstroskyIndiaElwin Sharvill NEGOTIATION
Izzy P IturbideCanadaElwin Sharvill RENEWAL
Stacey C VenereAustraliaAsiya Javayant QUALIFIED
Aika N WieserBrazilIoni Bowcher PROPOSAL
Morrow U PaprockiGermanyAnna Fali NEW
Alejandro R GarufiCanadaOnyama Limba PROPOSAL
Salvatore Z RutaRussiaAnna Fali UNQUALIFIED
Leon K RimBrazilIoni Bowcher RENEWAL
Tony H VenereRussiaBernardo Dominic RENEWAL
Julie R RimItalyBernardo Dominic UNQUALIFIED
Kadeem E GarufiRussiaXuxue Feng UNQUALIFIED
Alejandro P VenereBrazilXuxue Feng NEW
Antonio K FigeroaItalyIvan Magalhaes NEW
Smith Y FerenczRussiaOnyama Limba RENEWAL
Chavez B OldroydSpainStephen Shaw PROPOSAL
Julie D VenereArgentinaAmy Elsner NEGOTIATION
Munro U IturbideCanadaStephen Shaw NEW
Alejandro U DoeUnited KingdomIoni Bowcher RENEWAL
Kadeem H AmigonRussiaElwin Sharvill QUALIFIED
Sinclair Q FollerArgentinaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Leja T WhobreyGermanyElwin Sharvill RENEWAL
Julie N GarufiJapanAsiya Javayant QUALIFIED
Juan S SlusarskiCanadaElwin Sharvill PROPOSAL
Cody K DarakjyBrazilIvan Magalhaes QUALIFIED
Deepesh U OldroydSpainAnna Fali RENEWAL
Octavia M RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Antonio F RoysterRussiaAmy Elsner NEW
David I GauchoAustraliaIvan Magalhaes PROPOSAL
Deepesh E FigeroaIndiaIvan Magalhaes QUALIFIED
Munro Y CaldareraBrazilElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem E SergiUnited Kingdom2026-10-12Rangoni Of Florence QUALIFIED67Ioni Bowcher
1001Chavez T RulapaughFrance2026-10-20Buckley Miller Wright NEGOTIATION38Ivan Magalhaes
1002Johnson P SlusarskiAustralia2026-10-14Feltz Printing Service NEW24Ioni Bowcher
1003Aika G BriddickFrance2026-10-05Chemel, James L Cpa PROPOSAL22Ivan Magalhaes
1004Silvio G InouyeFrance2026-10-31Chapman, Ross E Esq UNQUALIFIED21Ivan Magalhaes
1005Julie G FerenczCanada2026-10-26Dorl, James J Esq QUALIFIED40Stephen Shaw
1006Maria E FerenczAustralia2026-10-23Rangoni Of Florence QUALIFIED33Bernardo Dominic
1007Ivar X VenereGermany2026-10-25Buckley Miller Wright NEW57Ioni Bowcher
1008Cody W VocelkaIndia2026-10-10Feiner Bros NEW37Asiya Javayant
1009Izzy L DarakjyGermany2026-10-06Feiner Bros NEGOTIATION92Amy Elsner
1010Darci D CaudyAustralia2026-10-17Buckley Miller Wright NEGOTIATION2Ioni Bowcher
1011Jones I MarrierItaly2026-10-12Truhlar And Truhlar Attys NEGOTIATION9Ioni Bowcher
1012Costa R CaudyJapan2026-10-15Chemel, James L Cpa NEW51Amy Elsner
1013Ricardo P ShinkoIndia2026-10-21Commercial Press NEGOTIATION17Onyama Limba
1014Misaki E ChuiAustralia2026-10-10Morlong Associates QUALIFIED63Stephen Shaw
1015Johnson V MacleadSpain2026-10-17Feltz Printing Service UNQUALIFIED74Amy Elsner
1016Jennifer S InouyeGermany2026-10-17Dorl, James J Esq RENEWAL65Amy Elsner
1017Adams R SergiItaly2026-10-09Chanay, Jeffrey A Esq RENEWAL38Anna Fali
1018Adams G IturbideItaly2026-10-29King, Christopher A Esq NEW73Asiya Javayant
1019Kadeem F DilliardRussia2026-10-12Chemel, James L Cpa NEW90Ivan Magalhaes
1020Cody P TollnerGermany2026-10-09Printing Dimensions PROPOSAL43Bernardo Dominic
1021Leja J OstroskyFrance2026-10-23Commercial Press NEW84Onyama Limba
1022Jeanfrancois T GarufiBrazil2026-10-14Feltz Printing Service UNQUALIFIED87Ivan Magalhaes
1023James N CaudyGermany2026-10-30Commercial Press NEW18Bernardo Dominic
1024Rodrigues U StensethGermany2026-11-01Buckley Miller Wright PROPOSAL93Elwin Sharvill
1025Francesco Z PaprockiRussia2026-10-06Chemel, James L Cpa PROPOSAL73Ivan Magalhaes
1026Misaki H MaletIndia2026-10-25Morlong Associates NEGOTIATION0Bernardo Dominic
1027Mujtaba W MarrierUnited Kingdom2026-10-21Dorl, James J Esq NEW0Xuxue Feng
1028Claire M CampainArgentina2026-10-09Commercial Press UNQUALIFIED19Ioni Bowcher
1029Antonio I RulapaughUnited Kingdom2026-10-20Feiner Bros QUALIFIED99Anna Fali
1030Ricardo S FlosiIndia2026-10-21Morlong Associates NEW71Ioni Bowcher
1031Jennifer A FlosiFrance2026-10-09Printing Dimensions PROPOSAL33Ioni Bowcher
1032Adams O WhobreyIndia2026-10-11Chemel, James L Cpa UNQUALIFIED42Stephen Shaw
1033Smith I RulapaughIndia2026-10-11Truhlar And Truhlar Attys UNQUALIFIED67Amy Elsner
1034Jennifer T GauchoRussia2026-10-20Rangoni Of Florence NEGOTIATION51Stephen Shaw
1035Deepesh L AlbaresCanada2026-10-12Buckley Miller Wright NEGOTIATION32Asiya Javayant
1036Juan V CaudyAustralia2026-10-03Dorl, James J Esq PROPOSAL4Stephen Shaw
1037Leon R ButtSpain2026-10-18Chanay, Jeffrey A Esq NEGOTIATION26Onyama Limba
1038Aditya O MaletGermany2026-10-30Truhlar And Truhlar Attys NEW11Asiya Javayant
1039Salvatore X NestleCanada2026-10-26Rangoni Of Florence QUALIFIED7Xuxue Feng
1040Salvatore S RimGermany2026-10-04Truhlar And Truhlar Attys UNQUALIFIED17Elwin Sharvill
1041Chavez G MaletBrazil2026-10-08Rangoni Of Florence RENEWAL88Anna Fali
1042Izzy S RulapaughIndia2026-10-14Buckley Miller Wright NEGOTIATION91Stephen Shaw
1043Morrow V ChuiArgentina2026-11-01Buckley Miller Wright QUALIFIED68Onyama Limba
1044Ricardo Q BriddickRussia2026-10-22Dorl, James J Esq QUALIFIED94Amy Elsner
1045Murillo V VenereUnited Kingdom2026-10-24Feltz Printing Service NEGOTIATION90Bernardo Dominic
1046Cody D StockhamRussia2026-10-20Rousseaux, Michael Esq NEGOTIATION14Onyama Limba
1047Emily A KolmetzAustralia2026-10-24Feltz Printing Service QUALIFIED9Ioni Bowcher
1048Nicolas Z WieserAustralia2026-10-26Dorl, James J Esq QUALIFIED46Bernardo Dominic
1049Greenwood A InouyeSpain2026-10-20Commercial Press NEW77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Cody L KuskoUnited KingdomAmy Elsner NEGOTIATION
Izzy B GlickAustraliaElwin Sharvill NEW
Stacey W KolmetzIndiaXuxue Feng QUALIFIED
Costa L RulapaughFranceAmy Elsner QUALIFIED
Leon T OstroskyArgentinaIoni Bowcher QUALIFIED
Kaitlin J NestleItalyBernardo Dominic UNQUALIFIED
Jeanfrancois V AlbaresAustraliaIoni Bowcher RENEWAL
Francesco E InouyeArgentinaOnyama Limba QUALIFIED
Cody D GarufiItalyStephen Shaw NEW
Isabel X OldroydJapanBernardo Dominic NEW
Maria A FlosiCanadaOnyama Limba UNQUALIFIED
Aika H RoysterSpainXuxue Feng NEW
Leja X OstroskyUnited KingdomStephen Shaw NEGOTIATION
Leja X RoysterUnited KingdomIvan Magalhaes RENEWAL
Greenwood U IturbideGermanyXuxue Feng PROPOSAL
Aika O PaprockiIndiaXuxue Feng UNQUALIFIED
Clifford I DilliardIndiaOnyama Limba PROPOSAL
Leon X RoysterBrazilOnyama Limba UNQUALIFIED
Jennifer E NestleRussiaOnyama Limba UNQUALIFIED
Cody K AmigonIndiaXuxue Feng QUALIFIED
Chavez A BologniaIndiaBernardo Dominic RENEWAL
Sinclair G StockhamAustraliaAsiya Javayant RENEWAL
Emily K KolmetzIndiaOnyama Limba NEW
Kadeem E StockhamIndiaIoni Bowcher NEGOTIATION
Chavez N MaletGermanyAnna Fali UNQUALIFIED
Ricardo A GillianArgentinaIoni Bowcher RENEWAL
Mujtaba W RoysterUnited KingdomAsiya Javayant QUALIFIED
Salvatore I MorascaGermanyOnyama Limba RENEWAL
Claire I WaycottItalyStephen Shaw UNQUALIFIED
Maria A RutaAustraliaIvan Magalhaes RENEWAL
Ricardo N ButtIndiaElwin Sharvill NEW
Izzy Z StockhamRussiaAnna Fali RENEWAL
Mayumi I GlickFranceElwin Sharvill RENEWAL
Leon I VocelkaUnited KingdomXuxue Feng QUALIFIED
Kadeem O FollerBrazilXuxue Feng RENEWAL
Maria I NickaIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois C InouyeAustraliaStephen Shaw RENEWAL
Costa J StensethGermanyAmy Elsner PROPOSAL
Jefferson N RulapaughRussiaElwin Sharvill UNQUALIFIED
Juan A RimGermanyAnna Fali NEGOTIATION
Misaki V MaletJapanIoni Bowcher QUALIFIED
Alejandro A SchemmerAustraliaAmy Elsner NEGOTIATION
Salvatore H GlickAustraliaElwin Sharvill UNQUALIFIED
Antonio L NickaSpainAnna Fali PROPOSAL
Tony K MarrierIndiaAsiya Javayant PROPOSAL
Izzy L ChuiGermanyOnyama Limba NEW
Jefferson E FerenczFranceAnna Fali UNQUALIFIED
Juan T IturbideArgentinaAsiya Javayant PROPOSAL
Mayumi X WaycottJapanElwin Sharvill PROPOSAL
Munro Q DoeItalyIoni Bowcher PROPOSAL
Frozen Columns
Name
Wickens Y Rim
Wickens M Stenseth
Mujtaba S Darakjy
Claire K Malet
Greenwood O Iturbide
Faith W Shinko
Adams S Tollner
Costa E Bowley
Tony B Caudy
Jennifer F Kusko
Juan Q Ferencz
James H Iturbide
James P Ostrosky
James D Wieser
Silvio V Tollner
Tony Z Gillian
Aditya N Marrier
Smith J Kusko
Tony V Dilliard
Ricardo J Rim
Salvatore Z Rulapaugh
Adams K Garufi
Julie U Malet
Mayumi R Garufi
Juan D Marrier
Clifford W Perin
Jeanfrancois B Slusarski
Aditya P Caldarera
Jefferson Q Waycott
Antonio N Perin
Stacey B Albares
Mujtaba D Tollner
Alejandro U Iturbide
Morrow R Marrier
James B Campain
Clifford J Caldarera
Octavia F Shinko
Johnson Y Slusarski
Izzy D Kusko
Rodrigues L Inouye
Mujtaba P Amigon
Sinclair S Foller
Cody J Darakjy
Julie N Chui
Jones D Marrier
Claire W Iturbide
Greenwood S Gillian
Aika P Saylors
Stacey M Royster
Darci K Caldarera
IdCountryDate
1000Spain2026-10-24
1001Brazil2026-10-10
1002Brazil2026-10-21
1003Argentina2026-10-16
1004Spain2026-10-16
1005Australia2026-10-05
1006Germany2026-10-03
1007Australia2026-10-05
1008Germany2026-10-28
1009Australia2026-10-22
1010France2026-10-13
1011Japan2026-10-08
1012Japan2026-10-16
1013Canada2026-10-26
1014Brazil2026-10-28
1015United Kingdom2026-10-16
1016Japan2026-10-27
1017Russia2026-10-30
1018Brazil2026-10-29
1019France2026-10-22
1020Argentina2026-10-22
1021Italy2026-10-05
1022Brazil2026-10-24
1023Germany2026-10-26
1024Spain2026-10-05
1025France2026-10-30
1026Japan2026-10-21
1027Italy2026-10-30
1028Germany2026-10-25
1029United Kingdom2026-10-05
1030Germany2026-10-30
1031India2026-10-03
1032India2026-10-18
1033Germany2026-10-05
1034Japan2026-10-09
1035Japan2026-10-18
1036Argentina2026-10-22
1037Argentina2026-10-31
1038Spain2026-10-19
1039United Kingdom2026-10-31
1040Canada2026-10-21
1041India2026-10-23
1042Italy2026-10-11
1043Australia2026-10-04
1044Brazil2026-10-30
1045Russia2026-10-30
1046United Kingdom2026-10-19
1047Italy2026-10-13
1048France2026-10-06
1049Spain2026-10-17

On-Demand Data

NameIdCountryDate
Claire K Saylors1000United Kingdom2026-10-09
Emily O Royster1001Italy2026-10-23
Murillo V Malet1002Russia2026-10-09
Smith X Albares1003Germany2026-10-30
Chavez V Foller1004Russia2026-10-28
Antonio I Malet1005United Kingdom2026-10-22
Tony W Tollner1006Argentina2026-10-28
Claire P Wieser1007Spain2026-10-12
Darci O Rulapaugh1008Canada2026-10-06
Julie J Stenseth1009Spain2026-10-08
Francesco L Stenseth1010France2026-10-14
Chavez Z Darakjy1011Brazil2026-10-29
Johnson C Caldarera1012India2026-10-16
Tony W Gillian1013Australia2026-10-20
Alejandro X Albares1014India2026-10-16
Rodrigues S Amigon1015Brazil2026-10-31
Aika Z Figeroa1016India2026-10-26
Rodrigues Z Nicka1017Japan2026-10-22
Ricardo V Chui1018Spain2026-10-05
Maria G Rim1019Italy2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar E StensethArgentinaOnyama Limba QUALIFIED
Sinclair P MarrierRussiaIvan Magalhaes QUALIFIED
Octavia O BriddickRussiaXuxue Feng RENEWAL
Mujtaba D StockhamUnited KingdomIvan Magalhaes RENEWAL
Mayumi V WieserAustraliaAnna Fali NEW
Jones V WieserBrazilXuxue Feng NEGOTIATION
Leon Z MacleadFranceElwin Sharvill UNQUALIFIED
Cody L RulapaughFranceStephen Shaw NEW
Ricardo Z IturbideSpainAsiya Javayant NEW
Rodrigues X AlbaresJapanAnna Fali QUALIFIED
Jefferson X AlbaresRussiaAmy Elsner PROPOSAL
Ashley C WhobreyUnited KingdomAnna Fali NEW
Costa C MorascaGermanyAnna Fali UNQUALIFIED
Jeanfrancois Q DoeJapanBernardo Dominic QUALIFIED
Mayumi D BowleyArgentinaBernardo Dominic UNQUALIFIED
Emily A WaycottSpainAnna Fali UNQUALIFIED
Izzy S FerenczGermanyAnna Fali UNQUALIFIED
Silvio M AmigonUnited KingdomStephen Shaw QUALIFIED
Jefferson R ChuiRussiaBernardo Dominic PROPOSAL
Johnson C BriddickRussiaXuxue Feng QUALIFIED
Isabel Z FerenczUnited KingdomBernardo Dominic NEGOTIATION
Johnson P ChuiCanadaXuxue Feng NEW
Ivar V BologniaBrazilAsiya Javayant NEW
Jeanfrancois C IturbideBrazilAsiya Javayant NEGOTIATION
Antonio K BologniaGermanyXuxue Feng NEGOTIATION
Nicolas M WhobreyFranceStephen Shaw NEW
Munro U IturbideIndiaIvan Magalhaes RENEWAL
Aika L TollnerGermanyIoni Bowcher QUALIFIED
Jones N BologniaRussiaAmy Elsner QUALIFIED
Chavez G MacleadBrazilAnna Fali NEGOTIATION
Octavia P DarakjyRussiaAmy Elsner UNQUALIFIED
Costa Y KuskoGermanyAmy Elsner NEW
Wickens X PoquetteJapanStephen Shaw PROPOSAL
Kadeem P MaletUnited KingdomIvan Magalhaes RENEWAL
Salvatore U CampainRussiaStephen Shaw QUALIFIED
Munro H MarrierUnited KingdomAmy Elsner NEGOTIATION
Jones T ButtSpainXuxue Feng NEW
Aditya E VenereRussiaAnna Fali PROPOSAL
Isabel X DarakjyFranceIvan Magalhaes PROPOSAL
Faith B GlickAustraliaXuxue Feng PROPOSAL

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