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
Ivar F FigeroaBrazilIvan Magalhaes QUALIFIED
Jones X DoeAustraliaIvan Magalhaes UNQUALIFIED
Arvin Z VenereCanadaBernardo Dominic NEW
Misaki Q KolmetzBrazilStephen Shaw UNQUALIFIED
Ashley Z NestleFranceAmy Elsner NEW
Maria C RulapaughRussiaAsiya Javayant QUALIFIED
Mujtaba C PerinRussiaAsiya Javayant RENEWAL
Mujtaba K GarufiGermanyXuxue Feng NEW
Tony Q PaprockiUnited KingdomAsiya Javayant NEW
Claire R DoeIndiaBernardo Dominic RENEWAL
Murillo N OstroskyJapanXuxue Feng RENEWAL
Maisha Z PerinItalyStephen Shaw RENEWAL
Maisha G StockhamRussiaBernardo Dominic NEGOTIATION
Chavez X BriddickIndiaAsiya Javayant PROPOSAL
Morrow T MaletBrazilXuxue Feng NEGOTIATION
Alejandro B RimRussiaXuxue Feng NEGOTIATION
Darci N FollerCanadaBernardo Dominic UNQUALIFIED
Claire F CaldareraBrazilStephen Shaw RENEWAL
Maria V NestleBrazilAnna Fali NEW
Maisha B VenereSpainIvan Magalhaes QUALIFIED
Juan C TollnerGermanyAmy Elsner QUALIFIED
Jeanfrancois V BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Izzy V CaudyArgentinaAmy Elsner NEGOTIATION
Jones Q RulapaughArgentinaAnna Fali RENEWAL
Ashley S CampainArgentinaIvan Magalhaes QUALIFIED
Jefferson K MacleadGermanyAsiya Javayant RENEWAL
Munro Q NestleIndiaIvan Magalhaes QUALIFIED
Chavez J WieserBrazilAnna Fali QUALIFIED
Salvatore D CampainSpainOnyama Limba RENEWAL
Tony T SchemmerJapanOnyama Limba UNQUALIFIED
Maria Y BologniaFranceBernardo Dominic UNQUALIFIED
Mayumi V RimIndiaBernardo Dominic PROPOSAL
Jones O AmigonItalyAmy Elsner NEW
Salvatore O MacleadRussiaOnyama Limba RENEWAL
Wickens V PerinFranceAsiya Javayant UNQUALIFIED
Costa W FollerIndiaXuxue Feng UNQUALIFIED
Clifford W CampainSpainBernardo Dominic QUALIFIED
Ashley M KuskoJapanAsiya Javayant NEW
Alejandro T WaycottGermanyElwin Sharvill PROPOSAL
Jones W MarrierRussiaBernardo Dominic NEW
Clifford H GlickFranceAsiya Javayant UNQUALIFIED
Aditya B PaprockiBrazilElwin Sharvill UNQUALIFIED
Adams P ShinkoFranceAnna Fali NEW
Francesco F BowleyArgentinaXuxue Feng QUALIFIED
Misaki X RoysterCanadaXuxue Feng PROPOSAL
Antonio R GauchoItalyAnna Fali UNQUALIFIED
Greenwood C AmigonSpainAsiya Javayant NEW
Wickens V MaletAustraliaIvan Magalhaes UNQUALIFIED
Leon D DarakjyGermanyOnyama Limba NEW
Ricardo Q MarrierFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Munro D PoquetteRussiaOnyama Limba PROPOSAL
Adams S MorascaBrazilIvan Magalhaes NEGOTIATION
Morrow S TollnerItalyIoni Bowcher RENEWAL
Chavez Z RulapaughArgentinaIoni Bowcher NEGOTIATION
Salvatore A SchemmerFranceOnyama Limba RENEWAL
Maria M VenereArgentinaAmy Elsner QUALIFIED
Julie H AlbaresJapanAnna Fali PROPOSAL
Kaitlin S SlusarskiBrazilIoni Bowcher UNQUALIFIED
Antonio J DilliardAustraliaStephen Shaw NEGOTIATION
Jones X MaletIndiaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones D RimGermany2025-09-25Morlong Associates UNQUALIFIED68Amy Elsner
1001Salvatore B ChuiUnited Kingdom2025-10-02Feiner Bros NEW54Elwin Sharvill
1002Aditya I AmigonIndia2025-09-25Printing Dimensions QUALIFIED94Anna Fali
1003Adams Q SergiJapan2025-10-07Morlong Associates PROPOSAL66Elwin Sharvill
1004Ivar Q VocelkaCanada2025-09-27Feiner Bros QUALIFIED90Elwin Sharvill
1005Morrow A SergiCanada2025-09-19Commercial Press UNQUALIFIED35Asiya Javayant
1006Ashley J BologniaJapan2025-09-21Feiner Bros QUALIFIED4Bernardo Dominic
1007Misaki T VocelkaJapan2025-09-28Benton, John B Jr QUALIFIED2Elwin Sharvill
1008Emily W RimBrazil2025-10-06Morlong Associates PROPOSAL96Asiya Javayant
1009Deepesh K MaletArgentina2025-09-14Feiner Bros RENEWAL58Ivan Magalhaes
1010Maisha I SchemmerBrazil2025-10-01Commercial Press PROPOSAL73Xuxue Feng
1011Kadeem M FlosiArgentina2025-10-07Chemel, James L Cpa NEW54Anna Fali
1012Darci H PoquetteCanada2025-10-03Chanay, Jeffrey A Esq RENEWAL34Anna Fali
1013Julie O ButtRussia2025-10-07Truhlar And Truhlar Attys UNQUALIFIED93Ivan Magalhaes
1014Ashley Z ChuiUnited Kingdom2025-09-14Morlong Associates UNQUALIFIED88Xuxue Feng
1015Munro F SergiSpain2025-09-15Buckley Miller Wright QUALIFIED92Elwin Sharvill
1016Alejandro G MaletSpain2025-09-25Rousseaux, Michael Esq NEGOTIATION45Stephen Shaw
1017Ashley F StockhamFrance2025-10-07Truhlar And Truhlar Attys PROPOSAL82Ivan Magalhaes
1018Ricardo V StockhamGermany2025-09-16Rangoni Of Florence PROPOSAL98Asiya Javayant
1019Alejandro U WhobreyFrance2025-10-03King, Christopher A Esq UNQUALIFIED2Ivan Magalhaes
1020Aruna A FollerJapan2025-09-19Chapman, Ross E Esq NEGOTIATION40Bernardo Dominic
1021Jennifer Q DilliardIndia2025-09-26King, Christopher A Esq NEGOTIATION80Asiya Javayant
1022Jennifer B FigeroaArgentina2025-09-17Chemel, James L Cpa NEW36Elwin Sharvill
1023Maisha T OldroydGermany2025-09-14Morlong Associates PROPOSAL39Amy Elsner
1024Mayumi N BowleyGermany2025-09-09Morlong Associates UNQUALIFIED68Onyama Limba
1025Kadeem O GauchoIndia2025-10-06King, Christopher A Esq PROPOSAL63Anna Fali
1026Clifford W NickaIndia2025-09-26Rousseaux, Michael Esq NEW20Xuxue Feng
1027Isabel W BowleyRussia2025-10-05Chanay, Jeffrey A Esq NEGOTIATION95Amy Elsner
1028Morrow W SlusarskiAustralia2025-09-10Commercial Press QUALIFIED12Anna Fali
1029Mayumi A KuskoAustralia2025-09-14Chemel, James L Cpa NEGOTIATION1Amy Elsner
1030Salvatore D StensethAustralia2025-10-08Chemel, James L Cpa NEGOTIATION3Elwin Sharvill
1031Aika C StockhamIndia2025-09-16Commercial Press NEW19Bernardo Dominic
1032Leon F StockhamFrance2025-09-10King, Christopher A Esq NEGOTIATION45Bernardo Dominic
1033Julie H StensethGermany2025-10-03King, Christopher A Esq NEGOTIATION60Onyama Limba
1034Antonio K ChuiSpain2025-09-13Commercial Press QUALIFIED82Ioni Bowcher
1035Salvatore N GlickItaly2025-09-26Feiner Bros RENEWAL12Amy Elsner
1036Maisha H NickaItaly2025-09-23King, Christopher A Esq UNQUALIFIED83Onyama Limba
1037Smith K RoysterIndia2025-09-27Feiner Bros UNQUALIFIED74Anna Fali
1038Leja T BowleyItaly2025-09-13Rousseaux, Michael Esq NEGOTIATION27Anna Fali
1039Francesco A FerenczJapan2025-10-03Chapman, Ross E Esq NEGOTIATION55Ioni Bowcher
1040Munro C RulapaughAustralia2025-09-24Truhlar And Truhlar Attys NEGOTIATION29Asiya Javayant
1041Julie J RoysterJapan2025-10-02Rousseaux, Michael Esq RENEWAL80Ioni Bowcher
1042Maisha X MorascaSpain2025-09-20King, Christopher A Esq RENEWAL30Anna Fali
1043Antonio P MorascaJapan2025-09-30Rangoni Of Florence QUALIFIED23Elwin Sharvill
1044Ashley J FigeroaAustralia2025-09-22Rangoni Of Florence QUALIFIED48Stephen Shaw
1045Leon B BowleyUnited Kingdom2025-09-11Printing Dimensions PROPOSAL33Xuxue Feng
1046Jeanfrancois G FigeroaUnited Kingdom2025-09-27Printing Dimensions NEGOTIATION28Bernardo Dominic
1047Francesco E StensethUnited Kingdom2025-10-06Commercial Press RENEWAL57Elwin Sharvill
1048Nicolas L RutaGermany2025-09-16Feltz Printing Service PROPOSAL64Ioni Bowcher
1049Sinclair Z AmigonUnited Kingdom2025-09-22Rangoni Of Florence QUALIFIED27Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley H GauchoFranceElwin Sharvill NEW
Ivar L FollerIndiaAnna Fali RENEWAL
Aika N KolmetzCanadaElwin Sharvill NEW
Misaki I KuskoSpainElwin Sharvill NEW
Chavez G PoquetteUnited KingdomOnyama Limba QUALIFIED
Maisha M PaprockiArgentinaElwin Sharvill PROPOSAL
Isabel Z PaprockiFranceOnyama Limba QUALIFIED
Kadeem B KolmetzJapanAmy Elsner NEGOTIATION
Sinclair J RimJapanStephen Shaw NEGOTIATION
Aika S AlbaresFranceAnna Fali NEGOTIATION
Salvatore H MaletCanadaIoni Bowcher UNQUALIFIED
Maisha M WaycottUnited KingdomStephen Shaw NEGOTIATION
Aika H OstroskyRussiaBernardo Dominic PROPOSAL
Rodrigues D SaylorsUnited KingdomAsiya Javayant QUALIFIED
Mayumi I KuskoItalyOnyama Limba UNQUALIFIED
Alejandro Z SchemmerItalyStephen Shaw PROPOSAL
David U PaprockiGermanyElwin Sharvill UNQUALIFIED
Jones Y CaudySpainXuxue Feng RENEWAL
Izzy E NestleGermanyIvan Magalhaes QUALIFIED
Aika R DoeAustraliaAsiya Javayant PROPOSAL
Aruna R BriddickBrazilIoni Bowcher NEW
Maria J PaprockiBrazilIoni Bowcher NEW
Smith N SchemmerCanadaOnyama Limba QUALIFIED
Johnson N RulapaughJapanAnna Fali NEW
Juan W AmigonAustraliaElwin Sharvill NEW
Maisha Q NickaJapanXuxue Feng NEGOTIATION
Faith W GlickJapanStephen Shaw UNQUALIFIED
Darci E WieserSpainAnna Fali PROPOSAL
Jones A RulapaughArgentinaStephen Shaw RENEWAL
Tony Q ChuiSpainIvan Magalhaes UNQUALIFIED
Misaki S TollnerGermanyStephen Shaw NEW
Jeanfrancois Y FlosiCanadaOnyama Limba RENEWAL
Darci O FollerGermanyStephen Shaw QUALIFIED
Kaitlin W BriddickCanadaIvan Magalhaes NEW
Wickens L ShinkoAustraliaAmy Elsner PROPOSAL
Tony R WaycottJapanXuxue Feng NEGOTIATION
Ivar Q PerinCanadaAnna Fali UNQUALIFIED
Mayumi N ChuiItalyXuxue Feng NEW
Kadeem R MaletCanadaStephen Shaw PROPOSAL
Wickens Z AlbaresBrazilAsiya Javayant NEW
Darci D FollerBrazilStephen Shaw NEW
Ashley R PaprockiArgentinaAsiya Javayant NEGOTIATION
Jones R NestleItalyAnna Fali NEW
Ricardo O FigeroaIndiaBernardo Dominic RENEWAL
Kadeem Z VenereFranceIoni Bowcher UNQUALIFIED
David P SaylorsUnited KingdomXuxue Feng PROPOSAL
Mayumi T SlusarskiCanadaAsiya Javayant QUALIFIED
Darci W SergiFranceElwin Sharvill UNQUALIFIED
Costa T GarufiAustraliaElwin Sharvill NEW
Ivar M VenereUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Wickens J Butt
Izzy I Sergi
Jennifer C Bolognia
Arvin P Ostrosky
Ashley T Oldroyd
Greenwood X Kolmetz
Silvio C Maclead
Juan S Glick
Leja V Ruta
Leon K Gillian
Antonio G Flosi
Johnson U Inouye
Wickens U Malet
Chavez M Bolognia
James R Albares
Rodrigues D Butt
Mujtaba J Caudy
Mayumi S Rulapaugh
Greenwood P Albares
Aditya A Gaucho
Ricardo A Foller
Sinclair U Royster
Juan B Rim
Arvin Z Doe
Ivar Z Royster
Silvio I Stockham
Leja P Stenseth
Adams V Campain
Darci E Garufi
Mujtaba M Wieser
Izzy Q Sergi
Deepesh H Foller
Darci S Kusko
Antonio C Kusko
Leon B Wieser
Alejandro E Caldarera
Clifford Z Caudy
Deepesh M Caldarera
Rodrigues F Ruta
Johnson R Nestle
Jennifer Z Campain
Darci I Chui
Cody Y Gillian
Kadeem W Wieser
Salvatore A Stockham
Johnson V Stenseth
Silvio P Figeroa
James V Garufi
Jefferson T Garufi
Juan T Schemmer
IdCountryDate
1000France2025-10-04
1001France2025-10-02
1002France2025-10-07
1003Germany2025-10-05
1004Argentina2025-09-21
1005Japan2025-10-01
1006United Kingdom2025-09-14
1007Argentina2025-09-15
1008Canada2025-10-02
1009Brazil2025-09-15
1010France2025-09-09
1011Russia2025-09-22
1012Italy2025-09-18
1013United Kingdom2025-09-23
1014United Kingdom2025-09-29
1015India2025-09-19
1016France2025-09-10
1017Brazil2025-09-24
1018Canada2025-10-06
1019France2025-09-18
1020Canada2025-09-20
1021Russia2025-09-12
1022Brazil2025-09-21
1023Argentina2025-09-16
1024Australia2025-09-09
1025Canada2025-09-19
1026Brazil2025-09-15
1027Australia2025-10-02
1028Italy2025-09-14
1029United Kingdom2025-09-14
1030France2025-09-21
1031France2025-10-01
1032Canada2025-10-04
1033Spain2025-09-13
1034Germany2025-10-04
1035Japan2025-10-07
1036Japan2025-10-03
1037Italy2025-09-10
1038United Kingdom2025-09-19
1039France2025-09-09
1040Japan2025-10-03
1041Russia2025-09-19
1042Italy2025-09-30
1043Canada2025-09-14
1044Brazil2025-10-03
1045United Kingdom2025-10-01
1046Italy2025-09-25
1047Australia2025-09-23
1048Japan2025-09-16
1049Canada2025-10-06

