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
Octavia Q VocelkaItalyBernardo Dominic QUALIFIED
Adams N RoysterUnited KingdomAnna Fali QUALIFIED
Juan F DoeUnited KingdomStephen Shaw QUALIFIED
Leon M VocelkaBrazilXuxue Feng NEGOTIATION
Johnson Z PoquetteBrazilElwin Sharvill QUALIFIED
Kaitlin W SaylorsIndiaOnyama Limba NEW
Ivar C SaylorsSpainIvan Magalhaes QUALIFIED
Rodrigues Q VocelkaArgentinaAnna Fali UNQUALIFIED
Alejandro S BologniaUnited KingdomIoni Bowcher QUALIFIED
Ashley T IturbideSpainAsiya Javayant NEW
Jennifer W FollerJapanElwin Sharvill RENEWAL
Salvatore D SaylorsGermanyAsiya Javayant RENEWAL
Clifford R GauchoGermanyIoni Bowcher UNQUALIFIED
Maisha D CampainAustraliaAmy Elsner UNQUALIFIED
Darci Q BriddickBrazilIoni Bowcher RENEWAL
Octavia V SaylorsRussiaIvan Magalhaes QUALIFIED
David D MorascaGermanyAnna Fali PROPOSAL
Aruna H FollerFranceBernardo Dominic NEW
Julie R TollnerItalyAnna Fali RENEWAL
Jeanfrancois B StensethJapanAsiya Javayant UNQUALIFIED
Deepesh S CampainUnited KingdomOnyama Limba NEGOTIATION
Wickens R GarufiSpainAmy Elsner PROPOSAL
Arvin W WhobreyCanadaAnna Fali QUALIFIED
Murillo L KuskoIndiaXuxue Feng NEGOTIATION
Clifford M KolmetzJapanXuxue Feng NEGOTIATION
Ivar A MaletUnited KingdomAsiya Javayant PROPOSAL
Morrow P MorascaItalyOnyama Limba NEW
Greenwood G AlbaresGermanyAnna Fali NEGOTIATION
Greenwood S PaprockiBrazilAmy Elsner PROPOSAL
Adams L NickaRussiaAsiya Javayant PROPOSAL
Misaki E FerenczFranceBernardo Dominic RENEWAL
Murillo D CaudyArgentinaIoni Bowcher UNQUALIFIED
James A SchemmerGermanyAnna Fali PROPOSAL
Sinclair V GarufiRussiaIoni Bowcher NEGOTIATION
Aruna M OldroydFranceAmy Elsner QUALIFIED
Octavia Q AmigonFranceAmy Elsner QUALIFIED
Ashley M FerenczSpainBernardo Dominic QUALIFIED
Ricardo B GauchoArgentinaAmy Elsner NEGOTIATION
Francesco J StensethFranceElwin Sharvill PROPOSAL
Jefferson I StockhamBrazilAsiya Javayant UNQUALIFIED
Ivar D NickaJapanStephen Shaw RENEWAL
James K WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Ashley J GlickFranceOnyama Limba QUALIFIED
Faith B PaprockiAustraliaIoni Bowcher QUALIFIED
Claire E OldroydIndiaIoni Bowcher PROPOSAL
Aruna P NestleJapanBernardo Dominic UNQUALIFIED
Claire T VocelkaArgentinaAmy Elsner UNQUALIFIED
Greenwood M VenereItalyAsiya Javayant NEGOTIATION
Antonio M PaprockiSpainBernardo Dominic NEGOTIATION
Munro F KolmetzAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood A SergiArgentinaAnna Fali NEW
Cody I IturbideAustraliaElwin Sharvill RENEWAL
Francesco G MacleadArgentinaAsiya Javayant RENEWAL
Silvio D RulapaughCanadaBernardo Dominic NEGOTIATION
Munro Y MaletGermanyXuxue Feng PROPOSAL
Arvin H GarufiItalyAmy Elsner UNQUALIFIED
Tony H SchemmerItalyAmy Elsner UNQUALIFIED
Izzy U ShinkoItalyBernardo Dominic PROPOSAL
Clifford W FollerUnited KingdomElwin Sharvill RENEWAL
Ashley M MaletGermanyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Z MacleadFrance2024-05-03Chapman, Ross E Esq QUALIFIED37Stephen Shaw
1001Julie K DoeRussia2024-05-24Buckley Miller Wright QUALIFIED17Bernardo Dominic
1002Mujtaba I MaletItaly2024-05-03Feiner Bros NEW14Asiya Javayant
1003Murillo R SchemmerUnited Kingdom2024-04-30Morlong Associates UNQUALIFIED63Stephen Shaw
1004Deepesh N RulapaughFrance2024-05-02Commercial Press RENEWAL54Ivan Magalhaes
1005Julie C WieserArgentina2024-05-02Dorl, James J Esq RENEWAL83Xuxue Feng
1006Maisha B RulapaughIndia2024-05-06Dorl, James J Esq QUALIFIED69Bernardo Dominic
1007James H DoeFrance2024-05-20Truhlar And Truhlar Attys PROPOSAL33Ioni Bowcher
1008Mayumi N BriddickAustralia2024-05-25Rousseaux, Michael Esq UNQUALIFIED61Xuxue Feng
1009Nicolas F SergiItaly2024-05-03Morlong Associates RENEWAL69Bernardo Dominic
1010Jennifer O GlickRussia2024-04-28Printing Dimensions RENEWAL74Ioni Bowcher
1011Tony B SaylorsBrazil2024-04-28Chemel, James L Cpa NEGOTIATION20Elwin Sharvill
1012Misaki Z VocelkaBrazil2024-05-13Buckley Miller Wright QUALIFIED13Elwin Sharvill
1013Francesco Y MarrierGermany2024-04-30Printing Dimensions RENEWAL79Amy Elsner
1014Misaki Y SlusarskiIndia2024-05-20Truhlar And Truhlar Attys NEW75Anna Fali
1015Adams G BologniaFrance2024-05-15King, Christopher A Esq PROPOSAL8Stephen Shaw
1016Darci Y RulapaughJapan2024-05-19Commercial Press QUALIFIED45Bernardo Dominic
1017Mujtaba H ButtCanada2024-05-03Commercial Press NEW61Elwin Sharvill
1018Tony G RimAustralia2024-05-03Chemel, James L Cpa UNQUALIFIED19Onyama Limba
1019Claire L IturbideItaly2024-05-24Chanay, Jeffrey A Esq NEGOTIATION68Asiya Javayant
1020Faith V SlusarskiSpain2024-05-23Printing Dimensions QUALIFIED39Ivan Magalhaes
1021Isabel C VocelkaItaly2024-05-13Truhlar And Truhlar Attys NEGOTIATION28Onyama Limba
1022Jennifer I WhobreyItaly2024-04-28Benton, John B Jr PROPOSAL26Elwin Sharvill
1023Morrow I GlickCanada2024-05-23King, Christopher A Esq NEW46Elwin Sharvill
1024Claire X RoysterGermany2024-05-19Feltz Printing Service NEGOTIATION18Amy Elsner
1025Mayumi B OldroydArgentina2024-05-03King, Christopher A Esq UNQUALIFIED82Asiya Javayant
1026David K MacleadCanada2024-05-14Chanay, Jeffrey A Esq UNQUALIFIED1Stephen Shaw
1027Mayumi X MacleadIndia2024-05-15Feltz Printing Service NEW69Stephen Shaw
1028Octavia I VenereRussia2024-05-04Feiner Bros QUALIFIED82Stephen Shaw
1029Nicolas P SergiAustralia2024-05-04Morlong Associates UNQUALIFIED3Stephen Shaw
1030Julie I GillianIndia2024-05-19Rousseaux, Michael Esq NEW76Ioni Bowcher
1031Ivar U GarufiAustralia2024-05-07Printing Dimensions QUALIFIED45Elwin Sharvill
1032Emily P FerenczArgentina2024-05-03Printing Dimensions NEGOTIATION47Ioni Bowcher
1033Leja Q WieserCanada2024-05-07Chemel, James L Cpa RENEWAL63Ivan Magalhaes
1034Claire G BologniaSpain2024-05-18Chemel, James L Cpa QUALIFIED50Bernardo Dominic
1035Sinclair X DarakjyRussia2024-05-15Chemel, James L Cpa PROPOSAL43Anna Fali
1036Deepesh G BriddickAustralia2024-05-04Truhlar And Truhlar Attys RENEWAL57Elwin Sharvill
1037Chavez Z InouyeUnited Kingdom2024-04-29Chemel, James L Cpa UNQUALIFIED54Onyama Limba
1038Juan A VenereIndia2024-05-16King, Christopher A Esq QUALIFIED43Onyama Limba
1039Murillo D FerenczRussia2024-05-11Benton, John B Jr QUALIFIED61Asiya Javayant
1040Deepesh X SergiItaly2024-05-05Rangoni Of Florence PROPOSAL50Elwin Sharvill
1041Francesco U DoeArgentina2024-05-20Chemel, James L Cpa NEW30Ivan Magalhaes
1042Jefferson D WhobreyCanada2024-05-07Morlong Associates QUALIFIED49Anna Fali
1043Nicolas W PoquetteItaly2024-05-03Rangoni Of Florence NEW52Onyama Limba
1044Darci F VenereUnited Kingdom2024-05-02Feiner Bros QUALIFIED46Amy Elsner
1045Wickens A BriddickGermany2024-05-06Dorl, James J Esq RENEWAL10Stephen Shaw
1046Alejandro R CampainItaly2024-05-25Dorl, James J Esq NEGOTIATION67Elwin Sharvill
1047Deepesh I DarakjyCanada2024-05-10Rousseaux, Michael Esq PROPOSAL48Amy Elsner
1048Leon Z SlusarskiGermany2024-05-24Benton, John B Jr PROPOSAL0Anna Fali
1049Arvin W ShinkoJapan2024-05-20Feiner Bros UNQUALIFIED10Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Y ButtJapanBernardo Dominic PROPOSAL
James M MaletIndiaElwin Sharvill QUALIFIED
Greenwood B CaudyBrazilOnyama Limba QUALIFIED
Aditya O SlusarskiBrazilXuxue Feng NEW
James V FlosiCanadaAmy Elsner QUALIFIED
Ashley N SlusarskiRussiaAmy Elsner NEW
Kadeem Q GauchoJapanOnyama Limba PROPOSAL
Costa I BowleyIndiaXuxue Feng RENEWAL
Leja Q MorascaGermanyStephen Shaw RENEWAL
Ashley G KolmetzRussiaAmy Elsner RENEWAL
Maria Q WaycottFranceAsiya Javayant NEGOTIATION
Izzy B FollerArgentinaBernardo Dominic NEGOTIATION
Sinclair D GlickAustraliaBernardo Dominic PROPOSAL
Emily D WhobreyJapanIvan Magalhaes UNQUALIFIED
Kadeem Z MaletArgentinaElwin Sharvill NEGOTIATION
Faith J WaycottBrazilElwin Sharvill PROPOSAL
Stacey N IturbideFranceAmy Elsner QUALIFIED
Murillo J SergiRussiaElwin Sharvill NEW
Clifford M GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro K ButtSpainStephen Shaw QUALIFIED
Leon L RulapaughBrazilElwin Sharvill RENEWAL
Octavia B RulapaughGermanyAmy Elsner NEW
Chavez T ShinkoItalyAmy Elsner NEGOTIATION
Francesco E WieserItalyIvan Magalhaes NEGOTIATION
Ashley C WaycottJapanAmy Elsner NEGOTIATION
Tony T DilliardUnited KingdomXuxue Feng NEW
Arvin P InouyeBrazilIvan Magalhaes PROPOSAL
Alejandro U AlbaresCanadaAnna Fali NEGOTIATION
Murillo Z VocelkaIndiaStephen Shaw RENEWAL
Ashley S OldroydIndiaAsiya Javayant PROPOSAL
Mayumi K ShinkoJapanElwin Sharvill UNQUALIFIED
Rodrigues K MacleadJapanXuxue Feng PROPOSAL
Wickens I RulapaughIndiaAmy Elsner UNQUALIFIED
Emily S CaudyAustraliaAsiya Javayant UNQUALIFIED
Silvio Q PaprockiBrazilOnyama Limba QUALIFIED
Smith M FollerFranceAnna Fali NEGOTIATION
Wickens A AlbaresIndiaOnyama Limba RENEWAL
Stacey R RimArgentinaAnna Fali QUALIFIED
Nicolas W SchemmerJapanAmy Elsner RENEWAL
Costa G MorascaSpainElwin Sharvill UNQUALIFIED
Kadeem Y RulapaughAustraliaStephen Shaw UNQUALIFIED
Costa K KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas M FollerRussiaElwin Sharvill NEW
Rodrigues G RulapaughSpainAsiya Javayant UNQUALIFIED
Izzy U RimArgentinaElwin Sharvill QUALIFIED
Rodrigues V NestleAustraliaAmy Elsner PROPOSAL
Antonio F OldroydFranceAmy Elsner RENEWAL
Morrow F CaudySpainStephen Shaw NEGOTIATION
Ivar B FerenczIndiaIvan Magalhaes NEGOTIATION
Costa R FlosiAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Juan P Bowley
Isabel J Maclead
Adams T Whobrey
Wickens N Caldarera
Misaki K Caldarera
Stacey I Royster
Maria H Amigon
Clifford J Wieser
Faith U Perin
Chavez N Tollner
Maisha Y Schemmer
Sinclair A Figeroa
Ivar W Amigon
Smith R Amigon
Jennifer I Venere
Ivar D Kusko
Aika Y Venere
Tony D Stenseth
Clifford C Inouye
Darci G Albares
Isabel W Nestle
Jones A Iturbide
Chavez A Nestle
Cody H Stockham
Smith D Albares
Maisha N Slusarski
Leja Y Malet
Smith R Doe
Misaki U Caudy
Izzy D Whobrey
Leon V Glick
Emily P Ostrosky
Aika E Rulapaugh
Salvatore H Waycott
Jefferson V Vocelka
Maria F Campain
Izzy Y Iturbide
Stacey W Marrier
Munro K Dilliard
Greenwood W Poquette
Costa A Royster
Octavia Q Maclead
Aditya Q Malet
Silvio W Nestle
Costa M Nicka
Misaki N Garufi
Julie H Albares
Ivar R Campain
Misaki Y Whobrey
Tony F Slusarski
IdCountryDate
1000Argentina2024-05-24
1001Germany2024-05-10
1002United Kingdom2024-05-04
1003Germany2024-04-27
1004Russia2024-05-06
1005India2024-05-07
1006Germany2024-05-13
1007Russia2024-04-27
1008Spain2024-05-25
1009Russia2024-05-08
1010Brazil2024-05-07
1011Japan2024-05-23
1012Brazil2024-05-06
1013India2024-05-11
1014Brazil2024-04-30
1015Australia2024-05-03
1016Australia2024-04-27
1017Australia2024-05-12
1018United Kingdom2024-05-09
1019Russia2024-05-09
1020France2024-05-19
1021Brazil2024-05-03
1022United Kingdom2024-05-01
1023United Kingdom2024-05-13
1024Canada2024-05-14
1025Japan2024-05-14
1026United Kingdom2024-05-04
1027India2024-05-22
1028Argentina2024-05-03
1029France2024-05-18
1030Spain2024-05-01
1031Germany2024-05-18
1032Italy2024-05-19
1033Italy2024-05-22
1034India2024-05-02
1035India2024-05-10
1036Argentina2024-05-08
1037Japan2024-05-15
1038Italy2024-05-15
1039Russia2024-05-07
1040India2024-05-14
1041Italy2024-05-10
1042Argentina2024-05-17
1043United Kingdom2024-05-11
1044Spain2024-04-30
1045Spain2024-05-07
1046India2024-04-30
1047Russia2024-05-23
1048United Kingdom2024-05-19
1049India2024-05-17

