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
Leon X BriddickIndiaOnyama Limba UNQUALIFIED
Darci N WieserIndiaElwin Sharvill NEW
Darci O AlbaresUnited KingdomBernardo Dominic PROPOSAL
Aika T OstroskyArgentinaIvan Magalhaes RENEWAL
Jones W SlusarskiArgentinaAmy Elsner QUALIFIED
Jeanfrancois O MarrierGermanyBernardo Dominic UNQUALIFIED
Smith G SlusarskiJapanBernardo Dominic NEW
Morrow L KolmetzBrazilAsiya Javayant NEW
Misaki H MacleadAustraliaOnyama Limba NEGOTIATION
Antonio V BowleyItalyIoni Bowcher NEGOTIATION
Ricardo B CaldareraIndiaAnna Fali UNQUALIFIED
Adams J CaudyBrazilElwin Sharvill RENEWAL
Cody Y CaldareraJapanAsiya Javayant UNQUALIFIED
Kaitlin Y GlickJapanXuxue Feng NEW
Ashley U WhobreyIndiaAmy Elsner NEW
Silvio S RulapaughBrazilStephen Shaw RENEWAL
Jennifer U PaprockiSpainIoni Bowcher QUALIFIED
Julie Y StockhamAustraliaOnyama Limba PROPOSAL
Mujtaba F VenereGermanyAsiya Javayant NEGOTIATION
Maria M DilliardCanadaIoni Bowcher PROPOSAL
Wickens N DilliardJapanIoni Bowcher PROPOSAL
Clifford L RulapaughCanadaElwin Sharvill PROPOSAL
Silvio I GauchoFranceElwin Sharvill UNQUALIFIED
Costa X MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Izzy B PerinSpainIvan Magalhaes RENEWAL
Munro G MorascaArgentinaElwin Sharvill PROPOSAL
Kaitlin C BriddickGermanyAnna Fali QUALIFIED
Salvatore Q PaprockiIndiaAnna Fali NEGOTIATION
Jeanfrancois R WhobreyIndiaStephen Shaw NEW
Tony I StensethJapanAnna Fali NEGOTIATION
Jefferson C CaudyBrazilAmy Elsner NEGOTIATION
Mayumi K WieserAustraliaIoni Bowcher NEGOTIATION
Kaitlin N AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois Y RutaFranceIoni Bowcher NEW
Clifford R FerenczJapanAnna Fali PROPOSAL
Adams D FigeroaRussiaAsiya Javayant PROPOSAL
Cody I BologniaJapanAnna Fali RENEWAL
Stacey M ShinkoSpainAnna Fali NEW
Jennifer J MacleadFranceOnyama Limba QUALIFIED
Leja O WieserAustraliaOnyama Limba QUALIFIED
Cody R SergiRussiaBernardo Dominic PROPOSAL
Sinclair I NestleUnited KingdomXuxue Feng QUALIFIED
Ivar J SaylorsJapanAsiya Javayant RENEWAL
Costa S BriddickAustraliaIoni Bowcher PROPOSAL
Ivar Q SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Aika Z CaudyJapanAsiya Javayant QUALIFIED
Alejandro T FerenczCanadaAmy Elsner QUALIFIED
Darci R RimFranceIoni Bowcher NEGOTIATION
Smith N BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Ivar U RoysterAustraliaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Juan G ChuiGermanyIvan Magalhaes NEGOTIATION
Alejandro C GillianRussiaAmy Elsner PROPOSAL
Salvatore J DarakjyItalyStephen Shaw UNQUALIFIED
Alejandro M RutaAustraliaAnna Fali RENEWAL
Ivar O MarrierArgentinaIvan Magalhaes PROPOSAL
Costa C WaycottSpainAmy Elsner QUALIFIED
Kadeem H WhobreyCanadaAsiya Javayant UNQUALIFIED
Jennifer V FigeroaBrazilElwin Sharvill PROPOSAL
Jeanfrancois F CampainRussiaAnna Fali QUALIFIED
Maisha K DarakjyArgentinaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro X InouyeIndia2025-08-06Dorl, James J Esq NEGOTIATION38Ioni Bowcher
1001Munro E SergiUnited Kingdom2025-08-12Chemel, James L Cpa PROPOSAL32Bernardo Dominic
1002Alejandro E DilliardBrazil2025-08-07Morlong Associates NEGOTIATION68Bernardo Dominic
1003Kadeem D CaldareraGermany2025-08-17Buckley Miller Wright RENEWAL41Ivan Magalhaes
1004Adams X VocelkaAustralia2025-08-12Morlong Associates UNQUALIFIED30Elwin Sharvill
1005Julie O ChuiSpain2025-08-02Chanay, Jeffrey A Esq UNQUALIFIED22Amy Elsner
1006Emily E RoysterJapan2025-08-02King, Christopher A Esq QUALIFIED89Elwin Sharvill
1007David Q AmigonRussia2025-08-09Truhlar And Truhlar Attys PROPOSAL60Amy Elsner
1008Kaitlin Q MarrierJapan2025-08-26Buckley Miller Wright RENEWAL24Ioni Bowcher
1009Munro T OldroydSpain2025-08-18Truhlar And Truhlar Attys NEW39Asiya Javayant
1010Francesco X BowleyIndia2025-08-08King, Christopher A Esq RENEWAL13Stephen Shaw
1011Kadeem P BologniaItaly2025-08-04Feltz Printing Service PROPOSAL11Amy Elsner
1012Jennifer A FerenczSpain2025-08-01Rousseaux, Michael Esq PROPOSAL20Stephen Shaw
1013Juan B WieserUnited Kingdom2025-08-12Chanay, Jeffrey A Esq PROPOSAL72Ivan Magalhaes
1014Alejandro T OstroskyFrance2025-08-01Morlong Associates RENEWAL24Onyama Limba
1015Leon Y VenereRussia2025-08-21Feiner Bros NEGOTIATION33Asiya Javayant
1016Nicolas K GarufiUnited Kingdom2025-08-05Truhlar And Truhlar Attys RENEWAL27Asiya Javayant
1017Stacey S TollnerRussia2025-08-22Chemel, James L Cpa PROPOSAL51Elwin Sharvill
1018Morrow R GauchoItaly2025-08-17Rousseaux, Michael Esq NEW17Anna Fali
1019Munro G ChuiRussia2025-08-07Feltz Printing Service NEW61Onyama Limba
1020Antonio C GauchoGermany2025-08-09Morlong Associates QUALIFIED97Onyama Limba
1021Johnson R DilliardAustralia2025-08-02Benton, John B Jr QUALIFIED79Asiya Javayant
1022Mayumi M KuskoAustralia2025-08-11Rousseaux, Michael Esq NEW5Stephen Shaw
1023Deepesh G MorascaRussia2025-08-10Feiner Bros UNQUALIFIED4Bernardo Dominic
1024Chavez W FollerArgentina2025-08-16Truhlar And Truhlar Attys QUALIFIED20Stephen Shaw
1025Jeanfrancois X CampainRussia2025-08-12Dorl, James J Esq UNQUALIFIED62Elwin Sharvill
1026Ashley Q SergiJapan2025-07-30Chanay, Jeffrey A Esq PROPOSAL97Ivan Magalhaes
1027Julie N TollnerAustralia2025-08-10Chanay, Jeffrey A Esq RENEWAL68Amy Elsner
1028Leja P GlickJapan2025-08-20Truhlar And Truhlar Attys NEW61Bernardo Dominic
1029Maria Z OstroskyItaly2025-08-02Chapman, Ross E Esq QUALIFIED74Bernardo Dominic
1030Jeanfrancois J NickaAustralia2025-08-26Feltz Printing Service NEGOTIATION47Elwin Sharvill
1031James B NestleBrazil2025-07-31Feiner Bros QUALIFIED45Ioni Bowcher
1032Murillo J DarakjyGermany2025-08-11Feiner Bros QUALIFIED12Anna Fali
1033Aditya J DoeIndia2025-08-18Chapman, Ross E Esq RENEWAL81Amy Elsner
1034Munro I RimItaly2025-08-18Benton, John B Jr NEGOTIATION80Asiya Javayant
1035Julie Q SlusarskiRussia2025-08-27Chapman, Ross E Esq RENEWAL67Amy Elsner
1036Maria G AlbaresBrazil2025-08-26Feltz Printing Service QUALIFIED31Asiya Javayant
1037Silvio I PaprockiIndia2025-08-22Buckley Miller Wright UNQUALIFIED32Ioni Bowcher
1038Emily V RutaUnited Kingdom2025-08-01King, Christopher A Esq PROPOSAL57Amy Elsner
1039Maisha C InouyeIndia2025-08-27King, Christopher A Esq QUALIFIED52Elwin Sharvill
1040Octavia S SaylorsUnited Kingdom2025-08-13Rousseaux, Michael Esq UNQUALIFIED18Bernardo Dominic
1041Emily T WhobreyIndia2025-08-06Feiner Bros QUALIFIED6Asiya Javayant
1042Wickens C ChuiAustralia2025-08-02Buckley Miller Wright PROPOSAL75Asiya Javayant
1043Stacey M RulapaughSpain2025-08-03Chanay, Jeffrey A Esq PROPOSAL56Anna Fali
1044Murillo X SlusarskiSpain2025-08-02Printing Dimensions UNQUALIFIED42Bernardo Dominic
1045Wickens R PerinJapan2025-08-12Printing Dimensions NEGOTIATION26Ivan Magalhaes
1046Jeanfrancois X SaylorsJapan2025-08-10Dorl, James J Esq QUALIFIED35Anna Fali
1047James X RulapaughIndia2025-08-04Dorl, James J Esq NEW51Amy Elsner
1048James W FlosiArgentina2025-08-09Rangoni Of Florence PROPOSAL40Amy Elsner
1049Tony T PerinBrazil2025-08-24Truhlar And Truhlar Attys QUALIFIED15Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood T SlusarskiRussiaIvan Magalhaes PROPOSAL
Morrow O DarakjyAustraliaOnyama Limba NEGOTIATION
Darci Z PerinRussiaBernardo Dominic PROPOSAL
Tony T MacleadSpainIoni Bowcher NEGOTIATION
Morrow Z GauchoFranceStephen Shaw QUALIFIED
Johnson C PerinFranceIvan Magalhaes PROPOSAL
Mayumi S RulapaughCanadaBernardo Dominic RENEWAL
Cody R IturbideItalyStephen Shaw NEW
Aika W AlbaresCanadaAsiya Javayant NEGOTIATION
Sinclair H FigeroaSpainIvan Magalhaes PROPOSAL
Ricardo D SaylorsSpainAnna Fali QUALIFIED
Costa U OstroskyCanadaStephen Shaw PROPOSAL
Ivar Y NickaBrazilAnna Fali NEGOTIATION
Munro E PoquetteBrazilBernardo Dominic NEGOTIATION
James V OstroskyBrazilBernardo Dominic NEGOTIATION
Aika W MaletUnited KingdomBernardo Dominic PROPOSAL
Deepesh Z MacleadBrazilAnna Fali NEGOTIATION
Maisha G MarrierJapanIoni Bowcher NEGOTIATION
Mujtaba H TollnerItalyAsiya Javayant UNQUALIFIED
Leon N ButtAustraliaBernardo Dominic RENEWAL
Antonio T WieserCanadaXuxue Feng NEGOTIATION
Aruna W SchemmerAustraliaAnna Fali PROPOSAL
Jones W StensethGermanyOnyama Limba NEW
Aika C MorascaCanadaStephen Shaw RENEWAL
Antonio I NestleAustraliaOnyama Limba NEW
Clifford L SaylorsJapanIoni Bowcher QUALIFIED
David F SaylorsItalyIvan Magalhaes NEGOTIATION
Smith U PerinFranceAnna Fali NEW
Juan C SaylorsJapanAsiya Javayant QUALIFIED
Mujtaba B KolmetzArgentinaAsiya Javayant QUALIFIED
Alejandro T GillianRussiaElwin Sharvill NEW
Arvin M GarufiUnited KingdomAnna Fali RENEWAL
Jefferson M FlosiSpainElwin Sharvill NEW
Aruna O SaylorsGermanyStephen Shaw NEW
Ivar N WhobreyItalyAmy Elsner UNQUALIFIED
Wickens S RulapaughSpainBernardo Dominic NEW
Deepesh W BowleyItalyAmy Elsner NEGOTIATION
Darci R DarakjyJapanAmy Elsner UNQUALIFIED
Nicolas A FigeroaBrazilBernardo Dominic RENEWAL
Aditya P InouyeFranceAnna Fali QUALIFIED
Leon E StockhamItalyAmy Elsner PROPOSAL
Munro I SaylorsArgentinaAmy Elsner NEW
Adams A GauchoUnited KingdomAnna Fali PROPOSAL
Jennifer Z KolmetzJapanStephen Shaw RENEWAL
Munro N VenereFranceAmy Elsner QUALIFIED
Tony G RulapaughCanadaElwin Sharvill QUALIFIED
Misaki C MarrierRussiaOnyama Limba PROPOSAL
Munro C MarrierJapanOnyama Limba RENEWAL
Adams I AlbaresSpainBernardo Dominic UNQUALIFIED
Salvatore B BriddickCanadaBernardo Dominic PROPOSAL
Frozen Columns
Name
Cody Z Kusko
Sinclair E Ostrosky
Clifford P Shinko
Misaki J Nestle
Tony D Glick
David B Nicka
Kadeem D Amigon
Chavez B Malet
Misaki C Bowley
Julie Q Vocelka
David I Briddick
Cody C Flosi
Costa J Nestle
Maria I Slusarski
James I Caldarera
Mayumi N Tollner
Smith T Nestle
Cody J Flosi
Wickens S Shinko
Darci Y Chui
Cody V Marrier
James K Stenseth
Wickens O Ruta
Mayumi K Bowley
Isabel X Gaucho
Costa K Doe
Faith C Paprocki
Octavia Y Wieser
Chavez N Vocelka
Murillo W Figeroa
Rodrigues W Ferencz
Emily Y Gillian
David Y Doe
Aruna Y Amigon
Ivar G Inouye
Mujtaba D Oldroyd
Ricardo A Tollner
Juan O Gillian
Mujtaba B Shinko
Clifford D Malet
Silvio C Wieser
Misaki V Slusarski
Deepesh K Morasca
Leon T Foller
Jeanfrancois Q Kusko
Nicolas L Tollner
Murillo A Ruta
Leja W Schemmer
Claire Y Tollner
Maria P Briddick
IdCountryDate
1000France2025-08-14
1001Argentina2025-08-17
1002Russia2025-08-21
1003Germany2025-08-08
1004Australia2025-08-09
1005Russia2025-08-15
1006United Kingdom2025-08-12
1007United Kingdom2025-08-24
1008Argentina2025-08-20
1009Russia2025-08-28
1010Canada2025-08-13
1011Germany2025-08-22
1012France2025-08-25
1013Australia2025-08-15
1014Russia2025-08-04
1015Argentina2025-08-18
1016Argentina2025-08-10
1017Russia2025-08-16
1018India2025-08-24
1019United Kingdom2025-08-28
1020Argentina2025-08-25
1021Italy2025-08-13
1022France2025-08-14
1023France2025-08-23
1024Japan2025-08-03
1025Brazil2025-08-04
1026France2025-08-10
1027Spain2025-08-12
1028Argentina2025-08-13
1029India2025-08-04
1030Germany2025-08-16
1031Argentina2025-08-21
1032Germany2025-08-26
1033Russia2025-08-03
1034Japan2025-08-08
1035India2025-08-01
1036Brazil2025-07-30
1037Canada2025-08-22
1038Italy2025-08-26
1039Germany2025-08-01
1040Italy2025-08-15
1041Canada2025-08-14
1042Germany2025-08-11
1043Brazil2025-08-07
1044Australia2025-08-20
1045Australia2025-08-19
1046United Kingdom2025-08-03
1047Italy2025-08-13
1048India2025-08-09
1049Argentina2025-08-16

