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
Murillo V CampainItalyBernardo Dominic RENEWAL
Greenwood D PerinAustraliaIoni Bowcher QUALIFIED
Emily I VocelkaAustraliaIoni Bowcher UNQUALIFIED
Jefferson I CaldareraRussiaIvan Magalhaes UNQUALIFIED
Aditya O BologniaSpainElwin Sharvill NEGOTIATION
Aika S RutaBrazilStephen Shaw UNQUALIFIED
Greenwood W FigeroaArgentinaXuxue Feng UNQUALIFIED
Morrow L MaletJapanAmy Elsner UNQUALIFIED
Munro P RimItalyAsiya Javayant UNQUALIFIED
Julie R WieserSpainAsiya Javayant PROPOSAL
Aruna T PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Emily B VocelkaRussiaBernardo Dominic PROPOSAL
Faith V MacleadUnited KingdomAsiya Javayant NEGOTIATION
Ivar D PaprockiBrazilAmy Elsner PROPOSAL
Kaitlin R DilliardSpainAnna Fali PROPOSAL
Ivar F GillianArgentinaOnyama Limba UNQUALIFIED
James F WaycottArgentinaXuxue Feng QUALIFIED
Chavez M CaldareraGermanyAnna Fali NEGOTIATION
David G ShinkoBrazilIvan Magalhaes NEW
Nicolas P MacleadGermanyStephen Shaw RENEWAL
Tony K GarufiSpainElwin Sharvill RENEWAL
Sinclair M InouyeRussiaAsiya Javayant PROPOSAL
Jones V AmigonBrazilIvan Magalhaes RENEWAL
Chavez I AlbaresFranceElwin Sharvill RENEWAL
David F KolmetzAustraliaElwin Sharvill NEGOTIATION
Julie C SergiGermanyBernardo Dominic PROPOSAL
Greenwood I StensethFranceIvan Magalhaes RENEWAL
Greenwood R CaldareraAustraliaAmy Elsner PROPOSAL
Maisha R WaycottAustraliaOnyama Limba PROPOSAL
Kaitlin Q RimFranceIvan Magalhaes UNQUALIFIED
Maria S NickaBrazilOnyama Limba RENEWAL
Juan M MarrierJapanAmy Elsner UNQUALIFIED
Leja W BowleySpainIvan Magalhaes NEW
Kadeem I IturbideIndiaAsiya Javayant UNQUALIFIED
Greenwood A SergiItalyOnyama Limba UNQUALIFIED
Morrow P DoeGermanyXuxue Feng QUALIFIED
Jennifer S MorascaSpainAmy Elsner UNQUALIFIED
Mujtaba G KuskoUnited KingdomAnna Fali NEGOTIATION
Salvatore C MacleadAustraliaBernardo Dominic PROPOSAL
Misaki L NestleUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois P StockhamAustraliaAsiya Javayant PROPOSAL
Aika I GauchoUnited KingdomOnyama Limba NEGOTIATION
Kadeem Y CaudyGermanyElwin Sharvill QUALIFIED
Leon U DarakjySpainIoni Bowcher NEW
Wickens A AlbaresUnited KingdomAmy Elsner NEW
Maisha N StensethCanadaStephen Shaw QUALIFIED
Isabel T FlosiRussiaOnyama Limba RENEWAL
Deepesh H SlusarskiSpainAsiya Javayant NEGOTIATION
Claire I FollerItalyXuxue Feng UNQUALIFIED
Murillo M SaylorsUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey Q BologniaGermanyIoni Bowcher RENEWAL
Jennifer H SlusarskiGermanyIvan Magalhaes NEW
Jefferson H WieserJapanIoni Bowcher RENEWAL
Antonio K BowleyFranceAmy Elsner NEGOTIATION
Johnson N VocelkaRussiaIoni Bowcher PROPOSAL
Jones O NickaFranceIvan Magalhaes NEW
Jefferson V SaylorsArgentinaAmy Elsner RENEWAL
Adams J CampainSpainOnyama Limba NEW
Octavia W PaprockiArgentinaAnna Fali UNQUALIFIED
Deepesh U MacleadGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Y NickaArgentina2024-06-17Rousseaux, Michael Esq RENEWAL28Elwin Sharvill
1001Greenwood W PaprockiCanada2024-05-28Chemel, James L Cpa PROPOSAL69Amy Elsner
1002Izzy N GillianArgentina2024-05-27Chanay, Jeffrey A Esq NEGOTIATION66Amy Elsner
1003Francesco U DoeGermany2024-06-21Chapman, Ross E Esq RENEWAL39Stephen Shaw
1004David O ShinkoUnited Kingdom2024-06-19Truhlar And Truhlar Attys RENEWAL63Amy Elsner
1005Faith N CampainUnited Kingdom2024-06-03Chemel, James L Cpa QUALIFIED69Amy Elsner
1006Darci R RutaIndia2024-06-12Dorl, James J Esq UNQUALIFIED25Asiya Javayant
1007Deepesh J DoeFrance2024-05-31Chanay, Jeffrey A Esq PROPOSAL11Anna Fali
1008Kadeem Q ButtIndia2024-06-13King, Christopher A Esq RENEWAL92Anna Fali
1009Juan L GlickFrance2024-06-02Buckley Miller Wright NEW59Onyama Limba
1010Juan P MorascaUnited Kingdom2024-06-10Truhlar And Truhlar Attys NEGOTIATION9Bernardo Dominic
1011Wickens I CaldareraFrance2024-06-19Commercial Press PROPOSAL44Asiya Javayant
1012Darci U PerinRussia2024-06-02Rangoni Of Florence NEGOTIATION39Xuxue Feng
1013Aika Z PoquetteRussia2024-06-08Morlong Associates QUALIFIED2Asiya Javayant
1014Jennifer I CampainRussia2024-05-28Morlong Associates PROPOSAL92Anna Fali
1015Leja D DarakjyFrance2024-06-19Benton, John B Jr UNQUALIFIED2Amy Elsner
1016Jeanfrancois C ButtCanada2024-06-15Chapman, Ross E Esq QUALIFIED30Ivan Magalhaes
1017Jeanfrancois F VocelkaArgentina2024-06-21Morlong Associates PROPOSAL94Xuxue Feng
1018Salvatore J DilliardAustralia2024-06-18Chapman, Ross E Esq NEW16Amy Elsner
1019Julie X PaprockiFrance2024-06-11Printing Dimensions QUALIFIED69Amy Elsner
1020David A MaletBrazil2024-06-07Feiner Bros QUALIFIED96Elwin Sharvill
1021Octavia S MarrierUnited Kingdom2024-06-15Buckley Miller Wright UNQUALIFIED65Anna Fali
1022Alejandro P ShinkoJapan2024-06-11Dorl, James J Esq RENEWAL34Anna Fali
1023Wickens V NestleItaly2024-06-09Chemel, James L Cpa UNQUALIFIED14Stephen Shaw
1024Juan T SergiSpain2024-06-17Feltz Printing Service UNQUALIFIED2Ioni Bowcher
1025Faith O MacleadFrance2024-06-09Chanay, Jeffrey A Esq NEW36Elwin Sharvill
1026Greenwood T CampainItaly2024-06-24Printing Dimensions NEW86Xuxue Feng
1027Smith B GauchoCanada2024-06-07Dorl, James J Esq QUALIFIED60Amy Elsner
1028Rodrigues E AmigonJapan2024-06-11Chapman, Ross E Esq RENEWAL89Elwin Sharvill
1029Rodrigues R RulapaughJapan2024-05-28Chapman, Ross E Esq RENEWAL14Stephen Shaw
1030Silvio N OldroydJapan2024-06-19Rangoni Of Florence NEW87Elwin Sharvill
1031Aika Z SergiBrazil2024-06-02Printing Dimensions QUALIFIED81Xuxue Feng
1032Aruna E GillianRussia2024-06-19Morlong Associates NEGOTIATION87Ivan Magalhaes
1033Tony K GlickArgentina2024-06-10Rangoni Of Florence NEGOTIATION27Ioni Bowcher
1034Antonio B OstroskyArgentina2024-06-24Rangoni Of Florence NEW77Amy Elsner
1035Cody A PaprockiUnited Kingdom2024-05-26Rangoni Of Florence NEGOTIATION2Xuxue Feng
1036Cody M SaylorsIndia2024-06-02Rangoni Of Florence RENEWAL5Ioni Bowcher
1037Kaitlin F PoquetteBrazil2024-06-15King, Christopher A Esq PROPOSAL25Asiya Javayant
1038Munro A IturbideJapan2024-06-03Commercial Press NEW83Ivan Magalhaes
1039Faith N WieserUnited Kingdom2024-06-06Feiner Bros QUALIFIED91Asiya Javayant
1040Mayumi R ChuiBrazil2024-06-17King, Christopher A Esq NEW17Anna Fali
1041Morrow G SchemmerJapan2024-05-29Feltz Printing Service PROPOSAL9Onyama Limba
1042David O CaudyBrazil2024-06-20Rangoni Of Florence QUALIFIED49Stephen Shaw
1043Tony B PerinSpain2024-06-01King, Christopher A Esq UNQUALIFIED77Bernardo Dominic
1044Jefferson K SergiUnited Kingdom2024-05-31Feiner Bros QUALIFIED75Amy Elsner
1045Claire N FerenczFrance2024-06-01Printing Dimensions RENEWAL53Xuxue Feng
1046Costa U NickaIndia2024-06-20Feiner Bros NEGOTIATION46Xuxue Feng
1047Jones H StensethGermany2024-06-06Chapman, Ross E Esq RENEWAL52Ioni Bowcher
1048Adams A AlbaresJapan2024-06-23Chanay, Jeffrey A Esq NEGOTIATION22Ioni Bowcher
1049Johnson U CaudyRussia2024-06-07Rousseaux, Michael Esq NEW18Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi K GlickGermanyOnyama Limba UNQUALIFIED
Morrow F PerinItalyOnyama Limba PROPOSAL
Adams G SaylorsJapanIoni Bowcher NEW
Mujtaba S WhobreyItalyAmy Elsner NEW
Mujtaba B IturbideGermanyAmy Elsner UNQUALIFIED
Aruna K PerinBrazilBernardo Dominic NEW
Claire D RimCanadaXuxue Feng NEW
Clifford N PerinFranceOnyama Limba PROPOSAL
Maisha D GlickBrazilOnyama Limba QUALIFIED
Misaki A KolmetzJapanIoni Bowcher QUALIFIED
Tony N SlusarskiJapanBernardo Dominic QUALIFIED
Ashley D OstroskyJapanIvan Magalhaes QUALIFIED
Maisha T DarakjyItalyElwin Sharvill NEW
Deepesh Q BowleyRussiaAmy Elsner UNQUALIFIED
Octavia K ShinkoBrazilAmy Elsner NEW
Silvio Z CaldareraJapanOnyama Limba NEGOTIATION
Kaitlin J CampainBrazilAmy Elsner NEGOTIATION
Smith L SergiCanadaAnna Fali QUALIFIED
Aika K WhobreyRussiaAnna Fali NEW
Jones V GauchoGermanyIvan Magalhaes UNQUALIFIED
Clifford L PaprockiAustraliaOnyama Limba PROPOSAL
Izzy J CaudyAustraliaIvan Magalhaes NEGOTIATION
David E BologniaGermanyIvan Magalhaes NEGOTIATION
Johnson M SchemmerFranceXuxue Feng PROPOSAL
Claire B AlbaresArgentinaElwin Sharvill NEW
Jennifer Y VocelkaUnited KingdomAmy Elsner PROPOSAL
Kaitlin T BologniaAustraliaXuxue Feng NEGOTIATION
Murillo N BriddickCanadaAsiya Javayant PROPOSAL
Leja K OldroydIndiaStephen Shaw NEW
Wickens F PoquetteFranceIvan Magalhaes NEW
Alejandro G SchemmerSpainAmy Elsner NEW
Faith G VenereCanadaAnna Fali PROPOSAL
Aruna J FollerRussiaAnna Fali UNQUALIFIED
Tony Z GarufiBrazilXuxue Feng NEW
Misaki P ShinkoFranceAsiya Javayant NEGOTIATION
Greenwood N CaldareraSpainElwin Sharvill NEW
Izzy M GillianItalyOnyama Limba QUALIFIED
James I SchemmerRussiaStephen Shaw RENEWAL
James W KuskoBrazilElwin Sharvill UNQUALIFIED
Mujtaba R CampainSpainAmy Elsner NEGOTIATION
Smith J BriddickCanadaIvan Magalhaes RENEWAL
Costa B RutaFranceAsiya Javayant NEGOTIATION
Kadeem L DoeGermanyAsiya Javayant QUALIFIED
Silvio T GillianBrazilElwin Sharvill NEW
Jeanfrancois N PaprockiAustraliaOnyama Limba UNQUALIFIED
Alejandro N FigeroaArgentinaXuxue Feng QUALIFIED
Jefferson A SchemmerArgentinaAmy Elsner NEW
Maisha N WieserFranceIoni Bowcher NEW
Maisha E RimIndiaAsiya Javayant PROPOSAL
Octavia A KolmetzGermanyOnyama Limba PROPOSAL
Frozen Columns
Name
Aruna W Caudy
Cody O Flosi
Jeanfrancois X Bowley
Chavez P Royster
Murillo X Darakjy
Tony X Dilliard
Nicolas R Nestle
Rodrigues U Sergi
Faith A Kolmetz
Deepesh I Iturbide
Maria K Gillian
Adams B Flosi
Wickens U Dilliard
David Q Waycott
Julie X Caudy
Isabel D Glick
James G Shinko
Adams S Kolmetz
Clifford K Briddick
Juan F Saylors
Aditya V Venere
Julie M Rim
Costa F Schemmer
Ashley N Wieser
Jeanfrancois M Tollner
Darci H Oldroyd
Faith B Glick
Aruna M Inouye
Deepesh A Slusarski
Darci F Amigon
Octavia L Doe
Sinclair M Sergi
Izzy G Marrier
Sinclair Y Malet
Jennifer K Dilliard
Leon Y Stenseth
Mujtaba V Maclead
Claire C Saylors
Salvatore X Nicka
Cody H Vocelka
Tony Z Glick
Darci F Ostrosky
Deepesh K Campain
James U Marrier
Ashley V Briddick
Deepesh R Iturbide
Stacey Q Foller
Clifford H Glick
Kadeem D Saylors
Alejandro D Chui
IdCountryDate
1000Brazil2024-06-18
1001Russia2024-06-20
1002Germany2024-06-11
1003Canada2024-06-18
1004Japan2024-06-21
1005United Kingdom2024-05-29
1006Brazil2024-06-13
1007Russia2024-06-19
1008Australia2024-06-03
1009Russia2024-06-13
1010Italy2024-06-08
1011France2024-06-04
1012Spain2024-06-08
1013Spain2024-06-02
1014France2024-06-24
1015Brazil2024-05-26
1016Japan2024-05-28
1017India2024-06-16
1018Japan2024-06-02
1019India2024-06-23
1020Australia2024-06-11
1021Argentina2024-05-31
1022Argentina2024-06-13
1023Australia2024-06-13
1024Australia2024-06-11
1025Brazil2024-06-15
1026Brazil2024-05-31
1027Spain2024-05-27
1028Italy2024-06-24
1029United Kingdom2024-06-16
1030Germany2024-06-24
1031Germany2024-06-13
1032Argentina2024-06-04
1033Spain2024-06-12
1034Italy2024-06-05
1035Germany2024-06-22
1036Germany2024-06-08
1037Russia2024-05-31
1038India2024-06-03
1039Argentina2024-06-07
1040United Kingdom2024-06-04
1041Germany2024-05-28
1042Italy2024-06-13
1043India2024-06-10
1044Italy2024-06-08
1045United Kingdom2024-06-01
1046Canada2024-05-31
1047Brazil2024-06-22
1048France2024-06-07
1049Australia2024-06-21

