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
Smith K VenereGermanyAnna Fali QUALIFIED
Mujtaba O RutaGermanyAmy Elsner UNQUALIFIED
Stacey X RutaIndiaStephen Shaw QUALIFIED
Chavez B GlickGermanyOnyama Limba PROPOSAL
Juan Z NestleFranceXuxue Feng PROPOSAL
Francesco L VocelkaBrazilAnna Fali RENEWAL
Jefferson R BowleyCanadaStephen Shaw UNQUALIFIED
Silvio V IturbideItalyAnna Fali QUALIFIED
Arvin N VocelkaFranceIoni Bowcher NEGOTIATION
Leja S KuskoItalyBernardo Dominic RENEWAL
Jennifer F VenereSpainAnna Fali UNQUALIFIED
Wickens N OstroskyJapanAnna Fali PROPOSAL
Claire C BowleyUnited KingdomElwin Sharvill NEGOTIATION
David X DoeUnited KingdomXuxue Feng UNQUALIFIED
Ricardo F SchemmerUnited KingdomStephen Shaw NEW
Octavia G VocelkaFranceElwin Sharvill PROPOSAL
Silvio B BriddickAustraliaStephen Shaw QUALIFIED
Rodrigues W AlbaresIndiaIvan Magalhaes NEGOTIATION
Stacey F MorascaJapanStephen Shaw NEGOTIATION
Jeanfrancois Z PerinUnited KingdomAmy Elsner UNQUALIFIED
Claire X PoquetteGermanyIoni Bowcher UNQUALIFIED
Adams E ShinkoGermanyIvan Magalhaes NEW
Costa M RimCanadaAmy Elsner UNQUALIFIED
David L SergiAustraliaElwin Sharvill NEW
David P ShinkoRussiaAmy Elsner NEGOTIATION
Salvatore P SaylorsCanadaIvan Magalhaes QUALIFIED
Tony V OldroydBrazilXuxue Feng NEGOTIATION
Nicolas D VocelkaSpainXuxue Feng QUALIFIED
Mayumi M NickaArgentinaIvan Magalhaes QUALIFIED
Clifford T MacleadIndiaIvan Magalhaes QUALIFIED
Faith K FollerGermanyStephen Shaw RENEWAL
Murillo Z KuskoUnited KingdomBernardo Dominic RENEWAL
Kaitlin Y FollerBrazilIoni Bowcher NEW
Kaitlin B KuskoSpainBernardo Dominic RENEWAL
Leon W SaylorsSpainOnyama Limba PROPOSAL
Murillo X MorascaFranceIoni Bowcher UNQUALIFIED
Leja H StensethFranceIoni Bowcher QUALIFIED
Maisha U OstroskyIndiaBernardo Dominic PROPOSAL
Mujtaba R AmigonRussiaIoni Bowcher RENEWAL
Jones A FlosiGermanyStephen Shaw NEW
Cody V TollnerArgentinaIvan Magalhaes RENEWAL
Adams D KuskoFranceXuxue Feng PROPOSAL
Wickens Y RulapaughUnited KingdomIvan Magalhaes NEW
Francesco R CaudySpainOnyama Limba NEGOTIATION
Costa H MaletUnited KingdomOnyama Limba UNQUALIFIED
Costa H DoeItalyOnyama Limba RENEWAL
Jones H TollnerArgentinaOnyama Limba RENEWAL
Kadeem M CaudyFranceOnyama Limba NEW
Adams K ShinkoUnited KingdomBernardo Dominic PROPOSAL
Mayumi M VocelkaIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Leja A InouyeItalyBernardo Dominic PROPOSAL
Silvio X OstroskyRussiaIoni Bowcher RENEWAL
Morrow O MaletUnited KingdomBernardo Dominic NEGOTIATION
Misaki M WaycottUnited KingdomXuxue Feng NEW
Adams O PoquetteArgentinaIoni Bowcher QUALIFIED
Antonio T BologniaItalyOnyama Limba QUALIFIED
Silvio O WaycottFranceIvan Magalhaes PROPOSAL
Greenwood U GillianItalyOnyama Limba UNQUALIFIED
Emily E GauchoGermanyBernardo Dominic NEGOTIATION
Leon K FerenczGermanyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford H NestleSpain2025-08-01Commercial Press NEGOTIATION47Stephen Shaw
1001James N DilliardSpain2025-08-07Chapman, Ross E Esq QUALIFIED40Stephen Shaw
1002Jefferson Q CampainItaly2025-07-24Buckley Miller Wright RENEWAL33Xuxue Feng
1003Faith P MaletBrazil2025-07-20Truhlar And Truhlar Attys PROPOSAL47Elwin Sharvill
1004Faith T MaletItaly2025-08-04Dorl, James J Esq NEGOTIATION9Amy Elsner
1005Cody M AlbaresIndia2025-08-05Chanay, Jeffrey A Esq PROPOSAL90Elwin Sharvill
1006Juan C DarakjyIndia2025-07-24Benton, John B Jr UNQUALIFIED43Elwin Sharvill
1007Alejandro K ShinkoAustralia2025-07-27Buckley Miller Wright RENEWAL18Xuxue Feng
1008Wickens M MaletIndia2025-07-27Truhlar And Truhlar Attys NEW76Stephen Shaw
1009Mayumi D RoysterSpain2025-07-22Morlong Associates QUALIFIED38Bernardo Dominic
1010Tony K BowleyFrance2025-07-18Chanay, Jeffrey A Esq QUALIFIED3Onyama Limba
1011Ivar L ButtItaly2025-07-29Chanay, Jeffrey A Esq NEW74Ivan Magalhaes
1012Leon I DilliardArgentina2025-08-06Truhlar And Truhlar Attys UNQUALIFIED95Xuxue Feng
1013Smith K KolmetzSpain2025-07-18Dorl, James J Esq UNQUALIFIED58Stephen Shaw
1014Isabel Q WaycottArgentina2025-08-01Rangoni Of Florence NEGOTIATION42Ioni Bowcher
1015Salvatore T DarakjyCanada2025-08-05Morlong Associates PROPOSAL50Ioni Bowcher
1016Claire P OstroskyGermany2025-07-18Feltz Printing Service PROPOSAL34Onyama Limba
1017Cody X NestleUnited Kingdom2025-08-07Commercial Press QUALIFIED68Anna Fali
1018Salvatore G TollnerArgentina2025-07-15Rangoni Of Florence NEW79Ioni Bowcher
1019Jones D StockhamAustralia2025-07-31Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1020Tony X DarakjyIndia2025-08-04Buckley Miller Wright NEGOTIATION45Xuxue Feng
1021Ricardo D CaudySpain2025-08-02Printing Dimensions UNQUALIFIED40Onyama Limba
1022Claire O PaprockiArgentina2025-08-13Feltz Printing Service PROPOSAL3Onyama Limba
1023Aika M FollerItaly2025-07-20King, Christopher A Esq QUALIFIED96Stephen Shaw
1024David C GauchoJapan2025-07-24Rousseaux, Michael Esq QUALIFIED71Bernardo Dominic
1025Arvin P OstroskyIndia2025-08-03Chanay, Jeffrey A Esq NEW49Stephen Shaw
1026Alejandro D StockhamGermany2025-07-30Morlong Associates NEW53Elwin Sharvill
1027Isabel I RimCanada2025-08-03Chanay, Jeffrey A Esq UNQUALIFIED81Onyama Limba
1028Murillo C GauchoUnited Kingdom2025-08-05Chapman, Ross E Esq UNQUALIFIED72Ivan Magalhaes
1029Rodrigues U RutaRussia2025-07-17Chapman, Ross E Esq RENEWAL84Ivan Magalhaes
1030Alejandro P DilliardAustralia2025-08-12Printing Dimensions QUALIFIED47Bernardo Dominic
1031Smith Z SchemmerAustralia2025-07-17Chanay, Jeffrey A Esq QUALIFIED70Stephen Shaw
1032Maisha P MaletArgentina2025-07-30Benton, John B Jr UNQUALIFIED34Elwin Sharvill
1033Isabel D BowleySpain2025-08-13Feiner Bros QUALIFIED56Amy Elsner
1034Cody H FigeroaUnited Kingdom2025-08-02Truhlar And Truhlar Attys PROPOSAL17Xuxue Feng
1035Jeanfrancois K OstroskySpain2025-08-13Rousseaux, Michael Esq UNQUALIFIED94Stephen Shaw
1036Izzy I GillianJapan2025-07-25Benton, John B Jr RENEWAL9Asiya Javayant
1037Izzy Q MarrierItaly2025-08-03King, Christopher A Esq UNQUALIFIED91Amy Elsner
1038Aruna P CaudySpain2025-08-03Benton, John B Jr UNQUALIFIED45Onyama Limba
1039Julie H MacleadIndia2025-07-31Truhlar And Truhlar Attys NEW10Stephen Shaw
1040Costa J DarakjyIndia2025-07-24Dorl, James J Esq QUALIFIED81Asiya Javayant
1041Silvio P GarufiAustralia2025-07-29Chapman, Ross E Esq QUALIFIED36Stephen Shaw
1042Costa Y WaycottJapan2025-08-08Commercial Press PROPOSAL98Elwin Sharvill
1043Claire N VocelkaSpain2025-07-23Chemel, James L Cpa NEW7Stephen Shaw
1044Cody O DilliardFrance2025-08-11Truhlar And Truhlar Attys UNQUALIFIED50Ivan Magalhaes
1045Isabel C ChuiArgentina2025-08-01Chanay, Jeffrey A Esq NEGOTIATION28Stephen Shaw
1046Tony F CaldareraBrazil2025-08-03Rangoni Of Florence NEGOTIATION34Onyama Limba
1047Emily Z CaldareraRussia2025-07-23Commercial Press QUALIFIED10Xuxue Feng
1048Maisha Z DarakjyJapan2025-07-18Chapman, Ross E Esq RENEWAL63Onyama Limba
1049David J VenereUnited Kingdom2025-08-12Commercial Press QUALIFIED45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie S OldroydItalyStephen Shaw NEGOTIATION
Murillo Y DarakjyRussiaIoni Bowcher NEW
Leja T ButtUnited KingdomIoni Bowcher UNQUALIFIED
Arvin A MaletFranceElwin Sharvill NEGOTIATION
Cody Q MaletItalyIvan Magalhaes NEW
Kaitlin M OldroydJapanIvan Magalhaes NEGOTIATION
Stacey V WieserItalyIvan Magalhaes UNQUALIFIED
Sinclair A WhobreyIndiaAnna Fali NEGOTIATION
Alejandro G DoeItalyIoni Bowcher UNQUALIFIED
Izzy J TollnerSpainStephen Shaw QUALIFIED
Jennifer K SaylorsArgentinaIoni Bowcher RENEWAL
Antonio H StockhamItalyOnyama Limba PROPOSAL
David B CaudyItalyOnyama Limba PROPOSAL
Aruna J GauchoGermanyOnyama Limba NEGOTIATION
Emily V RimJapanAsiya Javayant RENEWAL
Morrow V GlickFranceIoni Bowcher RENEWAL
Maria D CaudyItalyIvan Magalhaes UNQUALIFIED
Antonio O SlusarskiFranceXuxue Feng NEW
Nicolas C RutaUnited KingdomAnna Fali UNQUALIFIED
Arvin T MaletJapanIoni Bowcher PROPOSAL
Wickens L BologniaBrazilIoni Bowcher RENEWAL
Faith S IturbideFranceAmy Elsner NEGOTIATION
Julie U CaldareraCanadaStephen Shaw NEW
Juan Q ShinkoGermanyAsiya Javayant PROPOSAL
Nicolas R MacleadItalyStephen Shaw UNQUALIFIED
Claire Q GarufiJapanStephen Shaw QUALIFIED
Leja K CaudyRussiaIoni Bowcher UNQUALIFIED
Kadeem A OldroydFranceAmy Elsner PROPOSAL
Aruna Q ShinkoFranceIoni Bowcher NEGOTIATION
Jennifer W GarufiJapanBernardo Dominic NEGOTIATION
Munro Z ButtCanadaOnyama Limba PROPOSAL
Isabel M OstroskyUnited KingdomBernardo Dominic PROPOSAL
Smith Z SergiJapanXuxue Feng NEGOTIATION
Wickens O PerinJapanBernardo Dominic UNQUALIFIED
Jones Z GlickGermanyStephen Shaw QUALIFIED
Smith S BologniaCanadaStephen Shaw NEW
Ricardo E IturbideItalyXuxue Feng QUALIFIED
Stacey C OldroydCanadaAnna Fali PROPOSAL
Octavia W StensethCanadaElwin Sharvill UNQUALIFIED
Antonio E GauchoRussiaIvan Magalhaes QUALIFIED
Stacey M FlosiJapanOnyama Limba QUALIFIED
Aditya R DoeSpainStephen Shaw NEW
Julie Z TollnerArgentinaBernardo Dominic NEW
Ashley I DoeBrazilAsiya Javayant PROPOSAL
Costa S PaprockiJapanXuxue Feng NEGOTIATION
Ashley G OldroydCanadaAnna Fali NEW
Arvin X ButtBrazilBernardo Dominic UNQUALIFIED
Octavia A BowleyGermanyXuxue Feng UNQUALIFIED
James W BologniaIndiaBernardo Dominic RENEWAL
Murillo L MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Murillo U Wieser
Chavez F Vocelka
Jennifer V Kolmetz
Claire J Oldroyd
Adams S Vocelka
Jones G Figeroa
Stacey W Doe
Sinclair F Campain
Isabel M Slusarski
Sinclair U Slusarski
Claire P Figeroa
Smith R Iturbide
Leja Y Vocelka
Isabel M Whobrey
Chavez X Malet
Maisha T Gillian
Rodrigues V Garufi
Costa Q Dilliard
Mayumi X Rulapaugh
Ashley K Ruta
Smith J Malet
Jones S Nicka
Alejandro O Nestle
Arvin Q Flosi
Isabel H Doe
Arvin M Briddick
James D Briddick
Johnson H Malet
Aruna L Saylors
Murillo G Vocelka
Stacey P Rim
Clifford Q Malet
Jefferson Y Glick
Maisha O Vocelka
Mujtaba L Ferencz
Faith R Figeroa
Ivar X Ferencz
Adams D Perin
Faith Q Shinko
Adams E Gaucho
Faith X Bolognia
Stacey G Poquette
Isabel N Campain
Kaitlin E Kolmetz
Alejandro E Kolmetz
Nicolas H Paprocki
Clifford U Kusko
Ricardo N Schemmer
Antonio W Gaucho
Izzy P Iturbide
IdCountryDate
1000India2025-08-05
1001Spain2025-08-11
1002France2025-08-11
1003Japan2025-08-12
1004Spain2025-08-13
1005Australia2025-08-10
1006United Kingdom2025-08-02
1007France2025-07-20
1008Italy2025-08-08
1009United Kingdom2025-08-02
1010India2025-08-10
1011Canada2025-08-06
1012Germany2025-08-04
1013Canada2025-07-17
1014Spain2025-07-17
1015Brazil2025-08-06
1016France2025-07-27
1017Canada2025-08-07
1018Canada2025-07-31
1019Spain2025-08-08
1020Brazil2025-07-20
1021Argentina2025-07-22
1022Brazil2025-08-07
1023Brazil2025-08-05
1024France2025-07-30
1025Argentina2025-08-09
1026Australia2025-07-24
1027Brazil2025-08-01
1028Russia2025-08-03
1029Germany2025-07-15
1030Spain2025-07-28
1031Italy2025-07-31
1032Italy2025-08-07
1033Australia2025-07-15
1034Argentina2025-08-11
1035India2025-07-24
1036Canada2025-08-09
1037Argentina2025-07-21
1038India2025-07-24
1039India2025-07-29
1040Australia2025-08-08
1041Canada2025-08-02
1042Italy2025-07-15
1043United Kingdom2025-07-22
1044Spain2025-07-21
1045Japan2025-07-26
1046Germany2025-08-10
1047Australia2025-08-10
1048Italy2025-08-11
1049Spain2025-07-23

