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
Rodrigues N SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Juan D RoysterGermanyAsiya Javayant NEW
Darci B WhobreyJapanXuxue Feng PROPOSAL
Emily Z MorascaUnited KingdomStephen Shaw NEW
Costa P MarrierBrazilElwin Sharvill UNQUALIFIED
Maisha D MaletJapanAsiya Javayant NEW
Juan V BologniaFranceIvan Magalhaes RENEWAL
Antonio V BowleyFranceAmy Elsner UNQUALIFIED
Leon O MorascaUnited KingdomOnyama Limba UNQUALIFIED
Leon V KolmetzCanadaOnyama Limba PROPOSAL
Izzy Z MaletIndiaIvan Magalhaes RENEWAL
Sinclair P KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Silvio A WaycottUnited KingdomElwin Sharvill QUALIFIED
Costa P NestleCanadaXuxue Feng RENEWAL
Maria I FlosiRussiaIoni Bowcher UNQUALIFIED
Claire J StockhamJapanXuxue Feng QUALIFIED
Leon U FigeroaRussiaOnyama Limba RENEWAL
Kaitlin P RoysterRussiaAsiya Javayant QUALIFIED
Emily G FollerItalyStephen Shaw NEW
Ashley I GlickUnited KingdomBernardo Dominic NEW
Emily R MorascaBrazilElwin Sharvill UNQUALIFIED
Octavia B MorascaJapanOnyama Limba NEGOTIATION
Arvin C MaletUnited KingdomIoni Bowcher UNQUALIFIED
Costa Y DilliardJapanStephen Shaw NEGOTIATION
Francesco F MaletUnited KingdomStephen Shaw NEW
Johnson G GillianArgentinaIvan Magalhaes UNQUALIFIED
Costa G KolmetzAustraliaOnyama Limba NEGOTIATION
Mayumi K PoquetteSpainAnna Fali RENEWAL
Leon I SchemmerAustraliaElwin Sharvill NEW
Smith D KuskoBrazilIvan Magalhaes NEW
Nicolas C CampainCanadaAnna Fali NEGOTIATION
Chavez A VocelkaFranceAmy Elsner NEW
Murillo A FigeroaUnited KingdomStephen Shaw NEGOTIATION
Antonio E BowleyArgentinaIoni Bowcher NEW
Maisha G WhobreyCanadaAmy Elsner UNQUALIFIED
Johnson H RulapaughUnited KingdomBernardo Dominic NEW
Faith L BriddickBrazilStephen Shaw NEW
Johnson O DoeRussiaAmy Elsner RENEWAL
Ricardo T GarufiSpainBernardo Dominic NEW
Misaki P FollerUnited KingdomAnna Fali NEW
Aditya D RoysterIndiaIvan Magalhaes RENEWAL
Stacey M BowleySpainStephen Shaw NEW
Isabel D RimUnited KingdomBernardo Dominic UNQUALIFIED
Aditya Y RulapaughGermanyElwin Sharvill PROPOSAL
Mujtaba P ShinkoAustraliaAmy Elsner UNQUALIFIED
Darci P MacleadCanadaIvan Magalhaes RENEWAL
Costa K NickaJapanIvan Magalhaes PROPOSAL
Salvatore I WhobreyItalyIoni Bowcher NEW
Jefferson Z MaletGermanyAnna Fali QUALIFIED
Maria U BriddickAustraliaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Francesco V SlusarskiJapanIvan Magalhaes QUALIFIED
Kadeem F PoquetteAustraliaOnyama Limba UNQUALIFIED
Maria I RutaArgentinaIoni Bowcher RENEWAL
Smith P FlosiItalyBernardo Dominic NEGOTIATION
Johnson W MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Francesco Y StockhamGermanyAnna Fali QUALIFIED
Jones V MaletGermanyAsiya Javayant RENEWAL
Julie P VocelkaUnited KingdomAmy Elsner QUALIFIED
Salvatore Q GauchoSpainAnna Fali RENEWAL
Stacey O GauchoArgentinaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire V FollerIndia2025-08-15Dorl, James J Esq PROPOSAL10Ivan Magalhaes
1001Salvatore V OldroydCanada2025-08-16Morlong Associates NEGOTIATION22Amy Elsner
1002Francesco P FollerAustralia2025-08-30Feltz Printing Service NEW67Elwin Sharvill
1003Salvatore W CaldareraIndia2025-09-05Printing Dimensions NEGOTIATION72Onyama Limba
1004Maria V TollnerSpain2025-08-13Chemel, James L Cpa RENEWAL46Onyama Limba
1005David K ShinkoItaly2025-08-28Feiner Bros UNQUALIFIED34Ivan Magalhaes
1006Silvio E KolmetzJapan2025-08-18Printing Dimensions UNQUALIFIED9Amy Elsner
1007Octavia R VocelkaFrance2025-09-09Rangoni Of Florence NEGOTIATION67Anna Fali
1008Antonio Y DoeUnited Kingdom2025-09-02Feltz Printing Service QUALIFIED39Ivan Magalhaes
1009Adams E StockhamItaly2025-08-17Printing Dimensions UNQUALIFIED57Ioni Bowcher
1010Deepesh C RulapaughSpain2025-08-19Commercial Press QUALIFIED5Ioni Bowcher
1011Emily L NickaIndia2025-08-14Chapman, Ross E Esq UNQUALIFIED67Ivan Magalhaes
1012Aruna S NickaFrance2025-09-04Rangoni Of Florence QUALIFIED35Xuxue Feng
1013Mujtaba P TollnerBrazil2025-09-09Buckley Miller Wright UNQUALIFIED85Stephen Shaw
1014Mayumi U AmigonFrance2025-08-24Feiner Bros NEGOTIATION72Xuxue Feng
1015Munro C BowleyBrazil2025-08-19Chapman, Ross E Esq RENEWAL15Anna Fali
1016Alejandro T PerinBrazil2025-08-11Chapman, Ross E Esq RENEWAL17Stephen Shaw
1017Aika O FollerIndia2025-08-24Feiner Bros NEW44Xuxue Feng
1018Salvatore I ShinkoAustralia2025-08-11Dorl, James J Esq RENEWAL76Stephen Shaw
1019Tony P FerenczSpain2025-09-02Printing Dimensions UNQUALIFIED68Elwin Sharvill
1020Juan R StensethCanada2025-08-29Printing Dimensions QUALIFIED77Amy Elsner
1021Chavez H CaudyCanada2025-09-06Dorl, James J Esq PROPOSAL19Ioni Bowcher
1022Rodrigues J MorascaUnited Kingdom2025-08-26Dorl, James J Esq NEW3Anna Fali
1023Aditya H MorascaArgentina2025-08-14Chemel, James L Cpa UNQUALIFIED42Stephen Shaw
1024Maria W CampainUnited Kingdom2025-08-14Buckley Miller Wright NEGOTIATION74Amy Elsner
1025Mayumi X WieserAustralia2025-08-19Commercial Press PROPOSAL26Stephen Shaw
1026Jeanfrancois J CaldareraArgentina2025-09-05Dorl, James J Esq PROPOSAL65Asiya Javayant
1027Jennifer M SaylorsIndia2025-09-08Truhlar And Truhlar Attys RENEWAL90Ioni Bowcher
1028Kaitlin L GauchoArgentina2025-08-15Morlong Associates QUALIFIED11Onyama Limba
1029Clifford A SaylorsJapan2025-08-25Feltz Printing Service PROPOSAL47Xuxue Feng
1030Tony V OstroskyRussia2025-09-04Benton, John B Jr UNQUALIFIED31Elwin Sharvill
1031Ivar T KuskoAustralia2025-08-27Chapman, Ross E Esq NEW69Stephen Shaw
1032Leja C FerenczItaly2025-08-27Truhlar And Truhlar Attys NEW65Ioni Bowcher
1033Maria S WaycottBrazil2025-09-01Rangoni Of Florence PROPOSAL39Amy Elsner
1034David S FollerGermany2025-09-01Morlong Associates NEGOTIATION89Amy Elsner
1035Mayumi D SlusarskiGermany2025-09-06King, Christopher A Esq NEGOTIATION55Elwin Sharvill
1036Maria R SaylorsItaly2025-09-08Feiner Bros UNQUALIFIED84Asiya Javayant
1037Jennifer G StockhamAustralia2025-08-17Commercial Press QUALIFIED16Xuxue Feng
1038Smith C GauchoArgentina2025-08-21Chapman, Ross E Esq QUALIFIED92Stephen Shaw
1039Izzy Z GillianCanada2025-08-26Chemel, James L Cpa QUALIFIED79Amy Elsner
1040Aditya P BriddickRussia2025-08-25Rousseaux, Michael Esq NEGOTIATION39Asiya Javayant
1041Alejandro M KolmetzItaly2025-08-31Feiner Bros NEW78Asiya Javayant
1042Aruna X NickaRussia2025-08-29Chemel, James L Cpa QUALIFIED70Anna Fali
1043Aditya P InouyeGermany2025-09-01Truhlar And Truhlar Attys NEW43Anna Fali
1044Ivar E MaletRussia2025-08-31Rangoni Of Florence QUALIFIED89Onyama Limba
1045Stacey F CaldareraRussia2025-08-26Rousseaux, Michael Esq NEGOTIATION14Onyama Limba
1046Leon Y SchemmerCanada2025-09-05Chemel, James L Cpa NEGOTIATION25Elwin Sharvill
1047Juan Z IturbideBrazil2025-08-30Commercial Press NEW79Elwin Sharvill
1048Octavia T RimBrazil2025-08-22Chapman, Ross E Esq RENEWAL15Ioni Bowcher
1049Murillo H WaycottRussia2025-08-30King, Christopher A Esq QUALIFIED47Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F OstroskyJapanAsiya Javayant QUALIFIED
Juan R GlickIndiaIoni Bowcher PROPOSAL
Adams L MaletBrazilOnyama Limba PROPOSAL
Murillo V FerenczAustraliaAsiya Javayant RENEWAL
Leja G MarrierGermanyAmy Elsner NEGOTIATION
Mayumi E AlbaresBrazilAsiya Javayant UNQUALIFIED
Silvio B GlickArgentinaIvan Magalhaes NEW
Salvatore X MacleadFranceAmy Elsner QUALIFIED
Jefferson N CaldareraSpainAsiya Javayant RENEWAL
Maria L WieserGermanyAnna Fali RENEWAL
Adams F TollnerJapanElwin Sharvill RENEWAL
Ashley Q PaprockiIndiaXuxue Feng QUALIFIED
Aruna R GlickSpainAnna Fali RENEWAL
Antonio N GauchoAustraliaXuxue Feng UNQUALIFIED
Deepesh U BologniaUnited KingdomIoni Bowcher PROPOSAL
Greenwood R GlickFranceIoni Bowcher NEGOTIATION
Nicolas U GlickArgentinaAmy Elsner RENEWAL
Aditya Y WhobreyIndiaBernardo Dominic NEGOTIATION
Rodrigues H ButtBrazilIoni Bowcher NEW
Wickens M NickaUnited KingdomXuxue Feng QUALIFIED
Stacey I KolmetzSpainOnyama Limba RENEWAL
Rodrigues F FollerArgentinaIvan Magalhaes RENEWAL
Emily S KolmetzUnited KingdomElwin Sharvill RENEWAL
Murillo J SlusarskiFranceIvan Magalhaes PROPOSAL
Ashley J DoeUnited KingdomBernardo Dominic PROPOSAL
Cody L AlbaresFranceElwin Sharvill QUALIFIED
Francesco G StockhamAustraliaXuxue Feng PROPOSAL
Emily N AmigonUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin I WhobreyIndiaElwin Sharvill NEW
Tony D SchemmerGermanyBernardo Dominic UNQUALIFIED
Adams K RutaItalyBernardo Dominic NEGOTIATION
Jeanfrancois R OldroydIndiaBernardo Dominic NEW
Sinclair E RutaJapanBernardo Dominic RENEWAL
Jefferson M RimFranceAmy Elsner PROPOSAL
Salvatore A NickaFranceElwin Sharvill RENEWAL
Misaki X BriddickCanadaIoni Bowcher PROPOSAL
Leon N FollerCanadaAmy Elsner PROPOSAL
Alejandro Q BowleyRussiaElwin Sharvill NEW
Stacey X ShinkoSpainAsiya Javayant RENEWAL
Nicolas P MacleadItalyBernardo Dominic UNQUALIFIED
Kaitlin J RoysterItalyStephen Shaw NEGOTIATION
Faith S VocelkaItalyAmy Elsner NEGOTIATION
Leja U KuskoIndiaXuxue Feng NEW
Kadeem M VenereFranceAnna Fali RENEWAL
Mayumi O IturbideJapanAmy Elsner RENEWAL
Mujtaba Y GillianAustraliaAnna Fali QUALIFIED
Julie V ShinkoBrazilOnyama Limba PROPOSAL
Cody B KolmetzUnited KingdomOnyama Limba RENEWAL
Emily Q BriddickGermanyAnna Fali NEGOTIATION
Stacey T PaprockiAustraliaIvan Magalhaes RENEWAL
Frozen Columns
Name
Arvin M Caudy
Morrow R Ruta
Nicolas P Foller
Ivar R Butt
Rodrigues F Amigon
Nicolas M Paprocki
Salvatore J Malet
Rodrigues Z Iturbide
Isabel N Vocelka
Rodrigues C Nestle
Alejandro W Iturbide
Munro J Bowley
James U Bolognia
Maria G Kusko
Deepesh G Rim
Julie W Doe
Kaitlin C Bowley
Maria E Bowley
Jefferson C Marrier
Johnson L Chui
Aditya X Flosi
Smith I Maclead
Isabel Y Perin
Wickens N Figeroa
Maria A Stockham
James G Paprocki
Deepesh F Malet
Jennifer Z Ostrosky
Kadeem J Marrier
Silvio A Maclead
James M Schemmer
Wickens J Rulapaugh
Maisha R Paprocki
Octavia Z Marrier
Costa X Shinko
Octavia T Saylors
Adams D Whobrey
Greenwood K Bolognia
Emily T Schemmer
Silvio L Bowley
Salvatore N Ferencz
Francesco G Shinko
Jeanfrancois S Gaucho
Greenwood V Caldarera
Claire Y Malet
Faith Q Whobrey
Adams N Amigon
David E Waycott
Munro F Poquette
Misaki W Inouye
IdCountryDate
1000Spain2025-08-27
1001Italy2025-09-01
1002Spain2025-08-15
1003Australia2025-09-03
1004India2025-09-08
1005India2025-08-11
1006Russia2025-08-12
1007France2025-09-01
1008Italy2025-08-17
1009France2025-09-04
1010Brazil2025-09-06
1011Germany2025-08-11
1012Brazil2025-09-02
1013Australia2025-08-31
1014Brazil2025-08-14
1015India2025-08-28
1016Japan2025-09-02
1017Germany2025-08-16
1018Italy2025-08-31
1019Australia2025-08-22
1020Canada2025-09-02
1021Australia2025-09-07
1022Brazil2025-08-12
1023Italy2025-08-25
1024India2025-08-13
1025United Kingdom2025-09-03
1026Spain2025-08-23
1027Canada2025-08-21
1028Italy2025-08-11
1029Germany2025-08-15
1030Canada2025-08-17
1031India2025-09-09
1032United Kingdom2025-09-06
1033Argentina2025-09-01
1034Brazil2025-09-02
1035India2025-09-02
1036Australia2025-09-03
1037Spain2025-08-30
1038Australia2025-08-27
1039Brazil2025-08-26
1040Russia2025-09-02
1041Germany2025-08-12
1042Germany2025-08-12
1043Germany2025-09-07
1044Japan2025-09-07
1045United Kingdom2025-08-27
1046Canada2025-08-22
1047Germany2025-08-19
1048Australia2025-08-22
1049Australia2025-08-15

