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
Juan P IturbideRussiaIoni Bowcher UNQUALIFIED
Octavia B ChuiItalyOnyama Limba QUALIFIED
Alejandro J DilliardFranceBernardo Dominic NEGOTIATION
Greenwood U ShinkoBrazilStephen Shaw QUALIFIED
Sinclair A NestleSpainIvan Magalhaes UNQUALIFIED
Emily Z BriddickUnited KingdomAmy Elsner PROPOSAL
Ashley M StensethFranceAmy Elsner QUALIFIED
Aruna M CampainGermanyAnna Fali QUALIFIED
Jennifer Y IturbideGermanyAnna Fali QUALIFIED
Jefferson X ShinkoGermanyXuxue Feng PROPOSAL
Munro I DoeCanadaAmy Elsner QUALIFIED
Wickens U MacleadCanadaAnna Fali RENEWAL
Rodrigues O CaldareraItalyAsiya Javayant NEGOTIATION
Antonio O SergiItalyOnyama Limba NEW
Ivar T CaudyGermanyOnyama Limba RENEWAL
Cody H VenereGermanyOnyama Limba PROPOSAL
Maisha D OldroydItalyIoni Bowcher NEGOTIATION
James F StensethSpainStephen Shaw QUALIFIED
Nicolas S MaletSpainXuxue Feng RENEWAL
Kadeem R GillianSpainAmy Elsner RENEWAL
Tony M AlbaresGermanyIvan Magalhaes NEGOTIATION
David J CaudyGermanyIoni Bowcher UNQUALIFIED
Wickens F AlbaresIndiaXuxue Feng RENEWAL
Salvatore I ButtUnited KingdomIoni Bowcher NEGOTIATION
Aditya M WieserArgentinaXuxue Feng NEW
Clifford Y BowleyCanadaBernardo Dominic UNQUALIFIED
Ivar D MaletUnited KingdomAsiya Javayant NEGOTIATION
Julie P GillianJapanAnna Fali RENEWAL
Wickens B NickaJapanElwin Sharvill UNQUALIFIED
Izzy B NickaItalyElwin Sharvill UNQUALIFIED
Emily H GauchoFranceAnna Fali NEW
Faith I AlbaresJapanAsiya Javayant QUALIFIED
Emily F MaletRussiaAmy Elsner NEW
Jennifer S VocelkaItalyXuxue Feng QUALIFIED
Maisha R IturbideFranceIoni Bowcher PROPOSAL
Izzy G AlbaresGermanyAsiya Javayant QUALIFIED
Wickens G OstroskyBrazilIvan Magalhaes NEW
Murillo C VenereBrazilElwin Sharvill QUALIFIED
Stacey O AmigonJapanOnyama Limba UNQUALIFIED
Octavia Z RulapaughArgentinaAmy Elsner PROPOSAL
Misaki F FlosiRussiaOnyama Limba NEW
Izzy C PoquetteItalyAmy Elsner PROPOSAL
Chavez Z DoeSpainElwin Sharvill NEW
Wickens T StensethItalyAmy Elsner PROPOSAL
Ashley J ChuiFranceAsiya Javayant RENEWAL
Claire X SchemmerCanadaAnna Fali UNQUALIFIED
Claire O RimBrazilStephen Shaw QUALIFIED
Morrow J KolmetzSpainOnyama Limba RENEWAL
Murillo O NickaRussiaAsiya Javayant PROPOSAL
Aruna J SaylorsSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson L StockhamFranceIvan Magalhaes NEGOTIATION
Mayumi W VenereUnited KingdomElwin Sharvill QUALIFIED
Salvatore P OstroskyRussiaIoni Bowcher PROPOSAL
Kadeem R VenereAustraliaAnna Fali QUALIFIED
Maria X KuskoUnited KingdomStephen Shaw PROPOSAL
Faith P MorascaFranceElwin Sharvill UNQUALIFIED
Aika Z PoquetteSpainAnna Fali PROPOSAL
Adams Y RutaAustraliaOnyama Limba RENEWAL
Johnson E RoysterItalyAnna Fali UNQUALIFIED
Maria M RimRussiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas M DilliardArgentina2025-10-02Buckley Miller Wright QUALIFIED66Xuxue Feng
1001Aruna O DarakjyBrazil2025-10-07Buckley Miller Wright QUALIFIED82Anna Fali
1002Ashley L WaycottIndia2025-09-17Dorl, James J Esq NEGOTIATION20Xuxue Feng
1003Kaitlin K IturbideRussia2025-09-15Truhlar And Truhlar Attys UNQUALIFIED67Ivan Magalhaes
1004Antonio Y GillianIndia2025-09-17Rousseaux, Michael Esq QUALIFIED3Bernardo Dominic
1005Kaitlin R KuskoUnited Kingdom2025-10-02Morlong Associates UNQUALIFIED10Amy Elsner
1006David P VenereGermany2025-10-04Chanay, Jeffrey A Esq NEW72Ioni Bowcher
1007Antonio J VenereItaly2025-10-07Chemel, James L Cpa NEW89Ivan Magalhaes
1008Isabel L BowleyCanada2025-09-28Printing Dimensions UNQUALIFIED16Elwin Sharvill
1009Jefferson S NickaFrance2025-09-21Chapman, Ross E Esq NEW74Amy Elsner
1010Greenwood J CaldareraArgentina2025-10-03Printing Dimensions UNQUALIFIED60Anna Fali
1011Jeanfrancois G DilliardUnited Kingdom2025-09-12Morlong Associates QUALIFIED73Bernardo Dominic
1012Maisha L VenereAustralia2025-09-23Benton, John B Jr PROPOSAL73Anna Fali
1013Jeanfrancois G SaylorsFrance2025-10-09Benton, John B Jr RENEWAL4Bernardo Dominic
1014Ashley X MaletGermany2025-09-24Morlong Associates RENEWAL43Bernardo Dominic
1015Aika H BriddickJapan2025-10-04Feiner Bros PROPOSAL35Elwin Sharvill
1016Mujtaba T VocelkaItaly2025-09-29Benton, John B Jr UNQUALIFIED28Asiya Javayant
1017Julie L RutaBrazil2025-10-01Chanay, Jeffrey A Esq UNQUALIFIED2Asiya Javayant
1018Munro F MaletAustralia2025-09-15Rousseaux, Michael Esq QUALIFIED70Bernardo Dominic
1019Arvin B MaletBrazil2025-09-26Feiner Bros QUALIFIED24Xuxue Feng
1020Greenwood W MaletJapan2025-09-25Chemel, James L Cpa PROPOSAL80Xuxue Feng
1021Maisha V BowleyItaly2025-09-13King, Christopher A Esq RENEWAL3Onyama Limba
1022Ashley R PerinAustralia2025-09-17Morlong Associates RENEWAL55Elwin Sharvill
1023Clifford X TollnerFrance2025-10-06Feiner Bros UNQUALIFIED38Ioni Bowcher
1024Silvio M NestleGermany2025-09-15Rousseaux, Michael Esq PROPOSAL97Bernardo Dominic
1025Juan J SlusarskiCanada2025-09-22Commercial Press PROPOSAL43Elwin Sharvill
1026Munro M StockhamGermany2025-09-14Dorl, James J Esq UNQUALIFIED11Ivan Magalhaes
1027Misaki D WieserFrance2025-09-25Truhlar And Truhlar Attys UNQUALIFIED81Xuxue Feng
1028Ricardo F CaldareraRussia2025-09-27Morlong Associates NEW85Ioni Bowcher
1029Tony C FlosiJapan2025-10-04Dorl, James J Esq UNQUALIFIED55Onyama Limba
1030Adams R FerenczItaly2025-09-28Commercial Press NEW72Amy Elsner
1031Chavez L MaletItaly2025-10-07Rousseaux, Michael Esq QUALIFIED71Anna Fali
1032Octavia P DoeItaly2025-09-12King, Christopher A Esq NEW45Anna Fali
1033Juan R GlickGermany2025-09-22Chemel, James L Cpa QUALIFIED62Onyama Limba
1034Chavez I FollerFrance2025-09-16Morlong Associates RENEWAL18Amy Elsner
1035Kaitlin Z AlbaresAustralia2025-10-06Chanay, Jeffrey A Esq RENEWAL69Amy Elsner
1036Jones T GillianUnited Kingdom2025-10-09Chemel, James L Cpa PROPOSAL53Bernardo Dominic
1037Leon A WaycottUnited Kingdom2025-10-01Chemel, James L Cpa QUALIFIED10Bernardo Dominic
1038Tony E StockhamIndia2025-10-02Feltz Printing Service QUALIFIED52Amy Elsner
1039Ivar R FerenczGermany2025-10-08Morlong Associates NEW21Elwin Sharvill
1040Greenwood S MarrierAustralia2025-09-17Buckley Miller Wright UNQUALIFIED50Anna Fali
1041Munro K InouyeItaly2025-10-03Rangoni Of Florence NEW62Onyama Limba
1042Stacey Y CaudyFrance2025-10-08Morlong Associates NEW78Ivan Magalhaes
1043Clifford Z BologniaJapan2025-09-24Commercial Press RENEWAL9Bernardo Dominic
1044Aditya K RulapaughGermany2025-09-15Dorl, James J Esq NEW38Bernardo Dominic
1045Adams O WhobreyBrazil2025-09-18Feiner Bros NEW41Elwin Sharvill
1046Smith X KolmetzItaly2025-09-23Rangoni Of Florence RENEWAL21Ivan Magalhaes
1047Ashley J DarakjyItaly2025-10-05Dorl, James J Esq UNQUALIFIED73Ivan Magalhaes
1048Izzy H WieserAustralia2025-10-03Dorl, James J Esq UNQUALIFIED91Amy Elsner
1049Ivar Z PerinSpain2025-10-06Chanay, Jeffrey A Esq RENEWAL70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith J GlickUnited KingdomOnyama Limba QUALIFIED
Mujtaba R SaylorsIndiaStephen Shaw UNQUALIFIED
Isabel R MaletRussiaOnyama Limba UNQUALIFIED
Arvin G SergiSpainStephen Shaw NEW
Jeanfrancois X AlbaresIndiaElwin Sharvill QUALIFIED
Silvio V GauchoCanadaBernardo Dominic PROPOSAL
Antonio M AmigonCanadaIoni Bowcher NEW
Kadeem W MorascaCanadaAsiya Javayant RENEWAL
Smith P GillianItalyXuxue Feng QUALIFIED
Faith Q TollnerArgentinaXuxue Feng NEW
Isabel E OldroydSpainStephen Shaw QUALIFIED
Kaitlin W ChuiItalyAmy Elsner NEGOTIATION
Aika F ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya R MacleadFranceXuxue Feng RENEWAL
Aruna J SchemmerFranceAmy Elsner UNQUALIFIED
Tony U SergiArgentinaElwin Sharvill NEW
Leja N RutaBrazilAnna Fali NEW
Emily J GauchoAustraliaAmy Elsner NEGOTIATION
Antonio D FlosiItalyIvan Magalhaes PROPOSAL
Kaitlin S WieserArgentinaAsiya Javayant QUALIFIED
Costa K GarufiCanadaAmy Elsner QUALIFIED
Wickens N RulapaughItalyIvan Magalhaes UNQUALIFIED
Ashley T NestleItalyBernardo Dominic RENEWAL
Izzy P MarrierItalyIoni Bowcher UNQUALIFIED
Munro F FlosiIndiaOnyama Limba RENEWAL
Ricardo U MaletJapanStephen Shaw NEW
Clifford G ShinkoAustraliaIvan Magalhaes PROPOSAL
Johnson F GlickCanadaAnna Fali PROPOSAL
Arvin C AmigonArgentinaOnyama Limba RENEWAL
Costa T RutaFranceBernardo Dominic PROPOSAL
Alejandro M StockhamArgentinaXuxue Feng NEGOTIATION
Cody X PoquetteIndiaIvan Magalhaes QUALIFIED
Johnson Q RutaSpainAnna Fali NEW
Nicolas L MorascaSpainAnna Fali NEGOTIATION
Murillo A GlickItalyIoni Bowcher QUALIFIED
Jeanfrancois Q GarufiFranceIvan Magalhaes QUALIFIED
Ivar T SchemmerBrazilIoni Bowcher PROPOSAL
Chavez X NickaArgentinaAsiya Javayant QUALIFIED
Nicolas K PerinArgentinaBernardo Dominic UNQUALIFIED
Clifford O PerinRussiaAsiya Javayant RENEWAL
Maria U PoquetteCanadaAmy Elsner RENEWAL
Isabel D BriddickIndiaXuxue Feng NEW
Maria R NestleArgentinaIoni Bowcher NEGOTIATION
Aruna W FollerFranceElwin Sharvill NEGOTIATION
Arvin G IturbideAustraliaAsiya Javayant PROPOSAL
Jennifer A CaudyItalyElwin Sharvill RENEWAL
Sinclair P MarrierBrazilBernardo Dominic RENEWAL
Ricardo N CampainGermanyStephen Shaw NEGOTIATION
Jeanfrancois D TollnerSpainAmy Elsner QUALIFIED
Francesco X InouyeIndiaXuxue Feng RENEWAL
Frozen Columns
Name
Munro U Gaucho
Stacey B Ostrosky
Munro A Whobrey
Kaitlin C Ferencz
Greenwood E Kolmetz
Kaitlin V Stenseth
Julie C Caldarera
Rodrigues M Vocelka
Clifford V Butt
Clifford W Gillian
Chavez K Foller
Mujtaba Z Foller
Antonio L Waycott
Arvin M Waycott
Sinclair Z Whobrey
Izzy B Albares
Ricardo L Bowley
Misaki C Campain
Octavia A Poquette
Maisha B Glick
Ashley M Nestle
Claire H Gillian
Rodrigues W Ruta
Morrow Z Rim
Munro K Glick
Antonio H Gillian
Arvin X Tollner
Jeanfrancois Q Butt
Isabel C Darakjy
Aika P Inouye
James T Dilliard
Aika R Poquette
Clifford C Iturbide
Jefferson T Stockham
Octavia M Darakjy
Johnson N Amigon
Izzy A Figeroa
Arvin B Ostrosky
Jeanfrancois H Doe
Antonio R Gillian
Isabel I Wieser
Nicolas H Slusarski
Maria P Caudy
Costa L Ruta
Ricardo U Perin
Cody S Sergi
Cody T Oldroyd
Tony Q Oldroyd
Jennifer B Caudy
Emily X Flosi
IdCountryDate
1000India2025-10-05
1001France2025-10-01
1002Japan2025-10-03
1003Germany2025-10-01
1004Australia2025-10-03
1005Argentina2025-09-26
1006Russia2025-09-20
1007Spain2025-09-13
1008Brazil2025-10-04
1009United Kingdom2025-09-12
1010Russia2025-09-13
1011Italy2025-09-27
1012Spain2025-09-11
1013Japan2025-10-03
1014Japan2025-09-30
1015Spain2025-09-24
1016Brazil2025-10-10
1017Canada2025-09-18
1018Italy2025-09-30
1019Canada2025-09-14
1020Italy2025-10-09
1021Japan2025-09-14
1022Spain2025-10-08
1023Spain2025-09-30
1024Russia2025-10-05
1025Japan2025-09-26
1026Argentina2025-09-14
1027Canada2025-09-29
1028Japan2025-10-06
1029Japan2025-09-17
1030United Kingdom2025-09-16
1031Canada2025-09-17
1032Australia2025-10-10
1033France2025-09-27
1034Germany2025-09-26
1035United Kingdom2025-09-28
1036Brazil2025-09-29
1037Germany2025-09-21
1038United Kingdom2025-09-28
1039Canada2025-09-18
1040Brazil2025-09-27
1041France2025-09-11
1042Canada2025-09-12
1043Italy2025-09-26
1044Canada2025-09-12
1045Italy2025-09-24
1046Brazil2025-09-27
1047Canada2025-09-26
1048France2025-10-07
1049Japan2025-09-27