On-Demand Data

NameIdCountryDate
Isabel A Campain1000United Kingdom2025-09-19
Maisha U Gillian1001Russia2025-10-07
Smith W Perin1002Canada2025-09-27
Morrow H Kusko1003Japan2025-09-23
Johnson G Stockham1004Japan2025-09-23
Mujtaba C Morasca1005Italy2025-09-24
Alejandro I Waycott1006Argentina2025-09-26
Murillo G Darakjy1007Japan2025-09-23
Cody D Wieser1008Canada2025-09-24
Rodrigues U Iturbide1009India2025-09-11
Stacey Y Morasca1010Italy2025-09-13
Kadeem X Waycott1011India2025-09-11
Clifford A Butt1012Russia2025-09-12
Salvatore Y Inouye1013Japan2025-10-06
Jeanfrancois H Ruta1014Argentina2025-09-30
Cody O Stockham1015Brazil2025-09-15
Mayumi I Kusko1016India2025-09-20
Emily R Nestle1017Italy2025-10-01
Rodrigues P Morasca1018India2025-09-23
Chavez O Shinko1019Brazil2025-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro F BriddickFranceAmy Elsner QUALIFIED
Rodrigues F FigeroaSpainXuxue Feng UNQUALIFIED
Rodrigues D PoquetteArgentinaXuxue Feng UNQUALIFIED
Ashley O FollerBrazilElwin Sharvill RENEWAL
Julie S MacleadItalyIvan Magalhaes PROPOSAL
Rodrigues E BriddickJapanElwin Sharvill NEW
Stacey X NestleItalyStephen Shaw RENEWAL
Greenwood M WaycottSpainBernardo Dominic UNQUALIFIED
Maisha T CampainGermanyIvan Magalhaes NEGOTIATION
Chavez M GarufiJapanIvan Magalhaes NEW
Chavez V CaldareraItalyAmy Elsner QUALIFIED
Jones Y SchemmerJapanAnna Fali PROPOSAL
Clifford M AlbaresAustraliaAsiya Javayant PROPOSAL
Maisha T SaylorsRussiaBernardo Dominic NEGOTIATION
Aika E AlbaresGermanyElwin Sharvill QUALIFIED
Chavez L MorascaBrazilAnna Fali PROPOSAL
Cody N WieserGermanyAmy Elsner NEW
Morrow H FlosiJapanStephen Shaw PROPOSAL
Julie J DoeSpainXuxue Feng QUALIFIED
Aruna Q BologniaAustraliaBernardo Dominic NEGOTIATION
Francesco P RulapaughJapanOnyama Limba QUALIFIED
Kaitlin R KuskoArgentinaElwin Sharvill NEW
Maria N GarufiSpainIvan Magalhaes NEW
Stacey L WhobreyCanadaIvan Magalhaes RENEWAL
James G NestleItalyIoni Bowcher NEW
Mayumi Z StockhamUnited KingdomXuxue Feng NEGOTIATION
Tony S OstroskyBrazilBernardo Dominic UNQUALIFIED
Claire O TollnerJapanIvan Magalhaes UNQUALIFIED
Antonio B SaylorsAustraliaXuxue Feng NEW
Arvin J VenereJapanXuxue Feng NEGOTIATION
David P RimRussiaElwin Sharvill PROPOSAL
Aruna R KuskoGermanyAsiya Javayant PROPOSAL
Izzy T FlosiAustraliaAsiya Javayant QUALIFIED
Isabel C RulapaughGermanyAnna Fali RENEWAL
Jefferson G WaycottCanadaIoni Bowcher NEW
Johnson W FerenczCanadaOnyama Limba RENEWAL
Ricardo B GauchoFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois W GauchoCanadaOnyama Limba PROPOSAL
Greenwood M GlickGermanyStephen Shaw UNQUALIFIED
Francesco T OldroydSpainStephen Shaw NEW

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