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
Ashley C SlusarskiFranceIvan Magalhaes NEGOTIATION
Julie O MarrierIndiaIvan Magalhaes NEW
Aditya A ButtGermanyOnyama Limba QUALIFIED
Francesco S ShinkoBrazilIvan Magalhaes RENEWAL
Leon B SlusarskiJapanOnyama Limba QUALIFIED
Wickens O GillianUnited KingdomAsiya Javayant NEW
David B WhobreyRussiaAnna Fali NEGOTIATION
Stacey W PoquetteCanadaOnyama Limba UNQUALIFIED
Johnson B DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Aika Y SlusarskiGermanyXuxue Feng QUALIFIED
Tony A MorascaAustraliaStephen Shaw UNQUALIFIED
Julie R FerenczAustraliaStephen Shaw NEW
Faith Y NestleGermanyIvan Magalhaes PROPOSAL
Ricardo S DarakjyJapanAsiya Javayant UNQUALIFIED
Rodrigues G CampainFranceAnna Fali NEW
Kaitlin U MorascaUnited KingdomAsiya Javayant NEGOTIATION
Maria Z OldroydFranceAsiya Javayant NEW
Murillo O SaylorsAustraliaAnna Fali NEGOTIATION
Chavez E WhobreyItalyIoni Bowcher NEW
Chavez A FerenczAustraliaAsiya Javayant UNQUALIFIED
Adams S StensethAustraliaXuxue Feng UNQUALIFIED
Isabel I RoysterArgentinaAnna Fali RENEWAL
Jefferson T ButtFranceOnyama Limba RENEWAL
Silvio W SaylorsItalyIvan Magalhaes RENEWAL
Johnson N OldroydArgentinaIvan Magalhaes RENEWAL
Misaki X DoeArgentinaXuxue Feng NEW
Tony Z FollerBrazilAsiya Javayant UNQUALIFIED
Munro V SlusarskiIndiaXuxue Feng UNQUALIFIED
Greenwood H VenereUnited KingdomIoni Bowcher NEGOTIATION
Leon O RoysterRussiaIoni Bowcher QUALIFIED
Leja N KuskoUnited KingdomAmy Elsner QUALIFIED
Ivar W StockhamRussiaAnna Fali NEGOTIATION
Jennifer T SlusarskiItalyStephen Shaw QUALIFIED
Kadeem X MaletJapanAnna Fali NEGOTIATION
Aika T GillianItalyAmy Elsner UNQUALIFIED
Aika Z VocelkaBrazilAsiya Javayant NEGOTIATION
Cody B KuskoRussiaXuxue Feng NEW
Kadeem W FollerFranceStephen Shaw UNQUALIFIED
Morrow F GauchoUnited KingdomOnyama Limba PROPOSAL
Ivar J FollerUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois D CaudyAustraliaIvan Magalhaes QUALIFIED
Munro X ButtRussiaIoni Bowcher PROPOSAL
Maria Q GlickArgentinaAsiya Javayant PROPOSAL
Salvatore J WhobreyArgentinaElwin Sharvill NEW
Ivar V PaprockiIndiaAmy Elsner UNQUALIFIED
Aditya A CaldareraBrazilIoni Bowcher QUALIFIED
Jefferson O MacleadItalyIoni Bowcher QUALIFIED
Smith G StockhamAustraliaStephen Shaw UNQUALIFIED
Deepesh I NestleGermanyXuxue Feng PROPOSAL
Chavez P ButtRussiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore B PoquetteGermanyAsiya Javayant NEW
Leja B StensethArgentinaIoni Bowcher NEGOTIATION
Jennifer V SlusarskiGermanyBernardo Dominic UNQUALIFIED
David A FollerBrazilElwin Sharvill UNQUALIFIED
Faith K CaldareraItalyAnna Fali QUALIFIED
Mujtaba U CampainFranceOnyama Limba QUALIFIED
Johnson N CaldareraArgentinaAsiya Javayant NEGOTIATION
Faith I DoeIndiaIvan Magalhaes UNQUALIFIED
Jennifer Z KuskoIndiaIoni Bowcher NEGOTIATION
Jones B PoquetteRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore H FigeroaUnited Kingdom2024-06-09Buckley Miller Wright RENEWAL91Ivan Magalhaes
1001Maria F StockhamGermany2024-05-25Feiner Bros UNQUALIFIED11Bernardo Dominic
1002Julie H FerenczAustralia2024-05-26Printing Dimensions NEGOTIATION16Amy Elsner
1003Alejandro G GlickBrazil2024-06-18Chemel, James L Cpa RENEWAL31Amy Elsner
1004Murillo K ShinkoUnited Kingdom2024-06-15Chapman, Ross E Esq RENEWAL3Xuxue Feng
1005Maria P MaletCanada2024-05-28King, Christopher A Esq NEGOTIATION79Bernardo Dominic
1006Deepesh J ShinkoGermany2024-06-08Chapman, Ross E Esq NEGOTIATION12Anna Fali
1007Clifford W InouyeUnited Kingdom2024-06-18Feiner Bros NEW83Ioni Bowcher
1008Murillo K AmigonGermany2024-06-22Feiner Bros NEW70Anna Fali
1009Ricardo F RulapaughFrance2024-06-12Printing Dimensions UNQUALIFIED99Ivan Magalhaes
1010Jennifer Y RoysterCanada2024-06-21Rangoni Of Florence NEW73Onyama Limba
1011Munro E DilliardItaly2024-05-25Chemel, James L Cpa NEW78Ioni Bowcher
1012Mujtaba M OstroskyIndia2024-06-22Truhlar And Truhlar Attys PROPOSAL17Bernardo Dominic
1013Izzy O ChuiUnited Kingdom2024-06-20Rangoni Of Florence UNQUALIFIED90Stephen Shaw
1014Alejandro T SaylorsSpain2024-06-19Chemel, James L Cpa PROPOSAL81Elwin Sharvill
1015David Q RulapaughFrance2024-06-21Feiner Bros NEW6Stephen Shaw
1016Juan F DilliardJapan2024-05-31Dorl, James J Esq RENEWAL25Stephen Shaw
1017Stacey H InouyeRussia2024-06-20Rangoni Of Florence QUALIFIED99Bernardo Dominic
1018Faith D BriddickSpain2024-06-11Feiner Bros PROPOSAL0Bernardo Dominic
1019Munro K ButtJapan2024-06-19Chanay, Jeffrey A Esq QUALIFIED83Bernardo Dominic
1020Clifford Y RoysterFrance2024-06-02Buckley Miller Wright PROPOSAL41Elwin Sharvill
1021Greenwood V SaylorsFrance2024-06-14Feiner Bros RENEWAL82Elwin Sharvill
1022Aika Z RulapaughUnited Kingdom2024-06-20Chemel, James L Cpa UNQUALIFIED52Anna Fali
1023Isabel G MarrierGermany2024-06-09King, Christopher A Esq RENEWAL51Anna Fali
1024David B StensethSpain2024-06-04Printing Dimensions NEW34Ioni Bowcher
1025Chavez Y MarrierJapan2024-06-12Rousseaux, Michael Esq PROPOSAL68Amy Elsner
1026Misaki C SchemmerBrazil2024-05-25Benton, John B Jr RENEWAL52Elwin Sharvill
1027Ricardo X OldroydGermany2024-06-02Truhlar And Truhlar Attys UNQUALIFIED18Stephen Shaw
1028Clifford I ChuiItaly2024-06-17King, Christopher A Esq NEW6Bernardo Dominic
1029Clifford E SergiJapan2024-06-14Printing Dimensions PROPOSAL21Onyama Limba
1030Johnson W StockhamIndia2024-05-25Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1031Aditya C DoeIndia2024-06-18King, Christopher A Esq NEGOTIATION5Onyama Limba
1032Smith Y MarrierUnited Kingdom2024-06-15Feiner Bros QUALIFIED61Elwin Sharvill
1033Octavia A BriddickJapan2024-06-03Chapman, Ross E Esq NEGOTIATION71Ivan Magalhaes
1034Mujtaba M SchemmerBrazil2024-06-13Truhlar And Truhlar Attys RENEWAL20Amy Elsner
1035Deepesh N BologniaJapan2024-06-06Chapman, Ross E Esq QUALIFIED2Bernardo Dominic
1036Silvio T TollnerFrance2024-06-05Feltz Printing Service PROPOSAL15Elwin Sharvill
1037Munro O KuskoArgentina2024-05-26Rousseaux, Michael Esq QUALIFIED25Anna Fali
1038Cody G OldroydSpain2024-06-22King, Christopher A Esq RENEWAL51Ivan Magalhaes
1039Alejandro L StockhamAustralia2024-06-14Printing Dimensions RENEWAL37Xuxue Feng
1040Ivar R WhobreyGermany2024-06-09Commercial Press RENEWAL39Ioni Bowcher
1041Kaitlin N SchemmerAustralia2024-06-20Rousseaux, Michael Esq PROPOSAL87Xuxue Feng
1042Chavez G ShinkoAustralia2024-06-07Benton, John B Jr NEW98Ioni Bowcher
1043Costa E SchemmerSpain2024-06-13Printing Dimensions PROPOSAL68Xuxue Feng
1044Wickens Y StensethFrance2024-06-17Chapman, Ross E Esq PROPOSAL83Bernardo Dominic
1045Alejandro S TollnerItaly2024-05-24Benton, John B Jr NEW31Bernardo Dominic
1046Aika U FollerFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED36Ioni Bowcher
1047Leon O GillianFrance2024-06-20Chanay, Jeffrey A Esq QUALIFIED6Elwin Sharvill
1048Jeanfrancois V ChuiFrance2024-06-14Printing Dimensions NEGOTIATION21Xuxue Feng
1049Wickens V StockhamGermany2024-06-17Feltz Printing Service NEW30Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Clifford Y WhobreyArgentinaXuxue Feng UNQUALIFIED
Greenwood P BriddickArgentinaAmy Elsner QUALIFIED
Darci O VenereArgentinaAmy Elsner NEGOTIATION
Kadeem R FigeroaArgentinaElwin Sharvill UNQUALIFIED
Faith U ShinkoFranceElwin Sharvill RENEWAL
Murillo J StensethRussiaAmy Elsner QUALIFIED
Octavia I CaudyGermanyStephen Shaw QUALIFIED
Jones K MorascaIndiaIvan Magalhaes QUALIFIED
Jennifer W SaylorsAustraliaBernardo Dominic QUALIFIED
Kadeem P VocelkaSpainBernardo Dominic UNQUALIFIED
Mujtaba G CaldareraItalyAmy Elsner NEW
Morrow T OstroskyBrazilElwin Sharvill UNQUALIFIED
Salvatore R StensethUnited KingdomAnna Fali RENEWAL
Leja A KolmetzIndiaIvan Magalhaes UNQUALIFIED
Silvio T WhobreyArgentinaIvan Magalhaes NEGOTIATION
Adams D StensethJapanIvan Magalhaes NEGOTIATION
Munro B StensethSpainIoni Bowcher UNQUALIFIED
Antonio N VocelkaItalyStephen Shaw NEW
Ricardo R ChuiItalyIoni Bowcher NEGOTIATION
Leja G NestleGermanyAsiya Javayant NEW
Maria F FlosiSpainOnyama Limba QUALIFIED
Tony L WhobreyCanadaElwin Sharvill PROPOSAL
Adams V SlusarskiIndiaBernardo Dominic PROPOSAL
Leon T VenereAustraliaElwin Sharvill PROPOSAL
Nicolas S MorascaRussiaOnyama Limba UNQUALIFIED
Jennifer J DilliardGermanyIvan Magalhaes UNQUALIFIED
Cody I MarrierFranceAnna Fali QUALIFIED
Claire G CampainItalyAnna Fali RENEWAL
Aruna I TollnerAustraliaStephen Shaw NEGOTIATION
Leon K FigeroaSpainIoni Bowcher QUALIFIED
Clifford A ButtCanadaXuxue Feng NEGOTIATION
Jeanfrancois O BowleyJapanIvan Magalhaes RENEWAL
Ashley L OstroskyUnited KingdomAmy Elsner NEGOTIATION
Claire V BologniaGermanyBernardo Dominic NEW
James A MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Aruna U BowleyArgentinaAnna Fali PROPOSAL
Clifford J DilliardBrazilAmy Elsner QUALIFIED
Morrow C InouyeArgentinaAsiya Javayant NEW
Faith N GauchoAustraliaOnyama Limba NEGOTIATION
Sinclair H DoeFranceXuxue Feng RENEWAL
Morrow T VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Salvatore U RulapaughAustraliaAnna Fali NEW
Morrow Y RimItalyOnyama Limba RENEWAL
Clifford Q GauchoJapanAmy Elsner RENEWAL
Salvatore S CaldareraItalyIvan Magalhaes QUALIFIED
Julie X BowleyGermanyAmy Elsner PROPOSAL
Cody Z MaletIndiaXuxue Feng UNQUALIFIED
Smith K SlusarskiGermanyIoni Bowcher NEGOTIATION
Sinclair J RutaIndiaIvan Magalhaes QUALIFIED
Jeanfrancois I CaudyRussiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Faith K Caudy
Julie M Ruta
Emily J Glick
Johnson U Gaucho
Faith G Marrier
James K Malet
Jennifer D Kusko
Izzy W Malet
Mujtaba M Amigon
Ivar U Glick
David P Kolmetz
Ricardo P Malet
Sinclair H Venere
Julie B Maclead
Emily E Gillian
Jefferson P Gaucho
Clifford W Glick
Izzy E Ferencz
Stacey A Gillian
Emily S Darakjy
Kadeem V Waycott
Cody W Ruta
Francesco N Vocelka
Silvio O Ferencz
Ashley O Albares
Jeanfrancois P Amigon
Faith C Gillian
Costa A Butt
Faith O Nestle
Johnson N Paprocki
Silvio U Gaucho
Nicolas O Shinko
Octavia W Stockham
Faith L Wieser
Juan J Stenseth
Mayumi G Ruta
Kadeem S Ferencz
Deepesh M Doe
Stacey C Morasca
Claire I Flosi
Antonio L Whobrey
Munro U Sergi
Silvio A Darakjy
Jennifer Z Campain
Ivar X Maclead
Octavia H Amigon
Johnson T Albares
Maria H Malet
Cody F Foller
Costa C Stenseth
IdCountryDate
1000Spain2024-06-03
1001Spain2024-05-27
1002Argentina2024-05-24
1003Australia2024-06-07
1004India2024-06-05
1005Canada2024-06-09
1006Argentina2024-06-22
1007Canada2024-05-29
1008India2024-06-18
1009Germany2024-06-06
1010Australia2024-06-06
1011Germany2024-06-08
1012Spain2024-05-27
1013Canada2024-06-05
1014Argentina2024-05-27
1015Argentina2024-05-27
1016India2024-05-24
1017India2024-06-01
1018India2024-05-28
1019Italy2024-06-08
1020India2024-06-09
1021Australia2024-05-29
1022United Kingdom2024-05-29
1023India2024-06-20
1024Australia2024-05-28
1025Japan2024-06-07
1026Spain2024-06-19
1027Brazil2024-06-04
1028France2024-06-13
1029United Kingdom2024-06-03
1030United Kingdom2024-06-01
1031United Kingdom2024-06-13
1032Japan2024-05-26
1033Germany2024-05-25
1034United Kingdom2024-06-13
1035Germany2024-05-24
1036Russia2024-06-16
1037Argentina2024-06-15
1038Russia2024-06-07
1039Canada2024-05-27
1040United Kingdom2024-06-17
1041Japan2024-06-10
1042Brazil2024-06-06
1043Spain2024-06-04
1044Russia2024-05-29
1045Spain2024-06-15
1046India2024-05-27
1047India2024-05-27
1048Germany2024-06-08
1049Australia2024-06-05

