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
Aika R NickaItalyIvan Magalhaes NEGOTIATION
James Q VocelkaBrazilElwin Sharvill UNQUALIFIED
Mujtaba S DoeSpainAsiya Javayant QUALIFIED
Aruna P WhobreyFranceBernardo Dominic NEW
Julie V FigeroaFranceElwin Sharvill NEGOTIATION
Ashley K PaprockiSpainXuxue Feng RENEWAL
Ivar P SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Misaki V StockhamBrazilAnna Fali UNQUALIFIED
Francesco K InouyeJapanBernardo Dominic NEW
Salvatore E BowleyCanadaIvan Magalhaes NEGOTIATION
Emily F DoeBrazilAsiya Javayant PROPOSAL
Emily G StensethItalyAmy Elsner RENEWAL
Izzy G GarufiRussiaAsiya Javayant RENEWAL
Mayumi Y RulapaughRussiaAmy Elsner QUALIFIED
Costa L TollnerItalyOnyama Limba RENEWAL
Aditya S MacleadArgentinaElwin Sharvill RENEWAL
Julie K NestleArgentinaAsiya Javayant UNQUALIFIED
Mujtaba A NestleArgentinaAnna Fali PROPOSAL
Mayumi Q GauchoGermanyBernardo Dominic QUALIFIED
Johnson O KuskoRussiaAmy Elsner NEGOTIATION
Sinclair K VenereCanadaAsiya Javayant QUALIFIED
David Y InouyeFranceStephen Shaw QUALIFIED
Clifford L MacleadIndiaXuxue Feng QUALIFIED
Deepesh G TollnerJapanXuxue Feng PROPOSAL
Mayumi K ChuiRussiaBernardo Dominic RENEWAL
Salvatore C BologniaJapanStephen Shaw PROPOSAL
Jones V WaycottCanadaBernardo Dominic QUALIFIED
Deepesh S PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Johnson S SergiArgentinaOnyama Limba RENEWAL
Antonio G MaletArgentinaXuxue Feng PROPOSAL
Deepesh S KolmetzGermanyAnna Fali PROPOSAL
Cody O MaletJapanIoni Bowcher NEGOTIATION
Silvio J PerinGermanyStephen Shaw NEW
Darci C CaudyIndiaAsiya Javayant RENEWAL
Deepesh O CampainBrazilOnyama Limba NEW
Mayumi H DoeArgentinaXuxue Feng NEW
Greenwood F GauchoItalyAmy Elsner RENEWAL
Ivar E FlosiBrazilBernardo Dominic RENEWAL
Munro L KolmetzIndiaElwin Sharvill NEW
Mujtaba X PerinSpainStephen Shaw QUALIFIED
Jefferson F WaycottBrazilStephen Shaw NEGOTIATION
Johnson T FlosiItalyStephen Shaw UNQUALIFIED
Smith M OstroskyRussiaAmy Elsner UNQUALIFIED
Octavia Z KuskoArgentinaXuxue Feng QUALIFIED
Alejandro U KolmetzAustraliaAnna Fali PROPOSAL
Wickens A MaletGermanyAnna Fali PROPOSAL
Morrow Y AmigonAustraliaAnna Fali QUALIFIED
Aika H SergiArgentinaAsiya Javayant NEW
Mujtaba C ButtFranceOnyama Limba QUALIFIED
Rodrigues M FollerIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony S InouyeCanadaIvan Magalhaes PROPOSAL
Alejandro S WaycottRussiaAnna Fali RENEWAL
Claire S WieserFranceStephen Shaw RENEWAL
Aruna V WhobreyBrazilXuxue Feng RENEWAL
Isabel N FigeroaGermanyXuxue Feng NEW
Maisha Z MaletItalyIoni Bowcher PROPOSAL
Aruna E KuskoBrazilXuxue Feng NEGOTIATION
Octavia M BowleyJapanBernardo Dominic PROPOSAL
Stacey C TollnerUnited KingdomElwin Sharvill PROPOSAL
Deepesh I GarufiItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W ShinkoIndia2024-06-15Rangoni Of Florence RENEWAL82Amy Elsner
1001Juan I WhobreyFrance2024-06-09Buckley Miller Wright PROPOSAL75Asiya Javayant
1002Ivar P DilliardGermany2024-05-28Chapman, Ross E Esq NEW58Ioni Bowcher
1003Morrow H GarufiAustralia2024-06-11Commercial Press PROPOSAL62Ioni Bowcher
1004Rodrigues Z WhobreySpain2024-06-17Rangoni Of Florence UNQUALIFIED25Bernardo Dominic
1005Morrow M NestleItaly2024-06-22Benton, John B Jr QUALIFIED91Amy Elsner
1006Sinclair A VocelkaGermany2024-06-17Rousseaux, Michael Esq QUALIFIED73Xuxue Feng
1007Francesco F DoeIndia2024-06-22Printing Dimensions PROPOSAL31Ivan Magalhaes
1008Juan F VenereCanada2024-06-04Feltz Printing Service PROPOSAL42Ioni Bowcher
1009Izzy T IturbideArgentina2024-06-10Benton, John B Jr NEW72Ioni Bowcher
1010Arvin X WieserSpain2024-06-15Benton, John B Jr NEW79Asiya Javayant
1011Stacey A PaprockiItaly2024-05-31Chemel, James L Cpa NEGOTIATION34Xuxue Feng
1012Mayumi R FollerCanada2024-06-18Rousseaux, Michael Esq QUALIFIED18Bernardo Dominic
1013Adams Y RimArgentina2024-06-18Benton, John B Jr RENEWAL1Asiya Javayant
1014Arvin V OldroydRussia2024-06-03Chanay, Jeffrey A Esq PROPOSAL48Ioni Bowcher
1015Izzy B NestleItaly2024-06-02Chanay, Jeffrey A Esq NEW27Ioni Bowcher
1016Wickens B RoysterItaly2024-05-30Benton, John B Jr NEGOTIATION75Onyama Limba
1017Francesco Z SergiUnited Kingdom2024-06-14Printing Dimensions RENEWAL90Bernardo Dominic
1018Mujtaba F KuskoGermany2024-06-04Chemel, James L Cpa NEW17Asiya Javayant
1019Costa S KuskoItaly2024-06-18Chanay, Jeffrey A Esq PROPOSAL52Stephen Shaw
1020Isabel W SlusarskiItaly2024-06-21Chapman, Ross E Esq RENEWAL57Anna Fali
1021Octavia G FlosiJapan2024-05-29King, Christopher A Esq QUALIFIED6Asiya Javayant
1022Morrow Y CampainIndia2024-05-27Chapman, Ross E Esq NEGOTIATION9Bernardo Dominic
1023Faith N MaletCanada2024-06-06Printing Dimensions NEW73Bernardo Dominic
1024Maria Q MacleadSpain2024-06-18Truhlar And Truhlar Attys PROPOSAL18Ivan Magalhaes
1025Kaitlin H InouyeFrance2024-06-07Feltz Printing Service QUALIFIED90Onyama Limba
1026Rodrigues Y GauchoFrance2024-06-09Buckley Miller Wright NEW2Ioni Bowcher
1027Jefferson Q ChuiJapan2024-06-10Chapman, Ross E Esq QUALIFIED62Stephen Shaw
1028Clifford Z VenereAustralia2024-05-27Chemel, James L Cpa RENEWAL10Onyama Limba
1029David D CaldareraUnited Kingdom2024-05-30Dorl, James J Esq NEW80Onyama Limba
1030Francesco F FlosiGermany2024-06-01Morlong Associates PROPOSAL58Stephen Shaw
1031Morrow A RulapaughSpain2024-06-09Rousseaux, Michael Esq UNQUALIFIED82Bernardo Dominic
1032Ricardo C DoeItaly2024-06-19Rangoni Of Florence PROPOSAL34Xuxue Feng
1033Jefferson P TollnerUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEGOTIATION74Onyama Limba
1034Stacey K FlosiRussia2024-06-13Rousseaux, Michael Esq RENEWAL84Anna Fali
1035Salvatore Y SlusarskiIndia2024-06-05Truhlar And Truhlar Attys PROPOSAL68Amy Elsner
1036Wickens N PaprockiFrance2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED51Xuxue Feng
1037Misaki L AlbaresRussia2024-06-15Benton, John B Jr NEGOTIATION27Ivan Magalhaes
1038Sinclair I ShinkoJapan2024-06-18Feiner Bros PROPOSAL55Ioni Bowcher
1039Maisha W StockhamJapan2024-06-11Feltz Printing Service NEW8Bernardo Dominic
1040Murillo C CaldareraSpain2024-06-01King, Christopher A Esq NEGOTIATION48Stephen Shaw
1041Jefferson X FlosiRussia2024-06-10King, Christopher A Esq PROPOSAL25Onyama Limba
1042Julie U NestleFrance2024-05-27Chemel, James L Cpa PROPOSAL35Ivan Magalhaes
1043Silvio T FollerJapan2024-06-05Truhlar And Truhlar Attys QUALIFIED43Asiya Javayant
1044Jennifer S BologniaArgentina2024-06-10Truhlar And Truhlar Attys UNQUALIFIED28Xuxue Feng
1045Salvatore U DoeAustralia2024-05-29Benton, John B Jr QUALIFIED61Ivan Magalhaes
1046Francesco D SchemmerBrazil2024-06-10Feiner Bros UNQUALIFIED78Anna Fali
1047Arvin O ShinkoGermany2024-05-29Truhlar And Truhlar Attys RENEWAL91Bernardo Dominic
1048Chavez A GauchoBrazil2024-06-14Morlong Associates UNQUALIFIED69Asiya Javayant
1049Faith G StockhamFrance2024-06-07Dorl, James J Esq NEW4Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Claire F RoysterRussiaAnna Fali UNQUALIFIED
Aruna D GarufiCanadaBernardo Dominic QUALIFIED
James W GillianAustraliaAnna Fali RENEWAL
Arvin Z OstroskyAustraliaIoni Bowcher UNQUALIFIED
Munro F MaletItalyAnna Fali NEW
Juan V GillianIndiaAmy Elsner NEGOTIATION
Jeanfrancois F OstroskyJapanBernardo Dominic PROPOSAL
Leja V NestleCanadaAnna Fali PROPOSAL
Salvatore N NickaAustraliaElwin Sharvill NEW
Clifford O RimSpainStephen Shaw PROPOSAL
Tony C VocelkaJapanIvan Magalhaes PROPOSAL
Ivar E FigeroaArgentinaElwin Sharvill PROPOSAL
Stacey V CaldareraArgentinaOnyama Limba QUALIFIED
Johnson Q SergiBrazilAmy Elsner NEW
Tony U MarrierIndiaElwin Sharvill NEW
Izzy P WaycottArgentinaStephen Shaw NEGOTIATION
Kadeem Z FerenczJapanAmy Elsner PROPOSAL
Faith T GillianIndiaAmy Elsner QUALIFIED
Faith L GlickBrazilElwin Sharvill UNQUALIFIED
Aditya T SaylorsArgentinaAnna Fali UNQUALIFIED
Leon Y GarufiUnited KingdomOnyama Limba NEGOTIATION
Salvatore N StockhamRussiaAsiya Javayant NEGOTIATION
Mayumi F GlickSpainIvan Magalhaes RENEWAL
Johnson F TollnerBrazilStephen Shaw NEW
Arvin M StensethUnited KingdomElwin Sharvill QUALIFIED
Leja W RimArgentinaElwin Sharvill QUALIFIED
James A RulapaughBrazilIoni Bowcher QUALIFIED
Maria X VenereRussiaAnna Fali UNQUALIFIED
Kadeem P WieserGermanyBernardo Dominic PROPOSAL
Cody K IturbideRussiaAnna Fali NEW
Smith Q BologniaFranceXuxue Feng NEGOTIATION
Munro T PoquetteJapanBernardo Dominic NEW
Mujtaba F GillianFranceOnyama Limba NEW
Costa T PerinGermanyElwin Sharvill UNQUALIFIED
Costa L InouyeArgentinaOnyama Limba NEW
Greenwood T ShinkoItalyIvan Magalhaes RENEWAL
Francesco L MaletUnited KingdomStephen Shaw PROPOSAL
Mujtaba Z RoysterGermanyAsiya Javayant UNQUALIFIED
Juan K MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues H AlbaresUnited KingdomAnna Fali QUALIFIED
Misaki O VenereUnited KingdomElwin Sharvill PROPOSAL
Silvio T GillianIndiaAsiya Javayant UNQUALIFIED
Costa D NickaArgentinaIoni Bowcher NEW
Isabel M CampainSpainStephen Shaw NEGOTIATION
Costa O CaudyUnited KingdomXuxue Feng PROPOSAL
Mujtaba P ChuiBrazilAsiya Javayant NEGOTIATION
Rodrigues N DilliardCanadaStephen Shaw PROPOSAL
Ricardo Q BologniaFranceBernardo Dominic RENEWAL
Ivar G CaldareraArgentinaElwin Sharvill PROPOSAL
Clifford X BowleyItalyXuxue Feng RENEWAL
Frozen Columns
Name
Mujtaba Z Paprocki
Izzy V Dilliard
Ricardo Y Bolognia
Tony D Perin
Aika D Kolmetz
Leja Q Sergi
Maisha F Chui
Cody F Nestle
Antonio C Albares
Stacey K Royster
Ricardo S Malet
Misaki I Wieser
Stacey M Sergi
Aika N Slusarski
Misaki D Rulapaugh
Stacey C Kusko
Greenwood S Vocelka
Claire F Chui
Ashley L Glick
Leja U Campain
Ricardo E Stockham
James K Rulapaugh
James U Waycott
Leon D Saylors
Jennifer E Kolmetz
James F Figeroa
Jeanfrancois G Sergi
Juan J Malet
Darci C Gillian
Silvio B Paprocki
Jeanfrancois O Bolognia
Nicolas G Waycott
Cody W Caldarera
David W Schemmer
Claire N Schemmer
Nicolas S Whobrey
Ricardo L Flosi
Wickens I Inouye
Emily H Nicka
Leja B Amigon
Ivar Q Wieser
Jennifer A Poquette
Rodrigues L Whobrey
Murillo A Albares
Isabel T Nestle
Kaitlin U Tollner
Munro L Nicka
Morrow E Briddick
Wickens U Albares
Julie U Flosi
IdCountryDate
1000India2024-06-23
1001Spain2024-05-31
1002Italy2024-06-20
1003France2024-06-02
1004India2024-06-20
1005India2024-06-21
1006Canada2024-06-23
1007Spain2024-05-26
1008France2024-06-24
1009Brazil2024-05-31
1010Russia2024-05-30
1011Australia2024-06-20
1012Brazil2024-06-22
1013India2024-06-14
1014Canada2024-06-07
1015Argentina2024-06-21
1016United Kingdom2024-06-07
1017Spain2024-05-31
1018Germany2024-06-12
1019Russia2024-06-10
1020Canada2024-06-19
1021France2024-06-20
1022Russia2024-06-13
1023Australia2024-06-19
1024Russia2024-06-22
1025Italy2024-06-23
1026France2024-05-26
1027Australia2024-06-09
1028United Kingdom2024-06-12
1029Germany2024-06-08
1030Argentina2024-06-07
1031India2024-06-19
1032Australia2024-05-29
1033Italy2024-06-24
1034France2024-05-26
1035Argentina2024-06-04
1036Germany2024-06-20
1037Russia2024-06-15
1038Canada2024-06-20
1039France2024-06-03
1040India2024-05-31
1041Brazil2024-06-13
1042France2024-06-17
1043Germany2024-06-21
1044United Kingdom2024-05-27
1045Australia2024-06-20
1046Italy2024-06-21
1047Canada2024-06-13
1048Japan2024-06-19
1049Japan2024-06-05

