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
Johnson L RoysterCanadaAmy Elsner NEGOTIATION
Mujtaba E PaprockiUnited KingdomAnna Fali UNQUALIFIED
Antonio D MarrierAustraliaAnna Fali RENEWAL
Stacey B RulapaughAustraliaAnna Fali NEGOTIATION
Izzy M WieserBrazilAsiya Javayant NEGOTIATION
Costa D BowleyArgentinaElwin Sharvill NEW
Kaitlin W WhobreyJapanStephen Shaw NEGOTIATION
Smith C PerinArgentinaAsiya Javayant NEGOTIATION
Julie X PerinItalyIoni Bowcher RENEWAL
Ricardo A PerinArgentinaAnna Fali QUALIFIED
Isabel J GlickSpainOnyama Limba UNQUALIFIED
Kadeem J RulapaughAustraliaAsiya Javayant RENEWAL
Wickens V GarufiFranceAmy Elsner RENEWAL
Smith H GarufiArgentinaAsiya Javayant UNQUALIFIED
Ivar D FollerItalyElwin Sharvill UNQUALIFIED
Cody K PaprockiJapanElwin Sharvill UNQUALIFIED
Smith K SergiArgentinaOnyama Limba UNQUALIFIED
James Z DarakjyGermanyAsiya Javayant NEW
Sinclair C ShinkoJapanAnna Fali PROPOSAL
Sinclair B FigeroaGermanyAmy Elsner RENEWAL
Aditya N VenereItalyStephen Shaw RENEWAL
Ivar G GillianIndiaAnna Fali NEW
Kadeem B SchemmerAustraliaAnna Fali NEGOTIATION
Francesco N DarakjyJapanIoni Bowcher UNQUALIFIED
Stacey K MaletGermanyElwin Sharvill RENEWAL
Alejandro W SaylorsGermanyAsiya Javayant RENEWAL
Aditya A MaletBrazilXuxue Feng PROPOSAL
James V ShinkoSpainAmy Elsner NEGOTIATION
Kadeem I NickaJapanBernardo Dominic QUALIFIED
James V CampainAustraliaIoni Bowcher NEGOTIATION
Salvatore O KuskoIndiaBernardo Dominic RENEWAL
Kadeem C MacleadGermanyAsiya Javayant QUALIFIED
Ashley O DoeJapanOnyama Limba NEW
Deepesh W FigeroaAustraliaOnyama Limba NEGOTIATION
Johnson A DarakjyIndiaAnna Fali PROPOSAL
Claire C GauchoBrazilXuxue Feng NEGOTIATION
David W MorascaRussiaElwin Sharvill NEW
Mujtaba R RulapaughIndiaElwin Sharvill NEW
Ashley O FerenczAustraliaOnyama Limba UNQUALIFIED
Ashley A IturbideUnited KingdomIvan Magalhaes NEW
Clifford N BowleySpainIvan Magalhaes QUALIFIED
Smith H FlosiIndiaAnna Fali UNQUALIFIED
Antonio U FigeroaCanadaIoni Bowcher RENEWAL
Mujtaba H MaletIndiaAsiya Javayant QUALIFIED
Greenwood D OstroskySpainOnyama Limba RENEWAL
Darci N StockhamItalyAmy Elsner PROPOSAL
Morrow J ShinkoCanadaAnna Fali UNQUALIFIED
Greenwood U BowleyArgentinaElwin Sharvill PROPOSAL
Wickens K StockhamGermanyElwin Sharvill RENEWAL
Cody M CaldareraItalyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues G ChuiRussiaIvan Magalhaes NEGOTIATION
Greenwood L ChuiAustraliaIvan Magalhaes NEW
Antonio Q ShinkoCanadaAnna Fali NEGOTIATION
James K MarrierIndiaAmy Elsner QUALIFIED
Juan O WhobreyAustraliaAnna Fali NEGOTIATION
Aruna G NickaRussiaAmy Elsner NEW
James H StensethUnited KingdomOnyama Limba PROPOSAL
Leja P WhobreyIndiaElwin Sharvill QUALIFIED
Isabel V RulapaughGermanyOnyama Limba UNQUALIFIED
Chavez G MorascaCanadaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues I FerenczArgentina2025-06-07Chapman, Ross E Esq RENEWAL58Stephen Shaw
1001Ivar P GillianCanada2025-06-02Dorl, James J Esq NEW30Onyama Limba
1002Chavez B FerenczIndia2025-06-09Commercial Press UNQUALIFIED67Amy Elsner
1003Jeanfrancois Q BowleyRussia2025-05-29Chanay, Jeffrey A Esq PROPOSAL47Bernardo Dominic
1004Smith I OldroydBrazil2025-06-03Chemel, James L Cpa PROPOSAL62Amy Elsner
1005Ashley C PaprockiFrance2025-05-30Printing Dimensions PROPOSAL70Stephen Shaw
1006Mayumi R OstroskyIndia2025-06-15Rousseaux, Michael Esq UNQUALIFIED87Amy Elsner
1007Ivar R MaletFrance2025-06-03Commercial Press UNQUALIFIED71Stephen Shaw
1008Salvatore G BriddickUnited Kingdom2025-06-05Benton, John B Jr NEW10Anna Fali
1009James M BriddickBrazil2025-06-12Morlong Associates RENEWAL52Onyama Limba
1010Isabel Y VenereFrance2025-05-26Printing Dimensions PROPOSAL17Onyama Limba
1011Greenwood F GlickArgentina2025-05-20Dorl, James J Esq RENEWAL66Elwin Sharvill
1012Octavia I FigeroaAustralia2025-06-01Chapman, Ross E Esq RENEWAL33Asiya Javayant
1013Antonio U GlickAustralia2025-06-10Rangoni Of Florence NEW65Bernardo Dominic
1014Octavia P GauchoItaly2025-05-26Feltz Printing Service NEW15Anna Fali
1015Mayumi Z SergiAustralia2025-06-01Chanay, Jeffrey A Esq PROPOSAL53Amy Elsner
1016Alejandro K AmigonSpain2025-06-01Dorl, James J Esq PROPOSAL37Ivan Magalhaes
1017Maria H RutaUnited Kingdom2025-05-24Buckley Miller Wright NEGOTIATION54Elwin Sharvill
1018Stacey O InouyeBrazil2025-05-26Morlong Associates NEW19Xuxue Feng
1019Silvio T DoeArgentina2025-06-16Commercial Press RENEWAL72Bernardo Dominic
1020Aditya B AmigonFrance2025-05-27Printing Dimensions UNQUALIFIED20Ivan Magalhaes
1021Salvatore Z IturbideCanada2025-06-03Feiner Bros UNQUALIFIED19Xuxue Feng
1022Aruna P TollnerRussia2025-05-22Feiner Bros RENEWAL20Anna Fali
1023Kadeem U MaletCanada2025-05-30Feltz Printing Service RENEWAL36Bernardo Dominic
1024Jefferson E KuskoItaly2025-05-31Rangoni Of Florence NEW58Elwin Sharvill
1025Juan P WieserIndia2025-06-10Dorl, James J Esq UNQUALIFIED27Ioni Bowcher
1026Faith D MorascaSpain2025-06-06Morlong Associates NEW91Amy Elsner
1027Murillo I GarufiAustralia2025-05-22Morlong Associates QUALIFIED64Elwin Sharvill
1028James L PoquetteAustralia2025-05-19Chanay, Jeffrey A Esq NEGOTIATION0Ioni Bowcher
1029Deepesh A PerinIndia2025-06-03Dorl, James J Esq QUALIFIED49Onyama Limba
1030Izzy Q InouyeCanada2025-05-24Commercial Press PROPOSAL56Ivan Magalhaes
1031Misaki W VenereBrazil2025-05-27Chapman, Ross E Esq UNQUALIFIED51Anna Fali
1032Wickens J PoquetteSpain2025-06-02Buckley Miller Wright NEGOTIATION14Amy Elsner
1033Smith R GarufiGermany2025-06-14Chemel, James L Cpa QUALIFIED71Amy Elsner
1034Jeanfrancois G CaudyUnited Kingdom2025-06-08Dorl, James J Esq QUALIFIED64Anna Fali
1035Ashley Z VenereItaly2025-05-23Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1036Jeanfrancois V MacleadArgentina2025-05-21Chanay, Jeffrey A Esq QUALIFIED9Bernardo Dominic
1037Claire U GauchoUnited Kingdom2025-06-03Commercial Press RENEWAL5Stephen Shaw
1038Tony A GlickUnited Kingdom2025-06-06Chanay, Jeffrey A Esq NEW2Bernardo Dominic
1039Aditya X VenereRussia2025-05-23Dorl, James J Esq NEGOTIATION55Asiya Javayant
1040Jennifer O AlbaresAustralia2025-05-31Rangoni Of Florence QUALIFIED81Onyama Limba
1041Smith N SlusarskiSpain2025-06-12Commercial Press NEW65Xuxue Feng
1042Johnson J KolmetzGermany2025-06-15Chanay, Jeffrey A Esq PROPOSAL37Ivan Magalhaes
1043Silvio U OldroydSpain2025-05-22Morlong Associates RENEWAL4Onyama Limba
1044Kaitlin H TollnerJapan2025-05-29Chanay, Jeffrey A Esq NEW89Ivan Magalhaes
1045Chavez N MaletAustralia2025-05-19Buckley Miller Wright NEW2Anna Fali
1046Misaki J VenereFrance2025-06-16Morlong Associates UNQUALIFIED66Xuxue Feng
1047Aruna A ChuiAustralia2025-05-28Dorl, James J Esq NEW42Onyama Limba
1048Leon O PerinGermany2025-06-04Benton, John B Jr RENEWAL78Ioni Bowcher
1049Octavia V GlickBrazil2025-06-02Printing Dimensions RENEWAL55Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez H BowleyUnited KingdomIoni Bowcher QUALIFIED
Jennifer U RulapaughGermanyAsiya Javayant NEGOTIATION
Munro Z SlusarskiGermanyOnyama Limba RENEWAL
Darci P BriddickSpainAsiya Javayant NEGOTIATION
Silvio L WieserItalyIvan Magalhaes PROPOSAL
Silvio I PoquetteFranceIvan Magalhaes UNQUALIFIED
Maria K OstroskyCanadaAmy Elsner RENEWAL
Jones Y SaylorsAustraliaAmy Elsner RENEWAL
Clifford D DoeItalyBernardo Dominic NEW
Isabel O CaudySpainStephen Shaw QUALIFIED
Alejandro G TollnerGermanyXuxue Feng RENEWAL
Adams A MorascaGermanyOnyama Limba QUALIFIED
Aruna D MaletFranceElwin Sharvill UNQUALIFIED
Nicolas S ButtSpainAnna Fali RENEWAL
Maisha K DarakjyUnited KingdomAnna Fali UNQUALIFIED
Tony E PoquetteAustraliaAnna Fali NEGOTIATION
Greenwood Y FigeroaIndiaXuxue Feng QUALIFIED
Jeanfrancois Q BologniaArgentinaAsiya Javayant PROPOSAL
Johnson M BologniaBrazilXuxue Feng PROPOSAL
Isabel G BowleyGermanyXuxue Feng NEW
Greenwood Z FollerCanadaIvan Magalhaes QUALIFIED
Ashley H BriddickGermanyAmy Elsner QUALIFIED
Claire R KuskoArgentinaOnyama Limba NEGOTIATION
Maria S KolmetzJapanIvan Magalhaes QUALIFIED
Stacey X ShinkoFranceAsiya Javayant QUALIFIED
Alejandro I CaldareraUnited KingdomXuxue Feng QUALIFIED
Munro Z NickaItalyAsiya Javayant UNQUALIFIED
Faith D ButtSpainOnyama Limba UNQUALIFIED
Jennifer E GauchoItalyAnna Fali QUALIFIED
Silvio O MarrierGermanyStephen Shaw NEGOTIATION
Kadeem X DarakjyGermanyAnna Fali UNQUALIFIED
David B DarakjyArgentinaXuxue Feng UNQUALIFIED
Wickens Y StensethUnited KingdomXuxue Feng UNQUALIFIED
Deepesh N MarrierCanadaIvan Magalhaes NEW
Rodrigues T PoquetteUnited KingdomBernardo Dominic RENEWAL
Aditya Q StensethCanadaAnna Fali RENEWAL
Kaitlin Z KuskoItalyBernardo Dominic PROPOSAL
Sinclair Y WhobreyFranceStephen Shaw RENEWAL
Leon D RutaCanadaXuxue Feng RENEWAL
Arvin Y StockhamIndiaStephen Shaw RENEWAL
Darci K WaycottGermanyElwin Sharvill QUALIFIED
Stacey J ButtAustraliaIvan Magalhaes UNQUALIFIED
Aditya D FollerBrazilIvan Magalhaes QUALIFIED
Clifford H KuskoSpainAmy Elsner PROPOSAL
Aika O MaletJapanIoni Bowcher RENEWAL
Claire U InouyeGermanyBernardo Dominic UNQUALIFIED
Adams E BologniaFranceOnyama Limba RENEWAL
Aditya P AmigonCanadaAsiya Javayant PROPOSAL
Aika M WaycottCanadaAmy Elsner QUALIFIED
Aika R SergiItalyAnna Fali PROPOSAL
Frozen Columns
Name
Leja U Dilliard
Wickens C Inouye
James K Marrier
Mayumi Y Ostrosky
Cody T Flosi
Jones P Vocelka
Aruna K Maclead
Silvio P Doe
Izzy W Bolognia
Misaki K Royster
Adams W Rulapaugh
Mujtaba P Doe
Johnson X Figeroa
Tony S Schemmer
Antonio A Nestle
Sinclair K Stenseth
Costa A Kolmetz
Maisha W Amigon
Darci M Rulapaugh
Deepesh P Chui
Silvio A Schemmer
Emily N Paprocki
Juan W Maclead
Darci H Bowley
Murillo L Ostrosky
Cody D Chui
Antonio I Ferencz
Mujtaba D Perin
Emily X Dilliard
Tony Y Flosi
Johnson I Glick
Jefferson O Nestle
Mayumi O Caudy
Greenwood N Caudy
Tony C Waycott
Misaki M Gillian
Misaki Z Butt
Francesco W Malet
Darci U Foller
Costa K Oldroyd
Costa B Morasca
Mujtaba Z Flosi
Murillo R Malet
Stacey O Bowley
Juan T Vocelka
Leja Z Ostrosky
Nicolas K Malet
Faith F Ferencz
Misaki T Perin
Darci V Stockham
IdCountryDate
1000India2025-05-26
1001Canada2025-05-25
1002United Kingdom2025-05-22
1003Italy2025-06-08
1004Italy2025-05-31
1005Australia2025-06-02
1006Japan2025-05-20
1007Brazil2025-06-16
1008France2025-05-31
1009Brazil2025-06-11
1010India2025-06-03
1011Germany2025-05-20
1012Italy2025-05-31
1013United Kingdom2025-05-28
1014Argentina2025-06-14
1015Brazil2025-06-01
1016Japan2025-06-10
1017India2025-05-24
1018United Kingdom2025-06-02
1019Spain2025-06-03
1020Russia2025-06-01
1021India2025-06-09
1022Brazil2025-06-13
1023United Kingdom2025-05-26
1024United Kingdom2025-05-26
1025India2025-06-14
1026Spain2025-06-03
1027United Kingdom2025-06-03
1028Russia2025-05-19
1029Russia2025-05-23
1030Australia2025-05-31
1031India2025-05-27
1032United Kingdom2025-05-23
1033Japan2025-05-19
1034Brazil2025-06-08
1035Brazil2025-05-29
1036France2025-05-31
1037Russia2025-05-19
1038Argentina2025-05-28
1039Italy2025-05-27
1040Argentina2025-06-05
1041Italy2025-05-30
1042United Kingdom2025-06-07
1043Italy2025-06-12
1044Italy2025-05-26
1045United Kingdom2025-06-10
1046France2025-05-23
1047Argentina2025-05-18
1048Germany2025-06-08
1049Brazil2025-06-14

