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
Smith D DilliardAustraliaAsiya Javayant NEW
Ashley F OldroydBrazilXuxue Feng RENEWAL
Jones P MorascaSpainElwin Sharvill QUALIFIED
Alejandro W MorascaAustraliaBernardo Dominic RENEWAL
Mujtaba C DarakjyArgentinaIoni Bowcher RENEWAL
Kaitlin D BowleyFranceStephen Shaw RENEWAL
Octavia G MaletGermanyBernardo Dominic NEW
Francesco S VocelkaAustraliaOnyama Limba RENEWAL
Leja Y NickaJapanStephen Shaw UNQUALIFIED
David V KolmetzBrazilAnna Fali PROPOSAL
Cody B KolmetzAustraliaIoni Bowcher NEGOTIATION
Darci H RutaJapanAmy Elsner PROPOSAL
Morrow N SchemmerUnited KingdomIoni Bowcher QUALIFIED
Greenwood Z ButtGermanyAsiya Javayant RENEWAL
Alejandro K RulapaughIndiaAnna Fali QUALIFIED
Jones T KolmetzItalyAsiya Javayant QUALIFIED
Arvin Y MarrierBrazilBernardo Dominic UNQUALIFIED
Ivar Z BriddickArgentinaIvan Magalhaes RENEWAL
Arvin E WaycottIndiaElwin Sharvill PROPOSAL
Stacey G RutaAustraliaElwin Sharvill PROPOSAL
Wickens B IturbideBrazilIvan Magalhaes QUALIFIED
Antonio P ShinkoIndiaIoni Bowcher NEW
Deepesh C CaldareraJapanStephen Shaw NEGOTIATION
Antonio R MarrierUnited KingdomStephen Shaw UNQUALIFIED
Leon M TollnerItalyIoni Bowcher NEGOTIATION
Emily C ButtCanadaAsiya Javayant PROPOSAL
Chavez T CaldareraIndiaXuxue Feng NEGOTIATION
Ashley P GillianCanadaIoni Bowcher QUALIFIED
Adams A ShinkoArgentinaIoni Bowcher QUALIFIED
Wickens Z BriddickFranceAnna Fali PROPOSAL
Jones F SergiIndiaAsiya Javayant PROPOSAL
Deepesh M CampainIndiaIoni Bowcher QUALIFIED
Mujtaba Z RoysterArgentinaOnyama Limba RENEWAL
Johnson N KuskoSpainAmy Elsner RENEWAL
Juan V SergiUnited KingdomOnyama Limba NEGOTIATION
Clifford L GlickJapanXuxue Feng RENEWAL
Francesco V FlosiIndiaStephen Shaw NEGOTIATION
Leon X ButtCanadaAsiya Javayant PROPOSAL
Murillo E NickaUnited KingdomAmy Elsner PROPOSAL
Ricardo S StockhamRussiaOnyama Limba PROPOSAL
Izzy F GillianItalyIoni Bowcher UNQUALIFIED
Nicolas X StensethArgentinaIvan Magalhaes NEW
Johnson X MaletCanadaBernardo Dominic NEGOTIATION
Juan F AlbaresFranceAnna Fali RENEWAL
Kadeem O FlosiFranceElwin Sharvill NEGOTIATION
Mayumi U DoeFranceXuxue Feng NEW
Ashley K WaycottJapanIvan Magalhaes PROPOSAL
Johnson V CaldareraCanadaElwin Sharvill PROPOSAL
Smith M ButtFranceAmy Elsner NEGOTIATION
Morrow G StensethBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem Y NickaRussiaIoni Bowcher RENEWAL
Chavez D ButtFranceAmy Elsner RENEWAL
Nicolas N RimJapanAmy Elsner UNQUALIFIED
Chavez H WaycottSpainAsiya Javayant NEGOTIATION
Salvatore W VenereCanadaAsiya Javayant QUALIFIED
Salvatore Q IturbideCanadaXuxue Feng NEGOTIATION
Chavez G BowleyItalyElwin Sharvill QUALIFIED
Morrow R GillianJapanAsiya Javayant UNQUALIFIED
Leon L SergiItalyStephen Shaw UNQUALIFIED
Aditya K WaycottSpainAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie W GauchoRussia2025-05-07Rousseaux, Michael Esq NEGOTIATION70Stephen Shaw
1001Kaitlin N FlosiJapan2025-04-29Rangoni Of Florence RENEWAL19Xuxue Feng
1002James W FigeroaBrazil2025-05-06Buckley Miller Wright UNQUALIFIED62Xuxue Feng
1003Julie R MaletItaly2025-05-01Chemel, James L Cpa QUALIFIED74Stephen Shaw
1004Maisha S WieserAustralia2025-05-03King, Christopher A Esq NEGOTIATION73Elwin Sharvill
1005James B DoeRussia2025-04-13Buckley Miller Wright RENEWAL96Elwin Sharvill
1006Jones W ButtRussia2025-04-17Commercial Press RENEWAL52Anna Fali
1007Clifford B MarrierArgentina2025-05-03Chanay, Jeffrey A Esq QUALIFIED1Xuxue Feng
1008Sinclair Q CaudyFrance2025-05-05Buckley Miller Wright RENEWAL25Stephen Shaw
1009Deepesh D GauchoIndia2025-04-16Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1010Silvio Q KolmetzAustralia2025-04-26Commercial Press RENEWAL53Anna Fali
1011Smith A BowleyCanada2025-04-20Dorl, James J Esq QUALIFIED63Bernardo Dominic
1012Sinclair F FlosiJapan2025-04-16Buckley Miller Wright QUALIFIED97Ivan Magalhaes
1013Jeanfrancois H InouyeIndia2025-04-29Chanay, Jeffrey A Esq PROPOSAL36Bernardo Dominic
1014Morrow U IturbideSpain2025-04-13Chapman, Ross E Esq NEW2Asiya Javayant
1015Deepesh S AlbaresFrance2025-04-16Dorl, James J Esq NEGOTIATION2Stephen Shaw
1016Silvio N InouyeBrazil2025-04-17Chanay, Jeffrey A Esq NEW81Elwin Sharvill
1017Chavez Z AmigonAustralia2025-04-13Morlong Associates NEGOTIATION63Stephen Shaw
1018Sinclair Y WaycottUnited Kingdom2025-05-04Morlong Associates NEW93Ivan Magalhaes
1019Claire G FerenczSpain2025-05-10Truhlar And Truhlar Attys PROPOSAL67Bernardo Dominic
1020Jefferson B NestleIndia2025-05-07Buckley Miller Wright UNQUALIFIED43Elwin Sharvill
1021Mayumi P MarrierIndia2025-04-21Feltz Printing Service NEW31Anna Fali
1022Tony M PerinAustralia2025-04-17Feltz Printing Service NEGOTIATION22Stephen Shaw
1023Sinclair Y FigeroaCanada2025-05-08Chemel, James L Cpa NEGOTIATION86Elwin Sharvill
1024Morrow S OstroskyBrazil2025-05-06Chemel, James L Cpa RENEWAL4Ivan Magalhaes
1025Wickens C FerenczJapan2025-05-01King, Christopher A Esq NEW35Ioni Bowcher
1026Cody E GauchoSpain2025-05-09Chanay, Jeffrey A Esq PROPOSAL80Stephen Shaw
1027Wickens B AlbaresRussia2025-05-07Printing Dimensions NEGOTIATION25Stephen Shaw
1028Adams B SergiJapan2025-05-05Feiner Bros UNQUALIFIED40Onyama Limba
1029Jefferson U MaletJapan2025-04-26Chanay, Jeffrey A Esq NEW82Asiya Javayant
1030Faith G SlusarskiItaly2025-04-22Truhlar And Truhlar Attys NEGOTIATION90Ioni Bowcher
1031Jefferson Z StockhamRussia2025-05-02Feltz Printing Service UNQUALIFIED97Elwin Sharvill
1032Wickens K TollnerFrance2025-05-10Rangoni Of Florence RENEWAL71Ioni Bowcher
1033Mujtaba L TollnerIndia2025-04-30Chanay, Jeffrey A Esq NEGOTIATION82Ivan Magalhaes
1034Deepesh D GlickJapan2025-04-17Chemel, James L Cpa NEW10Bernardo Dominic
1035Salvatore F DoeCanada2025-04-30Chemel, James L Cpa PROPOSAL64Asiya Javayant
1036Mayumi S BologniaJapan2025-04-16Dorl, James J Esq RENEWAL60Elwin Sharvill
1037Tony T StockhamRussia2025-05-10Dorl, James J Esq QUALIFIED85Stephen Shaw
1038Mayumi P BowleyJapan2025-05-01Feltz Printing Service QUALIFIED98Stephen Shaw
1039James H OstroskyFrance2025-05-10Dorl, James J Esq QUALIFIED65Elwin Sharvill
1040Ivar T DarakjyAustralia2025-04-27Dorl, James J Esq NEW30Anna Fali
1041Leon Z FigeroaBrazil2025-04-17Printing Dimensions QUALIFIED35Stephen Shaw
1042Isabel N TollnerArgentina2025-04-24Feltz Printing Service PROPOSAL67Ioni Bowcher
1043Nicolas W RutaUnited Kingdom2025-05-02Chanay, Jeffrey A Esq QUALIFIED42Stephen Shaw
1044James Q PerinIndia2025-04-12Chanay, Jeffrey A Esq NEW73Bernardo Dominic
1045Juan N SchemmerJapan2025-04-22Chanay, Jeffrey A Esq QUALIFIED29Bernardo Dominic
1046Smith C WhobreyAustralia2025-04-19Buckley Miller Wright UNQUALIFIED56Anna Fali
1047Costa I GillianGermany2025-05-10Truhlar And Truhlar Attys UNQUALIFIED17Amy Elsner
1048Munro Y SlusarskiUnited Kingdom2025-04-30Printing Dimensions NEGOTIATION48Xuxue Feng
1049Ricardo H MaletSpain2025-04-24Rousseaux, Michael Esq NEGOTIATION53Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David S MacleadGermanyAsiya Javayant RENEWAL
Jefferson Y BologniaJapanElwin Sharvill NEW
James H SaylorsCanadaOnyama Limba PROPOSAL
Misaki E KolmetzAustraliaStephen Shaw NEW
Francesco N RoysterCanadaBernardo Dominic QUALIFIED
Maisha C NestleJapanIoni Bowcher PROPOSAL
Mayumi A MorascaItalyBernardo Dominic RENEWAL
Aditya N SlusarskiJapanIvan Magalhaes NEGOTIATION
Murillo U MacleadFranceAsiya Javayant PROPOSAL
Mujtaba D RimSpainXuxue Feng NEW
Aditya T InouyeFranceElwin Sharvill NEGOTIATION
Jones U FollerItalyIvan Magalhaes NEGOTIATION
Morrow H MaletCanadaElwin Sharvill NEW
Jones N RutaArgentinaOnyama Limba NEGOTIATION
Julie W KolmetzAustraliaIoni Bowcher UNQUALIFIED
Kadeem E BowleyUnited KingdomAsiya Javayant QUALIFIED
Emily E StensethCanadaXuxue Feng NEGOTIATION
Isabel L RoysterRussiaXuxue Feng NEGOTIATION
Ricardo N RulapaughSpainStephen Shaw NEW
Clifford F KolmetzGermanyAnna Fali PROPOSAL
Sinclair B SaylorsBrazilOnyama Limba NEW
Cody M PaprockiItalyOnyama Limba NEW
Murillo Z MacleadJapanElwin Sharvill QUALIFIED
Jefferson X OstroskySpainOnyama Limba UNQUALIFIED
Francesco O ShinkoSpainIvan Magalhaes PROPOSAL
Aruna W BowleyUnited KingdomIvan Magalhaes NEW
Maria J MaletJapanAsiya Javayant NEGOTIATION
Aditya N DarakjyItalyAnna Fali PROPOSAL
Salvatore D InouyeGermanyStephen Shaw RENEWAL
Misaki D FigeroaRussiaElwin Sharvill RENEWAL
Izzy X DoeIndiaAsiya Javayant UNQUALIFIED
James Q AlbaresGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois R FlosiGermanyAsiya Javayant NEGOTIATION
Izzy R BologniaBrazilXuxue Feng RENEWAL
James Q NickaUnited KingdomIvan Magalhaes PROPOSAL
Faith E TollnerSpainAnna Fali RENEWAL
Ricardo B BriddickSpainBernardo Dominic PROPOSAL
Mayumi A ButtRussiaAnna Fali NEGOTIATION
James R ButtAustraliaIoni Bowcher RENEWAL
Antonio L FlosiSpainIvan Magalhaes QUALIFIED
James B MarrierUnited KingdomOnyama Limba PROPOSAL
Nicolas L RutaRussiaBernardo Dominic PROPOSAL
Claire H RimUnited KingdomBernardo Dominic NEGOTIATION
Faith S MorascaGermanyOnyama Limba PROPOSAL
Costa E TollnerIndiaBernardo Dominic UNQUALIFIED
Julie Z NestleCanadaStephen Shaw QUALIFIED
Greenwood L MaletArgentinaStephen Shaw QUALIFIED
Julie Z MorascaIndiaIvan Magalhaes RENEWAL
Jeanfrancois T KolmetzBrazilIvan Magalhaes NEGOTIATION
Costa D SchemmerUnited KingdomIoni Bowcher NEW
Frozen Columns
Name
Tony J Schemmer
Clifford Y Venere
Rodrigues J Briddick
Isabel E Nicka
Ashley S Briddick
Costa V Paprocki
Ivar Z Sergi
Wickens N Perin
Deepesh N Waycott
Maisha K Vocelka
Juan R Garufi
Aruna S Caldarera
Salvatore T Vocelka
Silvio F Marrier
Kadeem O Venere
Alejandro V Ferencz
Rodrigues R Campain
Rodrigues I Amigon
David H Amigon
Leon T Campain
Clifford C Foller
Jennifer V Bolognia
Ricardo G Morasca
Aika J Caldarera
Antonio R Wieser
Darci D Sergi
Stacey I Morasca
Adams Y Ferencz
Nicolas Z Foller
Ashley X Ruta
Mayumi E Wieser
Darci L Amigon
Kaitlin K Shinko
James T Vocelka
Claire A Wieser
Julie K Gillian
Jones L Stenseth
Maisha B Albares
Aruna I Ruta
Adams O Vocelka
Jeanfrancois T Vocelka
Johnson G Iturbide
Darci Y Ostrosky
Stacey C Sergi
Misaki C Sergi
Chavez X Gaucho
Rodrigues U Kolmetz
James R Amigon
Kaitlin F Morasca
Misaki L Sergi
IdCountryDate
1000Italy2025-04-22
1001Canada2025-05-01
1002Russia2025-04-23
1003Australia2025-05-03
1004France2025-05-07
1005Brazil2025-05-08
1006Australia2025-04-15
1007United Kingdom2025-04-13
1008Argentina2025-05-02
1009Argentina2025-04-25
1010Spain2025-04-30
1011Russia2025-04-23
1012Canada2025-04-25
1013Brazil2025-04-18
1014Argentina2025-04-14
1015Spain2025-04-30
1016Australia2025-04-16
1017Japan2025-05-01
1018Germany2025-05-11
1019Italy2025-04-24
1020Brazil2025-05-07
1021Italy2025-04-21
1022Argentina2025-05-08
1023Germany2025-04-16
1024Brazil2025-04-14
1025India2025-05-05
1026Spain2025-05-08
1027France2025-04-29
1028India2025-04-20
1029Spain2025-04-22
1030United Kingdom2025-05-06
1031Canada2025-05-03
1032Australia2025-04-28
1033Japan2025-04-24
1034Brazil2025-04-14
1035Germany2025-05-06
1036Japan2025-04-30
1037Spain2025-05-08
1038Italy2025-04-21
1039Russia2025-04-12
1040Russia2025-04-26
1041Argentina2025-04-30
1042Spain2025-04-14
1043Canada2025-05-06
1044Canada2025-04-25
1045France2025-05-11
1046Spain2025-05-03
1047India2025-04-14
1048Russia2025-05-04
1049Russia2025-05-01

