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 W WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Darci N GillianGermanyElwin Sharvill RENEWAL
James X KuskoJapanAsiya Javayant NEW
Ricardo H CampainCanadaElwin Sharvill QUALIFIED
Chavez Q GlickRussiaXuxue Feng NEGOTIATION
Sinclair L FollerCanadaIoni Bowcher UNQUALIFIED
Emily X PoquetteJapanAmy Elsner NEGOTIATION
Greenwood R BriddickFranceStephen Shaw UNQUALIFIED
Sinclair T AmigonRussiaBernardo Dominic PROPOSAL
Emily W AlbaresRussiaAsiya Javayant RENEWAL
Izzy R RimRussiaStephen Shaw QUALIFIED
Nicolas F SlusarskiSpainAnna Fali RENEWAL
Jones F GlickIndiaAmy Elsner NEGOTIATION
Tony K MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Cody G IturbideIndiaStephen Shaw NEW
Nicolas D MaletItalyElwin Sharvill UNQUALIFIED
Adams T FerenczBrazilOnyama Limba RENEWAL
Johnson Q FlosiRussiaAnna Fali NEGOTIATION
Emily K MarrierSpainAsiya Javayant NEGOTIATION
Kadeem C AlbaresFranceIoni Bowcher QUALIFIED
Kaitlin P FerenczBrazilAsiya Javayant NEW
Mayumi I StensethUnited KingdomOnyama Limba UNQUALIFIED
Isabel J DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Juan S ChuiRussiaStephen Shaw PROPOSAL
Greenwood U BriddickUnited KingdomIvan Magalhaes RENEWAL
Morrow Q RutaFranceIvan Magalhaes UNQUALIFIED
Claire R NestleGermanyIvan Magalhaes NEW
Kaitlin T IturbideAustraliaIvan Magalhaes NEW
Tony O NickaIndiaIvan Magalhaes PROPOSAL
Deepesh S WieserRussiaXuxue Feng NEGOTIATION
Aditya Z CaldareraJapanIvan Magalhaes PROPOSAL
Wickens B InouyeUnited KingdomStephen Shaw NEW
Emily G MaletRussiaStephen Shaw RENEWAL
Ivar P TollnerCanadaAmy Elsner PROPOSAL
Ashley A DilliardUnited KingdomOnyama Limba NEW
Leon F ChuiCanadaAnna Fali NEW
Ivar T BriddickRussiaBernardo Dominic NEGOTIATION
Maisha A GlickGermanyOnyama Limba QUALIFIED
Salvatore P RutaBrazilElwin Sharvill QUALIFIED
Johnson D TollnerGermanyBernardo Dominic PROPOSAL
Sinclair O VenereJapanOnyama Limba PROPOSAL
Darci G SchemmerGermanyAsiya Javayant UNQUALIFIED
Antonio D MarrierArgentinaBernardo Dominic PROPOSAL
Leon C BriddickArgentinaAmy Elsner NEGOTIATION
Aditya V WieserFranceOnyama Limba UNQUALIFIED
Octavia O SaylorsSpainIvan Magalhaes UNQUALIFIED
Antonio B InouyeAustraliaOnyama Limba NEGOTIATION
Jones P ButtAustraliaAnna Fali PROPOSAL
Johnson V RutaBrazilAmy Elsner NEW
Smith L MacleadBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow P VenereArgentinaStephen Shaw UNQUALIFIED
Ashley E WhobreySpainAsiya Javayant RENEWAL
Rodrigues N InouyeSpainAnna Fali NEW
Wickens Y NickaArgentinaOnyama Limba NEW
Ashley Z WieserJapanAmy Elsner UNQUALIFIED
Claire Q WieserBrazilBernardo Dominic PROPOSAL
Antonio S KolmetzGermanyAmy Elsner NEW
Tony F StensethFranceAsiya Javayant RENEWAL
Kadeem F NickaBrazilIoni Bowcher NEGOTIATION
Jefferson R VocelkaSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio T NestleItaly2024-06-19Benton, John B Jr UNQUALIFIED77Amy Elsner
1001Kaitlin G BriddickFrance2024-06-17Feltz Printing Service UNQUALIFIED28Bernardo Dominic
1002Stacey M KuskoJapan2024-05-25Morlong Associates PROPOSAL17Bernardo Dominic
1003Izzy R WieserRussia2024-06-04Printing Dimensions NEGOTIATION7Onyama Limba
1004Jefferson F GlickUnited Kingdom2024-05-29Chanay, Jeffrey A Esq QUALIFIED61Xuxue Feng
1005Adams S GauchoJapan2024-05-23Feiner Bros PROPOSAL83Bernardo Dominic
1006Murillo R InouyeCanada2024-06-21Printing Dimensions NEW34Elwin Sharvill
1007Adams T VocelkaBrazil2024-05-26Commercial Press QUALIFIED11Elwin Sharvill
1008Adams X OstroskyArgentina2024-06-11Commercial Press PROPOSAL64Onyama Limba
1009Adams X MorascaGermany2024-05-26Chemel, James L Cpa QUALIFIED42Ioni Bowcher
1010Aika U VocelkaItaly2024-05-28Chapman, Ross E Esq NEGOTIATION43Onyama Limba
1011Julie Z DoeRussia2024-05-24Rousseaux, Michael Esq NEGOTIATION38Anna Fali
1012Munro V RutaIndia2024-06-01Benton, John B Jr QUALIFIED94Asiya Javayant
1013Isabel K MaletSpain2024-06-04Rangoni Of Florence RENEWAL65Stephen Shaw
1014Darci G GlickFrance2024-06-01Rangoni Of Florence PROPOSAL80Xuxue Feng
1015Jefferson I ButtUnited Kingdom2024-06-04Commercial Press QUALIFIED89Ioni Bowcher
1016Nicolas M GillianFrance2024-06-06Rangoni Of Florence NEGOTIATION69Anna Fali
1017Morrow J BologniaUnited Kingdom2024-06-15Commercial Press NEW23Onyama Limba
1018Juan Q KuskoArgentina2024-06-18Morlong Associates PROPOSAL54Onyama Limba
1019Faith L WieserJapan2024-06-06Rangoni Of Florence QUALIFIED16Asiya Javayant
1020Maisha I MarrierJapan2024-06-07Printing Dimensions PROPOSAL6Amy Elsner
1021Isabel J ButtUnited Kingdom2024-06-16Chapman, Ross E Esq NEW98Onyama Limba
1022Munro O FerenczAustralia2024-05-31Chemel, James L Cpa QUALIFIED9Onyama Limba
1023Francesco A BologniaArgentina2024-06-08Truhlar And Truhlar Attys PROPOSAL27Ivan Magalhaes
1024Johnson Y ButtAustralia2024-05-27Chapman, Ross E Esq PROPOSAL47Stephen Shaw
1025Kaitlin A ChuiRussia2024-06-05Printing Dimensions QUALIFIED60Onyama Limba
1026Greenwood U OstroskyCanada2024-06-14Benton, John B Jr PROPOSAL53Amy Elsner
1027Mujtaba W NestleArgentina2024-06-12Commercial Press UNQUALIFIED87Asiya Javayant
1028Silvio I PerinUnited Kingdom2024-05-29Dorl, James J Esq RENEWAL12Stephen Shaw
1029Jennifer T FerenczItaly2024-05-26Rangoni Of Florence UNQUALIFIED7Amy Elsner
1030Darci U GillianUnited Kingdom2024-05-30Dorl, James J Esq UNQUALIFIED90Onyama Limba
1031Sinclair U MorascaJapan2024-06-01Commercial Press PROPOSAL45Ivan Magalhaes
1032Misaki A FollerJapan2024-05-23Rousseaux, Michael Esq NEGOTIATION97Amy Elsner
1033Ricardo P GlickBrazil2024-05-24Printing Dimensions NEW82Onyama Limba
1034Wickens G SaylorsIndia2024-06-21Benton, John B Jr UNQUALIFIED70Amy Elsner
1035Kadeem H DarakjyArgentina2024-05-23Morlong Associates NEGOTIATION20Onyama Limba
1036Emily R GarufiArgentina2024-06-16Feltz Printing Service QUALIFIED83Elwin Sharvill
1037Salvatore S WhobreyGermany2024-05-25Benton, John B Jr NEW23Ivan Magalhaes
1038Murillo X DarakjyJapan2024-06-15Dorl, James J Esq QUALIFIED37Anna Fali
1039Faith P MaletIndia2024-06-20Truhlar And Truhlar Attys NEW25Onyama Limba
1040Izzy K OldroydItaly2024-06-17Rousseaux, Michael Esq RENEWAL12Stephen Shaw
1041Aruna G StensethItaly2024-06-13Rangoni Of Florence NEW2Ivan Magalhaes
1042Salvatore M SlusarskiFrance2024-05-23Chemel, James L Cpa UNQUALIFIED63Onyama Limba
1043Leon T DilliardJapan2024-06-09King, Christopher A Esq NEW70Amy Elsner
1044Maria M GlickSpain2024-06-02Chemel, James L Cpa NEGOTIATION93Onyama Limba
1045Kaitlin K SlusarskiBrazil2024-05-23Rangoni Of Florence NEW82Ioni Bowcher
1046Silvio R ShinkoJapan2024-06-12Chapman, Ross E Esq PROPOSAL5Asiya Javayant
1047Greenwood X MaletSpain2024-06-02Feiner Bros NEGOTIATION16Elwin Sharvill
1048Costa B NickaBrazil2024-06-07Feiner Bros PROPOSAL40Anna Fali
1049Deepesh I CaudyJapan2024-06-14Benton, John B Jr RENEWAL57Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James P TollnerArgentinaAnna Fali RENEWAL
Nicolas Z OstroskyFranceElwin Sharvill NEW
Clifford W PaprockiItalyOnyama Limba UNQUALIFIED
Juan G MorascaCanadaAsiya Javayant QUALIFIED
Greenwood F PerinRussiaAnna Fali UNQUALIFIED
Isabel J RulapaughItalyOnyama Limba NEGOTIATION
Kaitlin C InouyeSpainAmy Elsner QUALIFIED
Deepesh S GauchoArgentinaBernardo Dominic UNQUALIFIED
David P KuskoArgentinaIvan Magalhaes RENEWAL
Juan B MaletBrazilBernardo Dominic RENEWAL
Costa I KuskoSpainBernardo Dominic PROPOSAL
Kaitlin F PoquetteSpainBernardo Dominic PROPOSAL
Costa S FerenczRussiaAnna Fali RENEWAL
David U BriddickJapanAnna Fali PROPOSAL
Francesco G AlbaresGermanyAmy Elsner QUALIFIED
Mujtaba V DarakjyArgentinaBernardo Dominic PROPOSAL
Darci H SergiRussiaXuxue Feng RENEWAL
Julie G VocelkaItalyIoni Bowcher RENEWAL
Smith I SaylorsFranceAsiya Javayant NEW
Francesco D NickaFranceAmy Elsner UNQUALIFIED
Jeanfrancois Q OstroskySpainIvan Magalhaes NEGOTIATION
Juan G FollerAustraliaAmy Elsner PROPOSAL
Jones K VocelkaRussiaAmy Elsner NEW
Cody V IturbideCanadaAnna Fali QUALIFIED
Munro M AmigonRussiaIvan Magalhaes NEGOTIATION
Clifford X NickaSpainIoni Bowcher UNQUALIFIED
Sinclair P FlosiFranceElwin Sharvill NEGOTIATION
Faith P VocelkaBrazilIoni Bowcher RENEWAL
Juan A NestleGermanyXuxue Feng UNQUALIFIED
Jennifer X PerinArgentinaElwin Sharvill RENEWAL
Arvin I VenereArgentinaIoni Bowcher RENEWAL
Darci D AlbaresGermanyAmy Elsner QUALIFIED
Stacey L KolmetzRussiaBernardo Dominic UNQUALIFIED
Izzy L OstroskyFranceXuxue Feng QUALIFIED
Maria B GlickArgentinaAmy Elsner QUALIFIED
Ricardo E GillianCanadaAmy Elsner QUALIFIED
Mayumi M StockhamCanadaIoni Bowcher NEW
Smith C SergiAustraliaIoni Bowcher NEGOTIATION
Alejandro P WieserJapanXuxue Feng PROPOSAL
Clifford F GarufiBrazilAsiya Javayant PROPOSAL
Murillo W OstroskySpainAsiya Javayant RENEWAL
Aditya V IturbideSpainXuxue Feng UNQUALIFIED
Costa V AlbaresJapanIoni Bowcher NEGOTIATION
Clifford B GauchoItalyStephen Shaw UNQUALIFIED
Munro E GlickItalyElwin Sharvill UNQUALIFIED
Mayumi B FlosiIndiaElwin Sharvill QUALIFIED
Jennifer V RulapaughBrazilStephen Shaw NEW
Kaitlin A SlusarskiBrazilAsiya Javayant RENEWAL
Jeanfrancois Q KolmetzSpainAmy Elsner RENEWAL
Faith L MaletFranceAsiya Javayant QUALIFIED
Frozen Columns
Name
Chavez S Oldroyd
Jennifer W Venere
Maria U Tollner
Leja E Ostrosky
Munro J Maclead
Salvatore S Darakjy
Maisha A Ostrosky
Ivar W Caldarera
Munro C Stenseth
Aditya R Gaucho
James F Kolmetz
Jeanfrancois F Saylors
Deepesh C Albares
Ricardo V Kolmetz
Clifford J Flosi
Chavez W Slusarski
Leja X Iturbide
Izzy D Doe
Greenwood V Malet
James S Schemmer
Smith K Caudy
Alejandro A Glick
Murillo T Glick
Stacey U Ferencz
Munro K Stenseth
Silvio H Gillian
Costa H Paprocki
Deepesh E Perin
David U Kusko
Mayumi R Amigon
Wickens N Whobrey
Aika L Marrier
Arvin I Nicka
Mayumi N Nicka
Octavia N Poquette
Stacey V Tollner
Izzy D Rim
Rodrigues H Sergi
Silvio E Nicka
Ricardo H Gillian
Antonio L Inouye
Deepesh K Perin
Mujtaba P Tollner
Alejandro T Gillian
Nicolas O Inouye
Clifford I Iturbide
Leja T Albares
Maria C Ruta
Ivar M Ostrosky
Wickens E Nestle
IdCountryDate
1000Germany2024-06-19
1001Japan2024-06-15
1002Brazil2024-06-01
1003Australia2024-06-02
1004Canada2024-06-08
1005United Kingdom2024-06-07
1006Argentina2024-06-08
1007Russia2024-06-21
1008Argentina2024-05-23
1009Argentina2024-05-27
1010India2024-05-25
1011Japan2024-06-06
1012Germany2024-06-03
1013Italy2024-05-29
1014Spain2024-06-13
1015Australia2024-05-31
1016United Kingdom2024-06-15
1017Russia2024-05-26
1018India2024-05-31
1019India2024-05-29
1020India2024-05-30
1021Russia2024-06-19
1022France2024-06-15
1023Argentina2024-06-08
1024India2024-06-12
1025Australia2024-06-20
1026Argentina2024-05-31
1027India2024-06-01
1028Spain2024-06-04
1029Spain2024-05-31
1030Russia2024-06-07
1031Germany2024-06-12
1032Canada2024-06-15
1033Argentina2024-06-03
1034Spain2024-06-08
1035Japan2024-06-12
1036Spain2024-05-23
1037Australia2024-06-10
1038India2024-05-27
1039Italy2024-05-31
1040France2024-06-10
1041Brazil2024-05-24
1042Brazil2024-06-20
1043Italy2024-06-02
1044Japan2024-06-16
1045Russia2024-06-14
1046Canada2024-06-16
1047Canada2024-06-21
1048Italy2024-05-28
1049Argentina2024-06-13