On-Demand Data

NameIdCountryDate
Chavez P Schemmer1000Australia2024-05-27
Smith C Stenseth1001France2024-06-14
Greenwood B Paprocki1002United Kingdom2024-06-11
Smith F Campain1003Argentina2024-05-29
Jones B Nicka1004Italy2024-06-09
Octavia T Bowley1005Russia2024-06-12
Claire R Nestle1006Canada2024-06-16
Chavez Q Kolmetz1007Germany2024-06-21
James D Flosi1008Argentina2024-05-28
Morrow W Schemmer1009Brazil2024-06-05
Ivar B Amigon1010Russia2024-05-29
Smith U Shinko1011United Kingdom2024-06-04
Clifford W Malet1012Spain2024-05-28
Claire J Caudy1013Italy2024-05-26
Ivar A Stenseth1014Spain2024-06-19
Chavez F Sergi1015France2024-06-05
Faith B Poquette1016Argentina2024-06-13
Sinclair M Gillian1017Argentina2024-05-30
Aditya J Gaucho1018Japan2024-05-30
Smith I Whobrey1019Germany2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily G MarrierGermanyAmy Elsner PROPOSAL
Ashley O RulapaughSpainXuxue Feng NEGOTIATION
Maisha D SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Juan I FerenczArgentinaOnyama Limba UNQUALIFIED
Ivar T ChuiSpainElwin Sharvill NEGOTIATION
Jones I SchemmerArgentinaAmy Elsner UNQUALIFIED
Costa W WieserItalyBernardo Dominic NEW
Darci G BologniaFranceIvan Magalhaes QUALIFIED
Smith H SlusarskiRussiaElwin Sharvill NEW
Nicolas P AlbaresUnited KingdomAmy Elsner NEW
Juan Q RulapaughItalyElwin Sharvill UNQUALIFIED
Maisha P FerenczJapanAnna Fali UNQUALIFIED
Leon A ChuiRussiaAsiya Javayant QUALIFIED
Leon X SchemmerRussiaStephen Shaw NEW
Alejandro F FollerJapanAsiya Javayant NEGOTIATION
Arvin I BologniaSpainAnna Fali RENEWAL
Greenwood K GlickIndiaIvan Magalhaes QUALIFIED
James Q FigeroaArgentinaAnna Fali RENEWAL
Johnson H VenereBrazilElwin Sharvill UNQUALIFIED
Mayumi A OstroskyJapanAnna Fali PROPOSAL
Tony F VocelkaGermanyAmy Elsner NEW
Kaitlin W SchemmerIndiaBernardo Dominic PROPOSAL
Leon P CaudyIndiaAnna Fali PROPOSAL
Jefferson X RoysterGermanyStephen Shaw QUALIFIED
Jefferson U PaprockiAustraliaXuxue Feng NEW
Ashley S RutaIndiaOnyama Limba QUALIFIED
Costa N MaletFranceXuxue Feng QUALIFIED
Ashley B CaudyJapanAnna Fali RENEWAL
Smith Z WhobreyJapanElwin Sharvill UNQUALIFIED
James Q DoeAustraliaStephen Shaw PROPOSAL
Jeanfrancois L RutaBrazilBernardo Dominic NEW
Clifford L ChuiJapanBernardo Dominic UNQUALIFIED
Salvatore B ChuiFranceElwin Sharvill NEW
Sinclair B PoquetteItalyAmy Elsner NEGOTIATION
Jeanfrancois J FigeroaCanadaAnna Fali NEW
Antonio W IturbideCanadaAsiya Javayant PROPOSAL
Adams W RimAustraliaOnyama Limba UNQUALIFIED
Misaki Y MarrierGermanyElwin Sharvill NEGOTIATION
Misaki Y StockhamBrazilBernardo Dominic RENEWAL
David X RimGermanyOnyama Limba 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>