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
Aika I PoquetteGermanyIoni Bowcher PROPOSAL
Juan W PoquetteItalyElwin Sharvill UNQUALIFIED
Mayumi S FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Misaki K GarufiAustraliaXuxue Feng RENEWAL
Aruna J ButtArgentinaAnna Fali QUALIFIED
Deepesh K WhobreyFranceIoni Bowcher PROPOSAL
Ivar V VocelkaUnited KingdomStephen Shaw NEGOTIATION
Octavia P PoquetteUnited KingdomAsiya Javayant RENEWAL
Darci D AlbaresAustraliaAsiya Javayant UNQUALIFIED
Sinclair W NestleGermanyAnna Fali UNQUALIFIED
Izzy W RulapaughCanadaAsiya Javayant UNQUALIFIED
Morrow Z MorascaUnited KingdomXuxue Feng NEW
James G FollerAustraliaOnyama Limba NEW
Nicolas N ShinkoItalyXuxue Feng NEGOTIATION
Claire O InouyeJapanIoni Bowcher NEW
Aika K VocelkaBrazilIoni Bowcher PROPOSAL
Francesco V FigeroaAustraliaOnyama Limba RENEWAL
Francesco X NestleUnited KingdomStephen Shaw QUALIFIED
Aika D GillianIndiaIvan Magalhaes RENEWAL
Jennifer N SaylorsAustraliaStephen Shaw QUALIFIED
Johnson E DarakjyCanadaBernardo Dominic UNQUALIFIED
Maisha K StensethJapanIvan Magalhaes UNQUALIFIED
Wickens W SlusarskiFranceElwin Sharvill RENEWAL
Ivar Q StensethIndiaAmy Elsner UNQUALIFIED
Johnson H SchemmerBrazilIvan Magalhaes QUALIFIED
Jefferson A TollnerUnited KingdomBernardo Dominic NEGOTIATION
Aika I IturbideRussiaAnna Fali NEGOTIATION
Ivar F SchemmerSpainAsiya Javayant RENEWAL
Darci K RoysterAustraliaStephen Shaw PROPOSAL
Antonio U KolmetzItalyAnna Fali PROPOSAL
Chavez M OldroydGermanyOnyama Limba UNQUALIFIED
Jennifer M BologniaFranceElwin Sharvill QUALIFIED
Chavez G RoysterArgentinaBernardo Dominic PROPOSAL
Leon W GauchoUnited KingdomIoni Bowcher NEW
Leja V SlusarskiUnited KingdomAnna Fali RENEWAL
Claire W StockhamUnited KingdomElwin Sharvill NEGOTIATION
Arvin C KuskoIndiaBernardo Dominic RENEWAL
Sinclair C FigeroaItalyIoni Bowcher UNQUALIFIED
Leja U VenereAustraliaBernardo Dominic NEGOTIATION
Maisha F ButtFranceBernardo Dominic UNQUALIFIED
Leon W GarufiIndiaIvan Magalhaes NEGOTIATION
Murillo N CampainJapanXuxue Feng NEGOTIATION
Rodrigues B DilliardSpainStephen Shaw RENEWAL
James D KolmetzRussiaAsiya Javayant NEGOTIATION
Alejandro Q FollerUnited KingdomAmy Elsner NEGOTIATION
Faith U OldroydJapanIoni Bowcher PROPOSAL
Jones O WieserGermanyAsiya Javayant PROPOSAL
Smith N NickaFranceStephen Shaw UNQUALIFIED
Misaki A FollerCanadaElwin Sharvill QUALIFIED
Faith G ButtCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Aruna E FerenczItalyIoni Bowcher PROPOSAL
Chavez Y DilliardGermanyAmy Elsner RENEWAL
Wickens C OldroydBrazilIoni Bowcher RENEWAL
Johnson S IturbideBrazilIvan Magalhaes RENEWAL
Faith T GauchoCanadaAnna Fali UNQUALIFIED
Julie E ShinkoAustraliaElwin Sharvill NEW
Wickens W GlickJapanIoni Bowcher QUALIFIED
Clifford L RoysterJapanOnyama Limba NEW
Izzy Q RulapaughIndiaOnyama Limba QUALIFIED
Silvio S PaprockiItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro F RoysterArgentina2024-03-26Feltz Printing Service PROPOSAL49Asiya Javayant
1001Leja H FerenczArgentina2024-03-30Feiner Bros RENEWAL63Anna Fali
1002James A MarrierAustralia2024-04-11King, Christopher A Esq RENEWAL31Stephen Shaw
1003Mujtaba O KolmetzRussia2024-03-29Buckley Miller Wright NEW38Xuxue Feng
1004Octavia I IturbideGermany2024-04-14Feiner Bros RENEWAL45Elwin Sharvill
1005Mujtaba G GauchoArgentina2024-04-11Chanay, Jeffrey A Esq UNQUALIFIED18Asiya Javayant
1006Octavia I InouyeSpain2024-03-31Benton, John B Jr QUALIFIED74Ivan Magalhaes
1007Jones Q KuskoUnited Kingdom2024-03-21Dorl, James J Esq QUALIFIED42Elwin Sharvill
1008Wickens B DarakjyGermany2024-04-03Morlong Associates NEW78Onyama Limba
1009Stacey A DarakjySpain2024-04-11Feltz Printing Service NEGOTIATION79Stephen Shaw
1010Tony X BriddickItaly2024-04-14Rousseaux, Michael Esq NEGOTIATION7Amy Elsner
1011Izzy S MacleadJapan2024-03-21Rangoni Of Florence UNQUALIFIED7Onyama Limba
1012Morrow M GillianIndia2024-03-24Morlong Associates UNQUALIFIED48Stephen Shaw
1013Jeanfrancois I GillianJapan2024-04-14Commercial Press PROPOSAL54Elwin Sharvill
1014Octavia Y GarufiSpain2024-04-03Feltz Printing Service UNQUALIFIED59Asiya Javayant
1015Faith M FerenczRussia2024-03-28Dorl, James J Esq NEGOTIATION50Stephen Shaw
1016Juan F NestleIndia2024-03-23Chanay, Jeffrey A Esq NEW21Elwin Sharvill
1017Francesco V AmigonRussia2024-03-27Feltz Printing Service QUALIFIED23Ioni Bowcher
1018Jefferson Y PoquetteItaly2024-03-28Feiner Bros PROPOSAL22Stephen Shaw
1019Juan U StockhamItaly2024-04-09Chemel, James L Cpa RENEWAL95Stephen Shaw
1020Munro U GlickArgentina2024-04-11Buckley Miller Wright QUALIFIED90Onyama Limba
1021Kaitlin C MaletUnited Kingdom2024-04-03Dorl, James J Esq UNQUALIFIED88Anna Fali
1022Greenwood L MaletSpain2024-04-03Chapman, Ross E Esq PROPOSAL55Anna Fali
1023Julie Q WhobreyFrance2024-04-05Rousseaux, Michael Esq NEW53Ioni Bowcher
1024Juan J WhobreyArgentina2024-04-08Rousseaux, Michael Esq NEGOTIATION45Bernardo Dominic
1025David L StensethJapan2024-04-14Benton, John B Jr NEW7Onyama Limba
1026Sinclair V CaudyJapan2024-03-28Morlong Associates UNQUALIFIED36Elwin Sharvill
1027Francesco G BowleyFrance2024-03-26Truhlar And Truhlar Attys NEW41Ivan Magalhaes
1028Maisha M GillianJapan2024-04-17Rangoni Of Florence NEGOTIATION54Amy Elsner
1029Darci B BriddickFrance2024-03-30Printing Dimensions RENEWAL97Anna Fali
1030Aika B CampainUnited Kingdom2024-04-16Feiner Bros NEGOTIATION87Ioni Bowcher
1031David G KuskoGermany2024-04-18Feltz Printing Service QUALIFIED2Ivan Magalhaes
1032Ivar N NestleUnited Kingdom2024-04-02Truhlar And Truhlar Attys NEGOTIATION44Amy Elsner
1033Octavia O NestleItaly2024-03-26King, Christopher A Esq PROPOSAL15Amy Elsner
1034Rodrigues C SlusarskiUnited Kingdom2024-03-25Chapman, Ross E Esq NEW54Amy Elsner
1035Munro H DilliardRussia2024-04-08Benton, John B Jr UNQUALIFIED7Anna Fali
1036Deepesh B BowleyIndia2024-04-12Chanay, Jeffrey A Esq NEW19Bernardo Dominic
1037Misaki M FerenczItaly2024-03-23Benton, John B Jr UNQUALIFIED17Asiya Javayant
1038Aika Y ShinkoAustralia2024-03-26Truhlar And Truhlar Attys PROPOSAL25Xuxue Feng
1039Leja R WhobreyCanada2024-03-21Feiner Bros NEGOTIATION34Stephen Shaw
1040Maria J MarrierIndia2024-03-22Morlong Associates RENEWAL49Xuxue Feng
1041Cody D RoysterCanada2024-03-28Rangoni Of Florence QUALIFIED96Amy Elsner
1042Octavia H StockhamCanada2024-03-22Rousseaux, Michael Esq NEGOTIATION44Stephen Shaw
1043Juan V NestleUnited Kingdom2024-03-20Commercial Press NEW24Anna Fali
1044Alejandro A RulapaughJapan2024-03-22Benton, John B Jr PROPOSAL67Elwin Sharvill
1045Smith D KuskoGermany2024-04-13Benton, John B Jr UNQUALIFIED29Asiya Javayant
1046Faith M WaycottRussia2024-03-20King, Christopher A Esq QUALIFIED73Asiya Javayant
1047Alejandro H WaycottFrance2024-04-12Benton, John B Jr UNQUALIFIED46Anna Fali
1048Claire F RimCanada2024-04-17Feiner Bros PROPOSAL34Stephen Shaw
1049Jefferson H KolmetzArgentina2024-04-12Rangoni Of Florence UNQUALIFIED44Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan J FerenczItalyAsiya Javayant NEW
David T GauchoArgentinaIvan Magalhaes QUALIFIED
Izzy N ShinkoIndiaAsiya Javayant NEW
Clifford J MorascaJapanElwin Sharvill NEW
Ricardo L FigeroaFranceIoni Bowcher NEW
Aditya F MaletIndiaIoni Bowcher PROPOSAL
Ashley C OstroskyUnited KingdomAmy Elsner NEGOTIATION
Silvio M TollnerJapanOnyama Limba UNQUALIFIED
Silvio C MacleadGermanyBernardo Dominic QUALIFIED
Francesco X GauchoBrazilElwin Sharvill PROPOSAL
Izzy S PerinArgentinaAnna Fali QUALIFIED
Claire M RoysterItalyAmy Elsner PROPOSAL
Ricardo E GlickJapanAsiya Javayant RENEWAL
Octavia R SlusarskiFranceBernardo Dominic PROPOSAL
Kadeem Z DarakjyItalyIoni Bowcher NEGOTIATION
Kadeem E SlusarskiGermanyAnna Fali NEGOTIATION
Ivar X MaletAustraliaXuxue Feng PROPOSAL
Johnson M AmigonSpainAsiya Javayant UNQUALIFIED
Mujtaba S IturbideAustraliaAmy Elsner UNQUALIFIED
Aruna V GauchoItalyAmy Elsner PROPOSAL
Maria I DoeBrazilAnna Fali PROPOSAL
Nicolas D ShinkoRussiaOnyama Limba UNQUALIFIED
Kaitlin S BowleyCanadaBernardo Dominic PROPOSAL
Sinclair L SaylorsRussiaAmy Elsner PROPOSAL
Johnson W BriddickUnited KingdomXuxue Feng NEW
Arvin L BowleySpainXuxue Feng QUALIFIED
Leja Z FerenczBrazilXuxue Feng UNQUALIFIED
Emily Y VenereIndiaAsiya Javayant QUALIFIED
Misaki X OstroskyIndiaElwin Sharvill NEW
Deepesh M StensethAustraliaElwin Sharvill UNQUALIFIED
Leja N NestleArgentinaBernardo Dominic QUALIFIED
Emily V SchemmerRussiaIoni Bowcher PROPOSAL
Jennifer G GarufiBrazilStephen Shaw NEW
James S IturbideItalyIoni Bowcher RENEWAL
Leja W RimUnited KingdomStephen Shaw NEGOTIATION
Jennifer B GlickRussiaXuxue Feng QUALIFIED
Juan Z RimUnited KingdomStephen Shaw PROPOSAL
Leja I VocelkaAustraliaStephen Shaw UNQUALIFIED
Wickens S GillianCanadaAsiya Javayant NEW
Deepesh M KuskoItalyIoni Bowcher PROPOSAL
Arvin J CampainIndiaStephen Shaw NEGOTIATION
Chavez R ButtRussiaIvan Magalhaes NEGOTIATION
Nicolas E MorascaJapanAsiya Javayant UNQUALIFIED
Jefferson D SaylorsAustraliaIoni Bowcher QUALIFIED
Leja B RulapaughAustraliaStephen Shaw RENEWAL
Smith P SchemmerGermanyAmy Elsner NEGOTIATION
Maria Z TollnerAustraliaIoni Bowcher NEW
Munro S MacleadSpainStephen Shaw RENEWAL
Cody Z WhobreyRussiaBernardo Dominic PROPOSAL
Leja F WhobreyArgentinaXuxue Feng PROPOSAL
Frozen Columns
Name
Maisha I Morasca
Chavez P Dilliard
Isabel Z Morasca
Misaki H Briddick
Faith N Oldroyd
Kadeem J Figeroa
Maria I Tollner
Julie K Saylors
Johnson Y Rim
Deepesh H Nestle
Ashley N Ferencz
Claire G Caldarera
Maria N Bolognia
Misaki F Ostrosky
Julie R Garufi
Izzy I Bowley
Nicolas Y Saylors
Isabel L Malet
Mayumi M Iturbide
Munro M Venere
Darci U Figeroa
Wickens I Albares
Greenwood Q Poquette
Antonio A Ferencz
Julie D Perin
Arvin X Rim
Adams D Ostrosky
Nicolas V Bolognia
Aika R Slusarski
Rodrigues V Dilliard
Sinclair X Vocelka
Ashley P Gaucho
Murillo A Flosi
Jones D Ruta
Francesco J Doe
Aika H Briddick
Aika Y Royster
Emily F Amigon
Juan U Schemmer
Silvio Q Saylors
Ricardo O Ruta
Misaki O Caldarera
Ashley B Flosi
Cody G Tollner
Aika A Dilliard
Smith M Foller
Ricardo Y Figeroa
Octavia S Albares
Julie S Dilliard
Aika O Ostrosky
IdCountryDate
1000Italy2024-04-15
1001Spain2024-03-21
1002Canada2024-03-29
1003France2024-03-29
1004Italy2024-03-30
1005Italy2024-04-12
1006Italy2024-04-03
1007Canada2024-04-17
1008Germany2024-04-03
1009Argentina2024-03-30
1010Canada2024-04-01
1011Spain2024-04-01
1012Argentina2024-04-02
1013Canada2024-03-29
1014Australia2024-03-25
1015Spain2024-04-07
1016United Kingdom2024-03-20
1017Spain2024-04-11
1018United Kingdom2024-03-27
1019Australia2024-04-14
1020Japan2024-03-30
1021Argentina2024-03-31
1022France2024-03-25
1023Argentina2024-04-12
1024Russia2024-04-07
1025Italy2024-04-15
1026Canada2024-04-06
1027Japan2024-04-01
1028Australia2024-04-18
1029Germany2024-04-03
1030Spain2024-04-14
1031Russia2024-03-23
1032France2024-04-02
1033United Kingdom2024-03-28
1034Spain2024-04-05
1035India2024-04-04
1036France2024-04-15
1037Australia2024-04-08
1038Australia2024-04-09
1039Canada2024-04-10
1040Italy2024-04-14
1041Japan2024-04-09
1042Brazil2024-03-25
1043Argentina2024-04-12
1044Russia2024-03-22
1045India2024-04-14
1046Canada2024-04-09
1047India2024-04-14
1048Russia2024-04-02
1049India2024-03-28

