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
Julie J TollnerArgentinaStephen Shaw PROPOSAL
Salvatore U KuskoAustraliaBernardo Dominic NEW
Chavez A RoysterUnited KingdomAmy Elsner QUALIFIED
Claire Z BriddickItalyAnna Fali UNQUALIFIED
Faith M BowleySpainXuxue Feng PROPOSAL
David D SaylorsFranceXuxue Feng RENEWAL
Kadeem E DilliardJapanStephen Shaw PROPOSAL
Greenwood D WhobreyFranceElwin Sharvill UNQUALIFIED
Greenwood A KolmetzBrazilOnyama Limba PROPOSAL
Juan C VenereSpainIoni Bowcher QUALIFIED
Tony Z MorascaJapanStephen Shaw NEW
Arvin R BriddickArgentinaIoni Bowcher RENEWAL
Octavia B StockhamItalyXuxue Feng QUALIFIED
Mayumi C CampainSpainBernardo Dominic RENEWAL
Julie N NickaCanadaElwin Sharvill RENEWAL
Maria B WaycottAustraliaAsiya Javayant RENEWAL
Kaitlin I NestleFranceStephen Shaw NEGOTIATION
Costa A DarakjyFranceAmy Elsner QUALIFIED
Antonio X RimAustraliaOnyama Limba PROPOSAL
Julie B WhobreyJapanStephen Shaw RENEWAL
Adams S SlusarskiGermanyStephen Shaw QUALIFIED
Isabel R MarrierIndiaOnyama Limba RENEWAL
Jennifer H RutaArgentinaAmy Elsner PROPOSAL
Francesco H StensethItalyIoni Bowcher NEW
Emily F IturbideRussiaOnyama Limba NEW
Jefferson W OstroskyIndiaIvan Magalhaes NEW
Alejandro G VenereFranceElwin Sharvill RENEWAL
James V AmigonArgentinaXuxue Feng PROPOSAL
Tony I CampainCanadaBernardo Dominic QUALIFIED
Leja R FerenczJapanAnna Fali RENEWAL
Murillo H InouyeIndiaIoni Bowcher NEGOTIATION
Morrow N GlickJapanXuxue Feng NEW
Clifford M SlusarskiGermanyOnyama Limba NEW
Mayumi O WhobreyBrazilOnyama Limba PROPOSAL
Maria K FerenczGermanyElwin Sharvill RENEWAL
Sinclair L SlusarskiRussiaIvan Magalhaes RENEWAL
Claire B FollerRussiaIvan Magalhaes NEGOTIATION
Deepesh O OldroydFranceOnyama Limba PROPOSAL
Julie G KolmetzJapanStephen Shaw PROPOSAL
Murillo C MaletFranceStephen Shaw RENEWAL
Jefferson T ShinkoCanadaXuxue Feng RENEWAL
Isabel X RoysterIndiaOnyama Limba NEGOTIATION
Mayumi O FlosiArgentinaIoni Bowcher NEW
Jones C BowleySpainStephen Shaw NEW
Julie B WhobreyAustraliaXuxue Feng UNQUALIFIED
David C ButtFranceIoni Bowcher QUALIFIED
James K GauchoAustraliaBernardo Dominic NEGOTIATION
Faith R PaprockiIndiaIoni Bowcher NEW
Sinclair N MaletSpainAnna Fali QUALIFIED
Chavez S AlbaresIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh V SergiGermanyAsiya Javayant PROPOSAL
Maisha U RimUnited KingdomBernardo Dominic NEW
Stacey W AlbaresBrazilAmy Elsner UNQUALIFIED
James R CaudyArgentinaBernardo Dominic NEW
Sinclair U StensethUnited KingdomAmy Elsner PROPOSAL
David H StensethSpainAmy Elsner QUALIFIED
Chavez S StockhamGermanyAmy Elsner PROPOSAL
Murillo K FerenczSpainIvan Magalhaes NEGOTIATION
Darci V PaprockiFranceBernardo Dominic PROPOSAL
Leon Q CaudyIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh M CaudyBrazil2025-09-12Chapman, Ross E Esq PROPOSAL0Stephen Shaw
1001Ricardo Z StensethFrance2025-09-11Chanay, Jeffrey A Esq PROPOSAL99Stephen Shaw
1002Mayumi P KuskoIndia2025-09-13King, Christopher A Esq PROPOSAL46Bernardo Dominic
1003Emily L PaprockiItaly2025-09-27Feiner Bros PROPOSAL53Bernardo Dominic
1004Jefferson A RutaSpain2025-09-15Printing Dimensions RENEWAL39Elwin Sharvill
1005Morrow R DilliardIndia2025-09-09Buckley Miller Wright UNQUALIFIED87Onyama Limba
1006Ashley K ButtJapan2025-09-23King, Christopher A Esq UNQUALIFIED96Bernardo Dominic
1007Leon U GlickGermany2025-09-09Buckley Miller Wright RENEWAL86Xuxue Feng
1008Nicolas K MorascaItaly2025-09-18Truhlar And Truhlar Attys PROPOSAL62Xuxue Feng
1009Octavia J WaycottItaly2025-09-20Dorl, James J Esq NEW95Onyama Limba
1010Mujtaba L StockhamJapan2025-10-01Feltz Printing Service RENEWAL14Bernardo Dominic
1011James S GillianGermany2025-09-25Benton, John B Jr UNQUALIFIED57Ioni Bowcher
1012Ivar F MarrierGermany2025-09-27Dorl, James J Esq PROPOSAL72Anna Fali
1013Francesco X PoquetteItaly2025-09-27Benton, John B Jr RENEWAL49Anna Fali
1014Maria S ButtSpain2025-09-09Chapman, Ross E Esq NEW33Ioni Bowcher
1015Jeanfrancois Q ShinkoItaly2025-09-23Chapman, Ross E Esq PROPOSAL43Bernardo Dominic
1016Clifford A BologniaSpain2025-09-20Feltz Printing Service NEGOTIATION5Onyama Limba
1017Sinclair S MaletGermany2025-10-05Rousseaux, Michael Esq UNQUALIFIED66Stephen Shaw
1018Rodrigues G ChuiIndia2025-09-24Chanay, Jeffrey A Esq RENEWAL87Elwin Sharvill
1019Emily I NestleIndia2025-09-08Morlong Associates PROPOSAL58Anna Fali
1020Sinclair E GillianIndia2025-09-23Buckley Miller Wright PROPOSAL62Stephen Shaw
1021Leon C GauchoAustralia2025-09-17Chemel, James L Cpa UNQUALIFIED50Ioni Bowcher
1022Smith W BologniaCanada2025-09-07Chapman, Ross E Esq UNQUALIFIED71Amy Elsner
1023Arvin B GarufiArgentina2025-10-05Morlong Associates QUALIFIED59Amy Elsner
1024Aditya S StockhamFrance2025-09-16Buckley Miller Wright NEW35Ivan Magalhaes
1025Cody D VocelkaUnited Kingdom2025-09-15Truhlar And Truhlar Attys UNQUALIFIED89Anna Fali
1026Silvio C GlickUnited Kingdom2025-09-11Rangoni Of Florence NEW77Amy Elsner
1027Jennifer R TollnerJapan2025-09-29Chanay, Jeffrey A Esq UNQUALIFIED81Ioni Bowcher
1028Juan B MorascaFrance2025-10-04Morlong Associates PROPOSAL74Ivan Magalhaes
1029Faith B FerenczArgentina2025-09-13Chapman, Ross E Esq NEGOTIATION76Elwin Sharvill
1030Munro H CaldareraArgentina2025-09-24Printing Dimensions PROPOSAL27Asiya Javayant
1031Cody J StensethArgentina2025-09-10Rousseaux, Michael Esq RENEWAL12Onyama Limba
1032Rodrigues C StensethGermany2025-10-05Chapman, Ross E Esq RENEWAL0Bernardo Dominic
1033Mayumi E OldroydGermany2025-09-26Feltz Printing Service UNQUALIFIED47Anna Fali
1034Misaki U FollerFrance2025-10-03Rangoni Of Florence PROPOSAL6Bernardo Dominic
1035Smith C VenereUnited Kingdom2025-09-13Buckley Miller Wright UNQUALIFIED96Onyama Limba
1036Alejandro A VenereJapan2025-09-12Benton, John B Jr NEW97Bernardo Dominic
1037Isabel J RulapaughSpain2025-09-16Feltz Printing Service QUALIFIED0Asiya Javayant
1038Faith R FigeroaIndia2025-10-02Commercial Press UNQUALIFIED28Xuxue Feng
1039Darci N CaldareraJapan2025-09-14Printing Dimensions UNQUALIFIED76Asiya Javayant
1040Murillo T KuskoItaly2025-09-10Chemel, James L Cpa PROPOSAL17Ivan Magalhaes
1041David B DoeArgentina2025-10-06Chemel, James L Cpa QUALIFIED25Elwin Sharvill
1042Greenwood M StockhamRussia2025-09-11Dorl, James J Esq QUALIFIED52Ivan Magalhaes
1043Greenwood N SaylorsArgentina2025-09-16Chanay, Jeffrey A Esq NEW16Ivan Magalhaes
1044Juan J RulapaughBrazil2025-09-10Rousseaux, Michael Esq PROPOSAL69Asiya Javayant
1045James D MacleadArgentina2025-09-15Morlong Associates PROPOSAL73Amy Elsner
1046Isabel V WhobreyItaly2025-09-18Feltz Printing Service NEGOTIATION74Elwin Sharvill
1047Kadeem R FigeroaCanada2025-09-30Commercial Press NEW55Stephen Shaw
1048Aika H BologniaArgentina2025-09-12Rangoni Of Florence PROPOSAL43Asiya Javayant
1049Kaitlin M DilliardIndia2025-10-06Commercial Press QUALIFIED48Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Costa R MacleadCanadaElwin Sharvill RENEWAL
Aditya K WhobreyFranceXuxue Feng NEW
Ricardo C VocelkaFranceAnna Fali UNQUALIFIED
Smith P IturbideAustraliaOnyama Limba RENEWAL
Leja R GarufiFranceOnyama Limba RENEWAL
Jeanfrancois D IturbideFranceIvan Magalhaes UNQUALIFIED
Greenwood L SaylorsArgentinaAsiya Javayant PROPOSAL
Arvin D TollnerSpainElwin Sharvill QUALIFIED
Emily L SlusarskiJapanOnyama Limba UNQUALIFIED
Wickens L DilliardJapanBernardo Dominic PROPOSAL
Mujtaba B TollnerUnited KingdomAnna Fali QUALIFIED
Aika W GarufiJapanXuxue Feng PROPOSAL
James N NickaArgentinaIoni Bowcher PROPOSAL
Claire O PerinBrazilAmy Elsner NEGOTIATION
David Z VenereIndiaElwin Sharvill NEGOTIATION
Deepesh A IturbideRussiaIvan Magalhaes UNQUALIFIED
Emily R RutaArgentinaAnna Fali PROPOSAL
Morrow O AlbaresBrazilOnyama Limba UNQUALIFIED
Octavia Z DarakjyJapanOnyama Limba RENEWAL
James T WhobreyGermanyAnna Fali PROPOSAL
Octavia B DarakjyFranceXuxue Feng RENEWAL
Murillo Z InouyeRussiaIoni Bowcher NEW
Francesco C RulapaughCanadaElwin Sharvill RENEWAL
Alejandro G FollerRussiaAsiya Javayant UNQUALIFIED
James O SaylorsSpainIoni Bowcher QUALIFIED
Ashley Q KolmetzUnited KingdomAsiya Javayant QUALIFIED
Darci L DilliardIndiaAmy Elsner UNQUALIFIED
Wickens Z InouyeBrazilBernardo Dominic RENEWAL
Rodrigues Z DarakjyJapanAnna Fali NEGOTIATION
David O SaylorsCanadaBernardo Dominic NEGOTIATION
Kaitlin K SchemmerJapanAnna Fali QUALIFIED
Ashley R KuskoBrazilXuxue Feng NEW
Jeanfrancois F MarrierItalyOnyama Limba NEW
Julie X VocelkaRussiaOnyama Limba UNQUALIFIED
Ricardo I WhobreyItalyXuxue Feng NEW
Arvin J CaldareraBrazilAmy Elsner RENEWAL
Munro S NickaCanadaAsiya Javayant RENEWAL
Jennifer K DoeJapanIoni Bowcher UNQUALIFIED
Jones G PoquetteGermanyAnna Fali NEGOTIATION
Kadeem C VenereCanadaElwin Sharvill NEGOTIATION
Mujtaba P ShinkoUnited KingdomAnna Fali QUALIFIED
Adams H AlbaresIndiaAmy Elsner NEGOTIATION
Leon P NestleBrazilIvan Magalhaes UNQUALIFIED
Mayumi N RutaIndiaAsiya Javayant UNQUALIFIED
Octavia F PoquetteItalyElwin Sharvill NEGOTIATION
Chavez G MarrierFranceIoni Bowcher NEGOTIATION
Costa R FlosiBrazilBernardo Dominic RENEWAL
Ashley Z ButtSpainIvan Magalhaes QUALIFIED
Kadeem J SergiSpainStephen Shaw QUALIFIED
Adams T ChuiBrazilBernardo Dominic PROPOSAL
Frozen Columns
Name
Cody K Flosi
Arvin W Vocelka
Alejandro J Malet
Isabel R Campain
Sinclair X Schemmer
Greenwood J Poquette
Rodrigues V Kolmetz
Jeanfrancois O Poquette
Greenwood U Gaucho
Izzy O Doe
Leja M Doe
Nicolas C Inouye
Aruna W Butt
Mayumi H Whobrey
Silvio E Shinko
Izzy L Gaucho
Cody L Flosi
Aika B Doe
Octavia Z Marrier
Emily B Dilliard
Aditya E Garufi
Adams W Stockham
Leon X Butt
Chavez D Nestle
Munro K Tollner
Chavez D Rulapaugh
Aditya T Slusarski
Julie K Caudy
James E Nicka
Julie C Ferencz
Mayumi G Royster
Misaki G Caldarera
Isabel Y Foller
Julie G Poquette
Nicolas L Kusko
Munro K Flosi
Juan G Bolognia
Jeanfrancois C Flosi
Jeanfrancois A Flosi
Ricardo Q Bolognia
Deepesh H Venere
Kadeem H Poquette
Misaki J Campain
Isabel I Waycott
Sinclair E Poquette
Ivar U Slusarski
Sinclair L Ferencz
Francesco Q Royster
Chavez K Butt
Leja H Caldarera
IdCountryDate
1000Japan2025-09-14
1001Argentina2025-09-10
1002France2025-09-20
1003Spain2025-09-27
1004Germany2025-09-10
1005Russia2025-09-26
1006France2025-09-13
1007Japan2025-09-26
1008Italy2025-09-16
1009Spain2025-09-25
1010Italy2025-09-15
1011Spain2025-09-15
1012India2025-09-28
1013Canada2025-09-23
1014Russia2025-10-06
1015Japan2025-10-06
1016United Kingdom2025-09-07
1017Brazil2025-09-29
1018Italy2025-10-01
1019Australia2025-10-03
1020Brazil2025-10-02
1021Russia2025-09-07
1022Brazil2025-09-10
1023Argentina2025-09-30
1024Germany2025-09-28
1025United Kingdom2025-10-01
1026India2025-09-27
1027Brazil2025-09-15
1028Japan2025-09-17
1029Australia2025-09-13
1030India2025-10-05
1031United Kingdom2025-10-01
1032Spain2025-09-16
1033Canada2025-09-24
1034France2025-09-22
1035Germany2025-09-09
1036Germany2025-09-13
1037Japan2025-09-23
1038Spain2025-09-16
1039France2025-10-02
1040Canada2025-09-08
1041Brazil2025-09-27
1042Italy2025-10-01
1043Italy2025-09-10
1044Italy2025-09-19
1045Japan2025-10-03
1046Canada2025-09-16
1047Canada2025-09-16
1048Japan2025-10-06
1049United Kingdom2025-09-29

