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
Murillo G GauchoIndiaIoni Bowcher UNQUALIFIED
Nicolas I BriddickBrazilIoni Bowcher NEGOTIATION
Misaki B GauchoFranceOnyama Limba QUALIFIED
Maisha M CaldareraItalyAsiya Javayant PROPOSAL
Aika G RimFranceXuxue Feng UNQUALIFIED
Costa D InouyeArgentinaAnna Fali RENEWAL
Jennifer F OldroydJapanIvan Magalhaes QUALIFIED
Ivar F InouyeItalyIvan Magalhaes NEGOTIATION
Aruna I WaycottRussiaBernardo Dominic NEW
Greenwood P StockhamJapanBernardo Dominic RENEWAL
Clifford O FlosiRussiaXuxue Feng PROPOSAL
Mayumi U FigeroaAustraliaXuxue Feng PROPOSAL
Cody Y KuskoGermanyIoni Bowcher RENEWAL
Ricardo E StensethArgentinaIoni Bowcher UNQUALIFIED
Sinclair H CaldareraFranceAnna Fali NEGOTIATION
Mujtaba P BowleyIndiaIvan Magalhaes UNQUALIFIED
Maisha L TollnerItalyAsiya Javayant UNQUALIFIED
Cody Z DarakjyIndiaXuxue Feng NEW
Mujtaba J MorascaUnited KingdomBernardo Dominic PROPOSAL
Mujtaba L RutaAustraliaOnyama Limba NEW
Maisha Z PoquetteRussiaAnna Fali UNQUALIFIED
Johnson X PaprockiBrazilIvan Magalhaes PROPOSAL
Silvio T MaletItalyAmy Elsner UNQUALIFIED
Misaki E PoquetteAustraliaElwin Sharvill UNQUALIFIED
Silvio Z MorascaIndiaXuxue Feng UNQUALIFIED
Jefferson M CaudyIndiaAsiya Javayant PROPOSAL
Silvio M MacleadRussiaOnyama Limba QUALIFIED
Maisha H StockhamIndiaAnna Fali QUALIFIED
Kaitlin A PerinArgentinaElwin Sharvill PROPOSAL
Cody T MarrierGermanyAnna Fali RENEWAL
Greenwood A BowleyBrazilAnna Fali RENEWAL
Salvatore G OldroydItalyAsiya Javayant RENEWAL
Aika J DarakjyBrazilOnyama Limba RENEWAL
Costa R OldroydGermanyStephen Shaw NEW
Mayumi Y ChuiFranceElwin Sharvill NEGOTIATION
Nicolas M GillianFranceStephen Shaw UNQUALIFIED
Maisha X NickaSpainIoni Bowcher NEW
Antonio S NickaCanadaXuxue Feng NEW
Morrow F NickaItalyAmy Elsner QUALIFIED
Maria K DoeIndiaAnna Fali NEW
Morrow B MarrierFranceAmy Elsner UNQUALIFIED
Kaitlin I MarrierGermanyXuxue Feng UNQUALIFIED
Mujtaba J OstroskyBrazilBernardo Dominic QUALIFIED
Jennifer Y RimSpainBernardo Dominic PROPOSAL
Aika J VocelkaCanadaIoni Bowcher NEGOTIATION
Nicolas W AlbaresAustraliaStephen Shaw NEW
Deepesh P PoquetteBrazilAmy Elsner PROPOSAL
Munro X WaycottArgentinaBernardo Dominic QUALIFIED
Darci P MarrierFranceBernardo Dominic QUALIFIED
Aditya T KuskoArgentinaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin V MarrierAustraliaElwin Sharvill UNQUALIFIED
Nicolas Z MacleadBrazilIvan Magalhaes NEGOTIATION
Kadeem L StensethIndiaElwin Sharvill PROPOSAL
Darci M BologniaIndiaIvan Magalhaes QUALIFIED
Kaitlin L BriddickBrazilAmy Elsner PROPOSAL
Smith C SlusarskiUnited KingdomBernardo Dominic RENEWAL
Adams O GlickAustraliaXuxue Feng NEW
Mayumi R BowleyIndiaIvan Magalhaes RENEWAL
Silvio W MaletSpainBernardo Dominic UNQUALIFIED
Julie X SergiAustraliaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy X OldroydArgentina2026-09-05Benton, John B Jr QUALIFIED57Xuxue Feng
1001Smith C FerenczGermany2026-09-14Feltz Printing Service NEGOTIATION84Elwin Sharvill
1002Misaki Y BologniaSpain2026-09-03Buckley Miller Wright UNQUALIFIED3Anna Fali
1003Greenwood G AlbaresFrance2026-09-04Feltz Printing Service QUALIFIED58Ioni Bowcher
1004Stacey Z StockhamArgentina2026-08-23Chapman, Ross E Esq UNQUALIFIED15Bernardo Dominic
1005Izzy V RutaRussia2026-09-06Printing Dimensions RENEWAL12Xuxue Feng
1006Ivar B InouyeFrance2026-08-24Printing Dimensions NEGOTIATION61Stephen Shaw
1007Aruna E SchemmerRussia2026-09-05Feiner Bros PROPOSAL54Amy Elsner
1008Maria Z SlusarskiGermany2026-09-15Morlong Associates UNQUALIFIED50Stephen Shaw
1009Alejandro Q WieserJapan2026-08-23Rangoni Of Florence PROPOSAL65Amy Elsner
1010Clifford D SchemmerFrance2026-08-29Printing Dimensions QUALIFIED4Onyama Limba
1011Costa V FigeroaItaly2026-09-16Printing Dimensions UNQUALIFIED88Elwin Sharvill
1012Kaitlin P KuskoCanada2026-08-28Buckley Miller Wright NEW75Ivan Magalhaes
1013Clifford S OstroskyAustralia2026-09-17King, Christopher A Esq NEGOTIATION24Stephen Shaw
1014James C SlusarskiGermany2026-08-26Rousseaux, Michael Esq RENEWAL70Ioni Bowcher
1015Ashley Y MorascaJapan2026-08-31Dorl, James J Esq NEW13Stephen Shaw
1016Kadeem P MaletJapan2026-09-08Morlong Associates RENEWAL32Asiya Javayant
1017James X RoysterItaly2026-09-15Dorl, James J Esq RENEWAL39Amy Elsner
1018Maisha O NestleGermany2026-09-09Buckley Miller Wright RENEWAL82Amy Elsner
1019Claire P RoysterUnited Kingdom2026-09-13Buckley Miller Wright QUALIFIED74Bernardo Dominic
1020Jones R MaletJapan2026-08-30King, Christopher A Esq NEGOTIATION24Ivan Magalhaes
1021Aditya E PoquetteSpain2026-09-07Dorl, James J Esq PROPOSAL69Elwin Sharvill
1022James V BologniaIndia2026-09-08Dorl, James J Esq NEW50Ivan Magalhaes
1023Wickens D BowleyAustralia2026-09-04Printing Dimensions QUALIFIED26Ioni Bowcher
1024Alejandro M WhobreyItaly2026-09-02Dorl, James J Esq UNQUALIFIED82Stephen Shaw
1025Leja X RutaAustralia2026-08-26Feltz Printing Service UNQUALIFIED92Asiya Javayant
1026Clifford Q PaprockiUnited Kingdom2026-09-08Dorl, James J Esq UNQUALIFIED99Stephen Shaw
1027Salvatore S BowleyBrazil2026-09-01Buckley Miller Wright QUALIFIED95Ivan Magalhaes
1028Wickens E BriddickItaly2026-09-18Chemel, James L Cpa RENEWAL39Stephen Shaw
1029Izzy C FlosiArgentina2026-09-06Dorl, James J Esq UNQUALIFIED12Ioni Bowcher
1030Juan Y KolmetzCanada2026-09-03Printing Dimensions RENEWAL72Xuxue Feng
1031Antonio B SlusarskiJapan2026-09-03Printing Dimensions NEGOTIATION88Bernardo Dominic
1032Misaki X DilliardJapan2026-09-04Buckley Miller Wright QUALIFIED23Ivan Magalhaes
1033Claire J VocelkaJapan2026-08-25King, Christopher A Esq PROPOSAL91Amy Elsner
1034David K RoysterJapan2026-09-17Commercial Press RENEWAL0Ioni Bowcher
1035Izzy P RutaItaly2026-08-23Feltz Printing Service NEGOTIATION48Elwin Sharvill
1036Chavez Z StensethGermany2026-09-19Chapman, Ross E Esq NEGOTIATION23Anna Fali
1037Silvio N MorascaBrazil2026-08-21Commercial Press NEGOTIATION45Xuxue Feng
1038Alejandro J DarakjyFrance2026-08-29Rousseaux, Michael Esq RENEWAL29Amy Elsner
1039Isabel Q RoysterAustralia2026-08-27Chapman, Ross E Esq NEGOTIATION77Amy Elsner
1040Cody I SlusarskiFrance2026-09-06Benton, John B Jr RENEWAL5Amy Elsner
1041Stacey M PoquetteRussia2026-09-03Chanay, Jeffrey A Esq RENEWAL71Amy Elsner
1042Maisha Y FollerBrazil2026-08-28King, Christopher A Esq RENEWAL18Ioni Bowcher
1043Izzy W RulapaughBrazil2026-09-13Truhlar And Truhlar Attys UNQUALIFIED24Ioni Bowcher
1044Ivar I ChuiGermany2026-09-14Rousseaux, Michael Esq UNQUALIFIED86Elwin Sharvill
1045Misaki G AmigonFrance2026-08-26Feltz Printing Service QUALIFIED26Ioni Bowcher
1046Ashley I AmigonBrazil2026-08-27Feiner Bros UNQUALIFIED63Onyama Limba
1047James G WaycottSpain2026-09-08Rousseaux, Michael Esq RENEWAL63Bernardo Dominic
1048Munro P DoeJapan2026-08-26Buckley Miller Wright NEW58Ivan Magalhaes
1049Sinclair Y MarrierJapan2026-09-08Rangoni Of Florence UNQUALIFIED81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues B RulapaughBrazilIvan Magalhaes UNQUALIFIED
Nicolas K FigeroaBrazilElwin Sharvill QUALIFIED
Ivar V WhobreyArgentinaStephen Shaw NEGOTIATION
Jeanfrancois C DoeUnited KingdomAmy Elsner QUALIFIED
Jones Z AmigonCanadaBernardo Dominic NEW
Darci L DoeRussiaOnyama Limba NEGOTIATION
Jones Y VocelkaGermanyIoni Bowcher UNQUALIFIED
Sinclair J StockhamItalyIoni Bowcher NEW
Smith Q CaudyRussiaIvan Magalhaes NEGOTIATION
Chavez P GarufiItalyXuxue Feng PROPOSAL
Rodrigues Y PerinItalyXuxue Feng RENEWAL
Juan I ChuiUnited KingdomAnna Fali UNQUALIFIED
Nicolas J GarufiAustraliaAmy Elsner PROPOSAL
Alejandro L SaylorsSpainAmy Elsner RENEWAL
Isabel K MaletBrazilXuxue Feng NEW
Wickens U RulapaughAustraliaBernardo Dominic UNQUALIFIED
Johnson X AmigonArgentinaXuxue Feng RENEWAL
Jefferson S FigeroaArgentinaOnyama Limba PROPOSAL
Ashley G WhobreyCanadaAmy Elsner NEGOTIATION
Morrow N GillianCanadaStephen Shaw RENEWAL
Sinclair P CampainGermanyAmy Elsner RENEWAL
Mayumi I BologniaJapanAsiya Javayant RENEWAL
Juan V FlosiSpainElwin Sharvill QUALIFIED
Chavez E PoquetteIndiaBernardo Dominic QUALIFIED
David S NickaItalyIvan Magalhaes NEW
Johnson N DarakjyJapanElwin Sharvill UNQUALIFIED
Octavia U PaprockiFranceIvan Magalhaes PROPOSAL
Murillo L TollnerIndiaAsiya Javayant RENEWAL
Kaitlin S CaudyJapanIoni Bowcher QUALIFIED
Jennifer W DilliardAustraliaXuxue Feng QUALIFIED
Smith X PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Stacey Y TollnerSpainStephen Shaw NEW
Munro O DoeSpainXuxue Feng QUALIFIED
Adams I OldroydArgentinaBernardo Dominic NEW
Kadeem U WaycottRussiaIoni Bowcher NEGOTIATION
Adams N PaprockiJapanIoni Bowcher PROPOSAL
Tony Q MorascaItalyAnna Fali PROPOSAL
Izzy G CaldareraUnited KingdomOnyama Limba NEGOTIATION
Tony T FlosiFranceXuxue Feng NEGOTIATION
Aruna M SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Costa Z TollnerSpainBernardo Dominic NEGOTIATION
Mujtaba L BowleyItalyBernardo Dominic NEGOTIATION
Leja O StockhamIndiaAmy Elsner RENEWAL
Ashley G CaldareraUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois D PerinUnited KingdomXuxue Feng PROPOSAL
Cody K GlickArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois W MaletBrazilAnna Fali NEW
Aditya T IturbideCanadaAsiya Javayant UNQUALIFIED
Maisha G RutaFranceAmy Elsner UNQUALIFIED
Tony N IturbideSpainAsiya Javayant RENEWAL
Frozen Columns
Name
Kaitlin T Campain
Izzy X Darakjy
Deepesh U Amigon
Juan V Inouye
Munro P Bowley
Murillo S Maclead
Adams S Campain
Stacey N Tollner
Chavez O Rim
Misaki X Dilliard
Emily V Shinko
Jennifer B Gaucho
Juan D Morasca
Jefferson G Foller
Kadeem P Schemmer
David N Dilliard
Costa Y Dilliard
Sinclair F Darakjy
James D Garufi
Adams R Paprocki
Ashley X Wieser
Jeanfrancois Q Slusarski
Isabel T Stenseth
Mujtaba A Paprocki
Maria U Campain
Ricardo A Butt
Misaki D Bolognia
Munro M Slusarski
Kaitlin A Gillian
Sinclair S Nicka
Chavez H Inouye
Murillo R Slusarski
Octavia E Rulapaugh
Munro J Gaucho
Kadeem U Butt
Chavez R Royster
Leja S Chui
Francesco X Sergi
Stacey V Doe
Costa C Albares
Tony B Rim
Chavez U Kusko
Murillo O Nestle
Aika K Malet
Rodrigues E Iturbide
Deepesh U Kolmetz
Munro Y Whobrey
Claire L Bolognia
Leja F Iturbide
Johnson B Caudy
IdCountryDate
1000Canada2026-08-24
1001Germany2026-08-30
1002Spain2026-09-04
1003Japan2026-08-27
1004Japan2026-09-14
1005Germany2026-09-03
1006Germany2026-08-31
1007Russia2026-09-19
1008Australia2026-08-22
1009Japan2026-08-29
1010Argentina2026-08-30
1011Russia2026-09-08
1012Argentina2026-09-08
1013Argentina2026-09-08
1014Italy2026-08-23
1015United Kingdom2026-09-15
1016France2026-09-15
1017Japan2026-08-29
1018Russia2026-09-17
1019Argentina2026-09-01
1020France2026-09-17
1021France2026-09-16
1022Brazil2026-09-14
1023Argentina2026-09-12
1024United Kingdom2026-09-04
1025Japan2026-09-07
1026Italy2026-09-02
1027Italy2026-08-27
1028Japan2026-09-05
1029Germany2026-08-31
1030Japan2026-09-17
1031Russia2026-09-02
1032Australia2026-09-03
1033France2026-09-12
1034Australia2026-09-02
1035Russia2026-08-30
1036Argentina2026-09-16
1037Canada2026-09-19
1038Spain2026-09-14
1039Italy2026-09-10
1040Australia2026-09-10
1041Canada2026-09-12
1042Japan2026-09-10
1043Japan2026-09-04
1044Spain2026-08-28
1045Argentina2026-09-03
1046Canada2026-09-02
1047United Kingdom2026-09-04
1048Japan2026-09-05
1049Australia2026-09-03

