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
Emily D NestleSpainOnyama Limba NEW
Munro T PaprockiGermanyXuxue Feng NEGOTIATION
Arvin I InouyeRussiaBernardo Dominic PROPOSAL
Morrow T NestleArgentinaIvan Magalhaes PROPOSAL
Johnson Q CaldareraBrazilAnna Fali PROPOSAL
Isabel Q FollerIndiaBernardo Dominic RENEWAL
Murillo L VocelkaArgentinaElwin Sharvill QUALIFIED
Aditya Z GillianUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson B MaletUnited KingdomIvan Magalhaes NEW
Darci S MaletFranceBernardo Dominic QUALIFIED
Cody G RutaJapanAsiya Javayant QUALIFIED
Greenwood J PoquetteAustraliaAmy Elsner NEW
Mayumi R GarufiRussiaOnyama Limba UNQUALIFIED
Kadeem S ButtIndiaBernardo Dominic NEW
Munro P MarrierIndiaIvan Magalhaes RENEWAL
Aika Q MaletCanadaIoni Bowcher RENEWAL
Adams M DilliardBrazilBernardo Dominic UNQUALIFIED
Murillo X GlickAustraliaBernardo Dominic PROPOSAL
Kaitlin V PaprockiRussiaXuxue Feng PROPOSAL
Smith X NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh X FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues G RimRussiaIoni Bowcher QUALIFIED
Rodrigues Z MarrierUnited KingdomAnna Fali NEGOTIATION
Aika T VenereAustraliaStephen Shaw QUALIFIED
Jeanfrancois F MarrierArgentinaXuxue Feng NEGOTIATION
Juan I SaylorsJapanAnna Fali NEGOTIATION
Silvio J SlusarskiIndiaAnna Fali UNQUALIFIED
Kadeem W GauchoUnited KingdomBernardo Dominic PROPOSAL
Chavez N FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois S CaldareraJapanXuxue Feng RENEWAL
Ricardo P GlickCanadaAnna Fali UNQUALIFIED
Salvatore X SlusarskiCanadaXuxue Feng NEW
Clifford E BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues O InouyeFranceAmy Elsner NEGOTIATION
Alejandro K MacleadSpainAmy Elsner NEW
Aruna B RutaJapanElwin Sharvill NEGOTIATION
Octavia Q PoquetteArgentinaXuxue Feng PROPOSAL
Mujtaba D MaletAustraliaAsiya Javayant RENEWAL
Tony J GauchoIndiaOnyama Limba QUALIFIED
Salvatore Q GlickAustraliaElwin Sharvill UNQUALIFIED
Ashley T FerenczArgentinaXuxue Feng NEGOTIATION
Kaitlin Y GarufiAustraliaBernardo Dominic NEGOTIATION
Adams L PerinRussiaIoni Bowcher QUALIFIED
Jefferson A FerenczIndiaBernardo Dominic PROPOSAL
Claire B AmigonCanadaAmy Elsner NEGOTIATION
Aika X CampainSpainStephen Shaw NEW
Izzy X AlbaresIndiaAmy Elsner NEW
Aruna F GlickAustraliaXuxue Feng NEW
Tony O MarrierItalyStephen Shaw UNQUALIFIED
Clifford D ButtJapanStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba H AmigonFranceOnyama Limba PROPOSAL
Emily B MorascaGermanyAnna Fali UNQUALIFIED
Mayumi Y GarufiUnited KingdomOnyama Limba UNQUALIFIED
Aika L VocelkaArgentinaXuxue Feng NEGOTIATION
Juan G MorascaCanadaBernardo Dominic RENEWAL
Ivar W FollerGermanyStephen Shaw PROPOSAL
Morrow J BriddickSpainOnyama Limba NEW
James T BowleyIndiaOnyama Limba PROPOSAL
Darci P RutaFranceAmy Elsner NEW
Wickens G WaycottGermanyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A VenereCanada2025-08-18Rangoni Of Florence RENEWAL75Amy Elsner
1001Chavez L MaletFrance2025-08-12Chapman, Ross E Esq UNQUALIFIED98Asiya Javayant
1002Morrow I FollerJapan2025-08-03Chemel, James L Cpa NEW22Asiya Javayant
1003Salvatore Y KuskoBrazil2025-08-23Feltz Printing Service PROPOSAL23Xuxue Feng
1004Kadeem Q IturbideRussia2025-08-05Rousseaux, Michael Esq UNQUALIFIED23Elwin Sharvill
1005Smith K OstroskyIndia2025-08-04Printing Dimensions QUALIFIED65Asiya Javayant
1006Francesco U OstroskyJapan2025-08-06Chanay, Jeffrey A Esq RENEWAL84Amy Elsner
1007Adams L AmigonCanada2025-07-30Buckley Miller Wright QUALIFIED56Stephen Shaw
1008Antonio X GauchoSpain2025-08-07Feltz Printing Service PROPOSAL34Elwin Sharvill
1009Darci Z ChuiItaly2025-08-23Rousseaux, Michael Esq NEGOTIATION52Ioni Bowcher
1010Claire F GauchoRussia2025-08-08Rangoni Of Florence QUALIFIED95Elwin Sharvill
1011Munro R TollnerJapan2025-08-09Feiner Bros QUALIFIED88Bernardo Dominic
1012Maisha Q BriddickFrance2025-08-12Rangoni Of Florence NEW88Xuxue Feng
1013Sinclair W AmigonJapan2025-08-16Chapman, Ross E Esq NEW1Elwin Sharvill
1014Sinclair M FigeroaJapan2025-08-06Commercial Press RENEWAL48Stephen Shaw
1015Ashley J DoeGermany2025-08-05Feltz Printing Service RENEWAL90Bernardo Dominic
1016Aika S PoquetteCanada2025-08-13Buckley Miller Wright UNQUALIFIED97Ioni Bowcher
1017David C KuskoIndia2025-08-08Rousseaux, Michael Esq NEW30Bernardo Dominic
1018Greenwood V BowleyAustralia2025-08-15Benton, John B Jr NEGOTIATION80Ioni Bowcher
1019Isabel G ChuiFrance2025-08-17Morlong Associates RENEWAL86Asiya Javayant
1020Murillo R MaletRussia2025-08-13Benton, John B Jr NEGOTIATION34Amy Elsner
1021Jennifer L AlbaresCanada2025-08-08Feiner Bros NEGOTIATION4Amy Elsner
1022Izzy Q BowleyAustralia2025-08-06Rangoni Of Florence NEGOTIATION4Asiya Javayant
1023Clifford C DarakjyJapan2025-08-01Commercial Press UNQUALIFIED93Bernardo Dominic
1024Octavia Q PerinJapan2025-08-10Chanay, Jeffrey A Esq QUALIFIED48Amy Elsner
1025Stacey F FigeroaGermany2025-07-31Commercial Press PROPOSAL64Anna Fali
1026Cody O RulapaughGermany2025-08-09Rangoni Of Florence UNQUALIFIED95Anna Fali
1027Leja S RoysterGermany2025-07-30Buckley Miller Wright RENEWAL70Amy Elsner
1028Aika O DilliardRussia2025-08-03Truhlar And Truhlar Attys PROPOSAL40Ivan Magalhaes
1029Kaitlin H BologniaCanada2025-08-24Chemel, James L Cpa QUALIFIED84Asiya Javayant
1030Silvio V GarufiSpain2025-08-19Rousseaux, Michael Esq RENEWAL52Elwin Sharvill
1031Morrow R FerenczSpain2025-08-20Commercial Press PROPOSAL89Ioni Bowcher
1032Aika Z RutaSpain2025-07-27Dorl, James J Esq RENEWAL64Ivan Magalhaes
1033Stacey M MaletSpain2025-07-26Morlong Associates RENEWAL5Onyama Limba
1034Cody J ChuiSpain2025-08-18Rousseaux, Michael Esq RENEWAL46Asiya Javayant
1035Izzy T DarakjyArgentina2025-07-26Truhlar And Truhlar Attys NEGOTIATION77Ivan Magalhaes
1036Stacey U NickaCanada2025-08-08Rousseaux, Michael Esq RENEWAL60Ioni Bowcher
1037Cody H SlusarskiUnited Kingdom2025-08-07Feltz Printing Service NEGOTIATION15Elwin Sharvill
1038Deepesh X MaletUnited Kingdom2025-08-13Rangoni Of Florence UNQUALIFIED6Stephen Shaw
1039Nicolas X VocelkaFrance2025-08-21Feltz Printing Service QUALIFIED36Anna Fali
1040Julie A ButtJapan2025-08-19Truhlar And Truhlar Attys PROPOSAL23Ivan Magalhaes
1041Sinclair G GauchoJapan2025-07-29Chapman, Ross E Esq UNQUALIFIED50Asiya Javayant
1042Ricardo R RimCanada2025-08-19Chapman, Ross E Esq PROPOSAL72Amy Elsner
1043Kadeem E BriddickBrazil2025-07-28Feltz Printing Service NEGOTIATION46Xuxue Feng
1044Mujtaba G GarufiFrance2025-08-19King, Christopher A Esq QUALIFIED86Elwin Sharvill
1045Aditya E DilliardItaly2025-08-16Dorl, James J Esq QUALIFIED28Onyama Limba
1046Smith H StensethFrance2025-08-01Dorl, James J Esq QUALIFIED19Onyama Limba
1047Jefferson M WieserBrazil2025-08-12Truhlar And Truhlar Attys PROPOSAL56Stephen Shaw
1048Darci P DoeSpain2025-08-15Feltz Printing Service RENEWAL33Asiya Javayant
1049Cody T FollerArgentina2025-08-02Printing Dimensions RENEWAL31Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Z NestleRussiaAsiya Javayant PROPOSAL
Misaki I CaudyCanadaAnna Fali UNQUALIFIED
Greenwood X MacleadAustraliaElwin Sharvill NEW
Silvio R SaylorsCanadaStephen Shaw PROPOSAL
Arvin Z DarakjyFranceOnyama Limba UNQUALIFIED
Adams U FigeroaJapanAsiya Javayant UNQUALIFIED
Costa F MacleadSpainBernardo Dominic RENEWAL
Clifford W StockhamItalyXuxue Feng QUALIFIED
Ivar Y ButtCanadaXuxue Feng RENEWAL
Izzy Y DilliardFranceIvan Magalhaes NEGOTIATION
Claire O RoysterFranceBernardo Dominic RENEWAL
Francesco K GlickGermanyOnyama Limba NEW
Aruna K DilliardJapanIoni Bowcher QUALIFIED
Wickens Y ChuiAustraliaIvan Magalhaes NEW
Ricardo E InouyeGermanyIvan Magalhaes PROPOSAL
Darci Z VocelkaBrazilAnna Fali PROPOSAL
Mujtaba A SlusarskiIndiaOnyama Limba NEW
Morrow F IturbideRussiaElwin Sharvill RENEWAL
Faith F MaletUnited KingdomOnyama Limba RENEWAL
Wickens C DoeGermanyAsiya Javayant RENEWAL
Costa T InouyeFranceElwin Sharvill UNQUALIFIED
Antonio T PoquetteFranceBernardo Dominic PROPOSAL
Adams L AlbaresItalyElwin Sharvill PROPOSAL
Smith T BowleyItalyAnna Fali NEGOTIATION
Aika N InouyeArgentinaIvan Magalhaes QUALIFIED
Isabel A GauchoCanadaBernardo Dominic QUALIFIED
Arvin J MaletJapanIoni Bowcher NEW
Ricardo Z FlosiCanadaXuxue Feng PROPOSAL
Munro D WhobreyFranceBernardo Dominic UNQUALIFIED
Ivar N CampainSpainOnyama Limba PROPOSAL
Ivar Q WaycottItalyBernardo Dominic PROPOSAL
Tony E SaylorsFranceOnyama Limba NEW
Murillo P FigeroaSpainAnna Fali QUALIFIED
Leon C VocelkaFranceAnna Fali NEGOTIATION
Leja I InouyeCanadaAnna Fali UNQUALIFIED
Izzy P DilliardAustraliaIvan Magalhaes UNQUALIFIED
Emily W CaudyUnited KingdomAsiya Javayant NEW
Ashley P StockhamCanadaAsiya Javayant QUALIFIED
Murillo T CaudyUnited KingdomIoni Bowcher NEGOTIATION
Jefferson T OstroskyJapanStephen Shaw NEW
Costa C AmigonJapanBernardo Dominic QUALIFIED
Octavia W FerenczRussiaOnyama Limba QUALIFIED
Ricardo O StensethRussiaOnyama Limba NEW
Julie P DilliardIndiaStephen Shaw NEGOTIATION
Octavia P KuskoUnited KingdomOnyama Limba RENEWAL
Murillo R FerenczAustraliaIvan Magalhaes RENEWAL
Isabel K BowleyIndiaXuxue Feng NEW
Mujtaba Q AlbaresAustraliaOnyama Limba NEW
Smith S SchemmerFranceIvan Magalhaes RENEWAL
Adams U SergiItalyAnna Fali QUALIFIED
Frozen Columns
Name
Salvatore P Rulapaugh
Sinclair E Iturbide
Emily G Amigon
Maria R Albares
Maria J Briddick
Isabel V Marrier
Chavez T Briddick
Darci T Nestle
Stacey E Paprocki
Mayumi M Darakjy
Aika N Malet
Deepesh J Briddick
Juan A Venere
Mayumi R Tollner
Cody E Rim
Munro H Schemmer
Isabel I Figeroa
Deepesh T Whobrey
Cody I Darakjy
Johnson C Ostrosky
Morrow G Darakjy
Munro I Stockham
Isabel N Poquette
Claire K Poquette
Octavia C Darakjy
Murillo T Dilliard
Johnson A Dilliard
Cody K Butt
Chavez C Stockham
David L Schemmer
Arvin H Saylors
Clifford M Sergi
Francesco C Oldroyd
Ivar S Royster
Leon G Rim
Wickens G Ruta
Alejandro Y Oldroyd
Claire K Campain
Faith E Campain
Kadeem C Bolognia
David S Briddick
Alejandro N Oldroyd
Leja I Albares
Jones J Bolognia
Silvio L Stockham
Clifford U Ruta
Darci U Darakjy
Leon S Bolognia
Kadeem W Albares
Aruna Z Caudy
IdCountryDate
1000India2025-08-03
1001Canada2025-08-05
1002Argentina2025-08-01
1003Argentina2025-08-19
1004India2025-08-16
1005Australia2025-08-09
1006Argentina2025-08-23
1007Canada2025-08-13
1008France2025-08-22
1009Russia2025-07-30
1010Italy2025-08-02
1011United Kingdom2025-08-01
1012Spain2025-08-08
1013Spain2025-08-03
1014France2025-07-27
1015Russia2025-08-17
1016Spain2025-08-14
1017Japan2025-08-22
1018Japan2025-07-27
1019Brazil2025-08-24
1020Russia2025-07-30
1021Spain2025-08-24
1022Brazil2025-07-26
1023Italy2025-08-08
1024Brazil2025-07-26
1025Argentina2025-08-12
1026Brazil2025-08-16
1027Japan2025-07-26
1028Japan2025-08-14
1029Canada2025-08-02
1030United Kingdom2025-07-30
1031India2025-08-20
1032France2025-08-01
1033Spain2025-08-19
1034Canada2025-08-20
1035France2025-07-27
1036Germany2025-08-15
1037India2025-07-26
1038Argentina2025-07-27
1039Canada2025-08-02
1040Russia2025-07-27
1041Japan2025-08-21
1042Canada2025-08-12
1043Italy2025-08-24
1044Italy2025-08-14
1045India2025-08-17
1046Spain2025-08-05
1047India2025-08-12
1048Italy2025-08-22
1049Argentina2025-08-06

