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 FigeroaUnited KingdomElwin Sharvill QUALIFIED
Kadeem A CaldareraJapanStephen Shaw QUALIFIED
Mayumi U DilliardIndiaOnyama Limba UNQUALIFIED
Johnson Z SlusarskiGermanyXuxue Feng PROPOSAL
Nicolas J GillianUnited KingdomAsiya Javayant NEW
Jeanfrancois N MorascaJapanBernardo Dominic RENEWAL
Kaitlin L SlusarskiCanadaXuxue Feng PROPOSAL
Antonio F TollnerSpainIoni Bowcher QUALIFIED
Claire G GillianSpainAnna Fali PROPOSAL
Juan Y SchemmerCanadaIoni Bowcher UNQUALIFIED
Ashley V WieserBrazilAmy Elsner PROPOSAL
Salvatore V BowleyJapanElwin Sharvill UNQUALIFIED
Mujtaba C FerenczJapanElwin Sharvill PROPOSAL
Misaki K AlbaresRussiaStephen Shaw QUALIFIED
David B PerinAustraliaIoni Bowcher PROPOSAL
Deepesh G DilliardGermanyXuxue Feng PROPOSAL
Octavia R KuskoJapanAmy Elsner PROPOSAL
Costa K DoeCanadaXuxue Feng QUALIFIED
Stacey J StockhamAustraliaXuxue Feng PROPOSAL
Cody M FlosiRussiaAsiya Javayant QUALIFIED
Julie W RimRussiaElwin Sharvill PROPOSAL
Ashley Q DoeRussiaXuxue Feng RENEWAL
Juan E WhobreyRussiaElwin Sharvill NEGOTIATION
Maria D MaletBrazilBernardo Dominic UNQUALIFIED
Costa J MorascaIndiaBernardo Dominic NEGOTIATION
Alejandro G NestleRussiaIvan Magalhaes NEW
Chavez J GarufiIndiaIoni Bowcher QUALIFIED
Munro C KuskoFranceXuxue Feng PROPOSAL
Mayumi I DoeIndiaAnna Fali NEW
Octavia O DoeGermanyAsiya Javayant NEGOTIATION
Ashley R FollerCanadaAnna Fali UNQUALIFIED
Kaitlin H AmigonAustraliaStephen Shaw QUALIFIED
Nicolas D BriddickFranceIvan Magalhaes UNQUALIFIED
Sinclair F FigeroaRussiaXuxue Feng QUALIFIED
Cody N BriddickRussiaElwin Sharvill PROPOSAL
Ivar N MorascaAustraliaBernardo Dominic NEGOTIATION
David D MorascaJapanIvan Magalhaes PROPOSAL
Isabel L OldroydAustraliaOnyama Limba QUALIFIED
Aruna M NestleGermanyBernardo Dominic NEGOTIATION
Jefferson Z OldroydSpainOnyama Limba NEW
Silvio F PerinIndiaAmy Elsner PROPOSAL
Octavia G BowleyRussiaAmy Elsner PROPOSAL
Alejandro H GauchoItalyOnyama Limba NEW
Izzy B CaudyIndiaAsiya Javayant PROPOSAL
Maisha S SergiGermanyElwin Sharvill UNQUALIFIED
Ivar P GillianCanadaBernardo Dominic NEW
Jefferson T IturbideItalyIoni Bowcher NEW
Alejandro L GillianBrazilAsiya Javayant RENEWAL
Jefferson Z BowleyAustraliaAmy Elsner NEW
Izzy G PerinJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem J TollnerBrazilXuxue Feng UNQUALIFIED
Johnson K AlbaresFranceIvan Magalhaes UNQUALIFIED
Johnson M NickaIndiaBernardo Dominic UNQUALIFIED
Antonio F MorascaRussiaAsiya Javayant NEGOTIATION
Julie W FigeroaCanadaXuxue Feng PROPOSAL
Tony J SergiItalyAmy Elsner QUALIFIED
Rodrigues F MorascaIndiaOnyama Limba PROPOSAL
Darci I KuskoCanadaAmy Elsner QUALIFIED
Nicolas B CampainArgentinaStephen Shaw RENEWAL
Misaki O SchemmerRussiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi C WaycottRussia2026-07-27Benton, John B Jr QUALIFIED71Amy Elsner
1001Stacey W GauchoArgentina2026-07-12Commercial Press NEW53Ivan Magalhaes
1002Silvio H OldroydArgentina2026-07-31Buckley Miller Wright QUALIFIED89Onyama Limba
1003Ricardo K OstroskyItaly2026-07-23Buckley Miller Wright RENEWAL72Xuxue Feng
1004Rodrigues Y SaylorsFrance2026-07-19Printing Dimensions RENEWAL75Anna Fali
1005Kaitlin E NickaArgentina2026-07-19Dorl, James J Esq RENEWAL10Stephen Shaw
1006Salvatore A DarakjyCanada2026-08-06Rangoni Of Florence QUALIFIED7Elwin Sharvill
1007Greenwood K VocelkaItaly2026-08-06Truhlar And Truhlar Attys NEW65Ivan Magalhaes
1008Ivar H FlosiAustralia2026-07-17Truhlar And Truhlar Attys PROPOSAL94Ioni Bowcher
1009Murillo S RimBrazil2026-07-15Chanay, Jeffrey A Esq PROPOSAL89Ioni Bowcher
1010Leja J SergiBrazil2026-07-30Chanay, Jeffrey A Esq QUALIFIED72Amy Elsner
1011Wickens X WieserCanada2026-07-29Buckley Miller Wright NEW84Onyama Limba
1012Munro Y StockhamSpain2026-07-26Commercial Press RENEWAL14Ioni Bowcher
1013Mayumi G PerinFrance2026-07-28Morlong Associates QUALIFIED35Anna Fali
1014Francesco L MarrierAustralia2026-08-09Benton, John B Jr QUALIFIED91Xuxue Feng
1015Smith E OldroydBrazil2026-07-26Buckley Miller Wright UNQUALIFIED94Onyama Limba
1016Julie D RimJapan2026-07-24King, Christopher A Esq QUALIFIED25Anna Fali
1017Cody Z BriddickAustralia2026-08-04Commercial Press QUALIFIED62Bernardo Dominic
1018Smith J GlickSpain2026-08-09Commercial Press RENEWAL49Ioni Bowcher
1019Costa S TollnerUnited Kingdom2026-07-13Printing Dimensions QUALIFIED93Elwin Sharvill
1020Jones D NestleItaly2026-07-22Chapman, Ross E Esq UNQUALIFIED75Ioni Bowcher
1021Greenwood B DarakjyGermany2026-08-08Buckley Miller Wright RENEWAL14Asiya Javayant
1022Tony P DilliardAustralia2026-07-14Feltz Printing Service RENEWAL92Ivan Magalhaes
1023Aika U CaudyRussia2026-07-23Dorl, James J Esq RENEWAL70Asiya Javayant
1024Isabel H WhobreyJapan2026-08-03King, Christopher A Esq NEW94Bernardo Dominic
1025Jones Q SergiArgentina2026-07-28Rangoni Of Florence NEW1Stephen Shaw
1026James E StockhamUnited Kingdom2026-08-05Chemel, James L Cpa NEGOTIATION28Bernardo Dominic
1027Clifford C StockhamCanada2026-07-14Chanay, Jeffrey A Esq RENEWAL42Ivan Magalhaes
1028Misaki A MaletGermany2026-08-04Buckley Miller Wright NEGOTIATION35Elwin Sharvill
1029Kaitlin W FerenczAustralia2026-07-16Feltz Printing Service QUALIFIED96Xuxue Feng
1030Mujtaba G GlickIndia2026-07-31Chemel, James L Cpa QUALIFIED54Xuxue Feng
1031Mujtaba E AlbaresAustralia2026-07-12Chanay, Jeffrey A Esq PROPOSAL85Asiya Javayant
1032Nicolas L AmigonBrazil2026-07-15Dorl, James J Esq PROPOSAL73Ioni Bowcher
1033Faith P MacleadUnited Kingdom2026-08-07Dorl, James J Esq RENEWAL9Amy Elsner
1034Emily U SchemmerJapan2026-07-25Commercial Press QUALIFIED75Bernardo Dominic
1035Maisha G CaudyIndia2026-07-21Feiner Bros NEGOTIATION93Anna Fali
1036Jefferson R BriddickGermany2026-07-21Chemel, James L Cpa UNQUALIFIED12Elwin Sharvill
1037Aika B WieserSpain2026-08-06Chanay, Jeffrey A Esq QUALIFIED54Asiya Javayant
1038Rodrigues L DoeIndia2026-07-26Chemel, James L Cpa RENEWAL38Amy Elsner
1039Smith M RulapaughCanada2026-08-03Morlong Associates NEGOTIATION66Anna Fali
1040Chavez Q MarrierCanada2026-07-16King, Christopher A Esq RENEWAL90Anna Fali
1041Izzy S WieserJapan2026-07-20Chapman, Ross E Esq NEGOTIATION26Bernardo Dominic
1042Murillo Q PerinGermany2026-07-22Truhlar And Truhlar Attys PROPOSAL46Anna Fali
1043Leon M GauchoGermany2026-07-25King, Christopher A Esq UNQUALIFIED73Stephen Shaw
1044Mujtaba W RutaItaly2026-07-29King, Christopher A Esq NEW16Amy Elsner
1045Leon N SergiItaly2026-07-20Rousseaux, Michael Esq NEW68Asiya Javayant
1046Ricardo A FollerArgentina2026-07-23Truhlar And Truhlar Attys NEGOTIATION29Ivan Magalhaes
1047Claire B DarakjyIndia2026-07-23Chapman, Ross E Esq RENEWAL12Elwin Sharvill
1048Ashley J DoeIndia2026-07-20Chapman, Ross E Esq QUALIFIED77Bernardo Dominic
1049Cody J ShinkoIndia2026-08-05King, Christopher A Esq PROPOSAL0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki L CampainGermanyAnna Fali QUALIFIED
Ivar T NestleCanadaStephen Shaw RENEWAL
Mujtaba C BowleyJapanOnyama Limba PROPOSAL
Aditya C WhobreyBrazilAnna Fali RENEWAL
Julie H NestleAustraliaOnyama Limba UNQUALIFIED
Munro B MaletRussiaXuxue Feng NEGOTIATION
Morrow T OstroskyIndiaIvan Magalhaes PROPOSAL
Isabel N CampainAustraliaOnyama Limba NEW
Mujtaba A KuskoSpainOnyama Limba UNQUALIFIED
Johnson K PerinUnited KingdomAnna Fali RENEWAL
Francesco L RutaArgentinaAsiya Javayant PROPOSAL
Misaki H MarrierUnited KingdomAmy Elsner UNQUALIFIED
Aditya Q CaldareraSpainAmy Elsner NEGOTIATION
Jeanfrancois X DarakjyIndiaIoni Bowcher QUALIFIED
Smith V MorascaArgentinaBernardo Dominic QUALIFIED
Alejandro F DilliardGermanyStephen Shaw RENEWAL
Isabel N AlbaresItalyBernardo Dominic NEW
James Y GillianRussiaXuxue Feng NEGOTIATION
Jennifer G NestleBrazilIvan Magalhaes PROPOSAL
Morrow S GillianCanadaIvan Magalhaes RENEWAL
Clifford G CaldareraIndiaIoni Bowcher RENEWAL
Leon Q GauchoCanadaXuxue Feng QUALIFIED
Ashley V FlosiArgentinaBernardo Dominic PROPOSAL
Sinclair T DilliardIndiaBernardo Dominic QUALIFIED
Morrow X NestleRussiaOnyama Limba NEW
Aruna K MaletSpainAsiya Javayant NEGOTIATION
Jones F GillianCanadaIvan Magalhaes NEGOTIATION
Darci W SchemmerRussiaAmy Elsner NEW
Salvatore X StockhamRussiaAnna Fali RENEWAL
Leja M StensethBrazilAsiya Javayant NEGOTIATION
Arvin V WieserAustraliaBernardo Dominic NEW
Jefferson G MaletIndiaElwin Sharvill NEW
Claire Q WieserGermanyAnna Fali QUALIFIED
David L AmigonFranceAnna Fali UNQUALIFIED
Chavez K StensethAustraliaXuxue Feng PROPOSAL
Kaitlin Z DarakjyIndiaAsiya Javayant NEGOTIATION
Jennifer S CampainArgentinaBernardo Dominic RENEWAL
Cody R MarrierRussiaXuxue Feng NEGOTIATION
Leon I GlickIndiaAmy Elsner UNQUALIFIED
Adams G KolmetzBrazilXuxue Feng UNQUALIFIED
Jones C CaldareraFranceAsiya Javayant NEGOTIATION
Mayumi P FlosiGermanyXuxue Feng UNQUALIFIED
Ivar O MorascaRussiaAsiya Javayant PROPOSAL
James S GauchoIndiaAnna Fali NEW
Nicolas R WaycottAustraliaStephen Shaw PROPOSAL
Claire W BologniaArgentinaIoni Bowcher NEW
Ricardo K RulapaughArgentinaBernardo Dominic QUALIFIED
Mujtaba Q GarufiAustraliaXuxue Feng PROPOSAL
Greenwood H WieserBrazilAmy Elsner NEW
Maria N StockhamIndiaBernardo Dominic RENEWAL
Frozen Columns
Name
Adams T Figeroa
Francesco V Stenseth
Ashley Y Campain
Julie H Venere
Murillo J Iturbide
Deepesh L Tollner
Ivar H Ferencz
Tony U Foller
Ivar N Kolmetz
Antonio H Gaucho
Leja F Shinko
Leon D Saylors
Maisha Q Wieser
Arvin Z Oldroyd
Emily W Glick
Julie X Foller
Leon D Chui
Alejandro O Slusarski
Misaki S Wieser
Ivar Y Ferencz
Isabel P Sergi
Silvio U Malet
Kadeem X Bowley
Johnson M Malet
Wickens U Schemmer
Jennifer V Sergi
Faith W Malet
Ashley T Albares
Clifford F Chui
Emily T Sergi
Aruna B Royster
Jones W Saylors
Mayumi O Caudy
Maisha O Nicka
Silvio J Rulapaugh
Aruna F Morasca
Leja X Shinko
Izzy B Briddick
Jones C Nicka
Juan W Rim
Ashley U Campain
Aruna X Ferencz
David O Gaucho
Nicolas B Doe
Maisha H Ostrosky
Rodrigues E Gaucho
Julie R Kusko
Murillo I Waycott
Jeanfrancois K Ferencz
James K Saylors
IdCountryDate
1000Canada2026-08-05
1001Argentina2026-07-30
1002France2026-07-29
1003France2026-08-08
1004Australia2026-07-23
1005Italy2026-07-25
1006Argentina2026-07-21
1007Germany2026-07-18
1008Italy2026-08-03
1009Brazil2026-08-08
1010Canada2026-08-09
1011Germany2026-08-02
1012Russia2026-07-12
1013France2026-07-28
1014Germany2026-08-01
1015Brazil2026-08-07
1016United Kingdom2026-07-21
1017Germany2026-08-06
1018Russia2026-07-27
1019France2026-07-20
1020United Kingdom2026-07-14
1021Canada2026-08-07
1022Brazil2026-07-23
1023Germany2026-07-27
1024Brazil2026-07-20
1025India2026-07-29
1026Australia2026-08-08
1027Japan2026-07-29
1028Russia2026-07-30
1029Argentina2026-07-28
1030Brazil2026-07-13
1031Spain2026-07-12
1032United Kingdom2026-07-15
1033Spain2026-07-25
1034France2026-07-30
1035Australia2026-07-31
1036Australia2026-08-05
1037Spain2026-08-03
1038United Kingdom2026-08-09
1039Russia2026-07-29
1040India2026-08-05
1041United Kingdom2026-08-08
1042Australia2026-07-22
1043France2026-07-26
1044Spain2026-07-13
1045United Kingdom2026-07-25
1046Argentina2026-08-05
1047Australia2026-07-30
1048Brazil2026-08-02
1049Argentina2026-07-15

