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
Ivar S BowleySpainXuxue Feng UNQUALIFIED
Kadeem Y WhobreyGermanyElwin Sharvill UNQUALIFIED
Darci Y AmigonIndiaBernardo Dominic RENEWAL
Leon D MarrierBrazilIvan Magalhaes NEGOTIATION
Kadeem C DilliardItalyAsiya Javayant PROPOSAL
Salvatore H PoquetteRussiaOnyama Limba QUALIFIED
Isabel V FerenczRussiaIvan Magalhaes PROPOSAL
Aditya P StockhamAustraliaAsiya Javayant NEGOTIATION
Ivar Q BologniaUnited KingdomStephen Shaw UNQUALIFIED
Salvatore C GillianAustraliaElwin Sharvill UNQUALIFIED
Alejandro Q MorascaItalyElwin Sharvill UNQUALIFIED
Tony M FerenczSpainAnna Fali RENEWAL
Antonio S KuskoAustraliaIoni Bowcher NEW
Cody M KuskoAustraliaAnna Fali NEW
Juan G RimAustraliaIoni Bowcher PROPOSAL
Aika I StockhamFranceOnyama Limba NEW
Kadeem Z GauchoRussiaOnyama Limba NEW
Jefferson E DarakjyCanadaAsiya Javayant NEW
Salvatore A KolmetzUnited KingdomXuxue Feng NEGOTIATION
Jennifer O DarakjyRussiaBernardo Dominic PROPOSAL
Izzy B IturbideGermanyElwin Sharvill NEGOTIATION
Jones E PerinBrazilIoni Bowcher PROPOSAL
Julie F PoquetteAustraliaStephen Shaw UNQUALIFIED
Clifford R BologniaJapanIvan Magalhaes RENEWAL
Juan K DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Greenwood U FlosiFranceStephen Shaw NEGOTIATION
Francesco Z VocelkaUnited KingdomElwin Sharvill PROPOSAL
Jennifer K BologniaItalyIoni Bowcher QUALIFIED
Clifford R BologniaIndiaAnna Fali NEW
Costa N WaycottAustraliaOnyama Limba NEW
Ashley K SlusarskiSpainIvan Magalhaes NEGOTIATION
Greenwood H NestleJapanAsiya Javayant PROPOSAL
Faith V DarakjyIndiaAsiya Javayant PROPOSAL
Stacey P StensethGermanyOnyama Limba RENEWAL
Silvio E ChuiAustraliaBernardo Dominic RENEWAL
Kaitlin I DoeJapanAnna Fali QUALIFIED
Alejandro Q BriddickUnited KingdomAsiya Javayant NEGOTIATION
Arvin F KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Claire S MacleadArgentinaIoni Bowcher NEGOTIATION
Juan G WhobreyCanadaBernardo Dominic NEW
Johnson F RimFranceAsiya Javayant NEW
Maria G IturbideGermanyAnna Fali QUALIFIED
Mujtaba D MarrierArgentinaStephen Shaw RENEWAL
Munro G ShinkoItalyOnyama Limba NEW
Deepesh V AlbaresIndiaAsiya Javayant RENEWAL
Tony J GarufiIndiaIvan Magalhaes NEGOTIATION
Clifford L OldroydArgentinaOnyama Limba NEGOTIATION
Cody D VenereFranceElwin Sharvill NEW
Mujtaba P MorascaCanadaOnyama Limba UNQUALIFIED
Leon I RutaItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa Z SergiSpainOnyama Limba PROPOSAL
Kaitlin W KolmetzUnited KingdomElwin Sharvill RENEWAL
Deepesh S WieserGermanyIvan Magalhaes QUALIFIED
Nicolas L AlbaresAustraliaIvan Magalhaes NEGOTIATION
Kaitlin W MaletFranceOnyama Limba RENEWAL
Tony C RulapaughJapanElwin Sharvill QUALIFIED
Octavia M MacleadRussiaAmy Elsner NEGOTIATION
Silvio I IturbideArgentinaIoni Bowcher RENEWAL
Tony V SchemmerCanadaAmy Elsner UNQUALIFIED
Darci B VenereItalyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow J BowleySpain2025-08-19King, Christopher A Esq PROPOSAL33Elwin Sharvill
1001Stacey V KuskoJapan2025-07-31Dorl, James J Esq NEW51Stephen Shaw
1002Darci W CampainCanada2025-08-06Feiner Bros UNQUALIFIED10Bernardo Dominic
1003Darci C ChuiUnited Kingdom2025-08-18Rousseaux, Michael Esq RENEWAL93Ioni Bowcher
1004Kaitlin I FerenczBrazil2025-08-20Chapman, Ross E Esq UNQUALIFIED48Amy Elsner
1005David O VenereBrazil2025-08-20Feiner Bros RENEWAL48Ioni Bowcher
1006Stacey C SlusarskiSpain2025-08-13Chapman, Ross E Esq RENEWAL72Ivan Magalhaes
1007Clifford X SlusarskiFrance2025-08-16Rousseaux, Michael Esq RENEWAL46Bernardo Dominic
1008Greenwood Z OstroskyFrance2025-08-04Printing Dimensions QUALIFIED82Xuxue Feng
1009Maisha T RimSpain2025-08-09Rousseaux, Michael Esq RENEWAL24Stephen Shaw
1010Aditya K WaycottIndia2025-08-17Buckley Miller Wright PROPOSAL35Onyama Limba
1011Juan T CaldareraGermany2025-07-27Commercial Press NEW92Anna Fali
1012Kaitlin M NickaCanada2025-08-23Chanay, Jeffrey A Esq NEGOTIATION28Bernardo Dominic
1013Julie M FlosiJapan2025-08-18Printing Dimensions QUALIFIED85Stephen Shaw
1014David R RimUnited Kingdom2025-08-20Commercial Press UNQUALIFIED55Ivan Magalhaes
1015Murillo L SlusarskiRussia2025-08-23Feltz Printing Service RENEWAL82Ioni Bowcher
1016Leon I GlickBrazil2025-08-04Rangoni Of Florence PROPOSAL32Onyama Limba
1017Jennifer F GauchoAustralia2025-08-20Printing Dimensions NEW18Ivan Magalhaes
1018Cody M BologniaUnited Kingdom2025-08-13Rousseaux, Michael Esq NEGOTIATION95Stephen Shaw
1019Mayumi P GillianSpain2025-08-11Rousseaux, Michael Esq RENEWAL66Elwin Sharvill
1020Rodrigues G StockhamRussia2025-08-09Chemel, James L Cpa NEW94Onyama Limba
1021Claire O KuskoJapan2025-08-15Feiner Bros QUALIFIED74Ivan Magalhaes
1022Kaitlin R FigeroaJapan2025-08-20Printing Dimensions NEGOTIATION10Ioni Bowcher
1023Greenwood O FlosiItaly2025-08-02Buckley Miller Wright RENEWAL5Xuxue Feng
1024Munro K ButtUnited Kingdom2025-08-09Buckley Miller Wright QUALIFIED98Amy Elsner
1025Izzy N ShinkoFrance2025-07-25Chapman, Ross E Esq PROPOSAL59Bernardo Dominic
1026David G CampainJapan2025-08-08Printing Dimensions UNQUALIFIED48Asiya Javayant
1027Silvio W WieserJapan2025-08-03Commercial Press NEGOTIATION4Anna Fali
1028Deepesh G WaycottJapan2025-08-22Dorl, James J Esq NEW11Amy Elsner
1029Faith P WaycottSpain2025-08-20Buckley Miller Wright NEGOTIATION67Bernardo Dominic
1030Wickens W MaletCanada2025-08-21King, Christopher A Esq NEW7Bernardo Dominic
1031Juan K WaycottArgentina2025-07-29Dorl, James J Esq PROPOSAL71Amy Elsner
1032Smith Y BowleyGermany2025-08-09King, Christopher A Esq NEGOTIATION47Xuxue Feng
1033Salvatore E RulapaughAustralia2025-08-01Dorl, James J Esq RENEWAL91Elwin Sharvill
1034Deepesh H TollnerRussia2025-08-23King, Christopher A Esq UNQUALIFIED22Asiya Javayant
1035Deepesh I FigeroaFrance2025-08-07Chanay, Jeffrey A Esq NEW50Bernardo Dominic
1036Morrow C GillianIndia2025-08-09Feltz Printing Service PROPOSAL63Amy Elsner
1037Mujtaba C MaletIndia2025-08-14Rangoni Of Florence NEGOTIATION75Anna Fali
1038Leon P FlosiUnited Kingdom2025-08-22Benton, John B Jr UNQUALIFIED5Xuxue Feng
1039Clifford B InouyeSpain2025-08-12Buckley Miller Wright PROPOSAL95Ivan Magalhaes
1040Darci O BowleyCanada2025-08-09Benton, John B Jr PROPOSAL55Amy Elsner
1041Morrow Z SlusarskiUnited Kingdom2025-08-18Commercial Press NEGOTIATION80Stephen Shaw
1042Mujtaba G FigeroaAustralia2025-07-29Morlong Associates NEGOTIATION12Ioni Bowcher
1043Silvio G MorascaBrazil2025-08-13King, Christopher A Esq RENEWAL61Stephen Shaw
1044Costa R RutaUnited Kingdom2025-08-21Chanay, Jeffrey A Esq NEW98Ioni Bowcher
1045Nicolas F FigeroaRussia2025-08-03Dorl, James J Esq QUALIFIED33Amy Elsner
1046Chavez X OstroskySpain2025-08-07Chanay, Jeffrey A Esq NEW46Xuxue Feng
1047Clifford K PaprockiIndia2025-08-21Benton, John B Jr NEW69Onyama Limba
1048Costa I RimArgentina2025-08-02Printing Dimensions QUALIFIED90Stephen Shaw
1049Faith D WaycottFrance2025-07-28Chemel, James L Cpa PROPOSAL47Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha C CampainBrazilOnyama Limba RENEWAL
Maisha B RulapaughRussiaXuxue Feng QUALIFIED
Wickens R BowleyFranceAsiya Javayant NEW
Tony J MaletArgentinaAsiya Javayant QUALIFIED
Smith U WaycottBrazilAsiya Javayant UNQUALIFIED
Ivar Y InouyeJapanIvan Magalhaes RENEWAL
Sinclair L GauchoSpainIvan Magalhaes NEW
Aika A MaletCanadaIvan Magalhaes UNQUALIFIED
Darci L GarufiAustraliaAnna Fali PROPOSAL
Rodrigues M RimArgentinaElwin Sharvill QUALIFIED
Arvin S GlickGermanyOnyama Limba QUALIFIED
James J StockhamIndiaAsiya Javayant PROPOSAL
Emily W BowleyArgentinaXuxue Feng PROPOSAL
Ivar D KolmetzJapanIoni Bowcher NEGOTIATION
Deepesh Z NestleArgentinaStephen Shaw NEGOTIATION
Emily N PaprockiSpainStephen Shaw UNQUALIFIED
Adams R SaylorsIndiaAsiya Javayant NEGOTIATION
Emily J WhobreyArgentinaIvan Magalhaes RENEWAL
Rodrigues P PerinFranceStephen Shaw NEW
Aika W ButtBrazilAsiya Javayant RENEWAL
Leon B MarrierItalyOnyama Limba NEW
Maisha V SchemmerItalyAnna Fali RENEWAL
Wickens O FerenczCanadaElwin Sharvill QUALIFIED
Wickens B ChuiBrazilOnyama Limba QUALIFIED
Sinclair U StockhamItalyIvan Magalhaes PROPOSAL
Emily L DilliardItalyIoni Bowcher RENEWAL
Jones D NestleIndiaBernardo Dominic UNQUALIFIED
Emily A BriddickAustraliaIoni Bowcher NEGOTIATION
Chavez P DilliardBrazilAmy Elsner RENEWAL
Costa M CaldareraItalyBernardo Dominic QUALIFIED
Octavia Z RimItalyAnna Fali PROPOSAL
Jeanfrancois U SaylorsFranceElwin Sharvill PROPOSAL
Stacey S GlickGermanyOnyama Limba RENEWAL
Arvin P IturbideCanadaAmy Elsner RENEWAL
Alejandro G DarakjyUnited KingdomAsiya Javayant PROPOSAL
Jones V MorascaAustraliaElwin Sharvill RENEWAL
Emily A CaldareraRussiaIvan Magalhaes RENEWAL
Salvatore W KolmetzCanadaStephen Shaw NEW
Morrow D ChuiSpainIvan Magalhaes PROPOSAL
Morrow A KuskoGermanyAsiya Javayant PROPOSAL
Jeanfrancois U RulapaughArgentinaIoni Bowcher QUALIFIED
Johnson K MorascaCanadaAsiya Javayant NEGOTIATION
Silvio O PerinItalyBernardo Dominic UNQUALIFIED
Leja C CampainUnited KingdomAmy Elsner PROPOSAL
Julie Q GlickGermanyOnyama Limba NEW
Leja U KuskoAustraliaOnyama Limba NEGOTIATION
Tony O PoquetteRussiaStephen Shaw UNQUALIFIED
Faith A ChuiArgentinaBernardo Dominic NEGOTIATION
Mayumi O PerinFranceAmy Elsner UNQUALIFIED
Nicolas T CampainAustraliaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Arvin M Marrier
Murillo Z Venere
Maisha J Briddick
Jones P Stenseth
Adams K Morasca
Rodrigues X Ostrosky
Morrow O Bowley
Leon G Shinko
Cody V Briddick
Aruna A Morasca
Misaki P Gaucho
Mayumi U Shinko
Salvatore I Shinko
Isabel Z Kolmetz
Darci P Bolognia
Claire I Paprocki
Octavia Q Ruta
Faith N Malet
Cody X Briddick
Jeanfrancois U Rim
David V Whobrey
Sinclair J Darakjy
Octavia I Garufi
Maria A Waycott
Emily O Wieser
Ashley U Paprocki
Salvatore S Figeroa
Sinclair P Tollner
Nicolas O Ruta
Alejandro H Glick
Juan G Campain
Leon H Sergi
Faith C Paprocki
Misaki Z Amigon
Silvio X Rim
Silvio G Paprocki
Aditya J Gaucho
Jones M Chui
Munro X Shinko
Johnson T Tollner
Darci R Figeroa
Antonio Q Foller
Nicolas Q Flosi
Kadeem H Bolognia
Misaki M Gillian
Silvio Z Garufi
Francesco B Kolmetz
Antonio U Inouye
Aditya R Iturbide
Mayumi R Malet
IdCountryDate
1000Canada2025-07-30
1001Canada2025-08-10
1002United Kingdom2025-08-16
1003Italy2025-08-21
1004Japan2025-08-04
1005Spain2025-08-05
1006Australia2025-07-26
1007France2025-08-18
1008Germany2025-08-14
1009Australia2025-08-02
1010Australia2025-08-03
1011United Kingdom2025-08-19
1012Argentina2025-08-09
1013United Kingdom2025-08-16
1014India2025-08-18
1015Argentina2025-08-19
1016Italy2025-08-04
1017India2025-07-31
1018Spain2025-08-21
1019Spain2025-08-08
1020Japan2025-08-07
1021Spain2025-08-03
1022Canada2025-08-15
1023Australia2025-08-23
1024Canada2025-08-10
1025United Kingdom2025-08-02
1026Japan2025-08-16
1027Argentina2025-08-01
1028Spain2025-08-04
1029India2025-07-27
1030Canada2025-08-16
1031Brazil2025-08-11
1032France2025-08-14
1033Canada2025-07-25
1034Australia2025-08-11
1035Russia2025-08-01
1036Japan2025-08-22
1037Australia2025-08-10
1038Spain2025-08-15
1039Canada2025-08-07
1040Canada2025-08-06
1041Italy2025-08-12
1042India2025-08-14
1043United Kingdom2025-08-19
1044India2025-08-11
1045Argentina2025-08-07
1046Canada2025-08-11
1047Australia2025-08-12
1048Italy2025-07-26
1049India2025-08-03

