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
Ashley M FollerBrazilElwin Sharvill PROPOSAL
Mujtaba I VocelkaRussiaBernardo Dominic QUALIFIED
Tony X IturbideGermanyOnyama Limba PROPOSAL
Francesco X RimItalyOnyama Limba RENEWAL
James J ShinkoAustraliaAmy Elsner PROPOSAL
Clifford D WhobreySpainAsiya Javayant PROPOSAL
Arvin I PerinGermanyStephen Shaw NEGOTIATION
Chavez C WhobreyGermanyStephen Shaw PROPOSAL
Chavez F MaletArgentinaAsiya Javayant UNQUALIFIED
Smith W AlbaresFranceOnyama Limba QUALIFIED
Antonio X CaudyItalyIvan Magalhaes RENEWAL
Arvin H AlbaresFranceAsiya Javayant QUALIFIED
Alejandro D CaudyArgentinaBernardo Dominic PROPOSAL
Julie U CampainGermanyIoni Bowcher QUALIFIED
Nicolas B FerenczIndiaAmy Elsner NEGOTIATION
Ivar N DarakjyRussiaBernardo Dominic UNQUALIFIED
Cody I MaletJapanAsiya Javayant QUALIFIED
Jeanfrancois F IturbideRussiaStephen Shaw PROPOSAL
Costa U ButtGermanyAnna Fali UNQUALIFIED
Ashley N OldroydGermanyAnna Fali NEGOTIATION
Francesco Z BriddickArgentinaAnna Fali RENEWAL
Ricardo G KuskoArgentinaAnna Fali RENEWAL
Jennifer U VocelkaItalyOnyama Limba RENEWAL
Nicolas C PaprockiArgentinaAmy Elsner NEW
Emily K RimRussiaAmy Elsner QUALIFIED
Misaki F ChuiItalyIvan Magalhaes UNQUALIFIED
Faith U KuskoArgentinaAmy Elsner NEGOTIATION
Jeanfrancois H WaycottAustraliaBernardo Dominic RENEWAL
Tony P PoquetteItalyStephen Shaw RENEWAL
Aruna T ShinkoAustraliaAmy Elsner QUALIFIED
Costa N MacleadFranceOnyama Limba NEW
Aditya I GlickSpainIoni Bowcher QUALIFIED
Leja K RutaRussiaBernardo Dominic RENEWAL
Ashley W IturbideItalyElwin Sharvill PROPOSAL
Jeanfrancois U FlosiAustraliaBernardo Dominic UNQUALIFIED
Ivar F BologniaAustraliaStephen Shaw PROPOSAL
Faith C DoeArgentinaAnna Fali QUALIFIED
Costa X RoysterBrazilBernardo Dominic QUALIFIED
Wickens Y PerinAustraliaXuxue Feng QUALIFIED
Maria Z VocelkaGermanyAmy Elsner PROPOSAL
Kadeem K AlbaresArgentinaIvan Magalhaes NEW
Stacey E StockhamCanadaElwin Sharvill PROPOSAL
Leja J BowleyBrazilStephen Shaw QUALIFIED
Claire S ChuiArgentinaStephen Shaw RENEWAL
Nicolas K ButtArgentinaBernardo Dominic NEW
Smith J VocelkaRussiaAsiya Javayant QUALIFIED
Arvin T ButtBrazilIvan Magalhaes UNQUALIFIED
Leon Q RimItalyOnyama Limba NEGOTIATION
Salvatore L GarufiGermanyBernardo Dominic PROPOSAL
Smith Q WhobreySpainElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo A WaycottItalyAmy Elsner UNQUALIFIED
Greenwood S BowleyAustraliaIoni Bowcher NEGOTIATION
Stacey M RulapaughBrazilXuxue Feng QUALIFIED
Adams A WieserIndiaAnna Fali UNQUALIFIED
Johnson O WhobreyGermanyXuxue Feng NEGOTIATION
Faith S KolmetzGermanyOnyama Limba UNQUALIFIED
Aika F IturbideCanadaAsiya Javayant NEGOTIATION
Aruna D TollnerSpainXuxue Feng NEW
Francesco M MarrierFranceBernardo Dominic UNQUALIFIED
Isabel I RutaIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie C GauchoItaly2025-09-12Feltz Printing Service NEGOTIATION88Elwin Sharvill
1001David E DoeIndia2025-09-29Truhlar And Truhlar Attys UNQUALIFIED77Amy Elsner
1002Murillo I DoeBrazil2025-10-11King, Christopher A Esq UNQUALIFIED0Asiya Javayant
1003Nicolas F GauchoGermany2025-10-04Morlong Associates PROPOSAL72Ivan Magalhaes
1004Wickens D FigeroaUnited Kingdom2025-10-07Printing Dimensions UNQUALIFIED35Ioni Bowcher
1005Maria O BowleySpain2025-10-01Feltz Printing Service RENEWAL58Xuxue Feng
1006Wickens E PoquetteRussia2025-10-09Morlong Associates UNQUALIFIED81Onyama Limba
1007Maria H CaudyBrazil2025-10-01Feiner Bros RENEWAL10Onyama Limba
1008Nicolas F MarrierIndia2025-10-04Chemel, James L Cpa UNQUALIFIED59Bernardo Dominic
1009Leon W ShinkoIndia2025-09-24Morlong Associates NEW22Xuxue Feng
1010Emily Q RoysterRussia2025-09-21Printing Dimensions QUALIFIED87Xuxue Feng
1011Izzy A ButtJapan2025-10-10Commercial Press NEGOTIATION44Stephen Shaw
1012Stacey S CampainAustralia2025-09-14Rousseaux, Michael Esq UNQUALIFIED84Bernardo Dominic
1013Stacey N DarakjyItaly2025-09-12Commercial Press NEGOTIATION9Stephen Shaw
1014Ashley Z WaycottRussia2025-10-01Dorl, James J Esq NEGOTIATION30Ioni Bowcher
1015Emily T FigeroaJapan2025-09-14Chanay, Jeffrey A Esq NEGOTIATION49Ivan Magalhaes
1016Ivar F GlickAustralia2025-09-13Buckley Miller Wright PROPOSAL80Bernardo Dominic
1017Tony G NestleCanada2025-09-19Chanay, Jeffrey A Esq RENEWAL71Elwin Sharvill
1018Francesco C OstroskyRussia2025-10-10Benton, John B Jr NEW26Anna Fali
1019Octavia D DoeItaly2025-09-21Benton, John B Jr RENEWAL90Ivan Magalhaes
1020Izzy H MacleadAustralia2025-10-11Feiner Bros PROPOSAL41Xuxue Feng
1021Munro D CampainGermany2025-10-04Feiner Bros NEW23Asiya Javayant
1022Kaitlin L KuskoBrazil2025-09-18Dorl, James J Esq NEGOTIATION78Amy Elsner
1023Kaitlin W RulapaughArgentina2025-09-25Chanay, Jeffrey A Esq RENEWAL39Ivan Magalhaes
1024Jeanfrancois D VenereCanada2025-09-12Morlong Associates RENEWAL32Asiya Javayant
1025Claire W WaycottSpain2025-09-15Morlong Associates NEW27Ioni Bowcher
1026Octavia G SlusarskiAustralia2025-09-16Chemel, James L Cpa QUALIFIED5Xuxue Feng
1027Alejandro P DilliardFrance2025-10-07Dorl, James J Esq PROPOSAL72Onyama Limba
1028Ashley M WieserFrance2025-09-27Printing Dimensions RENEWAL36Onyama Limba
1029Jeanfrancois V AlbaresGermany2025-09-19Feltz Printing Service NEW83Amy Elsner
1030Alejandro J VenereSpain2025-09-23Chanay, Jeffrey A Esq RENEWAL9Ioni Bowcher
1031Julie O CaudyBrazil2025-09-18Rousseaux, Michael Esq NEGOTIATION18Stephen Shaw
1032Misaki L RimRussia2025-09-29Chapman, Ross E Esq PROPOSAL7Elwin Sharvill
1033Salvatore W WhobreyItaly2025-09-13Dorl, James J Esq RENEWAL36Ioni Bowcher
1034Nicolas K SergiSpain2025-09-22Rangoni Of Florence QUALIFIED76Xuxue Feng
1035Julie F GarufiArgentina2025-10-04Feltz Printing Service PROPOSAL12Stephen Shaw
1036Leon W RoysterCanada2025-09-19Feltz Printing Service QUALIFIED36Elwin Sharvill
1037Aruna X VenereIndia2025-10-03Feiner Bros UNQUALIFIED67Amy Elsner
1038Misaki P BowleyItaly2025-09-26Feltz Printing Service NEGOTIATION79Amy Elsner
1039Jennifer Z NestleItaly2025-09-28Commercial Press RENEWAL39Elwin Sharvill
1040Leja E SchemmerIndia2025-10-11Commercial Press NEW81Bernardo Dominic
1041Maria Q ChuiBrazil2025-09-16Morlong Associates NEGOTIATION40Asiya Javayant
1042Kadeem S BowleyFrance2025-09-25Dorl, James J Esq PROPOSAL23Asiya Javayant
1043Ricardo J AlbaresArgentina2025-09-15Feltz Printing Service UNQUALIFIED57Onyama Limba
1044Juan T WieserGermany2025-10-05Truhlar And Truhlar Attys RENEWAL42Elwin Sharvill
1045Juan R FlosiGermany2025-09-21Dorl, James J Esq UNQUALIFIED44Xuxue Feng
1046Costa Q GlickFrance2025-09-25Chapman, Ross E Esq RENEWAL8Anna Fali
1047Silvio W DarakjyAustralia2025-09-20Dorl, James J Esq RENEWAL96Xuxue Feng
1048Salvatore Y WieserIndia2025-10-04Feiner Bros QUALIFIED41Asiya Javayant
1049Jeanfrancois H FollerRussia2025-09-26Rangoni Of Florence NEW39Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco G DoeRussiaAmy Elsner PROPOSAL
Jones A AmigonIndiaAsiya Javayant RENEWAL
Jennifer B CaldareraFranceIvan Magalhaes RENEWAL
Morrow A CaudyCanadaBernardo Dominic RENEWAL
Costa H OstroskyGermanyIvan Magalhaes QUALIFIED
Jeanfrancois J GillianIndiaIoni Bowcher NEW
Murillo Z ChuiFranceIvan Magalhaes UNQUALIFIED
Leon O AlbaresJapanXuxue Feng NEGOTIATION
Munro O DoeGermanyIvan Magalhaes NEW
Ashley L ShinkoArgentinaBernardo Dominic PROPOSAL
Octavia F RutaGermanyElwin Sharvill UNQUALIFIED
Faith L MaletCanadaIoni Bowcher RENEWAL
Maria P MorascaIndiaAmy Elsner NEW
Adams V FigeroaSpainOnyama Limba PROPOSAL
Arvin G OldroydBrazilAsiya Javayant QUALIFIED
Isabel N DarakjyArgentinaAnna Fali NEGOTIATION
Juan M SlusarskiFranceStephen Shaw QUALIFIED
Nicolas P NestleUnited KingdomIvan Magalhaes NEGOTIATION
Julie M FerenczAustraliaBernardo Dominic NEGOTIATION
Faith W FerenczJapanStephen Shaw NEGOTIATION
Wickens G VocelkaAustraliaAsiya Javayant NEW
Aditya I SchemmerJapanOnyama Limba QUALIFIED
Wickens S MorascaFranceAmy Elsner NEGOTIATION
Ivar L PoquetteIndiaXuxue Feng NEW
Smith D InouyeCanadaBernardo Dominic UNQUALIFIED
Claire L RoysterFranceStephen Shaw RENEWAL
Chavez P DarakjyAustraliaAsiya Javayant RENEWAL
Jennifer U WaycottFranceAsiya Javayant QUALIFIED
James E RulapaughArgentinaAnna Fali UNQUALIFIED
Alejandro F MorascaArgentinaStephen Shaw QUALIFIED
Cody G OldroydArgentinaIvan Magalhaes NEW
Julie G FerenczAustraliaAmy Elsner RENEWAL
Emily B GauchoCanadaElwin Sharvill PROPOSAL
Stacey T AmigonJapanAnna Fali RENEWAL
Sinclair S VocelkaRussiaAsiya Javayant NEGOTIATION
Tony B StensethAustraliaAmy Elsner NEW
Sinclair D WaycottAustraliaIoni Bowcher UNQUALIFIED
David I FigeroaCanadaOnyama Limba PROPOSAL
Salvatore H WhobreyAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois S GauchoAustraliaBernardo Dominic PROPOSAL
Johnson M WaycottJapanStephen Shaw QUALIFIED
Mujtaba K MarrierJapanOnyama Limba QUALIFIED
Leja N FollerIndiaBernardo Dominic QUALIFIED
Aruna B WieserUnited KingdomIvan Magalhaes QUALIFIED
Aditya T SlusarskiCanadaAnna Fali RENEWAL
Octavia H WieserRussiaIoni Bowcher RENEWAL
Ashley S SlusarskiUnited KingdomElwin Sharvill RENEWAL
Leja S RulapaughUnited KingdomStephen Shaw PROPOSAL
Octavia V RimItalyAsiya Javayant NEW
Morrow P CampainFranceXuxue Feng NEGOTIATION
Frozen Columns
Name
Emily T Bowley
Kadeem O Albares
Claire J Rulapaugh
Maria J Rim
Aruna Q Briddick
Sinclair H Stockham
Wickens B Stenseth
Stacey O Slusarski
Aruna U Maclead
Julie R Rim
Antonio T Whobrey
Kaitlin C Morasca
Jones M Poquette
Maria D Schemmer
Mujtaba T Chui
Claire C Briddick
Octavia V Schemmer
Faith W Oldroyd
Arvin T Foller
Tony S Morasca
Izzy S Whobrey
Antonio A Maclead
Aruna W Malet
Clifford K Flosi
Jeanfrancois Q Gaucho
Greenwood C Malet
Misaki C Schemmer
Munro Z Garufi
Salvatore D Maclead
Alejandro M Amigon
Clifford O Rim
Jeanfrancois F Caudy
Arvin P Ruta
Murillo H Rulapaugh
Misaki R Paprocki
Tony U Saylors
Maisha G Shinko
Johnson R Glick
James M Dilliard
Mujtaba G Albares
Chavez Y Ostrosky
Aika S Caudy
Kaitlin S Rulapaugh
Nicolas C Darakjy
Isabel Z Shinko
Isabel K Ferencz
Rodrigues C Perin
Mayumi K Ruta
James I Morasca
Octavia H Poquette
IdCountryDate
1000France2025-09-21
1001Italy2025-10-05
1002Russia2025-09-28
1003Argentina2025-10-07
1004Canada2025-10-05
1005Australia2025-10-05
1006Italy2025-09-27
1007Spain2025-09-12
1008Russia2025-09-28
1009Italy2025-10-02
1010Italy2025-09-12
1011Germany2025-09-14
1012Italy2025-09-30
1013Spain2025-09-27
1014Spain2025-10-01
1015India2025-09-25
1016Italy2025-09-17
1017Germany2025-09-25
1018India2025-09-30
1019Australia2025-09-30
1020Russia2025-09-13
1021Italy2025-09-13
1022Argentina2025-09-20
1023Canada2025-10-01
1024United Kingdom2025-09-30
1025Canada2025-10-10
1026Canada2025-09-21
1027Canada2025-09-16
1028Australia2025-09-24
1029Spain2025-09-22
1030Japan2025-09-23
1031Australia2025-09-15
1032Italy2025-09-22
1033Germany2025-09-13
1034France2025-09-13
1035India2025-09-24
1036United Kingdom2025-10-02
1037Italy2025-10-07
1038Argentina2025-09-14
1039Brazil2025-09-17
1040United Kingdom2025-10-09
1041Australia2025-09-20
1042Australia2025-10-06
1043Spain2025-10-09
1044Japan2025-09-13
1045Russia2025-09-26
1046Canada2025-10-08
1047France2025-09-21
1048Australia2025-09-19
1049France2025-09-27

