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
Ricardo Q CaldareraFranceStephen Shaw PROPOSAL
Rodrigues P InouyeUnited KingdomIoni Bowcher NEW
Sinclair Z IturbideArgentinaElwin Sharvill PROPOSAL
Stacey K DarakjyBrazilBernardo Dominic NEW
Kadeem K BriddickAustraliaXuxue Feng UNQUALIFIED
Silvio X DilliardAustraliaOnyama Limba NEGOTIATION
Silvio Z IturbideBrazilAnna Fali UNQUALIFIED
Antonio L GlickItalyOnyama Limba NEW
Jefferson L SergiFranceAmy Elsner PROPOSAL
Misaki R KolmetzRussiaAsiya Javayant QUALIFIED
Maisha F CaldareraSpainElwin Sharvill QUALIFIED
Alejandro U TollnerAustraliaStephen Shaw UNQUALIFIED
James Y PoquetteJapanOnyama Limba PROPOSAL
Claire W PerinAustraliaAnna Fali NEGOTIATION
Izzy U FerenczUnited KingdomAmy Elsner QUALIFIED
Wickens N SaylorsGermanyAnna Fali RENEWAL
Greenwood A MaletCanadaElwin Sharvill UNQUALIFIED
Kaitlin W KolmetzUnited KingdomOnyama Limba NEW
Maisha Z StockhamFranceAsiya Javayant NEGOTIATION
Maisha D FlosiBrazilBernardo Dominic QUALIFIED
Costa U BowleySpainAnna Fali QUALIFIED
Sinclair D RutaItalyIvan Magalhaes QUALIFIED
Mujtaba C StensethCanadaStephen Shaw QUALIFIED
Faith J BowleyAustraliaIvan Magalhaes QUALIFIED
Izzy R RimItalyIoni Bowcher RENEWAL
Misaki J NestleGermanyXuxue Feng QUALIFIED
Salvatore C StockhamGermanyElwin Sharvill RENEWAL
Jefferson N GillianRussiaAnna Fali PROPOSAL
Claire Y MaletIndiaIvan Magalhaes NEW
Rodrigues D MacleadGermanyAsiya Javayant RENEWAL
Greenwood R MacleadArgentinaIvan Magalhaes PROPOSAL
Maria V NestleGermanyStephen Shaw RENEWAL
Chavez P WhobreyCanadaBernardo Dominic NEGOTIATION
Emily F OstroskyUnited KingdomElwin Sharvill NEW
Morrow G OstroskyJapanBernardo Dominic NEGOTIATION
Antonio J NestleArgentinaIvan Magalhaes RENEWAL
Julie I GarufiFranceAmy Elsner PROPOSAL
James K PoquetteArgentinaIvan Magalhaes PROPOSAL
James I FigeroaRussiaStephen Shaw RENEWAL
Smith G OldroydItalyIvan Magalhaes NEW
James C MaletArgentinaXuxue Feng UNQUALIFIED
David Y BowleyUnited KingdomStephen Shaw UNQUALIFIED
Salvatore R WhobreyBrazilAnna Fali PROPOSAL
Munro P MaletCanadaAsiya Javayant RENEWAL
Antonio A AmigonFranceIvan Magalhaes NEW
Alejandro N MarrierUnited KingdomOnyama Limba NEGOTIATION
Nicolas L StockhamIndiaOnyama Limba QUALIFIED
Leja Q CaudyIndiaStephen Shaw RENEWAL
Emily L AmigonGermanyIoni Bowcher RENEWAL
Arvin A PaprockiJapanAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James K PoquetteSpainStephen Shaw NEGOTIATION
Murillo G GillianRussiaIoni Bowcher UNQUALIFIED
Wickens H VenereGermanyBernardo Dominic UNQUALIFIED
Munro D RoysterAustraliaAmy Elsner QUALIFIED
Deepesh W PoquetteIndiaOnyama Limba QUALIFIED
Nicolas F SlusarskiSpainIoni Bowcher NEW
Stacey U MaletRussiaAmy Elsner NEGOTIATION
Mayumi R ButtJapanXuxue Feng QUALIFIED
Chavez I AlbaresRussiaElwin Sharvill UNQUALIFIED
Cody J WieserGermanyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson T MorascaBrazil2024-05-29Rangoni Of Florence RENEWAL22Asiya Javayant
1001Darci B PoquetteArgentina2024-06-18Printing Dimensions RENEWAL33Stephen Shaw
1002Maisha U FigeroaJapan2024-06-19Feltz Printing Service RENEWAL41Xuxue Feng
1003Ashley F SaylorsSpain2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED61Ioni Bowcher
1004Kadeem D PaprockiJapan2024-05-31Commercial Press PROPOSAL11Stephen Shaw
1005Johnson N RoysterCanada2024-06-16Rousseaux, Michael Esq UNQUALIFIED57Ioni Bowcher
1006Antonio Z GlickUnited Kingdom2024-06-01Feltz Printing Service NEGOTIATION19Xuxue Feng
1007Jones R ButtArgentina2024-06-20Dorl, James J Esq UNQUALIFIED89Ivan Magalhaes
1008Claire J GlickJapan2024-06-12Printing Dimensions QUALIFIED15Xuxue Feng
1009Leja I StensethBrazil2024-06-06Feiner Bros QUALIFIED5Stephen Shaw
1010Deepesh G MacleadGermany2024-06-13Chapman, Ross E Esq RENEWAL19Xuxue Feng
1011Mayumi V VocelkaItaly2024-06-07Feltz Printing Service NEW79Bernardo Dominic
1012Maisha G RoysterItaly2024-06-03Rousseaux, Michael Esq NEGOTIATION8Bernardo Dominic
1013Chavez M AlbaresRussia2024-06-06Chemel, James L Cpa NEW9Elwin Sharvill
1014Kadeem E SlusarskiFrance2024-06-21Commercial Press QUALIFIED75Asiya Javayant
1015Rodrigues C FerenczFrance2024-06-14Buckley Miller Wright PROPOSAL83Elwin Sharvill
1016Mayumi I NickaJapan2024-05-29King, Christopher A Esq NEW98Amy Elsner
1017Cody N RutaGermany2024-05-25King, Christopher A Esq QUALIFIED18Bernardo Dominic
1018Adams U FlosiRussia2024-06-02Feltz Printing Service PROPOSAL36Ivan Magalhaes
1019Arvin O CampainBrazil2024-06-15Chemel, James L Cpa NEW71Anna Fali
1020Costa L MorascaBrazil2024-06-02Feiner Bros NEGOTIATION96Anna Fali
1021Wickens V AmigonArgentina2024-06-15Chemel, James L Cpa UNQUALIFIED75Ioni Bowcher
1022Deepesh P TollnerJapan2024-05-30Chapman, Ross E Esq RENEWAL12Ivan Magalhaes
1023Aika P MacleadBrazil2024-06-02Feiner Bros RENEWAL73Onyama Limba
1024Izzy E MorascaGermany2024-06-08Chemel, James L Cpa NEW62Xuxue Feng
1025Murillo Z InouyeSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED40Stephen Shaw
1026Rodrigues D RulapaughIndia2024-05-26Printing Dimensions NEW17Elwin Sharvill
1027Deepesh A AlbaresJapan2024-06-20Buckley Miller Wright UNQUALIFIED8Asiya Javayant
1028Leon W CampainCanada2024-06-07Chanay, Jeffrey A Esq PROPOSAL79Onyama Limba
1029Juan C BologniaCanada2024-06-07Rousseaux, Michael Esq NEW3Bernardo Dominic
1030Johnson U RulapaughRussia2024-05-24Truhlar And Truhlar Attys NEGOTIATION48Ioni Bowcher
1031Leon F SchemmerBrazil2024-05-27Chanay, Jeffrey A Esq RENEWAL66Amy Elsner
1032Murillo Y ButtRussia2024-05-30Rangoni Of Florence NEGOTIATION66Stephen Shaw
1033Antonio L SaylorsRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION43Onyama Limba
1034Julie V OldroydUnited Kingdom2024-06-02Printing Dimensions PROPOSAL14Stephen Shaw
1035Smith C DilliardSpain2024-06-11Buckley Miller Wright UNQUALIFIED6Ivan Magalhaes
1036Maisha G TollnerRussia2024-06-14Rangoni Of Florence NEW65Stephen Shaw
1037Juan W VocelkaBrazil2024-06-20Feiner Bros NEW44Anna Fali
1038Maria U AmigonIndia2024-06-21Printing Dimensions NEGOTIATION19Bernardo Dominic
1039Isabel T RoysterFrance2024-06-05Benton, John B Jr RENEWAL10Stephen Shaw
1040Munro A FerenczGermany2024-05-26Feiner Bros RENEWAL36Elwin Sharvill
1041Emily G IturbideFrance2024-06-20Rangoni Of Florence UNQUALIFIED38Onyama Limba
1042Smith V ShinkoRussia2024-06-13Rousseaux, Michael Esq UNQUALIFIED25Elwin Sharvill
1043Francesco I CaudyIndia2024-06-11Truhlar And Truhlar Attys RENEWAL90Xuxue Feng
1044Francesco R PaprockiFrance2024-06-03Feltz Printing Service QUALIFIED17Amy Elsner
1045Izzy C TollnerUnited Kingdom2024-06-03Morlong Associates NEGOTIATION17Bernardo Dominic
1046Kadeem Q GillianUnited Kingdom2024-05-23Dorl, James J Esq RENEWAL69Amy Elsner
1047Maisha A StensethAustralia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION34Ivan Magalhaes
1048Octavia Y CaldareraGermany2024-06-08Dorl, James J Esq NEW0Bernardo Dominic
1049Misaki S OstroskyUnited Kingdom2024-06-02Feltz Printing Service RENEWAL84Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Francesco V WhobreyRussiaAnna Fali RENEWAL
Ivar P PerinUnited KingdomIvan Magalhaes NEW
Nicolas I VenereArgentinaOnyama Limba NEGOTIATION
Chavez L MaletBrazilOnyama Limba RENEWAL
Alejandro K GarufiGermanyOnyama Limba QUALIFIED
Ashley M ChuiArgentinaAmy Elsner QUALIFIED
Octavia Z WieserItalyXuxue Feng NEGOTIATION
Deepesh U PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Alejandro N AlbaresGermanyAsiya Javayant UNQUALIFIED
Misaki F GauchoRussiaAnna Fali PROPOSAL
Juan I VenereSpainIvan Magalhaes QUALIFIED
Clifford H IturbideUnited KingdomBernardo Dominic PROPOSAL
Clifford K WaycottSpainIoni Bowcher UNQUALIFIED
Stacey S GlickAustraliaIvan Magalhaes NEGOTIATION
Greenwood R GarufiGermanyXuxue Feng QUALIFIED
Kadeem H MorascaRussiaAmy Elsner NEGOTIATION
Adams A WhobreyRussiaAmy Elsner RENEWAL
Leon B BriddickItalyElwin Sharvill NEW
Jeanfrancois Z NickaIndiaAnna Fali QUALIFIED
Cody L BologniaJapanElwin Sharvill NEGOTIATION
Morrow E OstroskyAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois G WieserIndiaElwin Sharvill NEGOTIATION
Leon L SergiSpainXuxue Feng RENEWAL
Clifford S CaldareraJapanAmy Elsner UNQUALIFIED
Tony Z SchemmerIndiaStephen Shaw RENEWAL
Leja D MaletItalyOnyama Limba PROPOSAL
Mujtaba J MacleadUnited KingdomStephen Shaw QUALIFIED
Aika Y TollnerGermanyAnna Fali QUALIFIED
Juan R KuskoArgentinaXuxue Feng PROPOSAL
Maria H MaletFranceAnna Fali UNQUALIFIED
Faith B AmigonBrazilElwin Sharvill PROPOSAL
Tony F FollerUnited KingdomAnna Fali RENEWAL
Ivar R MarrierSpainIvan Magalhaes QUALIFIED
Ricardo L WhobreySpainOnyama Limba NEGOTIATION
Maria N FigeroaArgentinaBernardo Dominic UNQUALIFIED
Mujtaba L GlickIndiaAsiya Javayant PROPOSAL
Izzy Q FollerJapanAsiya Javayant NEGOTIATION
Emily N GillianRussiaIvan Magalhaes PROPOSAL
Jeanfrancois D RoysterIndiaAsiya Javayant PROPOSAL
Claire M RoysterArgentinaAnna Fali NEW
Maria K CaldareraIndiaAmy Elsner QUALIFIED
Silvio Y RimUnited KingdomStephen Shaw RENEWAL
Kaitlin W SlusarskiSpainStephen Shaw UNQUALIFIED
Tony Y CampainAustraliaAsiya Javayant NEW
David U WieserUnited KingdomAsiya Javayant PROPOSAL
Antonio G DilliardAustraliaIoni Bowcher QUALIFIED
Rodrigues E NickaCanadaIoni Bowcher PROPOSAL
Smith Y GauchoIndiaIvan Magalhaes UNQUALIFIED
Tony B VocelkaRussiaXuxue Feng PROPOSAL
Adams P PoquetteSpainAnna Fali UNQUALIFIED
Frozen Columns
Name
Morrow G Caldarera
Maria R Schemmer
James G Perin
Maria Z Dilliard
Mujtaba F Dilliard
Alejandro R Darakjy
Leon H Kusko
Munro X Whobrey
Julie L Morasca
Johnson L Whobrey
Clifford U Doe
Mayumi R Ruta
Jeanfrancois K Marrier
Faith T Briddick
Octavia Q Caldarera
Arvin I Ruta
Murillo A Gillian
David J Vocelka
Arvin I Kusko
Isabel L Figeroa
Johnson T Poquette
Ashley R Malet
Salvatore Z Venere
Misaki Y Whobrey
Francesco C Ostrosky
Salvatore X Figeroa
Tony P Nestle
Sinclair V Caldarera
Leja C Rim
Mujtaba D Slusarski
David P Garufi
Jefferson C Gillian
Darci S Vocelka
Kadeem L Kolmetz
Aika F Campain
Jones T Chui
Mujtaba H Dilliard
Adams F Gaucho
Alejandro S Morasca
Smith T Morasca
Greenwood H Malet
Johnson T Doe
Leja M Schemmer
Smith T Waycott
Darci K Gillian
Kaitlin Z Marrier
Sinclair K Perin
Salvatore O Garufi
Munro P Slusarski
Ashley P Shinko
IdCountryDate
1000France2024-05-30
1001Argentina2024-06-02
1002Canada2024-06-16
1003Brazil2024-06-08
1004Brazil2024-06-11
1005Australia2024-05-25
1006United Kingdom2024-06-13
1007Canada2024-06-04
1008Germany2024-06-04
1009Japan2024-05-31
1010United Kingdom2024-06-06
1011France2024-06-16
1012Canada2024-06-14
1013Brazil2024-06-13
1014Australia2024-06-05
1015Brazil2024-06-21
1016India2024-06-04
1017Canada2024-06-01
1018Canada2024-05-28
1019United Kingdom2024-06-20
1020Argentina2024-06-04
1021Japan2024-05-24
1022United Kingdom2024-05-29
1023Russia2024-06-09
1024Italy2024-06-09
1025India2024-06-13
1026Germany2024-06-10
1027India2024-05-29
1028France2024-06-15
1029Argentina2024-05-23
1030Italy2024-06-20
1031Germany2024-06-04
1032Italy2024-06-18
1033Italy2024-06-18
1034France2024-06-14
1035Italy2024-05-27
1036India2024-06-13
1037United Kingdom2024-06-10
1038Spain2024-06-14
1039Brazil2024-05-26
1040Brazil2024-06-06
1041Brazil2024-06-11
1042Italy2024-06-08
1043India2024-06-18
1044Japan2024-06-12
1045Germany2024-05-29
1046Canada2024-06-09
1047United Kingdom2024-06-13
1048Brazil2024-06-17
1049India2024-06-21

