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
Rodrigues Y RoysterIndiaElwin Sharvill RENEWAL
Nicolas T NestleBrazilAmy Elsner QUALIFIED
Munro Q BriddickBrazilXuxue Feng PROPOSAL
Aditya B PaprockiBrazilAsiya Javayant NEGOTIATION
Julie W ShinkoAustraliaAmy Elsner RENEWAL
Munro E WieserRussiaBernardo Dominic NEW
Ivar L AmigonGermanyAnna Fali UNQUALIFIED
Jennifer H GlickCanadaAmy Elsner PROPOSAL
Deepesh U SlusarskiSpainAsiya Javayant QUALIFIED
Adams I BowleyBrazilOnyama Limba UNQUALIFIED
Morrow N SchemmerGermanyAsiya Javayant NEGOTIATION
Nicolas X MaletJapanOnyama Limba UNQUALIFIED
Cody X TollnerIndiaBernardo Dominic RENEWAL
Chavez X KolmetzAustraliaBernardo Dominic UNQUALIFIED
Leon I GillianFranceIvan Magalhaes RENEWAL
Rodrigues B StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Leja G GillianAustraliaAnna Fali NEW
Ashley L CaudySpainBernardo Dominic RENEWAL
Aika U ChuiGermanyAnna Fali NEGOTIATION
Aika P GarufiAustraliaElwin Sharvill UNQUALIFIED
Maisha J SaylorsArgentinaStephen Shaw UNQUALIFIED
Jennifer V GauchoItalyAmy Elsner NEGOTIATION
Ricardo G SaylorsCanadaBernardo Dominic NEW
Costa N RutaCanadaIoni Bowcher NEW
Izzy C KuskoGermanyStephen Shaw PROPOSAL
Adams W MarrierRussiaIvan Magalhaes NEGOTIATION
Aditya Q WaycottIndiaIvan Magalhaes UNQUALIFIED
David Y PaprockiIndiaAsiya Javayant PROPOSAL
Aditya G PoquetteItalyIvan Magalhaes PROPOSAL
Silvio D MaletAustraliaXuxue Feng QUALIFIED
Aika O NickaArgentinaBernardo Dominic QUALIFIED
Rodrigues M WaycottArgentinaXuxue Feng UNQUALIFIED
Deepesh R TollnerItalyBernardo Dominic RENEWAL
Deepesh G TollnerCanadaAmy Elsner QUALIFIED
Ricardo G NestleIndiaIvan Magalhaes QUALIFIED
Aruna F GlickSpainAnna Fali RENEWAL
Aruna Z CaudyItalyIvan Magalhaes RENEWAL
Sinclair C MaletAustraliaIvan Magalhaes QUALIFIED
Juan Z StockhamGermanyIvan Magalhaes NEW
Salvatore C RutaItalyBernardo Dominic NEGOTIATION
Silvio Q SergiFranceBernardo Dominic PROPOSAL
Octavia I MaletUnited KingdomAsiya Javayant UNQUALIFIED
Morrow R InouyeRussiaElwin Sharvill NEW
Misaki Z ShinkoGermanyIvan Magalhaes NEGOTIATION
Antonio G OstroskyAustraliaBernardo Dominic RENEWAL
Stacey T RulapaughJapanElwin Sharvill UNQUALIFIED
Maisha V AmigonUnited KingdomStephen Shaw UNQUALIFIED
Claire A WhobreyCanadaIoni Bowcher NEW
Nicolas M CaudyAustraliaStephen Shaw NEGOTIATION
Tony G RimGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens Z AlbaresIndiaIoni Bowcher QUALIFIED
Mujtaba W FigeroaItalyIvan Magalhaes NEGOTIATION
Nicolas K TollnerArgentinaXuxue Feng PROPOSAL
Aika Q PoquetteJapanAsiya Javayant UNQUALIFIED
Johnson U SchemmerRussiaIoni Bowcher RENEWAL
Wickens E AmigonItalyStephen Shaw UNQUALIFIED
Isabel L ChuiFranceAnna Fali RENEWAL
Tony M KolmetzRussiaElwin Sharvill UNQUALIFIED
Munro S CaldareraCanadaOnyama Limba RENEWAL
Smith P DoeBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez G SlusarskiJapan2024-05-25Chanay, Jeffrey A Esq NEW12Ivan Magalhaes
1001Smith X OldroydRussia2024-05-28Dorl, James J Esq QUALIFIED86Ioni Bowcher
1002Darci R MorascaGermany2024-06-07Buckley Miller Wright UNQUALIFIED32Amy Elsner
1003Faith F KolmetzIndia2024-05-28Rangoni Of Florence UNQUALIFIED67Asiya Javayant
1004Munro N WaycottGermany2024-05-23Truhlar And Truhlar Attys UNQUALIFIED37Onyama Limba
1005Claire Y InouyeItaly2024-06-01Morlong Associates NEW52Bernardo Dominic
1006Deepesh X VocelkaBrazil2024-05-24Truhlar And Truhlar Attys PROPOSAL19Bernardo Dominic
1007Juan R NestleUnited Kingdom2024-05-31Feltz Printing Service NEW28Xuxue Feng
1008Maisha G KuskoJapan2024-06-05Feltz Printing Service PROPOSAL12Elwin Sharvill
1009Leja X MacleadArgentina2024-06-11Commercial Press NEGOTIATION19Asiya Javayant
1010Jones U GillianFrance2024-06-15Rousseaux, Michael Esq PROPOSAL25Ioni Bowcher
1011Aika R SaylorsArgentina2024-06-17Chanay, Jeffrey A Esq NEGOTIATION37Xuxue Feng
1012Juan L DarakjyCanada2024-06-05Printing Dimensions RENEWAL82Anna Fali
1013Izzy D InouyeGermany2024-06-07Printing Dimensions RENEWAL39Ioni Bowcher
1014Greenwood W StockhamIndia2024-06-03Printing Dimensions QUALIFIED55Ivan Magalhaes
1015Deepesh P NickaJapan2024-05-28Benton, John B Jr UNQUALIFIED65Bernardo Dominic
1016Ricardo Y WaycottAustralia2024-06-01Chapman, Ross E Esq NEW29Xuxue Feng
1017Silvio J MarrierBrazil2024-06-14Commercial Press NEW29Ioni Bowcher
1018Aditya W DilliardItaly2024-06-11Rangoni Of Florence NEW23Stephen Shaw
1019Darci Q DoeArgentina2024-06-13Chapman, Ross E Esq NEGOTIATION71Anna Fali
1020Cody J SlusarskiCanada2024-05-27Rousseaux, Michael Esq QUALIFIED68Anna Fali
1021Izzy A FigeroaBrazil2024-05-28Chapman, Ross E Esq RENEWAL50Anna Fali
1022Arvin Y WieserJapan2024-06-17Chapman, Ross E Esq UNQUALIFIED48Onyama Limba
1023Jefferson L IturbideRussia2024-05-27King, Christopher A Esq RENEWAL91Onyama Limba
1024Kadeem I GillianUnited Kingdom2024-06-12Truhlar And Truhlar Attys NEW40Asiya Javayant
1025Greenwood A StockhamCanada2024-06-17Rangoni Of Florence PROPOSAL57Elwin Sharvill
1026Greenwood F MacleadFrance2024-06-15Chapman, Ross E Esq PROPOSAL66Ioni Bowcher
1027Julie E DoeJapan2024-06-10Printing Dimensions NEGOTIATION65Ioni Bowcher
1028Julie F VenereArgentina2024-06-09Rousseaux, Michael Esq UNQUALIFIED86Stephen Shaw
1029Greenwood E FigeroaSpain2024-05-30Rousseaux, Michael Esq RENEWAL92Amy Elsner
1030Silvio N VocelkaJapan2024-06-11Commercial Press QUALIFIED82Xuxue Feng
1031Alejandro D SaylorsRussia2024-05-30Feltz Printing Service PROPOSAL94Anna Fali
1032David C BologniaSpain2024-05-31Commercial Press NEW90Amy Elsner
1033Emily B OldroydGermany2024-06-14Truhlar And Truhlar Attys NEGOTIATION98Anna Fali
1034Julie H FollerArgentina2024-05-27Rousseaux, Michael Esq PROPOSAL50Bernardo Dominic
1035Jefferson J FerenczJapan2024-06-13Commercial Press NEW12Xuxue Feng
1036Ivar B SergiArgentina2024-05-26Chapman, Ross E Esq QUALIFIED48Stephen Shaw
1037Arvin Z AmigonFrance2024-06-17Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1038Izzy K IturbideBrazil2024-06-15Rangoni Of Florence NEGOTIATION19Amy Elsner
1039Leja Y MarrierBrazil2024-05-28Chemel, James L Cpa PROPOSAL93Bernardo Dominic
1040Maisha G TollnerRussia2024-05-24Morlong Associates NEGOTIATION6Xuxue Feng
1041Adams Q NestleArgentina2024-05-30Dorl, James J Esq NEGOTIATION26Elwin Sharvill
1042Rodrigues R StensethUnited Kingdom2024-06-19Feltz Printing Service PROPOSAL68Ivan Magalhaes
1043Adams E MaletRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION30Xuxue Feng
1044David D CaldareraAustralia2024-06-01Benton, John B Jr UNQUALIFIED14Ivan Magalhaes
1045Maria C AlbaresJapan2024-06-15Benton, John B Jr QUALIFIED64Ivan Magalhaes
1046David G DilliardJapan2024-06-01Feiner Bros PROPOSAL48Onyama Limba
1047Cody F WieserGermany2024-05-25King, Christopher A Esq NEW2Ioni Bowcher
1048Darci L PaprockiUnited Kingdom2024-06-14Buckley Miller Wright NEW67Onyama Limba
1049Jennifer T IturbideIndia2024-06-01Commercial Press QUALIFIED55Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika Q VenereBrazilOnyama Limba RENEWAL
Tony N SchemmerAustraliaIoni Bowcher UNQUALIFIED
Deepesh P IturbideJapanIoni Bowcher PROPOSAL
Mujtaba Q MaletArgentinaBernardo Dominic QUALIFIED
Francesco P MaletArgentinaIvan Magalhaes QUALIFIED
Ricardo L CampainItalyAnna Fali RENEWAL
Salvatore U NickaFranceAmy Elsner NEW
Mayumi F RulapaughArgentinaOnyama Limba UNQUALIFIED
Sinclair L StockhamBrazilXuxue Feng UNQUALIFIED
Cody Z ButtRussiaElwin Sharvill NEGOTIATION
Claire F InouyeSpainAmy Elsner QUALIFIED
Arvin H DilliardJapanIvan Magalhaes NEW
Francesco V PaprockiFranceAmy Elsner QUALIFIED
James S DilliardJapanXuxue Feng NEGOTIATION
Munro G SaylorsUnited KingdomAnna Fali QUALIFIED
David O CampainItalyAsiya Javayant QUALIFIED
Julie Q KuskoAustraliaOnyama Limba PROPOSAL
Ivar A WieserAustraliaAsiya Javayant UNQUALIFIED
Tony T DarakjyArgentinaIoni Bowcher PROPOSAL
Jennifer N FerenczSpainOnyama Limba UNQUALIFIED
Wickens X CampainGermanyStephen Shaw QUALIFIED
David W RoysterGermanyIoni Bowcher QUALIFIED
Arvin L FlosiRussiaOnyama Limba NEW
Smith J SlusarskiRussiaIoni Bowcher RENEWAL
Deepesh E GauchoRussiaAmy Elsner UNQUALIFIED
Arvin J KuskoRussiaStephen Shaw RENEWAL
Arvin Y StensethItalyOnyama Limba NEGOTIATION
Alejandro V PoquetteCanadaXuxue Feng NEW
Sinclair G KuskoUnited KingdomStephen Shaw PROPOSAL
Antonio T RoysterUnited KingdomOnyama Limba QUALIFIED
Smith J NickaItalyXuxue Feng QUALIFIED
Morrow V GauchoGermanyAmy Elsner PROPOSAL
Jeanfrancois F VocelkaBrazilAnna Fali NEW
Jefferson B MaletUnited KingdomElwin Sharvill PROPOSAL
Francesco I MorascaBrazilOnyama Limba PROPOSAL
Aika R RimSpainOnyama Limba UNQUALIFIED
Alejandro P OldroydFranceBernardo Dominic NEGOTIATION
Darci D FlosiUnited KingdomAmy Elsner UNQUALIFIED
Arvin F BowleyRussiaAmy Elsner UNQUALIFIED
Ricardo M WhobreyAustraliaAsiya Javayant NEGOTIATION
Stacey G KolmetzUnited KingdomOnyama Limba RENEWAL
Claire O GillianArgentinaXuxue Feng PROPOSAL
Munro P PoquetteArgentinaAnna Fali UNQUALIFIED
Octavia S TollnerItalyIoni Bowcher NEW
Morrow U RimIndiaStephen Shaw QUALIFIED
Ashley B RulapaughBrazilBernardo Dominic QUALIFIED
Greenwood E SergiAustraliaAmy Elsner UNQUALIFIED
Arvin J MarrierCanadaXuxue Feng PROPOSAL
Leja D GauchoGermanyAmy Elsner NEGOTIATION
Johnson A OldroydUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Stacey W Shinko
Rodrigues M Shinko
Kadeem V Nicka
Mujtaba K Chui
Mujtaba N Paprocki
Claire H Gaucho
Claire X Rulapaugh
Adams T Kusko
Chavez Z Kusko
Ashley D Stenseth
Octavia X Vocelka
Antonio G Gillian
David Y Oldroyd
Silvio S Waycott
Tony M Chui
Izzy J Butt
Wickens P Rim
Adams D Kusko
Costa S Whobrey
Silvio K Saylors
Maisha D Maclead
Darci I Vocelka
Salvatore S Butt
Ivar G Kusko
Izzy Y Perin
Aditya H Caldarera
Tony C Slusarski
Clifford H Stockham
Mayumi S Gaucho
Stacey D Marrier
Clifford D Wieser
Kadeem K Inouye
Julie G Iturbide
Sinclair P Morasca
Clifford B Campain
Maisha Y Sergi
Leon R Ferencz
Octavia B Bowley
Ivar D Morasca
Maria A Perin
Tony X Malet
Maisha O Albares
Stacey S Morasca
Claire Q Rulapaugh
Munro C Paprocki
Sinclair D Saylors
Greenwood C Gaucho
Adams E Tollner
Maisha F Chui
Deepesh B Poquette
IdCountryDate
1000Spain2024-05-26
1001Russia2024-06-09
1002France2024-06-06
1003United Kingdom2024-05-26
1004Spain2024-06-07
1005Australia2024-05-24
1006Australia2024-06-19
1007France2024-05-23
1008United Kingdom2024-06-13
1009United Kingdom2024-06-06
1010Russia2024-05-30
1011India2024-06-21
1012Russia2024-06-19
1013Russia2024-06-02
1014Brazil2024-05-31
1015Italy2024-05-30
1016Germany2024-06-04
1017Brazil2024-06-09
1018Japan2024-06-01
1019Japan2024-05-27
1020Japan2024-05-29
1021Spain2024-06-10
1022India2024-06-09
1023Argentina2024-06-01
1024India2024-06-20
1025Germany2024-06-13
1026Russia2024-06-10
1027Germany2024-05-30
1028France2024-06-09
1029Canada2024-05-29
1030Russia2024-05-29
1031Canada2024-05-24
1032Argentina2024-05-24
1033France2024-06-15
1034Spain2024-06-04
1035India2024-06-01
1036Argentina2024-06-07
1037Spain2024-06-07
1038Argentina2024-06-08
1039Spain2024-06-01
1040Canada2024-06-14
1041Italy2024-06-20
1042Australia2024-06-12
1043Argentina2024-06-11
1044Brazil2024-06-19
1045Italy2024-06-19
1046France2024-06-07
1047Spain2024-06-05
1048Germany2024-06-12
1049United Kingdom2024-05-26