On-Demand Data

NameIdCountryDate
Emily A Gaucho1000Brazil2025-04-18
Antonio H Poquette1001Japan2025-04-17
Mujtaba I Kusko1002Germany2025-05-08
Aika C Rulapaugh1003Canada2025-04-19
Jennifer Y Glick1004Canada2025-04-13
Ashley L Kusko1005France2025-04-26
Jones V Waycott1006Argentina2025-05-10
Clifford O Gillian1007Australia2025-05-10
Mujtaba F Maclead1008Australia2025-04-30
Misaki C Royster1009Australia2025-05-02
Jennifer K Kolmetz1010India2025-04-19
Tony F Garufi1011Canada2025-05-01
Murillo H Maclead1012Italy2025-05-04
James V Sergi1013Germany2025-04-12
Ivar H Whobrey1014Spain2025-05-10
Mujtaba E Marrier1015United Kingdom2025-05-03
Leja S Glick1016France2025-04-26
Aruna B Kusko1017Australia2025-04-18
Misaki P Gaucho1018Canada2025-04-17
Jennifer U Venere1019Italy2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I OstroskyIndiaAsiya Javayant RENEWAL
Stacey E StensethBrazilAsiya Javayant PROPOSAL
Jefferson I VenereIndiaAsiya Javayant PROPOSAL
Aika G WaycottBrazilIoni Bowcher NEGOTIATION
Adams X BologniaGermanyIoni Bowcher QUALIFIED
Morrow B BriddickArgentinaElwin Sharvill NEGOTIATION
Aditya A AlbaresItalyOnyama Limba RENEWAL
David S SaylorsArgentinaXuxue Feng QUALIFIED
Arvin L StockhamSpainXuxue Feng UNQUALIFIED
Juan I WhobreyIndiaElwin Sharvill UNQUALIFIED
Mujtaba L DoeAustraliaIoni Bowcher NEW
Deepesh I ShinkoJapanIoni Bowcher QUALIFIED
Leon J ChuiGermanyBernardo Dominic UNQUALIFIED
Faith U GauchoFranceElwin Sharvill NEW
Mujtaba M DilliardCanadaIoni Bowcher PROPOSAL
Wickens E ButtJapanAsiya Javayant QUALIFIED
Aruna W CaldareraUnited KingdomXuxue Feng NEW
Aruna O SaylorsBrazilBernardo Dominic QUALIFIED
Munro F StensethBrazilOnyama Limba UNQUALIFIED
Leja G SchemmerIndiaBernardo Dominic QUALIFIED
Misaki O KuskoBrazilAnna Fali UNQUALIFIED
Leon P InouyeRussiaXuxue Feng QUALIFIED
Greenwood E DarakjyItalyStephen Shaw UNQUALIFIED
Claire B MorascaIndiaOnyama Limba PROPOSAL
Murillo A VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Maria G VocelkaRussiaOnyama Limba NEW
Izzy W OstroskyUnited KingdomElwin Sharvill QUALIFIED
Maria H RoysterRussiaAmy Elsner QUALIFIED
Rodrigues Y InouyeArgentinaAmy Elsner UNQUALIFIED
Aruna I FerenczRussiaBernardo Dominic NEW
Silvio T CaldareraItalyAnna Fali PROPOSAL
Jefferson V AlbaresCanadaXuxue Feng RENEWAL
Misaki I ShinkoAustraliaStephen Shaw RENEWAL
Murillo C TollnerSpainStephen Shaw NEGOTIATION
Jones P SaylorsAustraliaAsiya Javayant NEGOTIATION
Smith M SaylorsBrazilIoni Bowcher QUALIFIED
David M SlusarskiGermanyBernardo Dominic RENEWAL
Mujtaba L InouyeRussiaOnyama Limba UNQUALIFIED
Chavez O NestleUnited KingdomXuxue Feng PROPOSAL
Jennifer K MacleadSpainIvan Magalhaes 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>