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
Ricardo K DarakjyFranceElwin Sharvill QUALIFIED
Francesco J KolmetzBrazilAsiya Javayant QUALIFIED
Mujtaba S CaudyArgentinaAsiya Javayant RENEWAL
Faith V CaldareraUnited KingdomAmy Elsner QUALIFIED
Salvatore H TollnerIndiaIvan Magalhaes QUALIFIED
Antonio I KolmetzItalyStephen Shaw UNQUALIFIED
Rodrigues E GlickCanadaOnyama Limba NEGOTIATION
Jeanfrancois L OstroskyArgentinaXuxue Feng UNQUALIFIED
Darci C AlbaresArgentinaIoni Bowcher NEGOTIATION
Morrow U FlosiItalyBernardo Dominic NEGOTIATION
Darci P SergiGermanyAnna Fali QUALIFIED
Nicolas Y MaletFranceOnyama Limba NEW
Mayumi K StensethCanadaOnyama Limba RENEWAL
Faith G OstroskyRussiaIvan Magalhaes UNQUALIFIED
Octavia G GarufiAustraliaStephen Shaw NEGOTIATION
Murillo X WaycottRussiaBernardo Dominic PROPOSAL
Alejandro M InouyeFranceAnna Fali PROPOSAL
Izzy G ShinkoCanadaAmy Elsner RENEWAL
James R DilliardItalyBernardo Dominic RENEWAL
Jones J SchemmerIndiaStephen Shaw QUALIFIED
Jeanfrancois Y WaycottUnited KingdomAsiya Javayant RENEWAL
Jennifer C BriddickItalyIoni Bowcher NEW
Johnson S WieserItalyIoni Bowcher RENEWAL
Wickens W RulapaughArgentinaOnyama Limba UNQUALIFIED
Wickens J ButtCanadaElwin Sharvill NEW
Nicolas V StensethJapanAsiya Javayant NEGOTIATION
Salvatore U ChuiBrazilOnyama Limba NEGOTIATION
Greenwood E CampainCanadaIoni Bowcher PROPOSAL
Jeanfrancois U GarufiIndiaAnna Fali UNQUALIFIED
Ashley T StockhamIndiaAsiya Javayant UNQUALIFIED
Chavez V PaprockiJapanAmy Elsner UNQUALIFIED
Aditya B NickaUnited KingdomElwin Sharvill QUALIFIED
Francesco L InouyeArgentinaIoni Bowcher PROPOSAL
Kaitlin E MacleadAustraliaAmy Elsner QUALIFIED
Antonio X OldroydSpainOnyama Limba QUALIFIED
Juan U FlosiItalyIvan Magalhaes PROPOSAL
Jones Y PaprockiItalyIoni Bowcher PROPOSAL
Leon K BowleyBrazilBernardo Dominic QUALIFIED
Arvin Z DarakjyRussiaStephen Shaw RENEWAL
Jones N SergiGermanyIoni Bowcher UNQUALIFIED
Leon G WieserRussiaBernardo Dominic PROPOSAL
Julie W CaudyGermanyXuxue Feng NEGOTIATION
Juan P AmigonArgentinaElwin Sharvill UNQUALIFIED
Rodrigues Y CaudyGermanyAmy Elsner PROPOSAL
Deepesh V MacleadSpainAsiya Javayant UNQUALIFIED
Sinclair S WieserJapanAnna Fali QUALIFIED
Maisha P DilliardRussiaBernardo Dominic QUALIFIED
Kadeem X InouyeBrazilAsiya Javayant QUALIFIED
Jennifer E RoysterBrazilStephen Shaw QUALIFIED
Antonio S NickaCanadaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony N RulapaughFranceIoni Bowcher NEGOTIATION
Jennifer L WaycottCanadaAnna Fali UNQUALIFIED
Claire G RoysterUnited KingdomIoni Bowcher NEW
Octavia A FerenczJapanElwin Sharvill NEGOTIATION
Nicolas A VenereCanadaAmy Elsner RENEWAL
Deepesh N ChuiRussiaOnyama Limba PROPOSAL
Aruna M RoysterItalyStephen Shaw NEGOTIATION
Maisha Z NickaArgentinaBernardo Dominic NEGOTIATION
Morrow Q FlosiCanadaXuxue Feng NEW
Deepesh M WaycottAustraliaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley U RutaRussia2025-09-23Rousseaux, Michael Esq RENEWAL63Bernardo Dominic
1001Murillo K OstroskyCanada2025-09-25Truhlar And Truhlar Attys QUALIFIED85Bernardo Dominic
1002Sinclair O GillianFrance2025-10-03Chanay, Jeffrey A Esq QUALIFIED89Asiya Javayant
1003Faith P StensethSpain2025-09-30Truhlar And Truhlar Attys RENEWAL38Stephen Shaw
1004Faith E FollerAustralia2025-10-06Chapman, Ross E Esq NEW93Anna Fali
1005Isabel G DoeFrance2025-09-28Benton, John B Jr PROPOSAL88Anna Fali
1006Greenwood X FollerBrazil2025-09-22Truhlar And Truhlar Attys PROPOSAL29Asiya Javayant
1007Leon O FlosiAustralia2025-09-26Rangoni Of Florence QUALIFIED3Bernardo Dominic
1008David F GillianIndia2025-09-21Chanay, Jeffrey A Esq QUALIFIED18Elwin Sharvill
1009Octavia E FlosiAustralia2025-10-03Benton, John B Jr UNQUALIFIED36Ioni Bowcher
1010Faith O CaldareraJapan2025-10-16Chemel, James L Cpa NEGOTIATION58Ioni Bowcher
1011James C CampainRussia2025-10-19Feiner Bros PROPOSAL55Ioni Bowcher
1012Ivar V SaylorsJapan2025-10-02Benton, John B Jr UNQUALIFIED75Asiya Javayant
1013Arvin B WieserIndia2025-09-25Buckley Miller Wright NEGOTIATION18Ivan Magalhaes
1014Emily H NickaRussia2025-09-23Rangoni Of Florence PROPOSAL56Bernardo Dominic
1015Faith M ShinkoAustralia2025-10-08Printing Dimensions NEGOTIATION36Anna Fali
1016Murillo R NickaUnited Kingdom2025-10-19Printing Dimensions PROPOSAL10Asiya Javayant
1017Misaki N BologniaCanada2025-10-09Chanay, Jeffrey A Esq PROPOSAL24Asiya Javayant
1018Clifford O SlusarskiBrazil2025-10-04Chapman, Ross E Esq UNQUALIFIED32Anna Fali
1019Francesco I MorascaBrazil2025-10-19Printing Dimensions UNQUALIFIED78Xuxue Feng
1020Johnson T StockhamCanada2025-10-13Chanay, Jeffrey A Esq NEGOTIATION0Elwin Sharvill
1021Francesco S MacleadJapan2025-10-17Printing Dimensions RENEWAL37Bernardo Dominic
1022Clifford D RulapaughJapan2025-10-15Feltz Printing Service NEW27Ioni Bowcher
1023Julie C NickaAustralia2025-10-01Buckley Miller Wright UNQUALIFIED31Ivan Magalhaes
1024Munro P BriddickJapan2025-10-05King, Christopher A Esq PROPOSAL15Asiya Javayant
1025Jeanfrancois V MaletIndia2025-10-19Dorl, James J Esq RENEWAL81Amy Elsner
1026Ashley E MorascaUnited Kingdom2025-10-19Truhlar And Truhlar Attys QUALIFIED63Xuxue Feng
1027Stacey C MarrierBrazil2025-09-24Chapman, Ross E Esq UNQUALIFIED8Ioni Bowcher
1028Mayumi Z MorascaSpain2025-10-17Dorl, James J Esq NEW70Xuxue Feng
1029Aika J FerenczSpain2025-10-06Feiner Bros NEW42Xuxue Feng
1030Smith V ChuiBrazil2025-09-25Chapman, Ross E Esq PROPOSAL75Stephen Shaw
1031Faith O OstroskyAustralia2025-10-01Morlong Associates UNQUALIFIED22Ivan Magalhaes
1032Ricardo Z FollerCanada2025-09-23Buckley Miller Wright NEW66Stephen Shaw
1033Leja F OstroskyUnited Kingdom2025-10-16Truhlar And Truhlar Attys RENEWAL12Amy Elsner
1034James C VocelkaAustralia2025-10-03King, Christopher A Esq NEGOTIATION55Asiya Javayant
1035Ashley G ButtCanada2025-10-19Dorl, James J Esq RENEWAL47Ivan Magalhaes
1036Misaki R DoeJapan2025-10-16Rousseaux, Michael Esq PROPOSAL58Anna Fali
1037Leon H DilliardItaly2025-10-15Rousseaux, Michael Esq PROPOSAL75Xuxue Feng
1038Smith P GarufiArgentina2025-10-10Buckley Miller Wright NEGOTIATION93Ivan Magalhaes
1039Misaki R FollerIndia2025-10-19Truhlar And Truhlar Attys NEW36Bernardo Dominic
1040Misaki B WaycottArgentina2025-10-08Rousseaux, Michael Esq NEW41Ivan Magalhaes
1041James G SaylorsBrazil2025-09-24Printing Dimensions NEW74Xuxue Feng
1042Tony M RoysterRussia2025-09-26Rousseaux, Michael Esq RENEWAL15Asiya Javayant
1043Mujtaba U SlusarskiArgentina2025-10-15Feiner Bros UNQUALIFIED12Asiya Javayant
1044Aika V KolmetzJapan2025-10-01Buckley Miller Wright NEGOTIATION95Bernardo Dominic
1045David D RoysterAustralia2025-10-18King, Christopher A Esq PROPOSAL3Amy Elsner
1046David H MaletArgentina2025-09-30Rousseaux, Michael Esq RENEWAL64Elwin Sharvill
1047Clifford O SchemmerBrazil2025-10-16Feltz Printing Service RENEWAL58Ivan Magalhaes
1048Silvio I WaycottRussia2025-10-12Feiner Bros PROPOSAL48Ivan Magalhaes
1049Maria G ButtItaly2025-10-18Dorl, James J Esq NEW38Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin H SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Octavia W DoeCanadaStephen Shaw NEW
Wickens I SlusarskiSpainAnna Fali NEW
Clifford M NickaJapanBernardo Dominic UNQUALIFIED
Rodrigues A NickaArgentinaIvan Magalhaes RENEWAL
Octavia N AmigonRussiaBernardo Dominic PROPOSAL
Maria M KuskoArgentinaElwin Sharvill PROPOSAL
Nicolas R FerenczArgentinaIoni Bowcher NEGOTIATION
Clifford Y FlosiSpainBernardo Dominic NEGOTIATION
Mujtaba X FigeroaRussiaOnyama Limba NEW
Faith G ShinkoRussiaElwin Sharvill NEW
Ivar S VenereSpainIoni Bowcher NEW
Maria H WieserGermanyIvan Magalhaes NEGOTIATION
Kaitlin V PerinArgentinaStephen Shaw NEGOTIATION
Adams Y IturbideFranceAnna Fali PROPOSAL
Morrow J MaletUnited KingdomOnyama Limba QUALIFIED
Smith D MacleadItalyIoni Bowcher PROPOSAL
Julie X NestleFranceAnna Fali NEGOTIATION
Salvatore J WaycottFranceAmy Elsner UNQUALIFIED
Silvio C MarrierRussiaElwin Sharvill NEW
Morrow K ButtRussiaIvan Magalhaes QUALIFIED
Ricardo P WhobreyRussiaAnna Fali RENEWAL
Jeanfrancois T WhobreyRussiaStephen Shaw QUALIFIED
Salvatore Z SergiJapanStephen Shaw RENEWAL
Greenwood U MaletBrazilBernardo Dominic RENEWAL
Smith B BowleyFranceAnna Fali QUALIFIED
Claire Y KolmetzSpainIoni Bowcher PROPOSAL
Darci U AmigonUnited KingdomAsiya Javayant QUALIFIED
Chavez U SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Kaitlin Y CampainSpainOnyama Limba RENEWAL
Ricardo Y DoeBrazilAsiya Javayant NEW
Sinclair L KolmetzItalyIvan Magalhaes QUALIFIED
Antonio B FollerGermanyAnna Fali QUALIFIED
Jefferson C PaprockiAustraliaElwin Sharvill NEW
Aika R MarrierCanadaBernardo Dominic RENEWAL
Kaitlin J RulapaughIndiaOnyama Limba UNQUALIFIED
Nicolas O CaudyGermanyIvan Magalhaes RENEWAL
Jennifer S VocelkaUnited KingdomXuxue Feng NEW
Julie C GlickRussiaElwin Sharvill UNQUALIFIED
Silvio K ChuiUnited KingdomIvan Magalhaes PROPOSAL
Jefferson M AmigonSpainIvan Magalhaes PROPOSAL
Faith K MarrierBrazilElwin Sharvill RENEWAL
Johnson N PerinFranceIoni Bowcher RENEWAL
Maisha X SlusarskiCanadaBernardo Dominic QUALIFIED
Ricardo Y CaldareraRussiaIoni Bowcher PROPOSAL
Mayumi K GlickAustraliaStephen Shaw NEGOTIATION
Nicolas Z RulapaughArgentinaStephen Shaw PROPOSAL
Greenwood Z RutaRussiaXuxue Feng NEW
Darci T RulapaughBrazilAnna Fali NEW
Nicolas Z FlosiBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Wickens N Royster
Maria F Figeroa
Kaitlin C Slusarski
Jefferson M Oldroyd
Ricardo U Vocelka
Greenwood J Malet
Ricardo X Waycott
Cody Q Malet
Stacey O Whobrey
Maisha X Wieser
Jefferson L Shinko
Emily F Paprocki
Chavez F Doe
Nicolas S Perin
Nicolas B Saylors
Munro T Flosi
Darci F Kusko
Wickens F Gillian
Darci J Foller
Ivar P Saylors
Adams H Paprocki
Chavez W Ferencz
James Q Malet
Chavez M Wieser
Wickens M Caldarera
Antonio C Garufi
Misaki H Foller
Darci J Figeroa
Arvin B Schemmer
Tony H Venere
Jeanfrancois O Vocelka
Tony L Rim
Salvatore S Garufi
Faith Y Venere
Adams S Figeroa
Kadeem D Rulapaugh
Leja R Malet
Aruna U Sergi
Maria R Marrier
Aika Q Rim
Leon S Kusko
Jeanfrancois P Oldroyd
Morrow X Waycott
Murillo X Rim
Francesco O Rim
Jeanfrancois Z Stockham
Jefferson Z Figeroa
Maisha F Dilliard
Johnson U Nicka
Greenwood Z Glick
IdCountryDate
1000Canada2025-09-25
1001United Kingdom2025-10-14
1002Spain2025-09-30
1003United Kingdom2025-10-16
1004Brazil2025-09-27
1005United Kingdom2025-09-28
1006Italy2025-09-26
1007United Kingdom2025-10-15
1008Argentina2025-10-10
1009United Kingdom2025-10-11
1010India2025-10-12
1011Argentina2025-10-18
1012Australia2025-09-28
1013Spain2025-09-21
1014Germany2025-10-06
1015Canada2025-09-25
1016United Kingdom2025-09-29
1017Italy2025-10-11
1018Russia2025-09-29
1019Spain2025-10-05
1020United Kingdom2025-09-22
1021Canada2025-10-14
1022Canada2025-10-11
1023Australia2025-10-09
1024Germany2025-10-09
1025Spain2025-09-26
1026Spain2025-10-05
1027Canada2025-10-12
1028Germany2025-10-11
1029Brazil2025-09-29
1030France2025-10-08
1031Argentina2025-10-04
1032Italy2025-09-25
1033India2025-10-09
1034Australia2025-10-08
1035India2025-10-02
1036Spain2025-10-14
1037Argentina2025-10-14
1038United Kingdom2025-10-05
1039Japan2025-09-23
1040United Kingdom2025-09-25
1041Canada2025-09-28
1042Argentina2025-09-28
1043Russia2025-10-12
1044Japan2025-10-02
1045France2025-10-02
1046Argentina2025-10-07
1047Spain2025-10-11
1048Germany2025-09-25
1049Russia2025-10-14

