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
Ivar H TollnerAustraliaOnyama Limba PROPOSAL
Antonio L KuskoSpainAmy Elsner NEW
Cody S DilliardArgentinaAsiya Javayant NEW
Munro A FerenczAustraliaElwin Sharvill QUALIFIED
Tony T ButtIndiaBernardo Dominic NEGOTIATION
Ashley B KuskoRussiaXuxue Feng UNQUALIFIED
Greenwood G FerenczUnited KingdomElwin Sharvill NEW
Cody L BowleyBrazilIvan Magalhaes NEGOTIATION
Aditya P CaldareraFranceIvan Magalhaes UNQUALIFIED
Alejandro W MacleadRussiaIvan Magalhaes UNQUALIFIED
Smith S ShinkoIndiaAmy Elsner PROPOSAL
Mujtaba Y MacleadArgentinaElwin Sharvill NEW
Morrow V WaycottSpainXuxue Feng UNQUALIFIED
Jones L SaylorsIndiaXuxue Feng NEGOTIATION
Cody I VenereCanadaAmy Elsner UNQUALIFIED
Kadeem B FigeroaItalyAmy Elsner RENEWAL
Jennifer C TollnerFranceIoni Bowcher UNQUALIFIED
Rodrigues C RoysterItalyIoni Bowcher PROPOSAL
Jones Z RoysterJapanStephen Shaw NEGOTIATION
Alejandro W OldroydArgentinaStephen Shaw NEGOTIATION
Rodrigues Q CaudyArgentinaAnna Fali UNQUALIFIED
Darci P VenereIndiaBernardo Dominic RENEWAL
Salvatore D MaletJapanAsiya Javayant NEGOTIATION
Aika N NickaAustraliaBernardo Dominic UNQUALIFIED
Adams H NestleArgentinaIoni Bowcher QUALIFIED
Greenwood X MacleadBrazilAnna Fali NEW
Ricardo K WieserRussiaIoni Bowcher QUALIFIED
Maria P AmigonCanadaIvan Magalhaes PROPOSAL
Greenwood Z MarrierIndiaAsiya Javayant NEGOTIATION
Silvio P OstroskyRussiaAmy Elsner PROPOSAL
Nicolas G CaudyJapanXuxue Feng NEGOTIATION
Mayumi V WaycottAustraliaStephen Shaw PROPOSAL
Wickens O NestleRussiaStephen Shaw RENEWAL
Maria P KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Smith P SchemmerFranceIoni Bowcher QUALIFIED
Murillo N PoquetteItalyIvan Magalhaes RENEWAL
Maisha O WaycottBrazilOnyama Limba UNQUALIFIED
Stacey B BologniaSpainAmy Elsner PROPOSAL
Emily H VenereBrazilAnna Fali NEGOTIATION
Mujtaba W SaylorsAustraliaStephen Shaw NEGOTIATION
Julie N FlosiRussiaAsiya Javayant PROPOSAL
Morrow K CampainFranceBernardo Dominic NEW
Aika K RulapaughRussiaBernardo Dominic QUALIFIED
Murillo R DoeRussiaBernardo Dominic QUALIFIED
Murillo F VocelkaIndiaAnna Fali NEGOTIATION
Adams P AmigonJapanOnyama Limba RENEWAL
Tony R PerinBrazilStephen Shaw NEGOTIATION
James W FollerArgentinaOnyama Limba PROPOSAL
Julie E GillianUnited KingdomElwin Sharvill NEGOTIATION
Salvatore K MacleadJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon V IturbideRussiaAnna Fali NEGOTIATION
Kadeem Z WieserBrazilOnyama Limba NEGOTIATION
Aruna P SlusarskiGermanyElwin Sharvill PROPOSAL
Aditya I DilliardBrazilXuxue Feng PROPOSAL
Kadeem Y RimCanadaIoni Bowcher RENEWAL
Clifford K CaldareraRussiaElwin Sharvill NEW
Antonio Y GillianCanadaAmy Elsner NEW
Darci F RulapaughCanadaOnyama Limba NEW
Maisha M StockhamBrazilOnyama Limba RENEWAL
Cody Z OldroydRussiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo B SlusarskiRussia2025-04-18Benton, John B Jr UNQUALIFIED32Amy Elsner
1001Jones X OstroskyFrance2025-04-04Feiner Bros NEGOTIATION61Xuxue Feng
1002Jones V WhobreyFrance2025-04-24Feltz Printing Service NEGOTIATION4Xuxue Feng
1003Jennifer D CaldareraUnited Kingdom2025-04-04Rousseaux, Michael Esq UNQUALIFIED84Elwin Sharvill
1004Octavia S MacleadAustralia2025-04-01Feiner Bros PROPOSAL4Onyama Limba
1005Wickens D AlbaresArgentina2025-04-11Morlong Associates NEW19Xuxue Feng
1006Emily Q RulapaughRussia2025-04-21Feltz Printing Service PROPOSAL91Bernardo Dominic
1007Octavia S MaletArgentina2025-04-24Buckley Miller Wright NEGOTIATION12Asiya Javayant
1008Isabel Q VocelkaJapan2025-04-07Rousseaux, Michael Esq NEW63Xuxue Feng
1009Munro D BriddickJapan2025-04-22Chanay, Jeffrey A Esq UNQUALIFIED31Amy Elsner
1010Francesco R WieserAustralia2025-04-14Chapman, Ross E Esq QUALIFIED82Amy Elsner
1011Antonio F GlickSpain2025-04-30Chanay, Jeffrey A Esq NEW94Elwin Sharvill
1012Stacey Q ShinkoFrance2025-04-25Benton, John B Jr RENEWAL59Bernardo Dominic
1013Stacey D DoeBrazil2025-04-06Benton, John B Jr NEGOTIATION42Onyama Limba
1014Izzy H IturbideUnited Kingdom2025-04-29Rousseaux, Michael Esq NEGOTIATION29Bernardo Dominic
1015Nicolas V FigeroaFrance2025-04-30Buckley Miller Wright UNQUALIFIED16Asiya Javayant
1016Jennifer N PaprockiArgentina2025-04-03Truhlar And Truhlar Attys RENEWAL50Anna Fali
1017Munro I CaudyAustralia2025-04-25Morlong Associates QUALIFIED31Bernardo Dominic
1018Salvatore I PerinJapan2025-04-26Morlong Associates RENEWAL0Ioni Bowcher
1019Claire I FlosiJapan2025-04-04Truhlar And Truhlar Attys PROPOSAL76Asiya Javayant
1020Munro I GlickJapan2025-04-13Rangoni Of Florence PROPOSAL25Ioni Bowcher
1021Tony Q VocelkaBrazil2025-04-21Benton, John B Jr UNQUALIFIED34Bernardo Dominic
1022Izzy W ButtArgentina2025-04-15Buckley Miller Wright UNQUALIFIED82Ioni Bowcher
1023Wickens N NickaGermany2025-04-19King, Christopher A Esq NEGOTIATION18Asiya Javayant
1024Murillo X SergiArgentina2025-04-25Buckley Miller Wright NEW21Elwin Sharvill
1025Jefferson F GarufiSpain2025-04-22Chemel, James L Cpa RENEWAL68Ivan Magalhaes
1026Francesco T StockhamIndia2025-04-21King, Christopher A Esq NEGOTIATION33Onyama Limba
1027Deepesh Z DoeRussia2025-04-27Rangoni Of Florence NEW43Ioni Bowcher
1028Mayumi W AmigonCanada2025-04-04Feiner Bros NEW59Asiya Javayant
1029Julie Z NestleBrazil2025-04-25Rousseaux, Michael Esq QUALIFIED48Bernardo Dominic
1030Arvin W FollerSpain2025-04-27Feltz Printing Service PROPOSAL15Ivan Magalhaes
1031Jones Z PerinUnited Kingdom2025-04-05Rousseaux, Michael Esq NEW25Ivan Magalhaes
1032Isabel W MacleadFrance2025-04-08Chemel, James L Cpa RENEWAL47Anna Fali
1033Jones W SaylorsItaly2025-04-04Chemel, James L Cpa PROPOSAL2Elwin Sharvill
1034Arvin P DilliardArgentina2025-04-05Benton, John B Jr NEW34Onyama Limba
1035Johnson J RoysterRussia2025-04-02Buckley Miller Wright PROPOSAL98Anna Fali
1036Nicolas R BriddickRussia2025-04-27Chanay, Jeffrey A Esq NEGOTIATION33Amy Elsner
1037Stacey G MaletJapan2025-04-25Chapman, Ross E Esq RENEWAL47Onyama Limba
1038Silvio M NickaItaly2025-04-24Commercial Press QUALIFIED29Asiya Javayant
1039Costa U WieserArgentina2025-04-16Dorl, James J Esq NEW95Ivan Magalhaes
1040Alejandro Y SaylorsBrazil2025-04-26Feiner Bros PROPOSAL82Onyama Limba
1041Aika K RimBrazil2025-04-01Morlong Associates NEGOTIATION58Ivan Magalhaes
1042Kaitlin T RoysterCanada2025-04-19Dorl, James J Esq UNQUALIFIED38Xuxue Feng
1043Faith S ButtIndia2025-04-13Benton, John B Jr UNQUALIFIED85Amy Elsner
1044Sinclair D WieserJapan2025-04-06Benton, John B Jr UNQUALIFIED59Onyama Limba
1045Antonio Z NestleArgentina2025-04-22Dorl, James J Esq QUALIFIED32Xuxue Feng
1046Aruna A OstroskyJapan2025-04-21Benton, John B Jr PROPOSAL82Stephen Shaw
1047Alejandro V KuskoCanada2025-04-19Benton, John B Jr RENEWAL58Anna Fali
1048Wickens A NestleIndia2025-04-15Printing Dimensions RENEWAL33Elwin Sharvill
1049Leon P FigeroaAustralia2025-04-28Feiner Bros NEGOTIATION57Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba T OstroskyCanadaAsiya Javayant PROPOSAL
Leja F KuskoUnited KingdomAnna Fali PROPOSAL
Aditya Z MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo Y FigeroaItalyElwin Sharvill QUALIFIED
Jones D MaletSpainOnyama Limba UNQUALIFIED
Kadeem N MacleadAustraliaXuxue Feng NEW
Claire A FerenczSpainAnna Fali NEW
Rodrigues O CaudyUnited KingdomBernardo Dominic PROPOSAL
Rodrigues Z ShinkoItalyStephen Shaw NEW
Misaki K OstroskyArgentinaOnyama Limba QUALIFIED
Rodrigues T RimUnited KingdomAnna Fali NEW
Chavez Z AmigonAustraliaIoni Bowcher NEGOTIATION
Darci E SchemmerArgentinaAsiya Javayant PROPOSAL
Maria M SchemmerCanadaBernardo Dominic NEGOTIATION
Aditya T SchemmerFranceAsiya Javayant NEGOTIATION
Jones W AlbaresFranceAmy Elsner RENEWAL
Ivar E AmigonGermanyBernardo Dominic UNQUALIFIED
Antonio X DarakjyItalyStephen Shaw QUALIFIED
Octavia H FlosiAustraliaIoni Bowcher NEW
Leja L MacleadJapanIvan Magalhaes PROPOSAL
Greenwood M BologniaItalyBernardo Dominic UNQUALIFIED
Ricardo R SchemmerAustraliaXuxue Feng NEGOTIATION
Aruna M AlbaresIndiaAsiya Javayant RENEWAL
Aditya Q OldroydJapanStephen Shaw RENEWAL
Costa X SaylorsFranceIvan Magalhaes NEGOTIATION
Mujtaba J TollnerBrazilIoni Bowcher RENEWAL
Adams B VocelkaGermanyAsiya Javayant UNQUALIFIED
Adams T InouyeAustraliaXuxue Feng UNQUALIFIED
Deepesh F ChuiRussiaAnna Fali PROPOSAL
Nicolas E SchemmerBrazilAsiya Javayant NEGOTIATION
Smith K RimFranceElwin Sharvill RENEWAL
Sinclair C ButtJapanAmy Elsner RENEWAL
Rodrigues N FlosiCanadaAmy Elsner QUALIFIED
Johnson D GillianRussiaElwin Sharvill NEGOTIATION
Rodrigues G FerenczJapanAnna Fali RENEWAL
Wickens J GauchoUnited KingdomAsiya Javayant RENEWAL
Jefferson Q GlickBrazilIoni Bowcher PROPOSAL
Leon J WieserUnited KingdomElwin Sharvill QUALIFIED
Munro U NestleArgentinaBernardo Dominic UNQUALIFIED
Misaki O StockhamUnited KingdomOnyama Limba NEGOTIATION
Jennifer F IturbideJapanAmy Elsner RENEWAL
Jones P RutaFranceBernardo Dominic UNQUALIFIED
Octavia I ButtCanadaOnyama Limba NEW
Maria G BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Isabel B BowleyBrazilElwin Sharvill UNQUALIFIED
Misaki N WaycottBrazilIoni Bowcher NEGOTIATION
Francesco Z PerinBrazilAnna Fali QUALIFIED
Jeanfrancois O KuskoUnited KingdomOnyama Limba PROPOSAL
Maria C CaldareraBrazilXuxue Feng UNQUALIFIED
Maria X MarrierAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Aditya H Stenseth
Alejandro R Flosi
Jones K Figeroa
Jefferson B Ruta
James N Figeroa
Jennifer G Shinko
Faith J Flosi
Julie N Rulapaugh
Salvatore Q Kolmetz
Ashley P Caudy
Nicolas Y Albares
Jones T Garufi
David P Amigon
Ricardo P Ostrosky
Maisha C Saylors
Jones Y Darakjy
Izzy U Dilliard
James I Ruta
Leja F Morasca
Nicolas M Iturbide
Sinclair T Vocelka
Tony H Flosi
Misaki R Stockham
James T Campain
Isabel A Vocelka
Faith E Ferencz
David P Rim
Kadeem R Nicka
Leon D Kusko
Sinclair Q Inouye
Leja J Foller
Juan Q Saylors
Murillo S Inouye
Isabel N Tollner
Cody E Caudy
David A Saylors
Kaitlin R Ruta
Kadeem V Amigon
Costa J Nestle
Juan V Gaucho
Nicolas K Figeroa
Antonio C Butt
Izzy X Bolognia
Stacey G Schemmer
James G Morasca
Morrow E Shinko
Faith Z Briddick
Jones P Paprocki
Darci S Vocelka
Ivar F Glick
IdCountryDate
1000Spain2025-04-09
1001India2025-04-02
1002Canada2025-04-09
1003United Kingdom2025-04-03
1004Germany2025-04-07
1005Australia2025-04-18
1006Japan2025-04-24
1007Canada2025-04-14
1008Argentina2025-04-21
1009Japan2025-04-08
1010Spain2025-04-23
1011Germany2025-04-20
1012Japan2025-04-28
1013Australia2025-04-19
1014Spain2025-04-22
1015France2025-04-21
1016United Kingdom2025-04-09
1017Spain2025-04-22
1018Russia2025-04-08
1019Canada2025-04-21
1020Brazil2025-04-18
1021France2025-04-11
1022Canada2025-04-23
1023France2025-04-06
1024Germany2025-04-06
1025Brazil2025-04-29
1026Argentina2025-04-23
1027Canada2025-04-24
1028Italy2025-04-23
1029Spain2025-04-15
1030Japan2025-04-17
1031India2025-04-20
1032Russia2025-04-08
1033Spain2025-04-21
1034United Kingdom2025-04-26
1035United Kingdom2025-04-10
1036Spain2025-04-26
1037Italy2025-04-08
1038Spain2025-04-21
1039Australia2025-04-02
1040Spain2025-04-28
1041Australia2025-04-12
1042Russia2025-04-24
1043Australia2025-04-10
1044Australia2025-04-23
1045Spain2025-04-02
1046Canada2025-04-08
1047Russia2025-04-28
1048Spain2025-04-03
1049Germany2025-04-25

