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
Jennifer P CaldareraCanadaAnna Fali RENEWAL
Nicolas B BriddickFranceElwin Sharvill QUALIFIED
Isabel G MaletFranceAnna Fali NEGOTIATION
Ricardo N RoysterUnited KingdomAnna Fali NEGOTIATION
Wickens S FollerBrazilAmy Elsner NEW
Clifford E ShinkoFranceElwin Sharvill QUALIFIED
Aditya B SergiJapanAsiya Javayant RENEWAL
Izzy G PoquetteCanadaAmy Elsner QUALIFIED
Jeanfrancois N ButtBrazilStephen Shaw UNQUALIFIED
Jefferson Y DoeGermanyBernardo Dominic UNQUALIFIED
Arvin J InouyeJapanBernardo Dominic NEGOTIATION
Rodrigues N FerenczUnited KingdomXuxue Feng NEW
Francesco D MarrierFranceAsiya Javayant NEGOTIATION
Stacey G IturbideJapanStephen Shaw PROPOSAL
Izzy Q OstroskyRussiaStephen Shaw QUALIFIED
Cody W PerinGermanyAsiya Javayant UNQUALIFIED
Deepesh J RulapaughSpainAmy Elsner QUALIFIED
Emily J FerenczIndiaAnna Fali RENEWAL
Alejandro G CampainFranceIoni Bowcher PROPOSAL
Smith N MarrierFranceIoni Bowcher NEGOTIATION
Stacey O OstroskyJapanAnna Fali NEW
Alejandro B FlosiBrazilElwin Sharvill NEGOTIATION
Arvin R NestleGermanyAsiya Javayant NEW
Darci J KolmetzRussiaStephen Shaw PROPOSAL
Sinclair M AmigonIndiaAnna Fali UNQUALIFIED
Adams N WaycottIndiaIoni Bowcher NEW
Aditya P OstroskyRussiaOnyama Limba NEGOTIATION
Darci D AlbaresArgentinaStephen Shaw NEW
Aditya D StockhamCanadaOnyama Limba QUALIFIED
Jefferson D WieserJapanOnyama Limba NEW
Sinclair N NestleAustraliaAnna Fali NEW
Smith H CampainItalyAsiya Javayant UNQUALIFIED
Ashley U OstroskyBrazilStephen Shaw UNQUALIFIED
Alejandro J RulapaughRussiaAmy Elsner RENEWAL
Tony N ButtAustraliaBernardo Dominic RENEWAL
Salvatore W GlickIndiaXuxue Feng PROPOSAL
Izzy Z NickaSpainAnna Fali QUALIFIED
Izzy R OldroydCanadaAsiya Javayant PROPOSAL
Maria Q CaudyJapanAmy Elsner UNQUALIFIED
James K DarakjyRussiaOnyama Limba QUALIFIED
Nicolas I MarrierCanadaOnyama Limba PROPOSAL
Jeanfrancois V NickaBrazilIoni Bowcher NEW
Jeanfrancois F OstroskyIndiaXuxue Feng PROPOSAL
Emily A NickaFranceBernardo Dominic UNQUALIFIED
Mujtaba D SaylorsBrazilElwin Sharvill NEGOTIATION
Misaki O ChuiFranceElwin Sharvill NEW
Alejandro F CampainCanadaXuxue Feng RENEWAL
Tony J BowleyCanadaOnyama Limba UNQUALIFIED
Rodrigues H SergiArgentinaStephen Shaw NEGOTIATION
Rodrigues E RutaCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan B VenereBrazilAmy Elsner UNQUALIFIED
Rodrigues F AlbaresCanadaBernardo Dominic UNQUALIFIED
Ashley F FollerUnited KingdomStephen Shaw NEGOTIATION
Ivar R MaletJapanIoni Bowcher RENEWAL
Chavez L MaletItalyAmy Elsner PROPOSAL
Antonio Q RulapaughCanadaOnyama Limba QUALIFIED
Aruna E WieserAustraliaXuxue Feng NEW
James M MacleadCanadaElwin Sharvill QUALIFIED
Johnson H InouyeCanadaIoni Bowcher RENEWAL
Aditya L FlosiCanadaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria W CampainItaly2025-07-15Benton, John B Jr UNQUALIFIED77Anna Fali
1001Deepesh N OldroydFrance2025-07-04Feiner Bros PROPOSAL12Onyama Limba
1002Munro C BologniaSpain2025-07-01Buckley Miller Wright RENEWAL71Elwin Sharvill
1003Greenwood N GarufiBrazil2025-07-15Chapman, Ross E Esq PROPOSAL2Amy Elsner
1004Smith V CaldareraUnited Kingdom2025-07-29Chemel, James L Cpa NEGOTIATION75Elwin Sharvill
1005Alejandro H AmigonUnited Kingdom2025-07-13Rousseaux, Michael Esq NEGOTIATION12Anna Fali
1006Johnson I KolmetzGermany2025-07-22Benton, John B Jr PROPOSAL47Stephen Shaw
1007Ricardo F GarufiGermany2025-07-26Feltz Printing Service RENEWAL29Asiya Javayant
1008Faith R WieserJapan2025-07-02Rousseaux, Michael Esq PROPOSAL75Asiya Javayant
1009Cody Q AlbaresCanada2025-07-11Morlong Associates NEGOTIATION5Amy Elsner
1010Jennifer P MaletSpain2025-06-30Benton, John B Jr NEGOTIATION60Onyama Limba
1011Jeanfrancois N FigeroaGermany2025-07-24King, Christopher A Esq NEW90Xuxue Feng
1012Ivar S StockhamSpain2025-07-29Chemel, James L Cpa UNQUALIFIED6Elwin Sharvill
1013Isabel C PaprockiIndia2025-07-14Commercial Press NEGOTIATION19Asiya Javayant
1014Tony Z WieserItaly2025-07-08Benton, John B Jr RENEWAL95Anna Fali
1015Isabel R FerenczCanada2025-07-29Truhlar And Truhlar Attys PROPOSAL74Anna Fali
1016Mujtaba F WieserBrazil2025-07-09Morlong Associates RENEWAL26Onyama Limba
1017Octavia S CampainCanada2025-07-07Chanay, Jeffrey A Esq QUALIFIED76Ioni Bowcher
1018Juan N RoysterJapan2025-07-17Morlong Associates UNQUALIFIED20Ioni Bowcher
1019Adams N MaletBrazil2025-07-12Chemel, James L Cpa NEGOTIATION98Elwin Sharvill
1020Octavia J StensethFrance2025-07-11Dorl, James J Esq QUALIFIED27Ivan Magalhaes
1021Ashley V StensethCanada2025-07-05Dorl, James J Esq PROPOSAL81Anna Fali
1022Izzy W FollerItaly2025-07-29Chapman, Ross E Esq NEGOTIATION48Ioni Bowcher
1023David P VocelkaSpain2025-07-28Truhlar And Truhlar Attys PROPOSAL40Elwin Sharvill
1024Mujtaba X ChuiAustralia2025-07-27Chanay, Jeffrey A Esq PROPOSAL67Amy Elsner
1025Jennifer A PerinGermany2025-07-15Rangoni Of Florence QUALIFIED82Asiya Javayant
1026Salvatore W BologniaCanada2025-07-22Morlong Associates NEW61Ivan Magalhaes
1027Jeanfrancois Z FerenczItaly2025-07-03Feltz Printing Service RENEWAL78Onyama Limba
1028Silvio P VocelkaGermany2025-07-05Commercial Press QUALIFIED8Anna Fali
1029Mayumi Y TollnerArgentina2025-07-02Chemel, James L Cpa NEW91Ivan Magalhaes
1030Jeanfrancois U BologniaCanada2025-07-02Dorl, James J Esq PROPOSAL83Asiya Javayant
1031Jefferson Q GarufiSpain2025-07-19Feiner Bros RENEWAL39Xuxue Feng
1032Greenwood Z CampainArgentina2025-07-01King, Christopher A Esq PROPOSAL92Bernardo Dominic
1033Jeanfrancois F InouyeCanada2025-07-02Chanay, Jeffrey A Esq RENEWAL77Anna Fali
1034Jones K StockhamUnited Kingdom2025-07-05Morlong Associates PROPOSAL97Anna Fali
1035Aika J InouyeItaly2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED48Ioni Bowcher
1036Murillo P CampainGermany2025-07-26Chanay, Jeffrey A Esq QUALIFIED9Asiya Javayant
1037Adams S MorascaGermany2025-07-24Morlong Associates PROPOSAL47Xuxue Feng
1038Munro W MaletBrazil2025-07-23Chemel, James L Cpa NEW94Onyama Limba
1039Octavia L DoeAustralia2025-07-10Truhlar And Truhlar Attys UNQUALIFIED39Onyama Limba
1040Clifford X GauchoIndia2025-07-27Commercial Press QUALIFIED43Ioni Bowcher
1041Adams H CampainJapan2025-07-05Printing Dimensions UNQUALIFIED26Stephen Shaw
1042Greenwood U DilliardArgentina2025-07-05Chemel, James L Cpa NEGOTIATION23Bernardo Dominic
1043Aika P ButtIndia2025-07-03Printing Dimensions UNQUALIFIED16Amy Elsner
1044Jeanfrancois P PoquetteSpain2025-07-14Commercial Press PROPOSAL86Amy Elsner
1045James A CaudyRussia2025-07-10Chanay, Jeffrey A Esq RENEWAL77Amy Elsner
1046Tony S VocelkaSpain2025-07-08Rangoni Of Florence QUALIFIED84Xuxue Feng
1047Misaki F MaletJapan2025-07-09Morlong Associates NEGOTIATION37Anna Fali
1048Arvin N WhobreyCanada2025-07-05Chapman, Ross E Esq NEGOTIATION38Ivan Magalhaes
1049Sinclair A KuskoArgentina2025-07-18Feiner Bros QUALIFIED55Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith N DilliardItalyBernardo Dominic UNQUALIFIED
Izzy B BowleySpainAnna Fali UNQUALIFIED
David P MaletRussiaElwin Sharvill PROPOSAL
Greenwood M VenereUnited KingdomAnna Fali NEW
Cody Y BriddickFranceAsiya Javayant UNQUALIFIED
Isabel N SlusarskiCanadaStephen Shaw NEW
Kaitlin X VocelkaFranceAmy Elsner PROPOSAL
Johnson E SchemmerItalyAsiya Javayant RENEWAL
Jennifer S WieserFranceXuxue Feng UNQUALIFIED
Antonio U OldroydCanadaAnna Fali UNQUALIFIED
Darci Y GauchoCanadaOnyama Limba UNQUALIFIED
Mayumi E KolmetzIndiaIvan Magalhaes UNQUALIFIED
Cody M InouyeSpainElwin Sharvill UNQUALIFIED
Tony Y OldroydArgentinaIoni Bowcher UNQUALIFIED
Smith H RimSpainIoni Bowcher PROPOSAL
Ivar Y AlbaresIndiaStephen Shaw UNQUALIFIED
Cody W SchemmerItalyIvan Magalhaes NEGOTIATION
Arvin E StockhamSpainBernardo Dominic NEW
Smith C AlbaresSpainStephen Shaw PROPOSAL
Arvin U FerenczArgentinaAsiya Javayant RENEWAL
Cody J PoquetteSpainAsiya Javayant NEGOTIATION
Mayumi B CaudyBrazilXuxue Feng NEGOTIATION
Francesco C PaprockiCanadaStephen Shaw PROPOSAL
Jeanfrancois Z DilliardIndiaElwin Sharvill NEGOTIATION
Deepesh J OldroydArgentinaXuxue Feng NEW
Tony F GillianArgentinaAsiya Javayant NEW
Leon A InouyeCanadaElwin Sharvill RENEWAL
David T RutaGermanyAsiya Javayant PROPOSAL
Maria F BologniaFranceBernardo Dominic RENEWAL
Tony P MaletArgentinaBernardo Dominic NEGOTIATION
Francesco E GauchoItalyAnna Fali NEGOTIATION
Maria I FlosiRussiaIvan Magalhaes PROPOSAL
Maria L OldroydAustraliaAsiya Javayant PROPOSAL
Maria Y ButtAustraliaAmy Elsner NEGOTIATION
Clifford E ChuiUnited KingdomIvan Magalhaes QUALIFIED
Ashley A FlosiGermanyIvan Magalhaes NEGOTIATION
Aruna L FollerAustraliaIvan Magalhaes NEW
Claire J ShinkoCanadaAsiya Javayant NEGOTIATION
Rodrigues H BologniaJapanIoni Bowcher NEW
Clifford M AmigonArgentinaStephen Shaw RENEWAL
Silvio G VocelkaFranceIvan Magalhaes UNQUALIFIED
Munro P BologniaCanadaStephen Shaw NEW
Nicolas P StockhamIndiaOnyama Limba PROPOSAL
Ashley F BowleyUnited KingdomStephen Shaw PROPOSAL
Adams N KuskoFranceIvan Magalhaes UNQUALIFIED
Deepesh W NestleArgentinaAmy Elsner UNQUALIFIED
Tony M GauchoFranceElwin Sharvill PROPOSAL
Deepesh W DilliardIndiaElwin Sharvill PROPOSAL
Faith R GillianIndiaElwin Sharvill RENEWAL
Ashley G SaylorsUnited KingdomAsiya Javayant RENEWAL
Frozen Columns
Name
Aditya K Malet
Aditya H Marrier
Jones K Caldarera
Faith V Tollner
Jefferson C Ferencz
Jennifer X Stenseth
Wickens O Albares
Adams H Rulapaugh
Ivar R Kolmetz
Jones X Ostrosky
Clifford S Darakjy
Silvio E Foller
Isabel S Kusko
Faith L Figeroa
Mayumi B Darakjy
Salvatore V Paprocki
Ashley L Kolmetz
Smith T Flosi
Alejandro M Saylors
Jefferson S Venere
Ivar X Gillian
Faith N Ostrosky
Jefferson W Shinko
Leja E Rulapaugh
Kaitlin O Whobrey
Chavez Y Ruta
Kadeem J Saylors
Nicolas J Campain
Sinclair C Rulapaugh
Isabel L Briddick
Smith T Whobrey
Clifford N Waycott
Leon S Garufi
Clifford I Wieser
Faith G Butt
Ashley K Chui
Misaki R Maclead
Deepesh D Rim
James S Rulapaugh
Salvatore N Ruta
Tony Q Paprocki
Aika P Perin
Juan O Kusko
Kadeem W Amigon
Nicolas Z Ostrosky
Ricardo N Ruta
Costa V Gaucho
Aruna Q Poquette
Octavia O Morasca
Arvin C Venere
IdCountryDate
1000Australia2025-07-16
1001Argentina2025-07-09
1002United Kingdom2025-07-05
1003Germany2025-07-13
1004Japan2025-07-12
1005Brazil2025-07-17
1006Argentina2025-07-17
1007Russia2025-07-14
1008Italy2025-07-17
1009France2025-07-25
1010Canada2025-07-15
1011Italy2025-07-16
1012Germany2025-07-20
1013Brazil2025-07-07
1014Japan2025-07-17
1015Argentina2025-07-09
1016Australia2025-07-16
1017Canada2025-07-11
1018Canada2025-07-07
1019Brazil2025-07-03
1020Germany2025-07-07
1021India2025-07-13
1022Australia2025-07-28
1023Australia2025-07-25
1024Spain2025-07-17
1025Spain2025-07-23
1026United Kingdom2025-07-22
1027Australia2025-07-05
1028Argentina2025-07-21
1029Italy2025-07-20
1030Russia2025-07-19
1031Canada2025-07-07
1032India2025-07-29
1033Canada2025-07-11
1034France2025-07-14
1035United Kingdom2025-07-27
1036United Kingdom2025-07-04
1037Argentina2025-07-03
1038Australia2025-07-19
1039United Kingdom2025-07-29
1040Canada2025-07-10
1041Australia2025-07-13
1042Germany2025-07-23
1043Germany2025-07-24
1044Australia2025-07-01
1045Australia2025-07-16
1046Germany2025-07-27
1047United Kingdom2025-07-07
1048Germany2025-07-19
1049Germany2025-07-09