On-Demand Data

NameIdCountryDate
Kaitlin R Nestle1000Brazil2024-05-09
Julie F Vocelka1001Japan2024-05-05
Arvin V Perin1002Japan2024-05-24
Clifford K Venere1003Canada2024-04-29
Francesco R Sergi1004Japan2024-05-14
James D Ferencz1005Japan2024-05-16
Sinclair S Albares1006India2024-05-05
Aruna H Venere1007France2024-05-23
Mayumi U Albares1008Italy2024-05-01
Jefferson O Chui1009Brazil2024-05-01
Maisha A Waycott1010Canada2024-05-06
David Y Campain1011Australia2024-04-29
Chavez W Chui1012Brazil2024-05-11
Leja T Gillian1013Australia2024-04-27
Sinclair V Albares1014United Kingdom2024-05-10
Jeanfrancois Y Darakjy1015Argentina2024-05-13
Clifford J Royster1016Spain2024-05-08
Adams T Perin1017Brazil2024-05-22
Silvio A Malet1018United Kingdom2024-05-09
Munro R Ostrosky1019Spain2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar W RutaArgentinaAsiya Javayant PROPOSAL
Aruna W RimJapanBernardo Dominic PROPOSAL
David Y MaletBrazilAnna Fali NEGOTIATION
Kadeem B OldroydGermanyIoni Bowcher QUALIFIED
Nicolas O ShinkoItalyAsiya Javayant QUALIFIED
Maisha W OstroskyFranceIoni Bowcher QUALIFIED
Francesco J InouyeArgentinaAnna Fali PROPOSAL
Salvatore C InouyeItalyIvan Magalhaes NEGOTIATION
Tony M GarufiItalyIoni Bowcher PROPOSAL
Smith T RulapaughAustraliaOnyama Limba NEW
Claire F MarrierRussiaXuxue Feng RENEWAL
Octavia B AmigonArgentinaIvan Magalhaes RENEWAL
Alejandro B MaletGermanyOnyama Limba NEW
Clifford Z StensethJapanBernardo Dominic UNQUALIFIED
Murillo A SchemmerJapanStephen Shaw QUALIFIED
Misaki O FollerItalyIoni Bowcher QUALIFIED
Jones X NestleIndiaOnyama Limba NEW
Leja O MaletIndiaAmy Elsner PROPOSAL
Misaki H WieserItalyOnyama Limba UNQUALIFIED
Tony F GarufiAustraliaXuxue Feng RENEWAL
Sinclair Z StockhamGermanyXuxue Feng QUALIFIED
Francesco C FollerIndiaAsiya Javayant QUALIFIED
David P BowleyItalyOnyama Limba NEW
James L RimGermanyIvan Magalhaes RENEWAL
Aditya S TollnerSpainXuxue Feng NEW
Murillo O NickaUnited KingdomXuxue Feng NEGOTIATION
Costa R MaletRussiaStephen Shaw UNQUALIFIED
Isabel N MaletUnited KingdomOnyama Limba NEGOTIATION
Rodrigues P FlosiCanadaAmy Elsner PROPOSAL
Munro Y WieserGermanyAmy Elsner UNQUALIFIED
Juan M RulapaughJapanElwin Sharvill RENEWAL
Silvio A VenereUnited KingdomAsiya Javayant PROPOSAL
Salvatore J BriddickGermanyIvan Magalhaes NEGOTIATION
David A WhobreyFranceOnyama Limba NEW
Maisha M RulapaughIndiaOnyama Limba PROPOSAL
Aruna L MaletBrazilBernardo Dominic UNQUALIFIED
Tony J CaldareraSpainStephen Shaw UNQUALIFIED
Kaitlin C GillianIndiaAsiya Javayant UNQUALIFIED
Cody Q CaldareraJapanXuxue Feng UNQUALIFIED
Greenwood T RulapaughUnited KingdomIoni Bowcher NEGOTIATION

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