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 L BologniaItalyAnna Fali NEW
Misaki V PerinRussiaBernardo Dominic NEGOTIATION
Kaitlin V VenereCanadaAsiya Javayant QUALIFIED
Juan P VenereJapanAmy Elsner RENEWAL
Maria R AlbaresFranceXuxue Feng QUALIFIED
Silvio V MaletBrazilBernardo Dominic UNQUALIFIED
Misaki V GlickSpainStephen Shaw UNQUALIFIED
Cody Z PoquetteFranceAnna Fali PROPOSAL
Morrow C GauchoBrazilStephen Shaw QUALIFIED
Munro A MorascaCanadaStephen Shaw RENEWAL
Wickens M PerinUnited KingdomIvan Magalhaes PROPOSAL
David X OldroydItalyOnyama Limba QUALIFIED
Kaitlin V ButtIndiaAsiya Javayant RENEWAL
Jefferson Y FollerUnited KingdomIoni Bowcher PROPOSAL
Stacey A MarrierBrazilAsiya Javayant PROPOSAL
Rodrigues K StockhamAustraliaStephen Shaw PROPOSAL
Tony K NestleIndiaXuxue Feng PROPOSAL
Francesco V GarufiArgentinaBernardo Dominic UNQUALIFIED
Mayumi H IturbideUnited KingdomOnyama Limba PROPOSAL
Alejandro X RulapaughRussiaIvan Magalhaes NEGOTIATION
Maria C KuskoFranceAmy Elsner PROPOSAL
Costa G GlickBrazilIvan Magalhaes NEW
Murillo Z MarrierBrazilIvan Magalhaes NEW
Aditya T MacleadItalyIoni Bowcher NEW
Jones P KuskoFranceAsiya Javayant PROPOSAL
James A FollerCanadaAmy Elsner NEGOTIATION
Chavez P PerinCanadaIvan Magalhaes RENEWAL
Nicolas K VenereCanadaIoni Bowcher UNQUALIFIED
Kadeem Z MaletCanadaAnna Fali UNQUALIFIED
Francesco Z FerenczUnited KingdomAmy Elsner NEW
Aditya G CampainJapanXuxue Feng UNQUALIFIED
Maisha E MaletIndiaElwin Sharvill QUALIFIED
Ivar T MacleadItalyAmy Elsner UNQUALIFIED
Octavia A FollerJapanIvan Magalhaes PROPOSAL
Isabel Q RimSpainAmy Elsner NEGOTIATION
Antonio M RutaIndiaAsiya Javayant NEGOTIATION
Murillo T MorascaRussiaXuxue Feng PROPOSAL
James E PoquetteAustraliaAnna Fali UNQUALIFIED
Darci W SchemmerGermanyElwin Sharvill QUALIFIED
Costa H StensethUnited KingdomAmy Elsner NEGOTIATION
Sinclair M NestleSpainIvan Magalhaes QUALIFIED
Kaitlin F MarrierSpainElwin Sharvill NEW
Deepesh B AlbaresJapanElwin Sharvill UNQUALIFIED
Kaitlin U KolmetzCanadaAsiya Javayant RENEWAL
Johnson Z MorascaIndiaAnna Fali UNQUALIFIED
Clifford E DarakjyBrazilIvan Magalhaes UNQUALIFIED
James V NestleFranceOnyama Limba UNQUALIFIED
Rodrigues H GillianSpainXuxue Feng PROPOSAL
Leja J IturbideIndiaXuxue Feng PROPOSAL
Aditya W FerenczItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja Z SergiSpainIvan Magalhaes RENEWAL
Costa N CaldareraCanadaStephen Shaw NEW
Morrow K ButtRussiaAnna Fali PROPOSAL
Smith N MarrierAustraliaOnyama Limba QUALIFIED
Jeanfrancois V NestleBrazilOnyama Limba NEGOTIATION
Smith H SchemmerGermanyElwin Sharvill RENEWAL
Octavia L GauchoJapanXuxue Feng QUALIFIED
Claire R PaprockiSpainAnna Fali RENEWAL
Juan S MorascaJapanStephen Shaw PROPOSAL
Deepesh Q GlickJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire C ShinkoUnited Kingdom2025-08-05Rousseaux, Michael Esq PROPOSAL57Asiya Javayant
1001Aruna I StensethIndia2025-08-28Chapman, Ross E Esq QUALIFIED96Amy Elsner
1002Francesco A NestleIndia2025-08-28Buckley Miller Wright NEGOTIATION76Onyama Limba
1003Alejandro L ButtItaly2025-08-09Morlong Associates QUALIFIED57Xuxue Feng
1004Cody I GillianRussia2025-08-27Chanay, Jeffrey A Esq NEGOTIATION57Asiya Javayant
1005Tony S CampainIndia2025-08-11Chapman, Ross E Esq NEW10Ioni Bowcher
1006Kadeem C GlickFrance2025-08-14Rousseaux, Michael Esq UNQUALIFIED6Ivan Magalhaes
1007Aika C DoeArgentina2025-07-30Chapman, Ross E Esq QUALIFIED29Ioni Bowcher
1008Tony V VenereSpain2025-08-24Rousseaux, Michael Esq NEGOTIATION6Stephen Shaw
1009Leja U RulapaughRussia2025-08-24Feltz Printing Service NEW6Ioni Bowcher
1010Isabel O FollerGermany2025-08-03Chapman, Ross E Esq UNQUALIFIED66Ivan Magalhaes
1011David I MaletJapan2025-08-21Dorl, James J Esq RENEWAL38Ioni Bowcher
1012Chavez A FlosiUnited Kingdom2025-08-23Chanay, Jeffrey A Esq UNQUALIFIED35Anna Fali
1013Ashley V StensethUnited Kingdom2025-08-17Rousseaux, Michael Esq QUALIFIED2Ioni Bowcher
1014David I SergiFrance2025-08-10Chapman, Ross E Esq RENEWAL67Xuxue Feng
1015Mayumi M MacleadCanada2025-08-25King, Christopher A Esq NEW22Asiya Javayant
1016Leon Q FlosiBrazil2025-08-14King, Christopher A Esq RENEWAL70Ivan Magalhaes
1017Sinclair I StockhamGermany2025-08-16Feiner Bros NEW97Ioni Bowcher
1018Ashley D NestleFrance2025-08-24Dorl, James J Esq PROPOSAL75Bernardo Dominic
1019Claire U OstroskyJapan2025-08-25Benton, John B Jr NEW84Stephen Shaw
1020Octavia R OldroydJapan2025-08-23Rangoni Of Florence QUALIFIED59Bernardo Dominic
1021James M FlosiFrance2025-08-23Commercial Press NEGOTIATION46Stephen Shaw
1022Costa M SchemmerRussia2025-08-05Commercial Press QUALIFIED3Stephen Shaw
1023Nicolas V RulapaughIndia2025-08-06Truhlar And Truhlar Attys QUALIFIED39Amy Elsner
1024Arvin K BologniaRussia2025-08-01Printing Dimensions NEGOTIATION83Xuxue Feng
1025Murillo T OldroydItaly2025-08-28Buckley Miller Wright NEW82Xuxue Feng
1026Wickens E VocelkaIndia2025-08-15Morlong Associates PROPOSAL36Elwin Sharvill
1027Johnson F VenereFrance2025-08-16Chanay, Jeffrey A Esq RENEWAL58Amy Elsner
1028Silvio A ButtUnited Kingdom2025-08-21Benton, John B Jr UNQUALIFIED63Elwin Sharvill
1029Aruna R DarakjyFrance2025-07-31Rousseaux, Michael Esq QUALIFIED80Ivan Magalhaes
1030Tony P PoquetteGermany2025-08-17Truhlar And Truhlar Attys RENEWAL98Ioni Bowcher
1031Jennifer B AmigonUnited Kingdom2025-08-15Chemel, James L Cpa UNQUALIFIED53Onyama Limba
1032Mayumi I ChuiArgentina2025-08-27Truhlar And Truhlar Attys NEW97Xuxue Feng
1033Octavia A GlickBrazil2025-08-21Feiner Bros RENEWAL46Stephen Shaw
1034Aditya X BologniaBrazil2025-08-23Printing Dimensions UNQUALIFIED7Onyama Limba
1035Sinclair R RutaGermany2025-08-01Truhlar And Truhlar Attys NEGOTIATION5Ioni Bowcher
1036Maria W PaprockiFrance2025-08-17Chapman, Ross E Esq NEGOTIATION70Ioni Bowcher
1037Misaki R RoysterFrance2025-08-10Rousseaux, Michael Esq NEW33Xuxue Feng
1038Claire Z MarrierArgentina2025-08-24King, Christopher A Esq QUALIFIED4Asiya Javayant
1039Silvio D DarakjyIndia2025-08-18Chanay, Jeffrey A Esq QUALIFIED16Xuxue Feng
1040Stacey S GlickJapan2025-08-15Morlong Associates QUALIFIED86Bernardo Dominic
1041Sinclair J WieserSpain2025-08-15Feltz Printing Service UNQUALIFIED58Stephen Shaw
1042Emily Q RimJapan2025-08-02Chapman, Ross E Esq UNQUALIFIED9Anna Fali
1043Ricardo G ButtItaly2025-08-09Feltz Printing Service RENEWAL53Anna Fali
1044Arvin C MarrierUnited Kingdom2025-08-03Rangoni Of Florence PROPOSAL10Stephen Shaw
1045Faith O FollerIndia2025-08-27Chanay, Jeffrey A Esq PROPOSAL30Xuxue Feng
1046Faith O ShinkoJapan2025-08-10Feiner Bros QUALIFIED35Ivan Magalhaes
1047Jones R MaletJapan2025-08-06Benton, John B Jr UNQUALIFIED71Anna Fali
1048Munro F PaprockiArgentina2025-08-24Chapman, Ross E Esq UNQUALIFIED11Asiya Javayant
1049Smith I AlbaresGermany2025-08-13Chapman, Ross E Esq RENEWAL15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Johnson V DarakjyArgentinaXuxue Feng PROPOSAL
Cody K FigeroaCanadaXuxue Feng QUALIFIED
Francesco F FerenczIndiaIoni Bowcher QUALIFIED
Maria M GlickFranceAmy Elsner UNQUALIFIED
Jones I MaletUnited KingdomXuxue Feng QUALIFIED
Ashley K RutaRussiaBernardo Dominic QUALIFIED
Greenwood F AlbaresFranceStephen Shaw UNQUALIFIED
Arvin V OstroskySpainAnna Fali PROPOSAL
Misaki Y StensethCanadaStephen Shaw PROPOSAL
Mujtaba O MarrierGermanyElwin Sharvill NEGOTIATION
Tony I BologniaBrazilAmy Elsner RENEWAL
Smith I WaycottCanadaBernardo Dominic NEW
Antonio S FollerArgentinaIoni Bowcher UNQUALIFIED
Maria R GlickRussiaElwin Sharvill RENEWAL
Jennifer K BowleyItalyStephen Shaw RENEWAL
Maisha D PaprockiRussiaElwin Sharvill UNQUALIFIED
Antonio X StockhamAustraliaAsiya Javayant UNQUALIFIED
Greenwood I RimRussiaElwin Sharvill NEGOTIATION
Maria Y DarakjyBrazilIvan Magalhaes RENEWAL
Jennifer M MaletRussiaXuxue Feng PROPOSAL
Jones P InouyeCanadaAnna Fali QUALIFIED
Aruna N SergiCanadaAmy Elsner QUALIFIED
Darci M PoquetteCanadaBernardo Dominic NEW
Silvio P AlbaresIndiaBernardo Dominic NEW
Greenwood N SchemmerIndiaAnna Fali RENEWAL
Nicolas S DilliardItalyStephen Shaw RENEWAL
Costa J RutaCanadaIvan Magalhaes QUALIFIED
Emily Q StensethRussiaAmy Elsner PROPOSAL
Ricardo H RimSpainIvan Magalhaes NEW
Stacey B RutaFranceIvan Magalhaes NEW
James S FerenczCanadaAmy Elsner RENEWAL
Alejandro Y ShinkoBrazilIvan Magalhaes NEGOTIATION
Ashley S SergiItalyStephen Shaw QUALIFIED
Juan X DoeJapanOnyama Limba NEGOTIATION
Greenwood M FlosiSpainElwin Sharvill QUALIFIED
Silvio U ButtGermanyAnna Fali UNQUALIFIED
Maria X AmigonBrazilBernardo Dominic RENEWAL
Jefferson Z OldroydCanadaIvan Magalhaes NEW
Johnson L FerenczArgentinaIvan Magalhaes NEW
Salvatore H SergiItalyStephen Shaw NEGOTIATION
Misaki D DilliardCanadaAsiya Javayant RENEWAL
Murillo S KuskoBrazilElwin Sharvill QUALIFIED
Jefferson X FerenczArgentinaAmy Elsner PROPOSAL
Salvatore Z ButtGermanyIoni Bowcher RENEWAL
Greenwood C GauchoFranceIvan Magalhaes NEW
Aditya D ShinkoBrazilStephen Shaw PROPOSAL
Mujtaba W OldroydAustraliaBernardo Dominic RENEWAL
Isabel O ChuiArgentinaOnyama Limba UNQUALIFIED
Maria V RimFranceIoni Bowcher NEGOTIATION
Julie S DoeGermanyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Ivar K Bolognia
Misaki N Poquette
Maisha B Venere
Chavez G Whobrey
Izzy U Perin
Smith E Chui
Darci Y Glick
Izzy N Whobrey
Leon J Amigon
Cody B Rim
Aika U Inouye
Isabel D Figeroa
Clifford X Royster
Faith I Whobrey
Jones N Shinko
Jeanfrancois W Flosi
Jeanfrancois N Kusko
Munro M Wieser
Costa L Waycott
Isabel E Albares
Johnson B Maclead
Ashley D Royster
Rodrigues N Chui
Smith U Albares
Claire W Paprocki
Mayumi V Wieser
Francesco D Rim
Ricardo E Amigon
Mayumi I Nestle
Ashley W Flosi
Greenwood M Perin
Arvin D Oldroyd
Johnson X Campain
Aika O Venere
Aruna O Doe
Jefferson T Gillian
Jefferson V Morasca
Leon X Slusarski
Alejandro P Flosi
Darci W Albares
Antonio T Malet
Maisha D Malet
Maisha O Ferencz
Nicolas Z Malet
Costa Z Stenseth
Smith M Flosi
Costa P Dilliard
Clifford H Doe
Chavez J Nicka
Cody U Kusko
IdCountryDate
1000India2025-08-10
1001Italy2025-08-26
1002Russia2025-07-30
1003Australia2025-08-26
1004Japan2025-08-28
1005Brazil2025-07-30
1006Brazil2025-08-27
1007India2025-08-12
1008Germany2025-08-05
1009France2025-08-20
1010Germany2025-08-23
1011Germany2025-08-22
1012Spain2025-08-28
1013Argentina2025-08-18
1014Italy2025-08-12
1015Germany2025-08-15
1016Italy2025-08-20
1017Japan2025-07-31
1018Germany2025-08-04
1019Italy2025-08-21
1020Canada2025-08-23
1021Argentina2025-08-20
1022Italy2025-08-24
1023Spain2025-08-05
1024India2025-08-21
1025Canada2025-08-09
1026Brazil2025-07-31
1027Japan2025-08-28
1028United Kingdom2025-08-13
1029Canada2025-08-01
1030France2025-08-03
1031United Kingdom2025-08-15
1032United Kingdom2025-08-01
1033Australia2025-08-01
1034India2025-08-24
1035Australia2025-08-01
1036Brazil2025-08-05
1037Canada2025-08-06
1038United Kingdom2025-07-31
1039France2025-08-22
1040United Kingdom2025-08-14
1041India2025-08-03
1042United Kingdom2025-08-25
1043Brazil2025-08-08
1044Italy2025-08-05
1045Australia2025-08-02
1046India2025-08-21
1047Japan2025-08-26
1048Canada2025-08-17
1049Argentina2025-08-09

