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
Juan F DilliardFranceXuxue Feng NEW
Mujtaba Z SergiJapanBernardo Dominic NEGOTIATION
Rodrigues Z ChuiGermanyIoni Bowcher NEW
Ricardo Q InouyeAustraliaAsiya Javayant PROPOSAL
Aika K RoysterAustraliaElwin Sharvill NEGOTIATION
Alejandro P RoysterAustraliaAsiya Javayant NEGOTIATION
Cody D WhobreyArgentinaElwin Sharvill PROPOSAL
Costa G SergiRussiaBernardo Dominic NEW
Cody U SaylorsArgentinaOnyama Limba NEW
David K KuskoSpainAmy Elsner NEW
Aditya V StockhamArgentinaAsiya Javayant NEGOTIATION
Maisha F NickaSpainBernardo Dominic QUALIFIED
Maria Z CaldareraCanadaAnna Fali RENEWAL
Costa U FollerCanadaIvan Magalhaes UNQUALIFIED
Stacey F StensethRussiaBernardo Dominic PROPOSAL
Tony B GarufiSpainBernardo Dominic QUALIFIED
Ashley S AmigonBrazilXuxue Feng NEGOTIATION
Deepesh B OstroskySpainIvan Magalhaes UNQUALIFIED
Smith L GarufiBrazilElwin Sharvill PROPOSAL
Misaki C FlosiItalyBernardo Dominic RENEWAL
Emily A PoquetteUnited KingdomOnyama Limba PROPOSAL
Johnson U KolmetzFranceStephen Shaw NEGOTIATION
Darci H PaprockiFranceOnyama Limba QUALIFIED
Isabel M PerinArgentinaIoni Bowcher PROPOSAL
Salvatore X AmigonAustraliaBernardo Dominic QUALIFIED
Aditya T WieserArgentinaXuxue Feng NEGOTIATION
Mayumi P OstroskyJapanIoni Bowcher QUALIFIED
Octavia G MaletBrazilOnyama Limba QUALIFIED
Emily T KolmetzCanadaElwin Sharvill PROPOSAL
James G BologniaCanadaAsiya Javayant RENEWAL
Jeanfrancois T InouyeFranceStephen Shaw RENEWAL
Mujtaba T ShinkoGermanyIoni Bowcher RENEWAL
Kadeem J BologniaAustraliaAmy Elsner RENEWAL
Greenwood S WieserFranceStephen Shaw RENEWAL
Smith N RimGermanyIvan Magalhaes NEGOTIATION
James J NickaFranceElwin Sharvill UNQUALIFIED
Chavez J FerenczCanadaAnna Fali UNQUALIFIED
Ricardo X WhobreySpainStephen Shaw NEGOTIATION
Kadeem R MacleadFranceAmy Elsner PROPOSAL
Adams T InouyeJapanXuxue Feng PROPOSAL
Arvin S DoeArgentinaAmy Elsner QUALIFIED
Kaitlin N GillianArgentinaAnna Fali NEW
Arvin C AmigonCanadaIoni Bowcher NEW
Mayumi M ButtGermanyAmy Elsner RENEWAL
Mayumi P FigeroaCanadaElwin Sharvill UNQUALIFIED
Julie H GauchoUnited KingdomAmy Elsner UNQUALIFIED
Claire Q FigeroaIndiaAnna Fali PROPOSAL
Silvio Z CaudyRussiaAnna Fali NEGOTIATION
Nicolas J CampainArgentinaIvan Magalhaes RENEWAL
Jefferson I GarufiCanadaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith Q PoquetteRussiaXuxue Feng NEGOTIATION
Francesco W CaldareraUnited KingdomXuxue Feng RENEWAL
Nicolas W VenereIndiaAmy Elsner RENEWAL
Arvin L MacleadAustraliaBernardo Dominic UNQUALIFIED
David Y DilliardRussiaElwin Sharvill UNQUALIFIED
Octavia Z GillianAustraliaAmy Elsner NEGOTIATION
Isabel T GlickIndiaAmy Elsner RENEWAL
Izzy S OldroydUnited KingdomIvan Magalhaes NEW
Alejandro H SchemmerCanadaStephen Shaw QUALIFIED
Aika N ShinkoItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens L GarufiItaly2025-09-11Chapman, Ross E Esq NEGOTIATION96Anna Fali
1001Izzy I DoeRussia2025-10-06Truhlar And Truhlar Attys NEGOTIATION17Anna Fali
1002Nicolas K MaletSpain2025-10-07Printing Dimensions RENEWAL9Bernardo Dominic
1003Arvin O BriddickSpain2025-09-19Morlong Associates NEW43Ivan Magalhaes
1004Francesco C BologniaSpain2025-09-18Buckley Miller Wright RENEWAL38Stephen Shaw
1005Antonio Y SlusarskiJapan2025-09-20Feltz Printing Service UNQUALIFIED46Anna Fali
1006Adams R CampainItaly2025-09-18Chanay, Jeffrey A Esq UNQUALIFIED80Amy Elsner
1007Francesco A OstroskySpain2025-09-14Chanay, Jeffrey A Esq NEW75Ioni Bowcher
1008Ricardo C VocelkaItaly2025-09-12Rousseaux, Michael Esq QUALIFIED44Bernardo Dominic
1009Maria F MacleadArgentina2025-09-13Dorl, James J Esq QUALIFIED27Amy Elsner
1010Izzy K IturbideRussia2025-09-26Chanay, Jeffrey A Esq PROPOSAL17Stephen Shaw
1011Jeanfrancois G StensethGermany2025-10-06Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1012Murillo A MaletGermany2025-10-02Chapman, Ross E Esq QUALIFIED58Ioni Bowcher
1013Isabel B PoquetteSpain2025-10-04Buckley Miller Wright NEGOTIATION23Ivan Magalhaes
1014Smith N RutaIndia2025-10-04Dorl, James J Esq UNQUALIFIED33Asiya Javayant
1015Rodrigues K VenereGermany2025-09-15Feltz Printing Service UNQUALIFIED83Onyama Limba
1016Chavez R GauchoAustralia2025-09-23Rangoni Of Florence QUALIFIED85Ioni Bowcher
1017Maisha C GillianAustralia2025-09-17Commercial Press UNQUALIFIED76Ioni Bowcher
1018Kaitlin O AlbaresCanada2025-09-30Truhlar And Truhlar Attys RENEWAL13Stephen Shaw
1019Kadeem E StensethJapan2025-09-23Chapman, Ross E Esq RENEWAL82Amy Elsner
1020Costa V FigeroaFrance2025-09-22Rangoni Of Florence PROPOSAL74Ivan Magalhaes
1021Juan E WhobreyIndia2025-09-13Truhlar And Truhlar Attys NEW65Elwin Sharvill
1022Johnson U SergiUnited Kingdom2025-10-04Rangoni Of Florence NEGOTIATION98Bernardo Dominic
1023Ivar U BowleyFrance2025-10-01Morlong Associates UNQUALIFIED61Bernardo Dominic
1024Maisha K AlbaresArgentina2025-09-11Buckley Miller Wright PROPOSAL36Amy Elsner
1025Faith Q FerenczUnited Kingdom2025-09-12King, Christopher A Esq NEGOTIATION7Stephen Shaw
1026Adams A RulapaughRussia2025-10-07Chanay, Jeffrey A Esq UNQUALIFIED98Anna Fali
1027Mujtaba B DoeSpain2025-10-08King, Christopher A Esq UNQUALIFIED96Ioni Bowcher
1028Arvin N WieserItaly2025-09-26Commercial Press UNQUALIFIED12Ivan Magalhaes
1029Nicolas C MaletJapan2025-10-05Truhlar And Truhlar Attys RENEWAL2Anna Fali
1030Leon S MaletIndia2025-09-22Feiner Bros QUALIFIED60Xuxue Feng
1031Jennifer U CaldareraUnited Kingdom2025-09-17Truhlar And Truhlar Attys PROPOSAL62Elwin Sharvill
1032David M ButtArgentina2025-10-02Morlong Associates RENEWAL80Xuxue Feng
1033Deepesh Y PoquetteSpain2025-10-09Chapman, Ross E Esq QUALIFIED61Ivan Magalhaes
1034Silvio I AmigonJapan2025-10-10Buckley Miller Wright NEGOTIATION60Ivan Magalhaes
1035Jennifer W StensethCanada2025-09-21Truhlar And Truhlar Attys UNQUALIFIED37Ioni Bowcher
1036Clifford K VocelkaRussia2025-09-30Chemel, James L Cpa RENEWAL22Anna Fali
1037Ricardo E CaudyJapan2025-09-17Printing Dimensions UNQUALIFIED85Amy Elsner
1038Leon T InouyeAustralia2025-10-03Feiner Bros NEW94Onyama Limba
1039Alejandro A StensethJapan2025-09-13Feltz Printing Service QUALIFIED34Bernardo Dominic
1040Aruna O VocelkaIndia2025-09-16Chapman, Ross E Esq NEW3Onyama Limba
1041Antonio I SlusarskiRussia2025-09-15Dorl, James J Esq NEW39Onyama Limba
1042Morrow B GlickRussia2025-09-19Chanay, Jeffrey A Esq PROPOSAL48Bernardo Dominic
1043Sinclair Q OstroskyGermany2025-09-26Rousseaux, Michael Esq QUALIFIED72Ioni Bowcher
1044Jeanfrancois U RimItaly2025-09-13Chanay, Jeffrey A Esq NEGOTIATION94Asiya Javayant
1045Salvatore Q StensethRussia2025-10-02Benton, John B Jr NEGOTIATION28Anna Fali
1046Kadeem Q TollnerIndia2025-09-25Chemel, James L Cpa RENEWAL72Amy Elsner
1047Arvin A FlosiRussia2025-09-24Dorl, James J Esq PROPOSAL41Ioni Bowcher
1048Aika D ButtUnited Kingdom2025-09-20Morlong Associates NEW87Asiya Javayant
1049Octavia Y CampainGermany2025-09-29Rangoni Of Florence NEGOTIATION34Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy N GillianGermanyIvan Magalhaes NEGOTIATION
Ashley G AlbaresFranceStephen Shaw RENEWAL
Leja D KuskoBrazilIvan Magalhaes PROPOSAL
Julie P NickaFranceOnyama Limba NEW
Misaki S VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Stacey N CampainItalyIoni Bowcher NEGOTIATION
Kaitlin E InouyeArgentinaAmy Elsner UNQUALIFIED
Francesco R OldroydJapanElwin Sharvill NEGOTIATION
Maisha H MarrierUnited KingdomIvan Magalhaes PROPOSAL
Morrow R DilliardFranceAnna Fali NEGOTIATION
Silvio C RulapaughAustraliaAsiya Javayant RENEWAL
Jeanfrancois V StockhamAustraliaIoni Bowcher NEW
Munro C MorascaFranceXuxue Feng UNQUALIFIED
Kaitlin Q VocelkaJapanAsiya Javayant QUALIFIED
Arvin R SergiArgentinaXuxue Feng RENEWAL
Kadeem N DoeCanadaAsiya Javayant PROPOSAL
David K MarrierItalyAnna Fali RENEWAL
Francesco C ShinkoSpainOnyama Limba PROPOSAL
Munro V WhobreyAustraliaStephen Shaw QUALIFIED
Julie K GauchoBrazilStephen Shaw QUALIFIED
Darci L SergiSpainAmy Elsner UNQUALIFIED
Faith M DilliardArgentinaStephen Shaw QUALIFIED
Tony C FollerFranceXuxue Feng NEW
Adams G AlbaresCanadaBernardo Dominic NEGOTIATION
Ricardo Z DarakjyJapanAmy Elsner UNQUALIFIED
Stacey L ButtItalyXuxue Feng NEGOTIATION
Munro W BologniaIndiaOnyama Limba PROPOSAL
Maisha P CaudyFranceAnna Fali QUALIFIED
Aruna S VenereAustraliaXuxue Feng RENEWAL
Kaitlin C StensethFranceBernardo Dominic NEGOTIATION
Ivar U DoeIndiaElwin Sharvill NEGOTIATION
Morrow X RimSpainAmy Elsner QUALIFIED
Aika N WhobreyGermanyBernardo Dominic UNQUALIFIED
Maisha K BologniaIndiaOnyama Limba UNQUALIFIED
Deepesh J WaycottRussiaStephen Shaw UNQUALIFIED
Claire O ButtGermanyIoni Bowcher PROPOSAL
Ricardo B VenereCanadaXuxue Feng PROPOSAL
Silvio P VenereIndiaAsiya Javayant RENEWAL
Adams X BologniaUnited KingdomBernardo Dominic RENEWAL
Cody T SchemmerAustraliaIvan Magalhaes NEGOTIATION
Faith P SchemmerSpainIoni Bowcher NEGOTIATION
Kaitlin X CaudySpainStephen Shaw PROPOSAL
Tony T FollerRussiaOnyama Limba RENEWAL
Aruna N DilliardItalyBernardo Dominic RENEWAL
Leja S GlickUnited KingdomIoni Bowcher NEGOTIATION
Stacey X CaudyArgentinaBernardo Dominic UNQUALIFIED
Cody K TollnerUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba L DoeFranceAsiya Javayant PROPOSAL
Leja Q ShinkoAustraliaElwin Sharvill PROPOSAL
Emily C VenereItalyAnna Fali RENEWAL
Frozen Columns
Name
Munro T Malet
Octavia K Poquette
Isabel X Malet
Kadeem D Bolognia
Adams K Nestle
Rodrigues S Butt
Arvin N Poquette
Arvin V Flosi
Mujtaba G Caudy
Arvin K Iturbide
Emily X Dilliard
David Q Glick
Claire P Tollner
Kaitlin T Foller
James H Morasca
Tony I Malet
Murillo N Dilliard
Deepesh I Darakjy
Kaitlin M Caldarera
Clifford X Oldroyd
David M Amigon
Cody K Slusarski
Johnson P Kolmetz
Francesco G Campain
Sinclair Q Wieser
Emily T Vocelka
David N Stockham
Darci C Butt
David H Dilliard
Ricardo K Caldarera
Maisha E Doe
Misaki B Darakjy
Salvatore Y Flosi
Ivar H Doe
Kaitlin I Paprocki
Francesco J Poquette
Francesco Z Wieser
Darci M Nestle
Chavez E Waycott
Leja A Kolmetz
Alejandro P Doe
Greenwood J Perin
Murillo R Malet
Jones J Darakjy
Aika S Waycott
Nicolas W Caudy
Clifford B Bolognia
Ivar K Malet
Aruna L Kusko
Leon H Butt
IdCountryDate
1000Brazil2025-09-27
1001Japan2025-09-12
1002India2025-09-21
1003Canada2025-09-18
1004Canada2025-09-16
1005India2025-09-24
1006Italy2025-10-10
1007Argentina2025-09-21
1008Australia2025-10-08
1009France2025-09-23
1010Canada2025-09-24
1011Spain2025-09-19
1012Russia2025-09-14
1013Japan2025-10-09
1014Japan2025-09-13
1015Argentina2025-10-07
1016Germany2025-09-18
1017France2025-10-01
1018United Kingdom2025-10-02
1019United Kingdom2025-09-23
1020Brazil2025-09-13
1021Brazil2025-10-04
1022Japan2025-10-09
1023United Kingdom2025-09-17
1024Germany2025-09-16
1025Spain2025-10-02
1026Germany2025-10-08
1027India2025-09-26
1028Japan2025-09-11
1029India2025-10-03
1030Brazil2025-09-12
1031Spain2025-09-19
1032Italy2025-09-30
1033France2025-09-15
1034Argentina2025-10-10
1035Brazil2025-10-04
1036India2025-09-23
1037Australia2025-10-05
1038Germany2025-09-26
1039Canada2025-09-20
1040India2025-09-28
1041Germany2025-09-29
1042India2025-09-14
1043Brazil2025-09-15
1044Argentina2025-10-07
1045United Kingdom2025-10-05
1046Spain2025-10-02
1047France2025-09-11
1048Germany2025-10-05
1049Russia2025-09-27

