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
Chavez I MaletIndiaStephen Shaw NEW
Aruna U RutaArgentinaElwin Sharvill PROPOSAL
Kaitlin R SaylorsFranceAsiya Javayant UNQUALIFIED
Clifford M StensethJapanAmy Elsner NEGOTIATION
Aruna P SlusarskiJapanElwin Sharvill RENEWAL
Francesco D GauchoItalyOnyama Limba UNQUALIFIED
Emily H AlbaresIndiaIoni Bowcher NEW
Julie Y CaldareraIndiaAnna Fali NEW
Sinclair S ButtRussiaStephen Shaw NEGOTIATION
Darci P MorascaGermanyAnna Fali PROPOSAL
Clifford L FlosiSpainStephen Shaw QUALIFIED
Jeanfrancois S ChuiRussiaStephen Shaw UNQUALIFIED
Leja X OstroskySpainAmy Elsner NEGOTIATION
David H FollerAustraliaAmy Elsner PROPOSAL
Darci P BowleyJapanAsiya Javayant NEW
Arvin P RutaBrazilAmy Elsner UNQUALIFIED
Chavez V SergiSpainIvan Magalhaes PROPOSAL
James N GillianGermanyElwin Sharvill NEGOTIATION
Aditya G MorascaAustraliaElwin Sharvill RENEWAL
Octavia Q RulapaughRussiaAmy Elsner NEGOTIATION
Jennifer P GarufiFranceAmy Elsner QUALIFIED
Greenwood W FlosiItalyAsiya Javayant NEW
Kadeem G PoquetteUnited KingdomBernardo Dominic RENEWAL
Maria C ShinkoCanadaIoni Bowcher RENEWAL
Faith U SaylorsRussiaIoni Bowcher PROPOSAL
Salvatore D WaycottGermanyOnyama Limba QUALIFIED
Murillo Y OstroskyJapanAnna Fali NEW
Kaitlin F ShinkoJapanIoni Bowcher RENEWAL
Aruna J SchemmerRussiaAnna Fali RENEWAL
Rodrigues F OstroskyFranceStephen Shaw RENEWAL
Chavez S SchemmerCanadaAnna Fali QUALIFIED
Mayumi Z SchemmerJapanElwin Sharvill PROPOSAL
Kadeem E VenereAustraliaIoni Bowcher UNQUALIFIED
Ricardo Y SergiCanadaIvan Magalhaes NEGOTIATION
Greenwood R MacleadArgentinaAmy Elsner NEW
Jones W PerinRussiaOnyama Limba NEW
Maisha Q TollnerFranceOnyama Limba RENEWAL
Jones X StockhamJapanStephen Shaw QUALIFIED
Ricardo S AmigonAustraliaStephen Shaw QUALIFIED
Ashley V MaletFranceIoni Bowcher NEW
Arvin C MarrierJapanIoni Bowcher NEGOTIATION
Jeanfrancois U FlosiIndiaIvan Magalhaes QUALIFIED
Chavez C MaletUnited KingdomAsiya Javayant PROPOSAL
Alejandro P StockhamGermanyXuxue Feng PROPOSAL
Clifford L StensethSpainIvan Magalhaes QUALIFIED
Antonio Z WaycottCanadaOnyama Limba QUALIFIED
Arvin L BowleyBrazilAsiya Javayant UNQUALIFIED
Izzy Y NickaArgentinaBernardo Dominic NEW
Faith F DarakjyArgentinaStephen Shaw RENEWAL
Aditya T TollnerJapanIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja O GarufiCanadaAmy Elsner RENEWAL
Rodrigues D WaycottCanadaIoni Bowcher UNQUALIFIED
Aika C TollnerArgentinaAsiya Javayant NEW
Leja N GauchoSpainOnyama Limba UNQUALIFIED
Adams C InouyeAustraliaXuxue Feng PROPOSAL
Octavia W MaletItalyIvan Magalhaes QUALIFIED
Chavez Z RoysterItalyElwin Sharvill PROPOSAL
Mujtaba S VocelkaRussiaElwin Sharvill NEGOTIATION
Cody I KuskoGermanyAnna Fali UNQUALIFIED
Mayumi B InouyeCanadaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez H PaprockiCanada2025-09-18Printing Dimensions NEGOTIATION8Asiya Javayant
1001Kaitlin U AmigonRussia2025-09-07Truhlar And Truhlar Attys RENEWAL43Ioni Bowcher
1002Jeanfrancois H OstroskyJapan2025-09-09King, Christopher A Esq QUALIFIED58Ioni Bowcher
1003Morrow L SlusarskiRussia2025-09-22Chapman, Ross E Esq PROPOSAL32Amy Elsner
1004Julie P WaycottUnited Kingdom2025-09-10King, Christopher A Esq RENEWAL99Stephen Shaw
1005Ivar R RimAustralia2025-09-25Morlong Associates UNQUALIFIED80Bernardo Dominic
1006Ivar H SaylorsArgentina2025-09-10Buckley Miller Wright NEGOTIATION37Bernardo Dominic
1007Aika U GauchoIndia2025-09-23Benton, John B Jr QUALIFIED85Elwin Sharvill
1008Ashley C OstroskyRussia2025-09-22Rousseaux, Michael Esq QUALIFIED86Xuxue Feng
1009Ivar N ShinkoArgentina2025-09-08Chemel, James L Cpa UNQUALIFIED94Amy Elsner
1010Misaki R MorascaGermany2025-09-04Feiner Bros UNQUALIFIED57Asiya Javayant
1011Sinclair D WaycottItaly2025-09-20Rousseaux, Michael Esq QUALIFIED84Stephen Shaw
1012Ivar Q OldroydIndia2025-09-29Benton, John B Jr NEGOTIATION29Elwin Sharvill
1013Faith H AmigonItaly2025-08-31Feiner Bros NEW78Elwin Sharvill
1014Jones I WaycottItaly2025-09-06Buckley Miller Wright PROPOSAL61Xuxue Feng
1015Darci M VocelkaGermany2025-09-09Printing Dimensions UNQUALIFIED54Xuxue Feng
1016Maria P StensethCanada2025-09-19Feiner Bros PROPOSAL76Anna Fali
1017Ashley U RulapaughJapan2025-09-06Rousseaux, Michael Esq RENEWAL2Xuxue Feng
1018Deepesh F RoysterAustralia2025-09-02Chapman, Ross E Esq NEW86Asiya Javayant
1019Aditya Q GauchoFrance2025-09-16Commercial Press RENEWAL85Ivan Magalhaes
1020Stacey K OldroydUnited Kingdom2025-09-16Buckley Miller Wright RENEWAL25Ioni Bowcher
1021Smith V InouyeCanada2025-09-04Chemel, James L Cpa PROPOSAL15Xuxue Feng
1022Greenwood B RulapaughRussia2025-09-18Rousseaux, Michael Esq PROPOSAL33Anna Fali
1023Kaitlin O GarufiJapan2025-09-19Feiner Bros RENEWAL55Onyama Limba
1024Arvin G StockhamGermany2025-09-25Chapman, Ross E Esq NEW70Anna Fali
1025James B GlickGermany2025-09-24Truhlar And Truhlar Attys UNQUALIFIED42Ioni Bowcher
1026Silvio P SchemmerCanada2025-09-26Benton, John B Jr QUALIFIED40Elwin Sharvill
1027Leon K PerinCanada2025-09-14Printing Dimensions QUALIFIED33Ivan Magalhaes
1028Julie P NickaBrazil2025-09-29Dorl, James J Esq NEGOTIATION78Onyama Limba
1029Francesco V BriddickSpain2025-09-10Morlong Associates UNQUALIFIED34Amy Elsner
1030Jennifer Q GarufiJapan2025-09-01Commercial Press RENEWAL46Amy Elsner
1031Julie V OstroskyBrazil2025-09-18Morlong Associates NEW43Onyama Limba
1032Sinclair D AmigonItaly2025-09-07Truhlar And Truhlar Attys QUALIFIED57Elwin Sharvill
1033Maisha M GauchoGermany2025-09-14Chanay, Jeffrey A Esq PROPOSAL17Amy Elsner
1034Maisha B WhobreyBrazil2025-09-27Truhlar And Truhlar Attys NEGOTIATION21Xuxue Feng
1035Clifford I AlbaresBrazil2025-09-24Feiner Bros NEGOTIATION66Asiya Javayant
1036Nicolas I NickaCanada2025-09-10Commercial Press UNQUALIFIED50Elwin Sharvill
1037Ricardo P WhobreyGermany2025-09-25Rangoni Of Florence RENEWAL96Stephen Shaw
1038Kadeem Z OstroskyFrance2025-08-31Chemel, James L Cpa RENEWAL89Elwin Sharvill
1039Octavia E FigeroaFrance2025-09-02Chemel, James L Cpa RENEWAL14Bernardo Dominic
1040Octavia X DarakjyIndia2025-09-05Printing Dimensions PROPOSAL85Onyama Limba
1041Francesco V GarufiBrazil2025-09-13Printing Dimensions UNQUALIFIED71Xuxue Feng
1042Isabel W PaprockiAustralia2025-09-01Feiner Bros QUALIFIED45Elwin Sharvill
1043Mujtaba K SchemmerGermany2025-08-31Commercial Press RENEWAL84Amy Elsner
1044Jeanfrancois A OstroskyJapan2025-09-26Rangoni Of Florence RENEWAL68Xuxue Feng
1045Jefferson T KolmetzJapan2025-09-12Truhlar And Truhlar Attys QUALIFIED15Xuxue Feng
1046Izzy O GlickJapan2025-09-09Feiner Bros PROPOSAL89Elwin Sharvill
1047Alejandro V BowleyBrazil2025-09-08Rousseaux, Michael Esq QUALIFIED31Ioni Bowcher
1048Cody U VocelkaRussia2025-09-04Benton, John B Jr NEGOTIATION1Onyama Limba
1049Faith S IturbideItaly2025-09-28Commercial Press NEGOTIATION67Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R PaprockiArgentinaStephen Shaw RENEWAL
Silvio M RoysterAustraliaAnna Fali UNQUALIFIED
David C MacleadUnited KingdomStephen Shaw NEW
Clifford Z GarufiCanadaElwin Sharvill NEGOTIATION
Francesco E InouyeIndiaAnna Fali NEW
Faith T StensethItalyAsiya Javayant PROPOSAL
Aika O DarakjyJapanStephen Shaw NEGOTIATION
Salvatore Y AlbaresArgentinaIvan Magalhaes NEW
Ashley S MacleadBrazilAmy Elsner PROPOSAL
Misaki K NickaBrazilAnna Fali QUALIFIED
Arvin K GauchoBrazilAnna Fali NEGOTIATION
Kaitlin C CaudyJapanAmy Elsner NEGOTIATION
Smith K ChuiJapanXuxue Feng NEGOTIATION
James K FigeroaIndiaAsiya Javayant UNQUALIFIED
Wickens K NestleCanadaElwin Sharvill NEW
Jennifer S SergiBrazilBernardo Dominic PROPOSAL
Clifford W TollnerArgentinaIvan Magalhaes UNQUALIFIED
Octavia P ChuiSpainElwin Sharvill NEW
Leon Q MarrierArgentinaIvan Magalhaes UNQUALIFIED
Francesco L KuskoItalyElwin Sharvill NEW
Arvin U ButtRussiaAnna Fali RENEWAL
James J OstroskyGermanyBernardo Dominic NEW
Sinclair S SchemmerGermanyIoni Bowcher RENEWAL
Costa H GarufiArgentinaAnna Fali QUALIFIED
Izzy Y CaudyUnited KingdomIvan Magalhaes PROPOSAL
Deepesh O SchemmerSpainIvan Magalhaes PROPOSAL
Ashley D FigeroaArgentinaElwin Sharvill RENEWAL
Izzy P CaldareraBrazilBernardo Dominic RENEWAL
Chavez Z ButtIndiaElwin Sharvill NEGOTIATION
Emily C CaudyItalyElwin Sharvill NEW
Darci V GillianCanadaAsiya Javayant NEW
Jones D BriddickUnited KingdomBernardo Dominic RENEWAL
Izzy N MorascaSpainXuxue Feng UNQUALIFIED
Murillo D MaletIndiaXuxue Feng QUALIFIED
Izzy S PaprockiJapanOnyama Limba RENEWAL
Nicolas S WieserAustraliaAmy Elsner QUALIFIED
Darci L OstroskyAustraliaElwin Sharvill RENEWAL
Aika T StockhamSpainAnna Fali QUALIFIED
Adams K DoeUnited KingdomIvan Magalhaes QUALIFIED
Jennifer I CaudyBrazilBernardo Dominic RENEWAL
Antonio M GlickBrazilIvan Magalhaes PROPOSAL
David I ButtBrazilXuxue Feng QUALIFIED
Juan V RutaGermanyAnna Fali NEGOTIATION
Jones Q MaletSpainBernardo Dominic NEGOTIATION
Johnson F GauchoAustraliaBernardo Dominic RENEWAL
Leon M StockhamRussiaOnyama Limba PROPOSAL
Aruna E RulapaughCanadaBernardo Dominic NEW
Arvin S FigeroaArgentinaIoni Bowcher NEW
Mayumi H CaudyGermanyIvan Magalhaes PROPOSAL
Leon F SaylorsRussiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Claire E Gillian
Tony T Maclead
Tony N Nicka
Murillo K Ostrosky
Munro V Dilliard
Mayumi X Nicka
Chavez B Paprocki
Costa I Nicka
Faith P Kusko
Maria E Garufi
Greenwood D Gaucho
Murillo O Wieser
Isabel R Darakjy
Aika J Paprocki
Mayumi G Venere
Costa R Flosi
Clifford B Tollner
Johnson F Oldroyd
Jones U Caldarera
Mayumi A Wieser
Claire P Royster
Julie K Figeroa
Leon Q Iturbide
Arvin C Perin
Ivar Q Maclead
Aika A Bolognia
Cody G Gillian
Arvin H Kusko
Izzy F Marrier
Stacey Q Perin
Clifford Q Butt
Jefferson J Sergi
Aruna E Gaucho
Isabel T Figeroa
Costa M Briddick
Octavia G Waycott
Smith T Perin
Sinclair U Doe
Aruna G Ostrosky
Ricardo N Kusko
Munro F Malet
Adams J Flosi
Juan I Slusarski
Juan A Dilliard
James F Ostrosky
Johnson X Ostrosky
Misaki C Slusarski
Juan K Perin
Munro N Perin
Jennifer V Paprocki
IdCountryDate
1000Japan2025-09-24
1001France2025-09-01
1002Argentina2025-09-18
1003France2025-09-06
1004France2025-09-09
1005Russia2025-09-21
1006Brazil2025-09-04
1007Argentina2025-09-25
1008Japan2025-09-09
1009India2025-09-03
1010Italy2025-09-18
1011Italy2025-09-12
1012Canada2025-09-09
1013Australia2025-09-07
1014Germany2025-09-22
1015Japan2025-09-15
1016Italy2025-09-11
1017Australia2025-09-10
1018India2025-09-18
1019France2025-09-02
1020Japan2025-09-12
1021Germany2025-09-24
1022Argentina2025-09-15
1023Japan2025-09-05
1024Brazil2025-09-17
1025Germany2025-09-10
1026Australia2025-09-15
1027Germany2025-09-16
1028United Kingdom2025-09-26
1029Japan2025-09-25
1030India2025-09-06
1031Spain2025-09-19
1032Spain2025-09-02
1033Italy2025-09-11
1034Russia2025-09-18
1035Canada2025-09-29
1036Italy2025-09-04
1037Brazil2025-08-31
1038Japan2025-09-17
1039Brazil2025-09-02
1040France2025-09-18
1041Russia2025-09-27
1042Argentina2025-08-31
1043Japan2025-09-02
1044United Kingdom2025-09-06
1045Spain2025-09-28
1046Italy2025-09-21
1047United Kingdom2025-09-21
1048United Kingdom2025-09-09
1049Japan2025-09-09

