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
Arvin L CaudyArgentinaAmy Elsner RENEWAL
Aika J RutaUnited KingdomAmy Elsner NEW
Jones T FollerCanadaIvan Magalhaes NEGOTIATION
Morrow W MaletUnited KingdomIoni Bowcher RENEWAL
Ivar Q VenereIndiaOnyama Limba NEW
Francesco J FollerAustraliaAmy Elsner UNQUALIFIED
Misaki B BowleyFranceXuxue Feng QUALIFIED
Kaitlin W NestleItalyAnna Fali NEW
Izzy V ChuiArgentinaAsiya Javayant NEW
Johnson W ButtCanadaAnna Fali QUALIFIED
Juan Y BologniaItalyAnna Fali UNQUALIFIED
Antonio A FerenczJapanAsiya Javayant NEW
Aditya N FigeroaGermanyXuxue Feng QUALIFIED
Julie T KolmetzSpainElwin Sharvill PROPOSAL
Rodrigues J MorascaGermanyOnyama Limba PROPOSAL
Morrow Q StockhamGermanyBernardo Dominic RENEWAL
Murillo F SaylorsCanadaElwin Sharvill NEGOTIATION
Adams H MaletUnited KingdomStephen Shaw QUALIFIED
Jefferson S VenereAustraliaAmy Elsner UNQUALIFIED
David V RutaFranceOnyama Limba NEW
Stacey N StensethAustraliaElwin Sharvill NEW
Clifford W CaldareraCanadaBernardo Dominic QUALIFIED
Alejandro C FigeroaAustraliaIoni Bowcher UNQUALIFIED
Aika M SlusarskiIndiaAsiya Javayant PROPOSAL
Aika P PoquetteRussiaAnna Fali QUALIFIED
Sinclair O WhobreyJapanStephen Shaw NEGOTIATION
Johnson Y GlickSpainIoni Bowcher NEGOTIATION
Munro Q ChuiArgentinaIvan Magalhaes PROPOSAL
Julie I MaletItalyXuxue Feng PROPOSAL
Juan S VenereIndiaElwin Sharvill QUALIFIED
Leja Y NickaIndiaIvan Magalhaes NEW
Juan A BriddickGermanyStephen Shaw QUALIFIED
Adams N OldroydRussiaElwin Sharvill QUALIFIED
Costa Q RimFranceXuxue Feng PROPOSAL
Arvin M RoysterItalyIoni Bowcher RENEWAL
Murillo P KolmetzBrazilElwin Sharvill UNQUALIFIED
Deepesh C KuskoBrazilIvan Magalhaes QUALIFIED
Sinclair L OstroskyRussiaOnyama Limba NEW
Ivar N RutaBrazilOnyama Limba NEW
Izzy L StockhamFranceXuxue Feng RENEWAL
Misaki H OstroskyArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois X FerenczUnited KingdomBernardo Dominic NEW
Aika B MaletUnited KingdomAnna Fali QUALIFIED
Claire S MaletIndiaBernardo Dominic NEW
Nicolas W CaldareraBrazilAnna Fali NEW
Arvin P SaylorsAustraliaXuxue Feng NEGOTIATION
Francesco S RulapaughRussiaAmy Elsner NEGOTIATION
Izzy N MarrierAustraliaAsiya Javayant PROPOSAL
Octavia G SergiAustraliaAnna Fali UNQUALIFIED
Kaitlin G PerinCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin Q SergiIndiaIoni Bowcher NEGOTIATION
Emily H FlosiIndiaStephen Shaw RENEWAL
Aika C WieserBrazilElwin Sharvill NEW
Maisha J DilliardArgentinaXuxue Feng RENEWAL
Deepesh K GauchoBrazilAnna Fali PROPOSAL
Cody C AmigonSpainElwin Sharvill QUALIFIED
Rodrigues Q GlickSpainOnyama Limba RENEWAL
Emily S MorascaAustraliaAnna Fali RENEWAL
Misaki C FerenczBrazilIoni Bowcher RENEWAL
Izzy W BologniaAustraliaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia S SchemmerFrance2024-05-25Rangoni Of Florence NEGOTIATION94Elwin Sharvill
1001Leon I WaycottFrance2024-05-31Chemel, James L Cpa NEW38Amy Elsner
1002Julie S FlosiJapan2024-06-22Benton, John B Jr PROPOSAL11Ivan Magalhaes
1003Francesco T ChuiUnited Kingdom2024-06-15Feiner Bros NEGOTIATION54Ioni Bowcher
1004Mujtaba D AlbaresRussia2024-05-27Printing Dimensions UNQUALIFIED71Xuxue Feng
1005Kaitlin Z SergiJapan2024-06-14Rangoni Of Florence PROPOSAL31Xuxue Feng
1006Jones S SaylorsUnited Kingdom2024-06-22King, Christopher A Esq NEGOTIATION6Ivan Magalhaes
1007Ashley M OldroydGermany2024-06-14Rangoni Of Florence PROPOSAL86Asiya Javayant
1008Wickens S WhobreyItaly2024-06-18King, Christopher A Esq RENEWAL83Ioni Bowcher
1009Clifford X RutaUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION37Ioni Bowcher
1010Jeanfrancois H WieserIndia2024-06-06Chanay, Jeffrey A Esq RENEWAL70Stephen Shaw
1011Aika B CaldareraFrance2024-05-27Commercial Press UNQUALIFIED55Amy Elsner
1012Sinclair N WieserFrance2024-06-22Truhlar And Truhlar Attys QUALIFIED8Ivan Magalhaes
1013Aditya P SlusarskiGermany2024-06-17Chapman, Ross E Esq PROPOSAL80Stephen Shaw
1014Clifford A StockhamIndia2024-06-14Chemel, James L Cpa PROPOSAL31Ivan Magalhaes
1015Maria K SlusarskiItaly2024-05-29Rousseaux, Michael Esq QUALIFIED79Ivan Magalhaes
1016Mayumi O MacleadSpain2024-05-24Rousseaux, Michael Esq NEGOTIATION52Stephen Shaw
1017Jeanfrancois V PerinBrazil2024-06-12Truhlar And Truhlar Attys UNQUALIFIED21Ivan Magalhaes
1018Wickens H ChuiRussia2024-06-14King, Christopher A Esq QUALIFIED7Amy Elsner
1019Jefferson W RoysterRussia2024-06-13Chemel, James L Cpa PROPOSAL48Anna Fali
1020Munro K NickaJapan2024-06-18Feltz Printing Service PROPOSAL75Onyama Limba
1021Jeanfrancois S WhobreyIndia2024-06-12Dorl, James J Esq QUALIFIED16Ivan Magalhaes
1022Leja W FigeroaGermany2024-05-26Benton, John B Jr QUALIFIED58Ivan Magalhaes
1023Leon K SchemmerUnited Kingdom2024-06-10Chapman, Ross E Esq NEGOTIATION87Ivan Magalhaes
1024David B DarakjyRussia2024-05-30Chapman, Ross E Esq NEW6Elwin Sharvill
1025Juan D VocelkaAustralia2024-06-13Morlong Associates NEW72Elwin Sharvill
1026Kadeem X SergiIndia2024-06-05Truhlar And Truhlar Attys RENEWAL7Asiya Javayant
1027Maisha G CaldareraRussia2024-06-19Rangoni Of Florence PROPOSAL29Bernardo Dominic
1028Rodrigues Y MaletBrazil2024-06-13Rousseaux, Michael Esq UNQUALIFIED20Stephen Shaw
1029Maisha K InouyeAustralia2024-06-11Dorl, James J Esq RENEWAL4Xuxue Feng
1030Misaki K StensethSpain2024-06-19Chapman, Ross E Esq NEW36Asiya Javayant
1031Stacey N NickaJapan2024-05-29Morlong Associates RENEWAL80Anna Fali
1032Cody H FollerFrance2024-06-08Feiner Bros QUALIFIED13Stephen Shaw
1033Chavez G MarrierArgentina2024-06-08King, Christopher A Esq QUALIFIED12Ioni Bowcher
1034Arvin M MacleadSpain2024-06-03Commercial Press PROPOSAL37Bernardo Dominic
1035Tony L NestleIndia2024-05-29Morlong Associates QUALIFIED94Onyama Limba
1036Maisha E DarakjyCanada2024-06-07Printing Dimensions QUALIFIED68Stephen Shaw
1037Ricardo D SergiUnited Kingdom2024-06-20Benton, John B Jr NEGOTIATION58Elwin Sharvill
1038Morrow T BowleyRussia2024-05-29Commercial Press RENEWAL96Stephen Shaw
1039Aika X PerinCanada2024-06-03Rangoni Of Florence NEW48Xuxue Feng
1040Mujtaba T MorascaItaly2024-05-26Chemel, James L Cpa NEW35Anna Fali
1041Alejandro O OldroydCanada2024-06-15Printing Dimensions RENEWAL29Elwin Sharvill
1042Aruna A ButtCanada2024-06-07Truhlar And Truhlar Attys PROPOSAL17Onyama Limba
1043Deepesh C DilliardCanada2024-06-13King, Christopher A Esq NEW73Ioni Bowcher
1044Izzy Y StockhamRussia2024-06-01Chanay, Jeffrey A Esq NEW44Ivan Magalhaes
1045Jennifer C ChuiBrazil2024-06-12Chemel, James L Cpa PROPOSAL68Ivan Magalhaes
1046Silvio T RulapaughRussia2024-05-25Morlong Associates NEW97Onyama Limba
1047Wickens Y FollerGermany2024-05-27Dorl, James J Esq NEW20Xuxue Feng
1048Silvio T BriddickAustralia2024-06-08Feiner Bros NEGOTIATION39Onyama Limba
1049Alejandro V CampainGermany2024-06-15Chapman, Ross E Esq NEW40Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow M WhobreyArgentinaXuxue Feng NEW
Maisha N AmigonFranceXuxue Feng PROPOSAL
Clifford J PaprockiBrazilIoni Bowcher PROPOSAL
Costa S GarufiArgentinaIvan Magalhaes UNQUALIFIED
Claire X FerenczJapanIoni Bowcher NEW
Silvio H DarakjyGermanyIoni Bowcher PROPOSAL
Murillo R SchemmerArgentinaIvan Magalhaes NEW
Munro U WaycottJapanXuxue Feng NEGOTIATION
Aditya L DarakjyAustraliaOnyama Limba PROPOSAL
Misaki I ButtIndiaIvan Magalhaes NEGOTIATION
Juan P BologniaFranceAnna Fali RENEWAL
Ricardo T BriddickCanadaBernardo Dominic NEW
Murillo J CaudyIndiaStephen Shaw RENEWAL
Alejandro B GillianRussiaBernardo Dominic RENEWAL
Isabel L ShinkoBrazilXuxue Feng UNQUALIFIED
James S GarufiGermanyElwin Sharvill UNQUALIFIED
Julie W MaletBrazilIvan Magalhaes NEGOTIATION
Smith Q WieserGermanyAsiya Javayant PROPOSAL
Isabel N RoysterRussiaElwin Sharvill RENEWAL
Leon X KuskoGermanyIvan Magalhaes QUALIFIED
Misaki C WaycottUnited KingdomIvan Magalhaes PROPOSAL
Emily D ShinkoUnited KingdomAnna Fali NEGOTIATION
Leja X SaylorsIndiaIoni Bowcher QUALIFIED
Adams M ChuiSpainIoni Bowcher RENEWAL
Emily Q FollerArgentinaIvan Magalhaes UNQUALIFIED
Antonio Q KuskoArgentinaBernardo Dominic RENEWAL
Ashley C RutaUnited KingdomAsiya Javayant NEW
Isabel M CaudyUnited KingdomBernardo Dominic RENEWAL
Jones N InouyeCanadaIoni Bowcher RENEWAL
Johnson A MorascaCanadaElwin Sharvill QUALIFIED
Juan N BriddickAustraliaXuxue Feng PROPOSAL
Aika Y FlosiCanadaIvan Magalhaes PROPOSAL
Silvio Q DilliardCanadaIoni Bowcher RENEWAL
Kaitlin R DilliardSpainAsiya Javayant PROPOSAL
Juan Z DoeUnited KingdomIvan Magalhaes NEGOTIATION
Izzy K CampainSpainOnyama Limba UNQUALIFIED
Nicolas U OldroydArgentinaAmy Elsner RENEWAL
Tony Q OldroydIndiaAsiya Javayant NEGOTIATION
Aruna L InouyeGermanyIvan Magalhaes NEGOTIATION
Cody C PerinJapanAsiya Javayant QUALIFIED
Aruna R BologniaIndiaAsiya Javayant NEGOTIATION
Alejandro F FollerJapanBernardo Dominic NEW
Wickens D FigeroaSpainIvan Magalhaes UNQUALIFIED
Octavia B CaldareraFranceIvan Magalhaes NEGOTIATION
Claire D DilliardAustraliaIvan Magalhaes PROPOSAL
Rodrigues B PoquetteBrazilIvan Magalhaes RENEWAL
Morrow W CampainFranceAmy Elsner UNQUALIFIED
Ashley W FigeroaAustraliaStephen Shaw NEGOTIATION
Faith K BriddickJapanBernardo Dominic RENEWAL
Arvin X AmigonGermanyBernardo Dominic RENEWAL
Frozen Columns
Name
Claire W Doe
Maria G Slusarski
Stacey V Stockham
Smith M Briddick
Stacey T Malet
Julie X Venere
Sinclair O Venere
Clifford T Poquette
Francesco O Nicka
Murillo C Inouye
Smith M Nestle
Leon P Kusko
Wickens R Stenseth
Emily J Briddick
Jones F Dilliard
Maisha J Venere
Smith C Glick
Maria O Poquette
Antonio O Flosi
Silvio J Gillian
Nicolas D Schemmer
Izzy B Garufi
Jones J Paprocki
Smith X Dilliard
Aditya Y Garufi
Francesco S Butt
Aika P Bolognia
Tony D Dilliard
Jennifer I Wieser
Sinclair O Doe
Jefferson D Figeroa
Izzy I Stenseth
Stacey C Gaucho
Kaitlin Y Ruta
Octavia C Rim
Nicolas U Venere
Ashley Z Inouye
Ricardo M Whobrey
Mujtaba E Ruta
Jennifer D Whobrey
Clifford X Bowley
Ricardo N Caudy
Octavia R Campain
Aika N Ruta
Claire D Ferencz
Tony M Gillian
Maria F Ostrosky
Nicolas D Ostrosky
Darci N Paprocki
Nicolas Y Venere
IdCountryDate
1000Germany2024-05-29
1001United Kingdom2024-05-25
1002Brazil2024-06-15
1003Japan2024-06-07
1004France2024-06-06
1005France2024-06-22
1006United Kingdom2024-05-24
1007India2024-06-19
1008Spain2024-06-22
1009Brazil2024-05-25
1010Germany2024-05-27
1011Japan2024-06-01
1012France2024-06-04
1013United Kingdom2024-06-02
1014Italy2024-06-01
1015Japan2024-06-06
1016Canada2024-06-06
1017Canada2024-06-08
1018Germany2024-05-27
1019Argentina2024-05-30
1020Russia2024-05-28
1021Japan2024-05-29
1022Italy2024-06-22
1023Japan2024-06-01
1024United Kingdom2024-06-10
1025Russia2024-06-01
1026India2024-06-09
1027Japan2024-06-10
1028Australia2024-05-28
1029Spain2024-06-14
1030Brazil2024-06-18
1031Australia2024-06-11
1032United Kingdom2024-05-30
1033Australia2024-06-04
1034Canada2024-06-09
1035Italy2024-06-13
1036Spain2024-06-20
1037Italy2024-06-19
1038Argentina2024-06-16
1039Italy2024-06-12
1040Brazil2024-06-07
1041Australia2024-06-17
1042Italy2024-06-16
1043Germany2024-05-28
1044United Kingdom2024-06-10
1045Canada2024-06-13
1046Brazil2024-06-01
1047United Kingdom2024-06-09
1048Australia2024-06-02
1049Germany2024-06-01

