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 C PoquetteItalyIoni Bowcher RENEWAL
David C KuskoAustraliaAnna Fali QUALIFIED
Kaitlin P KuskoGermanyAsiya Javayant UNQUALIFIED
Aditya T NestleItalyAsiya Javayant NEW
Deepesh Z StensethFranceXuxue Feng RENEWAL
Costa S CaudySpainStephen Shaw PROPOSAL
Claire A KuskoRussiaIvan Magalhaes NEGOTIATION
Costa Y KuskoArgentinaIoni Bowcher RENEWAL
Ivar Q OldroydGermanyElwin Sharvill UNQUALIFIED
Antonio Y OldroydSpainStephen Shaw QUALIFIED
Cody K VenereIndiaElwin Sharvill NEGOTIATION
Darci E NickaRussiaAmy Elsner NEGOTIATION
Ricardo R RimRussiaIoni Bowcher UNQUALIFIED
Aruna G DoeItalyElwin Sharvill RENEWAL
Octavia Z WieserBrazilBernardo Dominic UNQUALIFIED
Wickens K RimJapanOnyama Limba NEGOTIATION
Mujtaba W VenereSpainAsiya Javayant PROPOSAL
James M StockhamItalyIvan Magalhaes NEGOTIATION
Munro U KuskoJapanAsiya Javayant NEGOTIATION
Ivar H OldroydUnited KingdomAmy Elsner QUALIFIED
Leja E NestleGermanyOnyama Limba PROPOSAL
Ricardo K InouyeJapanBernardo Dominic RENEWAL
Antonio F ButtItalyOnyama Limba QUALIFIED
Aika O WaycottAustraliaIoni Bowcher QUALIFIED
Jones M RoysterFranceIvan Magalhaes QUALIFIED
Faith P GlickItalyOnyama Limba QUALIFIED
Greenwood Q OldroydItalyIoni Bowcher UNQUALIFIED
Maisha H PoquetteIndiaIoni Bowcher RENEWAL
Chavez T BriddickBrazilIoni Bowcher RENEWAL
Jeanfrancois J KuskoRussiaOnyama Limba NEGOTIATION
Sinclair V DilliardCanadaOnyama Limba NEGOTIATION
Tony I RulapaughFranceAnna Fali PROPOSAL
Jeanfrancois O RutaIndiaAnna Fali UNQUALIFIED
Ricardo U CaldareraAustraliaIvan Magalhaes NEW
Tony W RutaUnited KingdomAsiya Javayant NEGOTIATION
Nicolas X AlbaresCanadaIoni Bowcher RENEWAL
David O CaudyAustraliaIvan Magalhaes RENEWAL
Ricardo D GarufiRussiaBernardo Dominic NEW
Juan R ButtUnited KingdomElwin Sharvill NEGOTIATION
Costa H ButtSpainOnyama Limba NEGOTIATION
Costa S ShinkoUnited KingdomAmy Elsner NEGOTIATION
Leon H ButtItalyIoni Bowcher NEW
Mujtaba C FerenczJapanOnyama Limba PROPOSAL
Deepesh V KolmetzAustraliaAnna Fali RENEWAL
Sinclair U KolmetzItalyAnna Fali QUALIFIED
Munro F GarufiArgentinaAmy Elsner QUALIFIED
Emily R DarakjyGermanyAnna Fali NEW
Ivar X OstroskyArgentinaAmy Elsner NEW
Deepesh C BriddickFranceAnna Fali QUALIFIED
Isabel X AmigonArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer M WieserArgentinaAmy Elsner QUALIFIED
Ricardo B ShinkoRussiaIvan Magalhaes RENEWAL
Emily K PoquetteJapanAmy Elsner NEW
Aika Y SchemmerGermanyOnyama Limba NEW
Emily N PaprockiCanadaIoni Bowcher PROPOSAL
Adams G WieserCanadaAsiya Javayant NEW
Sinclair L MacleadGermanyBernardo Dominic NEGOTIATION
David L BowleyArgentinaStephen Shaw QUALIFIED
Misaki Q InouyeUnited KingdomStephen Shaw RENEWAL
Leja V DarakjyFranceIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow N BologniaJapan2025-08-11Commercial Press NEGOTIATION25Ivan Magalhaes
1001James E WaycottGermany2025-08-03Buckley Miller Wright UNQUALIFIED39Elwin Sharvill
1002Darci T SlusarskiArgentina2025-08-03Morlong Associates PROPOSAL67Xuxue Feng
1003Maisha D PaprockiArgentina2025-07-21King, Christopher A Esq PROPOSAL6Stephen Shaw
1004Izzy Y GauchoItaly2025-07-17Printing Dimensions NEGOTIATION61Ivan Magalhaes
1005Johnson B ShinkoItaly2025-07-16Morlong Associates PROPOSAL47Anna Fali
1006Juan K MarrierBrazil2025-07-18Chanay, Jeffrey A Esq UNQUALIFIED74Xuxue Feng
1007Ashley H VocelkaIndia2025-07-16Commercial Press NEW13Stephen Shaw
1008Francesco O VocelkaIndia2025-08-02Feltz Printing Service NEGOTIATION20Ivan Magalhaes
1009Leon E OldroydUnited Kingdom2025-08-07Morlong Associates PROPOSAL19Xuxue Feng
1010Jones E ShinkoIndia2025-07-31Chapman, Ross E Esq UNQUALIFIED70Ivan Magalhaes
1011Aruna Z WhobreyArgentina2025-07-15Chanay, Jeffrey A Esq RENEWAL75Bernardo Dominic
1012Munro E GlickItaly2025-08-09Rousseaux, Michael Esq PROPOSAL67Ioni Bowcher
1013Francesco X WieserBrazil2025-08-03Chemel, James L Cpa QUALIFIED12Ivan Magalhaes
1014Emily N CaldareraGermany2025-07-21Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1015Aditya K CaudyGermany2025-07-28King, Christopher A Esq QUALIFIED50Ioni Bowcher
1016Nicolas S KuskoSpain2025-07-19Chemel, James L Cpa QUALIFIED14Asiya Javayant
1017Francesco A InouyeArgentina2025-08-06King, Christopher A Esq PROPOSAL10Xuxue Feng
1018Alejandro A GillianIndia2025-07-17Buckley Miller Wright RENEWAL10Anna Fali
1019Jones G InouyeIndia2025-08-06Rangoni Of Florence UNQUALIFIED27Onyama Limba
1020Chavez H GauchoRussia2025-07-19Dorl, James J Esq UNQUALIFIED35Xuxue Feng
1021Cody V IturbideUnited Kingdom2025-07-25Feltz Printing Service PROPOSAL69Bernardo Dominic
1022Aditya M WieserArgentina2025-08-02Printing Dimensions QUALIFIED97Ioni Bowcher
1023Murillo W InouyeIndia2025-08-12Rangoni Of Florence UNQUALIFIED25Ivan Magalhaes
1024Alejandro D MorascaArgentina2025-08-09Printing Dimensions UNQUALIFIED67Stephen Shaw
1025Mayumi A VocelkaSpain2025-07-15Truhlar And Truhlar Attys QUALIFIED56Xuxue Feng
1026Juan R RutaFrance2025-07-28Dorl, James J Esq RENEWAL31Elwin Sharvill
1027David W PerinArgentina2025-07-24Truhlar And Truhlar Attys RENEWAL94Bernardo Dominic
1028Stacey L ChuiUnited Kingdom2025-07-28King, Christopher A Esq PROPOSAL50Asiya Javayant
1029Murillo N NickaRussia2025-07-28Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1030Francesco I RutaCanada2025-08-10Feiner Bros PROPOSAL61Stephen Shaw
1031Ashley B WhobreyItaly2025-08-02Commercial Press NEGOTIATION30Asiya Javayant
1032Izzy R WhobreyRussia2025-07-26Rousseaux, Michael Esq QUALIFIED44Anna Fali
1033Tony V RutaAustralia2025-07-29Buckley Miller Wright NEGOTIATION38Stephen Shaw
1034Tony A MarrierJapan2025-07-22Rousseaux, Michael Esq QUALIFIED19Asiya Javayant
1035Emily X VocelkaJapan2025-07-25Printing Dimensions QUALIFIED39Stephen Shaw
1036Juan H DoeGermany2025-08-10Rangoni Of Florence NEW56Anna Fali
1037Chavez I CaudyBrazil2025-08-12Dorl, James J Esq RENEWAL81Asiya Javayant
1038Murillo V CaudyRussia2025-08-04Morlong Associates NEGOTIATION6Amy Elsner
1039Faith S GillianSpain2025-07-18Rousseaux, Michael Esq QUALIFIED85Ivan Magalhaes
1040Chavez R PerinAustralia2025-08-12Truhlar And Truhlar Attys UNQUALIFIED35Anna Fali
1041Deepesh D NickaItaly2025-07-26Benton, John B Jr QUALIFIED38Ioni Bowcher
1042Kadeem K MaletGermany2025-07-23Buckley Miller Wright QUALIFIED56Bernardo Dominic
1043Nicolas S RulapaughSpain2025-07-21Rangoni Of Florence PROPOSAL62Asiya Javayant
1044Greenwood D FlosiUnited Kingdom2025-07-23Rousseaux, Michael Esq QUALIFIED4Anna Fali
1045Maria W MaletJapan2025-08-12Chemel, James L Cpa RENEWAL8Xuxue Feng
1046Jennifer U SaylorsAustralia2025-08-01Chanay, Jeffrey A Esq UNQUALIFIED87Onyama Limba
1047Jones E KuskoUnited Kingdom2025-07-23Benton, John B Jr RENEWAL2Ivan Magalhaes
1048Claire V KuskoCanada2025-08-12Rangoni Of Florence UNQUALIFIED90Anna Fali
1049Adams J MarrierGermany2025-07-30Chemel, James L Cpa QUALIFIED78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A CaldareraSpainBernardo Dominic NEW
Emily K FerenczSpainAmy Elsner PROPOSAL
Jeanfrancois O ShinkoUnited KingdomBernardo Dominic NEW
Nicolas X CaldareraIndiaAsiya Javayant UNQUALIFIED
Greenwood F KolmetzBrazilStephen Shaw NEGOTIATION
Smith B FerenczGermanyAnna Fali NEW
Emily W SlusarskiJapanAmy Elsner RENEWAL
Ricardo X PoquetteUnited KingdomAnna Fali NEW
Silvio O DoeSpainOnyama Limba NEW
Ashley A OstroskyFranceIvan Magalhaes PROPOSAL
Jones N RutaItalyIoni Bowcher RENEWAL
Nicolas O DilliardItalyAmy Elsner RENEWAL
Jefferson Y AmigonGermanyOnyama Limba UNQUALIFIED
Aditya W SlusarskiIndiaIoni Bowcher RENEWAL
Ricardo O TollnerItalyBernardo Dominic PROPOSAL
Jennifer W ButtUnited KingdomElwin Sharvill PROPOSAL
Claire Q MaletArgentinaAsiya Javayant UNQUALIFIED
Rodrigues E SlusarskiCanadaOnyama Limba PROPOSAL
Ashley B NestleArgentinaIvan Magalhaes NEW
Cody R BowleyRussiaXuxue Feng UNQUALIFIED
Stacey M VocelkaFranceIoni Bowcher QUALIFIED
Morrow Z SlusarskiSpainStephen Shaw QUALIFIED
Antonio P MorascaGermanyAnna Fali PROPOSAL
Murillo O BologniaGermanyAmy Elsner RENEWAL
Faith N FlosiArgentinaXuxue Feng RENEWAL
Tony S MorascaGermanyBernardo Dominic RENEWAL
Silvio E DoeBrazilBernardo Dominic NEW
Morrow S SaylorsItalyBernardo Dominic RENEWAL
Juan Z PaprockiRussiaStephen Shaw RENEWAL
Arvin Y CampainItalyAnna Fali PROPOSAL
David D AmigonRussiaAmy Elsner NEGOTIATION
Clifford Q MaletArgentinaXuxue Feng PROPOSAL
Ivar G RimBrazilBernardo Dominic UNQUALIFIED
Ashley Z FigeroaCanadaBernardo Dominic NEW
Antonio P OstroskyFranceOnyama Limba RENEWAL
Emily P CampainBrazilAmy Elsner QUALIFIED
David I BologniaBrazilXuxue Feng RENEWAL
Faith E FerenczArgentinaIoni Bowcher PROPOSAL
Francesco L CaudySpainStephen Shaw RENEWAL
Murillo Y GauchoBrazilXuxue Feng QUALIFIED
Jeanfrancois U AmigonArgentinaAsiya Javayant UNQUALIFIED
Emily B BriddickItalyOnyama Limba RENEWAL
Juan F AlbaresCanadaElwin Sharvill NEGOTIATION
Emily H NestleUnited KingdomAnna Fali NEW
Cody O AmigonBrazilIoni Bowcher NEW
Costa N PerinUnited KingdomStephen Shaw UNQUALIFIED
Julie M SergiAustraliaBernardo Dominic PROPOSAL
Ricardo X MarrierAustraliaIoni Bowcher PROPOSAL
James V GauchoSpainAnna Fali QUALIFIED
Ricardo F BriddickItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Isabel G Schemmer
Jefferson W Briddick
Adams V Paprocki
Johnson T Doe
Cody U Inouye
Emily T Bolognia
Maria P Briddick
Mayumi X Vocelka
David D Albares
Arvin E Ruta
Leja B Stenseth
Octavia V Foller
Silvio W Butt
Nicolas U Slusarski
Smith Z Stenseth
Mayumi Z Poquette
Stacey L Ostrosky
Silvio G Garufi
Juan E Slusarski
Silvio Q Garufi
Clifford J Poquette
David P Shinko
Leja O Malet
Deepesh J Darakjy
Juan N Tollner
Darci A Venere
Aruna B Maclead
Aruna Q Wieser
Chavez L Malet
Johnson A Ferencz
Ivar T Ferencz
Octavia N Oldroyd
Munro D Ruta
Mujtaba U Poquette
Johnson I Bolognia
Rodrigues K Dilliard
Aruna Y Poquette
Emily T Doe
Izzy Z Garufi
Deepesh T Stockham
Octavia O Vocelka
Francesco P Bowley
Kaitlin P Malet
Darci W Ferencz
Claire W Poquette
Rodrigues U Campain
Chavez P Rulapaugh
Nicolas B Inouye
Ricardo K Whobrey
Tony Q Dilliard
IdCountryDate
1000Germany2025-08-12
1001Japan2025-08-12
1002Italy2025-07-27
1003France2025-07-17
1004Germany2025-07-23
1005France2025-07-27
1006Argentina2025-08-03
1007Japan2025-07-29
1008Australia2025-08-02
1009Germany2025-08-06
1010Spain2025-08-03
1011Australia2025-08-05
1012Italy2025-08-12
1013Brazil2025-07-15
1014Japan2025-07-23
1015Russia2025-08-11
1016France2025-08-04
1017Australia2025-07-28
1018Germany2025-07-15
1019Canada2025-08-06
1020Spain2025-07-30
1021United Kingdom2025-07-22
1022Australia2025-07-17
1023India2025-08-05
1024Argentina2025-08-06
1025United Kingdom2025-07-17
1026Germany2025-08-03
1027Argentina2025-08-11
1028India2025-08-08
1029Spain2025-08-06
1030Argentina2025-07-30
1031Russia2025-08-11
1032Italy2025-08-06
1033Russia2025-07-21
1034India2025-08-06
1035Russia2025-08-08
1036India2025-07-27
1037Canada2025-08-08
1038Italy2025-07-15
1039India2025-08-06
1040Argentina2025-08-10
1041Japan2025-08-04
1042Brazil2025-08-06
1043United Kingdom2025-08-06
1044Argentina2025-07-19
1045France2025-07-29
1046France2025-07-25
1047United Kingdom2025-07-20
1048Italy2025-07-16
1049India2025-08-05

