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
Jones K RimRussiaXuxue Feng PROPOSAL
Morrow E RutaBrazilAsiya Javayant UNQUALIFIED
Deepesh H BriddickBrazilElwin Sharvill PROPOSAL
David I GarufiIndiaOnyama Limba NEW
Silvio O CampainJapanOnyama Limba PROPOSAL
Adams C GlickAustraliaIvan Magalhaes NEW
Jennifer I TollnerGermanyStephen Shaw NEW
Jeanfrancois D TollnerAustraliaAmy Elsner QUALIFIED
Ivar J PerinUnited KingdomAmy Elsner RENEWAL
Misaki V OstroskyRussiaAsiya Javayant PROPOSAL
Morrow U InouyeCanadaStephen Shaw RENEWAL
Ivar U BologniaRussiaBernardo Dominic NEGOTIATION
Jones Y MaletSpainOnyama Limba PROPOSAL
James V SlusarskiSpainElwin Sharvill RENEWAL
Leon K GauchoJapanOnyama Limba RENEWAL
Mujtaba M BologniaFranceAnna Fali UNQUALIFIED
Octavia I WieserAustraliaElwin Sharvill NEGOTIATION
Smith W TollnerBrazilElwin Sharvill RENEWAL
Stacey M GarufiCanadaBernardo Dominic NEW
Stacey M NestleBrazilIvan Magalhaes QUALIFIED
Leon E PaprockiJapanIvan Magalhaes NEW
Adams R KolmetzItalyBernardo Dominic UNQUALIFIED
James F CaldareraAustraliaOnyama Limba NEGOTIATION
Jeanfrancois M FigeroaBrazilAnna Fali RENEWAL
Aika L SlusarskiFranceStephen Shaw UNQUALIFIED
Aika N VocelkaGermanyIoni Bowcher NEGOTIATION
Ivar Q PerinIndiaAnna Fali PROPOSAL
Mujtaba Q RimJapanIvan Magalhaes PROPOSAL
Salvatore C BologniaCanadaAmy Elsner NEGOTIATION
Jeanfrancois C GlickAustraliaElwin Sharvill NEGOTIATION
David G PaprockiSpainElwin Sharvill NEGOTIATION
Darci J PoquetteBrazilXuxue Feng PROPOSAL
Sinclair C BriddickBrazilStephen Shaw UNQUALIFIED
David N FerenczFranceIoni Bowcher UNQUALIFIED
Mayumi E StockhamSpainElwin Sharvill PROPOSAL
Costa S GauchoSpainIoni Bowcher QUALIFIED
Clifford Z SaylorsGermanyElwin Sharvill NEW
Francesco G CaudyIndiaXuxue Feng NEW
Antonio Q OldroydSpainAnna Fali UNQUALIFIED
Leon L PerinAustraliaAsiya Javayant UNQUALIFIED
Leon T CaldareraJapanElwin Sharvill UNQUALIFIED
Nicolas A OstroskyAustraliaIoni Bowcher NEGOTIATION
Jefferson S ShinkoBrazilAmy Elsner PROPOSAL
Silvio K AlbaresFranceStephen Shaw NEGOTIATION
Ashley O BologniaCanadaIoni Bowcher UNQUALIFIED
Faith U ChuiSpainAsiya Javayant PROPOSAL
Kaitlin E SaylorsFranceIvan Magalhaes NEGOTIATION
Faith U CaldareraItalyElwin Sharvill RENEWAL
Emily W RimJapanOnyama Limba RENEWAL
David Z PaprockiFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Costa B ButtCanadaOnyama Limba NEW
Maisha A AlbaresUnited KingdomAnna Fali NEGOTIATION
Arvin K RoysterJapanOnyama Limba QUALIFIED
Stacey V SaylorsJapanBernardo Dominic RENEWAL
Jennifer R GauchoSpainAsiya Javayant NEW
Izzy J WhobreyIndiaIoni Bowcher RENEWAL
Sinclair Y RulapaughJapanStephen Shaw PROPOSAL
Izzy W GauchoBrazilXuxue Feng NEGOTIATION
Costa O StensethItalyStephen Shaw PROPOSAL
Smith V SergiFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues B NestleCanada2026-10-27Chanay, Jeffrey A Esq NEW69Ioni Bowcher
1001Isabel V RulapaughItaly2026-10-01Printing Dimensions RENEWAL27Stephen Shaw
1002Johnson G OldroydJapan2026-10-10Chapman, Ross E Esq PROPOSAL64Elwin Sharvill
1003Ricardo T MacleadSpain2026-10-05Benton, John B Jr PROPOSAL38Onyama Limba
1004Emily W FollerArgentina2026-10-07Dorl, James J Esq NEW60Onyama Limba
1005Aditya H FigeroaFrance2026-10-01Printing Dimensions NEW68Xuxue Feng
1006Greenwood C DoeFrance2026-10-29Commercial Press RENEWAL86Stephen Shaw
1007Nicolas S SergiArgentina2026-10-04Rangoni Of Florence QUALIFIED19Xuxue Feng
1008James B FlosiAustralia2026-10-18Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1009Maria E NickaRussia2026-10-14Commercial Press QUALIFIED4Bernardo Dominic
1010Sinclair F PerinSpain2026-10-12Rangoni Of Florence QUALIFIED64Elwin Sharvill
1011Mujtaba S FollerIndia2026-10-22Morlong Associates RENEWAL68Bernardo Dominic
1012Adams E GillianFrance2026-10-18Commercial Press RENEWAL30Ivan Magalhaes
1013Johnson O GillianGermany2026-10-14Dorl, James J Esq QUALIFIED53Onyama Limba
1014Murillo T FollerAustralia2026-10-12Morlong Associates RENEWAL78Onyama Limba
1015Mayumi I MaletUnited Kingdom2026-10-25Chemel, James L Cpa NEW85Ivan Magalhaes
1016Wickens E SlusarskiAustralia2026-10-29Chemel, James L Cpa NEW21Amy Elsner
1017Jennifer F FlosiFrance2026-10-07Feltz Printing Service NEW54Anna Fali
1018Costa E FigeroaAustralia2026-10-09Truhlar And Truhlar Attys QUALIFIED58Stephen Shaw
1019Izzy K ChuiAustralia2026-10-15Rangoni Of Florence NEW0Stephen Shaw
1020Johnson C ButtJapan2026-10-12Chanay, Jeffrey A Esq QUALIFIED66Bernardo Dominic
1021Tony U KuskoSpain2026-10-08Feiner Bros UNQUALIFIED6Asiya Javayant
1022Deepesh D MorascaItaly2026-10-18Chanay, Jeffrey A Esq QUALIFIED46Ioni Bowcher
1023Misaki K CampainCanada2026-10-29Buckley Miller Wright RENEWAL55Xuxue Feng
1024Stacey P PoquetteJapan2026-10-12Rangoni Of Florence RENEWAL28Ioni Bowcher
1025James M TollnerAustralia2026-10-13Feiner Bros NEW96Amy Elsner
1026Jefferson K KolmetzJapan2026-10-26Chanay, Jeffrey A Esq NEGOTIATION85Amy Elsner
1027Tony A DilliardRussia2026-10-09King, Christopher A Esq QUALIFIED39Onyama Limba
1028Maisha S MarrierIndia2026-10-22Commercial Press PROPOSAL30Onyama Limba
1029Jennifer F MorascaRussia2026-10-12Chapman, Ross E Esq NEW90Bernardo Dominic
1030Chavez D MaletIndia2026-10-11Benton, John B Jr RENEWAL26Amy Elsner
1031Salvatore N RoysterGermany2026-10-30Buckley Miller Wright RENEWAL65Ioni Bowcher
1032Greenwood O DarakjyAustralia2026-10-26Chapman, Ross E Esq RENEWAL7Ioni Bowcher
1033Octavia H InouyeItaly2026-10-17Chemel, James L Cpa QUALIFIED50Anna Fali
1034Stacey V WieserSpain2026-10-04Feltz Printing Service PROPOSAL78Asiya Javayant
1035David P ShinkoIndia2026-10-05Benton, John B Jr RENEWAL42Ivan Magalhaes
1036Leja V MacleadAustralia2026-10-09Feiner Bros PROPOSAL98Xuxue Feng
1037Mujtaba I KolmetzUnited Kingdom2026-10-09Benton, John B Jr QUALIFIED72Bernardo Dominic
1038Isabel Z BowleyArgentina2026-10-13Rousseaux, Michael Esq RENEWAL62Onyama Limba
1039Rodrigues H OldroydUnited Kingdom2026-10-14Rangoni Of Florence QUALIFIED60Onyama Limba
1040Ricardo T KuskoFrance2026-10-16Chapman, Ross E Esq UNQUALIFIED19Xuxue Feng
1041Chavez K CampainRussia2026-10-30Commercial Press RENEWAL72Amy Elsner
1042Jennifer J StockhamJapan2026-10-13Feltz Printing Service NEGOTIATION13Anna Fali
1043Ashley S KolmetzBrazil2026-10-27Chemel, James L Cpa RENEWAL26Elwin Sharvill
1044Silvio Z BriddickRussia2026-10-02Benton, John B Jr QUALIFIED47Stephen Shaw
1045Tony A BowleyGermany2026-10-23Rangoni Of Florence PROPOSAL74Asiya Javayant
1046Stacey O RutaAustralia2026-10-22Feiner Bros QUALIFIED75Elwin Sharvill
1047Morrow G OstroskyRussia2026-10-10Feltz Printing Service UNQUALIFIED67Anna Fali
1048Ashley T MacleadRussia2026-10-08Feiner Bros PROPOSAL14Asiya Javayant
1049Morrow Z SlusarskiAustralia2026-10-05Benton, John B Jr NEGOTIATION83Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Misaki H RimCanadaIvan Magalhaes RENEWAL
Jennifer T CaldareraItalyXuxue Feng QUALIFIED
Nicolas Y WieserSpainXuxue Feng QUALIFIED
Murillo C MaletFranceAnna Fali NEGOTIATION
David R KolmetzCanadaElwin Sharvill QUALIFIED
Rodrigues O VenereItalyBernardo Dominic NEGOTIATION
Tony Z StockhamUnited KingdomAnna Fali NEW
Silvio E VocelkaBrazilAmy Elsner NEGOTIATION
Emily E WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Aruna J WieserArgentinaXuxue Feng NEW
Greenwood X NestleAustraliaAsiya Javayant UNQUALIFIED
Izzy R DarakjyFranceElwin Sharvill NEW
Tony F WaycottGermanyAnna Fali PROPOSAL
Arvin U VocelkaItalyOnyama Limba RENEWAL
Morrow B FigeroaJapanElwin Sharvill NEGOTIATION
Julie I CaldareraItalyElwin Sharvill UNQUALIFIED
James Y CaldareraIndiaAsiya Javayant NEW
Nicolas Z FerenczJapanAsiya Javayant NEW
Leon S ShinkoIndiaIvan Magalhaes NEGOTIATION
Aika G IturbideUnited KingdomAsiya Javayant PROPOSAL
Alejandro I RimAustraliaBernardo Dominic NEGOTIATION
Wickens Q MaletUnited KingdomAsiya Javayant UNQUALIFIED
Juan P StensethRussiaElwin Sharvill RENEWAL
Kadeem G FlosiBrazilAmy Elsner NEW
Clifford Z RutaAustraliaAsiya Javayant RENEWAL
Aditya B WaycottGermanyBernardo Dominic UNQUALIFIED
Darci Y BowleyGermanyOnyama Limba UNQUALIFIED
Costa V MarrierGermanyIoni Bowcher PROPOSAL
Sinclair X GarufiUnited KingdomBernardo Dominic NEGOTIATION
Jones D WieserArgentinaAnna Fali RENEWAL
Kaitlin J OstroskyAustraliaIoni Bowcher NEGOTIATION
Morrow J OstroskyUnited KingdomOnyama Limba RENEWAL
Alejandro M CaudyBrazilXuxue Feng PROPOSAL
Alejandro Y MorascaGermanyBernardo Dominic RENEWAL
David W RimRussiaAnna Fali RENEWAL
Aditya V WieserUnited KingdomAsiya Javayant RENEWAL
Ivar C GlickCanadaBernardo Dominic PROPOSAL
Kaitlin Y AmigonFranceIoni Bowcher RENEWAL
Deepesh M MaletJapanBernardo Dominic RENEWAL
Leja G MacleadAustraliaStephen Shaw PROPOSAL
Ivar G RimJapanStephen Shaw QUALIFIED
James S DarakjyJapanAmy Elsner NEW
Munro A GlickAustraliaAnna Fali NEW
Misaki W MaletCanadaAmy Elsner RENEWAL
Juan A SaylorsJapanXuxue Feng NEW
Johnson V NestleAustraliaAsiya Javayant UNQUALIFIED
Aika X BowleyUnited KingdomStephen Shaw PROPOSAL
Julie W DoeUnited KingdomXuxue Feng NEGOTIATION
Munro J CampainCanadaIoni Bowcher NEW
Stacey Q ChuiArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Stacey D Maclead
Antonio J Wieser
Ivar T Marrier
Mayumi R Vocelka
Isabel Q Whobrey
Jefferson A Doe
Darci U Caldarera
Octavia B Foller
Emily T Figeroa
Ivar F Stockham
Arvin W Bowley
Emily T Vocelka
Maria M Chui
James C Vocelka
Claire X Caldarera
Alejandro P Slusarski
Izzy J Dilliard
Rodrigues O Poquette
Ivar P Royster
Juan D Doe
Julie L Royster
Aruna L Ferencz
Francesco K Saylors
Arvin P Vocelka
Jennifer N Figeroa
Octavia U Tollner
Emily L Waycott
Rodrigues M Nicka
Jennifer B Tollner
Johnson U Briddick
Sinclair P Nicka
Maisha P Ferencz
David O Campain
Adams V Wieser
Nicolas S Figeroa
Sinclair Y Malet
Salvatore O Tollner
Johnson D Wieser
Misaki K Figeroa
Sinclair L Glick
Ivar L Inouye
Maisha Q Briddick
Smith F Ostrosky
Maisha R Bolognia
Kadeem Q Flosi
Isabel V Darakjy
Antonio N Kusko
Clifford V Whobrey
David W Maclead
Arvin U Gaucho
IdCountryDate
1000Italy2026-10-30
1001Spain2026-10-16
1002Australia2026-10-08
1003Spain2026-10-24
1004Canada2026-10-12
1005Spain2026-10-05
1006Russia2026-10-27
1007Argentina2026-10-26
1008Italy2026-10-05
1009Australia2026-10-19
1010India2026-10-14
1011Germany2026-10-12
1012Canada2026-10-11
1013Brazil2026-10-12
1014Italy2026-10-11
1015Australia2026-10-03
1016Spain2026-10-07
1017Australia2026-10-10
1018Australia2026-10-27
1019United Kingdom2026-10-30
1020Italy2026-10-20
1021Russia2026-10-08
1022Japan2026-10-21
1023Germany2026-10-23
1024Brazil2026-10-30
1025Argentina2026-10-25
1026Canada2026-10-18
1027Russia2026-10-06
1028United Kingdom2026-10-08
1029Australia2026-10-07
1030Russia2026-10-15
1031Australia2026-10-27
1032United Kingdom2026-10-10
1033Germany2026-10-01
1034Australia2026-10-21
1035Spain2026-10-24
1036Canada2026-10-25
1037United Kingdom2026-10-06
1038Japan2026-10-28
1039Italy2026-10-03
1040Russia2026-10-01
1041Spain2026-10-22
1042Russia2026-10-11
1043Germany2026-10-25
1044India2026-10-29
1045Russia2026-10-07
1046France2026-10-29
1047Brazil2026-10-24
1048Brazil2026-10-11
1049Italy2026-10-23