On-Demand Data

NameIdCountryDate
Mayumi H Rulapaugh1000France2025-08-23
Faith E Nicka1001India2025-08-25
Kaitlin H Maclead1002Spain2025-07-30
Antonio U Schemmer1003Germany2025-08-15
Faith S Bowley1004Spain2025-08-14
Jennifer M Waycott1005United Kingdom2025-08-16
Francesco F Perin1006India2025-08-08
Maria N Schemmer1007Italy2025-08-27
Aruna G Garufi1008Japan2025-08-01
Emily Y Butt1009Spain2025-08-25
Aruna R Doe1010United Kingdom2025-08-21
Costa Z Gaucho1011Australia2025-08-24
Mayumi R Bolognia1012Australia2025-08-02
Jennifer V Royster1013Argentina2025-08-23
Deepesh G Oldroyd1014France2025-08-23
Claire Z Flosi1015Germany2025-08-17
Mayumi M Butt1016Spain2025-08-24
Antonio X Shinko1017Argentina2025-08-20
Ricardo Q Venere1018Italy2025-08-17
Wickens Q Stenseth1019Italy2025-08-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Y FigeroaFranceXuxue Feng NEGOTIATION
Kaitlin S GlickGermanyAmy Elsner NEGOTIATION
Leja V MaletItalyIoni Bowcher RENEWAL
Adams C VenereFranceAmy Elsner PROPOSAL
Mayumi U WieserUnited KingdomStephen Shaw RENEWAL
Aika X SchemmerGermanyBernardo Dominic NEW
Rodrigues I OldroydAustraliaElwin Sharvill NEGOTIATION
Greenwood R AlbaresIndiaAnna Fali QUALIFIED
James V TollnerAustraliaAsiya Javayant UNQUALIFIED
Aika F CaldareraSpainAnna Fali RENEWAL
Aditya Y OldroydItalyAnna Fali RENEWAL
Sinclair B DoeItalyBernardo Dominic QUALIFIED
Maisha U PerinCanadaAsiya Javayant UNQUALIFIED
Aika C GlickFranceXuxue Feng PROPOSAL
Aika F PerinCanadaAnna Fali UNQUALIFIED
Mujtaba Z PoquetteCanadaAnna Fali RENEWAL
Julie T InouyeFranceAnna Fali PROPOSAL
Ashley D FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Chavez Y SaylorsBrazilBernardo Dominic NEGOTIATION
Octavia T WhobreyGermanyElwin Sharvill UNQUALIFIED
Wickens F DarakjyFranceIoni Bowcher RENEWAL
Murillo M StensethCanadaIoni Bowcher NEW
Smith H DarakjyItalyXuxue Feng PROPOSAL
Morrow C AlbaresBrazilAmy Elsner PROPOSAL
Deepesh X BologniaFranceIoni Bowcher RENEWAL
Wickens K AlbaresBrazilAsiya Javayant PROPOSAL
Aika D InouyeArgentinaIoni Bowcher PROPOSAL
Munro U RutaIndiaElwin Sharvill NEGOTIATION
Maria N VocelkaItalyBernardo Dominic RENEWAL
Isabel K GillianCanadaElwin Sharvill UNQUALIFIED
Munro E ButtFranceStephen Shaw PROPOSAL
Nicolas W WieserRussiaOnyama Limba NEW
Rodrigues Z BowleyCanadaBernardo Dominic QUALIFIED
Nicolas U WhobreyAustraliaOnyama Limba RENEWAL
Morrow L NickaCanadaBernardo Dominic QUALIFIED
Morrow A StockhamSpainOnyama Limba RENEWAL
Antonio M SaylorsCanadaXuxue Feng NEGOTIATION
Jeanfrancois T FollerBrazilXuxue Feng PROPOSAL
Faith I MarrierJapanElwin Sharvill RENEWAL
Izzy N WaycottGermanyOnyama 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>