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
Smith T CaudyIndiaElwin Sharvill NEGOTIATION
Kadeem X FerenczGermanyBernardo Dominic QUALIFIED
Jones F ButtItalyBernardo Dominic RENEWAL
Chavez Q MacleadUnited KingdomAnna Fali RENEWAL
Antonio T DoeFranceAsiya Javayant NEGOTIATION
Aruna I ButtArgentinaIvan Magalhaes QUALIFIED
Salvatore U FollerJapanStephen Shaw QUALIFIED
Kadeem F DilliardJapanIvan Magalhaes QUALIFIED
Sinclair X BologniaCanadaIvan Magalhaes PROPOSAL
Antonio M WhobreyArgentinaIvan Magalhaes NEGOTIATION
Clifford Z GauchoIndiaStephen Shaw RENEWAL
Aruna O OstroskyBrazilIvan Magalhaes PROPOSAL
Aditya H MorascaItalyAmy Elsner NEW
Munro N MaletUnited KingdomStephen Shaw PROPOSAL
Silvio O BologniaUnited KingdomXuxue Feng RENEWAL
Alejandro E FigeroaJapanAsiya Javayant QUALIFIED
Julie E DilliardArgentinaAnna Fali QUALIFIED
Faith C GillianRussiaOnyama Limba QUALIFIED
Maisha R DoeGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois H BowleyFranceOnyama Limba QUALIFIED
Leon V KolmetzGermanyElwin Sharvill RENEWAL
Arvin R MarrierSpainElwin Sharvill QUALIFIED
Sinclair P VenereAustraliaAnna Fali NEW
Emily E NickaGermanyXuxue Feng PROPOSAL
Claire W CaldareraItalyXuxue Feng RENEWAL
Jeanfrancois F RoysterJapanBernardo Dominic RENEWAL
Sinclair L AlbaresArgentinaAnna Fali UNQUALIFIED
Sinclair J BowleyBrazilAnna Fali NEGOTIATION
Greenwood F PerinJapanIvan Magalhaes QUALIFIED
Francesco A GillianArgentinaAnna Fali RENEWAL
Aruna X CaldareraItalyOnyama Limba UNQUALIFIED
Izzy C ShinkoFranceXuxue Feng PROPOSAL
Maria Z GarufiItalyOnyama Limba PROPOSAL
Smith N KuskoCanadaAmy Elsner RENEWAL
Greenwood G KuskoSpainIoni Bowcher NEW
Ashley V InouyeRussiaIvan Magalhaes NEW
Arvin O FerenczFranceAsiya Javayant NEW
Misaki F SaylorsAustraliaXuxue Feng PROPOSAL
Izzy S StensethSpainElwin Sharvill NEW
Julie Z FerenczArgentinaOnyama Limba NEW
Tony C DarakjyBrazilOnyama Limba NEW
Ashley C RoysterGermanyStephen Shaw NEGOTIATION
Rodrigues S SlusarskiIndiaIoni Bowcher UNQUALIFIED
Leja F OstroskyJapanAnna Fali RENEWAL
Jeanfrancois Y GauchoBrazilXuxue Feng UNQUALIFIED
Murillo W ShinkoAustraliaIoni Bowcher UNQUALIFIED
Isabel K GlickGermanyAmy Elsner RENEWAL
Maisha X ButtFranceOnyama Limba PROPOSAL
Antonio B PoquetteBrazilAsiya Javayant NEW
Silvio U VocelkaAustraliaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo A DarakjyItalyXuxue Feng NEW
Maria P WaycottSpainOnyama Limba RENEWAL
Murillo M RimCanadaAsiya Javayant UNQUALIFIED
Ashley Z FigeroaCanadaIvan Magalhaes UNQUALIFIED
Morrow U NestleFranceAsiya Javayant NEW
Kaitlin X RoysterBrazilAsiya Javayant QUALIFIED
Deepesh E NestleBrazilAsiya Javayant UNQUALIFIED
Murillo P BriddickIndiaElwin Sharvill UNQUALIFIED
Kaitlin L GillianArgentinaIoni Bowcher UNQUALIFIED
Leon B AmigonFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Y MacleadJapan2025-09-18Chanay, Jeffrey A Esq NEW6Onyama Limba
1001Juan G MacleadFrance2025-09-20Morlong Associates QUALIFIED27Amy Elsner
1002Izzy L FollerFrance2025-09-26Dorl, James J Esq NEW80Onyama Limba
1003Aika H PerinGermany2025-10-01Morlong Associates QUALIFIED23Xuxue Feng
1004Costa V SlusarskiSpain2025-09-17Chanay, Jeffrey A Esq PROPOSAL41Anna Fali
1005Sinclair P PerinFrance2025-09-12Morlong Associates QUALIFIED37Onyama Limba
1006Clifford Y DoeGermany2025-10-01King, Christopher A Esq RENEWAL92Stephen Shaw
1007Cody K MarrierArgentina2025-09-14Printing Dimensions PROPOSAL57Anna Fali
1008Mayumi G SlusarskiGermany2025-09-15Feiner Bros PROPOSAL77Anna Fali
1009Alejandro A MorascaCanada2025-09-14Buckley Miller Wright PROPOSAL16Stephen Shaw
1010Antonio P SaylorsGermany2025-09-08Rangoni Of Florence RENEWAL65Onyama Limba
1011Smith R ChuiArgentina2025-09-11Commercial Press NEGOTIATION98Onyama Limba
1012Jennifer K ShinkoAustralia2025-09-30Feiner Bros UNQUALIFIED76Stephen Shaw
1013Chavez F StockhamIndia2025-09-17Chapman, Ross E Esq NEW39Amy Elsner
1014Smith F BologniaRussia2025-09-19Benton, John B Jr NEGOTIATION4Amy Elsner
1015Tony P MacleadBrazil2025-09-27Morlong Associates RENEWAL63Ioni Bowcher
1016Nicolas C WhobreyIndia2025-10-07King, Christopher A Esq NEGOTIATION16Ivan Magalhaes
1017Silvio F PoquetteFrance2025-09-17Rousseaux, Michael Esq RENEWAL11Onyama Limba
1018Kadeem Q SchemmerJapan2025-09-18Morlong Associates QUALIFIED43Elwin Sharvill
1019Rodrigues S WieserItaly2025-09-16Morlong Associates NEW92Asiya Javayant
1020Maisha Z GillianJapan2025-09-15Rangoni Of Florence RENEWAL64Ivan Magalhaes
1021Jennifer P ChuiFrance2025-09-24Dorl, James J Esq PROPOSAL77Xuxue Feng
1022Salvatore Y InouyeArgentina2025-09-10Chemel, James L Cpa PROPOSAL76Ivan Magalhaes
1023Chavez H SaylorsItaly2025-09-12King, Christopher A Esq RENEWAL5Anna Fali
1024James W VenereItaly2025-09-18Buckley Miller Wright NEW95Onyama Limba
1025Emily U MaletCanada2025-10-05Commercial Press QUALIFIED53Bernardo Dominic
1026Juan E FigeroaItaly2025-09-19Buckley Miller Wright NEW76Ioni Bowcher
1027Clifford O GlickGermany2025-09-10Commercial Press RENEWAL48Anna Fali
1028Darci K ShinkoBrazil2025-09-16Rousseaux, Michael Esq NEW23Ivan Magalhaes
1029Tony Q WhobreyItaly2025-09-27Printing Dimensions UNQUALIFIED55Stephen Shaw
1030Antonio B GarufiCanada2025-10-02Benton, John B Jr RENEWAL85Stephen Shaw
1031Jennifer J RoysterArgentina2025-10-06Chanay, Jeffrey A Esq NEW80Anna Fali
1032Izzy I MarrierSpain2025-09-25Benton, John B Jr NEGOTIATION68Onyama Limba
1033Misaki Y CaldareraIndia2025-09-18Truhlar And Truhlar Attys RENEWAL93Onyama Limba
1034Faith V SlusarskiFrance2025-09-27Printing Dimensions NEGOTIATION35Anna Fali
1035Mayumi W CampainArgentina2025-09-30King, Christopher A Esq PROPOSAL5Amy Elsner
1036Octavia O NickaUnited Kingdom2025-10-03Feiner Bros UNQUALIFIED3Xuxue Feng
1037Faith G VenereCanada2025-09-12Morlong Associates NEW12Onyama Limba
1038Julie N ChuiSpain2025-10-04Buckley Miller Wright PROPOSAL74Stephen Shaw
1039Julie U AlbaresGermany2025-09-27Dorl, James J Esq NEGOTIATION99Ivan Magalhaes
1040Darci K CampainGermany2025-09-21Morlong Associates NEW95Ioni Bowcher
1041Izzy S ShinkoSpain2025-09-30Buckley Miller Wright RENEWAL66Anna Fali
1042Aika U OldroydBrazil2025-09-25Morlong Associates RENEWAL78Elwin Sharvill
1043Munro R InouyeUnited Kingdom2025-09-15King, Christopher A Esq QUALIFIED58Stephen Shaw
1044Greenwood L StensethGermany2025-09-27Printing Dimensions UNQUALIFIED14Ivan Magalhaes
1045Juan M FerenczJapan2025-09-23Dorl, James J Esq UNQUALIFIED62Asiya Javayant
1046Munro I RutaIndia2025-09-08Feltz Printing Service NEGOTIATION59Elwin Sharvill
1047Wickens C KuskoFrance2025-09-14Morlong Associates RENEWAL91Onyama Limba
1048Aditya N ShinkoAustralia2025-09-30Commercial Press PROPOSAL9Xuxue Feng
1049Morrow P DilliardBrazil2025-10-03Feiner Bros RENEWAL35Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore V RoysterCanadaIvan Magalhaes RENEWAL
Aditya A OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Tony Z BowleyRussiaAmy Elsner RENEWAL
Jeanfrancois U SaylorsGermanyElwin Sharvill NEGOTIATION
Tony F RutaUnited KingdomIoni Bowcher NEW
Leja X GauchoArgentinaAmy Elsner NEW
Smith Q StockhamJapanAmy Elsner RENEWAL
Adams D OstroskyJapanIvan Magalhaes PROPOSAL
Munro Z SlusarskiRussiaBernardo Dominic QUALIFIED
Morrow W CampainGermanyBernardo Dominic UNQUALIFIED
Ashley F WhobreyArgentinaIvan Magalhaes RENEWAL
Julie V VenereBrazilElwin Sharvill RENEWAL
Ashley H FollerCanadaOnyama Limba UNQUALIFIED
Cody E RulapaughArgentinaIvan Magalhaes NEGOTIATION
Costa K GarufiCanadaAnna Fali UNQUALIFIED
Nicolas G MarrierGermanyAsiya Javayant PROPOSAL
Izzy Z KuskoRussiaElwin Sharvill UNQUALIFIED
Ivar Q CampainUnited KingdomOnyama Limba UNQUALIFIED
Munro D RimIndiaXuxue Feng NEW
Salvatore A CampainJapanIoni Bowcher RENEWAL
Francesco R WhobreyCanadaStephen Shaw RENEWAL
Darci E RimIndiaXuxue Feng RENEWAL
Aika D FigeroaFranceXuxue Feng RENEWAL
Leja R ButtJapanAsiya Javayant QUALIFIED
Francesco Q BriddickAustraliaOnyama Limba PROPOSAL
Leon G SaylorsBrazilIoni Bowcher UNQUALIFIED
James J DoeUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair K ButtAustraliaIoni Bowcher PROPOSAL
Ivar E OstroskyUnited KingdomAsiya Javayant PROPOSAL
Mayumi Z AlbaresItalyAnna Fali PROPOSAL
Arvin Z GillianJapanOnyama Limba RENEWAL
Arvin G SaylorsGermanyElwin Sharvill UNQUALIFIED
Aika S StockhamCanadaStephen Shaw NEGOTIATION
Rodrigues A RutaIndiaAmy Elsner QUALIFIED
Francesco S SchemmerIndiaElwin Sharvill UNQUALIFIED
Francesco C MacleadJapanBernardo Dominic PROPOSAL
Mayumi O FerenczGermanyAsiya Javayant NEGOTIATION
Adams O CaldareraAustraliaStephen Shaw UNQUALIFIED
Antonio A GillianFranceAmy Elsner RENEWAL
Antonio S ShinkoItalyBernardo Dominic UNQUALIFIED
Ivar M ButtUnited KingdomAmy Elsner RENEWAL
Wickens O FollerJapanAnna Fali NEW
Munro Y StensethSpainXuxue Feng NEW
Maisha F SergiUnited KingdomOnyama Limba RENEWAL
Darci R MacleadRussiaIvan Magalhaes QUALIFIED
Misaki B PerinFranceStephen Shaw PROPOSAL
Rodrigues R MorascaSpainElwin Sharvill RENEWAL
Maisha X VocelkaJapanBernardo Dominic QUALIFIED
Alejandro B RimIndiaOnyama Limba PROPOSAL
Adams S VocelkaFranceIvan Magalhaes RENEWAL
Frozen Columns
Name
Ricardo N Inouye
Faith X Rim
Ivar S Ruta
James R Sergi
Aruna Z Oldroyd
Francesco X Marrier
Emily Q Saylors
Octavia H Inouye
Munro J Ruta
Silvio H Inouye
Jeanfrancois Y Inouye
Smith P Gaucho
Mayumi D Rim
Maria F Caudy
Isabel F Perin
Maria M Ruta
Francesco D Amigon
Ivar W Maclead
Octavia P Maclead
Silvio N Schemmer
Ashley C Whobrey
Stacey H Marrier
Chavez W Sergi
Ashley F Flosi
Kadeem Y Glick
Maria D Waycott
Morrow K Slusarski
Tony F Maclead
Mayumi Y Morasca
Maisha A Ostrosky
Jennifer U Maclead
Jones F Whobrey
Emily Z Saylors
David U Morasca
Deepesh T Perin
Arvin Y Glick
Juan U Oldroyd
Alejandro E Iturbide
Morrow S Darakjy
David B Wieser
Mayumi X Sergi
Faith I Stenseth
Wickens L Foller
Costa C Garufi
Sinclair R Kolmetz
Kaitlin V Flosi
Leja X Malet
Deepesh M Rim
Aika A Wieser
Cody C Malet
IdCountryDate
1000Spain2025-09-17
1001Argentina2025-09-27
1002Russia2025-10-04
1003India2025-09-27
1004Brazil2025-09-28
1005Germany2025-09-28
1006United Kingdom2025-09-22
1007Australia2025-09-11
1008United Kingdom2025-09-10
1009Japan2025-09-30
1010Australia2025-09-08
1011Argentina2025-09-10
1012Canada2025-09-17
1013United Kingdom2025-09-21
1014United Kingdom2025-10-02
1015Spain2025-09-14
1016Germany2025-09-10
1017Spain2025-09-08
1018France2025-09-28
1019Japan2025-09-08
1020Brazil2025-09-21
1021Spain2025-09-30
1022Australia2025-09-30
1023France2025-09-23
1024United Kingdom2025-09-24
1025Japan2025-09-23
1026Italy2025-09-30
1027France2025-10-02
1028Brazil2025-10-06
1029Italy2025-09-16
1030Canada2025-10-06
1031India2025-09-16
1032Argentina2025-10-03
1033United Kingdom2025-10-03
1034France2025-09-28
1035Italy2025-10-02
1036United Kingdom2025-09-22
1037France2025-09-17
1038Spain2025-09-16
1039France2025-09-11
1040India2025-09-26
1041Italy2025-09-25
1042Australia2025-09-29
1043Italy2025-09-20
1044United Kingdom2025-10-04
1045Canada2025-10-02
1046Spain2025-09-20
1047France2025-09-11
1048Canada2025-10-07
1049Germany2025-09-27

