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 Z PerinUnited KingdomStephen Shaw PROPOSAL
Claire Y MaletUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois G StockhamCanadaBernardo Dominic RENEWAL
Aruna V RimGermanyStephen Shaw UNQUALIFIED
Ivar G GlickRussiaAmy Elsner QUALIFIED
Ivar C GauchoFranceAmy Elsner UNQUALIFIED
Mayumi C BologniaJapanAmy Elsner NEGOTIATION
Ashley S WaycottRussiaElwin Sharvill UNQUALIFIED
Izzy X SlusarskiIndiaAsiya Javayant UNQUALIFIED
Maisha F GarufiRussiaIoni Bowcher QUALIFIED
Misaki J TollnerAustraliaIoni Bowcher RENEWAL
Morrow H NickaItalyElwin Sharvill RENEWAL
Aditya S SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois S GillianItalyXuxue Feng QUALIFIED
Mayumi O CampainCanadaElwin Sharvill PROPOSAL
Maisha F NickaBrazilAmy Elsner NEGOTIATION
Ivar Z KuskoRussiaXuxue Feng QUALIFIED
Isabel F AmigonSpainAnna Fali RENEWAL
Julie I SergiBrazilXuxue Feng NEGOTIATION
Leon R DilliardFranceIvan Magalhaes PROPOSAL
Greenwood X MarrierItalyIoni Bowcher NEGOTIATION
Octavia R MacleadAustraliaXuxue Feng UNQUALIFIED
Ashley N StensethFranceIvan Magalhaes NEGOTIATION
David V RulapaughBrazilXuxue Feng RENEWAL
Munro N KolmetzGermanyIoni Bowcher NEGOTIATION
Clifford K ButtIndiaElwin Sharvill RENEWAL
Jeanfrancois Y MaletAustraliaXuxue Feng UNQUALIFIED
Kaitlin U CaudySpainAnna Fali NEGOTIATION
Tony L MorascaUnited KingdomOnyama Limba UNQUALIFIED
Adams P WaycottFranceXuxue Feng QUALIFIED
Mayumi G WaycottJapanStephen Shaw PROPOSAL
Adams Y CaldareraAustraliaElwin Sharvill RENEWAL
James Z MaletJapanIoni Bowcher PROPOSAL
Aditya F CampainArgentinaOnyama Limba NEGOTIATION
Leja L DarakjyCanadaAmy Elsner NEW
Morrow X StensethSpainBernardo Dominic NEGOTIATION
Juan M IturbideCanadaOnyama Limba NEGOTIATION
Arvin N MacleadJapanAsiya Javayant RENEWAL
Munro K RulapaughFranceAsiya Javayant NEW
Darci U FollerRussiaElwin Sharvill RENEWAL
Silvio T ChuiJapanAsiya Javayant RENEWAL
Isabel S InouyeBrazilAmy Elsner QUALIFIED
Johnson S AlbaresAustraliaBernardo Dominic RENEWAL
Mujtaba J ChuiFranceBernardo Dominic NEW
Leja Y RoysterJapanXuxue Feng RENEWAL
Izzy I SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Kadeem Q VenereIndiaIvan Magalhaes PROPOSAL
Murillo K FigeroaCanadaStephen Shaw NEGOTIATION
Rodrigues V GlickIndiaAsiya Javayant NEW
Alejandro K SlusarskiUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya R FlosiIndiaIoni Bowcher UNQUALIFIED
Nicolas A DarakjyAustraliaIvan Magalhaes QUALIFIED
Munro N ChuiGermanyAmy Elsner NEW
Morrow R PaprockiItalyStephen Shaw UNQUALIFIED
Mujtaba T AlbaresGermanyStephen Shaw UNQUALIFIED
Aika H VenereItalyAsiya Javayant UNQUALIFIED
Kaitlin X KolmetzSpainXuxue Feng RENEWAL
Ivar I VenereRussiaIoni Bowcher UNQUALIFIED
James X KuskoRussiaIvan Magalhaes UNQUALIFIED
Ashley M BowleyFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy I OldroydArgentina2025-07-14Benton, John B Jr UNQUALIFIED22Amy Elsner
1001Salvatore F DilliardArgentina2025-08-02Commercial Press RENEWAL52Xuxue Feng
1002Wickens B StensethGermany2025-07-24Chapman, Ross E Esq NEGOTIATION71Asiya Javayant
1003Nicolas C NickaJapan2025-07-31Truhlar And Truhlar Attys UNQUALIFIED45Bernardo Dominic
1004Ashley T PaprockiGermany2025-07-26Rousseaux, Michael Esq PROPOSAL45Amy Elsner
1005Nicolas Z GauchoAustralia2025-07-26Chapman, Ross E Esq QUALIFIED52Amy Elsner
1006Salvatore S GarufiAustralia2025-08-04Truhlar And Truhlar Attys UNQUALIFIED44Xuxue Feng
1007Maisha S PoquetteUnited Kingdom2025-07-14Benton, John B Jr RENEWAL28Ivan Magalhaes
1008Sinclair G NickaCanada2025-07-30Chapman, Ross E Esq NEGOTIATION26Elwin Sharvill
1009Johnson W FlosiIndia2025-07-13Feltz Printing Service QUALIFIED6Bernardo Dominic
1010Claire G ButtSpain2025-07-24Chapman, Ross E Esq RENEWAL76Ioni Bowcher
1011Jefferson R BowleyRussia2025-07-23Buckley Miller Wright QUALIFIED84Anna Fali
1012Jennifer A StensethSpain2025-07-29Rousseaux, Michael Esq NEW60Anna Fali
1013Juan J BologniaIndia2025-07-15Chanay, Jeffrey A Esq RENEWAL55Xuxue Feng
1014Ashley U SaylorsBrazil2025-07-23Printing Dimensions RENEWAL6Stephen Shaw
1015Johnson J SaylorsGermany2025-07-31Chanay, Jeffrey A Esq UNQUALIFIED39Elwin Sharvill
1016Jones E DarakjyCanada2025-07-14Truhlar And Truhlar Attys RENEWAL84Bernardo Dominic
1017Julie C ButtUnited Kingdom2025-07-18Rousseaux, Michael Esq QUALIFIED70Xuxue Feng
1018David F FollerSpain2025-07-29Rangoni Of Florence UNQUALIFIED13Elwin Sharvill
1019Chavez N OstroskyUnited Kingdom2025-07-14Rousseaux, Michael Esq UNQUALIFIED1Anna Fali
1020Leon O BriddickIndia2025-08-01Buckley Miller Wright NEW94Anna Fali
1021Jeanfrancois W GauchoAustralia2025-07-24Printing Dimensions PROPOSAL89Stephen Shaw
1022Tony C SergiFrance2025-07-20Dorl, James J Esq PROPOSAL57Xuxue Feng
1023Kadeem C DarakjyBrazil2025-07-15Commercial Press NEGOTIATION9Xuxue Feng
1024Salvatore B DarakjyJapan2025-07-18Benton, John B Jr NEGOTIATION97Anna Fali
1025Nicolas D FlosiUnited Kingdom2025-07-14Chanay, Jeffrey A Esq NEGOTIATION94Xuxue Feng
1026Deepesh E SaylorsArgentina2025-07-19Chemel, James L Cpa RENEWAL20Amy Elsner
1027Aditya S SchemmerRussia2025-08-03Commercial Press PROPOSAL55Xuxue Feng
1028Claire A IturbideSpain2025-07-09Feltz Printing Service NEW76Stephen Shaw
1029Kadeem O WaycottCanada2025-08-04Chanay, Jeffrey A Esq NEW28Ivan Magalhaes
1030Alejandro N GlickBrazil2025-07-30Commercial Press NEW6Ivan Magalhaes
1031Julie D CaldareraRussia2025-07-19Morlong Associates NEGOTIATION25Onyama Limba
1032Darci R DoeArgentina2025-07-23Benton, John B Jr NEGOTIATION10Asiya Javayant
1033David B GillianUnited Kingdom2025-07-16Morlong Associates UNQUALIFIED69Ioni Bowcher
1034Faith S GauchoAustralia2025-07-17Benton, John B Jr RENEWAL61Onyama Limba
1035Adams M WieserUnited Kingdom2025-07-28Rangoni Of Florence NEW14Ivan Magalhaes
1036Jeanfrancois K MaletUnited Kingdom2025-07-19Buckley Miller Wright RENEWAL88Onyama Limba
1037Juan I RulapaughCanada2025-07-30Benton, John B Jr RENEWAL89Elwin Sharvill
1038Julie I BowleyItaly2025-07-06Feltz Printing Service NEW32Asiya Javayant
1039Aditya A ShinkoFrance2025-07-23Chanay, Jeffrey A Esq RENEWAL84Anna Fali
1040Octavia U BologniaRussia2025-07-13Rangoni Of Florence NEGOTIATION50Asiya Javayant
1041Emily H DarakjyUnited Kingdom2025-07-10Rangoni Of Florence QUALIFIED0Xuxue Feng
1042David G ButtIndia2025-08-03Chapman, Ross E Esq NEW14Anna Fali
1043Tony M AlbaresGermany2025-07-07Feiner Bros NEW37Asiya Javayant
1044Aditya T FerenczArgentina2025-07-14Printing Dimensions NEGOTIATION38Anna Fali
1045Cody H StensethArgentina2025-07-22Benton, John B Jr PROPOSAL59Onyama Limba
1046Smith N MarrierSpain2025-07-11Chemel, James L Cpa QUALIFIED32Anna Fali
1047James X ChuiJapan2025-07-26Printing Dimensions NEGOTIATION3Ivan Magalhaes
1048Darci E GauchoUnited Kingdom2025-07-27Truhlar And Truhlar Attys NEW31Ioni Bowcher
1049Misaki O RutaGermany2025-07-18Morlong Associates NEGOTIATION21Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo G VocelkaRussiaIoni Bowcher NEW
Octavia D StockhamJapanIoni Bowcher RENEWAL
Costa D VenereIndiaElwin Sharvill NEGOTIATION
Munro U SaylorsUnited KingdomStephen Shaw PROPOSAL
Clifford I WaycottCanadaXuxue Feng UNQUALIFIED
Clifford L RutaItalyAnna Fali NEGOTIATION
Izzy K MaletArgentinaAmy Elsner NEGOTIATION
Juan X MarrierAustraliaStephen Shaw NEW
Alejandro J CaudyJapanElwin Sharvill NEGOTIATION
Maria M AmigonItalyOnyama Limba NEGOTIATION
Mujtaba S MaletAustraliaAsiya Javayant PROPOSAL
Kadeem X VenereAustraliaStephen Shaw NEGOTIATION
Morrow M OstroskyItalyElwin Sharvill PROPOSAL
Claire M GlickAustraliaIoni Bowcher NEGOTIATION
Darci L PerinSpainBernardo Dominic NEGOTIATION
Murillo F SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Leon F BriddickFranceIoni Bowcher PROPOSAL
Izzy L KuskoItalyStephen Shaw NEGOTIATION
Chavez R RoysterCanadaIvan Magalhaes NEGOTIATION
Clifford X GauchoGermanyAsiya Javayant NEGOTIATION
Nicolas H FlosiArgentinaAmy Elsner UNQUALIFIED
Greenwood D RulapaughArgentinaStephen Shaw NEGOTIATION
Izzy I StensethAustraliaBernardo Dominic QUALIFIED
Murillo E OstroskyItalyIoni Bowcher NEGOTIATION
Izzy H BologniaGermanyAmy Elsner NEW
Aditya Y RutaAustraliaIoni Bowcher NEW
Stacey B BologniaBrazilAsiya Javayant PROPOSAL
Wickens K MacleadRussiaStephen Shaw PROPOSAL
Isabel V IturbideJapanStephen Shaw RENEWAL
Munro V MaletArgentinaElwin Sharvill QUALIFIED
Emily B CaudyItalyXuxue Feng RENEWAL
Isabel T BriddickRussiaIoni Bowcher QUALIFIED
Mayumi J PoquetteItalyXuxue Feng UNQUALIFIED
Johnson S SergiIndiaOnyama Limba UNQUALIFIED
Tony R ButtUnited KingdomXuxue Feng QUALIFIED
Maria S MaletRussiaIvan Magalhaes UNQUALIFIED
Maisha Q SaylorsFranceAsiya Javayant NEGOTIATION
Claire C VocelkaRussiaElwin Sharvill NEGOTIATION
Jones I BologniaIndiaXuxue Feng UNQUALIFIED
Johnson R FigeroaIndiaAnna Fali NEW
Sinclair E RimRussiaElwin Sharvill NEGOTIATION
Ashley T IturbideBrazilAsiya Javayant QUALIFIED
Isabel T MaletUnited KingdomXuxue Feng UNQUALIFIED
Julie G PoquetteFranceIoni Bowcher RENEWAL
Alejandro H GlickGermanyXuxue Feng RENEWAL
Emily W GillianRussiaAnna Fali NEGOTIATION
Cody Q StensethUnited KingdomOnyama Limba NEW
Mayumi S CaldareraUnited KingdomElwin Sharvill QUALIFIED
Rodrigues F GauchoCanadaAsiya Javayant RENEWAL
Octavia F GarufiIndiaElwin Sharvill RENEWAL
Frozen Columns
Name
Maisha W Oldroyd
Leja F Iturbide
Faith N Foller
Isabel G Bolognia
Nicolas V Nicka
Murillo T Nestle
Francesco J Chui
Julie S Slusarski
Arvin I Malet
Darci O Ostrosky
Aruna X Campain
Clifford N Amigon
Jones T Ferencz
Misaki O Ferencz
Munro D Inouye
Leon L Briddick
James G Rim
Antonio N Ferencz
Aditya T Slusarski
Octavia I Schemmer
Cody R Whobrey
Johnson N Gaucho
Murillo Y Venere
Maisha V Wieser
Munro F Iturbide
Francesco K Poquette
Julie L Waycott
Antonio K Stenseth
Jones P Caldarera
Octavia A Gaucho
Smith I Briddick
Julie K Nestle
Silvio D Malet
Maria Q Rim
Arvin H Tollner
Salvatore K Foller
Leja W Caldarera
Misaki E Marrier
Salvatore E Oldroyd
Aika U Paprocki
Julie K Stenseth
Faith J Ostrosky
Ivar Z Shinko
Jefferson X Bolognia
Aika Z Ruta
Maisha H Perin
Octavia M Iturbide
Kadeem Q Ferencz
Tony X Caudy
Mujtaba M Whobrey
IdCountryDate
1000Germany2025-07-11
1001Canada2025-07-30
1002United Kingdom2025-07-25
1003Spain2025-07-13
1004India2025-07-15
1005India2025-07-27
1006Spain2025-07-23
1007Spain2025-07-24
1008Germany2025-07-25
1009India2025-07-24
1010Russia2025-07-17
1011Germany2025-07-10
1012Russia2025-07-10
1013United Kingdom2025-07-14
1014Australia2025-07-19
1015Australia2025-07-07
1016Russia2025-07-30
1017India2025-07-22
1018Japan2025-07-20
1019India2025-07-30
1020United Kingdom2025-08-03
1021Italy2025-07-16
1022Spain2025-07-25
1023Spain2025-07-24
1024Australia2025-07-12
1025France2025-07-29
1026France2025-07-28
1027Japan2025-07-21
1028Russia2025-07-23
1029Canada2025-07-11
1030Italy2025-07-19
1031France2025-07-15
1032Australia2025-07-08
1033India2025-07-30
1034Russia2025-07-28
1035Brazil2025-07-10
1036Brazil2025-07-08
1037France2025-07-14
1038Spain2025-07-28
1039Argentina2025-07-21
1040Japan2025-07-08
1041Brazil2025-08-02
1042Argentina2025-07-15
1043Spain2025-07-25
1044Italy2025-07-20
1045Italy2025-07-23
1046Australia2025-08-02
1047Brazil2025-07-15
1048Italy2025-07-17
1049Japan2025-07-19

