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
Adams Q MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Francesco C WaycottArgentinaAsiya Javayant RENEWAL
Clifford U SlusarskiJapanBernardo Dominic PROPOSAL
Faith N BriddickUnited KingdomAnna Fali NEGOTIATION
Sinclair T RutaJapanAsiya Javayant QUALIFIED
Adams V GauchoAustraliaIvan Magalhaes RENEWAL
Faith H DoeCanadaBernardo Dominic PROPOSAL
Stacey B VocelkaFranceStephen Shaw UNQUALIFIED
Octavia N CaldareraAustraliaAsiya Javayant PROPOSAL
Adams O AlbaresArgentinaAnna Fali UNQUALIFIED
Claire E FigeroaSpainAsiya Javayant QUALIFIED
Murillo K FlosiIndiaIvan Magalhaes RENEWAL
James Z NestleBrazilAmy Elsner NEGOTIATION
Antonio B ShinkoItalyIoni Bowcher NEW
Maria G FlosiIndiaIvan Magalhaes RENEWAL
Ricardo L RoysterSpainAnna Fali UNQUALIFIED
Antonio V FerenczCanadaStephen Shaw NEW
Ivar F KolmetzJapanBernardo Dominic PROPOSAL
Chavez J WhobreyCanadaOnyama Limba RENEWAL
David O DilliardSpainXuxue Feng RENEWAL
James Z StockhamAustraliaOnyama Limba NEGOTIATION
Deepesh L MorascaBrazilBernardo Dominic PROPOSAL
Nicolas T PaprockiCanadaXuxue Feng NEGOTIATION
Aditya L OldroydRussiaStephen Shaw PROPOSAL
Arvin Q ButtArgentinaAnna Fali RENEWAL
Emily H OstroskySpainStephen Shaw NEW
Octavia T DarakjyItalyAsiya Javayant NEW
Ricardo H BologniaIndiaIvan Magalhaes QUALIFIED
David O RoysterBrazilStephen Shaw NEW
Johnson K GarufiRussiaAnna Fali NEW
Kadeem Y FerenczJapanIvan Magalhaes RENEWAL
Alejandro I RutaAustraliaIvan Magalhaes RENEWAL
Greenwood R MaletFranceAnna Fali PROPOSAL
Francesco Q RutaJapanAsiya Javayant NEGOTIATION
Ashley K FollerJapanOnyama Limba NEGOTIATION
Ricardo D RulapaughFranceBernardo Dominic PROPOSAL
Chavez U SlusarskiAustraliaOnyama Limba PROPOSAL
James A PerinAustraliaIvan Magalhaes RENEWAL
Darci G AlbaresJapanBernardo Dominic NEGOTIATION
Jefferson C NickaRussiaIvan Magalhaes NEGOTIATION
Murillo Z AmigonJapanAmy Elsner UNQUALIFIED
Arvin Y GauchoUnited KingdomOnyama Limba PROPOSAL
Kaitlin B DarakjyJapanAmy Elsner UNQUALIFIED
Rodrigues M RutaUnited KingdomAsiya Javayant RENEWAL
Francesco M TollnerBrazilOnyama Limba UNQUALIFIED
Kadeem V CampainRussiaBernardo Dominic PROPOSAL
Leja F ShinkoItalyAsiya Javayant RENEWAL
Isabel P PerinItalyBernardo Dominic QUALIFIED
Alejandro C RulapaughBrazilIoni Bowcher RENEWAL
Mujtaba P GlickJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford U ShinkoBrazilAmy Elsner UNQUALIFIED
Faith U RimGermanyAnna Fali PROPOSAL
Darci V OldroydBrazilAnna Fali NEW
Claire S BowleySpainIoni Bowcher PROPOSAL
Stacey Q FigeroaCanadaAsiya Javayant NEW
Mujtaba T VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Chavez F SergiAustraliaIoni Bowcher PROPOSAL
Alejandro R DoeFranceXuxue Feng QUALIFIED
Claire N RimItalyStephen Shaw PROPOSAL
Smith O PoquetteFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S StensethItaly2024-04-27King, Christopher A Esq PROPOSAL28Ivan Magalhaes
1001Ashley J NickaAustralia2024-05-16Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1002Kaitlin F DilliardAustralia2024-05-22Truhlar And Truhlar Attys PROPOSAL77Onyama Limba
1003Faith B CampainItaly2024-05-08Rangoni Of Florence PROPOSAL53Ivan Magalhaes
1004Aika F OstroskyBrazil2024-05-14Rousseaux, Michael Esq RENEWAL42Stephen Shaw
1005Kaitlin X ButtArgentina2024-05-12Buckley Miller Wright PROPOSAL49Stephen Shaw
1006Ivar R GillianBrazil2024-05-05Truhlar And Truhlar Attys RENEWAL69Bernardo Dominic
1007Juan V VocelkaCanada2024-05-06Feltz Printing Service RENEWAL70Asiya Javayant
1008Munro R WieserRussia2024-05-16Chemel, James L Cpa QUALIFIED87Anna Fali
1009Greenwood H PaprockiItaly2024-05-20Feiner Bros RENEWAL83Anna Fali
1010Juan Q FerenczFrance2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED72Onyama Limba
1011Jones J SchemmerJapan2024-05-10Feltz Printing Service RENEWAL53Bernardo Dominic
1012Stacey M ButtBrazil2024-04-28Chemel, James L Cpa PROPOSAL80Ivan Magalhaes
1013Isabel S BologniaCanada2024-04-27Printing Dimensions UNQUALIFIED51Bernardo Dominic
1014Ivar O FlosiIndia2024-05-10Dorl, James J Esq NEW41Ioni Bowcher
1015Clifford Q PoquetteJapan2024-05-17Chapman, Ross E Esq UNQUALIFIED78Ivan Magalhaes
1016Claire Z MaletItaly2024-05-02Buckley Miller Wright RENEWAL28Onyama Limba
1017Stacey B TollnerSpain2024-05-21Chapman, Ross E Esq QUALIFIED94Amy Elsner
1018Wickens H GauchoSpain2024-04-30Buckley Miller Wright NEW7Stephen Shaw
1019Kaitlin E ShinkoSpain2024-05-19Chanay, Jeffrey A Esq NEW55Ioni Bowcher
1020Wickens I MorascaRussia2024-05-15King, Christopher A Esq NEGOTIATION55Elwin Sharvill
1021Stacey B MaletArgentina2024-05-21Printing Dimensions UNQUALIFIED19Stephen Shaw
1022Faith N BologniaArgentina2024-05-05Chemel, James L Cpa RENEWAL34Amy Elsner
1023Jones O MaletItaly2024-05-17Truhlar And Truhlar Attys UNQUALIFIED33Asiya Javayant
1024Murillo W FollerIndia2024-05-02Chemel, James L Cpa RENEWAL8Stephen Shaw
1025Isabel S VocelkaIndia2024-05-01Feltz Printing Service UNQUALIFIED75Amy Elsner
1026Mayumi N SaylorsArgentina2024-04-27Commercial Press RENEWAL99Onyama Limba
1027Julie K GarufiJapan2024-05-05Dorl, James J Esq RENEWAL40Ioni Bowcher
1028Mayumi P SlusarskiIndia2024-05-02Feltz Printing Service PROPOSAL82Bernardo Dominic
1029Silvio A DoeArgentina2024-05-23King, Christopher A Esq NEGOTIATION1Anna Fali
1030Leon X NickaCanada2024-05-15Printing Dimensions QUALIFIED24Onyama Limba
1031Rodrigues B GillianJapan2024-04-28Rousseaux, Michael Esq NEGOTIATION96Elwin Sharvill
1032Arvin Y DarakjyBrazil2024-05-06Commercial Press NEW96Ivan Magalhaes
1033Kadeem U CaudyAustralia2024-05-12Commercial Press NEGOTIATION81Amy Elsner
1034Izzy B ShinkoItaly2024-05-22Rangoni Of Florence NEW93Onyama Limba
1035David Q PoquetteSpain2024-05-03Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1036Wickens C BriddickSpain2024-05-02Printing Dimensions UNQUALIFIED16Stephen Shaw
1037Deepesh Q InouyeGermany2024-05-11Printing Dimensions UNQUALIFIED47Bernardo Dominic
1038Izzy R KolmetzCanada2024-05-22Truhlar And Truhlar Attys PROPOSAL50Anna Fali
1039Darci P GillianArgentina2024-04-28King, Christopher A Esq PROPOSAL2Ivan Magalhaes
1040Salvatore O BologniaCanada2024-05-16Dorl, James J Esq UNQUALIFIED36Bernardo Dominic
1041Tony E IturbideUnited Kingdom2024-05-23Chemel, James L Cpa QUALIFIED78Elwin Sharvill
1042Maria M FigeroaIndia2024-05-07Commercial Press NEGOTIATION54Asiya Javayant
1043Jennifer D OstroskyAustralia2024-05-16Feltz Printing Service NEW55Ivan Magalhaes
1044Misaki H DoeRussia2024-05-24Truhlar And Truhlar Attys QUALIFIED38Ioni Bowcher
1045Claire O WaycottUnited Kingdom2024-05-06Chanay, Jeffrey A Esq NEW74Amy Elsner
1046Arvin Q SchemmerUnited Kingdom2024-05-14King, Christopher A Esq NEW81Xuxue Feng
1047Rodrigues S ButtItaly2024-04-25Feltz Printing Service UNQUALIFIED8Xuxue Feng
1048Rodrigues W BowleySpain2024-04-30Chapman, Ross E Esq UNQUALIFIED61Elwin Sharvill
1049Jennifer Y FollerIndia2024-05-13Commercial Press UNQUALIFIED24Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer E WieserIndiaXuxue Feng QUALIFIED
Morrow E ShinkoCanadaIvan Magalhaes QUALIFIED
Octavia C RutaRussiaOnyama Limba NEGOTIATION
Stacey Q SaylorsJapanIoni Bowcher NEW
Jeanfrancois N OldroydBrazilXuxue Feng UNQUALIFIED
Jeanfrancois M WaycottBrazilAmy Elsner QUALIFIED
Morrow W ShinkoCanadaStephen Shaw UNQUALIFIED
Deepesh N BriddickJapanOnyama Limba PROPOSAL
Chavez L VocelkaSpainAsiya Javayant NEGOTIATION
Octavia N DarakjySpainElwin Sharvill PROPOSAL
Morrow O AlbaresRussiaIoni Bowcher PROPOSAL
Leja J FollerItalyAnna Fali PROPOSAL
Jefferson G KuskoCanadaAsiya Javayant PROPOSAL
Leja S SaylorsUnited KingdomIoni Bowcher NEW
Johnson M NickaArgentinaAnna Fali NEGOTIATION
Arvin V SaylorsBrazilElwin Sharvill RENEWAL
Silvio D ShinkoCanadaAmy Elsner NEGOTIATION
Munro T InouyeUnited KingdomIoni Bowcher PROPOSAL
Murillo X PoquetteCanadaOnyama Limba NEGOTIATION
Alejandro J CaudyItalyStephen Shaw UNQUALIFIED
Kaitlin V BowleyGermanyAmy Elsner PROPOSAL
Stacey S BologniaGermanyIoni Bowcher RENEWAL
Clifford V WhobreyRussiaAmy Elsner QUALIFIED
Clifford D RoysterArgentinaAmy Elsner PROPOSAL
Kadeem H RimJapanBernardo Dominic QUALIFIED
Morrow U DarakjyIndiaAmy Elsner PROPOSAL
Silvio U ShinkoAustraliaAmy Elsner QUALIFIED
Costa T IturbideBrazilAmy Elsner NEW
Munro X PoquetteJapanIoni Bowcher NEW
Silvio I VocelkaBrazilXuxue Feng PROPOSAL
Jefferson U RoysterIndiaXuxue Feng NEGOTIATION
Misaki V FollerUnited KingdomOnyama Limba UNQUALIFIED
Jones S MorascaFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois M AmigonAustraliaBernardo Dominic RENEWAL
Maria V MacleadCanadaAsiya Javayant NEGOTIATION
Kaitlin D MacleadAustraliaAsiya Javayant NEW
Jefferson J MorascaJapanIvan Magalhaes UNQUALIFIED
David P FlosiAustraliaElwin Sharvill QUALIFIED
Cody Z BowleySpainStephen Shaw NEW
Jeanfrancois P DarakjySpainAsiya Javayant UNQUALIFIED
Jefferson E BriddickAustraliaAmy Elsner NEW
Maisha M MacleadSpainAmy Elsner QUALIFIED
Izzy N RulapaughArgentinaOnyama Limba NEW
Antonio A RulapaughBrazilStephen Shaw NEGOTIATION
Maisha P GillianArgentinaOnyama Limba UNQUALIFIED
Mayumi V DoeFranceOnyama Limba RENEWAL
Misaki M SergiFranceStephen Shaw UNQUALIFIED
Clifford D GlickArgentinaIvan Magalhaes RENEWAL
Mayumi Z MaletUnited KingdomOnyama Limba UNQUALIFIED
Izzy P SchemmerAustraliaBernardo Dominic QUALIFIED
Frozen Columns
Name
Silvio L Saylors
Jennifer H Stenseth
Kadeem M Nicka
David W Malet
Jones M Inouye
Maria V Rim
Jeanfrancois M Flosi
Claire S Vocelka
Antonio Q Kusko
Ricardo Z Paprocki
Jennifer Q Maclead
Jeanfrancois L Butt
Misaki V Doe
Stacey Q Iturbide
Claire U Shinko
Clifford D Garufi
Octavia W Marrier
Aditya O Rim
Jefferson B Poquette
Isabel J Saylors
Julie N Perin
Jennifer Y Butt
Kaitlin T Briddick
Sinclair E Marrier
Deepesh F Stockham
Aditya J Iturbide
Greenwood F Oldroyd
Aika H Venere
Arvin E Campain
Antonio O Bowley
Faith K Glick
Silvio L Kolmetz
Stacey H Chui
Mujtaba N Rulapaugh
Rodrigues A Marrier
Salvatore L Bolognia
Arvin U Inouye
Aika B Iturbide
Faith Q Schemmer
Claire M Morasca
Silvio M Poquette
Johnson A Bolognia
Emily Z Flosi
Arvin H Morasca
Sinclair G Sergi
Ashley F Kusko
Octavia N Bowley
Isabel D Perin
Cody I Malet
Costa L Marrier
IdCountryDate
1000Germany2024-05-04
1001Russia2024-05-05
1002Italy2024-05-05
1003Canada2024-05-20
1004India2024-05-23
1005India2024-05-23
1006Spain2024-05-18
1007Japan2024-04-30
1008Australia2024-04-30
1009Japan2024-04-28
1010Canada2024-05-15
1011India2024-05-23
1012United Kingdom2024-05-18
1013Italy2024-05-08
1014Japan2024-05-16
1015Australia2024-05-03
1016Germany2024-04-26
1017Australia2024-05-17
1018Spain2024-05-24
1019Australia2024-05-20
1020Japan2024-05-19
1021Brazil2024-05-05
1022Canada2024-05-15
1023Spain2024-04-26
1024Australia2024-05-23
1025Argentina2024-04-30
1026United Kingdom2024-05-14
1027Italy2024-05-10
1028Spain2024-05-24
1029Canada2024-05-01
1030Germany2024-05-17
1031Australia2024-05-10
1032Brazil2024-04-25
1033Spain2024-05-16
1034United Kingdom2024-04-25
1035Italy2024-04-25
1036Japan2024-05-02
1037Russia2024-04-26
1038Spain2024-05-21
1039Japan2024-05-15
1040India2024-05-24
1041France2024-05-07
1042United Kingdom2024-05-24
1043India2024-05-08
1044Japan2024-04-28
1045Argentina2024-05-02
1046United Kingdom2024-05-01
1047Spain2024-05-05
1048Brazil2024-04-29
1049Russia2024-05-21

