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
Octavia O ChuiSpainIvan Magalhaes UNQUALIFIED
Faith T PaprockiItalyAnna Fali QUALIFIED
Kaitlin V CaldareraGermanyBernardo Dominic QUALIFIED
Aditya L MaletFranceElwin Sharvill UNQUALIFIED
Johnson Q FerenczBrazilAmy Elsner NEGOTIATION
Antonio L WhobreySpainIoni Bowcher PROPOSAL
Mayumi M NestleIndiaIoni Bowcher NEGOTIATION
Misaki O DilliardAustraliaIvan Magalhaes NEGOTIATION
Arvin X OldroydSpainBernardo Dominic NEW
Silvio S DilliardFranceBernardo Dominic PROPOSAL
Leon X CaudyGermanyStephen Shaw UNQUALIFIED
Jeanfrancois Y KolmetzArgentinaBernardo Dominic NEW
Isabel R AmigonArgentinaElwin Sharvill NEW
Maria Q PoquetteItalyStephen Shaw PROPOSAL
Mayumi X MarrierBrazilAsiya Javayant RENEWAL
Francesco T StockhamIndiaOnyama Limba QUALIFIED
Francesco D SergiSpainXuxue Feng NEW
Greenwood B RulapaughAustraliaAsiya Javayant PROPOSAL
Maria Z RutaRussiaStephen Shaw RENEWAL
Jefferson N OstroskyFranceIoni Bowcher UNQUALIFIED
Chavez N DarakjyUnited KingdomAmy Elsner NEW
Munro T FlosiJapanOnyama Limba UNQUALIFIED
Johnson C RulapaughRussiaIvan Magalhaes UNQUALIFIED
Izzy N NestleIndiaXuxue Feng UNQUALIFIED
Rodrigues K CaldareraUnited KingdomOnyama Limba QUALIFIED
Nicolas J PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Cody Z MaletGermanyIvan Magalhaes RENEWAL
Tony L MacleadCanadaAmy Elsner QUALIFIED
Jeanfrancois Z GlickAustraliaAsiya Javayant PROPOSAL
Alejandro L DoeArgentinaStephen Shaw RENEWAL
Juan G InouyeJapanElwin Sharvill NEW
Sinclair C SchemmerSpainElwin Sharvill RENEWAL
Aika Y NickaCanadaIvan Magalhaes PROPOSAL
Mayumi O SaylorsBrazilXuxue Feng QUALIFIED
Smith K KuskoGermanyElwin Sharvill RENEWAL
Stacey V FollerCanadaXuxue Feng NEGOTIATION
Silvio N InouyeRussiaBernardo Dominic UNQUALIFIED
Octavia P SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Sinclair U BriddickArgentinaIoni Bowcher QUALIFIED
Aditya I CampainGermanyIoni Bowcher NEGOTIATION
Tony J OstroskyUnited KingdomIvan Magalhaes NEW
Tony Y NickaIndiaIvan Magalhaes NEGOTIATION
Julie X OldroydIndiaStephen Shaw NEGOTIATION
Faith V FigeroaGermanyXuxue Feng NEGOTIATION
Stacey H PoquetteSpainXuxue Feng UNQUALIFIED
Jones F RimSpainOnyama Limba PROPOSAL
Adams N SergiRussiaBernardo Dominic QUALIFIED
Smith A MarrierArgentinaAmy Elsner PROPOSAL
James E CaldareraIndiaIvan Magalhaes UNQUALIFIED
Francesco R ButtAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro P StockhamFranceIvan Magalhaes RENEWAL
Mayumi E BriddickFranceIvan Magalhaes QUALIFIED
Faith E TollnerRussiaIoni Bowcher QUALIFIED
Kaitlin N VocelkaAustraliaAnna Fali NEGOTIATION
Leja H MaletGermanyElwin Sharvill NEW
Maisha C DilliardJapanBernardo Dominic UNQUALIFIED
Aruna X GlickCanadaBernardo Dominic UNQUALIFIED
James O RoysterJapanIoni Bowcher RENEWAL
Wickens K SchemmerJapanBernardo Dominic NEW
Kaitlin Q WieserGermanyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Z GlickSpain2025-04-17Chemel, James L Cpa QUALIFIED37Xuxue Feng
1001Munro X FerenczJapan2025-04-26Morlong Associates QUALIFIED25Ioni Bowcher
1002Maisha E BowleyItaly2025-04-17King, Christopher A Esq NEW59Elwin Sharvill
1003Mayumi L ButtGermany2025-04-14Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1004Jennifer W VocelkaSpain2025-04-26Buckley Miller Wright NEW28Bernardo Dominic
1005Sinclair O WieserBrazil2025-04-25King, Christopher A Esq QUALIFIED92Xuxue Feng
1006Costa H MaletIndia2025-05-01Buckley Miller Wright PROPOSAL55Ioni Bowcher
1007Claire M KolmetzRussia2025-05-02Dorl, James J Esq QUALIFIED43Elwin Sharvill
1008Jennifer M ShinkoAustralia2025-04-21Morlong Associates PROPOSAL43Ioni Bowcher
1009Jefferson P BologniaGermany2025-04-29Feltz Printing Service UNQUALIFIED81Stephen Shaw
1010Francesco I SchemmerItaly2025-04-16Feiner Bros RENEWAL90Stephen Shaw
1011Tony T OldroydBrazil2025-05-08King, Christopher A Esq NEW92Elwin Sharvill
1012Jones S DilliardSpain2025-05-08Rangoni Of Florence QUALIFIED27Anna Fali
1013Isabel L WhobreyRussia2025-04-12Feiner Bros NEW71Amy Elsner
1014Silvio G RutaFrance2025-05-06Truhlar And Truhlar Attys PROPOSAL27Amy Elsner
1015Faith Y GarufiRussia2025-04-26Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1016Octavia D FollerRussia2025-04-18Morlong Associates QUALIFIED57Asiya Javayant
1017Johnson G RulapaughUnited Kingdom2025-04-18Buckley Miller Wright UNQUALIFIED81Anna Fali
1018Johnson T DarakjyBrazil2025-04-14Truhlar And Truhlar Attys NEW49Elwin Sharvill
1019Sinclair L VenereGermany2025-04-21Feiner Bros NEGOTIATION75Ivan Magalhaes
1020Deepesh Z GillianJapan2025-04-11Printing Dimensions NEGOTIATION20Ivan Magalhaes
1021Juan N BologniaAustralia2025-04-16Feltz Printing Service QUALIFIED37Stephen Shaw
1022Arvin A RoysterJapan2025-04-10Chapman, Ross E Esq NEGOTIATION81Onyama Limba
1023Chavez R RulapaughUnited Kingdom2025-04-11Printing Dimensions NEW9Asiya Javayant
1024Darci Q PerinAustralia2025-04-20Feiner Bros QUALIFIED81Ioni Bowcher
1025Leon L RutaUnited Kingdom2025-04-26Rangoni Of Florence PROPOSAL82Ivan Magalhaes
1026Jefferson K MacleadSpain2025-05-01Chemel, James L Cpa QUALIFIED66Ioni Bowcher
1027Mayumi B RulapaughAustralia2025-04-14Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1028Julie F RoysterRussia2025-04-27Truhlar And Truhlar Attys PROPOSAL67Anna Fali
1029Izzy O MacleadItaly2025-04-12Chapman, Ross E Esq NEW40Anna Fali
1030Clifford A RutaCanada2025-04-24Feltz Printing Service QUALIFIED72Xuxue Feng
1031Maisha N SergiGermany2025-05-07Morlong Associates NEGOTIATION5Bernardo Dominic
1032Cody X MaletIndia2025-05-03Chemel, James L Cpa NEGOTIATION72Stephen Shaw
1033Arvin I TollnerUnited Kingdom2025-04-21Morlong Associates RENEWAL87Stephen Shaw
1034Rodrigues I GillianRussia2025-04-26Benton, John B Jr NEGOTIATION17Amy Elsner
1035Costa O NickaJapan2025-05-06Rangoni Of Florence RENEWAL67Bernardo Dominic
1036Murillo N ButtSpain2025-04-30Feiner Bros RENEWAL86Ivan Magalhaes
1037Johnson V GauchoBrazil2025-04-11Chemel, James L Cpa QUALIFIED37Ivan Magalhaes
1038Ashley C WieserCanada2025-04-26Chanay, Jeffrey A Esq RENEWAL16Onyama Limba
1039David B DarakjyRussia2025-05-02Commercial Press PROPOSAL80Xuxue Feng
1040Juan V SchemmerBrazil2025-04-16Chanay, Jeffrey A Esq PROPOSAL59Ioni Bowcher
1041Silvio E WhobreyItaly2025-05-08Buckley Miller Wright RENEWAL55Amy Elsner
1042Morrow N RutaJapan2025-05-04Buckley Miller Wright UNQUALIFIED54Asiya Javayant
1043Johnson L ButtItaly2025-04-16Dorl, James J Esq UNQUALIFIED42Anna Fali
1044Claire D MaletUnited Kingdom2025-05-02Morlong Associates NEGOTIATION26Anna Fali
1045Leon J CaudyArgentina2025-04-16Morlong Associates PROPOSAL16Ivan Magalhaes
1046Izzy W WhobreyArgentina2025-04-30Chemel, James L Cpa UNQUALIFIED78Onyama Limba
1047Murillo L BriddickFrance2025-05-03Commercial Press PROPOSAL67Asiya Javayant
1048Mayumi U MaletCanada2025-04-24Dorl, James J Esq UNQUALIFIED45Anna Fali
1049Nicolas B ShinkoGermany2025-05-04Dorl, James J Esq PROPOSAL20Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood H WhobreyJapanIoni Bowcher QUALIFIED
Greenwood L PerinIndiaXuxue Feng QUALIFIED
Maria M MarrierAustraliaAmy Elsner UNQUALIFIED
Ashley I DarakjySpainElwin Sharvill RENEWAL
Julie V MaletSpainAnna Fali UNQUALIFIED
Isabel I AlbaresFranceAmy Elsner UNQUALIFIED
Aditya V GlickCanadaStephen Shaw UNQUALIFIED
Costa M SergiArgentinaBernardo Dominic NEGOTIATION
Francesco V CampainCanadaIoni Bowcher NEGOTIATION
Munro L RutaCanadaElwin Sharvill NEGOTIATION
Izzy V OldroydRussiaXuxue Feng PROPOSAL
Leon K InouyeBrazilAnna Fali UNQUALIFIED
Maisha W StockhamUnited KingdomAmy Elsner QUALIFIED
Ivar G KolmetzJapanBernardo Dominic UNQUALIFIED
Johnson T WhobreyCanadaStephen Shaw NEW
David I CampainIndiaElwin Sharvill QUALIFIED
Johnson X CampainFranceIvan Magalhaes NEGOTIATION
Jefferson A MorascaAustraliaXuxue Feng QUALIFIED
Munro C RulapaughRussiaBernardo Dominic QUALIFIED
David E WieserIndiaOnyama Limba QUALIFIED
Alejandro F CampainArgentinaOnyama Limba PROPOSAL
Stacey R MacleadIndiaIoni Bowcher NEW
Cody E WieserArgentinaAmy Elsner QUALIFIED
Isabel S FerenczItalyAnna Fali RENEWAL
Ricardo H ButtBrazilBernardo Dominic PROPOSAL
Alejandro O TollnerGermanyOnyama Limba NEGOTIATION
Leja L RimBrazilXuxue Feng UNQUALIFIED
Izzy P SchemmerSpainStephen Shaw NEW
Sinclair V InouyeCanadaAmy Elsner QUALIFIED
Deepesh P RulapaughIndiaBernardo Dominic RENEWAL
Isabel L RulapaughSpainIoni Bowcher NEW
Johnson V SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Morrow V SaylorsFranceBernardo Dominic QUALIFIED
Aditya D GillianFranceBernardo Dominic PROPOSAL
Arvin D BowleyJapanAsiya Javayant NEW
Kaitlin X PaprockiArgentinaAnna Fali RENEWAL
Smith H DoeArgentinaIvan Magalhaes NEGOTIATION
Smith R FollerBrazilXuxue Feng PROPOSAL
Nicolas Q FollerBrazilIvan Magalhaes QUALIFIED
Tony J ShinkoGermanyAsiya Javayant NEGOTIATION
Stacey B PaprockiCanadaOnyama Limba NEW
Claire A GlickGermanyBernardo Dominic UNQUALIFIED
Julie P RoysterBrazilStephen Shaw QUALIFIED
Antonio V WieserRussiaXuxue Feng PROPOSAL
David X NickaItalyIoni Bowcher NEGOTIATION
Francesco Q IturbideAustraliaBernardo Dominic NEGOTIATION
Izzy K FigeroaAustraliaAnna Fali RENEWAL
Aika L SchemmerItalyIoni Bowcher RENEWAL
Darci O GillianCanadaAsiya Javayant NEW
Nicolas J MarrierBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Francesco F Iturbide
Adams Q Foller
Rodrigues X Maclead
Julie I Dilliard
Adams B Perin
James F Bowley
Arvin E Caldarera
Adams Q Gillian
Wickens Y Venere
Costa V Figeroa
Silvio U Venere
Nicolas F Poquette
Morrow P Marrier
Kaitlin M Whobrey
Emily A Ferencz
Octavia Q Nestle
Claire R Slusarski
Francesco G Venere
Morrow J Saylors
Maria Y Vocelka
Misaki V Gillian
Smith Q Stenseth
Jones S Nestle
Kaitlin C Saylors
Aruna U Oldroyd
Munro C Vocelka
Silvio X Saylors
Adams R Maclead
Wickens N Malet
Antonio Y Chui
Julie L Wieser
Emily B Glick
Alejandro L Tollner
Kadeem B Maclead
Chavez T Foller
Isabel K Ostrosky
Stacey K Iturbide
Aditya O Slusarski
Julie B Paprocki
Emily D Kolmetz
David K Shinko
Kaitlin O Inouye
James D Bowley
Leon V Flosi
Rodrigues D Ostrosky
Maria Q Stockham
Salvatore E Malet
Rodrigues G Darakjy
Costa X Amigon
Francesco L Tollner
IdCountryDate
1000Germany2025-04-14
1001Australia2025-04-13
1002France2025-04-18
1003Australia2025-04-15
1004Russia2025-05-03
1005Italy2025-05-02
1006Canada2025-05-05
1007Spain2025-04-12
1008Spain2025-05-09
1009Spain2025-05-02
1010Brazil2025-04-19
1011Russia2025-05-07
1012Spain2025-04-28
1013Brazil2025-04-14
1014United Kingdom2025-04-26
1015Brazil2025-04-24
1016Italy2025-04-30
1017Germany2025-04-27
1018France2025-04-13
1019Russia2025-05-03
1020United Kingdom2025-05-02
1021India2025-04-13
1022Germany2025-04-28
1023Canada2025-05-03
1024United Kingdom2025-05-09
1025Australia2025-04-22
1026Spain2025-04-19
1027Australia2025-04-23
1028Italy2025-05-06
1029Germany2025-05-09
1030United Kingdom2025-04-23
1031France2025-04-30
1032Japan2025-04-19
1033Brazil2025-04-13
1034India2025-04-21
1035Canada2025-04-10
1036Italy2025-05-06
1037Russia2025-04-10
1038Spain2025-05-02
1039Australia2025-04-26
1040Spain2025-04-24
1041Argentina2025-05-07
1042Canada2025-04-20
1043Japan2025-05-05
1044United Kingdom2025-05-05
1045United Kingdom2025-05-08
1046Brazil2025-05-06
1047Canada2025-05-05
1048Brazil2025-04-10
1049Italy2025-04-28

