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
Octavia Q RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Maisha I StensethAustraliaBernardo Dominic NEGOTIATION
Kadeem A StockhamGermanyElwin Sharvill QUALIFIED
Kadeem X SaylorsAustraliaAmy Elsner QUALIFIED
Costa S DarakjyAustraliaAmy Elsner NEGOTIATION
Aditya Q CampainSpainStephen Shaw NEGOTIATION
Silvio L KuskoCanadaAnna Fali QUALIFIED
Adams Q DilliardArgentinaXuxue Feng PROPOSAL
Tony R PoquetteGermanyAsiya Javayant NEW
Jones P MaletCanadaXuxue Feng UNQUALIFIED
Alejandro T GauchoGermanyAsiya Javayant PROPOSAL
Aditya M VenereGermanyStephen Shaw NEW
Izzy W RoysterGermanyAsiya Javayant QUALIFIED
David V RoysterRussiaBernardo Dominic NEGOTIATION
Jones Y GarufiIndiaBernardo Dominic RENEWAL
Arvin I BriddickItalyAmy Elsner NEGOTIATION
Stacey B PaprockiCanadaIoni Bowcher UNQUALIFIED
Mayumi O SlusarskiSpainAsiya Javayant PROPOSAL
Maria N OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin J DoeSpainAmy Elsner RENEWAL
Francesco W MaletFranceAnna Fali QUALIFIED
Silvio J DilliardArgentinaIoni Bowcher RENEWAL
Claire Y GillianFranceIoni Bowcher PROPOSAL
Aruna M KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer Z FerenczCanadaOnyama Limba QUALIFIED
Sinclair H WaycottSpainElwin Sharvill UNQUALIFIED
Kadeem E PoquetteItalyStephen Shaw PROPOSAL
Izzy O PoquetteCanadaAsiya Javayant QUALIFIED
Jefferson E WaycottJapanAnna Fali UNQUALIFIED
Costa F MaletJapanIvan Magalhaes NEGOTIATION
Maisha X ButtIndiaAnna Fali RENEWAL
Jeanfrancois I MacleadIndiaAmy Elsner QUALIFIED
Leja K IturbideCanadaAnna Fali QUALIFIED
Rodrigues O IturbideUnited KingdomStephen Shaw UNQUALIFIED
James Z BologniaIndiaAmy Elsner NEGOTIATION
Smith O SchemmerUnited KingdomXuxue Feng NEW
Darci F MacleadIndiaStephen Shaw QUALIFIED
Chavez B KolmetzArgentinaOnyama Limba PROPOSAL
Ivar X VocelkaGermanyOnyama Limba UNQUALIFIED
Leja B FigeroaIndiaBernardo Dominic RENEWAL
Emily V SlusarskiCanadaElwin Sharvill RENEWAL
Misaki U PaprockiGermanyXuxue Feng UNQUALIFIED
Maria Z BowleyArgentinaIvan Magalhaes RENEWAL
Greenwood P StensethBrazilOnyama Limba NEGOTIATION
Alejandro Q MaletGermanyXuxue Feng PROPOSAL
Nicolas N IturbideFranceIoni Bowcher UNQUALIFIED
Salvatore L PerinArgentinaStephen Shaw QUALIFIED
Isabel E StensethBrazilBernardo Dominic RENEWAL
Cody R StensethUnited KingdomOnyama Limba RENEWAL
Kaitlin C TollnerArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones H CampainFranceOnyama Limba QUALIFIED
Rodrigues K RimCanadaIvan Magalhaes UNQUALIFIED
Arvin V CaudyBrazilAsiya Javayant RENEWAL
Nicolas P CaldareraJapanXuxue Feng RENEWAL
Misaki N FlosiUnited KingdomBernardo Dominic NEGOTIATION
Nicolas J OstroskyCanadaAnna Fali NEGOTIATION
Kaitlin U VenereFranceIvan Magalhaes RENEWAL
Wickens E AlbaresBrazilIvan Magalhaes NEW
Misaki V KuskoRussiaXuxue Feng QUALIFIED
Munro E GillianItalyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki Z GarufiUnited Kingdom2026-10-02Rousseaux, Michael Esq QUALIFIED93Bernardo Dominic
1001Isabel C IturbideAustralia2026-09-25Feiner Bros NEW78Anna Fali
1002Mayumi H NestleFrance2026-09-24Benton, John B Jr NEGOTIATION14Ioni Bowcher
1003Rodrigues B FerenczGermany2026-10-07Truhlar And Truhlar Attys UNQUALIFIED8Ivan Magalhaes
1004Ricardo W KuskoGermany2026-10-08Commercial Press QUALIFIED92Ioni Bowcher
1005Silvio B OldroydAustralia2026-10-10Benton, John B Jr PROPOSAL68Stephen Shaw
1006Adams Z BowleySpain2026-10-02Commercial Press RENEWAL40Asiya Javayant
1007Ricardo D CaldareraRussia2026-10-07Chemel, James L Cpa RENEWAL94Ioni Bowcher
1008Mayumi S DilliardJapan2026-09-30Commercial Press UNQUALIFIED89Amy Elsner
1009Maisha B WhobreyFrance2026-09-29Truhlar And Truhlar Attys UNQUALIFIED95Onyama Limba
1010Alejandro B WaycottCanada2026-10-01Rangoni Of Florence PROPOSAL40Elwin Sharvill
1011Emily N GarufiFrance2026-10-12Chemel, James L Cpa RENEWAL7Anna Fali
1012Smith Y NickaBrazil2026-09-26Chemel, James L Cpa NEW45Stephen Shaw
1013James V ChuiFrance2026-10-04Feiner Bros QUALIFIED74Asiya Javayant
1014Izzy I BriddickRussia2026-09-19Commercial Press NEW88Amy Elsner
1015James L RutaArgentina2026-09-27Printing Dimensions PROPOSAL71Bernardo Dominic
1016Ricardo G NestleJapan2026-10-11Benton, John B Jr QUALIFIED12Stephen Shaw
1017Mayumi U MaletAustralia2026-09-27Commercial Press UNQUALIFIED8Ioni Bowcher
1018Ricardo Y ShinkoIndia2026-09-24Feiner Bros NEW69Ivan Magalhaes
1019Ashley F DoeUnited Kingdom2026-09-27King, Christopher A Esq NEGOTIATION8Stephen Shaw
1020Jeanfrancois Z NickaArgentina2026-10-09Truhlar And Truhlar Attys NEGOTIATION44Ioni Bowcher
1021Leja S FollerGermany2026-10-04Chemel, James L Cpa PROPOSAL85Bernardo Dominic
1022Adams J IturbideRussia2026-10-15Benton, John B Jr NEW73Bernardo Dominic
1023Rodrigues F AmigonBrazil2026-10-01Feiner Bros RENEWAL86Bernardo Dominic
1024Ashley V GillianRussia2026-10-16Chapman, Ross E Esq NEW25Onyama Limba
1025Deepesh J MarrierArgentina2026-10-18Printing Dimensions NEW99Bernardo Dominic
1026Misaki Q TollnerFrance2026-10-06Buckley Miller Wright NEW13Elwin Sharvill
1027Smith I MarrierCanada2026-09-20Feiner Bros PROPOSAL30Amy Elsner
1028Kaitlin O MorascaBrazil2026-10-02Chanay, Jeffrey A Esq RENEWAL90Amy Elsner
1029Jennifer S ButtCanada2026-10-08Feiner Bros QUALIFIED83Xuxue Feng
1030Maria K DarakjyCanada2026-09-19Dorl, James J Esq PROPOSAL2Bernardo Dominic
1031Isabel V PaprockiJapan2026-10-08Printing Dimensions NEGOTIATION31Amy Elsner
1032Octavia S StockhamAustralia2026-10-17Rousseaux, Michael Esq PROPOSAL29Elwin Sharvill
1033Tony G GlickFrance2026-09-26Dorl, James J Esq PROPOSAL97Ioni Bowcher
1034Stacey J MaletAustralia2026-10-17Chanay, Jeffrey A Esq RENEWAL60Xuxue Feng
1035Tony Q FerenczUnited Kingdom2026-10-18Rangoni Of Florence NEGOTIATION16Asiya Javayant
1036Mujtaba R RoysterIndia2026-10-11Printing Dimensions NEGOTIATION51Xuxue Feng
1037Leon X CampainBrazil2026-10-04Rousseaux, Michael Esq NEW48Amy Elsner
1038Aika Y FollerJapan2026-10-01Commercial Press PROPOSAL13Stephen Shaw
1039Murillo B VocelkaGermany2026-09-21Dorl, James J Esq NEW18Anna Fali
1040Izzy G RimRussia2026-10-06Feiner Bros NEW86Elwin Sharvill
1041Misaki T StockhamIndia2026-09-19Chanay, Jeffrey A Esq QUALIFIED77Ioni Bowcher
1042Munro P BriddickRussia2026-09-26Chapman, Ross E Esq UNQUALIFIED80Amy Elsner
1043Claire D RoysterIndia2026-10-10Rousseaux, Michael Esq NEW67Xuxue Feng
1044Isabel E NickaBrazil2026-10-06Benton, John B Jr NEGOTIATION8Xuxue Feng
1045Cody R FlosiAustralia2026-10-01Chapman, Ross E Esq UNQUALIFIED69Asiya Javayant
1046Greenwood E PoquetteRussia2026-10-18Rousseaux, Michael Esq UNQUALIFIED97Bernardo Dominic
1047Isabel I NestleUnited Kingdom2026-09-30King, Christopher A Esq UNQUALIFIED82Ivan Magalhaes
1048Isabel W NestleUnited Kingdom2026-10-09Rousseaux, Michael Esq NEW92Asiya Javayant
1049Wickens O FollerItaly2026-10-09Truhlar And Truhlar Attys UNQUALIFIED53Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Q CaldareraRussiaElwin Sharvill NEGOTIATION
Nicolas O ShinkoJapanElwin Sharvill QUALIFIED
Izzy I NickaArgentinaAsiya Javayant NEGOTIATION
Tony H ChuiUnited KingdomBernardo Dominic QUALIFIED
Salvatore Y NickaUnited KingdomIvan Magalhaes NEGOTIATION
Ashley L InouyeBrazilOnyama Limba NEW
Ashley I TollnerBrazilAmy Elsner UNQUALIFIED
Chavez V CaudySpainAsiya Javayant NEGOTIATION
Murillo M BriddickItalyIvan Magalhaes NEGOTIATION
Jennifer Y RulapaughUnited KingdomOnyama Limba NEGOTIATION
Antonio W DoeJapanXuxue Feng RENEWAL
Stacey G MacleadJapanStephen Shaw NEGOTIATION
Wickens V ShinkoRussiaXuxue Feng PROPOSAL
Julie K SlusarskiBrazilIvan Magalhaes PROPOSAL
Jones W GillianCanadaStephen Shaw UNQUALIFIED
Alejandro G AlbaresJapanAmy Elsner UNQUALIFIED
Cody H RulapaughGermanyXuxue Feng QUALIFIED
Aika P NickaSpainAmy Elsner RENEWAL
Ricardo K PaprockiIndiaAnna Fali NEW
Ivar C RimUnited KingdomIvan Magalhaes NEGOTIATION
Maria B RimIndiaAsiya Javayant RENEWAL
Morrow D KuskoCanadaElwin Sharvill QUALIFIED
Stacey C CampainSpainAmy Elsner UNQUALIFIED
Cody L KolmetzAustraliaXuxue Feng UNQUALIFIED
Johnson D WieserCanadaIvan Magalhaes NEGOTIATION
Munro E StensethJapanOnyama Limba UNQUALIFIED
Misaki O BriddickItalyXuxue Feng QUALIFIED
Jeanfrancois G NickaIndiaXuxue Feng RENEWAL
Jennifer Y SchemmerUnited KingdomStephen Shaw RENEWAL
David T BologniaFranceIvan Magalhaes PROPOSAL
Cody U StensethSpainAmy Elsner UNQUALIFIED
Alejandro J AlbaresCanadaOnyama Limba NEGOTIATION
Mayumi F DilliardAustraliaElwin Sharvill RENEWAL
Rodrigues F ChuiUnited KingdomOnyama Limba RENEWAL
Nicolas Q FerenczCanadaIvan Magalhaes RENEWAL
Sinclair V SaylorsSpainBernardo Dominic QUALIFIED
Wickens Q CaldareraBrazilIvan Magalhaes QUALIFIED
Stacey O BriddickIndiaAmy Elsner NEW
Aruna P StensethBrazilIoni Bowcher PROPOSAL
Smith V FlosiGermanyIoni Bowcher NEGOTIATION
Smith W NestleAustraliaBernardo Dominic UNQUALIFIED
Antonio S GauchoCanadaElwin Sharvill QUALIFIED
Cody H MorascaSpainBernardo Dominic RENEWAL
Mayumi C FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Costa A VenereFranceElwin Sharvill UNQUALIFIED
Aruna D PaprockiFranceAmy Elsner NEGOTIATION
Alejandro L FigeroaArgentinaIoni Bowcher NEGOTIATION
Darci L WieserGermanyAsiya Javayant UNQUALIFIED
Ricardo Y BowleyJapanIoni Bowcher NEW
Ashley W GlickRussiaAnna Fali RENEWAL
Frozen Columns
Name
Sinclair O Malet
James K Schemmer
Stacey G Flosi
Rodrigues W Stockham
Julie V Ruta
Aika K Paprocki
Ivar Y Caudy
Leja Y Slusarski
Misaki C Albares
Arvin G Morasca
Mujtaba E Slusarski
James A Bolognia
Tony K Bolognia
Ashley C Garufi
Faith W Glick
Ricardo Y Bowley
Claire Y Malet
Morrow E Nicka
Juan Q Schemmer
Leja E Royster
Aruna H Ruta
Adams I Briddick
Julie P Marrier
Greenwood J Albares
Antonio X Garufi
Costa C Foller
Morrow B Saylors
Ashley M Royster
Sinclair C Flosi
Maisha O Kusko
Aditya Q Dilliard
Mujtaba T Campain
Aditya P Sergi
Jennifer C Chui
Jeanfrancois F Kolmetz
Deepesh L Saylors
Maisha E Marrier
Nicolas N Whobrey
Mujtaba T Malet
Murillo I Dilliard
James E Ruta
Rodrigues G Gillian
David Y Malet
James L Schemmer
Kaitlin Q Rulapaugh
Morrow T Flosi
Costa Z Royster
Silvio W Ostrosky
Claire X Rim
Aditya M Doe
IdCountryDate
1000Canada2026-09-30
1001Argentina2026-09-21
1002Canada2026-09-27
1003Canada2026-10-10
1004Italy2026-10-02
1005United Kingdom2026-10-17
1006United Kingdom2026-10-05
1007Australia2026-10-13
1008Spain2026-10-08
1009Brazil2026-10-03
1010Argentina2026-09-28
1011United Kingdom2026-10-01
1012Spain2026-10-06
1013Argentina2026-10-01
1014Japan2026-09-29
1015Russia2026-09-19
1016Japan2026-10-06
1017Russia2026-09-29
1018Russia2026-10-01
1019Brazil2026-09-27
1020Japan2026-10-05
1021Argentina2026-09-29
1022Australia2026-10-05
1023France2026-09-20
1024India2026-10-15
1025Russia2026-09-28
1026Australia2026-10-17
1027Argentina2026-09-19
1028Spain2026-10-04
1029India2026-10-12
1030Russia2026-10-10
1031India2026-10-16
1032Spain2026-09-24
1033United Kingdom2026-09-29
1034Brazil2026-10-05
1035Russia2026-10-03
1036France2026-10-05
1037Italy2026-09-23
1038Italy2026-10-03
1039Argentina2026-10-04
1040Germany2026-09-24
1041France2026-09-22
1042Italy2026-10-18
1043Spain2026-10-17
1044France2026-10-09
1045Russia2026-10-16
1046Australia2026-10-03
1047Spain2026-10-12
1048Japan2026-10-16
1049Argentina2026-09-26

