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
Stacey M RulapaughArgentinaAmy Elsner NEW
Alejandro D MacleadAustraliaBernardo Dominic NEGOTIATION
Arvin O PaprockiItalyStephen Shaw QUALIFIED
Silvio T CampainRussiaAmy Elsner PROPOSAL
Deepesh Y VenereGermanyBernardo Dominic UNQUALIFIED
Arvin N FollerGermanyAmy Elsner NEGOTIATION
Mujtaba V StockhamSpainElwin Sharvill NEW
Darci V ShinkoGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois C NestleJapanBernardo Dominic PROPOSAL
Greenwood N VenereGermanyAnna Fali NEW
Jeanfrancois F FlosiIndiaAsiya Javayant RENEWAL
Adams Y FollerItalyBernardo Dominic NEW
Ashley B VocelkaCanadaAmy Elsner RENEWAL
Jennifer U FollerAustraliaAmy Elsner NEW
Clifford A PerinFranceStephen Shaw QUALIFIED
Jefferson K MarrierItalyAmy Elsner RENEWAL
Deepesh C FlosiBrazilAnna Fali PROPOSAL
Izzy Y SergiArgentinaStephen Shaw PROPOSAL
Smith R StensethJapanStephen Shaw QUALIFIED
Morrow P RulapaughSpainOnyama Limba QUALIFIED
Sinclair P MaletFranceXuxue Feng NEGOTIATION
Jefferson F ChuiJapanIoni Bowcher NEW
Munro U WhobreyGermanyOnyama Limba NEGOTIATION
Stacey W GillianJapanAnna Fali UNQUALIFIED
Clifford L WieserGermanyStephen Shaw QUALIFIED
Claire M AlbaresGermanyAmy Elsner NEW
James M StockhamJapanAsiya Javayant PROPOSAL
Johnson B StockhamIndiaElwin Sharvill NEW
Francesco N RimArgentinaXuxue Feng UNQUALIFIED
Aditya V OldroydItalyStephen Shaw RENEWAL
Salvatore R RimUnited KingdomIvan Magalhaes QUALIFIED
Silvio U WaycottRussiaIvan Magalhaes NEGOTIATION
Faith D ButtSpainXuxue Feng NEW
Jefferson S MaletSpainIoni Bowcher RENEWAL
Leja Z FerenczUnited KingdomElwin Sharvill NEGOTIATION
Jones K CaudyGermanyBernardo Dominic UNQUALIFIED
Isabel P DarakjyFranceAsiya Javayant NEGOTIATION
Rodrigues Y InouyeFranceElwin Sharvill NEGOTIATION
Maria U ChuiFranceIvan Magalhaes UNQUALIFIED
Costa H VenereArgentinaXuxue Feng QUALIFIED
Kaitlin D WhobreyBrazilAnna Fali RENEWAL
Morrow U NestleGermanyXuxue Feng RENEWAL
Munro G OldroydSpainIoni Bowcher NEGOTIATION
James Y DarakjyFranceAnna Fali UNQUALIFIED
Jones T RutaAustraliaXuxue Feng QUALIFIED
Maisha H VenereItalyIoni Bowcher RENEWAL
Deepesh O FollerGermanyBernardo Dominic NEGOTIATION
Aruna W KolmetzSpainAnna Fali PROPOSAL
Morrow U MaletAustraliaAmy Elsner QUALIFIED
Chavez H WieserArgentinaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily G MarrierBrazilOnyama Limba NEGOTIATION
Octavia B StensethFranceBernardo Dominic UNQUALIFIED
Leja V FigeroaFranceStephen Shaw RENEWAL
Emily S InouyeBrazilIvan Magalhaes RENEWAL
Octavia N OstroskyJapanStephen Shaw RENEWAL
Morrow S FigeroaUnited KingdomAmy Elsner NEGOTIATION
Darci S SergiFranceElwin Sharvill PROPOSAL
Morrow T DoeCanadaStephen Shaw PROPOSAL
Murillo Z SchemmerAustraliaIoni Bowcher PROPOSAL
Ashley Q DilliardItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G OstroskyItaly2025-06-05King, Christopher A Esq QUALIFIED92Xuxue Feng
1001Kadeem J KolmetzRussia2025-06-04Feltz Printing Service UNQUALIFIED25Bernardo Dominic
1002Jennifer C BologniaSpain2025-05-19Buckley Miller Wright PROPOSAL14Stephen Shaw
1003Murillo X FerenczItaly2025-06-03King, Christopher A Esq QUALIFIED43Stephen Shaw
1004Silvio R BriddickGermany2025-05-24Chapman, Ross E Esq NEGOTIATION56Bernardo Dominic
1005Faith X NickaAustralia2025-05-27Chemel, James L Cpa UNQUALIFIED36Ioni Bowcher
1006Leon A ChuiIndia2025-05-28Rangoni Of Florence RENEWAL8Ioni Bowcher
1007Wickens A TollnerFrance2025-06-07Feiner Bros RENEWAL56Ioni Bowcher
1008Mayumi S PaprockiAustralia2025-06-12Commercial Press UNQUALIFIED55Amy Elsner
1009Aditya W SaylorsArgentina2025-06-01Chemel, James L Cpa NEW14Stephen Shaw
1010Aruna R PerinUnited Kingdom2025-06-09King, Christopher A Esq PROPOSAL0Onyama Limba
1011Jeanfrancois D CaudyBrazil2025-06-03Dorl, James J Esq RENEWAL95Bernardo Dominic
1012Silvio H RulapaughIndia2025-05-22Chanay, Jeffrey A Esq NEGOTIATION6Stephen Shaw
1013Rodrigues V DoeUnited Kingdom2025-05-27Benton, John B Jr NEW12Bernardo Dominic
1014Leja L AmigonFrance2025-06-14Morlong Associates NEW48Ioni Bowcher
1015Maria R GarufiCanada2025-05-30Chemel, James L Cpa QUALIFIED3Anna Fali
1016Arvin U SaylorsFrance2025-06-10Feltz Printing Service QUALIFIED19Xuxue Feng
1017Salvatore Y KuskoArgentina2025-05-23Feiner Bros NEGOTIATION56Amy Elsner
1018David W BriddickFrance2025-05-22Dorl, James J Esq NEGOTIATION17Ivan Magalhaes
1019Octavia I WieserGermany2025-06-13Rousseaux, Michael Esq PROPOSAL54Xuxue Feng
1020Jefferson L CampainIndia2025-06-15Dorl, James J Esq QUALIFIED75Stephen Shaw
1021Emily Q AmigonArgentina2025-05-29Chanay, Jeffrey A Esq UNQUALIFIED79Onyama Limba
1022Isabel W MaletCanada2025-06-11Chanay, Jeffrey A Esq PROPOSAL37Onyama Limba
1023Clifford A SergiUnited Kingdom2025-05-24Dorl, James J Esq UNQUALIFIED31Onyama Limba
1024Munro V VenereArgentina2025-06-12Truhlar And Truhlar Attys NEW2Ioni Bowcher
1025Claire I FerenczCanada2025-06-03Feltz Printing Service QUALIFIED1Stephen Shaw
1026Julie V BriddickUnited Kingdom2025-06-14King, Christopher A Esq NEW41Onyama Limba
1027Stacey P CaudySpain2025-05-27Dorl, James J Esq PROPOSAL61Asiya Javayant
1028Isabel C ButtCanada2025-05-28Benton, John B Jr RENEWAL63Stephen Shaw
1029Sinclair K MorascaCanada2025-05-27Rousseaux, Michael Esq QUALIFIED0Elwin Sharvill
1030Mujtaba Z WieserJapan2025-05-26Printing Dimensions PROPOSAL72Asiya Javayant
1031Jefferson L BriddickIndia2025-06-15Buckley Miller Wright QUALIFIED27Asiya Javayant
1032Isabel H FigeroaAustralia2025-05-26Rangoni Of Florence RENEWAL68Stephen Shaw
1033Kadeem C WieserFrance2025-06-07Dorl, James J Esq PROPOSAL52Stephen Shaw
1034Ricardo D KuskoSpain2025-06-03Feltz Printing Service QUALIFIED99Asiya Javayant
1035Misaki O MaletSpain2025-06-04Feiner Bros UNQUALIFIED15Ioni Bowcher
1036Tony S CampainJapan2025-05-28Rousseaux, Michael Esq QUALIFIED57Anna Fali
1037Arvin X ChuiJapan2025-05-22Truhlar And Truhlar Attys NEW73Asiya Javayant
1038Cody A IturbideRussia2025-06-11Chapman, Ross E Esq RENEWAL32Elwin Sharvill
1039Murillo I CaudyJapan2025-05-27Morlong Associates UNQUALIFIED12Xuxue Feng
1040Julie Z GarufiGermany2025-05-26Truhlar And Truhlar Attys NEGOTIATION16Anna Fali
1041Chavez G GarufiGermany2025-06-03Benton, John B Jr PROPOSAL65Elwin Sharvill
1042Faith X OstroskyIndia2025-05-27Chanay, Jeffrey A Esq RENEWAL32Xuxue Feng
1043Adams Z GauchoBrazil2025-05-25Feiner Bros NEGOTIATION4Bernardo Dominic
1044Adams P FerenczSpain2025-05-26King, Christopher A Esq PROPOSAL23Onyama Limba
1045Ricardo W RulapaughAustralia2025-06-05Feiner Bros NEW11Asiya Javayant
1046Isabel H SaylorsBrazil2025-05-30Benton, John B Jr NEW7Stephen Shaw
1047Darci G MacleadAustralia2025-06-11Chemel, James L Cpa NEW38Amy Elsner
1048Munro M SchemmerGermany2025-05-31Commercial Press NEW5Anna Fali
1049Clifford T FlosiGermany2025-05-31Benton, John B Jr QUALIFIED39Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ivar V GillianItalyXuxue Feng NEGOTIATION
Claire D GauchoRussiaIvan Magalhaes QUALIFIED
Wickens I SergiSpainAnna Fali QUALIFIED
Clifford H IturbideUnited KingdomIoni Bowcher PROPOSAL
Aika H SaylorsBrazilXuxue Feng UNQUALIFIED
Izzy A BologniaJapanAnna Fali QUALIFIED
Silvio N SlusarskiSpainOnyama Limba RENEWAL
Greenwood T PaprockiSpainIvan Magalhaes QUALIFIED
Ashley U CaudyGermanyElwin Sharvill NEGOTIATION
Isabel Y DilliardArgentinaIvan Magalhaes QUALIFIED
Julie Q MaletGermanyAnna Fali NEGOTIATION
Sinclair W DoeUnited KingdomIoni Bowcher UNQUALIFIED
Jones M MacleadIndiaElwin Sharvill PROPOSAL
Aruna T MaletRussiaElwin Sharvill RENEWAL
Kaitlin G GlickFranceAmy Elsner UNQUALIFIED
Jones V RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Costa X BologniaBrazilXuxue Feng RENEWAL
Deepesh G MaletFranceAnna Fali QUALIFIED
Juan Q GauchoUnited KingdomAmy Elsner QUALIFIED
Adams T AlbaresUnited KingdomAnna Fali NEGOTIATION
Johnson K VenereIndiaAsiya Javayant RENEWAL
Nicolas F SlusarskiGermanyOnyama Limba RENEWAL
Chavez O GillianIndiaOnyama Limba PROPOSAL
Jones G SlusarskiAustraliaIoni Bowcher NEW
Misaki S RulapaughGermanyBernardo Dominic QUALIFIED
Tony H ChuiFranceOnyama Limba UNQUALIFIED
Kaitlin M BriddickCanadaElwin Sharvill UNQUALIFIED
Leja J KuskoSpainIvan Magalhaes NEW
Salvatore P StensethBrazilIvan Magalhaes PROPOSAL
Darci G StockhamItalyAsiya Javayant UNQUALIFIED
Greenwood Y StockhamAustraliaElwin Sharvill QUALIFIED
Leon P CampainRussiaOnyama Limba RENEWAL
Julie Z GlickAustraliaOnyama Limba NEW
Jones U BowleyBrazilAnna Fali NEGOTIATION
Leja Q FlosiItalyAnna Fali RENEWAL
Sinclair W ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Aruna K ShinkoUnited KingdomIvan Magalhaes NEW
Salvatore B MacleadUnited KingdomBernardo Dominic RENEWAL
Murillo Q ShinkoUnited KingdomAmy Elsner PROPOSAL
Kadeem A FlosiUnited KingdomXuxue Feng PROPOSAL
Leja O InouyeJapanAmy Elsner QUALIFIED
Darci M BologniaCanadaIvan Magalhaes NEW
Francesco X BriddickUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois M SlusarskiIndiaXuxue Feng NEGOTIATION
Rodrigues S SchemmerJapanOnyama Limba NEGOTIATION
Isabel U RulapaughRussiaStephen Shaw QUALIFIED
Murillo L BowleyBrazilOnyama Limba RENEWAL
Maisha M OstroskyIndiaIvan Magalhaes NEW
Kaitlin R MaletAustraliaAsiya Javayant NEW
Octavia I MaletGermanyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Emily R Nicka
Octavia H Nicka
Tony I Flosi
Francesco N Chui
Rodrigues F Maclead
Morrow F Oldroyd
Leon F Ostrosky
Leja O Albares
Emily I Malet
Misaki S Schemmer
Smith S Inouye
Jennifer F Morasca
Greenwood S Nicka
Arvin D Nicka
Nicolas Y Venere
Claire V Garufi
Faith E Malet
Leja E Poquette
Aruna M Garufi
Julie C Gillian
Mayumi V Chui
Aruna V Rulapaugh
Murillo D Caldarera
Clifford R Caudy
Johnson Z Saylors
Claire F Waycott
Rodrigues S Ostrosky
Nicolas V Oldroyd
Antonio D Vocelka
Sinclair J Vocelka
Izzy N Dilliard
Murillo M Schemmer
Rodrigues M Malet
Tony U Briddick
David G Figeroa
Chavez M Venere
Maisha G Campain
Salvatore E Saylors
Jeanfrancois D Perin
Greenwood E Whobrey
Izzy K Whobrey
Greenwood U Kolmetz
Costa Q Ruta
Johnson S Dilliard
Jeanfrancois S Campain
Julie M Malet
Adams X Rulapaugh
Ivar Z Flosi
Julie T Campain
Arvin I Gaucho
IdCountryDate
1000Canada2025-05-31
1001Canada2025-05-21
1002United Kingdom2025-06-08
1003Italy2025-05-26
1004India2025-05-25
1005Brazil2025-05-31
1006Brazil2025-06-03
1007Japan2025-05-24
1008Argentina2025-06-04
1009Argentina2025-06-03
1010Brazil2025-06-14
1011India2025-05-29
1012Argentina2025-05-28
1013Spain2025-05-25
1014Argentina2025-06-11
1015France2025-05-25
1016Italy2025-06-05
1017Italy2025-06-08
1018Australia2025-05-20
1019India2025-06-12
1020France2025-06-13
1021Japan2025-05-22
1022Italy2025-06-13
1023Argentina2025-06-12
1024Argentina2025-06-02
1025Italy2025-06-09
1026Brazil2025-05-23
1027United Kingdom2025-06-02
1028Brazil2025-05-18
1029Brazil2025-06-09
1030Spain2025-05-25
1031Italy2025-06-04
1032Germany2025-05-25
1033Russia2025-06-13
1034United Kingdom2025-06-15
1035Canada2025-05-31
1036Italy2025-06-05
1037Italy2025-06-05
1038Germany2025-05-27
1039Spain2025-05-20
1040India2025-06-03
1041United Kingdom2025-05-25
1042Canada2025-05-17
1043United Kingdom2025-06-03
1044Italy2025-06-06
1045India2025-06-06
1046India2025-05-27
1047United Kingdom2025-05-22
1048India2025-06-09
1049Russia2025-06-13

