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
Emily N AmigonCanadaXuxue Feng UNQUALIFIED
Emily R FerenczSpainIvan Magalhaes NEW
Johnson Z ChuiFranceIoni Bowcher NEGOTIATION
Faith C ChuiAustraliaAsiya Javayant RENEWAL
Sinclair K WieserRussiaOnyama Limba UNQUALIFIED
Greenwood D BriddickAustraliaBernardo Dominic NEGOTIATION
Ivar N SergiRussiaAnna Fali NEW
Jefferson K BologniaCanadaAnna Fali NEW
Costa Q VenereUnited KingdomElwin Sharvill UNQUALIFIED
Darci T DilliardFranceIvan Magalhaes UNQUALIFIED
Alejandro M DoeBrazilAnna Fali NEGOTIATION
Isabel G KolmetzSpainIoni Bowcher QUALIFIED
Juan A AlbaresSpainAmy Elsner QUALIFIED
Costa I VenereArgentinaAnna Fali RENEWAL
Jennifer Z ButtSpainAsiya Javayant UNQUALIFIED
Izzy J OstroskyJapanAsiya Javayant UNQUALIFIED
Darci D PoquetteBrazilAnna Fali NEW
Darci Y PaprockiUnited KingdomAsiya Javayant QUALIFIED
Francesco M CaudyGermanyAsiya Javayant UNQUALIFIED
Jones N StockhamArgentinaStephen Shaw PROPOSAL
Morrow F FollerRussiaElwin Sharvill RENEWAL
Ricardo U AmigonSpainElwin Sharvill NEW
Johnson J VenereGermanyIvan Magalhaes RENEWAL
Juan V MaletArgentinaBernardo Dominic QUALIFIED
Arvin P KolmetzIndiaAmy Elsner PROPOSAL
Jones C BologniaBrazilIoni Bowcher PROPOSAL
Misaki K DoeArgentinaXuxue Feng NEGOTIATION
Aditya C NickaArgentinaIoni Bowcher UNQUALIFIED
Antonio R CampainSpainOnyama Limba QUALIFIED
Ricardo I CaudyItalyIoni Bowcher PROPOSAL
Leja M FigeroaSpainXuxue Feng NEGOTIATION
Sinclair U SlusarskiFranceAmy Elsner RENEWAL
Cody G NickaCanadaXuxue Feng RENEWAL
Murillo W NestleAustraliaBernardo Dominic UNQUALIFIED
Clifford M MarrierArgentinaAnna Fali RENEWAL
Silvio T AlbaresSpainAmy Elsner QUALIFIED
Octavia U KolmetzBrazilAnna Fali UNQUALIFIED
Aika N BriddickAustraliaIoni Bowcher NEW
Aruna K GauchoCanadaXuxue Feng UNQUALIFIED
Clifford P FollerAustraliaIoni Bowcher NEW
Antonio P PerinItalyXuxue Feng PROPOSAL
Nicolas O GarufiArgentinaIoni Bowcher NEGOTIATION
Adams T CampainGermanyAsiya Javayant PROPOSAL
Costa W BowleyCanadaIoni Bowcher UNQUALIFIED
Salvatore G IturbideGermanyOnyama Limba NEW
Clifford H MaletJapanIoni Bowcher RENEWAL
David Z GauchoIndiaIoni Bowcher NEGOTIATION
Jefferson N CampainSpainElwin Sharvill RENEWAL
Silvio Z GillianUnited KingdomAmy Elsner RENEWAL
Juan W CampainSpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie M CaudyItalyAsiya Javayant NEW
Kaitlin P GarufiAustraliaStephen Shaw UNQUALIFIED
Sinclair Z SchemmerJapanStephen Shaw PROPOSAL
Jones T VocelkaItalyXuxue Feng UNQUALIFIED
Wickens X PerinJapanAsiya Javayant PROPOSAL
Wickens Z VenereItalyBernardo Dominic PROPOSAL
Clifford P NestleRussiaElwin Sharvill QUALIFIED
Jeanfrancois X FollerSpainXuxue Feng UNQUALIFIED
Claire K GlickItalyAmy Elsner UNQUALIFIED
Smith H AmigonBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow X GauchoAustralia2025-07-31Truhlar And Truhlar Attys NEGOTIATION14Ivan Magalhaes
1001Nicolas S GarufiIndia2025-07-10Commercial Press PROPOSAL66Onyama Limba
1002Johnson U SchemmerGermany2025-07-23Buckley Miller Wright NEW22Elwin Sharvill
1003Morrow N KuskoCanada2025-07-18Rousseaux, Michael Esq QUALIFIED65Stephen Shaw
1004Darci N MaletItaly2025-07-07Chapman, Ross E Esq RENEWAL88Stephen Shaw
1005Mayumi W BriddickArgentina2025-07-12Chanay, Jeffrey A Esq RENEWAL29Onyama Limba
1006Jefferson E FerenczArgentina2025-07-16King, Christopher A Esq QUALIFIED91Ivan Magalhaes
1007Kadeem Y VocelkaAustralia2025-07-10Printing Dimensions NEW80Xuxue Feng
1008Mayumi T FollerRussia2025-07-27Benton, John B Jr RENEWAL92Anna Fali
1009Leon H RimUnited Kingdom2025-07-16Benton, John B Jr UNQUALIFIED7Xuxue Feng
1010Greenwood V MaletRussia2025-07-11Chapman, Ross E Esq PROPOSAL96Stephen Shaw
1011Arvin G VenereCanada2025-07-22Truhlar And Truhlar Attys RENEWAL57Anna Fali
1012Deepesh D GarufiJapan2025-08-03Feltz Printing Service NEW37Elwin Sharvill
1013Smith G CaudyAustralia2025-07-19Printing Dimensions RENEWAL71Ivan Magalhaes
1014Francesco D PaprockiFrance2025-07-15Chemel, James L Cpa QUALIFIED82Anna Fali
1015Francesco T BologniaIndia2025-07-28Buckley Miller Wright RENEWAL90Stephen Shaw
1016Stacey T MaletSpain2025-07-22Chapman, Ross E Esq PROPOSAL68Xuxue Feng
1017Munro T ButtJapan2025-07-23Buckley Miller Wright NEGOTIATION48Elwin Sharvill
1018Nicolas Y DarakjyCanada2025-07-19Commercial Press UNQUALIFIED24Elwin Sharvill
1019Claire Y CaudyRussia2025-08-03King, Christopher A Esq QUALIFIED6Ivan Magalhaes
1020Aruna N RoysterRussia2025-08-02Feiner Bros UNQUALIFIED5Stephen Shaw
1021Stacey E VocelkaUnited Kingdom2025-08-03Dorl, James J Esq RENEWAL38Xuxue Feng
1022Isabel I NickaCanada2025-07-10Benton, John B Jr QUALIFIED89Anna Fali
1023Greenwood C KolmetzAustralia2025-08-03Commercial Press QUALIFIED74Bernardo Dominic
1024Costa R SaylorsAustralia2025-07-21Dorl, James J Esq PROPOSAL12Ivan Magalhaes
1025Mujtaba Q PaprockiBrazil2025-07-23Rousseaux, Michael Esq PROPOSAL77Elwin Sharvill
1026Morrow K WaycottUnited Kingdom2025-07-16Feiner Bros PROPOSAL27Onyama Limba
1027James N WaycottSpain2025-07-30Commercial Press NEW54Asiya Javayant
1028Silvio M BriddickRussia2025-07-13Truhlar And Truhlar Attys NEW62Xuxue Feng
1029Salvatore T VocelkaRussia2025-07-20Commercial Press NEW8Elwin Sharvill
1030Francesco X GarufiItaly2025-07-22Truhlar And Truhlar Attys QUALIFIED87Ivan Magalhaes
1031Juan X GillianIndia2025-07-11King, Christopher A Esq PROPOSAL28Ivan Magalhaes
1032Jennifer B OldroydUnited Kingdom2025-07-28Chapman, Ross E Esq NEGOTIATION63Ivan Magalhaes
1033Juan D DoeJapan2025-07-25Truhlar And Truhlar Attys NEGOTIATION51Onyama Limba
1034Morrow T InouyeSpain2025-07-23Commercial Press UNQUALIFIED89Xuxue Feng
1035Adams O FlosiArgentina2025-08-03Dorl, James J Esq PROPOSAL91Asiya Javayant
1036Ashley J SchemmerIndia2025-07-14Buckley Miller Wright UNQUALIFIED32Amy Elsner
1037Jefferson J ShinkoAustralia2025-07-17Feiner Bros NEGOTIATION94Onyama Limba
1038Aruna V RoysterSpain2025-07-29Feiner Bros QUALIFIED32Asiya Javayant
1039Izzy Z KuskoUnited Kingdom2025-07-27Dorl, James J Esq PROPOSAL88Onyama Limba
1040Kaitlin H MarrierCanada2025-07-19Buckley Miller Wright QUALIFIED21Elwin Sharvill
1041Deepesh H CampainItaly2025-08-04Dorl, James J Esq UNQUALIFIED68Xuxue Feng
1042Deepesh O PerinUnited Kingdom2025-08-01Printing Dimensions NEGOTIATION26Ioni Bowcher
1043Darci Y PoquetteGermany2025-08-02Rousseaux, Michael Esq NEGOTIATION78Anna Fali
1044Isabel P BriddickCanada2025-07-27Chapman, Ross E Esq RENEWAL5Amy Elsner
1045Maria O ButtItaly2025-07-09Chemel, James L Cpa RENEWAL10Onyama Limba
1046Jefferson L GlickRussia2025-08-04Feltz Printing Service UNQUALIFIED43Anna Fali
1047Johnson W WhobreyGermany2025-07-27Benton, John B Jr PROPOSAL31Stephen Shaw
1048Ricardo D VocelkaGermany2025-08-04Feltz Printing Service NEW65Xuxue Feng
1049Leon R KolmetzFrance2025-08-01Chapman, Ross E Esq UNQUALIFIED68Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Darci Y IturbideAustraliaIoni Bowcher NEW
Ricardo O NestleFranceElwin Sharvill UNQUALIFIED
Kaitlin W MorascaAustraliaElwin Sharvill PROPOSAL
Julie Z OstroskyGermanyAmy Elsner NEGOTIATION
Jennifer T OldroydSpainStephen Shaw NEGOTIATION
Juan X MorascaSpainIvan Magalhaes NEGOTIATION
Stacey I DarakjyFranceStephen Shaw RENEWAL
Nicolas Y OldroydUnited KingdomAmy Elsner NEGOTIATION
Juan N FollerArgentinaAsiya Javayant QUALIFIED
Wickens O NickaRussiaIoni Bowcher UNQUALIFIED
Julie W ChuiCanadaBernardo Dominic PROPOSAL
Arvin E PoquetteArgentinaAmy Elsner QUALIFIED
Jones P MaletIndiaElwin Sharvill RENEWAL
Stacey P FerenczGermanyBernardo Dominic PROPOSAL
Adams R VocelkaArgentinaXuxue Feng RENEWAL
Aika K WieserItalyBernardo Dominic NEW
Ashley Q PaprockiArgentinaIoni Bowcher NEW
Jeanfrancois N NestleIndiaIoni Bowcher NEGOTIATION
Mujtaba Z GarufiItalyBernardo Dominic NEGOTIATION
Johnson U StockhamBrazilElwin Sharvill UNQUALIFIED
Smith R MaletIndiaAnna Fali UNQUALIFIED
Leja X RutaBrazilElwin Sharvill NEGOTIATION
Silvio K MorascaGermanyBernardo Dominic NEGOTIATION
Alejandro L ShinkoAustraliaStephen Shaw UNQUALIFIED
Misaki J WhobreyGermanyXuxue Feng RENEWAL
Adams I StockhamBrazilIoni Bowcher UNQUALIFIED
Smith T WhobreyBrazilElwin Sharvill RENEWAL
Clifford A SergiGermanyBernardo Dominic NEW
Stacey N RimFranceIvan Magalhaes NEW
Juan E GarufiItalyAsiya Javayant PROPOSAL
Ashley R RimCanadaStephen Shaw RENEWAL
Wickens S PerinUnited KingdomAsiya Javayant NEW
Costa V WaycottArgentinaXuxue Feng RENEWAL
Maria A BowleyBrazilXuxue Feng NEGOTIATION
Julie A FerenczUnited KingdomAsiya Javayant PROPOSAL
Octavia G SlusarskiIndiaBernardo Dominic QUALIFIED
Mujtaba Y RoysterBrazilElwin Sharvill QUALIFIED
Francesco C PaprockiItalyElwin Sharvill QUALIFIED
Claire D BowleyBrazilAnna Fali UNQUALIFIED
Isabel P NestleBrazilIoni Bowcher QUALIFIED
Jones F NickaBrazilXuxue Feng QUALIFIED
Sinclair Z NestleJapanIoni Bowcher RENEWAL
Costa V GlickSpainAnna Fali NEW
Francesco S RutaArgentinaIoni Bowcher NEGOTIATION
Arvin X FollerRussiaBernardo Dominic NEW
Aruna S RimSpainStephen Shaw QUALIFIED
Julie Y AlbaresGermanyBernardo Dominic NEGOTIATION
Francesco L NestleAustraliaBernardo Dominic NEW
Munro R GillianAustraliaXuxue Feng NEW
David D RoysterAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Morrow J Slusarski
Kaitlin K Iturbide
Wickens C Paprocki
Jeanfrancois C Morasca
Chavez T Rulapaugh
Silvio S Waycott
Faith W Inouye
Greenwood G Oldroyd
Ricardo K Tollner
Leja P Whobrey
Clifford U Venere
Darci A Morasca
Kadeem O Rim
Octavia S Gaucho
Maria N Tollner
Johnson D Maclead
Jennifer T Gaucho
Munro M Gaucho
Aika O Tollner
Smith Z Caudy
Murillo T Stockham
Cody P Albares
Arvin V Slusarski
Arvin J Marrier
Greenwood P Marrier
Costa D Gaucho
Mayumi L Malet
Mayumi G Gillian
Darci R Kolmetz
Aruna U Shinko
Johnson Q Oldroyd
Silvio X Amigon
Jefferson J Saylors
Jeanfrancois T Ferencz
James Y Kolmetz
Jeanfrancois J Malet
Adams E Figeroa
Emily G Amigon
Isabel U Amigon
Jeanfrancois G Perin
Rodrigues N Doe
Misaki Y Rulapaugh
Adams P Bowley
Smith O Garufi
Aruna N Shinko
Jefferson O Kolmetz
Maisha B Waycott
Ivar T Nestle
James L Ruta
Aruna V Albares
IdCountryDate
1000Russia2025-07-09
1001Australia2025-07-30
1002Italy2025-07-18
1003United Kingdom2025-07-22
1004Argentina2025-07-18
1005India2025-07-26
1006Germany2025-07-29
1007Australia2025-07-22
1008India2025-07-10
1009India2025-07-25
1010Russia2025-08-03
1011Australia2025-07-19
1012India2025-07-17
1013Japan2025-07-08
1014Brazil2025-07-09
1015Argentina2025-07-30
1016Brazil2025-07-29
1017Japan2025-07-11
1018United Kingdom2025-07-15
1019Italy2025-07-19
1020Canada2025-07-18
1021United Kingdom2025-07-09
1022United Kingdom2025-08-02
1023Canada2025-07-11
1024Germany2025-07-06
1025Australia2025-07-23
1026France2025-07-19
1027Japan2025-07-14
1028Australia2025-08-03
1029United Kingdom2025-07-17
1030Italy2025-08-01
1031Germany2025-07-24
1032Spain2025-07-17
1033Australia2025-07-18
1034Germany2025-07-31
1035Germany2025-08-02
1036France2025-07-28
1037Canada2025-08-03
1038Brazil2025-07-24
1039United Kingdom2025-07-22
1040United Kingdom2025-07-29
1041Spain2025-07-24
1042France2025-07-20
1043Russia2025-08-01
1044Japan2025-07-17
1045Italy2025-08-03
1046United Kingdom2025-07-21
1047Canada2025-07-14
1048France2025-07-09
1049Italy2025-07-14

