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
Maria F KolmetzItalyAsiya Javayant UNQUALIFIED
Ivar R VenereRussiaAnna Fali UNQUALIFIED
Ricardo L StensethCanadaIvan Magalhaes RENEWAL
Sinclair F VocelkaArgentinaIoni Bowcher NEW
Adams V OstroskyArgentinaAnna Fali RENEWAL
Octavia U MacleadFranceAnna Fali UNQUALIFIED
Silvio Y NickaRussiaAmy Elsner UNQUALIFIED
Isabel I ChuiCanadaIoni Bowcher UNQUALIFIED
Aditya L NestleAustraliaElwin Sharvill QUALIFIED
Isabel O FerenczBrazilAsiya Javayant NEW
Mujtaba V AmigonItalyIvan Magalhaes RENEWAL
Salvatore Z SlusarskiBrazilAnna Fali NEW
Emily X InouyeGermanyIoni Bowcher NEW
Munro T GauchoBrazilIvan Magalhaes NEGOTIATION
David W FerenczIndiaElwin Sharvill UNQUALIFIED
Ricardo K FerenczFranceIvan Magalhaes NEGOTIATION
Jones C AmigonRussiaAmy Elsner UNQUALIFIED
Munro A ButtAustraliaAnna Fali NEGOTIATION
Morrow Y BowleySpainStephen Shaw PROPOSAL
Jennifer D DoeCanadaBernardo Dominic RENEWAL
Morrow L NickaBrazilElwin Sharvill QUALIFIED
Sinclair Y NestleCanadaIoni Bowcher NEGOTIATION
Juan X DilliardCanadaOnyama Limba UNQUALIFIED
Darci I NickaBrazilOnyama Limba RENEWAL
Clifford G FollerArgentinaIvan Magalhaes PROPOSAL
Maria G FigeroaCanadaAnna Fali QUALIFIED
Morrow D IturbideGermanyAnna Fali QUALIFIED
Aditya C CaldareraIndiaIoni Bowcher UNQUALIFIED
Nicolas L TollnerBrazilXuxue Feng UNQUALIFIED
Arvin P OstroskyItalyStephen Shaw NEW
Aruna B NestleGermanyElwin Sharvill UNQUALIFIED
Faith U AlbaresJapanAsiya Javayant UNQUALIFIED
Alejandro J GlickAustraliaElwin Sharvill RENEWAL
David N DarakjyRussiaXuxue Feng UNQUALIFIED
Jefferson N WieserIndiaAnna Fali UNQUALIFIED
James T RutaGermanyIvan Magalhaes NEW
Isabel I MorascaSpainStephen Shaw QUALIFIED
Greenwood G RutaIndiaBernardo Dominic UNQUALIFIED
Ricardo X InouyeFranceAnna Fali QUALIFIED
Ivar F SaylorsUnited KingdomOnyama Limba QUALIFIED
Ricardo K DilliardAustraliaStephen Shaw NEW
Ricardo B StockhamItalyIvan Magalhaes UNQUALIFIED
Misaki A FerenczUnited KingdomIvan Magalhaes QUALIFIED
Octavia N MorascaAustraliaAsiya Javayant QUALIFIED
Isabel V DoeSpainAnna Fali NEW
Kadeem Y GillianAustraliaElwin Sharvill QUALIFIED
Chavez F DilliardJapanAnna Fali NEW
Juan J RulapaughAustraliaElwin Sharvill RENEWAL
Izzy D NickaArgentinaAnna Fali NEGOTIATION
Costa E AlbaresBrazilAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody X IturbideIndiaIvan Magalhaes NEW
Greenwood L RutaFranceStephen Shaw RENEWAL
Faith N GarufiRussiaOnyama Limba PROPOSAL
Ashley W GauchoArgentinaBernardo Dominic UNQUALIFIED
Nicolas X RutaBrazilIvan Magalhaes UNQUALIFIED
Antonio Z GillianAustraliaIoni Bowcher RENEWAL
Deepesh C CaldareraAustraliaXuxue Feng NEW
James I TollnerGermanyIvan Magalhaes QUALIFIED
Munro C InouyeIndiaIvan Magalhaes UNQUALIFIED
Izzy T OstroskySpainElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna R GarufiBrazil2024-06-20Benton, John B Jr QUALIFIED70Anna Fali
1001Rodrigues E GlickAustralia2024-06-02Printing Dimensions QUALIFIED3Amy Elsner
1002Deepesh F IturbideIndia2024-05-25King, Christopher A Esq RENEWAL27Bernardo Dominic
1003Antonio M MaletArgentina2024-06-22King, Christopher A Esq PROPOSAL6Ivan Magalhaes
1004Alejandro Q SlusarskiFrance2024-06-20Rousseaux, Michael Esq NEGOTIATION70Amy Elsner
1005Aika I DarakjyGermany2024-06-04Buckley Miller Wright NEW56Stephen Shaw
1006Aditya Q TollnerArgentina2024-06-20Feltz Printing Service NEGOTIATION22Ivan Magalhaes
1007Emily G FlosiJapan2024-06-07Commercial Press NEW67Ioni Bowcher
1008Jones R ButtGermany2024-06-09Truhlar And Truhlar Attys NEW36Onyama Limba
1009Alejandro V VocelkaItaly2024-06-12Chapman, Ross E Esq NEGOTIATION96Elwin Sharvill
1010Munro W VocelkaArgentina2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED50Bernardo Dominic
1011Munro B DarakjyAustralia2024-06-08Rangoni Of Florence QUALIFIED79Amy Elsner
1012Emily K BriddickRussia2024-06-02Chemel, James L Cpa QUALIFIED63Bernardo Dominic
1013Smith U SergiSpain2024-06-06Chemel, James L Cpa UNQUALIFIED2Elwin Sharvill
1014Johnson Y FollerGermany2024-06-21Chapman, Ross E Esq RENEWAL27Amy Elsner
1015Leja U TollnerAustralia2024-06-18Chemel, James L Cpa PROPOSAL80Asiya Javayant
1016Leon Z OldroydSpain2024-06-09Chemel, James L Cpa PROPOSAL97Ivan Magalhaes
1017Octavia I ChuiUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW50Bernardo Dominic
1018Johnson E SergiIndia2024-06-10Rousseaux, Michael Esq QUALIFIED33Ioni Bowcher
1019Murillo Q TollnerAustralia2024-06-16Truhlar And Truhlar Attys UNQUALIFIED19Elwin Sharvill
1020Emily U MorascaGermany2024-06-17Buckley Miller Wright QUALIFIED88Anna Fali
1021Wickens G SlusarskiItaly2024-05-24Commercial Press RENEWAL65Asiya Javayant
1022Silvio N BriddickBrazil2024-05-25Printing Dimensions PROPOSAL20Anna Fali
1023Silvio O NestleJapan2024-06-18Commercial Press NEGOTIATION30Amy Elsner
1024Maria L OstroskyJapan2024-06-14Truhlar And Truhlar Attys NEW26Bernardo Dominic
1025Isabel N NestleArgentina2024-06-08Chapman, Ross E Esq NEGOTIATION85Xuxue Feng
1026Jones S RoysterUnited Kingdom2024-05-30Truhlar And Truhlar Attys RENEWAL36Anna Fali
1027Rodrigues G AlbaresIndia2024-06-04Chapman, Ross E Esq NEW46Stephen Shaw
1028Emily M NestleFrance2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED29Anna Fali
1029Clifford K PaprockiCanada2024-05-24Feltz Printing Service NEGOTIATION78Elwin Sharvill
1030Munro I MaletSpain2024-06-20Benton, John B Jr QUALIFIED61Stephen Shaw
1031Nicolas Y RutaJapan2024-06-15Rousseaux, Michael Esq NEGOTIATION79Onyama Limba
1032Rodrigues L NickaItaly2024-06-16Truhlar And Truhlar Attys PROPOSAL67Anna Fali
1033Jones K InouyeCanada2024-05-30Feltz Printing Service NEW24Onyama Limba
1034Kadeem B RimRussia2024-06-01King, Christopher A Esq RENEWAL5Bernardo Dominic
1035Emily O GlickAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL86Amy Elsner
1036Deepesh E OstroskySpain2024-06-09Morlong Associates RENEWAL93Bernardo Dominic
1037Jones K PoquetteBrazil2024-05-31Morlong Associates UNQUALIFIED85Elwin Sharvill
1038Cody D AlbaresRussia2024-06-17Feltz Printing Service QUALIFIED76Ioni Bowcher
1039Leon K WhobreyGermany2024-06-12Chapman, Ross E Esq QUALIFIED88Onyama Limba
1040Jeanfrancois T AmigonSpain2024-06-07Dorl, James J Esq QUALIFIED56Asiya Javayant
1041Leon W TollnerIndia2024-06-17Rousseaux, Michael Esq NEW18Elwin Sharvill
1042Octavia D SchemmerJapan2024-06-10Printing Dimensions NEGOTIATION91Ioni Bowcher
1043Leja B DarakjyAustralia2024-06-18Feltz Printing Service QUALIFIED77Onyama Limba
1044Jones W GarufiAustralia2024-06-10Morlong Associates RENEWAL86Bernardo Dominic
1045Ivar Q RulapaughBrazil2024-06-15Chemel, James L Cpa UNQUALIFIED6Stephen Shaw
1046Octavia Q ButtCanada2024-06-08Feltz Printing Service PROPOSAL46Amy Elsner
1047Emily T VocelkaSpain2024-06-04King, Christopher A Esq RENEWAL27Asiya Javayant
1048Chavez I DoeItaly2024-06-05Buckley Miller Wright PROPOSAL92Amy Elsner
1049Alejandro Q SaylorsAustralia2024-05-27Buckley Miller Wright PROPOSAL55Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha M KolmetzSpainStephen Shaw UNQUALIFIED
Deepesh I AlbaresRussiaOnyama Limba NEW
Silvio R SlusarskiAustraliaAsiya Javayant PROPOSAL
Sinclair K GarufiItalyIvan Magalhaes NEGOTIATION
Aika P DilliardSpainElwin Sharvill UNQUALIFIED
Stacey Y GarufiGermanyBernardo Dominic UNQUALIFIED
Maria Y InouyeJapanIvan Magalhaes NEW
Julie P DarakjyCanadaOnyama Limba NEGOTIATION
Emily P CampainGermanyAmy Elsner NEGOTIATION
Leon Z MorascaItalyStephen Shaw UNQUALIFIED
Aditya N PaprockiFranceOnyama Limba NEGOTIATION
Stacey I RutaGermanyIoni Bowcher RENEWAL
Emily U GlickRussiaStephen Shaw RENEWAL
Jennifer T ButtCanadaAmy Elsner PROPOSAL
Maisha Z MarrierItalyOnyama Limba RENEWAL
Tony C OldroydAustraliaBernardo Dominic RENEWAL
Deepesh Z NickaSpainElwin Sharvill NEW
Mujtaba V OstroskyCanadaIvan Magalhaes NEW
Aditya A TollnerAustraliaAsiya Javayant NEW
Murillo V FigeroaRussiaIvan Magalhaes QUALIFIED
Jones G SaylorsFranceIoni Bowcher QUALIFIED
Misaki S NestleSpainAsiya Javayant RENEWAL
Nicolas K StockhamSpainXuxue Feng RENEWAL
Kadeem B MacleadItalyStephen Shaw NEGOTIATION
Isabel G CampainGermanyElwin Sharvill NEGOTIATION
Arvin Y RoysterBrazilAsiya Javayant RENEWAL
James B GillianSpainBernardo Dominic PROPOSAL
Ivar A TollnerItalyBernardo Dominic NEGOTIATION
Kadeem P ChuiFranceXuxue Feng PROPOSAL
Sinclair Q FollerSpainStephen Shaw QUALIFIED
Munro O MaletJapanOnyama Limba UNQUALIFIED
Ivar W SergiCanadaAnna Fali NEGOTIATION
Alejandro P BowleyFranceStephen Shaw NEW
Kadeem N ButtAustraliaIvan Magalhaes NEGOTIATION
Darci E ButtUnited KingdomXuxue Feng QUALIFIED
Mujtaba S InouyeRussiaIoni Bowcher QUALIFIED
Maisha F MaletJapanOnyama Limba NEGOTIATION
Clifford C SergiJapanIoni Bowcher QUALIFIED
Silvio B OstroskyJapanIoni Bowcher PROPOSAL
Johnson O OstroskyJapanStephen Shaw QUALIFIED
Morrow E DarakjyJapanIoni Bowcher RENEWAL
Chavez E CampainUnited KingdomOnyama Limba QUALIFIED
Aruna I FerenczRussiaAnna Fali NEGOTIATION
Aditya P BologniaIndiaXuxue Feng NEW
Adams E NickaJapanOnyama Limba NEW
Mujtaba L WieserBrazilElwin Sharvill QUALIFIED
Misaki M TollnerAustraliaOnyama Limba PROPOSAL
Tony R RoysterBrazilIoni Bowcher NEW
Jones E DarakjyGermanyBernardo Dominic PROPOSAL
Murillo G FigeroaJapanStephen Shaw UNQUALIFIED
Frozen Columns
Name
James G Gillian
Aika P Slusarski
Munro L Dilliard
Deepesh U Kusko
Wickens Y Marrier
James S Venere
Mayumi A Sergi
Aditya L Inouye
Mujtaba Y Whobrey
Izzy X Nestle
Stacey B Nicka
Cody Q Flosi
Kaitlin T Rim
Kaitlin E Stockham
Alejandro I Malet
Wickens V Ostrosky
Deepesh O Iturbide
Ivar I Poquette
Maisha I Albares
Morrow Q Saylors
Claire D Darakjy
Claire C Caudy
Aditya H Rim
Munro V Saylors
Maria Z Schemmer
Aruna T Bolognia
Claire U Inouye
Nicolas S Nestle
Arvin Q Bowley
Jennifer I Ruta
David K Darakjy
Leja I Maclead
Wickens E Darakjy
Claire W Caudy
Juan U Paprocki
Smith T Ruta
Silvio Q Ferencz
Faith V Morasca
Jones U Stockham
Tony V Royster
Jennifer Q Glick
Stacey K Ferencz
Chavez C Gillian
Aruna E Garufi
Deepesh W Morasca
Darci K Morasca
Octavia O Morasca
Jennifer Y Amigon
Mayumi C Figeroa
Chavez Q Iturbide
IdCountryDate
1000Spain2024-06-18
1001France2024-05-31
1002Italy2024-05-28
1003Canada2024-06-03
1004Australia2024-06-22
1005Italy2024-06-21
1006France2024-06-01
1007Argentina2024-05-28
1008Russia2024-06-13
1009Spain2024-06-17
1010France2024-06-02
1011United Kingdom2024-06-02
1012United Kingdom2024-06-04
1013Australia2024-06-11
1014Russia2024-06-17
1015Canada2024-06-22
1016France2024-06-11
1017Brazil2024-06-19
1018Australia2024-06-02
1019France2024-06-20
1020Brazil2024-06-04
1021United Kingdom2024-06-13
1022Canada2024-05-29
1023France2024-06-21
1024Argentina2024-06-15
1025Italy2024-06-15
1026Brazil2024-05-28
1027United Kingdom2024-06-22
1028Brazil2024-05-30
1029United Kingdom2024-06-20
1030Brazil2024-06-20
1031Argentina2024-06-12
1032Italy2024-06-22
1033Italy2024-05-29
1034France2024-06-09
1035United Kingdom2024-06-15
1036Italy2024-06-03
1037Italy2024-05-30
1038France2024-06-14
1039Brazil2024-05-29
1040United Kingdom2024-06-03
1041Brazil2024-05-28
1042Germany2024-06-02
1043Russia2024-05-27
1044Russia2024-06-02
1045Argentina2024-05-31
1046Australia2024-05-30
1047France2024-06-20
1048India2024-06-01
1049India2024-05-29

