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 Z GillianAustraliaStephen Shaw NEGOTIATION
Misaki N KuskoCanadaAmy Elsner NEW
Clifford P DilliardJapanOnyama Limba PROPOSAL
Francesco V FerenczArgentinaStephen Shaw NEW
Jennifer W FollerJapanBernardo Dominic QUALIFIED
Julie C FollerCanadaBernardo Dominic UNQUALIFIED
Leja C GlickFranceElwin Sharvill UNQUALIFIED
Chavez S KolmetzArgentinaOnyama Limba UNQUALIFIED
Aika S StensethArgentinaAsiya Javayant PROPOSAL
Mujtaba Q SlusarskiIndiaAsiya Javayant NEGOTIATION
Kadeem T MacleadAustraliaXuxue Feng NEW
Maisha P MaletAustraliaIvan Magalhaes NEGOTIATION
Tony F AlbaresFranceElwin Sharvill UNQUALIFIED
Cody A CampainAustraliaBernardo Dominic UNQUALIFIED
Jones V RoysterFranceElwin Sharvill UNQUALIFIED
Claire E PoquetteUnited KingdomAmy Elsner RENEWAL
Salvatore R ChuiRussiaAnna Fali RENEWAL
Juan Z ChuiRussiaIvan Magalhaes RENEWAL
Sinclair N KuskoFranceAmy Elsner PROPOSAL
Aika H BowleyFranceIoni Bowcher NEGOTIATION
Ivar L MarrierAustraliaIoni Bowcher PROPOSAL
Jennifer B NickaUnited KingdomElwin Sharvill NEW
Kadeem J ChuiFranceStephen Shaw NEW
Adams A KolmetzGermanyOnyama Limba NEGOTIATION
Leon E GlickAustraliaIoni Bowcher NEGOTIATION
Aruna S RutaGermanyIvan Magalhaes NEW
Johnson A SergiGermanyIoni Bowcher UNQUALIFIED
Deepesh K InouyeBrazilIvan Magalhaes NEW
Costa G PerinCanadaAsiya Javayant RENEWAL
Darci L MorascaIndiaAmy Elsner UNQUALIFIED
Misaki C PoquetteItalyElwin Sharvill NEGOTIATION
Arvin S OstroskyBrazilAsiya Javayant PROPOSAL
Antonio B GlickCanadaElwin Sharvill UNQUALIFIED
Tony S AlbaresGermanyAsiya Javayant UNQUALIFIED
Arvin U FlosiUnited KingdomStephen Shaw UNQUALIFIED
Claire H MaletFranceOnyama Limba NEW
Tony A FlosiIndiaElwin Sharvill NEGOTIATION
Misaki Q OldroydJapanIvan Magalhaes UNQUALIFIED
Aika B AlbaresArgentinaBernardo Dominic RENEWAL
Tony I CampainFranceIoni Bowcher NEGOTIATION
Smith W StensethSpainIvan Magalhaes QUALIFIED
Jones L GlickRussiaAsiya Javayant UNQUALIFIED
Nicolas F DilliardGermanyAsiya Javayant QUALIFIED
Arvin Q AmigonAustraliaOnyama Limba NEGOTIATION
Morrow C CaudyJapanBernardo Dominic UNQUALIFIED
Ivar A GillianArgentinaAsiya Javayant UNQUALIFIED
Ivar J PaprockiAustraliaAsiya Javayant NEGOTIATION
Ricardo X WaycottBrazilAsiya Javayant PROPOSAL
Kaitlin Q VocelkaCanadaIvan Magalhaes NEGOTIATION
Morrow G InouyeAustraliaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire K AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Aruna Q TollnerRussiaBernardo Dominic QUALIFIED
Murillo M GlickItalyBernardo Dominic UNQUALIFIED
Mujtaba Z CampainItalyStephen Shaw QUALIFIED
Ashley T MacleadCanadaOnyama Limba QUALIFIED
Maisha E MacleadGermanyElwin Sharvill NEGOTIATION
Mujtaba Q MaletJapanAmy Elsner QUALIFIED
Kadeem K DoeFranceAsiya Javayant PROPOSAL
Jeanfrancois E VenereUnited KingdomIoni Bowcher NEW
Greenwood Z StensethRussiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro T WhobreyFrance2025-06-07Dorl, James J Esq NEW3Elwin Sharvill
1001Kadeem Q SergiAustralia2025-06-01Printing Dimensions PROPOSAL21Amy Elsner
1002Kadeem S ShinkoGermany2025-06-08Chapman, Ross E Esq NEGOTIATION64Amy Elsner
1003Ricardo N ChuiCanada2025-05-30Dorl, James J Esq PROPOSAL79Ivan Magalhaes
1004Octavia O BowleyItaly2025-06-05Benton, John B Jr NEW16Ioni Bowcher
1005Francesco Q WhobreyItaly2025-06-13Feiner Bros NEW59Stephen Shaw
1006Ashley C PaprockiFrance2025-06-13Chapman, Ross E Esq RENEWAL34Ioni Bowcher
1007Wickens O SaylorsCanada2025-05-29Chapman, Ross E Esq NEGOTIATION24Asiya Javayant
1008Smith C KuskoAustralia2025-06-07Rousseaux, Michael Esq RENEWAL24Stephen Shaw
1009Juan T BologniaAustralia2025-05-19Dorl, James J Esq PROPOSAL79Asiya Javayant
1010Izzy V VocelkaGermany2025-05-25King, Christopher A Esq PROPOSAL35Ivan Magalhaes
1011Jefferson E MacleadCanada2025-06-03Chapman, Ross E Esq NEW75Amy Elsner
1012Stacey F RimGermany2025-05-19Truhlar And Truhlar Attys NEW0Onyama Limba
1013Jefferson U RoysterSpain2025-05-24Morlong Associates NEW54Elwin Sharvill
1014Arvin O TollnerRussia2025-06-07Truhlar And Truhlar Attys QUALIFIED83Elwin Sharvill
1015Maria T GarufiItaly2025-05-20Morlong Associates RENEWAL27Onyama Limba
1016Leon Y StensethArgentina2025-05-22Feltz Printing Service NEW12Onyama Limba
1017Mayumi U DilliardGermany2025-06-01Feiner Bros PROPOSAL29Xuxue Feng
1018Stacey Y MacleadRussia2025-06-07Truhlar And Truhlar Attys RENEWAL43Ivan Magalhaes
1019Francesco U FigeroaArgentina2025-06-13Feiner Bros PROPOSAL46Anna Fali
1020Silvio O SlusarskiRussia2025-05-26Rangoni Of Florence NEW44Amy Elsner
1021Salvatore Y VocelkaArgentina2025-06-08Morlong Associates NEW59Ivan Magalhaes
1022Leon G SergiCanada2025-06-03Chapman, Ross E Esq NEW16Anna Fali
1023Aditya K FlosiUnited Kingdom2025-06-11Rangoni Of Florence NEGOTIATION22Asiya Javayant
1024Maisha Q PoquetteCanada2025-06-14King, Christopher A Esq NEW6Asiya Javayant
1025Julie R RoysterRussia2025-06-11Morlong Associates QUALIFIED96Asiya Javayant
1026Morrow H TollnerRussia2025-06-07Truhlar And Truhlar Attys PROPOSAL15Bernardo Dominic
1027Alejandro J RoysterUnited Kingdom2025-05-19Chanay, Jeffrey A Esq QUALIFIED15Ivan Magalhaes
1028Munro J SchemmerSpain2025-06-12Rousseaux, Michael Esq NEW74Anna Fali
1029Silvio P KuskoUnited Kingdom2025-05-24Feltz Printing Service PROPOSAL80Stephen Shaw
1030Juan C RoysterUnited Kingdom2025-06-04Chapman, Ross E Esq RENEWAL33Anna Fali
1031Rodrigues E GauchoArgentina2025-05-23Morlong Associates UNQUALIFIED85Anna Fali
1032Salvatore C RutaAustralia2025-06-13Feltz Printing Service QUALIFIED61Xuxue Feng
1033Rodrigues E NestleCanada2025-05-21Feiner Bros NEW7Ivan Magalhaes
1034Leon Z PerinSpain2025-06-13Chemel, James L Cpa NEGOTIATION26Ivan Magalhaes
1035Juan T RulapaughCanada2025-06-01Morlong Associates PROPOSAL79Stephen Shaw
1036Kadeem K BowleyGermany2025-05-25Feiner Bros NEGOTIATION91Ioni Bowcher
1037Ivar Y CaudyFrance2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED97Elwin Sharvill
1038Mayumi I StockhamGermany2025-05-21Feiner Bros NEGOTIATION28Ivan Magalhaes
1039Emily L KuskoItaly2025-05-24Chapman, Ross E Esq QUALIFIED64Ivan Magalhaes
1040Darci E SlusarskiGermany2025-06-15Chanay, Jeffrey A Esq RENEWAL43Bernardo Dominic
1041Claire Y FlosiUnited Kingdom2025-06-01Printing Dimensions NEW78Anna Fali
1042Leja D ButtArgentina2025-05-21Chanay, Jeffrey A Esq NEW7Asiya Javayant
1043Izzy F GillianJapan2025-05-25Morlong Associates NEGOTIATION5Asiya Javayant
1044Morrow V GillianArgentina2025-06-05Feiner Bros QUALIFIED24Stephen Shaw
1045Morrow D GlickJapan2025-05-19Feiner Bros PROPOSAL22Anna Fali
1046Jeanfrancois N VenereItaly2025-06-06Benton, John B Jr NEGOTIATION33Stephen Shaw
1047Adams G RulapaughFrance2025-06-11Benton, John B Jr UNQUALIFIED19Asiya Javayant
1048Ricardo Q CaudyFrance2025-06-01Printing Dimensions UNQUALIFIED5Ivan Magalhaes
1049Deepesh F BowleySpain2025-06-05Chapman, Ross E Esq RENEWAL30Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin Y GillianJapanStephen Shaw PROPOSAL
Leon I FollerAustraliaAsiya Javayant NEGOTIATION
Izzy T SchemmerRussiaAnna Fali UNQUALIFIED
Jennifer I SchemmerRussiaElwin Sharvill PROPOSAL
Kadeem H FigeroaJapanIoni Bowcher NEW
Alejandro P SlusarskiRussiaElwin Sharvill RENEWAL
Jennifer Z NickaRussiaIoni Bowcher PROPOSAL
Morrow W BowleyUnited KingdomElwin Sharvill QUALIFIED
Ivar Q WhobreyJapanIvan Magalhaes PROPOSAL
Aditya O CaudyFranceIvan Magalhaes RENEWAL
Ashley Y SergiAustraliaElwin Sharvill UNQUALIFIED
Costa R MaletIndiaAnna Fali PROPOSAL
Emily W PoquetteJapanAnna Fali RENEWAL
Darci H StensethSpainAsiya Javayant QUALIFIED
Jefferson D FerenczGermanyIvan Magalhaes QUALIFIED
Cody H KolmetzGermanyAnna Fali RENEWAL
Morrow W StockhamIndiaIoni Bowcher UNQUALIFIED
James G WhobreyUnited KingdomOnyama Limba QUALIFIED
David F PoquetteFranceAnna Fali UNQUALIFIED
Ricardo I FlosiArgentinaIoni Bowcher RENEWAL
Leon Z AlbaresRussiaElwin Sharvill UNQUALIFIED
Jennifer C KolmetzSpainElwin Sharvill RENEWAL
Isabel N DoeAustraliaOnyama Limba NEW
Emily Z CaldareraUnited KingdomIvan Magalhaes NEW
Nicolas P FerenczSpainXuxue Feng QUALIFIED
Morrow Z GauchoSpainAmy Elsner NEGOTIATION
Juan P AmigonIndiaIoni Bowcher NEW
David P RoysterItalyXuxue Feng PROPOSAL
Leon I NestleArgentinaIoni Bowcher RENEWAL
Aika R SaylorsRussiaAsiya Javayant QUALIFIED
Antonio J PerinSpainAsiya Javayant NEW
Wickens R FerenczSpainBernardo Dominic PROPOSAL
James C WaycottFranceOnyama Limba PROPOSAL
Arvin H StensethItalyXuxue Feng UNQUALIFIED
Mujtaba S VenereSpainBernardo Dominic PROPOSAL
Jennifer Y PaprockiFranceStephen Shaw PROPOSAL
Misaki R TollnerBrazilStephen Shaw PROPOSAL
Deepesh R VenereArgentinaAmy Elsner QUALIFIED
Julie E KuskoJapanXuxue Feng RENEWAL
Emily Z MarrierJapanAnna Fali QUALIFIED
Greenwood G DarakjyUnited KingdomElwin Sharvill NEW
Sinclair O OstroskyBrazilAmy Elsner NEW
Aditya M RoysterIndiaAsiya Javayant NEW
Isabel R ButtRussiaStephen Shaw QUALIFIED
Alejandro G RutaFranceAsiya Javayant QUALIFIED
Ricardo B ChuiRussiaElwin Sharvill PROPOSAL
Clifford C DilliardSpainBernardo Dominic RENEWAL
Jennifer R OstroskyGermanyBernardo Dominic RENEWAL
Antonio Y ButtBrazilBernardo Dominic QUALIFIED
Emily T OldroydUnited KingdomElwin Sharvill NEGOTIATION
Frozen Columns
Name
Maisha V Nicka
Clifford F Perin
Morrow M Schemmer
Costa D Stockham
Leon V Gaucho
Jeanfrancois H Vocelka
Munro L Sergi
Chavez Y Gillian
Misaki T Flosi
Adams Y Oldroyd
Jefferson S Nicka
Jefferson F Doe
Chavez U Gaucho
Jones L Stockham
Kaitlin P Vocelka
Clifford V Royster
Cody C Albares
Alejandro F Stockham
Jones L Whobrey
Jones J Chui
Kadeem V Nicka
Greenwood T Tollner
Misaki H Malet
Jefferson L Bolognia
Wickens J Whobrey
Ivar E Schemmer
Faith F Tollner
Mayumi C Figeroa
Leja C Kolmetz
Leja H Chui
Claire X Wieser
James M Maclead
Juan D Sergi
Clifford Q Marrier
Misaki M Oldroyd
Kaitlin G Ruta
Emily R Stockham
Nicolas J Ostrosky
Greenwood Q Nestle
Julie Q Malet
Faith V Caudy
Wickens C Venere
Faith X Campain
Mujtaba N Flosi
Isabel E Venere
Greenwood T Stockham
Julie C Perin
Salvatore Q Morasca
Costa Y Malet
Antonio H Darakjy
IdCountryDate
1000Brazil2025-06-01
1001Germany2025-05-28
1002Canada2025-06-03
1003Japan2025-05-28
1004Italy2025-06-05
1005Germany2025-05-20
1006Brazil2025-05-25
1007Argentina2025-05-27
1008Argentina2025-05-31
1009Argentina2025-06-07
1010Argentina2025-06-05
1011Canada2025-06-15
1012Canada2025-05-28
1013Australia2025-05-26
1014Canada2025-06-15
1015Australia2025-06-01
1016France2025-06-03
1017Russia2025-05-27
1018Canada2025-05-31
1019Germany2025-05-30
1020Italy2025-05-18
1021Argentina2025-05-18
1022Russia2025-06-16
1023Japan2025-05-24
1024United Kingdom2025-06-05
1025Argentina2025-06-08
1026Russia2025-06-16
1027Australia2025-06-11
1028France2025-05-24
1029India2025-05-21
1030Russia2025-06-02
1031Australia2025-06-12
1032France2025-06-04
1033United Kingdom2025-05-30
1034Russia2025-05-21
1035United Kingdom2025-05-21
1036United Kingdom2025-06-13
1037Germany2025-06-08
1038France2025-06-12
1039Spain2025-06-08
1040Russia2025-06-04
1041Brazil2025-05-20
1042Italy2025-06-13
1043Brazil2025-06-13
1044Russia2025-05-31
1045France2025-05-25
1046Canada2025-05-25
1047Argentina2025-06-09
1048Australia2025-06-14
1049Germany2025-06-08

