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 S KuskoArgentinaIvan Magalhaes NEW
Clifford X CampainBrazilIvan Magalhaes QUALIFIED
Greenwood B WhobreyItalyIoni Bowcher UNQUALIFIED
Johnson Q ShinkoFranceIoni Bowcher PROPOSAL
Ricardo Y MarrierJapanIoni Bowcher RENEWAL
Maria R OstroskyRussiaAsiya Javayant PROPOSAL
Mujtaba D GillianJapanAsiya Javayant PROPOSAL
Stacey Z MaletFranceElwin Sharvill NEW
Arvin U RimCanadaIoni Bowcher QUALIFIED
Ricardo T PerinBrazilBernardo Dominic PROPOSAL
Antonio N OldroydItalyXuxue Feng UNQUALIFIED
Antonio M WhobreyCanadaAnna Fali UNQUALIFIED
Misaki C PaprockiItalyElwin Sharvill NEW
Nicolas I SlusarskiGermanyElwin Sharvill RENEWAL
James V GauchoItalyAsiya Javayant NEW
Jennifer W WhobreySpainXuxue Feng NEGOTIATION
Leja A AlbaresGermanyXuxue Feng RENEWAL
Ricardo M FlosiCanadaStephen Shaw NEGOTIATION
Leon L ButtGermanyStephen Shaw NEW
Aditya W RulapaughArgentinaIvan Magalhaes NEW
Faith Y InouyeSpainAsiya Javayant NEW
Alejandro X GlickSpainBernardo Dominic RENEWAL
David F MarrierSpainXuxue Feng PROPOSAL
Costa X GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Arvin M PoquetteCanadaAmy Elsner NEGOTIATION
Arvin B WieserJapanXuxue Feng NEGOTIATION
Aika A PoquetteArgentinaXuxue Feng QUALIFIED
Francesco I ChuiUnited KingdomAnna Fali UNQUALIFIED
Isabel U AmigonArgentinaIoni Bowcher NEW
Alejandro J StensethJapanOnyama Limba QUALIFIED
Ricardo W RulapaughJapanAsiya Javayant PROPOSAL
Murillo O TollnerGermanyXuxue Feng PROPOSAL
David D MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Jones Q StensethAustraliaIoni Bowcher RENEWAL
Jennifer Y StensethGermanyStephen Shaw PROPOSAL
Johnson Z SergiIndiaIoni Bowcher QUALIFIED
Silvio H MaletIndiaOnyama Limba PROPOSAL
Darci O SchemmerItalyBernardo Dominic QUALIFIED
Salvatore Y VocelkaFranceStephen Shaw NEW
Izzy Z RulapaughCanadaOnyama Limba RENEWAL
Jefferson P NestleItalyElwin Sharvill RENEWAL
Johnson K MaletAustraliaAnna Fali UNQUALIFIED
Ivar U BowleyCanadaIvan Magalhaes UNQUALIFIED
Murillo Q OstroskyCanadaStephen Shaw QUALIFIED
Jeanfrancois R GlickBrazilAsiya Javayant NEW
Silvio Y StensethCanadaElwin Sharvill QUALIFIED
Morrow G PoquetteUnited KingdomAnna Fali NEW
Jones I InouyeJapanAnna Fali QUALIFIED
Kadeem L GlickUnited KingdomOnyama Limba RENEWAL
Arvin G VocelkaAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams Y GarufiFranceAmy Elsner QUALIFIED
Nicolas H GlickItalyStephen Shaw NEW
Maisha M InouyeSpainAsiya Javayant QUALIFIED
Tony N PaprockiCanadaBernardo Dominic NEW
James I WieserBrazilXuxue Feng RENEWAL
Aika J OldroydUnited KingdomIoni Bowcher QUALIFIED
Julie U KuskoArgentinaBernardo Dominic NEW
Chavez D GarufiBrazilStephen Shaw UNQUALIFIED
Faith J NickaFranceIvan Magalhaes RENEWAL
Silvio M PoquetteCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James A GillianFrance2025-09-14Morlong Associates NEGOTIATION85Anna Fali
1001Rodrigues S BowleyArgentina2025-08-25Rangoni Of Florence QUALIFIED74Onyama Limba
1002Silvio M WhobreyJapan2025-09-22Benton, John B Jr NEW88Ioni Bowcher
1003Chavez J AlbaresUnited Kingdom2025-09-21Rousseaux, Michael Esq NEGOTIATION70Anna Fali
1004Kadeem R SergiCanada2025-08-26Chemel, James L Cpa PROPOSAL34Xuxue Feng
1005Antonio F SlusarskiBrazil2025-08-29Chapman, Ross E Esq QUALIFIED61Ivan Magalhaes
1006Smith R SergiUnited Kingdom2025-09-01Feiner Bros UNQUALIFIED34Ioni Bowcher
1007Maisha S NickaSpain2025-09-07Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1008Johnson M CampainItaly2025-09-15Chanay, Jeffrey A Esq NEW44Amy Elsner
1009Ricardo C PerinFrance2025-08-24Truhlar And Truhlar Attys NEW7Stephen Shaw
1010Faith K OldroydSpain2025-09-02Truhlar And Truhlar Attys QUALIFIED25Stephen Shaw
1011Costa D VocelkaUnited Kingdom2025-09-03Commercial Press NEW43Asiya Javayant
1012Claire J PaprockiSpain2025-09-10Chanay, Jeffrey A Esq UNQUALIFIED34Bernardo Dominic
1013Tony Y SlusarskiBrazil2025-09-03Chanay, Jeffrey A Esq PROPOSAL5Xuxue Feng
1014Leja F WaycottUnited Kingdom2025-09-08Feltz Printing Service NEW98Asiya Javayant
1015Cody Y FlosiAustralia2025-09-08Printing Dimensions PROPOSAL83Asiya Javayant
1016David G RimJapan2025-08-29Commercial Press NEGOTIATION47Ivan Magalhaes
1017James S MaletCanada2025-09-16Chanay, Jeffrey A Esq UNQUALIFIED4Asiya Javayant
1018Juan C DoeJapan2025-09-18Buckley Miller Wright PROPOSAL32Amy Elsner
1019Salvatore J NickaGermany2025-08-29King, Christopher A Esq RENEWAL66Stephen Shaw
1020Stacey M GlickAustralia2025-08-31Rangoni Of Florence PROPOSAL25Amy Elsner
1021Cody M WieserGermany2025-09-18Chapman, Ross E Esq PROPOSAL17Onyama Limba
1022Octavia C IturbideCanada2025-09-05Printing Dimensions RENEWAL15Anna Fali
1023Maisha P GillianSpain2025-09-21Buckley Miller Wright NEW64Ioni Bowcher
1024Claire U CaldareraJapan2025-09-17Printing Dimensions NEW60Xuxue Feng
1025Aruna P MorascaJapan2025-08-30Chanay, Jeffrey A Esq UNQUALIFIED99Asiya Javayant
1026Johnson T SchemmerArgentina2025-08-30Chanay, Jeffrey A Esq QUALIFIED75Onyama Limba
1027Greenwood D PaprockiIndia2025-08-26Chemel, James L Cpa NEW19Asiya Javayant
1028Leon R CaudyArgentina2025-09-20Chapman, Ross E Esq RENEWAL43Xuxue Feng
1029Adams U DarakjyIndia2025-08-26Chemel, James L Cpa NEW82Ivan Magalhaes
1030Ricardo D PoquetteBrazil2025-09-12Rangoni Of Florence NEW80Onyama Limba
1031Costa M PerinItaly2025-09-18Chanay, Jeffrey A Esq NEGOTIATION36Xuxue Feng
1032Wickens H IturbideRussia2025-09-12Commercial Press RENEWAL11Anna Fali
1033Misaki R RoysterCanada2025-08-29Dorl, James J Esq RENEWAL17Stephen Shaw
1034James A GauchoRussia2025-09-15Morlong Associates PROPOSAL41Stephen Shaw
1035Greenwood G NestleJapan2025-09-14Chemel, James L Cpa NEGOTIATION49Bernardo Dominic
1036Julie L FigeroaIndia2025-09-15Benton, John B Jr PROPOSAL78Stephen Shaw
1037Stacey P VocelkaSpain2025-08-29Rousseaux, Michael Esq QUALIFIED75Ivan Magalhaes
1038Morrow Z GillianRussia2025-08-26Commercial Press RENEWAL60Elwin Sharvill
1039Maria Y GlickCanada2025-09-05Truhlar And Truhlar Attys PROPOSAL60Ioni Bowcher
1040Jennifer O WhobreyRussia2025-08-29Truhlar And Truhlar Attys PROPOSAL2Elwin Sharvill
1041Tony L RoysterItaly2025-09-05Truhlar And Truhlar Attys UNQUALIFIED83Amy Elsner
1042Mujtaba W IturbideRussia2025-08-26Benton, John B Jr NEGOTIATION12Amy Elsner
1043Claire N VenereCanada2025-09-16Chanay, Jeffrey A Esq RENEWAL45Bernardo Dominic
1044Aruna D OldroydJapan2025-09-10Chemel, James L Cpa NEW9Ioni Bowcher
1045Smith D WaycottRussia2025-09-16Benton, John B Jr NEW36Bernardo Dominic
1046Ashley K PerinArgentina2025-09-13Chapman, Ross E Esq RENEWAL24Amy Elsner
1047Munro L OstroskyAustralia2025-09-08Feiner Bros PROPOSAL63Bernardo Dominic
1048Costa Y ShinkoSpain2025-08-30Benton, John B Jr NEGOTIATION78Ivan Magalhaes
1049Kadeem S CaldareraFrance2025-09-16Feiner Bros RENEWAL60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Murillo S FerenczJapanXuxue Feng QUALIFIED
David L ShinkoIndiaElwin Sharvill NEW
Francesco W TollnerCanadaAnna Fali PROPOSAL
Juan X SergiAustraliaIoni Bowcher NEGOTIATION
Darci S DilliardItalyAmy Elsner UNQUALIFIED
Smith X WieserRussiaBernardo Dominic PROPOSAL
Julie V KuskoSpainIvan Magalhaes UNQUALIFIED
Francesco Q StensethRussiaAnna Fali NEGOTIATION
Aika Y TollnerAustraliaElwin Sharvill RENEWAL
Rodrigues U MarrierAustraliaStephen Shaw QUALIFIED
Francesco V CaldareraCanadaAsiya Javayant NEW
Francesco B CampainIndiaIoni Bowcher NEW
Kadeem F VocelkaJapanIoni Bowcher UNQUALIFIED
Jennifer U DilliardJapanAmy Elsner NEGOTIATION
Chavez C BriddickSpainXuxue Feng RENEWAL
Stacey T VocelkaAustraliaAsiya Javayant UNQUALIFIED
Jeanfrancois M SlusarskiAustraliaStephen Shaw PROPOSAL
Chavez N CaudyBrazilStephen Shaw QUALIFIED
Salvatore W GauchoSpainBernardo Dominic NEW
Chavez G WhobreyJapanAnna Fali NEGOTIATION
Stacey K MarrierFranceAnna Fali UNQUALIFIED
Nicolas U SlusarskiArgentinaAmy Elsner RENEWAL
Maria K RulapaughSpainBernardo Dominic NEGOTIATION
Mayumi W FlosiSpainXuxue Feng NEW
Claire T ChuiJapanIvan Magalhaes PROPOSAL
David M BowleyGermanyAmy Elsner RENEWAL
Morrow D MacleadGermanyIvan Magalhaes PROPOSAL
Jennifer B SlusarskiItalyBernardo Dominic QUALIFIED
Jennifer J RutaBrazilStephen Shaw PROPOSAL
Johnson W FigeroaSpainBernardo Dominic NEGOTIATION
Kaitlin C CaudySpainIoni Bowcher PROPOSAL
Francesco N StensethIndiaIoni Bowcher NEGOTIATION
Mayumi E ButtGermanyElwin Sharvill NEW
Greenwood X MorascaCanadaElwin Sharvill NEGOTIATION
Jefferson I BriddickUnited KingdomOnyama Limba QUALIFIED
Mayumi H PoquetteRussiaOnyama Limba RENEWAL
Claire N FlosiCanadaOnyama Limba NEGOTIATION
Munro H BriddickArgentinaXuxue Feng PROPOSAL
David A SergiUnited KingdomAnna Fali PROPOSAL
Ivar T AlbaresJapanElwin Sharvill UNQUALIFIED
Leja O VocelkaSpainAnna Fali PROPOSAL
Sinclair Z GillianSpainAnna Fali NEGOTIATION
Aditya N MaletItalyAmy Elsner NEW
Maria D MarrierAustraliaXuxue Feng NEGOTIATION
Jeanfrancois K RimFranceOnyama Limba QUALIFIED
Aika M NickaBrazilOnyama Limba QUALIFIED
Costa R WieserIndiaIvan Magalhaes PROPOSAL
Jefferson L DilliardRussiaOnyama Limba RENEWAL
Nicolas S FollerJapanOnyama Limba UNQUALIFIED
Greenwood K CaldareraSpainAmy Elsner QUALIFIED
Frozen Columns
Name
Nicolas O Whobrey
Tony E Iturbide
Aditya Q Nestle
Leja M Slusarski
Arvin H Slusarski
Adams C Iturbide
Octavia X Briddick
Leja H Tollner
Smith Y Bolognia
Aruna Y Wieser
Maria E Rulapaugh
Deepesh T Malet
Ivar S Malet
Jennifer F Ruta
Jeanfrancois P Marrier
Jeanfrancois U Doe
Emily U Oldroyd
Sinclair Y Malet
Kaitlin R Briddick
Leon M Paprocki
Morrow O Schemmer
Emily D Sergi
Kaitlin A Maclead
Stacey N Perin
Ashley W Tollner
Aruna B Gillian
Nicolas Z Doe
Johnson D Gillian
Jefferson M Amigon
Mayumi B Gaucho
Jennifer V Poquette
Arvin S Rim
Johnson O Foller
Octavia X Waycott
James N Bowley
Morrow T Perin
Maria P Shinko
Darci X Ruta
Leja Y Malet
Claire D Perin
Jefferson K Stenseth
Clifford M Slusarski
Rodrigues F Slusarski
Johnson Y Venere
Maisha F Stockham
Antonio T Ostrosky
Ivar V Morasca
Ashley Z Foller
Johnson Z Malet
Maisha H Malet
IdCountryDate
1000Argentina2025-09-20
1001Russia2025-09-02
1002Japan2025-09-07
1003Argentina2025-09-04
1004Russia2025-08-28
1005Argentina2025-09-21
1006Brazil2025-09-10
1007Italy2025-08-25
1008Italy2025-09-19
1009Germany2025-08-28
1010United Kingdom2025-09-07
1011Brazil2025-09-10
1012Russia2025-09-14
1013Russia2025-09-04
1014Australia2025-09-22
1015India2025-09-22
1016India2025-09-13
1017United Kingdom2025-09-09
1018Canada2025-09-07
1019United Kingdom2025-09-09
1020Argentina2025-08-24
1021Spain2025-09-18
1022India2025-09-18
1023France2025-09-03
1024Japan2025-09-04
1025France2025-08-24
1026Japan2025-09-15
1027India2025-09-13
1028Argentina2025-08-31
1029Russia2025-09-15
1030Brazil2025-09-17
1031Germany2025-09-11
1032Russia2025-09-19
1033Spain2025-09-17
1034Brazil2025-09-21
1035Brazil2025-09-17
1036United Kingdom2025-08-24
1037Japan2025-09-06
1038France2025-09-22
1039Germany2025-08-31
1040Italy2025-09-15
1041India2025-09-07
1042Brazil2025-09-15
1043Canada2025-09-08
1044Italy2025-09-16
1045Australia2025-09-22
1046United Kingdom2025-09-16
1047France2025-08-27
1048Australia2025-09-09
1049India2025-09-03

