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
Darci J GauchoIndiaIoni Bowcher NEW
Juan I RutaItalyAmy Elsner NEGOTIATION
Kadeem Y MaletArgentinaAsiya Javayant RENEWAL
Francesco W DarakjyJapanOnyama Limba NEW
Octavia H WhobreyFranceStephen Shaw NEW
David X StockhamJapanAnna Fali UNQUALIFIED
Arvin F VocelkaGermanyXuxue Feng UNQUALIFIED
Munro X OstroskyIndiaIvan Magalhaes QUALIFIED
Tony K MaletArgentinaElwin Sharvill RENEWAL
Kadeem Z TollnerBrazilAnna Fali PROPOSAL
Ivar T MarrierItalyAnna Fali RENEWAL
Jones E AmigonFranceIvan Magalhaes PROPOSAL
Arvin B WieserIndiaStephen Shaw NEGOTIATION
Juan Z MorascaIndiaBernardo Dominic PROPOSAL
Mujtaba Q PerinItalyStephen Shaw NEW
David O RulapaughFranceXuxue Feng NEW
Leja E GarufiGermanyElwin Sharvill NEGOTIATION
Sinclair Z MarrierRussiaAnna Fali RENEWAL
Clifford M MacleadJapanStephen Shaw QUALIFIED
Morrow A InouyeCanadaXuxue Feng QUALIFIED
Nicolas X PaprockiArgentinaBernardo Dominic NEW
Nicolas P FlosiCanadaAsiya Javayant NEGOTIATION
Stacey L CaudyIndiaOnyama Limba QUALIFIED
Francesco F WaycottCanadaAmy Elsner RENEWAL
Antonio B WaycottJapanIoni Bowcher NEGOTIATION
Silvio B OldroydFranceBernardo Dominic NEW
Kaitlin G BologniaFranceIvan Magalhaes UNQUALIFIED
Clifford U StockhamJapanBernardo Dominic QUALIFIED
Silvio L AlbaresItalyXuxue Feng PROPOSAL
Silvio D SaylorsGermanyStephen Shaw QUALIFIED
Kaitlin M OstroskySpainBernardo Dominic UNQUALIFIED
Jones S DarakjyBrazilAsiya Javayant NEW
Chavez H RoysterGermanyAnna Fali RENEWAL
Deepesh D OstroskyCanadaAnna Fali PROPOSAL
Claire X AlbaresCanadaOnyama Limba QUALIFIED
Juan A CampainRussiaXuxue Feng UNQUALIFIED
Greenwood F PerinRussiaAnna Fali NEGOTIATION
David K PerinFranceAmy Elsner RENEWAL
Nicolas H GillianGermanyBernardo Dominic RENEWAL
Jeanfrancois K WaycottAustraliaAsiya Javayant PROPOSAL
Chavez F DarakjyGermanyOnyama Limba PROPOSAL
Clifford A RulapaughItalyStephen Shaw QUALIFIED
Clifford Z OldroydRussiaElwin Sharvill PROPOSAL
Francesco T MarrierArgentinaIvan Magalhaes QUALIFIED
Morrow U FerenczArgentinaElwin Sharvill UNQUALIFIED
James G GarufiIndiaIvan Magalhaes UNQUALIFIED
Salvatore S GlickSpainIvan Magalhaes PROPOSAL
Faith C AmigonSpainOnyama Limba PROPOSAL
Jones Q AlbaresFranceStephen Shaw UNQUALIFIED
Juan H FigeroaSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Misaki S KuskoFranceOnyama Limba NEW
Francesco O ChuiCanadaStephen Shaw NEGOTIATION
Leon K SlusarskiJapanAmy Elsner RENEWAL
Mayumi T TollnerIndiaAsiya Javayant UNQUALIFIED
Izzy M CampainCanadaIoni Bowcher UNQUALIFIED
Arvin U NestleRussiaStephen Shaw NEGOTIATION
Izzy D GauchoArgentinaStephen Shaw NEW
Chavez Z CaldareraSpainAnna Fali PROPOSAL
Greenwood H SaylorsBrazilElwin Sharvill PROPOSAL
Jennifer X OldroydRussiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco C GauchoRussia2026-10-08Dorl, James J Esq UNQUALIFIED95Bernardo Dominic
1001Nicolas E WaycottSpain2026-10-25Printing Dimensions PROPOSAL30Bernardo Dominic
1002Julie D GauchoBrazil2026-10-05Printing Dimensions QUALIFIED71Stephen Shaw
1003Izzy E CaldareraJapan2026-10-23Dorl, James J Esq NEW97Bernardo Dominic
1004Jennifer V DoeGermany2026-10-19Rousseaux, Michael Esq NEW50Bernardo Dominic
1005Aditya K WhobreyJapan2026-10-15Chapman, Ross E Esq NEW11Amy Elsner
1006Rodrigues P DarakjyUnited Kingdom2026-10-26Chapman, Ross E Esq NEGOTIATION96Bernardo Dominic
1007Wickens X FollerIndia2026-10-28Commercial Press UNQUALIFIED63Amy Elsner
1008Leja Y CaldareraUnited Kingdom2026-10-05Feltz Printing Service NEW32Onyama Limba
1009Smith B MaletUnited Kingdom2026-10-13Dorl, James J Esq UNQUALIFIED9Amy Elsner
1010Emily Q RulapaughFrance2026-10-03Benton, John B Jr PROPOSAL66Anna Fali
1011Maisha H CampainIndia2026-10-31Feiner Bros UNQUALIFIED88Ivan Magalhaes
1012Mujtaba X CaldareraJapan2026-10-16Chemel, James L Cpa PROPOSAL11Anna Fali
1013Claire K ShinkoJapan2026-10-04Feiner Bros NEW89Anna Fali
1014Tony W IturbideFrance2026-10-08Chemel, James L Cpa NEGOTIATION95Xuxue Feng
1015Aika H CaldareraRussia2026-10-13Dorl, James J Esq QUALIFIED44Ioni Bowcher
1016Munro E SchemmerAustralia2026-10-03Printing Dimensions QUALIFIED59Ivan Magalhaes
1017Munro S GarufiAustralia2026-10-20Feltz Printing Service NEW74Ioni Bowcher
1018Claire Q VocelkaCanada2026-10-15Buckley Miller Wright QUALIFIED72Ioni Bowcher
1019Munro R SaylorsSpain2026-10-09Feltz Printing Service QUALIFIED83Xuxue Feng
1020Ashley G SaylorsItaly2026-10-11Chemel, James L Cpa NEGOTIATION58Amy Elsner
1021Alejandro L StensethBrazil2026-10-21Truhlar And Truhlar Attys NEGOTIATION94Bernardo Dominic
1022Jones U GlickUnited Kingdom2026-10-06Morlong Associates UNQUALIFIED5Bernardo Dominic
1023Chavez M FlosiUnited Kingdom2026-10-07Feltz Printing Service PROPOSAL3Onyama Limba
1024Murillo R VenereArgentina2026-10-21Dorl, James J Esq QUALIFIED32Xuxue Feng
1025Jennifer P MaletJapan2026-10-02Benton, John B Jr RENEWAL88Stephen Shaw
1026Jeanfrancois E SergiCanada2026-10-11Feiner Bros NEW69Ivan Magalhaes
1027Sinclair B GarufiFrance2026-10-03Chapman, Ross E Esq NEW8Ioni Bowcher
1028Jeanfrancois F MacleadRussia2026-10-13Printing Dimensions NEW63Stephen Shaw
1029Nicolas K CaldareraArgentina2026-10-09Benton, John B Jr NEGOTIATION10Ivan Magalhaes
1030Smith O FollerJapan2026-10-12Truhlar And Truhlar Attys RENEWAL91Elwin Sharvill
1031Francesco K MaletAustralia2026-10-07Truhlar And Truhlar Attys QUALIFIED46Ioni Bowcher
1032Morrow T RutaBrazil2026-10-15Truhlar And Truhlar Attys QUALIFIED67Onyama Limba
1033Greenwood J NickaFrance2026-10-11Rousseaux, Michael Esq NEW91Ivan Magalhaes
1034Silvio W FlosiUnited Kingdom2026-10-27Chemel, James L Cpa RENEWAL99Ioni Bowcher
1035Aruna V DilliardFrance2026-10-20Chanay, Jeffrey A Esq NEGOTIATION78Anna Fali
1036Kadeem B ButtCanada2026-10-18Printing Dimensions PROPOSAL35Elwin Sharvill
1037Jennifer P BowleySpain2026-10-20Rousseaux, Michael Esq QUALIFIED71Anna Fali
1038Jefferson F VenereAustralia2026-10-12Commercial Press NEGOTIATION27Ioni Bowcher
1039Jennifer A VocelkaAustralia2026-10-17Rangoni Of Florence UNQUALIFIED35Anna Fali
1040James S ChuiFrance2026-10-11Chanay, Jeffrey A Esq NEW3Asiya Javayant
1041Munro S KuskoCanada2026-10-20Rousseaux, Michael Esq NEGOTIATION81Ivan Magalhaes
1042Misaki V StockhamRussia2026-10-05Truhlar And Truhlar Attys QUALIFIED69Ivan Magalhaes
1043Adams F SaylorsArgentina2026-10-29Printing Dimensions QUALIFIED49Ioni Bowcher
1044Jefferson A NestleFrance2026-10-27Commercial Press QUALIFIED49Ioni Bowcher
1045Leja J NickaCanada2026-10-02Benton, John B Jr PROPOSAL85Onyama Limba
1046Jones P KolmetzCanada2026-10-28Feiner Bros NEGOTIATION40Stephen Shaw
1047Octavia Z DarakjyBrazil2026-10-14Chanay, Jeffrey A Esq RENEWAL2Onyama Limba
1048Maisha U ButtJapan2026-10-30Feltz Printing Service RENEWAL7Anna Fali
1049Kaitlin O RulapaughFrance2026-10-30Chemel, James L Cpa NEW21Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria I MaletCanadaIoni Bowcher QUALIFIED
Jennifer C KolmetzGermanyAmy Elsner NEGOTIATION
Smith Q KolmetzAustraliaAsiya Javayant QUALIFIED
Cody U SergiFranceStephen Shaw QUALIFIED
Maria G ButtJapanOnyama Limba PROPOSAL
Sinclair R GillianSpainAnna Fali RENEWAL
Arvin U DarakjyUnited KingdomIoni Bowcher PROPOSAL
Faith T RimJapanBernardo Dominic PROPOSAL
Stacey L SaylorsCanadaStephen Shaw RENEWAL
Aika R TollnerJapanAmy Elsner PROPOSAL
Salvatore P StockhamFranceStephen Shaw RENEWAL
Chavez C CaldareraJapanAnna Fali UNQUALIFIED
Kadeem X WieserItalyIvan Magalhaes RENEWAL
Cody T SchemmerSpainStephen Shaw RENEWAL
Jeanfrancois O MacleadItalyStephen Shaw RENEWAL
Ivar C ShinkoGermanyXuxue Feng NEGOTIATION
Smith I DilliardFranceAsiya Javayant PROPOSAL
Mujtaba R GillianAustraliaAmy Elsner RENEWAL
Munro Y SaylorsBrazilIoni Bowcher NEGOTIATION
Francesco C MorascaGermanyElwin Sharvill PROPOSAL
Costa Q GarufiAustraliaAsiya Javayant RENEWAL
Stacey D BowleyFranceAmy Elsner NEGOTIATION
Julie M ShinkoCanadaOnyama Limba PROPOSAL
Ivar H GarufiJapanAnna Fali UNQUALIFIED
Ricardo M GarufiJapanAnna Fali NEGOTIATION
Darci G VocelkaItalyAsiya Javayant RENEWAL
Julie X TollnerCanadaElwin Sharvill QUALIFIED
Misaki T WaycottIndiaOnyama Limba QUALIFIED
Wickens U MaletItalyBernardo Dominic UNQUALIFIED
Costa F CaldareraItalyIoni Bowcher NEGOTIATION
Claire L GauchoIndiaStephen Shaw NEW
Aika Q RoysterJapanOnyama Limba PROPOSAL
Francesco M FigeroaAustraliaXuxue Feng QUALIFIED
Morrow A BriddickSpainAsiya Javayant NEW
Johnson N CaudyBrazilElwin Sharvill PROPOSAL
Aruna D CaldareraFranceElwin Sharvill NEW
Cody M NestleRussiaIvan Magalhaes PROPOSAL
Ashley F IturbideSpainBernardo Dominic QUALIFIED
Jones A SaylorsSpainOnyama Limba RENEWAL
Costa R KolmetzCanadaOnyama Limba NEW
Deepesh N DarakjyFranceIoni Bowcher NEW
Aika T WieserBrazilOnyama Limba NEGOTIATION
Izzy G WieserJapanAsiya Javayant NEGOTIATION
Tony D VenereArgentinaXuxue Feng NEGOTIATION
David J TollnerFranceAnna Fali PROPOSAL
Misaki Q ShinkoArgentinaAmy Elsner PROPOSAL
Kaitlin B BowleyAustraliaStephen Shaw NEW
Leja K FollerBrazilBernardo Dominic QUALIFIED
Francesco L BologniaJapanAnna Fali NEW
Julie K DoeCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Rodrigues D Rulapaugh
Murillo I Amigon
Claire H Garufi
Leja G Campain
Jennifer G Oldroyd
Izzy N Campain
Emily N Vocelka
Costa E Caudy
Antonio A Vocelka
Mayumi X Royster
Salvatore K Schemmer
Ashley X Nicka
Kadeem S Whobrey
Mayumi Q Chui
Aruna R Malet
Ricardo O Marrier
Murillo J Kolmetz
Julie X Chui
Stacey V Kusko
Leon F Doe
Antonio Q Figeroa
Octavia M Iturbide
Octavia J Tollner
Jones K Nestle
Jefferson T Saylors
Leon Q Schemmer
Jefferson K Gillian
Maisha Z Albares
Kaitlin D Gillian
Johnson V Malet
James Y Stockham
Adams I Campain
Kadeem O Rulapaugh
Rodrigues G Caudy
Ricardo M Tollner
Antonio J Glick
Misaki G Marrier
Maisha O Caudy
Leon V Maclead
Cody X Ostrosky
Faith E Waycott
Morrow C Caudy
Kadeem C Gaucho
Munro L Waycott
Greenwood G Stockham
Julie Q Marrier
Deepesh G Gillian
Ashley N Darakjy
Francesco S Albares
Isabel L Nicka
IdCountryDate
1000India2026-10-13
1001France2026-10-11
1002India2026-10-10
1003Argentina2026-10-21
1004Spain2026-10-10
1005Argentina2026-10-25
1006Japan2026-10-10
1007Brazil2026-10-08
1008United Kingdom2026-10-13
1009Spain2026-10-25
1010Japan2026-10-26
1011Australia2026-10-31
1012Japan2026-10-05
1013United Kingdom2026-10-11
1014India2026-10-30
1015Italy2026-10-30
1016Brazil2026-10-27
1017Argentina2026-10-08
1018Japan2026-10-31
1019Germany2026-10-24
1020Spain2026-10-29
1021Spain2026-10-15
1022Australia2026-10-25
1023Italy2026-10-10
1024Australia2026-10-19
1025France2026-10-02
1026Canada2026-10-25
1027Germany2026-10-31
1028Italy2026-10-19
1029Russia2026-10-07
1030Russia2026-10-05
1031Japan2026-10-31
1032Italy2026-10-14
1033France2026-10-21
1034India2026-10-07
1035United Kingdom2026-10-17
1036Canada2026-10-05
1037Japan2026-10-15
1038India2026-10-07
1039United Kingdom2026-10-19
1040Australia2026-10-30
1041Germany2026-10-08
1042France2026-10-19
1043Russia2026-10-16
1044Japan2026-10-06
1045United Kingdom2026-10-09
1046Spain2026-10-15
1047United Kingdom2026-10-04
1048United Kingdom2026-10-05
1049Argentina2026-10-23

