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
Maisha Z PerinCanadaElwin Sharvill QUALIFIED
Munro J KuskoCanadaStephen Shaw RENEWAL
Sinclair Q FollerUnited KingdomAsiya Javayant PROPOSAL
Wickens V NestleIndiaStephen Shaw UNQUALIFIED
Wickens Y OstroskyIndiaStephen Shaw RENEWAL
Misaki S DoeFranceAnna Fali PROPOSAL
Leon Y CaudyGermanyBernardo Dominic PROPOSAL
Darci Q InouyeItalyAmy Elsner RENEWAL
Arvin Q RimGermanyStephen Shaw QUALIFIED
Juan W PoquetteArgentinaIoni Bowcher QUALIFIED
Ashley N FlosiAustraliaIvan Magalhaes NEW
Ricardo X TollnerGermanyAnna Fali RENEWAL
Wickens L CampainGermanyElwin Sharvill UNQUALIFIED
Adams I GauchoGermanyAnna Fali NEW
Arvin R OldroydArgentinaXuxue Feng UNQUALIFIED
Jennifer G MorascaBrazilOnyama Limba PROPOSAL
Leja I DilliardIndiaAnna Fali NEGOTIATION
Costa V KuskoCanadaIvan Magalhaes UNQUALIFIED
Jones I CampainBrazilOnyama Limba QUALIFIED
Emily E CaudyRussiaIvan Magalhaes QUALIFIED
Misaki Y VocelkaBrazilAsiya Javayant NEGOTIATION
Misaki J OldroydUnited KingdomIoni Bowcher NEW
Arvin N OstroskyUnited KingdomElwin Sharvill PROPOSAL
Mujtaba R TollnerItalyStephen Shaw RENEWAL
Greenwood B AmigonBrazilAsiya Javayant NEW
Nicolas G SchemmerJapanIvan Magalhaes UNQUALIFIED
David E MarrierGermanyOnyama Limba UNQUALIFIED
Costa N ButtBrazilOnyama Limba PROPOSAL
Francesco B DarakjyRussiaIoni Bowcher PROPOSAL
Deepesh T OldroydAustraliaStephen Shaw UNQUALIFIED
Clifford S MacleadRussiaStephen Shaw RENEWAL
Juan D BriddickBrazilAnna Fali QUALIFIED
Octavia W PoquetteJapanIoni Bowcher QUALIFIED
Jeanfrancois L WieserBrazilIoni Bowcher NEGOTIATION
Sinclair F ButtCanadaIvan Magalhaes PROPOSAL
Stacey I StockhamJapanStephen Shaw UNQUALIFIED
Ashley O ChuiArgentinaIvan Magalhaes QUALIFIED
Costa H GillianArgentinaIvan Magalhaes RENEWAL
Kaitlin E PoquetteBrazilAmy Elsner QUALIFIED
Julie X GillianCanadaAsiya Javayant UNQUALIFIED
David Q InouyeItalyIvan Magalhaes QUALIFIED
Cody E StensethSpainAnna Fali PROPOSAL
Rodrigues N MacleadIndiaAnna Fali RENEWAL
Kaitlin C GlickArgentinaElwin Sharvill UNQUALIFIED
Arvin G FerenczUnited KingdomElwin Sharvill PROPOSAL
Morrow W OstroskyCanadaXuxue Feng NEGOTIATION
Maria M VenereSpainAmy Elsner QUALIFIED
Misaki O AmigonBrazilStephen Shaw RENEWAL
Emily S MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood X DoeRussiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia Y InouyeJapanXuxue Feng PROPOSAL
Cody F ShinkoJapanIvan Magalhaes RENEWAL
Kadeem T MaletUnited KingdomElwin Sharvill UNQUALIFIED
Octavia M MorascaIndiaIoni Bowcher UNQUALIFIED
Aika G ChuiRussiaStephen Shaw UNQUALIFIED
Jeanfrancois O WieserUnited KingdomBernardo Dominic NEW
Faith P DarakjyFranceXuxue Feng RENEWAL
Cody Y AmigonRussiaOnyama Limba NEGOTIATION
Julie A WaycottBrazilAsiya Javayant UNQUALIFIED
Stacey U PoquetteUnited KingdomAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair I NestleGermany2026-07-23Buckley Miller Wright NEGOTIATION12Stephen Shaw
1001Deepesh C DilliardUnited Kingdom2026-07-17Feiner Bros PROPOSAL90Stephen Shaw
1002Costa Q VenereAustralia2026-08-08Benton, John B Jr NEW33Ioni Bowcher
1003Morrow K GauchoCanada2026-07-20Chapman, Ross E Esq QUALIFIED15Elwin Sharvill
1004Leja Q CampainFrance2026-07-27Feiner Bros NEGOTIATION50Asiya Javayant
1005Claire V MaletGermany2026-08-01Feltz Printing Service RENEWAL77Stephen Shaw
1006Nicolas F AmigonItaly2026-08-04Feiner Bros RENEWAL38Ioni Bowcher
1007Clifford P MaletIndia2026-08-06Rangoni Of Florence PROPOSAL23Amy Elsner
1008James X RutaBrazil2026-08-01King, Christopher A Esq RENEWAL98Amy Elsner
1009Leja Q GillianAustralia2026-08-01Chemel, James L Cpa PROPOSAL40Amy Elsner
1010Francesco W WhobreyGermany2026-08-05Benton, John B Jr NEW99Elwin Sharvill
1011Jones L BowleyUnited Kingdom2026-07-25Benton, John B Jr UNQUALIFIED49Anna Fali
1012Isabel X OldroydArgentina2026-07-27King, Christopher A Esq PROPOSAL86Bernardo Dominic
1013Juan W SchemmerBrazil2026-07-29Truhlar And Truhlar Attys PROPOSAL76Bernardo Dominic
1014Tony H RoysterCanada2026-07-26Benton, John B Jr PROPOSAL51Amy Elsner
1015Claire J GarufiRussia2026-07-12Printing Dimensions NEW65Onyama Limba
1016Alejandro U ButtGermany2026-08-08Morlong Associates RENEWAL8Anna Fali
1017Tony W CaldareraItaly2026-07-26Feltz Printing Service QUALIFIED17Elwin Sharvill
1018Jones T IturbideGermany2026-08-03Feiner Bros NEGOTIATION47Amy Elsner
1019Chavez C MarrierUnited Kingdom2026-07-29King, Christopher A Esq QUALIFIED74Asiya Javayant
1020Juan K WieserIndia2026-07-19Commercial Press QUALIFIED21Anna Fali
1021Greenwood G OldroydSpain2026-07-15Benton, John B Jr UNQUALIFIED22Bernardo Dominic
1022Aditya V RoysterGermany2026-07-24Feltz Printing Service PROPOSAL32Anna Fali
1023Aruna K AmigonUnited Kingdom2026-07-22Rousseaux, Michael Esq PROPOSAL3Bernardo Dominic
1024Maria T KolmetzFrance2026-07-18King, Christopher A Esq QUALIFIED88Xuxue Feng
1025Jones X MorascaIndia2026-07-16Rangoni Of Florence RENEWAL66Ivan Magalhaes
1026Aditya O BologniaJapan2026-08-09Dorl, James J Esq PROPOSAL18Anna Fali
1027Jennifer G WieserJapan2026-08-05Feltz Printing Service NEW93Elwin Sharvill
1028Jefferson T KolmetzAustralia2026-07-31Feiner Bros QUALIFIED80Elwin Sharvill
1029Faith A VenereUnited Kingdom2026-07-16Benton, John B Jr NEGOTIATION7Amy Elsner
1030James T GauchoIndia2026-07-25Buckley Miller Wright NEGOTIATION49Bernardo Dominic
1031Jeanfrancois U MorascaCanada2026-08-04Dorl, James J Esq NEW67Asiya Javayant
1032Arvin X KuskoGermany2026-07-16Benton, John B Jr RENEWAL89Asiya Javayant
1033Leja G SergiAustralia2026-07-31Feiner Bros RENEWAL7Ivan Magalhaes
1034David M RutaGermany2026-08-03Chapman, Ross E Esq RENEWAL54Stephen Shaw
1035Mayumi Y SlusarskiItaly2026-07-25Truhlar And Truhlar Attys PROPOSAL46Amy Elsner
1036Antonio X StensethBrazil2026-07-18Dorl, James J Esq RENEWAL35Stephen Shaw
1037Jennifer C AmigonItaly2026-07-30Dorl, James J Esq QUALIFIED47Amy Elsner
1038Maisha U MorascaFrance2026-08-07Feiner Bros RENEWAL15Asiya Javayant
1039Julie J StensethAustralia2026-07-27Printing Dimensions UNQUALIFIED76Stephen Shaw
1040Deepesh M MarrierRussia2026-07-18Feiner Bros QUALIFIED2Amy Elsner
1041Alejandro D WhobreyCanada2026-07-30Feltz Printing Service NEGOTIATION8Ivan Magalhaes
1042Adams I ShinkoGermany2026-07-11Rangoni Of Florence UNQUALIFIED96Ioni Bowcher
1043Deepesh Y SlusarskiUnited Kingdom2026-07-21Morlong Associates PROPOSAL62Amy Elsner
1044Clifford B RoysterFrance2026-07-27Feiner Bros QUALIFIED1Ioni Bowcher
1045Salvatore F DoeItaly2026-08-06Rangoni Of Florence UNQUALIFIED24Xuxue Feng
1046Rodrigues L RoysterBrazil2026-07-19Chemel, James L Cpa NEW69Bernardo Dominic
1047Isabel P KuskoUnited Kingdom2026-07-27Benton, John B Jr NEW86Bernardo Dominic
1048Arvin X CaldareraSpain2026-07-26Dorl, James J Esq UNQUALIFIED26Ioni Bowcher
1049Francesco Y GauchoItaly2026-07-30Dorl, James J Esq RENEWAL88Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones D DarakjyArgentinaAnna Fali PROPOSAL
Julie F DoeUnited KingdomAmy Elsner PROPOSAL
Jefferson M PoquetteItalyXuxue Feng NEW
Leja Y OstroskyIndiaIvan Magalhaes NEGOTIATION
Adams W NestleRussiaBernardo Dominic QUALIFIED
David R RutaBrazilIvan Magalhaes NEW
Johnson F NickaUnited KingdomAsiya Javayant PROPOSAL
Aika W IturbideRussiaAsiya Javayant UNQUALIFIED
Jennifer N FigeroaIndiaOnyama Limba NEGOTIATION
Antonio C MacleadItalyIoni Bowcher NEW
Stacey M SchemmerFranceIoni Bowcher QUALIFIED
Mayumi N RimItalyXuxue Feng QUALIFIED
Isabel F WhobreySpainBernardo Dominic RENEWAL
Rodrigues N TollnerBrazilAsiya Javayant NEGOTIATION
Leon F VenereIndiaAsiya Javayant QUALIFIED
Ashley S VocelkaItalyIvan Magalhaes NEW
Aika J GlickRussiaXuxue Feng QUALIFIED
Wickens Y NickaBrazilAsiya Javayant QUALIFIED
Julie V ButtSpainIvan Magalhaes UNQUALIFIED
Juan H RutaGermanyIoni Bowcher PROPOSAL
Chavez R GarufiGermanyAmy Elsner UNQUALIFIED
Jeanfrancois X ShinkoBrazilIoni Bowcher NEGOTIATION
Salvatore Z NestleAustraliaAmy Elsner NEW
Maria K RoysterBrazilIvan Magalhaes PROPOSAL
Stacey A IturbideFranceXuxue Feng NEGOTIATION
Greenwood D ButtSpainElwin Sharvill PROPOSAL
Alejandro I BriddickBrazilAsiya Javayant NEW
Darci Y PaprockiArgentinaStephen Shaw UNQUALIFIED
Maisha O VocelkaRussiaStephen Shaw UNQUALIFIED
Smith U CaudyFranceBernardo Dominic PROPOSAL
Costa D FlosiIndiaBernardo Dominic NEW
Aditya D MaletArgentinaAsiya Javayant NEGOTIATION
Octavia X InouyeArgentinaIoni Bowcher QUALIFIED
Morrow H NickaArgentinaBernardo Dominic UNQUALIFIED
Sinclair R KuskoUnited KingdomXuxue Feng QUALIFIED
Leja J WaycottCanadaXuxue Feng QUALIFIED
Arvin J FollerAustraliaXuxue Feng PROPOSAL
Cody H ButtGermanyOnyama Limba RENEWAL
Mujtaba W AmigonArgentinaElwin Sharvill NEW
Tony E AlbaresBrazilElwin Sharvill PROPOSAL
Mujtaba V KuskoArgentinaAnna Fali NEW
Silvio I MaletArgentinaElwin Sharvill QUALIFIED
Isabel V KolmetzItalyStephen Shaw RENEWAL
Maisha S CampainArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois T SlusarskiSpainElwin Sharvill QUALIFIED
Faith W CampainBrazilOnyama Limba PROPOSAL
Maria W MaletRussiaXuxue Feng NEW
Wickens T SchemmerRussiaAmy Elsner QUALIFIED
Aditya P RutaArgentinaIoni Bowcher PROPOSAL
Mayumi L FlosiBrazilBernardo Dominic UNQUALIFIED
Frozen Columns
Name
David P Malet
Jeanfrancois W Gaucho
Morrow Z Malet
Salvatore Q Rim
Faith R Kusko
Arvin H Maclead
Misaki L Flosi
Alejandro W Caudy
Claire A Venere
Jefferson F Ruta
James Z Nicka
Mayumi Z Ruta
Antonio Z Inouye
Mayumi I Morasca
Jeanfrancois K Whobrey
Smith T Ostrosky
Aruna W Caudy
Darci X Doe
Leja B Doe
Emily S Paprocki
Morrow H Kusko
Morrow R Stockham
Greenwood J Caldarera
Julie T Rulapaugh
Jefferson T Butt
Smith H Stockham
Munro I Albares
Maria M Shinko
Aruna K Poquette
Ivar I Royster
Jones U Oldroyd
Munro X Rulapaugh
Francesco Q Stenseth
Mujtaba R Bowley
Jefferson W Kolmetz
Antonio S Glick
Jennifer L Darakjy
Aruna V Paprocki
Rodrigues E Malet
Wickens I Amigon
Juan K Tollner
Misaki X Butt
Ricardo X Albares
Claire B Ruta
Aika U Paprocki
Smith Q Morasca
Octavia U Royster
Francesco C Waycott
Mayumi K Venere
Ivar Q Dilliard
IdCountryDate
1000Argentina2026-07-15
1001Germany2026-07-29
1002Russia2026-08-07
1003Spain2026-07-26
1004Argentina2026-07-30
1005Canada2026-07-11
1006Japan2026-07-30
1007Russia2026-08-01
1008United Kingdom2026-07-19
1009Japan2026-07-13
1010Canada2026-07-24
1011Japan2026-07-28
1012Canada2026-07-28
1013France2026-07-28
1014Germany2026-07-13
1015Spain2026-08-07
1016Russia2026-07-30
1017Spain2026-07-27
1018United Kingdom2026-07-30
1019Canada2026-07-14
1020Brazil2026-08-05
1021Australia2026-07-25
1022Japan2026-08-06
1023Japan2026-07-23
1024Brazil2026-08-06
1025India2026-07-30
1026Argentina2026-07-19
1027Germany2026-08-02
1028Italy2026-07-25
1029France2026-08-05
1030Argentina2026-07-22
1031Italy2026-07-20
1032United Kingdom2026-07-19
1033Germany2026-07-20
1034Japan2026-08-07
1035Japan2026-08-09
1036Japan2026-07-14
1037United Kingdom2026-07-26
1038India2026-07-28
1039India2026-07-23
1040Russia2026-07-29
1041Germany2026-08-04
1042Germany2026-07-13
1043Italy2026-08-08
1044India2026-08-02
1045India2026-07-28
1046Spain2026-07-29
1047United Kingdom2026-07-11
1048Italy2026-07-30
1049Japan2026-07-23

