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
Wickens J BowleyUnited KingdomBernardo Dominic QUALIFIED
Johnson W FlosiAustraliaIoni Bowcher NEW
Greenwood D SaylorsRussiaAsiya Javayant PROPOSAL
Munro L SlusarskiArgentinaBernardo Dominic NEW
Maria N SergiUnited KingdomIoni Bowcher UNQUALIFIED
Izzy T OldroydCanadaStephen Shaw NEGOTIATION
Rodrigues Y GillianFranceBernardo Dominic QUALIFIED
Juan D StensethSpainAnna Fali PROPOSAL
Aika H KuskoUnited KingdomIoni Bowcher PROPOSAL
Leja L MaletCanadaStephen Shaw PROPOSAL
Maisha V CampainGermanyIoni Bowcher UNQUALIFIED
Jefferson B SchemmerBrazilIoni Bowcher NEGOTIATION
Aditya L RulapaughGermanyAsiya Javayant NEGOTIATION
Arvin Y WhobreyGermanyOnyama Limba QUALIFIED
David H DarakjyBrazilAnna Fali RENEWAL
Ashley P BowleyItalyAmy Elsner NEW
Cody E FlosiJapanStephen Shaw UNQUALIFIED
Francesco E DoeSpainAmy Elsner QUALIFIED
Clifford F GillianSpainIvan Magalhaes QUALIFIED
Kaitlin X GillianArgentinaBernardo Dominic NEGOTIATION
Aika A BowleyGermanyStephen Shaw NEW
Morrow G AlbaresJapanIoni Bowcher RENEWAL
Chavez E KuskoArgentinaXuxue Feng UNQUALIFIED
Morrow H TollnerFranceElwin Sharvill RENEWAL
Jennifer D SchemmerJapanAnna Fali RENEWAL
Maisha V FlosiAustraliaElwin Sharvill NEW
Kadeem J RutaJapanIoni Bowcher NEGOTIATION
Jennifer N KuskoArgentinaXuxue Feng RENEWAL
Chavez Y WaycottJapanAsiya Javayant RENEWAL
Jennifer L FerenczFranceBernardo Dominic UNQUALIFIED
Maisha F ChuiCanadaAmy Elsner NEW
Francesco W CaldareraAustraliaAnna Fali NEW
Maisha U OstroskyCanadaAsiya Javayant NEW
James R DoeUnited KingdomIvan Magalhaes NEW
Octavia A NickaJapanIvan Magalhaes NEW
Claire I DoeJapanBernardo Dominic PROPOSAL
Stacey J DilliardItalyAmy Elsner UNQUALIFIED
Munro P StockhamBrazilStephen Shaw UNQUALIFIED
Aika D BologniaAustraliaIoni Bowcher NEW
Aika A GauchoJapanAnna Fali NEGOTIATION
Adams Z ButtUnited KingdomAmy Elsner QUALIFIED
Darci E SlusarskiRussiaXuxue Feng RENEWAL
Greenwood Z GauchoRussiaAsiya Javayant UNQUALIFIED
Darci R MorascaIndiaXuxue Feng QUALIFIED
Izzy Y WieserUnited KingdomIoni Bowcher NEW
Costa K BologniaCanadaElwin Sharvill UNQUALIFIED
Aruna J OstroskyUnited KingdomIvan Magalhaes RENEWAL
Aruna K MaletUnited KingdomAsiya Javayant NEW
Aditya X AlbaresRussiaOnyama Limba QUALIFIED
Antonio T ChuiAustraliaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Izzy Q VocelkaSpainXuxue Feng UNQUALIFIED
Ivar C VocelkaFranceAnna Fali NEW
Greenwood N AmigonJapanStephen Shaw NEGOTIATION
Arvin W PaprockiFranceAmy Elsner NEW
Murillo U MorascaBrazilXuxue Feng QUALIFIED
Jones X CampainJapanStephen Shaw PROPOSAL
Francesco H MacleadFranceXuxue Feng PROPOSAL
Aika I ShinkoBrazilXuxue Feng UNQUALIFIED
Leon Z BologniaIndiaXuxue Feng NEGOTIATION
Francesco K CaudyFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith W FlosiUnited Kingdom2024-05-05Benton, John B Jr PROPOSAL60Elwin Sharvill
1001Costa X GarufiRussia2024-05-18Dorl, James J Esq QUALIFIED5Anna Fali
1002Arvin N RimGermany2024-05-02Commercial Press UNQUALIFIED61Xuxue Feng
1003Faith X FerenczBrazil2024-04-28Commercial Press NEGOTIATION41Ivan Magalhaes
1004Leon M OstroskyFrance2024-05-24Truhlar And Truhlar Attys PROPOSAL93Onyama Limba
1005Ivar P SergiItaly2024-05-24Benton, John B Jr PROPOSAL94Ioni Bowcher
1006Faith S VocelkaUnited Kingdom2024-05-24Rangoni Of Florence UNQUALIFIED37Bernardo Dominic
1007Aika F RulapaughFrance2024-05-07Dorl, James J Esq NEGOTIATION42Anna Fali
1008Juan C BriddickBrazil2024-05-21Benton, John B Jr NEGOTIATION55Onyama Limba
1009Isabel X NestleArgentina2024-05-02Chemel, James L Cpa PROPOSAL41Asiya Javayant
1010Jefferson X DilliardAustralia2024-05-04King, Christopher A Esq UNQUALIFIED89Bernardo Dominic
1011Octavia Y FerenczBrazil2024-04-29Rousseaux, Michael Esq QUALIFIED58Stephen Shaw
1012Chavez B RulapaughRussia2024-04-26Morlong Associates QUALIFIED60Xuxue Feng
1013Leja C AmigonArgentina2024-05-07Benton, John B Jr RENEWAL89Stephen Shaw
1014Rodrigues A RoysterItaly2024-05-14Truhlar And Truhlar Attys NEGOTIATION43Asiya Javayant
1015Murillo Q BriddickAustralia2024-05-03Chapman, Ross E Esq QUALIFIED69Elwin Sharvill
1016Clifford F RoysterIndia2024-05-10Truhlar And Truhlar Attys NEW60Xuxue Feng
1017Arvin Y GillianFrance2024-04-29Rangoni Of Florence NEGOTIATION14Ivan Magalhaes
1018Sinclair Y WhobreyAustralia2024-05-22Benton, John B Jr UNQUALIFIED8Elwin Sharvill
1019Greenwood O WhobreyGermany2024-05-17Rangoni Of Florence PROPOSAL85Elwin Sharvill
1020Aruna W OstroskyAustralia2024-05-07Chanay, Jeffrey A Esq NEGOTIATION94Ivan Magalhaes
1021Jones M KolmetzFrance2024-04-27Chanay, Jeffrey A Esq UNQUALIFIED46Elwin Sharvill
1022Juan S SergiGermany2024-05-15Dorl, James J Esq RENEWAL45Xuxue Feng
1023Leon R WhobreyIndia2024-05-11Benton, John B Jr QUALIFIED94Anna Fali
1024Antonio M VenereUnited Kingdom2024-05-01Commercial Press UNQUALIFIED42Stephen Shaw
1025Misaki Q FlosiCanada2024-05-19King, Christopher A Esq UNQUALIFIED32Elwin Sharvill
1026Maria Z MacleadAustralia2024-05-06Chanay, Jeffrey A Esq UNQUALIFIED71Ivan Magalhaes
1027David M GlickCanada2024-05-05Feiner Bros NEGOTIATION80Xuxue Feng
1028Arvin P GarufiRussia2024-05-23Feltz Printing Service NEW46Ioni Bowcher
1029Nicolas I SlusarskiJapan2024-05-12Feiner Bros QUALIFIED51Stephen Shaw
1030Nicolas M BriddickAustralia2024-05-21Commercial Press QUALIFIED98Onyama Limba
1031Jeanfrancois G AlbaresJapan2024-04-28Chanay, Jeffrey A Esq NEGOTIATION7Onyama Limba
1032Wickens E GarufiItaly2024-05-14Dorl, James J Esq RENEWAL40Elwin Sharvill
1033Stacey I KuskoItaly2024-05-16Feltz Printing Service RENEWAL22Ioni Bowcher
1034Rodrigues O PoquetteBrazil2024-05-22Buckley Miller Wright RENEWAL87Anna Fali
1035Julie P GlickIndia2024-05-19Benton, John B Jr QUALIFIED99Onyama Limba
1036Murillo F OstroskyRussia2024-05-04Truhlar And Truhlar Attys QUALIFIED86Xuxue Feng
1037Jeanfrancois O IturbideCanada2024-05-09Buckley Miller Wright PROPOSAL3Amy Elsner
1038Cody T NestleCanada2024-05-11Feiner Bros PROPOSAL11Amy Elsner
1039Aditya K MaletArgentina2024-04-29Feltz Printing Service PROPOSAL6Asiya Javayant
1040Faith P NestleAustralia2024-05-15Buckley Miller Wright PROPOSAL21Anna Fali
1041Mujtaba P AmigonUnited Kingdom2024-05-04Printing Dimensions NEW75Anna Fali
1042Smith R RulapaughBrazil2024-05-14Commercial Press PROPOSAL98Xuxue Feng
1043Arvin B SchemmerCanada2024-05-20Rangoni Of Florence QUALIFIED39Bernardo Dominic
1044Emily I GlickAustralia2024-04-29Commercial Press UNQUALIFIED36Asiya Javayant
1045Alejandro G NickaAustralia2024-05-17Truhlar And Truhlar Attys PROPOSAL23Xuxue Feng
1046Smith O PoquetteRussia2024-05-24Morlong Associates NEGOTIATION23Ivan Magalhaes
1047Leja K MacleadJapan2024-05-17Chapman, Ross E Esq QUALIFIED31Stephen Shaw
1048Morrow H InouyeAustralia2024-05-05Buckley Miller Wright PROPOSAL17Asiya Javayant
1049Ivar X PerinUnited Kingdom2024-05-23Chanay, Jeffrey A Esq RENEWAL9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aruna A GauchoItalyIoni Bowcher QUALIFIED
Claire R MacleadFranceAmy Elsner RENEWAL
Juan L InouyeArgentinaOnyama Limba PROPOSAL
Rodrigues M ShinkoItalyElwin Sharvill NEGOTIATION
Murillo F GarufiFranceBernardo Dominic NEGOTIATION
Aruna G FerenczGermanyBernardo Dominic RENEWAL
Adams T KuskoBrazilAmy Elsner NEW
Ashley W FollerFranceIvan Magalhaes RENEWAL
Mujtaba K OstroskySpainElwin Sharvill RENEWAL
Ivar X FollerRussiaStephen Shaw RENEWAL
Julie H BriddickGermanyElwin Sharvill RENEWAL
Adams Z OstroskyIndiaOnyama Limba UNQUALIFIED
Murillo C VenereCanadaStephen Shaw NEW
Misaki B FollerRussiaXuxue Feng QUALIFIED
Munro P PerinAustraliaIvan Magalhaes NEW
Misaki J FollerBrazilAmy Elsner NEGOTIATION
Silvio H MaletAustraliaOnyama Limba RENEWAL
Octavia Q OstroskyUnited KingdomIvan Magalhaes NEW
David D ShinkoCanadaBernardo Dominic NEW
Ricardo V DarakjyIndiaIoni Bowcher UNQUALIFIED
Ashley O NestleArgentinaBernardo Dominic RENEWAL
Tony P MaletBrazilAnna Fali NEGOTIATION
Alejandro Y IturbideBrazilAnna Fali NEW
Izzy M MarrierJapanStephen Shaw NEGOTIATION
Wickens E BriddickItalyIvan Magalhaes NEW
Antonio Q ChuiItalyStephen Shaw NEW
Alejandro O NickaUnited KingdomOnyama Limba PROPOSAL
Octavia M GlickGermanyAmy Elsner RENEWAL
Ashley W GarufiJapanBernardo Dominic RENEWAL
Tony U OldroydCanadaElwin Sharvill PROPOSAL
Aditya F BowleyJapanAsiya Javayant QUALIFIED
Stacey T OstroskyIndiaIvan Magalhaes PROPOSAL
Isabel V KuskoArgentinaIoni Bowcher NEGOTIATION
Julie H MacleadAustraliaIoni Bowcher NEGOTIATION
Aika J WaycottArgentinaIoni Bowcher NEW
Jones C MaletIndiaAnna Fali NEGOTIATION
Leja R VocelkaRussiaElwin Sharvill QUALIFIED
Claire L ShinkoItalyStephen Shaw RENEWAL
Julie I RulapaughUnited KingdomXuxue Feng NEGOTIATION
Ricardo B PerinSpainIvan Magalhaes RENEWAL
Sinclair U SchemmerRussiaIvan Magalhaes PROPOSAL
Kaitlin T GauchoBrazilIvan Magalhaes NEW
Aika Y NestleRussiaAsiya Javayant NEGOTIATION
Leon L CaudyItalyXuxue Feng UNQUALIFIED
Stacey J AlbaresUnited KingdomIvan Magalhaes RENEWAL
Tony T ShinkoItalyIvan Magalhaes NEW
Salvatore D DilliardRussiaAsiya Javayant NEW
Ricardo C NickaUnited KingdomElwin Sharvill PROPOSAL
Arvin U BowleyItalyAmy Elsner QUALIFIED
Darci F PerinItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Morrow M Wieser
Nicolas H Maclead
Greenwood J Kusko
Johnson O Inouye
Mayumi D Butt
Jennifer R Bolognia
Jeanfrancois N Flosi
Jefferson T Stockham
Juan Q Vocelka
Faith O Stockham
Morrow X Campain
Aika M Iturbide
Aruna D Garufi
Darci Y Wieser
Cody R Poquette
Silvio N Albares
Costa D Gaucho
Sinclair Z Doe
Jennifer E Waycott
Mayumi M Dilliard
Tony O Chui
Jeanfrancois T Morasca
Aruna D Flosi
Julie F Morasca
Jones X Garufi
Isabel I Paprocki
Adams V Garufi
Misaki O Doe
Arvin R Iturbide
Johnson Y Iturbide
Juan S Ferencz
Salvatore P Caudy
Leja K Royster
Cody N Dilliard
Smith W Venere
Octavia A Dilliard
Claire J Waycott
Maria C Glick
Aika X Darakjy
Faith X Maclead
Costa Z Doe
Ivar C Perin
Emily X Schemmer
Smith T Malet
Juan B Whobrey
Deepesh E Malet
David W Marrier
Kadeem I Inouye
Greenwood J Albares
Stacey K Morasca
IdCountryDate
1000Germany2024-05-22
1001United Kingdom2024-04-28
1002Canada2024-05-23
1003India2024-05-09
1004Russia2024-04-29
1005Canada2024-05-13
1006Spain2024-04-28
1007Australia2024-05-08
1008United Kingdom2024-05-11
1009Canada2024-04-28
1010Australia2024-04-26
1011Germany2024-05-21
1012Argentina2024-05-18
1013France2024-05-05
1014Canada2024-05-01
1015France2024-05-07
1016Italy2024-05-20
1017Japan2024-04-27
1018United Kingdom2024-05-06
1019Japan2024-05-20
1020France2024-05-22
1021Italy2024-05-11
1022Canada2024-05-24
1023Spain2024-04-27
1024Russia2024-05-11
1025Brazil2024-05-16
1026Canada2024-05-24
1027Brazil2024-04-28
1028Brazil2024-05-12
1029India2024-04-29
1030Italy2024-05-12
1031Spain2024-05-20
1032Argentina2024-05-03
1033Japan2024-04-28
1034Argentina2024-05-07
1035Australia2024-04-28
1036Japan2024-05-06
1037United Kingdom2024-05-23
1038United Kingdom2024-05-21
1039Germany2024-04-28
1040Brazil2024-05-12
1041Argentina2024-04-28
1042Russia2024-05-10
1043India2024-05-13
1044Japan2024-05-07
1045France2024-05-21
1046Italy2024-05-18
1047Russia2024-05-12
1048United Kingdom2024-05-05
1049United Kingdom2024-05-17

