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
Aditya G BologniaJapanIoni Bowcher QUALIFIED
Octavia N MaletArgentinaStephen Shaw PROPOSAL
Rodrigues T MaletSpainAsiya Javayant NEW
Leja S VenereIndiaElwin Sharvill NEGOTIATION
Nicolas Z SergiArgentinaBernardo Dominic RENEWAL
Emily F IturbideUnited KingdomAnna Fali NEGOTIATION
Sinclair B CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Wickens R SlusarskiFranceAsiya Javayant NEGOTIATION
Leja M FollerItalyElwin Sharvill UNQUALIFIED
Stacey B BowleyCanadaOnyama Limba RENEWAL
Morrow W OstroskyJapanIoni Bowcher UNQUALIFIED
Darci Z OstroskyArgentinaIvan Magalhaes RENEWAL
Ricardo Y GillianArgentinaElwin Sharvill NEW
Rodrigues W BriddickFranceXuxue Feng QUALIFIED
Kaitlin Q BowleyRussiaStephen Shaw PROPOSAL
Ivar R OldroydGermanyElwin Sharvill RENEWAL
Leon S BriddickAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois A RoysterJapanIoni Bowcher UNQUALIFIED
Clifford A BriddickItalyIoni Bowcher RENEWAL
Leja N WhobreyRussiaElwin Sharvill UNQUALIFIED
Ricardo A FigeroaAustraliaBernardo Dominic UNQUALIFIED
Aika R FigeroaFranceBernardo Dominic RENEWAL
Clifford R WhobreyFranceAnna Fali PROPOSAL
Jennifer L WhobreyJapanStephen Shaw PROPOSAL
Ricardo W FollerRussiaElwin Sharvill RENEWAL
Izzy P DilliardItalyAnna Fali UNQUALIFIED
Murillo I SchemmerSpainAmy Elsner PROPOSAL
Nicolas O AlbaresItalyAsiya Javayant QUALIFIED
Wickens I CaldareraAustraliaOnyama Limba UNQUALIFIED
Chavez H WaycottItalyStephen Shaw RENEWAL
Faith G PerinArgentinaAmy Elsner PROPOSAL
Aditya Y CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Costa Z CaudySpainAnna Fali NEGOTIATION
Wickens L VocelkaSpainIvan Magalhaes NEGOTIATION
Aika N StensethAustraliaElwin Sharvill QUALIFIED
Claire P ChuiJapanXuxue Feng PROPOSAL
Kaitlin M IturbideIndiaIoni Bowcher UNQUALIFIED
Maisha Y WieserRussiaIoni Bowcher RENEWAL
James G BowleyFranceBernardo Dominic QUALIFIED
Munro Y GarufiGermanyAsiya Javayant NEGOTIATION
Aditya Z DoeJapanXuxue Feng NEGOTIATION
Ricardo A OstroskyArgentinaIoni Bowcher NEW
Antonio H ButtFranceIvan Magalhaes UNQUALIFIED
Morrow Z AlbaresUnited KingdomXuxue Feng NEW
Antonio X GarufiJapanAsiya Javayant NEGOTIATION
Costa U ButtIndiaXuxue Feng PROPOSAL
Rodrigues Z SchemmerAustraliaBernardo Dominic RENEWAL
Jeanfrancois E GarufiSpainXuxue Feng QUALIFIED
Tony D FigeroaIndiaStephen Shaw NEGOTIATION
Jeanfrancois Y SaylorsSpainIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson Q FlosiFranceIvan Magalhaes PROPOSAL
Maria G FerenczBrazilBernardo Dominic RENEWAL
Munro R DarakjyFranceAnna Fali NEW
Adams O KuskoJapanXuxue Feng UNQUALIFIED
Murillo E CaldareraUnited KingdomStephen Shaw NEGOTIATION
Julie D CampainSpainAmy Elsner UNQUALIFIED
Ashley T FollerArgentinaAnna Fali NEW
Francesco F AmigonCanadaOnyama Limba QUALIFIED
Maisha R MorascaSpainAmy Elsner UNQUALIFIED
Antonio D GauchoJapanBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Q RimItaly2026-10-19Feiner Bros RENEWAL8Elwin Sharvill
1001Kaitlin M StockhamCanada2026-10-08Rousseaux, Michael Esq UNQUALIFIED66Ivan Magalhaes
1002Antonio V KolmetzCanada2026-09-29Truhlar And Truhlar Attys NEW12Asiya Javayant
1003Ivar O IturbideIndia2026-09-29Commercial Press NEGOTIATION79Stephen Shaw
1004Stacey V KuskoJapan2026-09-28Rousseaux, Michael Esq UNQUALIFIED87Ioni Bowcher
1005Maria V KuskoGermany2026-09-22Feiner Bros PROPOSAL56Bernardo Dominic
1006Maisha G GauchoGermany2026-10-19Feiner Bros NEW98Stephen Shaw
1007Greenwood Z GarufiCanada2026-09-23Morlong Associates NEW33Ioni Bowcher
1008Greenwood Z ChuiGermany2026-10-07Feiner Bros QUALIFIED24Ioni Bowcher
1009Cody T WieserSpain2026-10-17Commercial Press NEW7Stephen Shaw
1010Jefferson Y DarakjyRussia2026-10-06Benton, John B Jr NEGOTIATION75Anna Fali
1011Nicolas O MarrierFrance2026-10-06Morlong Associates RENEWAL13Bernardo Dominic
1012Adams Z FollerAustralia2026-09-21Rangoni Of Florence PROPOSAL41Bernardo Dominic
1013Salvatore O MacleadRussia2026-10-06Benton, John B Jr QUALIFIED5Stephen Shaw
1014Murillo T VocelkaJapan2026-09-23Truhlar And Truhlar Attys NEGOTIATION12Xuxue Feng
1015Antonio O StensethUnited Kingdom2026-09-28Printing Dimensions UNQUALIFIED8Asiya Javayant
1016Sinclair F PerinCanada2026-10-11Chapman, Ross E Esq NEW1Ioni Bowcher
1017Morrow B SergiAustralia2026-10-15Printing Dimensions NEW48Ivan Magalhaes
1018Salvatore A SergiUnited Kingdom2026-10-01Chemel, James L Cpa PROPOSAL64Bernardo Dominic
1019Tony O GauchoBrazil2026-09-28Buckley Miller Wright NEGOTIATION81Amy Elsner
1020Leja B RimIndia2026-10-07Printing Dimensions PROPOSAL89Ivan Magalhaes
1021Ivar I NestleCanada2026-10-15Commercial Press UNQUALIFIED97Stephen Shaw
1022Costa W MaletUnited Kingdom2026-09-22Rousseaux, Michael Esq NEGOTIATION19Xuxue Feng
1023Sinclair D MaletJapan2026-10-06Feiner Bros UNQUALIFIED45Stephen Shaw
1024Francesco K BowleyGermany2026-10-01Commercial Press PROPOSAL43Bernardo Dominic
1025Jeanfrancois U KuskoFrance2026-10-17Feltz Printing Service QUALIFIED47Bernardo Dominic
1026Octavia F AlbaresUnited Kingdom2026-10-07Truhlar And Truhlar Attys RENEWAL67Asiya Javayant
1027Sinclair M KolmetzBrazil2026-10-05Dorl, James J Esq UNQUALIFIED94Amy Elsner
1028Juan B GlickRussia2026-10-14Rousseaux, Michael Esq QUALIFIED37Ivan Magalhaes
1029Rodrigues Z MacleadFrance2026-10-16Feiner Bros NEGOTIATION92Anna Fali
1030James U PerinRussia2026-09-25Dorl, James J Esq RENEWAL72Onyama Limba
1031Costa A PoquetteBrazil2026-10-12Feltz Printing Service RENEWAL77Elwin Sharvill
1032Aruna O FerenczRussia2026-10-06King, Christopher A Esq RENEWAL43Ioni Bowcher
1033Morrow J AlbaresArgentina2026-10-19Commercial Press NEW78Elwin Sharvill
1034Tony C FigeroaJapan2026-10-02Feiner Bros QUALIFIED51Elwin Sharvill
1035Octavia H DilliardGermany2026-09-21Buckley Miller Wright QUALIFIED49Elwin Sharvill
1036Ashley M OstroskyGermany2026-10-11Truhlar And Truhlar Attys PROPOSAL64Onyama Limba
1037Jennifer P StockhamSpain2026-10-12Feltz Printing Service PROPOSAL32Ivan Magalhaes
1038Jeanfrancois F SlusarskiArgentina2026-10-06Feltz Printing Service NEGOTIATION11Onyama Limba
1039Jones Q StockhamAustralia2026-10-01Rangoni Of Florence QUALIFIED92Bernardo Dominic
1040Salvatore V PoquetteArgentina2026-10-11Benton, John B Jr NEW55Anna Fali
1041Julie N TollnerIndia2026-10-11Feltz Printing Service PROPOSAL18Xuxue Feng
1042Smith K CaldareraItaly2026-10-05Truhlar And Truhlar Attys QUALIFIED2Amy Elsner
1043Isabel P WieserFrance2026-10-16Chapman, Ross E Esq RENEWAL59Amy Elsner
1044Jeanfrancois H GarufiCanada2026-09-22Rangoni Of Florence NEW57Amy Elsner
1045Juan S PerinBrazil2026-10-12Printing Dimensions UNQUALIFIED5Onyama Limba
1046Aruna S VenereJapan2026-09-23Rangoni Of Florence NEGOTIATION47Stephen Shaw
1047Salvatore V KolmetzIndia2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED78Bernardo Dominic
1048Juan X AlbaresUnited Kingdom2026-10-13King, Christopher A Esq PROPOSAL27Onyama Limba
1049Morrow L MorascaItaly2026-10-02Benton, John B Jr UNQUALIFIED18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Clifford I ShinkoGermanyAnna Fali QUALIFIED
James Q AmigonCanadaXuxue Feng PROPOSAL
Mujtaba U NestleCanadaAsiya Javayant NEGOTIATION
David C FigeroaFranceElwin Sharvill NEGOTIATION
Maria C StensethArgentinaAmy Elsner NEW
Johnson A ChuiGermanyAmy Elsner NEGOTIATION
Leja G FigeroaItalyOnyama Limba RENEWAL
Johnson Z TollnerAustraliaXuxue Feng RENEWAL
Tony T CaldareraJapanAnna Fali NEW
Jones I BologniaSpainAnna Fali NEW
Morrow T NestleRussiaIvan Magalhaes RENEWAL
Ashley T StockhamJapanXuxue Feng QUALIFIED
Clifford D PoquetteFranceAsiya Javayant RENEWAL
Maisha F MarrierCanadaOnyama Limba RENEWAL
Julie P BriddickFranceOnyama Limba NEGOTIATION
Cody Q FigeroaSpainAsiya Javayant UNQUALIFIED
Murillo P NickaCanadaElwin Sharvill PROPOSAL
Wickens W DarakjyBrazilStephen Shaw NEW
Aditya R PaprockiArgentinaXuxue Feng PROPOSAL
David V PerinJapanBernardo Dominic RENEWAL
Nicolas O MarrierSpainXuxue Feng QUALIFIED
Chavez A AmigonAustraliaElwin Sharvill RENEWAL
Sinclair U MacleadIndiaAmy Elsner RENEWAL
Jones L DilliardAustraliaAmy Elsner PROPOSAL
Sinclair E FerenczFranceOnyama Limba QUALIFIED
Rodrigues E AmigonUnited KingdomAmy Elsner UNQUALIFIED
Isabel K RulapaughArgentinaIvan Magalhaes NEW
Misaki J TollnerBrazilXuxue Feng NEGOTIATION
Costa J SergiRussiaStephen Shaw PROPOSAL
Jeanfrancois U KolmetzIndiaIvan Magalhaes NEGOTIATION
Tony U PerinArgentinaBernardo Dominic QUALIFIED
Deepesh U DilliardFranceIvan Magalhaes NEGOTIATION
Silvio O DilliardCanadaAnna Fali NEGOTIATION
Aditya R CaudyBrazilBernardo Dominic NEGOTIATION
Costa O VenereUnited KingdomAsiya Javayant NEW
Jeanfrancois V OldroydGermanyOnyama Limba NEGOTIATION
Misaki E ShinkoGermanyAsiya Javayant QUALIFIED
Smith B RutaUnited KingdomStephen Shaw QUALIFIED
Kaitlin K FigeroaItalyAmy Elsner UNQUALIFIED
Silvio E RoysterIndiaStephen Shaw UNQUALIFIED
Izzy Q StensethItalyAnna Fali UNQUALIFIED
Rodrigues W GlickBrazilIvan Magalhaes PROPOSAL
Clifford E PoquetteBrazilStephen Shaw PROPOSAL
Emily Y DoeBrazilBernardo Dominic RENEWAL
Munro E PoquetteSpainAsiya Javayant RENEWAL
Silvio S SaylorsBrazilElwin Sharvill RENEWAL
Ivar I KuskoSpainOnyama Limba PROPOSAL
Morrow U FollerJapanStephen Shaw NEW
Rodrigues X GarufiJapanXuxue Feng RENEWAL
James I SergiRussiaAmy Elsner NEGOTIATION
Frozen Columns
Name
David T Whobrey
Deepesh U Butt
Arvin K Amigon
Aditya O Albares
Smith F Oldroyd
Rodrigues C Doe
Arvin B Amigon
Arvin E Poquette
Mujtaba H Caudy
Emily I Oldroyd
Claire Q Briddick
Ashley I Caldarera
Clifford D Whobrey
Costa N Kolmetz
Greenwood Z Darakjy
Greenwood P Tollner
Arvin I Sergi
Nicolas M Butt
Silvio G Chui
Misaki H Perin
Mayumi H Nestle
Maisha K Royster
Antonio I Albares
Ashley C Iturbide
Aditya B Inouye
James S Kusko
Claire S Darakjy
Misaki B Venere
Juan H Marrier
Aruna E Sergi
Aditya M Garufi
Greenwood H Amigon
Aditya Y Iturbide
Nicolas P Rim
Smith J Campain
Misaki Z Vocelka
Francesco Q Malet
Julie F Venere
Kaitlin K Perin
Alejandro Y Campain
Costa U Albares
Jefferson B Ferencz
Mujtaba C Iturbide
Juan D Doe
Isabel T Flosi
Rodrigues T Bolognia
Stacey A Stenseth
Julie Z Kolmetz
Aruna K Royster
Antonio K Albares
IdCountryDate
1000France2026-09-27
1001Spain2026-09-29
1002Argentina2026-09-22
1003Argentina2026-10-18
1004Japan2026-10-18
1005India2026-09-27
1006Japan2026-10-01
1007Russia2026-09-22
1008Germany2026-10-06
1009Australia2026-09-24
1010Canada2026-10-01
1011Canada2026-09-30
1012Spain2026-09-26
1013Canada2026-09-20
1014Russia2026-09-24
1015United Kingdom2026-10-04
1016United Kingdom2026-09-25
1017India2026-10-16
1018Japan2026-09-22
1019Russia2026-10-08
1020Argentina2026-10-07
1021Brazil2026-09-28
1022Argentina2026-10-16
1023United Kingdom2026-10-15
1024Canada2026-09-26
1025India2026-10-19
1026Russia2026-10-08
1027Russia2026-10-10
1028India2026-09-21
1029Brazil2026-10-04
1030United Kingdom2026-09-24
1031Argentina2026-09-20
1032Spain2026-09-23
1033Russia2026-10-09
1034Japan2026-10-06
1035Argentina2026-10-13
1036Russia2026-10-11
1037Spain2026-09-29
1038United Kingdom2026-09-29
1039India2026-10-17
1040Brazil2026-09-22
1041Argentina2026-09-20
1042Spain2026-10-17
1043India2026-10-09
1044Argentina2026-10-09
1045Germany2026-09-27
1046Spain2026-09-20
1047Brazil2026-10-06
1048Germany2026-10-16
1049India2026-10-18

