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
Francesco D FigeroaBrazilOnyama Limba PROPOSAL
Arvin P NickaCanadaElwin Sharvill NEGOTIATION
Jeanfrancois Z NickaUnited KingdomIoni Bowcher NEGOTIATION
Greenwood P OstroskyCanadaAsiya Javayant UNQUALIFIED
Aruna F FlosiSpainAsiya Javayant NEW
Mayumi I RoysterFranceAsiya Javayant QUALIFIED
Rodrigues O BowleyAustraliaXuxue Feng PROPOSAL
James U RulapaughGermanyAsiya Javayant UNQUALIFIED
Chavez Q TollnerCanadaAmy Elsner NEW
Ashley Q GillianBrazilAnna Fali NEGOTIATION
Julie R BologniaItalyAsiya Javayant NEGOTIATION
Faith D WhobreyAustraliaXuxue Feng QUALIFIED
Rodrigues F KolmetzSpainAsiya Javayant QUALIFIED
Stacey L DoeAustraliaElwin Sharvill NEW
Antonio A AmigonFranceAnna Fali QUALIFIED
Jeanfrancois Y SergiCanadaAnna Fali PROPOSAL
Jones C ShinkoRussiaBernardo Dominic QUALIFIED
David J SergiFranceOnyama Limba NEW
Costa D CaldareraUnited KingdomElwin Sharvill PROPOSAL
Maisha M MaletGermanyAmy Elsner UNQUALIFIED
Claire Y VenereItalyAmy Elsner QUALIFIED
Ivar T CampainSpainStephen Shaw UNQUALIFIED
Murillo Q GlickItalyOnyama Limba RENEWAL
Silvio W VenereAustraliaIoni Bowcher UNQUALIFIED
Mayumi T MacleadCanadaIvan Magalhaes PROPOSAL
Jones X BowleyBrazilElwin Sharvill NEW
Leon W BologniaBrazilAnna Fali RENEWAL
Darci M BowleyRussiaBernardo Dominic RENEWAL
Ricardo F MaletCanadaXuxue Feng RENEWAL
Clifford T GlickGermanyIoni Bowcher QUALIFIED
Ricardo D GauchoAustraliaBernardo Dominic UNQUALIFIED
Alejandro P MaletRussiaStephen Shaw UNQUALIFIED
Maisha P MarrierCanadaBernardo Dominic PROPOSAL
Misaki C AlbaresRussiaAmy Elsner RENEWAL
Silvio E FollerAustraliaAnna Fali UNQUALIFIED
Kadeem C GauchoAustraliaBernardo Dominic RENEWAL
Greenwood R FerenczJapanXuxue Feng PROPOSAL
Johnson R DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio S SaylorsFranceElwin Sharvill RENEWAL
Darci J BriddickItalyBernardo Dominic NEGOTIATION
Maria I OstroskyRussiaIoni Bowcher NEGOTIATION
Deepesh Y KuskoArgentinaAnna Fali UNQUALIFIED
Julie Z SlusarskiFranceBernardo Dominic PROPOSAL
Claire C BowleyFranceOnyama Limba NEGOTIATION
Alejandro F BowleyGermanyAmy Elsner NEGOTIATION
Munro O VenereFranceAmy Elsner QUALIFIED
Ricardo R SaylorsArgentinaIoni Bowcher RENEWAL
Tony W RutaSpainIvan Magalhaes NEGOTIATION
Juan N DoeSpainOnyama Limba RENEWAL
Julie O PerinUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio E DarakjySpainXuxue Feng RENEWAL
Aruna Z WieserCanadaBernardo Dominic RENEWAL
Jefferson Y ChuiJapanBernardo Dominic PROPOSAL
Jones C GlickGermanyIoni Bowcher NEGOTIATION
Isabel L VocelkaAustraliaAnna Fali RENEWAL
Maisha D FerenczJapanOnyama Limba PROPOSAL
Francesco N ButtGermanyOnyama Limba RENEWAL
Munro B RutaSpainAmy Elsner RENEWAL
Chavez V SchemmerUnited KingdomXuxue Feng PROPOSAL
Leon Y VocelkaRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas G PaprockiItaly2025-08-06Dorl, James J Esq UNQUALIFIED49Bernardo Dominic
1001Clifford H OstroskyBrazil2025-08-27Commercial Press PROPOSAL62Ivan Magalhaes
1002Cody U SchemmerArgentina2025-08-07King, Christopher A Esq QUALIFIED75Onyama Limba
1003Maisha U RoysterRussia2025-08-27Truhlar And Truhlar Attys PROPOSAL77Ivan Magalhaes
1004Maria S RutaUnited Kingdom2025-08-07Buckley Miller Wright RENEWAL36Amy Elsner
1005Antonio K MacleadIndia2025-08-10Chemel, James L Cpa NEGOTIATION20Xuxue Feng
1006Kadeem G DoeCanada2025-08-03Chapman, Ross E Esq UNQUALIFIED46Onyama Limba
1007Tony E AlbaresSpain2025-08-05Feiner Bros NEGOTIATION69Onyama Limba
1008Nicolas I FollerSpain2025-08-24Benton, John B Jr RENEWAL3Onyama Limba
1009Arvin H RulapaughCanada2025-08-18Printing Dimensions NEGOTIATION50Elwin Sharvill
1010Isabel A PerinFrance2025-08-19Dorl, James J Esq UNQUALIFIED24Bernardo Dominic
1011Emily X AmigonIndia2025-08-10Printing Dimensions QUALIFIED89Ivan Magalhaes
1012James K SchemmerIndia2025-07-30Feltz Printing Service NEGOTIATION96Anna Fali
1013Rodrigues B GlickAustralia2025-08-22Dorl, James J Esq NEGOTIATION95Onyama Limba
1014Jones C PoquetteGermany2025-08-27Feltz Printing Service PROPOSAL2Anna Fali
1015Wickens V SchemmerAustralia2025-08-12Feiner Bros PROPOSAL66Asiya Javayant
1016Maisha X FerenczArgentina2025-08-17Commercial Press NEGOTIATION39Xuxue Feng
1017James B MaletSpain2025-08-08Chemel, James L Cpa NEGOTIATION73Stephen Shaw
1018Tony D WhobreyBrazil2025-07-30Morlong Associates UNQUALIFIED84Onyama Limba
1019Misaki F VocelkaFrance2025-08-03Feiner Bros UNQUALIFIED85Xuxue Feng
1020Jefferson T BriddickRussia2025-08-18Chemel, James L Cpa RENEWAL85Elwin Sharvill
1021Mayumi L MacleadFrance2025-08-11Chanay, Jeffrey A Esq UNQUALIFIED96Anna Fali
1022Nicolas C KuskoUnited Kingdom2025-08-10Rangoni Of Florence NEGOTIATION82Bernardo Dominic
1023Kaitlin O WaycottJapan2025-08-11Rousseaux, Michael Esq QUALIFIED74Xuxue Feng
1024Jennifer M DilliardBrazil2025-08-15Truhlar And Truhlar Attys UNQUALIFIED31Stephen Shaw
1025Johnson X MacleadIndia2025-08-10Commercial Press PROPOSAL73Ioni Bowcher
1026Kaitlin C ButtJapan2025-08-12Buckley Miller Wright NEW36Ivan Magalhaes
1027Munro I WaycottGermany2025-08-15Commercial Press PROPOSAL71Onyama Limba
1028Emily F OldroydIndia2025-08-25Feiner Bros QUALIFIED30Ivan Magalhaes
1029Greenwood G KolmetzBrazil2025-07-30Printing Dimensions QUALIFIED15Onyama Limba
1030Greenwood H GillianUnited Kingdom2025-08-23King, Christopher A Esq UNQUALIFIED12Ivan Magalhaes
1031Mujtaba O BowleyGermany2025-08-20Dorl, James J Esq NEGOTIATION70Ivan Magalhaes
1032Rodrigues Q BriddickJapan2025-08-20Truhlar And Truhlar Attys UNQUALIFIED73Ioni Bowcher
1033Maria C WhobreyJapan2025-08-15Rousseaux, Michael Esq PROPOSAL29Elwin Sharvill
1034James J SlusarskiArgentina2025-08-13Chemel, James L Cpa NEW98Ioni Bowcher
1035Ivar G ButtGermany2025-07-31Truhlar And Truhlar Attys QUALIFIED30Anna Fali
1036Smith X TollnerItaly2025-08-27Chanay, Jeffrey A Esq NEGOTIATION53Elwin Sharvill
1037Leon O TollnerItaly2025-08-13Printing Dimensions NEW76Elwin Sharvill
1038Jones B FigeroaBrazil2025-08-06Commercial Press PROPOSAL12Onyama Limba
1039Stacey T SergiIndia2025-08-06Chanay, Jeffrey A Esq RENEWAL98Asiya Javayant
1040Mujtaba V GauchoItaly2025-08-12Printing Dimensions QUALIFIED48Asiya Javayant
1041Mujtaba Z RoysterGermany2025-08-19Rousseaux, Michael Esq PROPOSAL17Asiya Javayant
1042Chavez B StockhamItaly2025-08-18Chemel, James L Cpa RENEWAL24Bernardo Dominic
1043Munro D FlosiArgentina2025-08-22King, Christopher A Esq RENEWAL41Xuxue Feng
1044Johnson T WhobreyIndia2025-08-01King, Christopher A Esq NEW56Anna Fali
1045Ashley L SchemmerSpain2025-08-20Commercial Press PROPOSAL34Elwin Sharvill
1046Tony L PoquetteGermany2025-08-12Buckley Miller Wright NEGOTIATION31Elwin Sharvill
1047Munro S KolmetzRussia2025-08-11Feltz Printing Service NEGOTIATION43Elwin Sharvill
1048Jennifer P InouyeFrance2025-08-16Chemel, James L Cpa NEGOTIATION94Asiya Javayant
1049David E MaletIndia2025-08-10Morlong Associates NEW76Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Q MorascaRussiaStephen Shaw QUALIFIED
Faith X RutaSpainStephen Shaw NEW
Aditya Y FollerIndiaOnyama Limba QUALIFIED
Sinclair J PerinItalyIoni Bowcher RENEWAL
Munro K DilliardGermanyAnna Fali QUALIFIED
Arvin H SlusarskiIndiaAsiya Javayant UNQUALIFIED
Mayumi Z OldroydArgentinaAnna Fali PROPOSAL
Costa X CaudyUnited KingdomXuxue Feng QUALIFIED
David Z ButtCanadaIoni Bowcher RENEWAL
Rodrigues A WhobreySpainXuxue Feng RENEWAL
Maisha I PaprockiAustraliaStephen Shaw UNQUALIFIED
Munro Q KuskoBrazilAmy Elsner PROPOSAL
Adams V DilliardFranceXuxue Feng NEW
Darci R FerenczItalyBernardo Dominic UNQUALIFIED
Claire I OldroydJapanAmy Elsner NEW
Ashley I RutaFranceOnyama Limba RENEWAL
Leon Q SlusarskiAustraliaStephen Shaw NEW
Emily B AlbaresUnited KingdomAsiya Javayant RENEWAL
Jennifer R MorascaAustraliaAnna Fali NEW
Antonio V GauchoGermanyAmy Elsner NEGOTIATION
Kadeem A RutaCanadaIvan Magalhaes NEW
Ashley N KuskoGermanyBernardo Dominic NEGOTIATION
Jefferson P PerinBrazilAnna Fali QUALIFIED
Nicolas R FigeroaGermanyIoni Bowcher NEW
Arvin K PoquetteJapanIoni Bowcher QUALIFIED
Rodrigues E RutaRussiaAmy Elsner NEW
Kaitlin F GauchoSpainXuxue Feng RENEWAL
Arvin P VenereRussiaAmy Elsner NEW
Maria Y BologniaIndiaIoni Bowcher QUALIFIED
James S DoeBrazilBernardo Dominic NEGOTIATION
Smith H FerenczItalyAsiya Javayant UNQUALIFIED
Morrow Z MacleadFranceStephen Shaw NEGOTIATION
Isabel G DarakjyBrazilElwin Sharvill NEGOTIATION
Costa R WieserItalyIoni Bowcher UNQUALIFIED
Francesco X TollnerFranceStephen Shaw NEGOTIATION
Ashley D MarrierUnited KingdomAmy Elsner QUALIFIED
Greenwood V FigeroaAustraliaAmy Elsner UNQUALIFIED
Morrow F RimRussiaOnyama Limba PROPOSAL
Faith J GarufiItalyAnna Fali QUALIFIED
David L RoysterItalyIvan Magalhaes PROPOSAL
Jennifer N BowleyGermanyIoni Bowcher RENEWAL
Octavia T SchemmerCanadaOnyama Limba RENEWAL
Aika G CampainCanadaStephen Shaw NEGOTIATION
Leon J CampainUnited KingdomAsiya Javayant PROPOSAL
Jones T PaprockiUnited KingdomAnna Fali NEW
Ricardo Z CaudyItalyElwin Sharvill NEGOTIATION
Arvin G SchemmerRussiaXuxue Feng NEGOTIATION
Nicolas N ShinkoItalyOnyama Limba NEGOTIATION
Nicolas F GillianRussiaStephen Shaw NEGOTIATION
Silvio H PerinJapanAnna Fali PROPOSAL
Frozen Columns
Name
Costa M Doe
Chavez L Whobrey
David N Albares
Maisha E Shinko
Chavez F Bowley
James U Figeroa
Leon E Kolmetz
Maria T Doe
Deepesh Z Doe
Maisha R Doe
Aruna C Chui
James P Campain
Wickens U Bowley
Maisha P Campain
Alejandro D Kolmetz
Julie F Butt
Jennifer J Schemmer
Claire O Vocelka
Izzy D Kusko
Juan J Campain
Jefferson S Perin
Cody J Albares
Silvio C Kolmetz
Clifford Z Iturbide
Costa G Ferencz
Ashley P Perin
Darci H Perin
Sinclair I Malet
Aruna I Shinko
Emily K Kusko
Clifford F Doe
Stacey L Nicka
Rodrigues U Venere
Antonio P Perin
Johnson K Garufi
Jeanfrancois M Rim
Jones H Flosi
Aditya K Whobrey
Jones A Vocelka
Deepesh V Waycott
Murillo Y Butt
Salvatore O Nicka
Mayumi A Tollner
Aditya X Tollner
Maisha N Chui
Octavia H Ruta
Ashley Q Butt
Jefferson G Malet
Rodrigues F Tollner
Jones O Garufi
IdCountryDate
1000France2025-08-21
1001Italy2025-08-15
1002Germany2025-08-03
1003United Kingdom2025-08-22
1004Russia2025-08-10
1005Argentina2025-08-16
1006Canada2025-08-13
1007India2025-08-11
1008Italy2025-08-24
1009Germany2025-08-20
1010Argentina2025-07-31
1011Canada2025-08-14
1012Russia2025-08-08
1013Spain2025-08-03
1014Canada2025-08-21
1015Canada2025-08-26
1016Italy2025-08-06
1017Spain2025-08-27
1018France2025-08-14
1019Argentina2025-08-28
1020India2025-08-20
1021United Kingdom2025-08-02
1022Japan2025-08-21
1023Argentina2025-08-06
1024Germany2025-08-03
1025Japan2025-08-01
1026France2025-08-05
1027India2025-08-28
1028Russia2025-08-24
1029Japan2025-08-17
1030Italy2025-08-12
1031Canada2025-08-22
1032India2025-08-27
1033Italy2025-07-31
1034France2025-08-05
1035Germany2025-08-20
1036Japan2025-08-14
1037Brazil2025-08-05
1038Russia2025-08-01
1039Canada2025-08-05
1040Australia2025-08-06
1041India2025-08-02
1042France2025-08-07
1043Argentina2025-08-04
1044Australia2025-08-23
1045Italy2025-08-09
1046United Kingdom2025-08-17
1047Australia2025-07-31
1048Spain2025-08-15
1049Argentina2025-08-27

