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
Faith R DoeCanadaIoni Bowcher NEW
Juan X GauchoSpainIvan Magalhaes UNQUALIFIED
Jones W RulapaughArgentinaBernardo Dominic QUALIFIED
Kaitlin B InouyeItalyAmy Elsner UNQUALIFIED
Chavez R RulapaughAustraliaBernardo Dominic PROPOSAL
Stacey T RimGermanyXuxue Feng NEW
Ashley T KolmetzSpainIoni Bowcher UNQUALIFIED
Maria X NestleCanadaXuxue Feng UNQUALIFIED
Misaki X IturbideJapanElwin Sharvill NEW
Alejandro S RoysterRussiaAnna Fali NEW
Stacey P ChuiJapanOnyama Limba QUALIFIED
Darci Y BologniaAustraliaAnna Fali UNQUALIFIED
Chavez R ChuiItalyIvan Magalhaes RENEWAL
Leja N MacleadUnited KingdomXuxue Feng UNQUALIFIED
Costa C BriddickRussiaElwin Sharvill RENEWAL
Alejandro F MarrierArgentinaXuxue Feng UNQUALIFIED
Deepesh H VenereRussiaBernardo Dominic QUALIFIED
David O PerinUnited KingdomXuxue Feng UNQUALIFIED
Leon W MarrierItalyXuxue Feng UNQUALIFIED
Wickens X MaletCanadaAnna Fali UNQUALIFIED
Tony X SergiRussiaIoni Bowcher RENEWAL
Ricardo P CaudyFranceOnyama Limba UNQUALIFIED
Deepesh L RimArgentinaAnna Fali PROPOSAL
Misaki N FerenczArgentinaIvan Magalhaes NEW
Darci G SaylorsRussiaXuxue Feng NEW
Julie P SergiArgentinaOnyama Limba RENEWAL
Aruna V ChuiCanadaAsiya Javayant RENEWAL
Emily B StockhamGermanyBernardo Dominic NEW
Maria V FollerArgentinaOnyama Limba NEW
Morrow R CaldareraBrazilBernardo Dominic RENEWAL
Arvin E BriddickIndiaBernardo Dominic NEW
Tony T SlusarskiGermanyAsiya Javayant RENEWAL
Maisha L GarufiJapanXuxue Feng NEGOTIATION
Wickens B RulapaughSpainOnyama Limba NEGOTIATION
Aika X PaprockiCanadaIoni Bowcher PROPOSAL
Ricardo Y SchemmerArgentinaIvan Magalhaes PROPOSAL
Jennifer Z KuskoGermanyAnna Fali NEW
Emily S GarufiJapanBernardo Dominic RENEWAL
Darci X BriddickFranceAsiya Javayant UNQUALIFIED
Salvatore E GlickSpainElwin Sharvill UNQUALIFIED
Mujtaba V IturbideBrazilAnna Fali UNQUALIFIED
Rodrigues X ChuiRussiaXuxue Feng RENEWAL
Mujtaba O WaycottSpainIvan Magalhaes PROPOSAL
Rodrigues D FerenczFranceElwin Sharvill NEGOTIATION
Kadeem D KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Faith B NickaArgentinaElwin Sharvill UNQUALIFIED
Darci I VocelkaSpainIvan Magalhaes UNQUALIFIED
Chavez K FerenczFranceElwin Sharvill QUALIFIED
Leon O StockhamIndiaOnyama Limba NEGOTIATION
Morrow U SergiIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez X MaletGermanyStephen Shaw UNQUALIFIED
Ivar P BowleySpainAnna Fali PROPOSAL
Ashley B SaylorsUnited KingdomAnna Fali NEGOTIATION
Ricardo Y NickaArgentinaIvan Magalhaes QUALIFIED
Aditya K RulapaughBrazilIvan Magalhaes QUALIFIED
Kadeem X CaldareraArgentinaBernardo Dominic PROPOSAL
Leja C GarufiArgentinaElwin Sharvill NEW
Kaitlin U MarrierRussiaBernardo Dominic PROPOSAL
Murillo G MorascaRussiaXuxue Feng UNQUALIFIED
Maisha G VenereRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio C PaprockiUnited Kingdom2025-09-13Rousseaux, Michael Esq NEW87Anna Fali
1001Izzy X ButtIndia2025-09-20Buckley Miller Wright UNQUALIFIED49Xuxue Feng
1002Emily L BowleyFrance2025-09-10Rousseaux, Michael Esq UNQUALIFIED83Elwin Sharvill
1003Jennifer O RimRussia2025-09-02Commercial Press QUALIFIED53Xuxue Feng
1004Ivar Z MacleadFrance2025-09-26King, Christopher A Esq NEGOTIATION11Stephen Shaw
1005Murillo V NestleBrazil2025-09-10Printing Dimensions UNQUALIFIED91Bernardo Dominic
1006Jones E BologniaUnited Kingdom2025-09-25Chapman, Ross E Esq NEGOTIATION81Asiya Javayant
1007Chavez A GarufiJapan2025-09-21Morlong Associates NEW99Xuxue Feng
1008Wickens I PerinAustralia2025-09-21Chapman, Ross E Esq NEGOTIATION64Asiya Javayant
1009Murillo C PoquetteItaly2025-09-22Printing Dimensions PROPOSAL21Asiya Javayant
1010Johnson H GillianJapan2025-09-01Dorl, James J Esq UNQUALIFIED49Amy Elsner
1011David L MarrierUnited Kingdom2025-09-25Chanay, Jeffrey A Esq RENEWAL82Ioni Bowcher
1012Rodrigues E SchemmerBrazil2025-09-19Dorl, James J Esq QUALIFIED35Bernardo Dominic
1013Wickens M FlosiBrazil2025-09-20Rangoni Of Florence UNQUALIFIED80Stephen Shaw
1014Mujtaba S GauchoCanada2025-09-01Printing Dimensions NEW40Xuxue Feng
1015Smith Y VenereRussia2025-09-05Buckley Miller Wright NEGOTIATION21Bernardo Dominic
1016Kaitlin O CaudyCanada2025-09-06Feltz Printing Service NEW86Elwin Sharvill
1017Jennifer R SchemmerUnited Kingdom2025-09-03Printing Dimensions PROPOSAL58Bernardo Dominic
1018Silvio R WieserIndia2025-09-18Chemel, James L Cpa PROPOSAL16Amy Elsner
1019Wickens V MaletJapan2025-09-20Printing Dimensions NEGOTIATION1Bernardo Dominic
1020James U MorascaJapan2025-09-06Buckley Miller Wright NEW51Asiya Javayant
1021Isabel B InouyeSpain2025-09-01Chemel, James L Cpa RENEWAL48Stephen Shaw
1022Juan B ChuiAustralia2025-09-06Truhlar And Truhlar Attys RENEWAL18Anna Fali
1023Ricardo U RoysterItaly2025-09-15Buckley Miller Wright UNQUALIFIED93Ivan Magalhaes
1024Salvatore O BriddickIndia2025-09-02Chanay, Jeffrey A Esq NEGOTIATION34Onyama Limba
1025Maisha E GlickBrazil2025-09-24Feiner Bros NEGOTIATION28Stephen Shaw
1026Ricardo I MarrierGermany2025-09-29Feltz Printing Service UNQUALIFIED88Anna Fali
1027Greenwood D AlbaresBrazil2025-09-28Chanay, Jeffrey A Esq NEW91Amy Elsner
1028Cody S WieserItaly2025-09-15Benton, John B Jr RENEWAL91Bernardo Dominic
1029Julie R MacleadBrazil2025-09-18Commercial Press UNQUALIFIED19Amy Elsner
1030Deepesh N ChuiBrazil2025-09-06Feiner Bros QUALIFIED45Ivan Magalhaes
1031David P PoquetteArgentina2025-09-05Truhlar And Truhlar Attys PROPOSAL4Amy Elsner
1032Arvin H VenereRussia2025-09-10Morlong Associates UNQUALIFIED93Ivan Magalhaes
1033Chavez V DilliardBrazil2025-09-27Dorl, James J Esq NEGOTIATION27Asiya Javayant
1034Kaitlin B KuskoArgentina2025-09-28King, Christopher A Esq UNQUALIFIED53Elwin Sharvill
1035Alejandro G FollerCanada2025-09-03Benton, John B Jr UNQUALIFIED2Ioni Bowcher
1036Maria L IturbideRussia2025-09-19Buckley Miller Wright NEW58Elwin Sharvill
1037Mayumi M CaudyArgentina2025-09-20Rangoni Of Florence UNQUALIFIED82Bernardo Dominic
1038Silvio V DoeArgentina2025-09-26Chanay, Jeffrey A Esq NEGOTIATION28Xuxue Feng
1039Maria I MorascaItaly2025-09-29Feltz Printing Service RENEWAL97Ioni Bowcher
1040Deepesh Q DilliardJapan2025-09-28Printing Dimensions NEW39Stephen Shaw
1041Chavez X OldroydItaly2025-09-14Chapman, Ross E Esq QUALIFIED5Xuxue Feng
1042Alejandro M FollerRussia2025-09-03Rangoni Of Florence NEGOTIATION46Amy Elsner
1043Francesco V SchemmerArgentina2025-09-14Feltz Printing Service RENEWAL65Amy Elsner
1044Juan T AmigonBrazil2025-09-21Rousseaux, Michael Esq RENEWAL32Ioni Bowcher
1045Maria Y CaldareraCanada2025-09-09Dorl, James J Esq NEW31Amy Elsner
1046Wickens V RoysterIndia2025-09-16Commercial Press UNQUALIFIED24Anna Fali
1047Deepesh H GlickJapan2025-09-30Chanay, Jeffrey A Esq UNQUALIFIED98Elwin Sharvill
1048Jefferson O RulapaughGermany2025-09-05Dorl, James J Esq QUALIFIED62Amy Elsner
1049James Z CaudyArgentina2025-09-23Chemel, James L Cpa QUALIFIED79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin B GarufiJapanOnyama Limba PROPOSAL
Izzy B ButtSpainBernardo Dominic NEGOTIATION
Darci J NickaJapanIoni Bowcher NEGOTIATION
Alejandro Y RoysterBrazilIvan Magalhaes NEGOTIATION
Costa R PerinFranceAsiya Javayant PROPOSAL
Jennifer K FlosiIndiaIoni Bowcher UNQUALIFIED
Aruna U TollnerUnited KingdomAmy Elsner QUALIFIED
Wickens D SlusarskiBrazilXuxue Feng QUALIFIED
Jeanfrancois W BologniaCanadaStephen Shaw NEGOTIATION
Cody H AmigonArgentinaIvan Magalhaes NEGOTIATION
Munro L MacleadIndiaAmy Elsner NEW
Ashley D RutaFranceXuxue Feng PROPOSAL
Nicolas R DilliardSpainIoni Bowcher QUALIFIED
Nicolas N GarufiUnited KingdomStephen Shaw RENEWAL
Kaitlin T WaycottJapanAmy Elsner UNQUALIFIED
Leja O InouyeCanadaAnna Fali PROPOSAL
Maria U MaletUnited KingdomStephen Shaw PROPOSAL
Adams S MorascaUnited KingdomXuxue Feng NEGOTIATION
Juan T RutaGermanyXuxue Feng NEW
Jennifer S FlosiGermanyIoni Bowcher NEW
Morrow H FlosiIndiaIvan Magalhaes QUALIFIED
Adams A OldroydCanadaElwin Sharvill PROPOSAL
Mujtaba Q FollerBrazilStephen Shaw NEW
Sinclair T KolmetzSpainAmy Elsner NEGOTIATION
Ivar Q CaldareraGermanyElwin Sharvill RENEWAL
Greenwood U ChuiJapanAmy Elsner QUALIFIED
Juan R VenereGermanyAmy Elsner UNQUALIFIED
Johnson K FerenczFranceAsiya Javayant RENEWAL
Stacey Y CaldareraCanadaElwin Sharvill RENEWAL
Nicolas G VenereJapanBernardo Dominic QUALIFIED
Leja W DilliardFranceAmy Elsner UNQUALIFIED
Maria B RutaIndiaIoni Bowcher QUALIFIED
Mujtaba B IturbideIndiaElwin Sharvill UNQUALIFIED
Sinclair Y StockhamBrazilAnna Fali PROPOSAL
Munro T GarufiAustraliaBernardo Dominic PROPOSAL
Jones H GillianGermanyIvan Magalhaes QUALIFIED
Leon W SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Chavez M CaldareraSpainBernardo Dominic UNQUALIFIED
James B KuskoIndiaIoni Bowcher NEW
Aditya S ChuiGermanyStephen Shaw UNQUALIFIED
Francesco X MaletCanadaStephen Shaw NEW
Kaitlin M MaletCanadaBernardo Dominic RENEWAL
Darci N GlickBrazilOnyama Limba PROPOSAL
Jeanfrancois G NickaFranceBernardo Dominic UNQUALIFIED
Silvio J GillianSpainAnna Fali PROPOSAL
Mujtaba R StensethIndiaAsiya Javayant RENEWAL
Nicolas W MaletBrazilStephen Shaw QUALIFIED
Munro Y DoeRussiaStephen Shaw QUALIFIED
Jefferson V MarrierBrazilIvan Magalhaes NEGOTIATION
Clifford G DarakjyCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Jennifer K Venere
Julie M Schemmer
Salvatore Q Ostrosky
Tony Q Gaucho
David B Gillian
Ashley U Sergi
Deepesh T Nicka
Aika R Butt
Rodrigues H Darakjy
Claire Q Tollner
Stacey Y Morasca
Juan K Campain
Cody O Nicka
Ashley Y Ostrosky
Nicolas I Waycott
Mayumi L Schemmer
Isabel X Inouye
Isabel O Paprocki
Leon J Slusarski
Salvatore R Rulapaugh
Izzy D Malet
David W Rim
Aditya L Gaucho
Juan X Nestle
Costa K Albares
Salvatore X Ruta
Chavez L Venere
Leon X Chui
Adams E Stockham
Adams D Figeroa
Adams A Amigon
Faith L Stockham
Jeanfrancois B Flosi
Izzy P Garufi
Darci L Flosi
Tony A Inouye
Aika X Gillian
Francesco S Sergi
Tony C Caldarera
Francesco C Tollner
Sinclair L Tollner
Juan H Rulapaugh
Maisha P Garufi
Maria B Tollner
Kaitlin D Caldarera
Izzy M Bowley
Izzy F Bowley
Silvio H Schemmer
Emily U Campain
Leja V Wieser
IdCountryDate
1000Germany2025-09-29
1001Australia2025-09-18
1002France2025-09-13
1003Brazil2025-09-15
1004Russia2025-09-03
1005India2025-09-17
1006Italy2025-09-12
1007United Kingdom2025-09-10
1008Germany2025-09-30
1009Germany2025-09-11
1010Russia2025-09-28
1011Brazil2025-09-02
1012United Kingdom2025-09-04
1013Canada2025-09-12
1014Brazil2025-09-24
1015India2025-09-04
1016Australia2025-09-09
1017Canada2025-09-29
1018Australia2025-09-12
1019Italy2025-09-29
1020Germany2025-09-24
1021Canada2025-09-28
1022Spain2025-09-10
1023Russia2025-09-07
1024Australia2025-09-28
1025Germany2025-09-16
1026Canada2025-09-19
1027United Kingdom2025-09-07
1028Russia2025-09-11
1029India2025-09-06
1030Australia2025-09-06
1031Japan2025-09-12
1032United Kingdom2025-09-07
1033Canada2025-09-24
1034Italy2025-09-19
1035Argentina2025-09-08
1036Germany2025-09-03
1037France2025-09-29
1038Brazil2025-09-23
1039Germany2025-09-22
1040Russia2025-09-04
1041India2025-09-27
1042Russia2025-09-24
1043Italy2025-09-03
1044India2025-09-23
1045India2025-09-16
1046Australia2025-09-13
1047Australia2025-09-19
1048France2025-09-12
1049Spain2025-09-09

