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
Izzy U FollerArgentinaAnna Fali UNQUALIFIED
Kaitlin O RoysterRussiaStephen Shaw PROPOSAL
Kadeem I NickaBrazilAsiya Javayant QUALIFIED
David N DilliardSpainAnna Fali NEGOTIATION
Adams X AlbaresJapanBernardo Dominic UNQUALIFIED
Jefferson S RutaAustraliaAmy Elsner RENEWAL
Isabel L RoysterFranceStephen Shaw NEGOTIATION
Morrow F PaprockiBrazilIoni Bowcher RENEWAL
Salvatore V GarufiJapanIvan Magalhaes PROPOSAL
Sinclair M SergiRussiaOnyama Limba QUALIFIED
Nicolas N StensethRussiaBernardo Dominic RENEWAL
Costa O RoysterGermanyAnna Fali NEW
Sinclair Z DarakjyCanadaBernardo Dominic PROPOSAL
Nicolas R AlbaresUnited KingdomAnna Fali RENEWAL
Kadeem O KolmetzBrazilOnyama Limba NEW
Antonio L MaletCanadaIoni Bowcher NEW
Juan X ChuiSpainBernardo Dominic QUALIFIED
Ricardo L KuskoCanadaStephen Shaw PROPOSAL
Maisha A DarakjyCanadaOnyama Limba PROPOSAL
Darci R MaletAustraliaAnna Fali UNQUALIFIED
Antonio O CaudySpainOnyama Limba NEW
Smith U InouyeArgentinaIvan Magalhaes RENEWAL
Juan Q SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Jennifer O KolmetzJapanXuxue Feng NEW
Francesco A MorascaArgentinaAsiya Javayant UNQUALIFIED
Antonio A FigeroaArgentinaIoni Bowcher PROPOSAL
Murillo P OstroskyUnited KingdomBernardo Dominic NEW
Leon W WhobreySpainElwin Sharvill RENEWAL
Faith X MacleadFranceIvan Magalhaes RENEWAL
Sinclair G SergiJapanOnyama Limba NEGOTIATION
Aditya C MaletJapanAmy Elsner RENEWAL
Costa Q SchemmerArgentinaStephen Shaw NEGOTIATION
Smith V IturbideItalyAsiya Javayant RENEWAL
Leja Q FlosiJapanElwin Sharvill PROPOSAL
Silvio H VocelkaIndiaAmy Elsner PROPOSAL
Salvatore T BriddickRussiaIoni Bowcher UNQUALIFIED
Kaitlin B NestleJapanAnna Fali RENEWAL
Greenwood R BowleyJapanAsiya Javayant NEGOTIATION
Maria B CampainFranceAmy Elsner UNQUALIFIED
Emily R ChuiJapanAmy Elsner NEGOTIATION
Tony O AmigonArgentinaElwin Sharvill NEW
Mujtaba Z OstroskyItalyIoni Bowcher NEW
Jones D OstroskySpainBernardo Dominic NEW
Wickens P BowleyFranceOnyama Limba NEW
Clifford C RimItalyIvan Magalhaes UNQUALIFIED
Aruna V ChuiItalyBernardo Dominic UNQUALIFIED
Octavia I VocelkaCanadaElwin Sharvill PROPOSAL
Jefferson I DoeRussiaXuxue Feng RENEWAL
Faith L TollnerRussiaAmy Elsner NEW
Faith H BologniaJapanIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio G OstroskyIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois E RutaGermanyAnna Fali UNQUALIFIED
Nicolas E MarrierArgentinaStephen Shaw QUALIFIED
Jones Q AmigonUnited KingdomXuxue Feng PROPOSAL
Costa D DoeJapanAsiya Javayant QUALIFIED
Stacey O FlosiFranceIoni Bowcher UNQUALIFIED
Juan I CaudyArgentinaXuxue Feng NEGOTIATION
Nicolas W NestleJapanAnna Fali PROPOSAL
Adams O SaylorsBrazilIvan Magalhaes QUALIFIED
Chavez X ChuiItalyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David T KolmetzArgentina2026-10-22Commercial Press NEW9Anna Fali
1001Ricardo B FerenczArgentina2026-10-20Benton, John B Jr NEGOTIATION46Elwin Sharvill
1002Alejandro X RoysterRussia2026-10-30Buckley Miller Wright PROPOSAL78Amy Elsner
1003Maria I AlbaresBrazil2026-11-09Chapman, Ross E Esq PROPOSAL22Anna Fali
1004Clifford E IturbideSpain2026-10-27Buckley Miller Wright UNQUALIFIED82Amy Elsner
1005Silvio W AmigonBrazil2026-10-30Feiner Bros NEGOTIATION63Ivan Magalhaes
1006Maisha L DilliardCanada2026-10-19Feiner Bros UNQUALIFIED67Anna Fali
1007Faith K MaletArgentina2026-10-19Dorl, James J Esq PROPOSAL30Asiya Javayant
1008Emily P RutaArgentina2026-11-10Feiner Bros UNQUALIFIED82Ivan Magalhaes
1009Adams C DarakjyBrazil2026-11-11Rangoni Of Florence NEGOTIATION15Onyama Limba
1010Jones P MorascaJapan2026-10-26Printing Dimensions NEGOTIATION75Onyama Limba
1011Wickens L CaudySpain2026-11-05Chapman, Ross E Esq RENEWAL24Xuxue Feng
1012Aika I FigeroaCanada2026-11-08Printing Dimensions NEGOTIATION30Anna Fali
1013Clifford K MacleadBrazil2026-10-17Feiner Bros UNQUALIFIED78Anna Fali
1014Izzy N OstroskyFrance2026-10-25King, Christopher A Esq NEGOTIATION9Elwin Sharvill
1015Ricardo V GillianGermany2026-11-08Commercial Press PROPOSAL81Anna Fali
1016Clifford G ChuiRussia2026-11-09Chanay, Jeffrey A Esq UNQUALIFIED64Amy Elsner
1017Adams K StensethIndia2026-11-01Morlong Associates RENEWAL84Asiya Javayant
1018Rodrigues O FollerArgentina2026-10-23Chanay, Jeffrey A Esq NEW40Onyama Limba
1019David K RutaBrazil2026-11-02Rangoni Of Florence UNQUALIFIED63Elwin Sharvill
1020Adams X VenereUnited Kingdom2026-10-31Chapman, Ross E Esq PROPOSAL85Stephen Shaw
1021Johnson B DilliardArgentina2026-10-30Commercial Press RENEWAL24Ivan Magalhaes
1022Emily M SlusarskiArgentina2026-10-29Chemel, James L Cpa NEW56Bernardo Dominic
1023Faith Q InouyeJapan2026-11-08Morlong Associates PROPOSAL24Ivan Magalhaes
1024Kadeem H CaudyJapan2026-11-01Rousseaux, Michael Esq RENEWAL21Amy Elsner
1025Morrow F CaudyCanada2026-10-14Rangoni Of Florence NEGOTIATION68Xuxue Feng
1026Emily T WhobreyAustralia2026-11-06Buckley Miller Wright RENEWAL75Stephen Shaw
1027Alejandro I MarrierGermany2026-11-08Morlong Associates QUALIFIED85Xuxue Feng
1028Adams W MarrierCanada2026-10-28Rangoni Of Florence PROPOSAL53Xuxue Feng
1029Aika Y RulapaughCanada2026-11-09Chapman, Ross E Esq NEGOTIATION30Amy Elsner
1030Costa B StockhamJapan2026-10-20Morlong Associates UNQUALIFIED56Amy Elsner
1031Rodrigues Z MaletRussia2026-10-22Rangoni Of Florence QUALIFIED48Onyama Limba
1032Munro L WhobreySpain2026-10-23Printing Dimensions NEW37Stephen Shaw
1033Kadeem U RoysterJapan2026-11-10Buckley Miller Wright RENEWAL88Xuxue Feng
1034Smith V SchemmerBrazil2026-10-28Chapman, Ross E Esq RENEWAL19Ioni Bowcher
1035Darci O RoysterFrance2026-11-08Feiner Bros UNQUALIFIED18Ivan Magalhaes
1036Deepesh Z KolmetzItaly2026-11-05Chanay, Jeffrey A Esq RENEWAL84Xuxue Feng
1037Octavia J CaldareraUnited Kingdom2026-10-14Commercial Press PROPOSAL33Anna Fali
1038Salvatore D SlusarskiJapan2026-11-11Rousseaux, Michael Esq UNQUALIFIED12Asiya Javayant
1039Greenwood C DarakjyUnited Kingdom2026-10-30Rangoni Of Florence QUALIFIED23Onyama Limba
1040Kadeem N SergiFrance2026-10-31Chapman, Ross E Esq QUALIFIED51Onyama Limba
1041Murillo R IturbideUnited Kingdom2026-11-06Commercial Press UNQUALIFIED30Anna Fali
1042Wickens R SergiGermany2026-11-09Chanay, Jeffrey A Esq UNQUALIFIED8Xuxue Feng
1043Octavia V FigeroaArgentina2026-10-22Truhlar And Truhlar Attys PROPOSAL5Anna Fali
1044Johnson C SlusarskiCanada2026-10-28Rangoni Of Florence PROPOSAL11Asiya Javayant
1045Francesco Q PaprockiArgentina2026-10-17Rangoni Of Florence NEGOTIATION67Ioni Bowcher
1046Johnson Z NickaCanada2026-10-17Chanay, Jeffrey A Esq RENEWAL14Ivan Magalhaes
1047Darci U CampainGermany2026-10-23Rousseaux, Michael Esq RENEWAL86Asiya Javayant
1048Izzy J CampainFrance2026-10-30Truhlar And Truhlar Attys NEGOTIATION83Bernardo Dominic
1049Faith Z FerenczBrazil2026-10-29Commercial Press NEW76Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maria M StensethGermanyIoni Bowcher NEW
Aruna X DoeRussiaAmy Elsner NEGOTIATION
Octavia K IturbideFranceXuxue Feng QUALIFIED
Tony X AmigonRussiaIvan Magalhaes NEGOTIATION
Aruna W AlbaresIndiaAnna Fali NEW
Smith O MarrierArgentinaAnna Fali QUALIFIED
Emily L WaycottAustraliaIoni Bowcher UNQUALIFIED
Salvatore J ChuiJapanIoni Bowcher UNQUALIFIED
James E MaletAustraliaIvan Magalhaes UNQUALIFIED
Kadeem X StockhamIndiaIvan Magalhaes QUALIFIED
Smith G SergiRussiaXuxue Feng RENEWAL
Kadeem F BowleyRussiaAmy Elsner NEW
Isabel B FerenczCanadaBernardo Dominic NEGOTIATION
Aika T NickaAustraliaOnyama Limba RENEWAL
Johnson U CaudyBrazilOnyama Limba RENEWAL
Claire C SlusarskiAustraliaAnna Fali QUALIFIED
Adams S IturbideJapanAmy Elsner QUALIFIED
Juan Z VocelkaArgentinaAsiya Javayant QUALIFIED
Nicolas S AlbaresJapanBernardo Dominic NEW
David D CaldareraCanadaStephen Shaw NEGOTIATION
Claire W WieserBrazilOnyama Limba PROPOSAL
Adams R ButtCanadaAsiya Javayant NEGOTIATION
Leon H SaylorsCanadaAsiya Javayant RENEWAL
Murillo V CampainBrazilIoni Bowcher UNQUALIFIED
Juan F BriddickBrazilBernardo Dominic QUALIFIED
James L OstroskyCanadaBernardo Dominic RENEWAL
Izzy X InouyeJapanIoni Bowcher RENEWAL
Octavia T PaprockiRussiaElwin Sharvill NEGOTIATION
Morrow Z DarakjyFranceIvan Magalhaes QUALIFIED
Salvatore M GlickBrazilOnyama Limba NEGOTIATION
Antonio M BowleyGermanyAmy Elsner UNQUALIFIED
Misaki E FerenczGermanyIvan Magalhaes NEGOTIATION
Salvatore E SaylorsGermanyElwin Sharvill QUALIFIED
David B GillianCanadaOnyama Limba NEW
Arvin X OstroskyAustraliaIoni Bowcher QUALIFIED
Emily K WieserArgentinaAnna Fali QUALIFIED
Izzy C DoeUnited KingdomIoni Bowcher UNQUALIFIED
Leon R StockhamFranceAnna Fali NEW
Salvatore O DilliardAustraliaAsiya Javayant NEW
Costa C VenereItalyAmy Elsner RENEWAL
Mayumi Y ShinkoCanadaIoni Bowcher PROPOSAL
Cody G SaylorsCanadaIoni Bowcher UNQUALIFIED
Misaki L ButtArgentinaOnyama Limba NEGOTIATION
Faith L FerenczSpainOnyama Limba UNQUALIFIED
Arvin S GarufiItalyAsiya Javayant RENEWAL
Rodrigues R GlickBrazilElwin Sharvill UNQUALIFIED
Leja R CampainUnited KingdomAnna Fali UNQUALIFIED
David N ButtRussiaElwin Sharvill UNQUALIFIED
Kaitlin X VenereRussiaIoni Bowcher UNQUALIFIED
Silvio D DilliardBrazilOnyama Limba QUALIFIED
Frozen Columns
Name
Adams N Dilliard
Kaitlin S Ruta
Morrow Y Poquette
Adams L Sergi
Izzy P Doe
Ivar Z Venere
Deepesh I Malet
Kadeem Q Stenseth
Smith U Saylors
Ashley Y Flosi
Wickens Q Paprocki
Stacey F Kolmetz
Kadeem K Paprocki
Aruna R Royster
Johnson H Malet
Deepesh H Stockham
Silvio B Albares
Izzy W Vocelka
Francesco H Stockham
Aika X Amigon
Maria V Sergi
Cody Z Whobrey
Murillo H Malet
Claire H Darakjy
Jefferson N Inouye
Murillo T Stockham
Deepesh H Bowley
Julie W Doe
Ivar O Vocelka
Emily I Doe
Salvatore N Marrier
Leja J Oldroyd
Munro Q Briddick
Maria L Poquette
Maisha D Malet
Ricardo A Caldarera
Wickens E Saylors
Adams B Ruta
Leja B Shinko
Clifford F Rim
Adams F Ferencz
Maisha J Flosi
Arvin A Figeroa
James Y Poquette
Claire E Dilliard
Nicolas G Stenseth
Deepesh F Royster
Johnson W Malet
Isabel A Figeroa
Jeanfrancois X Saylors
IdCountryDate
1000Germany2026-10-15
1001United Kingdom2026-10-14
1002Brazil2026-10-20
1003Spain2026-10-24
1004Russia2026-10-25
1005United Kingdom2026-11-12
1006Russia2026-11-03
1007United Kingdom2026-11-02
1008Japan2026-10-14
1009India2026-10-16
1010India2026-10-18
1011Australia2026-11-05
1012Russia2026-11-05
1013United Kingdom2026-10-14
1014Japan2026-11-12
1015Argentina2026-10-18
1016Brazil2026-10-29
1017France2026-11-04
1018United Kingdom2026-11-03
1019Japan2026-10-28
1020United Kingdom2026-11-05
1021France2026-11-02
1022United Kingdom2026-11-09
1023Japan2026-10-30
1024Argentina2026-10-29
1025Argentina2026-10-23
1026Argentina2026-10-22
1027United Kingdom2026-10-26
1028Italy2026-11-12
1029Italy2026-10-14
1030Russia2026-10-29
1031Germany2026-10-27
1032Australia2026-11-12
1033Spain2026-10-17
1034Canada2026-10-24
1035Italy2026-10-23
1036France2026-11-03
1037Argentina2026-11-02
1038Australia2026-10-22
1039Argentina2026-10-15
1040Australia2026-11-01
1041Spain2026-10-28
1042Argentina2026-11-10
1043Russia2026-10-27
1044Brazil2026-11-03
1045Spain2026-10-23
1046India2026-10-25
1047Canada2026-11-06
1048Russia2026-10-18
1049Japan2026-10-30

