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
Kadeem N FlosiSpainAmy Elsner QUALIFIED
Arvin L MaletArgentinaXuxue Feng PROPOSAL
Francesco J StensethUnited KingdomAsiya Javayant NEW
James G InouyeJapanAmy Elsner RENEWAL
Salvatore B ButtFranceStephen Shaw PROPOSAL
Juan J GauchoFranceOnyama Limba UNQUALIFIED
Adams W SergiCanadaIoni Bowcher QUALIFIED
Alejandro U MarrierJapanIoni Bowcher PROPOSAL
Misaki A DilliardArgentinaElwin Sharvill UNQUALIFIED
Kaitlin B FerenczCanadaXuxue Feng QUALIFIED
Juan R MaletRussiaStephen Shaw PROPOSAL
Deepesh P ButtCanadaBernardo Dominic PROPOSAL
Octavia Y GauchoFranceBernardo Dominic PROPOSAL
Murillo O SlusarskiRussiaIvan Magalhaes RENEWAL
Leja B KolmetzFranceElwin Sharvill NEW
Cody G TollnerItalyIvan Magalhaes RENEWAL
Alejandro Y MaletBrazilXuxue Feng NEW
Juan U CaldareraGermanyIoni Bowcher PROPOSAL
David M FigeroaItalyStephen Shaw QUALIFIED
Julie V CaldareraItalyBernardo Dominic QUALIFIED
Smith W NestleBrazilElwin Sharvill NEGOTIATION
Stacey F RoysterBrazilXuxue Feng NEGOTIATION
Francesco G SchemmerIndiaIoni Bowcher PROPOSAL
Tony R SergiArgentinaAnna Fali QUALIFIED
Maria G GauchoAustraliaAsiya Javayant RENEWAL
Kaitlin A GillianUnited KingdomOnyama Limba UNQUALIFIED
Faith E SchemmerJapanIoni Bowcher PROPOSAL
Nicolas Z ShinkoJapanOnyama Limba UNQUALIFIED
Emily T NickaRussiaIoni Bowcher PROPOSAL
Leon G NestleFranceXuxue Feng NEGOTIATION
Chavez L SchemmerFranceElwin Sharvill UNQUALIFIED
Aika T OstroskyArgentinaAsiya Javayant UNQUALIFIED
Emily W NickaItalyOnyama Limba QUALIFIED
Izzy C BologniaAustraliaStephen Shaw PROPOSAL
Aditya D GarufiItalyIvan Magalhaes QUALIFIED
Alejandro S MacleadSpainStephen Shaw PROPOSAL
Juan Q GillianIndiaAsiya Javayant RENEWAL
Misaki M FigeroaJapanAnna Fali NEW
Clifford Z WieserGermanyStephen Shaw PROPOSAL
David K SergiIndiaAmy Elsner RENEWAL
Emily P GlickFranceAsiya Javayant UNQUALIFIED
Ashley L FlosiUnited KingdomBernardo Dominic RENEWAL
Sinclair B GarufiItalyBernardo Dominic PROPOSAL
Aruna M MaletSpainBernardo Dominic NEGOTIATION
Johnson T ButtFranceOnyama Limba QUALIFIED
Ashley I GlickArgentinaBernardo Dominic UNQUALIFIED
Isabel L WaycottUnited KingdomOnyama Limba RENEWAL
Arvin H GauchoUnited KingdomXuxue Feng QUALIFIED
Johnson J WieserAustraliaOnyama Limba UNQUALIFIED
Mayumi H GlickUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Aika Z VenereRussiaOnyama Limba UNQUALIFIED
Izzy Q MarrierIndiaIoni Bowcher NEW
Deepesh J KolmetzArgentinaIoni Bowcher PROPOSAL
Leon T OstroskyBrazilAnna Fali RENEWAL
Silvio U OstroskyGermanyXuxue Feng NEW
Aruna A BowleyItalyBernardo Dominic NEGOTIATION
Maisha R FerenczFranceIoni Bowcher QUALIFIED
Antonio E GlickSpainIvan Magalhaes NEGOTIATION
Smith N RimGermanyStephen Shaw UNQUALIFIED
Smith L FigeroaGermanyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith T GauchoFrance2026-08-31Chapman, Ross E Esq UNQUALIFIED57Anna Fali
1001Aditya M BologniaJapan2026-09-05Commercial Press QUALIFIED68Stephen Shaw
1002Deepesh J ShinkoRussia2026-09-10Truhlar And Truhlar Attys NEGOTIATION72Amy Elsner
1003Isabel R DarakjyCanada2026-08-29Rousseaux, Michael Esq NEGOTIATION48Anna Fali
1004Emily P RoysterUnited Kingdom2026-09-03Chanay, Jeffrey A Esq NEGOTIATION69Ivan Magalhaes
1005Aruna G DoeCanada2026-09-21Morlong Associates PROPOSAL68Onyama Limba
1006Mujtaba X MarrierAustralia2026-09-23Rousseaux, Michael Esq UNQUALIFIED5Amy Elsner
1007Claire Q FigeroaGermany2026-09-21Morlong Associates PROPOSAL20Amy Elsner
1008Nicolas O KolmetzArgentina2026-09-09Dorl, James J Esq NEW91Ivan Magalhaes
1009Jennifer F GauchoRussia2026-09-12King, Christopher A Esq PROPOSAL28Ioni Bowcher
1010Arvin T StensethFrance2026-09-02Commercial Press RENEWAL26Asiya Javayant
1011James M OstroskyAustralia2026-09-09Commercial Press QUALIFIED66Ioni Bowcher
1012David A MarrierArgentina2026-09-01Rangoni Of Florence PROPOSAL31Ivan Magalhaes
1013Aditya Y DarakjyIndia2026-09-23Rangoni Of Florence NEW24Stephen Shaw
1014Nicolas A BriddickGermany2026-09-09Chanay, Jeffrey A Esq NEGOTIATION70Amy Elsner
1015Leon D KolmetzRussia2026-09-02Chemel, James L Cpa RENEWAL8Ivan Magalhaes
1016Faith R NestleCanada2026-09-06Morlong Associates NEW52Ioni Bowcher
1017Aditya A StensethBrazil2026-09-12Chemel, James L Cpa NEGOTIATION40Xuxue Feng
1018Francesco U SaylorsRussia2026-08-27King, Christopher A Esq RENEWAL64Asiya Javayant
1019Murillo T WaycottAustralia2026-09-10Morlong Associates UNQUALIFIED48Amy Elsner
1020Leja F FerenczArgentina2026-09-05King, Christopher A Esq PROPOSAL68Xuxue Feng
1021Antonio R DoeItaly2026-09-07Feiner Bros UNQUALIFIED32Bernardo Dominic
1022Faith C DarakjyRussia2026-09-10Commercial Press NEGOTIATION41Onyama Limba
1023Maisha A NestleItaly2026-09-21Chapman, Ross E Esq QUALIFIED9Amy Elsner
1024Julie P RimArgentina2026-09-02Chemel, James L Cpa RENEWAL9Bernardo Dominic
1025Deepesh W BologniaJapan2026-09-06Feltz Printing Service UNQUALIFIED17Ioni Bowcher
1026Darci W InouyeRussia2026-09-15Feiner Bros RENEWAL87Onyama Limba
1027Clifford X PoquetteSpain2026-09-22Rangoni Of Florence QUALIFIED69Onyama Limba
1028Jennifer M BologniaCanada2026-09-01Feiner Bros RENEWAL53Elwin Sharvill
1029Greenwood D WhobreyGermany2026-09-12Rangoni Of Florence NEW89Amy Elsner
1030Kaitlin D VenereFrance2026-09-06Dorl, James J Esq NEGOTIATION93Xuxue Feng
1031Tony T KolmetzGermany2026-08-26Chapman, Ross E Esq NEGOTIATION71Bernardo Dominic
1032Clifford Y ChuiJapan2026-08-30Buckley Miller Wright QUALIFIED57Bernardo Dominic
1033Maria J GauchoUnited Kingdom2026-09-14Rousseaux, Michael Esq QUALIFIED6Elwin Sharvill
1034Darci Y MacleadFrance2026-09-11Morlong Associates NEGOTIATION0Asiya Javayant
1035Leja S DarakjyUnited Kingdom2026-09-23Feltz Printing Service UNQUALIFIED97Bernardo Dominic
1036Greenwood X KuskoBrazil2026-09-16Commercial Press NEGOTIATION93Xuxue Feng
1037Isabel O MaletIndia2026-09-17Dorl, James J Esq RENEWAL42Stephen Shaw
1038Jones K StockhamUnited Kingdom2026-09-21Rousseaux, Michael Esq NEGOTIATION75Ioni Bowcher
1039Greenwood F CaldareraRussia2026-09-01King, Christopher A Esq NEW75Xuxue Feng
1040Jefferson M DilliardGermany2026-09-18Morlong Associates QUALIFIED67Xuxue Feng
1041Tony U OldroydGermany2026-09-02King, Christopher A Esq NEGOTIATION71Elwin Sharvill
1042Mujtaba R StensethArgentina2026-08-27Commercial Press NEGOTIATION23Onyama Limba
1043Aruna I MaletGermany2026-09-21Dorl, James J Esq RENEWAL15Bernardo Dominic
1044Isabel F FlosiRussia2026-08-25Rousseaux, Michael Esq NEGOTIATION6Asiya Javayant
1045Juan D GillianGermany2026-09-08King, Christopher A Esq QUALIFIED70Anna Fali
1046Wickens Y StockhamSpain2026-08-31Feltz Printing Service NEGOTIATION16Asiya Javayant
1047Claire Z WieserFrance2026-09-02Feiner Bros NEW68Elwin Sharvill
1048Morrow C RimRussia2026-09-09Chapman, Ross E Esq UNQUALIFIED77Ivan Magalhaes
1049Silvio W AmigonAustralia2026-08-30Chemel, James L Cpa NEW90Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James U GillianJapanAmy Elsner NEW
Chavez E VocelkaSpainStephen Shaw RENEWAL
Greenwood M MaletFranceXuxue Feng RENEWAL
Misaki V RimAustraliaXuxue Feng PROPOSAL
Arvin K WieserArgentinaIoni Bowcher UNQUALIFIED
Silvio O SaylorsIndiaElwin Sharvill UNQUALIFIED
Mujtaba V GarufiBrazilStephen Shaw PROPOSAL
David U CaudyCanadaStephen Shaw NEGOTIATION
Francesco K SchemmerRussiaAnna Fali RENEWAL
Costa A MacleadItalyAmy Elsner RENEWAL
Ashley L ButtFranceOnyama Limba QUALIFIED
Silvio V KolmetzJapanStephen Shaw NEW
Silvio M FlosiFranceElwin Sharvill NEGOTIATION
Deepesh G GillianBrazilBernardo Dominic RENEWAL
Wickens J FigeroaItalyIoni Bowcher NEW
Aika Y VocelkaItalyAsiya Javayant PROPOSAL
Tony D GauchoJapanOnyama Limba NEGOTIATION
Juan W RimAustraliaXuxue Feng UNQUALIFIED
Mujtaba Z CampainIndiaXuxue Feng NEGOTIATION
Misaki K StockhamItalyElwin Sharvill RENEWAL
Munro J WaycottArgentinaBernardo Dominic PROPOSAL
Aruna N BowleyIndiaAnna Fali RENEWAL
Darci Z PoquetteItalyStephen Shaw PROPOSAL
Greenwood M InouyeSpainAsiya Javayant NEGOTIATION
Darci J PaprockiFranceXuxue Feng PROPOSAL
Smith O RutaAustraliaBernardo Dominic QUALIFIED
Morrow Z PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Stacey O WaycottCanadaOnyama Limba QUALIFIED
Clifford D AlbaresCanadaAsiya Javayant NEW
Leon N GauchoJapanIoni Bowcher UNQUALIFIED
Misaki H NickaCanadaIoni Bowcher PROPOSAL
Leon Y WaycottArgentinaAnna Fali NEGOTIATION
Ivar Z MacleadIndiaIvan Magalhaes NEGOTIATION
Kadeem N OldroydItalyAsiya Javayant RENEWAL
Ashley E RulapaughJapanAmy Elsner UNQUALIFIED
Chavez M BologniaBrazilBernardo Dominic RENEWAL
Cody F IturbideItalyXuxue Feng RENEWAL
Francesco K PaprockiJapanBernardo Dominic QUALIFIED
Murillo N SchemmerArgentinaStephen Shaw RENEWAL
James G GarufiArgentinaXuxue Feng PROPOSAL
Darci G AmigonJapanElwin Sharvill NEGOTIATION
Salvatore J WaycottSpainStephen Shaw NEW
Aruna G IturbideSpainAsiya Javayant NEW
Aditya N ShinkoGermanyIvan Magalhaes RENEWAL
Greenwood X FlosiGermanyAmy Elsner NEW
Kaitlin V MacleadItalyIvan Magalhaes PROPOSAL
Cody M TollnerAustraliaOnyama Limba QUALIFIED
Sinclair E PerinJapanOnyama Limba NEGOTIATION
Stacey K GauchoArgentinaOnyama Limba RENEWAL
Antonio D GlickAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Silvio X Tollner
Munro L Flosi
Antonio H Royster
Morrow J Butt
Izzy I Gaucho
Johnson Y Poquette
Adams H Caldarera
Morrow E Gaucho
Darci S Whobrey
Rodrigues L Kolmetz
Juan K Wieser
Murillo I Garufi
Smith D Slusarski
Antonio F Royster
David V Waycott
Arvin A Kusko
Smith E Tollner
Jennifer T Vocelka
Tony T Stockham
Mujtaba S Tollner
Mayumi G Bolognia
Maria G Perin
Murillo X Rim
Maisha Z Bolognia
Maisha M Malet
Murillo Z Royster
Jennifer X Foller
Jefferson B Royster
Julie K Wieser
Cody Y Tollner
Antonio J Malet
Jeanfrancois X Ruta
Leja R Caudy
Aditya M Garufi
Julie R Ferencz
Mayumi U Kusko
Munro U Albares
Emily X Vocelka
Jennifer V Paprocki
Clifford H Marrier
Morrow Y Nicka
Silvio W Paprocki
Rodrigues W Slusarski
Stacey X Caudy
Mayumi U Ruta
Aditya Y Malet
Misaki P Royster
Isabel A Darakjy
Faith Q Kolmetz
Tony H Malet
IdCountryDate
1000Germany2026-09-13
1001Australia2026-08-25
1002Russia2026-09-10
1003France2026-09-12
1004Italy2026-08-26
1005Spain2026-09-13
1006Brazil2026-09-21
1007Australia2026-08-31
1008Spain2026-09-04
1009Argentina2026-09-21
1010Japan2026-09-08
1011Japan2026-09-05
1012Russia2026-09-05
1013Russia2026-09-19
1014France2026-08-28
1015Germany2026-09-23
1016Japan2026-09-21
1017Argentina2026-09-01
1018Germany2026-09-08
1019Argentina2026-09-06
1020Japan2026-09-12
1021Argentina2026-09-17
1022Italy2026-09-11
1023India2026-09-22
1024Canada2026-09-09
1025Spain2026-09-17
1026Russia2026-09-07
1027Canada2026-09-22
1028Spain2026-09-21
1029Australia2026-08-25
1030Italy2026-09-14
1031India2026-09-14
1032Argentina2026-09-06
1033Germany2026-08-25
1034Argentina2026-08-31
1035Argentina2026-09-20
1036Brazil2026-08-30
1037Australia2026-08-26
1038Canada2026-09-08
1039Italy2026-08-29
1040Brazil2026-08-29
1041Argentina2026-08-29
1042India2026-09-20
1043Argentina2026-09-19
1044Russia2026-09-08
1045Argentina2026-08-25
1046Japan2026-09-07
1047Australia2026-09-05
1048Italy2026-09-20
1049Italy2026-08-31

