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
Jeanfrancois A IturbideAustraliaIvan Magalhaes RENEWAL
Emily Q BologniaFranceAmy Elsner PROPOSAL
Ashley W OldroydUnited KingdomXuxue Feng UNQUALIFIED
Aditya W StensethJapanElwin Sharvill PROPOSAL
Izzy N BologniaArgentinaAmy Elsner QUALIFIED
Deepesh W ChuiUnited KingdomAsiya Javayant RENEWAL
Faith O DilliardAustraliaElwin Sharvill NEW
Ashley P OldroydGermanyAnna Fali QUALIFIED
Chavez F ButtUnited KingdomOnyama Limba PROPOSAL
Jones U SchemmerBrazilOnyama Limba QUALIFIED
Maria D InouyeBrazilIvan Magalhaes QUALIFIED
Maisha G RoysterFranceAnna Fali NEGOTIATION
Jeanfrancois Z StockhamCanadaIoni Bowcher NEW
Costa P CaldareraArgentinaAmy Elsner UNQUALIFIED
Costa P AlbaresCanadaIvan Magalhaes RENEWAL
Cody L ButtAustraliaElwin Sharvill RENEWAL
James T BowleyUnited KingdomAnna Fali RENEWAL
Jennifer A WieserJapanXuxue Feng NEGOTIATION
Rodrigues W OstroskyIndiaXuxue Feng NEGOTIATION
Ashley E CaudyFranceIoni Bowcher RENEWAL
Octavia G NickaGermanyAnna Fali NEW
Morrow R DoeRussiaOnyama Limba NEW
Murillo Z RimRussiaElwin Sharvill QUALIFIED
Ricardo P AlbaresRussiaStephen Shaw PROPOSAL
Greenwood E WieserFranceElwin Sharvill NEW
Maisha C PoquetteIndiaIoni Bowcher UNQUALIFIED
Maisha Y TollnerFranceAnna Fali NEW
Costa S GarufiFranceAsiya Javayant NEGOTIATION
Aditya X WaycottGermanyElwin Sharvill NEGOTIATION
Leon Q RoysterJapanStephen Shaw NEW
Aika O NickaBrazilAsiya Javayant RENEWAL
Wickens V MaletGermanyXuxue Feng NEW
Silvio E KolmetzIndiaIvan Magalhaes UNQUALIFIED
Isabel E StockhamFranceAnna Fali NEGOTIATION
James E PoquetteJapanElwin Sharvill RENEWAL
Isabel S FlosiJapanOnyama Limba PROPOSAL
Wickens X SergiCanadaXuxue Feng RENEWAL
Silvio Y StensethSpainOnyama Limba NEGOTIATION
Jennifer L IturbideRussiaBernardo Dominic PROPOSAL
Antonio R AmigonJapanAmy Elsner RENEWAL
Faith A WaycottBrazilStephen Shaw PROPOSAL
Johnson F SlusarskiFranceIvan Magalhaes RENEWAL
Chavez F FollerAustraliaIvan Magalhaes NEW
Murillo O SchemmerUnited KingdomAnna Fali NEGOTIATION
Julie B FerenczBrazilStephen Shaw RENEWAL
Cody U WieserSpainStephen Shaw NEGOTIATION
Aruna J NestleBrazilXuxue Feng QUALIFIED
Alejandro W RutaCanadaAnna Fali PROPOSAL
Wickens R SergiSpainAmy Elsner PROPOSAL
Munro G IturbideAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily Y IturbideGermanyIvan Magalhaes UNQUALIFIED
Francesco Z WieserIndiaXuxue Feng NEGOTIATION
Murillo Y OldroydItalyAsiya Javayant UNQUALIFIED
Deepesh Q AlbaresArgentinaXuxue Feng RENEWAL
Kaitlin Q MarrierRussiaIvan Magalhaes NEGOTIATION
Francesco P MacleadAustraliaOnyama Limba RENEWAL
Nicolas T VenereJapanAsiya Javayant NEW
Stacey G GillianSpainXuxue Feng NEGOTIATION
Francesco E VenereBrazilIoni Bowcher QUALIFIED
Leja O RimArgentinaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa Z DilliardIndia2026-10-03Rousseaux, Michael Esq UNQUALIFIED87Xuxue Feng
1001Murillo G GillianItaly2026-10-07Rousseaux, Michael Esq NEGOTIATION94Bernardo Dominic
1002Cody Q VocelkaFrance2026-10-10Truhlar And Truhlar Attys NEGOTIATION15Bernardo Dominic
1003Chavez F MorascaFrance2026-10-07Rangoni Of Florence RENEWAL21Ioni Bowcher
1004Alejandro A CampainCanada2026-10-10Feiner Bros RENEWAL23Anna Fali
1005Salvatore I SaylorsBrazil2026-10-06Chemel, James L Cpa QUALIFIED64Xuxue Feng
1006Antonio Y SchemmerIndia2026-09-23Rangoni Of Florence NEW24Anna Fali
1007Aika S GarufiIndia2026-09-25Feiner Bros NEGOTIATION35Ioni Bowcher
1008Antonio V SlusarskiSpain2026-10-10Chanay, Jeffrey A Esq QUALIFIED8Elwin Sharvill
1009Jeanfrancois D FigeroaArgentina2026-10-05Buckley Miller Wright QUALIFIED60Ioni Bowcher
1010Smith F ButtSpain2026-10-13Chemel, James L Cpa RENEWAL22Onyama Limba
1011Cody U TollnerIndia2026-10-14Truhlar And Truhlar Attys NEW62Asiya Javayant
1012Maisha W BologniaSpain2026-09-23Rousseaux, Michael Esq NEW17Stephen Shaw
1013Alejandro C SlusarskiAustralia2026-10-06Truhlar And Truhlar Attys QUALIFIED28Ivan Magalhaes
1014Stacey C MaletFrance2026-10-14Feiner Bros UNQUALIFIED21Onyama Limba
1015Deepesh W BowleyAustralia2026-09-20Truhlar And Truhlar Attys NEGOTIATION40Elwin Sharvill
1016Smith J StensethCanada2026-09-17Chapman, Ross E Esq QUALIFIED92Xuxue Feng
1017Aruna F BowleyArgentina2026-10-09Chanay, Jeffrey A Esq NEGOTIATION27Amy Elsner
1018Isabel G SergiSpain2026-09-24Morlong Associates PROPOSAL12Onyama Limba
1019Munro T OstroskyFrance2026-09-24Dorl, James J Esq RENEWAL11Anna Fali
1020Aditya J GauchoCanada2026-10-13Chapman, Ross E Esq NEW58Xuxue Feng
1021Johnson T WieserAustralia2026-10-16Feltz Printing Service PROPOSAL97Ioni Bowcher
1022Jones Y ChuiGermany2026-10-09Chapman, Ross E Esq UNQUALIFIED86Stephen Shaw
1023Leja Y RimJapan2026-10-03Dorl, James J Esq RENEWAL89Stephen Shaw
1024Jennifer T CampainUnited Kingdom2026-09-24Commercial Press RENEWAL84Bernardo Dominic
1025Ricardo Q SaylorsGermany2026-09-27Chemel, James L Cpa RENEWAL75Ioni Bowcher
1026Jones I KolmetzGermany2026-09-20Chemel, James L Cpa PROPOSAL22Amy Elsner
1027Maisha W SaylorsAustralia2026-09-19Chapman, Ross E Esq RENEWAL49Bernardo Dominic
1028Mayumi A VocelkaCanada2026-10-05Feltz Printing Service PROPOSAL35Onyama Limba
1029Francesco T AlbaresCanada2026-10-04Rousseaux, Michael Esq QUALIFIED85Bernardo Dominic
1030Wickens Z GarufiBrazil2026-09-20Chemel, James L Cpa UNQUALIFIED43Xuxue Feng
1031Munro H StensethAustralia2026-09-19Rousseaux, Michael Esq PROPOSAL66Xuxue Feng
1032James W AmigonSpain2026-09-24Chapman, Ross E Esq RENEWAL23Anna Fali
1033James L NickaBrazil2026-10-15Rousseaux, Michael Esq NEW25Asiya Javayant
1034Adams C FigeroaCanada2026-09-25King, Christopher A Esq RENEWAL96Ivan Magalhaes
1035Kaitlin K RutaIndia2026-10-04Morlong Associates NEW25Onyama Limba
1036Leon K AlbaresIndia2026-09-20Rousseaux, Michael Esq UNQUALIFIED86Xuxue Feng
1037David Q VocelkaUnited Kingdom2026-09-21Feltz Printing Service UNQUALIFIED80Ioni Bowcher
1038David R RimUnited Kingdom2026-09-30King, Christopher A Esq RENEWAL33Ivan Magalhaes
1039Nicolas V GauchoIndia2026-10-04Dorl, James J Esq NEW12Bernardo Dominic
1040Aruna Y IturbideGermany2026-09-26Buckley Miller Wright NEGOTIATION31Elwin Sharvill
1041Cody J FigeroaUnited Kingdom2026-09-26Feltz Printing Service UNQUALIFIED0Amy Elsner
1042Johnson X SchemmerFrance2026-10-04Truhlar And Truhlar Attys NEW54Bernardo Dominic
1043Ricardo A VenereSpain2026-09-20King, Christopher A Esq NEW87Amy Elsner
1044Greenwood F IturbideGermany2026-10-07Chapman, Ross E Esq QUALIFIED58Ivan Magalhaes
1045Leon H OstroskyCanada2026-09-24Truhlar And Truhlar Attys NEGOTIATION35Ioni Bowcher
1046Jones M FollerBrazil2026-10-03Rangoni Of Florence RENEWAL41Ivan Magalhaes
1047Isabel K VenereRussia2026-09-28Chanay, Jeffrey A Esq QUALIFIED98Amy Elsner
1048Ashley U AmigonFrance2026-10-16Buckley Miller Wright UNQUALIFIED88Ioni Bowcher
1049Kaitlin D AmigonAustralia2026-10-12Buckley Miller Wright UNQUALIFIED65Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Murillo F MaletCanadaAsiya Javayant UNQUALIFIED
David H SchemmerAustraliaOnyama Limba RENEWAL
Kadeem M KolmetzIndiaStephen Shaw PROPOSAL
Isabel J MarrierIndiaElwin Sharvill NEW
Jefferson Q WaycottGermanyAnna Fali RENEWAL
Misaki D RutaGermanyXuxue Feng RENEWAL
Munro Y TollnerArgentinaOnyama Limba UNQUALIFIED
Wickens F FerenczBrazilStephen Shaw NEGOTIATION
David F InouyeUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois T MarrierJapanElwin Sharvill UNQUALIFIED
Jennifer N InouyeIndiaXuxue Feng QUALIFIED
Faith Q TollnerAustraliaStephen Shaw PROPOSAL
Juan L VenereIndiaXuxue Feng NEGOTIATION
Jones Q SlusarskiSpainIvan Magalhaes PROPOSAL
Mujtaba L ChuiSpainAnna Fali PROPOSAL
Maria G FerenczBrazilBernardo Dominic NEW
Adams I PoquetteCanadaIvan Magalhaes UNQUALIFIED
Munro I MorascaSpainXuxue Feng QUALIFIED
Isabel C DoeFranceElwin Sharvill UNQUALIFIED
Mujtaba D GarufiRussiaStephen Shaw NEGOTIATION
Silvio A ButtGermanyAnna Fali QUALIFIED
Mujtaba X PaprockiBrazilXuxue Feng NEGOTIATION
Antonio Z DoeArgentinaAmy Elsner NEW
Ashley X PoquetteGermanyElwin Sharvill PROPOSAL
Rodrigues K FollerRussiaAnna Fali PROPOSAL
Francesco A AmigonItalyBernardo Dominic NEW
Faith H AmigonUnited KingdomAsiya Javayant QUALIFIED
Octavia H PerinItalyXuxue Feng UNQUALIFIED
Munro I MarrierJapanXuxue Feng PROPOSAL
Ricardo M GlickIndiaBernardo Dominic QUALIFIED
Kadeem U TollnerCanadaBernardo Dominic NEW
Julie H RutaAustraliaStephen Shaw RENEWAL
Wickens Y FollerJapanAsiya Javayant NEGOTIATION
Salvatore W BologniaAustraliaAnna Fali UNQUALIFIED
Izzy V SlusarskiItalyIvan Magalhaes NEW
Ivar E StockhamAustraliaStephen Shaw NEW
Juan J GarufiSpainAnna Fali UNQUALIFIED
Faith O VenereSpainIvan Magalhaes UNQUALIFIED
Octavia K MacleadFranceAsiya Javayant NEW
Morrow H SchemmerFranceXuxue Feng QUALIFIED
Chavez X GauchoRussiaBernardo Dominic UNQUALIFIED
Salvatore R ShinkoFranceBernardo Dominic PROPOSAL
Alejandro C BowleyGermanyIoni Bowcher NEW
Salvatore C PerinIndiaElwin Sharvill QUALIFIED
Jennifer I ShinkoUnited KingdomXuxue Feng QUALIFIED
Emily X AmigonBrazilIoni Bowcher NEW
James Y BriddickJapanAnna Fali NEW
James G GauchoArgentinaBernardo Dominic RENEWAL
Juan V VenereCanadaBernardo Dominic QUALIFIED
Deepesh I OstroskyArgentinaElwin Sharvill PROPOSAL
Frozen Columns
Name
Smith P Shinko
David G Glick
Mujtaba Y Whobrey
Ricardo W Waycott
Antonio A Stockham
Emily J Chui
Johnson C Gaucho
Rodrigues S Butt
Jennifer Z Flosi
Cody R Maclead
Jefferson P Malet
Jefferson S Butt
Antonio N Rulapaugh
Ivar B Perin
Arvin O Stenseth
Izzy F Marrier
Salvatore H Inouye
Mujtaba A Venere
Mujtaba C Darakjy
Leon T Shinko
Kadeem J Saylors
Costa P Morasca
Jones X Butt
Cody X Iturbide
Cody I Darakjy
Aditya U Rulapaugh
Ivar Z Stenseth
Alejandro S Whobrey
Maisha M Rim
Faith D Tollner
Cody Q Tollner
Francesco G Albares
Izzy R Waycott
Deepesh Y Gaucho
Faith A Paprocki
Darci L Flosi
Johnson T Glick
Leon M Sergi
Octavia T Chui
Aruna U Stenseth
Aika P Rulapaugh
Aika E Royster
Mujtaba A Shinko
Emily I Nicka
Jeanfrancois A Rulapaugh
Octavia J Figeroa
Tony H Kusko
Ivar P Royster
Jones W Shinko
Misaki F Vocelka
IdCountryDate
1000Australia2026-09-19
1001Italy2026-10-04
1002Canada2026-09-28
1003Australia2026-09-22
1004Brazil2026-09-18
1005India2026-09-24
1006France2026-09-25
1007Japan2026-09-22
1008Italy2026-10-06
1009India2026-09-25
1010Russia2026-09-21
1011Italy2026-09-30
1012Brazil2026-10-09
1013Australia2026-09-20
1014United Kingdom2026-09-21
1015Brazil2026-09-18
1016Japan2026-09-30
1017France2026-10-11
1018India2026-10-15
1019Russia2026-09-22
1020Brazil2026-09-23
1021Canada2026-10-02
1022Italy2026-10-06
1023Spain2026-10-10
1024Spain2026-10-15
1025Russia2026-10-03
1026Argentina2026-10-09
1027Canada2026-10-10
1028Italy2026-10-14
1029Japan2026-09-18
1030Argentina2026-09-29
1031Italy2026-10-01
1032Canada2026-10-15
1033Australia2026-10-11
1034Australia2026-10-09
1035Italy2026-10-14
1036Canada2026-10-04
1037United Kingdom2026-09-24
1038India2026-10-10
1039United Kingdom2026-10-11
1040Argentina2026-09-30
1041United Kingdom2026-10-14
1042Australia2026-10-15
1043Spain2026-10-04
1044United Kingdom2026-09-25
1045Spain2026-09-18
1046Argentina2026-10-01
1047Japan2026-09-22
1048Russia2026-10-09
1049Italy2026-10-04

