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
Aditya D DilliardRussiaElwin Sharvill UNQUALIFIED
Morrow C DilliardAustraliaAmy Elsner NEW
Jefferson S NickaJapanOnyama Limba NEGOTIATION
Ashley O WhobreyAustraliaIoni Bowcher NEGOTIATION
Ricardo I FlosiIndiaXuxue Feng UNQUALIFIED
Jefferson F GillianArgentinaIvan Magalhaes QUALIFIED
Mayumi N GarufiUnited KingdomOnyama Limba NEGOTIATION
Faith T DilliardSpainStephen Shaw NEGOTIATION
Maisha Q InouyeItalyAsiya Javayant UNQUALIFIED
Antonio R PerinArgentinaAnna Fali PROPOSAL
Mujtaba J ShinkoBrazilXuxue Feng NEW
Aditya O StockhamBrazilElwin Sharvill QUALIFIED
Julie L InouyeArgentinaElwin Sharvill QUALIFIED
Cody J SchemmerBrazilElwin Sharvill PROPOSAL
James Z KolmetzSpainOnyama Limba QUALIFIED
Kadeem U NickaJapanAsiya Javayant NEW
Jeanfrancois J IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh C FlosiSpainAmy Elsner NEGOTIATION
Murillo H PoquetteArgentinaXuxue Feng QUALIFIED
Chavez U AlbaresItalyStephen Shaw UNQUALIFIED
Isabel E GarufiCanadaAsiya Javayant QUALIFIED
Tony C RulapaughGermanyAsiya Javayant NEW
Rodrigues M BowleyArgentinaAsiya Javayant NEGOTIATION
Smith W SlusarskiItalyBernardo Dominic RENEWAL
Ashley V WieserItalyStephen Shaw QUALIFIED
Mayumi U SlusarskiJapanBernardo Dominic QUALIFIED
Isabel R VenereAustraliaAmy Elsner UNQUALIFIED
Juan G DilliardBrazilBernardo Dominic RENEWAL
Adams S RoysterBrazilStephen Shaw PROPOSAL
Morrow L TollnerAustraliaBernardo Dominic NEGOTIATION
Isabel S StockhamArgentinaElwin Sharvill QUALIFIED
Johnson D DilliardSpainBernardo Dominic RENEWAL
Adams X FigeroaItalyOnyama Limba NEW
Emily P WhobreyRussiaIoni Bowcher PROPOSAL
Murillo Z CaldareraRussiaStephen Shaw NEGOTIATION
Chavez O InouyeFranceIoni Bowcher UNQUALIFIED
James P BriddickIndiaStephen Shaw NEGOTIATION
David A DoeJapanAsiya Javayant PROPOSAL
Sinclair Q PerinUnited KingdomAsiya Javayant QUALIFIED
Costa L MaletSpainOnyama Limba NEW
Aruna S GlickJapanElwin Sharvill RENEWAL
Maria U CaldareraCanadaOnyama Limba PROPOSAL
Ashley T MacleadCanadaBernardo Dominic NEGOTIATION
Aika V RoysterBrazilXuxue Feng UNQUALIFIED
Costa P NickaUnited KingdomXuxue Feng UNQUALIFIED
Izzy T PaprockiArgentinaAnna Fali PROPOSAL
Stacey A WaycottItalyStephen Shaw NEGOTIATION
Morrow A DilliardArgentinaStephen Shaw NEW
Jones F SchemmerFranceElwin Sharvill RENEWAL
Maisha M ChuiFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin O FerenczUnited KingdomOnyama Limba NEGOTIATION
Francesco Z FigeroaAustraliaBernardo Dominic UNQUALIFIED
Maria H CampainRussiaIoni Bowcher PROPOSAL
Arvin I RutaArgentinaAmy Elsner QUALIFIED
Misaki V PaprockiSpainXuxue Feng QUALIFIED
Tony Z StensethArgentinaOnyama Limba NEW
Ivar J SchemmerRussiaXuxue Feng NEW
Nicolas X FollerItalyAmy Elsner PROPOSAL
Silvio M GauchoGermanyIoni Bowcher NEGOTIATION
Morrow O RoysterArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy T ButtUnited Kingdom2024-09-21King, Christopher A Esq RENEWAL34Elwin Sharvill
1001Jennifer E AmigonAustralia2024-08-27Chapman, Ross E Esq NEW23Ioni Bowcher
1002Mujtaba L WieserAustralia2024-09-13Rangoni Of Florence RENEWAL46Onyama Limba
1003Jeanfrancois J PoquetteFrance2024-08-30Chemel, James L Cpa QUALIFIED82Ioni Bowcher
1004Silvio J KuskoBrazil2024-08-27Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1005Aika S PoquetteCanada2024-09-21Dorl, James J Esq RENEWAL3Amy Elsner
1006Julie K PoquetteBrazil2024-09-21Rousseaux, Michael Esq PROPOSAL82Amy Elsner
1007Aruna R CampainIndia2024-09-06Buckley Miller Wright RENEWAL78Amy Elsner
1008Kadeem L NestleCanada2024-08-30Chapman, Ross E Esq NEGOTIATION16Asiya Javayant
1009Aruna K NestleAustralia2024-09-09Chanay, Jeffrey A Esq PROPOSAL86Ivan Magalhaes
1010Leja O NestleBrazil2024-09-02Rangoni Of Florence NEW91Anna Fali
1011Wickens C GlickGermany2024-09-04Rangoni Of Florence PROPOSAL65Stephen Shaw
1012Octavia O FlosiIndia2024-09-17Dorl, James J Esq NEGOTIATION74Ioni Bowcher
1013Faith N KolmetzSpain2024-09-18Commercial Press RENEWAL26Bernardo Dominic
1014Julie N FollerIndia2024-09-02Chanay, Jeffrey A Esq PROPOSAL66Onyama Limba
1015Deepesh U GauchoRussia2024-09-19Morlong Associates RENEWAL46Bernardo Dominic
1016Deepesh X RoysterGermany2024-09-20Rousseaux, Michael Esq UNQUALIFIED97Onyama Limba
1017David B GauchoAustralia2024-09-24Printing Dimensions RENEWAL8Bernardo Dominic
1018Kaitlin Y GillianFrance2024-09-09Dorl, James J Esq RENEWAL27Ivan Magalhaes
1019Salvatore G StockhamIndia2024-09-02Morlong Associates PROPOSAL1Ioni Bowcher
1020Claire C SlusarskiRussia2024-08-27Chemel, James L Cpa NEGOTIATION53Bernardo Dominic
1021Emily T MorascaFrance2024-09-15Commercial Press NEGOTIATION75Asiya Javayant
1022Izzy L WhobreyAustralia2024-08-30Rousseaux, Michael Esq NEGOTIATION52Onyama Limba
1023Kadeem R DarakjyRussia2024-08-31King, Christopher A Esq RENEWAL96Bernardo Dominic
1024Smith D TollnerArgentina2024-09-20Truhlar And Truhlar Attys NEGOTIATION78Anna Fali
1025David V WhobreyGermany2024-09-23Chemel, James L Cpa RENEWAL43Xuxue Feng
1026Leon K PaprockiFrance2024-09-20Benton, John B Jr QUALIFIED53Onyama Limba
1027Alejandro T InouyeIndia2024-09-23Morlong Associates PROPOSAL99Ioni Bowcher
1028Greenwood I IturbideUnited Kingdom2024-09-23King, Christopher A Esq QUALIFIED59Ioni Bowcher
1029Kaitlin M StensethItaly2024-09-03Commercial Press QUALIFIED1Ioni Bowcher
1030Maria F ButtFrance2024-09-03Feiner Bros QUALIFIED66Stephen Shaw
1031Claire E ShinkoFrance2024-09-14Feiner Bros PROPOSAL2Xuxue Feng
1032Leja O CampainAustralia2024-09-19Printing Dimensions RENEWAL65Stephen Shaw
1033Clifford K AmigonAustralia2024-08-30Chemel, James L Cpa NEGOTIATION4Anna Fali
1034Misaki W BologniaBrazil2024-08-29Commercial Press NEGOTIATION58Xuxue Feng
1035Jefferson Y DoeItaly2024-09-19Rousseaux, Michael Esq NEGOTIATION48Bernardo Dominic
1036Jennifer D CampainUnited Kingdom2024-09-18Morlong Associates NEW33Stephen Shaw
1037Stacey Q OldroydSpain2024-09-04Chanay, Jeffrey A Esq RENEWAL81Amy Elsner
1038Aruna V StockhamIndia2024-08-30Dorl, James J Esq RENEWAL50Onyama Limba
1039Mujtaba T FigeroaArgentina2024-09-02Morlong Associates PROPOSAL82Elwin Sharvill
1040Misaki A CaudyRussia2024-08-28Rousseaux, Michael Esq NEW22Amy Elsner
1041Wickens D ShinkoIndia2024-08-26Rangoni Of Florence RENEWAL44Amy Elsner
1042Ricardo N CaudyItaly2024-08-29King, Christopher A Esq PROPOSAL53Elwin Sharvill
1043Octavia Y MacleadArgentina2024-08-30Truhlar And Truhlar Attys PROPOSAL62Stephen Shaw
1044Emily B ButtArgentina2024-08-26Chapman, Ross E Esq PROPOSAL81Amy Elsner
1045Sinclair U DoeJapan2024-09-01King, Christopher A Esq NEGOTIATION98Onyama Limba
1046Chavez F PaprockiAustralia2024-09-22Rangoni Of Florence NEW10Amy Elsner
1047Jefferson G BologniaIndia2024-09-02Feiner Bros PROPOSAL21Onyama Limba
1048Smith A VenereItaly2024-09-08Benton, John B Jr NEGOTIATION25Anna Fali
1049Maisha W SaylorsGermany2024-09-02Feiner Bros QUALIFIED77Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey B ChuiSpainBernardo Dominic NEGOTIATION
Julie P FlosiJapanIoni Bowcher NEGOTIATION
Antonio F MarrierArgentinaXuxue Feng RENEWAL
Jefferson T MacleadAustraliaAnna Fali NEGOTIATION
Claire Z SaylorsJapanOnyama Limba RENEWAL
Ashley B InouyeGermanyXuxue Feng RENEWAL
Silvio I KolmetzIndiaAsiya Javayant NEGOTIATION
Clifford E SlusarskiArgentinaAmy Elsner QUALIFIED
Tony N ShinkoFranceStephen Shaw UNQUALIFIED
Murillo M MaletItalyXuxue Feng NEW
Silvio J PoquetteArgentinaIoni Bowcher NEGOTIATION
Aika L SchemmerGermanyXuxue Feng UNQUALIFIED
Aruna Y DilliardCanadaStephen Shaw RENEWAL
Juan Z BowleyRussiaOnyama Limba PROPOSAL
Maisha S RulapaughJapanAmy Elsner PROPOSAL
Misaki B ShinkoItalyAsiya Javayant NEW
Maisha Y MacleadJapanAmy Elsner QUALIFIED
Leon A SergiItalyIvan Magalhaes UNQUALIFIED
Nicolas U GauchoJapanIoni Bowcher NEW
Ashley O FigeroaBrazilAsiya Javayant UNQUALIFIED
Ashley J GlickIndiaOnyama Limba NEGOTIATION
Faith N ShinkoSpainIvan Magalhaes UNQUALIFIED
Emily C BowleyBrazilXuxue Feng PROPOSAL
Deepesh H TollnerCanadaElwin Sharvill QUALIFIED
Clifford T RulapaughIndiaIvan Magalhaes NEGOTIATION
Claire W PerinArgentinaStephen Shaw NEW
Smith F SchemmerCanadaAmy Elsner UNQUALIFIED
Mujtaba P WaycottArgentinaOnyama Limba RENEWAL
David A SergiIndiaAmy Elsner UNQUALIFIED
David J SchemmerUnited KingdomXuxue Feng NEW
Sinclair C RulapaughItalyBernardo Dominic NEW
Salvatore L OstroskySpainStephen Shaw UNQUALIFIED
Jennifer P OstroskyAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois J AmigonSpainAsiya Javayant QUALIFIED
Chavez G CampainCanadaOnyama Limba RENEWAL
Ashley Q FerenczIndiaAnna Fali UNQUALIFIED
Juan X KuskoFranceAnna Fali PROPOSAL
Salvatore T RimUnited KingdomIoni Bowcher NEGOTIATION
Claire Z FlosiSpainXuxue Feng NEW
Maisha O RutaArgentinaAmy Elsner QUALIFIED
Mayumi S KolmetzAustraliaXuxue Feng PROPOSAL
Tony M FlosiAustraliaIvan Magalhaes RENEWAL
Sinclair E OldroydRussiaIoni Bowcher RENEWAL
Rodrigues X MorascaIndiaIvan Magalhaes NEW
Claire H SergiRussiaIvan Magalhaes UNQUALIFIED
Sinclair J AmigonUnited KingdomAnna Fali PROPOSAL
Aruna H RoysterFranceIoni Bowcher RENEWAL
Nicolas T CampainCanadaXuxue Feng RENEWAL
Izzy D WhobreyRussiaXuxue Feng PROPOSAL
Sinclair R ButtIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Jones N Rulapaugh
Chavez K Whobrey
Aruna S Stockham
Clifford D Wieser
Salvatore W Kolmetz
Tony N Flosi
Wickens T Sergi
Morrow U Briddick
Maisha B Caldarera
Silvio C Darakjy
Isabel I Maclead
Silvio V Ostrosky
Faith T Briddick
David I Saylors
Claire X Tollner
Aruna H Flosi
Jeanfrancois R Caldarera
Kaitlin N Albares
Smith N Stenseth
Smith J Whobrey
Julie U Royster
Aditya Z Gillian
Rodrigues O Stockham
Mujtaba H Whobrey
Chavez I Albares
Julie M Rulapaugh
Leja X Vocelka
David K Chui
Darci L Albares
Salvatore W Albares
Darci E Vocelka
Adams R Nestle
Claire Z Kolmetz
Munro P Garufi
Jennifer F Albares
Claire E Caudy
Greenwood H Iturbide
Mujtaba B Royster
Isabel Y Gaucho
Leja F Glick
Wickens U Malet
Chavez U Venere
Greenwood E Whobrey
Clifford L Albares
Arvin P Whobrey
Munro H Tollner
Silvio C Glick
Salvatore M Ruta
Emily H Rulapaugh
Maria L Butt
IdCountryDate
1000Spain2024-09-21
1001Italy2024-09-09
1002Brazil2024-09-21
1003Japan2024-09-13
1004Canada2024-09-16
1005Argentina2024-09-22
1006Australia2024-09-09
1007Canada2024-09-02
1008Argentina2024-09-11
1009India2024-09-11
1010United Kingdom2024-09-08
1011United Kingdom2024-09-06
1012Australia2024-09-08
1013United Kingdom2024-09-03
1014Italy2024-09-09
1015France2024-09-21
1016Canada2024-09-19
1017Japan2024-09-05
1018India2024-09-20
1019Canada2024-09-23
1020Spain2024-09-09
1021Argentina2024-09-14
1022Spain2024-09-08
1023Australia2024-09-04
1024Italy2024-08-27
1025United Kingdom2024-09-05
1026Australia2024-09-13
1027United Kingdom2024-08-27
1028Australia2024-09-02
1029Canada2024-09-07
1030France2024-09-09
1031India2024-08-31
1032Spain2024-09-02
1033Japan2024-08-30
1034Argentina2024-08-27
1035France2024-09-16
1036Brazil2024-09-13
1037Japan2024-08-30
1038Spain2024-08-26
1039Italy2024-08-28
1040Argentina2024-09-15
1041Germany2024-08-30
1042Brazil2024-08-30
1043Australia2024-09-07
1044Germany2024-08-28
1045France2024-08-30
1046Russia2024-08-31
1047Canada2024-08-27
1048Spain2024-09-09
1049Canada2024-09-10

