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
Izzy A CaudyJapanStephen Shaw NEGOTIATION
Leja B SchemmerFranceOnyama Limba NEW
Munro E SergiCanadaXuxue Feng NEGOTIATION
Costa Z KuskoAustraliaAmy Elsner PROPOSAL
Salvatore N MaletJapanIoni Bowcher NEGOTIATION
Maria F InouyeArgentinaElwin Sharvill RENEWAL
Clifford R GarufiArgentinaAsiya Javayant NEGOTIATION
Chavez K PaprockiGermanyIvan Magalhaes RENEWAL
Tony K WieserGermanyAnna Fali RENEWAL
Jeanfrancois Y IturbideIndiaElwin Sharvill PROPOSAL
Jones K FollerBrazilAnna Fali QUALIFIED
Aika Z NickaArgentinaAnna Fali NEGOTIATION
Julie R StensethSpainAsiya Javayant QUALIFIED
Chavez R CampainUnited KingdomAmy Elsner RENEWAL
Maria B GlickIndiaAsiya Javayant UNQUALIFIED
Leja W TollnerArgentinaIvan Magalhaes NEGOTIATION
Adams P FlosiCanadaAsiya Javayant UNQUALIFIED
Izzy T VocelkaFranceOnyama Limba UNQUALIFIED
James X NestleJapanIvan Magalhaes NEW
Smith K FigeroaIndiaXuxue Feng QUALIFIED
Arvin L PoquetteIndiaBernardo Dominic RENEWAL
Kaitlin W StockhamAustraliaAsiya Javayant RENEWAL
Claire A SergiJapanIoni Bowcher PROPOSAL
Stacey N CaudyItalyIoni Bowcher PROPOSAL
Nicolas N GarufiIndiaAnna Fali UNQUALIFIED
Darci P PoquetteGermanyElwin Sharvill NEW
Francesco I BriddickArgentinaElwin Sharvill NEGOTIATION
Arvin Q MaletRussiaAmy Elsner UNQUALIFIED
Cody H StockhamArgentinaIvan Magalhaes UNQUALIFIED
Deepesh G VenereUnited KingdomAmy Elsner QUALIFIED
Mujtaba M FerenczGermanyAnna Fali PROPOSAL
Maisha B WieserJapanStephen Shaw UNQUALIFIED
Tony B BologniaAustraliaElwin Sharvill RENEWAL
Johnson O ButtIndiaAnna Fali NEW
Maisha W PoquetteJapanBernardo Dominic PROPOSAL
Julie B RulapaughJapanIvan Magalhaes QUALIFIED
Emily I MacleadBrazilElwin Sharvill QUALIFIED
Tony U FigeroaArgentinaElwin Sharvill QUALIFIED
Mujtaba L StockhamJapanBernardo Dominic NEW
Tony M GlickRussiaAsiya Javayant QUALIFIED
Jennifer Z VenereItalyAsiya Javayant NEW
Mujtaba H GillianSpainAsiya Javayant NEGOTIATION
Aruna R GauchoArgentinaAnna Fali RENEWAL
Greenwood H AlbaresBrazilAmy Elsner RENEWAL
Cody E GillianSpainXuxue Feng NEGOTIATION
Stacey R FigeroaArgentinaIoni Bowcher PROPOSAL
Jennifer K RulapaughGermanyXuxue Feng NEGOTIATION
Faith D ChuiIndiaStephen Shaw QUALIFIED
Maria P VocelkaAustraliaAsiya Javayant NEGOTIATION
Leon S WhobreyGermanyAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja Y RimItalyXuxue Feng RENEWAL
Octavia X GauchoItalyBernardo Dominic QUALIFIED
Izzy B MacleadArgentinaAmy Elsner RENEWAL
Munro Z RutaJapanAsiya Javayant RENEWAL
Julie D SergiGermanyIoni Bowcher RENEWAL
Alejandro M GillianFranceIoni Bowcher NEGOTIATION
Cody W DilliardAustraliaAsiya Javayant RENEWAL
Sinclair L MorascaGermanyAsiya Javayant RENEWAL
Maria J FigeroaSpainAnna Fali UNQUALIFIED
Adams I WhobreyAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci S ButtIndia2024-05-26King, Christopher A Esq RENEWAL95Stephen Shaw
1001Wickens S MarrierFrance2024-06-02Benton, John B Jr NEGOTIATION94Bernardo Dominic
1002David Y GillianJapan2024-06-03Rangoni Of Florence UNQUALIFIED96Bernardo Dominic
1003Alejandro T CaudySpain2024-06-02Rangoni Of Florence NEGOTIATION48Asiya Javayant
1004Sinclair B DarakjyItaly2024-05-28Chapman, Ross E Esq NEW37Asiya Javayant
1005Rodrigues K WieserCanada2024-05-18Benton, John B Jr UNQUALIFIED65Asiya Javayant
1006Mayumi C StensethSpain2024-06-09Commercial Press NEGOTIATION52Bernardo Dominic
1007Rodrigues G VenereCanada2024-05-17Truhlar And Truhlar Attys PROPOSAL4Asiya Javayant
1008Alejandro K WieserBrazil2024-06-06Truhlar And Truhlar Attys NEW48Asiya Javayant
1009Jennifer H DilliardCanada2024-05-17Feltz Printing Service RENEWAL90Xuxue Feng
1010Darci M MarrierSpain2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED60Bernardo Dominic
1011Maisha Q RulapaughJapan2024-05-16Chanay, Jeffrey A Esq NEGOTIATION35Asiya Javayant
1012Francesco G GillianGermany2024-06-12King, Christopher A Esq RENEWAL50Elwin Sharvill
1013Salvatore U FigeroaUnited Kingdom2024-05-18King, Christopher A Esq NEW85Stephen Shaw
1014Darci L StockhamCanada2024-05-20King, Christopher A Esq QUALIFIED9Asiya Javayant
1015Stacey H KolmetzUnited Kingdom2024-06-06King, Christopher A Esq QUALIFIED0Elwin Sharvill
1016Jefferson Q TollnerAustralia2024-05-19Chapman, Ross E Esq NEW75Anna Fali
1017Aika H RoysterGermany2024-05-25Benton, John B Jr NEGOTIATION76Onyama Limba
1018Aditya I PoquetteJapan2024-06-04Truhlar And Truhlar Attys RENEWAL49Stephen Shaw
1019Johnson X KolmetzCanada2024-06-11Buckley Miller Wright NEGOTIATION67Asiya Javayant
1020Aditya P FlosiFrance2024-05-16Chanay, Jeffrey A Esq QUALIFIED31Asiya Javayant
1021James V TollnerFrance2024-05-16Printing Dimensions UNQUALIFIED1Onyama Limba
1022Aruna V RoysterItaly2024-05-31Rousseaux, Michael Esq QUALIFIED46Bernardo Dominic
1023Morrow D ShinkoItaly2024-05-27Truhlar And Truhlar Attys QUALIFIED4Onyama Limba
1024Ashley D OstroskyJapan2024-05-26Feltz Printing Service NEGOTIATION32Elwin Sharvill
1025Izzy J PerinSpain2024-05-17Feiner Bros NEW78Asiya Javayant
1026Leon S OstroskyAustralia2024-06-07Dorl, James J Esq UNQUALIFIED59Anna Fali
1027Claire L KuskoBrazil2024-05-18Feiner Bros PROPOSAL56Ivan Magalhaes
1028Aruna M DoeGermany2024-05-15Rousseaux, Michael Esq PROPOSAL89Ioni Bowcher
1029Juan S FigeroaFrance2024-05-29Truhlar And Truhlar Attys NEW54Xuxue Feng
1030Alejandro Q MarrierArgentina2024-05-23Printing Dimensions PROPOSAL50Stephen Shaw
1031Deepesh L AmigonBrazil2024-05-31Dorl, James J Esq UNQUALIFIED50Amy Elsner
1032Antonio M RimGermany2024-06-10Chapman, Ross E Esq NEGOTIATION73Ivan Magalhaes
1033Maisha T ShinkoItaly2024-06-07Rousseaux, Michael Esq UNQUALIFIED83Elwin Sharvill
1034Aruna C VocelkaCanada2024-05-30Morlong Associates NEGOTIATION55Elwin Sharvill
1035Sinclair Z BriddickGermany2024-06-07Morlong Associates NEGOTIATION88Anna Fali
1036Ashley H OstroskyRussia2024-05-31Chemel, James L Cpa NEW55Anna Fali
1037Jeanfrancois O MorascaItaly2024-05-17Benton, John B Jr RENEWAL16Bernardo Dominic
1038Isabel P VenereFrance2024-05-28Dorl, James J Esq NEW94Bernardo Dominic
1039Ashley L MaletRussia2024-06-03Rousseaux, Michael Esq NEW6Anna Fali
1040Arvin Z CampainGermany2024-06-11Morlong Associates NEGOTIATION20Amy Elsner
1041Morrow T SergiSpain2024-06-08Chemel, James L Cpa PROPOSAL11Amy Elsner
1042Mayumi I SergiBrazil2024-05-31Truhlar And Truhlar Attys PROPOSAL56Ivan Magalhaes
1043Ricardo C KuskoUnited Kingdom2024-05-21Benton, John B Jr NEGOTIATION28Asiya Javayant
1044Jefferson S VocelkaRussia2024-05-20Chemel, James L Cpa UNQUALIFIED46Ioni Bowcher
1045Faith F BologniaFrance2024-05-18Dorl, James J Esq NEW2Bernardo Dominic
1046Maria V GlickBrazil2024-05-26Feltz Printing Service QUALIFIED33Amy Elsner
1047Silvio E MacleadIndia2024-05-19King, Christopher A Esq PROPOSAL30Elwin Sharvill
1048Chavez I GarufiCanada2024-05-21Truhlar And Truhlar Attys UNQUALIFIED21Ivan Magalhaes
1049Tony S DilliardGermany2024-06-10King, Christopher A Esq NEW60Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Octavia R BologniaRussiaBernardo Dominic QUALIFIED
Alejandro A DilliardBrazilAsiya Javayant QUALIFIED
Octavia K BologniaArgentinaOnyama Limba QUALIFIED
Leon T PoquetteRussiaAnna Fali UNQUALIFIED
Claire M OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Antonio K ShinkoIndiaStephen Shaw NEGOTIATION
Aruna T PaprockiGermanyXuxue Feng RENEWAL
Emily P OldroydGermanyStephen Shaw RENEWAL
Nicolas R ButtArgentinaStephen Shaw QUALIFIED
Mujtaba L AmigonIndiaAmy Elsner NEGOTIATION
Maria B FollerSpainAmy Elsner PROPOSAL
Misaki O OldroydAustraliaXuxue Feng PROPOSAL
Tony H IturbideBrazilElwin Sharvill PROPOSAL
Misaki A WieserArgentinaElwin Sharvill RENEWAL
Emily P BriddickSpainOnyama Limba RENEWAL
Smith U PoquetteIndiaXuxue Feng QUALIFIED
Francesco D BowleyRussiaXuxue Feng NEGOTIATION
Faith W IturbideFranceElwin Sharvill UNQUALIFIED
Adams O DilliardIndiaAnna Fali RENEWAL
Silvio J RulapaughArgentinaBernardo Dominic NEW
Leja Z OstroskyUnited KingdomAmy Elsner NEW
Emily H BologniaGermanyIvan Magalhaes PROPOSAL
Aika H FlosiArgentinaIvan Magalhaes RENEWAL
Maria Q IturbideRussiaBernardo Dominic RENEWAL
Aruna J TollnerRussiaOnyama Limba QUALIFIED
Costa Y InouyeUnited KingdomStephen Shaw NEW
David W GlickGermanyIoni Bowcher NEGOTIATION
Leja F ShinkoJapanAsiya Javayant RENEWAL
Clifford O WhobreyRussiaAsiya Javayant RENEWAL
Aika N PoquetteArgentinaBernardo Dominic NEGOTIATION
Ricardo E StensethSpainIoni Bowcher PROPOSAL
Jeanfrancois E WhobreyGermanyIoni Bowcher NEW
Sinclair N OldroydUnited KingdomOnyama Limba UNQUALIFIED
Misaki J IturbideItalyAsiya Javayant PROPOSAL
Claire F DilliardUnited KingdomIoni Bowcher NEGOTIATION
Faith O MorascaFranceBernardo Dominic PROPOSAL
Kadeem K BowleyItalyBernardo Dominic NEGOTIATION
Faith W InouyeCanadaBernardo Dominic PROPOSAL
Kadeem F GlickJapanAnna Fali NEGOTIATION
James L GauchoAustraliaIoni Bowcher PROPOSAL
Tony M WhobreyIndiaBernardo Dominic UNQUALIFIED
Claire G CampainAustraliaElwin Sharvill UNQUALIFIED
Tony D SergiSpainBernardo Dominic QUALIFIED
Ricardo N NestleArgentinaIvan Magalhaes PROPOSAL
James K SaylorsSpainIoni Bowcher NEGOTIATION
Murillo Z KuskoGermanyBernardo Dominic RENEWAL
Antonio S DoeFranceBernardo Dominic RENEWAL
Morrow W CampainRussiaIvan Magalhaes QUALIFIED
Darci F IturbideIndiaOnyama Limba PROPOSAL
Ivar K RulapaughAustraliaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Clifford C Garufi
Arvin J Butt
Mujtaba S Inouye
Faith B Malet
Sinclair G Kolmetz
Maria P Poquette
Johnson U Royster
Maria A Figeroa
Francesco I Ruta
Sinclair L Kolmetz
Isabel U Butt
Aika M Ruta
Morrow C Maclead
Claire X Sergi
Clifford E Marrier
Aditya R Gillian
Tony Z Perin
Ashley Z Butt
Maisha A Stockham
Munro V Caudy
Salvatore D Morasca
Arvin O Poquette
Maisha C Dilliard
Francesco E Bowley
Jefferson X Stenseth
Jefferson E Gaucho
Faith M Campain
Salvatore H Nicka
Morrow J Stenseth
Mayumi C Morasca
Clifford F Sergi
Isabel U Caudy
Octavia K Morasca
Jefferson L Bolognia
Jefferson R Foller
Izzy K Glick
Arvin T Doe
Morrow E Campain
Mujtaba W Bolognia
Leon Y Bolognia
Izzy V Wieser
Darci J Waycott
Leon K Oldroyd
Antonio X Marrier
Rodrigues I Briddick
Francesco Z Royster
Munro G Butt
Maisha K Whobrey
Chavez A Gaucho
Clifford C Butt
IdCountryDate
1000Australia2024-05-16
1001Japan2024-05-31
1002France2024-05-15
1003Argentina2024-06-07
1004Russia2024-05-15
1005France2024-06-08
1006Canada2024-05-16
1007United Kingdom2024-05-26
1008Argentina2024-06-01
1009India2024-06-05
1010Brazil2024-05-20
1011United Kingdom2024-05-28
1012Russia2024-05-22
1013France2024-05-28
1014Argentina2024-05-17
1015United Kingdom2024-06-06
1016Australia2024-06-05
1017Australia2024-06-10
1018United Kingdom2024-05-31
1019Brazil2024-06-07
1020Australia2024-06-12
1021Germany2024-05-17
1022United Kingdom2024-05-20
1023Australia2024-06-09
1024France2024-06-05
1025Italy2024-05-28
1026Russia2024-05-28
1027Germany2024-05-25
1028Australia2024-05-27
1029France2024-06-06
1030Spain2024-06-02
1031Germany2024-06-07
1032United Kingdom2024-06-05
1033France2024-05-25
1034Japan2024-06-10
1035Australia2024-05-27
1036Canada2024-05-19
1037Australia2024-05-24
1038India2024-05-27
1039Japan2024-05-19
1040United Kingdom2024-05-22
1041Italy2024-06-02
1042Italy2024-06-13
1043Australia2024-05-25
1044France2024-06-03
1045Italy2024-05-18
1046Russia2024-05-30
1047Canada2024-05-20
1048Brazil2024-05-23
1049Spain2024-05-31

