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
Leja Y KuskoFranceBernardo Dominic PROPOSAL
Mayumi R FigeroaItalyAnna Fali QUALIFIED
Ivar X CaldareraIndiaXuxue Feng NEW
Maria Z FollerJapanIoni Bowcher NEW
Ashley J GauchoJapanOnyama Limba NEW
Salvatore N FollerIndiaIoni Bowcher NEGOTIATION
Antonio J CampainJapanAnna Fali RENEWAL
Smith R GlickArgentinaAsiya Javayant NEGOTIATION
Munro J KuskoUnited KingdomAnna Fali UNQUALIFIED
Emily H MacleadGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois M AlbaresItalyBernardo Dominic UNQUALIFIED
Mujtaba X GlickUnited KingdomAnna Fali PROPOSAL
Jones I MacleadGermanyAmy Elsner RENEWAL
Deepesh D DilliardArgentinaBernardo Dominic PROPOSAL
Cody C ShinkoGermanyAnna Fali NEGOTIATION
Jefferson X GarufiAustraliaXuxue Feng UNQUALIFIED
Morrow W NestleJapanAnna Fali PROPOSAL
Misaki Q DoeBrazilStephen Shaw RENEWAL
Alejandro O MaletBrazilElwin Sharvill RENEWAL
Leja W PaprockiIndiaElwin Sharvill PROPOSAL
Francesco G InouyeSpainAsiya Javayant UNQUALIFIED
Costa N CaldareraFranceIvan Magalhaes NEGOTIATION
Ricardo N KuskoIndiaAnna Fali QUALIFIED
James A CaldareraArgentinaAsiya Javayant QUALIFIED
Tony R BowleyRussiaIvan Magalhaes RENEWAL
Costa Y TollnerAustraliaIvan Magalhaes QUALIFIED
Stacey C PoquetteFranceAsiya Javayant NEW
James V ShinkoBrazilElwin Sharvill NEGOTIATION
Costa X FlosiCanadaIoni Bowcher QUALIFIED
Aika J CampainArgentinaIoni Bowcher QUALIFIED
Julie A RulapaughAustraliaAmy Elsner NEGOTIATION
Deepesh X RulapaughGermanyIoni Bowcher UNQUALIFIED
Leon V MaletGermanyStephen Shaw RENEWAL
Salvatore E MaletJapanAmy Elsner NEGOTIATION
Ivar M MaletSpainIvan Magalhaes PROPOSAL
Cody U BowleyRussiaAsiya Javayant NEW
Ricardo G AmigonAustraliaIoni Bowcher RENEWAL
David Z KolmetzItalyOnyama Limba UNQUALIFIED
Kaitlin E FollerGermanyOnyama Limba QUALIFIED
Leja J PaprockiFranceAnna Fali QUALIFIED
James J GarufiSpainElwin Sharvill RENEWAL
Mayumi Z VenereRussiaStephen Shaw NEW
Alejandro N CaudyCanadaBernardo Dominic RENEWAL
Ivar D DarakjyGermanyIvan Magalhaes NEW
James U GlickGermanyOnyama Limba NEW
Leja X OldroydAustraliaOnyama Limba PROPOSAL
Smith A FollerItalyAmy Elsner NEGOTIATION
Cody C KuskoCanadaStephen Shaw RENEWAL
Smith R WhobreyCanadaElwin Sharvill QUALIFIED
Julie H MorascaJapanStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba V PaprockiRussiaXuxue Feng PROPOSAL
Johnson B MorascaArgentinaElwin Sharvill NEGOTIATION
Clifford O NestleBrazilElwin Sharvill QUALIFIED
Antonio B DoeCanadaElwin Sharvill NEGOTIATION
Kadeem E SlusarskiGermanyBernardo Dominic NEGOTIATION
Mayumi W RulapaughJapanIoni Bowcher NEW
Francesco X MaletIndiaElwin Sharvill QUALIFIED
Clifford Y FigeroaItalyAsiya Javayant PROPOSAL
Clifford T MaletFranceStephen Shaw UNQUALIFIED
Emily F DoeIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair V MacleadGermany2024-06-13Buckley Miller Wright QUALIFIED72Elwin Sharvill
1001Ricardo X AlbaresSpain2024-06-15Rangoni Of Florence RENEWAL27Onyama Limba
1002Ashley M KuskoRussia2024-06-18Feiner Bros QUALIFIED63Elwin Sharvill
1003Jennifer F NestleJapan2024-06-15Benton, John B Jr NEGOTIATION47Bernardo Dominic
1004Costa F NestleRussia2024-06-18Buckley Miller Wright NEGOTIATION84Elwin Sharvill
1005Kadeem V MorascaSpain2024-06-07Printing Dimensions UNQUALIFIED50Bernardo Dominic
1006Costa M WieserAustralia2024-05-26Commercial Press NEW2Asiya Javayant
1007Darci X AlbaresGermany2024-06-18Rousseaux, Michael Esq QUALIFIED9Amy Elsner
1008Faith B FollerArgentina2024-05-26Truhlar And Truhlar Attys NEGOTIATION68Asiya Javayant
1009Silvio E AlbaresIndia2024-06-17Rousseaux, Michael Esq RENEWAL41Onyama Limba
1010Ashley M MorascaIndia2024-06-07Commercial Press UNQUALIFIED10Asiya Javayant
1011Costa S FigeroaGermany2024-06-17Rousseaux, Michael Esq UNQUALIFIED46Ioni Bowcher
1012Greenwood K MorascaBrazil2024-06-12Commercial Press RENEWAL4Xuxue Feng
1013David J SlusarskiCanada2024-06-09Morlong Associates PROPOSAL27Xuxue Feng
1014Sinclair X NickaArgentina2024-06-19Chemel, James L Cpa NEW66Elwin Sharvill
1015Aditya B KuskoItaly2024-05-30Commercial Press NEW29Elwin Sharvill
1016Leon B OldroydIndia2024-06-17Dorl, James J Esq NEGOTIATION6Asiya Javayant
1017Nicolas O DilliardSpain2024-06-12Dorl, James J Esq PROPOSAL46Ioni Bowcher
1018Adams D StensethUnited Kingdom2024-05-29Morlong Associates RENEWAL95Anna Fali
1019Morrow K DoeUnited Kingdom2024-06-23Feltz Printing Service UNQUALIFIED89Onyama Limba
1020Jefferson C WhobreyGermany2024-06-06Rangoni Of Florence NEW5Onyama Limba
1021Silvio T DarakjyIndia2024-06-06Printing Dimensions QUALIFIED16Amy Elsner
1022Cody D SaylorsJapan2024-06-05Chanay, Jeffrey A Esq RENEWAL27Ivan Magalhaes
1023Smith H AmigonJapan2024-06-01Commercial Press UNQUALIFIED23Amy Elsner
1024Ricardo R KuskoArgentina2024-06-23Morlong Associates UNQUALIFIED52Stephen Shaw
1025Salvatore Y FerenczJapan2024-06-02Commercial Press UNQUALIFIED9Elwin Sharvill
1026Julie P ChuiAustralia2024-06-21Rousseaux, Michael Esq NEGOTIATION87Bernardo Dominic
1027Sinclair Q ButtFrance2024-05-26King, Christopher A Esq NEGOTIATION99Stephen Shaw
1028Aruna B WieserItaly2024-06-11Printing Dimensions QUALIFIED46Anna Fali
1029Sinclair L ShinkoBrazil2024-05-31King, Christopher A Esq PROPOSAL77Elwin Sharvill
1030Octavia Z GlickUnited Kingdom2024-05-30Morlong Associates PROPOSAL94Stephen Shaw
1031Munro T StensethItaly2024-06-07Printing Dimensions UNQUALIFIED96Xuxue Feng
1032Izzy X DarakjyJapan2024-06-13Chemel, James L Cpa NEW68Stephen Shaw
1033Adams P WhobreyCanada2024-05-31Chapman, Ross E Esq NEW35Stephen Shaw
1034Adams D DarakjyJapan2024-06-09Printing Dimensions NEW38Amy Elsner
1035Antonio V MaletAustralia2024-06-04Dorl, James J Esq NEW96Onyama Limba
1036Ashley N BriddickGermany2024-06-15Feiner Bros PROPOSAL8Bernardo Dominic
1037Ricardo K IturbideItaly2024-06-23Benton, John B Jr RENEWAL74Ivan Magalhaes
1038Leon U InouyeGermany2024-06-23Chapman, Ross E Esq PROPOSAL3Ivan Magalhaes
1039Julie U BowleyFrance2024-06-07Benton, John B Jr QUALIFIED13Asiya Javayant
1040Munro R PaprockiIndia2024-06-16Truhlar And Truhlar Attys QUALIFIED58Anna Fali
1041Mayumi I DarakjyGermany2024-06-18Commercial Press PROPOSAL96Ivan Magalhaes
1042Claire V DilliardAustralia2024-06-14Benton, John B Jr PROPOSAL13Bernardo Dominic
1043Arvin O VocelkaIndia2024-06-02Truhlar And Truhlar Attys RENEWAL54Ioni Bowcher
1044Aruna W SlusarskiRussia2024-06-18Rousseaux, Michael Esq RENEWAL89Stephen Shaw
1045Johnson P MorascaJapan2024-06-18Chapman, Ross E Esq UNQUALIFIED63Xuxue Feng
1046Morrow U VocelkaRussia2024-06-24Dorl, James J Esq NEW30Amy Elsner
1047Chavez D CaldareraItaly2024-06-19Chemel, James L Cpa QUALIFIED8Ivan Magalhaes
1048Claire V NestleSpain2024-06-16Feiner Bros PROPOSAL38Ioni Bowcher
1049Kaitlin I VocelkaGermany2024-06-22Commercial Press NEW62Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James X MarrierGermanyStephen Shaw NEGOTIATION
Kadeem K PoquetteAustraliaAsiya Javayant NEW
Adams N PaprockiIndiaIoni Bowcher QUALIFIED
Claire Z PerinUnited KingdomAnna Fali PROPOSAL
Nicolas M StensethRussiaIvan Magalhaes NEGOTIATION
Maisha V AmigonCanadaOnyama Limba UNQUALIFIED
Stacey B NickaBrazilAsiya Javayant NEW
Julie E IturbideCanadaStephen Shaw NEGOTIATION
Maria I DoeRussiaAnna Fali NEGOTIATION
Jeanfrancois O FlosiArgentinaBernardo Dominic RENEWAL
Rodrigues Q VocelkaGermanyIoni Bowcher UNQUALIFIED
Aditya M MacleadJapanXuxue Feng NEW
Kadeem N ButtSpainAsiya Javayant PROPOSAL
Stacey N AmigonGermanyIoni Bowcher NEW
Leon B VocelkaBrazilAnna Fali PROPOSAL
Rodrigues F NestleSpainStephen Shaw NEGOTIATION
Mujtaba I GauchoUnited KingdomOnyama Limba PROPOSAL
Mujtaba M NestleCanadaAsiya Javayant PROPOSAL
Deepesh E MarrierArgentinaElwin Sharvill QUALIFIED
Kadeem E RimJapanIvan Magalhaes RENEWAL
Jennifer D AmigonSpainAmy Elsner NEW
Aika U CaudyAustraliaBernardo Dominic NEGOTIATION
David M StensethJapanAnna Fali RENEWAL
Leon J PaprockiFranceAmy Elsner PROPOSAL
Stacey I FigeroaArgentinaOnyama Limba NEGOTIATION
Ashley R IturbideGermanyAmy Elsner NEGOTIATION
Julie S WhobreyIndiaAnna Fali PROPOSAL
Juan O DoeGermanyXuxue Feng NEGOTIATION
Clifford R NestleCanadaIvan Magalhaes PROPOSAL
Adams Y TollnerJapanOnyama Limba QUALIFIED
Silvio O WieserGermanyIvan Magalhaes NEGOTIATION
Kaitlin L KuskoBrazilAnna Fali PROPOSAL
Chavez Z WaycottFranceElwin Sharvill NEW
Sinclair G SaylorsFranceStephen Shaw PROPOSAL
Leon E KuskoBrazilXuxue Feng PROPOSAL
Misaki D RoysterCanadaAmy Elsner RENEWAL
Ashley F CaldareraIndiaAmy Elsner UNQUALIFIED
Stacey M WaycottCanadaAmy Elsner NEGOTIATION
Deepesh R GarufiAustraliaIvan Magalhaes NEW
Leja E FerenczBrazilOnyama Limba PROPOSAL
Mayumi B WieserGermanyOnyama Limba PROPOSAL
James T GlickIndiaAmy Elsner RENEWAL
Jennifer W RimUnited KingdomElwin Sharvill PROPOSAL
Greenwood F TollnerBrazilIoni Bowcher RENEWAL
Francesco V VenereBrazilIvan Magalhaes PROPOSAL
Darci N StockhamIndiaIvan Magalhaes PROPOSAL
Sinclair L StensethAustraliaIoni Bowcher UNQUALIFIED
Misaki P SergiBrazilIvan Magalhaes UNQUALIFIED
Mayumi R OstroskyArgentinaElwin Sharvill UNQUALIFIED
Mayumi R BowleyCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Sinclair T Glick
Faith N Albares
Costa S Ferencz
Munro C Schemmer
Adams W Oldroyd
Costa S Ferencz
Aika Y Caudy
David R Maclead
Adams N Royster
Nicolas V Dilliard
Francesco Q Stenseth
Adams J Albares
Leja K Poquette
Jefferson V Malet
Juan L Rulapaugh
Alejandro D Morasca
Aruna A Oldroyd
Chavez Z Stenseth
Salvatore H Caudy
Octavia F Saylors
Faith W Caldarera
Rodrigues A Venere
Alejandro B Caldarera
Maria S Iturbide
Leja R Garufi
Nicolas J Ruta
Ricardo I Ostrosky
Adams L Kolmetz
Wickens Q Bowley
Chavez Z Royster
Emily J Ostrosky
Leja J Sergi
Antonio X Iturbide
Jones N Vocelka
Kadeem R Foller
Deepesh B Kolmetz
Claire S Glick
Adams B Wieser
Silvio R Shinko
Kaitlin P Ruta
Octavia K Chui
Aika M Darakjy
Emily G Perin
Ricardo T Sergi
Jeanfrancois Z Stenseth
Smith Z Wieser
Faith V Amigon
Maisha C Butt
Leja S Stenseth
Chavez O Gillian
IdCountryDate
1000Russia2024-06-24
1001Germany2024-05-29
1002Argentina2024-06-12
1003Italy2024-05-28
1004United Kingdom2024-06-08
1005Russia2024-06-04
1006Russia2024-06-02
1007Italy2024-05-29
1008India2024-06-12
1009Italy2024-06-05
1010Italy2024-06-10
1011Italy2024-06-18
1012Russia2024-06-01
1013Canada2024-06-12
1014Germany2024-06-21
1015Japan2024-06-17
1016India2024-06-13
1017India2024-06-18
1018Argentina2024-06-01
1019Russia2024-06-04
1020Argentina2024-06-23
1021Australia2024-05-28
1022Canada2024-06-08
1023Australia2024-06-14
1024United Kingdom2024-05-30
1025Germany2024-06-09
1026Argentina2024-06-16
1027United Kingdom2024-06-08
1028Spain2024-06-01
1029Brazil2024-05-26
1030Canada2024-06-17
1031Canada2024-06-14
1032France2024-06-21
1033India2024-06-13
1034Australia2024-06-01
1035Brazil2024-06-19
1036Russia2024-06-22
1037India2024-06-09
1038Japan2024-06-07
1039United Kingdom2024-05-26
1040Russia2024-06-08
1041Japan2024-06-13
1042Italy2024-06-02
1043Italy2024-06-24
1044Italy2024-06-16
1045Russia2024-06-09
1046Russia2024-06-17
1047Japan2024-06-01
1048Brazil2024-06-16
1049France2024-06-04

