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
Nicolas U FigeroaIndiaOnyama Limba PROPOSAL
Ricardo E GillianRussiaIvan Magalhaes UNQUALIFIED
Deepesh Y KolmetzRussiaXuxue Feng RENEWAL
Cody R FigeroaIndiaXuxue Feng UNQUALIFIED
Clifford U TollnerIndiaElwin Sharvill NEGOTIATION
Mujtaba J GillianArgentinaIvan Magalhaes RENEWAL
Francesco R SlusarskiBrazilAmy Elsner PROPOSAL
Ivar S MaletRussiaStephen Shaw NEGOTIATION
David O WieserJapanElwin Sharvill UNQUALIFIED
Faith Q CampainBrazilElwin Sharvill RENEWAL
Julie R FlosiItalyOnyama Limba NEGOTIATION
Silvio K FigeroaGermanyIvan Magalhaes RENEWAL
Alejandro W VocelkaFranceElwin Sharvill PROPOSAL
Izzy M IturbideBrazilAnna Fali NEGOTIATION
Deepesh I RoysterAustraliaElwin Sharvill QUALIFIED
Morrow G FollerUnited KingdomAnna Fali RENEWAL
Ricardo C PaprockiItalyBernardo Dominic NEGOTIATION
Ashley R ShinkoArgentinaXuxue Feng NEGOTIATION
Morrow B CampainUnited KingdomOnyama Limba QUALIFIED
Francesco G RulapaughCanadaIoni Bowcher RENEWAL
Mujtaba R SlusarskiFranceStephen Shaw RENEWAL
Isabel L BowleyRussiaIoni Bowcher QUALIFIED
Faith J DoeArgentinaAnna Fali NEGOTIATION
Francesco C GlickItalyElwin Sharvill UNQUALIFIED
Darci A MaletUnited KingdomAmy Elsner NEW
Aika F FollerFranceIoni Bowcher NEGOTIATION
Morrow J GlickRussiaAsiya Javayant QUALIFIED
Munro U BologniaJapanXuxue Feng UNQUALIFIED
Silvio C FlosiIndiaOnyama Limba QUALIFIED
Murillo V BologniaBrazilIoni Bowcher PROPOSAL
Clifford Y KuskoAustraliaIoni Bowcher QUALIFIED
Leja H FerenczItalyAnna Fali NEW
Silvio K FigeroaJapanElwin Sharvill PROPOSAL
Aruna H BowleyArgentinaIvan Magalhaes RENEWAL
Morrow E MarrierAustraliaIvan Magalhaes NEGOTIATION
Jennifer V PoquetteFranceElwin Sharvill UNQUALIFIED
Stacey V ShinkoAustraliaIvan Magalhaes NEW
Greenwood D FerenczRussiaStephen Shaw UNQUALIFIED
Wickens Q OldroydBrazilBernardo Dominic PROPOSAL
Claire X FlosiArgentinaBernardo Dominic NEW
James Y ButtAustraliaOnyama Limba NEGOTIATION
Deepesh E GlickIndiaAsiya Javayant QUALIFIED
Smith E WhobreyIndiaXuxue Feng NEW
Rodrigues T RulapaughJapanAmy Elsner UNQUALIFIED
Adams F RoysterIndiaElwin Sharvill NEGOTIATION
Nicolas N MaletJapanOnyama Limba NEW
Ricardo Q PoquetteJapanIoni Bowcher NEGOTIATION
James S KuskoSpainOnyama Limba QUALIFIED
Antonio D ShinkoRussiaAsiya Javayant NEW
Clifford H FigeroaFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna Y PerinBrazilAmy Elsner QUALIFIED
Ashley K WhobreyFranceIoni Bowcher NEW
Faith T KolmetzCanadaIvan Magalhaes QUALIFIED
Johnson A SlusarskiGermanyAmy Elsner RENEWAL
Darci Y GarufiCanadaAnna Fali PROPOSAL
Darci G KolmetzArgentinaOnyama Limba NEGOTIATION
Arvin O DarakjySpainXuxue Feng QUALIFIED
Izzy X WieserArgentinaAmy Elsner RENEWAL
Francesco P CampainCanadaXuxue Feng QUALIFIED
Ivar N AmigonFranceOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford U SlusarskiItaly2024-06-07Chemel, James L Cpa RENEWAL22Ioni Bowcher
1001James J ButtFrance2024-06-16Feiner Bros UNQUALIFIED2Onyama Limba
1002Izzy O PaprockiItaly2024-06-10Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
1003Smith K SaylorsBrazil2024-05-23Chapman, Ross E Esq QUALIFIED29Ivan Magalhaes
1004Izzy Q FlosiBrazil2024-06-04Dorl, James J Esq NEW61Ioni Bowcher
1005Maisha Q NestleJapan2024-06-12Feiner Bros PROPOSAL68Elwin Sharvill
1006Ivar O MaletRussia2024-06-16Chemel, James L Cpa RENEWAL54Ioni Bowcher
1007Izzy B SchemmerArgentina2024-05-28Rangoni Of Florence QUALIFIED87Bernardo Dominic
1008Smith W ChuiIndia2024-06-01Benton, John B Jr NEW3Xuxue Feng
1009Isabel E GarufiFrance2024-06-11Rangoni Of Florence PROPOSAL49Ivan Magalhaes
1010Jones I WieserJapan2024-06-09Feiner Bros NEW21Anna Fali
1011Tony C MaletJapan2024-05-29Chapman, Ross E Esq NEGOTIATION45Anna Fali
1012Ivar D MacleadItaly2024-06-15Feiner Bros NEW92Xuxue Feng
1013Cody L FlosiArgentina2024-06-07Feiner Bros NEGOTIATION12Xuxue Feng
1014Jennifer X GillianCanada2024-06-02King, Christopher A Esq NEW29Anna Fali
1015Alejandro N OldroydGermany2024-05-25Truhlar And Truhlar Attys RENEWAL96Ivan Magalhaes
1016Rodrigues U MaletCanada2024-06-19Benton, John B Jr NEGOTIATION18Stephen Shaw
1017Jones L MorascaJapan2024-06-11King, Christopher A Esq QUALIFIED65Ioni Bowcher
1018Mayumi C RulapaughIndia2024-06-18Printing Dimensions UNQUALIFIED98Anna Fali
1019Wickens F WieserBrazil2024-06-20Feltz Printing Service NEGOTIATION25Ivan Magalhaes
1020Jones V GlickSpain2024-05-29Printing Dimensions NEGOTIATION58Stephen Shaw
1021Darci L GarufiBrazil2024-05-30Printing Dimensions QUALIFIED41Elwin Sharvill
1022Aditya W WaycottAustralia2024-05-25Rangoni Of Florence QUALIFIED25Stephen Shaw
1023Adams L BowleyGermany2024-06-16Morlong Associates NEW75Onyama Limba
1024Leon Q MorascaJapan2024-06-12Printing Dimensions RENEWAL95Ioni Bowcher
1025Faith H CaldareraArgentina2024-06-09Benton, John B Jr NEW21Ivan Magalhaes
1026Jefferson M IturbideFrance2024-06-07Printing Dimensions UNQUALIFIED76Asiya Javayant
1027Stacey K SlusarskiRussia2024-06-10Truhlar And Truhlar Attys NEGOTIATION29Bernardo Dominic
1028Sinclair G SlusarskiArgentina2024-06-07Feltz Printing Service QUALIFIED30Anna Fali
1029Ivar X VocelkaBrazil2024-06-04Feltz Printing Service UNQUALIFIED48Stephen Shaw
1030Deepesh J MarrierUnited Kingdom2024-05-25Printing Dimensions PROPOSAL33Onyama Limba
1031Leja E MorascaCanada2024-06-09Commercial Press NEGOTIATION16Stephen Shaw
1032Silvio W GarufiIndia2024-06-07Commercial Press PROPOSAL62Anna Fali
1033Maria C GauchoIndia2024-05-28Buckley Miller Wright NEW69Onyama Limba
1034Aika U BriddickBrazil2024-06-01Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1035Nicolas H MacleadItaly2024-06-02Printing Dimensions RENEWAL97Amy Elsner
1036Alejandro X RoysterSpain2024-06-16Commercial Press NEGOTIATION12Ivan Magalhaes
1037Greenwood K CampainUnited Kingdom2024-05-26Chanay, Jeffrey A Esq QUALIFIED67Onyama Limba
1038Jennifer F WieserGermany2024-06-16Chapman, Ross E Esq UNQUALIFIED71Ivan Magalhaes
1039Aruna C StockhamRussia2024-06-05Morlong Associates RENEWAL77Amy Elsner
1040Aruna O StensethAustralia2024-06-04Printing Dimensions UNQUALIFIED97Bernardo Dominic
1041Faith Z GarufiBrazil2024-06-07Benton, John B Jr UNQUALIFIED62Amy Elsner
1042Chavez N NickaAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION95Onyama Limba
1043Stacey F NestleArgentina2024-06-06Morlong Associates QUALIFIED3Anna Fali
1044Ashley C VocelkaFrance2024-06-21Chemel, James L Cpa UNQUALIFIED7Elwin Sharvill
1045Johnson N CaudyRussia2024-05-25King, Christopher A Esq NEGOTIATION78Bernardo Dominic
1046Chavez F PaprockiRussia2024-06-02Commercial Press NEGOTIATION44Elwin Sharvill
1047Kadeem F GlickUnited Kingdom2024-06-12Printing Dimensions RENEWAL96Asiya Javayant
1048Isabel I AmigonJapan2024-05-28Rousseaux, Michael Esq NEGOTIATION0Xuxue Feng
1049Salvatore G BologniaAustralia2024-06-02Morlong Associates UNQUALIFIED8Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ricardo M PerinSpainOnyama Limba PROPOSAL
Leon Q NickaItalyXuxue Feng UNQUALIFIED
Costa I BriddickBrazilOnyama Limba PROPOSAL
Tony S GillianAustraliaOnyama Limba PROPOSAL
Isabel C OstroskyJapanStephen Shaw NEGOTIATION
Mayumi W CaldareraJapanAnna Fali PROPOSAL
Murillo T FlosiSpainStephen Shaw NEGOTIATION
Leon K WaycottFranceOnyama Limba NEW
Maria E InouyeRussiaElwin Sharvill UNQUALIFIED
Ricardo A CaldareraIndiaBernardo Dominic RENEWAL
Jennifer J OstroskyRussiaElwin Sharvill RENEWAL
Mujtaba O MaletCanadaIoni Bowcher UNQUALIFIED
Greenwood Q ChuiArgentinaStephen Shaw QUALIFIED
Adams X WaycottUnited KingdomIvan Magalhaes PROPOSAL
Leja M DilliardGermanyIvan Magalhaes PROPOSAL
Adams I AlbaresItalyIvan Magalhaes NEGOTIATION
Stacey D VocelkaGermanyElwin Sharvill QUALIFIED
Claire L PerinArgentinaOnyama Limba NEW
Kadeem Q FlosiCanadaIvan Magalhaes UNQUALIFIED
Maria L GlickArgentinaElwin Sharvill NEW
Murillo Q MaletGermanyIvan Magalhaes NEGOTIATION
Chavez N MaletRussiaElwin Sharvill RENEWAL
Murillo D RulapaughCanadaStephen Shaw NEGOTIATION
Darci F AmigonArgentinaIoni Bowcher NEW
Silvio M FerenczRussiaAsiya Javayant UNQUALIFIED
Morrow K NickaUnited KingdomAmy Elsner NEW
Kaitlin T TollnerAustraliaStephen Shaw NEGOTIATION
Ricardo A RutaFranceIvan Magalhaes RENEWAL
Ricardo N SchemmerJapanElwin Sharvill UNQUALIFIED
David P VenereUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba L TollnerAustraliaIoni Bowcher UNQUALIFIED
Costa A NestleUnited KingdomOnyama Limba QUALIFIED
Juan X MorascaRussiaStephen Shaw PROPOSAL
Kaitlin Q ShinkoIndiaAnna Fali UNQUALIFIED
Ricardo O KuskoJapanXuxue Feng PROPOSAL
Jefferson H PerinCanadaOnyama Limba UNQUALIFIED
Johnson M DarakjyArgentinaStephen Shaw QUALIFIED
Kadeem H FlosiCanadaIoni Bowcher NEW
Kaitlin H WieserAustraliaIoni Bowcher NEW
Arvin C RulapaughIndiaAnna Fali QUALIFIED
Stacey L FollerUnited KingdomStephen Shaw NEGOTIATION
Octavia G InouyeUnited KingdomBernardo Dominic PROPOSAL
Kadeem N GarufiBrazilIvan Magalhaes PROPOSAL
Deepesh Q AlbaresBrazilAnna Fali PROPOSAL
David X SlusarskiAustraliaAsiya Javayant NEW
Morrow V FlosiCanadaXuxue Feng UNQUALIFIED
Mujtaba A NestleArgentinaIoni Bowcher UNQUALIFIED
Juan W OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Cody G KuskoFranceIoni Bowcher PROPOSAL
Aruna E TollnerGermanyAsiya Javayant NEW
Frozen Columns
Name
Octavia K Morasca
Maisha J Stenseth
Smith P Tollner
Stacey G Slusarski
Nicolas O Ferencz
Jennifer T Butt
Greenwood L Dilliard
Munro X Butt
Antonio R Maclead
Mayumi B Maclead
Wickens A Nestle
Emily K Foller
Leon B Ruta
Leja L Poquette
Costa S Poquette
Aruna H Rim
Emily C Vocelka
Francesco B Iturbide
Wickens P Butt
Aruna E Inouye
Mujtaba E Nestle
Maisha I Ruta
Johnson L Bolognia
Octavia H Garufi
Silvio P Nestle
David Z Nicka
Greenwood A Foller
Jones O Morasca
Tony E Perin
Antonio E Marrier
David M Amigon
Maisha A Shinko
David P Bolognia
Emily X Rim
Cody Y Glick
Aika P Vocelka
Chavez C Morasca
Kadeem Z Kusko
Isabel Z Paprocki
Jeanfrancois L Butt
Jefferson J Campain
Leon G Caudy
Kaitlin Y Kusko
Murillo T Schemmer
James F Caldarera
Faith L Caudy
Alejandro R Figeroa
Deepesh B Nestle
James H Bolognia
Cody U Wieser
IdCountryDate
1000Italy2024-06-07
1001United Kingdom2024-06-10
1002Australia2024-06-04
1003Italy2024-06-17
1004Argentina2024-06-16
1005Brazil2024-06-09
1006Argentina2024-06-10
1007Germany2024-06-07
1008Spain2024-06-11
1009United Kingdom2024-06-09
1010Germany2024-06-05
1011Spain2024-06-10
1012Italy2024-06-09
1013Italy2024-05-27
1014India2024-05-31
1015Australia2024-05-31
1016Russia2024-05-27
1017Japan2024-05-24
1018Brazil2024-05-26
1019United Kingdom2024-06-03
1020Brazil2024-06-06
1021Canada2024-05-27
1022Italy2024-06-10
1023Japan2024-06-08
1024United Kingdom2024-05-24
1025India2024-06-13
1026Brazil2024-06-14
1027Russia2024-05-31
1028Spain2024-06-06
1029Germany2024-06-10
1030Spain2024-06-04
1031Argentina2024-06-04
1032Russia2024-06-06
1033Germany2024-06-01
1034Germany2024-06-03
1035India2024-05-28
1036Spain2024-05-28
1037Argentina2024-05-24
1038Spain2024-06-17
1039Spain2024-06-10
1040France2024-06-16
1041Brazil2024-06-06
1042India2024-06-15
1043Brazil2024-05-26
1044France2024-05-27
1045Brazil2024-05-27
1046Italy2024-06-12
1047Spain2024-06-08
1048Russia2024-06-07
1049Argentina2024-06-07

