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
Alejandro S RoysterAustraliaBernardo Dominic PROPOSAL
Leja C MaletRussiaIvan Magalhaes RENEWAL
Sinclair H SaylorsGermanyAsiya Javayant NEGOTIATION
Ashley R FlosiSpainAsiya Javayant QUALIFIED
Juan M IturbideItalyOnyama Limba NEGOTIATION
Wickens H BologniaCanadaAmy Elsner UNQUALIFIED
Leon Z GillianJapanAmy Elsner PROPOSAL
Jones I BologniaIndiaStephen Shaw UNQUALIFIED
Faith G RulapaughAustraliaBernardo Dominic RENEWAL
Aruna F TollnerBrazilBernardo Dominic NEW
Izzy T TollnerUnited KingdomOnyama Limba QUALIFIED
Sinclair T KolmetzBrazilStephen Shaw RENEWAL
Munro E OldroydSpainElwin Sharvill RENEWAL
Cody Y KolmetzRussiaAsiya Javayant QUALIFIED
Rodrigues P SergiGermanyIvan Magalhaes UNQUALIFIED
Nicolas M CaudyItalyElwin Sharvill RENEWAL
David S TollnerItalyAnna Fali PROPOSAL
Stacey O DarakjyIndiaElwin Sharvill NEW
Ricardo J PaprockiItalyAsiya Javayant PROPOSAL
Misaki Q TollnerRussiaStephen Shaw UNQUALIFIED
Francesco P GarufiArgentinaStephen Shaw PROPOSAL
Jefferson V SaylorsCanadaIoni Bowcher NEW
Ashley H WieserUnited KingdomStephen Shaw NEGOTIATION
Cody K ShinkoItalyAsiya Javayant NEGOTIATION
Arvin T CaudyArgentinaBernardo Dominic NEW
Murillo F CaldareraAustraliaElwin Sharvill UNQUALIFIED
Johnson X IturbideSpainIoni Bowcher UNQUALIFIED
Smith V StensethJapanElwin Sharvill UNQUALIFIED
Munro O GillianRussiaXuxue Feng UNQUALIFIED
Murillo N GauchoFranceOnyama Limba RENEWAL
Kadeem T DilliardItalyIvan Magalhaes UNQUALIFIED
Nicolas I AmigonAustraliaIoni Bowcher QUALIFIED
Kaitlin N GillianJapanIoni Bowcher NEGOTIATION
Octavia V StensethIndiaElwin Sharvill UNQUALIFIED
Ashley E WhobreyArgentinaAsiya Javayant QUALIFIED
Morrow L FigeroaArgentinaElwin Sharvill PROPOSAL
Cody A GillianAustraliaIvan Magalhaes RENEWAL
Aika Y SchemmerBrazilStephen Shaw NEW
Leja R CaudyIndiaAsiya Javayant PROPOSAL
Smith N MacleadGermanyIvan Magalhaes UNQUALIFIED
Deepesh L OldroydJapanOnyama Limba QUALIFIED
Francesco U RutaArgentinaAmy Elsner RENEWAL
Kaitlin H IturbideBrazilElwin Sharvill RENEWAL
Jefferson Q AlbaresItalyXuxue Feng NEGOTIATION
Mujtaba X PoquetteIndiaElwin Sharvill RENEWAL
Mujtaba F GarufiBrazilBernardo Dominic RENEWAL
Kaitlin Z MarrierUnited KingdomIoni Bowcher RENEWAL
Faith L BriddickAustraliaIoni Bowcher QUALIFIED
Adams S DilliardJapanIoni Bowcher RENEWAL
Isabel R MaletUnited KingdomIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi J GauchoAustraliaElwin Sharvill UNQUALIFIED
Jones Y NestleBrazilIoni Bowcher NEW
Leja J ShinkoFranceElwin Sharvill NEGOTIATION
Stacey D ButtItalyIoni Bowcher NEW
Deepesh H AlbaresGermanyElwin Sharvill RENEWAL
Juan D DilliardBrazilElwin Sharvill RENEWAL
Leon I IturbideUnited KingdomElwin Sharvill PROPOSAL
Aruna T RulapaughFranceAmy Elsner NEW
Ricardo Y StockhamBrazilAmy Elsner NEW
Murillo G DoeCanadaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C CaldareraCanada2024-06-13King, Christopher A Esq NEGOTIATION50Onyama Limba
1001Octavia L AlbaresRussia2024-05-29Feiner Bros NEW60Ivan Magalhaes
1002Aditya K NestleCanada2024-06-22Chemel, James L Cpa RENEWAL51Xuxue Feng
1003Rodrigues P ShinkoItaly2024-05-31Rangoni Of Florence NEW80Ivan Magalhaes
1004Arvin Q DilliardBrazil2024-06-02Rangoni Of Florence NEW25Ioni Bowcher
1005James F ButtAustralia2024-05-26Printing Dimensions QUALIFIED12Ioni Bowcher
1006Julie Y FigeroaArgentina2024-05-31Morlong Associates NEW12Asiya Javayant
1007Smith M DarakjyRussia2024-06-09Truhlar And Truhlar Attys QUALIFIED76Xuxue Feng
1008Sinclair M TollnerUnited Kingdom2024-06-15Rangoni Of Florence RENEWAL26Asiya Javayant
1009Jefferson D WhobreyArgentina2024-06-01Printing Dimensions RENEWAL96Onyama Limba
1010Leja A RoysterJapan2024-05-29Chapman, Ross E Esq NEW14Ivan Magalhaes
1011Silvio S MorascaUnited Kingdom2024-05-31Benton, John B Jr QUALIFIED43Xuxue Feng
1012Greenwood I IturbideJapan2024-06-02King, Christopher A Esq RENEWAL63Bernardo Dominic
1013Tony Y DoeBrazil2024-06-15Feltz Printing Service NEGOTIATION62Anna Fali
1014Emily O ShinkoGermany2024-06-13Feiner Bros NEW21Asiya Javayant
1015Jefferson Q ShinkoGermany2024-06-12Feiner Bros PROPOSAL85Xuxue Feng
1016James A PoquetteIndia2024-06-18Rangoni Of Florence RENEWAL36Xuxue Feng
1017Greenwood C KolmetzIndia2024-05-26Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1018Salvatore O ShinkoBrazil2024-06-12Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
1019Francesco K AmigonRussia2024-05-26Rousseaux, Michael Esq QUALIFIED97Ioni Bowcher
1020Mayumi H InouyeAustralia2024-06-06Buckley Miller Wright NEGOTIATION99Onyama Limba
1021Wickens U WhobreyUnited Kingdom2024-06-03Printing Dimensions NEW79Onyama Limba
1022Izzy R CampainArgentina2024-06-15Truhlar And Truhlar Attys UNQUALIFIED42Bernardo Dominic
1023Arvin S FlosiAustralia2024-06-15Truhlar And Truhlar Attys QUALIFIED98Stephen Shaw
1024Claire J BowleyItaly2024-06-06Rangoni Of Florence PROPOSAL56Ivan Magalhaes
1025Izzy P KuskoRussia2024-06-12Benton, John B Jr NEGOTIATION66Ioni Bowcher
1026Maria Y VocelkaItaly2024-06-09Dorl, James J Esq QUALIFIED57Ioni Bowcher
1027Adams K InouyeBrazil2024-06-18Morlong Associates NEGOTIATION73Bernardo Dominic
1028Misaki C KuskoRussia2024-06-06Chanay, Jeffrey A Esq NEW36Asiya Javayant
1029Morrow W InouyeItaly2024-06-11Chapman, Ross E Esq PROPOSAL42Ivan Magalhaes
1030Tony M CaldareraRussia2024-06-15Commercial Press RENEWAL55Anna Fali
1031Arvin J TollnerRussia2024-06-21Morlong Associates QUALIFIED89Anna Fali
1032Faith H GillianJapan2024-06-10Feiner Bros PROPOSAL75Bernardo Dominic
1033David W InouyeFrance2024-06-13Commercial Press NEGOTIATION59Onyama Limba
1034Nicolas N WieserIndia2024-06-21Buckley Miller Wright QUALIFIED20Xuxue Feng
1035Salvatore W NickaCanada2024-06-05Rangoni Of Florence UNQUALIFIED19Asiya Javayant
1036Mayumi A VenereJapan2024-06-21Feiner Bros QUALIFIED53Bernardo Dominic
1037Antonio O StensethCanada2024-06-07Feltz Printing Service NEW21Bernardo Dominic
1038Juan D FigeroaJapan2024-06-16Rousseaux, Michael Esq QUALIFIED20Ioni Bowcher
1039Faith B WaycottFrance2024-05-26Dorl, James J Esq RENEWAL76Bernardo Dominic
1040Aruna W KuskoUnited Kingdom2024-06-06Benton, John B Jr PROPOSAL55Ivan Magalhaes
1041Maisha N RoysterArgentina2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED65Elwin Sharvill
1042Leon N GauchoSpain2024-06-11Feltz Printing Service NEGOTIATION17Xuxue Feng
1043Smith S ShinkoRussia2024-06-16Dorl, James J Esq PROPOSAL80Ivan Magalhaes
1044Morrow L MaletRussia2024-05-26Benton, John B Jr RENEWAL18Stephen Shaw
1045Darci W WieserIndia2024-05-28Commercial Press NEGOTIATION83Onyama Limba
1046Claire O NickaItaly2024-05-30Rousseaux, Michael Esq NEGOTIATION53Ivan Magalhaes
1047Sinclair I FerenczAustralia2024-06-21Chemel, James L Cpa PROPOSAL78Ivan Magalhaes
1048Octavia W IturbideBrazil2024-06-20Commercial Press UNQUALIFIED77Onyama Limba
1049Izzy D BriddickGermany2024-06-06Commercial Press QUALIFIED28Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Antonio Y StockhamItalyAsiya Javayant RENEWAL
Leja Q IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Clifford L FerenczFranceBernardo Dominic NEGOTIATION
Clifford T GlickCanadaIvan Magalhaes RENEWAL
Nicolas U RoysterGermanyOnyama Limba UNQUALIFIED
Murillo W GauchoGermanyStephen Shaw UNQUALIFIED
Tony T RimIndiaAmy Elsner UNQUALIFIED
Kadeem U GlickGermanyXuxue Feng PROPOSAL
Morrow Y BologniaItalyAsiya Javayant UNQUALIFIED
Kadeem O MorascaUnited KingdomIoni Bowcher NEW
Cody H AmigonArgentinaIvan Magalhaes UNQUALIFIED
Aika H VocelkaFranceOnyama Limba NEW
Morrow H WieserUnited KingdomXuxue Feng RENEWAL
Maisha N FigeroaJapanIvan Magalhaes NEW
Darci G StensethJapanElwin Sharvill RENEWAL
Chavez Y VocelkaSpainAsiya Javayant RENEWAL
Leon F OstroskyArgentinaAsiya Javayant NEW
Izzy V MarrierJapanStephen Shaw NEW
Mujtaba H MorascaUnited KingdomElwin Sharvill NEGOTIATION
Stacey D WaycottUnited KingdomAnna Fali NEGOTIATION
Morrow A PaprockiJapanAsiya Javayant RENEWAL
David E MorascaGermanyElwin Sharvill QUALIFIED
Deepesh P GarufiCanadaAsiya Javayant RENEWAL
Deepesh B ShinkoBrazilAsiya Javayant RENEWAL
Ricardo P BologniaBrazilElwin Sharvill NEW
Wickens P ButtGermanyIoni Bowcher RENEWAL
Mayumi R CampainCanadaBernardo Dominic QUALIFIED
Chavez S MaletItalyOnyama Limba UNQUALIFIED
Murillo R RoysterGermanyOnyama Limba RENEWAL
Johnson G BowleyFranceAmy Elsner NEW
Adams E GlickBrazilElwin Sharvill UNQUALIFIED
Darci C MaletBrazilBernardo Dominic NEW
Kaitlin G MarrierArgentinaIvan Magalhaes NEGOTIATION
Isabel E VocelkaRussiaBernardo Dominic RENEWAL
Jones Z MorascaSpainIvan Magalhaes NEGOTIATION
Johnson I WhobreyRussiaIvan Magalhaes UNQUALIFIED
Mayumi S ButtSpainAmy Elsner PROPOSAL
Emily C FigeroaFranceAsiya Javayant QUALIFIED
Jeanfrancois H GillianItalyOnyama Limba QUALIFIED
Arvin V VocelkaJapanIvan Magalhaes RENEWAL
Cody A GarufiItalyAnna Fali PROPOSAL
Cody M MorascaCanadaAmy Elsner NEW
Darci H MorascaItalyAnna Fali NEW
Morrow W AlbaresItalyXuxue Feng QUALIFIED
Morrow H MarrierRussiaIvan Magalhaes PROPOSAL
Darci M RutaCanadaAmy Elsner QUALIFIED
Leon Y CaldareraCanadaStephen Shaw RENEWAL
Jefferson B BowleyRussiaAmy Elsner PROPOSAL
David P VocelkaFranceIvan Magalhaes QUALIFIED
Claire P ShinkoUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Aruna A Ferencz
Costa M Chui
Greenwood J Chui
Deepesh S Poquette
Misaki L Venere
Isabel N Caudy
Faith L Glick
Ivar K Flosi
Mujtaba P Ruta
Ricardo E Campain
Francesco P Caldarera
David S Glick
Aika C Venere
Arvin Z Tollner
Juan D Ostrosky
Maisha Z Saylors
Murillo R Malet
Jeanfrancois F Stenseth
Morrow L Oldroyd
Nicolas F Ostrosky
Stacey G Stockham
Aruna R Slusarski
Jennifer S Perin
Leja C Butt
Maria Z Marrier
Costa R Albares
Aruna C Ferencz
Leon T Oldroyd
Leon I Venere
Smith X Oldroyd
Kadeem B Paprocki
Sinclair Z Foller
Munro C Malet
Chavez Y Whobrey
Wickens G Bolognia
Salvatore I Ferencz
Juan B Venere
Maisha N Flosi
Kadeem H Nicka
Misaki D Caudy
Antonio L Campain
Sinclair O Shinko
Arvin W Dilliard
Maria K Caldarera
Kadeem Y Doe
Cody J Saylors
James D Chui
Isabel E Morasca
Darci X Poquette
Morrow P Malet
IdCountryDate
1000Argentina2024-06-03
1001India2024-06-15
1002Japan2024-06-04
1003Japan2024-05-27
1004India2024-05-24
1005Germany2024-05-29
1006Spain2024-05-30
1007France2024-06-05
1008Russia2024-05-31
1009Germany2024-06-01
1010Canada2024-05-29
1011Canada2024-06-12
1012Spain2024-06-10
1013Argentina2024-06-02
1014India2024-06-08
1015Brazil2024-06-02
1016Canada2024-05-29
1017Spain2024-06-22
1018Russia2024-06-20
1019Japan2024-06-14
1020United Kingdom2024-06-07
1021Italy2024-06-15
1022Canada2024-06-03
1023Spain2024-06-22
1024Brazil2024-06-09
1025United Kingdom2024-05-25
1026United Kingdom2024-05-30
1027Germany2024-06-09
1028Germany2024-05-27
1029France2024-06-15
1030Germany2024-06-17
1031Argentina2024-06-06
1032Germany2024-06-14
1033India2024-06-01
1034Italy2024-06-09
1035United Kingdom2024-06-05
1036Brazil2024-05-30
1037United Kingdom2024-06-10
1038France2024-06-01
1039Italy2024-05-27
1040Russia2024-06-19
1041Italy2024-06-20
1042Australia2024-06-03
1043Italy2024-06-11
1044Brazil2024-06-10
1045Italy2024-06-10
1046Australia2024-06-05
1047Spain2024-06-09
1048Russia2024-06-09
1049United Kingdom2024-06-18