On-Demand Data

NameIdCountryDate
Ivar I Paprocki1000Russia2026-08-05
Jefferson O Butt1001Italy2026-07-13
Kadeem H Malet1002Canada2026-07-14
Silvio O Inouye1003Italy2026-07-29
Munro F Kusko1004Italy2026-07-31
Maisha H Butt1005Japan2026-07-23
Adams Z Waycott1006Spain2026-07-21
Munro J Oldroyd1007Spain2026-07-25
Rodrigues N Iturbide1008Brazil2026-07-23
Kaitlin L Poquette1009Spain2026-07-19
Julie H Waycott1010Brazil2026-07-25
Aditya H Nicka1011Russia2026-07-31
Jeanfrancois H Darakjy1012Italy2026-08-01
Alejandro O Campain1013Brazil2026-07-23
David Q Nestle1014Brazil2026-07-11
Ivar Z Garufi1015United Kingdom2026-07-21
Mayumi R Bowley1016United Kingdom2026-07-20
Isabel Z Garufi1017Japan2026-07-16
Kaitlin F Bowley1018Italy2026-07-17
Alejandro E Bolognia1019Italy2026-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y GauchoJapanStephen Shaw PROPOSAL
Salvatore H IturbideArgentinaStephen Shaw RENEWAL
Julie M GarufiFranceAsiya Javayant QUALIFIED
Mujtaba L VocelkaRussiaXuxue Feng PROPOSAL
Johnson I WieserIndiaOnyama Limba NEW
Emily O IturbideFranceXuxue Feng QUALIFIED
Deepesh A NestleCanadaAsiya Javayant PROPOSAL
Costa V RoysterRussiaXuxue Feng NEW
Darci M WhobreyArgentinaAmy Elsner NEGOTIATION
Chavez M VenereUnited KingdomStephen Shaw NEW
Alejandro N WhobreyFranceOnyama Limba PROPOSAL
Aruna J KuskoCanadaAmy Elsner UNQUALIFIED
Greenwood O CaldareraJapanElwin Sharvill RENEWAL
Jeanfrancois R DoeSpainIoni Bowcher NEGOTIATION
Munro J SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Jefferson I CaldareraSpainStephen Shaw NEW
Tony T FigeroaRussiaIoni Bowcher RENEWAL
Clifford I FerenczRussiaStephen Shaw RENEWAL
David W KolmetzCanadaOnyama Limba RENEWAL
Wickens R SchemmerItalyElwin Sharvill NEW
Darci S WhobreyAustraliaAmy Elsner NEW
Nicolas R GillianIndiaAnna Fali NEW
Morrow T DilliardBrazilAmy Elsner PROPOSAL
Faith L GlickSpainElwin Sharvill NEW
Adams Z MaletAustraliaAmy Elsner UNQUALIFIED
Smith N MorascaFranceBernardo Dominic NEGOTIATION
Octavia X RimFranceAmy Elsner QUALIFIED
Emily O KuskoCanadaIvan Magalhaes QUALIFIED
Wickens L SergiAustraliaAsiya Javayant NEW
Silvio C RimIndiaStephen Shaw PROPOSAL
Darci N StensethItalyAsiya Javayant QUALIFIED
Ivar I VocelkaUnited KingdomAnna Fali PROPOSAL
Nicolas V GillianUnited KingdomStephen Shaw NEGOTIATION
Deepesh A BriddickJapanXuxue Feng UNQUALIFIED
Cody P FigeroaRussiaBernardo Dominic NEGOTIATION
Ashley D DarakjyRussiaXuxue Feng NEW
Sinclair K CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues A RulapaughIndiaAmy Elsner PROPOSAL
Francesco G BowleyUnited KingdomAsiya Javayant PROPOSAL
Maria L KolmetzUnited KingdomElwin Sharvill 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>