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
Jennifer B BologniaCanadaOnyama Limba NEW
Ricardo Y SchemmerBrazilXuxue Feng RENEWAL
Greenwood D GarufiIndiaAsiya Javayant PROPOSAL
Octavia P VenereUnited KingdomIoni Bowcher QUALIFIED
Smith S KolmetzIndiaIoni Bowcher UNQUALIFIED
Maria F RimUnited KingdomStephen Shaw UNQUALIFIED
Wickens S FlosiCanadaOnyama Limba QUALIFIED
Octavia Y MorascaArgentinaXuxue Feng PROPOSAL
Jefferson F WieserBrazilStephen Shaw NEW
Leja K CampainRussiaIvan Magalhaes NEGOTIATION
Maria A MorascaUnited KingdomAmy Elsner PROPOSAL
Octavia D VocelkaIndiaOnyama Limba UNQUALIFIED
Chavez C PerinIndiaAnna Fali NEW
Emily B GillianCanadaAsiya Javayant UNQUALIFIED
Murillo T WieserItalyElwin Sharvill UNQUALIFIED
Salvatore P SergiRussiaOnyama Limba PROPOSAL
Aditya A SaylorsUnited KingdomIoni Bowcher NEW
Emily B BriddickIndiaIvan Magalhaes NEGOTIATION
Claire L CaldareraAustraliaStephen Shaw PROPOSAL
Ashley V DarakjyItalyIoni Bowcher UNQUALIFIED
Francesco L InouyeSpainOnyama Limba QUALIFIED
Claire U WhobreyIndiaBernardo Dominic NEW
Ashley G OldroydRussiaIoni Bowcher NEGOTIATION
Smith H GillianCanadaXuxue Feng NEW
Arvin C GillianAustraliaBernardo Dominic QUALIFIED
Morrow R FigeroaRussiaAsiya Javayant UNQUALIFIED
Maria Y GarufiSpainStephen Shaw RENEWAL
Aruna P SaylorsSpainStephen Shaw RENEWAL
Isabel D MorascaJapanIoni Bowcher QUALIFIED
Darci R RulapaughRussiaIvan Magalhaes NEW
Murillo G GauchoFranceIoni Bowcher NEGOTIATION
Nicolas M WaycottCanadaOnyama Limba PROPOSAL
Tony L IturbideCanadaBernardo Dominic NEGOTIATION
Alejandro N DilliardAustraliaBernardo Dominic PROPOSAL
Jones R SchemmerIndiaBernardo Dominic RENEWAL
Antonio H AlbaresFranceIoni Bowcher PROPOSAL
Murillo J AlbaresGermanyAmy Elsner NEW
James H ChuiIndiaBernardo Dominic UNQUALIFIED
Adams I MarrierSpainStephen Shaw NEGOTIATION
Kadeem V PaprockiFranceAmy Elsner UNQUALIFIED
Nicolas F GarufiUnited KingdomStephen Shaw NEW
Kaitlin R PaprockiAustraliaElwin Sharvill QUALIFIED
Rodrigues L MaletRussiaAsiya Javayant NEGOTIATION
Smith G DarakjyFranceAsiya Javayant PROPOSAL
Alejandro G VocelkaJapanElwin Sharvill NEGOTIATION
Emily Q FollerArgentinaAsiya Javayant RENEWAL
Ashley R GauchoBrazilIvan Magalhaes NEW
David K BriddickJapanAnna Fali NEGOTIATION
Jeanfrancois W RutaAustraliaAmy Elsner QUALIFIED
Adams Q BriddickArgentinaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford O MarrierUnited KingdomXuxue Feng RENEWAL
Ricardo A InouyeIndiaBernardo Dominic NEW
Leja Z DarakjyGermanyAmy Elsner UNQUALIFIED
Murillo S OstroskyRussiaAsiya Javayant UNQUALIFIED
Murillo D FollerJapanIvan Magalhaes UNQUALIFIED
Cody B FlosiCanadaAnna Fali PROPOSAL
Costa E VocelkaFranceStephen Shaw UNQUALIFIED
Mujtaba O WaycottIndiaBernardo Dominic RENEWAL
Ashley V SergiBrazilElwin Sharvill QUALIFIED
Claire O SergiJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy W FollerBrazil2026-08-30Dorl, James J Esq PROPOSAL18Ioni Bowcher
1001Silvio H StensethUnited Kingdom2026-09-18Commercial Press NEW54Asiya Javayant
1002Adams O ShinkoItaly2026-09-05Buckley Miller Wright RENEWAL74Xuxue Feng
1003David I DilliardGermany2026-09-13Feiner Bros NEW77Asiya Javayant
1004Ricardo S WieserIndia2026-09-12Truhlar And Truhlar Attys PROPOSAL40Ioni Bowcher
1005Julie H InouyeArgentina2026-09-25Feltz Printing Service QUALIFIED95Stephen Shaw
1006Ricardo K MaletRussia2026-09-11Rangoni Of Florence PROPOSAL86Anna Fali
1007Murillo Q WaycottBrazil2026-09-09King, Christopher A Esq UNQUALIFIED51Ioni Bowcher
1008Aditya Y VocelkaAustralia2026-09-11Chemel, James L Cpa QUALIFIED29Stephen Shaw
1009Jennifer X MacleadRussia2026-09-16Feltz Printing Service UNQUALIFIED81Elwin Sharvill
1010Rodrigues U PerinItaly2026-09-13Truhlar And Truhlar Attys RENEWAL47Ioni Bowcher
1011Nicolas J BowleyJapan2026-09-16Dorl, James J Esq UNQUALIFIED70Elwin Sharvill
1012Mujtaba I WieserGermany2026-09-07Truhlar And Truhlar Attys UNQUALIFIED92Asiya Javayant
1013Misaki C TollnerFrance2026-09-07King, Christopher A Esq QUALIFIED3Ioni Bowcher
1014Octavia R NickaCanada2026-09-17Rousseaux, Michael Esq NEW22Ivan Magalhaes
1015Salvatore I BologniaFrance2026-09-19Feiner Bros QUALIFIED66Stephen Shaw
1016Wickens R WaycottRussia2026-09-13Benton, John B Jr NEGOTIATION13Stephen Shaw
1017Antonio Y StensethIndia2026-09-12Printing Dimensions QUALIFIED81Bernardo Dominic
1018Claire C KolmetzGermany2026-09-08Rangoni Of Florence NEGOTIATION79Stephen Shaw
1019Julie D WhobreyFrance2026-09-19Commercial Press PROPOSAL54Asiya Javayant
1020Isabel P PaprockiItaly2026-09-23Rangoni Of Florence QUALIFIED25Amy Elsner
1021Alejandro J MarrierJapan2026-09-11Dorl, James J Esq NEGOTIATION54Amy Elsner
1022Darci K AmigonFrance2026-09-03Commercial Press NEW30Ioni Bowcher
1023Clifford U FollerFrance2026-09-12Chemel, James L Cpa UNQUALIFIED16Stephen Shaw
1024Juan S PoquetteSpain2026-09-24Chemel, James L Cpa UNQUALIFIED95Stephen Shaw
1025Sinclair T PoquetteArgentina2026-09-12Chemel, James L Cpa RENEWAL73Anna Fali
1026Darci N CampainArgentina2026-09-09King, Christopher A Esq UNQUALIFIED0Ioni Bowcher
1027Ricardo K SchemmerItaly2026-09-04Buckley Miller Wright QUALIFIED94Ivan Magalhaes
1028Jeanfrancois T RutaGermany2026-09-19Printing Dimensions UNQUALIFIED4Elwin Sharvill
1029Darci H PaprockiItaly2026-09-24Rangoni Of Florence NEGOTIATION7Elwin Sharvill
1030Izzy F WhobreyCanada2026-09-23Chapman, Ross E Esq RENEWAL24Onyama Limba
1031Morrow J GauchoAustralia2026-09-05Printing Dimensions NEW30Xuxue Feng
1032Deepesh Y DilliardItaly2026-09-17King, Christopher A Esq NEW97Ioni Bowcher
1033Salvatore V ChuiAustralia2026-09-04Buckley Miller Wright PROPOSAL93Ivan Magalhaes
1034Izzy T FlosiAustralia2026-08-28Chapman, Ross E Esq PROPOSAL84Ivan Magalhaes
1035Arvin H FigeroaAustralia2026-09-01Printing Dimensions NEGOTIATION26Asiya Javayant
1036Aika V GarufiFrance2026-09-20Chemel, James L Cpa UNQUALIFIED66Stephen Shaw
1037Ashley Z ShinkoSpain2026-08-31Feltz Printing Service UNQUALIFIED2Ioni Bowcher
1038Misaki Z SaylorsBrazil2026-08-30Commercial Press NEGOTIATION70Onyama Limba
1039Wickens S SergiCanada2026-09-04Chapman, Ross E Esq NEW88Amy Elsner
1040Claire E ButtUnited Kingdom2026-09-24Dorl, James J Esq UNQUALIFIED38Amy Elsner
1041Murillo Y StockhamBrazil2026-09-23Chanay, Jeffrey A Esq RENEWAL52Amy Elsner
1042Emily W PoquetteSpain2026-08-28Benton, John B Jr UNQUALIFIED46Xuxue Feng
1043James E SlusarskiArgentina2026-09-26Benton, John B Jr PROPOSAL16Elwin Sharvill
1044Murillo A FlosiGermany2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED72Onyama Limba
1045Jeanfrancois C KolmetzArgentina2026-09-21Rangoni Of Florence NEW52Elwin Sharvill
1046Kaitlin L OstroskyUnited Kingdom2026-09-26Rousseaux, Michael Esq NEW25Xuxue Feng
1047David J GlickBrazil2026-09-23Chanay, Jeffrey A Esq PROPOSAL75Ivan Magalhaes
1048Arvin J GauchoFrance2026-09-12Rousseaux, Michael Esq NEW9Anna Fali
1049Jeanfrancois L WhobreyCanada2026-08-28Chemel, James L Cpa RENEWAL53Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois C DarakjySpainAsiya Javayant UNQUALIFIED
Clifford S SchemmerIndiaElwin Sharvill RENEWAL
Leon C StensethRussiaStephen Shaw UNQUALIFIED
Izzy P SergiItalyAsiya Javayant RENEWAL
Wickens Q WieserRussiaIoni Bowcher PROPOSAL
Salvatore X MaletGermanyOnyama Limba UNQUALIFIED
Aika C CaldareraJapanStephen Shaw PROPOSAL
Adams W FerenczUnited KingdomBernardo Dominic QUALIFIED
Kaitlin V DilliardRussiaAnna Fali PROPOSAL
Smith Y GlickIndiaIvan Magalhaes NEGOTIATION
Clifford Y PaprockiArgentinaXuxue Feng QUALIFIED
Smith G MarrierItalyAnna Fali RENEWAL
Darci Y RutaArgentinaBernardo Dominic PROPOSAL
Aditya F MacleadRussiaAmy Elsner PROPOSAL
Emily J SaylorsFranceElwin Sharvill QUALIFIED
Deepesh R CampainFranceStephen Shaw PROPOSAL
Jeanfrancois J MaletIndiaOnyama Limba RENEWAL
Munro I DoeJapanStephen Shaw NEGOTIATION
Kaitlin I GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
James H NestleSpainAmy Elsner RENEWAL
Smith A MacleadRussiaAnna Fali NEW
Nicolas V MaletCanadaStephen Shaw PROPOSAL
Darci Z FlosiUnited KingdomElwin Sharvill NEGOTIATION
Ashley Q GillianArgentinaIoni Bowcher NEGOTIATION
Maisha C StensethRussiaBernardo Dominic PROPOSAL
Aruna K ButtItalyAnna Fali NEW
Octavia Z GarufiArgentinaStephen Shaw QUALIFIED
Tony Z DilliardAustraliaIvan Magalhaes PROPOSAL
Maisha L OldroydArgentinaIvan Magalhaes PROPOSAL
Ivar B MacleadArgentinaStephen Shaw NEW
Johnson H MarrierRussiaOnyama Limba NEW
Maria J SlusarskiCanadaXuxue Feng NEGOTIATION
James B BriddickAustraliaBernardo Dominic UNQUALIFIED
Jennifer O MorascaSpainElwin Sharvill UNQUALIFIED
Rodrigues P OstroskyFranceIoni Bowcher UNQUALIFIED
Octavia P SergiUnited KingdomIvan Magalhaes NEW
Kadeem O WaycottAustraliaAmy Elsner NEGOTIATION
Cody E WhobreyIndiaElwin Sharvill QUALIFIED
Aruna Y CaldareraSpainBernardo Dominic PROPOSAL
Silvio N StockhamSpainStephen Shaw UNQUALIFIED
Emily H GlickRussiaAnna Fali NEGOTIATION
Mayumi E WhobreyUnited KingdomXuxue Feng PROPOSAL
Izzy U RutaItalyElwin Sharvill NEGOTIATION
Greenwood V PoquetteIndiaElwin Sharvill PROPOSAL
Leja F MarrierAustraliaStephen Shaw UNQUALIFIED
Clifford G AmigonCanadaStephen Shaw QUALIFIED
Clifford X KuskoFranceAsiya Javayant NEGOTIATION
Chavez V VocelkaGermanyOnyama Limba PROPOSAL
Stacey Z TollnerRussiaAsiya Javayant PROPOSAL
Sinclair I FollerFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
Jefferson B Waycott
Aditya U Whobrey
Silvio O Iturbide
Cody L Saylors
Jefferson I Bolognia
Costa L Gaucho
Johnson O Wieser
Rodrigues B Whobrey
Kadeem E Glick
Chavez Q Chui
Emily Q Rim
Jefferson P Iturbide
Aditya M Shinko
Munro Q Perin
Greenwood H Malet
Jefferson T Tollner
Julie X Kolmetz
Claire O Dilliard
Kaitlin X Iturbide
Clifford P Morasca
Darci Y Venere
Costa B Foller
Wickens Z Campain
Jones T Kolmetz
Adams G Malet
Cody I Paprocki
Misaki A Stenseth
Leja T Saylors
Ashley A Tollner
Octavia O Butt
Greenwood A Nestle
Rodrigues H Inouye
Adams H Ferencz
Kadeem L Campain
Emily W Venere
Francesco J Campain
Izzy D Ferencz
Leja D Poquette
Sinclair A Kusko
Aditya U Shinko
Sinclair T Kusko
Darci T Oldroyd
Johnson X Rulapaugh
Tony R Glick
Leja G Inouye
Jeanfrancois D Campain
Mayumi W Inouye
Tony G Venere
Misaki A Maclead
Ricardo M Shinko
IdCountryDate
1000France2026-09-20
1001Japan2026-09-05
1002Germany2026-09-08
1003Australia2026-09-19
1004Argentina2026-09-03
1005United Kingdom2026-09-12
1006United Kingdom2026-09-19
1007Japan2026-09-18
1008Argentina2026-09-11
1009United Kingdom2026-09-18
1010Brazil2026-08-29
1011Russia2026-09-15
1012India2026-09-22
1013Germany2026-09-11
1014Canada2026-09-11
1015Japan2026-09-04
1016United Kingdom2026-09-15
1017Germany2026-09-23
1018Italy2026-09-15
1019India2026-09-25
1020Spain2026-09-24
1021Canada2026-09-11
1022Japan2026-09-15
1023Argentina2026-09-13
1024Brazil2026-09-03
1025Canada2026-09-23
1026Russia2026-08-28
1027Japan2026-09-24
1028Italy2026-09-15
1029Russia2026-09-18
1030Brazil2026-09-02
1031Germany2026-09-15
1032Spain2026-09-24
1033Italy2026-09-17
1034United Kingdom2026-09-03
1035India2026-08-29
1036Brazil2026-09-26
1037Germany2026-09-08
1038Brazil2026-09-16
1039Spain2026-09-04
1040Italy2026-09-22
1041Italy2026-09-19
1042Japan2026-09-03
1043India2026-09-09
1044Canada2026-09-22
1045Australia2026-09-16
1046Italy2026-09-12
1047Japan2026-08-30
1048Argentina2026-09-05
1049Brazil2026-09-01