On-Demand Data

NameIdCountryDate
Chavez Z Venere1000Canada2024-09-20
Salvatore Y Rim1001Russia2024-09-07
Jennifer S Darakjy1002Russia2024-08-26
Leja A Perin1003Argentina2024-09-06
Maria E Bolognia1004United Kingdom2024-08-29
Maisha G Foller1005Germany2024-09-16
Chavez E Inouye1006United Kingdom2024-09-14
Aruna P Shinko1007India2024-09-04
Deepesh H Briddick1008Japan2024-08-27
Juan T Foller1009Russia2024-09-05
Misaki C Darakjy1010Canada2024-09-14
Maria U Bowley1011Brazil2024-09-24
Clifford R Whobrey1012Spain2024-08-27
Silvio D Bowley1013Italy2024-09-12
Kadeem R Saylors1014Spain2024-08-26
Alejandro P Ruta1015Brazil2024-09-15
Murillo Y Ruta1016Brazil2024-09-12
Johnson M Gaucho1017United Kingdom2024-09-21
Wickens Y Nestle1018Spain2024-08-28
Smith X Ostrosky1019Argentina2024-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie K IturbideCanadaAnna Fali RENEWAL
Faith Z RimRussiaAmy Elsner RENEWAL
Costa E TollnerItalyXuxue Feng NEGOTIATION
Stacey D CampainJapanOnyama Limba UNQUALIFIED
Morrow Q TollnerCanadaAsiya Javayant NEW
Maria D FlosiBrazilOnyama Limba RENEWAL
Morrow R SchemmerArgentinaXuxue Feng RENEWAL
Silvio E RoysterArgentinaIoni Bowcher PROPOSAL
Morrow K ChuiSpainAsiya Javayant UNQUALIFIED
Wickens L RoysterArgentinaElwin Sharvill RENEWAL
Ricardo E SergiSpainAsiya Javayant NEGOTIATION
Leja G SergiBrazilStephen Shaw NEGOTIATION
James F PaprockiBrazilOnyama Limba UNQUALIFIED
Rodrigues G SlusarskiCanadaBernardo Dominic QUALIFIED
Sinclair Z BowleyGermanyIvan Magalhaes NEGOTIATION
Deepesh I AmigonIndiaAnna Fali NEW
Sinclair J FollerUnited KingdomIoni Bowcher UNQUALIFIED
Tony Q StensethSpainXuxue Feng PROPOSAL
Aika L FerenczSpainIvan Magalhaes UNQUALIFIED
Silvio X TollnerUnited KingdomStephen Shaw QUALIFIED
Wickens G OstroskyFranceStephen Shaw NEW
Antonio D MaletCanadaBernardo Dominic NEW
Salvatore X StockhamItalyXuxue Feng UNQUALIFIED
Greenwood U FollerSpainIvan Magalhaes NEGOTIATION
Mujtaba B ButtRussiaOnyama Limba PROPOSAL
Antonio K WaycottAustraliaIoni Bowcher QUALIFIED
Izzy P GlickArgentinaAnna Fali NEW
Julie X StensethGermanyBernardo Dominic UNQUALIFIED
Antonio Q GlickUnited KingdomAnna Fali RENEWAL
Isabel U KolmetzCanadaAnna Fali RENEWAL
David G FerenczFranceAnna Fali PROPOSAL
Chavez A OldroydCanadaIvan Magalhaes RENEWAL
Johnson A CampainItalyIvan Magalhaes NEW
Adams A AmigonUnited KingdomAsiya Javayant QUALIFIED
Antonio V CaldareraSpainAsiya Javayant NEW
Misaki Q ButtIndiaAsiya Javayant RENEWAL
Mujtaba P ChuiGermanyBernardo Dominic UNQUALIFIED
Cody Q TollnerGermanyAmy Elsner PROPOSAL
Sinclair P FlosiGermanyStephen Shaw RENEWAL
Murillo O GillianIndiaXuxue Feng NEW

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