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
Ivar B InouyeAustraliaAsiya Javayant QUALIFIED
Rodrigues R TollnerIndiaBernardo Dominic PROPOSAL
Maisha C ChuiGermanyIoni Bowcher RENEWAL
Darci E MaletUnited KingdomElwin Sharvill NEW
Isabel Q SergiArgentinaOnyama Limba QUALIFIED
Ivar M PerinGermanyElwin Sharvill QUALIFIED
Isabel C MarrierRussiaStephen Shaw NEW
Kaitlin M GlickSpainStephen Shaw QUALIFIED
Isabel I GlickFranceElwin Sharvill NEW
Arvin Z AmigonJapanOnyama Limba UNQUALIFIED
Sinclair P CampainArgentinaBernardo Dominic RENEWAL
Jefferson H CampainCanadaOnyama Limba RENEWAL
Clifford K IturbideItalyBernardo Dominic NEW
Emily B FlosiAustraliaElwin Sharvill RENEWAL
Aditya Q WieserSpainStephen Shaw NEW
Juan F RutaItalyXuxue Feng NEGOTIATION
Greenwood B IturbideGermanyStephen Shaw PROPOSAL
Alejandro S AlbaresItalyAmy Elsner QUALIFIED
Maria Q ShinkoItalyOnyama Limba RENEWAL
Costa M GarufiUnited KingdomXuxue Feng PROPOSAL
Darci H NickaArgentinaAnna Fali RENEWAL
Claire C RutaGermanyBernardo Dominic NEGOTIATION
Isabel A WhobreyIndiaStephen Shaw NEGOTIATION
Arvin S SlusarskiCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois K FigeroaCanadaXuxue Feng NEGOTIATION
Ashley X KolmetzIndiaAsiya Javayant UNQUALIFIED
Alejandro H SlusarskiCanadaBernardo Dominic PROPOSAL
Tony S FigeroaUnited KingdomOnyama Limba QUALIFIED
Salvatore T GarufiRussiaOnyama Limba QUALIFIED
Mujtaba S MorascaRussiaAmy Elsner NEW
Jones X GillianIndiaIvan Magalhaes NEW
Maria H AmigonIndiaOnyama Limba UNQUALIFIED
Francesco M MacleadFranceBernardo Dominic RENEWAL
Clifford K RulapaughJapanStephen Shaw QUALIFIED
Ricardo X AmigonItalyIoni Bowcher UNQUALIFIED
Silvio T GlickArgentinaXuxue Feng PROPOSAL
Ivar X IturbideCanadaAnna Fali UNQUALIFIED
Jennifer R WhobreyJapanAsiya Javayant PROPOSAL
Morrow N MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Aika P AmigonUnited KingdomAnna Fali UNQUALIFIED
Mayumi L PoquetteGermanyIoni Bowcher RENEWAL
Misaki C BriddickJapanXuxue Feng NEGOTIATION
Munro E KolmetzIndiaOnyama Limba NEW
Smith F SchemmerIndiaAmy Elsner PROPOSAL
David U StockhamItalyStephen Shaw PROPOSAL
James O PerinArgentinaElwin Sharvill UNQUALIFIED
Claire H NickaCanadaOnyama Limba NEW
Leja R RoysterAustraliaOnyama Limba NEW
Leon C RimBrazilElwin Sharvill NEGOTIATION
Rodrigues U CaldareraIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody H BowleyFranceAsiya Javayant PROPOSAL
Aruna R NestleItalyXuxue Feng UNQUALIFIED
Aika V SchemmerJapanIoni Bowcher NEGOTIATION
Greenwood M StensethRussiaBernardo Dominic NEW
Costa X BowleyBrazilAnna Fali PROPOSAL
Antonio O SlusarskiUnited KingdomOnyama Limba QUALIFIED
Izzy P OldroydFranceAsiya Javayant UNQUALIFIED
Tony G MaletItalyIvan Magalhaes NEW
Wickens S ButtArgentinaAnna Fali NEW
Jefferson A MorascaGermanyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James K BriddickBrazil2025-09-22Dorl, James J Esq PROPOSAL20Stephen Shaw
1001Antonio T KolmetzCanada2025-09-14Chanay, Jeffrey A Esq RENEWAL60Ivan Magalhaes
1002Maria L MacleadArgentina2025-10-12Printing Dimensions PROPOSAL61Elwin Sharvill
1003Maisha S StockhamCanada2025-10-07Benton, John B Jr UNQUALIFIED38Onyama Limba
1004Cody Q FlosiAustralia2025-10-04Chapman, Ross E Esq UNQUALIFIED30Bernardo Dominic
1005Wickens E FlosiSpain2025-10-10Truhlar And Truhlar Attys QUALIFIED54Amy Elsner
1006Smith E FollerIndia2025-10-01Rangoni Of Florence QUALIFIED30Elwin Sharvill
1007Antonio E SlusarskiUnited Kingdom2025-10-01Chanay, Jeffrey A Esq NEW44Elwin Sharvill
1008Julie E ChuiFrance2025-09-27Rangoni Of Florence UNQUALIFIED58Bernardo Dominic
1009Tony N GlickArgentina2025-09-18Chemel, James L Cpa NEW41Onyama Limba
1010Smith A IturbideBrazil2025-09-18Chanay, Jeffrey A Esq UNQUALIFIED89Stephen Shaw
1011Octavia G WieserAustralia2025-09-27Chemel, James L Cpa NEGOTIATION46Asiya Javayant
1012Costa Y SchemmerFrance2025-09-13Commercial Press NEGOTIATION37Stephen Shaw
1013Kaitlin E GlickItaly2025-09-22Feltz Printing Service QUALIFIED94Onyama Limba
1014Aika E TollnerGermany2025-09-15Rangoni Of Florence UNQUALIFIED98Elwin Sharvill
1015Wickens P StensethRussia2025-10-04Benton, John B Jr UNQUALIFIED99Bernardo Dominic
1016Murillo W SaylorsRussia2025-09-21Rousseaux, Michael Esq UNQUALIFIED37Xuxue Feng
1017Rodrigues E ShinkoSpain2025-10-04Printing Dimensions RENEWAL58Onyama Limba
1018Wickens S RimSpain2025-10-10Buckley Miller Wright NEGOTIATION37Ivan Magalhaes
1019Kadeem F DoeCanada2025-09-29Truhlar And Truhlar Attys UNQUALIFIED16Xuxue Feng
1020Mujtaba W CaudyAustralia2025-09-28Rousseaux, Michael Esq PROPOSAL93Elwin Sharvill
1021Chavez X TollnerJapan2025-09-14Chemel, James L Cpa UNQUALIFIED81Anna Fali
1022Johnson B CaldareraArgentina2025-09-26Rangoni Of Florence RENEWAL78Elwin Sharvill
1023Juan O MarrierJapan2025-09-15Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1024Mujtaba W KuskoGermany2025-09-27King, Christopher A Esq NEW89Ioni Bowcher
1025Ashley B MaletSpain2025-10-01King, Christopher A Esq RENEWAL58Xuxue Feng
1026Johnson G AlbaresJapan2025-10-11Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1027Francesco Y MacleadBrazil2025-10-02Morlong Associates QUALIFIED62Stephen Shaw
1028Johnson Y VenereIndia2025-10-11Printing Dimensions QUALIFIED72Amy Elsner
1029Clifford Z CampainArgentina2025-09-13Chemel, James L Cpa PROPOSAL40Onyama Limba
1030Kadeem W RoysterRussia2025-09-14Feiner Bros QUALIFIED75Xuxue Feng
1031Chavez C MarrierArgentina2025-09-27Printing Dimensions NEGOTIATION43Ioni Bowcher
1032Johnson Y WaycottGermany2025-09-30Benton, John B Jr NEGOTIATION27Bernardo Dominic
1033Deepesh G KolmetzSpain2025-09-26Printing Dimensions QUALIFIED18Onyama Limba
1034Sinclair E TollnerSpain2025-09-19Feiner Bros UNQUALIFIED57Xuxue Feng
1035Julie W GlickIndia2025-10-10Buckley Miller Wright QUALIFIED84Amy Elsner
1036Francesco H KolmetzArgentina2025-10-07Chemel, James L Cpa QUALIFIED94Amy Elsner
1037Clifford K OldroydArgentina2025-09-24Feiner Bros NEGOTIATION86Amy Elsner
1038Leja C ButtFrance2025-10-03Chemel, James L Cpa NEGOTIATION67Stephen Shaw
1039Rodrigues G VocelkaCanada2025-09-27Feltz Printing Service NEW62Stephen Shaw
1040Munro F WhobreyFrance2025-09-16King, Christopher A Esq QUALIFIED8Asiya Javayant
1041Smith Y AlbaresSpain2025-10-04King, Christopher A Esq RENEWAL74Ioni Bowcher
1042Sinclair S PaprockiUnited Kingdom2025-10-07Feiner Bros NEGOTIATION5Stephen Shaw
1043Ashley L SchemmerJapan2025-09-24Chemel, James L Cpa PROPOSAL32Onyama Limba
1044Alejandro I WaycottAustralia2025-09-25Rangoni Of Florence NEW29Ivan Magalhaes
1045Tony C DarakjySpain2025-09-13Rangoni Of Florence PROPOSAL18Ivan Magalhaes
1046Adams J MaletAustralia2025-09-21Chemel, James L Cpa QUALIFIED4Amy Elsner
1047Antonio I PoquetteFrance2025-10-05Commercial Press NEGOTIATION19Onyama Limba
1048Rodrigues I KolmetzIndia2025-09-27King, Christopher A Esq NEGOTIATION64Anna Fali
1049Kadeem F SergiJapan2025-09-18Printing Dimensions UNQUALIFIED96Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro P BriddickJapanXuxue Feng PROPOSAL
Alejandro Z MarrierFranceAmy Elsner QUALIFIED
Chavez N SchemmerBrazilXuxue Feng RENEWAL
Kadeem M IturbideItalyAmy Elsner RENEWAL
Johnson P FigeroaAustraliaBernardo Dominic RENEWAL
Julie X BowleyItalyAsiya Javayant NEGOTIATION
Misaki C WhobreyIndiaIvan Magalhaes QUALIFIED
Clifford E StockhamFranceAmy Elsner NEW
Mayumi V VocelkaIndiaAsiya Javayant PROPOSAL
Mayumi A PoquetteIndiaElwin Sharvill PROPOSAL
Ivar K RulapaughIndiaAmy Elsner NEGOTIATION
Ricardo K NestleFranceAnna Fali NEW
Cody R AmigonAustraliaIvan Magalhaes PROPOSAL
Mayumi C BriddickRussiaAsiya Javayant NEGOTIATION
Smith O SergiAustraliaAsiya Javayant UNQUALIFIED
Julie E PerinSpainAsiya Javayant NEGOTIATION
Smith Z DarakjySpainIvan Magalhaes PROPOSAL
Leon Y CampainItalyXuxue Feng RENEWAL
Murillo X RutaFranceAnna Fali NEW
Juan L MorascaUnited KingdomAsiya Javayant NEGOTIATION
Murillo I GarufiUnited KingdomIoni Bowcher NEW
Stacey M RulapaughFranceOnyama Limba NEGOTIATION
Aika B FollerArgentinaAmy Elsner QUALIFIED
Izzy X MorascaRussiaXuxue Feng NEW
Faith H ShinkoArgentinaOnyama Limba QUALIFIED
Jones W TollnerJapanStephen Shaw RENEWAL
Jennifer W NestleCanadaOnyama Limba UNQUALIFIED
Jeanfrancois B StensethUnited KingdomOnyama Limba NEGOTIATION
Claire S RulapaughFranceStephen Shaw RENEWAL
Smith P IturbideRussiaElwin Sharvill NEW
Claire R MacleadRussiaElwin Sharvill NEGOTIATION
James Z RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood A GauchoIndiaAnna Fali UNQUALIFIED
Sinclair Z KuskoArgentinaAnna Fali PROPOSAL
Greenwood B PerinCanadaStephen Shaw UNQUALIFIED
Jeanfrancois X SlusarskiCanadaOnyama Limba QUALIFIED
Misaki M RimAustraliaStephen Shaw RENEWAL
Kadeem G IturbideAustraliaOnyama Limba RENEWAL
Clifford C StockhamAustraliaStephen Shaw RENEWAL
Stacey N RoysterFranceAmy Elsner UNQUALIFIED
Octavia H GauchoJapanAmy Elsner UNQUALIFIED
Silvio W GauchoCanadaAmy Elsner UNQUALIFIED
Jeanfrancois D VocelkaFranceAmy Elsner UNQUALIFIED
Smith F VocelkaGermanyOnyama Limba UNQUALIFIED
Nicolas S GlickGermanyAsiya Javayant NEW
Chavez M GlickArgentinaElwin Sharvill NEW
Johnson F FerenczSpainIoni Bowcher NEW
Munro G PoquetteUnited KingdomElwin Sharvill NEW
Claire E MacleadSpainElwin Sharvill UNQUALIFIED
Francesco D RimGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Leon S Kusko
Munro X Tollner
Isabel J Oldroyd
Jefferson Z Malet
Deepesh L Malet
Leja R Nicka
Izzy P Morasca
Isabel V Bolognia
Aditya V Glick
David X Schemmer
Jeanfrancois C Albares
Faith R Gillian
Tony C Albares
Ricardo U Shinko
Emily K Inouye
Aditya O Amigon
Jennifer S Saylors
Leon G Rulapaugh
Stacey W Perin
David K Garufi
Tony C Nicka
Murillo S Inouye
Jennifer Y Oldroyd
Clifford X Briddick
Chavez M Flosi
Maria X Dilliard
Tony R Butt
Silvio N Foller
Maria E Rulapaugh
Clifford K Nestle
Kadeem I Stockham
Murillo P Vocelka
Leja Q Rulapaugh
Jeanfrancois I Gaucho
Murillo I Malet
Misaki K Iturbide
Smith E Iturbide
Chavez P Nicka
Salvatore B Whobrey
Ashley P Gillian
Jefferson B Garufi
Jones T Flosi
Kaitlin E Albares
Mujtaba L Kusko
Silvio M Bowley
Octavia K Maclead
Clifford R Royster
Maisha A Sergi
Tony L Tollner
Mayumi N Caudy
IdCountryDate
1000Germany2025-09-26
1001Brazil2025-09-14
1002Australia2025-09-25
1003France2025-10-12
1004France2025-09-15
1005Germany2025-09-15
1006Russia2025-10-09
1007Japan2025-09-14
1008Australia2025-10-02
1009Brazil2025-10-01
1010United Kingdom2025-09-24
1011Spain2025-09-25
1012Australia2025-09-24
1013Italy2025-09-26
1014Brazil2025-09-22
1015Germany2025-09-28
1016Canada2025-10-02
1017Italy2025-09-21
1018Russia2025-09-28
1019Australia2025-09-21
1020United Kingdom2025-10-12
1021Russia2025-09-30
1022Australia2025-10-11
1023Argentina2025-10-01
1024Brazil2025-09-30
1025Brazil2025-10-04
1026France2025-09-23
1027India2025-10-04
1028Australia2025-09-25
1029United Kingdom2025-09-25
1030Argentina2025-10-08
1031Italy2025-09-18
1032Argentina2025-09-27
1033Japan2025-10-11
1034Germany2025-10-01
1035Germany2025-09-24
1036Brazil2025-09-25
1037Germany2025-10-10
1038Australia2025-10-08
1039Japan2025-10-08
1040Italy2025-09-18
1041Germany2025-09-17
1042Brazil2025-10-04
1043Japan2025-10-12
1044Japan2025-09-25
1045Japan2025-09-28
1046Australia2025-10-07
1047Brazil2025-09-21
1048Canada2025-09-13
1049Australia2025-09-20

