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
Jennifer M AmigonRussiaAmy Elsner UNQUALIFIED
Maria B RoysterRussiaOnyama Limba PROPOSAL
Aika J RimAustraliaOnyama Limba RENEWAL
Misaki H PerinBrazilElwin Sharvill NEGOTIATION
Faith S WieserFranceOnyama Limba NEW
Tony G ShinkoSpainBernardo Dominic NEW
Isabel M WhobreyBrazilXuxue Feng NEGOTIATION
Kaitlin L OldroydRussiaAmy Elsner QUALIFIED
Aika S PoquetteAustraliaBernardo Dominic RENEWAL
Salvatore M StockhamRussiaAmy Elsner NEGOTIATION
Mayumi P GillianIndiaElwin Sharvill NEW
Clifford B WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Izzy S NickaRussiaBernardo Dominic QUALIFIED
Chavez O PaprockiRussiaAnna Fali QUALIFIED
Murillo S PoquetteUnited KingdomAmy Elsner NEGOTIATION
Maria X CaldareraJapanElwin Sharvill NEW
Aruna G SlusarskiCanadaAnna Fali QUALIFIED
Tony H GlickJapanElwin Sharvill UNQUALIFIED
Emily H AlbaresAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois O FlosiArgentinaOnyama Limba NEW
Ivar Y PerinBrazilOnyama Limba PROPOSAL
Costa J ChuiIndiaElwin Sharvill PROPOSAL
Jones K SlusarskiBrazilBernardo Dominic PROPOSAL
Maria Y IturbideRussiaOnyama Limba NEW
Juan A CaudyRussiaAsiya Javayant PROPOSAL
Deepesh A BowleyFranceIoni Bowcher QUALIFIED
Silvio P ButtGermanyXuxue Feng NEGOTIATION
Silvio C PaprockiIndiaIoni Bowcher NEW
Stacey O OldroydCanadaStephen Shaw NEGOTIATION
Claire K StockhamItalyAnna Fali PROPOSAL
Kadeem V AmigonAustraliaStephen Shaw NEW
Juan S MaletBrazilElwin Sharvill NEW
Nicolas F BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Misaki Q KuskoSpainOnyama Limba QUALIFIED
Jennifer R FollerRussiaStephen Shaw UNQUALIFIED
Deepesh P GillianIndiaAnna Fali NEGOTIATION
Stacey W BowleyIndiaAnna Fali NEGOTIATION
Kadeem H MarrierAustraliaStephen Shaw QUALIFIED
Julie X IturbideGermanyIoni Bowcher NEGOTIATION
Octavia P InouyeItalyIvan Magalhaes NEGOTIATION
Morrow A FigeroaSpainStephen Shaw UNQUALIFIED
Tony G CaldareraCanadaAmy Elsner UNQUALIFIED
Darci G MorascaSpainXuxue Feng UNQUALIFIED
Rodrigues Y ChuiItalyBernardo Dominic NEW
Jennifer F GlickAustraliaElwin Sharvill NEGOTIATION
Jones E DarakjyArgentinaIvan Magalhaes PROPOSAL
Chavez J ButtIndiaIoni Bowcher PROPOSAL
Aditya M StockhamFranceBernardo Dominic NEW
Ricardo A OldroydFranceElwin Sharvill NEW
Leon S StockhamBrazilIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams M BologniaBrazilAnna Fali NEW
Johnson M VenereCanadaIoni Bowcher NEW
Jennifer I SlusarskiIndiaXuxue Feng QUALIFIED
Juan T RulapaughAustraliaAmy Elsner PROPOSAL
Aditya V BowleyArgentinaAmy Elsner UNQUALIFIED
Misaki T RulapaughFranceAnna Fali NEGOTIATION
Maria X StockhamCanadaAnna Fali QUALIFIED
Ivar A DarakjyArgentinaAmy Elsner NEGOTIATION
Jefferson O SlusarskiArgentinaElwin Sharvill NEGOTIATION
Juan X StockhamUnited KingdomAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki L FigeroaItaly2026-08-17Printing Dimensions QUALIFIED5Anna Fali
1001Mujtaba U WhobreyFrance2026-08-03Feiner Bros RENEWAL56Anna Fali
1002Nicolas A WhobreySpain2026-08-07Buckley Miller Wright QUALIFIED40Ioni Bowcher
1003Maria W KuskoAustralia2026-08-06Feiner Bros NEGOTIATION84Ivan Magalhaes
1004Maria P MorascaBrazil2026-08-18Buckley Miller Wright NEGOTIATION44Onyama Limba
1005Murillo Z CaldareraAustralia2026-08-04Morlong Associates PROPOSAL43Elwin Sharvill
1006Claire Q ChuiSpain2026-08-04Rangoni Of Florence RENEWAL38Ivan Magalhaes
1007Emily Q GillianIndia2026-07-24Feiner Bros RENEWAL11Ioni Bowcher
1008Nicolas U VenereCanada2026-07-28Truhlar And Truhlar Attys NEW71Stephen Shaw
1009Emily X VenereFrance2026-08-09Chemel, James L Cpa QUALIFIED30Amy Elsner
1010Adams T FlosiJapan2026-08-08Chanay, Jeffrey A Esq NEW91Bernardo Dominic
1011Aruna Q OstroskyIndia2026-08-04Rangoni Of Florence QUALIFIED60Ivan Magalhaes
1012Mayumi S RutaCanada2026-07-26King, Christopher A Esq NEGOTIATION57Xuxue Feng
1013Leja O DilliardJapan2026-08-10King, Christopher A Esq PROPOSAL74Anna Fali
1014Tony P GauchoJapan2026-08-15Feltz Printing Service RENEWAL28Ivan Magalhaes
1015Munro L BologniaBrazil2026-08-02Printing Dimensions QUALIFIED0Bernardo Dominic
1016Jeanfrancois A SchemmerCanada2026-08-18Benton, John B Jr UNQUALIFIED62Stephen Shaw
1017Kaitlin A CaldareraSpain2026-08-11Morlong Associates NEW39Onyama Limba
1018Chavez L MarrierIndia2026-08-19Rousseaux, Michael Esq QUALIFIED40Ioni Bowcher
1019Sinclair Z RoysterArgentina2026-08-04Buckley Miller Wright PROPOSAL17Xuxue Feng
1020Sinclair L StockhamGermany2026-08-09Rangoni Of Florence PROPOSAL2Anna Fali
1021Deepesh G KolmetzGermany2026-08-04Truhlar And Truhlar Attys NEW94Amy Elsner
1022David V SaylorsArgentina2026-08-02Feltz Printing Service UNQUALIFIED92Ivan Magalhaes
1023Munro E GarufiUnited Kingdom2026-07-23Benton, John B Jr NEW35Amy Elsner
1024Nicolas N AmigonUnited Kingdom2026-07-28Printing Dimensions QUALIFIED32Xuxue Feng
1025Alejandro Z PaprockiJapan2026-08-07King, Christopher A Esq UNQUALIFIED46Ioni Bowcher
1026Aruna X VocelkaBrazil2026-07-24Chanay, Jeffrey A Esq UNQUALIFIED31Onyama Limba
1027Isabel R WhobreyUnited Kingdom2026-08-05Dorl, James J Esq RENEWAL94Anna Fali
1028Maria Q StensethAustralia2026-08-07Morlong Associates UNQUALIFIED44Bernardo Dominic
1029Morrow H RulapaughAustralia2026-08-20Chemel, James L Cpa UNQUALIFIED25Ivan Magalhaes
1030Darci C FerenczCanada2026-07-24Truhlar And Truhlar Attys QUALIFIED72Amy Elsner
1031Julie O WaycottIndia2026-08-01Morlong Associates NEW44Stephen Shaw
1032Faith W MacleadGermany2026-07-23King, Christopher A Esq QUALIFIED36Asiya Javayant
1033Emily I IturbideIndia2026-07-25Feiner Bros NEGOTIATION52Elwin Sharvill
1034Claire Y StensethCanada2026-07-28Chapman, Ross E Esq NEGOTIATION25Ioni Bowcher
1035Ashley C ShinkoGermany2026-08-11Printing Dimensions NEGOTIATION10Xuxue Feng
1036Murillo A WaycottJapan2026-08-17Chapman, Ross E Esq NEGOTIATION24Amy Elsner
1037Silvio D FerenczArgentina2026-07-28Rangoni Of Florence NEGOTIATION1Stephen Shaw
1038Morrow O KuskoCanada2026-08-08Commercial Press PROPOSAL38Xuxue Feng
1039Tony J GauchoBrazil2026-07-30Benton, John B Jr PROPOSAL37Elwin Sharvill
1040Kaitlin D ButtItaly2026-08-14Chemel, James L Cpa PROPOSAL87Stephen Shaw
1041Mujtaba M BowleyArgentina2026-08-21Feltz Printing Service QUALIFIED57Xuxue Feng
1042Murillo W SlusarskiSpain2026-08-16King, Christopher A Esq RENEWAL9Stephen Shaw
1043Johnson B GlickCanada2026-08-07Feltz Printing Service UNQUALIFIED58Anna Fali
1044Arvin Q BologniaSpain2026-07-25Commercial Press UNQUALIFIED6Anna Fali
1045Morrow Q TollnerArgentina2026-07-23Feiner Bros NEW11Ioni Bowcher
1046Julie Z PerinUnited Kingdom2026-08-08Feiner Bros NEW54Stephen Shaw
1047Nicolas U KolmetzRussia2026-08-20Chemel, James L Cpa RENEWAL6Onyama Limba
1048Octavia K MarrierCanada2026-08-11Morlong Associates NEGOTIATION43Anna Fali
1049Maisha U KolmetzCanada2026-07-25Feiner Bros RENEWAL49Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo X GauchoUnited KingdomBernardo Dominic NEGOTIATION
Smith Y SaylorsItalyIoni Bowcher NEW
Sinclair L IturbideFranceStephen Shaw RENEWAL
Izzy K StockhamItalyXuxue Feng NEW
Julie T DoeJapanOnyama Limba PROPOSAL
Ricardo F RoysterAustraliaStephen Shaw NEW
Morrow I RoysterFranceAnna Fali NEGOTIATION
Darci D AlbaresBrazilIvan Magalhaes NEW
Alejandro U BriddickItalyIoni Bowcher NEGOTIATION
Jennifer S DilliardIndiaAsiya Javayant RENEWAL
Maria G TollnerBrazilElwin Sharvill UNQUALIFIED
Faith W PaprockiItalyAnna Fali NEGOTIATION
Isabel F GillianAustraliaXuxue Feng NEGOTIATION
Stacey M CaudyJapanElwin Sharvill NEW
Leon L MarrierFranceElwin Sharvill UNQUALIFIED
Salvatore M ButtArgentinaXuxue Feng NEGOTIATION
Costa Y BowleyGermanyAsiya Javayant RENEWAL
Emily Q FlosiIndiaIoni Bowcher UNQUALIFIED
Jones R SlusarskiBrazilIvan Magalhaes NEGOTIATION
Julie V IturbideAustraliaAnna Fali RENEWAL
Misaki X MacleadIndiaAmy Elsner QUALIFIED
David T BowleyIndiaIvan Magalhaes UNQUALIFIED
Leja X VenereSpainAnna Fali RENEWAL
Morrow Z BriddickFranceAnna Fali UNQUALIFIED
Munro M BologniaUnited KingdomXuxue Feng NEW
Rodrigues M FlosiRussiaIvan Magalhaes NEGOTIATION
Sinclair X ShinkoIndiaAnna Fali RENEWAL
Claire E WhobreyUnited KingdomElwin Sharvill QUALIFIED
Sinclair O GillianUnited KingdomXuxue Feng NEW
Munro N MaletSpainOnyama Limba RENEWAL
Julie G StockhamGermanyBernardo Dominic RENEWAL
David E KolmetzIndiaXuxue Feng QUALIFIED
David J OldroydGermanyIoni Bowcher RENEWAL
Arvin F CampainJapanIvan Magalhaes UNQUALIFIED
Chavez E OldroydCanadaAnna Fali NEGOTIATION
Leja J PaprockiSpainAmy Elsner QUALIFIED
Ricardo N TollnerJapanBernardo Dominic NEGOTIATION
Deepesh E MaletCanadaAsiya Javayant PROPOSAL
Kadeem R CampainArgentinaStephen Shaw UNQUALIFIED
Octavia S KolmetzAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois O BologniaJapanIvan Magalhaes UNQUALIFIED
Stacey D BriddickAustraliaOnyama Limba UNQUALIFIED
Leon J KuskoUnited KingdomIvan Magalhaes RENEWAL
Murillo F InouyeBrazilStephen Shaw RENEWAL
Jones O TollnerFranceIoni Bowcher UNQUALIFIED
Claire L DoeIndiaBernardo Dominic NEGOTIATION
Deepesh O ShinkoGermanyBernardo Dominic RENEWAL
Arvin M FerenczAustraliaXuxue Feng UNQUALIFIED
Jennifer I PerinItalyXuxue Feng NEGOTIATION
Greenwood L GauchoArgentinaAnna Fali PROPOSAL
Frozen Columns
Name
Adams I Garufi
Maisha E Glick
Aruna H Doe
Wickens A Albares
Jones S Vocelka
Stacey X Glick
Tony A Garufi
Chavez J Nestle
Claire J Chui
Ricardo X Darakjy
Octavia U Campain
Deepesh V Caldarera
David A Sergi
Faith W Saylors
Ashley D Ostrosky
Silvio N Whobrey
Mayumi C Ferencz
Leja U Butt
Rodrigues J Stenseth
Aditya T Maclead
Maisha R Schemmer
Munro U Glick
Mujtaba Q Nestle
Aditya O Malet
Jones Y Schemmer
Jefferson F Maclead
Smith D Morasca
Chavez F Gillian
Salvatore D Wieser
Alejandro J Whobrey
Leon E Campain
Morrow F Campain
Ricardo I Ruta
Salvatore I Morasca
Juan H Amigon
Misaki C Perin
Ricardo F Wieser
Juan W Oldroyd
Deepesh K Caudy
Aruna K Gillian
Aditya J Sergi
Ricardo E Venere
Izzy D Nestle
Ashley S Campain
Mujtaba P Figeroa
Leon E Shinko
Jefferson R Gillian
Greenwood W Gillian
Costa Q Sergi
Greenwood Z Doe
IdCountryDate
1000Argentina2026-08-18
1001Brazil2026-08-05
1002France2026-07-24
1003India2026-08-20
1004India2026-07-31
1005Spain2026-08-01
1006Brazil2026-07-26
1007Canada2026-07-23
1008India2026-08-14
1009Australia2026-08-18
1010Australia2026-08-10
1011Italy2026-07-27
1012Brazil2026-07-24
1013India2026-07-26
1014Brazil2026-07-23
1015Russia2026-08-01
1016Japan2026-07-24
1017Argentina2026-07-28
1018United Kingdom2026-08-15
1019Japan2026-07-31
1020Russia2026-07-24
1021Italy2026-08-15
1022France2026-07-30
1023Germany2026-07-24
1024Germany2026-07-23
1025Brazil2026-07-23
1026Germany2026-08-09
1027Germany2026-08-21
1028Spain2026-08-14
1029Germany2026-07-24
1030Japan2026-08-05
1031Australia2026-08-11
1032Germany2026-07-24
1033Australia2026-07-23
1034Spain2026-08-04
1035France2026-08-13
1036Argentina2026-07-31
1037France2026-08-08
1038Russia2026-07-23
1039United Kingdom2026-08-17
1040Italy2026-08-17
1041Germany2026-08-20
1042Argentina2026-08-06
1043France2026-08-04
1044Australia2026-07-23
1045Canada2026-07-27
1046France2026-08-07
1047Canada2026-07-28
1048Argentina2026-08-08
1049United Kingdom2026-07-24