On-Demand Data

NameIdCountryDate
Salvatore P Morasca1000India2024-06-14
Murillo E Sergi1001Russia2024-05-31
Arvin P Briddick1002Canada2024-06-06
Adams A Poquette1003United Kingdom2024-06-02
Salvatore K Nestle1004Germany2024-06-05
Kaitlin R Oldroyd1005Spain2024-05-29
Rodrigues I Caudy1006Germany2024-05-28
Johnson J Nicka1007France2024-05-28
Isabel H Chui1008India2024-05-30
Ashley I Schemmer1009Russia2024-05-24
Aditya D Darakjy1010France2024-06-03
Isabel B Caudy1011Brazil2024-06-13
Silvio D Amigon1012France2024-06-15
Misaki L Perin1013Argentina2024-06-18
Jennifer P Shinko1014Russia2024-05-26
Mujtaba E Amigon1015Spain2024-06-12
James H Waycott1016Russia2024-06-03
Octavia O Paprocki1017Canada2024-06-17
Jones P Dilliard1018Russia2024-06-03
Darci O Albares1019Germany2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Y WaycottArgentinaIoni Bowcher NEGOTIATION
Arvin F AmigonSpainOnyama Limba RENEWAL
Munro F PoquetteRussiaAmy Elsner NEW
Aditya A IturbideGermanyAsiya Javayant UNQUALIFIED
Ashley S FigeroaRussiaIoni Bowcher PROPOSAL
Darci S SaylorsItalyStephen Shaw UNQUALIFIED
Mayumi U SergiRussiaElwin Sharvill RENEWAL
Leon M FollerGermanyBernardo Dominic NEW
Jefferson W WaycottUnited KingdomAsiya Javayant RENEWAL
Clifford Z StensethGermanyIoni Bowcher NEGOTIATION
Tony V NestleJapanElwin Sharvill NEW
Juan T VocelkaBrazilIvan Magalhaes NEW
Morrow F StockhamRussiaIoni Bowcher RENEWAL
Antonio A GarufiBrazilElwin Sharvill NEW
Aika J FollerRussiaStephen Shaw QUALIFIED
Octavia F OldroydItalyIoni Bowcher NEW
Faith H FollerAustraliaXuxue Feng PROPOSAL
Ashley O ButtAustraliaIoni Bowcher QUALIFIED
Clifford Q WhobreyCanadaAsiya Javayant PROPOSAL
Tony W CaudySpainBernardo Dominic NEGOTIATION
Kadeem R TollnerCanadaXuxue Feng NEGOTIATION
David N AmigonSpainIoni Bowcher NEW
Ivar L RutaFranceIoni Bowcher QUALIFIED
Costa X OstroskyAustraliaStephen Shaw PROPOSAL
Tony P DoeRussiaAmy Elsner PROPOSAL
Kadeem Y VenereSpainAsiya Javayant NEGOTIATION
Juan C WhobreyArgentinaStephen Shaw RENEWAL
Sinclair R IturbideRussiaXuxue Feng NEW
Kaitlin A PoquetteJapanStephen Shaw PROPOSAL
Rodrigues E DilliardIndiaAsiya Javayant RENEWAL
Cody S StockhamBrazilBernardo Dominic NEW
Izzy H KolmetzIndiaStephen Shaw NEW
Clifford C AlbaresSpainXuxue Feng PROPOSAL
Kaitlin Y ChuiUnited KingdomStephen Shaw RENEWAL
Isabel G GauchoSpainElwin Sharvill NEW
Ivar Q CampainFranceAmy Elsner QUALIFIED
Misaki P BowleyAustraliaXuxue Feng PROPOSAL
Leja C FlosiIndiaIoni Bowcher QUALIFIED
Leon E SaylorsCanadaAsiya Javayant UNQUALIFIED
Francesco G PaprockiSpainAmy Elsner 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>