On-Demand Data

NameIdCountryDate
Isabel I Ostrosky1000Argentina2024-06-21
Izzy I Tollner1001Argentina2024-05-31
Leja V Malet1002France2024-05-24
Jeanfrancois W Maclead1003Germany2024-05-31
Kaitlin S Albares1004Canada2024-05-26
Costa D Malet1005Argentina2024-06-04
Ashley V Paprocki1006Russia2024-05-31
Costa Y Shinko1007Italy2024-06-09
Kaitlin L Poquette1008Germany2024-06-08
Julie T Venere1009India2024-06-17
Sinclair C Slusarski1010France2024-05-28
Johnson V Ferencz1011Spain2024-06-03
Antonio A Flosi1012Brazil2024-06-16
Maria R Stenseth1013India2024-06-20
Claire F Tollner1014Argentina2024-05-27
Maisha H Shinko1015France2024-06-11
David D Flosi1016United Kingdom2024-06-06
Claire L Ruta1017Canada2024-06-17
Cody X Albares1018India2024-05-30
Morrow H Figeroa1019Brazil2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X KolmetzCanadaAsiya Javayant RENEWAL
Claire K OldroydCanadaStephen Shaw NEGOTIATION
Francesco Q SlusarskiAustraliaXuxue Feng QUALIFIED
Jeanfrancois G MarrierAustraliaAsiya Javayant PROPOSAL
Aika C SchemmerCanadaOnyama Limba UNQUALIFIED
Nicolas S FigeroaGermanyAnna Fali PROPOSAL
Juan H SaylorsBrazilXuxue Feng RENEWAL
Tony N DarakjyBrazilAnna Fali NEGOTIATION
Mayumi N PaprockiUnited KingdomAmy Elsner QUALIFIED
Stacey W GarufiCanadaIoni Bowcher PROPOSAL
Maria J TollnerCanadaIvan Magalhaes UNQUALIFIED
Antonio F CampainGermanyAnna Fali UNQUALIFIED
Jennifer K WhobreyCanadaOnyama Limba UNQUALIFIED
Ashley P VenereRussiaOnyama Limba NEGOTIATION
Leon G NestleAustraliaAsiya Javayant UNQUALIFIED
Ivar R NickaJapanOnyama Limba PROPOSAL
Jeanfrancois W PerinFranceAnna Fali RENEWAL
Ashley T GlickRussiaOnyama Limba NEW
Izzy O VocelkaJapanXuxue Feng NEW
Misaki R FlosiJapanOnyama Limba QUALIFIED
Greenwood R VenereRussiaAmy Elsner RENEWAL
Izzy E SaylorsJapanXuxue Feng RENEWAL
Greenwood O NestleUnited KingdomStephen Shaw PROPOSAL
Maisha O CampainAustraliaIvan Magalhaes QUALIFIED
Salvatore P ButtFranceBernardo Dominic NEGOTIATION
Deepesh S CaldareraAustraliaIvan Magalhaes QUALIFIED
Murillo H RutaCanadaBernardo Dominic QUALIFIED
Ricardo M FerenczAustraliaAnna Fali NEW
Faith J CaudyJapanAmy Elsner QUALIFIED
James H CaldareraArgentinaAmy Elsner PROPOSAL
Ivar Y RoysterArgentinaStephen Shaw QUALIFIED
Greenwood K StockhamGermanyBernardo Dominic QUALIFIED
Stacey Y FerenczFranceAsiya Javayant NEW
Alejandro I IturbideBrazilAmy Elsner PROPOSAL
Octavia J StockhamJapanBernardo Dominic QUALIFIED
Jeanfrancois B SlusarskiGermanyBernardo Dominic NEW
Kadeem N GauchoCanadaAnna Fali QUALIFIED
James O IturbideAustraliaElwin Sharvill UNQUALIFIED
Darci L SlusarskiCanadaElwin Sharvill RENEWAL
James T PoquetteBrazilStephen Shaw 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>