On-Demand Data

NameIdCountryDate
Jefferson U Wieser1000Italy2024-03-28
Kadeem K Figeroa1001Australia2024-03-28
David P Royster1002Argentina2024-04-01
Leon A Caldarera1003Russia2024-03-23
James G Waycott1004Italy2024-04-11
Aditya O Shinko1005Russia2024-04-12
Leja I Albares1006Italy2024-04-16
Ivar L Chui1007Australia2024-03-29
Julie I Bolognia1008Brazil2024-03-31
Misaki R Shinko1009Italy2024-03-23
Johnson U Darakjy1010Argentina2024-03-30
Claire V Chui1011United Kingdom2024-03-24
David O Waycott1012Russia2024-04-13
Maria G Doe1013Canada2024-04-11
Clifford H Kolmetz1014United Kingdom2024-03-25
Morrow M Shinko1015Germany2024-03-31
Antonio K Nestle1016Brazil2024-04-01
Kadeem R Ferencz1017India2024-04-06
Johnson O Kusko1018Brazil2024-04-18
Kadeem Z Flosi1019Brazil2024-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco C RimIndiaBernardo Dominic RENEWAL
Kadeem W FollerUnited KingdomXuxue Feng RENEWAL
Johnson C SaylorsCanadaIoni Bowcher RENEWAL
Francesco I DoeSpainElwin Sharvill NEGOTIATION
Octavia I MaletRussiaBernardo Dominic PROPOSAL
Octavia O GauchoGermanyAnna Fali RENEWAL
Morrow M RimGermanyStephen Shaw RENEWAL
Clifford H DoeUnited KingdomOnyama Limba NEW
Leon I SaylorsSpainStephen Shaw UNQUALIFIED
Salvatore C NestleFranceIoni Bowcher UNQUALIFIED
Faith S DarakjyArgentinaXuxue Feng UNQUALIFIED
Kadeem S KuskoCanadaOnyama Limba UNQUALIFIED
Julie A KuskoFranceStephen Shaw NEGOTIATION
Smith Z PaprockiItalyXuxue Feng RENEWAL
Alejandro Y MarrierJapanElwin Sharvill UNQUALIFIED
Darci S ButtCanadaIvan Magalhaes UNQUALIFIED
Morrow Q BriddickCanadaXuxue Feng RENEWAL
Jefferson O MacleadUnited KingdomStephen Shaw NEGOTIATION
Clifford Z WaycottSpainAsiya Javayant PROPOSAL
Julie X GlickItalyAsiya Javayant QUALIFIED
Sinclair F RulapaughSpainStephen Shaw UNQUALIFIED
Jefferson A NickaRussiaIoni Bowcher NEGOTIATION
Sinclair Z StensethItalyXuxue Feng PROPOSAL
Aruna V OstroskyArgentinaBernardo Dominic RENEWAL
Emily X BowleyItalyXuxue Feng PROPOSAL
Morrow H KolmetzAustraliaStephen Shaw NEW
Jones U IturbideGermanyIoni Bowcher NEGOTIATION
Leon Z ShinkoUnited KingdomXuxue Feng QUALIFIED
Wickens K VenereFranceXuxue Feng PROPOSAL
Darci N FollerFranceOnyama Limba PROPOSAL
Jennifer S DoeSpainStephen Shaw QUALIFIED
Stacey Y DilliardCanadaOnyama Limba NEW
Faith D FerenczAustraliaAnna Fali QUALIFIED
Jennifer Z MaletJapanIoni Bowcher QUALIFIED
Ricardo F VocelkaArgentinaElwin Sharvill PROPOSAL
Ashley C RutaIndiaAsiya Javayant PROPOSAL
Kadeem I RutaGermanyIvan Magalhaes NEW
Claire Z VenereArgentinaOnyama Limba PROPOSAL
Silvio S VenereJapanXuxue Feng UNQUALIFIED
Jennifer G GillianIndiaOnyama Limba 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">
            <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>