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
Estonian
Persian
Finnish
Danish
Hindi
Indonesian
Icelandic
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
Julie X OstroskySpainAsiya Javayant UNQUALIFIED
Aika I AlbaresArgentinaOnyama Limba QUALIFIED
Octavia N SergiCanadaAnna Fali NEW
Cody Y PaprockiArgentinaAnna Fali NEW
Ashley N VocelkaBrazilElwin Sharvill NEGOTIATION
Misaki W OstroskyFranceOnyama Limba RENEWAL
Aruna N GauchoRussiaAsiya Javayant QUALIFIED
Smith G CaldareraRussiaAsiya Javayant PROPOSAL
David D SlusarskiSpainBernardo Dominic QUALIFIED
Ashley S MacleadGermanyAnna Fali NEW
Morrow Y DilliardArgentinaIoni Bowcher UNQUALIFIED
Francesco K ChuiFranceIoni Bowcher NEW
Costa Q PerinIndiaIvan Magalhaes PROPOSAL
Smith P NickaAustraliaXuxue Feng RENEWAL
Alejandro R OstroskySpainStephen Shaw NEW
Izzy F MaletJapanIoni Bowcher QUALIFIED
Julie T FollerIndiaIvan Magalhaes RENEWAL
Deepesh E FigeroaGermanyStephen Shaw QUALIFIED
Stacey L DarakjyIndiaAsiya Javayant RENEWAL
Mayumi Q GillianJapanOnyama Limba UNQUALIFIED
Alejandro U PaprockiGermanyXuxue Feng PROPOSAL
Munro N OldroydRussiaBernardo Dominic NEGOTIATION
Ricardo L InouyeUnited KingdomAnna Fali UNQUALIFIED
Alejandro N SchemmerArgentinaElwin Sharvill NEW
Rodrigues C TollnerCanadaAnna Fali QUALIFIED
Aditya W SaylorsRussiaIoni Bowcher QUALIFIED
Juan C KuskoUnited KingdomXuxue Feng UNQUALIFIED
Stacey I CampainSpainAmy Elsner NEGOTIATION
Nicolas T MorascaCanadaOnyama Limba UNQUALIFIED
Morrow X StockhamJapanAmy Elsner NEW
Jeanfrancois I GarufiIndiaIvan Magalhaes NEW
Antonio U WaycottItalyAsiya Javayant QUALIFIED
Alejandro L NickaBrazilIoni Bowcher NEGOTIATION
Claire M PerinBrazilAsiya Javayant RENEWAL
Juan U MaletRussiaStephen Shaw NEGOTIATION
Juan P VenereItalyAnna Fali NEW
Adams Y MaletGermanyBernardo Dominic QUALIFIED
Claire N RimItalyAsiya Javayant NEGOTIATION
Claire Z WieserGermanyAsiya Javayant QUALIFIED
Darci M SchemmerBrazilAmy Elsner PROPOSAL
Ashley T FlosiCanadaIoni Bowcher NEW
Tony K BowleyRussiaIoni Bowcher PROPOSAL
Salvatore T VocelkaItalyBernardo Dominic PROPOSAL
Nicolas Q WhobreyBrazilIoni Bowcher UNQUALIFIED
Juan X GlickSpainBernardo Dominic PROPOSAL
Leon V RoysterItalyAsiya Javayant NEW
Aruna P WhobreyIndiaBernardo Dominic RENEWAL
Smith U InouyeItalyAmy Elsner UNQUALIFIED
David T FollerFranceXuxue Feng UNQUALIFIED
Jefferson V PaprockiRussiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh U InouyeIndiaBernardo Dominic QUALIFIED
Ashley X GauchoItalyAnna Fali NEGOTIATION
Sinclair E MorascaRussiaAmy Elsner UNQUALIFIED
Emily O PoquetteGermanyStephen Shaw PROPOSAL
Stacey W BriddickArgentinaOnyama Limba RENEWAL
Kaitlin C NickaCanadaIoni Bowcher NEGOTIATION
Greenwood W CaldareraBrazilOnyama Limba PROPOSAL
Morrow K CampainCanadaElwin Sharvill RENEWAL
Leja F WaycottJapanElwin Sharvill NEGOTIATION
Deepesh T PaprockiBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro G GillianSpain2025-07-07Dorl, James J Esq RENEWAL40Ivan Magalhaes
1001Nicolas J WhobreyUnited Kingdom2025-07-17Dorl, James J Esq RENEWAL58Anna Fali
1002Wickens C AmigonJapan2025-07-17Truhlar And Truhlar Attys NEW33Asiya Javayant
1003Munro B RoysterFrance2025-06-26Rousseaux, Michael Esq NEGOTIATION69Ioni Bowcher
1004Mayumi U VocelkaUnited Kingdom2025-07-04Feltz Printing Service NEW19Anna Fali
1005Kaitlin Y KuskoFrance2025-07-02Dorl, James J Esq NEGOTIATION95Asiya Javayant
1006Morrow R KolmetzArgentina2025-06-26Commercial Press NEGOTIATION81Bernardo Dominic
1007Mayumi T GarufiSpain2025-07-11Truhlar And Truhlar Attys NEW22Ioni Bowcher
1008Aruna O SaylorsItaly2025-07-18Chemel, James L Cpa NEGOTIATION69Elwin Sharvill
1009Maisha S AlbaresItaly2025-06-27Buckley Miller Wright QUALIFIED29Anna Fali
1010Kaitlin P RutaArgentina2025-07-02Commercial Press RENEWAL83Ivan Magalhaes
1011Maisha N DilliardRussia2025-07-02King, Christopher A Esq UNQUALIFIED76Bernardo Dominic
1012Morrow L IturbideSpain2025-07-11Chapman, Ross E Esq RENEWAL3Onyama Limba
1013Mayumi O GlickIndia2025-07-18Commercial Press PROPOSAL99Xuxue Feng
1014Johnson E BowleyBrazil2025-07-20Commercial Press RENEWAL59Onyama Limba
1015Sinclair F DilliardRussia2025-07-16Rangoni Of Florence RENEWAL15Onyama Limba
1016Leja Q PoquetteArgentina2025-07-22Commercial Press UNQUALIFIED43Ioni Bowcher
1017Aika F KolmetzGermany2025-07-07Commercial Press NEW57Stephen Shaw
1018Emily A CampainUnited Kingdom2025-07-18Commercial Press NEGOTIATION16Anna Fali
1019Aditya Z CaldareraItaly2025-06-25Chanay, Jeffrey A Esq NEW97Stephen Shaw
1020Salvatore W ChuiIndia2025-07-12Printing Dimensions QUALIFIED56Ivan Magalhaes
1021Antonio N KuskoRussia2025-07-19Morlong Associates RENEWAL10Bernardo Dominic
1022Jeanfrancois Z FlosiRussia2025-07-10Chapman, Ross E Esq PROPOSAL50Bernardo Dominic
1023Greenwood N PaprockiArgentina2025-07-11Feltz Printing Service QUALIFIED10Ivan Magalhaes
1024Juan M IturbideItaly2025-07-14King, Christopher A Esq QUALIFIED59Amy Elsner
1025Arvin T CampainArgentina2025-07-17Chapman, Ross E Esq RENEWAL55Amy Elsner
1026Emily F RimIndia2025-07-14Feiner Bros RENEWAL89Elwin Sharvill
1027Wickens J SlusarskiBrazil2025-06-27Printing Dimensions RENEWAL92Bernardo Dominic
1028Maria Y WieserFrance2025-07-17Feltz Printing Service NEGOTIATION74Ivan Magalhaes
1029Costa D CampainJapan2025-06-25Buckley Miller Wright NEW72Elwin Sharvill
1030Mayumi T ChuiRussia2025-06-26Morlong Associates PROPOSAL38Amy Elsner
1031Stacey I CaudyIndia2025-07-06Morlong Associates UNQUALIFIED54Xuxue Feng
1032Silvio U OldroydItaly2025-07-18Buckley Miller Wright NEGOTIATION94Ivan Magalhaes
1033Silvio Q ButtBrazil2025-07-03King, Christopher A Esq NEW14Ioni Bowcher
1034Faith D DilliardCanada2025-07-16Chapman, Ross E Esq UNQUALIFIED4Asiya Javayant
1035Juan M FollerCanada2025-07-14Dorl, James J Esq NEGOTIATION20Xuxue Feng
1036Stacey V MorascaIndia2025-07-17Chanay, Jeffrey A Esq UNQUALIFIED65Onyama Limba
1037Aruna N PaprockiGermany2025-07-17Dorl, James J Esq PROPOSAL36Xuxue Feng
1038Clifford R CaldareraArgentina2025-06-27Rangoni Of Florence NEGOTIATION94Asiya Javayant
1039Rodrigues G RulapaughGermany2025-07-06Feltz Printing Service PROPOSAL78Anna Fali
1040Tony S BologniaCanada2025-07-14King, Christopher A Esq RENEWAL90Elwin Sharvill
1041Leon B VocelkaBrazil2025-07-04Truhlar And Truhlar Attys QUALIFIED27Asiya Javayant
1042Munro J AlbaresRussia2025-07-01Printing Dimensions UNQUALIFIED98Elwin Sharvill
1043Octavia Z StensethCanada2025-07-08King, Christopher A Esq NEW86Onyama Limba
1044Wickens Q NestleBrazil2025-07-12Printing Dimensions PROPOSAL80Anna Fali
1045Munro J ChuiAustralia2025-07-23Rousseaux, Michael Esq PROPOSAL93Asiya Javayant
1046Jones N NestleGermany2025-07-20Dorl, James J Esq NEGOTIATION70Bernardo Dominic
1047Faith R NickaBrazil2025-07-20Buckley Miller Wright QUALIFIED49Anna Fali
1048Juan D MacleadFrance2025-06-26Chapman, Ross E Esq NEW14Asiya Javayant
1049Isabel T SaylorsSpain2025-07-06Rousseaux, Michael Esq NEGOTIATION18Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez H GauchoCanadaStephen Shaw NEGOTIATION
Leja U VenereItalyOnyama Limba PROPOSAL
Maisha D MorascaBrazilBernardo Dominic NEW
Stacey O StockhamAustraliaAnna Fali NEW
Greenwood Y CaudyCanadaXuxue Feng RENEWAL
Jefferson J VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Mayumi I StensethGermanyBernardo Dominic PROPOSAL
Nicolas B KolmetzAustraliaAnna Fali NEW
Aika R MacleadIndiaAsiya Javayant NEGOTIATION
Ricardo P KuskoSpainAnna Fali RENEWAL
Misaki V RulapaughGermanyIoni Bowcher NEW
Izzy K GlickCanadaElwin Sharvill UNQUALIFIED
Isabel X PerinBrazilAsiya Javayant PROPOSAL
Stacey L BriddickAustraliaXuxue Feng RENEWAL
Wickens A WhobreyIndiaAsiya Javayant UNQUALIFIED
Misaki B MaletIndiaElwin Sharvill QUALIFIED
Cody O FigeroaAustraliaStephen Shaw RENEWAL
Julie N MacleadGermanyAsiya Javayant NEGOTIATION
Rodrigues Z TollnerBrazilIoni Bowcher QUALIFIED
Salvatore L SaylorsSpainAsiya Javayant NEGOTIATION
Aditya I SaylorsItalyAnna Fali NEGOTIATION
Mayumi C KolmetzBrazilStephen Shaw UNQUALIFIED
Maria C BowleyGermanyAsiya Javayant NEGOTIATION
Costa Z IturbideAustraliaAmy Elsner NEGOTIATION
Francesco P FlosiAustraliaAnna Fali NEW
Deepesh C FollerIndiaStephen Shaw UNQUALIFIED
Rodrigues W MacleadAustraliaAmy Elsner UNQUALIFIED
Silvio N DilliardRussiaAsiya Javayant UNQUALIFIED
Clifford H CaudyGermanyAnna Fali NEW
Darci Q WhobreyArgentinaOnyama Limba UNQUALIFIED
Alejandro O DarakjyItalyAnna Fali QUALIFIED
Antonio U VocelkaCanadaIvan Magalhaes UNQUALIFIED
Nicolas J CaudyRussiaOnyama Limba NEW
Adams W OldroydSpainXuxue Feng NEW
Ivar N WhobreyItalyAmy Elsner PROPOSAL
Emily Z MarrierBrazilStephen Shaw PROPOSAL
Jefferson C StensethJapanOnyama Limba UNQUALIFIED
Darci M DarakjyArgentinaIoni Bowcher QUALIFIED
Smith P GarufiUnited KingdomBernardo Dominic RENEWAL
Stacey Y SlusarskiRussiaAsiya Javayant NEGOTIATION
Izzy O SlusarskiJapanIoni Bowcher NEGOTIATION
Juan B ChuiGermanyXuxue Feng UNQUALIFIED
Alejandro K WhobreyUnited KingdomIoni Bowcher QUALIFIED
Claire E PaprockiCanadaXuxue Feng NEGOTIATION
Mayumi V IturbideUnited KingdomAnna Fali UNQUALIFIED
Morrow H RoysterItalyAsiya Javayant NEW
Mayumi U PaprockiCanadaElwin Sharvill NEW
Mayumi W PaprockiArgentinaAnna Fali PROPOSAL
Emily H VenereRussiaElwin Sharvill RENEWAL
David K MaletAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Rodrigues B Stockham
Murillo H Bolognia
Silvio N Gaucho
Chavez R Gillian
Alejandro K Rim
Jeanfrancois J Waycott
Smith A Butt
Mayumi U Iturbide
Kaitlin O Tollner
Costa T Vocelka
Stacey F Bowley
Isabel B Darakjy
Maria C Briddick
Darci E Poquette
Ivar O Stockham
Maria K Glick
Izzy D Malet
Aika T Garufi
Mayumi T Oldroyd
Maisha L Figeroa
Juan C Wieser
David Q Marrier
Maria N Briddick
Johnson C Caldarera
Claire Q Garufi
Maria Z Saylors
Johnson D Vocelka
Maisha I Slusarski
Aika Q Ruta
Smith X Vocelka
Jones U Venere
Kaitlin S Foller
Murillo Z Gaucho
Leon Z Schemmer
Misaki G Ostrosky
Johnson R Bolognia
Francesco Y Foller
Silvio Q Flosi
Smith N Waycott
Jones D Marrier
Leon J Campain
Alejandro S Campain
Aika R Inouye
Arvin M Venere
Arvin K Albares
Morrow J Malet
Aika H Sergi
Chavez N Ruta
Salvatore X Foller
Julie E Stockham
IdCountryDate
1000Germany2025-07-16
1001Japan2025-07-15
1002Italy2025-07-03
1003Japan2025-07-11
1004France2025-06-26
1005Argentina2025-06-27
1006Argentina2025-07-08
1007India2025-07-08
1008Germany2025-07-04
1009Brazil2025-07-07
1010Brazil2025-06-30
1011Japan2025-07-16
1012Argentina2025-07-23
1013Canada2025-07-24
1014France2025-07-03
1015Canada2025-06-30
1016Germany2025-07-01
1017Italy2025-07-06
1018Russia2025-07-24
1019Canada2025-07-14
1020Italy2025-07-03
1021United Kingdom2025-07-07
1022Brazil2025-07-06
1023Spain2025-07-04
1024Australia2025-07-07
1025France2025-06-25
1026India2025-06-25
1027Argentina2025-07-22
1028India2025-07-21
1029India2025-06-27
1030Argentina2025-07-04
1031Germany2025-06-27
1032United Kingdom2025-07-19
1033Italy2025-07-24
1034Brazil2025-07-12
1035United Kingdom2025-07-24
1036Japan2025-07-07
1037France2025-06-29
1038Canada2025-06-26
1039Canada2025-07-02
1040France2025-07-17
1041Japan2025-06-28
1042Japan2025-07-08
1043Russia2025-07-24
1044Brazil2025-07-02
1045Spain2025-07-24
1046Russia2025-07-21
1047Spain2025-07-09
1048Australia2025-06-25
1049Italy2025-06-25

