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
Sinclair Y FerenczAustraliaAsiya Javayant NEW
Aruna P BologniaBrazilIoni Bowcher UNQUALIFIED
Faith L SlusarskiBrazilAsiya Javayant NEW
Jennifer V StockhamJapanXuxue Feng RENEWAL
Chavez O RimJapanBernardo Dominic NEW
Murillo R WaycottJapanBernardo Dominic NEGOTIATION
Mayumi A BologniaArgentinaElwin Sharvill NEW
Claire H MorascaIndiaStephen Shaw UNQUALIFIED
Clifford Z ShinkoBrazilElwin Sharvill NEW
Munro D ShinkoIndiaElwin Sharvill RENEWAL
Morrow M DoeIndiaAsiya Javayant PROPOSAL
Murillo P WhobreySpainXuxue Feng QUALIFIED
Aruna X FollerUnited KingdomXuxue Feng PROPOSAL
Morrow A DarakjyIndiaAsiya Javayant PROPOSAL
Jefferson W PaprockiUnited KingdomElwin Sharvill RENEWAL
Francesco F ButtFranceStephen Shaw UNQUALIFIED
Jefferson Z InouyeAustraliaIvan Magalhaes NEW
Smith K DoeSpainStephen Shaw PROPOSAL
Jeanfrancois R KolmetzCanadaAsiya Javayant PROPOSAL
Ricardo U TollnerArgentinaBernardo Dominic NEGOTIATION
Claire M RulapaughItalyIvan Magalhaes RENEWAL
Ivar J IturbideCanadaElwin Sharvill QUALIFIED
Kaitlin K NestleItalyStephen Shaw RENEWAL
Leja D InouyeSpainOnyama Limba NEGOTIATION
Deepesh Q DoeIndiaAnna Fali NEGOTIATION
David Q PaprockiGermanyOnyama Limba PROPOSAL
James K KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Francesco T FigeroaGermanyElwin Sharvill QUALIFIED
Jefferson H MaletUnited KingdomOnyama Limba NEGOTIATION
Faith M KuskoFranceAsiya Javayant UNQUALIFIED
Chavez D FerenczItalyBernardo Dominic UNQUALIFIED
Emily F OldroydBrazilIvan Magalhaes UNQUALIFIED
Leon I MarrierItalyElwin Sharvill UNQUALIFIED
Antonio J NestleItalyStephen Shaw RENEWAL
Maisha X SaylorsUnited KingdomAnna Fali UNQUALIFIED
Kaitlin R VenereIndiaElwin Sharvill QUALIFIED
Arvin E MarrierGermanyOnyama Limba QUALIFIED
Aika Q FlosiGermanyAsiya Javayant NEW
Ashley O RimGermanyAmy Elsner QUALIFIED
Aditya Q PoquetteArgentinaIoni Bowcher PROPOSAL
Alejandro V GarufiBrazilAmy Elsner RENEWAL
Claire D AmigonSpainIvan Magalhaes QUALIFIED
Aika T FerenczRussiaAmy Elsner QUALIFIED
Clifford T KolmetzSpainAmy Elsner PROPOSAL
Nicolas V DoeAustraliaStephen Shaw UNQUALIFIED
Leon H KuskoJapanElwin Sharvill UNQUALIFIED
Nicolas W SlusarskiGermanyXuxue Feng RENEWAL
Costa M DilliardRussiaAmy Elsner NEGOTIATION
Ricardo M FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Maria R WaycottRussiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer W DarakjyGermanyAsiya Javayant UNQUALIFIED
Ivar Y GlickSpainElwin Sharvill NEGOTIATION
Francesco P RulapaughJapanXuxue Feng PROPOSAL
Tony F InouyeCanadaStephen Shaw QUALIFIED
Smith D StockhamAustraliaAmy Elsner UNQUALIFIED
Kadeem F MaletRussiaOnyama Limba PROPOSAL
Juan Z ShinkoItalyBernardo Dominic NEW
Leja Z AlbaresCanadaAsiya Javayant RENEWAL
Maria N OldroydArgentinaBernardo Dominic QUALIFIED
Aruna U InouyeItalyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro V MorascaGermany2025-10-01Chanay, Jeffrey A Esq RENEWAL11Bernardo Dominic
1001Nicolas D IturbideGermany2025-09-15Printing Dimensions NEW4Amy Elsner
1002Arvin Q MarrierSpain2025-10-09King, Christopher A Esq QUALIFIED92Stephen Shaw
1003Murillo B DoeIndia2025-09-13Benton, John B Jr RENEWAL21Asiya Javayant
1004Smith H NickaCanada2025-09-14Morlong Associates PROPOSAL52Ioni Bowcher
1005Antonio E KuskoFrance2025-09-13Morlong Associates NEGOTIATION3Bernardo Dominic
1006Adams S MaletIndia2025-09-13Feltz Printing Service QUALIFIED45Onyama Limba
1007Claire W RoysterFrance2025-09-23Feltz Printing Service NEGOTIATION8Xuxue Feng
1008Francesco V MaletItaly2025-09-10Benton, John B Jr NEGOTIATION71Amy Elsner
1009Johnson S MorascaSpain2025-10-02Printing Dimensions PROPOSAL67Elwin Sharvill
1010Isabel X MaletCanada2025-09-23Dorl, James J Esq QUALIFIED61Amy Elsner
1011Wickens S AlbaresBrazil2025-09-16Chanay, Jeffrey A Esq NEGOTIATION90Xuxue Feng
1012Salvatore L IturbideFrance2025-09-22Benton, John B Jr PROPOSAL64Ivan Magalhaes
1013Deepesh H FigeroaArgentina2025-10-01Truhlar And Truhlar Attys UNQUALIFIED85Asiya Javayant
1014Kadeem T AmigonArgentina2025-09-23Chanay, Jeffrey A Esq NEW24Amy Elsner
1015Munro M DarakjyRussia2025-09-14Morlong Associates NEW12Stephen Shaw
1016Kaitlin P PerinJapan2025-10-09Benton, John B Jr PROPOSAL84Amy Elsner
1017Ivar T StensethSpain2025-09-25Chemel, James L Cpa UNQUALIFIED0Onyama Limba
1018Jennifer O VocelkaJapan2025-10-07Benton, John B Jr RENEWAL4Xuxue Feng
1019Deepesh J DoeCanada2025-10-07Benton, John B Jr NEW3Elwin Sharvill
1020Murillo Y MarrierUnited Kingdom2025-09-11Chapman, Ross E Esq QUALIFIED91Stephen Shaw
1021Octavia N GillianItaly2025-09-16Morlong Associates RENEWAL51Ivan Magalhaes
1022Leja Z DarakjyIndia2025-09-29Buckley Miller Wright NEW60Anna Fali
1023Nicolas G StockhamItaly2025-09-23Benton, John B Jr QUALIFIED92Ivan Magalhaes
1024Leon T GillianCanada2025-10-08King, Christopher A Esq QUALIFIED29Ioni Bowcher
1025Antonio G IturbideGermany2025-09-21Chemel, James L Cpa RENEWAL18Asiya Javayant
1026Sinclair U BologniaCanada2025-09-25Commercial Press QUALIFIED49Xuxue Feng
1027Jeanfrancois F StockhamItaly2025-09-10Chapman, Ross E Esq QUALIFIED69Stephen Shaw
1028Francesco F StockhamIndia2025-09-18Dorl, James J Esq UNQUALIFIED57Stephen Shaw
1029Misaki Q RutaBrazil2025-09-29Buckley Miller Wright PROPOSAL85Xuxue Feng
1030Morrow A FigeroaIndia2025-09-26Chapman, Ross E Esq QUALIFIED55Ivan Magalhaes
1031Isabel U CampainArgentina2025-10-03Dorl, James J Esq QUALIFIED23Anna Fali
1032Juan K StensethJapan2025-09-15Dorl, James J Esq RENEWAL29Xuxue Feng
1033David T DarakjyArgentina2025-09-24Dorl, James J Esq UNQUALIFIED76Onyama Limba
1034Aruna C NestleFrance2025-09-28Rousseaux, Michael Esq RENEWAL76Bernardo Dominic
1035Leja U FigeroaRussia2025-10-08Truhlar And Truhlar Attys QUALIFIED12Asiya Javayant
1036Jennifer O StockhamIndia2025-09-12Buckley Miller Wright RENEWAL10Onyama Limba
1037Clifford N AmigonFrance2025-09-17Morlong Associates NEW73Ioni Bowcher
1038Julie F RimAustralia2025-09-13Commercial Press QUALIFIED75Amy Elsner
1039Costa X CampainArgentina2025-09-12Dorl, James J Esq UNQUALIFIED10Bernardo Dominic
1040Costa X FerenczArgentina2025-09-22Buckley Miller Wright PROPOSAL13Stephen Shaw
1041Jones T RutaAustralia2025-09-28Feltz Printing Service PROPOSAL21Onyama Limba
1042Morrow Z SchemmerFrance2025-09-21Morlong Associates UNQUALIFIED49Bernardo Dominic
1043Julie O FerenczSpain2025-09-28Feiner Bros UNQUALIFIED22Asiya Javayant
1044Claire A VenereJapan2025-10-03Morlong Associates PROPOSAL5Amy Elsner
1045Costa O DarakjyUnited Kingdom2025-09-29Commercial Press NEW19Onyama Limba
1046Wickens Z KolmetzSpain2025-10-08Truhlar And Truhlar Attys RENEWAL23Amy Elsner
1047Stacey T MaletArgentina2025-09-28Rangoni Of Florence NEGOTIATION49Ioni Bowcher
1048Kadeem I StockhamJapan2025-09-27Benton, John B Jr UNQUALIFIED15Ioni Bowcher
1049Alejandro V StockhamFrance2025-10-04Feiner Bros NEW13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer V GauchoIndiaStephen Shaw PROPOSAL
Isabel Y BowleyRussiaIvan Magalhaes UNQUALIFIED
Leon J FerenczBrazilAnna Fali QUALIFIED
Deepesh D RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Cody O SaylorsCanadaStephen Shaw PROPOSAL
Jennifer E RoysterAustraliaXuxue Feng PROPOSAL
Rodrigues G DilliardSpainIoni Bowcher UNQUALIFIED
Chavez S NickaJapanXuxue Feng QUALIFIED
Jeanfrancois U DilliardSpainBernardo Dominic NEW
Izzy V ShinkoCanadaElwin Sharvill RENEWAL
Wickens Y SergiAustraliaAmy Elsner UNQUALIFIED
Sinclair L MaletCanadaElwin Sharvill UNQUALIFIED
Stacey S BologniaFranceBernardo Dominic NEGOTIATION
Leon J TollnerUnited KingdomElwin Sharvill RENEWAL
Aika B PerinSpainXuxue Feng QUALIFIED
Misaki B PerinBrazilAnna Fali NEW
James N NestleRussiaAsiya Javayant QUALIFIED
Smith B AlbaresSpainAsiya Javayant NEGOTIATION
Izzy C BologniaBrazilStephen Shaw PROPOSAL
Wickens O OstroskyFranceOnyama Limba PROPOSAL
Darci Y MorascaAustraliaStephen Shaw UNQUALIFIED
Claire U BologniaUnited KingdomIvan Magalhaes PROPOSAL
Morrow B BriddickJapanIvan Magalhaes RENEWAL
Leja T BowleyIndiaOnyama Limba NEGOTIATION
Emily P VenereRussiaOnyama Limba NEGOTIATION
Morrow Q MaletGermanyStephen Shaw UNQUALIFIED
Munro I SlusarskiUnited KingdomIoni Bowcher RENEWAL
David B KolmetzArgentinaAnna Fali QUALIFIED
Silvio W CampainJapanOnyama Limba QUALIFIED
Emily T CampainGermanyIvan Magalhaes NEW
Antonio H VocelkaAustraliaAsiya Javayant PROPOSAL
Smith W AlbaresJapanOnyama Limba UNQUALIFIED
Mayumi T CaldareraSpainAnna Fali NEGOTIATION
Isabel Z SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Isabel W DoeRussiaAmy Elsner QUALIFIED
Misaki N BologniaRussiaAnna Fali QUALIFIED
Cody H PoquetteRussiaOnyama Limba UNQUALIFIED
Stacey E KolmetzUnited KingdomBernardo Dominic NEW
Morrow A RoysterFranceAsiya Javayant QUALIFIED
Sinclair S ChuiBrazilXuxue Feng UNQUALIFIED
David C ChuiArgentinaOnyama Limba NEW
Isabel G NestleItalyStephen Shaw UNQUALIFIED
Francesco W RimCanadaStephen Shaw NEW
Octavia M PerinJapanElwin Sharvill NEGOTIATION
Octavia Z StockhamCanadaAsiya Javayant PROPOSAL
Jeanfrancois P DoeAustraliaElwin Sharvill UNQUALIFIED
Salvatore V SergiJapanElwin Sharvill NEGOTIATION
Deepesh T GarufiArgentinaAnna Fali PROPOSAL
Jennifer L KuskoIndiaXuxue Feng PROPOSAL
Nicolas Z PerinIndiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily V Rulapaugh
Tony O Albares
James M Malet
Aruna W Albares
Leja Y Albares
Leja R Stenseth
Kaitlin S Gaucho
Wickens X Caudy
Juan O Oldroyd
Rodrigues S Darakjy
Smith E Schemmer
Deepesh S Vocelka
Rodrigues D Ostrosky
Tony F Perin
Murillo W Gaucho
Kadeem A Bowley
Clifford Z Ostrosky
Juan A Shinko
Misaki L Dilliard
Izzy K Venere
Aditya P Chui
Johnson A Royster
Maria V Tollner
Murillo M Stenseth
Leja Z Venere
Wickens T Morasca
Clifford J Amigon
Juan U Sergi
Faith N Garufi
Jennifer R Caldarera
David B Wieser
Adams Y Poquette
Jeanfrancois H Perin
Octavia Z Chui
Faith X Chui
Maisha K Dilliard
Jeanfrancois A Ruta
Deepesh R Bowley
David E Schemmer
Maisha B Schemmer
Ivar B Schemmer
Jefferson V Figeroa
Salvatore Z Figeroa
Rodrigues S Campain
Rodrigues A Wieser
Rodrigues J Shinko
Nicolas N Shinko
Julie D Iturbide
Claire T Glick
Sinclair F Kolmetz
IdCountryDate
1000Russia2025-09-11
1001India2025-09-29
1002Brazil2025-10-09
1003France2025-10-05
1004Russia2025-10-04
1005India2025-09-30
1006Germany2025-10-07
1007Australia2025-09-23
1008Argentina2025-09-10
1009Argentina2025-09-15
1010Brazil2025-09-20
1011Russia2025-09-14
1012Australia2025-09-22
1013Germany2025-10-09
1014United Kingdom2025-10-08
1015Canada2025-09-16
1016United Kingdom2025-09-22
1017Japan2025-10-07
1018France2025-09-18
1019Brazil2025-09-16
1020Australia2025-09-22
1021Canada2025-09-21
1022Canada2025-10-02
1023Germany2025-09-20
1024Brazil2025-10-01
1025Argentina2025-09-10
1026Brazil2025-09-13
1027Argentina2025-09-12
1028Italy2025-09-25
1029Spain2025-09-14
1030Australia2025-09-18
1031Australia2025-09-26
1032United Kingdom2025-09-16
1033Canada2025-10-03
1034Germany2025-09-22
1035Italy2025-10-04
1036Argentina2025-09-17
1037Germany2025-09-17
1038Argentina2025-10-06
1039Australia2025-09-30
1040Spain2025-09-20
1041Russia2025-09-17
1042Australia2025-09-12
1043Germany2025-09-27
1044Spain2025-09-27
1045Italy2025-10-09
1046Brazil2025-10-08
1047Canada2025-09-24
1048Spain2025-09-28
1049Russia2025-09-22

