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
Jeanfrancois A MaletRussiaBernardo Dominic NEW
Claire M CaudyRussiaStephen Shaw QUALIFIED
Juan C MorascaAustraliaStephen Shaw UNQUALIFIED
Chavez D CaldareraBrazilIvan Magalhaes NEW
Deepesh J StockhamCanadaAnna Fali PROPOSAL
Rodrigues R IturbideBrazilAmy Elsner NEGOTIATION
Aruna Z AmigonFranceStephen Shaw UNQUALIFIED
Julie T RulapaughFranceBernardo Dominic PROPOSAL
Claire D RutaArgentinaOnyama Limba NEGOTIATION
Ivar S MorascaUnited KingdomIoni Bowcher NEW
Rodrigues W VocelkaSpainStephen Shaw NEW
Johnson A RulapaughGermanyAnna Fali NEW
Ashley C FigeroaArgentinaAnna Fali QUALIFIED
Misaki Q PoquetteItalyStephen Shaw RENEWAL
Ivar Z FollerIndiaXuxue Feng NEW
Munro X RulapaughAustraliaAmy Elsner RENEWAL
Francesco K GauchoRussiaElwin Sharvill NEGOTIATION
Antonio X BowleyAustraliaOnyama Limba NEW
Sinclair X GauchoIndiaStephen Shaw QUALIFIED
Sinclair Z DilliardBrazilAmy Elsner UNQUALIFIED
Kadeem J InouyeArgentinaIoni Bowcher PROPOSAL
Maisha N BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Stacey W BologniaArgentinaElwin Sharvill RENEWAL
Aruna U FlosiSpainStephen Shaw NEW
Francesco Y InouyeRussiaIoni Bowcher RENEWAL
Aditya V SchemmerAustraliaXuxue Feng RENEWAL
Mayumi V WhobreyUnited KingdomBernardo Dominic NEW
Mujtaba K PoquetteUnited KingdomOnyama Limba QUALIFIED
Ricardo Q OldroydFranceElwin Sharvill NEGOTIATION
Jefferson B KuskoCanadaElwin Sharvill PROPOSAL
David E DoeFranceAnna Fali UNQUALIFIED
Julie D MarrierUnited KingdomAsiya Javayant NEGOTIATION
Arvin S MarrierSpainAmy Elsner QUALIFIED
Jones B PaprockiBrazilOnyama Limba NEW
Octavia T NestleGermanyOnyama Limba PROPOSAL
Jones F StensethGermanyElwin Sharvill NEGOTIATION
Maisha T AmigonRussiaIoni Bowcher NEW
Munro F MorascaAustraliaAsiya Javayant PROPOSAL
Nicolas K SaylorsUnited KingdomAnna Fali NEGOTIATION
Maria W RutaCanadaAnna Fali NEGOTIATION
Jefferson D GillianIndiaBernardo Dominic QUALIFIED
Jeanfrancois W FerenczCanadaAsiya Javayant QUALIFIED
Isabel A WaycottRussiaIvan Magalhaes NEW
David E KuskoCanadaAmy Elsner NEW
Munro A FollerArgentinaIoni Bowcher RENEWAL
Chavez C PoquetteUnited KingdomAsiya Javayant NEW
Munro H FlosiFranceAsiya Javayant QUALIFIED
Leja O BriddickSpainIvan Magalhaes RENEWAL
Jeanfrancois Q AlbaresBrazilIoni Bowcher NEW
Sinclair Z WieserRussiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci L DilliardUnited KingdomElwin Sharvill PROPOSAL
Ivar A BowleyIndiaIoni Bowcher PROPOSAL
Claire U FerenczAustraliaStephen Shaw NEW
Julie J PoquetteUnited KingdomIvan Magalhaes NEW
Stacey V GarufiSpainIoni Bowcher UNQUALIFIED
Isabel W FerenczCanadaIoni Bowcher PROPOSAL
Murillo Z DilliardCanadaAsiya Javayant QUALIFIED
Emily H PaprockiSpainAsiya Javayant QUALIFIED
Deepesh R PaprockiAustraliaXuxue Feng UNQUALIFIED
David G GauchoArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie C PaprockiUnited Kingdom2025-04-04King, Christopher A Esq RENEWAL79Ioni Bowcher
1001Mayumi W FigeroaRussia2025-04-28Chanay, Jeffrey A Esq PROPOSAL91Asiya Javayant
1002Ivar E GauchoSpain2025-04-16Morlong Associates QUALIFIED3Elwin Sharvill
1003Claire A RoysterArgentina2025-04-19Dorl, James J Esq QUALIFIED48Bernardo Dominic
1004Morrow Z CaldareraGermany2025-04-13Chanay, Jeffrey A Esq PROPOSAL42Elwin Sharvill
1005Adams R SlusarskiJapan2025-04-14Benton, John B Jr NEGOTIATION46Anna Fali
1006Faith Y VocelkaRussia2025-04-19King, Christopher A Esq PROPOSAL86Bernardo Dominic
1007Alejandro L SlusarskiIndia2025-04-05Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1008Ricardo K ButtGermany2025-04-06Rousseaux, Michael Esq PROPOSAL33Anna Fali
1009Morrow O FollerBrazil2025-04-29Commercial Press NEGOTIATION22Onyama Limba
1010Ivar R DarakjyRussia2025-04-27Chanay, Jeffrey A Esq PROPOSAL16Elwin Sharvill
1011Ashley T GarufiUnited Kingdom2025-04-18Benton, John B Jr NEGOTIATION32Onyama Limba
1012Adams N OldroydCanada2025-04-23Chapman, Ross E Esq QUALIFIED83Onyama Limba
1013Antonio F MaletGermany2025-04-28Feltz Printing Service NEW34Amy Elsner
1014Greenwood O RimBrazil2025-04-14Benton, John B Jr QUALIFIED81Xuxue Feng
1015Salvatore C StensethArgentina2025-04-28Rangoni Of Florence NEGOTIATION89Onyama Limba
1016Jennifer M MaletItaly2025-04-07Rousseaux, Michael Esq QUALIFIED13Asiya Javayant
1017Francesco G DarakjyItaly2025-04-08Buckley Miller Wright RENEWAL74Asiya Javayant
1018Aruna J ShinkoCanada2025-04-17Chanay, Jeffrey A Esq RENEWAL16Bernardo Dominic
1019Izzy W MaletRussia2025-04-07Chemel, James L Cpa RENEWAL37Bernardo Dominic
1020Wickens N MorascaRussia2025-04-11Morlong Associates PROPOSAL0Bernardo Dominic
1021Juan O CaldareraFrance2025-04-01King, Christopher A Esq UNQUALIFIED18Xuxue Feng
1022Clifford Q DoeSpain2025-04-25Chanay, Jeffrey A Esq RENEWAL23Elwin Sharvill
1023Deepesh Y NestleItaly2025-04-02Morlong Associates NEW26Onyama Limba
1024Maisha N GillianItaly2025-04-11Benton, John B Jr QUALIFIED57Stephen Shaw
1025Greenwood L BowleyUnited Kingdom2025-04-13Feiner Bros NEW31Elwin Sharvill
1026Francesco V BriddickUnited Kingdom2025-04-26Commercial Press NEGOTIATION10Elwin Sharvill
1027Adams E MarrierRussia2025-04-22Printing Dimensions QUALIFIED78Ivan Magalhaes
1028Ivar I OstroskyFrance2025-04-30King, Christopher A Esq PROPOSAL62Amy Elsner
1029Jennifer C SchemmerBrazil2025-04-10King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1030Greenwood J ShinkoUnited Kingdom2025-04-03Morlong Associates NEW85Xuxue Feng
1031Aika O KuskoUnited Kingdom2025-04-30Commercial Press UNQUALIFIED93Xuxue Feng
1032Morrow U MorascaArgentina2025-04-30Morlong Associates QUALIFIED84Elwin Sharvill
1033Nicolas O FerenczRussia2025-04-19Dorl, James J Esq NEGOTIATION98Asiya Javayant
1034Smith D WieserCanada2025-04-26Rangoni Of Florence RENEWAL85Elwin Sharvill
1035Costa X GarufiSpain2025-04-29Printing Dimensions NEGOTIATION0Anna Fali
1036Alejandro M MaletArgentina2025-04-24Dorl, James J Esq UNQUALIFIED22Amy Elsner
1037Salvatore Q GlickJapan2025-04-07Printing Dimensions RENEWAL49Ivan Magalhaes
1038Francesco K SergiArgentina2025-04-02Rousseaux, Michael Esq NEW12Bernardo Dominic
1039Sinclair S GillianArgentina2025-04-08Commercial Press QUALIFIED43Bernardo Dominic
1040Adams C PerinItaly2025-04-11Benton, John B Jr QUALIFIED64Stephen Shaw
1041Jefferson D CampainAustralia2025-04-06Chemel, James L Cpa RENEWAL56Bernardo Dominic
1042Antonio K FlosiSpain2025-04-07Morlong Associates QUALIFIED44Ioni Bowcher
1043Mujtaba I CaudyGermany2025-04-27Benton, John B Jr UNQUALIFIED41Stephen Shaw
1044Francesco N CampainItaly2025-04-11Feltz Printing Service NEGOTIATION56Amy Elsner
1045Greenwood V OldroydUnited Kingdom2025-04-19Dorl, James J Esq RENEWAL1Asiya Javayant
1046Ivar I KuskoRussia2025-04-09Buckley Miller Wright PROPOSAL5Onyama Limba
1047Deepesh A GarufiBrazil2025-04-20Commercial Press UNQUALIFIED54Onyama Limba
1048Leon Z ChuiGermany2025-04-16Chemel, James L Cpa NEGOTIATION60Elwin Sharvill
1049Kaitlin O SlusarskiArgentina2025-04-24Rousseaux, Michael Esq NEGOTIATION27Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith F FerenczBrazilAnna Fali PROPOSAL
Maisha M VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Emily A RutaAustraliaXuxue Feng NEGOTIATION
Mayumi L PaprockiJapanIoni Bowcher QUALIFIED
Jones V PaprockiArgentinaXuxue Feng UNQUALIFIED
Ricardo X GarufiCanadaAmy Elsner NEW
Leon X BriddickRussiaAsiya Javayant RENEWAL
Rodrigues R VocelkaUnited KingdomAnna Fali QUALIFIED
Deepesh I StensethBrazilStephen Shaw RENEWAL
Morrow L DarakjyArgentinaAsiya Javayant NEGOTIATION
Sinclair V RimSpainAnna Fali NEW
Nicolas N PaprockiIndiaIoni Bowcher QUALIFIED
Nicolas Z NestleRussiaOnyama Limba PROPOSAL
Ricardo T KolmetzUnited KingdomAsiya Javayant NEW
Tony Y BriddickUnited KingdomXuxue Feng NEGOTIATION
Smith L PerinArgentinaIoni Bowcher PROPOSAL
Aruna G RulapaughBrazilAnna Fali NEGOTIATION
Nicolas D SergiItalyIoni Bowcher NEW
Aruna B WaycottUnited KingdomElwin Sharvill NEGOTIATION
Claire A GillianJapanIvan Magalhaes RENEWAL
Juan A MarrierSpainXuxue Feng PROPOSAL
Rodrigues X WhobreyItalyIoni Bowcher NEW
Arvin Z MaletJapanIvan Magalhaes NEGOTIATION
Kaitlin V KuskoRussiaIoni Bowcher NEW
Jeanfrancois T OldroydJapanBernardo Dominic PROPOSAL
Alejandro O FigeroaAustraliaBernardo Dominic NEW
Salvatore G NestleGermanyXuxue Feng RENEWAL
Emily Q GauchoUnited KingdomOnyama Limba RENEWAL
Maisha L BowleyCanadaElwin Sharvill NEW
Aruna T SchemmerAustraliaIoni Bowcher NEGOTIATION
Rodrigues C StensethUnited KingdomAsiya Javayant UNQUALIFIED
Jones K FlosiIndiaIvan Magalhaes NEGOTIATION
Kaitlin R AmigonGermanyIvan Magalhaes PROPOSAL
Clifford J NestleIndiaIoni Bowcher NEW
Antonio D ShinkoAustraliaElwin Sharvill QUALIFIED
Salvatore C BowleyUnited KingdomAnna Fali NEW
Stacey C OldroydGermanyAsiya Javayant NEW
Johnson V ShinkoSpainStephen Shaw RENEWAL
Sinclair X KolmetzJapanIoni Bowcher QUALIFIED
Kadeem S MaletCanadaAnna Fali NEW
Silvio U BowleyItalyAnna Fali NEGOTIATION
Mujtaba N BowleyIndiaAmy Elsner UNQUALIFIED
Faith K CampainGermanyAnna Fali UNQUALIFIED
Mayumi Q BriddickIndiaIvan Magalhaes UNQUALIFIED
Darci T WieserUnited KingdomAmy Elsner RENEWAL
Claire A KuskoFranceBernardo Dominic QUALIFIED
Cody S SlusarskiBrazilAmy Elsner NEW
Stacey Z AmigonIndiaAnna Fali RENEWAL
Cody C GarufiRussiaAsiya Javayant RENEWAL
Claire O TollnerUnited KingdomBernardo Dominic NEW
Frozen Columns
Name
Aika X Iturbide
Jefferson E Chui
Ivar P Tollner
Jeanfrancois C Rulapaugh
Sinclair A Chui
Chavez P Royster
Clifford E Oldroyd
Jeanfrancois Z Inouye
Alejandro H Ruta
Francesco Y Vocelka
Costa N Gaucho
James Z Stockham
Greenwood I Wieser
Ricardo I Gaucho
Izzy T Malet
Arvin U Butt
Morrow O Butt
Jeanfrancois O Ferencz
Ashley T Perin
Ashley Q Iturbide
David S Sergi
Mujtaba M Slusarski
Smith Q Chui
Leon E Dilliard
Wickens X Malet
Francesco P Doe
Silvio V Nicka
Darci O Shinko
Cody F Flosi
Claire N Caldarera
Mayumi I Kusko
Maria D Bowley
Wickens N Albares
Aika O Flosi
Ashley B Iturbide
Leon J Perin
Murillo V Foller
Octavia Y Paprocki
Jennifer X Glick
Morrow E Ostrosky
Arvin N Tollner
Misaki G Amigon
Faith L Flosi
Juan D Marrier
Faith A Sergi
Mujtaba A Saylors
Kadeem S Iturbide
Murillo O Stockham
Smith V Bolognia
Salvatore M Garufi
IdCountryDate
1000Australia2025-04-07
1001India2025-04-26
1002Spain2025-04-10
1003Spain2025-04-27
1004Brazil2025-04-14
1005Canada2025-04-20
1006United Kingdom2025-04-27
1007Argentina2025-04-14
1008Spain2025-04-27
1009Russia2025-04-10
1010United Kingdom2025-04-20
1011Australia2025-04-26
1012United Kingdom2025-04-30
1013Australia2025-04-23
1014Australia2025-04-29
1015Australia2025-04-13
1016Germany2025-04-25
1017Russia2025-04-29
1018Germany2025-04-30
1019Spain2025-04-18
1020Spain2025-04-11
1021Brazil2025-04-23
1022India2025-04-11
1023Brazil2025-04-16
1024Germany2025-04-18
1025Japan2025-04-25
1026Spain2025-04-25
1027Russia2025-04-18
1028France2025-04-28
1029India2025-04-10
1030Argentina2025-04-16
1031Brazil2025-04-02
1032Argentina2025-04-13
1033Russia2025-04-18
1034India2025-04-09
1035Canada2025-04-09
1036Russia2025-04-22
1037Russia2025-04-15
1038France2025-04-05
1039Russia2025-04-03
1040Russia2025-04-05
1041India2025-04-06
1042Argentina2025-04-27
1043Canada2025-04-10
1044Australia2025-04-25
1045India2025-04-24
1046Italy2025-04-24
1047Germany2025-04-17
1048Italy2025-04-29
1049Germany2025-04-24

