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
Adams Z IturbideBrazilElwin Sharvill PROPOSAL
Kadeem V CampainCanadaStephen Shaw QUALIFIED
Stacey N PoquetteFranceElwin Sharvill PROPOSAL
Jones T OldroydAustraliaIvan Magalhaes QUALIFIED
Mayumi C TollnerAustraliaAmy Elsner NEGOTIATION
David Y GauchoRussiaXuxue Feng RENEWAL
Munro T CaudyItalyElwin Sharvill RENEWAL
Jones O ShinkoItalyStephen Shaw NEW
Maisha D NickaSpainAsiya Javayant UNQUALIFIED
Greenwood Z AmigonUnited KingdomAmy Elsner NEGOTIATION
Jones S VocelkaRussiaElwin Sharvill UNQUALIFIED
Morrow R RimJapanOnyama Limba RENEWAL
Johnson N RutaArgentinaIoni Bowcher NEGOTIATION
Chavez A MaletRussiaXuxue Feng NEW
Cody U ButtItalyIvan Magalhaes NEW
Chavez X VocelkaSpainXuxue Feng PROPOSAL
Alejandro I KuskoSpainBernardo Dominic QUALIFIED
Darci X RoysterSpainAmy Elsner RENEWAL
Chavez W PaprockiBrazilAmy Elsner RENEWAL
Smith X BriddickJapanElwin Sharvill PROPOSAL
James V WaycottUnited KingdomAnna Fali UNQUALIFIED
Mujtaba J GillianAustraliaIvan Magalhaes NEGOTIATION
Darci J PerinCanadaIvan Magalhaes QUALIFIED
Sinclair N BologniaSpainAnna Fali QUALIFIED
Greenwood V AmigonBrazilAsiya Javayant NEGOTIATION
Jefferson A GlickUnited KingdomAmy Elsner RENEWAL
Wickens T WaycottJapanXuxue Feng QUALIFIED
Antonio G AmigonAustraliaOnyama Limba QUALIFIED
Aditya K FerenczUnited KingdomBernardo Dominic NEGOTIATION
Leon K VenereFranceOnyama Limba UNQUALIFIED
Isabel K IturbideRussiaElwin Sharvill UNQUALIFIED
Sinclair M CaldareraAustraliaOnyama Limba QUALIFIED
James U MarrierArgentinaAsiya Javayant NEW
Adams X BologniaArgentinaXuxue Feng NEW
Rodrigues C GillianSpainIoni Bowcher NEGOTIATION
Cody C VocelkaRussiaAmy Elsner NEGOTIATION
Julie I MaletRussiaXuxue Feng UNQUALIFIED
Rodrigues Q WieserItalyAnna Fali UNQUALIFIED
Adams C AlbaresRussiaStephen Shaw NEW
Faith B AlbaresArgentinaXuxue Feng UNQUALIFIED
Wickens K PaprockiSpainIoni Bowcher NEW
Julie K WhobreyJapanAsiya Javayant NEGOTIATION
Faith T OstroskyIndiaOnyama Limba NEGOTIATION
Ricardo O FlosiFranceXuxue Feng PROPOSAL
Costa Q DilliardGermanyBernardo Dominic PROPOSAL
Clifford G PaprockiFranceStephen Shaw QUALIFIED
Silvio P FollerFranceIvan Magalhaes QUALIFIED
Faith H RulapaughBrazilBernardo Dominic NEGOTIATION
Isabel V NestleAustraliaXuxue Feng NEW
Izzy H BologniaUnited KingdomAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh P RutaSpainAsiya Javayant PROPOSAL
Sinclair R DarakjyBrazilXuxue Feng UNQUALIFIED
Kadeem X CampainAustraliaOnyama Limba QUALIFIED
Isabel W FollerRussiaXuxue Feng UNQUALIFIED
Aditya K MorascaAustraliaAsiya Javayant RENEWAL
Faith K GlickSpainAsiya Javayant QUALIFIED
Tony Z WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues B GarufiIndiaStephen Shaw RENEWAL
Maisha G PerinGermanyBernardo Dominic PROPOSAL
Jennifer J MorascaSpainAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria H KuskoUnited Kingdom2025-06-09Chanay, Jeffrey A Esq NEGOTIATION10Bernardo Dominic
1001Maisha M RulapaughItaly2025-05-22Truhlar And Truhlar Attys UNQUALIFIED92Bernardo Dominic
1002Izzy Y KolmetzBrazil2025-05-19Feltz Printing Service NEGOTIATION95Asiya Javayant
1003Aruna W GlickFrance2025-05-27Buckley Miller Wright RENEWAL44Xuxue Feng
1004Aika H NickaGermany2025-05-20King, Christopher A Esq PROPOSAL39Elwin Sharvill
1005Nicolas W SaylorsAustralia2025-05-26Morlong Associates NEW72Onyama Limba
1006Faith D OstroskyRussia2025-06-01Benton, John B Jr NEW69Stephen Shaw
1007Ashley Z IturbideIndia2025-05-30Chemel, James L Cpa PROPOSAL82Onyama Limba
1008Julie D NestleIndia2025-05-23Feltz Printing Service UNQUALIFIED94Asiya Javayant
1009Wickens J RimFrance2025-05-21Printing Dimensions NEGOTIATION29Elwin Sharvill
1010Ashley A StensethJapan2025-05-20Chemel, James L Cpa RENEWAL52Amy Elsner
1011Adams I CaldareraGermany2025-05-29Chemel, James L Cpa PROPOSAL11Anna Fali
1012Juan I VenereIndia2025-06-11Printing Dimensions UNQUALIFIED32Bernardo Dominic
1013Arvin M InouyeSpain2025-06-14Printing Dimensions RENEWAL89Xuxue Feng
1014Maria P MorascaSpain2025-06-08Rousseaux, Michael Esq PROPOSAL22Stephen Shaw
1015Adams H GillianSpain2025-06-14Feltz Printing Service RENEWAL47Anna Fali
1016Maisha Q TollnerAustralia2025-05-22Buckley Miller Wright QUALIFIED92Stephen Shaw
1017James G CampainGermany2025-06-05Commercial Press NEW29Amy Elsner
1018Kaitlin J RutaGermany2025-06-10Feiner Bros UNQUALIFIED62Ivan Magalhaes
1019Maisha O SergiGermany2025-06-06Truhlar And Truhlar Attys PROPOSAL59Xuxue Feng
1020Antonio S DilliardSpain2025-05-26Chapman, Ross E Esq NEW12Ivan Magalhaes
1021Silvio Y FigeroaItaly2025-05-18Printing Dimensions NEGOTIATION34Elwin Sharvill
1022Jeanfrancois J WhobreyIndia2025-06-08Rousseaux, Michael Esq UNQUALIFIED52Xuxue Feng
1023Claire R CaldareraGermany2025-05-29Rousseaux, Michael Esq QUALIFIED59Bernardo Dominic
1024Kadeem C RutaFrance2025-06-12Benton, John B Jr NEGOTIATION36Ioni Bowcher
1025Mujtaba V AlbaresCanada2025-05-25Feltz Printing Service UNQUALIFIED28Ioni Bowcher
1026Wickens D TollnerArgentina2025-06-04Buckley Miller Wright RENEWAL7Anna Fali
1027David M ChuiJapan2025-05-28Dorl, James J Esq UNQUALIFIED36Amy Elsner
1028Johnson L SaylorsCanada2025-05-23Truhlar And Truhlar Attys UNQUALIFIED39Ivan Magalhaes
1029Emily L WhobreyAustralia2025-06-08Rangoni Of Florence NEGOTIATION81Asiya Javayant
1030Clifford M OldroydGermany2025-06-12Printing Dimensions QUALIFIED62Stephen Shaw
1031Arvin L PoquetteAustralia2025-06-07Rangoni Of Florence QUALIFIED44Anna Fali
1032Stacey Y TollnerBrazil2025-05-26Feltz Printing Service PROPOSAL1Xuxue Feng
1033Octavia G KuskoAustralia2025-05-27King, Christopher A Esq PROPOSAL62Stephen Shaw
1034Juan F VenereCanada2025-06-01Feltz Printing Service QUALIFIED47Ioni Bowcher
1035Francesco W NickaUnited Kingdom2025-06-02Printing Dimensions PROPOSAL61Stephen Shaw
1036Nicolas E OstroskyJapan2025-05-21Benton, John B Jr RENEWAL19Ioni Bowcher
1037Faith L AmigonJapan2025-05-27Benton, John B Jr UNQUALIFIED33Anna Fali
1038Nicolas A AmigonSpain2025-06-03Dorl, James J Esq PROPOSAL32Xuxue Feng
1039Silvio J AmigonIndia2025-06-07Chemel, James L Cpa NEGOTIATION45Asiya Javayant
1040Isabel W StensethArgentina2025-06-02Feiner Bros PROPOSAL66Stephen Shaw
1041Deepesh U ButtSpain2025-06-05Dorl, James J Esq QUALIFIED93Xuxue Feng
1042Aruna J BowleyJapan2025-06-08Chemel, James L Cpa NEW26Ivan Magalhaes
1043Jefferson F SlusarskiIndia2025-06-12Rangoni Of Florence QUALIFIED42Ivan Magalhaes
1044Rodrigues I PaprockiCanada2025-06-04Rousseaux, Michael Esq NEGOTIATION70Amy Elsner
1045Wickens F RimRussia2025-05-29Printing Dimensions UNQUALIFIED41Ioni Bowcher
1046Julie Y StensethAustralia2025-06-04Feltz Printing Service QUALIFIED39Xuxue Feng
1047Jennifer J MaletArgentina2025-06-04Buckley Miller Wright RENEWAL73Bernardo Dominic
1048Faith G PerinRussia2025-06-06Chapman, Ross E Esq UNQUALIFIED16Amy Elsner
1049Chavez A CampainGermany2025-06-04Chapman, Ross E Esq NEW91Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ivar E MaletAustraliaIvan Magalhaes RENEWAL
Ricardo R DoeUnited KingdomElwin Sharvill QUALIFIED
Isabel B WieserIndiaBernardo Dominic RENEWAL
Jeanfrancois S BologniaRussiaElwin Sharvill NEGOTIATION
Antonio I SlusarskiRussiaAmy Elsner RENEWAL
Stacey J MaletBrazilBernardo Dominic PROPOSAL
Jones A SergiCanadaBernardo Dominic NEGOTIATION
Juan N VenereItalyXuxue Feng RENEWAL
Francesco N MaletArgentinaElwin Sharvill NEGOTIATION
Maisha M WhobreyJapanIvan Magalhaes RENEWAL
Smith Z GillianFranceStephen Shaw NEW
Emily V MarrierUnited KingdomIvan Magalhaes NEW
Greenwood T MaletUnited KingdomOnyama Limba NEW
Aruna W GauchoUnited KingdomIvan Magalhaes QUALIFIED
Stacey K ShinkoRussiaAmy Elsner UNQUALIFIED
Ashley E WaycottRussiaStephen Shaw QUALIFIED
Ashley P TollnerBrazilStephen Shaw UNQUALIFIED
Munro T WhobreyItalyBernardo Dominic NEGOTIATION
Jeanfrancois T FlosiJapanElwin Sharvill NEGOTIATION
Munro M GauchoJapanAnna Fali QUALIFIED
Isabel Q PoquetteRussiaAsiya Javayant NEGOTIATION
Faith D RimGermanyAsiya Javayant NEW
Leja S NestleIndiaAsiya Javayant RENEWAL
Tony R NestleFranceAsiya Javayant PROPOSAL
Clifford F WhobreyCanadaAnna Fali NEW
Stacey W CaudyCanadaAnna Fali RENEWAL
Aika Q PerinJapanStephen Shaw QUALIFIED
Jones A OstroskyBrazilXuxue Feng NEGOTIATION
James X WaycottBrazilXuxue Feng NEGOTIATION
Ivar G MorascaArgentinaBernardo Dominic QUALIFIED
Ashley R GauchoUnited KingdomElwin Sharvill NEGOTIATION
Sinclair V NestleBrazilStephen Shaw NEW
Silvio C PaprockiIndiaAmy Elsner UNQUALIFIED
Jefferson U MacleadJapanBernardo Dominic QUALIFIED
Aruna U PoquetteRussiaXuxue Feng RENEWAL
Chavez G FigeroaBrazilOnyama Limba NEGOTIATION
Aika B BriddickAustraliaElwin Sharvill PROPOSAL
Chavez E BriddickUnited KingdomAsiya Javayant PROPOSAL
Nicolas Z ShinkoGermanyStephen Shaw RENEWAL
Leon K NestleBrazilBernardo Dominic QUALIFIED
Misaki F BriddickGermanyAmy Elsner UNQUALIFIED
Maisha I GauchoJapanOnyama Limba NEGOTIATION
Kadeem Z MaletIndiaAsiya Javayant NEW
Salvatore V VocelkaIndiaStephen Shaw NEGOTIATION
Aditya W FerenczSpainIoni Bowcher NEGOTIATION
Wickens U WaycottFranceBernardo Dominic UNQUALIFIED
Arvin T FlosiGermanyOnyama Limba NEGOTIATION
Ashley Q BologniaUnited KingdomStephen Shaw QUALIFIED
Antonio U OstroskyRussiaAnna Fali PROPOSAL
Mayumi X MarrierCanadaXuxue Feng RENEWAL
Frozen Columns
Name
Nicolas H Whobrey
Jennifer C Perin
Costa R Malet
Emily Q Saylors
Ashley B Poquette
Ivar U Rim
Mayumi D Inouye
Darci X Campain
James T Nicka
Mayumi E Nestle
Chavez E Malet
Arvin W Briddick
Adams W Ruta
Faith V Caldarera
David F Flosi
Chavez V Nestle
Leja Z Wieser
Tony S Royster
Ivar Q Rim
Clifford I Amigon
Juan O Malet
Aditya Z Rulapaugh
Aruna X Dilliard
Darci R Maclead
Stacey D Marrier
Murillo C Dilliard
Octavia G Vocelka
Francesco G Figeroa
Mayumi E Paprocki
David D Iturbide
Juan R Royster
Kadeem J Poquette
Jefferson N Gaucho
Salvatore X Butt
Kaitlin H Bowley
Ivar J Vocelka
Murillo Z Foller
Aruna T Albares
Octavia T Tollner
Maria C Waycott
Ivar L Iturbide
Ricardo B Dilliard
Octavia I Chui
Kaitlin A Maclead
Maisha S Nicka
David T Whobrey
Mayumi K Caudy
Mayumi S Paprocki
Jones T Malet
Chavez P Rulapaugh
IdCountryDate
1000Australia2025-06-16
1001Brazil2025-06-09
1002Argentina2025-06-12
1003Australia2025-05-24
1004Spain2025-05-27
1005Japan2025-05-21
1006Spain2025-06-16
1007Argentina2025-06-05
1008Russia2025-06-07
1009Australia2025-05-24
1010Russia2025-05-29
1011Canada2025-05-29
1012Japan2025-06-16
1013Spain2025-06-12
1014Italy2025-05-25
1015Brazil2025-06-10
1016United Kingdom2025-05-25
1017Australia2025-05-20
1018Australia2025-05-21
1019Canada2025-06-07
1020Argentina2025-06-04
1021Italy2025-06-15
1022Spain2025-05-26
1023United Kingdom2025-06-06
1024India2025-06-03
1025Russia2025-05-28
1026India2025-06-06
1027Brazil2025-06-11
1028Brazil2025-06-10
1029Germany2025-06-07
1030Japan2025-05-20
1031Brazil2025-06-02
1032Germany2025-05-27
1033Brazil2025-06-10
1034Canada2025-06-14
1035India2025-06-01
1036France2025-06-04
1037Argentina2025-05-24
1038Argentina2025-05-29
1039Argentina2025-05-25
1040Italy2025-06-07
1041Italy2025-06-06
1042Brazil2025-06-05
1043Spain2025-06-15
1044Italy2025-05-27
1045Germany2025-06-08
1046Italy2025-06-09
1047Germany2025-05-19
1048France2025-06-11
1049Australia2025-05-18

