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
Maria F PerinFranceIoni Bowcher NEW
Ricardo Y DoeArgentinaAsiya Javayant PROPOSAL
Izzy E PoquetteUnited KingdomAmy Elsner RENEWAL
Johnson G KuskoItalyXuxue Feng PROPOSAL
Ricardo D IturbideBrazilOnyama Limba NEGOTIATION
Deepesh F BologniaUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba X MaletGermanyBernardo Dominic RENEWAL
Cody B MacleadBrazilOnyama Limba UNQUALIFIED
Leja R PoquetteIndiaBernardo Dominic RENEWAL
Munro G DarakjyAustraliaStephen Shaw UNQUALIFIED
Rodrigues X SlusarskiBrazilStephen Shaw UNQUALIFIED
Stacey R CampainUnited KingdomElwin Sharvill RENEWAL
Izzy R BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Leja T BologniaUnited KingdomOnyama Limba RENEWAL
Kadeem C BowleyJapanIoni Bowcher PROPOSAL
Johnson B KolmetzArgentinaXuxue Feng NEW
Julie D GillianFranceOnyama Limba UNQUALIFIED
Chavez Q PoquetteIndiaAmy Elsner RENEWAL
Leja F DilliardArgentinaIvan Magalhaes NEW
Emily A SergiCanadaOnyama Limba QUALIFIED
Octavia E CaudyJapanXuxue Feng RENEWAL
Morrow M MacleadFranceBernardo Dominic PROPOSAL
Munro T GarufiRussiaIoni Bowcher NEW
Jeanfrancois Q WaycottUnited KingdomIvan Magalhaes RENEWAL
Antonio K FerenczAustraliaBernardo Dominic PROPOSAL
Izzy M PoquetteIndiaIoni Bowcher UNQUALIFIED
Leon G WaycottAustraliaAmy Elsner NEGOTIATION
Rodrigues I VocelkaArgentinaIoni Bowcher QUALIFIED
Jefferson L OldroydSpainAmy Elsner RENEWAL
Juan A CampainUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer Q NickaGermanyIoni Bowcher NEW
Kaitlin S SergiCanadaAmy Elsner UNQUALIFIED
Clifford K TollnerSpainAmy Elsner NEW
Nicolas S MaletSpainXuxue Feng NEW
Munro K AlbaresRussiaAmy Elsner NEGOTIATION
Adams B IturbideAustraliaStephen Shaw PROPOSAL
Clifford D StensethFranceAnna Fali RENEWAL
Clifford L RoysterBrazilBernardo Dominic NEW
Cody T FlosiSpainBernardo Dominic RENEWAL
Ricardo U GauchoIndiaIvan Magalhaes RENEWAL
Darci Y DarakjyRussiaXuxue Feng QUALIFIED
Misaki J KuskoFranceBernardo Dominic UNQUALIFIED
Nicolas G PoquetteArgentinaIvan Magalhaes NEW
Ashley C StockhamFranceOnyama Limba RENEWAL
Jefferson L DilliardIndiaBernardo Dominic NEGOTIATION
Adams R MarrierFranceXuxue Feng UNQUALIFIED
Salvatore Q FollerCanadaElwin Sharvill PROPOSAL
Emily Y FlosiJapanElwin Sharvill NEGOTIATION
Maisha V CaldareraItalyAsiya Javayant QUALIFIED
Clifford Q TollnerCanadaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody C TollnerUnited KingdomAnna Fali UNQUALIFIED
Aika W SchemmerIndiaElwin Sharvill PROPOSAL
Aika G PaprockiRussiaIoni Bowcher PROPOSAL
Jeanfrancois I PoquetteItalyElwin Sharvill RENEWAL
Kadeem B OstroskyJapanIoni Bowcher RENEWAL
Rodrigues R MorascaRussiaIvan Magalhaes PROPOSAL
Silvio Z GillianUnited KingdomElwin Sharvill NEGOTIATION
Costa X KuskoArgentinaAmy Elsner NEGOTIATION
Ashley T PaprockiIndiaAnna Fali PROPOSAL
Costa O CaldareraJapanBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony W BologniaCanada2026-10-23Dorl, James J Esq NEGOTIATION83Ioni Bowcher
1001Leja A GauchoBrazil2026-10-18Truhlar And Truhlar Attys NEGOTIATION87Amy Elsner
1002James R StensethIndia2026-11-04Benton, John B Jr PROPOSAL68Elwin Sharvill
1003Aika Z RulapaughIndia2026-10-16Morlong Associates QUALIFIED22Xuxue Feng
1004Aika V IturbideSpain2026-10-21Dorl, James J Esq NEGOTIATION91Xuxue Feng
1005Octavia D GillianSpain2026-11-04Dorl, James J Esq PROPOSAL91Asiya Javayant
1006Claire Q DilliardItaly2026-10-11King, Christopher A Esq RENEWAL41Ioni Bowcher
1007Chavez N DilliardJapan2026-10-09Chanay, Jeffrey A Esq NEGOTIATION25Ivan Magalhaes
1008Claire A MaletGermany2026-10-23Chapman, Ross E Esq RENEWAL21Onyama Limba
1009Julie K GarufiFrance2026-10-06Printing Dimensions QUALIFIED70Anna Fali
1010Emily C MarrierItaly2026-10-21Commercial Press NEW36Elwin Sharvill
1011Octavia R TollnerJapan2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED61Anna Fali
1012Aditya Z OstroskyJapan2026-10-08Rousseaux, Michael Esq RENEWAL3Onyama Limba
1013Maisha C GarufiAustralia2026-10-10Chanay, Jeffrey A Esq PROPOSAL3Xuxue Feng
1014Izzy B MaletArgentina2026-10-19Truhlar And Truhlar Attys NEW58Elwin Sharvill
1015Arvin E NickaCanada2026-10-19Chanay, Jeffrey A Esq NEW28Ioni Bowcher
1016Jefferson X BriddickBrazil2026-10-27Feiner Bros UNQUALIFIED69Onyama Limba
1017Mujtaba Y CampainBrazil2026-10-14Dorl, James J Esq RENEWAL54Xuxue Feng
1018Munro V FerenczUnited Kingdom2026-10-29Rangoni Of Florence PROPOSAL91Stephen Shaw
1019Kaitlin C ChuiIndia2026-10-19Rangoni Of Florence NEW78Onyama Limba
1020Adams B FollerRussia2026-10-14Chemel, James L Cpa QUALIFIED90Onyama Limba
1021Salvatore K PerinItaly2026-10-28Chapman, Ross E Esq UNQUALIFIED99Asiya Javayant
1022Aruna H RoysterIndia2026-10-14Chanay, Jeffrey A Esq RENEWAL5Onyama Limba
1023James H VocelkaArgentina2026-10-12Chanay, Jeffrey A Esq QUALIFIED35Stephen Shaw
1024Sinclair M WaycottUnited Kingdom2026-10-16Chemel, James L Cpa RENEWAL73Stephen Shaw
1025Aditya D RulapaughJapan2026-10-29Printing Dimensions NEGOTIATION19Asiya Javayant
1026Johnson J SaylorsAustralia2026-10-17Feiner Bros RENEWAL46Elwin Sharvill
1027Aruna H GillianJapan2026-11-04Feiner Bros NEW52Anna Fali
1028Deepesh F GarufiSpain2026-10-22Truhlar And Truhlar Attys QUALIFIED85Asiya Javayant
1029Ricardo D PaprockiArgentina2026-10-10Chapman, Ross E Esq NEGOTIATION10Stephen Shaw
1030Aruna Y RutaArgentina2026-10-15Printing Dimensions UNQUALIFIED18Ivan Magalhaes
1031Juan T MacleadUnited Kingdom2026-10-10Printing Dimensions NEGOTIATION1Anna Fali
1032Aditya J OstroskyAustralia2026-10-11Chanay, Jeffrey A Esq PROPOSAL59Elwin Sharvill
1033Octavia J ChuiFrance2026-10-18Chanay, Jeffrey A Esq NEW52Elwin Sharvill
1034Darci F SaylorsBrazil2026-10-16King, Christopher A Esq RENEWAL25Elwin Sharvill
1035Smith Z SlusarskiItaly2026-10-20King, Christopher A Esq QUALIFIED96Amy Elsner
1036Ashley P BowleyUnited Kingdom2026-10-27Rangoni Of Florence QUALIFIED66Elwin Sharvill
1037Aika D FollerUnited Kingdom2026-10-11Dorl, James J Esq NEW43Elwin Sharvill
1038Greenwood Q VocelkaGermany2026-10-11Chanay, Jeffrey A Esq RENEWAL81Xuxue Feng
1039Cody U IturbideRussia2026-10-08Printing Dimensions PROPOSAL81Stephen Shaw
1040Izzy A StensethUnited Kingdom2026-10-06Printing Dimensions RENEWAL0Xuxue Feng
1041Aditya U RulapaughSpain2026-10-17Buckley Miller Wright NEW68Elwin Sharvill
1042Adams B IturbideIndia2026-10-22Feiner Bros QUALIFIED92Ioni Bowcher
1043Maria O MaletUnited Kingdom2026-10-14Rousseaux, Michael Esq RENEWAL28Bernardo Dominic
1044Salvatore I DilliardIndia2026-10-24Chemel, James L Cpa PROPOSAL17Bernardo Dominic
1045Leja M DilliardFrance2026-10-11Morlong Associates PROPOSAL51Anna Fali
1046Cody Y SchemmerGermany2026-10-26Chapman, Ross E Esq RENEWAL99Onyama Limba
1047Jones O VocelkaBrazil2026-10-24Chapman, Ross E Esq NEW48Stephen Shaw
1048Isabel U SergiFrance2026-10-30Truhlar And Truhlar Attys QUALIFIED34Onyama Limba
1049Claire O ShinkoJapan2026-10-10Rangoni Of Florence QUALIFIED38Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Clifford X AlbaresAustraliaAmy Elsner RENEWAL
Claire I RoysterGermanyElwin Sharvill UNQUALIFIED
Jefferson W CaldareraJapanStephen Shaw RENEWAL
Emily R NestleSpainBernardo Dominic NEW
Deepesh U MaletSpainXuxue Feng RENEWAL
Salvatore N WhobreyGermanyAmy Elsner PROPOSAL
James V WhobreyRussiaXuxue Feng PROPOSAL
Claire O NickaArgentinaElwin Sharvill NEGOTIATION
Sinclair V SlusarskiAustraliaAsiya Javayant RENEWAL
Adams V FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois W KolmetzSpainIoni Bowcher NEGOTIATION
Greenwood F VenereCanadaBernardo Dominic QUALIFIED
Emily I RutaGermanyXuxue Feng NEGOTIATION
Ashley B GlickUnited KingdomOnyama Limba UNQUALIFIED
Leja K FigeroaBrazilStephen Shaw UNQUALIFIED
Salvatore X StockhamAustraliaStephen Shaw PROPOSAL
Antonio Y GlickIndiaAsiya Javayant UNQUALIFIED
Maria E OldroydSpainAmy Elsner QUALIFIED
Francesco D SergiItalyXuxue Feng NEW
Octavia J PaprockiBrazilAsiya Javayant NEW
Jeanfrancois W FerenczFranceXuxue Feng PROPOSAL
Stacey B SlusarskiCanadaIvan Magalhaes RENEWAL
Francesco P StensethGermanyAnna Fali NEGOTIATION
Darci W RulapaughFranceAmy Elsner PROPOSAL
Francesco V TollnerBrazilAmy Elsner UNQUALIFIED
Ashley C OldroydUnited KingdomXuxue Feng NEGOTIATION
Mayumi S MorascaAustraliaAmy Elsner QUALIFIED
Misaki Q SchemmerBrazilBernardo Dominic UNQUALIFIED
Isabel O FlosiSpainIoni Bowcher QUALIFIED
Munro D GlickRussiaAnna Fali NEGOTIATION
Silvio Y MorascaItalyAmy Elsner NEGOTIATION
Misaki X NestleAustraliaStephen Shaw NEGOTIATION
Kadeem I FerenczIndiaStephen Shaw RENEWAL
Deepesh Q BriddickUnited KingdomBernardo Dominic QUALIFIED
Ivar M SchemmerRussiaAsiya Javayant QUALIFIED
Julie Q DilliardCanadaXuxue Feng NEW
Salvatore I BologniaItalyOnyama Limba QUALIFIED
Claire Q FerenczFranceBernardo Dominic NEW
James R RoysterRussiaElwin Sharvill PROPOSAL
Ricardo V StensethRussiaBernardo Dominic NEGOTIATION
Kadeem L InouyeSpainAmy Elsner QUALIFIED
Smith I MaletSpainAmy Elsner UNQUALIFIED
Chavez B StockhamJapanStephen Shaw UNQUALIFIED
Kadeem I TollnerIndiaAnna Fali NEW
Kaitlin C TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Darci X WaycottArgentinaAmy Elsner QUALIFIED
Johnson G DoeItalyAsiya Javayant UNQUALIFIED
Rodrigues C SchemmerItalyAsiya Javayant NEW
Ivar C MarrierUnited KingdomStephen Shaw PROPOSAL
Stacey S CampainGermanyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Murillo D Paprocki
Tony U Garufi
Maisha N Saylors
Maisha I Caldarera
Julie A Stenseth
Deepesh R Dilliard
Ashley G Butt
Nicolas K Dilliard
Greenwood X Shinko
Aruna Y Venere
Faith S Rulapaugh
Kadeem F Malet
Adams R Doe
Costa X Gaucho
Darci V Sergi
Mayumi S Caudy
Tony W Campain
Sinclair X Stenseth
Wickens G Ruta
Kadeem Y Vocelka
Silvio N Slusarski
Maria V Shinko
Alejandro W Stockham
Leon U Marrier
Cody Q Iturbide
Aditya X Albares
Arvin N Amigon
Izzy N Iturbide
Johnson V Maclead
Ivar B Ferencz
Tony N Schemmer
Francesco V Caudy
Morrow A Waycott
Sinclair H Inouye
Ashley Y Schemmer
Kadeem L Venere
Cody T Gaucho
Mujtaba B Caldarera
Costa X Marrier
Stacey E Iturbide
Juan O Malet
Murillo L Bowley
Jennifer E Caudy
Jefferson G Oldroyd
Adams A Caudy
Rodrigues Q Albares
Leon B Royster
Arvin Y Kusko
Kaitlin H Ostrosky
Aditya Z Dilliard
IdCountryDate
1000France2026-10-25
1001Germany2026-10-15
1002Canada2026-10-16
1003India2026-10-17
1004Argentina2026-10-15
1005France2026-10-17
1006Canada2026-10-25
1007Brazil2026-10-31
1008France2026-10-09
1009Argentina2026-10-07
1010India2026-10-19
1011France2026-10-21
1012Canada2026-10-26
1013Australia2026-11-02
1014Argentina2026-10-12
1015Italy2026-10-25
1016Brazil2026-10-20
1017Germany2026-10-17
1018Germany2026-10-14
1019Germany2026-10-07
1020India2026-10-13
1021France2026-10-10
1022Japan2026-10-25
1023United Kingdom2026-10-17
1024Australia2026-10-07
1025Russia2026-11-02
1026Argentina2026-10-06
1027Australia2026-10-18
1028Brazil2026-10-12
1029Japan2026-10-15
1030Spain2026-10-07
1031Spain2026-10-21
1032Spain2026-10-18
1033Russia2026-11-04
1034Canada2026-11-01
1035India2026-11-01
1036Canada2026-10-13
1037Australia2026-10-25
1038Germany2026-10-29
1039Australia2026-10-14
1040Japan2026-10-15
1041Japan2026-10-23
1042India2026-11-02
1043Spain2026-10-16
1044Italy2026-10-28
1045France2026-10-13
1046Italy2026-10-18
1047Australia2026-11-02
1048Japan2026-11-01
1049India2026-11-03

