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
Leon O CampainItalyAsiya Javayant QUALIFIED
Johnson G CampainCanadaAmy Elsner RENEWAL
Isabel B WaycottBrazilElwin Sharvill RENEWAL
Ivar M OstroskyAustraliaOnyama Limba QUALIFIED
Claire A CaudyJapanAmy Elsner NEGOTIATION
Maria S InouyeBrazilIvan Magalhaes QUALIFIED
Antonio B RoysterRussiaElwin Sharvill PROPOSAL
David U OldroydGermanyOnyama Limba NEGOTIATION
Ashley Q SchemmerSpainElwin Sharvill NEW
James A TollnerRussiaIoni Bowcher NEW
Tony C FollerArgentinaOnyama Limba NEW
Ashley O PerinJapanIoni Bowcher RENEWAL
Mujtaba J MaletSpainAsiya Javayant NEW
Tony X DilliardJapanBernardo Dominic NEW
Jennifer G ButtAustraliaOnyama Limba NEGOTIATION
Morrow L NickaGermanyStephen Shaw NEGOTIATION
Johnson X FigeroaItalyAnna Fali QUALIFIED
Juan N GarufiIndiaElwin Sharvill PROPOSAL
Izzy Q NickaCanadaStephen Shaw PROPOSAL
Ashley G PoquetteSpainIvan Magalhaes UNQUALIFIED
Claire L OldroydGermanyIoni Bowcher UNQUALIFIED
Nicolas L RoysterSpainAsiya Javayant PROPOSAL
Kadeem Y WhobreyRussiaElwin Sharvill UNQUALIFIED
Deepesh O ShinkoGermanyIvan Magalhaes NEGOTIATION
Julie J RimIndiaAsiya Javayant PROPOSAL
Francesco V MaletIndiaBernardo Dominic UNQUALIFIED
Octavia P AmigonItalyElwin Sharvill NEGOTIATION
Alejandro M TollnerGermanyOnyama Limba PROPOSAL
Morrow B FollerItalyElwin Sharvill UNQUALIFIED
Octavia F AmigonIndiaElwin Sharvill UNQUALIFIED
Maisha D ShinkoIndiaAmy Elsner RENEWAL
Silvio E NickaBrazilXuxue Feng UNQUALIFIED
Alejandro Y NestleJapanAsiya Javayant RENEWAL
Costa Y ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Antonio E SlusarskiSpainAnna Fali NEW
Smith U SlusarskiRussiaOnyama Limba NEW
Nicolas I InouyeSpainStephen Shaw PROPOSAL
Antonio O RoysterCanadaStephen Shaw RENEWAL
Antonio E ChuiIndiaIvan Magalhaes RENEWAL
Clifford T DoeItalyOnyama Limba UNQUALIFIED
Morrow I GillianAustraliaAmy Elsner UNQUALIFIED
Chavez D FlosiJapanXuxue Feng QUALIFIED
Costa X SlusarskiAustraliaAmy Elsner UNQUALIFIED
Emily X MaletJapanAsiya Javayant RENEWAL
Ivar I PoquetteCanadaIvan Magalhaes UNQUALIFIED
Faith Y InouyeFranceElwin Sharvill NEGOTIATION
Maisha I DarakjyIndiaIvan Magalhaes QUALIFIED
Nicolas M ChuiBrazilStephen Shaw UNQUALIFIED
Darci P SaylorsFranceAsiya Javayant NEGOTIATION
Claire G GlickRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Q KuskoRussiaAmy Elsner RENEWAL
Jennifer O NestleCanadaIvan Magalhaes QUALIFIED
Jennifer Z DilliardIndiaOnyama Limba RENEWAL
Mujtaba L ButtCanadaBernardo Dominic UNQUALIFIED
Maria J RulapaughFranceAsiya Javayant NEGOTIATION
Leja B MacleadFranceAsiya Javayant NEGOTIATION
Ivar N IturbideGermanyXuxue Feng RENEWAL
Juan R SergiBrazilIoni Bowcher PROPOSAL
Jeanfrancois T InouyeArgentinaIoni Bowcher NEGOTIATION
Wickens Z PaprockiItalyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa G CaudyArgentina2024-06-14Chanay, Jeffrey A Esq PROPOSAL29Amy Elsner
1001Morrow A RoysterJapan2024-05-27Rousseaux, Michael Esq QUALIFIED70Anna Fali
1002Antonio P GarufiCanada2024-06-10Feltz Printing Service PROPOSAL86Stephen Shaw
1003Tony I SlusarskiFrance2024-06-14Feltz Printing Service RENEWAL31Xuxue Feng
1004Darci H IturbideGermany2024-06-18Rangoni Of Florence PROPOSAL95Stephen Shaw
1005David M NestleSpain2024-05-28Chanay, Jeffrey A Esq QUALIFIED45Ioni Bowcher
1006Nicolas M RutaAustralia2024-06-21King, Christopher A Esq PROPOSAL73Asiya Javayant
1007Costa O StensethGermany2024-06-21Chemel, James L Cpa QUALIFIED27Stephen Shaw
1008Rodrigues C PerinArgentina2024-06-18Feltz Printing Service RENEWAL53Ioni Bowcher
1009David G MacleadIndia2024-06-04Feltz Printing Service PROPOSAL14Stephen Shaw
1010Tony P DoeBrazil2024-06-06Buckley Miller Wright QUALIFIED6Asiya Javayant
1011Mujtaba U WhobreyUnited Kingdom2024-06-22Chapman, Ross E Esq NEGOTIATION80Ivan Magalhaes
1012Ashley O ShinkoJapan2024-06-13Chemel, James L Cpa NEGOTIATION24Ioni Bowcher
1013Arvin B MarrierGermany2024-05-25Rousseaux, Michael Esq NEW41Ioni Bowcher
1014Smith W CampainFrance2024-05-25Dorl, James J Esq NEGOTIATION23Amy Elsner
1015Rodrigues X WhobreyCanada2024-06-14Truhlar And Truhlar Attys RENEWAL43Anna Fali
1016Deepesh S NickaArgentina2024-05-29Buckley Miller Wright NEW35Amy Elsner
1017Kaitlin C BriddickItaly2024-06-17Chapman, Ross E Esq QUALIFIED66Xuxue Feng
1018Deepesh B CaldareraAustralia2024-05-28Feiner Bros NEW20Asiya Javayant
1019Francesco U MacleadIndia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION40Ivan Magalhaes
1020Silvio C StockhamUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED0Stephen Shaw
1021Juan X CampainGermany2024-05-26Commercial Press NEW81Elwin Sharvill
1022Deepesh E VenereCanada2024-06-22Chapman, Ross E Esq PROPOSAL17Ivan Magalhaes
1023Johnson H KuskoFrance2024-06-13Benton, John B Jr RENEWAL67Amy Elsner
1024Jefferson V WieserBrazil2024-06-05Buckley Miller Wright RENEWAL96Onyama Limba
1025Misaki U AmigonJapan2024-06-07Printing Dimensions UNQUALIFIED90Ivan Magalhaes
1026Clifford Y ButtUnited Kingdom2024-06-17Feiner Bros UNQUALIFIED35Asiya Javayant
1027Jeanfrancois F BologniaJapan2024-05-30King, Christopher A Esq UNQUALIFIED84Elwin Sharvill
1028Rodrigues Q TollnerUnited Kingdom2024-06-15Morlong Associates UNQUALIFIED63Amy Elsner
1029James A RulapaughGermany2024-06-07Truhlar And Truhlar Attys NEGOTIATION2Elwin Sharvill
1030Jennifer R SergiAustralia2024-06-02Rousseaux, Michael Esq PROPOSAL92Elwin Sharvill
1031Aditya V BriddickUnited Kingdom2024-05-31Chanay, Jeffrey A Esq PROPOSAL58Elwin Sharvill
1032Maisha C ChuiIndia2024-06-18Morlong Associates PROPOSAL27Ivan Magalhaes
1033Kaitlin W ShinkoUnited Kingdom2024-06-15Rangoni Of Florence PROPOSAL17Bernardo Dominic
1034Mayumi I RulapaughFrance2024-06-13Chemel, James L Cpa UNQUALIFIED83Asiya Javayant
1035Tony Y SchemmerItaly2024-06-02Truhlar And Truhlar Attys UNQUALIFIED74Xuxue Feng
1036Deepesh I StensethArgentina2024-06-19Dorl, James J Esq UNQUALIFIED79Bernardo Dominic
1037Ivar B SaylorsIndia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED99Elwin Sharvill
1038Octavia W MaletArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION45Xuxue Feng
1039Kadeem E FollerAustralia2024-06-11Truhlar And Truhlar Attys RENEWAL82Asiya Javayant
1040Munro S SergiFrance2024-06-14Printing Dimensions QUALIFIED74Asiya Javayant
1041Jefferson T SaylorsJapan2024-05-28Chanay, Jeffrey A Esq NEGOTIATION80Elwin Sharvill
1042Salvatore Y WaycottGermany2024-06-20Benton, John B Jr RENEWAL70Elwin Sharvill
1043Jones H OldroydJapan2024-06-11Rangoni Of Florence NEW54Xuxue Feng
1044Johnson H PerinBrazil2024-06-08Benton, John B Jr NEW68Bernardo Dominic
1045Munro P OldroydCanada2024-06-11Morlong Associates QUALIFIED77Elwin Sharvill
1046Stacey O CaldareraCanada2024-05-24Commercial Press UNQUALIFIED24Asiya Javayant
1047Munro O BriddickCanada2024-06-17Benton, John B Jr UNQUALIFIED97Bernardo Dominic
1048Adams U AmigonIndia2024-06-20Chemel, James L Cpa NEW77Asiya Javayant
1049Clifford B FlosiJapan2024-05-30Morlong Associates NEW72Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aika O NickaCanadaElwin Sharvill RENEWAL
Maria S VenereBrazilBernardo Dominic RENEWAL
Julie M PerinBrazilIvan Magalhaes PROPOSAL
Isabel K ShinkoItalyStephen Shaw NEGOTIATION
Julie L AlbaresGermanyStephen Shaw NEW
Wickens Y FigeroaBrazilIvan Magalhaes QUALIFIED
Stacey U RoysterSpainAmy Elsner PROPOSAL
Clifford T FlosiFranceIoni Bowcher UNQUALIFIED
David T CaldareraSpainOnyama Limba PROPOSAL
Jones P GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Maria Q TollnerRussiaStephen Shaw RENEWAL
Munro M RutaRussiaAmy Elsner PROPOSAL
Ashley Z MorascaItalyStephen Shaw QUALIFIED
Kadeem C SlusarskiBrazilIvan Magalhaes NEW
Aika M IturbideUnited KingdomAsiya Javayant NEW
Claire E AlbaresIndiaOnyama Limba QUALIFIED
Antonio H CaudyAustraliaStephen Shaw QUALIFIED
Johnson J NickaUnited KingdomElwin Sharvill NEW
Antonio K CaudyItalyAnna Fali UNQUALIFIED
David U MarrierSpainElwin Sharvill UNQUALIFIED
Johnson E PoquetteJapanXuxue Feng RENEWAL
Leja F MarrierGermanyElwin Sharvill PROPOSAL
Emily B FlosiCanadaAnna Fali NEGOTIATION
Clifford F SergiJapanOnyama Limba PROPOSAL
Kadeem G MorascaFranceIvan Magalhaes NEGOTIATION
Greenwood F SlusarskiArgentinaXuxue Feng NEGOTIATION
James Q BologniaBrazilAnna Fali NEW
Misaki E StockhamArgentinaXuxue Feng NEGOTIATION
Johnson Y VocelkaCanadaXuxue Feng NEW
Salvatore Z VenereAustraliaAmy Elsner QUALIFIED
Maria A VenereSpainIoni Bowcher NEW
Emily T BriddickCanadaOnyama Limba QUALIFIED
Maisha X DarakjyGermanyStephen Shaw NEW
Aruna K CaldareraCanadaBernardo Dominic NEGOTIATION
Stacey L ShinkoUnited KingdomAnna Fali NEW
Salvatore M IturbideRussiaAnna Fali QUALIFIED
Antonio H StockhamIndiaOnyama Limba NEW
Ivar G SlusarskiUnited KingdomOnyama Limba NEW
Aruna N CaldareraRussiaAnna Fali QUALIFIED
Julie R GauchoItalyAmy Elsner UNQUALIFIED
Rodrigues W BowleySpainIvan Magalhaes NEW
Chavez U MaletJapanAmy Elsner NEGOTIATION
Greenwood G SergiIndiaAmy Elsner NEGOTIATION
Jennifer Q BologniaItalyAmy Elsner NEGOTIATION
Aika K DoeItalyXuxue Feng QUALIFIED
David H IturbideCanadaXuxue Feng UNQUALIFIED
Clifford L NickaAustraliaAmy Elsner PROPOSAL
Jefferson A MaletJapanBernardo Dominic UNQUALIFIED
Emily M PoquetteGermanyOnyama Limba RENEWAL
Chavez R GillianArgentinaElwin Sharvill QUALIFIED
Frozen Columns
Name
Smith D Butt
Jennifer B Malet
Misaki E Morasca
Morrow Q Gaucho
Misaki N Iturbide
Jones K Kolmetz
Chavez A Oldroyd
Ashley N Rim
Rodrigues I Gillian
Leon Z Doe
Juan K Venere
Nicolas W Caudy
Octavia D Stockham
Aruna O Chui
Julie E Iturbide
Emily B Stockham
Clifford C Dilliard
Jennifer Z Caudy
Aruna Z Nicka
Leja G Inouye
James C Campain
Aika I Garufi
Leja P Ostrosky
Munro Y Kolmetz
Chavez L Royster
Stacey Q Albares
Jeanfrancois H Foller
Darci Z Schemmer
Jefferson S Oldroyd
Munro L Gaucho
Ivar W Slusarski
Rodrigues I Morasca
Claire D Flosi
Aruna A Morasca
Aika M Albares
Jennifer P Chui
Murillo F Oldroyd
Jones C Albares
Francesco D Rulapaugh
Smith D Whobrey
Salvatore T Garufi
James X Kolmetz
Clifford R Slusarski
Alejandro U Inouye
Aika V Marrier
Clifford B Perin
Juan B Kusko
Mujtaba W Poquette
Antonio T Saylors
Silvio L Campain
IdCountryDate
1000Japan2024-06-03
1001Argentina2024-06-16
1002Spain2024-06-21
1003Germany2024-06-07
1004Argentina2024-06-06
1005Argentina2024-06-18
1006India2024-06-11
1007United Kingdom2024-05-31
1008United Kingdom2024-06-05
1009Italy2024-06-05
1010Russia2024-06-21
1011Japan2024-06-13
1012Japan2024-06-16
1013Russia2024-05-25
1014Russia2024-06-13
1015Brazil2024-06-09
1016Spain2024-05-24
1017United Kingdom2024-06-13
1018Germany2024-05-26
1019Argentina2024-06-17
1020Australia2024-06-11
1021Italy2024-06-22
1022Russia2024-06-19
1023Argentina2024-06-17
1024Australia2024-06-19
1025Spain2024-06-04
1026Canada2024-06-12
1027Italy2024-06-07
1028Brazil2024-06-06
1029Russia2024-05-29
1030India2024-06-04
1031Japan2024-05-30
1032Germany2024-05-27
1033United Kingdom2024-06-06
1034France2024-06-10
1035France2024-06-17
1036Japan2024-06-07
1037Brazil2024-06-02
1038United Kingdom2024-06-07
1039Japan2024-06-20
1040United Kingdom2024-06-20
1041Spain2024-06-15
1042Italy2024-05-28
1043United Kingdom2024-06-14
1044France2024-06-17
1045Brazil2024-05-31
1046Japan2024-05-24
1047Brazil2024-05-25
1048Spain2024-05-24
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Wickens J Whobrey1000Argentina2024-06-12
Octavia A Tollner1001Italy2024-06-05
Munro P Caldarera1002Argentina2024-06-13
Stacey O Slusarski1003Argentina2024-06-09
Clifford N Royster1004Japan2024-06-08
Kaitlin P Foller1005France2024-06-16
Emily W Bowley1006Russia2024-06-18
Ricardo W Nestle1007Argentina2024-05-29
Ivar L Maclead1008France2024-06-01
Mujtaba Q Schemmer1009Argentina2024-06-22
Leon L Shinko1010India2024-06-17
Tony S Schemmer1011Spain2024-06-13
Tony U Kolmetz1012Spain2024-05-24
Jennifer Y Chui1013Japan2024-06-04
Aruna G Rim1014Argentina2024-06-02
Salvatore N Marrier1015Argentina2024-06-07
Leja G Inouye1016Germany2024-06-05
Deepesh W Figeroa1017Argentina2024-05-25
Mujtaba G Ostrosky1018India2024-06-03
Mayumi J Tollner1019United Kingdom2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco B OstroskyFranceAsiya Javayant QUALIFIED
Aika V GarufiArgentinaStephen Shaw QUALIFIED
Greenwood V SergiBrazilStephen Shaw UNQUALIFIED
Francesco B SergiFranceOnyama Limba RENEWAL
Cody O RimSpainAnna Fali NEW
Aika V RutaItalyStephen Shaw NEW
Maria L CampainUnited KingdomXuxue Feng QUALIFIED
Murillo I TollnerJapanIvan Magalhaes RENEWAL
Emily T ButtAustraliaIvan Magalhaes UNQUALIFIED
Jennifer T FerenczIndiaOnyama Limba UNQUALIFIED
Aruna J TollnerArgentinaAsiya Javayant UNQUALIFIED
Salvatore L DilliardItalyAnna Fali NEGOTIATION
Jeanfrancois B DilliardBrazilOnyama Limba RENEWAL
Aruna H RoysterFranceAnna Fali QUALIFIED
Costa Z MacleadSpainAmy Elsner PROPOSAL
Munro A MaletItalyAsiya Javayant NEW
Silvio F DilliardAustraliaElwin Sharvill RENEWAL
Aika P RutaCanadaXuxue Feng NEGOTIATION
Stacey F RoysterBrazilXuxue Feng UNQUALIFIED
Alejandro M OstroskyArgentinaStephen Shaw PROPOSAL
Johnson S FigeroaItalyAnna Fali QUALIFIED
Smith J ButtItalyXuxue Feng PROPOSAL
Salvatore C IturbideFranceOnyama Limba RENEWAL
Claire V VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois A AmigonArgentinaOnyama Limba PROPOSAL
Maria H StensethRussiaAnna Fali NEW
Silvio P GlickSpainIoni Bowcher QUALIFIED
Chavez P KolmetzFranceXuxue Feng NEGOTIATION
Mujtaba G BriddickIndiaAsiya Javayant PROPOSAL
Rodrigues F CaudyBrazilIoni Bowcher NEW
Morrow Z DarakjyItalyIvan Magalhaes NEGOTIATION
Ricardo K NestleItalyOnyama Limba PROPOSAL
Clifford C MaletArgentinaElwin Sharvill NEW
Tony E GauchoItalyXuxue Feng RENEWAL
Misaki P SchemmerRussiaOnyama Limba QUALIFIED
Jones H MaletGermanyIvan Magalhaes NEGOTIATION
Smith Y MarrierCanadaXuxue Feng PROPOSAL
Jennifer O AmigonFranceStephen Shaw PROPOSAL
Darci U RoysterCanadaIvan Magalhaes RENEWAL
Kaitlin T CaldareraAustraliaElwin Sharvill 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>