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
Sinclair G MaletRussiaAmy Elsner PROPOSAL
Maria A VenereCanadaAmy Elsner UNQUALIFIED
Deepesh L BriddickUnited KingdomXuxue Feng RENEWAL
Costa I GlickAustraliaAsiya Javayant PROPOSAL
Faith N PaprockiRussiaBernardo Dominic RENEWAL
Sinclair Z RulapaughFranceStephen Shaw UNQUALIFIED
Claire F CaudyAustraliaIoni Bowcher PROPOSAL
Aruna K CaldareraGermanyOnyama Limba UNQUALIFIED
Juan Y NickaArgentinaAsiya Javayant NEGOTIATION
Faith R AmigonJapanBernardo Dominic QUALIFIED
Leon C AlbaresItalyAmy Elsner RENEWAL
Mayumi W OstroskyItalyIvan Magalhaes NEW
Alejandro E MarrierItalyXuxue Feng PROPOSAL
Clifford E RutaGermanyIoni Bowcher PROPOSAL
Aditya U RimBrazilAnna Fali RENEWAL
Mayumi S WaycottBrazilElwin Sharvill NEGOTIATION
Julie H KolmetzUnited KingdomStephen Shaw QUALIFIED
Faith R GlickIndiaStephen Shaw PROPOSAL
Leon K FlosiItalyOnyama Limba NEW
Sinclair A DarakjyRussiaIoni Bowcher NEGOTIATION
Jefferson G SlusarskiItalyXuxue Feng NEW
Jones V NestleUnited KingdomAsiya Javayant NEW
Cody A MacleadCanadaAsiya Javayant NEW
Francesco T DarakjyGermanyBernardo Dominic NEGOTIATION
Octavia Z AlbaresAustraliaElwin Sharvill UNQUALIFIED
Johnson E RutaArgentinaElwin Sharvill QUALIFIED
Jeanfrancois X StockhamGermanyStephen Shaw RENEWAL
Chavez K IturbideAustraliaXuxue Feng NEW
Aika K InouyeItalyBernardo Dominic QUALIFIED
Greenwood F SergiIndiaXuxue Feng PROPOSAL
Ashley U BologniaAustraliaIvan Magalhaes NEW
Julie D RulapaughJapanBernardo Dominic PROPOSAL
Greenwood C SchemmerAustraliaIoni Bowcher QUALIFIED
Jeanfrancois O IturbideSpainAsiya Javayant RENEWAL
Sinclair V KolmetzAustraliaXuxue Feng QUALIFIED
Ashley L RutaRussiaAnna Fali QUALIFIED
Mayumi M KuskoAustraliaBernardo Dominic QUALIFIED
Sinclair C MarrierItalyAmy Elsner RENEWAL
Misaki S MaletRussiaStephen Shaw NEGOTIATION
Tony I SaylorsGermanyAsiya Javayant QUALIFIED
Kaitlin K ShinkoSpainBernardo Dominic NEW
Arvin Q SchemmerCanadaAnna Fali PROPOSAL
Ashley A MacleadJapanIoni Bowcher NEW
Murillo P RulapaughIndiaOnyama Limba NEW
Wickens L BriddickAustraliaOnyama Limba PROPOSAL
Chavez B GauchoGermanyStephen Shaw NEW
Wickens B FerenczCanadaOnyama Limba RENEWAL
Aditya G RulapaughUnited KingdomBernardo Dominic QUALIFIED
Cody Q RimCanadaBernardo Dominic PROPOSAL
Silvio C BowleyArgentinaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Aika V VenereRussiaIoni Bowcher PROPOSAL
Kaitlin P PaprockiFranceStephen Shaw NEGOTIATION
David K CaudyIndiaXuxue Feng PROPOSAL
Kaitlin F CaldareraAustraliaAmy Elsner UNQUALIFIED
Jennifer I KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas B TollnerRussiaIvan Magalhaes RENEWAL
Kadeem F GillianCanadaIvan Magalhaes NEGOTIATION
Cody Q FerenczCanadaBernardo Dominic NEGOTIATION
Morrow Z StensethJapanElwin Sharvill RENEWAL
Isabel Z RoysterItalyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Z GauchoFrance2026-07-14Truhlar And Truhlar Attys NEGOTIATION99Elwin Sharvill
1001Aruna L SergiFrance2026-07-04Feltz Printing Service NEW92Anna Fali
1002Ivar I FollerUnited Kingdom2026-07-13Chapman, Ross E Esq UNQUALIFIED48Ivan Magalhaes
1003Juan Q DarakjyArgentina2026-06-30Benton, John B Jr UNQUALIFIED16Ioni Bowcher
1004Jennifer M IturbideCanada2026-07-18Chanay, Jeffrey A Esq NEW46Ioni Bowcher
1005Julie G TollnerSpain2026-07-21Morlong Associates NEW29Bernardo Dominic
1006Antonio O MarrierArgentina2026-06-22Morlong Associates UNQUALIFIED97Elwin Sharvill
1007Silvio R WieserAustralia2026-07-16Chapman, Ross E Esq PROPOSAL32Xuxue Feng
1008Maria Q StockhamIndia2026-06-26Dorl, James J Esq QUALIFIED62Xuxue Feng
1009Deepesh F SchemmerItaly2026-07-04Commercial Press NEGOTIATION12Ivan Magalhaes
1010Jones G MaletItaly2026-07-12Buckley Miller Wright NEW23Anna Fali
1011Misaki W BriddickJapan2026-07-01Dorl, James J Esq NEW4Anna Fali
1012Deepesh Y RoysterItaly2026-06-30Commercial Press NEW45Ioni Bowcher
1013Ricardo V MaletAustralia2026-07-11Morlong Associates NEW98Elwin Sharvill
1014Octavia D GauchoSpain2026-07-19Chanay, Jeffrey A Esq UNQUALIFIED47Bernardo Dominic
1015Johnson U FigeroaJapan2026-07-15King, Christopher A Esq UNQUALIFIED74Ivan Magalhaes
1016Misaki E AmigonGermany2026-06-29Rangoni Of Florence PROPOSAL55Anna Fali
1017Maria W FollerAustralia2026-07-12Printing Dimensions PROPOSAL1Elwin Sharvill
1018Darci T RulapaughArgentina2026-07-08Feltz Printing Service UNQUALIFIED77Amy Elsner
1019Aditya A ShinkoArgentina2026-07-08King, Christopher A Esq UNQUALIFIED21Onyama Limba
1020Jones A FollerSpain2026-07-01Dorl, James J Esq UNQUALIFIED83Onyama Limba
1021Jeanfrancois F VenereUnited Kingdom2026-07-13King, Christopher A Esq RENEWAL72Asiya Javayant
1022Costa R GauchoRussia2026-07-04Chemel, James L Cpa PROPOSAL60Amy Elsner
1023Tony I PaprockiFrance2026-07-18Rousseaux, Michael Esq UNQUALIFIED64Ioni Bowcher
1024Antonio S PaprockiItaly2026-06-23Printing Dimensions UNQUALIFIED25Ioni Bowcher
1025David I VenereUnited Kingdom2026-07-01Chanay, Jeffrey A Esq QUALIFIED40Amy Elsner
1026Silvio E DilliardRussia2026-07-10Rangoni Of Florence NEGOTIATION78Onyama Limba
1027Claire Q StockhamJapan2026-07-08Rangoni Of Florence QUALIFIED24Ioni Bowcher
1028Salvatore S WhobreySpain2026-07-03Feltz Printing Service RENEWAL71Xuxue Feng
1029Emily X BologniaFrance2026-07-14Feltz Printing Service QUALIFIED82Xuxue Feng
1030Mujtaba N DoeCanada2026-07-04Truhlar And Truhlar Attys RENEWAL76Xuxue Feng
1031Deepesh E RutaItaly2026-07-14Dorl, James J Esq RENEWAL0Ioni Bowcher
1032Maisha F BriddickUnited Kingdom2026-07-14King, Christopher A Esq RENEWAL36Bernardo Dominic
1033Salvatore A StensethFrance2026-07-05Chanay, Jeffrey A Esq QUALIFIED78Amy Elsner
1034Juan A DoeArgentina2026-07-01Buckley Miller Wright QUALIFIED68Ioni Bowcher
1035Chavez K WaycottSpain2026-06-29Morlong Associates UNQUALIFIED40Bernardo Dominic
1036Costa J MaletSpain2026-07-01Buckley Miller Wright NEGOTIATION82Onyama Limba
1037Jones M PaprockiBrazil2026-06-26Feltz Printing Service PROPOSAL52Amy Elsner
1038Deepesh G StockhamAustralia2026-07-03Dorl, James J Esq RENEWAL9Anna Fali
1039Leja B RulapaughCanada2026-06-24Benton, John B Jr RENEWAL89Ioni Bowcher
1040Johnson B MorascaBrazil2026-07-10Commercial Press NEGOTIATION85Anna Fali
1041Misaki I ShinkoItaly2026-07-21Commercial Press NEW9Ivan Magalhaes
1042Leja Z SaylorsCanada2026-07-15Rangoni Of Florence RENEWAL16Onyama Limba
1043Jefferson P ButtGermany2026-07-13Printing Dimensions UNQUALIFIED47Onyama Limba
1044Tony G WieserBrazil2026-07-02Chapman, Ross E Esq RENEWAL84Ioni Bowcher
1045Maria Q SlusarskiGermany2026-07-01Buckley Miller Wright UNQUALIFIED87Onyama Limba
1046Wickens D SchemmerUnited Kingdom2026-07-11Benton, John B Jr NEGOTIATION7Elwin Sharvill
1047Rodrigues L ShinkoGermany2026-07-13Truhlar And Truhlar Attys QUALIFIED19Xuxue Feng
1048Rodrigues Z SlusarskiArgentina2026-07-19Commercial Press QUALIFIED10Amy Elsner
1049Tony R DilliardSpain2026-07-19Morlong Associates UNQUALIFIED98Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody E ButtUnited KingdomOnyama Limba NEGOTIATION
Claire H RimCanadaXuxue Feng UNQUALIFIED
Mayumi K MarrierUnited KingdomOnyama Limba NEW
Cody R NestleAustraliaXuxue Feng NEGOTIATION
Jones X OstroskyBrazilAmy Elsner UNQUALIFIED
Wickens F SlusarskiIndiaXuxue Feng NEGOTIATION
Murillo M NestleJapanAsiya Javayant NEW
Aika R MorascaIndiaElwin Sharvill RENEWAL
Faith P ButtArgentinaAnna Fali PROPOSAL
Jeanfrancois U OstroskyRussiaElwin Sharvill NEGOTIATION
Stacey T PerinSpainElwin Sharvill UNQUALIFIED
Aika T GauchoAustraliaXuxue Feng PROPOSAL
Salvatore R SlusarskiGermanyIoni Bowcher PROPOSAL
Ashley Z DilliardSpainIoni Bowcher NEGOTIATION
Jefferson F IturbideSpainIoni Bowcher PROPOSAL
Costa S SchemmerItalyIvan Magalhaes RENEWAL
Smith B DarakjyFranceElwin Sharvill PROPOSAL
Salvatore I CaldareraArgentinaXuxue Feng UNQUALIFIED
Kaitlin K DarakjyJapanStephen Shaw QUALIFIED
James L MaletUnited KingdomXuxue Feng UNQUALIFIED
Costa F FollerUnited KingdomXuxue Feng PROPOSAL
Munro C GarufiBrazilAmy Elsner RENEWAL
Leon F StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Tony B FlosiFranceAnna Fali NEGOTIATION
Clifford H FollerRussiaStephen Shaw RENEWAL
Clifford J OldroydAustraliaAnna Fali UNQUALIFIED
Ivar S RutaAustraliaOnyama Limba NEGOTIATION
Jennifer W OldroydArgentinaAnna Fali UNQUALIFIED
Juan S MaletRussiaAnna Fali UNQUALIFIED
Salvatore L RimFranceAsiya Javayant UNQUALIFIED
Misaki B PaprockiJapanIoni Bowcher RENEWAL
Tony E AlbaresItalyOnyama Limba RENEWAL
Jefferson R MaletUnited KingdomXuxue Feng UNQUALIFIED
Tony I MorascaBrazilAmy Elsner UNQUALIFIED
Mayumi I BriddickIndiaStephen Shaw RENEWAL
Sinclair F MarrierSpainXuxue Feng NEW
Darci V GillianFranceAnna Fali NEGOTIATION
David X MacleadSpainOnyama Limba PROPOSAL
Jefferson B DarakjyBrazilAmy Elsner RENEWAL
Wickens F OldroydUnited KingdomAmy Elsner UNQUALIFIED
Aruna F WieserJapanAmy Elsner RENEWAL
Cody G FollerCanadaAsiya Javayant NEW
Leja Q VocelkaCanadaStephen Shaw UNQUALIFIED
Aika H RoysterJapanIoni Bowcher PROPOSAL
Julie K VocelkaSpainStephen Shaw QUALIFIED
Silvio N RutaArgentinaOnyama Limba NEGOTIATION
Misaki M SaylorsBrazilIoni Bowcher RENEWAL
Aditya P BriddickIndiaAmy Elsner QUALIFIED
Cody P AmigonFranceElwin Sharvill RENEWAL
Chavez O SaylorsItalyAmy Elsner PROPOSAL
Frozen Columns
Name
Ashley S Waycott
Silvio N Sergi
Jones U Paprocki
Adams S Garufi
Claire P Iturbide
Johnson F Amigon
Deepesh Y Bolognia
Costa Q Bolognia
Kadeem N Rulapaugh
Claire R Schemmer
Izzy P Kolmetz
James J Chui
Clifford K Maclead
Greenwood S Flosi
James V Albares
Munro M Flosi
Ricardo L Flosi
Tony D Vocelka
Maria F Caldarera
Claire M Gaucho
Munro Z Gillian
Ricardo T Gillian
Clifford Y Wieser
Aika K Garufi
Faith W Saylors
Tony W Vocelka
Murillo J Marrier
Misaki X Marrier
Isabel P Stockham
Octavia A Figeroa
Costa F Whobrey
Claire Y Chui
Kaitlin U Nicka
Silvio D Schemmer
Tony C Caudy
Aika G Doe
Cody B Stenseth
Adams P Marrier
Emily Y Poquette
Kaitlin Z Inouye
Morrow J Ruta
Faith B Dilliard
Sinclair A Ruta
Aruna H Kolmetz
Murillo E Ferencz
Clifford H Flosi
Salvatore L Ruta
Chavez D Gaucho
Leon I Butt
Mujtaba N Schemmer
IdCountryDate
1000Germany2026-06-28
1001Brazil2026-07-08
1002United Kingdom2026-07-19
1003India2026-07-19
1004Spain2026-07-18
1005Canada2026-07-07
1006Brazil2026-06-22
1007Italy2026-06-25
1008India2026-06-24
1009Germany2026-07-12
1010Germany2026-06-27
1011Italy2026-07-12
1012Argentina2026-07-02
1013India2026-07-02
1014Argentina2026-07-08
1015Germany2026-07-08
1016Italy2026-07-21
1017Italy2026-07-03
1018Argentina2026-07-16
1019Russia2026-07-16
1020France2026-06-30
1021France2026-07-11
1022Germany2026-06-28
1023Argentina2026-06-23
1024India2026-07-18
1025United Kingdom2026-07-15
1026Spain2026-06-23
1027Brazil2026-07-11
1028Argentina2026-07-06
1029Russia2026-07-11
1030Australia2026-07-03
1031Brazil2026-07-03
1032United Kingdom2026-07-09
1033United Kingdom2026-06-29
1034Russia2026-07-14
1035Brazil2026-07-14
1036Japan2026-07-07
1037United Kingdom2026-07-12
1038United Kingdom2026-07-11
1039Australia2026-07-07
1040Russia2026-06-23
1041India2026-07-10
1042Canada2026-07-03
1043Argentina2026-06-30
1044Russia2026-07-08
1045Australia2026-07-08
1046Germany2026-06-27
1047Germany2026-07-14
1048Spain2026-06-27
1049Japan2026-06-23