On-Demand Data

NameIdCountryDate
Chavez A Bowley1000Canada2024-05-26
Alejandro P Slusarski1001Canada2024-06-03
David F Venere1002Germany2024-06-19
Leja K Ferencz1003Canada2024-06-18
Emily C Glick1004Japan2024-06-15
Misaki L Wieser1005Spain2024-06-06
David B Butt1006Argentina2024-06-20
Murillo B Briddick1007India2024-06-06
Jeanfrancois U Nicka1008Italy2024-06-05
Aditya Q Tollner1009India2024-06-08
Darci V Vocelka1010France2024-06-19
Alejandro Z Stenseth1011Argentina2024-05-26
Sinclair V Caudy1012Brazil2024-06-09
Faith R Iturbide1013India2024-06-13
Ashley G Nicka1014India2024-06-14
Jones Q Caudy1015Argentina2024-06-06
Adams V Caldarera1016Japan2024-06-13
Johnson A Ruta1017Russia2024-06-10
Deepesh E Oldroyd1018Germany2024-06-15
Rodrigues E Dilliard1019Germany2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Q GlickJapanIvan Magalhaes UNQUALIFIED
Jennifer E TollnerSpainIoni Bowcher UNQUALIFIED
Alejandro L OldroydSpainAsiya Javayant RENEWAL
Leon B MaletCanadaXuxue Feng NEGOTIATION
Kaitlin H SaylorsRussiaAnna Fali NEW
Maria A FigeroaSpainAnna Fali UNQUALIFIED
Ivar U VenereUnited KingdomBernardo Dominic PROPOSAL
Stacey T ChuiAustraliaAmy Elsner QUALIFIED
Faith M VocelkaRussiaAsiya Javayant QUALIFIED
Cody W ShinkoSpainIoni Bowcher NEGOTIATION
Alejandro R IturbideSpainAnna Fali NEW
Jeanfrancois Q MorascaAustraliaXuxue Feng NEGOTIATION
Julie D StockhamIndiaXuxue Feng RENEWAL
Stacey J OstroskySpainIoni Bowcher NEGOTIATION
Wickens Z ChuiRussiaIoni Bowcher RENEWAL
Darci R DoeGermanyElwin Sharvill NEW
Sinclair N SlusarskiArgentinaElwin Sharvill NEW
Sinclair S GauchoSpainBernardo Dominic RENEWAL
Mayumi I StensethFranceElwin Sharvill UNQUALIFIED
Antonio W MaletAustraliaXuxue Feng RENEWAL
Nicolas K StockhamRussiaStephen Shaw PROPOSAL
Leja R PerinAustraliaBernardo Dominic UNQUALIFIED
Cody V GlickRussiaBernardo Dominic UNQUALIFIED
Arvin G BowleyArgentinaAnna Fali RENEWAL
Jennifer O PaprockiAustraliaAmy Elsner NEW
Faith N AlbaresBrazilAmy Elsner NEW
Munro E MaletAustraliaElwin Sharvill NEGOTIATION
Leon Q SlusarskiAustraliaIvan Magalhaes QUALIFIED
Misaki K RutaItalyStephen Shaw NEGOTIATION
Jeanfrancois P MorascaSpainAsiya Javayant PROPOSAL
Kaitlin E OldroydCanadaAsiya Javayant UNQUALIFIED
Murillo N WhobreySpainIoni Bowcher RENEWAL
Julie V ShinkoJapanIoni Bowcher RENEWAL
Ashley O OstroskyJapanAnna Fali NEGOTIATION
Octavia K ShinkoGermanyStephen Shaw RENEWAL
Cody I MacleadUnited KingdomStephen Shaw QUALIFIED
Cody E ButtAustraliaIoni Bowcher RENEWAL
Jones P OstroskyBrazilAnna Fali QUALIFIED
Isabel I OstroskyIndiaXuxue Feng UNQUALIFIED
James V NickaBrazilAmy Elsner UNQUALIFIED

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