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
Mayumi T WieserAustraliaAsiya Javayant PROPOSAL
Johnson B NickaItalyXuxue Feng NEGOTIATION
Wickens U BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Aruna N FlosiAustraliaElwin Sharvill NEW
Darci Y MaletJapanAnna Fali NEW
Kadeem B VenereItalyElwin Sharvill NEGOTIATION
Maisha Q SaylorsRussiaIvan Magalhaes NEW
Johnson H PerinSpainOnyama Limba PROPOSAL
Antonio W PaprockiGermanyBernardo Dominic NEW
Aruna T GarufiItalyBernardo Dominic UNQUALIFIED
Kaitlin X GauchoSpainXuxue Feng PROPOSAL
Antonio H BologniaGermanyIvan Magalhaes QUALIFIED
Murillo R VenereIndiaAnna Fali NEW
Kadeem A MacleadGermanyAmy Elsner RENEWAL
Izzy K AlbaresRussiaIvan Magalhaes NEGOTIATION
James B WhobreyJapanAsiya Javayant NEGOTIATION
David E PaprockiBrazilBernardo Dominic QUALIFIED
Emily D CampainUnited KingdomIoni Bowcher PROPOSAL
Munro L GarufiIndiaOnyama Limba PROPOSAL
Aruna K RoysterJapanAnna Fali PROPOSAL
Arvin N RulapaughSpainIvan Magalhaes QUALIFIED
Costa Q GauchoRussiaBernardo Dominic NEW
Julie B VocelkaCanadaXuxue Feng NEW
Ivar Z NickaJapanIoni Bowcher NEW
Tony S ShinkoFranceIoni Bowcher NEW
Isabel N PoquetteUnited KingdomXuxue Feng NEW
Wickens P VocelkaArgentinaIoni Bowcher NEGOTIATION
Ivar B SergiAustraliaBernardo Dominic NEW
Ricardo E VenereSpainXuxue Feng NEGOTIATION
Claire I NickaArgentinaOnyama Limba NEGOTIATION
Jones N ShinkoItalyOnyama Limba NEW
Morrow N NestleRussiaAmy Elsner NEW
Greenwood V GarufiUnited KingdomElwin Sharvill NEW
Jones E RulapaughCanadaStephen Shaw RENEWAL
Wickens X InouyeCanadaElwin Sharvill QUALIFIED
Julie T MaletSpainStephen Shaw NEW
Ivar U PaprockiJapanAnna Fali RENEWAL
Sinclair F FollerIndiaAsiya Javayant QUALIFIED
Alejandro F SlusarskiRussiaBernardo Dominic UNQUALIFIED
Jefferson Q DoeFranceXuxue Feng RENEWAL
Leon A ButtCanadaBernardo Dominic UNQUALIFIED
Jones V WhobreyGermanyXuxue Feng UNQUALIFIED
Nicolas K KuskoGermanyBernardo Dominic NEW
Ivar V FollerRussiaOnyama Limba PROPOSAL
Isabel W WaycottItalyAsiya Javayant UNQUALIFIED
Murillo B MacleadBrazilXuxue Feng PROPOSAL
Ricardo Z OldroydArgentinaElwin Sharvill PROPOSAL
Misaki P OstroskyCanadaIvan Magalhaes UNQUALIFIED
Clifford N MaletCanadaAnna Fali NEGOTIATION
Maisha T GarufiArgentinaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya F MarrierFranceBernardo Dominic NEW
Ivar B GauchoUnited KingdomXuxue Feng NEGOTIATION
Antonio Q DarakjyArgentinaStephen Shaw QUALIFIED
Francesco A MorascaIndiaElwin Sharvill RENEWAL
Alejandro I IturbideJapanAmy Elsner UNQUALIFIED
Ricardo Z RutaArgentinaBernardo Dominic NEW
Kadeem C ChuiFranceStephen Shaw UNQUALIFIED
Smith T WhobreyItalyAmy Elsner NEW
Sinclair W GarufiRussiaIvan Magalhaes PROPOSAL
Chavez X RoysterAustraliaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan F ChuiFrance2026-11-01Buckley Miller Wright QUALIFIED57Xuxue Feng
1001Morrow B GlickJapan2026-11-04Commercial Press RENEWAL82Onyama Limba
1002Ashley X PaprockiAustralia2026-10-08Feiner Bros QUALIFIED25Xuxue Feng
1003Jones H PaprockiItaly2026-10-28Benton, John B Jr QUALIFIED34Asiya Javayant
1004Jennifer N GillianFrance2026-10-29Chapman, Ross E Esq NEGOTIATION64Ioni Bowcher
1005Munro E InouyeRussia2026-10-08Dorl, James J Esq NEGOTIATION76Elwin Sharvill
1006Octavia H AmigonFrance2026-11-03Rousseaux, Michael Esq NEGOTIATION40Ivan Magalhaes
1007Silvio K BowleyArgentina2026-11-01Dorl, James J Esq NEW46Anna Fali
1008Octavia D SaylorsArgentina2026-10-07Chapman, Ross E Esq UNQUALIFIED79Stephen Shaw
1009Arvin F FerenczJapan2026-10-15Chemel, James L Cpa NEW87Onyama Limba
1010Costa L GillianGermany2026-10-28Chanay, Jeffrey A Esq QUALIFIED42Anna Fali
1011James L GillianFrance2026-10-12Chanay, Jeffrey A Esq NEGOTIATION34Asiya Javayant
1012Alejandro A NickaSpain2026-10-13Dorl, James J Esq NEGOTIATION20Ivan Magalhaes
1013Smith E VenereSpain2026-10-25Dorl, James J Esq QUALIFIED53Elwin Sharvill
1014Nicolas K KuskoJapan2026-10-06Feiner Bros NEW16Bernardo Dominic
1015Chavez F MaletArgentina2026-10-07King, Christopher A Esq NEW76Xuxue Feng
1016Chavez T BowleyIndia2026-10-11Rousseaux, Michael Esq UNQUALIFIED22Onyama Limba
1017Munro S OstroskyArgentina2026-10-17Rousseaux, Michael Esq UNQUALIFIED74Xuxue Feng
1018Costa E WaycottGermany2026-10-12Rangoni Of Florence NEW82Ivan Magalhaes
1019Johnson Q OldroydUnited Kingdom2026-10-31Morlong Associates QUALIFIED58Elwin Sharvill
1020Julie B MaletArgentina2026-10-11Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1021Darci U WieserSpain2026-10-17Benton, John B Jr UNQUALIFIED84Asiya Javayant
1022Jefferson I InouyeAustralia2026-10-08Rousseaux, Michael Esq PROPOSAL39Xuxue Feng
1023Aika M DoeArgentina2026-10-15Rangoni Of Florence RENEWAL72Xuxue Feng
1024David D MaletAustralia2026-10-25Rangoni Of Florence NEW16Onyama Limba
1025David X SergiJapan2026-10-25Buckley Miller Wright QUALIFIED84Asiya Javayant
1026Ricardo N BologniaSpain2026-10-18Morlong Associates NEGOTIATION36Asiya Javayant
1027Jennifer J WieserAustralia2026-10-13King, Christopher A Esq NEGOTIATION71Ioni Bowcher
1028Francesco S StensethSpain2026-11-01Truhlar And Truhlar Attys NEGOTIATION64Bernardo Dominic
1029Maria N AmigonItaly2026-10-28Chanay, Jeffrey A Esq NEGOTIATION42Stephen Shaw
1030Clifford Z SergiIndia2026-11-01King, Christopher A Esq QUALIFIED82Anna Fali
1031Johnson F PoquetteArgentina2026-10-31Chanay, Jeffrey A Esq RENEWAL93Asiya Javayant
1032Antonio H BriddickRussia2026-10-07Printing Dimensions UNQUALIFIED59Asiya Javayant
1033Salvatore D PoquetteArgentina2026-11-03Rangoni Of Florence NEGOTIATION85Ivan Magalhaes
1034Alejandro N NickaCanada2026-10-30Truhlar And Truhlar Attys RENEWAL45Elwin Sharvill
1035Jones U TollnerRussia2026-10-15Buckley Miller Wright PROPOSAL1Xuxue Feng
1036Juan Y SergiJapan2026-10-09Commercial Press PROPOSAL88Amy Elsner
1037Misaki Q VocelkaAustralia2026-10-26Dorl, James J Esq NEGOTIATION77Asiya Javayant
1038Costa Z OstroskyCanada2026-10-20Truhlar And Truhlar Attys PROPOSAL52Amy Elsner
1039Faith U AmigonJapan2026-10-06Buckley Miller Wright RENEWAL93Bernardo Dominic
1040Aika C GarufiSpain2026-10-06Truhlar And Truhlar Attys NEGOTIATION74Bernardo Dominic
1041Arvin Q VenereAustralia2026-10-15Rousseaux, Michael Esq NEGOTIATION92Amy Elsner
1042Francesco Q AmigonArgentina2026-10-21Buckley Miller Wright NEGOTIATION7Elwin Sharvill
1043Cody T BriddickFrance2026-10-10Dorl, James J Esq QUALIFIED96Ivan Magalhaes
1044Deepesh D MaletRussia2026-10-20Truhlar And Truhlar Attys QUALIFIED67Xuxue Feng
1045Deepesh N GillianCanada2026-11-04Dorl, James J Esq PROPOSAL16Ivan Magalhaes
1046Ashley D RoysterRussia2026-11-02King, Christopher A Esq QUALIFIED94Xuxue Feng
1047Stacey H PaprockiUnited Kingdom2026-10-18Benton, John B Jr NEW6Onyama Limba
1048Johnson D MarrierAustralia2026-10-17Feiner Bros QUALIFIED84Xuxue Feng
1049Nicolas T SchemmerArgentina2026-10-09Rousseaux, Michael Esq RENEWAL82Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio O ShinkoRussiaBernardo Dominic NEW
Aruna O NestleItalyIvan Magalhaes NEGOTIATION
Aditya N OstroskyCanadaIvan Magalhaes NEW
Leon N DilliardBrazilXuxue Feng PROPOSAL
Alejandro W SergiAustraliaIvan Magalhaes NEGOTIATION
Emily M GillianUnited KingdomAmy Elsner UNQUALIFIED
Ivar S ChuiCanadaXuxue Feng NEW
Francesco A GarufiItalyBernardo Dominic UNQUALIFIED
Chavez F NestleUnited KingdomIvan Magalhaes PROPOSAL
Salvatore K WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Francesco E MorascaJapanElwin Sharvill NEGOTIATION
Kadeem U RoysterItalyXuxue Feng QUALIFIED
Juan P FigeroaBrazilOnyama Limba QUALIFIED
Deepesh P PoquetteIndiaAsiya Javayant RENEWAL
Isabel Q MorascaGermanyIvan Magalhaes RENEWAL
Misaki A ButtIndiaAnna Fali RENEWAL
Rodrigues C RoysterItalyStephen Shaw NEGOTIATION
Misaki G MacleadAustraliaAsiya Javayant QUALIFIED
Deepesh E WhobreyArgentinaAmy Elsner NEW
Octavia A PaprockiUnited KingdomAmy Elsner QUALIFIED
Jefferson C RulapaughUnited KingdomOnyama Limba RENEWAL
Munro Z WaycottRussiaXuxue Feng NEGOTIATION
Ricardo D StensethFranceIoni Bowcher QUALIFIED
Alejandro W NestleAustraliaAmy Elsner NEW
Aditya D SchemmerUnited KingdomStephen Shaw QUALIFIED
Arvin N NickaCanadaXuxue Feng QUALIFIED
Ricardo S FerenczRussiaAmy Elsner QUALIFIED
Silvio L WieserItalyXuxue Feng QUALIFIED
Misaki Y IturbideUnited KingdomOnyama Limba PROPOSAL
Francesco W GillianRussiaStephen Shaw UNQUALIFIED
Mayumi R AlbaresGermanyOnyama Limba QUALIFIED
Juan T MaletSpainElwin Sharvill NEGOTIATION
Ivar O SlusarskiIndiaAnna Fali QUALIFIED
Cody U PoquetteItalyAnna Fali UNQUALIFIED
Jefferson U BriddickCanadaAmy Elsner PROPOSAL
Greenwood D VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Johnson S DarakjyAustraliaBernardo Dominic NEGOTIATION
Leon J SlusarskiJapanIvan Magalhaes NEW
Jennifer N WhobreyAustraliaAsiya Javayant PROPOSAL
Munro X MarrierCanadaIvan Magalhaes RENEWAL
Rodrigues K FigeroaFranceAnna Fali PROPOSAL
Ricardo M SlusarskiAustraliaBernardo Dominic QUALIFIED
Munro C KuskoJapanXuxue Feng UNQUALIFIED
Cody Y DoeCanadaXuxue Feng NEGOTIATION
Chavez D VocelkaCanadaAmy Elsner RENEWAL
Francesco H NickaSpainAsiya Javayant QUALIFIED
Salvatore K OldroydJapanBernardo Dominic QUALIFIED
Francesco K ChuiJapanIvan Magalhaes NEW
Morrow I KuskoIndiaAsiya Javayant NEW
Morrow G CaudyRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Juan D Flosi
Julie W Whobrey
Francesco C Malet
Wickens P Bowley
Ashley I Venere
Cody X Rim
Jones N Kolmetz
Rodrigues D Stockham
Arvin I Inouye
Antonio E Inouye
Wickens A Stockham
Chavez G Campain
Leja E Kusko
Deepesh D Caldarera
Kadeem Q Venere
Faith H Gillian
Alejandro M Paprocki
Munro G Vocelka
David M Glick
Juan O Schemmer
Francesco P Oldroyd
Sinclair I Darakjy
Misaki S Caldarera
Kadeem G Vocelka
Silvio B Kolmetz
Nicolas W Ruta
Nicolas K Glick
Johnson B Bolognia
Francesco B Iturbide
Julie W Oldroyd
Emily B Butt
Costa A Caldarera
Stacey M Tollner
Julie V Rulapaugh
Maria D Nicka
Faith U Kusko
Salvatore Y Gillian
Greenwood E Whobrey
Greenwood W Nicka
Isabel A Chui
Aika T Glick
Deepesh J Garufi
Jones M Gillian
Cody R Paprocki
Juan P Nestle
David U Slusarski
Leja Y Gaucho
Ricardo S Caudy
Faith U Sergi
Jones C Malet
IdCountryDate
1000Canada2026-10-06
1001Argentina2026-10-28
1002United Kingdom2026-10-06
1003Germany2026-10-11
1004Spain2026-11-01
1005Australia2026-10-11
1006Russia2026-10-25
1007Russia2026-10-08
1008United Kingdom2026-10-22
1009France2026-10-16
1010Australia2026-10-27
1011Argentina2026-10-18
1012Russia2026-10-31
1013Australia2026-10-10
1014Australia2026-11-01
1015Australia2026-10-07
1016Spain2026-10-07
1017Russia2026-10-24
1018Germany2026-10-12
1019Japan2026-10-12
1020Japan2026-10-11
1021France2026-10-14
1022Spain2026-10-25
1023Australia2026-10-06
1024Australia2026-10-29
1025India2026-11-04
1026Russia2026-11-01
1027Argentina2026-10-18
1028Russia2026-11-01
1029Canada2026-10-21
1030France2026-10-15
1031Italy2026-10-25
1032Canada2026-10-30
1033Germany2026-10-18
1034France2026-10-06
1035United Kingdom2026-10-25
1036Argentina2026-11-01
1037Germany2026-10-15
1038Argentina2026-10-29
1039Brazil2026-10-20
1040United Kingdom2026-10-11
1041Germany2026-10-07
1042Japan2026-11-04
1043United Kingdom2026-11-03
1044Brazil2026-10-11
1045Australia2026-11-01
1046Spain2026-10-11
1047Canada2026-10-18
1048Japan2026-10-28
1049Argentina2026-10-11