On-Demand Data

NameIdCountryDate
Johnson N Stenseth1000Australia2025-06-05
Leon D Venere1001Spain2025-05-17
Costa X Maclead1002France2025-05-19
Maria P Darakjy1003Argentina2025-05-20
Julie M Sergi1004Argentina2025-05-28
David R Campain1005Italy2025-06-04
Ricardo K Marrier1006France2025-06-12
Alejandro D Malet1007Spain2025-05-29
Kaitlin S Malet1008Brazil2025-06-10
Aditya K Foller1009Brazil2025-05-23
Darci O Vocelka1010Canada2025-05-23
Ashley R Paprocki1011Argentina2025-05-31
Arvin M Inouye1012Canada2025-05-25
Morrow H Kusko1013India2025-05-20
Adams Q Shinko1014Italy2025-06-07
Juan S Paprocki1015Italy2025-06-04
Arvin R Nestle1016United Kingdom2025-06-03
Clifford M Darakjy1017France2025-06-13
Aditya A Inouye1018Russia2025-06-10
Misaki C Venere1019Spain2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh E WaycottBrazilIoni Bowcher NEGOTIATION
Juan G StockhamIndiaAnna Fali NEW
Leja G CaudyBrazilIvan Magalhaes UNQUALIFIED
Munro D FigeroaUnited KingdomAnna Fali UNQUALIFIED
Isabel O GlickArgentinaAnna Fali PROPOSAL
Jones W GillianItalyIoni Bowcher QUALIFIED
Claire G StockhamFranceBernardo Dominic NEGOTIATION
Jeanfrancois I FlosiCanadaAsiya Javayant PROPOSAL
Antonio A RimSpainStephen Shaw UNQUALIFIED
Jeanfrancois Q GlickItalyElwin Sharvill UNQUALIFIED
Rodrigues Q SlusarskiUnited KingdomAnna Fali NEGOTIATION
Emily U ShinkoUnited KingdomXuxue Feng QUALIFIED
Claire H NestleFranceXuxue Feng RENEWAL
Jeanfrancois H RimAustraliaElwin Sharvill PROPOSAL
Greenwood T BriddickUnited KingdomAmy Elsner UNQUALIFIED
James Z RimIndiaAmy Elsner RENEWAL
Isabel Q FlosiBrazilAnna Fali QUALIFIED
Chavez Q OstroskyJapanBernardo Dominic UNQUALIFIED
Maria X ButtSpainIvan Magalhaes RENEWAL
Aditya R StensethUnited KingdomBernardo Dominic NEW
Costa Q ButtIndiaAnna Fali NEGOTIATION
Rodrigues K MorascaItalyAnna Fali QUALIFIED
Silvio B StockhamGermanyAnna Fali NEW
Rodrigues Q WhobreyGermanyAmy Elsner RENEWAL
Silvio B AlbaresSpainOnyama Limba NEGOTIATION
Deepesh X NestleIndiaStephen Shaw NEW
Smith J KuskoAustraliaIoni Bowcher PROPOSAL
Jones I MaletUnited KingdomAnna Fali RENEWAL
Isabel D MorascaIndiaAmy Elsner UNQUALIFIED
Julie C RutaCanadaBernardo Dominic UNQUALIFIED
Antonio T MarrierArgentinaElwin Sharvill UNQUALIFIED
Emily O InouyeJapanOnyama Limba RENEWAL
Johnson E KolmetzRussiaBernardo Dominic NEW
Deepesh V StensethRussiaIvan Magalhaes NEGOTIATION
Julie V DarakjyGermanyAnna Fali QUALIFIED
Salvatore Y FigeroaJapanIoni Bowcher NEW
Maisha C PoquetteIndiaXuxue Feng QUALIFIED
Ivar H RoysterArgentinaStephen Shaw QUALIFIED
Julie S OstroskyIndiaBernardo Dominic QUALIFIED
Chavez C CampainUnited KingdomIoni Bowcher UNQUALIFIED

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