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
Munro A PoquetteAustraliaIoni Bowcher UNQUALIFIED
Wickens V ShinkoRussiaIoni Bowcher NEW
Nicolas U ChuiBrazilBernardo Dominic UNQUALIFIED
Faith R FlosiSpainStephen Shaw NEGOTIATION
Claire S RulapaughItalyIoni Bowcher QUALIFIED
Darci W ButtGermanyBernardo Dominic NEGOTIATION
Nicolas U NestleCanadaAsiya Javayant QUALIFIED
Julie G VenereUnited KingdomOnyama Limba NEGOTIATION
Munro E CampainJapanAsiya Javayant UNQUALIFIED
Antonio Y RoysterItalyIvan Magalhaes QUALIFIED
Leon A GlickJapanStephen Shaw PROPOSAL
Aika E AlbaresRussiaAsiya Javayant NEW
Chavez M SergiSpainAmy Elsner RENEWAL
Morrow T DarakjyBrazilXuxue Feng NEGOTIATION
Jones K RoysterBrazilIoni Bowcher QUALIFIED
Alejandro B RoysterArgentinaAnna Fali NEW
Jefferson S BriddickUnited KingdomAmy Elsner PROPOSAL
Leja H ButtCanadaAsiya Javayant RENEWAL
Misaki C OldroydAustraliaIvan Magalhaes RENEWAL
Aruna G MaletJapanAmy Elsner NEW
Johnson S WhobreyFranceIvan Magalhaes PROPOSAL
Sinclair B KolmetzRussiaAnna Fali QUALIFIED
Darci Y SergiBrazilAsiya Javayant UNQUALIFIED
Julie N ButtArgentinaStephen Shaw UNQUALIFIED
Jennifer E FlosiGermanyIvan Magalhaes NEGOTIATION
Murillo O RimIndiaElwin Sharvill UNQUALIFIED
Murillo D StensethRussiaAnna Fali NEW
Jefferson X WhobreyJapanAmy Elsner QUALIFIED
Johnson G AmigonIndiaStephen Shaw NEGOTIATION
Mayumi W FerenczGermanyElwin Sharvill RENEWAL
Izzy V OldroydAustraliaOnyama Limba NEGOTIATION
David G StensethBrazilElwin Sharvill UNQUALIFIED
Leja Z WaycottCanadaStephen Shaw RENEWAL
Mayumi Y MaletJapanElwin Sharvill NEW
Jefferson G StensethCanadaBernardo Dominic PROPOSAL
Aruna J RimFranceIoni Bowcher QUALIFIED
Jefferson B RutaFranceBernardo Dominic RENEWAL
Octavia W ButtCanadaXuxue Feng NEW
Smith X GlickArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois P DarakjyAustraliaAsiya Javayant QUALIFIED
Adams U OstroskyAustraliaAmy Elsner PROPOSAL
Arvin S SaylorsBrazilAnna Fali PROPOSAL
Alejandro I CampainUnited KingdomIoni Bowcher UNQUALIFIED
Izzy F PoquetteFranceAmy Elsner NEW
Adams W InouyeSpainAsiya Javayant NEW
David B FlosiSpainAsiya Javayant RENEWAL
Faith J CaudyFranceOnyama Limba QUALIFIED
Isabel H GillianGermanyAsiya Javayant NEW
Emily C DarakjyRussiaAnna Fali PROPOSAL
Greenwood U RutaCanadaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson R DoeIndiaElwin Sharvill RENEWAL
Cody Y GauchoGermanyAmy Elsner RENEWAL
Greenwood C MaletJapanIvan Magalhaes NEW
Leon H PerinRussiaStephen Shaw UNQUALIFIED
Sinclair A SergiCanadaIvan Magalhaes NEW
Francesco Y MacleadAustraliaAmy Elsner NEW
Mujtaba E TollnerArgentinaIoni Bowcher NEW
Maria H SlusarskiUnited KingdomIvan Magalhaes NEW
Smith S OldroydCanadaAmy Elsner PROPOSAL
Julie B OstroskyBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia I VocelkaAustralia2024-06-21Commercial Press NEW10Anna Fali
1001Isabel J BologniaBrazil2024-05-25Buckley Miller Wright NEGOTIATION21Onyama Limba
1002Mujtaba K MaletItaly2024-06-02Dorl, James J Esq PROPOSAL91Anna Fali
1003Munro I AlbaresJapan2024-06-06Feiner Bros UNQUALIFIED22Ioni Bowcher
1004Salvatore N SlusarskiSpain2024-06-10King, Christopher A Esq UNQUALIFIED51Bernardo Dominic
1005Smith D OldroydRussia2024-06-19Chapman, Ross E Esq NEGOTIATION18Xuxue Feng
1006David G RimUnited Kingdom2024-06-20Benton, John B Jr RENEWAL65Bernardo Dominic
1007Izzy H RoysterSpain2024-05-31Morlong Associates NEW40Anna Fali
1008Leja M FollerIndia2024-05-28Commercial Press QUALIFIED11Asiya Javayant
1009Murillo Y ButtAustralia2024-06-10Benton, John B Jr QUALIFIED78Ivan Magalhaes
1010Nicolas C NestleJapan2024-06-21Chemel, James L Cpa QUALIFIED90Xuxue Feng
1011Adams Y ShinkoArgentina2024-05-26Rousseaux, Michael Esq UNQUALIFIED56Ivan Magalhaes
1012Cody F DoeRussia2024-06-01Rousseaux, Michael Esq NEW74Stephen Shaw
1013Alejandro N KuskoItaly2024-06-20Truhlar And Truhlar Attys PROPOSAL51Xuxue Feng
1014Antonio J DarakjyFrance2024-06-22Feiner Bros NEGOTIATION51Amy Elsner
1015Kaitlin U OstroskyUnited Kingdom2024-06-04Dorl, James J Esq QUALIFIED25Anna Fali
1016Julie W MaletSpain2024-06-02King, Christopher A Esq NEW0Anna Fali
1017Costa T WaycottFrance2024-06-08Rousseaux, Michael Esq NEW4Amy Elsner
1018Jefferson M MaletJapan2024-06-21King, Christopher A Esq NEGOTIATION36Ioni Bowcher
1019Leja A DilliardGermany2024-06-05Rangoni Of Florence NEGOTIATION7Xuxue Feng
1020Kadeem K KuskoArgentina2024-06-18Buckley Miller Wright QUALIFIED40Elwin Sharvill
1021Costa U FerenczGermany2024-05-29Rangoni Of Florence RENEWAL34Elwin Sharvill
1022Isabel T DarakjyFrance2024-05-31Dorl, James J Esq NEW19Elwin Sharvill
1023James H OldroydCanada2024-06-11Chanay, Jeffrey A Esq RENEWAL10Ioni Bowcher
1024Johnson N StockhamSpain2024-06-01Chapman, Ross E Esq NEW60Elwin Sharvill
1025Izzy V BologniaArgentina2024-06-15Dorl, James J Esq NEW44Amy Elsner
1026Munro E IturbideUnited Kingdom2024-06-21King, Christopher A Esq UNQUALIFIED77Elwin Sharvill
1027Sinclair G WieserBrazil2024-05-28Chanay, Jeffrey A Esq RENEWAL82Bernardo Dominic
1028Costa W FerenczIndia2024-05-24Buckley Miller Wright NEGOTIATION27Asiya Javayant
1029Claire Q SlusarskiBrazil2024-05-26Feiner Bros RENEWAL96Xuxue Feng
1030Alejandro W VenereAustralia2024-06-06Rangoni Of Florence QUALIFIED35Ioni Bowcher
1031Deepesh B WhobreyGermany2024-05-30King, Christopher A Esq QUALIFIED58Onyama Limba
1032Octavia Z KuskoCanada2024-06-05Chemel, James L Cpa UNQUALIFIED47Elwin Sharvill
1033Stacey S CaldareraIndia2024-06-20Truhlar And Truhlar Attys NEW90Anna Fali
1034Aika K DilliardItaly2024-06-11Dorl, James J Esq NEW49Onyama Limba
1035Aruna V AmigonSpain2024-06-06Dorl, James J Esq QUALIFIED76Asiya Javayant
1036Cody Z WhobreyUnited Kingdom2024-05-30Printing Dimensions PROPOSAL0Amy Elsner
1037Maisha H IturbideCanada2024-06-05Chanay, Jeffrey A Esq QUALIFIED93Ivan Magalhaes
1038Emily Z VenereSpain2024-05-29Benton, John B Jr QUALIFIED70Ivan Magalhaes
1039Chavez G CaldareraJapan2024-06-09King, Christopher A Esq QUALIFIED84Elwin Sharvill
1040Kadeem J AmigonFrance2024-06-10Rangoni Of Florence RENEWAL69Amy Elsner
1041Rodrigues L OstroskyRussia2024-05-27Benton, John B Jr UNQUALIFIED13Xuxue Feng
1042Jones Z MaletItaly2024-06-21Buckley Miller Wright NEW1Ioni Bowcher
1043Jeanfrancois Y GauchoCanada2024-06-08Feiner Bros NEW86Amy Elsner
1044Francesco K SlusarskiBrazil2024-06-02Buckley Miller Wright NEW8Anna Fali
1045Adams F GillianFrance2024-06-03King, Christopher A Esq NEW89Bernardo Dominic
1046Maisha X NickaRussia2024-06-09Rousseaux, Michael Esq PROPOSAL13Elwin Sharvill
1047Rodrigues O RutaAustralia2024-06-03Chemel, James L Cpa NEGOTIATION69Asiya Javayant
1048Ashley R ShinkoIndia2024-05-27Chemel, James L Cpa NEGOTIATION9Ivan Magalhaes
1049Rodrigues G CaudyFrance2024-06-09Commercial Press NEW5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio K RutaRussiaAsiya Javayant NEGOTIATION
Smith U CaudyBrazilBernardo Dominic NEGOTIATION
Izzy T RulapaughSpainBernardo Dominic UNQUALIFIED
Cody G OldroydIndiaStephen Shaw NEW
Morrow K AlbaresJapanStephen Shaw UNQUALIFIED
Ivar D SchemmerAustraliaIvan Magalhaes UNQUALIFIED
James Z TollnerAustraliaBernardo Dominic UNQUALIFIED
Aditya T FerenczFranceStephen Shaw RENEWAL
Octavia L FlosiGermanyIvan Magalhaes NEW
Alejandro R MorascaAustraliaAsiya Javayant UNQUALIFIED
Claire L ButtIndiaIoni Bowcher RENEWAL
Claire Q WieserAustraliaAmy Elsner PROPOSAL
David V IturbideIndiaAmy Elsner NEGOTIATION
Silvio H PoquetteArgentinaIvan Magalhaes RENEWAL
Isabel J PaprockiAustraliaIvan Magalhaes RENEWAL
Wickens R DarakjyCanadaOnyama Limba RENEWAL
Isabel W WieserUnited KingdomAmy Elsner UNQUALIFIED
David A BowleyAustraliaOnyama Limba NEW
Leja Y GarufiJapanOnyama Limba NEGOTIATION
Kaitlin Z VenereItalyAnna Fali NEGOTIATION
Francesco N GauchoAustraliaOnyama Limba UNQUALIFIED
Aditya A PoquetteItalyIoni Bowcher QUALIFIED
Emily H FollerCanadaXuxue Feng NEW
Aruna Z PerinAustraliaBernardo Dominic PROPOSAL
Mujtaba V ShinkoIndiaElwin Sharvill RENEWAL
Jones I SlusarskiBrazilXuxue Feng QUALIFIED
Greenwood L DarakjyUnited KingdomIoni Bowcher QUALIFIED
Misaki B FigeroaCanadaOnyama Limba PROPOSAL
Julie T IturbideAustraliaAmy Elsner RENEWAL
Antonio L VenereBrazilAsiya Javayant PROPOSAL
Claire A SchemmerBrazilAsiya Javayant RENEWAL
Leja T PoquetteBrazilAsiya Javayant NEW
David L VenereJapanOnyama Limba PROPOSAL
Kaitlin G RutaSpainBernardo Dominic QUALIFIED
Jones T AlbaresBrazilBernardo Dominic NEGOTIATION
Aruna A MorascaJapanOnyama Limba QUALIFIED
Ivar J CaldareraBrazilAnna Fali NEGOTIATION
Maria P VocelkaBrazilAsiya Javayant QUALIFIED
Chavez C ChuiFranceBernardo Dominic RENEWAL
Murillo G CampainSpainAsiya Javayant NEW
Stacey U GarufiRussiaAsiya Javayant NEGOTIATION
Maria P MaletGermanyElwin Sharvill QUALIFIED
Faith B PoquetteRussiaAmy Elsner NEW
Darci D RulapaughFranceOnyama Limba NEW
Salvatore V InouyeIndiaIoni Bowcher UNQUALIFIED
Ivar D MarrierIndiaXuxue Feng NEW
Aruna V PaprockiIndiaIoni Bowcher NEGOTIATION
Stacey N StensethRussiaOnyama Limba PROPOSAL
Tony X NickaArgentinaElwin Sharvill QUALIFIED
Maria N BriddickSpainAmy Elsner NEGOTIATION
Frozen Columns
Name
Jeanfrancois V Rulapaugh
Jennifer V Wieser
Clifford V Dilliard
Jones V Gillian
Salvatore N Schemmer
Ricardo H Ferencz
Juan E Butt
Mujtaba V Albares
Murillo D Royster
Jennifer Z Malet
Maisha V Waycott
Johnson O Stenseth
Rodrigues Y Slusarski
Sinclair Q Bolognia
Mayumi L Doe
Murillo T Slusarski
Misaki A Stockham
Kaitlin Z Chui
Adams I Wieser
Aditya T Saylors
Jeanfrancois H Stockham
Isabel T Perin
Octavia I Paprocki
Ivar D Amigon
Juan O Oldroyd
Smith F Garufi
Sinclair J Shinko
Ricardo K Bowley
Maisha R Glick
Chavez F Rim
Chavez T Nicka
Francesco R Flosi
Stacey Y Vocelka
Darci P Gaucho
Cody T Sergi
David L Venere
Wickens E Campain
Morrow W Garufi
Arvin C Glick
Mayumi N Caudy
Silvio L Royster
Antonio Y Doe
Jefferson P Paprocki
Costa K Stenseth
Claire W Darakjy
Izzy D Poquette
Jefferson I Gillian
Rodrigues P Stenseth
Deepesh P Albares
Chavez I Malet
IdCountryDate
1000France2024-06-06
1001Australia2024-06-17
1002Japan2024-06-22
1003Spain2024-06-06
1004Russia2024-06-09
1005Brazil2024-05-31
1006Argentina2024-06-11
1007Brazil2024-05-31
1008Brazil2024-05-31
1009Canada2024-06-11
1010Germany2024-06-22
1011Spain2024-06-12
1012Brazil2024-06-11
1013India2024-06-13
1014Australia2024-06-11
1015United Kingdom2024-05-25
1016France2024-06-06
1017Japan2024-06-06
1018Spain2024-06-09
1019Canada2024-06-01
1020Canada2024-06-12
1021Brazil2024-06-06
1022Argentina2024-06-13
1023Italy2024-06-04
1024Italy2024-06-15
1025Russia2024-06-09
1026Russia2024-06-11
1027United Kingdom2024-06-04
1028Italy2024-06-02
1029France2024-06-13
1030Russia2024-06-11
1031Spain2024-06-13
1032Australia2024-05-29
1033Italy2024-06-16
1034Australia2024-05-30
1035Italy2024-05-24
1036Russia2024-06-19
1037Japan2024-06-09
1038Australia2024-05-30
1039Italy2024-06-03
1040Japan2024-05-26
1041Japan2024-06-02
1042Brazil2024-06-18
1043Australia2024-06-01
1044Argentina2024-06-10
1045Brazil2024-05-25
1046Russia2024-06-15
1047United Kingdom2024-06-17
1048Argentina2024-06-17
1049Germany2024-06-04

