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
Kaitlin N IturbideBrazilAsiya Javayant PROPOSAL
Leja F PerinItalyXuxue Feng PROPOSAL
Nicolas S GlickSpainAnna Fali PROPOSAL
Isabel K SchemmerCanadaIvan Magalhaes NEGOTIATION
Jennifer B BologniaArgentinaXuxue Feng QUALIFIED
Mujtaba H SchemmerJapanElwin Sharvill PROPOSAL
Arvin P MorascaCanadaElwin Sharvill NEGOTIATION
Kadeem P StockhamItalyIoni Bowcher UNQUALIFIED
Julie Y CaldareraCanadaIoni Bowcher UNQUALIFIED
David D PaprockiItalyElwin Sharvill PROPOSAL
Jennifer L RimJapanBernardo Dominic NEGOTIATION
Johnson N PaprockiIndiaElwin Sharvill RENEWAL
Arvin J KolmetzJapanIoni Bowcher QUALIFIED
Juan R MorascaJapanBernardo Dominic PROPOSAL
Kadeem N KolmetzSpainBernardo Dominic RENEWAL
Jefferson K BriddickFranceIoni Bowcher QUALIFIED
Chavez P CaldareraCanadaIvan Magalhaes PROPOSAL
Rodrigues R GillianItalyIvan Magalhaes QUALIFIED
David N StensethJapanAnna Fali NEW
Kaitlin K FollerIndiaStephen Shaw UNQUALIFIED
Murillo F DilliardItalyStephen Shaw NEGOTIATION
Mayumi Q ButtArgentinaIoni Bowcher RENEWAL
Leja H FerenczItalyXuxue Feng QUALIFIED
Sinclair D MaletGermanyAsiya Javayant QUALIFIED
Jefferson P StockhamItalyAmy Elsner UNQUALIFIED
Julie Z GarufiArgentinaIoni Bowcher UNQUALIFIED
Silvio N ShinkoGermanyIvan Magalhaes QUALIFIED
James F VenereArgentinaAnna Fali PROPOSAL
Francesco F GarufiFranceAsiya Javayant RENEWAL
Ivar V MorascaSpainStephen Shaw UNQUALIFIED
Smith C MaletGermanyXuxue Feng QUALIFIED
Mujtaba U GillianFranceIoni Bowcher RENEWAL
Wickens P FigeroaAustraliaOnyama Limba RENEWAL
Mujtaba U GlickFranceAmy Elsner NEW
Ricardo B FlosiArgentinaBernardo Dominic NEW
Isabel S StensethCanadaStephen Shaw NEGOTIATION
Faith C FerenczGermanyOnyama Limba NEW
Costa N SergiAustraliaAmy Elsner QUALIFIED
Aika X MorascaIndiaIoni Bowcher RENEWAL
Aika K RoysterArgentinaXuxue Feng NEW
Clifford X SlusarskiIndiaAmy Elsner UNQUALIFIED
Silvio H NickaUnited KingdomStephen Shaw NEGOTIATION
Ashley E IturbideBrazilAnna Fali PROPOSAL
Murillo C WaycottJapanAnna Fali NEW
Morrow K RoysterCanadaIvan Magalhaes UNQUALIFIED
Tony P PaprockiIndiaElwin Sharvill UNQUALIFIED
Sinclair I GauchoFranceAnna Fali PROPOSAL
Jeanfrancois N PaprockiIndiaBernardo Dominic PROPOSAL
Wickens R IturbideBrazilElwin Sharvill RENEWAL
Clifford O TollnerSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody K PaprockiCanadaAsiya Javayant QUALIFIED
Ashley I OldroydAustraliaBernardo Dominic NEGOTIATION
Wickens M FerenczBrazilIvan Magalhaes NEGOTIATION
Murillo I DarakjyFranceBernardo Dominic NEW
Aika O AmigonFranceAsiya Javayant UNQUALIFIED
Jones L SergiArgentinaOnyama Limba NEW
Wickens G OldroydSpainBernardo Dominic PROPOSAL
David P AlbaresSpainXuxue Feng QUALIFIED
David S NestleIndiaAmy Elsner UNQUALIFIED
Jennifer S MaletFranceAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna F GillianItaly2026-09-13Feltz Printing Service PROPOSAL66Amy Elsner
1001Jeanfrancois E RimArgentina2026-09-19Commercial Press RENEWAL6Ioni Bowcher
1002James N MaletIndia2026-09-13Feiner Bros NEGOTIATION39Ivan Magalhaes
1003Aruna K FigeroaArgentina2026-09-07Chapman, Ross E Esq UNQUALIFIED5Elwin Sharvill
1004Mujtaba W BriddickCanada2026-09-25Dorl, James J Esq QUALIFIED24Ioni Bowcher
1005Juan N MacleadArgentina2026-09-02Dorl, James J Esq QUALIFIED49Ivan Magalhaes
1006Jeanfrancois C FollerIndia2026-09-07Rangoni Of Florence PROPOSAL97Ivan Magalhaes
1007Emily I WaycottIndia2026-09-21Rangoni Of Florence PROPOSAL33Ivan Magalhaes
1008Morrow Y KuskoCanada2026-09-06Truhlar And Truhlar Attys UNQUALIFIED89Elwin Sharvill
1009Kaitlin P InouyeIndia2026-09-12Benton, John B Jr NEW8Xuxue Feng
1010Jeanfrancois B FlosiCanada2026-09-20Chapman, Ross E Esq QUALIFIED16Ivan Magalhaes
1011Aruna E NestleBrazil2026-08-28Feiner Bros PROPOSAL75Amy Elsner
1012Greenwood C CaudySpain2026-08-29Benton, John B Jr RENEWAL45Ioni Bowcher
1013Silvio E OstroskyAustralia2026-09-23Printing Dimensions RENEWAL73Ivan Magalhaes
1014Jefferson K TollnerAustralia2026-09-09Chemel, James L Cpa QUALIFIED97Onyama Limba
1015Claire B MarrierCanada2026-09-01Dorl, James J Esq RENEWAL25Amy Elsner
1016Aika R SaylorsRussia2026-09-04Printing Dimensions NEW29Elwin Sharvill
1017Isabel S OldroydCanada2026-09-15Chemel, James L Cpa NEGOTIATION3Onyama Limba
1018Salvatore E BriddickCanada2026-08-27Feiner Bros NEGOTIATION42Anna Fali
1019Silvio T GlickRussia2026-09-07Benton, John B Jr NEW13Amy Elsner
1020Munro R DoeJapan2026-09-20Chanay, Jeffrey A Esq NEW8Ioni Bowcher
1021Leja I RutaAustralia2026-08-30Morlong Associates RENEWAL81Amy Elsner
1022Aditya S CaudyRussia2026-09-03Commercial Press UNQUALIFIED28Ioni Bowcher
1023Ivar R FlosiCanada2026-09-19Dorl, James J Esq RENEWAL10Elwin Sharvill
1024Aika X GauchoFrance2026-09-24Rousseaux, Michael Esq QUALIFIED57Asiya Javayant
1025Isabel E FollerGermany2026-09-10Rangoni Of Florence RENEWAL2Bernardo Dominic
1026Aditya O FerenczBrazil2026-08-27Dorl, James J Esq UNQUALIFIED61Ioni Bowcher
1027Kaitlin M KolmetzCanada2026-09-18Rangoni Of Florence NEW95Elwin Sharvill
1028Nicolas S IturbideIndia2026-08-29Feltz Printing Service RENEWAL24Bernardo Dominic
1029Antonio P FlosiGermany2026-08-27Dorl, James J Esq NEW96Ivan Magalhaes
1030Mujtaba T InouyeRussia2026-09-20Chemel, James L Cpa NEGOTIATION10Ioni Bowcher
1031Maria A StockhamCanada2026-09-13Rousseaux, Michael Esq PROPOSAL43Anna Fali
1032Mayumi S WieserRussia2026-09-23Feiner Bros NEGOTIATION9Anna Fali
1033Octavia S VocelkaBrazil2026-09-24Rousseaux, Michael Esq NEW35Onyama Limba
1034Greenwood Q InouyeBrazil2026-09-21Morlong Associates NEGOTIATION76Ioni Bowcher
1035Nicolas I PoquetteUnited Kingdom2026-09-14Chapman, Ross E Esq PROPOSAL82Xuxue Feng
1036Stacey G BriddickRussia2026-09-01Rangoni Of Florence UNQUALIFIED55Onyama Limba
1037Maisha G SergiFrance2026-09-01Dorl, James J Esq NEGOTIATION98Onyama Limba
1038Ricardo X MaletArgentina2026-09-16Chapman, Ross E Esq NEW62Amy Elsner
1039Faith I SaylorsFrance2026-09-20Morlong Associates NEGOTIATION55Ivan Magalhaes
1040Leja P OstroskyCanada2026-09-20Rousseaux, Michael Esq RENEWAL14Ivan Magalhaes
1041Kaitlin A RoysterUnited Kingdom2026-08-29Rangoni Of Florence NEGOTIATION10Asiya Javayant
1042Maria D DoeJapan2026-09-23Chanay, Jeffrey A Esq RENEWAL53Onyama Limba
1043Octavia S ChuiIndia2026-09-24Commercial Press QUALIFIED39Xuxue Feng
1044Adams Y TollnerGermany2026-08-30Rangoni Of Florence QUALIFIED55Anna Fali
1045Munro R SergiBrazil2026-09-02Chemel, James L Cpa QUALIFIED39Stephen Shaw
1046James O RoysterBrazil2026-09-19King, Christopher A Esq RENEWAL54Onyama Limba
1047David B FerenczIndia2026-09-05Chanay, Jeffrey A Esq UNQUALIFIED35Bernardo Dominic
1048Aika Q MorascaIndia2026-09-18King, Christopher A Esq RENEWAL62Onyama Limba
1049Aika F MarrierJapan2026-09-02Buckley Miller Wright NEGOTIATION14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James D ChuiItalyAnna Fali NEGOTIATION
Izzy I TollnerFranceStephen Shaw PROPOSAL
Johnson N StockhamGermanyStephen Shaw PROPOSAL
Arvin S RulapaughCanadaBernardo Dominic RENEWAL
Deepesh N RimGermanyOnyama Limba UNQUALIFIED
Adams W DoeRussiaAmy Elsner NEGOTIATION
Wickens S TollnerArgentinaAmy Elsner UNQUALIFIED
Maisha D PerinSpainBernardo Dominic QUALIFIED
Antonio M RimArgentinaAnna Fali RENEWAL
Maria V StensethJapanIvan Magalhaes UNQUALIFIED
Sinclair R NestleAustraliaAsiya Javayant NEW
Isabel T BologniaGermanyIoni Bowcher NEGOTIATION
Johnson C SaylorsFranceAmy Elsner PROPOSAL
Francesco R WaycottBrazilAsiya Javayant RENEWAL
Jeanfrancois N CampainGermanyBernardo Dominic UNQUALIFIED
Jennifer K DilliardBrazilElwin Sharvill NEW
Juan U ChuiBrazilAsiya Javayant QUALIFIED
Ashley N RutaArgentinaAsiya Javayant UNQUALIFIED
Silvio W MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Chavez U VocelkaAustraliaBernardo Dominic NEW
Kadeem S CaudyFranceXuxue Feng PROPOSAL
Arvin P FerenczGermanyXuxue Feng RENEWAL
Ricardo O StensethSpainIoni Bowcher UNQUALIFIED
Francesco E AlbaresCanadaOnyama Limba RENEWAL
Julie R VocelkaRussiaElwin Sharvill RENEWAL
Costa B ChuiFranceAmy Elsner UNQUALIFIED
Sinclair T BologniaUnited KingdomStephen Shaw PROPOSAL
Isabel N MaletAustraliaIoni Bowcher NEW
James Z WhobreyRussiaAmy Elsner QUALIFIED
Deepesh M OldroydFranceStephen Shaw RENEWAL
David G OldroydUnited KingdomXuxue Feng PROPOSAL
Maria N FigeroaRussiaIoni Bowcher NEGOTIATION
Maisha V NickaIndiaElwin Sharvill UNQUALIFIED
Aditya X DoeFranceAnna Fali NEGOTIATION
Maria Q KolmetzFranceAsiya Javayant QUALIFIED
Smith Q SlusarskiJapanAsiya Javayant QUALIFIED
Octavia J FigeroaJapanAmy Elsner NEGOTIATION
Murillo U OstroskyArgentinaAsiya Javayant UNQUALIFIED
Aika F SaylorsGermanyOnyama Limba PROPOSAL
Claire O SchemmerItalyOnyama Limba RENEWAL
Salvatore I GarufiUnited KingdomIoni Bowcher NEW
Darci H BologniaGermanyIoni Bowcher QUALIFIED
Munro S StockhamItalyAnna Fali PROPOSAL
Cody S WhobreyCanadaAnna Fali NEGOTIATION
Kaitlin D BowleyGermanyBernardo Dominic PROPOSAL
Antonio K SchemmerJapanXuxue Feng NEGOTIATION
Greenwood X ChuiUnited KingdomIvan Magalhaes RENEWAL
Maria N FigeroaJapanBernardo Dominic QUALIFIED
Leja G SergiIndiaIoni Bowcher RENEWAL
James A RoysterRussiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Ivar I Stenseth
Nicolas Y Nestle
Claire M Rulapaugh
Salvatore X Venere
Julie I Garufi
Misaki T Bowley
Tony A Flosi
Ivar I Maclead
Mujtaba N Butt
Emily J Kolmetz
Emily A Nestle
Darci G Nicka
Adams H Briddick
Leja W Garufi
Claire Q Gaucho
Jones Z Royster
Maria W Rulapaugh
Costa T Whobrey
Isabel T Venere
Antonio N Briddick
Smith J Morasca
James I Venere
Cody W Marrier
Darci A Morasca
Leon S Flosi
Kaitlin V Garufi
Tony O Whobrey
Maria O Shinko
Costa W Stockham
Ricardo L Darakjy
Aruna N Royster
Clifford S Flosi
Alejandro R Ferencz
Izzy P Iturbide
Clifford P Darakjy
Stacey W Bowley
Misaki D Royster
Deepesh K Saylors
Wickens Z Rulapaugh
Jeanfrancois G Royster
Nicolas A Saylors
Emily P Poquette
Faith K Paprocki
Ashley Q Gillian
Jefferson A Gillian
Johnson B Bolognia
Aruna X Shinko
Clifford C Maclead
Adams W Nicka
Kadeem C Bolognia
IdCountryDate
1000Germany2026-09-10
1001Argentina2026-08-28
1002France2026-09-22
1003Japan2026-09-23
1004Japan2026-09-08
1005Russia2026-09-21
1006Canada2026-09-03
1007India2026-09-16
1008Spain2026-09-14
1009Brazil2026-09-09
1010Argentina2026-09-23
1011Canada2026-09-11
1012Germany2026-09-25
1013France2026-09-09
1014Canada2026-09-02
1015India2026-09-12
1016Germany2026-09-21
1017Japan2026-09-01
1018Argentina2026-09-23
1019Russia2026-09-10
1020Brazil2026-09-25
1021Spain2026-09-11
1022France2026-09-10
1023Germany2026-08-29
1024Canada2026-09-19
1025Spain2026-09-14
1026Germany2026-09-22
1027Argentina2026-09-02
1028Canada2026-08-29
1029India2026-09-21
1030Brazil2026-09-03
1031Italy2026-09-10
1032France2026-09-01
1033France2026-09-02
1034India2026-09-21
1035Canada2026-09-13
1036India2026-09-09
1037Brazil2026-08-28
1038Germany2026-09-10
1039India2026-09-25
1040Japan2026-08-31
1041Canada2026-09-01
1042United Kingdom2026-09-14
1043United Kingdom2026-08-28
1044United Kingdom2026-09-01
1045France2026-09-23
1046India2026-09-21
1047Japan2026-09-05
1048Spain2026-09-03
1049Russia2026-09-04

