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
Mujtaba M MaletFranceBernardo Dominic QUALIFIED
Mujtaba T GillianFranceOnyama Limba UNQUALIFIED
Greenwood O BologniaGermanyAnna Fali QUALIFIED
Sinclair T SergiItalyXuxue Feng RENEWAL
Claire N MaletJapanAsiya Javayant UNQUALIFIED
Darci R PerinUnited KingdomOnyama Limba PROPOSAL
Sinclair K KuskoCanadaXuxue Feng NEW
Tony S RimItalyIvan Magalhaes PROPOSAL
Salvatore F GillianItalyOnyama Limba QUALIFIED
Aruna M FerenczIndiaElwin Sharvill NEGOTIATION
Silvio J PaprockiIndiaIvan Magalhaes QUALIFIED
Alejandro F PaprockiJapanAsiya Javayant QUALIFIED
Mujtaba B SchemmerGermanyAnna Fali QUALIFIED
Alejandro O RimAustraliaStephen Shaw RENEWAL
Wickens I AlbaresAustraliaAnna Fali PROPOSAL
Sinclair E MacleadArgentinaOnyama Limba QUALIFIED
Costa J ButtAustraliaBernardo Dominic RENEWAL
Aika X OldroydUnited KingdomAmy Elsner NEGOTIATION
Murillo K SlusarskiRussiaAmy Elsner UNQUALIFIED
Munro C StockhamFranceAsiya Javayant NEGOTIATION
Smith I AmigonCanadaAsiya Javayant RENEWAL
Nicolas S FollerArgentinaIvan Magalhaes UNQUALIFIED
Izzy H WieserJapanElwin Sharvill RENEWAL
Adams E GillianArgentinaAnna Fali NEW
Murillo B RimArgentinaStephen Shaw NEGOTIATION
Maria P SchemmerBrazilOnyama Limba RENEWAL
Stacey O MacleadJapanStephen Shaw QUALIFIED
Francesco Z PaprockiFranceIoni Bowcher RENEWAL
Maisha Y GarufiGermanyOnyama Limba QUALIFIED
Rodrigues J WieserFranceIoni Bowcher NEW
Juan Y PerinUnited KingdomAmy Elsner RENEWAL
Deepesh T CampainIndiaAnna Fali NEGOTIATION
Morrow G AmigonGermanyIoni Bowcher QUALIFIED
Antonio J SergiBrazilXuxue Feng QUALIFIED
Chavez M InouyeArgentinaAnna Fali NEGOTIATION
Izzy C TollnerUnited KingdomAnna Fali RENEWAL
David V VenereArgentinaIvan Magalhaes UNQUALIFIED
Maria M MorascaAustraliaAnna Fali NEW
Mujtaba P OstroskyGermanyXuxue Feng NEW
Mayumi O StockhamArgentinaOnyama Limba NEGOTIATION
Wickens Q WaycottFranceAnna Fali NEGOTIATION
Murillo G DilliardBrazilXuxue Feng NEGOTIATION
Salvatore G StockhamSpainStephen Shaw NEW
Greenwood T PerinArgentinaAmy Elsner RENEWAL
Ivar C KuskoBrazilIvan Magalhaes PROPOSAL
Ashley H PerinFranceStephen Shaw RENEWAL
Jeanfrancois O RutaIndiaAmy Elsner UNQUALIFIED
Aika N PoquetteArgentinaIvan Magalhaes NEGOTIATION
Kaitlin E OstroskyRussiaBernardo Dominic UNQUALIFIED
Mujtaba Y BriddickFranceElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood X MacleadGermanyAnna Fali PROPOSAL
Ivar J WieserCanadaStephen Shaw NEGOTIATION
Kaitlin E MarrierJapanStephen Shaw PROPOSAL
Izzy A AlbaresArgentinaXuxue Feng QUALIFIED
Greenwood C FollerBrazilIvan Magalhaes PROPOSAL
Aditya E ButtCanadaIvan Magalhaes NEW
Salvatore I ShinkoRussiaIoni Bowcher PROPOSAL
Arvin R OstroskySpainAsiya Javayant NEW
James V GauchoFranceOnyama Limba PROPOSAL
Maria J WieserSpainXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio O MacleadJapan2025-07-29Rangoni Of Florence NEW3Asiya Javayant
1001Kadeem B GillianItaly2025-08-20Benton, John B Jr NEW69Ivan Magalhaes
1002Ivar K RimJapan2025-08-19Chapman, Ross E Esq UNQUALIFIED26Anna Fali
1003Salvatore P VocelkaFrance2025-08-05Printing Dimensions QUALIFIED92Ioni Bowcher
1004Misaki D SchemmerAustralia2025-08-04Morlong Associates RENEWAL20Anna Fali
1005Mujtaba W SaylorsCanada2025-08-19Buckley Miller Wright PROPOSAL87Onyama Limba
1006Smith Y KuskoArgentina2025-08-05Morlong Associates NEGOTIATION25Ioni Bowcher
1007Juan U FigeroaBrazil2025-08-07Buckley Miller Wright UNQUALIFIED38Anna Fali
1008Salvatore Y RimJapan2025-07-26Benton, John B Jr PROPOSAL31Onyama Limba
1009Silvio C CaldareraAustralia2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED1Onyama Limba
1010Mayumi U FollerIndia2025-07-25Printing Dimensions QUALIFIED50Amy Elsner
1011Juan A InouyeRussia2025-08-22King, Christopher A Esq NEW61Xuxue Feng
1012Nicolas W PaprockiIndia2025-08-16Feiner Bros UNQUALIFIED21Anna Fali
1013Munro D RimBrazil2025-08-20Morlong Associates PROPOSAL28Elwin Sharvill
1014Maria J VenereFrance2025-08-07Printing Dimensions NEGOTIATION14Ioni Bowcher
1015Alejandro K TollnerItaly2025-08-16Buckley Miller Wright RENEWAL76Anna Fali
1016James K IturbideUnited Kingdom2025-08-13Chanay, Jeffrey A Esq QUALIFIED27Ivan Magalhaes
1017Jefferson F NestleArgentina2025-07-31Morlong Associates NEGOTIATION87Stephen Shaw
1018Smith J DoeArgentina2025-08-10Truhlar And Truhlar Attys UNQUALIFIED58Asiya Javayant
1019Isabel C VocelkaBrazil2025-08-02Buckley Miller Wright NEGOTIATION34Bernardo Dominic
1020Jeanfrancois B StensethBrazil2025-08-23Buckley Miller Wright RENEWAL18Anna Fali
1021Sinclair B MacleadCanada2025-08-06Benton, John B Jr RENEWAL77Bernardo Dominic
1022Leon E SergiFrance2025-08-15Benton, John B Jr UNQUALIFIED74Anna Fali
1023Antonio A FerenczSpain2025-07-25Chapman, Ross E Esq NEW70Asiya Javayant
1024Leja L PoquetteJapan2025-08-23Chapman, Ross E Esq RENEWAL52Anna Fali
1025Smith K PaprockiFrance2025-08-19Printing Dimensions RENEWAL66Amy Elsner
1026Deepesh B AlbaresBrazil2025-07-27Rousseaux, Michael Esq RENEWAL19Stephen Shaw
1027James B KolmetzCanada2025-08-19Feltz Printing Service RENEWAL98Amy Elsner
1028Francesco Q GlickAustralia2025-08-17Rousseaux, Michael Esq PROPOSAL38Stephen Shaw
1029Antonio U MorascaSpain2025-08-02Chanay, Jeffrey A Esq RENEWAL50Asiya Javayant
1030Silvio L PerinJapan2025-07-29Feltz Printing Service NEGOTIATION17Asiya Javayant
1031Maria A KolmetzUnited Kingdom2025-08-11Feiner Bros UNQUALIFIED14Xuxue Feng
1032Ricardo U AmigonSpain2025-07-31Rousseaux, Michael Esq QUALIFIED42Asiya Javayant
1033Greenwood J GlickItaly2025-08-09Feltz Printing Service RENEWAL12Anna Fali
1034Johnson L CaldareraBrazil2025-08-06Rousseaux, Michael Esq NEW78Bernardo Dominic
1035David F GarufiFrance2025-08-20Commercial Press NEW10Asiya Javayant
1036Costa J NickaJapan2025-08-19Printing Dimensions NEW94Anna Fali
1037Chavez K CaldareraJapan2025-07-29Feiner Bros UNQUALIFIED59Anna Fali
1038Francesco R MarrierAustralia2025-08-05King, Christopher A Esq QUALIFIED12Anna Fali
1039Darci B DoeUnited Kingdom2025-08-02Chanay, Jeffrey A Esq PROPOSAL66Elwin Sharvill
1040Cody D FigeroaRussia2025-08-21Morlong Associates NEW98Elwin Sharvill
1041Ashley B RoysterIndia2025-08-09Printing Dimensions RENEWAL30Asiya Javayant
1042Murillo H MaletIndia2025-07-31Buckley Miller Wright RENEWAL42Ioni Bowcher
1043David J GlickIndia2025-08-04Benton, John B Jr NEW84Amy Elsner
1044Claire U MacleadGermany2025-08-11Rousseaux, Michael Esq UNQUALIFIED30Bernardo Dominic
1045Julie D PerinUnited Kingdom2025-07-31Printing Dimensions RENEWAL0Onyama Limba
1046Ashley K InouyeArgentina2025-08-18Buckley Miller Wright QUALIFIED98Ivan Magalhaes
1047Darci P BologniaSpain2025-08-21Rousseaux, Michael Esq NEW65Amy Elsner
1048Salvatore M BowleyArgentina2025-08-09King, Christopher A Esq RENEWAL72Anna Fali
1049Leja P MaletSpain2025-08-10Feltz Printing Service QUALIFIED83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley M NickaUnited KingdomIoni Bowcher PROPOSAL
Stacey O TollnerCanadaAnna Fali NEW
Maisha K FerenczArgentinaOnyama Limba NEGOTIATION
Emily T RutaIndiaIvan Magalhaes RENEWAL
Johnson N BologniaCanadaElwin Sharvill NEGOTIATION
Arvin X PoquetteUnited KingdomStephen Shaw QUALIFIED
Wickens X MorascaArgentinaOnyama Limba UNQUALIFIED
Julie Q BriddickArgentinaIvan Magalhaes RENEWAL
Jennifer G WieserItalyXuxue Feng QUALIFIED
Francesco S FigeroaFranceIoni Bowcher PROPOSAL
Mayumi R PerinCanadaAmy Elsner UNQUALIFIED
Ivar B CaldareraCanadaAnna Fali NEW
Claire V OldroydBrazilBernardo Dominic QUALIFIED
Kaitlin T RutaJapanAnna Fali PROPOSAL
Kaitlin H WhobreyAustraliaAsiya Javayant NEW
David F BologniaArgentinaAsiya Javayant QUALIFIED
Greenwood X FollerSpainAnna Fali UNQUALIFIED
Clifford L VocelkaIndiaBernardo Dominic NEGOTIATION
Silvio X KuskoSpainAmy Elsner PROPOSAL
Faith Z CaldareraCanadaAnna Fali NEGOTIATION
Faith A ShinkoBrazilOnyama Limba RENEWAL
Ivar L WaycottJapanBernardo Dominic UNQUALIFIED
Isabel Q FerenczBrazilAmy Elsner NEW
Chavez H MaletJapanStephen Shaw NEGOTIATION
Sinclair W ButtCanadaBernardo Dominic QUALIFIED
Aruna P PoquetteRussiaStephen Shaw NEGOTIATION
Kadeem T NickaIndiaAmy Elsner NEW
Munro Y WhobreyCanadaIvan Magalhaes UNQUALIFIED
Ashley H NickaIndiaAnna Fali NEW
Mujtaba U FerenczIndiaXuxue Feng UNQUALIFIED
Deepesh E AmigonIndiaAnna Fali PROPOSAL
Claire C WieserBrazilBernardo Dominic NEW
Darci T StensethItalyIoni Bowcher PROPOSAL
Jeanfrancois F VocelkaIndiaBernardo Dominic RENEWAL
Adams H RulapaughAustraliaStephen Shaw PROPOSAL
Darci I SlusarskiUnited KingdomElwin Sharvill NEW
Morrow R KolmetzSpainStephen Shaw QUALIFIED
Mujtaba J MarrierBrazilIoni Bowcher RENEWAL
Arvin Q RoysterArgentinaAmy Elsner UNQUALIFIED
Clifford C MacleadJapanStephen Shaw QUALIFIED
Misaki M MarrierBrazilBernardo Dominic UNQUALIFIED
Aditya T WieserRussiaBernardo Dominic QUALIFIED
Jones V PaprockiArgentinaOnyama Limba QUALIFIED
Aruna P MacleadIndiaXuxue Feng QUALIFIED
Antonio R MaletCanadaStephen Shaw NEGOTIATION
Tony R PerinGermanyElwin Sharvill PROPOSAL
Silvio M KolmetzFranceStephen Shaw UNQUALIFIED
Darci S RoysterFranceOnyama Limba QUALIFIED
Juan N ChuiItalyXuxue Feng NEGOTIATION
Francesco X WieserIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Isabel S Stenseth
Alejandro B Vocelka
Morrow W Venere
Ricardo N Doe
Arvin W Saylors
Nicolas T Caldarera
Ashley X Bolognia
Chavez S Saylors
Mayumi O Garufi
Maria Q Marrier
Aika T Stenseth
Ashley A Inouye
Darci A Bolognia
Jones Z Rim
Salvatore N Kusko
Aika B Caudy
Julie I Ferencz
Stacey Z Tollner
Aika G Nicka
Jeanfrancois E Ruta
Ivar R Gaucho
Johnson Y Rulapaugh
Cody S Wieser
Ashley N Saylors
Ashley J Iturbide
Salvatore F Figeroa
Alejandro S Malet
Ashley E Wieser
Ivar N Caldarera
Murillo X Chui
Leon J Campain
Greenwood B Glick
Mujtaba F Paprocki
Jeanfrancois J Poquette
Rodrigues D Wieser
Jeanfrancois T Figeroa
Morrow A Nestle
Claire A Ferencz
Chavez Q Dilliard
Jeanfrancois F Tollner
Costa F Slusarski
Leon E Tollner
Morrow X Shinko
Aditya E Schemmer
Adams M Flosi
Greenwood X Inouye
Emily J Nestle
Ashley J Inouye
Jeanfrancois U Glick
Chavez G Schemmer
IdCountryDate
1000India2025-08-23
1001India2025-07-30
1002Argentina2025-08-17
1003Australia2025-08-14
1004Japan2025-08-18
1005Australia2025-08-13
1006United Kingdom2025-08-17
1007Argentina2025-07-25
1008Germany2025-08-16
1009Japan2025-08-12
1010Italy2025-08-21
1011Spain2025-08-17
1012Spain2025-08-07
1013Germany2025-08-09
1014Spain2025-08-04
1015Brazil2025-08-03
1016Australia2025-08-09
1017France2025-08-20
1018Brazil2025-08-05
1019Italy2025-08-22
1020United Kingdom2025-08-19
1021Italy2025-07-26
1022Brazil2025-08-20
1023Italy2025-08-19
1024Spain2025-07-27
1025Italy2025-08-09
1026United Kingdom2025-08-17
1027Italy2025-07-26
1028Italy2025-08-18
1029Australia2025-08-06
1030Spain2025-07-27
1031Argentina2025-08-19
1032India2025-07-26
1033Germany2025-07-27
1034Russia2025-07-31
1035Australia2025-08-13
1036Italy2025-07-28
1037Italy2025-07-28
1038Germany2025-08-15
1039Russia2025-07-27
1040Spain2025-08-18
1041Canada2025-07-26
1042Germany2025-08-22
1043Canada2025-07-29
1044Spain2025-08-04
1045Australia2025-08-22
1046Italy2025-07-27
1047France2025-08-12
1048Spain2025-07-28
1049United Kingdom2025-08-10