On-Demand Data

NameIdCountryDate
Jeanfrancois X Rim1000Japan2025-10-06
Chavez S Caldarera1001Russia2025-09-30
Francesco J Dilliard1002Brazil2025-09-23
Aika S Flosi1003United Kingdom2025-10-08
Nicolas H Flosi1004India2025-09-14
Claire H Malet1005Russia2025-10-07
Jones J Royster1006Canada2025-09-24
Munro N Foller1007Russia2025-09-30
Wickens Z Campain1008United Kingdom2025-09-12
Mayumi D Doe1009Canada2025-09-17
Aika D Amigon1010Japan2025-09-21
Maisha L Iturbide1011Japan2025-09-17
Clifford Y Oldroyd1012Australia2025-10-01
Cody Y Paprocki1013Germany2025-09-28
Francesco H Doe1014Argentina2025-09-30
Arvin G Kusko1015Japan2025-10-09
Aika G Gaucho1016France2025-09-25
Maisha F Glick1017Germany2025-10-05
Jones F Whobrey1018United Kingdom2025-09-24
Rodrigues Y Amigon1019France2025-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo I RutaArgentinaAnna Fali PROPOSAL
Francesco Q NestleItalyStephen Shaw UNQUALIFIED
Leon G VenereItalyAnna Fali NEGOTIATION
Maria T AmigonRussiaIvan Magalhaes UNQUALIFIED
Kaitlin F DarakjyIndiaAmy Elsner NEGOTIATION
Leon R FigeroaBrazilAsiya Javayant NEW
Kaitlin N DoeJapanAsiya Javayant QUALIFIED
Claire N ButtIndiaElwin Sharvill RENEWAL
James X PaprockiJapanXuxue Feng UNQUALIFIED
Nicolas A SergiItalyOnyama Limba QUALIFIED
Johnson D FigeroaItalyAnna Fali UNQUALIFIED
Johnson D StockhamAustraliaIvan Magalhaes QUALIFIED
Maisha E CampainIndiaOnyama Limba QUALIFIED
Wickens Q ButtIndiaElwin Sharvill UNQUALIFIED
Tony J WieserArgentinaElwin Sharvill UNQUALIFIED
Costa Q CaldareraGermanyAsiya Javayant UNQUALIFIED
Morrow O GillianItalyBernardo Dominic UNQUALIFIED
Emily M RoysterArgentinaAnna Fali UNQUALIFIED
Alejandro E ButtItalyStephen Shaw QUALIFIED
Wickens E VenereIndiaStephen Shaw NEGOTIATION
Emily X AmigonCanadaStephen Shaw QUALIFIED
Emily S FlosiFranceStephen Shaw RENEWAL
Misaki N TollnerGermanyAsiya Javayant PROPOSAL
Deepesh X KuskoArgentinaIvan Magalhaes RENEWAL
Misaki A MarrierAustraliaIvan Magalhaes RENEWAL
Faith Z GauchoAustraliaOnyama Limba QUALIFIED
Maria L VocelkaJapanXuxue Feng RENEWAL
Ivar G OldroydGermanyIvan Magalhaes PROPOSAL
Leon D SchemmerAustraliaAsiya Javayant NEGOTIATION
Misaki F RulapaughItalyIoni Bowcher QUALIFIED
Ricardo B PaprockiCanadaAnna Fali UNQUALIFIED
Salvatore I RutaCanadaBernardo Dominic NEGOTIATION
Kaitlin P FlosiArgentinaStephen Shaw PROPOSAL
Alejandro W VenereJapanIvan Magalhaes RENEWAL
Emily S StensethIndiaIvan Magalhaes QUALIFIED
Kaitlin B ShinkoJapanOnyama Limba RENEWAL
Izzy W ShinkoBrazilIvan Magalhaes RENEWAL
Ivar D RulapaughArgentinaStephen Shaw NEGOTIATION
Murillo E NestleItalyAmy Elsner UNQUALIFIED
Johnson J BowleyIndiaAmy Elsner NEGOTIATION

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