On-Demand Data

NameIdCountryDate
Maria V Venere1000Italy2026-10-28
Jones L Flosi1001United Kingdom2026-10-01
Cody Q Marrier1002Argentina2026-10-21
Aruna U Butt1003Spain2026-10-15
Antonio O Paprocki1004Canada2026-10-01
Mujtaba B Waycott1005Argentina2026-10-02
Adams L Bowley1006Canada2026-10-21
Sinclair G Marrier1007India2026-10-06
Isabel V Rim1008United Kingdom2026-10-23
Aruna S Waycott1009Japan2026-10-16
Emily D Dilliard1010United Kingdom2026-10-23
Wickens R Bolognia1011Italy2026-10-16
Chavez S Schemmer1012Italy2026-10-23
Ivar C Morasca1013Brazil2026-10-24
Deepesh X Caldarera1014Russia2026-10-18
Isabel T Ruta1015France2026-10-29
Ricardo L Bolognia1016Argentina2026-10-28
Morrow X Tollner1017Brazil2026-10-17
Francesco S Wieser1018Argentina2026-10-27
Munro C Waycott1019Japan2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson C InouyeArgentinaAmy Elsner NEGOTIATION
Adams G KuskoBrazilOnyama Limba QUALIFIED
Johnson C OldroydSpainOnyama Limba QUALIFIED
Maisha C StockhamBrazilStephen Shaw UNQUALIFIED
Ashley W ShinkoFranceAnna Fali UNQUALIFIED
Wickens L NestleRussiaOnyama Limba QUALIFIED
Jeanfrancois R NickaGermanyAmy Elsner NEW
Salvatore G RutaFranceAnna Fali QUALIFIED
Francesco T AmigonFranceIvan Magalhaes QUALIFIED
Mayumi F StockhamArgentinaIvan Magalhaes QUALIFIED
Greenwood P RimArgentinaElwin Sharvill NEW
Kadeem S BriddickCanadaXuxue Feng PROPOSAL
Kaitlin X FollerAustraliaAnna Fali RENEWAL
Maria D AlbaresGermanyIvan Magalhaes RENEWAL
Nicolas E BowleyFranceOnyama Limba NEGOTIATION
Johnson Q BowleyJapanAsiya Javayant QUALIFIED
Clifford O GillianIndiaIoni Bowcher PROPOSAL
Smith K VenereItalyXuxue Feng UNQUALIFIED
Julie C BriddickJapanElwin Sharvill QUALIFIED
Mayumi M MaletAustraliaBernardo Dominic RENEWAL
Nicolas D InouyeGermanyBernardo Dominic QUALIFIED
Leja V FollerRussiaStephen Shaw NEGOTIATION
Leja V InouyeJapanIvan Magalhaes RENEWAL
Stacey D SchemmerCanadaOnyama Limba QUALIFIED
Octavia K InouyeSpainStephen Shaw QUALIFIED
Emily O ButtRussiaAnna Fali QUALIFIED
Kaitlin W SlusarskiAustraliaXuxue Feng PROPOSAL
Leja V FigeroaRussiaAmy Elsner QUALIFIED
Jeanfrancois L IturbideJapanIvan Magalhaes RENEWAL
Ricardo J RimGermanyIvan Magalhaes NEW
Silvio J BriddickUnited KingdomIoni Bowcher QUALIFIED
Mujtaba H FerenczGermanyXuxue Feng NEW
Leja P PaprockiCanadaBernardo Dominic NEGOTIATION
Mujtaba I RulapaughSpainAmy Elsner PROPOSAL
Deepesh Z GlickBrazilAsiya Javayant UNQUALIFIED
Alejandro X InouyeUnited KingdomAsiya Javayant NEGOTIATION
Nicolas V FlosiItalyBernardo Dominic UNQUALIFIED
Leon Z WaycottRussiaIvan Magalhaes QUALIFIED
Claire Q MaletSpainAnna Fali NEGOTIATION
Ricardo R MacleadSpainIoni Bowcher 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>