On-Demand Data

NameIdCountryDate
Mujtaba I Schemmer1000France2025-05-05
Smith A Gaucho1001United Kingdom2025-04-21
Adams H Stenseth1002Spain2025-04-12
Jones C Kolmetz1003Russia2025-04-29
Aruna M Bowley1004Germany2025-05-06
Kadeem P Stenseth1005Canada2025-04-11
Leon E Campain1006Japan2025-04-13
Morrow E Butt1007France2025-05-03
Mayumi W Kusko1008Russia2025-05-02
Stacey T Garufi1009Argentina2025-05-08
Julie X Marrier1010Canada2025-04-29
Silvio T Sergi1011Russia2025-04-21
Julie I Wieser1012Russia2025-04-24
David Z Ostrosky1013France2025-04-18
Arvin R Sergi1014India2025-04-27
Misaki C Oldroyd1015India2025-04-25
Alejandro Z Rim1016Russia2025-04-10
Cody N Saylors1017France2025-05-07
Maisha K Dilliard1018Australia2025-05-07
James O Tollner1019India2025-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria O ShinkoFranceIoni Bowcher RENEWAL
Chavez A SaylorsFranceElwin Sharvill RENEWAL
Emily Y KolmetzUnited KingdomAmy Elsner PROPOSAL
Clifford A KolmetzRussiaIoni Bowcher UNQUALIFIED
Morrow G VocelkaArgentinaAnna Fali NEW
Munro Y ChuiGermanyAsiya Javayant UNQUALIFIED
Octavia Q FerenczUnited KingdomStephen Shaw PROPOSAL
Cody S ShinkoJapanStephen Shaw QUALIFIED
Greenwood O ButtCanadaOnyama Limba QUALIFIED
Antonio X RoysterArgentinaXuxue Feng NEGOTIATION
Alejandro S SlusarskiAustraliaStephen Shaw PROPOSAL
Maria E FerenczArgentinaIvan Magalhaes QUALIFIED
Emily T FlosiJapanAmy Elsner QUALIFIED
Leja H DilliardItalyStephen Shaw RENEWAL
Rodrigues F MarrierRussiaOnyama Limba QUALIFIED
Smith V StockhamGermanyElwin Sharvill NEGOTIATION
Stacey P BologniaJapanXuxue Feng NEGOTIATION
Salvatore C CaudyUnited KingdomAsiya Javayant NEW
Morrow W NickaItalyXuxue Feng QUALIFIED
Maisha N KuskoArgentinaIvan Magalhaes PROPOSAL
Maria Q RutaBrazilIvan Magalhaes PROPOSAL
Darci G CampainGermanyAsiya Javayant NEGOTIATION
Smith Y MaletSpainStephen Shaw QUALIFIED
Costa U KuskoRussiaAsiya Javayant RENEWAL
Deepesh M SaylorsCanadaIoni Bowcher UNQUALIFIED
James J PaprockiIndiaElwin Sharvill NEW
Francesco V KuskoBrazilAmy Elsner PROPOSAL
Munro O StensethBrazilBernardo Dominic NEGOTIATION
Cody Z GlickSpainIvan Magalhaes PROPOSAL
Mujtaba P KuskoUnited KingdomElwin Sharvill PROPOSAL
Faith A DilliardArgentinaElwin Sharvill UNQUALIFIED
Izzy B SergiRussiaAnna Fali RENEWAL
Leon S MaletFranceIvan Magalhaes UNQUALIFIED
Aruna T MacleadGermanyIvan Magalhaes PROPOSAL
Misaki E StensethSpainAsiya Javayant RENEWAL
Stacey L ShinkoArgentinaOnyama Limba PROPOSAL
Mujtaba O NestleUnited KingdomElwin Sharvill PROPOSAL
Leon A ShinkoJapanAmy Elsner NEGOTIATION
Rodrigues A SergiUnited KingdomBernardo Dominic UNQUALIFIED
Cody A StensethBrazilIvan Magalhaes PROPOSAL

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