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
Jefferson C KuskoUnited KingdomIoni Bowcher PROPOSAL
Leon G DoeFranceAsiya Javayant PROPOSAL
Ashley K AmigonGermanyAsiya Javayant QUALIFIED
Arvin J FigeroaIndiaElwin Sharvill QUALIFIED
Munro M WaycottBrazilElwin Sharvill RENEWAL
Wickens T MarrierBrazilAsiya Javayant NEGOTIATION
Costa M CaldareraRussiaElwin Sharvill UNQUALIFIED
Kadeem A DarakjyAustraliaIoni Bowcher UNQUALIFIED
Johnson Q MaletGermanyElwin Sharvill UNQUALIFIED
Leja W MacleadIndiaAnna Fali PROPOSAL
Darci N OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues B AmigonItalyAmy Elsner RENEWAL
Kaitlin P BologniaCanadaIvan Magalhaes NEGOTIATION
Munro J MarrierGermanyIvan Magalhaes PROPOSAL
Isabel C DilliardRussiaOnyama Limba NEW
Ashley K AlbaresUnited KingdomBernardo Dominic NEW
Rodrigues D SlusarskiIndiaIvan Magalhaes NEW
Ricardo E NickaBrazilStephen Shaw NEGOTIATION
Cody U SergiSpainElwin Sharvill RENEWAL
Sinclair K PoquetteRussiaAnna Fali QUALIFIED
Rodrigues F NickaCanadaAsiya Javayant PROPOSAL
Octavia O SaylorsIndiaBernardo Dominic QUALIFIED
Murillo F ButtItalyXuxue Feng NEGOTIATION
Ricardo L StensethBrazilElwin Sharvill NEW
Emily P GlickBrazilStephen Shaw NEW
Kadeem Q RulapaughUnited KingdomStephen Shaw NEGOTIATION
Alejandro B MacleadItalyAsiya Javayant QUALIFIED
Aditya B BologniaArgentinaStephen Shaw QUALIFIED
Claire D SergiRussiaAmy Elsner PROPOSAL
Greenwood O StockhamGermanyStephen Shaw UNQUALIFIED
Wickens M ShinkoItalyElwin Sharvill UNQUALIFIED
Octavia R DoeUnited KingdomAsiya Javayant PROPOSAL
Isabel A SlusarskiGermanyElwin Sharvill QUALIFIED
Clifford A MaletFranceAnna Fali NEGOTIATION
Mujtaba G BowleySpainAmy Elsner NEGOTIATION
Kaitlin O BologniaJapanIoni Bowcher NEW
Jeanfrancois F ShinkoFranceStephen Shaw RENEWAL
Darci I MacleadBrazilIoni Bowcher PROPOSAL
Mujtaba C GlickGermanyBernardo Dominic NEW
James N WieserIndiaIvan Magalhaes PROPOSAL
Arvin T IturbideGermanyIvan Magalhaes NEW
Jefferson O IturbideSpainAmy Elsner UNQUALIFIED
Morrow X MaletFranceIoni Bowcher RENEWAL
Tony E RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Maisha U TollnerSpainBernardo Dominic NEGOTIATION
Izzy G DoeArgentinaOnyama Limba NEW
Adams E SlusarskiGermanyElwin Sharvill PROPOSAL
Jeanfrancois T TollnerIndiaAnna Fali RENEWAL
Silvio C MorascaIndiaOnyama Limba QUALIFIED
Jennifer J NickaArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David J DoeItalyOnyama Limba NEGOTIATION
Maisha W OstroskyRussiaElwin Sharvill NEGOTIATION
Murillo Z RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo T GillianArgentinaAmy Elsner NEGOTIATION
Murillo X FerenczJapanAmy Elsner QUALIFIED
Jones L AmigonGermanyIoni Bowcher NEW
Arvin V MaletAustraliaXuxue Feng QUALIFIED
Antonio R BologniaCanadaBernardo Dominic QUALIFIED
Nicolas E FlosiArgentinaIoni Bowcher PROPOSAL
Aditya L RimUnited KingdomIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi P FlosiGermany2024-06-13Morlong Associates RENEWAL42Stephen Shaw
1001Antonio H FerenczAustralia2024-06-01Dorl, James J Esq QUALIFIED53Ivan Magalhaes
1002Munro Q NestleJapan2024-05-19Printing Dimensions QUALIFIED20Anna Fali
1003Kaitlin U RoysterRussia2024-06-12Morlong Associates QUALIFIED14Asiya Javayant
1004Rodrigues D WhobreyItaly2024-05-21Buckley Miller Wright UNQUALIFIED92Stephen Shaw
1005Izzy N SergiBrazil2024-05-28King, Christopher A Esq NEGOTIATION76Asiya Javayant
1006Julie V BowleyBrazil2024-06-13Truhlar And Truhlar Attys NEW8Ivan Magalhaes
1007Leon V ButtCanada2024-05-21Chanay, Jeffrey A Esq NEGOTIATION35Onyama Limba
1008Leon H MacleadRussia2024-06-13Feltz Printing Service QUALIFIED80Onyama Limba
1009Jefferson S RoysterItaly2024-06-07Morlong Associates NEW16Elwin Sharvill
1010Isabel B StockhamIndia2024-06-14Morlong Associates UNQUALIFIED15Asiya Javayant
1011Jefferson F SchemmerUnited Kingdom2024-06-11Chemel, James L Cpa QUALIFIED61Ivan Magalhaes
1012Antonio C PaprockiFrance2024-05-30Feiner Bros RENEWAL60Ioni Bowcher
1013Jefferson K MaletJapan2024-05-28Benton, John B Jr PROPOSAL5Anna Fali
1014Aditya H WhobreyArgentina2024-05-25Commercial Press RENEWAL16Bernardo Dominic
1015Izzy N AlbaresGermany2024-06-02Chapman, Ross E Esq NEGOTIATION22Anna Fali
1016Misaki O DarakjyRussia2024-06-05Dorl, James J Esq UNQUALIFIED32Asiya Javayant
1017Ivar G BriddickAustralia2024-05-18Rousseaux, Michael Esq RENEWAL42Asiya Javayant
1018Julie V DoeItaly2024-05-28Rousseaux, Michael Esq NEW59Ioni Bowcher
1019Morrow V DilliardAustralia2024-06-04Feiner Bros UNQUALIFIED89Elwin Sharvill
1020Faith L StensethArgentina2024-05-21Feltz Printing Service NEGOTIATION53Elwin Sharvill
1021Leja I PoquetteArgentina2024-06-06Chanay, Jeffrey A Esq NEGOTIATION25Stephen Shaw
1022Octavia H GauchoRussia2024-05-24Buckley Miller Wright NEGOTIATION99Ivan Magalhaes
1023Wickens G DilliardBrazil2024-05-24Chapman, Ross E Esq NEGOTIATION52Amy Elsner
1024Maisha R FigeroaJapan2024-05-29Rangoni Of Florence QUALIFIED38Stephen Shaw
1025Salvatore B CaudyRussia2024-05-29King, Christopher A Esq UNQUALIFIED82Bernardo Dominic
1026Antonio H WaycottGermany2024-06-06Chapman, Ross E Esq NEGOTIATION83Elwin Sharvill
1027Silvio D NickaFrance2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED31Elwin Sharvill
1028Maria D BowleyIndia2024-06-06Buckley Miller Wright RENEWAL33Xuxue Feng
1029Rodrigues N VenereItaly2024-06-07Rousseaux, Michael Esq NEGOTIATION32Amy Elsner
1030Smith H MaletArgentina2024-05-24Printing Dimensions QUALIFIED75Anna Fali
1031Aditya Y DilliardAustralia2024-05-26King, Christopher A Esq QUALIFIED62Anna Fali
1032Mayumi U RimUnited Kingdom2024-05-23Feiner Bros RENEWAL2Amy Elsner
1033Mayumi Q SaylorsIndia2024-06-14Chemel, James L Cpa NEGOTIATION87Ioni Bowcher
1034Octavia N NestleItaly2024-05-26Rousseaux, Michael Esq UNQUALIFIED27Stephen Shaw
1035Maisha Q IturbideRussia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION94Elwin Sharvill
1036Ricardo Q SaylorsRussia2024-05-18Morlong Associates NEGOTIATION77Onyama Limba
1037Darci I PaprockiAustralia2024-06-05Feltz Printing Service UNQUALIFIED95Anna Fali
1038Antonio X PoquetteGermany2024-05-27Feltz Printing Service PROPOSAL31Ivan Magalhaes
1039James P DilliardGermany2024-06-16Printing Dimensions NEW62Elwin Sharvill
1040Emily Z OstroskyIndia2024-06-13Commercial Press RENEWAL50Elwin Sharvill
1041Julie F SaylorsBrazil2024-06-02Printing Dimensions UNQUALIFIED99Anna Fali
1042Mayumi V MorascaItaly2024-06-04Rousseaux, Michael Esq NEGOTIATION0Ivan Magalhaes
1043Aditya V GillianJapan2024-05-18Dorl, James J Esq QUALIFIED36Stephen Shaw
1044Misaki L BowleySpain2024-05-25Printing Dimensions UNQUALIFIED9Onyama Limba
1045Salvatore W AmigonArgentina2024-05-28Commercial Press RENEWAL38Onyama Limba
1046Alejandro I OstroskyFrance2024-05-18Chapman, Ross E Esq QUALIFIED77Amy Elsner
1047Silvio R PoquetteGermany2024-05-22Benton, John B Jr PROPOSAL43Onyama Limba
1048Emily X RimItaly2024-05-25Commercial Press NEGOTIATION22Onyama Limba
1049Aruna Q DilliardJapan2024-06-13Commercial Press QUALIFIED2Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X SaylorsCanadaIoni Bowcher QUALIFIED
Morrow M SchemmerIndiaBernardo Dominic QUALIFIED
Arvin T FollerArgentinaIoni Bowcher QUALIFIED
Chavez H OstroskyItalyElwin Sharvill NEW
Morrow V KuskoCanadaXuxue Feng PROPOSAL
Leja L VenereCanadaIoni Bowcher QUALIFIED
Nicolas C FigeroaArgentinaXuxue Feng NEGOTIATION
Misaki R SergiArgentinaIvan Magalhaes RENEWAL
Arvin I DoeItalyElwin Sharvill PROPOSAL
Jones S MacleadSpainXuxue Feng RENEWAL
Darci O MarrierItalyIvan Magalhaes QUALIFIED
David T SergiJapanIvan Magalhaes NEGOTIATION
Arvin E OldroydGermanyIoni Bowcher NEW
Cody I CampainAustraliaXuxue Feng NEGOTIATION
Aruna R CaudyFranceOnyama Limba UNQUALIFIED
Aditya R FlosiGermanyIoni Bowcher PROPOSAL
Jones J SaylorsCanadaAnna Fali UNQUALIFIED
Silvio U GillianUnited KingdomXuxue Feng NEW
David M MorascaIndiaOnyama Limba UNQUALIFIED
Arvin M WhobreyFranceAnna Fali NEW
Murillo A BowleyUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba Z OldroydAustraliaAsiya Javayant NEW
Murillo A PaprockiCanadaIoni Bowcher PROPOSAL
Leon Z MorascaAustraliaAmy Elsner NEW
Claire A TollnerGermanyIvan Magalhaes NEGOTIATION
Kaitlin D RutaArgentinaIvan Magalhaes NEGOTIATION
Jennifer Q FollerRussiaIoni Bowcher RENEWAL
Leja X WaycottBrazilBernardo Dominic QUALIFIED
Morrow F CaldareraSpainIoni Bowcher UNQUALIFIED
Clifford B OldroydJapanIoni Bowcher PROPOSAL
Salvatore S GlickJapanAsiya Javayant PROPOSAL
Mayumi M BowleyAustraliaOnyama Limba UNQUALIFIED
Nicolas S KuskoFranceBernardo Dominic QUALIFIED
Isabel K OldroydRussiaXuxue Feng PROPOSAL
Clifford A GauchoArgentinaIoni Bowcher RENEWAL
Clifford R IturbideCanadaIvan Magalhaes RENEWAL
Wickens P KuskoArgentinaStephen Shaw RENEWAL
Nicolas V GarufiSpainIvan Magalhaes QUALIFIED
Clifford E PaprockiJapanElwin Sharvill QUALIFIED
Francesco Q KolmetzBrazilAnna Fali PROPOSAL
Misaki H GlickJapanIoni Bowcher NEW
James S InouyeRussiaOnyama Limba PROPOSAL
Darci C MarrierFranceIvan Magalhaes QUALIFIED
Antonio O MarrierBrazilIvan Magalhaes RENEWAL
Izzy F RoysterArgentinaStephen Shaw RENEWAL
James F GarufiAustraliaBernardo Dominic PROPOSAL
Jefferson N OldroydSpainElwin Sharvill NEW
Johnson C OldroydFranceStephen Shaw UNQUALIFIED
Claire H FollerBrazilAmy Elsner PROPOSAL
Aditya L ButtFranceOnyama Limba UNQUALIFIED
Frozen Columns
Name
Octavia M Caldarera
Aika G Bolognia
Antonio M Schemmer
Alejandro U Venere
Cody Y Nicka
Emily F Darakjy
Munro Z Morasca
Leja M Doe
Leja Y Dilliard
Adams G Briddick
Aditya L Campain
Nicolas C Chui
Sinclair E Slusarski
Juan C Caudy
Kaitlin Q Kusko
Darci I Sergi
Aditya K Kolmetz
Adams J Figeroa
Claire C Sergi
Aditya Y Shinko
Murillo C Caldarera
Clifford T Campain
Deepesh J Stockham
Murillo X Ruta
Deepesh P Poquette
Nicolas A Poquette
Nicolas I Poquette
Murillo C Iturbide
Jefferson E Saylors
Sinclair Z Briddick
Aika E Stockham
Stacey L Wieser
Leja L Doe
Emily K Inouye
Ivar A Perin
Tony T Marrier
Jennifer B Oldroyd
David G Chui
Antonio P Garufi
Costa A Ostrosky
Arvin C Whobrey
Maria T Malet
Kadeem V Schemmer
Faith L Gaucho
Murillo C Garufi
Kadeem C Morasca
Nicolas W Ferencz
Greenwood E Dilliard
Mujtaba K Dilliard
Jeanfrancois W Poquette
IdCountryDate
1000India2024-06-10
1001France2024-06-12
1002Japan2024-05-26
1003Russia2024-05-22
1004Italy2024-06-16
1005France2024-05-26
1006Canada2024-06-03
1007Canada2024-06-11
1008Spain2024-06-07
1009United Kingdom2024-06-08
1010Argentina2024-05-21
1011Italy2024-05-28
1012France2024-05-28
1013Japan2024-06-12
1014Argentina2024-05-26
1015United Kingdom2024-06-01
1016Japan2024-05-28
1017Argentina2024-05-25
1018France2024-05-23
1019France2024-05-31
1020India2024-06-05
1021Brazil2024-05-18
1022India2024-05-21
1023Argentina2024-06-08
1024Spain2024-05-26
1025Italy2024-06-09
1026Australia2024-06-11
1027India2024-06-13
1028Spain2024-06-03
1029Brazil2024-05-25
1030United Kingdom2024-05-24
1031Spain2024-06-12
1032Germany2024-06-05
1033Italy2024-06-11
1034India2024-06-09
1035Japan2024-05-25
1036United Kingdom2024-06-14
1037Italy2024-06-09
1038Brazil2024-05-24
1039Canada2024-06-01
1040Canada2024-05-21
1041India2024-05-21
1042Australia2024-05-28
1043Japan2024-05-20
1044Italy2024-06-10
1045Brazil2024-05-29
1046France2024-06-11
1047Brazil2024-06-05
1048Italy2024-06-01
1049United Kingdom2024-06-05