On-Demand Data

NameIdCountryDate
Costa N Doe1000France2025-07-18
Deepesh L Saylors1001Spain2025-08-08
Clifford U Tollner1002France2025-08-06
Stacey Z Rulapaugh1003Germany2025-07-27
Nicolas B Rulapaugh1004Spain2025-08-09
David U Bolognia1005Canada2025-08-10
Jennifer B Bowley1006Japan2025-08-09
Mujtaba E Ruta1007Italy2025-08-09
Alejandro D Amigon1008Spain2025-08-05
Tony C Malet1009Brazil2025-08-01
Julie I Figeroa1010France2025-07-14
Murillo B Amigon1011United Kingdom2025-08-07
Jefferson G Royster1012Japan2025-08-10
Julie Q Perin1013France2025-08-09
Antonio Y Gillian1014Argentina2025-08-02
David C Royster1015Italy2025-07-19
Mujtaba R Kusko1016Germany2025-08-03
Aika T Caudy1017Canada2025-08-04
Deepesh Y Slusarski1018Italy2025-08-10
Jennifer Z Wieser1019Russia2025-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith X AmigonJapanAmy Elsner NEGOTIATION
Murillo Q RulapaughGermanyStephen Shaw NEW
Maria W MarrierUnited KingdomBernardo Dominic NEGOTIATION
Smith B ShinkoAustraliaAsiya Javayant UNQUALIFIED
Mujtaba A PaprockiAustraliaElwin Sharvill QUALIFIED
Chavez W MarrierArgentinaAnna Fali RENEWAL
Costa M PerinAustraliaAnna Fali NEGOTIATION
Faith F OstroskyArgentinaElwin Sharvill PROPOSAL
Silvio U MorascaJapanIoni Bowcher NEGOTIATION
Darci W SlusarskiGermanyAmy Elsner NEW
David L MorascaArgentinaBernardo Dominic UNQUALIFIED
Juan S StockhamSpainIvan Magalhaes UNQUALIFIED
Kaitlin W RoysterCanadaStephen Shaw NEW
David S AlbaresUnited KingdomXuxue Feng NEW
Jones A ShinkoJapanElwin Sharvill QUALIFIED
Adams Z AmigonSpainStephen Shaw RENEWAL
Greenwood Y WaycottRussiaStephen Shaw NEW
Aika P FollerArgentinaBernardo Dominic RENEWAL
Clifford N WieserUnited KingdomOnyama Limba QUALIFIED
Clifford D NickaJapanElwin Sharvill PROPOSAL
Francesco X AmigonAustraliaIvan Magalhaes NEGOTIATION
Salvatore L CaldareraBrazilStephen Shaw RENEWAL
Jennifer P BowleyFranceIvan Magalhaes RENEWAL
Arvin N PerinCanadaOnyama Limba QUALIFIED
Sinclair S VocelkaIndiaAsiya Javayant UNQUALIFIED
James D KolmetzFranceAsiya Javayant RENEWAL
James B KuskoGermanyElwin Sharvill RENEWAL
Ricardo J FigeroaSpainAnna Fali QUALIFIED
Silvio O InouyeItalyBernardo Dominic PROPOSAL
Salvatore G MarrierAustraliaIoni Bowcher NEGOTIATION
Darci G IturbideAustraliaAsiya Javayant PROPOSAL
Jones Z SchemmerSpainAmy Elsner PROPOSAL
Wickens A KolmetzJapanIoni Bowcher UNQUALIFIED
Leja S ShinkoUnited KingdomAnna Fali NEGOTIATION
Kadeem U MaletCanadaElwin Sharvill NEGOTIATION
Mayumi E RulapaughRussiaOnyama Limba PROPOSAL
Mujtaba Q StensethItalyStephen Shaw UNQUALIFIED
Leon Q NickaAustraliaIoni Bowcher PROPOSAL
James O RulapaughFranceXuxue Feng PROPOSAL
Murillo X NickaCanadaAnna Fali RENEWAL

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