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
Jefferson L SaylorsJapanAsiya Javayant NEW
Rodrigues Q MaletUnited KingdomBernardo Dominic NEGOTIATION
Ivar I StockhamJapanXuxue Feng RENEWAL
Emily M SlusarskiItalyIoni Bowcher PROPOSAL
Stacey F DoeJapanAnna Fali PROPOSAL
Maria X GauchoFranceIoni Bowcher RENEWAL
Costa V PerinAustraliaIvan Magalhaes RENEWAL
Claire O MacleadAustraliaXuxue Feng QUALIFIED
Aditya O StockhamUnited KingdomAnna Fali NEW
Aruna G TollnerItalyAsiya Javayant UNQUALIFIED
Jeanfrancois W AlbaresJapanElwin Sharvill NEGOTIATION
Aruna B RulapaughUnited KingdomAnna Fali RENEWAL
Alejandro B GlickBrazilAmy Elsner PROPOSAL
David D WhobreyRussiaElwin Sharvill QUALIFIED
Cody K ButtFranceStephen Shaw RENEWAL
Aika G SlusarskiBrazilStephen Shaw PROPOSAL
Leja C PerinGermanyAnna Fali QUALIFIED
Aika Y PerinIndiaIvan Magalhaes QUALIFIED
Darci X BologniaGermanyStephen Shaw NEW
Maisha N SlusarskiAustraliaElwin Sharvill NEW
Johnson P ChuiBrazilAmy Elsner RENEWAL
Kaitlin T DarakjyJapanElwin Sharvill QUALIFIED
Greenwood G WhobreyUnited KingdomOnyama Limba RENEWAL
Darci N FigeroaFranceElwin Sharvill PROPOSAL
Antonio F MacleadItalyAnna Fali UNQUALIFIED
Nicolas R CaldareraBrazilXuxue Feng RENEWAL
Sinclair Z GillianCanadaAmy Elsner NEGOTIATION
Ivar X MaletAustraliaAmy Elsner QUALIFIED
Silvio L PoquetteIndiaElwin Sharvill RENEWAL
Maria K FollerSpainXuxue Feng UNQUALIFIED
Faith Q KolmetzGermanyElwin Sharvill RENEWAL
Ivar Z FlosiCanadaIoni Bowcher UNQUALIFIED
Francesco E GlickArgentinaIoni Bowcher NEW
Ricardo O TollnerCanadaIvan Magalhaes QUALIFIED
Kaitlin I CaldareraCanadaBernardo Dominic RENEWAL
Rodrigues C BriddickCanadaBernardo Dominic PROPOSAL
Tony W BologniaSpainAmy Elsner NEGOTIATION
Wickens H WhobreyGermanyElwin Sharvill NEW
Maisha K CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Aika S KuskoUnited KingdomStephen Shaw QUALIFIED
Adams Y InouyeUnited KingdomAnna Fali UNQUALIFIED
Leja R SchemmerCanadaElwin Sharvill PROPOSAL
Maria M StockhamIndiaAmy Elsner NEGOTIATION
Maisha G BologniaBrazilAnna Fali UNQUALIFIED
Smith Z PaprockiFranceAsiya Javayant PROPOSAL
Greenwood V FlosiBrazilStephen Shaw UNQUALIFIED
Tony G FollerUnited KingdomElwin Sharvill QUALIFIED
Murillo M ChuiIndiaIoni Bowcher NEGOTIATION
Claire X BowleyFranceOnyama Limba QUALIFIED
Antonio P StensethItalyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens F SchemmerJapanIoni Bowcher UNQUALIFIED
Ashley R RimFranceStephen Shaw NEGOTIATION
Greenwood G WaycottCanadaIvan Magalhaes QUALIFIED
Octavia X SchemmerRussiaXuxue Feng UNQUALIFIED
Maisha H BriddickAustraliaOnyama Limba QUALIFIED
Francesco D MacleadSpainAmy Elsner NEGOTIATION
Salvatore K AmigonBrazilStephen Shaw PROPOSAL
Jones S OstroskySpainXuxue Feng RENEWAL
Isabel W BowleyCanadaBernardo Dominic PROPOSAL
Isabel Y PaprockiJapanIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Z DoeSpain2025-08-10Printing Dimensions PROPOSAL50Bernardo Dominic
1001Faith O WieserSpain2025-08-12Chemel, James L Cpa PROPOSAL20Stephen Shaw
1002James D DoeFrance2025-08-05Feltz Printing Service NEW74Amy Elsner
1003Chavez I CaldareraUnited Kingdom2025-08-04Rousseaux, Michael Esq UNQUALIFIED25Xuxue Feng
1004Claire G TollnerItaly2025-07-31Rousseaux, Michael Esq NEW92Elwin Sharvill
1005David J OstroskyFrance2025-08-02Chapman, Ross E Esq QUALIFIED99Stephen Shaw
1006Munro D TollnerCanada2025-08-20Feltz Printing Service QUALIFIED91Bernardo Dominic
1007Isabel W WhobreyIndia2025-07-27Chemel, James L Cpa RENEWAL21Asiya Javayant
1008Johnson U WhobreyRussia2025-07-27Chanay, Jeffrey A Esq UNQUALIFIED84Asiya Javayant
1009James G TollnerJapan2025-07-27Buckley Miller Wright QUALIFIED58Elwin Sharvill
1010Cody U AlbaresFrance2025-07-30Chapman, Ross E Esq NEGOTIATION65Asiya Javayant
1011Chavez Q MarrierJapan2025-07-25Printing Dimensions NEGOTIATION3Ivan Magalhaes
1012Ricardo A KuskoBrazil2025-08-01Feiner Bros QUALIFIED28Onyama Limba
1013Izzy N SaylorsAustralia2025-08-03Rousseaux, Michael Esq NEW77Onyama Limba
1014Alejandro R RutaGermany2025-08-09Benton, John B Jr UNQUALIFIED23Bernardo Dominic
1015Murillo C FlosiBrazil2025-07-26Truhlar And Truhlar Attys UNQUALIFIED93Amy Elsner
1016Adams C SlusarskiCanada2025-08-07Rangoni Of Florence NEGOTIATION52Ivan Magalhaes
1017Kadeem N FigeroaBrazil2025-08-16Morlong Associates UNQUALIFIED24Ivan Magalhaes
1018Faith W GauchoSpain2025-08-08King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
1019Jones M SchemmerUnited Kingdom2025-08-11Benton, John B Jr NEW29Elwin Sharvill
1020Rodrigues E RulapaughAustralia2025-08-10Benton, John B Jr NEGOTIATION7Ivan Magalhaes
1021Mujtaba B DoeGermany2025-08-18Printing Dimensions UNQUALIFIED56Onyama Limba
1022Ashley K AmigonJapan2025-08-02Buckley Miller Wright UNQUALIFIED37Elwin Sharvill
1023Murillo L MaletBrazil2025-08-08Printing Dimensions RENEWAL87Amy Elsner
1024Clifford O KuskoUnited Kingdom2025-07-29Dorl, James J Esq NEW42Ivan Magalhaes
1025Nicolas G BowleyRussia2025-08-12Benton, John B Jr NEW35Amy Elsner
1026Greenwood G VocelkaSpain2025-08-02Benton, John B Jr PROPOSAL45Onyama Limba
1027Aika G WhobreyGermany2025-08-17Chanay, Jeffrey A Esq NEW27Ivan Magalhaes
1028Ashley B RutaRussia2025-08-10Rousseaux, Michael Esq UNQUALIFIED54Stephen Shaw
1029Clifford J FlosiIndia2025-08-14Rangoni Of Florence NEW29Amy Elsner
1030Johnson Y GauchoRussia2025-08-13Chemel, James L Cpa NEGOTIATION89Xuxue Feng
1031Mayumi G InouyeJapan2025-08-02Printing Dimensions QUALIFIED83Ioni Bowcher
1032Ricardo W WhobreyGermany2025-08-06Morlong Associates QUALIFIED59Onyama Limba
1033Darci X MorascaArgentina2025-07-30Buckley Miller Wright UNQUALIFIED34Stephen Shaw
1034Mayumi J ButtRussia2025-07-31Chemel, James L Cpa NEGOTIATION73Ivan Magalhaes
1035Stacey N PaprockiUnited Kingdom2025-07-24Rousseaux, Michael Esq PROPOSAL9Bernardo Dominic
1036Clifford U CaldareraJapan2025-08-18Commercial Press NEGOTIATION7Xuxue Feng
1037Johnson B GillianJapan2025-08-07Buckley Miller Wright UNQUALIFIED58Onyama Limba
1038Juan E CaldareraFrance2025-07-26Buckley Miller Wright PROPOSAL32Bernardo Dominic
1039Leja U InouyeJapan2025-07-27Rangoni Of Florence QUALIFIED69Bernardo Dominic
1040Morrow B MacleadAustralia2025-08-17Commercial Press NEW36Ioni Bowcher
1041Silvio J ButtItaly2025-08-01Truhlar And Truhlar Attys QUALIFIED78Stephen Shaw
1042Adams H InouyeIndia2025-08-01Benton, John B Jr RENEWAL96Ivan Magalhaes
1043Ashley Q SaylorsJapan2025-08-14Chapman, Ross E Esq RENEWAL84Onyama Limba
1044Arvin U TollnerIndia2025-08-22Dorl, James J Esq NEW59Onyama Limba
1045Greenwood W NickaJapan2025-08-14King, Christopher A Esq RENEWAL58Stephen Shaw
1046Leon S TollnerRussia2025-07-30Truhlar And Truhlar Attys NEGOTIATION28Ivan Magalhaes
1047Smith L SaylorsIndia2025-08-19King, Christopher A Esq UNQUALIFIED76Asiya Javayant
1048Deepesh S StensethIndia2025-08-13Commercial Press UNQUALIFIED78Elwin Sharvill
1049Smith C ShinkoRussia2025-07-26Rousseaux, Michael Esq RENEWAL65Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer K ChuiRussiaBernardo Dominic PROPOSAL
Kaitlin B FlosiAustraliaStephen Shaw UNQUALIFIED
Tony Y SergiFranceBernardo Dominic PROPOSAL
Tony I PoquetteSpainIvan Magalhaes PROPOSAL
Wickens J CampainArgentinaIvan Magalhaes UNQUALIFIED
Faith M CampainJapanOnyama Limba RENEWAL
Chavez G OstroskyUnited KingdomAsiya Javayant RENEWAL
Misaki O FlosiItalyBernardo Dominic RENEWAL
Aika F InouyeFranceElwin Sharvill NEW
Rodrigues G VenereArgentinaXuxue Feng NEGOTIATION
Nicolas D TollnerItalyAnna Fali NEW
Misaki N KuskoJapanIoni Bowcher QUALIFIED
Aruna R KolmetzItalyAsiya Javayant QUALIFIED
Maria U WhobreyBrazilAmy Elsner NEW
Kadeem K OstroskyIndiaStephen Shaw PROPOSAL
Faith F DoeCanadaAsiya Javayant PROPOSAL
Mayumi Y GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Leon O DarakjyRussiaOnyama Limba NEW
Chavez G ButtRussiaIvan Magalhaes UNQUALIFIED
Jefferson A DilliardJapanIoni Bowcher PROPOSAL
Claire N OstroskyFranceIoni Bowcher RENEWAL
Wickens M DilliardAustraliaAmy Elsner NEGOTIATION
Faith R InouyeUnited KingdomAsiya Javayant QUALIFIED
Isabel I NickaGermanyAnna Fali RENEWAL
Chavez K WaycottJapanStephen Shaw NEW
Silvio R NickaUnited KingdomBernardo Dominic NEW
Octavia S BologniaAustraliaAmy Elsner RENEWAL
Juan A AlbaresAustraliaBernardo Dominic NEGOTIATION
James M FerenczAustraliaXuxue Feng QUALIFIED
Cody B SaylorsIndiaAnna Fali NEGOTIATION
Greenwood J KolmetzCanadaElwin Sharvill UNQUALIFIED
Rodrigues A ShinkoCanadaXuxue Feng NEW
Cody P VenereCanadaAsiya Javayant NEW
Deepesh J NickaFranceXuxue Feng RENEWAL
Ashley Z DarakjyJapanIoni Bowcher PROPOSAL
Murillo U MarrierArgentinaAnna Fali NEW
Smith Z WaycottJapanStephen Shaw RENEWAL
Adams A BowleyIndiaAmy Elsner PROPOSAL
Jeanfrancois D CampainSpainAnna Fali PROPOSAL
Izzy H IturbideAustraliaXuxue Feng NEGOTIATION
Emily Y SchemmerUnited KingdomStephen Shaw QUALIFIED
Maisha G IturbideRussiaAnna Fali RENEWAL
Adams C PerinFranceIoni Bowcher NEGOTIATION
Stacey T MaletItalyXuxue Feng UNQUALIFIED
Alejandro Y AmigonBrazilAnna Fali NEW
Francesco Z MaletRussiaOnyama Limba UNQUALIFIED
Munro S PerinArgentinaStephen Shaw NEW
Maisha A VocelkaBrazilXuxue Feng NEGOTIATION
Aditya I BologniaUnited KingdomAnna Fali NEGOTIATION
Isabel O NestleRussiaIoni Bowcher RENEWAL
Frozen Columns
Name
Darci D Royster
Julie I Dilliard
Darci E Inouye
Greenwood C Inouye
Leon U Ostrosky
Nicolas P Maclead
Kaitlin R Oldroyd
Alejandro W Doe
Aika S Rim
Claire X Rim
Costa C Tollner
James N Kusko
Faith Y Ostrosky
Darci J Royster
Tony Z Morasca
Mujtaba H Schemmer
Clifford A Briddick
Claire A Gillian
Jeanfrancois E Caudy
Leja W Rim
Ricardo C Briddick
James X Briddick
Costa H Caldarera
Deepesh L Wieser
Rodrigues W Glick
Aika I Dilliard
Greenwood N Campain
Mujtaba V Gillian
Chavez G Perin
Emily L Butt
Juan H Caldarera
Aika G Schemmer
Darci U Ferencz
Aika S Caldarera
Jeanfrancois D Glick
Sinclair N Iturbide
Kaitlin R Morasca
Johnson N Briddick
Adams D Tollner
Jefferson D Rulapaugh
Tony L Darakjy
Nicolas T Vocelka
Alejandro G Caldarera
James V Campain
Salvatore Y Glick
Emily F Malet
Antonio D Nicka
Emily T Morasca
Darci G Gaucho
Johnson M Shinko
IdCountryDate
1000India2025-08-02
1001Argentina2025-08-08
1002Russia2025-08-14
1003Germany2025-08-14
1004France2025-08-14
1005Japan2025-08-14
1006Brazil2025-08-06
1007Argentina2025-07-25
1008India2025-08-08
1009Russia2025-08-13
1010United Kingdom2025-08-08
1011Australia2025-07-24
1012India2025-08-18
1013United Kingdom2025-07-29
1014Japan2025-07-24
1015Brazil2025-08-06
1016Brazil2025-07-31
1017Canada2025-08-08
1018Italy2025-08-02
1019Australia2025-07-30
1020Brazil2025-08-17
1021Italy2025-08-12
1022Germany2025-08-22
1023Italy2025-08-12
1024Germany2025-08-12
1025United Kingdom2025-08-03
1026India2025-07-27
1027Russia2025-07-28
1028Italy2025-08-09
1029France2025-08-02
1030India2025-08-11
1031France2025-08-05
1032Brazil2025-08-14
1033France2025-07-25
1034Russia2025-08-02
1035Italy2025-08-16
1036Brazil2025-08-03
1037Japan2025-07-29
1038Japan2025-07-28
1039Japan2025-07-29
1040Russia2025-08-07
1041India2025-08-10
1042Russia2025-08-16
1043India2025-08-09
1044Brazil2025-08-14
1045France2025-08-21
1046Japan2025-08-08
1047Argentina2025-08-13
1048Japan2025-08-20
1049Germany2025-08-19

