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
Aditya I StensethBrazilStephen Shaw NEGOTIATION
Chavez C InouyeJapanAsiya Javayant NEGOTIATION
Tony U RoysterCanadaBernardo Dominic NEGOTIATION
Adams M NestleBrazilIvan Magalhaes NEW
Ricardo O MacleadItalyStephen Shaw PROPOSAL
Antonio D GlickCanadaAsiya Javayant NEW
Juan P CaudyAustraliaElwin Sharvill PROPOSAL
Morrow C BowleyBrazilIoni Bowcher UNQUALIFIED
Aruna U RoysterJapanStephen Shaw NEW
Tony E VenereRussiaAmy Elsner NEGOTIATION
Sinclair J ButtFranceAnna Fali PROPOSAL
Nicolas G KolmetzFranceIoni Bowcher PROPOSAL
Maisha I VenereBrazilIvan Magalhaes PROPOSAL
Mayumi M PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood U StockhamBrazilIvan Magalhaes NEW
Alejandro A VocelkaGermanyStephen Shaw NEGOTIATION
Costa I MarrierUnited KingdomIoni Bowcher QUALIFIED
Rodrigues I CampainAustraliaIoni Bowcher NEGOTIATION
Claire J WhobreyGermanyIoni Bowcher QUALIFIED
Kaitlin M KuskoJapanAmy Elsner PROPOSAL
Clifford M SchemmerFranceAnna Fali QUALIFIED
James A FollerFranceIoni Bowcher NEW
Deepesh K MaletAustraliaAsiya Javayant RENEWAL
Izzy E CaldareraGermanyIvan Magalhaes PROPOSAL
Ashley E OldroydJapanIoni Bowcher QUALIFIED
Juan A OldroydSpainIoni Bowcher NEGOTIATION
Smith C WaycottRussiaElwin Sharvill PROPOSAL
Stacey A FollerIndiaAnna Fali NEW
Smith T MorascaBrazilXuxue Feng PROPOSAL
Murillo D AmigonGermanyIoni Bowcher NEW
Arvin A SaylorsArgentinaXuxue Feng RENEWAL
Leja H GarufiBrazilXuxue Feng NEW
Stacey F BriddickCanadaAnna Fali UNQUALIFIED
Faith V SchemmerCanadaXuxue Feng RENEWAL
Tony P StockhamBrazilAsiya Javayant UNQUALIFIED
Alejandro L GillianFranceAnna Fali PROPOSAL
Jeanfrancois W RulapaughJapanAsiya Javayant NEW
Johnson B TollnerUnited KingdomStephen Shaw PROPOSAL
Aika J AmigonGermanyBernardo Dominic PROPOSAL
Mujtaba S ButtUnited KingdomAnna Fali PROPOSAL
Claire Q InouyeFranceIvan Magalhaes NEGOTIATION
Adams T NestleSpainElwin Sharvill UNQUALIFIED
Deepesh C GauchoUnited KingdomBernardo Dominic PROPOSAL
Maisha P StensethJapanAsiya Javayant UNQUALIFIED
Maisha O CampainUnited KingdomAmy Elsner NEGOTIATION
Greenwood Y GarufiRussiaAnna Fali PROPOSAL
Aruna Q MorascaBrazilAnna Fali NEGOTIATION
Ivar N SergiIndiaIoni Bowcher PROPOSAL
Murillo C SaylorsIndiaIoni Bowcher UNQUALIFIED
Stacey R ShinkoItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki J WhobreyAustraliaBernardo Dominic QUALIFIED
Ivar T BriddickUnited KingdomStephen Shaw QUALIFIED
Silvio W BologniaJapanStephen Shaw PROPOSAL
Claire I WhobreyUnited KingdomAmy Elsner PROPOSAL
Mayumi K CampainIndiaElwin Sharvill NEW
James K WieserFranceXuxue Feng RENEWAL
Leja E DilliardArgentinaStephen Shaw RENEWAL
Misaki G BologniaGermanyIvan Magalhaes NEW
Juan P TollnerArgentinaIoni Bowcher PROPOSAL
Wickens B SchemmerJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki P GillianItaly2024-06-14Feiner Bros UNQUALIFIED77Xuxue Feng
1001Jones F BriddickRussia2024-05-31Chemel, James L Cpa NEW99Xuxue Feng
1002Antonio H SergiRussia2024-06-01Chemel, James L Cpa UNQUALIFIED60Ivan Magalhaes
1003Juan L InouyeRussia2024-06-18Feltz Printing Service PROPOSAL88Elwin Sharvill
1004Greenwood G FlosiFrance2024-06-10Truhlar And Truhlar Attys RENEWAL56Xuxue Feng
1005Aika I InouyeIndia2024-06-17Feiner Bros PROPOSAL73Amy Elsner
1006Johnson V AmigonRussia2024-06-02Rousseaux, Michael Esq NEGOTIATION45Onyama Limba
1007Francesco S AlbaresSpain2024-06-23Benton, John B Jr NEW35Elwin Sharvill
1008Maisha V CaldareraGermany2024-05-30Rangoni Of Florence PROPOSAL56Asiya Javayant
1009Cody G MaletAustralia2024-06-19Chemel, James L Cpa NEGOTIATION14Ioni Bowcher
1010Deepesh W KolmetzItaly2024-05-25Morlong Associates NEGOTIATION70Ivan Magalhaes
1011Misaki Q CaldareraAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL91Onyama Limba
1012Faith T FigeroaAustralia2024-06-20Buckley Miller Wright NEGOTIATION36Xuxue Feng
1013Alejandro F MaletGermany2024-06-20Truhlar And Truhlar Attys RENEWAL83Xuxue Feng
1014Ivar K IturbideUnited Kingdom2024-06-04King, Christopher A Esq PROPOSAL12Elwin Sharvill
1015Maisha B MacleadBrazil2024-06-13Benton, John B Jr QUALIFIED35Bernardo Dominic
1016Aruna F BriddickSpain2024-06-18Chanay, Jeffrey A Esq NEGOTIATION3Anna Fali
1017Sinclair J KolmetzUnited Kingdom2024-06-18King, Christopher A Esq NEGOTIATION63Ivan Magalhaes
1018Adams W OldroydFrance2024-06-02Feltz Printing Service RENEWAL44Elwin Sharvill
1019Morrow E GlickUnited Kingdom2024-06-12Benton, John B Jr QUALIFIED23Bernardo Dominic
1020Wickens M GillianCanada2024-05-27Feiner Bros UNQUALIFIED13Amy Elsner
1021Misaki K BriddickItaly2024-06-07Rousseaux, Michael Esq NEW93Amy Elsner
1022Kaitlin A GlickIndia2024-06-16Rangoni Of Florence NEW9Amy Elsner
1023Ashley P FollerCanada2024-06-02Chanay, Jeffrey A Esq PROPOSAL86Stephen Shaw
1024Adams V PaprockiCanada2024-06-12Feltz Printing Service PROPOSAL35Stephen Shaw
1025Kadeem H SlusarskiSpain2024-05-26Truhlar And Truhlar Attys UNQUALIFIED96Asiya Javayant
1026Aditya Y DoeBrazil2024-05-30Rousseaux, Michael Esq NEGOTIATION6Elwin Sharvill
1027Maria L KolmetzUnited Kingdom2024-06-20Feiner Bros NEW2Xuxue Feng
1028Kaitlin E MarrierGermany2024-06-03Chanay, Jeffrey A Esq NEW70Elwin Sharvill
1029Misaki O ChuiUnited Kingdom2024-06-02Truhlar And Truhlar Attys QUALIFIED37Elwin Sharvill
1030Maisha T TollnerAustralia2024-06-21Printing Dimensions QUALIFIED81Ivan Magalhaes
1031Faith Z ButtUnited Kingdom2024-05-31Printing Dimensions NEGOTIATION14Ivan Magalhaes
1032Leon N KolmetzJapan2024-05-30Benton, John B Jr QUALIFIED19Onyama Limba
1033Izzy H MaletJapan2024-05-26King, Christopher A Esq NEGOTIATION78Xuxue Feng
1034Emily A StensethSpain2024-05-28Buckley Miller Wright NEGOTIATION14Ivan Magalhaes
1035Francesco Y GarufiCanada2024-06-20Feiner Bros QUALIFIED50Asiya Javayant
1036Aruna U BriddickUnited Kingdom2024-06-10Chapman, Ross E Esq NEW61Xuxue Feng
1037Greenwood I GillianJapan2024-06-19Dorl, James J Esq UNQUALIFIED69Anna Fali
1038Wickens W StockhamGermany2024-06-02Rousseaux, Michael Esq NEGOTIATION38Ioni Bowcher
1039Claire F AmigonBrazil2024-06-01Feltz Printing Service PROPOSAL45Anna Fali
1040Nicolas J GauchoCanada2024-06-10Chanay, Jeffrey A Esq NEW80Amy Elsner
1041Francesco U RimRussia2024-06-10Chemel, James L Cpa PROPOSAL58Anna Fali
1042Smith K GarufiAustralia2024-06-18Commercial Press UNQUALIFIED66Amy Elsner
1043Claire X BologniaRussia2024-06-14Rangoni Of Florence PROPOSAL6Stephen Shaw
1044Greenwood T DilliardIndia2024-06-21Buckley Miller Wright UNQUALIFIED59Asiya Javayant
1045Faith R RimGermany2024-06-06Chanay, Jeffrey A Esq RENEWAL0Amy Elsner
1046Nicolas I GauchoJapan2024-06-23Rangoni Of Florence RENEWAL73Stephen Shaw
1047Ivar Q DoeCanada2024-06-05Feiner Bros RENEWAL13Xuxue Feng
1048Wickens X InouyeIndia2024-06-13Chapman, Ross E Esq UNQUALIFIED8Elwin Sharvill
1049Octavia U SchemmerAustralia2024-06-20Truhlar And Truhlar Attys RENEWAL83Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley I GlickSpainAnna Fali PROPOSAL
Julie B AlbaresIndiaBernardo Dominic RENEWAL
Juan O StockhamItalyAmy Elsner RENEWAL
Tony Z CaldareraAustraliaAmy Elsner NEW
Deepesh Z DilliardJapanAnna Fali PROPOSAL
Misaki Z InouyeFranceBernardo Dominic QUALIFIED
Johnson A CaudyUnited KingdomElwin Sharvill PROPOSAL
Aika F KolmetzIndiaIvan Magalhaes NEGOTIATION
Antonio B RoysterJapanXuxue Feng UNQUALIFIED
Isabel X VenereJapanOnyama Limba RENEWAL
Jefferson Y MorascaArgentinaIvan Magalhaes NEGOTIATION
Murillo W ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Aika C OldroydIndiaStephen Shaw QUALIFIED
Leon J PerinUnited KingdomOnyama Limba NEW
Tony X VocelkaAustraliaAmy Elsner NEGOTIATION
Jennifer X OstroskyIndiaElwin Sharvill QUALIFIED
Antonio S MaletUnited KingdomElwin Sharvill NEGOTIATION
Maisha B RoysterItalyAmy Elsner NEGOTIATION
David W StensethArgentinaBernardo Dominic RENEWAL
Misaki U WaycottBrazilIvan Magalhaes PROPOSAL
Wickens L WhobreyArgentinaXuxue Feng NEGOTIATION
Leon G BriddickArgentinaBernardo Dominic UNQUALIFIED
Kaitlin E AmigonGermanyAnna Fali NEGOTIATION
Rodrigues D NestleJapanAmy Elsner PROPOSAL
Aditya G InouyeJapanAnna Fali RENEWAL
Aika S StensethRussiaOnyama Limba RENEWAL
Johnson S SchemmerRussiaStephen Shaw NEW
Emily K KuskoBrazilAsiya Javayant NEW
Antonio F SchemmerUnited KingdomOnyama Limba NEW
Izzy I WaycottGermanyBernardo Dominic QUALIFIED
James T GillianBrazilAmy Elsner RENEWAL
Sinclair G RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Silvio V GauchoIndiaIoni Bowcher NEGOTIATION
Maisha L StensethIndiaAmy Elsner PROPOSAL
Rodrigues Y RimUnited KingdomIoni Bowcher UNQUALIFIED
Ashley G NickaIndiaAmy Elsner UNQUALIFIED
Julie X BriddickIndiaXuxue Feng PROPOSAL
Ashley M GlickAustraliaBernardo Dominic UNQUALIFIED
Stacey Y PoquetteRussiaAmy Elsner NEGOTIATION
Jennifer E FigeroaSpainIoni Bowcher QUALIFIED
Deepesh Y SlusarskiCanadaElwin Sharvill NEW
Salvatore V OstroskyAustraliaAsiya Javayant UNQUALIFIED
Mujtaba T FollerIndiaXuxue Feng PROPOSAL
Salvatore V SlusarskiSpainXuxue Feng NEGOTIATION
Clifford I ShinkoJapanOnyama Limba RENEWAL
Darci M RoysterBrazilOnyama Limba RENEWAL
Maria G MaletAustraliaAmy Elsner RENEWAL
Sinclair X CaudyBrazilElwin Sharvill PROPOSAL
Misaki Q AlbaresAustraliaElwin Sharvill RENEWAL
Emily X BowleyCanadaIvan Magalhaes NEW
Frozen Columns
Name
Smith W Butt
Ricardo P Nestle
Johnson J Venere
Morrow Z Wieser
Emily W Tollner
Maisha H Sergi
Sinclair S Albares
Aditya Y Royster
Aika A Stenseth
Leon J Kolmetz
Nicolas K Gaucho
Isabel Z Nestle
Kadeem C Maclead
Ivar M Gillian
Misaki W Bolognia
Claire U Nestle
Mujtaba N Marrier
Adams A Royster
Emily N Iturbide
Alejandro O Caldarera
Stacey P Bolognia
Morrow E Rulapaugh
Munro Y Shinko
Mujtaba U Ruta
Sinclair C Venere
Jefferson Y Saylors
Rodrigues O Flosi
Claire L Butt
David U Ferencz
Morrow R Poquette
Francesco H Morasca
Darci W Saylors
Arvin S Rulapaugh
Leja V Oldroyd
Mujtaba G Rulapaugh
Antonio J Ruta
Sinclair I Oldroyd
Jefferson V Slusarski
Faith S Whobrey
Greenwood N Schemmer
Ricardo G Marrier
Stacey J Kolmetz
Rodrigues D Campain
Clifford H Ostrosky
Stacey F Morasca
Misaki Y Campain
Izzy I Briddick
Rodrigues E Vocelka
Deepesh X Amigon
Deepesh O Marrier
IdCountryDate
1000Argentina2024-06-02
1001India2024-06-16
1002United Kingdom2024-06-20
1003Italy2024-06-13
1004Japan2024-06-13
1005Japan2024-06-17
1006Spain2024-06-05
1007France2024-06-13
1008Japan2024-05-28
1009Canada2024-06-11
1010India2024-05-28
1011Italy2024-06-12
1012Canada2024-06-22
1013Russia2024-06-13
1014United Kingdom2024-05-28
1015India2024-05-30
1016Australia2024-06-11
1017Canada2024-06-02
1018Spain2024-05-28
1019Italy2024-06-16
1020United Kingdom2024-06-23
1021France2024-06-16
1022Italy2024-06-13
1023Brazil2024-06-09
1024Italy2024-06-18
1025Australia2024-05-31
1026Italy2024-06-07
1027India2024-06-18
1028India2024-06-04
1029India2024-06-22
1030France2024-05-27
1031Spain2024-06-19
1032Brazil2024-06-14
1033Russia2024-06-05
1034Russia2024-06-08
1035France2024-06-13
1036France2024-06-05
1037Italy2024-06-01
1038Argentina2024-06-20
1039Spain2024-06-13
1040India2024-06-07
1041France2024-06-05
1042France2024-06-19
1043Canada2024-06-16
1044United Kingdom2024-05-31
1045Russia2024-06-20
1046Canada2024-06-12
1047France2024-05-25
1048Spain2024-06-23
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Arvin A Maclead1000Brazil2024-06-22
Silvio F Gillian1001Germany2024-06-23
Cody W Rim1002Australia2024-06-10
Salvatore M Dilliard1003India2024-06-06
Francesco F Kusko1004India2024-06-11
Leon A Paprocki1005Spain2024-06-21
Chavez L Bolognia1006Germany2024-06-20
Stacey E Caudy1007Brazil2024-05-25
Sinclair D Stockham1008Germany2024-05-28
Faith E Dilliard1009Germany2024-05-25
Johnson S Royster1010Germany2024-06-04
Murillo N Shinko1011Russia2024-06-06
Johnson Y Campain1012United Kingdom2024-05-31
Jeanfrancois G Chui1013Italy2024-06-19
Nicolas T Morasca1014Russia2024-06-04
Maisha Y Darakjy1015Italy2024-05-25
Leja W Darakjy1016Australia2024-06-12
Arvin C Marrier1017United Kingdom2024-06-06
Clifford E Schemmer1018Brazil2024-06-06
Leja R Stenseth1019Brazil2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David N PerinSpainAmy Elsner UNQUALIFIED
Isabel G KolmetzItalyXuxue Feng UNQUALIFIED
Maria G MaletArgentinaAmy Elsner NEW
Salvatore Z RulapaughJapanIoni Bowcher NEGOTIATION
Aika N PoquetteSpainStephen Shaw NEGOTIATION
Silvio T MorascaJapanStephen Shaw QUALIFIED
Juan V VocelkaJapanIoni Bowcher NEGOTIATION
Claire A StockhamCanadaIvan Magalhaes RENEWAL
Smith V RoysterUnited KingdomBernardo Dominic QUALIFIED
Costa M WieserGermanyOnyama Limba QUALIFIED
Julie G GillianSpainStephen Shaw RENEWAL
Kadeem Q RulapaughGermanyIoni Bowcher NEW
Jefferson L NestleAustraliaOnyama Limba UNQUALIFIED
David Y VocelkaGermanyElwin Sharvill PROPOSAL
Aika L GauchoArgentinaAnna Fali PROPOSAL
Aruna O KolmetzJapanAsiya Javayant RENEWAL
Arvin Y VocelkaBrazilAsiya Javayant NEGOTIATION
Ivar W GlickJapanElwin Sharvill PROPOSAL
Smith C FerenczUnited KingdomAmy Elsner NEW
Adams D OldroydUnited KingdomBernardo Dominic NEW
Murillo R CaldareraBrazilIoni Bowcher NEW
Greenwood B BowleyBrazilIoni Bowcher UNQUALIFIED
Jennifer J RulapaughUnited KingdomXuxue Feng RENEWAL
Jefferson U FerenczJapanAsiya Javayant RENEWAL
Izzy Z MarrierUnited KingdomOnyama Limba NEGOTIATION
Sinclair Z MaletAustraliaOnyama Limba RENEWAL
Sinclair Z InouyeJapanXuxue Feng PROPOSAL
Kadeem W WieserRussiaXuxue Feng PROPOSAL
Silvio A ShinkoSpainElwin Sharvill UNQUALIFIED
Alejandro T SchemmerGermanyXuxue Feng RENEWAL
Aditya M CaudyGermanyXuxue Feng RENEWAL
Maisha Z SlusarskiRussiaIvan Magalhaes NEW
Leja O WieserJapanElwin Sharvill RENEWAL
Murillo S SlusarskiItalyOnyama Limba QUALIFIED
Antonio P GlickSpainBernardo Dominic UNQUALIFIED
Leja D KuskoJapanBernardo Dominic QUALIFIED
Antonio D ButtJapanAsiya Javayant UNQUALIFIED
Adams L FerenczIndiaIvan Magalhaes NEW
Morrow Y MacleadJapanStephen Shaw NEW
David U IturbideBrazilAsiya Javayant 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>