On-Demand Data

NameIdCountryDate
Silvio L Paprocki1000France2026-09-27
Tony P Butt1001Australia2026-10-06
Jones A Shinko1002Canada2026-09-28
Kaitlin T Garufi1003Russia2026-10-09
Deepesh K Malet1004Japan2026-09-29
Faith H Slusarski1005Russia2026-10-08
Antonio D Stenseth1006Germany2026-10-05
Cody A Dilliard1007Japan2026-09-25
Ivar S Nicka1008Australia2026-10-15
Izzy N Butt1009Italy2026-09-22
Silvio N Ostrosky1010Germany2026-10-13
Kadeem Z Glick1011Russia2026-09-26
Ricardo P Foller1012Australia2026-09-19
Izzy B Poquette1013France2026-10-15
Aruna W Glick1014United Kingdom2026-10-18
Chavez A Flosi1015Germany2026-10-11
Chavez B Inouye1016Italy2026-10-05
Ricardo U Tollner1017United Kingdom2026-09-28
Jeanfrancois V Venere1018France2026-09-26
Leja E Ferencz1019India2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki X TollnerCanadaAnna Fali UNQUALIFIED
Izzy M WaycottItalyXuxue Feng RENEWAL
Jeanfrancois T GlickFranceIoni Bowcher UNQUALIFIED
Juan Q ShinkoCanadaIoni Bowcher UNQUALIFIED
Isabel W SergiCanadaIvan Magalhaes PROPOSAL
Nicolas Q AlbaresArgentinaAsiya Javayant NEGOTIATION
Izzy Z FollerFranceAsiya Javayant NEW
Julie T PoquetteGermanyIvan Magalhaes UNQUALIFIED
Kadeem U OldroydJapanXuxue Feng UNQUALIFIED
Leja J InouyeGermanyOnyama Limba UNQUALIFIED
David T WhobreyRussiaXuxue Feng RENEWAL
Francesco E GauchoIndiaIoni Bowcher RENEWAL
Greenwood V RoysterFranceIoni Bowcher NEGOTIATION
Juan P FlosiBrazilBernardo Dominic PROPOSAL
Silvio Z NestleGermanyIvan Magalhaes NEW
Jefferson X OldroydFranceAmy Elsner RENEWAL
Misaki S MorascaSpainXuxue Feng QUALIFIED
Munro T OstroskyFranceAmy Elsner NEW
Aruna R WaycottAustraliaBernardo Dominic PROPOSAL
Costa Q SaylorsItalyElwin Sharvill NEW
Greenwood W DoeIndiaAsiya Javayant UNQUALIFIED
Chavez R CampainBrazilOnyama Limba RENEWAL
Leon T WieserSpainIvan Magalhaes NEW
Octavia B RutaCanadaIoni Bowcher UNQUALIFIED
Aruna Y GlickUnited KingdomAsiya Javayant QUALIFIED
Maisha F WhobreyGermanyOnyama Limba NEW
Aditya C GauchoBrazilOnyama Limba PROPOSAL
Smith N AmigonCanadaBernardo Dominic NEW
Faith K FerenczGermanyAsiya Javayant UNQUALIFIED
Jones S MorascaCanadaAsiya Javayant NEGOTIATION
Ivar V KolmetzFranceAnna Fali QUALIFIED
Munro A DoeRussiaAsiya Javayant PROPOSAL
Leon E MacleadCanadaOnyama Limba NEW
Juan J ShinkoSpainElwin Sharvill QUALIFIED
Kadeem L DarakjyJapanStephen Shaw QUALIFIED
Wickens C FerenczAustraliaStephen Shaw PROPOSAL
Arvin K BriddickBrazilIvan Magalhaes QUALIFIED
Clifford D DilliardCanadaAnna Fali UNQUALIFIED
Jefferson M OstroskyGermanyAmy Elsner NEW
Silvio O MarrierIndiaOnyama Limba 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>