Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
French
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Czech
Greek
Persian
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Lithuanian
Latvian
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Swedish
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

PrimeOne Design

Saga Saga
Vela Vela
Arya Arya

Premium Themes

Premium themes are only available exclusively for PrimeFaces Theme Designer subscribers and therefore not included in PrimeFaces core.

Bootstrap light blue and dark blue themes are also included in PrimeFaces 10.x builds for Elite subscribers.

bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

PREMIUM TEMPLATES

Create awesome applications in no time using the premium templates and impress your users.

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Faith N MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Cody E RoysterGermanyXuxue Feng QUALIFIED
Sinclair H IturbideGermanyXuxue Feng NEGOTIATION
Cody I FlosiArgentinaAsiya Javayant RENEWAL
Mayumi A WaycottAustraliaAsiya Javayant NEW
Jones Y ShinkoSpainAsiya Javayant NEGOTIATION
Clifford S GillianCanadaIvan Magalhaes NEGOTIATION
Arvin T RoysterIndiaXuxue Feng RENEWAL
Octavia C MarrierJapanIvan Magalhaes UNQUALIFIED
Adams H SaylorsRussiaIoni Bowcher QUALIFIED
Antonio Z BriddickRussiaAsiya Javayant NEGOTIATION
Misaki V SchemmerItalyAnna Fali NEGOTIATION
Stacey O GauchoFranceAmy Elsner UNQUALIFIED
Morrow W IturbideArgentinaAmy Elsner PROPOSAL
Cody G CaldareraRussiaXuxue Feng RENEWAL
Faith W FollerRussiaAnna Fali NEW
Juan R StockhamFranceXuxue Feng QUALIFIED
Rodrigues C SlusarskiRussiaStephen Shaw RENEWAL
Mayumi B RimUnited KingdomIoni Bowcher NEW
Greenwood V AlbaresUnited KingdomXuxue Feng RENEWAL
Juan E PaprockiAustraliaXuxue Feng UNQUALIFIED
Kaitlin O BologniaUnited KingdomIoni Bowcher NEGOTIATION
Misaki E DoeGermanyBernardo Dominic NEW
Jones P VocelkaBrazilXuxue Feng NEW
Antonio Z IturbideRussiaAsiya Javayant NEGOTIATION
Izzy G OldroydIndiaBernardo Dominic RENEWAL
Smith E RutaItalyXuxue Feng PROPOSAL
Julie A StensethFranceStephen Shaw RENEWAL
David T GillianJapanAmy Elsner PROPOSAL
Aika R FerenczCanadaBernardo Dominic UNQUALIFIED
Smith S RoysterIndiaAsiya Javayant QUALIFIED
Julie C RutaJapanOnyama Limba NEGOTIATION
Izzy D PerinRussiaStephen Shaw UNQUALIFIED
Chavez E SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues A GauchoFranceXuxue Feng RENEWAL
James O BowleyUnited KingdomBernardo Dominic NEGOTIATION
Ashley N MacleadItalyIvan Magalhaes RENEWAL
Emily I BologniaItalyAmy Elsner PROPOSAL
Julie X FollerItalyStephen Shaw NEGOTIATION
Wickens P MarrierGermanyElwin Sharvill NEGOTIATION
Mayumi K WieserBrazilAmy Elsner NEW
Arvin G PerinFranceAnna Fali NEW
Adams Q SlusarskiUnited KingdomStephen Shaw RENEWAL
Greenwood C TollnerFranceAsiya Javayant PROPOSAL
Arvin C PerinSpainOnyama Limba NEW
Costa I KuskoRussiaElwin Sharvill NEW
Claire R MorascaUnited KingdomElwin Sharvill QUALIFIED
Jones K StockhamSpainAnna Fali RENEWAL
Nicolas U VenereGermanyBernardo Dominic NEW
Cody C WhobreyCanadaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya G BologniaAustraliaAmy Elsner PROPOSAL
Smith E RimJapanAnna Fali QUALIFIED
Leja R CaudyJapanElwin Sharvill UNQUALIFIED
Stacey Y DarakjyArgentinaOnyama Limba QUALIFIED
David C StockhamItalyElwin Sharvill UNQUALIFIED
Octavia E FollerBrazilBernardo Dominic NEGOTIATION
Wickens A FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Aditya V BologniaJapanOnyama Limba NEGOTIATION
Silvio P VenereSpainAmy Elsner RENEWAL
Jeanfrancois W KolmetzArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M RimFrance2024-04-14Printing Dimensions UNQUALIFIED13Bernardo Dominic
1001Izzy K PerinFrance2024-03-28Morlong Associates PROPOSAL81Asiya Javayant
1002Claire D WaycottUnited Kingdom2024-03-26Feltz Printing Service NEGOTIATION52Xuxue Feng
1003Johnson N CaudyItaly2024-04-20King, Christopher A Esq QUALIFIED15Onyama Limba
1004Smith L BologniaIndia2024-04-11Feltz Printing Service NEGOTIATION59Anna Fali
1005Francesco Z WhobreyAustralia2024-04-14Feiner Bros NEW29Anna Fali
1006Aruna N CaldareraFrance2024-04-05Feiner Bros PROPOSAL34Stephen Shaw
1007Julie R KolmetzArgentina2024-04-23Dorl, James J Esq QUALIFIED34Onyama Limba
1008Mayumi O SaylorsAustralia2024-04-21Dorl, James J Esq QUALIFIED69Bernardo Dominic
1009Leja Q ChuiFrance2024-04-04Dorl, James J Esq QUALIFIED93Bernardo Dominic
1010Wickens M WhobreyFrance2024-04-22Feiner Bros NEW48Onyama Limba
1011Francesco G StockhamFrance2024-04-05Buckley Miller Wright PROPOSAL45Anna Fali
1012Izzy Z DoeFrance2024-03-29Chemel, James L Cpa PROPOSAL91Xuxue Feng
1013Chavez U VenereRussia2024-03-26Printing Dimensions QUALIFIED93Xuxue Feng
1014Arvin T GlickArgentina2024-04-04Buckley Miller Wright QUALIFIED89Bernardo Dominic
1015Arvin F InouyeItaly2024-04-02Buckley Miller Wright UNQUALIFIED74Bernardo Dominic
1016Leja S MaletArgentina2024-04-09Benton, John B Jr RENEWAL45Bernardo Dominic
1017Juan N DarakjyGermany2024-04-02Printing Dimensions NEGOTIATION64Amy Elsner
1018Deepesh N GarufiArgentina2024-04-07King, Christopher A Esq RENEWAL45Stephen Shaw
1019Wickens E KuskoSpain2024-04-16Feltz Printing Service QUALIFIED79Ioni Bowcher
1020Salvatore E MacleadRussia2024-04-08Chapman, Ross E Esq NEGOTIATION32Bernardo Dominic
1021Ashley E WhobreySpain2024-04-21Commercial Press NEW7Ivan Magalhaes
1022Aika X PoquetteRussia2024-03-30Benton, John B Jr NEW59Ivan Magalhaes
1023Octavia L DilliardIndia2024-04-06King, Christopher A Esq PROPOSAL62Elwin Sharvill
1024Jefferson W WhobreyBrazil2024-04-17Dorl, James J Esq QUALIFIED6Anna Fali
1025Antonio V DoeCanada2024-04-18Feiner Bros NEW32Elwin Sharvill
1026Smith D MaletFrance2024-03-28King, Christopher A Esq NEW93Xuxue Feng
1027Octavia Z ChuiRussia2024-04-24Commercial Press PROPOSAL96Anna Fali
1028Sinclair J WieserUnited Kingdom2024-04-01King, Christopher A Esq UNQUALIFIED50Bernardo Dominic
1029Leja U CaldareraAustralia2024-03-29Morlong Associates NEW45Ivan Magalhaes
1030Jefferson V WaycottItaly2024-04-06Commercial Press QUALIFIED63Amy Elsner
1031Rodrigues N CaudyBrazil2024-04-10Rangoni Of Florence NEW20Bernardo Dominic
1032Chavez D StensethFrance2024-04-08Rangoni Of Florence PROPOSAL4Bernardo Dominic
1033Leja L KuskoRussia2024-04-10Printing Dimensions RENEWAL55Ioni Bowcher
1034Kadeem C CaudyFrance2024-04-09Truhlar And Truhlar Attys UNQUALIFIED63Ioni Bowcher
1035Izzy M CampainJapan2024-04-04Commercial Press NEGOTIATION40Ivan Magalhaes
1036Kadeem D GauchoRussia2024-03-26Morlong Associates UNQUALIFIED0Anna Fali
1037Wickens I FlosiIndia2024-04-11Dorl, James J Esq PROPOSAL2Bernardo Dominic
1038Wickens A FlosiUnited Kingdom2024-04-21Buckley Miller Wright NEGOTIATION47Anna Fali
1039Julie O NickaCanada2024-04-02Buckley Miller Wright NEGOTIATION21Bernardo Dominic
1040Kadeem E RutaFrance2024-04-24Chemel, James L Cpa RENEWAL74Bernardo Dominic
1041Murillo E ButtAustralia2024-04-23Benton, John B Jr RENEWAL10Xuxue Feng
1042Aika L NickaItaly2024-04-06Commercial Press NEW43Onyama Limba
1043Tony I NickaItaly2024-04-09Benton, John B Jr PROPOSAL5Stephen Shaw
1044Costa W RutaIndia2024-04-04Dorl, James J Esq PROPOSAL49Stephen Shaw
1045Leon M RulapaughJapan2024-04-12Printing Dimensions NEGOTIATION91Amy Elsner
1046Antonio I IturbideUnited Kingdom2024-04-18Chapman, Ross E Esq UNQUALIFIED65Amy Elsner
1047Johnson V IturbideUnited Kingdom2024-04-08Printing Dimensions UNQUALIFIED70Onyama Limba
1048Clifford Q RimSpain2024-03-31Truhlar And Truhlar Attys QUALIFIED20Asiya Javayant
1049James Z GarufiGermany2024-04-03Benton, John B Jr NEGOTIATION82Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Izzy N TollnerUnited KingdomXuxue Feng NEW
Jones T RutaAustraliaAnna Fali NEW
Murillo S VocelkaAustraliaXuxue Feng NEW
Maisha H KuskoRussiaStephen Shaw QUALIFIED
James H KolmetzFranceAmy Elsner UNQUALIFIED
Rodrigues C DoeItalyStephen Shaw RENEWAL
Faith X MarrierGermanyStephen Shaw PROPOSAL
Jeanfrancois C GarufiJapanAnna Fali RENEWAL
Leon G DoeFranceOnyama Limba NEW
Clifford Y CaudyCanadaElwin Sharvill UNQUALIFIED
Alejandro I RimItalyAsiya Javayant UNQUALIFIED
Arvin F MaletRussiaXuxue Feng NEW
Francesco O AlbaresSpainStephen Shaw UNQUALIFIED
Costa Q KolmetzRussiaIvan Magalhaes NEGOTIATION
Stacey V DoeGermanyIoni Bowcher RENEWAL
Ivar N SlusarskiRussiaOnyama Limba NEW
Francesco C GillianSpainElwin Sharvill PROPOSAL
Aditya U CaudyArgentinaOnyama Limba NEGOTIATION
Sinclair X WaycottAustraliaStephen Shaw QUALIFIED
Murillo J IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Arvin W GarufiSpainXuxue Feng UNQUALIFIED
Munro I RimCanadaAnna Fali QUALIFIED
David S KolmetzBrazilAmy Elsner PROPOSAL
David B RimRussiaElwin Sharvill NEW
David Y CaudyAustraliaElwin Sharvill UNQUALIFIED
Ivar Z KolmetzAustraliaAmy Elsner NEGOTIATION
Darci R GlickFranceStephen Shaw NEW
Jefferson P GarufiItalyAnna Fali NEGOTIATION
Stacey S NestleIndiaIvan Magalhaes QUALIFIED
Silvio B PerinCanadaAsiya Javayant UNQUALIFIED
Smith U PaprockiFranceAsiya Javayant UNQUALIFIED
David V PerinItalyAnna Fali NEGOTIATION
Mujtaba W WieserJapanElwin Sharvill UNQUALIFIED
Deepesh P GarufiFranceBernardo Dominic NEW
Sinclair H GauchoIndiaAnna Fali PROPOSAL
Ivar R OldroydArgentinaElwin Sharvill UNQUALIFIED
Ricardo B PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Maisha V NestleItalyXuxue Feng UNQUALIFIED
Isabel R PerinCanadaElwin Sharvill UNQUALIFIED
Emily R NickaFranceAnna Fali QUALIFIED
Faith G MaletUnited KingdomAsiya Javayant NEW
Wickens K MaletBrazilAsiya Javayant QUALIFIED
Antonio G AlbaresArgentinaBernardo Dominic UNQUALIFIED
Isabel N FigeroaIndiaAnna Fali RENEWAL
Salvatore L KuskoAustraliaXuxue Feng PROPOSAL
Stacey O NestleBrazilBernardo Dominic NEW
Arvin Z ShinkoCanadaAmy Elsner QUALIFIED
Stacey F NestleCanadaStephen Shaw QUALIFIED
Jefferson N WieserRussiaStephen Shaw QUALIFIED
Stacey J MaletRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Octavia R Flosi
Kaitlin Q Ruta
Ricardo H Tollner
Claire Z Kusko
Juan W Wieser
Adams F Shinko
Emily W Bolognia
Aditya L Oldroyd
Nicolas P Saylors
Leon W Briddick
James J Caldarera
Darci U Garufi
Juan J Caldarera
Johnson A Caudy
Maisha O Saylors
Morrow D Whobrey
Mujtaba D Ostrosky
Jefferson O Chui
Alejandro P Nestle
Misaki C Malet
Mujtaba R Morasca
Maria F Gillian
Claire G Oldroyd
Juan K Venere
Ivar U Rim
Maria C Whobrey
Leon A Poquette
Kaitlin V Ostrosky
Morrow D Waycott
Greenwood R Bowley
Antonio G Bowley
Izzy E Ruta
Wickens B Ostrosky
Faith X Waycott
Sinclair E Tollner
Rodrigues L Schemmer
Rodrigues P Campain
David B Malet
Kaitlin Z Rim
Jones Z Iturbide
Octavia M Dilliard
Isabel L Slusarski
Morrow G Flosi
Johnson G Garufi
Munro X Perin
Tony K Nicka
James R Garufi
Nicolas Q Perin
Isabel J Dilliard
Adams G Malet
IdCountryDate
1000Brazil2024-04-23
1001Spain2024-04-02
1002Italy2024-04-22
1003Italy2024-04-16
1004United Kingdom2024-03-29
1005India2024-04-01
1006Italy2024-04-13
1007Brazil2024-03-27
1008India2024-04-14
1009Australia2024-04-04
1010Australia2024-04-15
1011Australia2024-04-02
1012Russia2024-04-05
1013Italy2024-04-04
1014India2024-03-31
1015India2024-03-30
1016India2024-04-01
1017Argentina2024-04-01
1018Brazil2024-04-04
1019United Kingdom2024-04-04
1020Argentina2024-03-26
1021Brazil2024-04-17
1022France2024-04-14
1023Russia2024-04-15
1024India2024-04-09
1025Brazil2024-04-10
1026France2024-04-20
1027Argentina2024-03-31
1028Russia2024-04-20
1029Canada2024-04-11
1030Germany2024-04-03
1031Canada2024-04-20
1032Spain2024-03-29
1033Brazil2024-03-31
1034Russia2024-04-02
1035Russia2024-04-03
1036Italy2024-04-02
1037France2024-04-18
1038France2024-04-18
1039Japan2024-04-14
1040Brazil2024-04-10
1041Italy2024-03-30
1042Germany2024-04-04
1043Germany2024-04-03
1044Italy2024-03-31
1045Russia2024-04-09
1046Argentina2024-04-21
1047Brazil2024-04-12
1048Italy2024-03-29
1049Australia2024-03-26