On-Demand Data

NameIdCountryDate
Jones I Flosi1000Spain2024-06-11
Juan R Dilliard1001Italy2024-06-07
Mayumi B Chui1002Spain2024-05-26
Rodrigues E Chui1003France2024-06-16
Arvin G Oldroyd1004Canada2024-05-27
Adams E Flosi1005United Kingdom2024-05-27
Deepesh B Vocelka1006Germany2024-06-15
Ashley Q Perin1007Australia2024-06-03
Aditya Z Waycott1008Canada2024-05-30
Morrow N Ferencz1009France2024-06-17
Morrow N Glick1010United Kingdom2024-05-28
Aditya M Darakjy1011India2024-05-30
Clifford K Sergi1012India2024-05-25
Morrow E Flosi1013Australia2024-06-21
Leon V Wieser1014France2024-05-29
David H Rulapaugh1015Italy2024-05-27
Kaitlin M Caldarera1016Italy2024-06-09
Ivar K Royster1017Canada2024-05-27
Misaki I Briddick1018Argentina2024-05-24
Stacey X Dilliard1019Russia2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams S FerenczAustraliaIvan Magalhaes RENEWAL
Francesco E ChuiGermanyAnna Fali UNQUALIFIED
Jennifer F OldroydRussiaElwin Sharvill UNQUALIFIED
Jennifer W NickaJapanIvan Magalhaes NEW
Izzy N KolmetzIndiaIvan Magalhaes UNQUALIFIED
Juan M TollnerBrazilIoni Bowcher RENEWAL
Darci T MarrierItalyAmy Elsner UNQUALIFIED
Izzy F OstroskyBrazilAmy Elsner NEGOTIATION
Emily K GauchoArgentinaAmy Elsner NEGOTIATION
Wickens N ShinkoAustraliaIoni Bowcher NEW
Mayumi H FollerGermanyStephen Shaw RENEWAL
Julie G PaprockiCanadaXuxue Feng NEW
Mujtaba Z MaletSpainAsiya Javayant NEW
Smith U GauchoArgentinaBernardo Dominic QUALIFIED
Isabel J StensethIndiaAnna Fali PROPOSAL
Tony T WieserUnited KingdomIvan Magalhaes RENEWAL
Maisha L FollerGermanyAsiya Javayant PROPOSAL
Ashley O WaycottUnited KingdomAsiya Javayant NEGOTIATION
Antonio E FollerItalyElwin Sharvill NEW
Silvio P FollerJapanIoni Bowcher NEGOTIATION
Jefferson C OldroydGermanyStephen Shaw NEGOTIATION
Adams X RimRussiaXuxue Feng NEW
Claire O SaylorsAustraliaXuxue Feng QUALIFIED
Rodrigues J OstroskyUnited KingdomAmy Elsner NEW
Jeanfrancois E DoeArgentinaAmy Elsner QUALIFIED
Wickens D MaletIndiaAmy Elsner RENEWAL
Claire W OldroydItalyAmy Elsner NEGOTIATION
Octavia L PaprockiItalyElwin Sharvill QUALIFIED
Chavez Q MacleadArgentinaIoni Bowcher NEGOTIATION
Maria P PerinIndiaBernardo Dominic RENEWAL
Maisha U AmigonRussiaStephen Shaw QUALIFIED
Emily B MorascaBrazilIvan Magalhaes PROPOSAL
Sinclair B FlosiIndiaXuxue Feng NEW
David J AmigonRussiaAsiya Javayant UNQUALIFIED
Misaki U StockhamArgentinaIvan Magalhaes RENEWAL
Isabel J MorascaCanadaAsiya Javayant NEW
Ashley G FerenczGermanyIoni Bowcher UNQUALIFIED
Costa P NickaIndiaXuxue Feng RENEWAL
Kadeem W StensethCanadaAsiya Javayant UNQUALIFIED
Izzy Z FlosiRussiaAsiya Javayant 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>