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
Aruna E SchemmerAustraliaElwin Sharvill NEGOTIATION
Darci Q OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Emily K MorascaUnited KingdomOnyama Limba UNQUALIFIED
Leja U GlickIndiaBernardo Dominic PROPOSAL
Morrow C GillianRussiaBernardo Dominic NEGOTIATION
Mujtaba O MaletArgentinaOnyama Limba QUALIFIED
Claire V NestleJapanXuxue Feng UNQUALIFIED
Maria G RulapaughSpainIoni Bowcher NEW
Jennifer L StensethAustraliaIoni Bowcher RENEWAL
Chavez C RutaBrazilOnyama Limba NEW
Murillo B BologniaItalyAnna Fali QUALIFIED
Cody Y CaldareraGermanyAsiya Javayant PROPOSAL
Jeanfrancois M GauchoAustraliaXuxue Feng QUALIFIED
Jones U GillianAustraliaAsiya Javayant QUALIFIED
James C RimIndiaAsiya Javayant NEGOTIATION
Jones C WhobreyItalyAnna Fali PROPOSAL
Jeanfrancois H BowleyCanadaAmy Elsner QUALIFIED
Faith K ButtJapanAmy Elsner NEW
Greenwood I KuskoIndiaIoni Bowcher NEW
Claire P SergiRussiaIvan Magalhaes NEGOTIATION
Maria H CaldareraSpainElwin Sharvill NEW
Morrow W SergiJapanIoni Bowcher NEW
Darci R RoysterBrazilStephen Shaw QUALIFIED
Julie H MacleadRussiaOnyama Limba NEGOTIATION
Munro W CampainRussiaElwin Sharvill UNQUALIFIED
Jefferson S WaycottGermanyIoni Bowcher QUALIFIED
Misaki F SchemmerBrazilOnyama Limba NEGOTIATION
Misaki R ShinkoAustraliaStephen Shaw NEW
Tony G MarrierItalyIoni Bowcher UNQUALIFIED
James F GauchoSpainBernardo Dominic UNQUALIFIED
Julie N BowleyGermanyOnyama Limba UNQUALIFIED
Maisha L PoquetteUnited KingdomAnna Fali NEGOTIATION
Kaitlin Y GauchoIndiaAsiya Javayant NEGOTIATION
Jeanfrancois U OldroydUnited KingdomXuxue Feng UNQUALIFIED
Wickens R GlickUnited KingdomAmy Elsner PROPOSAL
Costa M KolmetzBrazilOnyama Limba NEGOTIATION
Maisha J WaycottAustraliaElwin Sharvill UNQUALIFIED
Mayumi O RutaBrazilAnna Fali NEW
Aditya C OstroskyGermanyBernardo Dominic UNQUALIFIED
Ricardo I GillianGermanyAmy Elsner RENEWAL
Jeanfrancois E VenereCanadaIvan Magalhaes UNQUALIFIED
David D VenereAustraliaBernardo Dominic NEW
Aika V GillianIndiaIoni Bowcher RENEWAL
Nicolas W WaycottArgentinaStephen Shaw RENEWAL
Darci Q DoeIndiaAsiya Javayant UNQUALIFIED
Kadeem G NickaAustraliaIvan Magalhaes UNQUALIFIED
Sinclair P RulapaughIndiaAnna Fali QUALIFIED
Darci Z CaldareraCanadaXuxue Feng NEGOTIATION
Rodrigues D GarufiFranceAsiya Javayant UNQUALIFIED
Aditya J GarufiAustraliaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro Y WhobreyGermanyElwin Sharvill QUALIFIED
Tony I TollnerJapanOnyama Limba PROPOSAL
Rodrigues W MorascaUnited KingdomStephen Shaw UNQUALIFIED
Jennifer X StensethItalyAnna Fali QUALIFIED
Faith K ShinkoIndiaBernardo Dominic QUALIFIED
Murillo N ChuiJapanOnyama Limba RENEWAL
Smith Y MarrierBrazilXuxue Feng PROPOSAL
David V VenereItalyAmy Elsner UNQUALIFIED
Jefferson J RutaBrazilXuxue Feng QUALIFIED
Juan Y WieserBrazilXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David P PaprockiBrazil2025-05-30Dorl, James J Esq NEGOTIATION48Amy Elsner
1001Antonio V SaylorsUnited Kingdom2025-05-27Dorl, James J Esq RENEWAL58Ioni Bowcher
1002Stacey K WaycottItaly2025-06-06Dorl, James J Esq RENEWAL87Ioni Bowcher
1003Chavez U SaylorsItaly2025-05-18Printing Dimensions NEW78Onyama Limba
1004Murillo Z RutaBrazil2025-05-27Benton, John B Jr NEW63Stephen Shaw
1005Kadeem N WieserBrazil2025-05-25Feiner Bros RENEWAL26Stephen Shaw
1006Smith X DarakjyRussia2025-06-02Benton, John B Jr RENEWAL74Asiya Javayant
1007Nicolas U FlosiAustralia2025-05-27Commercial Press RENEWAL38Xuxue Feng
1008Cody G PaprockiUnited Kingdom2025-05-22Benton, John B Jr PROPOSAL21Asiya Javayant
1009Aruna F BologniaJapan2025-06-10Feiner Bros RENEWAL49Xuxue Feng
1010Murillo L ShinkoUnited Kingdom2025-05-22Benton, John B Jr NEW2Onyama Limba
1011Munro R GauchoGermany2025-06-08Chapman, Ross E Esq QUALIFIED23Elwin Sharvill
1012Aditya B PoquetteBrazil2025-05-27Chemel, James L Cpa QUALIFIED9Asiya Javayant
1013Johnson G WaycottCanada2025-06-13Commercial Press NEGOTIATION9Asiya Javayant
1014Izzy D PerinIndia2025-05-31Dorl, James J Esq NEGOTIATION20Bernardo Dominic
1015Johnson F IturbideJapan2025-06-11Benton, John B Jr RENEWAL30Stephen Shaw
1016Ricardo P ShinkoRussia2025-06-15Printing Dimensions UNQUALIFIED85Ivan Magalhaes
1017Jones B MacleadRussia2025-05-17Truhlar And Truhlar Attys UNQUALIFIED97Asiya Javayant
1018Salvatore S StensethRussia2025-05-31Benton, John B Jr RENEWAL40Amy Elsner
1019Julie B OstroskyArgentina2025-06-13Chanay, Jeffrey A Esq RENEWAL59Asiya Javayant
1020Kaitlin A MaletItaly2025-06-08Benton, John B Jr NEW44Ioni Bowcher
1021Juan H SlusarskiJapan2025-06-11Benton, John B Jr QUALIFIED79Elwin Sharvill
1022Costa Y MacleadJapan2025-05-28Feltz Printing Service NEGOTIATION54Elwin Sharvill
1023Kadeem R OstroskyUnited Kingdom2025-05-28Dorl, James J Esq PROPOSAL1Ioni Bowcher
1024Aika M StockhamRussia2025-05-18Rousseaux, Michael Esq NEGOTIATION7Bernardo Dominic
1025Wickens W WieserAustralia2025-06-05Feltz Printing Service RENEWAL98Bernardo Dominic
1026Adams W MaletSpain2025-05-27Rousseaux, Michael Esq NEGOTIATION3Ioni Bowcher
1027Darci E WieserArgentina2025-05-24King, Christopher A Esq NEW90Ioni Bowcher
1028Salvatore F PoquetteFrance2025-05-29King, Christopher A Esq PROPOSAL85Ioni Bowcher
1029Jefferson Z FerenczSpain2025-05-28Feiner Bros NEGOTIATION71Bernardo Dominic
1030Silvio Y PerinBrazil2025-06-04Chanay, Jeffrey A Esq NEGOTIATION64Onyama Limba
1031Maria W RimBrazil2025-06-12Feiner Bros UNQUALIFIED4Bernardo Dominic
1032Juan A MarrierFrance2025-05-20Buckley Miller Wright QUALIFIED58Stephen Shaw
1033Aika B DoeRussia2025-06-15Chanay, Jeffrey A Esq QUALIFIED68Onyama Limba
1034Silvio F SlusarskiIndia2025-05-28Commercial Press UNQUALIFIED83Ivan Magalhaes
1035Mujtaba Y WhobreyRussia2025-05-27Chemel, James L Cpa UNQUALIFIED16Elwin Sharvill
1036Johnson W MorascaAustralia2025-05-28Buckley Miller Wright NEW91Ivan Magalhaes
1037Maria W FerenczUnited Kingdom2025-05-27Rousseaux, Michael Esq NEGOTIATION29Ioni Bowcher
1038Greenwood W RoysterSpain2025-05-23Buckley Miller Wright NEGOTIATION0Xuxue Feng
1039Aika M DarakjySpain2025-05-31Truhlar And Truhlar Attys PROPOSAL48Ioni Bowcher
1040Stacey F PerinAustralia2025-06-07Feltz Printing Service QUALIFIED77Anna Fali
1041Aruna G InouyeRussia2025-05-29Rangoni Of Florence UNQUALIFIED81Anna Fali
1042Misaki H VenereItaly2025-05-24Feiner Bros NEGOTIATION13Stephen Shaw
1043Izzy I DilliardAustralia2025-05-18Chapman, Ross E Esq NEW98Amy Elsner
1044Smith P VenereIndia2025-06-14Truhlar And Truhlar Attys UNQUALIFIED74Onyama Limba
1045Aruna O GauchoFrance2025-05-18Feltz Printing Service PROPOSAL38Xuxue Feng
1046Kaitlin U MaletRussia2025-05-17Feiner Bros RENEWAL89Onyama Limba
1047Kadeem D KolmetzBrazil2025-05-23Chanay, Jeffrey A Esq PROPOSAL39Ioni Bowcher
1048Jeanfrancois L GillianSpain2025-06-15Feiner Bros UNQUALIFIED23Xuxue Feng
1049Clifford C WieserRussia2025-06-11King, Christopher A Esq NEW68Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow I WaycottBrazilOnyama Limba RENEWAL
Ivar J DoeAustraliaBernardo Dominic QUALIFIED
Maria U TollnerFranceAmy Elsner UNQUALIFIED
Mayumi I FlosiArgentinaIvan Magalhaes PROPOSAL
Mayumi O MacleadBrazilXuxue Feng NEGOTIATION
Mujtaba Z MaletRussiaAnna Fali PROPOSAL
Arvin Z SaylorsJapanXuxue Feng PROPOSAL
Darci Z OldroydItalyElwin Sharvill NEGOTIATION
David J CaudyArgentinaBernardo Dominic NEW
Misaki T OldroydAustraliaIvan Magalhaes NEW
Maisha Z RutaUnited KingdomAsiya Javayant RENEWAL
Mujtaba H BowleyJapanXuxue Feng RENEWAL
Jeanfrancois R PaprockiItalyAnna Fali NEGOTIATION
Ashley J KuskoItalyIoni Bowcher RENEWAL
Salvatore C CaudyCanadaBernardo Dominic NEW
Julie Z OldroydArgentinaOnyama Limba NEW
Sinclair A MacleadBrazilAnna Fali NEGOTIATION
Antonio F BowleyRussiaStephen Shaw RENEWAL
Maria K ChuiJapanIoni Bowcher QUALIFIED
Munro M WhobreyBrazilStephen Shaw NEGOTIATION
Aruna O ChuiJapanOnyama Limba QUALIFIED
Juan M SlusarskiAustraliaAnna Fali NEGOTIATION
Tony C InouyeAustraliaAmy Elsner PROPOSAL
Stacey G SlusarskiItalyXuxue Feng UNQUALIFIED
Wickens V RutaArgentinaOnyama Limba NEW
Aditya N WieserCanadaAmy Elsner UNQUALIFIED
Claire Q MarrierCanadaOnyama Limba PROPOSAL
Jeanfrancois W BriddickBrazilIvan Magalhaes PROPOSAL
Aditya C FollerSpainXuxue Feng NEW
Claire W DoeJapanXuxue Feng UNQUALIFIED
Maisha C ChuiGermanyXuxue Feng NEGOTIATION
Deepesh P DarakjyCanadaElwin Sharvill RENEWAL
Ashley M DarakjyCanadaAsiya Javayant PROPOSAL
Julie A NestleBrazilAsiya Javayant NEW
Clifford D CampainFranceElwin Sharvill PROPOSAL
Juan S RulapaughJapanIvan Magalhaes RENEWAL
Aika Z ShinkoBrazilAnna Fali QUALIFIED
Alejandro H VenereBrazilOnyama Limba NEW
Jeanfrancois N StensethRussiaOnyama Limba NEW
David L SlusarskiBrazilIoni Bowcher NEGOTIATION
Chavez D RulapaughItalyAsiya Javayant QUALIFIED
Stacey N DarakjySpainIoni Bowcher NEGOTIATION
Francesco T GauchoCanadaXuxue Feng UNQUALIFIED
Emily R OldroydJapanStephen Shaw PROPOSAL
David P AlbaresJapanAnna Fali NEW
Ricardo K SlusarskiBrazilAmy Elsner RENEWAL
Claire V StensethSpainAnna Fali NEGOTIATION
Francesco P CaldareraCanadaAsiya Javayant QUALIFIED
Maisha B VenereFranceAsiya Javayant NEW
Stacey V PaprockiSpainAmy Elsner NEGOTIATION
Frozen Columns
Name
Salvatore A Chui
Ricardo P Caldarera
Leja G Tollner
Maisha C Venere
Aruna W Oldroyd
Kaitlin Z Foller
James T Malet
Leon P Rulapaugh
Mayumi S Wieser
Ashley Y Schemmer
Izzy C Rulapaugh
Ricardo W Foller
Johnson J Campain
Misaki H Waycott
Aruna B Paprocki
Morrow U Malet
Juan N Sergi
Misaki F Bolognia
Kadeem F Garufi
James Z Doe
Clifford Y Gaucho
Deepesh L Briddick
Jefferson H Poquette
Misaki U Saylors
Arvin S Briddick
Sinclair X Gaucho
Johnson V Caldarera
Johnson F Glick
Jefferson F Bowley
Faith M Inouye
Nicolas T Sergi
Izzy B Vocelka
Smith B Oldroyd
James U Perin
Tony X Darakjy
Jeanfrancois D Albares
Ricardo U Caldarera
James I Garufi
Antonio J Waycott
James B Oldroyd
Johnson N Schemmer
Stacey K Maclead
Leon V Morasca
Julie F Figeroa
Leon M Malet
Jefferson A Caudy
Deepesh O Gillian
James E Rim
Aditya A Caudy
Claire E Maclead
IdCountryDate
1000Argentina2025-06-09
1001Australia2025-05-20
1002Spain2025-05-30
1003France2025-05-30
1004India2025-05-28
1005Australia2025-06-09
1006France2025-05-17
1007United Kingdom2025-05-22
1008Italy2025-05-28
1009France2025-05-29
1010Germany2025-05-28
1011United Kingdom2025-06-04
1012Australia2025-06-15
1013United Kingdom2025-05-25
1014United Kingdom2025-06-07
1015Canada2025-06-08
1016Italy2025-06-06
1017Canada2025-05-27
1018Brazil2025-06-09
1019United Kingdom2025-05-24
1020Italy2025-05-31
1021Italy2025-05-29
1022Australia2025-05-29
1023Canada2025-05-22
1024Spain2025-05-17
1025Japan2025-06-01
1026Japan2025-05-17
1027Canada2025-05-25
1028India2025-05-28
1029Canada2025-05-21
1030Australia2025-06-02
1031France2025-06-11
1032Brazil2025-06-09
1033Italy2025-05-26
1034Canada2025-05-26
1035Canada2025-06-04
1036Brazil2025-06-13
1037Argentina2025-05-20
1038Germany2025-05-29
1039Italy2025-05-25
1040India2025-05-21
1041Italy2025-06-11
1042United Kingdom2025-06-07
1043Australia2025-06-10
1044Canada2025-06-04
1045France2025-06-13
1046Germany2025-06-11
1047Spain2025-05-28
1048Argentina2025-05-24
1049United Kingdom2025-06-07

