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
Salvatore H FollerItalyXuxue Feng RENEWAL
Rodrigues T BriddickRussiaAmy Elsner NEGOTIATION
Juan Y BowleyArgentinaAmy Elsner UNQUALIFIED
Kaitlin G IturbideAustraliaIoni Bowcher UNQUALIFIED
Alejandro Y ButtGermanyOnyama Limba NEGOTIATION
Rodrigues D PerinItalyAsiya Javayant RENEWAL
Alejandro D WhobreyIndiaXuxue Feng NEW
Juan B MaletIndiaElwin Sharvill UNQUALIFIED
Ashley U NestleUnited KingdomStephen Shaw QUALIFIED
Murillo Y WaycottArgentinaStephen Shaw UNQUALIFIED
Clifford E GlickAustraliaStephen Shaw PROPOSAL
Ricardo E GillianJapanXuxue Feng NEGOTIATION
Greenwood S AmigonIndiaBernardo Dominic QUALIFIED
Arvin B RutaUnited KingdomBernardo Dominic UNQUALIFIED
Costa Y FerenczIndiaXuxue Feng PROPOSAL
Ricardo T OstroskyCanadaAmy Elsner PROPOSAL
Tony Y SlusarskiItalyAnna Fali NEGOTIATION
Maisha J DarakjyUnited KingdomIoni Bowcher PROPOSAL
Claire B NickaRussiaIvan Magalhaes PROPOSAL
Arvin B MacleadFranceIvan Magalhaes NEW
Aruna J ShinkoBrazilIvan Magalhaes NEGOTIATION
Cody A VocelkaIndiaIoni Bowcher RENEWAL
Mujtaba O RoysterCanadaAmy Elsner PROPOSAL
Jones K MaletIndiaIoni Bowcher PROPOSAL
Clifford G MarrierSpainAsiya Javayant QUALIFIED
Johnson G FerenczCanadaIvan Magalhaes RENEWAL
Cody Y InouyeUnited KingdomAmy Elsner NEGOTIATION
Mayumi V AmigonFranceXuxue Feng PROPOSAL
Isabel Y RimSpainOnyama Limba NEGOTIATION
Nicolas M MaletFranceStephen Shaw NEW
Sinclair C MaletArgentinaOnyama Limba PROPOSAL
Kaitlin X RimArgentinaIvan Magalhaes RENEWAL
Izzy X PerinItalyIoni Bowcher NEGOTIATION
Munro W AlbaresJapanIvan Magalhaes NEGOTIATION
Aruna W GauchoJapanIvan Magalhaes NEGOTIATION
Darci C DoeCanadaElwin Sharvill NEGOTIATION
Alejandro W WaycottAustraliaAmy Elsner PROPOSAL
Alejandro X BowleyRussiaElwin Sharvill NEGOTIATION
Isabel O ChuiAustraliaBernardo Dominic QUALIFIED
Mujtaba O StensethCanadaIvan Magalhaes UNQUALIFIED
Tony G GarufiSpainAsiya Javayant NEGOTIATION
James V WhobreyBrazilStephen Shaw NEGOTIATION
Misaki B GillianItalyOnyama Limba PROPOSAL
Julie J DarakjyArgentinaOnyama Limba PROPOSAL
Izzy D BologniaRussiaAsiya Javayant RENEWAL
Salvatore P KolmetzItalyOnyama Limba RENEWAL
Chavez V DarakjyJapanIvan Magalhaes QUALIFIED
Tony U AlbaresJapanAsiya Javayant UNQUALIFIED
Faith S SchemmerArgentinaOnyama Limba PROPOSAL
Adams U OstroskyGermanyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Johnson G GillianRussiaAnna Fali NEGOTIATION
Tony H MacleadSpainAnna Fali RENEWAL
Smith G AmigonFranceAmy Elsner NEGOTIATION
Silvio F OstroskyItalyAsiya Javayant UNQUALIFIED
Kadeem J BologniaAustraliaIoni Bowcher RENEWAL
Jones X WieserIndiaAnna Fali QUALIFIED
Antonio T VocelkaFranceOnyama Limba RENEWAL
Wickens V VenereRussiaIvan Magalhaes QUALIFIED
Maria G KuskoItalyAnna Fali NEW
Jeanfrancois D RoysterAustraliaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel X PaprockiCanada2025-07-29Feiner Bros RENEWAL48Ioni Bowcher
1001Greenwood G ButtJapan2025-07-26Truhlar And Truhlar Attys NEGOTIATION60Stephen Shaw
1002Juan G MaletJapan2025-07-10Feltz Printing Service RENEWAL20Bernardo Dominic
1003Claire Q CampainAustralia2025-07-20Rangoni Of Florence UNQUALIFIED28Anna Fali
1004Tony Z AlbaresArgentina2025-07-16Dorl, James J Esq NEW71Amy Elsner
1005Arvin S DoeIndia2025-07-30Feiner Bros QUALIFIED90Xuxue Feng
1006Octavia P RimFrance2025-07-22Rangoni Of Florence QUALIFIED44Ivan Magalhaes
1007Antonio X MacleadUnited Kingdom2025-07-19Morlong Associates PROPOSAL70Amy Elsner
1008Sinclair S WieserIndia2025-07-18Commercial Press RENEWAL69Ivan Magalhaes
1009Leon D TollnerBrazil2025-07-20Printing Dimensions NEW13Onyama Limba
1010Murillo L CampainCanada2025-07-10Rousseaux, Michael Esq NEW84Onyama Limba
1011Isabel Z GillianItaly2025-07-06Buckley Miller Wright PROPOSAL36Xuxue Feng
1012Juan W BologniaBrazil2025-08-02Morlong Associates UNQUALIFIED74Bernardo Dominic
1013Aika D VenereIndia2025-07-26Truhlar And Truhlar Attys PROPOSAL92Bernardo Dominic
1014Darci K NestleItaly2025-07-18Chemel, James L Cpa NEW38Asiya Javayant
1015Morrow H MaletCanada2025-07-06Buckley Miller Wright QUALIFIED65Amy Elsner
1016Leja K SergiJapan2025-07-16Dorl, James J Esq NEW55Ioni Bowcher
1017Darci W MarrierJapan2025-07-08Feltz Printing Service QUALIFIED43Onyama Limba
1018Kadeem Y MacleadGermany2025-07-10Printing Dimensions RENEWAL59Xuxue Feng
1019Silvio E FollerJapan2025-07-27Feltz Printing Service PROPOSAL45Bernardo Dominic
1020Octavia O AmigonAustralia2025-07-07Rangoni Of Florence NEW76Elwin Sharvill
1021Izzy O PaprockiArgentina2025-07-30Truhlar And Truhlar Attys NEW77Stephen Shaw
1022Murillo H KolmetzRussia2025-07-31Buckley Miller Wright PROPOSAL60Ioni Bowcher
1023Clifford O StensethArgentina2025-07-25Chapman, Ross E Esq NEGOTIATION41Ivan Magalhaes
1024Arvin H GillianArgentina2025-07-18Dorl, James J Esq NEGOTIATION13Bernardo Dominic
1025Aruna N BologniaArgentina2025-07-14Rousseaux, Michael Esq NEGOTIATION65Ioni Bowcher
1026Ivar R NestleJapan2025-07-20Dorl, James J Esq NEGOTIATION9Ivan Magalhaes
1027Ashley R TollnerIndia2025-07-26Morlong Associates RENEWAL39Asiya Javayant
1028Octavia Y OstroskyCanada2025-08-02Chapman, Ross E Esq NEW15Asiya Javayant
1029Maria L KuskoJapan2025-07-27Morlong Associates RENEWAL33Ivan Magalhaes
1030Sinclair Q FlosiBrazil2025-07-27Truhlar And Truhlar Attys RENEWAL99Ioni Bowcher
1031Nicolas Y BowleyCanada2025-07-28Benton, John B Jr NEGOTIATION54Asiya Javayant
1032Salvatore Y GarufiIndia2025-07-20Rousseaux, Michael Esq QUALIFIED31Asiya Javayant
1033Maisha X RutaFrance2025-07-07Benton, John B Jr RENEWAL7Amy Elsner
1034Jennifer B CaldareraRussia2025-07-31Truhlar And Truhlar Attys UNQUALIFIED22Xuxue Feng
1035Smith Y StensethFrance2025-07-30King, Christopher A Esq NEW95Elwin Sharvill
1036Jeanfrancois Q FerenczSpain2025-07-18Feltz Printing Service NEW56Onyama Limba
1037Leja J OldroydItaly2025-07-11Feltz Printing Service PROPOSAL24Onyama Limba
1038Emily D StockhamGermany2025-07-22Rangoni Of Florence UNQUALIFIED76Stephen Shaw
1039Deepesh P GillianItaly2025-07-29Printing Dimensions RENEWAL56Amy Elsner
1040Ivar H NickaUnited Kingdom2025-07-20Benton, John B Jr UNQUALIFIED38Bernardo Dominic
1041Mujtaba Y IturbideFrance2025-07-17Benton, John B Jr RENEWAL62Amy Elsner
1042Sinclair L CaudyArgentina2025-08-04Rousseaux, Michael Esq NEW66Elwin Sharvill
1043Stacey F WhobreyAustralia2025-07-18King, Christopher A Esq NEGOTIATION9Stephen Shaw
1044Izzy C IturbideFrance2025-07-19Feiner Bros NEGOTIATION75Onyama Limba
1045Silvio D PaprockiFrance2025-07-12Chanay, Jeffrey A Esq RENEWAL59Bernardo Dominic
1046Alejandro R NestleIndia2025-07-31Truhlar And Truhlar Attys RENEWAL50Amy Elsner
1047Adams A PoquetteIndia2025-07-13Feiner Bros PROPOSAL94Asiya Javayant
1048Maisha D MorascaItaly2025-08-03Morlong Associates NEGOTIATION4Ivan Magalhaes
1049Leja I PoquetteItaly2025-07-11King, Christopher A Esq QUALIFIED67Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mayumi B PoquetteItalyIvan Magalhaes QUALIFIED
Kadeem D DoeFranceAnna Fali RENEWAL
Julie L FlosiFranceAmy Elsner RENEWAL
Alejandro V RutaFranceBernardo Dominic NEGOTIATION
Adams I GarufiItalyAsiya Javayant NEW
Aruna R PoquetteBrazilAsiya Javayant QUALIFIED
Emily S MaletCanadaOnyama Limba NEW
Jennifer O SchemmerGermanyIvan Magalhaes NEGOTIATION
Maisha T AlbaresCanadaAmy Elsner PROPOSAL
Ricardo G StensethIndiaElwin Sharvill NEW
James O CaudyItalyXuxue Feng QUALIFIED
Chavez K BowleyUnited KingdomOnyama Limba QUALIFIED
Stacey J RimUnited KingdomStephen Shaw RENEWAL
Maisha B RimCanadaStephen Shaw NEGOTIATION
Maisha Q NestleIndiaAsiya Javayant NEGOTIATION
Jones R FollerGermanyXuxue Feng NEGOTIATION
Jennifer Z FlosiBrazilAsiya Javayant NEGOTIATION
Leja A SergiSpainIoni Bowcher QUALIFIED
Munro R MaletFranceStephen Shaw NEW
Deepesh U VenereBrazilIvan Magalhaes UNQUALIFIED
Salvatore Q TollnerRussiaAmy Elsner NEGOTIATION
Juan Q FollerJapanStephen Shaw NEGOTIATION
David M InouyeSpainElwin Sharvill NEGOTIATION
Jennifer J ChuiCanadaIvan Magalhaes NEGOTIATION
Jones N IturbideItalyOnyama Limba UNQUALIFIED
Stacey V BriddickSpainIvan Magalhaes NEGOTIATION
Arvin B ShinkoUnited KingdomElwin Sharvill PROPOSAL
Murillo S StensethCanadaAsiya Javayant NEGOTIATION
Cody B OstroskyIndiaOnyama Limba RENEWAL
Kaitlin H PerinFranceAmy Elsner PROPOSAL
Chavez J OstroskySpainAnna Fali UNQUALIFIED
Antonio G PerinBrazilAnna Fali UNQUALIFIED
Mujtaba F MaletCanadaStephen Shaw QUALIFIED
Arvin A MaletItalyIvan Magalhaes QUALIFIED
Leja Q PoquetteArgentinaXuxue Feng NEGOTIATION
Deepesh N InouyeUnited KingdomAsiya Javayant QUALIFIED
Ivar I InouyeRussiaElwin Sharvill UNQUALIFIED
Mayumi A RimCanadaStephen Shaw PROPOSAL
Mujtaba U NestleCanadaAnna Fali QUALIFIED
Octavia F ButtIndiaXuxue Feng UNQUALIFIED
Octavia K GlickAustraliaAsiya Javayant PROPOSAL
Jones M PerinAustraliaXuxue Feng PROPOSAL
Julie S RulapaughItalyIoni Bowcher QUALIFIED
Costa T GauchoCanadaStephen Shaw PROPOSAL
Jefferson V DoeUnited KingdomAnna Fali RENEWAL
Morrow L VenereBrazilAsiya Javayant NEW
Mayumi O AmigonAustraliaIvan Magalhaes RENEWAL
Maisha F GarufiAustraliaXuxue Feng NEGOTIATION
Leon J NickaAustraliaAmy Elsner PROPOSAL
Kaitlin U FollerRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Jeanfrancois G Ruta
Mujtaba F Shinko
Clifford H Butt
Juan T Iturbide
Aruna X Foller
Kaitlin R Kolmetz
Ricardo D Venere
Juan E Royster
Aruna C Marrier
Stacey T Paprocki
Francesco N Ostrosky
Aruna Q Caldarera
Adams U Wieser
Maisha Y Stockham
Clifford W Saylors
Francesco J Gillian
Stacey S Iturbide
Ivar X Royster
Jefferson Z Glick
Mujtaba K Paprocki
Silvio G Ruta
Maria G Butt
Julie H Ruta
Emily W Ferencz
Murillo Y Foller
Mayumi F Perin
Aruna P Sergi
Clifford A Saylors
Izzy Z Albares
Maria B Malet
Jefferson Z Wieser
Aruna E Caldarera
Emily M Paprocki
Chavez Q Campain
Jones Q Saylors
Deepesh W Figeroa
Sinclair J Malet
Francesco B Caudy
Clifford D Wieser
Stacey L Slusarski
Leon S Perin
Francesco X Bolognia
Juan M Inouye
David I Gaucho
Aruna Q Chui
Claire N Schemmer
Kadeem Z Malet
Claire K Darakjy
Salvatore T Figeroa
Cody W Venere
IdCountryDate
1000France2025-07-09
1001Argentina2025-07-06
1002Italy2025-07-26
1003France2025-07-30
1004Canada2025-07-18
1005Australia2025-07-21
1006France2025-08-01
1007India2025-07-22
1008United Kingdom2025-07-13
1009Italy2025-07-28
1010Japan2025-07-09
1011United Kingdom2025-07-22
1012Germany2025-07-18
1013India2025-08-01
1014Germany2025-07-26
1015Australia2025-07-10
1016Australia2025-07-20
1017Spain2025-07-27
1018India2025-07-09
1019Australia2025-07-12
1020Spain2025-07-15
1021Brazil2025-07-23
1022Japan2025-07-07
1023Brazil2025-08-03
1024India2025-07-10
1025India2025-07-15
1026India2025-07-31
1027France2025-07-12
1028Argentina2025-07-23
1029Germany2025-07-15
1030Italy2025-07-31
1031Argentina2025-07-14
1032United Kingdom2025-07-17
1033Germany2025-07-15
1034United Kingdom2025-07-10
1035United Kingdom2025-07-14
1036Argentina2025-07-29
1037France2025-07-28
1038Canada2025-07-30
1039Argentina2025-07-09
1040Canada2025-07-13
1041Japan2025-07-20
1042Italy2025-07-08
1043Brazil2025-07-10
1044Germany2025-08-03
1045Russia2025-08-01
1046United Kingdom2025-07-11
1047Russia2025-07-24
1048Japan2025-07-30
1049France2025-08-02

