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
Izzy M IturbideCanadaIvan Magalhaes PROPOSAL
Maria R AmigonAustraliaElwin Sharvill PROPOSAL
Alejandro N WhobreyIndiaOnyama Limba UNQUALIFIED
Faith Z WaycottRussiaOnyama Limba QUALIFIED
Jeanfrancois V MarrierBrazilStephen Shaw NEW
Jefferson T OstroskyArgentinaAnna Fali UNQUALIFIED
Emily H RutaSpainAnna Fali NEGOTIATION
Ashley N DoeRussiaIoni Bowcher UNQUALIFIED
Clifford C RoysterIndiaAnna Fali RENEWAL
Deepesh N NestleFranceAsiya Javayant PROPOSAL
Mayumi L DilliardSpainAmy Elsner NEW
Silvio R TollnerUnited KingdomBernardo Dominic RENEWAL
Octavia E MarrierSpainIoni Bowcher NEGOTIATION
Adams K ButtFranceStephen Shaw NEGOTIATION
Jones P RutaFranceOnyama Limba NEGOTIATION
Antonio N StockhamRussiaIvan Magalhaes PROPOSAL
Maria A ShinkoArgentinaElwin Sharvill QUALIFIED
Darci I DoeArgentinaAmy Elsner PROPOSAL
Adams I BriddickItalyXuxue Feng UNQUALIFIED
Octavia V MaletCanadaOnyama Limba UNQUALIFIED
Jennifer I ChuiItalyIoni Bowcher UNQUALIFIED
Greenwood H SchemmerCanadaBernardo Dominic NEW
Aditya J PerinBrazilXuxue Feng QUALIFIED
Alejandro L GlickFranceOnyama Limba RENEWAL
Jones N NickaJapanStephen Shaw PROPOSAL
Jones I AmigonJapanElwin Sharvill NEGOTIATION
Mujtaba U MacleadAustraliaAnna Fali NEGOTIATION
Francesco L TollnerFranceAmy Elsner RENEWAL
Nicolas R BowleyItalyIoni Bowcher UNQUALIFIED
Darci F VocelkaAustraliaBernardo Dominic QUALIFIED
Jefferson K SergiArgentinaIvan Magalhaes NEGOTIATION
Aditya O VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Tony F StockhamFranceAnna Fali PROPOSAL
Greenwood Z PerinItalyBernardo Dominic UNQUALIFIED
Deepesh H WaycottJapanElwin Sharvill NEGOTIATION
Octavia G FerenczGermanyBernardo Dominic NEGOTIATION
Octavia O PaprockiArgentinaOnyama Limba PROPOSAL
Rodrigues U SergiBrazilStephen Shaw NEGOTIATION
Aditya W KuskoArgentinaAsiya Javayant NEW
James Z MaletJapanAnna Fali QUALIFIED
Murillo M OldroydBrazilAmy Elsner RENEWAL
Aruna B VocelkaCanadaIvan Magalhaes RENEWAL
Jeanfrancois Z PerinUnited KingdomAmy Elsner QUALIFIED
Jefferson P VenereCanadaOnyama Limba RENEWAL
Izzy F StensethFranceXuxue Feng UNQUALIFIED
Antonio O RutaJapanXuxue Feng PROPOSAL
Maisha R RulapaughArgentinaIvan Magalhaes QUALIFIED
Jefferson R SaylorsSpainAnna Fali UNQUALIFIED
Isabel L OstroskyRussiaAmy Elsner RENEWAL
Jones K FigeroaArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley D RutaArgentinaOnyama Limba PROPOSAL
Murillo B CaldareraItalyElwin Sharvill RENEWAL
Tony V BologniaFranceIvan Magalhaes NEGOTIATION
Adams T GauchoJapanElwin Sharvill RENEWAL
Darci T SlusarskiJapanXuxue Feng NEGOTIATION
Mujtaba B MorascaSpainIoni Bowcher RENEWAL
Tony N FlosiSpainXuxue Feng NEW
Morrow R CaldareraRussiaIoni Bowcher NEW
Costa R CampainIndiaIoni Bowcher PROPOSAL
James I CaudyIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel H ShinkoFrance2025-04-22Commercial Press NEGOTIATION88Bernardo Dominic
1001Murillo R CaudyRussia2025-04-02Feiner Bros NEW99Ioni Bowcher
1002Wickens X KolmetzIndia2025-04-28Printing Dimensions RENEWAL32Bernardo Dominic
1003Smith B OstroskyItaly2025-04-02Rousseaux, Michael Esq RENEWAL55Asiya Javayant
1004Clifford B AmigonArgentina2025-04-01Rousseaux, Michael Esq NEGOTIATION48Onyama Limba
1005Tony X BowleyArgentina2025-04-07Rousseaux, Michael Esq RENEWAL17Asiya Javayant
1006Smith D ButtArgentina2025-04-28Morlong Associates NEW81Bernardo Dominic
1007Ashley K DarakjyUnited Kingdom2025-04-05Chapman, Ross E Esq NEW51Ivan Magalhaes
1008Aika K MaletRussia2025-04-05Chemel, James L Cpa QUALIFIED72Anna Fali
1009Morrow T WieserArgentina2025-04-29King, Christopher A Esq PROPOSAL69Bernardo Dominic
1010Maisha K VenereUnited Kingdom2025-04-22Printing Dimensions NEGOTIATION55Amy Elsner
1011Leja Q KolmetzArgentina2025-04-12Rangoni Of Florence QUALIFIED85Onyama Limba
1012Jennifer S ButtBrazil2025-04-03Rousseaux, Michael Esq PROPOSAL4Xuxue Feng
1013Ivar B BowleyAustralia2025-04-16Chanay, Jeffrey A Esq QUALIFIED27Amy Elsner
1014Jeanfrancois R DoeFrance2025-04-13Truhlar And Truhlar Attys NEGOTIATION43Stephen Shaw
1015Aditya H TollnerBrazil2025-04-09King, Christopher A Esq PROPOSAL27Xuxue Feng
1016Maisha G BowleySpain2025-04-19Dorl, James J Esq NEW81Stephen Shaw
1017Ivar G SaylorsAustralia2025-04-02Truhlar And Truhlar Attys RENEWAL38Elwin Sharvill
1018Arvin A KuskoCanada2025-04-29Benton, John B Jr PROPOSAL2Ioni Bowcher
1019Adams P FerenczSpain2025-04-18Dorl, James J Esq NEW2Stephen Shaw
1020Tony W ChuiGermany2025-04-21Rangoni Of Florence QUALIFIED70Xuxue Feng
1021Smith W MorascaRussia2025-04-02Chemel, James L Cpa UNQUALIFIED7Bernardo Dominic
1022Maria F FollerSpain2025-04-18Rousseaux, Michael Esq UNQUALIFIED71Ivan Magalhaes
1023Jennifer V KolmetzRussia2025-04-05Chemel, James L Cpa RENEWAL53Xuxue Feng
1024Leja D PoquetteItaly2025-04-07King, Christopher A Esq QUALIFIED64Asiya Javayant
1025Ivar E OstroskyFrance2025-04-09Chapman, Ross E Esq PROPOSAL83Xuxue Feng
1026Misaki B GlickUnited Kingdom2025-04-28Chanay, Jeffrey A Esq RENEWAL40Ivan Magalhaes
1027Nicolas V StensethArgentina2025-04-04Morlong Associates UNQUALIFIED89Asiya Javayant
1028Costa L WaycottSpain2025-04-07King, Christopher A Esq NEGOTIATION86Bernardo Dominic
1029Misaki G DarakjyCanada2025-04-30Chanay, Jeffrey A Esq PROPOSAL14Anna Fali
1030Ricardo V DoeUnited Kingdom2025-04-05Printing Dimensions PROPOSAL90Xuxue Feng
1031Maria P PaprockiGermany2025-04-20King, Christopher A Esq PROPOSAL16Bernardo Dominic
1032Ricardo M BriddickRussia2025-04-29Printing Dimensions UNQUALIFIED39Elwin Sharvill
1033Ivar G TollnerSpain2025-04-11Printing Dimensions UNQUALIFIED12Asiya Javayant
1034Wickens U TollnerSpain2025-04-23Chapman, Ross E Esq NEW44Onyama Limba
1035Kadeem H SlusarskiItaly2025-04-02Rousseaux, Michael Esq RENEWAL46Bernardo Dominic
1036Faith U OstroskySpain2025-04-28Buckley Miller Wright PROPOSAL70Onyama Limba
1037Chavez Z BriddickIndia2025-04-16King, Christopher A Esq PROPOSAL69Bernardo Dominic
1038Silvio A KuskoSpain2025-04-23Rangoni Of Florence QUALIFIED36Asiya Javayant
1039Mayumi I BowleyCanada2025-04-28Chapman, Ross E Esq NEGOTIATION81Xuxue Feng
1040Cody H MaletRussia2025-04-19Morlong Associates NEGOTIATION43Elwin Sharvill
1041Arvin V AmigonCanada2025-04-17Rousseaux, Michael Esq PROPOSAL96Stephen Shaw
1042Mayumi V StockhamUnited Kingdom2025-04-04Truhlar And Truhlar Attys UNQUALIFIED17Onyama Limba
1043Jennifer T StensethBrazil2025-04-08Dorl, James J Esq QUALIFIED44Amy Elsner
1044Jennifer K PaprockiRussia2025-04-18Benton, John B Jr NEW66Xuxue Feng
1045Clifford Z StockhamGermany2025-04-10Feltz Printing Service QUALIFIED57Anna Fali
1046Clifford J ChuiJapan2025-04-20Commercial Press UNQUALIFIED79Elwin Sharvill
1047Costa I WaycottRussia2025-04-17Benton, John B Jr QUALIFIED95Xuxue Feng
1048Johnson D SergiCanada2025-04-06Rousseaux, Michael Esq RENEWAL3Ioni Bowcher
1049Aruna N MorascaArgentina2025-04-27Rangoni Of Florence NEW40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Adams S StockhamJapanAsiya Javayant NEGOTIATION
Jefferson O FlosiAustraliaOnyama Limba PROPOSAL
James Q StensethSpainXuxue Feng QUALIFIED
Antonio A RimGermanyAmy Elsner UNQUALIFIED
Maria G BowleyUnited KingdomElwin Sharvill QUALIFIED
Smith T IturbideJapanOnyama Limba NEGOTIATION
Isabel H KolmetzFranceOnyama Limba NEGOTIATION
Sinclair Z BowleyBrazilIoni Bowcher UNQUALIFIED
Tony P SchemmerBrazilIoni Bowcher UNQUALIFIED
David O FlosiIndiaBernardo Dominic NEW
Aditya T FigeroaAustraliaStephen Shaw NEW
Morrow T ShinkoCanadaAsiya Javayant PROPOSAL
Darci B OstroskyArgentinaElwin Sharvill NEW
Misaki L WhobreyArgentinaElwin Sharvill UNQUALIFIED
Misaki O InouyeIndiaBernardo Dominic NEGOTIATION
Emily F BriddickArgentinaAsiya Javayant NEGOTIATION
Francesco X FerenczFranceElwin Sharvill NEW
Kaitlin L GlickAustraliaIoni Bowcher QUALIFIED
Jefferson W RulapaughArgentinaXuxue Feng UNQUALIFIED
Sinclair K MarrierItalyOnyama Limba UNQUALIFIED
Nicolas H MarrierBrazilIvan Magalhaes NEW
Aruna P IturbideArgentinaIvan Magalhaes NEW
Salvatore T NestleBrazilElwin Sharvill RENEWAL
Ricardo C RutaFranceIvan Magalhaes UNQUALIFIED
Johnson W KolmetzJapanIvan Magalhaes NEW
Costa M SchemmerBrazilAmy Elsner NEGOTIATION
Alejandro H RoysterGermanyIoni Bowcher NEW
Kadeem Y RoysterAustraliaAmy Elsner PROPOSAL
Ashley Y DoeSpainIoni Bowcher NEW
Leon C WhobreyRussiaStephen Shaw PROPOSAL
Clifford D InouyeUnited KingdomIvan Magalhaes RENEWAL
Kadeem U DoeCanadaIvan Magalhaes PROPOSAL
Silvio T BologniaCanadaIoni Bowcher PROPOSAL
Jones O SergiIndiaAnna Fali QUALIFIED
Jeanfrancois B BriddickRussiaBernardo Dominic UNQUALIFIED
Claire A ButtSpainXuxue Feng PROPOSAL
Faith V GauchoUnited KingdomBernardo Dominic NEW
Johnson S GlickAustraliaAsiya Javayant NEW
Morrow S KuskoGermanyAsiya Javayant NEGOTIATION
Smith Y MaletUnited KingdomBernardo Dominic NEW
Nicolas D SchemmerUnited KingdomBernardo Dominic RENEWAL
Maisha W AmigonArgentinaOnyama Limba QUALIFIED
Leon X DoeCanadaBernardo Dominic UNQUALIFIED
Emily Z GarufiSpainAmy Elsner PROPOSAL
Kadeem I AlbaresRussiaElwin Sharvill PROPOSAL
Greenwood S PaprockiCanadaOnyama Limba UNQUALIFIED
Izzy T AlbaresRussiaAnna Fali NEW
Maria R RulapaughSpainElwin Sharvill NEW
Costa W OstroskyCanadaOnyama Limba RENEWAL
Stacey L GarufiJapanAmy Elsner RENEWAL
Frozen Columns
Name
Jones I Rulapaugh
Leja Y Shinko
Sinclair D Iturbide
Stacey P Doe
Jennifer T Doe
Juan T Campain
Misaki S Kusko
Francesco R Iturbide
Jones A Royster
Maria E Ostrosky
Juan C Iturbide
Leon D Inouye
Smith W Caldarera
Sinclair C Dilliard
Mayumi A Butt
Mayumi B Kolmetz
Antonio J Ferencz
Greenwood J Glick
Maisha P Figeroa
Salvatore K Rulapaugh
Octavia J Marrier
Claire U Flosi
Alejandro U Poquette
Maria Y Caudy
Leon Q Vocelka
Ricardo H Schemmer
Aruna O Schemmer
Wickens I Bowley
Ashley P Malet
Juan K Saylors
Silvio X Iturbide
Ashley E Sergi
Sinclair G Paprocki
Isabel F Chui
Jones S Nestle
Mujtaba N Kusko
Ashley U Marrier
Jeanfrancois J Caudy
Morrow L Whobrey
Mujtaba Q Gaucho
Emily G Foller
Arvin K Bolognia
Emily E Venere
Ivar I Malet
Maisha I Marrier
Mujtaba U Gaucho
Murillo O Campain
Julie N Waycott
Deepesh C Garufi
Costa G Kusko
IdCountryDate
1000Russia2025-04-25
1001Japan2025-04-18
1002Canada2025-04-02
1003Russia2025-04-22
1004Italy2025-04-29
1005United Kingdom2025-04-14
1006Spain2025-04-13
1007United Kingdom2025-04-22
1008Japan2025-04-08
1009Brazil2025-04-28
1010France2025-04-09
1011Australia2025-04-23
1012United Kingdom2025-04-20
1013Italy2025-04-12
1014Russia2025-04-14
1015Russia2025-04-08
1016Argentina2025-04-29
1017India2025-04-09
1018Italy2025-04-02
1019Canada2025-04-15
1020Germany2025-04-27
1021United Kingdom2025-04-17
1022United Kingdom2025-04-20
1023Italy2025-04-04
1024Australia2025-04-12
1025Australia2025-04-26
1026Germany2025-04-03
1027France2025-04-17
1028Australia2025-04-10
1029Japan2025-04-09
1030Canada2025-04-20
1031Canada2025-04-13
1032Spain2025-04-20
1033Canada2025-04-30
1034Australia2025-04-29
1035Australia2025-04-22
1036Spain2025-04-14
1037Spain2025-04-23
1038Germany2025-04-01
1039India2025-04-29
1040India2025-04-24
1041India2025-04-25
1042Italy2025-04-20
1043Italy2025-04-09
1044Canada2025-04-05
1045India2025-04-21
1046Brazil2025-04-12
1047Spain2025-04-15
1048Australia2025-04-24
1049Canada2025-04-22

