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
Sinclair G KuskoGermanyIoni Bowcher PROPOSAL
Kaitlin R FerenczGermanyXuxue Feng NEW
Munro D RoysterItalyElwin Sharvill RENEWAL
Ivar M BowleyAustraliaAsiya Javayant UNQUALIFIED
Stacey V GillianArgentinaAnna Fali NEGOTIATION
Stacey L VocelkaRussiaStephen Shaw NEGOTIATION
Clifford K IturbideFranceXuxue Feng NEW
Tony I PaprockiAustraliaIoni Bowcher RENEWAL
Deepesh J DarakjySpainOnyama Limba PROPOSAL
Aruna H GillianGermanyIoni Bowcher QUALIFIED
Octavia I PerinUnited KingdomAmy Elsner NEW
Ricardo Y PoquetteFranceAsiya Javayant NEW
Izzy T WieserFranceAmy Elsner UNQUALIFIED
Arvin Y RoysterJapanAmy Elsner PROPOSAL
Ashley P ShinkoBrazilXuxue Feng PROPOSAL
Jennifer I WaycottArgentinaStephen Shaw PROPOSAL
Silvio S WaycottUnited KingdomOnyama Limba PROPOSAL
Munro N MaletCanadaXuxue Feng NEW
Ivar B ShinkoSpainIvan Magalhaes NEGOTIATION
Wickens Z OstroskyBrazilAmy Elsner UNQUALIFIED
Francesco F BologniaCanadaIoni Bowcher RENEWAL
Ricardo D SlusarskiBrazilElwin Sharvill UNQUALIFIED
Munro O IturbideItalyElwin Sharvill RENEWAL
Darci Y VocelkaGermanyIoni Bowcher UNQUALIFIED
David V SlusarskiItalyIoni Bowcher UNQUALIFIED
Izzy P WaycottFranceStephen Shaw UNQUALIFIED
Ashley R TollnerArgentinaAmy Elsner RENEWAL
Silvio S PoquetteItalyElwin Sharvill PROPOSAL
Rodrigues X DoeGermanyIvan Magalhaes RENEWAL
Juan F ChuiJapanIvan Magalhaes PROPOSAL
Emily N DarakjySpainIvan Magalhaes NEGOTIATION
Aruna V GlickJapanXuxue Feng UNQUALIFIED
Ricardo I FollerRussiaElwin Sharvill QUALIFIED
Munro I VenereGermanyAsiya Javayant NEW
Francesco K GarufiUnited KingdomStephen Shaw UNQUALIFIED
Jefferson V PaprockiBrazilAsiya Javayant NEGOTIATION
Arvin L MaletFranceBernardo Dominic NEW
Wickens E BologniaSpainElwin Sharvill UNQUALIFIED
Julie H CampainSpainXuxue Feng QUALIFIED
Greenwood G FerenczRussiaIoni Bowcher RENEWAL
Arvin H WhobreyIndiaAsiya Javayant NEGOTIATION
Leja S RoysterBrazilElwin Sharvill RENEWAL
Kaitlin T MacleadRussiaIoni Bowcher PROPOSAL
Ashley R BologniaAustraliaAmy Elsner QUALIFIED
Rodrigues H OldroydItalyOnyama Limba NEW
Leon U NestleFranceXuxue Feng RENEWAL
Aditya T BriddickGermanyElwin Sharvill RENEWAL
Stacey E FollerUnited KingdomAsiya Javayant PROPOSAL
Wickens O KolmetzIndiaIoni Bowcher PROPOSAL
Deepesh L MaletSpainXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo G DilliardItalyAnna Fali QUALIFIED
Julie D FerenczJapanOnyama Limba PROPOSAL
Tony L SergiBrazilOnyama Limba RENEWAL
Alejandro B BowleyBrazilElwin Sharvill PROPOSAL
Faith G OstroskyRussiaOnyama Limba NEGOTIATION
Juan P CaudyFranceBernardo Dominic RENEWAL
Greenwood O StockhamAustraliaStephen Shaw RENEWAL
Deepesh K GillianAustraliaAnna Fali NEGOTIATION
Aika C KolmetzFranceXuxue Feng PROPOSAL
Antonio H SlusarskiAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci F SergiGermany2025-04-24Truhlar And Truhlar Attys NEW18Elwin Sharvill
1001Ricardo E RutaUnited Kingdom2025-04-24Dorl, James J Esq PROPOSAL87Asiya Javayant
1002Maisha P RutaSpain2025-04-14Dorl, James J Esq QUALIFIED27Onyama Limba
1003Izzy V GauchoGermany2025-04-14Feltz Printing Service NEGOTIATION60Onyama Limba
1004Antonio K GauchoJapan2025-05-05Commercial Press RENEWAL61Ivan Magalhaes
1005Deepesh R InouyeJapan2025-04-23King, Christopher A Esq UNQUALIFIED31Ioni Bowcher
1006Greenwood O GlickCanada2025-04-18Morlong Associates NEGOTIATION38Amy Elsner
1007Jennifer M ButtJapan2025-05-05Dorl, James J Esq QUALIFIED56Asiya Javayant
1008Sinclair V BriddickRussia2025-05-10Rangoni Of Florence PROPOSAL4Ivan Magalhaes
1009Morrow P GarufiGermany2025-05-04Rangoni Of Florence RENEWAL29Xuxue Feng
1010Tony D SchemmerIndia2025-04-30Chemel, James L Cpa UNQUALIFIED9Elwin Sharvill
1011David W RutaRussia2025-04-23Truhlar And Truhlar Attys RENEWAL52Anna Fali
1012Juan U OstroskySpain2025-04-25Feiner Bros PROPOSAL20Ioni Bowcher
1013Leon J KuskoGermany2025-04-29Chapman, Ross E Esq QUALIFIED50Amy Elsner
1014Mujtaba G OstroskyJapan2025-04-13Feltz Printing Service QUALIFIED68Onyama Limba
1015Ricardo S MaletItaly2025-04-11Chanay, Jeffrey A Esq RENEWAL63Xuxue Feng
1016Antonio E OstroskySpain2025-05-10Chapman, Ross E Esq NEW67Onyama Limba
1017Chavez H AmigonAustralia2025-04-26Feltz Printing Service NEGOTIATION0Stephen Shaw
1018Aditya T OstroskyUnited Kingdom2025-04-11Rangoni Of Florence NEW8Xuxue Feng
1019Claire P StensethAustralia2025-04-19Chemel, James L Cpa PROPOSAL1Ioni Bowcher
1020Morrow L CaudyJapan2025-04-27Chapman, Ross E Esq NEGOTIATION13Asiya Javayant
1021Kadeem P DilliardJapan2025-04-21Chemel, James L Cpa UNQUALIFIED21Asiya Javayant
1022Leja J RutaJapan2025-04-15Chanay, Jeffrey A Esq RENEWAL36Amy Elsner
1023Francesco J MorascaAustralia2025-04-23Commercial Press NEGOTIATION86Xuxue Feng
1024Mayumi N DilliardRussia2025-04-18Rousseaux, Michael Esq NEW80Bernardo Dominic
1025Ivar I DoeFrance2025-04-20Buckley Miller Wright UNQUALIFIED65Bernardo Dominic
1026Stacey S NickaUnited Kingdom2025-04-17Morlong Associates RENEWAL35Anna Fali
1027Antonio F RutaBrazil2025-04-20Dorl, James J Esq NEW51Ioni Bowcher
1028Munro B DarakjyRussia2025-04-19Chemel, James L Cpa NEGOTIATION57Ivan Magalhaes
1029Aika Y BriddickGermany2025-04-23Chemel, James L Cpa PROPOSAL42Amy Elsner
1030Stacey J OldroydSpain2025-04-26King, Christopher A Esq UNQUALIFIED66Asiya Javayant
1031Ashley R CaudySpain2025-05-09Buckley Miller Wright QUALIFIED36Ivan Magalhaes
1032Francesco N MarrierCanada2025-04-14Feltz Printing Service UNQUALIFIED36Amy Elsner
1033Munro C MarrierRussia2025-04-23Rousseaux, Michael Esq PROPOSAL52Anna Fali
1034Chavez V BowleyArgentina2025-04-18Rousseaux, Michael Esq RENEWAL0Asiya Javayant
1035Stacey L VenereUnited Kingdom2025-04-20Benton, John B Jr PROPOSAL7Xuxue Feng
1036Jeanfrancois V SchemmerSpain2025-05-07Rousseaux, Michael Esq NEGOTIATION47Elwin Sharvill
1037Leon F StensethAustralia2025-04-18Dorl, James J Esq NEGOTIATION22Ioni Bowcher
1038Cody O GillianGermany2025-05-05Chemel, James L Cpa RENEWAL16Asiya Javayant
1039Misaki G OstroskyRussia2025-05-06Chapman, Ross E Esq NEGOTIATION53Asiya Javayant
1040Salvatore Y RoysterBrazil2025-04-28King, Christopher A Esq NEGOTIATION16Xuxue Feng
1041Mayumi T FigeroaAustralia2025-05-08Rousseaux, Michael Esq NEW21Xuxue Feng
1042Stacey J DilliardCanada2025-05-04Chanay, Jeffrey A Esq NEGOTIATION97Xuxue Feng
1043Silvio U MarrierFrance2025-05-07Chanay, Jeffrey A Esq RENEWAL28Amy Elsner
1044Clifford A KuskoItaly2025-04-27King, Christopher A Esq RENEWAL28Asiya Javayant
1045Clifford C FollerUnited Kingdom2025-05-03Benton, John B Jr QUALIFIED98Bernardo Dominic
1046David M SchemmerAustralia2025-04-23King, Christopher A Esq NEW10Anna Fali
1047Rodrigues R PaprockiAustralia2025-05-02Chemel, James L Cpa PROPOSAL89Bernardo Dominic
1048Ricardo G GillianIndia2025-04-22Rangoni Of Florence NEGOTIATION48Anna Fali
1049Mujtaba X MacleadCanada2025-04-29King, Christopher A Esq PROPOSAL39Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Julie O CaudyArgentinaIvan Magalhaes RENEWAL
Mayumi Y SchemmerArgentinaBernardo Dominic NEW
Smith W RimBrazilBernardo Dominic NEW
Leon X GlickBrazilBernardo Dominic NEGOTIATION
Darci S GauchoItalyStephen Shaw UNQUALIFIED
Jones D GillianGermanyIvan Magalhaes QUALIFIED
Murillo Q CaldareraCanadaAsiya Javayant RENEWAL
Aruna I NickaFranceBernardo Dominic PROPOSAL
Francesco C NickaJapanXuxue Feng NEW
Ashley G ButtFranceBernardo Dominic UNQUALIFIED
Ricardo B ChuiItalyAmy Elsner RENEWAL
Jefferson D FollerRussiaAnna Fali PROPOSAL
Costa W BologniaAustraliaIoni Bowcher QUALIFIED
Alejandro E CampainSpainIoni Bowcher QUALIFIED
Leon Q MarrierGermanyAmy Elsner RENEWAL
Sinclair I WieserGermanyBernardo Dominic NEW
Morrow X GlickJapanBernardo Dominic NEW
Aruna C ChuiIndiaAmy Elsner NEW
James M NickaFranceAnna Fali NEW
Misaki U ButtGermanyElwin Sharvill RENEWAL
Alejandro T ChuiSpainAmy Elsner NEGOTIATION
Rodrigues U WieserCanadaIvan Magalhaes NEW
Salvatore W MarrierGermanyElwin Sharvill NEGOTIATION
Faith L CaldareraIndiaOnyama Limba QUALIFIED
Adams F MaletCanadaAnna Fali UNQUALIFIED
Salvatore B WieserRussiaAmy Elsner UNQUALIFIED
Ricardo G MacleadAustraliaOnyama Limba NEGOTIATION
Darci V CampainFranceIvan Magalhaes NEGOTIATION
Alejandro K RoysterGermanyIoni Bowcher QUALIFIED
Ashley C PerinJapanElwin Sharvill NEW
Cody K RoysterGermanyXuxue Feng PROPOSAL
Clifford O SaylorsRussiaOnyama Limba QUALIFIED
Chavez P MaletArgentinaBernardo Dominic PROPOSAL
Silvio K FollerSpainIvan Magalhaes RENEWAL
Misaki V SergiJapanIoni Bowcher NEGOTIATION
Wickens G RutaGermanyStephen Shaw NEW
Isabel G ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Adams C OstroskyRussiaXuxue Feng NEW
Isabel H SaylorsAustraliaBernardo Dominic NEW
Adams V InouyeRussiaIvan Magalhaes NEGOTIATION
Kaitlin P CaudySpainAsiya Javayant NEGOTIATION
Morrow Y ShinkoJapanIvan Magalhaes RENEWAL
Sinclair F CampainIndiaAsiya Javayant RENEWAL
Aditya R ShinkoCanadaAnna Fali RENEWAL
Jeanfrancois I OstroskySpainBernardo Dominic NEGOTIATION
Kaitlin F GauchoRussiaXuxue Feng PROPOSAL
Morrow P AmigonBrazilAmy Elsner QUALIFIED
Stacey A StensethJapanXuxue Feng QUALIFIED
Ricardo Q RoysterGermanyIvan Magalhaes NEW
Juan Q ShinkoArgentinaStephen Shaw RENEWAL
Frozen Columns
Name
Nicolas Q Darakjy
Francesco O Stenseth
Emily Q Nicka
Ashley I Foller
Julie N Stockham
Deepesh A Stockham
Ivar M Ostrosky
Kaitlin F Perin
Julie M Saylors
Rodrigues B Kolmetz
Ricardo S Schemmer
Izzy Y Malet
Jefferson E Gaucho
Maisha L Ruta
Mayumi H Chui
Jefferson N Iturbide
Emily D Gaucho
Darci D Stockham
Munro X Wieser
Darci F Flosi
Aruna J Venere
Tony C Oldroyd
Antonio Z Figeroa
Tony N Shinko
Mayumi L Gaucho
Mayumi H Whobrey
Salvatore W Flosi
Leon D Stenseth
Ivar O Oldroyd
Stacey A Bolognia
Tony J Perin
Silvio D Royster
Jennifer O Saylors
Aika O Iturbide
Darci B Shinko
Kadeem D Malet
Nicolas Q Foller
Johnson N Gaucho
Sinclair U Whobrey
Murillo N Paprocki
Claire L Bolognia
Jennifer M Nestle
Juan G Gillian
Izzy G Inouye
Deepesh C Inouye
Misaki U Kusko
Izzy Z Waycott
Jefferson V Chui
Emily S Albares
Francesco U Chui
IdCountryDate
1000Germany2025-04-30
1001India2025-04-12
1002Argentina2025-04-26
1003Brazil2025-05-02
1004Argentina2025-04-18
1005Italy2025-05-04
1006Russia2025-04-13
1007Italy2025-04-23
1008Argentina2025-05-01
1009Argentina2025-05-08
1010Italy2025-05-07
1011Spain2025-04-16
1012Japan2025-04-29
1013Japan2025-04-26
1014Spain2025-04-13
1015Argentina2025-05-07
1016India2025-04-21
1017United Kingdom2025-04-17
1018Argentina2025-04-20
1019Germany2025-04-15
1020Canada2025-04-16
1021Italy2025-04-22
1022Australia2025-04-24
1023Argentina2025-05-07
1024Canada2025-04-17
1025Argentina2025-04-16
1026Argentina2025-04-20
1027Canada2025-04-27
1028India2025-05-10
1029Australia2025-04-24
1030United Kingdom2025-05-01
1031Italy2025-05-09
1032Australia2025-05-05
1033India2025-04-26
1034India2025-04-15
1035Russia2025-04-18
1036Italy2025-04-14
1037Italy2025-05-01
1038Germany2025-05-04
1039Russia2025-05-06
1040United Kingdom2025-04-13
1041Canada2025-04-16
1042Canada2025-04-20
1043Germany2025-05-05
1044Brazil2025-04-16
1045Australia2025-04-28
1046India2025-04-21
1047Argentina2025-04-26
1048Russia2025-04-21
1049Brazil2025-04-16

