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
Maisha F WhobreyBrazilOnyama Limba NEW
Arvin G ChuiFranceStephen Shaw RENEWAL
Rodrigues X ButtUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem K GauchoArgentinaIvan Magalhaes RENEWAL
Aditya L WieserRussiaIvan Magalhaes NEW
Alejandro B MarrierArgentinaAmy Elsner QUALIFIED
Claire D GarufiArgentinaIoni Bowcher UNQUALIFIED
Costa M GillianAustraliaElwin Sharvill QUALIFIED
Ashley M RutaJapanAmy Elsner NEGOTIATION
Mujtaba X SlusarskiCanadaIoni Bowcher UNQUALIFIED
Maisha P CaldareraIndiaStephen Shaw NEW
Kaitlin K StockhamGermanyIvan Magalhaes NEW
Rodrigues X VocelkaIndiaIoni Bowcher NEW
Aika R WieserItalyAsiya Javayant PROPOSAL
Leja B RoysterRussiaBernardo Dominic UNQUALIFIED
Aika S FerenczUnited KingdomStephen Shaw QUALIFIED
Smith S FollerIndiaAsiya Javayant RENEWAL
Izzy G OldroydUnited KingdomXuxue Feng RENEWAL
Smith Q MaletItalyStephen Shaw PROPOSAL
Francesco Z RimBrazilElwin Sharvill UNQUALIFIED
Kadeem H GlickBrazilStephen Shaw RENEWAL
Wickens A FerenczSpainAmy Elsner RENEWAL
Rodrigues P ChuiCanadaIvan Magalhaes QUALIFIED
Leja L VenereUnited KingdomElwin Sharvill QUALIFIED
Jones J RoysterUnited KingdomIoni Bowcher QUALIFIED
Jones V AlbaresFranceAsiya Javayant RENEWAL
Wickens B PerinSpainBernardo Dominic RENEWAL
Wickens N CaldareraAustraliaElwin Sharvill NEW
Murillo L KuskoItalyIoni Bowcher UNQUALIFIED
Faith M VocelkaUnited KingdomStephen Shaw PROPOSAL
Francesco M PerinRussiaAmy Elsner UNQUALIFIED
Munro T DoeIndiaAsiya Javayant UNQUALIFIED
Wickens I SergiBrazilOnyama Limba QUALIFIED
Nicolas Q FigeroaSpainBernardo Dominic PROPOSAL
Leja O SaylorsItalyOnyama Limba PROPOSAL
Rodrigues Y MaletJapanAnna Fali UNQUALIFIED
Julie Y VenereGermanyAsiya Javayant PROPOSAL
Johnson O VenereJapanAmy Elsner NEGOTIATION
Faith O IturbideBrazilAnna Fali NEGOTIATION
Silvio J BriddickItalyBernardo Dominic UNQUALIFIED
Smith F InouyeIndiaIoni Bowcher UNQUALIFIED
Arvin M BowleyIndiaXuxue Feng UNQUALIFIED
Maisha F SchemmerGermanyIoni Bowcher QUALIFIED
Costa U PaprockiGermanyXuxue Feng NEW
Sinclair I MarrierFranceIoni Bowcher UNQUALIFIED
Johnson B GlickIndiaOnyama Limba NEW
Isabel Y ShinkoUnited KingdomStephen Shaw NEGOTIATION
Maisha Z MacleadGermanyAsiya Javayant UNQUALIFIED
Juan V BriddickBrazilElwin Sharvill PROPOSAL
Aruna A GarufiJapanAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa B RulapaughIndiaElwin Sharvill PROPOSAL
Emily G KuskoJapanIoni Bowcher PROPOSAL
Misaki N PoquetteCanadaStephen Shaw PROPOSAL
Rodrigues I WieserUnited KingdomXuxue Feng PROPOSAL
Adams D BologniaFranceIoni Bowcher NEW
Chavez S GauchoArgentinaIvan Magalhaes NEW
Deepesh D MorascaGermanyXuxue Feng RENEWAL
Greenwood W WaycottSpainElwin Sharvill NEGOTIATION
Julie E OldroydFranceAnna Fali RENEWAL
Maisha X IturbideRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith F BologniaAustralia2025-07-19Truhlar And Truhlar Attys QUALIFIED59Anna Fali
1001Ashley T FerenczBrazil2025-08-11Dorl, James J Esq NEW23Ivan Magalhaes
1002Stacey G BriddickGermany2025-08-03Printing Dimensions RENEWAL22Stephen Shaw
1003Aditya B BologniaGermany2025-07-22Feltz Printing Service PROPOSAL22Asiya Javayant
1004Mujtaba X CaldareraArgentina2025-07-20Commercial Press PROPOSAL72Elwin Sharvill
1005Ricardo Y SchemmerSpain2025-08-08Commercial Press NEW4Onyama Limba
1006Deepesh G VocelkaFrance2025-08-11Morlong Associates NEW96Anna Fali
1007Costa P ShinkoFrance2025-07-30Buckley Miller Wright NEW18Xuxue Feng
1008Maria Z GlickCanada2025-08-08Rangoni Of Florence NEW52Anna Fali
1009Mujtaba O FlosiFrance2025-07-18Rangoni Of Florence RENEWAL37Xuxue Feng
1010Chavez G KuskoFrance2025-07-17King, Christopher A Esq NEGOTIATION1Xuxue Feng
1011Maisha G RimIndia2025-07-15Rangoni Of Florence NEGOTIATION60Xuxue Feng
1012Leja M DoeUnited Kingdom2025-07-30Rangoni Of Florence RENEWAL27Anna Fali
1013Arvin P CaudyGermany2025-08-03Benton, John B Jr NEGOTIATION18Amy Elsner
1014Cody L SergiUnited Kingdom2025-07-28Chapman, Ross E Esq UNQUALIFIED53Xuxue Feng
1015Deepesh T VenereJapan2025-07-20Feltz Printing Service UNQUALIFIED16Anna Fali
1016Aika K MorascaJapan2025-07-15Benton, John B Jr NEGOTIATION88Xuxue Feng
1017Stacey Y StockhamAustralia2025-07-28Truhlar And Truhlar Attys UNQUALIFIED93Anna Fali
1018Ivar Y RutaGermany2025-07-17Morlong Associates QUALIFIED73Elwin Sharvill
1019Juan L ChuiAustralia2025-07-17Benton, John B Jr UNQUALIFIED90Onyama Limba
1020Aruna L VocelkaUnited Kingdom2025-07-25Dorl, James J Esq QUALIFIED44Ioni Bowcher
1021Jennifer L StockhamIndia2025-07-23Benton, John B Jr NEW62Anna Fali
1022Leon A IturbideAustralia2025-08-11Chanay, Jeffrey A Esq NEGOTIATION21Stephen Shaw
1023Wickens O CaudyFrance2025-07-24Morlong Associates NEGOTIATION33Elwin Sharvill
1024Maria I WhobreyJapan2025-08-13Rangoni Of Florence QUALIFIED2Amy Elsner
1025Johnson Z MaletArgentina2025-07-20Feltz Printing Service RENEWAL16Ioni Bowcher
1026Smith X MaletJapan2025-08-04Rangoni Of Florence PROPOSAL4Xuxue Feng
1027Aika M KuskoCanada2025-08-02Feiner Bros QUALIFIED24Onyama Limba
1028Johnson P IturbideAustralia2025-08-10King, Christopher A Esq UNQUALIFIED47Elwin Sharvill
1029Clifford V PaprockiSpain2025-07-29Feiner Bros NEGOTIATION88Bernardo Dominic
1030Mujtaba E VenereBrazil2025-08-06Chemel, James L Cpa RENEWAL54Bernardo Dominic
1031Octavia Q AlbaresBrazil2025-07-20Chemel, James L Cpa NEW3Anna Fali
1032Deepesh K WieserRussia2025-08-07Chanay, Jeffrey A Esq UNQUALIFIED22Bernardo Dominic
1033Julie U GarufiJapan2025-08-13King, Christopher A Esq QUALIFIED12Stephen Shaw
1034Murillo G AmigonSpain2025-08-04Buckley Miller Wright PROPOSAL16Onyama Limba
1035Smith I PaprockiRussia2025-07-27Printing Dimensions RENEWAL41Onyama Limba
1036Adams A CampainRussia2025-07-26Dorl, James J Esq PROPOSAL32Stephen Shaw
1037Murillo I SchemmerUnited Kingdom2025-07-25Chemel, James L Cpa QUALIFIED79Ioni Bowcher
1038Clifford Y MarrierFrance2025-08-11Benton, John B Jr PROPOSAL23Stephen Shaw
1039Stacey F OldroydJapan2025-07-25Chanay, Jeffrey A Esq UNQUALIFIED3Xuxue Feng
1040Stacey O BowleyItaly2025-08-04Commercial Press UNQUALIFIED59Ivan Magalhaes
1041Darci C PoquetteRussia2025-07-21Printing Dimensions QUALIFIED74Amy Elsner
1042Chavez G ShinkoBrazil2025-08-04Chapman, Ross E Esq RENEWAL96Amy Elsner
1043Ricardo N MorascaUnited Kingdom2025-07-31Feltz Printing Service NEGOTIATION37Anna Fali
1044Jeanfrancois O DoeGermany2025-08-04Rangoni Of Florence NEGOTIATION14Stephen Shaw
1045Jones D SlusarskiRussia2025-07-31Buckley Miller Wright QUALIFIED51Anna Fali
1046James Q CaldareraSpain2025-07-30Morlong Associates RENEWAL8Xuxue Feng
1047Jefferson X MaletAustralia2025-07-19Rangoni Of Florence PROPOSAL72Anna Fali
1048Nicolas C DarakjyFrance2025-08-06Feiner Bros NEGOTIATION38Bernardo Dominic
1049Francesco Q BriddickJapan2025-07-29Truhlar And Truhlar Attys NEGOTIATION68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin X FerenczRussiaIoni Bowcher QUALIFIED
Aditya F MarrierArgentinaOnyama Limba UNQUALIFIED
Kaitlin Y MaletRussiaAnna Fali NEGOTIATION
Antonio N MorascaIndiaIoni Bowcher NEW
Mayumi A MaletAustraliaIoni Bowcher NEGOTIATION
Emily G VocelkaAustraliaOnyama Limba NEGOTIATION
Salvatore G KolmetzAustraliaIoni Bowcher NEW
Stacey I CampainRussiaAnna Fali NEW
Claire G FigeroaArgentinaAnna Fali NEGOTIATION
Leon I MarrierUnited KingdomIoni Bowcher NEW
Tony C DarakjyArgentinaBernardo Dominic QUALIFIED
Tony U MacleadItalyElwin Sharvill UNQUALIFIED
Cody Y MaletUnited KingdomAsiya Javayant NEGOTIATION
Antonio M CampainCanadaBernardo Dominic NEGOTIATION
Mujtaba X SergiFranceBernardo Dominic RENEWAL
James P WhobreyArgentinaAsiya Javayant RENEWAL
Faith P SergiGermanyOnyama Limba UNQUALIFIED
Aika T RoysterCanadaAnna Fali PROPOSAL
Sinclair Q RutaRussiaAnna Fali RENEWAL
Alejandro X RutaSpainStephen Shaw RENEWAL
Faith O ButtJapanAsiya Javayant NEW
Greenwood A AmigonAustraliaXuxue Feng QUALIFIED
Octavia C GarufiArgentinaElwin Sharvill UNQUALIFIED
Claire F RoysterJapanBernardo Dominic QUALIFIED
Isabel Q CaldareraBrazilIoni Bowcher UNQUALIFIED
Emily D KolmetzItalyStephen Shaw RENEWAL
Cody K StensethRussiaBernardo Dominic QUALIFIED
Ricardo B StensethFranceAsiya Javayant UNQUALIFIED
Mujtaba F SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Arvin D RulapaughRussiaAmy Elsner NEW
Isabel I MarrierArgentinaIvan Magalhaes UNQUALIFIED
Ivar M MarrierBrazilAsiya Javayant UNQUALIFIED
Chavez H BowleyArgentinaIoni Bowcher NEGOTIATION
Deepesh O SaylorsBrazilIoni Bowcher PROPOSAL
Jones I MaletSpainXuxue Feng NEGOTIATION
Aruna U StensethAustraliaBernardo Dominic QUALIFIED
Jones X WaycottJapanIvan Magalhaes RENEWAL
Clifford W SlusarskiIndiaAmy Elsner PROPOSAL
Arvin O FigeroaCanadaAsiya Javayant QUALIFIED
Juan M KolmetzBrazilElwin Sharvill NEGOTIATION
Chavez R MacleadAustraliaOnyama Limba QUALIFIED
Leon U RulapaughArgentinaOnyama Limba NEGOTIATION
Stacey S TollnerAustraliaAsiya Javayant UNQUALIFIED
Leon F SergiIndiaXuxue Feng QUALIFIED
Mujtaba W BowleyItalyXuxue Feng NEGOTIATION
Stacey E FerenczAustraliaAsiya Javayant PROPOSAL
Nicolas Z MaletGermanyOnyama Limba UNQUALIFIED
Morrow T NestleFranceAmy Elsner UNQUALIFIED
Morrow L ChuiCanadaStephen Shaw NEW
Chavez A WaycottCanadaAnna Fali PROPOSAL
Frozen Columns
Name
Adams N Inouye
James F Sergi
Murillo Z Maclead
Aruna S Butt
Chavez S Glick
Misaki E Bolognia
Murillo J Butt
Francesco N Oldroyd
Leja B Doe
Aditya R Whobrey
Deepesh C Ostrosky
Nicolas C Bowley
Darci W Venere
Octavia P Figeroa
Silvio J Kusko
Clifford S Glick
Greenwood C Marrier
Jennifer B Wieser
Clifford R Saylors
Salvatore G Inouye
Maria A Bolognia
Maisha N Marrier
Jeanfrancois K Venere
Jones Z Albares
Ashley Q Malet
Maria H Ostrosky
Jennifer S Flosi
James B Stenseth
Misaki W Vocelka
Leon V Bolognia
Francesco Q Bowley
Kaitlin P Inouye
Costa P Tollner
Jones C Saylors
Jones J Tollner
Emily Q Ferencz
Juan Z Royster
Aditya U Gillian
Leon M Caudy
Aditya U Gaucho
Julie A Foller
James U Oldroyd
Francesco J Poquette
Deepesh Q Maclead
Misaki D Caldarera
Juan C Malet
Cody F Stockham
Maisha L Nicka
Kaitlin T Bowley
Morrow A Bolognia
IdCountryDate
1000United Kingdom2025-08-13
1001Argentina2025-07-28
1002France2025-08-12
1003Germany2025-07-18
1004Germany2025-07-31
1005Brazil2025-07-28
1006Germany2025-08-07
1007France2025-07-31
1008Canada2025-07-30
1009Spain2025-07-20
1010Canada2025-07-26
1011Italy2025-08-10
1012Japan2025-08-09
1013Australia2025-08-02
1014Brazil2025-08-01
1015Russia2025-08-08
1016France2025-07-23
1017Russia2025-08-04
1018Canada2025-08-04
1019France2025-07-18
1020India2025-07-26
1021Russia2025-07-27
1022Spain2025-07-17
1023Germany2025-07-19
1024Russia2025-07-26
1025Argentina2025-08-02
1026United Kingdom2025-07-26
1027Canada2025-07-23
1028France2025-07-29
1029Canada2025-07-19
1030Canada2025-07-17
1031India2025-08-09
1032Canada2025-08-08
1033Germany2025-07-27
1034Australia2025-07-29
1035Russia2025-08-06
1036Brazil2025-07-31
1037Russia2025-08-03
1038France2025-07-19
1039Russia2025-07-16
1040Canada2025-07-26
1041Brazil2025-07-26
1042Brazil2025-07-16
1043France2025-07-30
1044India2025-07-20
1045Russia2025-07-15
1046Canada2025-07-27
1047Germany2025-07-20
1048Brazil2025-08-09
1049France2025-08-02

