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
Maria T SlusarskiItalyOnyama Limba UNQUALIFIED
Francesco P VocelkaRussiaOnyama Limba QUALIFIED
Deepesh G ShinkoArgentinaAmy Elsner QUALIFIED
Munro V BowleyAustraliaXuxue Feng RENEWAL
Aditya F SergiFranceAsiya Javayant UNQUALIFIED
Sinclair S WhobreyFranceElwin Sharvill PROPOSAL
Munro Q SaylorsJapanIoni Bowcher NEGOTIATION
Rodrigues U GillianArgentinaBernardo Dominic NEGOTIATION
Salvatore T WaycottFranceElwin Sharvill NEGOTIATION
Jones T OldroydItalyElwin Sharvill PROPOSAL
Stacey N NickaRussiaAmy Elsner PROPOSAL
Adams D WhobreyRussiaOnyama Limba QUALIFIED
Jennifer S WhobreyArgentinaStephen Shaw NEGOTIATION
Clifford P TollnerRussiaBernardo Dominic NEGOTIATION
Darci T FerenczIndiaXuxue Feng RENEWAL
Antonio E RoysterBrazilStephen Shaw NEGOTIATION
Aditya H WaycottCanadaOnyama Limba PROPOSAL
Julie I MarrierSpainIoni Bowcher QUALIFIED
Chavez A CaldareraArgentinaStephen Shaw NEW
Wickens F FlosiGermanyAsiya Javayant UNQUALIFIED
Kaitlin K ChuiItalyAnna Fali NEGOTIATION
Ivar Q BologniaItalyAnna Fali QUALIFIED
Kaitlin C MacleadAustraliaAsiya Javayant PROPOSAL
Silvio Z PaprockiUnited KingdomOnyama Limba NEGOTIATION
Morrow D MaletUnited KingdomAsiya Javayant NEGOTIATION
Greenwood U GarufiCanadaAmy Elsner NEW
Claire P RimAustraliaAnna Fali NEW
Cody V WhobreyAustraliaOnyama Limba QUALIFIED
Greenwood Z SergiCanadaAnna Fali QUALIFIED
Juan T TollnerGermanyElwin Sharvill NEGOTIATION
Adams Z FerenczIndiaXuxue Feng QUALIFIED
Johnson Z WhobreyGermanyIvan Magalhaes NEW
Greenwood X SaylorsBrazilIoni Bowcher NEGOTIATION
Jones Q KuskoSpainIoni Bowcher PROPOSAL
Faith A CaudyRussiaIoni Bowcher UNQUALIFIED
Octavia C KolmetzArgentinaIvan Magalhaes QUALIFIED
Kadeem K MaletItalyAsiya Javayant NEW
Aika O CaudyUnited KingdomAnna Fali RENEWAL
Wickens F BologniaUnited KingdomIoni Bowcher RENEWAL
Claire W SlusarskiGermanyIoni Bowcher RENEWAL
Jones H WaycottGermanyStephen Shaw PROPOSAL
Nicolas I GillianBrazilAnna Fali NEW
Tony Y RoysterJapanAmy Elsner PROPOSAL
Morrow T PaprockiBrazilIvan Magalhaes NEW
Maria M FigeroaItalyAmy Elsner RENEWAL
Rodrigues L KuskoArgentinaOnyama Limba RENEWAL
Juan Z StockhamRussiaStephen Shaw NEW
Murillo T MorascaIndiaXuxue Feng NEW
Johnson Q DilliardItalyAsiya Javayant PROPOSAL
Stacey W PoquetteJapanBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon X OstroskyFranceAsiya Javayant RENEWAL
Murillo F GauchoJapanAsiya Javayant QUALIFIED
Antonio K NestleBrazilXuxue Feng NEW
Clifford B KolmetzRussiaXuxue Feng RENEWAL
Antonio Z AmigonArgentinaAnna Fali QUALIFIED
Jennifer C RoysterGermanyStephen Shaw NEGOTIATION
Silvio L SlusarskiFranceAmy Elsner UNQUALIFIED
Ashley F DilliardJapanBernardo Dominic NEW
Izzy R SaylorsUnited KingdomOnyama Limba UNQUALIFIED
Silvio D DilliardCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna F WhobreyIndia2026-10-30Buckley Miller Wright QUALIFIED56Elwin Sharvill
1001Isabel B StockhamBrazil2026-11-02Commercial Press PROPOSAL45Xuxue Feng
1002Aditya N MorascaJapan2026-10-22Benton, John B Jr QUALIFIED65Bernardo Dominic
1003Maria Q RoysterIndia2026-11-12Dorl, James J Esq RENEWAL60Asiya Javayant
1004Mujtaba L SergiRussia2026-10-27Morlong Associates PROPOSAL47Stephen Shaw
1005Julie M InouyeCanada2026-11-08Chemel, James L Cpa QUALIFIED3Ivan Magalhaes
1006Claire L MarrierBrazil2026-11-07Feiner Bros QUALIFIED6Xuxue Feng
1007Ashley C MaletIndia2026-10-15Rangoni Of Florence NEW81Xuxue Feng
1008Adams E StensethFrance2026-11-07Chapman, Ross E Esq UNQUALIFIED38Anna Fali
1009James T IturbideSpain2026-11-13Feiner Bros RENEWAL72Xuxue Feng
1010James Y MaletItaly2026-11-05Feiner Bros QUALIFIED79Asiya Javayant
1011David U RulapaughAustralia2026-10-25Chanay, Jeffrey A Esq NEW1Asiya Javayant
1012Wickens V VenereBrazil2026-11-02Commercial Press PROPOSAL44Xuxue Feng
1013Leja W FlosiIndia2026-10-28Morlong Associates PROPOSAL9Elwin Sharvill
1014Mayumi D SlusarskiFrance2026-11-10Rousseaux, Michael Esq PROPOSAL15Asiya Javayant
1015Nicolas U GlickBrazil2026-10-28Chanay, Jeffrey A Esq NEGOTIATION21Bernardo Dominic
1016Aditya C OstroskyJapan2026-11-08Feiner Bros RENEWAL48Onyama Limba
1017Jeanfrancois H FollerUnited Kingdom2026-11-02Chanay, Jeffrey A Esq NEGOTIATION31Bernardo Dominic
1018Ivar B OldroydCanada2026-10-18Benton, John B Jr PROPOSAL34Ivan Magalhaes
1019Jeanfrancois Z SchemmerArgentina2026-11-03Dorl, James J Esq NEW88Onyama Limba
1020Kadeem K DilliardFrance2026-10-19Rangoni Of Florence RENEWAL33Bernardo Dominic
1021Costa V GarufiBrazil2026-10-26Feltz Printing Service QUALIFIED35Elwin Sharvill
1022Izzy O SchemmerFrance2026-10-24Chemel, James L Cpa NEW14Ivan Magalhaes
1023Salvatore K CaldareraIndia2026-11-07Printing Dimensions NEGOTIATION29Bernardo Dominic
1024Greenwood D StockhamIndia2026-11-09Feltz Printing Service UNQUALIFIED84Asiya Javayant
1025Maria Q BologniaRussia2026-10-15Truhlar And Truhlar Attys NEW70Stephen Shaw
1026Murillo E NickaAustralia2026-11-13Truhlar And Truhlar Attys PROPOSAL87Stephen Shaw
1027Francesco D NestleJapan2026-10-19Truhlar And Truhlar Attys NEW36Amy Elsner
1028Aditya A ShinkoGermany2026-10-28Truhlar And Truhlar Attys NEGOTIATION0Asiya Javayant
1029Octavia Z GauchoJapan2026-11-02Chemel, James L Cpa QUALIFIED50Onyama Limba
1030Johnson J BowleyIndia2026-11-11Rousseaux, Michael Esq NEGOTIATION30Amy Elsner
1031Antonio Z CampainCanada2026-10-16King, Christopher A Esq NEW35Asiya Javayant
1032Wickens U OldroydJapan2026-10-27Chapman, Ross E Esq NEW11Stephen Shaw
1033Chavez O OldroydFrance2026-11-10Truhlar And Truhlar Attys PROPOSAL83Ivan Magalhaes
1034Isabel H FlosiAustralia2026-10-16Buckley Miller Wright NEW77Xuxue Feng
1035Munro X AlbaresSpain2026-10-17Truhlar And Truhlar Attys RENEWAL51Bernardo Dominic
1036Antonio O SlusarskiSpain2026-11-08Benton, John B Jr NEGOTIATION47Elwin Sharvill
1037James U RoysterRussia2026-10-25Buckley Miller Wright RENEWAL78Onyama Limba
1038James A WaycottGermany2026-11-10Rangoni Of Florence NEW95Onyama Limba
1039James X SergiFrance2026-10-17Dorl, James J Esq UNQUALIFIED17Elwin Sharvill
1040Mujtaba D PoquetteRussia2026-10-17Feltz Printing Service UNQUALIFIED59Stephen Shaw
1041Emily F FlosiFrance2026-11-05Feltz Printing Service PROPOSAL65Ivan Magalhaes
1042Wickens I WhobreyAustralia2026-10-28Buckley Miller Wright PROPOSAL11Onyama Limba
1043Munro M DarakjyJapan2026-10-29Rousseaux, Michael Esq QUALIFIED30Asiya Javayant
1044Ricardo M InouyeJapan2026-11-09Feltz Printing Service PROPOSAL76Anna Fali
1045Ricardo L RulapaughItaly2026-11-03Printing Dimensions NEW10Ioni Bowcher
1046Jeanfrancois U MorascaIndia2026-10-15Benton, John B Jr NEW28Anna Fali
1047Francesco V FlosiUnited Kingdom2026-10-15Dorl, James J Esq NEGOTIATION52Amy Elsner
1048Salvatore D MacleadArgentina2026-11-05Feiner Bros PROPOSAL2Onyama Limba
1049Misaki K NickaUnited Kingdom2026-10-31Printing Dimensions UNQUALIFIED7Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams R NestleItalyBernardo Dominic PROPOSAL
Wickens O FigeroaBrazilAnna Fali QUALIFIED
James T CampainFranceBernardo Dominic QUALIFIED
Sinclair H PaprockiFranceIoni Bowcher UNQUALIFIED
James Y SlusarskiAustraliaOnyama Limba PROPOSAL
Mujtaba E BriddickRussiaOnyama Limba NEGOTIATION
David Q AmigonAustraliaIvan Magalhaes QUALIFIED
Silvio X WieserUnited KingdomStephen Shaw QUALIFIED
Jones H SaylorsJapanElwin Sharvill NEW
Nicolas E SaylorsUnited KingdomIoni Bowcher QUALIFIED
Stacey I KuskoFranceAmy Elsner NEGOTIATION
Maria U NickaCanadaIoni Bowcher NEW
Wickens S StockhamSpainBernardo Dominic NEGOTIATION
James B MacleadBrazilOnyama Limba UNQUALIFIED
Cody L CaudyArgentinaStephen Shaw NEGOTIATION
Maria O GlickArgentinaOnyama Limba QUALIFIED
Chavez G InouyeItalyOnyama Limba RENEWAL
Clifford F SaylorsGermanyAsiya Javayant NEGOTIATION
David L SergiFranceOnyama Limba QUALIFIED
Isabel Y OldroydIndiaAnna Fali RENEWAL
Stacey E StockhamSpainBernardo Dominic NEW
Aruna V TollnerJapanAmy Elsner QUALIFIED
Mayumi Z RulapaughSpainIvan Magalhaes NEGOTIATION
Leja Y VenereAustraliaAsiya Javayant RENEWAL
Mujtaba U PoquetteGermanyAsiya Javayant RENEWAL
Salvatore Z FlosiItalyAmy Elsner PROPOSAL
Maisha Q StensethBrazilStephen Shaw NEGOTIATION
Leja F NickaArgentinaOnyama Limba RENEWAL
Kaitlin E GillianArgentinaXuxue Feng NEW
Johnson Q AlbaresAustraliaOnyama Limba RENEWAL
Morrow W WaycottJapanStephen Shaw QUALIFIED
Claire B PoquetteAustraliaXuxue Feng QUALIFIED
Julie Z WaycottFranceIoni Bowcher NEW
David U RutaCanadaElwin Sharvill QUALIFIED
Adams L StockhamJapanElwin Sharvill UNQUALIFIED
Maria Y RoysterRussiaIoni Bowcher RENEWAL
Kaitlin W DarakjyCanadaOnyama Limba NEGOTIATION
Francesco O KuskoGermanyIvan Magalhaes UNQUALIFIED
Aditya X GarufiBrazilIoni Bowcher UNQUALIFIED
Chavez Y ChuiSpainIvan Magalhaes UNQUALIFIED
Wickens B OstroskyBrazilIvan Magalhaes RENEWAL
Tony G VenereItalyOnyama Limba NEW
Silvio Y FollerUnited KingdomIvan Magalhaes QUALIFIED
Jones D GlickUnited KingdomOnyama Limba QUALIFIED
Antonio E SergiFranceAsiya Javayant QUALIFIED
Leja A WaycottGermanyAsiya Javayant NEW
Emily N CampainGermanyIoni Bowcher RENEWAL
Aika C NestleBrazilAsiya Javayant QUALIFIED
Greenwood A StockhamGermanyElwin Sharvill PROPOSAL
Ivar J InouyeRussiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Maisha A Inouye
Chavez A Perin
Aditya T Nestle
Smith X Malet
Morrow Y Kolmetz
Kaitlin W Iturbide
Wickens J Darakjy
David F Slusarski
Arvin L Doe
Wickens X Gaucho
James C Vocelka
Murillo L Rulapaugh
Octavia B Wieser
Johnson X Ostrosky
Jennifer D Malet
Morrow C Waycott
Izzy P Waycott
Ashley A Vocelka
Maisha B Poquette
Ashley B Amigon
Darci E Wieser
Ivar M Iturbide
Jefferson Z Waycott
Rodrigues P Bowley
Aditya F Waycott
Aika P Dilliard
David G Foller
Leon R Albares
Aruna L Bowley
Silvio G Foller
Jones M Iturbide
Chavez V Poquette
Deepesh K Oldroyd
Tony P Albares
Rodrigues L Malet
Murillo W Caldarera
Leja W Malet
Leja S Dilliard
Munro T Rim
Leon Z Bowley
Faith E Saylors
Juan X Poquette
Octavia V Wieser
Faith Y Rulapaugh
Mayumi W Caldarera
Chavez N Poquette
Claire U Marrier
Smith I Stockham
Stacey Y Kusko
Mayumi R Sergi
IdCountryDate
1000Australia2026-11-10
1001Germany2026-10-28
1002Argentina2026-10-20
1003Russia2026-11-08
1004United Kingdom2026-10-29
1005Argentina2026-10-17
1006India2026-10-23
1007India2026-10-15
1008Germany2026-10-19
1009France2026-11-12
1010Argentina2026-10-19
1011United Kingdom2026-10-31
1012Japan2026-10-25
1013India2026-10-15
1014Australia2026-10-23
1015Spain2026-10-22
1016Argentina2026-10-16
1017Canada2026-10-28
1018Australia2026-11-04
1019Spain2026-11-06
1020Argentina2026-10-25
1021India2026-11-08
1022Brazil2026-10-28
1023Italy2026-11-12
1024Italy2026-10-31
1025Japan2026-11-10
1026France2026-11-08
1027Russia2026-10-26
1028Germany2026-11-03
1029Australia2026-10-16
1030Japan2026-11-09
1031Australia2026-11-12
1032Argentina2026-10-22
1033France2026-10-31
1034Canada2026-10-29
1035United Kingdom2026-10-17
1036India2026-10-25
1037Australia2026-11-09
1038United Kingdom2026-11-10
1039Japan2026-10-17
1040Japan2026-11-10
1041Japan2026-10-27
1042Germany2026-10-31
1043United Kingdom2026-10-25
1044Japan2026-11-03
1045Russia2026-10-23
1046United Kingdom2026-10-16
1047Brazil2026-10-26
1048Russia2026-11-02
1049France2026-10-20