On-Demand Data

NameIdCountryDate
Juan Y Malet1000Argentina2024-06-01
Kaitlin X Malet1001United Kingdom2024-05-24
Claire G Darakjy1002United Kingdom2024-05-27
Claire H Glick1003Brazil2024-06-10
Mayumi W Tollner1004Russia2024-06-06
Greenwood G Glick1005Brazil2024-06-09
Silvio K Schemmer1006Brazil2024-05-30
Francesco C Schemmer1007Japan2024-05-25
Kaitlin T Venere1008Italy2024-06-20
Aruna Q Chui1009Russia2024-06-12
Wickens L Caldarera1010India2024-05-28
Johnson M Iturbide1011Canada2024-05-27
Morrow Z Garufi1012Italy2024-06-18
Isabel Y Ruta1013Japan2024-05-31
Juan S Gaucho1014Russia2024-05-25
Julie A Glick1015Germany2024-06-14
Arvin D Perin1016France2024-06-13
Julie P Slusarski1017Brazil2024-06-04
Deepesh R Malet1018Argentina2024-06-14
Chavez G Paprocki1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams S InouyeFranceAmy Elsner PROPOSAL
Adams X RimBrazilStephen Shaw UNQUALIFIED
Johnson O StensethCanadaAmy Elsner QUALIFIED
Murillo S OldroydJapanStephen Shaw NEW
Ashley C GillianRussiaXuxue Feng UNQUALIFIED
Smith L BriddickSpainXuxue Feng NEW
Mujtaba K FerenczItalyOnyama Limba NEW
Rodrigues M BriddickFranceIvan Magalhaes NEW
Leja H PoquetteBrazilElwin Sharvill NEW
Misaki P RoysterGermanyStephen Shaw QUALIFIED
Octavia C SlusarskiFranceBernardo Dominic QUALIFIED
Aika R GarufiArgentinaOnyama Limba UNQUALIFIED
Arvin J NickaGermanyAsiya Javayant NEGOTIATION
Julie H FollerAustraliaAmy Elsner UNQUALIFIED
Isabel H TollnerSpainAmy Elsner QUALIFIED
Tony V MarrierRussiaBernardo Dominic UNQUALIFIED
Ivar S VocelkaSpainOnyama Limba PROPOSAL
Munro O ChuiUnited KingdomXuxue Feng NEGOTIATION
Greenwood B DilliardBrazilBernardo Dominic NEW
Misaki O FlosiArgentinaOnyama Limba QUALIFIED
Ricardo I SaylorsSpainAmy Elsner QUALIFIED
Darci F CaudyBrazilBernardo Dominic PROPOSAL
Salvatore I ShinkoCanadaIvan Magalhaes PROPOSAL
Mayumi D ChuiJapanAmy Elsner PROPOSAL
Wickens E DarakjyIndiaXuxue Feng UNQUALIFIED
Emily E KolmetzCanadaXuxue Feng NEW
Jefferson I RutaSpainStephen Shaw NEGOTIATION
Jennifer X SlusarskiArgentinaAsiya Javayant NEGOTIATION
Leon U FollerRussiaAnna Fali PROPOSAL
Emily I SchemmerUnited KingdomXuxue Feng NEW
Greenwood A BriddickBrazilOnyama Limba NEW
Ricardo D FlosiBrazilOnyama Limba PROPOSAL
Costa Y OstroskyFranceAmy Elsner NEW
Clifford Y MaletJapanIvan Magalhaes NEW
Stacey D SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Isabel B WaycottArgentinaElwin Sharvill RENEWAL
Ricardo M RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Arvin W FollerAustraliaAnna Fali QUALIFIED
Darci S GarufiCanadaBernardo Dominic NEW
Johnson F DarakjyBrazilAnna Fali 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>