Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Greenwood X PaprockiCanadaIoni Bowcher UNQUALIFIED
Julie O BologniaArgentinaAsiya Javayant RENEWAL
Sinclair D RutaBrazilIoni Bowcher QUALIFIED
Jeanfrancois I RoysterRussiaStephen Shaw RENEWAL
Jones G RimSpainOnyama Limba PROPOSAL
Smith V StockhamGermanyIoni Bowcher NEW
Aruna M TollnerAustraliaBernardo Dominic QUALIFIED
Leja U RutaGermanyAsiya Javayant QUALIFIED
Faith T GillianItalyAmy Elsner NEGOTIATION
Alejandro K StockhamArgentinaAsiya Javayant QUALIFIED
Nicolas H CaldareraAustraliaOnyama Limba PROPOSAL
Francesco Y SergiIndiaAnna Fali UNQUALIFIED
Tony X GillianItalyOnyama Limba UNQUALIFIED
Nicolas Q RulapaughCanadaElwin Sharvill NEGOTIATION
Faith M FerenczFranceIvan Magalhaes UNQUALIFIED
Cody U AlbaresUnited KingdomXuxue Feng NEW
Nicolas E BowleyFranceIvan Magalhaes NEGOTIATION
James Y IturbideArgentinaAmy Elsner RENEWAL
Arvin G StockhamCanadaAsiya Javayant PROPOSAL
Nicolas G DarakjyUnited KingdomElwin Sharvill QUALIFIED
Faith L WaycottBrazilXuxue Feng NEW
Julie J MarrierCanadaIvan Magalhaes RENEWAL
Mujtaba D InouyeBrazilElwin Sharvill QUALIFIED
Julie X PaprockiItalyAsiya Javayant UNQUALIFIED
Cody X NestleIndiaBernardo Dominic RENEWAL
Maisha M WieserCanadaElwin Sharvill NEW
James S DarakjyFranceElwin Sharvill QUALIFIED
Maria X FollerCanadaIvan Magalhaes UNQUALIFIED
Cody K WaycottRussiaXuxue Feng QUALIFIED
Ivar Q FlosiGermanyIvan Magalhaes NEGOTIATION
Jones R FlosiGermanyElwin Sharvill QUALIFIED
Aruna P GillianGermanyOnyama Limba QUALIFIED
Wickens J RimIndiaElwin Sharvill PROPOSAL
Munro T MaletArgentinaOnyama Limba PROPOSAL
Silvio V MarrierItalyAnna Fali UNQUALIFIED
Ivar G StockhamSpainBernardo Dominic RENEWAL
Juan B GauchoGermanyElwin Sharvill PROPOSAL
Chavez N RutaJapanAmy Elsner QUALIFIED
Kaitlin W FigeroaArgentinaIvan Magalhaes NEW
Sinclair O PoquetteArgentinaXuxue Feng UNQUALIFIED
Leon I SergiIndiaXuxue Feng QUALIFIED
Aruna G RoysterUnited KingdomIoni Bowcher PROPOSAL
Tony V RimAustraliaStephen Shaw NEW
Kaitlin D DarakjyCanadaIvan Magalhaes PROPOSAL
Emily U InouyeIndiaAnna Fali UNQUALIFIED
Jennifer E SergiCanadaBernardo Dominic NEGOTIATION
Wickens U DoeCanadaBernardo Dominic NEW
Faith D GauchoAustraliaBernardo Dominic NEW
Mujtaba Q AmigonCanadaXuxue Feng RENEWAL
Leja N MaletSpainXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja O FigeroaFranceOnyama Limba UNQUALIFIED
Greenwood N CaldareraBrazilOnyama Limba RENEWAL
James O WieserCanadaOnyama Limba UNQUALIFIED
Ivar D MarrierJapanStephen Shaw NEW
Clifford I WaycottFranceIvan Magalhaes QUALIFIED
Mujtaba K SaylorsCanadaXuxue Feng NEGOTIATION
Antonio B AmigonSpainIvan Magalhaes QUALIFIED
Emily T MorascaSpainIoni Bowcher RENEWAL
Wickens C VenereCanadaXuxue Feng RENEWAL
Nicolas B KuskoSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony D FigeroaAustralia2025-09-06Rangoni Of Florence UNQUALIFIED72Bernardo Dominic
1001Deepesh N CampainJapan2025-09-16Chemel, James L Cpa QUALIFIED76Onyama Limba
1002Arvin D MaletAustralia2025-09-04Truhlar And Truhlar Attys NEW34Amy Elsner
1003Izzy A DoeGermany2025-09-20Dorl, James J Esq QUALIFIED73Onyama Limba
1004Octavia Y NestleGermany2025-09-14Chanay, Jeffrey A Esq UNQUALIFIED86Ioni Bowcher
1005Darci H PerinIndia2025-09-17King, Christopher A Esq RENEWAL15Anna Fali
1006Darci Q SchemmerItaly2025-09-30Buckley Miller Wright RENEWAL67Asiya Javayant
1007Arvin C BologniaBrazil2025-09-08Morlong Associates NEGOTIATION27Ivan Magalhaes
1008James Z WaycottJapan2025-09-07Dorl, James J Esq PROPOSAL40Ivan Magalhaes
1009Jefferson L KuskoBrazil2025-09-17Printing Dimensions UNQUALIFIED41Asiya Javayant
1010Misaki K ShinkoJapan2025-10-02Truhlar And Truhlar Attys NEW53Elwin Sharvill
1011Jennifer Y RimFrance2025-09-11Printing Dimensions UNQUALIFIED39Elwin Sharvill
1012Jefferson S ButtJapan2025-09-28Feltz Printing Service QUALIFIED7Anna Fali
1013Emily D GauchoUnited Kingdom2025-09-05Dorl, James J Esq UNQUALIFIED95Elwin Sharvill
1014Jones C BologniaArgentina2025-10-02Truhlar And Truhlar Attys PROPOSAL14Ioni Bowcher
1015Salvatore Y RulapaughJapan2025-09-05Morlong Associates NEW88Elwin Sharvill
1016Murillo F SlusarskiSpain2025-10-02Truhlar And Truhlar Attys RENEWAL59Amy Elsner
1017Antonio I FlosiCanada2025-09-10Feltz Printing Service NEW2Elwin Sharvill
1018Izzy A SaylorsIndia2025-09-05Chapman, Ross E Esq NEGOTIATION0Ioni Bowcher
1019Izzy S FlosiGermany2025-09-07Printing Dimensions QUALIFIED4Anna Fali
1020Isabel X NestleArgentina2025-09-12Truhlar And Truhlar Attys UNQUALIFIED3Amy Elsner
1021Sinclair Y TollnerArgentina2025-09-09Chemel, James L Cpa PROPOSAL57Onyama Limba
1022Maisha D VocelkaIndia2025-10-01Rousseaux, Michael Esq QUALIFIED45Ivan Magalhaes
1023Alejandro Q MarrierUnited Kingdom2025-09-23Feiner Bros NEW63Stephen Shaw
1024Maria Y RulapaughAustralia2025-09-11Feltz Printing Service RENEWAL81Ivan Magalhaes
1025Costa V CaldareraArgentina2025-09-07Commercial Press QUALIFIED36Ioni Bowcher
1026Rodrigues V OldroydSpain2025-09-03Chapman, Ross E Esq NEW74Anna Fali
1027Morrow X CaudyIndia2025-09-25Commercial Press QUALIFIED52Xuxue Feng
1028Rodrigues T MaletAustralia2025-09-18Rousseaux, Michael Esq QUALIFIED26Ivan Magalhaes
1029Jones D CaudyFrance2025-09-26King, Christopher A Esq PROPOSAL19Asiya Javayant
1030Jones A BowleyAustralia2025-09-12Chapman, Ross E Esq NEW99Xuxue Feng
1031Silvio T PerinUnited Kingdom2025-09-14Feltz Printing Service NEW98Ioni Bowcher
1032Deepesh H PaprockiIndia2025-09-29Chapman, Ross E Esq UNQUALIFIED13Stephen Shaw
1033Cody X StockhamRussia2025-09-23Printing Dimensions NEW51Stephen Shaw
1034Jennifer K WaycottUnited Kingdom2025-09-26Rousseaux, Michael Esq PROPOSAL76Asiya Javayant
1035Leja L MacleadArgentina2025-09-23Truhlar And Truhlar Attys RENEWAL29Anna Fali
1036Tony L GarufiRussia2025-09-26Commercial Press PROPOSAL95Bernardo Dominic
1037Jefferson E AlbaresGermany2025-09-21Chapman, Ross E Esq QUALIFIED70Ivan Magalhaes
1038Darci N AmigonCanada2025-10-02Chanay, Jeffrey A Esq NEW44Anna Fali
1039Faith I GauchoRussia2025-09-11Benton, John B Jr PROPOSAL40Asiya Javayant
1040Mujtaba X MacleadSpain2025-09-05Commercial Press NEGOTIATION91Onyama Limba
1041Maria G ButtIndia2025-09-28King, Christopher A Esq PROPOSAL50Amy Elsner
1042Greenwood T KolmetzRussia2025-09-07Chemel, James L Cpa PROPOSAL96Ivan Magalhaes
1043Aruna H DilliardArgentina2025-09-26Feltz Printing Service NEGOTIATION78Ivan Magalhaes
1044Johnson L AlbaresItaly2025-09-18Benton, John B Jr RENEWAL49Bernardo Dominic
1045Misaki C CaudyIndia2025-09-29Chanay, Jeffrey A Esq NEGOTIATION61Ioni Bowcher
1046Smith H AlbaresGermany2025-09-19Commercial Press QUALIFIED73Ioni Bowcher
1047James O WieserItaly2025-09-30Dorl, James J Esq NEGOTIATION74Onyama Limba
1048Silvio L PoquetteArgentina2025-09-11Commercial Press RENEWAL88Bernardo Dominic
1049Antonio P StensethBrazil2025-09-15Feltz Printing Service QUALIFIED48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jefferson K PoquetteArgentinaOnyama Limba RENEWAL
Ashley Z InouyeAustraliaElwin Sharvill NEGOTIATION
Munro Z VocelkaItalyAsiya Javayant NEW
Silvio U PoquetteUnited KingdomAsiya Javayant RENEWAL
James R FlosiRussiaElwin Sharvill QUALIFIED
Arvin F SaylorsCanadaAsiya Javayant QUALIFIED
Chavez N SchemmerSpainAmy Elsner NEGOTIATION
Francesco F PaprockiArgentinaXuxue Feng NEGOTIATION
Salvatore A NestleCanadaAnna Fali NEW
Emily G BowleySpainElwin Sharvill NEGOTIATION
Julie E BriddickCanadaIoni Bowcher NEGOTIATION
Ricardo O FlosiIndiaXuxue Feng NEW
Faith J InouyeIndiaIoni Bowcher UNQUALIFIED
Leon G BriddickBrazilAmy Elsner PROPOSAL
Costa R ChuiAustraliaAnna Fali QUALIFIED
Cody P NickaGermanyAmy Elsner PROPOSAL
Greenwood G ChuiBrazilXuxue Feng UNQUALIFIED
Arvin F KolmetzGermanyIoni Bowcher NEGOTIATION
James U BriddickItalyAsiya Javayant RENEWAL
Nicolas I NestleItalyXuxue Feng RENEWAL
Arvin T KuskoIndiaIvan Magalhaes NEW
Sinclair J RulapaughJapanStephen Shaw QUALIFIED
Salvatore Z StockhamGermanyStephen Shaw PROPOSAL
Leon C CaudyIndiaStephen Shaw NEW
Darci W FigeroaUnited KingdomStephen Shaw QUALIFIED
Isabel J SaylorsCanadaIvan Magalhaes QUALIFIED
Mujtaba L FlosiUnited KingdomXuxue Feng UNQUALIFIED
Ricardo E PoquetteCanadaAnna Fali PROPOSAL
Claire W SergiArgentinaAsiya Javayant QUALIFIED
Kadeem R ButtRussiaAnna Fali NEW
Smith G RulapaughAustraliaAnna Fali UNQUALIFIED
Munro K TollnerUnited KingdomIvan Magalhaes RENEWAL
Darci N RimIndiaBernardo Dominic UNQUALIFIED
Salvatore O FollerArgentinaAmy Elsner RENEWAL
Sinclair N GarufiUnited KingdomOnyama Limba RENEWAL
Maisha S StensethUnited KingdomOnyama Limba NEGOTIATION
Cody D CaudyBrazilBernardo Dominic UNQUALIFIED
Julie P GauchoJapanAsiya Javayant RENEWAL
David F DarakjyAustraliaAmy Elsner RENEWAL
Greenwood U RutaSpainAnna Fali QUALIFIED
Murillo J RimRussiaElwin Sharvill UNQUALIFIED
Greenwood M CaudyGermanyXuxue Feng QUALIFIED
Maisha E NickaCanadaBernardo Dominic RENEWAL
Arvin U GillianItalyElwin Sharvill NEGOTIATION
Isabel Y KuskoJapanAsiya Javayant QUALIFIED
Kadeem N PaprockiRussiaIoni Bowcher QUALIFIED
Chavez V IturbideUnited KingdomXuxue Feng RENEWAL
Mayumi L WaycottSpainBernardo Dominic PROPOSAL
Isabel W MorascaBrazilOnyama Limba NEW
Jeanfrancois S ShinkoSpainStephen Shaw PROPOSAL
Frozen Columns
Name
Clifford K Ferencz
Smith S Dilliard
Izzy S Tollner
Jennifer Y Butt
Cody F Bolognia
Francesco R Bolognia
Jefferson G Caudy
Clifford R Waycott
Maria Z Kolmetz
Darci Z Paprocki
Wickens O Iturbide
Silvio X Oldroyd
Aditya M Maclead
Nicolas A Sergi
Mujtaba H Figeroa
Tony R Ruta
Leon K Campain
Misaki Q Garufi
David P Malet
Kadeem Z Gaucho
David H Rulapaugh
Deepesh V Schemmer
Deepesh P Paprocki
Alejandro Y Slusarski
Arvin Q Campain
Smith U Amigon
Adams A Waycott
Juan J Ferencz
Aditya G Sergi
Kaitlin P Ferencz
Emily I Bowley
Juan E Maclead
Kadeem Z Glick
David Z Nicka
Chavez K Doe
Costa X Waycott
Sinclair E Tollner
Isabel Y Flosi
Jefferson X Doe
Ashley J Briddick
Jeanfrancois T Royster
Arvin M Doe
Tony Z Morasca
Ricardo F Schemmer
Adams K Ferencz
Alejandro P Kusko
Kaitlin S Malet
Leon P Stockham
Misaki F Garufi
Stacey I Whobrey
IdCountryDate
1000Japan2025-09-29
1001Brazil2025-09-03
1002Germany2025-09-16
1003United Kingdom2025-09-07
1004Canada2025-09-08
1005India2025-09-08
1006India2025-09-04
1007Russia2025-09-13
1008France2025-09-04
1009Russia2025-09-22
1010Canada2025-09-14
1011Spain2025-10-02
1012France2025-09-22
1013Italy2025-09-09
1014United Kingdom2025-09-06
1015Spain2025-09-14
1016Russia2025-09-18
1017Russia2025-09-15
1018Japan2025-09-11
1019Germany2025-09-14
1020Argentina2025-09-05
1021Russia2025-09-06
1022Spain2025-09-26
1023Japan2025-09-07
1024India2025-09-20
1025Japan2025-09-23
1026Canada2025-09-07
1027Argentina2025-09-16
1028India2025-09-27
1029Germany2025-09-18
1030Argentina2025-09-22
1031Germany2025-09-05
1032Argentina2025-09-13
1033Spain2025-09-04
1034France2025-09-09
1035Canada2025-09-26
1036India2025-09-15
1037United Kingdom2025-09-25
1038Spain2025-09-10
1039Spain2025-09-13
1040United Kingdom2025-09-04
1041Australia2025-09-11
1042Canada2025-09-29
1043Canada2025-09-15
1044Australia2025-09-10
1045Japan2025-09-04
1046Canada2025-09-24
1047Argentina2025-09-17
1048France2025-09-24
1049France2025-09-09