On-Demand Data

NameIdCountryDate
Deepesh X Campain1000Russia2025-04-24
Smith W Butt1001Japan2025-04-10
Morrow W Maclead1002Argentina2025-04-02
Juan Z Tollner1003United Kingdom2025-04-11
Murillo K Maclead1004Germany2025-04-11
Clifford O Malet1005France2025-04-30
Greenwood X Nestle1006Spain2025-04-16
Cody I Royster1007Brazil2025-04-04
Jennifer X Caudy1008France2025-04-20
Jefferson I Inouye1009Russia2025-04-21
Greenwood H Gillian1010Japan2025-04-30
Darci V Ruta1011Italy2025-04-30
Ricardo O Waycott1012Italy2025-04-10
Smith X Foller1013Russia2025-04-08
Juan F Saylors1014India2025-04-02
Emily X Darakjy1015Germany2025-04-08
Kadeem S Garufi1016Canada2025-04-03
Stacey A Bolognia1017Spain2025-04-23
Munro E Slusarski1018Germany2025-04-20
Jeanfrancois U Gillian1019India2025-04-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford O OldroydBrazilAmy Elsner QUALIFIED
Salvatore M DarakjyItalyIvan Magalhaes PROPOSAL
Arvin H MaletArgentinaIvan Magalhaes QUALIFIED
Jennifer G TollnerAustraliaStephen Shaw UNQUALIFIED
Faith K InouyeArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois C AlbaresSpainOnyama Limba RENEWAL
Kadeem S ChuiRussiaIvan Magalhaes QUALIFIED
Juan H GillianRussiaBernardo Dominic UNQUALIFIED
Jefferson B TollnerSpainElwin Sharvill NEW
Octavia Y SchemmerBrazilElwin Sharvill NEW
Clifford X BologniaAustraliaOnyama Limba RENEWAL
Jeanfrancois K WieserFranceAmy Elsner RENEWAL
Francesco P BriddickCanadaXuxue Feng PROPOSAL
Maisha G PaprockiFranceIoni Bowcher RENEWAL
Aditya Z AmigonIndiaAsiya Javayant UNQUALIFIED
Jones U DarakjyArgentinaIvan Magalhaes NEW
Munro F MorascaIndiaOnyama Limba QUALIFIED
Aika X FlosiArgentinaAnna Fali RENEWAL
Darci L StensethGermanyIoni Bowcher NEGOTIATION
Misaki H GauchoSpainOnyama Limba NEGOTIATION
Claire R GlickUnited KingdomElwin Sharvill PROPOSAL
Adams B RulapaughBrazilOnyama Limba PROPOSAL
James Z InouyeAustraliaOnyama Limba NEGOTIATION
Isabel Z RoysterAustraliaAmy Elsner UNQUALIFIED
Chavez V ButtAustraliaXuxue Feng RENEWAL
Kadeem L GillianAustraliaBernardo Dominic UNQUALIFIED
Aruna E IturbideJapanIoni Bowcher QUALIFIED
Costa Y TollnerJapanOnyama Limba UNQUALIFIED
Emily A SchemmerBrazilOnyama Limba NEW
Rodrigues S OstroskyArgentinaOnyama Limba NEGOTIATION
Leon I GarufiItalyBernardo Dominic RENEWAL
Maisha I RimCanadaElwin Sharvill RENEWAL
David K SaylorsAustraliaXuxue Feng PROPOSAL
Izzy M WaycottArgentinaAmy Elsner RENEWAL
Mujtaba Q MaletSpainAnna Fali PROPOSAL
Rodrigues P NickaArgentinaXuxue Feng PROPOSAL
Emily X FigeroaArgentinaBernardo Dominic QUALIFIED
Stacey E GillianIndiaIoni Bowcher UNQUALIFIED
Mayumi I AlbaresBrazilOnyama Limba NEW
Cody M GillianSpainAnna Fali UNQUALIFIED

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