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 D MaletArgentinaIoni Bowcher RENEWAL
Tony S MarrierAustraliaAsiya Javayant QUALIFIED
Aika N NestleArgentinaOnyama Limba NEGOTIATION
Sinclair X GillianIndiaAsiya Javayant UNQUALIFIED
James Z PoquetteJapanBernardo Dominic PROPOSAL
Silvio M ButtJapanAmy Elsner PROPOSAL
Ricardo F PerinIndiaAsiya Javayant UNQUALIFIED
Morrow A KuskoSpainElwin Sharvill NEW
Aruna M CampainArgentinaOnyama Limba NEW
Antonio K PoquetteGermanyIvan Magalhaes NEW
Deepesh E MorascaUnited KingdomBernardo Dominic QUALIFIED
Leon J AlbaresSpainIoni Bowcher QUALIFIED
Jeanfrancois Q MorascaIndiaIvan Magalhaes QUALIFIED
Maria F CaudyBrazilElwin Sharvill RENEWAL
Misaki G RimCanadaAmy Elsner NEW
Clifford T BowleyGermanyAmy Elsner QUALIFIED
Wickens M FlosiRussiaAsiya Javayant PROPOSAL
Nicolas M RoysterBrazilStephen Shaw PROPOSAL
Leon C PaprockiFranceStephen Shaw RENEWAL
Stacey S NickaFranceXuxue Feng PROPOSAL
Ashley Z ButtBrazilStephen Shaw RENEWAL
Aruna Y AlbaresUnited KingdomBernardo Dominic RENEWAL
Costa X FigeroaRussiaElwin Sharvill PROPOSAL
Jones F NickaArgentinaBernardo Dominic PROPOSAL
Greenwood W NickaArgentinaElwin Sharvill RENEWAL
Jeanfrancois T SergiRussiaElwin Sharvill NEW
Ivar B GauchoGermanyOnyama Limba NEW
Morrow F NestleRussiaElwin Sharvill QUALIFIED
Julie L PerinUnited KingdomAnna Fali UNQUALIFIED
Maisha W MaletAustraliaAnna Fali QUALIFIED
Julie D IturbideGermanyOnyama Limba PROPOSAL
Faith Y IturbideRussiaBernardo Dominic QUALIFIED
Kaitlin F WaycottSpainStephen Shaw UNQUALIFIED
Francesco Z DarakjyCanadaIvan Magalhaes QUALIFIED
Greenwood K StensethFranceAsiya Javayant NEGOTIATION
Emily G FigeroaJapanXuxue Feng RENEWAL
Emily L WaycottItalyAnna Fali PROPOSAL
Maria P PoquetteIndiaIvan Magalhaes NEW
Misaki Z DoeCanadaElwin Sharvill RENEWAL
Jennifer C KolmetzArgentinaBernardo Dominic UNQUALIFIED
Ivar U CaldareraUnited KingdomXuxue Feng PROPOSAL
Costa J RulapaughItalyXuxue Feng QUALIFIED
Jones R FlosiSpainXuxue Feng UNQUALIFIED
Darci N StockhamGermanyXuxue Feng NEGOTIATION
Misaki R InouyeArgentinaStephen Shaw PROPOSAL
James J CampainSpainAmy Elsner UNQUALIFIED
Jefferson Z GlickSpainBernardo Dominic UNQUALIFIED
Jefferson G NickaIndiaAnna Fali QUALIFIED
Cody O TollnerItalyOnyama Limba QUALIFIED
Cody S StockhamJapanAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin Q OldroydArgentinaOnyama Limba QUALIFIED
Tony Y WhobreyCanadaAnna Fali UNQUALIFIED
Morrow F BowleyJapanStephen Shaw NEW
Aika V FlosiItalyAnna Fali UNQUALIFIED
Aditya L InouyeArgentinaAmy Elsner NEGOTIATION
Salvatore L RulapaughIndiaIvan Magalhaes QUALIFIED
Aditya S FigeroaJapanIvan Magalhaes RENEWAL
Clifford M BologniaFranceIoni Bowcher NEGOTIATION
Ashley G CaudySpainBernardo Dominic NEGOTIATION
Wickens S TollnerJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily F VocelkaRussia2024-06-04Chapman, Ross E Esq NEGOTIATION62Onyama Limba
1001Juan C AmigonGermany2024-05-26Printing Dimensions NEW53Ioni Bowcher
1002Isabel X StockhamSpain2024-06-10Chanay, Jeffrey A Esq PROPOSAL18Ioni Bowcher
1003Isabel P IturbideArgentina2024-06-12Chemel, James L Cpa RENEWAL88Stephen Shaw
1004Maria H SaylorsGermany2024-05-27Buckley Miller Wright UNQUALIFIED58Xuxue Feng
1005Greenwood L FerenczRussia2024-06-11Chemel, James L Cpa QUALIFIED18Bernardo Dominic
1006David A WieserCanada2024-06-16King, Christopher A Esq NEW89Ioni Bowcher
1007Clifford I FlosiBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION8Stephen Shaw
1008Munro A WhobreyItaly2024-06-18Benton, John B Jr RENEWAL14Xuxue Feng
1009James E AlbaresItaly2024-06-09Truhlar And Truhlar Attys NEGOTIATION11Ivan Magalhaes
1010Leon D GlickAustralia2024-06-04Printing Dimensions NEGOTIATION13Bernardo Dominic
1011Adams Z WhobreyArgentina2024-05-31King, Christopher A Esq NEGOTIATION57Onyama Limba
1012Sinclair E CampainRussia2024-05-30Printing Dimensions QUALIFIED98Asiya Javayant
1013Mayumi T SergiFrance2024-06-06Feiner Bros NEGOTIATION33Anna Fali
1014Cody A ButtBrazil2024-06-15Dorl, James J Esq QUALIFIED55Xuxue Feng
1015Arvin Q MorascaArgentina2024-05-30Benton, John B Jr UNQUALIFIED34Ivan Magalhaes
1016Aditya O PoquetteFrance2024-05-24Truhlar And Truhlar Attys RENEWAL39Stephen Shaw
1017Deepesh E AmigonIndia2024-06-12Printing Dimensions PROPOSAL24Stephen Shaw
1018Morrow T PoquetteGermany2024-06-15Feiner Bros NEW61Anna Fali
1019Stacey Z CaldareraCanada2024-06-06Dorl, James J Esq RENEWAL29Asiya Javayant
1020Faith O FollerBrazil2024-06-16Feiner Bros NEGOTIATION22Onyama Limba
1021Aika Q VocelkaJapan2024-06-15Dorl, James J Esq PROPOSAL88Bernardo Dominic
1022Aruna A GillianFrance2024-06-07Morlong Associates UNQUALIFIED69Stephen Shaw
1023Ashley O NickaSpain2024-05-31Dorl, James J Esq UNQUALIFIED23Ivan Magalhaes
1024Silvio K BowleySpain2024-06-19Printing Dimensions NEW33Ivan Magalhaes
1025Stacey O CaldareraIndia2024-05-25Feiner Bros RENEWAL84Xuxue Feng
1026Smith G SlusarskiCanada2024-06-10Chanay, Jeffrey A Esq NEW85Amy Elsner
1027Izzy E PerinRussia2024-06-12Printing Dimensions UNQUALIFIED38Onyama Limba
1028Kadeem U CaudyUnited Kingdom2024-05-30Benton, John B Jr NEGOTIATION50Anna Fali
1029Wickens L RutaUnited Kingdom2024-06-14Benton, John B Jr PROPOSAL33Xuxue Feng
1030Ivar L MaletArgentina2024-06-16Rousseaux, Michael Esq RENEWAL45Anna Fali
1031Johnson Q SchemmerGermany2024-06-03Benton, John B Jr RENEWAL54Onyama Limba
1032Misaki E RutaSpain2024-05-30Commercial Press NEW55Xuxue Feng
1033Faith P SaylorsGermany2024-06-18Printing Dimensions NEW44Amy Elsner
1034Costa U ButtGermany2024-06-18Chemel, James L Cpa UNQUALIFIED72Ivan Magalhaes
1035Arvin D RimItaly2024-05-26Dorl, James J Esq NEGOTIATION35Elwin Sharvill
1036Clifford N SlusarskiAustralia2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED1Amy Elsner
1037Clifford A ChuiArgentina2024-05-29Chanay, Jeffrey A Esq RENEWAL63Onyama Limba
1038Darci D DarakjyGermany2024-05-26Printing Dimensions RENEWAL65Asiya Javayant
1039Munro M BologniaGermany2024-05-24Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1040Costa U ShinkoSpain2024-05-25Feltz Printing Service UNQUALIFIED49Ioni Bowcher
1041Wickens Y ButtRussia2024-06-16Chapman, Ross E Esq UNQUALIFIED48Elwin Sharvill
1042Jennifer T FerenczUnited Kingdom2024-06-16Dorl, James J Esq PROPOSAL42Amy Elsner
1043Arvin R SchemmerBrazil2024-06-03Commercial Press NEGOTIATION74Elwin Sharvill
1044Francesco Z AlbaresBrazil2024-06-21Commercial Press PROPOSAL11Asiya Javayant
1045Kaitlin U VenereArgentina2024-05-26Truhlar And Truhlar Attys PROPOSAL63Amy Elsner
1046Antonio H RoysterSpain2024-06-20Chapman, Ross E Esq QUALIFIED18Ivan Magalhaes
1047James F WieserItaly2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED98Bernardo Dominic
1048Ricardo T FerenczGermany2024-06-02Printing Dimensions NEGOTIATION28Elwin Sharvill
1049Darci Y GauchoBrazil2024-06-21Feltz Printing Service UNQUALIFIED86Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams D OstroskyRussiaXuxue Feng RENEWAL
Adams X OstroskyItalyXuxue Feng PROPOSAL
Maria O MaletAustraliaAsiya Javayant UNQUALIFIED
Maisha L MorascaFranceXuxue Feng PROPOSAL
Johnson L SergiBrazilElwin Sharvill QUALIFIED
Arvin R InouyeSpainStephen Shaw RENEWAL
Aruna I GauchoUnited KingdomElwin Sharvill NEGOTIATION
Jennifer L GlickFranceBernardo Dominic RENEWAL
Murillo Z ButtJapanIoni Bowcher NEW
Arvin W BologniaBrazilOnyama Limba NEW
Leja N FollerSpainElwin Sharvill PROPOSAL
Silvio O StensethAustraliaAmy Elsner NEGOTIATION
Julie X IturbideFranceAsiya Javayant RENEWAL
Jones L GillianBrazilOnyama Limba PROPOSAL
Deepesh Y RimGermanyElwin Sharvill NEGOTIATION
Julie Q PerinCanadaOnyama Limba UNQUALIFIED
Mujtaba H DoeJapanAmy Elsner NEW
Jones T NestleBrazilOnyama Limba NEW
Izzy I BriddickUnited KingdomAmy Elsner RENEWAL
Ashley Y WhobreyGermanyStephen Shaw PROPOSAL
Mayumi C RoysterJapanBernardo Dominic NEW
Kaitlin K CaudyBrazilAsiya Javayant NEW
Chavez H VenereGermanyStephen Shaw UNQUALIFIED
Adams U MaletFranceIoni Bowcher QUALIFIED
Alejandro N AlbaresBrazilAnna Fali NEGOTIATION
Morrow T StockhamGermanyXuxue Feng PROPOSAL
Faith N InouyeGermanyAmy Elsner QUALIFIED
Octavia G StensethAustraliaOnyama Limba UNQUALIFIED
Sinclair W KolmetzFranceAnna Fali UNQUALIFIED
Stacey T WaycottArgentinaIvan Magalhaes RENEWAL
Aika M RutaCanadaStephen Shaw UNQUALIFIED
Ivar I NestleBrazilElwin Sharvill PROPOSAL
Francesco D MorascaArgentinaXuxue Feng RENEWAL
Maria L ChuiFranceOnyama Limba NEGOTIATION
Smith D SlusarskiRussiaStephen Shaw QUALIFIED
Ivar J DilliardAustraliaIoni Bowcher UNQUALIFIED
Ivar H SaylorsFranceAmy Elsner QUALIFIED
Ivar W RimUnited KingdomIoni Bowcher UNQUALIFIED
Smith J PaprockiCanadaIvan Magalhaes PROPOSAL
Emily E ShinkoGermanyXuxue Feng PROPOSAL
Deepesh V PoquetteUnited KingdomIoni Bowcher PROPOSAL
Mujtaba N IturbideUnited KingdomXuxue Feng RENEWAL
Adams X FerenczUnited KingdomAsiya Javayant QUALIFIED
Isabel Y GillianFranceOnyama Limba UNQUALIFIED
Aruna J MaletBrazilXuxue Feng NEGOTIATION
Murillo W GlickBrazilElwin Sharvill UNQUALIFIED
Mujtaba L RoysterGermanyAsiya Javayant NEW
Aditya B PerinGermanyAsiya Javayant NEGOTIATION
Arvin Q RimRussiaAnna Fali RENEWAL
Juan C MacleadItalyIoni Bowcher PROPOSAL
Frozen Columns
Name
Faith V Slusarski
Darci H Nicka
Mayumi Y Dilliard
Rodrigues H Ferencz
Ivar V Ruta
Rodrigues Y Bolognia
Faith N Marrier
Antonio I Campain
Morrow T Ferencz
Maria L Doe
Julie E Malet
Jefferson C Malet
Julie E Whobrey
Ashley Q Whobrey
Nicolas E Caudy
James G Ruta
Maria X Malet
Silvio T Vocelka
Izzy J Caudy
Greenwood R Gaucho
Faith W Iturbide
Cody P Iturbide
Kaitlin T Maclead
Munro A Caudy
Izzy V Amigon
Jeanfrancois K Rulapaugh
Darci V Malet
James I Whobrey
Maisha M Venere
Jeanfrancois M Whobrey
Ricardo R Marrier
Leja C Venere
Morrow U Darakjy
Leon M Perin
Greenwood D Caudy
Salvatore P Ostrosky
Greenwood Y Venere
Greenwood Y Whobrey
Leon M Ostrosky
Smith E Venere
Munro K Poquette
Ashley N Kolmetz
Sinclair O Caldarera
Julie X Caldarera
Aika H Royster
Misaki O Oldroyd
Juan A Garufi
Darci F Schemmer
Chavez T Caldarera
James P Campain
IdCountryDate
1000Russia2024-06-16
1001India2024-06-12
1002Canada2024-06-18
1003France2024-06-15
1004Australia2024-06-11
1005Canada2024-06-21
1006Japan2024-06-13
1007France2024-05-27
1008Spain2024-06-12
1009India2024-06-10
1010Argentina2024-06-02
1011Russia2024-06-20
1012Brazil2024-06-20
1013Russia2024-06-21
1014Argentina2024-05-25
1015Argentina2024-06-05
1016India2024-06-15
1017United Kingdom2024-06-15
1018Canada2024-05-30
1019France2024-06-08
1020Australia2024-06-07
1021France2024-06-06
1022Argentina2024-05-27
1023Japan2024-06-05
1024Spain2024-06-06
1025United Kingdom2024-05-28
1026Australia2024-06-03
1027United Kingdom2024-06-11
1028Brazil2024-06-14
1029Australia2024-06-22
1030Canada2024-06-07
1031Italy2024-06-09
1032Germany2024-06-05
1033Germany2024-05-26
1034Russia2024-06-07
1035United Kingdom2024-06-17
1036United Kingdom2024-06-14
1037Germany2024-06-14
1038Spain2024-06-14
1039Italy2024-06-17
1040Japan2024-06-11
1041Spain2024-06-04
1042Argentina2024-06-09
1043Japan2024-06-05
1044Germany2024-06-08
1045Australia2024-06-07
1046Brazil2024-06-01
1047Spain2024-06-12
1048Russia2024-05-30
1049Russia2024-06-17