On-Demand Data

NameIdCountryDate
Maria F Campain1000Germany2025-10-03
Johnson Q Malet1001Russia2025-10-07
Faith O Ferencz1002Germany2025-10-02
Leon P Amigon1003United Kingdom2025-09-26
Wickens R Paprocki1004Argentina2025-09-18
Kaitlin X Poquette1005Italy2025-10-03
Cody Z Maclead1006Russia2025-10-01
Jones Q Doe1007Italy2025-09-15
Tony Q Venere1008Italy2025-10-04
Sinclair A Stockham1009India2025-09-28
Munro O Paprocki1010Australia2025-09-14
Ivar Y Tollner1011United Kingdom2025-10-01
Ricardo V Venere1012United Kingdom2025-10-08
Jeanfrancois L Vocelka1013Italy2025-09-17
Tony I Garufi1014Australia2025-10-08
Ricardo M Morasca1015Argentina2025-09-23
Sinclair Y Saylors1016Brazil2025-09-27
Jefferson Y Amigon1017Brazil2025-09-29
Kaitlin V Kusko1018United Kingdom2025-09-22
Arvin F Shinko1019United Kingdom2025-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan N ShinkoGermanyOnyama Limba QUALIFIED
David N ShinkoJapanStephen Shaw NEW
James D BriddickUnited KingdomAnna Fali NEW
Silvio E FigeroaGermanyXuxue Feng NEW
Claire K InouyeUnited KingdomXuxue Feng UNQUALIFIED
Darci P OstroskyCanadaIoni Bowcher PROPOSAL
Kaitlin Q KuskoCanadaIvan Magalhaes NEGOTIATION
Smith F PerinBrazilStephen Shaw NEGOTIATION
Clifford Q CampainAustraliaElwin Sharvill PROPOSAL
Stacey R VenereFranceElwin Sharvill PROPOSAL
Sinclair L BriddickGermanyAsiya Javayant NEGOTIATION
Maria U RoysterSpainBernardo Dominic RENEWAL
Mujtaba F FollerCanadaOnyama Limba NEGOTIATION
Johnson N FollerItalyIvan Magalhaes UNQUALIFIED
James T MorascaFranceAnna Fali QUALIFIED
James O BowleyItalyIoni Bowcher PROPOSAL
David T ButtSpainXuxue Feng QUALIFIED
Clifford X InouyeUnited KingdomXuxue Feng NEGOTIATION
Ivar P ChuiUnited KingdomAnna Fali QUALIFIED
Juan J CaudyFranceIoni Bowcher RENEWAL
Leja O AlbaresAustraliaElwin Sharvill NEGOTIATION
Ashley K MacleadUnited KingdomXuxue Feng UNQUALIFIED
Octavia P GarufiUnited KingdomOnyama Limba NEGOTIATION
Morrow I MorascaItalyStephen Shaw PROPOSAL
Aditya Q AmigonJapanBernardo Dominic UNQUALIFIED
James U DarakjyUnited KingdomAmy Elsner PROPOSAL
Ivar H KolmetzArgentinaXuxue Feng PROPOSAL
Juan H RimRussiaIvan Magalhaes QUALIFIED
Leja C NickaUnited KingdomIoni Bowcher UNQUALIFIED
Costa T RulapaughItalyIvan Magalhaes PROPOSAL
Clifford S GlickUnited KingdomAmy Elsner QUALIFIED
Jennifer S FigeroaSpainXuxue Feng RENEWAL
Antonio O GlickIndiaAmy Elsner QUALIFIED
Darci N OstroskyUnited KingdomAmy Elsner PROPOSAL
Juan F FerenczRussiaIoni Bowcher QUALIFIED
Mayumi Z SaylorsItalyIvan Magalhaes QUALIFIED
Greenwood N BriddickIndiaElwin Sharvill UNQUALIFIED
Maria G FigeroaItalyIvan Magalhaes NEW
Cody A OstroskyCanadaAmy Elsner RENEWAL
Ashley O FollerSpainStephen Shaw PROPOSAL

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