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
Murillo C SlusarskiJapanAsiya Javayant UNQUALIFIED
Aika Q AmigonUnited KingdomBernardo Dominic PROPOSAL
Jennifer P SaylorsCanadaOnyama Limba NEW
Adams F PaprockiIndiaAnna Fali PROPOSAL
Ricardo B MaletArgentinaElwin Sharvill QUALIFIED
Sinclair G MorascaArgentinaBernardo Dominic PROPOSAL
Kaitlin J KolmetzIndiaAnna Fali NEGOTIATION
Greenwood H FerenczAustraliaIvan Magalhaes UNQUALIFIED
Clifford Y FollerArgentinaAnna Fali NEW
Izzy N ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Faith A WhobreyBrazilStephen Shaw NEGOTIATION
Morrow F RimGermanyIoni Bowcher NEW
Smith X RulapaughGermanyAmy Elsner NEW
James K GillianRussiaIoni Bowcher QUALIFIED
Jones D DilliardSpainStephen Shaw NEW
Johnson N NickaFranceAnna Fali NEGOTIATION
Chavez Q MacleadCanadaElwin Sharvill NEGOTIATION
Aika D FerenczArgentinaIvan Magalhaes RENEWAL
Faith P RutaSpainXuxue Feng RENEWAL
Stacey H MaletItalyStephen Shaw PROPOSAL
Murillo G SaylorsRussiaAmy Elsner NEGOTIATION
Antonio H CampainAustraliaOnyama Limba RENEWAL
Wickens L SergiGermanyIvan Magalhaes UNQUALIFIED
Izzy X SchemmerGermanyAsiya Javayant NEGOTIATION
Octavia Q DilliardItalyAnna Fali RENEWAL
Leon P MorascaAustraliaStephen Shaw QUALIFIED
Adams T GillianIndiaAsiya Javayant QUALIFIED
Sinclair T BowleyFranceAmy Elsner RENEWAL
Costa R ChuiIndiaAmy Elsner QUALIFIED
Maisha I VenereFranceAnna Fali NEGOTIATION
James O BriddickRussiaOnyama Limba NEW
David T RutaRussiaAnna Fali RENEWAL
Greenwood D FollerBrazilAsiya Javayant UNQUALIFIED
Mayumi Y PoquetteJapanIoni Bowcher NEGOTIATION
Maria F ShinkoAustraliaIoni Bowcher RENEWAL
Deepesh Y CampainSpainIvan Magalhaes PROPOSAL
Murillo X DilliardItalyBernardo Dominic NEGOTIATION
Antonio W AlbaresJapanAnna Fali NEW
Jones Y ChuiCanadaElwin Sharvill RENEWAL
Chavez K AmigonUnited KingdomAmy Elsner PROPOSAL
Adams P InouyeSpainAsiya Javayant NEGOTIATION
Clifford L ButtCanadaIvan Magalhaes NEW
Salvatore Y RimIndiaXuxue Feng UNQUALIFIED
Ricardo O PaprockiGermanyAmy Elsner NEW
Arvin B RulapaughItalyBernardo Dominic PROPOSAL
Greenwood Q NestleIndiaAmy Elsner NEW
Ashley O MaletUnited KingdomXuxue Feng RENEWAL
Claire L KuskoBrazilIoni Bowcher PROPOSAL
Juan Z PerinUnited KingdomXuxue Feng QUALIFIED
Claire D KuskoArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin G AlbaresJapanAnna Fali PROPOSAL
Stacey Z BologniaUnited KingdomAnna Fali PROPOSAL
Emily N SchemmerRussiaIoni Bowcher QUALIFIED
Claire R MaletArgentinaIvan Magalhaes NEGOTIATION
Costa P KuskoJapanIvan Magalhaes RENEWAL
Johnson F MacleadJapanIoni Bowcher PROPOSAL
Maria T NickaCanadaBernardo Dominic NEW
Kaitlin D MaletUnited KingdomAnna Fali PROPOSAL
Aika X OstroskyAustraliaIoni Bowcher PROPOSAL
Isabel F ChuiGermanyOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford H RulapaughItaly2025-06-10Printing Dimensions QUALIFIED51Elwin Sharvill
1001Faith A BologniaItaly2025-05-21Commercial Press UNQUALIFIED98Ivan Magalhaes
1002Alejandro T FigeroaRussia2025-05-31King, Christopher A Esq NEW78Ioni Bowcher
1003James A WaycottItaly2025-05-29Chanay, Jeffrey A Esq UNQUALIFIED50Xuxue Feng
1004Juan A FerenczJapan2025-05-24Dorl, James J Esq UNQUALIFIED39Amy Elsner
1005Sinclair E FlosiAustralia2025-06-14Dorl, James J Esq UNQUALIFIED68Stephen Shaw
1006Ashley D DoeUnited Kingdom2025-05-18Benton, John B Jr NEW15Anna Fali
1007Julie P FlosiAustralia2025-06-12Truhlar And Truhlar Attys PROPOSAL90Elwin Sharvill
1008Maisha E GauchoBrazil2025-05-21Truhlar And Truhlar Attys PROPOSAL3Amy Elsner
1009Claire G KolmetzArgentina2025-05-30King, Christopher A Esq PROPOSAL42Elwin Sharvill
1010Nicolas Y PaprockiFrance2025-06-07Buckley Miller Wright NEW42Anna Fali
1011Costa E GillianUnited Kingdom2025-06-02Feiner Bros RENEWAL98Anna Fali
1012Tony S IturbideCanada2025-05-22Feltz Printing Service NEGOTIATION89Stephen Shaw
1013Cody S WaycottAustralia2025-05-21Chanay, Jeffrey A Esq NEW74Xuxue Feng
1014Chavez I WhobreyItaly2025-05-25Commercial Press QUALIFIED91Elwin Sharvill
1015Antonio K DoeBrazil2025-06-01Rangoni Of Florence RENEWAL24Ioni Bowcher
1016Silvio O SlusarskiSpain2025-05-19Commercial Press NEW96Elwin Sharvill
1017Silvio H BowleyAustralia2025-05-23Rangoni Of Florence NEGOTIATION92Bernardo Dominic
1018Clifford I SaylorsBrazil2025-06-10Rousseaux, Michael Esq RENEWAL22Asiya Javayant
1019Ivar C CaldareraJapan2025-05-20Printing Dimensions QUALIFIED24Elwin Sharvill
1020Kadeem S GillianGermany2025-06-03Dorl, James J Esq PROPOSAL61Onyama Limba
1021Arvin W RutaAustralia2025-06-06Feiner Bros UNQUALIFIED99Bernardo Dominic
1022Munro L CaldareraBrazil2025-05-31Chapman, Ross E Esq RENEWAL23Asiya Javayant
1023Ricardo G ChuiCanada2025-06-09Chanay, Jeffrey A Esq RENEWAL6Elwin Sharvill
1024Morrow T ShinkoCanada2025-05-25Commercial Press NEGOTIATION97Ivan Magalhaes
1025Maria T VocelkaFrance2025-05-25Commercial Press NEGOTIATION84Bernardo Dominic
1026Jones D MarrierArgentina2025-06-05Chapman, Ross E Esq NEW41Bernardo Dominic
1027Deepesh J GlickGermany2025-06-13Benton, John B Jr NEGOTIATION87Asiya Javayant
1028Wickens G OstroskySpain2025-06-01Feiner Bros RENEWAL57Onyama Limba
1029Wickens V PaprockiUnited Kingdom2025-05-29Chemel, James L Cpa UNQUALIFIED16Onyama Limba
1030Wickens P WaycottSpain2025-06-09Rangoni Of Florence NEW31Ioni Bowcher
1031Aditya K ChuiRussia2025-06-11Morlong Associates QUALIFIED37Xuxue Feng
1032Clifford H AlbaresGermany2025-06-14Morlong Associates QUALIFIED7Anna Fali
1033Silvio D RulapaughAustralia2025-06-03Rousseaux, Michael Esq UNQUALIFIED18Anna Fali
1034Maisha W ButtRussia2025-05-20King, Christopher A Esq RENEWAL61Ivan Magalhaes
1035Nicolas S GillianGermany2025-06-04Dorl, James J Esq UNQUALIFIED14Ivan Magalhaes
1036Alejandro Q WhobreyJapan2025-06-14Truhlar And Truhlar Attys UNQUALIFIED72Asiya Javayant
1037Alejandro S BowleySpain2025-06-14Rangoni Of Florence RENEWAL49Ivan Magalhaes
1038Ricardo Q TollnerAustralia2025-06-03Dorl, James J Esq UNQUALIFIED81Bernardo Dominic
1039Chavez H InouyeCanada2025-06-01Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1040Sinclair D MarrierArgentina2025-05-29King, Christopher A Esq QUALIFIED35Onyama Limba
1041Rodrigues G InouyeRussia2025-06-15Commercial Press NEW81Onyama Limba
1042Mayumi X RimFrance2025-06-08Feltz Printing Service RENEWAL41Bernardo Dominic
1043Maria B ChuiItaly2025-06-11Commercial Press NEGOTIATION58Ivan Magalhaes
1044Claire T NestleUnited Kingdom2025-06-05Chanay, Jeffrey A Esq RENEWAL66Onyama Limba
1045Tony N RulapaughFrance2025-06-08Truhlar And Truhlar Attys NEGOTIATION33Stephen Shaw
1046Claire L PerinItaly2025-05-26Benton, John B Jr PROPOSAL46Anna Fali
1047Aditya Q GlickArgentina2025-06-15Rangoni Of Florence QUALIFIED66Stephen Shaw
1048Kaitlin U WhobreyItaly2025-05-23Benton, John B Jr NEGOTIATION2Amy Elsner
1049Darci J FollerItaly2025-06-07Rousseaux, Michael Esq NEGOTIATION47Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha M PerinIndiaIvan Magalhaes QUALIFIED
Jeanfrancois W FigeroaBrazilIvan Magalhaes QUALIFIED
Salvatore T StensethArgentinaAsiya Javayant NEW
Munro V WhobreyFranceIoni Bowcher QUALIFIED
Alejandro R WaycottCanadaAnna Fali QUALIFIED
Leon A GlickUnited KingdomElwin Sharvill QUALIFIED
Morrow R RulapaughJapanAnna Fali PROPOSAL
Alejandro U NickaSpainBernardo Dominic UNQUALIFIED
Greenwood S SlusarskiIndiaAsiya Javayant QUALIFIED
Rodrigues E AlbaresUnited KingdomStephen Shaw NEW
Silvio M CaudyUnited KingdomStephen Shaw QUALIFIED
Alejandro I MacleadBrazilIoni Bowcher NEW
Ricardo M BriddickGermanyAnna Fali UNQUALIFIED
Jones P OstroskyArgentinaElwin Sharvill NEW
Emily X PoquetteGermanyStephen Shaw UNQUALIFIED
Silvio R TollnerAustraliaBernardo Dominic NEW
Francesco Q BriddickArgentinaStephen Shaw QUALIFIED
Leon N RutaJapanAsiya Javayant RENEWAL
Francesco X GlickAustraliaAsiya Javayant UNQUALIFIED
James H FollerFranceIvan Magalhaes QUALIFIED
James O OstroskyItalyOnyama Limba NEW
Leja K AmigonBrazilAnna Fali UNQUALIFIED
Izzy P WaycottItalyXuxue Feng NEGOTIATION
Morrow D GarufiGermanyStephen Shaw UNQUALIFIED
Smith N CaudyJapanAnna Fali QUALIFIED
Julie A FlosiItalyOnyama Limba RENEWAL
Ashley H KuskoRussiaIvan Magalhaes PROPOSAL
Johnson H DoeFranceAsiya Javayant UNQUALIFIED
Alejandro C BowleySpainXuxue Feng QUALIFIED
Leja V CaldareraArgentinaStephen Shaw UNQUALIFIED
Greenwood I IturbideSpainIoni Bowcher NEGOTIATION
Chavez G TollnerItalyIoni Bowcher PROPOSAL
Darci B SlusarskiRussiaAmy Elsner QUALIFIED
Stacey O NickaIndiaBernardo Dominic PROPOSAL
Adams P CaudyAustraliaAsiya Javayant NEW
Misaki T RoysterUnited KingdomAsiya Javayant PROPOSAL
Smith L CaudyBrazilElwin Sharvill PROPOSAL
Antonio W DarakjySpainXuxue Feng UNQUALIFIED
Alejandro O PoquetteIndiaElwin Sharvill UNQUALIFIED
Julie Q ShinkoJapanStephen Shaw PROPOSAL
Wickens H GauchoRussiaAsiya Javayant UNQUALIFIED
Maisha I NickaJapanAmy Elsner PROPOSAL
Arvin Z CaudyBrazilStephen Shaw PROPOSAL
Costa V StockhamItalyAsiya Javayant UNQUALIFIED
Ivar R PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Julie A CampainAustraliaAmy Elsner UNQUALIFIED
Juan J MacleadGermanyStephen Shaw PROPOSAL
Ashley R WieserFranceOnyama Limba QUALIFIED
Nicolas U OstroskyArgentinaIvan Magalhaes NEW
James R PaprockiItalyBernardo Dominic QUALIFIED
Frozen Columns
Name
David F Chui
Mujtaba X Darakjy
Sinclair C Shinko
Maria B Vocelka
Leja V Kolmetz
Murillo Y Saylors
Julie O Oldroyd
Sinclair E Bolognia
Mayumi L Oldroyd
Arvin W Rulapaugh
Kadeem M Morasca
Salvatore G Ferencz
Stacey Z Saylors
Adams E Malet
Silvio H Ostrosky
Izzy A Bolognia
Salvatore K Stenseth
Deepesh F Stockham
Nicolas M Kolmetz
Jeanfrancois Z Gaucho
Johnson I Campain
Ashley P Ferencz
Adams E Darakjy
Juan D Whobrey
Jones K Schemmer
Aditya W Rulapaugh
Adams X Shinko
Alejandro W Flosi
Leja Y Chui
Tony I Bolognia
Silvio P Ostrosky
Antonio X Marrier
Mujtaba R Glick
Mayumi D Nicka
Smith J Bowley
Emily B Glick
Francesco G Briddick
Wickens M Darakjy
Francesco Y Poquette
Faith T Foller
Mujtaba W Doe
Stacey T Bolognia
Stacey R Garufi
Kaitlin H Malet
Aruna N Kusko
Antonio J Nicka
Alejandro A Maclead
Adams U Inouye
Tony A Stockham
Clifford N Campain
IdCountryDate
1000Australia2025-05-24
1001Japan2025-06-15
1002Japan2025-05-23
1003United Kingdom2025-05-24
1004Brazil2025-06-09
1005Japan2025-06-02
1006India2025-06-03
1007Spain2025-06-13
1008Brazil2025-05-20
1009Japan2025-05-30
1010Germany2025-05-27
1011United Kingdom2025-06-12
1012Italy2025-06-05
1013Spain2025-06-15
1014United Kingdom2025-06-12
1015Germany2025-06-10
1016Brazil2025-05-18
1017Brazil2025-06-03
1018Spain2025-06-02
1019Argentina2025-05-19
1020Spain2025-06-01
1021Russia2025-05-18
1022India2025-05-29
1023Germany2025-06-04
1024United Kingdom2025-05-22
1025India2025-05-30
1026United Kingdom2025-05-27
1027Australia2025-06-14
1028Japan2025-06-12
1029Germany2025-05-30
1030Canada2025-05-26
1031Germany2025-05-20
1032Italy2025-05-26
1033Italy2025-06-08
1034Brazil2025-06-12
1035Brazil2025-05-23
1036Brazil2025-06-11
1037Italy2025-06-08
1038Russia2025-05-20
1039Argentina2025-06-08
1040United Kingdom2025-05-21
1041Japan2025-06-09
1042Italy2025-05-27
1043Germany2025-06-04
1044Spain2025-06-02
1045Germany2025-05-20
1046Brazil2025-06-07
1047Italy2025-06-04
1048India2025-06-12
1049United Kingdom2025-05-24

