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
Arvin K GauchoCanadaOnyama Limba QUALIFIED
Cody F AmigonUnited KingdomBernardo Dominic QUALIFIED
Morrow P KolmetzGermanyElwin Sharvill RENEWAL
Jones J GlickAustraliaIvan Magalhaes PROPOSAL
Antonio N WaycottJapanIvan Magalhaes NEW
Leon J SaylorsItalyStephen Shaw NEGOTIATION
Ivar U SergiCanadaXuxue Feng NEW
Kaitlin G MaletItalyAnna Fali PROPOSAL
Tony J WhobreyIndiaAnna Fali RENEWAL
Jeanfrancois K ChuiUnited KingdomOnyama Limba RENEWAL
Sinclair H MaletSpainIoni Bowcher PROPOSAL
Jefferson Q FlosiUnited KingdomXuxue Feng UNQUALIFIED
Jefferson J FollerFranceOnyama Limba QUALIFIED
Aruna N MorascaCanadaIoni Bowcher UNQUALIFIED
Munro X MorascaFranceOnyama Limba QUALIFIED
Darci L StockhamUnited KingdomXuxue Feng PROPOSAL
Izzy V FlosiSpainElwin Sharvill RENEWAL
Isabel L FerenczItalyOnyama Limba PROPOSAL
Ashley A CaudyCanadaAmy Elsner NEW
Isabel L FlosiBrazilBernardo Dominic PROPOSAL
Emily V BologniaAustraliaOnyama Limba RENEWAL
Mujtaba R SaylorsCanadaIvan Magalhaes RENEWAL
Julie N CaldareraRussiaAmy Elsner QUALIFIED
Emily D SaylorsGermanyOnyama Limba UNQUALIFIED
Jones V BowleyArgentinaIvan Magalhaes QUALIFIED
Kaitlin W CaldareraUnited KingdomAnna Fali QUALIFIED
Greenwood S PerinArgentinaStephen Shaw NEW
Isabel M BologniaAustraliaOnyama Limba NEGOTIATION
Faith T GarufiSpainIvan Magalhaes NEGOTIATION
Juan O KuskoArgentinaIvan Magalhaes NEGOTIATION
Costa T FollerFranceElwin Sharvill RENEWAL
Claire Z RulapaughAustraliaAmy Elsner UNQUALIFIED
Juan B NestleArgentinaAsiya Javayant UNQUALIFIED
Antonio G FollerRussiaBernardo Dominic NEGOTIATION
Clifford M RutaAustraliaAmy Elsner NEGOTIATION
Silvio T MorascaSpainAsiya Javayant NEGOTIATION
Munro Y SaylorsGermanyIvan Magalhaes PROPOSAL
Isabel G GarufiArgentinaAnna Fali QUALIFIED
Maisha B ButtItalyElwin Sharvill RENEWAL
Antonio E BologniaItalyStephen Shaw NEW
Aditya A VocelkaArgentinaIoni Bowcher PROPOSAL
Salvatore M MaletSpainElwin Sharvill NEW
Jennifer S WieserAustraliaElwin Sharvill QUALIFIED
Julie C BologniaGermanyOnyama Limba NEW
Chavez V KolmetzSpainIvan Magalhaes QUALIFIED
Salvatore P NickaAustraliaAnna Fali NEW
Sinclair U FlosiUnited KingdomAnna Fali RENEWAL
Jones L FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer P OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Costa X AmigonUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Johnson Q MacleadCanadaXuxue Feng NEW
Murillo U NickaJapanStephen Shaw UNQUALIFIED
James Q BologniaJapanIvan Magalhaes QUALIFIED
Cody L MaletSpainElwin Sharvill PROPOSAL
David M DilliardRussiaAmy Elsner QUALIFIED
Jennifer F AmigonRussiaIoni Bowcher UNQUALIFIED
Sinclair L OldroydFranceIoni Bowcher RENEWAL
Jones H PoquetteRussiaStephen Shaw NEGOTIATION
Chavez F KuskoCanadaXuxue Feng UNQUALIFIED
Cody H AlbaresIndiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U WaycottItaly2025-08-21Rangoni Of Florence NEW41Elwin Sharvill
1001Arvin T FlosiUnited Kingdom2025-08-01Rousseaux, Michael Esq NEW24Onyama Limba
1002Isabel E DilliardFrance2025-08-02Feltz Printing Service UNQUALIFIED20Xuxue Feng
1003Rodrigues C CaudyFrance2025-08-21Chanay, Jeffrey A Esq RENEWAL19Stephen Shaw
1004Wickens K KuskoCanada2025-08-24Rangoni Of Florence UNQUALIFIED58Stephen Shaw
1005Morrow J KuskoBrazil2025-08-04Printing Dimensions NEGOTIATION65Bernardo Dominic
1006Leja S ButtCanada2025-07-29Printing Dimensions UNQUALIFIED59Xuxue Feng
1007Alejandro T ShinkoBrazil2025-07-31Feiner Bros RENEWAL97Ioni Bowcher
1008Ivar U VocelkaIndia2025-08-11Chanay, Jeffrey A Esq UNQUALIFIED33Amy Elsner
1009Maria E DilliardJapan2025-08-21Dorl, James J Esq NEGOTIATION53Ioni Bowcher
1010Kadeem C WhobreyItaly2025-08-25Dorl, James J Esq QUALIFIED36Amy Elsner
1011Kadeem O VocelkaUnited Kingdom2025-08-18Chanay, Jeffrey A Esq NEGOTIATION24Stephen Shaw
1012James M FollerIndia2025-08-18Feiner Bros PROPOSAL78Asiya Javayant
1013Jennifer G BologniaSpain2025-08-05Commercial Press RENEWAL22Ioni Bowcher
1014Aditya T RulapaughCanada2025-08-25Feltz Printing Service NEGOTIATION79Xuxue Feng
1015Costa Q GarufiJapan2025-08-19Feiner Bros NEW98Asiya Javayant
1016Izzy M GauchoCanada2025-08-12Dorl, James J Esq PROPOSAL0Amy Elsner
1017Arvin U PoquetteUnited Kingdom2025-08-13Printing Dimensions NEW62Amy Elsner
1018Chavez B OstroskySpain2025-08-16Feltz Printing Service UNQUALIFIED44Anna Fali
1019Sinclair D GauchoAustralia2025-08-05Rousseaux, Michael Esq QUALIFIED89Xuxue Feng
1020Aika Q SaylorsIndia2025-08-13Benton, John B Jr PROPOSAL90Ivan Magalhaes
1021Stacey X SaylorsBrazil2025-08-03Truhlar And Truhlar Attys PROPOSAL54Asiya Javayant
1022Munro V TollnerSpain2025-08-14Dorl, James J Esq RENEWAL43Asiya Javayant
1023Kadeem H ChuiArgentina2025-08-01Feltz Printing Service UNQUALIFIED38Elwin Sharvill
1024Tony D DilliardSpain2025-08-02Benton, John B Jr RENEWAL76Asiya Javayant
1025Ricardo L OstroskyCanada2025-07-31Feiner Bros UNQUALIFIED47Asiya Javayant
1026Wickens J GauchoJapan2025-08-12Feltz Printing Service NEGOTIATION26Ioni Bowcher
1027Jefferson I CaldareraGermany2025-08-23King, Christopher A Esq NEGOTIATION68Elwin Sharvill
1028Ivar E RulapaughRussia2025-08-24Chemel, James L Cpa QUALIFIED59Stephen Shaw
1029Jeanfrancois L StockhamSpain2025-08-20Buckley Miller Wright NEW29Asiya Javayant
1030Faith K VocelkaArgentina2025-08-03Benton, John B Jr PROPOSAL33Stephen Shaw
1031Juan S CaudyJapan2025-08-12Printing Dimensions NEW46Xuxue Feng
1032Silvio U InouyeItaly2025-08-10Morlong Associates NEGOTIATION28Bernardo Dominic
1033Salvatore U PoquetteFrance2025-08-03Commercial Press PROPOSAL13Anna Fali
1034Tony N DoeItaly2025-07-28Morlong Associates UNQUALIFIED77Asiya Javayant
1035Mayumi Q StockhamIndia2025-08-17Commercial Press PROPOSAL56Anna Fali
1036Costa K WieserArgentina2025-08-13Benton, John B Jr QUALIFIED43Ioni Bowcher
1037Ivar B IturbideRussia2025-08-21Feiner Bros QUALIFIED53Onyama Limba
1038Kadeem U MacleadJapan2025-08-17Rousseaux, Michael Esq RENEWAL86Stephen Shaw
1039Nicolas C CaldareraSpain2025-08-21Rangoni Of Florence PROPOSAL92Anna Fali
1040Johnson Y MacleadBrazil2025-08-21King, Christopher A Esq PROPOSAL74Anna Fali
1041Nicolas D BriddickRussia2025-08-10Morlong Associates PROPOSAL20Stephen Shaw
1042Costa X SlusarskiJapan2025-07-28Dorl, James J Esq UNQUALIFIED19Xuxue Feng
1043Salvatore A KuskoFrance2025-07-30King, Christopher A Esq QUALIFIED32Ioni Bowcher
1044Jennifer R MaletIndia2025-07-30Feiner Bros NEW96Onyama Limba
1045Darci L VocelkaArgentina2025-07-29Chapman, Ross E Esq NEGOTIATION14Asiya Javayant
1046Francesco A KuskoAustralia2025-08-13Rousseaux, Michael Esq UNQUALIFIED39Bernardo Dominic
1047Clifford B InouyeBrazil2025-08-11Chanay, Jeffrey A Esq NEGOTIATION76Xuxue Feng
1048Ricardo R GillianRussia2025-08-19Feiner Bros NEGOTIATION81Asiya Javayant
1049Arvin U GlickUnited Kingdom2025-08-03Truhlar And Truhlar Attys QUALIFIED88Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Nicolas U SchemmerRussiaXuxue Feng UNQUALIFIED
Adams M DarakjyGermanyIoni Bowcher RENEWAL
Aruna K RulapaughFranceBernardo Dominic PROPOSAL
Ricardo N FerenczItalyAnna Fali QUALIFIED
Aika Z OldroydSpainAnna Fali UNQUALIFIED
Kadeem D IturbideItalyIoni Bowcher NEGOTIATION
Jennifer J AmigonUnited KingdomAnna Fali RENEWAL
Aika V SaylorsArgentinaIoni Bowcher NEW
Antonio R SlusarskiArgentinaAmy Elsner RENEWAL
Rodrigues Y WhobreyJapanBernardo Dominic UNQUALIFIED
Antonio X RutaSpainAsiya Javayant RENEWAL
Jennifer E OldroydArgentinaAmy Elsner UNQUALIFIED
Jefferson Z GarufiJapanAsiya Javayant UNQUALIFIED
Mujtaba H AmigonAustraliaXuxue Feng RENEWAL
Tony W DilliardArgentinaAsiya Javayant UNQUALIFIED
Mujtaba G NestleRussiaIvan Magalhaes PROPOSAL
Costa B SergiCanadaStephen Shaw UNQUALIFIED
Smith H BriddickCanadaAmy Elsner NEGOTIATION
Morrow I AlbaresFranceStephen Shaw UNQUALIFIED
Adams U MaletJapanStephen Shaw UNQUALIFIED
Maisha D WhobreyJapanXuxue Feng NEGOTIATION
Maisha R StockhamRussiaStephen Shaw NEW
Juan E GlickItalyStephen Shaw UNQUALIFIED
Silvio D RutaBrazilBernardo Dominic NEGOTIATION
David I NestleGermanyBernardo Dominic QUALIFIED
Aruna H PoquetteUnited KingdomBernardo Dominic QUALIFIED
Francesco W SergiItalyIvan Magalhaes PROPOSAL
Clifford H ChuiIndiaXuxue Feng QUALIFIED
Jennifer A SaylorsArgentinaXuxue Feng UNQUALIFIED
Francesco X FigeroaArgentinaAmy Elsner QUALIFIED
Darci U VocelkaUnited KingdomXuxue Feng RENEWAL
Alejandro O VenereArgentinaStephen Shaw QUALIFIED
James M GlickAustraliaElwin Sharvill RENEWAL
Jefferson V FollerAustraliaBernardo Dominic RENEWAL
Antonio Q FlosiSpainIoni Bowcher PROPOSAL
Deepesh C MaletIndiaAnna Fali NEW
Nicolas R PerinAustraliaElwin Sharvill QUALIFIED
Costa C GarufiBrazilAsiya Javayant UNQUALIFIED
Ricardo Z StockhamFranceElwin Sharvill QUALIFIED
Kaitlin H CaudyFranceElwin Sharvill NEW
Emily E DoeGermanyAnna Fali QUALIFIED
Aditya B RutaArgentinaAmy Elsner RENEWAL
Murillo U NickaJapanAmy Elsner NEGOTIATION
Mujtaba E VocelkaJapanIvan Magalhaes RENEWAL
Claire E DarakjyGermanyElwin Sharvill RENEWAL
James B FigeroaGermanyBernardo Dominic UNQUALIFIED
Morrow U CaudyIndiaAmy Elsner NEGOTIATION
Faith T PoquetteArgentinaAsiya Javayant QUALIFIED
Maria O PaprockiFranceElwin Sharvill QUALIFIED
Maria C WieserAustraliaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Sinclair X Schemmer
Smith W Foller
Aditya P Royster
Ivar C Marrier
Claire S Albares
Aika I Kolmetz
Kadeem L Amigon
Aika B Poquette
Jeanfrancois U Foller
Rodrigues C Gaucho
Salvatore W Stenseth
Darci P Royster
Aika H Tollner
Jefferson D Briddick
Ivar Z Tollner
Ricardo T Slusarski
Deepesh O Doe
Munro A Waycott
Jennifer C Slusarski
Isabel U Glick
Jones Z Figeroa
Salvatore U Malet
Sinclair Y Nicka
Misaki M Stockham
David M Ruta
Johnson E Perin
Alejandro H Glick
Jones W Dilliard
Francesco U Flosi
Faith Z Sergi
Stacey W Rulapaugh
Juan T Bolognia
Kaitlin C Inouye
Morrow X Paprocki
Deepesh Y Butt
Nicolas E Slusarski
Johnson L Whobrey
Sinclair E Malet
Jefferson U Gaucho
Claire P Royster
Juan O Bowley
Nicolas T Poquette
Julie Q Kusko
Alejandro P Foller
Mayumi Z Ruta
Aika N Kolmetz
Salvatore T Nestle
Jeanfrancois W Malet
Jones W Sergi
Aruna S Slusarski
IdCountryDate
1000Canada2025-08-01
1001France2025-08-23
1002Italy2025-07-27
1003Italy2025-08-19
1004United Kingdom2025-08-13
1005Argentina2025-08-25
1006United Kingdom2025-07-31
1007Canada2025-08-03
1008Spain2025-08-24
1009United Kingdom2025-08-05
1010Spain2025-08-12
1011France2025-08-20
1012United Kingdom2025-08-04
1013Russia2025-07-28
1014Canada2025-08-13
1015Italy2025-08-10
1016Russia2025-07-27
1017United Kingdom2025-08-25
1018Brazil2025-08-19
1019Australia2025-07-30
1020India2025-08-02
1021Brazil2025-07-30
1022United Kingdom2025-08-06
1023Australia2025-08-01
1024Canada2025-08-08
1025Australia2025-08-19
1026Germany2025-08-11
1027Brazil2025-08-05
1028India2025-08-13
1029Japan2025-07-28
1030Canada2025-08-05
1031Japan2025-08-22
1032Spain2025-07-30
1033Argentina2025-08-08
1034Argentina2025-08-14
1035United Kingdom2025-08-22
1036France2025-08-10
1037Australia2025-08-18
1038Russia2025-08-03
1039Japan2025-08-08
1040Argentina2025-08-04
1041Japan2025-08-24
1042Australia2025-08-10
1043India2025-08-15
1044Australia2025-07-27
1045Australia2025-07-28
1046India2025-08-15
1047Canada2025-08-17
1048Australia2025-08-09
1049Argentina2025-08-20

