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
Aruna U RimArgentinaIvan Magalhaes NEGOTIATION
Tony T DoeBrazilBernardo Dominic NEW
Aika R RimCanadaAnna Fali UNQUALIFIED
Alejandro R BriddickSpainAsiya Javayant RENEWAL
Stacey Y ShinkoUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois X WaycottArgentinaAmy Elsner NEW
Stacey U VocelkaAustraliaAsiya Javayant NEW
Isabel J ChuiJapanElwin Sharvill PROPOSAL
Emily E CampainUnited KingdomBernardo Dominic NEW
Arvin U VocelkaGermanyAsiya Javayant PROPOSAL
Isabel A RulapaughArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois W NickaGermanyIvan Magalhaes NEW
Munro O DarakjyAustraliaElwin Sharvill QUALIFIED
Kadeem G WaycottArgentinaIoni Bowcher UNQUALIFIED
Mayumi N MarrierAustraliaXuxue Feng PROPOSAL
Salvatore A StensethArgentinaIvan Magalhaes UNQUALIFIED
Izzy Q ChuiRussiaStephen Shaw NEGOTIATION
Mujtaba G GlickUnited KingdomAsiya Javayant QUALIFIED
Chavez Y FigeroaCanadaIoni Bowcher NEW
Silvio Z MacleadSpainIvan Magalhaes UNQUALIFIED
Johnson U ShinkoBrazilIoni Bowcher NEW
Deepesh D BowleyItalyElwin Sharvill NEGOTIATION
Octavia F MorascaFranceElwin Sharvill NEGOTIATION
Emily Q GarufiArgentinaOnyama Limba NEGOTIATION
Arvin X FigeroaUnited KingdomAsiya Javayant NEW
Aruna V GarufiSpainIoni Bowcher QUALIFIED
James G NestleCanadaAnna Fali UNQUALIFIED
Izzy H ShinkoArgentinaBernardo Dominic UNQUALIFIED
Mujtaba S FlosiUnited KingdomXuxue Feng PROPOSAL
Francesco Q GillianGermanyOnyama Limba UNQUALIFIED
Wickens Y KuskoArgentinaIvan Magalhaes NEW
David B BologniaBrazilBernardo Dominic RENEWAL
Antonio Y NestleRussiaIvan Magalhaes PROPOSAL
Deepesh P CaldareraJapanAnna Fali NEW
Mayumi I GillianJapanAmy Elsner NEGOTIATION
Nicolas A KolmetzCanadaAsiya Javayant NEGOTIATION
Morrow B SchemmerGermanyAmy Elsner QUALIFIED
Aika I OldroydRussiaIvan Magalhaes NEW
Stacey R AlbaresGermanyAmy Elsner NEGOTIATION
Julie L FigeroaFranceAmy Elsner UNQUALIFIED
Jeanfrancois E AlbaresFranceAnna Fali NEGOTIATION
Maria O MacleadItalyStephen Shaw NEW
Aditya E StockhamUnited KingdomElwin Sharvill PROPOSAL
Smith N FlosiCanadaStephen Shaw RENEWAL
Wickens Z FollerRussiaAsiya Javayant PROPOSAL
Costa L KuskoRussiaXuxue Feng PROPOSAL
Morrow V TollnerJapanAsiya Javayant QUALIFIED
Sinclair T GauchoAustraliaAsiya Javayant RENEWAL
Jeanfrancois I RoysterBrazilElwin Sharvill PROPOSAL
Maria L StockhamItalyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair J FigeroaArgentinaStephen Shaw RENEWAL
Izzy L KuskoFranceBernardo Dominic NEGOTIATION
Salvatore W CaldareraGermanyOnyama Limba RENEWAL
Kadeem G BowleyAustraliaAmy Elsner NEW
Tony N VenereSpainIvan Magalhaes NEGOTIATION
Ivar E IturbideAustraliaAnna Fali RENEWAL
Alejandro U PoquetteRussiaAmy Elsner QUALIFIED
Jefferson R IturbideRussiaAnna Fali NEGOTIATION
Rodrigues U MaletRussiaStephen Shaw QUALIFIED
Johnson N ChuiArgentinaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy M PoquetteJapan2025-08-11Morlong Associates NEGOTIATION96Anna Fali
1001Ricardo B VenereCanada2025-08-17Commercial Press NEGOTIATION9Onyama Limba
1002Aruna W ButtAustralia2025-08-26Truhlar And Truhlar Attys UNQUALIFIED32Elwin Sharvill
1003Misaki D MacleadUnited Kingdom2025-08-15Rangoni Of Florence QUALIFIED21Anna Fali
1004Jones M DoeAustralia2025-08-10Feiner Bros PROPOSAL72Amy Elsner
1005Claire K PerinIndia2025-08-14Feiner Bros NEGOTIATION73Onyama Limba
1006Aruna H SchemmerAustralia2025-07-28Benton, John B Jr RENEWAL1Xuxue Feng
1007Juan D TollnerUnited Kingdom2025-08-24Chanay, Jeffrey A Esq NEW25Stephen Shaw
1008Alejandro P SaylorsJapan2025-08-25King, Christopher A Esq NEGOTIATION63Xuxue Feng
1009Ivar S OldroydSpain2025-08-24Feiner Bros RENEWAL26Elwin Sharvill
1010Octavia E CaldareraBrazil2025-08-11Chapman, Ross E Esq UNQUALIFIED13Stephen Shaw
1011Greenwood J OldroydUnited Kingdom2025-08-21Dorl, James J Esq RENEWAL65Asiya Javayant
1012Sinclair T DoeJapan2025-08-03Morlong Associates NEW45Xuxue Feng
1013Sinclair M CaudyRussia2025-07-28Rangoni Of Florence UNQUALIFIED34Anna Fali
1014Aika A TollnerUnited Kingdom2025-08-12Feltz Printing Service QUALIFIED6Stephen Shaw
1015James W CampainJapan2025-08-03Chanay, Jeffrey A Esq NEW43Anna Fali
1016Julie A PerinArgentina2025-08-06Benton, John B Jr QUALIFIED47Onyama Limba
1017Claire O WaycottIndia2025-07-29Commercial Press NEW8Ivan Magalhaes
1018Aditya O ButtGermany2025-07-28Morlong Associates QUALIFIED35Ioni Bowcher
1019Alejandro Q StensethFrance2025-08-14Commercial Press NEGOTIATION11Stephen Shaw
1020Aruna J RutaRussia2025-08-03King, Christopher A Esq PROPOSAL48Asiya Javayant
1021Jennifer W SlusarskiFrance2025-08-25Morlong Associates RENEWAL6Asiya Javayant
1022Emily D BologniaIndia2025-08-10Feltz Printing Service UNQUALIFIED18Anna Fali
1023Aruna F PaprockiArgentina2025-08-05Benton, John B Jr UNQUALIFIED37Ivan Magalhaes
1024Smith K PerinJapan2025-07-31Truhlar And Truhlar Attys QUALIFIED57Bernardo Dominic
1025Mayumi F SaylorsItaly2025-08-21Buckley Miller Wright UNQUALIFIED5Asiya Javayant
1026Greenwood L KolmetzBrazil2025-08-07Chapman, Ross E Esq PROPOSAL75Amy Elsner
1027James U SaylorsCanada2025-08-09Rangoni Of Florence PROPOSAL99Amy Elsner
1028Alejandro A AlbaresAustralia2025-08-06Commercial Press RENEWAL56Asiya Javayant
1029Julie F ButtItaly2025-08-06Printing Dimensions NEGOTIATION70Xuxue Feng
1030Salvatore D MorascaUnited Kingdom2025-08-05Benton, John B Jr NEW20Amy Elsner
1031Smith T InouyeRussia2025-07-28Chapman, Ross E Esq RENEWAL99Bernardo Dominic
1032Aika L NestleJapan2025-08-21Feiner Bros NEW28Onyama Limba
1033Ricardo L GarufiItaly2025-08-06Feltz Printing Service NEW61Stephen Shaw
1034Antonio W WieserBrazil2025-08-21Commercial Press RENEWAL20Ioni Bowcher
1035Kaitlin M IturbideRussia2025-08-20Buckley Miller Wright NEW50Xuxue Feng
1036Jennifer E MaletItaly2025-08-02Commercial Press RENEWAL24Bernardo Dominic
1037David G DarakjySpain2025-08-07Dorl, James J Esq NEGOTIATION70Anna Fali
1038Costa P MaletAustralia2025-08-09Truhlar And Truhlar Attys PROPOSAL31Amy Elsner
1039Ashley G DarakjyAustralia2025-08-23King, Christopher A Esq UNQUALIFIED32Onyama Limba
1040Costa K VocelkaGermany2025-08-09Chemel, James L Cpa QUALIFIED34Stephen Shaw
1041Aruna K RoysterJapan2025-07-28King, Christopher A Esq PROPOSAL74Asiya Javayant
1042Emily S KuskoFrance2025-08-03King, Christopher A Esq QUALIFIED90Ivan Magalhaes
1043Nicolas E RulapaughFrance2025-08-10Feltz Printing Service NEGOTIATION38Onyama Limba
1044Mayumi R DarakjyItaly2025-08-03Buckley Miller Wright RENEWAL32Anna Fali
1045Izzy R BowleyFrance2025-08-22Rousseaux, Michael Esq RENEWAL44Elwin Sharvill
1046Francesco P StockhamBrazil2025-08-11Rangoni Of Florence NEGOTIATION93Elwin Sharvill
1047Octavia Q WhobreyBrazil2025-08-23Commercial Press NEGOTIATION55Ioni Bowcher
1048Ricardo B GarufiJapan2025-08-08Chemel, James L Cpa PROPOSAL92Elwin Sharvill
1049Isabel E NickaJapan2025-08-19Commercial Press NEW83Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aditya R FigeroaRussiaIvan Magalhaes PROPOSAL
Clifford I StockhamBrazilAnna Fali PROPOSAL
Munro Z WaycottUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois S IturbideJapanAmy Elsner QUALIFIED
Emily D InouyeAustraliaIvan Magalhaes PROPOSAL
Aika D InouyeJapanIvan Magalhaes UNQUALIFIED
Ricardo I TollnerFranceIoni Bowcher NEGOTIATION
Leja R CaldareraAustraliaIoni Bowcher PROPOSAL
Cody A SergiFranceAsiya Javayant NEW
Morrow M MarrierRussiaAmy Elsner NEW
Adams S StensethJapanStephen Shaw NEGOTIATION
Mayumi D FlosiCanadaBernardo Dominic PROPOSAL
Ashley O SergiGermanyStephen Shaw QUALIFIED
Maria D CaldareraFranceElwin Sharvill PROPOSAL
Kadeem B FollerRussiaAsiya Javayant UNQUALIFIED
Greenwood J PoquetteIndiaBernardo Dominic NEW
Misaki W SlusarskiCanadaAmy Elsner QUALIFIED
Leon I RimCanadaStephen Shaw PROPOSAL
Rodrigues Y MorascaAustraliaOnyama Limba UNQUALIFIED
Chavez A SaylorsIndiaElwin Sharvill UNQUALIFIED
Emily J RutaAustraliaXuxue Feng RENEWAL
Maisha P KolmetzArgentinaOnyama Limba NEW
Johnson N SaylorsArgentinaAnna Fali NEW
Chavez S MaletItalyAmy Elsner UNQUALIFIED
Munro V RimCanadaAsiya Javayant NEW
Johnson F FollerUnited KingdomStephen Shaw UNQUALIFIED
Emily O NestleUnited KingdomOnyama Limba RENEWAL
Maria F AmigonIndiaElwin Sharvill UNQUALIFIED
Cody L CampainRussiaBernardo Dominic UNQUALIFIED
Alejandro O FlosiRussiaIvan Magalhaes UNQUALIFIED
Cody J MorascaIndiaIvan Magalhaes QUALIFIED
Leja N PerinUnited KingdomIoni Bowcher PROPOSAL
Chavez M StensethFranceStephen Shaw PROPOSAL
Sinclair O ShinkoBrazilBernardo Dominic RENEWAL
Kadeem S MorascaSpainIvan Magalhaes RENEWAL
Stacey B GarufiAustraliaOnyama Limba RENEWAL
Clifford Y RoysterItalyXuxue Feng UNQUALIFIED
Smith T SchemmerItalyIoni Bowcher RENEWAL
Salvatore Q AlbaresGermanyXuxue Feng NEW
Nicolas R MaletJapanElwin Sharvill RENEWAL
Salvatore X DarakjyCanadaAmy Elsner RENEWAL
Maria S SlusarskiSpainIvan Magalhaes UNQUALIFIED
Wickens D BologniaFranceOnyama Limba UNQUALIFIED
Deepesh H GlickGermanyIvan Magalhaes QUALIFIED
Aruna Q IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba K MaletJapanAsiya Javayant PROPOSAL
Murillo N WhobreyFranceIoni Bowcher NEGOTIATION
Wickens D SergiArgentinaElwin Sharvill NEGOTIATION
Izzy D KuskoBrazilAmy Elsner RENEWAL
David I ButtArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Aika D Garufi
Rodrigues Y Kolmetz
Julie R Vocelka
Jennifer H Kolmetz
Claire A Royster
Alejandro K Saylors
Aika N Bowley
Deepesh R Saylors
Tony E Rulapaugh
David R Morasca
Izzy A Amigon
Faith T Rulapaugh
Stacey S Maclead
Aruna W Schemmer
Adams A Garufi
Maisha F Saylors
Salvatore L Morasca
Mujtaba G Ostrosky
Ivar V Nestle
Cody F Iturbide
Greenwood W Kolmetz
Jones M Sergi
Wickens A Gaucho
Chavez J Rulapaugh
Francesco Z Stenseth
Jennifer H Oldroyd
Arvin A Glick
Misaki D Gaucho
Adams D Shinko
Aruna G Malet
Costa X Campain
Ashley T Albares
Murillo E Malet
Smith H Ruta
James D Stockham
Maria T Stockham
Johnson R Glick
David B Schemmer
Morrow W Nicka
Claire G Caudy
Kadeem C Shinko
Kaitlin M Foller
Juan L Kolmetz
Silvio Y Stockham
Cody K Figeroa
Ivar Y Shinko
Smith A Sergi
Antonio G Perin
Juan W Briddick
Jones T Waycott
IdCountryDate
1000India2025-08-09
1001Argentina2025-08-07
1002India2025-08-10
1003Brazil2025-08-14
1004France2025-08-06
1005Australia2025-08-01
1006Canada2025-08-19
1007Italy2025-08-18
1008Australia2025-08-02
1009Brazil2025-07-30
1010Japan2025-08-02
1011Russia2025-08-10
1012United Kingdom2025-08-05
1013Japan2025-08-12
1014France2025-08-08
1015Argentina2025-08-05
1016Canada2025-08-09
1017Brazil2025-08-17
1018Russia2025-08-07
1019United Kingdom2025-08-03
1020Canada2025-08-16
1021Germany2025-08-16
1022France2025-08-18
1023Germany2025-08-17
1024India2025-08-12
1025Germany2025-08-11
1026United Kingdom2025-08-14
1027France2025-08-01
1028Australia2025-08-26
1029Russia2025-08-11
1030Spain2025-08-19
1031India2025-08-23
1032India2025-08-06
1033Germany2025-08-14
1034Spain2025-08-23
1035Canada2025-08-11
1036Japan2025-08-10
1037India2025-08-03
1038Japan2025-08-11
1039Argentina2025-08-25
1040Brazil2025-08-01
1041Canada2025-08-26
1042Russia2025-08-07
1043Japan2025-08-08
1044Germany2025-07-28
1045Argentina2025-08-21
1046Germany2025-08-03
1047Canada2025-07-31
1048United Kingdom2025-08-12
1049Russia2025-08-20