On-Demand Data

NameIdCountryDate
Silvio N Shinko1000India2025-08-19
David Q Vocelka1001Canada2025-08-15
Darci C Wieser1002India2025-08-09
James K Slusarski1003Italy2025-08-22
Kadeem B Malet1004Brazil2025-07-28
Aditya F Vocelka1005Italy2025-08-19
James F Briddick1006Spain2025-07-31
Octavia L Briddick1007Spain2025-07-29
Mayumi P Bowley1008Brazil2025-08-14
Jefferson D Dilliard1009Canada2025-07-26
Greenwood Q Saylors1010India2025-08-13
Munro H Doe1011Spain2025-08-10
Misaki D Kusko1012Canada2025-07-27
Misaki D Whobrey1013Brazil2025-08-13
Stacey L Chui1014France2025-08-04
Jeanfrancois M Doe1015Canada2025-07-26
Leon V Bolognia1016Brazil2025-08-13
Izzy H Ruta1017Japan2025-08-12
Kaitlin D Slusarski1018Japan2025-08-19
Juan A Caudy1019Italy2025-08-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro B VocelkaJapanElwin Sharvill NEGOTIATION
Ashley X NickaRussiaBernardo Dominic NEGOTIATION
Stacey L MaletSpainBernardo Dominic QUALIFIED
Arvin P DarakjyArgentinaIoni Bowcher NEGOTIATION
Octavia Z CampainItalyAsiya Javayant NEGOTIATION
Maisha J VenereSpainIvan Magalhaes NEGOTIATION
Arvin H RimBrazilAnna Fali NEGOTIATION
Rodrigues B SchemmerSpainAsiya Javayant RENEWAL
Darci K WaycottCanadaBernardo Dominic QUALIFIED
Jefferson A BriddickIndiaBernardo Dominic RENEWAL
Maria F SergiItalyIoni Bowcher NEW
Ivar O FerenczGermanyStephen Shaw PROPOSAL
Costa A GlickCanadaAsiya Javayant QUALIFIED
Deepesh Y CampainBrazilStephen Shaw UNQUALIFIED
Jones A PerinBrazilOnyama Limba NEGOTIATION
Deepesh C BologniaCanadaAsiya Javayant RENEWAL
James S ChuiJapanBernardo Dominic NEW
Aika X SergiCanadaBernardo Dominic NEW
Faith O RoysterArgentinaAnna Fali RENEWAL
Francesco M ButtBrazilElwin Sharvill QUALIFIED
Deepesh M WieserBrazilXuxue Feng QUALIFIED
Mujtaba P TollnerRussiaAnna Fali QUALIFIED
Smith V MacleadFranceAsiya Javayant QUALIFIED
Sinclair I StensethRussiaIvan Magalhaes NEW
Munro H TollnerBrazilOnyama Limba RENEWAL
Nicolas H MarrierSpainBernardo Dominic PROPOSAL
Morrow H VocelkaAustraliaOnyama Limba NEGOTIATION
Silvio M CaldareraRussiaIoni Bowcher NEGOTIATION
Izzy L VocelkaUnited KingdomElwin Sharvill QUALIFIED
Leja U RoysterUnited KingdomXuxue Feng NEGOTIATION
Deepesh A MarrierJapanXuxue Feng NEW
Aika R VenereBrazilElwin Sharvill QUALIFIED
Silvio M CaldareraIndiaBernardo Dominic UNQUALIFIED
Francesco N DarakjyIndiaAsiya Javayant NEGOTIATION
Murillo Q DarakjyGermanyAmy Elsner QUALIFIED
Maria R FerenczCanadaBernardo Dominic PROPOSAL
Munro E FollerArgentinaAmy Elsner NEW
Maisha G KuskoCanadaOnyama Limba NEW
Smith B OstroskyJapanXuxue Feng RENEWAL
Ashley M InouyeJapanAmy Elsner QUALIFIED

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