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
Chavez Y MorascaRussiaIoni Bowcher NEGOTIATION
Ashley L RutaRussiaStephen Shaw QUALIFIED
Aika E SergiCanadaElwin Sharvill RENEWAL
Aruna N SaylorsSpainElwin Sharvill NEW
Adams Y BriddickSpainAsiya Javayant UNQUALIFIED
Mujtaba L InouyeSpainIvan Magalhaes QUALIFIED
Aruna T GillianFranceAmy Elsner NEW
Isabel Z ShinkoCanadaAsiya Javayant NEGOTIATION
Aika F MaletFranceAmy Elsner QUALIFIED
Kaitlin T BriddickAustraliaOnyama Limba QUALIFIED
Ivar U MorascaCanadaElwin Sharvill RENEWAL
Greenwood Y InouyeSpainAsiya Javayant NEGOTIATION
Munro H DilliardBrazilIoni Bowcher QUALIFIED
Ashley A PoquetteGermanyAmy Elsner QUALIFIED
Sinclair U VenereItalyBernardo Dominic QUALIFIED
Jefferson T BriddickSpainBernardo Dominic NEW
Isabel Z VenereRussiaElwin Sharvill PROPOSAL
Johnson O FerenczRussiaElwin Sharvill NEGOTIATION
Mayumi A WaycottGermanyOnyama Limba NEW
Maria A RutaSpainXuxue Feng PROPOSAL
Deepesh T ShinkoArgentinaOnyama Limba QUALIFIED
Mayumi R BologniaUnited KingdomIoni Bowcher RENEWAL
Wickens R SergiArgentinaAnna Fali UNQUALIFIED
Octavia N RoysterJapanAsiya Javayant PROPOSAL
Clifford G SlusarskiFranceAmy Elsner RENEWAL
Adams N SaylorsItalyElwin Sharvill PROPOSAL
Antonio V FollerArgentinaAmy Elsner NEW
Alejandro T WieserFranceOnyama Limba QUALIFIED
Aditya D GillianGermanyBernardo Dominic RENEWAL
Aditya G MaletJapanXuxue Feng NEW
Leon H BriddickSpainIvan Magalhaes PROPOSAL
Leja U ButtUnited KingdomOnyama Limba NEGOTIATION
Ashley T FlosiRussiaElwin Sharvill NEW
Francesco L DilliardCanadaStephen Shaw RENEWAL
Faith G CampainGermanyAmy Elsner QUALIFIED
Salvatore P SergiFranceAnna Fali RENEWAL
Murillo P PaprockiBrazilIvan Magalhaes RENEWAL
Julie I InouyeSpainElwin Sharvill RENEWAL
Deepesh O TollnerFranceAsiya Javayant QUALIFIED
Misaki R GlickItalyOnyama Limba PROPOSAL
Nicolas V KuskoRussiaAsiya Javayant NEGOTIATION
Maisha K PerinRussiaBernardo Dominic PROPOSAL
Greenwood C BologniaUnited KingdomAsiya Javayant NEW
Alejandro V ChuiAustraliaElwin Sharvill QUALIFIED
Darci S RutaGermanyXuxue Feng RENEWAL
James F DarakjyArgentinaXuxue Feng QUALIFIED
Sinclair E SergiSpainAmy Elsner UNQUALIFIED
Silvio O SergiArgentinaAmy Elsner PROPOSAL
David L KolmetzCanadaElwin Sharvill NEW
Deepesh E PerinRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood I FerenczSpainIoni Bowcher QUALIFIED
Kadeem Y BowleySpainAnna Fali NEGOTIATION
Darci X OldroydFranceOnyama Limba RENEWAL
Alejandro U ChuiGermanyElwin Sharvill NEW
James X WaycottFranceElwin Sharvill PROPOSAL
Salvatore D FlosiGermanyIoni Bowcher RENEWAL
Salvatore D FollerJapanXuxue Feng NEGOTIATION
Kaitlin S FigeroaCanadaAmy Elsner NEW
Clifford A OldroydArgentinaOnyama Limba RENEWAL
Emily G GillianAustraliaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel X PaprockiBrazil2025-08-24Rousseaux, Michael Esq UNQUALIFIED89Amy Elsner
1001Wickens X VenereAustralia2025-08-26Feiner Bros QUALIFIED97Asiya Javayant
1002Smith T OstroskyUnited Kingdom2025-09-05Feiner Bros QUALIFIED95Anna Fali
1003Kadeem H WhobreyArgentina2025-09-01Feltz Printing Service UNQUALIFIED89Ioni Bowcher
1004Izzy H CampainFrance2025-09-02Chemel, James L Cpa NEW86Stephen Shaw
1005Smith J GarufiArgentina2025-09-02Benton, John B Jr RENEWAL84Onyama Limba
1006Julie G MacleadGermany2025-08-22Rangoni Of Florence RENEWAL11Stephen Shaw
1007Morrow E ShinkoSpain2025-09-18Chemel, James L Cpa RENEWAL50Elwin Sharvill
1008Maria F VenereRussia2025-09-03Chanay, Jeffrey A Esq RENEWAL21Ioni Bowcher
1009Sinclair O ShinkoBrazil2025-09-10Dorl, James J Esq NEGOTIATION28Onyama Limba
1010Mujtaba G MacleadFrance2025-09-14Buckley Miller Wright UNQUALIFIED0Bernardo Dominic
1011Costa X GlickBrazil2025-09-05Buckley Miller Wright UNQUALIFIED67Asiya Javayant
1012Salvatore M ShinkoGermany2025-08-29Rangoni Of Florence RENEWAL10Anna Fali
1013Kadeem B PaprockiIndia2025-09-08Truhlar And Truhlar Attys UNQUALIFIED56Ivan Magalhaes
1014Aika P RutaArgentina2025-09-19Truhlar And Truhlar Attys UNQUALIFIED85Xuxue Feng
1015Adams E SchemmerCanada2025-09-17Commercial Press NEW55Stephen Shaw
1016Misaki H RutaIndia2025-08-23Dorl, James J Esq QUALIFIED86Xuxue Feng
1017Silvio T WhobreyUnited Kingdom2025-09-08Truhlar And Truhlar Attys NEW26Ioni Bowcher
1018Stacey V GlickFrance2025-09-12Buckley Miller Wright NEW21Amy Elsner
1019Izzy S BriddickBrazil2025-08-22Buckley Miller Wright NEGOTIATION58Ioni Bowcher
1020Aruna C IturbideBrazil2025-09-10Dorl, James J Esq UNQUALIFIED99Bernardo Dominic
1021Nicolas S SchemmerGermany2025-09-07King, Christopher A Esq QUALIFIED79Stephen Shaw
1022Alejandro A SaylorsUnited Kingdom2025-09-10Rangoni Of Florence NEGOTIATION29Amy Elsner
1023Maria M RoysterUnited Kingdom2025-09-04Dorl, James J Esq QUALIFIED64Ivan Magalhaes
1024Arvin O OldroydArgentina2025-09-04Chanay, Jeffrey A Esq RENEWAL84Onyama Limba
1025Octavia X RoysterArgentina2025-09-17Commercial Press QUALIFIED33Bernardo Dominic
1026Isabel V SergiItaly2025-08-26Chanay, Jeffrey A Esq NEW13Ivan Magalhaes
1027Juan O CaudyRussia2025-08-22Buckley Miller Wright PROPOSAL66Onyama Limba
1028Octavia M RoysterJapan2025-09-01Dorl, James J Esq PROPOSAL81Onyama Limba
1029Maria Q WhobreySpain2025-09-08Commercial Press PROPOSAL66Xuxue Feng
1030Aditya D MarrierItaly2025-09-14Morlong Associates UNQUALIFIED94Ivan Magalhaes
1031Faith F OldroydAustralia2025-08-29Buckley Miller Wright QUALIFIED62Asiya Javayant
1032Octavia C DoeIndia2025-09-10Morlong Associates QUALIFIED98Bernardo Dominic
1033Ashley C DarakjySpain2025-08-22Printing Dimensions PROPOSAL1Onyama Limba
1034Salvatore J MaletArgentina2025-09-10Commercial Press NEW58Ioni Bowcher
1035Greenwood X FigeroaUnited Kingdom2025-09-05Rangoni Of Florence UNQUALIFIED75Amy Elsner
1036Jennifer O GauchoJapan2025-09-08Dorl, James J Esq PROPOSAL0Xuxue Feng
1037Ashley D GarufiGermany2025-09-11Feltz Printing Service NEW59Ivan Magalhaes
1038Greenwood N BriddickIndia2025-09-01Chanay, Jeffrey A Esq PROPOSAL70Stephen Shaw
1039Cody Q StockhamJapan2025-08-29Feiner Bros RENEWAL19Xuxue Feng
1040Jones C FigeroaSpain2025-09-19Chanay, Jeffrey A Esq NEGOTIATION40Anna Fali
1041Claire N FlosiUnited Kingdom2025-09-01Chapman, Ross E Esq QUALIFIED20Amy Elsner
1042Murillo S CampainSpain2025-09-10Rousseaux, Michael Esq NEGOTIATION82Asiya Javayant
1043Ricardo E PerinIndia2025-09-17Buckley Miller Wright UNQUALIFIED97Elwin Sharvill
1044Clifford Z ChuiAustralia2025-09-18Chemel, James L Cpa RENEWAL38Asiya Javayant
1045Jennifer S BologniaAustralia2025-08-27Commercial Press RENEWAL3Xuxue Feng
1046Julie S PaprockiIndia2025-08-27Rangoni Of Florence UNQUALIFIED85Ivan Magalhaes
1047Claire R WhobreyIndia2025-09-03Feltz Printing Service NEW94Ioni Bowcher
1048Isabel Z RutaGermany2025-08-24Buckley Miller Wright UNQUALIFIED9Amy Elsner
1049Ashley X DilliardCanada2025-09-17Chapman, Ross E Esq NEW62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson S MacleadJapanElwin Sharvill NEGOTIATION
Rodrigues L CaldareraIndiaBernardo Dominic UNQUALIFIED
Aruna D StockhamRussiaAmy Elsner QUALIFIED
Darci S WaycottCanadaIoni Bowcher UNQUALIFIED
Julie W SlusarskiBrazilIvan Magalhaes NEW
Deepesh W ShinkoIndiaStephen Shaw NEGOTIATION
Leja L PoquetteRussiaOnyama Limba NEW
Kaitlin L WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Wickens M FerenczItalyIoni Bowcher NEGOTIATION
Antonio B IturbideFranceOnyama Limba PROPOSAL
Greenwood R MorascaIndiaBernardo Dominic NEW
Jennifer U VocelkaItalyAmy Elsner PROPOSAL
Aika Q WhobreyCanadaAsiya Javayant QUALIFIED
Wickens U VenereGermanyBernardo Dominic RENEWAL
Deepesh K CampainSpainOnyama Limba UNQUALIFIED
Aruna Q RimGermanyXuxue Feng UNQUALIFIED
Murillo Y OstroskyJapanAmy Elsner NEGOTIATION
Aruna A IturbideRussiaIoni Bowcher UNQUALIFIED
Silvio T ButtRussiaXuxue Feng NEGOTIATION
Mayumi L AmigonBrazilAsiya Javayant QUALIFIED
Jennifer F GillianIndiaIoni Bowcher RENEWAL
Mayumi T MaletCanadaXuxue Feng PROPOSAL
Aruna Q DoeRussiaBernardo Dominic PROPOSAL
Wickens Y WaycottBrazilAsiya Javayant NEW
Ricardo A AmigonFranceXuxue Feng NEGOTIATION
Smith Q RutaIndiaXuxue Feng PROPOSAL
Maria E NickaIndiaAnna Fali NEW
James A VenereArgentinaXuxue Feng NEGOTIATION
Faith H NestleArgentinaAnna Fali NEGOTIATION
Jefferson O AlbaresJapanAnna Fali NEW
Mayumi B ChuiAustraliaIoni Bowcher RENEWAL
Jefferson L GauchoAustraliaIvan Magalhaes UNQUALIFIED
Morrow F WieserBrazilElwin Sharvill NEGOTIATION
Clifford G SchemmerFranceOnyama Limba PROPOSAL
Julie E ButtArgentinaBernardo Dominic QUALIFIED
Stacey D PoquetteGermanyOnyama Limba NEGOTIATION
Aditya I OstroskyItalyStephen Shaw QUALIFIED
Ashley G DarakjyRussiaElwin Sharvill PROPOSAL
Jennifer W ButtGermanyElwin Sharvill PROPOSAL
Alejandro X InouyeUnited KingdomAnna Fali PROPOSAL
David S PoquetteAustraliaAsiya Javayant PROPOSAL
Alejandro O DarakjyJapanIoni Bowcher NEW
Arvin E NestleGermanyIvan Magalhaes NEW
Darci J BowleyArgentinaXuxue Feng NEW
Faith Z PerinSpainIvan Magalhaes RENEWAL
Jefferson I StensethIndiaStephen Shaw PROPOSAL
David K SchemmerCanadaIvan Magalhaes PROPOSAL
Mujtaba H VenereAustraliaAnna Fali RENEWAL
Leon Q FollerUnited KingdomAsiya Javayant PROPOSAL
Johnson V FlosiGermanyIoni Bowcher RENEWAL
Frozen Columns
Name
Darci J Amigon
Emily X Maclead
Ricardo O Inouye
Emily S Garufi
Jefferson R Kolmetz
Juan I Marrier
Juan Z Stenseth
Costa T Shinko
Silvio L Malet
Clifford H Nicka
Arvin L Stockham
David J Maclead
Isabel Q Caldarera
Ricardo J Marrier
Jennifer Z Iturbide
Faith R Marrier
Wickens R Whobrey
Tony G Ferencz
Octavia Q Paprocki
Kadeem R Chui
Jefferson M Wieser
Leon H Venere
Chavez Z Paprocki
Johnson M Malet
David D Waycott
Rodrigues S Whobrey
James B Kusko
Aditya T Stenseth
Ashley D Chui
Claire D Vocelka
Maria K Dilliard
Wickens P Perin
Nicolas B Kolmetz
Jennifer C Figeroa
Murillo H Inouye
Johnson I Sergi
Misaki E Venere
Kaitlin B Stockham
Darci T Poquette
Stacey V Waycott
Stacey Z Paprocki
Izzy V Sergi
Chavez H Saylors
Ivar X Stenseth
Johnson N Marrier
Sinclair Y Venere
Emily Z Albares
Leja K Poquette
Aika P Schemmer
Deepesh V Bowley
IdCountryDate
1000Italy2025-09-04
1001Spain2025-09-05
1002Brazil2025-09-04
1003Spain2025-08-26
1004Argentina2025-09-16
1005Argentina2025-09-09
1006Japan2025-09-03
1007Japan2025-09-03
1008United Kingdom2025-08-23
1009Canada2025-09-12
1010Russia2025-09-13
1011Australia2025-08-22
1012Italy2025-09-12
1013Russia2025-08-22
1014Canada2025-09-15
1015Germany2025-09-18
1016France2025-09-17
1017Germany2025-09-12
1018Japan2025-09-13
1019Brazil2025-08-31
1020Australia2025-09-13
1021United Kingdom2025-09-08
1022Germany2025-09-02
1023United Kingdom2025-08-23
1024Brazil2025-08-27
1025Brazil2025-09-16
1026Italy2025-09-20
1027Australia2025-09-19
1028United Kingdom2025-09-18
1029India2025-08-26
1030Canada2025-09-01
1031United Kingdom2025-08-24
1032Spain2025-09-07
1033Australia2025-08-27
1034India2025-09-11
1035Russia2025-09-10
1036Canada2025-09-01
1037Brazil2025-08-23
1038Argentina2025-09-14
1039Japan2025-09-14
1040Canada2025-08-29
1041Spain2025-09-15
1042Argentina2025-09-08
1043Argentina2025-09-19
1044Brazil2025-08-26
1045Brazil2025-09-17
1046Spain2025-08-23
1047Italy2025-09-01
1048Japan2025-09-10
1049India2025-08-23

