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
Morrow Z MaletJapanIoni Bowcher PROPOSAL
Aika F MaletUnited KingdomIvan Magalhaes RENEWAL
Kadeem X ShinkoBrazilXuxue Feng QUALIFIED
Leon U NickaItalyAsiya Javayant NEW
Maisha W AmigonSpainAsiya Javayant RENEWAL
Aika R OstroskyBrazilStephen Shaw UNQUALIFIED
Mujtaba L BriddickArgentinaAsiya Javayant PROPOSAL
Chavez F StensethIndiaXuxue Feng NEW
Sinclair T SchemmerRussiaXuxue Feng NEGOTIATION
Clifford H BowleyCanadaBernardo Dominic NEW
Sinclair H FlosiRussiaAnna Fali QUALIFIED
Isabel U OldroydArgentinaBernardo Dominic UNQUALIFIED
Francesco C FerenczBrazilAmy Elsner UNQUALIFIED
Aika S FigeroaGermanyAmy Elsner PROPOSAL
Sinclair D AmigonIndiaBernardo Dominic NEW
Deepesh E NestleCanadaOnyama Limba UNQUALIFIED
Costa Y CaldareraGermanyElwin Sharvill NEW
Emily M GarufiArgentinaXuxue Feng PROPOSAL
Stacey D RulapaughJapanBernardo Dominic NEW
James R ShinkoJapanAnna Fali PROPOSAL
Isabel A MaletJapanElwin Sharvill UNQUALIFIED
Tony N FollerUnited KingdomStephen Shaw NEGOTIATION
Julie E GlickItalyBernardo Dominic QUALIFIED
Faith R BologniaSpainStephen Shaw RENEWAL
Alejandro S BologniaUnited KingdomAnna Fali UNQUALIFIED
Maria Y SlusarskiAustraliaStephen Shaw QUALIFIED
Aruna Q StockhamGermanyAmy Elsner QUALIFIED
Tony E OldroydRussiaOnyama Limba QUALIFIED
Ricardo V FigeroaJapanBernardo Dominic RENEWAL
Arvin B CaldareraRussiaBernardo Dominic UNQUALIFIED
Jefferson L RutaAustraliaXuxue Feng NEGOTIATION
Darci W BriddickUnited KingdomAnna Fali QUALIFIED
Munro F RulapaughRussiaStephen Shaw PROPOSAL
Ricardo M IturbideArgentinaIoni Bowcher UNQUALIFIED
Clifford M BowleyIndiaIvan Magalhaes NEGOTIATION
Salvatore S NestleGermanyStephen Shaw NEW
Wickens J VenereSpainElwin Sharvill RENEWAL
David A WaycottIndiaIvan Magalhaes PROPOSAL
Mujtaba R KuskoRussiaXuxue Feng NEW
James Q ShinkoGermanyAsiya Javayant NEW
David G InouyeBrazilAnna Fali NEW
Ricardo M PoquetteGermanyOnyama Limba QUALIFIED
Claire J StockhamFranceXuxue Feng UNQUALIFIED
Jeanfrancois U KuskoRussiaXuxue Feng QUALIFIED
Aditya K VocelkaCanadaBernardo Dominic RENEWAL
Maisha P RulapaughAustraliaAsiya Javayant UNQUALIFIED
Kaitlin H GauchoAustraliaElwin Sharvill QUALIFIED
Maria K OstroskyGermanyBernardo Dominic NEW
Munro P KuskoJapanAnna Fali NEGOTIATION
Jones Y VenereRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi B VenereSpainStephen Shaw QUALIFIED
Aika O CampainSpainIvan Magalhaes RENEWAL
Munro Q AmigonItalyIoni Bowcher NEW
Munro T NickaUnited KingdomAnna Fali RENEWAL
David H VocelkaArgentinaIoni Bowcher UNQUALIFIED
Smith V FollerGermanyAsiya Javayant NEW
Greenwood R KolmetzIndiaElwin Sharvill UNQUALIFIED
Chavez L RimArgentinaBernardo Dominic RENEWAL
Isabel Z WhobreyArgentinaAmy Elsner PROPOSAL
Nicolas T OldroydUnited KingdomAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford V NickaCanada2024-06-11Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1001Jones V BowleyGermany2024-05-31Buckley Miller Wright UNQUALIFIED44Onyama Limba
1002Antonio P NestleIndia2024-06-04Chanay, Jeffrey A Esq RENEWAL66Ioni Bowcher
1003Jennifer I BologniaSpain2024-06-23Chapman, Ross E Esq PROPOSAL16Onyama Limba
1004Aika N DarakjyCanada2024-06-04Dorl, James J Esq NEGOTIATION99Xuxue Feng
1005Salvatore L BowleyIndia2024-06-11Morlong Associates QUALIFIED55Xuxue Feng
1006Antonio A MacleadBrazil2024-06-19Buckley Miller Wright UNQUALIFIED1Stephen Shaw
1007Deepesh I GlickItaly2024-05-28Buckley Miller Wright RENEWAL26Xuxue Feng
1008Francesco S MorascaIndia2024-06-14Benton, John B Jr UNQUALIFIED31Amy Elsner
1009Jones E ChuiItaly2024-06-14Buckley Miller Wright UNQUALIFIED5Ivan Magalhaes
1010Faith H BowleyUnited Kingdom2024-06-10Chapman, Ross E Esq NEGOTIATION57Amy Elsner
1011Ricardo X SlusarskiSpain2024-06-05King, Christopher A Esq RENEWAL6Amy Elsner
1012Leja S ChuiAustralia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION80Xuxue Feng
1013Johnson G FigeroaArgentina2024-05-30Benton, John B Jr QUALIFIED26Ioni Bowcher
1014Munro X PaprockiUnited Kingdom2024-06-12Printing Dimensions NEGOTIATION74Bernardo Dominic
1015James P SchemmerItaly2024-05-30Truhlar And Truhlar Attys UNQUALIFIED87Bernardo Dominic
1016Alejandro P FollerArgentina2024-06-09Benton, John B Jr UNQUALIFIED96Xuxue Feng
1017Julie V RimItaly2024-05-28Rangoni Of Florence QUALIFIED16Bernardo Dominic
1018Chavez O PoquetteArgentina2024-06-15Feltz Printing Service NEGOTIATION7Bernardo Dominic
1019Julie C CampainGermany2024-05-30Chemel, James L Cpa RENEWAL13Asiya Javayant
1020Misaki C OstroskySpain2024-06-04Feiner Bros PROPOSAL1Bernardo Dominic
1021Mujtaba C AlbaresArgentina2024-06-21Feiner Bros RENEWAL5Bernardo Dominic
1022Tony W CaudyCanada2024-06-18Truhlar And Truhlar Attys QUALIFIED14Asiya Javayant
1023Jennifer A OldroydCanada2024-05-26Rangoni Of Florence QUALIFIED38Ivan Magalhaes
1024Emily Y RoysterUnited Kingdom2024-06-19Morlong Associates QUALIFIED18Bernardo Dominic
1025Jones H RoysterRussia2024-06-24Printing Dimensions PROPOSAL19Onyama Limba
1026Antonio S GillianItaly2024-06-09Rousseaux, Michael Esq NEW64Anna Fali
1027Mayumi C WhobreyJapan2024-06-03Buckley Miller Wright NEGOTIATION77Elwin Sharvill
1028Ivar M KolmetzArgentina2024-06-03Printing Dimensions NEGOTIATION4Elwin Sharvill
1029Silvio P ButtBrazil2024-05-29Truhlar And Truhlar Attys UNQUALIFIED66Onyama Limba
1030Darci U VocelkaCanada2024-06-02Chemel, James L Cpa RENEWAL90Xuxue Feng
1031James C IturbideAustralia2024-06-16Dorl, James J Esq RENEWAL29Ivan Magalhaes
1032Sinclair O CampainIndia2024-06-20King, Christopher A Esq RENEWAL69Onyama Limba
1033Clifford A RutaCanada2024-06-02Rangoni Of Florence UNQUALIFIED53Xuxue Feng
1034Misaki S VocelkaJapan2024-06-06Feltz Printing Service RENEWAL56Anna Fali
1035Jeanfrancois P AmigonFrance2024-06-12Feiner Bros NEW43Asiya Javayant
1036Mayumi B MorascaFrance2024-06-20Feltz Printing Service PROPOSAL13Anna Fali
1037Johnson R IturbideFrance2024-06-06King, Christopher A Esq PROPOSAL72Bernardo Dominic
1038Kadeem K DilliardArgentina2024-05-30Feltz Printing Service NEGOTIATION33Ioni Bowcher
1039Ivar I MarrierJapan2024-06-20Dorl, James J Esq PROPOSAL62Bernardo Dominic
1040Nicolas H TollnerAustralia2024-06-15Feiner Bros UNQUALIFIED57Amy Elsner
1041Ivar G FollerItaly2024-06-04Rangoni Of Florence PROPOSAL1Stephen Shaw
1042Isabel Y VenereIndia2024-06-15Feiner Bros UNQUALIFIED66Elwin Sharvill
1043Nicolas W OldroydIndia2024-06-22Commercial Press PROPOSAL4Bernardo Dominic
1044Rodrigues L NickaArgentina2024-06-21Rangoni Of Florence RENEWAL78Asiya Javayant
1045Darci H NickaUnited Kingdom2024-06-23Dorl, James J Esq NEGOTIATION7Bernardo Dominic
1046Aruna R DilliardRussia2024-05-30Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1047Morrow C NickaAustralia2024-05-31Benton, John B Jr UNQUALIFIED15Onyama Limba
1048Silvio I KolmetzSpain2024-06-13Benton, John B Jr QUALIFIED86Asiya Javayant
1049Salvatore B FlosiUnited Kingdom2024-06-18Commercial Press QUALIFIED57Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio H RoysterArgentinaAsiya Javayant NEW
Rodrigues L ShinkoJapanAnna Fali NEW
Jeanfrancois H MaletJapanBernardo Dominic NEGOTIATION
Wickens Z KolmetzJapanAmy Elsner UNQUALIFIED
Octavia J InouyeBrazilAmy Elsner NEGOTIATION
Clifford G SergiItalyXuxue Feng UNQUALIFIED
Leon X GarufiArgentinaXuxue Feng NEGOTIATION
Silvio C AlbaresGermanyXuxue Feng NEW
Claire T SaylorsIndiaIvan Magalhaes NEGOTIATION
Francesco Q BowleyItalyStephen Shaw NEGOTIATION
Tony N RimIndiaAsiya Javayant NEGOTIATION
Octavia Q BologniaFranceBernardo Dominic PROPOSAL
Aika S StockhamCanadaElwin Sharvill PROPOSAL
Salvatore N ButtGermanyAsiya Javayant NEGOTIATION
Claire K MarrierAustraliaElwin Sharvill NEGOTIATION
Ricardo Y BowleyIndiaAnna Fali QUALIFIED
Izzy G WhobreyAustraliaStephen Shaw PROPOSAL
Faith A FollerItalyXuxue Feng NEGOTIATION
Cody T WaycottFranceOnyama Limba RENEWAL
Julie B PaprockiIndiaIvan Magalhaes NEGOTIATION
Francesco E NickaArgentinaOnyama Limba NEGOTIATION
Salvatore P TollnerFranceIvan Magalhaes UNQUALIFIED
Julie W CaldareraIndiaAsiya Javayant UNQUALIFIED
Rodrigues D VenereJapanIvan Magalhaes UNQUALIFIED
Francesco I ShinkoCanadaIoni Bowcher QUALIFIED
Aika F MaletCanadaIoni Bowcher QUALIFIED
Kaitlin F MaletBrazilAnna Fali UNQUALIFIED
Francesco T SergiArgentinaBernardo Dominic RENEWAL
Arvin T GillianBrazilStephen Shaw RENEWAL
Rodrigues I CampainIndiaBernardo Dominic UNQUALIFIED
David E BowleyUnited KingdomOnyama Limba RENEWAL
Kadeem H PerinItalyAnna Fali UNQUALIFIED
Jeanfrancois I SaylorsSpainBernardo Dominic PROPOSAL
Salvatore C CaldareraSpainAnna Fali UNQUALIFIED
Isabel D StensethAustraliaAsiya Javayant PROPOSAL
Julie E FlosiRussiaElwin Sharvill NEW
Kaitlin Q KuskoBrazilAsiya Javayant RENEWAL
David G NickaArgentinaStephen Shaw RENEWAL
Arvin W WaycottUnited KingdomIvan Magalhaes RENEWAL
James S StensethSpainIoni Bowcher RENEWAL
Clifford S VenereUnited KingdomIvan Magalhaes QUALIFIED
Isabel Q KolmetzFranceBernardo Dominic NEW
Antonio E RulapaughFranceXuxue Feng PROPOSAL
Clifford W DilliardUnited KingdomElwin Sharvill PROPOSAL
Kadeem X WieserJapanAmy Elsner NEGOTIATION
Alejandro G WaycottIndiaBernardo Dominic QUALIFIED
Kadeem K PoquetteJapanIoni Bowcher QUALIFIED
Jefferson U FerenczCanadaBernardo Dominic PROPOSAL
Aruna Y VocelkaFranceAmy Elsner RENEWAL
Misaki D OstroskyJapanAmy Elsner PROPOSAL
Frozen Columns
Name
Murillo Y Briddick
Deepesh H Garufi
Smith D Shinko
James E Schemmer
Greenwood Z Maclead
Silvio Y Royster
Greenwood G Shinko
Kaitlin I Shinko
Izzy W Kolmetz
Ivar B Nicka
Clifford M Malet
Izzy G Waycott
Mujtaba F Sergi
Munro G Venere
Darci N Dilliard
Octavia H Marrier
Wickens Y Perin
Isabel Z Nestle
Alejandro M Iturbide
Ashley M Perin
Jennifer P Paprocki
Maria V Figeroa
Tony P Stockham
Darci V Chui
Murillo B Royster
Ivar N Wieser
Darci I Stockham
Deepesh W Saylors
Isabel C Marrier
Tony D Ruta
Izzy H Maclead
Izzy F Iturbide
Isabel Q Inouye
Izzy W Iturbide
Silvio K Chui
Faith Z Whobrey
Clifford Y Shinko
Aruna N Glick
Salvatore Y Foller
Wickens R Morasca
David T Caldarera
Kadeem U Bowley
Izzy X Kolmetz
Costa C Malet
Jeanfrancois W Bowley
Antonio P Sergi
Maisha G Vocelka
Antonio U Flosi
Munro E Campain
Arvin C Gaucho
IdCountryDate
1000Canada2024-06-22
1001France2024-06-23
1002India2024-06-23
1003Canada2024-05-31
1004Brazil2024-06-02
1005Italy2024-06-11
1006France2024-06-02
1007Spain2024-06-13
1008Australia2024-06-15
1009Argentina2024-06-13
1010Spain2024-06-13
1011Spain2024-06-08
1012France2024-06-17
1013India2024-05-27
1014Argentina2024-06-06
1015Spain2024-06-10
1016Italy2024-06-18
1017Russia2024-06-11
1018Russia2024-06-18
1019Germany2024-06-21
1020Italy2024-06-17
1021Japan2024-06-24
1022Italy2024-06-20
1023Italy2024-05-26
1024France2024-06-21
1025Argentina2024-06-08
1026France2024-06-05
1027Russia2024-06-12
1028Argentina2024-06-16
1029Brazil2024-06-03
1030Italy2024-06-15
1031Brazil2024-06-11
1032Australia2024-06-09
1033Brazil2024-05-28
1034Argentina2024-06-21
1035Spain2024-06-15
1036Brazil2024-06-22
1037Brazil2024-06-12
1038India2024-06-08
1039Australia2024-06-16
1040Australia2024-06-17
1041Japan2024-06-19
1042United Kingdom2024-06-03
1043Australia2024-05-27
1044Italy2024-06-17
1045Spain2024-06-09
1046Japan2024-06-08
1047Argentina2024-06-01
1048India2024-06-17
1049Russia2024-06-16

