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
Kaitlin N ChuiUnited KingdomIoni Bowcher QUALIFIED
Clifford C InouyeArgentinaXuxue Feng NEW
Aditya F VenereBrazilElwin Sharvill NEGOTIATION
Isabel T KolmetzJapanAnna Fali NEGOTIATION
David G SlusarskiJapanElwin Sharvill NEGOTIATION
Isabel H StockhamAustraliaIoni Bowcher PROPOSAL
Sinclair T MaletJapanAnna Fali PROPOSAL
Adams E ShinkoCanadaIoni Bowcher NEGOTIATION
Aditya U WaycottUnited KingdomAmy Elsner UNQUALIFIED
Sinclair Z PoquetteAustraliaIoni Bowcher NEW
Mujtaba B SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Emily M BriddickGermanyBernardo Dominic NEGOTIATION
Isabel R CaldareraRussiaBernardo Dominic QUALIFIED
Smith I AmigonGermanyAmy Elsner NEGOTIATION
Wickens T ChuiAustraliaElwin Sharvill QUALIFIED
Jefferson S VenereGermanyIvan Magalhaes NEGOTIATION
Munro R VenereCanadaStephen Shaw NEGOTIATION
Aruna C WieserUnited KingdomBernardo Dominic NEGOTIATION
Aruna Y SaylorsRussiaElwin Sharvill NEW
Ricardo A FlosiCanadaElwin Sharvill NEGOTIATION
Kaitlin N KuskoAustraliaAmy Elsner RENEWAL
Johnson U NestleItalyAnna Fali UNQUALIFIED
Alejandro F InouyeGermanyBernardo Dominic RENEWAL
Ivar E DilliardAustraliaElwin Sharvill NEGOTIATION
David Z SchemmerItalyIoni Bowcher PROPOSAL
Claire Q MaletBrazilXuxue Feng NEGOTIATION
Arvin B MaletUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois R VenereAustraliaAmy Elsner NEGOTIATION
David Q RimBrazilAnna Fali NEGOTIATION
Aditya N RutaRussiaIoni Bowcher UNQUALIFIED
Juan O RoysterIndiaAnna Fali NEW
Francesco I SergiCanadaStephen Shaw QUALIFIED
Tony K MaletAustraliaBernardo Dominic NEGOTIATION
Isabel Q InouyeSpainIoni Bowcher PROPOSAL
Nicolas M BriddickGermanyIoni Bowcher PROPOSAL
Smith G GarufiSpainAsiya Javayant NEW
Izzy N FlosiItalyIoni Bowcher NEGOTIATION
Rodrigues U DoeRussiaStephen Shaw PROPOSAL
Costa O BriddickUnited KingdomBernardo Dominic NEGOTIATION
James F BowleyIndiaAmy Elsner RENEWAL
Alejandro I ShinkoBrazilStephen Shaw QUALIFIED
Stacey W MaletItalyBernardo Dominic UNQUALIFIED
Tony E NestleAustraliaAmy Elsner RENEWAL
Jeanfrancois J GillianAustraliaXuxue Feng QUALIFIED
Ashley L RulapaughRussiaIvan Magalhaes RENEWAL
Costa A MorascaSpainIvan Magalhaes NEW
David Q CaudyBrazilIvan Magalhaes NEW
Mujtaba I RimJapanOnyama Limba NEGOTIATION
Misaki W CaldareraFranceXuxue Feng NEW
Adams X GauchoIndiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem L SlusarskiCanadaOnyama Limba QUALIFIED
James N DarakjyIndiaIoni Bowcher QUALIFIED
Murillo X MarrierItalyStephen Shaw QUALIFIED
Maisha N VenereSpainXuxue Feng NEGOTIATION
Cody O FollerItalyStephen Shaw PROPOSAL
Jones C RutaRussiaAnna Fali NEGOTIATION
Stacey X WaycottJapanAsiya Javayant UNQUALIFIED
Costa U MorascaAustraliaAmy Elsner QUALIFIED
Costa E DilliardItalyAsiya Javayant NEGOTIATION
Clifford Q RoysterJapanAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas X AlbaresIndia2025-10-09Feiner Bros PROPOSAL41Ioni Bowcher
1001Izzy H CaudyJapan2025-10-24Rousseaux, Michael Esq PROPOSAL47Ivan Magalhaes
1002Sinclair I InouyeItaly2025-10-27Morlong Associates RENEWAL91Ioni Bowcher
1003Morrow Q TollnerArgentina2025-10-17Rangoni Of Florence NEW31Bernardo Dominic
1004Nicolas U CampainJapan2025-10-22Truhlar And Truhlar Attys UNQUALIFIED62Stephen Shaw
1005Adams U PaprockiItaly2025-10-15Truhlar And Truhlar Attys NEGOTIATION49Ivan Magalhaes
1006Antonio M NestleGermany2025-10-05King, Christopher A Esq PROPOSAL98Elwin Sharvill
1007Morrow O PaprockiIndia2025-10-12Feltz Printing Service QUALIFIED51Xuxue Feng
1008Antonio U RulapaughSpain2025-10-21Chapman, Ross E Esq NEW71Stephen Shaw
1009Jones W FigeroaArgentina2025-10-06King, Christopher A Esq NEGOTIATION27Ioni Bowcher
1010Maria P BriddickUnited Kingdom2025-10-25Printing Dimensions QUALIFIED10Stephen Shaw
1011Mujtaba S RimItaly2025-10-08Chanay, Jeffrey A Esq NEW76Bernardo Dominic
1012Claire Z BowleyItaly2025-10-04Chemel, James L Cpa NEW90Elwin Sharvill
1013Aruna C IturbideJapan2025-10-23Buckley Miller Wright QUALIFIED24Stephen Shaw
1014Munro E RoysterItaly2025-10-11Morlong Associates UNQUALIFIED86Elwin Sharvill
1015Faith H ButtAustralia2025-10-29Feiner Bros UNQUALIFIED74Ioni Bowcher
1016Kadeem Y TollnerSpain2025-10-26Buckley Miller Wright NEGOTIATION78Amy Elsner
1017Isabel Q BowleyGermany2025-11-01Commercial Press RENEWAL65Ioni Bowcher
1018Faith K NestleCanada2025-10-16Morlong Associates UNQUALIFIED86Ioni Bowcher
1019Aditya F StockhamArgentina2025-10-15Feiner Bros NEW79Amy Elsner
1020Kaitlin Z VocelkaJapan2025-10-07Morlong Associates QUALIFIED84Ivan Magalhaes
1021Mujtaba J VocelkaRussia2025-10-13Dorl, James J Esq QUALIFIED2Amy Elsner
1022Kadeem R GillianArgentina2025-10-30Chapman, Ross E Esq NEGOTIATION48Xuxue Feng
1023Deepesh E OldroydIndia2025-11-02Printing Dimensions PROPOSAL31Ioni Bowcher
1024Aruna S MaletArgentina2025-10-26Rangoni Of Florence NEW53Bernardo Dominic
1025Johnson P WhobreyGermany2025-10-07Rangoni Of Florence NEW40Ivan Magalhaes
1026Aditya F CaudyRussia2025-10-27Feltz Printing Service RENEWAL15Amy Elsner
1027Antonio Z WhobreyGermany2025-11-01Morlong Associates UNQUALIFIED83Amy Elsner
1028Maisha F MarrierAustralia2025-10-23Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1029Munro B RimGermany2025-10-05King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1030Maisha D FlosiBrazil2025-10-25Chapman, Ross E Esq UNQUALIFIED11Onyama Limba
1031Francesco F MaletArgentina2025-10-10Rousseaux, Michael Esq QUALIFIED30Amy Elsner
1032Jeanfrancois X AlbaresBrazil2025-10-11Chapman, Ross E Esq PROPOSAL63Onyama Limba
1033Ashley W GlickUnited Kingdom2025-10-09Buckley Miller Wright QUALIFIED8Stephen Shaw
1034Mujtaba U BologniaGermany2025-10-12King, Christopher A Esq PROPOSAL89Onyama Limba
1035James L StensethJapan2025-11-01Rousseaux, Michael Esq QUALIFIED33Asiya Javayant
1036Tony Q GlickUnited Kingdom2025-10-21Dorl, James J Esq NEW34Onyama Limba
1037Maisha H MacleadArgentina2025-10-14King, Christopher A Esq RENEWAL84Stephen Shaw
1038Ashley M TollnerRussia2025-10-29Feltz Printing Service QUALIFIED12Elwin Sharvill
1039Mayumi Y RulapaughItaly2025-10-09King, Christopher A Esq QUALIFIED33Ivan Magalhaes
1040Misaki Q AlbaresSpain2025-10-29Dorl, James J Esq UNQUALIFIED8Bernardo Dominic
1041Darci A AmigonJapan2025-10-18Truhlar And Truhlar Attys RENEWAL69Ivan Magalhaes
1042Claire O VocelkaJapan2025-10-17Feltz Printing Service RENEWAL11Amy Elsner
1043Rodrigues X StockhamBrazil2025-10-13Commercial Press QUALIFIED29Onyama Limba
1044Jennifer Q FerenczItaly2025-10-11Dorl, James J Esq RENEWAL87Anna Fali
1045Arvin E FollerFrance2025-10-08Morlong Associates NEGOTIATION24Bernardo Dominic
1046Faith C WieserIndia2025-10-07Feiner Bros RENEWAL70Elwin Sharvill
1047Maisha H OldroydCanada2025-11-02Printing Dimensions UNQUALIFIED65Stephen Shaw
1048Deepesh I MacleadArgentina2025-10-12Feiner Bros UNQUALIFIED91Onyama Limba
1049Emily V SergiAustralia2025-10-29Commercial Press UNQUALIFIED61Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Cody K GauchoArgentinaAsiya Javayant NEGOTIATION
Stacey G OstroskyFranceStephen Shaw UNQUALIFIED
Francesco X CaudyFranceBernardo Dominic PROPOSAL
Jennifer R CaudySpainAmy Elsner PROPOSAL
Stacey M ShinkoItalyOnyama Limba NEW
Tony D SaylorsAustraliaOnyama Limba NEGOTIATION
Salvatore K KuskoItalyXuxue Feng NEGOTIATION
Jennifer Q GlickSpainBernardo Dominic NEW
Silvio P FigeroaArgentinaOnyama Limba UNQUALIFIED
Wickens J AlbaresSpainAnna Fali RENEWAL
Jefferson Q CaudyItalyAnna Fali QUALIFIED
Octavia Q WieserGermanyAmy Elsner UNQUALIFIED
Costa L IturbideGermanyAnna Fali PROPOSAL
Sinclair F ButtUnited KingdomAsiya Javayant RENEWAL
Leon R OstroskyItalyIoni Bowcher UNQUALIFIED
Darci S ButtItalyAsiya Javayant NEGOTIATION
Faith A SlusarskiArgentinaOnyama Limba NEGOTIATION
Aruna L ButtItalyIoni Bowcher RENEWAL
Rodrigues Z RimJapanBernardo Dominic RENEWAL
Jennifer Y OldroydItalyIoni Bowcher RENEWAL
Jennifer E FigeroaIndiaIvan Magalhaes NEGOTIATION
Ashley I DilliardRussiaIoni Bowcher QUALIFIED
Costa K MorascaAustraliaAmy Elsner PROPOSAL
Arvin K GarufiArgentinaStephen Shaw NEGOTIATION
Clifford L InouyeIndiaIvan Magalhaes PROPOSAL
Murillo R AlbaresSpainAnna Fali PROPOSAL
Isabel R BologniaItalyXuxue Feng QUALIFIED
Kaitlin U GauchoArgentinaAmy Elsner NEW
Morrow U NestleItalyAsiya Javayant RENEWAL
Adams O RimItalyAmy Elsner NEW
Maria S RimRussiaAnna Fali PROPOSAL
Tony Z NickaAustraliaStephen Shaw UNQUALIFIED
Smith K VenereIndiaElwin Sharvill NEGOTIATION
Smith S ButtAustraliaAmy Elsner NEGOTIATION
David A IturbideItalyOnyama Limba QUALIFIED
Jones C RulapaughCanadaXuxue Feng NEGOTIATION
Alejandro Q WhobreyRussiaStephen Shaw QUALIFIED
Jeanfrancois W MacleadAustraliaStephen Shaw PROPOSAL
Leon A FlosiUnited KingdomAsiya Javayant QUALIFIED
Kadeem Z CampainCanadaAnna Fali UNQUALIFIED
Isabel E CaudyJapanAmy Elsner RENEWAL
Octavia I DarakjyArgentinaIvan Magalhaes PROPOSAL
Cody L BriddickFranceIoni Bowcher QUALIFIED
Kaitlin G WaycottUnited KingdomAnna Fali NEGOTIATION
Johnson J NestleBrazilAnna Fali RENEWAL
Ricardo H NickaUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois L KolmetzJapanOnyama Limba NEW
Munro T BologniaRussiaAnna Fali RENEWAL
Izzy U CaudyIndiaBernardo Dominic QUALIFIED
Antonio A OstroskyBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Leja S Gillian
Ashley V Venere
Kaitlin W Schemmer
Wickens Y Perin
Claire J Poquette
Johnson O Shinko
Jones W Bowley
Darci J Vocelka
Aika R Vocelka
Clifford L Ostrosky
Cody C Saylors
Alejandro J Poquette
David W Schemmer
Costa W Shinko
Chavez V Malet
Smith F Perin
Aditya O Saylors
Izzy W Briddick
Misaki J Campain
Silvio R Bowley
Francesco M Venere
Costa Z Shinko
Mujtaba A Garufi
Ivar Y Bolognia
Isabel A Bolognia
Jennifer B Sergi
Silvio E Garufi
Murillo R Campain
Tony C Oldroyd
Salvatore W Saylors
Emily W Whobrey
Rodrigues V Paprocki
Munro Z Albares
Jeanfrancois J Whobrey
Munro U Paprocki
Jennifer B Malet
Jefferson X Gillian
Isabel A Rim
Munro W Stockham
Claire K Shinko
Costa C Bowley
Ashley I Paprocki
Leja W Stockham
Kaitlin V Rulapaugh
Adams F Kusko
Emily P Morasca
Johnson L Vocelka
Greenwood E Maclead
Maisha M Wieser
Jeanfrancois Z Vocelka
IdCountryDate
1000Japan2025-10-08
1001France2025-10-18
1002Spain2025-10-11
1003Germany2025-10-15
1004Brazil2025-10-17
1005Australia2025-11-01
1006Germany2025-10-20
1007Japan2025-10-16
1008United Kingdom2025-10-25
1009Argentina2025-10-15
1010France2025-10-29
1011Germany2025-10-22
1012Russia2025-10-25
1013France2025-10-09
1014Brazil2025-10-31
1015Brazil2025-10-27
1016Italy2025-10-26
1017India2025-10-11
1018Germany2025-10-26
1019Russia2025-10-21
1020Italy2025-10-05
1021Australia2025-10-06
1022Italy2025-10-15
1023Spain2025-10-22
1024Canada2025-10-24
1025Germany2025-10-30
1026Japan2025-10-09
1027Russia2025-10-09
1028United Kingdom2025-10-31
1029Australia2025-10-05
1030Japan2025-10-28
1031Japan2025-10-15
1032United Kingdom2025-10-13
1033Argentina2025-10-09
1034France2025-10-12
1035Germany2025-10-19
1036Italy2025-10-06
1037France2025-10-24
1038France2025-10-14
1039Russia2025-10-22
1040Japan2025-10-08
1041Brazil2025-10-08
1042Australia2025-10-05
1043United Kingdom2025-10-30
1044Japan2025-10-11
1045United Kingdom2025-10-25
1046Germany2025-10-14
1047Canada2025-10-14
1048Argentina2025-10-28
1049Brazil2025-10-08