On-Demand Data

NameIdCountryDate
Kadeem O Figeroa1000Russia2024-06-04
Aditya O Nestle1001Japan2024-06-08
Jennifer Z Malet1002Canada2024-06-11
Mujtaba F Saylors1003Germany2024-06-06
Isabel F Kolmetz1004Japan2024-06-12
Juan Z Rim1005Canada2024-05-27
Aruna H Foller1006Canada2024-06-15
Tony B Glick1007Germany2024-06-11
Maria C Campain1008Brazil2024-06-10
Murillo M Malet1009Germany2024-06-09
Clifford J Rim1010Argentina2024-06-19
Jones A Saylors1011Brazil2024-05-31
Mayumi W Inouye1012Brazil2024-05-29
Misaki V Marrier1013Japan2024-06-02
Cody P Briddick1014Argentina2024-05-25
Salvatore Z Morasca1015Australia2024-06-21
Leon P Malet1016India2024-06-14
Kadeem P Doe1017Australia2024-06-04
Sinclair Y Flosi1018Canada2024-05-29
Jeanfrancois A Figeroa1019Argentina2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I SlusarskiGermanyStephen Shaw RENEWAL
Claire X PaprockiIndiaAnna Fali QUALIFIED
Kaitlin V CampainFranceXuxue Feng PROPOSAL
Maisha L GillianRussiaIoni Bowcher QUALIFIED
Jones L SergiRussiaStephen Shaw NEW
Emily G NestleAustraliaAsiya Javayant NEW
David O ShinkoAustraliaElwin Sharvill PROPOSAL
Deepesh W GlickUnited KingdomStephen Shaw QUALIFIED
Aditya C WaycottCanadaElwin Sharvill RENEWAL
Leja W OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Ivar B DoeAustraliaAsiya Javayant NEW
James P OstroskySpainStephen Shaw RENEWAL
Aruna N RulapaughBrazilIoni Bowcher NEW
Isabel J KolmetzItalyBernardo Dominic RENEWAL
Leon A RutaIndiaAnna Fali RENEWAL
Izzy I SaylorsIndiaAmy Elsner QUALIFIED
Aditya P WieserRussiaAsiya Javayant QUALIFIED
Chavez I StensethFranceIvan Magalhaes NEGOTIATION
Smith D MorascaRussiaAnna Fali NEGOTIATION
Adams E GlickRussiaAmy Elsner UNQUALIFIED
Emily K DoeIndiaOnyama Limba NEGOTIATION
Chavez F FerenczGermanyBernardo Dominic QUALIFIED
Isabel M TollnerRussiaAmy Elsner UNQUALIFIED
Juan B KuskoAustraliaStephen Shaw NEW
Julie N RoysterSpainIvan Magalhaes PROPOSAL
David A CaudyCanadaAmy Elsner QUALIFIED
Arvin H CaudyRussiaIoni Bowcher QUALIFIED
Sinclair Q MaletRussiaIoni Bowcher RENEWAL
Mujtaba V FlosiUnited KingdomAsiya Javayant QUALIFIED
Francesco R RulapaughAustraliaIoni Bowcher RENEWAL
Stacey F RulapaughArgentinaBernardo Dominic UNQUALIFIED
Ivar Q CaldareraAustraliaAmy Elsner RENEWAL
Adams B ChuiItalyAnna Fali UNQUALIFIED
Jennifer K ChuiJapanXuxue Feng NEGOTIATION
Ivar B RutaGermanyXuxue Feng NEW
Sinclair C FigeroaJapanStephen Shaw UNQUALIFIED
Kadeem Q GarufiGermanyStephen Shaw PROPOSAL
Jeanfrancois S PoquetteUnited KingdomAnna Fali UNQUALIFIED
Isabel Y PaprockiArgentinaIvan Magalhaes QUALIFIED
Kadeem N GlickSpainAsiya Javayant 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>