On-Demand Data

NameIdCountryDate
Rodrigues L Stockham1000Italy2025-09-11
Adams Q Stenseth1001Russia2025-09-17
David A Slusarski1002Germany2025-09-17
Misaki P Butt1003Brazil2025-09-03
Darci E Chui1004Italy2025-08-25
Chavez C Saylors1005Argentina2025-08-31
Aditya M Maclead1006Italy2025-09-08
Salvatore S Stockham1007Argentina2025-08-27
Jeanfrancois V Maclead1008Canada2025-09-07
Maria V Inouye1009Japan2025-09-03
Ricardo H Nicka1010Canada2025-09-06
Chavez T Ferencz1011United Kingdom2025-08-31
Mayumi H Malet1012United Kingdom2025-09-12
Ashley R Foller1013Spain2025-09-02
Jeanfrancois Q Iturbide1014United Kingdom2025-09-08
Octavia D Stenseth1015United Kingdom2025-09-15
Emily T Bolognia1016Russia2025-08-25
Isabel K Doe1017Canada2025-08-26
Emily N Morasca1018Canada2025-09-01
Claire I Iturbide1019Spain2025-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja C WhobreyRussiaAmy Elsner NEGOTIATION
Ivar Z FigeroaSpainAsiya Javayant PROPOSAL
Jefferson T OstroskyIndiaElwin Sharvill QUALIFIED
Mayumi C MorascaCanadaStephen Shaw NEW
Mujtaba U ChuiFranceElwin Sharvill NEGOTIATION
Antonio D AmigonUnited KingdomOnyama Limba UNQUALIFIED
Emily Z SlusarskiBrazilOnyama Limba PROPOSAL
Julie R KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro H OldroydSpainIoni Bowcher PROPOSAL
Sinclair Q VocelkaJapanAmy Elsner QUALIFIED
Darci A OldroydCanadaElwin Sharvill UNQUALIFIED
Maisha O GarufiFranceElwin Sharvill UNQUALIFIED
Greenwood Z AmigonFranceStephen Shaw NEGOTIATION
Octavia K MaletRussiaIvan Magalhaes PROPOSAL
David J SchemmerAustraliaAsiya Javayant RENEWAL
Mayumi H IturbideJapanIvan Magalhaes UNQUALIFIED
Chavez J BriddickJapanAsiya Javayant UNQUALIFIED
Jennifer B WaycottArgentinaIoni Bowcher RENEWAL
Maria W WhobreyArgentinaElwin Sharvill RENEWAL
Salvatore Q SergiSpainBernardo Dominic QUALIFIED
Antonio Y PaprockiArgentinaBernardo Dominic RENEWAL
Johnson G BologniaBrazilXuxue Feng UNQUALIFIED
Ashley A RulapaughSpainStephen Shaw PROPOSAL
Jeanfrancois Z MacleadArgentinaIvan Magalhaes PROPOSAL
Misaki Q NickaRussiaBernardo Dominic PROPOSAL
Antonio F RimItalyBernardo Dominic PROPOSAL
Tony R SergiArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois D StensethItalyXuxue Feng RENEWAL
Jeanfrancois F CampainCanadaIvan Magalhaes UNQUALIFIED
Wickens J CampainItalyXuxue Feng PROPOSAL
Aruna V RimRussiaIvan Magalhaes QUALIFIED
Greenwood S DoeIndiaAmy Elsner QUALIFIED
Jones I InouyeGermanyElwin Sharvill PROPOSAL
Adams X VocelkaAustraliaElwin Sharvill UNQUALIFIED
Johnson X AlbaresJapanOnyama Limba NEW
Ashley Z DilliardIndiaStephen Shaw NEGOTIATION
Jefferson F NickaJapanAnna Fali QUALIFIED
Maisha W FollerIndiaIvan Magalhaes NEGOTIATION
Octavia C StockhamCanadaAsiya Javayant PROPOSAL
Aruna P ShinkoBrazilElwin Sharvill 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>