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
Isabel J GlickCanadaAsiya Javayant NEGOTIATION
Aditya B NestleArgentinaElwin Sharvill QUALIFIED
Chavez N ShinkoIndiaOnyama Limba NEW
Antonio X VenereGermanyAmy Elsner NEW
Deepesh S DoeJapanAnna Fali RENEWAL
Ricardo V MaletAustraliaIvan Magalhaes NEGOTIATION
Ashley L GillianArgentinaIvan Magalhaes NEGOTIATION
Leja F IturbideArgentinaXuxue Feng NEGOTIATION
Johnson B CaldareraCanadaXuxue Feng NEGOTIATION
Smith C PerinItalyIvan Magalhaes UNQUALIFIED
Adams O BowleyGermanyAsiya Javayant NEW
Cody S OstroskyRussiaOnyama Limba PROPOSAL
Greenwood B DarakjyAustraliaAsiya Javayant NEGOTIATION
Mayumi X ShinkoSpainAsiya Javayant RENEWAL
Leja Y OldroydItalyOnyama Limba PROPOSAL
David C NestleFranceIoni Bowcher NEW
Kadeem N VocelkaRussiaBernardo Dominic RENEWAL
Mayumi R GauchoFranceAnna Fali UNQUALIFIED
Ricardo H ButtUnited KingdomStephen Shaw RENEWAL
Jennifer P CaldareraIndiaElwin Sharvill QUALIFIED
Jones V NickaAustraliaStephen Shaw NEGOTIATION
Izzy Q StockhamIndiaAmy Elsner UNQUALIFIED
Chavez N KuskoUnited KingdomOnyama Limba PROPOSAL
Alejandro I FlosiSpainIvan Magalhaes UNQUALIFIED
Ashley J StockhamAustraliaStephen Shaw UNQUALIFIED
Tony X OstroskyFranceXuxue Feng QUALIFIED
Greenwood S ChuiUnited KingdomStephen Shaw NEGOTIATION
Aruna J ShinkoCanadaAsiya Javayant UNQUALIFIED
Johnson W GlickIndiaStephen Shaw NEGOTIATION
Chavez V NickaCanadaOnyama Limba NEGOTIATION
Octavia R FerenczIndiaAnna Fali PROPOSAL
Antonio Q ChuiCanadaAmy Elsner RENEWAL
Smith H StockhamFranceIoni Bowcher QUALIFIED
Adams V KuskoAustraliaIvan Magalhaes PROPOSAL
Aika B OstroskyFranceOnyama Limba NEW
Ricardo E PaprockiBrazilXuxue Feng NEGOTIATION
Isabel Y MaletRussiaStephen Shaw RENEWAL
Misaki T MaletItalyIvan Magalhaes UNQUALIFIED
Ricardo D GillianRussiaElwin Sharvill RENEWAL
James F BologniaBrazilXuxue Feng NEW
Jeanfrancois H CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Silvio U NestleAustraliaAnna Fali NEW
Alejandro X FlosiUnited KingdomElwin Sharvill RENEWAL
Murillo L MaletIndiaIvan Magalhaes RENEWAL
Izzy S AlbaresItalyStephen Shaw QUALIFIED
Wickens Q MorascaItalyBernardo Dominic PROPOSAL
Chavez U BologniaRussiaIvan Magalhaes NEW
Aruna F MarrierArgentinaAsiya Javayant UNQUALIFIED
Sinclair U DoeItalyXuxue Feng NEW
Aditya G PerinItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Morrow J RoysterUnited KingdomAmy Elsner NEW
Antonio A AmigonUnited KingdomIoni Bowcher NEW
Johnson E RulapaughSpainAsiya Javayant QUALIFIED
Rodrigues G CampainCanadaAsiya Javayant QUALIFIED
Cody V GauchoUnited KingdomElwin Sharvill QUALIFIED
Jefferson N GarufiRussiaElwin Sharvill RENEWAL
Leon B FerenczBrazilXuxue Feng NEW
Smith X MacleadIndiaBernardo Dominic UNQUALIFIED
Izzy K TollnerGermanyStephen Shaw UNQUALIFIED
Mayumi E CaudyBrazilAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith F DarakjySpain2024-06-03Printing Dimensions UNQUALIFIED99Bernardo Dominic
1001Kadeem A VocelkaAustralia2024-06-14King, Christopher A Esq NEW43Elwin Sharvill
1002Isabel A DarakjyJapan2024-05-26Rousseaux, Michael Esq NEW32Stephen Shaw
1003Cody V SergiAustralia2024-06-05Commercial Press QUALIFIED50Xuxue Feng
1004Kaitlin A GauchoAustralia2024-06-01Feltz Printing Service QUALIFIED54Ioni Bowcher
1005Aika X NickaFrance2024-05-29Feltz Printing Service PROPOSAL57Elwin Sharvill
1006Jeanfrancois B StensethBrazil2024-06-20Feiner Bros RENEWAL56Xuxue Feng
1007Mujtaba Y ChuiItaly2024-06-02King, Christopher A Esq UNQUALIFIED23Bernardo Dominic
1008Juan V GarufiGermany2024-06-11Chemel, James L Cpa PROPOSAL73Amy Elsner
1009Jeanfrancois F GlickGermany2024-06-18Buckley Miller Wright UNQUALIFIED79Ivan Magalhaes
1010Emily R MorascaArgentina2024-05-28Chapman, Ross E Esq NEW19Amy Elsner
1011Ivar J MacleadFrance2024-06-09King, Christopher A Esq UNQUALIFIED87Ivan Magalhaes
1012Ivar N TollnerAustralia2024-06-05Benton, John B Jr PROPOSAL79Asiya Javayant
1013Nicolas Y PerinItaly2024-05-31King, Christopher A Esq NEW82Elwin Sharvill
1014Aditya L FerenczArgentina2024-06-17Chanay, Jeffrey A Esq QUALIFIED51Bernardo Dominic
1015Leon J NestleCanada2024-06-07King, Christopher A Esq UNQUALIFIED15Onyama Limba
1016Aditya E OstroskyGermany2024-06-02Chapman, Ross E Esq NEW29Ivan Magalhaes
1017Johnson Z InouyeFrance2024-06-21Printing Dimensions NEGOTIATION69Stephen Shaw
1018Mayumi C FollerFrance2024-05-31Benton, John B Jr RENEWAL19Stephen Shaw
1019Jeanfrancois O IturbideCanada2024-05-29Feltz Printing Service UNQUALIFIED99Bernardo Dominic
1020Maisha J FollerIndia2024-06-17Chapman, Ross E Esq NEW61Stephen Shaw
1021Leja Y GlickAustralia2024-06-05Benton, John B Jr NEGOTIATION17Stephen Shaw
1022Johnson A BologniaFrance2024-06-16Chapman, Ross E Esq NEGOTIATION12Ivan Magalhaes
1023David Y ButtCanada2024-06-20Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1024Jeanfrancois B ChuiItaly2024-06-06Feltz Printing Service NEGOTIATION67Asiya Javayant
1025Kadeem W InouyeSpain2024-05-29Chemel, James L Cpa PROPOSAL38Amy Elsner
1026Ricardo K StensethBrazil2024-06-03Chemel, James L Cpa UNQUALIFIED31Asiya Javayant
1027Francesco Y PaprockiIndia2024-06-19Rousseaux, Michael Esq PROPOSAL89Anna Fali
1028Faith Y MaletUnited Kingdom2024-05-28Printing Dimensions PROPOSAL84Onyama Limba
1029Wickens Q MarrierItaly2024-06-11Rangoni Of Florence NEGOTIATION25Bernardo Dominic
1030Leon G RimIndia2024-06-14Rousseaux, Michael Esq QUALIFIED85Amy Elsner
1031Tony J FerenczUnited Kingdom2024-06-04Chapman, Ross E Esq UNQUALIFIED38Elwin Sharvill
1032Aika D GarufiUnited Kingdom2024-05-29Printing Dimensions PROPOSAL87Elwin Sharvill
1033Tony A MacleadFrance2024-05-29Printing Dimensions QUALIFIED94Asiya Javayant
1034Darci L GillianItaly2024-06-06Morlong Associates UNQUALIFIED62Anna Fali
1035Rodrigues I AmigonRussia2024-05-26Chapman, Ross E Esq UNQUALIFIED99Xuxue Feng
1036Stacey S CaudyArgentina2024-06-14Buckley Miller Wright RENEWAL50Onyama Limba
1037Ricardo U AmigonAustralia2024-06-15Rousseaux, Michael Esq QUALIFIED23Elwin Sharvill
1038Alejandro H AmigonRussia2024-06-19Chapman, Ross E Esq QUALIFIED21Bernardo Dominic
1039Cody D FlosiUnited Kingdom2024-05-30Printing Dimensions NEGOTIATION15Onyama Limba
1040Octavia N SaylorsBrazil2024-06-05Dorl, James J Esq PROPOSAL80Onyama Limba
1041Aruna B ShinkoArgentina2024-06-08Chemel, James L Cpa PROPOSAL85Anna Fali
1042David G BriddickAustralia2024-06-15Feiner Bros NEW32Asiya Javayant
1043Alejandro V CaldareraSpain2024-05-31Chapman, Ross E Esq NEGOTIATION6Stephen Shaw
1044Octavia R MaletGermany2024-06-19Rousseaux, Michael Esq UNQUALIFIED32Xuxue Feng
1045Francesco Q SchemmerJapan2024-06-08Chapman, Ross E Esq PROPOSAL71Asiya Javayant
1046Mujtaba K GarufiItaly2024-06-01Buckley Miller Wright NEGOTIATION34Onyama Limba
1047Maria X WieserSpain2024-06-07Commercial Press NEGOTIATION25Elwin Sharvill
1048Aika X MacleadAustralia2024-06-03Chemel, James L Cpa NEGOTIATION34Ivan Magalhaes
1049Kaitlin P WieserCanada2024-05-26Buckley Miller Wright NEW48Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Q SlusarskiBrazilAsiya Javayant NEGOTIATION
Darci G FerenczBrazilAsiya Javayant NEW
Munro W GauchoRussiaAnna Fali QUALIFIED
Antonio D FigeroaSpainElwin Sharvill NEGOTIATION
Maria O FollerRussiaAmy Elsner NEGOTIATION
Greenwood D OstroskyGermanyIvan Magalhaes NEGOTIATION
Juan Z WaycottCanadaAsiya Javayant RENEWAL
Isabel N DarakjyGermanyIoni Bowcher QUALIFIED
Tony U GillianItalyStephen Shaw RENEWAL
Murillo N BriddickAustraliaAnna Fali QUALIFIED
Johnson C FigeroaJapanOnyama Limba RENEWAL
Alejandro N MaletUnited KingdomAsiya Javayant PROPOSAL
Ashley X AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer B MarrierCanadaIoni Bowcher RENEWAL
Izzy L GarufiSpainXuxue Feng UNQUALIFIED
Mujtaba G ShinkoRussiaAmy Elsner NEW
Mujtaba M MaletFranceAnna Fali NEGOTIATION
Salvatore A FerenczArgentinaIvan Magalhaes PROPOSAL
Johnson H VenereIndiaAsiya Javayant NEGOTIATION
Jeanfrancois T CampainFranceAnna Fali NEW
Mayumi F AlbaresBrazilBernardo Dominic NEW
Greenwood Z GauchoUnited KingdomOnyama Limba PROPOSAL
David I GauchoSpainElwin Sharvill NEGOTIATION
Murillo D SaylorsArgentinaAmy Elsner UNQUALIFIED
Maria U ButtFranceXuxue Feng QUALIFIED
Jones M DilliardGermanyBernardo Dominic QUALIFIED
Jones S DilliardUnited KingdomAsiya Javayant NEW
Murillo E RoysterArgentinaBernardo Dominic QUALIFIED
Smith L ShinkoRussiaIoni Bowcher PROPOSAL
Izzy X NestleAustraliaAsiya Javayant NEGOTIATION
Faith H OldroydItalyAsiya Javayant PROPOSAL
Mayumi B WhobreyCanadaElwin Sharvill NEGOTIATION
Mayumi R AmigonAustraliaIoni Bowcher NEW
Francesco G BowleyCanadaElwin Sharvill UNQUALIFIED
Munro S TollnerCanadaAnna Fali NEGOTIATION
Maisha U ButtCanadaAmy Elsner RENEWAL
Isabel T SchemmerRussiaAsiya Javayant NEW
Maria L KuskoJapanXuxue Feng NEW
Deepesh X ButtRussiaElwin Sharvill PROPOSAL
Octavia L AmigonCanadaBernardo Dominic RENEWAL
Jennifer E RoysterArgentinaStephen Shaw QUALIFIED
Salvatore G ShinkoBrazilStephen Shaw RENEWAL
Adams K PaprockiAustraliaBernardo Dominic PROPOSAL
Chavez A KolmetzGermanyBernardo Dominic NEW
Mujtaba O StockhamCanadaElwin Sharvill NEW
Leon A StensethBrazilIvan Magalhaes UNQUALIFIED
Ivar O CampainJapanOnyama Limba RENEWAL
Antonio Q VocelkaCanadaIvan Magalhaes RENEWAL
Greenwood V MorascaRussiaIvan Magalhaes PROPOSAL
Ricardo X PerinUnited KingdomXuxue Feng QUALIFIED
Frozen Columns
Name
Antonio E Amigon
Claire H Briddick
Deepesh V Glick
Maria Q Bolognia
Wickens P Waycott
Ricardo Z Stenseth
Ricardo J Oldroyd
Morrow Y Slusarski
Murillo Z Kusko
Misaki W Inouye
Wickens P Campain
Kaitlin O Albares
Stacey D Rim
Isabel O Garufi
Leja H Albares
Smith Q Ferencz
Salvatore W Nestle
Tony B Amigon
Munro G Flosi
Kaitlin H Oldroyd
Leon T Royster
Isabel J Shinko
Stacey U Vocelka
Leon O Butt
Murillo A Maclead
Juan G Caldarera
Kadeem D Iturbide
Johnson J Gaucho
Arvin L Stenseth
Faith J Marrier
Smith E Oldroyd
Mujtaba B Saylors
Darci C Oldroyd
Kadeem T Iturbide
Juan Z Vocelka
Morrow F Ostrosky
Mujtaba G Rim
Ashley G Ferencz
Costa B Butt
Jefferson E Iturbide
Izzy N Albares
Faith Y Darakjy
Munro M Malet
Isabel S Ferencz
Sinclair F Amigon
Cody U Darakjy
Izzy G Caudy
Nicolas C Butt
Tony A Kolmetz
David E Wieser
IdCountryDate
1000France2024-06-22
1001Japan2024-06-19
1002Australia2024-06-11
1003Argentina2024-05-26
1004Italy2024-06-02
1005France2024-06-17
1006Russia2024-06-19
1007United Kingdom2024-06-16
1008France2024-06-06
1009United Kingdom2024-05-26
1010Spain2024-06-20
1011Japan2024-06-09
1012United Kingdom2024-06-12
1013Canada2024-06-16
1014Italy2024-05-31
1015Spain2024-06-18
1016France2024-06-16
1017France2024-06-16
1018Australia2024-06-04
1019Brazil2024-06-17
1020Spain2024-06-18
1021Canada2024-06-22
1022Russia2024-05-31
1023Spain2024-06-15
1024France2024-06-20
1025Germany2024-06-14
1026Germany2024-06-04
1027Australia2024-05-24
1028Germany2024-06-14
1029Italy2024-05-25
1030United Kingdom2024-05-30
1031Italy2024-06-10
1032Spain2024-05-25
1033Argentina2024-06-12
1034India2024-06-15
1035Italy2024-06-18
1036Russia2024-06-11
1037Italy2024-06-19
1038India2024-05-31
1039Germany2024-06-08
1040India2024-06-22
1041Russia2024-06-11
1042Brazil2024-06-11
1043Australia2024-06-09
1044Germany2024-06-18
1045Brazil2024-06-06
1046Argentina2024-05-30
1047Canada2024-06-02
1048Italy2024-06-06
1049Russia2024-06-18

