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
Aruna K SchemmerUnited KingdomIoni Bowcher RENEWAL
Stacey H SergiSpainElwin Sharvill QUALIFIED
Johnson Z MarrierArgentinaIoni Bowcher PROPOSAL
Isabel S FlosiFranceStephen Shaw QUALIFIED
Aika O OldroydItalyElwin Sharvill RENEWAL
Claire A ChuiBrazilBernardo Dominic NEW
Johnson W WieserItalyBernardo Dominic PROPOSAL
Maisha S FerenczBrazilXuxue Feng NEGOTIATION
Isabel D VocelkaAustraliaIoni Bowcher UNQUALIFIED
Clifford C RutaBrazilIoni Bowcher PROPOSAL
David Y BologniaIndiaAsiya Javayant NEW
Stacey Z CaudyUnited KingdomIoni Bowcher RENEWAL
Stacey Q WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo L WhobreyRussiaIvan Magalhaes NEW
Aika B GarufiRussiaStephen Shaw RENEWAL
Julie L AlbaresItalyAsiya Javayant UNQUALIFIED
Claire Q GauchoGermanyIoni Bowcher NEGOTIATION
James K MaletItalyIoni Bowcher NEGOTIATION
Jeanfrancois Q OldroydAustraliaStephen Shaw UNQUALIFIED
Johnson Y GillianArgentinaAmy Elsner QUALIFIED
Deepesh V SlusarskiFranceBernardo Dominic RENEWAL
Aika J MarrierSpainOnyama Limba NEW
Deepesh W WieserJapanStephen Shaw NEGOTIATION
Aruna B SchemmerItalyAnna Fali NEW
Arvin T AlbaresGermanyOnyama Limba PROPOSAL
Antonio I DarakjyAustraliaIoni Bowcher NEW
Mayumi J ChuiAustraliaIoni Bowcher PROPOSAL
Maria G GillianJapanXuxue Feng NEW
Ivar Q WaycottFranceBernardo Dominic NEW
Munro D RimArgentinaBernardo Dominic UNQUALIFIED
Maria K DoeFranceIvan Magalhaes NEW
Mujtaba E SergiBrazilAsiya Javayant NEW
Maria X OldroydIndiaIoni Bowcher RENEWAL
Francesco F VenereUnited KingdomOnyama Limba PROPOSAL
Alejandro W DilliardGermanyBernardo Dominic RENEWAL
Jones B SchemmerJapanElwin Sharvill QUALIFIED
Kaitlin R GillianGermanyAsiya Javayant PROPOSAL
Johnson Q BriddickIndiaAmy Elsner UNQUALIFIED
Mujtaba A PaprockiItalyElwin Sharvill UNQUALIFIED
Antonio B NestleCanadaAnna Fali NEW
Ashley E StockhamUnited KingdomIoni Bowcher NEW
Faith A StensethItalyStephen Shaw NEGOTIATION
Jennifer C ButtBrazilIvan Magalhaes UNQUALIFIED
Claire O DarakjyFranceXuxue Feng QUALIFIED
James S RutaSpainElwin Sharvill NEGOTIATION
Salvatore N StockhamCanadaXuxue Feng NEW
Misaki F WhobreyBrazilBernardo Dominic NEGOTIATION
Jones C RulapaughRussiaOnyama Limba PROPOSAL
Sinclair T MarrierJapanBernardo Dominic QUALIFIED
Wickens X FlosiAustraliaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba D AlbaresJapanAsiya Javayant NEW
Greenwood Q DoeJapanOnyama Limba RENEWAL
Darci X VenereFranceIoni Bowcher PROPOSAL
Alejandro Q RutaJapanAmy Elsner UNQUALIFIED
Deepesh I GlickFranceAnna Fali UNQUALIFIED
Stacey C PaprockiSpainAnna Fali NEGOTIATION
Deepesh S AmigonGermanyAmy Elsner NEGOTIATION
David A SchemmerIndiaOnyama Limba RENEWAL
Greenwood Q CampainBrazilStephen Shaw RENEWAL
Rodrigues F StockhamRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson I WieserGermany2025-09-01Rangoni Of Florence NEW0Asiya Javayant
1001Leja S PerinItaly2025-09-08Benton, John B Jr UNQUALIFIED76Xuxue Feng
1002Darci W MorascaBrazil2025-09-06Chanay, Jeffrey A Esq UNQUALIFIED0Ioni Bowcher
1003Misaki O MacleadArgentina2025-08-31Chapman, Ross E Esq NEGOTIATION20Anna Fali
1004Ashley G PoquetteUnited Kingdom2025-09-24Buckley Miller Wright RENEWAL51Elwin Sharvill
1005Mayumi K FlosiSpain2025-09-14Buckley Miller Wright UNQUALIFIED68Onyama Limba
1006David X ChuiArgentina2025-09-08Buckley Miller Wright RENEWAL44Amy Elsner
1007Jones H ChuiItaly2025-09-17Chanay, Jeffrey A Esq NEGOTIATION19Anna Fali
1008Wickens D PerinFrance2025-09-20Rousseaux, Michael Esq NEW91Onyama Limba
1009Sinclair E ChuiBrazil2025-09-11Buckley Miller Wright PROPOSAL7Xuxue Feng
1010Costa M RutaGermany2025-09-24Rangoni Of Florence NEW25Amy Elsner
1011Octavia T SchemmerSpain2025-09-23King, Christopher A Esq NEGOTIATION0Amy Elsner
1012Deepesh R CampainUnited Kingdom2025-09-18Chapman, Ross E Esq NEGOTIATION40Stephen Shaw
1013Aika Q AlbaresAustralia2025-09-18Chanay, Jeffrey A Esq NEGOTIATION4Ivan Magalhaes
1014Wickens W VocelkaGermany2025-09-03Printing Dimensions PROPOSAL33Xuxue Feng
1015Stacey E GillianJapan2025-09-01Chapman, Ross E Esq QUALIFIED91Onyama Limba
1016Wickens D GauchoBrazil2025-09-22Benton, John B Jr QUALIFIED19Anna Fali
1017Faith N GarufiJapan2025-09-05Rangoni Of Florence UNQUALIFIED80Elwin Sharvill
1018Antonio B MarrierGermany2025-09-08Feiner Bros NEW20Stephen Shaw
1019Jefferson U GlickItaly2025-08-31Dorl, James J Esq NEW20Stephen Shaw
1020Aruna N VocelkaItaly2025-09-05Buckley Miller Wright PROPOSAL23Ivan Magalhaes
1021Jeanfrancois V MorascaAustralia2025-09-23Morlong Associates RENEWAL52Bernardo Dominic
1022Mujtaba M RimSpain2025-09-01Benton, John B Jr UNQUALIFIED34Elwin Sharvill
1023Aditya Z GlickAustralia2025-09-02Feiner Bros RENEWAL73Stephen Shaw
1024James T DilliardSpain2025-09-22Feiner Bros NEW34Bernardo Dominic
1025Ricardo M GauchoIndia2025-09-12Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1026Octavia Q GillianUnited Kingdom2025-09-04Buckley Miller Wright UNQUALIFIED6Onyama Limba
1027James Z RoysterSpain2025-09-06Chanay, Jeffrey A Esq PROPOSAL93Elwin Sharvill
1028Silvio L AlbaresAustralia2025-09-26Buckley Miller Wright NEGOTIATION6Xuxue Feng
1029Murillo E ShinkoRussia2025-09-02Feltz Printing Service NEGOTIATION23Ioni Bowcher
1030Claire M NestleArgentina2025-09-11King, Christopher A Esq PROPOSAL21Bernardo Dominic
1031Greenwood M FollerCanada2025-09-24Dorl, James J Esq NEGOTIATION12Anna Fali
1032David V PerinRussia2025-09-22Benton, John B Jr PROPOSAL40Onyama Limba
1033Izzy M GauchoBrazil2025-09-10Printing Dimensions RENEWAL27Amy Elsner
1034Leon W TollnerSpain2025-09-03Feltz Printing Service NEW10Xuxue Feng
1035Silvio B DoeBrazil2025-09-13Truhlar And Truhlar Attys UNQUALIFIED76Asiya Javayant
1036Maisha W NickaCanada2025-09-13Dorl, James J Esq PROPOSAL40Onyama Limba
1037Rodrigues E MaletAustralia2025-09-26Benton, John B Jr NEW54Elwin Sharvill
1038Clifford R CaldareraJapan2025-08-31Morlong Associates QUALIFIED44Anna Fali
1039Jefferson V RoysterBrazil2025-09-05Chapman, Ross E Esq RENEWAL76Amy Elsner
1040Salvatore W InouyeBrazil2025-09-27Chanay, Jeffrey A Esq RENEWAL69Ivan Magalhaes
1041Claire O NickaSpain2025-09-21King, Christopher A Esq PROPOSAL23Stephen Shaw
1042Misaki O MaletSpain2025-08-30Dorl, James J Esq NEGOTIATION86Onyama Limba
1043Leon H VocelkaBrazil2025-09-04Chanay, Jeffrey A Esq NEW83Ioni Bowcher
1044Octavia U NestleGermany2025-09-04Benton, John B Jr NEGOTIATION29Bernardo Dominic
1045Deepesh Q DilliardGermany2025-09-22Chanay, Jeffrey A Esq PROPOSAL92Elwin Sharvill
1046Stacey I NickaSpain2025-09-27Feltz Printing Service QUALIFIED5Ioni Bowcher
1047Chavez P DarakjyUnited Kingdom2025-09-05Commercial Press RENEWAL99Stephen Shaw
1048James U SergiFrance2025-09-10Feltz Printing Service QUALIFIED4Elwin Sharvill
1049Isabel J VenereJapan2025-09-26Truhlar And Truhlar Attys QUALIFIED77Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin O NestleItalyAsiya Javayant PROPOSAL
Deepesh J OldroydCanadaIoni Bowcher NEGOTIATION
Emily D MaletJapanIvan Magalhaes NEW
Stacey N SergiIndiaAmy Elsner UNQUALIFIED
Chavez O BriddickGermanyAsiya Javayant PROPOSAL
Aruna L WieserGermanyAsiya Javayant RENEWAL
Nicolas Q IturbideFranceAmy Elsner RENEWAL
Claire D CaudyRussiaElwin Sharvill UNQUALIFIED
Kadeem D FerenczIndiaAnna Fali PROPOSAL
Jefferson B WhobreyBrazilIoni Bowcher UNQUALIFIED
Ivar P FollerBrazilIoni Bowcher PROPOSAL
Silvio R WieserItalyElwin Sharvill NEGOTIATION
Claire W StockhamIndiaAmy Elsner NEGOTIATION
Maria O PerinAustraliaAnna Fali NEW
Ivar G TollnerArgentinaIvan Magalhaes NEGOTIATION
Murillo J CampainRussiaAsiya Javayant PROPOSAL
Nicolas Z GillianJapanBernardo Dominic QUALIFIED
Smith R VocelkaSpainElwin Sharvill NEGOTIATION
Misaki P VenereRussiaBernardo Dominic UNQUALIFIED
Isabel Q KolmetzArgentinaIoni Bowcher PROPOSAL
Rodrigues A OldroydUnited KingdomAmy Elsner RENEWAL
Jefferson M MarrierJapanAsiya Javayant NEGOTIATION
Chavez K TollnerGermanyAsiya Javayant NEW
Leon Q WieserGermanyAnna Fali QUALIFIED
Wickens N PerinItalyBernardo Dominic UNQUALIFIED
Nicolas X FigeroaIndiaAsiya Javayant QUALIFIED
Smith T RoysterFranceAmy Elsner RENEWAL
Jeanfrancois S VocelkaFranceIoni Bowcher QUALIFIED
James Z VocelkaRussiaOnyama Limba UNQUALIFIED
Greenwood L CampainSpainXuxue Feng PROPOSAL
Deepesh B MaletSpainXuxue Feng UNQUALIFIED
Ricardo P StockhamUnited KingdomIvan Magalhaes PROPOSAL
Ricardo L PerinAustraliaBernardo Dominic NEW
Deepesh O AmigonJapanAnna Fali NEGOTIATION
Morrow U TollnerItalyXuxue Feng PROPOSAL
Sinclair K TollnerJapanAmy Elsner NEGOTIATION
Darci V BriddickCanadaAsiya Javayant NEW
James H BowleySpainElwin Sharvill RENEWAL
Greenwood O AlbaresRussiaElwin Sharvill UNQUALIFIED
Kaitlin Y KolmetzIndiaXuxue Feng RENEWAL
Aika Y ButtSpainAmy Elsner NEGOTIATION
Mujtaba G BowleyAustraliaAmy Elsner RENEWAL
Francesco R SergiGermanyIvan Magalhaes UNQUALIFIED
Greenwood V FigeroaBrazilOnyama Limba QUALIFIED
Wickens A RimUnited KingdomStephen Shaw RENEWAL
Rodrigues I ChuiCanadaAsiya Javayant RENEWAL
Wickens S BriddickGermanyOnyama Limba RENEWAL
Misaki B MacleadItalyElwin Sharvill UNQUALIFIED
Misaki G MorascaJapanOnyama Limba PROPOSAL
Arvin B WhobreyIndiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Aika R Inouye
Stacey S Caldarera
Silvio Y Stenseth
Darci Q Nicka
Rodrigues G Doe
Mayumi K Sergi
Rodrigues M Butt
Faith C Campain
Jeanfrancois O Kusko
Jennifer K Kusko
Ricardo I Royster
Rodrigues J Ruta
Adams O Oldroyd
Maria O Shinko
Wickens O Shinko
Tony C Foller
Octavia J Malet
Juan G Wieser
Ivar M Schemmer
Arvin M Foller
Jennifer F Stenseth
Aika O Ostrosky
Cody L Doe
Salvatore F Royster
Johnson H Ruta
Murillo I Campain
Leja T Chui
Chavez I Tollner
Deepesh V Tollner
Leja O Waycott
Murillo N Stockham
Silvio E Kusko
Darci L Schemmer
Stacey T Oldroyd
Alejandro N Waycott
Mujtaba G Nestle
Mayumi Z Doe
Rodrigues B Vocelka
Johnson Y Rim
Murillo O Rulapaugh
Julie X Butt
Octavia M Bowley
Chavez F Campain
Claire A Ferencz
Isabel U Rim
Rodrigues D Amigon
Antonio R Stockham
Murillo Y Maclead
Ashley T Stenseth
Adams W Whobrey
IdCountryDate
1000Japan2025-09-14
1001Germany2025-09-18
1002Germany2025-09-07
1003Canada2025-09-09
1004India2025-09-27
1005Russia2025-09-25
1006India2025-09-03
1007Canada2025-09-01
1008Italy2025-08-31
1009Germany2025-08-30
1010Spain2025-09-10
1011Argentina2025-09-08
1012Australia2025-09-21
1013United Kingdom2025-09-04
1014India2025-09-17
1015Russia2025-08-29
1016Australia2025-09-25
1017United Kingdom2025-09-18
1018India2025-09-10
1019Brazil2025-09-20
1020United Kingdom2025-09-14
1021Spain2025-09-09
1022United Kingdom2025-09-12
1023United Kingdom2025-09-05
1024Russia2025-09-01
1025United Kingdom2025-09-23
1026Germany2025-09-02
1027Italy2025-09-11
1028Brazil2025-09-16
1029Canada2025-09-13
1030India2025-09-20
1031India2025-09-18
1032India2025-09-03
1033Germany2025-09-18
1034Canada2025-09-08
1035Spain2025-09-13
1036France2025-09-09
1037Russia2025-09-21
1038Spain2025-09-20
1039Japan2025-09-25
1040India2025-09-21
1041Germany2025-09-19
1042Germany2025-09-17
1043Canada2025-09-20
1044Australia2025-09-03
1045United Kingdom2025-08-29
1046Germany2025-09-07
1047India2025-09-10
1048Italy2025-08-29
1049Italy2025-09-07

