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
Leja D GlickArgentinaOnyama Limba NEGOTIATION
Clifford S PaprockiItalyXuxue Feng UNQUALIFIED
Rodrigues Q BologniaUnited KingdomElwin Sharvill QUALIFIED
David A MacleadIndiaIvan Magalhaes NEGOTIATION
Leon F BriddickBrazilAmy Elsner QUALIFIED
Maria C PerinUnited KingdomElwin Sharvill UNQUALIFIED
Silvio O KuskoCanadaBernardo Dominic NEGOTIATION
Octavia X MarrierBrazilAsiya Javayant NEGOTIATION
Alejandro A FerenczRussiaAsiya Javayant QUALIFIED
Rodrigues W DoeItalyAmy Elsner UNQUALIFIED
Kaitlin H RulapaughAustraliaAsiya Javayant NEGOTIATION
Jones X DilliardGermanyOnyama Limba RENEWAL
Ashley P SlusarskiItalyStephen Shaw UNQUALIFIED
Izzy E IturbideRussiaIoni Bowcher PROPOSAL
Leja A OstroskySpainXuxue Feng NEGOTIATION
Maria O CaldareraItalyAnna Fali PROPOSAL
Cody M SlusarskiArgentinaStephen Shaw QUALIFIED
Alejandro O RutaIndiaXuxue Feng UNQUALIFIED
Izzy R ButtUnited KingdomAsiya Javayant NEGOTIATION
Stacey P StockhamGermanyBernardo Dominic RENEWAL
Ashley B RoysterFranceIvan Magalhaes PROPOSAL
Kaitlin F ShinkoAustraliaBernardo Dominic NEGOTIATION
Leon K DoeGermanyOnyama Limba NEW
Clifford A IturbideArgentinaStephen Shaw NEW
Chavez K PerinIndiaIvan Magalhaes NEW
Murillo J GarufiFranceAsiya Javayant QUALIFIED
Clifford S AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Aika S AmigonItalyAsiya Javayant RENEWAL
Leon E DoeSpainXuxue Feng NEGOTIATION
Salvatore C CampainRussiaStephen Shaw NEW
Octavia B GarufiGermanyIoni Bowcher NEW
Kadeem G WieserCanadaIoni Bowcher QUALIFIED
Julie Y KolmetzAustraliaXuxue Feng UNQUALIFIED
Maria C WaycottArgentinaIoni Bowcher RENEWAL
Darci A CampainCanadaElwin Sharvill QUALIFIED
Stacey I SchemmerJapanXuxue Feng RENEWAL
Silvio K CaldareraJapanIoni Bowcher PROPOSAL
Nicolas A AlbaresJapanElwin Sharvill NEW
Ivar S OstroskyBrazilXuxue Feng UNQUALIFIED
Nicolas A StensethSpainStephen Shaw RENEWAL
Cody L GillianItalyXuxue Feng NEW
Juan J ChuiRussiaIoni Bowcher PROPOSAL
Greenwood H ShinkoBrazilAmy Elsner UNQUALIFIED
Wickens L RutaArgentinaAmy Elsner NEGOTIATION
Ashley C GillianItalyIoni Bowcher RENEWAL
Wickens W NestleBrazilBernardo Dominic NEGOTIATION
Jones H MacleadCanadaXuxue Feng UNQUALIFIED
Silvio U VenereUnited KingdomStephen Shaw NEW
Aditya X CaudyJapanAmy Elsner QUALIFIED
Silvio S OldroydJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio R NickaArgentinaXuxue Feng NEW
Adams M StensethItalyOnyama Limba NEGOTIATION
Emily N NestleFranceAmy Elsner QUALIFIED
Francesco R PoquetteArgentinaIoni Bowcher NEW
Jones I CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson U NickaBrazilStephen Shaw PROPOSAL
Claire R BowleyCanadaIvan Magalhaes NEW
Silvio E CaudySpainXuxue Feng RENEWAL
Jefferson C StensethJapanBernardo Dominic RENEWAL
Mujtaba C DoeArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily N DoeBrazil2024-06-03Commercial Press QUALIFIED94Asiya Javayant
1001Juan P BologniaUnited Kingdom2024-06-09Benton, John B Jr UNQUALIFIED70Ivan Magalhaes
1002Smith R DarakjyItaly2024-05-25King, Christopher A Esq QUALIFIED96Onyama Limba
1003Aditya X FerenczItaly2024-06-15Rousseaux, Michael Esq QUALIFIED16Ivan Magalhaes
1004Greenwood Z FerenczItaly2024-05-24Buckley Miller Wright PROPOSAL9Onyama Limba
1005Nicolas V PaprockiItaly2024-05-30King, Christopher A Esq UNQUALIFIED34Ioni Bowcher
1006Morrow A CaudyItaly2024-06-17Feltz Printing Service NEGOTIATION62Bernardo Dominic
1007Darci Y RoysterItaly2024-05-26Commercial Press NEW80Elwin Sharvill
1008Cody U KolmetzArgentina2024-06-17King, Christopher A Esq NEW22Amy Elsner
1009Wickens G KuskoBrazil2024-06-03Rangoni Of Florence RENEWAL12Stephen Shaw
1010Smith A ShinkoBrazil2024-06-13Morlong Associates NEW79Elwin Sharvill
1011Salvatore J ButtIndia2024-05-28Chapman, Ross E Esq QUALIFIED11Onyama Limba
1012Jeanfrancois J RulapaughArgentina2024-06-19Chapman, Ross E Esq NEGOTIATION89Amy Elsner
1013Ivar J WieserCanada2024-06-14Chanay, Jeffrey A Esq NEW86Anna Fali
1014Maisha M MarrierGermany2024-06-02Benton, John B Jr PROPOSAL57Ivan Magalhaes
1015Leja V FerenczBrazil2024-06-10Chanay, Jeffrey A Esq NEW40Xuxue Feng
1016Salvatore K DarakjyCanada2024-06-15Feiner Bros PROPOSAL52Xuxue Feng
1017Arvin X WhobreyArgentina2024-05-30Benton, John B Jr QUALIFIED56Ivan Magalhaes
1018Munro L KolmetzItaly2024-06-21Benton, John B Jr NEGOTIATION30Stephen Shaw
1019Francesco A DoeCanada2024-06-04Feltz Printing Service NEW88Stephen Shaw
1020Costa L RutaGermany2024-06-05Commercial Press NEGOTIATION64Anna Fali
1021Francesco A IturbideItaly2024-05-25Commercial Press NEGOTIATION26Elwin Sharvill
1022Silvio J FerenczFrance2024-06-05Feiner Bros QUALIFIED15Anna Fali
1023Stacey A PerinJapan2024-06-20Printing Dimensions NEGOTIATION7Anna Fali
1024Isabel G MaletGermany2024-05-25Truhlar And Truhlar Attys UNQUALIFIED77Asiya Javayant
1025Silvio C MarrierIndia2024-05-28Feltz Printing Service RENEWAL88Anna Fali
1026Kadeem H RoysterArgentina2024-06-18Buckley Miller Wright NEGOTIATION3Ivan Magalhaes
1027Smith N AlbaresCanada2024-05-24King, Christopher A Esq NEW72Elwin Sharvill
1028Jeanfrancois B RoysterIndia2024-05-31Rangoni Of Florence PROPOSAL69Ivan Magalhaes
1029Johnson U NestleGermany2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED77Amy Elsner
1030Mujtaba A InouyeIndia2024-06-04Truhlar And Truhlar Attys QUALIFIED55Ivan Magalhaes
1031Mujtaba E MaletUnited Kingdom2024-06-18Truhlar And Truhlar Attys NEGOTIATION11Stephen Shaw
1032Chavez V BriddickSpain2024-05-27Chapman, Ross E Esq PROPOSAL96Ioni Bowcher
1033Smith O CaudyRussia2024-06-05King, Christopher A Esq RENEWAL31Onyama Limba
1034Ashley W BriddickGermany2024-06-22Feiner Bros NEW54Stephen Shaw
1035Ashley Y CaldareraCanada2024-06-07Printing Dimensions UNQUALIFIED30Stephen Shaw
1036Ricardo V InouyeIndia2024-06-15Printing Dimensions PROPOSAL88Ioni Bowcher
1037Tony I CampainCanada2024-05-24Benton, John B Jr UNQUALIFIED28Elwin Sharvill
1038Octavia Q KuskoAustralia2024-05-24Printing Dimensions NEW99Elwin Sharvill
1039Jeanfrancois K StockhamIndia2024-06-11Chapman, Ross E Esq QUALIFIED10Amy Elsner
1040Stacey U OstroskyGermany2024-06-05Chanay, Jeffrey A Esq PROPOSAL21Amy Elsner
1041Arvin F ChuiAustralia2024-06-16Morlong Associates QUALIFIED95Ioni Bowcher
1042Wickens K DilliardRussia2024-05-31Feltz Printing Service NEW84Ivan Magalhaes
1043Costa O GauchoAustralia2024-06-02Printing Dimensions NEW77Amy Elsner
1044Nicolas X PaprockiArgentina2024-06-09Dorl, James J Esq PROPOSAL74Onyama Limba
1045Julie R StockhamArgentina2024-06-19Chapman, Ross E Esq UNQUALIFIED82Bernardo Dominic
1046Ivar D WaycottUnited Kingdom2024-06-11Dorl, James J Esq UNQUALIFIED57Bernardo Dominic
1047Adams W CaudySpain2024-06-18Truhlar And Truhlar Attys NEW90Asiya Javayant
1048Stacey H PerinItaly2024-06-02Chanay, Jeffrey A Esq PROPOSAL99Elwin Sharvill
1049Munro E MacleadFrance2024-06-01Chanay, Jeffrey A Esq QUALIFIED54Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kadeem S SlusarskiJapanOnyama Limba QUALIFIED
Francesco X InouyeArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin U FerenczArgentinaElwin Sharvill NEGOTIATION
David Y FerenczRussiaAmy Elsner NEW
Smith S KolmetzAustraliaStephen Shaw RENEWAL
Morrow R BologniaIndiaXuxue Feng QUALIFIED
Chavez I BowleyAustraliaAnna Fali NEGOTIATION
Francesco C SlusarskiArgentinaIvan Magalhaes PROPOSAL
Claire G FollerGermanyAsiya Javayant RENEWAL
Adams S GauchoUnited KingdomBernardo Dominic QUALIFIED
Ivar T ShinkoAustraliaIoni Bowcher UNQUALIFIED
Mujtaba X CaudyArgentinaStephen Shaw PROPOSAL
Clifford Y DilliardAustraliaBernardo Dominic UNQUALIFIED
Isabel I ButtCanadaIoni Bowcher UNQUALIFIED
Isabel Y NickaArgentinaAmy Elsner NEGOTIATION
Rodrigues Y MaletAustraliaIvan Magalhaes NEGOTIATION
Juan R PaprockiRussiaIvan Magalhaes NEGOTIATION
Kaitlin M WhobreyGermanyAmy Elsner NEW
Jennifer N GillianIndiaIvan Magalhaes NEGOTIATION
Mujtaba A BriddickAustraliaElwin Sharvill NEGOTIATION
Ashley Q RutaCanadaXuxue Feng NEW
Munro S WhobreyJapanIoni Bowcher RENEWAL
Antonio I StockhamItalyAsiya Javayant NEGOTIATION
Smith H PerinSpainElwin Sharvill NEW
David N CaldareraItalyAmy Elsner NEW
Aruna I NestleArgentinaIoni Bowcher RENEWAL
Arvin Z RutaFranceBernardo Dominic QUALIFIED
Jennifer O SchemmerJapanOnyama Limba UNQUALIFIED
Mujtaba A KolmetzSpainXuxue Feng QUALIFIED
Jefferson T RutaJapanXuxue Feng NEGOTIATION
Tony Z MacleadRussiaOnyama Limba NEW
Salvatore J FerenczRussiaAnna Fali NEW
Mayumi D TollnerIndiaAsiya Javayant UNQUALIFIED
Leon Z MacleadUnited KingdomStephen Shaw RENEWAL
Leon U InouyeRussiaElwin Sharvill NEW
Aika P MacleadItalyIoni Bowcher NEGOTIATION
Munro B GauchoSpainElwin Sharvill UNQUALIFIED
Jones Y DarakjyUnited KingdomOnyama Limba NEGOTIATION
Jones Z KolmetzGermanyAsiya Javayant NEGOTIATION
Ashley P SergiJapanIvan Magalhaes RENEWAL
Tony P FollerCanadaIvan Magalhaes NEW
Munro D CampainCanadaStephen Shaw PROPOSAL
Clifford P GauchoAustraliaAnna Fali QUALIFIED
Aditya E StockhamCanadaOnyama Limba QUALIFIED
Stacey B BriddickIndiaIvan Magalhaes NEW
Jefferson U PoquetteArgentinaElwin Sharvill NEW
Murillo C RutaBrazilIoni Bowcher PROPOSAL
Juan R CaldareraIndiaElwin Sharvill RENEWAL
Greenwood A MorascaArgentinaBernardo Dominic QUALIFIED
Ivar J BologniaUnited KingdomXuxue Feng NEW
Frozen Columns
Name
Deepesh Q Venere
James K Stenseth
Wickens N Butt
Jones J Royster
Jefferson T Gaucho
Kaitlin E Malet
Jones W Foller
Jones O Rulapaugh
Alejandro T Kusko
Isabel B Bolognia
Munro W Kusko
Wickens M Gaucho
Smith D Ostrosky
Aditya Y Ostrosky
David L Stenseth
Jefferson D Poquette
Maisha X Waycott
James P Paprocki
Francesco X Figeroa
Francesco P Caldarera
Claire Z Figeroa
Misaki P Perin
Johnson V Kusko
Smith A Royster
James I Royster
Greenwood V Doe
Ashley Y Slusarski
Aika S Slusarski
Johnson X Foller
Darci P Caldarera
Alejandro T Ruta
Wickens V Garufi
Mujtaba M Foller
Juan C Maclead
Izzy X Chui
Ashley T Nestle
Munro O Slusarski
Alejandro N Malet
Leja R Sergi
Leon H Oldroyd
Ashley W Ferencz
Adams X Gillian
Cody G Figeroa
Misaki G Bolognia
Antonio D Glick
Ivar M Doe
Salvatore O Nicka
Isabel Q Rim
Aruna P Morasca
Johnson O Vocelka
IdCountryDate
1000India2024-06-04
1001Germany2024-06-22
1002India2024-06-17
1003Argentina2024-06-01
1004Australia2024-05-24
1005Canada2024-06-11
1006United Kingdom2024-05-29
1007France2024-06-14
1008Argentina2024-05-30
1009Argentina2024-05-24
1010Argentina2024-06-08
1011India2024-06-07
1012Canada2024-06-18
1013Germany2024-06-05
1014Argentina2024-05-24
1015Germany2024-05-28
1016Spain2024-06-12
1017France2024-06-14
1018Argentina2024-06-17
1019Brazil2024-05-24
1020India2024-05-27
1021Germany2024-05-28
1022Germany2024-05-27
1023Italy2024-06-10
1024United Kingdom2024-06-18
1025Spain2024-06-04
1026Spain2024-06-21
1027France2024-06-06
1028Canada2024-05-26
1029United Kingdom2024-06-02
1030Russia2024-05-25
1031United Kingdom2024-06-07
1032Spain2024-05-27
1033India2024-05-28
1034Argentina2024-06-06
1035Italy2024-06-22
1036Argentina2024-06-08
1037India2024-06-06
1038India2024-06-14
1039India2024-06-18
1040Brazil2024-06-11
1041Russia2024-06-10
1042Italy2024-06-17
1043Argentina2024-05-28
1044India2024-06-11
1045Germany2024-06-10
1046Italy2024-05-29
1047Brazil2024-06-14
1048India2024-06-17
1049Brazil2024-06-02