On-Demand Data

NameIdCountryDate
Mujtaba B Oldroyd1000Argentina2024-05-03
Rodrigues V Bolognia1001Italy2024-04-26
Misaki M Caudy1002Australia2024-05-17
Morrow Z Gaucho1003Australia2024-05-19
Arvin U Caudy1004Germany2024-05-22
Francesco T Kusko1005Brazil2024-05-02
Darci L Morasca1006Canada2024-05-24
Jones A Darakjy1007Germany2024-05-23
Rodrigues U Maclead1008Germany2024-05-01
Chavez R Foller1009Russia2024-04-27
Kadeem R Rim1010Japan2024-04-29
Johnson O Foller1011United Kingdom2024-05-05
Jones F Briddick1012Russia2024-05-22
Juan D Bowley1013Germany2024-05-20
Octavia O Royster1014Germany2024-05-04
Aika N Foller1015Japan2024-05-17
Sinclair A Inouye1016India2024-05-19
Octavia J Gillian1017Canada2024-04-29
Julie B Saylors1018Japan2024-04-25
Claire J Royster1019United Kingdom2024-04-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki M PerinBrazilIvan Magalhaes RENEWAL
Cody G ButtRussiaIoni Bowcher UNQUALIFIED
Leon R VenereCanadaXuxue Feng PROPOSAL
Smith T InouyeIndiaAnna Fali PROPOSAL
Mujtaba Z CaudyAustraliaStephen Shaw NEW
Jennifer O BowleyArgentinaIoni Bowcher UNQUALIFIED
Aruna X ChuiItalyStephen Shaw PROPOSAL
Mujtaba J SlusarskiGermanyXuxue Feng NEGOTIATION
Ricardo T MarrierFranceIoni Bowcher RENEWAL
Leja A GlickUnited KingdomXuxue Feng NEW
Salvatore R KuskoArgentinaXuxue Feng PROPOSAL
Stacey B MacleadUnited KingdomStephen Shaw UNQUALIFIED
Izzy G BologniaCanadaAsiya Javayant QUALIFIED
Smith T GarufiAustraliaIvan Magalhaes NEGOTIATION
David N OldroydJapanIoni Bowcher QUALIFIED
Chavez M BologniaBrazilAmy Elsner UNQUALIFIED
Chavez I AmigonCanadaAnna Fali PROPOSAL
Morrow Y MaletArgentinaElwin Sharvill UNQUALIFIED
Francesco I WhobreyGermanyElwin Sharvill NEGOTIATION
Jefferson B CaldareraFranceIvan Magalhaes UNQUALIFIED
Deepesh W StockhamSpainStephen Shaw RENEWAL
Izzy Q FigeroaCanadaBernardo Dominic UNQUALIFIED
Deepesh X BowleyArgentinaStephen Shaw NEGOTIATION
Emily F SlusarskiGermanyXuxue Feng RENEWAL
Francesco G PaprockiAustraliaAnna Fali UNQUALIFIED
Maria M GillianRussiaAmy Elsner UNQUALIFIED
Mujtaba M RutaJapanIvan Magalhaes NEGOTIATION
Munro F BowleyFranceStephen Shaw NEW
Mayumi G KuskoSpainAnna Fali NEGOTIATION
Greenwood P OldroydFranceAsiya Javayant NEGOTIATION
Aruna C AlbaresRussiaElwin Sharvill NEGOTIATION
Cody G BowleyFranceXuxue Feng QUALIFIED
Wickens E ChuiIndiaOnyama Limba QUALIFIED
Aika V PerinFranceAmy Elsner QUALIFIED
Maria K KuskoSpainOnyama Limba PROPOSAL
Aika E GarufiGermanyAsiya Javayant QUALIFIED
Maisha J MaletSpainOnyama Limba UNQUALIFIED
Wickens H KuskoAustraliaElwin Sharvill NEGOTIATION
Cody Q DarakjyRussiaIvan Magalhaes NEW
Jones K ShinkoAustraliaIoni Bowcher 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>