November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Deepesh L MacleadRussiaAmy Elsner NEGOTIATION
Leja D FerenczArgentinaIvan Magalhaes NEW
Arvin D BriddickFranceBernardo Dominic UNQUALIFIED
David H VenereAustraliaIoni Bowcher QUALIFIED
Aika W WhobreyIndiaAnna Fali QUALIFIED
Octavia Y MaletCanadaXuxue Feng UNQUALIFIED
Silvio E WaycottAustraliaIoni Bowcher NEW
Arvin D MorascaIndiaIvan Magalhaes QUALIFIED
Maria M BologniaJapanElwin Sharvill QUALIFIED
Maria Q ChuiCanadaIvan Magalhaes NEGOTIATION
Aika D InouyeAustraliaElwin Sharvill QUALIFIED
Clifford K GlickSpainAmy Elsner QUALIFIED
Clifford U FigeroaArgentinaBernardo Dominic NEGOTIATION
Jones W MorascaUnited KingdomAnna Fali NEW
Ricardo G VocelkaItalyAsiya Javayant NEGOTIATION
Adams F FigeroaJapanOnyama Limba QUALIFIED
Ricardo T VenereBrazilBernardo Dominic QUALIFIED
Cody N RoysterSpainElwin Sharvill RENEWAL
Darci T MacleadIndiaOnyama Limba PROPOSAL
Arvin L CaudyArgentinaBernardo Dominic QUALIFIED
Alejandro X KuskoRussiaXuxue Feng UNQUALIFIED
Costa F PoquetteCanadaXuxue Feng UNQUALIFIED
Jones K OldroydBrazilOnyama Limba NEGOTIATION
Arvin G GauchoArgentinaStephen Shaw PROPOSAL
Rodrigues X DoeIndiaBernardo Dominic RENEWAL
Sinclair I ShinkoGermanyAsiya Javayant NEGOTIATION
Arvin Y KuskoCanadaElwin Sharvill NEGOTIATION
David T FollerItalyStephen Shaw UNQUALIFIED
Kadeem W KuskoIndiaAmy Elsner NEW
Ivar C BologniaAustraliaIvan Magalhaes QUALIFIED
Kadeem Z PoquetteJapanElwin Sharvill NEW
Ashley N BowleyAustraliaAnna Fali NEW
Greenwood H TollnerArgentinaAnna Fali QUALIFIED
David T StockhamItalyAnna Fali UNQUALIFIED
Nicolas Z SchemmerUnited KingdomBernardo Dominic PROPOSAL
Julie Q MaletBrazilStephen Shaw UNQUALIFIED
Kadeem Z DoeRussiaAmy Elsner UNQUALIFIED
Chavez G GauchoAustraliaAnna Fali NEGOTIATION
Munro D GlickJapanIoni Bowcher NEW
Aruna Z RimIndiaStephen Shaw NEGOTIATION
Deepesh F FerenczUnited KingdomAnna Fali UNQUALIFIED
Claire E InouyeBrazilIoni Bowcher PROPOSAL
Aika B RulapaughBrazilStephen Shaw UNQUALIFIED
Greenwood S RimUnited KingdomElwin Sharvill QUALIFIED
Deepesh W FigeroaBrazilAnna Fali UNQUALIFIED
Johnson A SergiGermanyAnna Fali NEGOTIATION
Aruna O InouyeJapanBernardo Dominic RENEWAL
Misaki V RoysterFranceXuxue Feng RENEWAL
Tony S MaletJapanOnyama Limba NEW
Alejandro H FigeroaCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh G MaletSpainAnna Fali QUALIFIED
Francesco O StensethCanadaAmy Elsner UNQUALIFIED
Sinclair J MaletIndiaIvan Magalhaes NEW
Morrow C StensethItalyElwin Sharvill QUALIFIED
Deepesh L SchemmerItalyStephen Shaw RENEWAL
Emily M PaprockiFranceOnyama Limba NEW
Juan H TollnerFranceBernardo Dominic UNQUALIFIED
David N RutaFranceBernardo Dominic PROPOSAL
Mujtaba D KuskoArgentinaXuxue Feng QUALIFIED
Jones T SlusarskiGermanyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith C DoeGermany2026-10-04Buckley Miller Wright PROPOSAL63Stephen Shaw
1001Jones J DoeAustralia2026-10-01Buckley Miller Wright NEW88Bernardo Dominic
1002Julie T PoquetteItaly2026-09-25Buckley Miller Wright RENEWAL28Onyama Limba
1003Leja C BologniaJapan2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED19Elwin Sharvill
1004Antonio S ChuiCanada2026-09-10Rangoni Of Florence RENEWAL20Anna Fali
1005Morrow T CaldareraAustralia2026-09-09Feltz Printing Service QUALIFIED1Anna Fali
1006James G AlbaresRussia2026-09-25Chanay, Jeffrey A Esq QUALIFIED40Elwin Sharvill
1007Faith P VenereJapan2026-09-21Buckley Miller Wright NEGOTIATION79Xuxue Feng
1008Wickens Z KolmetzCanada2026-09-30King, Christopher A Esq PROPOSAL0Anna Fali
1009Murillo U FigeroaIndia2026-09-12Dorl, James J Esq NEGOTIATION95Ioni Bowcher
1010Tony D FollerFrance2026-10-02Morlong Associates NEGOTIATION13Anna Fali
1011Deepesh X WieserCanada2026-09-18Feltz Printing Service NEGOTIATION31Amy Elsner
1012Chavez Y MaletBrazil2026-09-23Rangoni Of Florence NEGOTIATION13Elwin Sharvill
1013Aika X ButtRussia2026-09-23King, Christopher A Esq RENEWAL80Ioni Bowcher
1014Sinclair S RulapaughCanada2026-09-07Chapman, Ross E Esq QUALIFIED97Asiya Javayant
1015Alejandro Z MaletIndia2026-09-24Feltz Printing Service PROPOSAL21Stephen Shaw
1016Faith I KolmetzAustralia2026-10-01Dorl, James J Esq RENEWAL58Xuxue Feng
1017Leon Z CaldareraBrazil2026-09-18Truhlar And Truhlar Attys NEGOTIATION65Xuxue Feng
1018Isabel K AlbaresJapan2026-09-23Benton, John B Jr NEGOTIATION22Asiya Javayant
1019Nicolas S RutaRussia2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED66Anna Fali
1020Leja Q GauchoItaly2026-09-06Feiner Bros RENEWAL13Bernardo Dominic
1021Sinclair U WaycottBrazil2026-09-21Rousseaux, Michael Esq QUALIFIED33Bernardo Dominic
1022Sinclair U PaprockiFrance2026-09-27Feltz Printing Service NEGOTIATION64Amy Elsner
1023Johnson E FollerGermany2026-10-03Morlong Associates RENEWAL72Anna Fali
1024Rodrigues J ButtGermany2026-09-18Morlong Associates RENEWAL34Elwin Sharvill
1025Leja M MacleadFrance2026-09-11Chapman, Ross E Esq NEW23Ioni Bowcher
1026Jones Q MaletRussia2026-10-04Rousseaux, Michael Esq QUALIFIED24Asiya Javayant
1027Cody G TollnerFrance2026-09-17Commercial Press QUALIFIED26Xuxue Feng
1028Isabel P SergiSpain2026-09-16Commercial Press UNQUALIFIED12Ivan Magalhaes
1029Maria U InouyeCanada2026-09-26Truhlar And Truhlar Attys RENEWAL78Asiya Javayant
1030Aruna K MaletAustralia2026-09-17Chanay, Jeffrey A Esq QUALIFIED42Asiya Javayant
1031Silvio E CaldareraArgentina2026-09-08Chanay, Jeffrey A Esq RENEWAL63Ivan Magalhaes
1032Claire X FerenczSpain2026-10-04Commercial Press UNQUALIFIED76Anna Fali
1033Ricardo R GlickAustralia2026-09-21Feiner Bros NEGOTIATION67Amy Elsner
1034Mujtaba X StensethBrazil2026-09-07Buckley Miller Wright QUALIFIED58Elwin Sharvill
1035Greenwood N WhobreyCanada2026-09-21Buckley Miller Wright NEW81Onyama Limba
1036Octavia Z BowleyJapan2026-09-10Feiner Bros RENEWAL0Ioni Bowcher
1037Arvin H FigeroaSpain2026-09-30Printing Dimensions NEW69Amy Elsner
1038Kaitlin C CaudyJapan2026-09-25Commercial Press PROPOSAL8Ivan Magalhaes
1039Maisha M StensethUnited Kingdom2026-09-20King, Christopher A Esq PROPOSAL34Asiya Javayant
1040Jones R DoeBrazil2026-09-30Rangoni Of Florence RENEWAL61Xuxue Feng
1041Isabel Z ChuiGermany2026-09-22Chanay, Jeffrey A Esq NEGOTIATION38Anna Fali
1042Claire D GillianItaly2026-09-17King, Christopher A Esq RENEWAL51Anna Fali
1043Nicolas T IturbideItaly2026-09-06King, Christopher A Esq RENEWAL42Ivan Magalhaes
1044Julie F PaprockiCanada2026-09-16Morlong Associates RENEWAL91Ioni Bowcher
1045Jennifer I RimItaly2026-10-01Truhlar And Truhlar Attys RENEWAL3Stephen Shaw
1046Clifford T PoquetteGermany2026-09-07Chanay, Jeffrey A Esq UNQUALIFIED85Ivan Magalhaes
1047Darci T SaylorsGermany2026-09-09Feltz Printing Service UNQUALIFIED4Ioni Bowcher
1048Maria G StensethGermany2026-09-06Buckley Miller Wright UNQUALIFIED71Bernardo Dominic
1049Jennifer F GarufiFrance2026-09-22Dorl, James J Esq NEW94Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens I PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Morrow G VocelkaCanadaAsiya Javayant UNQUALIFIED
Jennifer O MaletBrazilIvan Magalhaes PROPOSAL
Maisha U OstroskyGermanyOnyama Limba NEW
Misaki M RutaRussiaIoni Bowcher RENEWAL
Greenwood G CaldareraUnited KingdomAnna Fali UNQUALIFIED
Wickens O KolmetzGermanyAsiya Javayant QUALIFIED
Wickens Y CaldareraIndiaXuxue Feng NEW
Adams O DilliardIndiaIvan Magalhaes RENEWAL
Ricardo D WieserBrazilAmy Elsner NEW
Maisha Y ButtJapanAsiya Javayant NEGOTIATION
Maisha K MacleadUnited KingdomXuxue Feng RENEWAL
David D MaletGermanyAmy Elsner PROPOSAL
Chavez K FerenczJapanAsiya Javayant NEW
Kaitlin I RoysterItalyOnyama Limba UNQUALIFIED
Clifford N MorascaAustraliaStephen Shaw RENEWAL
Nicolas W GillianItalyStephen Shaw PROPOSAL
Ivar A MaletGermanyAnna Fali QUALIFIED
Munro M CaudyAustraliaIoni Bowcher NEGOTIATION
Izzy B KuskoJapanIvan Magalhaes NEW
Jennifer U SlusarskiIndiaBernardo Dominic RENEWAL
Maria W BriddickRussiaAnna Fali UNQUALIFIED
Antonio E WieserBrazilElwin Sharvill PROPOSAL
Aika O FollerGermanyOnyama Limba NEW
Wickens T CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Costa H MaletArgentinaOnyama Limba NEW
Adams X TollnerItalyXuxue Feng NEW
Morrow M MaletSpainStephen Shaw QUALIFIED
Aruna M WhobreyGermanyAmy Elsner PROPOSAL
Cody E NickaFranceAsiya Javayant NEW
Mujtaba L InouyeIndiaStephen Shaw UNQUALIFIED
Maria Z WhobreyIndiaOnyama Limba PROPOSAL
Juan D BriddickUnited KingdomAmy Elsner UNQUALIFIED
Isabel U CaudyIndiaElwin Sharvill PROPOSAL
Arvin U BriddickFranceXuxue Feng PROPOSAL
Julie V KolmetzCanadaAmy Elsner QUALIFIED
Mayumi U MaletFranceIvan Magalhaes NEGOTIATION
Mayumi O DilliardSpainXuxue Feng RENEWAL
Maria H FerenczItalyAsiya Javayant QUALIFIED
Greenwood G BologniaRussiaIvan Magalhaes NEW
David K MarrierIndiaStephen Shaw RENEWAL
Johnson C MacleadRussiaOnyama Limba QUALIFIED
Johnson D RoysterArgentinaAsiya Javayant NEW
Francesco D SaylorsIndiaElwin Sharvill QUALIFIED
Claire D MaletItalyBernardo Dominic UNQUALIFIED
Adams F RoysterIndiaAnna Fali NEGOTIATION
Alejandro N DoeUnited KingdomStephen Shaw PROPOSAL
Julie U BologniaJapanXuxue Feng NEGOTIATION
Jeanfrancois L DilliardGermanyElwin Sharvill QUALIFIED
Leon J AlbaresFranceIoni Bowcher NEGOTIATION
Frozen Columns
Name
Kaitlin E Marrier
Nicolas R Tollner
Leja M Bolognia
Kadeem T Nestle
Alejandro D Amigon
Clifford V Oldroyd
Tony L Morasca
David X Malet
Maria R Inouye
Julie W Rulapaugh
Mayumi V Rulapaugh
Murillo D Doe
Octavia C Inouye
Chavez W Caldarera
Salvatore Y Caldarera
Jones P Garufi
Francesco K Nicka
Chavez G Wieser
Juan T Wieser
Izzy B Doe
Izzy S Vocelka
Jennifer Z Perin
Ashley J Waycott
Mayumi W Marrier
Ashley T Gaucho
Murillo I Rulapaugh
Jefferson D Ostrosky
Aika P Nicka
Julie Z Iturbide
Sinclair A Caudy
Leon O Nestle
Deepesh R Foller
James C Ostrosky
Chavez W Venere
Juan S Briddick
Aditya U Campain
Isabel E Bolognia
Aika X Inouye
Salvatore S Campain
Morrow J Saylors
Wickens J Rulapaugh
David T Poquette
Mujtaba Y Chui
Arvin I Nestle
James J Poquette
Kaitlin W Nicka
Johnson E Doe
Nicolas D Chui
Octavia I Vocelka
Juan L Campain
IdCountryDate
1000Spain2026-09-20
1001France2026-09-07
1002United Kingdom2026-09-07
1003Japan2026-09-22
1004Italy2026-09-26
1005India2026-10-04
1006India2026-09-27
1007India2026-09-15
1008Brazil2026-09-12
1009India2026-09-26
1010Brazil2026-09-19
1011India2026-09-27
1012Argentina2026-09-16
1013France2026-09-13
1014Russia2026-09-29
1015France2026-09-28
1016India2026-09-29
1017France2026-10-05
1018Canada2026-09-20
1019Italy2026-10-03
1020India2026-09-27
1021Canada2026-10-04
1022France2026-09-07
1023Brazil2026-09-18
1024France2026-09-23
1025Argentina2026-10-05
1026Italy2026-09-26
1027Brazil2026-09-24
1028Spain2026-09-13
1029Italy2026-09-07
1030India2026-10-04
1031Italy2026-09-08
1032Russia2026-09-07
1033Italy2026-10-03
1034Australia2026-09-20
1035Italy2026-09-21
1036Russia2026-09-08
1037Argentina2026-09-13
1038Australia2026-10-03
1039Spain2026-09-14
1040France2026-09-30
1041United Kingdom2026-09-16
1042India2026-10-05
1043Italy2026-09-21
1044Argentina2026-09-27
1045Japan2026-09-11
1046Japan2026-09-16
1047United Kingdom2026-09-11
1048Argentina2026-09-13
1049Germany2026-09-24

