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
Sinclair X PerinGermanyXuxue Feng QUALIFIED
Emily D PaprockiSpainAsiya Javayant NEW
Murillo L MorascaUnited KingdomAmy Elsner PROPOSAL
Mayumi E DarakjyJapanStephen Shaw QUALIFIED
Rodrigues R WieserArgentinaAsiya Javayant NEGOTIATION
Aruna S ChuiRussiaBernardo Dominic PROPOSAL
Arvin G SaylorsItalyAsiya Javayant NEGOTIATION
Tony V SchemmerBrazilXuxue Feng NEGOTIATION
Deepesh G SchemmerRussiaStephen Shaw UNQUALIFIED
Clifford N BowleyFranceIvan Magalhaes QUALIFIED
Isabel T FollerRussiaAsiya Javayant QUALIFIED
Tony V ShinkoArgentinaOnyama Limba NEW
Sinclair X GauchoIndiaIoni Bowcher PROPOSAL
Kadeem W VocelkaItalyIoni Bowcher NEGOTIATION
Faith Y MaletUnited KingdomBernardo Dominic RENEWAL
Johnson V StensethItalyAnna Fali UNQUALIFIED
Ashley H NickaAustraliaIvan Magalhaes NEGOTIATION
Ashley J MaletIndiaXuxue Feng NEW
Maisha D TollnerSpainElwin Sharvill UNQUALIFIED
Murillo C MacleadUnited KingdomIvan Magalhaes NEW
James K StockhamRussiaIoni Bowcher NEW
Johnson X GauchoCanadaXuxue Feng NEGOTIATION
Stacey X CaudyFranceStephen Shaw PROPOSAL
Emily X CaldareraAustraliaXuxue Feng UNQUALIFIED
Alejandro E RulapaughRussiaElwin Sharvill PROPOSAL
Adams A VocelkaCanadaAsiya Javayant QUALIFIED
Aditya M CaldareraJapanXuxue Feng UNQUALIFIED
Aruna G PaprockiCanadaAmy Elsner QUALIFIED
Arvin R ButtGermanyAnna Fali NEW
Ashley E RimAustraliaBernardo Dominic PROPOSAL
Stacey Y SlusarskiSpainAsiya Javayant NEW
Nicolas S ShinkoUnited KingdomBernardo Dominic RENEWAL
Murillo O PoquetteBrazilOnyama Limba NEGOTIATION
Darci K ButtIndiaAmy Elsner PROPOSAL
Misaki O PoquetteIndiaStephen Shaw RENEWAL
Johnson X AmigonFranceIvan Magalhaes RENEWAL
Munro E ButtSpainIoni Bowcher PROPOSAL
David Y GillianFranceIvan Magalhaes UNQUALIFIED
Misaki N BologniaGermanyIvan Magalhaes PROPOSAL
Munro G CampainFranceAsiya Javayant QUALIFIED
Mayumi A CaldareraFranceIvan Magalhaes QUALIFIED
Jones A RulapaughJapanXuxue Feng RENEWAL
Clifford M SchemmerCanadaOnyama Limba NEGOTIATION
Wickens G PoquetteArgentinaAnna Fali QUALIFIED
Mayumi B PaprockiArgentinaXuxue Feng RENEWAL
Wickens H SergiRussiaElwin Sharvill RENEWAL
David T GillianFranceIoni Bowcher NEW
Alejandro N IturbideRussiaAnna Fali QUALIFIED
Murillo L MorascaIndiaElwin Sharvill QUALIFIED
Kadeem Q ShinkoIndiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody A RoysterCanadaOnyama Limba RENEWAL
Morrow E FerenczCanadaXuxue Feng RENEWAL
Morrow W DoeFranceAmy Elsner NEW
Juan U OstroskyFranceElwin Sharvill RENEWAL
Octavia P SergiIndiaElwin Sharvill QUALIFIED
Francesco O AlbaresItalyElwin Sharvill NEGOTIATION
Leon R RutaGermanyAsiya Javayant RENEWAL
Sinclair S AlbaresGermanyIvan Magalhaes QUALIFIED
Johnson M InouyeItalyElwin Sharvill NEW
Jennifer B BologniaIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio I BriddickArgentina2026-09-29Chemel, James L Cpa NEGOTIATION27Xuxue Feng
1001Izzy I BowleyIndia2026-09-28King, Christopher A Esq QUALIFIED25Onyama Limba
1002Chavez G SaylorsSpain2026-09-20Feltz Printing Service RENEWAL92Xuxue Feng
1003Misaki K DarakjyIndia2026-09-22Dorl, James J Esq NEGOTIATION91Asiya Javayant
1004Stacey T GauchoArgentina2026-09-11Printing Dimensions QUALIFIED36Amy Elsner
1005Mayumi V ChuiJapan2026-10-02Rangoni Of Florence UNQUALIFIED63Anna Fali
1006Arvin B MacleadItaly2026-09-19Chemel, James L Cpa UNQUALIFIED46Amy Elsner
1007Kadeem W BologniaBrazil2026-09-17Feiner Bros NEGOTIATION57Xuxue Feng
1008Claire H OstroskyJapan2026-09-15King, Christopher A Esq UNQUALIFIED30Anna Fali
1009Aruna E WieserIndia2026-09-24Chanay, Jeffrey A Esq RENEWAL97Ioni Bowcher
1010Arvin Z ChuiArgentina2026-09-23Rangoni Of Florence RENEWAL30Ioni Bowcher
1011Salvatore Z TollnerUnited Kingdom2026-09-17Dorl, James J Esq RENEWAL95Xuxue Feng
1012Nicolas C DoeBrazil2026-09-29Buckley Miller Wright UNQUALIFIED1Anna Fali
1013Leja I OldroydJapan2026-09-20Feiner Bros UNQUALIFIED90Asiya Javayant
1014Morrow Q RoysterUnited Kingdom2026-09-21Feltz Printing Service NEGOTIATION59Asiya Javayant
1015Antonio K FerenczSpain2026-09-29Benton, John B Jr NEGOTIATION13Xuxue Feng
1016Aditya A SaylorsRussia2026-09-17Chemel, James L Cpa NEGOTIATION7Asiya Javayant
1017Maisha G GauchoJapan2026-09-24Chapman, Ross E Esq UNQUALIFIED67Elwin Sharvill
1018Maria G WhobreyArgentina2026-10-05Dorl, James J Esq UNQUALIFIED0Onyama Limba
1019Ashley N DoeRussia2026-09-21Benton, John B Jr NEW15Xuxue Feng
1020Leja T OstroskyCanada2026-09-13Truhlar And Truhlar Attys RENEWAL77Onyama Limba
1021Cody J RimAustralia2026-09-15Chapman, Ross E Esq PROPOSAL74Elwin Sharvill
1022Johnson U GarufiItaly2026-09-23Morlong Associates NEW16Asiya Javayant
1023Izzy X MarrierArgentina2026-09-20Truhlar And Truhlar Attys QUALIFIED9Anna Fali
1024Tony A WieserFrance2026-10-09Morlong Associates QUALIFIED42Ioni Bowcher
1025Rodrigues G WaycottAustralia2026-09-28Morlong Associates UNQUALIFIED98Bernardo Dominic
1026Johnson W ShinkoGermany2026-09-27Morlong Associates RENEWAL70Bernardo Dominic
1027Claire J GillianArgentina2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED70Ivan Magalhaes
1028Octavia V VocelkaGermany2026-09-27Benton, John B Jr PROPOSAL3Ivan Magalhaes
1029Kaitlin R InouyeArgentina2026-09-12Feiner Bros UNQUALIFIED68Onyama Limba
1030Juan T ButtArgentina2026-10-06Chanay, Jeffrey A Esq NEW61Anna Fali
1031Stacey Q WhobreyUnited Kingdom2026-09-17Morlong Associates QUALIFIED31Ioni Bowcher
1032Costa G SergiIndia2026-09-30Rousseaux, Michael Esq NEGOTIATION52Onyama Limba
1033Misaki Q AlbaresAustralia2026-10-08Chemel, James L Cpa NEGOTIATION59Amy Elsner
1034Chavez O InouyeCanada2026-09-20Rangoni Of Florence PROPOSAL39Elwin Sharvill
1035Jones J MorascaBrazil2026-09-30Rousseaux, Michael Esq RENEWAL57Stephen Shaw
1036Ricardo E MorascaRussia2026-09-25Commercial Press UNQUALIFIED51Onyama Limba
1037James N FigeroaCanada2026-09-11King, Christopher A Esq NEGOTIATION74Anna Fali
1038Salvatore N RoysterBrazil2026-10-05Feiner Bros UNQUALIFIED33Elwin Sharvill
1039Clifford V MaletAustralia2026-09-24Chanay, Jeffrey A Esq PROPOSAL64Ivan Magalhaes
1040Leja S OldroydIndia2026-10-03Rangoni Of Florence NEW53Anna Fali
1041Rodrigues N VenereItaly2026-09-13Truhlar And Truhlar Attys NEW37Amy Elsner
1042Johnson G FollerAustralia2026-10-02Chapman, Ross E Esq RENEWAL23Bernardo Dominic
1043Mayumi V StensethIndia2026-10-06Feltz Printing Service NEW7Elwin Sharvill
1044Sinclair F SergiItaly2026-09-28Feiner Bros UNQUALIFIED19Asiya Javayant
1045Leja R ButtCanada2026-10-07Feiner Bros NEGOTIATION69Stephen Shaw
1046Jefferson T ShinkoSpain2026-09-19Chanay, Jeffrey A Esq NEW24Bernardo Dominic
1047Silvio Q PerinFrance2026-09-10Chemel, James L Cpa RENEWAL25Stephen Shaw
1048Aruna X CampainIndia2026-09-17Chapman, Ross E Esq NEW40Ivan Magalhaes
1049Jefferson O MaletBrazil2026-09-30Truhlar And Truhlar Attys UNQUALIFIED32Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J AlbaresFranceOnyama Limba QUALIFIED
Aruna R SaylorsBrazilIvan Magalhaes RENEWAL
Faith T MaletFranceAmy Elsner UNQUALIFIED
Costa N KuskoIndiaIoni Bowcher NEGOTIATION
Murillo R ShinkoAustraliaIoni Bowcher QUALIFIED
Aika L FlosiRussiaStephen Shaw NEW
Johnson S KolmetzSpainOnyama Limba RENEWAL
Misaki P DarakjyCanadaAnna Fali NEW
Adams F SaylorsGermanyAmy Elsner RENEWAL
Adams P StockhamIndiaBernardo Dominic UNQUALIFIED
Claire Z TollnerArgentinaXuxue Feng NEGOTIATION
Clifford H AlbaresBrazilAsiya Javayant RENEWAL
Alejandro C RoysterRussiaAsiya Javayant NEGOTIATION
Wickens E DilliardIndiaAnna Fali NEW
Misaki P StockhamJapanAmy Elsner PROPOSAL
Mujtaba S OstroskySpainIvan Magalhaes QUALIFIED
Rodrigues P SlusarskiItalyAmy Elsner RENEWAL
Rodrigues N RoysterItalyElwin Sharvill NEGOTIATION
Tony E FerenczSpainBernardo Dominic UNQUALIFIED
Claire A KolmetzRussiaXuxue Feng RENEWAL
Kaitlin A ButtFranceAmy Elsner RENEWAL
Tony I MarrierCanadaIoni Bowcher NEGOTIATION
Morrow M RulapaughSpainStephen Shaw NEGOTIATION
Silvio S CaudyAustraliaIvan Magalhaes NEW
Salvatore J WaycottArgentinaAmy Elsner NEW
Juan J FlosiBrazilIvan Magalhaes NEW
Tony B CaldareraFranceStephen Shaw RENEWAL
Murillo G PerinGermanyElwin Sharvill UNQUALIFIED
Chavez Q CaudyCanadaIvan Magalhaes QUALIFIED
Greenwood O GlickAustraliaAnna Fali PROPOSAL
Cody B SergiUnited KingdomAmy Elsner QUALIFIED
James M BologniaUnited KingdomAsiya Javayant QUALIFIED
Maisha R SaylorsBrazilXuxue Feng NEGOTIATION
Mayumi Y FlosiArgentinaAsiya Javayant UNQUALIFIED
James I WaycottCanadaAsiya Javayant PROPOSAL
Isabel G DarakjyCanadaXuxue Feng UNQUALIFIED
Stacey A BriddickCanadaAnna Fali PROPOSAL
Maria J GillianCanadaStephen Shaw UNQUALIFIED
David K RulapaughArgentinaXuxue Feng RENEWAL
Leon R SaylorsRussiaAnna Fali UNQUALIFIED
Leja G FlosiBrazilAsiya Javayant QUALIFIED
Johnson T GlickArgentinaStephen Shaw RENEWAL
Greenwood Z MaletJapanOnyama Limba UNQUALIFIED
Sinclair P TollnerArgentinaIoni Bowcher NEGOTIATION
Izzy H StockhamGermanyAnna Fali PROPOSAL
Murillo L MaletUnited KingdomBernardo Dominic NEW
Maria Q StockhamItalyAnna Fali QUALIFIED
Leon Z KolmetzArgentinaAnna Fali RENEWAL
Jefferson L SergiAustraliaAnna Fali RENEWAL
Adams X RulapaughArgentinaAnna Fali PROPOSAL
Frozen Columns
Name
Clifford M Rim
Octavia P Vocelka
Ivar D Paprocki
Claire E Waycott
Greenwood Y Tollner
Cody C Perin
Adams Q Wieser
Cody B Inouye
Nicolas S Maclead
James K Rulapaugh
Deepesh O Darakjy
Johnson K Saylors
Mayumi T Rulapaugh
Aditya T Morasca
Maisha P Poquette
Leon U Inouye
Sinclair J Paprocki
Salvatore Z Ostrosky
Aika M Stenseth
Greenwood M Slusarski
Ashley B Flosi
Silvio M Royster
Johnson H Rim
Sinclair H Amigon
Claire K Gillian
Aika M Glick
Jones G Slusarski
Jefferson M Ostrosky
Ricardo N Morasca
Morrow O Marrier
Ivar Q Waycott
Ricardo H Wieser
Silvio F Morasca
James D Rulapaugh
Darci G Paprocki
Octavia X Figeroa
Antonio S Inouye
Ivar L Rulapaugh
Salvatore I Malet
Aruna W Oldroyd
Adams X Ruta
Morrow V Ferencz
Mujtaba T Kolmetz
Alejandro H Ruta
Claire G Figeroa
Francesco T Marrier
Chavez O Royster
Aditya M Kusko
Julie Z Rim
Jennifer H Paprocki
IdCountryDate
1000Italy2026-09-14
1001Australia2026-10-09
1002India2026-09-17
1003Canada2026-10-03
1004India2026-10-09
1005Russia2026-09-22
1006Argentina2026-09-20
1007Japan2026-09-24
1008Spain2026-09-30
1009Spain2026-09-15
1010India2026-09-29
1011Italy2026-09-24
1012Canada2026-09-19
1013United Kingdom2026-09-19
1014Germany2026-09-27
1015India2026-09-12
1016Japan2026-10-09
1017Germany2026-09-12
1018Russia2026-09-19
1019Brazil2026-09-14
1020Brazil2026-09-12
1021Argentina2026-09-14
1022Canada2026-10-02
1023Italy2026-09-30
1024Canada2026-09-30
1025Russia2026-09-18
1026Germany2026-10-08
1027Canada2026-09-24
1028United Kingdom2026-10-03
1029India2026-09-26
1030Spain2026-09-10
1031United Kingdom2026-10-06
1032India2026-10-02
1033Japan2026-09-22
1034Brazil2026-10-07
1035Brazil2026-09-10
1036Spain2026-09-20
1037Japan2026-10-06
1038Italy2026-10-04
1039France2026-09-21
1040Argentina2026-09-12
1041Argentina2026-09-19
1042Japan2026-10-09
1043Italy2026-09-27
1044Argentina2026-09-10
1045United Kingdom2026-09-12
1046India2026-10-05
1047India2026-09-12
1048India2026-09-25
1049Germany2026-09-15

