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
Maisha M FerenczGermanyIoni Bowcher UNQUALIFIED
Aruna H ChuiRussiaBernardo Dominic UNQUALIFIED
Juan X RulapaughGermanyIoni Bowcher RENEWAL
Silvio Y GauchoBrazilAsiya Javayant UNQUALIFIED
Rodrigues R VocelkaAustraliaBernardo Dominic NEGOTIATION
Morrow Q DilliardRussiaIoni Bowcher QUALIFIED
Chavez E SchemmerArgentinaStephen Shaw PROPOSAL
Maria E WaycottCanadaXuxue Feng PROPOSAL
Costa R WhobreyFranceElwin Sharvill QUALIFIED
Jeanfrancois A TollnerBrazilIoni Bowcher UNQUALIFIED
Misaki Z CampainBrazilAsiya Javayant UNQUALIFIED
Murillo I BowleyIndiaOnyama Limba UNQUALIFIED
Smith K BologniaItalyOnyama Limba NEGOTIATION
Emily Y StensethUnited KingdomAnna Fali RENEWAL
Kadeem U RimArgentinaOnyama Limba PROPOSAL
James Y ButtUnited KingdomBernardo Dominic NEGOTIATION
Leja B WhobreyCanadaXuxue Feng NEGOTIATION
Chavez R MaletIndiaStephen Shaw RENEWAL
Costa G KuskoSpainXuxue Feng PROPOSAL
Salvatore Q MaletBrazilOnyama Limba QUALIFIED
Mujtaba P RimJapanAsiya Javayant NEW
Antonio S StockhamSpainIoni Bowcher NEW
Ivar I FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Izzy X WieserJapanAmy Elsner NEGOTIATION
Aditya S KolmetzSpainOnyama Limba UNQUALIFIED
Morrow J BologniaBrazilIvan Magalhaes UNQUALIFIED
Salvatore Z PoquetteRussiaIoni Bowcher NEW
Maria N GlickUnited KingdomOnyama Limba UNQUALIFIED
Deepesh W MaletItalyIvan Magalhaes QUALIFIED
Maisha N WaycottIndiaStephen Shaw UNQUALIFIED
Adams T MacleadGermanyOnyama Limba NEW
Murillo K GauchoIndiaAmy Elsner UNQUALIFIED
Maria D OldroydJapanIoni Bowcher QUALIFIED
Arvin W KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Smith T KolmetzItalyIoni Bowcher NEGOTIATION
Kaitlin U RutaFranceIvan Magalhaes PROPOSAL
Leon F FigeroaJapanBernardo Dominic NEGOTIATION
Deepesh H RimRussiaAnna Fali QUALIFIED
Costa W GillianAustraliaStephen Shaw UNQUALIFIED
Ricardo P CaudyJapanIoni Bowcher PROPOSAL
Salvatore Z CaldareraBrazilAmy Elsner NEW
Maisha Y PoquetteItalyAsiya Javayant RENEWAL
Morrow Q BriddickItalyXuxue Feng RENEWAL
Costa W WieserArgentinaStephen Shaw RENEWAL
Greenwood R WieserItalyXuxue Feng RENEWAL
Johnson X NickaArgentinaIvan Magalhaes NEGOTIATION
James S RutaFranceBernardo Dominic RENEWAL
Rodrigues J NickaCanadaXuxue Feng NEGOTIATION
Francesco A BologniaSpainAmy Elsner NEW
Salvatore Z SergiSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow E PoquetteJapanIvan Magalhaes PROPOSAL
Adams K AmigonFranceAmy Elsner QUALIFIED
Julie D WaycottIndiaAmy Elsner NEGOTIATION
Adams Y MacleadGermanyAsiya Javayant PROPOSAL
Silvio V GillianSpainBernardo Dominic RENEWAL
Darci A DoeSpainElwin Sharvill NEW
Salvatore W StensethFranceStephen Shaw NEW
Darci B MaletGermanyIoni Bowcher PROPOSAL
Antonio U DarakjyArgentinaXuxue Feng NEGOTIATION
Aika O SchemmerFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria F ShinkoAustralia2025-07-29Chapman, Ross E Esq NEGOTIATION13Onyama Limba
1001Faith K WieserIndia2025-08-01Chapman, Ross E Esq UNQUALIFIED36Ivan Magalhaes
1002Julie D KuskoItaly2025-07-09Feltz Printing Service QUALIFIED74Elwin Sharvill
1003Cody I RoysterAustralia2025-07-25Dorl, James J Esq NEGOTIATION88Asiya Javayant
1004Ivar D OldroydCanada2025-08-01Morlong Associates RENEWAL46Elwin Sharvill
1005Jones H ChuiItaly2025-07-28Morlong Associates NEGOTIATION26Anna Fali
1006Francesco C AlbaresBrazil2025-07-26Morlong Associates NEW59Asiya Javayant
1007Costa P FollerArgentina2025-07-28Benton, John B Jr RENEWAL67Anna Fali
1008Ivar V SlusarskiAustralia2025-07-29Feiner Bros UNQUALIFIED83Ioni Bowcher
1009Munro G RimItaly2025-07-23Benton, John B Jr NEGOTIATION69Stephen Shaw
1010Arvin M MaletUnited Kingdom2025-07-31Commercial Press NEGOTIATION32Xuxue Feng
1011Jennifer E NestleSpain2025-07-18Printing Dimensions NEW17Elwin Sharvill
1012Leja B BologniaCanada2025-07-13Rangoni Of Florence QUALIFIED33Ivan Magalhaes
1013Jennifer Q WhobreyGermany2025-07-28Feltz Printing Service RENEWAL50Ioni Bowcher
1014Cody C GillianArgentina2025-07-21Chapman, Ross E Esq NEW25Asiya Javayant
1015Ricardo P AmigonRussia2025-07-12Chapman, Ross E Esq PROPOSAL93Xuxue Feng
1016Deepesh O StockhamUnited Kingdom2025-07-06Feiner Bros NEGOTIATION62Asiya Javayant
1017Octavia S PaprockiGermany2025-07-25Morlong Associates NEW99Anna Fali
1018Murillo B DoeArgentina2025-07-14King, Christopher A Esq RENEWAL33Onyama Limba
1019Murillo T FerenczUnited Kingdom2025-07-07Feiner Bros UNQUALIFIED91Xuxue Feng
1020Julie Y OldroydBrazil2025-07-05Commercial Press QUALIFIED70Elwin Sharvill
1021Cody F CaldareraItaly2025-07-18Truhlar And Truhlar Attys NEW15Asiya Javayant
1022Wickens O SergiIndia2025-07-12Rousseaux, Michael Esq RENEWAL83Elwin Sharvill
1023Nicolas X GauchoAustralia2025-07-17Commercial Press PROPOSAL91Amy Elsner
1024Wickens N PaprockiAustralia2025-07-11Buckley Miller Wright UNQUALIFIED10Amy Elsner
1025Darci J SlusarskiGermany2025-07-08Chanay, Jeffrey A Esq PROPOSAL12Elwin Sharvill
1026Greenwood E WaycottCanada2025-07-12Rangoni Of Florence NEW53Amy Elsner
1027David Q NickaSpain2025-07-10Commercial Press NEGOTIATION42Xuxue Feng
1028Smith A BologniaItaly2025-07-08Feltz Printing Service NEW59Stephen Shaw
1029Juan J OstroskyRussia2025-07-18Truhlar And Truhlar Attys NEW97Bernardo Dominic
1030David Z GauchoSpain2025-07-26Feiner Bros UNQUALIFIED63Ivan Magalhaes
1031Maria S WieserBrazil2025-07-06Printing Dimensions QUALIFIED20Amy Elsner
1032Leon R SlusarskiGermany2025-07-28Printing Dimensions PROPOSAL38Anna Fali
1033Darci P KolmetzFrance2025-07-18Chapman, Ross E Esq QUALIFIED32Asiya Javayant
1034Emily U ShinkoGermany2025-07-06Commercial Press RENEWAL9Asiya Javayant
1035Smith X NickaUnited Kingdom2025-07-10Rousseaux, Michael Esq QUALIFIED45Stephen Shaw
1036Claire W MaletIndia2025-07-27Benton, John B Jr UNQUALIFIED69Ivan Magalhaes
1037Clifford I PoquetteRussia2025-07-11Morlong Associates NEW97Onyama Limba
1038Salvatore Y DarakjyFrance2025-07-24Dorl, James J Esq QUALIFIED11Onyama Limba
1039Leja D RimUnited Kingdom2025-07-23Dorl, James J Esq UNQUALIFIED93Ioni Bowcher
1040Stacey X MacleadArgentina2025-07-25Commercial Press RENEWAL67Asiya Javayant
1041David I StockhamFrance2025-07-06Rousseaux, Michael Esq QUALIFIED76Ioni Bowcher
1042Misaki O NestleIndia2025-07-25Feiner Bros QUALIFIED49Asiya Javayant
1043Morrow W KolmetzArgentina2025-08-01Buckley Miller Wright PROPOSAL6Amy Elsner
1044Cody W AmigonUnited Kingdom2025-07-27Feltz Printing Service UNQUALIFIED51Elwin Sharvill
1045Jefferson Z VenereUnited Kingdom2025-07-25Chemel, James L Cpa RENEWAL29Onyama Limba
1046Jefferson F VocelkaBrazil2025-07-05Commercial Press RENEWAL89Amy Elsner
1047Morrow V SlusarskiFrance2025-07-09Feiner Bros UNQUALIFIED8Asiya Javayant
1048Morrow T GillianGermany2025-07-20Truhlar And Truhlar Attys PROPOSAL53Elwin Sharvill
1049Isabel W AmigonSpain2025-07-17Truhlar And Truhlar Attys NEGOTIATION32Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie C KuskoCanadaAmy Elsner RENEWAL
James P OldroydItalyAsiya Javayant NEGOTIATION
Mujtaba H KolmetzIndiaAmy Elsner NEGOTIATION
Stacey J ButtCanadaBernardo Dominic PROPOSAL
Tony X SaylorsAustraliaAsiya Javayant UNQUALIFIED
Morrow G DoeBrazilStephen Shaw QUALIFIED
Clifford D RulapaughArgentinaBernardo Dominic NEW
Aika T PaprockiSpainBernardo Dominic NEGOTIATION
Faith R StockhamCanadaIvan Magalhaes QUALIFIED
Greenwood Z NickaArgentinaAmy Elsner QUALIFIED
Maisha J StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo G CampainCanadaIoni Bowcher PROPOSAL
Leja X AlbaresAustraliaIvan Magalhaes QUALIFIED
James S CaldareraAustraliaAnna Fali NEW
Greenwood O OldroydAustraliaXuxue Feng UNQUALIFIED
Nicolas P WaycottSpainIoni Bowcher QUALIFIED
Kaitlin K MorascaGermanyIvan Magalhaes NEGOTIATION
Juan V SchemmerRussiaAsiya Javayant NEGOTIATION
Jefferson I ShinkoSpainAnna Fali QUALIFIED
Kaitlin A PerinItalyStephen Shaw NEGOTIATION
Rodrigues Y InouyeGermanyAnna Fali UNQUALIFIED
Munro D StensethJapanAnna Fali RENEWAL
Sinclair H BologniaRussiaStephen Shaw NEW
Jeanfrancois M OstroskySpainIvan Magalhaes RENEWAL
Faith N MarrierCanadaAmy Elsner NEGOTIATION
Ivar O AmigonGermanyStephen Shaw NEGOTIATION
Francesco O ButtJapanXuxue Feng NEW
Ricardo S MorascaCanadaElwin Sharvill RENEWAL
Murillo Y FigeroaFranceXuxue Feng NEGOTIATION
Izzy K AlbaresCanadaElwin Sharvill NEW
Leja M MacleadSpainIvan Magalhaes NEGOTIATION
Aruna I GlickIndiaElwin Sharvill PROPOSAL
Adams S MacleadBrazilElwin Sharvill NEGOTIATION
Jeanfrancois B MaletIndiaAmy Elsner NEW
Salvatore N StensethGermanyIvan Magalhaes RENEWAL
Jeanfrancois K DoeItalyIvan Magalhaes QUALIFIED
Nicolas P MaletIndiaAmy Elsner PROPOSAL
Clifford X AlbaresItalyIoni Bowcher NEGOTIATION
Tony N StockhamArgentinaOnyama Limba NEGOTIATION
Aditya A DarakjyAustraliaOnyama Limba NEGOTIATION
Ivar P DilliardBrazilAsiya Javayant NEGOTIATION
Darci S MarrierItalyOnyama Limba PROPOSAL
Mujtaba I MarrierAustraliaXuxue Feng UNQUALIFIED
Aika H GarufiSpainBernardo Dominic UNQUALIFIED
Johnson V KolmetzItalyStephen Shaw NEGOTIATION
Claire S PaprockiIndiaElwin Sharvill UNQUALIFIED
Jennifer D GauchoArgentinaAsiya Javayant PROPOSAL
Mayumi V DarakjyItalyIvan Magalhaes QUALIFIED
Leja D FerenczSpainAmy Elsner RENEWAL
Tony Z FerenczRussiaElwin Sharvill NEW
Frozen Columns
Name
Jones T Schemmer
Salvatore N Sergi
Rodrigues A Venere
Silvio C Flosi
Jefferson F Kolmetz
Salvatore W Sergi
Munro W Doe
Sinclair W Doe
Murillo A Venere
Maria H Glick
Alejandro E Ferencz
Johnson D Rulapaugh
Aika M Marrier
Jeanfrancois F Kusko
David H Butt
Johnson U Tollner
Leja G Vocelka
Emily Z Campain
Faith Z Paprocki
Clifford S Bowley
Claire B Vocelka
Murillo K Waycott
Juan L Stockham
Maisha V Shinko
Maisha S Stenseth
Misaki Y Gaucho
Leja F Tollner
Ivar N Malet
Claire Y Royster
Claire F Campain
Faith A Maclead
Costa F Garufi
Faith D Malet
Cody Q Saylors
Jones J Butt
Jones X Perin
Aditya G Royster
Kadeem U Ostrosky
Aika Q Perin
David F Nicka
Faith W Briddick
Murillo O Maclead
Aruna I Poquette
Jones S Foller
Leja X Gaucho
Ricardo S Amigon
Johnson T Caldarera
Octavia E Shinko
James A Morasca
Maria G Butt
IdCountryDate
1000Italy2025-07-19
1001Canada2025-07-16
1002Argentina2025-07-05
1003France2025-08-01
1004Italy2025-07-29
1005France2025-07-23
1006Spain2025-07-21
1007India2025-07-16
1008Argentina2025-08-03
1009Spain2025-07-07
1010Italy2025-07-29
1011Brazil2025-07-11
1012United Kingdom2025-07-22
1013Canada2025-07-18
1014India2025-08-03
1015Italy2025-07-17
1016India2025-07-26
1017India2025-07-08
1018Japan2025-07-22
1019Italy2025-08-03
1020Brazil2025-07-11
1021Spain2025-07-23
1022India2025-07-12
1023Japan2025-07-15
1024Russia2025-07-20
1025India2025-07-26
1026Spain2025-07-09
1027Japan2025-07-07
1028France2025-07-10
1029Brazil2025-08-02
1030Germany2025-07-20
1031United Kingdom2025-07-06
1032Australia2025-07-25
1033Italy2025-07-26
1034Canada2025-07-19
1035United Kingdom2025-07-14
1036Canada2025-07-08
1037Spain2025-07-17
1038Russia2025-07-17
1039India2025-07-10
1040France2025-07-06
1041Canada2025-07-10
1042France2025-07-22
1043France2025-07-18
1044Japan2025-07-29
1045France2025-08-01
1046Russia2025-07-12
1047Canada2025-07-28
1048Canada2025-07-27
1049Japan2025-07-05

