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
Ivar G PerinSpainIoni Bowcher PROPOSAL
Clifford H TollnerArgentinaAnna Fali NEGOTIATION
Rodrigues I TollnerIndiaOnyama Limba NEW
James X CampainArgentinaOnyama Limba NEW
Aditya T GarufiJapanIvan Magalhaes NEGOTIATION
David A MaletIndiaIvan Magalhaes NEW
Aditya P StensethFranceBernardo Dominic NEW
Greenwood M DilliardUnited KingdomAnna Fali PROPOSAL
Rodrigues L ButtBrazilXuxue Feng PROPOSAL
Kaitlin H AmigonGermanyIvan Magalhaes NEW
Arvin K WaycottUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois X InouyeGermanyIoni Bowcher NEGOTIATION
Jennifer P CampainArgentinaStephen Shaw NEW
Silvio K FlosiItalyIvan Magalhaes QUALIFIED
Silvio Q GauchoArgentinaBernardo Dominic RENEWAL
Clifford W TollnerItalyElwin Sharvill QUALIFIED
Maria B InouyeItalyElwin Sharvill QUALIFIED
Silvio W SaylorsGermanyAsiya Javayant NEW
Francesco D PoquetteSpainIoni Bowcher RENEWAL
Costa N AmigonRussiaIvan Magalhaes QUALIFIED
Darci D OldroydJapanIvan Magalhaes NEGOTIATION
Kaitlin Z OstroskyItalyStephen Shaw UNQUALIFIED
Antonio D InouyeArgentinaOnyama Limba PROPOSAL
Aruna N FollerItalyStephen Shaw QUALIFIED
Sinclair B StensethUnited KingdomAmy Elsner QUALIFIED
Ashley G WieserUnited KingdomAmy Elsner RENEWAL
Darci J AlbaresRussiaElwin Sharvill NEW
Jennifer S BologniaSpainAnna Fali QUALIFIED
Cody S GarufiJapanAmy Elsner UNQUALIFIED
Alejandro C RimItalyXuxue Feng RENEWAL
Isabel P ChuiFranceIvan Magalhaes NEW
Jeanfrancois Z DarakjyGermanyXuxue Feng PROPOSAL
Isabel D AlbaresCanadaAsiya Javayant RENEWAL
Ricardo L RulapaughRussiaElwin Sharvill PROPOSAL
Izzy K VocelkaIndiaOnyama Limba RENEWAL
Murillo S WieserGermanyElwin Sharvill RENEWAL
Nicolas U SergiSpainAmy Elsner RENEWAL
Jennifer R WhobreyBrazilBernardo Dominic UNQUALIFIED
Ricardo F SlusarskiItalyAnna Fali UNQUALIFIED
David O ButtItalyBernardo Dominic PROPOSAL
Faith W KuskoBrazilAmy Elsner UNQUALIFIED
Silvio S IturbideArgentinaAnna Fali RENEWAL
Kaitlin L RulapaughSpainBernardo Dominic UNQUALIFIED
Ashley C FollerArgentinaElwin Sharvill UNQUALIFIED
Wickens M KolmetzBrazilIoni Bowcher QUALIFIED
Johnson Q TollnerAustraliaOnyama Limba QUALIFIED
Jeanfrancois R AlbaresIndiaStephen Shaw PROPOSAL
Izzy O NickaSpainOnyama Limba NEW
Ivar W KolmetzCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois N PoquetteCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Wickens F PaprockiFranceOnyama Limba QUALIFIED
Juan P VenereRussiaStephen Shaw NEGOTIATION
Salvatore O TollnerFranceXuxue Feng UNQUALIFIED
Sinclair J KolmetzArgentinaAsiya Javayant QUALIFIED
Wickens U OldroydFranceAsiya Javayant RENEWAL
Alejandro J SchemmerBrazilXuxue Feng NEGOTIATION
Claire Q GarufiJapanIoni Bowcher UNQUALIFIED
Maisha K PaprockiFranceXuxue Feng PROPOSAL
Munro I StensethJapanXuxue Feng RENEWAL
Johnson U StensethCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood E StockhamFrance2024-06-04Morlong Associates QUALIFIED84Asiya Javayant
1001Rodrigues Z DoeRussia2024-05-30Chemel, James L Cpa NEGOTIATION25Asiya Javayant
1002Octavia I BowleyUnited Kingdom2024-05-20Morlong Associates QUALIFIED74Amy Elsner
1003Alejandro U FigeroaAustralia2024-06-03Benton, John B Jr QUALIFIED81Ivan Magalhaes
1004Wickens F FlosiAustralia2024-06-02Feltz Printing Service PROPOSAL26Amy Elsner
1005Izzy T GillianAustralia2024-06-14King, Christopher A Esq NEGOTIATION86Bernardo Dominic
1006Tony O MorascaCanada2024-06-16Buckley Miller Wright NEW38Stephen Shaw
1007Aditya Q PerinUnited Kingdom2024-06-09Printing Dimensions RENEWAL49Ivan Magalhaes
1008Octavia H VenereBrazil2024-06-06Chemel, James L Cpa QUALIFIED31Anna Fali
1009Leon K OldroydArgentina2024-05-24Rangoni Of Florence NEGOTIATION67Stephen Shaw
1010Mujtaba N KolmetzSpain2024-05-28Truhlar And Truhlar Attys PROPOSAL77Stephen Shaw
1011Kaitlin W CampainItaly2024-05-25Commercial Press PROPOSAL51Amy Elsner
1012Arvin L OldroydJapan2024-06-18Morlong Associates RENEWAL2Bernardo Dominic
1013Wickens Q DarakjyBrazil2024-06-05Commercial Press PROPOSAL26Amy Elsner
1014Maisha D GauchoFrance2024-05-22Chanay, Jeffrey A Esq NEGOTIATION12Asiya Javayant
1015Jennifer D WieserRussia2024-06-06Commercial Press QUALIFIED72Ivan Magalhaes
1016Jones Y SlusarskiFrance2024-05-21Dorl, James J Esq NEGOTIATION97Xuxue Feng
1017Izzy G AlbaresItaly2024-05-30Commercial Press QUALIFIED44Bernardo Dominic
1018Claire Q PoquetteSpain2024-05-31Rousseaux, Michael Esq UNQUALIFIED69Anna Fali
1019Alejandro S RimUnited Kingdom2024-06-17Chanay, Jeffrey A Esq RENEWAL63Amy Elsner
1020Emily G InouyeAustralia2024-06-13Rousseaux, Michael Esq NEW64Bernardo Dominic
1021Isabel G DarakjyCanada2024-06-02Morlong Associates QUALIFIED15Asiya Javayant
1022Isabel H OstroskyGermany2024-06-13Buckley Miller Wright NEW73Xuxue Feng
1023Ivar L VocelkaFrance2024-05-24Chapman, Ross E Esq NEW66Stephen Shaw
1024Mujtaba G WhobreyJapan2024-06-18Rousseaux, Michael Esq PROPOSAL86Amy Elsner
1025Morrow Z StensethBrazil2024-05-21King, Christopher A Esq NEW79Ivan Magalhaes
1026Aditya F MaletJapan2024-06-07Rangoni Of Florence NEW10Ioni Bowcher
1027Francesco M KuskoIndia2024-05-22Benton, John B Jr UNQUALIFIED41Ivan Magalhaes
1028Octavia A VenereArgentina2024-06-17Chemel, James L Cpa NEW27Ioni Bowcher
1029Jones R WhobreyFrance2024-05-29Feiner Bros PROPOSAL45Xuxue Feng
1030Cody G ButtItaly2024-06-07Buckley Miller Wright RENEWAL95Anna Fali
1031Adams Q SchemmerBrazil2024-06-14Truhlar And Truhlar Attys NEGOTIATION24Ioni Bowcher
1032Ivar K MaletUnited Kingdom2024-05-24Chanay, Jeffrey A Esq NEGOTIATION81Amy Elsner
1033Aruna V BriddickRussia2024-05-30Benton, John B Jr UNQUALIFIED78Amy Elsner
1034Jones Z ButtArgentina2024-06-17Printing Dimensions PROPOSAL23Ioni Bowcher
1035Emily E KolmetzArgentina2024-05-28Rousseaux, Michael Esq NEW53Anna Fali
1036Kaitlin T TollnerJapan2024-06-10Feiner Bros PROPOSAL72Ivan Magalhaes
1037Mujtaba B BologniaGermany2024-06-05Dorl, James J Esq NEW57Ivan Magalhaes
1038Leon J FerenczFrance2024-05-31Feiner Bros QUALIFIED15Onyama Limba
1039Antonio Y ChuiCanada2024-06-08Benton, John B Jr QUALIFIED40Anna Fali
1040Johnson F CaudyAustralia2024-05-31Buckley Miller Wright QUALIFIED58Onyama Limba
1041Nicolas P GlickRussia2024-06-13Dorl, James J Esq NEW25Asiya Javayant
1042Nicolas T FerenczBrazil2024-06-02Chapman, Ross E Esq PROPOSAL7Onyama Limba
1043David D KolmetzFrance2024-05-28Morlong Associates UNQUALIFIED56Amy Elsner
1044Johnson Z OstroskyFrance2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED3Stephen Shaw
1045Leon K WaycottUnited Kingdom2024-05-21Feltz Printing Service UNQUALIFIED58Ioni Bowcher
1046Smith H CampainAustralia2024-06-04Dorl, James J Esq UNQUALIFIED10Bernardo Dominic
1047Jennifer U WhobreyFrance2024-06-13Rangoni Of Florence NEGOTIATION63Onyama Limba
1048Mujtaba W PoquetteFrance2024-06-03Morlong Associates NEW19Xuxue Feng
1049Sinclair U CampainFrance2024-05-31Rousseaux, Michael Esq QUALIFIED16Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aditya O PaprockiArgentinaOnyama Limba NEW
Leja S FlosiIndiaXuxue Feng NEW
Leon X GillianItalyAmy Elsner PROPOSAL
Izzy L MaletArgentinaBernardo Dominic PROPOSAL
Rodrigues Y ChuiIndiaAnna Fali QUALIFIED
Mayumi H WieserGermanyAsiya Javayant PROPOSAL
Aditya K MacleadCanadaAsiya Javayant NEW
Ivar R RulapaughFranceIoni Bowcher UNQUALIFIED
Ricardo A KuskoFranceAnna Fali QUALIFIED
Jones M BologniaSpainIvan Magalhaes UNQUALIFIED
Johnson B CaldareraUnited KingdomAnna Fali NEGOTIATION
Isabel J BologniaUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois E GillianBrazilBernardo Dominic UNQUALIFIED
Stacey X BowleyAustraliaOnyama Limba NEGOTIATION
Ivar C CaudyBrazilStephen Shaw UNQUALIFIED
Octavia C MarrierSpainStephen Shaw NEW
Tony C VenereJapanIvan Magalhaes PROPOSAL
Jennifer S OstroskyArgentinaBernardo Dominic UNQUALIFIED
Murillo C CaudyIndiaBernardo Dominic RENEWAL
James W PerinUnited KingdomAsiya Javayant QUALIFIED
Julie K GauchoCanadaAsiya Javayant NEW
Jeanfrancois I RulapaughJapanAmy Elsner NEW
Deepesh R MarrierBrazilBernardo Dominic RENEWAL
Costa Y MarrierAustraliaXuxue Feng UNQUALIFIED
Adams O WaycottFranceIvan Magalhaes NEW
Mujtaba I OldroydBrazilIvan Magalhaes NEW
Wickens T CaudyRussiaElwin Sharvill NEGOTIATION
Alejandro U FlosiArgentinaStephen Shaw UNQUALIFIED
Jennifer R KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Darci R InouyeIndiaIoni Bowcher NEGOTIATION
Juan B FigeroaIndiaAnna Fali NEGOTIATION
Izzy R WieserUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues D DilliardJapanAmy Elsner QUALIFIED
Nicolas Z DilliardRussiaAsiya Javayant QUALIFIED
Isabel A CaudyCanadaStephen Shaw QUALIFIED
Alejandro N BowleyItalyXuxue Feng PROPOSAL
Alejandro Q FlosiSpainAsiya Javayant NEGOTIATION
Aditya J InouyeRussiaElwin Sharvill PROPOSAL
Smith V WieserSpainBernardo Dominic NEW
Mujtaba Z FerenczSpainStephen Shaw UNQUALIFIED
Costa M AlbaresFranceStephen Shaw QUALIFIED
Ivar K MacleadCanadaAnna Fali PROPOSAL
Jones I InouyeArgentinaAsiya Javayant NEGOTIATION
Jennifer H CaldareraIndiaElwin Sharvill NEGOTIATION
Claire Q DarakjyBrazilAmy Elsner NEGOTIATION
Juan M AmigonJapanOnyama Limba NEW
Francesco M RutaUnited KingdomOnyama Limba UNQUALIFIED
Munro R AlbaresRussiaStephen Shaw RENEWAL
Costa C StensethJapanBernardo Dominic PROPOSAL
James W InouyeGermanyIoni Bowcher NEW
Frozen Columns
Name
Costa M Whobrey
Ashley X Flosi
Kadeem A Caldarera
Mujtaba F Chui
Francesco R Campain
Misaki J Nicka
Ivar H Maclead
Maisha O Kusko
Costa L Foller
Faith O Ruta
Deepesh W Morasca
Nicolas D Paprocki
Faith M Flosi
Leja F Ostrosky
Isabel R Perin
Arvin F Bolognia
David N Iturbide
Morrow P Ruta
Morrow R Figeroa
Sinclair Q Wieser
Maisha T Malet
Chavez Y Paprocki
Clifford T Butt
Costa D Gillian
Ivar N Oldroyd
Octavia U Chui
Sinclair R Vocelka
Emily W Amigon
Stacey O Nestle
Izzy V Glick
Aruna S Tollner
Morrow U Amigon
Tony O Iturbide
Misaki Z Doe
Aika B Garufi
Munro A Kolmetz
Claire G Caudy
Julie C Shinko
Morrow T Morasca
Maria G Glick
James N Flosi
Antonio N Doe
Aruna S Chui
Maria F Caldarera
Wickens U Malet
Stacey M Ostrosky
Faith L Garufi
Kaitlin J Whobrey
Mayumi L Dilliard
Smith D Shinko
IdCountryDate
1000Argentina2024-06-18
1001Canada2024-05-28
1002Italy2024-06-09
1003Italy2024-06-12
1004Spain2024-06-05
1005Australia2024-05-25
1006Japan2024-05-20
1007Italy2024-06-06
1008Japan2024-05-22
1009Russia2024-06-08
1010Russia2024-05-31
1011Australia2024-06-09
1012Canada2024-05-26
1013France2024-06-08
1014Canada2024-06-01
1015Germany2024-06-07
1016France2024-05-24
1017United Kingdom2024-06-18
1018Argentina2024-06-15
1019Japan2024-05-27
1020Spain2024-05-30
1021Spain2024-06-17
1022Russia2024-06-01
1023United Kingdom2024-06-11
1024Australia2024-06-17
1025Japan2024-06-03
1026France2024-05-27
1027Japan2024-06-05
1028Spain2024-06-08
1029Russia2024-06-12
1030Canada2024-06-09
1031United Kingdom2024-05-28
1032India2024-05-22
1033Spain2024-06-10
1034Japan2024-06-12
1035Japan2024-06-12
1036Germany2024-05-20
1037Argentina2024-06-06
1038United Kingdom2024-05-20
1039Germany2024-05-22
1040Canada2024-06-06
1041Japan2024-06-03
1042Germany2024-05-28
1043India2024-05-23
1044Germany2024-06-11
1045India2024-06-08
1046Spain2024-05-23
1047Russia2024-06-03
1048Japan2024-06-15
1049France2024-06-14