On-Demand Data

NameIdCountryDate
Morrow C Nicka1000Argentina2025-08-24
Aika G Kolmetz1001India2025-08-13
Munro M Rulapaugh1002Australia2025-08-09
Chavez R Glick1003Germany2025-08-24
Murillo O Campain1004Spain2025-08-06
Juan V Amigon1005Brazil2025-07-29
Aruna I Ferencz1006Canada2025-08-22
Izzy D Rim1007Argentina2025-08-11
Darci Q Stenseth1008Germany2025-08-04
Aika A Wieser1009Brazil2025-08-04
Silvio S Darakjy1010Canada2025-08-25
Julie W Dilliard1011Italy2025-07-28
Maisha M Bolognia1012Brazil2025-08-18
Wickens A Campain1013Spain2025-08-21
James A Bowley1014United Kingdom2025-08-22
Maria P Morasca1015United Kingdom2025-08-09
Faith Q Gaucho1016Argentina2025-07-30
Aika T Sergi1017Australia2025-08-08
Costa V Wieser1018Brazil2025-08-16
Rodrigues Q Maclead1019Italy2025-08-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan B TollnerArgentinaOnyama Limba UNQUALIFIED
Morrow N ChuiCanadaAnna Fali PROPOSAL
Ricardo R SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
James B ShinkoCanadaStephen Shaw QUALIFIED
James O GauchoUnited KingdomElwin Sharvill NEGOTIATION
Deepesh I VocelkaGermanyAmy Elsner NEGOTIATION
Leja A NickaAustraliaAmy Elsner NEW
Leja V ChuiFranceAnna Fali NEW
Mujtaba J BriddickBrazilIvan Magalhaes UNQUALIFIED
Claire O StensethItalyAnna Fali PROPOSAL
Sinclair J CaldareraBrazilStephen Shaw NEGOTIATION
Arvin Q SchemmerGermanyAsiya Javayant UNQUALIFIED
Aruna U CaudyArgentinaElwin Sharvill RENEWAL
Stacey W GauchoCanadaAsiya Javayant NEGOTIATION
Darci E FlosiSpainAmy Elsner RENEWAL
Chavez T BowleyBrazilAmy Elsner QUALIFIED
Mujtaba X DilliardFranceAnna Fali PROPOSAL
Murillo Q IturbideCanadaIvan Magalhaes QUALIFIED
Aruna K MaletAustraliaElwin Sharvill NEGOTIATION
Mujtaba V SchemmerAustraliaAnna Fali QUALIFIED
Kaitlin G PerinSpainOnyama Limba NEGOTIATION
Claire X VenereAustraliaXuxue Feng NEGOTIATION
Maria O NestleFranceAnna Fali NEW
Salvatore D FigeroaFranceXuxue Feng PROPOSAL
Ricardo K DarakjyBrazilOnyama Limba NEW
Munro K GillianIndiaIvan Magalhaes UNQUALIFIED
Aruna L KolmetzArgentinaBernardo Dominic UNQUALIFIED
Kadeem I GauchoCanadaOnyama Limba NEGOTIATION
Octavia M FigeroaGermanyAnna Fali NEW
Johnson N VocelkaBrazilAnna Fali RENEWAL
Morrow P OldroydFranceIoni Bowcher NEW
Wickens Q SaylorsSpainXuxue Feng NEGOTIATION
Aika Y FlosiBrazilElwin Sharvill UNQUALIFIED
Mayumi T VenereBrazilIvan Magalhaes PROPOSAL
Francesco O KuskoItalyBernardo Dominic NEW
Kaitlin P GlickItalyIvan Magalhaes NEGOTIATION
Nicolas K MaletBrazilIoni Bowcher QUALIFIED
Emily Z IturbideGermanyAsiya Javayant UNQUALIFIED
Morrow U SaylorsGermanyAnna Fali NEW
Alejandro B DoeUnited KingdomAmy Elsner 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>