On-Demand Data

NameIdCountryDate
Sinclair W Ruta1000Japan2024-05-23
Salvatore H Foller1001Russia2024-05-14
Rodrigues V Foller1002Russia2024-05-10
Stacey Q Rulapaugh1003Spain2024-05-01
Mujtaba C Tollner1004Russia2024-05-21
Murillo I Caudy1005France2024-05-05
Emily L Butt1006Argentina2024-05-14
Maisha J Waycott1007Canada2024-05-09
Mayumi A Wieser1008India2024-05-20
Nicolas L Rulapaugh1009Italy2024-05-02
David C Ferencz1010Germany2024-05-18
Cody R Royster1011Spain2024-04-25
Aditya T Vocelka1012France2024-05-07
Sinclair Z Kolmetz1013United Kingdom2024-05-18
David E Malet1014Italy2024-05-03
Mayumi Y Darakjy1015Japan2024-05-23
Emily Z Sergi1016Spain2024-05-04
Mayumi Q Morasca1017Spain2024-05-17
Octavia J Darakjy1018India2024-05-22
Chavez J Shinko1019Brazil2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Z PoquetteArgentinaXuxue Feng RENEWAL
Kadeem R MaletCanadaAmy Elsner NEGOTIATION
Isabel O GillianRussiaAnna Fali RENEWAL
Sinclair Z VocelkaJapanIoni Bowcher RENEWAL
Kaitlin J BologniaAustraliaXuxue Feng NEGOTIATION
Jones L WieserItalyAsiya Javayant UNQUALIFIED
Mujtaba R CaldareraFranceStephen Shaw NEW
Ivar S PoquetteUnited KingdomElwin Sharvill QUALIFIED
Misaki K StensethBrazilIvan Magalhaes RENEWAL
Clifford A FerenczFranceElwin Sharvill QUALIFIED
Wickens B OldroydUnited KingdomXuxue Feng UNQUALIFIED
Isabel N WieserGermanyStephen Shaw RENEWAL
Izzy W OstroskyAustraliaStephen Shaw QUALIFIED
Ivar C GlickRussiaIoni Bowcher NEW
Aruna Q AmigonIndiaIoni Bowcher PROPOSAL
Francesco O AlbaresJapanBernardo Dominic RENEWAL
James U WaycottSpainIoni Bowcher QUALIFIED
Greenwood A SchemmerRussiaIoni Bowcher NEGOTIATION
Juan T NestleArgentinaIvan Magalhaes QUALIFIED
Isabel E OldroydUnited KingdomIoni Bowcher RENEWAL
Leja Q GauchoUnited KingdomIvan Magalhaes RENEWAL
Murillo D VocelkaArgentinaAsiya Javayant NEW
Rodrigues N StockhamIndiaAnna Fali NEGOTIATION
Arvin X ChuiGermanyIvan Magalhaes NEW
Mayumi T InouyeSpainBernardo Dominic PROPOSAL
Johnson O PaprockiArgentinaElwin Sharvill QUALIFIED
Nicolas C CaudyGermanyXuxue Feng UNQUALIFIED
Nicolas M StockhamItalyOnyama Limba NEGOTIATION
Ivar H SlusarskiSpainOnyama Limba UNQUALIFIED
Rodrigues M FigeroaGermanyAnna Fali NEW
Aika H OstroskyUnited KingdomAmy Elsner PROPOSAL
Salvatore Q WhobreyItalyXuxue Feng UNQUALIFIED
Antonio F CampainRussiaXuxue Feng RENEWAL
Stacey K ShinkoRussiaIvan Magalhaes NEW
Emily F MaletGermanyAsiya Javayant NEW
Mujtaba F OstroskyArgentinaBernardo Dominic NEW
Aruna I GillianBrazilElwin Sharvill NEW
Morrow W AmigonJapanBernardo Dominic UNQUALIFIED
Juan B ButtFranceXuxue Feng NEW
Maria V FlosiGermanyElwin Sharvill PROPOSAL

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