On-Demand Data

NameIdCountryDate
Jefferson G Ostrosky1000Russia2026-09-23
Darci B Kusko1001Argentina2026-09-29
Deepesh C Campain1002United Kingdom2026-09-16
Jefferson Z Foller1003Canada2026-10-08
Adams V Whobrey1004Germany2026-09-18
Ivar B Perin1005India2026-10-02
Maisha Y Rim1006Italy2026-09-26
Silvio E Glick1007Argentina2026-09-18
Salvatore V Gaucho1008India2026-10-09
Clifford O Bolognia1009Italy2026-10-05
Aika P Gaucho1010France2026-10-09
Nicolas W Saylors1011United Kingdom2026-10-06
Julie T Caldarera1012Italy2026-09-19
David U Briddick1013Japan2026-09-12
Arvin Q Gaucho1014Canada2026-09-14
Morrow Y Iturbide1015Argentina2026-09-27
Juan F Poquette1016Russia2026-09-30
Darci H Darakjy1017India2026-09-19
Julie D Morasca1018United Kingdom2026-09-27
Cody H Ruta1019Russia2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily J TollnerRussiaXuxue Feng UNQUALIFIED
Johnson M IturbideIndiaElwin Sharvill UNQUALIFIED
Rodrigues U KolmetzUnited KingdomAnna Fali PROPOSAL
Costa W FigeroaAustraliaStephen Shaw UNQUALIFIED
Mayumi F TollnerCanadaAnna Fali RENEWAL
Claire U MorascaBrazilBernardo Dominic PROPOSAL
Murillo Z PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Sinclair J OldroydSpainAmy Elsner UNQUALIFIED
Nicolas E CaldareraCanadaAmy Elsner NEW
Morrow B GauchoCanadaIvan Magalhaes QUALIFIED
Mayumi U ShinkoRussiaBernardo Dominic RENEWAL
Salvatore J FerenczSpainAsiya Javayant QUALIFIED
Faith X ChuiJapanIoni Bowcher RENEWAL
Aruna O CampainIndiaOnyama Limba NEW
James C CaldareraIndiaElwin Sharvill RENEWAL
Stacey T FlosiAustraliaXuxue Feng PROPOSAL
Antonio G IturbideIndiaStephen Shaw RENEWAL
Antonio Q ChuiBrazilIoni Bowcher PROPOSAL
Greenwood U ShinkoUnited KingdomAsiya Javayant QUALIFIED
Arvin D VocelkaJapanIoni Bowcher NEW
Ivar I PerinAustraliaAmy Elsner QUALIFIED
Maisha N FollerAustraliaIoni Bowcher NEW
Izzy L GarufiFranceXuxue Feng QUALIFIED
Darci O SlusarskiUnited KingdomXuxue Feng PROPOSAL
Nicolas M SlusarskiSpainAmy Elsner RENEWAL
Izzy A AmigonSpainOnyama Limba UNQUALIFIED
Isabel Q DilliardJapanAnna Fali NEGOTIATION
Costa N IturbideSpainXuxue Feng NEGOTIATION
Faith E IturbideSpainIoni Bowcher NEW
Cody P SergiUnited KingdomBernardo Dominic NEGOTIATION
Johnson D RulapaughFranceElwin Sharvill QUALIFIED
Deepesh A StensethRussiaOnyama Limba UNQUALIFIED
David O GarufiArgentinaBernardo Dominic UNQUALIFIED
Jones Q MarrierRussiaStephen Shaw UNQUALIFIED
Aruna L DilliardFranceOnyama Limba PROPOSAL
Aruna B ButtUnited KingdomStephen Shaw RENEWAL
Silvio Y MaletSpainAnna Fali UNQUALIFIED
Munro O BologniaRussiaXuxue Feng RENEWAL
Maria H SchemmerIndiaElwin Sharvill NEW
Jennifer G CaldareraFranceBernardo 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>