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
Munro G BowleyAustraliaAnna Fali NEGOTIATION
Adams I BologniaGermanyOnyama Limba PROPOSAL
Costa M PoquetteIndiaAnna Fali PROPOSAL
Julie B DoeAustraliaOnyama Limba UNQUALIFIED
Antonio Z ChuiAustraliaAmy Elsner UNQUALIFIED
Ivar F FerenczCanadaIvan Magalhaes RENEWAL
Tony Y GillianItalyOnyama Limba NEW
Antonio Q OldroydFranceIoni Bowcher QUALIFIED
Sinclair O GlickGermanyAmy Elsner NEGOTIATION
David U GillianRussiaIvan Magalhaes PROPOSAL
Izzy C MorascaCanadaBernardo Dominic UNQUALIFIED
Clifford X SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba X NickaItalyAsiya Javayant NEW
Jefferson B FollerUnited KingdomAsiya Javayant NEW
Jeanfrancois Z VocelkaFranceAnna Fali NEGOTIATION
Adams C CaudyBrazilIvan Magalhaes UNQUALIFIED
Silvio R ChuiFranceAmy Elsner NEGOTIATION
Arvin F NickaIndiaAnna Fali RENEWAL
Tony C BowleyUnited KingdomXuxue Feng QUALIFIED
Salvatore R BologniaCanadaAmy Elsner PROPOSAL
Emily E PaprockiJapanIvan Magalhaes RENEWAL
Smith N IturbideFranceAnna Fali NEW
Aika D VocelkaCanadaAmy Elsner UNQUALIFIED
Arvin N MorascaArgentinaXuxue Feng QUALIFIED
Adams E KolmetzJapanAmy Elsner NEW
Kadeem O FigeroaCanadaIoni Bowcher NEW
Jeanfrancois X ButtAustraliaAnna Fali RENEWAL
Chavez L PerinArgentinaStephen Shaw NEGOTIATION
Johnson T VenereFranceIvan Magalhaes UNQUALIFIED
Francesco N ShinkoIndiaBernardo Dominic RENEWAL
Jefferson R RoysterFranceAsiya Javayant QUALIFIED
Deepesh F WieserUnited KingdomAnna Fali NEW
Aditya C SlusarskiRussiaBernardo Dominic RENEWAL
David X ButtRussiaOnyama Limba UNQUALIFIED
Izzy A BriddickAustraliaIvan Magalhaes NEW
Claire N ShinkoFranceXuxue Feng NEGOTIATION
Julie Q WaycottAustraliaIoni Bowcher QUALIFIED
Izzy J OstroskyItalyStephen Shaw PROPOSAL
Clifford Z WhobreyBrazilAnna Fali QUALIFIED
Costa C GauchoFranceXuxue Feng NEGOTIATION
Clifford C ButtBrazilStephen Shaw NEW
Munro I DilliardIndiaIvan Magalhaes NEGOTIATION
Cody P WieserGermanyElwin Sharvill QUALIFIED
Rodrigues W DoeAustraliaXuxue Feng UNQUALIFIED
Adams J DilliardBrazilIoni Bowcher UNQUALIFIED
Darci P ShinkoIndiaAmy Elsner RENEWAL
Johnson G CampainSpainElwin Sharvill NEGOTIATION
Octavia K WhobreyJapanBernardo Dominic PROPOSAL
Emily N MarrierRussiaAmy Elsner RENEWAL
Kaitlin U RulapaughAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens R MorascaItalyBernardo Dominic PROPOSAL
Wickens P PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Leja X CaldareraFranceXuxue Feng NEGOTIATION
Jefferson I CaldareraItalyIvan Magalhaes UNQUALIFIED
Chavez Y VocelkaSpainOnyama Limba NEGOTIATION
Ricardo G TollnerRussiaOnyama Limba PROPOSAL
Adams G WieserItalyIvan Magalhaes UNQUALIFIED
Alejandro T DarakjyGermanyAsiya Javayant NEGOTIATION
Morrow Y CampainItalyBernardo Dominic NEW
Cody J SchemmerUnited KingdomElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika J FlosiIndia2024-06-02Dorl, James J Esq PROPOSAL15Stephen Shaw
1001Juan L RutaSpain2024-06-20Buckley Miller Wright NEW7Stephen Shaw
1002Maisha W KuskoBrazil2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED54Stephen Shaw
1003Rodrigues E SergiBrazil2024-05-25Benton, John B Jr RENEWAL42Onyama Limba
1004Rodrigues U AmigonIndia2024-06-07Printing Dimensions RENEWAL52Anna Fali
1005Claire M PoquetteIndia2024-06-03Morlong Associates NEW51Ioni Bowcher
1006Jefferson B KuskoSpain2024-06-21Printing Dimensions NEGOTIATION96Ivan Magalhaes
1007Aruna F CampainSpain2024-05-30Chemel, James L Cpa NEGOTIATION65Stephen Shaw
1008Mujtaba W InouyeArgentina2024-05-28Feltz Printing Service NEGOTIATION63Elwin Sharvill
1009Octavia U BologniaSpain2024-05-30Rangoni Of Florence UNQUALIFIED13Ioni Bowcher
1010Murillo I WaycottUnited Kingdom2024-05-24Buckley Miller Wright NEGOTIATION17Ioni Bowcher
1011Adams R RulapaughRussia2024-06-07Chapman, Ross E Esq NEGOTIATION16Ivan Magalhaes
1012Arvin J MaletUnited Kingdom2024-05-30Morlong Associates UNQUALIFIED4Amy Elsner
1013Antonio U RoysterBrazil2024-06-07Rousseaux, Michael Esq RENEWAL67Anna Fali
1014Leon N GauchoCanada2024-06-03King, Christopher A Esq NEW72Onyama Limba
1015Adams I RulapaughCanada2024-06-04Rangoni Of Florence NEGOTIATION50Onyama Limba
1016Jones N PoquetteJapan2024-06-16Dorl, James J Esq NEW29Asiya Javayant
1017Jennifer F PoquetteItaly2024-06-04Buckley Miller Wright NEW48Asiya Javayant
1018Greenwood C CaldareraUnited Kingdom2024-06-06Dorl, James J Esq PROPOSAL20Ivan Magalhaes
1019Salvatore I WieserBrazil2024-06-02Rangoni Of Florence NEGOTIATION25Bernardo Dominic
1020Jennifer L PoquetteUnited Kingdom2024-05-24Chapman, Ross E Esq PROPOSAL88Onyama Limba
1021Ashley V PoquetteAustralia2024-06-10King, Christopher A Esq UNQUALIFIED50Ivan Magalhaes
1022Ricardo V WieserSpain2024-06-06Chanay, Jeffrey A Esq PROPOSAL50Onyama Limba
1023Stacey J StensethCanada2024-06-16Benton, John B Jr QUALIFIED66Amy Elsner
1024Isabel Z WieserUnited Kingdom2024-06-14Rangoni Of Florence NEGOTIATION95Xuxue Feng
1025Greenwood O TollnerRussia2024-05-25Commercial Press QUALIFIED46Ioni Bowcher
1026Chavez S NickaItaly2024-05-28King, Christopher A Esq RENEWAL58Onyama Limba
1027Smith I AmigonCanada2024-06-02Feiner Bros NEGOTIATION53Anna Fali
1028Alejandro A VocelkaArgentina2024-06-14Dorl, James J Esq RENEWAL44Onyama Limba
1029Julie A GillianAustralia2024-06-09Chemel, James L Cpa QUALIFIED7Ivan Magalhaes
1030Wickens M VenereItaly2024-06-04Commercial Press NEW64Asiya Javayant
1031Leja R KuskoAustralia2024-05-30King, Christopher A Esq NEGOTIATION66Amy Elsner
1032Francesco V WieserAustralia2024-05-31Chanay, Jeffrey A Esq RENEWAL33Bernardo Dominic
1033Leja U RulapaughIndia2024-06-15Rangoni Of Florence QUALIFIED96Xuxue Feng
1034Rodrigues L BriddickJapan2024-06-03Chanay, Jeffrey A Esq NEW37Elwin Sharvill
1035Morrow W AlbaresCanada2024-05-29Chapman, Ross E Esq NEGOTIATION71Anna Fali
1036Darci N SchemmerIndia2024-06-13Feltz Printing Service RENEWAL64Onyama Limba
1037Francesco Q BologniaGermany2024-06-15Truhlar And Truhlar Attys UNQUALIFIED39Ioni Bowcher
1038David U ShinkoFrance2024-06-21Truhlar And Truhlar Attys UNQUALIFIED12Elwin Sharvill
1039Juan R BologniaIndia2024-06-09Commercial Press QUALIFIED8Elwin Sharvill
1040Isabel F CaldareraIndia2024-06-01King, Christopher A Esq QUALIFIED85Ivan Magalhaes
1041Francesco Z GarufiArgentina2024-06-10Chapman, Ross E Esq PROPOSAL75Ioni Bowcher
1042Ashley Z RoysterAustralia2024-06-22Morlong Associates PROPOSAL78Amy Elsner
1043Octavia Z CaldareraJapan2024-05-27Truhlar And Truhlar Attys UNQUALIFIED76Asiya Javayant
1044Faith F FlosiBrazil2024-05-28King, Christopher A Esq QUALIFIED54Stephen Shaw
1045Ricardo Y KolmetzItaly2024-06-04Rangoni Of Florence NEW75Ioni Bowcher
1046Jefferson J SergiIndia2024-06-01Rangoni Of Florence PROPOSAL14Amy Elsner
1047Julie M WieserCanada2024-05-31Truhlar And Truhlar Attys UNQUALIFIED5Bernardo Dominic
1048Faith J GarufiFrance2024-05-28Rangoni Of Florence NEW59Stephen Shaw
1049Mayumi B OstroskyArgentina2024-06-09Buckley Miller Wright NEGOTIATION79Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio T BowleyRussiaIoni Bowcher UNQUALIFIED
Ivar O KuskoAustraliaIvan Magalhaes UNQUALIFIED
Julie R GauchoBrazilAmy Elsner NEGOTIATION
Jennifer I BologniaItalyOnyama Limba QUALIFIED
Munro D TollnerCanadaIoni Bowcher UNQUALIFIED
Wickens G FollerAustraliaBernardo Dominic PROPOSAL
Silvio F KuskoBrazilElwin Sharvill QUALIFIED
Mujtaba M StensethAustraliaAmy Elsner UNQUALIFIED
Adams Z BologniaRussiaAnna Fali NEW
Silvio C StensethIndiaIvan Magalhaes QUALIFIED
Juan F RulapaughIndiaAmy Elsner NEGOTIATION
Faith F DilliardSpainXuxue Feng RENEWAL
Kadeem C AmigonArgentinaAnna Fali QUALIFIED
Emily E StensethSpainAmy Elsner RENEWAL
Julie G PoquetteRussiaBernardo Dominic QUALIFIED
Salvatore L SlusarskiCanadaOnyama Limba UNQUALIFIED
Misaki M FerenczAustraliaAmy Elsner QUALIFIED
Jeanfrancois D WieserItalyAsiya Javayant PROPOSAL
Jefferson L OldroydUnited KingdomStephen Shaw PROPOSAL
Costa F BriddickCanadaStephen Shaw RENEWAL
Nicolas Q FollerJapanOnyama Limba NEW
Sinclair H FlosiGermanyXuxue Feng UNQUALIFIED
Ricardo P ShinkoCanadaOnyama Limba NEW
Jefferson F InouyeBrazilBernardo Dominic QUALIFIED
David I MacleadFranceAsiya Javayant UNQUALIFIED
Isabel C VocelkaArgentinaElwin Sharvill UNQUALIFIED
Mujtaba Z SergiItalyBernardo Dominic NEW
Kaitlin B ShinkoFranceAsiya Javayant RENEWAL
Antonio Y AlbaresAustraliaStephen Shaw UNQUALIFIED
Jones Z PerinCanadaAsiya Javayant RENEWAL
Misaki C ButtAustraliaAsiya Javayant NEGOTIATION
Silvio D FollerAustraliaXuxue Feng NEGOTIATION
Ricardo L CampainSpainIoni Bowcher QUALIFIED
Isabel T DilliardFranceAmy Elsner NEGOTIATION
Ricardo U SergiGermanyXuxue Feng UNQUALIFIED
Tony T VenereBrazilBernardo Dominic QUALIFIED
Nicolas Y InouyeFranceElwin Sharvill NEW
Tony L MarrierBrazilAnna Fali UNQUALIFIED
Deepesh O GarufiJapanOnyama Limba NEW
Leon T ButtAustraliaOnyama Limba NEGOTIATION
Johnson X DilliardFranceBernardo Dominic NEGOTIATION
James P AmigonIndiaAmy Elsner UNQUALIFIED
Stacey W MaletArgentinaOnyama Limba RENEWAL
Ivar A MacleadItalyBernardo Dominic RENEWAL
Deepesh J RutaCanadaAnna Fali NEW
Mujtaba P MaletCanadaStephen Shaw NEW
Costa P CampainIndiaElwin Sharvill RENEWAL
Silvio R VenereAustraliaAmy Elsner NEGOTIATION
Leon Z WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Ricardo E DilliardArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Morrow I Butt
Jeanfrancois L Sergi
Mujtaba N Amigon
Maisha H Garufi
Mayumi G Garufi
Silvio D Shinko
Sinclair J Briddick
Silvio Q Ruta
Smith Z Marrier
Deepesh B Nicka
Murillo I Wieser
Aruna S Bowley
Ashley K Gaucho
Jeanfrancois M Garufi
Juan U Saylors
Adams I Rulapaugh
Faith V Morasca
Aditya I Rim
Stacey E Wieser
Juan N Darakjy
Murillo I Morasca
Jennifer N Morasca
Adams M Glick
Ricardo J Stenseth
Jeanfrancois V Amigon
Munro J Ostrosky
Francesco Y Darakjy
Smith J Ferencz
Aruna R Nicka
Deepesh W Maclead
David P Ferencz
Maisha T Iturbide
Arvin Q Flosi
Maria Q Albares
Smith M Schemmer
Johnson P Rim
Morrow N Ferencz
Juan Z Marrier
Costa J Rulapaugh
Jones C Dilliard
Jeanfrancois H Campain
Jennifer E Schemmer
Tony D Poquette
Claire O Stenseth
James H Vocelka
Nicolas I Campain
Antonio D Ruta
Cody W Caudy
Smith G Perin
Smith S Royster
IdCountryDate
1000Argentina2024-06-02
1001Spain2024-05-24
1002Spain2024-06-11
1003Canada2024-05-27
1004Argentina2024-06-04
1005Brazil2024-06-16
1006Italy2024-06-13
1007Argentina2024-06-21
1008Canada2024-06-03
1009Brazil2024-06-06
1010Australia2024-06-15
1011France2024-06-22
1012France2024-06-13
1013Japan2024-06-18
1014Italy2024-06-08
1015Australia2024-06-05
1016India2024-06-14
1017India2024-06-14
1018Germany2024-06-01
1019Canada2024-06-20
1020Russia2024-06-05
1021Spain2024-06-03
1022Russia2024-06-20
1023Argentina2024-06-16
1024Germany2024-05-29
1025Russia2024-06-09
1026Russia2024-06-21
1027Brazil2024-06-06
1028Germany2024-05-25
1029Germany2024-06-18
1030Australia2024-06-04
1031Russia2024-06-03
1032India2024-06-22
1033Japan2024-05-25
1034United Kingdom2024-06-14
1035Italy2024-06-10
1036Argentina2024-06-15
1037Germany2024-05-28
1038Australia2024-05-26
1039France2024-06-15
1040Japan2024-05-27
1041Germany2024-06-11
1042India2024-06-12
1043Russia2024-06-18
1044India2024-06-05
1045Spain2024-06-04
1046Germany2024-06-11
1047Australia2024-06-20
1048India2024-06-02
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Tony U Slusarski1000Brazil2024-06-08
Ivar Y Waycott1001Australia2024-05-31
Morrow J Slusarski1002Russia2024-06-21
Kaitlin T Briddick1003Canada2024-06-14
Jefferson W Briddick1004Italy2024-06-04
Kadeem E Vocelka1005Russia2024-05-31
James K Paprocki1006Australia2024-05-26
Chavez S Maclead1007Spain2024-06-08
Rodrigues F Caudy1008France2024-06-14
Munro H Wieser1009Australia2024-06-15
Claire U Figeroa1010France2024-06-13
Maisha J Darakjy1011Japan2024-05-28
Munro P Iturbide1012United Kingdom2024-06-21
Ivar S Kusko1013France2024-05-24
Silvio Y Morasca1014Germany2024-05-28
Alejandro E Perin1015Canada2024-06-13
Mujtaba R Schemmer1016Spain2024-06-07
Arvin B Rim1017United Kingdom2024-06-04
Octavia W Schemmer1018Italy2024-06-16
Stacey L Bolognia1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem X DoeGermanyAnna Fali NEGOTIATION
Julie L MacleadJapanAnna Fali QUALIFIED
Wickens N MaletCanadaAmy Elsner QUALIFIED
Aruna M GlickBrazilBernardo Dominic NEW
Aika Q MacleadBrazilIvan Magalhaes QUALIFIED
Stacey R IturbideJapanOnyama Limba RENEWAL
Mayumi Y FollerBrazilAnna Fali PROPOSAL
Morrow C ButtAustraliaIoni Bowcher NEW
Ashley K StockhamIndiaAnna Fali QUALIFIED
Cody Q RoysterArgentinaXuxue Feng PROPOSAL
Claire U SaylorsBrazilAsiya Javayant NEGOTIATION
Jennifer M ButtCanadaAmy Elsner NEW
Nicolas I StockhamJapanOnyama Limba RENEWAL
Maisha D FollerIndiaOnyama Limba PROPOSAL
Salvatore F MorascaFranceAnna Fali NEGOTIATION
Alejandro X WhobreyGermanyStephen Shaw NEGOTIATION
Jefferson P GauchoAustraliaXuxue Feng RENEWAL
Faith E WieserCanadaOnyama Limba RENEWAL
Stacey I AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Adams E SchemmerUnited KingdomBernardo Dominic RENEWAL
Emily E MacleadAustraliaAnna Fali NEGOTIATION
Maria C SergiIndiaIoni Bowcher NEW
Alejandro P FerenczCanadaElwin Sharvill UNQUALIFIED
Emily U StockhamUnited KingdomAmy Elsner PROPOSAL
Mayumi D ShinkoCanadaIoni Bowcher QUALIFIED
Munro N CampainGermanyXuxue Feng NEGOTIATION
Johnson V OstroskyGermanyOnyama Limba NEW
James X BowleyBrazilAsiya Javayant NEGOTIATION
Jennifer S MaletSpainStephen Shaw RENEWAL
Leja A SergiItalyAsiya Javayant QUALIFIED
Octavia X PoquetteItalyBernardo Dominic RENEWAL
Murillo T SlusarskiFranceStephen Shaw NEGOTIATION
Murillo V StensethRussiaXuxue Feng UNQUALIFIED
Maisha B ChuiAustraliaIvan Magalhaes PROPOSAL
Chavez G CaudyCanadaStephen Shaw PROPOSAL
Jennifer N ButtCanadaAmy Elsner PROPOSAL
Jennifer A OstroskyItalyIoni Bowcher RENEWAL
Aruna G RutaFranceElwin Sharvill PROPOSAL
Leja F FigeroaCanadaAsiya Javayant QUALIFIED
Clifford A ButtRussiaXuxue Feng 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>