On-Demand Data

NameIdCountryDate
Octavia I Campain1000Russia2025-07-19
Smith G Nicka1001Italy2025-06-30
Mayumi C Doe1002Canada2025-07-19
Morrow N Foller1003Argentina2025-07-23
Johnson H Paprocki1004United Kingdom2025-07-28
Silvio L Briddick1005Brazil2025-07-15
Wickens E Waycott1006Japan2025-07-07
Clifford L Ostrosky1007Argentina2025-07-01
Jennifer C Ferencz1008Argentina2025-07-26
Clifford D Campain1009Australia2025-07-13
Chavez K Stenseth1010United Kingdom2025-07-04
Mayumi L Slusarski1011Brazil2025-07-29
Isabel X Foller1012Russia2025-07-15
Chavez A Royster1013Italy2025-07-06
David D Caldarera1014France2025-07-25
Nicolas O Bowley1015United Kingdom2025-07-18
Kaitlin M Stockham1016Spain2025-07-15
Kadeem V Caudy1017Argentina2025-07-13
Aruna R Figeroa1018India2025-07-09
Kaitlin X Morasca1019France2025-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia U StockhamUnited KingdomAsiya Javayant PROPOSAL
Johnson O DilliardGermanyAmy Elsner NEW
David P GlickAustraliaAsiya Javayant NEW
Cody N CampainCanadaAmy Elsner RENEWAL
Arvin I DilliardFranceIvan Magalhaes UNQUALIFIED
Stacey B RutaItalyIvan Magalhaes QUALIFIED
Misaki B GlickBrazilOnyama Limba PROPOSAL
David A ButtSpainStephen Shaw NEGOTIATION
Leon M FollerItalyElwin Sharvill RENEWAL
Maisha B WaycottArgentinaStephen Shaw UNQUALIFIED
Munro G GlickBrazilIvan Magalhaes RENEWAL
Aruna P OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Chavez A BriddickGermanyAsiya Javayant PROPOSAL
Deepesh R MarrierCanadaOnyama Limba NEW
Faith R SaylorsGermanyAnna Fali NEGOTIATION
Rodrigues S ButtBrazilAsiya Javayant PROPOSAL
Jones I NestleSpainIvan Magalhaes PROPOSAL
Izzy T SaylorsAustraliaStephen Shaw RENEWAL
Leja C PerinArgentinaAmy Elsner QUALIFIED
Mayumi Q SchemmerBrazilOnyama Limba UNQUALIFIED
Deepesh J GillianArgentinaElwin Sharvill NEW
Jones C FlosiArgentinaAsiya Javayant QUALIFIED
Sinclair T RoysterArgentinaXuxue Feng QUALIFIED
Murillo B MaletArgentinaXuxue Feng QUALIFIED
Julie I StockhamSpainStephen Shaw QUALIFIED
Francesco V OstroskyArgentinaAmy Elsner NEW
Kadeem L SchemmerIndiaAsiya Javayant NEW
Antonio D RutaSpainAsiya Javayant PROPOSAL
Octavia O IturbideRussiaStephen Shaw NEW
Julie X SergiAustraliaIoni Bowcher QUALIFIED
Mayumi Y ChuiRussiaStephen Shaw PROPOSAL
Morrow V DarakjyJapanOnyama Limba QUALIFIED
Jefferson L InouyeAustraliaOnyama Limba RENEWAL
Wickens H MarrierArgentinaStephen Shaw RENEWAL
Darci C FlosiAustraliaElwin Sharvill RENEWAL
Faith S WieserJapanBernardo Dominic PROPOSAL
Costa P DilliardRussiaAnna Fali RENEWAL
Jones O FollerGermanyAnna Fali NEGOTIATION
Ivar G KolmetzCanadaAmy Elsner QUALIFIED
James H TollnerAustraliaIoni Bowcher 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>