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
Leja E GauchoItalyStephen Shaw RENEWAL
Leja E MacleadIndiaBernardo Dominic PROPOSAL
Morrow U SchemmerAustraliaAnna Fali PROPOSAL
Maisha N ShinkoCanadaAnna Fali NEW
Maisha C AmigonSpainIoni Bowcher NEGOTIATION
Mayumi K GillianGermanyIvan Magalhaes PROPOSAL
Ashley T PerinGermanyIvan Magalhaes PROPOSAL
Greenwood G MacleadAustraliaAsiya Javayant NEW
Emily J PaprockiCanadaElwin Sharvill NEW
Jones T SaylorsSpainBernardo Dominic QUALIFIED
Octavia K KolmetzBrazilBernardo Dominic QUALIFIED
Misaki C ShinkoBrazilAsiya Javayant NEGOTIATION
Izzy O BologniaAustraliaElwin Sharvill PROPOSAL
Emily S DarakjyIndiaXuxue Feng UNQUALIFIED
Stacey G CampainJapanOnyama Limba PROPOSAL
Maisha E WaycottRussiaAsiya Javayant QUALIFIED
Faith X CaldareraCanadaOnyama Limba NEW
Jefferson L FigeroaIndiaXuxue Feng NEGOTIATION
Maisha G InouyeArgentinaIoni Bowcher PROPOSAL
Ricardo G MaletAustraliaAmy Elsner PROPOSAL
Ricardo G MaletSpainAsiya Javayant PROPOSAL
Cody L SchemmerAustraliaBernardo Dominic PROPOSAL
Juan H WieserBrazilAnna Fali NEW
Maria I VocelkaGermanyIoni Bowcher QUALIFIED
Jeanfrancois O MaletBrazilAsiya Javayant QUALIFIED
Stacey D CaldareraArgentinaOnyama Limba UNQUALIFIED
Rodrigues J MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Adams K ChuiCanadaStephen Shaw NEGOTIATION
Cody T PerinBrazilIoni Bowcher NEGOTIATION
Maria O CaldareraIndiaAnna Fali PROPOSAL
Chavez K CampainBrazilElwin Sharvill RENEWAL
Isabel Z ButtIndiaIvan Magalhaes RENEWAL
Emily O SaylorsSpainAnna Fali UNQUALIFIED
Jones D FollerJapanElwin Sharvill NEW
Mayumi Q FerenczRussiaXuxue Feng NEW
Juan I NickaArgentinaAmy Elsner RENEWAL
Darci B PoquetteArgentinaIoni Bowcher NEGOTIATION
Deepesh G RoysterIndiaXuxue Feng UNQUALIFIED
Aditya Q RutaItalyAnna Fali UNQUALIFIED
Aika S AmigonGermanyBernardo Dominic NEW
Adams W MorascaArgentinaIoni Bowcher NEGOTIATION
Aditya R WhobreyCanadaIvan Magalhaes NEGOTIATION
Misaki C KolmetzGermanyAsiya Javayant NEGOTIATION
Juan G PerinGermanyAnna Fali NEGOTIATION
Ricardo T GauchoBrazilOnyama Limba NEGOTIATION
Juan P PaprockiCanadaBernardo Dominic RENEWAL
Misaki Z WieserBrazilIoni Bowcher PROPOSAL
Aditya U OldroydItalyOnyama Limba NEW
Misaki C CampainSpainElwin Sharvill PROPOSAL
Smith I RimFranceAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Z StensethCanadaOnyama Limba RENEWAL
Leon N GarufiFranceAsiya Javayant PROPOSAL
Johnson A VocelkaAustraliaBernardo Dominic RENEWAL
Deepesh M AmigonGermanyIvan Magalhaes NEGOTIATION
Misaki Y SaylorsItalyIoni Bowcher UNQUALIFIED
Rodrigues S KuskoAustraliaOnyama Limba PROPOSAL
Kaitlin Y MarrierBrazilBernardo Dominic RENEWAL
Morrow Y PoquetteRussiaStephen Shaw UNQUALIFIED
Mujtaba Q RutaGermanyIvan Magalhaes NEGOTIATION
Aditya Q CaudyArgentinaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James X PerinUnited Kingdom2025-08-01Chapman, Ross E Esq NEW60Anna Fali
1001Jeanfrancois F BologniaItaly2025-08-23Feiner Bros QUALIFIED65Amy Elsner
1002Silvio Y ShinkoCanada2025-08-15Dorl, James J Esq NEW82Stephen Shaw
1003Isabel M NestleUnited Kingdom2025-08-07Feltz Printing Service PROPOSAL75Stephen Shaw
1004Johnson P TollnerRussia2025-08-02Morlong Associates NEW59Ioni Bowcher
1005Rodrigues P MacleadJapan2025-08-15Truhlar And Truhlar Attys PROPOSAL23Onyama Limba
1006Isabel M WaycottItaly2025-08-19Chemel, James L Cpa QUALIFIED92Anna Fali
1007Mayumi X FlosiUnited Kingdom2025-08-17Rousseaux, Michael Esq RENEWAL52Xuxue Feng
1008Jeanfrancois U AmigonSpain2025-08-07Morlong Associates QUALIFIED75Asiya Javayant
1009Wickens Z RoysterJapan2025-08-14Rangoni Of Florence NEGOTIATION36Stephen Shaw
1010Darci X CaldareraJapan2025-08-13Truhlar And Truhlar Attys QUALIFIED28Bernardo Dominic
1011Salvatore H GarufiJapan2025-08-25Buckley Miller Wright PROPOSAL60Anna Fali
1012Misaki I NestleBrazil2025-08-17Morlong Associates UNQUALIFIED47Anna Fali
1013Misaki K FlosiIndia2025-08-10Feltz Printing Service NEGOTIATION35Elwin Sharvill
1014Aruna M ButtGermany2025-08-05Chemel, James L Cpa RENEWAL2Anna Fali
1015Ashley P StockhamGermany2025-08-02Rousseaux, Michael Esq PROPOSAL44Onyama Limba
1016Morrow H TollnerJapan2025-08-12Feltz Printing Service NEGOTIATION5Ivan Magalhaes
1017Chavez U OldroydBrazil2025-08-22King, Christopher A Esq NEW41Amy Elsner
1018Leja X ShinkoIndia2025-08-08Printing Dimensions PROPOSAL30Amy Elsner
1019Murillo Z BowleyArgentina2025-08-18Feltz Printing Service UNQUALIFIED3Anna Fali
1020Nicolas Z WaycottArgentina2025-08-11Feiner Bros RENEWAL29Bernardo Dominic
1021Nicolas O MorascaCanada2025-08-24Truhlar And Truhlar Attys PROPOSAL5Amy Elsner
1022Deepesh O ChuiRussia2025-07-30Buckley Miller Wright RENEWAL95Xuxue Feng
1023Aditya S FlosiItaly2025-08-04Feltz Printing Service QUALIFIED40Amy Elsner
1024Tony E StockhamCanada2025-08-05Commercial Press PROPOSAL19Amy Elsner
1025Mayumi N GillianSpain2025-08-09Morlong Associates UNQUALIFIED34Onyama Limba
1026Antonio P MacleadFrance2025-08-08Feltz Printing Service NEW51Amy Elsner
1027Silvio Z OldroydCanada2025-08-22King, Christopher A Esq PROPOSAL6Anna Fali
1028Silvio M SergiAustralia2025-08-12Chanay, Jeffrey A Esq PROPOSAL97Onyama Limba
1029Mujtaba U BriddickFrance2025-08-23Feiner Bros QUALIFIED93Ivan Magalhaes
1030Julie M MaletCanada2025-08-23Chanay, Jeffrey A Esq RENEWAL74Asiya Javayant
1031Munro O FollerBrazil2025-08-04Feiner Bros NEW26Elwin Sharvill
1032Jennifer F KolmetzIndia2025-08-27Printing Dimensions RENEWAL45Onyama Limba
1033Munro Q DilliardArgentina2025-08-18Chemel, James L Cpa NEW48Stephen Shaw
1034Faith N SlusarskiAustralia2025-08-24Chapman, Ross E Esq RENEWAL66Asiya Javayant
1035Nicolas C RoysterItaly2025-08-10Chapman, Ross E Esq UNQUALIFIED3Elwin Sharvill
1036Chavez H VocelkaAustralia2025-08-23Dorl, James J Esq NEW18Onyama Limba
1037Tony I BowleyIndia2025-08-11Benton, John B Jr NEGOTIATION84Xuxue Feng
1038Izzy E PaprockiCanada2025-08-21Buckley Miller Wright PROPOSAL60Ivan Magalhaes
1039David I WieserAustralia2025-08-04Morlong Associates RENEWAL29Bernardo Dominic
1040Kaitlin Z AlbaresJapan2025-08-07Dorl, James J Esq QUALIFIED24Xuxue Feng
1041Aruna J ButtAustralia2025-08-04Printing Dimensions NEGOTIATION36Xuxue Feng
1042Aruna D GarufiAustralia2025-07-31Rangoni Of Florence PROPOSAL87Amy Elsner
1043Maisha T SergiSpain2025-08-11King, Christopher A Esq NEGOTIATION47Elwin Sharvill
1044Juan J BologniaItaly2025-08-16Chanay, Jeffrey A Esq NEW24Xuxue Feng
1045Arvin X WaycottSpain2025-08-09Rangoni Of Florence PROPOSAL58Ivan Magalhaes
1046Johnson U FlosiFrance2025-08-08Rangoni Of Florence PROPOSAL79Anna Fali
1047Nicolas L ButtIndia2025-08-18Benton, John B Jr NEGOTIATION42Ioni Bowcher
1048Nicolas U GarufiRussia2025-08-20King, Christopher A Esq NEW27Anna Fali
1049Smith M DoeIndia2025-08-02Morlong Associates RENEWAL48Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Murillo C CaldareraJapanAsiya Javayant RENEWAL
Darci P GillianSpainOnyama Limba UNQUALIFIED
Julie K SergiIndiaBernardo Dominic QUALIFIED
Faith Y RutaArgentinaAmy Elsner QUALIFIED
Jefferson L VocelkaSpainOnyama Limba PROPOSAL
Greenwood S CaudyItalyIvan Magalhaes NEW
Alejandro B MarrierSpainIvan Magalhaes NEW
Johnson J AmigonUnited KingdomBernardo Dominic NEW
Johnson W BriddickRussiaXuxue Feng PROPOSAL
Juan J GauchoFranceElwin Sharvill UNQUALIFIED
Kadeem X AlbaresIndiaOnyama Limba PROPOSAL
Ivar H IturbideSpainIoni Bowcher QUALIFIED
Maisha G PerinJapanElwin Sharvill NEGOTIATION
Mujtaba P MaletRussiaAsiya Javayant RENEWAL
Adams D GillianGermanyIoni Bowcher RENEWAL
Faith S GauchoBrazilIvan Magalhaes PROPOSAL
Antonio T MacleadRussiaAsiya Javayant NEGOTIATION
Chavez U PerinRussiaIoni Bowcher PROPOSAL
Darci O KuskoSpainXuxue Feng UNQUALIFIED
Ricardo P MarrierRussiaAmy Elsner RENEWAL
Maria V ShinkoAustraliaIvan Magalhaes PROPOSAL
Adams A CaldareraRussiaAmy Elsner UNQUALIFIED
Octavia Y CaudyRussiaBernardo Dominic UNQUALIFIED
Leon Y GlickUnited KingdomAsiya Javayant NEGOTIATION
Octavia H GillianRussiaAnna Fali UNQUALIFIED
Cody R SaylorsBrazilAnna Fali NEW
Claire R MaletBrazilStephen Shaw PROPOSAL
Alejandro E OstroskyItalyIoni Bowcher NEGOTIATION
Deepesh X BriddickIndiaOnyama Limba NEW
Maisha T SchemmerArgentinaAsiya Javayant QUALIFIED
Octavia A NickaArgentinaOnyama Limba NEGOTIATION
Antonio I RimCanadaAsiya Javayant RENEWAL
Adams T FigeroaItalyAnna Fali QUALIFIED
Munro M FerenczArgentinaStephen Shaw PROPOSAL
Nicolas O GarufiAustraliaStephen Shaw PROPOSAL
Murillo F SchemmerCanadaElwin Sharvill PROPOSAL
Isabel Y DoeJapanStephen Shaw NEGOTIATION
Nicolas G DarakjyAustraliaAmy Elsner PROPOSAL
Clifford T FlosiFranceAmy Elsner NEGOTIATION
Jennifer T DoeAustraliaAmy Elsner NEW
Morrow Z GillianBrazilAnna Fali NEGOTIATION
Munro F PoquetteRussiaXuxue Feng QUALIFIED
Maria S IturbideUnited KingdomBernardo Dominic RENEWAL
Cody H MorascaJapanElwin Sharvill NEGOTIATION
Maisha K ChuiFranceAsiya Javayant RENEWAL
Chavez I TollnerIndiaOnyama Limba UNQUALIFIED
Faith U SergiUnited KingdomXuxue Feng NEW
Maisha E OldroydFranceAsiya Javayant NEW
Morrow V RimRussiaIvan Magalhaes RENEWAL
Rodrigues J RoysterCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Juan K Stenseth
Maria M Amigon
Stacey F Foller
James G Maclead
Claire G Butt
Clifford P Rim
Tony V Campain
Darci S Inouye
Clifford N Oldroyd
Juan J Chui
Darci S Morasca
Maria T Kusko
Ivar D Shinko
Kadeem Q Vocelka
Jennifer V Gillian
Arvin L Shinko
Adams T Kolmetz
Stacey R Glick
Kaitlin S Schemmer
Salvatore J Ruta
Clifford A Darakjy
Ivar Q Slusarski
Deepesh I Bolognia
Izzy P Nicka
Clifford L Glick
Darci M Malet
Darci N Garufi
Maria C Iturbide
Morrow Y Nestle
Leja Z Nestle
Jefferson N Ruta
Smith U Paprocki
Rodrigues U Paprocki
Arvin N Oldroyd
Aruna X Morasca
Emily B Doe
Alejandro O Doe
Darci F Royster
Mayumi T Slusarski
Adams V Paprocki
Munro P Vocelka
Arvin J Caudy
Arvin I Morasca
Isabel J Nicka
Maisha K Rulapaugh
Emily D Iturbide
Arvin J Gillian
James D Glick
Morrow H Stockham
Jefferson E Campain
IdCountryDate
1000Italy2025-08-05
1001United Kingdom2025-08-07
1002Australia2025-07-31
1003India2025-08-03
1004Australia2025-08-13
1005Argentina2025-08-28
1006Canada2025-08-09
1007India2025-08-05
1008United Kingdom2025-08-03
1009Germany2025-08-14
1010Argentina2025-08-12
1011Germany2025-08-26
1012Japan2025-08-17
1013India2025-08-10
1014France2025-08-17
1015Russia2025-08-25
1016Spain2025-08-26
1017Brazil2025-08-04
1018Japan2025-08-27
1019Canada2025-08-27
1020United Kingdom2025-08-19
1021Germany2025-08-09
1022Japan2025-08-27
1023Germany2025-08-10
1024Japan2025-08-07
1025Russia2025-08-27
1026Australia2025-08-28
1027United Kingdom2025-07-31
1028Argentina2025-08-28
1029India2025-08-05
1030Spain2025-08-16
1031India2025-08-01
1032Spain2025-08-18
1033France2025-08-05
1034France2025-08-17
1035Canada2025-07-31
1036Argentina2025-08-23
1037Russia2025-08-15
1038Russia2025-08-02
1039Russia2025-08-27
1040Argentina2025-08-04
1041Argentina2025-08-08
1042India2025-08-02
1043India2025-08-06
1044Canada2025-08-06
1045Argentina2025-07-30
1046Canada2025-08-28
1047Japan2025-08-06
1048Japan2025-08-20
1049Canada2025-08-07