On-Demand Data

NameIdCountryDate
Aika K Waycott1000Australia2026-10-01
Maisha B Gaucho1001Germany2026-09-14
Rodrigues M Kolmetz1002Spain2026-09-06
Claire H Dilliard1003France2026-09-21
Arvin T Shinko1004Argentina2026-10-04
Munro U Waycott1005India2026-09-26
Stacey N Figeroa1006France2026-10-01
Maria H Gaucho1007India2026-09-17
Darci Q Rulapaugh1008Japan2026-10-03
Izzy I Wieser1009India2026-09-09
Adams X Figeroa1010Brazil2026-09-16
Clifford N Waycott1011Germany2026-09-14
Salvatore U Ferencz1012Spain2026-09-20
Aruna R Ferencz1013Japan2026-10-04
Leon N Tollner1014Spain2026-09-14
James J Ferencz1015United Kingdom2026-10-02
Mujtaba K Sergi1016Canada2026-09-29
Maisha Z Butt1017Russia2026-10-05
Darci N Ferencz1018Japan2026-09-09
Claire Y Oldroyd1019Italy2026-09-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow B SaylorsIndiaIvan Magalhaes UNQUALIFIED
Misaki V CaudySpainElwin Sharvill PROPOSAL
Sinclair Z KuskoIndiaAmy Elsner RENEWAL
Jennifer Q BowleyItalyXuxue Feng RENEWAL
Clifford S CaldareraCanadaOnyama Limba NEW
Aruna L ChuiRussiaOnyama Limba RENEWAL
Aika J RoysterFranceIoni Bowcher UNQUALIFIED
Faith O PaprockiIndiaIoni Bowcher RENEWAL
Izzy J KolmetzAustraliaOnyama Limba NEW
Ricardo S VocelkaSpainIvan Magalhaes NEW
Tony J RimAustraliaIoni Bowcher QUALIFIED
Kadeem U MaletJapanElwin Sharvill PROPOSAL
Darci R RoysterSpainElwin Sharvill NEGOTIATION
Cody I VocelkaItalyIoni Bowcher QUALIFIED
Murillo L BologniaRussiaAsiya Javayant QUALIFIED
Leja M WhobreyUnited KingdomElwin Sharvill NEW
Mujtaba X FollerFranceAmy Elsner UNQUALIFIED
Jeanfrancois Y FlosiItalyAmy Elsner NEGOTIATION
Adams L MarrierGermanyAnna Fali NEW
Costa Y GauchoFranceXuxue Feng QUALIFIED
Ashley I ButtBrazilIoni Bowcher NEGOTIATION
Johnson N MaletCanadaAsiya Javayant NEGOTIATION
Wickens S BologniaFranceAnna Fali PROPOSAL
Maisha Z FollerSpainElwin Sharvill UNQUALIFIED
Darci M MorascaIndiaIvan Magalhaes UNQUALIFIED
Emily P WhobreyItalyBernardo Dominic PROPOSAL
Costa U BologniaCanadaElwin Sharvill PROPOSAL
Costa G StensethUnited KingdomStephen Shaw PROPOSAL
Ivar O WhobreyGermanyIoni Bowcher NEW
Chavez M NestleItalyIoni Bowcher QUALIFIED
Aditya A FollerJapanIoni Bowcher UNQUALIFIED
Greenwood L ShinkoCanadaIvan Magalhaes PROPOSAL
Rodrigues D KolmetzIndiaElwin Sharvill NEW
Faith W RutaAustraliaStephen Shaw RENEWAL
Jefferson O FlosiBrazilElwin Sharvill UNQUALIFIED
Misaki D TollnerAustraliaAsiya Javayant NEW
Claire X DoeBrazilBernardo Dominic NEW
Leja V AlbaresBrazilAnna Fali QUALIFIED
Octavia B NickaFranceIoni Bowcher QUALIFIED
Murillo A KuskoFranceAnna Fali RENEWAL

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