On-Demand Data

NameIdCountryDate
James K Perin1000Italy2024-06-22
Deepesh N Sergi1001India2024-06-18
Jones S Amigon1002Italy2024-06-19
Mujtaba Y Bowley1003India2024-05-29
Jennifer B Kusko1004Brazil2024-06-17
Greenwood A Caldarera1005United Kingdom2024-06-06
Octavia U Malet1006Russia2024-06-11
Costa J Waycott1007Australia2024-06-20
Aika I Vocelka1008Argentina2024-06-20
Smith H Saylors1009Brazil2024-06-02
Maisha D Slusarski1010Brazil2024-06-03
Jennifer U Ostrosky1011Germany2024-06-12
Wickens B Wieser1012Argentina2024-06-10
Deepesh H Poquette1013India2024-06-09
Johnson A Whobrey1014Japan2024-06-21
Ivar P Iturbide1015Canada2024-05-24
Maisha X Inouye1016Russia2024-06-15
Darci L Flosi1017United Kingdom2024-06-04
Leja R Slusarski1018Russia2024-05-27
Rodrigues U Doe1019India2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony T DilliardIndiaElwin Sharvill NEW
Stacey I FollerGermanyIoni Bowcher UNQUALIFIED
Stacey T RulapaughCanadaIoni Bowcher PROPOSAL
Darci D BowleyArgentinaAnna Fali UNQUALIFIED
Faith W PaprockiGermanyOnyama Limba RENEWAL
Jeanfrancois L WieserFranceIoni Bowcher UNQUALIFIED
Aruna M SaylorsSpainOnyama Limba QUALIFIED
Chavez B InouyeFranceIoni Bowcher QUALIFIED
Jones I NickaGermanyAnna Fali UNQUALIFIED
Aika Z WaycottIndiaElwin Sharvill UNQUALIFIED
Ricardo G AmigonRussiaXuxue Feng NEW
Sinclair A MarrierItalyXuxue Feng UNQUALIFIED
Costa K MorascaArgentinaAsiya Javayant PROPOSAL
Antonio B GarufiItalyIvan Magalhaes QUALIFIED
Murillo G PerinArgentinaAsiya Javayant PROPOSAL
Faith E TollnerFranceElwin Sharvill NEW
Munro F GlickSpainIvan Magalhaes NEGOTIATION
Leja M DarakjyArgentinaElwin Sharvill PROPOSAL
Octavia J SaylorsIndiaBernardo Dominic RENEWAL
Aruna B SchemmerJapanStephen Shaw NEW
Ricardo I CaudyItalyAnna Fali QUALIFIED
Izzy B GarufiIndiaAmy Elsner UNQUALIFIED
Faith L PerinItalyOnyama Limba UNQUALIFIED
Silvio W AlbaresSpainIvan Magalhaes NEW
Isabel J ChuiGermanyAnna Fali UNQUALIFIED
Johnson M DilliardRussiaElwin Sharvill NEW
Darci T SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Alejandro J MaletAustraliaAmy Elsner UNQUALIFIED
Smith D NickaAustraliaAsiya Javayant QUALIFIED
Morrow W ButtUnited KingdomIvan Magalhaes NEW
Morrow J BologniaIndiaElwin Sharvill RENEWAL
Deepesh J FollerIndiaBernardo Dominic PROPOSAL
Chavez V NestleJapanStephen Shaw NEW
Octavia P PoquetteAustraliaElwin Sharvill NEGOTIATION
Darci N WieserFranceStephen Shaw NEGOTIATION
Francesco I RimIndiaBernardo Dominic QUALIFIED
Darci O InouyeAustraliaElwin Sharvill UNQUALIFIED
Murillo C SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Claire W BowleyAustraliaXuxue Feng NEGOTIATION
Leon T NickaCanadaStephen Shaw 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>