Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Kadeem H MaletAustraliaOnyama Limba NEGOTIATION
Chavez N SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Stacey B FerenczBrazilXuxue Feng RENEWAL
Cody T IturbideCanadaAnna Fali UNQUALIFIED
Jeanfrancois K RoysterSpainAnna Fali NEGOTIATION
Emily U SchemmerBrazilBernardo Dominic RENEWAL
Kaitlin S CaldareraGermanyAmy Elsner PROPOSAL
Munro Q OstroskyAustraliaAnna Fali UNQUALIFIED
Adams T RoysterJapanIoni Bowcher QUALIFIED
Morrow Z DilliardItalyElwin Sharvill NEGOTIATION
Izzy A StockhamFranceXuxue Feng RENEWAL
Mujtaba W ButtSpainBernardo Dominic NEW
Francesco P DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Murillo K SlusarskiArgentinaAnna Fali QUALIFIED
Izzy T CaudySpainStephen Shaw RENEWAL
Octavia K CaudyBrazilOnyama Limba RENEWAL
Greenwood I RimArgentinaAmy Elsner PROPOSAL
Morrow U ButtCanadaStephen Shaw NEW
Izzy K DilliardCanadaAsiya Javayant NEW
Emily L IturbideBrazilStephen Shaw QUALIFIED
Nicolas G PaprockiBrazilIvan Magalhaes RENEWAL
Antonio Y WaycottItalyElwin Sharvill UNQUALIFIED
Francesco Y KuskoItalyIoni Bowcher RENEWAL
Morrow W SchemmerJapanAmy Elsner NEGOTIATION
Claire U GauchoAustraliaIoni Bowcher RENEWAL
Faith P AlbaresUnited KingdomXuxue Feng NEW
Chavez D SergiArgentinaOnyama Limba UNQUALIFIED
Chavez K AmigonFranceAmy Elsner UNQUALIFIED
Leon Y SchemmerItalyElwin Sharvill NEGOTIATION
Faith L BowleyCanadaIvan Magalhaes RENEWAL
Leja B PoquetteIndiaAsiya Javayant PROPOSAL
Francesco A ChuiIndiaAnna Fali RENEWAL
Maria Z RimSpainAnna Fali QUALIFIED
Francesco R CampainRussiaIvan Magalhaes NEGOTIATION
Rodrigues J DarakjyAustraliaBernardo Dominic UNQUALIFIED
Costa U StockhamIndiaAmy Elsner UNQUALIFIED
Faith E AlbaresBrazilStephen Shaw PROPOSAL
Faith S CaldareraJapanAsiya Javayant UNQUALIFIED
Julie R DilliardItalyAnna Fali RENEWAL
Mujtaba X OstroskyUnited KingdomAsiya Javayant PROPOSAL
Maisha J BriddickArgentinaIvan Magalhaes UNQUALIFIED
Darci E SlusarskiIndiaAsiya Javayant QUALIFIED
James M FollerUnited KingdomAnna Fali RENEWAL
Darci S TollnerAustraliaAmy Elsner UNQUALIFIED
Morrow L MaletJapanElwin Sharvill RENEWAL
Ashley Y PerinAustraliaXuxue Feng UNQUALIFIED
Smith I FollerIndiaElwin Sharvill RENEWAL
Smith B GarufiRussiaAsiya Javayant NEW
Darci F NickaAustraliaElwin Sharvill QUALIFIED
Isabel L InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez B SlusarskiIndiaXuxue Feng NEGOTIATION
Smith S WaycottSpainIoni Bowcher PROPOSAL
Aditya Y ShinkoJapanOnyama Limba NEW
Francesco D MarrierSpainAmy Elsner NEW
Deepesh H SchemmerArgentinaIoni Bowcher UNQUALIFIED
Adams S KolmetzArgentinaStephen Shaw QUALIFIED
Jefferson Z GauchoJapanBernardo Dominic UNQUALIFIED
Aditya H GarufiIndiaAmy Elsner RENEWAL
Darci D OstroskyGermanyElwin Sharvill UNQUALIFIED
Aditya S InouyeAustraliaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V MaletBrazil2025-10-04Dorl, James J Esq RENEWAL32Elwin Sharvill
1001Sinclair L TollnerUnited Kingdom2025-09-20Buckley Miller Wright RENEWAL70Anna Fali
1002Johnson R DoeFrance2025-10-04Feltz Printing Service NEGOTIATION66Bernardo Dominic
1003Maisha M MaletArgentina2025-09-26Chapman, Ross E Esq NEGOTIATION95Ioni Bowcher
1004Nicolas L PerinBrazil2025-09-28King, Christopher A Esq PROPOSAL99Ivan Magalhaes
1005Jeanfrancois J BriddickIndia2025-10-19Chemel, James L Cpa PROPOSAL78Bernardo Dominic
1006Costa O GlickUnited Kingdom2025-09-30King, Christopher A Esq NEGOTIATION63Ioni Bowcher
1007Rodrigues V FollerGermany2025-09-23Dorl, James J Esq UNQUALIFIED67Bernardo Dominic
1008Cody E GarufiArgentina2025-10-13Commercial Press PROPOSAL88Elwin Sharvill
1009Jefferson B FlosiAustralia2025-09-30Morlong Associates UNQUALIFIED0Ivan Magalhaes
1010Emily F SaylorsGermany2025-10-05Printing Dimensions QUALIFIED10Elwin Sharvill
1011Rodrigues W DarakjyIndia2025-10-16Chapman, Ross E Esq NEGOTIATION81Onyama Limba
1012Silvio Q SergiUnited Kingdom2025-10-02Buckley Miller Wright RENEWAL95Onyama Limba
1013Izzy D AlbaresGermany2025-09-28Chemel, James L Cpa NEW78Ioni Bowcher
1014Rodrigues O MaletSpain2025-10-16Morlong Associates NEGOTIATION71Amy Elsner
1015Julie Z InouyeSpain2025-10-04Feltz Printing Service NEW19Bernardo Dominic
1016Silvio C AmigonRussia2025-10-05Buckley Miller Wright QUALIFIED99Bernardo Dominic
1017Claire Y MaletSpain2025-10-05Rangoni Of Florence NEW82Stephen Shaw
1018Clifford M RoysterGermany2025-10-13Rousseaux, Michael Esq PROPOSAL66Anna Fali
1019Maria J StockhamRussia2025-10-05Chanay, Jeffrey A Esq NEGOTIATION88Anna Fali
1020Faith N PerinItaly2025-10-07Morlong Associates QUALIFIED82Ivan Magalhaes
1021Aditya P AmigonArgentina2025-10-12Truhlar And Truhlar Attys NEW11Onyama Limba
1022Costa E KolmetzAustralia2025-10-08Dorl, James J Esq RENEWAL35Stephen Shaw
1023Misaki J NestleUnited Kingdom2025-10-15Chemel, James L Cpa PROPOSAL45Elwin Sharvill
1024Emily K RutaUnited Kingdom2025-10-17Benton, John B Jr UNQUALIFIED66Anna Fali
1025Leja E RulapaughArgentina2025-10-07Feiner Bros UNQUALIFIED10Onyama Limba
1026Leon T PerinIndia2025-10-10King, Christopher A Esq QUALIFIED58Ioni Bowcher
1027Cody P KolmetzFrance2025-09-22Truhlar And Truhlar Attys QUALIFIED32Elwin Sharvill
1028Chavez Y GlickBrazil2025-10-10Printing Dimensions QUALIFIED62Ioni Bowcher
1029Leja Q PerinItaly2025-09-30Chemel, James L Cpa UNQUALIFIED18Stephen Shaw
1030Juan P KuskoIndia2025-10-11Benton, John B Jr NEGOTIATION89Ioni Bowcher
1031Costa L StockhamItaly2025-10-12Commercial Press QUALIFIED50Ioni Bowcher
1032Jefferson I CaldareraCanada2025-10-08Feltz Printing Service RENEWAL79Bernardo Dominic
1033David C SaylorsCanada2025-10-18Chanay, Jeffrey A Esq NEGOTIATION56Asiya Javayant
1034Mujtaba D PoquetteJapan2025-10-18Dorl, James J Esq NEW28Bernardo Dominic
1035Wickens Z MarrierBrazil2025-10-10Chapman, Ross E Esq PROPOSAL10Anna Fali
1036Ivar N DarakjyRussia2025-09-22Commercial Press QUALIFIED45Elwin Sharvill
1037Cody E BologniaRussia2025-10-14Chapman, Ross E Esq NEW93Ioni Bowcher
1038Isabel Y AlbaresBrazil2025-09-23Rousseaux, Michael Esq QUALIFIED63Onyama Limba
1039Morrow Q CaldareraArgentina2025-10-02Rangoni Of Florence UNQUALIFIED53Amy Elsner
1040Antonio V FlosiArgentina2025-09-20Chapman, Ross E Esq UNQUALIFIED50Xuxue Feng
1041Greenwood Y CaldareraRussia2025-10-12Chemel, James L Cpa PROPOSAL76Ivan Magalhaes
1042Kadeem P NickaItaly2025-09-26Rangoni Of Florence NEGOTIATION66Xuxue Feng
1043Stacey E RimRussia2025-09-29Chemel, James L Cpa QUALIFIED76Bernardo Dominic
1044Leja Y KuskoArgentina2025-10-15Feiner Bros PROPOSAL98Xuxue Feng
1045Antonio B IturbideAustralia2025-10-01Buckley Miller Wright RENEWAL19Ioni Bowcher
1046Johnson M CaudyJapan2025-10-11Printing Dimensions UNQUALIFIED75Xuxue Feng
1047Izzy C BriddickArgentina2025-10-12Chanay, Jeffrey A Esq NEGOTIATION46Elwin Sharvill
1048Rodrigues H WieserArgentina2025-09-21Feltz Printing Service NEGOTIATION39Ivan Magalhaes
1049Sinclair M MaletArgentina2025-09-22Feiner Bros RENEWAL24Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria E MorascaRussiaAsiya Javayant PROPOSAL
Clifford W KolmetzArgentinaIvan Magalhaes PROPOSAL
Antonio P VenereSpainBernardo Dominic PROPOSAL
Murillo G StensethSpainAnna Fali QUALIFIED
Costa H StensethUnited KingdomStephen Shaw RENEWAL
Chavez V AlbaresCanadaBernardo Dominic RENEWAL
Aditya L InouyeAustraliaBernardo Dominic PROPOSAL
Julie K CaldareraItalyBernardo Dominic NEW
Faith Q PoquetteGermanyIoni Bowcher QUALIFIED
Jones U FerenczItalyBernardo Dominic QUALIFIED
Smith M GillianAustraliaIoni Bowcher NEW
Leon S SergiAustraliaIoni Bowcher QUALIFIED
Deepesh K RimBrazilXuxue Feng NEW
Clifford V BowleyGermanyIoni Bowcher NEGOTIATION
Octavia Y StockhamJapanIvan Magalhaes NEW
Cody W MarrierIndiaAnna Fali UNQUALIFIED
Deepesh X RoysterAustraliaOnyama Limba PROPOSAL
Isabel Z MaletFranceAmy Elsner RENEWAL
Greenwood A InouyeUnited KingdomAnna Fali RENEWAL
Aditya T OstroskyJapanIvan Magalhaes UNQUALIFIED
Aruna T FollerIndiaAnna Fali NEW
Izzy T GauchoSpainOnyama Limba PROPOSAL
Francesco K NestleArgentinaAmy Elsner NEGOTIATION
Arvin C WaycottJapanAsiya Javayant NEGOTIATION
David V ButtRussiaAmy Elsner UNQUALIFIED
Francesco O GillianArgentinaElwin Sharvill PROPOSAL
Ivar J GlickItalyAmy Elsner NEW
Tony W GauchoSpainOnyama Limba PROPOSAL
Nicolas S RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin Q OldroydRussiaAsiya Javayant UNQUALIFIED
Stacey S ButtArgentinaIvan Magalhaes NEGOTIATION
Chavez S PoquetteIndiaElwin Sharvill QUALIFIED
Jefferson E GillianJapanAnna Fali RENEWAL
Silvio C WaycottGermanyAsiya Javayant RENEWAL
Mayumi U MorascaFranceAsiya Javayant RENEWAL
Johnson E InouyeRussiaOnyama Limba RENEWAL
Jones A FigeroaCanadaAsiya Javayant PROPOSAL
Kadeem Y MarrierAustraliaAmy Elsner RENEWAL
Wickens X InouyeArgentinaAnna Fali NEW
Maisha T GlickCanadaAmy Elsner PROPOSAL
Isabel Y FerenczAustraliaAmy Elsner NEGOTIATION
Sinclair O BriddickGermanyAmy Elsner NEW
Antonio F RulapaughRussiaElwin Sharvill NEW
Maria X SergiGermanyIoni Bowcher UNQUALIFIED
Jennifer B TollnerBrazilElwin Sharvill NEGOTIATION
Chavez H PoquetteIndiaIvan Magalhaes QUALIFIED
Ivar X WhobreyBrazilStephen Shaw QUALIFIED
Jennifer U FollerRussiaOnyama Limba QUALIFIED
Munro Y CaudyCanadaIoni Bowcher QUALIFIED
Kaitlin T InouyeSpainElwin Sharvill QUALIFIED
Frozen Columns
Name
Adams D Marrier
Aika J Whobrey
Salvatore Q Stockham
Claire S Venere
Cody M Marrier
Alejandro M Kusko
Kaitlin Y Caldarera
Chavez O Paprocki
David W Paprocki
Tony H Albares
Julie L Figeroa
Ricardo C Malet
Silvio T Malet
Aika T Sergi
Arvin L Dilliard
Ashley F Wieser
Stacey T Flosi
Tony N Venere
David R Caldarera
Jeanfrancois C Flosi
Mayumi H Amigon
Isabel U Malet
Jennifer F Wieser
Smith Q Amigon
Claire D Ferencz
Murillo D Flosi
Isabel V Gillian
Chavez N Gaucho
Stacey N Nestle
Maisha H Wieser
Morrow V Tollner
Cody N Paprocki
Arvin R Venere
Johnson E Doe
Chavez T Marrier
Cody N Saylors
Murillo K Nestle
Francesco F Wieser
Sinclair T Dilliard
Jeanfrancois I Malet
Isabel G Kusko
Costa W Darakjy
Jeanfrancois I Paprocki
Ricardo U Kolmetz
Jefferson O Dilliard
Maisha Z Flosi
Wickens K Bolognia
Mayumi R Inouye
Ivar O Ruta
Costa N Stockham
IdCountryDate
1000Russia2025-10-17
1001Germany2025-09-27
1002Germany2025-10-10
1003France2025-10-05
1004Japan2025-10-19
1005Canada2025-09-20
1006Argentina2025-10-10
1007Russia2025-10-07
1008India2025-09-21
1009Argentina2025-09-25
1010United Kingdom2025-09-22
1011Brazil2025-10-13
1012Argentina2025-09-30
1013Australia2025-09-25
1014Spain2025-10-12
1015Italy2025-10-01
1016Germany2025-10-11
1017Brazil2025-10-08
1018India2025-10-11
1019Canada2025-10-04
1020Spain2025-10-06
1021Italy2025-10-08
1022Australia2025-09-22
1023Canada2025-09-27
1024Argentina2025-09-25
1025Canada2025-09-23
1026United Kingdom2025-09-25
1027United Kingdom2025-10-03
1028Argentina2025-09-30
1029Russia2025-09-26
1030India2025-09-20
1031France2025-10-07
1032Canada2025-10-04
1033Brazil2025-09-29
1034France2025-10-07
1035Argentina2025-09-22
1036Canada2025-10-17
1037India2025-10-03
1038Spain2025-10-13
1039Argentina2025-10-18
1040Italy2025-10-18
1041Germany2025-09-21
1042Argentina2025-09-30
1043Germany2025-10-13
1044Spain2025-09-25
1045Italy2025-09-29
1046Spain2025-10-09
1047India2025-09-26
1048Spain2025-10-15
1049Spain2025-10-11

