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
Izzy M MorascaJapanIoni Bowcher NEW
Morrow F FerenczItalyOnyama Limba QUALIFIED
Johnson H SaylorsSpainAnna Fali PROPOSAL
Smith E GarufiCanadaXuxue Feng NEW
Clifford K AmigonItalyXuxue Feng UNQUALIFIED
Antonio B WhobreyArgentinaAsiya Javayant QUALIFIED
Francesco I WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Leon T RimAustraliaIvan Magalhaes QUALIFIED
Greenwood S AlbaresGermanyAmy Elsner RENEWAL
Rodrigues H SaylorsBrazilElwin Sharvill RENEWAL
Leon J InouyeAustraliaAmy Elsner RENEWAL
Isabel P PaprockiJapanOnyama Limba RENEWAL
Silvio V PaprockiBrazilXuxue Feng NEW
Morrow B SaylorsUnited KingdomAsiya Javayant PROPOSAL
Arvin B WaycottUnited KingdomAmy Elsner QUALIFIED
Munro Q MarrierUnited KingdomAnna Fali UNQUALIFIED
David N PoquetteJapanBernardo Dominic QUALIFIED
Greenwood I GarufiUnited KingdomBernardo Dominic NEGOTIATION
Mayumi A SchemmerSpainIoni Bowcher NEW
Ivar N OldroydCanadaAsiya Javayant QUALIFIED
Stacey E FollerAustraliaAnna Fali NEGOTIATION
Kaitlin L StensethGermanyIoni Bowcher QUALIFIED
Misaki H RulapaughRussiaAnna Fali UNQUALIFIED
Arvin F GlickUnited KingdomAsiya Javayant RENEWAL
Maria C MacleadGermanyIvan Magalhaes RENEWAL
Octavia S SergiJapanAmy Elsner PROPOSAL
Tony F NickaJapanIvan Magalhaes RENEWAL
Salvatore A VenereFranceIvan Magalhaes UNQUALIFIED
Jones V SchemmerIndiaAmy Elsner PROPOSAL
Wickens L VocelkaCanadaOnyama Limba RENEWAL
Mayumi G GauchoFranceBernardo Dominic PROPOSAL
Murillo L ShinkoCanadaBernardo Dominic NEW
Salvatore F TollnerJapanElwin Sharvill RENEWAL
Deepesh H DoeArgentinaAnna Fali QUALIFIED
Chavez R KolmetzRussiaIvan Magalhaes RENEWAL
Julie L WieserAustraliaBernardo Dominic NEW
Ricardo K KolmetzBrazilXuxue Feng NEGOTIATION
Smith D PerinItalyAmy Elsner NEW
Salvatore C InouyeRussiaIvan Magalhaes NEW
Kadeem E BologniaUnited KingdomOnyama Limba NEW
Julie N WhobreyCanadaStephen Shaw NEW
Juan I DarakjyJapanIvan Magalhaes RENEWAL
Murillo R OstroskyItalyBernardo Dominic PROPOSAL
Mujtaba E PerinGermanyAnna Fali NEGOTIATION
Wickens L SlusarskiBrazilXuxue Feng NEW
Misaki C FigeroaJapanXuxue Feng PROPOSAL
Mujtaba B ChuiFranceAnna Fali NEGOTIATION
Emily X ShinkoArgentinaOnyama Limba PROPOSAL
Jennifer E SchemmerArgentinaAsiya Javayant NEW
Stacey B InouyeFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika V NestleBrazilIvan Magalhaes NEW
Mujtaba O VocelkaUnited KingdomElwin Sharvill NEW
Aruna C WieserGermanyIoni Bowcher RENEWAL
Kadeem R MorascaJapanAnna Fali RENEWAL
David L RulapaughIndiaIoni Bowcher NEW
Isabel N PoquetteSpainOnyama Limba PROPOSAL
Claire O RulapaughSpainStephen Shaw NEW
Mayumi T WaycottAustraliaOnyama Limba NEW
David T OstroskyGermanyAsiya Javayant NEW
Jones N ShinkoRussiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow V OldroydBrazil2025-10-15Feltz Printing Service RENEWAL29Xuxue Feng
1001Aditya G KolmetzSpain2025-10-24Commercial Press NEGOTIATION28Asiya Javayant
1002Costa J SlusarskiIndia2025-10-24Benton, John B Jr QUALIFIED75Anna Fali
1003Mujtaba U SlusarskiFrance2025-10-28Dorl, James J Esq PROPOSAL45Stephen Shaw
1004Kadeem P InouyeRussia2025-10-28Rousseaux, Michael Esq RENEWAL41Onyama Limba
1005Rodrigues K GarufiSpain2025-10-12Truhlar And Truhlar Attys UNQUALIFIED32Amy Elsner
1006Antonio D MorascaFrance2025-10-10Morlong Associates UNQUALIFIED52Asiya Javayant
1007Faith C GillianItaly2025-10-23Rangoni Of Florence NEW23Stephen Shaw
1008Kadeem V ButtSpain2025-10-04Dorl, James J Esq NEGOTIATION22Ioni Bowcher
1009Octavia X InouyeJapan2025-10-15Commercial Press NEGOTIATION57Elwin Sharvill
1010Nicolas S BowleyBrazil2025-10-15Morlong Associates NEGOTIATION36Ivan Magalhaes
1011Munro K FlosiJapan2025-10-04Morlong Associates NEGOTIATION3Amy Elsner
1012Jones U MorascaJapan2025-10-25Commercial Press NEGOTIATION5Asiya Javayant
1013Misaki E MorascaItaly2025-11-01Chemel, James L Cpa RENEWAL36Xuxue Feng
1014James H FlosiItaly2025-10-29Feiner Bros NEGOTIATION87Bernardo Dominic
1015Morrow F MorascaFrance2025-10-04Rousseaux, Michael Esq QUALIFIED40Ioni Bowcher
1016Jennifer H PerinRussia2025-10-07Rousseaux, Michael Esq NEW73Onyama Limba
1017Francesco H GlickIndia2025-10-21Chapman, Ross E Esq NEGOTIATION87Bernardo Dominic
1018Nicolas I FlosiArgentina2025-10-27Printing Dimensions QUALIFIED20Anna Fali
1019Salvatore C BowleySpain2025-10-05Morlong Associates NEGOTIATION76Onyama Limba
1020Francesco J SchemmerRussia2025-10-11King, Christopher A Esq PROPOSAL38Onyama Limba
1021Claire N MaletSpain2025-10-12Benton, John B Jr QUALIFIED7Bernardo Dominic
1022Francesco L BriddickItaly2025-10-28Rangoni Of Florence QUALIFIED64Ioni Bowcher
1023Emily N RulapaughIndia2025-10-23Benton, John B Jr NEW96Ivan Magalhaes
1024Emily I StockhamJapan2025-10-28Chanay, Jeffrey A Esq PROPOSAL40Xuxue Feng
1025Ashley C SergiJapan2025-11-01Benton, John B Jr RENEWAL17Anna Fali
1026Jennifer O DoeCanada2025-10-29Benton, John B Jr NEW89Onyama Limba
1027Adams V GillianIndia2025-10-16Feiner Bros NEGOTIATION36Asiya Javayant
1028Johnson N RimSpain2025-11-01Commercial Press UNQUALIFIED30Elwin Sharvill
1029Deepesh Z SaylorsGermany2025-10-25Printing Dimensions NEGOTIATION40Elwin Sharvill
1030Julie J SergiUnited Kingdom2025-10-22Dorl, James J Esq NEW78Xuxue Feng
1031Nicolas R AlbaresCanada2025-10-23Morlong Associates QUALIFIED11Ioni Bowcher
1032Clifford B RoysterAustralia2025-10-24Benton, John B Jr QUALIFIED18Anna Fali
1033Mayumi J AlbaresGermany2025-10-09Truhlar And Truhlar Attys NEW48Asiya Javayant
1034Johnson K KuskoIndia2025-10-20Chemel, James L Cpa RENEWAL87Amy Elsner
1035Kadeem B KolmetzGermany2025-10-27Commercial Press QUALIFIED3Asiya Javayant
1036Cody L KolmetzIndia2025-10-15Rangoni Of Florence NEW2Ioni Bowcher
1037Antonio P ButtCanada2025-10-29Chanay, Jeffrey A Esq UNQUALIFIED94Ioni Bowcher
1038Tony P RulapaughJapan2025-10-30Rousseaux, Michael Esq QUALIFIED83Onyama Limba
1039Kaitlin U RutaAustralia2025-10-16Rangoni Of Florence PROPOSAL88Amy Elsner
1040Aruna C VenereJapan2025-10-28Commercial Press NEGOTIATION26Elwin Sharvill
1041Johnson N GillianGermany2025-10-08Benton, John B Jr PROPOSAL54Elwin Sharvill
1042Leon K FollerIndia2025-10-04Benton, John B Jr QUALIFIED95Ioni Bowcher
1043Salvatore H FlosiGermany2025-10-26Chapman, Ross E Esq UNQUALIFIED94Xuxue Feng
1044Smith N RutaJapan2025-10-20Buckley Miller Wright NEW92Ioni Bowcher
1045Aditya D RimGermany2025-10-07Chemel, James L Cpa UNQUALIFIED94Anna Fali
1046Ricardo W PoquetteItaly2025-10-25Chemel, James L Cpa PROPOSAL25Elwin Sharvill
1047Julie F KolmetzCanada2025-10-29Printing Dimensions QUALIFIED14Onyama Limba
1048Claire I FollerFrance2025-10-09Benton, John B Jr NEW34Stephen Shaw
1049James E ShinkoAustralia2025-10-03Printing Dimensions RENEWAL49Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha R VenereGermanyBernardo Dominic RENEWAL
Ricardo Q BriddickBrazilIvan Magalhaes RENEWAL
Costa M SergiSpainXuxue Feng NEW
Leja T CaudyCanadaElwin Sharvill NEW
David U OldroydAustraliaElwin Sharvill UNQUALIFIED
Adams T FollerBrazilAnna Fali PROPOSAL
Kaitlin C PerinBrazilAsiya Javayant UNQUALIFIED
Johnson R AmigonFranceAsiya Javayant NEW
Stacey Z WieserCanadaElwin Sharvill QUALIFIED
Costa C AlbaresGermanyOnyama Limba PROPOSAL
Alejandro Q FollerSpainStephen Shaw PROPOSAL
Alejandro F BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin G IturbideRussiaStephen Shaw NEGOTIATION
Adams U BriddickGermanyBernardo Dominic RENEWAL
Faith S ShinkoItalyBernardo Dominic QUALIFIED
Jones L MarrierCanadaAsiya Javayant UNQUALIFIED
Stacey I NickaGermanyElwin Sharvill QUALIFIED
Tony M RoysterGermanyOnyama Limba NEGOTIATION
Cody Q VenereUnited KingdomIvan Magalhaes NEW
Jennifer Z OldroydJapanIvan Magalhaes RENEWAL
Jeanfrancois X PerinSpainIvan Magalhaes PROPOSAL
Antonio J SchemmerCanadaBernardo Dominic UNQUALIFIED
Clifford M FigeroaSpainStephen Shaw NEW
Claire R OstroskyRussiaBernardo Dominic NEW
David C MaletJapanAsiya Javayant NEW
Mujtaba O FigeroaFranceOnyama Limba UNQUALIFIED
Octavia J MarrierSpainOnyama Limba NEW
Octavia H ButtIndiaXuxue Feng QUALIFIED
Jennifer Y TollnerFranceElwin Sharvill RENEWAL
Aditya Z SaylorsAustraliaStephen Shaw NEW
Maisha A RoysterItalyIoni Bowcher NEGOTIATION
Jennifer W DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Cody D InouyeIndiaBernardo Dominic NEGOTIATION
Claire H CaldareraIndiaElwin Sharvill NEW
Tony B MaletIndiaIoni Bowcher NEGOTIATION
Deepesh Y IturbideGermanyAsiya Javayant RENEWAL
Smith Q BowleyIndiaIoni Bowcher UNQUALIFIED
Antonio J BriddickJapanOnyama Limba NEGOTIATION
Jefferson V SchemmerIndiaXuxue Feng UNQUALIFIED
Smith W FollerUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo B GillianIndiaAsiya Javayant RENEWAL
Morrow Y CaudyUnited KingdomIvan Magalhaes NEW
Aruna Q MaletGermanyIoni Bowcher RENEWAL
Julie G DoeUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois X PerinAustraliaAmy Elsner QUALIFIED
Aditya T KolmetzIndiaAnna Fali NEGOTIATION
Claire W NickaSpainAmy Elsner PROPOSAL
Aika O MorascaSpainIoni Bowcher PROPOSAL
Claire E KuskoUnited KingdomOnyama Limba NEGOTIATION
Rodrigues O MaletRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Adams B Campain
Munro N Schemmer
Costa O Rulapaugh
Isabel M Wieser
Johnson D Malet
Kaitlin Q Ruta
Izzy Z Malet
Antonio P Whobrey
Deepesh D Vocelka
Aruna Q Nicka
Nicolas S Ferencz
Aruna M Stockham
Juan U Marrier
Antonio O Rim
Octavia I Butt
Ivar M Amigon
Stacey Q Royster
Aditya L Sergi
Ivar X Butt
Munro H Caudy
Aditya A Malet
Rodrigues I Rim
Emily K Paprocki
Claire I Amigon
Stacey D Gillian
Aditya P Venere
Jones E Paprocki
Wickens A Bowley
Stacey M Rulapaugh
Ricardo Y Poquette
Isabel H Caldarera
Maisha E Dilliard
Leja C Ruta
David Y Slusarski
Misaki I Campain
Johnson X Amigon
Costa T Venere
Ricardo O Stockham
Greenwood N Saylors
Aika P Albares
Ricardo F Figeroa
Salvatore G Butt
Kadeem K Briddick
Greenwood W Saylors
Salvatore M Malet
Alejandro M Shinko
Jeanfrancois H Rim
Kadeem Z Sergi
Deepesh Z Doe
Antonio F Gaucho
IdCountryDate
1000Australia2025-10-06
1001Argentina2025-10-08
1002Japan2025-10-27
1003India2025-10-03
1004United Kingdom2025-10-09
1005Argentina2025-10-15
1006India2025-10-30
1007France2025-10-28
1008Italy2025-10-21
1009France2025-10-04
1010United Kingdom2025-10-05
1011Italy2025-10-27
1012Japan2025-10-04
1013France2025-10-23
1014Italy2025-10-04
1015India2025-10-24
1016Germany2025-10-30
1017Brazil2025-10-28
1018Japan2025-10-09
1019Argentina2025-10-12
1020Italy2025-10-26
1021Japan2025-10-23
1022Brazil2025-10-11
1023Canada2025-10-10
1024Argentina2025-10-20
1025United Kingdom2025-10-11
1026France2025-10-20
1027Australia2025-10-07
1028Australia2025-10-06
1029Germany2025-10-10
1030India2025-10-26
1031Canada2025-10-27
1032Spain2025-10-16
1033Germany2025-10-15
1034Russia2025-10-22
1035France2025-10-07
1036Canada2025-10-10
1037India2025-10-16
1038Argentina2025-10-24
1039India2025-10-12
1040Russia2025-10-23
1041Australia2025-10-24
1042Brazil2025-11-01
1043India2025-10-27
1044United Kingdom2025-10-30
1045Australia2025-10-19
1046Argentina2025-10-21
1047Italy2025-10-15
1048Spain2025-10-11
1049Japan2025-10-14

