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
Greenwood K DarakjyUnited KingdomIvan Magalhaes RENEWAL
Chavez I DoeAustraliaAnna Fali UNQUALIFIED
Izzy O RoysterSpainIoni Bowcher UNQUALIFIED
Deepesh M ChuiSpainAnna Fali UNQUALIFIED
Leja X ShinkoIndiaAsiya Javayant UNQUALIFIED
Aruna D RutaBrazilStephen Shaw PROPOSAL
Rodrigues T StensethIndiaStephen Shaw NEW
Munro K ChuiSpainIvan Magalhaes UNQUALIFIED
Jones N MorascaJapanOnyama Limba QUALIFIED
Murillo B AlbaresCanadaOnyama Limba QUALIFIED
Aruna W RimGermanyAnna Fali QUALIFIED
Maria H MorascaItalyXuxue Feng PROPOSAL
Aika C RoysterAustraliaAsiya Javayant QUALIFIED
Clifford E SaylorsRussiaBernardo Dominic PROPOSAL
Aruna D MaletRussiaAsiya Javayant NEW
Ricardo M DarakjyJapanBernardo Dominic NEW
Kadeem X TollnerItalyStephen Shaw RENEWAL
Nicolas E KolmetzJapanAsiya Javayant PROPOSAL
Arvin P MacleadArgentinaIoni Bowcher UNQUALIFIED
Isabel C CaldareraItalyAsiya Javayant PROPOSAL
Francesco T BowleyArgentinaStephen Shaw QUALIFIED
Aruna W AlbaresItalyBernardo Dominic NEW
Maria Y ShinkoCanadaAsiya Javayant NEGOTIATION
Ashley Q RoysterUnited KingdomOnyama Limba UNQUALIFIED
Greenwood O VenereBrazilAsiya Javayant QUALIFIED
Nicolas F RulapaughFranceXuxue Feng RENEWAL
Ricardo P CaldareraCanadaIoni Bowcher QUALIFIED
Misaki I TollnerCanadaBernardo Dominic UNQUALIFIED
Greenwood K OldroydSpainBernardo Dominic UNQUALIFIED
Cody K PerinFranceAsiya Javayant PROPOSAL
Octavia S PerinArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois V ShinkoAustraliaBernardo Dominic RENEWAL
Adams V RulapaughGermanyAsiya Javayant NEW
Mayumi O NickaArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois X WieserFranceAsiya Javayant RENEWAL
Leja G StockhamRussiaIoni Bowcher UNQUALIFIED
Salvatore B PerinUnited KingdomXuxue Feng PROPOSAL
Aruna M SchemmerRussiaAnna Fali QUALIFIED
Mayumi B IturbideArgentinaStephen Shaw QUALIFIED
Salvatore B StensethGermanyBernardo Dominic UNQUALIFIED
Wickens T SchemmerFranceIoni Bowcher UNQUALIFIED
Murillo F FlosiJapanIvan Magalhaes PROPOSAL
Leja P SaylorsAustraliaXuxue Feng RENEWAL
Aruna L RutaSpainIvan Magalhaes QUALIFIED
Stacey M IturbideSpainBernardo Dominic UNQUALIFIED
Aika O SergiGermanyOnyama Limba UNQUALIFIED
James U ChuiBrazilOnyama Limba UNQUALIFIED
Stacey H RimUnited KingdomElwin Sharvill UNQUALIFIED
Juan Q BologniaItalyStephen Shaw UNQUALIFIED
Clifford L IturbideGermanyOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa E AlbaresGermanyAnna Fali RENEWAL
Octavia X RimFranceStephen Shaw PROPOSAL
Wickens J FigeroaFranceOnyama Limba NEGOTIATION
Isabel F PerinFranceAnna Fali NEW
Emily I ShinkoJapanIoni Bowcher NEGOTIATION
Isabel B NickaCanadaAsiya Javayant NEW
Costa A KolmetzIndiaElwin Sharvill PROPOSAL
Alejandro G GlickGermanyIvan Magalhaes UNQUALIFIED
Kadeem Z WieserArgentinaIoni Bowcher UNQUALIFIED
Kadeem L SlusarskiItalyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh A WieserBrazil2026-08-22Morlong Associates NEW77Ivan Magalhaes
1001Maria W TollnerJapan2026-09-19Rousseaux, Michael Esq UNQUALIFIED67Ivan Magalhaes
1002Salvatore F AmigonArgentina2026-09-12Feltz Printing Service NEGOTIATION78Elwin Sharvill
1003Mujtaba I BriddickRussia2026-09-10Rangoni Of Florence NEW11Elwin Sharvill
1004Octavia E SergiGermany2026-08-31King, Christopher A Esq RENEWAL52Elwin Sharvill
1005Darci S GlickArgentina2026-09-18Rangoni Of Florence NEGOTIATION40Asiya Javayant
1006Sinclair C SchemmerCanada2026-09-01Buckley Miller Wright NEGOTIATION9Onyama Limba
1007Maisha Z AlbaresFrance2026-08-24Buckley Miller Wright PROPOSAL40Ivan Magalhaes
1008Aditya X ShinkoUnited Kingdom2026-09-02Feiner Bros UNQUALIFIED55Amy Elsner
1009Emily R MacleadArgentina2026-08-28Buckley Miller Wright PROPOSAL56Stephen Shaw
1010Ricardo D WaycottRussia2026-09-13Chapman, Ross E Esq QUALIFIED88Ivan Magalhaes
1011Deepesh X AlbaresItaly2026-08-22Chemel, James L Cpa QUALIFIED11Onyama Limba
1012Aruna F VenereIndia2026-08-27Buckley Miller Wright NEGOTIATION31Bernardo Dominic
1013Stacey Z AmigonBrazil2026-09-05Printing Dimensions NEW27Bernardo Dominic
1014Stacey X FigeroaIndia2026-09-04King, Christopher A Esq QUALIFIED23Ivan Magalhaes
1015Mayumi Y CaudyUnited Kingdom2026-09-13Printing Dimensions NEW84Asiya Javayant
1016Ivar U NickaAustralia2026-09-12Dorl, James J Esq QUALIFIED92Asiya Javayant
1017Maisha J ChuiSpain2026-09-09Feltz Printing Service NEW5Xuxue Feng
1018Munro W PerinItaly2026-08-27Chanay, Jeffrey A Esq PROPOSAL38Stephen Shaw
1019Munro Z NickaAustralia2026-09-15Dorl, James J Esq NEGOTIATION90Xuxue Feng
1020Johnson N CaldareraAustralia2026-09-18King, Christopher A Esq QUALIFIED66Asiya Javayant
1021Julie Q StockhamAustralia2026-09-08Rousseaux, Michael Esq NEGOTIATION9Elwin Sharvill
1022Francesco B AmigonCanada2026-08-28Feltz Printing Service RENEWAL6Anna Fali
1023David C RoysterGermany2026-09-11King, Christopher A Esq QUALIFIED62Onyama Limba
1024Stacey R WieserArgentina2026-08-22Dorl, James J Esq NEW25Bernardo Dominic
1025Alejandro B VocelkaCanada2026-08-31King, Christopher A Esq PROPOSAL61Amy Elsner
1026Julie I FlosiArgentina2026-09-13Printing Dimensions UNQUALIFIED64Stephen Shaw
1027Murillo R ShinkoBrazil2026-09-03Chapman, Ross E Esq PROPOSAL19Stephen Shaw
1028Leon Z PaprockiRussia2026-08-29Chemel, James L Cpa PROPOSAL56Bernardo Dominic
1029Izzy Y AmigonArgentina2026-08-30Chemel, James L Cpa NEW11Ioni Bowcher
1030Leon N GauchoIndia2026-09-08King, Christopher A Esq QUALIFIED20Onyama Limba
1031Greenwood U TollnerCanada2026-08-29Rangoni Of Florence NEW56Amy Elsner
1032Cody T SaylorsBrazil2026-09-19Chemel, James L Cpa NEW97Onyama Limba
1033Nicolas U BologniaUnited Kingdom2026-08-22Morlong Associates PROPOSAL24Asiya Javayant
1034Nicolas X RulapaughBrazil2026-09-11Commercial Press NEGOTIATION98Stephen Shaw
1035Munro T ShinkoIndia2026-09-12King, Christopher A Esq UNQUALIFIED91Ivan Magalhaes
1036Darci I PaprockiRussia2026-09-15Morlong Associates UNQUALIFIED58Amy Elsner
1037Tony K DilliardCanada2026-09-17Morlong Associates UNQUALIFIED63Ioni Bowcher
1038Adams V NestleItaly2026-09-09King, Christopher A Esq NEW99Bernardo Dominic
1039Juan T RoysterItaly2026-08-26Morlong Associates NEGOTIATION15Asiya Javayant
1040Deepesh I GauchoUnited Kingdom2026-09-16Commercial Press NEW20Bernardo Dominic
1041Leon C DoeIndia2026-08-26King, Christopher A Esq PROPOSAL5Ivan Magalhaes
1042Deepesh M DilliardIndia2026-09-18Chanay, Jeffrey A Esq NEW9Asiya Javayant
1043Juan A IturbideAustralia2026-09-07Chemel, James L Cpa NEW39Amy Elsner
1044Arvin S OldroydAustralia2026-09-17King, Christopher A Esq PROPOSAL75Stephen Shaw
1045Ricardo F PerinSpain2026-09-08Commercial Press RENEWAL97Onyama Limba
1046Smith P VocelkaUnited Kingdom2026-09-05Chemel, James L Cpa PROPOSAL65Xuxue Feng
1047Octavia N AmigonAustralia2026-09-01Benton, John B Jr UNQUALIFIED32Onyama Limba
1048Juan M GarufiCanada2026-08-27Morlong Associates NEGOTIATION82Elwin Sharvill
1049Mujtaba B CaudyRussia2026-09-12Feltz Printing Service UNQUALIFIED55Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie F NickaCanadaAnna Fali QUALIFIED
Misaki B DilliardArgentinaStephen Shaw RENEWAL
Maria V TollnerBrazilElwin Sharvill NEGOTIATION
Aika R RutaRussiaElwin Sharvill NEGOTIATION
Kadeem N MacleadItalyStephen Shaw RENEWAL
Mayumi M IturbideSpainStephen Shaw UNQUALIFIED
Misaki G WaycottBrazilAsiya Javayant UNQUALIFIED
Kaitlin N AmigonAustraliaIoni Bowcher UNQUALIFIED
Misaki L BowleyUnited KingdomBernardo Dominic QUALIFIED
Murillo O SlusarskiJapanIvan Magalhaes NEGOTIATION
Sinclair K AmigonUnited KingdomElwin Sharvill QUALIFIED
Salvatore C TollnerAustraliaIoni Bowcher QUALIFIED
Ashley H WaycottAustraliaAmy Elsner NEW
Cody K BologniaGermanyOnyama Limba PROPOSAL
Aditya L FlosiItalyElwin Sharvill NEGOTIATION
Kadeem Y AmigonFranceIvan Magalhaes UNQUALIFIED
Maria N OstroskyIndiaAmy Elsner NEGOTIATION
David F BowleyBrazilXuxue Feng QUALIFIED
Misaki U RulapaughJapanAnna Fali PROPOSAL
Cody L SchemmerBrazilXuxue Feng QUALIFIED
Nicolas J IturbideAustraliaStephen Shaw RENEWAL
Antonio L KuskoIndiaStephen Shaw NEGOTIATION
Octavia I VenereArgentinaBernardo Dominic RENEWAL
David L BologniaItalyElwin Sharvill NEGOTIATION
Deepesh A OstroskyBrazilOnyama Limba NEW
Mayumi S PaprockiSpainStephen Shaw QUALIFIED
Francesco S VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Kadeem P AlbaresUnited KingdomXuxue Feng RENEWAL
Maisha M SergiGermanyOnyama Limba PROPOSAL
Stacey Y ShinkoUnited KingdomXuxue Feng NEGOTIATION
David W PaprockiCanadaIvan Magalhaes QUALIFIED
Maisha F BowleyAustraliaIoni Bowcher UNQUALIFIED
Tony K MorascaSpainElwin Sharvill NEGOTIATION
Deepesh S RoysterIndiaXuxue Feng UNQUALIFIED
Leja D MarrierJapanBernardo Dominic QUALIFIED
Murillo X OldroydIndiaOnyama Limba NEW
Wickens F SergiCanadaElwin Sharvill UNQUALIFIED
Aditya C DilliardUnited KingdomAnna Fali UNQUALIFIED
Tony S IturbideAustraliaBernardo Dominic PROPOSAL
Octavia Y MacleadArgentinaStephen Shaw UNQUALIFIED
Octavia O KolmetzFranceIvan Magalhaes UNQUALIFIED
Cody N BriddickItalyElwin Sharvill RENEWAL
Johnson V MarrierItalyOnyama Limba RENEWAL
Ivar D DarakjyFranceIoni Bowcher UNQUALIFIED
Leon Q GarufiSpainAmy Elsner NEW
Deepesh Q GlickJapanIvan Magalhaes PROPOSAL
Rodrigues X OstroskyCanadaXuxue Feng PROPOSAL
Maria W StensethRussiaElwin Sharvill UNQUALIFIED
Tony Z KolmetzArgentinaIoni Bowcher UNQUALIFIED
Ivar Y BriddickBrazilElwin Sharvill NEW
Frozen Columns
Name
Faith R Shinko
Ashley H Caudy
Faith N Rulapaugh
Kadeem L Malet
Greenwood B Rulapaugh
Izzy A Waycott
Sinclair Z Poquette
Izzy M Sergi
Clifford S Ruta
Jeanfrancois G Gaucho
Kaitlin P Gaucho
Maisha E Rim
Antonio T Stenseth
Sinclair E Waycott
Kadeem P Perin
Rodrigues L Stockham
Julie X Kusko
Alejandro W Whobrey
Stacey V Darakjy
Julie M Marrier
Kaitlin K Nicka
James J Perin
Juan J Shinko
Johnson V Schemmer
Munro R Garufi
Jones O Ruta
Misaki Q Vocelka
Sinclair V Albares
Aruna B Butt
Morrow K Glick
Greenwood Y Vocelka
Leja E Inouye
Murillo N Figeroa
Salvatore T Poquette
Darci T Chui
Mujtaba H Doe
Greenwood K Kolmetz
Arvin K Poquette
Salvatore P Shinko
Ashley U Flosi
Ashley G Doe
Mujtaba Z Campain
Jeanfrancois B Stockham
Aika Q Morasca
James Y Butt
Munro R Ruta
Tony H Foller
Leon G Wieser
Julie E Marrier
Johnson F Darakjy
IdCountryDate
1000Australia2026-09-02
1001Japan2026-09-08
1002Argentina2026-09-07
1003Canada2026-09-04
1004Australia2026-09-14
1005India2026-09-17
1006Argentina2026-09-05
1007India2026-09-06
1008Canada2026-08-31
1009Japan2026-08-29
1010Germany2026-09-11
1011Canada2026-08-25
1012India2026-08-26
1013Brazil2026-09-16
1014United Kingdom2026-09-10
1015Russia2026-08-31
1016Russia2026-09-11
1017Canada2026-08-21
1018Russia2026-09-13
1019Canada2026-08-23
1020France2026-08-23
1021United Kingdom2026-08-29
1022Spain2026-09-02
1023Canada2026-09-14
1024Australia2026-08-25
1025Spain2026-08-29
1026Russia2026-08-28
1027India2026-08-22
1028Brazil2026-09-14
1029Japan2026-09-03
1030Japan2026-09-03
1031Canada2026-08-24
1032Argentina2026-08-24
1033France2026-09-10
1034Argentina2026-09-01
1035Australia2026-09-01
1036Spain2026-09-19
1037India2026-09-13
1038Brazil2026-09-01
1039India2026-09-02
1040Italy2026-09-14
1041France2026-09-10
1042Argentina2026-08-26
1043Spain2026-09-06
1044Russia2026-08-24
1045Australia2026-09-04
1046France2026-09-11
1047Canada2026-09-02
1048United Kingdom2026-09-15
1049Russia2026-09-10

