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
David X StockhamUnited KingdomIoni Bowcher RENEWAL
Ashley X GarufiAustraliaAmy Elsner NEW
Morrow P SlusarskiAustraliaStephen Shaw UNQUALIFIED
Antonio G DoeCanadaXuxue Feng NEW
Johnson Q MacleadCanadaBernardo Dominic RENEWAL
Mujtaba J SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Aditya C FerenczJapanElwin Sharvill NEGOTIATION
Munro S InouyeJapanAnna Fali QUALIFIED
Adams N VocelkaArgentinaAmy Elsner PROPOSAL
Aditya T WhobreyUnited KingdomAmy Elsner RENEWAL
Aika C GlickArgentinaStephen Shaw NEGOTIATION
Murillo H BologniaJapanAsiya Javayant NEW
Emily I KolmetzIndiaStephen Shaw RENEWAL
Murillo A PoquetteJapanXuxue Feng PROPOSAL
Salvatore O MarrierBrazilAsiya Javayant NEW
Jeanfrancois W SaylorsIndiaOnyama Limba NEGOTIATION
Aditya L RutaJapanIoni Bowcher NEW
Smith D AlbaresRussiaXuxue Feng NEGOTIATION
Murillo K TollnerIndiaIvan Magalhaes QUALIFIED
Wickens Q GarufiAustraliaAmy Elsner RENEWAL
Aika A KuskoCanadaOnyama Limba NEW
Johnson L WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Deepesh U VenereGermanyStephen Shaw RENEWAL
David I InouyeUnited KingdomStephen Shaw PROPOSAL
Mujtaba I KuskoBrazilXuxue Feng QUALIFIED
Adams L PoquetteItalyIoni Bowcher PROPOSAL
Costa Y SchemmerArgentinaBernardo Dominic NEGOTIATION
Wickens N GlickUnited KingdomAsiya Javayant RENEWAL
Julie V GauchoItalyElwin Sharvill UNQUALIFIED
Murillo L RutaCanadaIvan Magalhaes RENEWAL
Mujtaba L FigeroaCanadaElwin Sharvill RENEWAL
Costa M MarrierBrazilAnna Fali QUALIFIED
Darci H DilliardGermanyElwin Sharvill NEGOTIATION
Murillo O NickaBrazilAnna Fali UNQUALIFIED
James O KuskoRussiaXuxue Feng NEW
Maisha X DarakjyFranceElwin Sharvill PROPOSAL
Maisha J RoysterItalyElwin Sharvill RENEWAL
Smith F ChuiCanadaOnyama Limba RENEWAL
Jennifer Y MaletIndiaIoni Bowcher NEW
Kaitlin C BowleyAustraliaAmy Elsner NEGOTIATION
Aruna N DoeCanadaAmy Elsner QUALIFIED
Costa H OldroydJapanStephen Shaw UNQUALIFIED
Ivar O TollnerSpainAnna Fali UNQUALIFIED
Mujtaba Z RulapaughAustraliaStephen Shaw QUALIFIED
Aditya S OldroydArgentinaElwin Sharvill RENEWAL
Jefferson N KuskoItalyAnna Fali NEGOTIATION
Misaki J ShinkoUnited KingdomOnyama Limba PROPOSAL
Ricardo B WhobreyGermanyAmy Elsner NEGOTIATION
Sinclair X GauchoFranceOnyama Limba NEW
Kaitlin G PerinIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams Y SlusarskiBrazilOnyama Limba NEGOTIATION
Mujtaba S VocelkaFranceOnyama Limba NEGOTIATION
Izzy F ShinkoIndiaElwin Sharvill RENEWAL
Izzy M FlosiIndiaOnyama Limba NEGOTIATION
Stacey E MacleadArgentinaOnyama Limba UNQUALIFIED
Emily Y FerenczFranceIvan Magalhaes RENEWAL
Juan N StensethRussiaOnyama Limba NEGOTIATION
Ricardo B CampainFranceAnna Fali PROPOSAL
Aruna U StensethAustraliaOnyama Limba NEW
Cody E RutaUnited KingdomStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon T MarrierCanada2026-09-02Dorl, James J Esq NEW96Bernardo Dominic
1001Emily O BowleyGermany2026-09-11Dorl, James J Esq NEGOTIATION31Amy Elsner
1002Chavez S RulapaughSpain2026-09-02Chemel, James L Cpa NEGOTIATION71Asiya Javayant
1003Ricardo L CampainItaly2026-09-11Morlong Associates NEW29Ioni Bowcher
1004Jefferson S WhobreyAustralia2026-09-08Chemel, James L Cpa PROPOSAL18Amy Elsner
1005Jennifer H SergiUnited Kingdom2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED35Onyama Limba
1006Tony M MorascaBrazil2026-08-24Morlong Associates RENEWAL59Xuxue Feng
1007Cody X BowleyBrazil2026-08-22Chapman, Ross E Esq NEGOTIATION35Asiya Javayant
1008Aditya V IturbideIndia2026-09-06King, Christopher A Esq UNQUALIFIED41Ioni Bowcher
1009Munro J VenereCanada2026-09-19Printing Dimensions UNQUALIFIED26Onyama Limba
1010Sinclair P ChuiItaly2026-09-02Rangoni Of Florence PROPOSAL0Onyama Limba
1011Isabel H FigeroaSpain2026-09-04Morlong Associates PROPOSAL14Bernardo Dominic
1012Deepesh M MacleadJapan2026-08-22Commercial Press PROPOSAL16Xuxue Feng
1013Greenwood L SchemmerJapan2026-08-30Rangoni Of Florence PROPOSAL22Onyama Limba
1014Ricardo T AlbaresJapan2026-09-01Morlong Associates NEW88Stephen Shaw
1015Chavez X RutaBrazil2026-09-11Feltz Printing Service NEGOTIATION75Ivan Magalhaes
1016Adams W FollerFrance2026-08-21Buckley Miller Wright PROPOSAL18Anna Fali
1017Aditya G AmigonCanada2026-08-30Commercial Press NEW93Onyama Limba
1018Adams S SaylorsGermany2026-09-13King, Christopher A Esq RENEWAL74Anna Fali
1019Nicolas H ButtJapan2026-09-14Feltz Printing Service QUALIFIED71Ioni Bowcher
1020Ashley C BowleyRussia2026-09-03Feiner Bros NEW76Ioni Bowcher
1021Jeanfrancois S PaprockiFrance2026-09-12Chapman, Ross E Esq PROPOSAL84Asiya Javayant
1022Ricardo T SlusarskiCanada2026-09-14Buckley Miller Wright NEGOTIATION77Onyama Limba
1023Octavia H AmigonItaly2026-09-04Morlong Associates NEGOTIATION32Asiya Javayant
1024Kadeem X DilliardUnited Kingdom2026-09-02Chapman, Ross E Esq RENEWAL4Xuxue Feng
1025Arvin B GauchoRussia2026-08-22Morlong Associates UNQUALIFIED79Elwin Sharvill
1026Jones U ButtCanada2026-09-10Morlong Associates RENEWAL61Elwin Sharvill
1027Deepesh E RutaSpain2026-09-07Feiner Bros UNQUALIFIED97Anna Fali
1028Antonio M AmigonArgentina2026-08-25Truhlar And Truhlar Attys NEGOTIATION45Ioni Bowcher
1029Jennifer Z MorascaAustralia2026-09-19Feiner Bros UNQUALIFIED98Onyama Limba
1030Aditya O MaletAustralia2026-08-21Feiner Bros RENEWAL65Xuxue Feng
1031Leja B GarufiFrance2026-08-29Benton, John B Jr NEW80Anna Fali
1032Mujtaba C OldroydItaly2026-09-05King, Christopher A Esq QUALIFIED68Xuxue Feng
1033Isabel W FollerSpain2026-09-06Buckley Miller Wright QUALIFIED7Ivan Magalhaes
1034Leja H ShinkoFrance2026-09-16Printing Dimensions UNQUALIFIED99Asiya Javayant
1035Maisha Z NickaIndia2026-08-27Chemel, James L Cpa NEW45Bernardo Dominic
1036Adams O PoquetteJapan2026-09-10Feltz Printing Service QUALIFIED69Onyama Limba
1037James C CampainCanada2026-08-22Commercial Press RENEWAL38Ioni Bowcher
1038Juan D MaletIndia2026-08-21Rangoni Of Florence QUALIFIED59Ioni Bowcher
1039Wickens R BologniaSpain2026-09-03Truhlar And Truhlar Attys NEGOTIATION9Amy Elsner
1040Aika A IturbideItaly2026-08-28Feiner Bros PROPOSAL14Stephen Shaw
1041Greenwood T ChuiBrazil2026-09-01Truhlar And Truhlar Attys NEGOTIATION42Asiya Javayant
1042Leon X ButtRussia2026-09-10King, Christopher A Esq PROPOSAL63Anna Fali
1043Silvio E WaycottFrance2026-08-22Morlong Associates NEW79Onyama Limba
1044Greenwood V NestleUnited Kingdom2026-08-23Truhlar And Truhlar Attys QUALIFIED46Amy Elsner
1045Salvatore P GauchoGermany2026-09-08Chapman, Ross E Esq NEW80Ivan Magalhaes
1046Ricardo G VenereRussia2026-09-01Feiner Bros NEGOTIATION1Ivan Magalhaes
1047David C FerenczUnited Kingdom2026-09-05Rangoni Of Florence NEGOTIATION34Xuxue Feng
1048Clifford K MaletArgentina2026-09-06Benton, John B Jr NEW45Onyama Limba
1049Sinclair E WaycottJapan2026-08-27Dorl, James J Esq NEW56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Wickens D MaletArgentinaOnyama Limba NEGOTIATION
Murillo D SchemmerRussiaAsiya Javayant QUALIFIED
Aika U BowleyIndiaStephen Shaw UNQUALIFIED
Kadeem P StensethIndiaOnyama Limba QUALIFIED
Murillo S NickaSpainBernardo Dominic RENEWAL
Jeanfrancois U BologniaBrazilAnna Fali QUALIFIED
Arvin M RoysterBrazilBernardo Dominic RENEWAL
Adams T RulapaughAustraliaOnyama Limba QUALIFIED
David X SchemmerGermanyStephen Shaw NEW
Costa C GillianRussiaIvan Magalhaes UNQUALIFIED
Wickens L SergiGermanyAnna Fali QUALIFIED
Maisha M TollnerRussiaBernardo Dominic UNQUALIFIED
Mayumi B WhobreyFranceIvan Magalhaes PROPOSAL
Arvin T MarrierItalyAsiya Javayant NEW
Ashley R SaylorsItalyStephen Shaw PROPOSAL
Morrow V BriddickCanadaBernardo Dominic QUALIFIED
Mayumi F BowleyRussiaElwin Sharvill QUALIFIED
Aruna Z RoysterSpainAsiya Javayant QUALIFIED
Isabel O WaycottCanadaIvan Magalhaes NEGOTIATION
Ricardo H ChuiAustraliaIvan Magalhaes PROPOSAL
Wickens G DarakjyItalyIoni Bowcher QUALIFIED
Morrow D SchemmerBrazilXuxue Feng QUALIFIED
Aruna J GauchoFranceOnyama Limba UNQUALIFIED
Aruna Q CaudyRussiaOnyama Limba NEW
Clifford S RutaFranceOnyama Limba UNQUALIFIED
Alejandro F DarakjyIndiaIoni Bowcher PROPOSAL
Mujtaba I PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Darci A GlickIndiaIvan Magalhaes PROPOSAL
James B SergiBrazilAnna Fali PROPOSAL
Wickens N MorascaBrazilBernardo Dominic PROPOSAL
Greenwood L GillianJapanIvan Magalhaes PROPOSAL
Kadeem F DarakjyAustraliaIoni Bowcher RENEWAL
Leon D DilliardGermanyElwin Sharvill RENEWAL
Antonio V MarrierBrazilElwin Sharvill NEGOTIATION
Jefferson K KuskoBrazilAsiya Javayant NEW
Maria C RulapaughAustraliaStephen Shaw UNQUALIFIED
Kadeem U CaudyArgentinaIoni Bowcher UNQUALIFIED
Antonio V FlosiGermanyOnyama Limba RENEWAL
Isabel H BologniaUnited KingdomStephen Shaw UNQUALIFIED
Leja Q ChuiUnited KingdomIvan Magalhaes RENEWAL
Isabel D SchemmerUnited KingdomIoni Bowcher RENEWAL
Greenwood C ShinkoUnited KingdomAsiya Javayant RENEWAL
Aditya X PaprockiCanadaIoni Bowcher NEGOTIATION
James H SlusarskiRussiaAnna Fali NEW
Greenwood H RutaItalyIvan Magalhaes PROPOSAL
Octavia L IturbideRussiaAmy Elsner UNQUALIFIED
Morrow G KuskoUnited KingdomStephen Shaw NEW
David Y DilliardJapanXuxue Feng QUALIFIED
Tony H RulapaughCanadaElwin Sharvill UNQUALIFIED
Octavia G FigeroaArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Octavia M Ferencz
Mujtaba Y Inouye
Maria E Malet
Maria L Kolmetz
Cody H Campain
Morrow L Nestle
James C Figeroa
Salvatore O Chui
Deepesh S Dilliard
Aika K Darakjy
Faith T Ostrosky
Jennifer Q Bolognia
Smith A Briddick
Greenwood X Glick
Silvio R Rim
Cody G Marrier
Clifford L Nicka
Darci C Caldarera
Izzy S Perin
Izzy J Campain
Salvatore O Bowley
Maisha P Perin
Deepesh H Albares
Ivar K Whobrey
Darci U Inouye
Kadeem D Glick
Clifford X Perin
Jennifer J Garufi
Claire O Perin
Cody F Perin
Mayumi M Butt
Aruna U Ruta
Ashley I Doe
Chavez W Tollner
Izzy A Maclead
Deepesh R Poquette
Ivar M Albares
Julie O Malet
Ashley K Rim
Kaitlin T Dilliard
Jefferson Z Caudy
Juan G Doe
Leja O Iturbide
Aika E Briddick
Mujtaba S Garufi
Tony O Gillian
Julie D Darakjy
Costa W Iturbide
Greenwood C Wieser
Chavez I Tollner
IdCountryDate
1000Japan2026-09-14
1001India2026-09-07
1002Canada2026-08-29
1003Brazil2026-09-16
1004United Kingdom2026-09-11
1005Russia2026-09-02
1006India2026-08-29
1007Canada2026-09-04
1008Australia2026-09-04
1009Spain2026-09-04
1010Japan2026-09-03
1011Russia2026-09-06
1012Spain2026-08-23
1013Australia2026-08-27
1014Brazil2026-08-29
1015Spain2026-08-21
1016Russia2026-08-31
1017Canada2026-09-11
1018Spain2026-09-19
1019Germany2026-09-17
1020Germany2026-08-26
1021France2026-09-13
1022Germany2026-09-19
1023India2026-09-01
1024Spain2026-09-06
1025Australia2026-09-02
1026Germany2026-08-24
1027Italy2026-09-08
1028Brazil2026-08-24
1029Japan2026-09-17
1030Australia2026-09-18
1031India2026-09-06
1032Argentina2026-09-16
1033Argentina2026-08-28
1034Australia2026-08-29
1035Italy2026-09-07
1036Australia2026-08-24
1037France2026-08-22
1038Argentina2026-09-03
1039Japan2026-08-25
1040Argentina2026-08-22
1041Canada2026-09-13
1042India2026-08-25
1043Australia2026-08-26
1044Spain2026-08-25
1045India2026-09-03
1046Russia2026-09-19
1047Japan2026-09-15
1048France2026-09-05
1049United Kingdom2026-09-04

