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 M KuskoFranceXuxue Feng UNQUALIFIED
Leja H InouyeIndiaAsiya Javayant NEGOTIATION
David S PoquetteItalyBernardo Dominic PROPOSAL
Leon Y RulapaughCanadaElwin Sharvill UNQUALIFIED
Johnson G FigeroaSpainStephen Shaw RENEWAL
Isabel W MorascaAustraliaXuxue Feng NEGOTIATION
Johnson U MaletRussiaXuxue Feng RENEWAL
Julie D KolmetzIndiaIvan Magalhaes RENEWAL
Salvatore N MaletJapanStephen Shaw NEW
Clifford D DilliardGermanyAsiya Javayant QUALIFIED
Jennifer D WaycottFranceOnyama Limba NEGOTIATION
Murillo C MaletArgentinaBernardo Dominic PROPOSAL
Misaki N FigeroaJapanIvan Magalhaes NEW
Aruna I SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Smith O RulapaughIndiaElwin Sharvill PROPOSAL
Clifford P MaletFranceStephen Shaw PROPOSAL
Faith K PoquetteGermanyAnna Fali NEGOTIATION
Alejandro H CaldareraSpainAmy Elsner UNQUALIFIED
Stacey N VocelkaUnited KingdomAsiya Javayant QUALIFIED
Ricardo K IturbideIndiaAsiya Javayant PROPOSAL
Julie H DoeAustraliaAmy Elsner QUALIFIED
Jones G StensethBrazilIoni Bowcher RENEWAL
Octavia F GarufiRussiaAnna Fali RENEWAL
Ricardo X KolmetzIndiaXuxue Feng UNQUALIFIED
Johnson N DoeUnited KingdomElwin Sharvill UNQUALIFIED
Murillo N SergiFranceAmy Elsner UNQUALIFIED
Mujtaba S AlbaresIndiaAnna Fali NEGOTIATION
Johnson E SaylorsGermanyOnyama Limba NEGOTIATION
Ashley J SchemmerItalyXuxue Feng NEW
Kadeem Z GarufiCanadaAmy Elsner NEGOTIATION
Leon W PerinUnited KingdomIvan Magalhaes RENEWAL
Greenwood R NestleSpainXuxue Feng QUALIFIED
Faith Y CaudyRussiaOnyama Limba PROPOSAL
Mujtaba O StensethFranceAmy Elsner QUALIFIED
Adams D SaylorsArgentinaIoni Bowcher PROPOSAL
Jeanfrancois O FlosiBrazilAsiya Javayant PROPOSAL
Greenwood H ShinkoGermanyBernardo Dominic NEW
Claire Z GillianUnited KingdomStephen Shaw QUALIFIED
Tony O BriddickItalyXuxue Feng PROPOSAL
Kaitlin H SaylorsFranceIvan Magalhaes UNQUALIFIED
Wickens V PaprockiJapanAsiya Javayant UNQUALIFIED
Aruna X FollerBrazilElwin Sharvill PROPOSAL
Greenwood X PaprockiCanadaAsiya Javayant UNQUALIFIED
Mayumi P DilliardItalyStephen Shaw RENEWAL
Munro M GauchoFranceXuxue Feng NEW
Mujtaba E FlosiItalyXuxue Feng PROPOSAL
Octavia W FollerCanadaAmy Elsner RENEWAL
Murillo W GillianGermanyAnna Fali NEGOTIATION
Juan O NickaGermanyIvan Magalhaes NEGOTIATION
Deepesh L NestleFranceOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia A ChuiIndiaAsiya Javayant QUALIFIED
Jones X RulapaughRussiaXuxue Feng NEW
Leon W AmigonItalyXuxue Feng QUALIFIED
Maria S BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Maria O CaudyAustraliaAmy Elsner QUALIFIED
Leon S RutaCanadaIvan Magalhaes PROPOSAL
Silvio U RutaGermanyAnna Fali NEGOTIATION
Jeanfrancois F VocelkaBrazilIvan Magalhaes PROPOSAL
Mujtaba I FigeroaItalyAnna Fali UNQUALIFIED
Juan A WieserRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci S ShinkoJapan2024-06-21Buckley Miller Wright QUALIFIED2Anna Fali
1001Jeanfrancois V BriddickItaly2024-06-09Commercial Press RENEWAL56Asiya Javayant
1002David U KolmetzAustralia2024-05-26Benton, John B Jr NEGOTIATION34Ivan Magalhaes
1003Adams Y CaudyUnited Kingdom2024-06-05Dorl, James J Esq RENEWAL57Elwin Sharvill
1004Jones K MaletItaly2024-06-18Morlong Associates QUALIFIED0Stephen Shaw
1005Wickens B RimArgentina2024-06-02Rangoni Of Florence PROPOSAL2Elwin Sharvill
1006Aditya Q GlickCanada2024-06-11Chapman, Ross E Esq NEW30Asiya Javayant
1007Jones X WieserArgentina2024-06-20Feltz Printing Service UNQUALIFIED11Elwin Sharvill
1008Faith O BowleyGermany2024-05-27Rangoni Of Florence PROPOSAL70Onyama Limba
1009Ashley H SaylorsSpain2024-06-21Chapman, Ross E Esq QUALIFIED46Bernardo Dominic
1010Faith A RutaCanada2024-06-23Feltz Printing Service QUALIFIED82Xuxue Feng
1011Izzy L NestleItaly2024-06-15Feiner Bros NEW71Xuxue Feng
1012Costa W KolmetzRussia2024-06-11Benton, John B Jr QUALIFIED17Ivan Magalhaes
1013Mujtaba T SaylorsJapan2024-06-04Benton, John B Jr NEW14Elwin Sharvill
1014Chavez A SchemmerArgentina2024-06-12King, Christopher A Esq NEGOTIATION82Stephen Shaw
1015Sinclair T SergiUnited Kingdom2024-06-09Rousseaux, Michael Esq PROPOSAL75Ivan Magalhaes
1016Maria B GauchoGermany2024-06-19Rousseaux, Michael Esq QUALIFIED72Asiya Javayant
1017Aruna G OstroskyCanada2024-06-10King, Christopher A Esq NEW28Anna Fali
1018Wickens Z BowleyJapan2024-05-31Rousseaux, Michael Esq UNQUALIFIED90Elwin Sharvill
1019Francesco U RutaUnited Kingdom2024-05-29King, Christopher A Esq UNQUALIFIED33Bernardo Dominic
1020Darci R RoysterFrance2024-05-28Truhlar And Truhlar Attys NEW3Asiya Javayant
1021Isabel J WhobreyBrazil2024-06-21Feiner Bros QUALIFIED34Bernardo Dominic
1022Deepesh F FerenczCanada2024-06-17Rousseaux, Michael Esq QUALIFIED77Bernardo Dominic
1023Kaitlin K ShinkoBrazil2024-06-19King, Christopher A Esq NEW17Onyama Limba
1024James J OstroskyIndia2024-05-27Truhlar And Truhlar Attys NEGOTIATION73Bernardo Dominic
1025Alejandro Z RoysterSpain2024-06-17King, Christopher A Esq RENEWAL23Xuxue Feng
1026Costa L MacleadBrazil2024-06-02Buckley Miller Wright NEGOTIATION71Ivan Magalhaes
1027Ivar N VocelkaFrance2024-06-04Feiner Bros UNQUALIFIED18Ioni Bowcher
1028Aruna P RutaIndia2024-06-07Chanay, Jeffrey A Esq NEW79Ivan Magalhaes
1029Deepesh H NickaIndia2024-06-07Buckley Miller Wright PROPOSAL84Stephen Shaw
1030Cody V CampainSpain2024-06-04Morlong Associates QUALIFIED53Anna Fali
1031Juan A RoysterIndia2024-06-07Rangoni Of Florence UNQUALIFIED4Anna Fali
1032Adams V BowleyGermany2024-05-30Rangoni Of Florence NEW50Anna Fali
1033Darci P VenereItaly2024-05-29Feiner Bros RENEWAL72Stephen Shaw
1034Ashley O VenereIndia2024-06-19Feiner Bros NEW71Elwin Sharvill
1035Clifford Y PoquetteArgentina2024-06-11Feiner Bros QUALIFIED99Anna Fali
1036Deepesh F MorascaArgentina2024-06-22Feiner Bros NEW55Ioni Bowcher
1037Julie V BriddickSpain2024-06-08Feiner Bros RENEWAL2Xuxue Feng
1038Tony W RoysterBrazil2024-06-14Morlong Associates NEGOTIATION7Onyama Limba
1039Mujtaba D PerinBrazil2024-06-21Feltz Printing Service UNQUALIFIED77Ioni Bowcher
1040Jefferson T StockhamGermany2024-06-05Chemel, James L Cpa UNQUALIFIED70Xuxue Feng
1041Chavez D FigeroaFrance2024-06-04Buckley Miller Wright QUALIFIED28Bernardo Dominic
1042Aditya K MaletItaly2024-06-09Rousseaux, Michael Esq QUALIFIED59Ivan Magalhaes
1043Claire B RutaSpain2024-05-26Feltz Printing Service NEGOTIATION28Ioni Bowcher
1044Kaitlin O VocelkaIndia2024-06-15Dorl, James J Esq NEW10Amy Elsner
1045Isabel L DarakjyIndia2024-06-11Rangoni Of Florence UNQUALIFIED22Onyama Limba
1046Juan P VocelkaFrance2024-06-20Benton, John B Jr RENEWAL93Ioni Bowcher
1047Leon A WhobreyAustralia2024-06-08Chanay, Jeffrey A Esq NEW84Bernardo Dominic
1048Octavia P OldroydGermany2024-06-07Truhlar And Truhlar Attys NEW89Anna Fali
1049Isabel D StensethFrance2024-05-28Truhlar And Truhlar Attys RENEWAL40Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Q NickaRussiaAnna Fali NEW
Arvin G CaldareraArgentinaAmy Elsner UNQUALIFIED
Julie E MacleadIndiaStephen Shaw PROPOSAL
Alejandro C CampainItalyAnna Fali NEGOTIATION
Kadeem E FigeroaBrazilAnna Fali PROPOSAL
Silvio H PoquetteArgentinaElwin Sharvill PROPOSAL
Johnson H SergiBrazilAsiya Javayant UNQUALIFIED
Claire D WaycottFranceAmy Elsner NEW
Deepesh T MarrierUnited KingdomAnna Fali QUALIFIED
Maisha I RutaFranceAnna Fali QUALIFIED
James P BriddickAustraliaElwin Sharvill QUALIFIED
Leon D ShinkoItalyAnna Fali NEW
Costa C RimIndiaAmy Elsner QUALIFIED
Kaitlin U WaycottJapanOnyama Limba NEW
Jennifer X FigeroaIndiaAsiya Javayant RENEWAL
Julie O WhobreyBrazilAsiya Javayant PROPOSAL
Cody S InouyeRussiaBernardo Dominic NEGOTIATION
Ashley J MaletSpainOnyama Limba NEGOTIATION
Ashley U MaletJapanAmy Elsner UNQUALIFIED
Arvin F PaprockiItalyElwin Sharvill UNQUALIFIED
Clifford J WhobreyJapanAmy Elsner UNQUALIFIED
Deepesh F GillianIndiaIvan Magalhaes RENEWAL
Clifford I MacleadItalyIvan Magalhaes NEW
Maria I RimJapanAmy Elsner PROPOSAL
Aruna S PaprockiArgentinaAsiya Javayant NEW
Ashley K KolmetzIndiaIvan Magalhaes NEGOTIATION
Aditya F CaudyCanadaStephen Shaw UNQUALIFIED
Nicolas X DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Clifford Z MorascaUnited KingdomAmy Elsner NEGOTIATION
Ivar B MaletGermanyStephen Shaw RENEWAL
Maria F SergiAustraliaStephen Shaw QUALIFIED
Mayumi I WhobreyCanadaAnna Fali NEGOTIATION
Misaki J DilliardSpainBernardo Dominic UNQUALIFIED
Claire S StensethBrazilXuxue Feng NEW
Aruna I WaycottItalyAnna Fali NEW
Julie F FollerItalyOnyama Limba PROPOSAL
Alejandro H PaprockiSpainBernardo Dominic NEW
Rodrigues M VenereIndiaOnyama Limba NEW
Mayumi V RoysterCanadaAmy Elsner UNQUALIFIED
Silvio Q MorascaIndiaAsiya Javayant RENEWAL
Costa N ButtBrazilBernardo Dominic QUALIFIED
Mujtaba T DoeIndiaXuxue Feng RENEWAL
Ashley W CaldareraUnited KingdomAsiya Javayant PROPOSAL
Stacey J MorascaGermanyAnna Fali UNQUALIFIED
Aika L KuskoItalyElwin Sharvill UNQUALIFIED
Francesco Y ChuiArgentinaIvan Magalhaes PROPOSAL
Greenwood Y MacleadUnited KingdomStephen Shaw NEGOTIATION
Julie W RimItalyAsiya Javayant QUALIFIED
Mayumi Y FlosiGermanyStephen Shaw QUALIFIED
Costa K MaletItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Maisha R Doe
Maria G Kolmetz
Johnson Y Iturbide
Jefferson R Inouye
Darci J Inouye
Octavia V Kolmetz
Ashley D Albares
Nicolas J Briddick
Aditya T Whobrey
Ivar F Wieser
Maisha P Campain
Costa X Sergi
Johnson S Rim
Isabel T Wieser
Ivar I Wieser
Alejandro N Morasca
Misaki E Poquette
Chavez X Campain
Silvio B Morasca
Isabel Q Ostrosky
Darci Y Tollner
Deepesh U Ferencz
Misaki P Wieser
Costa K Kusko
Kaitlin Z Iturbide
Munro X Saylors
Greenwood C Darakjy
Alejandro U Tollner
David G Kolmetz
Jeanfrancois X Chui
Octavia H Perin
Greenwood K Briddick
Kaitlin Z Slusarski
Maria B Doe
Clifford B Inouye
Murillo F Figeroa
Murillo B Poquette
Smith C Malet
Izzy G Rim
Jeanfrancois Z Briddick
Morrow A Iturbide
Kaitlin R Iturbide
Aika U Schemmer
Aditya H Garufi
Rodrigues W Maclead
Leon X Briddick
Aruna Y Shinko
Jefferson S Caldarera
Salvatore X Gillian
Mayumi J Marrier
IdCountryDate
1000Germany2024-06-04
1001India2024-05-30
1002Russia2024-06-14
1003France2024-05-25
1004Spain2024-06-17
1005United Kingdom2024-06-06
1006Germany2024-06-19
1007Argentina2024-06-14
1008Italy2024-06-10
1009Russia2024-06-08
1010United Kingdom2024-05-29
1011India2024-06-20
1012Japan2024-06-01
1013India2024-06-06
1014Canada2024-06-01
1015United Kingdom2024-05-30
1016Brazil2024-06-10
1017Japan2024-06-17
1018India2024-06-20
1019Japan2024-06-15
1020Japan2024-06-21
1021Japan2024-05-29
1022Australia2024-06-08
1023Japan2024-06-10
1024Italy2024-06-10
1025Argentina2024-05-27
1026Germany2024-06-15
1027Italy2024-05-26
1028Spain2024-06-04
1029United Kingdom2024-05-29
1030Argentina2024-06-12
1031India2024-06-19
1032Japan2024-06-09
1033Italy2024-06-14
1034Australia2024-06-18
1035Germany2024-06-01
1036Argentina2024-05-30
1037France2024-06-22
1038Italy2024-05-27
1039Germany2024-06-20
1040Canada2024-05-29
1041Japan2024-06-18
1042Germany2024-06-10
1043Spain2024-05-27
1044Argentina2024-06-11
1045Japan2024-06-23
1046Canada2024-06-04
1047Argentina2024-05-27
1048Italy2024-05-29
1049France2024-06-05