On-Demand Data

NameIdCountryDate
Julie W Caldarera1000Japan2026-08-24
Kadeem I Maclead1001Italy2026-09-14
Murillo K Morasca1002Germany2026-09-18
Octavia H Oldroyd1003Canada2026-09-13
Leja B Vocelka1004Brazil2026-09-07
Arvin W Slusarski1005Australia2026-09-14
Ricardo Y Bolognia1006Argentina2026-09-16
Costa R Malet1007Japan2026-09-19
Isabel P Stockham1008Italy2026-08-30
Clifford P Royster1009United Kingdom2026-08-29
Ricardo O Venere1010Argentina2026-08-29
Arvin O Paprocki1011France2026-08-23
Juan U Malet1012Germany2026-09-02
Nicolas Z Foller1013United Kingdom2026-09-18
Misaki T Ferencz1014Japan2026-09-05
Kadeem V Ruta1015Canada2026-09-04
Jones M Whobrey1016Australia2026-08-30
Aruna A Caldarera1017Italy2026-09-05
Silvio H Rulapaugh1018Canada2026-08-30
Mayumi A Stockham1019Canada2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin S NestleCanadaXuxue Feng RENEWAL
Ivar Z NestleItalyStephen Shaw RENEWAL
Costa O PoquetteIndiaAmy Elsner NEGOTIATION
Francesco D MorascaFranceIoni Bowcher PROPOSAL
Jennifer Z PoquetteArgentinaIvan Magalhaes NEW
Ricardo U SchemmerGermanyStephen Shaw PROPOSAL
Emily P SlusarskiUnited KingdomAsiya Javayant RENEWAL
Nicolas N SchemmerArgentinaBernardo Dominic NEGOTIATION
Johnson N PerinArgentinaOnyama Limba QUALIFIED
Julie W MorascaArgentinaElwin Sharvill UNQUALIFIED
Kadeem G MaletIndiaAsiya Javayant NEW
Stacey E RutaBrazilXuxue Feng RENEWAL
Misaki C RoysterBrazilAmy Elsner NEGOTIATION
Nicolas S ChuiRussiaOnyama Limba NEW
Smith W StensethRussiaBernardo Dominic NEGOTIATION
Cody N SergiCanadaIvan Magalhaes QUALIFIED
Cody S MarrierSpainAmy Elsner NEGOTIATION
Antonio Z CampainAustraliaAnna Fali RENEWAL
Sinclair R CaudyCanadaOnyama Limba QUALIFIED
James K ShinkoArgentinaOnyama Limba QUALIFIED
Ashley G WieserJapanAsiya Javayant RENEWAL
Nicolas I SergiAustraliaBernardo Dominic NEGOTIATION
Julie V PoquetteBrazilIvan Magalhaes PROPOSAL
Silvio U RoysterItalyOnyama Limba PROPOSAL
Ricardo L OstroskyAustraliaAsiya Javayant NEW
Faith N AmigonJapanAmy Elsner PROPOSAL
Maria F CampainAustraliaAnna Fali NEW
Jones Q MorascaBrazilIvan Magalhaes NEW
Johnson R OldroydCanadaIoni Bowcher UNQUALIFIED
Ashley P PoquetteFranceStephen Shaw NEGOTIATION
Ivar Z FollerCanadaOnyama Limba QUALIFIED
David L FigeroaAustraliaAsiya Javayant NEGOTIATION
Chavez V GarufiIndiaBernardo Dominic RENEWAL
Leja G VocelkaArgentinaIoni Bowcher NEW
Maria M SaylorsJapanAnna Fali RENEWAL
Francesco L OldroydGermanyOnyama Limba NEGOTIATION
Darci J GarufiFranceOnyama Limba PROPOSAL
Munro O PerinArgentinaAmy Elsner PROPOSAL
Octavia H AlbaresBrazilIvan Magalhaes PROPOSAL
Faith J BowleyUnited KingdomAmy Elsner 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>