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
Cody V VocelkaArgentinaBernardo Dominic UNQUALIFIED
Jefferson N ShinkoArgentinaIoni Bowcher PROPOSAL
Smith Q WaycottIndiaIoni Bowcher QUALIFIED
Faith Q OldroydIndiaElwin Sharvill RENEWAL
Tony Z CaudyItalyIoni Bowcher RENEWAL
Greenwood M PaprockiItalyElwin Sharvill NEW
Salvatore K NickaIndiaStephen Shaw PROPOSAL
Costa K WaycottRussiaAnna Fali NEW
Arvin O OldroydFranceAsiya Javayant RENEWAL
Jennifer S DoeUnited KingdomIvan Magalhaes NEW
Greenwood G FlosiUnited KingdomElwin Sharvill RENEWAL
Leja Q RulapaughItalyOnyama Limba NEGOTIATION
Tony I CampainSpainXuxue Feng QUALIFIED
Maisha W PoquetteCanadaBernardo Dominic UNQUALIFIED
Aruna H FlosiJapanXuxue Feng NEGOTIATION
Francesco U RoysterUnited KingdomIvan Magalhaes PROPOSAL
Faith L VenereGermanyStephen Shaw PROPOSAL
Munro K RimSpainIoni Bowcher NEGOTIATION
Nicolas L GlickGermanyAsiya Javayant NEGOTIATION
Nicolas N InouyeBrazilStephen Shaw RENEWAL
Aditya W OstroskyFranceBernardo Dominic QUALIFIED
Aditya K DoeIndiaOnyama Limba NEGOTIATION
Munro W GlickGermanyIvan Magalhaes RENEWAL
Alejandro Q InouyeGermanyBernardo Dominic RENEWAL
Greenwood C PaprockiUnited KingdomAnna Fali RENEWAL
Jefferson J NestleRussiaElwin Sharvill PROPOSAL
Mayumi D IturbideRussiaElwin Sharvill NEGOTIATION
Misaki D RulapaughCanadaAsiya Javayant RENEWAL
Aruna W GauchoAustraliaAmy Elsner QUALIFIED
Chavez U DilliardItalyIvan Magalhaes PROPOSAL
Juan H WaycottCanadaBernardo Dominic RENEWAL
Kaitlin B OldroydItalyIoni Bowcher PROPOSAL
Tony N DoeJapanElwin Sharvill UNQUALIFIED
Jeanfrancois Q MacleadGermanyXuxue Feng PROPOSAL
Clifford A SergiSpainXuxue Feng RENEWAL
Rodrigues G GarufiIndiaIvan Magalhaes PROPOSAL
Ivar M MaletAustraliaIvan Magalhaes NEW
Rodrigues T SaylorsAustraliaBernardo Dominic NEW
Aditya E FlosiArgentinaAnna Fali QUALIFIED
Mujtaba C TollnerBrazilStephen Shaw UNQUALIFIED
Ricardo O AlbaresArgentinaElwin Sharvill NEW
Julie Q GauchoItalyElwin Sharvill UNQUALIFIED
Leja A GlickIndiaBernardo Dominic QUALIFIED
Faith Q PoquetteJapanElwin Sharvill QUALIFIED
Aruna M BriddickGermanyIoni Bowcher NEW
Antonio Q StockhamAustraliaAmy Elsner NEW
Cody V PerinJapanXuxue Feng NEW
Sinclair J GauchoArgentinaIvan Magalhaes NEGOTIATION
Emily W OstroskyGermanyStephen Shaw UNQUALIFIED
Johnson X FerenczGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem J AlbaresGermanyIoni Bowcher QUALIFIED
Sinclair T FlosiFranceOnyama Limba PROPOSAL
Aruna U WaycottFranceElwin Sharvill NEW
Sinclair O CaldareraJapanOnyama Limba QUALIFIED
Francesco R IturbideFranceIvan Magalhaes RENEWAL
Izzy M CampainAustraliaAnna Fali RENEWAL
James U WieserCanadaElwin Sharvill UNQUALIFIED
Chavez E WhobreyCanadaBernardo Dominic UNQUALIFIED
Darci R CampainFranceIvan Magalhaes QUALIFIED
Juan R DarakjyJapanAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo J RimSpain2026-09-10Chanay, Jeffrey A Esq QUALIFIED36Anna Fali
1001Chavez N DilliardIndia2026-08-21Feiner Bros NEW59Stephen Shaw
1002Johnson H KuskoAustralia2026-08-30Chemel, James L Cpa UNQUALIFIED7Stephen Shaw
1003Misaki R WhobreyBrazil2026-08-26Buckley Miller Wright QUALIFIED78Ioni Bowcher
1004Ashley L CaldareraBrazil2026-08-20Feltz Printing Service PROPOSAL22Amy Elsner
1005Maisha T OstroskyBrazil2026-09-17Benton, John B Jr NEGOTIATION83Ivan Magalhaes
1006Emily Q IturbideGermany2026-09-01Feiner Bros NEGOTIATION54Onyama Limba
1007Chavez T VenereBrazil2026-08-30Benton, John B Jr NEGOTIATION98Ivan Magalhaes
1008Adams S ShinkoSpain2026-08-28Rangoni Of Florence QUALIFIED31Ioni Bowcher
1009Sinclair Q KolmetzGermany2026-09-15Feltz Printing Service UNQUALIFIED26Asiya Javayant
1010Aika E WhobreyIndia2026-08-25Truhlar And Truhlar Attys PROPOSAL51Elwin Sharvill
1011Claire H WieserGermany2026-08-27Feltz Printing Service NEW92Amy Elsner
1012Tony F GarufiCanada2026-09-06Benton, John B Jr QUALIFIED18Xuxue Feng
1013Izzy H WaycottFrance2026-09-16Chanay, Jeffrey A Esq RENEWAL6Stephen Shaw
1014Aruna Z CaldareraFrance2026-08-31Chapman, Ross E Esq UNQUALIFIED56Amy Elsner
1015Nicolas K PerinIndia2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED74Stephen Shaw
1016Tony H NestleBrazil2026-08-22Buckley Miller Wright UNQUALIFIED2Stephen Shaw
1017Mayumi I MorascaJapan2026-09-15Commercial Press QUALIFIED43Amy Elsner
1018Jennifer T MacleadArgentina2026-08-25Benton, John B Jr RENEWAL20Xuxue Feng
1019Johnson M FigeroaArgentina2026-09-11Feltz Printing Service PROPOSAL89Ioni Bowcher
1020Mujtaba L PoquetteRussia2026-08-28Feiner Bros NEGOTIATION54Xuxue Feng
1021Jefferson L KolmetzSpain2026-09-02Chemel, James L Cpa NEW78Stephen Shaw
1022Francesco H VenereCanada2026-09-10Feltz Printing Service QUALIFIED36Elwin Sharvill
1023Nicolas B GauchoCanada2026-08-26Chapman, Ross E Esq NEW74Asiya Javayant
1024Murillo L PerinUnited Kingdom2026-08-20Rousseaux, Michael Esq NEW46Stephen Shaw
1025Morrow B KolmetzUnited Kingdom2026-09-05Dorl, James J Esq PROPOSAL58Anna Fali
1026Murillo Z FerenczGermany2026-09-11Printing Dimensions UNQUALIFIED20Anna Fali
1027Ivar L ShinkoArgentina2026-09-17Printing Dimensions PROPOSAL61Elwin Sharvill
1028Aika V FerenczJapan2026-08-31Feiner Bros UNQUALIFIED14Asiya Javayant
1029Emily E SchemmerCanada2026-08-23Buckley Miller Wright NEW54Onyama Limba
1030Kaitlin D RulapaughIndia2026-09-17Feiner Bros QUALIFIED60Onyama Limba
1031Leon R GarufiJapan2026-08-30Feltz Printing Service QUALIFIED80Onyama Limba
1032Kadeem M RoysterBrazil2026-09-14Chanay, Jeffrey A Esq NEGOTIATION16Asiya Javayant
1033Stacey O MaletSpain2026-08-30Printing Dimensions QUALIFIED75Asiya Javayant
1034Salvatore K PoquetteArgentina2026-08-22Rousseaux, Michael Esq QUALIFIED94Amy Elsner
1035Ivar M WhobreyUnited Kingdom2026-08-19Feiner Bros RENEWAL79Amy Elsner
1036Antonio K FlosiAustralia2026-09-02Feltz Printing Service NEW7Asiya Javayant
1037Deepesh Q DoeIndia2026-09-04Commercial Press NEGOTIATION18Xuxue Feng
1038Jefferson B AlbaresFrance2026-09-11Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1039Faith L AlbaresCanada2026-09-01Benton, John B Jr NEW98Bernardo Dominic
1040Sinclair K FigeroaJapan2026-08-30Printing Dimensions RENEWAL1Stephen Shaw
1041Ashley D WhobreyCanada2026-09-15Chanay, Jeffrey A Esq QUALIFIED93Elwin Sharvill
1042Leja P WhobreyIndia2026-09-07Printing Dimensions QUALIFIED8Bernardo Dominic
1043Adams O KolmetzSpain2026-08-22Benton, John B Jr NEGOTIATION1Bernardo Dominic
1044Smith O TollnerArgentina2026-09-04Buckley Miller Wright RENEWAL66Onyama Limba
1045Emily D BriddickBrazil2026-08-24Feltz Printing Service RENEWAL66Xuxue Feng
1046Clifford Q CaudyBrazil2026-09-06Feltz Printing Service RENEWAL0Stephen Shaw
1047Stacey J WaycottArgentina2026-09-05Chapman, Ross E Esq QUALIFIED49Anna Fali
1048Alejandro F ShinkoIndia2026-08-25Rangoni Of Florence NEW54Onyama Limba
1049Arvin X WaycottIndia2026-09-15Chapman, Ross E Esq UNQUALIFIED3Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon O FerenczArgentinaStephen Shaw UNQUALIFIED
Aditya T AlbaresJapanStephen Shaw NEW
Arvin F KuskoJapanAmy Elsner QUALIFIED
Jeanfrancois P FollerItalyStephen Shaw PROPOSAL
Juan F MorascaCanadaXuxue Feng PROPOSAL
Smith L ShinkoIndiaBernardo Dominic QUALIFIED
James H SchemmerJapanIoni Bowcher QUALIFIED
Faith C NickaGermanyAnna Fali QUALIFIED
Francesco Q PaprockiItalyAsiya Javayant NEW
Antonio P SergiFranceAnna Fali PROPOSAL
Isabel L BowleyBrazilElwin Sharvill NEGOTIATION
Ashley Q MaletItalyBernardo Dominic QUALIFIED
Cody K WieserGermanyAmy Elsner RENEWAL
Silvio U BriddickCanadaIvan Magalhaes NEW
Darci M BowleyCanadaIvan Magalhaes NEW
Aditya K StensethSpainBernardo Dominic NEW
David I CampainUnited KingdomStephen Shaw QUALIFIED
Salvatore B WieserGermanyOnyama Limba PROPOSAL
Murillo N BologniaGermanyIoni Bowcher PROPOSAL
Mayumi X FerenczGermanyAsiya Javayant NEW
Leon P RimRussiaStephen Shaw UNQUALIFIED
Mujtaba A IturbideCanadaElwin Sharvill NEGOTIATION
Adams B FigeroaCanadaElwin Sharvill PROPOSAL
Salvatore Y PaprockiFranceXuxue Feng NEGOTIATION
Darci A CampainGermanyAnna Fali RENEWAL
Aika Z BowleyCanadaOnyama Limba QUALIFIED
Francesco C StensethIndiaAsiya Javayant QUALIFIED
Francesco M GillianUnited KingdomStephen Shaw NEW
Misaki Q PerinCanadaOnyama Limba NEW
Juan K SchemmerRussiaOnyama Limba UNQUALIFIED
Sinclair V SaylorsIndiaOnyama Limba NEGOTIATION
James V SaylorsGermanyAmy Elsner NEW
Maisha Y KolmetzSpainElwin Sharvill QUALIFIED
Aika V CaudyJapanIvan Magalhaes PROPOSAL
Misaki I SchemmerSpainAmy Elsner RENEWAL
Leon I StensethSpainOnyama Limba RENEWAL
Kadeem G RutaRussiaElwin Sharvill NEGOTIATION
Deepesh B GlickRussiaAsiya Javayant NEW
Smith Q WaycottItalyIoni Bowcher QUALIFIED
Ricardo V DoeGermanyAsiya Javayant NEGOTIATION
Stacey J AmigonIndiaIoni Bowcher UNQUALIFIED
Greenwood A PerinIndiaAmy Elsner NEGOTIATION
Stacey I VenereFranceStephen Shaw QUALIFIED
Kaitlin W StensethIndiaElwin Sharvill QUALIFIED
Aika T ButtJapanXuxue Feng RENEWAL
Deepesh O ButtBrazilAsiya Javayant NEW
Jefferson N AlbaresFranceXuxue Feng UNQUALIFIED
Deepesh H BowleyGermanyAsiya Javayant UNQUALIFIED
Darci Y TollnerFranceAnna Fali UNQUALIFIED
Arvin Y FlosiGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Misaki T Rulapaugh
Izzy K Sergi
Ivar V Briddick
Salvatore G Whobrey
Kadeem C Iturbide
David X Garufi
Stacey O Butt
Claire P Perin
Morrow Z Saylors
Aruna K Royster
Salvatore K Malet
David Q Albares
Wickens A Rim
Adams N Darakjy
Mayumi F Iturbide
Mayumi K Tollner
Clifford O Poquette
Silvio P Ruta
Stacey T Stenseth
Jones O Foller
Jeanfrancois G Malet
Maisha W Ostrosky
Misaki N Glick
Antonio Z Malet
Alejandro Q Malet
Octavia Q Royster
Kadeem W Doe
Aruna E Kolmetz
Kadeem J Marrier
Izzy Q Stockham
Emily T Briddick
Stacey P Gaucho
Chavez C Doe
Leja A Royster
Octavia T Stockham
Jennifer S Briddick
Wickens F Marrier
Izzy S Butt
Leon V Doe
Costa F Iturbide
Munro R Foller
Cody J Gaucho
Mayumi Y Vocelka
Deepesh W Glick
Aditya C Perin
Chavez T Sergi
Antonio B Campain
Julie N Glick
Mujtaba G Albares
Salvatore R Venere
IdCountryDate
1000Brazil2026-09-03
1001Italy2026-09-03
1002Australia2026-09-14
1003Brazil2026-09-11
1004United Kingdom2026-09-02
1005India2026-08-27
1006Germany2026-08-23
1007Germany2026-09-13
1008Spain2026-09-05
1009Canada2026-09-07
1010France2026-09-10
1011Japan2026-08-26
1012Japan2026-09-02
1013Argentina2026-09-08
1014Russia2026-09-14
1015France2026-09-02
1016Australia2026-09-02
1017India2026-09-14
1018Japan2026-08-31
1019Russia2026-08-21
1020Argentina2026-08-20
1021United Kingdom2026-09-17
1022France2026-08-30
1023Argentina2026-09-11
1024Canada2026-09-12
1025Brazil2026-09-02
1026Argentina2026-09-13
1027Brazil2026-09-07
1028Russia2026-08-20
1029Argentina2026-09-09
1030Italy2026-09-06
1031Russia2026-09-01
1032Italy2026-09-14
1033Spain2026-08-25
1034Canada2026-08-23
1035Germany2026-08-31
1036Canada2026-08-28
1037Australia2026-09-12
1038Argentina2026-08-22
1039Spain2026-08-26
1040Spain2026-09-04
1041India2026-09-10
1042India2026-09-03
1043Japan2026-09-12
1044Argentina2026-09-10
1045India2026-09-04
1046France2026-08-24
1047Italy2026-09-10
1048Canada2026-08-27
1049Canada2026-09-07

