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
Morrow Q KolmetzFranceAnna Fali RENEWAL
Mujtaba N MaletIndiaAsiya Javayant PROPOSAL
Francesco G PerinCanadaIoni Bowcher RENEWAL
Murillo M FollerIndiaBernardo Dominic QUALIFIED
Silvio T TollnerJapanIvan Magalhaes RENEWAL
Octavia L VocelkaGermanyElwin Sharvill QUALIFIED
Ashley T GlickJapanIoni Bowcher PROPOSAL
Johnson Q CaldareraSpainIoni Bowcher NEGOTIATION
Jones L SlusarskiGermanyAmy Elsner RENEWAL
Deepesh T GlickArgentinaAmy Elsner RENEWAL
Salvatore L RulapaughUnited KingdomIvan Magalhaes RENEWAL
Ashley B StockhamIndiaElwin Sharvill UNQUALIFIED
Kadeem B FigeroaItalyAnna Fali PROPOSAL
Octavia U MaletRussiaIvan Magalhaes QUALIFIED
Kaitlin X KolmetzItalyIvan Magalhaes QUALIFIED
Costa S SlusarskiItalyBernardo Dominic QUALIFIED
Alejandro K GlickAustraliaElwin Sharvill PROPOSAL
Tony M MaletJapanStephen Shaw NEGOTIATION
Jones B RulapaughAustraliaIvan Magalhaes QUALIFIED
Chavez P MaletGermanyAsiya Javayant PROPOSAL
Chavez U SlusarskiIndiaBernardo Dominic NEW
Jennifer Z WieserSpainElwin Sharvill PROPOSAL
Izzy F KuskoRussiaBernardo Dominic NEGOTIATION
Tony S WieserItalyIoni Bowcher NEGOTIATION
Clifford Q MaletFranceIvan Magalhaes NEGOTIATION
Jeanfrancois B FigeroaJapanIoni Bowcher NEW
Murillo V SlusarskiUnited KingdomXuxue Feng NEW
Mayumi B WaycottCanadaIoni Bowcher RENEWAL
Munro R SergiSpainIoni Bowcher RENEWAL
Tony G ChuiArgentinaIoni Bowcher NEW
Kaitlin T MarrierSpainIoni Bowcher NEGOTIATION
Leja V BowleyUnited KingdomAnna Fali RENEWAL
Emily M RutaArgentinaAnna Fali NEW
Salvatore L VocelkaSpainStephen Shaw QUALIFIED
Costa R MaletUnited KingdomOnyama Limba PROPOSAL
Chavez U DoeJapanBernardo Dominic PROPOSAL
Nicolas Q SaylorsBrazilIoni Bowcher NEW
Mujtaba V DarakjyRussiaBernardo Dominic UNQUALIFIED
Cody U MarrierUnited KingdomElwin Sharvill PROPOSAL
Arvin E DarakjyItalyAmy Elsner QUALIFIED
Silvio K CaldareraRussiaAnna Fali UNQUALIFIED
Murillo G NickaFranceIoni Bowcher PROPOSAL
Faith N BriddickSpainAnna Fali QUALIFIED
Kaitlin C SergiArgentinaStephen Shaw QUALIFIED
Jones M AmigonBrazilStephen Shaw QUALIFIED
Murillo I SaylorsItalyBernardo Dominic QUALIFIED
Maisha E OldroydUnited KingdomStephen Shaw QUALIFIED
Ivar M NestleRussiaBernardo Dominic UNQUALIFIED
Cody M DarakjyJapanElwin Sharvill NEGOTIATION
Murillo C TollnerFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens C CampainIndiaXuxue Feng NEW
Kaitlin P RutaGermanyElwin Sharvill NEGOTIATION
Chavez K ButtArgentinaAsiya Javayant NEW
Wickens J OstroskySpainIoni Bowcher PROPOSAL
Octavia L MarrierJapanStephen Shaw PROPOSAL
Darci I CampainSpainIoni Bowcher RENEWAL
Octavia I VenereGermanyElwin Sharvill NEW
Faith Y OldroydGermanyIoni Bowcher NEW
Cody J SergiRussiaIvan Magalhaes NEW
Jennifer H RutaArgentinaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens A SlusarskiSpain2025-08-03Morlong Associates PROPOSAL32Asiya Javayant
1001Jennifer E DoeSpain2025-08-13King, Christopher A Esq NEGOTIATION7Onyama Limba
1002Tony W MorascaCanada2025-08-02King, Christopher A Esq NEGOTIATION87Ioni Bowcher
1003Jefferson T MaletAustralia2025-08-12Benton, John B Jr NEGOTIATION24Stephen Shaw
1004Salvatore B CaldareraCanada2025-08-12Chapman, Ross E Esq NEGOTIATION99Elwin Sharvill
1005Aditya H GlickCanada2025-08-28Rousseaux, Michael Esq UNQUALIFIED11Amy Elsner
1006Jeanfrancois J SchemmerUnited Kingdom2025-08-07Rangoni Of Florence PROPOSAL62Amy Elsner
1007Morrow S GauchoIndia2025-08-23King, Christopher A Esq QUALIFIED52Onyama Limba
1008Nicolas M InouyeIndia2025-08-23Chanay, Jeffrey A Esq PROPOSAL27Ivan Magalhaes
1009Nicolas D SchemmerFrance2025-08-19Benton, John B Jr QUALIFIED78Bernardo Dominic
1010Stacey M BologniaItaly2025-08-28Rousseaux, Michael Esq NEW66Stephen Shaw
1011Faith T DoeItaly2025-08-27Buckley Miller Wright NEGOTIATION91Onyama Limba
1012Antonio X WhobreyAustralia2025-08-14Morlong Associates QUALIFIED31Stephen Shaw
1013Silvio F PerinSpain2025-08-19Morlong Associates NEGOTIATION94Ioni Bowcher
1014Sinclair H PoquetteUnited Kingdom2025-08-27Rangoni Of Florence NEGOTIATION62Amy Elsner
1015Silvio N OldroydBrazil2025-08-04Feiner Bros NEW81Amy Elsner
1016Greenwood A CampainIndia2025-08-23Commercial Press PROPOSAL6Bernardo Dominic
1017Jeanfrancois B MaletFrance2025-08-23Feiner Bros QUALIFIED69Amy Elsner
1018Murillo M PerinAustralia2025-08-08Benton, John B Jr NEW70Amy Elsner
1019Wickens N DilliardRussia2025-08-27Chemel, James L Cpa UNQUALIFIED36Amy Elsner
1020David Y StockhamBrazil2025-08-18Truhlar And Truhlar Attys UNQUALIFIED3Onyama Limba
1021Smith D PaprockiRussia2025-08-14Morlong Associates NEW5Asiya Javayant
1022Claire N RulapaughRussia2025-08-14Dorl, James J Esq UNQUALIFIED30Amy Elsner
1023Maisha W StensethSpain2025-08-03Printing Dimensions QUALIFIED68Asiya Javayant
1024Murillo E FollerGermany2025-07-31Commercial Press NEGOTIATION14Elwin Sharvill
1025James F FlosiFrance2025-08-08Truhlar And Truhlar Attys RENEWAL8Anna Fali
1026Juan T RutaFrance2025-08-24King, Christopher A Esq QUALIFIED15Xuxue Feng
1027Ivar E BowleyUnited Kingdom2025-08-17King, Christopher A Esq PROPOSAL84Elwin Sharvill
1028Alejandro L BologniaCanada2025-08-23Commercial Press NEW2Amy Elsner
1029Sinclair E PerinUnited Kingdom2025-08-28Chemel, James L Cpa PROPOSAL92Amy Elsner
1030Salvatore W SlusarskiGermany2025-08-02Dorl, James J Esq PROPOSAL38Asiya Javayant
1031Clifford H GillianAustralia2025-08-02Chemel, James L Cpa PROPOSAL21Elwin Sharvill
1032Smith S WaycottItaly2025-08-02Chanay, Jeffrey A Esq NEGOTIATION95Ivan Magalhaes
1033Chavez B GlickRussia2025-08-11Chanay, Jeffrey A Esq QUALIFIED0Ivan Magalhaes
1034Arvin I IturbideSpain2025-08-05Morlong Associates NEGOTIATION99Elwin Sharvill
1035Faith K SchemmerSpain2025-08-18Dorl, James J Esq RENEWAL58Xuxue Feng
1036Leja Q SergiItaly2025-08-09Chanay, Jeffrey A Esq PROPOSAL69Bernardo Dominic
1037Jeanfrancois J MaletBrazil2025-08-04Morlong Associates UNQUALIFIED64Amy Elsner
1038Jennifer U MorascaGermany2025-08-06Feiner Bros RENEWAL82Elwin Sharvill
1039Arvin G RoysterAustralia2025-08-11Feiner Bros PROPOSAL51Amy Elsner
1040Antonio O KolmetzBrazil2025-08-20Benton, John B Jr NEW14Amy Elsner
1041Julie W SergiFrance2025-08-19Chanay, Jeffrey A Esq UNQUALIFIED34Xuxue Feng
1042Kadeem N VocelkaIndia2025-08-15Chanay, Jeffrey A Esq UNQUALIFIED70Ioni Bowcher
1043Mujtaba G DoeAustralia2025-08-18Truhlar And Truhlar Attys QUALIFIED37Onyama Limba
1044Salvatore H GlickUnited Kingdom2025-08-21Rangoni Of Florence UNQUALIFIED33Ivan Magalhaes
1045Maisha I GlickFrance2025-08-11Dorl, James J Esq QUALIFIED6Ioni Bowcher
1046Adams N GillianAustralia2025-07-30King, Christopher A Esq NEW70Stephen Shaw
1047Misaki O InouyeUnited Kingdom2025-08-14Morlong Associates NEW95Amy Elsner
1048Tony D TollnerSpain2025-08-23Printing Dimensions UNQUALIFIED73Elwin Sharvill
1049Leja J FlosiUnited Kingdom2025-08-15Truhlar And Truhlar Attys UNQUALIFIED69Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford W PaprockiArgentinaAmy Elsner RENEWAL
Stacey Q NestleUnited KingdomIvan Magalhaes NEW
Costa F WieserIndiaAmy Elsner RENEWAL
Tony V FlosiArgentinaIoni Bowcher QUALIFIED
Jeanfrancois E AlbaresUnited KingdomElwin Sharvill PROPOSAL
Octavia P RoysterSpainAmy Elsner NEW
Salvatore A AmigonBrazilAsiya Javayant NEW
Munro D DoeIndiaAmy Elsner RENEWAL
Morrow A ShinkoGermanyAsiya Javayant NEGOTIATION
Cody F KuskoArgentinaAmy Elsner RENEWAL
Salvatore U WaycottRussiaXuxue Feng PROPOSAL
Octavia K FollerAustraliaXuxue Feng NEW
Julie Q OldroydUnited KingdomIoni Bowcher NEGOTIATION
Alejandro R BriddickItalyAsiya Javayant NEW
Maisha O AmigonFranceElwin Sharvill UNQUALIFIED
Ashley D NestleBrazilElwin Sharvill RENEWAL
Adams X KolmetzSpainOnyama Limba RENEWAL
Adams B GauchoSpainIvan Magalhaes QUALIFIED
Alejandro N ChuiUnited KingdomElwin Sharvill NEW
Emily M TollnerSpainElwin Sharvill PROPOSAL
Izzy X NickaBrazilIoni Bowcher NEGOTIATION
Aditya Z ButtGermanyAmy Elsner UNQUALIFIED
Rodrigues Q DilliardUnited KingdomStephen Shaw PROPOSAL
Faith V SlusarskiFranceAnna Fali RENEWAL
Kaitlin K GarufiGermanyAmy Elsner UNQUALIFIED
Mayumi H SchemmerJapanIvan Magalhaes PROPOSAL
Morrow B AmigonArgentinaXuxue Feng RENEWAL
Claire Y ChuiSpainBernardo Dominic RENEWAL
Jones D RimIndiaIvan Magalhaes PROPOSAL
Emily K DarakjyBrazilIvan Magalhaes NEGOTIATION
Jefferson Y OstroskyArgentinaAnna Fali RENEWAL
Murillo W GauchoFranceIvan Magalhaes RENEWAL
Cody Y GarufiItalyIoni Bowcher UNQUALIFIED
Darci P SaylorsAustraliaAnna Fali QUALIFIED
Julie H MacleadJapanIvan Magalhaes UNQUALIFIED
Nicolas I DarakjyGermanyAsiya Javayant NEGOTIATION
Cody F RutaSpainIoni Bowcher QUALIFIED
Silvio I MacleadGermanyAnna Fali UNQUALIFIED
Leon S FlosiItalyIoni Bowcher RENEWAL
Munro A StockhamItalyAmy Elsner UNQUALIFIED
James U StockhamJapanAmy Elsner UNQUALIFIED
Silvio C MarrierRussiaAsiya Javayant PROPOSAL
Izzy T FigeroaGermanyOnyama Limba UNQUALIFIED
Jennifer F GauchoGermanyAsiya Javayant NEGOTIATION
Leja R OldroydArgentinaAmy Elsner QUALIFIED
Leon U MorascaCanadaXuxue Feng QUALIFIED
Deepesh S ChuiAustraliaOnyama Limba NEGOTIATION
Aika U IturbideFranceBernardo Dominic PROPOSAL
Kadeem C SergiSpainOnyama Limba NEGOTIATION
Francesco H StensethFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Adams E Iturbide
Ashley N Albares
Aruna J Caldarera
Clifford W Butt
Jennifer G Dilliard
Costa S Flosi
Leon X Poquette
Kaitlin D Gillian
Maria U Butt
Wickens A Rulapaugh
Ricardo K Ruta
Stacey O Rim
Stacey I Morasca
Greenwood F Caudy
Sinclair C Dilliard
Costa O Slusarski
Sinclair D Marrier
Chavez O Ruta
Costa Z Slusarski
Francesco O Saylors
Aruna J Waycott
Mayumi P Malet
Jefferson B Caldarera
Maisha Z Garufi
Mayumi U Stenseth
Francesco K Whobrey
Mayumi C Morasca
Johnson D Waycott
Morrow I Sergi
Adams F Flosi
James K Gillian
Aika X Bolognia
Kaitlin G Venere
Rodrigues B Briddick
Salvatore M Malet
Kadeem U Morasca
Smith X Royster
Mayumi Z Shinko
Leja Y Poquette
Chavez Q Caldarera
Octavia I Nestle
Claire H Iturbide
Antonio O Amigon
Mujtaba Y Royster
Mayumi R Paprocki
Antonio V Rim
Claire O Garufi
Johnson L Malet
Chavez P Ruta
Deepesh G Schemmer
IdCountryDate
1000France2025-08-02
1001Italy2025-08-26
1002United Kingdom2025-08-09
1003France2025-08-12
1004Germany2025-08-14
1005Japan2025-08-23
1006United Kingdom2025-08-08
1007France2025-08-14
1008India2025-08-10
1009Italy2025-08-17
1010Japan2025-08-18
1011Russia2025-08-21
1012Germany2025-08-18
1013Italy2025-08-03
1014Argentina2025-08-08
1015Japan2025-08-11
1016India2025-08-07
1017United Kingdom2025-08-21
1018India2025-08-07
1019Canada2025-08-13
1020Argentina2025-08-07
1021Russia2025-08-20
1022United Kingdom2025-08-13
1023Brazil2025-08-09
1024Japan2025-08-26
1025Japan2025-07-31
1026Canada2025-08-13
1027Japan2025-08-10
1028France2025-08-25
1029United Kingdom2025-08-09
1030United Kingdom2025-08-23
1031Spain2025-08-06
1032France2025-08-26
1033India2025-08-21
1034Argentina2025-08-10
1035Japan2025-08-15
1036Japan2025-08-21
1037United Kingdom2025-08-12
1038Japan2025-08-22
1039Germany2025-07-30
1040Germany2025-08-24
1041Germany2025-08-08
1042France2025-08-21
1043Italy2025-08-10
1044Australia2025-08-02
1045Canada2025-07-30
1046United Kingdom2025-08-10
1047Japan2025-08-10
1048France2025-08-18
1049Germany2025-08-28

