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
Ashley J BologniaFranceAmy Elsner NEGOTIATION
Claire L SaylorsCanadaAnna Fali NEGOTIATION
Tony K KuskoAustraliaIoni Bowcher RENEWAL
Francesco N PerinIndiaAnna Fali NEW
Aruna S SergiFranceIvan Magalhaes PROPOSAL
Arvin L PerinSpainOnyama Limba QUALIFIED
Julie K OstroskyJapanAmy Elsner UNQUALIFIED
Cody V MarrierGermanyOnyama Limba RENEWAL
Juan I InouyeSpainIoni Bowcher RENEWAL
Salvatore A AmigonAustraliaBernardo Dominic NEW
Sinclair C GarufiIndiaElwin Sharvill NEW
Smith A CampainArgentinaIvan Magalhaes QUALIFIED
Octavia C ChuiUnited KingdomElwin Sharvill NEGOTIATION
Octavia Z GlickArgentinaAmy Elsner PROPOSAL
Mujtaba C MorascaGermanyIoni Bowcher RENEWAL
Aika Q PerinAustraliaAnna Fali PROPOSAL
Julie Y IturbideArgentinaStephen Shaw NEW
Kadeem N WhobreyArgentinaOnyama Limba NEGOTIATION
Murillo M ChuiGermanyStephen Shaw PROPOSAL
Greenwood R SaylorsBrazilElwin Sharvill PROPOSAL
Adams U CampainArgentinaAnna Fali RENEWAL
Izzy B FerenczFranceAmy Elsner PROPOSAL
Tony M TollnerSpainElwin Sharvill NEGOTIATION
Mujtaba R AlbaresGermanyXuxue Feng NEW
Aruna X CaudyItalyElwin Sharvill NEGOTIATION
Jefferson Y MacleadGermanyAsiya Javayant NEGOTIATION
Jeanfrancois V RutaAustraliaIvan Magalhaes RENEWAL
Emily G GauchoUnited KingdomElwin Sharvill NEGOTIATION
Jones Q MacleadGermanyIoni Bowcher NEGOTIATION
Johnson X TollnerRussiaAmy Elsner QUALIFIED
Smith R DoeArgentinaXuxue Feng NEGOTIATION
Ashley X VenereRussiaBernardo Dominic RENEWAL
Munro K PaprockiArgentinaIvan Magalhaes NEW
Ashley H TollnerAustraliaIoni Bowcher UNQUALIFIED
Murillo D SchemmerAustraliaStephen Shaw UNQUALIFIED
Kadeem G NickaSpainStephen Shaw NEW
Stacey U IturbideCanadaIoni Bowcher RENEWAL
Nicolas W KuskoCanadaStephen Shaw RENEWAL
Maria H DarakjyItalyAsiya Javayant PROPOSAL
Darci U SaylorsJapanAsiya Javayant UNQUALIFIED
Morrow C MacleadIndiaStephen Shaw RENEWAL
Antonio U ShinkoUnited KingdomIoni Bowcher RENEWAL
Nicolas P MaletCanadaBernardo Dominic PROPOSAL
Deepesh K KolmetzIndiaAnna Fali PROPOSAL
Greenwood Q VenereRussiaAnna Fali QUALIFIED
Jefferson L RimItalyStephen Shaw RENEWAL
Misaki Z DilliardRussiaXuxue Feng NEW
Aditya A VocelkaArgentinaAmy Elsner QUALIFIED
James G ButtUnited KingdomAnna Fali UNQUALIFIED
Francesco L TollnerRussiaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire M MorascaJapanAsiya Javayant UNQUALIFIED
Leon Z NestleFranceXuxue Feng NEGOTIATION
Ashley V IturbideUnited KingdomAnna Fali NEW
Arvin Q RulapaughAustraliaIvan Magalhaes NEGOTIATION
Clifford V GillianArgentinaElwin Sharvill QUALIFIED
Ivar U DoeBrazilIoni Bowcher RENEWAL
Smith Z FerenczItalyAmy Elsner UNQUALIFIED
Claire I DoeCanadaIvan Magalhaes UNQUALIFIED
Kaitlin B DoeSpainIoni Bowcher NEW
Deepesh X GauchoSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya W ButtItaly2025-10-09Feiner Bros RENEWAL42Anna Fali
1001Ashley V TollnerCanada2025-09-22Rangoni Of Florence RENEWAL61Amy Elsner
1002Adams N InouyeJapan2025-10-18Buckley Miller Wright NEW21Ioni Bowcher
1003Sinclair S SchemmerGermany2025-10-17Commercial Press UNQUALIFIED19Xuxue Feng
1004Wickens U DarakjyFrance2025-10-10Truhlar And Truhlar Attys RENEWAL26Elwin Sharvill
1005Salvatore J KuskoItaly2025-09-29Dorl, James J Esq NEW77Amy Elsner
1006Faith J WaycottAustralia2025-09-25Commercial Press PROPOSAL65Ioni Bowcher
1007Leja R MacleadJapan2025-10-05King, Christopher A Esq QUALIFIED49Elwin Sharvill
1008Mujtaba V SchemmerJapan2025-10-20Buckley Miller Wright UNQUALIFIED58Anna Fali
1009Tony W TollnerItaly2025-10-03Dorl, James J Esq RENEWAL65Ivan Magalhaes
1010Murillo M DoeJapan2025-09-25Rangoni Of Florence RENEWAL35Bernardo Dominic
1011Claire P FlosiIndia2025-10-05Rousseaux, Michael Esq PROPOSAL46Ioni Bowcher
1012Darci Q CampainAustralia2025-10-07Morlong Associates PROPOSAL2Elwin Sharvill
1013Deepesh O CaldareraGermany2025-10-13Chemel, James L Cpa PROPOSAL35Xuxue Feng
1014Salvatore F SergiCanada2025-09-30Dorl, James J Esq NEW8Ioni Bowcher
1015Kaitlin C MacleadCanada2025-10-20Chanay, Jeffrey A Esq QUALIFIED20Onyama Limba
1016Morrow Q SaylorsSpain2025-10-18Feiner Bros NEW45Elwin Sharvill
1017Cody F WhobreyJapan2025-10-14Morlong Associates QUALIFIED47Asiya Javayant
1018Darci Y FigeroaFrance2025-10-04Feiner Bros QUALIFIED47Xuxue Feng
1019Adams C DilliardBrazil2025-10-14Commercial Press PROPOSAL3Bernardo Dominic
1020Antonio R FlosiFrance2025-10-11Commercial Press RENEWAL26Xuxue Feng
1021Aruna G GauchoFrance2025-10-10Truhlar And Truhlar Attys NEGOTIATION97Ioni Bowcher
1022Aditya J IturbideAustralia2025-10-17Rangoni Of Florence PROPOSAL40Bernardo Dominic
1023Francesco S NickaUnited Kingdom2025-10-03Dorl, James J Esq NEGOTIATION92Elwin Sharvill
1024Stacey J GlickIndia2025-09-29Rousseaux, Michael Esq UNQUALIFIED87Onyama Limba
1025Nicolas D RulapaughUnited Kingdom2025-09-24Commercial Press RENEWAL20Amy Elsner
1026Greenwood Y SchemmerIndia2025-09-28Commercial Press UNQUALIFIED86Stephen Shaw
1027Ashley D SergiJapan2025-10-11Benton, John B Jr RENEWAL46Ivan Magalhaes
1028Izzy G MaletSpain2025-09-30Buckley Miller Wright UNQUALIFIED10Onyama Limba
1029Izzy E VocelkaAustralia2025-09-24Dorl, James J Esq NEGOTIATION78Ioni Bowcher
1030Jones D VenereArgentina2025-10-07Feiner Bros UNQUALIFIED27Ioni Bowcher
1031Wickens Y MacleadRussia2025-10-18Feltz Printing Service NEGOTIATION80Stephen Shaw
1032Greenwood V BowleySpain2025-10-01Chanay, Jeffrey A Esq PROPOSAL35Ivan Magalhaes
1033Misaki X RoysterGermany2025-10-15Benton, John B Jr RENEWAL92Anna Fali
1034Darci A PaprockiIndia2025-09-25Truhlar And Truhlar Attys RENEWAL55Ioni Bowcher
1035Adams O SlusarskiGermany2025-09-21Chanay, Jeffrey A Esq NEGOTIATION77Xuxue Feng
1036Silvio L StensethItaly2025-10-18Morlong Associates PROPOSAL48Anna Fali
1037Arvin Q SergiJapan2025-10-07Dorl, James J Esq NEW21Ioni Bowcher
1038Jefferson W WaycottRussia2025-09-25Commercial Press QUALIFIED81Ivan Magalhaes
1039Isabel A RulapaughArgentina2025-09-30Buckley Miller Wright UNQUALIFIED74Xuxue Feng
1040Octavia A PoquetteBrazil2025-09-25Chemel, James L Cpa NEW68Anna Fali
1041Wickens X IturbideCanada2025-10-13Printing Dimensions QUALIFIED23Asiya Javayant
1042Kaitlin B MaletSpain2025-10-14Rangoni Of Florence NEGOTIATION57Asiya Javayant
1043Ivar V KolmetzItaly2025-10-11Commercial Press NEW77Stephen Shaw
1044Sinclair W SergiArgentina2025-09-27Chanay, Jeffrey A Esq QUALIFIED68Bernardo Dominic
1045Silvio R BowleyGermany2025-10-01Dorl, James J Esq PROPOSAL84Ivan Magalhaes
1046Morrow S DarakjyIndia2025-10-09Printing Dimensions NEGOTIATION85Xuxue Feng
1047Leja Z IturbideFrance2025-10-18Dorl, James J Esq PROPOSAL76Stephen Shaw
1048Chavez Z WieserArgentina2025-10-20Feiner Bros UNQUALIFIED75Ioni Bowcher
1049Chavez B MarrierIndia2025-09-26Printing Dimensions NEW67Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony Q RulapaughFranceOnyama Limba PROPOSAL
Jeanfrancois F OstroskyAustraliaStephen Shaw NEW
Francesco K MaletBrazilAsiya Javayant QUALIFIED
Jones W SlusarskiRussiaIvan Magalhaes NEGOTIATION
Emily J ButtJapanElwin Sharvill PROPOSAL
Julie V MorascaBrazilXuxue Feng PROPOSAL
Leja S WaycottBrazilAsiya Javayant NEGOTIATION
Costa L WieserRussiaOnyama Limba RENEWAL
Misaki Z MarrierAustraliaIvan Magalhaes NEW
Antonio I MarrierCanadaAsiya Javayant NEW
Aditya U KuskoRussiaAnna Fali PROPOSAL
Clifford Y DoeJapanAnna Fali NEW
Emily Z NickaItalyAsiya Javayant NEW
Claire H StockhamBrazilElwin Sharvill PROPOSAL
Octavia M MaletRussiaBernardo Dominic NEW
Aditya K RimItalyAmy Elsner NEW
Leon M CaudyJapanAnna Fali PROPOSAL
Murillo O MaletUnited KingdomStephen Shaw NEW
Darci N OldroydItalyXuxue Feng NEGOTIATION
Jennifer Y ShinkoItalyIvan Magalhaes NEGOTIATION
Mujtaba S NickaRussiaElwin Sharvill PROPOSAL
Ivar C AlbaresJapanIoni Bowcher QUALIFIED
Leja A MaletItalyBernardo Dominic UNQUALIFIED
Izzy X RutaBrazilAsiya Javayant QUALIFIED
Arvin D GauchoJapanElwin Sharvill NEGOTIATION
James M ShinkoJapanAmy Elsner QUALIFIED
Greenwood A ChuiGermanyAnna Fali UNQUALIFIED
Jefferson V PaprockiBrazilXuxue Feng RENEWAL
Kaitlin K InouyeUnited KingdomIvan Magalhaes QUALIFIED
Jones O RulapaughUnited KingdomOnyama Limba NEW
Claire I SlusarskiBrazilElwin Sharvill QUALIFIED
Aika B CampainCanadaIvan Magalhaes UNQUALIFIED
Misaki W SaylorsBrazilIvan Magalhaes QUALIFIED
Wickens P WaycottGermanyIvan Magalhaes NEW
Octavia B FlosiBrazilXuxue Feng NEGOTIATION
Nicolas K SlusarskiFranceBernardo Dominic NEGOTIATION
Isabel Q VenereCanadaIoni Bowcher RENEWAL
Morrow D CaudyJapanBernardo Dominic RENEWAL
Wickens N MaletUnited KingdomIoni Bowcher RENEWAL
Wickens J GauchoAustraliaXuxue Feng QUALIFIED
Aruna A MacleadGermanyAsiya Javayant QUALIFIED
Antonio I ButtCanadaBernardo Dominic RENEWAL
Alejandro K SchemmerCanadaAnna Fali PROPOSAL
Murillo H CaudyUnited KingdomAsiya Javayant NEGOTIATION
James C RutaArgentinaIvan Magalhaes PROPOSAL
Izzy P ChuiItalyIvan Magalhaes RENEWAL
Maria T VenereArgentinaStephen Shaw RENEWAL
Alejandro P StockhamGermanyBernardo Dominic NEGOTIATION
Julie C MorascaAustraliaAnna Fali QUALIFIED
Julie N FollerItalyIvan Magalhaes RENEWAL
Frozen Columns
Name
Costa P Inouye
Stacey R Waycott
Greenwood O Tollner
Mujtaba L Schemmer
David Z Malet
Ashley M Ferencz
Stacey O Iturbide
Jefferson I Rulapaugh
Jefferson S Royster
Misaki O Rulapaugh
Munro A Vocelka
Johnson U Ruta
Faith K Albares
Leja X Garufi
Wickens V Sergi
Maria B Schemmer
Costa S Shinko
Faith O Nestle
Ashley A Wieser
Faith W Waycott
Munro I Kolmetz
Misaki L Tollner
Francesco C Poquette
Francesco T Nestle
Aika B Saylors
Francesco L Doe
Ashley O Doe
Cody A Whobrey
Aditya Z Waycott
Wickens I Amigon
Mujtaba B Gaucho
Faith L Ferencz
Leja L Vocelka
Ashley Y Sergi
Clifford R Perin
Alejandro S Garufi
Aditya D Butt
Darci I Maclead
Johnson T Caldarera
Johnson H Gaucho
Deepesh S Kolmetz
Faith O Marrier
Wickens V Saylors
Misaki W Doe
Leon H Malet
Jeanfrancois Z Ostrosky
Alejandro F Marrier
Stacey A Rulapaugh
Adams Y Sergi
Juan K Foller
IdCountryDate
1000Japan2025-10-01
1001France2025-10-17
1002Australia2025-10-13
1003Germany2025-09-30
1004Brazil2025-10-08
1005Canada2025-09-28
1006France2025-10-06
1007Italy2025-10-18
1008Russia2025-10-18
1009Spain2025-09-21
1010France2025-10-11
1011France2025-10-20
1012Japan2025-10-19
1013Spain2025-09-23
1014Spain2025-09-21
1015United Kingdom2025-09-22
1016Australia2025-10-04
1017Russia2025-09-24
1018France2025-09-27
1019Argentina2025-09-28
1020France2025-10-08
1021Germany2025-10-15
1022Argentina2025-10-02
1023Germany2025-09-27
1024Argentina2025-10-06
1025Australia2025-10-16
1026Spain2025-10-03
1027Australia2025-09-28
1028Argentina2025-10-18
1029Russia2025-10-09
1030Canada2025-09-29
1031Spain2025-10-01
1032Spain2025-10-19
1033Brazil2025-10-19
1034Australia2025-10-04
1035Australia2025-10-11
1036France2025-10-05
1037Australia2025-09-26
1038Argentina2025-10-11
1039Russia2025-10-20
1040Brazil2025-10-06
1041Russia2025-10-02
1042Spain2025-10-17
1043Spain2025-10-06
1044Germany2025-10-07
1045Argentina2025-10-05
1046Australia2025-10-15
1047Russia2025-10-18
1048Spain2025-10-09
1049Canada2025-09-30

