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
David E GarufiSpainOnyama Limba QUALIFIED
Munro G SchemmerItalyElwin Sharvill UNQUALIFIED
Maisha N ButtItalyAmy Elsner PROPOSAL
Aruna K WaycottIndiaIvan Magalhaes RENEWAL
Arvin P RutaIndiaAmy Elsner PROPOSAL
Wickens M WieserItalyBernardo Dominic RENEWAL
Greenwood A NestleUnited KingdomIvan Magalhaes NEGOTIATION
Darci A MorascaAustraliaXuxue Feng PROPOSAL
Emily U TollnerIndiaBernardo Dominic UNQUALIFIED
Arvin I SergiBrazilElwin Sharvill UNQUALIFIED
Isabel W PerinCanadaIoni Bowcher QUALIFIED
Munro Y SaylorsAustraliaBernardo Dominic UNQUALIFIED
Johnson G InouyeArgentinaAsiya Javayant QUALIFIED
Aditya V AmigonSpainIvan Magalhaes NEGOTIATION
Kaitlin O StensethJapanOnyama Limba PROPOSAL
Smith D MarrierBrazilOnyama Limba NEW
Maria C VenereAustraliaAsiya Javayant RENEWAL
Aika L InouyeGermanyIvan Magalhaes NEW
Maisha X SergiCanadaXuxue Feng UNQUALIFIED
Costa R VocelkaJapanIoni Bowcher PROPOSAL
Izzy R NickaAustraliaOnyama Limba NEW
Antonio R OstroskyJapanStephen Shaw QUALIFIED
Jeanfrancois O DoeItalyIoni Bowcher QUALIFIED
Arvin Z NestleAustraliaStephen Shaw UNQUALIFIED
Jennifer J DilliardRussiaOnyama Limba RENEWAL
Jefferson M DoeGermanyStephen Shaw QUALIFIED
Kaitlin Z OstroskyArgentinaBernardo Dominic QUALIFIED
Isabel P ChuiFranceStephen Shaw PROPOSAL
Wickens G DarakjyIndiaXuxue Feng RENEWAL
Rodrigues Q DoeAustraliaElwin Sharvill UNQUALIFIED
Adams K SaylorsSpainOnyama Limba NEGOTIATION
Leja Z SaylorsItalyStephen Shaw PROPOSAL
Jeanfrancois X OstroskyFranceBernardo Dominic QUALIFIED
Deepesh D StockhamBrazilStephen Shaw PROPOSAL
Jeanfrancois G RoysterItalyStephen Shaw NEGOTIATION
Leon I FollerCanadaBernardo Dominic QUALIFIED
Deepesh J RutaCanadaStephen Shaw UNQUALIFIED
Jones A WhobreyArgentinaIvan Magalhaes NEW
Costa M NestleGermanyBernardo Dominic RENEWAL
Cody S ButtSpainStephen Shaw PROPOSAL
David W AlbaresSpainOnyama Limba QUALIFIED
Ricardo X FollerRussiaAmy Elsner PROPOSAL
Alejandro D SchemmerAustraliaXuxue Feng QUALIFIED
Darci P MarrierRussiaOnyama Limba QUALIFIED
Jefferson F BriddickBrazilBernardo Dominic QUALIFIED
Adams E StockhamItalyAsiya Javayant NEW
Arvin F ChuiArgentinaIoni Bowcher NEGOTIATION
Maria X WaycottBrazilStephen Shaw RENEWAL
Jefferson K GauchoArgentinaBernardo Dominic QUALIFIED
Emily S StensethSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin S CaudyItalyIoni Bowcher RENEWAL
Isabel U MarrierItalyStephen Shaw QUALIFIED
Darci A VenereBrazilOnyama Limba NEGOTIATION
Alejandro A CaldareraUnited KingdomAnna Fali PROPOSAL
Ivar F StensethGermanyStephen Shaw NEGOTIATION
Mujtaba L InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Octavia Y GillianAustraliaAmy Elsner QUALIFIED
Costa Y OldroydRussiaAnna Fali NEW
Claire D ChuiCanadaIoni Bowcher UNQUALIFIED
Rodrigues U ShinkoCanadaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika Q FigeroaJapan2025-10-14Dorl, James J Esq NEGOTIATION23Stephen Shaw
1001Jennifer T PaprockiArgentina2025-09-26Truhlar And Truhlar Attys UNQUALIFIED81Ivan Magalhaes
1002Chavez O RutaIndia2025-10-12Buckley Miller Wright UNQUALIFIED18Ioni Bowcher
1003Mujtaba R PerinCanada2025-09-21Chapman, Ross E Esq UNQUALIFIED30Ivan Magalhaes
1004Jennifer S SergiRussia2025-09-20Dorl, James J Esq QUALIFIED69Onyama Limba
1005Arvin U PoquetteBrazil2025-10-01Rangoni Of Florence PROPOSAL88Ioni Bowcher
1006Jefferson H PerinAustralia2025-09-27Morlong Associates QUALIFIED97Ioni Bowcher
1007Maisha L StockhamGermany2025-10-02Benton, John B Jr QUALIFIED85Amy Elsner
1008Adams F RoysterIndia2025-10-14Printing Dimensions NEGOTIATION90Bernardo Dominic
1009Jeanfrancois J GarufiAustralia2025-09-30Buckley Miller Wright QUALIFIED20Ivan Magalhaes
1010Jones J SchemmerAustralia2025-10-15Rousseaux, Michael Esq PROPOSAL51Xuxue Feng
1011Ivar L ButtArgentina2025-10-19Morlong Associates NEW73Xuxue Feng
1012Nicolas N GarufiItaly2025-09-24Printing Dimensions PROPOSAL27Bernardo Dominic
1013Ivar T RimArgentina2025-10-18Commercial Press NEGOTIATION44Xuxue Feng
1014Octavia C AlbaresGermany2025-10-17Feltz Printing Service PROPOSAL83Stephen Shaw
1015Aditya P VenereCanada2025-10-17Rousseaux, Michael Esq UNQUALIFIED2Amy Elsner
1016Antonio W AlbaresAustralia2025-09-24Dorl, James J Esq NEW44Amy Elsner
1017Juan A NestleFrance2025-10-09Truhlar And Truhlar Attys PROPOSAL7Anna Fali
1018Costa H WhobreyBrazil2025-10-02King, Christopher A Esq PROPOSAL19Ioni Bowcher
1019Aruna J MarrierJapan2025-10-10Rangoni Of Florence QUALIFIED60Xuxue Feng
1020Deepesh E FerenczAustralia2025-10-15Benton, John B Jr UNQUALIFIED15Ioni Bowcher
1021Ivar Q WhobreyGermany2025-10-01Morlong Associates QUALIFIED66Amy Elsner
1022Isabel L KolmetzJapan2025-10-07Chanay, Jeffrey A Esq UNQUALIFIED31Amy Elsner
1023Faith G FollerCanada2025-09-24Buckley Miller Wright UNQUALIFIED36Asiya Javayant
1024Jennifer R FerenczAustralia2025-10-06Feltz Printing Service QUALIFIED21Ioni Bowcher
1025Johnson J MaletGermany2025-10-16Rousseaux, Michael Esq NEGOTIATION10Amy Elsner
1026Stacey G WaycottFrance2025-09-28Morlong Associates UNQUALIFIED92Onyama Limba
1027Munro K DarakjyBrazil2025-10-13Rousseaux, Michael Esq QUALIFIED95Asiya Javayant
1028Cody M AmigonCanada2025-09-25Chanay, Jeffrey A Esq QUALIFIED63Ivan Magalhaes
1029Alejandro U ChuiJapan2025-10-05Morlong Associates NEGOTIATION55Anna Fali
1030Aruna G MarrierIndia2025-10-08Feiner Bros NEGOTIATION2Amy Elsner
1031Jeanfrancois D BowleyItaly2025-09-23Feltz Printing Service QUALIFIED18Xuxue Feng
1032Jones F SaylorsJapan2025-09-21Rangoni Of Florence RENEWAL0Asiya Javayant
1033Aditya X FerenczIndia2025-09-20King, Christopher A Esq RENEWAL82Ioni Bowcher
1034Francesco D DoeFrance2025-09-21Rangoni Of Florence PROPOSAL28Xuxue Feng
1035Sinclair M WaycottRussia2025-10-11Buckley Miller Wright PROPOSAL82Xuxue Feng
1036Kadeem H SergiJapan2025-10-07Feiner Bros NEW39Anna Fali
1037Jennifer A FollerAustralia2025-09-26King, Christopher A Esq PROPOSAL99Asiya Javayant
1038Salvatore X FlosiUnited Kingdom2025-09-30Morlong Associates QUALIFIED22Ioni Bowcher
1039Octavia Z IturbideItaly2025-10-07Feltz Printing Service UNQUALIFIED56Anna Fali
1040Misaki D FlosiIndia2025-10-11Chanay, Jeffrey A Esq RENEWAL86Bernardo Dominic
1041Faith Y IturbideGermany2025-10-19Printing Dimensions NEW60Ioni Bowcher
1042Antonio Z SlusarskiUnited Kingdom2025-09-23Benton, John B Jr RENEWAL38Anna Fali
1043Cody Q KolmetzSpain2025-10-08Feiner Bros NEW58Stephen Shaw
1044Misaki J KolmetzGermany2025-09-22Rangoni Of Florence QUALIFIED13Stephen Shaw
1045Jefferson D CampainGermany2025-10-19Commercial Press NEGOTIATION91Ioni Bowcher
1046Isabel M SchemmerArgentina2025-09-26Benton, John B Jr UNQUALIFIED55Amy Elsner
1047Nicolas R RulapaughBrazil2025-10-08Benton, John B Jr UNQUALIFIED1Amy Elsner
1048Jennifer F OldroydGermany2025-10-04Benton, John B Jr RENEWAL85Onyama Limba
1049Tony V DilliardUnited Kingdom2025-10-02Buckley Miller Wright PROPOSAL48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kadeem B FerenczArgentinaAmy Elsner NEGOTIATION
Kadeem F VenereRussiaBernardo Dominic PROPOSAL
Jeanfrancois F SaylorsGermanyStephen Shaw NEW
Ricardo Q InouyeFranceBernardo Dominic QUALIFIED
Kadeem K RimItalyBernardo Dominic RENEWAL
Aditya D MaletAustraliaAmy Elsner PROPOSAL
Isabel H KolmetzCanadaXuxue Feng RENEWAL
Jefferson D NestleJapanElwin Sharvill PROPOSAL
Antonio P NestleJapanIvan Magalhaes NEW
Faith I PaprockiJapanStephen Shaw NEGOTIATION
Misaki A NestleSpainOnyama Limba PROPOSAL
Mujtaba A KolmetzArgentinaAsiya Javayant UNQUALIFIED
Emily L GarufiIndiaAmy Elsner NEW
Murillo K FigeroaIndiaStephen Shaw RENEWAL
Isabel Z AmigonJapanAsiya Javayant RENEWAL
Smith J GauchoJapanIoni Bowcher PROPOSAL
Silvio M NestleJapanAnna Fali RENEWAL
Juan E WhobreyGermanyAmy Elsner PROPOSAL
Smith H BriddickBrazilIvan Magalhaes RENEWAL
Clifford X PoquetteFranceIoni Bowcher UNQUALIFIED
Jefferson R GlickGermanyIoni Bowcher RENEWAL
Maisha M ButtFranceStephen Shaw UNQUALIFIED
Isabel Q GillianBrazilIvan Magalhaes RENEWAL
Johnson E CaldareraCanadaAmy Elsner QUALIFIED
Faith N DoeFranceOnyama Limba NEW
Smith N RulapaughAustraliaIvan Magalhaes NEW
Sinclair O BowleyItalyAnna Fali NEW
Clifford Y CampainArgentinaXuxue Feng NEW
Isabel C FerenczFranceElwin Sharvill NEGOTIATION
Salvatore Z VenereJapanBernardo Dominic UNQUALIFIED
Cody R RimJapanOnyama Limba QUALIFIED
Chavez U PerinIndiaStephen Shaw UNQUALIFIED
Aditya H MaletAustraliaBernardo Dominic RENEWAL
Kadeem F ShinkoFranceXuxue Feng NEGOTIATION
Ivar O StockhamIndiaOnyama Limba NEGOTIATION
Johnson F SlusarskiGermanyAsiya Javayant RENEWAL
Misaki W TollnerSpainAsiya Javayant PROPOSAL
Aika G NickaFranceBernardo Dominic NEW
David J ButtCanadaStephen Shaw PROPOSAL
Misaki K RoysterGermanyStephen Shaw QUALIFIED
Wickens S CampainUnited KingdomOnyama Limba UNQUALIFIED
Adams S KolmetzArgentinaOnyama Limba PROPOSAL
Stacey D NestleGermanyIvan Magalhaes PROPOSAL
Emily M DoeAustraliaAsiya Javayant NEW
Jefferson Z MarrierGermanyIvan Magalhaes PROPOSAL
Emily K VocelkaFranceAnna Fali RENEWAL
Francesco F GlickJapanBernardo Dominic NEW
Isabel F MaletJapanAmy Elsner PROPOSAL
Salvatore M WaycottSpainAsiya Javayant RENEWAL
Stacey A SaylorsJapanElwin Sharvill NEW
Frozen Columns
Name
Isabel X Ostrosky
Clifford W Dilliard
Wickens E Kusko
Antonio W Stockham
Clifford V Marrier
Juan E Perin
Darci K Nestle
Ivar O Foller
Ashley T Inouye
Costa Z Caldarera
Greenwood Y Poquette
Izzy A Morasca
Jefferson E Poquette
Johnson A Schemmer
Munro Q Darakjy
Silvio H Caudy
Octavia X Waycott
Kadeem B Malet
Izzy E Slusarski
Greenwood U Stockham
James Y Waycott
Jefferson B Amigon
Mayumi D Butt
Maria Q Maclead
Silvio D Butt
Jeanfrancois Y Morasca
Aruna X Butt
Sinclair U Oldroyd
Leja Z Schemmer
David L Malet
Octavia K Whobrey
Faith X Bowley
Jefferson S Glick
Sinclair G Inouye
Kadeem M Ferencz
Clifford T Wieser
David D Kusko
Silvio Y Stockham
Clifford I Caldarera
Emily Q Kusko
Rodrigues G Stockham
Jeanfrancois L Rim
Rodrigues N Kolmetz
Izzy U Ostrosky
Silvio N Garufi
Mujtaba E Doe
Arvin X Paprocki
Jones H Whobrey
Isabel R Marrier
Salvatore H Butt
IdCountryDate
1000Spain2025-09-28
1001United Kingdom2025-10-14
1002Russia2025-10-16
1003Spain2025-09-22
1004France2025-10-12
1005Japan2025-10-08
1006Argentina2025-10-12
1007Brazil2025-10-09
1008Canada2025-10-17
1009India2025-10-18
1010Australia2025-10-04
1011France2025-10-05
1012Japan2025-09-30
1013United Kingdom2025-10-05
1014France2025-10-04
1015Brazil2025-09-27
1016Brazil2025-10-05
1017Japan2025-10-13
1018United Kingdom2025-10-17
1019Brazil2025-09-21
1020Brazil2025-10-01
1021Canada2025-09-20
1022India2025-10-01
1023Canada2025-10-07
1024Spain2025-09-23
1025Argentina2025-09-27
1026Russia2025-10-03
1027United Kingdom2025-09-29
1028Japan2025-09-23
1029India2025-09-24
1030Canada2025-10-19
1031India2025-09-25
1032Russia2025-10-14
1033Canada2025-10-11
1034France2025-10-15
1035Germany2025-10-17
1036Germany2025-10-15
1037France2025-09-27
1038India2025-10-15
1039Brazil2025-09-30
1040Japan2025-09-27
1041Germany2025-10-05
1042Australia2025-10-13
1043Germany2025-10-16
1044Australia2025-10-15
1045Germany2025-10-12
1046Japan2025-09-24
1047Brazil2025-10-09
1048Germany2025-10-16
1049Italy2025-10-17