On-Demand Data

NameIdCountryDate
Jefferson W Oldroyd1000Germany2026-09-01
Rodrigues S Doe1001Japan2026-09-03
Chavez N Rim1002Russia2026-08-23
Alejandro B Foller1003Germany2026-08-29
Maisha T Briddick1004Argentina2026-09-13
Tony X Campain1005Argentina2026-09-19
Misaki C Chui1006Argentina2026-09-01
Emily O Malet1007Brazil2026-09-19
Maria G Marrier1008Brazil2026-09-07
Nicolas H Inouye1009France2026-08-28
Munro B Kusko1010United Kingdom2026-09-08
Morrow V Amigon1011Germany2026-09-11
Mujtaba Y Bowley1012France2026-09-15
Faith U Dilliard1013Japan2026-09-13
Antonio L Kusko1014Argentina2026-08-21
Kaitlin L Schemmer1015Spain2026-09-08
Nicolas Y Glick1016Japan2026-09-02
Jeanfrancois K Stockham1017Spain2026-09-13
Aruna B Schemmer1018Russia2026-09-17
Leja N Ferencz1019Russia2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria Z CaudyFranceOnyama Limba RENEWAL
Murillo A RoysterUnited KingdomElwin Sharvill QUALIFIED
Isabel R RoysterUnited KingdomStephen Shaw UNQUALIFIED
Ashley L StockhamJapanAsiya Javayant PROPOSAL
Aditya H FlosiJapanIoni Bowcher NEGOTIATION
Stacey N ShinkoJapanStephen Shaw QUALIFIED
Izzy Z FollerJapanIvan Magalhaes QUALIFIED
Kadeem V VenereRussiaBernardo Dominic NEW
Salvatore Y DoeItalyElwin Sharvill UNQUALIFIED
Darci P WieserSpainAnna Fali QUALIFIED
Kaitlin N TollnerGermanyIvan Magalhaes PROPOSAL
Morrow Q OldroydSpainElwin Sharvill RENEWAL
Izzy X AmigonBrazilStephen Shaw PROPOSAL
Aika K DoeCanadaAnna Fali RENEWAL
Maisha W AlbaresAustraliaAsiya Javayant NEGOTIATION
Deepesh A FlosiFranceIoni Bowcher NEGOTIATION
Deepesh X GlickCanadaAsiya Javayant RENEWAL
Nicolas A CaudyIndiaAsiya Javayant RENEWAL
Sinclair H BologniaSpainXuxue Feng PROPOSAL
Julie V SergiIndiaAnna Fali RENEWAL
Jones L ButtBrazilStephen Shaw NEGOTIATION
Julie B CampainUnited KingdomBernardo Dominic RENEWAL
James S KuskoRussiaXuxue Feng NEW
Kaitlin L ButtArgentinaAsiya Javayant UNQUALIFIED
Cody Z IturbideAustraliaElwin Sharvill QUALIFIED
Maisha Z InouyeSpainAmy Elsner PROPOSAL
Kaitlin C OldroydIndiaAnna Fali NEGOTIATION
Alejandro G MaletUnited KingdomBernardo Dominic QUALIFIED
Nicolas F SergiAustraliaElwin Sharvill NEGOTIATION
Faith X ShinkoFranceBernardo Dominic NEGOTIATION
Jeanfrancois A GlickSpainBernardo Dominic PROPOSAL
Jones A GlickIndiaIoni Bowcher UNQUALIFIED
Stacey P OstroskyCanadaIvan Magalhaes NEGOTIATION
Salvatore U ChuiFranceXuxue Feng NEGOTIATION
Costa E NickaIndiaBernardo Dominic UNQUALIFIED
Aditya U CaudyCanadaAnna Fali UNQUALIFIED
Jones C SchemmerArgentinaBernardo Dominic RENEWAL
Francesco A RoysterArgentinaIvan Magalhaes UNQUALIFIED
Clifford L DoeFranceAmy Elsner QUALIFIED
Kadeem D MaletAustraliaBernardo Dominic PROPOSAL

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