On-Demand Data

NameIdCountryDate
Sinclair C Rim1000Italy2025-09-29
Nicolas U Figeroa1001Australia2025-09-24
Emily U Saylors1002France2025-09-24
Aika K Garufi1003Australia2025-09-16
Aika P Oldroyd1004Brazil2025-09-25
Jefferson E Poquette1005Italy2025-10-03
Smith A Ferencz1006Canada2025-09-18
Emily Q Ferencz1007Italy2025-10-06
Cody O Stenseth1008France2025-10-07
Misaki M Saylors1009Canada2025-09-25
Salvatore Y Shinko1010Russia2025-09-14
Cody V Morasca1011Canada2025-09-29
Isabel W Oldroyd1012Australia2025-09-11
Costa Y Caldarera1013Australia2025-09-15
Faith X Chui1014Brazil2025-09-25
Clifford B Schemmer1015France2025-09-08
Maria K Malet1016Australia2025-09-16
Jennifer O Morasca1017India2025-09-30
Wickens L Maclead1018Brazil2025-09-16
Kadeem R Ostrosky1019Germany2025-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey U SlusarskiBrazilStephen Shaw QUALIFIED
Arvin A FollerGermanyIoni Bowcher NEGOTIATION
Emily D SergiSpainElwin Sharvill QUALIFIED
Munro L RimBrazilAnna Fali RENEWAL
Wickens Z CampainFranceIvan Magalhaes PROPOSAL
Greenwood R CampainArgentinaAsiya Javayant RENEWAL
Mujtaba H OstroskyFranceAmy Elsner PROPOSAL
Stacey R KolmetzGermanyIoni Bowcher RENEWAL
Juan J NestleRussiaElwin Sharvill NEW
Jones U TollnerArgentinaAnna Fali UNQUALIFIED
Jefferson W FollerAustraliaAsiya Javayant NEGOTIATION
Tony P VocelkaFranceIoni Bowcher NEGOTIATION
Aditya R SchemmerJapanXuxue Feng PROPOSAL
Jeanfrancois Z GillianRussiaIvan Magalhaes PROPOSAL
Emily V GillianCanadaXuxue Feng QUALIFIED
Jefferson K RoysterUnited KingdomXuxue Feng PROPOSAL
Aruna A GauchoIndiaIvan Magalhaes NEW
Arvin V MaletItalyBernardo Dominic RENEWAL
Wickens R RoysterAustraliaElwin Sharvill RENEWAL
Octavia C RutaBrazilXuxue Feng NEW
Wickens L ButtRussiaOnyama Limba QUALIFIED
Aruna L SchemmerArgentinaIvan Magalhaes NEGOTIATION
Nicolas E CaldareraGermanyBernardo Dominic RENEWAL
Ashley T FollerCanadaElwin Sharvill RENEWAL
Wickens Q DilliardCanadaElwin Sharvill RENEWAL
Rodrigues U GauchoRussiaXuxue Feng PROPOSAL
Maisha M RoysterSpainIoni Bowcher NEGOTIATION
David X InouyeCanadaBernardo Dominic PROPOSAL
Chavez V SergiCanadaElwin Sharvill NEW
Octavia T DoeArgentinaAnna Fali QUALIFIED
Misaki P WhobreyGermanyAsiya Javayant NEW
Claire W BriddickFranceIoni Bowcher NEGOTIATION
Stacey S MaletRussiaBernardo Dominic NEGOTIATION
Jeanfrancois J InouyeJapanStephen Shaw UNQUALIFIED
Kadeem W PerinJapanAmy Elsner PROPOSAL
Morrow A ShinkoFranceAnna Fali NEGOTIATION
Alejandro A BriddickUnited KingdomBernardo Dominic PROPOSAL
Jones J FerenczArgentinaOnyama Limba UNQUALIFIED
Maria V InouyeGermanyAsiya Javayant PROPOSAL
Juan C RoysterSpainElwin Sharvill RENEWAL

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