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
Isabel I RutaJapanAsiya Javayant NEGOTIATION
Munro L RimCanadaElwin Sharvill NEGOTIATION
Kadeem M GillianCanadaOnyama Limba PROPOSAL
Arvin B NestleAustraliaIoni Bowcher NEW
Salvatore P SaylorsCanadaXuxue Feng NEGOTIATION
Darci K PoquetteRussiaIvan Magalhaes PROPOSAL
Smith H ButtSpainIoni Bowcher NEW
Wickens Q AmigonIndiaOnyama Limba NEW
Leja G TollnerSpainElwin Sharvill UNQUALIFIED
Chavez T TollnerUnited KingdomBernardo Dominic PROPOSAL
Kaitlin T RulapaughSpainElwin Sharvill NEW
Rodrigues U KuskoJapanOnyama Limba NEGOTIATION
Jefferson V GarufiArgentinaAmy Elsner QUALIFIED
Ricardo T RoysterSpainIoni Bowcher UNQUALIFIED
Tony G MaletSpainAmy Elsner NEGOTIATION
Juan M SchemmerBrazilStephen Shaw NEGOTIATION
Ashley R PoquetteSpainIvan Magalhaes RENEWAL
Leon C VenereBrazilIoni Bowcher NEGOTIATION
Johnson W OstroskyItalyXuxue Feng QUALIFIED
Alejandro R RutaIndiaAnna Fali NEGOTIATION
Wickens I WieserJapanElwin Sharvill RENEWAL
Juan F SaylorsAustraliaAnna Fali UNQUALIFIED
Morrow J DoeIndiaAnna Fali UNQUALIFIED
Jefferson B GillianItalyIoni Bowcher NEGOTIATION
Tony N BowleyArgentinaIvan Magalhaes UNQUALIFIED
Sinclair J ChuiCanadaIvan Magalhaes UNQUALIFIED
Alejandro S MacleadArgentinaOnyama Limba QUALIFIED
Ricardo R WieserAustraliaXuxue Feng RENEWAL
Aruna C ShinkoCanadaAmy Elsner RENEWAL
Mayumi A OstroskyBrazilStephen Shaw UNQUALIFIED
Adams K CaudyCanadaIvan Magalhaes QUALIFIED
Jones U SlusarskiBrazilIvan Magalhaes NEGOTIATION
David T FerenczArgentinaXuxue Feng PROPOSAL
Greenwood S AmigonRussiaBernardo Dominic PROPOSAL
David V VocelkaSpainAnna Fali UNQUALIFIED
Arvin F MaletBrazilStephen Shaw PROPOSAL
Nicolas B CampainFranceAsiya Javayant UNQUALIFIED
Deepesh B GauchoRussiaStephen Shaw RENEWAL
Juan F RoysterBrazilBernardo Dominic RENEWAL
Cody G WieserAustraliaBernardo Dominic NEW
Costa A CampainJapanAmy Elsner QUALIFIED
Octavia H MaletAustraliaOnyama Limba QUALIFIED
Adams C RulapaughJapanAsiya Javayant QUALIFIED
Isabel R InouyeArgentinaIoni Bowcher UNQUALIFIED
Wickens G AlbaresJapanIoni Bowcher NEW
Aditya D InouyeRussiaStephen Shaw RENEWAL
Maisha P DilliardArgentinaAnna Fali RENEWAL
Jefferson E GarufiJapanAnna Fali QUALIFIED
Maria H ChuiRussiaAmy Elsner PROPOSAL
Ashley M FollerAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin W StockhamGermanyAmy Elsner NEGOTIATION
Johnson R AlbaresFranceXuxue Feng RENEWAL
Antonio Q MaletCanadaOnyama Limba UNQUALIFIED
Alejandro O FerenczItalyIvan Magalhaes NEGOTIATION
Johnson C DarakjyGermanyIvan Magalhaes QUALIFIED
Octavia G StensethItalyStephen Shaw NEGOTIATION
Ashley A OldroydJapanIvan Magalhaes QUALIFIED
Julie W DarakjyFranceStephen Shaw RENEWAL
Izzy N ChuiJapanStephen Shaw NEW
Salvatore C TollnerRussiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Q ShinkoGermany2025-04-16Feltz Printing Service QUALIFIED53Anna Fali
1001Sinclair Q PerinGermany2025-04-05Benton, John B Jr NEW47Bernardo Dominic
1002Ashley L PerinJapan2025-04-19Chapman, Ross E Esq PROPOSAL46Amy Elsner
1003Leja H DilliardJapan2025-04-20Chapman, Ross E Esq RENEWAL86Anna Fali
1004Jefferson J AlbaresBrazil2025-04-03Rousseaux, Michael Esq NEW48Anna Fali
1005Smith O RimUnited Kingdom2025-04-16Rousseaux, Michael Esq NEGOTIATION36Ivan Magalhaes
1006Mayumi O MarrierAustralia2025-04-06King, Christopher A Esq QUALIFIED61Ioni Bowcher
1007Francesco Y DoeBrazil2025-04-18Rousseaux, Michael Esq NEGOTIATION34Anna Fali
1008Clifford G DilliardUnited Kingdom2025-04-06King, Christopher A Esq NEGOTIATION59Ioni Bowcher
1009Wickens D MaletAustralia2025-04-08Benton, John B Jr QUALIFIED44Xuxue Feng
1010Jeanfrancois H OstroskyArgentina2025-04-20Morlong Associates NEGOTIATION95Stephen Shaw
1011Jeanfrancois H OstroskyArgentina2025-04-01Buckley Miller Wright NEW52Amy Elsner
1012Octavia D AlbaresItaly2025-04-09Chanay, Jeffrey A Esq NEGOTIATION10Bernardo Dominic
1013Murillo Y FollerRussia2025-04-30Benton, John B Jr NEW33Xuxue Feng
1014Izzy A ShinkoJapan2025-04-20Rousseaux, Michael Esq NEW44Onyama Limba
1015Tony U SlusarskiIndia2025-04-19Chapman, Ross E Esq NEW63Ivan Magalhaes
1016Kaitlin B PoquetteBrazil2025-04-02Feltz Printing Service NEGOTIATION28Ivan Magalhaes
1017Kadeem W FerenczIndia2025-04-01Chemel, James L Cpa QUALIFIED56Ioni Bowcher
1018Emily H RulapaughItaly2025-04-19Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1019Costa A NickaIndia2025-04-27Rousseaux, Michael Esq RENEWAL19Bernardo Dominic
1020Darci U WaycottRussia2025-04-14Chapman, Ross E Esq NEGOTIATION47Amy Elsner
1021Aika N RimRussia2025-04-08Benton, John B Jr RENEWAL13Ioni Bowcher
1022Ashley X WaycottFrance2025-04-10Buckley Miller Wright PROPOSAL12Ivan Magalhaes
1023Arvin C DoeRussia2025-04-16Buckley Miller Wright QUALIFIED75Ioni Bowcher
1024Cody N CampainArgentina2025-04-01Commercial Press NEGOTIATION97Stephen Shaw
1025Jefferson O AlbaresRussia2025-04-19Dorl, James J Esq UNQUALIFIED63Asiya Javayant
1026Salvatore H BriddickIndia2025-04-04Commercial Press PROPOSAL23Bernardo Dominic
1027Alejandro M ShinkoUnited Kingdom2025-04-23Rangoni Of Florence RENEWAL4Anna Fali
1028Octavia O OstroskyFrance2025-04-28Truhlar And Truhlar Attys RENEWAL90Onyama Limba
1029Nicolas R AlbaresArgentina2025-04-30Chapman, Ross E Esq QUALIFIED16Bernardo Dominic
1030Aika D PoquetteAustralia2025-04-23Chapman, Ross E Esq NEW15Elwin Sharvill
1031Adams R RoysterItaly2025-04-18Rangoni Of Florence NEW96Asiya Javayant
1032Costa M PerinSpain2025-04-04Commercial Press UNQUALIFIED9Ivan Magalhaes
1033Adams U GillianRussia2025-04-05Morlong Associates NEW56Onyama Limba
1034Maisha I WieserBrazil2025-04-17Benton, John B Jr NEGOTIATION12Stephen Shaw
1035Alejandro U SaylorsUnited Kingdom2025-04-29Truhlar And Truhlar Attys UNQUALIFIED53Asiya Javayant
1036Francesco E AlbaresSpain2025-04-22Printing Dimensions PROPOSAL67Stephen Shaw
1037Aditya J VocelkaRussia2025-04-21Chemel, James L Cpa PROPOSAL70Asiya Javayant
1038Jennifer B MaletItaly2025-04-25Feltz Printing Service QUALIFIED69Ioni Bowcher
1039Jones R AlbaresJapan2025-04-17Buckley Miller Wright RENEWAL42Stephen Shaw
1040Silvio D WhobreyArgentina2025-04-18Chapman, Ross E Esq RENEWAL99Ivan Magalhaes
1041Maisha H SergiJapan2025-04-10Rousseaux, Michael Esq PROPOSAL93Anna Fali
1042Costa R WieserFrance2025-04-13Rousseaux, Michael Esq NEGOTIATION27Ivan Magalhaes
1043Kaitlin L ChuiIndia2025-04-20Feiner Bros QUALIFIED75Anna Fali
1044Claire B RutaIndia2025-04-26Commercial Press RENEWAL91Bernardo Dominic
1045Emily I BologniaRussia2025-04-26Chemel, James L Cpa NEGOTIATION81Bernardo Dominic
1046Misaki E StockhamItaly2025-04-18Truhlar And Truhlar Attys PROPOSAL43Elwin Sharvill
1047Morrow B ChuiJapan2025-04-03Dorl, James J Esq NEGOTIATION22Xuxue Feng
1048Johnson Z InouyeRussia2025-04-15Feltz Printing Service UNQUALIFIED22Ivan Magalhaes
1049Francesco M SchemmerBrazil2025-04-04Rousseaux, Michael Esq RENEWAL66Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Y MarrierSpainIvan Magalhaes RENEWAL
Tony T FlosiArgentinaXuxue Feng NEGOTIATION
Faith O FerenczBrazilAmy Elsner NEW
Nicolas D StensethItalyStephen Shaw UNQUALIFIED
Leja W GauchoIndiaXuxue Feng NEW
Chavez Y SlusarskiSpainAnna Fali UNQUALIFIED
Jones L VenereFranceIvan Magalhaes NEGOTIATION
Ricardo W WhobreyIndiaIvan Magalhaes QUALIFIED
Stacey W OstroskyRussiaStephen Shaw PROPOSAL
Maria R MarrierGermanyElwin Sharvill QUALIFIED
Adams D BriddickBrazilIoni Bowcher NEW
Isabel H FollerBrazilAnna Fali NEGOTIATION
Emily C VocelkaBrazilBernardo Dominic UNQUALIFIED
Greenwood R FerenczIndiaXuxue Feng PROPOSAL
Adams U RoysterCanadaOnyama Limba PROPOSAL
Julie K FollerItalyAnna Fali RENEWAL
Smith A SaylorsFranceAsiya Javayant RENEWAL
Jeanfrancois W FerenczArgentinaElwin Sharvill RENEWAL
Arvin D CaldareraAustraliaIvan Magalhaes PROPOSAL
Arvin N WhobreyAustraliaStephen Shaw NEW
Greenwood F GlickRussiaAsiya Javayant RENEWAL
Antonio K PerinAustraliaStephen Shaw NEW
Jennifer M StockhamUnited KingdomAnna Fali PROPOSAL
Francesco T KuskoFranceBernardo Dominic RENEWAL
Mujtaba G SchemmerArgentinaOnyama Limba NEGOTIATION
Aditya I PaprockiAustraliaAnna Fali QUALIFIED
Kadeem B OldroydFranceIoni Bowcher QUALIFIED
Adams E NickaCanadaXuxue Feng NEW
Darci P SchemmerRussiaElwin Sharvill PROPOSAL
Julie E FerenczJapanElwin Sharvill NEGOTIATION
Jefferson N StensethGermanyIvan Magalhaes RENEWAL
Claire J DarakjySpainElwin Sharvill UNQUALIFIED
Tony N MacleadCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois C BriddickUnited KingdomOnyama Limba UNQUALIFIED
Cody V GarufiGermanyStephen Shaw PROPOSAL
Kadeem O MacleadBrazilAsiya Javayant NEW
Smith Y RutaSpainIvan Magalhaes QUALIFIED
Johnson Z FerenczArgentinaAsiya Javayant NEGOTIATION
Maria J KolmetzBrazilIvan Magalhaes PROPOSAL
Nicolas N ShinkoIndiaIoni Bowcher PROPOSAL
Francesco Y RulapaughGermanyIvan Magalhaes PROPOSAL
Chavez X CaldareraCanadaStephen Shaw UNQUALIFIED
Greenwood Q KuskoCanadaStephen Shaw RENEWAL
Adams L AlbaresFranceIvan Magalhaes PROPOSAL
Juan P SergiSpainBernardo Dominic UNQUALIFIED
Claire X DilliardBrazilAsiya Javayant UNQUALIFIED
James L PoquetteCanadaAmy Elsner RENEWAL
David G MacleadAustraliaAmy Elsner RENEWAL
Darci Y MacleadGermanyStephen Shaw QUALIFIED
Adams P MaletGermanyOnyama Limba NEGOTIATION
Frozen Columns
Name
Claire H Poquette
Octavia O Stenseth
Mayumi G Flosi
Izzy I Kusko
Johnson K Gaucho
Aditya D Caldarera
Faith X Saylors
Darci G Schemmer
Chavez M Bolognia
David V Chui
Ricardo K Vocelka
Morrow E Dilliard
Stacey G Wieser
Claire A Poquette
Francesco M Waycott
Jefferson X Maclead
Aruna C Sergi
Deepesh A Inouye
Sinclair K Rim
Smith Z Dilliard
Juan I Gillian
Mayumi E Briddick
Isabel C Waycott
Leja B Briddick
Salvatore S Sergi
Jefferson W Ruta
Arvin X Rim
Jennifer M Whobrey
David T Ferencz
Maisha D Slusarski
Izzy H Ferencz
Aruna M Glick
Misaki J Whobrey
Costa M Briddick
Aditya D Figeroa
Antonio Y Caldarera
Arvin J Perin
Greenwood J Tollner
Salvatore C Waycott
Alejandro Y Sergi
Faith Z Shinko
Adams F Malet
Chavez P Bolognia
Jennifer M Ruta
Mayumi B Stenseth
Rodrigues Z Campain
Francesco H Gaucho
Faith Y Saylors
Jennifer A Poquette
Kaitlin X Iturbide
IdCountryDate
1000Italy2025-04-17
1001India2025-04-19
1002Italy2025-04-26
1003Australia2025-04-19
1004Brazil2025-04-27
1005United Kingdom2025-04-14
1006Spain2025-04-20
1007Brazil2025-04-20
1008Brazil2025-04-03
1009Australia2025-04-23
1010Germany2025-04-26
1011Germany2025-04-02
1012Brazil2025-04-14
1013Russia2025-04-01
1014India2025-04-20
1015Brazil2025-04-22
1016Brazil2025-04-13
1017Argentina2025-04-27
1018United Kingdom2025-04-26
1019Japan2025-04-18
1020France2025-04-21
1021Argentina2025-04-06
1022Italy2025-04-02
1023United Kingdom2025-04-06
1024India2025-04-04
1025France2025-04-30
1026United Kingdom2025-04-16
1027Italy2025-04-04
1028Australia2025-04-19
1029United Kingdom2025-04-13
1030United Kingdom2025-04-10
1031France2025-04-25
1032Japan2025-04-05
1033United Kingdom2025-04-06
1034Germany2025-04-05
1035Australia2025-04-01
1036Argentina2025-04-29
1037France2025-04-22
1038France2025-04-11
1039France2025-04-06
1040United Kingdom2025-04-10
1041France2025-04-26
1042Spain2025-04-13
1043Germany2025-04-30
1044India2025-04-22
1045Italy2025-04-28
1046Canada2025-04-07
1047Italy2025-04-09
1048Italy2025-04-22
1049Brazil2025-04-09

