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
Aditya L DilliardGermanyIoni Bowcher PROPOSAL
Johnson N PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin T NestleRussiaAsiya Javayant RENEWAL
Julie T NickaSpainAmy Elsner UNQUALIFIED
Misaki O SchemmerFranceIvan Magalhaes PROPOSAL
Munro R GauchoFranceAsiya Javayant QUALIFIED
Costa N SergiIndiaOnyama Limba RENEWAL
Emily A NestleItalyIoni Bowcher UNQUALIFIED
Jefferson W GillianCanadaIoni Bowcher PROPOSAL
Kaitlin O SlusarskiArgentinaIoni Bowcher NEGOTIATION
Kaitlin E ButtIndiaOnyama Limba UNQUALIFIED
David N DilliardSpainElwin Sharvill RENEWAL
Adams K MaletItalyAmy Elsner NEGOTIATION
Kaitlin C RoysterFranceAnna Fali NEGOTIATION
Nicolas Y KuskoSpainBernardo Dominic QUALIFIED
Wickens H ShinkoRussiaStephen Shaw NEW
Isabel A GauchoGermanyAmy Elsner RENEWAL
Rodrigues N BriddickRussiaIvan Magalhaes UNQUALIFIED
Ricardo H StensethRussiaAmy Elsner RENEWAL
Antonio I DoeGermanyStephen Shaw NEW
Kadeem L CaldareraFranceAnna Fali RENEWAL
Mujtaba D PaprockiCanadaBernardo Dominic UNQUALIFIED
Smith X SchemmerBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois P PoquetteFranceBernardo Dominic NEGOTIATION
Aruna U WieserSpainBernardo Dominic NEW
Stacey H AlbaresSpainBernardo Dominic UNQUALIFIED
Aditya V FerenczFranceElwin Sharvill NEGOTIATION
Izzy X VenereUnited KingdomAmy Elsner RENEWAL
Ashley S PaprockiBrazilStephen Shaw QUALIFIED
Kadeem I SchemmerCanadaAnna Fali PROPOSAL
Ashley I NickaJapanElwin Sharvill NEW
Ivar I NickaGermanyIoni Bowcher NEW
Misaki C DarakjyAustraliaXuxue Feng QUALIFIED
Mayumi Z PoquetteFranceXuxue Feng UNQUALIFIED
Francesco T CampainSpainOnyama Limba UNQUALIFIED
Kaitlin J BriddickRussiaStephen Shaw QUALIFIED
Juan I FollerCanadaIoni Bowcher NEGOTIATION
Clifford K CaudyArgentinaElwin Sharvill PROPOSAL
Kadeem Y FollerArgentinaStephen Shaw UNQUALIFIED
Nicolas B MorascaIndiaOnyama Limba QUALIFIED
Wickens M CaldareraRussiaXuxue Feng NEGOTIATION
Murillo K SchemmerFranceStephen Shaw NEW
Faith T IturbideIndiaBernardo Dominic QUALIFIED
Smith O RulapaughRussiaOnyama Limba RENEWAL
Misaki P AmigonGermanyXuxue Feng PROPOSAL
Mujtaba U FigeroaRussiaBernardo Dominic PROPOSAL
Leja Z FigeroaArgentinaAsiya Javayant PROPOSAL
Tony S ChuiGermanyAsiya Javayant NEGOTIATION
Leon I ButtUnited KingdomIoni Bowcher NEGOTIATION
Kadeem Z FigeroaAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire A CaudyRussiaXuxue Feng NEW
Clifford Y FollerRussiaAsiya Javayant UNQUALIFIED
Costa E SergiArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois C FerenczItalyAnna Fali NEW
Mayumi X FollerAustraliaIvan Magalhaes PROPOSAL
Mayumi O TollnerAustraliaElwin Sharvill QUALIFIED
David J IturbideIndiaElwin Sharvill NEW
Mujtaba N SergiItalyXuxue Feng RENEWAL
Wickens V OldroydItalyAmy Elsner RENEWAL
Aruna G NestleCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie J ShinkoItaly2025-07-15Benton, John B Jr RENEWAL53Bernardo Dominic
1001Misaki F InouyeBrazil2025-07-29Feiner Bros QUALIFIED7Bernardo Dominic
1002Isabel M AmigonIndia2025-08-13Commercial Press QUALIFIED18Ioni Bowcher
1003Francesco T MarrierAustralia2025-08-08Chapman, Ross E Esq PROPOSAL92Xuxue Feng
1004Costa P BriddickJapan2025-07-31Feiner Bros QUALIFIED0Ivan Magalhaes
1005Aruna E ButtCanada2025-08-02Rousseaux, Michael Esq QUALIFIED94Asiya Javayant
1006Silvio Q InouyeJapan2025-07-24Chemel, James L Cpa NEW4Anna Fali
1007Cody Y SaylorsJapan2025-07-21Printing Dimensions RENEWAL36Onyama Limba
1008Ashley Z DoeGermany2025-07-25Printing Dimensions PROPOSAL23Amy Elsner
1009Mujtaba H TollnerFrance2025-07-16Feltz Printing Service RENEWAL5Amy Elsner
1010Julie S SaylorsIndia2025-07-23Benton, John B Jr UNQUALIFIED68Onyama Limba
1011Mayumi G GlickBrazil2025-07-15Chemel, James L Cpa QUALIFIED92Ioni Bowcher
1012Aditya H GarufiIndia2025-08-10Chemel, James L Cpa UNQUALIFIED34Ivan Magalhaes
1013Greenwood F IturbideCanada2025-08-07Buckley Miller Wright RENEWAL51Onyama Limba
1014Morrow Y MaletRussia2025-07-15Printing Dimensions NEGOTIATION36Xuxue Feng
1015Arvin I RulapaughUnited Kingdom2025-08-13Benton, John B Jr RENEWAL80Onyama Limba
1016Arvin R OldroydBrazil2025-07-22Rangoni Of Florence UNQUALIFIED78Bernardo Dominic
1017Jefferson H OldroydUnited Kingdom2025-08-12King, Christopher A Esq PROPOSAL26Amy Elsner
1018Misaki U IturbideFrance2025-08-10Truhlar And Truhlar Attys RENEWAL38Asiya Javayant
1019Mujtaba P MorascaCanada2025-07-26Feltz Printing Service NEGOTIATION92Bernardo Dominic
1020Mujtaba T ShinkoItaly2025-08-04Chemel, James L Cpa UNQUALIFIED21Xuxue Feng
1021Arvin Z WhobreyFrance2025-08-03Rangoni Of Florence UNQUALIFIED37Ivan Magalhaes
1022Jones A MacleadBrazil2025-07-31Feiner Bros PROPOSAL53Xuxue Feng
1023Isabel C CaldareraGermany2025-07-26Chapman, Ross E Esq PROPOSAL14Ivan Magalhaes
1024Octavia T CaudyJapan2025-08-09Printing Dimensions RENEWAL41Bernardo Dominic
1025Arvin E InouyeItaly2025-07-22Truhlar And Truhlar Attys QUALIFIED38Xuxue Feng
1026David H WieserJapan2025-07-18Commercial Press NEW17Ioni Bowcher
1027Darci T WhobreySpain2025-07-27Truhlar And Truhlar Attys UNQUALIFIED94Anna Fali
1028Misaki R OstroskyCanada2025-07-26Benton, John B Jr PROPOSAL52Elwin Sharvill
1029Claire U TollnerCanada2025-08-11Truhlar And Truhlar Attys QUALIFIED24Bernardo Dominic
1030Maisha D KolmetzSpain2025-08-12Dorl, James J Esq QUALIFIED50Ioni Bowcher
1031Munro D BowleyJapan2025-08-04Chanay, Jeffrey A Esq RENEWAL18Stephen Shaw
1032Arvin P CampainCanada2025-08-06Dorl, James J Esq PROPOSAL91Anna Fali
1033James P NickaBrazil2025-07-19Commercial Press QUALIFIED32Amy Elsner
1034Wickens X BowleyUnited Kingdom2025-07-28Commercial Press RENEWAL12Xuxue Feng
1035David V PerinJapan2025-08-04Chemel, James L Cpa PROPOSAL88Ioni Bowcher
1036Mujtaba E GarufiUnited Kingdom2025-08-01Feltz Printing Service QUALIFIED82Xuxue Feng
1037Faith K GlickAustralia2025-08-08Feiner Bros RENEWAL87Anna Fali
1038Ricardo W KolmetzArgentina2025-08-01Rousseaux, Michael Esq QUALIFIED3Onyama Limba
1039Greenwood J MaletCanada2025-08-05Chemel, James L Cpa NEGOTIATION39Ioni Bowcher
1040Silvio D KuskoBrazil2025-08-08Feltz Printing Service QUALIFIED65Ioni Bowcher
1041Izzy A IturbideSpain2025-07-22Feltz Printing Service UNQUALIFIED25Elwin Sharvill
1042Mayumi X FigeroaCanada2025-08-01Chanay, Jeffrey A Esq NEW55Xuxue Feng
1043Greenwood R ShinkoIndia2025-07-19Commercial Press RENEWAL43Onyama Limba
1044Rodrigues J WaycottIndia2025-08-05Truhlar And Truhlar Attys UNQUALIFIED31Ioni Bowcher
1045Clifford H PerinItaly2025-08-04Buckley Miller Wright QUALIFIED80Bernardo Dominic
1046Stacey K FlosiBrazil2025-08-04Commercial Press RENEWAL34Anna Fali
1047Chavez P KolmetzItaly2025-07-23Rangoni Of Florence NEGOTIATION55Ivan Magalhaes
1048Chavez T SergiSpain2025-08-12Morlong Associates NEW72Xuxue Feng
1049Rodrigues A DilliardFrance2025-08-06Printing Dimensions QUALIFIED26Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci Y ShinkoItalyStephen Shaw PROPOSAL
Sinclair G TollnerRussiaElwin Sharvill RENEWAL
Kadeem U MacleadItalyAmy Elsner QUALIFIED
Ricardo Z OstroskyJapanIoni Bowcher RENEWAL
Antonio K MarrierItalyAsiya Javayant RENEWAL
Jones E VocelkaBrazilIvan Magalhaes NEGOTIATION
Stacey I MaletUnited KingdomAmy Elsner PROPOSAL
Emily R PoquetteArgentinaAnna Fali PROPOSAL
Smith V InouyeGermanyStephen Shaw NEGOTIATION
Silvio K BriddickIndiaStephen Shaw NEW
Tony M MacleadIndiaBernardo Dominic NEGOTIATION
Arvin P SaylorsRussiaBernardo Dominic NEGOTIATION
Murillo X OldroydJapanOnyama Limba UNQUALIFIED
Leja R SchemmerJapanBernardo Dominic NEGOTIATION
Johnson I NickaJapanAnna Fali UNQUALIFIED
Maria N WhobreyItalyBernardo Dominic UNQUALIFIED
Leja X OldroydSpainAsiya Javayant NEGOTIATION
Costa A GillianIndiaXuxue Feng QUALIFIED
Tony X DilliardIndiaIoni Bowcher NEGOTIATION
Antonio W ChuiFranceStephen Shaw RENEWAL
Chavez Z IturbideItalyAsiya Javayant RENEWAL
Sinclair U CampainGermanyAsiya Javayant PROPOSAL
Munro I VenereUnited KingdomAnna Fali NEGOTIATION
Jones Q AmigonUnited KingdomStephen Shaw NEW
Emily U FlosiFranceBernardo Dominic RENEWAL
Costa L RutaArgentinaBernardo Dominic QUALIFIED
Murillo A InouyeItalyAnna Fali UNQUALIFIED
Clifford U SergiCanadaElwin Sharvill RENEWAL
Sinclair G ShinkoAustraliaIoni Bowcher QUALIFIED
Leon I InouyeFranceAsiya Javayant UNQUALIFIED
Faith K RulapaughCanadaXuxue Feng QUALIFIED
Jones C FollerIndiaOnyama Limba QUALIFIED
Tony X FigeroaArgentinaElwin Sharvill NEGOTIATION
Rodrigues Q NickaJapanIoni Bowcher NEGOTIATION
Ashley F BowleyArgentinaAnna Fali QUALIFIED
Kaitlin Z RulapaughAustraliaIoni Bowcher RENEWAL
Jeanfrancois R RoysterGermanyBernardo Dominic PROPOSAL
Wickens U StockhamJapanIvan Magalhaes QUALIFIED
James Y InouyeAustraliaIoni Bowcher PROPOSAL
Claire G KolmetzFranceXuxue Feng NEGOTIATION
Greenwood K MaletArgentinaAsiya Javayant NEW
Tony O FollerSpainXuxue Feng NEW
Smith N ShinkoFranceAmy Elsner NEW
Arvin R RutaAustraliaIoni Bowcher QUALIFIED
Greenwood R GillianSpainOnyama Limba UNQUALIFIED
Francesco N AmigonAustraliaIoni Bowcher NEGOTIATION
Ivar I BriddickGermanyStephen Shaw NEW
Alejandro M NestleIndiaOnyama Limba PROPOSAL
Kaitlin K FerenczArgentinaAnna Fali PROPOSAL
Faith S WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
James P Stockham
Kaitlin Q Bowley
Kadeem K Ferencz
Sinclair E Oldroyd
Juan X Darakjy
Salvatore B Butt
Chavez U Iturbide
Leja C Nicka
Antonio Z Bolognia
Darci U Schemmer
Mayumi Y Whobrey
Adams R Malet
Nicolas J Stockham
Wickens P Marrier
David P Albares
Smith F Rim
Octavia O Slusarski
Mujtaba C Perin
Johnson K Inouye
Julie U Gillian
Adams O Figeroa
Murillo M Waycott
Antonio O Wieser
Nicolas P Dilliard
Leja Q Glick
Leja V Sergi
Antonio G Bolognia
Antonio G Schemmer
Salvatore S Nestle
Izzy A Saylors
Morrow M Morasca
Salvatore W Inouye
Kadeem M Saylors
Jefferson H Caudy
Isabel M Bolognia
Jennifer Y Marrier
Isabel P Gillian
Costa R Glick
Cody B Schemmer
James N Saylors
Darci R Campain
Jefferson O Sergi
Tony P Oldroyd
Alejandro N Amigon
Morrow E Wieser
Juan O Poquette
Mayumi G Gillian
Emily Z Royster
Mayumi U Schemmer
David K Schemmer
IdCountryDate
1000India2025-07-26
1001France2025-07-15
1002Brazil2025-07-19
1003Japan2025-07-21
1004Russia2025-07-31
1005Russia2025-07-27
1006India2025-08-07
1007Japan2025-07-22
1008Canada2025-08-12
1009Spain2025-07-29
1010Russia2025-08-09
1011Germany2025-07-28
1012Russia2025-08-11
1013Russia2025-07-25
1014France2025-07-24
1015Japan2025-08-10
1016Australia2025-08-07
1017Australia2025-08-06
1018Spain2025-07-29
1019United Kingdom2025-07-25
1020Australia2025-08-03
1021Spain2025-08-05
1022Brazil2025-07-26
1023Australia2025-07-16
1024Russia2025-08-10
1025Russia2025-07-25
1026Canada2025-07-19
1027France2025-07-28
1028France2025-08-02
1029France2025-07-26
1030Brazil2025-07-22
1031France2025-08-11
1032Australia2025-08-06
1033Brazil2025-07-27
1034Argentina2025-08-05
1035Russia2025-07-25
1036Russia2025-08-13
1037Argentina2025-07-30
1038Argentina2025-08-02
1039India2025-07-28
1040Russia2025-08-04
1041Brazil2025-07-18
1042United Kingdom2025-08-08
1043Argentina2025-08-07
1044United Kingdom2025-07-17
1045Germany2025-07-29
1046Argentina2025-07-25
1047Spain2025-08-01
1048United Kingdom2025-07-18
1049Germany2025-08-11