On-Demand Data

NameIdCountryDate
Antonio N Foller1000Brazil2024-06-14
Stacey T Royster1001Australia2024-06-14
Greenwood G Slusarski1002Brazil2024-05-18
Izzy W Caudy1003United Kingdom2024-06-12
Leon Q Royster1004Germany2024-06-12
Wickens R Nicka1005Spain2024-05-29
Ashley L Briddick1006Brazil2024-06-04
Cody D Doe1007Canada2024-05-25
Johnson Z Inouye1008India2024-06-07
David V Nicka1009India2024-06-05
Leja H Nestle1010Russia2024-05-30
Smith U Wieser1011Argentina2024-06-09
Cody R Figeroa1012India2024-05-29
James R Waycott1013India2024-05-19
Chavez D Stockham1014Australia2024-05-26
Nicolas Z Garufi1015Argentina2024-05-22
Octavia R Caudy1016Italy2024-05-23
Murillo H Perin1017Argentina2024-06-05
Leja N Chui1018Australia2024-06-07
Claire D Campain1019Italy2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens Z DarakjyUnited KingdomOnyama Limba QUALIFIED
Silvio X RimUnited KingdomIoni Bowcher NEGOTIATION
Jennifer S PaprockiAustraliaOnyama Limba QUALIFIED
Isabel M OldroydArgentinaIoni Bowcher RENEWAL
Leon D BriddickGermanyIvan Magalhaes QUALIFIED
Kaitlin P OstroskyItalyAnna Fali NEW
Munro S RoysterArgentinaIoni Bowcher UNQUALIFIED
Kaitlin K DarakjyBrazilBernardo Dominic PROPOSAL
Maisha N CampainBrazilXuxue Feng PROPOSAL
Maisha S FigeroaAustraliaElwin Sharvill UNQUALIFIED
Antonio J FigeroaUnited KingdomBernardo Dominic RENEWAL
Misaki Z InouyeJapanAsiya Javayant PROPOSAL
Jefferson M DilliardItalyElwin Sharvill RENEWAL
Kaitlin Z GlickAustraliaAsiya Javayant PROPOSAL
Cody S SlusarskiItalyOnyama Limba PROPOSAL
Rodrigues Z FigeroaJapanXuxue Feng RENEWAL
Alejandro V ChuiJapanOnyama Limba RENEWAL
Greenwood T CaldareraJapanXuxue Feng QUALIFIED
Juan N MacleadItalyElwin Sharvill RENEWAL
James H TollnerUnited KingdomAsiya Javayant RENEWAL
Cody F RulapaughAustraliaBernardo Dominic UNQUALIFIED
Chavez N WaycottAustraliaAmy Elsner RENEWAL
Emily A BologniaIndiaAmy Elsner UNQUALIFIED
Jeanfrancois T OstroskyCanadaStephen Shaw NEGOTIATION
Kadeem A ButtRussiaAsiya Javayant NEW
Clifford E SchemmerFranceIoni Bowcher RENEWAL
Murillo A IturbideBrazilElwin Sharvill UNQUALIFIED
Aika E DoeAustraliaElwin Sharvill NEGOTIATION
Leja C PoquetteRussiaAmy Elsner QUALIFIED
Costa N WieserBrazilIvan Magalhaes RENEWAL
Maisha M InouyeSpainBernardo Dominic UNQUALIFIED
Wickens R FollerSpainStephen Shaw UNQUALIFIED
Aditya R GillianSpainAnna Fali UNQUALIFIED
Clifford J ButtBrazilXuxue Feng UNQUALIFIED
Francesco A FlosiRussiaIvan Magalhaes NEGOTIATION
Juan P SergiFranceAnna Fali UNQUALIFIED
Kaitlin Z VenereBrazilIvan Magalhaes NEW
Clifford Q SaylorsFranceAsiya Javayant RENEWAL
Jefferson T PerinItalyStephen Shaw NEGOTIATION
Clifford X CaldareraArgentinaAmy Elsner NEGOTIATION

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