On-Demand Data

NameIdCountryDate
Octavia G Inouye1000India2026-09-20
Mayumi W Flosi1001India2026-09-25
Faith M Schemmer1002Brazil2026-09-20
Arvin X Bowley1003India2026-10-19
Emily I Wieser1004Germany2026-09-21
Arvin K Shinko1005Japan2026-10-02
Claire C Kusko1006Spain2026-09-29
Sinclair Q Ferencz1007Australia2026-10-08
Stacey S Iturbide1008Australia2026-10-05
Nicolas E Ruta1009Canada2026-10-06
Morrow F Poquette1010Argentina2026-10-14
Octavia K Venere1011Brazil2026-10-06
Isabel Q Malet1012Australia2026-09-21
Darci S Kusko1013Spain2026-09-30
Greenwood Y Paprocki1014Canada2026-10-14
Salvatore Q Glick1015Australia2026-10-02
Greenwood T Dilliard1016India2026-10-07
Cody K Inouye1017Germany2026-10-01
Mujtaba O Gillian1018Canada2026-09-25
Claire W Albares1019Italy2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J DoeItalyStephen Shaw QUALIFIED
Julie J WhobreyItalyBernardo Dominic NEW
Clifford Q PerinGermanyStephen Shaw PROPOSAL
David R CaldareraGermanyAmy Elsner QUALIFIED
Jones H OldroydItalyXuxue Feng RENEWAL
Ivar Q BriddickUnited KingdomElwin Sharvill RENEWAL
Darci R OstroskyAustraliaIvan Magalhaes RENEWAL
Ivar M FollerAustraliaOnyama Limba NEGOTIATION
Ashley I TollnerJapanStephen Shaw PROPOSAL
Arvin S KolmetzAustraliaIoni Bowcher RENEWAL
David B MacleadGermanyBernardo Dominic RENEWAL
David P PoquetteItalyOnyama Limba QUALIFIED
Wickens H MaletIndiaXuxue Feng RENEWAL
Aika P SchemmerGermanyAmy Elsner UNQUALIFIED
Maisha A BologniaBrazilAmy Elsner UNQUALIFIED
Jeanfrancois K MaletUnited KingdomAmy Elsner NEGOTIATION
Julie A NickaRussiaAsiya Javayant NEW
Morrow G ShinkoBrazilStephen Shaw UNQUALIFIED
Rodrigues Q AlbaresFranceIvan Magalhaes NEW
Jones A ButtIndiaOnyama Limba NEW
Rodrigues X RulapaughSpainAsiya Javayant NEW
Munro N PerinUnited KingdomAnna Fali NEW
Misaki B DilliardUnited KingdomOnyama Limba PROPOSAL
Morrow R RimRussiaAnna Fali NEGOTIATION
David K GlickGermanyAmy Elsner NEW
Claire M BologniaArgentinaIvan Magalhaes PROPOSAL
Sinclair Q OldroydItalyStephen Shaw NEGOTIATION
Francesco A DarakjyJapanXuxue Feng NEW
Chavez X DarakjyJapanAnna Fali UNQUALIFIED
Murillo M AlbaresIndiaStephen Shaw RENEWAL
Aika S VenereAustraliaElwin Sharvill RENEWAL
Ashley I InouyeIndiaOnyama Limba PROPOSAL
Maria D RulapaughArgentinaAmy Elsner QUALIFIED
Cody T SaylorsFranceXuxue Feng UNQUALIFIED
Emily U PerinJapanIvan Magalhaes QUALIFIED
Cody I OldroydSpainIvan Magalhaes QUALIFIED
Aruna S SlusarskiCanadaAnna Fali NEGOTIATION
Deepesh B BologniaCanadaAmy Elsner QUALIFIED
Faith R WhobreyArgentinaOnyama Limba UNQUALIFIED
Adams Y MaletBrazilOnyama 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>