On-Demand Data

NameIdCountryDate
Smith M Chui1000Germany2025-04-15
Maisha I Doe1001Spain2025-04-11
Jennifer U Caldarera1002Brazil2025-04-05
Ricardo R Bolognia1003Russia2025-04-01
Sinclair X Schemmer1004Russia2025-04-14
Munro T Stockham1005India2025-04-12
Emily U Dilliard1006Canada2025-04-27
Deepesh U Schemmer1007Italy2025-04-26
Adams D Rim1008Brazil2025-04-11
Jeanfrancois N Nicka1009Brazil2025-04-24
Jennifer T Caudy1010United Kingdom2025-04-07
Tony Z Tollner1011Japan2025-04-25
Ivar I Bowley1012Russia2025-04-16
Smith L Wieser1013Germany2025-04-14
Julie U Gillian1014Argentina2025-04-16
Darci B Albares1015India2025-04-07
Ricardo A Caldarera1016Argentina2025-04-20
Clifford K Shinko1017India2025-04-19
Deepesh I Caldarera1018India2025-04-09
Costa R Vocelka1019Argentina2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas B KuskoJapanAsiya Javayant PROPOSAL
Kadeem V WaycottJapanAmy Elsner NEGOTIATION
Cody Y PaprockiBrazilAnna Fali UNQUALIFIED
Mayumi P MarrierUnited KingdomAmy Elsner NEGOTIATION
Morrow F SergiFranceIvan Magalhaes QUALIFIED
Costa J RutaArgentinaIvan Magalhaes RENEWAL
Salvatore O ChuiUnited KingdomAmy Elsner QUALIFIED
Misaki V KuskoUnited KingdomAmy Elsner RENEWAL
Morrow E DilliardBrazilIoni Bowcher QUALIFIED
Nicolas R ButtAustraliaAmy Elsner RENEWAL
Nicolas Y VenereFranceElwin Sharvill UNQUALIFIED
Octavia O DilliardBrazilBernardo Dominic PROPOSAL
Salvatore H DoeArgentinaIvan Magalhaes NEGOTIATION
Ashley I InouyeBrazilAsiya Javayant NEW
Salvatore E NickaArgentinaXuxue Feng NEW
Maria T SchemmerJapanBernardo Dominic PROPOSAL
Greenwood E OstroskyJapanIvan Magalhaes PROPOSAL
Ivar Y KuskoFranceBernardo Dominic PROPOSAL
Octavia Z FollerRussiaIoni Bowcher UNQUALIFIED
Mujtaba S BriddickItalyAsiya Javayant PROPOSAL
Alejandro Q ShinkoRussiaOnyama Limba UNQUALIFIED
Adams Y DarakjyGermanyIoni Bowcher RENEWAL
David G VocelkaJapanAsiya Javayant QUALIFIED
Deepesh F MaletJapanOnyama Limba QUALIFIED
Greenwood V VocelkaCanadaStephen Shaw UNQUALIFIED
Salvatore N GauchoAustraliaAnna Fali UNQUALIFIED
Costa Q GlickSpainBernardo Dominic NEW
Rodrigues B AmigonUnited KingdomStephen Shaw QUALIFIED
Salvatore B SergiUnited KingdomElwin Sharvill QUALIFIED
Misaki K GlickRussiaElwin Sharvill UNQUALIFIED
Ivar K VocelkaBrazilIvan Magalhaes NEW
Leja B TollnerRussiaIvan Magalhaes QUALIFIED
Cody L ButtIndiaElwin Sharvill UNQUALIFIED
Salvatore I BowleyRussiaOnyama Limba QUALIFIED
Aruna F BriddickAustraliaXuxue Feng PROPOSAL
Cody T AlbaresRussiaXuxue Feng NEW
Cody S ButtGermanyAmy Elsner RENEWAL
Isabel M AmigonRussiaAsiya Javayant NEW
Izzy L AlbaresItalyAmy Elsner QUALIFIED
Francesco V WaycottFranceStephen Shaw QUALIFIED

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