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
Octavia H KuskoArgentinaAmy Elsner NEGOTIATION
Julie R FlosiArgentinaXuxue Feng UNQUALIFIED
Leja A SlusarskiGermanyBernardo Dominic NEGOTIATION
Greenwood I WieserJapanAmy Elsner QUALIFIED
Wickens C BriddickBrazilAsiya Javayant NEGOTIATION
Mujtaba O ShinkoJapanXuxue Feng PROPOSAL
Ashley V WieserAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois S BologniaFranceAmy Elsner RENEWAL
Aditya K BologniaItalyXuxue Feng UNQUALIFIED
Isabel I WaycottFranceIoni Bowcher PROPOSAL
Arvin B GauchoSpainBernardo Dominic PROPOSAL
Antonio I BologniaCanadaXuxue Feng NEW
Greenwood O CampainUnited KingdomElwin Sharvill PROPOSAL
Johnson Z NestleItalyAmy Elsner NEW
Izzy O AlbaresItalyElwin Sharvill NEW
Isabel M InouyeUnited KingdomOnyama Limba PROPOSAL
David N DilliardRussiaStephen Shaw RENEWAL
Munro P SlusarskiGermanyAmy Elsner PROPOSAL
Tony Y AlbaresRussiaStephen Shaw NEGOTIATION
Mayumi D ShinkoCanadaAnna Fali RENEWAL
Claire M AmigonJapanIoni Bowcher NEW
Mayumi M DoeUnited KingdomIvan Magalhaes NEGOTIATION
Munro A OstroskySpainStephen Shaw QUALIFIED
Antonio F PoquetteBrazilElwin Sharvill RENEWAL
Francesco Z AmigonItalyXuxue Feng QUALIFIED
Leja A PerinItalyXuxue Feng RENEWAL
Kadeem D PerinJapanIvan Magalhaes NEGOTIATION
Mayumi L RoysterSpainAmy Elsner RENEWAL
Morrow M RoysterJapanBernardo Dominic RENEWAL
Darci A CaudyFranceAmy Elsner PROPOSAL
Aruna L WaycottItalyStephen Shaw RENEWAL
Darci Z DilliardFranceXuxue Feng PROPOSAL
Chavez G RoysterRussiaOnyama Limba NEW
Tony F FollerUnited KingdomBernardo Dominic NEGOTIATION
Clifford U VenereRussiaStephen Shaw QUALIFIED
Ricardo G RimSpainAsiya Javayant PROPOSAL
Kaitlin A RutaBrazilXuxue Feng RENEWAL
Jefferson P SchemmerGermanyIoni Bowcher NEW
Adams Q CaudyIndiaAmy Elsner UNQUALIFIED
Maria X GauchoSpainIvan Magalhaes RENEWAL
Emily O FigeroaSpainXuxue Feng NEW
Aditya T AlbaresFranceIoni Bowcher UNQUALIFIED
Salvatore N OldroydSpainXuxue Feng NEW
Mayumi U PerinAustraliaAnna Fali NEW
Stacey E PaprockiAustraliaXuxue Feng NEW
Jefferson J SergiAustraliaAnna Fali NEGOTIATION
Leon P ButtArgentinaBernardo Dominic RENEWAL
Ricardo F AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas I InouyeUnited KingdomOnyama Limba NEGOTIATION
Isabel V CaudyFranceIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika Y AlbaresRussiaAnna Fali UNQUALIFIED
Costa E PaprockiFranceIvan Magalhaes RENEWAL
Greenwood R BologniaFranceIoni Bowcher NEW
Aika G CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Stacey Q VocelkaArgentinaBernardo Dominic RENEWAL
Arvin G DarakjyAustraliaBernardo Dominic NEGOTIATION
Mayumi N GlickFranceAnna Fali QUALIFIED
Aruna G SlusarskiRussiaXuxue Feng NEGOTIATION
Claire B TollnerIndiaIoni Bowcher UNQUALIFIED
Julie Q KuskoIndiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois N BowleyAustralia2025-07-22Feltz Printing Service NEGOTIATION7Ioni Bowcher
1001Tony Y FigeroaRussia2025-07-27Buckley Miller Wright QUALIFIED9Bernardo Dominic
1002Jefferson R CaudyJapan2025-07-18King, Christopher A Esq RENEWAL91Xuxue Feng
1003Jones B VocelkaBrazil2025-07-18Chanay, Jeffrey A Esq NEGOTIATION92Anna Fali
1004Julie X WaycottFrance2025-08-05Chemel, James L Cpa NEGOTIATION29Elwin Sharvill
1005Chavez Q BowleyCanada2025-07-30Commercial Press PROPOSAL63Amy Elsner
1006Ashley D StockhamUnited Kingdom2025-08-10Truhlar And Truhlar Attys QUALIFIED33Onyama Limba
1007Maria Q BologniaAustralia2025-07-16Feltz Printing Service UNQUALIFIED69Xuxue Feng
1008Maisha N BologniaArgentina2025-08-08Chanay, Jeffrey A Esq NEW81Onyama Limba
1009Tony Y ButtFrance2025-08-13Morlong Associates NEW35Ivan Magalhaes
1010David T PerinAustralia2025-08-01Printing Dimensions NEW78Asiya Javayant
1011Kaitlin H CampainArgentina2025-07-15Chapman, Ross E Esq NEW45Asiya Javayant
1012Jefferson Y PoquetteAustralia2025-07-17Rousseaux, Michael Esq UNQUALIFIED96Ioni Bowcher
1013Francesco Z BologniaAustralia2025-07-15Chanay, Jeffrey A Esq PROPOSAL77Bernardo Dominic
1014Alejandro H WhobreyAustralia2025-08-11Rousseaux, Michael Esq UNQUALIFIED88Anna Fali
1015Cody P MacleadBrazil2025-07-29Dorl, James J Esq RENEWAL78Ioni Bowcher
1016Morrow K MaletAustralia2025-08-08Chemel, James L Cpa PROPOSAL33Ioni Bowcher
1017Ashley O DarakjyBrazil2025-08-11Feiner Bros QUALIFIED98Amy Elsner
1018Izzy E ChuiItaly2025-07-21Chanay, Jeffrey A Esq NEW47Anna Fali
1019Jefferson X FerenczIndia2025-07-28Dorl, James J Esq NEW63Ioni Bowcher
1020Johnson G DilliardItaly2025-08-09Rousseaux, Michael Esq PROPOSAL20Anna Fali
1021Antonio F FlosiCanada2025-07-23Morlong Associates UNQUALIFIED93Elwin Sharvill
1022Antonio R VenereIndia2025-07-29Chapman, Ross E Esq RENEWAL41Elwin Sharvill
1023Morrow I OstroskyGermany2025-08-11Chapman, Ross E Esq UNQUALIFIED52Elwin Sharvill
1024Juan Q CaudyFrance2025-08-10Chemel, James L Cpa NEGOTIATION84Asiya Javayant
1025Julie B KuskoIndia2025-07-20Benton, John B Jr PROPOSAL6Elwin Sharvill
1026Jeanfrancois S PoquetteCanada2025-07-27Buckley Miller Wright QUALIFIED32Ivan Magalhaes
1027Rodrigues H OldroydUnited Kingdom2025-07-16Benton, John B Jr UNQUALIFIED51Ioni Bowcher
1028Antonio P CaudyItaly2025-08-07Feiner Bros QUALIFIED12Stephen Shaw
1029Julie G VocelkaAustralia2025-08-08Morlong Associates UNQUALIFIED79Onyama Limba
1030Jones X WieserAustralia2025-07-27Feltz Printing Service NEW48Anna Fali
1031Mujtaba B ShinkoFrance2025-07-29Dorl, James J Esq UNQUALIFIED15Anna Fali
1032Arvin B FollerUnited Kingdom2025-08-12Chemel, James L Cpa PROPOSAL25Amy Elsner
1033Francesco G WaycottUnited Kingdom2025-08-11Printing Dimensions QUALIFIED94Xuxue Feng
1034Izzy U NestleAustralia2025-07-21Feiner Bros PROPOSAL59Xuxue Feng
1035David F StockhamUnited Kingdom2025-08-03Chemel, James L Cpa QUALIFIED60Xuxue Feng
1036Maria L NestleSpain2025-08-05King, Christopher A Esq NEGOTIATION65Stephen Shaw
1037Munro N PoquetteSpain2025-07-17Rangoni Of Florence QUALIFIED77Amy Elsner
1038Izzy L VocelkaAustralia2025-07-17Rousseaux, Michael Esq NEGOTIATION53Stephen Shaw
1039Mayumi P MacleadAustralia2025-07-23Commercial Press QUALIFIED89Xuxue Feng
1040Jefferson L NickaCanada2025-08-07Dorl, James J Esq UNQUALIFIED21Amy Elsner
1041Leon Y SaylorsCanada2025-07-17Dorl, James J Esq NEW0Amy Elsner
1042Mujtaba R OstroskyJapan2025-07-21Rangoni Of Florence NEGOTIATION48Onyama Limba
1043Leja H GlickItaly2025-07-31Feltz Printing Service PROPOSAL11Bernardo Dominic
1044Nicolas M VenereSpain2025-08-03Dorl, James J Esq UNQUALIFIED92Ioni Bowcher
1045James W RulapaughItaly2025-08-09Truhlar And Truhlar Attys RENEWAL64Elwin Sharvill
1046Mujtaba K InouyeJapan2025-07-31Truhlar And Truhlar Attys UNQUALIFIED38Ivan Magalhaes
1047Juan F KuskoFrance2025-07-23Chemel, James L Cpa RENEWAL5Ioni Bowcher
1048Sinclair C FlosiJapan2025-08-06Truhlar And Truhlar Attys RENEWAL66Anna Fali
1049Wickens H OldroydRussia2025-08-03Chemel, James L Cpa QUALIFIED19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Misaki K MaletGermanyElwin Sharvill RENEWAL
Aditya R OstroskyAustraliaElwin Sharvill UNQUALIFIED
Antonio Y StockhamJapanElwin Sharvill UNQUALIFIED
Izzy V DilliardUnited KingdomAnna Fali UNQUALIFIED
Misaki U RutaIndiaIoni Bowcher QUALIFIED
Darci A WieserUnited KingdomBernardo Dominic QUALIFIED
Alejandro B VocelkaRussiaBernardo Dominic NEW
Maisha A WieserFranceAsiya Javayant NEGOTIATION
Chavez W RimArgentinaAnna Fali PROPOSAL
Aditya H InouyeJapanXuxue Feng QUALIFIED
Jones D ChuiRussiaAnna Fali RENEWAL
Jennifer B PoquetteItalyElwin Sharvill NEW
Stacey W FollerArgentinaBernardo Dominic NEW
Salvatore T SlusarskiAustraliaBernardo Dominic NEW
Maisha T SergiUnited KingdomAnna Fali NEW
Maria M PoquetteBrazilElwin Sharvill NEW
Claire Y SaylorsJapanIoni Bowcher UNQUALIFIED
Mujtaba A AmigonArgentinaXuxue Feng NEW
Aruna V CaudySpainBernardo Dominic QUALIFIED
David R BologniaJapanXuxue Feng NEGOTIATION
Antonio Q SlusarskiAustraliaAnna Fali NEW
Salvatore X CaldareraUnited KingdomElwin Sharvill NEW
Misaki M WhobreyJapanIoni Bowcher UNQUALIFIED
Misaki A NestleItalyAsiya Javayant QUALIFIED
Chavez S BowleySpainElwin Sharvill UNQUALIFIED
Costa O SaylorsBrazilStephen Shaw NEGOTIATION
Claire C SaylorsIndiaIoni Bowcher QUALIFIED
Claire V DilliardArgentinaStephen Shaw RENEWAL
Isabel K MaletIndiaStephen Shaw PROPOSAL
Wickens J MarrierItalyStephen Shaw PROPOSAL
Johnson G FigeroaArgentinaAsiya Javayant QUALIFIED
Munro V CaudyCanadaAnna Fali QUALIFIED
Sinclair U KolmetzRussiaAsiya Javayant UNQUALIFIED
Francesco W SergiIndiaIvan Magalhaes QUALIFIED
Leon I InouyeJapanXuxue Feng RENEWAL
Costa X GauchoFranceOnyama Limba UNQUALIFIED
Jennifer C CaldareraFranceAmy Elsner NEGOTIATION
Aika O FlosiItalyIvan Magalhaes UNQUALIFIED
Ashley U OldroydFranceStephen Shaw UNQUALIFIED
Antonio B IturbideBrazilAnna Fali QUALIFIED
Chavez J AlbaresCanadaIvan Magalhaes RENEWAL
Mayumi A FerenczCanadaOnyama Limba RENEWAL
Jennifer U BowleyFranceAsiya Javayant QUALIFIED
Aruna L OldroydUnited KingdomAmy Elsner RENEWAL
Claire H KolmetzAustraliaOnyama Limba NEGOTIATION
Ricardo L NestleArgentinaAmy Elsner RENEWAL
Arvin O NestleJapanXuxue Feng UNQUALIFIED
Mujtaba B NickaJapanIvan Magalhaes PROPOSAL
Jones U StensethArgentinaAmy Elsner RENEWAL
Octavia C MorascaGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Ashley T Garufi
Darci D Gillian
Aika S Wieser
Tony B Wieser
Darci T Perin
David X Poquette
Tony S Doe
Aruna O Waycott
Leon J Venere
Salvatore L Tollner
Mujtaba W Kusko
Ashley H Slusarski
Morrow H Doe
Arvin F Nestle
Isabel R Tollner
Antonio B Schemmer
Clifford Z Paprocki
Stacey F Rim
Maisha Q Foller
James J Kusko
Leon O Wieser
Alejandro C Albares
Costa K Caudy
Nicolas H Inouye
Aruna S Maclead
Faith G Albares
Leja D Ostrosky
Aruna T Rim
Silvio J Poquette
Aditya Z Oldroyd
Cody N Darakjy
Arvin U Nestle
David P Stenseth
Tony L Paprocki
Jennifer Z Inouye
Nicolas U Ruta
Munro L Nicka
Arvin Z Gillian
Octavia C Oldroyd
Leon Z Vocelka
James U Amigon
Wickens I Nicka
Deepesh Z Perin
Jeanfrancois X Maclead
Ashley A Tollner
Jeanfrancois H Darakjy
Alejandro U Maclead
Ivar Q Kusko
Greenwood H Tollner
Tony T Inouye
IdCountryDate
1000Spain2025-07-22
1001Australia2025-08-06
1002France2025-08-12
1003United Kingdom2025-07-20
1004Germany2025-07-15
1005Japan2025-07-16
1006Australia2025-07-15
1007Spain2025-07-23
1008Russia2025-08-06
1009Italy2025-07-18
1010India2025-08-09
1011Germany2025-07-25
1012Germany2025-07-26
1013Italy2025-07-31
1014Germany2025-07-18
1015India2025-07-24
1016India2025-08-03
1017Italy2025-07-15
1018Russia2025-07-23
1019Australia2025-07-29
1020United Kingdom2025-07-23
1021France2025-07-30
1022Japan2025-08-10
1023Russia2025-07-18
1024Spain2025-08-01
1025Argentina2025-08-07
1026France2025-07-16
1027Australia2025-08-09
1028Canada2025-07-19
1029Italy2025-08-13
1030Australia2025-07-23
1031Japan2025-07-19
1032Brazil2025-08-02
1033Spain2025-08-11
1034Germany2025-07-26
1035Spain2025-07-17
1036Australia2025-07-30
1037Japan2025-07-24
1038Japan2025-08-06
1039Italy2025-07-28
1040Argentina2025-07-23
1041United Kingdom2025-08-07
1042Russia2025-08-08
1043United Kingdom2025-08-04
1044Brazil2025-08-09
1045Germany2025-07-18
1046France2025-08-11
1047Germany2025-08-09
1048Argentina2025-08-07
1049Australia2025-08-13

