Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Greenwood D FigeroaArgentinaBernardo Dominic PROPOSAL
Isabel P PoquetteBrazilBernardo Dominic PROPOSAL
Costa W PerinFranceAmy Elsner UNQUALIFIED
Jeanfrancois S OldroydJapanAsiya Javayant RENEWAL
Isabel E VenereSpainIoni Bowcher RENEWAL
Aruna I AmigonIndiaIvan Magalhaes NEW
Alejandro C RutaSpainOnyama Limba RENEWAL
David Z AlbaresAustraliaAsiya Javayant RENEWAL
Ivar X OstroskyGermanyOnyama Limba RENEWAL
Salvatore C RutaJapanIoni Bowcher UNQUALIFIED
Leja D PaprockiJapanStephen Shaw PROPOSAL
Ivar T ShinkoSpainIoni Bowcher NEW
Octavia F SlusarskiGermanyIvan Magalhaes PROPOSAL
Jennifer J GillianRussiaBernardo Dominic PROPOSAL
Costa R SlusarskiSpainBernardo Dominic NEGOTIATION
Aika C InouyeCanadaIoni Bowcher UNQUALIFIED
Aruna C ChuiItalyBernardo Dominic UNQUALIFIED
Leja F IturbideItalyAnna Fali PROPOSAL
Mujtaba S MaletItalyXuxue Feng PROPOSAL
Ashley H MorascaRussiaIoni Bowcher QUALIFIED
Isabel I StensethIndiaAsiya Javayant NEW
Izzy S RimFranceOnyama Limba UNQUALIFIED
Adams H DilliardIndiaIvan Magalhaes NEW
Ricardo M RulapaughArgentinaIoni Bowcher QUALIFIED
Arvin I OldroydGermanyElwin Sharvill NEGOTIATION
Jennifer E VocelkaBrazilStephen Shaw QUALIFIED
Kadeem P RoysterBrazilAnna Fali QUALIFIED
Misaki N RoysterJapanIvan Magalhaes UNQUALIFIED
Maisha F WhobreyArgentinaElwin Sharvill NEW
Kadeem N DilliardIndiaElwin Sharvill QUALIFIED
Jeanfrancois W VenereRussiaAnna Fali QUALIFIED
Ivar S CaldareraRussiaAsiya Javayant RENEWAL
Silvio F SergiJapanXuxue Feng UNQUALIFIED
Munro Y MaletFranceAnna Fali UNQUALIFIED
Darci P FigeroaIndiaIoni Bowcher UNQUALIFIED
Octavia I IturbideAustraliaAnna Fali QUALIFIED
Ashley S VocelkaBrazilAnna Fali UNQUALIFIED
Salvatore M PoquetteFranceXuxue Feng UNQUALIFIED
Izzy F ShinkoGermanyElwin Sharvill NEW
Isabel C PerinItalyStephen Shaw RENEWAL
Ivar Q ButtGermanyElwin Sharvill QUALIFIED
Tony T SlusarskiBrazilAsiya Javayant PROPOSAL
Aruna H CampainBrazilIvan Magalhaes QUALIFIED
Maria R RulapaughAustraliaOnyama Limba QUALIFIED
Julie G CaudyFranceAsiya Javayant RENEWAL
Greenwood I SchemmerBrazilIvan Magalhaes PROPOSAL
Adams S InouyeBrazilBernardo Dominic NEGOTIATION
Morrow D VenereFranceIvan Magalhaes UNQUALIFIED
Jefferson H RutaCanadaOnyama Limba PROPOSAL
Octavia F CaudyIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio M FerenczRussiaAnna Fali NEGOTIATION
Claire W FerenczFranceOnyama Limba RENEWAL
Salvatore Q GauchoFranceAsiya Javayant PROPOSAL
Octavia K AmigonRussiaElwin Sharvill NEW
Deepesh T BriddickGermanyAmy Elsner UNQUALIFIED
Jefferson J CaldareraRussiaElwin Sharvill NEW
Ashley K MaletBrazilAnna Fali NEW
Mayumi U CaudyRussiaXuxue Feng QUALIFIED
Costa C MorascaJapanAmy Elsner UNQUALIFIED
Sinclair S CaldareraJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie O FigeroaSpain2025-10-07Morlong Associates RENEWAL69Ioni Bowcher
1001Ashley D CaldareraRussia2025-10-05Chapman, Ross E Esq UNQUALIFIED22Bernardo Dominic
1002Ashley N CaldareraUnited Kingdom2025-09-24Printing Dimensions PROPOSAL30Ioni Bowcher
1003Maria I MorascaIndia2025-09-16Dorl, James J Esq QUALIFIED72Onyama Limba
1004Antonio H VocelkaIndia2025-10-06Chapman, Ross E Esq PROPOSAL52Ioni Bowcher
1005Nicolas Y DoeIndia2025-09-30Feiner Bros PROPOSAL99Xuxue Feng
1006Munro F InouyeUnited Kingdom2025-10-07Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1007Octavia F AlbaresCanada2025-10-06King, Christopher A Esq UNQUALIFIED10Onyama Limba
1008Mayumi V StockhamJapan2025-10-02Printing Dimensions NEGOTIATION38Bernardo Dominic
1009Chavez T FollerGermany2025-09-24King, Christopher A Esq UNQUALIFIED87Bernardo Dominic
1010Greenwood C RoysterIndia2025-09-27King, Christopher A Esq PROPOSAL52Amy Elsner
1011Ashley X FigeroaJapan2025-09-25Rousseaux, Michael Esq PROPOSAL64Ioni Bowcher
1012Claire A MacleadGermany2025-10-09Commercial Press PROPOSAL87Onyama Limba
1013Chavez A WhobreyItaly2025-09-30Chapman, Ross E Esq NEGOTIATION64Asiya Javayant
1014Rodrigues J MarrierArgentina2025-09-29Commercial Press RENEWAL94Elwin Sharvill
1015Salvatore O StockhamItaly2025-10-10Chapman, Ross E Esq UNQUALIFIED80Stephen Shaw
1016Claire D SchemmerUnited Kingdom2025-09-23Buckley Miller Wright NEW65Asiya Javayant
1017Jennifer U TollnerSpain2025-09-18Buckley Miller Wright UNQUALIFIED3Anna Fali
1018Claire M DarakjySpain2025-09-13Dorl, James J Esq NEGOTIATION76Elwin Sharvill
1019Leon O SchemmerIndia2025-09-18Feiner Bros NEW32Amy Elsner
1020Jones K CampainRussia2025-09-20Buckley Miller Wright RENEWAL89Bernardo Dominic
1021Leon Q PoquetteUnited Kingdom2025-09-24Buckley Miller Wright NEW99Asiya Javayant
1022Izzy U GillianRussia2025-09-27Feiner Bros NEGOTIATION68Stephen Shaw
1023Faith V KolmetzCanada2025-10-09Chanay, Jeffrey A Esq RENEWAL6Stephen Shaw
1024Emily S SergiSpain2025-09-30Chanay, Jeffrey A Esq RENEWAL57Anna Fali
1025Kadeem Q FigeroaUnited Kingdom2025-10-11Chapman, Ross E Esq NEW38Stephen Shaw
1026Mayumi R WieserAustralia2025-09-19Rousseaux, Michael Esq UNQUALIFIED16Bernardo Dominic
1027Mayumi Q WhobreyBrazil2025-10-06Truhlar And Truhlar Attys UNQUALIFIED54Stephen Shaw
1028Greenwood V BologniaJapan2025-09-28Morlong Associates QUALIFIED93Onyama Limba
1029Julie J VocelkaBrazil2025-10-03Rousseaux, Michael Esq NEW37Anna Fali
1030Clifford L AmigonSpain2025-09-23Morlong Associates PROPOSAL44Bernardo Dominic
1031Izzy Z SergiCanada2025-09-30Rangoni Of Florence PROPOSAL60Ioni Bowcher
1032Leon F FlosiCanada2025-09-25Rousseaux, Michael Esq RENEWAL70Stephen Shaw
1033Ricardo W StensethGermany2025-10-01King, Christopher A Esq NEGOTIATION71Asiya Javayant
1034Nicolas L GauchoCanada2025-09-24Chapman, Ross E Esq RENEWAL32Stephen Shaw
1035Smith E CaudyGermany2025-10-08Feiner Bros NEGOTIATION20Ivan Magalhaes
1036Nicolas D GarufiGermany2025-10-04Dorl, James J Esq NEW53Stephen Shaw
1037Jennifer G WaycottBrazil2025-10-09Feltz Printing Service UNQUALIFIED24Ioni Bowcher
1038Claire H AmigonBrazil2025-09-20Chanay, Jeffrey A Esq QUALIFIED96Anna Fali
1039Clifford J WhobreyCanada2025-09-14Buckley Miller Wright RENEWAL7Asiya Javayant
1040Juan V BologniaAustralia2025-10-06Feltz Printing Service PROPOSAL56Amy Elsner
1041Aika M PerinGermany2025-09-18Buckley Miller Wright UNQUALIFIED42Ioni Bowcher
1042Ivar G SchemmerUnited Kingdom2025-09-22Rousseaux, Michael Esq NEW33Stephen Shaw
1043Ivar Q RutaItaly2025-09-26Chemel, James L Cpa NEGOTIATION92Onyama Limba
1044Jeanfrancois F CampainAustralia2025-09-26Chapman, Ross E Esq UNQUALIFIED83Asiya Javayant
1045Wickens L CampainIndia2025-09-19Rousseaux, Michael Esq UNQUALIFIED44Elwin Sharvill
1046Rodrigues L CaudyGermany2025-09-26Benton, John B Jr RENEWAL85Stephen Shaw
1047Aditya V ButtSpain2025-09-27Morlong Associates UNQUALIFIED88Amy Elsner
1048Leon B VocelkaIndia2025-09-15Buckley Miller Wright NEW75Asiya Javayant
1049Arvin Y ShinkoAustralia2025-09-23Buckley Miller Wright UNQUALIFIED87Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ashley K SergiUnited KingdomAnna Fali QUALIFIED
Isabel K FollerFranceBernardo Dominic NEW
Aika B KuskoFranceAmy Elsner QUALIFIED
Greenwood F AmigonRussiaBernardo Dominic QUALIFIED
Jennifer O KuskoGermanyIoni Bowcher NEW
Alejandro P StensethIndiaAsiya Javayant RENEWAL
Maria S AlbaresGermanyIvan Magalhaes NEW
Claire P PerinSpainElwin Sharvill QUALIFIED
Misaki B DoeItalyElwin Sharvill QUALIFIED
Murillo K PaprockiArgentinaIoni Bowcher PROPOSAL
Leon F MacleadFranceAmy Elsner RENEWAL
Salvatore T ChuiItalyAsiya Javayant UNQUALIFIED
Sinclair U BriddickBrazilOnyama Limba QUALIFIED
Deepesh O PerinBrazilAmy Elsner NEGOTIATION
James Q RoysterItalyAmy Elsner QUALIFIED
Maria M BowleyBrazilIoni Bowcher RENEWAL
Tony C MacleadFranceAnna Fali UNQUALIFIED
Deepesh H VocelkaSpainIoni Bowcher PROPOSAL
Morrow V CampainItalyOnyama Limba PROPOSAL
Ashley E SaylorsItalyIvan Magalhaes NEW
Jennifer O IturbideJapanIoni Bowcher QUALIFIED
Julie Y GarufiIndiaXuxue Feng NEW
Morrow M ShinkoBrazilIvan Magalhaes PROPOSAL
Leja K KolmetzBrazilIvan Magalhaes UNQUALIFIED
Misaki X DilliardGermanyIvan Magalhaes QUALIFIED
Murillo T CampainUnited KingdomAmy Elsner UNQUALIFIED
Munro F CaldareraIndiaAmy Elsner PROPOSAL
Sinclair Y SchemmerIndiaAmy Elsner RENEWAL
Faith S OldroydIndiaStephen Shaw QUALIFIED
Maria J RoysterCanadaStephen Shaw UNQUALIFIED
Munro P MacleadFranceIoni Bowcher RENEWAL
Juan G CaudyAustraliaBernardo Dominic QUALIFIED
Maria Q AlbaresSpainAnna Fali PROPOSAL
Adams K PaprockiItalyIvan Magalhaes QUALIFIED
Costa P AmigonUnited KingdomOnyama Limba PROPOSAL
Munro V CaldareraFranceXuxue Feng NEGOTIATION
Tony J BologniaRussiaStephen Shaw NEW
Ivar L BriddickSpainAmy Elsner RENEWAL
Johnson L AmigonGermanyAnna Fali UNQUALIFIED
Jeanfrancois P SaylorsAustraliaAnna Fali NEGOTIATION
Morrow L StensethBrazilAsiya Javayant UNQUALIFIED
Silvio S GillianFranceXuxue Feng PROPOSAL
Morrow A IturbideUnited KingdomXuxue Feng PROPOSAL
Claire N MaletSpainStephen Shaw NEW
Murillo O KolmetzGermanyElwin Sharvill PROPOSAL
Izzy B KolmetzFranceAnna Fali RENEWAL
Jennifer V MaletArgentinaIvan Magalhaes PROPOSAL
Greenwood E ShinkoAustraliaOnyama Limba QUALIFIED
Leon H BriddickUnited KingdomOnyama Limba UNQUALIFIED
Deepesh N CampainUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Antonio E Paprocki
Costa X Whobrey
Faith V Bolognia
Jefferson U Nicka
Juan S Tollner
Mayumi Z Dilliard
Kadeem Y Iturbide
Emily L Stenseth
Jefferson M Stockham
Kadeem V Glick
Juan Z Bowley
Aruna T Malet
Adams U Stockham
Francesco K Malet
Faith J Caldarera
David G Figeroa
Johnson U Nicka
Emily A Figeroa
Stacey D Flosi
Aditya N Dilliard
James G Bolognia
Isabel F Whobrey
Wickens N Shinko
Deepesh U Nestle
Jennifer V Chui
Morrow M Foller
James E Albares
Kadeem J Dilliard
Jefferson X Butt
Aditya F Garufi
Ashley I Gaucho
Octavia P Malet
Leja B Kolmetz
Tony I Whobrey
Misaki L Shinko
Claire R Marrier
Mayumi S Malet
Izzy B Dilliard
Smith X Marrier
Wickens V Albares
Stacey B Figeroa
Cody S Dilliard
Ashley P Dilliard
Misaki J Slusarski
Munro X Vocelka
Chavez K Tollner
Aditya R Saylors
Stacey R Campain
Silvio Q Gaucho
Rodrigues S Poquette
IdCountryDate
1000Japan2025-10-05
1001Spain2025-09-16
1002Argentina2025-09-16
1003Japan2025-09-27
1004Brazil2025-09-19
1005India2025-09-29
1006United Kingdom2025-09-21
1007Brazil2025-09-13
1008Brazil2025-09-18
1009Italy2025-10-06
1010Brazil2025-09-16
1011Russia2025-10-04
1012Brazil2025-10-01
1013Japan2025-10-12
1014Russia2025-10-08
1015Canada2025-09-29
1016Argentina2025-10-09
1017United Kingdom2025-09-24
1018India2025-10-08
1019United Kingdom2025-09-21
1020Argentina2025-09-25
1021India2025-09-15
1022Brazil2025-10-06
1023Spain2025-09-18
1024Canada2025-09-27
1025Canada2025-10-02
1026Italy2025-10-05
1027India2025-10-01
1028United Kingdom2025-10-07
1029Russia2025-09-17
1030Brazil2025-09-24
1031Brazil2025-09-17
1032Russia2025-09-24
1033Spain2025-10-06
1034Spain2025-10-12
1035Australia2025-09-29
1036France2025-10-09
1037United Kingdom2025-10-08
1038Argentina2025-09-20
1039Spain2025-09-25
1040Germany2025-10-10
1041Spain2025-10-10
1042Italy2025-09-28
1043Australia2025-09-22
1044United Kingdom2025-10-03
1045Australia2025-10-06
1046Russia2025-09-17
1047Italy2025-09-14
1048Russia2025-10-06
1049Canada2025-09-20

