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
Maisha O MaletSpainStephen Shaw RENEWAL
Nicolas F MarrierArgentinaIoni Bowcher RENEWAL
Francesco B ButtCanadaBernardo Dominic NEW
Alejandro T RimRussiaXuxue Feng NEGOTIATION
Costa S SaylorsJapanIvan Magalhaes UNQUALIFIED
Silvio W KuskoIndiaAsiya Javayant NEW
Darci S NestleIndiaXuxue Feng NEGOTIATION
Emily M AmigonIndiaElwin Sharvill UNQUALIFIED
Cody A PaprockiRussiaIoni Bowcher UNQUALIFIED
Maria Q CaudyJapanXuxue Feng NEW
Claire S StockhamItalyAnna Fali NEW
Morrow E ChuiItalyAnna Fali QUALIFIED
Mujtaba O WaycottItalyAnna Fali QUALIFIED
Julie Z KolmetzArgentinaIvan Magalhaes NEGOTIATION
Mujtaba K VenereBrazilIoni Bowcher NEW
Kadeem N AlbaresArgentinaXuxue Feng QUALIFIED
Mayumi C GarufiCanadaAmy Elsner QUALIFIED
Jeanfrancois B RoysterCanadaXuxue Feng PROPOSAL
Salvatore I MorascaFranceAsiya Javayant QUALIFIED
Wickens X WaycottIndiaOnyama Limba QUALIFIED
Arvin U OldroydRussiaBernardo Dominic NEW
Jeanfrancois D SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Costa B DilliardFranceAsiya Javayant UNQUALIFIED
Rodrigues Q StockhamJapanAnna Fali QUALIFIED
Aruna X GarufiCanadaIoni Bowcher QUALIFIED
Rodrigues Y KuskoUnited KingdomIvan Magalhaes QUALIFIED
Greenwood S DilliardSpainXuxue Feng NEW
Jefferson E SaylorsCanadaAsiya Javayant NEW
Aditya O StockhamSpainXuxue Feng NEGOTIATION
Octavia Q CaldareraIndiaAmy Elsner NEGOTIATION
Aditya Q WaycottIndiaElwin Sharvill PROPOSAL
Ricardo R CampainGermanyAsiya Javayant QUALIFIED
Jennifer X MarrierFranceElwin Sharvill NEW
Tony V RulapaughFranceStephen Shaw RENEWAL
Mujtaba C MaletArgentinaStephen Shaw PROPOSAL
Claire P ShinkoCanadaStephen Shaw PROPOSAL
Jones O RimFranceOnyama Limba QUALIFIED
Silvio J AlbaresJapanIvan Magalhaes NEW
Adams O SaylorsItalyAnna Fali QUALIFIED
Morrow N RimGermanyElwin Sharvill NEW
Sinclair Q GillianSpainIvan Magalhaes UNQUALIFIED
Aruna G GauchoAustraliaAsiya Javayant QUALIFIED
Antonio W FigeroaArgentinaOnyama Limba RENEWAL
Sinclair V WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Silvio O ButtRussiaStephen Shaw PROPOSAL
Maisha X PerinCanadaAsiya Javayant RENEWAL
Aika Y BriddickSpainAmy Elsner UNQUALIFIED
Chavez F SaylorsUnited KingdomBernardo Dominic NEW
Adams K BowleyRussiaOnyama Limba PROPOSAL
Aditya H BowleyRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues J WhobreyJapanAmy Elsner RENEWAL
Arvin R MorascaFranceBernardo Dominic NEGOTIATION
Maria Q TollnerBrazilStephen Shaw QUALIFIED
David Q CampainFranceAmy Elsner NEGOTIATION
Tony G CaudySpainBernardo Dominic NEGOTIATION
Wickens A AlbaresSpainAnna Fali UNQUALIFIED
Cody X MorascaArgentinaXuxue Feng QUALIFIED
Tony I DarakjyJapanAsiya Javayant QUALIFIED
Darci Q InouyeCanadaIoni Bowcher QUALIFIED
Rodrigues T FerenczAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez D NestleRussia2025-08-07Rousseaux, Michael Esq RENEWAL1Stephen Shaw
1001Wickens W FigeroaItaly2025-07-18Truhlar And Truhlar Attys QUALIFIED32Stephen Shaw
1002Ivar C FollerUnited Kingdom2025-07-23Benton, John B Jr UNQUALIFIED1Elwin Sharvill
1003Claire B GarufiAustralia2025-08-13Buckley Miller Wright UNQUALIFIED13Bernardo Dominic
1004Mujtaba A FigeroaFrance2025-08-06Chapman, Ross E Esq NEW22Asiya Javayant
1005Arvin U DoeArgentina2025-07-20Benton, John B Jr UNQUALIFIED78Amy Elsner
1006Silvio E FlosiCanada2025-08-07King, Christopher A Esq PROPOSAL75Anna Fali
1007Nicolas A KuskoFrance2025-08-09Rangoni Of Florence UNQUALIFIED51Ivan Magalhaes
1008Rodrigues W KuskoItaly2025-07-31Benton, John B Jr RENEWAL72Asiya Javayant
1009Deepesh U PoquetteFrance2025-07-24Benton, John B Jr PROPOSAL89Elwin Sharvill
1010Chavez P GarufiRussia2025-07-28Feltz Printing Service NEW19Asiya Javayant
1011Misaki M KuskoIndia2025-08-07Chemel, James L Cpa NEW99Elwin Sharvill
1012Ashley B FlosiAustralia2025-08-12Benton, John B Jr RENEWAL57Elwin Sharvill
1013Claire V WieserRussia2025-07-16Feiner Bros UNQUALIFIED67Bernardo Dominic
1014Aika B MaletRussia2025-07-18Commercial Press UNQUALIFIED35Ioni Bowcher
1015Kaitlin J PerinRussia2025-07-30Benton, John B Jr PROPOSAL10Onyama Limba
1016Costa Q TollnerIndia2025-08-10Rousseaux, Michael Esq PROPOSAL32Elwin Sharvill
1017Silvio G VenereArgentina2025-07-18King, Christopher A Esq QUALIFIED81Elwin Sharvill
1018Kadeem S StensethSpain2025-07-25Rousseaux, Michael Esq QUALIFIED1Onyama Limba
1019Aditya M MaletAustralia2025-07-19Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1020David O FollerItaly2025-07-30Feiner Bros PROPOSAL28Xuxue Feng
1021Jennifer R BowleyBrazil2025-08-12Feiner Bros NEW72Bernardo Dominic
1022Salvatore H MacleadSpain2025-08-11Chemel, James L Cpa UNQUALIFIED42Asiya Javayant
1023Wickens N RimArgentina2025-07-18Morlong Associates PROPOSAL65Bernardo Dominic
1024Ivar R DoeFrance2025-07-19Buckley Miller Wright NEGOTIATION76Ioni Bowcher
1025Ashley G KolmetzRussia2025-08-04King, Christopher A Esq RENEWAL61Ivan Magalhaes
1026Aruna S FerenczArgentina2025-08-08Printing Dimensions PROPOSAL66Anna Fali
1027Ricardo W RimJapan2025-07-15Chemel, James L Cpa RENEWAL19Stephen Shaw
1028Francesco W MarrierUnited Kingdom2025-08-07Chapman, Ross E Esq QUALIFIED75Anna Fali
1029Darci Q VocelkaUnited Kingdom2025-08-06Rousseaux, Michael Esq QUALIFIED26Xuxue Feng
1030Leon X DoeGermany2025-07-31Chapman, Ross E Esq RENEWAL91Amy Elsner
1031Tony W PaprockiJapan2025-07-15Dorl, James J Esq RENEWAL4Amy Elsner
1032Ivar O SchemmerGermany2025-08-10Morlong Associates NEGOTIATION10Ivan Magalhaes
1033Silvio S BowleyFrance2025-07-20Benton, John B Jr PROPOSAL32Bernardo Dominic
1034Clifford Q CaudyItaly2025-07-28Chemel, James L Cpa NEW3Ioni Bowcher
1035Tony L WhobreyUnited Kingdom2025-08-03Feltz Printing Service QUALIFIED21Anna Fali
1036Greenwood F SaylorsBrazil2025-08-06Chanay, Jeffrey A Esq UNQUALIFIED63Ioni Bowcher
1037Clifford O RutaGermany2025-08-01Dorl, James J Esq QUALIFIED38Asiya Javayant
1038Munro I FollerIndia2025-07-22Printing Dimensions NEW67Elwin Sharvill
1039Jones Y VocelkaIndia2025-07-16Feiner Bros PROPOSAL93Ivan Magalhaes
1040Ivar B WaycottItaly2025-07-16Chanay, Jeffrey A Esq NEW49Ivan Magalhaes
1041Jefferson T FerenczCanada2025-07-26Chanay, Jeffrey A Esq UNQUALIFIED90Stephen Shaw
1042Emily G SaylorsCanada2025-07-31Chanay, Jeffrey A Esq UNQUALIFIED6Ioni Bowcher
1043Greenwood Y FollerJapan2025-08-09Printing Dimensions PROPOSAL94Ivan Magalhaes
1044Murillo G AlbaresUnited Kingdom2025-08-05King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1045Kadeem T WhobreyUnited Kingdom2025-08-04Dorl, James J Esq NEGOTIATION60Ivan Magalhaes
1046Claire B KuskoJapan2025-07-30Chapman, Ross E Esq UNQUALIFIED60Amy Elsner
1047Leon V WieserFrance2025-08-11Feltz Printing Service QUALIFIED41Onyama Limba
1048David V MarrierAustralia2025-07-21Feiner Bros PROPOSAL2Amy Elsner
1049Isabel Z PaprockiSpain2025-08-01Chemel, James L Cpa NEGOTIATION29Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba T GillianRussiaIoni Bowcher PROPOSAL
Claire Z ButtArgentinaAsiya Javayant RENEWAL
Octavia O SaylorsSpainBernardo Dominic NEGOTIATION
Antonio M BologniaArgentinaOnyama Limba RENEWAL
Smith V NestleIndiaElwin Sharvill RENEWAL
Nicolas T OstroskyItalyIvan Magalhaes PROPOSAL
Claire Q TollnerRussiaIoni Bowcher NEW
Darci Q DilliardItalyXuxue Feng UNQUALIFIED
Smith W OldroydFranceBernardo Dominic RENEWAL
Izzy V MacleadRussiaStephen Shaw NEGOTIATION
Juan O DilliardUnited KingdomElwin Sharvill PROPOSAL
Izzy Y StensethUnited KingdomAnna Fali PROPOSAL
James N ShinkoAustraliaAnna Fali RENEWAL
Isabel Y NickaCanadaAsiya Javayant NEW
Kaitlin A OldroydUnited KingdomIoni Bowcher PROPOSAL
Salvatore J RimItalyAmy Elsner QUALIFIED
Octavia H StockhamBrazilXuxue Feng NEGOTIATION
Smith W FlosiSpainAsiya Javayant NEGOTIATION
Emily H RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Faith R StockhamBrazilAsiya Javayant PROPOSAL
James Q IturbideGermanyAsiya Javayant PROPOSAL
Stacey X WaycottIndiaElwin Sharvill NEW
Mujtaba Q WhobreyArgentinaAnna Fali PROPOSAL
Costa M RulapaughIndiaAnna Fali QUALIFIED
Francesco A NickaGermanyStephen Shaw NEW
Wickens E SchemmerFranceAmy Elsner NEW
Tony W StensethSpainBernardo Dominic RENEWAL
Johnson E SaylorsGermanyIoni Bowcher NEW
Silvio M VenereFranceOnyama Limba QUALIFIED
Stacey B DarakjyBrazilOnyama Limba RENEWAL
Octavia Z FlosiRussiaIvan Magalhaes UNQUALIFIED
Aditya Z NestleAustraliaStephen Shaw NEGOTIATION
Salvatore B DoeUnited KingdomAsiya Javayant NEGOTIATION
Munro I RulapaughJapanXuxue Feng RENEWAL
Alejandro G FlosiFranceOnyama Limba UNQUALIFIED
Alejandro J AlbaresArgentinaAsiya Javayant RENEWAL
Alejandro W InouyeJapanIoni Bowcher RENEWAL
Octavia P KolmetzUnited KingdomAmy Elsner NEGOTIATION
Octavia D WieserCanadaIvan Magalhaes QUALIFIED
James D StensethRussiaIoni Bowcher UNQUALIFIED
Johnson S RoysterFranceAnna Fali NEW
Francesco M DarakjyRussiaAnna Fali PROPOSAL
Johnson E SaylorsIndiaStephen Shaw RENEWAL
Faith K DarakjyAustraliaAnna Fali RENEWAL
Jennifer N NestleCanadaAnna Fali NEGOTIATION
Adams T WaycottItalyAsiya Javayant PROPOSAL
Maisha J ShinkoSpainIvan Magalhaes QUALIFIED
Greenwood V ButtArgentinaElwin Sharvill QUALIFIED
Jeanfrancois G SchemmerFranceIoni Bowcher QUALIFIED
Chavez C AmigonRussiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Emily L Ruta
Cody H Caldarera
Kadeem N Nicka
Jeanfrancois B Ferencz
Ricardo M Kolmetz
Ricardo N Morasca
Juan T Wieser
Ricardo K Stockham
James R Amigon
Antonio H Ferencz
Sinclair J Slusarski
Smith D Nestle
Cody V Darakjy
James I Vocelka
Aika B Oldroyd
Silvio U Ferencz
Tony W Amigon
Munro E Vocelka
Jeanfrancois G Ostrosky
Stacey A Saylors
Rodrigues J Rulapaugh
James R Darakjy
Octavia E Darakjy
Arvin B Vocelka
Murillo B Kusko
Sinclair H Rulapaugh
Jefferson N Doe
Tony P Foller
Kaitlin Q Vocelka
Ashley T Flosi
Leon C Saylors
Costa B Glick
Rodrigues A Ferencz
Maria F Royster
Antonio U Gaucho
Octavia G Bolognia
Costa N Doe
Maria H Stockham
Greenwood U Doe
Julie K Perin
Rodrigues Q Venere
Juan W Royster
David V Shinko
Murillo I Paprocki
Silvio C Iturbide
Johnson G Nestle
Nicolas E Saylors
Misaki J Rim
Arvin J Glick
Adams S Foller
IdCountryDate
1000India2025-08-04
1001Russia2025-08-08
1002Italy2025-08-13
1003Japan2025-08-02
1004Canada2025-08-13
1005Italy2025-07-23
1006Germany2025-08-08
1007Australia2025-08-02
1008Canada2025-07-28
1009Germany2025-08-06
1010Australia2025-07-23
1011Argentina2025-08-09
1012France2025-07-26
1013Germany2025-07-28
1014Italy2025-07-27
1015Spain2025-08-11
1016Canada2025-07-18
1017Spain2025-07-26
1018Argentina2025-08-05
1019Russia2025-07-24
1020Italy2025-08-03
1021Japan2025-08-11
1022Brazil2025-08-08
1023Argentina2025-07-26
1024Canada2025-08-12
1025Argentina2025-07-23
1026Russia2025-07-25
1027Canada2025-08-01
1028Canada2025-07-24
1029Russia2025-07-25
1030Italy2025-07-29
1031France2025-08-10
1032France2025-07-28
1033Argentina2025-08-05
1034United Kingdom2025-07-23
1035India2025-08-05
1036Australia2025-08-08
1037Russia2025-07-24
1038France2025-08-06
1039Italy2025-08-06
1040Germany2025-07-17
1041Argentina2025-07-15
1042Germany2025-07-26
1043Japan2025-07-25
1044France2025-07-19
1045Japan2025-07-19
1046Argentina2025-07-28
1047Australia2025-08-06
1048Spain2025-07-31
1049India2025-07-21

