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
Misaki X NickaIndiaAnna Fali UNQUALIFIED
Rodrigues J MorascaArgentinaElwin Sharvill RENEWAL
Morrow B CampainAustraliaBernardo Dominic PROPOSAL
Ivar U MacleadFranceAnna Fali PROPOSAL
Aditya C SlusarskiCanadaOnyama Limba QUALIFIED
Misaki K KuskoRussiaIvan Magalhaes PROPOSAL
Faith B MaletJapanElwin Sharvill NEW
Clifford Z PaprockiSpainAmy Elsner NEGOTIATION
Clifford U OstroskyGermanyXuxue Feng UNQUALIFIED
Mujtaba P FigeroaFranceIvan Magalhaes RENEWAL
Mujtaba H FlosiRussiaAmy Elsner NEGOTIATION
Nicolas B PaprockiBrazilOnyama Limba NEGOTIATION
Rodrigues X GauchoSpainElwin Sharvill UNQUALIFIED
Antonio E NickaFranceBernardo Dominic RENEWAL
Ricardo N ShinkoRussiaIvan Magalhaes NEW
Chavez I MacleadCanadaElwin Sharvill NEW
Wickens H PerinFranceXuxue Feng RENEWAL
Mayumi L SchemmerBrazilIoni Bowcher RENEWAL
Antonio U TollnerJapanStephen Shaw PROPOSAL
Morrow W MarrierAustraliaOnyama Limba RENEWAL
David A GauchoIndiaIoni Bowcher RENEWAL
Emily N CaudyIndiaAnna Fali QUALIFIED
Darci R CaldareraGermanyXuxue Feng NEW
Juan B CaldareraIndiaIvan Magalhaes NEGOTIATION
James E SchemmerRussiaXuxue Feng PROPOSAL
Murillo Q StensethFranceAnna Fali UNQUALIFIED
Nicolas L MaletAustraliaIvan Magalhaes UNQUALIFIED
Kadeem V MarrierJapanStephen Shaw UNQUALIFIED
Misaki F BologniaSpainAmy Elsner NEGOTIATION
Ricardo Z SergiCanadaBernardo Dominic PROPOSAL
Ashley Q PaprockiArgentinaXuxue Feng RENEWAL
Greenwood T CampainItalyStephen Shaw QUALIFIED
Rodrigues L BowleyBrazilBernardo Dominic UNQUALIFIED
Stacey E CampainFranceBernardo Dominic RENEWAL
Wickens H AmigonFranceIvan Magalhaes NEGOTIATION
Octavia X MaletBrazilAsiya Javayant PROPOSAL
Nicolas B RoysterBrazilStephen Shaw PROPOSAL
David L MaletJapanAmy Elsner RENEWAL
Aika S SergiRussiaElwin Sharvill QUALIFIED
James Q WieserIndiaAsiya Javayant RENEWAL
Mayumi N PerinJapanBernardo Dominic QUALIFIED
Octavia X BologniaCanadaBernardo Dominic PROPOSAL
Munro N StensethFranceAnna Fali NEW
James Z CaldareraUnited KingdomStephen Shaw NEGOTIATION
Silvio P GlickFranceXuxue Feng NEGOTIATION
Stacey R FerenczArgentinaAsiya Javayant RENEWAL
Ashley H RoysterItalyAsiya Javayant QUALIFIED
Misaki P GauchoUnited KingdomIoni Bowcher NEGOTIATION
Izzy U ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Stacey Q DoeCanadaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Aika B SergiRussiaIvan Magalhaes UNQUALIFIED
Kadeem K ButtArgentinaOnyama Limba UNQUALIFIED
Leja U GarufiGermanyXuxue Feng QUALIFIED
Ashley M AmigonFranceStephen Shaw QUALIFIED
Morrow Y NickaIndiaXuxue Feng QUALIFIED
Jeanfrancois X AmigonIndiaIoni Bowcher QUALIFIED
Izzy F DoeAustraliaAnna Fali NEW
Chavez F OstroskyFranceAsiya Javayant NEW
Ivar G GillianFranceStephen Shaw PROPOSAL
James X WhobreyFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon B VocelkaAustralia2025-09-25Truhlar And Truhlar Attys NEW41Ioni Bowcher
1001Smith W TollnerBrazil2025-10-02Chapman, Ross E Esq NEW61Bernardo Dominic
1002Sinclair W SchemmerSpain2025-09-17Rousseaux, Michael Esq RENEWAL72Ivan Magalhaes
1003Emily V KuskoSpain2025-10-05Feltz Printing Service QUALIFIED41Xuxue Feng
1004Ashley N BologniaUnited Kingdom2025-10-13Benton, John B Jr NEGOTIATION86Xuxue Feng
1005Ashley X ChuiItaly2025-09-27Commercial Press NEGOTIATION98Bernardo Dominic
1006Chavez E MarrierBrazil2025-09-28Feltz Printing Service QUALIFIED32Bernardo Dominic
1007Francesco E FigeroaFrance2025-10-01King, Christopher A Esq PROPOSAL55Anna Fali
1008Mayumi H OstroskyArgentina2025-09-30Feiner Bros NEGOTIATION74Asiya Javayant
1009Faith S OstroskyAustralia2025-09-15Morlong Associates QUALIFIED4Asiya Javayant
1010Chavez M MorascaRussia2025-09-25Chanay, Jeffrey A Esq NEGOTIATION31Amy Elsner
1011Wickens M MacleadBrazil2025-09-30King, Christopher A Esq UNQUALIFIED81Amy Elsner
1012Leon N TollnerGermany2025-09-21Chemel, James L Cpa QUALIFIED4Amy Elsner
1013Isabel T StensethCanada2025-09-16King, Christopher A Esq NEW66Xuxue Feng
1014Leon X DarakjyGermany2025-09-20Chemel, James L Cpa QUALIFIED11Amy Elsner
1015Adams R GillianFrance2025-09-30Commercial Press UNQUALIFIED41Amy Elsner
1016Mayumi F StockhamAustralia2025-10-10Printing Dimensions PROPOSAL18Onyama Limba
1017David H OstroskyCanada2025-09-30Rangoni Of Florence NEGOTIATION29Stephen Shaw
1018Tony L SaylorsCanada2025-10-11Morlong Associates QUALIFIED97Amy Elsner
1019Costa S RutaRussia2025-10-09Benton, John B Jr QUALIFIED75Anna Fali
1020Aruna D MorascaGermany2025-10-01Feiner Bros NEW1Bernardo Dominic
1021Misaki K StensethAustralia2025-10-12King, Christopher A Esq UNQUALIFIED61Asiya Javayant
1022Salvatore Q InouyeAustralia2025-10-08Dorl, James J Esq NEGOTIATION58Ioni Bowcher
1023Claire L AlbaresIndia2025-09-18Truhlar And Truhlar Attys PROPOSAL55Stephen Shaw
1024Emily A FollerJapan2025-10-07Feltz Printing Service UNQUALIFIED87Elwin Sharvill
1025Murillo N RulapaughItaly2025-09-27Benton, John B Jr UNQUALIFIED65Ivan Magalhaes
1026Wickens T SaylorsBrazil2025-10-04Commercial Press RENEWAL48Asiya Javayant
1027Aditya Z GlickIndia2025-09-25King, Christopher A Esq PROPOSAL26Onyama Limba
1028James J WieserCanada2025-09-27Truhlar And Truhlar Attys PROPOSAL88Onyama Limba
1029Jennifer Y NestleGermany2025-10-01Dorl, James J Esq RENEWAL91Ivan Magalhaes
1030Jeanfrancois B GillianArgentina2025-10-07Buckley Miller Wright UNQUALIFIED26Elwin Sharvill
1031Aditya R GillianBrazil2025-09-22Buckley Miller Wright QUALIFIED84Ivan Magalhaes
1032Salvatore P ShinkoUnited Kingdom2025-10-12Printing Dimensions NEGOTIATION32Xuxue Feng
1033Mayumi K ChuiIndia2025-10-12Dorl, James J Esq RENEWAL9Onyama Limba
1034Leja J WieserItaly2025-10-08Dorl, James J Esq RENEWAL82Xuxue Feng
1035Leon Z MaletSpain2025-10-11Feltz Printing Service UNQUALIFIED17Elwin Sharvill
1036Isabel F NickaUnited Kingdom2025-09-28Feltz Printing Service QUALIFIED51Elwin Sharvill
1037Leja U FollerSpain2025-10-05Benton, John B Jr PROPOSAL29Anna Fali
1038Aika A CaudySpain2025-09-30Buckley Miller Wright RENEWAL72Elwin Sharvill
1039Arvin G GillianAustralia2025-09-16Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1040Nicolas C CaldareraJapan2025-09-21Rangoni Of Florence PROPOSAL50Ivan Magalhaes
1041Ashley D GlickRussia2025-10-14Buckley Miller Wright UNQUALIFIED48Anna Fali
1042Ricardo T StensethItaly2025-09-20Dorl, James J Esq RENEWAL10Ioni Bowcher
1043Salvatore Y SlusarskiFrance2025-10-13Printing Dimensions RENEWAL72Elwin Sharvill
1044Stacey T NestleUnited Kingdom2025-10-14Chanay, Jeffrey A Esq QUALIFIED39Elwin Sharvill
1045Juan N StockhamJapan2025-10-03Printing Dimensions NEGOTIATION26Asiya Javayant
1046Aruna I KolmetzRussia2025-10-03Chanay, Jeffrey A Esq QUALIFIED22Elwin Sharvill
1047Johnson E SaylorsGermany2025-09-25Chemel, James L Cpa NEGOTIATION24Anna Fali
1048Aruna R WieserUnited Kingdom2025-09-16King, Christopher A Esq QUALIFIED26Xuxue Feng
1049Cody E NickaArgentina2025-10-13Buckley Miller Wright RENEWAL30Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens R SlusarskiIndiaIvan Magalhaes RENEWAL
Jeanfrancois Y StockhamSpainIvan Magalhaes UNQUALIFIED
Tony R FollerArgentinaIvan Magalhaes PROPOSAL
Johnson M WieserAustraliaStephen Shaw UNQUALIFIED
Francesco R PaprockiFranceIoni Bowcher NEGOTIATION
Jefferson D GlickSpainIvan Magalhaes QUALIFIED
Maria H SergiGermanyOnyama Limba NEW
Mujtaba B WaycottArgentinaXuxue Feng NEW
Adams Q AlbaresSpainBernardo Dominic NEW
Jefferson F SlusarskiItalyBernardo Dominic NEGOTIATION
Leon Y GlickSpainXuxue Feng UNQUALIFIED
Misaki J BriddickCanadaAmy Elsner UNQUALIFIED
Jeanfrancois R CampainItalyBernardo Dominic NEGOTIATION
Murillo Q DarakjyUnited KingdomElwin Sharvill PROPOSAL
Claire S MacleadUnited KingdomIvan Magalhaes RENEWAL
Maria C GillianRussiaElwin Sharvill PROPOSAL
Chavez Q StockhamAustraliaBernardo Dominic UNQUALIFIED
Aditya B ShinkoUnited KingdomXuxue Feng RENEWAL
Misaki P DoeUnited KingdomStephen Shaw NEGOTIATION
Antonio G DoeBrazilIoni Bowcher QUALIFIED
Juan Z AmigonArgentinaStephen Shaw QUALIFIED
Mujtaba R BriddickBrazilAsiya Javayant QUALIFIED
Misaki Z KuskoAustraliaAsiya Javayant UNQUALIFIED
Arvin U WaycottFranceAmy Elsner UNQUALIFIED
Aditya Q WaycottFranceXuxue Feng UNQUALIFIED
Kadeem S OldroydGermanyStephen Shaw UNQUALIFIED
Murillo D StensethArgentinaXuxue Feng PROPOSAL
Izzy J FollerUnited KingdomStephen Shaw QUALIFIED
Jennifer K ShinkoRussiaElwin Sharvill QUALIFIED
Sinclair R MorascaIndiaAsiya Javayant NEW
Mujtaba A DilliardItalyOnyama Limba NEW
Stacey Y BriddickFranceAnna Fali PROPOSAL
Isabel U BriddickGermanyXuxue Feng NEGOTIATION
Nicolas B CaldareraCanadaIvan Magalhaes RENEWAL
Kaitlin A RimFranceAmy Elsner QUALIFIED
James D RoysterGermanyBernardo Dominic QUALIFIED
Mayumi C KuskoCanadaOnyama Limba UNQUALIFIED
Kadeem X StockhamRussiaIoni Bowcher NEW
Octavia Z MarrierCanadaStephen Shaw NEW
Leon N SaylorsJapanAnna Fali UNQUALIFIED
Francesco O PaprockiFranceXuxue Feng UNQUALIFIED
Ashley X SlusarskiAustraliaElwin Sharvill NEW
Antonio V GarufiSpainXuxue Feng UNQUALIFIED
Tony H FigeroaItalyIoni Bowcher NEW
Juan P ShinkoArgentinaAnna Fali RENEWAL
Izzy S GarufiJapanOnyama Limba UNQUALIFIED
Deepesh O DarakjyBrazilBernardo Dominic RENEWAL
Murillo A CaldareraFranceStephen Shaw RENEWAL
Maria E BriddickJapanAsiya Javayant RENEWAL
Salvatore J StensethItalyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Salvatore P Malet
Emily H Albares
Chavez P Albares
Ivar F Dilliard
Aika R Perin
Mayumi I Rulapaugh
Nicolas U Rulapaugh
Costa K Venere
Morrow Y Rulapaugh
Faith N Darakjy
Adams J Inouye
Sinclair R Caudy
Emily X Amigon
Antonio U Foller
Sinclair E Saylors
Salvatore C Kusko
Wickens T Nicka
Nicolas Z Darakjy
Aruna Z Bolognia
Jefferson G Bolognia
Emily I Wieser
Juan I Perin
Leon G Schemmer
Morrow E Caudy
Adams M Kusko
Aika Z Ruta
Munro Z Rulapaugh
Darci K Bolognia
Antonio H Maclead
Octavia S Saylors
Alejandro C Bolognia
Maisha B Ostrosky
Jefferson B Royster
Francesco S Briddick
Kadeem N Ostrosky
Maria A Albares
Maisha Y Sergi
Kaitlin G Caudy
David B Glick
Adams J Chui
Claire M Ostrosky
Juan I Flosi
Juan G Nicka
James A Poquette
Maria X Marrier
Antonio S Stockham
Mayumi X Inouye
Leja K Ostrosky
Ricardo W Doe
Antonio B Ruta
IdCountryDate
1000United Kingdom2025-09-23
1001India2025-09-19
1002Spain2025-09-22
1003Brazil2025-09-21
1004Spain2025-10-11
1005France2025-09-18
1006Argentina2025-10-02
1007India2025-09-21
1008France2025-09-16
1009France2025-09-15
1010Italy2025-10-06
1011Australia2025-09-28
1012United Kingdom2025-10-06
1013Japan2025-09-18
1014Australia2025-10-02
1015Germany2025-09-16
1016Italy2025-10-13
1017Russia2025-10-14
1018Brazil2025-10-05
1019Canada2025-10-13
1020Spain2025-09-24
1021Spain2025-09-19
1022France2025-09-20
1023United Kingdom2025-09-21
1024France2025-10-12
1025France2025-09-20
1026Australia2025-09-17
1027Canada2025-10-10
1028Brazil2025-10-02
1029France2025-09-21
1030Japan2025-09-21
1031Argentina2025-09-23
1032Brazil2025-09-30
1033United Kingdom2025-10-08
1034Japan2025-09-27
1035Japan2025-10-10
1036Argentina2025-09-29
1037Russia2025-10-13
1038Spain2025-09-20
1039United Kingdom2025-10-11
1040Germany2025-10-01
1041Argentina2025-09-25
1042France2025-10-02
1043Argentina2025-10-13
1044Germany2025-10-03
1045India2025-09-16
1046Canada2025-10-03
1047Brazil2025-10-05
1048Australia2025-10-06
1049Spain2025-09-23

