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
Juan I ChuiGermanyAsiya Javayant NEGOTIATION
Jefferson I AmigonSpainStephen Shaw RENEWAL
David V FollerIndiaElwin Sharvill PROPOSAL
Murillo L DoeIndiaIoni Bowcher RENEWAL
Jones K BologniaGermanyAmy Elsner UNQUALIFIED
Jeanfrancois P ChuiSpainAmy Elsner NEGOTIATION
James D StensethCanadaBernardo Dominic PROPOSAL
Adams U WieserRussiaIvan Magalhaes UNQUALIFIED
Stacey J ShinkoCanadaElwin Sharvill NEGOTIATION
Ivar R VocelkaRussiaElwin Sharvill PROPOSAL
Nicolas S MarrierArgentinaAnna Fali NEW
Adams F StockhamUnited KingdomBernardo Dominic UNQUALIFIED
David N StockhamRussiaStephen Shaw NEGOTIATION
Misaki U PaprockiRussiaXuxue Feng UNQUALIFIED
Smith A VenereCanadaAmy Elsner NEW
Maisha L DilliardItalyXuxue Feng UNQUALIFIED
Jefferson Y MacleadIndiaIvan Magalhaes QUALIFIED
Octavia K CampainCanadaOnyama Limba NEGOTIATION
Alejandro D FigeroaJapanAmy Elsner NEGOTIATION
Silvio Q MaletAustraliaXuxue Feng QUALIFIED
James W RoysterAustraliaXuxue Feng UNQUALIFIED
Wickens L SergiIndiaElwin Sharvill UNQUALIFIED
Clifford P VenereUnited KingdomAmy Elsner NEW
Salvatore R PaprockiGermanyAmy Elsner RENEWAL
Clifford M StockhamJapanIoni Bowcher NEGOTIATION
Murillo D FigeroaAustraliaAnna Fali QUALIFIED
Kaitlin B TollnerIndiaAsiya Javayant PROPOSAL
Darci L PerinUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues F CampainIndiaBernardo Dominic UNQUALIFIED
Emily S PaprockiRussiaAnna Fali UNQUALIFIED
Nicolas W RutaArgentinaOnyama Limba QUALIFIED
Morrow C NestleCanadaAsiya Javayant RENEWAL
Claire G FerenczUnited KingdomStephen Shaw UNQUALIFIED
Cody L BowleyUnited KingdomXuxue Feng UNQUALIFIED
Wickens Q RulapaughFranceBernardo Dominic RENEWAL
Costa G NestleFranceIoni Bowcher QUALIFIED
Tony X GarufiItalyAmy Elsner PROPOSAL
Wickens Y CaudyItalyXuxue Feng RENEWAL
Arvin Q WieserBrazilStephen Shaw NEGOTIATION
Clifford Y InouyeAustraliaBernardo Dominic QUALIFIED
Faith J PerinBrazilAnna Fali NEGOTIATION
Chavez G PaprockiGermanyStephen Shaw NEGOTIATION
Claire T ButtSpainOnyama Limba RENEWAL
Alejandro Z BriddickAustraliaIoni Bowcher NEGOTIATION
Ashley B RimGermanyAnna Fali NEW
Izzy K RutaIndiaXuxue Feng UNQUALIFIED
Juan S PaprockiIndiaIvan Magalhaes UNQUALIFIED
Munro Y OstroskyGermanyBernardo Dominic NEW
Francesco C PaprockiJapanIoni Bowcher PROPOSAL
Octavia U RulapaughSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna D IturbideFranceElwin Sharvill NEW
Jones S OstroskyCanadaAsiya Javayant NEW
Wickens P PaprockiAustraliaIvan Magalhaes QUALIFIED
Sinclair H FigeroaItalyAsiya Javayant PROPOSAL
Arvin L GillianGermanyAsiya Javayant NEW
Mayumi T MarrierItalyIvan Magalhaes UNQUALIFIED
Maria R KuskoAustraliaXuxue Feng NEW
David R KuskoBrazilXuxue Feng UNQUALIFIED
Aditya U PerinAustraliaElwin Sharvill NEGOTIATION
Cody A AmigonArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Z StockhamCanada2025-09-08Dorl, James J Esq RENEWAL23Anna Fali
1001Rodrigues M GillianBrazil2025-08-28Chanay, Jeffrey A Esq NEW2Ivan Magalhaes
1002Aruna H GlickUnited Kingdom2025-09-18Feiner Bros QUALIFIED57Onyama Limba
1003Kadeem F RulapaughFrance2025-09-06Truhlar And Truhlar Attys QUALIFIED9Anna Fali
1004Adams R AmigonFrance2025-09-18Truhlar And Truhlar Attys UNQUALIFIED32Bernardo Dominic
1005Clifford O ChuiAustralia2025-09-10Chanay, Jeffrey A Esq QUALIFIED67Xuxue Feng
1006Deepesh V VocelkaIndia2025-08-27Buckley Miller Wright NEGOTIATION59Bernardo Dominic
1007Aditya E RulapaughRussia2025-09-16King, Christopher A Esq NEW16Bernardo Dominic
1008Kadeem O KuskoCanada2025-09-13Truhlar And Truhlar Attys UNQUALIFIED96Ivan Magalhaes
1009Octavia W MacleadArgentina2025-09-16Feltz Printing Service NEGOTIATION9Amy Elsner
1010Murillo X DoeItaly2025-09-03Benton, John B Jr NEW93Elwin Sharvill
1011Kaitlin Z MarrierItaly2025-09-02Morlong Associates RENEWAL83Elwin Sharvill
1012Alejandro E RulapaughCanada2025-09-04Dorl, James J Esq RENEWAL23Bernardo Dominic
1013Aika R ButtArgentina2025-09-07Commercial Press PROPOSAL13Onyama Limba
1014Francesco P CaudySpain2025-09-03Chapman, Ross E Esq NEW99Elwin Sharvill
1015Claire X NickaSpain2025-09-01Feltz Printing Service NEW22Ivan Magalhaes
1016Isabel V NickaBrazil2025-09-02Chemel, James L Cpa NEGOTIATION33Elwin Sharvill
1017Rodrigues K FollerSpain2025-09-11Truhlar And Truhlar Attys NEW70Asiya Javayant
1018Smith J RimIndia2025-09-16Printing Dimensions UNQUALIFIED36Onyama Limba
1019Chavez Q SergiItaly2025-09-08Chanay, Jeffrey A Esq PROPOSAL85Xuxue Feng
1020Arvin L NestleAustralia2025-09-10Commercial Press NEGOTIATION11Onyama Limba
1021Silvio Y AmigonJapan2025-09-22King, Christopher A Esq NEW15Ivan Magalhaes
1022Chavez R PoquetteFrance2025-08-25Printing Dimensions UNQUALIFIED50Amy Elsner
1023Sinclair V CaudyCanada2025-09-22Printing Dimensions RENEWAL89Bernardo Dominic
1024Silvio T AmigonBrazil2025-09-12Dorl, James J Esq RENEWAL18Xuxue Feng
1025Morrow K GlickCanada2025-09-22Chemel, James L Cpa RENEWAL30Onyama Limba
1026Chavez M KolmetzUnited Kingdom2025-08-30Truhlar And Truhlar Attys PROPOSAL89Stephen Shaw
1027Jeanfrancois D FigeroaGermany2025-09-05Chemel, James L Cpa PROPOSAL32Onyama Limba
1028Julie I BologniaAustralia2025-09-20Commercial Press PROPOSAL72Amy Elsner
1029Faith M NickaSpain2025-08-31Chemel, James L Cpa NEGOTIATION26Elwin Sharvill
1030Greenwood X CaudyIndia2025-08-30Chapman, Ross E Esq RENEWAL69Xuxue Feng
1031Leja Y WhobreyUnited Kingdom2025-09-09Printing Dimensions QUALIFIED86Onyama Limba
1032Julie S SchemmerIndia2025-09-01Chanay, Jeffrey A Esq NEGOTIATION28Stephen Shaw
1033Clifford K CaudyIndia2025-09-08Buckley Miller Wright NEW14Anna Fali
1034Greenwood H MacleadBrazil2025-08-24Printing Dimensions QUALIFIED43Ivan Magalhaes
1035Rodrigues V IturbideFrance2025-08-28Commercial Press NEGOTIATION75Ioni Bowcher
1036Jones X PaprockiUnited Kingdom2025-09-06Printing Dimensions PROPOSAL54Xuxue Feng
1037Leon P PaprockiAustralia2025-09-11Rousseaux, Michael Esq QUALIFIED40Onyama Limba
1038Rodrigues S GillianBrazil2025-09-04Printing Dimensions NEW33Xuxue Feng
1039Adams C ChuiRussia2025-09-22Buckley Miller Wright NEGOTIATION12Ivan Magalhaes
1040Ricardo M FigeroaSpain2025-08-25Rousseaux, Michael Esq NEW17Stephen Shaw
1041Leja X KolmetzGermany2025-09-22Commercial Press PROPOSAL17Bernardo Dominic
1042Jennifer V FollerRussia2025-09-09Chapman, Ross E Esq PROPOSAL94Amy Elsner
1043Alejandro C WhobreyBrazil2025-09-14Buckley Miller Wright NEGOTIATION53Elwin Sharvill
1044Jefferson O FlosiFrance2025-09-09Commercial Press UNQUALIFIED61Bernardo Dominic
1045Mayumi V FerenczFrance2025-08-26Rousseaux, Michael Esq UNQUALIFIED39Ivan Magalhaes
1046Maisha H BologniaCanada2025-08-24Rangoni Of Florence PROPOSAL66Ivan Magalhaes
1047Clifford Z TollnerCanada2025-09-15Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1048Adams D KuskoUnited Kingdom2025-09-07Rangoni Of Florence UNQUALIFIED18Stephen Shaw
1049Kadeem C RutaCanada2025-08-26Dorl, James J Esq RENEWAL21Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon A SlusarskiItalyBernardo Dominic NEW
Salvatore H KolmetzFranceAnna Fali QUALIFIED
Ashley Z ChuiBrazilAsiya Javayant RENEWAL
Francesco Q FerenczFranceAnna Fali NEGOTIATION
Wickens V CaldareraSpainIvan Magalhaes UNQUALIFIED
Isabel B NickaSpainIvan Magalhaes PROPOSAL
Aruna Y ChuiRussiaAmy Elsner UNQUALIFIED
Rodrigues L TollnerBrazilAsiya Javayant PROPOSAL
Darci D BowleyItalyBernardo Dominic UNQUALIFIED
Chavez I MaletIndiaIvan Magalhaes NEGOTIATION
Jefferson G BologniaFranceOnyama Limba UNQUALIFIED
Ricardo S RoysterIndiaStephen Shaw QUALIFIED
Salvatore Z CaldareraFranceAsiya Javayant QUALIFIED
Ricardo F RutaRussiaIoni Bowcher PROPOSAL
Nicolas D MorascaBrazilAsiya Javayant UNQUALIFIED
Silvio F MorascaBrazilAmy Elsner NEW
Smith E ShinkoBrazilIoni Bowcher QUALIFIED
Tony P CaudyIndiaAnna Fali NEGOTIATION
Murillo A ButtSpainXuxue Feng QUALIFIED
Aditya B WhobreyRussiaXuxue Feng PROPOSAL
Chavez O FigeroaItalyAmy Elsner NEGOTIATION
Alejandro L FollerIndiaElwin Sharvill PROPOSAL
Leja E VenereItalyIoni Bowcher UNQUALIFIED
Julie H GillianSpainAsiya Javayant QUALIFIED
Darci Z OstroskySpainXuxue Feng UNQUALIFIED
Darci O CampainSpainStephen Shaw NEW
Julie Z FerenczAustraliaElwin Sharvill RENEWAL
Kadeem G StockhamUnited KingdomIvan Magalhaes QUALIFIED
James H ButtCanadaBernardo Dominic PROPOSAL
Munro J MaletItalyBernardo Dominic NEW
Johnson P BowleyUnited KingdomXuxue Feng NEGOTIATION
James B GarufiFranceAnna Fali RENEWAL
Ivar C BologniaRussiaIoni Bowcher UNQUALIFIED
Adams P IturbideFranceElwin Sharvill NEGOTIATION
Stacey U PoquetteGermanyBernardo Dominic NEW
Rodrigues T PaprockiSpainElwin Sharvill PROPOSAL
Salvatore J SaylorsJapanBernardo Dominic NEW
Munro Y AmigonSpainBernardo Dominic UNQUALIFIED
Kaitlin D FigeroaRussiaAmy Elsner NEW
Maria N FlosiRussiaStephen Shaw NEW
Ashley K GlickCanadaXuxue Feng PROPOSAL
Emily S GlickAustraliaAnna Fali NEW
Silvio P PaprockiJapanAmy Elsner RENEWAL
Maria M CampainIndiaXuxue Feng PROPOSAL
Maria E GarufiArgentinaAmy Elsner RENEWAL
James C SaylorsArgentinaAmy Elsner RENEWAL
Kaitlin N GillianArgentinaIvan Magalhaes QUALIFIED
Mayumi M AmigonRussiaAmy Elsner UNQUALIFIED
Emily I NestleSpainIvan Magalhaes NEGOTIATION
Ricardo Q VenereJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Silvio O Foller
Clifford J Bowley
Mujtaba S Vocelka
Faith H Iturbide
Aika Y Ruta
Antonio H Butt
Johnson Y Venere
Alejandro R Malet
Salvatore T Marrier
Juan F Caudy
James J Maclead
Aruna S Oldroyd
Alejandro A Poquette
Aditya H Bowley
Ashley D Morasca
David A Nestle
Aditya S Chui
Deepesh G Amigon
Maisha H Rulapaugh
Aruna N Ruta
Costa H Ostrosky
Arvin N Dilliard
Murillo Y Slusarski
Jefferson B Butt
Isabel N Amigon
Kadeem X Paprocki
Arvin Q Caldarera
Murillo Q Vocelka
Misaki S Inouye
Jefferson H Waycott
Aruna Q Darakjy
Clifford K Garufi
Faith L Tollner
Murillo V Garufi
Silvio M Flosi
Stacey I Rim
Munro S Bowley
James T Ferencz
Emily B Stenseth
Juan F Royster
Leon P Maclead
Mujtaba I Caldarera
Arvin S Glick
Ashley K Ferencz
Maria B Gillian
Alejandro I Ostrosky
Murillo H Saylors
Emily N Ostrosky
Alejandro Q Stockham
Juan K Waycott
IdCountryDate
1000Brazil2025-09-13
1001United Kingdom2025-09-08
1002Germany2025-09-15
1003Spain2025-09-14
1004Canada2025-09-22
1005Argentina2025-09-20
1006Russia2025-09-15
1007Italy2025-09-06
1008India2025-09-14
1009Canada2025-08-29
1010Spain2025-09-09
1011France2025-09-14
1012United Kingdom2025-09-20
1013Canada2025-09-05
1014United Kingdom2025-09-17
1015Italy2025-09-03
1016Japan2025-08-31
1017Italy2025-09-05
1018Germany2025-09-19
1019Brazil2025-09-13
1020India2025-09-06
1021Japan2025-08-27
1022United Kingdom2025-08-25
1023Russia2025-08-29
1024India2025-08-31
1025Canada2025-09-02
1026Argentina2025-08-31
1027Brazil2025-09-16
1028Russia2025-09-15
1029Spain2025-09-16
1030Germany2025-09-07
1031Canada2025-09-14
1032France2025-09-17
1033Australia2025-09-11
1034Canada2025-09-05
1035Brazil2025-09-05
1036Japan2025-09-21
1037India2025-08-25
1038Germany2025-09-22
1039United Kingdom2025-08-31
1040Brazil2025-09-15
1041United Kingdom2025-09-15
1042Germany2025-09-16
1043Russia2025-09-13
1044United Kingdom2025-09-08
1045Argentina2025-09-01
1046Russia2025-09-15
1047France2025-09-01
1048Argentina2025-09-07
1049Japan2025-09-08

