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
Arvin E VenereGermanyStephen Shaw RENEWAL
Aruna Z GillianGermanyStephen Shaw NEGOTIATION
Murillo A PoquetteBrazilOnyama Limba NEGOTIATION
Jefferson U VenereGermanyXuxue Feng NEW
Juan I RoysterJapanIoni Bowcher NEW
Arvin I VenereIndiaStephen Shaw UNQUALIFIED
Juan Y NickaJapanAmy Elsner RENEWAL
Claire B FigeroaItalyIvan Magalhaes UNQUALIFIED
Morrow U SlusarskiBrazilXuxue Feng NEW
Isabel T CaudyBrazilXuxue Feng NEW
David A MarrierCanadaOnyama Limba RENEWAL
Rodrigues I StockhamIndiaStephen Shaw RENEWAL
Silvio D AmigonCanadaStephen Shaw UNQUALIFIED
Tony N BowleyBrazilAnna Fali QUALIFIED
Aditya F DilliardFranceIvan Magalhaes NEGOTIATION
Arvin D VocelkaArgentinaAmy Elsner QUALIFIED
Aika J WieserGermanyAnna Fali QUALIFIED
Rodrigues S TollnerAustraliaAnna Fali QUALIFIED
Antonio W GarufiBrazilAsiya Javayant UNQUALIFIED
Mayumi I VenereGermanyIoni Bowcher NEGOTIATION
Silvio G DarakjyAustraliaElwin Sharvill PROPOSAL
Tony B OstroskySpainOnyama Limba NEGOTIATION
Mujtaba G DoeUnited KingdomBernardo Dominic RENEWAL
Francesco X GauchoRussiaOnyama Limba UNQUALIFIED
Cody Z MorascaRussiaAnna Fali RENEWAL
Morrow A SergiFranceAnna Fali NEW
Aditya V DoeArgentinaXuxue Feng QUALIFIED
Costa Y SchemmerJapanOnyama Limba RENEWAL
Alejandro S CaldareraAustraliaAnna Fali NEW
Arvin G PaprockiItalyStephen Shaw UNQUALIFIED
Maria E PaprockiBrazilIoni Bowcher PROPOSAL
Aditya N AlbaresRussiaBernardo Dominic UNQUALIFIED
Claire S PoquetteAustraliaAsiya Javayant UNQUALIFIED
Jefferson I IturbideItalyXuxue Feng UNQUALIFIED
Aditya P BriddickUnited KingdomOnyama Limba NEGOTIATION
Juan Q RulapaughJapanIvan Magalhaes PROPOSAL
Leon N FlosiSpainIoni Bowcher NEGOTIATION
Smith Q WhobreyJapanBernardo Dominic NEW
Isabel C MarrierJapanBernardo Dominic UNQUALIFIED
Mayumi Z CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Maria F NickaArgentinaAmy Elsner PROPOSAL
Emily A PoquetteFranceXuxue Feng NEW
Aika Y SchemmerItalyStephen Shaw NEW
James G IturbideArgentinaStephen Shaw PROPOSAL
Maria X GauchoArgentinaElwin Sharvill RENEWAL
Greenwood S OstroskyIndiaOnyama Limba UNQUALIFIED
Murillo T StockhamAustraliaStephen Shaw PROPOSAL
Chavez K VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Julie W CaldareraSpainIvan Magalhaes QUALIFIED
Leja J FlosiRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
David R MaletRussiaIvan Magalhaes QUALIFIED
Alejandro S SlusarskiBrazilBernardo Dominic QUALIFIED
Adams B SergiCanadaAnna Fali UNQUALIFIED
Maisha A DoeGermanyOnyama Limba UNQUALIFIED
Claire J DoeUnited KingdomAmy Elsner NEGOTIATION
Wickens B RutaCanadaIvan Magalhaes RENEWAL
Sinclair L AlbaresAustraliaAmy Elsner UNQUALIFIED
Cody J RulapaughIndiaXuxue Feng RENEWAL
Nicolas D FlosiBrazilIvan Magalhaes RENEWAL
Arvin X PaprockiFranceIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel I VenereAustralia2024-06-04Dorl, James J Esq RENEWAL74Stephen Shaw
1001Maisha N VocelkaArgentina2024-05-25Feiner Bros PROPOSAL29Ioni Bowcher
1002Chavez U FigeroaBrazil2024-06-08Chanay, Jeffrey A Esq RENEWAL89Amy Elsner
1003Claire B NickaFrance2024-06-16Rangoni Of Florence PROPOSAL71Asiya Javayant
1004Aruna H CaldareraArgentina2024-06-11Truhlar And Truhlar Attys NEGOTIATION52Amy Elsner
1005Arvin K FollerUnited Kingdom2024-06-06Dorl, James J Esq PROPOSAL8Anna Fali
1006Alejandro V RulapaughJapan2024-05-25Rousseaux, Michael Esq QUALIFIED97Amy Elsner
1007Munro U VocelkaFrance2024-05-26Benton, John B Jr NEGOTIATION3Asiya Javayant
1008Juan F WieserCanada2024-06-18Chanay, Jeffrey A Esq RENEWAL48Ivan Magalhaes
1009Juan B FigeroaItaly2024-05-24Chanay, Jeffrey A Esq NEW52Xuxue Feng
1010Isabel E KuskoJapan2024-05-30Chanay, Jeffrey A Esq RENEWAL24Xuxue Feng
1011Aika Y WhobreyJapan2024-06-20Truhlar And Truhlar Attys NEW48Ioni Bowcher
1012Sinclair W InouyeUnited Kingdom2024-05-28King, Christopher A Esq NEW58Ioni Bowcher
1013Mujtaba W WhobreySpain2024-06-12Chanay, Jeffrey A Esq QUALIFIED92Asiya Javayant
1014Stacey V RutaItaly2024-06-21Rousseaux, Michael Esq NEW77Asiya Javayant
1015Cody M GauchoSpain2024-06-09Truhlar And Truhlar Attys UNQUALIFIED79Elwin Sharvill
1016Adams G MacleadSpain2024-06-05Feltz Printing Service UNQUALIFIED0Anna Fali
1017Ricardo W StensethSpain2024-06-07Chemel, James L Cpa UNQUALIFIED20Xuxue Feng
1018Aika M AlbaresAustralia2024-06-21Chapman, Ross E Esq NEGOTIATION86Anna Fali
1019Rodrigues N SchemmerUnited Kingdom2024-05-25Commercial Press NEGOTIATION93Ioni Bowcher
1020Jones W SaylorsItaly2024-06-16Truhlar And Truhlar Attys RENEWAL2Asiya Javayant
1021Octavia F GarufiArgentina2024-06-20Buckley Miller Wright UNQUALIFIED95Ivan Magalhaes
1022Chavez H KolmetzUnited Kingdom2024-05-26Benton, John B Jr RENEWAL80Bernardo Dominic
1023David A MarrierJapan2024-06-03Commercial Press NEW36Amy Elsner
1024Ricardo S FerenczIndia2024-06-14Commercial Press PROPOSAL3Ioni Bowcher
1025Maria G InouyeItaly2024-05-30Chapman, Ross E Esq UNQUALIFIED97Amy Elsner
1026Francesco V NestleRussia2024-06-19Rousseaux, Michael Esq UNQUALIFIED75Ioni Bowcher
1027Claire M IturbideItaly2024-06-09Rangoni Of Florence NEGOTIATION62Bernardo Dominic
1028David F RulapaughGermany2024-06-18Chapman, Ross E Esq PROPOSAL62Elwin Sharvill
1029Morrow H FerenczJapan2024-05-25Buckley Miller Wright PROPOSAL10Amy Elsner
1030Smith X GauchoJapan2024-06-10King, Christopher A Esq NEGOTIATION8Anna Fali
1031Darci S SaylorsSpain2024-06-05Rousseaux, Michael Esq PROPOSAL22Elwin Sharvill
1032Misaki E InouyeAustralia2024-06-18Rangoni Of Florence PROPOSAL91Elwin Sharvill
1033Munro F SergiSpain2024-06-17Truhlar And Truhlar Attys UNQUALIFIED62Onyama Limba
1034Greenwood C TollnerCanada2024-05-30King, Christopher A Esq RENEWAL93Elwin Sharvill
1035Tony B KolmetzIndia2024-06-04Benton, John B Jr PROPOSAL89Ioni Bowcher
1036Johnson V TollnerBrazil2024-06-11Truhlar And Truhlar Attys UNQUALIFIED59Stephen Shaw
1037Aruna R WaycottCanada2024-06-08Feltz Printing Service PROPOSAL8Bernardo Dominic
1038Leon E VenereSpain2024-05-29Rangoni Of Florence PROPOSAL11Anna Fali
1039Jennifer Q MaletJapan2024-06-20Rangoni Of Florence QUALIFIED58Amy Elsner
1040Jones Q KuskoIndia2024-06-21Morlong Associates PROPOSAL61Xuxue Feng
1041Morrow F BologniaSpain2024-06-13Chanay, Jeffrey A Esq NEGOTIATION0Onyama Limba
1042Aika Y VocelkaBrazil2024-05-28Chanay, Jeffrey A Esq RENEWAL54Stephen Shaw
1043Jones E BriddickIndia2024-05-23King, Christopher A Esq UNQUALIFIED44Bernardo Dominic
1044Ricardo B IturbideAustralia2024-06-03Benton, John B Jr RENEWAL72Amy Elsner
1045Mayumi Q OstroskyIndia2024-06-11King, Christopher A Esq NEGOTIATION81Amy Elsner
1046Silvio N FollerSpain2024-06-13Rousseaux, Michael Esq UNQUALIFIED97Ioni Bowcher
1047Smith D SlusarskiFrance2024-06-01Chanay, Jeffrey A Esq QUALIFIED32Amy Elsner
1048Darci V FigeroaItaly2024-06-12Chemel, James L Cpa NEGOTIATION8Ioni Bowcher
1049Francesco U BowleyJapan2024-06-08Feltz Printing Service RENEWAL79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith R KolmetzJapanAsiya Javayant NEGOTIATION
Arvin D ShinkoSpainIoni Bowcher RENEWAL
Tony P RulapaughRussiaStephen Shaw QUALIFIED
Mayumi H OstroskyRussiaXuxue Feng NEGOTIATION
Chavez E KuskoRussiaIvan Magalhaes NEW
Munro V WaycottItalyAsiya Javayant NEGOTIATION
James P BriddickFranceIoni Bowcher QUALIFIED
Antonio I StockhamCanadaOnyama Limba PROPOSAL
Isabel N PaprockiSpainAsiya Javayant UNQUALIFIED
Kadeem M FlosiArgentinaIoni Bowcher RENEWAL
Ricardo U RoysterFranceOnyama Limba RENEWAL
Ivar R StockhamFranceXuxue Feng QUALIFIED
Rodrigues N MacleadGermanyAnna Fali NEW
Aika L OstroskyUnited KingdomElwin Sharvill RENEWAL
Jefferson A RimGermanyIoni Bowcher QUALIFIED
Francesco U RimArgentinaBernardo Dominic PROPOSAL
James U VocelkaUnited KingdomAnna Fali NEGOTIATION
Wickens I InouyeAustraliaAnna Fali QUALIFIED
Maisha D RutaRussiaXuxue Feng UNQUALIFIED
Juan J SchemmerGermanyIvan Magalhaes NEW
Kaitlin Y SaylorsItalyElwin Sharvill QUALIFIED
Arvin A SchemmerCanadaElwin Sharvill UNQUALIFIED
Silvio L BologniaArgentinaIvan Magalhaes NEGOTIATION
Munro N AmigonJapanElwin Sharvill QUALIFIED
Deepesh N ShinkoFranceStephen Shaw UNQUALIFIED
Leon R PaprockiBrazilBernardo Dominic QUALIFIED
Jones B SlusarskiSpainIvan Magalhaes NEW
Jones T NickaUnited KingdomAmy Elsner RENEWAL
Stacey B RulapaughUnited KingdomAnna Fali RENEWAL
Leja U BriddickRussiaAnna Fali NEGOTIATION
Darci I VenereFranceAsiya Javayant NEW
Leja J FlosiAustraliaAsiya Javayant NEGOTIATION
Murillo I GauchoItalyIoni Bowcher QUALIFIED
Leja O IturbideAustraliaIoni Bowcher PROPOSAL
Julie U NestleArgentinaElwin Sharvill QUALIFIED
Izzy S DilliardCanadaBernardo Dominic QUALIFIED
Sinclair D KuskoJapanIoni Bowcher NEGOTIATION
Maria V FigeroaRussiaStephen Shaw RENEWAL
Misaki E InouyeArgentinaAsiya Javayant NEGOTIATION
Johnson J CaudyCanadaXuxue Feng UNQUALIFIED
Juan N WieserRussiaAsiya Javayant UNQUALIFIED
Chavez C PerinGermanyBernardo Dominic UNQUALIFIED
Misaki B FerenczCanadaAnna Fali QUALIFIED
Silvio U MaletAustraliaOnyama Limba NEGOTIATION
Smith N CaudyFranceBernardo Dominic PROPOSAL
Morrow S MaletGermanyAsiya Javayant RENEWAL
Arvin H GauchoSpainAsiya Javayant PROPOSAL
James I FigeroaSpainElwin Sharvill PROPOSAL
Smith H RulapaughIndiaIvan Magalhaes RENEWAL
Jennifer D SergiBrazilBernardo Dominic PROPOSAL
Frozen Columns
Name
Murillo S Kolmetz
Rodrigues L Poquette
Clifford L Caldarera
Stacey K Perin
Aditya P Paprocki
Francesco B Venere
Antonio D Marrier
Jeanfrancois S Schemmer
Aruna F Whobrey
Costa K Ruta
Antonio S Nestle
Silvio I Shinko
Chavez Z Tollner
Stacey E Albares
Julie P Marrier
Adams Y Slusarski
Juan M Rim
Deepesh O Nicka
Sinclair T Albares
Jennifer W Vocelka
David Q Sergi
Murillo R Stockham
Munro P Iturbide
Francesco V Rim
Juan K Schemmer
James E Iturbide
Adams H Whobrey
Misaki E Doe
Stacey L Malet
Leja C Flosi
Darci S Inouye
Johnson C Perin
Adams Y Garufi
Chavez G Glick
Ashley A Tollner
Ivar O Foller
Deepesh H Malet
Rodrigues P Butt
Nicolas D Figeroa
Arvin T Doe
Emily F Poquette
Jennifer B Poquette
Faith L Doe
Morrow A Sergi
Deepesh K Schemmer
Emily C Gillian
Aditya M Rim
Kaitlin K Rim
Chavez E Waycott
Kadeem N Ferencz
IdCountryDate
1000Canada2024-05-23
1001Italy2024-06-08
1002Russia2024-06-19
1003France2024-06-06
1004India2024-05-24
1005Germany2024-06-09
1006Australia2024-06-19
1007Argentina2024-06-12
1008Italy2024-05-28
1009Italy2024-06-01
1010India2024-06-11
1011United Kingdom2024-05-27
1012Germany2024-06-15
1013France2024-06-02
1014Brazil2024-06-02
1015Germany2024-06-01
1016Japan2024-06-19
1017Japan2024-06-03
1018Spain2024-06-06
1019Germany2024-06-14
1020Russia2024-06-09
1021Canada2024-05-31
1022Canada2024-06-17
1023France2024-06-05
1024France2024-06-21
1025Brazil2024-06-01
1026Canada2024-06-10
1027Russia2024-05-30
1028France2024-06-14
1029Australia2024-06-21
1030Italy2024-06-08
1031India2024-06-12
1032Germany2024-05-26
1033Spain2024-05-29
1034Japan2024-06-02
1035United Kingdom2024-05-29
1036Russia2024-06-17
1037Germany2024-06-11
1038Italy2024-06-13
1039Australia2024-06-14
1040Argentina2024-06-12
1041United Kingdom2024-06-08
1042Spain2024-05-26
1043Japan2024-06-10
1044United Kingdom2024-06-20
1045Canada2024-06-10
1046Australia2024-06-01
1047Australia2024-06-15
1048Canada2024-06-11
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Isabel C Poquette1000Brazil2024-06-19
Jeanfrancois J Venere1001Russia2024-06-02
Cody G Poquette1002Italy2024-06-03
Jeanfrancois B Flosi1003France2024-05-30
Isabel K Nicka1004Brazil2024-06-17
Cody T Oldroyd1005Canada2024-06-01
Johnson S Schemmer1006France2024-05-29
Francesco M Kusko1007Italy2024-05-30
Kaitlin C Poquette1008Brazil2024-06-12
Ashley Z Campain1009Argentina2024-06-11
Kaitlin N Wieser1010India2024-06-20
Kaitlin Q Rim1011Japan2024-06-01
Munro N Stockham1012Russia2024-05-28
Morrow M Morasca1013Germany2024-05-26
Claire D Rim1014Brazil2024-06-15
Darci T Glick1015India2024-05-29
Tony T Briddick1016Australia2024-05-29
Kadeem A Vocelka1017India2024-06-20
Murillo K Maclead1018Russia2024-06-11
Deepesh Z Stockham1019Japan2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha B ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood R AlbaresBrazilBernardo Dominic QUALIFIED
Morrow Y StensethAustraliaStephen Shaw PROPOSAL
Mayumi H DilliardArgentinaOnyama Limba PROPOSAL
David L PaprockiAustraliaStephen Shaw PROPOSAL
Maisha K KolmetzSpainElwin Sharvill NEGOTIATION
Aditya C SlusarskiRussiaXuxue Feng NEGOTIATION
Adams I KuskoIndiaAmy Elsner NEGOTIATION
Clifford L RulapaughGermanyAnna Fali QUALIFIED
Johnson E RutaGermanyOnyama Limba RENEWAL
Smith E RulapaughRussiaIoni Bowcher RENEWAL
Jeanfrancois I SlusarskiSpainIoni Bowcher QUALIFIED
Maria P CaldareraSpainOnyama Limba NEGOTIATION
Leon P FollerIndiaAnna Fali PROPOSAL
Adams U PaprockiFranceBernardo Dominic UNQUALIFIED
Emily A ShinkoCanadaElwin Sharvill QUALIFIED
Alejandro R InouyeIndiaBernardo Dominic PROPOSAL
Munro Z IturbideCanadaOnyama Limba NEW
Johnson C AlbaresItalyXuxue Feng NEW
Juan S BologniaRussiaElwin Sharvill RENEWAL
Greenwood M DarakjyIndiaElwin Sharvill NEW
Tony R NickaGermanyIvan Magalhaes QUALIFIED
Smith T SergiGermanyAsiya Javayant NEGOTIATION
Chavez V ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Antonio J CampainUnited KingdomIvan Magalhaes PROPOSAL
Jennifer E MorascaAustraliaElwin Sharvill RENEWAL
Mayumi B MaletArgentinaIoni Bowcher NEW
Greenwood E RimJapanIoni Bowcher QUALIFIED
David O SchemmerGermanyElwin Sharvill QUALIFIED
Aika S SaylorsUnited KingdomIoni Bowcher RENEWAL
Kaitlin T VenereItalyIvan Magalhaes NEW
Smith M FerenczArgentinaBernardo Dominic UNQUALIFIED
Salvatore U RulapaughSpainOnyama Limba NEGOTIATION
Jennifer H IturbideFranceXuxue Feng PROPOSAL
Mayumi F MorascaGermanyElwin Sharvill UNQUALIFIED
Munro U MaletSpainXuxue Feng NEW
Misaki M SlusarskiRussiaStephen Shaw NEGOTIATION
Adams E BriddickCanadaXuxue Feng UNQUALIFIED
Morrow R RutaIndiaStephen Shaw NEW
Kadeem U VocelkaRussiaXuxue Feng 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>