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
Kadeem D CaudyCanadaIvan Magalhaes NEW
Maisha M MaletFranceIvan Magalhaes NEGOTIATION
Silvio C FigeroaFranceStephen Shaw NEGOTIATION
Faith F StensethUnited KingdomIoni Bowcher UNQUALIFIED
Izzy K WhobreyRussiaIvan Magalhaes NEGOTIATION
Deepesh M IturbideArgentinaAsiya Javayant RENEWAL
Aruna W MaletSpainAsiya Javayant UNQUALIFIED
Octavia O BowleyBrazilIvan Magalhaes NEGOTIATION
David K PerinGermanyAsiya Javayant NEGOTIATION
Jefferson R PaprockiCanadaXuxue Feng PROPOSAL
Kadeem B RutaArgentinaXuxue Feng PROPOSAL
Maisha A FlosiAustraliaStephen Shaw NEW
Alejandro D CaldareraItalyIvan Magalhaes NEW
Julie E OstroskySpainAnna Fali UNQUALIFIED
Kadeem W MorascaBrazilElwin Sharvill RENEWAL
Mujtaba K MaletUnited KingdomOnyama Limba UNQUALIFIED
Leon P MorascaIndiaAsiya Javayant QUALIFIED
Maria P CaudyAustraliaIoni Bowcher NEW
Arvin V SergiRussiaXuxue Feng QUALIFIED
Aruna L SlusarskiBrazilStephen Shaw PROPOSAL
Costa D FigeroaBrazilAnna Fali PROPOSAL
Rodrigues F StockhamJapanAmy Elsner PROPOSAL
Jones D TollnerSpainStephen Shaw UNQUALIFIED
Maria V PaprockiUnited KingdomElwin Sharvill RENEWAL
Octavia B DoeItalyXuxue Feng QUALIFIED
Jones R AlbaresItalyOnyama Limba NEGOTIATION
Julie F SchemmerAustraliaStephen Shaw PROPOSAL
Maria L RulapaughJapanAnna Fali NEW
Cody G RoysterGermanyAnna Fali PROPOSAL
David F CampainCanadaElwin Sharvill QUALIFIED
Leja S VocelkaBrazilBernardo Dominic UNQUALIFIED
Jefferson R OldroydFranceIvan Magalhaes NEGOTIATION
James T IturbideUnited KingdomAmy Elsner NEGOTIATION
Munro M VenereItalyAsiya Javayant NEW
Darci I KolmetzBrazilAmy Elsner UNQUALIFIED
Mujtaba Z OldroydAustraliaOnyama Limba QUALIFIED
Nicolas K RulapaughGermanyIvan Magalhaes NEW
Jeanfrancois Z WaycottBrazilElwin Sharvill UNQUALIFIED
Aditya L ChuiSpainXuxue Feng QUALIFIED
Misaki P WaycottArgentinaStephen Shaw QUALIFIED
Murillo Q RimAustraliaAmy Elsner UNQUALIFIED
Claire F MacleadCanadaBernardo Dominic NEGOTIATION
Alejandro L AmigonUnited KingdomIoni Bowcher PROPOSAL
Jefferson M GlickUnited KingdomIvan Magalhaes NEW
Adams C OstroskyIndiaAnna Fali PROPOSAL
Sinclair S FlosiArgentinaElwin Sharvill PROPOSAL
Ivar J FigeroaUnited KingdomBernardo Dominic RENEWAL
Stacey U IturbideGermanyXuxue Feng UNQUALIFIED
Julie X PaprockiIndiaXuxue Feng NEGOTIATION
Jeanfrancois G PerinFranceStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer F AlbaresItalyIoni Bowcher NEW
Leon W FigeroaSpainBernardo Dominic RENEWAL
Alejandro A ShinkoSpainAnna Fali UNQUALIFIED
Darci L FerenczFranceAmy Elsner RENEWAL
Aika J SaylorsAustraliaElwin Sharvill QUALIFIED
Ashley J StockhamRussiaStephen Shaw UNQUALIFIED
Munro P FerenczCanadaAnna Fali PROPOSAL
Greenwood G GlickBrazilAsiya Javayant RENEWAL
Chavez D WhobreyCanadaAsiya Javayant RENEWAL
Kadeem E NickaItalyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire T GauchoArgentina2026-06-06Chapman, Ross E Esq NEW25Asiya Javayant
1001Morrow E RoysterItaly2026-06-16Truhlar And Truhlar Attys PROPOSAL96Anna Fali
1002Misaki F KolmetzRussia2026-07-01Morlong Associates NEGOTIATION77Onyama Limba
1003Jeanfrancois Z OstroskyArgentina2026-06-24Truhlar And Truhlar Attys RENEWAL24Stephen Shaw
1004Salvatore N ChuiIndia2026-06-07Morlong Associates RENEWAL27Asiya Javayant
1005Arvin P TollnerArgentina2026-06-06Printing Dimensions PROPOSAL53Amy Elsner
1006David A AmigonAustralia2026-06-14Rangoni Of Florence UNQUALIFIED29Anna Fali
1007Munro D InouyeArgentina2026-06-17Dorl, James J Esq QUALIFIED92Xuxue Feng
1008Arvin K ShinkoUnited Kingdom2026-06-30Dorl, James J Esq UNQUALIFIED22Ioni Bowcher
1009Julie Z BologniaAustralia2026-06-20Benton, John B Jr NEW28Ivan Magalhaes
1010Mayumi N NestleItaly2026-06-03King, Christopher A Esq NEW71Asiya Javayant
1011Jefferson B MaletItaly2026-06-14Feltz Printing Service NEGOTIATION94Asiya Javayant
1012Wickens A GarufiSpain2026-06-10Commercial Press NEW99Elwin Sharvill
1013Aika Z InouyeBrazil2026-06-08Feltz Printing Service NEGOTIATION44Onyama Limba
1014Chavez Q VocelkaBrazil2026-06-03Printing Dimensions PROPOSAL29Amy Elsner
1015Salvatore D StensethRussia2026-06-13Chapman, Ross E Esq QUALIFIED2Xuxue Feng
1016Stacey Z ChuiBrazil2026-06-15Truhlar And Truhlar Attys PROPOSAL4Anna Fali
1017Leon M GlickItaly2026-06-24Commercial Press UNQUALIFIED28Elwin Sharvill
1018Aruna G SaylorsItaly2026-06-29Chapman, Ross E Esq NEGOTIATION20Onyama Limba
1019Chavez V DoeBrazil2026-06-08Morlong Associates QUALIFIED41Elwin Sharvill
1020Faith T NestleArgentina2026-06-07Chanay, Jeffrey A Esq UNQUALIFIED62Anna Fali
1021David H PerinArgentina2026-07-02Rangoni Of Florence UNQUALIFIED16Anna Fali
1022David D IturbideBrazil2026-07-01Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1023James N KuskoItaly2026-06-05Buckley Miller Wright RENEWAL66Elwin Sharvill
1024Antonio T WieserIndia2026-06-14King, Christopher A Esq PROPOSAL43Ioni Bowcher
1025Maisha E CaldareraCanada2026-06-15Printing Dimensions QUALIFIED80Onyama Limba
1026Aruna N BowleyBrazil2026-06-12Rousseaux, Michael Esq NEW89Asiya Javayant
1027Adams G RulapaughJapan2026-06-27Rousseaux, Michael Esq RENEWAL9Xuxue Feng
1028Maria O CampainArgentina2026-06-29Chapman, Ross E Esq QUALIFIED69Amy Elsner
1029James H PaprockiAustralia2026-06-21King, Christopher A Esq RENEWAL56Ioni Bowcher
1030Jones E CampainAustralia2026-06-11Feltz Printing Service QUALIFIED84Xuxue Feng
1031Tony A BowleyItaly2026-06-28Chapman, Ross E Esq QUALIFIED41Onyama Limba
1032Jennifer G MaletItaly2026-07-02Dorl, James J Esq QUALIFIED80Amy Elsner
1033Johnson I CaldareraIndia2026-06-20King, Christopher A Esq PROPOSAL99Asiya Javayant
1034Cody Z MarrierAustralia2026-06-14Printing Dimensions NEW5Asiya Javayant
1035Kadeem Z WieserIndia2026-06-29Feiner Bros NEGOTIATION89Ivan Magalhaes
1036Greenwood U SergiUnited Kingdom2026-06-08Chemel, James L Cpa PROPOSAL75Ioni Bowcher
1037Adams T BowleyIndia2026-06-30Buckley Miller Wright NEW75Ivan Magalhaes
1038Mayumi Y MaletJapan2026-06-13Commercial Press NEGOTIATION29Xuxue Feng
1039Aruna I MaletFrance2026-06-07Rangoni Of Florence UNQUALIFIED53Ivan Magalhaes
1040Francesco Q WhobreyItaly2026-06-27Rousseaux, Michael Esq QUALIFIED21Amy Elsner
1041Mayumi S KolmetzBrazil2026-06-11Feiner Bros NEGOTIATION8Stephen Shaw
1042Smith I WhobreyUnited Kingdom2026-06-07Dorl, James J Esq PROPOSAL54Ioni Bowcher
1043Jennifer A DarakjyItaly2026-06-05Printing Dimensions PROPOSAL54Amy Elsner
1044Claire R BriddickAustralia2026-06-17Chapman, Ross E Esq NEGOTIATION27Onyama Limba
1045Maria F BowleyCanada2026-06-22Commercial Press NEGOTIATION1Amy Elsner
1046Stacey B WhobreyIndia2026-06-23Chanay, Jeffrey A Esq UNQUALIFIED82Asiya Javayant
1047Smith O StockhamItaly2026-06-15Dorl, James J Esq PROPOSAL43Ivan Magalhaes
1048Francesco W MorascaRussia2026-06-04Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1049Morrow X OldroydBrazil2026-06-29Chemel, James L Cpa NEW64Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci B BriddickJapanIvan Magalhaes RENEWAL
Izzy X CampainSpainXuxue Feng RENEWAL
Greenwood U RutaRussiaOnyama Limba PROPOSAL
Misaki C FerenczCanadaElwin Sharvill QUALIFIED
Misaki R PerinAustraliaAmy Elsner QUALIFIED
Leja C FollerFranceAsiya Javayant RENEWAL
Mayumi H ButtRussiaAmy Elsner NEGOTIATION
Tony G FerenczAustraliaBernardo Dominic NEW
Misaki P OstroskyIndiaIoni Bowcher NEGOTIATION
Antonio A IturbideFranceElwin Sharvill PROPOSAL
Alejandro K MaletAustraliaAsiya Javayant QUALIFIED
Ricardo A IturbideRussiaIoni Bowcher NEGOTIATION
Kaitlin B OstroskyAustraliaIoni Bowcher PROPOSAL
Aika G DoeUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois K PaprockiBrazilOnyama Limba NEGOTIATION
Alejandro P WaycottCanadaAnna Fali QUALIFIED
Greenwood J MacleadGermanyAnna Fali QUALIFIED
Antonio I OstroskyGermanyBernardo Dominic NEGOTIATION
Faith M OstroskyItalyBernardo Dominic UNQUALIFIED
Stacey W FigeroaCanadaAsiya Javayant RENEWAL
David S GauchoBrazilIvan Magalhaes UNQUALIFIED
Misaki Y MaletIndiaIvan Magalhaes QUALIFIED
Ricardo W DilliardCanadaBernardo Dominic UNQUALIFIED
Ivar P StockhamAustraliaXuxue Feng RENEWAL
Arvin Y OstroskyFranceAmy Elsner QUALIFIED
Jefferson J RutaJapanBernardo Dominic PROPOSAL
Ricardo H NestleCanadaElwin Sharvill NEW
Clifford M WhobreyFranceOnyama Limba UNQUALIFIED
Johnson N MaletFranceBernardo Dominic QUALIFIED
Darci G MaletIndiaIvan Magalhaes UNQUALIFIED
Juan U RimSpainIoni Bowcher RENEWAL
Tony J GlickFranceIvan Magalhaes NEGOTIATION
Deepesh S MarrierJapanIvan Magalhaes RENEWAL
Aruna M MacleadGermanyAsiya Javayant RENEWAL
Tony D SaylorsFranceXuxue Feng RENEWAL
Aika Y SlusarskiBrazilAnna Fali NEGOTIATION
Jeanfrancois L FollerAustraliaIvan Magalhaes QUALIFIED
Adams O RoysterRussiaAsiya Javayant NEW
Emily S GillianAustraliaAnna Fali RENEWAL
Jones S CaldareraCanadaAnna Fali NEGOTIATION
Misaki C SlusarskiUnited KingdomXuxue Feng NEW
Jeanfrancois Y DarakjyBrazilXuxue Feng QUALIFIED
Mujtaba L KuskoFranceIvan Magalhaes PROPOSAL
Costa Y BowleyJapanBernardo Dominic QUALIFIED
Sinclair V VocelkaItalyAnna Fali PROPOSAL
Tony B FerenczArgentinaAmy Elsner RENEWAL
Aruna J RoysterAustraliaIvan Magalhaes NEGOTIATION
Aditya K StockhamJapanElwin Sharvill NEGOTIATION
Jones C CampainItalyAsiya Javayant RENEWAL
Stacey M GlickUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Aika M Schemmer
Greenwood H Schemmer
Silvio A Nestle
Greenwood I Foller
Wickens D Shinko
Wickens Y Bolognia
David X Stenseth
Arvin Y Doe
Leon N Venere
Claire J Perin
Leon T Ostrosky
Francesco J Kolmetz
Ricardo X Poquette
Munro U Morasca
Smith B Royster
Nicolas Y Gillian
Stacey Y Campain
Murillo Z Saylors
Claire U Sergi
Alejandro W Whobrey
Maria P Marrier
Munro I Perin
Nicolas K Doe
Salvatore Y Gillian
Aruna D Venere
Adams S Wieser
Leja Q Figeroa
Misaki F Gaucho
Smith Y Rim
Maisha R Gillian
Jefferson G Nestle
Jeanfrancois A Malet
Aditya N Tollner
Antonio H Campain
Juan J Malet
Rodrigues G Royster
Morrow G Butt
Ricardo D Gillian
Murillo N Maclead
Munro Y Foller
Jennifer H Paprocki
Maisha E Stockham
James X Slusarski
Jefferson K Nestle
Izzy Z Glick
Leja N Albares
Johnson W Ostrosky
Chavez J Venere
Costa D Bolognia
Kadeem M Royster
IdCountryDate
1000India2026-06-29
1001Spain2026-06-28
1002Brazil2026-06-14
1003Spain2026-06-20
1004Italy2026-06-24
1005Brazil2026-06-25
1006Australia2026-06-28
1007Russia2026-06-24
1008United Kingdom2026-06-25
1009Russia2026-06-17
1010United Kingdom2026-06-11
1011Spain2026-06-13
1012France2026-06-30
1013Brazil2026-07-02
1014France2026-06-04
1015Italy2026-06-26
1016Italy2026-06-05
1017France2026-07-01
1018Brazil2026-06-15
1019Canada2026-06-30
1020Australia2026-06-13
1021Canada2026-06-23
1022Brazil2026-07-01
1023Australia2026-06-08
1024Canada2026-06-14
1025Canada2026-06-17
1026Canada2026-07-01
1027Germany2026-06-14
1028France2026-06-12
1029Australia2026-06-07
1030Russia2026-06-06
1031Russia2026-06-05
1032Japan2026-07-01
1033Australia2026-07-01
1034Russia2026-06-08
1035Italy2026-06-21
1036Argentina2026-06-28
1037Japan2026-06-12
1038Argentina2026-06-04
1039Spain2026-06-08
1040Japan2026-06-19
1041Russia2026-06-05
1042France2026-06-08
1043India2026-06-27
1044Germany2026-06-25
1045Germany2026-06-27
1046Italy2026-06-29
1047United Kingdom2026-06-13
1048Australia2026-06-26
1049Russia2026-06-29