On-Demand Data

NameIdCountryDate
Jones H Ostrosky1000Canada2025-08-16
Arvin F Dilliard1001Brazil2025-08-02
Wickens H Campain1002Australia2025-08-19
Munro I Campain1003United Kingdom2025-08-14
David G Briddick1004Brazil2025-08-23
Salvatore H Dilliard1005Australia2025-08-03
Tony D Gillian1006France2025-07-27
Jennifer M Dilliard1007India2025-08-06
Emily I Campain1008Japan2025-08-06
Leon Y Darakjy1009France2025-08-14
Kadeem U Maclead1010Canada2025-08-08
Francesco W Bowley1011Spain2025-08-10
Mayumi O Whobrey1012Australia2025-08-21
Smith N Malet1013Brazil2025-08-23
Salvatore K Figeroa1014Japan2025-08-08
Emily I Venere1015Brazil2025-07-30
Maisha O Doe1016Germany2025-07-31
Leja N Nicka1017Italy2025-08-06
Arvin E Flosi1018France2025-08-22
Antonio H Bolognia1019Argentina2025-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio E GillianJapanOnyama Limba UNQUALIFIED
Ashley H GarufiAustraliaIoni Bowcher QUALIFIED
Faith H OldroydFranceStephen Shaw QUALIFIED
David C GlickIndiaXuxue Feng NEW
Kaitlin G MaletGermanyElwin Sharvill NEGOTIATION
Aditya H AlbaresAustraliaStephen Shaw QUALIFIED
Mujtaba M GlickArgentinaStephen Shaw RENEWAL
Izzy Z MacleadArgentinaStephen Shaw NEGOTIATION
Costa M SlusarskiSpainIoni Bowcher NEGOTIATION
Julie A SaylorsItalyAsiya Javayant NEW
Greenwood W OstroskyJapanIvan Magalhaes NEGOTIATION
Cody F VocelkaCanadaAmy Elsner UNQUALIFIED
Mujtaba E CaudyAustraliaIvan Magalhaes RENEWAL
Munro G DarakjyUnited KingdomAsiya Javayant NEW
Murillo U RoysterAustraliaStephen Shaw NEW
Jones D DilliardItalyAsiya Javayant RENEWAL
Emily C VocelkaArgentinaAnna Fali QUALIFIED
Jeanfrancois L OldroydRussiaIvan Magalhaes UNQUALIFIED
Octavia U GlickGermanyElwin Sharvill UNQUALIFIED
Tony O InouyeAustraliaAmy Elsner UNQUALIFIED
Maisha Z PoquetteSpainAnna Fali QUALIFIED
Jones X ShinkoItalyElwin Sharvill NEGOTIATION
Aruna R RoysterArgentinaOnyama Limba NEW
Aditya L AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Ricardo H MaletCanadaAmy Elsner PROPOSAL
Wickens P ButtBrazilStephen Shaw UNQUALIFIED
Kadeem Y MaletBrazilOnyama Limba UNQUALIFIED
Alejandro Q GlickSpainXuxue Feng PROPOSAL
Morrow P DarakjyArgentinaOnyama Limba QUALIFIED
Leja B DoeJapanBernardo Dominic UNQUALIFIED
Maisha E SaylorsArgentinaElwin Sharvill NEW
Costa P ChuiIndiaBernardo Dominic RENEWAL
Costa V CampainJapanAnna Fali RENEWAL
Francesco O WieserCanadaElwin Sharvill NEW
Greenwood B BowleyIndiaBernardo Dominic NEW
Silvio R BologniaCanadaOnyama Limba NEW
Aditya C VocelkaGermanyIvan Magalhaes UNQUALIFIED
Leon T OldroydUnited KingdomOnyama Limba PROPOSAL
Emily N AlbaresBrazilStephen Shaw PROPOSAL
Darci O TollnerJapanAnna Fali 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>