On-Demand Data

NameIdCountryDate
Chavez E Iturbide1000United Kingdom2026-09-10
Ashley S Stockham1001Japan2026-09-04
Costa S Whobrey1002France2026-08-31
David G Albares1003France2026-09-17
Juan X Doe1004Spain2026-09-25
Aditya X Butt1005Germany2026-09-06
David L Kusko1006France2026-09-11
Alejandro P Nicka1007France2026-09-12
Arvin Y Kusko1008India2026-09-26
James O Stockham1009Argentina2026-08-28
Ivar M Rim1010Russia2026-09-03
Stacey X Shinko1011Russia2026-09-03
Jefferson J Caudy1012Australia2026-09-24
Salvatore O Ferencz1013Australia2026-09-02
Darci U Rim1014Spain2026-09-25
Tony M Saylors1015India2026-09-21
Stacey G Inouye1016Australia2026-09-15
Jones T Kusko1017Japan2026-09-19
Mujtaba F Shinko1018United Kingdom2026-09-03
Leja X Schemmer1019Australia2026-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio P PerinBrazilAmy Elsner UNQUALIFIED
Stacey V RimFranceIoni Bowcher NEGOTIATION
Adams L IturbideSpainXuxue Feng QUALIFIED
Isabel W CaldareraUnited KingdomOnyama Limba PROPOSAL
Ricardo D DoeGermanyOnyama Limba UNQUALIFIED
Murillo G GauchoItalyIoni Bowcher UNQUALIFIED
Claire L InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore N OstroskyJapanAnna Fali PROPOSAL
Morrow R RimCanadaAsiya Javayant QUALIFIED
Ricardo A MorascaIndiaStephen Shaw QUALIFIED
David W ShinkoAustraliaElwin Sharvill NEGOTIATION
Aditya E RimCanadaIvan Magalhaes NEGOTIATION
Mayumi Y BriddickIndiaElwin Sharvill NEGOTIATION
Ricardo H WieserAustraliaAmy Elsner NEW
Ivar I VenereFranceOnyama Limba NEGOTIATION
Antonio S SaylorsSpainIoni Bowcher NEW
Greenwood G GarufiJapanXuxue Feng PROPOSAL
Alejandro A CampainBrazilIoni Bowcher UNQUALIFIED
Octavia Z ShinkoBrazilBernardo Dominic PROPOSAL
Costa R ShinkoGermanyIoni Bowcher NEW
Antonio I DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Leja K IturbideSpainBernardo Dominic QUALIFIED
Mayumi K SchemmerAustraliaOnyama Limba RENEWAL
Aika K VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Adams Q PerinGermanyOnyama Limba QUALIFIED
Salvatore C GauchoFranceIoni Bowcher NEW
Ricardo S GauchoBrazilAnna Fali NEW
Mayumi D CampainJapanAmy Elsner RENEWAL
Maria J FerenczBrazilAsiya Javayant QUALIFIED
Nicolas C MacleadItalyBernardo Dominic PROPOSAL
Aruna R PerinItalyAnna Fali NEW
Rodrigues M PoquetteRussiaAnna Fali NEGOTIATION
Emily Q NickaAustraliaXuxue Feng RENEWAL
Leon Y ShinkoCanadaAnna Fali RENEWAL
David V InouyeItalyOnyama Limba UNQUALIFIED
Jeanfrancois T CaudyCanadaBernardo Dominic QUALIFIED
Julie F FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Ashley S WaycottArgentinaXuxue Feng UNQUALIFIED
Costa M MacleadItalyIoni Bowcher RENEWAL
Julie F GauchoItalyIvan Magalhaes 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>