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
Clifford B OstroskyJapanIvan Magalhaes UNQUALIFIED
Leon C FerenczGermanyAsiya Javayant PROPOSAL
James E WaycottItalyBernardo Dominic UNQUALIFIED
Ivar X ShinkoFranceIoni Bowcher RENEWAL
Misaki G WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia O WaycottJapanIoni Bowcher NEGOTIATION
Aditya J AmigonSpainIvan Magalhaes NEW
Maria Q CaudyUnited KingdomAnna Fali QUALIFIED
Jefferson L IturbideAustraliaAnna Fali PROPOSAL
Deepesh G NestleJapanAmy Elsner PROPOSAL
Deepesh F IturbideJapanIoni Bowcher NEW
Aruna G WieserGermanyAsiya Javayant NEW
Leja J SlusarskiArgentinaIoni Bowcher PROPOSAL
Francesco V SergiAustraliaAnna Fali UNQUALIFIED
Francesco Q PerinUnited KingdomStephen Shaw UNQUALIFIED
Stacey E ChuiArgentinaStephen Shaw NEGOTIATION
Sinclair T FollerIndiaAnna Fali QUALIFIED
Costa P FigeroaBrazilIoni Bowcher PROPOSAL
Johnson G MorascaAustraliaAmy Elsner UNQUALIFIED
Silvio W OldroydSpainOnyama Limba NEGOTIATION
Julie X ShinkoRussiaIvan Magalhaes PROPOSAL
Johnson R OstroskyRussiaStephen Shaw NEW
Maisha E AmigonIndiaAnna Fali QUALIFIED
Aruna H BriddickGermanyXuxue Feng NEGOTIATION
Darci L DilliardIndiaAmy Elsner UNQUALIFIED
Leon L PerinJapanBernardo Dominic QUALIFIED
Jennifer H BologniaArgentinaAmy Elsner UNQUALIFIED
Claire H MaletJapanXuxue Feng NEW
Juan B GlickArgentinaElwin Sharvill NEW
Leon L ButtGermanyAnna Fali UNQUALIFIED
Faith K WieserGermanyAnna Fali PROPOSAL
Greenwood Q MarrierArgentinaBernardo Dominic NEGOTIATION
Alejandro N RulapaughItalyAnna Fali RENEWAL
Cody M ShinkoCanadaStephen Shaw PROPOSAL
Faith E GillianItalyXuxue Feng UNQUALIFIED
Morrow V OldroydArgentinaStephen Shaw RENEWAL
Tony T PaprockiUnited KingdomAnna Fali RENEWAL
Costa C GlickUnited KingdomIoni Bowcher RENEWAL
Salvatore C InouyeAustraliaAsiya Javayant NEW
Kaitlin I ChuiItalyBernardo Dominic NEGOTIATION
Antonio B CampainJapanAnna Fali UNQUALIFIED
Rodrigues R MarrierJapanAmy Elsner RENEWAL
Aditya A GillianSpainOnyama Limba PROPOSAL
Julie S BriddickFranceIoni Bowcher UNQUALIFIED
Jennifer H MarrierBrazilXuxue Feng NEW
Sinclair K GillianBrazilIoni Bowcher UNQUALIFIED
Murillo C OldroydUnited KingdomBernardo Dominic NEW
Clifford H ButtIndiaElwin Sharvill UNQUALIFIED
Faith Z NickaArgentinaOnyama Limba UNQUALIFIED
David P BriddickRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi K DarakjyArgentinaStephen Shaw NEW
Greenwood U FlosiCanadaBernardo Dominic NEW
Aruna P FigeroaCanadaIvan Magalhaes PROPOSAL
Chavez L MaletSpainIvan Magalhaes NEW
Sinclair P NestleAustraliaAnna Fali PROPOSAL
Greenwood K AlbaresIndiaAnna Fali QUALIFIED
Antonio K PaprockiIndiaStephen Shaw NEGOTIATION
Sinclair V VocelkaAustraliaIvan Magalhaes NEGOTIATION
Nicolas G ShinkoIndiaIoni Bowcher RENEWAL
Leja B MaletBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily T VocelkaArgentina2024-05-29Chemel, James L Cpa QUALIFIED18Onyama Limba
1001Salvatore B MaletRussia2024-06-08Feltz Printing Service PROPOSAL39Stephen Shaw
1002Aditya A NestleSpain2024-05-24Feiner Bros NEGOTIATION16Amy Elsner
1003David K FigeroaItaly2024-05-23Rousseaux, Michael Esq RENEWAL31Ioni Bowcher
1004Chavez E BologniaItaly2024-06-20Chapman, Ross E Esq RENEWAL21Amy Elsner
1005Mujtaba G GarufiSpain2024-05-27Chanay, Jeffrey A Esq RENEWAL85Stephen Shaw
1006Stacey Q InouyeFrance2024-05-28Truhlar And Truhlar Attys UNQUALIFIED88Ioni Bowcher
1007Salvatore Y ShinkoFrance2024-06-09Buckley Miller Wright QUALIFIED75Stephen Shaw
1008Maria S MaletArgentina2024-06-12Chapman, Ross E Esq PROPOSAL8Bernardo Dominic
1009Claire J GlickBrazil2024-05-25Rousseaux, Michael Esq UNQUALIFIED95Ivan Magalhaes
1010Wickens V ChuiItaly2024-06-13Feltz Printing Service UNQUALIFIED56Xuxue Feng
1011Francesco V VenereIndia2024-06-03Feltz Printing Service PROPOSAL72Anna Fali
1012Leja X StockhamAustralia2024-06-20Printing Dimensions QUALIFIED2Amy Elsner
1013Kadeem C ChuiFrance2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED68Ioni Bowcher
1014Costa J CaldareraGermany2024-06-14Benton, John B Jr UNQUALIFIED98Ioni Bowcher
1015Maria X WhobreyIndia2024-06-15Rangoni Of Florence UNQUALIFIED12Anna Fali
1016Costa Y FollerArgentina2024-05-27Feiner Bros PROPOSAL62Stephen Shaw
1017Adams I WaycottFrance2024-06-02Buckley Miller Wright NEGOTIATION29Elwin Sharvill
1018Jennifer B ShinkoAustralia2024-06-17Rangoni Of Florence QUALIFIED63Ioni Bowcher
1019Jones P GarufiJapan2024-06-02Rangoni Of Florence PROPOSAL43Amy Elsner
1020Maisha Y StockhamIndia2024-06-16Dorl, James J Esq NEGOTIATION18Amy Elsner
1021Aruna V OstroskyArgentina2024-05-31Commercial Press RENEWAL30Ioni Bowcher
1022Juan V RimFrance2024-05-30Buckley Miller Wright NEW3Stephen Shaw
1023Darci V KuskoGermany2024-06-11Benton, John B Jr NEW7Bernardo Dominic
1024Clifford G GillianIndia2024-06-08Truhlar And Truhlar Attys RENEWAL29Amy Elsner
1025David J ButtFrance2024-06-20Rousseaux, Michael Esq PROPOSAL85Elwin Sharvill
1026Salvatore Q RutaGermany2024-06-20King, Christopher A Esq NEGOTIATION61Onyama Limba
1027Julie R SlusarskiItaly2024-06-17Truhlar And Truhlar Attys PROPOSAL82Amy Elsner
1028Faith J MarrierArgentina2024-06-17Buckley Miller Wright NEW21Ivan Magalhaes
1029Sinclair I VocelkaAustralia2024-05-31Chemel, James L Cpa QUALIFIED2Stephen Shaw
1030Kadeem X PaprockiJapan2024-06-11Feiner Bros UNQUALIFIED53Stephen Shaw
1031Silvio R StensethBrazil2024-06-12Chemel, James L Cpa UNQUALIFIED36Xuxue Feng
1032Maisha B MacleadItaly2024-05-29Rangoni Of Florence PROPOSAL86Elwin Sharvill
1033Adams L NestleCanada2024-05-31Rousseaux, Michael Esq QUALIFIED98Amy Elsner
1034Rodrigues R DarakjyJapan2024-05-26Chanay, Jeffrey A Esq PROPOSAL57Ioni Bowcher
1035Cody Z VocelkaSpain2024-05-22King, Christopher A Esq RENEWAL43Onyama Limba
1036Isabel H InouyeIndia2024-06-20Chapman, Ross E Esq QUALIFIED1Ioni Bowcher
1037Chavez C BriddickCanada2024-06-17Chemel, James L Cpa NEW96Amy Elsner
1038Jefferson V RoysterCanada2024-06-03Benton, John B Jr NEW72Elwin Sharvill
1039Deepesh Z KolmetzCanada2024-05-27Buckley Miller Wright RENEWAL17Bernardo Dominic
1040Chavez M CampainIndia2024-06-06Feltz Printing Service UNQUALIFIED53Onyama Limba
1041Silvio R PoquetteAustralia2024-06-12Feltz Printing Service NEGOTIATION39Xuxue Feng
1042Isabel D WhobreyAustralia2024-06-16Feltz Printing Service QUALIFIED20Onyama Limba
1043Arvin Z StockhamJapan2024-06-16Rousseaux, Michael Esq QUALIFIED34Anna Fali
1044Nicolas J IturbideIndia2024-05-29Feiner Bros PROPOSAL18Anna Fali
1045Isabel O GlickItaly2024-05-24Rangoni Of Florence UNQUALIFIED12Ioni Bowcher
1046Tony B MaletAustralia2024-06-17Morlong Associates UNQUALIFIED49Ivan Magalhaes
1047Tony C SlusarskiIndia2024-05-29King, Christopher A Esq QUALIFIED50Xuxue Feng
1048Julie B TollnerSpain2024-05-25Printing Dimensions NEW46Stephen Shaw
1049Jones M AlbaresSpain2024-06-11Buckley Miller Wright PROPOSAL8Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon F KuskoSpainAnna Fali NEW
Izzy P CaldareraGermanyAmy Elsner UNQUALIFIED
Clifford R InouyeCanadaBernardo Dominic PROPOSAL
Emily F AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Octavia P GillianGermanyStephen Shaw NEGOTIATION
Antonio Q DoeAustraliaAsiya Javayant UNQUALIFIED
Greenwood S AlbaresCanadaXuxue Feng PROPOSAL
Leja Y ChuiArgentinaXuxue Feng NEW
Misaki L BriddickArgentinaIvan Magalhaes PROPOSAL
Octavia O CaudyAustraliaBernardo Dominic PROPOSAL
Cody M ButtBrazilOnyama Limba PROPOSAL
Silvio V SchemmerArgentinaAmy Elsner UNQUALIFIED
Antonio A AlbaresItalyAmy Elsner PROPOSAL
Silvio O WaycottItalyAmy Elsner NEGOTIATION
Jennifer S DarakjyFranceXuxue Feng NEW
Misaki N ShinkoJapanAnna Fali NEW
Greenwood N RutaItalyAnna Fali NEW
Silvio P OldroydAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois P RimGermanyBernardo Dominic NEW
Salvatore A MaletItalyElwin Sharvill RENEWAL
Munro U StockhamFranceAmy Elsner NEW
Sinclair S FlosiBrazilAsiya Javayant PROPOSAL
Wickens Y WieserArgentinaXuxue Feng QUALIFIED
Morrow A ShinkoSpainStephen Shaw NEW
Isabel J VenereUnited KingdomStephen Shaw NEW
Silvio V FigeroaCanadaIoni Bowcher QUALIFIED
Nicolas E NickaGermanyIvan Magalhaes UNQUALIFIED
Faith O IturbideBrazilStephen Shaw NEGOTIATION
Juan V PaprockiRussiaOnyama Limba NEGOTIATION
Leja N FigeroaArgentinaElwin Sharvill RENEWAL
Octavia N FollerIndiaAnna Fali PROPOSAL
Isabel E CaldareraAustraliaElwin Sharvill QUALIFIED
Aika Z SaylorsBrazilElwin Sharvill NEGOTIATION
Cody J ButtIndiaIvan Magalhaes QUALIFIED
Nicolas H DarakjyUnited KingdomOnyama Limba NEGOTIATION
Morrow O AlbaresFranceAnna Fali NEGOTIATION
Munro H MaletUnited KingdomStephen Shaw RENEWAL
Rodrigues U FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Maisha Z FigeroaAustraliaIoni Bowcher NEW
Alejandro J VocelkaRussiaIvan Magalhaes NEGOTIATION
Jones T FigeroaGermanyAsiya Javayant PROPOSAL
Mayumi L GarufiBrazilAmy Elsner NEGOTIATION
Salvatore J RutaCanadaAmy Elsner QUALIFIED
Sinclair I DilliardFranceElwin Sharvill PROPOSAL
Ashley E RulapaughAustraliaElwin Sharvill NEW
Izzy W CampainIndiaAsiya Javayant NEW
Leon S MaletRussiaOnyama Limba QUALIFIED
Wickens S OldroydSpainOnyama Limba NEW
Ricardo E BowleyUnited KingdomOnyama Limba NEW
Cody Z VenereBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Aditya U Bolognia
Murillo M Caudy
Adams K Caudy
Mujtaba Q Rulapaugh
Faith W Chui
Emily J Campain
Isabel W Stenseth
Octavia R Waycott
Clifford T Ruta
Aditya P Malet
Jefferson E Foller
Alejandro X Poquette
Antonio I Garufi
Misaki H Inouye
Munro Q Perin
Chavez U Schemmer
Deepesh X Amigon
Greenwood A Sergi
Adams Z Iturbide
Clifford I Shinko
David P Briddick
James A Marrier
David H Waycott
Morrow H Briddick
Clifford N Marrier
Jennifer R Marrier
Silvio X Gaucho
Sinclair H Royster
Darci M Foller
Tony S Waycott
Nicolas B Iturbide
Greenwood I Malet
Faith D Inouye
Arvin V Iturbide
Silvio E Iturbide
Ivar A Dilliard
Stacey P Campain
Jones R Nicka
Emily N Morasca
Aika Y Garufi
Julie Z Iturbide
Alejandro O Darakjy
Jennifer P Bowley
Leja Z Garufi
Maria T Foller
Mujtaba W Saylors
Faith T Chui
Clifford O Saylors
Leja D Inouye
Morrow L Morasca
IdCountryDate
1000Australia2024-06-20
1001Russia2024-06-08
1002Russia2024-06-03
1003Canada2024-06-05
1004India2024-05-26
1005Russia2024-06-03
1006United Kingdom2024-05-24
1007Germany2024-05-22
1008Italy2024-06-14
1009Spain2024-06-05
1010Russia2024-05-29
1011Italy2024-06-02
1012Germany2024-05-25
1013Argentina2024-06-12
1014United Kingdom2024-06-13
1015Argentina2024-06-17
1016Canada2024-05-30
1017Brazil2024-05-24
1018India2024-06-10
1019Italy2024-05-29
1020Canada2024-05-24
1021United Kingdom2024-06-03
1022Russia2024-06-18
1023Brazil2024-06-03
1024Brazil2024-06-09
1025United Kingdom2024-06-14
1026Japan2024-06-11
1027Brazil2024-06-15
1028United Kingdom2024-06-14
1029France2024-06-05
1030India2024-05-30
1031Brazil2024-06-16
1032Argentina2024-05-31
1033Argentina2024-06-18
1034Brazil2024-06-14
1035Brazil2024-05-22
1036Italy2024-06-09
1037Canada2024-06-02
1038United Kingdom2024-06-13
1039Germany2024-05-23
1040India2024-05-26
1041Spain2024-05-27
1042Canada2024-06-17
1043Russia2024-06-04
1044Brazil2024-06-02
1045Germany2024-06-05
1046Australia2024-05-24
1047Russia2024-05-22
1048Italy2024-06-20
1049France2024-06-10

