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
Tony G AmigonCanadaOnyama Limba NEW
Isabel T ButtArgentinaElwin Sharvill UNQUALIFIED
Nicolas V FigeroaIndiaAmy Elsner RENEWAL
Julie X SergiRussiaBernardo Dominic PROPOSAL
Juan I AmigonRussiaOnyama Limba RENEWAL
Francesco F NickaUnited KingdomStephen Shaw QUALIFIED
David P BriddickRussiaXuxue Feng QUALIFIED
Mayumi I CaldareraIndiaAnna Fali QUALIFIED
Clifford A OstroskyJapanAsiya Javayant NEGOTIATION
Rodrigues A CaudyArgentinaStephen Shaw UNQUALIFIED
Mujtaba A NickaAustraliaAmy Elsner UNQUALIFIED
Misaki F SlusarskiItalyAmy Elsner UNQUALIFIED
Murillo Z StensethArgentinaOnyama Limba UNQUALIFIED
Arvin F FigeroaJapanBernardo Dominic UNQUALIFIED
Costa I WieserGermanyBernardo Dominic NEGOTIATION
Ashley C MaletSpainBernardo Dominic PROPOSAL
Sinclair B SlusarskiJapanAnna Fali NEW
Aditya Q FollerAustraliaAnna Fali NEGOTIATION
Antonio W GarufiAustraliaOnyama Limba NEW
Cody L DoeItalyAmy Elsner NEW
Kaitlin A SlusarskiGermanyOnyama Limba RENEWAL
Chavez B AlbaresItalyAmy Elsner NEW
Morrow F DoeUnited KingdomXuxue Feng NEW
Mujtaba F BologniaSpainElwin Sharvill UNQUALIFIED
Sinclair P StensethCanadaElwin Sharvill NEGOTIATION
Antonio Q OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Faith I InouyeJapanIoni Bowcher QUALIFIED
Mujtaba J VocelkaJapanBernardo Dominic UNQUALIFIED
Kaitlin W OstroskyRussiaAmy Elsner NEW
Greenwood E FerenczBrazilIvan Magalhaes QUALIFIED
Nicolas H GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow F ShinkoCanadaAnna Fali NEGOTIATION
Munro F MorascaJapanStephen Shaw NEW
Clifford J CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood D ShinkoAustraliaAmy Elsner RENEWAL
Costa O PerinUnited KingdomIvan Magalhaes RENEWAL
Clifford M MacleadCanadaElwin Sharvill QUALIFIED
Maisha D DoeItalyXuxue Feng NEW
Munro R CaudyArgentinaIvan Magalhaes QUALIFIED
Smith Y WieserGermanyAmy Elsner RENEWAL
Leja D VocelkaGermanyStephen Shaw QUALIFIED
Munro X KolmetzJapanBernardo Dominic NEW
Clifford J StockhamBrazilAmy Elsner NEW
Maisha J FerenczItalyBernardo Dominic QUALIFIED
Murillo D StockhamBrazilAsiya Javayant RENEWAL
Antonio I StensethArgentinaOnyama Limba RENEWAL
Darci Y MarrierIndiaBernardo Dominic RENEWAL
Cody U IturbideAustraliaAsiya Javayant NEGOTIATION
Maisha F TollnerJapanAnna Fali UNQUALIFIED
Faith E BowleyFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood A TollnerIndiaStephen Shaw QUALIFIED
Antonio Q RimBrazilAnna Fali PROPOSAL
Greenwood L SergiUnited KingdomBernardo Dominic NEGOTIATION
Jefferson J MarrierRussiaAsiya Javayant NEGOTIATION
Nicolas B MorascaGermanyXuxue Feng RENEWAL
Juan J RulapaughCanadaXuxue Feng UNQUALIFIED
Emily R DarakjyBrazilBernardo Dominic RENEWAL
Darci C GillianItalyXuxue Feng UNQUALIFIED
Ivar F DarakjyJapanAnna Fali UNQUALIFIED
Jefferson L WieserSpainElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo L WaycottUnited Kingdom2025-05-27Rousseaux, Michael Esq QUALIFIED54Stephen Shaw
1001Misaki W FigeroaCanada2025-05-29Chapman, Ross E Esq QUALIFIED97Stephen Shaw
1002Faith M AlbaresSpain2025-06-13Feiner Bros QUALIFIED41Ivan Magalhaes
1003Tony E KuskoCanada2025-06-05Feiner Bros NEGOTIATION54Amy Elsner
1004Emily T GarufiSpain2025-06-01Buckley Miller Wright RENEWAL27Ioni Bowcher
1005Claire G DilliardRussia2025-05-22Chanay, Jeffrey A Esq NEW64Onyama Limba
1006Clifford C PaprockiBrazil2025-06-14Dorl, James J Esq UNQUALIFIED54Ioni Bowcher
1007Jefferson B RoysterItaly2025-05-26Truhlar And Truhlar Attys RENEWAL14Onyama Limba
1008Darci I GauchoGermany2025-05-30Rousseaux, Michael Esq PROPOSAL78Xuxue Feng
1009Stacey X MarrierFrance2025-06-09Commercial Press UNQUALIFIED5Xuxue Feng
1010Julie M ButtRussia2025-06-05Morlong Associates QUALIFIED13Ioni Bowcher
1011Alejandro B BologniaArgentina2025-06-05Chemel, James L Cpa RENEWAL45Asiya Javayant
1012Morrow H StensethBrazil2025-05-21Commercial Press PROPOSAL98Asiya Javayant
1013Greenwood O SergiSpain2025-06-04Chapman, Ross E Esq PROPOSAL47Stephen Shaw
1014Tony N ShinkoJapan2025-05-22Buckley Miller Wright NEW72Elwin Sharvill
1015Jefferson V RutaBrazil2025-06-01King, Christopher A Esq UNQUALIFIED12Bernardo Dominic
1016Maisha I BologniaArgentina2025-06-14Feiner Bros RENEWAL12Asiya Javayant
1017Stacey V WaycottAustralia2025-06-16Truhlar And Truhlar Attys PROPOSAL77Amy Elsner
1018Adams X FlosiRussia2025-06-01Rousseaux, Michael Esq NEGOTIATION26Ivan Magalhaes
1019Francesco S WhobreyRussia2025-06-06Commercial Press PROPOSAL21Bernardo Dominic
1020Faith I GillianSpain2025-05-22Commercial Press UNQUALIFIED31Onyama Limba
1021Maria T WhobreyArgentina2025-06-13Rangoni Of Florence NEGOTIATION87Ivan Magalhaes
1022Murillo B RoysterAustralia2025-05-23Rousseaux, Michael Esq QUALIFIED29Stephen Shaw
1023Emily C RulapaughIndia2025-06-13Morlong Associates NEGOTIATION45Anna Fali
1024Octavia C PerinAustralia2025-05-25Dorl, James J Esq PROPOSAL9Xuxue Feng
1025Ashley B WaycottJapan2025-05-24Chemel, James L Cpa RENEWAL56Xuxue Feng
1026Kadeem S ChuiBrazil2025-06-05Chanay, Jeffrey A Esq NEGOTIATION16Amy Elsner
1027David W BowleyCanada2025-06-08Chemel, James L Cpa PROPOSAL3Onyama Limba
1028Kadeem J ShinkoRussia2025-06-05Chemel, James L Cpa NEGOTIATION40Xuxue Feng
1029Ashley M CaldareraIndia2025-05-30Rangoni Of Florence NEW29Stephen Shaw
1030Aika O DilliardJapan2025-06-09Morlong Associates QUALIFIED88Anna Fali
1031Jennifer A MarrierArgentina2025-06-13King, Christopher A Esq PROPOSAL39Ioni Bowcher
1032Misaki Q GlickSpain2025-06-02Rangoni Of Florence NEGOTIATION27Elwin Sharvill
1033Leja T NickaItaly2025-05-24Benton, John B Jr QUALIFIED8Onyama Limba
1034Jennifer Z KuskoRussia2025-06-01Chapman, Ross E Esq PROPOSAL57Ioni Bowcher
1035Claire K GarufiCanada2025-06-14Buckley Miller Wright NEW10Stephen Shaw
1036Arvin M PerinAustralia2025-06-10Rangoni Of Florence RENEWAL17Amy Elsner
1037Ricardo S RulapaughCanada2025-06-12Truhlar And Truhlar Attys UNQUALIFIED44Xuxue Feng
1038Mayumi Y MarrierAustralia2025-05-20Buckley Miller Wright NEW68Onyama Limba
1039Maria K ShinkoBrazil2025-05-20Feiner Bros RENEWAL80Elwin Sharvill
1040Rodrigues H SlusarskiUnited Kingdom2025-06-15Rousseaux, Michael Esq NEW83Onyama Limba
1041Rodrigues P NestleIndia2025-06-03King, Christopher A Esq NEGOTIATION67Asiya Javayant
1042Isabel A AmigonRussia2025-06-15King, Christopher A Esq RENEWAL21Bernardo Dominic
1043Jennifer U MaletArgentina2025-05-24Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1044Mayumi B BologniaUnited Kingdom2025-05-21Benton, John B Jr QUALIFIED57Stephen Shaw
1045Kaitlin G CaudyBrazil2025-06-09Printing Dimensions UNQUALIFIED79Asiya Javayant
1046Silvio B OldroydBrazil2025-05-20Buckley Miller Wright QUALIFIED67Amy Elsner
1047Rodrigues W MaletItaly2025-05-19Truhlar And Truhlar Attys UNQUALIFIED59Xuxue Feng
1048Smith Z CampainIndia2025-06-13Rangoni Of Florence NEW62Ioni Bowcher
1049Sinclair D FlosiRussia2025-05-19King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Z FerenczFranceBernardo Dominic NEW
Kadeem O KolmetzSpainXuxue Feng NEGOTIATION
Munro D RutaItalyAsiya Javayant NEW
Jeanfrancois S GillianCanadaAnna Fali NEW
Chavez M DarakjyBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois H FigeroaUnited KingdomStephen Shaw RENEWAL
Mayumi W ButtFranceStephen Shaw PROPOSAL
Smith C DoeItalyStephen Shaw RENEWAL
Kadeem O ButtSpainBernardo Dominic NEW
Greenwood B CaudyUnited KingdomAsiya Javayant PROPOSAL
Kaitlin R DilliardArgentinaAmy Elsner NEGOTIATION
Mayumi L InouyeJapanIoni Bowcher RENEWAL
Jones B FerenczItalyOnyama Limba UNQUALIFIED
Ashley H CampainUnited KingdomAnna Fali QUALIFIED
Jefferson U DarakjySpainBernardo Dominic NEGOTIATION
David O VocelkaItalyAsiya Javayant RENEWAL
Kaitlin S ShinkoCanadaAsiya Javayant NEW
Wickens Z WaycottUnited KingdomAnna Fali UNQUALIFIED
Stacey U MaletRussiaAsiya Javayant QUALIFIED
Aika I AmigonJapanOnyama Limba UNQUALIFIED
Faith A OldroydArgentinaIvan Magalhaes UNQUALIFIED
Chavez Q RutaIndiaAmy Elsner NEGOTIATION
Izzy D KuskoIndiaXuxue Feng NEGOTIATION
Maisha U RimUnited KingdomAmy Elsner NEW
James S MacleadRussiaAnna Fali RENEWAL
Clifford W StockhamItalyBernardo Dominic QUALIFIED
Rodrigues F GarufiArgentinaIoni Bowcher QUALIFIED
Leon Q WieserArgentinaIvan Magalhaes QUALIFIED
Mayumi Q SaylorsBrazilAnna Fali QUALIFIED
Ivar E WhobreyAustraliaAmy Elsner QUALIFIED
Leon C SergiGermanyElwin Sharvill NEW
Deepesh R SaylorsItalyAmy Elsner NEGOTIATION
Adams W CampainJapanAsiya Javayant NEGOTIATION
Jeanfrancois R StockhamGermanyElwin Sharvill PROPOSAL
Juan A MaletItalyAsiya Javayant UNQUALIFIED
Ivar D MacleadRussiaIoni Bowcher QUALIFIED
Claire W DilliardAustraliaOnyama Limba UNQUALIFIED
Claire P RoysterUnited KingdomAsiya Javayant PROPOSAL
Misaki J StockhamItalyAmy Elsner UNQUALIFIED
Francesco O NickaRussiaOnyama Limba PROPOSAL
Antonio C StensethUnited KingdomBernardo Dominic NEGOTIATION
Mayumi U SaylorsBrazilElwin Sharvill NEGOTIATION
Cody B PoquetteUnited KingdomAnna Fali QUALIFIED
Juan Z KuskoAustraliaIoni Bowcher NEW
Wickens I OldroydSpainBernardo Dominic QUALIFIED
Maria Z SaylorsBrazilBernardo Dominic RENEWAL
Antonio V ShinkoUnited KingdomAnna Fali NEW
Kadeem W VocelkaArgentinaIoni Bowcher NEGOTIATION
Aika N CampainIndiaAsiya Javayant UNQUALIFIED
Aditya Y PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Jones J Gillian
Aika T Maclead
Francesco P Caldarera
Stacey Q Iturbide
Isabel Z Kolmetz
Mayumi Z Chui
Aditya O Chui
Costa F Schemmer
Salvatore B Paprocki
Silvio H Tollner
Antonio W Dilliard
Jefferson Z Garufi
Julie A Schemmer
Jennifer B Briddick
Murillo D Vocelka
Juan E Doe
Antonio P Flosi
Costa X Schemmer
Munro S Nestle
Darci X Shinko
Greenwood S Sergi
Faith T Morasca
Mujtaba S Chui
Ashley O Venere
Darci C Rim
Emily M Garufi
Alejandro V Waycott
Morrow C Inouye
Clifford I Royster
Aruna E Venere
Kaitlin O Rulapaugh
Jones M Briddick
Darci V Flosi
Sinclair W Morasca
Adams A Slusarski
Maisha X Ruta
Faith E Morasca
Jennifer Q Oldroyd
Morrow J Bowley
Mujtaba T Butt
Nicolas F Slusarski
Adams O Garufi
Sinclair U Iturbide
Morrow A Flosi
Deepesh X Malet
Claire L Gillian
David N Garufi
Darci H Wieser
Jones O Kolmetz
Ivar F Schemmer
IdCountryDate
1000Canada2025-05-26
1001Japan2025-06-08
1002Brazil2025-05-20
1003Argentina2025-05-18
1004Argentina2025-05-28
1005Canada2025-06-16
1006Japan2025-06-06
1007Germany2025-06-06
1008France2025-06-15
1009Canada2025-05-29
1010Australia2025-06-07
1011Australia2025-05-29
1012United Kingdom2025-06-07
1013Canada2025-05-31
1014Australia2025-05-20
1015Germany2025-05-25
1016Australia2025-06-05
1017Germany2025-05-26
1018France2025-06-07
1019Canada2025-06-02
1020Russia2025-06-11
1021Germany2025-06-08
1022Germany2025-06-01
1023Russia2025-05-24
1024Australia2025-06-16
1025Japan2025-05-28
1026India2025-06-14
1027India2025-05-20
1028Brazil2025-05-19
1029Brazil2025-05-29
1030India2025-06-15
1031Australia2025-06-11
1032Russia2025-05-28
1033Japan2025-05-20
1034Japan2025-05-28
1035Argentina2025-05-22
1036Japan2025-05-23
1037Australia2025-05-26
1038Russia2025-06-04
1039Japan2025-06-13
1040Canada2025-05-22
1041Australia2025-05-19
1042United Kingdom2025-05-24
1043United Kingdom2025-06-05
1044India2025-06-10
1045France2025-05-28
1046Brazil2025-06-03
1047United Kingdom2025-06-02
1048United Kingdom2025-05-18
1049United Kingdom2025-05-29

