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
Isabel B MorascaBrazilIoni Bowcher QUALIFIED
Salvatore M RutaIndiaAnna Fali PROPOSAL
Faith M RoysterSpainIvan Magalhaes NEGOTIATION
Aika L FerenczAustraliaStephen Shaw RENEWAL
Nicolas F GarufiUnited KingdomIoni Bowcher NEGOTIATION
Cody T CaldareraAustraliaAmy Elsner UNQUALIFIED
Mayumi R ShinkoCanadaXuxue Feng PROPOSAL
Costa J GarufiBrazilAsiya Javayant PROPOSAL
David F MaletAustraliaXuxue Feng RENEWAL
Clifford M TollnerRussiaBernardo Dominic PROPOSAL
Claire A DarakjyAustraliaElwin Sharvill QUALIFIED
Stacey H StensethRussiaStephen Shaw UNQUALIFIED
Jennifer Z ShinkoRussiaBernardo Dominic NEW
Smith G SchemmerSpainIvan Magalhaes RENEWAL
Juan V StockhamSpainAmy Elsner RENEWAL
Octavia Y ChuiUnited KingdomElwin Sharvill NEW
Kadeem R PaprockiIndiaOnyama Limba NEW
Stacey Q RulapaughItalyAsiya Javayant RENEWAL
Aruna D CampainItalyStephen Shaw QUALIFIED
Kadeem E RimSpainBernardo Dominic UNQUALIFIED
James H ChuiAustraliaIoni Bowcher NEW
Rodrigues H CaldareraJapanStephen Shaw RENEWAL
Kadeem G RoysterBrazilIoni Bowcher NEGOTIATION
Costa M GarufiArgentinaStephen Shaw NEGOTIATION
Costa P FerenczAustraliaIoni Bowcher UNQUALIFIED
Morrow U ButtCanadaIoni Bowcher PROPOSAL
Clifford V RulapaughCanadaIoni Bowcher RENEWAL
Darci L SlusarskiAustraliaIvan Magalhaes NEW
Silvio I RulapaughGermanyOnyama Limba QUALIFIED
Chavez S NestleIndiaOnyama Limba NEW
Ivar U MarrierRussiaOnyama Limba RENEWAL
Alejandro R AlbaresIndiaAsiya Javayant QUALIFIED
Alejandro D PerinArgentinaAsiya Javayant PROPOSAL
Juan O StensethCanadaXuxue Feng RENEWAL
Munro J BologniaAustraliaXuxue Feng NEW
Ivar L OldroydFranceIoni Bowcher NEGOTIATION
Tony R RoysterCanadaElwin Sharvill RENEWAL
Izzy K PaprockiAustraliaOnyama Limba RENEWAL
Izzy G BowleyRussiaAsiya Javayant PROPOSAL
Silvio B OldroydAustraliaStephen Shaw QUALIFIED
Costa M MacleadFranceOnyama Limba PROPOSAL
Aditya G ChuiFranceIvan Magalhaes NEW
Kadeem X StensethItalyAsiya Javayant UNQUALIFIED
Claire A BriddickJapanOnyama Limba NEW
Clifford K OldroydJapanAnna Fali NEW
Jefferson S TollnerCanadaXuxue Feng NEGOTIATION
Adams E MaletUnited KingdomIoni Bowcher UNQUALIFIED
Leja C NickaCanadaStephen Shaw PROPOSAL
Juan K ButtAustraliaAnna Fali QUALIFIED
Izzy Z MorascaJapanStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer D InouyeRussiaElwin Sharvill PROPOSAL
Emily A PerinFranceIoni Bowcher QUALIFIED
Faith N InouyeItalyAmy Elsner QUALIFIED
James K VocelkaBrazilAmy Elsner RENEWAL
Greenwood U MarrierFranceIvan Magalhaes UNQUALIFIED
Ivar E KolmetzFranceBernardo Dominic RENEWAL
Murillo A StockhamCanadaOnyama Limba NEGOTIATION
Adams J MarrierJapanIoni Bowcher UNQUALIFIED
Aika D WaycottUnited KingdomElwin Sharvill QUALIFIED
Munro S FerenczSpainBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika T DarakjyArgentina2025-06-06Buckley Miller Wright QUALIFIED32Asiya Javayant
1001Julie D NickaCanada2025-05-28Chemel, James L Cpa NEW13Bernardo Dominic
1002Costa E ChuiIndia2025-05-24Chanay, Jeffrey A Esq NEGOTIATION28Xuxue Feng
1003Rodrigues Q GauchoUnited Kingdom2025-05-20Commercial Press UNQUALIFIED43Onyama Limba
1004Costa I VocelkaAustralia2025-06-06Printing Dimensions NEGOTIATION30Amy Elsner
1005Smith F CampainArgentina2025-05-21Buckley Miller Wright PROPOSAL33Onyama Limba
1006Leon Q IturbideGermany2025-05-22Rangoni Of Florence NEGOTIATION39Xuxue Feng
1007Johnson U MaletItaly2025-06-16Morlong Associates UNQUALIFIED64Xuxue Feng
1008Ricardo U ChuiItaly2025-05-19King, Christopher A Esq UNQUALIFIED59Xuxue Feng
1009Jeanfrancois N CaldareraRussia2025-05-19Rousseaux, Michael Esq PROPOSAL76Onyama Limba
1010Munro U SaylorsArgentina2025-06-12Buckley Miller Wright UNQUALIFIED20Elwin Sharvill
1011Sinclair L CaudyUnited Kingdom2025-05-31Truhlar And Truhlar Attys NEGOTIATION69Stephen Shaw
1012Darci I GillianUnited Kingdom2025-05-21Morlong Associates UNQUALIFIED79Ioni Bowcher
1013Ashley I AlbaresAustralia2025-06-11Printing Dimensions QUALIFIED32Ioni Bowcher
1014Jennifer S RulapaughUnited Kingdom2025-05-19Dorl, James J Esq UNQUALIFIED68Anna Fali
1015Chavez Q VocelkaSpain2025-05-23Rousseaux, Michael Esq NEGOTIATION67Bernardo Dominic
1016Emily W DarakjyRussia2025-05-28Chanay, Jeffrey A Esq UNQUALIFIED22Ivan Magalhaes
1017Darci H CaldareraSpain2025-06-01Benton, John B Jr NEW56Stephen Shaw
1018Misaki S PaprockiIndia2025-06-12Commercial Press NEW89Anna Fali
1019Nicolas O RoysterFrance2025-06-07Benton, John B Jr RENEWAL98Ioni Bowcher
1020Chavez T WhobreyArgentina2025-06-14King, Christopher A Esq QUALIFIED37Anna Fali
1021Maisha C NestleItaly2025-05-18King, Christopher A Esq UNQUALIFIED20Ioni Bowcher
1022Izzy W DoeSpain2025-05-19Feltz Printing Service QUALIFIED33Anna Fali
1023Chavez L GillianItaly2025-06-01Rousseaux, Michael Esq NEGOTIATION90Xuxue Feng
1024Ricardo C GarufiArgentina2025-06-02Rousseaux, Michael Esq NEW49Amy Elsner
1025Greenwood M WaycottArgentina2025-05-21Commercial Press RENEWAL17Bernardo Dominic
1026Rodrigues T MorascaAustralia2025-06-10Feltz Printing Service QUALIFIED47Ioni Bowcher
1027Stacey P TollnerAustralia2025-05-29Benton, John B Jr QUALIFIED59Ioni Bowcher
1028Ashley I GauchoCanada2025-06-09Printing Dimensions PROPOSAL89Ivan Magalhaes
1029Emily Z PaprockiIndia2025-05-27Buckley Miller Wright NEGOTIATION58Asiya Javayant
1030Tony R VenereSpain2025-05-19Benton, John B Jr UNQUALIFIED12Bernardo Dominic
1031Sinclair M BologniaGermany2025-06-03Feltz Printing Service PROPOSAL83Asiya Javayant
1032Smith L KuskoArgentina2025-05-30King, Christopher A Esq RENEWAL44Asiya Javayant
1033Juan K RutaRussia2025-05-26Truhlar And Truhlar Attys NEGOTIATION65Onyama Limba
1034Munro H MarrierItaly2025-06-03Dorl, James J Esq RENEWAL22Bernardo Dominic
1035Misaki Y StensethItaly2025-06-11Printing Dimensions QUALIFIED50Stephen Shaw
1036Ricardo E ButtBrazil2025-05-25Dorl, James J Esq PROPOSAL60Stephen Shaw
1037Cody E FlosiArgentina2025-05-24Morlong Associates UNQUALIFIED62Amy Elsner
1038Jones W GillianGermany2025-06-11Commercial Press PROPOSAL67Stephen Shaw
1039Ivar C FerenczBrazil2025-05-30Commercial Press RENEWAL44Asiya Javayant
1040Maria G CampainJapan2025-05-19Morlong Associates NEGOTIATION11Amy Elsner
1041Jeanfrancois D BriddickAustralia2025-06-11Rousseaux, Michael Esq QUALIFIED35Ioni Bowcher
1042Isabel Q ButtBrazil2025-06-10Chapman, Ross E Esq NEGOTIATION22Elwin Sharvill
1043Emily K MaletUnited Kingdom2025-06-13Morlong Associates QUALIFIED17Bernardo Dominic
1044Kadeem L CaldareraIndia2025-06-06Commercial Press QUALIFIED4Bernardo Dominic
1045Misaki G MaletFrance2025-05-23Buckley Miller Wright PROPOSAL86Stephen Shaw
1046Darci N DarakjyJapan2025-05-26Chemel, James L Cpa PROPOSAL95Asiya Javayant
1047Jefferson Z MaletRussia2025-05-21Rangoni Of Florence PROPOSAL73Onyama Limba
1048Jennifer U TollnerCanada2025-06-12Dorl, James J Esq PROPOSAL22Xuxue Feng
1049Maria T OstroskyArgentina2025-06-13Feiner Bros NEW17Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Nicolas O SlusarskiUnited KingdomXuxue Feng QUALIFIED
Chavez G ButtCanadaXuxue Feng QUALIFIED
Munro P NestleItalyAmy Elsner RENEWAL
Deepesh D SchemmerRussiaIoni Bowcher PROPOSAL
Arvin D StockhamUnited KingdomIvan Magalhaes NEW
Ricardo N StockhamRussiaAmy Elsner RENEWAL
Jefferson F WieserSpainElwin Sharvill NEW
Maria O FollerFranceIvan Magalhaes UNQUALIFIED
Salvatore I AlbaresUnited KingdomAmy Elsner QUALIFIED
Murillo N DilliardGermanyAnna Fali RENEWAL
Kadeem H RoysterAustraliaAsiya Javayant RENEWAL
David P BriddickFranceAmy Elsner PROPOSAL
Adams T ChuiCanadaElwin Sharvill QUALIFIED
Aruna D BriddickBrazilAsiya Javayant NEGOTIATION
Izzy S AlbaresSpainAnna Fali PROPOSAL
Kaitlin T IturbideRussiaIvan Magalhaes NEW
Wickens Q AmigonCanadaXuxue Feng NEGOTIATION
Octavia L DarakjySpainElwin Sharvill PROPOSAL
Johnson U MorascaFranceAsiya Javayant PROPOSAL
Misaki S NickaGermanyOnyama Limba QUALIFIED
Alejandro C SaylorsBrazilIvan Magalhaes NEGOTIATION
Emily Q WhobreyJapanIoni Bowcher NEGOTIATION
Aika O ChuiFranceAmy Elsner NEGOTIATION
Mujtaba R InouyeCanadaAmy Elsner NEW
Mayumi G CaldareraRussiaIvan Magalhaes QUALIFIED
Misaki R FerenczIndiaOnyama Limba RENEWAL
James H FigeroaGermanyOnyama Limba NEW
Sinclair V PoquetteBrazilIoni Bowcher PROPOSAL
Izzy Z PerinArgentinaOnyama Limba UNQUALIFIED
Ivar S GauchoGermanyOnyama Limba NEW
Ivar Y VocelkaJapanXuxue Feng NEW
Tony R OstroskyJapanIvan Magalhaes UNQUALIFIED
Ricardo T BologniaFranceAsiya Javayant RENEWAL
Ashley T SaylorsBrazilOnyama Limba UNQUALIFIED
Aika W SchemmerItalyAmy Elsner QUALIFIED
Johnson K ButtArgentinaIvan Magalhaes QUALIFIED
Adams U FlosiSpainOnyama Limba PROPOSAL
Ashley F FollerFranceAnna Fali NEW
Alejandro F WhobreyJapanElwin Sharvill QUALIFIED
Misaki V AmigonIndiaOnyama Limba QUALIFIED
Stacey L WieserAustraliaBernardo Dominic NEW
David X GlickSpainIvan Magalhaes RENEWAL
Izzy L ButtSpainAnna Fali NEW
Kaitlin J RoysterAustraliaAsiya Javayant NEGOTIATION
Francesco G PoquetteIndiaIvan Magalhaes RENEWAL
Izzy W SlusarskiGermanyAnna Fali QUALIFIED
Mayumi Q TollnerGermanyOnyama Limba PROPOSAL
Mayumi Z SaylorsUnited KingdomAmy Elsner RENEWAL
Murillo H BriddickJapanIvan Magalhaes RENEWAL
Izzy H SlusarskiJapanOnyama Limba RENEWAL
Frozen Columns
Name
Leon H Malet
Aruna A Dilliard
Aditya I Rulapaugh
Adams A Gillian
Darci G Oldroyd
Deepesh R Flosi
Murillo H Dilliard
Johnson P Oldroyd
Ivar C Waycott
James L Briddick
Silvio O Chui
Faith R Nicka
Adams S Malet
Aditya X Whobrey
Smith C Amigon
Francesco B Doe
Faith V Royster
Smith I Schemmer
Murillo B Foller
Silvio Z Caldarera
Smith D Stockham
Octavia F Stockham
Costa H Bowley
Julie I Paprocki
David Y Slusarski
Izzy I Nicka
Mayumi A Nicka
Aditya J Morasca
Smith K Nicka
Kadeem W Ostrosky
Aditya H Maclead
Wickens S Perin
Kaitlin W Dilliard
Greenwood H Oldroyd
Cody U Malet
Greenwood D Malet
Murillo Y Flosi
Misaki U Doe
Octavia Z Iturbide
Nicolas I Kolmetz
Jefferson Q Royster
Jeanfrancois M Stockham
Aditya M Venere
Julie W Whobrey
Rodrigues M Rim
Nicolas U Venere
Johnson O Royster
Smith N Shinko
Claire C Nicka
Alejandro C Ostrosky
IdCountryDate
1000France2025-06-13
1001Japan2025-05-19
1002Argentina2025-05-27
1003France2025-05-27
1004Spain2025-06-07
1005United Kingdom2025-05-21
1006Australia2025-06-10
1007Japan2025-05-24
1008Russia2025-05-27
1009Brazil2025-05-23
1010Spain2025-06-05
1011Italy2025-05-21
1012Germany2025-06-14
1013Canada2025-06-15
1014Canada2025-05-18
1015Japan2025-05-22
1016Japan2025-05-20
1017Brazil2025-05-19
1018France2025-06-03
1019Russia2025-06-03
1020Italy2025-06-16
1021India2025-05-28
1022Russia2025-05-30
1023France2025-05-25
1024India2025-06-01
1025France2025-06-03
1026Brazil2025-06-08
1027France2025-06-08
1028Germany2025-05-18
1029Japan2025-06-05
1030Russia2025-06-12
1031Australia2025-06-16
1032India2025-06-03
1033Spain2025-05-25
1034Germany2025-05-24
1035Canada2025-05-29
1036Germany2025-05-25
1037Argentina2025-06-15
1038Argentina2025-05-20
1039United Kingdom2025-05-20
1040Argentina2025-05-28
1041Brazil2025-05-18
1042Canada2025-05-28
1043Canada2025-06-13
1044Russia2025-06-11
1045Russia2025-06-16
1046Italy2025-05-31
1047Brazil2025-05-27
1048Brazil2025-05-30
1049Australia2025-05-25