On-Demand Data

NameIdCountryDate
Wickens K Royster1000Germany2025-06-05
Isabel B Nestle1001France2025-05-18
Maria C Figeroa1002Italy2025-05-23
Aika Q Caudy1003Argentina2025-05-17
Faith Y Saylors1004Germany2025-05-20
Kadeem J Paprocki1005France2025-05-20
Sinclair A Morasca1006Japan2025-05-20
Jeanfrancois E Slusarski1007United Kingdom2025-05-28
Cody A Shinko1008Germany2025-05-31
Ricardo Y Rim1009Canada2025-06-03
Claire H Poquette1010Russia2025-05-24
Tony N Dilliard1011Argentina2025-05-23
Julie S Whobrey1012Germany2025-06-08
James Y Tollner1013Canada2025-05-18
Juan U Oldroyd1014United Kingdom2025-06-10
David C Albares1015Brazil2025-05-25
Silvio M Morasca1016Brazil2025-05-20
Aruna J Rim1017Brazil2025-06-12
Deepesh A Bowley1018Canada2025-06-01
Isabel H Paprocki1019Argentina2025-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria C PerinArgentinaAnna Fali QUALIFIED
Ricardo J DoeCanadaIoni Bowcher UNQUALIFIED
Octavia Y ChuiArgentinaIoni Bowcher QUALIFIED
Maisha J BologniaItalyIvan Magalhaes PROPOSAL
Kaitlin F RoysterItalyElwin Sharvill RENEWAL
Faith H BriddickFranceAnna Fali RENEWAL
Alejandro K CampainGermanyStephen Shaw UNQUALIFIED
Octavia L ChuiAustraliaBernardo Dominic RENEWAL
Juan L RutaJapanXuxue Feng NEGOTIATION
Izzy T MorascaGermanyStephen Shaw QUALIFIED
Murillo W BriddickItalyStephen Shaw NEW
Maria W RulapaughFranceAnna Fali PROPOSAL
Juan N RulapaughRussiaAmy Elsner PROPOSAL
Rodrigues C AmigonCanadaOnyama Limba NEW
Deepesh B MarrierSpainXuxue Feng NEW
Aruna T RoysterUnited KingdomAnna Fali NEGOTIATION
Antonio R MacleadArgentinaXuxue Feng RENEWAL
Leja N DarakjyRussiaElwin Sharvill UNQUALIFIED
Claire X ButtAustraliaXuxue Feng RENEWAL
Greenwood Q BologniaItalyOnyama Limba NEGOTIATION
Kaitlin M MacleadIndiaIvan Magalhaes NEGOTIATION
Stacey P ChuiSpainElwin Sharvill UNQUALIFIED
Ivar L BriddickJapanStephen Shaw NEGOTIATION
Leja U RutaUnited KingdomAmy Elsner UNQUALIFIED
Julie U VocelkaItalyIvan Magalhaes QUALIFIED
Leon U TollnerCanadaStephen Shaw NEGOTIATION
Stacey Y BriddickItalyAmy Elsner QUALIFIED
Octavia O CampainBrazilStephen Shaw RENEWAL
Ricardo L MacleadIndiaBernardo Dominic QUALIFIED
Jennifer B RimArgentinaAsiya Javayant QUALIFIED
Isabel U SergiCanadaElwin Sharvill UNQUALIFIED
Arvin B MacleadRussiaOnyama Limba NEW
Tony H NickaArgentinaStephen Shaw NEGOTIATION
Morrow F SaylorsIndiaAsiya Javayant UNQUALIFIED
Arvin J FollerCanadaAnna Fali QUALIFIED
Munro T WieserFranceIvan Magalhaes QUALIFIED
Morrow F ShinkoArgentinaStephen Shaw PROPOSAL
Ashley I MacleadArgentinaIvan Magalhaes NEGOTIATION
Stacey H MaletItalyAsiya Javayant NEGOTIATION
Leon N PaprockiAustraliaAnna Fali RENEWAL

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