On-Demand Data

NameIdCountryDate
Ricardo D Ruta1000Argentina2025-10-13
Francesco U Garufi1001Italy2025-10-13
Julie T Ferencz1002United Kingdom2025-09-23
Aditya B Ferencz1003Argentina2025-09-27
Julie D Chui1004Germany2025-09-27
Murillo O Dilliard1005Russia2025-10-08
Jefferson O Paprocki1006United Kingdom2025-09-22
Mujtaba J Campain1007Brazil2025-10-07
Octavia C Tollner1008Australia2025-09-19
Aika Y Waycott1009Australia2025-09-16
Nicolas D Waycott1010Brazil2025-10-13
Julie N Shinko1011Argentina2025-10-07
Juan V Rim1012Germany2025-09-30
Isabel Y Briddick1013Argentina2025-09-25
Greenwood R Ruta1014United Kingdom2025-10-02
Leon Y Malet1015India2025-10-05
Tony J Vocelka1016Argentina2025-09-15
Ashley Q Glick1017Russia2025-09-18
Smith Y Stenseth1018India2025-10-07
Misaki O Marrier1019Germany2025-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem U StensethFranceAnna Fali RENEWAL
Sinclair Q CaudyRussiaStephen Shaw NEW
Julie X PerinUnited KingdomIvan Magalhaes QUALIFIED
Aditya Y WaycottCanadaBernardo Dominic QUALIFIED
Jeanfrancois H WhobreyGermanyAmy Elsner NEW
Maria T CaldareraSpainBernardo Dominic QUALIFIED
Kaitlin A StensethBrazilAnna Fali QUALIFIED
Mujtaba G GillianArgentinaOnyama Limba PROPOSAL
Darci Z AlbaresArgentinaAnna Fali QUALIFIED
Faith V NickaUnited KingdomAsiya Javayant RENEWAL
Maisha H PerinArgentinaElwin Sharvill NEW
Francesco H RutaUnited KingdomOnyama Limba PROPOSAL
Nicolas Q CaudyFranceIvan Magalhaes RENEWAL
Antonio F GarufiFranceAsiya Javayant PROPOSAL
Misaki G KuskoItalyXuxue Feng NEW
Misaki P DarakjyJapanXuxue Feng RENEWAL
Aruna O IturbideAustraliaStephen Shaw NEGOTIATION
Maria F WaycottRussiaBernardo Dominic UNQUALIFIED
Maria G FigeroaAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois L StensethRussiaAnna Fali RENEWAL
Misaki G MarrierAustraliaBernardo Dominic PROPOSAL
Ivar F InouyeIndiaAnna Fali NEGOTIATION
Adams V SergiUnited KingdomAnna Fali QUALIFIED
Jeanfrancois W SlusarskiRussiaAsiya Javayant QUALIFIED
Deepesh Z WieserCanadaIvan Magalhaes PROPOSAL
Ivar N IturbideFranceStephen Shaw RENEWAL
Deepesh B DarakjyJapanXuxue Feng UNQUALIFIED
Jennifer I StockhamGermanyStephen Shaw PROPOSAL
Aditya Q NestleFranceAsiya Javayant NEW
Cody J RimRussiaXuxue Feng NEGOTIATION
Faith C VocelkaJapanXuxue Feng NEW
Chavez R WhobreyJapanElwin Sharvill NEGOTIATION
Aruna A ChuiFranceIoni Bowcher PROPOSAL
Ashley W FollerItalyStephen Shaw PROPOSAL
Maria I RutaBrazilOnyama Limba NEGOTIATION
Ricardo F MaletUnited KingdomStephen Shaw NEW
Wickens S TollnerUnited KingdomXuxue Feng NEW
Ivar Y RulapaughUnited KingdomAmy Elsner QUALIFIED
Julie M WaycottIndiaOnyama Limba QUALIFIED
Murillo P MaletCanadaAsiya Javayant 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>