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
David C SlusarskiGermanyBernardo Dominic NEW
Tony J MaletCanadaXuxue Feng NEW
Salvatore X FigeroaRussiaOnyama Limba UNQUALIFIED
Greenwood N AmigonSpainAnna Fali PROPOSAL
Octavia I FollerAustraliaBernardo Dominic NEGOTIATION
Antonio F SchemmerBrazilStephen Shaw QUALIFIED
Deepesh R AlbaresRussiaOnyama Limba QUALIFIED
Mujtaba E SergiBrazilIvan Magalhaes PROPOSAL
Silvio L SlusarskiCanadaAsiya Javayant RENEWAL
Clifford P ChuiRussiaAmy Elsner NEGOTIATION
James D BologniaUnited KingdomStephen Shaw UNQUALIFIED
Sinclair A RulapaughBrazilStephen Shaw PROPOSAL
James R GauchoItalyBernardo Dominic RENEWAL
Kaitlin L NickaSpainIoni Bowcher UNQUALIFIED
Jennifer T RimAustraliaIvan Magalhaes NEW
Adams C ButtUnited KingdomAnna Fali PROPOSAL
Leja P OldroydItalyXuxue Feng NEW
Octavia K VocelkaRussiaAmy Elsner PROPOSAL
Cody P SergiItalyStephen Shaw NEGOTIATION
Clifford F WieserArgentinaElwin Sharvill RENEWAL
Salvatore E TollnerAustraliaIoni Bowcher NEGOTIATION
Rodrigues K InouyeRussiaAnna Fali NEGOTIATION
Faith V ShinkoAustraliaAmy Elsner QUALIFIED
Ivar Z SaylorsFranceOnyama Limba NEGOTIATION
Johnson C BologniaIndiaStephen Shaw NEW
Jones T DoeCanadaIoni Bowcher PROPOSAL
Adams D AlbaresCanadaElwin Sharvill UNQUALIFIED
Alejandro K ButtItalyXuxue Feng UNQUALIFIED
David T FerenczFranceAsiya Javayant UNQUALIFIED
Greenwood K MaletAustraliaXuxue Feng UNQUALIFIED
Mayumi T CampainCanadaStephen Shaw NEGOTIATION
Clifford P NestleItalyAsiya Javayant QUALIFIED
Deepesh E WieserFranceAmy Elsner UNQUALIFIED
Stacey K GauchoJapanElwin Sharvill NEGOTIATION
Sinclair X GillianArgentinaElwin Sharvill UNQUALIFIED
Cody R DarakjyUnited KingdomOnyama Limba RENEWAL
Jones X MorascaIndiaAnna Fali UNQUALIFIED
Faith G MorascaJapanAnna Fali NEW
Leon L RoysterFranceIvan Magalhaes NEGOTIATION
Johnson F SergiArgentinaAnna Fali NEW
Adams N RulapaughRussiaElwin Sharvill NEW
Darci P RulapaughIndiaIoni Bowcher UNQUALIFIED
Greenwood L StensethGermanyAnna Fali NEW
Stacey B CaudyBrazilXuxue Feng UNQUALIFIED
Darci V ButtBrazilAsiya Javayant RENEWAL
Aditya C MaletJapanStephen Shaw NEW
Kadeem T FigeroaAustraliaBernardo Dominic NEGOTIATION
Jones B FerenczIndiaAmy Elsner UNQUALIFIED
Costa M RoysterIndiaElwin Sharvill NEGOTIATION
Faith D NestleRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan O MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh Y RoysterUnited KingdomAmy Elsner NEW
Cody A CaudyAustraliaAnna Fali NEGOTIATION
Nicolas I RimJapanAmy Elsner RENEWAL
Stacey Z GillianSpainElwin Sharvill PROPOSAL
Salvatore Z ShinkoItalyXuxue Feng PROPOSAL
Darci Q DarakjyRussiaOnyama Limba NEGOTIATION
Johnson J StensethGermanyIvan Magalhaes NEW
Wickens U BologniaAustraliaAmy Elsner RENEWAL
Deepesh I FollerFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez A RimAustralia2026-10-28Morlong Associates NEW92Ivan Magalhaes
1001Wickens I TollnerSpain2026-10-06Rangoni Of Florence NEW80Onyama Limba
1002Smith I RulapaughItaly2026-10-04Truhlar And Truhlar Attys NEGOTIATION26Asiya Javayant
1003David Y AlbaresArgentina2026-10-05Dorl, James J Esq NEGOTIATION50Bernardo Dominic
1004Jennifer U AmigonBrazil2026-09-29Feltz Printing Service NEW56Asiya Javayant
1005Emily C GauchoGermany2026-10-27Dorl, James J Esq PROPOSAL33Ioni Bowcher
1006Aditya E IturbideSpain2026-10-24Feiner Bros QUALIFIED23Stephen Shaw
1007Octavia Y AmigonIndia2026-10-01Feltz Printing Service NEGOTIATION79Xuxue Feng
1008Faith V OldroydIndia2026-09-30Printing Dimensions PROPOSAL96Bernardo Dominic
1009Kadeem G CaudySpain2026-10-13Chemel, James L Cpa RENEWAL95Ivan Magalhaes
1010Adams S MaletRussia2026-10-06Feltz Printing Service NEGOTIATION74Asiya Javayant
1011Costa I VenereArgentina2026-10-13Dorl, James J Esq RENEWAL46Anna Fali
1012Leja I CaudyGermany2026-10-05Buckley Miller Wright NEGOTIATION28Bernardo Dominic
1013Francesco U FlosiBrazil2026-09-29Commercial Press NEW22Elwin Sharvill
1014Juan P WhobreyItaly2026-10-13Chapman, Ross E Esq PROPOSAL63Xuxue Feng
1015Jeanfrancois C MarrierJapan2026-10-27Commercial Press NEW61Asiya Javayant
1016Murillo W AmigonCanada2026-10-21Commercial Press UNQUALIFIED16Amy Elsner
1017Sinclair C RulapaughAustralia2026-10-24Dorl, James J Esq UNQUALIFIED2Elwin Sharvill
1018Wickens J BologniaIndia2026-10-11King, Christopher A Esq QUALIFIED19Elwin Sharvill
1019Kadeem D MacleadArgentina2026-10-12Feiner Bros RENEWAL95Elwin Sharvill
1020Rodrigues D MorascaBrazil2026-10-28Commercial Press NEW19Xuxue Feng
1021Misaki E FollerItaly2026-10-01Benton, John B Jr NEW24Amy Elsner
1022Aditya V PoquetteUnited Kingdom2026-10-05Rangoni Of Florence UNQUALIFIED90Onyama Limba
1023Maisha J NickaFrance2026-10-26Printing Dimensions NEW29Anna Fali
1024David R WieserRussia2026-10-22Buckley Miller Wright NEW52Elwin Sharvill
1025Tony S InouyeCanada2026-10-13Chapman, Ross E Esq RENEWAL82Anna Fali
1026Johnson J FerenczRussia2026-10-18Rousseaux, Michael Esq UNQUALIFIED57Anna Fali
1027Aika C VocelkaAustralia2026-10-24Printing Dimensions NEGOTIATION68Xuxue Feng
1028Adams B TollnerRussia2026-10-27Rangoni Of Florence NEGOTIATION27Ivan Magalhaes
1029Julie O ButtCanada2026-10-09Feltz Printing Service QUALIFIED86Elwin Sharvill
1030Aika R GarufiArgentina2026-10-08Printing Dimensions PROPOSAL44Amy Elsner
1031Arvin K OstroskyCanada2026-10-10Chemel, James L Cpa UNQUALIFIED34Ivan Magalhaes
1032Mujtaba V DarakjyAustralia2026-10-17Morlong Associates RENEWAL82Bernardo Dominic
1033Jeanfrancois Q ButtArgentina2026-09-29Chapman, Ross E Esq PROPOSAL92Elwin Sharvill
1034Adams G RutaCanada2026-10-21Printing Dimensions NEGOTIATION8Xuxue Feng
1035Clifford J StockhamJapan2026-10-14Truhlar And Truhlar Attys RENEWAL11Ivan Magalhaes
1036Kadeem M NickaJapan2026-10-02Printing Dimensions PROPOSAL47Ioni Bowcher
1037Misaki P FigeroaRussia2026-10-27Benton, John B Jr NEGOTIATION94Ivan Magalhaes
1038Alejandro O IturbideSpain2026-10-14Printing Dimensions UNQUALIFIED4Stephen Shaw
1039Smith E CaudyJapan2026-10-22Rangoni Of Florence NEGOTIATION38Xuxue Feng
1040Kadeem V DilliardAustralia2026-10-06Printing Dimensions RENEWAL5Ioni Bowcher
1041Claire E WhobreyGermany2026-10-28Commercial Press RENEWAL30Ioni Bowcher
1042Ashley O WieserCanada2026-10-08Chemel, James L Cpa QUALIFIED4Stephen Shaw
1043Munro B ShinkoItaly2026-10-27Buckley Miller Wright PROPOSAL93Onyama Limba
1044Julie H OstroskyIndia2026-10-03Rangoni Of Florence NEGOTIATION54Asiya Javayant
1045Francesco T SaylorsRussia2026-09-29Dorl, James J Esq QUALIFIED27Onyama Limba
1046Aika Z ButtFrance2026-10-12Printing Dimensions RENEWAL71Elwin Sharvill
1047Antonio N MacleadFrance2026-10-11Feiner Bros NEW52Ioni Bowcher
1048Salvatore O KolmetzRussia2026-10-15Rousseaux, Michael Esq NEGOTIATION76Onyama Limba
1049Cody K InouyeItaly2026-09-29Chemel, James L Cpa NEW85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Chavez G FigeroaItalyStephen Shaw UNQUALIFIED
Costa O CaudyGermanyElwin Sharvill RENEWAL
Morrow V GillianBrazilAmy Elsner NEW
Kaitlin T GillianGermanyOnyama Limba UNQUALIFIED
Izzy T OldroydAustraliaIoni Bowcher PROPOSAL
Jefferson Y MacleadArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois D InouyeCanadaIoni Bowcher NEGOTIATION
Aika K SlusarskiAustraliaXuxue Feng NEW
Silvio T BologniaUnited KingdomOnyama Limba PROPOSAL
Ivar F GillianItalyOnyama Limba NEW
Deepesh N WhobreySpainOnyama Limba PROPOSAL
Greenwood W CaldareraGermanyIvan Magalhaes PROPOSAL
Wickens V FollerBrazilBernardo Dominic NEW
Izzy C FlosiAustraliaIvan Magalhaes UNQUALIFIED
Costa X PerinAustraliaAsiya Javayant UNQUALIFIED
Misaki A MacleadAustraliaAsiya Javayant NEW
Sinclair G OstroskyAustraliaAsiya Javayant NEW
Mujtaba L BriddickBrazilAsiya Javayant NEGOTIATION
Arvin K CaldareraFranceBernardo Dominic NEW
Greenwood S BologniaUnited KingdomStephen Shaw NEGOTIATION
Isabel X ChuiBrazilIoni Bowcher NEGOTIATION
Cody V RutaFranceIoni Bowcher QUALIFIED
Emily V BowleyUnited KingdomStephen Shaw QUALIFIED
Maria C StensethSpainIoni Bowcher UNQUALIFIED
Maria J GillianAustraliaAmy Elsner RENEWAL
Claire K SchemmerRussiaAsiya Javayant NEGOTIATION
Clifford U NestleRussiaAnna Fali NEW
Jeanfrancois I NickaBrazilBernardo Dominic UNQUALIFIED
Munro C OldroydFranceAnna Fali RENEWAL
Sinclair J RutaUnited KingdomXuxue Feng RENEWAL
Aika H AlbaresCanadaStephen Shaw QUALIFIED
Ivar A AlbaresSpainXuxue Feng NEW
Johnson W SchemmerItalyBernardo Dominic PROPOSAL
Deepesh P WhobreyArgentinaAnna Fali QUALIFIED
David R SchemmerArgentinaStephen Shaw UNQUALIFIED
Johnson P ButtItalyIoni Bowcher NEGOTIATION
Arvin L StockhamJapanElwin Sharvill QUALIFIED
Ashley Q OldroydUnited KingdomXuxue Feng UNQUALIFIED
Misaki Z FlosiArgentinaStephen Shaw NEW
Rodrigues R StockhamArgentinaAmy Elsner RENEWAL
Kaitlin X SlusarskiSpainBernardo Dominic QUALIFIED
Juan Q MacleadSpainBernardo Dominic NEGOTIATION
Kaitlin G OstroskyJapanXuxue Feng PROPOSAL
Jefferson L FlosiItalyAnna Fali PROPOSAL
Isabel K ButtItalyBernardo Dominic PROPOSAL
Julie H VocelkaItalyStephen Shaw NEW
Stacey L DoeUnited KingdomStephen Shaw NEGOTIATION
Kaitlin V BologniaAustraliaBernardo Dominic QUALIFIED
Antonio J ButtGermanyElwin Sharvill RENEWAL
Nicolas J KuskoRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Antonio D Perin
Clifford L Paprocki
Aruna P Caldarera
Misaki G Caudy
Francesco X Kolmetz
Sinclair U Caldarera
Leon P Chui
Antonio I Figeroa
Francesco A Campain
Claire T Iturbide
Aruna F Sergi
Octavia I Poquette
Morrow J Chui
Maisha K Glick
James L Bowley
Adams T Kolmetz
Misaki Q Doe
Mayumi O Caldarera
Darci P Darakjy
Aika Y Bowley
Leja V Wieser
Adams G Maclead
Antonio C Campain
Deepesh N Nestle
Alejandro D Slusarski
Aditya K Inouye
Murillo H Nicka
Emily D Dilliard
Tony F Marrier
Octavia B Stockham
Ricardo Z Gaucho
Maria I Gillian
Leja C Slusarski
Smith A Poquette
Darci Q Albares
Claire F Waycott
Wickens D Tollner
Jennifer M Darakjy
Sinclair R Kolmetz
Stacey P Bowley
James D Bolognia
Alejandro J Vocelka
Jeanfrancois X Bolognia
Chavez Z Foller
Izzy P Campain
Morrow O Poquette
Morrow R Paprocki
Silvio I Oldroyd
Jennifer Y Briddick
David S Venere
IdCountryDate
1000Italy2026-10-20
1001Italy2026-10-09
1002Australia2026-10-08
1003Germany2026-10-11
1004France2026-10-28
1005Spain2026-10-05
1006France2026-10-09
1007Australia2026-10-19
1008Russia2026-10-05
1009United Kingdom2026-10-12
1010Brazil2026-10-04
1011Brazil2026-10-03
1012India2026-10-23
1013United Kingdom2026-10-10
1014Australia2026-10-05
1015Germany2026-10-17
1016Germany2026-10-14
1017Brazil2026-10-18
1018Russia2026-10-18
1019Australia2026-10-07
1020Germany2026-10-28
1021France2026-10-14
1022Italy2026-10-14
1023Russia2026-10-01
1024Brazil2026-10-26
1025Spain2026-10-13
1026Italy2026-10-03
1027France2026-10-02
1028France2026-09-29
1029Argentina2026-10-04
1030Russia2026-10-27
1031Germany2026-10-01
1032Germany2026-10-18
1033Russia2026-10-27
1034France2026-10-14
1035Spain2026-10-07
1036India2026-10-15
1037Germany2026-09-30
1038Russia2026-10-08
1039Russia2026-10-10
1040Australia2026-10-07
1041Australia2026-10-09
1042Japan2026-10-11
1043Argentina2026-09-30
1044India2026-10-13
1045Argentina2026-10-05
1046Canada2026-10-12
1047Argentina2026-10-25
1048United Kingdom2026-10-18
1049Russia2026-10-25

