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
Deepesh W FerenczAustraliaElwin Sharvill NEGOTIATION
Tony J RutaSpainElwin Sharvill RENEWAL
Nicolas A SergiFranceElwin Sharvill NEW
Wickens Q ShinkoSpainOnyama Limba UNQUALIFIED
Izzy U FlosiRussiaAnna Fali NEW
Jones C FlosiFranceAmy Elsner RENEWAL
Ivar K StockhamIndiaAsiya Javayant RENEWAL
Octavia T StockhamJapanStephen Shaw UNQUALIFIED
Chavez E RulapaughArgentinaOnyama Limba UNQUALIFIED
Julie R ButtIndiaIoni Bowcher NEGOTIATION
Kadeem C SergiCanadaXuxue Feng NEW
Costa H DarakjyBrazilAmy Elsner NEGOTIATION
Smith F PerinItalyAnna Fali PROPOSAL
Chavez B BologniaRussiaAmy Elsner PROPOSAL
Clifford C InouyeFranceStephen Shaw RENEWAL
Izzy T VocelkaCanadaIoni Bowcher QUALIFIED
Kaitlin D VocelkaJapanElwin Sharvill PROPOSAL
Izzy Y BologniaSpainAmy Elsner UNQUALIFIED
Smith X StockhamRussiaElwin Sharvill NEW
Octavia H ChuiFranceIvan Magalhaes QUALIFIED
Jennifer E DarakjyBrazilElwin Sharvill QUALIFIED
Faith S MacleadSpainStephen Shaw QUALIFIED
Salvatore Y KuskoAustraliaElwin Sharvill NEGOTIATION
Darci O GauchoIndiaAsiya Javayant NEGOTIATION
Alejandro M KuskoBrazilAmy Elsner PROPOSAL
Darci P WaycottArgentinaAmy Elsner NEW
Adams C WieserArgentinaElwin Sharvill NEGOTIATION
Maria B SlusarskiRussiaOnyama Limba QUALIFIED
Johnson T SchemmerBrazilElwin Sharvill NEW
Antonio Q RoysterCanadaOnyama Limba PROPOSAL
Emily G ButtSpainStephen Shaw UNQUALIFIED
Maisha Z CaudyItalyElwin Sharvill NEGOTIATION
Maria O MarrierSpainAnna Fali RENEWAL
Deepesh V FlosiIndiaXuxue Feng NEGOTIATION
Greenwood W WieserCanadaXuxue Feng QUALIFIED
Leja F WhobreyArgentinaStephen Shaw NEW
Johnson Z AlbaresItalyXuxue Feng UNQUALIFIED
Wickens R RimRussiaIvan Magalhaes UNQUALIFIED
Ashley K NestleUnited KingdomElwin Sharvill RENEWAL
Chavez L KuskoRussiaXuxue Feng UNQUALIFIED
Rodrigues A ButtCanadaAnna Fali RENEWAL
Greenwood I RoysterCanadaAsiya Javayant RENEWAL
Juan X WhobreyCanadaOnyama Limba RENEWAL
Jeanfrancois S ShinkoSpainIvan Magalhaes NEW
Costa E ChuiItalyAsiya Javayant RENEWAL
Octavia S MacleadAustraliaBernardo Dominic RENEWAL
Francesco T VenereRussiaIoni Bowcher QUALIFIED
Leon U StensethCanadaIvan Magalhaes NEGOTIATION
Antonio E RoysterSpainIoni Bowcher RENEWAL
Izzy I GlickGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas S RimBrazilOnyama Limba UNQUALIFIED
Isabel S TollnerItalyAsiya Javayant NEW
Misaki K RulapaughFranceBernardo Dominic NEW
Kadeem G OldroydBrazilAmy Elsner RENEWAL
Arvin J WhobreyCanadaIvan Magalhaes UNQUALIFIED
Jennifer D DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Francesco F RimArgentinaOnyama Limba UNQUALIFIED
Jennifer F BriddickIndiaAnna Fali NEGOTIATION
Maisha X ChuiFranceAsiya Javayant RENEWAL
Antonio O DilliardAustraliaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Q FollerAustralia2025-07-17Printing Dimensions NEW92Bernardo Dominic
1001Greenwood K VocelkaUnited Kingdom2025-07-22Feiner Bros UNQUALIFIED79Onyama Limba
1002Adams S OldroydCanada2025-07-22Rangoni Of Florence NEGOTIATION27Bernardo Dominic
1003Stacey G NestleAustralia2025-07-25Printing Dimensions QUALIFIED6Elwin Sharvill
1004Faith P WhobreyIndia2025-07-26Buckley Miller Wright NEGOTIATION45Ioni Bowcher
1005Rodrigues W NickaSpain2025-08-13Printing Dimensions UNQUALIFIED34Amy Elsner
1006Maria O FerenczSpain2025-07-29Commercial Press RENEWAL61Ioni Bowcher
1007Ivar S CaudyJapan2025-07-26Printing Dimensions NEW34Xuxue Feng
1008David H RimCanada2025-08-04Rousseaux, Michael Esq RENEWAL38Onyama Limba
1009Johnson U ButtUnited Kingdom2025-07-26Rangoni Of Florence UNQUALIFIED68Ioni Bowcher
1010Ricardo L ChuiAustralia2025-08-07Feiner Bros NEGOTIATION20Amy Elsner
1011Emily Y DarakjyCanada2025-08-11Rousseaux, Michael Esq UNQUALIFIED20Ioni Bowcher
1012Isabel S CaldareraIndia2025-07-19Feiner Bros UNQUALIFIED66Anna Fali
1013Nicolas W WaycottGermany2025-08-08Rangoni Of Florence NEW48Elwin Sharvill
1014Clifford X CaudyAustralia2025-08-13Benton, John B Jr QUALIFIED2Ivan Magalhaes
1015Greenwood P KuskoSpain2025-08-01Morlong Associates UNQUALIFIED70Elwin Sharvill
1016Adams T RutaUnited Kingdom2025-07-18Chapman, Ross E Esq UNQUALIFIED64Asiya Javayant
1017Faith R RulapaughRussia2025-08-08Benton, John B Jr NEW0Elwin Sharvill
1018Ashley K GlickUnited Kingdom2025-08-11Feiner Bros RENEWAL88Ivan Magalhaes
1019Mujtaba A SaylorsUnited Kingdom2025-08-13Buckley Miller Wright RENEWAL28Xuxue Feng
1020Jones U RulapaughArgentina2025-07-22Rousseaux, Michael Esq UNQUALIFIED77Bernardo Dominic
1021Munro Y SlusarskiCanada2025-08-06Rangoni Of Florence PROPOSAL50Elwin Sharvill
1022Leon I RoysterArgentina2025-07-16Benton, John B Jr NEW39Asiya Javayant
1023Costa U GillianBrazil2025-08-06Chemel, James L Cpa UNQUALIFIED10Ioni Bowcher
1024Octavia I WieserCanada2025-08-02King, Christopher A Esq NEW40Bernardo Dominic
1025Deepesh E IturbideGermany2025-08-13Commercial Press RENEWAL36Amy Elsner
1026Deepesh V PerinBrazil2025-08-09Printing Dimensions QUALIFIED87Bernardo Dominic
1027Greenwood J WhobreyUnited Kingdom2025-07-26Chemel, James L Cpa RENEWAL52Xuxue Feng
1028Maria N VenereJapan2025-07-26Chapman, Ross E Esq RENEWAL17Bernardo Dominic
1029Francesco N KuskoFrance2025-08-04Benton, John B Jr NEGOTIATION4Asiya Javayant
1030Wickens U AlbaresCanada2025-07-15King, Christopher A Esq PROPOSAL99Anna Fali
1031Jennifer A KolmetzArgentina2025-08-02Morlong Associates UNQUALIFIED22Amy Elsner
1032James B DoeJapan2025-07-19Chapman, Ross E Esq UNQUALIFIED32Bernardo Dominic
1033Salvatore M CampainFrance2025-08-05Chapman, Ross E Esq UNQUALIFIED32Onyama Limba
1034Izzy O SergiCanada2025-08-06Rangoni Of Florence NEW78Ioni Bowcher
1035Leon W OldroydCanada2025-08-13Morlong Associates NEW93Stephen Shaw
1036Costa K GarufiGermany2025-07-25Chemel, James L Cpa RENEWAL22Xuxue Feng
1037Leon D StockhamSpain2025-08-12Buckley Miller Wright NEW30Amy Elsner
1038Jeanfrancois B OldroydIndia2025-07-29Rangoni Of Florence NEGOTIATION85Anna Fali
1039Mujtaba C DilliardIndia2025-08-09Chemel, James L Cpa NEW65Anna Fali
1040Cody I VenereGermany2025-08-12Feiner Bros PROPOSAL80Amy Elsner
1041Antonio N BologniaUnited Kingdom2025-08-09Feiner Bros PROPOSAL67Ivan Magalhaes
1042Alejandro U TollnerFrance2025-08-06Truhlar And Truhlar Attys NEW85Onyama Limba
1043Deepesh L OstroskyGermany2025-07-31Printing Dimensions UNQUALIFIED35Onyama Limba
1044Jennifer R BologniaGermany2025-07-26Commercial Press NEGOTIATION52Ioni Bowcher
1045Morrow F BowleyUnited Kingdom2025-08-03Feltz Printing Service PROPOSAL49Amy Elsner
1046Francesco C SergiUnited Kingdom2025-08-10Benton, John B Jr NEW17Bernardo Dominic
1047Kaitlin V PaprockiFrance2025-07-22Rangoni Of Florence NEW38Elwin Sharvill
1048Ricardo A AmigonCanada2025-08-01Truhlar And Truhlar Attys NEGOTIATION39Xuxue Feng
1049Nicolas J KolmetzRussia2025-08-13Chapman, Ross E Esq PROPOSAL92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Costa K OldroydArgentinaOnyama Limba PROPOSAL
Antonio W CampainIndiaAnna Fali NEW
Francesco X CampainBrazilOnyama Limba NEGOTIATION
Ricardo Y ButtJapanBernardo Dominic QUALIFIED
Rodrigues H BologniaCanadaElwin Sharvill RENEWAL
Kadeem A WaycottGermanyAnna Fali NEW
Leja E WaycottSpainStephen Shaw NEW
Jeanfrancois E NestleFranceBernardo Dominic NEW
Mayumi E SlusarskiArgentinaIoni Bowcher PROPOSAL
Morrow K RutaBrazilAnna Fali UNQUALIFIED
Clifford I ChuiBrazilElwin Sharvill NEGOTIATION
Izzy W SchemmerItalyElwin Sharvill QUALIFIED
Clifford C FlosiIndiaAsiya Javayant PROPOSAL
Sinclair E BriddickAustraliaBernardo Dominic UNQUALIFIED
Deepesh M InouyeGermanyElwin Sharvill PROPOSAL
Leja B ShinkoJapanElwin Sharvill RENEWAL
Jennifer C StensethAustraliaAnna Fali PROPOSAL
Maisha D GlickBrazilXuxue Feng QUALIFIED
Ivar V VocelkaItalyOnyama Limba RENEWAL
James Q AmigonJapanStephen Shaw PROPOSAL
Morrow N VenereFranceAmy Elsner QUALIFIED
Antonio X BriddickItalyElwin Sharvill RENEWAL
Aditya F RimBrazilStephen Shaw UNQUALIFIED
Nicolas R GillianGermanyOnyama Limba PROPOSAL
Mujtaba C OldroydItalyIoni Bowcher PROPOSAL
Misaki M RimArgentinaAnna Fali RENEWAL
Tony K AlbaresJapanElwin Sharvill RENEWAL
Rodrigues T MorascaRussiaIoni Bowcher NEW
Maisha Q SergiAustraliaAmy Elsner NEGOTIATION
Morrow L SchemmerArgentinaAnna Fali QUALIFIED
Nicolas K RoysterBrazilXuxue Feng QUALIFIED
Chavez N MarrierRussiaAsiya Javayant RENEWAL
Adams P NickaRussiaIvan Magalhaes NEGOTIATION
Aika M GlickIndiaStephen Shaw NEGOTIATION
Costa V SchemmerUnited KingdomAmy Elsner RENEWAL
Juan T NestleCanadaElwin Sharvill PROPOSAL
Misaki U InouyeSpainBernardo Dominic QUALIFIED
Octavia H PaprockiBrazilBernardo Dominic NEGOTIATION
Jeanfrancois H WieserFranceXuxue Feng RENEWAL
Leja R InouyeAustraliaXuxue Feng NEGOTIATION
Munro T DilliardCanadaIoni Bowcher QUALIFIED
Faith O WaycottItalyAmy Elsner RENEWAL
Cody F WieserArgentinaElwin Sharvill NEW
Emily N MaletCanadaIoni Bowcher NEW
Jeanfrancois M MacleadArgentinaXuxue Feng NEW
Ashley I NestleRussiaAmy Elsner PROPOSAL
Aruna R DilliardUnited KingdomAmy Elsner RENEWAL
Tony J InouyeAustraliaAmy Elsner RENEWAL
Jeanfrancois R SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Nicolas T RoysterAustraliaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Nicolas Z Wieser
Faith D Malet
Mayumi M Nestle
Emily J Paprocki
Aditya E Nicka
Chavez X Oldroyd
Clifford D Oldroyd
Jones N Ruta
Misaki C Kusko
Darci B Nicka
Darci N Slusarski
Silvio S Amigon
Alejandro M Poquette
Cody L Briddick
Jefferson C Vocelka
Francesco S Gillian
Adams K Dilliard
Ricardo B Marrier
Chavez D Campain
Jefferson A Sergi
Nicolas H Gillian
Adams Q Stenseth
Maria T Ferencz
Alejandro Y Rulapaugh
Jones E Gaucho
Leon H Schemmer
Tony J Caldarera
James C Malet
Maria O Kusko
Misaki G Bowley
Kadeem K Perin
Maria O Caudy
Wickens J Chui
Murillo N Rulapaugh
Mayumi R Briddick
Misaki W Chui
Aditya Y Briddick
Ashley H Flosi
Claire C Foller
Cody R Dilliard
Jennifer Z Waycott
Smith P Shinko
Greenwood N Schemmer
Salvatore H Darakjy
Leon Z Vocelka
Salvatore W Malet
Jeanfrancois N Bowley
Clifford R Bolognia
Deepesh C Amigon
Greenwood K Gillian
IdCountryDate
1000Russia2025-08-13
1001Canada2025-07-17
1002Italy2025-07-15
1003Germany2025-07-28
1004India2025-07-26
1005Japan2025-08-04
1006Australia2025-08-06
1007Argentina2025-07-17
1008Japan2025-08-05
1009Russia2025-07-30
1010Spain2025-07-17
1011Argentina2025-08-13
1012United Kingdom2025-07-18
1013France2025-08-05
1014Australia2025-07-22
1015Japan2025-08-06
1016Brazil2025-08-10
1017Spain2025-08-09
1018Spain2025-08-12
1019Russia2025-07-24
1020United Kingdom2025-07-31
1021India2025-07-26
1022India2025-08-03
1023Spain2025-08-04
1024Spain2025-07-22
1025Russia2025-07-21
1026Australia2025-07-21
1027Brazil2025-08-08
1028Italy2025-08-08
1029Russia2025-07-23
1030India2025-08-06
1031Australia2025-08-02
1032Germany2025-08-10
1033Russia2025-07-15
1034Germany2025-07-20
1035Germany2025-07-20
1036Spain2025-07-30
1037Canada2025-07-28
1038Italy2025-07-20
1039Australia2025-08-01
1040Japan2025-07-16
1041Canada2025-07-19
1042Germany2025-07-24
1043United Kingdom2025-08-13
1044Russia2025-08-11
1045Australia2025-07-21
1046Brazil2025-07-18
1047Spain2025-08-10
1048Russia2025-08-08
1049United Kingdom2025-08-06

