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
Antonio Y StensethUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem A DarakjyBrazilAsiya Javayant PROPOSAL
Nicolas X SergiUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues X FollerAustraliaIoni Bowcher UNQUALIFIED
Kadeem R TollnerCanadaXuxue Feng UNQUALIFIED
Juan W MaletItalyStephen Shaw UNQUALIFIED
Alejandro N MaletFranceIvan Magalhaes NEGOTIATION
Rodrigues O DarakjyAustraliaIoni Bowcher UNQUALIFIED
Jefferson A MorascaJapanIoni Bowcher NEW
Julie O DoeCanadaOnyama Limba PROPOSAL
Rodrigues R CampainArgentinaStephen Shaw PROPOSAL
Maria I PaprockiUnited KingdomAnna Fali NEGOTIATION
Faith N VenereFranceIoni Bowcher PROPOSAL
Greenwood Z NickaIndiaAmy Elsner PROPOSAL
Francesco O MaletAustraliaAmy Elsner QUALIFIED
Maria H NestleItalyAsiya Javayant RENEWAL
Juan M WaycottGermanyBernardo Dominic UNQUALIFIED
Juan Y KuskoFranceBernardo Dominic NEW
Wickens L NickaSpainAnna Fali PROPOSAL
Misaki J GauchoArgentinaStephen Shaw PROPOSAL
Rodrigues O RutaIndiaXuxue Feng PROPOSAL
Adams K PerinRussiaAnna Fali QUALIFIED
Tony Z GauchoUnited KingdomIoni Bowcher NEW
Deepesh Z ShinkoRussiaStephen Shaw NEW
Cody K PaprockiIndiaElwin Sharvill QUALIFIED
Aruna E OldroydJapanAmy Elsner PROPOSAL
Johnson T OldroydGermanyIoni Bowcher QUALIFIED
Kadeem X SaylorsJapanIvan Magalhaes NEW
Claire N KolmetzItalyAmy Elsner NEGOTIATION
Julie B PaprockiBrazilBernardo Dominic RENEWAL
Adams Q GarufiBrazilStephen Shaw NEGOTIATION
Silvio S AlbaresCanadaStephen Shaw PROPOSAL
Cody I OldroydBrazilElwin Sharvill NEW
Ivar W SergiItalyAsiya Javayant QUALIFIED
Misaki D MaletFranceOnyama Limba NEW
Octavia X InouyeCanadaIoni Bowcher PROPOSAL
Johnson H ChuiJapanBernardo Dominic UNQUALIFIED
Adams R BowleyBrazilAmy Elsner NEGOTIATION
Juan O MorascaCanadaAmy Elsner PROPOSAL
Arvin O MaletItalyAmy Elsner QUALIFIED
Jeanfrancois Y DoeItalyAsiya Javayant QUALIFIED
Jeanfrancois E RoysterBrazilOnyama Limba PROPOSAL
Alejandro R MarrierItalyIoni Bowcher NEW
Deepesh N BologniaBrazilBernardo Dominic NEW
Ivar N SchemmerJapanAnna Fali RENEWAL
Kadeem T MaletRussiaAmy Elsner NEGOTIATION
David K CampainBrazilAnna Fali NEGOTIATION
Greenwood K DarakjyFranceOnyama Limba QUALIFIED
Mujtaba C KolmetzIndiaElwin Sharvill RENEWAL
Sinclair F MorascaRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Smith F FigeroaGermanyStephen Shaw RENEWAL
Mujtaba Y BriddickRussiaAsiya Javayant RENEWAL
Darci N KolmetzGermanyElwin Sharvill QUALIFIED
Costa J WaycottCanadaBernardo Dominic NEW
Leon P FollerJapanAsiya Javayant QUALIFIED
Leon G TollnerAustraliaAsiya Javayant UNQUALIFIED
Antonio T DoeBrazilStephen Shaw NEW
Kaitlin S IturbideFranceOnyama Limba QUALIFIED
Deepesh C VenereJapanStephen Shaw UNQUALIFIED
Munro Z GillianBrazilAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood U FigeroaGermany2025-08-21Commercial Press RENEWAL95Asiya Javayant
1001Costa L SaylorsAustralia2025-08-20Chanay, Jeffrey A Esq PROPOSAL73Anna Fali
1002Clifford N BologniaIndia2025-08-18Chemel, James L Cpa QUALIFIED96Onyama Limba
1003Maisha S ButtUnited Kingdom2025-09-09Chemel, James L Cpa QUALIFIED54Ivan Magalhaes
1004Isabel W KolmetzAustralia2025-08-25Feiner Bros UNQUALIFIED29Anna Fali
1005Jennifer O KolmetzBrazil2025-09-14Rousseaux, Michael Esq UNQUALIFIED79Stephen Shaw
1006Smith Y SlusarskiAustralia2025-08-30Buckley Miller Wright NEW48Bernardo Dominic
1007Leon T GarufiBrazil2025-09-08Commercial Press QUALIFIED24Onyama Limba
1008Arvin Q AmigonGermany2025-09-12Chanay, Jeffrey A Esq UNQUALIFIED49Xuxue Feng
1009Chavez I ButtGermany2025-09-05Benton, John B Jr UNQUALIFIED22Xuxue Feng
1010Chavez V SlusarskiGermany2025-09-04Benton, John B Jr NEGOTIATION77Anna Fali
1011Adams O NestleItaly2025-08-26Chanay, Jeffrey A Esq NEGOTIATION32Ioni Bowcher
1012Alejandro O FigeroaItaly2025-09-03Chapman, Ross E Esq RENEWAL93Anna Fali
1013Costa V OstroskyUnited Kingdom2025-09-06Feiner Bros NEW63Ioni Bowcher
1014Leja A PaprockiItaly2025-08-24Benton, John B Jr QUALIFIED12Asiya Javayant
1015Alejandro F WaycottJapan2025-09-10Rousseaux, Michael Esq PROPOSAL26Elwin Sharvill
1016Nicolas X RimAustralia2025-09-10Rousseaux, Michael Esq QUALIFIED45Elwin Sharvill
1017Aditya U BriddickUnited Kingdom2025-08-22Rousseaux, Michael Esq NEW79Elwin Sharvill
1018Chavez P WhobreyGermany2025-09-07Buckley Miller Wright UNQUALIFIED65Asiya Javayant
1019Arvin L SchemmerSpain2025-09-11Truhlar And Truhlar Attys NEW2Stephen Shaw
1020Greenwood N GlickUnited Kingdom2025-09-10Commercial Press NEW31Amy Elsner
1021Salvatore K GlickCanada2025-09-05Morlong Associates PROPOSAL57Onyama Limba
1022Adams A WaycottItaly2025-08-23Chemel, James L Cpa QUALIFIED71Bernardo Dominic
1023Sinclair E MarrierItaly2025-09-10Commercial Press NEGOTIATION46Onyama Limba
1024Morrow M GauchoCanada2025-08-17Benton, John B Jr NEW4Asiya Javayant
1025Salvatore P WieserUnited Kingdom2025-09-03Chanay, Jeffrey A Esq NEW70Onyama Limba
1026Morrow P TollnerCanada2025-09-11Chapman, Ross E Esq RENEWAL2Xuxue Feng
1027Tony C VocelkaItaly2025-09-10Chapman, Ross E Esq RENEWAL42Amy Elsner
1028Johnson L StensethUnited Kingdom2025-09-05Benton, John B Jr QUALIFIED17Xuxue Feng
1029Ivar P PoquetteFrance2025-09-05Buckley Miller Wright UNQUALIFIED33Asiya Javayant
1030Costa R VenereItaly2025-08-27King, Christopher A Esq NEW54Xuxue Feng
1031Kaitlin L DilliardGermany2025-08-30Rangoni Of Florence QUALIFIED22Anna Fali
1032Mayumi V RulapaughBrazil2025-08-23Commercial Press NEGOTIATION14Stephen Shaw
1033Jeanfrancois E StensethCanada2025-09-01Rangoni Of Florence RENEWAL40Onyama Limba
1034Ricardo B NickaIndia2025-08-16Commercial Press NEW61Xuxue Feng
1035Jefferson L CaudyIndia2025-09-10Chapman, Ross E Esq NEW54Ioni Bowcher
1036James W MaletAustralia2025-09-06Buckley Miller Wright UNQUALIFIED23Xuxue Feng
1037Ashley A BologniaBrazil2025-09-11Printing Dimensions QUALIFIED78Elwin Sharvill
1038Ashley S RimIndia2025-08-25Truhlar And Truhlar Attys RENEWAL33Onyama Limba
1039Leon P StockhamBrazil2025-08-29Rangoni Of Florence RENEWAL95Bernardo Dominic
1040Octavia J SchemmerGermany2025-09-08Morlong Associates UNQUALIFIED54Bernardo Dominic
1041Morrow O WhobreyAustralia2025-09-05Commercial Press RENEWAL56Amy Elsner
1042Wickens Z VocelkaGermany2025-09-06Feltz Printing Service QUALIFIED25Stephen Shaw
1043Johnson A MaletRussia2025-08-25Chapman, Ross E Esq RENEWAL60Anna Fali
1044Chavez E OldroydItaly2025-08-21Buckley Miller Wright PROPOSAL68Ioni Bowcher
1045Isabel H GauchoFrance2025-09-02Morlong Associates PROPOSAL40Xuxue Feng
1046Octavia O NickaJapan2025-09-02Chemel, James L Cpa PROPOSAL70Onyama Limba
1047Maria S WaycottRussia2025-08-31King, Christopher A Esq NEW99Onyama Limba
1048Aruna K CaudyJapan2025-08-31Printing Dimensions NEGOTIATION58Bernardo Dominic
1049Jones W SergiCanada2025-09-01Chemel, James L Cpa NEGOTIATION14Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer G ButtJapanElwin Sharvill NEW
Aruna C NestleArgentinaIoni Bowcher NEGOTIATION
Kadeem F NestleFranceBernardo Dominic QUALIFIED
Ivar U OstroskyFranceOnyama Limba NEW
Murillo S CaldareraUnited KingdomXuxue Feng PROPOSAL
Kadeem A OstroskyItalyOnyama Limba RENEWAL
Maria M KolmetzArgentinaOnyama Limba NEGOTIATION
Arvin D GauchoGermanyAnna Fali QUALIFIED
Silvio U NickaFranceIvan Magalhaes PROPOSAL
Mayumi N SaylorsRussiaOnyama Limba QUALIFIED
Cody W SlusarskiFranceElwin Sharvill QUALIFIED
Tony W VenereFranceAsiya Javayant UNQUALIFIED
David L KuskoFranceOnyama Limba RENEWAL
Emily E RutaUnited KingdomStephen Shaw UNQUALIFIED
Octavia L WaycottRussiaElwin Sharvill RENEWAL
Deepesh E FlosiGermanyBernardo Dominic UNQUALIFIED
Ricardo B PerinFranceXuxue Feng NEW
Clifford U VocelkaFranceOnyama Limba NEGOTIATION
Francesco S PaprockiAustraliaXuxue Feng NEGOTIATION
Alejandro H PaprockiRussiaXuxue Feng QUALIFIED
Salvatore W RimCanadaStephen Shaw RENEWAL
Silvio I BologniaGermanyIoni Bowcher QUALIFIED
Kaitlin R RulapaughCanadaAsiya Javayant QUALIFIED
Greenwood T ChuiItalyIvan Magalhaes NEGOTIATION
Alejandro M OldroydSpainAsiya Javayant NEGOTIATION
David T MaletGermanyXuxue Feng QUALIFIED
Izzy S OstroskyAustraliaIvan Magalhaes NEW
Kaitlin D ButtJapanAmy Elsner RENEWAL
Antonio G IturbideAustraliaAsiya Javayant PROPOSAL
Wickens T GarufiBrazilOnyama Limba NEW
Clifford V SergiJapanXuxue Feng NEW
Aditya J PerinRussiaXuxue Feng RENEWAL
Aika R SergiRussiaStephen Shaw NEGOTIATION
Claire M VocelkaIndiaAnna Fali UNQUALIFIED
Salvatore J PaprockiRussiaXuxue Feng RENEWAL
Tony Q WaycottAustraliaIoni Bowcher QUALIFIED
Claire E MaletSpainIoni Bowcher PROPOSAL
Maria P AlbaresGermanyIoni Bowcher QUALIFIED
Claire W MarrierCanadaAsiya Javayant NEGOTIATION
Juan C KolmetzAustraliaBernardo Dominic QUALIFIED
Kaitlin X WaycottAustraliaAsiya Javayant QUALIFIED
Kaitlin R RutaUnited KingdomAmy Elsner RENEWAL
Claire N RimGermanyIoni Bowcher PROPOSAL
Munro B SergiArgentinaXuxue Feng NEGOTIATION
Mujtaba R DarakjyAustraliaStephen Shaw UNQUALIFIED
Clifford J GarufiGermanyXuxue Feng QUALIFIED
Izzy Z TollnerBrazilBernardo Dominic QUALIFIED
Jones L FigeroaRussiaIoni Bowcher PROPOSAL
Silvio O NestleGermanyAmy Elsner UNQUALIFIED
David Q PaprockiSpainAnna Fali PROPOSAL
Frozen Columns
Name
Jennifer Y Flosi
Kaitlin O Stenseth
Ashley J Poquette
James V Wieser
Kaitlin F Poquette
Ivar Y Rulapaugh
Aditya B Butt
Ricardo V Darakjy
Salvatore Z Butt
Cody F Stockham
Salvatore F Tollner
Emily F Amigon
Francesco Y Paprocki
Antonio I Albares
Clifford O Doe
Mujtaba P Malet
Maria I Stenseth
Faith A Venere
Darci H Gaucho
Jennifer J Whobrey
Johnson B Nicka
Greenwood W Chui
Alejandro D Tollner
Deepesh A Nestle
Mujtaba H Bolognia
Darci P Ostrosky
Ivar G Saylors
Jeanfrancois J Albares
Mujtaba Q Poquette
Aruna G Bolognia
Mujtaba V Rulapaugh
Smith A Vocelka
Isabel E Kolmetz
Maria C Iturbide
Sinclair W Waycott
Chavez E Vocelka
Sinclair I Poquette
Silvio P Saylors
Nicolas D Perin
Francesco J Perin
Kaitlin R Rim
Antonio F Royster
Tony T Dilliard
Aika H Nicka
Ashley E Stockham
Johnson T Bowley
Misaki L Stenseth
James T Rim
Mayumi G Slusarski
Francesco R Oldroyd
IdCountryDate
1000United Kingdom2025-08-18
1001Argentina2025-08-18
1002Germany2025-09-14
1003Australia2025-09-03
1004Brazil2025-09-13
1005Italy2025-08-26
1006Brazil2025-09-14
1007Canada2025-08-31
1008Canada2025-09-01
1009Spain2025-08-20
1010France2025-08-28
1011India2025-08-19
1012United Kingdom2025-08-16
1013Russia2025-09-05
1014Japan2025-09-08
1015Japan2025-08-19
1016Russia2025-08-22
1017Russia2025-09-10
1018Canada2025-09-11
1019Japan2025-09-12
1020Japan2025-09-02
1021Australia2025-08-22
1022Canada2025-09-07
1023Canada2025-08-16
1024United Kingdom2025-08-24
1025Australia2025-08-26
1026India2025-09-02
1027Brazil2025-08-19
1028Argentina2025-08-28
1029Spain2025-09-08
1030Germany2025-08-18
1031Canada2025-08-16
1032Russia2025-08-25
1033Canada2025-09-12
1034Australia2025-09-04
1035Japan2025-08-16
1036Japan2025-08-28
1037Australia2025-09-10
1038Argentina2025-08-22
1039Germany2025-08-27
1040Japan2025-08-17
1041Canada2025-08-23
1042Canada2025-08-28
1043Russia2025-08-20
1044Spain2025-08-21
1045Brazil2025-08-19
1046Germany2025-09-12
1047France2025-08-30
1048Germany2025-09-12
1049Australia2025-08-28

