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
Kaitlin A SlusarskiIndiaIvan Magalhaes RENEWAL
Rodrigues W ChuiAustraliaAmy Elsner RENEWAL
Murillo F RutaGermanyAnna Fali PROPOSAL
Stacey F NickaUnited KingdomAsiya Javayant NEGOTIATION
Wickens B DilliardIndiaAmy Elsner RENEWAL
Maria O FigeroaItalyXuxue Feng QUALIFIED
Stacey R GlickCanadaAmy Elsner PROPOSAL
Deepesh T RulapaughItalyXuxue Feng NEGOTIATION
Misaki O SaylorsRussiaAmy Elsner PROPOSAL
Chavez A GillianArgentinaAsiya Javayant NEW
Salvatore W MaletAustraliaBernardo Dominic RENEWAL
Deepesh L RutaRussiaAsiya Javayant UNQUALIFIED
Rodrigues U GauchoSpainAmy Elsner PROPOSAL
Wickens I FlosiIndiaAnna Fali PROPOSAL
Ivar N PoquetteBrazilAmy Elsner NEW
Darci K PerinUnited KingdomXuxue Feng NEW
Jennifer H FerenczFranceStephen Shaw NEW
Aruna W GillianUnited KingdomAsiya Javayant NEW
Misaki D PaprockiRussiaAnna Fali NEW
Deepesh K CaudyBrazilIoni Bowcher UNQUALIFIED
Misaki R ButtGermanyIvan Magalhaes NEW
Johnson V VocelkaJapanBernardo Dominic NEW
Sinclair J PaprockiRussiaOnyama Limba PROPOSAL
Leon D CaldareraGermanyAmy Elsner QUALIFIED
James V WieserCanadaElwin Sharvill NEW
Isabel C BriddickBrazilBernardo Dominic QUALIFIED
Emily K CaldareraJapanBernardo Dominic NEGOTIATION
Maria V MacleadItalyIvan Magalhaes NEW
Misaki G PoquetteAustraliaElwin Sharvill UNQUALIFIED
Faith B OstroskyGermanyXuxue Feng NEGOTIATION
Jones O SaylorsSpainAnna Fali NEW
Emily G MarrierAustraliaElwin Sharvill PROPOSAL
Chavez I PerinJapanXuxue Feng NEW
Jefferson T RulapaughJapanElwin Sharvill QUALIFIED
Rodrigues B AmigonSpainXuxue Feng NEGOTIATION
Mujtaba Q MorascaUnited KingdomStephen Shaw NEW
Kadeem L MarrierAustraliaAmy Elsner NEW
Johnson K GlickCanadaElwin Sharvill QUALIFIED
Stacey M PerinGermanyAnna Fali PROPOSAL
Smith J NestleAustraliaXuxue Feng QUALIFIED
Johnson U AlbaresArgentinaBernardo Dominic RENEWAL
Octavia I FlosiBrazilAmy Elsner RENEWAL
Octavia Q GauchoSpainElwin Sharvill NEGOTIATION
Francesco Z RulapaughIndiaIoni Bowcher NEGOTIATION
Adams C DoeIndiaAsiya Javayant QUALIFIED
Isabel P BologniaItalyBernardo Dominic QUALIFIED
Smith H ShinkoSpainBernardo Dominic UNQUALIFIED
Maisha L BologniaCanadaAnna Fali RENEWAL
Maria D BriddickGermanyXuxue Feng NEW
Greenwood W MaletJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro S VenereSpainIoni Bowcher NEGOTIATION
Izzy V MacleadIndiaAsiya Javayant PROPOSAL
Murillo M DoeJapanXuxue Feng NEGOTIATION
Arvin X VenereBrazilOnyama Limba NEGOTIATION
Nicolas A ShinkoAustraliaIoni Bowcher QUALIFIED
Alejandro O PerinUnited KingdomBernardo Dominic RENEWAL
Munro B DilliardUnited KingdomOnyama Limba RENEWAL
Jennifer X SaylorsUnited KingdomStephen Shaw PROPOSAL
Leja J TollnerArgentinaIvan Magalhaes NEGOTIATION
Izzy O CampainCanadaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James C SergiAustralia2025-09-20Chapman, Ross E Esq RENEWAL90Bernardo Dominic
1001Jones L TollnerAustralia2025-09-27Dorl, James J Esq NEW88Onyama Limba
1002Ricardo U GlickJapan2025-10-05Morlong Associates NEW44Xuxue Feng
1003Aruna U BologniaItaly2025-09-09Benton, John B Jr NEGOTIATION23Asiya Javayant
1004Juan I FlosiUnited Kingdom2025-09-19Morlong Associates NEW19Amy Elsner
1005Izzy U BriddickFrance2025-10-06Feiner Bros PROPOSAL52Ivan Magalhaes
1006Munro I SlusarskiCanada2025-09-13Chemel, James L Cpa PROPOSAL15Elwin Sharvill
1007James D ChuiJapan2025-10-01Rousseaux, Michael Esq RENEWAL76Bernardo Dominic
1008Mujtaba R ShinkoRussia2025-09-24Chapman, Ross E Esq UNQUALIFIED44Stephen Shaw
1009Leon H OstroskyRussia2025-09-13Dorl, James J Esq RENEWAL34Asiya Javayant
1010Juan R StensethJapan2025-09-08Dorl, James J Esq PROPOSAL23Elwin Sharvill
1011Juan X ButtBrazil2025-10-06King, Christopher A Esq RENEWAL25Bernardo Dominic
1012Jefferson C AlbaresJapan2025-09-24Buckley Miller Wright RENEWAL97Ioni Bowcher
1013James Q TollnerUnited Kingdom2025-09-21Chanay, Jeffrey A Esq RENEWAL35Onyama Limba
1014Julie G NestleUnited Kingdom2025-09-27Printing Dimensions NEGOTIATION20Elwin Sharvill
1015Kadeem U PaprockiRussia2025-09-11Feltz Printing Service UNQUALIFIED64Ivan Magalhaes
1016Tony H MarrierBrazil2025-09-23Feltz Printing Service QUALIFIED96Xuxue Feng
1017Wickens I GauchoSpain2025-10-05Truhlar And Truhlar Attys NEGOTIATION86Onyama Limba
1018Silvio B NestleFrance2025-10-05Chemel, James L Cpa NEGOTIATION6Stephen Shaw
1019Jennifer X RulapaughSpain2025-10-01King, Christopher A Esq NEGOTIATION8Onyama Limba
1020Rodrigues D BriddickUnited Kingdom2025-09-25Rousseaux, Michael Esq NEW49Ivan Magalhaes
1021Munro X SaylorsRussia2025-10-01Commercial Press NEGOTIATION94Anna Fali
1022Munro J RoysterFrance2025-10-06Feiner Bros RENEWAL57Xuxue Feng
1023Costa P CaldareraArgentina2025-09-16Rangoni Of Florence NEW0Stephen Shaw
1024Sinclair S StensethArgentina2025-09-12Chapman, Ross E Esq NEW62Amy Elsner
1025Cody Z PaprockiCanada2025-09-10Buckley Miller Wright NEW56Ioni Bowcher
1026Julie Q MorascaGermany2025-09-13Commercial Press NEGOTIATION6Stephen Shaw
1027Cody M NickaItaly2025-09-16Buckley Miller Wright PROPOSAL53Ioni Bowcher
1028James F ChuiCanada2025-10-01Dorl, James J Esq NEW29Ivan Magalhaes
1029Aruna P DoeGermany2025-09-13King, Christopher A Esq QUALIFIED6Onyama Limba
1030Antonio E PerinUnited Kingdom2025-09-20Benton, John B Jr PROPOSAL40Asiya Javayant
1031Salvatore A DilliardRussia2025-09-13Rangoni Of Florence NEGOTIATION16Stephen Shaw
1032Adams V GauchoJapan2025-09-08Printing Dimensions RENEWAL69Asiya Javayant
1033Antonio O AmigonAustralia2025-09-19Rousseaux, Michael Esq RENEWAL54Ivan Magalhaes
1034Morrow Y SchemmerItaly2025-09-29Printing Dimensions RENEWAL87Ivan Magalhaes
1035Jeanfrancois H CaldareraIndia2025-09-07Benton, John B Jr UNQUALIFIED63Stephen Shaw
1036Jennifer S CaldareraArgentina2025-09-11Morlong Associates RENEWAL61Elwin Sharvill
1037Smith X CampainRussia2025-09-22Benton, John B Jr UNQUALIFIED54Ivan Magalhaes
1038Nicolas A OstroskyGermany2025-10-04Truhlar And Truhlar Attys RENEWAL86Ivan Magalhaes
1039Jennifer V SchemmerRussia2025-09-19Rangoni Of Florence PROPOSAL74Ivan Magalhaes
1040Misaki N GillianItaly2025-10-01Chemel, James L Cpa NEW67Anna Fali
1041Clifford C PaprockiRussia2025-09-24Printing Dimensions RENEWAL93Bernardo Dominic
1042Ivar X MarrierRussia2025-10-05Morlong Associates RENEWAL59Ivan Magalhaes
1043Kaitlin U RimArgentina2025-09-08Chemel, James L Cpa PROPOSAL37Amy Elsner
1044Wickens I SergiJapan2025-10-06Morlong Associates UNQUALIFIED78Asiya Javayant
1045Nicolas O SchemmerUnited Kingdom2025-10-06Feltz Printing Service NEW17Onyama Limba
1046Aika O WhobreyUnited Kingdom2025-09-23Printing Dimensions NEGOTIATION45Anna Fali
1047Aika K DoeArgentina2025-09-26Feiner Bros NEW3Xuxue Feng
1048Izzy S RimIndia2025-09-16Printing Dimensions RENEWAL41Xuxue Feng
1049Arvin G GlickArgentina2025-09-12Morlong Associates NEW88Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F MarrierGermanyAnna Fali RENEWAL
Greenwood D SergiItalyIvan Magalhaes PROPOSAL
Smith Y GarufiAustraliaBernardo Dominic NEW
Rodrigues N RutaRussiaIvan Magalhaes NEGOTIATION
Darci P WieserSpainAmy Elsner PROPOSAL
Julie Z AmigonItalyAnna Fali UNQUALIFIED
Munro P DoeIndiaAmy Elsner NEW
Morrow T MorascaUnited KingdomXuxue Feng RENEWAL
Mayumi O FlosiSpainAnna Fali PROPOSAL
Izzy L SchemmerUnited KingdomStephen Shaw RENEWAL
Leja J WieserAustraliaStephen Shaw UNQUALIFIED
Smith B DilliardUnited KingdomAsiya Javayant RENEWAL
Smith M ChuiAustraliaOnyama Limba NEGOTIATION
Johnson M RulapaughFranceAsiya Javayant UNQUALIFIED
Morrow U KuskoFranceAsiya Javayant PROPOSAL
Johnson O GlickGermanyElwin Sharvill NEW
Maisha A BowleyCanadaIoni Bowcher NEW
Misaki Q OldroydGermanyIoni Bowcher PROPOSAL
Emily L DilliardFranceStephen Shaw PROPOSAL
Ashley Y RoysterSpainStephen Shaw QUALIFIED
Arvin A FlosiGermanyBernardo Dominic UNQUALIFIED
Munro L FigeroaUnited KingdomOnyama Limba QUALIFIED
Emily P GarufiRussiaAsiya Javayant PROPOSAL
Emily G MarrierItalyAnna Fali RENEWAL
David K FollerUnited KingdomOnyama Limba NEW
Clifford G AmigonGermanyXuxue Feng RENEWAL
Jones M InouyeFranceElwin Sharvill RENEWAL
Misaki R DarakjySpainElwin Sharvill NEGOTIATION
Kadeem M FigeroaAustraliaOnyama Limba UNQUALIFIED
Wickens Q SchemmerRussiaIvan Magalhaes NEGOTIATION
Smith U SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Wickens U GauchoFranceAmy Elsner PROPOSAL
Jeanfrancois F MorascaSpainIvan Magalhaes QUALIFIED
Wickens U GlickJapanOnyama Limba RENEWAL
Tony Z SergiRussiaAmy Elsner UNQUALIFIED
Jones H RimItalyBernardo Dominic NEGOTIATION
Munro K WieserJapanAnna Fali RENEWAL
Greenwood F VocelkaSpainElwin Sharvill RENEWAL
Sinclair J MaletJapanAmy Elsner NEGOTIATION
Julie I WhobreyJapanAnna Fali NEGOTIATION
Deepesh F RulapaughBrazilAmy Elsner NEGOTIATION
Antonio T GillianAustraliaIoni Bowcher NEGOTIATION
Alejandro M FigeroaFranceAsiya Javayant PROPOSAL
Claire O CampainGermanyAsiya Javayant UNQUALIFIED
Morrow B MorascaItalyOnyama Limba RENEWAL
Ivar J DarakjyIndiaXuxue Feng QUALIFIED
Arvin B SlusarskiIndiaElwin Sharvill PROPOSAL
Arvin J ChuiIndiaIvan Magalhaes UNQUALIFIED
Misaki K SlusarskiIndiaXuxue Feng NEGOTIATION
Wickens Y OstroskyFranceXuxue Feng NEW
Frozen Columns
Name
Chavez F Foller
Alejandro T Marrier
Darci O Foller
Alejandro P Ruta
Julie Z Slusarski
Costa D Caudy
Cody Z Malet
Ashley E Kusko
Deepesh Y Flosi
Wickens K Caudy
Kaitlin P Iturbide
Mujtaba C Schemmer
Jefferson A Wieser
Misaki A Bowley
Julie Y Perin
Mayumi J Tollner
Jeanfrancois D Morasca
Juan L Amigon
Sinclair B Darakjy
Emily F Stockham
Arvin I Kusko
Darci S Waycott
Francesco C Kolmetz
Ricardo S Poquette
Maisha X Caudy
Johnson M Royster
Aika Y Iturbide
Izzy V Stockham
Claire R Morasca
Jeanfrancois H Albares
Aditya D Kusko
Darci O Kusko
Julie N Glick
Leon V Caudy
Octavia C Amigon
David T Waycott
Aditya O Poquette
Stacey P Amigon
Ivar R Kolmetz
Julie A Dilliard
Darci R Stockham
Antonio J Ostrosky
Tony L Maclead
Jennifer L Flosi
Costa B Briddick
Silvio A Saylors
Aruna S Ruta
Ivar C Caldarera
Jennifer U Kusko
Rodrigues X Saylors
IdCountryDate
1000France2025-09-21
1001Japan2025-10-04
1002Canada2025-09-09
1003Spain2025-09-26
1004France2025-09-18
1005Australia2025-09-19
1006India2025-09-24
1007Spain2025-09-14
1008France2025-09-17
1009Japan2025-09-19
1010United Kingdom2025-09-14
1011Italy2025-09-11
1012Brazil2025-09-13
1013Italy2025-09-26
1014India2025-09-08
1015United Kingdom2025-09-07
1016Canada2025-09-19
1017Italy2025-09-17
1018India2025-09-09
1019Germany2025-10-04
1020Argentina2025-09-23
1021Spain2025-09-27
1022Japan2025-09-19
1023Italy2025-09-17
1024Russia2025-09-29
1025Canada2025-09-22
1026France2025-09-21
1027Germany2025-09-07
1028Brazil2025-10-04
1029Spain2025-09-28
1030Brazil2025-09-20
1031Canada2025-09-23
1032Argentina2025-09-18
1033Japan2025-09-20
1034Russia2025-09-11
1035Russia2025-09-26
1036Japan2025-09-17
1037Spain2025-09-29
1038India2025-10-02
1039Italy2025-09-13
1040Russia2025-09-23
1041Canada2025-09-30
1042United Kingdom2025-09-30
1043Japan2025-09-30
1044Italy2025-10-01
1045France2025-10-06
1046Russia2025-09-30
1047United Kingdom2025-09-16
1048Australia2025-10-05
1049Australia2025-09-15