On-Demand Data

NameIdCountryDate
Jones H Slusarski1000Australia2025-08-14
Arvin Q Gillian1001United Kingdom2025-07-31
Rodrigues G Ostrosky1002Argentina2025-08-05
Maisha B Malet1003Canada2025-08-19
Leon W Shinko1004Italy2025-08-03
Isabel X Vocelka1005Australia2025-07-31
Jones H Iturbide1006Japan2025-08-08
Arvin P Campain1007Canada2025-08-04
Misaki X Vocelka1008Russia2025-08-06
Munro X Doe1009India2025-08-02
Clifford H Darakjy1010France2025-08-03
David P Venere1011Spain2025-08-04
Murillo B Chui1012Argentina2025-08-23
Nicolas Y Marrier1013Japan2025-08-21
James H Amigon1014Argentina2025-08-26
Munro W Paprocki1015Japan2025-08-14
Juan D Campain1016Japan2025-08-13
Kadeem J Stockham1017Italy2025-08-08
Antonio C Poquette1018Russia2025-08-25
Greenwood R Briddick1019France2025-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci O NestleCanadaStephen Shaw QUALIFIED
Isabel K OstroskyIndiaElwin Sharvill UNQUALIFIED
Antonio X VocelkaArgentinaXuxue Feng UNQUALIFIED
Munro K FollerGermanyOnyama Limba PROPOSAL
Kadeem O MacleadSpainOnyama Limba PROPOSAL
Jefferson X IturbideFranceIvan Magalhaes NEW
Jeanfrancois G DarakjyArgentinaAnna Fali NEGOTIATION
Leon X FerenczFranceStephen Shaw RENEWAL
Julie D PerinJapanAsiya Javayant PROPOSAL
Nicolas U BowleyItalyOnyama Limba PROPOSAL
Aruna E FlosiCanadaAsiya Javayant NEW
David D NestleCanadaIvan Magalhaes NEGOTIATION
Izzy H MaletRussiaIvan Magalhaes RENEWAL
Jennifer W SchemmerJapanAnna Fali RENEWAL
Nicolas A WaycottSpainAsiya Javayant NEGOTIATION
Antonio Z RoysterRussiaXuxue Feng UNQUALIFIED
Jones R VenereUnited KingdomIoni Bowcher NEW
Ivar T PaprockiArgentinaOnyama Limba UNQUALIFIED
David V SlusarskiRussiaBernardo Dominic NEGOTIATION
Francesco J GarufiCanadaStephen Shaw QUALIFIED
Silvio I MarrierGermanyOnyama Limba UNQUALIFIED
Alejandro O PerinCanadaIvan Magalhaes QUALIFIED
Chavez E CaldareraItalyAmy Elsner PROPOSAL
Alejandro Z PaprockiRussiaElwin Sharvill RENEWAL
Jeanfrancois Y VocelkaItalyIvan Magalhaes QUALIFIED
Aruna V VenereCanadaElwin Sharvill PROPOSAL
Aika T PoquetteUnited KingdomAnna Fali UNQUALIFIED
Greenwood A RulapaughCanadaElwin Sharvill UNQUALIFIED
Deepesh N CaldareraIndiaAnna Fali NEW
Silvio C ButtUnited KingdomAsiya Javayant PROPOSAL
Tony Z GarufiSpainBernardo Dominic RENEWAL
Jefferson E BowleyItalyIvan Magalhaes PROPOSAL
Kaitlin G CampainRussiaXuxue Feng RENEWAL
Aditya A ShinkoAustraliaBernardo Dominic UNQUALIFIED
Leon Y CaudyBrazilStephen Shaw QUALIFIED
Jones G ButtCanadaStephen Shaw PROPOSAL
Jefferson C BriddickJapanIoni Bowcher NEGOTIATION
Clifford T ChuiGermanyBernardo Dominic UNQUALIFIED
James N MacleadIndiaXuxue Feng UNQUALIFIED
David H GarufiSpainIvan Magalhaes 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>