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
Munro X StensethUnited KingdomOnyama Limba QUALIFIED
Wickens W NestleRussiaStephen Shaw RENEWAL
Smith F GillianUnited KingdomOnyama Limba NEGOTIATION
Darci J MaletItalyAsiya Javayant QUALIFIED
Maisha U RutaSpainOnyama Limba QUALIFIED
Aika C SlusarskiCanadaStephen Shaw QUALIFIED
Izzy X BriddickUnited KingdomAmy Elsner QUALIFIED
Misaki F ChuiItalyBernardo Dominic NEGOTIATION
David O KolmetzArgentinaAsiya Javayant QUALIFIED
Smith N SergiArgentinaAmy Elsner NEW
James P KuskoItalyXuxue Feng UNQUALIFIED
Emily A BriddickSpainAsiya Javayant RENEWAL
Aika S IturbideAustraliaXuxue Feng NEGOTIATION
Johnson K FollerArgentinaBernardo Dominic QUALIFIED
Morrow O GauchoUnited KingdomBernardo Dominic QUALIFIED
Isabel I ChuiUnited KingdomIoni Bowcher NEGOTIATION
David A PaprockiSpainXuxue Feng RENEWAL
Aditya P FerenczIndiaAsiya Javayant UNQUALIFIED
Francesco S VenereJapanAsiya Javayant PROPOSAL
Isabel F MaletJapanXuxue Feng PROPOSAL
Cody U CampainSpainIoni Bowcher QUALIFIED
Emily B NickaRussiaElwin Sharvill NEGOTIATION
Arvin C BologniaItalyOnyama Limba UNQUALIFIED
Rodrigues C RimFranceOnyama Limba NEGOTIATION
Ricardo M StensethArgentinaStephen Shaw RENEWAL
Maria Y MacleadAustraliaIoni Bowcher PROPOSAL
James C BowleyItalyOnyama Limba PROPOSAL
Chavez P AlbaresItalyIvan Magalhaes PROPOSAL
Leon K BologniaUnited KingdomStephen Shaw RENEWAL
Aditya X AlbaresUnited KingdomAsiya Javayant NEW
Emily Q ButtRussiaAmy Elsner QUALIFIED
Arvin K OldroydBrazilXuxue Feng PROPOSAL
Johnson V VenereSpainXuxue Feng NEW
Rodrigues O DilliardGermanyAnna Fali PROPOSAL
Emily N CaldareraItalyAmy Elsner QUALIFIED
Maisha X SchemmerRussiaIoni Bowcher QUALIFIED
Adams R MarrierGermanyAsiya Javayant QUALIFIED
Emily O PoquetteJapanXuxue Feng PROPOSAL
Deepesh R ButtArgentinaBernardo Dominic RENEWAL
Kadeem Z SergiArgentinaIoni Bowcher RENEWAL
Chavez T FigeroaFranceIvan Magalhaes PROPOSAL
Munro F TollnerUnited KingdomAsiya Javayant NEW
Isabel K PoquetteAustraliaBernardo Dominic NEGOTIATION
Cody S IturbideGermanyIvan Magalhaes UNQUALIFIED
James I CaldareraSpainAsiya Javayant QUALIFIED
Kadeem P RutaJapanIoni Bowcher RENEWAL
Misaki S RutaRussiaElwin Sharvill NEW
Arvin J FollerArgentinaBernardo Dominic NEGOTIATION
Kaitlin S VenereRussiaIoni Bowcher RENEWAL
David J GarufiBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith R MaletCanadaIoni Bowcher NEGOTIATION
Antonio Y PoquetteCanadaElwin Sharvill NEGOTIATION
Jeanfrancois C AlbaresGermanyStephen Shaw QUALIFIED
James T GlickBrazilIvan Magalhaes RENEWAL
Emily W GauchoBrazilIvan Magalhaes NEW
Ashley R MaletArgentinaIoni Bowcher NEGOTIATION
Jefferson E StensethAustraliaAmy Elsner UNQUALIFIED
Aruna X WhobreyJapanXuxue Feng NEGOTIATION
Ricardo A SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Isabel O FollerRussiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones J BriddickIndia2025-08-13Chanay, Jeffrey A Esq NEGOTIATION19Elwin Sharvill
1001James K FigeroaSpain2025-08-02Rousseaux, Michael Esq PROPOSAL97Amy Elsner
1002Wickens X AlbaresIndia2025-07-25Feltz Printing Service RENEWAL50Xuxue Feng
1003Isabel T NestleAustralia2025-08-08Feltz Printing Service NEW90Xuxue Feng
1004Maria O BowleyRussia2025-07-27Truhlar And Truhlar Attys UNQUALIFIED93Bernardo Dominic
1005Darci L BriddickUnited Kingdom2025-08-16Chapman, Ross E Esq NEGOTIATION90Anna Fali
1006Morrow L DilliardBrazil2025-08-11Feiner Bros QUALIFIED35Elwin Sharvill
1007Jennifer C MorascaJapan2025-07-26Commercial Press PROPOSAL83Bernardo Dominic
1008Leja S WaycottFrance2025-08-02Rousseaux, Michael Esq RENEWAL18Anna Fali
1009Clifford D CaldareraArgentina2025-08-17Benton, John B Jr NEW43Amy Elsner
1010Johnson U PaprockiItaly2025-08-15Printing Dimensions UNQUALIFIED1Anna Fali
1011Antonio E CaldareraItaly2025-08-03Rangoni Of Florence QUALIFIED25Elwin Sharvill
1012Jennifer F MacleadItaly2025-08-17King, Christopher A Esq NEW11Elwin Sharvill
1013Cody C SlusarskiUnited Kingdom2025-08-17Morlong Associates QUALIFIED53Ivan Magalhaes
1014Rodrigues P GarufiFrance2025-08-02Benton, John B Jr RENEWAL44Elwin Sharvill
1015Faith Z PoquetteFrance2025-08-01Feiner Bros NEGOTIATION42Ivan Magalhaes
1016Mujtaba W KolmetzJapan2025-08-18Feltz Printing Service QUALIFIED92Ioni Bowcher
1017Greenwood Y ButtArgentina2025-07-22Printing Dimensions NEW60Elwin Sharvill
1018Morrow N GlickItaly2025-07-21Truhlar And Truhlar Attys NEW32Anna Fali
1019Kadeem P DilliardArgentina2025-07-25Commercial Press NEW37Onyama Limba
1020Aditya G DoeBrazil2025-08-03Chemel, James L Cpa UNQUALIFIED79Ivan Magalhaes
1021Faith I MaletAustralia2025-08-17Dorl, James J Esq RENEWAL48Xuxue Feng
1022Aika U InouyeAustralia2025-08-15Morlong Associates RENEWAL52Elwin Sharvill
1023Ricardo X VocelkaGermany2025-07-25Dorl, James J Esq QUALIFIED78Asiya Javayant
1024Rodrigues D DarakjyFrance2025-08-09Chanay, Jeffrey A Esq NEW17Ivan Magalhaes
1025Kadeem Y FigeroaSpain2025-07-21Chanay, Jeffrey A Esq RENEWAL37Asiya Javayant
1026Sinclair B KolmetzGermany2025-08-05Benton, John B Jr NEW13Elwin Sharvill
1027Izzy T MaletFrance2025-07-31Chemel, James L Cpa PROPOSAL18Onyama Limba
1028Francesco C MacleadCanada2025-08-16Benton, John B Jr QUALIFIED54Onyama Limba
1029Rodrigues V NickaAustralia2025-07-28Rangoni Of Florence NEGOTIATION63Anna Fali
1030Leja F BowleyBrazil2025-08-15Morlong Associates UNQUALIFIED44Asiya Javayant
1031Isabel D FollerUnited Kingdom2025-08-06Commercial Press RENEWAL6Ivan Magalhaes
1032Greenwood R ButtUnited Kingdom2025-08-05Morlong Associates RENEWAL27Amy Elsner
1033Wickens K StensethAustralia2025-08-18Commercial Press NEGOTIATION51Asiya Javayant
1034Claire G FollerIndia2025-07-30Chanay, Jeffrey A Esq UNQUALIFIED92Xuxue Feng
1035Wickens S VocelkaFrance2025-08-02Chanay, Jeffrey A Esq PROPOSAL39Bernardo Dominic
1036Jennifer K ShinkoBrazil2025-07-25Benton, John B Jr NEW71Anna Fali
1037Jennifer T BriddickItaly2025-08-10Feltz Printing Service QUALIFIED10Ioni Bowcher
1038Sinclair P PerinItaly2025-07-20Commercial Press QUALIFIED27Stephen Shaw
1039Juan F GlickGermany2025-08-01Chapman, Ross E Esq RENEWAL18Bernardo Dominic
1040Jennifer Z ButtSpain2025-07-27Chanay, Jeffrey A Esq RENEWAL93Bernardo Dominic
1041Deepesh G MarrierAustralia2025-08-02Commercial Press QUALIFIED91Ioni Bowcher
1042Arvin H IturbideBrazil2025-08-18Chanay, Jeffrey A Esq QUALIFIED0Asiya Javayant
1043Ricardo O GlickItaly2025-07-30Commercial Press RENEWAL56Ioni Bowcher
1044Misaki H InouyeRussia2025-08-06Buckley Miller Wright NEW77Ivan Magalhaes
1045Maisha A GarufiAustralia2025-07-26Chemel, James L Cpa PROPOSAL66Bernardo Dominic
1046Maria V RutaUnited Kingdom2025-08-08Commercial Press NEW58Asiya Javayant
1047Costa L SlusarskiGermany2025-08-13Morlong Associates UNQUALIFIED40Bernardo Dominic
1048Jennifer M StensethBrazil2025-08-09Rousseaux, Michael Esq NEGOTIATION70Onyama Limba
1049Octavia E RulapaughRussia2025-08-17Morlong Associates PROPOSAL52Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
James U BowleyJapanAmy Elsner PROPOSAL
Misaki M SaylorsIndiaXuxue Feng NEGOTIATION
Adams Z CaudyAustraliaIoni Bowcher RENEWAL
Emily H FlosiCanadaBernardo Dominic UNQUALIFIED
Emily F MarrierFranceAnna Fali RENEWAL
Arvin Z RimSpainElwin Sharvill PROPOSAL
Clifford A WhobreyJapanIoni Bowcher NEW
Munro H KolmetzJapanElwin Sharvill QUALIFIED
Faith N ChuiItalyBernardo Dominic NEGOTIATION
Arvin D KolmetzItalyIvan Magalhaes PROPOSAL
Jefferson W IturbideFranceXuxue Feng RENEWAL
Sinclair V SchemmerRussiaStephen Shaw PROPOSAL
Morrow K FlosiIndiaAnna Fali NEW
Julie M StensethRussiaAsiya Javayant NEGOTIATION
Kaitlin Q MaletSpainElwin Sharvill PROPOSAL
Salvatore W BowleyUnited KingdomAmy Elsner PROPOSAL
Smith T GlickArgentinaElwin Sharvill NEW
Silvio W VocelkaCanadaStephen Shaw UNQUALIFIED
James B WieserAustraliaAsiya Javayant NEGOTIATION
Ivar U ShinkoCanadaAnna Fali RENEWAL
Tony J RimRussiaOnyama Limba QUALIFIED
Jefferson L BriddickItalyAsiya Javayant NEW
Chavez F GarufiGermanyAmy Elsner RENEWAL
Maisha C MarrierAustraliaOnyama Limba QUALIFIED
Isabel N MaletBrazilAsiya Javayant RENEWAL
Isabel G CampainItalyAsiya Javayant UNQUALIFIED
Claire O ShinkoRussiaOnyama Limba UNQUALIFIED
Morrow B RutaIndiaIvan Magalhaes RENEWAL
Rodrigues N RutaBrazilAnna Fali UNQUALIFIED
Jeanfrancois G IturbideAustraliaXuxue Feng NEGOTIATION
Smith K RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Ivar F RimArgentinaAnna Fali QUALIFIED
Maisha S BowleySpainBernardo Dominic UNQUALIFIED
Greenwood L SchemmerFranceElwin Sharvill NEW
James R KolmetzCanadaAsiya Javayant RENEWAL
Cody J MaletArgentinaAsiya Javayant PROPOSAL
Emily Y WhobreyFranceBernardo Dominic UNQUALIFIED
Wickens Q StockhamAustraliaOnyama Limba UNQUALIFIED
Cody U SlusarskiSpainElwin Sharvill RENEWAL
Maria L MarrierArgentinaOnyama Limba PROPOSAL
Clifford C SaylorsRussiaStephen Shaw RENEWAL
Tony B FerenczFranceAnna Fali PROPOSAL
Smith H SchemmerSpainOnyama Limba UNQUALIFIED
Aika D RoysterUnited KingdomBernardo Dominic PROPOSAL
Tony O PoquetteSpainAmy Elsner NEW
Maisha X MacleadArgentinaXuxue Feng NEW
Jeanfrancois Y AmigonGermanyAnna Fali RENEWAL
Kadeem I OstroskyUnited KingdomIoni Bowcher PROPOSAL
Adams M DarakjyFranceAnna Fali QUALIFIED
Munro X CampainBrazilOnyama Limba RENEWAL
Frozen Columns
Name
Nicolas X Vocelka
Maria Q Malet
Antonio G Oldroyd
David K Ruta
Alejandro V Doe
Cody H Rulapaugh
Silvio S Slusarski
Leon O Albares
Greenwood M Schemmer
Costa D Sergi
Munro R Morasca
Emily J Butt
Maria I Wieser
Octavia F Campain
Francesco F Chui
Maria S Bowley
Emily B Perin
Silvio S Caldarera
Francesco G Briddick
Octavia T Poquette
Mayumi N Shinko
Mayumi B Stockham
Maisha W Gillian
Mujtaba Z Wieser
Faith P Nicka
Silvio Z Nicka
Smith U Whobrey
Aruna I Bolognia
Nicolas N Royster
Jones Z Caldarera
Jones K Doe
Smith R Garufi
Izzy U Royster
Jones Q Stenseth
Wickens N Slusarski
Isabel W Glick
Costa T Paprocki
Jefferson P Flosi
Deepesh K Schemmer
James Q Shinko
Rodrigues A Kolmetz
Misaki D Caldarera
Julie D Figeroa
Emily G Royster
Kaitlin A Albares
Greenwood I Wieser
Morrow V Stenseth
Misaki H Royster
Darci K Albares
Salvatore X Stockham
IdCountryDate
1000Spain2025-07-31
1001France2025-07-20
1002Italy2025-08-11
1003Germany2025-08-11
1004India2025-08-13
1005United Kingdom2025-08-06
1006Canada2025-08-17
1007Russia2025-08-03
1008India2025-08-06
1009India2025-08-07
1010Canada2025-08-18
1011Russia2025-07-30
1012Germany2025-08-06
1013Germany2025-07-24
1014France2025-07-26
1015Brazil2025-08-17
1016France2025-07-23
1017United Kingdom2025-07-25
1018Germany2025-08-11
1019France2025-08-12
1020Brazil2025-07-27
1021Brazil2025-08-13
1022Australia2025-07-23
1023France2025-07-29
1024India2025-08-11
1025Argentina2025-07-27
1026Italy2025-08-12
1027Japan2025-07-26
1028Australia2025-07-29
1029India2025-07-29
1030Australia2025-07-31
1031France2025-08-04
1032Australia2025-07-27
1033Russia2025-07-21
1034United Kingdom2025-07-23
1035Japan2025-07-23
1036Germany2025-08-14
1037Argentina2025-07-29
1038Germany2025-08-10
1039United Kingdom2025-08-14
1040India2025-08-14
1041Japan2025-08-07
1042India2025-08-02
1043Argentina2025-08-11
1044Germany2025-08-05
1045France2025-08-05
1046Japan2025-08-04
1047France2025-08-14
1048Russia2025-08-03
1049Spain2025-07-26