On-Demand Data

NameIdCountryDate
Arvin F Wieser1000Russia2025-08-07
Julie Z Vocelka1001Russia2025-08-07
Stacey H Nestle1002Germany2025-08-04
Julie E Waycott1003Canada2025-08-05
Deepesh B Foller1004Canada2025-08-06
Francesco L Inouye1005Germany2025-07-28
Wickens D Ruta1006Canada2025-08-09
Maisha G Shinko1007Japan2025-08-15
Tony T Caldarera1008France2025-08-11
Leon G Nestle1009Australia2025-08-10
Johnson Y Dilliard1010United Kingdom2025-07-27
Nicolas B Iturbide1011Spain2025-08-06
Cody I Campain1012Brazil2025-08-12
Nicolas S Morasca1013Canada2025-07-27
James R Marrier1014Australia2025-07-29
Jefferson B Caudy1015Japan2025-07-26
Alejandro H Saylors1016United Kingdom2025-08-16
Sinclair U Dilliard1017Brazil2025-08-07
Munro H Foller1018Japan2025-08-04
Aruna G Nicka1019Australia2025-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci R BowleyBrazilStephen Shaw PROPOSAL
Murillo L VocelkaBrazilIoni Bowcher UNQUALIFIED
Julie N FlosiSpainStephen Shaw RENEWAL
Maisha U SlusarskiBrazilAsiya Javayant RENEWAL
Aika K GauchoArgentinaIvan Magalhaes PROPOSAL
Jennifer B CaudyAustraliaAmy Elsner NEW
Costa T SchemmerFranceElwin Sharvill RENEWAL
Chavez F VenereRussiaElwin Sharvill PROPOSAL
Cody A RulapaughFranceStephen Shaw PROPOSAL
Isabel K StockhamFranceAmy Elsner RENEWAL
James B AlbaresRussiaAsiya Javayant NEW
Ashley F RutaJapanStephen Shaw NEW
Stacey U WaycottItalyIvan Magalhaes NEGOTIATION
Chavez F VenereAustraliaBernardo Dominic QUALIFIED
Misaki W KolmetzFranceAsiya Javayant PROPOSAL
Leon A FigeroaAustraliaAnna Fali NEW
Tony V GlickSpainStephen Shaw RENEWAL
Costa R SaylorsCanadaAmy Elsner UNQUALIFIED
Maria M OldroydJapanAnna Fali RENEWAL
Adams N StensethUnited KingdomAsiya Javayant UNQUALIFIED
Silvio J IturbideSpainIoni Bowcher NEW
Tony D WaycottItalyAnna Fali QUALIFIED
Cody Q DoeBrazilBernardo Dominic PROPOSAL
Izzy B SchemmerCanadaIoni Bowcher QUALIFIED
Johnson T AmigonCanadaIvan Magalhaes NEGOTIATION
Octavia Y FigeroaRussiaElwin Sharvill QUALIFIED
Claire O TollnerArgentinaAsiya Javayant NEW
Aika Q FigeroaCanadaAmy Elsner RENEWAL
Cody U RoysterItalyStephen Shaw QUALIFIED
Morrow T AmigonBrazilElwin Sharvill UNQUALIFIED
Julie D ShinkoArgentinaStephen Shaw PROPOSAL
Juan P MorascaAustraliaXuxue Feng UNQUALIFIED
Mayumi L KolmetzRussiaAmy Elsner NEW
Wickens Z SchemmerBrazilAsiya Javayant PROPOSAL
Aruna L MorascaCanadaAsiya Javayant QUALIFIED
Sinclair L ButtUnited KingdomIoni Bowcher PROPOSAL
Arvin L FollerSpainOnyama Limba QUALIFIED
Johnson O BowleyCanadaIvan Magalhaes RENEWAL
Izzy K PerinGermanyIoni Bowcher RENEWAL
Rodrigues D BowleyUnited KingdomStephen Shaw 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>