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 H MacleadCanadaStephen Shaw UNQUALIFIED
Murillo X GillianGermanyElwin Sharvill QUALIFIED
Jones I DoeArgentinaElwin Sharvill RENEWAL
Kaitlin T StensethFranceAmy Elsner RENEWAL
Maisha C WieserArgentinaIvan Magalhaes PROPOSAL
Mayumi J MaletFranceIoni Bowcher NEW
Nicolas W KuskoJapanBernardo Dominic PROPOSAL
Aruna O RoysterArgentinaStephen Shaw RENEWAL
Aditya W WaycottCanadaStephen Shaw NEW
Faith G OstroskyGermanyXuxue Feng RENEWAL
Isabel J DarakjyJapanXuxue Feng NEW
Costa R DarakjyJapanIoni Bowcher RENEWAL
Wickens J FlosiGermanyOnyama Limba NEW
Deepesh Q BriddickIndiaAmy Elsner QUALIFIED
Darci E RoysterFranceAnna Fali PROPOSAL
Murillo X NestleIndiaIvan Magalhaes NEW
Misaki U CaldareraArgentinaAsiya Javayant UNQUALIFIED
Smith T MaletUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro T DilliardSpainAsiya Javayant QUALIFIED
Claire X MaletAustraliaBernardo Dominic UNQUALIFIED
Octavia S WhobreyBrazilAnna Fali NEGOTIATION
Mayumi Y RutaArgentinaOnyama Limba QUALIFIED
Francesco O AlbaresSpainStephen Shaw RENEWAL
Rodrigues R RulapaughIndiaStephen Shaw PROPOSAL
Chavez X SlusarskiArgentinaBernardo Dominic PROPOSAL
Mujtaba K CaudyBrazilAsiya Javayant RENEWAL
Clifford V VenereSpainElwin Sharvill RENEWAL
Aika O PaprockiBrazilAnna Fali PROPOSAL
Izzy H WieserGermanyAnna Fali UNQUALIFIED
Octavia W VenereArgentinaAmy Elsner NEGOTIATION
Arvin O GlickSpainAsiya Javayant UNQUALIFIED
Johnson U BologniaArgentinaAnna Fali RENEWAL
Maisha V KuskoGermanyStephen Shaw UNQUALIFIED
James Y BowleyJapanStephen Shaw PROPOSAL
Munro M WieserAustraliaBernardo Dominic QUALIFIED
Francesco E MorascaItalyOnyama Limba NEGOTIATION
Darci X WieserBrazilAnna Fali PROPOSAL
Antonio I WhobreyUnited KingdomXuxue Feng RENEWAL
Chavez S GillianArgentinaXuxue Feng NEGOTIATION
David Y ChuiArgentinaStephen Shaw PROPOSAL
Chavez I BologniaRussiaOnyama Limba QUALIFIED
Jeanfrancois Q FollerAustraliaXuxue Feng NEGOTIATION
Jennifer Q MaletUnited KingdomIvan Magalhaes RENEWAL
Mujtaba W WaycottIndiaElwin Sharvill UNQUALIFIED
Smith J RutaIndiaAmy Elsner QUALIFIED
Rodrigues I TollnerArgentinaOnyama Limba PROPOSAL
Maria K CaudyItalyIoni Bowcher NEW
Jeanfrancois R StockhamCanadaAnna Fali RENEWAL
Aditya L StensethAustraliaStephen Shaw UNQUALIFIED
Nicolas W RimSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez Q RimItalyIoni Bowcher NEGOTIATION
Emily H PerinItalyIoni Bowcher RENEWAL
Jeanfrancois K IturbideItalyAnna Fali NEW
Murillo V CampainAustraliaIoni Bowcher PROPOSAL
Chavez U RimBrazilIoni Bowcher PROPOSAL
Nicolas G WaycottRussiaStephen Shaw NEGOTIATION
Isabel J GlickAustraliaIvan Magalhaes PROPOSAL
Aditya P SchemmerSpainOnyama Limba UNQUALIFIED
Jeanfrancois F DoeIndiaAsiya Javayant NEGOTIATION
Leja Y GauchoGermanyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U MacleadItaly2026-10-13Printing Dimensions NEW46Elwin Sharvill
1001Costa R ButtUnited Kingdom2026-10-04Rousseaux, Michael Esq UNQUALIFIED50Anna Fali
1002Alejandro G OstroskyGermany2026-10-12King, Christopher A Esq QUALIFIED59Xuxue Feng
1003Salvatore J SaylorsFrance2026-09-27Dorl, James J Esq NEW34Elwin Sharvill
1004Leja S PaprockiRussia2026-10-14Feltz Printing Service UNQUALIFIED83Elwin Sharvill
1005Tony G CaudyCanada2026-09-29Chemel, James L Cpa NEGOTIATION40Xuxue Feng
1006Francesco I WaycottSpain2026-10-22Truhlar And Truhlar Attys QUALIFIED86Amy Elsner
1007Arvin U StockhamArgentina2026-09-25Morlong Associates PROPOSAL19Ivan Magalhaes
1008Maria S AmigonIndia2026-10-14King, Christopher A Esq RENEWAL25Anna Fali
1009Arvin H WaycottUnited Kingdom2026-10-13Dorl, James J Esq RENEWAL81Bernardo Dominic
1010Izzy P OstroskyFrance2026-10-02Rousseaux, Michael Esq RENEWAL60Xuxue Feng
1011James W StensethBrazil2026-10-23Morlong Associates QUALIFIED12Ivan Magalhaes
1012Maisha D ButtUnited Kingdom2026-10-09Chemel, James L Cpa UNQUALIFIED10Asiya Javayant
1013Deepesh U CaldareraJapan2026-10-16King, Christopher A Esq QUALIFIED56Stephen Shaw
1014Aditya D SergiFrance2026-10-20Benton, John B Jr UNQUALIFIED56Ioni Bowcher
1015Octavia H DilliardCanada2026-10-03Buckley Miller Wright NEGOTIATION29Ivan Magalhaes
1016Ashley C FollerAustralia2026-10-02Printing Dimensions RENEWAL37Xuxue Feng
1017Leon V GillianFrance2026-10-01Feltz Printing Service NEGOTIATION18Ioni Bowcher
1018Claire J WhobreyAustralia2026-10-19Rangoni Of Florence UNQUALIFIED53Xuxue Feng
1019Juan X RimArgentina2026-09-28Truhlar And Truhlar Attys NEW99Bernardo Dominic
1020Silvio R FerenczArgentina2026-10-21Chemel, James L Cpa QUALIFIED6Elwin Sharvill
1021Stacey N OldroydCanada2026-10-05Rangoni Of Florence QUALIFIED88Asiya Javayant
1022Mujtaba T StensethSpain2026-09-29Rousseaux, Michael Esq PROPOSAL33Xuxue Feng
1023Darci Z MorascaJapan2026-09-30Morlong Associates PROPOSAL45Elwin Sharvill
1024Deepesh H ShinkoAustralia2026-09-28Dorl, James J Esq PROPOSAL71Asiya Javayant
1025Ashley R FollerGermany2026-10-21Chemel, James L Cpa QUALIFIED51Amy Elsner
1026Izzy O PerinBrazil2026-10-06Benton, John B Jr NEGOTIATION22Onyama Limba
1027Silvio W NestleGermany2026-09-29Feiner Bros NEW33Stephen Shaw
1028Ricardo Y MorascaArgentina2026-09-30Commercial Press RENEWAL70Amy Elsner
1029Faith P CaldareraAustralia2026-09-28Buckley Miller Wright UNQUALIFIED97Stephen Shaw
1030Emily K FollerJapan2026-10-02Chemel, James L Cpa RENEWAL34Elwin Sharvill
1031Ashley K RimAustralia2026-10-07Printing Dimensions NEGOTIATION8Elwin Sharvill
1032Chavez R MacleadFrance2026-10-02Feltz Printing Service NEW82Ivan Magalhaes
1033Jones A PoquetteRussia2026-10-17Dorl, James J Esq UNQUALIFIED30Anna Fali
1034Isabel O MacleadRussia2026-10-15King, Christopher A Esq QUALIFIED1Ioni Bowcher
1035Cody F PaprockiRussia2026-09-24Chanay, Jeffrey A Esq QUALIFIED63Amy Elsner
1036Emily O StensethArgentina2026-09-28Chanay, Jeffrey A Esq RENEWAL71Elwin Sharvill
1037James J StensethItaly2026-10-17Rousseaux, Michael Esq PROPOSAL12Anna Fali
1038Maisha F OstroskyCanada2026-10-10Commercial Press PROPOSAL61Elwin Sharvill
1039Smith E FerenczCanada2026-09-24Benton, John B Jr NEW80Onyama Limba
1040Jefferson D MorascaUnited Kingdom2026-10-19Chemel, James L Cpa UNQUALIFIED16Ioni Bowcher
1041Stacey I NestleSpain2026-10-01Buckley Miller Wright RENEWAL57Stephen Shaw
1042Jones Q GlickJapan2026-09-27Chanay, Jeffrey A Esq NEW76Ioni Bowcher
1043Misaki P WieserAustralia2026-10-16Feiner Bros PROPOSAL69Ivan Magalhaes
1044Isabel T SergiRussia2026-10-03King, Christopher A Esq QUALIFIED83Xuxue Feng
1045Deepesh L PaprockiRussia2026-10-08Benton, John B Jr PROPOSAL44Anna Fali
1046Juan J StensethGermany2026-10-03Benton, John B Jr UNQUALIFIED12Bernardo Dominic
1047Munro I RutaBrazil2026-10-23Commercial Press UNQUALIFIED57Elwin Sharvill
1048David N VenereItaly2026-10-18Chemel, James L Cpa RENEWAL66Elwin Sharvill
1049Kaitlin M SchemmerCanada2026-09-27Commercial Press NEGOTIATION74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
James R WhobreyRussiaAnna Fali RENEWAL
Silvio E ButtRussiaAnna Fali UNQUALIFIED
Jones T GarufiArgentinaIoni Bowcher QUALIFIED
Jones S GauchoBrazilAmy Elsner NEGOTIATION
Ashley U KolmetzGermanyXuxue Feng NEW
Smith H InouyeSpainAnna Fali RENEWAL
Munro R FerenczCanadaAsiya Javayant NEW
Chavez C StockhamSpainBernardo Dominic RENEWAL
Juan Q ChuiJapanXuxue Feng NEW
Julie S PoquetteIndiaAnna Fali UNQUALIFIED
Izzy J MaletItalyAnna Fali QUALIFIED
Sinclair C BriddickFranceAmy Elsner RENEWAL
Jones K OldroydAustraliaXuxue Feng NEGOTIATION
Misaki K ButtIndiaStephen Shaw UNQUALIFIED
Arvin V RimSpainXuxue Feng RENEWAL
Murillo G GlickSpainStephen Shaw QUALIFIED
Octavia R CaudyCanadaOnyama Limba PROPOSAL
Deepesh F VenereUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin J RoysterItalyIvan Magalhaes UNQUALIFIED
Aika N SergiArgentinaIoni Bowcher NEGOTIATION
Maria T MarrierIndiaAnna Fali QUALIFIED
David R PerinItalyAmy Elsner QUALIFIED
Silvio B SaylorsUnited KingdomStephen Shaw NEW
Alejandro L GarufiGermanyXuxue Feng RENEWAL
Wickens P VocelkaUnited KingdomBernardo Dominic QUALIFIED
Stacey Q FlosiBrazilXuxue Feng PROPOSAL
Smith E ShinkoArgentinaAnna Fali UNQUALIFIED
Julie W RulapaughGermanyStephen Shaw NEW
Maisha F MaletSpainAmy Elsner NEGOTIATION
Arvin N GlickSpainOnyama Limba RENEWAL
Aditya Z ButtBrazilAsiya Javayant QUALIFIED
Leon D RimGermanyAmy Elsner NEGOTIATION
Isabel P FerenczJapanElwin Sharvill NEGOTIATION
Smith V DoeAustraliaIvan Magalhaes UNQUALIFIED
Smith N FollerJapanElwin Sharvill NEW
Misaki L MorascaRussiaIoni Bowcher NEW
Jeanfrancois P GarufiRussiaStephen Shaw QUALIFIED
Ricardo V PerinSpainAnna Fali QUALIFIED
Jones N KuskoGermanyOnyama Limba PROPOSAL
Rodrigues S DarakjyCanadaElwin Sharvill NEW
Salvatore B BologniaIndiaStephen Shaw RENEWAL
Jennifer K FollerJapanXuxue Feng PROPOSAL
Arvin Y SaylorsGermanyBernardo Dominic QUALIFIED
Nicolas O GlickRussiaIvan Magalhaes UNQUALIFIED
David T OldroydAustraliaIvan Magalhaes NEW
Izzy D SchemmerItalyXuxue Feng UNQUALIFIED
Deepesh U NestleUnited KingdomStephen Shaw RENEWAL
Aditya X FigeroaIndiaIoni Bowcher QUALIFIED
Alejandro R FigeroaIndiaIvan Magalhaes QUALIFIED
Izzy M PerinIndiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Stacey L Waycott
Leon H Kolmetz
Silvio K Bowley
Silvio F Glick
Maria N Amigon
Maisha C Garufi
Isabel D Amigon
Nicolas E Sergi
Deepesh T Malet
Arvin N Doe
Jefferson K Marrier
Maisha N Tollner
Misaki E Nicka
Deepesh V Royster
Adams T Wieser
Wickens R Ostrosky
Jeanfrancois J Butt
Clifford A Bowley
Kaitlin Z Caudy
Tony W Nestle
Johnson U Saylors
James R Perin
Darci V Inouye
Clifford I Foller
Izzy O Foller
Greenwood T Rim
Munro S Perin
Salvatore U Shinko
Juan H Figeroa
Tony R Paprocki
Johnson W Caudy
Rodrigues Y Darakjy
Salvatore M Stenseth
Izzy T Chui
Faith P Paprocki
James V Nicka
Aruna C Malet
Emily N Sergi
Deepesh Z Kolmetz
Cody M Campain
Juan A Nestle
Aika K Morasca
Ashley O Royster
Darci P Malet
Juan M Wieser
Aditya W Rulapaugh
Ivar F Vocelka
Maisha D Foller
Alejandro D Chui
Chavez S Kolmetz
IdCountryDate
1000India2026-10-22
1001Australia2026-10-21
1002Japan2026-10-12
1003Japan2026-09-24
1004Brazil2026-10-01
1005Germany2026-09-26
1006Canada2026-09-30
1007France2026-10-06
1008Japan2026-10-18
1009Argentina2026-10-02
1010Germany2026-09-29
1011Germany2026-10-03
1012Japan2026-10-03
1013Australia2026-10-23
1014India2026-10-16
1015Australia2026-10-06
1016Germany2026-09-28
1017Brazil2026-10-23
1018France2026-10-01
1019Argentina2026-10-01
1020India2026-09-24
1021Australia2026-10-18
1022Brazil2026-10-03
1023Argentina2026-09-26
1024Russia2026-10-11
1025Argentina2026-10-01
1026Australia2026-10-05
1027Japan2026-10-04
1028Japan2026-10-22
1029Brazil2026-10-04
1030Germany2026-10-08
1031Japan2026-09-26
1032Argentina2026-10-15
1033United Kingdom2026-10-21
1034Spain2026-10-04
1035India2026-10-20
1036Australia2026-10-09
1037United Kingdom2026-10-20
1038Japan2026-09-29
1039Russia2026-10-06
1040Brazil2026-09-29
1041Italy2026-10-12
1042Japan2026-10-14
1043India2026-10-07
1044France2026-10-19
1045Japan2026-10-13
1046France2026-10-13
1047France2026-10-03
1048Argentina2026-09-30
1049Australia2026-09-29