On-Demand Data

NameIdCountryDate
Aika L Caudy1000France2025-06-02
Smith Y Venere1001Brazil2025-06-01
Octavia H Kolmetz1002Canada2025-05-21
James F Oldroyd1003United Kingdom2025-05-30
Antonio D Bowley1004Japan2025-05-28
Izzy Y Caldarera1005France2025-06-11
Juan U Inouye1006Russia2025-05-18
Antonio R Kolmetz1007Italy2025-06-05
Aika R Poquette1008Spain2025-05-19
Octavia R Figeroa1009Argentina2025-05-30
Kadeem I Kusko1010France2025-06-11
Emily G Saylors1011France2025-05-22
Munro Q Rulapaugh1012Russia2025-05-29
Julie V Perin1013India2025-05-29
Cody Q Bolognia1014India2025-05-29
James C Amigon1015Canada2025-06-08
Juan I Dilliard1016Italy2025-05-28
Jefferson W Darakjy1017Argentina2025-05-24
Clifford Y Butt1018Spain2025-05-29
Johnson A Darakjy1019Canada2025-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood S DilliardAustraliaElwin Sharvill NEGOTIATION
Nicolas M AmigonUnited KingdomStephen Shaw RENEWAL
Claire B DoeSpainAmy Elsner QUALIFIED
Ivar K RutaCanadaAnna Fali RENEWAL
Julie J BriddickCanadaElwin Sharvill PROPOSAL
Juan V CaudyBrazilElwin Sharvill RENEWAL
Murillo W SergiFranceOnyama Limba PROPOSAL
Munro I MarrierSpainAmy Elsner NEGOTIATION
Nicolas Y DarakjyBrazilXuxue Feng UNQUALIFIED
Jefferson S KuskoSpainBernardo Dominic QUALIFIED
James F RutaAustraliaIoni Bowcher UNQUALIFIED
Leon K SaylorsJapanOnyama Limba QUALIFIED
Julie L PaprockiBrazilOnyama Limba UNQUALIFIED
Claire Q VenereItalyXuxue Feng NEGOTIATION
Murillo W BologniaFranceElwin Sharvill NEGOTIATION
Jeanfrancois D PerinRussiaBernardo Dominic NEGOTIATION
Isabel V GarufiJapanXuxue Feng RENEWAL
Silvio R BowleySpainAsiya Javayant NEW
Arvin W VenereSpainElwin Sharvill RENEWAL
Johnson E ChuiIndiaBernardo Dominic NEW
Murillo A NickaRussiaIoni Bowcher NEGOTIATION
Johnson J PerinBrazilOnyama Limba NEGOTIATION
Mujtaba Q MaletJapanIoni Bowcher QUALIFIED
Deepesh T WaycottArgentinaXuxue Feng QUALIFIED
Juan X NickaItalyBernardo Dominic NEGOTIATION
Smith Z KuskoJapanBernardo Dominic NEGOTIATION
Darci R SergiArgentinaXuxue Feng QUALIFIED
Mujtaba Z SergiJapanAsiya Javayant UNQUALIFIED
Jennifer V KolmetzIndiaIvan Magalhaes QUALIFIED
Arvin D SaylorsSpainAsiya Javayant NEW
Maisha O GauchoJapanBernardo Dominic QUALIFIED
Darci Y CampainUnited KingdomIvan Magalhaes NEW
Misaki N PaprockiArgentinaBernardo Dominic QUALIFIED
Juan W WhobreyFranceIvan Magalhaes QUALIFIED
Kaitlin D VenereSpainBernardo Dominic QUALIFIED
Leja T CaldareraArgentinaBernardo Dominic UNQUALIFIED
Stacey P RimBrazilIvan Magalhaes RENEWAL
Jennifer B GarufiGermanyXuxue Feng NEW
Arvin T WaycottGermanyBernardo Dominic QUALIFIED
Francesco R FigeroaFranceIvan Magalhaes NEW

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