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
Leon S PoquetteAustraliaIoni Bowcher UNQUALIFIED
Octavia X NickaAustraliaElwin Sharvill NEGOTIATION
James I StockhamIndiaBernardo Dominic NEW
Wickens O DilliardGermanyBernardo Dominic PROPOSAL
Aruna L MaletArgentinaAnna Fali NEGOTIATION
Tony T DoeJapanAnna Fali PROPOSAL
Cody W CaldareraRussiaElwin Sharvill PROPOSAL
Rodrigues B WhobreyJapanElwin Sharvill UNQUALIFIED
Costa T KuskoUnited KingdomOnyama Limba QUALIFIED
Salvatore L SlusarskiGermanyBernardo Dominic NEW
Nicolas Z OstroskySpainStephen Shaw NEW
Stacey T SaylorsIndiaIoni Bowcher NEGOTIATION
Darci L CampainRussiaAnna Fali PROPOSAL
Claire K PerinRussiaOnyama Limba RENEWAL
Ivar I WhobreyItalyXuxue Feng QUALIFIED
Salvatore G MacleadJapanIvan Magalhaes NEGOTIATION
Ricardo U RulapaughAustraliaIvan Magalhaes NEGOTIATION
Antonio Q GauchoJapanAsiya Javayant RENEWAL
Deepesh B PaprockiIndiaXuxue Feng RENEWAL
Ricardo F CaldareraUnited KingdomAsiya Javayant QUALIFIED
Ivar O GlickJapanOnyama Limba QUALIFIED
Jefferson E OldroydAustraliaIoni Bowcher RENEWAL
Greenwood V WieserAustraliaAnna Fali PROPOSAL
Rodrigues E NestleArgentinaAmy Elsner QUALIFIED
Aika J NickaSpainStephen Shaw NEW
Tony V KolmetzArgentinaXuxue Feng UNQUALIFIED
Darci P FerenczFranceXuxue Feng QUALIFIED
Julie I GarufiBrazilIoni Bowcher RENEWAL
Munro M DarakjyUnited KingdomAnna Fali NEW
Alejandro F InouyeBrazilOnyama Limba PROPOSAL
Mayumi E CaudyCanadaXuxue Feng UNQUALIFIED
Maisha Z MorascaUnited KingdomOnyama Limba RENEWAL
Adams J BriddickAustraliaElwin Sharvill UNQUALIFIED
Aruna G SaylorsJapanOnyama Limba RENEWAL
Isabel C MarrierRussiaOnyama Limba NEGOTIATION
Mujtaba V NestleCanadaBernardo Dominic NEGOTIATION
Jeanfrancois G WaycottArgentinaBernardo Dominic UNQUALIFIED
Rodrigues G ChuiItalyStephen Shaw NEGOTIATION
Aika Q PoquetteGermanyElwin Sharvill QUALIFIED
Antonio H InouyeGermanyAnna Fali UNQUALIFIED
Kadeem D KolmetzSpainXuxue Feng QUALIFIED
Mujtaba H MarrierArgentinaAnna Fali PROPOSAL
Francesco J DilliardJapanBernardo Dominic RENEWAL
Maria I FollerUnited KingdomAsiya Javayant RENEWAL
Aditya T MarrierJapanAmy Elsner RENEWAL
Johnson H RulapaughRussiaIvan Magalhaes RENEWAL
James K WieserUnited KingdomAmy Elsner PROPOSAL
Alejandro D SchemmerGermanyAnna Fali NEW
Faith D OstroskyGermanyAmy Elsner RENEWAL
Chavez A IturbideRussiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Cody A NestleCanadaAsiya Javayant NEW
Francesco J AlbaresUnited KingdomOnyama Limba NEW
Leja W WaycottCanadaIvan Magalhaes RENEWAL
Smith J BowleyBrazilAmy Elsner PROPOSAL
Sinclair L VocelkaCanadaStephen Shaw NEGOTIATION
Tony N KuskoUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin X TollnerBrazilAnna Fali UNQUALIFIED
Isabel X MacleadArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois F ButtSpainXuxue Feng PROPOSAL
David F StensethGermanyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas R PerinItaly2025-09-16Chapman, Ross E Esq PROPOSAL81Onyama Limba
1001Julie P SchemmerArgentina2025-10-05Commercial Press NEGOTIATION63Ivan Magalhaes
1002Rodrigues V WaycottUnited Kingdom2025-10-09Rangoni Of Florence UNQUALIFIED87Stephen Shaw
1003Silvio V ChuiBrazil2025-10-07Chapman, Ross E Esq NEGOTIATION80Asiya Javayant
1004Aika W ButtUnited Kingdom2025-09-22Dorl, James J Esq QUALIFIED77Amy Elsner
1005Cody Y GarufiJapan2025-10-10Chanay, Jeffrey A Esq NEGOTIATION70Onyama Limba
1006Octavia E MarrierFrance2025-10-14Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
1007Juan J KolmetzArgentina2025-09-16Feltz Printing Service NEW50Bernardo Dominic
1008Smith X MorascaRussia2025-10-10Rousseaux, Michael Esq QUALIFIED53Ioni Bowcher
1009Mujtaba Z RoysterSpain2025-09-15Benton, John B Jr NEGOTIATION62Stephen Shaw
1010Kadeem I BowleyFrance2025-10-07Rousseaux, Michael Esq PROPOSAL43Ioni Bowcher
1011Leon J RulapaughSpain2025-09-16Morlong Associates RENEWAL4Onyama Limba
1012Jeanfrancois Z DoeGermany2025-10-08Commercial Press RENEWAL90Asiya Javayant
1013Leja W RoysterFrance2025-09-30Chemel, James L Cpa NEW27Bernardo Dominic
1014Alejandro T DoeAustralia2025-10-11Benton, John B Jr PROPOSAL68Elwin Sharvill
1015Mayumi P SaylorsItaly2025-10-12Feiner Bros NEGOTIATION36Ivan Magalhaes
1016Stacey G DilliardGermany2025-10-14Benton, John B Jr NEW88Ioni Bowcher
1017Leja S FollerAustralia2025-09-22Dorl, James J Esq RENEWAL7Onyama Limba
1018David R StockhamAustralia2025-10-04Benton, John B Jr PROPOSAL37Ivan Magalhaes
1019Maisha M BriddickCanada2025-10-14Rousseaux, Michael Esq QUALIFIED18Elwin Sharvill
1020Alejandro Q BologniaRussia2025-10-02Feiner Bros PROPOSAL79Anna Fali
1021Rodrigues Z DoeCanada2025-09-26Morlong Associates NEGOTIATION72Ioni Bowcher
1022Clifford U MaletSpain2025-09-22Chapman, Ross E Esq UNQUALIFIED58Bernardo Dominic
1023Clifford W TollnerAustralia2025-10-12Chemel, James L Cpa PROPOSAL27Amy Elsner
1024Arvin Q ButtAustralia2025-10-07Dorl, James J Esq QUALIFIED97Ioni Bowcher
1025Clifford E VocelkaArgentina2025-10-03Rangoni Of Florence NEW51Asiya Javayant
1026Aditya O KolmetzGermany2025-09-17Truhlar And Truhlar Attys PROPOSAL93Elwin Sharvill
1027Julie K FigeroaGermany2025-10-14Printing Dimensions NEGOTIATION54Asiya Javayant
1028Clifford B VenereItaly2025-10-06Rangoni Of Florence QUALIFIED11Xuxue Feng
1029Maisha A IturbideArgentina2025-09-28Benton, John B Jr PROPOSAL38Ioni Bowcher
1030Alejandro U IturbideBrazil2025-10-01Buckley Miller Wright NEGOTIATION91Asiya Javayant
1031Julie L SaylorsFrance2025-10-02Feltz Printing Service RENEWAL67Amy Elsner
1032Wickens H RoysterJapan2025-09-24Chanay, Jeffrey A Esq QUALIFIED62Xuxue Feng
1033Chavez Z ButtSpain2025-09-23Rangoni Of Florence RENEWAL30Xuxue Feng
1034Antonio Z PerinIndia2025-10-09Chapman, Ross E Esq RENEWAL67Onyama Limba
1035Darci D SaylorsRussia2025-10-06Chapman, Ross E Esq RENEWAL18Xuxue Feng
1036Aika W DarakjyCanada2025-09-16Dorl, James J Esq NEGOTIATION74Onyama Limba
1037Aditya G GillianArgentina2025-09-20Rangoni Of Florence UNQUALIFIED96Ivan Magalhaes
1038Salvatore W RoysterSpain2025-09-19Benton, John B Jr PROPOSAL30Stephen Shaw
1039Johnson C BriddickIndia2025-09-29Rangoni Of Florence NEGOTIATION65Xuxue Feng
1040Salvatore W ChuiArgentina2025-10-05Feltz Printing Service NEW18Onyama Limba
1041Adams K OstroskyUnited Kingdom2025-10-11Rangoni Of Florence NEW53Ivan Magalhaes
1042Munro V PoquetteSpain2025-10-06Buckley Miller Wright NEGOTIATION32Bernardo Dominic
1043Alejandro T SchemmerJapan2025-10-06Buckley Miller Wright QUALIFIED71Onyama Limba
1044Aika F BriddickIndia2025-09-17Commercial Press PROPOSAL89Xuxue Feng
1045Leja D SergiCanada2025-10-04Dorl, James J Esq QUALIFIED29Xuxue Feng
1046Maria E MaletGermany2025-10-09Feltz Printing Service RENEWAL39Ivan Magalhaes
1047Jones B GillianArgentina2025-09-27Truhlar And Truhlar Attys NEW30Elwin Sharvill
1048Jones A SchemmerGermany2025-10-06Feiner Bros PROPOSAL29Ioni Bowcher
1049Claire G BologniaFrance2025-10-05Dorl, James J Esq PROPOSAL71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan J NickaRussiaOnyama Limba NEGOTIATION
Mayumi S OstroskySpainAnna Fali QUALIFIED
James A KolmetzItalyIoni Bowcher PROPOSAL
Leja D CaudyBrazilAnna Fali NEW
Johnson Z DilliardIndiaElwin Sharvill UNQUALIFIED
Rodrigues O WieserBrazilIvan Magalhaes NEW
Darci E GlickCanadaIvan Magalhaes QUALIFIED
Jennifer B StockhamBrazilStephen Shaw UNQUALIFIED
Aruna W ShinkoUnited KingdomXuxue Feng NEGOTIATION
Nicolas O SlusarskiIndiaXuxue Feng UNQUALIFIED
Faith Y BologniaItalyXuxue Feng NEGOTIATION
Greenwood P OldroydIndiaOnyama Limba NEW
Isabel D RoysterAustraliaIvan Magalhaes NEW
Claire U OstroskyAustraliaAsiya Javayant NEW
Murillo U GlickIndiaAmy Elsner UNQUALIFIED
Jefferson V RoysterAustraliaXuxue Feng NEGOTIATION
Munro J RoysterCanadaElwin Sharvill NEW
Jennifer V NestleRussiaIoni Bowcher PROPOSAL
Greenwood W MarrierFranceBernardo Dominic NEGOTIATION
James K FigeroaRussiaIoni Bowcher PROPOSAL
Alejandro C GauchoBrazilAnna Fali PROPOSAL
Johnson H MaletJapanIoni Bowcher UNQUALIFIED
Juan M DilliardGermanyIoni Bowcher NEGOTIATION
Emily M SergiIndiaAmy Elsner RENEWAL
Aditya Z SergiFranceIvan Magalhaes QUALIFIED
Clifford R RulapaughAustraliaXuxue Feng NEGOTIATION
Darci P FlosiSpainAnna Fali NEW
Jefferson F KuskoAustraliaXuxue Feng QUALIFIED
Emily G ChuiIndiaIvan Magalhaes NEW
Maria S ShinkoSpainAsiya Javayant UNQUALIFIED
James U OldroydCanadaElwin Sharvill NEGOTIATION
Aruna Y OstroskyCanadaXuxue Feng UNQUALIFIED
Chavez Y DarakjyFranceAnna Fali QUALIFIED
Emily G AlbaresJapanIvan Magalhaes RENEWAL
Deepesh A ButtIndiaIvan Magalhaes QUALIFIED
Maria G OldroydItalyIvan Magalhaes NEGOTIATION
James A SlusarskiRussiaBernardo Dominic NEW
Octavia M DoeBrazilAnna Fali QUALIFIED
Faith S WieserCanadaStephen Shaw NEW
Mujtaba N SergiBrazilOnyama Limba RENEWAL
Ashley O SlusarskiRussiaOnyama Limba UNQUALIFIED
Stacey A MorascaFranceAsiya Javayant NEGOTIATION
Aika J OstroskyArgentinaStephen Shaw RENEWAL
Sinclair J IturbideUnited KingdomAmy Elsner QUALIFIED
Murillo A RutaIndiaBernardo Dominic QUALIFIED
Ricardo H TollnerIndiaIvan Magalhaes RENEWAL
Costa O CaudySpainAmy Elsner NEGOTIATION
Nicolas X ShinkoRussiaXuxue Feng PROPOSAL
Maria F ShinkoCanadaAsiya Javayant QUALIFIED
Kadeem C CaudyUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Kaitlin C Rulapaugh
Misaki F Poquette
Kaitlin R Caldarera
Mujtaba I Saylors
Aika N Caudy
Stacey X Caudy
Murillo S Ostrosky
Cody H Rim
Maria F Schemmer
Claire T Paprocki
Claire H Tollner
Arvin K Stenseth
Aika V Tollner
Francesco Y Stockham
Julie B Briddick
Leon N Ostrosky
Jeanfrancois P Darakjy
Arvin N Marrier
Leja P Poquette
Octavia K Stockham
Maria F Glick
Aruna Z Chui
Misaki T Slusarski
Silvio S Schemmer
Darci C Malet
Deepesh Z Campain
Aditya D Flosi
Faith K Flosi
Claire N Campain
Nicolas I Whobrey
Izzy E Poquette
Kaitlin J Rim
Jeanfrancois R Slusarski
Francesco H Kolmetz
Jones R Ferencz
Stacey C Gaucho
Aruna P Kusko
Murillo N Figeroa
Aruna W Darakjy
Clifford Q Gillian
Stacey L Darakjy
Emily K Flosi
Murillo H Wieser
Julie H Inouye
Antonio P Whobrey
Arvin Y Glick
Costa S Campain
Johnson R Stockham
Munro E Butt
Mujtaba Y Figeroa
IdCountryDate
1000Japan2025-10-14
1001Brazil2025-09-15
1002Canada2025-09-16
1003Argentina2025-09-28
1004France2025-09-22
1005United Kingdom2025-10-14
1006Russia2025-09-20
1007Brazil2025-09-22
1008France2025-10-06
1009India2025-10-14
1010Argentina2025-10-04
1011Argentina2025-10-14
1012Germany2025-10-14
1013Germany2025-09-19
1014Canada2025-10-01
1015Italy2025-10-13
1016Italy2025-09-27
1017United Kingdom2025-10-13
1018Argentina2025-09-26
1019Germany2025-09-29
1020Canada2025-09-27
1021Brazil2025-10-02
1022Russia2025-09-18
1023Brazil2025-10-10
1024Brazil2025-09-26
1025Australia2025-09-18
1026Spain2025-09-30
1027Germany2025-09-22
1028Russia2025-10-05
1029France2025-09-24
1030Australia2025-09-22
1031United Kingdom2025-10-05
1032Australia2025-09-16
1033France2025-09-29
1034Spain2025-10-09
1035India2025-09-21
1036Italy2025-10-06
1037Spain2025-09-30
1038Russia2025-10-09
1039Japan2025-09-16
1040France2025-10-10
1041Brazil2025-09-25
1042Canada2025-09-26
1043Australia2025-10-01
1044Argentina2025-10-09
1045Japan2025-09-24
1046France2025-10-09
1047Germany2025-10-13
1048Italy2025-10-06
1049Japan2025-09-27

