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
Mayumi O CaldareraCanadaOnyama Limba UNQUALIFIED
Darci C PerinJapanElwin Sharvill UNQUALIFIED
Aika W DarakjyAustraliaElwin Sharvill QUALIFIED
Tony D GlickJapanStephen Shaw RENEWAL
Stacey Y StockhamIndiaOnyama Limba QUALIFIED
Arvin G GauchoFranceXuxue Feng PROPOSAL
Greenwood Q GauchoGermanyElwin Sharvill UNQUALIFIED
Rodrigues N DilliardBrazilElwin Sharvill NEW
Sinclair N NickaUnited KingdomIvan Magalhaes PROPOSAL
Greenwood G MaletItalyAmy Elsner NEW
Faith S StockhamFranceBernardo Dominic PROPOSAL
Claire W TollnerIndiaAnna Fali UNQUALIFIED
Mayumi B PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez N RimGermanyXuxue Feng UNQUALIFIED
Faith U RimAustraliaAsiya Javayant UNQUALIFIED
Cody E SaylorsIndiaOnyama Limba RENEWAL
Kaitlin P CaldareraSpainIoni Bowcher UNQUALIFIED
Darci T AlbaresArgentinaStephen Shaw PROPOSAL
Munro D DarakjySpainAnna Fali RENEWAL
Jefferson L VocelkaUnited KingdomAmy Elsner RENEWAL
Jennifer M ShinkoBrazilXuxue Feng PROPOSAL
Arvin B RulapaughItalyStephen Shaw QUALIFIED
Mujtaba Q FlosiAustraliaBernardo Dominic RENEWAL
Ashley X NickaGermanyIoni Bowcher NEGOTIATION
James Q MorascaGermanyXuxue Feng UNQUALIFIED
Rodrigues H RulapaughSpainStephen Shaw QUALIFIED
Jennifer E TollnerUnited KingdomAnna Fali PROPOSAL
Smith S WaycottGermanyAmy Elsner QUALIFIED
Mayumi C VenereAustraliaAnna Fali UNQUALIFIED
Alejandro D RimRussiaElwin Sharvill NEGOTIATION
Mujtaba A ButtItalyAmy Elsner RENEWAL
Faith T BologniaBrazilAnna Fali PROPOSAL
James Z AmigonGermanyAmy Elsner PROPOSAL
Aika M SlusarskiSpainIoni Bowcher NEW
Munro D TollnerAustraliaIvan Magalhaes PROPOSAL
Antonio Y CampainArgentinaAmy Elsner QUALIFIED
Tony W VenereArgentinaIoni Bowcher NEW
Isabel W PaprockiCanadaIoni Bowcher PROPOSAL
Tony H MaletBrazilIvan Magalhaes UNQUALIFIED
Greenwood A ShinkoJapanAnna Fali NEGOTIATION
Johnson S IturbideSpainIoni Bowcher PROPOSAL
Smith G TollnerFranceOnyama Limba NEW
Izzy P GillianUnited KingdomBernardo Dominic NEGOTIATION
Alejandro U DilliardJapanXuxue Feng RENEWAL
Mayumi Z ChuiGermanyAnna Fali RENEWAL
Mujtaba K ChuiGermanyIoni Bowcher UNQUALIFIED
Clifford E FigeroaSpainAnna Fali NEGOTIATION
Silvio H WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Deepesh W BowleyAustraliaAnna Fali RENEWAL
Maria R GlickAustraliaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki M ChuiGermanyIoni Bowcher QUALIFIED
Smith B RimSpainAmy Elsner NEGOTIATION
Silvio F BologniaRussiaOnyama Limba NEGOTIATION
Emily C FerenczFranceStephen Shaw NEGOTIATION
Alejandro A OstroskyFranceAnna Fali NEW
Ricardo X BowleyBrazilXuxue Feng UNQUALIFIED
Morrow U RutaFranceIvan Magalhaes NEW
Antonio X DilliardBrazilIvan Magalhaes UNQUALIFIED
Morrow M FigeroaUnited KingdomStephen Shaw NEW
Leon O VocelkaIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Z OldroydUnited Kingdom2025-05-27Buckley Miller Wright UNQUALIFIED52Asiya Javayant
1001Francesco V MacleadFrance2025-06-16Rousseaux, Michael Esq NEGOTIATION13Ioni Bowcher
1002Morrow F RulapaughJapan2025-06-13Benton, John B Jr NEGOTIATION20Ivan Magalhaes
1003Nicolas P KolmetzJapan2025-06-04Buckley Miller Wright NEGOTIATION51Ioni Bowcher
1004Ashley I FerenczIndia2025-06-13Chemel, James L Cpa NEGOTIATION8Anna Fali
1005Sinclair Y AmigonArgentina2025-05-28Buckley Miller Wright QUALIFIED99Elwin Sharvill
1006Sinclair N VocelkaJapan2025-06-11Truhlar And Truhlar Attys PROPOSAL94Amy Elsner
1007Nicolas X WaycottArgentina2025-05-29Chapman, Ross E Esq RENEWAL12Onyama Limba
1008Ashley C FollerArgentina2025-05-23Printing Dimensions NEW5Xuxue Feng
1009Munro R BriddickJapan2025-05-30Dorl, James J Esq UNQUALIFIED48Bernardo Dominic
1010Maisha G BriddickRussia2025-06-15Feltz Printing Service QUALIFIED55Asiya Javayant
1011Maria W RimArgentina2025-05-25King, Christopher A Esq NEW83Onyama Limba
1012Cody F GlickBrazil2025-06-11Commercial Press NEW40Elwin Sharvill
1013Jones C GauchoIndia2025-06-10Chapman, Ross E Esq RENEWAL9Amy Elsner
1014Salvatore A AmigonSpain2025-06-10Dorl, James J Esq RENEWAL27Bernardo Dominic
1015Faith W SaylorsCanada2025-06-11Truhlar And Truhlar Attys PROPOSAL23Onyama Limba
1016Maria X StockhamGermany2025-05-20Chapman, Ross E Esq UNQUALIFIED16Elwin Sharvill
1017David V MarrierItaly2025-05-20Feltz Printing Service NEW70Elwin Sharvill
1018Kadeem H MarrierJapan2025-06-04Buckley Miller Wright UNQUALIFIED60Onyama Limba
1019Aruna C NickaBrazil2025-06-11Printing Dimensions NEW18Anna Fali
1020Aruna N SaylorsItaly2025-05-24Chanay, Jeffrey A Esq NEGOTIATION76Bernardo Dominic
1021Cody U MorascaAustralia2025-06-14Rousseaux, Michael Esq QUALIFIED51Bernardo Dominic
1022Wickens W WaycottAustralia2025-06-12Feiner Bros NEGOTIATION84Amy Elsner
1023Francesco G KuskoArgentina2025-05-25Benton, John B Jr UNQUALIFIED56Asiya Javayant
1024Mujtaba Q CaudyArgentina2025-05-20Feiner Bros QUALIFIED52Xuxue Feng
1025Alejandro D DarakjyGermany2025-06-07King, Christopher A Esq RENEWAL98Anna Fali
1026Clifford K DarakjySpain2025-06-16Printing Dimensions UNQUALIFIED38Onyama Limba
1027Morrow S FerenczIndia2025-05-29Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1028Maisha T BriddickJapan2025-05-18Chemel, James L Cpa QUALIFIED36Asiya Javayant
1029Aditya G RoysterSpain2025-05-26Rousseaux, Michael Esq NEGOTIATION11Ivan Magalhaes
1030Misaki F OstroskyAustralia2025-05-19King, Christopher A Esq NEGOTIATION11Ioni Bowcher
1031Ashley V CampainRussia2025-06-04Rangoni Of Florence NEW61Anna Fali
1032Leon Y MarrierCanada2025-06-05Rangoni Of Florence RENEWAL33Amy Elsner
1033Adams Y SergiAustralia2025-06-01Rousseaux, Michael Esq QUALIFIED49Bernardo Dominic
1034Jefferson U WaycottFrance2025-06-13Feiner Bros PROPOSAL86Bernardo Dominic
1035Isabel N NickaAustralia2025-05-24Commercial Press UNQUALIFIED24Ioni Bowcher
1036Deepesh F DilliardItaly2025-05-20Feltz Printing Service PROPOSAL2Anna Fali
1037Johnson G RutaBrazil2025-05-21Chapman, Ross E Esq NEGOTIATION95Bernardo Dominic
1038Jennifer O DilliardFrance2025-06-11Commercial Press NEGOTIATION14Asiya Javayant
1039Smith Y CaudyCanada2025-05-18Rousseaux, Michael Esq PROPOSAL1Ioni Bowcher
1040Francesco H StensethSpain2025-05-24Feiner Bros NEW74Anna Fali
1041James G GauchoJapan2025-06-15Dorl, James J Esq QUALIFIED30Anna Fali
1042Salvatore S FigeroaAustralia2025-06-09Rangoni Of Florence NEW51Bernardo Dominic
1043Ivar J FerenczUnited Kingdom2025-06-04Feltz Printing Service PROPOSAL23Ioni Bowcher
1044Kadeem K KuskoCanada2025-06-08Feiner Bros UNQUALIFIED41Xuxue Feng
1045Arvin I IturbideAustralia2025-05-31Chapman, Ross E Esq QUALIFIED83Amy Elsner
1046Wickens D ButtAustralia2025-05-24Truhlar And Truhlar Attys NEW33Anna Fali
1047Tony D MacleadJapan2025-06-09Chapman, Ross E Esq PROPOSAL47Xuxue Feng
1048Cody R RoysterJapan2025-06-11Buckley Miller Wright NEW14Elwin Sharvill
1049Rodrigues Q SlusarskiBrazil2025-06-08Chemel, James L Cpa NEGOTIATION63Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams J BriddickBrazilIvan Magalhaes NEGOTIATION
Misaki F FlosiAustraliaAmy Elsner NEGOTIATION
Juan S MorascaSpainElwin Sharvill NEW
Aika V MaletItalyBernardo Dominic PROPOSAL
Sinclair J BriddickCanadaOnyama Limba NEW
Isabel V MacleadBrazilIvan Magalhaes QUALIFIED
James A SlusarskiItalyIvan Magalhaes RENEWAL
Salvatore Z VocelkaJapanIvan Magalhaes NEGOTIATION
Jeanfrancois G AlbaresJapanOnyama Limba NEGOTIATION
Ivar G OldroydFranceIvan Magalhaes PROPOSAL
Julie L MorascaIndiaAmy Elsner QUALIFIED
Ivar B AlbaresArgentinaAmy Elsner QUALIFIED
Morrow P VocelkaGermanyAmy Elsner NEGOTIATION
Costa O WaycottRussiaAnna Fali QUALIFIED
Morrow Y WaycottIndiaBernardo Dominic PROPOSAL
Jennifer E PoquetteArgentinaAmy Elsner NEGOTIATION
Mujtaba U ShinkoSpainIvan Magalhaes NEGOTIATION
James S ChuiItalyElwin Sharvill PROPOSAL
Antonio J BowleyArgentinaOnyama Limba NEGOTIATION
Mayumi A BowleyUnited KingdomElwin Sharvill RENEWAL
Aruna I NickaGermanyBernardo Dominic NEGOTIATION
Johnson L MaletItalyElwin Sharvill NEW
Maisha I GillianAustraliaAnna Fali RENEWAL
Ashley U MacleadArgentinaAsiya Javayant NEW
Sinclair C GarufiFranceAmy Elsner QUALIFIED
Salvatore W RutaCanadaBernardo Dominic NEGOTIATION
Kadeem G PaprockiItalyBernardo Dominic NEGOTIATION
Aditya M RimFranceIoni Bowcher NEGOTIATION
Julie J VenereArgentinaAnna Fali NEGOTIATION
Aruna J VocelkaFranceAsiya Javayant PROPOSAL
Murillo F RulapaughRussiaElwin Sharvill UNQUALIFIED
Greenwood W VenereRussiaBernardo Dominic UNQUALIFIED
Emily C PaprockiCanadaIoni Bowcher UNQUALIFIED
Jones Z DoeIndiaAsiya Javayant NEGOTIATION
Octavia X VocelkaFranceIoni Bowcher UNQUALIFIED
Darci P FlosiUnited KingdomAmy Elsner NEGOTIATION
Faith H DoeSpainIvan Magalhaes NEGOTIATION
Juan K CaldareraArgentinaAmy Elsner UNQUALIFIED
Nicolas J RutaBrazilBernardo Dominic QUALIFIED
Julie X KuskoJapanIvan Magalhaes QUALIFIED
Munro L InouyeJapanXuxue Feng NEGOTIATION
Johnson F SaylorsCanadaAsiya Javayant NEW
Murillo H PaprockiRussiaElwin Sharvill UNQUALIFIED
Ivar P DilliardItalyElwin Sharvill UNQUALIFIED
Silvio Z DilliardGermanyIoni Bowcher QUALIFIED
Leon X RimUnited KingdomXuxue Feng UNQUALIFIED
Emily X ButtFranceBernardo Dominic NEW
Jones R WhobreySpainIoni Bowcher RENEWAL
Izzy W FlosiBrazilStephen Shaw UNQUALIFIED
Julie Y DilliardRussiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Munro T Slusarski
Juan Q Chui
Leja A Nicka
Leja N Glick
Kadeem U Maclead
Aditya Q Kusko
Tony A Paprocki
Jones K Kolmetz
Leon J Malet
Octavia A Kolmetz
Aika J Paprocki
Antonio L Saylors
Emily J Rim
Kaitlin W Ostrosky
Octavia O Iturbide
Kaitlin T Nicka
Munro M Sergi
Claire P Slusarski
Alejandro C Ruta
Aditya D Tollner
Aruna Z Bolognia
Arvin O Maclead
Octavia C Ferencz
Maisha B Kusko
Jones J Rulapaugh
Murillo G Campain
Murillo L Wieser
Antonio Z Schemmer
Munro D Dilliard
Francesco Q Perin
Greenwood W Campain
Julie Z Royster
Kadeem Y Slusarski
Ivar H Stockham
Salvatore F Caldarera
Johnson I Stenseth
Clifford H Butt
Ivar D Briddick
Mujtaba Y Albares
Isabel U Malet
Munro Z Waycott
Sinclair Q Glick
Isabel B Shinko
Rodrigues V Paprocki
Clifford Q Bowley
Arvin H Caudy
Greenwood Q Ostrosky
Johnson R Morasca
Cody T Bolognia
Ivar P Oldroyd
IdCountryDate
1000Germany2025-06-15
1001Argentina2025-06-09
1002Brazil2025-05-24
1003India2025-06-11
1004United Kingdom2025-06-08
1005Brazil2025-06-06
1006Italy2025-05-22
1007Germany2025-06-01
1008Canada2025-06-13
1009Canada2025-05-25
1010Brazil2025-06-16
1011Brazil2025-06-16
1012Japan2025-05-27
1013Russia2025-06-07
1014Japan2025-06-11
1015France2025-06-01
1016United Kingdom2025-06-01
1017India2025-05-21
1018India2025-05-24
1019Germany2025-06-05
1020Italy2025-05-29
1021United Kingdom2025-06-09
1022Australia2025-06-03
1023Argentina2025-05-20
1024Japan2025-06-12
1025Australia2025-05-28
1026Germany2025-05-23
1027Brazil2025-05-31
1028United Kingdom2025-05-22
1029India2025-06-12
1030Germany2025-06-07
1031France2025-06-05
1032India2025-05-27
1033Argentina2025-06-04
1034Russia2025-05-24
1035Australia2025-05-29
1036Spain2025-05-21
1037Australia2025-05-21
1038Australia2025-06-10
1039Canada2025-06-10
1040Brazil2025-06-04
1041Russia2025-05-26
1042Russia2025-06-09
1043Canada2025-06-01
1044Brazil2025-06-07
1045Italy2025-06-07
1046Italy2025-06-11
1047Russia2025-05-20
1048Spain2025-05-19
1049Australia2025-06-13