On-Demand Data

NameIdCountryDate
Tony F Sergi1000Spain2026-10-21
Aditya G Slusarski1001Spain2026-10-06
Mayumi M Royster1002Japan2026-10-29
Emily S Morasca1003Argentina2026-10-23
Silvio O Waycott1004United Kingdom2026-10-13
Silvio M Paprocki1005Argentina2026-10-17
Kaitlin T Flosi1006France2026-10-10
Wickens R Waycott1007France2026-10-10
Jefferson N Ferencz1008Canada2026-10-03
Jeanfrancois C Inouye1009Brazil2026-10-15
Kadeem Y Ferencz1010France2026-10-03
James F Wieser1011Argentina2026-10-03
Alejandro L Dilliard1012Australia2026-10-03
Claire A Schemmer1013Brazil2026-10-30
Salvatore U Venere1014Canada2026-10-15
Kadeem X Iturbide1015Australia2026-10-11
Aruna N Venere1016Japan2026-10-30
Aika H Stenseth1017India2026-10-16
Julie P Stockham1018Germany2026-10-20
Mujtaba Y Butt1019Russia2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas X CaudyFranceBernardo Dominic UNQUALIFIED
Leja E FollerUnited KingdomBernardo Dominic RENEWAL
Francesco A ButtSpainAmy Elsner RENEWAL
Leon V SchemmerArgentinaXuxue Feng UNQUALIFIED
Salvatore J OstroskySpainIoni Bowcher RENEWAL
Nicolas P ButtSpainIoni Bowcher UNQUALIFIED
Octavia C CaldareraArgentinaStephen Shaw RENEWAL
Mayumi P DarakjyUnited KingdomStephen Shaw PROPOSAL
Izzy H VocelkaGermanyElwin Sharvill NEW
Jones F SchemmerAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois Z ButtBrazilIvan Magalhaes RENEWAL
Ashley L AlbaresJapanBernardo Dominic PROPOSAL
Murillo O DoeCanadaElwin Sharvill QUALIFIED
Munro I RimAustraliaIoni Bowcher RENEWAL
Mayumi U DilliardFranceStephen Shaw RENEWAL
Cody Q GillianRussiaStephen Shaw PROPOSAL
Jennifer R WaycottSpainAsiya Javayant NEW
Aditya F GlickItalyAsiya Javayant RENEWAL
Mayumi G CampainGermanyOnyama Limba NEW
Johnson K FlosiCanadaXuxue Feng RENEWAL
Greenwood E VocelkaArgentinaIoni Bowcher QUALIFIED
Johnson A ChuiUnited KingdomOnyama Limba NEGOTIATION
Deepesh T SaylorsSpainOnyama Limba NEW
Mujtaba N DoeFranceIvan Magalhaes NEGOTIATION
Leja S RimIndiaStephen Shaw QUALIFIED
Ashley N MorascaJapanElwin Sharvill RENEWAL
Maria F OstroskyItalyIvan Magalhaes UNQUALIFIED
Ivar T DarakjyAustraliaOnyama Limba NEGOTIATION
Adams A MaletItalyIvan Magalhaes RENEWAL
Ivar H DilliardUnited KingdomElwin Sharvill NEGOTIATION
Ashley K IturbideIndiaBernardo Dominic PROPOSAL
Kadeem F PaprockiItalyBernardo Dominic RENEWAL
Rodrigues A MarrierUnited KingdomElwin Sharvill QUALIFIED
Cody X WieserCanadaAmy Elsner QUALIFIED
Julie J MaletRussiaIoni Bowcher NEGOTIATION
Antonio Q BriddickRussiaIoni Bowcher PROPOSAL
Octavia F AmigonSpainIoni Bowcher QUALIFIED
Jennifer U PaprockiCanadaBernardo Dominic NEGOTIATION
Maisha M CaudyGermanyStephen Shaw NEW
Mayumi C GauchoArgentinaAnna 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>