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
Costa D ButtIndiaXuxue Feng RENEWAL
Murillo P MorascaSpainBernardo Dominic NEW
Leon X GillianBrazilStephen Shaw RENEWAL
Octavia A GarufiSpainXuxue Feng UNQUALIFIED
Octavia C ChuiAustraliaIoni Bowcher UNQUALIFIED
Ivar M GlickAustraliaAsiya Javayant NEW
Deepesh L VenereCanadaStephen Shaw RENEWAL
Octavia R TollnerBrazilXuxue Feng UNQUALIFIED
Darci M FollerRussiaElwin Sharvill RENEWAL
Leja L FigeroaArgentinaIvan Magalhaes QUALIFIED
Sinclair S MarrierItalyXuxue Feng PROPOSAL
Jennifer S StensethAustraliaIvan Magalhaes UNQUALIFIED
David X OstroskyJapanAsiya Javayant NEGOTIATION
Johnson V MorascaSpainIvan Magalhaes NEGOTIATION
Julie K DoeUnited KingdomAnna Fali QUALIFIED
Clifford H BowleyAustraliaXuxue Feng RENEWAL
Nicolas F RutaAustraliaIoni Bowcher NEGOTIATION
Octavia L GillianItalyAsiya Javayant UNQUALIFIED
Jefferson J BriddickRussiaOnyama Limba NEW
Tony I NickaSpainAnna Fali PROPOSAL
Adams X DilliardArgentinaXuxue Feng NEGOTIATION
David Y WaycottUnited KingdomAmy Elsner QUALIFIED
Cody N NickaJapanElwin Sharvill NEGOTIATION
Darci N FigeroaGermanyXuxue Feng NEW
Aruna L RoysterIndiaElwin Sharvill PROPOSAL
Mayumi Y BriddickRussiaBernardo Dominic QUALIFIED
Leja N CaldareraIndiaAnna Fali QUALIFIED
Wickens N FerenczArgentinaOnyama Limba RENEWAL
Chavez T PoquetteGermanyAsiya Javayant QUALIFIED
Cody M BowleyIndiaStephen Shaw NEW
Greenwood N SergiJapanAnna Fali UNQUALIFIED
Juan I TollnerItalyIvan Magalhaes RENEWAL
Cody F RimFranceIvan Magalhaes PROPOSAL
Julie L MorascaAustraliaAmy Elsner NEW
Leon M MacleadItalyBernardo Dominic UNQUALIFIED
Rodrigues O FigeroaRussiaXuxue Feng NEGOTIATION
Emily P FerenczArgentinaElwin Sharvill RENEWAL
Jones O NestleJapanOnyama Limba NEW
Antonio X WieserRussiaIoni Bowcher UNQUALIFIED
Faith M SlusarskiJapanStephen Shaw NEGOTIATION
Wickens X KolmetzJapanOnyama Limba PROPOSAL
Leja E NestleSpainAsiya Javayant NEW
Murillo B PoquetteJapanIoni Bowcher NEW
Chavez W FlosiJapanIvan Magalhaes NEW
Darci X PaprockiArgentinaAnna Fali QUALIFIED
Aditya V GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey S SergiBrazilElwin Sharvill UNQUALIFIED
Cody F VocelkaCanadaStephen Shaw UNQUALIFIED
Aruna A BologniaBrazilAmy Elsner NEGOTIATION
Isabel H RimItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya N ButtAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin L KolmetzFranceStephen Shaw QUALIFIED
Chavez S ShinkoSpainAnna Fali QUALIFIED
Kaitlin S CaudyJapanOnyama Limba QUALIFIED
Adams N RoysterBrazilXuxue Feng NEGOTIATION
Maisha O FollerItalyIvan Magalhaes NEGOTIATION
Morrow X ShinkoUnited KingdomIoni Bowcher PROPOSAL
Aditya W ButtItalyAsiya Javayant NEW
Maisha G CaudyAustraliaElwin Sharvill NEGOTIATION
Darci M BriddickBrazilIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair X MaletIndia2024-06-23Feiner Bros NEW82Ioni Bowcher
1001Maisha I OstroskyFrance2024-05-28Printing Dimensions RENEWAL19Ioni Bowcher
1002Emily Y VocelkaCanada2024-06-02Chemel, James L Cpa RENEWAL63Ivan Magalhaes
1003Alejandro U StockhamUnited Kingdom2024-06-18Truhlar And Truhlar Attys UNQUALIFIED11Stephen Shaw
1004Leja Y AlbaresSpain2024-05-26Chemel, James L Cpa NEGOTIATION93Ioni Bowcher
1005Emily V KuskoIndia2024-06-24Benton, John B Jr RENEWAL44Onyama Limba
1006Rodrigues P RulapaughRussia2024-06-10Morlong Associates RENEWAL35Bernardo Dominic
1007Julie A OldroydArgentina2024-05-31Truhlar And Truhlar Attys NEW58Asiya Javayant
1008Maria H GillianAustralia2024-05-26Feltz Printing Service NEW59Anna Fali
1009Izzy T CaudyUnited Kingdom2024-06-18Chanay, Jeffrey A Esq NEGOTIATION21Amy Elsner
1010Leon E MarrierGermany2024-06-10Chanay, Jeffrey A Esq QUALIFIED34Stephen Shaw
1011Aruna O SergiSpain2024-05-29Feiner Bros RENEWAL46Amy Elsner
1012Maria D CaudyFrance2024-06-11Buckley Miller Wright NEW49Amy Elsner
1013Rodrigues I MacleadAustralia2024-06-19Chemel, James L Cpa UNQUALIFIED98Elwin Sharvill
1014Emily U IturbideJapan2024-06-14King, Christopher A Esq RENEWAL83Stephen Shaw
1015Johnson B PerinUnited Kingdom2024-05-27Chapman, Ross E Esq QUALIFIED38Elwin Sharvill
1016Mujtaba U AlbaresArgentina2024-06-23Rangoni Of Florence UNQUALIFIED35Asiya Javayant
1017Clifford W DoeUnited Kingdom2024-05-27Printing Dimensions UNQUALIFIED5Stephen Shaw
1018Jeanfrancois I MaletIndia2024-06-11Chanay, Jeffrey A Esq PROPOSAL32Ioni Bowcher
1019Rodrigues E MaletArgentina2024-05-29King, Christopher A Esq RENEWAL54Onyama Limba
1020Silvio E SchemmerJapan2024-06-23Printing Dimensions NEGOTIATION13Amy Elsner
1021Leon N WhobreyUnited Kingdom2024-06-23Chapman, Ross E Esq NEW94Ivan Magalhaes
1022Clifford N NickaGermany2024-06-12King, Christopher A Esq UNQUALIFIED6Onyama Limba
1023Morrow R ChuiIndia2024-06-08Truhlar And Truhlar Attys QUALIFIED28Xuxue Feng
1024Tony A GarufiUnited Kingdom2024-06-23Rangoni Of Florence NEGOTIATION27Asiya Javayant
1025Sinclair K MarrierItaly2024-06-17Dorl, James J Esq PROPOSAL94Anna Fali
1026Misaki H DilliardBrazil2024-06-07Buckley Miller Wright QUALIFIED23Bernardo Dominic
1027Silvio K DoeGermany2024-06-21Morlong Associates NEW49Ioni Bowcher
1028Francesco R InouyeUnited Kingdom2024-06-03Truhlar And Truhlar Attys NEW37Xuxue Feng
1029Alejandro J DarakjyGermany2024-06-14Printing Dimensions PROPOSAL38Stephen Shaw
1030Tony P BologniaRussia2024-05-28Chanay, Jeffrey A Esq PROPOSAL76Bernardo Dominic
1031Mujtaba J FerenczArgentina2024-06-22Dorl, James J Esq RENEWAL58Onyama Limba
1032Jeanfrancois F IturbideIndia2024-05-30Truhlar And Truhlar Attys QUALIFIED97Bernardo Dominic
1033Adams I MorascaArgentina2024-06-01Commercial Press UNQUALIFIED12Stephen Shaw
1034Jennifer G CaudyUnited Kingdom2024-05-27Buckley Miller Wright RENEWAL6Anna Fali
1035Antonio N CaldareraJapan2024-06-17King, Christopher A Esq UNQUALIFIED59Amy Elsner
1036Adams G GarufiUnited Kingdom2024-06-21Chemel, James L Cpa QUALIFIED4Elwin Sharvill
1037Francesco Y SergiRussia2024-06-20King, Christopher A Esq PROPOSAL85Ivan Magalhaes
1038Leja Y RutaSpain2024-06-20Chemel, James L Cpa UNQUALIFIED17Onyama Limba
1039Antonio C GarufiFrance2024-06-23Chanay, Jeffrey A Esq NEGOTIATION26Bernardo Dominic
1040Jefferson G PaprockiAustralia2024-06-24Chapman, Ross E Esq PROPOSAL15Amy Elsner
1041Octavia D MaletFrance2024-06-04Rousseaux, Michael Esq UNQUALIFIED61Asiya Javayant
1042Adams X OldroydJapan2024-06-23Chapman, Ross E Esq NEGOTIATION16Anna Fali
1043Izzy R ChuiArgentina2024-06-23Benton, John B Jr NEW94Elwin Sharvill
1044Alejandro F ChuiJapan2024-06-13Rangoni Of Florence NEW7Bernardo Dominic
1045Jeanfrancois K OldroydCanada2024-05-28Chapman, Ross E Esq UNQUALIFIED55Ivan Magalhaes
1046Aditya P IturbideItaly2024-06-17Printing Dimensions RENEWAL58Stephen Shaw
1047Leja O CampainCanada2024-06-17Chanay, Jeffrey A Esq NEGOTIATION51Ioni Bowcher
1048Jones M ChuiGermany2024-06-19Commercial Press NEGOTIATION53Elwin Sharvill
1049Rodrigues T MaletArgentina2024-06-01Commercial Press PROPOSAL90Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci V MaletJapanOnyama Limba UNQUALIFIED
Octavia O DoeSpainAsiya Javayant QUALIFIED
Rodrigues K DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Morrow O MorascaSpainAmy Elsner QUALIFIED
Tony X GlickJapanOnyama Limba PROPOSAL
Adams K ButtRussiaOnyama Limba PROPOSAL
Clifford Z ShinkoItalyAnna Fali PROPOSAL
Silvio R SaylorsSpainElwin Sharvill NEW
Rodrigues M GauchoArgentinaAsiya Javayant RENEWAL
Antonio Z OldroydGermanyOnyama Limba QUALIFIED
Sinclair R StockhamBrazilAsiya Javayant QUALIFIED
Ricardo I SlusarskiUnited KingdomAmy Elsner QUALIFIED
Aditya K TollnerBrazilIvan Magalhaes PROPOSAL
Octavia Q OstroskySpainElwin Sharvill UNQUALIFIED
Izzy U VocelkaArgentinaAsiya Javayant QUALIFIED
Francesco D MaletArgentinaAnna Fali RENEWAL
Cody T SchemmerSpainAsiya Javayant NEW
Antonio L DilliardArgentinaOnyama Limba NEW
Morrow R RutaFranceIvan Magalhaes NEW
Faith N SlusarskiAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois V SchemmerBrazilElwin Sharvill NEGOTIATION
Chavez R BriddickGermanyIoni Bowcher RENEWAL
Kaitlin G GillianItalyXuxue Feng NEGOTIATION
Mayumi Z TollnerUnited KingdomXuxue Feng RENEWAL
Wickens R CaldareraRussiaAmy Elsner NEGOTIATION
Greenwood Z BologniaSpainElwin Sharvill RENEWAL
Octavia G DarakjyArgentinaXuxue Feng NEW
Kadeem L WieserBrazilAsiya Javayant RENEWAL
Maisha G MacleadSpainIvan Magalhaes QUALIFIED
Juan Y GillianUnited KingdomAmy Elsner NEW
Tony R WhobreyIndiaIvan Magalhaes NEW
Stacey I GillianArgentinaStephen Shaw QUALIFIED
Emily E MarrierArgentinaBernardo Dominic RENEWAL
Deepesh P StensethIndiaXuxue Feng NEGOTIATION
Aditya Q NickaBrazilXuxue Feng UNQUALIFIED
Maria Y RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Mayumi J SergiCanadaAsiya Javayant QUALIFIED
Julie N MorascaCanadaIoni Bowcher NEGOTIATION
Isabel P FigeroaArgentinaXuxue Feng RENEWAL
Misaki I WaycottUnited KingdomIoni Bowcher PROPOSAL
Aditya K SchemmerItalyAnna Fali NEW
Deepesh R RulapaughRussiaIvan Magalhaes NEGOTIATION
David J RoysterGermanyAnna Fali UNQUALIFIED
Izzy L ChuiIndiaIoni Bowcher PROPOSAL
Cody W OldroydCanadaOnyama Limba RENEWAL
Julie W ShinkoJapanXuxue Feng NEW
Aika O VocelkaGermanyIvan Magalhaes UNQUALIFIED
Emily F VocelkaIndiaAsiya Javayant UNQUALIFIED
Misaki R MaletAustraliaIvan Magalhaes NEGOTIATION
Leja E KolmetzItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Clifford V Figeroa
Maria Y Malet
Aditya P Gaucho
Mayumi Y Flosi
Octavia Y Figeroa
Leja S Kusko
Alejandro S Rulapaugh
Antonio W Nestle
Jefferson T Dilliard
Aika S Chui
Wickens A Shinko
Jones I Perin
Cody T Iturbide
Alejandro P Bolognia
Ashley O Stockham
Mayumi Z Garufi
Leon U Poquette
Ivar G Garufi
Leja S Stenseth
Ricardo Q Ruta
Aruna M Maclead
Nicolas L Stockham
Isabel R Nestle
Izzy E Ferencz
Deepesh Y Gaucho
Aika R Shinko
Adams Y Morasca
Ashley N Stenseth
Johnson O Slusarski
Jennifer I Briddick
Aika U Ostrosky
Nicolas Q Marrier
Cody Z Rim
Claire T Wieser
Aika R Garufi
Cody M Rulapaugh
Chavez L Chui
Mujtaba T Royster
Jennifer F Inouye
Leja V Malet
Faith T Figeroa
Claire Q Amigon
Jefferson H Gillian
Kadeem T Maclead
Sinclair U Gillian
Sinclair G Rim
Ricardo B Butt
Izzy G Morasca
Nicolas I Royster
Adams R Inouye
IdCountryDate
1000United Kingdom2024-06-04
1001France2024-05-28
1002United Kingdom2024-05-31
1003Brazil2024-05-30
1004India2024-06-20
1005Argentina2024-06-22
1006Australia2024-05-29
1007Germany2024-05-28
1008Japan2024-06-10
1009Australia2024-06-05
1010Canada2024-05-26
1011Russia2024-05-28
1012Germany2024-06-10
1013Argentina2024-06-14
1014Germany2024-06-08
1015Brazil2024-06-12
1016Russia2024-06-22
1017France2024-06-04
1018Germany2024-06-19
1019Russia2024-06-14
1020India2024-06-02
1021Germany2024-06-01
1022Canada2024-06-15
1023Australia2024-06-04
1024Germany2024-06-15
1025Argentina2024-05-30
1026India2024-06-19
1027Argentina2024-06-14
1028Brazil2024-06-16
1029France2024-06-20
1030France2024-06-05
1031Spain2024-06-07
1032France2024-06-02
1033Japan2024-06-09
1034Russia2024-06-02
1035India2024-06-14
1036Russia2024-06-06
1037Australia2024-06-01
1038Germany2024-06-12
1039Australia2024-06-18
1040Spain2024-06-13
1041India2024-06-03
1042Russia2024-06-03
1043France2024-05-28
1044Brazil2024-06-02
1045Argentina2024-06-18
1046Brazil2024-05-28
1047Spain2024-05-31
1048Brazil2024-06-02
1049Spain2024-05-28