On-Demand Data

NameIdCountryDate
Julie E Tollner1000Russia2025-07-08
Arvin T Campain1001Germany2025-07-21
Isabel D Foller1002Russia2025-07-28
Deepesh H Iturbide1003Italy2025-07-08
Salvatore V Dilliard1004Spain2025-07-26
Sinclair C Iturbide1005Russia2025-07-08
Darci N Inouye1006France2025-07-07
Aruna Z Glick1007Argentina2025-07-23
Sinclair E Iturbide1008Italy2025-07-27
Smith U Doe1009Russia2025-07-31
Jennifer Z Kolmetz1010Italy2025-08-02
Jennifer B Tollner1011India2025-07-21
Johnson Q Figeroa1012Brazil2025-07-08
Izzy K Malet1013Germany2025-07-16
Deepesh X Chui1014France2025-07-19
Jefferson U Dilliard1015Japan2025-07-12
Morrow F Royster1016Spain2025-07-09
Clifford E Waycott1017Argentina2025-07-21
Johnson V Malet1018Australia2025-08-02
Jeanfrancois S Royster1019Spain2025-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith O MaletSpainStephen Shaw NEGOTIATION
Isabel N PoquetteAustraliaBernardo Dominic RENEWAL
Jeanfrancois O CampainRussiaAmy Elsner RENEWAL
Mayumi E OldroydUnited KingdomIvan Magalhaes PROPOSAL
Juan F ButtIndiaAmy Elsner NEW
Silvio E KuskoUnited KingdomIoni Bowcher NEGOTIATION
Sinclair B AlbaresUnited KingdomAsiya Javayant RENEWAL
Maria O StockhamJapanStephen Shaw NEW
Misaki E KolmetzArgentinaBernardo Dominic NEGOTIATION
Faith J ButtItalyBernardo Dominic QUALIFIED
Stacey A ShinkoFranceIoni Bowcher NEGOTIATION
Emily T GarufiAustraliaAnna Fali NEW
Emily H FollerBrazilAsiya Javayant NEW
David A RoysterAustraliaAmy Elsner PROPOSAL
Ivar H PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Aika W CaudyUnited KingdomStephen Shaw RENEWAL
Rodrigues W ChuiGermanyXuxue Feng NEW
Johnson K GillianIndiaElwin Sharvill NEGOTIATION
Octavia L FlosiItalyAnna Fali PROPOSAL
Misaki C ChuiBrazilElwin Sharvill NEW
Maisha V PoquetteAustraliaAnna Fali QUALIFIED
David U VocelkaSpainXuxue Feng QUALIFIED
Munro P MaletIndiaOnyama Limba PROPOSAL
Leon I WhobreyJapanAmy Elsner QUALIFIED
Juan M GlickJapanStephen Shaw RENEWAL
Arvin F RulapaughArgentinaIvan Magalhaes RENEWAL
Emily O GauchoGermanyBernardo Dominic NEGOTIATION
Chavez D OldroydIndiaBernardo Dominic RENEWAL
Jennifer T DilliardGermanyElwin Sharvill NEW
Misaki Z RulapaughFranceBernardo Dominic QUALIFIED
Antonio P OldroydBrazilAmy Elsner RENEWAL
Aruna S WieserRussiaIvan Magalhaes UNQUALIFIED
Ricardo K IturbideGermanyIvan Magalhaes QUALIFIED
Octavia S CaudyRussiaIvan Magalhaes RENEWAL
Kaitlin N MaletArgentinaXuxue Feng PROPOSAL
Rodrigues C GarufiUnited KingdomAsiya Javayant NEW
Cody I MaletFranceIvan Magalhaes RENEWAL
Murillo Y InouyeFranceIoni Bowcher RENEWAL
Maria C MaletRussiaAsiya Javayant PROPOSAL
Smith Y RutaIndiaOnyama Limba NEW

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