On-Demand Data

NameIdCountryDate
Greenwood S Ostrosky1000Japan2025-08-02
Wickens W Maclead1001Italy2025-07-30
Chavez M Waycott1002Germany2025-07-07
Kaitlin Z Albares1003Italy2025-07-12
Chavez V Tollner1004Spain2025-07-13
Costa U Butt1005Russia2025-08-03
Stacey O Ostrosky1006Brazil2025-07-24
Maisha D Bolognia1007United Kingdom2025-07-18
Wickens R Bolognia1008United Kingdom2025-07-31
Francesco V Stockham1009United Kingdom2025-07-12
Mujtaba W Oldroyd1010France2025-07-10
Francesco E Butt1011Italy2025-07-20
Jeanfrancois B Schemmer1012Brazil2025-07-06
Aditya Y Wieser1013Germany2025-07-18
Kaitlin Z Sergi1014Russia2025-07-25
Alejandro O Rim1015Spain2025-07-18
Darci Q Kolmetz1016Argentina2025-07-16
Nicolas W Whobrey1017Australia2025-07-24
Jefferson R Tollner1018Canada2025-07-23
Leon W Bowley1019Spain2025-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem O NickaItalyStephen Shaw NEGOTIATION
Leon R MaletUnited KingdomStephen Shaw UNQUALIFIED
Jones O VenereRussiaAsiya Javayant NEW
Leon S FlosiGermanyAsiya Javayant QUALIFIED
Silvio J DarakjyArgentinaXuxue Feng QUALIFIED
Kaitlin Y InouyeGermanyAnna Fali UNQUALIFIED
Aruna V RimCanadaBernardo Dominic RENEWAL
Clifford T MacleadIndiaAmy Elsner NEW
Juan J RoysterRussiaXuxue Feng NEGOTIATION
Isabel K BologniaBrazilXuxue Feng QUALIFIED
Maria O MorascaJapanElwin Sharvill RENEWAL
Clifford H SchemmerCanadaIoni Bowcher QUALIFIED
Izzy P WhobreyIndiaOnyama Limba NEW
David K GillianFranceBernardo Dominic UNQUALIFIED
Maisha R AmigonItalyAsiya Javayant PROPOSAL
David S SaylorsGermanyBernardo Dominic NEW
Aruna P RutaItalyAmy Elsner RENEWAL
Sinclair E PerinFranceAsiya Javayant PROPOSAL
Ashley P KolmetzJapanXuxue Feng UNQUALIFIED
Ashley R GauchoBrazilStephen Shaw PROPOSAL
Aika R GauchoCanadaXuxue Feng NEGOTIATION
Munro D ChuiItalyAsiya Javayant UNQUALIFIED
Maria W RutaCanadaIoni Bowcher QUALIFIED
Sinclair E VenereArgentinaStephen Shaw PROPOSAL
Aruna Y GlickJapanStephen Shaw PROPOSAL
Salvatore J MarrierJapanIvan Magalhaes NEW
Rodrigues E GillianUnited KingdomBernardo Dominic QUALIFIED
Leja K FigeroaGermanyElwin Sharvill UNQUALIFIED
Aditya D InouyeGermanyXuxue Feng NEGOTIATION
Kaitlin X PerinAustraliaXuxue Feng QUALIFIED
Johnson Z FlosiAustraliaElwin Sharvill NEGOTIATION
Ivar B FigeroaAustraliaStephen Shaw QUALIFIED
Rodrigues M FlosiFranceStephen Shaw QUALIFIED
Wickens D WhobreyJapanStephen Shaw UNQUALIFIED
Jefferson S TollnerArgentinaAmy Elsner PROPOSAL
Darci K GillianJapanStephen Shaw UNQUALIFIED
Arvin V DarakjyItalyIvan Magalhaes UNQUALIFIED
Claire D BologniaItalyOnyama Limba PROPOSAL
Wickens A DarakjySpainElwin Sharvill NEGOTIATION
Claire D WhobreyAustraliaIvan Magalhaes UNQUALIFIED

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