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
Clifford S KuskoCanadaAmy Elsner NEGOTIATION
Ivar C ChuiAustraliaStephen Shaw RENEWAL
Antonio G SergiFranceElwin Sharvill PROPOSAL
Leja V ChuiJapanStephen Shaw QUALIFIED
Misaki H SergiSpainAmy Elsner RENEWAL
Johnson P VenereUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois V WaycottRussiaAsiya Javayant NEW
Antonio S WhobreyFranceStephen Shaw QUALIFIED
Silvio Z AlbaresArgentinaIoni Bowcher UNQUALIFIED
Jennifer C StensethFranceXuxue Feng NEGOTIATION
Deepesh T FerenczCanadaAsiya Javayant NEGOTIATION
Kaitlin B MarrierBrazilAnna Fali RENEWAL
Costa G BriddickAustraliaAsiya Javayant NEGOTIATION
Mayumi B MaletBrazilStephen Shaw NEW
Jennifer U StockhamFranceBernardo Dominic RENEWAL
Aditya H CaudyAustraliaBernardo Dominic NEW
Aika N RimUnited KingdomBernardo Dominic UNQUALIFIED
Leja Q ChuiCanadaAmy Elsner NEW
Jefferson N TollnerRussiaOnyama Limba NEW
Juan D NestleAustraliaAnna Fali PROPOSAL
Sinclair P SchemmerBrazilIvan Magalhaes PROPOSAL
Costa O GarufiGermanyIvan Magalhaes PROPOSAL
Chavez F CaldareraRussiaBernardo Dominic QUALIFIED
Kaitlin M DilliardBrazilAsiya Javayant NEW
Jefferson G NestleIndiaOnyama Limba QUALIFIED
Ivar J DoeItalyXuxue Feng RENEWAL
Octavia A PerinItalyStephen Shaw QUALIFIED
James Q RimCanadaAnna Fali QUALIFIED
Mayumi A ShinkoBrazilIvan Magalhaes QUALIFIED
David F SchemmerUnited KingdomStephen Shaw NEGOTIATION
Ivar Q NickaRussiaAmy Elsner UNQUALIFIED
Silvio B PoquetteJapanStephen Shaw PROPOSAL
Kadeem S MacleadFranceIvan Magalhaes PROPOSAL
Aika F TollnerGermanyIvan Magalhaes NEGOTIATION
Tony P RutaSpainXuxue Feng NEW
Adams Y DoeBrazilBernardo Dominic RENEWAL
James J SergiAustraliaAmy Elsner RENEWAL
Jeanfrancois V InouyeIndiaIoni Bowcher PROPOSAL
Cody P KolmetzFranceIvan Magalhaes RENEWAL
Smith B FlosiIndiaBernardo Dominic UNQUALIFIED
Chavez X ChuiArgentinaElwin Sharvill RENEWAL
David V GauchoFranceAmy Elsner QUALIFIED
Arvin M PoquetteRussiaXuxue Feng UNQUALIFIED
Mujtaba X PerinCanadaElwin Sharvill QUALIFIED
Cody Q WhobreyBrazilXuxue Feng UNQUALIFIED
Juan N GillianArgentinaAsiya Javayant UNQUALIFIED
Rodrigues J TollnerIndiaAnna Fali NEGOTIATION
Jennifer E AmigonCanadaXuxue Feng UNQUALIFIED
Cody A MarrierIndiaAnna Fali NEGOTIATION
Arvin L SergiJapanIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro X NestleArgentinaStephen Shaw NEW
Cody S VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Juan Y BologniaCanadaElwin Sharvill UNQUALIFIED
Costa Z WieserJapanElwin Sharvill PROPOSAL
Mujtaba I OldroydIndiaAsiya Javayant QUALIFIED
Maria O NickaJapanBernardo Dominic RENEWAL
Jones K BowleyGermanyAnna Fali RENEWAL
Emily S DilliardJapanStephen Shaw NEW
Claire E WhobreyArgentinaOnyama Limba RENEWAL
Claire Q MarrierGermanyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois F KuskoRussia2026-09-26Feltz Printing Service QUALIFIED33Asiya Javayant
1001Wickens L MarrierBrazil2026-09-29Feiner Bros PROPOSAL60Amy Elsner
1002Octavia X VenereFrance2026-09-22Chemel, James L Cpa NEGOTIATION77Anna Fali
1003Leon N RutaFrance2026-10-11Chapman, Ross E Esq NEGOTIATION47Bernardo Dominic
1004Greenwood A KuskoArgentina2026-10-07Commercial Press QUALIFIED93Asiya Javayant
1005Darci C ChuiUnited Kingdom2026-09-20Dorl, James J Esq UNQUALIFIED71Anna Fali
1006James N GarufiIndia2026-10-11Commercial Press UNQUALIFIED81Asiya Javayant
1007Tony S ShinkoUnited Kingdom2026-10-05Benton, John B Jr QUALIFIED2Xuxue Feng
1008Leja T GauchoItaly2026-10-11King, Christopher A Esq NEW54Ioni Bowcher
1009Arvin J KuskoAustralia2026-10-01Rangoni Of Florence RENEWAL6Ioni Bowcher
1010Mujtaba Y GlickArgentina2026-10-15Chapman, Ross E Esq UNQUALIFIED73Anna Fali
1011Murillo O IturbideJapan2026-09-26Benton, John B Jr RENEWAL50Onyama Limba
1012Sinclair O RoysterJapan2026-09-30Chanay, Jeffrey A Esq RENEWAL16Elwin Sharvill
1013Faith C FigeroaSpain2026-10-03Morlong Associates PROPOSAL74Xuxue Feng
1014Maria A MorascaRussia2026-10-10Morlong Associates PROPOSAL54Onyama Limba
1015Ricardo Z DoeIndia2026-09-21Chemel, James L Cpa NEW88Elwin Sharvill
1016Nicolas C IturbideGermany2026-10-10Rangoni Of Florence UNQUALIFIED51Ivan Magalhaes
1017Maisha R StensethIndia2026-10-12Chapman, Ross E Esq NEGOTIATION96Asiya Javayant
1018Mayumi Q InouyeFrance2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED42Bernardo Dominic
1019Mujtaba M VocelkaArgentina2026-10-05Commercial Press NEW14Asiya Javayant
1020Stacey O ChuiRussia2026-09-21Feiner Bros PROPOSAL17Amy Elsner
1021Aruna O PerinBrazil2026-10-09Chemel, James L Cpa PROPOSAL98Stephen Shaw
1022Emily M WieserJapan2026-10-19Morlong Associates NEGOTIATION73Bernardo Dominic
1023Wickens U ChuiBrazil2026-10-04Feltz Printing Service NEW28Onyama Limba
1024Ashley H TollnerBrazil2026-10-16Chanay, Jeffrey A Esq RENEWAL30Stephen Shaw
1025Jennifer J KuskoUnited Kingdom2026-09-27Chemel, James L Cpa RENEWAL81Ioni Bowcher
1026Chavez H KolmetzBrazil2026-10-04Rangoni Of Florence RENEWAL31Asiya Javayant
1027Mujtaba Y VenereAustralia2026-10-04Feiner Bros PROPOSAL35Onyama Limba
1028Leja U RimIndia2026-10-16Chanay, Jeffrey A Esq NEW70Amy Elsner
1029Izzy H GauchoIndia2026-10-13Chemel, James L Cpa RENEWAL56Ioni Bowcher
1030Leja V VenereBrazil2026-10-17Benton, John B Jr PROPOSAL80Ioni Bowcher
1031Wickens Y FlosiIndia2026-10-03Dorl, James J Esq PROPOSAL41Asiya Javayant
1032Leon T InouyeItaly2026-10-02Benton, John B Jr PROPOSAL5Ivan Magalhaes
1033Aruna A BologniaAustralia2026-10-11Commercial Press NEW98Ivan Magalhaes
1034Faith P RulapaughUnited Kingdom2026-10-16Morlong Associates RENEWAL52Ivan Magalhaes
1035Maisha I OstroskyUnited Kingdom2026-10-17Rangoni Of Florence PROPOSAL28Amy Elsner
1036Isabel Z FerenczFrance2026-10-13Chemel, James L Cpa PROPOSAL98Amy Elsner
1037Aruna L GarufiGermany2026-10-13Rousseaux, Michael Esq NEW32Stephen Shaw
1038Salvatore O DarakjyUnited Kingdom2026-10-07Feiner Bros NEGOTIATION16Stephen Shaw
1039Munro Y CampainFrance2026-10-07Rousseaux, Michael Esq QUALIFIED38Ivan Magalhaes
1040Aruna V BologniaGermany2026-10-10Rousseaux, Michael Esq UNQUALIFIED69Onyama Limba
1041Leon R WhobreyCanada2026-10-10Benton, John B Jr PROPOSAL64Onyama Limba
1042Clifford U RulapaughBrazil2026-10-09Chemel, James L Cpa NEW71Asiya Javayant
1043Munro K PerinRussia2026-10-01Dorl, James J Esq NEW17Bernardo Dominic
1044Isabel L SlusarskiCanada2026-10-13Commercial Press QUALIFIED7Onyama Limba
1045Rodrigues P MacleadItaly2026-10-03Morlong Associates NEGOTIATION17Anna Fali
1046Octavia H TollnerFrance2026-09-29Feiner Bros PROPOSAL91Bernardo Dominic
1047Jefferson K CaldareraFrance2026-10-09Chanay, Jeffrey A Esq PROPOSAL80Onyama Limba
1048Wickens S RoysterRussia2026-10-12Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1049Chavez R VenereAustralia2026-10-02Buckley Miller Wright PROPOSAL92Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Z RulapaughCanadaStephen Shaw RENEWAL
Darci P StensethUnited KingdomAsiya Javayant UNQUALIFIED
Maria R CaldareraFranceAsiya Javayant NEGOTIATION
Maisha P BologniaArgentinaAmy Elsner QUALIFIED
Greenwood G MorascaJapanXuxue Feng NEW
James R SchemmerAustraliaAsiya Javayant UNQUALIFIED
Francesco U CaudyBrazilIvan Magalhaes NEGOTIATION
Salvatore K AlbaresRussiaIoni Bowcher RENEWAL
Murillo G OldroydUnited KingdomStephen Shaw NEW
Murillo S OldroydUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin B SchemmerBrazilIvan Magalhaes PROPOSAL
Faith K RimJapanAmy Elsner RENEWAL
Chavez S ChuiGermanyIoni Bowcher QUALIFIED
Nicolas S FigeroaGermanyStephen Shaw RENEWAL
Nicolas Z GarufiJapanAsiya Javayant NEW
Jones E FigeroaCanadaIoni Bowcher RENEWAL
Aika N WaycottUnited KingdomIoni Bowcher QUALIFIED
Costa I MacleadItalyStephen Shaw UNQUALIFIED
Silvio F FerenczFranceXuxue Feng NEGOTIATION
Mujtaba H GarufiSpainXuxue Feng NEW
Julie E WaycottCanadaStephen Shaw NEW
Greenwood T SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Ricardo H ButtCanadaAmy Elsner RENEWAL
Octavia M NestleGermanyOnyama Limba NEGOTIATION
Kadeem S FerenczSpainIoni Bowcher UNQUALIFIED
Chavez H MorascaCanadaIoni Bowcher RENEWAL
Adams J FlosiBrazilAsiya Javayant UNQUALIFIED
Emily P RimArgentinaBernardo Dominic NEGOTIATION
Misaki P PaprockiSpainAsiya Javayant PROPOSAL
Murillo A GarufiSpainAsiya Javayant QUALIFIED
Faith W SergiAustraliaElwin Sharvill NEW
Jefferson J IturbideJapanAmy Elsner PROPOSAL
Aditya W NestleGermanyAmy Elsner UNQUALIFIED
Costa Z FlosiUnited KingdomOnyama Limba NEW
Kadeem S VocelkaGermanyBernardo Dominic UNQUALIFIED
Maria B FlosiFranceElwin Sharvill NEW
Deepesh X WaycottSpainBernardo Dominic UNQUALIFIED
Cody W StockhamFranceAsiya Javayant NEW
Salvatore K MaletGermanyIoni Bowcher RENEWAL
Murillo D DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues Z DilliardAustraliaAmy Elsner NEW
Mujtaba D BriddickBrazilAmy Elsner NEW
Wickens Y SlusarskiUnited KingdomStephen Shaw PROPOSAL
Arvin T GillianGermanyElwin Sharvill UNQUALIFIED
David D FigeroaItalyIoni Bowcher NEW
Ricardo R FigeroaIndiaAmy Elsner QUALIFIED
Morrow G VocelkaSpainStephen Shaw QUALIFIED
Johnson X PaprockiBrazilXuxue Feng NEW
Ivar U CampainRussiaIvan Magalhaes QUALIFIED
Ivar W WaycottUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Leon Y Bolognia
Ashley T Paprocki
Ivar S Oldroyd
Sinclair J Gaucho
Julie U Albares
Nicolas W Marrier
Mujtaba J Figeroa
Misaki C Gillian
Silvio W Gillian
Misaki G Bowley
Jones H Caldarera
Sinclair L Darakjy
Aditya K Chui
Silvio R Venere
Juan Y Vocelka
Munro V Shinko
Salvatore V Rulapaugh
Ricardo U Malet
Munro V Caudy
Arvin T Oldroyd
Ricardo B Foller
Maria J Amigon
Ashley Y Maclead
Izzy I Glick
Juan P Stenseth
Arvin L Kusko
Tony I Stockham
Ricardo Z Figeroa
Adams I Dilliard
Antonio M Albares
Kaitlin W Caudy
Wickens U Stockham
Emily C Whobrey
Nicolas W Perin
Stacey J Ostrosky
Mayumi W Maclead
Johnson N Dilliard
Isabel M Schemmer
Ashley G Wieser
Ashley W Maclead
Leon U Gaucho
James J Kusko
Cody T Bowley
Kadeem X Doe
Faith N Maclead
Sinclair B Paprocki
Rodrigues G Caldarera
Munro T Vocelka
Arvin K Schemmer
Wickens U Bolognia
IdCountryDate
1000Argentina2026-09-24
1001Italy2026-10-07
1002Argentina2026-10-02
1003Brazil2026-10-16
1004United Kingdom2026-09-30
1005Spain2026-09-29
1006Spain2026-09-21
1007Canada2026-09-21
1008Japan2026-10-08
1009Japan2026-10-18
1010Spain2026-09-24
1011Germany2026-10-04
1012Japan2026-09-21
1013Brazil2026-09-24
1014France2026-09-20
1015Japan2026-10-01
1016Germany2026-10-17
1017India2026-10-18
1018France2026-10-15
1019Australia2026-10-06
1020Germany2026-10-16
1021Spain2026-09-21
1022Brazil2026-09-23
1023United Kingdom2026-09-20
1024United Kingdom2026-10-17
1025United Kingdom2026-09-23
1026Japan2026-09-27
1027Germany2026-09-28
1028United Kingdom2026-10-06
1029Canada2026-09-23
1030Germany2026-09-21
1031Italy2026-10-15
1032France2026-10-06
1033Russia2026-09-28
1034Canada2026-10-02
1035Germany2026-10-15
1036Russia2026-10-01
1037France2026-10-15
1038Australia2026-09-27
1039Italy2026-10-15
1040Japan2026-10-19
1041Russia2026-09-20
1042India2026-10-02
1043Japan2026-10-04
1044Japan2026-09-29
1045Australia2026-09-25
1046Japan2026-10-12
1047United Kingdom2026-10-03
1048Argentina2026-10-03
1049Japan2026-10-15

