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
Aika Y SchemmerFranceElwin Sharvill NEGOTIATION
Antonio M ButtFranceIoni Bowcher PROPOSAL
Kadeem I KolmetzCanadaAmy Elsner UNQUALIFIED
Jones K CaldareraAustraliaBernardo Dominic NEW
Darci J InouyeItalyElwin Sharvill RENEWAL
Chavez C SaylorsIndiaAmy Elsner RENEWAL
Francesco N MorascaCanadaIoni Bowcher RENEWAL
Salvatore J MacleadJapanElwin Sharvill NEW
Antonio L TollnerIndiaIvan Magalhaes PROPOSAL
Murillo M BologniaArgentinaAnna Fali NEGOTIATION
Leon H FigeroaIndiaElwin Sharvill NEGOTIATION
Johnson X NestleItalyAmy Elsner RENEWAL
Sinclair P GauchoRussiaAmy Elsner UNQUALIFIED
Izzy D VocelkaGermanyBernardo Dominic QUALIFIED
Mayumi J OldroydFranceIoni Bowcher PROPOSAL
Smith J ShinkoFranceElwin Sharvill NEW
Stacey I RulapaughIndiaIoni Bowcher PROPOSAL
Costa Z VenereUnited KingdomOnyama Limba UNQUALIFIED
David R PaprockiCanadaAnna Fali NEW
Costa N StockhamAustraliaAsiya Javayant UNQUALIFIED
Silvio C StensethGermanyStephen Shaw PROPOSAL
Izzy U WaycottGermanyIvan Magalhaes NEW
Chavez P FerenczAustraliaStephen Shaw RENEWAL
Deepesh Q OldroydAustraliaAnna Fali UNQUALIFIED
Leon V BriddickArgentinaXuxue Feng QUALIFIED
Aika P PoquetteArgentinaElwin Sharvill QUALIFIED
Mayumi N CaudyGermanyIvan Magalhaes QUALIFIED
Kaitlin G NickaUnited KingdomAmy Elsner QUALIFIED
Leon U FlosiIndiaBernardo Dominic QUALIFIED
Leon V StockhamIndiaAnna Fali NEGOTIATION
Ricardo Y FlosiAustraliaBernardo Dominic UNQUALIFIED
Morrow R SchemmerCanadaAmy Elsner QUALIFIED
Chavez D MaletGermanyIoni Bowcher PROPOSAL
Rodrigues P ChuiFranceXuxue Feng RENEWAL
Antonio J MaletFranceIvan Magalhaes QUALIFIED
Mayumi L SaylorsGermanyAmy Elsner NEW
Emily C WhobreyArgentinaBernardo Dominic PROPOSAL
Aruna H FlosiSpainIvan Magalhaes QUALIFIED
Silvio K PerinItalyIoni Bowcher RENEWAL
Adams T SlusarskiBrazilElwin Sharvill UNQUALIFIED
Aruna I WieserBrazilElwin Sharvill UNQUALIFIED
Arvin Q PerinSpainIvan Magalhaes NEGOTIATION
Silvio E BowleyItalyElwin Sharvill QUALIFIED
Izzy W ShinkoItalyStephen Shaw NEW
Aruna B NickaRussiaXuxue Feng RENEWAL
Ashley V CaudyArgentinaAnna Fali NEGOTIATION
Mayumi B InouyeGermanyAmy Elsner RENEWAL
Wickens V SlusarskiAustraliaElwin Sharvill QUALIFIED
Ricardo E RutaItalyAnna Fali NEGOTIATION
Rodrigues V MorascaCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Ivar N IturbideArgentinaOnyama Limba PROPOSAL
Clifford M FigeroaGermanyBernardo Dominic PROPOSAL
Darci E NestleItalyStephen Shaw RENEWAL
Kaitlin G GarufiUnited KingdomStephen Shaw PROPOSAL
Johnson Q RutaCanadaXuxue Feng RENEWAL
Salvatore B CampainSpainIoni Bowcher RENEWAL
Munro X ButtJapanElwin Sharvill UNQUALIFIED
Emily P MarrierCanadaIvan Magalhaes NEW
Rodrigues C MaletJapanXuxue Feng PROPOSAL
Chavez Z MaletUnited KingdomIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin C ButtFrance2025-09-13Morlong Associates NEW48Onyama Limba
1001Alejandro O FlosiArgentina2025-09-08Printing Dimensions UNQUALIFIED0Bernardo Dominic
1002Wickens S OstroskyArgentina2025-09-22Feiner Bros NEGOTIATION8Elwin Sharvill
1003Izzy B FigeroaJapan2025-09-09King, Christopher A Esq QUALIFIED5Amy Elsner
1004Faith H PoquetteJapan2025-09-26Benton, John B Jr QUALIFIED75Ivan Magalhaes
1005Nicolas U VocelkaAustralia2025-09-12Chapman, Ross E Esq RENEWAL6Ivan Magalhaes
1006Arvin S VocelkaFrance2025-09-20Benton, John B Jr NEW80Asiya Javayant
1007Kaitlin Q MorascaGermany2025-09-24King, Christopher A Esq UNQUALIFIED61Ioni Bowcher
1008Smith Y WhobreyRussia2025-09-16Buckley Miller Wright UNQUALIFIED67Xuxue Feng
1009Leon G ChuiRussia2025-09-24Truhlar And Truhlar Attys NEGOTIATION34Asiya Javayant
1010Isabel I BologniaArgentina2025-09-21Commercial Press UNQUALIFIED16Ivan Magalhaes
1011Silvio I AmigonGermany2025-09-23Chemel, James L Cpa NEW12Onyama Limba
1012Antonio U GarufiFrance2025-09-06Buckley Miller Wright NEW67Asiya Javayant
1013Francesco J SaylorsGermany2025-09-03King, Christopher A Esq PROPOSAL32Xuxue Feng
1014Antonio F CampainCanada2025-09-16Truhlar And Truhlar Attys PROPOSAL32Bernardo Dominic
1015Antonio S CampainUnited Kingdom2025-09-10Feiner Bros NEGOTIATION76Ivan Magalhaes
1016Deepesh K MaletArgentina2025-09-21Truhlar And Truhlar Attys RENEWAL74Asiya Javayant
1017Adams U CampainGermany2025-09-15Rousseaux, Michael Esq UNQUALIFIED30Elwin Sharvill
1018Juan L BriddickGermany2025-09-03Chapman, Ross E Esq RENEWAL59Stephen Shaw
1019Misaki N MarrierItaly2025-09-05Chapman, Ross E Esq NEW66Anna Fali
1020Octavia L IturbideGermany2025-10-02Chapman, Ross E Esq QUALIFIED46Bernardo Dominic
1021Emily P OstroskyJapan2025-09-04Feltz Printing Service QUALIFIED56Bernardo Dominic
1022Alejandro J FlosiArgentina2025-09-04Chemel, James L Cpa NEW26Asiya Javayant
1023Faith D WhobreyRussia2025-09-04Commercial Press PROPOSAL99Onyama Limba
1024Francesco M GlickBrazil2025-09-29Printing Dimensions PROPOSAL91Xuxue Feng
1025Mujtaba U DoeSpain2025-09-18Commercial Press NEW42Elwin Sharvill
1026Ivar A SaylorsUnited Kingdom2025-09-28Chemel, James L Cpa UNQUALIFIED87Stephen Shaw
1027Nicolas V SchemmerCanada2025-09-18Rangoni Of Florence QUALIFIED13Anna Fali
1028Costa N MacleadRussia2025-09-29Chapman, Ross E Esq QUALIFIED92Asiya Javayant
1029Murillo N ChuiCanada2025-09-10Feltz Printing Service RENEWAL92Onyama Limba
1030Mayumi E WieserSpain2025-09-06Feltz Printing Service RENEWAL35Bernardo Dominic
1031Cody H TollnerAustralia2025-09-03Dorl, James J Esq NEGOTIATION59Ioni Bowcher
1032Mayumi L PerinArgentina2025-09-20Chemel, James L Cpa RENEWAL96Xuxue Feng
1033Izzy N MorascaSpain2025-09-16Feltz Printing Service NEW24Onyama Limba
1034Costa G VocelkaRussia2025-09-28Truhlar And Truhlar Attys RENEWAL93Elwin Sharvill
1035Ivar F GauchoBrazil2025-09-05Chemel, James L Cpa NEW3Bernardo Dominic
1036Misaki L ButtIndia2025-09-29Chanay, Jeffrey A Esq NEGOTIATION56Anna Fali
1037Maisha R RulapaughRussia2025-09-20Morlong Associates RENEWAL72Onyama Limba
1038Deepesh H ShinkoJapan2025-09-25Rangoni Of Florence RENEWAL22Asiya Javayant
1039Jefferson M FollerArgentina2025-09-23Rangoni Of Florence PROPOSAL56Xuxue Feng
1040Cody F PoquetteBrazil2025-09-23Commercial Press QUALIFIED62Ioni Bowcher
1041Stacey L AmigonArgentina2025-09-12Commercial Press NEGOTIATION93Ivan Magalhaes
1042Jefferson E ButtUnited Kingdom2025-09-27Buckley Miller Wright RENEWAL53Ivan Magalhaes
1043Rodrigues C DarakjyJapan2025-10-02Benton, John B Jr PROPOSAL28Bernardo Dominic
1044Julie I ChuiRussia2025-09-05Buckley Miller Wright NEGOTIATION76Xuxue Feng
1045Juan U FlosiBrazil2025-09-10Rangoni Of Florence RENEWAL17Amy Elsner
1046Jennifer U PoquetteIndia2025-09-26Rousseaux, Michael Esq PROPOSAL66Elwin Sharvill
1047Darci R DarakjyIndia2025-09-18Rousseaux, Michael Esq NEGOTIATION69Ioni Bowcher
1048Mujtaba L SchemmerAustralia2025-09-16Rousseaux, Michael Esq NEGOTIATION81Ivan Magalhaes
1049Deepesh L GlickGermany2025-09-11Feiner Bros RENEWAL7Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin H MaletJapanIvan Magalhaes NEW
Claire F StensethJapanStephen Shaw NEGOTIATION
Adams Z RulapaughUnited KingdomIvan Magalhaes NEW
Morrow G MorascaGermanyXuxue Feng UNQUALIFIED
Sinclair V TollnerJapanIoni Bowcher UNQUALIFIED
Julie G ShinkoFranceAmy Elsner NEGOTIATION
Nicolas H SchemmerJapanOnyama Limba NEW
James B WaycottArgentinaIvan Magalhaes RENEWAL
Ivar F CampainArgentinaIvan Magalhaes RENEWAL
Ricardo S BowleyRussiaIvan Magalhaes NEW
Antonio H AlbaresGermanyAmy Elsner RENEWAL
Maria T DarakjyJapanOnyama Limba NEGOTIATION
Faith I AmigonJapanStephen Shaw NEW
Salvatore D MacleadAustraliaAmy Elsner PROPOSAL
Ricardo J NestleJapanAnna Fali RENEWAL
Isabel F SergiFranceAsiya Javayant PROPOSAL
Arvin V PaprockiCanadaAnna Fali NEGOTIATION
James X SchemmerBrazilElwin Sharvill RENEWAL
Aruna N VocelkaFranceBernardo Dominic UNQUALIFIED
Antonio K CaudyArgentinaIoni Bowcher RENEWAL
Aruna Z NickaGermanyOnyama Limba NEW
Maisha Y DilliardIndiaIoni Bowcher RENEWAL
Julie P MaletCanadaAmy Elsner QUALIFIED
Kaitlin A RutaAustraliaOnyama Limba RENEWAL
Johnson C MacleadUnited KingdomAnna Fali NEGOTIATION
Aruna K CampainCanadaOnyama Limba NEW
David B VenereAustraliaOnyama Limba UNQUALIFIED
Ricardo K DarakjySpainXuxue Feng NEW
Kaitlin Q WaycottFranceElwin Sharvill PROPOSAL
Aika P WaycottCanadaAmy Elsner RENEWAL
Mayumi A MarrierItalyElwin Sharvill UNQUALIFIED
Claire O PerinRussiaAsiya Javayant RENEWAL
Greenwood Q FigeroaBrazilAsiya Javayant PROPOSAL
Darci V KolmetzSpainAmy Elsner NEGOTIATION
Ricardo V BriddickBrazilStephen Shaw RENEWAL
Stacey D VocelkaIndiaOnyama Limba PROPOSAL
Juan E BologniaRussiaIvan Magalhaes NEW
Deepesh S DoeCanadaAmy Elsner UNQUALIFIED
David L CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Ivar M StensethUnited KingdomAmy Elsner NEW
Ivar A CaudyBrazilElwin Sharvill QUALIFIED
Mayumi E FlosiItalyAnna Fali NEW
Jeanfrancois C AlbaresBrazilStephen Shaw RENEWAL
Antonio T WieserBrazilBernardo Dominic PROPOSAL
Francesco S IturbideSpainOnyama Limba RENEWAL
David O InouyeRussiaAnna Fali UNQUALIFIED
Maisha L DarakjyItalyStephen Shaw QUALIFIED
Johnson A FigeroaSpainXuxue Feng UNQUALIFIED
Stacey C MacleadAustraliaAsiya Javayant QUALIFIED
Jones M ChuiUnited KingdomIoni Bowcher NEW
Frozen Columns
Name
Darci X Ferencz
Octavia G Rulapaugh
Jennifer S Flosi
Chavez V Nestle
Jeanfrancois T Bolognia
Juan K Malet
Juan W Ferencz
Costa Q Figeroa
Chavez N Chui
Isabel Q Gaucho
Alejandro P Dilliard
Kadeem S Schemmer
Cody N Malet
Nicolas W Waycott
Aditya S Caudy
Adams C Vocelka
David P Ferencz
Antonio L Caudy
James I Marrier
Leja Q Nestle
Octavia Z Albares
Octavia P Ferencz
Jones H Bowley
Rodrigues L Chui
Juan W Sergi
Darci Q Stockham
Tony H Royster
Nicolas G Caudy
Misaki B Caldarera
Greenwood Q Venere
Ashley E Rulapaugh
Octavia Z Gillian
Aditya H Schemmer
Munro D Morasca
Nicolas A Saylors
Aditya T Foller
Stacey T Oldroyd
Maria O Tollner
Aditya K Perin
Silvio V Darakjy
Salvatore N Kusko
Faith L Kolmetz
Jefferson K Albares
Greenwood A Rim
Chavez O Figeroa
Faith J Iturbide
Antonio R Stenseth
Claire P Doe
Ricardo M Bolognia
Murillo H Campain
IdCountryDate
1000Australia2025-09-19
1001Japan2025-09-19
1002Spain2025-09-11
1003United Kingdom2025-09-08
1004Japan2025-09-16
1005Argentina2025-09-14
1006India2025-09-11
1007Canada2025-09-12
1008Japan2025-09-29
1009Canada2025-09-10
1010France2025-09-29
1011France2025-09-25
1012Germany2025-09-19
1013Germany2025-09-09
1014Argentina2025-09-19
1015Australia2025-09-12
1016Germany2025-09-13
1017Italy2025-09-16
1018Italy2025-09-13
1019Brazil2025-09-28
1020Russia2025-09-26
1021Canada2025-09-23
1022Japan2025-09-21
1023Germany2025-09-17
1024Spain2025-09-15
1025India2025-09-27
1026Germany2025-09-16
1027Argentina2025-09-19
1028Germany2025-09-28
1029Brazil2025-09-23
1030Spain2025-09-04
1031Canada2025-09-23
1032Germany2025-09-21
1033Japan2025-09-20
1034Russia2025-09-21
1035United Kingdom2025-09-08
1036Italy2025-09-18
1037Spain2025-09-19
1038France2025-09-15
1039Italy2025-09-28
1040Spain2025-09-06
1041India2025-10-01
1042France2025-10-01
1043Australia2025-09-05
1044Canada2025-09-23
1045Spain2025-09-24
1046Argentina2025-09-15
1047France2025-09-07
1048Australia2025-10-02
1049Germany2025-09-07