On-Demand Data

NameIdCountryDate
Nicolas E Malet1000Italy2026-07-17
Leja Y Doe1001Australia2026-07-17
Alejandro M Tollner1002Brazil2026-07-02
Isabel R Wieser1003Australia2026-06-26
Tony I Sergi1004France2026-07-02
Leja J Gaucho1005Brazil2026-07-19
Darci P Maclead1006Argentina2026-07-21
James E Caldarera1007United Kingdom2026-07-14
James G Slusarski1008Canada2026-07-16
Ivar R Royster1009Argentina2026-06-24
Johnson T Stenseth1010United Kingdom2026-07-07
Ashley V Doe1011Italy2026-06-26
Antonio Y Nestle1012Germany2026-07-19
Alejandro T Sergi1013Canada2026-07-17
Kadeem M Caudy1014France2026-07-20
Emily W Iturbide1015United Kingdom2026-06-27
Leja E Rim1016Australia2026-06-22
Juan I Briddick1017Japan2026-07-18
Arvin S Rim1018Canada2026-06-27
Clifford X Stenseth1019Canada2026-06-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James U RutaBrazilStephen Shaw RENEWAL
Kaitlin I BologniaBrazilIoni Bowcher QUALIFIED
Jennifer E CaldareraJapanXuxue Feng RENEWAL
Aika A OstroskyAustraliaStephen Shaw NEGOTIATION
Francesco Y RulapaughIndiaIvan Magalhaes NEW
Octavia D PoquetteIndiaBernardo Dominic NEGOTIATION
Cody R SlusarskiAustraliaStephen Shaw RENEWAL
Morrow U WhobreyArgentinaOnyama Limba NEW
Rodrigues A PerinArgentinaAmy Elsner UNQUALIFIED
Aruna C DilliardRussiaAsiya Javayant NEW
Silvio I CaudyAustraliaXuxue Feng PROPOSAL
Maisha Q SchemmerSpainIoni Bowcher RENEWAL
Jefferson L SchemmerAustraliaIoni Bowcher NEW
Maria B ShinkoAustraliaAsiya Javayant QUALIFIED
Misaki Y WhobreyJapanIvan Magalhaes QUALIFIED
Aruna I SlusarskiJapanAsiya Javayant RENEWAL
Clifford X KolmetzRussiaXuxue Feng NEW
Isabel J SaylorsBrazilXuxue Feng PROPOSAL
Leja A NestleJapanStephen Shaw RENEWAL
Greenwood W OstroskyUnited KingdomAsiya Javayant QUALIFIED
Kadeem N AmigonRussiaAsiya Javayant RENEWAL
Kaitlin Q CaldareraCanadaElwin Sharvill RENEWAL
Francesco C CampainGermanyXuxue Feng PROPOSAL
Misaki I DilliardIndiaOnyama Limba NEW
Claire S SergiBrazilElwin Sharvill NEW
Julie P DoeFranceIvan Magalhaes UNQUALIFIED
Clifford B MaletIndiaIoni Bowcher NEGOTIATION
Silvio N PerinIndiaIoni Bowcher QUALIFIED
Stacey D StensethAustraliaIvan Magalhaes NEW
Leja W RimSpainBernardo Dominic QUALIFIED
Deepesh N CaldareraCanadaOnyama Limba NEW
Jennifer G CampainCanadaXuxue Feng QUALIFIED
Antonio F KolmetzBrazilBernardo Dominic NEW
Izzy R NestleItalyStephen Shaw RENEWAL
Silvio N InouyeRussiaIvan Magalhaes NEGOTIATION
Adams P StensethRussiaAsiya Javayant UNQUALIFIED
Jennifer M BowleyArgentinaOnyama Limba NEW
Tony Z ButtItalyStephen Shaw NEGOTIATION
Salvatore L FlosiJapanAmy Elsner PROPOSAL
Julie A SlusarskiFranceBernardo Dominic 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>