On-Demand Data

NameIdCountryDate
Isabel Q Royster1000Brazil2025-10-01
Mujtaba M Gillian1001France2025-09-22
Jennifer Y Amigon1002Australia2025-10-19
Arvin I Flosi1003Russia2025-10-07
Cody M Bowley1004Spain2025-10-14
Arvin T Chui1005Canada2025-10-02
James G Malet1006India2025-10-02
Johnson H Rim1007France2025-10-04
Antonio X Flosi1008France2025-09-26
Jeanfrancois G Bolognia1009Italy2025-10-13
Arvin T Malet1010United Kingdom2025-09-25
Juan E Gillian1011Canada2025-09-24
Maria U Stenseth1012Australia2025-10-08
Costa S Butt1013Australia2025-09-23
Chavez D Ostrosky1014Russia2025-09-24
Rodrigues A Nicka1015Argentina2025-09-26
Arvin G Amigon1016Australia2025-10-17
Aruna R Paprocki1017India2025-10-18
Aika M Malet1018Australia2025-10-01
Francesco Z Wieser1019Russia2025-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy S FlosiJapanElwin Sharvill UNQUALIFIED
Darci B PerinBrazilAsiya Javayant UNQUALIFIED
David F ShinkoFranceAsiya Javayant RENEWAL
Salvatore Q SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Chavez W MaletFranceOnyama Limba RENEWAL
James B MaletFranceOnyama Limba UNQUALIFIED
Chavez F GarufiItalyIvan Magalhaes UNQUALIFIED
Murillo J KuskoArgentinaAmy Elsner NEW
Silvio Z RimJapanAnna Fali QUALIFIED
Leja N MaletItalyElwin Sharvill QUALIFIED
Maisha R SlusarskiSpainAnna Fali NEW
Wickens F RutaArgentinaStephen Shaw RENEWAL
Emily X IturbideBrazilBernardo Dominic NEW
Julie V SergiRussiaAmy Elsner UNQUALIFIED
Wickens D MaletArgentinaBernardo Dominic NEW
Clifford K PaprockiRussiaAsiya Javayant NEW
Alejandro X SaylorsGermanyBernardo Dominic RENEWAL
Ricardo K CaudyJapanOnyama Limba NEGOTIATION
Emily I GauchoArgentinaIvan Magalhaes RENEWAL
Rodrigues O ButtSpainOnyama Limba NEGOTIATION
Octavia C PerinCanadaIoni Bowcher NEGOTIATION
Isabel N CaldareraSpainAmy Elsner UNQUALIFIED
Isabel W FerenczBrazilAmy Elsner PROPOSAL
Adams A IturbideArgentinaAsiya Javayant NEGOTIATION
Wickens P GarufiJapanIoni Bowcher UNQUALIFIED
Izzy J BologniaItalyXuxue Feng NEW
Aika I SaylorsCanadaAmy Elsner UNQUALIFIED
Costa A TollnerIndiaOnyama Limba RENEWAL
Aditya E DoeJapanStephen Shaw UNQUALIFIED
Jefferson L PoquetteIndiaXuxue Feng QUALIFIED
Jefferson W WaycottCanadaBernardo Dominic PROPOSAL
Johnson D GlickIndiaAsiya Javayant NEGOTIATION
Jeanfrancois N FlosiFranceAsiya Javayant QUALIFIED
Smith B FerenczArgentinaOnyama Limba NEW
Misaki X BriddickAustraliaAmy Elsner UNQUALIFIED
Murillo Z PaprockiCanadaIoni Bowcher PROPOSAL
Faith I ChuiItalyStephen Shaw PROPOSAL
Morrow L ChuiIndiaStephen Shaw QUALIFIED
Antonio S DoeArgentinaXuxue Feng PROPOSAL
Juan O BowleyItalyAmy Elsner 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>