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
Octavia I RoysterArgentinaBernardo Dominic NEW
Faith B StensethIndiaAsiya Javayant RENEWAL
Mujtaba Y WaycottUnited KingdomOnyama Limba NEW
Izzy D FerenczArgentinaStephen Shaw UNQUALIFIED
Mujtaba O VocelkaAustraliaIoni Bowcher RENEWAL
Silvio H NestleSpainXuxue Feng UNQUALIFIED
Chavez F WaycottUnited KingdomOnyama Limba RENEWAL
Jones O DilliardBrazilAsiya Javayant QUALIFIED
Arvin D StensethBrazilElwin Sharvill UNQUALIFIED
Leja H BologniaJapanBernardo Dominic NEGOTIATION
Aditya W PerinFranceIoni Bowcher PROPOSAL
Maria Y WieserGermanyStephen Shaw UNQUALIFIED
Greenwood H DarakjyRussiaStephen Shaw QUALIFIED
Octavia X OstroskyAustraliaElwin Sharvill NEGOTIATION
Alejandro L ButtIndiaIvan Magalhaes PROPOSAL
Faith E SergiIndiaStephen Shaw NEW
Isabel V WhobreySpainBernardo Dominic PROPOSAL
Arvin X DoeUnited KingdomIoni Bowcher UNQUALIFIED
Morrow V CaudyJapanStephen Shaw QUALIFIED
Ashley Y AlbaresAustraliaIoni Bowcher NEGOTIATION
Ashley V TollnerGermanyOnyama Limba QUALIFIED
Chavez T AmigonSpainIoni Bowcher PROPOSAL
Ricardo P ShinkoItalyStephen Shaw NEW
Nicolas D MorascaItalyAsiya Javayant UNQUALIFIED
David V OldroydCanadaOnyama Limba PROPOSAL
Murillo E DarakjyIndiaAnna Fali PROPOSAL
Greenwood C NestleRussiaXuxue Feng NEW
Munro K TollnerJapanIoni Bowcher NEW
Darci P PoquetteSpainXuxue Feng NEW
Faith G KuskoArgentinaOnyama Limba PROPOSAL
Chavez M CaudyFranceXuxue Feng RENEWAL
Munro N PerinAustraliaOnyama Limba UNQUALIFIED
Leon S MarrierItalyBernardo Dominic NEGOTIATION
Leja X RimBrazilXuxue Feng NEGOTIATION
Faith U PerinItalyIoni Bowcher PROPOSAL
James W PaprockiSpainIvan Magalhaes RENEWAL
Deepesh Q NestleItalyAnna Fali UNQUALIFIED
Kadeem O FollerGermanyAmy Elsner PROPOSAL
James X TollnerSpainAsiya Javayant NEGOTIATION
Adams E CampainIndiaIoni Bowcher PROPOSAL
Sinclair U KuskoCanadaXuxue Feng RENEWAL
Clifford R WhobreyFranceAmy Elsner PROPOSAL
Alejandro U InouyeJapanXuxue Feng QUALIFIED
Ashley E MarrierBrazilAnna Fali QUALIFIED
Isabel V MorascaIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois O RulapaughCanadaOnyama Limba RENEWAL
Mujtaba K RoysterFranceAsiya Javayant NEGOTIATION
Leon P InouyeAustraliaIvan Magalhaes NEGOTIATION
Stacey A KuskoCanadaElwin Sharvill RENEWAL
Leon B SergiGermanyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel A IturbideSpainBernardo Dominic PROPOSAL
Emily N WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Tony R MarrierSpainElwin Sharvill UNQUALIFIED
Claire T SaylorsBrazilIoni Bowcher UNQUALIFIED
Morrow I DilliardCanadaOnyama Limba PROPOSAL
Clifford D SergiItalyElwin Sharvill RENEWAL
Salvatore B TollnerItalyIoni Bowcher RENEWAL
Jefferson Z FollerIndiaAnna Fali NEGOTIATION
Octavia J GarufiAustraliaOnyama Limba RENEWAL
Deepesh U SaylorsUnited KingdomAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair E RulapaughRussia2024-06-19Rousseaux, Michael Esq PROPOSAL30Bernardo Dominic
1001Silvio J InouyeUnited Kingdom2024-05-27Feltz Printing Service UNQUALIFIED61Ivan Magalhaes
1002Jefferson S KuskoRussia2024-06-03Rangoni Of Florence RENEWAL33Stephen Shaw
1003Octavia T WieserBrazil2024-06-19Rousseaux, Michael Esq UNQUALIFIED68Bernardo Dominic
1004Jones E ShinkoIndia2024-06-09Feiner Bros UNQUALIFIED77Onyama Limba
1005Julie R MaletFrance2024-06-16Rangoni Of Florence QUALIFIED6Amy Elsner
1006Kaitlin Y SchemmerGermany2024-06-05Chapman, Ross E Esq NEW58Onyama Limba
1007Leon H MacleadUnited Kingdom2024-06-19Chanay, Jeffrey A Esq NEW38Elwin Sharvill
1008Jeanfrancois R RulapaughBrazil2024-05-29Chapman, Ross E Esq PROPOSAL79Amy Elsner
1009Cody S KuskoSpain2024-06-05Dorl, James J Esq RENEWAL96Asiya Javayant
1010Alejandro F CaldareraFrance2024-05-30Truhlar And Truhlar Attys QUALIFIED38Amy Elsner
1011Francesco Q TollnerSpain2024-06-01Feiner Bros NEGOTIATION32Ivan Magalhaes
1012Arvin L CampainRussia2024-05-23Morlong Associates NEW34Bernardo Dominic
1013Jefferson O GarufiJapan2024-05-25King, Christopher A Esq UNQUALIFIED24Anna Fali
1014Ashley U MorascaFrance2024-06-01Rangoni Of Florence PROPOSAL18Bernardo Dominic
1015Salvatore Q AmigonJapan2024-06-13Dorl, James J Esq NEGOTIATION29Anna Fali
1016Wickens E ChuiArgentina2024-06-13Rousseaux, Michael Esq UNQUALIFIED43Bernardo Dominic
1017Costa W FerenczRussia2024-06-01Dorl, James J Esq NEGOTIATION36Ivan Magalhaes
1018Rodrigues J PaprockiItaly2024-06-06Chemel, James L Cpa RENEWAL69Asiya Javayant
1019Ricardo A CampainIndia2024-05-23Dorl, James J Esq UNQUALIFIED50Stephen Shaw
1020Antonio O ShinkoIndia2024-06-01Chanay, Jeffrey A Esq NEGOTIATION82Asiya Javayant
1021Smith M KolmetzCanada2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED76Amy Elsner
1022Mayumi U CaldareraFrance2024-06-12Rousseaux, Michael Esq QUALIFIED53Anna Fali
1023Leon K SlusarskiItaly2024-06-04Truhlar And Truhlar Attys NEW59Bernardo Dominic
1024Isabel C StensethGermany2024-06-09King, Christopher A Esq QUALIFIED55Ivan Magalhaes
1025Ivar K VocelkaRussia2024-06-01Benton, John B Jr PROPOSAL76Onyama Limba
1026Greenwood V KolmetzRussia2024-06-01King, Christopher A Esq QUALIFIED78Amy Elsner
1027Smith S SergiSpain2024-06-07Rangoni Of Florence NEW88Xuxue Feng
1028Wickens T ShinkoCanada2024-06-18Feltz Printing Service QUALIFIED35Xuxue Feng
1029Jefferson Q SergiArgentina2024-05-25Buckley Miller Wright PROPOSAL33Elwin Sharvill
1030Antonio L NickaGermany2024-06-07Truhlar And Truhlar Attys UNQUALIFIED30Asiya Javayant
1031Leja P MarrierItaly2024-06-06Chanay, Jeffrey A Esq NEW64Ioni Bowcher
1032Rodrigues A DoeArgentina2024-06-16Feltz Printing Service NEGOTIATION48Bernardo Dominic
1033Leon D WaycottSpain2024-06-17Truhlar And Truhlar Attys NEW65Xuxue Feng
1034Rodrigues Y WieserGermany2024-05-30Rangoni Of Florence NEW5Anna Fali
1035Rodrigues T ShinkoBrazil2024-06-05Chanay, Jeffrey A Esq PROPOSAL61Anna Fali
1036Costa Q KuskoItaly2024-05-29Commercial Press QUALIFIED65Amy Elsner
1037Arvin P InouyeBrazil2024-06-02Morlong Associates QUALIFIED97Onyama Limba
1038Ricardo R RulapaughBrazil2024-05-26Feiner Bros NEGOTIATION51Bernardo Dominic
1039Francesco I MarrierRussia2024-06-01Chapman, Ross E Esq PROPOSAL98Onyama Limba
1040Aditya A WhobreyJapan2024-06-12Dorl, James J Esq RENEWAL91Asiya Javayant
1041Rodrigues Z DoeBrazil2024-05-31Rousseaux, Michael Esq NEGOTIATION70Ivan Magalhaes
1042Mujtaba S CampainFrance2024-06-10Morlong Associates PROPOSAL33Xuxue Feng
1043Antonio U VenereJapan2024-05-27Rousseaux, Michael Esq PROPOSAL55Stephen Shaw
1044Jefferson D StensethIndia2024-06-06Rangoni Of Florence QUALIFIED60Amy Elsner
1045Juan R FollerFrance2024-06-10Chemel, James L Cpa UNQUALIFIED3Onyama Limba
1046Izzy M ChuiGermany2024-06-12Chapman, Ross E Esq UNQUALIFIED44Anna Fali
1047Francesco R KuskoCanada2024-06-15Feltz Printing Service NEGOTIATION89Ivan Magalhaes
1048Isabel H CaldareraGermany2024-05-30Rangoni Of Florence QUALIFIED25Xuxue Feng
1049Julie U IturbideIndia2024-06-16Buckley Miller Wright NEGOTIATION15Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro C WaycottIndiaXuxue Feng NEGOTIATION
Morrow U DarakjyAustraliaAnna Fali NEGOTIATION
Jefferson U GauchoJapanIvan Magalhaes RENEWAL
Jennifer L BriddickRussiaOnyama Limba QUALIFIED
Jones J GauchoGermanyAsiya Javayant RENEWAL
Izzy J FigeroaArgentinaIvan Magalhaes QUALIFIED
Darci F PerinSpainStephen Shaw QUALIFIED
Jones M ChuiRussiaElwin Sharvill NEW
Rodrigues Z DoeCanadaXuxue Feng RENEWAL
Costa N CaudySpainElwin Sharvill PROPOSAL
Aika P GillianItalyStephen Shaw NEGOTIATION
Izzy Q SchemmerJapanStephen Shaw PROPOSAL
Kaitlin J ChuiItalyBernardo Dominic NEW
Morrow U WaycottRussiaIoni Bowcher RENEWAL
Maria M KuskoJapanIvan Magalhaes PROPOSAL
Deepesh O BologniaJapanOnyama Limba PROPOSAL
Aditya S DarakjySpainIoni Bowcher QUALIFIED
David O ShinkoCanadaIvan Magalhaes UNQUALIFIED
Maisha K CampainCanadaBernardo Dominic QUALIFIED
Ivar S MacleadBrazilAmy Elsner UNQUALIFIED
James E PerinItalyElwin Sharvill QUALIFIED
Octavia R TollnerItalyOnyama Limba NEGOTIATION
Kaitlin N AlbaresSpainElwin Sharvill NEW
Munro Y ChuiSpainIoni Bowcher UNQUALIFIED
Misaki D CaudyCanadaIoni Bowcher NEW
Isabel Q WieserItalyAmy Elsner NEGOTIATION
Izzy E MarrierCanadaOnyama Limba NEGOTIATION
David B KolmetzArgentinaIoni Bowcher RENEWAL
Emily U RoysterBrazilBernardo Dominic QUALIFIED
Ricardo P SergiItalyElwin Sharvill RENEWAL
Costa N MorascaFranceIoni Bowcher NEGOTIATION
Jennifer U OldroydIndiaAnna Fali PROPOSAL
Kaitlin N OstroskyArgentinaAmy Elsner RENEWAL
Silvio E ShinkoRussiaXuxue Feng NEW
Rodrigues O ButtBrazilIvan Magalhaes PROPOSAL
Arvin F MarrierBrazilBernardo Dominic NEW
David U MaletAustraliaAmy Elsner QUALIFIED
Alejandro Y OldroydBrazilIoni Bowcher PROPOSAL
Jefferson N MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro K CampainRussiaIoni Bowcher QUALIFIED
Stacey T InouyeAustraliaIoni Bowcher NEGOTIATION
Leja C AlbaresArgentinaXuxue Feng UNQUALIFIED
James N DoeUnited KingdomElwin Sharvill QUALIFIED
Juan W PoquetteSpainStephen Shaw QUALIFIED
Greenwood J OldroydRussiaXuxue Feng PROPOSAL
Julie V GlickRussiaElwin Sharvill UNQUALIFIED
Kadeem F FlosiAustraliaBernardo Dominic RENEWAL
Greenwood V DoeAustraliaElwin Sharvill UNQUALIFIED
Adams W SergiUnited KingdomAsiya Javayant NEW
Chavez Q RimArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Antonio P Nicka
Ricardo X Morasca
Claire T Maclead
Maisha E Rulapaugh
Izzy Z Tollner
Deepesh O Stockham
Adams V Slusarski
Aika S Foller
Emily H Stockham
Rodrigues T Flosi
Faith T Bowley
Silvio B Shinko
Maisha J Saylors
Rodrigues I Marrier
Arvin Q Campain
Darci M Chui
Jefferson E Wieser
Aika W Gillian
Sinclair D Morasca
Arvin R Marrier
Silvio N Tollner
Francesco L Wieser
Maisha Z Paprocki
Sinclair P Slusarski
Ricardo T Garufi
Cody E Nicka
Misaki Q Perin
Morrow D Ostrosky
Sinclair P Inouye
Ricardo Q Marrier
Rodrigues L Malet
James I Nicka
Misaki A Glick
Maisha Z Dilliard
Rodrigues H Campain
Ivar O Gillian
Greenwood W Perin
Rodrigues D Schemmer
Nicolas D Shinko
Octavia E Stenseth
Ivar K Gillian
James E Albares
Chavez W Kolmetz
Clifford X Ferencz
Ashley W Schemmer
Costa L Vocelka
Clifford Y Caudy
Aruna Y Royster
Greenwood B Caldarera
Morrow E Gillian
IdCountryDate
1000France2024-06-05
1001United Kingdom2024-05-27
1002Spain2024-06-17
1003Argentina2024-06-20
1004Brazil2024-05-28
1005United Kingdom2024-06-13
1006Spain2024-05-26
1007Germany2024-06-08
1008Japan2024-06-16
1009Australia2024-06-15
1010Russia2024-06-02
1011Italy2024-06-13
1012Japan2024-06-03
1013Australia2024-05-29
1014Japan2024-05-27
1015Germany2024-06-13
1016Russia2024-05-24
1017Italy2024-06-14
1018France2024-06-16
1019Germany2024-05-30
1020Japan2024-06-19
1021Canada2024-05-30
1022France2024-06-14
1023Russia2024-05-23
1024France2024-05-23
1025Spain2024-06-11
1026France2024-05-24
1027Canada2024-05-27
1028Russia2024-06-06
1029Italy2024-06-09
1030Canada2024-06-05
1031Spain2024-05-24
1032United Kingdom2024-05-29
1033Spain2024-06-12
1034Japan2024-06-12
1035Japan2024-06-05
1036Spain2024-06-18
1037France2024-05-29
1038Spain2024-06-02
1039Italy2024-06-09
1040Japan2024-06-21
1041Italy2024-06-01
1042Argentina2024-06-07
1043Canada2024-05-24
1044Brazil2024-06-01
1045France2024-06-11
1046Spain2024-06-01
1047United Kingdom2024-06-15
1048Argentina2024-06-06
1049United Kingdom2024-06-05

