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
Tony U GlickGermanyBernardo Dominic UNQUALIFIED
Isabel X FerenczRussiaOnyama Limba PROPOSAL
Aika C SlusarskiJapanAnna Fali PROPOSAL
Greenwood V RutaArgentinaAmy Elsner NEW
Munro T MaletCanadaOnyama Limba NEGOTIATION
Mujtaba E MacleadSpainBernardo Dominic UNQUALIFIED
Costa G CaldareraGermanyIoni Bowcher PROPOSAL
Deepesh K KuskoGermanyElwin Sharvill NEGOTIATION
Cody R OstroskyFranceXuxue Feng NEGOTIATION
Juan R MarrierSpainAmy Elsner NEGOTIATION
Alejandro S WaycottAustraliaAmy Elsner QUALIFIED
Aruna R GillianCanadaOnyama Limba QUALIFIED
Isabel I GauchoGermanyStephen Shaw UNQUALIFIED
Johnson R KolmetzBrazilIvan Magalhaes QUALIFIED
Murillo R BriddickItalyOnyama Limba PROPOSAL
Morrow P PoquetteFranceIoni Bowcher UNQUALIFIED
Claire W GarufiIndiaAnna Fali RENEWAL
Greenwood Y CaldareraArgentinaXuxue Feng NEW
Ivar J IturbideItalyAnna Fali PROPOSAL
Salvatore C FigeroaCanadaAnna Fali RENEWAL
Tony R GillianIndiaOnyama Limba QUALIFIED
Claire K TollnerUnited KingdomIoni Bowcher PROPOSAL
Costa A AmigonGermanyStephen Shaw QUALIFIED
Mujtaba I StensethBrazilIoni Bowcher PROPOSAL
Emily F BologniaFranceIoni Bowcher QUALIFIED
Jefferson R ShinkoBrazilXuxue Feng PROPOSAL
Adams X AmigonJapanXuxue Feng NEGOTIATION
Greenwood Y ChuiIndiaAsiya Javayant NEGOTIATION
Sinclair T AmigonRussiaElwin Sharvill UNQUALIFIED
Jennifer X NickaUnited KingdomElwin Sharvill PROPOSAL
Ivar N GillianItalyOnyama Limba PROPOSAL
Salvatore U RutaJapanBernardo Dominic RENEWAL
Isabel H BologniaRussiaBernardo Dominic NEGOTIATION
Maisha W GarufiAustraliaElwin Sharvill PROPOSAL
Jones P WaycottItalyElwin Sharvill PROPOSAL
Morrow L RoysterUnited KingdomXuxue Feng UNQUALIFIED
Smith Y PoquetteItalyIoni Bowcher QUALIFIED
Wickens E ButtSpainElwin Sharvill UNQUALIFIED
Antonio I FollerFranceAnna Fali RENEWAL
Salvatore X MarrierGermanyAmy Elsner QUALIFIED
Leja T WieserCanadaIoni Bowcher UNQUALIFIED
Leja C RulapaughItalyElwin Sharvill PROPOSAL
Misaki R WhobreyIndiaXuxue Feng UNQUALIFIED
Emily V CaldareraIndiaXuxue Feng NEGOTIATION
Kaitlin V SlusarskiUnited KingdomXuxue Feng NEW
Morrow H PerinBrazilOnyama Limba UNQUALIFIED
Darci J WaycottUnited KingdomAmy Elsner NEW
Octavia V SergiItalyElwin Sharvill PROPOSAL
Julie Z FollerBrazilAnna Fali NEW
Juan E NestleSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh V InouyeSpainOnyama Limba NEW
Claire Y GauchoIndiaElwin Sharvill UNQUALIFIED
Emily J SchemmerRussiaElwin Sharvill RENEWAL
Leon F BologniaAustraliaBernardo Dominic NEGOTIATION
Misaki N MaletItalyAmy Elsner UNQUALIFIED
Leja H WaycottJapanOnyama Limba RENEWAL
Greenwood O SlusarskiCanadaStephen Shaw QUALIFIED
Jennifer N SchemmerUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois M StockhamCanadaIvan Magalhaes RENEWAL
Izzy N CaldareraItalyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford F DilliardAustralia2026-07-27Chanay, Jeffrey A Esq NEW38Asiya Javayant
1001Mayumi J GillianRussia2026-08-05Chanay, Jeffrey A Esq NEGOTIATION68Asiya Javayant
1002Johnson A ShinkoArgentina2026-07-27Morlong Associates NEGOTIATION55Xuxue Feng
1003Mujtaba B FerenczRussia2026-07-28King, Christopher A Esq NEW57Ioni Bowcher
1004Chavez P MaletUnited Kingdom2026-07-31Feiner Bros UNQUALIFIED24Onyama Limba
1005Octavia B StockhamFrance2026-07-17Feltz Printing Service RENEWAL35Stephen Shaw
1006Maria X ButtBrazil2026-07-19Commercial Press RENEWAL97Onyama Limba
1007Isabel R DilliardArgentina2026-08-05Printing Dimensions PROPOSAL16Amy Elsner
1008Maisha M WaycottArgentina2026-07-20Feltz Printing Service QUALIFIED83Ioni Bowcher
1009Aika Q GlickAustralia2026-07-21King, Christopher A Esq NEGOTIATION90Asiya Javayant
1010David W GillianRussia2026-07-18Feiner Bros RENEWAL64Ivan Magalhaes
1011Claire E TollnerRussia2026-08-02Feltz Printing Service NEGOTIATION34Ivan Magalhaes
1012David Y SergiCanada2026-07-12Dorl, James J Esq NEGOTIATION55Ivan Magalhaes
1013Claire A RoysterAustralia2026-07-30Rangoni Of Florence RENEWAL26Asiya Javayant
1014Alejandro F CaudyFrance2026-07-30Truhlar And Truhlar Attys UNQUALIFIED12Bernardo Dominic
1015Morrow V InouyeSpain2026-07-31Commercial Press QUALIFIED79Anna Fali
1016Chavez K DoeItaly2026-07-17King, Christopher A Esq RENEWAL72Amy Elsner
1017Nicolas L DilliardRussia2026-08-02Morlong Associates NEGOTIATION18Asiya Javayant
1018James M OstroskyRussia2026-07-21Truhlar And Truhlar Attys NEW41Stephen Shaw
1019Isabel F PoquetteRussia2026-07-17Feltz Printing Service RENEWAL43Amy Elsner
1020Munro Z ButtGermany2026-07-18Rousseaux, Michael Esq UNQUALIFIED92Xuxue Feng
1021Morrow Z NestleSpain2026-07-16Chanay, Jeffrey A Esq PROPOSAL17Elwin Sharvill
1022Wickens L ShinkoRussia2026-08-07Feiner Bros UNQUALIFIED27Stephen Shaw
1023Johnson A MorascaBrazil2026-07-22Buckley Miller Wright RENEWAL41Bernardo Dominic
1024Emily X BologniaAustralia2026-07-10Dorl, James J Esq PROPOSAL72Asiya Javayant
1025Ashley Y RutaSpain2026-07-15Morlong Associates NEGOTIATION30Ioni Bowcher
1026Johnson L OldroydFrance2026-07-23Rangoni Of Florence UNQUALIFIED62Asiya Javayant
1027Munro E AlbaresFrance2026-08-05Morlong Associates PROPOSAL8Elwin Sharvill
1028Francesco F BowleyItaly2026-07-31Feltz Printing Service RENEWAL84Xuxue Feng
1029Alejandro N NickaFrance2026-07-14Feiner Bros NEW29Amy Elsner
1030Murillo K WhobreyRussia2026-08-03Morlong Associates UNQUALIFIED9Anna Fali
1031Claire Y ShinkoSpain2026-07-20King, Christopher A Esq PROPOSAL18Asiya Javayant
1032Maisha W ShinkoIndia2026-07-17Feltz Printing Service QUALIFIED55Elwin Sharvill
1033Sinclair S OldroydBrazil2026-08-01Chemel, James L Cpa NEGOTIATION15Ivan Magalhaes
1034Emily B SergiCanada2026-08-04Rangoni Of Florence PROPOSAL49Onyama Limba
1035Ivar U AlbaresIndia2026-08-01Printing Dimensions NEGOTIATION52Amy Elsner
1036Smith Z GarufiSpain2026-07-23Chemel, James L Cpa PROPOSAL62Xuxue Feng
1037Darci W CampainIndia2026-07-26Printing Dimensions NEW26Xuxue Feng
1038Emily J DoeCanada2026-07-26Benton, John B Jr UNQUALIFIED17Stephen Shaw
1039Darci I IturbideItaly2026-07-31Truhlar And Truhlar Attys NEGOTIATION92Onyama Limba
1040Johnson R MorascaItaly2026-07-09Feltz Printing Service RENEWAL47Elwin Sharvill
1041Ashley K MorascaUnited Kingdom2026-07-25Feltz Printing Service NEW8Ioni Bowcher
1042Ivar V RulapaughUnited Kingdom2026-07-16Commercial Press UNQUALIFIED81Elwin Sharvill
1043Nicolas Z DilliardSpain2026-07-16Buckley Miller Wright RENEWAL18Onyama Limba
1044Maria T NestleIndia2026-07-20Printing Dimensions NEW60Stephen Shaw
1045Silvio N StensethCanada2026-07-25Rangoni Of Florence NEGOTIATION9Xuxue Feng
1046Mujtaba S DoeFrance2026-07-17Morlong Associates NEGOTIATION53Ioni Bowcher
1047Julie U ChuiUnited Kingdom2026-07-17Printing Dimensions NEW64Amy Elsner
1048Alejandro U RimRussia2026-07-18King, Christopher A Esq UNQUALIFIED16Ivan Magalhaes
1049Aika W GillianIndia2026-07-28Buckley Miller Wright NEW74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci M SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Leja U GillianRussiaStephen Shaw NEW
Isabel X StensethJapanIoni Bowcher UNQUALIFIED
James O AmigonJapanBernardo Dominic NEGOTIATION
Smith R RulapaughBrazilAnna Fali QUALIFIED
Faith P AmigonBrazilAsiya Javayant NEGOTIATION
Juan Q SchemmerGermanyXuxue Feng PROPOSAL
Julie V NestleCanadaAmy Elsner NEGOTIATION
Alejandro K TollnerCanadaXuxue Feng QUALIFIED
Faith H CaldareraJapanXuxue Feng UNQUALIFIED
Murillo U IturbideItalyAmy Elsner NEGOTIATION
Nicolas G RutaRussiaAmy Elsner NEW
Faith Z MaletGermanyIvan Magalhaes RENEWAL
Costa X WaycottUnited KingdomAmy Elsner RENEWAL
Jones M SlusarskiCanadaIvan Magalhaes NEW
Octavia K SaylorsJapanIoni Bowcher UNQUALIFIED
Rodrigues T MacleadIndiaElwin Sharvill UNQUALIFIED
Maria G CampainArgentinaStephen Shaw UNQUALIFIED
Leon V DoeSpainIoni Bowcher UNQUALIFIED
Johnson D GlickGermanyBernardo Dominic PROPOSAL
Misaki N WaycottArgentinaStephen Shaw RENEWAL
Adams D MarrierIndiaStephen Shaw NEGOTIATION
Mujtaba T MarrierJapanXuxue Feng QUALIFIED
Adams T FollerAustraliaIoni Bowcher NEGOTIATION
Alejandro L InouyeFranceIvan Magalhaes NEGOTIATION
Leon G KolmetzAustraliaIoni Bowcher NEW
Cody K VocelkaCanadaIoni Bowcher NEW
Claire N ButtCanadaBernardo Dominic NEW
Munro Z PoquetteJapanIoni Bowcher NEW
Claire T PerinUnited KingdomIoni Bowcher NEGOTIATION
Greenwood D SlusarskiRussiaAsiya Javayant QUALIFIED
Francesco Q OstroskyRussiaAnna Fali NEW
Morrow M RimJapanAsiya Javayant QUALIFIED
Jefferson V FigeroaBrazilAnna Fali UNQUALIFIED
Francesco J KolmetzGermanyAsiya Javayant QUALIFIED
Izzy E BriddickUnited KingdomIvan Magalhaes NEW
Leon J StensethIndiaAsiya Javayant NEGOTIATION
Arvin L TollnerJapanIoni Bowcher QUALIFIED
Arvin M FerenczAustraliaIvan Magalhaes NEW
Sinclair V PaprockiAustraliaIoni Bowcher UNQUALIFIED
David B OstroskyFranceIvan Magalhaes RENEWAL
Francesco J RutaRussiaAmy Elsner NEGOTIATION
Ashley M RulapaughCanadaIoni Bowcher PROPOSAL
Cody J KuskoSpainAsiya Javayant NEW
Silvio O DoeCanadaStephen Shaw QUALIFIED
Smith C MorascaUnited KingdomElwin Sharvill NEGOTIATION
Francesco Z PerinRussiaOnyama Limba NEW
Tony I AlbaresRussiaXuxue Feng UNQUALIFIED
Mujtaba N StensethIndiaIvan Magalhaes PROPOSAL
Cody R SergiArgentinaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Clifford E Stockham
Adams L Ruta
Ricardo N Slusarski
Izzy B Caudy
Maria D Shinko
Octavia O Wieser
Clifford G Waycott
Jones W Caldarera
Ivar U Saylors
Costa X Caldarera
Juan F Foller
Ashley S Royster
Tony R Tollner
Claire O Bolognia
Cody W Paprocki
Ivar E Waycott
Chavez B Saylors
Kaitlin X Foller
Darci B Darakjy
Octavia V Malet
David E Butt
Julie S Nicka
Aditya T Stockham
Munro D Maclead
Ashley Y Gillian
Ashley N Gaucho
Mayumi H Gillian
Julie P Nicka
Ricardo Q Marrier
Rodrigues Z Nicka
Kaitlin X Saylors
James G Marrier
Sinclair H Wieser
Ivar J Caudy
Aditya B Bolognia
Jones J Glick
Emily F Stockham
Sinclair X Caudy
Mujtaba N Malet
Ashley O Iturbide
Julie S Wieser
Chavez I Nestle
Adams M Slusarski
Maisha O Saylors
Maisha Y Tollner
Johnson Q Paprocki
Jennifer A Tollner
Izzy S Campain
Francesco I Caudy
Munro N Slusarski
IdCountryDate
1000Australia2026-08-02
1001Australia2026-08-02
1002Brazil2026-07-15
1003Argentina2026-07-14
1004Spain2026-07-29
1005United Kingdom2026-08-04
1006Canada2026-07-28
1007France2026-07-30
1008United Kingdom2026-07-26
1009India2026-07-12
1010Brazil2026-07-11
1011Canada2026-07-23
1012Argentina2026-07-09
1013Japan2026-07-18
1014United Kingdom2026-07-14
1015Australia2026-07-12
1016Italy2026-07-30
1017Japan2026-08-01
1018Brazil2026-07-23
1019India2026-07-13
1020Russia2026-07-11
1021France2026-07-27
1022Germany2026-08-06
1023Russia2026-07-31
1024Italy2026-07-22
1025Canada2026-07-28
1026Brazil2026-08-02
1027Italy2026-07-17
1028Australia2026-07-15
1029Russia2026-07-31
1030Russia2026-08-02
1031Japan2026-07-11
1032Italy2026-07-23
1033India2026-08-02
1034India2026-07-22
1035Italy2026-07-15
1036Brazil2026-07-29
1037France2026-07-29
1038Brazil2026-07-17
1039Argentina2026-08-01
1040Japan2026-08-04
1041Brazil2026-07-27
1042Australia2026-07-15
1043Canada2026-08-01
1044Argentina2026-08-01
1045United Kingdom2026-07-20
1046Australia2026-07-18
1047Brazil2026-07-30
1048India2026-07-17
1049Canada2026-07-13