On-Demand Data

NameIdCountryDate
Isabel M Rim1000Argentina2024-06-16
Darci R Ruta1001Canada2024-05-29
Claire T Tollner1002India2024-06-05
Deepesh F Poquette1003United Kingdom2024-05-24
Jefferson C Slusarski1004Argentina2024-05-30
Kaitlin L Vocelka1005Japan2024-06-14
Salvatore U Morasca1006Australia2024-06-21
Ashley W Caldarera1007Japan2024-06-18
Kaitlin L Caldarera1008Brazil2024-06-04
Tony V Perin1009Canada2024-06-14
Jefferson A Royster1010United Kingdom2024-06-17
Smith L Rulapaugh1011Canada2024-05-29
Jennifer U Inouye1012Canada2024-06-02
Murillo E Oldroyd1013India2024-05-26
Jennifer X Foller1014Canada2024-06-11
Silvio T Kusko1015Japan2024-06-05
Kaitlin V Rulapaugh1016Spain2024-06-02
Murillo O Vocelka1017United Kingdom2024-06-21
Jennifer A Perin1018Russia2024-06-14
Leja U Gaucho1019Japan2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Z BowleyFranceIvan Magalhaes RENEWAL
Aditya H WaycottAustraliaStephen Shaw RENEWAL
Jones O WieserCanadaOnyama Limba RENEWAL
Chavez C StockhamGermanyIvan Magalhaes PROPOSAL
Aditya W MacleadGermanyBernardo Dominic QUALIFIED
Silvio I NestleCanadaXuxue Feng NEGOTIATION
Misaki Y VenereIndiaAsiya Javayant PROPOSAL
Morrow Q RimAustraliaBernardo Dominic NEW
Costa D MacleadBrazilElwin Sharvill QUALIFIED
Jennifer V ShinkoFranceElwin Sharvill QUALIFIED
Aruna X MorascaJapanOnyama Limba PROPOSAL
Kadeem V ChuiBrazilAsiya Javayant UNQUALIFIED
Aruna M SlusarskiArgentinaAmy Elsner UNQUALIFIED
Clifford B GauchoRussiaElwin Sharvill NEGOTIATION
Arvin A MacleadCanadaAsiya Javayant QUALIFIED
Smith F PoquetteSpainOnyama Limba RENEWAL
Darci A MaletCanadaXuxue Feng NEGOTIATION
Munro S MacleadGermanyIvan Magalhaes QUALIFIED
Adams J GlickRussiaBernardo Dominic NEGOTIATION
Alejandro Q BriddickBrazilElwin Sharvill UNQUALIFIED
Aika T MaletBrazilBernardo Dominic NEGOTIATION
Johnson C StockhamCanadaIoni Bowcher QUALIFIED
Ricardo D RoysterCanadaBernardo Dominic RENEWAL
Chavez R RoysterUnited KingdomIoni Bowcher QUALIFIED
Kaitlin E MarrierSpainIvan Magalhaes NEW
Clifford C WaycottJapanAsiya Javayant UNQUALIFIED
Maisha T RoysterUnited KingdomAnna Fali RENEWAL
Jennifer G DarakjyJapanIvan Magalhaes QUALIFIED
Kadeem J RoysterAustraliaAmy Elsner PROPOSAL
Faith J TollnerGermanyIvan Magalhaes PROPOSAL
Aruna C WaycottIndiaIoni Bowcher QUALIFIED
Smith S MarrierBrazilXuxue Feng QUALIFIED
Cody O ShinkoSpainIoni Bowcher NEW
Tony V MaletCanadaAmy Elsner UNQUALIFIED
Murillo N FerenczRussiaElwin Sharvill PROPOSAL
Johnson C IturbideSpainXuxue Feng NEGOTIATION
Octavia M StensethUnited KingdomXuxue Feng QUALIFIED
Tony I MacleadUnited KingdomStephen Shaw NEW
Chavez D PerinJapanIvan Magalhaes PROPOSAL
Kadeem Q CaldareraGermanyOnyama Limba 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>