On-Demand Data

NameIdCountryDate
Jeanfrancois T Albares1000France2025-06-10
Smith W Gillian1001Italy2025-05-28
Leja A Poquette1002Germany2025-06-11
Sinclair W Marrier1003Australia2025-06-15
Leja G Garufi1004Brazil2025-05-30
Kaitlin B Butt1005Germany2025-06-15
Wickens B Kolmetz1006Canada2025-06-06
Ashley A Butt1007Spain2025-06-03
Octavia D Flosi1008Argentina2025-06-04
Chavez M Morasca1009Italy2025-06-03
Stacey K Glick1010France2025-05-28
Jennifer T Bolognia1011Spain2025-06-13
Stacey I Chui1012India2025-05-31
Jones R Paprocki1013Brazil2025-05-21
Julie G Rim1014Germany2025-05-22
Morrow I Gillian1015Russia2025-06-03
Stacey Z Briddick1016Russia2025-06-11
Juan E Rim1017Brazil2025-05-23
Cody X Gaucho1018Japan2025-06-05
Chavez T Chui1019Italy2025-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika E InouyeRussiaElwin Sharvill NEW
Mayumi Y OstroskySpainStephen Shaw RENEWAL
Rodrigues Y OldroydAustraliaElwin Sharvill QUALIFIED
Faith H OldroydArgentinaAnna Fali UNQUALIFIED
Tony O SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Antonio P KolmetzUnited KingdomOnyama Limba NEW
Faith C BologniaRussiaIvan Magalhaes QUALIFIED
Morrow Z TollnerAustraliaAsiya Javayant QUALIFIED
Arvin M MaletUnited KingdomStephen Shaw NEW
Nicolas E MorascaJapanXuxue Feng RENEWAL
Misaki T ShinkoBrazilAmy Elsner PROPOSAL
Tony U PoquetteItalyIvan Magalhaes QUALIFIED
Francesco C KuskoIndiaAsiya Javayant QUALIFIED
Murillo H KuskoRussiaElwin Sharvill NEW
Jones K NickaFranceAnna Fali RENEWAL
Nicolas K BowleyJapanAnna Fali QUALIFIED
Mayumi Y ChuiCanadaOnyama Limba UNQUALIFIED
David Y PaprockiCanadaIvan Magalhaes PROPOSAL
Tony S OstroskyIndiaStephen Shaw NEGOTIATION
Ashley K PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Maria A PoquetteCanadaOnyama Limba QUALIFIED
Jennifer N CaudyJapanIvan Magalhaes QUALIFIED
David J FlosiAustraliaOnyama Limba PROPOSAL
Antonio C PoquetteRussiaIoni Bowcher NEW
Julie Y KolmetzBrazilAnna Fali RENEWAL
Sinclair V BologniaJapanElwin Sharvill UNQUALIFIED
Leja V AmigonSpainOnyama Limba QUALIFIED
Chavez G RutaAustraliaStephen Shaw PROPOSAL
Leja X FigeroaRussiaStephen Shaw NEW
Emily O CaudyJapanAsiya Javayant UNQUALIFIED
Greenwood F VenereBrazilOnyama Limba NEGOTIATION
Ivar Z PoquetteCanadaElwin Sharvill NEW
Sinclair P FlosiAustraliaIvan Magalhaes NEW
Stacey I PerinRussiaAmy Elsner PROPOSAL
Aika M GlickSpainXuxue Feng UNQUALIFIED
James A MaletFranceBernardo Dominic NEW
Leon V BriddickUnited KingdomIoni Bowcher NEGOTIATION
Jones K WieserIndiaElwin Sharvill UNQUALIFIED
James M RimAustraliaIvan Magalhaes QUALIFIED
Deepesh I InouyeBrazilAnna 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>