On-Demand Data

NameIdCountryDate
Greenwood S Poquette1000Spain2025-09-24
Munro R Caudy1001Germany2025-10-10
Alejandro M Albares1002Australia2025-09-25
Smith U Nicka1003India2025-09-21
Stacey D Ferencz1004France2025-10-05
Faith H Sergi1005Canada2025-09-23
Maria X Ferencz1006India2025-09-26
Clifford J Albares1007Canada2025-10-08
Greenwood G Marrier1008Russia2025-09-20
Aika D Chui1009Italy2025-09-20
Jeanfrancois A Gaucho1010Russia2025-09-13
Aika T Stenseth1011United Kingdom2025-10-12
Deepesh Z Bolognia1012India2025-09-14
James M Flosi1013Argentina2025-09-23
Jennifer O Gillian1014Canada2025-10-03
Aika L Maclead1015Russia2025-10-03
Clifford K Malet1016Germany2025-10-03
Kadeem D Garufi1017Argentina2025-09-20
Greenwood S Campain1018Brazil2025-09-23
Izzy M Tollner1019Canada2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones N NestleJapanAnna Fali PROPOSAL
Tony A MaletItalyElwin Sharvill UNQUALIFIED
Leon U MarrierUnited KingdomXuxue Feng PROPOSAL
Kaitlin Q MorascaUnited KingdomXuxue Feng PROPOSAL
David Z ChuiAustraliaAsiya Javayant QUALIFIED
Ricardo F InouyeArgentinaOnyama Limba PROPOSAL
Jones P WhobreyCanadaAmy Elsner NEW
Kadeem Y SlusarskiRussiaElwin Sharvill NEW
Isabel M SergiItalyAsiya Javayant NEGOTIATION
Leja N DarakjySpainElwin Sharvill NEW
Cody Y FerenczItalyBernardo Dominic PROPOSAL
Aditya Y VocelkaRussiaStephen Shaw NEW
Juan Z DilliardSpainIoni Bowcher NEW
Faith H SergiRussiaIvan Magalhaes NEW
Emily P ChuiItalyIvan Magalhaes UNQUALIFIED
Deepesh J VenereRussiaStephen Shaw QUALIFIED
Alejandro V DoeFranceIvan Magalhaes RENEWAL
Jefferson L TollnerItalyAnna Fali NEGOTIATION
Izzy M GlickRussiaIvan Magalhaes UNQUALIFIED
Johnson S RutaGermanyAmy Elsner NEGOTIATION
Cody Y BowleyGermanyOnyama Limba NEGOTIATION
Deepesh N SergiItalyAnna Fali NEGOTIATION
Aika A InouyeFranceIoni Bowcher UNQUALIFIED
Juan T GarufiArgentinaIvan Magalhaes NEGOTIATION
Aika M FerenczJapanBernardo Dominic RENEWAL
Juan R BowleyRussiaAmy Elsner PROPOSAL
Faith H CaldareraJapanIvan Magalhaes RENEWAL
Smith Q WaycottSpainIvan Magalhaes UNQUALIFIED
Deepesh S KuskoBrazilElwin Sharvill NEW
Cody H DilliardFranceStephen Shaw QUALIFIED
Johnson D CampainItalyXuxue Feng UNQUALIFIED
Ricardo J NestleArgentinaIoni Bowcher NEW
James W VenereIndiaAsiya Javayant PROPOSAL
James G RutaJapanStephen Shaw RENEWAL
Faith O ShinkoFranceBernardo Dominic NEGOTIATION
Rodrigues O StensethCanadaAmy Elsner QUALIFIED
Wickens R NestleIndiaXuxue Feng QUALIFIED
Leja J MorascaArgentinaAsiya Javayant NEW
Stacey K FollerAustraliaAsiya Javayant UNQUALIFIED
Wickens I BowleyUnited KingdomAnna Fali UNQUALIFIED

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