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
Greenwood X FigeroaItalyIoni Bowcher NEGOTIATION
Kaitlin A FerenczUnited KingdomBernardo Dominic QUALIFIED
Leon V AmigonRussiaIoni Bowcher NEGOTIATION
Jennifer W GarufiGermanyIoni Bowcher QUALIFIED
Leon W PaprockiSpainIvan Magalhaes NEW
Juan S BowleyAustraliaIoni Bowcher RENEWAL
Aditya A OstroskyFranceXuxue Feng QUALIFIED
Izzy C StockhamAustraliaOnyama Limba UNQUALIFIED
Faith Q GarufiFranceAsiya Javayant UNQUALIFIED
Leon L ShinkoGermanyStephen Shaw NEW
Mujtaba D RimJapanIvan Magalhaes PROPOSAL
Chavez Q AmigonSpainOnyama Limba UNQUALIFIED
Aditya O WieserJapanAnna Fali NEGOTIATION
Aditya T RimItalyStephen Shaw NEW
Aruna U DilliardArgentinaBernardo Dominic QUALIFIED
Isabel J BowleyJapanIoni Bowcher NEGOTIATION
Emily G StensethCanadaBernardo Dominic QUALIFIED
Wickens A BowleyRussiaBernardo Dominic QUALIFIED
Kaitlin Y RimAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues H MarrierFranceOnyama Limba RENEWAL
Costa L VenereItalyIoni Bowcher NEW
Ivar P FerenczAustraliaAsiya Javayant NEW
Izzy Q GauchoJapanAmy Elsner NEGOTIATION
Izzy N KuskoGermanyAmy Elsner NEW
Clifford K BriddickIndiaAmy Elsner NEGOTIATION
Claire L PoquetteJapanOnyama Limba QUALIFIED
Aruna H RutaSpainAsiya Javayant UNQUALIFIED
Chavez H StockhamAustraliaOnyama Limba NEGOTIATION
Wickens E IturbideItalyIoni Bowcher QUALIFIED
Sinclair D RoysterArgentinaOnyama Limba RENEWAL
Murillo J IturbideIndiaIoni Bowcher NEW
Jennifer B DoeGermanyIoni Bowcher PROPOSAL
Julie S VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh Q StockhamJapanStephen Shaw UNQUALIFIED
Mujtaba N FerenczCanadaAsiya Javayant UNQUALIFIED
Nicolas G MacleadUnited KingdomOnyama Limba RENEWAL
Faith J OstroskyItalyElwin Sharvill NEGOTIATION
Smith C WaycottBrazilAnna Fali NEW
Adams O FollerRussiaAsiya Javayant RENEWAL
Aruna R FerenczGermanyAnna Fali UNQUALIFIED
Maria N BriddickCanadaIvan Magalhaes NEW
Emily Z GillianSpainIvan Magalhaes NEGOTIATION
Arvin S MaletIndiaAsiya Javayant NEW
Aditya Y AlbaresBrazilBernardo Dominic NEGOTIATION
Aruna C VocelkaJapanBernardo Dominic NEGOTIATION
Jeanfrancois J BologniaItalyStephen Shaw RENEWAL
Morrow L GlickIndiaAmy Elsner NEW
Chavez S GillianArgentinaIvan Magalhaes UNQUALIFIED
James C BriddickItalyIoni Bowcher RENEWAL
Ashley B FerenczJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens M BriddickJapanAmy Elsner NEW
Ricardo R DilliardBrazilXuxue Feng PROPOSAL
Leon Z CaudyItalyXuxue Feng NEW
Morrow T BologniaBrazilAsiya Javayant QUALIFIED
Octavia Q CaldareraUnited KingdomAmy Elsner NEGOTIATION
Alejandro S TollnerSpainBernardo Dominic QUALIFIED
Morrow D RutaCanadaOnyama Limba NEW
Adams E PoquetteItalyIoni Bowcher UNQUALIFIED
Leja E FlosiAustraliaElwin Sharvill UNQUALIFIED
Isabel R StensethJapanXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar G WaycottArgentina2024-05-27Buckley Miller Wright PROPOSAL29Stephen Shaw
1001Wickens F KuskoRussia2024-06-04Rousseaux, Michael Esq NEW83Amy Elsner
1002Jefferson B FollerJapan2024-06-23Morlong Associates RENEWAL29Anna Fali
1003Stacey L KolmetzIndia2024-06-04Benton, John B Jr NEGOTIATION20Xuxue Feng
1004Juan Z BologniaCanada2024-06-15Chapman, Ross E Esq NEGOTIATION98Bernardo Dominic
1005Aditya G CaldareraAustralia2024-06-04King, Christopher A Esq UNQUALIFIED40Bernardo Dominic
1006Jones J SlusarskiAustralia2024-06-06Benton, John B Jr QUALIFIED33Amy Elsner
1007Aditya N CaldareraBrazil2024-06-19Chemel, James L Cpa NEGOTIATION0Xuxue Feng
1008Jefferson I SergiArgentina2024-06-21Dorl, James J Esq NEW13Onyama Limba
1009Aruna R GauchoJapan2024-06-09Feltz Printing Service NEW55Amy Elsner
1010Octavia T KolmetzUnited Kingdom2024-06-21Printing Dimensions NEGOTIATION57Asiya Javayant
1011Emily B FollerIndia2024-06-07Benton, John B Jr RENEWAL52Stephen Shaw
1012Nicolas V NickaSpain2024-06-21King, Christopher A Esq NEGOTIATION32Ivan Magalhaes
1013Kaitlin R ShinkoSpain2024-06-17Morlong Associates UNQUALIFIED55Onyama Limba
1014Juan P MaletBrazil2024-05-31Dorl, James J Esq RENEWAL20Stephen Shaw
1015Tony X DarakjyBrazil2024-06-23Buckley Miller Wright QUALIFIED75Ioni Bowcher
1016Izzy B PoquetteRussia2024-06-18Rangoni Of Florence UNQUALIFIED12Anna Fali
1017Ashley R MorascaAustralia2024-06-23Rangoni Of Florence UNQUALIFIED2Xuxue Feng
1018Johnson Z DilliardItaly2024-06-22Chapman, Ross E Esq NEGOTIATION62Anna Fali
1019Greenwood C SchemmerCanada2024-06-13Truhlar And Truhlar Attys QUALIFIED33Ivan Magalhaes
1020Jeanfrancois L MaletCanada2024-05-27Feltz Printing Service NEGOTIATION58Asiya Javayant
1021Maria K MaletSpain2024-06-16Chanay, Jeffrey A Esq RENEWAL52Stephen Shaw
1022Smith U FollerArgentina2024-06-04Chanay, Jeffrey A Esq NEW90Ivan Magalhaes
1023Ivar T MaletIndia2024-05-26Dorl, James J Esq PROPOSAL73Xuxue Feng
1024Kadeem Y MacleadJapan2024-06-22Feiner Bros RENEWAL17Onyama Limba
1025David U MacleadItaly2024-05-27Rangoni Of Florence QUALIFIED20Bernardo Dominic
1026Leon T DoeUnited Kingdom2024-06-24Truhlar And Truhlar Attys PROPOSAL42Anna Fali
1027David K DoeJapan2024-06-10Dorl, James J Esq QUALIFIED57Ivan Magalhaes
1028Ricardo Z KuskoBrazil2024-06-01Chemel, James L Cpa QUALIFIED97Ioni Bowcher
1029Tony N PaprockiRussia2024-06-10Benton, John B Jr PROPOSAL33Onyama Limba
1030Jones E PerinAustralia2024-06-01Chemel, James L Cpa QUALIFIED19Anna Fali
1031Claire W AmigonFrance2024-06-18Printing Dimensions UNQUALIFIED17Ivan Magalhaes
1032Nicolas Q FerenczUnited Kingdom2024-06-21Commercial Press PROPOSAL61Xuxue Feng
1033Johnson D WieserGermany2024-06-15Feiner Bros PROPOSAL8Stephen Shaw
1034Deepesh W SaylorsSpain2024-05-27Chanay, Jeffrey A Esq PROPOSAL48Anna Fali
1035Jones R SaylorsUnited Kingdom2024-06-16Dorl, James J Esq QUALIFIED47Amy Elsner
1036Kaitlin L CampainSpain2024-06-17Truhlar And Truhlar Attys QUALIFIED13Elwin Sharvill
1037Ashley I PerinFrance2024-06-03Feiner Bros QUALIFIED56Anna Fali
1038Tony P SergiUnited Kingdom2024-06-02Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1039Ricardo C InouyeFrance2024-05-31Rangoni Of Florence RENEWAL67Ivan Magalhaes
1040Faith B KuskoJapan2024-06-07Chapman, Ross E Esq NEGOTIATION58Bernardo Dominic
1041Maria X InouyeFrance2024-06-21Buckley Miller Wright RENEWAL50Elwin Sharvill
1042Wickens X RutaItaly2024-06-23Chanay, Jeffrey A Esq NEW98Ioni Bowcher
1043Maisha K StensethCanada2024-06-09Buckley Miller Wright NEGOTIATION52Asiya Javayant
1044Emily L StockhamGermany2024-06-03Morlong Associates RENEWAL73Elwin Sharvill
1045Misaki U SergiGermany2024-06-06Benton, John B Jr RENEWAL36Stephen Shaw
1046Octavia B CaudyJapan2024-06-16Rangoni Of Florence PROPOSAL75Asiya Javayant
1047Aditya R PaprockiGermany2024-06-11Chanay, Jeffrey A Esq QUALIFIED26Onyama Limba
1048Tony M TollnerIndia2024-06-06Chemel, James L Cpa QUALIFIED90Anna Fali
1049Ivar P OstroskyFrance2024-06-20Morlong Associates NEGOTIATION82Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones X GlickRussiaOnyama Limba UNQUALIFIED
Antonio R DoeFranceIvan Magalhaes RENEWAL
Antonio D FigeroaItalyIvan Magalhaes UNQUALIFIED
Murillo E TollnerArgentinaIvan Magalhaes UNQUALIFIED
Munro B RutaArgentinaIoni Bowcher NEW
Rodrigues S GarufiItalyXuxue Feng PROPOSAL
Arvin Y BologniaSpainAsiya Javayant PROPOSAL
Darci U DarakjyUnited KingdomAnna Fali NEW
Ivar H OldroydUnited KingdomXuxue Feng QUALIFIED
Kaitlin L WieserArgentinaBernardo Dominic NEGOTIATION
Isabel U StensethIndiaStephen Shaw QUALIFIED
Cody Y RulapaughRussiaElwin Sharvill NEGOTIATION
Rodrigues X FerenczBrazilOnyama Limba NEW
Nicolas X FlosiBrazilOnyama Limba RENEWAL
Salvatore B SchemmerItalyStephen Shaw NEGOTIATION
Kaitlin T InouyeArgentinaAnna Fali RENEWAL
Darci S GarufiRussiaOnyama Limba UNQUALIFIED
Emily N NestleSpainXuxue Feng UNQUALIFIED
Chavez F SergiIndiaAmy Elsner RENEWAL
Murillo R InouyeCanadaAmy Elsner NEW
Clifford G RoysterIndiaXuxue Feng NEW
Ivar L WaycottUnited KingdomXuxue Feng NEGOTIATION
Mayumi V CaudyItalyIoni Bowcher PROPOSAL
Ashley V FigeroaGermanyBernardo Dominic UNQUALIFIED
Kadeem W FigeroaIndiaAnna Fali NEW
Costa Y GillianIndiaAsiya Javayant PROPOSAL
Aika H NickaGermanyAnna Fali NEGOTIATION
Julie Y RoysterUnited KingdomXuxue Feng QUALIFIED
Alejandro M WaycottRussiaAsiya Javayant NEW
Aruna C GauchoArgentinaElwin Sharvill QUALIFIED
Ivar P StockhamItalyBernardo Dominic UNQUALIFIED
Chavez S InouyeJapanIvan Magalhaes RENEWAL
Leja S MaletIndiaOnyama Limba PROPOSAL
Ricardo S MaletGermanyStephen Shaw PROPOSAL
Mujtaba R GlickJapanAsiya Javayant UNQUALIFIED
Ricardo W VenereJapanOnyama Limba QUALIFIED
Leja W DoeBrazilXuxue Feng NEGOTIATION
Clifford F ButtJapanXuxue Feng PROPOSAL
David D SaylorsGermanyXuxue Feng UNQUALIFIED
Leja S GlickRussiaAsiya Javayant NEW
Emily A TollnerIndiaIoni Bowcher PROPOSAL
Darci S TollnerBrazilIvan Magalhaes NEGOTIATION
Greenwood J CaudyAustraliaElwin Sharvill UNQUALIFIED
Deepesh N KolmetzAustraliaIoni Bowcher NEW
Costa D RulapaughArgentinaXuxue Feng QUALIFIED
Salvatore K RulapaughAustraliaXuxue Feng UNQUALIFIED
Maisha Z StockhamUnited KingdomXuxue Feng QUALIFIED
Ricardo A MarrierItalyIoni Bowcher RENEWAL
Munro P BowleyIndiaOnyama Limba NEW
Wickens A DilliardBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Faith X Bolognia
Wickens N Venere
Greenwood E Albares
Munro M Campain
Costa A Flosi
Isabel T Iturbide
Rodrigues L Royster
Ashley B Paprocki
Morrow G Garufi
Leja M Ruta
Tony B Darakjy
Izzy K Nestle
Silvio R Caldarera
James V Nestle
Cody S Albares
Mayumi I Albares
Jeanfrancois L Chui
Arvin P Malet
Octavia E Marrier
Octavia O Vocelka
Smith M Figeroa
Isabel R Vocelka
Johnson T Royster
Costa Z Amigon
Jefferson T Chui
Morrow U Schemmer
Octavia I Gaucho
Maisha K Kolmetz
Maisha T Schemmer
Costa X Foller
Emily O Paprocki
Leon U Schemmer
Adams M Waycott
Stacey V Ferencz
Arvin N Briddick
Costa A Inouye
Jeanfrancois P Amigon
Ricardo V Wieser
Kadeem K Nestle
Silvio X Kolmetz
Morrow U Ostrosky
Claire Y Vocelka
Maria P Figeroa
Jeanfrancois Y Iturbide
Octavia W Flosi
Wickens T Gillian
Arvin A Malet
Murillo V Tollner
Jeanfrancois H Poquette
Darci K Kusko
IdCountryDate
1000France2024-06-06
1001Spain2024-06-04
1002Argentina2024-06-05
1003Brazil2024-06-24
1004United Kingdom2024-05-29
1005Canada2024-06-12
1006Italy2024-06-08
1007Argentina2024-05-29
1008United Kingdom2024-05-26
1009Australia2024-06-14
1010Russia2024-06-09
1011Spain2024-06-12
1012Spain2024-05-31
1013Australia2024-05-30
1014Spain2024-05-27
1015Italy2024-06-20
1016Germany2024-06-04
1017Japan2024-06-23
1018Japan2024-06-18
1019Australia2024-06-06
1020Germany2024-06-13
1021Brazil2024-06-13
1022Argentina2024-05-31
1023Japan2024-06-11
1024Brazil2024-06-17
1025Spain2024-06-17
1026India2024-06-16
1027Canada2024-06-24
1028Brazil2024-06-04
1029Germany2024-05-31
1030France2024-06-10
1031Argentina2024-06-14
1032Argentina2024-06-18
1033Argentina2024-06-08
1034Japan2024-06-05
1035Argentina2024-06-23
1036Italy2024-06-23
1037Germany2024-05-31
1038Japan2024-06-03
1039Argentina2024-06-10
1040United Kingdom2024-06-12
1041Germany2024-06-14
1042France2024-06-17
1043India2024-06-24
1044Japan2024-05-30
1045France2024-06-15
1046India2024-06-15
1047Japan2024-06-16
1048United Kingdom2024-06-07
1049Italy2024-06-18