On-Demand Data

NameIdCountryDate
Aika Q Morasca1000India2025-04-26
Murillo Q Stenseth1001Russia2025-04-21
Antonio V Rim1002Russia2025-04-14
Ashley O Iturbide1003Argentina2025-04-02
Jones G Marrier1004India2025-04-22
Greenwood U Nicka1005Spain2025-04-17
Clifford C Briddick1006France2025-04-02
James M Rim1007Germany2025-04-02
Adams K Perin1008United Kingdom2025-04-04
Izzy I Slusarski1009Argentina2025-04-27
Kaitlin G Ruta1010Australia2025-04-11
Nicolas Z Butt1011Brazil2025-04-29
Rodrigues Q Morasca1012Italy2025-04-28
Wickens S Flosi1013Canada2025-04-04
Maria L Marrier1014United Kingdom2025-04-11
Munro E Bowley1015Russia2025-04-01
Maria J Gillian1016Japan2025-04-06
Misaki Y Doe1017Russia2025-04-15
Greenwood B Vocelka1018Italy2025-04-03
Alejandro Z Bolognia1019France2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci L BriddickAustraliaBernardo Dominic NEGOTIATION
Francesco R VenereArgentinaAmy Elsner QUALIFIED
Munro O CaldareraRussiaAnna Fali QUALIFIED
Jones L BologniaSpainIvan Magalhaes NEGOTIATION
Ivar E DarakjyUnited KingdomXuxue Feng RENEWAL
Ashley J PerinUnited KingdomStephen Shaw QUALIFIED
Arvin C FollerItalyXuxue Feng NEGOTIATION
Isabel X SaylorsFranceIvan Magalhaes NEW
Aruna G PaprockiBrazilXuxue Feng QUALIFIED
Kadeem Q KuskoIndiaBernardo Dominic QUALIFIED
Izzy J GillianJapanBernardo Dominic QUALIFIED
Darci P ShinkoJapanIoni Bowcher NEGOTIATION
Darci E FollerRussiaAmy Elsner NEGOTIATION
Adams M BriddickJapanXuxue Feng QUALIFIED
Wickens L VocelkaFranceOnyama Limba RENEWAL
Smith W BowleyJapanIoni Bowcher QUALIFIED
Julie B ButtBrazilAnna Fali PROPOSAL
Misaki U AmigonGermanyElwin Sharvill NEW
Juan J GillianAustraliaElwin Sharvill UNQUALIFIED
Murillo D RimUnited KingdomOnyama Limba NEW
Antonio N StensethSpainXuxue Feng NEGOTIATION
Isabel W DoeFranceAsiya Javayant NEW
Morrow I CampainIndiaBernardo Dominic RENEWAL
Nicolas J GauchoGermanyAnna Fali NEGOTIATION
Alejandro S SchemmerItalyAnna Fali QUALIFIED
Misaki F TollnerBrazilAsiya Javayant UNQUALIFIED
Jefferson V GlickGermanyXuxue Feng UNQUALIFIED
Ivar W CaldareraRussiaAsiya Javayant RENEWAL
Antonio D NestleUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi K MarrierJapanAsiya Javayant NEW
Chavez A RoysterUnited KingdomAnna Fali NEGOTIATION
Kadeem Y FlosiFranceOnyama Limba UNQUALIFIED
Mujtaba U SaylorsRussiaStephen Shaw NEGOTIATION
Salvatore Z GarufiFranceOnyama Limba NEW
Cody B KuskoAustraliaOnyama Limba UNQUALIFIED
Maria X StockhamIndiaAnna Fali RENEWAL
Leon G MaletItalyXuxue Feng NEW
Octavia K RutaGermanyAsiya Javayant RENEWAL
Ivar R RutaUnited KingdomElwin Sharvill UNQUALIFIED
Munro M BowleyGermanyAnna Fali QUALIFIED

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