On-Demand Data

NameIdCountryDate
Kadeem L Albares1000Canada2026-10-14
Ivar Z Kusko1001India2026-09-24
Mujtaba R Garufi1002United Kingdom2026-10-04
Kadeem W Marrier1003Russia2026-09-19
Mujtaba I Rulapaugh1004Argentina2026-09-20
Isabel I Vocelka1005Argentina2026-09-20
Stacey E Foller1006Italy2026-10-13
Wickens Y Campain1007India2026-10-05
James D Royster1008Italy2026-10-05
Kadeem H Iturbide1009United Kingdom2026-09-23
Tony W Venere1010United Kingdom2026-09-18
Ricardo C Perin1011Argentina2026-10-09
Mujtaba H Bolognia1012Russia2026-10-13
Kaitlin V Shinko1013Spain2026-09-22
Clifford A Stenseth1014Russia2026-09-19
Kaitlin W Glick1015Argentina2026-09-29
Leon P Butt1016France2026-10-04
Wickens Z Ferencz1017Germany2026-10-09
Jones P Chui1018Germany2026-10-13
Octavia Y Garufi1019Italy2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas N OldroydJapanBernardo Dominic PROPOSAL
Deepesh T GlickArgentinaIvan Magalhaes UNQUALIFIED
Isabel O FerenczFranceIoni Bowcher QUALIFIED
James H MaletAustraliaXuxue Feng NEGOTIATION
Mujtaba Q SchemmerFranceXuxue Feng PROPOSAL
Emily C GarufiSpainIvan Magalhaes QUALIFIED
Maria A GauchoJapanAmy Elsner RENEWAL
Aruna L SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio R StockhamIndiaAmy Elsner NEW
Adams D TollnerGermanyAsiya Javayant RENEWAL
Munro F FlosiFranceAmy Elsner QUALIFIED
Chavez C PoquetteRussiaAsiya Javayant PROPOSAL
Mayumi V RulapaughRussiaXuxue Feng UNQUALIFIED
Alejandro W DoeRussiaBernardo Dominic UNQUALIFIED
Salvatore B FerenczAustraliaIvan Magalhaes NEGOTIATION
Jones O KuskoCanadaStephen Shaw UNQUALIFIED
Aditya Y TollnerJapanAmy Elsner NEGOTIATION
Ashley T NickaSpainStephen Shaw NEGOTIATION
Maria U RoysterBrazilElwin Sharvill RENEWAL
Wickens T WaycottRussiaStephen Shaw PROPOSAL
Silvio Z OstroskyArgentinaElwin Sharvill PROPOSAL
Octavia L SlusarskiAustraliaStephen Shaw QUALIFIED
Nicolas E BowleyRussiaIoni Bowcher RENEWAL
Kadeem Q CaudyArgentinaStephen Shaw PROPOSAL
Chavez D KolmetzSpainAnna Fali NEW
Misaki I GillianRussiaBernardo Dominic NEW
Octavia S PerinJapanBernardo Dominic QUALIFIED
Claire I SaylorsBrazilXuxue Feng NEW
Greenwood I DarakjyGermanyElwin Sharvill RENEWAL
Aika R SaylorsGermanyIvan Magalhaes RENEWAL
Arvin Y VocelkaGermanyIoni Bowcher RENEWAL
Munro M PerinCanadaElwin Sharvill NEGOTIATION
Antonio F RoysterBrazilBernardo Dominic RENEWAL
Tony J SchemmerArgentinaBernardo Dominic UNQUALIFIED
David Q OstroskyCanadaXuxue Feng QUALIFIED
Leon F AmigonAustraliaElwin Sharvill NEGOTIATION
Leon D SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Aditya V VocelkaBrazilXuxue Feng QUALIFIED
Julie O FigeroaBrazilIoni Bowcher NEW
Izzy C ShinkoItalyStephen Shaw 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>