On-Demand Data

NameIdCountryDate
Ivar R Malet1000United Kingdom2026-11-01
James K Gillian1001Argentina2026-11-11
Leja G Doe1002Canada2026-10-25
Faith W Slusarski1003United Kingdom2026-10-30
Claire A Ruta1004India2026-11-08
Chavez T Albares1005Argentina2026-11-06
Clifford P Malet1006Spain2026-10-22
Tony E Paprocki1007Italy2026-10-31
David O Inouye1008Brazil2026-10-30
Maria D Inouye1009Spain2026-10-20
David V Rulapaugh1010Canada2026-11-08
Smith G Ostrosky1011France2026-10-18
Wickens K Glick1012Germany2026-10-27
James L Campain1013France2026-11-11
Kadeem H Ruta1014France2026-10-31
Chavez I Gaucho1015Italy2026-11-13
Aditya C Kolmetz1016Russia2026-10-25
Octavia A Tollner1017Canada2026-10-16
Ricardo R Maclead1018Germany2026-10-25
Smith Z Waycott1019Australia2026-11-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas W GauchoJapanXuxue Feng PROPOSAL
Silvio P GarufiJapanElwin Sharvill NEGOTIATION
David L ButtGermanyStephen Shaw QUALIFIED
Stacey B RutaItalyOnyama Limba QUALIFIED
Morrow R NickaIndiaOnyama Limba RENEWAL
Jones O WhobreyUnited KingdomAsiya Javayant PROPOSAL
Sinclair N CaldareraBrazilElwin Sharvill UNQUALIFIED
Jones V GauchoRussiaIvan Magalhaes NEW
Nicolas L VenereItalyStephen Shaw RENEWAL
Smith O SaylorsAustraliaAsiya Javayant NEW
Emily K CaldareraFranceOnyama Limba RENEWAL
Ivar V InouyeJapanAsiya Javayant PROPOSAL
Julie H MarrierBrazilOnyama Limba QUALIFIED
Tony L WhobreyItalyAmy Elsner NEW
Salvatore E StensethFranceElwin Sharvill NEW
Antonio G CaldareraGermanyOnyama Limba QUALIFIED
Costa Y DarakjySpainIvan Magalhaes UNQUALIFIED
Clifford L GauchoJapanIoni Bowcher PROPOSAL
Jeanfrancois G CaudyRussiaIoni Bowcher PROPOSAL
Claire A CampainSpainAnna Fali NEW
Alejandro N StockhamSpainIoni Bowcher PROPOSAL
Mujtaba C KuskoBrazilElwin Sharvill NEW
Sinclair I WhobreyBrazilStephen Shaw PROPOSAL
Nicolas W MarrierAustraliaStephen Shaw UNQUALIFIED
Isabel Y WaycottAustraliaElwin Sharvill NEGOTIATION
Adams Q RimItalyStephen Shaw QUALIFIED
Juan N PerinItalyAnna Fali NEW
Leon O GlickSpainStephen Shaw UNQUALIFIED
Jeanfrancois J MaletCanadaElwin Sharvill NEW
Isabel B ButtCanadaElwin Sharvill QUALIFIED
Claire D ShinkoArgentinaStephen Shaw UNQUALIFIED
Deepesh H ButtBrazilBernardo Dominic UNQUALIFIED
Ivar W NickaJapanElwin Sharvill UNQUALIFIED
Rodrigues J PerinSpainAmy Elsner NEW
Darci L KolmetzItalyAmy Elsner UNQUALIFIED
Tony V NickaArgentinaIvan Magalhaes QUALIFIED
Faith S OldroydBrazilXuxue Feng UNQUALIFIED
Kaitlin Y CaldareraBrazilIoni Bowcher QUALIFIED
Darci I NestleGermanyStephen Shaw PROPOSAL
Jones H DilliardItalyOnyama Limba 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>