On-Demand Data

NameIdCountryDate
Julie S Morasca1000Italy2025-05-22
Juan R Doe1001Australia2025-05-20
Kaitlin H Stenseth1002Spain2025-05-30
Tony O Oldroyd1003France2025-05-27
Izzy F Whobrey1004Argentina2025-06-04
Murillo S Caudy1005Australia2025-06-16
Ashley H Malet1006Australia2025-06-10
Aika A Bowley1007Argentina2025-06-11
David H Morasca1008Germany2025-05-26
Deepesh E Shinko1009Argentina2025-05-20
Johnson V Campain1010United Kingdom2025-06-16
Izzy D Waycott1011Italy2025-05-29
Mujtaba M Vocelka1012Argentina2025-05-31
Stacey H Sergi1013India2025-05-30
Greenwood D Foller1014India2025-06-05
Ashley F Maclead1015United Kingdom2025-06-06
Darci X Darakjy1016Brazil2025-06-02
Isabel B Saylors1017Japan2025-05-24
Greenwood Q Maclead1018India2025-06-11
Cody C Perin1019France2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro X FigeroaAustraliaIoni Bowcher PROPOSAL
Emily Y DarakjyAustraliaXuxue Feng UNQUALIFIED
Mujtaba Z ButtRussiaIvan Magalhaes RENEWAL
Nicolas M VocelkaIndiaAnna Fali QUALIFIED
Jeanfrancois V MaletAustraliaIoni Bowcher QUALIFIED
Maria E SaylorsSpainOnyama Limba NEW
Leja D StockhamFranceIvan Magalhaes NEGOTIATION
Ivar E MacleadCanadaIvan Magalhaes UNQUALIFIED
Morrow M MacleadUnited KingdomAsiya Javayant NEGOTIATION
James D IturbideFranceIvan Magalhaes NEW
Antonio E OstroskyItalyIoni Bowcher PROPOSAL
Tony F GauchoFranceAnna Fali NEGOTIATION
Julie E VenereUnited KingdomXuxue Feng QUALIFIED
Munro N SaylorsArgentinaElwin Sharvill RENEWAL
Leon Y GarufiJapanOnyama Limba NEW
Murillo C SchemmerUnited KingdomElwin Sharvill QUALIFIED
Stacey A MaletCanadaXuxue Feng NEW
Kadeem U ButtUnited KingdomElwin Sharvill RENEWAL
Chavez G MacleadArgentinaElwin Sharvill NEGOTIATION
Claire H RulapaughCanadaXuxue Feng RENEWAL
Salvatore J PoquetteBrazilAnna Fali UNQUALIFIED
Clifford G MacleadAustraliaIvan Magalhaes NEGOTIATION
Julie V StockhamArgentinaIvan Magalhaes UNQUALIFIED
Izzy D SlusarskiItalyOnyama Limba NEGOTIATION
Leon H SaylorsCanadaBernardo Dominic NEW
Sinclair I IturbideRussiaIvan Magalhaes PROPOSAL
Wickens G CaldareraGermanyXuxue Feng UNQUALIFIED
Izzy D CaldareraGermanyAnna Fali RENEWAL
Francesco Q FollerCanadaIoni Bowcher RENEWAL
Nicolas U WieserItalyXuxue Feng RENEWAL
Maisha S AmigonGermanyIoni Bowcher RENEWAL
Costa C PoquetteIndiaXuxue Feng RENEWAL
Jefferson Z BologniaIndiaAmy Elsner PROPOSAL
Munro Y CampainGermanyAnna Fali QUALIFIED
Chavez N DarakjyGermanyXuxue Feng QUALIFIED
Alejandro Q OstroskyRussiaXuxue Feng RENEWAL
Tony A RutaIndiaBernardo Dominic QUALIFIED
Isabel Z InouyeBrazilElwin Sharvill UNQUALIFIED
Faith E CaldareraAustraliaBernardo Dominic PROPOSAL
Kadeem H BriddickJapanBernardo Dominic NEW

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