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
Chavez P MorascaJapanAmy Elsner PROPOSAL
David D RulapaughUnited KingdomOnyama Limba NEW
Arvin F MorascaGermanyBernardo Dominic PROPOSAL
Ivar I WieserArgentinaOnyama Limba NEW
Munro U OldroydCanadaAnna Fali NEW
Jeanfrancois V SaylorsBrazilAnna Fali RENEWAL
Sinclair D CampainBrazilIvan Magalhaes NEGOTIATION
Kaitlin O ShinkoGermanyOnyama Limba NEW
Julie F VenereJapanIvan Magalhaes RENEWAL
Aruna T SchemmerJapanIoni Bowcher UNQUALIFIED
Munro H MarrierItalyIoni Bowcher UNQUALIFIED
Jefferson W MorascaGermanyOnyama Limba QUALIFIED
Kadeem H NickaIndiaIoni Bowcher NEGOTIATION
Mayumi Z RoysterFranceBernardo Dominic RENEWAL
Murillo D FigeroaCanadaStephen Shaw NEW
Salvatore K WhobreyGermanyAnna Fali QUALIFIED
Cody U DarakjyAustraliaElwin Sharvill RENEWAL
Tony J TollnerBrazilIoni Bowcher RENEWAL
Greenwood R GarufiRussiaXuxue Feng QUALIFIED
Tony H RutaRussiaStephen Shaw PROPOSAL
Jennifer E CampainJapanAsiya Javayant RENEWAL
Ricardo Z MorascaAustraliaXuxue Feng NEGOTIATION
Juan J BologniaCanadaXuxue Feng PROPOSAL
David S FollerGermanyAnna Fali QUALIFIED
Munro D RimItalyIoni Bowcher NEGOTIATION
Maisha O RutaItalyIoni Bowcher PROPOSAL
Ricardo E RoysterBrazilAsiya Javayant UNQUALIFIED
Leon L CaudyUnited KingdomAnna Fali NEGOTIATION
Octavia K SchemmerAustraliaXuxue Feng NEGOTIATION
Aika P PaprockiRussiaOnyama Limba QUALIFIED
Misaki N MaletUnited KingdomAmy Elsner NEW
Francesco K SergiJapanAnna Fali UNQUALIFIED
Faith N MaletIndiaElwin Sharvill NEW
Mayumi U FlosiBrazilAsiya Javayant NEGOTIATION
Stacey M ChuiGermanyIoni Bowcher NEW
Arvin H MorascaIndiaAnna Fali NEW
Chavez S WhobreyGermanyStephen Shaw NEW
Emily I ChuiItalyIvan Magalhaes PROPOSAL
Adams C WieserRussiaAnna Fali PROPOSAL
Cody R MaletUnited KingdomIvan Magalhaes NEW
Costa C ButtBrazilAmy Elsner NEW
Claire P DilliardBrazilAsiya Javayant NEW
Jefferson F RulapaughIndiaAmy Elsner PROPOSAL
Claire Q ShinkoJapanXuxue Feng NEGOTIATION
Kaitlin Q TollnerSpainBernardo Dominic PROPOSAL
Salvatore O GlickUnited KingdomAnna Fali QUALIFIED
Faith F GarufiItalyIoni Bowcher QUALIFIED
Rodrigues C CampainCanadaBernardo Dominic UNQUALIFIED
Smith Z WieserArgentinaOnyama Limba NEW
David D SchemmerUnited KingdomStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie D RulapaughFranceBernardo Dominic RENEWAL
James M RutaAustraliaIvan Magalhaes NEW
Claire C WhobreyAustraliaXuxue Feng NEW
Silvio W WaycottArgentinaStephen Shaw QUALIFIED
Munro M FigeroaUnited KingdomStephen Shaw PROPOSAL
James E BowleyAustraliaAnna Fali NEGOTIATION
Ashley X StensethRussiaBernardo Dominic PROPOSAL
Salvatore V RoysterBrazilOnyama Limba QUALIFIED
Wickens R WhobreyFranceOnyama Limba RENEWAL
Cody H CampainUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika W StockhamFrance2025-08-30Morlong Associates PROPOSAL22Ivan Magalhaes
1001Alejandro C MarrierArgentina2025-09-03Rousseaux, Michael Esq QUALIFIED32Elwin Sharvill
1002Jones F AmigonBrazil2025-09-13Morlong Associates QUALIFIED7Asiya Javayant
1003Claire A BologniaArgentina2025-08-19Chemel, James L Cpa NEGOTIATION5Ivan Magalhaes
1004Aika S DarakjyGermany2025-09-11Rangoni Of Florence QUALIFIED36Xuxue Feng
1005Francesco F StensethCanada2025-09-07Printing Dimensions UNQUALIFIED66Xuxue Feng
1006Antonio T AmigonAustralia2025-08-17Chapman, Ross E Esq RENEWAL89Xuxue Feng
1007Silvio L DarakjyRussia2025-08-29Chanay, Jeffrey A Esq RENEWAL49Bernardo Dominic
1008Wickens T KuskoBrazil2025-09-10Morlong Associates QUALIFIED35Amy Elsner
1009Mayumi B GarufiSpain2025-09-10Chemel, James L Cpa NEW31Anna Fali
1010Maisha I OstroskyAustralia2025-09-08Rangoni Of Florence UNQUALIFIED99Onyama Limba
1011Nicolas Q WhobreyIndia2025-08-16Feltz Printing Service UNQUALIFIED96Ioni Bowcher
1012Octavia N RimBrazil2025-09-08Feiner Bros RENEWAL97Bernardo Dominic
1013Juan N BologniaCanada2025-08-25Morlong Associates NEGOTIATION0Stephen Shaw
1014Aditya J WieserArgentina2025-09-10Truhlar And Truhlar Attys RENEWAL58Asiya Javayant
1015Arvin U GarufiArgentina2025-09-02Morlong Associates PROPOSAL63Anna Fali
1016Claire W DarakjyIndia2025-09-05Feiner Bros UNQUALIFIED67Ivan Magalhaes
1017Maria A BologniaGermany2025-08-25King, Christopher A Esq NEGOTIATION68Xuxue Feng
1018Kadeem O RutaJapan2025-08-21Chapman, Ross E Esq RENEWAL79Ioni Bowcher
1019Francesco P RutaFrance2025-09-01Chapman, Ross E Esq PROPOSAL67Amy Elsner
1020Mujtaba E FlosiSpain2025-08-26Chemel, James L Cpa PROPOSAL24Ioni Bowcher
1021Mujtaba B ShinkoArgentina2025-08-28Feltz Printing Service PROPOSAL74Xuxue Feng
1022Mujtaba D StockhamBrazil2025-08-26Feiner Bros PROPOSAL20Onyama Limba
1023Julie Y MaletCanada2025-09-12Rangoni Of Florence PROPOSAL84Ioni Bowcher
1024Antonio Q MaletBrazil2025-09-02Chanay, Jeffrey A Esq NEGOTIATION13Amy Elsner
1025Aruna Z BowleyJapan2025-08-22Rangoni Of Florence NEW78Asiya Javayant
1026Octavia S KolmetzBrazil2025-09-14Feltz Printing Service QUALIFIED45Amy Elsner
1027Julie F RimCanada2025-09-10Chanay, Jeffrey A Esq QUALIFIED89Ioni Bowcher
1028Salvatore N CampainAustralia2025-09-06Truhlar And Truhlar Attys UNQUALIFIED47Onyama Limba
1029Juan R RulapaughUnited Kingdom2025-08-31Chanay, Jeffrey A Esq QUALIFIED91Bernardo Dominic
1030Jefferson M GarufiArgentina2025-09-10Rousseaux, Michael Esq UNQUALIFIED69Ivan Magalhaes
1031Mayumi L MacleadCanada2025-09-14Rangoni Of Florence NEW34Ivan Magalhaes
1032Cody P MacleadArgentina2025-09-09King, Christopher A Esq NEW49Amy Elsner
1033Deepesh T ButtGermany2025-08-25Buckley Miller Wright NEW68Onyama Limba
1034Mujtaba D CaldareraFrance2025-08-23Feltz Printing Service NEW46Ivan Magalhaes
1035Arvin M AlbaresItaly2025-08-28Rangoni Of Florence NEGOTIATION43Ioni Bowcher
1036Munro N FollerItaly2025-08-25Benton, John B Jr NEW66Asiya Javayant
1037Cody N OldroydUnited Kingdom2025-08-28Printing Dimensions RENEWAL75Anna Fali
1038Aruna R WhobreyItaly2025-08-16Printing Dimensions NEW51Amy Elsner
1039Costa H MarrierJapan2025-08-19Commercial Press PROPOSAL53Elwin Sharvill
1040Izzy A NickaBrazil2025-08-23Rangoni Of Florence NEW74Stephen Shaw
1041Stacey I StockhamCanada2025-09-08Chanay, Jeffrey A Esq NEW69Onyama Limba
1042Cody W MacleadGermany2025-08-30Chemel, James L Cpa RENEWAL44Amy Elsner
1043Kadeem P BologniaItaly2025-09-07Chapman, Ross E Esq NEW0Elwin Sharvill
1044Murillo K NestleArgentina2025-08-20Benton, John B Jr RENEWAL81Elwin Sharvill
1045Chavez H SchemmerUnited Kingdom2025-09-11Benton, John B Jr RENEWAL28Ioni Bowcher
1046Emily R MaletJapan2025-08-25Buckley Miller Wright NEGOTIATION97Stephen Shaw
1047Murillo P ShinkoArgentina2025-09-01King, Christopher A Esq NEW81Anna Fali
1048Jennifer Q ChuiRussia2025-08-27Feiner Bros NEW66Elwin Sharvill
1049Ivar K ChuiFrance2025-09-04Morlong Associates NEGOTIATION79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan X StockhamRussiaIvan Magalhaes RENEWAL
Greenwood S ButtAustraliaXuxue Feng RENEWAL
Adams Z MaletSpainAnna Fali NEGOTIATION
Rodrigues N OstroskyAustraliaIoni Bowcher RENEWAL
Costa J CampainJapanIvan Magalhaes QUALIFIED
Darci U FerenczJapanIoni Bowcher RENEWAL
Silvio F SaylorsRussiaBernardo Dominic PROPOSAL
Silvio U StockhamArgentinaAsiya Javayant NEW
Mayumi E PerinItalyIoni Bowcher RENEWAL
Maria L GarufiJapanElwin Sharvill UNQUALIFIED
Ricardo D CaldareraSpainXuxue Feng NEGOTIATION
Greenwood T GillianSpainBernardo Dominic NEW
Mujtaba S RoysterSpainOnyama Limba PROPOSAL
Murillo J FlosiJapanBernardo Dominic PROPOSAL
Juan U ChuiCanadaAsiya Javayant PROPOSAL
Alejandro E MorascaArgentinaIoni Bowcher NEGOTIATION
Wickens I CaudyUnited KingdomAnna Fali QUALIFIED
Costa S VocelkaFranceElwin Sharvill RENEWAL
Emily F StensethRussiaAnna Fali RENEWAL
James F AmigonAustraliaAnna Fali PROPOSAL
Deepesh Y StockhamArgentinaElwin Sharvill UNQUALIFIED
Isabel S MacleadGermanyXuxue Feng NEGOTIATION
Julie U MaletBrazilAsiya Javayant QUALIFIED
David Q InouyeRussiaAnna Fali PROPOSAL
Kadeem S RulapaughJapanIoni Bowcher PROPOSAL
Chavez V KolmetzRussiaBernardo Dominic UNQUALIFIED
Wickens U BologniaRussiaAsiya Javayant NEGOTIATION
Ricardo M RoysterRussiaBernardo Dominic NEGOTIATION
Murillo A FollerFranceXuxue Feng UNQUALIFIED
Izzy Z FlosiIndiaIvan Magalhaes PROPOSAL
Francesco B SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow H MorascaIndiaElwin Sharvill RENEWAL
Tony X BowleyArgentinaAnna Fali QUALIFIED
Octavia A SaylorsGermanyElwin Sharvill RENEWAL
Claire G PerinCanadaIvan Magalhaes UNQUALIFIED
Chavez O ShinkoAustraliaXuxue Feng RENEWAL
Jeanfrancois T DarakjyBrazilIvan Magalhaes UNQUALIFIED
Jefferson J FollerArgentinaElwin Sharvill NEGOTIATION
Aika U SaylorsFranceAnna Fali NEGOTIATION
Wickens Y RulapaughSpainStephen Shaw PROPOSAL
Faith X RimArgentinaIvan Magalhaes RENEWAL
Morrow Q PoquetteArgentinaOnyama Limba QUALIFIED
Jones O CaldareraUnited KingdomAsiya Javayant PROPOSAL
Stacey T ShinkoGermanyStephen Shaw NEW
Ricardo P InouyeUnited KingdomXuxue Feng QUALIFIED
Antonio U MarrierCanadaStephen Shaw RENEWAL
Jennifer K DilliardArgentinaXuxue Feng UNQUALIFIED
Arvin X KuskoArgentinaIoni Bowcher RENEWAL
Clifford I SchemmerJapanBernardo Dominic NEW
Mujtaba F GillianItalyXuxue Feng UNQUALIFIED
Frozen Columns
Name
James B Dilliard
Ashley C Stenseth
Jennifer V Flosi
Wickens F Malet
Johnson I Royster
Isabel Z Glick
Aruna M Bowley
Cody X Tollner
Deepesh I Rim
Cody V Stenseth
Johnson I Ferencz
Cody D Inouye
Chavez Z Malet
Cody N Rim
Clifford E Stockham
Nicolas N Doe
Aika S Figeroa
Silvio G Nicka
Cody I Oldroyd
Greenwood P Ruta
Julie T Sergi
Ashley I Kolmetz
Francesco M Whobrey
Mayumi A Maclead
Ashley A Oldroyd
Mayumi B Bolognia
Ivar D Garufi
Jefferson U Kusko
Aditya F Glick
Murillo U Rim
Darci A Rim
Deepesh T Darakjy
Sinclair Q Whobrey
Stacey Z Caudy
Nicolas J Figeroa
Munro S Waycott
Silvio A Figeroa
Aditya U Shinko
Misaki U Briddick
Francesco X Rulapaugh
Johnson L Briddick
Julie F Ruta
Mayumi G Campain
Ricardo Q Sergi
Cody D Waycott
Antonio Q Rulapaugh
Ricardo V Doe
Clifford U Bolognia
James K Stenseth
Darci L Kusko
IdCountryDate
1000Italy2025-09-09
1001Italy2025-09-05
1002Germany2025-08-18
1003Canada2025-08-27
1004Argentina2025-09-03
1005France2025-08-28
1006Germany2025-08-21
1007Japan2025-08-25
1008Brazil2025-09-02
1009Brazil2025-09-10
1010Italy2025-09-05
1011Canada2025-08-21
1012Spain2025-08-26
1013Brazil2025-09-01
1014Brazil2025-09-06
1015Japan2025-09-08
1016India2025-08-18
1017Germany2025-08-19
1018France2025-09-07
1019Italy2025-08-19
1020Brazil2025-09-07
1021United Kingdom2025-09-02
1022Germany2025-08-16
1023Japan2025-08-24
1024Argentina2025-09-10
1025Spain2025-09-03
1026Canada2025-09-05
1027Australia2025-08-30
1028Russia2025-08-18
1029Canada2025-08-28
1030Brazil2025-08-22
1031Australia2025-09-10
1032France2025-09-09
1033Germany2025-08-22
1034Germany2025-09-05
1035Italy2025-08-16
1036France2025-08-31
1037Canada2025-09-07
1038Germany2025-08-26
1039Brazil2025-09-01
1040Canada2025-09-14
1041Brazil2025-08-22
1042France2025-09-12
1043France2025-08-16
1044Germany2025-08-31
1045Russia2025-08-16
1046France2025-08-19
1047Australia2025-09-05
1048Italy2025-08-17
1049United Kingdom2025-09-06