On-Demand Data

NameIdCountryDate
Silvio E Morasca1000Italy2025-08-12
Francesco W Marrier1001United Kingdom2025-08-02
Cody I Amigon1002Germany2025-07-24
Claire A Caldarera1003Spain2025-08-05
Ivar O Maclead1004Australia2025-07-16
Kaitlin W Maclead1005India2025-07-27
Mujtaba C Iturbide1006Russia2025-07-23
Deepesh R Paprocki1007Japan2025-07-18
Salvatore K Schemmer1008Russia2025-08-06
Ivar O Chui1009Spain2025-08-02
Nicolas G Doe1010Japan2025-07-17
Jennifer L Poquette1011United Kingdom2025-07-31
Murillo J Ferencz1012Spain2025-07-15
Adams Y Paprocki1013France2025-08-04
Mujtaba W Gillian1014Argentina2025-08-09
Nicolas E Malet1015France2025-07-17
Emily Q Foller1016Canada2025-08-03
Claire C Malet1017Spain2025-07-19
Misaki T Wieser1018Japan2025-07-17
Murillo Q Butt1019United Kingdom2025-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba B SergiGermanyAnna Fali PROPOSAL
Isabel E CampainIndiaAnna Fali QUALIFIED
Aditya E CaldareraJapanIvan Magalhaes UNQUALIFIED
Faith S CaudyGermanyBernardo Dominic NEGOTIATION
Sinclair D RutaItalyIoni Bowcher NEW
Leon U SergiAustraliaElwin Sharvill RENEWAL
Wickens A FerenczJapanOnyama Limba NEW
Wickens W OstroskyGermanyBernardo Dominic UNQUALIFIED
Maisha L OldroydGermanyIvan Magalhaes NEGOTIATION
Jones I KuskoUnited KingdomBernardo Dominic PROPOSAL
Munro D MacleadFranceXuxue Feng QUALIFIED
James R WhobreyArgentinaOnyama Limba NEW
Stacey U SchemmerFranceIoni Bowcher UNQUALIFIED
Jefferson U DoeIndiaAsiya Javayant QUALIFIED
Nicolas I BologniaArgentinaStephen Shaw UNQUALIFIED
Mayumi P IturbideRussiaAsiya Javayant NEGOTIATION
Adams H DilliardFranceXuxue Feng UNQUALIFIED
Alejandro D BologniaIndiaAsiya Javayant NEW
Jeanfrancois Q FerenczAustraliaIvan Magalhaes PROPOSAL
Mujtaba Y VocelkaJapanAsiya Javayant NEW
Wickens L CampainItalyAmy Elsner RENEWAL
Smith F MacleadJapanElwin Sharvill UNQUALIFIED
Johnson X FollerFranceAmy Elsner UNQUALIFIED
David C RimItalyAnna Fali NEGOTIATION
Octavia W RoysterCanadaIvan Magalhaes PROPOSAL
Isabel N SchemmerArgentinaIvan Magalhaes NEW
Darci X InouyeUnited KingdomBernardo Dominic RENEWAL
Wickens V FlosiBrazilStephen Shaw UNQUALIFIED
Antonio Q DilliardUnited KingdomStephen Shaw QUALIFIED
Jones J MacleadArgentinaElwin Sharvill NEGOTIATION
Rodrigues D CaldareraGermanyStephen Shaw NEGOTIATION
Jefferson E OldroydJapanIoni Bowcher UNQUALIFIED
Aditya T FollerRussiaXuxue Feng RENEWAL
Jennifer O VocelkaArgentinaAmy Elsner NEGOTIATION
Julie L VenereItalyIoni Bowcher PROPOSAL
Ivar C GlickGermanyAmy Elsner RENEWAL
Kadeem R CampainRussiaAnna Fali PROPOSAL
Rodrigues Z VocelkaArgentinaOnyama Limba RENEWAL
Tony J DoeRussiaBernardo Dominic UNQUALIFIED
Octavia B FigeroaSpainBernardo Dominic RENEWAL

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