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
Mujtaba W AmigonAustraliaBernardo Dominic NEGOTIATION
Maisha U WhobreyJapanStephen Shaw UNQUALIFIED
Maria N CaudyGermanyIoni Bowcher RENEWAL
Smith I RoysterSpainStephen Shaw PROPOSAL
Julie V PoquetteCanadaAsiya Javayant NEW
Jeanfrancois Z BologniaRussiaOnyama Limba PROPOSAL
Mujtaba J BologniaJapanStephen Shaw RENEWAL
Darci G GarufiItalyIvan Magalhaes NEGOTIATION
Sinclair S MorascaSpainAmy Elsner UNQUALIFIED
Faith H VocelkaAustraliaXuxue Feng PROPOSAL
Chavez E AmigonItalyAnna Fali NEGOTIATION
Maria E ButtCanadaElwin Sharvill NEW
Silvio O SchemmerFranceAmy Elsner PROPOSAL
Leon U InouyeAustraliaOnyama Limba NEW
Isabel I MarrierIndiaXuxue Feng NEGOTIATION
Darci C RutaAustraliaOnyama Limba PROPOSAL
Mayumi V BriddickRussiaIoni Bowcher NEGOTIATION
Cody L GarufiSpainBernardo Dominic NEW
Darci G KolmetzJapanElwin Sharvill PROPOSAL
Jeanfrancois T WhobreyGermanyOnyama Limba NEW
Ashley M MaletArgentinaElwin Sharvill UNQUALIFIED
Faith I PerinUnited KingdomIvan Magalhaes PROPOSAL
Deepesh K FlosiIndiaAnna Fali UNQUALIFIED
Deepesh L CampainRussiaStephen Shaw RENEWAL
Juan H CampainItalyBernardo Dominic QUALIFIED
Stacey J TollnerRussiaStephen Shaw QUALIFIED
Octavia W ButtUnited KingdomAnna Fali QUALIFIED
Izzy T PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Leja F VocelkaFranceIoni Bowcher NEGOTIATION
Kaitlin C CaudyIndiaAsiya Javayant QUALIFIED
Misaki A PoquetteIndiaOnyama Limba NEW
Arvin Q KolmetzBrazilAnna Fali PROPOSAL
Maria D ButtSpainIvan Magalhaes QUALIFIED
Emily C OstroskyJapanOnyama Limba PROPOSAL
Julie P MacleadArgentinaAmy Elsner UNQUALIFIED
Isabel E RulapaughArgentinaElwin Sharvill NEW
Emily W OldroydJapanAmy Elsner QUALIFIED
Leon T MaletItalyAmy Elsner UNQUALIFIED
James Y BowleyItalyBernardo Dominic NEW
Salvatore L MaletGermanyIoni Bowcher QUALIFIED
Jefferson P RulapaughAustraliaAnna Fali NEW
Murillo E RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Aruna J SergiIndiaOnyama Limba RENEWAL
Julie F SlusarskiIndiaAmy Elsner RENEWAL
Smith A KolmetzItalyIvan Magalhaes RENEWAL
Deepesh E OstroskyCanadaOnyama Limba RENEWAL
Juan W BowleyArgentinaIoni Bowcher NEW
Julie Y VocelkaIndiaBernardo Dominic NEW
Costa K KolmetzItalyAmy Elsner NEGOTIATION
Francesco B ShinkoSpainOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois B CaldareraAustraliaIvan Magalhaes NEW
Maria K CampainItalyBernardo Dominic QUALIFIED
Jeanfrancois H SchemmerArgentinaBernardo Dominic UNQUALIFIED
Jones N ButtGermanyAsiya Javayant NEGOTIATION
Maria F IturbideCanadaXuxue Feng PROPOSAL
Isabel J RoysterJapanIvan Magalhaes QUALIFIED
Cody O CaudyCanadaAnna Fali RENEWAL
Nicolas I FlosiGermanyIoni Bowcher NEW
Aditya X CampainFranceXuxue Feng NEGOTIATION
Emily U FollerIndiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio K SlusarskiUnited Kingdom2025-10-06Chanay, Jeffrey A Esq NEW40Asiya Javayant
1001Morrow N BologniaGermany2025-10-11Feltz Printing Service PROPOSAL87Ivan Magalhaes
1002Antonio M IturbideArgentina2025-09-16Morlong Associates PROPOSAL18Bernardo Dominic
1003Mujtaba E DoeItaly2025-09-30Printing Dimensions QUALIFIED22Asiya Javayant
1004Clifford N FollerCanada2025-10-02Truhlar And Truhlar Attys NEGOTIATION71Ioni Bowcher
1005Aditya G TollnerSpain2025-09-23Chanay, Jeffrey A Esq PROPOSAL60Xuxue Feng
1006Maisha X RimIndia2025-10-11Chapman, Ross E Esq NEW97Amy Elsner
1007Aruna C SchemmerJapan2025-09-23Feltz Printing Service PROPOSAL20Ioni Bowcher
1008Nicolas B StockhamJapan2025-09-20Dorl, James J Esq PROPOSAL85Onyama Limba
1009Ivar H VenereFrance2025-09-29Feltz Printing Service QUALIFIED62Stephen Shaw
1010Kadeem X OldroydUnited Kingdom2025-09-24Chanay, Jeffrey A Esq NEGOTIATION96Ivan Magalhaes
1011Cody Q InouyeIndia2025-09-25Chapman, Ross E Esq PROPOSAL91Amy Elsner
1012Chavez Z MaletIndia2025-10-01Rousseaux, Michael Esq NEGOTIATION37Ioni Bowcher
1013Stacey C VenereCanada2025-09-20Commercial Press QUALIFIED6Ioni Bowcher
1014Smith D PerinGermany2025-10-03Chapman, Ross E Esq QUALIFIED72Xuxue Feng
1015David R BriddickArgentina2025-09-25Chapman, Ross E Esq NEGOTIATION87Xuxue Feng
1016Smith Y MacleadBrazil2025-09-23Morlong Associates PROPOSAL95Bernardo Dominic
1017Deepesh L TollnerSpain2025-09-19Dorl, James J Esq UNQUALIFIED17Asiya Javayant
1018Greenwood D FlosiArgentina2025-10-09Benton, John B Jr QUALIFIED19Bernardo Dominic
1019Salvatore N WhobreyRussia2025-09-19King, Christopher A Esq RENEWAL81Onyama Limba
1020Salvatore T StensethAustralia2025-09-17Feltz Printing Service NEW99Bernardo Dominic
1021Ivar X GarufiGermany2025-09-23Buckley Miller Wright NEW7Stephen Shaw
1022Antonio M BriddickUnited Kingdom2025-09-17King, Christopher A Esq QUALIFIED74Bernardo Dominic
1023Adams T PaprockiArgentina2025-10-05Chapman, Ross E Esq PROPOSAL12Amy Elsner
1024Izzy T WieserFrance2025-09-19Morlong Associates RENEWAL72Asiya Javayant
1025Alejandro R KolmetzCanada2025-09-16Printing Dimensions NEW88Ivan Magalhaes
1026Morrow H KolmetzItaly2025-09-26Buckley Miller Wright UNQUALIFIED73Anna Fali
1027Kadeem F MaletRussia2025-10-03Rangoni Of Florence NEW21Elwin Sharvill
1028Aditya E AlbaresIndia2025-09-16Commercial Press QUALIFIED0Stephen Shaw
1029Aditya R DilliardFrance2025-09-14Chanay, Jeffrey A Esq PROPOSAL15Ivan Magalhaes
1030Maria K SlusarskiFrance2025-10-11Chanay, Jeffrey A Esq RENEWAL9Stephen Shaw
1031Izzy J FollerJapan2025-10-10Truhlar And Truhlar Attys UNQUALIFIED49Onyama Limba
1032Clifford P RimUnited Kingdom2025-10-08Truhlar And Truhlar Attys NEW62Asiya Javayant
1033Faith L BologniaIndia2025-10-01Chapman, Ross E Esq RENEWAL37Ivan Magalhaes
1034Francesco W RimIndia2025-10-12Dorl, James J Esq PROPOSAL96Asiya Javayant
1035Munro O ChuiRussia2025-10-12Feiner Bros NEW62Ioni Bowcher
1036Mujtaba R MaletRussia2025-09-28Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1037Maria K RutaArgentina2025-09-24Feiner Bros PROPOSAL63Bernardo Dominic
1038Adams B WaycottAustralia2025-10-08Printing Dimensions RENEWAL65Xuxue Feng
1039Clifford P MacleadJapan2025-09-21Truhlar And Truhlar Attys PROPOSAL52Bernardo Dominic
1040Maisha M RoysterSpain2025-09-20Feltz Printing Service QUALIFIED60Stephen Shaw
1041Ashley B FerenczUnited Kingdom2025-09-22Printing Dimensions RENEWAL0Stephen Shaw
1042Chavez K SaylorsRussia2025-09-21Truhlar And Truhlar Attys QUALIFIED94Stephen Shaw
1043Aruna H GlickFrance2025-09-25Rangoni Of Florence NEW35Stephen Shaw
1044Murillo H NestleGermany2025-10-12Chapman, Ross E Esq NEW78Onyama Limba
1045Francesco E IturbideFrance2025-09-30Rangoni Of Florence PROPOSAL99Xuxue Feng
1046Munro M OldroydCanada2025-10-10Benton, John B Jr NEW3Asiya Javayant
1047Adams D DoeUnited Kingdom2025-09-25Dorl, James J Esq PROPOSAL54Xuxue Feng
1048Arvin H FigeroaFrance2025-09-22Truhlar And Truhlar Attys NEGOTIATION36Asiya Javayant
1049Cody U DilliardIndia2025-09-27Chemel, James L Cpa NEGOTIATION42Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Q SergiAustraliaElwin Sharvill UNQUALIFIED
Johnson L VenereArgentinaIvan Magalhaes NEW
Tony C AmigonIndiaAnna Fali PROPOSAL
James W PerinArgentinaIvan Magalhaes RENEWAL
Morrow H VenereArgentinaAsiya Javayant PROPOSAL
Nicolas Y BologniaJapanElwin Sharvill NEW
Chavez T PerinArgentinaAnna Fali NEW
Leon Z PoquetteJapanElwin Sharvill UNQUALIFIED
Costa E KolmetzFranceAnna Fali NEGOTIATION
Silvio H PerinIndiaStephen Shaw RENEWAL
Maisha G RoysterJapanXuxue Feng PROPOSAL
James Z MaletFranceElwin Sharvill RENEWAL
Tony X FlosiRussiaXuxue Feng PROPOSAL
Ashley J MaletJapanOnyama Limba RENEWAL
Leja I MorascaFranceAsiya Javayant UNQUALIFIED
Mujtaba S VocelkaJapanAmy Elsner NEW
Smith K GauchoSpainAnna Fali QUALIFIED
Jeanfrancois F BologniaGermanyIvan Magalhaes UNQUALIFIED
Ivar T OldroydBrazilIoni Bowcher UNQUALIFIED
Clifford T VenereItalyOnyama Limba RENEWAL
Leja D TollnerFranceElwin Sharvill RENEWAL
Mayumi Z BowleyRussiaAsiya Javayant UNQUALIFIED
Darci T CaldareraArgentinaBernardo Dominic PROPOSAL
Jeanfrancois U AmigonSpainIoni Bowcher UNQUALIFIED
Leja P IturbideItalyAnna Fali NEW
Stacey H NestleJapanBernardo Dominic NEGOTIATION
Misaki H FigeroaBrazilStephen Shaw QUALIFIED
Julie J NestleSpainIoni Bowcher NEW
Jefferson V WhobreyCanadaAmy Elsner NEW
Kaitlin Q FerenczArgentinaIvan Magalhaes PROPOSAL
Sinclair G SaylorsCanadaOnyama Limba NEGOTIATION
Wickens L StensethBrazilElwin Sharvill QUALIFIED
Nicolas O FlosiIndiaAsiya Javayant NEW
Jefferson N GauchoIndiaAmy Elsner NEW
Ashley U ChuiJapanBernardo Dominic NEGOTIATION
Maria H BriddickCanadaAsiya Javayant QUALIFIED
Tony I CampainCanadaElwin Sharvill NEW
Jefferson Q FlosiUnited KingdomIvan Magalhaes QUALIFIED
Nicolas I GauchoJapanAmy Elsner RENEWAL
Alejandro G SaylorsGermanyIvan Magalhaes QUALIFIED
Juan M RimJapanXuxue Feng RENEWAL
Alejandro R NickaArgentinaAsiya Javayant QUALIFIED
Jeanfrancois Q RimJapanBernardo Dominic PROPOSAL
Rodrigues U FerenczGermanyOnyama Limba PROPOSAL
Rodrigues B BologniaArgentinaStephen Shaw PROPOSAL
Octavia G GlickCanadaIoni Bowcher NEW
Claire E FlosiCanadaAsiya Javayant UNQUALIFIED
Claire O PerinItalyAmy Elsner RENEWAL
Stacey J PaprockiJapanAsiya Javayant NEW
Salvatore D StockhamItalyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Cody M Kusko
Johnson Y Rulapaugh
Ivar K Stenseth
David P Flosi
Maisha W Bolognia
Greenwood G Saylors
Emily D Ruta
Jennifer X Stockham
Deepesh A Gillian
Misaki B Rim
Alejandro T Chui
Chavez Q Nestle
Stacey Q Campain
Costa F Briddick
Kadeem I Morasca
Isabel N Rulapaugh
Leja S Tollner
Wickens G Venere
Nicolas Z Venere
Ricardo S Chui
Alejandro B Doe
Sinclair Q Amigon
Mujtaba Y Poquette
Morrow Z Slusarski
Chavez R Tollner
Alejandro J Paprocki
Izzy H Venere
Deepesh D Wieser
Ricardo Y Iturbide
Sinclair I Maclead
Sinclair H Amigon
Faith X Stockham
Juan B Nestle
Faith E Dilliard
Julie W Morasca
Ashley A Caudy
Jennifer H Flosi
Aruna Y Rim
Octavia H Maclead
James V Nestle
Aika R Schemmer
Wickens I Ferencz
Leja U Bolognia
Murillo E Tollner
Francesco T Stenseth
Jennifer X Caudy
Antonio J Nicka
Chavez Q Poquette
Nicolas H Morasca
Mujtaba T Inouye
IdCountryDate
1000United Kingdom2025-09-24
1001United Kingdom2025-10-10
1002Italy2025-09-17
1003Australia2025-09-18
1004United Kingdom2025-10-04
1005Argentina2025-10-08
1006Canada2025-09-26
1007Spain2025-09-16
1008Argentina2025-10-12
1009France2025-10-03
1010Japan2025-10-02
1011Canada2025-10-10
1012Argentina2025-09-18
1013Russia2025-10-07
1014Brazil2025-10-08
1015Germany2025-09-25
1016Brazil2025-10-10
1017France2025-09-15
1018Spain2025-09-14
1019Germany2025-09-22
1020Japan2025-09-19
1021Argentina2025-09-22
1022Italy2025-09-20
1023Italy2025-10-08
1024Germany2025-09-14
1025Japan2025-10-08
1026Italy2025-09-24
1027India2025-09-18
1028Germany2025-09-13
1029Brazil2025-09-27
1030Russia2025-10-09
1031Japan2025-10-01
1032France2025-09-18
1033France2025-09-23
1034Australia2025-09-14
1035Spain2025-10-07
1036United Kingdom2025-10-05
1037Germany2025-09-15
1038Japan2025-09-13
1039Italy2025-10-06
1040Canada2025-09-15
1041Canada2025-10-12
1042France2025-10-03
1043Australia2025-10-08
1044Japan2025-09-26
1045Italy2025-09-27
1046Argentina2025-09-26
1047India2025-10-07
1048Germany2025-09-19
1049France2025-10-12

