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
Izzy O CaudyJapanOnyama Limba QUALIFIED
Mujtaba Y VocelkaCanadaXuxue Feng UNQUALIFIED
Aditya V MacleadItalyXuxue Feng RENEWAL
Mujtaba T FollerJapanAmy Elsner NEGOTIATION
Misaki H VocelkaArgentinaIvan Magalhaes PROPOSAL
Ricardo Z TollnerItalyOnyama Limba PROPOSAL
Antonio O IturbideSpainStephen Shaw QUALIFIED
Ricardo I VocelkaRussiaAnna Fali UNQUALIFIED
Sinclair R DarakjySpainIvan Magalhaes UNQUALIFIED
Tony N MaletSpainIvan Magalhaes NEGOTIATION
Mayumi M DoeArgentinaOnyama Limba QUALIFIED
Jennifer Z IturbideSpainOnyama Limba NEW
Jeanfrancois K InouyeArgentinaIvan Magalhaes QUALIFIED
Izzy M OstroskyUnited KingdomIvan Magalhaes NEW
Smith W VenereIndiaBernardo Dominic PROPOSAL
Deepesh X ShinkoBrazilIoni Bowcher UNQUALIFIED
Tony D WieserIndiaIoni Bowcher NEGOTIATION
Kaitlin R KolmetzItalyAmy Elsner QUALIFIED
Munro M GlickRussiaOnyama Limba UNQUALIFIED
Faith Y MaletArgentinaOnyama Limba QUALIFIED
Adams V FlosiSpainIvan Magalhaes RENEWAL
Chavez Z AlbaresAustraliaIoni Bowcher NEGOTIATION
David D NestleFranceIoni Bowcher NEW
Silvio Q StensethBrazilBernardo Dominic NEW
Nicolas A CaldareraFranceIvan Magalhaes UNQUALIFIED
Adams X PaprockiAustraliaAnna Fali PROPOSAL
Antonio O WaycottSpainOnyama Limba PROPOSAL
Cody B NestleFranceOnyama Limba NEGOTIATION
Maisha J SergiBrazilOnyama Limba UNQUALIFIED
Munro B FigeroaRussiaStephen Shaw NEW
Octavia I FollerGermanyBernardo Dominic RENEWAL
Aika M VenereFranceIoni Bowcher UNQUALIFIED
Antonio B StensethJapanIoni Bowcher QUALIFIED
Sinclair S FerenczSpainIoni Bowcher UNQUALIFIED
Claire Z PerinCanadaOnyama Limba NEGOTIATION
Morrow F KolmetzBrazilAsiya Javayant RENEWAL
Leon V FerenczIndiaAmy Elsner UNQUALIFIED
Francesco F OstroskyBrazilIvan Magalhaes PROPOSAL
Wickens U OldroydGermanyOnyama Limba PROPOSAL
Jones H WieserGermanyAsiya Javayant QUALIFIED
Leja P WhobreyArgentinaAsiya Javayant PROPOSAL
Antonio M PerinUnited KingdomBernardo Dominic NEGOTIATION
James I StockhamFranceXuxue Feng NEW
Chavez R RutaItalyXuxue Feng QUALIFIED
Murillo D SergiGermanyOnyama Limba QUALIFIED
Ivar W KuskoSpainIvan Magalhaes NEW
Chavez C CaldareraFranceElwin Sharvill NEW
Salvatore M RoysterRussiaAsiya Javayant NEW
Ricardo T VenereGermanyIvan Magalhaes RENEWAL
Emily V GlickUnited KingdomBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford G FollerAustraliaOnyama Limba RENEWAL
Mayumi J AlbaresCanadaBernardo Dominic NEW
Izzy Z CaudyAustraliaAsiya Javayant NEGOTIATION
Kaitlin G StockhamIndiaElwin Sharvill RENEWAL
Morrow A VenereSpainXuxue Feng PROPOSAL
Ashley F MorascaJapanStephen Shaw PROPOSAL
Mayumi J DilliardArgentinaStephen Shaw RENEWAL
Salvatore X SchemmerIndiaIoni Bowcher NEW
Aditya M SergiUnited KingdomIvan Magalhaes PROPOSAL
Izzy M CaudyUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson S RoysterArgentina2024-06-22Rangoni Of Florence RENEWAL50Ivan Magalhaes
1001Darci W MarrierRussia2024-05-27Morlong Associates UNQUALIFIED19Bernardo Dominic
1002Silvio P MacleadGermany2024-06-13Chanay, Jeffrey A Esq PROPOSAL75Ivan Magalhaes
1003Alejandro Q AlbaresSpain2024-06-13Dorl, James J Esq RENEWAL90Ioni Bowcher
1004Deepesh E SergiItaly2024-06-13Commercial Press NEGOTIATION99Ivan Magalhaes
1005Costa J SlusarskiCanada2024-06-04Feltz Printing Service NEW8Amy Elsner
1006Leja F GauchoItaly2024-05-27Truhlar And Truhlar Attys NEGOTIATION72Ioni Bowcher
1007Johnson E MorascaCanada2024-06-20Morlong Associates QUALIFIED92Stephen Shaw
1008Aika L PerinGermany2024-06-23Buckley Miller Wright RENEWAL46Bernardo Dominic
1009James U SchemmerItaly2024-06-08Buckley Miller Wright NEW50Ivan Magalhaes
1010Alejandro N SergiArgentina2024-06-04Benton, John B Jr NEW57Xuxue Feng
1011Morrow A VocelkaBrazil2024-06-13Printing Dimensions RENEWAL87Bernardo Dominic
1012Stacey N VenereAustralia2024-06-15Printing Dimensions RENEWAL10Anna Fali
1013James P MacleadRussia2024-06-15Feltz Printing Service RENEWAL71Asiya Javayant
1014Arvin B DarakjyIndia2024-06-15Commercial Press QUALIFIED98Amy Elsner
1015James F SchemmerGermany2024-06-06Buckley Miller Wright QUALIFIED74Anna Fali
1016Aditya K BologniaArgentina2024-06-03King, Christopher A Esq UNQUALIFIED44Bernardo Dominic
1017Alejandro K FlosiBrazil2024-06-01Feiner Bros NEGOTIATION24Amy Elsner
1018Ivar L WhobreyArgentina2024-05-30Chemel, James L Cpa NEW84Asiya Javayant
1019Ivar P NestleJapan2024-06-05Feiner Bros NEGOTIATION90Anna Fali
1020Juan G KolmetzGermany2024-06-09Rangoni Of Florence PROPOSAL30Onyama Limba
1021Jennifer V VenereItaly2024-06-14Chapman, Ross E Esq NEW94Anna Fali
1022Jennifer S ChuiArgentina2024-05-31Feltz Printing Service QUALIFIED48Onyama Limba
1023Jones I SaylorsIndia2024-05-28Feiner Bros RENEWAL25Ivan Magalhaes
1024Aditya I PerinItaly2024-06-19Commercial Press PROPOSAL42Stephen Shaw
1025Morrow I VocelkaAustralia2024-06-10King, Christopher A Esq NEW69Amy Elsner
1026Murillo K IturbideIndia2024-06-05Dorl, James J Esq RENEWAL64Elwin Sharvill
1027Juan W SchemmerRussia2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED5Elwin Sharvill
1028Sinclair Z RoysterItaly2024-06-12Truhlar And Truhlar Attys RENEWAL36Elwin Sharvill
1029Munro R PerinGermany2024-06-15Printing Dimensions NEW73Ioni Bowcher
1030Kadeem J MorascaSpain2024-06-14Commercial Press PROPOSAL84Bernardo Dominic
1031Jones T SchemmerJapan2024-06-03Printing Dimensions RENEWAL6Amy Elsner
1032Misaki N IturbideItaly2024-05-26Morlong Associates QUALIFIED79Ivan Magalhaes
1033Darci J BriddickJapan2024-06-08Truhlar And Truhlar Attys PROPOSAL26Ioni Bowcher
1034Ivar G MaletJapan2024-06-24Benton, John B Jr PROPOSAL59Bernardo Dominic
1035Adams B OstroskyAustralia2024-06-20Feiner Bros NEW74Asiya Javayant
1036Claire A BologniaGermany2024-06-11Buckley Miller Wright NEW56Anna Fali
1037Leon D SlusarskiCanada2024-06-02Rangoni Of Florence QUALIFIED0Elwin Sharvill
1038Mujtaba R MorascaUnited Kingdom2024-06-06Chemel, James L Cpa UNQUALIFIED92Xuxue Feng
1039Darci I NickaIndia2024-06-20Chapman, Ross E Esq QUALIFIED45Anna Fali
1040Maria M OstroskyUnited Kingdom2024-05-31Feltz Printing Service QUALIFIED6Stephen Shaw
1041Jefferson I DarakjyRussia2024-06-24Printing Dimensions QUALIFIED98Ioni Bowcher
1042Wickens V BologniaIndia2024-06-14Chapman, Ross E Esq NEW7Onyama Limba
1043Wickens Y BriddickCanada2024-06-11Chapman, Ross E Esq UNQUALIFIED40Ivan Magalhaes
1044Faith X AlbaresIndia2024-06-14King, Christopher A Esq RENEWAL45Onyama Limba
1045Ivar O CaudyIndia2024-06-15Commercial Press QUALIFIED74Anna Fali
1046Kadeem E PerinSpain2024-06-18Chanay, Jeffrey A Esq PROPOSAL11Anna Fali
1047Ashley M PoquetteBrazil2024-06-08Dorl, James J Esq PROPOSAL92Anna Fali
1048Cody G SlusarskiJapan2024-05-30Dorl, James J Esq PROPOSAL58Asiya Javayant
1049Mujtaba K VenereBrazil2024-06-16Chemel, James L Cpa PROPOSAL14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Alejandro D ButtSpainAnna Fali RENEWAL
Isabel D TollnerBrazilBernardo Dominic RENEWAL
Morrow S WieserFranceAnna Fali PROPOSAL
Wickens T MacleadGermanyAmy Elsner RENEWAL
Darci P StockhamUnited KingdomAnna Fali QUALIFIED
Ricardo Z ChuiIndiaOnyama Limba NEW
Ivar I RimUnited KingdomStephen Shaw QUALIFIED
Smith E CaudyGermanyIvan Magalhaes NEGOTIATION
Deepesh N KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer T DarakjyItalyAmy Elsner UNQUALIFIED
Antonio R RutaItalyAsiya Javayant NEGOTIATION
Morrow K GlickIndiaXuxue Feng RENEWAL
Jefferson P SchemmerItalyAmy Elsner NEGOTIATION
Johnson U GillianRussiaAnna Fali QUALIFIED
Jennifer T WhobreyJapanIoni Bowcher NEW
Emily T PerinItalyIoni Bowcher PROPOSAL
Tony F AlbaresCanadaAsiya Javayant QUALIFIED
Isabel J PaprockiSpainAmy Elsner QUALIFIED
Clifford A KuskoFranceAmy Elsner NEW
Adams N TollnerGermanyOnyama Limba RENEWAL
Jeanfrancois F IturbideUnited KingdomAnna Fali NEGOTIATION
Emily C CampainGermanyAsiya Javayant PROPOSAL
Ivar T SlusarskiAustraliaAsiya Javayant NEGOTIATION
David K SlusarskiRussiaIoni Bowcher RENEWAL
Wickens S VenereUnited KingdomBernardo Dominic RENEWAL
Jefferson C RoysterSpainAnna Fali NEGOTIATION
Maisha A BriddickCanadaAsiya Javayant RENEWAL
Munro L DilliardJapanAsiya Javayant QUALIFIED
Faith M AmigonJapanAnna Fali PROPOSAL
Silvio J RutaJapanBernardo Dominic QUALIFIED
Alejandro P MarrierIndiaOnyama Limba UNQUALIFIED
Maria T GauchoUnited KingdomElwin Sharvill NEW
Aika H IturbideJapanIvan Magalhaes RENEWAL
Silvio G BriddickArgentinaAnna Fali PROPOSAL
Adams W ButtItalyOnyama Limba PROPOSAL
Salvatore R RoysterJapanAmy Elsner QUALIFIED
Clifford A SergiRussiaIvan Magalhaes PROPOSAL
Munro C WieserGermanyOnyama Limba RENEWAL
Faith D StockhamFranceAmy Elsner NEGOTIATION
Leja R TollnerJapanElwin Sharvill QUALIFIED
Wickens K SlusarskiRussiaAmy Elsner PROPOSAL
Deepesh Y ButtCanadaStephen Shaw NEW
Alejandro D VenereItalyAmy Elsner NEGOTIATION
David E MarrierSpainIvan Magalhaes QUALIFIED
Ivar H MaletIndiaStephen Shaw QUALIFIED
Sinclair O FollerUnited KingdomAmy Elsner QUALIFIED
Francesco U BriddickSpainAnna Fali QUALIFIED
Octavia X TollnerItalyElwin Sharvill RENEWAL
Salvatore J ButtUnited KingdomAmy Elsner RENEWAL
Morrow G NickaRussiaAnna Fali NEW
Frozen Columns
Name
Julie J Rulapaugh
Izzy V Flosi
Antonio V Ostrosky
James G Nicka
Julie Y Garufi
Kaitlin N Butt
Jeanfrancois I Stenseth
Morrow P Wieser
Ivar R Royster
Tony D Amigon
Alejandro K Stenseth
Leon N Schemmer
Morrow R Royster
Greenwood P Morasca
Ricardo P Inouye
Smith Q Wieser
Izzy I Wieser
Ivar I Kolmetz
Ashley E Rim
Cody J Caudy
Costa E Bowley
Nicolas Y Chui
Chavez W Venere
Greenwood E Marrier
Francesco X Briddick
Nicolas S Whobrey
Sinclair Z Foller
Silvio V Paprocki
Clifford A Sergi
David D Bolognia
Rodrigues M Amigon
Leon Y Gaucho
James G Perin
Maisha E Whobrey
Jones K Rulapaugh
Misaki J Vocelka
Chavez O Caudy
Mayumi A Nicka
Mujtaba D Waycott
Tony C Ostrosky
Ashley C Caldarera
Clifford D Nestle
Sinclair C Iturbide
Munro J Amigon
Juan W Vocelka
Ivar N Bowley
Chavez A Ruta
Costa C Stenseth
Julie J Caldarera
Greenwood N Bolognia
IdCountryDate
1000Italy2024-06-22
1001Germany2024-06-06
1002Argentina2024-05-26
1003India2024-05-30
1004France2024-06-09
1005Argentina2024-06-12
1006Spain2024-06-20
1007Spain2024-05-28
1008Canada2024-06-15
1009France2024-05-29
1010Russia2024-06-03
1011India2024-06-08
1012Japan2024-06-01
1013Brazil2024-06-17
1014Russia2024-05-28
1015Brazil2024-06-11
1016India2024-06-21
1017India2024-06-05
1018United Kingdom2024-06-05
1019Argentina2024-06-06
1020Spain2024-06-04
1021Argentina2024-05-30
1022Japan2024-05-31
1023Japan2024-06-19
1024Canada2024-06-02
1025Japan2024-06-19
1026Brazil2024-06-15
1027Brazil2024-06-16
1028France2024-06-02
1029Australia2024-06-12
1030Russia2024-05-30
1031Russia2024-05-26
1032Brazil2024-05-28
1033Argentina2024-05-30
1034India2024-06-20
1035United Kingdom2024-06-11
1036Spain2024-06-21
1037Canada2024-06-13
1038India2024-06-03
1039Argentina2024-06-13
1040Italy2024-05-28
1041India2024-06-04
1042Italy2024-05-30
1043Japan2024-06-16
1044Germany2024-05-29
1045India2024-05-29
1046France2024-05-30
1047Brazil2024-05-30
1048Argentina2024-06-21
1049Argentina2024-06-12