On-Demand Data

NameIdCountryDate
Kadeem T Stockham1000United Kingdom2026-09-08
Ivar V Nestle1001India2026-08-22
Jennifer P Nestle1002Russia2026-09-07
Emily R Bolognia1003Japan2026-08-27
Ashley X Tollner1004Japan2026-08-29
Aditya O Darakjy1005Italy2026-09-03
Jones G Perin1006Spain2026-09-17
Ashley C Maclead1007Canada2026-09-16
Isabel M Dilliard1008France2026-09-12
Mayumi B Schemmer1009Germany2026-09-02
Leja B Waycott1010Japan2026-09-13
Leja U Albares1011Russia2026-09-03
Kaitlin M Bowley1012Russia2026-09-04
Rodrigues O Ostrosky1013Australia2026-08-20
Cody A Maclead1014Australia2026-09-13
David Z Iturbide1015Japan2026-09-08
Emily D Campain1016Spain2026-09-06
Kaitlin T Morasca1017Australia2026-08-30
Adams N Sergi1018Canada2026-09-02
Ricardo H Malet1019Japan2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood V CaldareraSpainElwin Sharvill RENEWAL
Misaki Y MorascaGermanyBernardo Dominic NEW
Maria S InouyeItalyElwin Sharvill QUALIFIED
Greenwood V CaudyFranceElwin Sharvill NEW
Tony A CampainJapanAsiya Javayant QUALIFIED
Octavia B FlosiArgentinaAmy Elsner RENEWAL
Stacey S PaprockiBrazilBernardo Dominic NEW
Aika W AlbaresIndiaAnna Fali RENEWAL
Sinclair V SchemmerSpainAmy Elsner QUALIFIED
Aruna E StensethFranceAmy Elsner NEGOTIATION
Rodrigues S MarrierCanadaBernardo Dominic UNQUALIFIED
Ashley V MacleadIndiaIoni Bowcher NEW
Costa Y AlbaresIndiaIvan Magalhaes QUALIFIED
Wickens B NickaUnited KingdomAsiya Javayant PROPOSAL
Aruna W ChuiSpainXuxue Feng NEGOTIATION
Octavia W StockhamArgentinaAmy Elsner RENEWAL
Mujtaba O SchemmerItalyBernardo Dominic QUALIFIED
Murillo S MarrierIndiaAmy Elsner PROPOSAL
Kadeem E StockhamJapanAsiya Javayant UNQUALIFIED
Aika J GillianJapanIvan Magalhaes PROPOSAL
Tony L StockhamFranceStephen Shaw NEW
Adams O ShinkoBrazilAmy Elsner QUALIFIED
Jefferson R BriddickGermanyAsiya Javayant NEW
Aruna H CampainCanadaBernardo Dominic NEGOTIATION
Kaitlin C MaletUnited KingdomXuxue Feng NEGOTIATION
Alejandro N DoeJapanStephen Shaw PROPOSAL
Murillo A StensethFranceAmy Elsner UNQUALIFIED
Morrow X TollnerJapanStephen Shaw UNQUALIFIED
Ricardo C VenereJapanStephen Shaw UNQUALIFIED
Aruna B VenereArgentinaIvan Magalhaes UNQUALIFIED
Izzy S RoysterItalyIvan Magalhaes RENEWAL
Cody F NestleFranceStephen Shaw RENEWAL
Izzy Z ButtAustraliaElwin Sharvill RENEWAL
Jennifer B MaletRussiaStephen Shaw PROPOSAL
James N SergiRussiaBernardo Dominic PROPOSAL
Costa U GarufiCanadaOnyama Limba NEW
Deepesh D BologniaCanadaAmy Elsner QUALIFIED
Chavez T CaudyRussiaBernardo Dominic NEW
Jefferson O InouyeRussiaIoni Bowcher PROPOSAL
Salvatore E AmigonCanadaAsiya Javayant 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>