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
Adams O PaprockiAustraliaAsiya Javayant PROPOSAL
Chavez F BologniaBrazilAmy Elsner RENEWAL
Faith A SchemmerSpainElwin Sharvill RENEWAL
Mujtaba I PaprockiFranceIvan Magalhaes NEW
Jefferson F AlbaresUnited KingdomAsiya Javayant RENEWAL
David R OstroskyJapanStephen Shaw NEGOTIATION
Misaki T NickaItalyElwin Sharvill PROPOSAL
Aika Z SaylorsAustraliaBernardo Dominic NEGOTIATION
Faith W GillianFranceOnyama Limba UNQUALIFIED
Clifford Y CaldareraJapanBernardo Dominic NEW
Faith F MarrierArgentinaStephen Shaw PROPOSAL
Emily J ShinkoFranceXuxue Feng QUALIFIED
Tony C AlbaresItalyAsiya Javayant QUALIFIED
Faith O StensethIndiaBernardo Dominic PROPOSAL
Izzy G PaprockiArgentinaElwin Sharvill QUALIFIED
Isabel N DoeItalyBernardo Dominic PROPOSAL
Salvatore D WhobreyArgentinaStephen Shaw NEW
Ashley B RoysterSpainOnyama Limba NEW
Mayumi P CaudyCanadaStephen Shaw NEGOTIATION
Leja G RulapaughAustraliaIvan Magalhaes QUALIFIED
Nicolas C FlosiGermanyXuxue Feng PROPOSAL
Rodrigues Z RoysterJapanXuxue Feng QUALIFIED
Emily S ButtFranceStephen Shaw UNQUALIFIED
Kaitlin Z SlusarskiJapanIvan Magalhaes RENEWAL
Silvio H FigeroaIndiaBernardo Dominic RENEWAL
Murillo H VocelkaRussiaIvan Magalhaes RENEWAL
Ivar O PoquetteArgentinaStephen Shaw PROPOSAL
Silvio H DilliardGermanyElwin Sharvill NEW
Wickens E SlusarskiItalyIvan Magalhaes NEW
Antonio J RoysterArgentinaAmy Elsner PROPOSAL
Stacey K DoeSpainIoni Bowcher QUALIFIED
Rodrigues R GillianAustraliaStephen Shaw RENEWAL
Murillo U VocelkaCanadaBernardo Dominic PROPOSAL
Aika Y MarrierAustraliaBernardo Dominic NEW
Octavia Z DarakjyFranceOnyama Limba RENEWAL
Juan T DoeFranceElwin Sharvill UNQUALIFIED
Francesco G PoquetteIndiaAnna Fali RENEWAL
Francesco X FlosiJapanXuxue Feng NEGOTIATION
Jefferson D MorascaItalyIvan Magalhaes PROPOSAL
David P CampainAustraliaBernardo Dominic UNQUALIFIED
Salvatore G OstroskyAustraliaAsiya Javayant RENEWAL
Jeanfrancois S MarrierItalyOnyama Limba QUALIFIED
Misaki X AlbaresRussiaXuxue Feng RENEWAL
Darci B ChuiArgentinaElwin Sharvill UNQUALIFIED
Smith L StensethUnited KingdomBernardo Dominic NEGOTIATION
Izzy C SaylorsCanadaStephen Shaw UNQUALIFIED
Mujtaba L OstroskyCanadaIvan Magalhaes QUALIFIED
Chavez C InouyeBrazilBernardo Dominic QUALIFIED
Leja E BowleyFranceAsiya Javayant PROPOSAL
Mujtaba Q FollerArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Costa U SergiFranceAsiya Javayant UNQUALIFIED
Leon T WaycottCanadaAmy Elsner NEW
Rodrigues T ShinkoSpainElwin Sharvill UNQUALIFIED
Juan H InouyeGermanyOnyama Limba QUALIFIED
Izzy M CaudyAustraliaOnyama Limba NEW
Julie U WieserCanadaAmy Elsner RENEWAL
Antonio H FollerBrazilAsiya Javayant NEGOTIATION
Kadeem Z BowleyAustraliaIoni Bowcher PROPOSAL
Clifford G MarrierGermanyAnna Fali NEW
Faith Q OstroskySpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro M DarakjyRussia2024-06-22Feiner Bros NEGOTIATION97Ioni Bowcher
1001Tony P DoeSpain2024-06-23Benton, John B Jr NEGOTIATION66Asiya Javayant
1002Munro K DilliardRussia2024-05-28Morlong Associates NEW84Anna Fali
1003Aruna W GillianFrance2024-06-03Truhlar And Truhlar Attys QUALIFIED88Anna Fali
1004Morrow E NickaIndia2024-06-06Printing Dimensions RENEWAL59Elwin Sharvill
1005Ivar J OstroskyItaly2024-06-16Benton, John B Jr NEGOTIATION93Onyama Limba
1006Salvatore J RulapaughBrazil2024-06-19Chapman, Ross E Esq NEGOTIATION53Ivan Magalhaes
1007Leja J WieserSpain2024-06-10Rangoni Of Florence PROPOSAL37Ivan Magalhaes
1008Ivar J PerinGermany2024-06-13Feiner Bros NEGOTIATION77Amy Elsner
1009Wickens P GauchoBrazil2024-05-29Chemel, James L Cpa RENEWAL96Onyama Limba
1010Salvatore K DilliardJapan2024-06-15Commercial Press PROPOSAL52Elwin Sharvill
1011David B SaylorsIndia2024-06-09Chapman, Ross E Esq PROPOSAL51Stephen Shaw
1012Salvatore U BologniaBrazil2024-06-11Rangoni Of Florence RENEWAL38Stephen Shaw
1013Greenwood U RimAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL17Onyama Limba
1014Izzy M SchemmerRussia2024-06-12Benton, John B Jr QUALIFIED74Anna Fali
1015Cody O ButtFrance2024-06-12Feltz Printing Service NEW12Ioni Bowcher
1016Arvin R BriddickFrance2024-06-12Morlong Associates UNQUALIFIED77Xuxue Feng
1017Leja X WhobreyBrazil2024-05-27Printing Dimensions PROPOSAL59Stephen Shaw
1018Rodrigues Y MaletFrance2024-06-23Dorl, James J Esq PROPOSAL66Amy Elsner
1019Costa C MaletCanada2024-05-30Dorl, James J Esq NEW27Anna Fali
1020Francesco E PerinIndia2024-06-23Commercial Press PROPOSAL26Xuxue Feng
1021Jefferson V ChuiJapan2024-06-05Feltz Printing Service NEW7Stephen Shaw
1022Emily F RulapaughSpain2024-06-08Chemel, James L Cpa QUALIFIED42Bernardo Dominic
1023Arvin L RoysterGermany2024-06-02Feiner Bros RENEWAL91Stephen Shaw
1024Johnson G MaletSpain2024-06-19Benton, John B Jr RENEWAL8Anna Fali
1025Octavia S StensethAustralia2024-06-16Rousseaux, Michael Esq NEW70Ioni Bowcher
1026James G FlosiCanada2024-06-16Printing Dimensions NEW37Ioni Bowcher
1027Adams S RulapaughItaly2024-06-04Printing Dimensions QUALIFIED94Ioni Bowcher
1028Aditya Y GillianSpain2024-06-08Truhlar And Truhlar Attys UNQUALIFIED56Amy Elsner
1029Aika W WhobreyAustralia2024-05-26King, Christopher A Esq QUALIFIED95Asiya Javayant
1030Ricardo G PaprockiGermany2024-06-14Chemel, James L Cpa RENEWAL23Asiya Javayant
1031Tony K MarrierArgentina2024-05-28Benton, John B Jr PROPOSAL2Ivan Magalhaes
1032Mayumi X FerenczIndia2024-06-16Feiner Bros RENEWAL95Bernardo Dominic
1033Tony S PoquetteCanada2024-06-11Benton, John B Jr NEGOTIATION27Anna Fali
1034Francesco A MaletBrazil2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED85Asiya Javayant
1035Juan I AlbaresItaly2024-05-27Feltz Printing Service QUALIFIED63Anna Fali
1036Cody D WaycottFrance2024-06-12Printing Dimensions NEW48Amy Elsner
1037Misaki A DoeIndia2024-06-13Commercial Press UNQUALIFIED59Elwin Sharvill
1038Ricardo S IturbideAustralia2024-05-31Benton, John B Jr UNQUALIFIED59Elwin Sharvill
1039Mayumi F GarufiArgentina2024-06-18Rousseaux, Michael Esq RENEWAL37Xuxue Feng
1040Nicolas W CampainAustralia2024-05-27Feiner Bros NEW52Onyama Limba
1041Jeanfrancois N RoysterIndia2024-05-28Morlong Associates PROPOSAL59Amy Elsner
1042James U ButtSpain2024-06-01Rangoni Of Florence PROPOSAL24Amy Elsner
1043James I FollerItaly2024-06-16Rangoni Of Florence NEW92Ivan Magalhaes
1044Jefferson N BologniaFrance2024-06-01Truhlar And Truhlar Attys NEGOTIATION77Asiya Javayant
1045Costa A BowleyFrance2024-05-28Chanay, Jeffrey A Esq NEGOTIATION10Ivan Magalhaes
1046Mayumi Y RutaItaly2024-06-03Commercial Press QUALIFIED84Ivan Magalhaes
1047Isabel M FollerSpain2024-06-13Feiner Bros NEGOTIATION86Bernardo Dominic
1048Adams M MaletGermany2024-06-06Truhlar And Truhlar Attys RENEWAL25Asiya Javayant
1049Aditya J RoysterAustralia2024-06-24King, Christopher A Esq QUALIFIED6Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Julie N StensethFranceIvan Magalhaes NEW
Arvin Z MarrierIndiaXuxue Feng NEGOTIATION
Emily C DoeCanadaElwin Sharvill UNQUALIFIED
Ricardo R DarakjyBrazilOnyama Limba RENEWAL
Jones K VocelkaFranceElwin Sharvill NEW
Octavia I GlickJapanOnyama Limba RENEWAL
Izzy R NestleGermanyAnna Fali RENEWAL
Johnson M MaletCanadaIoni Bowcher RENEWAL
Isabel F InouyeArgentinaAsiya Javayant UNQUALIFIED
Wickens L ShinkoFranceAmy Elsner UNQUALIFIED
Ricardo E FerenczFranceIoni Bowcher PROPOSAL
Tony B BriddickCanadaOnyama Limba RENEWAL
Emily V StockhamSpainBernardo Dominic NEGOTIATION
Isabel N GarufiAustraliaIoni Bowcher QUALIFIED
Stacey Y GlickJapanIoni Bowcher UNQUALIFIED
Morrow N GarufiArgentinaIvan Magalhaes NEW
Nicolas S StensethItalyAsiya Javayant QUALIFIED
Ashley P SchemmerRussiaIvan Magalhaes PROPOSAL
Deepesh E SchemmerAustraliaElwin Sharvill RENEWAL
Tony E IturbideUnited KingdomIoni Bowcher NEW
Mayumi N DilliardGermanyAmy Elsner NEGOTIATION
Jones T SergiIndiaAsiya Javayant RENEWAL
Francesco C MaletJapanAmy Elsner NEW
Wickens O ShinkoItalyAnna Fali NEGOTIATION
Leja F RutaFranceAnna Fali UNQUALIFIED
Morrow B FollerItalyAnna Fali QUALIFIED
Maria E MarrierCanadaAsiya Javayant UNQUALIFIED
Smith E PaprockiJapanIoni Bowcher QUALIFIED
Jeanfrancois H AmigonArgentinaStephen Shaw QUALIFIED
Morrow E MacleadItalyAmy Elsner PROPOSAL
David J BriddickIndiaXuxue Feng QUALIFIED
Isabel B FigeroaBrazilXuxue Feng QUALIFIED
Salvatore M MarrierAustraliaXuxue Feng NEW
Silvio I FollerUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba N VenereArgentinaBernardo Dominic QUALIFIED
Kaitlin Q CaldareraJapanElwin Sharvill RENEWAL
Ricardo J GillianGermanyAnna Fali NEGOTIATION
Claire W RoysterRussiaBernardo Dominic RENEWAL
Rodrigues G VocelkaArgentinaElwin Sharvill UNQUALIFIED
Chavez J NickaAustraliaElwin Sharvill RENEWAL
Maria B PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Wickens C OstroskyUnited KingdomXuxue Feng QUALIFIED
Emily Y WaycottSpainAnna Fali NEW
Munro T MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin V PoquetteGermanyAsiya Javayant RENEWAL
Adams B SlusarskiIndiaStephen Shaw QUALIFIED
Isabel M KuskoJapanXuxue Feng UNQUALIFIED
James Q GarufiIndiaStephen Shaw NEGOTIATION
Leon U GarufiIndiaIvan Magalhaes NEW
Isabel I VenereArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Adams F Morasca
Greenwood J Slusarski
Munro B Glick
Jeanfrancois W Maclead
Maisha D Glick
Nicolas K Amigon
Francesco Y Perin
Cody Y Malet
Ashley K Saylors
Aditya R Rim
Morrow P Venere
Aditya D Rulapaugh
Salvatore U Caldarera
Misaki D Royster
Tony E Doe
Mujtaba I Vocelka
Francesco U Amigon
Juan X Sergi
Chavez E Briddick
Salvatore X Albares
David T Malet
Stacey K Saylors
Juan O Royster
Octavia C Malet
Octavia G Amigon
Isabel B Albares
James J Saylors
Aditya U Shinko
Smith P Kusko
Leon Y Briddick
Sinclair A Paprocki
Smith N Stenseth
Isabel T Whobrey
Costa S Whobrey
Cody N Schemmer
Kaitlin K Nicka
Morrow V Darakjy
Sinclair L Malet
Chavez M Tollner
Mujtaba B Vocelka
Francesco S Saylors
Maisha I Stenseth
Rodrigues E Darakjy
Tony X Iturbide
Arvin N Tollner
Izzy W Foller
Ivar Y Butt
Ashley O Malet
Sinclair U Ruta
Chavez C Vocelka
IdCountryDate
1000Canada2024-06-11
1001France2024-06-13
1002India2024-06-15
1003Italy2024-05-29
1004Brazil2024-06-21
1005Japan2024-06-03
1006Argentina2024-05-30
1007Italy2024-06-14
1008Canada2024-06-22
1009France2024-05-26
1010India2024-06-21
1011Brazil2024-06-05
1012Japan2024-06-01
1013Spain2024-06-06
1014Argentina2024-05-30
1015Italy2024-06-03
1016Russia2024-06-24
1017Brazil2024-06-04
1018Brazil2024-06-19
1019Australia2024-05-30
1020Argentina2024-06-04
1021Brazil2024-06-10
1022Italy2024-05-31
1023Australia2024-06-18
1024Russia2024-06-17
1025Italy2024-05-30
1026France2024-06-05
1027Argentina2024-06-21
1028France2024-05-27
1029India2024-06-11
1030France2024-06-07
1031United Kingdom2024-06-01
1032Canada2024-06-11
1033Italy2024-06-01
1034Germany2024-06-18
1035France2024-06-20
1036Brazil2024-06-16
1037Spain2024-06-14
1038Brazil2024-05-26
1039Australia2024-06-06
1040Australia2024-06-06
1041Canada2024-05-27
1042United Kingdom2024-06-12
1043Australia2024-06-03
1044Germany2024-06-11
1045France2024-05-29
1046Spain2024-05-26
1047Italy2024-05-31
1048Spain2024-06-13
1049Spain2024-06-16