On-Demand Data

NameIdCountryDate
Murillo M Glick1000Germany2025-07-07
Stacey M Maclead1001Australia2025-07-27
Smith W Tollner1002France2025-07-29
Murillo A Caldarera1003Japan2025-08-02
Deepesh O Garufi1004Argentina2025-07-23
Nicolas B Paprocki1005Spain2025-07-25
Leja K Morasca1006India2025-07-23
Emily I Morasca1007Spain2025-07-09
Ivar T Amigon1008Japan2025-07-07
Emily K Foller1009Brazil2025-07-06
Ashley N Glick1010Argentina2025-07-19
Aruna J Caldarera1011France2025-07-27
Jefferson A Rim1012India2025-07-07
Jones A Malet1013India2025-07-11
Murillo S Rim1014Italy2025-07-29
Leja A Paprocki1015Argentina2025-08-04
Johnson I Whobrey1016United Kingdom2025-07-18
Isabel S Caldarera1017Australia2025-07-07
Aika K Nestle1018Spain2025-07-24
Ricardo A Rim1019Japan2025-07-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon R MarrierUnited KingdomElwin Sharvill QUALIFIED
Costa E CaldareraBrazilOnyama Limba NEW
Rodrigues F SlusarskiJapanAsiya Javayant RENEWAL
Chavez K MarrierJapanStephen Shaw UNQUALIFIED
Izzy B SlusarskiIndiaStephen Shaw RENEWAL
Maria G ShinkoRussiaElwin Sharvill UNQUALIFIED
Costa V NestleBrazilIvan Magalhaes NEGOTIATION
Silvio R WaycottCanadaAnna Fali UNQUALIFIED
Antonio W RulapaughArgentinaElwin Sharvill RENEWAL
Maria U WieserItalyStephen Shaw QUALIFIED
Alejandro K WhobreyCanadaOnyama Limba RENEWAL
Francesco H FigeroaCanadaIvan Magalhaes UNQUALIFIED
Jones V ButtArgentinaIoni Bowcher PROPOSAL
Costa A RimAustraliaXuxue Feng UNQUALIFIED
Ivar Z RutaBrazilElwin Sharvill NEW
Jones H FlosiJapanAsiya Javayant QUALIFIED
Wickens Y GlickFranceXuxue Feng UNQUALIFIED
Cody S ShinkoGermanyStephen Shaw NEW
Stacey R StockhamGermanyAsiya Javayant NEW
Jeanfrancois C CampainBrazilStephen Shaw NEGOTIATION
Salvatore F VenereArgentinaXuxue Feng NEGOTIATION
Faith Y RoysterCanadaElwin Sharvill PROPOSAL
Salvatore A RimBrazilAsiya Javayant NEGOTIATION
Mujtaba V WieserUnited KingdomIoni Bowcher NEW
James T PoquetteRussiaIoni Bowcher RENEWAL
Salvatore N NickaAustraliaIvan Magalhaes NEGOTIATION
Morrow L MorascaIndiaAnna Fali NEW
Smith M WhobreyArgentinaAnna Fali RENEWAL
Cody I GarufiJapanStephen Shaw NEW
Salvatore F CaudyArgentinaAmy Elsner QUALIFIED
Ricardo T FlosiBrazilStephen Shaw PROPOSAL
Sinclair V MaletCanadaAnna Fali QUALIFIED
Isabel H FollerRussiaAsiya Javayant NEGOTIATION
Octavia H SaylorsJapanIvan Magalhaes PROPOSAL
Izzy N VocelkaItalyBernardo Dominic QUALIFIED
Silvio Z VenereJapanAnna Fali NEW
Kadeem B RutaItalyBernardo Dominic QUALIFIED
Maria Q SchemmerRussiaIvan Magalhaes NEW
James N KuskoRussiaStephen Shaw RENEWAL
Jennifer A CampainArgentinaAnna Fali PROPOSAL

<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>