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 S PoquetteItalyIoni Bowcher NEW
Nicolas C GarufiUnited KingdomElwin Sharvill PROPOSAL
Aika T RulapaughRussiaOnyama Limba NEGOTIATION
Johnson A DilliardGermanyAnna Fali NEGOTIATION
Jefferson X BriddickIndiaAmy Elsner RENEWAL
Aika O CaudyFranceStephen Shaw PROPOSAL
Maisha B CaldareraItalyStephen Shaw PROPOSAL
Wickens C VenereSpainAnna Fali RENEWAL
Morrow B KuskoRussiaAsiya Javayant NEW
Stacey U BowleyRussiaIvan Magalhaes NEW
Claire N RulapaughGermanyElwin Sharvill UNQUALIFIED
James H InouyeJapanAsiya Javayant QUALIFIED
Darci E DoeCanadaAsiya Javayant QUALIFIED
Clifford C RimJapanAnna Fali RENEWAL
Salvatore C StockhamUnited KingdomIoni Bowcher PROPOSAL
Ivar N PaprockiItalyAmy Elsner NEGOTIATION
Johnson T StockhamItalyBernardo Dominic UNQUALIFIED
Silvio Z VenereArgentinaAsiya Javayant NEW
Leja U RulapaughBrazilOnyama Limba RENEWAL
Kadeem D IturbideGermanyIoni Bowcher NEGOTIATION
Ashley N FlosiGermanyBernardo Dominic NEW
Morrow M MaletUnited KingdomXuxue Feng PROPOSAL
Aika N BowleyGermanyStephen Shaw QUALIFIED
Arvin E VenereCanadaIvan Magalhaes NEW
Cody A RoysterRussiaIoni Bowcher PROPOSAL
Smith X MaletCanadaIvan Magalhaes UNQUALIFIED
Isabel K WhobreyItalyStephen Shaw QUALIFIED
Octavia K PerinBrazilElwin Sharvill UNQUALIFIED
Morrow S SchemmerArgentinaOnyama Limba NEW
David L MacleadJapanIvan Magalhaes UNQUALIFIED
Chavez P BriddickRussiaIoni Bowcher RENEWAL
Clifford E NestleFranceIoni Bowcher NEGOTIATION
Jones O AmigonRussiaAsiya Javayant PROPOSAL
Tony Z WieserUnited KingdomBernardo Dominic RENEWAL
Munro L DilliardJapanStephen Shaw NEGOTIATION
Maisha N SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Isabel E GlickRussiaElwin Sharvill PROPOSAL
Rodrigues X PerinUnited KingdomAsiya Javayant NEGOTIATION
Silvio P DilliardIndiaIvan Magalhaes UNQUALIFIED
Nicolas F GauchoJapanAmy Elsner QUALIFIED
Tony Z ButtGermanyAmy Elsner PROPOSAL
Faith L TollnerRussiaElwin Sharvill PROPOSAL
Silvio G DarakjyUnited KingdomElwin Sharvill PROPOSAL
Morrow A GlickRussiaBernardo Dominic RENEWAL
Rodrigues D FigeroaAustraliaAsiya Javayant NEW
Kaitlin B MaletItalyIoni Bowcher NEGOTIATION
Aditya S DoeJapanXuxue Feng NEGOTIATION
Faith K AlbaresGermanyAsiya Javayant QUALIFIED
Chavez P KolmetzIndiaOnyama Limba NEGOTIATION
Darci V SergiItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika F RutaArgentinaIoni Bowcher PROPOSAL
Jennifer U SaylorsArgentinaAmy Elsner QUALIFIED
Rodrigues E WaycottSpainElwin Sharvill UNQUALIFIED
Salvatore C BowleyAustraliaAmy Elsner QUALIFIED
Julie J StockhamArgentinaIoni Bowcher NEGOTIATION
Claire O DarakjyCanadaBernardo Dominic RENEWAL
Jeanfrancois W AlbaresIndiaIvan Magalhaes RENEWAL
Stacey G PoquetteJapanStephen Shaw QUALIFIED
Faith A SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Antonio H StockhamBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson O AmigonItaly2025-07-25King, Christopher A Esq UNQUALIFIED75Ioni Bowcher
1001Clifford E DilliardArgentina2025-07-26Commercial Press UNQUALIFIED92Elwin Sharvill
1002Claire L OstroskyUnited Kingdom2025-08-07Chemel, James L Cpa NEGOTIATION22Anna Fali
1003Leon D FollerRussia2025-07-23Feltz Printing Service NEGOTIATION54Bernardo Dominic
1004Jefferson U SchemmerUnited Kingdom2025-08-08Feiner Bros RENEWAL79Elwin Sharvill
1005Aditya P CampainArgentina2025-07-22Rangoni Of Florence PROPOSAL1Ioni Bowcher
1006Leja H CaudyBrazil2025-08-14Truhlar And Truhlar Attys PROPOSAL73Anna Fali
1007Jefferson Z CampainJapan2025-07-26Benton, John B Jr NEGOTIATION42Ivan Magalhaes
1008Aruna T GillianBrazil2025-07-31Buckley Miller Wright UNQUALIFIED90Ivan Magalhaes
1009Smith Z BologniaBrazil2025-07-16Chapman, Ross E Esq NEGOTIATION36Amy Elsner
1010Emily K DarakjyAustralia2025-08-12Morlong Associates PROPOSAL58Amy Elsner
1011Mayumi W WhobreyItaly2025-07-27Feiner Bros PROPOSAL29Elwin Sharvill
1012James V VenereRussia2025-08-05Rangoni Of Florence RENEWAL49Anna Fali
1013Cody F MaletCanada2025-07-24Feltz Printing Service UNQUALIFIED43Anna Fali
1014Leon Y GlickIndia2025-07-29Feiner Bros NEW57Anna Fali
1015Kaitlin F CampainFrance2025-08-08Buckley Miller Wright NEGOTIATION75Ioni Bowcher
1016Misaki C OstroskyRussia2025-07-28King, Christopher A Esq UNQUALIFIED60Asiya Javayant
1017Munro T InouyeItaly2025-07-29Printing Dimensions PROPOSAL28Elwin Sharvill
1018Murillo S ChuiUnited Kingdom2025-08-05Printing Dimensions PROPOSAL64Stephen Shaw
1019Leon Z BriddickFrance2025-08-12Buckley Miller Wright PROPOSAL59Ioni Bowcher
1020Francesco F MaletRussia2025-08-11Printing Dimensions RENEWAL75Xuxue Feng
1021Johnson Z CampainIndia2025-07-30Feiner Bros RENEWAL86Xuxue Feng
1022Izzy C InouyeAustralia2025-07-23Feltz Printing Service QUALIFIED46Amy Elsner
1023Mujtaba K RoysterArgentina2025-07-23Buckley Miller Wright UNQUALIFIED1Elwin Sharvill
1024Salvatore Z VocelkaUnited Kingdom2025-07-22Feltz Printing Service UNQUALIFIED83Onyama Limba
1025Jeanfrancois M MacleadRussia2025-08-14Rangoni Of Florence QUALIFIED90Asiya Javayant
1026Kaitlin X PaprockiCanada2025-08-02Printing Dimensions RENEWAL42Ivan Magalhaes
1027Chavez Q NickaArgentina2025-08-09Printing Dimensions NEGOTIATION2Stephen Shaw
1028Greenwood R FlosiGermany2025-07-24Morlong Associates QUALIFIED38Amy Elsner
1029Ricardo N KolmetzJapan2025-08-08Rangoni Of Florence QUALIFIED87Onyama Limba
1030Ashley E RulapaughCanada2025-07-29Truhlar And Truhlar Attys QUALIFIED60Anna Fali
1031Adams K BologniaCanada2025-07-23Chanay, Jeffrey A Esq UNQUALIFIED74Ioni Bowcher
1032Stacey R VenereAustralia2025-07-24King, Christopher A Esq PROPOSAL79Ioni Bowcher
1033Ashley U MaletRussia2025-08-14Feltz Printing Service QUALIFIED75Ivan Magalhaes
1034Izzy F WaycottRussia2025-07-30Chemel, James L Cpa PROPOSAL43Xuxue Feng
1035Nicolas F WaycottIndia2025-08-14Rousseaux, Michael Esq RENEWAL34Xuxue Feng
1036Octavia E GarufiFrance2025-07-25Rousseaux, Michael Esq QUALIFIED66Asiya Javayant
1037Jefferson Z CampainItaly2025-08-06Printing Dimensions NEGOTIATION80Ioni Bowcher
1038Jennifer S FollerAustralia2025-08-06Buckley Miller Wright UNQUALIFIED94Amy Elsner
1039Munro Q CaudyGermany2025-08-01Chemel, James L Cpa NEGOTIATION19Asiya Javayant
1040Maria R AlbaresJapan2025-07-18Printing Dimensions UNQUALIFIED72Xuxue Feng
1041Jeanfrancois E VenereGermany2025-07-29King, Christopher A Esq NEGOTIATION69Amy Elsner
1042Antonio Z DarakjyCanada2025-07-26Chanay, Jeffrey A Esq RENEWAL23Xuxue Feng
1043Murillo O FigeroaJapan2025-08-08Feltz Printing Service UNQUALIFIED67Amy Elsner
1044Faith A SergiGermany2025-07-26Feiner Bros NEGOTIATION48Elwin Sharvill
1045Smith H InouyeUnited Kingdom2025-07-24Chanay, Jeffrey A Esq QUALIFIED15Xuxue Feng
1046Jeanfrancois M PaprockiItaly2025-08-11Dorl, James J Esq NEW49Bernardo Dominic
1047Murillo V FerenczArgentina2025-07-26Printing Dimensions UNQUALIFIED76Amy Elsner
1048Cody E BriddickArgentina2025-08-14Benton, John B Jr RENEWAL12Bernardo Dominic
1049Octavia L StensethSpain2025-08-14Commercial Press QUALIFIED72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez U PaprockiFranceIoni Bowcher NEW
Kaitlin O SlusarskiJapanElwin Sharvill PROPOSAL
Kadeem M BowleyCanadaStephen Shaw NEW
Chavez V GlickJapanAsiya Javayant NEW
Ashley O NickaSpainAmy Elsner QUALIFIED
Mayumi G DarakjyGermanyIoni Bowcher NEW
Juan Y SlusarskiAustraliaAsiya Javayant NEW
Francesco G RoysterSpainXuxue Feng PROPOSAL
Ivar Z VenereFranceAsiya Javayant NEW
Darci S KuskoGermanyBernardo Dominic QUALIFIED
Faith Y WieserArgentinaXuxue Feng PROPOSAL
Juan M PerinItalyIoni Bowcher PROPOSAL
Leon Q StockhamAustraliaIvan Magalhaes NEW
Adams R VenereAustraliaIoni Bowcher UNQUALIFIED
Octavia P KuskoArgentinaAmy Elsner NEGOTIATION
Cody C StensethRussiaIvan Magalhaes NEW
Stacey B DilliardBrazilAmy Elsner NEW
Greenwood R SaylorsGermanyAmy Elsner NEGOTIATION
Francesco T SaylorsGermanyXuxue Feng RENEWAL
Emily E AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Silvio D FigeroaBrazilStephen Shaw RENEWAL
Octavia D MaletAustraliaAsiya Javayant UNQUALIFIED
Sinclair J PerinItalyAnna Fali RENEWAL
Tony Z PaprockiFranceXuxue Feng RENEWAL
Chavez I CaudyItalyStephen Shaw NEGOTIATION
Maisha X PaprockiCanadaAnna Fali UNQUALIFIED
Aruna R DoeGermanyIvan Magalhaes NEGOTIATION
Kadeem K RimCanadaAsiya Javayant PROPOSAL
Nicolas I CampainSpainAsiya Javayant NEW
Ivar W IturbideIndiaStephen Shaw NEGOTIATION
Jefferson V SaylorsSpainOnyama Limba UNQUALIFIED
Murillo V AlbaresJapanOnyama Limba UNQUALIFIED
Faith Y DoeSpainOnyama Limba NEGOTIATION
Tony L NestleItalyOnyama Limba NEGOTIATION
Darci A StockhamBrazilBernardo Dominic PROPOSAL
Claire O PaprockiAustraliaXuxue Feng QUALIFIED
Francesco H GillianArgentinaIoni Bowcher NEGOTIATION
Johnson C SlusarskiRussiaElwin Sharvill PROPOSAL
Emily I VenereGermanyAsiya Javayant QUALIFIED
Arvin D DoeItalyStephen Shaw NEGOTIATION
Mayumi P NestleItalyAnna Fali NEW
Jeanfrancois M TollnerBrazilAsiya Javayant UNQUALIFIED
Ivar O GillianFranceStephen Shaw PROPOSAL
Mayumi V VenereSpainStephen Shaw UNQUALIFIED
Claire Y StockhamItalyAmy Elsner PROPOSAL
Johnson V KolmetzArgentinaStephen Shaw UNQUALIFIED
Nicolas Z IturbideItalyElwin Sharvill RENEWAL
Juan U TollnerFranceAsiya Javayant NEW
Francesco K GillianIndiaAsiya Javayant NEW
Silvio F GlickArgentinaAsiya Javayant PROPOSAL
Frozen Columns
Name
Darci E Iturbide
Julie Q Slusarski
Wickens P Butt
Leja W Foller
Izzy I Ruta
Faith U Marrier
Silvio L Stenseth
Chavez X Stockham
Jefferson C Flosi
Jefferson A Whobrey
Aditya P Caudy
Ricardo H Royster
Jennifer R Oldroyd
Ivar W Slusarski
Kaitlin V Foller
Kadeem U Slusarski
Murillo D Briddick
Julie X Royster
Leja J Flosi
Deepesh C Stenseth
Jennifer F Malet
Adams U Darakjy
Sinclair H Bowley
Stacey R Morasca
Wickens Z Inouye
Costa M Albares
Silvio G Doe
Izzy C Rim
Leja U Albares
Emily O Garufi
Leja Q Inouye
Faith J Garufi
Jefferson S Kolmetz
Stacey S Stenseth
Francesco L Stockham
Murillo D Ostrosky
Kadeem X Vocelka
Maisha F Shinko
Nicolas X Poquette
Alejandro X Ruta
David L Nestle
Darci O Gaucho
Julie U Albares
Morrow T Schemmer
Claire P Royster
Adams B Wieser
Darci Q Kolmetz
David N Figeroa
Ivar R Paprocki
Costa B Garufi
IdCountryDate
1000Australia2025-08-10
1001Australia2025-08-11
1002Japan2025-08-03
1003Brazil2025-07-27
1004Spain2025-07-27
1005France2025-08-03
1006France2025-07-25
1007United Kingdom2025-08-02
1008France2025-08-14
1009Spain2025-07-25
1010Russia2025-08-05
1011Germany2025-07-21
1012Argentina2025-07-21
1013France2025-07-28
1014Japan2025-07-17
1015Germany2025-07-27
1016Germany2025-08-09
1017Germany2025-07-20
1018Japan2025-07-22
1019Brazil2025-08-05
1020Brazil2025-07-16
1021Brazil2025-07-26
1022Japan2025-08-05
1023Spain2025-08-14
1024India2025-08-08
1025Spain2025-08-10
1026United Kingdom2025-07-27
1027Australia2025-07-17
1028Spain2025-07-28
1029Canada2025-08-08
1030Italy2025-08-07
1031Italy2025-07-25
1032United Kingdom2025-08-06
1033Argentina2025-07-28
1034Germany2025-07-24
1035Brazil2025-08-10
1036Germany2025-07-16
1037Germany2025-07-17
1038Italy2025-08-04
1039Argentina2025-07-21
1040Russia2025-07-18
1041United Kingdom2025-07-16
1042Germany2025-08-09
1043Australia2025-08-12
1044Argentina2025-07-24
1045Germany2025-07-29
1046Australia2025-08-04
1047France2025-08-02
1048India2025-07-28
1049Russia2025-08-09