On-Demand Data

NameIdCountryDate
Tony D Rim1000Spain2024-05-26
Antonio L Dilliard1001Australia2024-06-12
Jones B Figeroa1002Russia2024-06-05
Aruna B Saylors1003United Kingdom2024-06-13
Nicolas M Saylors1004Spain2024-06-16
Deepesh F Gillian1005Argentina2024-06-07
Julie U Poquette1006United Kingdom2024-06-07
Costa V Maclead1007Russia2024-06-12
Francesco H Slusarski1008Japan2024-06-02
Costa X Rim1009Australia2024-06-11
Deepesh Z Caldarera1010Brazil2024-06-08
Deepesh S Glick1011Italy2024-06-22
Mujtaba L Whobrey1012Australia2024-06-21
Clifford O Malet1013Japan2024-06-03
Octavia Q Kusko1014Canada2024-06-22
Ricardo S Maclead1015France2024-06-22
Isabel G Vocelka1016Germany2024-06-07
Rodrigues D Marrier1017Argentina2024-06-14
Jones Y Venere1018Germany2024-06-01
Silvio C Poquette1019Japan2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey I RoysterGermanyStephen Shaw NEW
Jennifer V RimIndiaXuxue Feng QUALIFIED
Antonio J MorascaBrazilStephen Shaw RENEWAL
Jeanfrancois T MarrierCanadaStephen Shaw UNQUALIFIED
Antonio T RulapaughRussiaElwin Sharvill RENEWAL
Cody J NickaFranceAnna Fali NEGOTIATION
Morrow W RoysterSpainStephen Shaw QUALIFIED
Aditya W CaudyArgentinaAmy Elsner QUALIFIED
Aika J TollnerFranceAsiya Javayant NEGOTIATION
Chavez Z IturbideIndiaAnna Fali NEGOTIATION
Arvin J TollnerGermanyIvan Magalhaes PROPOSAL
Leon X SergiRussiaElwin Sharvill NEGOTIATION
Leon B BriddickCanadaStephen Shaw QUALIFIED
Ivar Y RulapaughCanadaIvan Magalhaes QUALIFIED
Salvatore T KuskoGermanyXuxue Feng QUALIFIED
Izzy S FerenczItalyOnyama Limba UNQUALIFIED
Silvio T AmigonGermanyAmy Elsner QUALIFIED
Claire Z CaudyGermanyAnna Fali QUALIFIED
Smith Y StockhamJapanIvan Magalhaes UNQUALIFIED
Ivar A SergiSpainIvan Magalhaes QUALIFIED
James R GauchoIndiaBernardo Dominic NEW
Munro K NickaUnited KingdomBernardo Dominic PROPOSAL
Morrow B BowleyIndiaIvan Magalhaes NEGOTIATION
Rodrigues M NickaFranceElwin Sharvill QUALIFIED
Francesco V TollnerUnited KingdomOnyama Limba UNQUALIFIED
Arvin E RimSpainElwin Sharvill QUALIFIED
Alejandro Q BowleyAustraliaXuxue Feng NEW
Rodrigues U SaylorsFranceAnna Fali PROPOSAL
Costa F FollerItalyAmy Elsner QUALIFIED
Murillo H MaletUnited KingdomAmy Elsner QUALIFIED
Kadeem Z VocelkaItalyIvan Magalhaes QUALIFIED
Misaki E StockhamGermanyBernardo Dominic NEGOTIATION
Greenwood L GlickItalyIoni Bowcher UNQUALIFIED
Cody C RoysterBrazilAsiya Javayant RENEWAL
Clifford X MarrierBrazilOnyama Limba NEGOTIATION
Munro G OldroydGermanyIoni Bowcher NEGOTIATION
Clifford C AmigonRussiaStephen Shaw RENEWAL
Jennifer D OldroydGermanyAnna Fali QUALIFIED
Juan R PerinUnited KingdomStephen Shaw RENEWAL
Faith C DoeArgentinaXuxue Feng 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>