On-Demand Data

NameIdCountryDate
Costa J Rulapaugh1000Spain2025-08-18
Deepesh A Campain1001Italy2025-08-18
Morrow D Saylors1002Italy2025-08-11
Aruna O Stockham1003Russia2025-08-21
Kaitlin G Rulapaugh1004United Kingdom2025-08-18
Greenwood Q Kusko1005Japan2025-08-03
Darci E Caudy1006Spain2025-07-27
Rodrigues Z Poquette1007Russia2025-08-12
Julie L Foller1008Italy2025-08-04
Alejandro D Butt1009United Kingdom2025-07-28
Jeanfrancois A Marrier1010Spain2025-07-31
Juan B Ferencz1011France2025-08-18
Cody P Bolognia1012United Kingdom2025-08-01
Isabel V Garufi1013Japan2025-08-22
Mayumi H Rulapaugh1014Japan2025-07-30
Nicolas D Morasca1015United Kingdom2025-08-06
Jennifer S Whobrey1016Australia2025-08-07
Munro G Iturbide1017Canada2025-08-03
Leon H Inouye1018Brazil2025-08-09
Misaki O Flosi1019Brazil2025-08-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba L ChuiArgentinaElwin Sharvill NEGOTIATION
Aruna T GauchoUnited KingdomStephen Shaw NEGOTIATION
Greenwood P BowleyGermanyIvan Magalhaes NEGOTIATION
Jones F OldroydFranceIvan Magalhaes NEW
Antonio K PaprockiFranceElwin Sharvill QUALIFIED
David J IturbideIndiaOnyama Limba QUALIFIED
Darci F CaudyBrazilElwin Sharvill PROPOSAL
Wickens V VocelkaJapanStephen Shaw UNQUALIFIED
Silvio G FerenczFranceXuxue Feng NEGOTIATION
Aika G PoquetteGermanyAmy Elsner NEW
Alejandro J BriddickFranceElwin Sharvill UNQUALIFIED
Kaitlin L VocelkaIndiaBernardo Dominic NEW
Ashley H OldroydArgentinaElwin Sharvill NEGOTIATION
Ashley V MaletBrazilElwin Sharvill UNQUALIFIED
Ricardo P SergiAustraliaElwin Sharvill RENEWAL
Munro H StockhamGermanyXuxue Feng QUALIFIED
Jones Q StensethUnited KingdomStephen Shaw NEGOTIATION
Costa V VenereUnited KingdomOnyama Limba RENEWAL
Ivar Q RulapaughCanadaBernardo Dominic UNQUALIFIED
Salvatore Y StockhamFranceOnyama Limba NEGOTIATION
Silvio M PaprockiSpainBernardo Dominic RENEWAL
Misaki G SlusarskiSpainXuxue Feng PROPOSAL
Murillo J PaprockiGermanyAmy Elsner NEW
Rodrigues Y DoeSpainXuxue Feng RENEWAL
Greenwood Q AlbaresUnited KingdomIoni Bowcher QUALIFIED
Rodrigues R WieserFranceAsiya Javayant QUALIFIED
Darci V PerinUnited KingdomIvan Magalhaes PROPOSAL
Izzy L FigeroaGermanyOnyama Limba QUALIFIED
Izzy C PoquetteRussiaIoni Bowcher NEGOTIATION
Alejandro E StensethUnited KingdomStephen Shaw UNQUALIFIED
Adams M WhobreyItalyAnna Fali NEGOTIATION
Ashley P OstroskyRussiaOnyama Limba PROPOSAL
Johnson C WhobreyRussiaAnna Fali NEW
Emily I BriddickJapanXuxue Feng NEW
James U IturbideUnited KingdomOnyama Limba QUALIFIED
Kaitlin X CaudyCanadaXuxue Feng RENEWAL
Jones C AmigonRussiaOnyama Limba QUALIFIED
Alejandro L AmigonGermanyAmy Elsner NEGOTIATION
Leja D GauchoCanadaStephen Shaw PROPOSAL
Jones U SergiRussiaAnna Fali 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>