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
Murillo S WieserIndiaAnna Fali UNQUALIFIED
Cody P StockhamItalyOnyama Limba PROPOSAL
Adams E BowleyFranceOnyama Limba NEW
Alejandro O CaudySpainElwin Sharvill NEGOTIATION
Alejandro N ChuiUnited KingdomAsiya Javayant QUALIFIED
Mayumi Z RoysterFranceXuxue Feng NEGOTIATION
Morrow L ShinkoGermanyElwin Sharvill NEGOTIATION
Aika I StockhamItalyIoni Bowcher NEGOTIATION
Jennifer J VenereItalyIoni Bowcher QUALIFIED
Salvatore N FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Francesco A SlusarskiBrazilBernardo Dominic QUALIFIED
Juan I FollerIndiaElwin Sharvill QUALIFIED
Smith Z PerinGermanyIvan Magalhaes UNQUALIFIED
Morrow U DarakjyIndiaIoni Bowcher UNQUALIFIED
Clifford Z NickaIndiaStephen Shaw UNQUALIFIED
Sinclair J InouyeAustraliaXuxue Feng QUALIFIED
Greenwood F SlusarskiIndiaXuxue Feng QUALIFIED
Salvatore K FollerUnited KingdomIvan Magalhaes QUALIFIED
Antonio E StensethIndiaAnna Fali UNQUALIFIED
David B BologniaRussiaAsiya Javayant UNQUALIFIED
Kadeem Y SlusarskiGermanyAnna Fali NEW
Darci S ChuiUnited KingdomIoni Bowcher PROPOSAL
Aruna P WhobreyBrazilElwin Sharvill RENEWAL
Morrow J RoysterCanadaBernardo Dominic UNQUALIFIED
Jefferson N FigeroaJapanIoni Bowcher UNQUALIFIED
Sinclair N FigeroaJapanXuxue Feng NEW
Juan G WhobreyJapanAnna Fali NEW
Emily R MaletIndiaIoni Bowcher PROPOSAL
Ricardo A GarufiCanadaAmy Elsner RENEWAL
Ricardo T DoeIndiaIvan Magalhaes QUALIFIED
Antonio L RutaItalyAsiya Javayant NEGOTIATION
Leja X IturbideArgentinaAnna Fali NEW
Juan O VocelkaItalyBernardo Dominic UNQUALIFIED
Francesco J SlusarskiCanadaAnna Fali QUALIFIED
Darci R SlusarskiArgentinaXuxue Feng RENEWAL
Arvin L CaudyCanadaStephen Shaw QUALIFIED
Leon W IturbideJapanBernardo Dominic NEGOTIATION
Chavez E RulapaughJapanIoni Bowcher NEW
Ivar B DilliardBrazilBernardo Dominic NEGOTIATION
David K FlosiArgentinaOnyama Limba NEW
Morrow S DoeArgentinaAnna Fali RENEWAL
Tony S SergiArgentinaAsiya Javayant NEGOTIATION
Deepesh X VenereIndiaAmy Elsner NEW
Nicolas L RutaBrazilIvan Magalhaes PROPOSAL
Jefferson V BriddickSpainAmy Elsner UNQUALIFIED
Sinclair R VenereGermanyStephen Shaw UNQUALIFIED
Maisha P NickaCanadaIvan Magalhaes PROPOSAL
Jefferson H OldroydBrazilIvan Magalhaes PROPOSAL
Ashley L PoquetteIndiaOnyama Limba QUALIFIED
Misaki I AlbaresGermanyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja V GillianBrazilAnna Fali PROPOSAL
Rodrigues C FigeroaRussiaStephen Shaw UNQUALIFIED
Jennifer Z WaycottBrazilAmy Elsner NEGOTIATION
Chavez I GauchoCanadaStephen Shaw PROPOSAL
Chavez L ShinkoIndiaOnyama Limba NEGOTIATION
Misaki R IturbideRussiaAmy Elsner PROPOSAL
Salvatore C DoeArgentinaAnna Fali PROPOSAL
Leja Y KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Wickens B RulapaughIndiaXuxue Feng PROPOSAL
Aika F OstroskyGermanyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha V FerenczBrazil2026-10-30Chapman, Ross E Esq PROPOSAL9Elwin Sharvill
1001Stacey O CampainSpain2026-10-25Rangoni Of Florence NEW26Ivan Magalhaes
1002Clifford S NickaCanada2026-11-06Dorl, James J Esq RENEWAL60Bernardo Dominic
1003Murillo C AlbaresRussia2026-11-01King, Christopher A Esq RENEWAL34Anna Fali
1004Kadeem P FlosiUnited Kingdom2026-10-24Chemel, James L Cpa QUALIFIED4Amy Elsner
1005Ivar J DarakjyFrance2026-10-10Feltz Printing Service UNQUALIFIED21Ioni Bowcher
1006Emily Q PerinRussia2026-10-26Chemel, James L Cpa QUALIFIED17Asiya Javayant
1007Aika Q GillianFrance2026-10-28Truhlar And Truhlar Attys NEGOTIATION37Elwin Sharvill
1008Maria Y DoeIndia2026-10-14Truhlar And Truhlar Attys NEGOTIATION45Onyama Limba
1009Maria O OstroskyCanada2026-10-14Chapman, Ross E Esq UNQUALIFIED43Asiya Javayant
1010Alejandro D CampainItaly2026-10-18Printing Dimensions NEW80Onyama Limba
1011Ashley M NestleAustralia2026-10-29Feltz Printing Service UNQUALIFIED14Ioni Bowcher
1012Silvio E MaletBrazil2026-10-13Chanay, Jeffrey A Esq RENEWAL64Asiya Javayant
1013Clifford J RoysterSpain2026-10-11Buckley Miller Wright QUALIFIED76Amy Elsner
1014Morrow I NickaItaly2026-10-25Truhlar And Truhlar Attys PROPOSAL12Amy Elsner
1015Aruna G MaletRussia2026-11-03Commercial Press QUALIFIED18Onyama Limba
1016Isabel P BriddickArgentina2026-10-17Commercial Press UNQUALIFIED42Bernardo Dominic
1017Emily J OstroskyUnited Kingdom2026-10-25Truhlar And Truhlar Attys RENEWAL88Anna Fali
1018Chavez J AlbaresJapan2026-10-18Feltz Printing Service NEW68Amy Elsner
1019Claire M FerenczFrance2026-10-21Feltz Printing Service UNQUALIFIED57Bernardo Dominic
1020Johnson H MaletArgentina2026-10-21Chanay, Jeffrey A Esq RENEWAL8Bernardo Dominic
1021Kadeem N KuskoItaly2026-10-30Buckley Miller Wright UNQUALIFIED74Stephen Shaw
1022Silvio M AmigonAustralia2026-11-04Benton, John B Jr QUALIFIED33Stephen Shaw
1023Stacey S BowleyRussia2026-11-03Dorl, James J Esq QUALIFIED98Asiya Javayant
1024Jefferson Q DoeUnited Kingdom2026-11-01Buckley Miller Wright UNQUALIFIED43Stephen Shaw
1025Leja S ShinkoBrazil2026-11-06Feiner Bros UNQUALIFIED62Asiya Javayant
1026Octavia M FerenczCanada2026-10-10Benton, John B Jr PROPOSAL33Bernardo Dominic
1027Ivar N MorascaSpain2026-11-07Morlong Associates UNQUALIFIED47Anna Fali
1028Faith Z OldroydSpain2026-11-04Rousseaux, Michael Esq RENEWAL56Asiya Javayant
1029Misaki K RutaSpain2026-10-11Truhlar And Truhlar Attys RENEWAL34Bernardo Dominic
1030Aika G CampainBrazil2026-11-01Benton, John B Jr QUALIFIED61Ivan Magalhaes
1031Nicolas N WhobreyIndia2026-10-10Truhlar And Truhlar Attys NEW53Ioni Bowcher
1032Darci E GauchoUnited Kingdom2026-11-08Chanay, Jeffrey A Esq RENEWAL39Ivan Magalhaes
1033Stacey F OstroskyGermany2026-10-20Morlong Associates QUALIFIED49Bernardo Dominic
1034Greenwood N OstroskyItaly2026-11-02Rousseaux, Michael Esq PROPOSAL61Asiya Javayant
1035Salvatore L MacleadCanada2026-10-26Chemel, James L Cpa PROPOSAL86Ivan Magalhaes
1036Darci T WieserFrance2026-10-21King, Christopher A Esq RENEWAL99Bernardo Dominic
1037Faith U GarufiBrazil2026-10-17Feltz Printing Service UNQUALIFIED9Bernardo Dominic
1038Leja G ShinkoIndia2026-10-13King, Christopher A Esq QUALIFIED0Onyama Limba
1039Arvin V RutaIndia2026-11-02Printing Dimensions RENEWAL38Elwin Sharvill
1040Ricardo S FlosiItaly2026-10-22Dorl, James J Esq NEW67Anna Fali
1041Faith J IturbideIndia2026-11-07Chemel, James L Cpa PROPOSAL7Anna Fali
1042Ashley E BowleyBrazil2026-10-13Benton, John B Jr NEGOTIATION28Elwin Sharvill
1043Julie R MorascaIndia2026-10-25Feltz Printing Service NEW47Ivan Magalhaes
1044Mayumi F WhobreyAustralia2026-10-12Feiner Bros UNQUALIFIED74Ioni Bowcher
1045Morrow S VenereJapan2026-10-23Morlong Associates NEGOTIATION31Elwin Sharvill
1046Faith E ShinkoBrazil2026-10-12Feltz Printing Service PROPOSAL50Bernardo Dominic
1047Antonio C RimIndia2026-11-06Chapman, Ross E Esq NEW24Elwin Sharvill
1048Clifford F ButtUnited Kingdom2026-10-28Buckley Miller Wright NEGOTIATION16Ivan Magalhaes
1049Chavez W ShinkoItaly2026-10-18Chemel, James L Cpa QUALIFIED74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel B KolmetzBrazilAnna Fali NEGOTIATION
Maisha N AlbaresRussiaElwin Sharvill NEW
Maria V VocelkaJapanAnna Fali QUALIFIED
Kaitlin R AlbaresRussiaAnna Fali NEW
Adams U CaldareraUnited KingdomOnyama Limba NEW
Cody C SchemmerArgentinaXuxue Feng QUALIFIED
Stacey D MorascaUnited KingdomAnna Fali QUALIFIED
Darci F GarufiFranceAmy Elsner NEGOTIATION
Stacey J SchemmerItalyIoni Bowcher RENEWAL
Nicolas M PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy T SergiArgentinaAnna Fali QUALIFIED
Smith P SchemmerAustraliaStephen Shaw QUALIFIED
Mujtaba K PaprockiSpainAsiya Javayant NEGOTIATION
James I NickaJapanAmy Elsner UNQUALIFIED
Stacey X SaylorsSpainBernardo Dominic PROPOSAL
Aika Y AmigonRussiaOnyama Limba RENEWAL
Clifford X WaycottAustraliaIoni Bowcher RENEWAL
Jefferson B FollerRussiaOnyama Limba QUALIFIED
Claire W NickaUnited KingdomIvan Magalhaes NEW
Chavez V ShinkoSpainXuxue Feng NEW
Deepesh F SlusarskiBrazilBernardo Dominic NEGOTIATION
Chavez P CaldareraFranceIvan Magalhaes PROPOSAL
Antonio B NickaRussiaAsiya Javayant NEW
Mayumi A MacleadRussiaIoni Bowcher UNQUALIFIED
Smith I AmigonFranceIoni Bowcher NEW
Deepesh Q CaldareraArgentinaStephen Shaw NEGOTIATION
Silvio B NickaGermanyAsiya Javayant NEW
Kadeem O StensethCanadaOnyama Limba RENEWAL
Ashley K GlickJapanAmy Elsner NEGOTIATION
Emily F SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Faith Y StensethBrazilAsiya Javayant UNQUALIFIED
Juan J DarakjyFranceAnna Fali NEGOTIATION
Darci Q SchemmerCanadaAsiya Javayant RENEWAL
Morrow E TollnerJapanIoni Bowcher QUALIFIED
Chavez E FerenczCanadaStephen Shaw QUALIFIED
Munro F PoquetteSpainBernardo Dominic NEGOTIATION
Kaitlin O WaycottAustraliaAsiya Javayant QUALIFIED
Isabel H OldroydSpainOnyama Limba QUALIFIED
Ricardo O TollnerUnited KingdomBernardo Dominic PROPOSAL
Chavez N SergiSpainXuxue Feng RENEWAL
Emily F ChuiSpainAsiya Javayant UNQUALIFIED
Aruna D GarufiItalyAnna Fali QUALIFIED
Claire F DarakjyFranceXuxue Feng QUALIFIED
Leon Q KuskoJapanIvan Magalhaes NEGOTIATION
Francesco W FigeroaRussiaOnyama Limba QUALIFIED
Clifford M StensethRussiaIoni Bowcher RENEWAL
Kadeem C RimGermanyAsiya Javayant NEGOTIATION
Maria J MorascaJapanXuxue Feng RENEWAL
Deepesh J RulapaughCanadaElwin Sharvill PROPOSAL
Deepesh C GillianArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Juan X Saylors
Munro A Bowley
Cody R Kolmetz
Darci N Gaucho
Octavia D Bolognia
Munro S Morasca
Wickens O Kolmetz
Jeanfrancois A Flosi
David C Caudy
Aruna S Caldarera
Isabel B Tollner
Claire O Inouye
Stacey F Bolognia
Misaki C Stockham
Cody J Waycott
Misaki L Amigon
Octavia U Morasca
Silvio A Stockham
Claire E Gaucho
Wickens Q Royster
Nicolas O Nicka
Octavia F Doe
Jeanfrancois O Gaucho
Murillo W Saylors
Sinclair B Poquette
Juan G Kusko
Tony R Maclead
Sinclair N Malet
Claire R Ruta
Izzy R Ruta
Leja W Kolmetz
Julie P Shinko
Aditya X Maclead
Wickens H Ferencz
Cody K Shinko
Deepesh G Royster
Alejandro R Poquette
David D Garufi
Wickens I Ferencz
Octavia B Kusko
Deepesh X Gillian
Claire Y Campain
Ashley Y Glick
Jeanfrancois M Nicka
Isabel F Darakjy
Wickens H Morasca
Francesco K Gaucho
Salvatore A Rim
James Z Sergi
Morrow U Rim
IdCountryDate
1000Japan2026-11-04
1001Brazil2026-10-27
1002Italy2026-10-17
1003Germany2026-10-19
1004United Kingdom2026-10-29
1005Russia2026-10-13
1006Japan2026-10-14
1007Canada2026-10-26
1008Spain2026-10-15
1009Argentina2026-10-17
1010France2026-10-12
1011Japan2026-11-01
1012Russia2026-10-31
1013Germany2026-10-11
1014United Kingdom2026-10-25
1015Spain2026-11-08
1016Russia2026-10-28
1017Russia2026-10-23
1018Argentina2026-10-13
1019Australia2026-10-25
1020Australia2026-11-01
1021United Kingdom2026-10-18
1022Brazil2026-10-10
1023Italy2026-10-21
1024India2026-10-10
1025Japan2026-11-04
1026Spain2026-10-24
1027Spain2026-10-10
1028Canada2026-11-05
1029Germany2026-10-23
1030Germany2026-10-27
1031Argentina2026-10-17
1032Russia2026-10-17
1033Canada2026-11-04
1034France2026-10-22
1035Germany2026-10-17
1036India2026-11-07
1037Italy2026-10-11
1038United Kingdom2026-10-24
1039Brazil2026-10-26
1040Spain2026-10-20
1041Canada2026-11-07
1042Russia2026-11-08
1043India2026-11-05
1044Argentina2026-10-23
1045Japan2026-10-10
1046Russia2026-11-04
1047Canada2026-10-29
1048France2026-10-18
1049France2026-11-02