On-Demand Data

NameIdCountryDate
Claire M Stenseth1000France2024-06-16
Misaki Q Albares1001France2024-05-27
Juan R Saylors1002Italy2024-05-21
Maisha P Inouye1003India2024-06-13
Leja Q Inouye1004Japan2024-06-08
Ivar L Garufi1005Australia2024-05-26
Murillo E Waycott1006Germany2024-06-10
David R Malet1007Canada2024-06-10
Morrow W Dilliard1008Brazil2024-05-30
Faith Q Bowley1009Australia2024-05-25
Arvin T Malet1010Canada2024-06-05
Tony M Albares1011Italy2024-06-05
Adams J Gaucho1012Spain2024-06-01
Darci G Nestle1013Germany2024-05-26
Ricardo H Shinko1014Spain2024-06-06
Alejandro V Caudy1015Spain2024-05-21
Munro P Gaucho1016United Kingdom2024-05-25
Kadeem P Stockham1017Spain2024-06-10
Ricardo F Ferencz1018Australia2024-06-08
Chavez U Vocelka1019United Kingdom2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Y VocelkaArgentinaAsiya Javayant UNQUALIFIED
Rodrigues J VocelkaBrazilStephen Shaw RENEWAL
Kadeem M KolmetzIndiaAsiya Javayant NEW
Sinclair E StockhamFranceStephen Shaw PROPOSAL
David P AlbaresIndiaIvan Magalhaes PROPOSAL
Alejandro B DilliardSpainIvan Magalhaes QUALIFIED
Misaki V CaudyIndiaBernardo Dominic PROPOSAL
Mujtaba J CampainBrazilStephen Shaw NEGOTIATION
Jefferson D GillianArgentinaStephen Shaw NEGOTIATION
Morrow H AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Kadeem P WhobreyGermanyIoni Bowcher UNQUALIFIED
Greenwood K MacleadCanadaBernardo Dominic NEGOTIATION
Claire E VocelkaGermanyBernardo Dominic NEGOTIATION
Faith T StockhamBrazilXuxue Feng PROPOSAL
Kadeem J DarakjyAustraliaBernardo Dominic PROPOSAL
Ashley H PaprockiCanadaAsiya Javayant UNQUALIFIED
Mayumi O ShinkoIndiaIvan Magalhaes NEGOTIATION
Leon T CaldareraAustraliaAsiya Javayant UNQUALIFIED
Silvio X MorascaArgentinaOnyama Limba QUALIFIED
Murillo B IturbideAustraliaIoni Bowcher UNQUALIFIED
Kaitlin H WaycottItalyBernardo Dominic NEGOTIATION
Johnson B DilliardRussiaAmy Elsner QUALIFIED
Jefferson A RulapaughArgentinaAnna Fali PROPOSAL
Octavia O InouyeUnited KingdomIoni Bowcher RENEWAL
David N FerenczCanadaStephen Shaw NEW
Smith F FollerGermanyAmy Elsner RENEWAL
Ivar E KuskoFranceStephen Shaw UNQUALIFIED
Jones X GillianFranceElwin Sharvill RENEWAL
Alejandro A RimAustraliaAsiya Javayant NEW
Wickens E MaletCanadaAmy Elsner NEW
Misaki G FlosiBrazilAsiya Javayant UNQUALIFIED
Izzy C GlickGermanyIvan Magalhaes NEW
Arvin L CaldareraRussiaAnna Fali QUALIFIED
Jennifer D RulapaughUnited KingdomIvan Magalhaes NEW
Kadeem I ShinkoBrazilAsiya Javayant UNQUALIFIED
Julie U MaletCanadaOnyama Limba NEW
Emily G RulapaughFranceIoni Bowcher RENEWAL
Misaki Q GauchoRussiaXuxue Feng PROPOSAL
Misaki P FollerItalyXuxue Feng QUALIFIED
Rodrigues D MaletUnited KingdomAnna Fali 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>