On-Demand Data

NameIdCountryDate
Salvatore D Darakjy1000Canada2026-10-25
Juan D Foller1001Australia2026-10-30
Clifford J Poquette1002Australia2026-10-16
Morrow B Gillian1003Japan2026-11-08
Wickens K Nicka1004Australia2026-10-22
Stacey J Schemmer1005Japan2026-10-19
Rodrigues T Bolognia1006Russia2026-10-31
Kaitlin T Stockham1007India2026-11-03
Darci O Briddick1008Italy2026-11-08
Alejandro A Slusarski1009Germany2026-11-02
Jones U Chui1010Brazil2026-11-12
Faith V Nicka1011India2026-11-01
Clifford E Slusarski1012United Kingdom2026-10-29
Kadeem U Stenseth1013United Kingdom2026-11-02
Julie I Butt1014Russia2026-10-29
Murillo J Nestle1015Italy2026-11-12
Claire E Ruta1016Japan2026-11-07
Darci Q Bolognia1017Italy2026-10-15
Leon R Ruta1018Argentina2026-10-15
Costa X Rulapaugh1019France2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues W InouyeArgentinaIoni Bowcher NEGOTIATION
Ricardo R PaprockiItalyOnyama Limba NEGOTIATION
Julie A FigeroaBrazilOnyama Limba QUALIFIED
Arvin K MacleadSpainStephen Shaw NEGOTIATION
Aika A PerinGermanyAmy Elsner NEW
Mayumi R AlbaresArgentinaIvan Magalhaes NEGOTIATION
Octavia Y VocelkaArgentinaAmy Elsner UNQUALIFIED
Nicolas W BriddickSpainAnna Fali PROPOSAL
Aditya H BowleyItalyAsiya Javayant RENEWAL
Rodrigues B BowleyGermanyBernardo Dominic RENEWAL
Octavia T InouyeFranceAsiya Javayant RENEWAL
Juan Z StockhamJapanElwin Sharvill NEW
Costa V PoquetteGermanyAsiya Javayant PROPOSAL
Claire J ButtFranceAsiya Javayant UNQUALIFIED
Misaki N FigeroaFranceAmy Elsner NEGOTIATION
Aruna C CaldareraSpainIoni Bowcher QUALIFIED
Antonio N WaycottUnited KingdomBernardo Dominic PROPOSAL
Faith G BriddickCanadaIoni Bowcher NEGOTIATION
Sinclair J RoysterSpainStephen Shaw UNQUALIFIED
Aditya S NickaFranceAmy Elsner NEW
Jennifer P BriddickBrazilBernardo Dominic NEGOTIATION
Sinclair R KuskoGermanyIoni Bowcher NEW
Mujtaba G RutaRussiaIoni Bowcher UNQUALIFIED
Isabel E VocelkaRussiaBernardo Dominic UNQUALIFIED
Maisha E VenereRussiaElwin Sharvill NEW
Murillo U RulapaughUnited KingdomAnna Fali RENEWAL
Jennifer K FigeroaJapanElwin Sharvill UNQUALIFIED
Smith L IturbideCanadaIvan Magalhaes QUALIFIED
Ricardo M ButtGermanyAmy Elsner RENEWAL
Salvatore D MorascaCanadaAmy Elsner PROPOSAL
Tony P CaudyRussiaAnna Fali RENEWAL
Cody W StockhamArgentinaIoni Bowcher UNQUALIFIED
Stacey Y InouyeJapanAsiya Javayant PROPOSAL
Isabel A WaycottIndiaIoni Bowcher RENEWAL
Juan I PerinRussiaIvan Magalhaes RENEWAL
Sinclair A KuskoBrazilIvan Magalhaes NEGOTIATION
Alejandro T WhobreyRussiaIvan Magalhaes NEW
Salvatore U RutaSpainIoni Bowcher RENEWAL
Cody M FlosiGermanyOnyama Limba PROPOSAL
Maria J GillianCanadaAnna Fali 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>