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
Leja J ChuiGermanyIvan Magalhaes QUALIFIED
Maria N BologniaUnited KingdomXuxue Feng NEGOTIATION
Chavez P PoquetteJapanOnyama Limba RENEWAL
Mayumi M SchemmerGermanyIoni Bowcher NEW
Clifford F ChuiCanadaIvan Magalhaes RENEWAL
Francesco V ButtJapanAsiya Javayant NEW
James T SergiIndiaIoni Bowcher UNQUALIFIED
Jones T CaudyRussiaIoni Bowcher QUALIFIED
Leja M AlbaresFranceElwin Sharvill NEW
Murillo N CampainFranceOnyama Limba UNQUALIFIED
Claire B ChuiItalyIvan Magalhaes NEW
Adams L PerinSpainAmy Elsner NEGOTIATION
Isabel T AmigonArgentinaIoni Bowcher QUALIFIED
Maisha T DoeSpainStephen Shaw NEGOTIATION
Deepesh O AlbaresUnited KingdomAnna Fali NEW
Francesco O AlbaresItalyIvan Magalhaes UNQUALIFIED
Cody M MaletIndiaIoni Bowcher UNQUALIFIED
Maisha S BriddickAustraliaStephen Shaw NEGOTIATION
Greenwood K AlbaresJapanXuxue Feng QUALIFIED
Jefferson N VenereGermanyIvan Magalhaes NEGOTIATION
Juan G DoeAustraliaAnna Fali UNQUALIFIED
Juan K BologniaArgentinaStephen Shaw UNQUALIFIED
Adams E WieserCanadaStephen Shaw RENEWAL
Greenwood D NickaSpainBernardo Dominic QUALIFIED
Maria H CaldareraCanadaIoni Bowcher QUALIFIED
Sinclair B PerinSpainIvan Magalhaes NEGOTIATION
David M MarrierCanadaAmy Elsner NEGOTIATION
Leja P GlickFranceXuxue Feng PROPOSAL
Mayumi B VenereArgentinaAnna Fali RENEWAL
Chavez J StensethFranceAnna Fali QUALIFIED
Morrow B FerenczAustraliaAnna Fali PROPOSAL
Nicolas J SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Silvio J FlosiRussiaBernardo Dominic UNQUALIFIED
Cody Z RutaBrazilXuxue Feng PROPOSAL
Greenwood U SchemmerCanadaAsiya Javayant RENEWAL
David C NickaBrazilAsiya Javayant PROPOSAL
Jeanfrancois N SergiGermanyIoni Bowcher NEGOTIATION
Emily N FigeroaCanadaXuxue Feng PROPOSAL
Chavez U KuskoIndiaAmy Elsner NEW
Rodrigues B PaprockiBrazilAsiya Javayant NEW
Jeanfrancois O SaylorsJapanOnyama Limba RENEWAL
Johnson Y NickaIndiaAsiya Javayant RENEWAL
Jeanfrancois O FlosiUnited KingdomAnna Fali RENEWAL
Darci W FigeroaAustraliaBernardo Dominic QUALIFIED
Aruna V RutaFranceIoni Bowcher RENEWAL
Costa T FlosiSpainElwin Sharvill UNQUALIFIED
Alejandro N SergiSpainIvan Magalhaes UNQUALIFIED
Ricardo L KuskoArgentinaBernardo Dominic QUALIFIED
Nicolas B StensethUnited KingdomIoni Bowcher QUALIFIED
Faith R SlusarskiRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Chavez X ButtCanadaXuxue Feng QUALIFIED
Isabel O SlusarskiBrazilIvan Magalhaes NEW
Leja A TollnerRussiaElwin Sharvill UNQUALIFIED
Deepesh Q BowleyRussiaAnna Fali NEGOTIATION
Stacey M RulapaughIndiaStephen Shaw NEW
Nicolas R FollerJapanAsiya Javayant PROPOSAL
Johnson X PerinItalyAmy Elsner NEW
Stacey G SaylorsJapanAmy Elsner QUALIFIED
Murillo K GlickItalyXuxue Feng QUALIFIED
Murillo H SchemmerArgentinaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo W CaldareraJapan2025-07-11Chapman, Ross E Esq NEW54Xuxue Feng
1001Francesco R StensethGermany2025-07-21Morlong Associates RENEWAL55Ioni Bowcher
1002Maria G KuskoUnited Kingdom2025-07-04Commercial Press RENEWAL58Ivan Magalhaes
1003Antonio R CaudyCanada2025-07-06Truhlar And Truhlar Attys QUALIFIED65Xuxue Feng
1004Stacey B RulapaughBrazil2025-07-29King, Christopher A Esq NEGOTIATION93Onyama Limba
1005Murillo J MacleadUnited Kingdom2025-07-29Dorl, James J Esq UNQUALIFIED91Anna Fali
1006James T MaletUnited Kingdom2025-07-23Dorl, James J Esq RENEWAL73Anna Fali
1007Julie E DilliardCanada2025-07-04Buckley Miller Wright NEW22Onyama Limba
1008Octavia M CaudyArgentina2025-07-22Dorl, James J Esq UNQUALIFIED40Elwin Sharvill
1009Leon F DilliardAustralia2025-07-26Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1010Cody Q RoysterRussia2025-07-12Chemel, James L Cpa PROPOSAL43Bernardo Dominic
1011Izzy E MarrierArgentina2025-07-28Dorl, James J Esq RENEWAL61Bernardo Dominic
1012Clifford A AmigonItaly2025-07-16Chapman, Ross E Esq QUALIFIED82Amy Elsner
1013Costa O IturbideIndia2025-07-19Feltz Printing Service QUALIFIED65Ivan Magalhaes
1014James B ChuiGermany2025-07-03Commercial Press NEW66Elwin Sharvill
1015Murillo L MarrierJapan2025-07-08Chemel, James L Cpa NEGOTIATION75Onyama Limba
1016Greenwood C CaudyUnited Kingdom2025-07-09Buckley Miller Wright NEW58Ivan Magalhaes
1017Aika Q ShinkoBrazil2025-07-29Chemel, James L Cpa NEW6Anna Fali
1018Jefferson F KolmetzArgentina2025-07-12Dorl, James J Esq QUALIFIED8Onyama Limba
1019Aditya N IturbideJapan2025-07-22Morlong Associates UNQUALIFIED91Anna Fali
1020Izzy U StockhamAustralia2025-07-25Dorl, James J Esq QUALIFIED40Amy Elsner
1021Ivar X AmigonUnited Kingdom2025-07-11King, Christopher A Esq RENEWAL77Bernardo Dominic
1022Emily B BriddickRussia2025-07-03King, Christopher A Esq RENEWAL44Stephen Shaw
1023Francesco B RoysterSpain2025-07-08Truhlar And Truhlar Attys NEGOTIATION50Xuxue Feng
1024Mujtaba D SaylorsArgentina2025-07-03Printing Dimensions UNQUALIFIED89Anna Fali
1025Emily S WaycottRussia2025-07-16Feltz Printing Service NEGOTIATION93Ioni Bowcher
1026Deepesh O ShinkoUnited Kingdom2025-07-30Chemel, James L Cpa QUALIFIED9Elwin Sharvill
1027Wickens U RoysterIndia2025-07-09Printing Dimensions UNQUALIFIED21Bernardo Dominic
1028Johnson B ButtFrance2025-07-02Rangoni Of Florence NEW77Ioni Bowcher
1029Adams K PerinBrazil2025-07-20Buckley Miller Wright UNQUALIFIED14Ioni Bowcher
1030Jones H SaylorsIndia2025-07-13Truhlar And Truhlar Attys PROPOSAL18Bernardo Dominic
1031Mujtaba R PoquetteRussia2025-07-01Benton, John B Jr NEW97Asiya Javayant
1032Rodrigues E DoeIndia2025-07-13Chapman, Ross E Esq QUALIFIED34Anna Fali
1033James X BowleyAustralia2025-07-25Chapman, Ross E Esq QUALIFIED65Amy Elsner
1034Izzy I CampainUnited Kingdom2025-07-25Feltz Printing Service UNQUALIFIED94Ivan Magalhaes
1035Tony Y PaprockiRussia2025-07-30Feltz Printing Service NEW1Anna Fali
1036Deepesh Z WhobreyGermany2025-07-09Commercial Press UNQUALIFIED64Ioni Bowcher
1037Aruna N OstroskyArgentina2025-07-30King, Christopher A Esq NEGOTIATION8Amy Elsner
1038Rodrigues U WhobreyArgentina2025-07-07Commercial Press UNQUALIFIED92Ioni Bowcher
1039Darci B DarakjyBrazil2025-07-02Chanay, Jeffrey A Esq RENEWAL59Elwin Sharvill
1040Mujtaba J VenereCanada2025-07-03Printing Dimensions PROPOSAL78Ivan Magalhaes
1041Jones W WhobreyAustralia2025-07-16Truhlar And Truhlar Attys PROPOSAL84Xuxue Feng
1042Kaitlin J AmigonFrance2025-07-02Benton, John B Jr NEGOTIATION92Xuxue Feng
1043Nicolas G SergiJapan2025-07-02Chanay, Jeffrey A Esq NEGOTIATION56Anna Fali
1044Smith J NickaJapan2025-07-05Commercial Press NEGOTIATION7Ioni Bowcher
1045Clifford Z TollnerJapan2025-07-24Truhlar And Truhlar Attys QUALIFIED43Anna Fali
1046Murillo K ChuiUnited Kingdom2025-07-25Buckley Miller Wright NEGOTIATION82Stephen Shaw
1047Aditya K AmigonUnited Kingdom2025-07-26Dorl, James J Esq QUALIFIED4Onyama Limba
1048Costa C GauchoFrance2025-07-07Chanay, Jeffrey A Esq PROPOSAL57Asiya Javayant
1049Smith B SlusarskiUnited Kingdom2025-07-30Buckley Miller Wright NEGOTIATION31Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore I OldroydUnited KingdomAsiya Javayant RENEWAL
Ricardo C SchemmerBrazilIoni Bowcher NEGOTIATION
Maisha S NestleFranceOnyama Limba QUALIFIED
Claire N MaletGermanyAnna Fali NEGOTIATION
Julie D MaletGermanyIvan Magalhaes QUALIFIED
Claire P AlbaresSpainIoni Bowcher NEW
David K BologniaCanadaIvan Magalhaes PROPOSAL
Smith C BriddickJapanAnna Fali NEW
Jefferson T VocelkaJapanStephen Shaw UNQUALIFIED
James Q FigeroaUnited KingdomIoni Bowcher PROPOSAL
Leon C PaprockiCanadaStephen Shaw RENEWAL
Jefferson N RimArgentinaAnna Fali NEW
Aditya C VenereJapanAmy Elsner NEW
Leon X OstroskyAustraliaAmy Elsner UNQUALIFIED
Smith K AmigonJapanElwin Sharvill RENEWAL
Kaitlin K DoeUnited KingdomAmy Elsner RENEWAL
Maisha A MorascaRussiaBernardo Dominic UNQUALIFIED
Francesco L SaylorsSpainAnna Fali QUALIFIED
Adams U FollerUnited KingdomXuxue Feng QUALIFIED
Aditya M DarakjyBrazilStephen Shaw QUALIFIED
Mujtaba K VocelkaUnited KingdomAnna Fali PROPOSAL
Adams R SchemmerIndiaAmy Elsner RENEWAL
Clifford U FigeroaRussiaAsiya Javayant NEGOTIATION
Octavia U RoysterIndiaAsiya Javayant QUALIFIED
Alejandro X RulapaughFranceXuxue Feng NEGOTIATION
Munro F CampainUnited KingdomBernardo Dominic NEW
Costa Q DarakjyAustraliaIoni Bowcher PROPOSAL
Maisha L BowleyArgentinaBernardo Dominic PROPOSAL
Chavez Z RimFranceBernardo Dominic PROPOSAL
Sinclair S ButtUnited KingdomIoni Bowcher RENEWAL
Ashley I GlickCanadaBernardo Dominic NEGOTIATION
Deepesh W SergiItalyOnyama Limba PROPOSAL
Jefferson X ShinkoGermanyOnyama Limba RENEWAL
Misaki Z KolmetzBrazilXuxue Feng UNQUALIFIED
Johnson D PerinArgentinaIvan Magalhaes PROPOSAL
Izzy L FollerCanadaOnyama Limba NEW
Munro P MaletItalyAnna Fali QUALIFIED
Maisha D StockhamArgentinaAmy Elsner NEGOTIATION
Francesco T MaletFranceIoni Bowcher NEGOTIATION
Johnson G RulapaughFranceStephen Shaw UNQUALIFIED
Wickens I DoeArgentinaStephen Shaw RENEWAL
Salvatore J MaletAustraliaStephen Shaw NEGOTIATION
Jefferson J FerenczJapanBernardo Dominic QUALIFIED
Clifford P DoeAustraliaAmy Elsner RENEWAL
Greenwood Y WaycottAustraliaElwin Sharvill UNQUALIFIED
Isabel U BowleySpainIvan Magalhaes RENEWAL
Mayumi M GauchoJapanStephen Shaw RENEWAL
Jones T WieserAustraliaStephen Shaw QUALIFIED
Antonio B DilliardAustraliaAmy Elsner UNQUALIFIED
Izzy C RulapaughGermanyStephen Shaw RENEWAL
Frozen Columns
Name
Morrow G Gaucho
Isabel Z Chui
Munro M Poquette
Sinclair H Paprocki
James M Perin
Antonio K Venere
Jeanfrancois U Caldarera
Morrow K Butt
Silvio Z Maclead
Jennifer T Saylors
Isabel R Perin
Ricardo A Ferencz
Alejandro W Gaucho
Antonio Q Rulapaugh
Leja V Garufi
Antonio B Perin
Nicolas O Nicka
Isabel Z Whobrey
Alejandro U Stockham
Cody M Butt
Sinclair E Whobrey
Murillo Y Wieser
Adams X Oldroyd
James R Sergi
Darci E Poquette
Cody G Saylors
Isabel W Morasca
Sinclair R Rulapaugh
Silvio V Bolognia
Kadeem N Caldarera
Sinclair W Nicka
Deepesh N Kusko
Cody T Bolognia
Jeanfrancois M Bolognia
Aditya U Royster
Johnson B Whobrey
Faith Y Wieser
Arvin K Morasca
Ivar O Caldarera
Octavia K Inouye
Leon I Glick
Salvatore L Caudy
Izzy E Kusko
Francesco J Stenseth
Julie O Marrier
Chavez A Ostrosky
Jeanfrancois H Stockham
Izzy O Kusko
Smith C Whobrey
Johnson N Slusarski
IdCountryDate
1000Spain2025-07-12
1001France2025-07-20
1002Germany2025-07-17
1003Canada2025-07-02
1004Japan2025-07-14
1005Canada2025-07-26
1006Canada2025-07-27
1007Spain2025-07-13
1008Australia2025-07-27
1009Canada2025-07-15
1010Brazil2025-07-23
1011France2025-07-20
1012Germany2025-07-04
1013Russia2025-07-16
1014Australia2025-07-16
1015Italy2025-07-15
1016Russia2025-07-26
1017India2025-07-08
1018Brazil2025-07-16
1019United Kingdom2025-07-19
1020Japan2025-07-29
1021India2025-07-22
1022Brazil2025-07-26
1023Japan2025-07-03
1024United Kingdom2025-07-23
1025Italy2025-07-25
1026Brazil2025-07-27
1027Italy2025-07-16
1028India2025-07-20
1029United Kingdom2025-07-14
1030Italy2025-07-20
1031United Kingdom2025-07-08
1032United Kingdom2025-07-06
1033Spain2025-07-28
1034Brazil2025-07-06
1035Canada2025-07-13
1036Argentina2025-07-12
1037Argentina2025-07-03
1038Australia2025-07-22
1039Spain2025-07-17
1040Germany2025-07-15
1041Spain2025-07-24
1042Australia2025-07-19
1043Japan2025-07-10
1044Spain2025-07-14
1045France2025-07-04
1046Russia2025-07-30
1047Spain2025-07-21
1048Brazil2025-07-09
1049Russia2025-07-24

