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
Ricardo E DoeBrazilAmy Elsner NEW
Morrow Q OstroskyUnited KingdomBernardo Dominic RENEWAL
Izzy O CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Emily V KolmetzArgentinaBernardo Dominic NEW
Stacey L StensethFranceAsiya Javayant NEW
Mujtaba I FlosiRussiaElwin Sharvill PROPOSAL
Deepesh O MarrierSpainIoni Bowcher UNQUALIFIED
Jefferson C WhobreyGermanyOnyama Limba NEW
Kadeem K StockhamAustraliaAmy Elsner PROPOSAL
Aruna E GillianAustraliaAnna Fali UNQUALIFIED
Juan Q TollnerBrazilStephen Shaw RENEWAL
Silvio G MaletCanadaOnyama Limba NEW
Ashley B WhobreyIndiaElwin Sharvill QUALIFIED
Aika S WhobreyIndiaIvan Magalhaes NEGOTIATION
Darci N CaldareraGermanyStephen Shaw NEW
Chavez D FollerBrazilXuxue Feng QUALIFIED
Adams N MaletGermanyIvan Magalhaes NEW
Cody Y MaletIndiaElwin Sharvill RENEWAL
Ricardo I FigeroaBrazilAsiya Javayant RENEWAL
Stacey N GlickRussiaIvan Magalhaes QUALIFIED
Emily J MaletAustraliaXuxue Feng PROPOSAL
Wickens S PaprockiSpainAnna Fali RENEWAL
Claire O IturbideAustraliaAsiya Javayant QUALIFIED
Johnson Q SaylorsGermanyOnyama Limba NEGOTIATION
Izzy G SchemmerSpainBernardo Dominic PROPOSAL
Francesco M BologniaArgentinaElwin Sharvill NEGOTIATION
Arvin A RutaBrazilStephen Shaw QUALIFIED
Kadeem J WieserSpainAnna Fali RENEWAL
Greenwood O StockhamAustraliaAsiya Javayant UNQUALIFIED
Ashley W PaprockiFranceXuxue Feng NEGOTIATION
Sinclair D SaylorsItalyIvan Magalhaes NEW
Darci E MarrierItalyElwin Sharvill UNQUALIFIED
Jennifer G OldroydIndiaIoni Bowcher NEW
Aditya B CampainBrazilElwin Sharvill NEW
Johnson K MorascaFranceBernardo Dominic PROPOSAL
Maria D GarufiGermanyAmy Elsner QUALIFIED
Deepesh X StockhamRussiaStephen Shaw QUALIFIED
Jeanfrancois J WaycottCanadaStephen Shaw UNQUALIFIED
Munro P WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Tony R DilliardCanadaXuxue Feng NEGOTIATION
Juan I IturbideCanadaElwin Sharvill PROPOSAL
Chavez U GillianFranceXuxue Feng PROPOSAL
Ricardo L ChuiCanadaIvan Magalhaes QUALIFIED
Aika U VenereCanadaStephen Shaw NEGOTIATION
Maisha J ChuiGermanyElwin Sharvill QUALIFIED
Salvatore J MaletFranceAmy Elsner UNQUALIFIED
Leon A CampainAustraliaXuxue Feng PROPOSAL
Mayumi K IturbideItalyXuxue Feng NEW
Aruna D CampainRussiaAnna Fali NEGOTIATION
Juan J FigeroaSpainIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore N MorascaJapanElwin Sharvill NEW
Mujtaba K RimItalyOnyama Limba NEW
Francesco N FerenczJapanIoni Bowcher NEW
Julie C CampainCanadaBernardo Dominic RENEWAL
Kadeem J TollnerCanadaIvan Magalhaes QUALIFIED
Julie D InouyeArgentinaIvan Magalhaes PROPOSAL
Silvio H ButtGermanyOnyama Limba NEGOTIATION
Claire I BowleyRussiaOnyama Limba UNQUALIFIED
Cody C BowleyCanadaAnna Fali UNQUALIFIED
Isabel U RoysterItalyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody S FollerGermany2025-08-27Chemel, James L Cpa QUALIFIED66Anna Fali
1001Silvio Z RutaIndia2025-09-04Chemel, James L Cpa QUALIFIED80Xuxue Feng
1002Izzy E FerenczFrance2025-09-16Feiner Bros UNQUALIFIED8Elwin Sharvill
1003Izzy X RulapaughUnited Kingdom2025-08-25King, Christopher A Esq NEW40Xuxue Feng
1004Juan I GillianRussia2025-09-23Morlong Associates UNQUALIFIED44Anna Fali
1005Maria A AmigonCanada2025-09-02Feltz Printing Service UNQUALIFIED23Ioni Bowcher
1006Francesco U GauchoBrazil2025-08-27Feltz Printing Service NEW43Amy Elsner
1007Smith U BriddickCanada2025-09-21Dorl, James J Esq RENEWAL58Stephen Shaw
1008David Y MaletItaly2025-09-23Morlong Associates PROPOSAL63Ivan Magalhaes
1009Tony O NickaAustralia2025-09-05Chapman, Ross E Esq QUALIFIED95Xuxue Feng
1010Maisha I CaudyRussia2025-09-20Morlong Associates RENEWAL22Xuxue Feng
1011Jefferson C DoeAustralia2025-09-01Truhlar And Truhlar Attys NEW31Amy Elsner
1012Alejandro V FollerItaly2025-08-31Dorl, James J Esq RENEWAL49Elwin Sharvill
1013Jefferson V AmigonGermany2025-08-27Chanay, Jeffrey A Esq NEW45Anna Fali
1014Darci N DilliardArgentina2025-08-28King, Christopher A Esq RENEWAL19Onyama Limba
1015Leon C VocelkaUnited Kingdom2025-09-18Truhlar And Truhlar Attys QUALIFIED1Ioni Bowcher
1016Arvin W SaylorsFrance2025-09-15Buckley Miller Wright UNQUALIFIED49Amy Elsner
1017Greenwood U MaletRussia2025-09-19Chanay, Jeffrey A Esq NEW27Amy Elsner
1018Johnson Y StockhamAustralia2025-09-08Benton, John B Jr PROPOSAL24Asiya Javayant
1019Misaki Q StockhamRussia2025-09-06Truhlar And Truhlar Attys QUALIFIED34Bernardo Dominic
1020Aruna H RoysterJapan2025-08-25Benton, John B Jr QUALIFIED79Ioni Bowcher
1021Maria A FollerGermany2025-09-22Truhlar And Truhlar Attys NEGOTIATION87Ioni Bowcher
1022Kaitlin X DoeArgentina2025-09-11Commercial Press UNQUALIFIED10Stephen Shaw
1023Jones R VocelkaCanada2025-09-04Commercial Press UNQUALIFIED86Xuxue Feng
1024Aditya U OldroydUnited Kingdom2025-09-17Chapman, Ross E Esq RENEWAL48Ivan Magalhaes
1025Leja H CaudySpain2025-09-21King, Christopher A Esq PROPOSAL36Elwin Sharvill
1026Greenwood W KolmetzGermany2025-09-02King, Christopher A Esq NEW74Anna Fali
1027Aditya X KolmetzSpain2025-09-19Buckley Miller Wright NEGOTIATION39Stephen Shaw
1028Juan W MaletArgentina2025-09-23Rousseaux, Michael Esq NEGOTIATION4Stephen Shaw
1029Maisha D KuskoFrance2025-09-03Feltz Printing Service PROPOSAL90Onyama Limba
1030Smith Y GlickJapan2025-08-29Dorl, James J Esq PROPOSAL33Onyama Limba
1031Kaitlin L MarrierArgentina2025-09-02Dorl, James J Esq QUALIFIED32Amy Elsner
1032Jennifer N SlusarskiFrance2025-09-16Truhlar And Truhlar Attys NEW40Bernardo Dominic
1033Isabel B SchemmerJapan2025-09-12Chanay, Jeffrey A Esq PROPOSAL58Ioni Bowcher
1034Ashley N VocelkaArgentina2025-08-29Morlong Associates RENEWAL78Ivan Magalhaes
1035Deepesh L ButtBrazil2025-09-14Morlong Associates PROPOSAL79Ivan Magalhaes
1036Jefferson J CampainBrazil2025-09-21Buckley Miller Wright NEW49Anna Fali
1037Johnson C PaprockiGermany2025-08-25Feltz Printing Service PROPOSAL90Anna Fali
1038Cody W BriddickUnited Kingdom2025-08-30King, Christopher A Esq QUALIFIED32Amy Elsner
1039Aruna G FlosiFrance2025-09-14Buckley Miller Wright UNQUALIFIED90Ioni Bowcher
1040Greenwood N BologniaFrance2025-09-19Feiner Bros PROPOSAL16Onyama Limba
1041Octavia S FlosiIndia2025-09-16Feltz Printing Service PROPOSAL28Bernardo Dominic
1042Kaitlin Z StensethJapan2025-09-16Feltz Printing Service QUALIFIED32Onyama Limba
1043Smith O VocelkaArgentina2025-08-28Morlong Associates RENEWAL59Elwin Sharvill
1044Sinclair U BowleyRussia2025-09-03Feltz Printing Service PROPOSAL41Bernardo Dominic
1045Salvatore F ChuiArgentina2025-09-16Rousseaux, Michael Esq PROPOSAL12Bernardo Dominic
1046Jennifer Z MarrierIndia2025-09-18Commercial Press PROPOSAL54Bernardo Dominic
1047Arvin P NestleRussia2025-08-31Dorl, James J Esq QUALIFIED15Amy Elsner
1048Ivar O VenereUnited Kingdom2025-09-23Morlong Associates NEGOTIATION36Bernardo Dominic
1049Stacey R OldroydItaly2025-09-07Chapman, Ross E Esq UNQUALIFIED31Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Cody Z ButtBrazilBernardo Dominic UNQUALIFIED
Aruna J CaldareraItalyAnna Fali NEGOTIATION
Cody I GauchoUnited KingdomAnna Fali QUALIFIED
Julie F GauchoItalyAsiya Javayant UNQUALIFIED
Jones E FigeroaCanadaBernardo Dominic PROPOSAL
Silvio P CampainIndiaElwin Sharvill NEGOTIATION
Leja B FerenczCanadaIvan Magalhaes RENEWAL
Morrow G DarakjyGermanyIoni Bowcher QUALIFIED
Jones Y StensethUnited KingdomIvan Magalhaes NEGOTIATION
Jones Z RulapaughRussiaAmy Elsner RENEWAL
Julie M MacleadSpainBernardo Dominic NEGOTIATION
Kadeem T CampainUnited KingdomElwin Sharvill UNQUALIFIED
Arvin N MaletBrazilIoni Bowcher PROPOSAL
David I ChuiArgentinaAmy Elsner PROPOSAL
Nicolas A MaletBrazilAnna Fali NEGOTIATION
Darci J ButtGermanyElwin Sharvill NEW
Jones U StensethSpainStephen Shaw QUALIFIED
Mayumi F MaletCanadaAnna Fali PROPOSAL
Julie M MacleadBrazilStephen Shaw QUALIFIED
Maisha Q RoysterJapanIoni Bowcher RENEWAL
Salvatore E RimSpainElwin Sharvill NEGOTIATION
Isabel X SlusarskiIndiaElwin Sharvill NEGOTIATION
Claire R VenereIndiaIvan Magalhaes RENEWAL
Mayumi P PaprockiSpainElwin Sharvill UNQUALIFIED
Greenwood P OldroydAustraliaIoni Bowcher UNQUALIFIED
Jones S DilliardBrazilStephen Shaw RENEWAL
Wickens L VocelkaAustraliaStephen Shaw QUALIFIED
Tony D GlickCanadaIoni Bowcher NEGOTIATION
Chavez P MacleadBrazilElwin Sharvill QUALIFIED
Jeanfrancois R PoquetteItalyAmy Elsner NEGOTIATION
Maisha I KuskoUnited KingdomAmy Elsner NEGOTIATION
Aruna I WieserUnited KingdomIoni Bowcher RENEWAL
Ashley M FigeroaGermanyXuxue Feng PROPOSAL
Rodrigues Q WaycottFranceStephen Shaw NEW
David P BowleyAustraliaAsiya Javayant QUALIFIED
Smith D PoquetteIndiaElwin Sharvill NEGOTIATION
Leja U RutaBrazilAsiya Javayant NEGOTIATION
Mayumi H NestleItalyIvan Magalhaes NEW
Nicolas Z WaycottItalyAnna Fali RENEWAL
Clifford P WieserBrazilOnyama Limba RENEWAL
Emily L MorascaSpainStephen Shaw PROPOSAL
Tony D SlusarskiJapanIvan Magalhaes NEGOTIATION
Aika X StockhamRussiaAmy Elsner UNQUALIFIED
Munro H NickaIndiaElwin Sharvill QUALIFIED
Darci A StockhamBrazilAnna Fali UNQUALIFIED
Isabel W GarufiSpainXuxue Feng RENEWAL
Munro L BriddickAustraliaIoni Bowcher RENEWAL
Kadeem K GlickAustraliaIoni Bowcher RENEWAL
Ashley J KuskoItalyIoni Bowcher PROPOSAL
Silvio V KuskoBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Sinclair M Briddick
Darci M Morasca
Morrow N Sergi
Antonio Z Stockham
Julie Z Rulapaugh
Juan Q Stockham
Ivar O Wieser
Nicolas H Doe
Ricardo P Morasca
Isabel O Ferencz
Aruna W Inouye
Ricardo G Stenseth
Costa V Oldroyd
James J Slusarski
Leja W Glick
Johnson I Stockham
Ivar F Darakjy
Claire K Glick
Ashley O Morasca
Leon N Glick
Antonio O Chui
Johnson U Paprocki
Isabel V Glick
Aditya N Ferencz
Cody F Schemmer
Johnson W Perin
Smith C Caldarera
Francesco J Morasca
Stacey F Foller
Alejandro R Kusko
Murillo X Waycott
Nicolas F Vocelka
Smith L Vocelka
Costa R Flosi
Stacey Q Rulapaugh
Costa Y Paprocki
Jefferson W Poquette
David M Caldarera
Wickens G Darakjy
Tony G Butt
Salvatore L Foller
Alejandro I Shinko
Costa G Rim
Kadeem I Rim
Deepesh U Morasca
Mujtaba W Oldroyd
Jones E Gaucho
Jennifer D Wieser
Aruna Z Paprocki
David P Gaucho
IdCountryDate
1000Russia2025-09-15
1001Russia2025-09-08
1002France2025-09-04
1003Argentina2025-09-11
1004United Kingdom2025-09-01
1005United Kingdom2025-09-21
1006Germany2025-09-21
1007Brazil2025-09-21
1008Italy2025-08-28
1009India2025-08-27
1010Spain2025-08-28
1011Australia2025-09-15
1012Germany2025-09-17
1013France2025-09-16
1014Italy2025-09-17
1015Brazil2025-08-27
1016Germany2025-09-02
1017Russia2025-09-05
1018Spain2025-09-19
1019Argentina2025-09-05
1020Argentina2025-08-25
1021Spain2025-09-15
1022Australia2025-08-28
1023Russia2025-09-09
1024United Kingdom2025-09-02
1025Italy2025-08-25
1026Spain2025-09-17
1027Argentina2025-09-15
1028Argentina2025-09-19
1029Brazil2025-09-13
1030Canada2025-09-05
1031Australia2025-09-18
1032France2025-08-29
1033Australia2025-09-14
1034Russia2025-09-08
1035India2025-09-14
1036Canada2025-09-21
1037Spain2025-09-10
1038Japan2025-08-25
1039United Kingdom2025-09-23
1040Canada2025-09-08
1041Germany2025-08-25
1042Brazil2025-09-07
1043Canada2025-09-23
1044Japan2025-09-04
1045Canada2025-08-25
1046Italy2025-09-07
1047Russia2025-09-21
1048Australia2025-09-03
1049Spain2025-09-07