On-Demand Data

NameIdCountryDate
Kadeem C Rim1000Argentina2026-10-08
Misaki N Gaucho1001Russia2026-10-07
Aika M Marrier1002United Kingdom2026-10-18
Nicolas A Briddick1003Brazil2026-10-24
Cody I Ruta1004India2026-10-19
Jefferson I Kolmetz1005Spain2026-10-12
Chavez N Kusko1006Canada2026-10-21
Juan X Briddick1007Germany2026-10-16
Sinclair T Bowley1008Australia2026-10-18
Rodrigues D Morasca1009Russia2026-10-07
Misaki O Gillian1010Argentina2026-10-25
Smith I Paprocki1011Russia2026-10-06
Stacey L Glick1012Japan2026-10-27
Darci L Glick1013Spain2026-10-05
Claire S Malet1014Germany2026-10-13
Sinclair M Caldarera1015Canada2026-10-09
Chavez E Schemmer1016Argentina2026-10-23
Mujtaba A Doe1017Canada2026-10-24
Juan P Stockham1018France2026-09-29
Leon G Dilliard1019Italy2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams M OldroydCanadaAsiya Javayant PROPOSAL
Julie L GauchoUnited KingdomAsiya Javayant QUALIFIED
Claire I RulapaughArgentinaAmy Elsner QUALIFIED
Emily F KolmetzFranceXuxue Feng QUALIFIED
Juan X ChuiFranceXuxue Feng PROPOSAL
Mujtaba T OstroskyAustraliaXuxue Feng QUALIFIED
Maisha L TollnerGermanyOnyama Limba PROPOSAL
Smith W MorascaJapanAnna Fali NEW
Julie L StockhamJapanXuxue Feng RENEWAL
Claire V DarakjyCanadaOnyama Limba NEGOTIATION
Mayumi G MarrierJapanElwin Sharvill UNQUALIFIED
Munro G CaudyBrazilIoni Bowcher UNQUALIFIED
Faith H DoeSpainBernardo Dominic QUALIFIED
Ivar K VocelkaItalyIoni Bowcher UNQUALIFIED
Julie X NickaUnited KingdomIoni Bowcher NEGOTIATION
Kadeem C SlusarskiAustraliaAnna Fali NEGOTIATION
Maisha H BologniaIndiaIoni Bowcher NEGOTIATION
Jones F SergiJapanAnna Fali RENEWAL
Nicolas V DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Morrow V OldroydIndiaOnyama Limba UNQUALIFIED
Rodrigues P RoysterSpainIoni Bowcher NEW
Julie L AmigonFranceAnna Fali NEGOTIATION
Mayumi S IturbideSpainOnyama Limba NEW
Isabel R CaudyItalyStephen Shaw RENEWAL
Mayumi R NickaBrazilIoni Bowcher UNQUALIFIED
Kadeem D OstroskyAustraliaAnna Fali PROPOSAL
Greenwood Z RutaSpainAmy Elsner UNQUALIFIED
Aruna S BowleyIndiaBernardo Dominic UNQUALIFIED
Mayumi E MorascaSpainElwin Sharvill NEW
Salvatore G ChuiArgentinaAnna Fali PROPOSAL
Darci Y StensethAustraliaStephen Shaw RENEWAL
Julie G DoeUnited KingdomElwin Sharvill NEGOTIATION
Deepesh H NestleIndiaBernardo Dominic NEW
Sinclair X SlusarskiFranceIoni Bowcher NEGOTIATION
Aika W SlusarskiArgentinaIoni Bowcher RENEWAL
Smith X DoeArgentinaBernardo Dominic QUALIFIED
Adams D OstroskyJapanElwin Sharvill NEGOTIATION
Stacey W RimSpainIvan Magalhaes NEGOTIATION
Mujtaba Y RoysterSpainElwin Sharvill UNQUALIFIED
Stacey C SergiBrazilBernardo Dominic RENEWAL

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