On-Demand Data

NameIdCountryDate
Ashley Y Bowley1000Australia2025-07-26
Sinclair F Oldroyd1001Canada2025-08-13
Juan T Dilliard1002United Kingdom2025-08-06
Jeanfrancois W Poquette1003Spain2025-08-01
Silvio Z Ferencz1004United Kingdom2025-08-07
Ashley I Albares1005Australia2025-07-22
James D Ruta1006Canada2025-07-29
Costa L Doe1007Spain2025-08-04
Ricardo J Glick1008Australia2025-07-29
Jefferson A Marrier1009India2025-07-31
Darci S Gaucho1010Japan2025-07-31
Antonio D Slusarski1011Japan2025-07-22
Jeanfrancois T Bowley1012France2025-08-07
Misaki E Kolmetz1013Australia2025-08-02
Leja Q Paprocki1014Germany2025-07-28
Leja G Dilliard1015Argentina2025-07-19
David I Darakjy1016Argentina2025-08-12
Emily I Nestle1017Russia2025-08-12
Faith G Rim1018Australia2025-07-23
Chavez S Venere1019Germany2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B PaprockiCanadaXuxue Feng NEW
Tony Z StockhamFranceXuxue Feng UNQUALIFIED
Nicolas I SlusarskiUnited KingdomAnna Fali NEW
Francesco C VocelkaRussiaIvan Magalhaes UNQUALIFIED
Ivar X VenereItalyIvan Magalhaes NEGOTIATION
Misaki K MaletSpainStephen Shaw QUALIFIED
Munro B WhobreyRussiaOnyama Limba NEGOTIATION
Clifford X MacleadUnited KingdomStephen Shaw QUALIFIED
Alejandro G WaycottGermanyElwin Sharvill UNQUALIFIED
Cody A DoeArgentinaIvan Magalhaes QUALIFIED
Mujtaba F SchemmerItalyStephen Shaw UNQUALIFIED
Izzy F InouyeCanadaIvan Magalhaes QUALIFIED
Munro M ShinkoIndiaIvan Magalhaes RENEWAL
Rodrigues E DarakjyAustraliaStephen Shaw NEW
Silvio R OstroskyBrazilXuxue Feng QUALIFIED
Sinclair C RoysterGermanyStephen Shaw RENEWAL
Silvio M SlusarskiGermanyElwin Sharvill UNQUALIFIED
Maria O MorascaCanadaXuxue Feng QUALIFIED
Mujtaba F InouyeArgentinaStephen Shaw UNQUALIFIED
Claire H WieserUnited KingdomBernardo Dominic NEGOTIATION
James W SergiUnited KingdomIoni Bowcher PROPOSAL
Maria D MarrierArgentinaOnyama Limba PROPOSAL
Ricardo I RutaSpainAmy Elsner NEW
Ricardo P RulapaughAustraliaAnna Fali NEW
Aruna R GarufiRussiaIoni Bowcher PROPOSAL
Octavia T StockhamCanadaElwin Sharvill NEW
Ashley D CaudyIndiaStephen Shaw RENEWAL
Stacey G ButtArgentinaOnyama Limba QUALIFIED
Costa Q DoeRussiaOnyama Limba NEGOTIATION
Kadeem C WieserFranceOnyama Limba NEGOTIATION
Octavia Y BowleyFranceXuxue Feng QUALIFIED
James N MarrierAustraliaAnna Fali UNQUALIFIED
Jeanfrancois H ChuiFranceAmy Elsner RENEWAL
Maria X RulapaughRussiaAnna Fali NEGOTIATION
Darci F WieserAustraliaXuxue Feng NEGOTIATION
Clifford P VocelkaUnited KingdomOnyama Limba QUALIFIED
Juan P IturbideJapanIvan Magalhaes PROPOSAL
Jeanfrancois W AlbaresCanadaAmy Elsner RENEWAL
Mujtaba B GlickCanadaIoni Bowcher PROPOSAL
Kadeem K PerinCanadaXuxue Feng 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>