On-Demand Data

NameIdCountryDate
Maria I Ruta1000Canada2025-09-24
Darci Z Flosi1001Canada2025-09-21
Wickens T Slusarski1002Germany2025-10-04
Leja Z Bowley1003Italy2025-10-13
Greenwood U Schemmer1004Russia2025-10-10
Misaki J Maclead1005Japan2025-10-15
Francesco U Garufi1006Russia2025-09-26
Deepesh H Saylors1007United Kingdom2025-10-04
Antonio B Glick1008Australia2025-10-03
Morrow W Whobrey1009United Kingdom2025-10-18
Jones O Amigon1010Australia2025-10-01
Alejandro X Rulapaugh1011Russia2025-10-02
Ricardo F Garufi1012France2025-09-24
Julie H Figeroa1013Brazil2025-09-26
Leja G Stockham1014Argentina2025-10-09
Jennifer B Stenseth1015Germany2025-10-17
Adams B Glick1016Russia2025-09-22
Cody Y Dilliard1017Spain2025-10-08
Costa I Figeroa1018Argentina2025-09-23
Jones W Vocelka1019India2025-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci L RoysterUnited KingdomElwin Sharvill NEW
Leon Y BowleyGermanyOnyama Limba NEW
Johnson Z SchemmerArgentinaStephen Shaw UNQUALIFIED
Darci D ShinkoUnited KingdomStephen Shaw NEW
Antonio X RulapaughArgentinaAnna Fali PROPOSAL
Aika F NickaCanadaAmy Elsner QUALIFIED
Greenwood E RoysterAustraliaOnyama Limba PROPOSAL
James R CampainBrazilElwin Sharvill RENEWAL
Clifford C SchemmerJapanIvan Magalhaes NEGOTIATION
Octavia D PoquetteBrazilIvan Magalhaes NEGOTIATION
Munro B DilliardItalyAsiya Javayant RENEWAL
Aruna F MaletIndiaIoni Bowcher UNQUALIFIED
Ashley J MaletIndiaIoni Bowcher PROPOSAL
Morrow Y DarakjyAustraliaXuxue Feng UNQUALIFIED
Claire Q WieserGermanyIoni Bowcher UNQUALIFIED
Mayumi S NickaUnited KingdomBernardo Dominic PROPOSAL
Darci T OstroskyCanadaElwin Sharvill NEW
Chavez G ChuiIndiaStephen Shaw NEW
Salvatore V WaycottBrazilAnna Fali UNQUALIFIED
Mujtaba D CaudyCanadaAnna Fali PROPOSAL
Murillo C RutaItalyXuxue Feng PROPOSAL
Ashley O DoeGermanyIoni Bowcher UNQUALIFIED
Munro K BriddickArgentinaAsiya Javayant PROPOSAL
Greenwood M BriddickAustraliaOnyama Limba NEW
Munro I CaldareraCanadaStephen Shaw NEW
Tony F MaletCanadaXuxue Feng RENEWAL
James E WhobreyCanadaBernardo Dominic RENEWAL
Francesco K NestleRussiaBernardo Dominic QUALIFIED
Cody T PerinIndiaXuxue Feng UNQUALIFIED
Mayumi K DoeSpainOnyama Limba NEW
Tony S SaylorsJapanAmy Elsner RENEWAL
Maria F ChuiFranceAnna Fali NEGOTIATION
Jones G FollerUnited KingdomStephen Shaw UNQUALIFIED
Costa H FlosiRussiaIoni Bowcher PROPOSAL
Antonio I CaudyFranceAnna Fali NEGOTIATION
Sinclair C FlosiFranceIvan Magalhaes RENEWAL
Alejandro C KolmetzCanadaXuxue Feng PROPOSAL
Octavia V MarrierRussiaXuxue Feng PROPOSAL
Smith H FollerAustraliaAmy Elsner QUALIFIED
Munro L GauchoAustraliaStephen Shaw PROPOSAL

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