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 Y MaletSpainElwin Sharvill PROPOSAL
Wickens U IturbideAustraliaIvan Magalhaes RENEWAL
Faith W InouyeUnited KingdomAsiya Javayant NEW
Mayumi Q DoeRussiaAsiya Javayant RENEWAL
Antonio I MaletSpainStephen Shaw PROPOSAL
Costa V KolmetzUnited KingdomAnna Fali QUALIFIED
Juan K PerinRussiaXuxue Feng NEGOTIATION
Greenwood R IturbideArgentinaAnna Fali UNQUALIFIED
Deepesh R BriddickItalyXuxue Feng NEW
Ashley J FollerGermanyAmy Elsner RENEWAL
Nicolas T MaletBrazilAnna Fali PROPOSAL
Misaki W MorascaSpainAnna Fali PROPOSAL
Kadeem T ChuiJapanStephen Shaw NEW
Johnson F GauchoArgentinaBernardo Dominic NEW
Sinclair N SlusarskiRussiaElwin Sharvill RENEWAL
Salvatore M DilliardIndiaIvan Magalhaes PROPOSAL
Kadeem C DilliardCanadaBernardo Dominic RENEWAL
Johnson N RoysterGermanyIoni Bowcher QUALIFIED
Aditya D DilliardGermanyAmy Elsner NEGOTIATION
Murillo L FerenczIndiaElwin Sharvill QUALIFIED
Ivar K KuskoArgentinaStephen Shaw UNQUALIFIED
Wickens G BologniaUnited KingdomStephen Shaw NEW
Ashley N SchemmerRussiaAmy Elsner NEGOTIATION
Rodrigues T RutaUnited KingdomOnyama Limba NEW
Aika U RimJapanIvan Magalhaes PROPOSAL
Silvio P SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer L MarrierCanadaAnna Fali UNQUALIFIED
Mujtaba S FlosiGermanyOnyama Limba QUALIFIED
Salvatore K GlickFranceIvan Magalhaes NEGOTIATION
Julie T FerenczUnited KingdomOnyama Limba PROPOSAL
Emily B CampainJapanAmy Elsner RENEWAL
Claire G InouyeIndiaBernardo Dominic RENEWAL
Chavez I CaudyCanadaOnyama Limba RENEWAL
Cody R RutaArgentinaIvan Magalhaes RENEWAL
Murillo E DarakjyGermanyElwin Sharvill NEGOTIATION
Murillo Q ShinkoItalyBernardo Dominic UNQUALIFIED
Ricardo R StensethBrazilAsiya Javayant NEGOTIATION
Jones U StockhamAustraliaBernardo Dominic RENEWAL
Salvatore X CampainFranceStephen Shaw RENEWAL
Rodrigues T GillianIndiaIoni Bowcher NEGOTIATION
Julie C FerenczGermanyIvan Magalhaes RENEWAL
Adams Q BriddickRussiaBernardo Dominic QUALIFIED
James S FollerBrazilOnyama Limba UNQUALIFIED
James O SlusarskiRussiaStephen Shaw UNQUALIFIED
Maisha B VenereAustraliaOnyama Limba NEGOTIATION
David B ShinkoRussiaOnyama Limba UNQUALIFIED
Francesco L CaldareraCanadaIoni Bowcher NEGOTIATION
Morrow Y DarakjyUnited KingdomAnna Fali UNQUALIFIED
Clifford D ButtCanadaAsiya Javayant UNQUALIFIED
Aditya T WhobreyAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford H ChuiArgentinaAmy Elsner QUALIFIED
Munro F OstroskyArgentinaOnyama Limba UNQUALIFIED
Claire B BowleyJapanAmy Elsner UNQUALIFIED
Clifford V FollerItalyXuxue Feng RENEWAL
Ashley P IturbideJapanBernardo Dominic RENEWAL
Ashley R OstroskyGermanyStephen Shaw NEW
Jeanfrancois B MarrierBrazilAmy Elsner NEGOTIATION
Costa G NickaJapanStephen Shaw QUALIFIED
Izzy S GauchoBrazilAsiya Javayant NEW
Ivar F MacleadRussiaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha B FigeroaFrance2026-08-01Chanay, Jeffrey A Esq PROPOSAL88Anna Fali
1001Sinclair D VenereSpain2026-07-25Commercial Press NEW20Elwin Sharvill
1002Nicolas G KuskoUnited Kingdom2026-07-19Rangoni Of Florence PROPOSAL45Onyama Limba
1003David P FigeroaItaly2026-07-18King, Christopher A Esq UNQUALIFIED12Stephen Shaw
1004Ivar Y NickaSpain2026-08-08Commercial Press NEGOTIATION5Onyama Limba
1005Wickens A OldroydJapan2026-08-09Chanay, Jeffrey A Esq RENEWAL8Anna Fali
1006Julie E IturbideItaly2026-07-28Rangoni Of Florence QUALIFIED22Amy Elsner
1007Jefferson A CampainAustralia2026-08-08Truhlar And Truhlar Attys RENEWAL76Onyama Limba
1008Mayumi X OldroydSpain2026-08-04Dorl, James J Esq NEW77Ivan Magalhaes
1009Arvin C WieserUnited Kingdom2026-07-19Feiner Bros NEGOTIATION64Asiya Javayant
1010Mujtaba A PoquetteAustralia2026-07-30Rousseaux, Michael Esq QUALIFIED2Onyama Limba
1011Maria E CaldareraCanada2026-08-10Dorl, James J Esq UNQUALIFIED37Stephen Shaw
1012Tony P VenereIndia2026-07-28Benton, John B Jr PROPOSAL92Stephen Shaw
1013Costa E MaletJapan2026-07-31Chemel, James L Cpa NEW38Elwin Sharvill
1014Jeanfrancois J VenereBrazil2026-08-02Chanay, Jeffrey A Esq QUALIFIED57Xuxue Feng
1015Kaitlin H SergiFrance2026-07-30Buckley Miller Wright PROPOSAL83Onyama Limba
1016Mujtaba K FlosiAustralia2026-07-22Printing Dimensions RENEWAL0Ivan Magalhaes
1017David B GlickUnited Kingdom2026-07-28Truhlar And Truhlar Attys UNQUALIFIED17Amy Elsner
1018Sinclair W WaycottJapan2026-08-01Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1019Munro B RoysterGermany2026-08-04King, Christopher A Esq PROPOSAL82Asiya Javayant
1020Murillo V SaylorsBrazil2026-08-12Printing Dimensions NEW35Xuxue Feng
1021Kaitlin R BologniaAustralia2026-08-06King, Christopher A Esq RENEWAL34Amy Elsner
1022Ivar A NestleRussia2026-07-17Commercial Press RENEWAL83Elwin Sharvill
1023Johnson D MaletCanada2026-07-30Feltz Printing Service UNQUALIFIED66Elwin Sharvill
1024James S BriddickArgentina2026-08-08Benton, John B Jr PROPOSAL64Ioni Bowcher
1025Kaitlin G GauchoGermany2026-07-24Benton, John B Jr RENEWAL41Stephen Shaw
1026Ivar D IturbideArgentina2026-07-16Printing Dimensions NEW34Xuxue Feng
1027Ivar D NestleUnited Kingdom2026-08-06Benton, John B Jr NEGOTIATION24Ivan Magalhaes
1028Aditya Y FigeroaGermany2026-07-24King, Christopher A Esq PROPOSAL73Xuxue Feng
1029Kadeem X StensethAustralia2026-07-21King, Christopher A Esq RENEWAL25Stephen Shaw
1030Ricardo H StockhamSpain2026-07-28Printing Dimensions RENEWAL46Xuxue Feng
1031Salvatore D RutaRussia2026-07-26Benton, John B Jr PROPOSAL10Elwin Sharvill
1032Greenwood K ShinkoFrance2026-07-28Rousseaux, Michael Esq PROPOSAL26Bernardo Dominic
1033Clifford M BologniaSpain2026-07-31Feiner Bros RENEWAL12Anna Fali
1034Greenwood I WaycottFrance2026-08-07Benton, John B Jr UNQUALIFIED71Ivan Magalhaes
1035Emily P SaylorsFrance2026-08-11Rangoni Of Florence NEW99Anna Fali
1036Aditya K SchemmerJapan2026-07-25Chapman, Ross E Esq QUALIFIED68Asiya Javayant
1037Morrow R SlusarskiCanada2026-08-03Commercial Press QUALIFIED62Ivan Magalhaes
1038Faith O OldroydRussia2026-07-23Feiner Bros PROPOSAL77Elwin Sharvill
1039Juan R BologniaGermany2026-07-27Morlong Associates NEGOTIATION72Asiya Javayant
1040David E GarufiSpain2026-07-16Rangoni Of Florence RENEWAL22Bernardo Dominic
1041Emily K AlbaresFrance2026-08-10Printing Dimensions PROPOSAL78Stephen Shaw
1042Arvin U TollnerJapan2026-08-03Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1043Greenwood M CampainBrazil2026-07-17Rangoni Of Florence RENEWAL90Anna Fali
1044David A MaletBrazil2026-08-01Chanay, Jeffrey A Esq PROPOSAL3Ioni Bowcher
1045Smith P GarufiJapan2026-08-10Printing Dimensions NEW77Asiya Javayant
1046Darci I DarakjySpain2026-07-29Printing Dimensions NEGOTIATION50Onyama Limba
1047Julie G WaycottGermany2026-07-25Feltz Printing Service NEGOTIATION66Ioni Bowcher
1048Ivar P MarrierBrazil2026-07-28Rangoni Of Florence NEGOTIATION73Bernardo Dominic
1049Mayumi I OstroskyArgentina2026-08-13King, Christopher A Esq PROPOSAL42Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin G WhobreyUnited KingdomBernardo Dominic NEW
Smith F FigeroaGermanyIoni Bowcher QUALIFIED
Aika Y RoysterFranceStephen Shaw RENEWAL
Aika V NestleGermanyIoni Bowcher UNQUALIFIED
Isabel M OstroskyIndiaBernardo Dominic NEW
Leja O WhobreyAustraliaIvan Magalhaes NEGOTIATION
Aika V MorascaArgentinaAmy Elsner PROPOSAL
Leon L GauchoIndiaIoni Bowcher PROPOSAL
Munro E GarufiIndiaAnna Fali QUALIFIED
Kadeem E NestleSpainBernardo Dominic QUALIFIED
Salvatore Q DoeGermanyOnyama Limba PROPOSAL
Francesco F RulapaughArgentinaXuxue Feng QUALIFIED
Costa X CampainAustraliaAnna Fali NEGOTIATION
Aditya M MaletBrazilElwin Sharvill NEW
Maria X KolmetzBrazilElwin Sharvill NEGOTIATION
Jones O MaletCanadaElwin Sharvill RENEWAL
Emily Q ChuiFranceBernardo Dominic NEGOTIATION
Juan G BologniaItalyBernardo Dominic NEW
Johnson O GarufiSpainStephen Shaw NEW
Tony F StensethRussiaIvan Magalhaes UNQUALIFIED
Costa R MacleadGermanyXuxue Feng QUALIFIED
Greenwood I MarrierGermanyAsiya Javayant PROPOSAL
James D RimItalyOnyama Limba NEGOTIATION
Octavia H ShinkoFranceIvan Magalhaes QUALIFIED
James Q FerenczJapanBernardo Dominic RENEWAL
Munro Y BowleyGermanyIoni Bowcher QUALIFIED
Munro M StockhamCanadaElwin Sharvill RENEWAL
Antonio F MaletArgentinaAnna Fali PROPOSAL
Chavez E RoysterJapanXuxue Feng RENEWAL
Adams D ChuiItalyIoni Bowcher NEW
Sinclair T GarufiJapanIoni Bowcher QUALIFIED
Ashley V SlusarskiIndiaAsiya Javayant NEW
Mayumi U RimIndiaAmy Elsner NEW
Salvatore Z FlosiRussiaElwin Sharvill QUALIFIED
Smith D GlickFranceAsiya Javayant UNQUALIFIED
Francesco Z CampainAustraliaAmy Elsner NEW
Aditya R MaletItalyBernardo Dominic RENEWAL
Salvatore X VocelkaAustraliaXuxue Feng NEGOTIATION
Deepesh M MaletSpainIvan Magalhaes PROPOSAL
Kadeem Q FigeroaCanadaAsiya Javayant NEW
James S KuskoAustraliaXuxue Feng QUALIFIED
Mayumi X GlickItalyIoni Bowcher NEW
Ivar B FigeroaAustraliaStephen Shaw PROPOSAL
Aruna R BowleyUnited KingdomXuxue Feng NEGOTIATION
Adams H ButtCanadaAnna Fali PROPOSAL
David C DarakjyFranceAmy Elsner NEGOTIATION
Antonio H IturbideAustraliaBernardo Dominic QUALIFIED
Mujtaba F CaldareraCanadaAnna Fali RENEWAL
Octavia Y KolmetzItalyIvan Magalhaes RENEWAL
Wickens Z DilliardAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Deepesh E Royster
Jefferson V Nicka
Nicolas R Iturbide
Maisha S Saylors
Jennifer R Royster
Izzy J Paprocki
Leon X Royster
Ashley X Vocelka
Antonio D Shinko
Jefferson X Oldroyd
Cody R Saylors
Darci R Figeroa
Rodrigues C Stenseth
Misaki L Glick
Smith C Bowley
Jones Q Garufi
Rodrigues F Malet
Francesco F Bowley
Arvin T Perin
Mayumi K Kusko
Silvio I Royster
Jeanfrancois W Morasca
Mujtaba R Bowley
Salvatore O Flosi
Alejandro T Ostrosky
Octavia T Slusarski
Jennifer W Foller
Darci A Schemmer
Misaki B Glick
Faith X Dilliard
Munro M Perin
Jennifer Y Darakjy
Darci X Stockham
Jeanfrancois U Gillian
Emily E Sergi
Sinclair H Oldroyd
Ricardo G Campain
Juan O Garufi
Jones A Schemmer
Mayumi M Albares
Aditya L Stenseth
Mujtaba L Doe
Clifford X Nestle
Jefferson N Butt
Jefferson O Garufi
Jeanfrancois F Gaucho
Sinclair J Poquette
Ricardo M Saylors
Morrow U Slusarski
Chavez T Stockham
IdCountryDate
1000Argentina2026-07-18
1001Italy2026-07-21
1002Canada2026-07-30
1003Brazil2026-07-28
1004Australia2026-07-26
1005France2026-07-28
1006Japan2026-08-13
1007Russia2026-07-23
1008United Kingdom2026-08-02
1009Germany2026-07-22
1010United Kingdom2026-08-01
1011Italy2026-07-29
1012Japan2026-07-23
1013India2026-08-05
1014Russia2026-08-06
1015Brazil2026-08-04
1016Australia2026-07-29
1017India2026-08-11
1018Russia2026-07-17
1019Russia2026-07-28
1020Canada2026-07-30
1021Russia2026-08-09
1022Brazil2026-08-07
1023Australia2026-08-03
1024India2026-07-28
1025Russia2026-08-03
1026Japan2026-07-15
1027Spain2026-08-01
1028Italy2026-07-17
1029Canada2026-08-13
1030France2026-08-04
1031United Kingdom2026-07-22
1032Argentina2026-07-31
1033Germany2026-08-03
1034Germany2026-07-21
1035United Kingdom2026-07-22
1036Australia2026-07-18
1037Argentina2026-07-26
1038France2026-07-24
1039India2026-07-29
1040Canada2026-07-30
1041Japan2026-08-13
1042France2026-08-12
1043Argentina2026-08-08
1044United Kingdom2026-08-04
1045Australia2026-08-13
1046Brazil2026-07-19
1047Canada2026-07-27
1048Russia2026-08-09
1049Canada2026-07-23

