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
Aruna T KuskoRussiaIoni Bowcher NEW
Jeanfrancois Z ChuiGermanyXuxue Feng PROPOSAL
Costa S OldroydRussiaIoni Bowcher NEW
Maria Y VenereItalyBernardo Dominic QUALIFIED
Jeanfrancois N CaldareraArgentinaElwin Sharvill RENEWAL
Arvin B ShinkoAustraliaOnyama Limba RENEWAL
Maria L OstroskyAustraliaIoni Bowcher NEGOTIATION
Izzy O GauchoItalyAnna Fali UNQUALIFIED
Jones I FlosiAustraliaIvan Magalhaes NEGOTIATION
Morrow Z IturbideRussiaAnna Fali UNQUALIFIED
Leon J NickaCanadaXuxue Feng RENEWAL
Francesco U SlusarskiFranceAsiya Javayant RENEWAL
Johnson D RimFranceIvan Magalhaes PROPOSAL
Chavez K BriddickCanadaElwin Sharvill NEW
Aika P NestleSpainStephen Shaw NEGOTIATION
Wickens J PaprockiArgentinaOnyama Limba QUALIFIED
Julie J BowleyIndiaIoni Bowcher NEW
Smith L SergiCanadaOnyama Limba UNQUALIFIED
Mayumi P SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Francesco Y KolmetzCanadaBernardo Dominic NEGOTIATION
Cody H ButtAustraliaXuxue Feng PROPOSAL
Tony B GillianCanadaElwin Sharvill UNQUALIFIED
Jefferson N FollerJapanAsiya Javayant PROPOSAL
Stacey V ButtJapanStephen Shaw QUALIFIED
Octavia U CaudySpainAsiya Javayant NEW
Isabel A PerinCanadaElwin Sharvill UNQUALIFIED
Octavia W GarufiBrazilOnyama Limba NEW
Mujtaba K RoysterAustraliaBernardo Dominic RENEWAL
Octavia Z DoeGermanyStephen Shaw UNQUALIFIED
Jones U FollerArgentinaStephen Shaw QUALIFIED
Tony T TollnerFranceXuxue Feng NEW
Jennifer J FlosiFranceBernardo Dominic QUALIFIED
Costa N ButtFranceIoni Bowcher NEGOTIATION
James N OldroydJapanXuxue Feng PROPOSAL
Costa Z BowleyIndiaElwin Sharvill RENEWAL
Smith Y SlusarskiFranceBernardo Dominic UNQUALIFIED
Leon N FlosiBrazilIvan Magalhaes NEGOTIATION
Antonio W MarrierUnited KingdomAmy Elsner QUALIFIED
Izzy Y MacleadBrazilAnna Fali NEGOTIATION
Isabel T FigeroaFranceBernardo Dominic UNQUALIFIED
Chavez Y RutaCanadaElwin Sharvill UNQUALIFIED
Wickens H WhobreyIndiaOnyama Limba PROPOSAL
Johnson I StockhamGermanyElwin Sharvill QUALIFIED
Wickens B GauchoUnited KingdomXuxue Feng PROPOSAL
Faith J InouyeItalyStephen Shaw RENEWAL
Jennifer G SaylorsRussiaBernardo Dominic PROPOSAL
Claire A GillianFranceIvan Magalhaes RENEWAL
Emily H BriddickRussiaAmy Elsner NEGOTIATION
Maria V MarrierBrazilAmy Elsner QUALIFIED
Octavia F KolmetzUnited KingdomAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois T VenereArgentinaAmy Elsner NEW
Jefferson G CampainGermanyBernardo Dominic QUALIFIED
Morrow E PoquetteRussiaAsiya Javayant RENEWAL
Johnson O WaycottBrazilBernardo Dominic RENEWAL
Kaitlin O BriddickArgentinaXuxue Feng QUALIFIED
Faith S NestleGermanyElwin Sharvill NEGOTIATION
James B MacleadArgentinaBernardo Dominic RENEWAL
Ivar T GillianSpainAnna Fali NEGOTIATION
Leja E StensethUnited KingdomBernardo Dominic NEW
Munro B CampainSpainAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel F GillianFrance2026-10-05Printing Dimensions PROPOSAL1Stephen Shaw
1001Antonio T FerenczAustralia2026-10-18Buckley Miller Wright RENEWAL15Ioni Bowcher
1002Faith M MacleadAustralia2026-10-13Morlong Associates PROPOSAL23Xuxue Feng
1003Leon E SergiGermany2026-09-27Feiner Bros NEGOTIATION7Stephen Shaw
1004Morrow J MaletSpain2026-09-26Commercial Press UNQUALIFIED19Asiya Javayant
1005Alejandro V RutaIndia2026-10-03Feiner Bros QUALIFIED71Onyama Limba
1006Antonio J ButtArgentina2026-10-10Buckley Miller Wright NEW32Ivan Magalhaes
1007Aditya V MaletArgentina2026-09-29Printing Dimensions NEGOTIATION90Bernardo Dominic
1008Jeanfrancois A RulapaughJapan2026-09-28Feltz Printing Service NEGOTIATION7Ioni Bowcher
1009Jones Z CampainItaly2026-10-15Feiner Bros RENEWAL89Onyama Limba
1010Maisha Q InouyeAustralia2026-10-01Chapman, Ross E Esq UNQUALIFIED24Ioni Bowcher
1011Claire X GarufiRussia2026-10-01Chanay, Jeffrey A Esq NEGOTIATION22Asiya Javayant
1012Maisha Z AlbaresSpain2026-10-17Rangoni Of Florence UNQUALIFIED63Stephen Shaw
1013Smith I NickaUnited Kingdom2026-10-10Commercial Press NEGOTIATION22Xuxue Feng
1014Morrow R OstroskyJapan2026-10-23Rousseaux, Michael Esq PROPOSAL56Ivan Magalhaes
1015Costa E ButtUnited Kingdom2026-10-15Feltz Printing Service RENEWAL58Ivan Magalhaes
1016Clifford H StockhamItaly2026-10-19Dorl, James J Esq PROPOSAL36Elwin Sharvill
1017Juan E FigeroaAustralia2026-10-23Chemel, James L Cpa UNQUALIFIED48Ivan Magalhaes
1018Nicolas B GlickGermany2026-10-10Feltz Printing Service UNQUALIFIED73Bernardo Dominic
1019Tony L PaprockiBrazil2026-10-14Printing Dimensions QUALIFIED62Bernardo Dominic
1020Aditya W OldroydItaly2026-10-08Printing Dimensions QUALIFIED48Bernardo Dominic
1021Ricardo B KuskoRussia2026-09-26Commercial Press NEW26Amy Elsner
1022Alejandro Z AlbaresArgentina2026-10-03Feltz Printing Service NEW10Bernardo Dominic
1023Ricardo I MaletAustralia2026-10-09Chapman, Ross E Esq NEGOTIATION19Ioni Bowcher
1024Greenwood R VenereBrazil2026-10-22Dorl, James J Esq PROPOSAL54Xuxue Feng
1025Izzy C BriddickFrance2026-10-08Dorl, James J Esq NEGOTIATION64Elwin Sharvill
1026Ricardo R CaudyFrance2026-09-25Chemel, James L Cpa NEW56Asiya Javayant
1027Aditya O CampainCanada2026-10-09King, Christopher A Esq NEW96Onyama Limba
1028Darci U MacleadAustralia2026-10-02Truhlar And Truhlar Attys UNQUALIFIED76Asiya Javayant
1029Kaitlin H NickaFrance2026-10-24Rousseaux, Michael Esq PROPOSAL19Stephen Shaw
1030Morrow O CaldareraAustralia2026-10-02Rousseaux, Michael Esq QUALIFIED22Elwin Sharvill
1031Octavia I RoysterJapan2026-10-14Chanay, Jeffrey A Esq RENEWAL64Onyama Limba
1032Juan Q SaylorsJapan2026-09-30Rangoni Of Florence NEGOTIATION8Ivan Magalhaes
1033David E MacleadIndia2026-10-09Truhlar And Truhlar Attys RENEWAL94Ivan Magalhaes
1034Sinclair X AmigonArgentina2026-10-17King, Christopher A Esq NEW4Elwin Sharvill
1035Salvatore Y SlusarskiFrance2026-10-23Chanay, Jeffrey A Esq QUALIFIED48Ivan Magalhaes
1036Aditya E SlusarskiFrance2026-10-11Rangoni Of Florence QUALIFIED3Bernardo Dominic
1037Juan L InouyeItaly2026-10-12Chapman, Ross E Esq NEGOTIATION21Ioni Bowcher
1038Aditya A GauchoCanada2026-10-24King, Christopher A Esq NEW75Asiya Javayant
1039Kaitlin H AmigonUnited Kingdom2026-10-10Dorl, James J Esq NEGOTIATION38Stephen Shaw
1040Octavia S GillianRussia2026-10-18King, Christopher A Esq PROPOSAL46Anna Fali
1041Chavez L MorascaCanada2026-10-02Dorl, James J Esq NEW57Bernardo Dominic
1042Juan A NickaGermany2026-10-07Chapman, Ross E Esq NEGOTIATION74Ioni Bowcher
1043David G GarufiGermany2026-10-08Commercial Press QUALIFIED47Ioni Bowcher
1044Ricardo I IturbideArgentina2026-09-29King, Christopher A Esq NEW33Ivan Magalhaes
1045Greenwood N DilliardCanada2026-10-16Truhlar And Truhlar Attys QUALIFIED78Elwin Sharvill
1046Julie E StockhamFrance2026-10-15Buckley Miller Wright NEW40Ioni Bowcher
1047Maisha Z OstroskyJapan2026-10-11King, Christopher A Esq PROPOSAL98Elwin Sharvill
1048Jefferson P CaudyCanada2026-09-27Feltz Printing Service UNQUALIFIED91Anna Fali
1049Deepesh C MaletSpain2026-10-14Printing Dimensions PROPOSAL48Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson O AlbaresJapanIvan Magalhaes UNQUALIFIED
Alejandro Y RulapaughItalyOnyama Limba RENEWAL
Rodrigues X SergiUnited KingdomOnyama Limba RENEWAL
Maisha X SergiRussiaXuxue Feng NEGOTIATION
Mayumi E AmigonCanadaElwin Sharvill RENEWAL
Aditya S GauchoRussiaAnna Fali PROPOSAL
Francesco M TollnerGermanyAnna Fali QUALIFIED
David G FlosiArgentinaStephen Shaw RENEWAL
Chavez L FerenczFranceAnna Fali RENEWAL
Costa I ShinkoIndiaElwin Sharvill UNQUALIFIED
Chavez K RulapaughUnited KingdomAnna Fali RENEWAL
Sinclair K SaylorsFranceOnyama Limba NEW
Isabel E MacleadAustraliaStephen Shaw PROPOSAL
Jefferson U DarakjyCanadaOnyama Limba NEW
Leja J PerinItalyElwin Sharvill QUALIFIED
Munro S PaprockiArgentinaAsiya Javayant NEGOTIATION
Octavia Y SlusarskiCanadaBernardo Dominic PROPOSAL
Izzy I RimUnited KingdomStephen Shaw UNQUALIFIED
Isabel Q NickaUnited KingdomOnyama Limba UNQUALIFIED
Julie I WaycottCanadaIoni Bowcher RENEWAL
Stacey G RimCanadaIoni Bowcher RENEWAL
Smith I BowleyArgentinaElwin Sharvill QUALIFIED
Isabel Y VenereJapanAsiya Javayant QUALIFIED
Silvio W RimRussiaIoni Bowcher NEGOTIATION
Greenwood J MarrierAustraliaAsiya Javayant PROPOSAL
Salvatore A PoquetteIndiaOnyama Limba QUALIFIED
Nicolas N NickaJapanOnyama Limba QUALIFIED
Greenwood Q CaldareraAustraliaAmy Elsner PROPOSAL
Aditya R GarufiGermanyAmy Elsner UNQUALIFIED
Alejandro W WhobreySpainAnna Fali PROPOSAL
Deepesh M GlickUnited KingdomIvan Magalhaes QUALIFIED
Alejandro S ShinkoRussiaIoni Bowcher UNQUALIFIED
Misaki Z IturbideItalyAmy Elsner UNQUALIFIED
Faith S RimAustraliaIvan Magalhaes NEW
Jeanfrancois N RimCanadaXuxue Feng NEW
Aika E RimBrazilIvan Magalhaes UNQUALIFIED
Nicolas N ButtBrazilElwin Sharvill UNQUALIFIED
Misaki F CampainFranceOnyama Limba UNQUALIFIED
Maria I VenereFranceIvan Magalhaes RENEWAL
Ivar R NickaItalyAsiya Javayant NEGOTIATION
Aditya B AmigonFranceBernardo Dominic UNQUALIFIED
Rodrigues S RutaJapanBernardo Dominic NEW
Mujtaba H SchemmerJapanAnna Fali QUALIFIED
Jennifer C VocelkaUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois B FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Izzy S TollnerSpainStephen Shaw UNQUALIFIED
Aruna S WaycottRussiaAnna Fali QUALIFIED
Kadeem U PerinUnited KingdomOnyama Limba UNQUALIFIED
Ashley G RimCanadaAnna Fali NEGOTIATION
Aruna T OldroydAustraliaAsiya Javayant QUALIFIED
Frozen Columns
Name
Nicolas D Maclead
Aika V Glick
Kadeem B Tollner
Aika C Butt
Darci C Garufi
Misaki Z Ruta
Maria R Gillian
Mujtaba Z Stockham
Stacey K Iturbide
Mayumi U Malet
Ashley P Stockham
Munro R Campain
Julie V Shinko
Ashley A Ferencz
Adams Z Sergi
Murillo T Chui
Mayumi S Malet
Kaitlin T Slusarski
Rodrigues J Stenseth
Jennifer V Garufi
Octavia O Malet
Smith H Vocelka
Cody T Stenseth
Jones G Doe
James M Ostrosky
Julie D Albares
Mujtaba A Bolognia
Wickens K Paprocki
Izzy B Rim
Chavez V Figeroa
James E Whobrey
Jennifer W Paprocki
Rodrigues D Stenseth
Julie M Waycott
Nicolas D Darakjy
David Y Ferencz
Jennifer E Royster
Darci G Caldarera
Greenwood M Nestle
Octavia W Campain
Cody X Albares
Jones Q Chui
Sinclair U Doe
Juan B Sergi
Izzy G Glick
Cody H Maclead
Aika B Figeroa
Misaki E Briddick
Murillo E Poquette
Jeanfrancois C Tollner
IdCountryDate
1000Japan2026-09-25
1001United Kingdom2026-09-29
1002Argentina2026-09-25
1003Russia2026-10-21
1004France2026-10-16
1005Canada2026-10-09
1006Russia2026-10-20
1007Brazil2026-10-22
1008Australia2026-10-07
1009Germany2026-09-29
1010France2026-10-02
1011India2026-10-15
1012Spain2026-10-23
1013Brazil2026-10-01
1014Germany2026-10-14
1015Canada2026-10-15
1016Italy2026-10-20
1017Germany2026-10-14
1018India2026-10-21
1019Australia2026-10-03
1020Japan2026-10-05
1021India2026-10-03
1022Italy2026-10-24
1023India2026-10-23
1024Germany2026-10-17
1025Argentina2026-10-01
1026India2026-09-28
1027Brazil2026-10-22
1028United Kingdom2026-10-16
1029United Kingdom2026-10-08
1030Canada2026-09-27
1031Russia2026-10-21
1032Germany2026-10-15
1033Spain2026-09-25
1034India2026-10-08
1035Australia2026-10-08
1036Italy2026-10-23
1037India2026-10-20
1038Canada2026-10-20
1039Argentina2026-09-28
1040Canada2026-10-07
1041France2026-10-02
1042Australia2026-09-29
1043Australia2026-09-28
1044Russia2026-10-12
1045Australia2026-10-12
1046Germany2026-10-22
1047Australia2026-10-10
1048Germany2026-10-12
1049Germany2026-10-24