On-Demand Data

NameIdCountryDate
Izzy B Nicka1000Brazil2025-09-11
Rodrigues S Garufi1001France2025-08-16
David I Whobrey1002France2025-09-10
Cody V Caudy1003Australia2025-08-18
Leja Q Gaucho1004Japan2025-09-03
Faith L Kusko1005Spain2025-09-05
Salvatore B Figeroa1006Italy2025-08-29
Nicolas W Albares1007Australia2025-08-31
Ashley K Gaucho1008Argentina2025-08-18
Mayumi R Ruta1009Spain2025-08-18
Octavia E Sergi1010Japan2025-09-13
Silvio H Butt1011France2025-08-21
Rodrigues N Stenseth1012France2025-09-03
Julie M Briddick1013Australia2025-08-16
Jeanfrancois I Dilliard1014Italy2025-08-19
Rodrigues J Doe1015Germany2025-09-13
Clifford C Bolognia1016Italy2025-08-16
Jennifer K Malet1017Germany2025-08-19
Kaitlin V Marrier1018United Kingdom2025-09-07
Faith R Nestle1019United Kingdom2025-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin H AmigonArgentinaStephen Shaw UNQUALIFIED
Tony L KolmetzArgentinaIoni Bowcher NEGOTIATION
Francesco O SlusarskiUnited KingdomStephen Shaw QUALIFIED
Octavia H OstroskyIndiaStephen Shaw QUALIFIED
Deepesh H VocelkaArgentinaElwin Sharvill NEGOTIATION
Murillo L InouyeAustraliaStephen Shaw UNQUALIFIED
Francesco F FlosiFranceElwin Sharvill QUALIFIED
Salvatore R MarrierJapanOnyama Limba QUALIFIED
Johnson G MacleadFranceAnna Fali NEGOTIATION
Maria N RimUnited KingdomIvan Magalhaes QUALIFIED
Murillo M RoysterFranceBernardo Dominic QUALIFIED
Ashley F CaudyIndiaElwin Sharvill PROPOSAL
Nicolas Q MaletCanadaBernardo Dominic PROPOSAL
Mayumi L MaletBrazilBernardo Dominic QUALIFIED
Juan I KolmetzItalyStephen Shaw QUALIFIED
Munro Y SchemmerAustraliaAmy Elsner NEW
Ivar I ShinkoGermanyIvan Magalhaes UNQUALIFIED
Ivar D FollerAustraliaAmy Elsner NEGOTIATION
Jeanfrancois F KolmetzSpainXuxue Feng PROPOSAL
Claire V BriddickItalyIoni Bowcher RENEWAL
Francesco O MorascaFranceElwin Sharvill PROPOSAL
Rodrigues Y ShinkoSpainAnna Fali UNQUALIFIED
Costa Z DarakjyGermanyBernardo Dominic PROPOSAL
Kadeem L IturbideUnited KingdomAsiya Javayant NEGOTIATION
Aditya U BriddickJapanAsiya Javayant RENEWAL
Maria N PaprockiGermanyAnna Fali NEGOTIATION
Ashley F MaletSpainAsiya Javayant UNQUALIFIED
Chavez D GarufiGermanyAnna Fali NEW
Aika Y ChuiRussiaAmy Elsner QUALIFIED
Faith B FerenczItalyAmy Elsner NEGOTIATION
Deepesh Z GauchoJapanIvan Magalhaes PROPOSAL
Tony C OldroydSpainAsiya Javayant UNQUALIFIED
Stacey F MarrierArgentinaOnyama Limba QUALIFIED
Mujtaba S VenereJapanElwin Sharvill RENEWAL
Kaitlin T MaletItalyXuxue Feng RENEWAL
Izzy P DilliardArgentinaIvan Magalhaes PROPOSAL
Faith N RoysterRussiaStephen Shaw RENEWAL
Jennifer R FigeroaSpainElwin Sharvill QUALIFIED
Isabel F MorascaSpainOnyama Limba NEGOTIATION
Wickens G GauchoFranceAmy Elsner NEGOTIATION

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