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
Clifford O MacleadGermanyElwin Sharvill RENEWAL
Jennifer T PoquetteRussiaAsiya Javayant RENEWAL
Maisha R AmigonItalyAsiya Javayant QUALIFIED
Ricardo I MaletGermanyAmy Elsner QUALIFIED
Rodrigues N IturbideBrazilXuxue Feng RENEWAL
Darci O VenereAustraliaStephen Shaw NEW
Julie F SlusarskiUnited KingdomXuxue Feng PROPOSAL
Alejandro E MaletRussiaAnna Fali RENEWAL
Isabel N MaletGermanyAsiya Javayant NEGOTIATION
Misaki R SlusarskiRussiaStephen Shaw RENEWAL
Rodrigues A WaycottIndiaIvan Magalhaes RENEWAL
Munro H MaletGermanyStephen Shaw NEGOTIATION
Clifford D NickaUnited KingdomIoni Bowcher QUALIFIED
Ricardo I MacleadBrazilOnyama Limba PROPOSAL
Smith U DarakjyIndiaXuxue Feng QUALIFIED
Misaki G SchemmerSpainStephen Shaw NEW
Arvin E DilliardArgentinaAnna Fali RENEWAL
Ivar L MorascaCanadaAnna Fali NEW
Julie K InouyeUnited KingdomElwin Sharvill NEW
Kadeem D BowleyIndiaIvan Magalhaes PROPOSAL
Ivar H SaylorsGermanyAnna Fali QUALIFIED
Ashley R PaprockiRussiaXuxue Feng RENEWAL
Mujtaba N WhobreyItalyAsiya Javayant PROPOSAL
Kadeem W StockhamSpainStephen Shaw QUALIFIED
Wickens T StockhamGermanyIvan Magalhaes UNQUALIFIED
Kaitlin R BriddickFranceStephen Shaw UNQUALIFIED
Tony F MaletArgentinaIvan Magalhaes UNQUALIFIED
Jones Y NickaItalyAsiya Javayant PROPOSAL
Salvatore R FlosiBrazilAnna Fali UNQUALIFIED
Maria K IturbideRussiaBernardo Dominic PROPOSAL
Chavez T StensethRussiaOnyama Limba NEW
Maria C PoquetteFranceElwin Sharvill PROPOSAL
Alejandro M DoeRussiaOnyama Limba QUALIFIED
Tony Q BriddickJapanIvan Magalhaes UNQUALIFIED
Jones Z BowleyGermanyOnyama Limba QUALIFIED
Aika S GauchoSpainElwin Sharvill UNQUALIFIED
Antonio R VocelkaAustraliaXuxue Feng NEGOTIATION
Antonio C BowleyGermanyAnna Fali PROPOSAL
Nicolas F TollnerUnited KingdomAmy Elsner NEGOTIATION
Nicolas I SaylorsBrazilIoni Bowcher UNQUALIFIED
Emily O DoeAustraliaIvan Magalhaes RENEWAL
David Q MaletGermanyElwin Sharvill QUALIFIED
Jennifer G DilliardIndiaAnna Fali UNQUALIFIED
Ricardo M MorascaCanadaIvan Magalhaes NEW
Johnson R OldroydAustraliaBernardo Dominic QUALIFIED
Ashley D SchemmerBrazilOnyama Limba QUALIFIED
Costa L MaletSpainAnna Fali QUALIFIED
Mayumi B RulapaughSpainStephen Shaw RENEWAL
Silvio W SaylorsArgentinaElwin Sharvill NEGOTIATION
David D StensethGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens G DarakjyUnited KingdomIoni Bowcher NEW
Juan A SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Munro B ChuiGermanyStephen Shaw PROPOSAL
Stacey T IturbideRussiaIvan Magalhaes RENEWAL
Silvio E MacleadJapanAmy Elsner NEW
Mujtaba I SergiCanadaStephen Shaw QUALIFIED
Jennifer V GarufiAustraliaIoni Bowcher UNQUALIFIED
Antonio W PaprockiItalyIoni Bowcher NEW
Isabel M TollnerGermanyElwin Sharvill PROPOSAL
Arvin R OldroydSpainIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson A OldroydJapan2025-09-27Benton, John B Jr NEGOTIATION50Amy Elsner
1001Jefferson L PoquetteRussia2025-10-01Rousseaux, Michael Esq NEW0Bernardo Dominic
1002Juan K StensethCanada2025-10-03Feltz Printing Service NEGOTIATION43Bernardo Dominic
1003Emily R MaletArgentina2025-09-30Dorl, James J Esq RENEWAL86Anna Fali
1004James V CaudyAustralia2025-10-02Benton, John B Jr QUALIFIED21Xuxue Feng
1005Greenwood E CaudyRussia2025-10-20Chanay, Jeffrey A Esq QUALIFIED97Amy Elsner
1006Johnson O SchemmerFrance2025-10-20Chanay, Jeffrey A Esq QUALIFIED78Ivan Magalhaes
1007Maisha L GlickJapan2025-09-24Benton, John B Jr PROPOSAL71Stephen Shaw
1008Costa M OldroydArgentina2025-10-17Printing Dimensions RENEWAL39Bernardo Dominic
1009Adams R SaylorsItaly2025-09-28Dorl, James J Esq NEGOTIATION51Elwin Sharvill
1010Murillo B GauchoBrazil2025-10-06Buckley Miller Wright UNQUALIFIED94Stephen Shaw
1011Alejandro H KolmetzGermany2025-10-08Buckley Miller Wright RENEWAL82Xuxue Feng
1012Aika I KolmetzFrance2025-10-20Chemel, James L Cpa RENEWAL88Onyama Limba
1013Rodrigues J PerinJapan2025-10-06Truhlar And Truhlar Attys NEGOTIATION5Xuxue Feng
1014James P RoysterSpain2025-10-20Buckley Miller Wright QUALIFIED96Amy Elsner
1015David T GauchoCanada2025-10-19Rangoni Of Florence NEW25Onyama Limba
1016Cody P DilliardSpain2025-10-16Printing Dimensions NEW96Xuxue Feng
1017Chavez G StensethUnited Kingdom2025-10-07Chanay, Jeffrey A Esq NEW25Ivan Magalhaes
1018Kadeem B MorascaUnited Kingdom2025-09-29Feltz Printing Service NEW26Onyama Limba
1019Antonio J KuskoSpain2025-09-26Buckley Miller Wright PROPOSAL80Elwin Sharvill
1020Emily M WaycottAustralia2025-09-30King, Christopher A Esq QUALIFIED69Onyama Limba
1021Faith J WhobreyRussia2025-09-29Feiner Bros UNQUALIFIED58Ivan Magalhaes
1022Nicolas I PoquetteArgentina2025-09-24Morlong Associates NEW60Asiya Javayant
1023Aruna U BowleyArgentina2025-10-17Commercial Press PROPOSAL79Elwin Sharvill
1024Kadeem R IturbideArgentina2025-10-16Benton, John B Jr PROPOSAL17Stephen Shaw
1025Faith W StockhamSpain2025-10-09Commercial Press QUALIFIED19Elwin Sharvill
1026Munro O BologniaUnited Kingdom2025-10-03Feiner Bros PROPOSAL57Onyama Limba
1027Salvatore H DilliardGermany2025-10-03Chemel, James L Cpa PROPOSAL61Bernardo Dominic
1028David Z ButtItaly2025-10-20Chemel, James L Cpa NEW38Onyama Limba
1029Antonio P NickaFrance2025-10-19Rousseaux, Michael Esq NEW8Bernardo Dominic
1030Julie N IturbideUnited Kingdom2025-10-14Dorl, James J Esq NEW86Bernardo Dominic
1031Emily T RutaAustralia2025-10-08Rangoni Of Florence UNQUALIFIED48Bernardo Dominic
1032Antonio U StensethGermany2025-10-07King, Christopher A Esq RENEWAL39Asiya Javayant
1033Stacey O KolmetzSpain2025-10-03Rousseaux, Michael Esq NEGOTIATION27Ivan Magalhaes
1034Chavez M BriddickJapan2025-09-22Chapman, Ross E Esq NEW60Onyama Limba
1035James Y CaldareraFrance2025-09-30Printing Dimensions QUALIFIED45Ioni Bowcher
1036Maria P AmigonIndia2025-10-13Benton, John B Jr NEGOTIATION23Xuxue Feng
1037Faith Y NickaSpain2025-10-02Feltz Printing Service UNQUALIFIED48Amy Elsner
1038Cody H GillianIndia2025-09-24Benton, John B Jr PROPOSAL55Anna Fali
1039Greenwood F GarufiArgentina2025-10-19Dorl, James J Esq UNQUALIFIED99Stephen Shaw
1040Leon C CaldareraArgentina2025-09-26Morlong Associates NEW70Stephen Shaw
1041Faith W IturbideFrance2025-10-18Chapman, Ross E Esq UNQUALIFIED9Xuxue Feng
1042Munro A SchemmerItaly2025-09-30Printing Dimensions RENEWAL75Xuxue Feng
1043Tony T IturbideJapan2025-09-26Chemel, James L Cpa UNQUALIFIED31Xuxue Feng
1044Clifford E RimFrance2025-10-09Feiner Bros NEGOTIATION45Elwin Sharvill
1045Jennifer P WhobreyRussia2025-10-19Dorl, James J Esq RENEWAL61Ioni Bowcher
1046Deepesh W IturbideCanada2025-09-22Feltz Printing Service NEGOTIATION24Amy Elsner
1047Silvio E CampainUnited Kingdom2025-09-27Benton, John B Jr NEW49Asiya Javayant
1048Wickens K KuskoSpain2025-10-20King, Christopher A Esq UNQUALIFIED31Onyama Limba
1049Mujtaba N FlosiBrazil2025-09-27Feiner Bros UNQUALIFIED70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria E ChuiRussiaAmy Elsner NEW
Johnson R MorascaCanadaAmy Elsner PROPOSAL
Kaitlin O KolmetzSpainAmy Elsner NEW
Julie R FollerJapanAsiya Javayant RENEWAL
Faith B BriddickJapanOnyama Limba PROPOSAL
Aika V DilliardBrazilAnna Fali RENEWAL
Antonio M ButtRussiaAsiya Javayant NEW
Isabel Z BowleyArgentinaElwin Sharvill PROPOSAL
Maisha F WieserUnited KingdomAmy Elsner NEGOTIATION
Deepesh A VocelkaCanadaBernardo Dominic UNQUALIFIED
Clifford A ChuiCanadaOnyama Limba RENEWAL
Munro R MarrierItalyStephen Shaw RENEWAL
Aruna L WieserFranceIoni Bowcher NEGOTIATION
Smith B DarakjyJapanBernardo Dominic UNQUALIFIED
Aditya T SaylorsFranceStephen Shaw QUALIFIED
Stacey N MarrierCanadaIvan Magalhaes NEW
Aruna O OstroskyFranceStephen Shaw PROPOSAL
Antonio H AmigonIndiaAmy Elsner PROPOSAL
Leja O InouyeFranceIoni Bowcher RENEWAL
Leja G OstroskyGermanyXuxue Feng NEGOTIATION
Octavia L KolmetzGermanyAmy Elsner PROPOSAL
Deepesh S KuskoItalyXuxue Feng PROPOSAL
Stacey D RulapaughSpainXuxue Feng RENEWAL
Alejandro X FerenczRussiaBernardo Dominic PROPOSAL
Emily U AlbaresUnited KingdomBernardo Dominic NEW
Julie U FlosiCanadaBernardo Dominic NEGOTIATION
Wickens J CaldareraRussiaXuxue Feng PROPOSAL
Rodrigues M AlbaresSpainBernardo Dominic QUALIFIED
Costa M MarrierCanadaIoni Bowcher QUALIFIED
Morrow T GauchoGermanyIvan Magalhaes RENEWAL
Morrow S OstroskyGermanyAnna Fali NEW
Octavia Z FerenczGermanyStephen Shaw NEW
Greenwood H FollerAustraliaXuxue Feng NEGOTIATION
Cody K DarakjyItalyIoni Bowcher PROPOSAL
Jennifer J WhobreyAustraliaStephen Shaw NEW
Emily G KolmetzFranceOnyama Limba PROPOSAL
Jennifer T GauchoGermanyAsiya Javayant RENEWAL
Arvin Z FlosiFranceAsiya Javayant NEW
Leja S SlusarskiArgentinaAmy Elsner UNQUALIFIED
Claire R DilliardIndiaElwin Sharvill PROPOSAL
Morrow R DoeBrazilOnyama Limba QUALIFIED
Alejandro S SergiCanadaBernardo Dominic NEGOTIATION
Leon G MaletGermanyOnyama Limba QUALIFIED
Jones K BologniaUnited KingdomOnyama Limba NEW
Ricardo T RutaRussiaIvan Magalhaes QUALIFIED
Silvio H BowleyAustraliaStephen Shaw UNQUALIFIED
Salvatore D CaudyJapanAnna Fali NEGOTIATION
Antonio I PerinGermanyXuxue Feng NEGOTIATION
Chavez H NestleBrazilStephen Shaw NEGOTIATION
Mujtaba T OldroydRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Arvin T Doe
Jefferson Q Figeroa
Chavez I Malet
Leja D Caldarera
Smith R Gillian
Leon I Nicka
Aditya M Kusko
Stacey Z Butt
Ivar I Bowley
Arvin S Figeroa
Clifford S Slusarski
Ricardo T Gaucho
Jeanfrancois B Bowley
Silvio H Kolmetz
Octavia I Malet
Kadeem V Schemmer
Julie H Marrier
Faith V Rim
Morrow E Tollner
David K Venere
Jefferson V Rulapaugh
Rodrigues L Nestle
Arvin O Sergi
Silvio E Stenseth
Ashley R Sergi
Ivar K Stockham
Morrow U Royster
Maisha E Garufi
Costa W Marrier
Greenwood S Flosi
Leja H Marrier
Ashley N Flosi
Silvio T Bowley
Emily H Poquette
Alejandro A Marrier
Faith V Marrier
Nicolas Q Maclead
Misaki X Vocelka
Silvio Q Malet
Sinclair O Amigon
Claire W Ferencz
Julie A Garufi
James G Foller
Isabel B Chui
Jones S Rulapaugh
Mayumi A Bolognia
Ricardo I Poquette
Aditya V Foller
Juan O Garufi
Rodrigues J Paprocki
IdCountryDate
1000Japan2025-09-26
1001Australia2025-10-12
1002Argentina2025-09-22
1003Italy2025-10-07
1004Italy2025-10-16
1005India2025-10-16
1006Russia2025-10-08
1007India2025-10-14
1008Russia2025-10-11
1009Japan2025-09-30
1010Argentina2025-10-15
1011Russia2025-10-16
1012India2025-10-11
1013Australia2025-09-30
1014Italy2025-10-19
1015Russia2025-09-24
1016Australia2025-10-18
1017Germany2025-09-30
1018Germany2025-10-11
1019France2025-10-02
1020Germany2025-09-26
1021Russia2025-10-16
1022United Kingdom2025-10-01
1023Canada2025-09-27
1024Spain2025-09-26
1025Germany2025-10-01
1026Brazil2025-10-10
1027Brazil2025-10-05
1028Brazil2025-10-10
1029United Kingdom2025-10-04
1030France2025-09-28
1031Spain2025-09-22
1032Canada2025-10-01
1033Japan2025-10-20
1034Japan2025-10-10
1035Brazil2025-09-29
1036France2025-09-29
1037Brazil2025-10-09
1038United Kingdom2025-09-29
1039France2025-09-26
1040Italy2025-10-18
1041Germany2025-10-10
1042Italy2025-10-06
1043Japan2025-10-17
1044United Kingdom2025-10-11
1045Canada2025-10-02
1046Australia2025-09-25
1047Spain2025-09-25
1048France2025-09-29
1049Russia2025-09-28