On-Demand Data

NameIdCountryDate
Juan E Amigon1000Germany2024-05-27
Tony B Gaucho1001India2024-05-27
Misaki H Kolmetz1002France2024-06-04
Nicolas F Malet1003Brazil2024-05-26
Arvin I Kolmetz1004France2024-06-14
Isabel O Shinko1005Argentina2024-06-12
Faith G Marrier1006France2024-06-13
Octavia P Whobrey1007Australia2024-05-30
Munro J Gaucho1008Russia2024-06-19
Costa V Iturbide1009Argentina2024-06-05
Greenwood L Schemmer1010Germany2024-06-20
Costa Y Whobrey1011Spain2024-05-29
Leja W Rim1012India2024-05-26
Antonio L Kolmetz1013Italy2024-06-03
Isabel Z Stockham1014Germany2024-06-06
Jefferson Z Garufi1015Australia2024-05-24
Munro E Marrier1016Australia2024-06-19
Nicolas L Malet1017Japan2024-05-27
Sinclair S Doe1018India2024-06-10
Sinclair F Nestle1019Italy2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba A RulapaughCanadaIvan Magalhaes PROPOSAL
Costa A ButtFranceXuxue Feng PROPOSAL
Jeanfrancois K NickaSpainOnyama Limba UNQUALIFIED
Tony Q KolmetzIndiaIvan Magalhaes QUALIFIED
Mujtaba Q RoysterItalyBernardo Dominic RENEWAL
Kaitlin H CaudyRussiaIvan Magalhaes PROPOSAL
Kadeem B InouyeJapanElwin Sharvill RENEWAL
Stacey L ButtItalyAnna Fali QUALIFIED
Nicolas V SlusarskiGermanyIvan Magalhaes NEW
Jeanfrancois M KuskoRussiaBernardo Dominic NEGOTIATION
Ricardo H VenereUnited KingdomIoni Bowcher RENEWAL
Smith U BologniaIndiaBernardo Dominic NEGOTIATION
Morrow P StensethSpainBernardo Dominic RENEWAL
Kadeem E MaletJapanAnna Fali NEGOTIATION
Jefferson Z FerenczGermanyElwin Sharvill UNQUALIFIED
Isabel T PerinItalyAmy Elsner NEW
Adams E WhobreyArgentinaXuxue Feng PROPOSAL
Tony S WhobreyItalyOnyama Limba NEGOTIATION
Misaki U VenereItalyAmy Elsner RENEWAL
Johnson V DoeFranceIvan Magalhaes QUALIFIED
Clifford W CaudySpainIoni Bowcher UNQUALIFIED
Sinclair O DoeRussiaAnna Fali PROPOSAL
Ricardo Z BriddickUnited KingdomAsiya Javayant NEW
Aika D SchemmerBrazilAmy Elsner PROPOSAL
Kadeem D RoysterSpainIoni Bowcher QUALIFIED
Wickens M RoysterGermanyBernardo Dominic RENEWAL
Francesco T MaletSpainOnyama Limba RENEWAL
Octavia X GlickSpainOnyama Limba NEW
Mujtaba B ShinkoSpainAnna Fali UNQUALIFIED
Munro M GarufiRussiaStephen Shaw PROPOSAL
Smith Q DarakjyRussiaAnna Fali QUALIFIED
Morrow J VocelkaCanadaAsiya Javayant UNQUALIFIED
Wickens C OstroskyUnited KingdomStephen Shaw NEGOTIATION
James X PoquetteItalyAnna Fali NEGOTIATION
Adams Y OldroydUnited KingdomIoni Bowcher PROPOSAL
Emily E GlickArgentinaBernardo Dominic QUALIFIED
Deepesh A MaletJapanIvan Magalhaes QUALIFIED
Izzy L OstroskyItalyAnna Fali RENEWAL
Julie E KuskoBrazilBernardo Dominic UNQUALIFIED
Greenwood O PaprockiUnited KingdomBernardo Dominic 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>