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
James E AlbaresSpainAmy Elsner NEW
Chavez J ButtIndiaAnna Fali UNQUALIFIED
Kadeem B WaycottAustraliaXuxue Feng QUALIFIED
Leon M DilliardIndiaBernardo Dominic PROPOSAL
Juan Q FerenczCanadaBernardo Dominic NEGOTIATION
Isabel C WaycottItalyOnyama Limba PROPOSAL
David Q CampainItalyOnyama Limba RENEWAL
Antonio J SlusarskiJapanElwin Sharvill UNQUALIFIED
James V CampainRussiaAmy Elsner UNQUALIFIED
Leon D StockhamItalyAsiya Javayant NEGOTIATION
Rodrigues A RulapaughCanadaAnna Fali RENEWAL
Maisha B PoquetteGermanyOnyama Limba RENEWAL
Ashley J BriddickAustraliaElwin Sharvill RENEWAL
Morrow J GlickCanadaAnna Fali NEGOTIATION
Aika I StensethUnited KingdomIoni Bowcher RENEWAL
Darci K SaylorsArgentinaStephen Shaw QUALIFIED
Ricardo F DilliardBrazilIoni Bowcher NEGOTIATION
Alejandro T SlusarskiJapanOnyama Limba PROPOSAL
Ashley O ShinkoIndiaAmy Elsner RENEWAL
Chavez F OldroydBrazilAsiya Javayant RENEWAL
Stacey Y FigeroaIndiaElwin Sharvill RENEWAL
Greenwood K VenereAustraliaIvan Magalhaes QUALIFIED
Mayumi M GlickUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba D RulapaughBrazilIoni Bowcher QUALIFIED
Smith J RoysterSpainIvan Magalhaes UNQUALIFIED
Aditya P MacleadArgentinaAsiya Javayant NEW
Tony A ButtFranceXuxue Feng UNQUALIFIED
Isabel L RoysterJapanAmy Elsner QUALIFIED
Morrow C TollnerAustraliaBernardo Dominic NEGOTIATION
Nicolas U WaycottItalyAmy Elsner QUALIFIED
Julie N ButtBrazilXuxue Feng QUALIFIED
Jones U PerinJapanElwin Sharvill UNQUALIFIED
Mujtaba N BowleyCanadaElwin Sharvill QUALIFIED
Jennifer C OldroydSpainOnyama Limba UNQUALIFIED
Murillo Z RimIndiaAmy Elsner RENEWAL
James E CampainIndiaIvan Magalhaes PROPOSAL
Maria V FollerCanadaIoni Bowcher UNQUALIFIED
Jennifer J GillianRussiaIoni Bowcher NEW
Silvio A NestleAustraliaIvan Magalhaes NEW
Leja D AmigonBrazilIoni Bowcher RENEWAL
Sinclair K RoysterRussiaIvan Magalhaes NEGOTIATION
Sinclair I ShinkoFranceAsiya Javayant NEW
Nicolas V SaylorsGermanyXuxue Feng RENEWAL
Emily B NickaCanadaXuxue Feng NEW
Francesco X AlbaresUnited KingdomAsiya Javayant PROPOSAL
Alejandro S MaletRussiaAnna Fali QUALIFIED
Isabel V ChuiIndiaAsiya Javayant NEGOTIATION
Smith A StockhamArgentinaBernardo Dominic NEW
Misaki C VenereAustraliaIvan Magalhaes NEGOTIATION
Wickens L CaudyJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair W BologniaJapanElwin Sharvill RENEWAL
Misaki S FigeroaAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois W NestleJapanAmy Elsner UNQUALIFIED
Kadeem X MarrierFranceStephen Shaw UNQUALIFIED
Kadeem C MaletIndiaAmy Elsner PROPOSAL
Johnson W FollerSpainOnyama Limba PROPOSAL
Arvin F AlbaresJapanBernardo Dominic PROPOSAL
James C BriddickAustraliaOnyama Limba RENEWAL
Aditya K PoquetteAustraliaOnyama Limba QUALIFIED
Aika J StensethRussiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia D StockhamAustralia2024-05-29Buckley Miller Wright UNQUALIFIED73Anna Fali
1001Leon X VocelkaGermany2024-06-01Feltz Printing Service UNQUALIFIED81Xuxue Feng
1002Wickens Z RimFrance2024-06-01Feiner Bros PROPOSAL93Onyama Limba
1003Wickens Z MaletJapan2024-06-23Chapman, Ross E Esq NEGOTIATION98Amy Elsner
1004Nicolas E BowleyUnited Kingdom2024-06-11Rangoni Of Florence NEW36Bernardo Dominic
1005Aditya U ShinkoBrazil2024-05-31Chemel, James L Cpa NEGOTIATION13Bernardo Dominic
1006Johnson K BriddickArgentina2024-05-31Rousseaux, Michael Esq PROPOSAL60Anna Fali
1007Salvatore C ChuiUnited Kingdom2024-06-06Chanay, Jeffrey A Esq QUALIFIED19Xuxue Feng
1008Francesco L WieserBrazil2024-06-05Commercial Press UNQUALIFIED67Elwin Sharvill
1009Octavia Z SlusarskiCanada2024-05-26Morlong Associates QUALIFIED64Ivan Magalhaes
1010Antonio T StensethSpain2024-05-26Rangoni Of Florence UNQUALIFIED60Stephen Shaw
1011Francesco E CampainGermany2024-06-04Rangoni Of Florence RENEWAL99Elwin Sharvill
1012Chavez B CampainAustralia2024-06-06Truhlar And Truhlar Attys QUALIFIED24Ivan Magalhaes
1013Jennifer W PoquetteBrazil2024-06-01Benton, John B Jr QUALIFIED40Bernardo Dominic
1014Aruna N GillianUnited Kingdom2024-06-24Rousseaux, Michael Esq PROPOSAL31Ioni Bowcher
1015Mayumi E FigeroaItaly2024-06-16Rangoni Of Florence QUALIFIED77Amy Elsner
1016Morrow Q StockhamGermany2024-06-10King, Christopher A Esq UNQUALIFIED87Stephen Shaw
1017Stacey M GarufiSpain2024-06-17Feltz Printing Service UNQUALIFIED62Amy Elsner
1018Mayumi A NickaCanada2024-06-16Chanay, Jeffrey A Esq RENEWAL49Anna Fali
1019Sinclair I ButtUnited Kingdom2024-06-07Buckley Miller Wright NEGOTIATION29Onyama Limba
1020Emily T VocelkaFrance2024-06-21Chapman, Ross E Esq QUALIFIED22Bernardo Dominic
1021Johnson A TollnerUnited Kingdom2024-06-24Rousseaux, Michael Esq RENEWAL14Onyama Limba
1022Faith V PoquetteGermany2024-06-06Truhlar And Truhlar Attys NEGOTIATION93Ivan Magalhaes
1023Aruna Z SaylorsItaly2024-06-15Benton, John B Jr RENEWAL73Amy Elsner
1024Silvio N OldroydBrazil2024-06-10Feltz Printing Service UNQUALIFIED93Ivan Magalhaes
1025Isabel S MacleadIndia2024-06-08Chemel, James L Cpa NEW31Elwin Sharvill
1026Adams R IturbideAustralia2024-06-08Dorl, James J Esq PROPOSAL59Asiya Javayant
1027Ivar B MacleadArgentina2024-06-20Rousseaux, Michael Esq PROPOSAL93Amy Elsner
1028Rodrigues X KuskoGermany2024-06-03Morlong Associates QUALIFIED80Asiya Javayant
1029Cody O RutaArgentina2024-05-29Rangoni Of Florence NEW94Amy Elsner
1030Izzy R GauchoCanada2024-06-22Chapman, Ross E Esq RENEWAL49Elwin Sharvill
1031Johnson V ChuiIndia2024-05-26Rousseaux, Michael Esq NEGOTIATION21Anna Fali
1032Leon C VocelkaIndia2024-06-12Rousseaux, Michael Esq NEW90Elwin Sharvill
1033Adams E MarrierBrazil2024-06-10Chanay, Jeffrey A Esq RENEWAL72Ioni Bowcher
1034Silvio V StensethFrance2024-06-13Commercial Press NEW87Ioni Bowcher
1035Munro D OstroskyFrance2024-06-02Dorl, James J Esq RENEWAL52Xuxue Feng
1036David B SchemmerArgentina2024-06-09Feltz Printing Service QUALIFIED91Ioni Bowcher
1037Arvin Q FlosiUnited Kingdom2024-05-28Feiner Bros QUALIFIED85Amy Elsner
1038Adams Y CaudyItaly2024-06-10King, Christopher A Esq RENEWAL1Anna Fali
1039Chavez U CampainSpain2024-06-14Buckley Miller Wright PROPOSAL92Ivan Magalhaes
1040Wickens J DilliardFrance2024-05-27Rousseaux, Michael Esq UNQUALIFIED91Amy Elsner
1041Antonio E WieserGermany2024-06-07Feltz Printing Service NEGOTIATION97Anna Fali
1042David H SaylorsUnited Kingdom2024-06-02Truhlar And Truhlar Attys UNQUALIFIED23Bernardo Dominic
1043Murillo H KolmetzFrance2024-06-14Rousseaux, Michael Esq NEGOTIATION79Anna Fali
1044Morrow S NestleJapan2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED7Xuxue Feng
1045Costa T SergiSpain2024-06-03Chanay, Jeffrey A Esq QUALIFIED37Bernardo Dominic
1046Ivar E FlosiRussia2024-06-20Truhlar And Truhlar Attys PROPOSAL91Elwin Sharvill
1047Greenwood L ButtJapan2024-05-29Chemel, James L Cpa RENEWAL22Xuxue Feng
1048Rodrigues I MaletGermany2024-06-15Rousseaux, Michael Esq UNQUALIFIED28Stephen Shaw
1049Aditya N BowleyAustralia2024-06-18Chemel, James L Cpa NEW48Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues R AlbaresRussiaOnyama Limba NEW
Greenwood N SaylorsBrazilOnyama Limba UNQUALIFIED
Adams C PoquetteCanadaIoni Bowcher PROPOSAL
Murillo E BologniaCanadaOnyama Limba PROPOSAL
Kadeem I FlosiUnited KingdomOnyama Limba RENEWAL
Nicolas L ChuiBrazilIvan Magalhaes UNQUALIFIED
Silvio S SlusarskiSpainIoni Bowcher PROPOSAL
Deepesh E AmigonBrazilElwin Sharvill QUALIFIED
Maria F NestleJapanAmy Elsner NEGOTIATION
Wickens B ButtFranceBernardo Dominic UNQUALIFIED
Nicolas R FerenczCanadaXuxue Feng UNQUALIFIED
Salvatore D WaycottGermanyIvan Magalhaes RENEWAL
Stacey H MorascaAustraliaBernardo Dominic NEW
Mujtaba Y SergiBrazilAmy Elsner PROPOSAL
Kaitlin A WaycottAustraliaBernardo Dominic PROPOSAL
David M VenereSpainStephen Shaw RENEWAL
Chavez X GauchoSpainStephen Shaw RENEWAL
Jeanfrancois K CaudyAustraliaAnna Fali PROPOSAL
Stacey E CaudyUnited KingdomStephen Shaw UNQUALIFIED
Maria D FlosiRussiaAmy Elsner UNQUALIFIED
Ricardo Q PoquetteAustraliaAnna Fali NEGOTIATION
Salvatore J RimGermanyXuxue Feng RENEWAL
David T SlusarskiArgentinaAnna Fali RENEWAL
Isabel K InouyeItalyXuxue Feng UNQUALIFIED
Faith Q PaprockiUnited KingdomAmy Elsner PROPOSAL
Chavez Q PaprockiBrazilIvan Magalhaes UNQUALIFIED
Adams U GauchoFranceStephen Shaw QUALIFIED
Costa Z IturbideArgentinaStephen Shaw RENEWAL
James A WhobreyArgentinaIoni Bowcher QUALIFIED
Aruna S IturbideUnited KingdomBernardo Dominic NEW
Misaki C NestleAustraliaStephen Shaw NEW
Mujtaba V FerenczUnited KingdomAsiya Javayant NEGOTIATION
Faith O RimGermanyOnyama Limba NEGOTIATION
Claire G MarrierRussiaIvan Magalhaes QUALIFIED
Alejandro T WhobreyItalyAsiya Javayant QUALIFIED
Isabel M RimItalyElwin Sharvill NEGOTIATION
Ricardo K StockhamRussiaAsiya Javayant NEW
Kaitlin J FerenczRussiaAmy Elsner QUALIFIED
Maria H PerinCanadaAnna Fali NEW
Arvin D KolmetzGermanyIvan Magalhaes PROPOSAL
David N RoysterJapanAsiya Javayant NEW
Leon L AmigonIndiaIoni Bowcher QUALIFIED
Maria E NickaGermanyIoni Bowcher NEW
Darci Y SchemmerArgentinaAsiya Javayant NEW
Silvio S RoysterArgentinaAnna Fali NEW
Isabel P OstroskyJapanBernardo Dominic PROPOSAL
Cody R StockhamIndiaElwin Sharvill NEW
Stacey Q ShinkoBrazilStephen Shaw UNQUALIFIED
James N ChuiBrazilElwin Sharvill QUALIFIED
Leon G PoquetteRussiaAmy Elsner QUALIFIED
Frozen Columns
Name
Sinclair W Chui
Kaitlin W Ferencz
Munro J Ferencz
Kadeem K Doe
Nicolas L Marrier
Emily G Poquette
Leja P Morasca
Antonio Z Paprocki
Misaki W Kusko
Kaitlin W Kolmetz
Costa X Royster
Ivar L Nestle
Clifford Q Albares
Silvio C Shinko
Leon B Stockham
Chavez L Waycott
Kaitlin J Schemmer
Ricardo M Whobrey
Claire Q Oldroyd
Francesco Z Sergi
Wickens J Amigon
Aruna A Inouye
Adams S Caudy
Aika W Slusarski
Tony D Dilliard
Aditya B Perin
Stacey L Nicka
Greenwood C Figeroa
Costa F Garufi
Leja I Nicka
Deepesh G Gillian
Stacey P Darakjy
Munro Y Perin
Octavia M Wieser
Salvatore N Royster
Costa H Bolognia
Smith G Figeroa
Tony J Gillian
Aika Q Nestle
Aruna Z Ruta
Jefferson A Poquette
Greenwood I Chui
Stacey I Rulapaugh
Nicolas K Perin
Greenwood L Nestle
Arvin P Flosi
Alejandro A Morasca
Juan Q Schemmer
Ricardo T Ruta
Kadeem S Albares
IdCountryDate
1000Spain2024-06-17
1001Spain2024-06-16
1002Russia2024-05-28
1003Brazil2024-06-19
1004United Kingdom2024-06-14
1005India2024-06-20
1006Russia2024-06-20
1007Spain2024-06-01
1008France2024-06-16
1009Canada2024-06-24
1010Canada2024-06-05
1011Russia2024-05-30
1012United Kingdom2024-06-19
1013Italy2024-06-23
1014Germany2024-06-02
1015Italy2024-06-15
1016Germany2024-06-07
1017Brazil2024-06-07
1018France2024-06-07
1019Australia2024-06-09
1020United Kingdom2024-06-17
1021Brazil2024-06-24
1022France2024-06-10
1023India2024-06-09
1024Japan2024-06-15
1025Italy2024-06-11
1026Spain2024-05-27
1027Argentina2024-05-28
1028Germany2024-05-26
1029India2024-06-24
1030Canada2024-05-27
1031India2024-06-23
1032Japan2024-06-20
1033Germany2024-06-24
1034Brazil2024-06-08
1035Canada2024-05-26
1036Canada2024-05-30
1037United Kingdom2024-06-22
1038Russia2024-06-18
1039Italy2024-06-08
1040Canada2024-06-08
1041Germany2024-06-11
1042Brazil2024-06-22
1043Germany2024-06-18
1044Australia2024-06-04
1045Germany2024-06-08
1046France2024-06-15
1047Germany2024-06-06
1048Russia2024-06-21
1049France2024-06-10