On-Demand Data

NameIdCountryDate
Maisha O Rulapaugh1000India2025-07-19
Aditya Z Nestle1001Italy2025-08-10
Johnson P Bolognia1002Spain2025-07-27
Emily T Stenseth1003France2025-08-02
Maria P Marrier1004United Kingdom2025-07-26
Jones C Caudy1005United Kingdom2025-08-09
Isabel X Foller1006Brazil2025-07-22
Ashley D Bolognia1007Canada2025-08-08
Faith X Briddick1008India2025-08-01
Kaitlin A Albares1009Russia2025-07-26
Emily O Amigon1010Brazil2025-07-29
Kaitlin I Kusko1011Brazil2025-07-29
Aditya N Ostrosky1012United Kingdom2025-07-22
Jones B Chui1013Spain2025-07-21
Rodrigues G Wieser1014Argentina2025-07-16
Claire W Figeroa1015Russia2025-08-02
Clifford A Amigon1016Italy2025-07-20
Silvio J Perin1017Argentina2025-07-16
Aruna D Tollner1018Argentina2025-07-28
Munro U Rim1019Italy2025-07-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois I WaycottRussiaOnyama Limba UNQUALIFIED
Jennifer B RimRussiaAsiya Javayant PROPOSAL
Stacey D TollnerUnited KingdomAmy Elsner QUALIFIED
Wickens D OldroydAustraliaBernardo Dominic UNQUALIFIED
Murillo B MarrierItalyAnna Fali PROPOSAL
Julie I StockhamUnited KingdomElwin Sharvill QUALIFIED
Mayumi U MorascaArgentinaXuxue Feng NEW
Alejandro S SergiGermanyXuxue Feng UNQUALIFIED
Octavia N VocelkaRussiaOnyama Limba NEW
Faith F RimJapanElwin Sharvill RENEWAL
Isabel Q MarrierBrazilIoni Bowcher RENEWAL
Silvio T KuskoBrazilAmy Elsner NEW
Deepesh H MaletItalyIoni Bowcher QUALIFIED
Misaki O MacleadJapanAsiya Javayant NEW
Deepesh I StockhamBrazilIvan Magalhaes NEGOTIATION
Maria R SaylorsBrazilXuxue Feng PROPOSAL
Mayumi W RutaRussiaAnna Fali NEGOTIATION
Wickens K GarufiArgentinaOnyama Limba UNQUALIFIED
Salvatore F VocelkaBrazilIoni Bowcher UNQUALIFIED
Isabel O MacleadAustraliaBernardo Dominic NEGOTIATION
Juan R KuskoItalyBernardo Dominic UNQUALIFIED
Cody O MarrierAustraliaIvan Magalhaes QUALIFIED
Kadeem X RimCanadaIoni Bowcher NEGOTIATION
Chavez N ChuiAustraliaAsiya Javayant PROPOSAL
Arvin G AlbaresJapanAmy Elsner QUALIFIED
Ivar Z ShinkoCanadaAsiya Javayant NEGOTIATION
Morrow W PoquetteFranceAsiya Javayant UNQUALIFIED
Izzy E VenereSpainXuxue Feng RENEWAL
Adams B ButtBrazilXuxue Feng NEGOTIATION
Izzy G StockhamJapanIoni Bowcher QUALIFIED
David A PoquetteItalyIoni Bowcher NEW
Sinclair V SergiBrazilIoni Bowcher NEGOTIATION
Greenwood Y CaudyUnited KingdomAmy Elsner UNQUALIFIED
Arvin W OldroydArgentinaBernardo Dominic UNQUALIFIED
Salvatore Y GlickCanadaAsiya Javayant RENEWAL
Isabel U KuskoJapanElwin Sharvill UNQUALIFIED
Wickens W CampainIndiaOnyama Limba PROPOSAL
Aika L FerenczRussiaOnyama Limba NEGOTIATION
Nicolas K MorascaArgentinaBernardo Dominic NEW
Arvin J FollerBrazilOnyama Limba 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>