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
Ricardo Y GlickAustraliaXuxue Feng NEW
Misaki I OldroydRussiaAsiya Javayant UNQUALIFIED
Costa W SlusarskiCanadaStephen Shaw NEGOTIATION
Stacey L GarufiArgentinaAmy Elsner PROPOSAL
Tony R PerinItalyXuxue Feng PROPOSAL
Stacey U CaudyIndiaStephen Shaw QUALIFIED
Deepesh V BowleyGermanyBernardo Dominic RENEWAL
Aruna T WieserItalyAsiya Javayant PROPOSAL
Julie B PerinUnited KingdomXuxue Feng UNQUALIFIED
Arvin D MacleadFranceIvan Magalhaes NEW
Jennifer A KolmetzJapanOnyama Limba PROPOSAL
Wickens L SlusarskiIndiaAsiya Javayant PROPOSAL
Emily C BowleyRussiaElwin Sharvill NEGOTIATION
Kaitlin R SaylorsSpainAsiya Javayant RENEWAL
Maisha L InouyeBrazilXuxue Feng NEGOTIATION
Claire Y MaletRussiaElwin Sharvill PROPOSAL
Claire K FigeroaGermanyAnna Fali QUALIFIED
Misaki Y BriddickArgentinaAmy Elsner QUALIFIED
Julie V ChuiIndiaAnna Fali NEGOTIATION
Juan O CaldareraJapanBernardo Dominic NEW
James J KuskoIndiaAsiya Javayant UNQUALIFIED
Leon C BologniaBrazilAnna Fali QUALIFIED
Adams J FlosiItalyAmy Elsner NEW
Munro M VenereAustraliaOnyama Limba UNQUALIFIED
Ricardo H MarrierSpainBernardo Dominic QUALIFIED
Misaki W StensethGermanyIoni Bowcher QUALIFIED
James J KolmetzCanadaIoni Bowcher QUALIFIED
Adams L RimAustraliaIoni Bowcher NEW
Alejandro N WieserItalyBernardo Dominic NEW
Ashley E RulapaughArgentinaAmy Elsner QUALIFIED
Leja V DoeAustraliaStephen Shaw QUALIFIED
Leon E PaprockiJapanStephen Shaw RENEWAL
Rodrigues S GauchoArgentinaXuxue Feng RENEWAL
Ashley K InouyeUnited KingdomIvan Magalhaes NEW
Arvin U GarufiAustraliaAmy Elsner QUALIFIED
Juan J RimJapanIoni Bowcher NEGOTIATION
Rodrigues A SchemmerRussiaAnna Fali NEW
Darci Y NestleIndiaXuxue Feng NEW
Wickens J RimIndiaOnyama Limba UNQUALIFIED
Clifford P CaldareraAustraliaBernardo Dominic RENEWAL
Claire G SlusarskiArgentinaXuxue Feng QUALIFIED
Leon E OstroskyFranceIvan Magalhaes QUALIFIED
Emily A StockhamAustraliaIvan Magalhaes UNQUALIFIED
Ricardo R PerinSpainIvan Magalhaes QUALIFIED
Maria G ButtFranceXuxue Feng PROPOSAL
Jones N DilliardGermanyAnna Fali RENEWAL
Maria Q GlickJapanElwin Sharvill QUALIFIED
Tony V SlusarskiIndiaXuxue Feng PROPOSAL
Nicolas K MaletGermanyAsiya Javayant UNQUALIFIED
Morrow U InouyeUnited KingdomIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Johnson F RoysterCanadaStephen Shaw PROPOSAL
Claire A OstroskyFranceStephen Shaw NEW
Kadeem Z MorascaAustraliaAnna Fali PROPOSAL
Munro N ShinkoIndiaBernardo Dominic NEGOTIATION
Murillo J GarufiUnited KingdomXuxue Feng NEW
James S GlickSpainIvan Magalhaes RENEWAL
Leon P VenereIndiaStephen Shaw UNQUALIFIED
Munro Y KuskoItalyIvan Magalhaes NEGOTIATION
Adams Q RimGermanyIoni Bowcher NEW
Murillo N SergiJapanOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia M PoquetteArgentina2026-11-04Chapman, Ross E Esq NEW52Amy Elsner
1001Salvatore V BowleyFrance2026-10-06Truhlar And Truhlar Attys UNQUALIFIED87Ioni Bowcher
1002Munro U FerenczFrance2026-10-06Dorl, James J Esq RENEWAL50Elwin Sharvill
1003Clifford X InouyeItaly2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED60Onyama Limba
1004Silvio W StockhamIndia2026-10-28Feltz Printing Service NEGOTIATION87Ioni Bowcher
1005Alejandro Y OstroskyCanada2026-10-10Feltz Printing Service PROPOSAL85Xuxue Feng
1006Rodrigues G FerenczAustralia2026-10-17Feltz Printing Service PROPOSAL84Bernardo Dominic
1007Munro W StockhamCanada2026-11-02Benton, John B Jr UNQUALIFIED87Elwin Sharvill
1008Munro I DarakjyUnited Kingdom2026-10-12Chapman, Ross E Esq RENEWAL57Ivan Magalhaes
1009Jeanfrancois F DoeBrazil2026-11-02Chanay, Jeffrey A Esq NEW69Bernardo Dominic
1010Claire U FollerSpain2026-10-17Rangoni Of Florence NEW48Stephen Shaw
1011Leja J MorascaSpain2026-10-10King, Christopher A Esq UNQUALIFIED61Onyama Limba
1012Jefferson O RimSpain2026-10-24Morlong Associates NEGOTIATION85Stephen Shaw
1013Antonio U KolmetzIndia2026-10-29Dorl, James J Esq QUALIFIED63Onyama Limba
1014David G FerenczCanada2026-10-24Truhlar And Truhlar Attys RENEWAL24Xuxue Feng
1015Munro S RoysterFrance2026-11-04Feltz Printing Service PROPOSAL0Asiya Javayant
1016Mayumi Q CampainItaly2026-10-07Buckley Miller Wright NEGOTIATION43Bernardo Dominic
1017Chavez K DilliardSpain2026-10-17Commercial Press NEW91Xuxue Feng
1018Darci O WieserRussia2026-10-15Benton, John B Jr PROPOSAL60Bernardo Dominic
1019Munro I AlbaresFrance2026-11-02King, Christopher A Esq PROPOSAL5Bernardo Dominic
1020Darci H SaylorsItaly2026-10-14Dorl, James J Esq UNQUALIFIED19Elwin Sharvill
1021Sinclair U AmigonUnited Kingdom2026-10-26Feltz Printing Service NEGOTIATION70Ivan Magalhaes
1022Clifford R CampainArgentina2026-11-04Feiner Bros NEGOTIATION67Anna Fali
1023Chavez A CaldareraJapan2026-10-29Morlong Associates QUALIFIED37Asiya Javayant
1024Darci D MaletRussia2026-10-30Chanay, Jeffrey A Esq NEW63Anna Fali
1025Jennifer T MacleadBrazil2026-10-19Benton, John B Jr NEGOTIATION13Ivan Magalhaes
1026Leon O RulapaughJapan2026-11-04Chemel, James L Cpa RENEWAL12Anna Fali
1027Leja P MaletBrazil2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED10Asiya Javayant
1028Kadeem X NickaItaly2026-11-04Benton, John B Jr RENEWAL5Bernardo Dominic
1029Kaitlin K SergiSpain2026-10-13Truhlar And Truhlar Attys NEW92Stephen Shaw
1030Mayumi P KolmetzJapan2026-10-15Truhlar And Truhlar Attys QUALIFIED63Ivan Magalhaes
1031Leja E OldroydJapan2026-10-12Printing Dimensions PROPOSAL79Ivan Magalhaes
1032Ricardo G GillianArgentina2026-10-19Rousseaux, Michael Esq RENEWAL78Ivan Magalhaes
1033Darci R WieserItaly2026-10-13Dorl, James J Esq PROPOSAL22Xuxue Feng
1034Morrow F RulapaughGermany2026-10-10Buckley Miller Wright UNQUALIFIED82Onyama Limba
1035Maria M StensethIndia2026-10-23Morlong Associates RENEWAL47Asiya Javayant
1036Kaitlin H BriddickRussia2026-10-10Morlong Associates RENEWAL35Bernardo Dominic
1037Arvin L GarufiIndia2026-10-23Benton, John B Jr NEGOTIATION27Xuxue Feng
1038James Z FollerCanada2026-10-18Rangoni Of Florence RENEWAL3Onyama Limba
1039Smith W SchemmerJapan2026-10-18Rangoni Of Florence QUALIFIED94Elwin Sharvill
1040Jefferson K ChuiUnited Kingdom2026-10-10Chapman, Ross E Esq NEGOTIATION76Amy Elsner
1041Octavia X WieserRussia2026-11-02Benton, John B Jr QUALIFIED68Ioni Bowcher
1042Octavia M OldroydItaly2026-10-12Buckley Miller Wright PROPOSAL98Xuxue Feng
1043Wickens D WhobreyIndia2026-10-24Commercial Press RENEWAL47Ioni Bowcher
1044Jefferson B PoquetteSpain2026-11-04Feiner Bros NEW84Asiya Javayant
1045Octavia C OstroskyIndia2026-10-28Feltz Printing Service RENEWAL82Ioni Bowcher
1046Kadeem A TollnerSpain2026-10-22Rousseaux, Michael Esq NEW61Bernardo Dominic
1047Antonio L GauchoFrance2026-10-12Commercial Press QUALIFIED8Bernardo Dominic
1048Murillo W PoquetteFrance2026-10-24Commercial Press QUALIFIED5Ivan Magalhaes
1049Jennifer X TollnerCanada2026-11-02Truhlar And Truhlar Attys NEW72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Cody Y DarakjyArgentinaStephen Shaw NEW
Munro K AlbaresIndiaElwin Sharvill UNQUALIFIED
Arvin I WhobreySpainStephen Shaw QUALIFIED
Octavia F MacleadUnited KingdomStephen Shaw UNQUALIFIED
Aditya T PerinItalyXuxue Feng PROPOSAL
Costa F InouyeArgentinaAsiya Javayant NEGOTIATION
Munro Q WaycottIndiaAsiya Javayant NEW
Octavia Y WieserUnited KingdomAsiya Javayant RENEWAL
Adams R RutaRussiaAsiya Javayant PROPOSAL
Juan O BowleyRussiaAnna Fali NEGOTIATION
Arvin X FollerBrazilElwin Sharvill UNQUALIFIED
James H KuskoAustraliaIvan Magalhaes NEGOTIATION
Rodrigues W RimSpainStephen Shaw QUALIFIED
Rodrigues T SchemmerAustraliaAsiya Javayant QUALIFIED
Ashley O RimFranceXuxue Feng NEGOTIATION
Morrow Q OstroskyUnited KingdomOnyama Limba NEW
Mujtaba C ChuiArgentinaStephen Shaw RENEWAL
Murillo Q AmigonJapanAmy Elsner UNQUALIFIED
Jeanfrancois Z BologniaItalyElwin Sharvill PROPOSAL
Kaitlin I GillianRussiaAmy Elsner PROPOSAL
Octavia W SlusarskiCanadaAnna Fali NEGOTIATION
Rodrigues C DilliardAustraliaAsiya Javayant RENEWAL
Juan U PaprockiUnited KingdomAnna Fali PROPOSAL
Emily X PoquetteIndiaBernardo Dominic NEGOTIATION
Cody R StensethFranceBernardo Dominic NEW
Misaki D StockhamCanadaXuxue Feng QUALIFIED
Leon Z FerenczJapanIoni Bowcher QUALIFIED
Salvatore K InouyeSpainIvan Magalhaes PROPOSAL
Nicolas H RoysterRussiaAmy Elsner QUALIFIED
Misaki X ChuiBrazilIoni Bowcher NEW
Adams C PoquetteGermanyOnyama Limba QUALIFIED
Kaitlin R FerenczArgentinaStephen Shaw NEW
Greenwood Y MorascaArgentinaAnna Fali PROPOSAL
Darci J CaldareraCanadaIvan Magalhaes QUALIFIED
Jennifer Z CampainAustraliaElwin Sharvill QUALIFIED
Aika X RutaCanadaAmy Elsner UNQUALIFIED
Mujtaba X FlosiCanadaAmy Elsner RENEWAL
Johnson S CaudyRussiaStephen Shaw NEGOTIATION
Jeanfrancois K TollnerSpainAsiya Javayant NEW
Silvio G DarakjyBrazilOnyama Limba NEW
David S KuskoAustraliaIoni Bowcher NEW
Aditya O MaletBrazilOnyama Limba QUALIFIED
Francesco E CaudyRussiaIoni Bowcher QUALIFIED
Antonio G SchemmerFranceAsiya Javayant RENEWAL
Francesco N SaylorsUnited KingdomStephen Shaw RENEWAL
Darci D GlickJapanAsiya Javayant QUALIFIED
Arvin H CampainCanadaAmy Elsner QUALIFIED
Darci Q GillianCanadaElwin Sharvill PROPOSAL
Costa I KuskoSpainOnyama Limba NEGOTIATION
Cody Y SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily E Shinko
Stacey E Maclead
Jefferson Y Iturbide
Salvatore V Sergi
Smith T Stockham
Munro O Perin
Antonio Q Darakjy
Tony V Bowley
Tony D Whobrey
Izzy A Nestle
Mujtaba Q Garufi
Claire I Malet
Darci Q Foller
Murillo S Vocelka
Izzy H Foller
Munro Y Slusarski
Mayumi J Shinko
Maria V Maclead
Faith Y Bolognia
Morrow C Marrier
Johnson S Flosi
David I Albares
Chavez E Stenseth
Jeanfrancois Q Nestle
Jennifer L Dilliard
Kaitlin M Malet
Aika Q Ruta
Clifford X Garufi
Munro U Maclead
Ivar F Caldarera
Kadeem Y Perin
Antonio O Schemmer
Stacey H Rulapaugh
Jones M Nestle
Leon K Kusko
Leja P Oldroyd
Adams H Ferencz
Adams B Paprocki
Sinclair X Glick
Ivar I Chui
Claire I Foller
Leon G Foller
Claire D Shinko
Julie G Iturbide
Salvatore U Malet
Claire U Campain
Mayumi B Venere
Jefferson E Flosi
Jeanfrancois B Gaucho
Faith C Morasca
IdCountryDate
1000France2026-10-27
1001Spain2026-10-08
1002France2026-10-17
1003Italy2026-11-01
1004France2026-11-03
1005Russia2026-10-31
1006France2026-10-13
1007Italy2026-11-03
1008Argentina2026-10-07
1009Argentina2026-10-06
1010Canada2026-10-23
1011Brazil2026-10-15
1012Italy2026-11-04
1013Spain2026-10-08
1014Russia2026-10-14
1015Germany2026-10-18
1016Russia2026-10-13
1017Italy2026-10-27
1018Australia2026-10-07
1019United Kingdom2026-10-16
1020Italy2026-10-28
1021Italy2026-10-30
1022Germany2026-10-30
1023Brazil2026-10-21
1024United Kingdom2026-10-06
1025Spain2026-11-04
1026United Kingdom2026-11-04
1027United Kingdom2026-10-27
1028Italy2026-10-12
1029Argentina2026-11-01
1030Germany2026-10-17
1031Brazil2026-10-06
1032Spain2026-10-15
1033Russia2026-10-22
1034France2026-10-11
1035United Kingdom2026-10-08
1036Russia2026-10-19
1037Australia2026-10-06
1038Spain2026-10-10
1039Germany2026-10-16
1040Australia2026-10-30
1041India2026-10-28
1042Canada2026-10-18
1043Brazil2026-10-17
1044Brazil2026-10-29
1045Brazil2026-10-21
1046Australia2026-10-09
1047Germany2026-10-15
1048France2026-10-22
1049Argentina2026-10-11