On-Demand Data

NameIdCountryDate
Cody F Paprocki1000India2025-05-23
Aika E Bowley1001Italy2025-05-22
Jefferson E Poquette1002Argentina2025-06-06
Faith A Morasca1003Germany2025-05-30
Chavez D Paprocki1004Brazil2025-05-21
Munro O Shinko1005Italy2025-06-09
Sinclair Y Nestle1006India2025-05-30
Jeanfrancois W Albares1007India2025-06-16
James S Gaucho1008Australia2025-06-03
Clifford O Wieser1009Russia2025-06-07
Leja Y Caldarera1010Germany2025-06-15
Smith B Marrier1011India2025-06-04
Ricardo J Figeroa1012Australia2025-06-10
Julie N Oldroyd1013Spain2025-06-08
Alejandro G Saylors1014Russia2025-05-30
Izzy Q Rim1015Argentina2025-05-20
Ricardo O Darakjy1016Russia2025-05-20
Jefferson N Slusarski1017Canada2025-05-19
Arvin L Iturbide1018Japan2025-06-04
Maria B Kolmetz1019Brazil2025-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens V StockhamJapanOnyama Limba PROPOSAL
Smith M SlusarskiSpainAnna Fali PROPOSAL
Rodrigues Z BriddickGermanyAsiya Javayant NEGOTIATION
Tony W AlbaresSpainStephen Shaw UNQUALIFIED
Salvatore N IturbideFranceAnna Fali PROPOSAL
Jones L DarakjySpainAnna Fali QUALIFIED
Aika W RulapaughAustraliaIvan Magalhaes NEGOTIATION
Arvin V RimRussiaIvan Magalhaes NEW
Silvio S BriddickBrazilAnna Fali UNQUALIFIED
James C AmigonCanadaOnyama Limba QUALIFIED
Munro Z ButtBrazilXuxue Feng RENEWAL
Aditya T MaletAustraliaAmy Elsner NEW
James N AmigonIndiaAmy Elsner UNQUALIFIED
Sinclair J NestleGermanyIoni Bowcher UNQUALIFIED
Costa H GillianCanadaAsiya Javayant UNQUALIFIED
Chavez I TollnerCanadaAsiya Javayant UNQUALIFIED
Francesco Y WaycottUnited KingdomBernardo Dominic NEGOTIATION
Darci B MarrierIndiaStephen Shaw UNQUALIFIED
James H OldroydUnited KingdomAnna Fali UNQUALIFIED
Francesco D BologniaUnited KingdomStephen Shaw NEGOTIATION
Kaitlin S VenereFranceStephen Shaw QUALIFIED
Alejandro Y OstroskyItalyIoni Bowcher QUALIFIED
Arvin Y BologniaBrazilElwin Sharvill QUALIFIED
Kadeem D NickaItalyStephen Shaw NEW
Ashley O WhobreyRussiaStephen Shaw UNQUALIFIED
Emily X GlickRussiaAsiya Javayant NEGOTIATION
Smith K InouyeBrazilIoni Bowcher PROPOSAL
Octavia Y BologniaItalyAmy Elsner RENEWAL
Juan S StockhamArgentinaIoni Bowcher UNQUALIFIED
Kaitlin F KolmetzRussiaAmy Elsner QUALIFIED
Alejandro P ChuiSpainAsiya Javayant PROPOSAL
Ivar G AlbaresJapanAmy Elsner PROPOSAL
Ricardo Q RimCanadaOnyama Limba NEW
Costa K FigeroaAustraliaIvan Magalhaes NEGOTIATION
Emily C WieserJapanStephen Shaw PROPOSAL
Francesco B MaletArgentinaElwin Sharvill UNQUALIFIED
Francesco U PaprockiAustraliaXuxue Feng PROPOSAL
Chavez S WhobreyCanadaIvan Magalhaes PROPOSAL
Jennifer W GauchoIndiaIvan Magalhaes QUALIFIED
Aika G MarrierJapanStephen Shaw 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>