On-Demand Data

NameIdCountryDate
Isabel R Nicka1000Brazil2025-08-19
Deepesh U Slusarski1001Argentina2025-08-26
Costa F Gillian1002United Kingdom2025-08-16
Claire X Ostrosky1003Argentina2025-09-09
Johnson A Foller1004Italy2025-08-22
Julie J Stockham1005Spain2025-08-27
Wickens B Wieser1006India2025-08-17
Juan U Caldarera1007Italy2025-08-20
Alejandro L Iturbide1008Spain2025-09-03
Misaki H Sergi1009Russia2025-08-22
Ricardo B Kolmetz1010India2025-08-17
Sinclair Q Rulapaugh1011Japan2025-08-12
Claire J Darakjy1012Argentina2025-08-16
Kadeem P Bolognia1013Germany2025-09-08
Wickens F Nestle1014Japan2025-08-29
Leja D Amigon1015Germany2025-08-12
Nicolas X Chui1016Germany2025-09-06
Aika V Ostrosky1017United Kingdom2025-08-27
Murillo P Foller1018Spain2025-08-31
Julie X Sergi1019Japan2025-08-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika V KolmetzCanadaBernardo Dominic RENEWAL
Cody T SergiSpainIoni Bowcher NEW
Aika S FerenczItalyXuxue Feng NEW
Maria K MorascaRussiaBernardo Dominic PROPOSAL
Isabel L RutaItalyAnna Fali UNQUALIFIED
Wickens R SaylorsSpainStephen Shaw PROPOSAL
Francesco G NickaIndiaAsiya Javayant UNQUALIFIED
Sinclair N GlickGermanyIvan Magalhaes PROPOSAL
Maria L SlusarskiAustraliaXuxue Feng NEW
Sinclair B WhobreyArgentinaAsiya Javayant NEGOTIATION
Emily J GlickRussiaStephen Shaw QUALIFIED
Kadeem C WieserItalyXuxue Feng QUALIFIED
Emily A DilliardFranceAmy Elsner NEW
Kaitlin Q FlosiIndiaOnyama Limba NEW
Deepesh N ShinkoUnited KingdomAnna Fali UNQUALIFIED
Wickens R MorascaUnited KingdomBernardo Dominic NEGOTIATION
James J MacleadUnited KingdomIoni Bowcher RENEWAL
David M GauchoSpainAnna Fali NEW
Stacey Y BriddickAustraliaXuxue Feng UNQUALIFIED
Faith C SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Munro T TollnerSpainStephen Shaw RENEWAL
Francesco V KuskoItalyXuxue Feng NEGOTIATION
Maisha I FollerRussiaXuxue Feng UNQUALIFIED
Aditya D WieserCanadaIvan Magalhaes UNQUALIFIED
Tony E RoysterGermanyAsiya Javayant UNQUALIFIED
Kaitlin U TollnerJapanIvan Magalhaes NEW
Sinclair Z PaprockiArgentinaElwin Sharvill RENEWAL
Smith M PaprockiSpainAsiya Javayant NEW
Francesco G SchemmerUnited KingdomAmy Elsner PROPOSAL
Murillo A NestleSpainOnyama Limba RENEWAL
Octavia M StensethIndiaOnyama Limba UNQUALIFIED
James K DarakjyAustraliaAsiya Javayant NEGOTIATION
Misaki S DarakjyCanadaOnyama Limba PROPOSAL
Greenwood V MarrierSpainXuxue Feng QUALIFIED
Silvio L StockhamRussiaIoni Bowcher PROPOSAL
Sinclair O MaletAustraliaBernardo Dominic NEGOTIATION
Aruna A OldroydUnited KingdomAmy Elsner NEW
Sinclair B RimArgentinaBernardo Dominic NEGOTIATION
Smith I FlosiUnited KingdomAnna Fali NEW
Morrow L SaylorsJapanIvan Magalhaes 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>