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
Silvio J PaprockiFranceAnna Fali PROPOSAL
Clifford Q SergiArgentinaAsiya Javayant NEGOTIATION
Misaki G SergiJapanElwin Sharvill UNQUALIFIED
Jennifer U VocelkaRussiaBernardo Dominic PROPOSAL
Cody O TollnerAustraliaAsiya Javayant NEGOTIATION
Kaitlin Q GauchoJapanAmy Elsner QUALIFIED
Deepesh G ChuiFranceIvan Magalhaes QUALIFIED
Sinclair U GlickItalyAnna Fali PROPOSAL
Costa O TollnerRussiaXuxue Feng RENEWAL
Maisha H DoeSpainIoni Bowcher RENEWAL
Johnson N IturbideIndiaXuxue Feng UNQUALIFIED
Deepesh M RutaBrazilIvan Magalhaes RENEWAL
Ricardo M NestleSpainOnyama Limba PROPOSAL
Misaki K OldroydArgentinaBernardo Dominic QUALIFIED
Leja G MacleadAustraliaIvan Magalhaes RENEWAL
Deepesh F RimItalyXuxue Feng QUALIFIED
James H SergiItalyXuxue Feng PROPOSAL
Johnson S MacleadIndiaOnyama Limba NEGOTIATION
Cody G WaycottItalyIoni Bowcher QUALIFIED
Morrow H NestleItalyOnyama Limba NEW
Isabel D CaldareraFranceIoni Bowcher UNQUALIFIED
Emily R PaprockiFranceBernardo Dominic NEGOTIATION
Claire S PaprockiSpainBernardo Dominic UNQUALIFIED
Emily J MarrierCanadaElwin Sharvill QUALIFIED
Ivar R RoysterAustraliaAsiya Javayant QUALIFIED
Juan D DilliardItalyElwin Sharvill UNQUALIFIED
Jennifer P PerinFranceIoni Bowcher NEGOTIATION
Smith U BologniaUnited KingdomXuxue Feng RENEWAL
Salvatore V ButtSpainAsiya Javayant NEW
Adams I FerenczGermanyElwin Sharvill UNQUALIFIED
Julie Z GillianSpainAmy Elsner UNQUALIFIED
Costa R MaletGermanyAmy Elsner UNQUALIFIED
Isabel K SlusarskiArgentinaElwin Sharvill QUALIFIED
Aditya G RimJapanIvan Magalhaes UNQUALIFIED
Antonio G AlbaresRussiaStephen Shaw QUALIFIED
Ivar M ChuiJapanAsiya Javayant UNQUALIFIED
Salvatore W PerinItalyXuxue Feng NEGOTIATION
Chavez Q InouyeRussiaAnna Fali PROPOSAL
Wickens R SchemmerItalyIoni Bowcher UNQUALIFIED
Silvio H ButtUnited KingdomBernardo Dominic PROPOSAL
Misaki R BowleyAustraliaIvan Magalhaes QUALIFIED
Alejandro C KolmetzRussiaOnyama Limba QUALIFIED
Chavez C MacleadBrazilBernardo Dominic NEGOTIATION
Clifford I KuskoBrazilAnna Fali NEGOTIATION
Munro Z BologniaCanadaOnyama Limba NEGOTIATION
Chavez H WhobreyJapanIoni Bowcher QUALIFIED
Jeanfrancois G FerenczAustraliaBernardo Dominic PROPOSAL
Sinclair Y VocelkaGermanyElwin Sharvill UNQUALIFIED
Nicolas M SaylorsIndiaOnyama Limba QUALIFIED
Nicolas Y AlbaresIndiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo O CampainCanadaElwin Sharvill UNQUALIFIED
Clifford N WieserIndiaStephen Shaw RENEWAL
Clifford B WieserArgentinaStephen Shaw NEGOTIATION
Morrow F MaletArgentinaBernardo Dominic QUALIFIED
Mayumi A OstroskyFranceIvan Magalhaes QUALIFIED
Arvin H StockhamFranceAsiya Javayant UNQUALIFIED
Leja Y TollnerRussiaStephen Shaw UNQUALIFIED
Morrow T DoeCanadaAnna Fali NEW
Isabel A OstroskyItalyAsiya Javayant UNQUALIFIED
Claire K VocelkaAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson E ChuiBrazil2025-09-12Dorl, James J Esq QUALIFIED70Ioni Bowcher
1001Greenwood Z WieserIndia2025-09-16Rousseaux, Michael Esq NEGOTIATION65Bernardo Dominic
1002Misaki Q StensethAustralia2025-10-08Dorl, James J Esq RENEWAL36Anna Fali
1003Maria B MarrierItaly2025-09-23Morlong Associates RENEWAL81Stephen Shaw
1004Leon P MaletBrazil2025-10-04Benton, John B Jr PROPOSAL51Bernardo Dominic
1005Costa U ButtItaly2025-09-23Chanay, Jeffrey A Esq RENEWAL14Stephen Shaw
1006Cody Q DoeRussia2025-10-03Feiner Bros RENEWAL80Onyama Limba
1007Aruna T GauchoSpain2025-10-06Feiner Bros NEGOTIATION45Elwin Sharvill
1008Arvin R MorascaGermany2025-10-10Benton, John B Jr NEW16Anna Fali
1009Kadeem T ChuiUnited Kingdom2025-09-23Commercial Press NEW47Elwin Sharvill
1010Isabel D TollnerArgentina2025-10-09Benton, John B Jr UNQUALIFIED37Elwin Sharvill
1011Nicolas U SergiItaly2025-10-08Commercial Press PROPOSAL5Asiya Javayant
1012James X CaldareraJapan2025-10-09Chanay, Jeffrey A Esq PROPOSAL99Stephen Shaw
1013Sinclair M StockhamArgentina2025-09-29Printing Dimensions NEGOTIATION6Amy Elsner
1014Octavia B StensethRussia2025-09-21Feiner Bros NEGOTIATION35Onyama Limba
1015Mayumi V AmigonBrazil2025-09-20Rousseaux, Michael Esq NEW8Ivan Magalhaes
1016Jones X WaycottJapan2025-09-14Benton, John B Jr NEW78Anna Fali
1017James X InouyeArgentina2025-09-22Rousseaux, Michael Esq RENEWAL29Amy Elsner
1018Rodrigues Y SergiBrazil2025-09-27Rangoni Of Florence RENEWAL6Elwin Sharvill
1019Misaki T IturbideRussia2025-09-24Chanay, Jeffrey A Esq NEW14Amy Elsner
1020Salvatore K OldroydJapan2025-09-13Truhlar And Truhlar Attys NEGOTIATION99Elwin Sharvill
1021Greenwood R MaletCanada2025-09-14Buckley Miller Wright RENEWAL52Amy Elsner
1022Mayumi V CaldareraBrazil2025-09-15Feiner Bros UNQUALIFIED2Ioni Bowcher
1023Adams O BologniaItaly2025-09-15Printing Dimensions NEGOTIATION55Anna Fali
1024Maisha W NickaCanada2025-09-17Printing Dimensions NEGOTIATION84Onyama Limba
1025Wickens R FerenczJapan2025-10-05Commercial Press RENEWAL84Amy Elsner
1026Maisha R DoeIndia2025-09-19Printing Dimensions NEW45Onyama Limba
1027Chavez I StensethItaly2025-10-06Commercial Press QUALIFIED1Anna Fali
1028Faith S FerenczUnited Kingdom2025-10-08Chemel, James L Cpa NEGOTIATION23Ivan Magalhaes
1029James W FerenczSpain2025-09-28Chemel, James L Cpa NEGOTIATION28Anna Fali
1030Adams T BriddickJapan2025-09-15Feltz Printing Service NEGOTIATION40Onyama Limba
1031Emily P AmigonItaly2025-09-12Truhlar And Truhlar Attys NEGOTIATION58Anna Fali
1032Clifford R WhobreyCanada2025-10-02Commercial Press QUALIFIED78Amy Elsner
1033Tony O ChuiCanada2025-09-12Feiner Bros NEGOTIATION22Amy Elsner
1034Stacey D KuskoUnited Kingdom2025-09-30Chapman, Ross E Esq QUALIFIED48Elwin Sharvill
1035Misaki Q KuskoIndia2025-10-05Rangoni Of Florence NEW71Elwin Sharvill
1036Ivar N MacleadUnited Kingdom2025-09-26Morlong Associates PROPOSAL37Onyama Limba
1037Aruna J DilliardAustralia2025-09-24Benton, John B Jr PROPOSAL87Xuxue Feng
1038Aditya L VocelkaArgentina2025-09-28Morlong Associates NEW18Elwin Sharvill
1039Greenwood U MacleadGermany2025-09-28Feltz Printing Service RENEWAL32Ioni Bowcher
1040Sinclair A CampainCanada2025-09-17Rangoni Of Florence UNQUALIFIED6Amy Elsner
1041Maisha R InouyeFrance2025-09-23Printing Dimensions NEW54Amy Elsner
1042Morrow M CaudyArgentina2025-10-02Feiner Bros UNQUALIFIED23Asiya Javayant
1043Tony H BologniaIndia2025-09-27King, Christopher A Esq NEGOTIATION53Asiya Javayant
1044Nicolas U IturbideUnited Kingdom2025-10-09Feltz Printing Service UNQUALIFIED85Amy Elsner
1045Johnson J GillianIndia2025-10-04Benton, John B Jr QUALIFIED61Stephen Shaw
1046Tony G WhobreyCanada2025-09-20Rousseaux, Michael Esq NEGOTIATION30Xuxue Feng
1047Misaki N GlickIndia2025-09-24Rangoni Of Florence UNQUALIFIED61Amy Elsner
1048Leja G GillianCanada2025-09-14Morlong Associates NEW55Asiya Javayant
1049Aditya A NickaFrance2025-10-08Feltz Printing Service UNQUALIFIED86Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Murillo P KuskoIndiaAnna Fali RENEWAL
Claire D OstroskyRussiaIoni Bowcher QUALIFIED
Costa Q DoeItalyIvan Magalhaes NEW
Morrow Q StockhamIndiaAsiya Javayant UNQUALIFIED
Izzy H AmigonArgentinaIvan Magalhaes PROPOSAL
Ricardo J MacleadJapanAnna Fali NEW
Ricardo E FerenczBrazilAsiya Javayant PROPOSAL
Maria H GillianJapanOnyama Limba NEGOTIATION
Murillo K GillianItalyOnyama Limba PROPOSAL
Jeanfrancois V MacleadBrazilIvan Magalhaes NEGOTIATION
Salvatore P DarakjyAustraliaIoni Bowcher NEGOTIATION
Sinclair X MacleadFranceXuxue Feng UNQUALIFIED
Murillo V NestleRussiaStephen Shaw QUALIFIED
Kaitlin E AmigonJapanStephen Shaw NEGOTIATION
Isabel Y VenereGermanyAsiya Javayant PROPOSAL
Nicolas T RoysterGermanyOnyama Limba QUALIFIED
Ricardo F CaldareraFranceIvan Magalhaes PROPOSAL
Juan H PaprockiArgentinaAnna Fali RENEWAL
Greenwood H RoysterSpainStephen Shaw QUALIFIED
Ricardo V ShinkoRussiaStephen Shaw RENEWAL
Mayumi Z ChuiAustraliaBernardo Dominic PROPOSAL
Maria K RutaFranceElwin Sharvill UNQUALIFIED
Isabel F CaldareraItalyElwin Sharvill NEW
Kadeem F WhobreyAustraliaOnyama Limba NEGOTIATION
Claire F FollerSpainAsiya Javayant RENEWAL
James F PoquetteRussiaAnna Fali QUALIFIED
Ricardo Q GillianIndiaAsiya Javayant NEW
Claire C MaletBrazilBernardo Dominic UNQUALIFIED
Greenwood J GarufiCanadaAsiya Javayant PROPOSAL
Jeanfrancois V BriddickBrazilAsiya Javayant RENEWAL
Clifford G GlickBrazilIoni Bowcher UNQUALIFIED
Jones T CaldareraIndiaIoni Bowcher RENEWAL
Ivar I AmigonGermanyXuxue Feng PROPOSAL
Darci A InouyeArgentinaIvan Magalhaes PROPOSAL
Aruna V DarakjyBrazilAnna Fali QUALIFIED
Silvio X GarufiAustraliaBernardo Dominic QUALIFIED
Morrow A ChuiAustraliaAsiya Javayant PROPOSAL
Nicolas B MacleadItalyAsiya Javayant UNQUALIFIED
Aditya X RulapaughSpainOnyama Limba PROPOSAL
Deepesh L FollerRussiaIvan Magalhaes NEW
Faith H SergiRussiaAnna Fali RENEWAL
Costa I VocelkaGermanyBernardo Dominic RENEWAL
Costa U RoysterItalyElwin Sharvill QUALIFIED
Darci S FerenczJapanStephen Shaw NEGOTIATION
James V MacleadUnited KingdomAsiya Javayant RENEWAL
Wickens I PerinCanadaAmy Elsner PROPOSAL
Adams U RutaFranceAsiya Javayant NEGOTIATION
Emily Q GarufiGermanyIvan Magalhaes PROPOSAL
Octavia O StensethGermanyStephen Shaw PROPOSAL
Aruna S MacleadIndiaAsiya Javayant NEW
Frozen Columns
Name
Rodrigues S Saylors
Francesco W Iturbide
Mayumi C Rulapaugh
Jefferson P Venere
Kaitlin I Oldroyd
Costa G Inouye
Adams Z Ostrosky
Greenwood K Figeroa
David M Oldroyd
Chavez G Whobrey
Francesco D Campain
Kaitlin W Dilliard
Arvin D Iturbide
Aika A Poquette
Clifford G Vocelka
Clifford C Maclead
Claire G Chui
Jefferson C Doe
Adams O Flosi
Kadeem D Wieser
Aruna L Amigon
Isabel G Bolognia
Cody F Paprocki
Ashley I Morasca
Jeanfrancois H Sergi
Ricardo O Darakjy
Mayumi D Chui
Salvatore T Tollner
Silvio T Waycott
Octavia R Stockham
Emily Z Gillian
Aruna O Paprocki
Clifford K Doe
Ricardo D Kusko
Juan J Chui
Costa S Malet
Aruna G Figeroa
Ivar V Rulapaugh
Mayumi U Garufi
Emily M Maclead
Alejandro P Poquette
Jeanfrancois O Nicka
Aditya S Vocelka
Smith X Garufi
Jones C Doe
Salvatore D Malet
Costa D Campain
Misaki J Flosi
Leon F Chui
Aditya F Slusarski
IdCountryDate
1000India2025-09-17
1001Argentina2025-10-08
1002India2025-10-11
1003Germany2025-10-07
1004Spain2025-09-20
1005France2025-09-17
1006Argentina2025-09-17
1007Japan2025-09-25
1008Brazil2025-09-26
1009United Kingdom2025-10-01
1010United Kingdom2025-09-14
1011United Kingdom2025-09-25
1012Australia2025-09-18
1013Japan2025-09-20
1014Canada2025-09-30
1015Spain2025-09-23
1016Russia2025-10-10
1017Canada2025-09-30
1018France2025-09-26
1019Canada2025-09-25
1020India2025-10-01
1021Germany2025-10-11
1022Italy2025-09-20
1023Germany2025-10-06
1024Brazil2025-09-29
1025Canada2025-09-14
1026Italy2025-09-23
1027France2025-09-19
1028Canada2025-10-01
1029Spain2025-09-19
1030Brazil2025-10-01
1031Germany2025-10-07
1032Japan2025-09-15
1033France2025-09-12
1034Italy2025-09-29
1035India2025-10-02
1036United Kingdom2025-10-08
1037United Kingdom2025-10-09
1038France2025-09-20
1039Germany2025-09-17
1040Germany2025-10-02
1041Spain2025-10-09
1042Germany2025-10-05
1043Germany2025-09-27
1044Russia2025-09-22
1045Brazil2025-09-20
1046Australia2025-09-14
1047France2025-10-09
1048Russia2025-09-13
1049Canada2025-09-20