On-Demand Data

NameIdCountryDate
Izzy L Malet1000Australia2024-05-21
Jennifer I Chui1001Germany2024-05-26
Chavez Z Maclead1002India2024-06-03
Morrow T Saylors1003Brazil2024-05-24
Clifford K Caldarera1004India2024-05-19
Maisha O Figeroa1005Canada2024-06-08
Cody H Garufi1006France2024-06-04
Aditya K Foller1007Brazil2024-06-12
Jennifer F Malet1008Germany2024-06-03
Maria H Gaucho1009United Kingdom2024-06-01
Kaitlin V Tollner1010United Kingdom2024-05-16
Ricardo Z Wieser1011Japan2024-05-17
Tony Z Albares1012Italy2024-05-27
Deepesh N Sergi1013Spain2024-06-07
Wickens T Darakjy1014Argentina2024-06-01
Leja Y Nicka1015Canada2024-06-11
Sinclair Q Briddick1016Australia2024-05-17
Leja A Campain1017France2024-05-28
Leja A Schemmer1018India2024-05-30
Kaitlin M Gaucho1019Japan2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba C GlickSpainBernardo Dominic NEGOTIATION
Julie A SlusarskiAustraliaIvan Magalhaes PROPOSAL
Johnson Y RutaJapanStephen Shaw NEGOTIATION
Deepesh O OldroydUnited KingdomIoni Bowcher RENEWAL
Claire B ChuiBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois V VocelkaIndiaOnyama Limba NEW
Ivar Y PoquetteBrazilStephen Shaw NEGOTIATION
Costa K CaudyAustraliaXuxue Feng NEGOTIATION
Murillo M KolmetzArgentinaXuxue Feng RENEWAL
Izzy F ShinkoRussiaAnna Fali RENEWAL
Murillo S MaletIndiaStephen Shaw RENEWAL
Aika B MaletIndiaXuxue Feng PROPOSAL
Ivar T ShinkoJapanAmy Elsner QUALIFIED
Leja Y StensethFranceXuxue Feng NEGOTIATION
James T KuskoCanadaXuxue Feng NEGOTIATION
Jones N DilliardFranceBernardo Dominic UNQUALIFIED
Salvatore Y OstroskySpainAmy Elsner UNQUALIFIED
Ashley Z CampainGermanyBernardo Dominic PROPOSAL
Emily E DoeIndiaAsiya Javayant NEW
Leon W MaletRussiaElwin Sharvill QUALIFIED
Rodrigues V FollerJapanIvan Magalhaes NEGOTIATION
Nicolas E SergiRussiaXuxue Feng UNQUALIFIED
Emily S OstroskyRussiaIvan Magalhaes QUALIFIED
Salvatore T SergiCanadaAnna Fali UNQUALIFIED
Alejandro X FlosiItalyAsiya Javayant NEGOTIATION
Johnson Z AlbaresRussiaElwin Sharvill NEW
Kadeem S BologniaJapanIvan Magalhaes QUALIFIED
Smith N SlusarskiBrazilAsiya Javayant PROPOSAL
Octavia Z StockhamItalyAmy Elsner RENEWAL
Cody W RutaCanadaStephen Shaw NEW
Alejandro G OldroydJapanXuxue Feng NEGOTIATION
Claire B VocelkaFranceOnyama Limba NEGOTIATION
Aruna I GarufiIndiaAmy Elsner UNQUALIFIED
Costa T SchemmerAustraliaOnyama Limba NEW
Rodrigues L RulapaughBrazilIvan Magalhaes RENEWAL
Misaki C KolmetzIndiaOnyama Limba PROPOSAL
Sinclair U InouyeCanadaStephen Shaw NEGOTIATION
Leja X NestleGermanyIvan Magalhaes NEGOTIATION
Octavia I IturbideJapanIvan Magalhaes PROPOSAL
Clifford V GillianIndiaElwin Sharvill QUALIFIED

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