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 W RoysterSpainStephen Shaw QUALIFIED
Silvio O VenereArgentinaXuxue Feng PROPOSAL
Costa K SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Arvin H StensethUnited KingdomAsiya Javayant PROPOSAL
Ivar H MacleadBrazilAmy Elsner QUALIFIED
Arvin O MaletArgentinaXuxue Feng PROPOSAL
James X GarufiIndiaOnyama Limba NEW
Johnson G CaldareraRussiaXuxue Feng QUALIFIED
Jones L StockhamAustraliaBernardo Dominic NEGOTIATION
Rodrigues K BologniaIndiaIvan Magalhaes UNQUALIFIED
Stacey M MaletItalyAsiya Javayant NEW
Munro X SchemmerArgentinaOnyama Limba PROPOSAL
James K FollerArgentinaXuxue Feng PROPOSAL
Silvio N MarrierItalyXuxue Feng QUALIFIED
Greenwood V CaudyFranceAnna Fali NEGOTIATION
Morrow Q PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Alejandro O StockhamArgentinaBernardo Dominic NEGOTIATION
Leja B MarrierJapanAnna Fali NEGOTIATION
Alejandro B FerenczItalyIvan Magalhaes NEW
James S KolmetzSpainAmy Elsner NEW
Chavez L BriddickArgentinaAnna Fali NEW
Octavia A FerenczIndiaXuxue Feng RENEWAL
Misaki V MorascaRussiaAnna Fali NEW
Mujtaba O RimFranceAsiya Javayant NEGOTIATION
Emily U SchemmerSpainStephen Shaw NEW
Munro V DilliardAustraliaStephen Shaw NEW
Arvin V KuskoAustraliaAnna Fali QUALIFIED
Kaitlin Z NickaArgentinaXuxue Feng PROPOSAL
Deepesh O StockhamBrazilIvan Magalhaes NEW
Francesco W ShinkoJapanAsiya Javayant NEGOTIATION
Kaitlin K NickaUnited KingdomStephen Shaw RENEWAL
Misaki T AlbaresArgentinaStephen Shaw QUALIFIED
Ashley V RulapaughAustraliaAnna Fali RENEWAL
Julie Z RoysterFranceStephen Shaw RENEWAL
David B OldroydGermanyOnyama Limba UNQUALIFIED
Costa V PerinCanadaOnyama Limba PROPOSAL
Ashley F BologniaAustraliaAmy Elsner QUALIFIED
Adams C NestleFranceBernardo Dominic NEGOTIATION
Salvatore O AmigonGermanyAsiya Javayant PROPOSAL
Izzy Y PaprockiSpainAmy Elsner RENEWAL
Tony G VenereItalyIoni Bowcher QUALIFIED
David D FerenczCanadaOnyama Limba QUALIFIED
Emily N KuskoFranceIoni Bowcher RENEWAL
Jones E AmigonAustraliaAsiya Javayant UNQUALIFIED
Jeanfrancois Y WieserBrazilStephen Shaw QUALIFIED
James O MacleadBrazilIoni Bowcher UNQUALIFIED
Costa S AmigonJapanAsiya Javayant PROPOSAL
Ashley V DoeSpainElwin Sharvill QUALIFIED
Misaki I RutaFranceIoni Bowcher NEW
Murillo J NestleJapanAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair O IturbideFranceAmy Elsner QUALIFIED
Wickens W KolmetzFranceBernardo Dominic PROPOSAL
Jefferson L SlusarskiRussiaStephen Shaw UNQUALIFIED
Ashley U GlickBrazilAsiya Javayant PROPOSAL
Deepesh B RoysterGermanyAsiya Javayant RENEWAL
Mujtaba Z ButtUnited KingdomXuxue Feng NEGOTIATION
Tony K ShinkoCanadaOnyama Limba RENEWAL
Claire U SlusarskiSpainOnyama Limba NEGOTIATION
Emily O DilliardArgentinaOnyama Limba PROPOSAL
Adams H SchemmerBrazilAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo O DarakjyRussia2026-09-16Chanay, Jeffrey A Esq UNQUALIFIED71Amy Elsner
1001Nicolas B MaletJapan2026-10-01Rousseaux, Michael Esq RENEWAL91Anna Fali
1002Jefferson H VocelkaBrazil2026-09-26Feltz Printing Service QUALIFIED52Ivan Magalhaes
1003Juan Z AlbaresUnited Kingdom2026-09-09Morlong Associates QUALIFIED50Ioni Bowcher
1004Adams E WhobreyUnited Kingdom2026-10-05Morlong Associates PROPOSAL52Onyama Limba
1005Isabel N DilliardRussia2026-09-28Chapman, Ross E Esq QUALIFIED49Onyama Limba
1006Deepesh L SchemmerFrance2026-09-11Truhlar And Truhlar Attys UNQUALIFIED93Bernardo Dominic
1007Antonio Y GillianAustralia2026-09-29Rousseaux, Michael Esq PROPOSAL10Xuxue Feng
1008Mujtaba U GillianItaly2026-09-26Feltz Printing Service PROPOSAL15Ioni Bowcher
1009Maisha Q NickaFrance2026-09-13Benton, John B Jr PROPOSAL84Elwin Sharvill
1010Clifford X SaylorsGermany2026-10-05Chapman, Ross E Esq QUALIFIED18Asiya Javayant
1011Stacey L OstroskyFrance2026-09-26Printing Dimensions UNQUALIFIED14Elwin Sharvill
1012Stacey U GlickRussia2026-09-28Commercial Press PROPOSAL75Xuxue Feng
1013Jennifer J CaldareraBrazil2026-09-18Morlong Associates PROPOSAL46Onyama Limba
1014Cody K ButtUnited Kingdom2026-10-03Feiner Bros UNQUALIFIED10Anna Fali
1015Silvio Q CaudyItaly2026-09-15Buckley Miller Wright QUALIFIED20Bernardo Dominic
1016Francesco R BowleyItaly2026-09-17Truhlar And Truhlar Attys RENEWAL20Ivan Magalhaes
1017Ashley G ButtBrazil2026-09-15Chapman, Ross E Esq QUALIFIED66Stephen Shaw
1018Johnson O VenereSpain2026-09-07Printing Dimensions NEGOTIATION32Anna Fali
1019Leon H ButtRussia2026-09-10Morlong Associates PROPOSAL34Asiya Javayant
1020Ivar O FigeroaCanada2026-09-21Chanay, Jeffrey A Esq NEGOTIATION6Elwin Sharvill
1021Juan Y RoysterBrazil2026-09-22Rousseaux, Michael Esq NEGOTIATION9Bernardo Dominic
1022Leja B VenereIndia2026-09-17Chapman, Ross E Esq RENEWAL30Elwin Sharvill
1023Tony F PaprockiArgentina2026-09-20Chemel, James L Cpa QUALIFIED50Elwin Sharvill
1024Mayumi K CampainArgentina2026-09-14Morlong Associates NEW10Asiya Javayant
1025Jennifer X DilliardUnited Kingdom2026-09-13Benton, John B Jr NEGOTIATION91Bernardo Dominic
1026Octavia M KuskoGermany2026-09-26Feltz Printing Service NEGOTIATION97Stephen Shaw
1027Mujtaba V InouyeJapan2026-09-28Rangoni Of Florence PROPOSAL20Elwin Sharvill
1028Johnson V SchemmerGermany2026-10-04Chapman, Ross E Esq NEGOTIATION80Elwin Sharvill
1029Octavia F InouyeAustralia2026-10-04Morlong Associates NEW48Xuxue Feng
1030Johnson J MaletCanada2026-09-14Buckley Miller Wright NEGOTIATION58Bernardo Dominic
1031Izzy R CaudyJapan2026-09-30Rousseaux, Michael Esq UNQUALIFIED48Xuxue Feng
1032Greenwood Z StockhamAustralia2026-10-01Feltz Printing Service PROPOSAL38Stephen Shaw
1033Ashley D DoeArgentina2026-09-15Chapman, Ross E Esq PROPOSAL10Ioni Bowcher
1034Chavez R RimGermany2026-09-25Buckley Miller Wright NEGOTIATION57Elwin Sharvill
1035Johnson G FlosiAustralia2026-09-06King, Christopher A Esq RENEWAL0Amy Elsner
1036Faith P WaycottUnited Kingdom2026-09-20Commercial Press NEGOTIATION13Ioni Bowcher
1037Octavia T SchemmerSpain2026-09-30Feltz Printing Service QUALIFIED71Onyama Limba
1038David J MacleadJapan2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED55Ioni Bowcher
1039Ashley L SchemmerBrazil2026-09-21Printing Dimensions UNQUALIFIED9Amy Elsner
1040Isabel R KuskoSpain2026-09-24Feltz Printing Service UNQUALIFIED58Onyama Limba
1041Kaitlin A MorascaRussia2026-09-21Chapman, Ross E Esq NEGOTIATION85Amy Elsner
1042Aditya L SlusarskiUnited Kingdom2026-09-07Dorl, James J Esq NEW26Elwin Sharvill
1043Misaki I ChuiFrance2026-09-12Dorl, James J Esq PROPOSAL86Stephen Shaw
1044Arvin W GlickIndia2026-10-03Chapman, Ross E Esq UNQUALIFIED77Ioni Bowcher
1045Stacey V WaycottItaly2026-10-01Buckley Miller Wright NEW95Ioni Bowcher
1046Juan C NestleRussia2026-09-10Feiner Bros NEW7Ioni Bowcher
1047Ricardo U RulapaughUnited Kingdom2026-09-08King, Christopher A Esq QUALIFIED90Anna Fali
1048David T MacleadArgentina2026-09-20Dorl, James J Esq RENEWAL49Asiya Javayant
1049Kadeem Z ButtItaly2026-09-17Commercial Press QUALIFIED63Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony R SergiGermanyIoni Bowcher QUALIFIED
Isabel T OstroskyUnited KingdomAmy Elsner NEW
Ricardo Z BologniaBrazilIoni Bowcher UNQUALIFIED
Wickens I SchemmerCanadaBernardo Dominic RENEWAL
Claire M IturbideCanadaAnna Fali NEW
Aditya B GlickSpainIvan Magalhaes NEW
Clifford Z GlickRussiaIvan Magalhaes NEGOTIATION
Murillo F SchemmerIndiaBernardo Dominic UNQUALIFIED
Tony J NestleItalyAmy Elsner NEGOTIATION
Juan B BologniaAustraliaAnna Fali NEW
Maria O NestleBrazilIoni Bowcher UNQUALIFIED
Ashley N KuskoItalyAmy Elsner RENEWAL
Silvio Y BowleyRussiaIvan Magalhaes NEW
Aditya J InouyeUnited KingdomOnyama Limba UNQUALIFIED
Johnson F OldroydRussiaStephen Shaw RENEWAL
Aika E NestleIndiaXuxue Feng QUALIFIED
Sinclair V BologniaGermanyAmy Elsner RENEWAL
Morrow T PaprockiBrazilBernardo Dominic NEGOTIATION
Maisha Z DoeUnited KingdomBernardo Dominic NEGOTIATION
Stacey N IturbideSpainIvan Magalhaes PROPOSAL
Ivar J RoysterCanadaIoni Bowcher QUALIFIED
Sinclair S FollerCanadaBernardo Dominic UNQUALIFIED
Morrow J SlusarskiSpainIvan Magalhaes NEGOTIATION
James F MaletRussiaOnyama Limba NEW
Leja H GauchoJapanIoni Bowcher QUALIFIED
Juan H FerenczRussiaAnna Fali NEW
Cody H StensethCanadaAmy Elsner UNQUALIFIED
Julie O DilliardFranceAmy Elsner UNQUALIFIED
Emily C KolmetzBrazilBernardo Dominic QUALIFIED
Johnson S RulapaughSpainElwin Sharvill UNQUALIFIED
Aruna Y MaletFranceElwin Sharvill QUALIFIED
Juan N FigeroaFranceIvan Magalhaes PROPOSAL
Francesco I MorascaUnited KingdomIoni Bowcher QUALIFIED
Julie F ShinkoSpainAnna Fali NEW
Aika L GarufiJapanXuxue Feng RENEWAL
Misaki V CaldareraRussiaAmy Elsner PROPOSAL
James S NickaGermanyAnna Fali UNQUALIFIED
Octavia P CaldareraUnited KingdomAsiya Javayant PROPOSAL
Leon T SchemmerFranceIvan Magalhaes NEW
Leon Z MorascaItalyAnna Fali UNQUALIFIED
Emily F VocelkaJapanAnna Fali UNQUALIFIED
Wickens Z FigeroaItalyIvan Magalhaes QUALIFIED
Sinclair Y WhobreyItalyAmy Elsner NEW
Mujtaba Q NickaIndiaXuxue Feng NEW
Mayumi O AmigonAustraliaElwin Sharvill RENEWAL
Deepesh O GlickBrazilOnyama Limba RENEWAL
Jennifer F SergiSpainIoni Bowcher RENEWAL
Salvatore Y MorascaRussiaAsiya Javayant QUALIFIED
Costa F RulapaughGermanyAnna Fali NEW
Mujtaba V DilliardIndiaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Francesco H Flosi
Chavez O Rim
Isabel M Gillian
Aruna U Rulapaugh
Darci V Doe
Nicolas S Briddick
Deepesh D Venere
Kaitlin G Amigon
Cody X Caudy
Jennifer K Darakjy
Maisha W Foller
Munro X Oldroyd
Juan J Vocelka
Deepesh J Kusko
Jeanfrancois R Amigon
Deepesh F Dilliard
Cody E Flosi
Salvatore Y Darakjy
Emily L Rim
Julie U Figeroa
Nicolas B Vocelka
Jones Q Bowley
Mujtaba E Foller
Misaki K Whobrey
Jones T Waycott
Tony Y Waycott
Greenwood U Slusarski
Juan K Vocelka
Smith R Kolmetz
Deepesh E Kolmetz
Isabel W Foller
Aditya J Gillian
James C Iturbide
Clifford U Maclead
Aruna E Morasca
Ivar S Stockham
Emily V Kusko
Izzy Q Briddick
Claire D Venere
Greenwood X Wieser
Misaki X Chui
Izzy Y Gillian
Antonio D Figeroa
Ivar N Flosi
Sinclair V Figeroa
Ivar V Gaucho
Maisha F Darakjy
Clifford K Malet
David O Morasca
Izzy K Shinko
IdCountryDate
1000Brazil2026-09-09
1001Argentina2026-09-06
1002India2026-09-25
1003Germany2026-09-11
1004Canada2026-09-28
1005Russia2026-10-01
1006Germany2026-09-29
1007Brazil2026-09-21
1008Canada2026-09-09
1009Japan2026-09-29
1010Italy2026-09-21
1011Russia2026-09-21
1012Argentina2026-09-08
1013Canada2026-09-09
1014Canada2026-09-26
1015Brazil2026-10-02
1016India2026-09-25
1017India2026-09-08
1018France2026-10-03
1019United Kingdom2026-09-29
1020France2026-09-07
1021Canada2026-09-27
1022Argentina2026-09-07
1023Italy2026-09-17
1024United Kingdom2026-09-23
1025Spain2026-10-02
1026India2026-09-28
1027Spain2026-09-16
1028Russia2026-09-15
1029Russia2026-09-29
1030United Kingdom2026-09-22
1031India2026-10-03
1032Brazil2026-09-15
1033France2026-09-24
1034United Kingdom2026-09-27
1035Germany2026-10-02
1036Argentina2026-09-10
1037Argentina2026-09-07
1038France2026-09-21
1039Italy2026-10-05
1040Canada2026-09-08
1041India2026-10-04
1042Brazil2026-09-06
1043India2026-09-30
1044Spain2026-09-13
1045Canada2026-09-29
1046Spain2026-10-04
1047Brazil2026-10-03
1048Italy2026-09-13
1049Spain2026-10-03