On-Demand Data

NameIdCountryDate
Rodrigues V Paprocki1000France2026-07-15
Izzy B Kusko1001Canada2026-08-13
Aika K Dilliard1002Spain2026-07-29
Antonio M Chui1003Australia2026-07-22
Isabel G Sergi1004Australia2026-07-20
Faith L Morasca1005Japan2026-08-10
Misaki B Amigon1006Canada2026-08-12
Francesco D Malet1007Germany2026-07-29
Kadeem Y Perin1008Brazil2026-08-06
James Z Marrier1009Australia2026-07-27
Stacey I Stenseth1010Spain2026-08-12
Chavez L Caldarera1011Italy2026-07-29
Tony P Maclead1012Italy2026-07-25
Cody I Darakjy1013Italy2026-07-27
Octavia I Wieser1014Spain2026-07-20
Rodrigues M Amigon1015Italy2026-07-30
Adams P Royster1016Germany2026-07-24
Darci X Vocelka1017Germany2026-08-05
Isabel L Tollner1018Spain2026-08-04
Antonio Y Marrier1019France2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo N SlusarskiArgentinaElwin Sharvill RENEWAL
Clifford J WaycottAustraliaElwin Sharvill RENEWAL
Maria G MarrierBrazilAmy Elsner UNQUALIFIED
Johnson E BriddickRussiaStephen Shaw RENEWAL
Alejandro I SergiFranceStephen Shaw QUALIFIED
James Y IturbideItalyIvan Magalhaes NEW
Darci G GarufiSpainXuxue Feng RENEWAL
Mayumi W MaletFranceAmy Elsner RENEWAL
Mayumi C MorascaGermanyElwin Sharvill QUALIFIED
Leja C StockhamBrazilIvan Magalhaes QUALIFIED
Misaki U WieserFranceOnyama Limba NEGOTIATION
Alejandro V BriddickRussiaOnyama Limba NEW
Isabel G WaycottIndiaXuxue Feng RENEWAL
Murillo F BriddickArgentinaAmy Elsner NEW
Smith X KuskoCanadaAsiya Javayant RENEWAL
Munro M PaprockiSpainAmy Elsner PROPOSAL
Aruna M SchemmerSpainIoni Bowcher UNQUALIFIED
Maria F GauchoUnited KingdomStephen Shaw NEW
Greenwood B InouyeAustraliaStephen Shaw QUALIFIED
Maisha X PaprockiBrazilBernardo Dominic QUALIFIED
Mayumi C BowleyGermanyIoni Bowcher PROPOSAL
Aruna P SlusarskiGermanyAsiya Javayant QUALIFIED
Aika V RoysterUnited KingdomStephen Shaw PROPOSAL
Salvatore L BowleyIndiaElwin Sharvill QUALIFIED
Aruna A PerinAustraliaIvan Magalhaes NEW
Nicolas S BologniaCanadaStephen Shaw NEGOTIATION
Stacey U KuskoRussiaAmy Elsner NEGOTIATION
Jennifer A CaudySpainBernardo Dominic NEGOTIATION
Jeanfrancois G SchemmerRussiaBernardo Dominic PROPOSAL
Salvatore I SlusarskiAustraliaIoni Bowcher PROPOSAL
David S FlosiFranceAsiya Javayant QUALIFIED
Morrow V MacleadFranceIvan Magalhaes QUALIFIED
Octavia I FlosiBrazilOnyama Limba PROPOSAL
Emily K FerenczIndiaOnyama Limba RENEWAL
Adams L FigeroaBrazilElwin Sharvill RENEWAL
Francesco H FigeroaFranceXuxue Feng NEGOTIATION
Aditya W PoquetteUnited KingdomAnna Fali UNQUALIFIED
Izzy K SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Emily L KuskoArgentinaAsiya Javayant NEGOTIATION
Leon W AmigonIndiaIvan Magalhaes QUALIFIED

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