On-Demand Data

NameIdCountryDate
Stacey F Briddick1000Argentina2026-08-03
Murillo L Rulapaugh1001Canada2026-07-24
Silvio I Saylors1002United Kingdom2026-08-04
Smith R Albares1003Australia2026-08-02
Deepesh O Tollner1004Spain2026-08-01
Darci X Stenseth1005Japan2026-07-26
Aditya I Rim1006Canada2026-08-11
Rodrigues A Ostrosky1007United Kingdom2026-08-20
Leja I Marrier1008Italy2026-07-27
Claire H Briddick1009Argentina2026-07-29
Mujtaba P Briddick1010Argentina2026-08-14
Sinclair H Ferencz1011Argentina2026-08-13
Morrow V Foller1012Canada2026-07-29
Deepesh K Marrier1013Canada2026-07-31
Emily O Perin1014Russia2026-07-25
Misaki R Slusarski1015United Kingdom2026-08-07
Deepesh J Malet1016France2026-08-20
Jeanfrancois B Chui1017Australia2026-08-02
Emily C Ferencz1018Canada2026-07-30
Costa E Caldarera1019Argentina2026-08-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson F StockhamSpainElwin Sharvill NEW
Tony P WhobreyUnited KingdomIoni Bowcher PROPOSAL
Maisha J GarufiBrazilAsiya Javayant QUALIFIED
Isabel D PoquetteIndiaAsiya Javayant NEGOTIATION
Rodrigues U PaprockiFranceXuxue Feng PROPOSAL
Jefferson E CampainJapanAnna Fali NEGOTIATION
Salvatore I FigeroaBrazilStephen Shaw NEGOTIATION
Costa M MaletSpainElwin Sharvill PROPOSAL
James C RutaArgentinaElwin Sharvill PROPOSAL
Kaitlin Q GlickJapanAsiya Javayant NEGOTIATION
Aika T PerinAustraliaAmy Elsner NEGOTIATION
Mayumi C SergiSpainStephen Shaw QUALIFIED
James T AlbaresIndiaXuxue Feng UNQUALIFIED
Leon J DarakjyGermanyAsiya Javayant UNQUALIFIED
Antonio O ButtFranceAmy Elsner QUALIFIED
Deepesh Q OldroydRussiaIvan Magalhaes NEW
Claire I CaldareraRussiaAnna Fali QUALIFIED
Mayumi Q PoquetteCanadaXuxue Feng RENEWAL
Darci M SchemmerItalyElwin Sharvill NEW
Misaki M VenereFranceIoni Bowcher UNQUALIFIED
David I MarrierArgentinaElwin Sharvill UNQUALIFIED
Maisha Y VenereFranceIoni Bowcher UNQUALIFIED
Arvin E MaletFranceAsiya Javayant PROPOSAL
Alejandro T StockhamUnited KingdomElwin Sharvill RENEWAL
Faith E GauchoSpainStephen Shaw UNQUALIFIED
Stacey E PerinSpainOnyama Limba NEW
Tony R VenereRussiaIvan Magalhaes QUALIFIED
Stacey H FerenczIndiaElwin Sharvill UNQUALIFIED
Johnson F CaudyIndiaAsiya Javayant RENEWAL
Juan U AmigonAustraliaOnyama Limba RENEWAL
Salvatore G RimFranceIvan Magalhaes PROPOSAL
Aika P PaprockiRussiaAmy Elsner UNQUALIFIED
Misaki Q IturbideGermanyXuxue Feng NEGOTIATION
Aika N KolmetzBrazilXuxue Feng NEGOTIATION
Ricardo Q ShinkoJapanAmy Elsner NEGOTIATION
Adams V FerenczAustraliaAnna Fali UNQUALIFIED
Jeanfrancois C BriddickArgentinaStephen Shaw QUALIFIED
Maisha M GlickUnited KingdomStephen Shaw NEGOTIATION
Emily K ButtItalyStephen Shaw QUALIFIED
Nicolas M WieserFranceElwin Sharvill 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>