On-Demand Data

NameIdCountryDate
Tony I Nicka1000Japan2025-08-23
Jeanfrancois T Tollner1001United Kingdom2025-08-18
Wickens B Kusko1002Russia2025-08-11
Stacey U Bolognia1003Brazil2025-08-26
Stacey W Chui1004United Kingdom2025-08-28
Cody R Chui1005India2025-08-17
Leja N Ruta1006Brazil2025-08-04
Cody A Doe1007India2025-08-09
Faith E Rulapaugh1008Japan2025-08-11
Greenwood G Maclead1009Japan2025-08-14
Arvin P Glick1010Germany2025-08-18
Ivar B Whobrey1011Italy2025-08-23
Johnson C Glick1012Australia2025-08-15
Clifford P Nestle1013India2025-08-04
Stacey X Whobrey1014Spain2025-08-10
Chavez E Rulapaugh1015Australia2025-08-03
Isabel H Shinko1016Canada2025-08-20
Octavia M Royster1017France2025-08-17
Juan F Albares1018Russia2025-08-28
Adams K Saylors1019Japan2025-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan I DarakjyRussiaXuxue Feng QUALIFIED
Darci C KuskoIndiaIvan Magalhaes RENEWAL
Johnson U DilliardGermanyIoni Bowcher NEW
Julie Y ChuiRussiaIvan Magalhaes NEW
Juan J InouyeArgentinaXuxue Feng RENEWAL
Rodrigues K WaycottIndiaBernardo Dominic RENEWAL
Nicolas K BriddickIndiaAsiya Javayant UNQUALIFIED
Greenwood C OstroskyBrazilStephen Shaw QUALIFIED
Maisha I TollnerBrazilStephen Shaw NEW
Adams M InouyeBrazilOnyama Limba PROPOSAL
Julie H ButtJapanAnna Fali RENEWAL
Alejandro U BowleyJapanElwin Sharvill NEW
Stacey E VocelkaAustraliaAmy Elsner UNQUALIFIED
Mujtaba H MarrierFranceAmy Elsner PROPOSAL
Jeanfrancois U NickaFranceAnna Fali NEGOTIATION
Johnson D OldroydRussiaStephen Shaw RENEWAL
Deepesh U FerenczItalyAmy Elsner QUALIFIED
Wickens F KolmetzItalyAnna Fali QUALIFIED
Jefferson S StockhamArgentinaBernardo Dominic QUALIFIED
David W AmigonUnited KingdomBernardo Dominic NEW
Maisha D FigeroaBrazilStephen Shaw QUALIFIED
Alejandro F NestleSpainIoni Bowcher UNQUALIFIED
Rodrigues D StockhamBrazilAsiya Javayant NEW
Deepesh Q BologniaBrazilXuxue Feng NEGOTIATION
Jennifer D AlbaresRussiaBernardo Dominic NEGOTIATION
Francesco R GarufiBrazilAmy Elsner NEGOTIATION
Jennifer Q ChuiCanadaAmy Elsner NEGOTIATION
Emily A FlosiSpainIvan Magalhaes UNQUALIFIED
Aruna J InouyeAustraliaIvan Magalhaes UNQUALIFIED
Jones R OldroydAustraliaElwin Sharvill PROPOSAL
Morrow G MaletAustraliaAnna Fali NEW
James C GlickArgentinaBernardo Dominic RENEWAL
Darci M WaycottIndiaAsiya Javayant NEGOTIATION
Silvio I ShinkoRussiaIvan Magalhaes NEW
Jefferson B InouyeFranceElwin Sharvill QUALIFIED
Izzy Z StensethIndiaAnna Fali PROPOSAL
Adams W SlusarskiIndiaIoni Bowcher PROPOSAL
Octavia I GauchoGermanyIoni Bowcher RENEWAL
Misaki L RimFranceIvan Magalhaes NEGOTIATION
Jennifer E WhobreyArgentinaElwin Sharvill 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>