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
Deepesh L StensethArgentinaAsiya Javayant PROPOSAL
Ivar H OldroydItalyStephen Shaw NEW
James R WaycottItalyAmy Elsner QUALIFIED
Kaitlin W CaldareraSpainElwin Sharvill QUALIFIED
Faith C FerenczRussiaAnna Fali NEGOTIATION
Jeanfrancois Y AlbaresUnited KingdomBernardo Dominic RENEWAL
James U SaylorsBrazilIvan Magalhaes PROPOSAL
Tony X IturbideFranceIvan Magalhaes NEW
Juan C RulapaughBrazilStephen Shaw UNQUALIFIED
Emily V StockhamJapanIvan Magalhaes NEW
Johnson Z VenereArgentinaAsiya Javayant RENEWAL
Murillo D FollerUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi K StensethRussiaXuxue Feng NEW
Costa O NickaUnited KingdomAnna Fali QUALIFIED
Greenwood Q ButtBrazilAnna Fali NEGOTIATION
Tony S CaudyIndiaStephen Shaw NEW
Munro P MacleadJapanIoni Bowcher NEW
Maria F CampainIndiaElwin Sharvill PROPOSAL
Ashley F ChuiJapanXuxue Feng NEGOTIATION
Leja K IturbideAustraliaXuxue Feng NEGOTIATION
Izzy P IturbideItalyIoni Bowcher NEGOTIATION
Salvatore W WaycottUnited KingdomBernardo Dominic RENEWAL
Misaki Z MarrierRussiaAnna Fali RENEWAL
Leon J FlosiSpainIvan Magalhaes NEW
Aditya E FigeroaJapanAsiya Javayant PROPOSAL
Mayumi D MarrierJapanAnna Fali UNQUALIFIED
Leon O DoeGermanyElwin Sharvill RENEWAL
Aditya R GillianJapanBernardo Dominic PROPOSAL
Wickens R GarufiFranceXuxue Feng NEGOTIATION
Aika K CampainArgentinaBernardo Dominic UNQUALIFIED
Mayumi G KolmetzRussiaAsiya Javayant QUALIFIED
Francesco Q CaldareraRussiaStephen Shaw RENEWAL
Rodrigues Q BologniaIndiaAnna Fali NEW
Faith O RimItalyBernardo Dominic QUALIFIED
Costa Y FerenczFranceXuxue Feng UNQUALIFIED
Octavia H PaprockiRussiaIvan Magalhaes NEW
Misaki V DilliardArgentinaIvan Magalhaes NEW
Chavez X MaletAustraliaXuxue Feng QUALIFIED
Nicolas G WieserJapanAsiya Javayant PROPOSAL
Deepesh W ShinkoGermanyIoni Bowcher QUALIFIED
Leon L AlbaresSpainStephen Shaw NEGOTIATION
Juan L MorascaCanadaXuxue Feng PROPOSAL
Stacey G WhobreyGermanyIvan Magalhaes QUALIFIED
Alejandro R KuskoRussiaIoni Bowcher UNQUALIFIED
Tony Z GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Munro P ShinkoArgentinaOnyama Limba RENEWAL
Smith K MaletBrazilOnyama Limba UNQUALIFIED
Kadeem L VocelkaAustraliaElwin Sharvill UNQUALIFIED
Misaki V MaletRussiaIvan Magalhaes NEGOTIATION
David D InouyeAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan F TollnerItalyBernardo Dominic NEGOTIATION
Mayumi G WhobreyCanadaAsiya Javayant NEW
Izzy J KolmetzUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois Y NickaBrazilBernardo Dominic PROPOSAL
Aika P NickaUnited KingdomIoni Bowcher NEW
Smith N SaylorsJapanElwin Sharvill UNQUALIFIED
Murillo W SlusarskiIndiaIoni Bowcher UNQUALIFIED
Aditya F WaycottArgentinaAsiya Javayant QUALIFIED
Julie H VocelkaUnited KingdomOnyama Limba NEW
Misaki P DarakjyUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez B SlusarskiJapan2025-07-28Feltz Printing Service NEGOTIATION78Bernardo Dominic
1001Stacey Q WieserFrance2025-07-25Benton, John B Jr UNQUALIFIED99Asiya Javayant
1002Isabel G DilliardGermany2025-08-11Rangoni Of Florence NEGOTIATION59Xuxue Feng
1003Juan N SaylorsGermany2025-08-03Feltz Printing Service RENEWAL71Elwin Sharvill
1004James G StockhamBrazil2025-08-15Feiner Bros PROPOSAL44Elwin Sharvill
1005Sinclair F NickaFrance2025-08-21Truhlar And Truhlar Attys NEGOTIATION26Asiya Javayant
1006Silvio Q MarrierArgentina2025-08-04Commercial Press NEGOTIATION24Xuxue Feng
1007David Z InouyeJapan2025-07-31Feltz Printing Service NEW94Asiya Javayant
1008Ivar F GarufiRussia2025-08-16Feiner Bros RENEWAL98Bernardo Dominic
1009Leja R PerinAustralia2025-07-31Truhlar And Truhlar Attys NEW56Asiya Javayant
1010Leja J AlbaresSpain2025-08-17Chanay, Jeffrey A Esq NEW70Xuxue Feng
1011Stacey G DilliardJapan2025-08-07Buckley Miller Wright NEGOTIATION36Elwin Sharvill
1012Clifford O FollerRussia2025-08-17Commercial Press UNQUALIFIED35Bernardo Dominic
1013Darci B CaldareraSpain2025-08-16Chanay, Jeffrey A Esq NEW31Ioni Bowcher
1014Costa I DoeCanada2025-08-10Truhlar And Truhlar Attys NEW45Bernardo Dominic
1015Chavez P OstroskyCanada2025-08-04Rangoni Of Florence UNQUALIFIED3Stephen Shaw
1016Misaki F OldroydGermany2025-08-22Chanay, Jeffrey A Esq NEW22Anna Fali
1017Alejandro O NestleUnited Kingdom2025-08-10Chanay, Jeffrey A Esq UNQUALIFIED7Stephen Shaw
1018Alejandro V ChuiIndia2025-07-25Commercial Press RENEWAL42Elwin Sharvill
1019Smith U MarrierBrazil2025-08-07Buckley Miller Wright RENEWAL58Bernardo Dominic
1020Murillo C PoquetteJapan2025-08-20Printing Dimensions RENEWAL41Ivan Magalhaes
1021Johnson P FerenczArgentina2025-07-29Rangoni Of Florence NEW92Xuxue Feng
1022Nicolas K GillianSpain2025-08-23Rangoni Of Florence UNQUALIFIED74Amy Elsner
1023James A PoquetteCanada2025-07-25King, Christopher A Esq PROPOSAL7Xuxue Feng
1024Darci V StensethBrazil2025-08-19Morlong Associates PROPOSAL24Ivan Magalhaes
1025James N OldroydIndia2025-08-19King, Christopher A Esq QUALIFIED25Xuxue Feng
1026Alejandro K GauchoArgentina2025-08-13Buckley Miller Wright PROPOSAL17Ioni Bowcher
1027Tony N DoeSpain2025-08-17Buckley Miller Wright QUALIFIED27Elwin Sharvill
1028Arvin A CaldareraSpain2025-08-20Rousseaux, Michael Esq RENEWAL28Ioni Bowcher
1029Ashley K TollnerFrance2025-08-05Truhlar And Truhlar Attys RENEWAL81Amy Elsner
1030Kadeem Z FerenczCanada2025-07-29Chanay, Jeffrey A Esq UNQUALIFIED7Anna Fali
1031Darci E CaudyGermany2025-08-16Feiner Bros NEW46Anna Fali
1032Mujtaba J FerenczSpain2025-07-27Printing Dimensions NEGOTIATION71Anna Fali
1033Claire W IturbideSpain2025-08-01Feltz Printing Service PROPOSAL90Anna Fali
1034Juan D CaudyItaly2025-08-07Chapman, Ross E Esq PROPOSAL52Elwin Sharvill
1035Emily V AmigonRussia2025-08-20Morlong Associates UNQUALIFIED53Onyama Limba
1036Izzy R GauchoFrance2025-08-17King, Christopher A Esq QUALIFIED89Anna Fali
1037Smith H IturbideSpain2025-08-18Rangoni Of Florence NEW20Onyama Limba
1038Mujtaba M AmigonSpain2025-07-29Dorl, James J Esq RENEWAL85Asiya Javayant
1039Aika G AlbaresRussia2025-08-17Printing Dimensions NEGOTIATION78Xuxue Feng
1040Misaki P OldroydArgentina2025-08-09Printing Dimensions UNQUALIFIED77Asiya Javayant
1041Francesco P GillianIndia2025-08-02Printing Dimensions NEGOTIATION93Bernardo Dominic
1042Jones M GlickRussia2025-08-11Truhlar And Truhlar Attys NEGOTIATION81Stephen Shaw
1043Isabel C StockhamSpain2025-07-31Commercial Press NEGOTIATION4Anna Fali
1044Leja L DilliardUnited Kingdom2025-08-08Morlong Associates NEGOTIATION83Ivan Magalhaes
1045Murillo E BologniaRussia2025-08-19Rangoni Of Florence RENEWAL85Asiya Javayant
1046Nicolas E DilliardFrance2025-08-12Chemel, James L Cpa UNQUALIFIED17Asiya Javayant
1047Ashley X SaylorsIndia2025-08-10Printing Dimensions QUALIFIED70Onyama Limba
1048Aika T PoquetteItaly2025-08-18Rangoni Of Florence UNQUALIFIED11Elwin Sharvill
1049Kadeem Y PaprockiArgentina2025-08-23Chemel, James L Cpa RENEWAL24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Munro G NickaGermanyAnna Fali RENEWAL
Julie I TollnerUnited KingdomAnna Fali PROPOSAL
Cody F WaycottRussiaIvan Magalhaes NEGOTIATION
Clifford Q IturbideArgentinaIoni Bowcher NEW
Leja J NestleArgentinaAsiya Javayant PROPOSAL
Ivar O StensethArgentinaElwin Sharvill NEGOTIATION
Ricardo H BologniaArgentinaBernardo Dominic UNQUALIFIED
Ivar F CaldareraCanadaAsiya Javayant NEW
Greenwood O ShinkoIndiaXuxue Feng QUALIFIED
Ricardo K MarrierIndiaXuxue Feng UNQUALIFIED
Julie S NickaFranceIvan Magalhaes NEGOTIATION
Arvin C PaprockiIndiaElwin Sharvill PROPOSAL
Kaitlin W GauchoItalyElwin Sharvill NEW
Maria I BriddickIndiaOnyama Limba NEW
Kadeem N MarrierBrazilStephen Shaw NEGOTIATION
Salvatore J RutaUnited KingdomAmy Elsner PROPOSAL
Cody M SaylorsGermanyXuxue Feng RENEWAL
David T FollerArgentinaXuxue Feng QUALIFIED
Cody K GillianSpainBernardo Dominic QUALIFIED
Aruna X SlusarskiItalyIoni Bowcher UNQUALIFIED
Ivar B FigeroaJapanXuxue Feng UNQUALIFIED
Kaitlin G SergiJapanAnna Fali RENEWAL
Jones L BriddickJapanElwin Sharvill UNQUALIFIED
Isabel H StockhamUnited KingdomStephen Shaw NEGOTIATION
Antonio C StockhamGermanyXuxue Feng NEW
Leja J VenereSpainIvan Magalhaes PROPOSAL
Aika T BowleySpainStephen Shaw QUALIFIED
Maria F MaletJapanElwin Sharvill RENEWAL
Alejandro I NickaAustraliaOnyama Limba PROPOSAL
Mayumi O SchemmerSpainIoni Bowcher QUALIFIED
Octavia I CaldareraAustraliaElwin Sharvill PROPOSAL
Mayumi Z OldroydAustraliaOnyama Limba PROPOSAL
Deepesh C FerenczGermanyAmy Elsner NEW
Aika O InouyeBrazilAmy Elsner RENEWAL
Juan Q DoeArgentinaXuxue Feng NEGOTIATION
Aruna C WaycottRussiaAsiya Javayant RENEWAL
Cody U WaycottFranceElwin Sharvill PROPOSAL
Chavez M MaletGermanyAsiya Javayant RENEWAL
Costa M GauchoBrazilAnna Fali RENEWAL
Jefferson K PaprockiBrazilBernardo Dominic UNQUALIFIED
Juan Q CaudyIndiaElwin Sharvill RENEWAL
Murillo D AmigonBrazilOnyama Limba QUALIFIED
Ivar X SergiGermanyBernardo Dominic UNQUALIFIED
Sinclair A RulapaughIndiaIoni Bowcher NEGOTIATION
Isabel Z ChuiBrazilOnyama Limba PROPOSAL
Johnson B SergiBrazilAmy Elsner NEW
Adams I RoysterAustraliaIvan Magalhaes QUALIFIED
Leon H ShinkoBrazilIoni Bowcher NEW
Jefferson Z StockhamGermanyAnna Fali NEW
Claire S GlickJapanAnna Fali UNQUALIFIED
Frozen Columns
Name
Misaki L Oldroyd
Antonio Q Amigon
Nicolas K Venere
Ivar B Campain
Maria I Marrier
Leja I Rim
Ricardo C Butt
Mayumi O Doe
Kadeem K Stockham
Jennifer J Albares
Salvatore J Shinko
Jones Y Dilliard
Antonio X Waycott
Leja F Doe
Ashley R Rulapaugh
Darci D Sergi
Greenwood S Morasca
Johnson Y Ruta
Faith X Stenseth
Aditya T Rim
Salvatore L Caldarera
Isabel D Oldroyd
Faith O Iturbide
Ashley K Gillian
Salvatore L Malet
Murillo J Malet
Adams K Gaucho
Sinclair A Kolmetz
Maisha U Saylors
Isabel Q Poquette
Silvio N Royster
Aruna D Gillian
Adams K Vocelka
Jefferson A Kolmetz
Juan G Chui
Sinclair G Paprocki
Aruna U Ostrosky
Deepesh P Sergi
Aika B Vocelka
Ricardo C Shinko
James M Tollner
Jones V Glick
Smith Q Ostrosky
Kaitlin G Shinko
Salvatore H Doe
Stacey M Perin
Sinclair U Rulapaugh
Costa R Glick
Salvatore J Kolmetz
Aika Y Butt
IdCountryDate
1000Australia2025-08-18
1001Italy2025-08-21
1002Spain2025-08-13
1003Japan2025-08-15
1004United Kingdom2025-08-09
1005Canada2025-08-03
1006Japan2025-08-07
1007Russia2025-08-01
1008Italy2025-07-31
1009Japan2025-08-11
1010Japan2025-07-31
1011France2025-08-13
1012Spain2025-08-14
1013Canada2025-08-02
1014Italy2025-08-07
1015Italy2025-08-21
1016Argentina2025-07-27
1017Russia2025-08-16
1018Italy2025-08-22
1019Japan2025-08-20
1020Spain2025-08-10
1021Japan2025-08-12
1022Canada2025-08-21
1023Spain2025-07-28
1024Italy2025-07-27
1025France2025-07-30
1026Russia2025-08-04
1027Japan2025-07-27
1028India2025-08-21
1029Australia2025-08-11
1030Japan2025-08-13
1031France2025-08-13
1032Brazil2025-08-20
1033India2025-07-25
1034United Kingdom2025-08-12
1035India2025-08-06
1036India2025-08-10
1037Russia2025-08-17
1038Australia2025-07-25
1039Russia2025-08-14
1040France2025-08-23
1041Argentina2025-08-01
1042India2025-08-09
1043Japan2025-07-28
1044France2025-07-29
1045Italy2025-08-09
1046Spain2025-08-18
1047Australia2025-08-15
1048India2025-07-26
1049Australia2025-08-21