On-Demand Data

NameIdCountryDate
Julie M Gillian1000Spain2025-06-05
Smith H Ostrosky1001France2025-05-18
Murillo K Gillian1002Russia2025-05-30
Wickens Y Kusko1003France2025-06-15
Stacey W Shinko1004Japan2025-06-04
Murillo Q Saylors1005United Kingdom2025-05-25
Ricardo D Briddick1006Germany2025-06-07
Morrow J Caudy1007Australia2025-06-06
Alejandro E Briddick1008Germany2025-06-14
Misaki M Butt1009Australia2025-06-10
David W Foller1010Japan2025-05-29
Morrow R Marrier1011France2025-06-15
Ricardo A Chui1012France2025-06-15
Greenwood L Ferencz1013Germany2025-05-25
Munro A Stockham1014Australia2025-05-18
Misaki E Ferencz1015Australia2025-05-30
Alejandro S Campain1016Australia2025-05-21
Antonio V Nicka1017United Kingdom2025-05-21
Emily U Rulapaugh1018Italy2025-05-18
Johnson H Nicka1019Germany2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U FlosiIndiaIoni Bowcher RENEWAL
Sinclair K SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Munro U StensethRussiaIvan Magalhaes UNQUALIFIED
Ashley W WaycottFranceIvan Magalhaes NEW
Deepesh A WieserIndiaXuxue Feng NEGOTIATION
Murillo F MacleadArgentinaAsiya Javayant QUALIFIED
Silvio J BologniaSpainAmy Elsner NEGOTIATION
Munro I OldroydGermanyIoni Bowcher NEW
Silvio F VenereJapanAsiya Javayant PROPOSAL
Misaki V VocelkaItalyAmy Elsner RENEWAL
Munro H RulapaughGermanyElwin Sharvill RENEWAL
Sinclair O IturbideCanadaIoni Bowcher NEGOTIATION
Deepesh T ChuiFranceElwin Sharvill RENEWAL
Chavez A MacleadRussiaIvan Magalhaes NEGOTIATION
Salvatore Q MorascaRussiaAnna Fali UNQUALIFIED
Francesco N PerinBrazilOnyama Limba UNQUALIFIED
David W DoeGermanyOnyama Limba PROPOSAL
Greenwood F ChuiRussiaStephen Shaw QUALIFIED
Kadeem J WieserBrazilAsiya Javayant QUALIFIED
Munro T PaprockiIndiaXuxue Feng NEGOTIATION
Octavia X TollnerItalyXuxue Feng QUALIFIED
Greenwood T FigeroaIndiaIoni Bowcher NEW
Darci H MarrierJapanStephen Shaw RENEWAL
Jones N SaylorsCanadaOnyama Limba QUALIFIED
Aditya R StockhamAustraliaAsiya Javayant RENEWAL
Leja L DoeBrazilBernardo Dominic RENEWAL
Morrow A KolmetzRussiaAsiya Javayant NEW
Kaitlin I GauchoIndiaStephen Shaw NEW
Jeanfrancois L SchemmerRussiaIoni Bowcher NEW
Aditya D AlbaresGermanyStephen Shaw QUALIFIED
Julie J RoysterUnited KingdomIvan Magalhaes PROPOSAL
Mayumi G StensethGermanyAnna Fali NEGOTIATION
Nicolas G GlickUnited KingdomXuxue Feng UNQUALIFIED
Nicolas A SchemmerAustraliaIvan Magalhaes PROPOSAL
Munro S PoquetteCanadaBernardo Dominic PROPOSAL
Maria S GauchoIndiaXuxue Feng NEW
Greenwood T BowleyJapanBernardo Dominic QUALIFIED
Jeanfrancois W PerinFranceBernardo Dominic NEW
Ricardo P InouyeItalyAnna Fali NEGOTIATION
Wickens D AmigonBrazilStephen Shaw 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>