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
Antonio O NestleUnited KingdomBernardo Dominic NEW
David A SchemmerRussiaAmy Elsner NEGOTIATION
Maisha U MacleadItalyIoni Bowcher UNQUALIFIED
Deepesh P InouyeBrazilStephen Shaw UNQUALIFIED
Emily W ShinkoRussiaIvan Magalhaes UNQUALIFIED
Kadeem V KolmetzJapanIoni Bowcher QUALIFIED
Cody J NestleSpainBernardo Dominic NEW
Emily C MaletIndiaElwin Sharvill NEW
Kaitlin L PerinArgentinaStephen Shaw NEGOTIATION
Nicolas V WaycottCanadaAsiya Javayant NEGOTIATION
Kadeem C CaudyBrazilAnna Fali RENEWAL
Jennifer I SchemmerUnited KingdomIoni Bowcher RENEWAL
Greenwood V DarakjyAustraliaStephen Shaw NEGOTIATION
Aditya F GauchoRussiaAmy Elsner NEW
Claire B PaprockiBrazilElwin Sharvill NEGOTIATION
Clifford X AlbaresArgentinaAmy Elsner RENEWAL
Munro K BologniaJapanXuxue Feng PROPOSAL
Isabel X MaletAustraliaAmy Elsner NEGOTIATION
Isabel V WhobreySpainAmy Elsner PROPOSAL
Isabel Y OldroydJapanOnyama Limba UNQUALIFIED
Jefferson J CaudyItalyIoni Bowcher NEGOTIATION
Octavia R BriddickFranceXuxue Feng UNQUALIFIED
Chavez L IturbideAustraliaBernardo Dominic QUALIFIED
Nicolas V PerinItalyAnna Fali QUALIFIED
Rodrigues H StockhamGermanyXuxue Feng NEW
Deepesh B SchemmerJapanAnna Fali RENEWAL
Greenwood M PoquetteCanadaElwin Sharvill QUALIFIED
Munro R CaudyUnited KingdomAmy Elsner NEGOTIATION
Murillo B RimAustraliaBernardo Dominic QUALIFIED
Darci A FollerAustraliaAnna Fali RENEWAL
Deepesh Q MaletJapanAsiya Javayant PROPOSAL
Kaitlin P ChuiArgentinaAsiya Javayant QUALIFIED
Rodrigues R PerinBrazilAmy Elsner NEGOTIATION
James K StensethFranceOnyama Limba RENEWAL
Ashley J MorascaArgentinaAmy Elsner QUALIFIED
Chavez X WaycottGermanyIvan Magalhaes UNQUALIFIED
Chavez T VocelkaItalyIoni Bowcher RENEWAL
Faith G MaletSpainIoni Bowcher NEGOTIATION
Ashley C StockhamItalyIoni Bowcher QUALIFIED
Jefferson W BriddickIndiaAmy Elsner NEW
James I RulapaughFranceAnna Fali NEW
Adams T ButtIndiaAmy Elsner QUALIFIED
Stacey F AlbaresIndiaAnna Fali UNQUALIFIED
James O PerinCanadaStephen Shaw UNQUALIFIED
Faith J StensethRussiaAsiya Javayant UNQUALIFIED
Maisha O WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba A VenereItalyBernardo Dominic QUALIFIED
Antonio H GillianBrazilOnyama Limba QUALIFIED
Emily I SergiBrazilXuxue Feng PROPOSAL
Jeanfrancois M VocelkaUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Clifford U GlickItalyElwin Sharvill RENEWAL
Wickens G RimRussiaIoni Bowcher NEGOTIATION
Jones P TollnerSpainIoni Bowcher NEGOTIATION
Misaki V MaletGermanyAsiya Javayant RENEWAL
Sinclair Z BowleyUnited KingdomAmy Elsner RENEWAL
Silvio C MorascaSpainBernardo Dominic RENEWAL
Leja Z BowleySpainIoni Bowcher QUALIFIED
Morrow E MacleadCanadaStephen Shaw NEGOTIATION
Ricardo F TollnerRussiaAnna Fali QUALIFIED
Kadeem O PaprockiIndiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith N DilliardUnited Kingdom2025-08-02Chanay, Jeffrey A Esq QUALIFIED22Anna Fali
1001Emily R StockhamArgentina2025-08-27Chanay, Jeffrey A Esq QUALIFIED32Amy Elsner
1002Leja H BriddickFrance2025-08-25Printing Dimensions QUALIFIED11Bernardo Dominic
1003Claire W RutaArgentina2025-08-27Feiner Bros PROPOSAL9Asiya Javayant
1004Isabel M PaprockiFrance2025-08-03Dorl, James J Esq UNQUALIFIED13Amy Elsner
1005Aditya C CaudyBrazil2025-08-01Commercial Press NEGOTIATION44Stephen Shaw
1006Arvin H GillianUnited Kingdom2025-08-17King, Christopher A Esq PROPOSAL78Anna Fali
1007Claire D TollnerIndia2025-08-08King, Christopher A Esq RENEWAL20Asiya Javayant
1008Murillo J FlosiRussia2025-08-09Truhlar And Truhlar Attys RENEWAL80Onyama Limba
1009Nicolas J TollnerIndia2025-08-01Dorl, James J Esq UNQUALIFIED17Ioni Bowcher
1010Juan H AmigonRussia2025-08-27Chemel, James L Cpa NEGOTIATION11Asiya Javayant
1011Ashley F FlosiFrance2025-08-23Morlong Associates UNQUALIFIED82Elwin Sharvill
1012Clifford S OstroskyBrazil2025-08-26Benton, John B Jr NEW66Xuxue Feng
1013Jones I RoysterGermany2025-08-20Chanay, Jeffrey A Esq PROPOSAL4Stephen Shaw
1014Ivar Y InouyeSpain2025-08-18Chapman, Ross E Esq UNQUALIFIED19Ioni Bowcher
1015Ricardo L RimCanada2025-08-24Rangoni Of Florence UNQUALIFIED10Stephen Shaw
1016Izzy M IturbideCanada2025-08-04Feltz Printing Service PROPOSAL43Ivan Magalhaes
1017Leon M SchemmerIndia2025-08-25Feltz Printing Service NEGOTIATION63Stephen Shaw
1018Maria V RulapaughFrance2025-08-08Truhlar And Truhlar Attys QUALIFIED92Onyama Limba
1019Tony C CaldareraBrazil2025-08-09Morlong Associates NEW85Ivan Magalhaes
1020Leon Q AmigonAustralia2025-08-23Chanay, Jeffrey A Esq UNQUALIFIED47Bernardo Dominic
1021Kaitlin V InouyeIndia2025-08-22Feiner Bros QUALIFIED24Bernardo Dominic
1022Silvio W KuskoArgentina2025-08-21Morlong Associates QUALIFIED34Anna Fali
1023Silvio Q VocelkaBrazil2025-08-17Buckley Miller Wright UNQUALIFIED33Bernardo Dominic
1024Nicolas A MorascaUnited Kingdom2025-08-26Morlong Associates NEGOTIATION16Ivan Magalhaes
1025Salvatore O IturbideAustralia2025-08-16Chapman, Ross E Esq NEGOTIATION85Anna Fali
1026Salvatore H MorascaAustralia2025-08-03Benton, John B Jr UNQUALIFIED78Xuxue Feng
1027Deepesh I KuskoUnited Kingdom2025-08-02Truhlar And Truhlar Attys NEGOTIATION52Xuxue Feng
1028Izzy U CampainItaly2025-08-21Commercial Press QUALIFIED22Elwin Sharvill
1029Isabel M TollnerAustralia2025-08-27Truhlar And Truhlar Attys UNQUALIFIED43Amy Elsner
1030Julie D ShinkoUnited Kingdom2025-08-05Feltz Printing Service UNQUALIFIED36Ivan Magalhaes
1031Juan Z GlickSpain2025-08-09Chapman, Ross E Esq NEGOTIATION62Asiya Javayant
1032Emily Z WaycottAustralia2025-08-17Printing Dimensions NEGOTIATION63Onyama Limba
1033Tony F CaudyRussia2025-08-20Chemel, James L Cpa NEGOTIATION67Bernardo Dominic
1034Jones K InouyeJapan2025-08-22Chemel, James L Cpa NEW88Bernardo Dominic
1035Greenwood G NickaAustralia2025-07-30Chapman, Ross E Esq NEGOTIATION3Elwin Sharvill
1036Clifford G TollnerUnited Kingdom2025-08-20Buckley Miller Wright QUALIFIED48Amy Elsner
1037Isabel Z GlickUnited Kingdom2025-08-27Rangoni Of Florence NEGOTIATION78Ivan Magalhaes
1038Greenwood V FlosiSpain2025-08-15Rangoni Of Florence QUALIFIED14Xuxue Feng
1039Antonio Y RoysterArgentina2025-08-27Morlong Associates NEGOTIATION97Asiya Javayant
1040Leja Q OstroskySpain2025-08-01Printing Dimensions PROPOSAL76Bernardo Dominic
1041Johnson K PerinGermany2025-08-11Feltz Printing Service UNQUALIFIED59Bernardo Dominic
1042Johnson S BowleyItaly2025-08-10Benton, John B Jr NEGOTIATION91Ioni Bowcher
1043Munro W AlbaresRussia2025-08-15Rousseaux, Michael Esq UNQUALIFIED88Elwin Sharvill
1044Jennifer J StockhamUnited Kingdom2025-08-26Morlong Associates PROPOSAL33Bernardo Dominic
1045Stacey K RimAustralia2025-08-19Buckley Miller Wright RENEWAL61Ivan Magalhaes
1046David E StensethItaly2025-08-03Benton, John B Jr RENEWAL55Ivan Magalhaes
1047Darci Y InouyeSpain2025-08-05Commercial Press PROPOSAL85Onyama Limba
1048Misaki C PoquetteAustralia2025-08-23Benton, John B Jr QUALIFIED6Ivan Magalhaes
1049Mayumi A PoquetteSpain2025-07-31Dorl, James J Esq NEGOTIATION55Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James G StensethJapanAnna Fali PROPOSAL
Greenwood O KolmetzFranceBernardo Dominic RENEWAL
Munro G GillianBrazilAnna Fali QUALIFIED
Cody P CaldareraArgentinaStephen Shaw NEGOTIATION
David C NickaIndiaIoni Bowcher NEGOTIATION
Chavez Y PerinIndiaStephen Shaw QUALIFIED
Kadeem R GauchoGermanyElwin Sharvill PROPOSAL
Munro X KolmetzGermanyElwin Sharvill NEW
Claire A OldroydRussiaOnyama Limba NEGOTIATION
Kadeem S DoeBrazilBernardo Dominic NEGOTIATION
Maria V WhobreyFranceStephen Shaw PROPOSAL
Cody Y OstroskyBrazilElwin Sharvill PROPOSAL
Ashley C RutaSpainAnna Fali NEW
Claire U CaudyBrazilIvan Magalhaes NEW
Jones W DilliardFranceBernardo Dominic PROPOSAL
Leon A GarufiCanadaAmy Elsner QUALIFIED
Aditya Y MorascaGermanyAmy Elsner NEW
Alejandro E DarakjyRussiaElwin Sharvill PROPOSAL
Isabel F BowleyFranceStephen Shaw NEW
Mujtaba C ShinkoArgentinaIoni Bowcher PROPOSAL
Leon I BologniaFranceAmy Elsner RENEWAL
Murillo E BologniaRussiaStephen Shaw NEGOTIATION
Smith A SlusarskiBrazilAsiya Javayant RENEWAL
Arvin C StensethAustraliaBernardo Dominic UNQUALIFIED
Greenwood T BriddickUnited KingdomAnna Fali NEGOTIATION
Mayumi Z ChuiItalyOnyama Limba RENEWAL
David Q SlusarskiJapanElwin Sharvill NEGOTIATION
Greenwood R PoquetteSpainIoni Bowcher UNQUALIFIED
Tony X OldroydSpainElwin Sharvill NEGOTIATION
Johnson Y PaprockiGermanyXuxue Feng NEGOTIATION
Mujtaba E KuskoBrazilIoni Bowcher UNQUALIFIED
Clifford Q NickaItalyIvan Magalhaes RENEWAL
Greenwood T ButtCanadaXuxue Feng PROPOSAL
Deepesh G CampainRussiaStephen Shaw NEGOTIATION
Octavia L GarufiJapanAnna Fali UNQUALIFIED
Salvatore K CampainUnited KingdomStephen Shaw RENEWAL
Ashley Z WhobreyArgentinaAmy Elsner QUALIFIED
Isabel F WaycottRussiaElwin Sharvill NEGOTIATION
Jefferson Q SchemmerItalyXuxue Feng RENEWAL
Johnson X ChuiIndiaElwin Sharvill NEGOTIATION
Adams C OstroskyGermanyStephen Shaw UNQUALIFIED
Kaitlin F BriddickUnited KingdomXuxue Feng NEW
Emily M FerenczJapanAsiya Javayant PROPOSAL
Jones N AmigonBrazilIvan Magalhaes UNQUALIFIED
Mujtaba Q StensethCanadaAsiya Javayant PROPOSAL
Mujtaba P BologniaItalyAsiya Javayant PROPOSAL
Munro G CaudyAustraliaOnyama Limba QUALIFIED
Francesco K GarufiUnited KingdomXuxue Feng QUALIFIED
Maria Q StockhamCanadaAnna Fali QUALIFIED
Francesco F PaprockiCanadaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Misaki B Shinko
Leja T Marrier
Mayumi V Nestle
Izzy J Ruta
Emily H Maclead
Juan H Venere
Aika I Amigon
Clifford D Inouye
Antonio W Stenseth
Deepesh Y Caudy
Faith P Oldroyd
Wickens X Whobrey
Morrow J Slusarski
Deepesh Y Albares
Wickens B Figeroa
Clifford F Bolognia
Jennifer E Stockham
Clifford T Dilliard
Misaki E Saylors
Maria X Bolognia
Ashley T Malet
Silvio V Malet
Silvio N Bowley
Ivar B Venere
Antonio V Marrier
Adams H Flosi
Johnson H Briddick
Aditya T Vocelka
James K Venere
Deepesh V Ruta
Kadeem W Nicka
Maria O Ferencz
Clifford L Figeroa
Kaitlin V Garufi
Octavia X Shinko
Francesco F Nestle
Emily Y Paprocki
Johnson U Morasca
Maria W Chui
Stacey R Amigon
Rodrigues X Vocelka
Clifford A Nicka
Darci R Perin
Ivar D Perin
Salvatore E Nestle
Kadeem X Dilliard
Darci A Malet
Munro W Shinko
Greenwood W Marrier
Maria Y Morasca
IdCountryDate
1000Argentina2025-08-24
1001Canada2025-08-01
1002Italy2025-08-18
1003India2025-07-31
1004India2025-08-26
1005India2025-08-26
1006United Kingdom2025-08-10
1007Canada2025-08-13
1008Russia2025-08-16
1009Japan2025-08-18
1010France2025-08-12
1011Brazil2025-08-03
1012Russia2025-08-26
1013India2025-08-21
1014Italy2025-08-17
1015Spain2025-08-18
1016Australia2025-08-25
1017United Kingdom2025-08-11
1018Japan2025-08-14
1019India2025-08-18
1020Australia2025-08-10
1021Argentina2025-08-28
1022Spain2025-08-01
1023Germany2025-08-10
1024France2025-08-21
1025United Kingdom2025-08-03
1026Canada2025-08-20
1027India2025-08-28
1028Germany2025-08-28
1029Germany2025-08-18
1030France2025-08-25
1031Japan2025-08-26
1032India2025-08-06
1033Brazil2025-08-03
1034Australia2025-07-31
1035Spain2025-08-20
1036Spain2025-08-03
1037Japan2025-08-12
1038Germany2025-08-02
1039Australia2025-08-17
1040Italy2025-08-21
1041Germany2025-08-12
1042Brazil2025-08-22
1043Italy2025-08-10
1044Germany2025-07-31
1045Argentina2025-08-15
1046United Kingdom2025-08-24
1047Canada2025-07-31
1048Italy2025-08-06
1049United Kingdom2025-08-16