On-Demand Data

NameIdCountryDate
Maisha O Inouye1000Brazil2025-07-18
Jefferson S Tollner1001Russia2025-08-02
Murillo E Albares1002Canada2025-07-17
Stacey U Butt1003United Kingdom2025-07-29
Munro U Kusko1004Argentina2025-07-23
Jefferson S Venere1005Japan2025-07-18
Murillo M Slusarski1006France2025-08-04
Clifford F Malet1007Argentina2025-08-05
Julie W Oldroyd1008Canada2025-07-27
Nicolas V Albares1009Australia2025-07-18
Kadeem D Chui1010Germany2025-08-05
Jones Z Gaucho1011Brazil2025-07-29
Deepesh G Garufi1012Germany2025-07-27
Octavia D Chui1013Spain2025-07-25
Antonio S Tollner1014France2025-07-26
Faith I Morasca1015United Kingdom2025-07-15
Arvin V Albares1016France2025-08-13
Rodrigues W Whobrey1017Spain2025-08-02
Kaitlin I Ostrosky1018Germany2025-07-20
Smith Y Kolmetz1019Japan2025-08-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan B KuskoBrazilAsiya Javayant RENEWAL
Misaki Y DarakjyJapanBernardo Dominic NEGOTIATION
Arvin M WhobreyBrazilIoni Bowcher NEGOTIATION
Aruna F FollerArgentinaAmy Elsner NEW
Sinclair V PaprockiIndiaOnyama Limba UNQUALIFIED
Silvio Z AmigonBrazilIoni Bowcher NEGOTIATION
Maisha J BologniaGermanyXuxue Feng UNQUALIFIED
Salvatore U DarakjyAustraliaStephen Shaw QUALIFIED
Faith L FlosiItalyIvan Magalhaes PROPOSAL
Cody T GarufiRussiaAnna Fali RENEWAL
Tony P ChuiBrazilXuxue Feng PROPOSAL
Darci G GlickSpainXuxue Feng RENEWAL
Faith D StensethUnited KingdomElwin Sharvill NEGOTIATION
Isabel A PaprockiGermanyOnyama Limba UNQUALIFIED
Octavia N GlickJapanAsiya Javayant PROPOSAL
Maria K SergiFranceIoni Bowcher RENEWAL
Maisha C ButtRussiaAsiya Javayant UNQUALIFIED
Cody N PoquetteBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois W GillianItalyOnyama Limba RENEWAL
Kaitlin U CampainArgentinaXuxue Feng UNQUALIFIED
Juan E WieserArgentinaAnna Fali NEW
Tony G MaletItalyOnyama Limba QUALIFIED
Julie O SlusarskiIndiaBernardo Dominic NEW
Ashley G MaletIndiaAmy Elsner RENEWAL
Ashley P ShinkoFranceXuxue Feng RENEWAL
Silvio S KuskoRussiaOnyama Limba QUALIFIED
Adams N DarakjyFranceElwin Sharvill NEGOTIATION
Clifford L CampainItalyAnna Fali NEW
Tony Z PaprockiAustraliaIoni Bowcher PROPOSAL
Greenwood S GauchoJapanIoni Bowcher NEW
Faith E SlusarskiRussiaAnna Fali PROPOSAL
Francesco C MacleadItalyAsiya Javayant NEW
Maria W BologniaCanadaBernardo Dominic NEGOTIATION
Nicolas J WaycottFranceStephen Shaw RENEWAL
Maria Y CaudyGermanyElwin Sharvill NEW
James U RutaRussiaBernardo Dominic QUALIFIED
Johnson R MaletCanadaOnyama Limba UNQUALIFIED
Jefferson D RulapaughIndiaElwin Sharvill NEW
Faith D FlosiIndiaAsiya Javayant QUALIFIED
Deepesh Y InouyeBrazilElwin Sharvill 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>