On-Demand Data

NameIdCountryDate
Costa H Iturbide1000United Kingdom2024-06-08
Ricardo D Venere1001Canada2024-06-12
Isabel Z Maclead1002Japan2024-06-20
Jennifer E Flosi1003Canada2024-06-06
Morrow H Ostrosky1004France2024-06-09
Jeanfrancois A Flosi1005Argentina2024-06-21
Ashley B Paprocki1006Canada2024-06-21
Maria Y Maclead1007Italy2024-05-25
Octavia T Oldroyd1008Spain2024-06-16
Tony Q Flosi1009Australia2024-06-07
Maisha L Nestle1010Argentina2024-05-31
Aika I Inouye1011Argentina2024-05-25
Rodrigues N Nestle1012Japan2024-06-19
Jefferson I Oldroyd1013India2024-06-15
Izzy B Campain1014Italy2024-05-25
Costa I Stockham1015Australia2024-05-27
Faith Q Darakjy1016India2024-06-20
Jones T Stenseth1017Brazil2024-05-27
Antonio E Sergi1018France2024-06-02
Aika R Inouye1019Japan2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Y MaletFranceBernardo Dominic PROPOSAL
Chavez D BologniaArgentinaAsiya Javayant QUALIFIED
Jeanfrancois D ChuiSpainOnyama Limba NEGOTIATION
Misaki R AmigonArgentinaIoni Bowcher NEW
Jennifer F BowleyArgentinaOnyama Limba UNQUALIFIED
Mayumi W DilliardJapanXuxue Feng NEW
Greenwood E DarakjyAustraliaAnna Fali QUALIFIED
Costa U PerinGermanyElwin Sharvill QUALIFIED
Maisha L RoysterRussiaIvan Magalhaes NEGOTIATION
Kaitlin C BriddickArgentinaAsiya Javayant NEW
Jeanfrancois K StensethJapanElwin Sharvill NEW
Alejandro Y VocelkaGermanyStephen Shaw RENEWAL
Rodrigues I SaylorsGermanyXuxue Feng PROPOSAL
Adams P AlbaresCanadaXuxue Feng NEGOTIATION
Ricardo C SchemmerItalyStephen Shaw NEW
Maisha L BowleyGermanyAsiya Javayant PROPOSAL
Faith M OldroydGermanyIvan Magalhaes NEW
Juan S NestleIndiaAnna Fali UNQUALIFIED
Jeanfrancois B WhobreyAustraliaElwin Sharvill RENEWAL
Jefferson L WaycottBrazilAsiya Javayant NEGOTIATION
Munro J OstroskyItalyAnna Fali RENEWAL
Isabel E NickaCanadaIoni Bowcher NEW
Izzy Q GillianItalyElwin Sharvill UNQUALIFIED
Sinclair X MarrierArgentinaXuxue Feng UNQUALIFIED
Wickens O MaletIndiaOnyama Limba UNQUALIFIED
Maisha C SergiJapanXuxue Feng UNQUALIFIED
Ashley L MaletUnited KingdomXuxue Feng RENEWAL
Kaitlin Y OldroydSpainAsiya Javayant NEW
Clifford D OstroskyItalyAmy Elsner QUALIFIED
Salvatore P DilliardUnited KingdomAsiya Javayant QUALIFIED
Antonio H VocelkaFranceElwin Sharvill PROPOSAL
Maisha V SchemmerSpainBernardo Dominic NEGOTIATION
Costa J GarufiIndiaXuxue Feng UNQUALIFIED
Smith B PoquetteJapanAnna Fali RENEWAL
Alejandro S VenereJapanAsiya Javayant NEGOTIATION
Greenwood Z NestleGermanyIvan Magalhaes UNQUALIFIED
James G SlusarskiGermanyStephen Shaw RENEWAL
Alejandro D RutaArgentinaIoni Bowcher UNQUALIFIED
Leja M VenereArgentinaAnna Fali NEGOTIATION
Darci Q CampainCanadaBernardo Dominic 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>