On-Demand Data

NameIdCountryDate
Jones T Malet1000Argentina2025-09-18
Octavia D Stenseth1001Russia2025-09-25
Aika U Dilliard1002India2025-10-02
Silvio V Inouye1003Spain2025-09-15
Rodrigues T Tollner1004United Kingdom2025-09-30
Juan B Butt1005Spain2025-10-03
Wickens U Ferencz1006Germany2025-10-05
Murillo I Darakjy1007France2025-09-24
David F Tollner1008Australia2025-10-10
Arvin D Waycott1009Germany2025-09-21
Ashley Z Malet1010Italy2025-09-27
Jones H Stockham1011United Kingdom2025-10-07
Aditya G Waycott1012Brazil2025-10-05
Isabel I Vocelka1013Australia2025-09-18
Munro X Tollner1014France2025-09-15
Francesco Y Nicka1015Italy2025-09-25
Arvin D Caudy1016India2025-09-16
Kaitlin G Stenseth1017France2025-10-10
Isabel L Figeroa1018Australia2025-09-29
Nicolas D Chui1019India2025-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David A GauchoGermanyBernardo Dominic QUALIFIED
Antonio G SergiUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem Y StockhamItalyAnna Fali PROPOSAL
Ivar V DoeAustraliaStephen Shaw NEW
Munro H RulapaughBrazilElwin Sharvill NEW
Johnson L KuskoJapanBernardo Dominic RENEWAL
Adams G CaldareraIndiaBernardo Dominic RENEWAL
Antonio G AlbaresItalyAmy Elsner PROPOSAL
Mujtaba L FlosiUnited KingdomIvan Magalhaes PROPOSAL
Silvio V GauchoItalyAsiya Javayant UNQUALIFIED
Salvatore Z ShinkoRussiaAsiya Javayant PROPOSAL
Greenwood N PerinSpainOnyama Limba NEGOTIATION
James Z MaletArgentinaAnna Fali NEGOTIATION
Aika A SaylorsUnited KingdomBernardo Dominic PROPOSAL
Kaitlin N NestleBrazilXuxue Feng QUALIFIED
Leja N FigeroaFranceAmy Elsner RENEWAL
Claire Z DoeIndiaIvan Magalhaes RENEWAL
Jeanfrancois O RoysterSpainIvan Magalhaes UNQUALIFIED
Maisha B MacleadFranceIoni Bowcher QUALIFIED
Aditya Y IturbideSpainAnna Fali QUALIFIED
Kadeem H FerenczAustraliaIvan Magalhaes NEGOTIATION
Claire I VenereJapanAnna Fali PROPOSAL
Leon R FollerFranceStephen Shaw QUALIFIED
Leon Q GlickArgentinaIvan Magalhaes UNQUALIFIED
Antonio N WieserItalyIoni Bowcher RENEWAL
Aruna T RulapaughBrazilBernardo Dominic UNQUALIFIED
Juan O SlusarskiJapanElwin Sharvill NEGOTIATION
Jefferson D WaycottUnited KingdomElwin Sharvill NEW
Morrow R FigeroaUnited KingdomAnna Fali NEW
Salvatore I PoquetteIndiaIoni Bowcher RENEWAL
Kaitlin F DarakjyBrazilBernardo Dominic QUALIFIED
Mujtaba A AmigonArgentinaStephen Shaw UNQUALIFIED
Jefferson M MaletUnited KingdomIvan Magalhaes PROPOSAL
Aruna R SlusarskiArgentinaAnna Fali UNQUALIFIED
Greenwood Z VocelkaBrazilStephen Shaw UNQUALIFIED
Arvin A VocelkaGermanyOnyama Limba UNQUALIFIED
Antonio Z GarufiJapanAsiya Javayant UNQUALIFIED
Francesco U FollerCanadaIoni Bowcher PROPOSAL
Deepesh M StensethGermanyOnyama Limba RENEWAL
Kadeem Z CampainArgentinaAmy Elsner 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>