On-Demand Data

NameIdCountryDate
Alejandro D Campain1000Japan2024-06-18
Francesco M Rulapaugh1001Australia2024-05-27
Faith I Shinko1002Russia2024-06-17
Chavez V Nestle1003United Kingdom2024-06-22
Mujtaba L Venere1004Italy2024-06-08
Adams W Flosi1005Canada2024-06-09
Salvatore U Inouye1006Italy2024-06-04
Cody K Shinko1007Brazil2024-06-07
Stacey O Caldarera1008Spain2024-05-27
Silvio O Butt1009Brazil2024-06-08
Ashley P Darakjy1010Germany2024-06-06
Clifford F Figeroa1011Italy2024-06-16
Francesco W Malet1012Germany2024-06-22
Emily N Wieser1013Argentina2024-06-06
Misaki E Stenseth1014Russia2024-06-17
Sinclair C Tollner1015Japan2024-06-11
Claire W Flosi1016Japan2024-06-09
Stacey I Oldroyd1017Canada2024-06-02
James I Rulapaugh1018Australia2024-05-29
Wickens L Poquette1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G OstroskyArgentinaStephen Shaw NEW
Mujtaba W GarufiRussiaXuxue Feng RENEWAL
Julie E WaycottSpainOnyama Limba PROPOSAL
Antonio B KolmetzSpainElwin Sharvill PROPOSAL
Stacey W OldroydItalyBernardo Dominic QUALIFIED
Clifford O DilliardSpainElwin Sharvill PROPOSAL
Leon X StensethIndiaStephen Shaw UNQUALIFIED
Clifford W MaletGermanyBernardo Dominic NEW
Maria M CaudyBrazilIvan Magalhaes UNQUALIFIED
Morrow D MaletFranceAmy Elsner NEGOTIATION
Salvatore A StensethUnited KingdomXuxue Feng NEGOTIATION
Leon T NickaFranceBernardo Dominic UNQUALIFIED
Munro Y GlickGermanyAnna Fali RENEWAL
Silvio N ShinkoIndiaElwin Sharvill NEW
Costa Y WaycottItalyElwin Sharvill QUALIFIED
Deepesh A BriddickFranceIoni Bowcher NEGOTIATION
Deepesh X GauchoItalyAnna Fali NEW
Morrow S TollnerGermanyIoni Bowcher NEGOTIATION
Leja Z DarakjyRussiaAsiya Javayant NEGOTIATION
Smith U RutaItalyXuxue Feng QUALIFIED
Ivar Q ButtSpainIvan Magalhaes NEW
Francesco I OstroskyJapanIoni Bowcher NEW
Clifford F MarrierCanadaAnna Fali UNQUALIFIED
Claire E RulapaughUnited KingdomXuxue Feng RENEWAL
David S FollerJapanOnyama Limba RENEWAL
Faith B MaletBrazilElwin Sharvill NEW
Kaitlin G SlusarskiIndiaXuxue Feng PROPOSAL
Alejandro E StensethAustraliaIoni Bowcher QUALIFIED
Jones V GarufiAustraliaBernardo Dominic QUALIFIED
Ricardo N RutaFranceIoni Bowcher NEGOTIATION
David E GillianBrazilAsiya Javayant NEW
Maria Q SchemmerCanadaAsiya Javayant UNQUALIFIED
Jennifer U OldroydBrazilIoni Bowcher PROPOSAL
Nicolas D MorascaCanadaAsiya Javayant RENEWAL
Arvin G FerenczIndiaIvan Magalhaes QUALIFIED
Costa W PerinBrazilAnna Fali PROPOSAL
Faith S StockhamUnited KingdomAmy Elsner NEGOTIATION
Greenwood M DilliardCanadaStephen Shaw UNQUALIFIED
Arvin V CaldareraUnited KingdomOnyama Limba RENEWAL
Jefferson B VenereAustraliaXuxue 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>