On-Demand Data

NameIdCountryDate
Emily C Chui1000India2025-09-14
Leja W Paprocki1001India2025-10-05
Leja O Chui1002Argentina2025-10-04
Costa A Ostrosky1003United Kingdom2025-09-30
Ashley V Iturbide1004Argentina2025-10-01
Arvin X Saylors1005Argentina2025-09-19
Jeanfrancois L Dilliard1006Russia2025-09-18
Sinclair E Gaucho1007France2025-09-19
Tony K Tollner1008Germany2025-09-22
Morrow R Malet1009Australia2025-09-18
Wickens I Briddick1010Italy2025-10-02
Juan D Chui1011Italy2025-10-02
Silvio Z Briddick1012Brazil2025-09-08
Ivar C Chui1013Canada2025-10-06
Darci R Rim1014Argentina2025-09-22
Arvin R Rim1015Russia2025-10-04
Alejandro Z Kusko1016Russia2025-09-12
Morrow K Oldroyd1017France2025-10-05
David N Oldroyd1018Australia2025-09-28
Ivar U Gillian1019Germany2025-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna J SergiUnited KingdomStephen Shaw NEW
Kadeem L InouyeAustraliaXuxue Feng UNQUALIFIED
Aditya H KuskoAustraliaAnna Fali QUALIFIED
Clifford L WieserSpainAnna Fali PROPOSAL
Mayumi F BowleyIndiaAmy Elsner NEGOTIATION
Sinclair U CaudyItalyElwin Sharvill PROPOSAL
Ashley Z RutaJapanStephen Shaw RENEWAL
Mayumi Z GlickBrazilIvan Magalhaes PROPOSAL
Aika D BowleyBrazilAsiya Javayant UNQUALIFIED
Deepesh K SchemmerCanadaBernardo Dominic QUALIFIED
Salvatore N VenereCanadaAmy Elsner PROPOSAL
Kaitlin F BriddickArgentinaOnyama Limba PROPOSAL
Tony U GarufiIndiaAnna Fali RENEWAL
Kaitlin C WieserBrazilAsiya Javayant QUALIFIED
Deepesh G AlbaresItalyStephen Shaw RENEWAL
Kaitlin I SaylorsFranceIvan Magalhaes NEW
Izzy R DarakjyCanadaIvan Magalhaes QUALIFIED
Clifford A MorascaCanadaElwin Sharvill NEW
Smith A NestleBrazilAmy Elsner UNQUALIFIED
Julie J CampainSpainIvan Magalhaes QUALIFIED
Mujtaba W SaylorsIndiaStephen Shaw UNQUALIFIED
Stacey M RulapaughBrazilOnyama Limba NEGOTIATION
Juan I GillianSpainBernardo Dominic NEW
Ivar U RulapaughGermanyStephen Shaw PROPOSAL
Tony J InouyeBrazilBernardo Dominic NEW
Leon S NickaIndiaIvan Magalhaes RENEWAL
David B OldroydBrazilStephen Shaw UNQUALIFIED
Juan F FollerRussiaAsiya Javayant QUALIFIED
Maisha L WieserSpainIvan Magalhaes NEGOTIATION
Julie Y VenereIndiaIoni Bowcher RENEWAL
Aruna W CaldareraRussiaElwin Sharvill QUALIFIED
Izzy Z StensethIndiaAmy Elsner NEGOTIATION
Ashley U AmigonBrazilBernardo Dominic NEGOTIATION
Aditya I IturbideCanadaElwin Sharvill PROPOSAL
Juan Y PerinJapanElwin Sharvill UNQUALIFIED
Tony T GlickJapanStephen Shaw PROPOSAL
Alejandro Q RimUnited KingdomBernardo Dominic NEW
Darci U IturbideFranceAnna Fali PROPOSAL
Jones A BowleyIndiaStephen Shaw NEGOTIATION
James J FollerJapanStephen Shaw 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>