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
Izzy J FerenczGermanyAmy Elsner QUALIFIED
Ricardo O SchemmerUnited KingdomAmy Elsner RENEWAL
Maria S NickaUnited KingdomAmy Elsner QUALIFIED
Aditya V ShinkoJapanIoni Bowcher UNQUALIFIED
Jefferson S VocelkaRussiaElwin Sharvill PROPOSAL
Clifford Z CaldareraJapanAmy Elsner PROPOSAL
Jefferson R MorascaSpainOnyama Limba QUALIFIED
Ricardo S SergiJapanIvan Magalhaes PROPOSAL
Mayumi K RutaRussiaXuxue Feng NEGOTIATION
Stacey Q RimFranceBernardo Dominic PROPOSAL
Misaki J StockhamItalyAmy Elsner NEGOTIATION
Jennifer U ButtCanadaAsiya Javayant NEGOTIATION
Ricardo C FlosiGermanyIvan Magalhaes RENEWAL
Greenwood M OldroydAustraliaElwin Sharvill QUALIFIED
Aruna Z RimFranceAsiya Javayant NEGOTIATION
Juan H FerenczItalyBernardo Dominic PROPOSAL
Johnson B NestleJapanXuxue Feng NEW
Aruna H SchemmerSpainIoni Bowcher PROPOSAL
Wickens D ButtRussiaIvan Magalhaes NEGOTIATION
Chavez A OstroskyItalyAmy Elsner PROPOSAL
Murillo S FerenczAustraliaIoni Bowcher QUALIFIED
Francesco X MorascaGermanyElwin Sharvill NEW
Jefferson L NestleCanadaXuxue Feng RENEWAL
Arvin A WhobreyIndiaAsiya Javayant RENEWAL
Ricardo U FigeroaRussiaXuxue Feng NEGOTIATION
Faith I FigeroaRussiaElwin Sharvill QUALIFIED
Leon O FigeroaJapanAnna Fali RENEWAL
Darci Z NickaItalyElwin Sharvill NEGOTIATION
Sinclair V StockhamSpainAmy Elsner QUALIFIED
Murillo O StensethRussiaAsiya Javayant PROPOSAL
Faith R BowleyJapanIoni Bowcher NEW
Wickens I NickaIndiaElwin Sharvill NEGOTIATION
Stacey U RulapaughSpainAnna Fali NEW
Adams M CampainBrazilStephen Shaw NEGOTIATION
Emily A SaylorsGermanyOnyama Limba QUALIFIED
Morrow K GarufiItalyAnna Fali NEGOTIATION
Greenwood P WhobreyJapanElwin Sharvill NEGOTIATION
Kadeem C OldroydIndiaOnyama Limba UNQUALIFIED
Antonio R AlbaresGermanyElwin Sharvill RENEWAL
Arvin P KuskoCanadaStephen Shaw RENEWAL
Emily I TollnerFranceAnna Fali PROPOSAL
David M WieserArgentinaBernardo Dominic RENEWAL
Jefferson C SergiArgentinaStephen Shaw RENEWAL
Nicolas X GauchoArgentinaIoni Bowcher UNQUALIFIED
Jefferson U TollnerFranceElwin Sharvill UNQUALIFIED
Smith C KuskoItalyIoni Bowcher RENEWAL
Izzy O TollnerJapanStephen Shaw PROPOSAL
Adams I InouyeGermanyAsiya Javayant NEGOTIATION
Isabel Y TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow O FigeroaBrazilAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois O PoquetteJapanAnna Fali NEGOTIATION
Arvin P RutaRussiaIvan Magalhaes NEGOTIATION
Francesco I SchemmerBrazilStephen Shaw PROPOSAL
Salvatore K VocelkaArgentinaBernardo Dominic NEW
Maisha X MarrierGermanyOnyama Limba RENEWAL
Emily U MaletSpainStephen Shaw QUALIFIED
Francesco J CaudyFranceAsiya Javayant QUALIFIED
Salvatore O DoeGermanyIoni Bowcher PROPOSAL
Johnson A RutaFranceOnyama Limba NEGOTIATION
Leja U GillianJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro G MaletFrance2025-08-23Rousseaux, Michael Esq QUALIFIED52Ioni Bowcher
1001Juan D MaletCanada2025-08-03Commercial Press NEGOTIATION4Amy Elsner
1002Octavia R OldroydArgentina2025-08-08Commercial Press NEW53Ioni Bowcher
1003Silvio G InouyeCanada2025-07-27Chapman, Ross E Esq RENEWAL50Xuxue Feng
1004Costa H KolmetzFrance2025-08-18Truhlar And Truhlar Attys UNQUALIFIED16Bernardo Dominic
1005Morrow K OldroydBrazil2025-08-03Buckley Miller Wright QUALIFIED10Asiya Javayant
1006Ivar B BriddickFrance2025-08-13Chemel, James L Cpa NEGOTIATION1Anna Fali
1007Salvatore Q GillianBrazil2025-08-06Rangoni Of Florence QUALIFIED48Onyama Limba
1008Aruna K DilliardGermany2025-08-17Printing Dimensions RENEWAL7Ivan Magalhaes
1009Silvio R FerenczSpain2025-08-20Commercial Press RENEWAL51Asiya Javayant
1010Aika I RoysterUnited Kingdom2025-08-16King, Christopher A Esq PROPOSAL27Anna Fali
1011Emily T RimCanada2025-08-10Chemel, James L Cpa PROPOSAL26Amy Elsner
1012Wickens D GarufiArgentina2025-07-31Commercial Press RENEWAL56Ioni Bowcher
1013Stacey R PoquetteSpain2025-08-01Chemel, James L Cpa NEW24Onyama Limba
1014Julie R FigeroaItaly2025-08-18Chemel, James L Cpa RENEWAL66Bernardo Dominic
1015Mayumi Q GillianCanada2025-08-08Dorl, James J Esq UNQUALIFIED49Asiya Javayant
1016Kaitlin E StensethSpain2025-08-06Buckley Miller Wright NEGOTIATION78Stephen Shaw
1017Faith U FigeroaGermany2025-08-05Printing Dimensions RENEWAL69Ioni Bowcher
1018Maria Y ShinkoSpain2025-08-15Buckley Miller Wright NEW62Asiya Javayant
1019Aika G ShinkoIndia2025-08-08Dorl, James J Esq PROPOSAL30Stephen Shaw
1020Deepesh B BologniaJapan2025-08-15Rangoni Of Florence UNQUALIFIED23Bernardo Dominic
1021Ashley T IturbideBrazil2025-08-08Feltz Printing Service PROPOSAL96Stephen Shaw
1022Tony Y StockhamCanada2025-08-12Printing Dimensions UNQUALIFIED16Anna Fali
1023Jeanfrancois R NickaFrance2025-07-27Feiner Bros PROPOSAL75Xuxue Feng
1024Misaki E DoeGermany2025-07-27King, Christopher A Esq PROPOSAL78Bernardo Dominic
1025Murillo E AlbaresIndia2025-08-06Rangoni Of Florence RENEWAL81Elwin Sharvill
1026Maisha F RoysterCanada2025-08-10Printing Dimensions NEW87Anna Fali
1027Deepesh I GlickIndia2025-08-18Feltz Printing Service UNQUALIFIED7Xuxue Feng
1028Aika T SlusarskiIndia2025-08-22Dorl, James J Esq QUALIFIED21Elwin Sharvill
1029Claire E WieserJapan2025-08-09Morlong Associates RENEWAL2Xuxue Feng
1030Leon P WieserArgentina2025-08-24Chemel, James L Cpa PROPOSAL95Asiya Javayant
1031Sinclair W NestleBrazil2025-07-28Feltz Printing Service QUALIFIED81Xuxue Feng
1032Izzy B MorascaFrance2025-08-12Commercial Press QUALIFIED15Elwin Sharvill
1033Arvin H GauchoItaly2025-08-10Commercial Press QUALIFIED70Ivan Magalhaes
1034Darci F KolmetzRussia2025-08-05Rangoni Of Florence QUALIFIED33Ioni Bowcher
1035Murillo C RulapaughArgentina2025-08-03Feiner Bros QUALIFIED6Anna Fali
1036Cody Z PoquetteBrazil2025-08-11Commercial Press NEW30Ivan Magalhaes
1037Nicolas R SlusarskiGermany2025-08-12Chapman, Ross E Esq PROPOSAL83Bernardo Dominic
1038Faith X SaylorsJapan2025-08-16Buckley Miller Wright RENEWAL61Bernardo Dominic
1039Costa A StockhamItaly2025-08-01Rousseaux, Michael Esq NEW5Elwin Sharvill
1040Misaki Y FigeroaFrance2025-07-28Feltz Printing Service QUALIFIED50Xuxue Feng
1041Munro A BologniaCanada2025-08-02Truhlar And Truhlar Attys NEW69Amy Elsner
1042Maria Z GillianCanada2025-08-06Feltz Printing Service PROPOSAL26Onyama Limba
1043Murillo O StensethBrazil2025-08-03Printing Dimensions QUALIFIED86Asiya Javayant
1044Jeanfrancois T SergiRussia2025-08-03Feiner Bros NEW16Ivan Magalhaes
1045Isabel D SlusarskiSpain2025-07-29Printing Dimensions NEW3Ioni Bowcher
1046Alejandro L GlickAustralia2025-08-16Feiner Bros RENEWAL89Stephen Shaw
1047Arvin X WaycottSpain2025-08-22Rousseaux, Michael Esq PROPOSAL16Amy Elsner
1048Kaitlin X DilliardGermany2025-07-27Rousseaux, Michael Esq UNQUALIFIED84Xuxue Feng
1049Aruna G DilliardGermany2025-08-18Printing Dimensions NEW4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika U WaycottItalyAnna Fali UNQUALIFIED
Deepesh G BriddickUnited KingdomXuxue Feng NEGOTIATION
Chavez K SlusarskiItalyStephen Shaw QUALIFIED
Alejandro T WhobreyBrazilAsiya Javayant PROPOSAL
Johnson U CaldareraJapanOnyama Limba UNQUALIFIED
Smith O CampainGermanyIoni Bowcher UNQUALIFIED
Leon B ButtBrazilIoni Bowcher UNQUALIFIED
Tony B SlusarskiItalyAnna Fali UNQUALIFIED
Antonio T PoquetteIndiaXuxue Feng UNQUALIFIED
David G StockhamJapanXuxue Feng QUALIFIED
Maria Z KuskoUnited KingdomOnyama Limba RENEWAL
Cody F SlusarskiBrazilOnyama Limba UNQUALIFIED
Francesco K ChuiJapanElwin Sharvill PROPOSAL
Ashley U PerinRussiaIoni Bowcher NEW
Jennifer V PaprockiArgentinaIvan Magalhaes NEW
Leja N PaprockiUnited KingdomBernardo Dominic RENEWAL
Maria U NestleGermanyBernardo Dominic UNQUALIFIED
Aruna L RimAustraliaAsiya Javayant NEW
Nicolas U CampainGermanyOnyama Limba QUALIFIED
Greenwood U CaldareraIndiaAmy Elsner UNQUALIFIED
Octavia T MacleadUnited KingdomXuxue Feng QUALIFIED
Murillo K NestleUnited KingdomXuxue Feng UNQUALIFIED
Maisha H FlosiAustraliaAmy Elsner PROPOSAL
Ricardo Y VocelkaFranceAsiya Javayant RENEWAL
Darci J RimCanadaAmy Elsner UNQUALIFIED
Jefferson W FlosiFranceOnyama Limba NEGOTIATION
Murillo C DoeJapanElwin Sharvill UNQUALIFIED
Emily W SaylorsSpainAmy Elsner RENEWAL
Aditya B SaylorsIndiaAsiya Javayant QUALIFIED
Adams M TollnerCanadaElwin Sharvill PROPOSAL
Leon G VocelkaItalyIoni Bowcher RENEWAL
Stacey C BowleyBrazilElwin Sharvill PROPOSAL
Claire U DarakjyJapanAmy Elsner NEW
Salvatore O AmigonCanadaAsiya Javayant UNQUALIFIED
Jefferson K MaletCanadaElwin Sharvill QUALIFIED
Jefferson R CampainAustraliaIoni Bowcher NEW
Maria F NickaIndiaIoni Bowcher PROPOSAL
Jones S MaletCanadaAnna Fali UNQUALIFIED
Smith E TollnerRussiaIoni Bowcher NEGOTIATION
Jennifer C WaycottAustraliaStephen Shaw NEGOTIATION
Juan E SaylorsIndiaAnna Fali NEGOTIATION
Stacey Y MarrierSpainIoni Bowcher UNQUALIFIED
Jefferson R PerinCanadaIoni Bowcher PROPOSAL
Aika L MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Clifford V WaycottUnited KingdomAsiya Javayant NEGOTIATION
Faith U VenereJapanAnna Fali QUALIFIED
Arvin C WieserAustraliaAsiya Javayant UNQUALIFIED
Jefferson H GauchoJapanOnyama Limba PROPOSAL
Arvin E GillianArgentinaStephen Shaw NEW
Munro L BowleyJapanIvan Magalhaes PROPOSAL
Frozen Columns
Name
Isabel A Briddick
Julie L Campain
Octavia E Inouye
Isabel K Flosi
Isabel V Whobrey
Izzy Z Wieser
Morrow W Caldarera
Greenwood I Doe
Sinclair I Rim
Costa Q Rulapaugh
Emily L Sergi
Stacey F Foller
James B Inouye
Darci Q Ostrosky
Ashley T Rim
Stacey R Flosi
Silvio P Malet
Aruna G Kusko
Mujtaba N Inouye
Octavia E Maclead
Aika I Ferencz
Jennifer K Caldarera
Jefferson F Oldroyd
Antonio S Ferencz
James M Sergi
Claire W Royster
Murillo A Campain
Sinclair Y Bowley
Rodrigues I Sergi
Maria P Butt
Salvatore M Waycott
Isabel D Morasca
Izzy S Vocelka
Silvio F Malet
Ashley N Kolmetz
Jones S Stockham
James W Wieser
Isabel E Flosi
Octavia J Tollner
Ivar H Saylors
Faith N Butt
Francesco G Chui
Aditya C Caudy
Emily W Stenseth
Deepesh A Bolognia
Arvin W Garufi
Octavia N Rim
Clifford V Ostrosky
Aditya P Wieser
Salvatore I Venere
IdCountryDate
1000Argentina2025-08-16
1001Argentina2025-08-22
1002Japan2025-08-15
1003Australia2025-08-18
1004Japan2025-08-20
1005Spain2025-08-19
1006Spain2025-08-20
1007Japan2025-08-17
1008Australia2025-08-10
1009France2025-08-18
1010Brazil2025-08-10
1011Germany2025-08-19
1012United Kingdom2025-08-15
1013Germany2025-08-18
1014Australia2025-08-13
1015Japan2025-08-16
1016Australia2025-08-14
1017Australia2025-08-05
1018France2025-08-02
1019Argentina2025-08-12
1020Argentina2025-08-08
1021Argentina2025-08-15
1022Argentina2025-08-16
1023Russia2025-08-02
1024Brazil2025-07-29
1025Japan2025-08-10
1026Australia2025-08-04
1027Argentina2025-07-30
1028Canada2025-08-04
1029France2025-08-09
1030Japan2025-08-15
1031Australia2025-07-29
1032India2025-08-02
1033Argentina2025-08-21
1034Russia2025-08-04
1035Spain2025-08-20
1036United Kingdom2025-07-28
1037Germany2025-08-02
1038Russia2025-08-07
1039Australia2025-08-01
1040India2025-08-12
1041Argentina2025-08-16
1042Italy2025-08-09
1043Italy2025-07-29
1044France2025-08-15
1045Spain2025-08-17
1046Australia2025-08-23
1047Italy2025-08-17
1048India2025-08-22
1049United Kingdom2025-08-05

