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
Misaki L CampainFranceOnyama Limba NEGOTIATION
Leja F MorascaBrazilElwin Sharvill NEGOTIATION
Morrow T AlbaresBrazilBernardo Dominic PROPOSAL
Darci C ShinkoJapanBernardo Dominic RENEWAL
Smith J InouyeItalyXuxue Feng QUALIFIED
Claire O KuskoRussiaAnna Fali QUALIFIED
Maria T ChuiFranceIoni Bowcher NEW
Aika A DoeUnited KingdomBernardo Dominic NEW
Francesco X ChuiJapanBernardo Dominic QUALIFIED
Aditya N DarakjyCanadaBernardo Dominic NEGOTIATION
Tony E PerinBrazilAnna Fali UNQUALIFIED
Emily E IturbideJapanXuxue Feng QUALIFIED
Alejandro C WieserUnited KingdomAsiya Javayant NEW
Claire L FigeroaRussiaIvan Magalhaes NEW
Leja P SchemmerUnited KingdomElwin Sharvill RENEWAL
Darci F SaylorsCanadaAsiya Javayant NEGOTIATION
Adams C AlbaresJapanXuxue Feng PROPOSAL
Deepesh P RimRussiaXuxue Feng NEGOTIATION
Faith H GauchoUnited KingdomOnyama Limba UNQUALIFIED
Jennifer F GarufiFranceXuxue Feng UNQUALIFIED
Faith N OstroskySpainElwin Sharvill NEGOTIATION
Greenwood Z MarrierFranceAmy Elsner RENEWAL
Aika V FigeroaArgentinaAsiya Javayant UNQUALIFIED
Wickens Y AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Faith C GlickGermanyStephen Shaw NEGOTIATION
Chavez J SergiJapanAsiya Javayant RENEWAL
Cody K TollnerCanadaOnyama Limba UNQUALIFIED
Maisha C GauchoRussiaStephen Shaw UNQUALIFIED
Alejandro A NestleCanadaAsiya Javayant PROPOSAL
Ashley B AmigonArgentinaStephen Shaw NEW
Izzy I IturbideBrazilAmy Elsner NEGOTIATION
Arvin T StensethItalyAmy Elsner RENEWAL
Maisha O ShinkoIndiaAnna Fali NEGOTIATION
Mayumi F InouyeGermanyAmy Elsner NEGOTIATION
Greenwood B BowleyFranceElwin Sharvill PROPOSAL
Francesco T MorascaFranceOnyama Limba RENEWAL
Mayumi I GlickArgentinaStephen Shaw PROPOSAL
Misaki X GarufiAustraliaElwin Sharvill RENEWAL
David Z WhobreyIndiaAmy Elsner NEGOTIATION
Claire Q WhobreyJapanBernardo Dominic UNQUALIFIED
Misaki T DoeJapanOnyama Limba NEW
Misaki T RoysterRussiaAnna Fali NEW
Jefferson F MacleadJapanAsiya Javayant RENEWAL
Ricardo W OstroskyBrazilXuxue Feng NEGOTIATION
Darci I BowleyIndiaOnyama Limba NEW
Munro M BologniaFranceBernardo Dominic PROPOSAL
Costa L GlickUnited KingdomElwin Sharvill NEW
Munro O RimAustraliaIoni Bowcher NEGOTIATION
Chavez J FollerJapanOnyama Limba NEGOTIATION
Jeanfrancois Z InouyeItalyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio Q AlbaresJapanIoni Bowcher NEGOTIATION
Murillo J DoeItalyXuxue Feng QUALIFIED
Greenwood Q DarakjyBrazilIvan Magalhaes NEW
Costa E CampainSpainOnyama Limba NEGOTIATION
Johnson S WaycottItalyIvan Magalhaes UNQUALIFIED
David N InouyeRussiaIoni Bowcher NEGOTIATION
Emily I StockhamAustraliaBernardo Dominic PROPOSAL
Sinclair V GillianGermanyElwin Sharvill UNQUALIFIED
Chavez Z PoquetteIndiaAnna Fali NEW
Murillo E DarakjyCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo M ButtGermany2025-10-01Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1001Murillo M KolmetzFrance2025-09-16Chemel, James L Cpa UNQUALIFIED68Xuxue Feng
1002James C ButtAustralia2025-09-19Commercial Press UNQUALIFIED13Anna Fali
1003Kadeem H FerenczItaly2025-09-22Buckley Miller Wright NEGOTIATION39Anna Fali
1004Kaitlin Z FerenczGermany2025-09-15Chapman, Ross E Esq NEGOTIATION76Ioni Bowcher
1005Faith B NestleArgentina2025-09-22Commercial Press NEGOTIATION37Ivan Magalhaes
1006Jennifer E RimIndia2025-10-03Chanay, Jeffrey A Esq RENEWAL43Onyama Limba
1007Sinclair M SlusarskiUnited Kingdom2025-09-09Commercial Press NEW11Xuxue Feng
1008Kaitlin H VenereRussia2025-09-25Commercial Press NEGOTIATION42Stephen Shaw
1009Mayumi R MorascaJapan2025-10-02Printing Dimensions PROPOSAL83Asiya Javayant
1010Misaki G MaletGermany2025-10-01Morlong Associates QUALIFIED59Anna Fali
1011Stacey I RoysterGermany2025-09-30King, Christopher A Esq PROPOSAL85Ivan Magalhaes
1012Tony N BowleyIndia2025-10-01Rangoni Of Florence RENEWAL16Xuxue Feng
1013Izzy N BologniaRussia2025-09-17Chanay, Jeffrey A Esq RENEWAL9Ioni Bowcher
1014Munro O NickaArgentina2025-09-06Feltz Printing Service NEW36Ivan Magalhaes
1015Morrow J StockhamFrance2025-09-14Morlong Associates PROPOSAL42Ivan Magalhaes
1016Leon Z ButtArgentina2025-09-08Dorl, James J Esq NEW6Ivan Magalhaes
1017Kadeem Z NestleUnited Kingdom2025-09-30Dorl, James J Esq QUALIFIED96Anna Fali
1018Ashley V MorascaRussia2025-09-23Truhlar And Truhlar Attys RENEWAL9Onyama Limba
1019Johnson M ButtRussia2025-09-22Buckley Miller Wright PROPOSAL46Elwin Sharvill
1020Claire P WhobreyCanada2025-09-07Chanay, Jeffrey A Esq NEGOTIATION90Asiya Javayant
1021Ivar W FlosiSpain2025-09-16Buckley Miller Wright RENEWAL36Ivan Magalhaes
1022James H RulapaughCanada2025-09-14Printing Dimensions NEGOTIATION81Xuxue Feng
1023Cody V KuskoItaly2025-10-01Chanay, Jeffrey A Esq NEW93Elwin Sharvill
1024Mayumi B BowleyUnited Kingdom2025-09-19Chanay, Jeffrey A Esq NEW11Amy Elsner
1025Sinclair B BowleyBrazil2025-09-07Rousseaux, Michael Esq PROPOSAL56Ivan Magalhaes
1026Clifford P KuskoCanada2025-10-01Printing Dimensions UNQUALIFIED81Onyama Limba
1027Kaitlin W FerenczIndia2025-09-23Commercial Press UNQUALIFIED83Stephen Shaw
1028Ricardo Z StensethUnited Kingdom2025-09-25Rangoni Of Florence QUALIFIED80Onyama Limba
1029Morrow H BologniaItaly2025-09-04Feltz Printing Service QUALIFIED5Anna Fali
1030Claire V RulapaughItaly2025-09-26Printing Dimensions NEW38Bernardo Dominic
1031Izzy M MaletArgentina2025-09-15King, Christopher A Esq QUALIFIED84Ivan Magalhaes
1032Alejandro P NestleIndia2025-09-05King, Christopher A Esq NEGOTIATION28Anna Fali
1033Johnson Y CampainUnited Kingdom2025-09-13Chapman, Ross E Esq NEW45Ioni Bowcher
1034David Q RutaIndia2025-10-02Buckley Miller Wright NEW54Onyama Limba
1035Wickens T VocelkaFrance2025-09-17Commercial Press NEW12Asiya Javayant
1036David T FerenczBrazil2025-09-14Rousseaux, Michael Esq RENEWAL27Elwin Sharvill
1037Aditya H SlusarskiItaly2025-09-08Rousseaux, Michael Esq NEW93Anna Fali
1038Costa W OldroydAustralia2025-09-20Chapman, Ross E Esq PROPOSAL22Ivan Magalhaes
1039Sinclair R KolmetzJapan2025-09-09Truhlar And Truhlar Attys NEW89Ivan Magalhaes
1040Aika N WieserItaly2025-09-26Chapman, Ross E Esq UNQUALIFIED8Amy Elsner
1041Clifford W OldroydRussia2025-09-11Commercial Press NEGOTIATION87Ioni Bowcher
1042Tony I SergiFrance2025-09-10Feiner Bros NEW66Ioni Bowcher
1043Darci A VocelkaJapan2025-09-08Dorl, James J Esq QUALIFIED59Ivan Magalhaes
1044Darci C TollnerUnited Kingdom2025-09-09Commercial Press NEGOTIATION19Asiya Javayant
1045Aditya O RimFrance2025-10-02Chanay, Jeffrey A Esq UNQUALIFIED84Amy Elsner
1046Clifford O MacleadCanada2025-09-15Commercial Press NEGOTIATION37Ivan Magalhaes
1047Kaitlin B SaylorsItaly2025-09-28Rangoni Of Florence PROPOSAL10Bernardo Dominic
1048Deepesh S FigeroaIndia2025-09-10Chapman, Ross E Esq PROPOSAL35Anna Fali
1049Julie O KuskoFrance2025-09-06Chapman, Ross E Esq PROPOSAL48Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Misaki K GauchoSpainAmy Elsner NEGOTIATION
Kaitlin Q MorascaFranceElwin Sharvill UNQUALIFIED
Juan H MacleadRussiaAnna Fali NEW
Alejandro B BowleyRussiaElwin Sharvill QUALIFIED
Jennifer I InouyeItalyIoni Bowcher QUALIFIED
Maria P ShinkoAustraliaXuxue Feng NEW
Clifford M BriddickGermanyAnna Fali RENEWAL
Emily Q DoeUnited KingdomIvan Magalhaes PROPOSAL
Kadeem F RulapaughIndiaBernardo Dominic NEGOTIATION
Chavez D SlusarskiCanadaIoni Bowcher NEGOTIATION
Mujtaba Y BowleyCanadaAnna Fali NEGOTIATION
Arvin P BologniaAustraliaStephen Shaw UNQUALIFIED
Sinclair S AlbaresAustraliaBernardo Dominic UNQUALIFIED
Antonio E RutaBrazilIoni Bowcher NEGOTIATION
Maisha X NestleItalyAmy Elsner UNQUALIFIED
Kadeem J PerinIndiaAnna Fali QUALIFIED
Ivar X PerinRussiaBernardo Dominic NEW
Isabel L InouyeCanadaStephen Shaw PROPOSAL
Emily C DilliardArgentinaAmy Elsner UNQUALIFIED
Maria A AlbaresGermanyAmy Elsner UNQUALIFIED
Chavez R BologniaFranceIvan Magalhaes QUALIFIED
Morrow F WhobreyAustraliaIoni Bowcher QUALIFIED
James F RimCanadaIvan Magalhaes UNQUALIFIED
Stacey N TollnerArgentinaAnna Fali NEGOTIATION
Antonio K PaprockiIndiaXuxue Feng NEW
Rodrigues M RoysterFranceIoni Bowcher QUALIFIED
Leja H RutaGermanyXuxue Feng QUALIFIED
Kadeem M OldroydJapanElwin Sharvill NEGOTIATION
Antonio A DarakjyGermanyAnna Fali NEW
Mujtaba K PoquetteSpainXuxue Feng QUALIFIED
Julie Z CaudyFranceBernardo Dominic UNQUALIFIED
Deepesh O RulapaughFranceOnyama Limba NEW
Ivar R DilliardBrazilAnna Fali UNQUALIFIED
Silvio F MaletArgentinaStephen Shaw UNQUALIFIED
Ashley W StensethGermanyStephen Shaw PROPOSAL
Maria T RimJapanXuxue Feng RENEWAL
Murillo K FollerItalyOnyama Limba PROPOSAL
Nicolas F FerenczItalyElwin Sharvill QUALIFIED
Jeanfrancois Z MaletRussiaAnna Fali PROPOSAL
Jeanfrancois E RulapaughAustraliaElwin Sharvill QUALIFIED
Maria D ChuiItalyStephen Shaw PROPOSAL
Julie S DoeUnited KingdomXuxue Feng PROPOSAL
Tony L AlbaresBrazilAsiya Javayant UNQUALIFIED
Chavez F DilliardAustraliaAnna Fali UNQUALIFIED
Maria Q StockhamAustraliaAnna Fali UNQUALIFIED
Johnson T OstroskyIndiaAsiya Javayant NEGOTIATION
Munro B MaletGermanyAsiya Javayant PROPOSAL
Julie V CampainIndiaElwin Sharvill RENEWAL
Kaitlin X WieserIndiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Munro O Oldroyd
Darci I Saylors
Munro Q Nestle
Leja G Malet
Stacey L Briddick
Murillo E Waycott
Jefferson C Caudy
Wickens I Gillian
Ricardo U Bowley
Jennifer C Gaucho
Julie G Whobrey
Izzy T Glick
Tony P Malet
Morrow E Iturbide
Aditya W Schemmer
Faith G Wieser
Kadeem L Butt
Jones Y Stockham
Jones P Malet
Maria U Morasca
Deepesh Z Bowley
Cody A Oldroyd
Jefferson A Foller
Darci J Albares
Isabel G Inouye
Alejandro R Morasca
Francesco O Inouye
Aika S Darakjy
Stacey N Paprocki
Juan E Glick
Misaki T Malet
Clifford H Caldarera
Aruna L Ostrosky
Emily T Bolognia
Ivar J Slusarski
Isabel H Butt
Jennifer X Waycott
Jennifer B Whobrey
Murillo Z Maclead
Ivar G Kusko
Octavia N Waycott
Jefferson O Flosi
Murillo B Malet
Misaki G Tollner
Leja X Dilliard
Alejandro E Bowley
Silvio T Flosi
Cody Z Ostrosky
Jefferson L Doe
Julie R Butt
IdCountryDate
1000Italy2025-09-15
1001Japan2025-09-08
1002Russia2025-09-07
1003Brazil2025-09-21
1004France2025-09-30
1005Russia2025-09-07
1006Spain2025-09-17
1007Italy2025-09-30
1008Brazil2025-09-11
1009Canada2025-09-30
1010France2025-09-09
1011Germany2025-09-18
1012Brazil2025-09-15
1013Australia2025-09-26
1014India2025-09-27
1015Russia2025-09-11
1016Brazil2025-09-29
1017Argentina2025-09-26
1018France2025-10-02
1019Brazil2025-09-09
1020Argentina2025-09-08
1021Russia2025-09-25
1022Brazil2025-09-07
1023Australia2025-09-22
1024Germany2025-09-29
1025France2025-09-11
1026Italy2025-09-07
1027Italy2025-09-25
1028India2025-09-17
1029Japan2025-09-17
1030France2025-09-20
1031United Kingdom2025-09-14
1032Germany2025-09-12
1033France2025-09-30
1034Spain2025-09-12
1035Canada2025-09-19
1036Canada2025-09-29
1037Australia2025-09-13
1038Canada2025-09-24
1039India2025-09-26
1040Brazil2025-09-08
1041Italy2025-09-04
1042Spain2025-09-09
1043Germany2025-09-24
1044Russia2025-09-10
1045Spain2025-09-23
1046Argentina2025-09-23
1047France2025-09-28
1048Spain2025-09-07
1049Spain2025-10-03