On-Demand Data

NameIdCountryDate
Greenwood C Ostrosky1000Russia2024-06-14
Wickens U Oldroyd1001Germany2024-06-09
Jones Y Briddick1002Italy2024-06-06
Smith A Butt1003United Kingdom2024-05-31
Sinclair V Saylors1004Japan2024-06-07
Sinclair W Foller1005Australia2024-06-09
Alejandro L Flosi1006Germany2024-05-30
Izzy Q Sergi1007Canada2024-06-10
Chavez D Paprocki1008Canada2024-06-01
Greenwood Y Nestle1009Germany2024-06-07
Aika J Darakjy1010Australia2024-06-03
Misaki V Poquette1011Japan2024-06-15
David Y Briddick1012Canada2024-05-26
Mayumi I Ferencz1013Russia2024-06-07
Arvin M Darakjy1014France2024-06-14
Sinclair M Foller1015Russia2024-06-18
Juan N Ostrosky1016Italy2024-06-21
David X Caldarera1017Australia2024-06-05
Leon U Rulapaugh1018France2024-05-26
Mujtaba R Waycott1019France2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Q RoysterJapanIvan Magalhaes UNQUALIFIED
Ivar Z CaudyJapanElwin Sharvill QUALIFIED
Clifford G FlosiArgentinaIvan Magalhaes NEGOTIATION
Alejandro Q FigeroaRussiaBernardo Dominic NEGOTIATION
Jennifer Z SlusarskiSpainXuxue Feng UNQUALIFIED
Alejandro V NickaRussiaAsiya Javayant PROPOSAL
Wickens Y AmigonBrazilOnyama Limba RENEWAL
Ashley X FollerGermanyOnyama Limba RENEWAL
Murillo H GarufiAustraliaAsiya Javayant NEGOTIATION
Morrow D NestleFranceIvan Magalhaes RENEWAL
Tony W FerenczIndiaIvan Magalhaes NEW
Isabel E DarakjyFranceAmy Elsner NEW
Deepesh V PoquetteBrazilAmy Elsner RENEWAL
Leja J BologniaCanadaIoni Bowcher QUALIFIED
Mayumi F SaylorsUnited KingdomAsiya Javayant NEW
Antonio W MorascaJapanIoni Bowcher RENEWAL
Emily U MaletIndiaAnna Fali QUALIFIED
Stacey W FollerArgentinaBernardo Dominic RENEWAL
Mayumi K MorascaBrazilAnna Fali UNQUALIFIED
Rodrigues Z CaudyItalyAsiya Javayant NEGOTIATION
Kaitlin K WhobreyGermanyElwin Sharvill NEW
Leja P RimRussiaAsiya Javayant NEGOTIATION
David Q KuskoAustraliaAsiya Javayant PROPOSAL
Claire G DilliardGermanyAsiya Javayant UNQUALIFIED
Claire I PerinSpainElwin Sharvill RENEWAL
Johnson S AlbaresArgentinaIoni Bowcher RENEWAL
James U MorascaIndiaIvan Magalhaes PROPOSAL
Nicolas V FerenczRussiaOnyama Limba UNQUALIFIED
Jeanfrancois R ShinkoGermanyIoni Bowcher UNQUALIFIED
Cody W RoysterIndiaIvan Magalhaes NEGOTIATION
Mujtaba S RutaGermanyAsiya Javayant PROPOSAL
Francesco A NestleFranceBernardo Dominic NEGOTIATION
Smith F MarrierSpainStephen Shaw RENEWAL
Ivar Y KuskoRussiaBernardo Dominic QUALIFIED
Faith O MaletArgentinaAsiya Javayant RENEWAL
Jones I MarrierJapanAmy Elsner UNQUALIFIED
Mayumi H StockhamUnited KingdomAnna Fali QUALIFIED
Greenwood W FollerIndiaOnyama Limba NEGOTIATION
Ivar W ButtRussiaAsiya Javayant UNQUALIFIED
Arvin N MorascaIndiaOnyama Limba NEW

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