On-Demand Data

NameIdCountryDate
Maisha W Vocelka1000Italy2024-06-23
Mayumi X Doe1001United Kingdom2024-06-20
Jeanfrancois L Perin1002Japan2024-06-13
Isabel V Gillian1003Japan2024-06-23
Alejandro Z Bowley1004Brazil2024-06-23
Aruna J Darakjy1005Russia2024-06-15
Alejandro H Gillian1006Russia2024-06-24
Juan G Sergi1007Italy2024-06-16
Adams Q Caudy1008Spain2024-06-08
Smith K Foller1009Canada2024-06-14
David H Venere1010Germany2024-06-12
Isabel M Caldarera1011Japan2024-06-11
Kadeem G Doe1012United Kingdom2024-06-09
Morrow Y Waycott1013France2024-05-28
Cody D Kusko1014Argentina2024-06-05
Greenwood R Tollner1015Italy2024-06-02
Leja R Darakjy1016Spain2024-06-14
Mayumi B Bolognia1017Italy2024-05-28
Clifford U Butt1018Russia2024-06-10
Costa V Royster1019Germany2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon B RoysterJapanXuxue Feng RENEWAL
Murillo N ChuiBrazilXuxue Feng PROPOSAL
Jefferson B FollerSpainStephen Shaw PROPOSAL
Clifford N AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens F GlickIndiaAsiya Javayant NEGOTIATION
Leon I KuskoIndiaOnyama Limba UNQUALIFIED
Sinclair F CaldareraUnited KingdomAnna Fali PROPOSAL
Adams E MacleadRussiaAsiya Javayant RENEWAL
Rodrigues I StensethUnited KingdomXuxue Feng PROPOSAL
Misaki C RulapaughItalyElwin Sharvill UNQUALIFIED
Sinclair P PaprockiUnited KingdomStephen Shaw QUALIFIED
Munro U AmigonBrazilAsiya Javayant QUALIFIED
Nicolas M DoeBrazilAnna Fali UNQUALIFIED
Jeanfrancois O SlusarskiRussiaIoni Bowcher NEW
Juan O StockhamArgentinaStephen Shaw QUALIFIED
Antonio F MorascaIndiaOnyama Limba PROPOSAL
Mujtaba N DoeSpainOnyama Limba RENEWAL
Misaki F MarrierUnited KingdomStephen Shaw NEW
Francesco K KuskoRussiaXuxue Feng NEW
Tony S CaldareraRussiaElwin Sharvill NEW
Kadeem Y StockhamItalyXuxue Feng NEGOTIATION
Jefferson V KuskoJapanElwin Sharvill UNQUALIFIED
Silvio G RutaBrazilIoni Bowcher NEGOTIATION
Morrow U BowleyArgentinaAmy Elsner PROPOSAL
Maisha A KolmetzRussiaIoni Bowcher UNQUALIFIED
Izzy U OldroydFranceIoni Bowcher QUALIFIED
Chavez Z CampainCanadaOnyama Limba NEGOTIATION
Aika P KuskoIndiaXuxue Feng QUALIFIED
David S RoysterSpainBernardo Dominic NEW
Ashley X RoysterItalyXuxue Feng PROPOSAL
Faith F CaldareraGermanyXuxue Feng PROPOSAL
Faith J TollnerFranceAsiya Javayant RENEWAL
Kadeem W MaletCanadaAmy Elsner PROPOSAL
Costa M CampainCanadaStephen Shaw PROPOSAL
Murillo E MacleadSpainIoni Bowcher QUALIFIED
Jones I ChuiSpainIoni Bowcher QUALIFIED
Ivar Q SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Clifford E CaldareraBrazilOnyama Limba NEGOTIATION
David K WaycottIndiaAsiya Javayant QUALIFIED
Darci Z PerinSpainIoni Bowcher QUALIFIED

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