On-Demand Data

NameIdCountryDate
Darci X Wieser1000Australia2026-06-05
Darci C Maclead1001Germany2026-06-12
Deepesh T Chui1002Russia2026-06-08
Leja O Caudy1003United Kingdom2026-06-13
Clifford Y Saylors1004Russia2026-06-08
Chavez K Marrier1005Argentina2026-06-24
Isabel E Tollner1006Argentina2026-06-08
Leja P Malet1007Germany2026-06-10
Octavia C Gaucho1008India2026-06-07
Sinclair N Shinko1009Brazil2026-06-26
Johnson F Figeroa1010United Kingdom2026-06-11
Jeanfrancois H Stockham1011Russia2026-06-13
Francesco B Albares1012France2026-06-21
Emily K Amigon1013Japan2026-06-30
Wickens R Briddick1014France2026-06-16
Jennifer W Malet1015Russia2026-06-08
Aditya B Paprocki1016Russia2026-06-30
Silvio A Campain1017Brazil2026-06-11
Jefferson Z Oldroyd1018Italy2026-06-23
Clifford K Whobrey1019United Kingdom2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco G FollerAustraliaIvan Magalhaes UNQUALIFIED
Stacey O AlbaresSpainIvan Magalhaes NEGOTIATION
Maria U SergiArgentinaIvan Magalhaes PROPOSAL
Mujtaba G FigeroaArgentinaIoni Bowcher NEW
Leon E AlbaresFranceStephen Shaw RENEWAL
Nicolas S PaprockiItalyAmy Elsner UNQUALIFIED
Wickens H GillianGermanyBernardo Dominic PROPOSAL
Maisha T DilliardArgentinaAnna Fali NEGOTIATION
Rodrigues T CampainJapanAnna Fali RENEWAL
Jeanfrancois Y PoquetteSpainElwin Sharvill NEGOTIATION
Stacey V RutaBrazilStephen Shaw RENEWAL
Morrow K FlosiCanadaBernardo Dominic NEGOTIATION
Jeanfrancois R AmigonCanadaOnyama Limba QUALIFIED
Jeanfrancois X OldroydArgentinaAmy Elsner PROPOSAL
Misaki I VenereSpainStephen Shaw RENEWAL
Misaki F SaylorsRussiaAmy Elsner RENEWAL
Emily X AmigonItalyAsiya Javayant QUALIFIED
Stacey S RulapaughCanadaAmy Elsner UNQUALIFIED
Morrow T FlosiIndiaIoni Bowcher UNQUALIFIED
Leon I MacleadRussiaIvan Magalhaes NEW
Alejandro G KolmetzGermanyXuxue Feng QUALIFIED
Munro B CampainRussiaIvan Magalhaes PROPOSAL
Adams X MaletAustraliaAmy Elsner NEW
Morrow M VocelkaUnited KingdomBernardo Dominic NEW
Nicolas O ShinkoUnited KingdomIoni Bowcher QUALIFIED
Rodrigues C GillianSpainIoni Bowcher RENEWAL
Tony M SlusarskiFranceAmy Elsner QUALIFIED
Kaitlin V BriddickRussiaIoni Bowcher RENEWAL
Chavez M AlbaresGermanyAmy Elsner NEW
Clifford F FerenczIndiaAnna Fali UNQUALIFIED
Mayumi A OstroskyIndiaAnna Fali NEW
Munro U CaudySpainAnna Fali NEW
Chavez W CaldareraItalyElwin Sharvill NEGOTIATION
Wickens W OstroskyRussiaIoni Bowcher QUALIFIED
Rodrigues D CaldareraRussiaOnyama Limba QUALIFIED
Ricardo X GillianIndiaBernardo Dominic UNQUALIFIED
David C InouyeUnited KingdomAsiya Javayant RENEWAL
Mujtaba E DoeRussiaOnyama Limba PROPOSAL
Murillo L KuskoFranceElwin Sharvill NEGOTIATION
Ivar Q NickaUnited KingdomAnna Fali PROPOSAL

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