On-Demand Data

NameIdCountryDate
Darci H Darakjy1000France2025-09-24
Munro M Venere1001Argentina2025-09-18
Mujtaba D Paprocki1002Japan2025-09-14
Antonio C Morasca1003Germany2025-09-22
Ricardo G Maclead1004United Kingdom2025-09-26
Leja P Inouye1005Japan2025-08-29
Mujtaba C Ostrosky1006Japan2025-09-17
David G Campain1007Australia2025-09-19
James V Vocelka1008United Kingdom2025-09-18
Darci S Gillian1009France2025-09-05
Juan D Gillian1010Argentina2025-09-01
Aditya R Waycott1011France2025-09-01
Salvatore G Figeroa1012France2025-09-27
Ashley S Doe1013Australia2025-09-14
Francesco A Dilliard1014Spain2025-08-30
Munro S Poquette1015Russia2025-09-16
Tony V Royster1016Australia2025-09-25
Wickens P Kusko1017India2025-09-23
Isabel H Saylors1018Japan2025-09-11
Maria X Iturbide1019Australia2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow M StockhamSpainAmy Elsner RENEWAL
Clifford B OldroydSpainAsiya Javayant UNQUALIFIED
Aditya V PerinArgentinaOnyama Limba NEGOTIATION
Costa X BriddickFranceBernardo Dominic QUALIFIED
Murillo M FlosiAustraliaAsiya Javayant QUALIFIED
David Z DoeItalyElwin Sharvill RENEWAL
Antonio T WhobreyGermanyAnna Fali UNQUALIFIED
Alejandro K DarakjyJapanOnyama Limba RENEWAL
Kadeem W RimSpainAsiya Javayant NEGOTIATION
Darci R RulapaughAustraliaAsiya Javayant PROPOSAL
Octavia A IturbideItalyOnyama Limba QUALIFIED
Jeanfrancois O RutaAustraliaIoni Bowcher RENEWAL
Chavez G GillianSpainIoni Bowcher NEGOTIATION
Kaitlin S SchemmerJapanIoni Bowcher NEGOTIATION
Aditya G InouyeCanadaIvan Magalhaes QUALIFIED
Emily O PoquetteFranceIoni Bowcher UNQUALIFIED
Salvatore T CaldareraArgentinaAsiya Javayant UNQUALIFIED
David M SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Wickens C AmigonItalyIoni Bowcher QUALIFIED
Juan O FerenczGermanyElwin Sharvill RENEWAL
Emily S VenereFranceStephen Shaw NEGOTIATION
Aika A WhobreyFranceAsiya Javayant NEGOTIATION
Maria N IturbideBrazilAmy Elsner QUALIFIED
Jefferson C CaldareraRussiaAmy Elsner UNQUALIFIED
Ashley M MaletArgentinaAsiya Javayant QUALIFIED
Francesco N FerenczGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois E KuskoArgentinaIoni Bowcher NEW
Julie Q BowleySpainBernardo Dominic NEGOTIATION
Leon V MorascaIndiaElwin Sharvill NEW
Kaitlin J RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Tony I FlosiArgentinaAsiya Javayant UNQUALIFIED
Rodrigues Q MaletJapanBernardo Dominic QUALIFIED
Izzy Q DilliardGermanyAsiya Javayant PROPOSAL
Isabel A SergiArgentinaElwin Sharvill NEGOTIATION
Julie O PaprockiJapanXuxue Feng PROPOSAL
Leja P SaylorsFranceIoni Bowcher PROPOSAL
Morrow J InouyeSpainStephen Shaw PROPOSAL
Murillo M WaycottSpainElwin Sharvill UNQUALIFIED
Jones B DilliardBrazilOnyama Limba QUALIFIED
Izzy O DilliardIndiaAsiya Javayant RENEWAL

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