On-Demand Data

NameIdCountryDate
Chavez B Doe1000Japan2025-09-08
Faith S Garufi1001Germany2025-09-10
Costa B Shinko1002Japan2025-09-27
Octavia R Campain1003France2025-09-12
Nicolas Y Albares1004India2025-09-07
Murillo M Garufi1005Canada2025-10-01
Darci F Chui1006Argentina2025-10-02
Arvin X Marrier1007Australia2025-09-27
Francesco G Sergi1008France2025-09-21
Leja Y Stenseth1009Argentina2025-09-08
Stacey Y Poquette1010Japan2025-09-21
Morrow B Ostrosky1011Spain2025-09-21
Clifford V Figeroa1012Canada2025-09-07
Isabel F Ostrosky1013Spain2025-09-10
Kadeem Z Ruta1014Italy2025-09-22
Tony L Caudy1015France2025-09-29
Jones Z Whobrey1016India2025-10-02
Costa Z Slusarski1017India2025-09-20
Rodrigues R Glick1018Russia2025-09-18
Silvio B Flosi1019Brazil2025-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore B FerenczJapanXuxue Feng UNQUALIFIED
Faith Z DoeBrazilAsiya Javayant NEW
Maria B AlbaresAustraliaAnna Fali RENEWAL
Aruna C NestleFranceAnna Fali RENEWAL
Antonio B DarakjyCanadaAmy Elsner PROPOSAL
Leon N SchemmerRussiaElwin Sharvill PROPOSAL
Deepesh G SchemmerGermanyBernardo Dominic QUALIFIED
Isabel J MorascaIndiaIoni Bowcher QUALIFIED
Octavia X StensethJapanAmy Elsner QUALIFIED
Arvin T GlickAustraliaOnyama Limba RENEWAL
James C GarufiUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois D RulapaughAustraliaIoni Bowcher NEGOTIATION
Ivar B MorascaUnited KingdomStephen Shaw UNQUALIFIED
Claire A CaldareraSpainAsiya Javayant RENEWAL
Tony K SaylorsArgentinaAsiya Javayant NEGOTIATION
Greenwood B SergiCanadaElwin Sharvill NEW
Munro L RutaFranceXuxue Feng RENEWAL
Smith L CaudyJapanIvan Magalhaes RENEWAL
Greenwood E GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Izzy Z BriddickUnited KingdomXuxue Feng QUALIFIED
Chavez I WieserAustraliaIoni Bowcher NEW
Claire F ShinkoFranceXuxue Feng RENEWAL
Deepesh S IturbideAustraliaIvan Magalhaes NEGOTIATION
Smith V VocelkaItalyOnyama Limba NEGOTIATION
Isabel O RulapaughFranceStephen Shaw NEGOTIATION
Aruna X GlickIndiaIoni Bowcher PROPOSAL
Antonio P RutaCanadaBernardo Dominic PROPOSAL
Izzy S AmigonIndiaIvan Magalhaes NEW
Ricardo I GillianRussiaStephen Shaw RENEWAL
Arvin J KuskoFranceOnyama Limba UNQUALIFIED
Chavez R GauchoJapanOnyama Limba RENEWAL
Isabel V FollerGermanyAnna Fali RENEWAL
Silvio G DilliardBrazilIvan Magalhaes NEW
Maria W KolmetzIndiaBernardo Dominic NEW
Silvio P StensethItalyXuxue Feng NEW
Mujtaba V CaldareraRussiaAsiya Javayant PROPOSAL
Juan J PoquetteUnited KingdomIvan Magalhaes NEW
Murillo Q StockhamGermanyIoni Bowcher NEW
Darci L NestleUnited KingdomAnna Fali NEW
Smith T NestleGermanyAmy Elsner 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>