On-Demand Data

NameIdCountryDate
Cody O Rulapaugh1000Australia2025-06-10
Aika H Garufi1001Italy2025-05-27
Faith L Schemmer1002Germany2025-05-18
Claire G Venere1003Canada2025-05-29
Ashley J Morasca1004Italy2025-06-13
Izzy Y Figeroa1005Australia2025-06-09
Sinclair F Flosi1006Russia2025-05-24
Salvatore U Caudy1007Russia2025-06-03
Kadeem X Glick1008Germany2025-06-07
Jones V Dilliard1009Japan2025-06-01
Wickens N Caldarera1010Japan2025-05-20
Maisha Y Glick1011Italy2025-06-05
Jeanfrancois L Malet1012Spain2025-05-25
Salvatore B Rulapaugh1013Brazil2025-06-10
James E Bowley1014Spain2025-06-05
James Q Garufi1015Italy2025-06-02
Sinclair Z Gillian1016United Kingdom2025-06-10
Deepesh K Shinko1017Brazil2025-06-12
Ashley N Malet1018Canada2025-05-23
Mayumi K Stenseth1019Brazil2025-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily K MaletBrazilAsiya Javayant NEGOTIATION
David Y PoquetteCanadaIvan Magalhaes QUALIFIED
Jeanfrancois E StockhamSpainElwin Sharvill NEW
Misaki X WhobreyArgentinaIoni Bowcher QUALIFIED
Ricardo R MorascaIndiaAsiya Javayant NEW
Misaki C GlickAustraliaElwin Sharvill QUALIFIED
Silvio G InouyeIndiaIoni Bowcher PROPOSAL
Misaki Q RulapaughItalyXuxue Feng RENEWAL
Antonio D RimIndiaAmy Elsner NEGOTIATION
Francesco Z SergiRussiaBernardo Dominic UNQUALIFIED
Misaki C GillianRussiaIvan Magalhaes PROPOSAL
Julie M WieserGermanyXuxue Feng RENEWAL
Clifford L SlusarskiSpainElwin Sharvill QUALIFIED
Maria D KuskoJapanAnna Fali PROPOSAL
Johnson Z FlosiFranceIvan Magalhaes NEGOTIATION
Mujtaba R KuskoUnited KingdomIvan Magalhaes NEW
Costa K FigeroaFranceStephen Shaw RENEWAL
Darci B FlosiAustraliaElwin Sharvill PROPOSAL
Izzy G AmigonFranceAsiya Javayant NEGOTIATION
Jeanfrancois E GauchoSpainIvan Magalhaes RENEWAL
Octavia B ChuiUnited KingdomAmy Elsner UNQUALIFIED
Emily R FlosiBrazilXuxue Feng NEGOTIATION
Jennifer U GillianItalyOnyama Limba PROPOSAL
Mayumi L SchemmerGermanyIvan Magalhaes NEGOTIATION
Adams X AlbaresSpainOnyama Limba NEW
Jennifer V InouyeFranceStephen Shaw NEGOTIATION
Kadeem J WieserAustraliaStephen Shaw RENEWAL
Jones E MacleadAustraliaElwin Sharvill QUALIFIED
Aditya Y AmigonRussiaIoni Bowcher UNQUALIFIED
Chavez A WaycottJapanOnyama Limba RENEWAL
Jones W PoquetteSpainBernardo Dominic PROPOSAL
Izzy E OstroskySpainAnna Fali NEGOTIATION
Smith F PaprockiCanadaBernardo Dominic RENEWAL
Jefferson T DilliardCanadaXuxue Feng RENEWAL
Claire V FollerAustraliaXuxue Feng UNQUALIFIED
Mayumi H TollnerGermanyAmy Elsner NEGOTIATION
Wickens I GlickItalyXuxue Feng NEW
Misaki E MacleadAustraliaAmy Elsner RENEWAL
Leja E BologniaIndiaXuxue Feng NEGOTIATION
Cody R RutaItalyOnyama Limba 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>