On-Demand Data

NameIdCountryDate
Stacey H Wieser1000Japan2025-07-29
Leon B Schemmer1001Canada2025-07-22
Claire F Bolognia1002Argentina2025-07-28
Leja P Chui1003Italy2025-07-19
Rodrigues G Tollner1004France2025-08-03
Emily S Perin1005Australia2025-07-31
Aika V Kolmetz1006Germany2025-08-04
Ivar D Nestle1007Argentina2025-07-28
Leja V Vocelka1008Germany2025-07-29
Chavez Z Caldarera1009Russia2025-08-12
Clifford G Whobrey1010United Kingdom2025-07-27
Nicolas L Gillian1011Japan2025-08-13
Juan B Inouye1012Argentina2025-07-31
Claire G Tollner1013Canada2025-07-20
Misaki M Bolognia1014Japan2025-07-15
Juan I Ostrosky1015Japan2025-08-07
Tony M Butt1016Argentina2025-08-12
Cody I Iturbide1017Russia2025-08-06
Jennifer U Darakjy1018India2025-07-25
Julie Y Tollner1019Japan2025-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G VocelkaCanadaXuxue Feng NEGOTIATION
Jeanfrancois C TollnerSpainIoni Bowcher NEW
Ashley X GauchoJapanStephen Shaw RENEWAL
Mujtaba W ChuiRussiaAsiya Javayant QUALIFIED
Jones K GarufiFranceStephen Shaw NEGOTIATION
Jeanfrancois I RutaAustraliaXuxue Feng PROPOSAL
Costa N KolmetzFranceBernardo Dominic RENEWAL
Salvatore Q StockhamRussiaIvan Magalhaes QUALIFIED
Nicolas B ChuiAustraliaXuxue Feng UNQUALIFIED
Mayumi U KuskoUnited KingdomXuxue Feng PROPOSAL
Darci L FigeroaCanadaAmy Elsner RENEWAL
Maria E GillianBrazilAnna Fali UNQUALIFIED
Johnson W FerenczBrazilOnyama Limba NEGOTIATION
Chavez B SchemmerUnited KingdomAnna Fali RENEWAL
Alejandro T OldroydRussiaAnna Fali NEW
Munro H IturbideAustraliaOnyama Limba NEW
Nicolas H GillianArgentinaStephen Shaw QUALIFIED
Leon G PerinBrazilBernardo Dominic NEGOTIATION
James A BriddickRussiaXuxue Feng PROPOSAL
Stacey C NickaIndiaOnyama Limba NEGOTIATION
Darci F ShinkoIndiaAmy Elsner QUALIFIED
Jeanfrancois G FollerRussiaOnyama Limba NEW
Tony H AlbaresItalyAsiya Javayant UNQUALIFIED
Misaki O WaycottRussiaAsiya Javayant NEW
James P IturbideJapanIoni Bowcher QUALIFIED
Isabel I FollerFranceIoni Bowcher RENEWAL
Munro Q SchemmerJapanElwin Sharvill PROPOSAL
Juan N GauchoFranceBernardo Dominic NEGOTIATION
Costa H SergiRussiaIoni Bowcher NEGOTIATION
Morrow W DoeUnited KingdomIoni Bowcher RENEWAL
Claire S FerenczFranceElwin Sharvill UNQUALIFIED
Darci U RoysterSpainIvan Magalhaes NEW
Alejandro K FigeroaIndiaAnna Fali UNQUALIFIED
Darci I RutaFranceXuxue Feng QUALIFIED
Ivar I SaylorsItalyXuxue Feng QUALIFIED
Juan J WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Julie N GlickArgentinaAmy Elsner RENEWAL
Chavez R VocelkaBrazilElwin Sharvill NEW
Maisha K CampainFranceAsiya Javayant RENEWAL
Smith I TollnerUnited KingdomIvan Magalhaes 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>