On-Demand Data

NameIdCountryDate
Octavia D Marrier1000Germany2025-10-27
Greenwood P Briddick1001Spain2025-10-29
Claire Y Schemmer1002France2025-10-04
Morrow F Nestle1003Canada2025-10-18
Wickens M Ostrosky1004France2025-10-26
Nicolas S Butt1005Japan2025-10-19
Arvin S Marrier1006France2025-10-10
Leja E Slusarski1007Brazil2025-10-07
Alejandro V Campain1008Japan2025-10-30
James S Bolognia1009Spain2025-10-24
Ivar W Whobrey1010Japan2025-10-05
Smith Y Doe1011Japan2025-10-17
Juan V Chui1012Italy2025-10-31
Leja D Malet1013Australia2025-10-22
Stacey M Maclead1014Australia2025-10-10
Leja Q Shinko1015India2025-10-22
Octavia Q Glick1016Japan2025-10-05
David O Malet1017Argentina2025-10-31
Misaki R Poquette1018France2025-10-08
Francesco X Venere1019Australia2025-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith B TollnerGermanyIvan Magalhaes QUALIFIED
Sinclair R TollnerItalyIvan Magalhaes UNQUALIFIED
Octavia O KolmetzSpainAmy Elsner UNQUALIFIED
David J NickaUnited KingdomIoni Bowcher RENEWAL
Adams G VocelkaArgentinaAsiya Javayant NEGOTIATION
Ivar V MarrierFranceStephen Shaw PROPOSAL
Smith D GarufiIndiaAnna Fali NEGOTIATION
Misaki S SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Misaki T BologniaAustraliaAnna Fali UNQUALIFIED
Emily I SchemmerItalyIvan Magalhaes NEGOTIATION
Murillo Z GarufiBrazilAmy Elsner QUALIFIED
Leja R WhobreySpainIoni Bowcher UNQUALIFIED
Sinclair A ChuiJapanOnyama Limba NEW
Kadeem C FerenczItalyBernardo Dominic NEGOTIATION
Faith J GlickIndiaIoni Bowcher NEW
Mujtaba L StockhamIndiaBernardo Dominic RENEWAL
Deepesh B NickaSpainIoni Bowcher NEW
Jeanfrancois R DoeGermanyIoni Bowcher RENEWAL
Smith X BriddickFranceStephen Shaw PROPOSAL
Mayumi M CaldareraAustraliaIvan Magalhaes RENEWAL
Stacey N SchemmerBrazilAnna Fali RENEWAL
Sinclair J GillianBrazilXuxue Feng NEGOTIATION
Ashley P GlickRussiaIvan Magalhaes NEGOTIATION
Maisha F FlosiItalyOnyama Limba NEW
Ricardo M CampainCanadaXuxue Feng NEGOTIATION
Deepesh R NestleItalyXuxue Feng PROPOSAL
Mujtaba C StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Juan S FerenczBrazilElwin Sharvill UNQUALIFIED
Aditya E InouyeItalyAnna Fali QUALIFIED
Francesco R WhobreyItalyAsiya Javayant RENEWAL
David R RutaFranceAsiya Javayant RENEWAL
Antonio C NestleBrazilIvan Magalhaes PROPOSAL
Murillo L GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh D KuskoBrazilBernardo Dominic NEGOTIATION
David S StensethArgentinaBernardo Dominic QUALIFIED
Emily U DoeUnited KingdomBernardo Dominic NEW
Nicolas L TollnerArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois L TollnerSpainXuxue Feng NEGOTIATION
Jeanfrancois F PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Claire P RulapaughRussiaIvan 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>