On-Demand Data

NameIdCountryDate
Aruna Y Venere1000Canada2025-08-13
Leja J Doe1001France2025-08-11
Aruna Y Briddick1002Japan2025-08-09
Ricardo E Vocelka1003Russia2025-08-01
Arvin Y Stenseth1004France2025-08-24
Cody O Tollner1005India2025-08-02
Morrow H Poquette1006United Kingdom2025-08-25
Kaitlin U Briddick1007Japan2025-08-01
Jefferson Q Paprocki1008Italy2025-08-06
Morrow N Venere1009Russia2025-08-04
Johnson V Oldroyd1010Japan2025-08-22
Mayumi C Malet1011Japan2025-08-12
Mayumi E Whobrey1012Argentina2025-08-26
Adams I Saylors1013Russia2025-08-28
Jeanfrancois A Maclead1014Russia2025-08-25
Aika F Royster1015Russia2025-08-25
Izzy S Doe1016Argentina2025-08-21
Cody U Sergi1017Russia2025-08-03
Adams S Poquette1018Japan2025-08-12
Isabel P Schemmer1019India2025-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z WieserIndiaAmy Elsner RENEWAL
Ricardo O FlosiAustraliaOnyama Limba QUALIFIED
Ivar K OstroskyGermanyBernardo Dominic RENEWAL
Deepesh V VenereIndiaAnna Fali PROPOSAL
Emily K FlosiIndiaBernardo Dominic QUALIFIED
Julie T MarrierAustraliaAsiya Javayant PROPOSAL
Munro J FollerGermanyStephen Shaw UNQUALIFIED
Claire P StockhamGermanyStephen Shaw NEGOTIATION
Jeanfrancois K VocelkaJapanStephen Shaw NEW
Morrow E FlosiFranceAnna Fali QUALIFIED
Morrow D FlosiUnited KingdomXuxue Feng NEGOTIATION
Jennifer S StensethJapanAsiya Javayant NEGOTIATION
Johnson U DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Salvatore Z DoeGermanyOnyama Limba RENEWAL
Darci D MarrierCanadaXuxue Feng QUALIFIED
Chavez C KuskoRussiaIoni Bowcher UNQUALIFIED
Aika P RoysterRussiaElwin Sharvill UNQUALIFIED
Adams X RutaFranceXuxue Feng PROPOSAL
Izzy J DarakjyIndiaAmy Elsner NEW
Costa H RimBrazilIoni Bowcher NEGOTIATION
Misaki D RutaCanadaElwin Sharvill UNQUALIFIED
Salvatore A DoeRussiaIvan Magalhaes PROPOSAL
Aruna Q BowleyFranceStephen Shaw UNQUALIFIED
Sinclair O KolmetzJapanAnna Fali NEW
Jennifer N PerinAustraliaAmy Elsner NEGOTIATION
Kaitlin I OstroskyItalyOnyama Limba PROPOSAL
Jones V StensethItalyIvan Magalhaes NEGOTIATION
Chavez F RimUnited KingdomXuxue Feng RENEWAL
Izzy P KolmetzItalyOnyama Limba RENEWAL
Antonio L MorascaIndiaBernardo Dominic UNQUALIFIED
Clifford J BriddickAustraliaXuxue Feng UNQUALIFIED
Sinclair I PoquetteItalyAnna Fali RENEWAL
Salvatore X MorascaIndiaBernardo Dominic UNQUALIFIED
Wickens V AmigonFranceIoni Bowcher QUALIFIED
Francesco Q KolmetzRussiaXuxue Feng PROPOSAL
Aika I FigeroaSpainIoni Bowcher PROPOSAL
Rodrigues K BriddickAustraliaOnyama Limba UNQUALIFIED
Isabel Y MorascaUnited KingdomAnna Fali PROPOSAL
Aditya U RutaUnited KingdomOnyama Limba RENEWAL
Emily S AlbaresArgentinaIoni Bowcher 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>