On-Demand Data

NameIdCountryDate
Johnson F Garufi1000India2024-05-30
Ivar J Flosi1001Italy2024-06-20
Mujtaba X Darakjy1002Australia2024-06-13
Aika D Figeroa1003United Kingdom2024-06-20
Nicolas C Rulapaugh1004Spain2024-06-07
Ashley U Caldarera1005Argentina2024-06-04
Silvio Q Venere1006Brazil2024-06-06
Clifford X Waycott1007Spain2024-06-02
Sinclair U Saylors1008Argentina2024-06-05
Deepesh S Albares1009Japan2024-05-30
Isabel A Tollner1010Italy2024-06-09
Nicolas U Rim1011Australia2024-05-30
Alejandro O Briddick1012Canada2024-06-12
Deepesh X Glick1013India2024-06-18
Murillo B Saylors1014Argentina2024-06-10
Chavez D Briddick1015Germany2024-06-10
Julie S Venere1016Russia2024-06-13
Greenwood W Poquette1017France2024-06-24
Aika R Figeroa1018United Kingdom2024-06-24
Chavez C Caldarera1019United Kingdom2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily A MorascaCanadaAmy Elsner NEW
David N MarrierGermanyBernardo Dominic NEW
Murillo G IturbideItalyXuxue Feng NEW
Isabel R GauchoRussiaBernardo Dominic PROPOSAL
Arvin P StockhamIndiaIvan Magalhaes QUALIFIED
Kadeem M PerinBrazilXuxue Feng QUALIFIED
Ricardo F DilliardBrazilXuxue Feng RENEWAL
Mujtaba C FigeroaItalyXuxue Feng RENEWAL
Darci A GarufiFranceBernardo Dominic QUALIFIED
David L NickaSpainOnyama Limba QUALIFIED
Maria V PerinArgentinaElwin Sharvill RENEWAL
Jennifer B InouyeAustraliaAnna Fali UNQUALIFIED
Aruna H GauchoSpainAnna Fali QUALIFIED
James J FlosiAustraliaAsiya Javayant NEW
Octavia C StensethIndiaElwin Sharvill UNQUALIFIED
Maisha F KuskoIndiaIvan Magalhaes RENEWAL
David O FerenczAustraliaAsiya Javayant QUALIFIED
Munro T WhobreyFranceBernardo Dominic NEGOTIATION
Francesco M WhobreyBrazilIvan Magalhaes RENEWAL
Greenwood N SergiRussiaAsiya Javayant QUALIFIED
Jones N ChuiJapanAnna Fali UNQUALIFIED
Aditya Y GillianUnited KingdomStephen Shaw PROPOSAL
Sinclair K FollerGermanyOnyama Limba RENEWAL
Aika H GauchoGermanyElwin Sharvill QUALIFIED
Deepesh E SchemmerCanadaStephen Shaw QUALIFIED
Salvatore K DilliardRussiaAsiya Javayant PROPOSAL
Faith K AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Maisha Z FollerBrazilOnyama Limba PROPOSAL
Wickens T CampainIndiaOnyama Limba UNQUALIFIED
Alejandro S BologniaUnited KingdomOnyama Limba QUALIFIED
Jennifer A SlusarskiArgentinaElwin Sharvill NEGOTIATION
Nicolas G ChuiJapanAsiya Javayant PROPOSAL
Nicolas N MacleadIndiaElwin Sharvill UNQUALIFIED
Murillo O ButtItalyIvan Magalhaes NEW
Jennifer M BowleyCanadaXuxue Feng NEGOTIATION
Morrow U SaylorsItalyXuxue Feng UNQUALIFIED
Aditya V AlbaresRussiaStephen Shaw RENEWAL
Ashley V CaudyAustraliaXuxue Feng PROPOSAL
Maria T FerenczBrazilAmy Elsner RENEWAL
Aditya U CaudyIndiaIvan 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>