On-Demand Data

NameIdCountryDate
Sinclair N Doe1000France2025-07-16
Costa C Tollner1001Russia2025-07-09
Kadeem N Briddick1002Canada2025-07-08
Johnson H Maclead1003France2025-07-10
Kaitlin U Maclead1004Spain2025-07-21
Johnson I Glick1005Japan2025-07-05
Emily Q Oldroyd1006Russia2025-07-27
Juan D Doe1007Argentina2025-07-28
Ivar M Waycott1008Argentina2025-07-16
Jefferson T Caldarera1009Russia2025-07-22
Deepesh X Royster1010Argentina2025-07-22
Maisha C Wieser1011Canada2025-07-01
Ricardo W Marrier1012Spain2025-07-27
Cody K Doe1013Japan2025-07-29
Clifford B Briddick1014France2025-07-28
Chavez E Darakjy1015Germany2025-07-14
Greenwood R Rulapaugh1016Brazil2025-07-16
Mujtaba L Morasca1017France2025-07-09
Juan A Poquette1018Argentina2025-07-19
Maisha O Vocelka1019Canada2025-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa B SergiJapanAnna Fali NEGOTIATION
Isabel V VocelkaSpainAsiya Javayant UNQUALIFIED
Smith L BologniaUnited KingdomIvan Magalhaes PROPOSAL
Claire M StockhamFranceOnyama Limba RENEWAL
Aruna E MaletFranceAnna Fali NEW
Isabel K MarrierRussiaIoni Bowcher QUALIFIED
Nicolas U WieserFranceElwin Sharvill QUALIFIED
Deepesh O WhobreyArgentinaAnna Fali PROPOSAL
Izzy L BowleyUnited KingdomOnyama Limba UNQUALIFIED
Maisha K OstroskySpainElwin Sharvill NEW
Tony K CaudySpainAmy Elsner NEW
Mayumi H SchemmerGermanyXuxue Feng QUALIFIED
Jones L PaprockiBrazilStephen Shaw NEW
Munro O OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Aruna F CaudyAustraliaElwin Sharvill PROPOSAL
Wickens F IturbideSpainBernardo Dominic NEGOTIATION
Mujtaba F StockhamRussiaXuxue Feng QUALIFIED
Wickens E TollnerUnited KingdomXuxue Feng NEGOTIATION
Alejandro V FerenczAustraliaAnna Fali PROPOSAL
Claire A MorascaCanadaAsiya Javayant NEW
Jennifer G PaprockiItalyOnyama Limba NEGOTIATION
Jefferson L VenereRussiaIoni Bowcher NEGOTIATION
Clifford T VenereFranceStephen Shaw RENEWAL
Alejandro B ChuiUnited KingdomStephen Shaw PROPOSAL
Aruna N AmigonJapanAmy Elsner NEGOTIATION
Kaitlin K RulapaughArgentinaXuxue Feng UNQUALIFIED
Francesco X AlbaresIndiaIoni Bowcher NEGOTIATION
Ricardo R NickaCanadaElwin Sharvill UNQUALIFIED
Alejandro I RulapaughCanadaIvan Magalhaes NEGOTIATION
Maisha H StensethCanadaStephen Shaw NEGOTIATION
Jeanfrancois A DilliardRussiaAsiya Javayant QUALIFIED
Izzy Z WhobreyAustraliaStephen Shaw RENEWAL
Rodrigues S OldroydSpainStephen Shaw RENEWAL
Alejandro J CaldareraRussiaAsiya Javayant QUALIFIED
Cody O RulapaughBrazilAsiya Javayant PROPOSAL
Smith Y MaletSpainStephen Shaw QUALIFIED
Alejandro E GarufiCanadaIvan Magalhaes QUALIFIED
Alejandro V WieserSpainOnyama Limba NEW
James T KuskoIndiaXuxue Feng UNQUALIFIED
Aditya D SaylorsUnited KingdomOnyama Limba RENEWAL

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