On-Demand Data

NameIdCountryDate
Misaki T Saylors1000Spain2025-04-28
Adams U Stenseth1001Australia2025-04-28
Jeanfrancois K Maclead1002Spain2025-04-15
Emily C Stockham1003Spain2025-04-12
Clifford N Figeroa1004Australia2025-04-15
Antonio H Vocelka1005Germany2025-04-30
Maisha I Chui1006Germany2025-05-04
Claire K Campain1007India2025-05-08
Salvatore G Ostrosky1008Brazil2025-04-27
Francesco P Marrier1009Russia2025-05-10
Leja H Iturbide1010Italy2025-04-16
Aika E Nicka1011Canada2025-05-05
Johnson K Oldroyd1012Spain2025-04-26
Isabel U Marrier1013Brazil2025-05-10
Morrow P Nicka1014Australia2025-04-27
David E Gaucho1015Russia2025-04-26
Julie J Waycott1016Russia2025-05-03
Claire W Iturbide1017Italy2025-05-10
Isabel V Whobrey1018Brazil2025-04-24
Murillo V Rulapaugh1019United Kingdom2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika O WhobreyUnited KingdomOnyama Limba NEW
Nicolas X KolmetzIndiaOnyama Limba NEW
Costa P NickaUnited KingdomBernardo Dominic UNQUALIFIED
Maria N NestleFranceBernardo Dominic NEGOTIATION
Maria P NestleItalyAsiya Javayant QUALIFIED
Silvio X OldroydCanadaElwin Sharvill QUALIFIED
David R PoquetteIndiaIvan Magalhaes RENEWAL
Leja U SaylorsBrazilOnyama Limba NEW
Arvin Q SaylorsRussiaBernardo Dominic RENEWAL
Jennifer X TollnerArgentinaIvan Magalhaes RENEWAL
Costa A FlosiCanadaOnyama Limba QUALIFIED
Aditya S MaletArgentinaXuxue Feng NEGOTIATION
Stacey D GillianIndiaIvan Magalhaes PROPOSAL
Ivar Q DilliardJapanIvan Magalhaes PROPOSAL
Maria L WhobreyGermanyIvan Magalhaes NEW
Rodrigues S StockhamJapanElwin Sharvill UNQUALIFIED
Juan P MacleadItalyAmy Elsner NEGOTIATION
Ricardo I IturbideFranceElwin Sharvill UNQUALIFIED
Emily O AmigonRussiaXuxue Feng PROPOSAL
Silvio A FollerUnited KingdomOnyama Limba PROPOSAL
Juan V FlosiGermanyElwin Sharvill UNQUALIFIED
Juan A MarrierGermanyAnna Fali NEW
Silvio K SlusarskiGermanyElwin Sharvill UNQUALIFIED
Octavia I InouyeCanadaOnyama Limba NEW
Ivar R BriddickUnited KingdomElwin Sharvill PROPOSAL
Misaki I PaprockiRussiaIvan Magalhaes QUALIFIED
Deepesh D NestleRussiaAnna Fali UNQUALIFIED
Ashley M MacleadGermanyElwin Sharvill RENEWAL
Octavia I CampainRussiaIvan Magalhaes NEGOTIATION
Alejandro C AlbaresRussiaIoni Bowcher UNQUALIFIED
Mujtaba R DilliardRussiaOnyama Limba UNQUALIFIED
Leon N MorascaSpainStephen Shaw NEGOTIATION
Salvatore W TollnerItalyIvan Magalhaes NEW
David R SlusarskiFranceAmy Elsner PROPOSAL
Faith G DarakjyFranceAsiya Javayant PROPOSAL
Mayumi A SergiItalyAnna Fali NEGOTIATION
Juan S CampainItalyStephen Shaw RENEWAL
Jennifer X KuskoArgentinaOnyama Limba NEW
Mayumi O FlosiItalyAmy Elsner QUALIFIED
Ricardo M NickaCanadaXuxue Feng 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>