On-Demand Data

NameIdCountryDate
Maisha K Gaucho1000France2024-06-01
Arvin A Shinko1001Australia2024-05-30
Smith J Doe1002Russia2024-06-09
Smith X Doe1003Spain2024-06-13
Adams H Waycott1004France2024-06-07
Leon W Kusko1005Australia2024-06-16
Costa S Ruta1006India2024-06-08
Jennifer I Tollner1007United Kingdom2024-06-18
Aruna E Kusko1008France2024-06-11
Kaitlin N Poquette1009Italy2024-06-18
Clifford H Gillian1010Russia2024-05-29
Leja Z Doe1011United Kingdom2024-05-27
Clifford K Kusko1012India2024-06-09
Smith C Maclead1013United Kingdom2024-05-30
Munro G Nicka1014Spain2024-06-21
Ivar L Chui1015India2024-06-16
Sinclair J Butt1016United Kingdom2024-05-29
Leon G Bolognia1017Brazil2024-06-06
Kaitlin Q Morasca1018Brazil2024-05-23
Smith T Rim1019Argentina2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas S MarrierArgentinaAmy Elsner PROPOSAL
Alejandro B ShinkoFranceXuxue Feng NEGOTIATION
Aika V BologniaUnited KingdomIoni Bowcher RENEWAL
Cody S AmigonAustraliaAmy Elsner PROPOSAL
Jennifer D SchemmerUnited KingdomAnna Fali QUALIFIED
Aika X SlusarskiJapanAsiya Javayant RENEWAL
Murillo F ShinkoGermanyBernardo Dominic UNQUALIFIED
Jennifer R GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Morrow F FigeroaFranceElwin Sharvill NEW
Maisha A GlickFranceOnyama Limba NEGOTIATION
Mujtaba O DoeAustraliaOnyama Limba NEGOTIATION
Silvio X RulapaughGermanyOnyama Limba RENEWAL
James V KolmetzGermanyStephen Shaw RENEWAL
Francesco R ButtArgentinaOnyama Limba NEGOTIATION
Mujtaba R GarufiSpainIvan Magalhaes NEGOTIATION
Mujtaba F MaletFranceAnna Fali QUALIFIED
Mujtaba H BologniaRussiaAmy Elsner UNQUALIFIED
Leja N OldroydFranceXuxue Feng UNQUALIFIED
James S GarufiIndiaElwin Sharvill RENEWAL
Juan I CampainIndiaAmy Elsner NEGOTIATION
Francesco J OldroydRussiaStephen Shaw QUALIFIED
Faith G RimGermanyElwin Sharvill PROPOSAL
Kadeem Y VenereJapanAnna Fali PROPOSAL
Kadeem J TollnerSpainIvan Magalhaes NEGOTIATION
Izzy T NestleRussiaAsiya Javayant RENEWAL
Tony K IturbideCanadaIvan Magalhaes UNQUALIFIED
Leon D GarufiFranceIoni Bowcher UNQUALIFIED
Salvatore G FigeroaIndiaXuxue Feng QUALIFIED
Jones O ShinkoArgentinaBernardo Dominic QUALIFIED
Ricardo E OldroydGermanyStephen Shaw QUALIFIED
Adams H GarufiIndiaElwin Sharvill NEGOTIATION
Mujtaba U VenereGermanyXuxue Feng UNQUALIFIED
Stacey I PaprockiRussiaBernardo Dominic NEGOTIATION
Ricardo K PaprockiCanadaAnna Fali QUALIFIED
Isabel S DilliardIndiaOnyama Limba QUALIFIED
Jeanfrancois T ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Jones C MorascaUnited KingdomElwin Sharvill NEGOTIATION
Clifford S VenereCanadaElwin Sharvill NEGOTIATION
Mayumi H DilliardItalyAmy Elsner QUALIFIED
Cody X GlickSpainAnna Fali 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>