On-Demand Data

NameIdCountryDate
Murillo R Vocelka1000France2025-08-17
Ivar B Albares1001Brazil2025-07-25
Maisha U Amigon1002United Kingdom2025-07-27
Ashley Y Iturbide1003United Kingdom2025-08-20
Adams W Ruta1004Spain2025-08-16
Murillo P Wieser1005Russia2025-08-06
Adams P Kolmetz1006Canada2025-08-03
Ricardo O Waycott1007Germany2025-08-02
David N Ostrosky1008Brazil2025-08-21
Ashley U Darakjy1009India2025-08-16
Francesco C Campain1010India2025-08-23
Costa I Malet1011Italy2025-08-08
Smith R Slusarski1012India2025-07-29
Arvin U Dilliard1013Spain2025-08-23
Clifford E Rim1014Argentina2025-08-22
Silvio W Whobrey1015Brazil2025-07-26
Julie U Briddick1016India2025-08-20
Izzy S Kusko1017France2025-08-21
Leja T Dilliard1018Italy2025-08-18
Ricardo D Sergi1019Russia2025-08-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan V WieserAustraliaOnyama Limba UNQUALIFIED
Faith E NestleIndiaStephen Shaw NEGOTIATION
Adams U MacleadCanadaBernardo Dominic NEGOTIATION
Antonio L InouyeJapanBernardo Dominic QUALIFIED
Greenwood X WaycottIndiaIvan Magalhaes NEGOTIATION
Murillo L DilliardBrazilIoni Bowcher UNQUALIFIED
Sinclair H MorascaBrazilBernardo Dominic UNQUALIFIED
Juan F ButtBrazilAmy Elsner UNQUALIFIED
Leon D MaletRussiaStephen Shaw UNQUALIFIED
Stacey D IturbideArgentinaElwin Sharvill RENEWAL
Misaki P PoquetteArgentinaXuxue Feng NEGOTIATION
Tony N CaldareraGermanyAnna Fali UNQUALIFIED
Cody B VocelkaAustraliaStephen Shaw UNQUALIFIED
Jennifer C MaletCanadaStephen Shaw QUALIFIED
James G GauchoAustraliaIoni Bowcher RENEWAL
Antonio F MacleadBrazilIoni Bowcher PROPOSAL
Clifford Y KolmetzRussiaAsiya Javayant NEW
Salvatore F AmigonRussiaAnna Fali PROPOSAL
Maisha Z CampainCanadaStephen Shaw UNQUALIFIED
Francesco T GillianItalyOnyama Limba QUALIFIED
Ivar X KolmetzJapanIoni Bowcher QUALIFIED
Aika D WhobreyAustraliaStephen Shaw UNQUALIFIED
Jennifer Q SaylorsGermanyStephen Shaw NEGOTIATION
Ricardo T WaycottRussiaBernardo Dominic QUALIFIED
Juan L OldroydIndiaIoni Bowcher UNQUALIFIED
Maria U PerinJapanElwin Sharvill PROPOSAL
Nicolas K FigeroaSpainIvan Magalhaes PROPOSAL
Ricardo F DilliardGermanyXuxue Feng PROPOSAL
Rodrigues D FigeroaUnited KingdomXuxue Feng RENEWAL
Stacey H AmigonRussiaBernardo Dominic NEGOTIATION
Ricardo I PaprockiAustraliaAsiya Javayant NEW
Deepesh J PoquetteAustraliaAsiya Javayant NEGOTIATION
Maisha M NestleCanadaStephen Shaw QUALIFIED
Adams U KolmetzJapanXuxue Feng NEW
Francesco S NestleSpainElwin Sharvill QUALIFIED
Juan G TollnerUnited KingdomIoni Bowcher NEGOTIATION
Leja N WieserGermanyXuxue Feng NEGOTIATION
Rodrigues U GauchoRussiaAnna Fali NEW
Misaki Z RulapaughCanadaOnyama Limba PROPOSAL
Wickens W ButtIndiaAnna Fali 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>