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
Murillo V FlosiUnited KingdomAmy Elsner PROPOSAL
Juan Q BologniaCanadaElwin Sharvill NEGOTIATION
Jones P SaylorsUnited KingdomOnyama Limba PROPOSAL
Isabel D GillianBrazilElwin Sharvill QUALIFIED
Aruna F DilliardCanadaElwin Sharvill PROPOSAL
Johnson D SchemmerAustraliaXuxue Feng QUALIFIED
Costa L StockhamItalyAnna Fali PROPOSAL
Mujtaba T MacleadJapanXuxue Feng RENEWAL
Chavez G SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Clifford B OstroskyIndiaAmy Elsner NEGOTIATION
Murillo B BologniaFranceXuxue Feng QUALIFIED
Maria B MaletIndiaBernardo Dominic NEW
Clifford E OldroydSpainIvan Magalhaes RENEWAL
Chavez I SlusarskiArgentinaAsiya Javayant NEW
Mayumi P DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Aditya J ChuiBrazilAnna Fali QUALIFIED
Adams D ShinkoJapanStephen Shaw PROPOSAL
Kaitlin A BowleyGermanyOnyama Limba PROPOSAL
Maria A GarufiRussiaIvan Magalhaes PROPOSAL
Izzy D DarakjyUnited KingdomOnyama Limba NEW
Darci N AlbaresJapanXuxue Feng PROPOSAL
Morrow T VocelkaBrazilXuxue Feng PROPOSAL
Ivar Q MaletItalyStephen Shaw UNQUALIFIED
Silvio G OldroydItalyAsiya Javayant UNQUALIFIED
David U ButtRussiaStephen Shaw RENEWAL
Greenwood B BriddickJapanBernardo Dominic RENEWAL
Izzy A BriddickCanadaAsiya Javayant UNQUALIFIED
Morrow I MaletSpainXuxue Feng UNQUALIFIED
Ivar F SlusarskiSpainAmy Elsner PROPOSAL
Isabel S BriddickBrazilStephen Shaw UNQUALIFIED
Leja Q ButtSpainAmy Elsner PROPOSAL
Leja Q GillianBrazilBernardo Dominic NEGOTIATION
Morrow B RoysterGermanyElwin Sharvill UNQUALIFIED
Aika N RutaArgentinaBernardo Dominic NEGOTIATION
Nicolas K GarufiBrazilOnyama Limba NEGOTIATION
Silvio Q NestleUnited KingdomAnna Fali NEW
Greenwood Y VenereRussiaIvan Magalhaes RENEWAL
Ashley D OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Ricardo A FigeroaIndiaXuxue Feng PROPOSAL
Emily X ButtJapanIvan Magalhaes RENEWAL
David Q NickaBrazilElwin Sharvill NEW
Alejandro R GlickIndiaAnna Fali RENEWAL
Ivar T PoquetteBrazilAnna Fali NEGOTIATION
Francesco D StockhamJapanOnyama Limba RENEWAL
Emily E AmigonArgentinaBernardo Dominic PROPOSAL
Murillo E DoeSpainXuxue Feng RENEWAL
Adams W MacleadRussiaXuxue Feng QUALIFIED
James Y ShinkoBrazilOnyama Limba NEW
Clifford K PoquetteBrazilElwin Sharvill PROPOSAL
Costa Z SlusarskiSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro R DilliardGermanyXuxue Feng NEW
Jones E DilliardRussiaElwin Sharvill PROPOSAL
Mujtaba G GarufiFranceAsiya Javayant UNQUALIFIED
David S StockhamIndiaAnna Fali NEW
Morrow B BriddickArgentinaElwin Sharvill QUALIFIED
Arvin C GarufiSpainStephen Shaw NEW
Ivar K SergiFranceOnyama Limba QUALIFIED
Adams X FlosiGermanyElwin Sharvill PROPOSAL
Cody X VenereBrazilAsiya Javayant UNQUALIFIED
Aika X IturbideFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith J MorascaFrance2025-07-30Chanay, Jeffrey A Esq PROPOSAL72Elwin Sharvill
1001Jefferson D WieserFrance2025-07-24King, Christopher A Esq PROPOSAL61Anna Fali
1002Mujtaba J TollnerCanada2025-07-23Benton, John B Jr QUALIFIED33Ivan Magalhaes
1003Chavez L VocelkaRussia2025-08-03Rousseaux, Michael Esq NEGOTIATION44Onyama Limba
1004Faith O MarrierArgentina2025-07-19Printing Dimensions UNQUALIFIED20Onyama Limba
1005Murillo T BriddickUnited Kingdom2025-07-09Dorl, James J Esq NEW41Onyama Limba
1006Cody F InouyeJapan2025-08-02King, Christopher A Esq UNQUALIFIED41Asiya Javayant
1007Misaki A BriddickRussia2025-08-02Chanay, Jeffrey A Esq NEGOTIATION64Xuxue Feng
1008Deepesh V IturbideIndia2025-07-25Feltz Printing Service NEW96Stephen Shaw
1009Cody I PoquetteIndia2025-07-14Morlong Associates PROPOSAL16Stephen Shaw
1010Deepesh O OstroskyArgentina2025-07-07Truhlar And Truhlar Attys PROPOSAL49Xuxue Feng
1011Tony E NickaItaly2025-07-08Feltz Printing Service NEW76Stephen Shaw
1012Jennifer R SaylorsUnited Kingdom2025-07-24Rousseaux, Michael Esq NEGOTIATION22Ivan Magalhaes
1013Julie D ShinkoRussia2025-07-08Rangoni Of Florence NEGOTIATION78Ioni Bowcher
1014Sinclair P SchemmerRussia2025-07-05Feiner Bros NEGOTIATION83Elwin Sharvill
1015Murillo O MaletBrazil2025-07-20Chemel, James L Cpa RENEWAL35Onyama Limba
1016Johnson R SergiUnited Kingdom2025-07-25Feiner Bros NEW21Ivan Magalhaes
1017Jefferson P DoeRussia2025-07-18Buckley Miller Wright UNQUALIFIED49Asiya Javayant
1018Antonio T ButtSpain2025-07-31Chanay, Jeffrey A Esq NEGOTIATION43Bernardo Dominic
1019Greenwood G CaudyBrazil2025-07-21Truhlar And Truhlar Attys QUALIFIED47Stephen Shaw
1020Leja E StockhamIndia2025-07-09Chemel, James L Cpa NEGOTIATION79Xuxue Feng
1021Isabel Q SchemmerUnited Kingdom2025-07-10Morlong Associates NEGOTIATION86Ivan Magalhaes
1022Mayumi Q RutaItaly2025-07-29Printing Dimensions QUALIFIED28Elwin Sharvill
1023Aditya H CaudyArgentina2025-07-10Chanay, Jeffrey A Esq NEGOTIATION3Bernardo Dominic
1024Ivar S FigeroaFrance2025-07-10Chanay, Jeffrey A Esq QUALIFIED31Bernardo Dominic
1025Cody R CampainGermany2025-07-11Chanay, Jeffrey A Esq PROPOSAL72Asiya Javayant
1026Ivar Z WhobreyRussia2025-07-27Chanay, Jeffrey A Esq QUALIFIED12Amy Elsner
1027Tony Z MorascaFrance2025-07-27Truhlar And Truhlar Attys NEW88Ioni Bowcher
1028Antonio R DoeSpain2025-07-20Feiner Bros PROPOSAL18Ivan Magalhaes
1029Leja F RutaIndia2025-07-24Chemel, James L Cpa UNQUALIFIED14Ivan Magalhaes
1030Maisha Q WaycottBrazil2025-07-19Chapman, Ross E Esq NEGOTIATION16Ioni Bowcher
1031Salvatore G StensethFrance2025-07-19Chemel, James L Cpa RENEWAL26Ioni Bowcher
1032Greenwood T MacleadArgentina2025-07-14Buckley Miller Wright PROPOSAL32Ivan Magalhaes
1033Deepesh K DilliardGermany2025-08-03Morlong Associates NEGOTIATION3Onyama Limba
1034Adams F WieserRussia2025-07-07Rousseaux, Michael Esq PROPOSAL10Asiya Javayant
1035Leja X NickaIndia2025-08-02Truhlar And Truhlar Attys QUALIFIED2Elwin Sharvill
1036Stacey P RoysterAustralia2025-07-13Dorl, James J Esq RENEWAL58Amy Elsner
1037Ivar B ChuiItaly2025-07-08Buckley Miller Wright PROPOSAL84Asiya Javayant
1038Wickens S RimCanada2025-07-30Rangoni Of Florence NEW50Stephen Shaw
1039Claire R IturbideFrance2025-07-17King, Christopher A Esq UNQUALIFIED62Onyama Limba
1040Emily M CaudyBrazil2025-07-31Chanay, Jeffrey A Esq NEW26Xuxue Feng
1041Ricardo Y AlbaresSpain2025-07-16Chapman, Ross E Esq QUALIFIED78Asiya Javayant
1042Salvatore A FerenczArgentina2025-07-24King, Christopher A Esq NEW67Onyama Limba
1043Murillo M AlbaresBrazil2025-07-08Chemel, James L Cpa QUALIFIED37Onyama Limba
1044Chavez B StensethCanada2025-07-16Truhlar And Truhlar Attys NEGOTIATION17Stephen Shaw
1045Rodrigues N OldroydJapan2025-07-14Buckley Miller Wright UNQUALIFIED61Anna Fali
1046Nicolas R GauchoAustralia2025-07-24Truhlar And Truhlar Attys UNQUALIFIED10Stephen Shaw
1047Chavez T VocelkaFrance2025-07-21Benton, John B Jr NEGOTIATION79Bernardo Dominic
1048Octavia Z OldroydArgentina2025-07-19Morlong Associates NEGOTIATION79Bernardo Dominic
1049Jones X GlickJapan2025-08-02Benton, John B Jr RENEWAL58Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones W AmigonItalyXuxue Feng RENEWAL
Antonio T BriddickCanadaIoni Bowcher UNQUALIFIED
Isabel Y GillianAustraliaIvan Magalhaes NEGOTIATION
Arvin D DarakjyItalyAmy Elsner QUALIFIED
Clifford M PerinIndiaAmy Elsner UNQUALIFIED
Antonio O BriddickArgentinaIvan Magalhaes PROPOSAL
Antonio Z KolmetzBrazilElwin Sharvill RENEWAL
Arvin K AlbaresRussiaIoni Bowcher UNQUALIFIED
Morrow T SaylorsRussiaIvan Magalhaes NEGOTIATION
Julie S SlusarskiRussiaXuxue Feng QUALIFIED
Sinclair B CaldareraItalyStephen Shaw NEW
Mujtaba I FigeroaGermanyIoni Bowcher NEGOTIATION
Morrow F FlosiRussiaIoni Bowcher UNQUALIFIED
Jefferson T IturbideCanadaIoni Bowcher RENEWAL
Arvin H DoeCanadaStephen Shaw UNQUALIFIED
Aika Y WaycottItalyIvan Magalhaes NEW
Munro O GlickUnited KingdomAmy Elsner NEW
Mujtaba F FerenczFranceAmy Elsner RENEWAL
Jefferson M PaprockiJapanBernardo Dominic PROPOSAL
Mayumi A RimRussiaIvan Magalhaes NEGOTIATION
Francesco I StockhamRussiaAnna Fali QUALIFIED
Juan X WhobreySpainIoni Bowcher PROPOSAL
Smith A DilliardRussiaAsiya Javayant NEW
Costa W WhobreyBrazilAnna Fali QUALIFIED
Alejandro X FlosiJapanAnna Fali PROPOSAL
Aditya V BriddickSpainIoni Bowcher UNQUALIFIED
Arvin E AlbaresAustraliaIoni Bowcher PROPOSAL
Maria B CaldareraCanadaStephen Shaw NEGOTIATION
Mujtaba I PerinIndiaStephen Shaw NEW
Kaitlin Q StensethUnited KingdomStephen Shaw QUALIFIED
Smith N CaudySpainAmy Elsner QUALIFIED
Alejandro Z PoquetteAustraliaIoni Bowcher UNQUALIFIED
Cody Z VocelkaBrazilIvan Magalhaes NEW
Morrow I BowleyUnited KingdomAmy Elsner NEW
Juan C MarrierJapanIvan Magalhaes PROPOSAL
Greenwood S CaudyIndiaElwin Sharvill QUALIFIED
Mujtaba N MacleadCanadaAsiya Javayant PROPOSAL
Alejandro E ShinkoSpainXuxue Feng QUALIFIED
Emily W RulapaughArgentinaElwin Sharvill QUALIFIED
Francesco M SchemmerAustraliaIoni Bowcher QUALIFIED
Munro T IturbideAustraliaOnyama Limba QUALIFIED
Ashley Q StockhamArgentinaStephen Shaw NEW
Francesco L GauchoCanadaAnna Fali QUALIFIED
Jones N GauchoRussiaOnyama Limba NEGOTIATION
Ashley Q FlosiAustraliaXuxue Feng UNQUALIFIED
Emily Y RimBrazilIoni Bowcher NEGOTIATION
Emily P IturbideJapanAsiya Javayant QUALIFIED
Izzy A ButtFranceAmy Elsner QUALIFIED
Rodrigues R FlosiFranceIvan Magalhaes PROPOSAL
Aditya L ChuiItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Kadeem K Albares
Aruna M Malet
Julie Y Paprocki
Ivar K Wieser
Johnson Z Venere
Silvio P Perin
Antonio C Rulapaugh
Sinclair W Malet
Juan X Saylors
Emily G Kusko
Silvio C Ferencz
Leja N Caudy
Jefferson S Morasca
Ricardo C Stockham
Mujtaba W Ferencz
Sinclair W Caudy
Misaki E Doe
Jennifer E Iturbide
Stacey X Wieser
Mayumi E Ostrosky
Murillo H Darakjy
Julie E Malet
Jefferson G Vocelka
Costa G Darakjy
Mujtaba Y Albares
Murillo K Tollner
Jones W Schemmer
Deepesh I Tollner
Claire N Nicka
Murillo G Foller
Ricardo E Campain
Rodrigues V Waycott
Munro W Schemmer
Maria A Kolmetz
Ricardo P Butt
Claire Y Bolognia
Jennifer C Schemmer
Greenwood S Caldarera
Leon I Morasca
Munro Y Flosi
Stacey A Ostrosky
Salvatore D Nestle
Ivar W Bolognia
Arvin L Stockham
Munro A Saylors
Darci A Bolognia
Nicolas J Sergi
Murillo U Waycott
Arvin N Gaucho
Morrow P Ostrosky
IdCountryDate
1000India2025-07-22
1001France2025-07-13
1002Canada2025-07-08
1003Italy2025-07-25
1004Canada2025-07-18
1005Argentina2025-07-16
1006Canada2025-07-29
1007Germany2025-07-08
1008Japan2025-08-02
1009France2025-07-14
1010Brazil2025-07-28
1011Japan2025-07-24
1012Canada2025-07-13
1013Brazil2025-07-21
1014Brazil2025-07-13
1015France2025-07-28
1016Argentina2025-07-19
1017Canada2025-07-15
1018France2025-07-27
1019Argentina2025-07-24
1020France2025-07-08
1021Germany2025-07-18
1022Canada2025-07-19
1023France2025-07-20
1024Italy2025-07-25
1025Spain2025-07-30
1026Russia2025-07-25
1027Australia2025-07-18
1028Brazil2025-08-03
1029United Kingdom2025-07-26
1030Canada2025-07-07
1031United Kingdom2025-07-10
1032Brazil2025-07-28
1033Japan2025-07-22
1034India2025-08-02
1035Argentina2025-08-02
1036Japan2025-08-01
1037Italy2025-07-16
1038Germany2025-07-06
1039Japan2025-07-21
1040France2025-07-30
1041Argentina2025-07-07
1042Russia2025-07-16
1043Brazil2025-08-01
1044Russia2025-07-17
1045United Kingdom2025-07-19
1046Japan2025-07-20
1047Russia2025-08-02
1048Brazil2025-07-24
1049Japan2025-07-22