On-Demand Data

NameIdCountryDate
Ricardo B Stockham1000Italy2025-08-06
Rodrigues Z Marrier1001France2025-08-10
Smith C Flosi1002Spain2025-08-09
Julie X Iturbide1003Brazil2025-07-27
Misaki D Paprocki1004Germany2025-08-08
Morrow W Ostrosky1005India2025-07-25
Deepesh Z Chui1006Germany2025-07-31
Jones M Oldroyd1007Australia2025-07-20
Morrow P Glick1008France2025-08-09
Munro A Kolmetz1009Australia2025-07-23
Ricardo V Whobrey1010Brazil2025-07-31
James I Morasca1011Australia2025-08-01
Adams S Butt1012Brazil2025-08-06
Ashley W Butt1013India2025-07-22
Johnson N Shinko1014Spain2025-07-28
Smith W Marrier1015United Kingdom2025-08-06
Clifford E Bolognia1016Germany2025-08-04
Aruna O Caudy1017Spain2025-07-17
Morrow E Ostrosky1018Russia2025-08-07
James R Waycott1019Russia2025-07-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro D FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues G FollerGermanyAnna Fali NEW
Munro G RimAustraliaIvan Magalhaes RENEWAL
Antonio X DoeAustraliaBernardo Dominic PROPOSAL
Kadeem Y PaprockiArgentinaAnna Fali NEW
Cody Q BologniaIndiaXuxue Feng QUALIFIED
Adams M ShinkoSpainAmy Elsner RENEWAL
Maisha A VenereIndiaStephen Shaw NEGOTIATION
David M NickaUnited KingdomIoni Bowcher NEW
Ivar I MaletBrazilAmy Elsner UNQUALIFIED
Octavia C CampainFranceIvan Magalhaes QUALIFIED
Emily Z CaldareraIndiaStephen Shaw RENEWAL
Maisha X ButtArgentinaStephen Shaw RENEWAL
Sinclair V PerinGermanyIvan Magalhaes QUALIFIED
Maisha B GauchoGermanyOnyama Limba QUALIFIED
Murillo F RulapaughArgentinaIvan Magalhaes NEGOTIATION
Stacey B RutaItalyAsiya Javayant NEGOTIATION
Faith D DarakjyBrazilOnyama Limba QUALIFIED
Aditya F ChuiItalyBernardo Dominic NEGOTIATION
Kaitlin Z GlickBrazilIvan Magalhaes RENEWAL
Aruna Q TollnerBrazilIoni Bowcher QUALIFIED
Deepesh N WieserAustraliaAnna Fali UNQUALIFIED
Greenwood O KuskoFranceAsiya Javayant UNQUALIFIED
Faith P KolmetzFranceIvan Magalhaes QUALIFIED
Leon S ChuiSpainBernardo Dominic NEGOTIATION
Wickens I WhobreyRussiaStephen Shaw UNQUALIFIED
Rodrigues Q StockhamFranceStephen Shaw PROPOSAL
Alejandro E MaletJapanOnyama Limba RENEWAL
Greenwood Z ShinkoItalyAmy Elsner RENEWAL
Maisha H WieserIndiaStephen Shaw QUALIFIED
Alejandro C CaldareraItalyXuxue Feng NEGOTIATION
Morrow E InouyeArgentinaAsiya Javayant UNQUALIFIED
Maria X KuskoFranceIvan Magalhaes NEW
Isabel J ButtItalyIoni Bowcher QUALIFIED
Juan T TollnerFranceXuxue Feng PROPOSAL
Greenwood G SergiBrazilElwin Sharvill UNQUALIFIED
Aika T InouyeUnited KingdomXuxue Feng RENEWAL
Kaitlin S DilliardItalyIvan Magalhaes NEGOTIATION
Deepesh U InouyeAustraliaStephen Shaw QUALIFIED
Francesco O RimSpainXuxue Feng 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>