On-Demand Data

NameIdCountryDate
Francesco N Amigon1000India2026-11-02
Tony B Shinko1001Russia2026-10-31
Kadeem S Vocelka1002Spain2026-10-14
Aruna M Figeroa1003Spain2026-10-16
Maria A Ostrosky1004France2026-10-20
Costa M Royster1005Australia2026-10-07
Maria P Inouye1006Italy2026-10-11
Ricardo B Campain1007Argentina2026-10-25
Jennifer Y Kusko1008Spain2026-11-01
Jones X Caudy1009Germany2026-10-14
Morrow E Ruta1010Japan2026-10-16
Clifford U Chui1011Argentina2026-10-27
Rodrigues E Malet1012United Kingdom2026-10-22
Octavia Y Vocelka1013Spain2026-10-27
Smith V Glick1014Germany2026-10-18
Nicolas U Gillian1015United Kingdom2026-10-11
Salvatore F Malet1016Russia2026-11-03
Smith J Rim1017Brazil2026-10-29
Nicolas X Marrier1018France2026-10-22
Smith N Darakjy1019Germany2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci M FigeroaJapanAnna Fali PROPOSAL
Kadeem X NickaCanadaBernardo Dominic NEW
Costa O StensethArgentinaAmy Elsner NEW
Kadeem L FerenczSpainIvan Magalhaes QUALIFIED
Clifford P WaycottCanadaIvan Magalhaes NEGOTIATION
Rodrigues E KuskoRussiaIvan Magalhaes NEGOTIATION
Greenwood Z WhobreyIndiaElwin Sharvill RENEWAL
Salvatore X GauchoItalyIvan Magalhaes QUALIFIED
Stacey E WaycottBrazilElwin Sharvill NEW
Faith B GillianFranceIvan Magalhaes PROPOSAL
Juan T OldroydItalyAsiya Javayant UNQUALIFIED
Sinclair D SlusarskiSpainAmy Elsner NEW
Jefferson S MacleadIndiaStephen Shaw UNQUALIFIED
Johnson U ButtSpainIvan Magalhaes NEW
Rodrigues V VocelkaGermanyAnna Fali QUALIFIED
Stacey I MarrierSpainIvan Magalhaes UNQUALIFIED
Faith R ButtSpainAnna Fali PROPOSAL
David F WaycottItalyAsiya Javayant PROPOSAL
Jones Z WieserJapanAsiya Javayant PROPOSAL
Morrow C IturbideSpainIvan Magalhaes UNQUALIFIED
Octavia H DarakjyRussiaBernardo Dominic PROPOSAL
Aruna J GillianSpainIoni Bowcher QUALIFIED
Leon X WaycottGermanyIvan Magalhaes PROPOSAL
Tony R GarufiIndiaAsiya Javayant PROPOSAL
Morrow M PaprockiRussiaIvan Magalhaes NEW
Deepesh M PaprockiRussiaElwin Sharvill PROPOSAL
Jeanfrancois O DoeBrazilAnna Fali NEW
Morrow K AmigonGermanyIvan Magalhaes UNQUALIFIED
Tony P GillianJapanOnyama Limba PROPOSAL
Arvin M WieserSpainBernardo Dominic QUALIFIED
Jones O RutaIndiaXuxue Feng UNQUALIFIED
Ashley T AlbaresSpainXuxue Feng QUALIFIED
Francesco H MorascaCanadaStephen Shaw NEGOTIATION
Aruna U CaldareraItalyAmy Elsner UNQUALIFIED
Ashley E FollerCanadaAnna Fali QUALIFIED
Nicolas L RulapaughRussiaIoni Bowcher NEW
Ashley R NickaSpainXuxue Feng UNQUALIFIED
Maria S StensethFranceAmy Elsner NEGOTIATION
Emily E OldroydItalyStephen Shaw QUALIFIED
Salvatore M PaprockiCanadaStephen Shaw NEW

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