On-Demand Data

NameIdCountryDate
Sinclair E Butt1000Argentina2025-08-02
Munro J Briddick1001Spain2025-08-27
Tony N Maclead1002Spain2025-08-18
Clifford N Bowley1003Russia2025-07-31
Maria P Glick1004United Kingdom2025-08-27
Mujtaba G Gaucho1005India2025-08-24
Alejandro Z Kusko1006Brazil2025-08-05
Jefferson T Tollner1007Japan2025-08-15
Jennifer U Slusarski1008Russia2025-08-26
Leon Z Maclead1009Canada2025-08-18
Julie T Rim1010Italy2025-08-07
Misaki T Ruta1011Brazil2025-08-23
James A Gillian1012Australia2025-07-30
Ricardo M Garufi1013Japan2025-08-13
Jeanfrancois V Poquette1014Australia2025-08-01
Ricardo P Garufi1015France2025-08-23
Alejandro I Doe1016India2025-07-30
Stacey U Rulapaugh1017Australia2025-08-05
Costa M Butt1018Japan2025-08-03
Juan H Malet1019Brazil2025-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo I ShinkoArgentinaAsiya Javayant QUALIFIED
Jennifer J FigeroaCanadaAsiya Javayant UNQUALIFIED
Aruna O InouyeCanadaXuxue Feng NEGOTIATION
Silvio U MaletBrazilOnyama Limba RENEWAL
Emily K OstroskySpainIoni Bowcher QUALIFIED
Clifford Y PerinRussiaIoni Bowcher NEGOTIATION
Claire L SchemmerAustraliaXuxue Feng NEGOTIATION
Faith Y PerinGermanyXuxue Feng UNQUALIFIED
Ricardo F DarakjyUnited KingdomIoni Bowcher QUALIFIED
Ivar S SaylorsGermanyOnyama Limba PROPOSAL
Jeanfrancois N SaylorsSpainIoni Bowcher NEW
Aditya Y KuskoFranceAsiya Javayant QUALIFIED
Greenwood D BologniaSpainAnna Fali NEW
Mayumi K AmigonJapanAsiya Javayant NEGOTIATION
Cody E GillianJapanAnna Fali UNQUALIFIED
Munro D NickaRussiaStephen Shaw NEW
Ashley Q GillianIndiaIoni Bowcher RENEWAL
David A OstroskyRussiaXuxue Feng QUALIFIED
Faith R NestleIndiaAnna Fali RENEWAL
Tony Z CampainCanadaIvan Magalhaes RENEWAL
Ashley S OstroskyRussiaAnna Fali RENEWAL
Chavez P DarakjyFranceElwin Sharvill PROPOSAL
Octavia L NestleFranceAmy Elsner NEW
Arvin C WhobreyItalyOnyama Limba QUALIFIED
Leja S CampainGermanyOnyama Limba NEGOTIATION
Adams F BriddickGermanyOnyama Limba NEGOTIATION
Cody V KuskoItalyStephen Shaw QUALIFIED
Antonio B WieserFranceXuxue Feng NEW
Izzy Z CaudyArgentinaBernardo Dominic PROPOSAL
Jeanfrancois J MorascaIndiaStephen Shaw RENEWAL
Rodrigues L DarakjyUnited KingdomElwin Sharvill RENEWAL
Misaki P FigeroaArgentinaOnyama Limba NEW
Adams D WieserRussiaStephen Shaw NEW
Juan I GauchoUnited KingdomElwin Sharvill RENEWAL
Ricardo E MarrierIndiaAsiya Javayant QUALIFIED
Maisha T AmigonBrazilAmy Elsner RENEWAL
Tony J SchemmerUnited KingdomStephen Shaw RENEWAL
Ivar C DilliardAustraliaIvan Magalhaes PROPOSAL
Clifford Z KuskoBrazilAsiya Javayant NEGOTIATION
James I BologniaIndiaXuxue Feng NEW

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