On-Demand Data

NameIdCountryDate
Emily N Amigon1000Russia2025-09-23
Kadeem X Gaucho1001France2025-09-12
Nicolas R Morasca1002Argentina2025-10-05
Darci W Ruta1003France2025-10-06
Ivar Y Campain1004Japan2025-09-14
Clifford T Foller1005Italy2025-09-15
Ivar A Vocelka1006Argentina2025-09-13
Isabel N Slusarski1007Canada2025-09-13
Claire M Morasca1008India2025-09-25
Kaitlin S Ferencz1009United Kingdom2025-09-30
Mayumi M Garufi1010United Kingdom2025-09-24
Kaitlin Z Poquette1011Argentina2025-09-20
Faith V Marrier1012France2025-09-11
Greenwood X Foller1013Germany2025-10-07
Mujtaba H Ostrosky1014Germany2025-10-02
Juan S Maclead1015Canada2025-10-07
Jefferson L Doe1016Italy2025-09-29
Darci M Paprocki1017Spain2025-10-01
Clifford M Royster1018Italy2025-09-20
Johnson W Darakjy1019Canada2025-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood N RutaItalyStephen Shaw RENEWAL
Faith Y CampainGermanyAsiya Javayant NEGOTIATION
Kaitlin S RulapaughAustraliaXuxue Feng UNQUALIFIED
Costa L IturbideGermanyAnna Fali PROPOSAL
Costa A AlbaresArgentinaAmy Elsner RENEWAL
Alejandro E CaudyIndiaStephen Shaw NEW
Arvin R BologniaUnited KingdomStephen Shaw UNQUALIFIED
Aruna U StensethItalyXuxue Feng QUALIFIED
Arvin L ButtAustraliaElwin Sharvill PROPOSAL
Juan H MaletItalyIoni Bowcher NEGOTIATION
Ashley L VenereJapanBernardo Dominic PROPOSAL
Silvio Q FollerRussiaXuxue Feng RENEWAL
Greenwood S BriddickRussiaIvan Magalhaes RENEWAL
Aditya W KolmetzItalyIvan Magalhaes PROPOSAL
Jennifer N TollnerCanadaStephen Shaw NEGOTIATION
Murillo M InouyeAustraliaAmy Elsner NEGOTIATION
Costa T DarakjySpainAnna Fali NEW
Salvatore U WhobreySpainStephen Shaw RENEWAL
Ivar D DoeIndiaAsiya Javayant RENEWAL
Arvin V VenereJapanXuxue Feng RENEWAL
Kaitlin N BowleyArgentinaElwin Sharvill NEGOTIATION
Aika Z NickaIndiaStephen Shaw RENEWAL
Izzy Y MacleadJapanBernardo Dominic NEW
Emily Q BologniaCanadaXuxue Feng NEW
Aditya L KolmetzJapanAmy Elsner UNQUALIFIED
Arvin T DoeUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin V WhobreySpainIoni Bowcher NEGOTIATION
Cody U StockhamSpainBernardo Dominic NEGOTIATION
Maria Z OldroydItalyBernardo Dominic RENEWAL
Julie N BologniaBrazilStephen Shaw UNQUALIFIED
Jefferson C CampainBrazilXuxue Feng QUALIFIED
Arvin Z VenereItalyAsiya Javayant NEGOTIATION
Ashley C MorascaCanadaAnna Fali RENEWAL
Misaki F NickaArgentinaIvan Magalhaes NEGOTIATION
Chavez C SaylorsJapanAsiya Javayant UNQUALIFIED
Salvatore B KolmetzIndiaOnyama Limba PROPOSAL
Salvatore E TollnerCanadaAnna Fali UNQUALIFIED
Isabel K RimItalyIvan Magalhaes NEGOTIATION
Jones P FigeroaIndiaStephen Shaw PROPOSAL
Faith I SchemmerFranceAnna Fali 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>