On-Demand Data

NameIdCountryDate
Murillo W Bolognia1000Australia2026-10-26
Tony F Sergi1001Australia2026-10-31
Johnson X Doe1002Spain2026-10-30
Maria F Briddick1003Russia2026-10-27
Antonio U Dilliard1004India2026-10-13
Antonio O Shinko1005Japan2026-10-17
Francesco G Iturbide1006India2026-10-12
Antonio A Briddick1007Italy2026-10-23
Aruna H Marrier1008India2026-10-18
Ivar K Darakjy1009Canada2026-11-01
Maria N Oldroyd1010United Kingdom2026-10-19
Morrow Q Bowley1011India2026-10-30
Ashley L Rulapaugh1012Brazil2026-10-16
Darci T Ferencz1013United Kingdom2026-11-03
Arvin R Stenseth1014Germany2026-10-13
Stacey L Maclead1015Germany2026-11-01
Mujtaba X Stockham1016United Kingdom2026-10-11
Kaitlin K Oldroyd1017United Kingdom2026-10-23
Kadeem O Royster1018France2026-10-29
Wickens E Oldroyd1019Canada2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire K StensethRussiaBernardo Dominic NEGOTIATION
Aruna D GlickCanadaXuxue Feng NEGOTIATION
Deepesh B OstroskyUnited KingdomAnna Fali NEW
Smith P DilliardUnited KingdomAmy Elsner RENEWAL
Johnson Q FigeroaArgentinaAsiya Javayant NEW
Misaki N SchemmerJapanAmy Elsner NEW
Jefferson W FigeroaIndiaIoni Bowcher UNQUALIFIED
Octavia K OldroydRussiaIvan Magalhaes UNQUALIFIED
Nicolas P DarakjyAustraliaBernardo Dominic NEGOTIATION
Ashley J IturbideCanadaElwin Sharvill PROPOSAL
Jefferson G WieserRussiaIoni Bowcher QUALIFIED
Mujtaba M CampainGermanyAsiya Javayant NEGOTIATION
Rodrigues X PaprockiGermanyElwin Sharvill NEGOTIATION
Kadeem K OldroydSpainXuxue Feng RENEWAL
Clifford O FerenczArgentinaXuxue Feng RENEWAL
Jones Q MacleadItalyOnyama Limba RENEWAL
Mujtaba Q FigeroaFranceIoni Bowcher NEW
Smith T GlickUnited KingdomElwin Sharvill NEGOTIATION
Cody D SlusarskiJapanIoni Bowcher UNQUALIFIED
Kaitlin R WieserIndiaXuxue Feng NEW
Morrow R GillianGermanyStephen Shaw PROPOSAL
Kaitlin F KolmetzBrazilIvan Magalhaes PROPOSAL
Darci D FerenczRussiaIoni Bowcher NEGOTIATION
James E RoysterAustraliaAmy Elsner UNQUALIFIED
Alejandro Q StensethArgentinaElwin Sharvill QUALIFIED
Mujtaba Z BowleyFranceOnyama Limba QUALIFIED
Maria I VocelkaBrazilElwin Sharvill PROPOSAL
Tony J VenereCanadaIvan Magalhaes RENEWAL
Jones K IturbideBrazilAnna Fali RENEWAL
James A AlbaresItalyIvan Magalhaes NEGOTIATION
Leon M NestleArgentinaAmy Elsner NEGOTIATION
Claire X MorascaIndiaElwin Sharvill UNQUALIFIED
Kaitlin H FerenczItalyIvan Magalhaes QUALIFIED
Emily V StockhamIndiaXuxue Feng PROPOSAL
Salvatore G FlosiCanadaIoni Bowcher RENEWAL
Emily C CampainArgentinaAmy Elsner NEGOTIATION
Kadeem K ShinkoIndiaElwin Sharvill UNQUALIFIED
Salvatore J MaletArgentinaAnna Fali NEW
Deepesh G GauchoGermanyOnyama Limba QUALIFIED
Faith U FlosiRussiaXuxue Feng NEGOTIATION

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