On-Demand Data

NameIdCountryDate
Greenwood Z Dilliard1000Italy2025-09-26
Ricardo W Ruta1001Canada2025-10-09
Darci U Rulapaugh1002United Kingdom2025-09-26
Wickens L Paprocki1003United Kingdom2025-10-03
James N Saylors1004India2025-10-14
Tony O Stenseth1005Italy2025-09-28
Ivar U Rim1006India2025-10-20
Wickens M Stenseth1007United Kingdom2025-09-30
Smith Q Stockham1008Italy2025-10-15
Aditya L Gaucho1009Argentina2025-10-18
David H Schemmer1010Japan2025-10-01
Darci U Kusko1011Italy2025-10-04
Kadeem V Doe1012Spain2025-10-03
Wickens Y Venere1013Japan2025-10-16
David B Waycott1014Brazil2025-10-16
Mayumi L Schemmer1015India2025-09-28
Leon F Oldroyd1016Argentina2025-09-24
Smith X Nestle1017Italy2025-10-06
Aika S Figeroa1018Russia2025-10-09
Jeanfrancois L Ruta1019Australia2025-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar B ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Jones X TollnerGermanyAnna Fali NEW
Murillo N CaudyItalyIoni Bowcher UNQUALIFIED
Murillo T ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson J PoquetteItalyXuxue Feng QUALIFIED
Julie K CampainUnited KingdomIoni Bowcher RENEWAL
Jennifer J MarrierArgentinaStephen Shaw RENEWAL
Munro W MaletRussiaXuxue Feng QUALIFIED
Murillo R InouyeItalyStephen Shaw QUALIFIED
Salvatore M StockhamGermanyIvan Magalhaes QUALIFIED
Francesco D KuskoGermanyBernardo Dominic NEW
Cody F PoquetteItalyAnna Fali UNQUALIFIED
Deepesh N PoquetteUnited KingdomXuxue Feng RENEWAL
Antonio S RimUnited KingdomOnyama Limba QUALIFIED
Claire E SchemmerCanadaIvan Magalhaes PROPOSAL
Sinclair Q WieserAustraliaXuxue Feng RENEWAL
Aruna C CampainUnited KingdomElwin Sharvill RENEWAL
Clifford I NestleAustraliaXuxue Feng QUALIFIED
Salvatore N PoquetteItalyIoni Bowcher NEGOTIATION
Greenwood P PaprockiSpainXuxue Feng RENEWAL
Rodrigues K WieserUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois I NestleJapanElwin Sharvill NEGOTIATION
Adams U WaycottItalyIoni Bowcher UNQUALIFIED
Costa H ChuiCanadaIvan Magalhaes UNQUALIFIED
Aruna K SchemmerRussiaAnna Fali UNQUALIFIED
Emily R MaletAustraliaStephen Shaw QUALIFIED
Jeanfrancois F WieserFranceIvan Magalhaes RENEWAL
David I BriddickUnited KingdomOnyama Limba PROPOSAL
Chavez W TollnerFranceStephen Shaw PROPOSAL
Aika Q DoeUnited KingdomAnna Fali RENEWAL
Smith V IturbideUnited KingdomAmy Elsner UNQUALIFIED
Izzy Y MarrierIndiaElwin Sharvill NEGOTIATION
Alejandro P WieserUnited KingdomXuxue Feng RENEWAL
Morrow A FigeroaUnited KingdomXuxue Feng RENEWAL
Mayumi Q MarrierItalyOnyama Limba QUALIFIED
Maisha F MaletItalyAnna Fali QUALIFIED
Ashley Y AmigonArgentinaIvan Magalhaes PROPOSAL
Leon A VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer M PaprockiRussiaAnna Fali NEGOTIATION
Leja L WhobreySpainIoni Bowcher 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>