On-Demand Data

NameIdCountryDate
Darci E Gaucho1000Argentina2025-09-11
Jefferson X Chui1001Japan2025-09-07
Kaitlin G Ostrosky1002Canada2025-10-02
Stacey X Kolmetz1003United Kingdom2025-09-17
Morrow K Ferencz1004Argentina2025-10-01
Wickens Q Vocelka1005India2025-09-19
Julie J Waycott1006Argentina2025-09-12
Kaitlin T Ferencz1007Japan2025-09-05
Mujtaba K Rulapaugh1008United Kingdom2025-09-26
Deepesh C Figeroa1009France2025-09-14
Maisha Y Doe1010Russia2025-09-25
Cody T Rulapaugh1011Australia2025-09-19
Stacey C Nestle1012Australia2025-09-25
Ivar V Inouye1013Russia2025-09-24
Maisha S Maclead1014Spain2025-09-30
Maria D Rulapaugh1015Brazil2025-09-26
Maria A Perin1016Canada2025-09-10
Julie D Gillian1017Germany2025-09-15
Antonio R Glick1018United Kingdom2025-09-22
Tony P Whobrey1019India2025-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia D DoeBrazilIoni Bowcher NEGOTIATION
Deepesh C SlusarskiArgentinaAmy Elsner NEW
Silvio J CampainIndiaXuxue Feng NEW
Jennifer X MarrierItalyStephen Shaw NEGOTIATION
David P VocelkaRussiaAsiya Javayant PROPOSAL
Julie I KuskoItalyXuxue Feng NEW
Salvatore H DilliardJapanAmy Elsner RENEWAL
Munro R GlickArgentinaIoni Bowcher PROPOSAL
Ivar I WieserBrazilAnna Fali NEW
Aruna F BologniaGermanyStephen Shaw PROPOSAL
Adams K WieserBrazilIvan Magalhaes NEW
Francesco K SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Mayumi A DoeIndiaAnna Fali UNQUALIFIED
Maria F BowleyFranceOnyama Limba UNQUALIFIED
Wickens O StockhamAustraliaStephen Shaw QUALIFIED
Maria N VocelkaCanadaAnna Fali QUALIFIED
Emily M FollerBrazilAnna Fali UNQUALIFIED
Juan Y RulapaughJapanOnyama Limba NEGOTIATION
Antonio G MaletAustraliaOnyama Limba NEGOTIATION
Salvatore S MaletGermanyElwin Sharvill QUALIFIED
Greenwood L DoeFranceXuxue Feng RENEWAL
Leon C KuskoCanadaElwin Sharvill QUALIFIED
Francesco L PerinJapanIoni Bowcher NEW
Stacey N SlusarskiSpainXuxue Feng PROPOSAL
Isabel N VenereCanadaElwin Sharvill PROPOSAL
Darci X ButtSpainXuxue Feng PROPOSAL
Smith Q SlusarskiArgentinaAnna Fali NEW
James B SaylorsIndiaStephen Shaw PROPOSAL
Leja Q MacleadItalyIvan Magalhaes UNQUALIFIED
Aika T BowleyIndiaAsiya Javayant QUALIFIED
Aditya F BologniaSpainOnyama Limba RENEWAL
Maisha L WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Isabel N SchemmerGermanyOnyama Limba NEW
Smith L SchemmerItalyIoni Bowcher UNQUALIFIED
Claire X VocelkaRussiaAnna Fali RENEWAL
Leja D PaprockiSpainBernardo Dominic QUALIFIED
Aditya K FlosiUnited KingdomStephen Shaw RENEWAL
Alejandro J NestleJapanBernardo Dominic UNQUALIFIED
Arvin D FlosiSpainIoni Bowcher PROPOSAL
Faith K KolmetzIndiaAnna Fali PROPOSAL

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