On-Demand Data

NameIdCountryDate
Alejandro R Bolognia1000India2025-04-06
Emily Y Nicka1001Canada2025-04-07
Aruna S Rim1002Argentina2025-04-12
Deepesh T Morasca1003India2025-04-14
Murillo O Kolmetz1004Argentina2025-04-07
Juan R Paprocki1005Japan2025-04-25
Leon S Campain1006United Kingdom2025-04-26
Smith W Amigon1007India2025-04-19
Leon K Foller1008Japan2025-04-19
Munro P Vocelka1009Germany2025-04-17
Adams T Chui1010Spain2025-04-30
Smith O Stockham1011Australia2025-04-13
Arvin H Ostrosky1012United Kingdom2025-04-11
Jones H Campain1013Germany2025-04-08
Misaki J Vocelka1014Australia2025-04-08
Kadeem K Campain1015India2025-04-13
Leja P Darakjy1016Australia2025-04-10
Deepesh Q Glick1017Brazil2025-04-15
Cody L Oldroyd1018Germany2025-04-04
Mujtaba U Morasca1019Canada2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S FigeroaAustraliaAnna Fali NEW
Johnson I WhobreyJapanAsiya Javayant UNQUALIFIED
Aditya R IturbideGermanyAsiya Javayant RENEWAL
Aika O CaldareraUnited KingdomElwin Sharvill RENEWAL
Maria W RoysterCanadaAnna Fali RENEWAL
Jeanfrancois P MaletUnited KingdomAmy Elsner UNQUALIFIED
Arvin E FlosiIndiaAnna Fali UNQUALIFIED
Octavia N AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Jones W BriddickGermanyIoni Bowcher PROPOSAL
Darci L VocelkaRussiaAmy Elsner RENEWAL
Wickens X GlickItalyStephen Shaw NEW
Adams S OstroskyIndiaBernardo Dominic QUALIFIED
Aditya L ShinkoArgentinaIvan Magalhaes NEW
Kaitlin J MaletSpainElwin Sharvill PROPOSAL
Murillo Y OstroskyGermanyStephen Shaw NEGOTIATION
Izzy K RulapaughSpainStephen Shaw NEW
Leon D PerinSpainXuxue Feng NEW
David Q MacleadSpainIvan Magalhaes NEW
Arvin M RulapaughIndiaAnna Fali QUALIFIED
Jones A FollerRussiaXuxue Feng UNQUALIFIED
Maisha N MorascaRussiaAnna Fali NEGOTIATION
Ivar U KuskoRussiaAsiya Javayant NEGOTIATION
Tony I StockhamItalyAsiya Javayant UNQUALIFIED
Mujtaba U PoquetteGermanyAmy Elsner RENEWAL
Silvio X WhobreySpainAsiya Javayant UNQUALIFIED
Aruna S FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood A GarufiUnited KingdomAmy Elsner NEGOTIATION
Aika F ChuiGermanyIoni Bowcher PROPOSAL
Juan J CampainGermanyBernardo Dominic NEW
Ricardo B GlickBrazilIoni Bowcher QUALIFIED
Jeanfrancois Q OldroydGermanyAmy Elsner UNQUALIFIED
Morrow J KuskoUnited KingdomAmy Elsner NEGOTIATION
Silvio A NickaFranceOnyama Limba UNQUALIFIED
Faith P NickaGermanyXuxue Feng RENEWAL
Nicolas F WieserArgentinaXuxue Feng QUALIFIED
Isabel K PoquetteArgentinaAsiya Javayant RENEWAL
Emily A BowleyIndiaIvan Magalhaes NEGOTIATION
Nicolas C NickaFranceIoni Bowcher NEGOTIATION
Antonio P OstroskyItalyIvan Magalhaes NEW
Jennifer D OldroydUnited KingdomStephen Shaw PROPOSAL

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