On-Demand Data

NameIdCountryDate
Cody Y Stenseth1000Japan2026-09-25
Murillo C Slusarski1001Italy2026-10-07
Adams L Figeroa1002Argentina2026-10-08
Sinclair N Chui1003Australia2026-10-14
Salvatore L Ruta1004Canada2026-10-13
Leja I Stockham1005Japan2026-10-18
Clifford J Rim1006Argentina2026-10-18
Kaitlin S Vocelka1007France2026-10-10
Silvio K Inouye1008Canada2026-10-06
Clifford F Iturbide1009Russia2026-10-09
Deepesh Y Nestle1010Russia2026-10-08
Octavia Y Albares1011Germany2026-10-12
Wickens Y Malet1012France2026-10-03
Aika M Kolmetz1013Spain2026-10-15
Mayumi T Bowley1014Australia2026-10-04
Adams Y Foller1015United Kingdom2026-10-04
Faith R Perin1016Germany2026-09-27
Alejandro R Caldarera1017United Kingdom2026-09-27
Greenwood K Chui1018Argentina2026-09-30
Aditya O Saylors1019Italy2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z AmigonJapanOnyama Limba NEW
Smith E BowleyJapanStephen Shaw UNQUALIFIED
Alejandro K CaudyFranceAsiya Javayant QUALIFIED
Salvatore X FerenczRussiaAnna Fali UNQUALIFIED
Maria V PaprockiBrazilStephen Shaw NEW
Claire D DoeRussiaAsiya Javayant NEGOTIATION
James H VocelkaArgentinaOnyama Limba PROPOSAL
Silvio O KolmetzIndiaAmy Elsner UNQUALIFIED
Jeanfrancois K GlickItalyIoni Bowcher QUALIFIED
Murillo O MarrierGermanyBernardo Dominic NEW
Aika U DilliardFranceBernardo Dominic UNQUALIFIED
Alejandro A WaycottArgentinaBernardo Dominic NEGOTIATION
Clifford O WaycottSpainBernardo Dominic UNQUALIFIED
Aika G OldroydFranceElwin Sharvill NEGOTIATION
Mujtaba R BologniaIndiaElwin Sharvill NEGOTIATION
Jones I DoeRussiaOnyama Limba NEGOTIATION
Jeanfrancois B KolmetzIndiaIoni Bowcher PROPOSAL
Ivar H FigeroaUnited KingdomElwin Sharvill PROPOSAL
Jones Q PaprockiFranceBernardo Dominic RENEWAL
Salvatore H WaycottJapanAsiya Javayant UNQUALIFIED
Tony N StockhamUnited KingdomStephen Shaw NEGOTIATION
Greenwood H VocelkaItalyAnna Fali NEGOTIATION
Juan F NestleUnited KingdomOnyama Limba UNQUALIFIED
Salvatore B MacleadArgentinaAsiya Javayant NEW
Misaki V PoquetteUnited KingdomOnyama Limba RENEWAL
Cody N MaletCanadaIvan Magalhaes RENEWAL
Tony M MarrierItalyXuxue Feng QUALIFIED
Jefferson S CaudyCanadaElwin Sharvill RENEWAL
Salvatore H PerinSpainBernardo Dominic RENEWAL
Misaki N WieserGermanyIvan Magalhaes PROPOSAL
Sinclair H KuskoItalyIoni Bowcher NEW
David T NickaItalyBernardo Dominic PROPOSAL
Misaki X FollerArgentinaBernardo Dominic QUALIFIED
Leja L MaletUnited KingdomXuxue Feng UNQUALIFIED
Arvin D FollerGermanyIvan Magalhaes QUALIFIED
Silvio G WhobreyUnited KingdomOnyama Limba QUALIFIED
Darci I CaudyUnited KingdomAnna Fali RENEWAL
Johnson R KolmetzBrazilElwin Sharvill RENEWAL
Aika I CaudyRussiaBernardo Dominic QUALIFIED
Chavez M KuskoItalyIvan Magalhaes 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>