On-Demand Data

NameIdCountryDate
Adams F Nicka1000Germany2025-08-17
Jennifer B Oldroyd1001France2025-07-28
Sinclair T Gillian1002Italy2025-08-05
Ivar V Tollner1003Canada2025-08-15
Ashley I Amigon1004United Kingdom2025-08-12
Johnson I Stenseth1005Italy2025-07-31
Morrow U Kolmetz1006Japan2025-08-20
Emily E Briddick1007France2025-08-12
Salvatore N Kolmetz1008Germany2025-08-10
Alejandro M Schemmer1009Spain2025-08-19
Jefferson B Flosi1010Argentina2025-07-30
Jefferson F Marrier1011Argentina2025-07-28
Julie C Caldarera1012Spain2025-08-20
Sinclair Q Marrier1013France2025-07-26
Ashley S Foller1014France2025-08-22
Wickens F Wieser1015Germany2025-08-08
Faith B Butt1016Japan2025-07-28
Francesco A Briddick1017Germany2025-08-17
Murillo G Paprocki1018Brazil2025-08-07
Julie C Venere1019Italy2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley G VocelkaRussiaOnyama Limba PROPOSAL
Chavez O RulapaughUnited KingdomAsiya Javayant RENEWAL
Aruna S BologniaAustraliaAsiya Javayant PROPOSAL
Smith O OstroskyRussiaXuxue Feng NEW
Costa N GauchoUnited KingdomXuxue Feng NEGOTIATION
Silvio O VenereSpainOnyama Limba NEGOTIATION
Munro H WaycottArgentinaBernardo Dominic NEGOTIATION
Silvio U CaldareraFranceStephen Shaw NEW
Antonio Z ShinkoBrazilAmy Elsner NEGOTIATION
Francesco S FlosiAustraliaAnna Fali PROPOSAL
Stacey C FollerRussiaXuxue Feng NEW
Francesco T ButtFranceStephen Shaw RENEWAL
Cody N KolmetzCanadaIoni Bowcher UNQUALIFIED
Ivar O RulapaughCanadaStephen Shaw UNQUALIFIED
Cody D CaudyCanadaIoni Bowcher NEGOTIATION
Jefferson O TollnerFranceBernardo Dominic NEW
Adams N KolmetzArgentinaIoni Bowcher NEGOTIATION
Kaitlin W RulapaughAustraliaAsiya Javayant RENEWAL
Silvio L AmigonBrazilXuxue Feng QUALIFIED
James D SlusarskiIndiaIvan Magalhaes NEW
James L FigeroaCanadaOnyama Limba NEGOTIATION
Morrow B GlickFranceAnna Fali RENEWAL
Jones R VenereAustraliaOnyama Limba NEGOTIATION
Mujtaba D AlbaresCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois Z RutaRussiaOnyama Limba RENEWAL
Morrow N KolmetzFranceAsiya Javayant RENEWAL
Antonio U PaprockiArgentinaAnna Fali PROPOSAL
Deepesh L SergiIndiaIoni Bowcher NEW
Aditya L VenereItalyBernardo Dominic NEW
Wickens O RoysterSpainOnyama Limba QUALIFIED
Ricardo I WaycottCanadaBernardo Dominic PROPOSAL
Silvio M BowleyRussiaAmy Elsner PROPOSAL
Francesco Z SchemmerJapanAnna Fali RENEWAL
Aditya S FigeroaIndiaBernardo Dominic UNQUALIFIED
Jones V KolmetzFranceXuxue Feng QUALIFIED
Chavez Z CampainCanadaOnyama Limba NEW
Ricardo T FlosiBrazilXuxue Feng NEGOTIATION
Ricardo J KolmetzJapanIvan Magalhaes NEW
Greenwood X BologniaSpainAnna Fali NEW
Jennifer H RulapaughIndiaBernardo Dominic 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>