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

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

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 G OstroskyRussiaXuxue Feng NEGOTIATION
Claire U ChuiJapanAsiya Javayant NEGOTIATION
Costa K BowleySpainIvan Magalhaes RENEWAL
Jeanfrancois L KuskoSpainStephen Shaw UNQUALIFIED
Salvatore W FlosiFranceElwin Sharvill PROPOSAL
Ricardo R MarrierItalyAnna Fali NEW
Francesco R DarakjyCanadaElwin Sharvill PROPOSAL
Izzy S CampainGermanyAmy Elsner QUALIFIED
Wickens B VenereUnited KingdomXuxue Feng NEGOTIATION
Kadeem H AlbaresRussiaAsiya Javayant QUALIFIED
Clifford K OldroydItalyAnna Fali QUALIFIED
Mujtaba U DarakjySpainAsiya Javayant PROPOSAL
David H VocelkaUnited KingdomIoni Bowcher RENEWAL
Jennifer N KuskoCanadaAmy Elsner UNQUALIFIED
Octavia Q InouyeBrazilBernardo Dominic NEGOTIATION
Jennifer G DoeSpainAmy Elsner RENEWAL
Murillo X BowleySpainAmy Elsner NEW
Jeanfrancois Z StockhamArgentinaIoni Bowcher RENEWAL
Kaitlin W BologniaJapanBernardo Dominic PROPOSAL
Costa M StensethItalyIoni Bowcher RENEWAL
Munro M FlosiFranceOnyama Limba QUALIFIED
Aditya V MarrierFranceIvan Magalhaes UNQUALIFIED
James I DoeRussiaIvan Magalhaes NEW
Kaitlin H PerinIndiaXuxue Feng NEW
Maisha O FerenczAustraliaElwin Sharvill PROPOSAL
Nicolas W CaldareraGermanyAsiya Javayant RENEWAL
Costa Y OldroydRussiaIoni Bowcher QUALIFIED
Aika M BriddickSpainIvan Magalhaes RENEWAL
Morrow S InouyeCanadaAmy Elsner QUALIFIED
Maria L MacleadGermanyElwin Sharvill UNQUALIFIED
Wickens F CampainUnited KingdomAnna Fali NEGOTIATION
Aditya U FerenczIndiaElwin Sharvill RENEWAL
Stacey S BriddickRussiaAmy Elsner RENEWAL
Kadeem J PerinAustraliaXuxue Feng PROPOSAL
Johnson N AlbaresBrazilXuxue Feng NEGOTIATION
Leja O BologniaItalyBernardo Dominic UNQUALIFIED
Darci T InouyeJapanIvan Magalhaes UNQUALIFIED
Maria U ChuiSpainAnna Fali NEW
Mayumi X WieserBrazilIoni Bowcher RENEWAL
Jeanfrancois R BowleyCanadaXuxue Feng NEW
Julie N BriddickIndiaElwin Sharvill NEW
Murillo O PaprockiIndiaXuxue Feng QUALIFIED
Kadeem X WieserArgentinaIvan Magalhaes RENEWAL
Octavia N FerenczSpainOnyama Limba QUALIFIED
Jefferson M InouyeIndiaAnna Fali UNQUALIFIED
Mayumi S BologniaAustraliaAmy Elsner NEW
Aruna E InouyeIndiaElwin Sharvill QUALIFIED
Munro O NestleFranceAsiya Javayant NEGOTIATION
Ricardo M MacleadArgentinaIoni Bowcher PROPOSAL
Ashley R CaudyCanadaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore C GillianBrazilAmy Elsner UNQUALIFIED
Tony Q CaldareraIndiaBernardo Dominic QUALIFIED
Wickens F VenereAustraliaAmy Elsner NEGOTIATION
David B DoeUnited KingdomIoni Bowcher UNQUALIFIED
Arvin W GarufiUnited KingdomXuxue Feng RENEWAL
Maisha T DarakjySpainXuxue Feng NEW
Munro Q BriddickIndiaIvan Magalhaes NEW
Emily E FigeroaBrazilOnyama Limba NEGOTIATION
Juan U VenereAustraliaStephen Shaw NEGOTIATION
Julie I GarufiArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U MaletArgentina2024-06-10Feiner Bros NEGOTIATION1Anna Fali
1001Jefferson J TollnerUnited Kingdom2024-05-27Feltz Printing Service PROPOSAL31Asiya Javayant
1002Julie K BowleyIndia2024-06-06Rangoni Of Florence PROPOSAL38Amy Elsner
1003Izzy O SaylorsGermany2024-06-11Morlong Associates NEW21Onyama Limba
1004Aika P FollerAustralia2024-05-28Rangoni Of Florence NEGOTIATION7Amy Elsner
1005Francesco I RulapaughUnited Kingdom2024-05-24Feltz Printing Service NEGOTIATION98Bernardo Dominic
1006Clifford Q WhobreyIndia2024-05-17Morlong Associates PROPOSAL35Amy Elsner
1007Ashley E MaletJapan2024-05-19Chanay, Jeffrey A Esq NEGOTIATION9Asiya Javayant
1008Leja D DilliardIndia2024-05-22Morlong Associates QUALIFIED53Amy Elsner
1009Tony T WhobreyUnited Kingdom2024-06-03Printing Dimensions NEGOTIATION60Onyama Limba
1010Izzy A SlusarskiBrazil2024-05-25Feiner Bros QUALIFIED29Elwin Sharvill
1011Deepesh O PoquetteRussia2024-05-16Rousseaux, Michael Esq PROPOSAL68Ioni Bowcher
1012Isabel L MarrierBrazil2024-05-15Benton, John B Jr QUALIFIED98Stephen Shaw
1013Munro S RoysterArgentina2024-05-27Buckley Miller Wright NEW4Stephen Shaw
1014Leon E ShinkoFrance2024-06-09Morlong Associates PROPOSAL94Ivan Magalhaes
1015Adams O PoquetteGermany2024-06-06Rousseaux, Michael Esq NEW53Onyama Limba
1016Ricardo X MaletUnited Kingdom2024-06-05Truhlar And Truhlar Attys NEGOTIATION36Asiya Javayant
1017Alejandro L MarrierGermany2024-05-16Dorl, James J Esq QUALIFIED70Onyama Limba
1018Johnson A StensethBrazil2024-06-13Truhlar And Truhlar Attys NEW44Xuxue Feng
1019Leon S DilliardRussia2024-06-08Commercial Press PROPOSAL78Xuxue Feng
1020Octavia P DilliardFrance2024-05-23Benton, John B Jr QUALIFIED79Onyama Limba
1021Clifford H SchemmerAustralia2024-06-12Rangoni Of Florence NEW25Onyama Limba
1022Murillo F RulapaughUnited Kingdom2024-05-26Chemel, James L Cpa QUALIFIED49Asiya Javayant
1023Maisha F StockhamIndia2024-05-21Rousseaux, Michael Esq NEW33Stephen Shaw
1024Maria W StockhamJapan2024-06-08Truhlar And Truhlar Attys NEGOTIATION7Bernardo Dominic
1025Ivar V DarakjyBrazil2024-05-18Printing Dimensions NEW25Asiya Javayant
1026Julie D ChuiCanada2024-06-10Rangoni Of Florence NEW63Asiya Javayant
1027Mayumi H PoquetteSpain2024-06-01Feiner Bros NEGOTIATION56Anna Fali
1028Francesco U MaletFrance2024-06-07Morlong Associates NEGOTIATION66Anna Fali
1029Sinclair E ChuiBrazil2024-05-31Feiner Bros QUALIFIED50Elwin Sharvill
1030Chavez V VocelkaBrazil2024-06-13Rousseaux, Michael Esq NEW23Stephen Shaw
1031Johnson S MaletUnited Kingdom2024-06-12Buckley Miller Wright RENEWAL60Xuxue Feng
1032Jennifer X GillianRussia2024-05-19Feltz Printing Service NEGOTIATION56Amy Elsner
1033Antonio J MacleadItaly2024-05-20Truhlar And Truhlar Attys PROPOSAL18Asiya Javayant
1034Silvio E CaudyRussia2024-05-28Chanay, Jeffrey A Esq RENEWAL42Xuxue Feng
1035Francesco U ButtGermany2024-06-12Commercial Press NEGOTIATION91Elwin Sharvill
1036Munro F CaldareraRussia2024-06-08Dorl, James J Esq NEW48Ioni Bowcher
1037Jones O AmigonSpain2024-06-08Feltz Printing Service RENEWAL79Onyama Limba
1038Rodrigues E RimSpain2024-06-06Buckley Miller Wright PROPOSAL78Anna Fali
1039Jeanfrancois O OstroskyUnited Kingdom2024-06-09Dorl, James J Esq RENEWAL70Ioni Bowcher
1040Aika J VocelkaGermany2024-05-25Feiner Bros NEW50Stephen Shaw
1041Juan D SaylorsItaly2024-06-09Buckley Miller Wright NEGOTIATION14Anna Fali
1042Tony V ButtGermany2024-06-01King, Christopher A Esq PROPOSAL80Amy Elsner
1043Maisha O RutaUnited Kingdom2024-06-09Feltz Printing Service NEGOTIATION67Bernardo Dominic
1044Rodrigues H PerinIndia2024-06-09Feiner Bros QUALIFIED30Asiya Javayant
1045Kadeem F SlusarskiBrazil2024-05-21Chapman, Ross E Esq UNQUALIFIED64Anna Fali
1046James Z GarufiUnited Kingdom2024-05-17Rousseaux, Michael Esq NEGOTIATION16Ioni Bowcher
1047Leon J SergiArgentina2024-06-11Rousseaux, Michael Esq NEW4Asiya Javayant
1048Tony M BowleyCanada2024-05-30Chanay, Jeffrey A Esq RENEWAL52Asiya Javayant
1049Stacey L WaycottFrance2024-05-23Commercial Press PROPOSAL66Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey X RutaGermanyAsiya Javayant QUALIFIED
Rodrigues E PaprockiSpainAnna Fali NEGOTIATION
James L MaletIndiaAnna Fali NEGOTIATION
Francesco E RulapaughItalyAsiya Javayant QUALIFIED
Maria C RimBrazilAnna Fali RENEWAL
Isabel I NestleCanadaBernardo Dominic QUALIFIED
Aika U StensethJapanElwin Sharvill QUALIFIED
Misaki U StockhamUnited KingdomStephen Shaw QUALIFIED
Francesco Y SaylorsArgentinaBernardo Dominic NEW
Claire X RimIndiaOnyama Limba NEGOTIATION
Silvio G RutaUnited KingdomElwin Sharvill UNQUALIFIED
Johnson W RutaIndiaOnyama Limba PROPOSAL
Rodrigues H MaletCanadaIoni Bowcher UNQUALIFIED
Aika S BriddickFranceAmy Elsner NEW
Ashley B SergiAustraliaAmy Elsner PROPOSAL
Leja V MorascaAustraliaAsiya Javayant UNQUALIFIED
Silvio E CaudyFranceElwin Sharvill PROPOSAL
Jones D SlusarskiBrazilOnyama Limba NEGOTIATION
Faith K VocelkaArgentinaXuxue Feng UNQUALIFIED
Octavia B ShinkoFranceStephen Shaw NEW
Francesco U SaylorsItalyIvan Magalhaes NEGOTIATION
Deepesh G PoquetteSpainIvan Magalhaes NEW
Octavia Q CaldareraFranceXuxue Feng NEGOTIATION
Smith K StensethItalyIvan Magalhaes RENEWAL
Antonio Z SlusarskiJapanAsiya Javayant PROPOSAL
Isabel C TollnerGermanyIoni Bowcher NEW
Smith H RutaFranceStephen Shaw QUALIFIED
Deepesh K WaycottIndiaAnna Fali NEW
Johnson W ShinkoFranceOnyama Limba UNQUALIFIED
Aika G GillianIndiaElwin Sharvill QUALIFIED
Juan Y SergiIndiaIvan Magalhaes NEGOTIATION
Leon G InouyeFranceAnna Fali NEW
Jennifer W ChuiGermanyIvan Magalhaes QUALIFIED
Salvatore N CampainAustraliaIvan Magalhaes RENEWAL
Mayumi Q SaylorsCanadaAnna Fali RENEWAL
Kadeem U WhobreyItalyAmy Elsner UNQUALIFIED
Maisha J MarrierAustraliaAmy Elsner QUALIFIED
Murillo Y MaletAustraliaBernardo Dominic NEGOTIATION
Munro A PerinUnited KingdomAnna Fali UNQUALIFIED
Aditya N NickaIndiaIoni Bowcher UNQUALIFIED
Kaitlin B SlusarskiItalyBernardo Dominic NEW
Morrow C ChuiUnited KingdomBernardo Dominic NEW
Kaitlin E SlusarskiIndiaElwin Sharvill PROPOSAL
Morrow S ButtBrazilBernardo Dominic QUALIFIED
James U SaylorsAustraliaAsiya Javayant QUALIFIED
Claire K WaycottJapanBernardo Dominic NEW
Misaki W BologniaArgentinaXuxue Feng UNQUALIFIED
Isabel D NestleSpainStephen Shaw QUALIFIED
Chavez C OldroydSpainAmy Elsner NEGOTIATION
Costa S DilliardIndiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Deepesh C Royster
Costa B Ostrosky
Faith Q Whobrey
Darci C Saylors
Jennifer R Vocelka
Ricardo J Garufi
Aika K Kusko
Mayumi F Malet
Claire X Poquette
Mujtaba Z Briddick
Claire V Stenseth
Antonio O Saylors
Murillo K Poquette
Jefferson C Rulapaugh
Aika F Darakjy
Alejandro B Poquette
James I Slusarski
Kadeem F Rulapaugh
Mayumi P Rulapaugh
Leon Q Campain
Leon K Nicka
Tony L Bolognia
Leon W Figeroa
Greenwood X Chui
Kaitlin Y Campain
Costa P Shinko
Ricardo A Malet
Emily K Rim
Jones B Bowley
Francesco X Gillian
Cody D Paprocki
Francesco T Inouye
Emily J Figeroa
Izzy E Ruta
James K Garufi
Silvio J Shinko
Kaitlin G Slusarski
Kadeem K Iturbide
Jones H Foller
Maria E Caldarera
Aditya Q Kolmetz
Aditya X Inouye
Jones E Stenseth
Murillo P Saylors
Nicolas J Kusko
Ivar E Doe
Leon C Saylors
Maria Z Campain
Misaki J Waycott
Tony T Schemmer
IdCountryDate
1000Brazil2024-05-28
1001India2024-06-08
1002Russia2024-05-19
1003Canada2024-05-19
1004Italy2024-05-24
1005Australia2024-05-26
1006Brazil2024-05-17
1007Germany2024-06-10
1008Brazil2024-05-26
1009Canada2024-05-28
1010Spain2024-06-13
1011France2024-06-02
1012India2024-05-18
1013Italy2024-05-19
1014France2024-05-20
1015Germany2024-05-30
1016Germany2024-05-25
1017Australia2024-06-05
1018France2024-06-08
1019Germany2024-06-04
1020Italy2024-05-22
1021Australia2024-06-02
1022Germany2024-05-30
1023Canada2024-05-18
1024Russia2024-06-10
1025India2024-05-25
1026Japan2024-05-21
1027Italy2024-05-19
1028Spain2024-05-24
1029Brazil2024-05-20
1030France2024-06-02
1031United Kingdom2024-06-10
1032Italy2024-05-27
1033United Kingdom2024-05-18
1034Spain2024-06-05
1035Brazil2024-05-18
1036Brazil2024-05-20
1037Spain2024-05-16
1038France2024-05-17
1039Canada2024-05-22
1040Japan2024-05-28
1041Russia2024-06-07
1042Spain2024-06-01
1043Canada2024-06-12
1044France2024-06-05
1045Italy2024-05-31
1046India2024-06-07
1047Germany2024-05-29
1048Russia2024-06-08
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Nicolas X Foller1000Canada2024-05-21
Faith O Inouye1001Italy2024-05-28
Murillo I Briddick1002Japan2024-05-16
Clifford P Royster1003Argentina2024-05-19
Munro U Albares1004Argentina2024-05-26
Kaitlin T Kolmetz1005Argentina2024-05-27
Chavez T Saylors1006Russia2024-05-30
Alejandro G Kolmetz1007United Kingdom2024-05-22
Kaitlin U Nicka1008Argentina2024-06-03
Francesco G Doe1009Germany2024-05-24
Misaki X Gaucho1010Brazil2024-06-07
Cody D Morasca1011United Kingdom2024-06-08
Juan Z Rulapaugh1012Russia2024-05-20
Claire G Perin1013Germany2024-06-03
Arvin A Briddick1014Brazil2024-05-23
Isabel S Shinko1015India2024-05-28
Izzy L Foller1016France2024-06-09
Antonio M Inouye1017Australia2024-05-21
Stacey D Caldarera1018Argentina2024-05-27
Aruna P Dilliard1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi X CaldareraJapanXuxue Feng NEGOTIATION
Salvatore T RutaIndiaXuxue Feng QUALIFIED
Julie E GillianAustraliaAmy Elsner NEW
Alejandro S RoysterUnited KingdomXuxue Feng PROPOSAL
Kaitlin G TollnerFranceXuxue Feng NEGOTIATION
James S NickaCanadaIvan Magalhaes QUALIFIED
Adams V MorascaGermanyXuxue Feng QUALIFIED
Kadeem D SlusarskiFranceBernardo Dominic NEW
Claire T RimArgentinaAsiya Javayant NEGOTIATION
Darci N StockhamArgentinaAnna Fali QUALIFIED
David G MorascaIndiaStephen Shaw QUALIFIED
Chavez Z BologniaArgentinaIoni Bowcher PROPOSAL
Faith N OstroskyAustraliaIvan Magalhaes PROPOSAL
Jones A SchemmerBrazilElwin Sharvill RENEWAL
Darci C MaletUnited KingdomIoni Bowcher QUALIFIED
Rodrigues O MaletUnited KingdomIvan Magalhaes NEGOTIATION
Octavia B MaletAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba T AlbaresItalyIvan Magalhaes PROPOSAL
Octavia E AmigonAustraliaIvan Magalhaes NEGOTIATION
Faith Z NestleUnited KingdomIoni Bowcher PROPOSAL
Johnson S WaycottJapanElwin Sharvill QUALIFIED
Jennifer V SchemmerIndiaElwin Sharvill PROPOSAL
Juan L BriddickRussiaIoni Bowcher PROPOSAL
James L MacleadCanadaIoni Bowcher PROPOSAL
Stacey O CaudyRussiaAmy Elsner NEGOTIATION
Izzy A DilliardItalyIvan Magalhaes QUALIFIED
Morrow P SergiBrazilIvan Magalhaes UNQUALIFIED
Arvin W ShinkoGermanyAmy Elsner QUALIFIED
Sinclair V SaylorsFranceAmy Elsner NEGOTIATION
David T VocelkaGermanyIvan Magalhaes PROPOSAL
Wickens E DoeFranceIoni Bowcher NEGOTIATION
Leon W WhobreyArgentinaIvan Magalhaes PROPOSAL
Juan G FollerRussiaStephen Shaw RENEWAL
Jones C KuskoRussiaXuxue Feng NEW
James M PaprockiIndiaIvan Magalhaes RENEWAL
Misaki P VocelkaFranceAmy Elsner NEGOTIATION
Mayumi A CaldareraFranceIoni Bowcher NEGOTIATION
Chavez S GillianCanadaBernardo Dominic PROPOSAL
Alejandro B SchemmerSpainIvan Magalhaes QUALIFIED
Chavez P RoysterJapanIoni Bowcher UNQUALIFIED

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