On-Demand Data

NameIdCountryDate
Darci T Perin1000Japan2025-09-22
Izzy R Morasca1001United Kingdom2025-09-19
Maria X Amigon1002Brazil2025-09-11
Clifford R Campain1003Brazil2025-09-13
Darci O Stenseth1004Canada2025-09-20
Aika Z Gillian1005Russia2025-09-01
Ivar L Royster1006Canada2025-09-04
Nicolas K Gaucho1007Spain2025-09-14
Greenwood Q Bolognia1008Spain2025-09-10
Smith T Kusko1009United Kingdom2025-08-29
Ashley Y Rulapaugh1010France2025-09-18
Jennifer M Poquette1011Russia2025-09-06
Costa H Rim1012United Kingdom2025-09-13
Juan H Royster1013Brazil2025-09-13
Clifford X Rim1014Germany2025-09-22
Clifford I Slusarski1015Russia2025-09-02
Nicolas V Sergi1016Russia2025-09-12
Jefferson F Nicka1017United Kingdom2025-09-09
Maisha F Whobrey1018France2025-08-31
David T Waycott1019Australia2025-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S WaycottAustraliaAmy Elsner NEGOTIATION
Smith J NickaRussiaAsiya Javayant RENEWAL
Munro Y CaldareraFranceAnna Fali PROPOSAL
Faith F WieserGermanyOnyama Limba QUALIFIED
Darci M MaletArgentinaAsiya Javayant NEW
Morrow X PaprockiSpainAmy Elsner RENEWAL
Morrow T RoysterArgentinaStephen Shaw NEW
Murillo G OldroydJapanAnna Fali RENEWAL
Stacey T ButtArgentinaIvan Magalhaes PROPOSAL
Murillo O WaycottCanadaStephen Shaw NEW
Isabel L SergiArgentinaStephen Shaw PROPOSAL
Adams L MaletCanadaAmy Elsner PROPOSAL
Faith C DarakjyIndiaXuxue Feng QUALIFIED
Maria V InouyeCanadaElwin Sharvill RENEWAL
Nicolas I NickaRussiaBernardo Dominic RENEWAL
Ashley K SchemmerUnited KingdomStephen Shaw RENEWAL
Leon N WieserGermanyAnna Fali RENEWAL
Johnson U GarufiArgentinaXuxue Feng QUALIFIED
Morrow U RimIndiaIoni Bowcher RENEWAL
Maisha C SchemmerIndiaIvan Magalhaes RENEWAL
Leja J IturbideGermanyElwin Sharvill RENEWAL
Jones R BowleyRussiaBernardo Dominic PROPOSAL
Jones B ShinkoJapanIoni Bowcher NEW
David S SaylorsCanadaAnna Fali PROPOSAL
Juan L RutaGermanyBernardo Dominic UNQUALIFIED
Leja F MaletCanadaIoni Bowcher PROPOSAL
Murillo C InouyeFranceStephen Shaw UNQUALIFIED
Morrow U RimAustraliaXuxue Feng RENEWAL
Octavia A GlickFranceOnyama Limba UNQUALIFIED
Chavez Z SaylorsSpainIvan Magalhaes RENEWAL
Silvio P KolmetzArgentinaAmy Elsner NEW
Leja W NickaBrazilIoni Bowcher NEW
Johnson G RutaSpainIvan Magalhaes NEGOTIATION
Faith E VocelkaUnited KingdomIvan Magalhaes RENEWAL
Sinclair Y PerinCanadaIoni Bowcher QUALIFIED
Aika I DoeUnited KingdomAmy Elsner NEW
Silvio F ShinkoBrazilElwin Sharvill UNQUALIFIED
Emily P NestleRussiaIoni Bowcher RENEWAL
Mujtaba L BowleyBrazilIvan Magalhaes QUALIFIED
Costa O MaletRussiaBernardo Dominic 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>