On-Demand Data

NameIdCountryDate
Nicolas J Ruta1000Germany2025-08-02
Isabel G Stockham1001Italy2025-07-28
Chavez T Tollner1002Argentina2025-07-11
Kaitlin Q Amigon1003Spain2025-07-15
Antonio A Shinko1004Canada2025-07-06
Aditya K Campain1005Australia2025-08-03
Clifford X Malet1006Japan2025-07-12
Leon J Perin1007France2025-07-23
Ivar L Stenseth1008India2025-07-12
Darci F Figeroa1009Australia2025-07-12
Deepesh Y Campain1010India2025-07-26
Faith O Venere1011Japan2025-07-28
Chavez E Flosi1012Brazil2025-07-13
Mayumi U Oldroyd1013Spain2025-07-28
Kaitlin T Maclead1014Germany2025-07-31
Darci G Waycott1015Russia2025-07-10
Sinclair H Garufi1016India2025-07-16
Kaitlin T Marrier1017Germany2025-07-06
Maria M Doe1018Japan2025-07-09
Octavia I Morasca1019Argentina2025-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez T MacleadIndiaIoni Bowcher UNQUALIFIED
Clifford W MacleadRussiaStephen Shaw PROPOSAL
Silvio K VocelkaSpainAsiya Javayant UNQUALIFIED
Morrow K SlusarskiAustraliaOnyama Limba UNQUALIFIED
Stacey H CampainBrazilStephen Shaw UNQUALIFIED
Clifford I SchemmerItalyAmy Elsner NEGOTIATION
Clifford N CaudyJapanAmy Elsner NEW
Leja W NestleItalyOnyama Limba NEW
Tony Y StensethCanadaAsiya Javayant PROPOSAL
Jennifer U BriddickAustraliaAsiya Javayant UNQUALIFIED
Greenwood S SchemmerItalyAmy Elsner PROPOSAL
Emily F FerenczItalyBernardo Dominic PROPOSAL
Faith A WaycottItalyStephen Shaw PROPOSAL
Ashley E MacleadGermanyElwin Sharvill NEGOTIATION
Leja Z DilliardCanadaElwin Sharvill NEW
Emily O PerinIndiaXuxue Feng NEW
Mujtaba J DoeSpainXuxue Feng UNQUALIFIED
Octavia G InouyeFranceAsiya Javayant UNQUALIFIED
Darci Q NestleRussiaAsiya Javayant RENEWAL
Kadeem E DoeUnited KingdomOnyama Limba RENEWAL
David X WieserCanadaBernardo Dominic QUALIFIED
Cody B FollerItalyBernardo Dominic UNQUALIFIED
Mayumi X OldroydAustraliaAmy Elsner PROPOSAL
Leon K MarrierJapanOnyama Limba NEGOTIATION
Isabel A RimBrazilStephen Shaw UNQUALIFIED
Claire G CaudyJapanIvan Magalhaes PROPOSAL
Jefferson H SergiArgentinaStephen Shaw PROPOSAL
Aditya F SchemmerFranceIvan Magalhaes NEGOTIATION
Greenwood S CaldareraFranceIoni Bowcher NEGOTIATION
Aruna J SlusarskiSpainIvan Magalhaes UNQUALIFIED
Stacey D MorascaGermanyIoni Bowcher NEGOTIATION
Munro T DarakjyCanadaIvan Magalhaes UNQUALIFIED
Kaitlin H FerenczIndiaAsiya Javayant QUALIFIED
Morrow R SchemmerFranceAmy Elsner PROPOSAL
Misaki K RimAustraliaOnyama Limba NEW
Darci C PerinRussiaStephen Shaw QUALIFIED
Aika A DarakjyAustraliaBernardo Dominic NEW
Isabel K FollerBrazilAnna Fali QUALIFIED
Mujtaba N PerinRussiaElwin Sharvill NEGOTIATION
Aika P MorascaItalyAsiya Javayant QUALIFIED

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