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
Izzy Z SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Salvatore X GauchoFranceStephen Shaw RENEWAL
Ivar D BowleyItalyIvan Magalhaes NEGOTIATION
Rodrigues C MaletSpainBernardo Dominic RENEWAL
Alejandro O ChuiUnited KingdomIoni Bowcher NEW
Aika X GillianUnited KingdomXuxue Feng NEGOTIATION
Salvatore L ButtGermanyIvan Magalhaes UNQUALIFIED
Leja W DarakjyGermanyAsiya Javayant QUALIFIED
Kaitlin Z MaletBrazilAsiya Javayant NEGOTIATION
Silvio P NestleIndiaAnna Fali UNQUALIFIED
Jones J WhobreySpainBernardo Dominic NEGOTIATION
Antonio W ButtItalyOnyama Limba QUALIFIED
Jeanfrancois B MaletGermanyElwin Sharvill NEGOTIATION
Faith A BologniaFranceAsiya Javayant QUALIFIED
Arvin M WaycottAustraliaIvan Magalhaes RENEWAL
Mujtaba N InouyeFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois E MorascaArgentinaIvan Magalhaes NEGOTIATION
Ivar C PoquetteSpainAnna Fali QUALIFIED
Aruna O OstroskyUnited KingdomXuxue Feng PROPOSAL
Costa U VenereUnited KingdomAsiya Javayant UNQUALIFIED
Isabel Z DoeGermanyAnna Fali RENEWAL
Emily Q GlickAustraliaAsiya Javayant QUALIFIED
Greenwood G GauchoUnited KingdomAmy Elsner NEW
Jeanfrancois J FlosiBrazilStephen Shaw NEW
Juan U FollerItalyBernardo Dominic PROPOSAL
Jennifer F RutaRussiaIoni Bowcher UNQUALIFIED
Arvin T WieserItalyAmy Elsner NEGOTIATION
Stacey Y GarufiItalyElwin Sharvill NEGOTIATION
Aditya N SchemmerFranceStephen Shaw UNQUALIFIED
Adams F KolmetzUnited KingdomOnyama Limba NEGOTIATION
Silvio P SlusarskiCanadaElwin Sharvill UNQUALIFIED
Ricardo F SaylorsUnited KingdomIvan Magalhaes RENEWAL
Maria G ChuiFranceOnyama Limba QUALIFIED
Adams M MaletGermanyIvan Magalhaes PROPOSAL
Greenwood B DilliardGermanyXuxue Feng NEGOTIATION
Silvio Q SlusarskiRussiaAmy Elsner UNQUALIFIED
Leja V FlosiIndiaStephen Shaw NEGOTIATION
Morrow H GarufiRussiaStephen Shaw NEW
Adams N PaprockiGermanyAmy Elsner NEW
Misaki C SergiArgentinaBernardo Dominic UNQUALIFIED
Juan N SaylorsIndiaXuxue Feng PROPOSAL
Antonio E WaycottArgentinaOnyama Limba PROPOSAL
Aruna K PaprockiArgentinaXuxue Feng PROPOSAL
Murillo W VenereUnited KingdomStephen Shaw NEGOTIATION
Mujtaba Z KuskoCanadaStephen Shaw PROPOSAL
Leja X GillianItalyElwin Sharvill UNQUALIFIED
Deepesh B StockhamArgentinaIvan Magalhaes RENEWAL
Sinclair Y VenereGermanyBernardo Dominic QUALIFIED
Kaitlin S FerenczSpainStephen Shaw UNQUALIFIED
Antonio N BowleyJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco W FerenczCanadaIoni Bowcher UNQUALIFIED
Costa J VocelkaIndiaIoni Bowcher PROPOSAL
Ashley Q StensethUnited KingdomElwin Sharvill UNQUALIFIED
Juan S TollnerBrazilStephen Shaw QUALIFIED
Jefferson E RutaSpainAnna Fali RENEWAL
Octavia P CaldareraFranceStephen Shaw UNQUALIFIED
Kaitlin E MorascaJapanIvan Magalhaes UNQUALIFIED
Johnson T BowleySpainIvan Magalhaes QUALIFIED
Johnson Y KuskoItalyAnna Fali UNQUALIFIED
Octavia B NickaRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas E SergiUnited Kingdom2025-08-11Buckley Miller Wright NEGOTIATION25Bernardo Dominic
1001Stacey L CampainSpain2025-07-24Rangoni Of Florence QUALIFIED10Xuxue Feng
1002Sinclair T PaprockiBrazil2025-08-19Truhlar And Truhlar Attys NEGOTIATION77Ioni Bowcher
1003Cody B RutaArgentina2025-08-06Dorl, James J Esq RENEWAL83Ioni Bowcher
1004Aruna N MarrierGermany2025-07-24Truhlar And Truhlar Attys NEGOTIATION36Asiya Javayant
1005Kadeem O MaletItaly2025-08-07Chapman, Ross E Esq RENEWAL45Elwin Sharvill
1006Jefferson N MorascaFrance2025-08-14Chemel, James L Cpa QUALIFIED14Bernardo Dominic
1007Sinclair C ChuiSpain2025-08-15Benton, John B Jr RENEWAL24Anna Fali
1008Leja A GillianGermany2025-08-13Commercial Press QUALIFIED16Asiya Javayant
1009Octavia H GlickIndia2025-08-01Rangoni Of Florence RENEWAL4Elwin Sharvill
1010Darci Y WieserIndia2025-07-30Morlong Associates QUALIFIED1Amy Elsner
1011Rodrigues Y FollerArgentina2025-08-09Rousseaux, Michael Esq NEGOTIATION32Bernardo Dominic
1012Ricardo L NickaArgentina2025-08-11Morlong Associates QUALIFIED82Elwin Sharvill
1013Jeanfrancois N SaylorsAustralia2025-07-30Printing Dimensions NEGOTIATION33Asiya Javayant
1014Costa K DarakjyGermany2025-08-06Buckley Miller Wright UNQUALIFIED22Stephen Shaw
1015Adams G KolmetzIndia2025-08-17Chanay, Jeffrey A Esq QUALIFIED45Anna Fali
1016Mujtaba K SchemmerJapan2025-08-13Truhlar And Truhlar Attys RENEWAL16Anna Fali
1017Deepesh Z RulapaughSpain2025-08-11Rousseaux, Michael Esq RENEWAL71Xuxue Feng
1018Mayumi D ChuiArgentina2025-08-09Feiner Bros NEGOTIATION52Asiya Javayant
1019Cody E WhobreyGermany2025-08-02Benton, John B Jr RENEWAL51Ivan Magalhaes
1020Ivar A VenereRussia2025-08-03Feltz Printing Service QUALIFIED19Bernardo Dominic
1021Stacey L StockhamItaly2025-08-05Commercial Press UNQUALIFIED63Ivan Magalhaes
1022Clifford L RimFrance2025-08-07Commercial Press PROPOSAL0Stephen Shaw
1023Aruna A MaletItaly2025-08-05Commercial Press UNQUALIFIED63Ioni Bowcher
1024Rodrigues V SaylorsItaly2025-07-27King, Christopher A Esq NEGOTIATION34Anna Fali
1025Tony E StensethBrazil2025-08-13King, Christopher A Esq PROPOSAL70Bernardo Dominic
1026Ashley J RimUnited Kingdom2025-08-18Dorl, James J Esq QUALIFIED10Ioni Bowcher
1027Ricardo R ShinkoJapan2025-08-11Dorl, James J Esq PROPOSAL10Onyama Limba
1028Jefferson C MaletIndia2025-08-04King, Christopher A Esq NEGOTIATION15Ioni Bowcher
1029Maria D BologniaGermany2025-08-14Morlong Associates UNQUALIFIED74Stephen Shaw
1030Maisha O OstroskyIndia2025-07-24Rangoni Of Florence NEGOTIATION86Xuxue Feng
1031Costa X PerinSpain2025-08-05Truhlar And Truhlar Attys PROPOSAL37Asiya Javayant
1032Johnson T MaletUnited Kingdom2025-08-09Chapman, Ross E Esq NEW35Ivan Magalhaes
1033Adams Q ButtGermany2025-08-15Printing Dimensions NEGOTIATION93Asiya Javayant
1034Maria V TollnerIndia2025-08-17Dorl, James J Esq UNQUALIFIED91Onyama Limba
1035Octavia Q FlosiIndia2025-08-04Chapman, Ross E Esq RENEWAL73Amy Elsner
1036Nicolas W MacleadGermany2025-07-28Feltz Printing Service RENEWAL11Elwin Sharvill
1037Morrow L DilliardCanada2025-08-06Truhlar And Truhlar Attys UNQUALIFIED5Xuxue Feng
1038Aditya C VenereIndia2025-07-26Feiner Bros PROPOSAL47Xuxue Feng
1039Kadeem A CaudyGermany2025-08-08Chanay, Jeffrey A Esq PROPOSAL74Anna Fali
1040Darci H MarrierArgentina2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1041Johnson W AlbaresGermany2025-07-25Feiner Bros QUALIFIED4Elwin Sharvill
1042Costa W GarufiBrazil2025-07-24Chapman, Ross E Esq NEGOTIATION22Onyama Limba
1043Francesco Q RoysterIndia2025-08-08Chemel, James L Cpa UNQUALIFIED33Anna Fali
1044Juan S BriddickJapan2025-07-24Feiner Bros PROPOSAL50Xuxue Feng
1045Clifford Q KuskoGermany2025-08-12Chemel, James L Cpa RENEWAL75Elwin Sharvill
1046Francesco H ChuiIndia2025-08-03Morlong Associates RENEWAL75Anna Fali
1047Smith Z BologniaJapan2025-08-02Rousseaux, Michael Esq NEW18Elwin Sharvill
1048Nicolas A StensethIndia2025-07-28Rangoni Of Florence NEW43Elwin Sharvill
1049Tony B FigeroaAustralia2025-08-15Rousseaux, Michael Esq NEW12Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aditya P SlusarskiFranceBernardo Dominic NEGOTIATION
Octavia E RulapaughRussiaStephen Shaw NEGOTIATION
Mujtaba P RoysterBrazilAmy Elsner PROPOSAL
Maisha X BriddickGermanyStephen Shaw QUALIFIED
Silvio B MaletGermanyAmy Elsner PROPOSAL
Aditya E AlbaresUnited KingdomIvan Magalhaes NEW
Murillo E AmigonCanadaIvan Magalhaes PROPOSAL
Adams L DoeCanadaAmy Elsner UNQUALIFIED
Tony G DilliardArgentinaAsiya Javayant UNQUALIFIED
Nicolas V GauchoCanadaAmy Elsner PROPOSAL
Jeanfrancois M GlickUnited KingdomOnyama Limba PROPOSAL
Clifford B BologniaFranceIoni Bowcher NEGOTIATION
Kaitlin B BowleyFranceIoni Bowcher NEGOTIATION
Juan M SaylorsCanadaXuxue Feng UNQUALIFIED
Smith F DarakjyRussiaElwin Sharvill NEGOTIATION
Smith F GauchoItalyOnyama Limba UNQUALIFIED
Tony K KuskoIndiaAmy Elsner QUALIFIED
Rodrigues L FerenczRussiaBernardo Dominic QUALIFIED
Munro Q PoquetteBrazilIvan Magalhaes NEW
David P TollnerGermanyAnna Fali NEGOTIATION
Stacey X DarakjyJapanBernardo Dominic NEGOTIATION
Aika R OldroydRussiaAmy Elsner UNQUALIFIED
Salvatore W WieserBrazilAsiya Javayant NEGOTIATION
Deepesh R RoysterUnited KingdomStephen Shaw NEW
Kaitlin K KolmetzJapanOnyama Limba NEW
Munro V SchemmerBrazilAnna Fali NEW
James Z SergiItalyIvan Magalhaes NEGOTIATION
Kadeem I MaletArgentinaIvan Magalhaes NEW
Maisha X MarrierCanadaIvan Magalhaes RENEWAL
Kadeem W MaletBrazilStephen Shaw NEGOTIATION
Jennifer H DarakjySpainAnna Fali NEW
Julie R NickaGermanyOnyama Limba PROPOSAL
James R SchemmerRussiaAsiya Javayant PROPOSAL
Jennifer T IturbideItalyOnyama Limba QUALIFIED
Clifford K KolmetzJapanStephen Shaw UNQUALIFIED
Wickens Z FerenczArgentinaAmy Elsner QUALIFIED
Izzy I GillianCanadaElwin Sharvill NEGOTIATION
Mujtaba G StockhamJapanXuxue Feng NEGOTIATION
Francesco R KolmetzRussiaBernardo Dominic NEGOTIATION
Adams B AlbaresUnited KingdomAnna Fali NEW
Juan W WieserArgentinaElwin Sharvill RENEWAL
Darci T SchemmerJapanBernardo Dominic UNQUALIFIED
Darci J ShinkoAustraliaStephen Shaw PROPOSAL
Jennifer V PerinArgentinaIoni Bowcher NEGOTIATION
Jefferson Z WieserSpainElwin Sharvill NEW
Juan H GillianRussiaAnna Fali UNQUALIFIED
Stacey H CampainBrazilIvan Magalhaes RENEWAL
Aditya I WaycottFranceAsiya Javayant NEGOTIATION
Ashley D SergiRussiaXuxue Feng PROPOSAL
Claire M PoquetteCanadaAmy Elsner QUALIFIED
Frozen Columns
Name
Emily D Morasca
Morrow B Nicka
Jones Q Ostrosky
Kaitlin U Sergi
Juan K Sergi
Jeanfrancois Q Chui
Tony U Maclead
Tony C Caudy
Emily N Stenseth
Darci W Malet
David T Marrier
David L Stockham
Kadeem G Ostrosky
Johnson V Ruta
Maisha K Kusko
Isabel E Paprocki
Adams U Dilliard
Greenwood Z Caldarera
Leja V Oldroyd
Chavez O Paprocki
Costa S Kolmetz
Deepesh K Stenseth
Arvin K Waycott
Alejandro Y Figeroa
Smith L Flosi
Costa M Rulapaugh
Maisha R Garufi
Morrow V Marrier
Aditya Y Schemmer
Rodrigues A Paprocki
Octavia Q Saylors
Clifford K Shinko
Ashley A Sergi
Kaitlin A Inouye
Julie F Gaucho
Mayumi O Ostrosky
Smith M Shinko
Faith N Saylors
David V Ruta
Jeanfrancois B Waycott
Kadeem E Gillian
Misaki Q Foller
Maisha E Glick
Emily J Darakjy
Julie D Schemmer
David I Wieser
Francesco O Royster
Julie G Waycott
Jones B Perin
Stacey H Slusarski
IdCountryDate
1000France2025-08-14
1001Brazil2025-07-31
1002India2025-08-05
1003Spain2025-08-06
1004Italy2025-07-28
1005Canada2025-07-31
1006Brazil2025-07-26
1007Italy2025-07-31
1008Canada2025-08-18
1009Germany2025-08-16
1010Spain2025-08-02
1011Japan2025-08-05
1012Russia2025-08-04
1013India2025-08-21
1014Brazil2025-08-06
1015Brazil2025-08-13
1016Spain2025-07-28
1017India2025-07-24
1018Australia2025-08-18
1019Japan2025-08-16
1020Japan2025-07-27
1021Spain2025-08-22
1022Canada2025-08-16
1023United Kingdom2025-07-29
1024Argentina2025-08-09
1025Spain2025-07-24
1026India2025-08-04
1027Brazil2025-08-11
1028France2025-08-20
1029Australia2025-08-21
1030Germany2025-07-31
1031Australia2025-08-17
1032India2025-08-05
1033Germany2025-07-27
1034France2025-08-03
1035Australia2025-08-22
1036Argentina2025-08-13
1037Canada2025-08-02
1038Brazil2025-08-06
1039Argentina2025-07-26
1040Japan2025-07-29
1041Japan2025-08-05
1042Italy2025-08-06
1043Spain2025-07-26
1044Brazil2025-07-28
1045France2025-07-30
1046Spain2025-08-22
1047Germany2025-07-27
1048Russia2025-08-04
1049Japan2025-08-05