On-Demand Data

NameIdCountryDate
Leja P Garufi1000Germany2026-08-07
Silvio M Oldroyd1001Australia2026-08-07
Ashley H Chui1002Germany2026-07-14
Ivar Q Briddick1003Japan2026-07-10
James O Bolognia1004Japan2026-07-12
Maria H Darakjy1005France2026-08-03
Morrow O Ruta1006Spain2026-08-07
Costa D Sergi1007Russia2026-07-13
Cody X Oldroyd1008Japan2026-07-22
Nicolas P Oldroyd1009Russia2026-07-17
Aruna F Bolognia1010Australia2026-07-25
David C Kusko1011India2026-07-22
Tony P Butt1012United Kingdom2026-07-10
Misaki D Poquette1013Russia2026-08-01
Murillo J Gillian1014Canada2026-07-28
David R Stockham1015United Kingdom2026-07-19
Ashley P Bolognia1016Russia2026-07-14
James U Rim1017Spain2026-07-30
Silvio G Ruta1018Argentina2026-07-24
Rodrigues T Paprocki1019Spain2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie S FigeroaArgentinaAsiya Javayant RENEWAL
Octavia Z ChuiSpainXuxue Feng RENEWAL
Izzy E ButtAustraliaAmy Elsner UNQUALIFIED
Misaki E RulapaughItalyOnyama Limba NEW
Octavia I SlusarskiGermanyBernardo Dominic PROPOSAL
Julie M GarufiUnited KingdomXuxue Feng QUALIFIED
Maisha J ChuiCanadaStephen Shaw QUALIFIED
Mayumi L VocelkaFranceAnna Fali UNQUALIFIED
Deepesh K MacleadGermanyIoni Bowcher UNQUALIFIED
Smith D KolmetzArgentinaAmy Elsner UNQUALIFIED
Kadeem M MaletFranceOnyama Limba RENEWAL
Mayumi U NestleItalyAsiya Javayant NEGOTIATION
Kadeem A DoeRussiaElwin Sharvill NEGOTIATION
Juan U SaylorsGermanyStephen Shaw RENEWAL
Chavez N MacleadAustraliaStephen Shaw QUALIFIED
Maria V VocelkaSpainAnna Fali QUALIFIED
Nicolas O KuskoBrazilAsiya Javayant NEGOTIATION
Juan M OstroskyArgentinaIvan Magalhaes NEW
Sinclair P WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Claire E StockhamAustraliaOnyama Limba QUALIFIED
Wickens G ShinkoItalyBernardo Dominic RENEWAL
Ashley J GillianUnited KingdomBernardo Dominic RENEWAL
Mujtaba D RoysterBrazilAnna Fali QUALIFIED
Salvatore F TollnerItalyStephen Shaw UNQUALIFIED
Nicolas O FigeroaGermanyElwin Sharvill NEGOTIATION
Ivar R RulapaughAustraliaIoni Bowcher UNQUALIFIED
Morrow E CaudyArgentinaIoni Bowcher QUALIFIED
Tony V DoeJapanAnna Fali NEW
Emily M WaycottRussiaBernardo Dominic QUALIFIED
Salvatore E RimJapanIoni Bowcher PROPOSAL
Mayumi V IturbideJapanAnna Fali UNQUALIFIED
Wickens E VocelkaCanadaXuxue Feng PROPOSAL
Jones G PoquetteFranceBernardo Dominic PROPOSAL
Tony X DilliardAustraliaIoni Bowcher PROPOSAL
Jennifer V CaldareraFranceElwin Sharvill QUALIFIED
Juan M MaletArgentinaStephen Shaw UNQUALIFIED
Maria T PoquetteFranceIoni Bowcher PROPOSAL
Leja L MaletJapanXuxue Feng PROPOSAL
Costa R DilliardItalyOnyama Limba PROPOSAL
Munro C PerinUnited KingdomStephen Shaw QUALIFIED

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