On-Demand Data

NameIdCountryDate
Octavia F Darakjy1000Spain2025-09-16
Mujtaba C Darakjy1001Russia2025-09-14
Smith W Dilliard1002France2025-09-20
Jones K Malet1003Canada2025-10-02
Deepesh T Paprocki1004Italy2025-09-12
Murillo W Briddick1005Argentina2025-09-07
Morrow S Malet1006Japan2025-09-20
Francesco C Sergi1007Australia2025-09-30
David P Morasca1008Italy2025-09-19
Aditya P Oldroyd1009United Kingdom2025-09-10
Adams L Chui1010Brazil2025-09-18
Salvatore A Malet1011United Kingdom2025-09-09
Kadeem Y Rulapaugh1012United Kingdom2025-09-28
Ricardo D Morasca1013Japan2025-09-25
Claire K Vocelka1014Canada2025-09-06
Sinclair E Wieser1015Italy2025-09-15
Tony G Ruta1016Australia2025-09-14
Clifford R Caudy1017Japan2025-09-07
Faith R Campain1018France2025-09-08
Greenwood T Oldroyd1019Italy2025-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams P StensethRussiaOnyama Limba NEGOTIATION
Johnson L KuskoFranceAmy Elsner NEGOTIATION
Tony U WaycottSpainAsiya Javayant NEGOTIATION
Stacey M PoquetteFranceAsiya Javayant PROPOSAL
David W KolmetzGermanyOnyama Limba PROPOSAL
Jennifer F VenereBrazilElwin Sharvill QUALIFIED
Arvin D ChuiBrazilIoni Bowcher QUALIFIED
Emily F FlosiJapanElwin Sharvill PROPOSAL
Ashley D CaudyUnited KingdomAnna Fali NEGOTIATION
Wickens D PoquetteArgentinaAmy Elsner PROPOSAL
Ashley W RoysterFranceAmy Elsner UNQUALIFIED
Morrow S SaylorsRussiaXuxue Feng NEGOTIATION
Arvin T RulapaughArgentinaStephen Shaw RENEWAL
Octavia U SaylorsCanadaAmy Elsner QUALIFIED
Faith Z RutaFranceOnyama Limba UNQUALIFIED
Isabel E ButtCanadaElwin Sharvill NEW
Sinclair L ChuiSpainAnna Fali NEGOTIATION
Julie N OldroydUnited KingdomAmy Elsner QUALIFIED
Mayumi B BowleyIndiaAmy Elsner RENEWAL
Leon V PerinItalyOnyama Limba NEGOTIATION
Julie N GillianAustraliaOnyama Limba NEGOTIATION
Chavez B AlbaresGermanyStephen Shaw RENEWAL
Deepesh N ShinkoIndiaBernardo Dominic NEW
Rodrigues F BriddickGermanyAnna Fali QUALIFIED
Ricardo E KuskoFranceAsiya Javayant UNQUALIFIED
David R PerinIndiaElwin Sharvill NEGOTIATION
Salvatore K RulapaughJapanXuxue Feng UNQUALIFIED
Faith Y GlickArgentinaStephen Shaw UNQUALIFIED
Octavia I CampainJapanOnyama Limba UNQUALIFIED
Misaki M SaylorsJapanStephen Shaw NEGOTIATION
Darci Y SergiItalyAmy Elsner UNQUALIFIED
Jefferson X RoysterSpainAsiya Javayant RENEWAL
Stacey K SaylorsSpainStephen Shaw NEGOTIATION
Wickens R FlosiAustraliaIoni Bowcher NEGOTIATION
Misaki Y StockhamJapanOnyama Limba UNQUALIFIED
Smith H OldroydAustraliaXuxue Feng PROPOSAL
Stacey L AlbaresFranceAnna Fali QUALIFIED
Wickens Y IturbideAustraliaOnyama Limba NEW
Mayumi K BologniaUnited KingdomBernardo Dominic NEGOTIATION
James Q StensethIndiaElwin Sharvill 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>