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
Faith J VenereSpainXuxue Feng QUALIFIED
Clifford V VenereAustraliaBernardo Dominic QUALIFIED
Deepesh Q RulapaughRussiaElwin Sharvill UNQUALIFIED
Leja C KuskoCanadaAnna Fali UNQUALIFIED
Morrow M MarrierBrazilAsiya Javayant PROPOSAL
James M MorascaSpainStephen Shaw PROPOSAL
Izzy U WaycottRussiaXuxue Feng QUALIFIED
Jennifer Q ChuiUnited KingdomAsiya Javayant QUALIFIED
Aruna Y MaletIndiaIoni Bowcher NEW
Francesco H AlbaresJapanIvan Magalhaes QUALIFIED
Octavia X OstroskyGermanyIoni Bowcher PROPOSAL
Misaki L WaycottSpainAmy Elsner UNQUALIFIED
Izzy B PaprockiBrazilAnna Fali RENEWAL
Faith X InouyeItalyXuxue Feng QUALIFIED
Ricardo I InouyeUnited KingdomStephen Shaw NEW
Mayumi X GauchoJapanIvan Magalhaes UNQUALIFIED
Ashley P MaletGermanyAsiya Javayant PROPOSAL
Aruna J RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Tony S SlusarskiUnited KingdomAnna Fali NEW
Ricardo G NestleRussiaElwin Sharvill RENEWAL
Silvio I WieserCanadaAnna Fali UNQUALIFIED
Mayumi Y CampainArgentinaOnyama Limba NEGOTIATION
Mayumi J CaudyCanadaAsiya Javayant UNQUALIFIED
Munro K DoeBrazilXuxue Feng PROPOSAL
Salvatore N TollnerGermanyAsiya Javayant NEGOTIATION
Ashley J WhobreyArgentinaAsiya Javayant NEW
Murillo V SaylorsBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois J PoquetteJapanOnyama Limba NEGOTIATION
Stacey Z CaudyUnited KingdomXuxue Feng RENEWAL
Isabel Y FlosiFranceOnyama Limba NEGOTIATION
Arvin X KolmetzGermanyStephen Shaw RENEWAL
Jones L DilliardIndiaAmy Elsner RENEWAL
Salvatore H RutaArgentinaAmy Elsner NEGOTIATION
Jefferson O CampainAustraliaAmy Elsner UNQUALIFIED
Jefferson V OstroskyGermanyBernardo Dominic NEGOTIATION
Aruna X KuskoIndiaStephen Shaw NEGOTIATION
Claire J OldroydBrazilAsiya Javayant RENEWAL
Kaitlin L BriddickIndiaStephen Shaw UNQUALIFIED
Aditya O PaprockiFranceAsiya Javayant NEGOTIATION
Aruna X AlbaresGermanyStephen Shaw PROPOSAL
Sinclair V FlosiRussiaBernardo Dominic NEGOTIATION
Cody O MaletIndiaIvan Magalhaes PROPOSAL
Ricardo X KolmetzSpainIvan Magalhaes RENEWAL
Darci R CaudyItalyStephen Shaw PROPOSAL
Ricardo Y GillianUnited KingdomIoni Bowcher PROPOSAL
Emily F OldroydIndiaOnyama Limba NEW
Darci X DoeArgentinaBernardo Dominic NEGOTIATION
Antonio A CaudySpainStephen Shaw PROPOSAL
David F VenereAustraliaXuxue Feng PROPOSAL
Wickens M RulapaughUnited KingdomBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson F WieserGermanyBernardo Dominic NEW
Adams C SergiGermanyIvan Magalhaes UNQUALIFIED
Tony D AlbaresAustraliaStephen Shaw NEGOTIATION
Johnson J IturbideUnited KingdomOnyama Limba UNQUALIFIED
Smith P SaylorsItalyAmy Elsner PROPOSAL
Sinclair G VocelkaGermanyIoni Bowcher PROPOSAL
Wickens T CampainArgentinaAmy Elsner QUALIFIED
Mayumi S ButtRussiaIoni Bowcher PROPOSAL
Leja I MorascaFranceBernardo Dominic UNQUALIFIED
Faith V NestleArgentinaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika S MaletCanada2025-08-21Feiner Bros UNQUALIFIED76Asiya Javayant
1001Darci K CaldareraUnited Kingdom2025-08-06Buckley Miller Wright NEGOTIATION39Elwin Sharvill
1002Antonio U CaldareraUnited Kingdom2025-07-27Dorl, James J Esq NEW57Amy Elsner
1003Arvin B PoquetteCanada2025-08-02Commercial Press NEGOTIATION13Bernardo Dominic
1004Maria M RutaItaly2025-08-11Chapman, Ross E Esq NEGOTIATION16Bernardo Dominic
1005Jefferson J StockhamAustralia2025-07-26Rousseaux, Michael Esq RENEWAL60Asiya Javayant
1006Isabel O BowleyRussia2025-07-26Dorl, James J Esq NEW29Ioni Bowcher
1007Costa K MaletGermany2025-08-01Buckley Miller Wright QUALIFIED52Onyama Limba
1008Ricardo M MorascaRussia2025-08-12Dorl, James J Esq RENEWAL90Amy Elsner
1009Julie Z StockhamCanada2025-07-30Chapman, Ross E Esq QUALIFIED84Amy Elsner
1010Deepesh T PaprockiGermany2025-08-06Commercial Press RENEWAL52Bernardo Dominic
1011Francesco S RimItaly2025-08-15Morlong Associates NEW80Ivan Magalhaes
1012Julie B OstroskyFrance2025-08-17Rousseaux, Michael Esq QUALIFIED88Stephen Shaw
1013Munro B StensethItaly2025-08-21Benton, John B Jr NEW35Bernardo Dominic
1014Stacey Q KuskoJapan2025-07-30Chapman, Ross E Esq RENEWAL47Ivan Magalhaes
1015Jennifer U FigeroaRussia2025-08-10Printing Dimensions NEGOTIATION26Anna Fali
1016Kaitlin X BriddickJapan2025-08-02Printing Dimensions QUALIFIED71Elwin Sharvill
1017Claire F GillianArgentina2025-08-13Rangoni Of Florence PROPOSAL82Bernardo Dominic
1018Misaki D TollnerRussia2025-07-31Rousseaux, Michael Esq UNQUALIFIED56Elwin Sharvill
1019Maisha U CaudyCanada2025-08-20Commercial Press RENEWAL78Ivan Magalhaes
1020Arvin Y ShinkoJapan2025-08-16Commercial Press PROPOSAL25Amy Elsner
1021Izzy O PaprockiIndia2025-08-05Rousseaux, Michael Esq NEGOTIATION33Elwin Sharvill
1022Mujtaba M RimIndia2025-07-31Chemel, James L Cpa PROPOSAL3Anna Fali
1023Munro K MarrierSpain2025-08-20Truhlar And Truhlar Attys RENEWAL58Ivan Magalhaes
1024Clifford P SchemmerJapan2025-08-23Feltz Printing Service RENEWAL78Xuxue Feng
1025Mayumi Z WaycottSpain2025-08-13King, Christopher A Esq NEW16Stephen Shaw
1026Morrow Z RulapaughAustralia2025-08-10Buckley Miller Wright NEW5Amy Elsner
1027Stacey H CaudySpain2025-07-29Feiner Bros PROPOSAL34Ivan Magalhaes
1028Isabel W MacleadArgentina2025-07-29Chapman, Ross E Esq RENEWAL69Ivan Magalhaes
1029Deepesh F SchemmerIndia2025-08-04King, Christopher A Esq NEW43Amy Elsner
1030Jones O MaletIndia2025-08-13Commercial Press UNQUALIFIED82Ivan Magalhaes
1031Jennifer X ShinkoBrazil2025-07-25Benton, John B Jr PROPOSAL66Asiya Javayant
1032Mujtaba S StockhamUnited Kingdom2025-08-03Chapman, Ross E Esq UNQUALIFIED13Stephen Shaw
1033Murillo H SaylorsCanada2025-08-14Benton, John B Jr QUALIFIED27Elwin Sharvill
1034Leon T MaletUnited Kingdom2025-08-08Morlong Associates RENEWAL91Amy Elsner
1035Alejandro R ChuiSpain2025-08-02Feltz Printing Service NEW96Elwin Sharvill
1036Leja U DarakjyJapan2025-08-07Truhlar And Truhlar Attys NEW29Onyama Limba
1037Chavez F TollnerBrazil2025-08-22Buckley Miller Wright NEW57Onyama Limba
1038Jones W VenereBrazil2025-08-19Benton, John B Jr PROPOSAL56Bernardo Dominic
1039Ashley N DoeGermany2025-08-01Benton, John B Jr QUALIFIED84Anna Fali
1040Maisha I MacleadAustralia2025-08-23Printing Dimensions RENEWAL2Asiya Javayant
1041Ivar Y FollerIndia2025-08-17Morlong Associates PROPOSAL2Amy Elsner
1042Silvio X StockhamFrance2025-08-11Dorl, James J Esq NEW44Amy Elsner
1043David W SlusarskiSpain2025-08-17Chapman, Ross E Esq RENEWAL96Elwin Sharvill
1044Jennifer B DoeItaly2025-08-18Chapman, Ross E Esq NEGOTIATION68Stephen Shaw
1045Murillo U MarrierGermany2025-08-17Truhlar And Truhlar Attys PROPOSAL96Ivan Magalhaes
1046Jennifer Y PerinSpain2025-08-07Feiner Bros NEGOTIATION59Stephen Shaw
1047Misaki F FigeroaCanada2025-07-26Dorl, James J Esq RENEWAL17Stephen Shaw
1048Kaitlin X WieserAustralia2025-07-31Truhlar And Truhlar Attys RENEWAL78Stephen Shaw
1049Leja I OldroydFrance2025-08-07Rangoni Of Florence RENEWAL46Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro K StensethItalyStephen Shaw UNQUALIFIED
Chavez H WhobreyCanadaOnyama Limba NEGOTIATION
Mayumi F CaldareraItalyBernardo Dominic RENEWAL
Wickens E GauchoArgentinaIoni Bowcher RENEWAL
Deepesh L NickaIndiaIvan Magalhaes NEGOTIATION
Ricardo B BowleySpainStephen Shaw UNQUALIFIED
Smith J InouyeJapanOnyama Limba NEGOTIATION
Jones I KolmetzCanadaIoni Bowcher UNQUALIFIED
Tony P GarufiGermanyElwin Sharvill NEGOTIATION
Stacey S RoysterJapanElwin Sharvill NEW
Maisha X BowleyArgentinaStephen Shaw NEGOTIATION
Jeanfrancois K BowleyUnited KingdomXuxue Feng RENEWAL
Cody T MorascaIndiaAsiya Javayant UNQUALIFIED
James T SergiGermanyAnna Fali QUALIFIED
Antonio F WieserFranceIoni Bowcher RENEWAL
Kadeem M WieserCanadaXuxue Feng NEGOTIATION
Julie G FerenczUnited KingdomAsiya Javayant NEW
Nicolas J SergiUnited KingdomAnna Fali PROPOSAL
Silvio O IturbideFranceElwin Sharvill NEW
Leja S OldroydRussiaElwin Sharvill UNQUALIFIED
Mujtaba N PoquetteItalyIvan Magalhaes NEGOTIATION
Tony R GillianSpainElwin Sharvill PROPOSAL
Clifford P FollerCanadaXuxue Feng UNQUALIFIED
Jennifer I NestleGermanyAsiya Javayant NEW
Leon E FlosiIndiaIoni Bowcher NEW
Aditya K InouyeGermanyOnyama Limba PROPOSAL
Ivar H RulapaughSpainBernardo Dominic RENEWAL
Aika Y WieserAustraliaIvan Magalhaes RENEWAL
Salvatore S MaletSpainStephen Shaw RENEWAL
David A SaylorsIndiaOnyama Limba NEGOTIATION
Francesco N GillianArgentinaIoni Bowcher QUALIFIED
Kaitlin Z MacleadIndiaAmy Elsner PROPOSAL
Claire S SlusarskiSpainIoni Bowcher NEGOTIATION
Maisha N DoeSpainIoni Bowcher RENEWAL
Salvatore T InouyeRussiaIvan Magalhaes NEW
Sinclair N RimArgentinaAsiya Javayant UNQUALIFIED
Francesco E RimBrazilIoni Bowcher PROPOSAL
Alejandro D SchemmerRussiaBernardo Dominic RENEWAL
Johnson Q SlusarskiRussiaXuxue Feng PROPOSAL
Aika U RimRussiaAnna Fali NEGOTIATION
Maisha C DoeUnited KingdomStephen Shaw NEGOTIATION
Mayumi N KuskoJapanAnna Fali RENEWAL
Jones J KuskoCanadaStephen Shaw NEW
Sinclair M AlbaresItalyAnna Fali QUALIFIED
Jeanfrancois G FerenczItalyAnna Fali PROPOSAL
Octavia H CampainArgentinaStephen Shaw PROPOSAL
Alejandro X DarakjyArgentinaStephen Shaw QUALIFIED
Aika A GauchoFranceOnyama Limba QUALIFIED
Ivar O CaldareraFranceOnyama Limba NEGOTIATION
Ricardo X DarakjyJapanAmy Elsner NEW
Frozen Columns
Name
Misaki K Sergi
Adams L Waycott
Munro Z Schemmer
Octavia X Marrier
Rodrigues H Chui
Alejandro S Butt
James R Nicka
Mayumi V Caldarera
Murillo H Bolognia
James Y Rulapaugh
Misaki Y Inouye
Claire L Morasca
Izzy M Dilliard
Ricardo N Marrier
Jefferson R Marrier
Antonio L Whobrey
Jones N Sergi
Leon Y Rulapaugh
Julie Q Perin
Kaitlin M Sergi
Octavia L Darakjy
Stacey X Ostrosky
Emily W Kusko
Arvin L Whobrey
Adams L Flosi
Alejandro E Caudy
Ashley C Schemmer
Kaitlin B Waycott
Jones K Venere
Isabel R Malet
Kaitlin H Tollner
David P Campain
Misaki L Bolognia
Mayumi E Figeroa
Murillo T Rulapaugh
Faith M Ruta
Darci E Schemmer
Chavez L Campain
Munro Z Nicka
Cody W Bowley
Silvio S Stockham
Stacey A Stockham
Jefferson S Malet
Kaitlin O Royster
Misaki Q Sergi
Aika B Doe
Leja I Ostrosky
Ricardo M Saylors
Wickens H Darakjy
Munro G Dilliard
IdCountryDate
1000Brazil2025-08-06
1001Spain2025-08-16
1002Australia2025-08-18
1003Brazil2025-08-11
1004Brazil2025-08-19
1005India2025-07-31
1006Australia2025-08-12
1007India2025-07-31
1008Australia2025-08-07
1009United Kingdom2025-08-14
1010Brazil2025-08-18
1011Spain2025-08-20
1012Germany2025-08-05
1013Russia2025-08-23
1014Italy2025-08-03
1015Japan2025-08-02
1016Japan2025-07-25
1017United Kingdom2025-08-19
1018Japan2025-08-12
1019United Kingdom2025-08-11
1020Canada2025-08-08
1021Argentina2025-08-07
1022India2025-07-28
1023Argentina2025-08-06
1024Russia2025-08-07
1025France2025-07-27
1026United Kingdom2025-07-25
1027Argentina2025-08-18
1028Japan2025-08-01
1029Spain2025-08-16
1030Italy2025-08-06
1031Russia2025-07-26
1032Germany2025-08-20
1033Canada2025-07-28
1034Canada2025-07-26
1035Japan2025-08-04
1036Australia2025-08-14
1037Germany2025-08-05
1038Italy2025-07-28
1039India2025-08-22
1040United Kingdom2025-08-17
1041Italy2025-08-15
1042Australia2025-08-11
1043Japan2025-08-16
1044Japan2025-07-30
1045Australia2025-07-29
1046Australia2025-08-01
1047Italy2025-08-03
1048United Kingdom2025-08-01
1049United Kingdom2025-08-14