On-Demand Data

NameIdCountryDate
Jennifer N Caudy1000France2026-07-12
Chavez I Caudy1001Brazil2026-07-17
Munro U Bowley1002Japan2026-07-23
Jefferson H Venere1003Russia2026-07-29
Izzy N Darakjy1004Argentina2026-07-20
Deepesh R Butt1005Italy2026-07-17
Juan P Rulapaugh1006Brazil2026-08-05
Cody N Gaucho1007Spain2026-08-01
Clifford K Kusko1008India2026-07-27
Aditya B Gaucho1009India2026-08-07
Kaitlin T Kolmetz1010Spain2026-07-24
Tony F Dilliard1011Russia2026-08-03
Murillo J Slusarski1012United Kingdom2026-07-12
Izzy V Darakjy1013United Kingdom2026-07-29
Jefferson T Venere1014United Kingdom2026-07-20
Mujtaba W Vocelka1015United Kingdom2026-08-05
Chavez F Glick1016Germany2026-07-16
Munro H Saylors1017Argentina2026-07-26
Johnson G Nestle1018Argentina2026-07-19
Mayumi T Darakjy1019Brazil2026-07-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo N GlickRussiaOnyama Limba NEW
Nicolas Z BriddickArgentinaIvan Magalhaes QUALIFIED
Leja X IturbideJapanBernardo Dominic PROPOSAL
Murillo V KolmetzGermanyStephen Shaw PROPOSAL
Kaitlin H AlbaresItalyAsiya Javayant NEW
Aika H VocelkaFranceElwin Sharvill UNQUALIFIED
Emily Z GauchoArgentinaXuxue Feng NEGOTIATION
Jennifer O SaylorsCanadaElwin Sharvill RENEWAL
Rodrigues M AlbaresBrazilBernardo Dominic NEGOTIATION
Maria S ShinkoGermanyAsiya Javayant QUALIFIED
Stacey D MaletAustraliaAsiya Javayant NEGOTIATION
Faith M DarakjyBrazilAnna Fali NEW
Maisha W DarakjyAustraliaIoni Bowcher RENEWAL
Ivar E RoysterJapanStephen Shaw UNQUALIFIED
Murillo J CaudyItalyIvan Magalhaes NEW
Ricardo Y WhobreyRussiaIvan Magalhaes UNQUALIFIED
Aditya E PoquetteIndiaIvan Magalhaes PROPOSAL
Deepesh W TollnerArgentinaAmy Elsner QUALIFIED
Claire N MorascaBrazilXuxue Feng NEGOTIATION
Ashley Q AlbaresGermanyOnyama Limba RENEWAL
Darci G RutaSpainIoni Bowcher QUALIFIED
Morrow F KuskoBrazilAsiya Javayant PROPOSAL
Tony U GauchoBrazilOnyama Limba QUALIFIED
Darci J StensethSpainStephen Shaw UNQUALIFIED
Ivar A BologniaArgentinaStephen Shaw RENEWAL
Jennifer P RutaBrazilXuxue Feng UNQUALIFIED
Claire Z AlbaresArgentinaStephen Shaw NEW
Leja B OstroskyCanadaElwin Sharvill QUALIFIED
Aruna D DilliardIndiaOnyama Limba PROPOSAL
Maria W PaprockiCanadaXuxue Feng RENEWAL
Adams L BologniaRussiaIoni Bowcher PROPOSAL
Claire A RulapaughItalyStephen Shaw NEW
David U NestleBrazilElwin Sharvill NEGOTIATION
Maisha R CaldareraRussiaAmy Elsner NEW
Costa S OstroskyItalyAmy Elsner QUALIFIED
Deepesh I RimArgentinaAsiya Javayant NEGOTIATION
Sinclair D NestleIndiaBernardo Dominic UNQUALIFIED
Darci S NickaArgentinaIvan Magalhaes NEW
Mujtaba I GarufiIndiaStephen Shaw NEGOTIATION
Izzy Z InouyeFranceAmy Elsner NEGOTIATION

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