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
Tony S GillianArgentinaBernardo Dominic RENEWAL
Salvatore J CaudyArgentinaAmy Elsner RENEWAL
Leon C PaprockiItalyXuxue Feng UNQUALIFIED
Wickens I RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Leja H NickaItalyAmy Elsner QUALIFIED
Chavez S GarufiFranceStephen Shaw NEW
Cody W NickaIndiaStephen Shaw PROPOSAL
Arvin G RutaAustraliaIoni Bowcher NEGOTIATION
Francesco C WieserItalyElwin Sharvill UNQUALIFIED
Nicolas B FlosiBrazilXuxue Feng UNQUALIFIED
Deepesh Z MaletFranceIvan Magalhaes NEGOTIATION
Ricardo J BriddickItalyAnna Fali QUALIFIED
Salvatore J BriddickUnited KingdomAmy Elsner NEW
Mujtaba F WhobreyCanadaStephen Shaw UNQUALIFIED
Leon F BowleyArgentinaAnna Fali UNQUALIFIED
Wickens M RutaArgentinaStephen Shaw QUALIFIED
Leja E DilliardCanadaIvan Magalhaes UNQUALIFIED
Julie Q InouyeFranceElwin Sharvill PROPOSAL
Emily L PaprockiUnited KingdomOnyama Limba PROPOSAL
Murillo L FerenczIndiaAnna Fali RENEWAL
Wickens W TollnerArgentinaAsiya Javayant RENEWAL
Kadeem D ButtAustraliaBernardo Dominic QUALIFIED
Cody Z RutaGermanyXuxue Feng NEGOTIATION
Costa U KolmetzRussiaXuxue Feng UNQUALIFIED
Francesco W BowleySpainIvan Magalhaes RENEWAL
Leon G BologniaGermanyIvan Magalhaes RENEWAL
Antonio H InouyeJapanBernardo Dominic UNQUALIFIED
Izzy A AmigonIndiaIvan Magalhaes NEW
Silvio D GillianCanadaAsiya Javayant RENEWAL
Jefferson Q OstroskyJapanIvan Magalhaes NEGOTIATION
Alejandro D OstroskyItalyBernardo Dominic UNQUALIFIED
Munro R OldroydJapanXuxue Feng NEW
Tony O SergiGermanyElwin Sharvill UNQUALIFIED
Alejandro S NestleArgentinaAsiya Javayant NEGOTIATION
Sinclair I RimJapanAsiya Javayant UNQUALIFIED
Francesco M RoysterItalyIvan Magalhaes NEGOTIATION
Emily W MaletSpainXuxue Feng RENEWAL
Aika M CaldareraFranceIoni Bowcher UNQUALIFIED
Jones C SergiCanadaIvan Magalhaes NEW
Alejandro P AlbaresGermanyIoni Bowcher UNQUALIFIED
Faith X DarakjyArgentinaAnna Fali QUALIFIED
Aditya U RutaRussiaAmy Elsner PROPOSAL
Isabel V NickaIndiaStephen Shaw NEW
Nicolas N WieserItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois C CaudyGermanyElwin Sharvill RENEWAL
Izzy K SaylorsSpainAmy Elsner UNQUALIFIED
Maria T OstroskyItalyIoni Bowcher NEGOTIATION
Alejandro U ChuiGermanyElwin Sharvill NEW
Nicolas S RulapaughSpainIoni Bowcher RENEWAL
Alejandro F KolmetzJapanBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David I ButtIndiaIvan Magalhaes NEGOTIATION
Clifford U CaudyIndiaXuxue Feng NEGOTIATION
Sinclair Z RutaCanadaIoni Bowcher UNQUALIFIED
Aditya V OldroydSpainBernardo Dominic PROPOSAL
Isabel O SergiGermanyAmy Elsner RENEWAL
Rodrigues J NickaRussiaStephen Shaw NEGOTIATION
Chavez M NestleCanadaElwin Sharvill NEGOTIATION
Mujtaba R AmigonUnited KingdomStephen Shaw RENEWAL
Jeanfrancois U PaprockiAustraliaOnyama Limba PROPOSAL
Jefferson F StensethUnited KingdomOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Z StensethUnited Kingdom2026-10-06Feltz Printing Service QUALIFIED42Elwin Sharvill
1001Octavia I VocelkaAustralia2026-10-01Rangoni Of Florence UNQUALIFIED69Onyama Limba
1002Ashley X DarakjyAustralia2026-10-18Buckley Miller Wright UNQUALIFIED88Asiya Javayant
1003Antonio J ShinkoRussia2026-10-30Chapman, Ross E Esq NEW56Stephen Shaw
1004Nicolas Q RutaUnited Kingdom2026-10-19Morlong Associates NEGOTIATION99Xuxue Feng
1005Munro G IturbideRussia2026-10-29Morlong Associates QUALIFIED50Ivan Magalhaes
1006Faith L BriddickItaly2026-10-20Truhlar And Truhlar Attys UNQUALIFIED20Ivan Magalhaes
1007Greenwood I InouyeSpain2026-10-15Feiner Bros PROPOSAL8Asiya Javayant
1008Aika H IturbideFrance2026-10-28Truhlar And Truhlar Attys PROPOSAL39Elwin Sharvill
1009Emily Q OstroskyAustralia2026-10-22Buckley Miller Wright RENEWAL53Stephen Shaw
1010Julie V GillianSpain2026-10-08Buckley Miller Wright QUALIFIED16Asiya Javayant
1011Antonio F AlbaresGermany2026-10-09Truhlar And Truhlar Attys NEW23Stephen Shaw
1012Adams Y WhobreyCanada2026-10-06Printing Dimensions RENEWAL32Onyama Limba
1013Stacey F FlosiJapan2026-10-02Rousseaux, Michael Esq NEW73Ioni Bowcher
1014Kaitlin W RulapaughRussia2026-10-17Commercial Press QUALIFIED83Xuxue Feng
1015Nicolas C WieserSpain2026-10-14Truhlar And Truhlar Attys NEW59Anna Fali
1016Jeanfrancois W DarakjySpain2026-10-13Commercial Press QUALIFIED52Amy Elsner
1017Maisha Q CaldareraRussia2026-10-18Dorl, James J Esq QUALIFIED96Amy Elsner
1018Aditya I GlickFrance2026-10-17Rangoni Of Florence RENEWAL53Asiya Javayant
1019Jones Q AmigonArgentina2026-10-08Buckley Miller Wright RENEWAL35Bernardo Dominic
1020Kaitlin X StockhamAustralia2026-10-09Benton, John B Jr NEW37Amy Elsner
1021Tony C AlbaresSpain2026-10-08Buckley Miller Wright QUALIFIED40Ioni Bowcher
1022Misaki E OldroydUnited Kingdom2026-10-02Chapman, Ross E Esq PROPOSAL57Ivan Magalhaes
1023Maisha N SlusarskiGermany2026-10-09Feltz Printing Service UNQUALIFIED55Amy Elsner
1024Antonio I MacleadIndia2026-10-22Morlong Associates UNQUALIFIED5Bernardo Dominic
1025Maria A WieserFrance2026-10-07Rousseaux, Michael Esq PROPOSAL94Ioni Bowcher
1026Kaitlin Y MaletCanada2026-10-11Dorl, James J Esq PROPOSAL18Stephen Shaw
1027Izzy E NickaAustralia2026-10-08Rousseaux, Michael Esq PROPOSAL78Stephen Shaw
1028Tony C MacleadCanada2026-10-28Chapman, Ross E Esq PROPOSAL61Asiya Javayant
1029Johnson R DoeUnited Kingdom2026-10-12Rousseaux, Michael Esq NEW5Anna Fali
1030Aditya M ChuiGermany2026-10-07Buckley Miller Wright RENEWAL5Onyama Limba
1031Smith G BriddickSpain2026-10-25Buckley Miller Wright NEGOTIATION61Anna Fali
1032Chavez C TollnerBrazil2026-10-03Dorl, James J Esq UNQUALIFIED92Stephen Shaw
1033Adams Z SchemmerIndia2026-10-05Commercial Press NEW33Elwin Sharvill
1034Misaki D GarufiUnited Kingdom2026-10-10Rousseaux, Michael Esq NEGOTIATION70Bernardo Dominic
1035David B BologniaJapan2026-10-22Chanay, Jeffrey A Esq PROPOSAL95Asiya Javayant
1036Aditya B RimCanada2026-10-12Rangoni Of Florence QUALIFIED16Elwin Sharvill
1037Munro P MacleadGermany2026-10-13King, Christopher A Esq UNQUALIFIED44Ioni Bowcher
1038Murillo Q SlusarskiRussia2026-10-18Chanay, Jeffrey A Esq RENEWAL98Asiya Javayant
1039Alejandro N ChuiArgentina2026-10-12Chapman, Ross E Esq QUALIFIED57Asiya Javayant
1040Adams T StockhamItaly2026-10-14Chanay, Jeffrey A Esq RENEWAL85Anna Fali
1041Darci S NickaItaly2026-10-03Dorl, James J Esq UNQUALIFIED85Xuxue Feng
1042Arvin E AlbaresSpain2026-10-17Morlong Associates UNQUALIFIED62Ioni Bowcher
1043David H CaldareraRussia2026-10-19Rousseaux, Michael Esq UNQUALIFIED69Bernardo Dominic
1044Salvatore Z KolmetzRussia2026-10-07Chanay, Jeffrey A Esq RENEWAL74Amy Elsner
1045Darci X GlickArgentina2026-10-06Truhlar And Truhlar Attys RENEWAL82Anna Fali
1046Costa T RulapaughCanada2026-10-23Feiner Bros NEGOTIATION41Xuxue Feng
1047David K VocelkaJapan2026-10-08Printing Dimensions NEGOTIATION94Elwin Sharvill
1048Jeanfrancois Y ShinkoGermany2026-10-08Truhlar And Truhlar Attys RENEWAL89Anna Fali
1049Aika R OldroydBrazil2026-10-27Commercial Press PROPOSAL76Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin R SlusarskiGermanyBernardo Dominic QUALIFIED
Leon T ButtUnited KingdomStephen Shaw QUALIFIED
Rodrigues H BowleyFranceElwin Sharvill QUALIFIED
Darci V CampainGermanyAnna Fali NEGOTIATION
Sinclair K SergiUnited KingdomAnna Fali NEGOTIATION
Ivar S CaudyFranceAsiya Javayant QUALIFIED
Maria T SergiJapanAmy Elsner QUALIFIED
Faith T GillianAustraliaBernardo Dominic NEW
David S VenereRussiaBernardo Dominic UNQUALIFIED
Isabel L FerenczRussiaXuxue Feng RENEWAL
James E SchemmerJapanStephen Shaw PROPOSAL
Jeanfrancois T StockhamSpainIoni Bowcher PROPOSAL
Mayumi Z MorascaJapanAmy Elsner UNQUALIFIED
Jones F CaldareraBrazilBernardo Dominic UNQUALIFIED
Aika G RimItalyXuxue Feng RENEWAL
Aruna U OldroydFranceIvan Magalhaes UNQUALIFIED
Jennifer M ShinkoArgentinaAmy Elsner PROPOSAL
Morrow C PaprockiArgentinaAnna Fali UNQUALIFIED
Alejandro E GauchoCanadaStephen Shaw NEGOTIATION
Murillo D MaletRussiaStephen Shaw RENEWAL
Sinclair D PoquetteGermanyIvan Magalhaes PROPOSAL
Tony Z FigeroaUnited KingdomElwin Sharvill RENEWAL
Johnson F NestleRussiaIoni Bowcher RENEWAL
Ivar H VocelkaIndiaIvan Magalhaes UNQUALIFIED
Kaitlin J GlickIndiaStephen Shaw UNQUALIFIED
Francesco J RoysterArgentinaOnyama Limba PROPOSAL
Faith Y DilliardGermanyAnna Fali NEGOTIATION
Leja X GlickJapanAsiya Javayant RENEWAL
David I GillianArgentinaOnyama Limba NEGOTIATION
Arvin D MarrierJapanAsiya Javayant PROPOSAL
Jennifer A NickaRussiaAmy Elsner QUALIFIED
Jennifer J GillianUnited KingdomIoni Bowcher RENEWAL
Stacey U DoeRussiaAnna Fali UNQUALIFIED
Misaki F OldroydIndiaIoni Bowcher NEGOTIATION
Aditya C ButtCanadaIvan Magalhaes NEGOTIATION
Cody F FigeroaGermanyAsiya Javayant NEGOTIATION
Francesco Q CaudyJapanElwin Sharvill NEW
Jeanfrancois K BriddickJapanBernardo Dominic NEW
Ivar W OstroskyBrazilIoni Bowcher NEW
Silvio X GauchoItalyIoni Bowcher PROPOSAL
Ivar T SaylorsSpainElwin Sharvill UNQUALIFIED
Maisha Y RulapaughGermanyAnna Fali RENEWAL
Tony Z FerenczBrazilOnyama Limba RENEWAL
James F WieserRussiaStephen Shaw NEGOTIATION
Stacey Z StensethItalyAnna Fali UNQUALIFIED
Chavez O InouyeJapanBernardo Dominic UNQUALIFIED
Aditya U RulapaughFranceBernardo Dominic PROPOSAL
Sinclair N StockhamGermanyOnyama Limba NEGOTIATION
Maria D IturbideFranceElwin Sharvill NEW
Ashley T ShinkoSpainBernardo Dominic RENEWAL
Frozen Columns
Name
Julie Q Chui
Aditya O Waycott
James S Briddick
Wickens B Stenseth
Clifford K Caudy
Claire D Amigon
David Q Caudy
Ashley X Campain
Isabel L Bolognia
Juan K Oldroyd
Isabel G Garufi
Cody Y Inouye
Izzy G Perin
Chavez N Saylors
Francesco D Nicka
Alejandro K Maclead
Silvio R Waycott
David Q Bolognia
Ashley Z Wieser
Wickens O Tollner
Aika G Slusarski
Aruna T Darakjy
Juan O Malet
Johnson Y Ruta
Murillo U Poquette
Stacey G Stenseth
Octavia R Whobrey
Francesco V Bowley
Nicolas Z Whobrey
Salvatore V Oldroyd
Morrow K Figeroa
David F Dilliard
Claire X Marrier
Stacey J Ostrosky
Mujtaba N Oldroyd
Morrow K Slusarski
David E Caldarera
Leja L Malet
Clifford E Butt
Aditya R Marrier
Juan F Stenseth
Leon G Schemmer
Aika F Gaucho
Claire I Chui
Munro M Wieser
Francesco F Gaucho
Emily B Rulapaugh
Nicolas I Kusko
Costa S Vocelka
Kadeem Z Malet
IdCountryDate
1000India2026-10-01
1001Germany2026-10-03
1002Japan2026-10-24
1003Brazil2026-10-06
1004United Kingdom2026-10-13
1005Germany2026-10-29
1006Canada2026-10-10
1007Japan2026-10-14
1008Russia2026-10-30
1009Argentina2026-10-06
1010France2026-10-07
1011Argentina2026-10-02
1012Brazil2026-10-06
1013Argentina2026-10-15
1014Argentina2026-10-13
1015France2026-10-15
1016Australia2026-10-19
1017Japan2026-10-06
1018Canada2026-10-27
1019Italy2026-10-06
1020India2026-10-04
1021India2026-10-04
1022United Kingdom2026-10-01
1023France2026-10-26
1024Italy2026-10-25
1025Canada2026-10-05
1026France2026-10-07
1027Japan2026-10-28
1028Spain2026-10-10
1029Russia2026-10-11
1030United Kingdom2026-10-12
1031Brazil2026-10-07
1032Japan2026-10-02
1033Canada2026-10-30
1034Australia2026-10-16
1035Italy2026-10-24
1036France2026-10-21
1037Spain2026-10-18
1038Spain2026-10-22
1039India2026-10-30
1040Russia2026-10-23
1041Canada2026-10-20
1042India2026-10-30
1043Italy2026-10-03
1044Japan2026-10-26
1045United Kingdom2026-10-07
1046Russia2026-10-30
1047Brazil2026-10-09
1048India2026-10-17
1049Italy2026-10-10