On-Demand Data

NameIdCountryDate
Salvatore K Garufi1000Spain2025-08-13
Mayumi W Schemmer1001Japan2025-08-05
Wickens Q Dilliard1002France2025-08-11
Cody M Nicka1003Russia2025-07-24
Maria H Wieser1004India2025-07-29
Smith K Bowley1005Spain2025-08-11
Claire I Poquette1006Russia2025-07-28
Salvatore D Briddick1007Spain2025-08-03
James F Malet1008Argentina2025-08-13
Aika N Darakjy1009Australia2025-08-04
Francesco D Caudy1010India2025-08-07
Silvio S Stenseth1011Canada2025-07-26
Aditya J Malet1012United Kingdom2025-08-15
Francesco E Saylors1013Italy2025-08-04
Kaitlin W Paprocki1014Canada2025-07-27
Morrow N Albares1015France2025-08-01
Salvatore S Amigon1016France2025-07-26
Ricardo J Vocelka1017Brazil2025-08-03
Deepesh C Garufi1018Italy2025-07-28
Francesco N Rulapaugh1019Japan2025-08-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson T WaycottIndiaBernardo Dominic QUALIFIED
Mayumi E WhobreyBrazilOnyama Limba RENEWAL
Maisha G OstroskyRussiaAsiya Javayant UNQUALIFIED
Adams P SlusarskiRussiaStephen Shaw QUALIFIED
Ashley B SchemmerIndiaXuxue Feng UNQUALIFIED
Costa R SlusarskiArgentinaOnyama Limba RENEWAL
Sinclair I OstroskyBrazilIvan Magalhaes QUALIFIED
Aika J CampainCanadaAnna Fali PROPOSAL
Maisha C StensethJapanIvan Magalhaes NEW
Munro O AlbaresRussiaAmy Elsner RENEWAL
Kadeem G WieserAustraliaXuxue Feng NEW
Izzy C BologniaIndiaIvan Magalhaes NEGOTIATION
Francesco C FlosiCanadaIvan Magalhaes QUALIFIED
Morrow R BriddickSpainIoni Bowcher NEGOTIATION
Darci I MorascaItalyBernardo Dominic NEGOTIATION
Maria A GillianItalyAmy Elsner NEW
Salvatore C GarufiGermanyStephen Shaw RENEWAL
Francesco T AlbaresFranceAnna Fali NEGOTIATION
Aika U OldroydAustraliaStephen Shaw UNQUALIFIED
Ricardo Q ChuiJapanStephen Shaw UNQUALIFIED
Johnson L SaylorsBrazilStephen Shaw QUALIFIED
Isabel V GarufiIndiaIvan Magalhaes QUALIFIED
Aika Y NestleIndiaAsiya Javayant QUALIFIED
Kadeem W StensethFranceIoni Bowcher UNQUALIFIED
Morrow E SchemmerUnited KingdomOnyama Limba RENEWAL
Isabel L FlosiBrazilIvan Magalhaes NEGOTIATION
Wickens C NestleArgentinaAsiya Javayant RENEWAL
Cody C TollnerIndiaIoni Bowcher NEW
Mujtaba G FollerSpainElwin Sharvill UNQUALIFIED
Tony G KuskoFranceAmy Elsner NEW
Jennifer Y InouyeIndiaIvan Magalhaes PROPOSAL
Claire G MarrierAustraliaAnna Fali PROPOSAL
David L WaycottAustraliaOnyama Limba PROPOSAL
Ivar C FigeroaArgentinaElwin Sharvill PROPOSAL
Ricardo A SlusarskiBrazilElwin Sharvill UNQUALIFIED
Salvatore I AmigonAustraliaIvan Magalhaes UNQUALIFIED
Claire U CampainCanadaAnna Fali UNQUALIFIED
Aditya T WieserAustraliaBernardo Dominic NEGOTIATION
Aruna U DilliardJapanStephen Shaw NEGOTIATION
David D SaylorsGermanyOnyama Limba NEW

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