On-Demand Data

NameIdCountryDate
Darci L Glick1000Canada2025-07-01
Wickens S Dilliard1001Argentina2025-07-23
Ashley S Darakjy1002Germany2025-07-07
Izzy N Campain1003United Kingdom2025-07-11
Kadeem K Poquette1004Russia2025-07-02
Isabel P Ferencz1005Australia2025-06-26
Silvio S Darakjy1006Russia2025-07-03
Aruna J Sergi1007United Kingdom2025-07-04
Murillo Y Butt1008Japan2025-07-07
Morrow S Vocelka1009Italy2025-07-06
Leja D Caldarera1010Canada2025-07-19
Octavia N Oldroyd1011Germany2025-07-10
Izzy P Ferencz1012Argentina2025-07-04
Darci H Bolognia1013India2025-07-06
Wickens R Waycott1014India2025-07-17
Ricardo J Malet1015Japan2025-07-18
Maria O Vocelka1016Germany2025-07-16
Silvio G Sergi1017United Kingdom2025-07-24
Jeanfrancois G Dilliard1018Australia2025-06-30
Sinclair U Bolognia1019Germany2025-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya E NickaIndiaBernardo Dominic UNQUALIFIED
James O PaprockiAustraliaXuxue Feng UNQUALIFIED
Aika D MorascaItalyOnyama Limba RENEWAL
Mayumi F ShinkoItalyIvan Magalhaes UNQUALIFIED
Julie T GillianIndiaBernardo Dominic NEGOTIATION
Leon R RimItalyAsiya Javayant NEW
Sinclair V FlosiArgentinaBernardo Dominic RENEWAL
Aika A StensethArgentinaBernardo Dominic NEW
Jeanfrancois B MaletAustraliaXuxue Feng UNQUALIFIED
Arvin T ShinkoAustraliaAnna Fali NEW
Emily M VocelkaItalyStephen Shaw RENEWAL
Leon J ShinkoItalyAsiya Javayant UNQUALIFIED
Misaki F KuskoArgentinaIvan Magalhaes NEW
Smith T AmigonRussiaElwin Sharvill UNQUALIFIED
Mujtaba H PaprockiArgentinaAsiya Javayant QUALIFIED
Wickens E MacleadGermanyAnna Fali NEW
Rodrigues K AmigonSpainXuxue Feng PROPOSAL
Jeanfrancois W BologniaGermanyBernardo Dominic NEGOTIATION
Ivar O MarrierAustraliaIvan Magalhaes UNQUALIFIED
Murillo I MaletRussiaAnna Fali PROPOSAL
Tony S PaprockiRussiaBernardo Dominic RENEWAL
Silvio B FollerFranceStephen Shaw PROPOSAL
Silvio C MorascaSpainStephen Shaw PROPOSAL
Aruna K RimRussiaAsiya Javayant UNQUALIFIED
Jefferson R MacleadUnited KingdomBernardo Dominic RENEWAL
Aika R KuskoCanadaXuxue Feng NEGOTIATION
Costa R KuskoCanadaAmy Elsner QUALIFIED
Leon R CaudyGermanyBernardo Dominic RENEWAL
David O WhobreyCanadaAmy Elsner UNQUALIFIED
Izzy R ShinkoIndiaBernardo Dominic NEGOTIATION
Salvatore A AlbaresAustraliaIvan Magalhaes UNQUALIFIED
David N FerenczAustraliaIvan Magalhaes RENEWAL
Jennifer V MaletJapanXuxue Feng UNQUALIFIED
Maria Q StensethIndiaAmy Elsner PROPOSAL
Maisha P InouyeFranceBernardo Dominic QUALIFIED
Johnson U FerenczFranceAsiya Javayant UNQUALIFIED
Maisha Q DilliardGermanyXuxue Feng PROPOSAL
Munro K KolmetzItalyAnna Fali QUALIFIED
Johnson G RutaBrazilAnna Fali NEW
Ricardo A RoysterSpainXuxue Feng 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>