On-Demand Data

NameIdCountryDate
Munro X Albares1000France2026-10-12
James F Butt1001United Kingdom2026-10-04
Misaki Z Tollner1002Australia2026-10-15
Izzy A Flosi1003India2026-10-20
Darci X Stockham1004India2026-10-23
Isabel S Caldarera1005India2026-09-30
Ricardo F Doe1006Russia2026-10-17
Leja S Inouye1007Australia2026-10-16
Ricardo M Campain1008Argentina2026-10-13
Misaki Q Tollner1009United Kingdom2026-10-22
Leja F Wieser1010Canada2026-10-07
Wickens R Gaucho1011Germany2026-10-03
Jones A Caldarera1012Brazil2026-10-02
David K Rim1013Spain2026-10-18
Isabel D Ruta1014Russia2026-10-12
Darci I Wieser1015Canada2026-10-16
Mujtaba D Waycott1016Russia2026-09-30
Costa K Rulapaugh1017Germany2026-10-01
Alejandro Y Whobrey1018France2026-10-09
Clifford V Oldroyd1019France2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy T FlosiRussiaAmy Elsner NEGOTIATION
Aditya X SergiUnited KingdomElwin Sharvill NEW
Ivar K BriddickItalyIoni Bowcher RENEWAL
Chavez G PaprockiJapanStephen Shaw UNQUALIFIED
Morrow K MaletAustraliaStephen Shaw PROPOSAL
Leon C NickaSpainIvan Magalhaes UNQUALIFIED
Morrow U AlbaresCanadaIvan Magalhaes RENEWAL
Misaki I BriddickItalyBernardo Dominic UNQUALIFIED
Maria G MaletItalyAmy Elsner QUALIFIED
Costa Z WaycottArgentinaStephen Shaw PROPOSAL
Maria N AmigonIndiaOnyama Limba UNQUALIFIED
Kadeem F GauchoIndiaBernardo Dominic UNQUALIFIED
Jennifer J AlbaresArgentinaStephen Shaw QUALIFIED
Aditya M FerenczArgentinaAsiya Javayant NEGOTIATION
Smith W RimItalyIoni Bowcher QUALIFIED
Ivar D TollnerItalyAnna Fali PROPOSAL
Juan K NestleIndiaAnna Fali UNQUALIFIED
Juan Y MaletSpainIvan Magalhaes UNQUALIFIED
Claire U CaudyAustraliaAsiya Javayant QUALIFIED
Tony D SchemmerCanadaIvan Magalhaes NEW
Octavia T BologniaIndiaOnyama Limba UNQUALIFIED
Juan H AmigonUnited KingdomIoni Bowcher PROPOSAL
Maria Q BowleyJapanElwin Sharvill NEGOTIATION
James A FlosiCanadaStephen Shaw QUALIFIED
Greenwood Z MorascaRussiaIvan Magalhaes RENEWAL
Faith V StockhamSpainAmy Elsner NEGOTIATION
Leon X PerinSpainBernardo Dominic QUALIFIED
Chavez N WieserFranceStephen Shaw UNQUALIFIED
Jeanfrancois U KolmetzBrazilElwin Sharvill PROPOSAL
Isabel R PoquetteCanadaAsiya Javayant NEW
Salvatore K GarufiSpainAmy Elsner PROPOSAL
Greenwood L WaycottGermanyBernardo Dominic UNQUALIFIED
Jefferson R DarakjyItalyIvan Magalhaes RENEWAL
David W MarrierCanadaOnyama Limba NEW
Faith P RutaAustraliaAmy Elsner QUALIFIED
Aruna J WaycottFranceAmy Elsner NEGOTIATION
Maria Q DarakjyUnited KingdomAnna Fali NEW
Morrow H MorascaCanadaIvan Magalhaes NEW
Nicolas H CaudyIndiaIvan Magalhaes RENEWAL
Greenwood P SergiArgentinaOnyama Limba 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>