On-Demand Data

NameIdCountryDate
Murillo U Royster1000Spain2025-10-03
Salvatore N Shinko1001United Kingdom2025-09-14
Murillo X Kolmetz1002France2025-10-09
Darci L Slusarski1003Brazil2025-10-07
Maisha R Bowley1004Brazil2025-09-16
Chavez Q Whobrey1005Russia2025-09-18
Aditya Z Butt1006Brazil2025-09-19
Leon Q Sergi1007Brazil2025-09-21
Costa L Doe1008Spain2025-09-27
Nicolas Z Perin1009Japan2025-09-24
Maisha E Campain1010United Kingdom2025-10-09
Jennifer J Bolognia1011United Kingdom2025-09-21
Wickens L Perin1012Russia2025-09-18
Ricardo T Venere1013France2025-10-10
Maria Y Wieser1014Russia2025-09-13
Jefferson J Caudy1015Australia2025-09-22
Jennifer V Glick1016Japan2025-10-03
Smith I Ostrosky1017Brazil2025-09-14
Aditya C Wieser1018France2025-10-06
Adams Y Rulapaugh1019Argentina2025-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q BriddickJapanAmy Elsner RENEWAL
Nicolas T BologniaIndiaElwin Sharvill PROPOSAL
Izzy Q CaldareraAustraliaIvan Magalhaes RENEWAL
Maisha E KuskoSpainIoni Bowcher NEW
Maria X DoeSpainAnna Fali UNQUALIFIED
Adams B PerinIndiaAsiya Javayant RENEWAL
Kaitlin V FerenczArgentinaXuxue Feng RENEWAL
Faith A DarakjyItalyStephen Shaw QUALIFIED
Juan R FollerCanadaAsiya Javayant NEW
Adams X PerinRussiaOnyama Limba QUALIFIED
Aika L ShinkoIndiaOnyama Limba QUALIFIED
Mujtaba O AmigonGermanyAsiya Javayant NEGOTIATION
Chavez P FigeroaItalyBernardo Dominic QUALIFIED
Maisha A DarakjyCanadaIoni Bowcher NEGOTIATION
Wickens D RoysterIndiaStephen Shaw UNQUALIFIED
Maisha S PaprockiRussiaAnna Fali NEW
Mayumi P WieserSpainXuxue Feng PROPOSAL
Misaki K BriddickJapanOnyama Limba NEGOTIATION
Kadeem Q WaycottUnited KingdomStephen Shaw QUALIFIED
Antonio Y BowleyGermanyBernardo Dominic RENEWAL
Antonio B GlickBrazilElwin Sharvill QUALIFIED
Smith Q ShinkoArgentinaAmy Elsner NEGOTIATION
Aditya U KuskoArgentinaOnyama Limba QUALIFIED
Emily D WieserRussiaXuxue Feng RENEWAL
Stacey A InouyeJapanAnna Fali QUALIFIED
Sinclair C DarakjyArgentinaIvan Magalhaes QUALIFIED
Clifford X SchemmerAustraliaAmy Elsner RENEWAL
Jones K RimSpainIoni Bowcher QUALIFIED
Aruna B GarufiGermanyIvan Magalhaes PROPOSAL
Aruna H KuskoBrazilBernardo Dominic RENEWAL
Salvatore V FigeroaAustraliaAmy Elsner QUALIFIED
Jennifer Y MaletBrazilXuxue Feng PROPOSAL
Stacey V RutaItalyBernardo Dominic QUALIFIED
Deepesh T FigeroaUnited KingdomAmy Elsner NEGOTIATION
Wickens G VocelkaIndiaOnyama Limba PROPOSAL
Juan A FollerGermanyOnyama Limba UNQUALIFIED
Leja S CaudyRussiaElwin Sharvill UNQUALIFIED
Wickens L DarakjyBrazilBernardo Dominic NEGOTIATION
Emily J OstroskyAustraliaIoni Bowcher NEGOTIATION
Juan N OldroydAustraliaBernardo Dominic 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>