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
Leja Z RutaAustraliaIvan Magalhaes UNQUALIFIED
Salvatore K RoysterJapanBernardo Dominic PROPOSAL
Ricardo I FerenczItalyAmy Elsner NEW
Salvatore G MorascaArgentinaIvan Magalhaes PROPOSAL
Murillo E NestleRussiaXuxue Feng NEW
Wickens B StockhamUnited KingdomXuxue Feng PROPOSAL
Stacey N BologniaJapanBernardo Dominic RENEWAL
Costa H WaycottCanadaElwin Sharvill UNQUALIFIED
Isabel B KolmetzArgentinaOnyama Limba QUALIFIED
Cody O KolmetzUnited KingdomAmy Elsner QUALIFIED
Costa H BologniaGermanyStephen Shaw PROPOSAL
Sinclair F NestleRussiaBernardo Dominic RENEWAL
Costa T PaprockiFranceBernardo Dominic QUALIFIED
Juan Z CampainArgentinaIoni Bowcher RENEWAL
Antonio T SergiItalyIoni Bowcher PROPOSAL
Clifford A BriddickUnited KingdomOnyama Limba NEGOTIATION
Jefferson D GlickArgentinaBernardo Dominic QUALIFIED
Izzy P KuskoGermanyAmy Elsner NEGOTIATION
Alejandro V ButtBrazilBernardo Dominic NEGOTIATION
Aruna W FigeroaArgentinaAsiya Javayant NEGOTIATION
Antonio H RulapaughItalyElwin Sharvill NEGOTIATION
Leon L WaycottJapanIoni Bowcher RENEWAL
Salvatore B DilliardAustraliaAnna Fali NEGOTIATION
Aruna I PoquetteRussiaOnyama Limba NEW
Ricardo S DoeUnited KingdomIoni Bowcher NEW
Adams B IturbideIndiaBernardo Dominic PROPOSAL
Kaitlin O SlusarskiFranceAnna Fali NEGOTIATION
Munro C MarrierGermanyAnna Fali PROPOSAL
Costa P BriddickArgentinaStephen Shaw QUALIFIED
Nicolas D VenereAustraliaOnyama Limba PROPOSAL
Faith A FlosiUnited KingdomXuxue Feng NEW
Kaitlin X AmigonItalyAnna Fali PROPOSAL
Aditya F StockhamItalyIvan Magalhaes NEGOTIATION
Leja L IturbideGermanyOnyama Limba PROPOSAL
Rodrigues H BriddickJapanBernardo Dominic NEGOTIATION
Nicolas P KolmetzFranceOnyama Limba UNQUALIFIED
Kadeem N WaycottIndiaAnna Fali UNQUALIFIED
Murillo A CaldareraItalyStephen Shaw UNQUALIFIED
Kaitlin A MorascaFranceIvan Magalhaes RENEWAL
Izzy X CaldareraArgentinaAsiya Javayant UNQUALIFIED
Wickens S BowleyFranceBernardo Dominic NEGOTIATION
James O CampainItalyOnyama Limba PROPOSAL
Silvio S StockhamCanadaAnna Fali NEGOTIATION
Deepesh V RoysterGermanyOnyama Limba UNQUALIFIED
Mayumi O ButtFranceAnna Fali RENEWAL
Kaitlin C RulapaughCanadaXuxue Feng NEGOTIATION
Jeanfrancois Y StockhamAustraliaBernardo Dominic QUALIFIED
Leon H FollerRussiaAsiya Javayant NEW
Clifford T PaprockiJapanAmy Elsner NEW
Misaki J InouyeCanadaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin P StockhamBrazilElwin Sharvill UNQUALIFIED
Izzy Y ChuiArgentinaXuxue Feng RENEWAL
Chavez Y OldroydUnited KingdomOnyama Limba NEGOTIATION
Wickens S SergiFranceStephen Shaw RENEWAL
Morrow J NickaUnited KingdomIoni Bowcher PROPOSAL
Maria N RimSpainIoni Bowcher PROPOSAL
Greenwood X RimAustraliaAsiya Javayant NEGOTIATION
Francesco N DilliardIndiaAmy Elsner QUALIFIED
Misaki L RulapaughGermanyStephen Shaw PROPOSAL
Stacey M CampainJapanXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar D RimUnited Kingdom2025-10-02Commercial Press UNQUALIFIED30Ioni Bowcher
1001Alejandro M GlickAustralia2025-10-18Chanay, Jeffrey A Esq NEGOTIATION57Stephen Shaw
1002Sinclair P PoquetteBrazil2025-10-13Benton, John B Jr UNQUALIFIED17Ivan Magalhaes
1003Jones N ChuiArgentina2025-09-25Commercial Press NEW7Ioni Bowcher
1004Leon P MarrierIndia2025-10-11Chemel, James L Cpa QUALIFIED88Amy Elsner
1005Deepesh Y ShinkoBrazil2025-10-18Feiner Bros NEGOTIATION72Elwin Sharvill
1006Cody X StensethArgentina2025-09-30Truhlar And Truhlar Attys QUALIFIED15Onyama Limba
1007Jeanfrancois L GauchoItaly2025-09-23Chanay, Jeffrey A Esq QUALIFIED28Onyama Limba
1008Aruna M CaudyRussia2025-09-29Feiner Bros PROPOSAL0Asiya Javayant
1009Ricardo W KolmetzUnited Kingdom2025-09-29Rousseaux, Michael Esq QUALIFIED17Ioni Bowcher
1010Juan F FerenczSpain2025-09-21Rousseaux, Michael Esq NEW73Ioni Bowcher
1011Izzy L MacleadCanada2025-09-26Dorl, James J Esq RENEWAL72Stephen Shaw
1012Juan Q MorascaBrazil2025-10-16Chemel, James L Cpa UNQUALIFIED4Amy Elsner
1013Nicolas G FlosiSpain2025-10-06Feltz Printing Service QUALIFIED71Onyama Limba
1014Alejandro A DarakjyRussia2025-10-11Morlong Associates QUALIFIED36Anna Fali
1015Sinclair W OldroydCanada2025-10-16Dorl, James J Esq NEW99Anna Fali
1016Silvio N PoquetteBrazil2025-09-21Feltz Printing Service NEW40Asiya Javayant
1017Aditya W GlickAustralia2025-10-07Chanay, Jeffrey A Esq NEGOTIATION21Asiya Javayant
1018Aika E DilliardGermany2025-09-19Chanay, Jeffrey A Esq RENEWAL71Bernardo Dominic
1019Johnson N MacleadRussia2025-10-02Chapman, Ross E Esq NEGOTIATION58Xuxue Feng
1020Kadeem O MarrierIndia2025-10-08King, Christopher A Esq QUALIFIED13Elwin Sharvill
1021Kadeem T MaletItaly2025-10-16Rangoni Of Florence PROPOSAL14Bernardo Dominic
1022Misaki B TollnerCanada2025-10-10Rousseaux, Michael Esq NEGOTIATION28Amy Elsner
1023Isabel U OldroydRussia2025-09-25Feltz Printing Service QUALIFIED13Stephen Shaw
1024Johnson G GlickAustralia2025-10-05Benton, John B Jr QUALIFIED52Anna Fali
1025Stacey W GlickItaly2025-09-25Rangoni Of Florence PROPOSAL56Bernardo Dominic
1026Darci K KuskoSpain2025-10-05Morlong Associates UNQUALIFIED33Anna Fali
1027Ivar S RutaArgentina2025-10-01Benton, John B Jr QUALIFIED89Onyama Limba
1028Isabel G SchemmerFrance2025-09-25Chanay, Jeffrey A Esq QUALIFIED18Ioni Bowcher
1029Ivar L MaletBrazil2025-10-09Truhlar And Truhlar Attys RENEWAL50Stephen Shaw
1030Cody N DarakjyCanada2025-09-26Truhlar And Truhlar Attys QUALIFIED12Xuxue Feng
1031Costa R GillianSpain2025-09-22Morlong Associates UNQUALIFIED71Ivan Magalhaes
1032Izzy Q ChuiSpain2025-10-10Chanay, Jeffrey A Esq QUALIFIED75Bernardo Dominic
1033Misaki P FlosiFrance2025-10-13Buckley Miller Wright UNQUALIFIED79Bernardo Dominic
1034Ashley Y MarrierUnited Kingdom2025-09-19Feiner Bros UNQUALIFIED50Xuxue Feng
1035Darci R GauchoIndia2025-10-04Morlong Associates RENEWAL51Asiya Javayant
1036Costa F GauchoFrance2025-10-16Rousseaux, Michael Esq NEW49Stephen Shaw
1037Jones V VocelkaJapan2025-10-04Commercial Press NEW93Xuxue Feng
1038Chavez A PaprockiFrance2025-09-27Morlong Associates QUALIFIED99Xuxue Feng
1039Leon A KuskoAustralia2025-10-13Printing Dimensions NEW79Amy Elsner
1040Maisha Y PoquetteGermany2025-10-08Chemel, James L Cpa RENEWAL51Anna Fali
1041Nicolas I MorascaBrazil2025-09-30Commercial Press UNQUALIFIED64Bernardo Dominic
1042Jones L GarufiRussia2025-10-15Printing Dimensions UNQUALIFIED85Bernardo Dominic
1043Smith Z BowleyCanada2025-09-30Chapman, Ross E Esq NEGOTIATION3Elwin Sharvill
1044Maisha R SaylorsIndia2025-09-26Rousseaux, Michael Esq QUALIFIED45Ivan Magalhaes
1045Morrow Y MarrierUnited Kingdom2025-10-16Feiner Bros RENEWAL40Ivan Magalhaes
1046Maisha L WhobreyGermany2025-09-24Feiner Bros QUALIFIED98Anna Fali
1047Francesco E DarakjyItaly2025-09-27Morlong Associates PROPOSAL11Asiya Javayant
1048Leon M AmigonUnited Kingdom2025-10-01Rangoni Of Florence UNQUALIFIED82Anna Fali
1049Jeanfrancois H DilliardFrance2025-10-04Feltz Printing Service UNQUALIFIED33Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith U CaldareraSpainOnyama Limba RENEWAL
David T CampainJapanIoni Bowcher UNQUALIFIED
Leon I PoquetteGermanyAnna Fali NEGOTIATION
Murillo Y GarufiItalyOnyama Limba UNQUALIFIED
Ivar L CampainRussiaAmy Elsner UNQUALIFIED
Smith Y PoquetteUnited KingdomXuxue Feng NEW
Cody R FigeroaFranceXuxue Feng NEGOTIATION
Alejandro S AmigonGermanyStephen Shaw NEW
Ivar A KuskoRussiaXuxue Feng UNQUALIFIED
Salvatore R PaprockiItalyOnyama Limba QUALIFIED
Francesco Y RutaFranceXuxue Feng QUALIFIED
Faith B OstroskyGermanyOnyama Limba PROPOSAL
Darci O OldroydItalyIvan Magalhaes QUALIFIED
Jefferson R OstroskyIndiaBernardo Dominic RENEWAL
Tony X GlickGermanyStephen Shaw UNQUALIFIED
Wickens U RimJapanAmy Elsner PROPOSAL
Rodrigues Q BowleyFranceXuxue Feng NEGOTIATION
Silvio D CaudyArgentinaOnyama Limba NEW
Salvatore X OstroskyIndiaAmy Elsner NEGOTIATION
Alejandro X BowleyCanadaIvan Magalhaes NEGOTIATION
Deepesh N RimUnited KingdomBernardo Dominic QUALIFIED
Clifford Q BowleyUnited KingdomOnyama Limba PROPOSAL
Francesco S CaudyIndiaIoni Bowcher NEW
Maria T MorascaCanadaAnna Fali NEGOTIATION
Ivar R CaldareraIndiaAsiya Javayant QUALIFIED
Silvio Q MaletSpainBernardo Dominic PROPOSAL
Emily P MacleadIndiaStephen Shaw RENEWAL
Antonio Q GlickIndiaBernardo Dominic RENEWAL
Arvin L WieserFranceOnyama Limba QUALIFIED
David S InouyeSpainElwin Sharvill NEW
Darci I RoysterIndiaIoni Bowcher NEW
Smith K PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Octavia L IturbideArgentinaStephen Shaw NEGOTIATION
Smith R BowleySpainStephen Shaw UNQUALIFIED
Francesco Y ChuiIndiaBernardo Dominic PROPOSAL
Maisha L AmigonCanadaIoni Bowcher PROPOSAL
James J IturbideItalyStephen Shaw QUALIFIED
Mujtaba Y CaldareraGermanyIvan Magalhaes RENEWAL
Tony X BologniaSpainAsiya Javayant RENEWAL
Isabel W FollerBrazilXuxue Feng NEGOTIATION
Stacey D BriddickBrazilStephen Shaw UNQUALIFIED
Johnson Y PoquetteFranceStephen Shaw QUALIFIED
Jefferson E BologniaIndiaAsiya Javayant UNQUALIFIED
Alejandro Z DilliardIndiaAsiya Javayant RENEWAL
Mayumi G DarakjyGermanyXuxue Feng NEGOTIATION
Clifford T ButtItalyAmy Elsner RENEWAL
Jones P MaletSpainAnna Fali NEW
Kaitlin N StensethBrazilElwin Sharvill QUALIFIED
Juan A CaudyFranceElwin Sharvill PROPOSAL
Sinclair X MarrierArgentinaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Ricardo S Bowley
Mayumi Z Nestle
Misaki O Ferencz
Juan I Venere
Claire K Darakjy
Julie I Ostrosky
Ivar Y Perin
Mujtaba D Maclead
Adams M Morasca
Aika T Schemmer
Arvin W Ruta
Leja S Sergi
Maria W Foller
Octavia K Darakjy
Leon U Flosi
James A Rim
Kaitlin Z Venere
Murillo A Marrier
Sinclair V Ferencz
Jennifer M Flosi
Maria X Morasca
Jones V Maclead
Chavez Z Nestle
Ivar D Tollner
Aruna G Kolmetz
Munro I Briddick
Francesco R Gillian
Jefferson S Kolmetz
Jefferson Z Saylors
Murillo S Amigon
Rodrigues I Albares
Aruna Q Perin
Clifford X Glick
James J Foller
Wickens A Kusko
Ashley X Stockham
Izzy F Nicka
Jones F Perin
Octavia X Rulapaugh
Johnson J Saylors
Emily A Briddick
Misaki P Shinko
Aditya N Darakjy
Murillo R Iturbide
Jeanfrancois H Morasca
Munro C Bolognia
Adams R Shinko
Octavia S Rim
Jones K Malet
Misaki L Paprocki
IdCountryDate
1000Canada2025-09-27
1001India2025-10-18
1002Canada2025-10-18
1003Argentina2025-10-09
1004Australia2025-10-07
1005Germany2025-10-15
1006United Kingdom2025-10-02
1007Russia2025-10-15
1008Germany2025-09-28
1009France2025-10-14
1010Australia2025-10-05
1011Australia2025-10-16
1012United Kingdom2025-09-24
1013Australia2025-09-23
1014Brazil2025-09-21
1015Argentina2025-10-10
1016Germany2025-10-15
1017Canada2025-09-29
1018Germany2025-10-11
1019Canada2025-10-10
1020United Kingdom2025-09-25
1021Canada2025-10-02
1022France2025-09-24
1023Germany2025-09-30
1024Australia2025-09-23
1025United Kingdom2025-10-03
1026Canada2025-10-08
1027Italy2025-10-14
1028Germany2025-10-09
1029United Kingdom2025-10-02
1030United Kingdom2025-09-28
1031Canada2025-10-01
1032Argentina2025-10-11
1033France2025-10-14
1034Japan2025-10-18
1035Russia2025-10-04
1036Russia2025-09-22
1037Germany2025-09-26
1038Brazil2025-10-17
1039France2025-10-05
1040Russia2025-10-11
1041Russia2025-09-29
1042Argentina2025-10-10
1043France2025-10-14
1044Italy2025-09-30
1045Brazil2025-09-22
1046Argentina2025-10-07
1047Canada2025-10-06
1048Brazil2025-10-09
1049Germany2025-09-27

