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 S FlosiArgentinaElwin Sharvill UNQUALIFIED
Kaitlin E RoysterBrazilIoni Bowcher PROPOSAL
Sinclair I AlbaresFranceAnna Fali PROPOSAL
Alejandro U StensethUnited KingdomElwin Sharvill PROPOSAL
Izzy W VenereRussiaAsiya Javayant PROPOSAL
Francesco I RimAustraliaIvan Magalhaes QUALIFIED
Rodrigues N RutaFranceElwin Sharvill NEW
Munro Z AlbaresAustraliaBernardo Dominic RENEWAL
Mujtaba P VenereItalyIvan Magalhaes PROPOSAL
Adams O MarrierAustraliaOnyama Limba UNQUALIFIED
Alejandro A KuskoSpainAsiya Javayant UNQUALIFIED
Darci O GarufiAustraliaXuxue Feng UNQUALIFIED
Wickens W DarakjyAustraliaIoni Bowcher QUALIFIED
Clifford P DarakjyCanadaAnna Fali RENEWAL
Aruna L IturbideSpainBernardo Dominic RENEWAL
Wickens P GarufiAustraliaElwin Sharvill UNQUALIFIED
Adams G AlbaresAustraliaXuxue Feng QUALIFIED
Jones M SaylorsIndiaAnna Fali UNQUALIFIED
Chavez B DilliardIndiaBernardo Dominic NEGOTIATION
Ricardo R WieserUnited KingdomIvan Magalhaes NEW
Morrow I KuskoGermanyIoni Bowcher NEW
Silvio C SaylorsJapanAnna Fali UNQUALIFIED
Emily X RimGermanyBernardo Dominic UNQUALIFIED
Murillo K FerenczSpainElwin Sharvill NEW
Juan U GauchoArgentinaBernardo Dominic NEGOTIATION
Johnson T SaylorsSpainOnyama Limba UNQUALIFIED
Murillo J VocelkaSpainXuxue Feng RENEWAL
Jones C GarufiSpainElwin Sharvill NEGOTIATION
Costa A SlusarskiFranceAsiya Javayant NEW
Maria Q DarakjyCanadaAnna Fali PROPOSAL
Ivar P PoquetteRussiaAnna Fali QUALIFIED
Leja Y ButtSpainAsiya Javayant QUALIFIED
James G FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Morrow Q MaletGermanyElwin Sharvill RENEWAL
Rodrigues B AlbaresSpainElwin Sharvill UNQUALIFIED
Salvatore U GauchoRussiaIvan Magalhaes PROPOSAL
Sinclair D SlusarskiJapanOnyama Limba PROPOSAL
Jefferson I NickaUnited KingdomStephen Shaw RENEWAL
Aika K VenereAustraliaBernardo Dominic NEW
Julie C CampainJapanBernardo Dominic QUALIFIED
Jefferson D KolmetzUnited KingdomStephen Shaw PROPOSAL
Munro S KolmetzGermanyIoni Bowcher NEW
Antonio S CaudyCanadaAnna Fali PROPOSAL
Kaitlin N NestleRussiaOnyama Limba QUALIFIED
Claire L WaycottArgentinaIoni Bowcher QUALIFIED
Silvio Z PaprockiRussiaAsiya Javayant NEW
Jones L DarakjyBrazilElwin Sharvill QUALIFIED
Silvio E FerenczArgentinaOnyama Limba UNQUALIFIED
Misaki L KuskoUnited KingdomAmy Elsner PROPOSAL
Misaki E GlickItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Claire G SergiRussiaAsiya Javayant PROPOSAL
Aruna I WhobreyArgentinaIvan Magalhaes PROPOSAL
Misaki C GillianBrazilIvan Magalhaes UNQUALIFIED
Mujtaba X GlickAustraliaOnyama Limba NEGOTIATION
Julie O ButtFranceAsiya Javayant NEGOTIATION
Claire O KolmetzArgentinaAnna Fali UNQUALIFIED
Johnson J BowleyArgentinaIvan Magalhaes NEW
Kadeem W StensethGermanyAmy Elsner RENEWAL
Ivar O FollerGermanyOnyama Limba QUALIFIED
Ricardo R AlbaresSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie I BowleyAustralia2025-09-20Truhlar And Truhlar Attys RENEWAL97Amy Elsner
1001Isabel F MaletRussia2025-09-26Dorl, James J Esq PROPOSAL7Bernardo Dominic
1002Antonio E PerinJapan2025-10-02Printing Dimensions NEGOTIATION44Ivan Magalhaes
1003Faith Z VenereFrance2025-09-28Morlong Associates UNQUALIFIED42Xuxue Feng
1004Munro D OldroydCanada2025-09-21Commercial Press UNQUALIFIED96Ivan Magalhaes
1005Deepesh J PaprockiGermany2025-09-28Feltz Printing Service NEW87Anna Fali
1006Mujtaba W FerenczGermany2025-09-21Dorl, James J Esq RENEWAL82Anna Fali
1007Arvin J BriddickAustralia2025-10-06Rangoni Of Florence NEW17Ioni Bowcher
1008Aika O OstroskyRussia2025-09-17Feltz Printing Service RENEWAL26Bernardo Dominic
1009Misaki D PerinSpain2025-09-12Morlong Associates PROPOSAL58Elwin Sharvill
1010Alejandro E VocelkaUnited Kingdom2025-10-06Printing Dimensions NEW87Ioni Bowcher
1011Rodrigues U ChuiJapan2025-09-26Benton, John B Jr QUALIFIED59Asiya Javayant
1012Aruna I MaletFrance2025-09-23Truhlar And Truhlar Attys NEW49Anna Fali
1013Rodrigues I IturbideFrance2025-10-05King, Christopher A Esq NEGOTIATION62Ioni Bowcher
1014Greenwood V ButtRussia2025-09-23Feiner Bros NEW19Amy Elsner
1015Mujtaba U StensethRussia2025-09-28Chapman, Ross E Esq RENEWAL6Ivan Magalhaes
1016Jeanfrancois T KolmetzUnited Kingdom2025-10-01Rousseaux, Michael Esq QUALIFIED1Xuxue Feng
1017Aika V GarufiFrance2025-09-17Truhlar And Truhlar Attys NEGOTIATION93Ioni Bowcher
1018Johnson T FlosiGermany2025-09-09Truhlar And Truhlar Attys PROPOSAL4Ioni Bowcher
1019Silvio P ShinkoCanada2025-09-25Printing Dimensions PROPOSAL82Stephen Shaw
1020Faith L GarufiBrazil2025-09-08Printing Dimensions NEGOTIATION98Onyama Limba
1021Silvio E RimCanada2025-10-05Chapman, Ross E Esq NEGOTIATION26Elwin Sharvill
1022Munro B GarufiFrance2025-09-28Truhlar And Truhlar Attys PROPOSAL20Bernardo Dominic
1023Maisha H SaylorsSpain2025-09-30Printing Dimensions PROPOSAL10Stephen Shaw
1024Emily E RutaUnited Kingdom2025-09-25Dorl, James J Esq PROPOSAL94Anna Fali
1025James V RulapaughItaly2025-10-02Dorl, James J Esq UNQUALIFIED74Amy Elsner
1026Clifford O OldroydBrazil2025-10-01Printing Dimensions NEGOTIATION75Xuxue Feng
1027Silvio E TollnerArgentina2025-09-22Benton, John B Jr NEW90Ivan Magalhaes
1028Morrow P SlusarskiBrazil2025-09-17Chanay, Jeffrey A Esq PROPOSAL20Onyama Limba
1029Darci I DoeItaly2025-09-30Printing Dimensions RENEWAL66Ioni Bowcher
1030Jones N RulapaughJapan2025-10-02Chanay, Jeffrey A Esq NEW78Bernardo Dominic
1031Mayumi J RoysterRussia2025-09-19Chanay, Jeffrey A Esq UNQUALIFIED92Ioni Bowcher
1032Arvin W StockhamFrance2025-09-25Rangoni Of Florence RENEWAL63Amy Elsner
1033Greenwood I TollnerCanada2025-10-03Buckley Miller Wright QUALIFIED52Bernardo Dominic
1034Izzy E AlbaresUnited Kingdom2025-09-23Benton, John B Jr PROPOSAL2Anna Fali
1035Munro M CaldareraArgentina2025-09-25Rangoni Of Florence PROPOSAL20Amy Elsner
1036Aruna F BologniaSpain2025-09-30Dorl, James J Esq QUALIFIED80Bernardo Dominic
1037Silvio Z SlusarskiItaly2025-10-04Printing Dimensions RENEWAL65Bernardo Dominic
1038Salvatore F ChuiItaly2025-09-30Chemel, James L Cpa RENEWAL21Stephen Shaw
1039James W GarufiRussia2025-09-14Dorl, James J Esq RENEWAL53Elwin Sharvill
1040Jeanfrancois H BriddickRussia2025-09-23Dorl, James J Esq UNQUALIFIED64Ioni Bowcher
1041Alejandro E SaylorsAustralia2025-09-17Dorl, James J Esq NEGOTIATION1Ivan Magalhaes
1042Arvin A CampainRussia2025-09-28Chanay, Jeffrey A Esq NEW67Asiya Javayant
1043Faith I FigeroaArgentina2025-09-23Rousseaux, Michael Esq UNQUALIFIED11Elwin Sharvill
1044Octavia D FerenczJapan2025-09-30Chapman, Ross E Esq NEW55Asiya Javayant
1045Morrow K PerinFrance2025-10-06Truhlar And Truhlar Attys RENEWAL91Xuxue Feng
1046Antonio Y FollerCanada2025-09-14Printing Dimensions PROPOSAL67Onyama Limba
1047Faith X SergiGermany2025-09-14Feiner Bros QUALIFIED56Bernardo Dominic
1048Aruna N TollnerRussia2025-09-16Rangoni Of Florence UNQUALIFIED9Ioni Bowcher
1049Clifford C MaletAustralia2025-10-02Chapman, Ross E Esq NEW68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy C DoeFranceOnyama Limba NEGOTIATION
Silvio N FollerJapanStephen Shaw PROPOSAL
James J RulapaughRussiaAnna Fali UNQUALIFIED
Nicolas A WhobreyGermanyStephen Shaw UNQUALIFIED
Adams E SlusarskiItalyIvan Magalhaes PROPOSAL
Morrow N MarrierBrazilIoni Bowcher NEW
Leja I ButtBrazilAsiya Javayant RENEWAL
Johnson Q PerinCanadaIoni Bowcher UNQUALIFIED
Rodrigues D RutaFranceElwin Sharvill PROPOSAL
Chavez Y PaprockiSpainXuxue Feng NEGOTIATION
James P AmigonFranceIvan Magalhaes UNQUALIFIED
Mayumi Z PoquetteAustraliaAsiya Javayant NEGOTIATION
Aika X IturbideJapanAmy Elsner UNQUALIFIED
Murillo K StensethGermanyAmy Elsner NEGOTIATION
Leja W StockhamFranceAsiya Javayant NEW
Jones V PoquetteFranceAsiya Javayant NEW
Jeanfrancois P SchemmerSpainBernardo Dominic UNQUALIFIED
Greenwood B PaprockiAustraliaIvan Magalhaes RENEWAL
James S KolmetzCanadaIvan Magalhaes QUALIFIED
Morrow V SchemmerRussiaXuxue Feng QUALIFIED
Murillo I RutaItalyOnyama Limba UNQUALIFIED
Ivar M CaudyRussiaAmy Elsner UNQUALIFIED
Munro I BologniaUnited KingdomAmy Elsner QUALIFIED
Antonio W FigeroaFranceOnyama Limba UNQUALIFIED
Mayumi V OstroskyBrazilIvan Magalhaes UNQUALIFIED
Misaki V BologniaCanadaAnna Fali QUALIFIED
Ivar N ShinkoUnited KingdomStephen Shaw PROPOSAL
Wickens B CaudyFranceAsiya Javayant RENEWAL
Greenwood S SaylorsFranceXuxue Feng UNQUALIFIED
Leja F RutaJapanStephen Shaw NEGOTIATION
Mujtaba G SaylorsGermanyAsiya Javayant NEW
Arvin T BologniaFranceIoni Bowcher UNQUALIFIED
Leja E ButtAustraliaXuxue Feng RENEWAL
Jeanfrancois E OldroydRussiaAmy Elsner QUALIFIED
Leja Y RutaIndiaBernardo Dominic QUALIFIED
David J PoquetteArgentinaBernardo Dominic PROPOSAL
Aditya H RutaItalyAnna Fali PROPOSAL
Nicolas I OldroydRussiaAmy Elsner NEW
Jefferson G AmigonIndiaAmy Elsner NEGOTIATION
Isabel I StockhamRussiaAmy Elsner RENEWAL
Antonio U OstroskyCanadaAmy Elsner PROPOSAL
Jeanfrancois C MacleadFranceStephen Shaw NEGOTIATION
Nicolas M StensethJapanOnyama Limba NEW
Silvio X StockhamJapanElwin Sharvill RENEWAL
Darci P BologniaGermanyAmy Elsner UNQUALIFIED
Greenwood S ButtItalyBernardo Dominic NEW
Claire C MarrierCanadaAmy Elsner NEGOTIATION
Jennifer F OstroskyBrazilIvan Magalhaes QUALIFIED
Aditya X WhobreySpainIoni Bowcher NEW
Morrow K CaldareraAustraliaStephen Shaw NEGOTIATION
Frozen Columns
Name
Adams V Gaucho
Rodrigues R Royster
Maria O Iturbide
Arvin Y Maclead
Salvatore Z Malet
Aditya M Nestle
Julie X Schemmer
Francesco H Wieser
Stacey M Tollner
Darci J Nestle
Rodrigues I Figeroa
Leon Y Butt
Claire I Slusarski
Maria Z Saylors
Sinclair C Foller
Leja X Waycott
Arvin D Poquette
Claire D Venere
Silvio L Saylors
Morrow I Ruta
Salvatore I Ostrosky
Costa S Whobrey
Salvatore B Rulapaugh
Clifford G Rulapaugh
Deepesh X Nicka
Isabel X Darakjy
Ricardo K Slusarski
Jefferson G Darakjy
Salvatore D Gillian
Mujtaba V Stockham
Salvatore P Saylors
Silvio T Vocelka
Nicolas K Malet
Tony R Campain
Aruna U Briddick
Antonio I Doe
Sinclair E Ferencz
Leon X Doe
Aika N Oldroyd
Clifford P Chui
Chavez K Venere
David D Ferencz
Tony G Morasca
Maria K Royster
Izzy P Doe
Murillo U Stenseth
Leon E Rim
Emily S Gaucho
Murillo D Gillian
Ivar X Stenseth
IdCountryDate
1000France2025-09-08
1001Canada2025-09-24
1002Germany2025-10-05
1003United Kingdom2025-09-13
1004France2025-09-26
1005France2025-09-14
1006United Kingdom2025-09-27
1007Spain2025-09-18
1008Japan2025-10-04
1009Canada2025-09-22
1010Germany2025-10-06
1011Germany2025-09-17
1012Spain2025-09-16
1013Russia2025-09-27
1014France2025-09-15
1015Australia2025-09-14
1016France2025-09-22
1017Russia2025-09-20
1018Germany2025-10-06
1019Italy2025-09-22
1020Japan2025-10-02
1021Argentina2025-09-14
1022Canada2025-09-15
1023Spain2025-09-26
1024France2025-10-05
1025Russia2025-09-23
1026Russia2025-09-22
1027France2025-09-13
1028Canada2025-09-11
1029Brazil2025-09-22
1030Brazil2025-09-24
1031Brazil2025-09-16
1032Germany2025-10-03
1033Canada2025-09-26
1034Brazil2025-10-06
1035Russia2025-09-20
1036Argentina2025-09-15
1037Italy2025-09-30
1038Germany2025-09-29
1039Brazil2025-09-29
1040Russia2025-09-28
1041Australia2025-09-27
1042Argentina2025-10-01
1043Russia2025-09-29
1044India2025-09-18
1045Canada2025-09-12
1046Spain2025-09-23
1047Italy2025-09-19
1048India2025-09-08
1049Argentina2025-10-05