On-Demand Data

NameIdCountryDate
Mayumi L Briddick1000United Kingdom2026-09-17
David H Bowley1001Brazil2026-09-11
Tony N Paprocki1002India2026-09-19
Leja Y Caudy1003Australia2026-08-28
Jennifer X Amigon1004Spain2026-08-26
Chavez F Poquette1005France2026-09-04
Octavia P Sergi1006Australia2026-08-31
Jefferson V Paprocki1007Japan2026-09-21
Wickens X Rim1008Argentina2026-09-22
Sinclair Z Whobrey1009United Kingdom2026-09-10
Julie D Glick1010Brazil2026-09-09
Aika J Wieser1011Germany2026-09-16
Claire B Glick1012India2026-09-23
Cody O Schemmer1013Canada2026-09-13
Alejandro F Albares1014Canada2026-09-08
Nicolas J Garufi1015United Kingdom2026-08-29
Deepesh Y Whobrey1016Japan2026-08-29
Nicolas H Vocelka1017Japan2026-09-22
Munro N Morasca1018Canada2026-08-27
Maisha L Bolognia1019India2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria G StensethIndiaAnna Fali UNQUALIFIED
Ivar E WaycottItalyBernardo Dominic PROPOSAL
Leon L WhobreyIndiaAmy Elsner PROPOSAL
Tony C GauchoItalyAnna Fali NEW
Misaki X RulapaughIndiaStephen Shaw NEGOTIATION
Izzy S KuskoRussiaXuxue Feng NEW
Isabel Y SaylorsArgentinaBernardo Dominic NEGOTIATION
Alejandro Q TollnerBrazilIvan Magalhaes RENEWAL
Jefferson T MarrierJapanStephen Shaw NEGOTIATION
Jones K PoquetteGermanyElwin Sharvill PROPOSAL
Jennifer Q CampainRussiaIoni Bowcher PROPOSAL
Silvio C SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Johnson L CaudyFranceXuxue Feng QUALIFIED
Izzy D MorascaCanadaElwin Sharvill QUALIFIED
Mujtaba P SergiFranceBernardo Dominic NEGOTIATION
Ashley C MorascaCanadaElwin Sharvill NEGOTIATION
Kadeem Q MaletRussiaIvan Magalhaes NEW
Misaki V GarufiAustraliaBernardo Dominic NEGOTIATION
Aditya Y AmigonUnited KingdomElwin Sharvill RENEWAL
Francesco H OldroydAustraliaStephen Shaw PROPOSAL
Juan Z RulapaughFranceAsiya Javayant QUALIFIED
Leon K OstroskyRussiaIoni Bowcher UNQUALIFIED
Greenwood I ShinkoSpainIvan Magalhaes UNQUALIFIED
Johnson F GauchoBrazilElwin Sharvill UNQUALIFIED
Antonio C RimArgentinaBernardo Dominic NEW
Mujtaba G NickaAustraliaXuxue Feng PROPOSAL
Sinclair K ChuiSpainXuxue Feng RENEWAL
Jones Q SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Aruna P RimItalyAmy Elsner QUALIFIED
Rodrigues K InouyeSpainBernardo Dominic RENEWAL
Sinclair T InouyeRussiaElwin Sharvill UNQUALIFIED
Silvio F SaylorsSpainAsiya Javayant QUALIFIED
Morrow V PerinIndiaElwin Sharvill NEW
Salvatore A PaprockiItalyElwin Sharvill PROPOSAL
Aditya Q MacleadSpainBernardo Dominic NEGOTIATION
Kadeem U WhobreyFranceXuxue Feng QUALIFIED
Claire F OldroydUnited KingdomAmy Elsner RENEWAL
Mujtaba R KolmetzBrazilElwin Sharvill PROPOSAL
Leja Q CaldareraSpainAmy Elsner NEGOTIATION
Maisha I DoeArgentinaOnyama Limba UNQUALIFIED

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