On-Demand Data

NameIdCountryDate
Juan C Schemmer1000Germany2026-08-31
Alejandro X Kusko1001India2026-09-11
Johnson I Poquette1002France2026-09-13
Deepesh N Morasca1003Australia2026-09-09
James S Kusko1004Canada2026-09-21
Mujtaba Z Vocelka1005India2026-09-13
Mayumi A Vocelka1006Canada2026-09-20
Salvatore K Ruta1007Canada2026-08-31
Francesco I Kolmetz1008India2026-09-15
Salvatore V Sergi1009Canada2026-08-31
Aruna H Ostrosky1010Germany2026-09-07
Costa V Wieser1011Spain2026-08-27
Faith X Glick1012Argentina2026-09-17
Octavia V Poquette1013Italy2026-09-20
Deepesh H Poquette1014Italy2026-09-23
Jefferson X Briddick1015Spain2026-09-15
Rodrigues T Saylors1016Australia2026-09-14
Claire F Perin1017Australia2026-09-04
Darci G Gaucho1018France2026-09-09
Maisha N Stenseth1019India2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody B WhobreyIndiaStephen Shaw PROPOSAL
Smith S BriddickSpainIvan Magalhaes NEW
Maria X MaletJapanAnna Fali NEGOTIATION
Ashley U RulapaughJapanOnyama Limba QUALIFIED
Arvin Y ChuiRussiaStephen Shaw UNQUALIFIED
Chavez T GarufiSpainIvan Magalhaes PROPOSAL
Maria I FerenczRussiaXuxue Feng PROPOSAL
Tony C AmigonCanadaAmy Elsner RENEWAL
Murillo W GauchoUnited KingdomStephen Shaw RENEWAL
Jefferson H MarrierAustraliaAmy Elsner NEGOTIATION
Emily X KolmetzIndiaAmy Elsner QUALIFIED
Johnson Y NestleAustraliaAnna Fali NEGOTIATION
Morrow D GlickFranceBernardo Dominic NEW
Morrow T DilliardJapanStephen Shaw PROPOSAL
Rodrigues T StockhamSpainAnna Fali PROPOSAL
Claire Z AlbaresRussiaIoni Bowcher QUALIFIED
Arvin L DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Leon S MarrierAustraliaXuxue Feng UNQUALIFIED
Octavia Y NestleBrazilIoni Bowcher RENEWAL
Sinclair F ChuiArgentinaIvan Magalhaes QUALIFIED
Tony N KolmetzArgentinaAmy Elsner QUALIFIED
Juan Y RulapaughJapanAmy Elsner PROPOSAL
Mayumi E GauchoAustraliaXuxue Feng PROPOSAL
Morrow O ButtIndiaAsiya Javayant UNQUALIFIED
Octavia F DilliardItalyStephen Shaw UNQUALIFIED
Claire Y FollerRussiaIoni Bowcher QUALIFIED
Octavia S RulapaughUnited KingdomAnna Fali NEW
Kadeem A MacleadItalyElwin Sharvill NEW
Ricardo X FerenczGermanyAnna Fali PROPOSAL
Antonio C GauchoUnited KingdomStephen Shaw NEW
Francesco O RimCanadaAnna Fali NEGOTIATION
Ivar X BologniaRussiaIvan Magalhaes UNQUALIFIED
Aika P BowleyBrazilStephen Shaw PROPOSAL
Claire O PerinJapanAnna Fali RENEWAL
Ivar D RimRussiaXuxue Feng UNQUALIFIED
Mayumi X SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin T DoeUnited KingdomAnna Fali UNQUALIFIED
Jones T SaylorsFranceAsiya Javayant NEW
Julie F IturbideRussiaXuxue Feng NEW
Alejandro U StockhamIndiaBernardo Dominic QUALIFIED

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