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
Costa F StockhamArgentinaStephen Shaw QUALIFIED
Mayumi T RimJapanOnyama Limba PROPOSAL
Jefferson B WhobreyFranceIvan Magalhaes NEGOTIATION
Maria F NickaIndiaAmy Elsner UNQUALIFIED
Ricardo G TollnerItalyAnna Fali NEW
Isabel Z PerinCanadaXuxue Feng NEW
Costa L BologniaIndiaStephen Shaw UNQUALIFIED
Chavez U AlbaresSpainAsiya Javayant NEGOTIATION
Arvin O StensethJapanAsiya Javayant QUALIFIED
Francesco R VocelkaJapanElwin Sharvill RENEWAL
David A IturbideIndiaIoni Bowcher RENEWAL
Mayumi W PoquetteIndiaOnyama Limba RENEWAL
Smith R SergiFranceAnna Fali RENEWAL
Nicolas I InouyeIndiaIvan Magalhaes UNQUALIFIED
Isabel X DarakjyJapanOnyama Limba NEW
Julie O CaldareraBrazilIvan Magalhaes UNQUALIFIED
Aruna W CampainAustraliaAnna Fali RENEWAL
David E PaprockiUnited KingdomOnyama Limba NEW
Aruna N RulapaughCanadaOnyama Limba PROPOSAL
Octavia I OldroydItalyOnyama Limba NEW
Emily X PaprockiBrazilElwin Sharvill NEGOTIATION
David B RimFranceAmy Elsner NEGOTIATION
Aruna I SergiIndiaXuxue Feng UNQUALIFIED
Maria K SlusarskiItalyStephen Shaw NEGOTIATION
Aika A WieserIndiaAnna Fali QUALIFIED
Chavez T CaudySpainBernardo Dominic NEW
Adams T NestleBrazilAsiya Javayant QUALIFIED
Silvio F StockhamRussiaIvan Magalhaes RENEWAL
Leon V MarrierGermanyXuxue Feng RENEWAL
Misaki D MaletCanadaIvan Magalhaes PROPOSAL
Stacey N ShinkoAustraliaIoni Bowcher NEGOTIATION
Jennifer U KuskoRussiaAsiya Javayant QUALIFIED
Maisha Z MaletRussiaOnyama Limba NEW
Francesco R PoquetteArgentinaIvan Magalhaes NEGOTIATION
Salvatore G SaylorsUnited KingdomBernardo Dominic QUALIFIED
Leon B FerenczItalyXuxue Feng NEW
Octavia V MarrierGermanyStephen Shaw RENEWAL
Faith O CaldareraAustraliaIoni Bowcher NEGOTIATION
Chavez A RulapaughCanadaElwin Sharvill UNQUALIFIED
Faith J PaprockiRussiaIvan Magalhaes NEW
Sinclair P GarufiItalyAnna Fali RENEWAL
Rodrigues E KolmetzArgentinaElwin Sharvill UNQUALIFIED
James N MorascaBrazilStephen Shaw PROPOSAL
Stacey I CaldareraArgentinaAsiya Javayant UNQUALIFIED
Greenwood M SergiUnited KingdomIoni Bowcher UNQUALIFIED
Octavia K BriddickCanadaAsiya Javayant NEGOTIATION
Faith Z MarrierFranceBernardo Dominic UNQUALIFIED
Jeanfrancois P GauchoGermanyAmy Elsner NEW
Wickens B MacleadArgentinaStephen Shaw QUALIFIED
Salvatore S FerenczUnited KingdomIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer A RulapaughCanadaAnna Fali UNQUALIFIED
Julie P ChuiRussiaStephen Shaw UNQUALIFIED
Cody V OldroydJapanAnna Fali UNQUALIFIED
Alejandro R RulapaughFranceOnyama Limba UNQUALIFIED
Johnson I OstroskyAustraliaXuxue Feng PROPOSAL
Octavia T RulapaughFranceOnyama Limba NEW
Adams B GauchoJapanOnyama Limba QUALIFIED
Rodrigues N MaletUnited KingdomXuxue Feng UNQUALIFIED
Antonio A BriddickRussiaStephen Shaw UNQUALIFIED
Emily Z MacleadSpainBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams D CaudyItaly2025-09-14Rangoni Of Florence NEW6Asiya Javayant
1001Johnson Z VenereRussia2025-09-08Feiner Bros UNQUALIFIED12Ioni Bowcher
1002Julie N GarufiUnited Kingdom2025-09-24Buckley Miller Wright RENEWAL22Amy Elsner
1003Jennifer F GlickSpain2025-10-02King, Christopher A Esq NEGOTIATION0Elwin Sharvill
1004Emily V SergiIndia2025-09-08Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1005Emily Q VenereRussia2025-09-20Chanay, Jeffrey A Esq NEW3Bernardo Dominic
1006Cody L RimItaly2025-09-12Dorl, James J Esq PROPOSAL47Ivan Magalhaes
1007Misaki S ButtIndia2025-09-17Benton, John B Jr NEGOTIATION65Xuxue Feng
1008Juan X FollerJapan2025-09-18Buckley Miller Wright QUALIFIED9Anna Fali
1009James C IturbideRussia2025-09-07King, Christopher A Esq NEGOTIATION70Stephen Shaw
1010Darci F FigeroaIndia2025-09-20Dorl, James J Esq RENEWAL46Ioni Bowcher
1011Greenwood S FerenczIndia2025-09-28Truhlar And Truhlar Attys NEGOTIATION19Bernardo Dominic
1012Darci D BowleyArgentina2025-09-25Feiner Bros NEW53Amy Elsner
1013Francesco X DoeSpain2025-09-21Chanay, Jeffrey A Esq RENEWAL52Ioni Bowcher
1014Munro F WieserCanada2025-09-16Feltz Printing Service QUALIFIED28Anna Fali
1015Munro L GarufiCanada2025-09-09Morlong Associates QUALIFIED46Asiya Javayant
1016Darci X ShinkoIndia2025-09-17Rousseaux, Michael Esq UNQUALIFIED10Stephen Shaw
1017Nicolas S SergiFrance2025-09-23Commercial Press NEGOTIATION45Bernardo Dominic
1018Ricardo W DarakjyArgentina2025-10-03Dorl, James J Esq RENEWAL37Onyama Limba
1019Kaitlin M FollerItaly2025-09-25Rangoni Of Florence NEGOTIATION97Stephen Shaw
1020Arvin X VocelkaBrazil2025-09-08Rangoni Of Florence RENEWAL47Ivan Magalhaes
1021Clifford K CaudySpain2025-09-14Rangoni Of Florence PROPOSAL61Onyama Limba
1022Mujtaba M BriddickSpain2025-09-16Buckley Miller Wright NEW23Ivan Magalhaes
1023Jennifer X InouyeUnited Kingdom2025-09-30Morlong Associates RENEWAL28Anna Fali
1024Kadeem V RoysterFrance2025-09-17Chapman, Ross E Esq NEGOTIATION20Amy Elsner
1025Izzy X NestleIndia2025-09-13Rousseaux, Michael Esq RENEWAL74Bernardo Dominic
1026Alejandro S GlickRussia2025-09-29Feltz Printing Service NEW9Onyama Limba
1027Octavia Q NestleUnited Kingdom2025-09-25Commercial Press QUALIFIED97Bernardo Dominic
1028Silvio K OstroskyUnited Kingdom2025-09-21Chemel, James L Cpa NEW72Xuxue Feng
1029Octavia T VenereAustralia2025-10-01Feiner Bros UNQUALIFIED92Elwin Sharvill
1030Nicolas P TollnerJapan2025-09-11Chapman, Ross E Esq NEGOTIATION96Elwin Sharvill
1031Aditya I BowleyArgentina2025-09-24Rousseaux, Michael Esq QUALIFIED89Ioni Bowcher
1032Munro V WieserUnited Kingdom2025-09-12Benton, John B Jr NEW27Xuxue Feng
1033Smith Q WieserBrazil2025-09-17Dorl, James J Esq PROPOSAL30Amy Elsner
1034Jefferson C PerinItaly2025-10-06Feiner Bros RENEWAL70Xuxue Feng
1035David P SchemmerFrance2025-09-16Morlong Associates UNQUALIFIED30Ivan Magalhaes
1036Alejandro M StensethRussia2025-09-28Printing Dimensions NEW28Ioni Bowcher
1037Emily F BowleySpain2025-09-18Printing Dimensions PROPOSAL38Ioni Bowcher
1038Darci J RutaArgentina2025-09-23Chapman, Ross E Esq PROPOSAL33Asiya Javayant
1039Wickens W RutaFrance2025-09-17King, Christopher A Esq NEGOTIATION99Onyama Limba
1040Ivar A MarrierFrance2025-10-01Commercial Press QUALIFIED28Bernardo Dominic
1041Munro Y MaletJapan2025-09-08Benton, John B Jr NEGOTIATION12Ivan Magalhaes
1042Nicolas O ButtFrance2025-09-12Chapman, Ross E Esq RENEWAL60Anna Fali
1043Ricardo Z VenereIndia2025-09-10Rangoni Of Florence UNQUALIFIED93Amy Elsner
1044Misaki I FollerGermany2025-10-02Dorl, James J Esq QUALIFIED3Ivan Magalhaes
1045Chavez Y ShinkoSpain2025-09-10Rangoni Of Florence NEW64Ivan Magalhaes
1046Rodrigues A KuskoUnited Kingdom2025-09-16Truhlar And Truhlar Attys PROPOSAL4Asiya Javayant
1047Sinclair Z GarufiIndia2025-09-07Rangoni Of Florence UNQUALIFIED66Stephen Shaw
1048Murillo T WhobreyCanada2025-09-16Chemel, James L Cpa QUALIFIED56Xuxue Feng
1049Stacey P PerinRussia2025-10-05Feiner Bros UNQUALIFIED0Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Murillo G PoquetteBrazilIvan Magalhaes NEGOTIATION
Sinclair U AlbaresBrazilAsiya Javayant NEGOTIATION
Clifford Y GlickRussiaIoni Bowcher QUALIFIED
Juan R GlickJapanIoni Bowcher UNQUALIFIED
Maria O GarufiFranceIvan Magalhaes RENEWAL
Cody S PaprockiIndiaIoni Bowcher QUALIFIED
Smith M SaylorsItalyBernardo Dominic QUALIFIED
Juan Y DarakjyAustraliaOnyama Limba RENEWAL
Mujtaba Z FigeroaCanadaOnyama Limba RENEWAL
Johnson Q MorascaRussiaIvan Magalhaes UNQUALIFIED
Clifford R ChuiArgentinaIoni Bowcher NEW
Mujtaba H WaycottBrazilAsiya Javayant PROPOSAL
Emily H RimJapanStephen Shaw NEW
Silvio E VocelkaAustraliaElwin Sharvill QUALIFIED
Isabel U OstroskySpainIoni Bowcher UNQUALIFIED
Jones R FerenczAustraliaAmy Elsner QUALIFIED
Darci M DarakjySpainIvan Magalhaes QUALIFIED
Misaki E NickaFranceAsiya Javayant NEW
Ricardo D NestleIndiaAnna Fali RENEWAL
Morrow Q RimGermanyElwin Sharvill QUALIFIED
Adams T FollerItalyIoni Bowcher PROPOSAL
Aika R SchemmerArgentinaStephen Shaw QUALIFIED
Greenwood C CampainArgentinaStephen Shaw NEGOTIATION
Chavez X DilliardArgentinaIoni Bowcher QUALIFIED
Kaitlin U KuskoAustraliaStephen Shaw RENEWAL
Tony W RoysterBrazilOnyama Limba UNQUALIFIED
Jeanfrancois J VenereJapanIoni Bowcher RENEWAL
Nicolas M DilliardJapanElwin Sharvill UNQUALIFIED
Francesco S GlickCanadaIoni Bowcher PROPOSAL
Salvatore B InouyeBrazilOnyama Limba UNQUALIFIED
Rodrigues K PaprockiCanadaAsiya Javayant PROPOSAL
James J CampainAustraliaAnna Fali NEGOTIATION
David M BologniaBrazilAmy Elsner NEGOTIATION
Aika K IturbideIndiaAsiya Javayant NEW
Leja D ChuiIndiaAsiya Javayant QUALIFIED
Deepesh B OstroskyBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois O DilliardArgentinaAnna Fali NEW
Leja G RimFranceElwin Sharvill RENEWAL
Murillo R RulapaughCanadaStephen Shaw QUALIFIED
Wickens Q ChuiCanadaAsiya Javayant PROPOSAL
Cody X WieserSpainStephen Shaw QUALIFIED
Darci I GarufiSpainStephen Shaw NEW
Deepesh M RulapaughIndiaAsiya Javayant NEGOTIATION
Morrow Q DarakjyBrazilElwin Sharvill NEGOTIATION
Arvin M NickaItalyElwin Sharvill NEGOTIATION
James H MorascaSpainElwin Sharvill UNQUALIFIED
Emily N SergiCanadaAsiya Javayant QUALIFIED
Francesco D GillianCanadaElwin Sharvill NEW
Leja Q CaudyAustraliaXuxue Feng RENEWAL
Leon K FollerItalyAnna Fali QUALIFIED
Frozen Columns
Name
Arvin W Oldroyd
Ivar I Paprocki
Octavia D Doe
Adams A Waycott
Adams B Iturbide
Rodrigues N Marrier
Costa C Gillian
Adams H Schemmer
Tony Y Butt
Arvin I Nestle
Mujtaba E Rulapaugh
Morrow W Morasca
Chavez Z Chui
James R Iturbide
Mayumi R Figeroa
Maria K Nicka
Maisha E Inouye
Costa C Nicka
Aika E Gillian
Johnson G Royster
Chavez A Iturbide
David P Glick
Jefferson N Dilliard
Arvin O Schemmer
Kadeem N Flosi
Cody O Vocelka
Aika B Flosi
Stacey E Maclead
Clifford W Vocelka
Adams K Maclead
Munro W Malet
Chavez B Morasca
Kadeem E Paprocki
Kaitlin Q Ostrosky
Ashley E Saylors
Jones N Briddick
Silvio E Stenseth
Murillo E Oldroyd
Murillo C Foller
Aruna A Rulapaugh
Stacey I Figeroa
Sinclair P Rim
Aditya I Chui
Wickens I Malet
Morrow R Caldarera
Francesco J Glick
Murillo F Sergi
Salvatore M Figeroa
Ashley A Malet
Ivar B Slusarski
IdCountryDate
1000Australia2025-09-27
1001Germany2025-09-26
1002Germany2025-09-20
1003Germany2025-09-24
1004France2025-09-21
1005Russia2025-09-26
1006Australia2025-10-04
1007Argentina2025-10-01
1008Italy2025-09-16
1009Spain2025-09-27
1010Russia2025-10-02
1011United Kingdom2025-09-10
1012Brazil2025-09-08
1013Spain2025-09-16
1014Japan2025-09-15
1015Argentina2025-09-17
1016France2025-09-24
1017Spain2025-09-12
1018India2025-10-04
1019Italy2025-10-04
1020Russia2025-09-16
1021Japan2025-09-23
1022Australia2025-09-08
1023Italy2025-09-16
1024Japan2025-09-09
1025Brazil2025-09-27
1026France2025-09-16
1027Spain2025-10-04
1028Australia2025-09-17
1029Australia2025-09-08
1030Spain2025-09-23
1031Argentina2025-09-09
1032Italy2025-09-20
1033Russia2025-10-01
1034Australia2025-09-08
1035Canada2025-09-13
1036India2025-09-27
1037Italy2025-09-10
1038France2025-09-30
1039France2025-09-26
1040Spain2025-09-19
1041India2025-09-30
1042Argentina2025-09-16
1043Italy2025-09-29
1044India2025-10-02
1045Russia2025-09-26
1046Italy2025-10-05
1047Italy2025-09-21
1048Australia2025-09-27
1049Italy2025-10-06