On-Demand Data

NameIdCountryDate
Rodrigues I Wieser1000Germany2025-08-29
Clifford N Butt1001India2025-09-05
Greenwood G Tollner1002Russia2025-09-06
Jennifer F Venere1003Australia2025-09-11
Murillo G Ostrosky1004Canada2025-09-11
Octavia V Gaucho1005Australia2025-09-15
Emily E Amigon1006Canada2025-09-19
Adams B Caldarera1007India2025-09-18
Jennifer Z Malet1008United Kingdom2025-09-11
Stacey A Slusarski1009United Kingdom2025-09-15
Mayumi V Oldroyd1010Germany2025-09-20
Aika E Gaucho1011Argentina2025-09-17
Octavia I Caldarera1012Argentina2025-08-30
Ashley G Poquette1013Brazil2025-08-28
Misaki Y Poquette1014Argentina2025-09-22
Leja F Malet1015Brazil2025-08-26
Claire R Poquette1016India2025-09-14
Kaitlin O Waycott1017Russia2025-09-16
Faith S Ostrosky1018Russia2025-08-27
Stacey K Butt1019Germany2025-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David I BowleyUnited KingdomXuxue Feng NEW
Isabel S MarrierRussiaBernardo Dominic RENEWAL
Ricardo S DoeItalyAsiya Javayant QUALIFIED
Costa W FigeroaFranceOnyama Limba RENEWAL
Greenwood U WaycottAustraliaElwin Sharvill QUALIFIED
Darci L RoysterIndiaOnyama Limba RENEWAL
Sinclair O MarrierItalyIoni Bowcher UNQUALIFIED
Stacey Y VocelkaSpainElwin Sharvill UNQUALIFIED
Misaki H BriddickAustraliaStephen Shaw RENEWAL
Maria L KuskoIndiaIoni Bowcher NEW
Faith V PaprockiSpainBernardo Dominic PROPOSAL
Jeanfrancois M BowleyGermanyStephen Shaw UNQUALIFIED
Murillo R BologniaFranceAmy Elsner NEGOTIATION
Salvatore C TollnerJapanAnna Fali QUALIFIED
Kadeem C SchemmerAustraliaIvan Magalhaes PROPOSAL
Darci C InouyeUnited KingdomOnyama Limba NEGOTIATION
Izzy E OldroydUnited KingdomXuxue Feng RENEWAL
Aika V GlickUnited KingdomAsiya Javayant QUALIFIED
Ivar U BologniaItalyOnyama Limba QUALIFIED
Smith B IturbideUnited KingdomOnyama Limba NEGOTIATION
Juan O RoysterIndiaXuxue Feng QUALIFIED
Tony E GlickSpainIoni Bowcher NEGOTIATION
Murillo Q BowleyJapanAmy Elsner UNQUALIFIED
Juan K VenereRussiaXuxue Feng PROPOSAL
Morrow G StensethSpainAnna Fali NEGOTIATION
Stacey C SaylorsUnited KingdomOnyama Limba PROPOSAL
Misaki E PerinUnited KingdomXuxue Feng NEW
Alejandro O KuskoArgentinaIvan Magalhaes NEW
Juan W CampainBrazilOnyama Limba NEW
Claire X SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Chavez P MaletItalyIvan Magalhaes RENEWAL
Misaki L NestleUnited KingdomXuxue Feng UNQUALIFIED
Jones C DarakjyArgentinaElwin Sharvill NEW
Clifford Y FigeroaUnited KingdomAsiya Javayant NEW
Munro O SaylorsJapanElwin Sharvill RENEWAL
Kadeem Z PerinJapanIvan Magalhaes NEGOTIATION
Ashley Y IturbideRussiaElwin Sharvill QUALIFIED
Kaitlin B SlusarskiCanadaStephen Shaw PROPOSAL
Kadeem O MacleadGermanyIoni Bowcher PROPOSAL
Adams G CaldareraIndiaOnyama Limba 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>