On-Demand Data

NameIdCountryDate
Darci Q Glick1000France2025-06-05
Deepesh X Caldarera1001Russia2025-06-16
Arvin Z Tollner1002Italy2025-06-10
Arvin F Dilliard1003United Kingdom2025-05-30
Claire E Flosi1004Spain2025-05-29
Deepesh L Rim1005United Kingdom2025-05-25
Jefferson L Briddick1006Japan2025-06-04
Octavia H Flosi1007India2025-05-24
Jennifer A Inouye1008Germany2025-06-16
Misaki P Sergi1009Canada2025-06-11
Chavez Q Vocelka1010Italy2025-06-11
Deepesh Q Ruta1011India2025-05-23
James D Glick1012India2025-06-12
Tony G Gaucho1013Australia2025-05-25
Jeanfrancois P Kusko1014Brazil2025-05-29
Alejandro R Inouye1015Canada2025-05-27
Greenwood Q Malet1016Australia2025-06-16
Leon S Whobrey1017Argentina2025-06-16
Jefferson W Shinko1018Canada2025-06-03
Jennifer N Royster1019Argentina2025-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio J PoquetteBrazilIvan Magalhaes UNQUALIFIED
Rodrigues Q MorascaRussiaStephen Shaw UNQUALIFIED
Jefferson H CaudyRussiaOnyama Limba UNQUALIFIED
Arvin K GarufiSpainStephen Shaw NEGOTIATION
Mayumi F SaylorsFranceAnna Fali NEW
Murillo E GauchoJapanAmy Elsner QUALIFIED
Izzy P StockhamIndiaStephen Shaw QUALIFIED
Aditya Z OldroydRussiaStephen Shaw NEW
Arvin K FerenczRussiaAsiya Javayant QUALIFIED
Wickens S ChuiAustraliaBernardo Dominic RENEWAL
Francesco Y GauchoCanadaXuxue Feng UNQUALIFIED
Stacey K VocelkaUnited KingdomElwin Sharvill PROPOSAL
Jennifer C ChuiJapanOnyama Limba RENEWAL
Rodrigues F SlusarskiArgentinaBernardo Dominic QUALIFIED
Misaki Y RoysterRussiaXuxue Feng RENEWAL
Ashley N BriddickCanadaOnyama Limba UNQUALIFIED
Antonio J MaletJapanIvan Magalhaes PROPOSAL
Ricardo R BowleyGermanyOnyama Limba PROPOSAL
Stacey N CaldareraSpainStephen Shaw UNQUALIFIED
Darci B MaletGermanyBernardo Dominic RENEWAL
Darci K SlusarskiArgentinaIoni Bowcher NEW
Maria L WhobreySpainAmy Elsner NEGOTIATION
Julie X SlusarskiJapanOnyama Limba QUALIFIED
David S KuskoBrazilAmy Elsner NEW
Greenwood C CaudyAustraliaElwin Sharvill QUALIFIED
Ivar W StockhamAustraliaStephen Shaw UNQUALIFIED
Deepesh F WieserSpainAsiya Javayant RENEWAL
Johnson B RulapaughFranceAnna Fali QUALIFIED
Adams C BriddickSpainAnna Fali PROPOSAL
Misaki F IturbideAustraliaStephen Shaw RENEWAL
James K GarufiItalyXuxue Feng NEW
Aruna D WaycottJapanIoni Bowcher RENEWAL
Octavia G RulapaughItalyAnna Fali QUALIFIED
Stacey L RulapaughArgentinaOnyama Limba NEGOTIATION
Faith F GauchoArgentinaBernardo Dominic QUALIFIED
Stacey X ShinkoAustraliaAmy Elsner RENEWAL
Ashley G VocelkaCanadaXuxue Feng QUALIFIED
Isabel H KolmetzAustraliaStephen Shaw RENEWAL
Tony I FigeroaGermanyStephen Shaw QUALIFIED
Morrow P RoysterFranceIvan 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>