On-Demand Data

NameIdCountryDate
Silvio U Ruta1000Italy2025-09-28
Antonio F Albares1001Argentina2025-09-21
Jeanfrancois E Paprocki1002Spain2025-10-05
Ricardo M Gaucho1003India2025-09-15
Maisha F Bolognia1004United Kingdom2025-09-21
Leon V Albares1005Japan2025-09-16
Jennifer N Foller1006Brazil2025-09-24
Isabel M Figeroa1007United Kingdom2025-09-15
Costa K Butt1008Argentina2025-10-06
Clifford S Schemmer1009United Kingdom2025-10-04
Morrow O Wieser1010Spain2025-09-24
Kadeem M Glick1011Argentina2025-09-19
Jennifer C Royster1012Canada2025-09-15
Clifford V Shinko1013United Kingdom2025-10-14
Wickens Z Foller1014India2025-10-07
Maria B Dilliard1015Japan2025-10-11
Adams C Malet1016Canada2025-10-04
Kadeem I Caudy1017Japan2025-10-02
Emily U Caudy1018Japan2025-09-25
Ivar Q Campain1019Germany2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey A GarufiRussiaOnyama Limba QUALIFIED
Faith U PaprockiItalyAnna Fali PROPOSAL
Nicolas I SlusarskiItalyStephen Shaw NEGOTIATION
Maria U MaletAustraliaIoni Bowcher NEGOTIATION
Aditya Q DoeBrazilIoni Bowcher RENEWAL
Francesco S BowleyIndiaStephen Shaw UNQUALIFIED
Murillo Y IturbideAustraliaBernardo Dominic QUALIFIED
Nicolas X AmigonArgentinaIoni Bowcher UNQUALIFIED
Juan Z PerinArgentinaAnna Fali RENEWAL
Ricardo O MaletUnited KingdomBernardo Dominic RENEWAL
Mayumi P OldroydSpainAmy Elsner UNQUALIFIED
Kaitlin I SaylorsIndiaAnna Fali NEW
Mayumi I WhobreyIndiaIoni Bowcher NEW
Mayumi D DoeArgentinaXuxue Feng RENEWAL
Munro K DoeIndiaAmy Elsner QUALIFIED
Adams T CaldareraAustraliaBernardo Dominic UNQUALIFIED
Salvatore R SlusarskiIndiaStephen Shaw QUALIFIED
Johnson D AmigonBrazilBernardo Dominic NEW
Murillo T GillianBrazilAnna Fali NEGOTIATION
Rodrigues O PoquetteUnited KingdomElwin Sharvill RENEWAL
Ashley T CaudyFranceIvan Magalhaes PROPOSAL
James V MacleadItalyIvan Magalhaes PROPOSAL
David K MaletItalyIoni Bowcher QUALIFIED
Ivar K SergiArgentinaIoni Bowcher NEW
Cody R PerinArgentinaIvan Magalhaes PROPOSAL
Kadeem K CampainGermanyBernardo Dominic RENEWAL
Murillo P StensethIndiaIvan Magalhaes QUALIFIED
David V FigeroaIndiaBernardo Dominic UNQUALIFIED
Deepesh A RimFranceIvan Magalhaes NEW
Nicolas X FlosiJapanElwin Sharvill QUALIFIED
Juan I CaudyGermanyOnyama Limba NEGOTIATION
Kaitlin L NickaIndiaAnna Fali QUALIFIED
Munro W GauchoItalyStephen Shaw RENEWAL
Cody J FlosiFranceBernardo Dominic PROPOSAL
Rodrigues C KuskoAustraliaStephen Shaw PROPOSAL
Darci I FlosiBrazilAmy Elsner NEGOTIATION
Cody T BologniaItalyIvan Magalhaes RENEWAL
Octavia D IturbideCanadaElwin Sharvill NEW
Morrow F InouyeBrazilXuxue Feng NEGOTIATION
Izzy B MaletArgentinaIoni Bowcher 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>