On-Demand Data

NameIdCountryDate
Izzy C Morasca1000Germany2025-10-01
Faith O Malet1001India2025-10-03
Clifford T Doe1002Germany2025-10-09
Cody V Figeroa1003Spain2025-09-28
Adams J Caudy1004Spain2025-10-02
Arvin T Glick1005Germany2025-10-12
Murillo X Dilliard1006Italy2025-10-12
Francesco H Malet1007France2025-10-17
Alejandro L Butt1008India2025-10-01
Maria W Amigon1009India2025-09-29
Maria Y Saylors1010Spain2025-10-12
Mujtaba Y Nestle1011Japan2025-10-15
Ricardo G Gaucho1012Canada2025-10-19
Ivar U Ferencz1013Germany2025-10-07
Sinclair B Doe1014Spain2025-09-25
Mujtaba Z Tollner1015Russia2025-10-20
Morrow E Royster1016Argentina2025-10-02
Alejandro V Kolmetz1017Italy2025-09-28
Ivar J Glick1018Germany2025-09-24
Sinclair A Perin1019Spain2025-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A KolmetzItalyAmy Elsner PROPOSAL
Costa N DarakjyArgentinaAsiya Javayant UNQUALIFIED
David Q ChuiArgentinaStephen Shaw QUALIFIED
Mayumi L OstroskyFranceAmy Elsner NEW
Wickens W VenereGermanyElwin Sharvill UNQUALIFIED
Clifford W PoquetteRussiaIoni Bowcher NEW
Jeanfrancois B FollerCanadaElwin Sharvill NEW
Nicolas Z KuskoSpainBernardo Dominic NEW
Aditya C NestleAustraliaAsiya Javayant UNQUALIFIED
Salvatore Z FigeroaJapanIvan Magalhaes UNQUALIFIED
Greenwood I MorascaJapanAsiya Javayant QUALIFIED
Stacey P KolmetzSpainStephen Shaw RENEWAL
Aika D AlbaresRussiaBernardo Dominic UNQUALIFIED
Nicolas I CaldareraBrazilAnna Fali RENEWAL
Alejandro U FerenczAustraliaAmy Elsner PROPOSAL
Smith G RulapaughItalyIvan Magalhaes PROPOSAL
Sinclair S VenereBrazilOnyama Limba RENEWAL
Salvatore Z SlusarskiSpainIoni Bowcher NEW
Deepesh T SchemmerCanadaXuxue Feng PROPOSAL
Jennifer H OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore C VocelkaItalyOnyama Limba UNQUALIFIED
Arvin A FerenczIndiaStephen Shaw QUALIFIED
Aditya V PaprockiRussiaAmy Elsner NEW
Murillo O DoeBrazilStephen Shaw PROPOSAL
Aditya U IturbideItalyAmy Elsner UNQUALIFIED
Mayumi U GillianRussiaOnyama Limba NEW
Mujtaba B OldroydGermanyXuxue Feng NEW
Murillo S IturbideGermanyOnyama Limba NEGOTIATION
Leja P WhobreyUnited KingdomAmy Elsner QUALIFIED
Isabel L WaycottIndiaBernardo Dominic UNQUALIFIED
David S CaudyIndiaIoni Bowcher NEW
Jefferson B WieserFranceOnyama Limba QUALIFIED
Sinclair J FigeroaIndiaStephen Shaw NEGOTIATION
Isabel X CaudyArgentinaAsiya Javayant NEGOTIATION
Tony N BriddickIndiaStephen Shaw NEGOTIATION
Leon J ChuiSpainOnyama Limba RENEWAL
Misaki T SergiIndiaXuxue Feng NEGOTIATION
Arvin U AmigonArgentinaStephen Shaw PROPOSAL
Ricardo X GarufiIndiaElwin Sharvill PROPOSAL
Jefferson T FigeroaJapanAsiya Javayant 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>