On-Demand Data

NameIdCountryDate
James N Stockham1000Germany2026-10-01
Ashley L Waycott1001Argentina2026-09-14
Emily M Inouye1002Italy2026-09-27
Rodrigues Q Rulapaugh1003Argentina2026-09-24
Claire H Figeroa1004Australia2026-09-11
Francesco H Schemmer1005France2026-09-14
Emily X Malet1006Argentina2026-09-09
Antonio B Saylors1007Argentina2026-09-15
Adams X Garufi1008Spain2026-09-25
Jennifer Y Albares1009Germany2026-09-09
Jennifer B Malet1010Japan2026-10-03
Kaitlin A Stockham1011Brazil2026-09-13
Aika R Glick1012Japan2026-09-28
Juan E Kusko1013Canada2026-09-10
Cody R Flosi1014France2026-10-03
Ivar A Poquette1015Italy2026-09-11
Jeanfrancois H Sergi1016France2026-09-10
Leja W Briddick1017Germany2026-09-12
Maisha M Poquette1018United Kingdom2026-09-19
Aika L Foller1019Australia2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith X DoeRussiaBernardo Dominic NEW
Claire Q CampainUnited KingdomIoni Bowcher PROPOSAL
Darci B ButtRussiaBernardo Dominic NEW
James L GarufiUnited KingdomAmy Elsner PROPOSAL
Costa H NestleIndiaAsiya Javayant NEW
Aruna Z FigeroaArgentinaAsiya Javayant NEW
Julie V SchemmerBrazilOnyama Limba NEGOTIATION
Silvio X MarrierCanadaBernardo Dominic UNQUALIFIED
Juan K RimSpainBernardo Dominic UNQUALIFIED
Rodrigues T MarrierJapanElwin Sharvill QUALIFIED
Murillo F DoeFranceAnna Fali PROPOSAL
Munro Y NickaAustraliaAmy Elsner NEGOTIATION
Claire P PoquetteJapanAsiya Javayant PROPOSAL
Sinclair Y RutaArgentinaBernardo Dominic QUALIFIED
Alejandro P DarakjyRussiaElwin Sharvill NEGOTIATION
Faith G GarufiBrazilAmy Elsner UNQUALIFIED
Alejandro S VocelkaBrazilStephen Shaw NEGOTIATION
Maria H CampainRussiaIoni Bowcher UNQUALIFIED
Tony P GauchoAustraliaElwin Sharvill NEGOTIATION
Aruna X NickaRussiaOnyama Limba QUALIFIED
Mujtaba J GillianArgentinaAmy Elsner QUALIFIED
Francesco H AmigonJapanAmy Elsner PROPOSAL
Isabel Z RutaUnited KingdomStephen Shaw NEW
Stacey U DarakjyRussiaIoni Bowcher UNQUALIFIED
Aditya O RoysterCanadaOnyama Limba NEGOTIATION
Leja E MaletRussiaIvan Magalhaes QUALIFIED
Johnson J CaldareraIndiaXuxue Feng RENEWAL
Faith M DoeJapanIoni Bowcher PROPOSAL
Jones Q AlbaresItalyIvan Magalhaes NEGOTIATION
Tony C CaudyRussiaAmy Elsner PROPOSAL
Jennifer B FerenczSpainBernardo Dominic QUALIFIED
Kaitlin M RimBrazilElwin Sharvill UNQUALIFIED
Mujtaba J GarufiSpainStephen Shaw RENEWAL
Chavez H GillianBrazilElwin Sharvill QUALIFIED
Murillo X MacleadUnited KingdomAmy Elsner UNQUALIFIED
Greenwood H MaletBrazilElwin Sharvill RENEWAL
Julie T DarakjyRussiaAsiya Javayant NEW
Sinclair W BologniaCanadaIoni Bowcher NEW
Kadeem E RulapaughBrazilBernardo Dominic NEW
Deepesh G GarufiFranceAmy Elsner 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>