On-Demand Data

NameIdCountryDate
Johnson F Nicka1000Australia2024-06-03
Leja K Darakjy1001Japan2024-05-27
Johnson V Kolmetz1002Brazil2024-06-05
Aditya M Poquette1003Argentina2024-05-28
Darci C Vocelka1004United Kingdom2024-06-12
Ivar T Rim1005Brazil2024-06-03
Johnson O Sergi1006Germany2024-06-07
Julie J Gillian1007Argentina2024-05-25
Francesco M Oldroyd1008France2024-06-11
Leon L Gillian1009Argentina2024-06-13
Nicolas P Saylors1010Spain2024-06-10
Rodrigues J Albares1011Italy2024-06-11
Silvio U Glick1012Russia2024-06-18
Maisha K Kolmetz1013Australia2024-05-29
Stacey D Malet1014Germany2024-05-28
Kaitlin C Ostrosky1015India2024-06-19
Tony V Nestle1016United Kingdom2024-06-13
Clifford O Venere1017Germany2024-06-03
Kadeem U Dilliard1018India2024-06-08
Alejandro X Slusarski1019India2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel V BowleyGermanyElwin Sharvill NEGOTIATION
Mujtaba Q KuskoCanadaElwin Sharvill QUALIFIED
Costa W MacleadIndiaAnna Fali RENEWAL
Aika T AlbaresGermanyIvan Magalhaes QUALIFIED
Deepesh S PerinIndiaElwin Sharvill NEGOTIATION
Tony W GlickSpainStephen Shaw NEGOTIATION
Jones E InouyeCanadaOnyama Limba NEGOTIATION
James D BowleyIndiaIvan Magalhaes NEGOTIATION
Izzy T WaycottSpainAsiya Javayant QUALIFIED
Octavia B SlusarskiRussiaAsiya Javayant NEW
Jones O WieserGermanyBernardo Dominic QUALIFIED
Nicolas K SergiBrazilElwin Sharvill QUALIFIED
Mayumi X StensethCanadaAsiya Javayant NEGOTIATION
Antonio P ShinkoIndiaAnna Fali UNQUALIFIED
Ricardo D RulapaughGermanyAsiya Javayant PROPOSAL
Greenwood L OstroskyRussiaOnyama Limba NEW
Antonio C BriddickItalyIoni Bowcher QUALIFIED
Claire V FerenczIndiaIvan Magalhaes RENEWAL
Aika E AlbaresArgentinaAmy Elsner RENEWAL
Emily S GlickItalyIvan Magalhaes PROPOSAL
Johnson A GillianFranceBernardo Dominic QUALIFIED
Morrow U BriddickArgentinaIvan Magalhaes PROPOSAL
Izzy V ChuiIndiaAsiya Javayant QUALIFIED
Isabel W FigeroaAustraliaElwin Sharvill UNQUALIFIED
Leja I MaletBrazilElwin Sharvill NEGOTIATION
Ricardo R TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Ivar Q MorascaItalyOnyama Limba NEGOTIATION
Rodrigues S BriddickCanadaOnyama Limba PROPOSAL
James X BologniaFranceIoni Bowcher NEW
Alejandro M MacleadJapanIvan Magalhaes NEGOTIATION
Ashley F AmigonGermanyXuxue Feng RENEWAL
Deepesh M ShinkoJapanStephen Shaw UNQUALIFIED
Aditya Q FollerJapanIvan Magalhaes PROPOSAL
Johnson N GarufiGermanyAsiya Javayant RENEWAL
Jeanfrancois Z SlusarskiCanadaAnna Fali NEW
Wickens L MaletGermanyAsiya Javayant UNQUALIFIED
Alejandro U NestleCanadaElwin Sharvill UNQUALIFIED
Maria L PoquetteAustraliaAmy Elsner RENEWAL
Sinclair V BriddickIndiaAnna Fali NEGOTIATION
Salvatore C AlbaresItalyIvan Magalhaes PROPOSAL

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