On-Demand Data

NameIdCountryDate
Morrow X Slusarski1000India2025-09-13
Aika N Waycott1001Brazil2025-10-06
Jefferson M Waycott1002United Kingdom2025-09-22
Ricardo B Campain1003Brazil2025-09-27
Maisha G Briddick1004Canada2025-09-30
Maisha C Venere1005Russia2025-10-05
Chavez I Royster1006Canada2025-09-10
Ivar L Venere1007Brazil2025-10-01
Deepesh Y Gillian1008France2025-09-12
Chavez Q Flosi1009Spain2025-09-28
Jennifer L Schemmer1010France2025-09-25
Isabel G Albares1011Russia2025-09-20
Emily M Malet1012Canada2025-09-25
Ashley X Garufi1013Canada2025-09-20
Murillo M Morasca1014Germany2025-09-11
Leon V Dilliard1015Argentina2025-09-21
Johnson H Dilliard1016Italy2025-09-29
Clifford N Royster1017Russia2025-10-02
Misaki M Iturbide1018Russia2025-09-14
Munro F Vocelka1019France2025-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo D DoeItalyElwin Sharvill QUALIFIED
Salvatore E AmigonSpainOnyama Limba NEW
Adams M SergiSpainIvan Magalhaes RENEWAL
Octavia C BologniaUnited KingdomAnna Fali RENEWAL
Cody K WaycottArgentinaBernardo Dominic UNQUALIFIED
James Y WieserCanadaElwin Sharvill RENEWAL
Izzy K CampainUnited KingdomBernardo Dominic NEGOTIATION
Leon K GarufiArgentinaXuxue Feng PROPOSAL
Stacey Z CaldareraUnited KingdomIoni Bowcher PROPOSAL
Tony O RoysterIndiaElwin Sharvill PROPOSAL
Leon Z MacleadItalyIvan Magalhaes NEW
Costa X RimJapanAnna Fali NEGOTIATION
Alejandro V NestleGermanyOnyama Limba PROPOSAL
Ashley H MarrierCanadaElwin Sharvill PROPOSAL
Kadeem B RimIndiaAmy Elsner QUALIFIED
Salvatore U WhobreyJapanBernardo Dominic UNQUALIFIED
Darci N BriddickJapanBernardo Dominic UNQUALIFIED
Jefferson S RoysterRussiaXuxue Feng PROPOSAL
Octavia I CaudyAustraliaIvan Magalhaes UNQUALIFIED
Jennifer Q VocelkaGermanyAsiya Javayant RENEWAL
Jennifer P BowleyJapanXuxue Feng UNQUALIFIED
David V IturbideJapanStephen Shaw NEGOTIATION
Kaitlin J IturbideAustraliaAsiya Javayant NEGOTIATION
Francesco X GlickUnited KingdomOnyama Limba RENEWAL
Leon Z OstroskyBrazilStephen Shaw QUALIFIED
Francesco G PerinCanadaStephen Shaw UNQUALIFIED
Francesco W CampainAustraliaOnyama Limba NEW
Tony Q WieserItalyStephen Shaw UNQUALIFIED
Faith B SaylorsSpainOnyama Limba NEGOTIATION
Johnson R OstroskyGermanyIvan Magalhaes QUALIFIED
Silvio X MarrierJapanIoni Bowcher QUALIFIED
Ricardo M OstroskyJapanStephen Shaw UNQUALIFIED
David W ShinkoItalyIvan Magalhaes PROPOSAL
Kadeem T BologniaSpainIoni Bowcher UNQUALIFIED
Maisha A SaylorsJapanAnna Fali NEW
Smith A OldroydArgentinaAnna Fali NEW
Maisha Z ButtSpainAmy Elsner RENEWAL
Isabel Q MorascaItalyIvan Magalhaes PROPOSAL
Francesco O GillianRussiaOnyama Limba QUALIFIED
Leon R GlickSpainStephen Shaw UNQUALIFIED

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