On-Demand Data

NameIdCountryDate
Chavez Y Perin1000Japan2024-06-06
Costa U Schemmer1001India2024-06-20
Jeanfrancois Q Vocelka1002India2024-06-09
Kaitlin J Whobrey1003France2024-06-03
Cody A Albares1004Spain2024-06-16
Arvin M Caudy1005Canada2024-06-16
Leon T Saylors1006Italy2024-06-06
Clifford J Bolognia1007Canada2024-06-05
Jeanfrancois X Marrier1008United Kingdom2024-05-31
Izzy F Oldroyd1009Brazil2024-06-17
David O Sergi1010Russia2024-05-26
Francesco D Flosi1011France2024-06-17
Kaitlin E Kusko1012Spain2024-06-14
Izzy X Vocelka1013Spain2024-06-04
Leon A Tollner1014Brazil2024-05-24
Cody Q Rulapaugh1015Spain2024-06-18
Stacey G Schemmer1016Germany2024-06-07
Kaitlin P Bowley1017Germany2024-05-27
Francesco A Gillian1018United Kingdom2024-06-18
Maisha R Gillian1019Brazil2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh K SergiUnited KingdomBernardo Dominic QUALIFIED
Mujtaba P MacleadUnited KingdomAsiya Javayant NEW
Aditya Z RoysterBrazilIvan Magalhaes QUALIFIED
Aditya X DilliardFranceIoni Bowcher QUALIFIED
Leja H GauchoJapanAsiya Javayant UNQUALIFIED
Julie E WieserArgentinaIoni Bowcher NEW
Maria B CampainSpainIvan Magalhaes PROPOSAL
Mayumi L KuskoArgentinaXuxue Feng NEW
Juan J PaprockiGermanyAnna Fali RENEWAL
Jeanfrancois C WaycottFranceElwin Sharvill UNQUALIFIED
Julie F RimIndiaBernardo Dominic NEGOTIATION
Aika U WaycottIndiaIoni Bowcher PROPOSAL
Greenwood Q AlbaresCanadaXuxue Feng NEW
Smith R BriddickAustraliaElwin Sharvill NEW
Kaitlin G MaletSpainOnyama Limba QUALIFIED
Isabel F RimCanadaElwin Sharvill PROPOSAL
Darci R WaycottIndiaStephen Shaw PROPOSAL
Kadeem P KuskoUnited KingdomAsiya Javayant NEGOTIATION
Kadeem T IturbideAustraliaIoni Bowcher NEW
Juan A GauchoIndiaIvan Magalhaes NEW
Kadeem S FigeroaCanadaOnyama Limba NEW
Jones W ChuiBrazilBernardo Dominic QUALIFIED
Stacey S NestleItalyElwin Sharvill NEGOTIATION
Greenwood I FigeroaRussiaIvan Magalhaes RENEWAL
Munro A BowleyItalyIoni Bowcher PROPOSAL
Jeanfrancois C KuskoCanadaStephen Shaw PROPOSAL
Silvio B DarakjyJapanStephen Shaw PROPOSAL
Nicolas M SaylorsArgentinaBernardo Dominic NEW
Arvin L OstroskyJapanAmy Elsner NEW
Ricardo L GlickJapanAsiya Javayant NEGOTIATION
Kaitlin Z MaletCanadaAsiya Javayant NEGOTIATION
Rodrigues I PaprockiBrazilAmy Elsner PROPOSAL
Salvatore F RulapaughGermanyIvan Magalhaes UNQUALIFIED
Juan C GlickArgentinaOnyama Limba QUALIFIED
Kaitlin C MaletGermanyXuxue Feng QUALIFIED
Clifford Y FerenczCanadaOnyama Limba UNQUALIFIED
Emily R VocelkaSpainAnna Fali PROPOSAL
Isabel D FigeroaSpainBernardo Dominic UNQUALIFIED
Chavez Y NestleGermanyIoni Bowcher UNQUALIFIED
Jones F FlosiSpainAsiya Javayant NEGOTIATION

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