On-Demand Data

NameIdCountryDate
Emily Q Figeroa1000Italy2024-06-03
Kaitlin M Amigon1001Spain2024-06-23
Tony K Perin1002United Kingdom2024-06-24
Tony E Maclead1003Russia2024-05-27
Cody O Perin1004Germany2024-06-16
Isabel K Gaucho1005Russia2024-05-27
Kadeem P Saylors1006Germany2024-05-28
Maisha W Nestle1007Germany2024-06-03
Octavia W Bolognia1008Germany2024-06-10
Sinclair A Paprocki1009France2024-05-30
Juan Z Ostrosky1010Japan2024-06-16
Cody U Caudy1011United Kingdom2024-06-10
Arvin J Amigon1012Russia2024-06-19
Wickens P Nicka1013United Kingdom2024-05-26
Greenwood R Ferencz1014Australia2024-06-02
Mujtaba Q Kolmetz1015Canada2024-06-04
Jones C Kusko1016Russia2024-06-14
Ivar J Perin1017Canada2024-06-16
Kaitlin I Perin1018Japan2024-06-19
Ivar C Bolognia1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria N InouyeArgentinaStephen Shaw NEGOTIATION
Maria W WhobreyIndiaAmy Elsner UNQUALIFIED
Wickens F CaudyIndiaIvan Magalhaes UNQUALIFIED
James J ShinkoSpainIvan Magalhaes NEW
Octavia X AmigonItalyXuxue Feng NEGOTIATION
Emily T FigeroaFranceIoni Bowcher NEGOTIATION
Antonio V SaylorsCanadaIoni Bowcher QUALIFIED
Jefferson M FlosiGermanyStephen Shaw QUALIFIED
Costa B MorascaFranceAnna Fali NEW
Deepesh I RimFranceStephen Shaw PROPOSAL
Jennifer M OstroskyJapanBernardo Dominic RENEWAL
Costa P GlickSpainIoni Bowcher RENEWAL
Ricardo F TollnerIndiaOnyama Limba QUALIFIED
Ashley Q CaudySpainAmy Elsner QUALIFIED
Cody D SergiBrazilElwin Sharvill NEW
Adams G WaycottBrazilAnna Fali PROPOSAL
Misaki C IturbideCanadaBernardo Dominic UNQUALIFIED
Aika L GarufiAustraliaIoni Bowcher NEW
Adams B VenereUnited KingdomStephen Shaw RENEWAL
Costa Y IturbideJapanAmy Elsner NEGOTIATION
Tony F StockhamGermanyStephen Shaw UNQUALIFIED
Octavia J OstroskyBrazilBernardo Dominic PROPOSAL
Smith U RutaAustraliaOnyama Limba PROPOSAL
Francesco G VenereGermanyXuxue Feng UNQUALIFIED
Adams A WaycottGermanyOnyama Limba RENEWAL
Octavia K ChuiCanadaIvan Magalhaes PROPOSAL
Costa N VocelkaFranceAsiya Javayant NEGOTIATION
Isabel Z GillianBrazilIvan Magalhaes RENEWAL
David F FerenczArgentinaBernardo Dominic NEGOTIATION
Adams C MarrierSpainOnyama Limba PROPOSAL
Johnson V DarakjyGermanyAsiya Javayant NEW
Faith D WhobreyArgentinaBernardo Dominic NEGOTIATION
Antonio O NickaBrazilStephen Shaw UNQUALIFIED
Murillo W SaylorsAustraliaAmy Elsner UNQUALIFIED
Maisha D BriddickJapanIvan Magalhaes NEW
Sinclair D MacleadArgentinaXuxue Feng UNQUALIFIED
Jennifer K PoquetteAustraliaStephen Shaw UNQUALIFIED
Antonio P ShinkoGermanyXuxue Feng QUALIFIED
Cody K GlickJapanStephen Shaw PROPOSAL
Nicolas U FigeroaBrazilIoni Bowcher RENEWAL

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