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
David D SlusarskiUnited KingdomAmy Elsner NEW
Kaitlin F MorascaGermanyAsiya Javayant PROPOSAL
Aruna N DilliardUnited KingdomStephen Shaw NEGOTIATION
Stacey G SchemmerItalyAsiya Javayant QUALIFIED
Salvatore E TollnerUnited KingdomAsiya Javayant QUALIFIED
Faith Y GlickAustraliaBernardo Dominic UNQUALIFIED
Deepesh S RutaRussiaStephen Shaw QUALIFIED
Chavez D GillianIndiaBernardo Dominic NEW
Silvio Z SergiUnited KingdomAnna Fali PROPOSAL
Tony S BologniaCanadaIoni Bowcher QUALIFIED
Silvio M ButtFranceStephen Shaw PROPOSAL
Smith Z PerinCanadaOnyama Limba NEW
Francesco D NickaItalyElwin Sharvill NEW
Ashley L GillianCanadaXuxue Feng NEW
Aika O KolmetzRussiaAnna Fali QUALIFIED
Jones D FigeroaGermanyIoni Bowcher UNQUALIFIED
David O MacleadJapanBernardo Dominic NEW
Deepesh J ShinkoRussiaAsiya Javayant RENEWAL
Mayumi T RimGermanyOnyama Limba QUALIFIED
Maisha H StockhamUnited KingdomIoni Bowcher RENEWAL
Salvatore R CaldareraItalyBernardo Dominic NEGOTIATION
Faith B CaldareraSpainIoni Bowcher QUALIFIED
Wickens D BowleyRussiaAsiya Javayant NEGOTIATION
Julie Z RutaSpainElwin Sharvill RENEWAL
Mujtaba O DilliardIndiaIoni Bowcher QUALIFIED
Johnson G BowleyArgentinaElwin Sharvill QUALIFIED
Greenwood W PaprockiArgentinaIoni Bowcher NEGOTIATION
Julie K BowleyCanadaStephen Shaw NEGOTIATION
Greenwood D SergiUnited KingdomXuxue Feng QUALIFIED
Ricardo E WieserGermanyBernardo Dominic QUALIFIED
David H KuskoUnited KingdomAnna Fali NEGOTIATION
Kaitlin D MarrierItalyAnna Fali RENEWAL
Darci V WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues L GarufiUnited KingdomIoni Bowcher RENEWAL
Ricardo K WhobreyAustraliaIvan Magalhaes PROPOSAL
Octavia T MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Wickens L RimIndiaIvan Magalhaes RENEWAL
Wickens V DarakjyJapanAsiya Javayant RENEWAL
David A CaudyJapanAsiya Javayant PROPOSAL
Nicolas Y FollerJapanIoni Bowcher QUALIFIED
Juan K RimCanadaAmy Elsner PROPOSAL
Alejandro O GauchoRussiaElwin Sharvill NEW
Maria Z DoeRussiaElwin Sharvill NEW
Misaki N WieserGermanyAnna Fali RENEWAL
Greenwood U VenereIndiaXuxue Feng PROPOSAL
Kadeem L CaudyItalyXuxue Feng UNQUALIFIED
Wickens V StockhamIndiaAmy Elsner QUALIFIED
Murillo C OstroskyAustraliaElwin Sharvill UNQUALIFIED
Morrow V RulapaughUnited KingdomStephen Shaw PROPOSAL
Clifford K ButtItalyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas G AmigonRussiaOnyama Limba NEGOTIATION
Mujtaba H TollnerIndiaStephen Shaw NEW
Murillo D MaletRussiaElwin Sharvill RENEWAL
Deepesh M OstroskyRussiaStephen Shaw PROPOSAL
Francesco X MacleadSpainBernardo Dominic QUALIFIED
Morrow E AmigonGermanyElwin Sharvill NEGOTIATION
Isabel G ChuiItalyAmy Elsner PROPOSAL
Silvio H DilliardUnited KingdomAnna Fali NEGOTIATION
Francesco K VocelkaJapanStephen Shaw PROPOSAL
Emily S OstroskyArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin V FollerCanada2026-06-25Chapman, Ross E Esq NEGOTIATION33Anna Fali
1001Aditya F MarrierArgentina2026-06-23Benton, John B Jr PROPOSAL95Ivan Magalhaes
1002Sinclair Y WaycottJapan2026-06-14Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1003Maisha Q MaletArgentina2026-06-30Feltz Printing Service UNQUALIFIED68Elwin Sharvill
1004Kadeem H DilliardUnited Kingdom2026-06-12Truhlar And Truhlar Attys QUALIFIED40Ivan Magalhaes
1005Clifford Y RutaGermany2026-06-21Commercial Press QUALIFIED62Onyama Limba
1006Jennifer F GlickFrance2026-06-14Feltz Printing Service PROPOSAL8Bernardo Dominic
1007Smith B GlickUnited Kingdom2026-06-28Truhlar And Truhlar Attys UNQUALIFIED23Bernardo Dominic
1008Mujtaba T InouyeIndia2026-06-27Rangoni Of Florence PROPOSAL24Ioni Bowcher
1009Ashley L FollerBrazil2026-06-09King, Christopher A Esq QUALIFIED21Xuxue Feng
1010Octavia L StockhamUnited Kingdom2026-06-19Morlong Associates RENEWAL40Stephen Shaw
1011Jefferson G KuskoUnited Kingdom2026-06-18Rangoni Of Florence QUALIFIED73Anna Fali
1012Isabel G VocelkaCanada2026-06-20Feiner Bros NEGOTIATION59Ioni Bowcher
1013Francesco O ShinkoAustralia2026-07-04Feiner Bros NEW12Stephen Shaw
1014Munro O NickaIndia2026-06-19Morlong Associates NEW7Ioni Bowcher
1015Ivar K InouyeRussia2026-06-09Dorl, James J Esq PROPOSAL0Amy Elsner
1016Antonio P MaletIndia2026-06-23Printing Dimensions NEGOTIATION20Ivan Magalhaes
1017Deepesh W OldroydAustralia2026-07-06Dorl, James J Esq NEGOTIATION59Stephen Shaw
1018Tony S MarrierUnited Kingdom2026-06-13Commercial Press RENEWAL94Stephen Shaw
1019James A ButtIndia2026-06-21Buckley Miller Wright RENEWAL96Xuxue Feng
1020Greenwood O VocelkaGermany2026-06-27Buckley Miller Wright PROPOSAL83Xuxue Feng
1021Ashley F DarakjyCanada2026-06-29Morlong Associates NEW30Bernardo Dominic
1022Salvatore D PaprockiArgentina2026-06-11Benton, John B Jr PROPOSAL35Amy Elsner
1023Ricardo J WaycottFrance2026-07-04Feltz Printing Service NEW26Amy Elsner
1024Murillo R PoquetteArgentina2026-07-02Feltz Printing Service NEW75Ivan Magalhaes
1025Octavia B SaylorsJapan2026-06-11King, Christopher A Esq RENEWAL2Onyama Limba
1026Nicolas N RulapaughArgentina2026-07-05Morlong Associates NEW79Ivan Magalhaes
1027Cody I FigeroaArgentina2026-07-07Benton, John B Jr PROPOSAL23Elwin Sharvill
1028Leja K InouyeSpain2026-06-27King, Christopher A Esq NEW25Onyama Limba
1029Adams O BowleyJapan2026-06-24Buckley Miller Wright NEGOTIATION36Stephen Shaw
1030Ricardo W MarrierGermany2026-07-07King, Christopher A Esq UNQUALIFIED29Anna Fali
1031Johnson I SergiUnited Kingdom2026-06-17Feltz Printing Service NEGOTIATION38Elwin Sharvill
1032Alejandro H InouyeRussia2026-06-19Benton, John B Jr PROPOSAL42Stephen Shaw
1033Leon I MacleadCanada2026-06-15Buckley Miller Wright QUALIFIED74Asiya Javayant
1034Aditya F TollnerCanada2026-07-06Buckley Miller Wright QUALIFIED74Bernardo Dominic
1035James A MacleadFrance2026-06-13Feltz Printing Service NEGOTIATION25Elwin Sharvill
1036Faith E NickaItaly2026-07-01Rousseaux, Michael Esq RENEWAL75Xuxue Feng
1037Isabel R PoquetteBrazil2026-06-11Feiner Bros NEW15Stephen Shaw
1038Francesco W FigeroaFrance2026-06-18Rousseaux, Michael Esq UNQUALIFIED14Xuxue Feng
1039Wickens G PoquetteItaly2026-06-29Chanay, Jeffrey A Esq RENEWAL2Xuxue Feng
1040Octavia J BriddickRussia2026-07-04Chanay, Jeffrey A Esq UNQUALIFIED52Ioni Bowcher
1041Maisha K GarufiIndia2026-07-07Feltz Printing Service QUALIFIED41Amy Elsner
1042Chavez Z VenereRussia2026-06-25Commercial Press PROPOSAL91Onyama Limba
1043Leja Q PerinSpain2026-06-11Morlong Associates UNQUALIFIED51Ivan Magalhaes
1044Francesco V PaprockiArgentina2026-06-13Benton, John B Jr QUALIFIED81Xuxue Feng
1045Clifford K OstroskyItaly2026-07-01Chapman, Ross E Esq QUALIFIED96Xuxue Feng
1046Stacey N SlusarskiJapan2026-06-16Morlong Associates NEW7Onyama Limba
1047Kadeem Q FerenczBrazil2026-07-04Buckley Miller Wright UNQUALIFIED71Amy Elsner
1048Isabel A AmigonItaly2026-06-26Printing Dimensions PROPOSAL49Xuxue Feng
1049Mujtaba Y KolmetzFrance2026-06-30King, Christopher A Esq RENEWAL14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens X VenereBrazilIoni Bowcher RENEWAL
Izzy R CaldareraItalyStephen Shaw UNQUALIFIED
Jeanfrancois X MaletBrazilIoni Bowcher NEW
Darci Q CaudyCanadaIvan Magalhaes NEGOTIATION
Jones W RimArgentinaIoni Bowcher QUALIFIED
Sinclair E SaylorsBrazilStephen Shaw PROPOSAL
Maria A GarufiJapanIvan Magalhaes UNQUALIFIED
Smith P RimRussiaAsiya Javayant NEW
James V RutaUnited KingdomAmy Elsner QUALIFIED
Leja Y BowleyItalyOnyama Limba PROPOSAL
Mujtaba M WieserJapanAmy Elsner RENEWAL
Julie N NickaGermanyAsiya Javayant QUALIFIED
Leja L VocelkaFranceAsiya Javayant RENEWAL
Mayumi Q ButtItalyOnyama Limba UNQUALIFIED
Ivar R PaprockiFranceBernardo Dominic QUALIFIED
Johnson Z CaldareraRussiaIvan Magalhaes NEGOTIATION
Misaki B WhobreyIndiaStephen Shaw NEGOTIATION
Izzy E KolmetzItalyElwin Sharvill PROPOSAL
Ashley K MorascaUnited KingdomStephen Shaw NEW
Jones K SaylorsJapanXuxue Feng PROPOSAL
Jones A VenereAustraliaIvan Magalhaes RENEWAL
Morrow X CampainSpainAmy Elsner RENEWAL
Mayumi V ChuiIndiaAsiya Javayant PROPOSAL
Smith O SergiIndiaIvan Magalhaes PROPOSAL
Octavia R RoysterJapanXuxue Feng PROPOSAL
Chavez A NickaAustraliaAmy Elsner NEGOTIATION
Maria M WieserAustraliaXuxue Feng UNQUALIFIED
Aditya W GillianSpainAsiya Javayant PROPOSAL
Deepesh P RutaBrazilElwin Sharvill NEW
Aika G FlosiBrazilXuxue Feng UNQUALIFIED
Darci F InouyeCanadaElwin Sharvill NEGOTIATION
James A SergiArgentinaIoni Bowcher PROPOSAL
Deepesh C ButtFranceStephen Shaw NEGOTIATION
Ivar T NickaSpainXuxue Feng NEW
Salvatore S DarakjyArgentinaAnna Fali NEGOTIATION
Jones O FigeroaArgentinaAnna Fali NEGOTIATION
Octavia G RimRussiaIoni Bowcher UNQUALIFIED
Emily J MorascaArgentinaAsiya Javayant RENEWAL
Faith P ChuiUnited KingdomXuxue Feng RENEWAL
James R IturbideJapanStephen Shaw QUALIFIED
Greenwood M InouyeCanadaAmy Elsner QUALIFIED
Leon U NickaFranceXuxue Feng RENEWAL
Murillo O BriddickRussiaAsiya Javayant PROPOSAL
James T MaletUnited KingdomOnyama Limba NEGOTIATION
James D VenereBrazilElwin Sharvill PROPOSAL
Mujtaba S RoysterUnited KingdomAmy Elsner UNQUALIFIED
Morrow K WieserSpainAsiya Javayant PROPOSAL
Nicolas S WieserRussiaElwin Sharvill NEW
James E RoysterBrazilIvan Magalhaes NEW
Arvin L AlbaresSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Salvatore B Dilliard
Chavez J Doe
Munro M Ruta
David V Amigon
Rodrigues V Vocelka
Octavia J Caudy
Ricardo R Bolognia
Murillo V Sergi
Leja P Nestle
Juan F Caldarera
Ricardo D Sergi
Maria J Malet
Chavez K Slusarski
Aruna V Butt
Leon M Gaucho
James X Saylors
Smith C Foller
Adams I Inouye
David H Shinko
Smith G Chui
Aruna Y Whobrey
Maisha L Gaucho
Darci W Malet
Costa E Tollner
Greenwood M Kolmetz
Kaitlin D Doe
Deepesh P Albares
Maria E Inouye
Costa Z Stockham
Costa O Campain
Costa I Paprocki
Mujtaba I Ruta
Leon X Shinko
Francesco H Bowley
Greenwood A Bolognia
Isabel M Darakjy
Juan R Tollner
Claire A Rulapaugh
Jefferson K Caldarera
Mujtaba W Amigon
Nicolas A Morasca
Isabel P Malet
Sinclair P Figeroa
Stacey G Poquette
Johnson B Bolognia
Mujtaba A Marrier
Adams Q Kusko
Johnson U Inouye
Faith H Oldroyd
Stacey S Stenseth
IdCountryDate
1000Russia2026-07-08
1001Australia2026-07-04
1002Italy2026-06-11
1003Australia2026-07-06
1004Russia2026-06-09
1005Brazil2026-06-12
1006Italy2026-06-16
1007Australia2026-07-03
1008Australia2026-06-22
1009Russia2026-06-24
1010Spain2026-07-02
1011United Kingdom2026-06-15
1012United Kingdom2026-06-28
1013India2026-07-05
1014France2026-07-05
1015United Kingdom2026-06-09
1016Canada2026-06-24
1017Argentina2026-06-18
1018Australia2026-06-29
1019United Kingdom2026-06-14
1020Argentina2026-06-28
1021Australia2026-06-09
1022Germany2026-07-06
1023Argentina2026-06-25
1024Australia2026-07-05
1025Australia2026-06-26
1026Japan2026-06-18
1027Australia2026-06-22
1028United Kingdom2026-07-08
1029Spain2026-06-22
1030Australia2026-07-02
1031Germany2026-06-23
1032Russia2026-06-23
1033Argentina2026-07-08
1034Germany2026-06-22
1035Brazil2026-06-22
1036India2026-06-29
1037Spain2026-06-19
1038Brazil2026-06-27
1039Canada2026-06-11
1040Germany2026-06-22
1041Italy2026-06-30
1042Japan2026-06-09
1043United Kingdom2026-06-19
1044Japan2026-06-11
1045Canada2026-06-30
1046Japan2026-06-10
1047India2026-07-04
1048Japan2026-06-09
1049United Kingdom2026-06-22