On-Demand Data

NameIdCountryDate
Ricardo I Sergi1000India2025-09-13
Aditya A Perin1001Argentina2025-09-30
James Q Slusarski1002Russia2025-09-11
Aruna R Caudy1003Italy2025-09-18
Rodrigues E Ferencz1004France2025-09-11
Jefferson X Dilliard1005Germany2025-09-12
Wickens V Amigon1006United Kingdom2025-09-26
Ricardo Z Butt1007Australia2025-09-27
Greenwood C Butt1008Germany2025-09-04
Greenwood I Campain1009Spain2025-09-04
Octavia Z Whobrey1010France2025-09-04
Wickens C Figeroa1011Spain2025-09-23
Johnson P Rim1012Australia2025-09-18
Stacey U Perin1013France2025-09-13
Costa X Figeroa1014Australia2025-09-25
Stacey M Albares1015Canada2025-09-15
Murillo P Ostrosky1016Canada2025-09-28
Salvatore D Chui1017France2025-09-14
Kadeem H Stenseth1018Brazil2025-09-06
Kaitlin H Campain1019Brazil2025-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Q KolmetzArgentinaAnna Fali NEW
Mayumi O SaylorsIndiaIoni Bowcher NEW
Kaitlin K BowleyJapanOnyama Limba UNQUALIFIED
Deepesh K TollnerFranceAmy Elsner RENEWAL
Antonio C MaletBrazilIvan Magalhaes RENEWAL
Octavia T AmigonAustraliaAsiya Javayant PROPOSAL
Chavez U WaycottRussiaXuxue Feng RENEWAL
Costa J ChuiSpainStephen Shaw PROPOSAL
James M MaletIndiaBernardo Dominic PROPOSAL
Tony Z TollnerAustraliaAsiya Javayant QUALIFIED
Nicolas X ChuiCanadaBernardo Dominic NEGOTIATION
Clifford S MaletAustraliaElwin Sharvill RENEWAL
Alejandro X CampainFranceBernardo Dominic QUALIFIED
Silvio D VenereSpainAnna Fali UNQUALIFIED
Stacey A KolmetzFranceAsiya Javayant NEW
Morrow R DarakjyBrazilIoni Bowcher NEW
Sinclair B RulapaughCanadaIvan Magalhaes PROPOSAL
Salvatore R ChuiJapanBernardo Dominic RENEWAL
Deepesh Z MarrierAustraliaXuxue Feng QUALIFIED
Cody F FlosiFranceElwin Sharvill NEW
Johnson S SaylorsJapanOnyama Limba NEW
Leon E BologniaItalyAmy Elsner NEW
Jennifer S WhobreyItalyAsiya Javayant QUALIFIED
Jeanfrancois C KuskoGermanyStephen Shaw NEGOTIATION
Leja B AlbaresRussiaOnyama Limba NEGOTIATION
Isabel E GlickJapanOnyama Limba NEW
Aditya I AlbaresItalyElwin Sharvill NEGOTIATION
Maria D WhobreyIndiaAsiya Javayant NEGOTIATION
Kadeem M WaycottCanadaElwin Sharvill NEGOTIATION
Deepesh B KolmetzRussiaAsiya Javayant QUALIFIED
Nicolas C OldroydAustraliaOnyama Limba UNQUALIFIED
Claire V BriddickCanadaElwin Sharvill NEW
Morrow X KuskoRussiaStephen Shaw NEW
David W CaudyGermanyElwin Sharvill RENEWAL
Mujtaba K SaylorsIndiaXuxue Feng RENEWAL
Greenwood C FerenczJapanBernardo Dominic PROPOSAL
Antonio M TollnerIndiaXuxue Feng NEGOTIATION
Sinclair Q ChuiIndiaAnna Fali NEGOTIATION
Ashley Q OldroydRussiaElwin Sharvill UNQUALIFIED
Tony E WieserUnited KingdomElwin Sharvill 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>