On-Demand Data

NameIdCountryDate
Octavia I Caudy1000United Kingdom2026-09-03
David H Campain1001United Kingdom2026-09-14
Octavia Z Shinko1002France2026-09-07
Johnson Z Vocelka1003Argentina2026-09-07
Jefferson N Doe1004Australia2026-09-15
Chavez L Bolognia1005Canada2026-08-27
Kadeem J Butt1006Canada2026-09-17
Deepesh R Stenseth1007Brazil2026-08-21
Tony J Waycott1008Argentina2026-09-04
Aditya V Bolognia1009Japan2026-09-04
Claire H Dilliard1010Argentina2026-08-31
Jones F Wieser1011France2026-08-25
Ricardo Z Marrier1012Canada2026-09-18
Nicolas A Caldarera1013Argentina2026-09-07
James W Doe1014Argentina2026-09-10
Cody H Slusarski1015Australia2026-09-19
Antonio W Poquette1016Japan2026-09-15
Greenwood M Caldarera1017Australia2026-09-01
Darci G Stenseth1018Italy2026-08-24
Rodrigues F Saylors1019Japan2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S MaletSpainAnna Fali QUALIFIED
Darci O BowleyAustraliaIoni Bowcher RENEWAL
Izzy K InouyeAustraliaAmy Elsner PROPOSAL
Jefferson I StensethRussiaAsiya Javayant QUALIFIED
Isabel U MaletCanadaIvan Magalhaes NEGOTIATION
Alejandro I KuskoBrazilStephen Shaw RENEWAL
Aika F FerenczIndiaXuxue Feng UNQUALIFIED
David Z DoeGermanyXuxue Feng PROPOSAL
Julie V ButtBrazilBernardo Dominic NEGOTIATION
Aika F CaudyCanadaElwin Sharvill QUALIFIED
Rodrigues C KuskoCanadaXuxue Feng PROPOSAL
Mayumi N StockhamCanadaXuxue Feng NEGOTIATION
Jefferson U ChuiGermanyAnna Fali PROPOSAL
David J FigeroaUnited KingdomAmy Elsner QUALIFIED
Chavez I MaletSpainBernardo Dominic NEW
Maisha Z OldroydArgentinaStephen Shaw PROPOSAL
Sinclair P AmigonFranceAmy Elsner QUALIFIED
David J OldroydItalyOnyama Limba UNQUALIFIED
Mujtaba Y GillianIndiaStephen Shaw PROPOSAL
Ashley A BologniaArgentinaAsiya Javayant RENEWAL
Deepesh M BowleyCanadaAmy Elsner QUALIFIED
Cody R RutaAustraliaBernardo Dominic UNQUALIFIED
Mujtaba P MarrierSpainBernardo Dominic NEGOTIATION
Faith I InouyeSpainAmy Elsner QUALIFIED
Ashley V SergiItalyXuxue Feng NEW
James K OstroskyRussiaXuxue Feng NEW
Silvio W OstroskyItalyStephen Shaw NEGOTIATION
Silvio R CaudyArgentinaXuxue Feng QUALIFIED
Jennifer B WhobreyCanadaElwin Sharvill NEW
Aika B DoeFranceAnna Fali PROPOSAL
Deepesh P WhobreyUnited KingdomXuxue Feng PROPOSAL
Rodrigues B FigeroaIndiaIvan Magalhaes RENEWAL
Misaki I MacleadSpainIoni Bowcher PROPOSAL
James K VenereAustraliaStephen Shaw QUALIFIED
Rodrigues I FlosiItalyStephen Shaw QUALIFIED
Arvin D MarrierRussiaAmy Elsner NEW
Chavez M GauchoJapanOnyama Limba RENEWAL
Emily C FerenczCanadaOnyama Limba PROPOSAL
Misaki G SergiSpainAnna Fali UNQUALIFIED
Tony E SergiSpainStephen Shaw QUALIFIED

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