On-Demand Data

NameIdCountryDate
Costa X Stockham1000Germany2025-09-15
Izzy A Sergi1001Germany2025-09-17
Mayumi P Albares1002Argentina2025-09-16
Antonio P Briddick1003Australia2025-09-12
Leon D Venere1004United Kingdom2025-09-24
Faith Y Ruta1005Argentina2025-09-12
Claire K Shinko1006Canada2025-09-18
Tony E Nicka1007Spain2025-09-22
Aditya W Malet1008Australia2025-09-13
David S Glick1009Russia2025-09-21
Ivar J Maclead1010Brazil2025-09-05
Aika Q Marrier1011Brazil2025-09-21
Johnson K Dilliard1012India2025-09-06
Greenwood S Kolmetz1013Russia2025-09-20
Faith J Briddick1014France2025-09-27
Smith S Sergi1015Brazil2025-09-17
Ricardo E Albares1016France2025-09-14
Johnson P Ruta1017Australia2025-09-18
Kadeem R Shinko1018Russia2025-09-19
Deepesh Z Amigon1019Japan2025-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan W DarakjyCanadaIoni Bowcher NEGOTIATION
Tony P SlusarskiItalyXuxue Feng NEW
Mayumi E MorascaFranceElwin Sharvill UNQUALIFIED
Julie M FigeroaAustraliaXuxue Feng UNQUALIFIED
Misaki P PoquetteUnited KingdomOnyama Limba NEW
Jones H RulapaughAustraliaBernardo Dominic NEGOTIATION
James E IturbideUnited KingdomIvan Magalhaes PROPOSAL
Jones J RoysterAustraliaBernardo Dominic RENEWAL
Cody A OstroskyUnited KingdomAmy Elsner QUALIFIED
Nicolas N DilliardArgentinaAmy Elsner PROPOSAL
Silvio A CampainAustraliaOnyama Limba RENEWAL
Octavia M RulapaughAustraliaBernardo Dominic UNQUALIFIED
Arvin V FlosiCanadaIoni Bowcher RENEWAL
Jones N SchemmerUnited KingdomAsiya Javayant QUALIFIED
Kadeem Q RimItalyBernardo Dominic RENEWAL
Adams H NickaFranceAmy Elsner UNQUALIFIED
Murillo O GlickBrazilXuxue Feng QUALIFIED
Silvio X InouyeJapanXuxue Feng PROPOSAL
Antonio Q RulapaughFranceAnna Fali QUALIFIED
Johnson W SchemmerItalyStephen Shaw QUALIFIED
Rodrigues X WieserGermanyIvan Magalhaes NEGOTIATION
Costa Q InouyeBrazilElwin Sharvill UNQUALIFIED
Juan M FerenczAustraliaAsiya Javayant NEW
Leon M DilliardGermanyIoni Bowcher NEW
Maria R StockhamArgentinaBernardo Dominic UNQUALIFIED
Alejandro Y OstroskyFranceAmy Elsner RENEWAL
James C WhobreyIndiaAnna Fali UNQUALIFIED
Aika Y ButtCanadaIoni Bowcher QUALIFIED
Isabel I ButtJapanIoni Bowcher RENEWAL
Jefferson V CampainCanadaAnna Fali NEGOTIATION
Cody H SlusarskiIndiaAnna Fali NEW
Maria N GillianIndiaBernardo Dominic QUALIFIED
Claire H MaletSpainBernardo Dominic PROPOSAL
Costa T RimArgentinaAmy Elsner RENEWAL
Darci R FlosiAustraliaAmy Elsner RENEWAL
James A VocelkaItalyElwin Sharvill NEGOTIATION
Mayumi V DoeIndiaElwin Sharvill PROPOSAL
Sinclair Y DarakjyCanadaAnna Fali RENEWAL
Jefferson Y MarrierAustraliaBernardo Dominic PROPOSAL
Ivar C TollnerIndiaAsiya Javayant 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>