On-Demand Data

NameIdCountryDate
Isabel B Kolmetz1000Spain2025-08-07
Ricardo G Perin1001Canada2025-08-01
Clifford I Figeroa1002Japan2025-08-07
Kaitlin T Albares1003France2025-08-08
Octavia S Caudy1004Canada2025-07-27
Munro O Inouye1005Germany2025-08-06
Jeanfrancois X Schemmer1006Japan2025-08-04
Mayumi G Campain1007Italy2025-08-05
Julie Y Poquette1008United Kingdom2025-08-17
Jeanfrancois F Marrier1009Germany2025-07-27
Greenwood B Nicka1010Italy2025-08-07
Jefferson X Venere1011India2025-08-16
Claire I Kolmetz1012Italy2025-07-26
Costa E Maclead1013Australia2025-07-27
Deepesh P Inouye1014Spain2025-07-31
Murillo B Poquette1015Germany2025-07-25
Cody C Waycott1016Argentina2025-08-12
Rodrigues C Morasca1017Brazil2025-08-15
Jeanfrancois T Nicka1018United Kingdom2025-08-04
Francesco K Rulapaugh1019Russia2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem L PaprockiArgentinaAmy Elsner PROPOSAL
Maisha T KolmetzBrazilIvan Magalhaes NEW
Stacey L StensethAustraliaElwin Sharvill QUALIFIED
Rodrigues Q MacleadBrazilBernardo Dominic NEW
Juan D CampainCanadaIoni Bowcher UNQUALIFIED
Morrow W CaudyBrazilOnyama Limba PROPOSAL
Stacey M FollerJapanAsiya Javayant PROPOSAL
Mujtaba Y FigeroaFranceAnna Fali NEGOTIATION
Rodrigues R WaycottJapanIvan Magalhaes NEW
Aditya A FollerArgentinaAsiya Javayant UNQUALIFIED
Ashley Z TollnerFranceIoni Bowcher NEGOTIATION
Aruna I SergiUnited KingdomOnyama Limba UNQUALIFIED
Alejandro M SlusarskiFranceAmy Elsner UNQUALIFIED
Francesco Y PaprockiIndiaXuxue Feng RENEWAL
David W GauchoArgentinaAsiya Javayant QUALIFIED
Isabel M CampainUnited KingdomStephen Shaw PROPOSAL
Deepesh D BowleyFranceStephen Shaw NEW
Nicolas W GauchoArgentinaBernardo Dominic PROPOSAL
Munro Y KolmetzJapanBernardo Dominic NEW
Ricardo P ShinkoCanadaXuxue Feng RENEWAL
Rodrigues S MaletArgentinaElwin Sharvill UNQUALIFIED
Chavez M RutaJapanBernardo Dominic NEW
Jeanfrancois P InouyeSpainXuxue Feng NEGOTIATION
Isabel C ButtAustraliaOnyama Limba QUALIFIED
Maria D MorascaBrazilStephen Shaw RENEWAL
Stacey D FlosiGermanyAsiya Javayant RENEWAL
Rodrigues W MaletAustraliaAsiya Javayant NEGOTIATION
Faith F BowleyCanadaXuxue Feng UNQUALIFIED
James H OstroskyIndiaStephen Shaw QUALIFIED
Ashley F FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Deepesh C WieserFranceIoni Bowcher NEGOTIATION
Jeanfrancois K AlbaresJapanBernardo Dominic QUALIFIED
Silvio K GauchoCanadaXuxue Feng NEGOTIATION
Arvin F DilliardFranceIoni Bowcher RENEWAL
Leja K KolmetzGermanyIvan Magalhaes PROPOSAL
Maria C CampainGermanyXuxue Feng PROPOSAL
Aruna G PoquetteSpainOnyama Limba NEGOTIATION
Faith E VenereJapanAmy Elsner NEGOTIATION
Cody H KolmetzIndiaStephen Shaw QUALIFIED
Greenwood N RoysterRussiaElwin Sharvill 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>