On-Demand Data

NameIdCountryDate
Mayumi W Nicka1000United Kingdom2025-08-06
Mujtaba L Shinko1001Canada2025-08-04
Isabel T Venere1002Spain2025-08-10
Aditya L Rulapaugh1003Japan2025-08-07
Octavia U Marrier1004Canada2025-08-24
Mujtaba Q Gaucho1005Argentina2025-08-23
Murillo D Oldroyd1006Germany2025-08-23
Cody Y Sergi1007Japan2025-08-04
Julie W Marrier1008France2025-08-22
Antonio D Briddick1009India2025-08-03
Cody T Sergi1010Italy2025-08-21
Salvatore B Flosi1011India2025-08-22
Salvatore V Maclead1012Spain2025-08-13
James I Oldroyd1013India2025-08-21
Aditya G Campain1014United Kingdom2025-08-09
Jeanfrancois L Morasca1015Germany2025-08-03
Greenwood I Glick1016Canada2025-08-14
Ivar B Ferencz1017Italy2025-08-07
Stacey Z Venere1018United Kingdom2025-08-12
Darci L Slusarski1019Australia2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois D DoeSpainOnyama Limba UNQUALIFIED
Leja N DarakjyArgentinaXuxue Feng NEW
Isabel E BowleyArgentinaAsiya Javayant NEW
Octavia Q AmigonSpainIoni Bowcher NEGOTIATION
Aruna I MacleadSpainAmy Elsner QUALIFIED
Johnson S DilliardUnited KingdomAsiya Javayant NEW
Mujtaba G FlosiUnited KingdomAnna Fali NEW
Cody H NestleUnited KingdomAnna Fali NEGOTIATION
Silvio K GlickArgentinaBernardo Dominic QUALIFIED
Mayumi R MarrierFranceBernardo Dominic NEGOTIATION
Maisha Z WieserBrazilAnna Fali PROPOSAL
Francesco N RimCanadaElwin Sharvill UNQUALIFIED
Emily Q AlbaresArgentinaElwin Sharvill QUALIFIED
Adams M SchemmerIndiaAnna Fali PROPOSAL
Claire X ChuiBrazilAsiya Javayant NEW
Faith O WieserBrazilElwin Sharvill PROPOSAL
Smith Q BowleyFranceAmy Elsner NEW
Julie F BriddickGermanyOnyama Limba RENEWAL
Claire C VocelkaItalyBernardo Dominic PROPOSAL
Smith J BologniaSpainAnna Fali NEGOTIATION
Nicolas A NickaJapanIvan Magalhaes PROPOSAL
Maisha F MarrierSpainAsiya Javayant QUALIFIED
Aruna G CaudySpainAnna Fali PROPOSAL
Johnson I PerinFranceBernardo Dominic NEGOTIATION
Leon R GauchoAustraliaOnyama Limba UNQUALIFIED
Francesco C IturbideIndiaAsiya Javayant NEGOTIATION
Maria W SlusarskiCanadaAmy Elsner UNQUALIFIED
Alejandro Y TollnerCanadaBernardo Dominic UNQUALIFIED
Izzy N WhobreyArgentinaBernardo Dominic NEGOTIATION
Octavia L MaletFranceIoni Bowcher RENEWAL
Emily O WieserCanadaElwin Sharvill RENEWAL
Antonio N NickaIndiaIvan Magalhaes RENEWAL
Silvio K PoquetteGermanyStephen Shaw QUALIFIED
Costa I DoeBrazilAnna Fali RENEWAL
Smith O SergiBrazilBernardo Dominic QUALIFIED
Costa Y MaletCanadaAnna Fali QUALIFIED
Antonio J RutaGermanyAnna Fali UNQUALIFIED
Salvatore S VenereSpainStephen Shaw PROPOSAL
Aditya L VocelkaCanadaIoni Bowcher NEW
Isabel D KuskoSpainBernardo Dominic PROPOSAL

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