On-Demand Data

NameIdCountryDate
Clifford T Morasca1000Russia2024-03-30
Darci T Flosi1001Argentina2024-04-07
Darci E Ruta1002India2024-04-12
Deepesh N Waycott1003India2024-04-09
Faith F Rulapaugh1004Russia2024-03-31
Jones M Schemmer1005India2024-04-05
Alejandro K Stenseth1006Brazil2024-03-26
Silvio D Sergi1007Argentina2024-04-16
Emily U Shinko1008Australia2024-04-16
Tony A Marrier1009Russia2024-03-26
Tony D Malet1010Australia2024-04-17
Stacey W Bolognia1011France2024-04-23
Tony Z Gillian1012Italy2024-04-14
Maria Y Ostrosky1013Italy2024-04-15
Izzy X Rulapaugh1014Brazil2024-04-11
James X Marrier1015India2024-04-13
Greenwood J Butt1016France2024-04-01
Francesco V Sergi1017Japan2024-04-21
Alejandro M Campain1018Brazil2024-04-20
Maria V Marrier1019France2024-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley T FigeroaItalyAsiya Javayant PROPOSAL
Ivar X StensethAustraliaIvan Magalhaes NEGOTIATION
Isabel Y MarrierGermanyStephen Shaw QUALIFIED
Silvio L InouyeCanadaXuxue Feng NEGOTIATION
Salvatore K WieserSpainStephen Shaw RENEWAL
Misaki X BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Jones K RutaRussiaStephen Shaw RENEWAL
Maria P VocelkaCanadaAnna Fali RENEWAL
Kaitlin B InouyeItalyIvan Magalhaes RENEWAL
Kadeem S WaycottSpainAsiya Javayant NEGOTIATION
Isabel M RoysterUnited KingdomIoni Bowcher PROPOSAL
Arvin G RulapaughGermanyOnyama Limba PROPOSAL
James D WhobreyBrazilOnyama Limba QUALIFIED
Leon W FerenczSpainStephen Shaw NEGOTIATION
Jennifer K WaycottRussiaBernardo Dominic QUALIFIED
Mayumi N PaprockiCanadaAsiya Javayant UNQUALIFIED
Cody R StensethSpainElwin Sharvill PROPOSAL
Jones X PoquetteFranceElwin Sharvill PROPOSAL
Isabel E RoysterFranceBernardo Dominic UNQUALIFIED
Adams M FigeroaArgentinaAnna Fali UNQUALIFIED
Leon A OldroydCanadaBernardo Dominic RENEWAL
Ricardo T DoeRussiaAnna Fali NEW
Kaitlin T AmigonSpainAsiya Javayant NEGOTIATION
Jefferson G CampainIndiaIoni Bowcher QUALIFIED
Ashley R InouyeJapanIoni Bowcher UNQUALIFIED
Tony J RulapaughGermanyElwin Sharvill RENEWAL
Rodrigues S GillianCanadaAsiya Javayant PROPOSAL
Munro I FlosiArgentinaIoni Bowcher UNQUALIFIED
Emily B GauchoBrazilAnna Fali PROPOSAL
Smith U VocelkaUnited KingdomElwin Sharvill PROPOSAL
Juan H FigeroaIndiaElwin Sharvill QUALIFIED
Morrow V ShinkoJapanStephen Shaw RENEWAL
Misaki A PoquetteFranceIvan Magalhaes NEW
Rodrigues O AmigonCanadaAmy Elsner PROPOSAL
Isabel N PoquetteGermanyAnna Fali RENEWAL
Cody Z InouyeBrazilAmy Elsner RENEWAL
Arvin O MaletRussiaAsiya Javayant NEGOTIATION
Chavez U CaldareraSpainBernardo Dominic UNQUALIFIED
David P FlosiFranceXuxue Feng PROPOSAL
Tony I OldroydUnited KingdomXuxue Feng 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">
            <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>