On-Demand Data

NameIdCountryDate
Leja R Marrier1000France2025-08-09
Claire L Nestle1001Brazil2025-07-18
Cody I Ostrosky1002Japan2025-07-29
Julie F Venere1003Germany2025-07-20
David F Royster1004Russia2025-08-04
Costa R Morasca1005Italy2025-08-09
Morrow Z Nestle1006Brazil2025-08-03
Antonio K Kolmetz1007Russia2025-07-19
Stacey D Poquette1008India2025-07-31
Aika Y Venere1009Italy2025-08-09
Alejandro T Doe1010Canada2025-07-22
Munro O Gaucho1011Canada2025-07-30
Tony Y Slusarski1012India2025-08-03
Sinclair E Morasca1013Russia2025-07-23
Misaki M Ferencz1014Argentina2025-08-07
Nicolas X Ostrosky1015France2025-07-16
David Q Ruta1016France2025-08-12
Aika E Kusko1017Germany2025-07-19
Arvin D Slusarski1018Spain2025-07-25
Smith T Iturbide1019United Kingdom2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey B BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Darci T PaprockiJapanAnna Fali NEGOTIATION
Sinclair B MacleadArgentinaElwin Sharvill NEGOTIATION
Alejandro I MarrierBrazilAnna Fali QUALIFIED
Ashley M DarakjyUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois F InouyeFranceBernardo Dominic RENEWAL
Darci I InouyeIndiaIvan Magalhaes PROPOSAL
Mujtaba X BriddickFranceAnna Fali NEGOTIATION
James Z CaldareraItalyBernardo Dominic UNQUALIFIED
Kadeem P CaldareraSpainXuxue Feng PROPOSAL
Alejandro S NickaBrazilAnna Fali PROPOSAL
Claire N OstroskyIndiaAsiya Javayant PROPOSAL
Silvio E RoysterRussiaIvan Magalhaes NEW
Murillo G StockhamArgentinaOnyama Limba PROPOSAL
Darci W MacleadJapanIvan Magalhaes NEGOTIATION
Murillo I ChuiArgentinaStephen Shaw QUALIFIED
Murillo I VenereFranceAnna Fali QUALIFIED
Johnson U BriddickSpainElwin Sharvill NEW
Chavez J RoysterJapanIoni Bowcher QUALIFIED
Faith N NestleCanadaAmy Elsner NEW
Izzy O WieserCanadaBernardo Dominic QUALIFIED
Deepesh M PoquetteItalyAnna Fali NEW
Wickens I DoeUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore U MorascaGermanyIvan Magalhaes PROPOSAL
Ashley R NestleJapanAmy Elsner RENEWAL
Faith D CampainIndiaAnna Fali NEW
Aika Q IturbideItalyBernardo Dominic NEGOTIATION
Misaki F PaprockiFranceAnna Fali NEGOTIATION
Munro Z ShinkoCanadaAnna Fali RENEWAL
Chavez A RutaGermanyXuxue Feng QUALIFIED
Rodrigues N SergiUnited KingdomAsiya Javayant RENEWAL
Greenwood P MaletSpainAnna Fali NEGOTIATION
Johnson R BowleyAustraliaIvan Magalhaes PROPOSAL
Munro O WhobreySpainElwin Sharvill NEW
Jeanfrancois S DarakjyCanadaIvan Magalhaes QUALIFIED
Mayumi K KolmetzCanadaOnyama Limba UNQUALIFIED
Antonio C FigeroaIndiaAmy Elsner PROPOSAL
Darci J WieserJapanElwin Sharvill NEGOTIATION
Maria M SaylorsItalyAnna Fali PROPOSAL
Leja C GauchoBrazilElwin Sharvill 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>