On-Demand Data

NameIdCountryDate
Misaki N Caudy1000Russia2025-10-11
Darci M Bolognia1001Japan2025-10-11
Aika R Figeroa1002Canada2025-10-05
James P Glick1003Spain2025-10-22
Clifford C Nestle1004Russia2025-10-30
Jeanfrancois B Sergi1005Germany2025-10-25
Octavia J Gillian1006France2025-10-27
Francesco K Malet1007United Kingdom2025-10-26
Juan I Venere1008Spain2025-10-23
Salvatore U Perin1009Australia2025-10-29
Stacey P Marrier1010Italy2025-10-14
Izzy H Paprocki1011Japan2025-10-11
Murillo V Chui1012Italy2025-10-25
Smith O Briddick1013Germany2025-10-22
Octavia E Stockham1014Brazil2025-10-25
Julie C Gaucho1015India2025-10-21
Aruna Z Bowley1016Japan2025-10-22
Smith D Slusarski1017Russia2025-10-13
Leon V Bolognia1018Italy2025-10-23
Octavia I Royster1019France2025-10-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez Q GlickRussiaStephen Shaw PROPOSAL
Greenwood I AmigonUnited KingdomAmy Elsner UNQUALIFIED
Salvatore C CaudyItalyBernardo Dominic NEGOTIATION
Costa Q DarakjyRussiaBernardo Dominic NEW
Ashley D FerenczBrazilElwin Sharvill NEGOTIATION
Costa N MorascaCanadaXuxue Feng RENEWAL
Alejandro Z CaldareraArgentinaIvan Magalhaes QUALIFIED
Julie K GlickCanadaIoni Bowcher NEGOTIATION
Aika P MaletJapanOnyama Limba NEGOTIATION
Faith W PoquetteSpainAnna Fali NEGOTIATION
Darci U MaletBrazilIoni Bowcher NEW
Cody P AlbaresCanadaAmy Elsner UNQUALIFIED
Morrow Z MarrierItalyAnna Fali PROPOSAL
Francesco O CaldareraCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois W InouyeArgentinaXuxue Feng PROPOSAL
Faith Y RoysterBrazilAnna Fali PROPOSAL
Greenwood M DoeIndiaIvan Magalhaes UNQUALIFIED
Emily F StensethJapanXuxue Feng RENEWAL
Smith I BowleyFranceBernardo Dominic NEW
Aika V PoquetteAustraliaOnyama Limba NEW
Murillo A MarrierSpainStephen Shaw PROPOSAL
Emily C RoysterBrazilBernardo Dominic NEGOTIATION
Ricardo N WaycottFranceIoni Bowcher QUALIFIED
Izzy G ChuiFranceIoni Bowcher QUALIFIED
Mujtaba G ButtSpainAmy Elsner NEGOTIATION
Clifford R KolmetzSpainAnna Fali PROPOSAL
Emily M GillianFranceStephen Shaw PROPOSAL
Smith S RimCanadaXuxue Feng PROPOSAL
Johnson D NickaAustraliaXuxue Feng PROPOSAL
Claire F MaletItalyAmy Elsner QUALIFIED
Darci B CaudyBrazilIoni Bowcher PROPOSAL
Adams Z MacleadSpainOnyama Limba NEW
Morrow L RimRussiaElwin Sharvill PROPOSAL
Jones S MacleadFranceOnyama Limba NEGOTIATION
Greenwood B RulapaughArgentinaAnna Fali NEW
Julie J KolmetzJapanAmy Elsner UNQUALIFIED
Aditya N KuskoAustraliaAnna Fali NEGOTIATION
Johnson W VenereUnited KingdomOnyama Limba QUALIFIED
Emily P AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Adams F OldroydIndiaIoni Bowcher 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>