On-Demand Data

NameIdCountryDate
Sinclair D Maclead1000Australia2025-08-03
Wickens I Bowley1001Spain2025-08-19
Ivar Q Garufi1002Brazil2025-08-24
Aruna B Kolmetz1003Australia2025-08-12
Claire Z Albares1004Germany2025-08-08
Smith L Venere1005United Kingdom2025-08-08
Ricardo S Ruta1006Australia2025-08-17
Izzy R Nicka1007United Kingdom2025-08-16
Clifford Q Dilliard1008Spain2025-08-14
Leja A Rulapaugh1009India2025-08-25
Juan P Chui1010Brazil2025-08-26
Adams M Foller1011United Kingdom2025-08-25
Nicolas F Chui1012Germany2025-08-15
Kadeem D Vocelka1013Spain2025-08-24
Greenwood N Rim1014Argentina2025-08-15
Maisha B Nestle1015Spain2025-08-28
Mayumi V Bowley1016Italy2025-08-15
Leon W Ostrosky1017Brazil2025-08-02
Ivar K Shinko1018Germany2025-08-15
Mujtaba Q Malet1019Spain2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X ChuiItalyElwin Sharvill RENEWAL
Jones Z DarakjyFranceAnna Fali QUALIFIED
Clifford V MaletUnited KingdomAmy Elsner QUALIFIED
Maisha D GlickJapanBernardo Dominic NEGOTIATION
Octavia Q MorascaFranceAmy Elsner RENEWAL
Nicolas O PaprockiArgentinaIvan Magalhaes RENEWAL
Darci A MaletIndiaAnna Fali QUALIFIED
Wickens N NickaRussiaAsiya Javayant PROPOSAL
Izzy R StockhamRussiaIoni Bowcher PROPOSAL
Mujtaba Q SlusarskiGermanyAnna Fali UNQUALIFIED
Jeanfrancois B StockhamJapanAsiya Javayant UNQUALIFIED
Silvio L DarakjyFranceIvan Magalhaes QUALIFIED
Aditya C RutaUnited KingdomIoni Bowcher QUALIFIED
Costa J ButtArgentinaAsiya Javayant QUALIFIED
Jones M DilliardCanadaIoni Bowcher RENEWAL
Costa L NickaIndiaAmy Elsner RENEWAL
Aika Q PoquetteFranceIvan Magalhaes RENEWAL
Johnson N MarrierAustraliaElwin Sharvill QUALIFIED
Cody S DarakjyAustraliaElwin Sharvill UNQUALIFIED
Mujtaba B MaletRussiaAmy Elsner QUALIFIED
Jones M PaprockiSpainIvan Magalhaes UNQUALIFIED
Chavez P WaycottFranceBernardo Dominic NEGOTIATION
Jefferson T StensethFranceBernardo Dominic NEW
Emily G VenereArgentinaAmy Elsner NEW
Juan T MaletFranceXuxue Feng RENEWAL
Kaitlin U GauchoFranceAsiya Javayant NEW
Kadeem P IturbideSpainXuxue Feng QUALIFIED
Izzy F ShinkoJapanAmy Elsner RENEWAL
Darci O PerinItalyAnna Fali UNQUALIFIED
Stacey G WieserFranceStephen Shaw PROPOSAL
Rodrigues G BowleyArgentinaBernardo Dominic UNQUALIFIED
Maisha R KuskoUnited KingdomIoni Bowcher QUALIFIED
Murillo P PoquetteGermanyIvan Magalhaes NEW
Smith E AlbaresGermanyAmy Elsner UNQUALIFIED
Sinclair N SaylorsFranceIvan Magalhaes NEW
Salvatore O CaudyRussiaBernardo Dominic QUALIFIED
Izzy D PoquetteIndiaAnna Fali QUALIFIED
Francesco L WhobreyBrazilAsiya Javayant UNQUALIFIED
Leja P PerinGermanyAmy Elsner QUALIFIED
Stacey M CaudyFranceIvan Magalhaes NEGOTIATION

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