On-Demand Data

NameIdCountryDate
Rodrigues Y Morasca1000Canada2026-10-27
Chavez Y Stenseth1001Australia2026-10-22
Francesco O Paprocki1002Russia2026-10-13
Stacey G Iturbide1003Germany2026-10-29
Kadeem S Poquette1004Argentina2026-10-14
Leon N Darakjy1005Germany2026-10-21
Julie I Caldarera1006Argentina2026-10-21
Julie B Nestle1007Argentina2026-10-28
Johnson E Campain1008Germany2026-10-21
Silvio L Butt1009Russia2026-10-04
Juan D Bowley1010France2026-10-01
Adams A Bowley1011Argentina2026-10-26
Smith U Ferencz1012France2026-10-20
Maria V Gaucho1013Italy2026-10-29
Emily M Saylors1014Spain2026-10-08
Mayumi Z Flosi1015Russia2026-10-28
Cody J Glick1016Russia2026-10-05
Jennifer K Marrier1017Argentina2026-10-30
Rodrigues E Venere1018India2026-10-25
Aditya J Poquette1019Australia2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja H CaudyCanadaAsiya Javayant NEGOTIATION
Darci U MarrierIndiaAsiya Javayant RENEWAL
Clifford M SergiBrazilBernardo Dominic UNQUALIFIED
Leja D NickaUnited KingdomIvan Magalhaes RENEWAL
Alejandro J AmigonAustraliaIvan Magalhaes NEGOTIATION
Silvio W AlbaresSpainXuxue Feng RENEWAL
Ivar W FlosiItalyIoni Bowcher UNQUALIFIED
Kaitlin T RutaRussiaXuxue Feng PROPOSAL
Wickens L WhobreyUnited KingdomAnna Fali UNQUALIFIED
Salvatore A CaldareraIndiaElwin Sharvill RENEWAL
Antonio K VenereItalyElwin Sharvill NEW
Ivar D RimItalyElwin Sharvill QUALIFIED
Darci K ChuiItalyIvan Magalhaes QUALIFIED
Aditya O WaycottJapanIvan Magalhaes RENEWAL
Maisha T KolmetzBrazilBernardo Dominic PROPOSAL
Faith S FlosiJapanAsiya Javayant PROPOSAL
Smith X WaycottAustraliaOnyama Limba NEW
Johnson I MorascaCanadaIvan Magalhaes NEW
Isabel G VocelkaUnited KingdomXuxue Feng RENEWAL
Rodrigues Z PerinJapanOnyama Limba RENEWAL
Tony G PaprockiAustraliaAsiya Javayant QUALIFIED
Ricardo V GauchoBrazilIvan Magalhaes NEW
Faith J MacleadFranceElwin Sharvill UNQUALIFIED
Greenwood Q OldroydGermanyIoni Bowcher RENEWAL
Jones D AlbaresFranceAsiya Javayant PROPOSAL
Rodrigues S StensethRussiaElwin Sharvill QUALIFIED
Smith O CampainIndiaIvan Magalhaes NEW
Morrow O PoquetteBrazilStephen Shaw PROPOSAL
James G SchemmerJapanElwin Sharvill NEW
Adams L VocelkaSpainXuxue Feng QUALIFIED
Ricardo R PoquetteFranceAmy Elsner NEW
Jones Z FigeroaCanadaOnyama Limba RENEWAL
Rodrigues U FigeroaArgentinaXuxue Feng UNQUALIFIED
Costa M ShinkoItalyOnyama Limba QUALIFIED
Smith Z InouyeSpainXuxue Feng UNQUALIFIED
Sinclair M MaletArgentinaIvan Magalhaes QUALIFIED
Emily T SlusarskiRussiaIvan Magalhaes NEGOTIATION
Maria J GlickRussiaElwin Sharvill QUALIFIED
Chavez F DoeUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson W DilliardFranceAsiya Javayant 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>