On-Demand Data

NameIdCountryDate
Kadeem W Kusko1000Australia2026-06-11
Faith X Whobrey1001India2026-07-03
Sinclair D Caldarera1002Brazil2026-06-20
Aditya S Ostrosky1003Germany2026-07-08
Misaki D Butt1004Russia2026-06-15
Adams N Saylors1005France2026-07-02
Antonio W Inouye1006Australia2026-06-25
Morrow X Malet1007Germany2026-06-30
Antonio X Venere1008Japan2026-06-22
Octavia Z Darakjy1009Japan2026-06-20
Tony R Tollner1010India2026-06-13
Jennifer O Waycott1011India2026-06-14
Murillo S Wieser1012Argentina2026-07-03
Costa T Perin1013Canada2026-06-17
David K Whobrey1014France2026-06-29
Rodrigues G Ostrosky1015France2026-07-07
Emily U Stockham1016Germany2026-06-29
Costa T Doe1017United Kingdom2026-06-27
Julie F Sergi1018Germany2026-07-01
Leon W Inouye1019Germany2026-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams B AmigonRussiaAmy Elsner NEW
Izzy W RimIndiaIoni Bowcher QUALIFIED
Aditya G FollerGermanyIvan Magalhaes NEGOTIATION
Jennifer C SaylorsItalyXuxue Feng UNQUALIFIED
Cody M CampainSpainElwin Sharvill NEGOTIATION
Cody X MorascaGermanyBernardo Dominic UNQUALIFIED
Munro D VocelkaFranceAnna Fali UNQUALIFIED
Silvio D GauchoJapanIoni Bowcher RENEWAL
Silvio P CampainItalyOnyama Limba QUALIFIED
Ivar F CaldareraAustraliaIoni Bowcher NEGOTIATION
Rodrigues U FollerArgentinaXuxue Feng RENEWAL
Aditya S VocelkaItalyAsiya Javayant QUALIFIED
Stacey Y BologniaSpainAmy Elsner NEGOTIATION
Jones U RimFranceStephen Shaw NEW
Juan H FlosiIndiaXuxue Feng RENEWAL
Misaki A IturbideSpainIvan Magalhaes PROPOSAL
Juan J RulapaughIndiaBernardo Dominic PROPOSAL
Greenwood D VocelkaJapanAnna Fali UNQUALIFIED
Emily V SergiAustraliaIvan Magalhaes QUALIFIED
Jennifer N PaprockiFranceXuxue Feng UNQUALIFIED
Claire M KuskoItalyIoni Bowcher NEW
Johnson X RoysterJapanAmy Elsner UNQUALIFIED
Morrow W DoeRussiaAsiya Javayant NEGOTIATION
Jeanfrancois G RoysterBrazilOnyama Limba NEGOTIATION
James W GauchoFranceElwin Sharvill NEW
Claire D FerenczSpainIvan Magalhaes NEGOTIATION
Misaki D SaylorsFranceBernardo Dominic NEGOTIATION
Johnson W MorascaAustraliaOnyama Limba PROPOSAL
Jones T GlickGermanyAsiya Javayant NEGOTIATION
Isabel Y CampainIndiaOnyama Limba NEGOTIATION
James B ButtIndiaOnyama Limba RENEWAL
Sinclair T PaprockiUnited KingdomOnyama Limba NEW
Mujtaba Z GauchoBrazilAsiya Javayant PROPOSAL
Morrow U VenereIndiaStephen Shaw PROPOSAL
Antonio L FollerJapanAsiya Javayant QUALIFIED
Morrow L WieserIndiaXuxue Feng NEGOTIATION
Aditya H AmigonRussiaAsiya Javayant UNQUALIFIED
David W RutaArgentinaXuxue Feng NEW
Octavia S StockhamJapanStephen Shaw RENEWAL
Mayumi C CaudyCanadaAnna Fali 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>