On-Demand Data

NameIdCountryDate
Wickens N Kolmetz1000Spain2025-09-19
Costa C Morasca1001Spain2025-10-06
Jefferson R Inouye1002Italy2025-10-04
Deepesh H Garufi1003Argentina2025-09-29
Adams J Paprocki1004Canada2025-10-11
Darci Y Malet1005Germany2025-10-09
Leja Y Rim1006India2025-09-21
Antonio X Caudy1007Germany2025-09-23
Chavez J Inouye1008Russia2025-10-17
Arvin Y Marrier1009France2025-10-03
Maria U Morasca1010Australia2025-10-08
Antonio F Malet1011India2025-10-07
Octavia B Bolognia1012United Kingdom2025-10-14
Izzy J Chui1013Brazil2025-10-12
Ricardo K Glick1014Italy2025-09-29
Costa T Saylors1015Argentina2025-09-23
Antonio J Wieser1016Russia2025-09-30
Aika S Tollner1017France2025-10-15
Maria G Paprocki1018Italy2025-10-04
Aditya A Campain1019Japan2025-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood P MaletSpainStephen Shaw QUALIFIED
Greenwood K CampainArgentinaOnyama Limba QUALIFIED
Aika D MacleadGermanyBernardo Dominic UNQUALIFIED
Maria L GauchoCanadaStephen Shaw PROPOSAL
Claire V FigeroaIndiaOnyama Limba UNQUALIFIED
Munro Q CaldareraFranceOnyama Limba PROPOSAL
David Q TollnerIndiaBernardo Dominic PROPOSAL
Mayumi O DoeFranceAnna Fali QUALIFIED
Jones N SergiUnited KingdomAnna Fali UNQUALIFIED
Jones B ShinkoGermanyIvan Magalhaes QUALIFIED
Julie A GauchoBrazilAmy Elsner QUALIFIED
Francesco Q KolmetzCanadaBernardo Dominic PROPOSAL
Jones R RulapaughJapanBernardo Dominic NEGOTIATION
Adams G DilliardBrazilXuxue Feng PROPOSAL
Leja O MorascaUnited KingdomAsiya Javayant QUALIFIED
Jennifer Y GlickFranceIoni Bowcher NEGOTIATION
Izzy J DoeIndiaBernardo Dominic UNQUALIFIED
Johnson Q NickaCanadaAmy Elsner UNQUALIFIED
Costa P MaletArgentinaStephen Shaw NEGOTIATION
Chavez X OstroskyJapanXuxue Feng NEGOTIATION
Maisha X MacleadItalyAsiya Javayant NEW
Aditya I GarufiIndiaStephen Shaw RENEWAL
Greenwood P MacleadAustraliaStephen Shaw QUALIFIED
Salvatore Z SlusarskiIndiaAnna Fali NEW
Salvatore A VocelkaRussiaOnyama Limba NEGOTIATION
Mujtaba C StensethItalyAsiya Javayant PROPOSAL
Munro P StensethJapanElwin Sharvill RENEWAL
Greenwood Y BowleyJapanBernardo Dominic NEW
Jennifer Q OldroydSpainStephen Shaw NEW
Smith A BologniaJapanAnna Fali QUALIFIED
Misaki O BologniaBrazilAnna Fali UNQUALIFIED
Silvio W TollnerItalyStephen Shaw NEGOTIATION
Wickens V FlosiRussiaXuxue Feng UNQUALIFIED
Julie M MaletJapanAsiya Javayant NEW
Isabel H BriddickRussiaOnyama Limba UNQUALIFIED
Mujtaba C BologniaGermanyBernardo Dominic PROPOSAL
Nicolas K RutaSpainElwin Sharvill QUALIFIED
Emily T BologniaGermanyStephen Shaw UNQUALIFIED
Ashley G SlusarskiJapanBernardo Dominic QUALIFIED
Darci C DilliardAustraliaIvan Magalhaes NEW

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