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
Morrow U WieserJapanAmy Elsner NEW
Morrow O FerenczAustraliaIvan Magalhaes UNQUALIFIED
Ricardo R RutaBrazilBernardo Dominic RENEWAL
Ivar O PoquetteBrazilAmy Elsner NEW
Smith V MarrierCanadaOnyama Limba RENEWAL
Faith N ChuiArgentinaElwin Sharvill QUALIFIED
Maria T RulapaughRussiaAsiya Javayant NEGOTIATION
Francesco O StockhamArgentinaElwin Sharvill PROPOSAL
Misaki Z FlosiGermanyBernardo Dominic QUALIFIED
Deepesh P DoeUnited KingdomAnna Fali RENEWAL
Darci Z DoeAustraliaElwin Sharvill RENEWAL
Nicolas X FlosiCanadaXuxue Feng QUALIFIED
Maria O MaletArgentinaAnna Fali PROPOSAL
Adams R OldroydItalyXuxue Feng PROPOSAL
Darci P MarrierCanadaAsiya Javayant RENEWAL
Alejandro V SergiRussiaXuxue Feng QUALIFIED
James H MacleadUnited KingdomIvan Magalhaes QUALIFIED
Emily W GillianUnited KingdomStephen Shaw RENEWAL
Leja E WieserSpainIvan Magalhaes UNQUALIFIED
Mujtaba K KuskoAustraliaIvan Magalhaes NEW
Silvio H OstroskyItalyIvan Magalhaes NEW
Deepesh Q FlosiArgentinaAnna Fali RENEWAL
Juan S StockhamItalyIoni Bowcher UNQUALIFIED
Ivar M BologniaJapanIoni Bowcher UNQUALIFIED
Kaitlin Y CampainSpainBernardo Dominic RENEWAL
Jones D FerenczGermanyIvan Magalhaes NEGOTIATION
Aruna Y RulapaughSpainXuxue Feng NEGOTIATION
Sinclair P RulapaughUnited KingdomIvan Magalhaes RENEWAL
Morrow C IturbideRussiaStephen Shaw NEW
Juan G ShinkoSpainIvan Magalhaes RENEWAL
Aika E RutaJapanIoni Bowcher QUALIFIED
Murillo D RulapaughGermanyAsiya Javayant RENEWAL
Wickens U RoysterIndiaXuxue Feng RENEWAL
Chavez A NickaAustraliaIvan Magalhaes NEW
Nicolas V StensethFranceXuxue Feng RENEWAL
Aika V WhobreyIndiaXuxue Feng PROPOSAL
Aditya L SlusarskiIndiaElwin Sharvill UNQUALIFIED
Leja Z CaldareraAustraliaXuxue Feng QUALIFIED
Tony Q OldroydRussiaOnyama Limba QUALIFIED
Jones M ChuiJapanElwin Sharvill PROPOSAL
Octavia X CaldareraGermanyAnna Fali NEGOTIATION
Adams P InouyeUnited KingdomStephen Shaw RENEWAL
Isabel K PerinFranceIvan Magalhaes PROPOSAL
Ashley I BologniaSpainOnyama Limba RENEWAL
Jennifer C AlbaresBrazilOnyama Limba QUALIFIED
Faith Q IturbideRussiaIvan Magalhaes NEW
Silvio E NestleBrazilXuxue Feng NEGOTIATION
Leja W IturbideItalyXuxue Feng RENEWAL
Sinclair I GlickSpainElwin Sharvill RENEWAL
Francesco V FollerArgentinaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Julie V WhobreyAustraliaAnna Fali QUALIFIED
Juan A GarufiCanadaAmy Elsner PROPOSAL
Morrow M ShinkoItalyAsiya Javayant UNQUALIFIED
Aika V OstroskyArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois R PerinIndiaBernardo Dominic UNQUALIFIED
Rodrigues N IturbideFranceAnna Fali QUALIFIED
Maria H MarrierJapanElwin Sharvill UNQUALIFIED
Kaitlin C StockhamItalyStephen Shaw PROPOSAL
Alejandro W NickaJapanAmy Elsner NEW
Ricardo M FigeroaArgentinaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon C DarakjyIndia2026-09-30Feiner Bros NEGOTIATION53Anna Fali
1001Murillo N WaycottGermany2026-09-16Chemel, James L Cpa NEW21Xuxue Feng
1002Sinclair P KuskoCanada2026-09-28Feiner Bros QUALIFIED20Ivan Magalhaes
1003Nicolas V ShinkoItaly2026-09-15Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1004Munro W PaprockiBrazil2026-09-27King, Christopher A Esq RENEWAL62Asiya Javayant
1005Alejandro X MarrierArgentina2026-10-10Printing Dimensions RENEWAL22Stephen Shaw
1006Jones I SaylorsIndia2026-09-16Rangoni Of Florence NEGOTIATION78Ivan Magalhaes
1007Smith O BowleyRussia2026-09-13Morlong Associates PROPOSAL39Asiya Javayant
1008James P WieserIndia2026-10-08Commercial Press NEGOTIATION18Stephen Shaw
1009Wickens N MacleadIndia2026-10-04Rousseaux, Michael Esq NEW10Amy Elsner
1010Ricardo G DarakjyIndia2026-10-12Feiner Bros RENEWAL28Xuxue Feng
1011Johnson Y GarufiRussia2026-10-09Commercial Press NEGOTIATION52Onyama Limba
1012Julie H InouyeFrance2026-09-27Commercial Press RENEWAL60Ioni Bowcher
1013Costa D TollnerJapan2026-10-07Chapman, Ross E Esq NEGOTIATION16Onyama Limba
1014Ivar L CaudyItaly2026-09-13Feltz Printing Service NEGOTIATION67Asiya Javayant
1015Misaki N StensethIndia2026-10-06King, Christopher A Esq PROPOSAL91Elwin Sharvill
1016Ashley R ShinkoCanada2026-09-17Feltz Printing Service UNQUALIFIED55Ivan Magalhaes
1017Munro O PerinBrazil2026-09-25Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1018Aditya Y RoysterCanada2026-09-13Buckley Miller Wright NEW6Ioni Bowcher
1019Claire L NickaItaly2026-09-27Chapman, Ross E Esq QUALIFIED66Xuxue Feng
1020Maisha R RoysterAustralia2026-09-20Feiner Bros PROPOSAL46Amy Elsner
1021Misaki H SergiJapan2026-10-02Printing Dimensions NEW80Elwin Sharvill
1022Claire D DilliardAustralia2026-10-03Dorl, James J Esq RENEWAL79Ioni Bowcher
1023Aruna M WhobreyFrance2026-10-06Feltz Printing Service PROPOSAL46Ioni Bowcher
1024Aruna E FigeroaRussia2026-09-16Printing Dimensions QUALIFIED23Ivan Magalhaes
1025Claire R SaylorsRussia2026-10-05Feltz Printing Service NEGOTIATION95Bernardo Dominic
1026Isabel X ButtItaly2026-09-29Chanay, Jeffrey A Esq PROPOSAL7Elwin Sharvill
1027Munro O GillianSpain2026-09-19Morlong Associates NEW93Ivan Magalhaes
1028Mayumi P WaycottAustralia2026-09-26Truhlar And Truhlar Attys UNQUALIFIED66Bernardo Dominic
1029Smith B FlosiJapan2026-09-23Feiner Bros NEW21Anna Fali
1030Rodrigues C CaudyUnited Kingdom2026-10-02Chemel, James L Cpa NEW41Amy Elsner
1031Munro L SaylorsJapan2026-10-12Chemel, James L Cpa RENEWAL64Stephen Shaw
1032Jones S FerenczSpain2026-09-14Rousseaux, Michael Esq NEW32Ivan Magalhaes
1033Arvin W ButtFrance2026-10-07Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1034Mayumi O NickaBrazil2026-10-06Rousseaux, Michael Esq NEW67Ivan Magalhaes
1035Aruna J SchemmerJapan2026-09-25Chanay, Jeffrey A Esq UNQUALIFIED2Elwin Sharvill
1036Isabel B CaldareraIndia2026-09-29Chemel, James L Cpa QUALIFIED5Ivan Magalhaes
1037Tony U DoeJapan2026-09-17Printing Dimensions RENEWAL33Anna Fali
1038Sinclair T MorascaRussia2026-09-25Commercial Press QUALIFIED15Bernardo Dominic
1039Adams G RutaIndia2026-09-23Morlong Associates RENEWAL19Onyama Limba
1040Kaitlin Z BowleySpain2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1041Morrow P DilliardArgentina2026-10-02Commercial Press UNQUALIFIED87Ioni Bowcher
1042Jeanfrancois T InouyeItaly2026-10-10Benton, John B Jr PROPOSAL13Stephen Shaw
1043Aruna H ChuiSpain2026-10-09Chapman, Ross E Esq UNQUALIFIED63Xuxue Feng
1044Murillo G ShinkoItaly2026-10-10Commercial Press PROPOSAL68Stephen Shaw
1045Rodrigues H ShinkoGermany2026-10-08Dorl, James J Esq RENEWAL63Anna Fali
1046Morrow L GlickGermany2026-09-27Buckley Miller Wright PROPOSAL59Stephen Shaw
1047Misaki W GauchoUnited Kingdom2026-09-21Morlong Associates QUALIFIED69Asiya Javayant
1048Stacey S DoeRussia2026-09-21Rousseaux, Michael Esq NEW29Amy Elsner
1049Alejandro C PoquetteRussia2026-09-26Commercial Press QUALIFIED4Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem H OldroydIndiaIoni Bowcher QUALIFIED
Leja R MorascaRussiaIoni Bowcher QUALIFIED
Ashley F ButtUnited KingdomIoni Bowcher UNQUALIFIED
Tony O InouyeJapanXuxue Feng PROPOSAL
Johnson R OstroskyItalyOnyama Limba PROPOSAL
Stacey Z BowleyRussiaIoni Bowcher QUALIFIED
Isabel M RutaIndiaIoni Bowcher NEW
Aditya B MaletAustraliaElwin Sharvill NEW
Chavez Q GauchoFranceXuxue Feng NEW
Aruna Z VenereBrazilBernardo Dominic NEGOTIATION
Claire E BologniaGermanyStephen Shaw UNQUALIFIED
Leon T FollerCanadaOnyama Limba RENEWAL
Maria D GlickUnited KingdomBernardo Dominic NEW
Adams D WieserRussiaAnna Fali NEW
Maisha L OldroydCanadaIoni Bowcher NEGOTIATION
Francesco K FlosiCanadaIvan Magalhaes UNQUALIFIED
Morrow B AlbaresGermanyAnna Fali QUALIFIED
Izzy S PoquetteRussiaElwin Sharvill NEW
Izzy Y VenereAustraliaIvan Magalhaes RENEWAL
Tony E MorascaUnited KingdomStephen Shaw NEGOTIATION
Sinclair N NestleJapanStephen Shaw QUALIFIED
Faith E SlusarskiArgentinaAsiya Javayant NEGOTIATION
Munro P FollerAustraliaAmy Elsner QUALIFIED
Aika A PerinAustraliaStephen Shaw RENEWAL
Morrow J BowleyBrazilAsiya Javayant UNQUALIFIED
Maisha X DarakjyRussiaAsiya Javayant RENEWAL
Faith I StensethItalyOnyama Limba NEW
Darci D StensethRussiaAmy Elsner NEW
Maria N BowleyItalyIvan Magalhaes QUALIFIED
Mujtaba A InouyeJapanOnyama Limba UNQUALIFIED
Antonio I PaprockiIndiaStephen Shaw NEW
Nicolas C WieserSpainIvan Magalhaes RENEWAL
Mujtaba H BriddickIndiaIvan Magalhaes NEW
Aruna K MarrierBrazilAsiya Javayant PROPOSAL
James J KuskoIndiaAmy Elsner QUALIFIED
Costa V DoeAustraliaXuxue Feng QUALIFIED
Alejandro U WaycottSpainStephen Shaw UNQUALIFIED
Munro E SlusarskiArgentinaAnna Fali UNQUALIFIED
Jennifer F MaletArgentinaAnna Fali PROPOSAL
Claire Q DilliardArgentinaIvan Magalhaes NEGOTIATION
Cody K StensethSpainBernardo Dominic PROPOSAL
Aditya A MacleadAustraliaIvan Magalhaes RENEWAL
Stacey Y DilliardGermanyElwin Sharvill NEW
Smith C OldroydCanadaAnna Fali RENEWAL
Rodrigues E OstroskyRussiaXuxue Feng QUALIFIED
Cody P FerenczItalyAnna Fali UNQUALIFIED
Antonio Q NestleAustraliaAnna Fali NEGOTIATION
Claire L CampainArgentinaStephen Shaw UNQUALIFIED
Maisha O DarakjyFranceAnna Fali UNQUALIFIED
Alejandro S OldroydJapanOnyama Limba QUALIFIED
Frozen Columns
Name
Maria M Inouye
Nicolas C Gaucho
Maria X Poquette
Jefferson J Stenseth
Leja Y Poquette
Jefferson M Perin
Antonio N Waycott
Juan U Campain
Julie N Ruta
Isabel N Bolognia
Kaitlin C Campain
Mujtaba Q Inouye
Mayumi C Malet
David C Maclead
Smith Z Ostrosky
Salvatore U Schemmer
Rodrigues A Ruta
Juan Z Ruta
Julie S Venere
Aika M Maclead
Jeanfrancois H Iturbide
Salvatore I Whobrey
Emily Z Kusko
James Y Garufi
Francesco R Poquette
Salvatore H Whobrey
Stacey I Poquette
David A Caldarera
Jeanfrancois C Ostrosky
Munro M Darakjy
Julie Z Maclead
Maria V Schemmer
Greenwood H Rulapaugh
Antonio S Butt
Aika X Poquette
Jennifer D Perin
Aditya Y Foller
Kadeem P Briddick
Deepesh S Malet
Ivar U Whobrey
Salvatore O Dilliard
Johnson F Caldarera
Julie B Whobrey
Silvio N Tollner
Francesco U Rulapaugh
Jeanfrancois M Kusko
Arvin G Kusko
Aika G Amigon
Izzy Q Ferencz
Jennifer L Inouye
IdCountryDate
1000United Kingdom2026-09-30
1001Brazil2026-09-26
1002India2026-10-12
1003United Kingdom2026-09-19
1004France2026-09-30
1005Canada2026-09-25
1006France2026-09-28
1007Canada2026-09-21
1008France2026-09-30
1009Canada2026-10-08
1010Russia2026-10-03
1011Brazil2026-09-30
1012United Kingdom2026-10-12
1013Brazil2026-09-18
1014Canada2026-09-28
1015Argentina2026-09-18
1016Argentina2026-09-27
1017Canada2026-10-03
1018Russia2026-10-07
1019Germany2026-10-01
1020Italy2026-09-25
1021Canada2026-09-19
1022Italy2026-09-27
1023United Kingdom2026-10-10
1024Russia2026-10-05
1025Canada2026-09-22
1026India2026-09-23
1027Germany2026-09-28
1028Spain2026-09-18
1029Brazil2026-10-08
1030Germany2026-10-01
1031Japan2026-10-04
1032Argentina2026-09-20
1033Canada2026-09-28
1034France2026-09-14
1035Japan2026-09-23
1036India2026-10-09
1037Canada2026-09-21
1038Russia2026-09-14
1039Canada2026-09-29
1040Argentina2026-10-03
1041Italy2026-10-12
1042Italy2026-09-23
1043Brazil2026-10-10
1044France2026-10-03
1045Australia2026-10-01
1046Russia2026-10-08
1047Brazil2026-09-25
1048Germany2026-09-20
1049Russia2026-10-03

