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 S TollnerRussiaOnyama Limba NEGOTIATION
Mujtaba O AlbaresSpainElwin Sharvill UNQUALIFIED
Silvio R WaycottIndiaAmy Elsner PROPOSAL
Costa G IturbideFranceIoni Bowcher QUALIFIED
Leon Y SergiAustraliaOnyama Limba PROPOSAL
Juan H TollnerAustraliaAsiya Javayant RENEWAL
Clifford M AmigonFranceIvan Magalhaes NEGOTIATION
Jefferson A GlickUnited KingdomStephen Shaw QUALIFIED
Tony P StockhamBrazilBernardo Dominic NEGOTIATION
Leon H OldroydGermanyAsiya Javayant NEGOTIATION
Claire M FollerGermanyOnyama Limba UNQUALIFIED
Nicolas I SaylorsBrazilAmy Elsner NEGOTIATION
Cody U PerinIndiaOnyama Limba NEW
Arvin B OldroydGermanyBernardo Dominic PROPOSAL
Greenwood X GauchoItalyAsiya Javayant QUALIFIED
Ricardo X RutaJapanXuxue Feng RENEWAL
David Z CaudyBrazilOnyama Limba NEGOTIATION
David V PerinItalyIoni Bowcher RENEWAL
Sinclair C TollnerItalyBernardo Dominic UNQUALIFIED
Maria Q MarrierArgentinaBernardo Dominic UNQUALIFIED
Sinclair Z MacleadUnited KingdomOnyama Limba PROPOSAL
Rodrigues O ButtJapanIvan Magalhaes NEW
Julie W GillianGermanyElwin Sharvill RENEWAL
Silvio F GlickItalyAsiya Javayant QUALIFIED
Greenwood W GarufiIndiaIoni Bowcher RENEWAL
Tony K IturbideGermanyXuxue Feng UNQUALIFIED
Costa T FerenczGermanyIvan Magalhaes RENEWAL
Aditya I GillianCanadaOnyama Limba UNQUALIFIED
Smith E SchemmerFranceIvan Magalhaes NEGOTIATION
Greenwood R InouyeArgentinaIvan Magalhaes QUALIFIED
Silvio I RimGermanyStephen Shaw PROPOSAL
Maria S OldroydArgentinaOnyama Limba UNQUALIFIED
Munro J SchemmerUnited KingdomStephen Shaw PROPOSAL
Clifford V VocelkaCanadaOnyama Limba PROPOSAL
Leja B WieserArgentinaIvan Magalhaes NEGOTIATION
Mujtaba E VocelkaIndiaAsiya Javayant UNQUALIFIED
David U MaletUnited KingdomStephen Shaw RENEWAL
Stacey V SlusarskiGermanyAnna Fali QUALIFIED
Salvatore T GauchoBrazilOnyama Limba QUALIFIED
Octavia H GauchoCanadaAmy Elsner RENEWAL
Smith V FlosiRussiaIvan Magalhaes NEGOTIATION
Izzy D GillianGermanyElwin Sharvill RENEWAL
Salvatore S NestleCanadaAnna Fali QUALIFIED
Arvin D SaylorsCanadaIvan Magalhaes NEGOTIATION
Antonio F BowleyRussiaXuxue Feng NEW
Ashley T ChuiGermanyIvan Magalhaes NEGOTIATION
Maisha G DarakjyIndiaIoni Bowcher QUALIFIED
Chavez E KolmetzRussiaIvan Magalhaes NEGOTIATION
David W DilliardSpainIvan Magalhaes RENEWAL
Leon C StensethJapanOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja H GauchoArgentinaAmy Elsner PROPOSAL
Salvatore V MaletBrazilAsiya Javayant NEGOTIATION
Leja Y DilliardArgentinaAsiya Javayant UNQUALIFIED
Misaki S MarrierJapanAsiya Javayant NEW
Aruna R CaldareraIndiaBernardo Dominic QUALIFIED
Julie I StensethIndiaOnyama Limba NEW
Jones O RimSpainIoni Bowcher RENEWAL
Maisha Z SaylorsUnited KingdomStephen Shaw PROPOSAL
Jefferson M NickaArgentinaBernardo Dominic NEGOTIATION
Kaitlin F WaycottItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Z SergiRussia2024-05-15Printing Dimensions RENEWAL2Ioni Bowcher
1001Greenwood W MacleadUnited Kingdom2024-05-27Chemel, James L Cpa NEW49Onyama Limba
1002Ricardo W StensethSpain2024-05-13Rangoni Of Florence PROPOSAL65Ivan Magalhaes
1003Johnson H CaudyCanada2024-05-14Morlong Associates UNQUALIFIED87Amy Elsner
1004Rodrigues O RutaCanada2024-05-31Dorl, James J Esq NEGOTIATION4Anna Fali
1005Julie C MacleadSpain2024-05-15Feltz Printing Service NEGOTIATION4Xuxue Feng
1006Smith N SergiItaly2024-05-28Morlong Associates UNQUALIFIED87Onyama Limba
1007Julie Q AlbaresAustralia2024-05-11Buckley Miller Wright PROPOSAL60Asiya Javayant
1008Aika G WhobreyFrance2024-05-14Chanay, Jeffrey A Esq UNQUALIFIED11Bernardo Dominic
1009Jones F GillianIndia2024-05-11King, Christopher A Esq UNQUALIFIED0Amy Elsner
1010Johnson A VenereRussia2024-05-11King, Christopher A Esq NEW94Ivan Magalhaes
1011Julie Y NestleItaly2024-05-22Truhlar And Truhlar Attys NEGOTIATION54Ioni Bowcher
1012Jones E TollnerSpain2024-05-08Buckley Miller Wright NEW86Bernardo Dominic
1013Maisha M ButtArgentina2024-05-10Commercial Press QUALIFIED73Ioni Bowcher
1014Jones T CaudyItaly2024-05-15Feltz Printing Service RENEWAL40Xuxue Feng
1015Claire X GlickFrance2024-06-01Buckley Miller Wright UNQUALIFIED1Xuxue Feng
1016Jefferson P TollnerBrazil2024-05-28Feiner Bros NEGOTIATION50Stephen Shaw
1017Smith V MarrierArgentina2024-05-28Feiner Bros RENEWAL38Onyama Limba
1018Aruna U GlickRussia2024-05-11Benton, John B Jr NEGOTIATION35Bernardo Dominic
1019Sinclair A CaudyGermany2024-05-27Benton, John B Jr NEW10Anna Fali
1020James X WaycottItaly2024-05-16Feltz Printing Service NEW60Asiya Javayant
1021Kaitlin Y KolmetzBrazil2024-05-15Chapman, Ross E Esq UNQUALIFIED79Stephen Shaw
1022Sinclair S DoeJapan2024-05-05Feiner Bros NEW55Onyama Limba
1023Jones K FigeroaItaly2024-05-21Benton, John B Jr PROPOSAL9Ivan Magalhaes
1024Jefferson Z DilliardItaly2024-05-22Printing Dimensions NEW6Xuxue Feng
1025Silvio R VocelkaFrance2024-06-02Benton, John B Jr QUALIFIED66Elwin Sharvill
1026Salvatore X KolmetzSpain2024-05-05Commercial Press QUALIFIED8Elwin Sharvill
1027Antonio N StockhamArgentina2024-05-09Benton, John B Jr UNQUALIFIED67Ioni Bowcher
1028Claire I InouyeGermany2024-05-19King, Christopher A Esq PROPOSAL62Stephen Shaw
1029Mujtaba L NickaGermany2024-06-03Chemel, James L Cpa QUALIFIED8Anna Fali
1030Johnson C NickaCanada2024-05-27King, Christopher A Esq RENEWAL17Stephen Shaw
1031Morrow Z BriddickGermany2024-05-06Feiner Bros UNQUALIFIED5Amy Elsner
1032Morrow W RoysterGermany2024-05-18Printing Dimensions RENEWAL35Bernardo Dominic
1033Tony Y OstroskyBrazil2024-05-24Rangoni Of Florence RENEWAL34Ivan Magalhaes
1034Isabel Z FerenczCanada2024-05-28Commercial Press NEW48Anna Fali
1035Stacey A KolmetzGermany2024-05-06Feltz Printing Service RENEWAL26Onyama Limba
1036Tony T ChuiUnited Kingdom2024-05-23Chemel, James L Cpa NEGOTIATION96Bernardo Dominic
1037Kaitlin S TollnerRussia2024-05-29King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1038Sinclair U WhobreyUnited Kingdom2024-05-27Dorl, James J Esq NEGOTIATION7Asiya Javayant
1039Julie F GillianGermany2024-05-15King, Christopher A Esq UNQUALIFIED76Ivan Magalhaes
1040Maisha E WhobreyIndia2024-05-24Buckley Miller Wright QUALIFIED25Xuxue Feng
1041Greenwood H NestleGermany2024-05-11Chanay, Jeffrey A Esq RENEWAL3Asiya Javayant
1042Rodrigues J GarufiCanada2024-05-30Feiner Bros RENEWAL63Onyama Limba
1043Morrow K RimFrance2024-06-03Truhlar And Truhlar Attys RENEWAL24Xuxue Feng
1044Silvio J SergiJapan2024-05-05Feiner Bros QUALIFIED49Xuxue Feng
1045Juan F CaldareraFrance2024-05-30King, Christopher A Esq NEW98Onyama Limba
1046Francesco S SchemmerSpain2024-05-31Dorl, James J Esq PROPOSAL24Xuxue Feng
1047Clifford Z WhobreyGermany2024-05-07Morlong Associates NEW72Amy Elsner
1048Costa V SlusarskiArgentina2024-05-31Printing Dimensions NEW41Bernardo Dominic
1049Alejandro A GarufiGermany2024-05-25Morlong Associates QUALIFIED49Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro A CaldareraItalyXuxue Feng UNQUALIFIED
Aruna T PoquetteItalyElwin Sharvill QUALIFIED
Cody D CaudySpainAmy Elsner NEW
Kadeem S KuskoUnited KingdomIoni Bowcher QUALIFIED
Costa M RulapaughRussiaIoni Bowcher UNQUALIFIED
Smith B RimItalyAnna Fali RENEWAL
Ricardo X FigeroaBrazilStephen Shaw UNQUALIFIED
Octavia U RimSpainBernardo Dominic RENEWAL
Arvin K DarakjyItalyOnyama Limba PROPOSAL
Morrow R BriddickGermanyBernardo Dominic NEW
Ricardo R AmigonBrazilOnyama Limba RENEWAL
Rodrigues U KolmetzItalyAsiya Javayant NEGOTIATION
Aditya W VocelkaItalyIvan Magalhaes PROPOSAL
Alejandro T SaylorsBrazilOnyama Limba NEGOTIATION
Rodrigues L FerenczSpainAnna Fali PROPOSAL
Juan Z WieserUnited KingdomElwin Sharvill PROPOSAL
Clifford L SaylorsGermanyAsiya Javayant PROPOSAL
Faith H RimArgentinaAsiya Javayant PROPOSAL
Tony R DoeSpainXuxue Feng UNQUALIFIED
Rodrigues V StensethItalyIoni Bowcher UNQUALIFIED
Antonio J KolmetzSpainBernardo Dominic UNQUALIFIED
Mayumi R AmigonFranceIvan Magalhaes UNQUALIFIED
Sinclair G KuskoSpainAmy Elsner NEGOTIATION
Isabel N RoysterBrazilBernardo Dominic QUALIFIED
Deepesh G IturbideBrazilAmy Elsner QUALIFIED
Ricardo J SergiSpainIoni Bowcher QUALIFIED
Sinclair T ShinkoRussiaOnyama Limba QUALIFIED
Misaki L CaudyItalyIvan Magalhaes QUALIFIED
Murillo M GarufiBrazilAsiya Javayant NEGOTIATION
Francesco A GarufiFranceAsiya Javayant NEGOTIATION
Misaki I FigeroaBrazilStephen Shaw RENEWAL
Julie T FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Darci P WaycottItalyIvan Magalhaes NEW
Johnson C AlbaresGermanyXuxue Feng RENEWAL
Morrow T DarakjyRussiaIvan Magalhaes QUALIFIED
Costa W DarakjyAustraliaAnna Fali NEW
Jefferson I StockhamUnited KingdomAsiya Javayant RENEWAL
Ricardo B DilliardAustraliaAnna Fali NEGOTIATION
Deepesh Y RulapaughFranceBernardo Dominic QUALIFIED
Murillo Y AlbaresCanadaBernardo Dominic UNQUALIFIED
Faith P PerinUnited KingdomBernardo Dominic UNQUALIFIED
Johnson Q DoeFranceAnna Fali NEW
Claire O KuskoItalyIoni Bowcher QUALIFIED
Leon F TollnerIndiaOnyama Limba NEW
Leon J KolmetzArgentinaAsiya Javayant UNQUALIFIED
Mayumi O SlusarskiJapanElwin Sharvill QUALIFIED
Chavez V GauchoAustraliaElwin Sharvill PROPOSAL
Greenwood I GarufiCanadaIoni Bowcher RENEWAL
Johnson J VenereGermanyAmy Elsner PROPOSAL
Mayumi K RoysterAustraliaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Antonio X Caudy
Juan L Bowley
Antonio H Malet
Julie H Royster
Jefferson N Bolognia
Cody K Iturbide
James B Nestle
Aika Q Sergi
Wickens D Bowley
Aruna R Malet
Ivar G Garufi
Arvin N Rim
Sinclair W Campain
Chavez L Rulapaugh
Cody H Bowley
Leja N Amigon
Alejandro V Figeroa
Claire F Saylors
Jefferson S Amigon
Ricardo Y Royster
Costa A Rim
Emily Z Gillian
Chavez K Poquette
Aruna N Bolognia
Kadeem Y Figeroa
Sinclair Z Ruta
Morrow E Stenseth
Antonio K Glick
Jones E Ruta
Kaitlin A Nestle
Aditya F Stockham
Wickens J Campain
Antonio K Maclead
Leja E Nicka
Wickens W Slusarski
Deepesh L Doe
James Q Garufi
Mayumi E Poquette
Adams H Inouye
Jeanfrancois O Dilliard
Kadeem Z Caudy
Silvio B Shinko
Munro U Bolognia
Jeanfrancois H Dilliard
Juan U Butt
James L Amigon
Izzy Q Caudy
Leon U Sergi
Mayumi L Vocelka
Jeanfrancois E Butt
IdCountryDate
1000Italy2024-05-08
1001Italy2024-05-16
1002United Kingdom2024-06-03
1003United Kingdom2024-05-26
1004Spain2024-05-18
1005Russia2024-05-07
1006Canada2024-05-29
1007Spain2024-05-06
1008Canada2024-06-03
1009Brazil2024-06-03
1010Australia2024-05-12
1011Australia2024-05-07
1012France2024-05-05
1013Australia2024-05-26
1014United Kingdom2024-05-11
1015United Kingdom2024-06-03
1016Australia2024-05-07
1017France2024-05-27
1018France2024-05-15
1019Spain2024-06-01
1020Germany2024-05-28
1021Spain2024-05-17
1022Canada2024-05-29
1023Spain2024-05-06
1024Brazil2024-06-02
1025United Kingdom2024-05-12
1026India2024-05-16
1027Japan2024-05-14
1028United Kingdom2024-05-23
1029Russia2024-05-20
1030Canada2024-05-31
1031Argentina2024-05-21
1032Japan2024-05-11
1033Canada2024-05-26
1034Germany2024-05-23
1035Japan2024-05-12
1036Canada2024-05-26
1037Australia2024-05-28
1038Canada2024-06-02
1039France2024-05-26
1040Brazil2024-05-13
1041Japan2024-05-26
1042Spain2024-05-10
1043Canada2024-05-13
1044Brazil2024-05-10
1045Germany2024-05-06
1046Russia2024-05-13
1047Brazil2024-05-15
1048Canada2024-06-02
1049Spain2024-05-26

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Briddick1000Japan2024-05-07
Deepesh I Caudy1001United Kingdom2024-05-23
Morrow P Oldroyd1002Germany2024-05-31
Aditya O Morasca1003Germany2024-05-27
Octavia X Garufi1004Japan2024-05-28
Nicolas W Vocelka1005Argentina2024-05-27
Claire E Malet1006Germany2024-05-10
Salvatore R Rim1007Germany2024-05-31
Jennifer Q Caldarera1008Germany2024-05-19
Leja C Morasca1009Spain2024-05-16
Murillo L Caldarera1010Argentina2024-05-21
Adams V Nicka1011Italy2024-05-19
Jefferson Q Flosi1012Canada2024-05-13
Kadeem K Albares1013France2024-06-03
Emily L Poquette1014Italy2024-05-07
Costa V Gaucho1015Italy2024-05-08
Greenwood E Gillian1016France2024-05-12
Kaitlin C Perin1017Russia2024-05-31
Rodrigues Z Royster1018France2024-05-07
Octavia E Maclead1019Italy2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David V KuskoSpainBernardo Dominic NEW
Johnson Q MarrierArgentinaIvan Magalhaes PROPOSAL
Alejandro M SlusarskiSpainAmy Elsner NEW
Emily N FigeroaCanadaElwin Sharvill PROPOSAL
Julie B ChuiIndiaIoni Bowcher RENEWAL
Deepesh I DarakjyItalyAmy Elsner NEGOTIATION
Stacey P SaylorsGermanyStephen Shaw RENEWAL
Mujtaba W SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Deepesh D CaldareraUnited KingdomAmy Elsner NEGOTIATION
Arvin U WieserCanadaOnyama Limba NEGOTIATION
Ashley Q CaldareraFranceAsiya Javayant PROPOSAL
Leja U SergiGermanyIvan Magalhaes PROPOSAL
Ricardo U AmigonGermanyOnyama Limba NEW
Misaki N OstroskyFranceBernardo Dominic QUALIFIED
Claire F KolmetzUnited KingdomStephen Shaw RENEWAL
Nicolas Z GauchoArgentinaIvan Magalhaes NEGOTIATION
Rodrigues V GlickArgentinaAmy Elsner NEW
Ashley V StockhamBrazilXuxue Feng NEW
Alejandro V OldroydFranceStephen Shaw NEW
Maria V PaprockiItalyAmy Elsner PROPOSAL
Silvio G MaletFranceStephen Shaw RENEWAL
Smith V MaletFranceAsiya Javayant RENEWAL
Jeanfrancois D MaletSpainAmy Elsner RENEWAL
Francesco B MarrierAustraliaElwin Sharvill RENEWAL
Julie F VocelkaFranceBernardo Dominic RENEWAL
Misaki Y PaprockiFranceAsiya Javayant NEGOTIATION
Kaitlin W FlosiArgentinaAmy Elsner RENEWAL
Cody D ButtIndiaElwin Sharvill NEGOTIATION
Aruna E RutaRussiaBernardo Dominic NEGOTIATION
Mayumi T SchemmerSpainOnyama Limba PROPOSAL
Silvio Q IturbideFranceStephen Shaw NEW
Smith C ChuiSpainElwin Sharvill PROPOSAL
Cody B DarakjyJapanAsiya Javayant RENEWAL
Silvio M AmigonUnited KingdomAmy Elsner NEGOTIATION
Antonio B ButtFranceStephen Shaw PROPOSAL
Francesco Y NickaGermanyIvan Magalhaes NEW
Mayumi P FollerAustraliaAmy Elsner NEW
Claire R FollerGermanyIvan Magalhaes QUALIFIED
Darci X PaprockiCanadaElwin Sharvill NEGOTIATION
Sinclair U WhobreyFranceOnyama Limba UNQUALIFIED

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