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
Sinclair E RimRussiaElwin Sharvill NEGOTIATION
Ashley A AlbaresRussiaIvan Magalhaes NEGOTIATION
Stacey Z DilliardAustraliaStephen Shaw PROPOSAL
Cody S FerenczArgentinaXuxue Feng UNQUALIFIED
Aditya U KolmetzItalyElwin Sharvill QUALIFIED
Ashley F ButtFranceAmy Elsner PROPOSAL
Emily Q PerinAustraliaIoni Bowcher UNQUALIFIED
Emily J DoeGermanyIvan Magalhaes UNQUALIFIED
Ashley U SergiUnited KingdomAsiya Javayant NEW
Deepesh A SlusarskiItalyAsiya Javayant NEGOTIATION
Jones S FigeroaJapanIvan Magalhaes NEW
Darci J InouyeBrazilStephen Shaw NEGOTIATION
Deepesh T TollnerArgentinaAsiya Javayant NEW
Greenwood E SchemmerIndiaAmy Elsner QUALIFIED
Chavez Y DoeItalyBernardo Dominic NEW
Adams K ButtAustraliaOnyama Limba QUALIFIED
Arvin I SlusarskiFranceElwin Sharvill NEGOTIATION
Stacey Z CaudyRussiaAsiya Javayant NEW
Ricardo K WhobreyJapanIvan Magalhaes PROPOSAL
Faith W IturbideUnited KingdomElwin Sharvill RENEWAL
Leja L GillianArgentinaAnna Fali NEGOTIATION
Sinclair N NickaIndiaBernardo Dominic NEGOTIATION
Ashley U RulapaughItalyIoni Bowcher UNQUALIFIED
Munro L GlickRussiaAmy Elsner PROPOSAL
Deepesh U IturbideFranceStephen Shaw QUALIFIED
Cody A IturbideJapanStephen Shaw RENEWAL
Murillo K AlbaresBrazilIvan Magalhaes NEW
Adams T MarrierArgentinaAnna Fali NEGOTIATION
Morrow K KolmetzItalyXuxue Feng NEW
Munro D RimBrazilAnna Fali RENEWAL
Stacey N GlickGermanyElwin Sharvill QUALIFIED
Leja C GillianAustraliaAsiya Javayant NEGOTIATION
Faith I MarrierSpainStephen Shaw RENEWAL
Stacey H NickaRussiaXuxue Feng NEGOTIATION
Wickens A TollnerBrazilAnna Fali RENEWAL
David N DarakjyGermanyAsiya Javayant NEW
Wickens B PerinSpainOnyama Limba QUALIFIED
Morrow Z VenereRussiaIvan Magalhaes PROPOSAL
Ivar G RoysterFranceAsiya Javayant QUALIFIED
Claire M FerenczAustraliaAmy Elsner QUALIFIED
Chavez R SergiCanadaXuxue Feng NEGOTIATION
Faith N BriddickItalyBernardo Dominic RENEWAL
Juan G GauchoGermanyAsiya Javayant UNQUALIFIED
Munro T CaldareraSpainIvan Magalhaes NEW
Kaitlin P PoquetteSpainElwin Sharvill NEGOTIATION
Morrow D StockhamRussiaAsiya Javayant RENEWAL
Francesco Z MacleadRussiaElwin Sharvill RENEWAL
Clifford D OstroskyBrazilStephen Shaw QUALIFIED
Mayumi E PaprockiSpainXuxue Feng QUALIFIED
Aditya M RoysterAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James L MaletJapanIoni Bowcher NEW
Stacey M VenereUnited KingdomElwin Sharvill QUALIFIED
Salvatore G NickaBrazilAnna Fali NEGOTIATION
Mayumi C MorascaGermanyAmy Elsner UNQUALIFIED
Juan O MarrierBrazilIvan Magalhaes PROPOSAL
Mayumi D MarrierJapanIvan Magalhaes NEW
Ashley K GauchoIndiaStephen Shaw PROPOSAL
Mujtaba O SergiCanadaElwin Sharvill NEGOTIATION
Leon N OstroskyCanadaStephen Shaw NEGOTIATION
Juan N GlickRussiaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Z IturbideFrance2025-07-11Feiner Bros UNQUALIFIED96Onyama Limba
1001Leja M NickaUnited Kingdom2025-07-21Buckley Miller Wright PROPOSAL77Asiya Javayant
1002Kaitlin U SlusarskiJapan2025-07-12Rangoni Of Florence RENEWAL59Amy Elsner
1003Greenwood U FigeroaArgentina2025-07-08Commercial Press RENEWAL57Stephen Shaw
1004Costa N GlickItaly2025-07-26Chemel, James L Cpa PROPOSAL10Ivan Magalhaes
1005Emily X VenereRussia2025-07-11Rangoni Of Florence PROPOSAL72Onyama Limba
1006Aika G StensethIndia2025-08-04Chanay, Jeffrey A Esq NEGOTIATION3Xuxue Feng
1007Jeanfrancois D DarakjyAustralia2025-07-16Commercial Press RENEWAL96Ioni Bowcher
1008Isabel P KuskoIndia2025-07-16Rangoni Of Florence PROPOSAL58Ivan Magalhaes
1009Leja I GillianJapan2025-07-27Printing Dimensions RENEWAL38Bernardo Dominic
1010Emily U GarufiJapan2025-07-10Feltz Printing Service RENEWAL21Elwin Sharvill
1011Chavez L MacleadJapan2025-07-06Truhlar And Truhlar Attys NEGOTIATION6Anna Fali
1012Isabel E NickaBrazil2025-07-08Benton, John B Jr UNQUALIFIED0Onyama Limba
1013Jones O WhobreyFrance2025-07-20Commercial Press NEW19Ioni Bowcher
1014Mayumi F NickaCanada2025-07-26Morlong Associates NEW21Onyama Limba
1015Adams X BologniaCanada2025-08-03Commercial Press NEW51Bernardo Dominic
1016Darci F NickaJapan2025-07-10Feltz Printing Service PROPOSAL46Bernardo Dominic
1017Antonio G WieserItaly2025-07-17Dorl, James J Esq NEGOTIATION0Onyama Limba
1018Misaki Y MarrierItaly2025-07-22Rangoni Of Florence QUALIFIED5Onyama Limba
1019Adams T PaprockiIndia2025-07-31Chapman, Ross E Esq UNQUALIFIED74Bernardo Dominic
1020Wickens K FerenczBrazil2025-07-21Feiner Bros UNQUALIFIED47Ivan Magalhaes
1021Octavia D DoeJapan2025-07-08Rousseaux, Michael Esq UNQUALIFIED93Bernardo Dominic
1022Misaki X DoeCanada2025-07-17Feiner Bros NEGOTIATION68Onyama Limba
1023Emily B FlosiItaly2025-07-17Dorl, James J Esq UNQUALIFIED95Elwin Sharvill
1024Aruna Y CaudyGermany2025-07-11Chemel, James L Cpa RENEWAL13Ioni Bowcher
1025Jennifer F BriddickGermany2025-07-23Truhlar And Truhlar Attys UNQUALIFIED50Ioni Bowcher
1026Clifford K PoquetteSpain2025-07-28Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1027Isabel D ButtRussia2025-07-31King, Christopher A Esq UNQUALIFIED79Asiya Javayant
1028Jefferson K ShinkoCanada2025-07-25Rangoni Of Florence NEW22Ioni Bowcher
1029Tony V StockhamGermany2025-07-28Chapman, Ross E Esq PROPOSAL37Elwin Sharvill
1030Johnson L FlosiSpain2025-07-17Dorl, James J Esq NEGOTIATION90Amy Elsner
1031Francesco M StockhamGermany2025-07-07Chemel, James L Cpa PROPOSAL47Amy Elsner
1032James O FerenczBrazil2025-07-07Chanay, Jeffrey A Esq UNQUALIFIED82Asiya Javayant
1033Jefferson A IturbideBrazil2025-07-19Feiner Bros NEGOTIATION70Stephen Shaw
1034Jennifer Q IturbideAustralia2025-07-06Chapman, Ross E Esq NEGOTIATION18Ioni Bowcher
1035Deepesh W WaycottBrazil2025-07-28Buckley Miller Wright NEW96Ioni Bowcher
1036Julie D WieserUnited Kingdom2025-07-11Chemel, James L Cpa QUALIFIED51Elwin Sharvill
1037Arvin N TollnerAustralia2025-07-14Rousseaux, Michael Esq UNQUALIFIED22Ioni Bowcher
1038Murillo F BowleyItaly2025-08-03Printing Dimensions RENEWAL4Anna Fali
1039Silvio Q MaletJapan2025-07-15Buckley Miller Wright UNQUALIFIED59Anna Fali
1040Maisha I TollnerFrance2025-08-02Dorl, James J Esq QUALIFIED7Ioni Bowcher
1041Misaki T DilliardJapan2025-08-01Morlong Associates RENEWAL52Anna Fali
1042Maria Y NickaItaly2025-08-04Chanay, Jeffrey A Esq NEW58Stephen Shaw
1043Smith U RulapaughAustralia2025-07-17King, Christopher A Esq UNQUALIFIED12Ioni Bowcher
1044Francesco U RutaUnited Kingdom2025-07-09Buckley Miller Wright UNQUALIFIED16Ioni Bowcher
1045James E BologniaGermany2025-07-12Chapman, Ross E Esq UNQUALIFIED41Asiya Javayant
1046David L FerenczJapan2025-07-17Morlong Associates RENEWAL51Bernardo Dominic
1047Wickens M FigeroaBrazil2025-07-16Rousseaux, Michael Esq PROPOSAL52Anna Fali
1048Ivar I ChuiSpain2025-07-13Printing Dimensions NEGOTIATION9Anna Fali
1049Antonio C FigeroaFrance2025-07-31Truhlar And Truhlar Attys PROPOSAL72Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Stacey U GauchoRussiaXuxue Feng PROPOSAL
Misaki I MaletFranceIoni Bowcher PROPOSAL
Claire D MaletSpainAmy Elsner NEGOTIATION
Jennifer K WaycottCanadaIoni Bowcher RENEWAL
Octavia O PoquetteSpainIvan Magalhaes NEGOTIATION
Juan E RutaItalyElwin Sharvill QUALIFIED
Morrow J OstroskyArgentinaOnyama Limba UNQUALIFIED
Rodrigues D PoquetteAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois O StockhamUnited KingdomOnyama Limba PROPOSAL
Cody N WhobreyFranceStephen Shaw NEW
Ivar N ButtItalyElwin Sharvill QUALIFIED
Aruna Z WaycottUnited KingdomAnna Fali QUALIFIED
Julie G ButtBrazilStephen Shaw NEW
Costa N AmigonGermanyIvan Magalhaes NEW
Aditya F GillianAustraliaAmy Elsner QUALIFIED
Maria V MacleadArgentinaXuxue Feng QUALIFIED
Salvatore J StensethArgentinaBernardo Dominic PROPOSAL
Costa X GauchoGermanyAmy Elsner UNQUALIFIED
Tony U WaycottAustraliaStephen Shaw NEW
Francesco K FerenczUnited KingdomIvan Magalhaes PROPOSAL
Mayumi A BowleySpainOnyama Limba PROPOSAL
Chavez H VenereRussiaXuxue Feng NEGOTIATION
Darci V MaletItalyElwin Sharvill RENEWAL
Tony K FigeroaIndiaElwin Sharvill NEW
Nicolas L PaprockiJapanBernardo Dominic QUALIFIED
Kaitlin R BowleyRussiaAnna Fali QUALIFIED
Juan M ShinkoFranceIvan Magalhaes PROPOSAL
Chavez S ShinkoSpainIvan Magalhaes NEGOTIATION
Juan A MacleadGermanyOnyama Limba UNQUALIFIED
Julie N BriddickItalyAmy Elsner UNQUALIFIED
Sinclair D BowleyFranceAsiya Javayant QUALIFIED
Munro T MaletAustraliaIoni Bowcher PROPOSAL
Morrow Z IturbideJapanIvan Magalhaes UNQUALIFIED
Stacey B VenereBrazilXuxue Feng RENEWAL
Francesco Y GlickGermanyOnyama Limba UNQUALIFIED
Misaki V KolmetzArgentinaOnyama Limba QUALIFIED
Ricardo V IturbideRussiaXuxue Feng QUALIFIED
Ricardo D KolmetzBrazilElwin Sharvill NEGOTIATION
Nicolas Z ChuiAustraliaAmy Elsner QUALIFIED
Costa D GauchoGermanyIoni Bowcher QUALIFIED
Leon K BologniaUnited KingdomElwin Sharvill PROPOSAL
Juan D TollnerIndiaStephen Shaw PROPOSAL
Wickens W SchemmerBrazilOnyama Limba NEW
Greenwood E GlickGermanyElwin Sharvill PROPOSAL
Murillo U FigeroaAustraliaIvan Magalhaes PROPOSAL
Darci R PerinGermanyAnna Fali NEGOTIATION
Sinclair P RulapaughAustraliaOnyama Limba QUALIFIED
Jones Y PaprockiGermanyXuxue Feng RENEWAL
Munro W WieserRussiaAnna Fali PROPOSAL
Costa V CampainRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Maria E Doe
Mujtaba H Kusko
Kaitlin N Poquette
Isabel V Garufi
Adams T Bolognia
Leon I Chui
Deepesh W Gaucho
Morrow K Rim
Isabel T Foller
Leja S Nicka
Alejandro R Dilliard
Munro W Schemmer
David Q Briddick
Izzy J Poquette
Murillo Z Malet
Sinclair Z Stenseth
Nicolas H Kolmetz
Jones Q Doe
Silvio B Gillian
Stacey V Darakjy
Octavia X Rulapaugh
Stacey N Doe
Silvio I Doe
David Z Flosi
Salvatore S Stenseth
Deepesh R Royster
Mujtaba U Ostrosky
Wickens G Vocelka
Smith R Paprocki
Jefferson Y Oldroyd
Salvatore L Gillian
Silvio X Waycott
David G Doe
Leon Q Figeroa
Leon L Kusko
Salvatore L Chui
Adams G Foller
Jennifer U Chui
Kaitlin Q Rim
Maisha W Doe
Faith T Tollner
Greenwood T Wieser
Jones Y Nestle
Silvio P Gillian
Stacey Q Morasca
Julie C Campain
Sinclair K Morasca
Izzy K Stenseth
Antonio G Caudy
Julie A Wieser
IdCountryDate
1000Australia2025-07-25
1001Russia2025-07-19
1002Spain2025-07-16
1003Spain2025-07-06
1004Spain2025-07-18
1005Canada2025-07-07
1006United Kingdom2025-08-02
1007Australia2025-07-25
1008Brazil2025-07-08
1009United Kingdom2025-07-13
1010France2025-07-06
1011France2025-07-15
1012Argentina2025-07-10
1013India2025-07-11
1014India2025-07-23
1015Spain2025-07-27
1016United Kingdom2025-07-23
1017Australia2025-07-26
1018Russia2025-07-15
1019Brazil2025-08-03
1020Spain2025-07-16
1021India2025-07-31
1022Argentina2025-08-03
1023United Kingdom2025-08-04
1024Argentina2025-07-18
1025Australia2025-07-15
1026Germany2025-07-26
1027United Kingdom2025-07-07
1028France2025-07-08
1029United Kingdom2025-07-21
1030Australia2025-07-15
1031Spain2025-07-28
1032Russia2025-07-17
1033Russia2025-08-01
1034Germany2025-08-02
1035France2025-07-19
1036Brazil2025-08-04
1037Spain2025-08-03
1038Japan2025-07-26
1039Argentina2025-08-02
1040Australia2025-07-17
1041Australia2025-07-16
1042Argentina2025-07-14
1043Canada2025-07-28
1044India2025-07-21
1045Spain2025-07-07
1046Brazil2025-07-08
1047Brazil2025-07-30
1048Brazil2025-08-01
1049Brazil2025-07-09