On-Demand Data

NameIdCountryDate
Octavia W Shinko1000India2025-09-28
Costa U Paprocki1001Russia2025-10-01
Sinclair E Ostrosky1002United Kingdom2025-10-17
Claire B Nestle1003Canada2025-10-07
David F Kolmetz1004Argentina2025-10-03
Mayumi H Poquette1005Spain2025-10-07
Faith U Tollner1006India2025-09-27
Alejandro M Tollner1007United Kingdom2025-09-30
Mayumi L Chui1008Japan2025-10-19
David A Stockham1009Italy2025-10-10
Rodrigues A Bolognia1010Italy2025-10-13
Smith E Gillian1011Argentina2025-10-04
Stacey U Whobrey1012India2025-10-11
Alejandro I Glick1013Spain2025-10-04
Tony K Oldroyd1014Japan2025-10-15
Maria G Bolognia1015Japan2025-10-16
Deepesh V Bowley1016Australia2025-09-20
Chavez H Perin1017Russia2025-10-18
Ashley B Campain1018Russia2025-10-03
Stacey R Ruta1019Germany2025-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika A MorascaCanadaIvan Magalhaes PROPOSAL
Jeanfrancois M CaudyGermanyAnna Fali NEW
Silvio W WaycottBrazilIvan Magalhaes UNQUALIFIED
Julie B WhobreySpainAmy Elsner RENEWAL
Rodrigues J PoquetteItalyXuxue Feng NEGOTIATION
Emily X GarufiRussiaIvan Magalhaes PROPOSAL
Ashley S BriddickArgentinaIoni Bowcher RENEWAL
Misaki P ChuiAustraliaAnna Fali NEW
Mayumi J FerenczSpainElwin Sharvill NEW
Antonio Q SlusarskiGermanyOnyama Limba QUALIFIED
Mujtaba U GillianIndiaAsiya Javayant QUALIFIED
Morrow A BologniaRussiaIoni Bowcher QUALIFIED
Isabel L ShinkoBrazilElwin Sharvill NEGOTIATION
Francesco N FollerSpainXuxue Feng QUALIFIED
Mujtaba J CaldareraItalyStephen Shaw RENEWAL
James W GarufiIndiaAsiya Javayant PROPOSAL
Francesco U DarakjyJapanStephen Shaw PROPOSAL
Juan B MacleadJapanIoni Bowcher NEW
Claire M GarufiGermanyAmy Elsner PROPOSAL
Arvin C GillianIndiaIoni Bowcher QUALIFIED
Sinclair G AlbaresSpainXuxue Feng QUALIFIED
Juan A VocelkaSpainStephen Shaw QUALIFIED
Tony C TollnerArgentinaAnna Fali NEGOTIATION
David H GlickJapanAsiya Javayant QUALIFIED
Ivar Z StensethBrazilAnna Fali QUALIFIED
Wickens W MacleadArgentinaAsiya Javayant RENEWAL
Darci V MacleadUnited KingdomBernardo Dominic QUALIFIED
Chavez B KolmetzSpainAnna Fali NEGOTIATION
David Q GlickSpainIoni Bowcher NEW
Kadeem Q CampainCanadaIvan Magalhaes NEGOTIATION
Maisha Q GlickSpainElwin Sharvill RENEWAL
Costa B DarakjyGermanyIvan Magalhaes PROPOSAL
Emily R MarrierItalyAsiya Javayant UNQUALIFIED
Maisha A WaycottAustraliaXuxue Feng UNQUALIFIED
Chavez Q GauchoBrazilXuxue Feng UNQUALIFIED
Munro A RimUnited KingdomOnyama Limba PROPOSAL
Greenwood G DarakjyAustraliaIvan Magalhaes NEGOTIATION
Aika W RutaArgentinaAnna Fali PROPOSAL
Juan F MorascaCanadaIoni Bowcher RENEWAL
Alejandro E BriddickIndiaXuxue Feng 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>