On-Demand Data

NameIdCountryDate
Ashley A Slusarski1000Russia2025-09-16
James N Chui1001Argentina2025-09-26
Smith R Flosi1002Germany2025-10-05
Arvin W Gaucho1003Spain2025-10-07
Clifford F Bolognia1004Spain2025-09-27
Kaitlin S Kusko1005Australia2025-09-20
Emily Z Wieser1006Argentina2025-09-20
Izzy V Darakjy1007Australia2025-09-26
Kaitlin A Garufi1008Canada2025-09-24
Ricardo Y Malet1009Canada2025-10-03
Kadeem L Iturbide1010United Kingdom2025-09-22
Aika M Paprocki1011Germany2025-09-18
Leon V Bolognia1012Russia2025-09-28
James H Stockham1013Canada2025-10-08
Antonio U Paprocki1014Brazil2025-10-02
Nicolas Y Caldarera1015Australia2025-09-11
Darci H Caldarera1016Spain2025-09-21
Murillo U Nicka1017France2025-09-17
David B Saylors1018France2025-09-19
Juan S Venere1019United Kingdom2025-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Z OstroskyFranceAmy Elsner NEGOTIATION
Ivar E MarrierItalyAmy Elsner QUALIFIED
Morrow C ChuiUnited KingdomIvan Magalhaes NEW
Alejandro J AlbaresSpainXuxue Feng NEGOTIATION
Smith P CaudyCanadaIoni Bowcher RENEWAL
Smith M WieserBrazilXuxue Feng RENEWAL
Juan B WhobreyArgentinaElwin Sharvill QUALIFIED
Julie F DilliardGermanyOnyama Limba NEW
Faith U BowleyUnited KingdomElwin Sharvill QUALIFIED
Munro Q WaycottJapanAnna Fali PROPOSAL
Kadeem A FlosiIndiaXuxue Feng NEGOTIATION
Leon L StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin C MaletFranceAmy Elsner NEW
Alejandro U DarakjyBrazilOnyama Limba QUALIFIED
Jeanfrancois W KuskoRussiaAnna Fali NEW
Tony V IturbideRussiaAnna Fali UNQUALIFIED
Rodrigues L FlosiSpainBernardo Dominic QUALIFIED
Wickens Q BowleyArgentinaAmy Elsner NEGOTIATION
Maria Q MaletAustraliaIvan Magalhaes UNQUALIFIED
Morrow P CaldareraBrazilAnna Fali RENEWAL
Murillo Q GlickAustraliaAnna Fali NEW
Francesco M BowleyAustraliaXuxue Feng UNQUALIFIED
Isabel S FerenczUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba U VocelkaIndiaStephen Shaw RENEWAL
Johnson R GauchoJapanAsiya Javayant PROPOSAL
Leon B FerenczUnited KingdomAsiya Javayant RENEWAL
Isabel S NestleJapanAnna Fali QUALIFIED
Rodrigues A MorascaItalyOnyama Limba NEGOTIATION
Greenwood R NickaGermanyElwin Sharvill NEGOTIATION
Deepesh X MaletAustraliaOnyama Limba RENEWAL
Francesco O BowleyItalyBernardo Dominic NEGOTIATION
Claire O FlosiArgentinaAsiya Javayant UNQUALIFIED
Francesco V TollnerSpainXuxue Feng PROPOSAL
Antonio F PoquetteJapanOnyama Limba UNQUALIFIED
Ivar N CaldareraRussiaOnyama Limba NEW
Jennifer K RutaAustraliaBernardo Dominic PROPOSAL
Julie E GarufiRussiaOnyama Limba PROPOSAL
Greenwood Z RoysterSpainBernardo Dominic RENEWAL
Johnson Y ChuiBrazilAnna Fali RENEWAL
Misaki D BowleyItalyXuxue 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>