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
Aruna E OldroydGermanyIoni Bowcher UNQUALIFIED
Aruna O PoquetteRussiaAmy Elsner NEW
Antonio W MacleadArgentinaIvan Magalhaes PROPOSAL
Greenwood S GlickRussiaAnna Fali UNQUALIFIED
Greenwood U GarufiArgentinaOnyama Limba NEW
Murillo O CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Greenwood T KolmetzJapanXuxue Feng NEW
Aditya R GlickAustraliaAmy Elsner QUALIFIED
Deepesh A OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Darci N DoeFranceBernardo Dominic QUALIFIED
Aruna E SergiCanadaStephen Shaw PROPOSAL
Mayumi A RoysterSpainAnna Fali RENEWAL
Maria N SaylorsArgentinaXuxue Feng QUALIFIED
Sinclair F FerenczItalyAsiya Javayant NEGOTIATION
Ashley J RoysterBrazilIoni Bowcher UNQUALIFIED
Juan C TollnerArgentinaIvan Magalhaes RENEWAL
Antonio S RimJapanXuxue Feng NEW
Antonio A ButtRussiaStephen Shaw NEW
Sinclair V PaprockiCanadaAmy Elsner RENEWAL
Chavez T MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Johnson U PaprockiJapanAmy Elsner PROPOSAL
Darci T KolmetzBrazilXuxue Feng NEGOTIATION
Smith I MaletArgentinaAsiya Javayant NEGOTIATION
Adams R PaprockiBrazilElwin Sharvill NEW
Jennifer K ButtFranceXuxue Feng PROPOSAL
Mujtaba F BriddickCanadaAmy Elsner PROPOSAL
Julie T SlusarskiIndiaStephen Shaw RENEWAL
Rodrigues H SchemmerFranceIvan Magalhaes UNQUALIFIED
Darci N BriddickUnited KingdomIoni Bowcher PROPOSAL
Francesco Y IturbideItalyXuxue Feng NEW
Claire B SergiCanadaIoni Bowcher PROPOSAL
Emily O GarufiGermanyElwin Sharvill RENEWAL
Morrow M SaylorsAustraliaIoni Bowcher NEW
Mayumi T NickaIndiaOnyama Limba NEW
Jennifer Y SergiAustraliaBernardo Dominic PROPOSAL
Silvio O CaudyRussiaOnyama Limba UNQUALIFIED
Darci S RulapaughJapanElwin Sharvill PROPOSAL
Wickens N CaudyCanadaElwin Sharvill PROPOSAL
Nicolas R GlickCanadaAsiya Javayant NEGOTIATION
Costa J TollnerSpainIvan Magalhaes NEGOTIATION
Clifford N InouyeGermanyOnyama Limba QUALIFIED
Arvin I FlosiArgentinaOnyama Limba QUALIFIED
Salvatore T FerenczSpainXuxue Feng RENEWAL
Aika R KolmetzGermanyStephen Shaw PROPOSAL
Arvin S MarrierIndiaBernardo Dominic PROPOSAL
Octavia U PerinIndiaAnna Fali NEW
James G ButtCanadaElwin Sharvill NEGOTIATION
Maria U VocelkaUnited KingdomAmy Elsner NEGOTIATION
Izzy U MaletItalyAnna Fali PROPOSAL
Silvio H FigeroaBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore A GarufiArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues Q KolmetzGermanyIvan Magalhaes NEGOTIATION
Johnson O DilliardAustraliaStephen Shaw NEW
Jeanfrancois J RulapaughFranceElwin Sharvill NEW
Aditya W KolmetzCanadaIvan Magalhaes UNQUALIFIED
Juan O RimFranceAsiya Javayant PROPOSAL
Kadeem N MorascaUnited KingdomIoni Bowcher NEW
Jeanfrancois E OldroydJapanAsiya Javayant RENEWAL
Faith T PaprockiCanadaStephen Shaw PROPOSAL
James H SlusarskiArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M BowleyCanada2024-05-30Chemel, James L Cpa QUALIFIED61Bernardo Dominic
1001Mujtaba U DilliardFrance2024-05-26Buckley Miller Wright QUALIFIED41Xuxue Feng
1002Nicolas U GlickIndia2024-06-13King, Christopher A Esq RENEWAL3Amy Elsner
1003Smith I WhobreyCanada2024-05-28Benton, John B Jr NEGOTIATION8Elwin Sharvill
1004Emily F FlosiFrance2024-05-24Truhlar And Truhlar Attys NEGOTIATION7Elwin Sharvill
1005Tony B FlosiFrance2024-05-25Chapman, Ross E Esq RENEWAL52Ivan Magalhaes
1006Wickens K IturbideUnited Kingdom2024-05-25Chapman, Ross E Esq NEW62Ioni Bowcher
1007Misaki T OstroskyAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL90Ioni Bowcher
1008Jones V SaylorsSpain2024-06-18Benton, John B Jr QUALIFIED98Xuxue Feng
1009Faith E PoquetteJapan2024-06-05Truhlar And Truhlar Attys RENEWAL66Xuxue Feng
1010Misaki C RimSpain2024-06-02Printing Dimensions QUALIFIED1Onyama Limba
1011David Y SaylorsGermany2024-06-19Printing Dimensions PROPOSAL95Elwin Sharvill
1012Nicolas W SaylorsIndia2024-06-20Rousseaux, Michael Esq NEW75Ivan Magalhaes
1013Morrow Z VenereBrazil2024-05-29King, Christopher A Esq PROPOSAL90Xuxue Feng
1014Murillo O NestleSpain2024-05-23Chanay, Jeffrey A Esq RENEWAL1Amy Elsner
1015Isabel L GarufiCanada2024-05-23Printing Dimensions PROPOSAL27Anna Fali
1016Wickens U CampainIndia2024-05-24King, Christopher A Esq UNQUALIFIED83Onyama Limba
1017Claire Q VenereRussia2024-06-01Feltz Printing Service NEW47Asiya Javayant
1018Isabel L WaycottCanada2024-06-10Morlong Associates NEGOTIATION59Xuxue Feng
1019Juan T DoeJapan2024-06-05Chanay, Jeffrey A Esq NEGOTIATION10Amy Elsner
1020Clifford R CampainCanada2024-06-20Buckley Miller Wright RENEWAL90Stephen Shaw
1021Isabel S CaldareraCanada2024-06-18Buckley Miller Wright RENEWAL96Stephen Shaw
1022Salvatore V RoysterIndia2024-05-28Truhlar And Truhlar Attys PROPOSAL62Amy Elsner
1023Jeanfrancois Y BowleyFrance2024-06-15Dorl, James J Esq PROPOSAL20Ioni Bowcher
1024Jefferson J WaycottRussia2024-06-12Printing Dimensions NEGOTIATION57Onyama Limba
1025Jefferson H MaletUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION95Xuxue Feng
1026Maisha B PaprockiCanada2024-06-05Dorl, James J Esq RENEWAL83Xuxue Feng
1027Aditya D VenereJapan2024-06-17Commercial Press NEW72Bernardo Dominic
1028Misaki R KuskoAustralia2024-05-31Printing Dimensions QUALIFIED90Xuxue Feng
1029Mujtaba T RulapaughAustralia2024-05-23Truhlar And Truhlar Attys RENEWAL32Stephen Shaw
1030Kadeem A FollerCanada2024-06-08Chemel, James L Cpa QUALIFIED72Ioni Bowcher
1031Adams X SlusarskiIndia2024-06-10Chapman, Ross E Esq NEW61Elwin Sharvill
1032Antonio A GlickGermany2024-06-05Truhlar And Truhlar Attys RENEWAL0Ivan Magalhaes
1033David E CampainCanada2024-06-19Rousseaux, Michael Esq PROPOSAL64Asiya Javayant
1034Murillo L RutaAustralia2024-06-11Benton, John B Jr QUALIFIED47Xuxue Feng
1035Silvio I TollnerRussia2024-06-09Rousseaux, Michael Esq PROPOSAL99Xuxue Feng
1036Johnson R CampainAustralia2024-05-31Printing Dimensions NEGOTIATION68Ivan Magalhaes
1037Mujtaba T DoeJapan2024-06-16King, Christopher A Esq PROPOSAL97Amy Elsner
1038James Z RimFrance2024-06-07Commercial Press QUALIFIED75Elwin Sharvill
1039Morrow O RutaCanada2024-06-10Rousseaux, Michael Esq UNQUALIFIED33Onyama Limba
1040James F KolmetzIndia2024-06-07Truhlar And Truhlar Attys UNQUALIFIED64Stephen Shaw
1041Francesco Z WhobreyAustralia2024-05-31Rangoni Of Florence PROPOSAL4Ivan Magalhaes
1042Mujtaba Z RutaFrance2024-06-12Rangoni Of Florence PROPOSAL78Onyama Limba
1043Jefferson B SchemmerUnited Kingdom2024-06-03Truhlar And Truhlar Attys PROPOSAL6Ioni Bowcher
1044Ashley W WaycottIndia2024-05-24Rangoni Of Florence QUALIFIED83Xuxue Feng
1045Clifford G InouyeSpain2024-05-24Rangoni Of Florence QUALIFIED78Asiya Javayant
1046Darci E PaprockiSpain2024-06-07Rangoni Of Florence NEW51Bernardo Dominic
1047Salvatore Z NickaBrazil2024-05-24Morlong Associates NEGOTIATION46Stephen Shaw
1048Costa A MorascaBrazil2024-05-31King, Christopher A Esq NEGOTIATION14Asiya Javayant
1049Deepesh F GauchoUnited Kingdom2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED78Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David Q PaprockiItalyAnna Fali PROPOSAL
Munro J BologniaIndiaBernardo Dominic NEW
Aruna X PaprockiSpainIoni Bowcher NEW
Silvio G StockhamSpainIoni Bowcher QUALIFIED
Maria Q PerinGermanyElwin Sharvill QUALIFIED
Ricardo J MacleadUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba H IturbideJapanXuxue Feng NEW
Julie H CaudyIndiaXuxue Feng PROPOSAL
Costa C RutaRussiaXuxue Feng QUALIFIED
Deepesh S MaletIndiaElwin Sharvill PROPOSAL
Julie K RimBrazilIvan Magalhaes PROPOSAL
Misaki W CaldareraItalyOnyama Limba QUALIFIED
Leon E TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair O TollnerUnited KingdomStephen Shaw NEGOTIATION
Leon Q SergiItalyAnna Fali NEGOTIATION
Tony Z DilliardGermanyBernardo Dominic QUALIFIED
Mujtaba X BowleyGermanyOnyama Limba NEGOTIATION
Julie M FlosiIndiaIvan Magalhaes NEGOTIATION
Chavez H WhobreyBrazilOnyama Limba PROPOSAL
Morrow D NestleBrazilAsiya Javayant RENEWAL
Aditya D DoeJapanAmy Elsner RENEWAL
Munro S SlusarskiBrazilStephen Shaw QUALIFIED
Mayumi D PerinRussiaBernardo Dominic NEGOTIATION
Ricardo L ShinkoCanadaElwin Sharvill NEW
Nicolas M DoeArgentinaAnna Fali NEW
Rodrigues K RimIndiaAnna Fali RENEWAL
Ricardo T ButtGermanyIoni Bowcher RENEWAL
Smith C RoysterJapanOnyama Limba RENEWAL
Silvio O CaldareraAustraliaAsiya Javayant UNQUALIFIED
Kaitlin T RimGermanyBernardo Dominic UNQUALIFIED
Silvio J NickaGermanyIvan Magalhaes NEGOTIATION
Jefferson W ChuiJapanOnyama Limba PROPOSAL
Darci V KuskoGermanyAmy Elsner NEW
Wickens H InouyeCanadaAmy Elsner NEW
Rodrigues I GlickUnited KingdomElwin Sharvill NEGOTIATION
Munro G GlickUnited KingdomIoni Bowcher NEGOTIATION
Leja V WaycottAustraliaBernardo Dominic PROPOSAL
Aika V NestleJapanStephen Shaw QUALIFIED
Isabel E InouyeFranceOnyama Limba PROPOSAL
Aika S MorascaUnited KingdomStephen Shaw NEGOTIATION
Kaitlin W FollerAustraliaAsiya Javayant NEW
James D DoeFranceOnyama Limba QUALIFIED
Munro F TollnerAustraliaStephen Shaw PROPOSAL
Costa L SchemmerItalyXuxue Feng RENEWAL
Aditya W SchemmerUnited KingdomAnna Fali QUALIFIED
Greenwood L DarakjyIndiaBernardo Dominic RENEWAL
Jones U DilliardBrazilIoni Bowcher PROPOSAL
Octavia E SlusarskiArgentinaElwin Sharvill QUALIFIED
Misaki V AmigonCanadaAnna Fali RENEWAL
Francesco I DoeUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Jennifer P Rulapaugh
Maisha N Whobrey
Murillo I Malet
Arvin Q Gaucho
Deepesh M Tollner
Izzy B Whobrey
Aditya C Poquette
Misaki A Saylors
Greenwood F Ruta
Costa Q Iturbide
Murillo Q Glick
Clifford D Butt
Leja A Sergi
Jennifer Q Ostrosky
Jefferson X Stockham
Silvio R Whobrey
Tony L Albares
Francesco I Kusko
Isabel Z Royster
Smith F Venere
Smith P Ostrosky
Arvin R Caldarera
Murillo P Waycott
Kaitlin D Vocelka
Juan S Ostrosky
Claire U Figeroa
Maria J Kolmetz
Rodrigues A Amigon
Sinclair G Caldarera
Wickens H Vocelka
Emily N Gaucho
Kaitlin C Venere
Ivar Y Doe
Rodrigues G Marrier
Morrow O Royster
Ashley P Nicka
Morrow E Foller
Salvatore D Campain
Jones D Malet
Isabel E Butt
Wickens T Saylors
Isabel I Bolognia
Ashley C Bolognia
Maisha F Gaucho
Misaki V Foller
Ivar K Amigon
Ivar C Albares
Wickens I Nestle
Maisha L Gaucho
Kaitlin D Saylors
IdCountryDate
1000Japan2024-06-04
1001Germany2024-06-05
1002India2024-05-27
1003United Kingdom2024-05-30
1004Italy2024-05-31
1005Spain2024-06-05
1006India2024-06-04
1007Spain2024-05-29
1008Argentina2024-06-02
1009Spain2024-05-27
1010Brazil2024-06-19
1011India2024-06-17
1012India2024-06-14
1013India2024-06-02
1014United Kingdom2024-05-29
1015Australia2024-06-11
1016India2024-05-25
1017India2024-06-14
1018Italy2024-06-06
1019Germany2024-05-24
1020Germany2024-05-30
1021Russia2024-06-04
1022Japan2024-05-25
1023Italy2024-05-25
1024Italy2024-06-14
1025Italy2024-05-23
1026Italy2024-06-13
1027Russia2024-06-09
1028Russia2024-05-30
1029Brazil2024-05-28
1030Italy2024-05-31
1031Canada2024-05-24
1032Australia2024-06-12
1033Italy2024-06-13
1034France2024-06-03
1035Brazil2024-06-07
1036Russia2024-05-27
1037Spain2024-05-23
1038United Kingdom2024-06-15
1039Russia2024-06-05
1040Canada2024-06-16
1041Germany2024-06-16
1042France2024-06-13
1043Argentina2024-06-14
1044Japan2024-06-15
1045India2024-05-22
1046Japan2024-05-26
1047France2024-06-01
1048Italy2024-06-13
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Munro Q Figeroa1000Japan2024-06-05
Francesco A Vocelka1001India2024-05-22
Kaitlin J Dilliard1002India2024-06-06
Francesco F Stockham1003France2024-06-09
Misaki C Tollner1004Argentina2024-06-14
Misaki Z Schemmer1005United Kingdom2024-06-02
Adams V Slusarski1006United Kingdom2024-06-10
Stacey U Schemmer1007India2024-06-12
Mujtaba L Foller1008Japan2024-05-28
Alejandro X Ruta1009Japan2024-06-10
James M Dilliard1010Brazil2024-06-02
Nicolas Z Shinko1011Germany2024-05-28
Ashley P Saylors1012Japan2024-06-06
Leja V Schemmer1013Japan2024-06-11
Salvatore D Doe1014Italy2024-05-23
Cody B Ferencz1015Brazil2024-06-10
Smith S Paprocki1016Australia2024-05-23
Munro Q Darakjy1017Spain2024-05-25
Maisha U Stenseth1018Russia2024-06-13
Adams T Kolmetz1019United Kingdom2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba F MacleadUnited KingdomAnna Fali NEGOTIATION
Wickens V StensethGermanyIvan Magalhaes NEW
Aruna M MaletBrazilXuxue Feng NEW
Izzy W IturbideFranceAsiya Javayant PROPOSAL
Aditya M GlickRussiaBernardo Dominic RENEWAL
Jones L DoeBrazilAmy Elsner NEW
Claire G KuskoGermanyAmy Elsner QUALIFIED
Francesco F SchemmerItalyXuxue Feng NEW
Murillo I RoysterCanadaBernardo Dominic NEW
Murillo V CaudyJapanStephen Shaw NEGOTIATION
Emily C PerinRussiaStephen Shaw RENEWAL
Smith E SergiSpainBernardo Dominic PROPOSAL
Misaki P FlosiRussiaBernardo Dominic QUALIFIED
Leon U FlosiCanadaAnna Fali PROPOSAL
Mayumi F StockhamBrazilAmy Elsner QUALIFIED
Maria Z GauchoSpainAsiya Javayant NEW
Greenwood Z AmigonBrazilAsiya Javayant UNQUALIFIED
Octavia Q RulapaughSpainIvan Magalhaes NEW
Rodrigues P CaudyAustraliaIoni Bowcher NEGOTIATION
Adams I SaylorsFranceAmy Elsner NEW
Ivar Y ChuiArgentinaBernardo Dominic PROPOSAL
Leon Y ShinkoCanadaAnna Fali NEGOTIATION
Julie V SchemmerAustraliaIvan Magalhaes QUALIFIED
Aruna U FlosiArgentinaIoni Bowcher NEGOTIATION
Jones Z OldroydRussiaXuxue Feng UNQUALIFIED
Wickens U ShinkoUnited KingdomIoni Bowcher RENEWAL
Juan O WaycottUnited KingdomIoni Bowcher QUALIFIED
Greenwood W RoysterItalyAsiya Javayant PROPOSAL
Emily B ChuiGermanyAsiya Javayant NEGOTIATION
Claire S CampainGermanyBernardo Dominic PROPOSAL
Antonio I FollerItalyXuxue Feng RENEWAL
Jennifer C NickaArgentinaIoni Bowcher PROPOSAL
Maisha D SaylorsIndiaStephen Shaw PROPOSAL
Francesco L KuskoAustraliaElwin Sharvill NEW
Clifford R ButtArgentinaElwin Sharvill PROPOSAL
Greenwood H FlosiBrazilAnna Fali QUALIFIED
Jones U DilliardSpainXuxue Feng NEW
Clifford Y StockhamItalyIvan Magalhaes QUALIFIED
Maria Y ButtRussiaIoni Bowcher NEGOTIATION
Jones P SergiGermanyXuxue Feng 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>