On-Demand Data

NameIdCountryDate
Izzy U Gaucho1000Russia2025-07-19
James V Iturbide1001Brazil2025-07-12
Leon C Chui1002Brazil2025-07-08
Aditya G Stockham1003Australia2025-07-28
Morrow I Malet1004Argentina2025-07-17
Chavez K Butt1005Germany2025-07-06
Wickens A Caldarera1006Brazil2025-07-31
Emily D Inouye1007Brazil2025-07-20
Morrow T Perin1008Australia2025-07-08
Francesco V Foller1009Russia2025-07-10
Cody A Gaucho1010United Kingdom2025-07-10
Alejandro S Maclead1011United Kingdom2025-07-14
Silvio T Morasca1012France2025-07-08
Greenwood D Slusarski1013Canada2025-07-16
James J Albares1014United Kingdom2025-07-13
Juan Z Nicka1015Australia2025-07-11
Tony A Malet1016Russia2025-07-12
Aika K Morasca1017United Kingdom2025-08-04
Julie G Stenseth1018India2025-07-09
David L Bowley1019Canada2025-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire I NickaGermanyAmy Elsner NEGOTIATION
Chavez O MaletJapanAsiya Javayant RENEWAL
Octavia J RimBrazilAsiya Javayant PROPOSAL
Jefferson K CaldareraSpainBernardo Dominic QUALIFIED
Murillo R StockhamFranceElwin Sharvill NEW
Nicolas M StockhamBrazilElwin Sharvill RENEWAL
Izzy K WaycottSpainIvan Magalhaes RENEWAL
Octavia S FigeroaRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois P SaylorsItalyAsiya Javayant UNQUALIFIED
Chavez R VocelkaSpainAnna Fali UNQUALIFIED
Clifford O VenereRussiaXuxue Feng NEW
Octavia V GillianFranceOnyama Limba RENEWAL
Aditya A KuskoGermanyXuxue Feng PROPOSAL
Aditya B ChuiArgentinaAsiya Javayant NEW
Cody C GauchoSpainOnyama Limba NEW
Murillo X SchemmerIndiaIvan Magalhaes UNQUALIFIED
Francesco O IturbideJapanXuxue Feng NEGOTIATION
Juan P CaldareraUnited KingdomBernardo Dominic QUALIFIED
Izzy X InouyeCanadaIvan Magalhaes NEGOTIATION
Deepesh M WieserItalyXuxue Feng RENEWAL
David B VocelkaSpainAmy Elsner PROPOSAL
Ivar C InouyeUnited KingdomElwin Sharvill RENEWAL
Mujtaba S MaletFranceAsiya Javayant PROPOSAL
Cody B CaudyUnited KingdomStephen Shaw NEGOTIATION
Darci O GillianItalyAmy Elsner NEW
Sinclair E MaletUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois R BologniaCanadaXuxue Feng NEW
Isabel X SaylorsUnited KingdomIvan Magalhaes RENEWAL
Greenwood G PerinItalyElwin Sharvill RENEWAL
Ivar U AlbaresSpainStephen Shaw QUALIFIED
Greenwood X FigeroaJapanBernardo Dominic RENEWAL
Adams F PerinCanadaAmy Elsner NEGOTIATION
Ivar B NickaArgentinaOnyama Limba UNQUALIFIED
Mujtaba E FerenczCanadaIoni Bowcher RENEWAL
Aika W WieserRussiaAmy Elsner UNQUALIFIED
Salvatore I DilliardGermanyElwin Sharvill NEGOTIATION
Mujtaba N BriddickFranceAmy Elsner NEW
David X StensethGermanyIoni Bowcher UNQUALIFIED
Darci J OldroydIndiaElwin Sharvill UNQUALIFIED
Leja P IturbideCanadaXuxue Feng 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>