On-Demand Data

NameIdCountryDate
Tony Z Briddick1000United Kingdom2024-06-07
Costa K Dilliard1001Germany2024-06-01
Kaitlin L Kusko1002Spain2024-06-18
Greenwood H Amigon1003Argentina2024-06-02
Jones T Maclead1004Russia2024-05-31
Jeanfrancois P Glick1005India2024-06-17
Salvatore P Maclead1006Spain2024-06-15
Faith B Campain1007India2024-06-06
Juan G Schemmer1008Spain2024-06-21
Adams N Campain1009Spain2024-06-07
Mujtaba N Marrier1010Canada2024-05-27
Cody N Sergi1011Germany2024-06-23
Munro W Nestle1012Argentina2024-06-05
Isabel N Flosi1013Brazil2024-06-03
Claire Q Figeroa1014Australia2024-06-08
Mayumi Z Shinko1015Germany2024-06-03
Stacey Z Marrier1016Brazil2024-05-30
Adams L Campain1017France2024-05-30
Isabel O Kolmetz1018Germany2024-06-08
Leon E Iturbide1019Russia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar I RimSpainStephen Shaw PROPOSAL
Izzy Q CaldareraGermanyOnyama Limba QUALIFIED
Jones H DoeJapanXuxue Feng RENEWAL
Salvatore N AlbaresUnited KingdomOnyama Limba RENEWAL
Octavia S BriddickJapanOnyama Limba PROPOSAL
Claire B NestleFranceAsiya Javayant PROPOSAL
Leja J NickaGermanyAnna Fali RENEWAL
Ricardo P ButtBrazilOnyama Limba RENEWAL
Sinclair Y ShinkoItalyOnyama Limba QUALIFIED
Mujtaba U FigeroaCanadaIoni Bowcher PROPOSAL
David V SchemmerItalyOnyama Limba PROPOSAL
Jennifer H MorascaAustraliaIvan Magalhaes PROPOSAL
Wickens K PerinIndiaIvan Magalhaes QUALIFIED
Clifford Z CampainArgentinaStephen Shaw QUALIFIED
Costa T CampainIndiaStephen Shaw PROPOSAL
Greenwood A GillianItalyIoni Bowcher RENEWAL
Greenwood U DoeArgentinaXuxue Feng NEW
Jones B SlusarskiBrazilAsiya Javayant NEGOTIATION
Mujtaba A FlosiItalyIvan Magalhaes UNQUALIFIED
Aditya N GarufiAustraliaIoni Bowcher RENEWAL
Julie M DoeItalyIoni Bowcher PROPOSAL
Jefferson J DilliardArgentinaAsiya Javayant NEGOTIATION
Antonio V RimItalyAmy Elsner NEW
Jefferson H MaletIndiaBernardo Dominic NEGOTIATION
Arvin F VenereAustraliaAsiya Javayant PROPOSAL
Isabel X WieserRussiaStephen Shaw RENEWAL
Munro O AmigonUnited KingdomBernardo Dominic NEGOTIATION
Cody J DarakjyGermanyOnyama Limba RENEWAL
Wickens E NestleItalyAsiya Javayant NEGOTIATION
Greenwood I FerenczAustraliaXuxue Feng PROPOSAL
Leon D AmigonAustraliaOnyama Limba QUALIFIED
Maisha C CaldareraBrazilAsiya Javayant RENEWAL
Leon I GarufiBrazilAnna Fali QUALIFIED
Izzy F RulapaughIndiaElwin Sharvill QUALIFIED
Ivar R WieserSpainIvan Magalhaes NEGOTIATION
Deepesh D RoysterArgentinaIvan Magalhaes NEW
Johnson H AmigonAustraliaXuxue Feng NEW
Juan B WaycottCanadaOnyama Limba UNQUALIFIED
Cody P RoysterGermanyOnyama Limba RENEWAL
Maisha L SlusarskiAustraliaAmy Elsner 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>