On-Demand Data

NameIdCountryDate
Chavez A Glick1000United Kingdom2025-09-13
Arvin W Vocelka1001Brazil2025-09-15
Maisha G Doe1002Brazil2025-09-04
Morrow V Sergi1003Australia2025-09-18
Johnson V Chui1004Australia2025-09-10
Alejandro C Rim1005Brazil2025-08-31
Sinclair I Waycott1006Japan2025-09-10
Leja G Doe1007Germany2025-08-26
Costa J Briddick1008Japan2025-09-09
Misaki U Whobrey1009Russia2025-09-09
Costa G Poquette1010Russia2025-09-06
Smith E Wieser1011United Kingdom2025-09-08
Silvio B Foller1012Spain2025-08-28
Claire C Poquette1013Russia2025-09-09
Mayumi D Tollner1014Brazil2025-09-16
Mayumi C Poquette1015India2025-09-12
Chavez L Chui1016Italy2025-08-30
Mayumi P Maclead1017Spain2025-08-26
Munro V Morasca1018India2025-09-21
Mujtaba M Foller1019India2025-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David G RutaIndiaAmy Elsner NEGOTIATION
Murillo U DilliardGermanyXuxue Feng PROPOSAL
Ricardo L CaudyRussiaIoni Bowcher NEW
Silvio N OstroskyGermanyAnna Fali QUALIFIED
Wickens S AmigonItalyAmy Elsner NEGOTIATION
Rodrigues A ButtSpainOnyama Limba PROPOSAL
Leja V CampainGermanyIoni Bowcher NEGOTIATION
Alejandro A RimAustraliaAmy Elsner NEGOTIATION
David R DilliardRussiaIoni Bowcher QUALIFIED
Jefferson C CaldareraFranceElwin Sharvill NEGOTIATION
Sinclair K NickaRussiaBernardo Dominic NEGOTIATION
Mayumi I NestleJapanAmy Elsner NEGOTIATION
Isabel J InouyeAustraliaIoni Bowcher QUALIFIED
Aditya L CaudyIndiaIoni Bowcher UNQUALIFIED
Deepesh K BriddickUnited KingdomOnyama Limba RENEWAL
Jefferson K RutaJapanBernardo Dominic QUALIFIED
Stacey O MorascaCanadaStephen Shaw NEGOTIATION
Tony G FlosiRussiaIoni Bowcher NEGOTIATION
Silvio D CaldareraSpainXuxue Feng NEGOTIATION
Leon M DilliardJapanStephen Shaw QUALIFIED
Antonio Z BriddickSpainStephen Shaw RENEWAL
Jeanfrancois B OldroydAustraliaOnyama Limba NEW
Aika M SergiUnited KingdomAmy Elsner NEGOTIATION
Rodrigues O GauchoAustraliaXuxue Feng QUALIFIED
Octavia H BowleyRussiaIoni Bowcher NEGOTIATION
Stacey X WhobreyCanadaXuxue Feng NEW
Deepesh S DilliardCanadaBernardo Dominic NEW
Jones H FollerJapanStephen Shaw UNQUALIFIED
Maria S RulapaughGermanyOnyama Limba UNQUALIFIED
Stacey X DarakjyFranceOnyama Limba NEGOTIATION
Octavia T BowleySpainStephen Shaw UNQUALIFIED
Arvin D BologniaCanadaStephen Shaw QUALIFIED
James V AlbaresCanadaIvan Magalhaes RENEWAL
James G IturbideGermanyIvan Magalhaes PROPOSAL
Chavez D ChuiUnited KingdomAnna Fali QUALIFIED
Greenwood T ButtSpainAsiya Javayant NEW
Arvin H VocelkaSpainAsiya Javayant NEGOTIATION
Antonio Y VenereUnited KingdomAmy Elsner NEW
Misaki V KuskoItalyStephen Shaw NEGOTIATION
David Y PaprockiIndiaXuxue Feng 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>