On-Demand Data

NameIdCountryDate
Aruna R Amigon1000Australia2024-06-10
Deepesh V Darakjy1001Canada2024-06-12
Chavez L Nestle1002Germany2024-06-01
Kadeem S Malet1003India2024-06-11
Costa V Caldarera1004Australia2024-06-15
Isabel E Doe1005Australia2024-06-01
Maisha T Amigon1006Japan2024-05-31
Kadeem U Chui1007France2024-06-03
Faith K Iturbide1008Argentina2024-05-28
Greenwood Q Whobrey1009India2024-05-29
Maisha B Glick1010United Kingdom2024-06-22
Aruna H Darakjy1011Canada2024-06-05
Jennifer R Nestle1012Italy2024-06-03
Silvio R Campain1013Canada2024-05-30
Rodrigues Q Oldroyd1014Russia2024-05-30
Smith H Flosi1015Australia2024-06-24
Johnson C Poquette1016Italy2024-06-19
Tony L Doe1017Brazil2024-05-29
Isabel Q Malet1018Italy2024-06-22
Costa M Gaucho1019Canada2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody O BowleyFranceIoni Bowcher RENEWAL
Octavia D WieserItalyIvan Magalhaes NEGOTIATION
Smith C PerinBrazilAsiya Javayant NEGOTIATION
Costa K ShinkoFranceAnna Fali NEGOTIATION
Mujtaba L NestleJapanXuxue Feng UNQUALIFIED
Jennifer C SaylorsRussiaAnna Fali QUALIFIED
Munro R RulapaughJapanXuxue Feng UNQUALIFIED
Arvin R KuskoIndiaAnna Fali NEW
Jefferson Q GauchoUnited KingdomElwin Sharvill PROPOSAL
Ivar P SchemmerGermanyAnna Fali RENEWAL
Claire M RutaFranceXuxue Feng NEGOTIATION
Adams L PerinBrazilStephen Shaw RENEWAL
Faith X GillianSpainIvan Magalhaes PROPOSAL
Clifford N PerinGermanyBernardo Dominic PROPOSAL
Kaitlin D TollnerBrazilBernardo Dominic UNQUALIFIED
Emily M OldroydUnited KingdomBernardo Dominic RENEWAL
Johnson R NickaSpainAnna Fali PROPOSAL
Leja Z DilliardAustraliaAmy Elsner RENEWAL
Kaitlin F KuskoGermanyOnyama Limba QUALIFIED
Ricardo D IturbideSpainIoni Bowcher QUALIFIED
Wickens C DarakjyBrazilBernardo Dominic RENEWAL
Costa C CaudyAustraliaIvan Magalhaes NEW
Sinclair C InouyeIndiaIoni Bowcher RENEWAL
Deepesh T SchemmerArgentinaIoni Bowcher NEGOTIATION
Antonio Y MarrierUnited KingdomAsiya Javayant QUALIFIED
Clifford M CampainGermanyOnyama Limba QUALIFIED
Antonio B GauchoArgentinaAmy Elsner RENEWAL
Adams S FollerJapanOnyama Limba PROPOSAL
Tony Z ShinkoJapanStephen Shaw PROPOSAL
Leja X NestleAustraliaIvan Magalhaes UNQUALIFIED
Costa K BowleyAustraliaIvan Magalhaes NEGOTIATION
Salvatore B PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens E BologniaIndiaAmy Elsner UNQUALIFIED
Maria J PoquetteJapanIvan Magalhaes QUALIFIED
Jeanfrancois I FlosiGermanyAsiya Javayant PROPOSAL
Juan I SaylorsItalyBernardo Dominic NEGOTIATION
Leja Y VenereGermanyXuxue Feng UNQUALIFIED
Maria L KolmetzJapanStephen Shaw PROPOSAL
Leja B PaprockiBrazilAsiya Javayant RENEWAL
Claire J PerinBrazilIvan Magalhaes RENEWAL

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