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
Nicolas Z RimJapanAsiya Javayant NEGOTIATION
Silvio O GillianJapanBernardo Dominic UNQUALIFIED
Octavia I DarakjyAustraliaXuxue Feng QUALIFIED
Greenwood B VenereIndiaAmy Elsner UNQUALIFIED
Octavia B RutaSpainXuxue Feng RENEWAL
Aruna V BologniaIndiaStephen Shaw PROPOSAL
Munro U CaudyArgentinaAnna Fali NEW
Mujtaba E SchemmerUnited KingdomIoni Bowcher NEW
Nicolas K PoquetteAustraliaIvan Magalhaes RENEWAL
Ricardo T TollnerSpainOnyama Limba UNQUALIFIED
Aika M BriddickIndiaIoni Bowcher RENEWAL
Costa Y FigeroaUnited KingdomElwin Sharvill RENEWAL
Greenwood G WhobreyFranceIvan Magalhaes QUALIFIED
Aika D OstroskyAustraliaStephen Shaw RENEWAL
James D MorascaBrazilElwin Sharvill NEW
Emily U VenereFranceAnna Fali NEGOTIATION
Adams W CampainUnited KingdomAsiya Javayant NEGOTIATION
Faith I WhobreyCanadaAsiya Javayant NEW
Salvatore C AmigonGermanyXuxue Feng UNQUALIFIED
Isabel W FigeroaCanadaOnyama Limba QUALIFIED
Aruna H WaycottAustraliaXuxue Feng QUALIFIED
Leon A RulapaughArgentinaElwin Sharvill RENEWAL
Jefferson F SergiJapanXuxue Feng NEW
Aruna I BologniaJapanXuxue Feng QUALIFIED
Francesco V NickaGermanyOnyama Limba QUALIFIED
Tony W WhobreyItalyAsiya Javayant PROPOSAL
Aika S VenereUnited KingdomOnyama Limba UNQUALIFIED
Claire Q AmigonIndiaIvan Magalhaes RENEWAL
Clifford D RoysterSpainIoni Bowcher PROPOSAL
Aika Z ShinkoUnited KingdomBernardo Dominic RENEWAL
Jefferson D NestleArgentinaXuxue Feng NEW
Julie M RimAustraliaIoni Bowcher UNQUALIFIED
Misaki R DoeArgentinaAsiya Javayant NEGOTIATION
Leon H ShinkoBrazilOnyama Limba RENEWAL
Jennifer P GillianCanadaBernardo Dominic QUALIFIED
Jennifer Q ShinkoCanadaIvan Magalhaes QUALIFIED
Kaitlin F SaylorsGermanyElwin Sharvill UNQUALIFIED
Julie Z MacleadCanadaAnna Fali RENEWAL
Clifford U FerenczBrazilBernardo Dominic NEW
David H WieserBrazilIvan Magalhaes PROPOSAL
Mujtaba A KolmetzJapanAmy Elsner UNQUALIFIED
Leja M TollnerRussiaBernardo Dominic NEW
Faith W FigeroaSpainIvan Magalhaes PROPOSAL
Isabel G FollerArgentinaIoni Bowcher PROPOSAL
Leon F CampainIndiaIoni Bowcher RENEWAL
Aditya R MaletRussiaIvan Magalhaes PROPOSAL
Claire G AlbaresAustraliaIvan Magalhaes NEGOTIATION
Jefferson H PoquetteJapanOnyama Limba PROPOSAL
Silvio F CampainSpainXuxue Feng UNQUALIFIED
Sinclair G StensethItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Aditya U BowleySpainStephen Shaw QUALIFIED
Jefferson H BologniaFranceAmy Elsner QUALIFIED
Clifford M NestleSpainOnyama Limba NEGOTIATION
Aika D KuskoIndiaStephen Shaw NEW
Leon D OldroydFranceIvan Magalhaes QUALIFIED
Deepesh K MaletFranceIvan Magalhaes QUALIFIED
Johnson E WhobreyGermanyAsiya Javayant QUALIFIED
Izzy K SaylorsCanadaAsiya Javayant QUALIFIED
Johnson G MaletUnited KingdomXuxue Feng NEW
Munro P RutaIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey J BowleyJapan2025-09-24Chemel, James L Cpa NEGOTIATION14Ioni Bowcher
1001Jefferson U FollerRussia2025-09-17Chapman, Ross E Esq NEGOTIATION3Bernardo Dominic
1002Emily W MaletArgentina2025-09-21Rangoni Of Florence NEW26Bernardo Dominic
1003Octavia X RoysterIndia2025-09-25Chanay, Jeffrey A Esq NEGOTIATION91Xuxue Feng
1004Darci G CampainAustralia2025-09-29Chemel, James L Cpa QUALIFIED31Anna Fali
1005Octavia G MorascaBrazil2025-09-13Rangoni Of Florence QUALIFIED80Anna Fali
1006Izzy K FigeroaUnited Kingdom2025-10-02Chanay, Jeffrey A Esq UNQUALIFIED72Elwin Sharvill
1007Maisha L GauchoArgentina2025-10-09Chapman, Ross E Esq UNQUALIFIED83Ioni Bowcher
1008Faith P VenereSpain2025-09-18Benton, John B Jr PROPOSAL38Anna Fali
1009Darci U RoysterUnited Kingdom2025-10-08Chapman, Ross E Esq NEW74Stephen Shaw
1010Jennifer I VenereItaly2025-10-04Printing Dimensions PROPOSAL75Xuxue Feng
1011David Y NestleIndia2025-09-24Buckley Miller Wright RENEWAL92Onyama Limba
1012Sinclair I MacleadUnited Kingdom2025-09-23Truhlar And Truhlar Attys NEW10Ioni Bowcher
1013Kadeem K FollerItaly2025-10-02Buckley Miller Wright NEW57Onyama Limba
1014Juan H PaprockiFrance2025-09-23Truhlar And Truhlar Attys UNQUALIFIED81Elwin Sharvill
1015Deepesh R AmigonFrance2025-09-26Rangoni Of Florence NEW9Stephen Shaw
1016Faith X CampainFrance2025-09-29Rousseaux, Michael Esq QUALIFIED80Elwin Sharvill
1017Rodrigues K WaycottIndia2025-10-01Buckley Miller Wright UNQUALIFIED52Onyama Limba
1018Julie B KolmetzItaly2025-10-10Chemel, James L Cpa QUALIFIED94Anna Fali
1019Antonio M WieserFrance2025-10-12Buckley Miller Wright PROPOSAL22Anna Fali
1020Arvin Z FerenczItaly2025-10-03Truhlar And Truhlar Attys NEW86Stephen Shaw
1021David L CampainGermany2025-10-08Feltz Printing Service NEGOTIATION89Stephen Shaw
1022Leja X KuskoBrazil2025-09-14Buckley Miller Wright QUALIFIED45Amy Elsner
1023Cody I RimGermany2025-09-17Chemel, James L Cpa PROPOSAL18Amy Elsner
1024Silvio P SchemmerRussia2025-09-14Morlong Associates NEGOTIATION85Stephen Shaw
1025Munro L NestleIndia2025-09-24Rousseaux, Michael Esq NEGOTIATION69Anna Fali
1026Rodrigues J SchemmerGermany2025-09-28Chemel, James L Cpa RENEWAL57Xuxue Feng
1027Leja E MaletJapan2025-09-28Chemel, James L Cpa RENEWAL12Ivan Magalhaes
1028Leja Q PerinUnited Kingdom2025-10-08Chapman, Ross E Esq RENEWAL39Xuxue Feng
1029Francesco D ShinkoIndia2025-10-04Commercial Press UNQUALIFIED66Ivan Magalhaes
1030Ashley Y StockhamArgentina2025-09-14Dorl, James J Esq NEW38Anna Fali
1031Clifford O VocelkaJapan2025-09-23Dorl, James J Esq NEW42Anna Fali
1032Aruna V SlusarskiSpain2025-09-13Printing Dimensions NEGOTIATION32Ivan Magalhaes
1033Ivar Z CaldareraIndia2025-09-29King, Christopher A Esq RENEWAL94Ivan Magalhaes
1034Johnson W MorascaArgentina2025-09-20Benton, John B Jr UNQUALIFIED25Stephen Shaw
1035Mujtaba H SchemmerCanada2025-09-27Chapman, Ross E Esq PROPOSAL89Elwin Sharvill
1036Morrow A DoeArgentina2025-10-05Rangoni Of Florence NEGOTIATION89Stephen Shaw
1037Octavia G SchemmerIndia2025-09-30Dorl, James J Esq UNQUALIFIED65Asiya Javayant
1038Octavia W MarrierUnited Kingdom2025-09-15Rangoni Of Florence NEGOTIATION17Asiya Javayant
1039Kadeem I PerinCanada2025-09-22Rangoni Of Florence NEW69Bernardo Dominic
1040Isabel F SergiSpain2025-10-03Benton, John B Jr PROPOSAL80Elwin Sharvill
1041Rodrigues U GlickRussia2025-09-18Feiner Bros RENEWAL50Asiya Javayant
1042Costa V BriddickFrance2025-09-26King, Christopher A Esq QUALIFIED40Onyama Limba
1043Adams L VenereUnited Kingdom2025-10-02Buckley Miller Wright QUALIFIED84Amy Elsner
1044Jeanfrancois D MaletBrazil2025-10-07Buckley Miller Wright UNQUALIFIED26Bernardo Dominic
1045Isabel B VocelkaGermany2025-10-12Buckley Miller Wright NEW50Anna Fali
1046Wickens B BologniaSpain2025-10-05Buckley Miller Wright NEGOTIATION8Asiya Javayant
1047Misaki F SlusarskiCanada2025-09-13Dorl, James J Esq UNQUALIFIED6Anna Fali
1048Isabel H GillianUnited Kingdom2025-09-23Dorl, James J Esq NEGOTIATION55Ivan Magalhaes
1049Leon J GillianUnited Kingdom2025-09-20Benton, John B Jr UNQUALIFIED82Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams E OstroskyGermanyStephen Shaw PROPOSAL
Ricardo N RoysterCanadaAnna Fali NEGOTIATION
Misaki C SchemmerAustraliaAnna Fali UNQUALIFIED
Sinclair T SergiJapanOnyama Limba NEW
Juan D StensethCanadaElwin Sharvill PROPOSAL
Jennifer U DarakjyRussiaElwin Sharvill NEW
Costa O KolmetzItalyIoni Bowcher QUALIFIED
David H ShinkoCanadaOnyama Limba PROPOSAL
Sinclair G InouyeCanadaAsiya Javayant RENEWAL
Smith I RimJapanBernardo Dominic PROPOSAL
Silvio V NestleAustraliaBernardo Dominic PROPOSAL
Cody N CampainGermanyAsiya Javayant UNQUALIFIED
Rodrigues E RulapaughItalyElwin Sharvill PROPOSAL
Salvatore J RoysterAustraliaAmy Elsner RENEWAL
Ashley H ChuiArgentinaStephen Shaw QUALIFIED
Darci U TollnerArgentinaAnna Fali PROPOSAL
Maria K CampainBrazilAsiya Javayant NEGOTIATION
Alejandro C StensethGermanyIoni Bowcher NEW
Aruna X SchemmerSpainIoni Bowcher NEGOTIATION
Silvio T NestleRussiaIoni Bowcher NEGOTIATION
Maisha I KolmetzIndiaAsiya Javayant QUALIFIED
Chavez Z StensethIndiaXuxue Feng QUALIFIED
Ashley Y SlusarskiAustraliaBernardo Dominic NEW
Octavia O MaletUnited KingdomAmy Elsner RENEWAL
Ashley K DarakjyUnited KingdomAnna Fali PROPOSAL
Johnson Q FigeroaCanadaIoni Bowcher PROPOSAL
Clifford O VocelkaAustraliaStephen Shaw NEW
David T PaprockiBrazilIvan Magalhaes NEGOTIATION
Mujtaba S CaldareraBrazilElwin Sharvill UNQUALIFIED
Francesco G MaletIndiaOnyama Limba UNQUALIFIED
Nicolas F SchemmerItalyBernardo Dominic RENEWAL
Tony K RutaUnited KingdomOnyama Limba RENEWAL
Alejandro T DarakjyItalyIoni Bowcher QUALIFIED
Stacey J OldroydFranceElwin Sharvill QUALIFIED
David F WhobreyFranceOnyama Limba UNQUALIFIED
Alejandro M BowleyRussiaAnna Fali UNQUALIFIED
Wickens T WaycottItalyAsiya Javayant RENEWAL
Adams S RulapaughAustraliaBernardo Dominic NEGOTIATION
Darci G DoeCanadaAnna Fali RENEWAL
Stacey F RimGermanyXuxue Feng QUALIFIED
Murillo T ButtCanadaOnyama Limba NEGOTIATION
Nicolas M StockhamArgentinaOnyama Limba NEW
Darci R VenereUnited KingdomElwin Sharvill RENEWAL
Smith I BowleyItalyAsiya Javayant PROPOSAL
Mujtaba O IturbideIndiaIvan Magalhaes QUALIFIED
Ashley L GillianUnited KingdomElwin Sharvill PROPOSAL
Jennifer Q OstroskyJapanIvan Magalhaes QUALIFIED
Adams J KuskoRussiaAsiya Javayant QUALIFIED
Maria F OstroskyArgentinaAmy Elsner NEW
Stacey K SlusarskiRussiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Isabel O Inouye
Jefferson P Schemmer
Maisha P Garufi
Smith P Bowley
Wickens M Wieser
Jeanfrancois N Caudy
Aika D Morasca
Jennifer H Foller
Darci J Briddick
Jefferson U Marrier
Morrow V Morasca
Ricardo K Perin
Mayumi C Saylors
Jones Z Saylors
Jennifer R Doe
Chavez F Kolmetz
Kaitlin Y Bolognia
Julie K Iturbide
Greenwood W Albares
Ricardo Y Ostrosky
Arvin L Iturbide
Munro Y Schemmer
Nicolas K Schemmer
Greenwood W Wieser
Leon R Inouye
Francesco U Albares
Clifford J Nestle
Octavia P Venere
Salvatore V Flosi
Aruna L Tollner
Leja K Shinko
Morrow M Ruta
James T Darakjy
Rodrigues Q Vocelka
Jefferson Y Tollner
Munro D Perin
Jennifer K Dilliard
Aditya P Kusko
Antonio D Ferencz
Mayumi R Ostrosky
Kaitlin F Rim
Darci Y Chui
Mayumi K Caldarera
David M Briddick
Mujtaba T Rulapaugh
Maria H Ostrosky
Darci T Briddick
Jefferson N Rulapaugh
Murillo Z Ferencz
Maisha T Marrier
IdCountryDate
1000Japan2025-09-17
1001France2025-10-11
1002Russia2025-10-06
1003Brazil2025-09-29
1004Australia2025-10-01
1005Canada2025-09-20
1006Argentina2025-10-02
1007Germany2025-09-17
1008Argentina2025-09-29
1009Canada2025-09-29
1010Italy2025-09-24
1011Japan2025-09-17
1012Spain2025-10-08
1013India2025-09-25
1014Australia2025-09-25
1015Russia2025-10-03
1016Australia2025-09-15
1017United Kingdom2025-10-09
1018Spain2025-09-29
1019India2025-10-02
1020India2025-09-18
1021Italy2025-09-29
1022Argentina2025-09-17
1023Japan2025-10-06
1024France2025-09-26
1025Canada2025-10-08
1026Japan2025-09-25
1027Brazil2025-09-19
1028Brazil2025-10-11
1029Brazil2025-10-08
1030United Kingdom2025-09-13
1031India2025-10-04
1032Italy2025-09-16
1033United Kingdom2025-09-26
1034Brazil2025-10-07
1035Italy2025-09-23
1036United Kingdom2025-10-02
1037Canada2025-10-11
1038India2025-09-27
1039United Kingdom2025-09-28
1040Russia2025-10-02
1041India2025-10-05
1042Italy2025-10-02
1043Spain2025-09-20
1044Canada2025-09-19
1045Canada2025-10-11
1046India2025-10-02
1047France2025-10-12
1048Japan2025-09-23
1049Germany2025-09-22