On-Demand Data

NameIdCountryDate
Julie T Maclead1000Argentina2025-07-13
Alejandro A Maclead1001India2025-07-25
Adams T Caldarera1002Italy2025-07-16
Johnson Y Briddick1003Germany2025-07-16
Leon U Stockham1004Brazil2025-07-09
Misaki I Paprocki1005France2025-07-08
Johnson V Caudy1006Russia2025-07-22
Antonio N Waycott1007Russia2025-07-10
Ivar O Albares1008Spain2025-07-23
Arvin I Campain1009Canada2025-07-14
Salvatore N Nestle1010Russia2025-07-19
Julie T Albares1011Argentina2025-07-06
Stacey E Dilliard1012United Kingdom2025-07-08
David U Oldroyd1013Germany2025-07-21
Faith U Rim1014Argentina2025-07-28
Rodrigues E Schemmer1015Australia2025-07-17
Kadeem E Ostrosky1016Spain2025-07-12
Kadeem Z Poquette1017Canada2025-07-06
Adams R Ostrosky1018Canada2025-07-31
Ivar H Oldroyd1019Italy2025-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues X WhobreyRussiaBernardo Dominic QUALIFIED
Alejandro L StockhamCanadaAnna Fali RENEWAL
Izzy X SaylorsUnited KingdomIoni Bowcher QUALIFIED
James J FlosiBrazilXuxue Feng NEGOTIATION
Johnson P MorascaCanadaBernardo Dominic UNQUALIFIED
Morrow L CaudyItalyElwin Sharvill UNQUALIFIED
Cody B ChuiItalyIvan Magalhaes RENEWAL
Mayumi B GauchoJapanAmy Elsner PROPOSAL
Faith J RoysterJapanOnyama Limba QUALIFIED
Julie Y CampainIndiaAsiya Javayant NEW
Jeanfrancois K ChuiGermanyBernardo Dominic QUALIFIED
Arvin I RutaBrazilBernardo Dominic UNQUALIFIED
Claire N AmigonCanadaIvan Magalhaes NEGOTIATION
Darci Q FlosiFranceAmy Elsner RENEWAL
Clifford G DarakjyFranceAsiya Javayant PROPOSAL
Izzy L FerenczFranceIvan Magalhaes RENEWAL
Johnson P FigeroaJapanAnna Fali PROPOSAL
Smith C VocelkaBrazilAmy Elsner QUALIFIED
Ashley E OstroskyAustraliaAnna Fali NEW
Francesco G PaprockiAustraliaOnyama Limba NEGOTIATION
Ivar X VocelkaArgentinaAsiya Javayant QUALIFIED
Claire X BowleyIndiaOnyama Limba RENEWAL
Deepesh N SlusarskiBrazilAmy Elsner NEGOTIATION
James L PoquetteCanadaAmy Elsner NEGOTIATION
Costa W TollnerJapanElwin Sharvill NEGOTIATION
Emily R CaudyGermanyElwin Sharvill QUALIFIED
Smith F IturbideRussiaAsiya Javayant NEW
Jennifer Q FlosiFranceBernardo Dominic PROPOSAL
Adams A DilliardIndiaAsiya Javayant NEGOTIATION
Arvin A ButtCanadaStephen Shaw RENEWAL
Ivar V PoquetteGermanyBernardo Dominic RENEWAL
Misaki A WhobreyCanadaStephen Shaw NEW
Leon G WhobreyCanadaAnna Fali UNQUALIFIED
Stacey S GillianSpainIvan Magalhaes UNQUALIFIED
Arvin U MacleadJapanAnna Fali UNQUALIFIED
Juan V SlusarskiItalyAmy Elsner RENEWAL
Darci Q SlusarskiRussiaElwin Sharvill QUALIFIED
Misaki H RoysterUnited KingdomStephen Shaw NEW
Leon S CaudyItalyAsiya Javayant PROPOSAL
Isabel H DilliardFranceBernardo Dominic UNQUALIFIED

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