On-Demand Data

NameIdCountryDate
Morrow P Malet1000Canada2025-09-25
Mayumi B Albares1001Canada2025-09-12
Greenwood H Bolognia1002Russia2025-09-08
Adams O Figeroa1003Germany2025-09-21
Arvin I Gillian1004United Kingdom2025-09-24
Salvatore L Briddick1005Italy2025-09-25
Ashley C Caldarera1006Japan2025-09-21
Darci T Tollner1007Italy2025-09-10
Salvatore N Wieser1008India2025-09-21
Ricardo M Malet1009Japan2025-09-27
Munro K Shinko1010Russia2025-09-17
Jennifer J Royster1011Brazil2025-10-02
Izzy P Caudy1012Australia2025-10-01
Izzy N Paprocki1013Japan2025-09-20
Ivar E Perin1014Canada2025-09-27
Leon H Glick1015Brazil2025-10-04
Julie C Iturbide1016India2025-10-06
Johnson V Figeroa1017India2025-09-09
James Z Malet1018United Kingdom2025-09-12
Ricardo K Royster1019Italy2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens J CaudyGermanyAsiya Javayant NEW
Misaki L AmigonJapanAsiya Javayant QUALIFIED
Kadeem V MaletFranceBernardo Dominic RENEWAL
Salvatore W FollerAustraliaOnyama Limba NEGOTIATION
Ashley N MaletJapanElwin Sharvill UNQUALIFIED
Kaitlin X DilliardSpainStephen Shaw NEW
Morrow H RutaUnited KingdomAnna Fali QUALIFIED
Francesco M SergiUnited KingdomXuxue Feng QUALIFIED
Mayumi K BowleyFranceAsiya Javayant RENEWAL
Adams K DilliardRussiaIvan Magalhaes PROPOSAL
Claire Z ShinkoUnited KingdomAnna Fali NEW
Costa E ChuiRussiaOnyama Limba RENEWAL
Arvin X FollerAustraliaIvan Magalhaes RENEWAL
Ivar Y PerinItalyIvan Magalhaes UNQUALIFIED
Leon O AlbaresCanadaStephen Shaw NEGOTIATION
Maisha I AmigonItalyOnyama Limba RENEWAL
Jefferson X AlbaresAustraliaStephen Shaw NEGOTIATION
Stacey F MacleadUnited KingdomXuxue Feng NEW
Izzy M WaycottUnited KingdomStephen Shaw UNQUALIFIED
Smith L SaylorsSpainAmy Elsner NEW
James F ButtBrazilBernardo Dominic PROPOSAL
Mujtaba R MaletCanadaOnyama Limba NEW
Jones X CampainJapanBernardo Dominic NEW
Munro A WaycottUnited KingdomStephen Shaw NEGOTIATION
Alejandro D CaudyArgentinaBernardo Dominic UNQUALIFIED
Morrow M DilliardItalyStephen Shaw UNQUALIFIED
Stacey U FigeroaJapanAmy Elsner PROPOSAL
Isabel N PerinCanadaStephen Shaw UNQUALIFIED
Ashley D NickaGermanyBernardo Dominic RENEWAL
Leja Q MaletItalyBernardo Dominic UNQUALIFIED
Ashley R GlickAustraliaAmy Elsner RENEWAL
Mujtaba H DilliardItalyBernardo Dominic NEGOTIATION
Jeanfrancois X MaletAustraliaStephen Shaw PROPOSAL
Murillo P CampainSpainXuxue Feng UNQUALIFIED
Mujtaba S MorascaBrazilIvan Magalhaes PROPOSAL
Maisha P CaldareraItalyAmy Elsner UNQUALIFIED
Rodrigues P DarakjySpainIoni Bowcher QUALIFIED
Salvatore X DoeJapanXuxue Feng RENEWAL
Jeanfrancois Q SaylorsRussiaBernardo Dominic RENEWAL
Kaitlin H VocelkaGermanyBernardo Dominic NEGOTIATION

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