On-Demand Data

NameIdCountryDate
Juan T Kusko1000Russia2025-07-24
Greenwood J Slusarski1001Spain2025-07-28
Misaki J Sergi1002Japan2025-07-26
Stacey P Slusarski1003India2025-07-22
Ricardo S Waycott1004Canada2025-07-22
Munro B Darakjy1005Germany2025-08-17
Aika U Paprocki1006Russia2025-08-12
Claire X Dilliard1007Germany2025-08-14
Silvio U Gillian1008India2025-08-14
Isabel C Nestle1009Japan2025-08-06
Ivar P Waycott1010Brazil2025-07-31
Sinclair S Malet1011United Kingdom2025-08-08
Mayumi C Stenseth1012Spain2025-08-09
Adams R Waycott1013Germany2025-07-31
Ivar I Chui1014Russia2025-08-04
Tony E Inouye1015India2025-07-23
Silvio C Chui1016Russia2025-07-22
Silvio W Perin1017Canada2025-08-16
Leon X Inouye1018France2025-07-21
Aditya V Slusarski1019India2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon G SchemmerBrazilXuxue Feng PROPOSAL
Greenwood U ShinkoCanadaElwin Sharvill PROPOSAL
Stacey T WieserFranceAsiya Javayant RENEWAL
Salvatore A ShinkoSpainXuxue Feng NEGOTIATION
Jefferson Y ChuiRussiaElwin Sharvill RENEWAL
Rodrigues N SlusarskiSpainStephen Shaw RENEWAL
Julie B StensethUnited KingdomBernardo Dominic PROPOSAL
Jennifer K MorascaGermanyElwin Sharvill NEW
Alejandro B DilliardIndiaAmy Elsner UNQUALIFIED
Izzy H CaldareraIndiaOnyama Limba NEGOTIATION
Jefferson D DilliardGermanyAnna Fali NEW
Salvatore I SergiBrazilXuxue Feng PROPOSAL
Mayumi X KuskoArgentinaAnna Fali PROPOSAL
Juan U SchemmerGermanyIvan Magalhaes QUALIFIED
Sinclair W SergiAustraliaXuxue Feng NEW
Julie O NickaCanadaAmy Elsner RENEWAL
Salvatore D SlusarskiArgentinaOnyama Limba UNQUALIFIED
Ricardo J OstroskyCanadaStephen Shaw QUALIFIED
Sinclair H StockhamJapanAmy Elsner NEW
Kadeem A MacleadRussiaIvan Magalhaes QUALIFIED
Alejandro N DoeIndiaAnna Fali PROPOSAL
Antonio Y TollnerItalyBernardo Dominic NEGOTIATION
Rodrigues R IturbideCanadaBernardo Dominic RENEWAL
Francesco H VenereCanadaOnyama Limba QUALIFIED
Francesco J WaycottJapanAnna Fali RENEWAL
Cody J MacleadJapanAsiya Javayant QUALIFIED
Juan A FollerUnited KingdomIvan Magalhaes NEGOTIATION
Isabel S WhobreyCanadaXuxue Feng PROPOSAL
Jones F NestleUnited KingdomStephen Shaw NEGOTIATION
Clifford Y RutaFranceAnna Fali NEW
Kaitlin X RulapaughAustraliaAsiya Javayant NEGOTIATION
David R OldroydSpainAsiya Javayant PROPOSAL
Aruna T RimBrazilAnna Fali RENEWAL
David D PaprockiGermanyAnna Fali PROPOSAL
Clifford H KolmetzCanadaAmy Elsner PROPOSAL
Darci N WhobreyGermanyIvan Magalhaes QUALIFIED
Emily D SergiUnited KingdomIvan Magalhaes NEW
Nicolas V CampainFranceIoni Bowcher RENEWAL
Isabel D SlusarskiFranceXuxue Feng UNQUALIFIED
Kaitlin P RoysterBrazilElwin Sharvill NEGOTIATION

<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>