On-Demand Data

NameIdCountryDate
Isabel O Flosi1000Brazil2025-09-04
Mujtaba X Morasca1001Spain2025-09-17
Aditya B Wieser1002India2025-09-08
Darci Q Campain1003Brazil2025-09-18
Arvin Y Nestle1004Italy2025-09-23
Nicolas O Caldarera1005Brazil2025-09-14
Aika X Morasca1006Japan2025-09-04
Leon Q Maclead1007Argentina2025-09-06
Faith A Saylors1008Germany2025-09-02
Julie M Shinko1009Italy2025-09-01
Silvio W Malet1010India2025-09-26
James H Schemmer1011Italy2025-09-24
Morrow E Perin1012Japan2025-09-07
Silvio C Venere1013Australia2025-09-02
Johnson P Whobrey1014Australia2025-09-25
Jennifer T Gaucho1015Argentina2025-09-12
Wickens G Rulapaugh1016Canada2025-09-08
Aika J Foller1017United Kingdom2025-09-14
Julie U Albares1018France2025-09-20
Costa L Caudy1019Germany2025-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha B WieserFranceIvan Magalhaes UNQUALIFIED
James G DilliardAustraliaIvan Magalhaes NEGOTIATION
Julie S VenereIndiaElwin Sharvill QUALIFIED
Murillo W FigeroaCanadaBernardo Dominic PROPOSAL
Jones H FlosiItalyAsiya Javayant UNQUALIFIED
Nicolas Y MarrierAustraliaIoni Bowcher RENEWAL
Johnson P WieserCanadaAmy Elsner PROPOSAL
Salvatore W MarrierGermanyElwin Sharvill NEW
Jones V KolmetzBrazilOnyama Limba NEGOTIATION
Cody I WieserArgentinaOnyama Limba PROPOSAL
Cody G StockhamJapanStephen Shaw RENEWAL
James F KolmetzArgentinaAnna Fali QUALIFIED
David S OstroskySpainIoni Bowcher QUALIFIED
Octavia A SergiIndiaAsiya Javayant RENEWAL
Ashley D NestleFranceOnyama Limba RENEWAL
Chavez T FigeroaBrazilAmy Elsner NEW
Murillo C PaprockiFranceElwin Sharvill NEW
Greenwood M DilliardRussiaAmy Elsner UNQUALIFIED
Chavez H KolmetzBrazilBernardo Dominic NEGOTIATION
Stacey J RutaSpainIvan Magalhaes NEW
Jefferson C InouyeArgentinaIvan Magalhaes UNQUALIFIED
Salvatore T StockhamUnited KingdomXuxue Feng PROPOSAL
Misaki O RoysterSpainOnyama Limba RENEWAL
Ivar Y StockhamArgentinaOnyama Limba NEGOTIATION
David N WhobreyAustraliaBernardo Dominic NEGOTIATION
Silvio J SchemmerArgentinaElwin Sharvill NEW
Juan Y OldroydFranceBernardo Dominic QUALIFIED
Clifford C CaudyIndiaAsiya Javayant NEW
Aruna E GlickGermanyAmy Elsner UNQUALIFIED
Munro L FollerSpainXuxue Feng UNQUALIFIED
Silvio I SchemmerFranceAnna Fali UNQUALIFIED
Francesco H MaletFranceXuxue Feng UNQUALIFIED
Murillo C MaletUnited KingdomXuxue Feng NEW
Kadeem G GlickGermanyOnyama Limba UNQUALIFIED
Arvin X NickaIndiaAnna Fali PROPOSAL
Rodrigues C VocelkaSpainIoni Bowcher RENEWAL
Sinclair Q MaletJapanStephen Shaw QUALIFIED
Claire Z ButtIndiaIoni Bowcher QUALIFIED
Munro L BriddickGermanyBernardo Dominic PROPOSAL
Isabel M RutaSpainOnyama Limba 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>