On-Demand Data

NameIdCountryDate
Cody Q Chui1000United Kingdom2026-10-22
Sinclair D Campain1001Spain2026-10-10
Leja K Malet1002Canada2026-10-14
Izzy F Shinko1003Germany2026-10-14
Alejandro K Stenseth1004France2026-10-30
Kaitlin C Sergi1005Italy2026-10-26
Salvatore C Kolmetz1006France2026-10-13
Salvatore P Ostrosky1007United Kingdom2026-10-07
Ivar Q Royster1008Spain2026-10-17
Ivar E Inouye1009Argentina2026-10-08
Darci Q Sergi1010Germany2026-10-09
Aika H Royster1011United Kingdom2026-10-29
Salvatore A Royster1012Brazil2026-10-24
Emily U Inouye1013Russia2026-10-30
Costa N Sergi1014Russia2026-10-18
Darci U Nestle1015Japan2026-11-03
Juan J Rim1016Argentina2026-10-10
Johnson N Malet1017Australia2026-10-30
Arvin U Poquette1018Australia2026-11-03
James C Shinko1019Brazil2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja E FigeroaSpainXuxue Feng NEW
Smith E DilliardArgentinaXuxue Feng PROPOSAL
Jones X MarrierFranceIoni Bowcher QUALIFIED
Ashley W DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio Z ButtBrazilAsiya Javayant RENEWAL
Darci P StockhamRussiaBernardo Dominic PROPOSAL
Kadeem L GarufiAustraliaAnna Fali RENEWAL
Claire T GillianArgentinaAsiya Javayant UNQUALIFIED
Maria X WaycottRussiaXuxue Feng NEGOTIATION
Rodrigues Y NestleBrazilXuxue Feng PROPOSAL
Deepesh H IturbideBrazilStephen Shaw NEW
Mayumi E SaylorsBrazilAnna Fali NEW
Leja T CampainJapanAnna Fali UNQUALIFIED
Isabel J IturbideAustraliaAmy Elsner PROPOSAL
Tony K WieserJapanXuxue Feng NEW
Juan K TollnerUnited KingdomBernardo Dominic NEGOTIATION
Murillo O PoquetteJapanIvan Magalhaes NEW
Stacey D MarrierCanadaIoni Bowcher RENEWAL
Cody M GlickUnited KingdomElwin Sharvill QUALIFIED
Maria Q BowleyFranceXuxue Feng NEW
Salvatore I TollnerCanadaAsiya Javayant UNQUALIFIED
Maria Q RimRussiaBernardo Dominic QUALIFIED
Morrow C BologniaSpainIoni Bowcher NEW
Juan O WieserGermanyIoni Bowcher QUALIFIED
Leon B VocelkaGermanyOnyama Limba NEW
Clifford H OldroydSpainAmy Elsner NEW
Cody F RoysterRussiaAmy Elsner UNQUALIFIED
Maisha X FerenczFranceBernardo Dominic NEW
Johnson B PerinBrazilIoni Bowcher QUALIFIED
Emily V StockhamAustraliaXuxue Feng PROPOSAL
Cody H KolmetzAustraliaBernardo Dominic NEW
Jennifer N RoysterItalyIvan Magalhaes QUALIFIED
Emily N PaprockiArgentinaElwin Sharvill PROPOSAL
Antonio Z GlickBrazilStephen Shaw RENEWAL
Costa Y KolmetzRussiaAmy Elsner UNQUALIFIED
Misaki F KolmetzIndiaIvan Magalhaes NEGOTIATION
Kadeem M NestleRussiaBernardo Dominic QUALIFIED
Leon K RutaBrazilStephen Shaw NEW
Salvatore F KuskoFranceXuxue Feng NEW
David R CampainBrazilAsiya Javayant 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>