On-Demand Data

NameIdCountryDate
Costa J Vocelka1000Canada2025-08-20
Jennifer X Foller1001France2025-09-06
Izzy N Stenseth1002Spain2025-08-23
Aruna H Rim1003Argentina2025-08-18
Faith B Ostrosky1004Russia2025-09-11
Jones L Stockham1005Australia2025-09-03
Costa A Chui1006Canada2025-09-03
Misaki S Nestle1007Argentina2025-08-27
Francesco X Wieser1008Italy2025-08-21
Smith E Briddick1009Russia2025-08-31
Deepesh S Schemmer1010Germany2025-08-28
Stacey L Tollner1011India2025-09-08
Emily G Stockham1012Germany2025-08-28
Mayumi F Waycott1013Canada2025-08-16
Ivar Q Ostrosky1014Argentina2025-08-18
Leon V Foller1015Argentina2025-09-13
Silvio H Royster1016United Kingdom2025-08-22
Darci I Tollner1017United Kingdom2025-09-10
Misaki D Rim1018Argentina2025-08-18
Smith J Kolmetz1019Canada2025-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody B SchemmerRussiaStephen Shaw QUALIFIED
James U FigeroaAustraliaOnyama Limba UNQUALIFIED
Ivar C MaletBrazilAnna Fali PROPOSAL
Leja V PaprockiAustraliaXuxue Feng PROPOSAL
Rodrigues G RulapaughSpainIvan Magalhaes RENEWAL
Jefferson N RulapaughBrazilIvan Magalhaes PROPOSAL
Aditya J OldroydJapanElwin Sharvill UNQUALIFIED
Ivar N SchemmerBrazilElwin Sharvill UNQUALIFIED
Munro D BologniaBrazilElwin Sharvill NEW
Jennifer S SlusarskiAustraliaAmy Elsner RENEWAL
Costa T CaldareraItalyAmy Elsner NEGOTIATION
Aruna M IturbideFranceBernardo Dominic NEW
Aruna N RutaJapanElwin Sharvill RENEWAL
Isabel L KuskoCanadaIoni Bowcher RENEWAL
Cody H SchemmerUnited KingdomOnyama Limba NEGOTIATION
Jennifer N SchemmerJapanBernardo Dominic NEGOTIATION
Chavez U ButtArgentinaAsiya Javayant RENEWAL
David L KolmetzAustraliaXuxue Feng NEGOTIATION
David G DoeRussiaAnna Fali PROPOSAL
Johnson Q InouyeJapanStephen Shaw UNQUALIFIED
Francesco V SlusarskiAustraliaAnna Fali NEGOTIATION
Aika B NestleItalyIoni Bowcher PROPOSAL
Clifford T PerinItalyElwin Sharvill NEGOTIATION
Jones G DoeAustraliaStephen Shaw PROPOSAL
Stacey T FigeroaArgentinaIvan Magalhaes QUALIFIED
Murillo J BowleyBrazilBernardo Dominic NEW
Adams R PaprockiAustraliaXuxue Feng RENEWAL
Maisha W SlusarskiRussiaAsiya Javayant NEW
David O SchemmerGermanyAnna Fali NEGOTIATION
Kaitlin D GillianUnited KingdomBernardo Dominic NEGOTIATION
Clifford W OstroskyBrazilOnyama Limba QUALIFIED
Stacey Q RulapaughArgentinaAmy Elsner NEW
Francesco D WieserCanadaIvan Magalhaes NEGOTIATION
Adams Z MaletIndiaIvan Magalhaes NEGOTIATION
Aruna W GauchoJapanIoni Bowcher PROPOSAL
Jones U CampainRussiaIvan Magalhaes NEW
Johnson O FerenczSpainAnna Fali RENEWAL
Wickens O ShinkoBrazilBernardo Dominic RENEWAL
Emily G StockhamRussiaStephen Shaw QUALIFIED
Deepesh A BowleySpainAsiya Javayant 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>