On-Demand Data

NameIdCountryDate
Wickens M Tollner1000Argentina2024-06-17
Cody C Caldarera1001United Kingdom2024-06-15
Mayumi E Stenseth1002Japan2024-05-24
Cody V Nicka1003Spain2024-05-28
Johnson A Darakjy1004United Kingdom2024-06-20
Ashley M Bowley1005Germany2024-06-15
Julie J Oldroyd1006Russia2024-06-03
Murillo L Albares1007Australia2024-06-20
Arvin S Saylors1008Japan2024-06-12
Octavia G Butt1009Brazil2024-05-27
Octavia G Darakjy1010United Kingdom2024-06-05
Jeanfrancois P Shinko1011India2024-06-07
Nicolas W Inouye1012Japan2024-06-11
Jeanfrancois O Doe1013Russia2024-05-30
Faith W Perin1014France2024-06-17
Aruna Y Caudy1015Italy2024-06-02
Juan H Caldarera1016Canada2024-06-19
Octavia P Paprocki1017United Kingdom2024-06-09
Silvio K Stockham1018United Kingdom2024-06-06
Jefferson P Whobrey1019Canada2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki I WieserGermanyOnyama Limba QUALIFIED
Darci V StensethFranceOnyama Limba NEGOTIATION
Aditya Z ButtUnited KingdomOnyama Limba NEGOTIATION
Faith H StockhamCanadaAnna Fali RENEWAL
Darci Y FerenczFranceStephen Shaw NEGOTIATION
Silvio W ChuiIndiaIoni Bowcher PROPOSAL
Aika G DarakjyArgentinaIvan Magalhaes PROPOSAL
Faith N ShinkoFranceIoni Bowcher PROPOSAL
Tony B DarakjyFranceBernardo Dominic RENEWAL
Claire Z PoquetteSpainIvan Magalhaes NEGOTIATION
Francesco A KuskoCanadaStephen Shaw NEW
Leon T StockhamArgentinaStephen Shaw QUALIFIED
James L RimUnited KingdomAmy Elsner NEW
Aditya H FollerBrazilElwin Sharvill NEW
Costa K AmigonJapanOnyama Limba UNQUALIFIED
Isabel R OldroydBrazilAmy Elsner UNQUALIFIED
Sinclair B CampainFranceIoni Bowcher UNQUALIFIED
Deepesh K StensethCanadaAmy Elsner PROPOSAL
Aika O ButtJapanStephen Shaw RENEWAL
Ricardo Z IturbideArgentinaAsiya Javayant NEGOTIATION
Smith S OstroskyUnited KingdomXuxue Feng RENEWAL
Wickens Q DoeArgentinaXuxue Feng NEGOTIATION
Leja T DilliardBrazilBernardo Dominic NEW
Ashley P WhobreyItalyElwin Sharvill NEW
Morrow I BowleyIndiaOnyama Limba NEW
Antonio Y MarrierGermanyStephen Shaw QUALIFIED
Salvatore Q MaletJapanAsiya Javayant PROPOSAL
Misaki D GarufiArgentinaXuxue Feng NEW
Izzy O BowleyFranceIoni Bowcher UNQUALIFIED
Francesco M GlickSpainOnyama Limba RENEWAL
Murillo T StensethGermanyAsiya Javayant NEGOTIATION
James P CaldareraIndiaBernardo Dominic NEGOTIATION
Emily Q MarrierRussiaStephen Shaw UNQUALIFIED
Ricardo I KolmetzCanadaAmy Elsner QUALIFIED
Faith M RulapaughFranceOnyama Limba NEW
Cody U RulapaughUnited KingdomIvan Magalhaes NEW
Costa M MacleadFranceXuxue Feng QUALIFIED
Mayumi X IturbideGermanyElwin Sharvill NEW
Jones D DilliardJapanIoni Bowcher NEGOTIATION
Johnson B RoysterIndiaXuxue Feng NEW

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