On-Demand Data

NameIdCountryDate
Alejandro T Nestle1000Russia2024-06-14
Murillo Z Perin1001Spain2024-06-12
Salvatore D Caldarera1002Italy2024-05-30
Stacey C Iturbide1003Brazil2024-06-04
Arvin V Poquette1004Japan2024-05-26
Rodrigues V Flosi1005Germany2024-06-12
Jennifer Z Bowley1006India2024-06-09
Aditya U Chui1007United Kingdom2024-06-21
Kadeem C Venere1008Brazil2024-06-22
Jennifer P Dilliard1009United Kingdom2024-05-28
David T Ferencz1010Russia2024-06-16
Silvio H Waycott1011France2024-05-27
Nicolas H Oldroyd1012Spain2024-06-22
Faith Y Glick1013France2024-05-26
David S Bolognia1014India2024-05-27
Cody W Ostrosky1015Italy2024-06-03
Costa L Kolmetz1016Russia2024-05-31
David Y Butt1017Japan2024-06-18
Francesco S Caldarera1018Russia2024-06-08
Morrow A Caudy1019Germany2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams T GauchoRussiaBernardo Dominic UNQUALIFIED
Ricardo B KuskoAustraliaIoni Bowcher NEW
Morrow B DilliardGermanyXuxue Feng NEGOTIATION
Aditya P PaprockiGermanyAnna Fali UNQUALIFIED
Sinclair O TollnerBrazilXuxue Feng NEW
Wickens Q InouyeFranceXuxue Feng NEGOTIATION
Nicolas B BriddickCanadaXuxue Feng QUALIFIED
Jennifer E GarufiGermanyBernardo Dominic NEW
Aika T BriddickIndiaStephen Shaw NEW
Antonio E CaudyArgentinaIoni Bowcher QUALIFIED
Mayumi L WaycottBrazilOnyama Limba UNQUALIFIED
Tony U AlbaresItalyBernardo Dominic QUALIFIED
Chavez H NestleBrazilIvan Magalhaes RENEWAL
Sinclair M SaylorsArgentinaAnna Fali UNQUALIFIED
Mayumi X ShinkoSpainBernardo Dominic QUALIFIED
Rodrigues N RoysterBrazilElwin Sharvill NEW
Maria H MacleadUnited KingdomIoni Bowcher PROPOSAL
Juan I GlickAustraliaIoni Bowcher QUALIFIED
Aruna N OldroydFranceXuxue Feng PROPOSAL
Aruna V TollnerSpainAsiya Javayant NEW
Cody H ShinkoItalyAsiya Javayant PROPOSAL
David J PoquetteItalyXuxue Feng PROPOSAL
Salvatore U OstroskyItalyAsiya Javayant NEGOTIATION
Rodrigues W ChuiCanadaElwin Sharvill NEGOTIATION
Nicolas J ShinkoCanadaIoni Bowcher PROPOSAL
Wickens G StockhamGermanyOnyama Limba UNQUALIFIED
Jeanfrancois E OldroydFranceIoni Bowcher RENEWAL
Misaki B FollerGermanyXuxue Feng UNQUALIFIED
Darci L NestleCanadaElwin Sharvill RENEWAL
Nicolas S PaprockiIndiaAmy Elsner PROPOSAL
Claire I FigeroaFranceAnna Fali PROPOSAL
Aika J AlbaresFranceIoni Bowcher PROPOSAL
Maria V PoquetteFranceIvan Magalhaes NEW
Smith N WieserCanadaElwin Sharvill UNQUALIFIED
Ricardo U OstroskyIndiaAnna Fali NEW
Sinclair A SaylorsItalyIoni Bowcher NEGOTIATION
Ricardo L WieserItalyStephen Shaw UNQUALIFIED
Munro M SchemmerBrazilAmy Elsner QUALIFIED
Jefferson F GauchoArgentinaStephen Shaw QUALIFIED
Wickens L IturbideSpainOnyama 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>