On-Demand Data

NameIdCountryDate
Maisha N Ferencz1000Brazil2026-10-07
Tony Q Stockham1001Brazil2026-09-19
Ashley B Maclead1002Germany2026-09-23
Wickens R Figeroa1003Italy2026-09-25
Adams X Garufi1004France2026-10-07
Costa P Rim1005Italy2026-09-17
Sinclair J Perin1006Italy2026-10-07
Leon Y Waycott1007Spain2026-09-26
Misaki L Kusko1008Japan2026-09-21
Julie H Royster1009Argentina2026-10-11
Arvin W Bowley1010Italy2026-09-19
Kadeem K Inouye1011Brazil2026-09-21
Stacey H Oldroyd1012Spain2026-09-29
Nicolas I Gaucho1013Brazil2026-10-10
Cody F Schemmer1014Brazil2026-09-25
Kadeem L Amigon1015India2026-09-24
Mujtaba C Glick1016Japan2026-10-07
Nicolas Y Albares1017Germany2026-09-14
Sinclair M Campain1018United Kingdom2026-09-15
Sinclair U Albares1019Russia2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow P BriddickGermanyAnna Fali UNQUALIFIED
Costa S CaudyUnited KingdomStephen Shaw PROPOSAL
Kaitlin X OldroydBrazilIvan Magalhaes NEW
James S MarrierGermanyAnna Fali RENEWAL
David P VocelkaCanadaIvan Magalhaes NEGOTIATION
Arvin F MaletAustraliaElwin Sharvill NEGOTIATION
Wickens Y WaycottFranceBernardo Dominic RENEWAL
Smith W IturbideRussiaIoni Bowcher QUALIFIED
Alejandro B SaylorsItalyAmy Elsner NEGOTIATION
Kaitlin A GillianGermanyIvan Magalhaes QUALIFIED
Aika P AmigonFranceStephen Shaw UNQUALIFIED
Antonio I InouyeUnited KingdomIvan Magalhaes NEW
Kaitlin W BriddickRussiaStephen Shaw NEW
Stacey J BologniaSpainIoni Bowcher RENEWAL
Claire N CampainFranceElwin Sharvill RENEWAL
Faith E FollerFranceOnyama Limba RENEWAL
Ashley D ButtGermanyIoni Bowcher NEW
Leja T SaylorsItalyAnna Fali PROPOSAL
Rodrigues L OstroskyFranceStephen Shaw PROPOSAL
Wickens S StensethGermanyElwin Sharvill QUALIFIED
Ivar U PaprockiRussiaIoni Bowcher PROPOSAL
Ricardo C MaletItalyOnyama Limba QUALIFIED
Sinclair A ShinkoJapanAmy Elsner NEGOTIATION
Murillo D NestleGermanyBernardo Dominic UNQUALIFIED
Arvin I BowleyFranceAmy Elsner UNQUALIFIED
Aika X OldroydJapanIoni Bowcher NEGOTIATION
Octavia N SaylorsFranceAmy Elsner UNQUALIFIED
Julie M PaprockiAustraliaAsiya Javayant UNQUALIFIED
Leja C AmigonBrazilIoni Bowcher UNQUALIFIED
Ashley E TollnerBrazilXuxue Feng RENEWAL
Maisha I DilliardIndiaAsiya Javayant RENEWAL
Julie B KolmetzArgentinaStephen Shaw PROPOSAL
Francesco B CaldareraJapanXuxue Feng UNQUALIFIED
Tony E PerinRussiaStephen Shaw UNQUALIFIED
Izzy Y CaldareraAustraliaAmy Elsner QUALIFIED
Antonio C GauchoFranceXuxue Feng UNQUALIFIED
Izzy E FigeroaGermanyElwin Sharvill NEGOTIATION
Costa W CampainGermanyIoni Bowcher NEGOTIATION
Johnson W MarrierAustraliaElwin Sharvill PROPOSAL
Isabel C DilliardJapanStephen Shaw 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>