On-Demand Data

NameIdCountryDate
James E Albares1000Russia2026-10-09
Rodrigues I Vocelka1001Japan2026-10-18
Ivar Y Figeroa1002France2026-10-05
Greenwood Q Perin1003Germany2026-10-04
Arvin S Venere1004France2026-10-21
Faith V Slusarski1005France2026-10-11
Darci S Ruta1006Argentina2026-10-02
Maisha P Caldarera1007Russia2026-10-07
Julie C Glick1008Italy2026-10-15
Munro Q Whobrey1009Argentina2026-10-07
Darci R Schemmer1010Italy2026-10-04
Cody T Schemmer1011Canada2026-10-22
Costa R Amigon1012Brazil2026-10-22
Jeanfrancois T Rulapaugh1013United Kingdom2026-10-22
Johnson V Flosi1014Canada2026-10-01
Deepesh U Butt1015Spain2026-09-29
Johnson J Bolognia1016Japan2026-09-26
Clifford M Tollner1017Spain2026-10-01
David S Garufi1018Argentina2026-10-23
Murillo W Caudy1019France2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan P StockhamItalyBernardo Dominic NEGOTIATION
Jennifer G DilliardAustraliaAnna Fali NEW
Salvatore O NickaItalyOnyama Limba NEGOTIATION
Stacey K KolmetzJapanAnna Fali RENEWAL
James W BowleyCanadaOnyama Limba RENEWAL
Emily G MarrierUnited KingdomStephen Shaw QUALIFIED
Aika Q GillianJapanOnyama Limba NEGOTIATION
Kaitlin A DoeIndiaBernardo Dominic UNQUALIFIED
Murillo M TollnerIndiaAnna Fali NEGOTIATION
Johnson C CampainRussiaElwin Sharvill UNQUALIFIED
Maria D NestleJapanXuxue Feng UNQUALIFIED
Claire E CampainRussiaAsiya Javayant NEW
Leja D SergiJapanAmy Elsner NEGOTIATION
Juan A GillianBrazilIoni Bowcher RENEWAL
Jennifer Y WaycottSpainAmy Elsner PROPOSAL
Mujtaba A SaylorsRussiaIvan Magalhaes QUALIFIED
Deepesh T GlickItalyElwin Sharvill NEGOTIATION
Claire S RimArgentinaXuxue Feng RENEWAL
Julie G InouyeArgentinaOnyama Limba QUALIFIED
Julie F WaycottCanadaBernardo Dominic PROPOSAL
Darci Z CaldareraJapanStephen Shaw PROPOSAL
Nicolas M WaycottGermanyOnyama Limba NEGOTIATION
Emily T VocelkaBrazilAsiya Javayant NEGOTIATION
Aika A MaletRussiaAmy Elsner PROPOSAL
Aditya I OstroskyAustraliaIoni Bowcher UNQUALIFIED
Francesco P ShinkoGermanyAnna Fali NEW
Rodrigues T GlickIndiaIoni Bowcher QUALIFIED
Kaitlin E RutaRussiaBernardo Dominic NEGOTIATION
Deepesh U MorascaUnited KingdomOnyama Limba QUALIFIED
Munro R VocelkaJapanStephen Shaw UNQUALIFIED
Tony K MaletBrazilBernardo Dominic RENEWAL
Chavez O InouyeBrazilAsiya Javayant PROPOSAL
Wickens P RimFranceBernardo Dominic UNQUALIFIED
Jeanfrancois Q AmigonFranceAsiya Javayant UNQUALIFIED
Wickens I WhobreyUnited KingdomStephen Shaw NEGOTIATION
Stacey G MaletCanadaIvan Magalhaes NEW
Silvio S GlickItalyBernardo Dominic NEW
Stacey Y PoquetteGermanyAnna Fali NEGOTIATION
Faith L MaletAustraliaAsiya Javayant NEGOTIATION
Johnson X RimJapanAsiya Javayant 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>