On-Demand Data

NameIdCountryDate
Izzy T Doe1000Italy2025-09-17
David U Marrier1001Canada2025-09-18
Darci U Malet1002France2025-09-13
Jennifer W Kusko1003India2025-09-27
David N Poquette1004Japan2025-09-15
Greenwood P Shinko1005Germany2025-10-06
Aika V Perin1006France2025-09-19
Costa A Bolognia1007Germany2025-09-23
Juan V Caudy1008Canada2025-10-12
Octavia H Inouye1009France2025-09-19
Antonio W Flosi1010Brazil2025-10-12
Ashley T Malet1011Argentina2025-09-24
Aruna U Paprocki1012United Kingdom2025-09-29
Aditya U Gillian1013Canada2025-09-22
Jennifer A Caldarera1014Japan2025-09-27
Claire M Stockham1015Argentina2025-09-30
Jones E Dilliard1016Brazil2025-09-18
Deepesh R Gaucho1017Argentina2025-10-02
Mujtaba M Nestle1018India2025-09-28
Jennifer U Caudy1019Germany2025-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika S CaldareraCanadaBernardo Dominic NEW
Sinclair D CampainSpainAmy Elsner NEGOTIATION
Jones S FlosiJapanElwin Sharvill NEW
Costa N MaletSpainIvan Magalhaes PROPOSAL
Mayumi D TollnerItalyOnyama Limba RENEWAL
Alejandro K NestleGermanyAnna Fali QUALIFIED
Juan Y WhobreyAustraliaIoni Bowcher NEW
Nicolas J SergiJapanStephen Shaw NEW
Nicolas V PerinRussiaXuxue Feng PROPOSAL
Chavez F MaletItalyIoni Bowcher NEGOTIATION
Mujtaba X MaletFranceAmy Elsner NEW
Ricardo R NestleJapanXuxue Feng NEW
Aditya W SergiRussiaStephen Shaw NEW
Julie V FigeroaGermanyOnyama Limba PROPOSAL
Alejandro I WaycottAustraliaIvan Magalhaes NEGOTIATION
Johnson U FlosiIndiaStephen Shaw UNQUALIFIED
Clifford Q StensethUnited KingdomAmy Elsner UNQUALIFIED
Costa K PaprockiIndiaIoni Bowcher RENEWAL
Aditya I TollnerCanadaOnyama Limba RENEWAL
Silvio G NickaAustraliaAsiya Javayant QUALIFIED
Murillo T FlosiGermanyElwin Sharvill QUALIFIED
Silvio J MaletAustraliaIvan Magalhaes UNQUALIFIED
Adams Q FigeroaCanadaStephen Shaw NEGOTIATION
Isabel E ButtFranceXuxue Feng QUALIFIED
Johnson K GlickRussiaElwin Sharvill UNQUALIFIED
Wickens J MorascaJapanElwin Sharvill QUALIFIED
Jennifer X OstroskyJapanOnyama Limba UNQUALIFIED
Morrow B WaycottSpainStephen Shaw UNQUALIFIED
Claire H DilliardRussiaAnna Fali NEGOTIATION
Smith T RutaBrazilAsiya Javayant NEW
Jeanfrancois E VenereRussiaAsiya Javayant QUALIFIED
Murillo S SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Francesco F GauchoCanadaStephen Shaw NEGOTIATION
Jones F CampainItalyIoni Bowcher QUALIFIED
Stacey O AmigonAustraliaBernardo Dominic RENEWAL
Munro I DoeGermanyAmy Elsner UNQUALIFIED
Rodrigues Y FerenczRussiaElwin Sharvill RENEWAL
Julie D SergiItalyAmy Elsner NEW
Nicolas E CaldareraGermanyIoni Bowcher NEGOTIATION
Antonio N AlbaresBrazilOnyama Limba 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>