On-Demand Data

NameIdCountryDate
Isabel D Rim1000Italy2026-10-10
Kadeem L Tollner1001United Kingdom2026-10-31
Isabel K Nestle1002Germany2026-10-30
Leja G Schemmer1003France2026-10-28
Munro W Morasca1004Russia2026-10-12
David F Briddick1005Brazil2026-10-27
Munro K Morasca1006Spain2026-10-22
Juan E Marrier1007Italy2026-10-26
Jennifer M Nestle1008United Kingdom2026-10-19
Jennifer S Saylors1009Canada2026-10-30
Faith I Caldarera1010Australia2026-11-04
Izzy Y Darakjy1011Russia2026-10-27
Darci F Venere1012Spain2026-10-13
Darci A Gillian1013Russia2026-10-31
Claire L Doe1014France2026-10-07
Johnson K Inouye1015Argentina2026-10-30
Leon V Foller1016Japan2026-10-12
Emily W Morasca1017Argentina2026-10-30
Arvin I Stenseth1018Argentina2026-10-17
Juan P Albares1019France2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio G VocelkaItalyIoni Bowcher UNQUALIFIED
Morrow U FigeroaRussiaElwin Sharvill UNQUALIFIED
Jones W KolmetzArgentinaAmy Elsner NEGOTIATION
Antonio M PoquetteArgentinaIvan Magalhaes RENEWAL
Ricardo W CampainItalyAnna Fali QUALIFIED
Rodrigues G BowleyJapanXuxue Feng QUALIFIED
Francesco U MarrierIndiaIvan Magalhaes RENEWAL
James K GillianJapanBernardo Dominic QUALIFIED
Emily N WaycottJapanBernardo Dominic NEGOTIATION
Leja Y TollnerIndiaElwin Sharvill NEGOTIATION
Clifford C MacleadArgentinaXuxue Feng QUALIFIED
Leja Q MacleadCanadaIoni Bowcher NEGOTIATION
Chavez Q KuskoFranceOnyama Limba RENEWAL
Greenwood E RoysterJapanElwin Sharvill RENEWAL
Rodrigues I BriddickFranceBernardo Dominic UNQUALIFIED
Jeanfrancois N CampainSpainIvan Magalhaes QUALIFIED
Antonio Y RutaItalyAmy Elsner NEW
Aika T SergiArgentinaAsiya Javayant PROPOSAL
Julie X DilliardCanadaIoni Bowcher PROPOSAL
Salvatore V StockhamJapanOnyama Limba UNQUALIFIED
Maria I DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna R CaldareraUnited KingdomAsiya Javayant RENEWAL
Nicolas B AmigonBrazilIvan Magalhaes UNQUALIFIED
Nicolas R KuskoRussiaElwin Sharvill NEGOTIATION
Darci A TollnerItalyAnna Fali NEW
Costa P InouyeAustraliaIvan Magalhaes RENEWAL
Adams H WieserGermanyIoni Bowcher RENEWAL
Clifford H SergiUnited KingdomStephen Shaw QUALIFIED
Isabel N SergiFranceXuxue Feng NEGOTIATION
Chavez V StensethSpainAsiya Javayant NEGOTIATION
Juan N PaprockiRussiaBernardo Dominic NEGOTIATION
Octavia T BologniaItalyIoni Bowcher PROPOSAL
Smith S RutaAustraliaIoni Bowcher QUALIFIED
Claire R FerenczUnited KingdomIvan Magalhaes QUALIFIED
Cody P FollerSpainIvan Magalhaes PROPOSAL
Jeanfrancois X VocelkaUnited KingdomBernardo Dominic PROPOSAL
Wickens T MacleadAustraliaOnyama Limba UNQUALIFIED
Silvio S RimBrazilAsiya Javayant QUALIFIED
Antonio G SaylorsRussiaIvan Magalhaes RENEWAL
Jeanfrancois O NestleRussiaAnna Fali 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>