On-Demand Data

NameIdCountryDate
Jones I Nicka1000Brazil2025-10-05
Jefferson H Albares1001Germany2025-10-11
Murillo X Briddick1002India2025-10-03
Leja L Butt1003Canada2025-10-09
Deepesh P Vocelka1004Japan2025-10-10
Sinclair C Garufi1005Brazil2025-10-07
Aika C Glick1006Brazil2025-09-19
Greenwood K Oldroyd1007Argentina2025-10-02
Sinclair P Bowley1008Spain2025-10-08
Juan K Bowley1009Spain2025-09-13
Arvin M Saylors1010Canada2025-09-23
Jefferson C Schemmer1011Japan2025-09-15
Mayumi Z Stenseth1012Argentina2025-09-16
Kaitlin W Tollner1013France2025-09-19
Johnson X Albares1014United Kingdom2025-10-10
Smith Q Paprocki1015France2025-09-15
Nicolas Z Wieser1016Germany2025-10-03
Mujtaba T Shinko1017United Kingdom2025-09-15
Wickens D Flosi1018Canada2025-09-25
Aika B Perin1019United Kingdom2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore K PoquetteAustraliaAsiya Javayant UNQUALIFIED
David P OldroydArgentinaAmy Elsner PROPOSAL
Mayumi T OldroydArgentinaBernardo Dominic QUALIFIED
Greenwood S DarakjyArgentinaIvan Magalhaes NEW
Costa M OldroydIndiaElwin Sharvill PROPOSAL
Murillo T BologniaRussiaIoni Bowcher NEW
Juan N ButtRussiaXuxue Feng NEW
Cody I AmigonFranceBernardo Dominic RENEWAL
Ricardo B DilliardJapanIvan Magalhaes QUALIFIED
Costa O DilliardBrazilStephen Shaw NEGOTIATION
Ivar P SaylorsGermanyBernardo Dominic NEW
Misaki V AlbaresJapanAsiya Javayant QUALIFIED
Misaki A GillianGermanyBernardo Dominic NEGOTIATION
Johnson N BriddickSpainOnyama Limba NEW
Alejandro V NestleUnited KingdomOnyama Limba UNQUALIFIED
Chavez Z GauchoFranceBernardo Dominic NEW
Mayumi I TollnerSpainXuxue Feng QUALIFIED
Wickens R PaprockiItalyOnyama Limba QUALIFIED
Juan C SaylorsRussiaOnyama Limba PROPOSAL
Claire G NestleItalyAsiya Javayant RENEWAL
Izzy I FollerBrazilAnna Fali NEW
Octavia C DarakjyJapanAmy Elsner RENEWAL
Misaki G GlickBrazilElwin Sharvill NEW
Aika U BriddickSpainAsiya Javayant QUALIFIED
Morrow C RimBrazilStephen Shaw NEGOTIATION
Tony K DarakjyAustraliaAsiya Javayant NEGOTIATION
Ivar T VenereIndiaIvan Magalhaes RENEWAL
Francesco B ChuiFranceIoni Bowcher UNQUALIFIED
Alejandro K NestleUnited KingdomOnyama Limba QUALIFIED
Sinclair G DarakjyRussiaAsiya Javayant UNQUALIFIED
Arvin V SergiAustraliaBernardo Dominic PROPOSAL
Cody E ButtFranceXuxue Feng PROPOSAL
Claire G SlusarskiBrazilIoni Bowcher QUALIFIED
Claire W WaycottFranceXuxue Feng NEW
Chavez W GillianItalyXuxue Feng NEW
Emily C KolmetzSpainAmy Elsner QUALIFIED
Darci S KuskoAustraliaAsiya Javayant PROPOSAL
Costa D StensethRussiaIvan Magalhaes PROPOSAL
Aditya F RulapaughCanadaBernardo Dominic UNQUALIFIED
Deepesh R MarrierCanadaIvan Magalhaes QUALIFIED

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