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
Aditya X InouyeFranceAnna Fali UNQUALIFIED
Johnson V MacleadUnited KingdomStephen Shaw QUALIFIED
Johnson H CaldareraRussiaIvan Magalhaes NEW
Aika C NickaBrazilIoni Bowcher PROPOSAL
Rodrigues K GauchoJapanIoni Bowcher NEGOTIATION
Tony J DilliardArgentinaAsiya Javayant PROPOSAL
Jones N PerinItalyIoni Bowcher NEGOTIATION
Jennifer C DarakjyBrazilStephen Shaw UNQUALIFIED
Leja I WhobreyGermanyAmy Elsner UNQUALIFIED
Juan Q PerinCanadaIoni Bowcher RENEWAL
Salvatore K OstroskyJapanAsiya Javayant NEGOTIATION
Octavia L IturbideArgentinaOnyama Limba RENEWAL
Claire S FerenczFranceBernardo Dominic NEGOTIATION
Alejandro C WieserGermanyAnna Fali PROPOSAL
Chavez K ShinkoArgentinaOnyama Limba UNQUALIFIED
Maria J DilliardAustraliaStephen Shaw NEW
Ricardo B RimItalyOnyama Limba UNQUALIFIED
Nicolas L GarufiArgentinaIoni Bowcher PROPOSAL
Aditya D RutaArgentinaIoni Bowcher RENEWAL
Izzy W ShinkoSpainOnyama Limba NEW
Cody F DilliardGermanyStephen Shaw QUALIFIED
Faith A IturbideAustraliaAsiya Javayant PROPOSAL
Aika J CaldareraBrazilIoni Bowcher NEGOTIATION
Izzy G MacleadJapanXuxue Feng PROPOSAL
Juan Q MaletBrazilXuxue Feng QUALIFIED
Nicolas Z OldroydUnited KingdomIoni Bowcher QUALIFIED
Salvatore V VocelkaSpainOnyama Limba RENEWAL
Jennifer Z MarrierJapanOnyama Limba UNQUALIFIED
Deepesh T GillianFranceAmy Elsner NEW
Julie N FlosiIndiaStephen Shaw RENEWAL
Emily V TollnerCanadaElwin Sharvill NEW
Kadeem O IturbideJapanAmy Elsner PROPOSAL
Munro S DoeSpainBernardo Dominic NEGOTIATION
Aika J RoysterJapanAmy Elsner PROPOSAL
Jefferson R PerinBrazilIvan Magalhaes QUALIFIED
Rodrigues H FlosiRussiaAmy Elsner PROPOSAL
Munro G BowleyItalyIoni Bowcher NEGOTIATION
Smith Y RoysterArgentinaAsiya Javayant NEW
Aditya T CaudyItalyStephen Shaw UNQUALIFIED
Misaki W IturbideItalyAsiya Javayant UNQUALIFIED
Smith H DarakjyCanadaBernardo Dominic UNQUALIFIED
Munro T FollerSpainAsiya Javayant UNQUALIFIED
Jones V PaprockiCanadaIvan Magalhaes NEGOTIATION
Morrow W AlbaresIndiaXuxue Feng UNQUALIFIED
Isabel O StensethRussiaXuxue Feng PROPOSAL
Alejandro Z MaletGermanyXuxue Feng PROPOSAL
Jeanfrancois M DilliardArgentinaElwin Sharvill UNQUALIFIED
Johnson L WieserItalyXuxue Feng RENEWAL
Murillo T KuskoJapanXuxue Feng QUALIFIED
Aditya C PoquetteBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jennifer F CampainCanadaStephen Shaw PROPOSAL
Arvin D MaletIndiaAmy Elsner UNQUALIFIED
Nicolas J SergiGermanyOnyama Limba RENEWAL
Wickens Z GlickArgentinaBernardo Dominic NEW
Leja X ButtUnited KingdomElwin Sharvill NEGOTIATION
Claire C OldroydBrazilAmy Elsner PROPOSAL
Ashley T PoquetteUnited KingdomXuxue Feng PROPOSAL
Aditya O AlbaresBrazilIoni Bowcher NEGOTIATION
Nicolas Y InouyeArgentinaStephen Shaw NEGOTIATION
Leja G RulapaughIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore N ChuiFrance2026-06-16Printing Dimensions RENEWAL44Elwin Sharvill
1001Kadeem E BologniaItaly2026-07-01Feiner Bros UNQUALIFIED57Anna Fali
1002Morrow L ShinkoBrazil2026-07-01Feiner Bros UNQUALIFIED49Anna Fali
1003Sinclair W NickaCanada2026-06-20Feiner Bros QUALIFIED74Ioni Bowcher
1004Silvio I OstroskyUnited Kingdom2026-07-15Chapman, Ross E Esq QUALIFIED5Bernardo Dominic
1005Sinclair Z ButtCanada2026-06-26Truhlar And Truhlar Attys NEGOTIATION59Ioni Bowcher
1006Aika K SaylorsCanada2026-06-28Chapman, Ross E Esq UNQUALIFIED34Xuxue Feng
1007James N RutaJapan2026-07-15Dorl, James J Esq RENEWAL53Amy Elsner
1008Mayumi T GauchoGermany2026-07-09Chemel, James L Cpa NEW83Stephen Shaw
1009Isabel D IturbideBrazil2026-07-07Chapman, Ross E Esq NEGOTIATION92Xuxue Feng
1010Maria E KuskoJapan2026-07-11Feiner Bros UNQUALIFIED99Stephen Shaw
1011Stacey X WieserArgentina2026-07-01Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1012Morrow I GillianFrance2026-06-24Rangoni Of Florence QUALIFIED99Xuxue Feng
1013Claire V PerinJapan2026-07-11Morlong Associates NEW25Ivan Magalhaes
1014Morrow W NestleRussia2026-06-24Benton, John B Jr QUALIFIED6Xuxue Feng
1015Aruna A IturbideJapan2026-06-19Feiner Bros PROPOSAL23Ivan Magalhaes
1016Smith S PerinAustralia2026-06-24Buckley Miller Wright RENEWAL20Asiya Javayant
1017Jennifer D FigeroaUnited Kingdom2026-07-09King, Christopher A Esq NEW9Xuxue Feng
1018Munro B StensethRussia2026-07-10Chapman, Ross E Esq NEGOTIATION70Ioni Bowcher
1019Julie E MaletIndia2026-07-01Rousseaux, Michael Esq RENEWAL61Onyama Limba
1020Sinclair B RimCanada2026-07-14Chapman, Ross E Esq PROPOSAL26Amy Elsner
1021Antonio C ShinkoGermany2026-06-26King, Christopher A Esq RENEWAL33Stephen Shaw
1022Claire S MorascaIndia2026-07-07Feiner Bros PROPOSAL33Stephen Shaw
1023Aika A BriddickBrazil2026-07-03Rangoni Of Florence UNQUALIFIED25Ioni Bowcher
1024Cody E SchemmerSpain2026-07-09Buckley Miller Wright NEW86Anna Fali
1025Stacey C DoeAustralia2026-06-25Rousseaux, Michael Esq PROPOSAL39Onyama Limba
1026Leon Q MarrierUnited Kingdom2026-06-24Chemel, James L Cpa UNQUALIFIED90Asiya Javayant
1027Darci I SlusarskiJapan2026-07-11Dorl, James J Esq PROPOSAL75Ioni Bowcher
1028Chavez E ChuiBrazil2026-06-20Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1029Mayumi G StockhamRussia2026-07-02Truhlar And Truhlar Attys NEW67Anna Fali
1030Sinclair A VenereArgentina2026-07-09Feltz Printing Service NEGOTIATION30Asiya Javayant
1031Antonio E WhobreyBrazil2026-06-28Truhlar And Truhlar Attys RENEWAL89Anna Fali
1032Ricardo O GlickIndia2026-06-29Rousseaux, Michael Esq NEW14Ioni Bowcher
1033Alejandro Q DarakjyAustralia2026-06-16Morlong Associates NEGOTIATION26Stephen Shaw
1034Nicolas E NickaJapan2026-07-08Rousseaux, Michael Esq PROPOSAL77Elwin Sharvill
1035Mujtaba F ChuiJapan2026-07-02Chemel, James L Cpa UNQUALIFIED84Ioni Bowcher
1036Cody C RoysterCanada2026-06-18Dorl, James J Esq QUALIFIED86Ivan Magalhaes
1037Silvio J WhobreySpain2026-06-22Rousseaux, Michael Esq UNQUALIFIED81Asiya Javayant
1038Nicolas Q KuskoJapan2026-06-29Truhlar And Truhlar Attys RENEWAL63Onyama Limba
1039James T PaprockiCanada2026-06-30Chemel, James L Cpa RENEWAL16Ioni Bowcher
1040Munro Y KuskoAustralia2026-07-11Feiner Bros PROPOSAL88Stephen Shaw
1041Jones D WhobreyArgentina2026-06-18Dorl, James J Esq NEW17Stephen Shaw
1042Faith L WhobreyJapan2026-07-15Truhlar And Truhlar Attys RENEWAL8Bernardo Dominic
1043Sinclair Z SaylorsSpain2026-07-06Chapman, Ross E Esq NEW5Onyama Limba
1044Greenwood V SlusarskiCanada2026-07-14Dorl, James J Esq QUALIFIED45Xuxue Feng
1045Misaki E VocelkaFrance2026-07-08Chanay, Jeffrey A Esq NEW65Ioni Bowcher
1046Jennifer T SergiAustralia2026-06-21Truhlar And Truhlar Attys NEW10Asiya Javayant
1047Izzy L FollerCanada2026-06-27Buckley Miller Wright RENEWAL45Elwin Sharvill
1048Murillo T StockhamIndia2026-07-03Chemel, James L Cpa RENEWAL40Ioni Bowcher
1049Rodrigues K KolmetzAustralia2026-07-07King, Christopher A Esq NEGOTIATION87Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Z SaylorsFranceIvan Magalhaes QUALIFIED
Wickens G PerinBrazilIoni Bowcher RENEWAL
Wickens W NickaCanadaXuxue Feng NEGOTIATION
Octavia C WhobreyJapanAsiya Javayant PROPOSAL
Aruna M NickaCanadaIoni Bowcher NEGOTIATION
Misaki D MacleadUnited KingdomAsiya Javayant NEW
Jefferson T GlickGermanyIoni Bowcher QUALIFIED
Costa L CaudyArgentinaAsiya Javayant UNQUALIFIED
Aika I ChuiIndiaIvan Magalhaes RENEWAL
Maria E FlosiGermanyElwin Sharvill RENEWAL
Arvin M NickaItalyIoni Bowcher RENEWAL
Faith U MaletAustraliaIvan Magalhaes RENEWAL
Aika P FlosiGermanyBernardo Dominic NEW
Darci D ChuiUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois S ShinkoArgentinaAsiya Javayant NEGOTIATION
Deepesh B ButtSpainStephen Shaw QUALIFIED
Morrow L RulapaughCanadaIoni Bowcher UNQUALIFIED
Ashley N DarakjyRussiaOnyama Limba NEW
Costa X GlickItalyOnyama Limba NEW
Antonio Y WaycottGermanyElwin Sharvill NEGOTIATION
Mujtaba G MarrierIndiaXuxue Feng UNQUALIFIED
Jennifer R GillianCanadaAmy Elsner RENEWAL
Faith S FerenczBrazilOnyama Limba RENEWAL
Claire A StockhamRussiaIoni Bowcher PROPOSAL
Rodrigues Q WaycottFranceElwin Sharvill PROPOSAL
Maria Q WaycottSpainAmy Elsner NEW
Smith P GillianArgentinaElwin Sharvill RENEWAL
Jennifer V PoquetteRussiaAmy Elsner RENEWAL
Leja Y KuskoGermanyOnyama Limba RENEWAL
Jennifer D InouyeRussiaElwin Sharvill UNQUALIFIED
Arvin T BriddickGermanyAnna Fali UNQUALIFIED
Leja Y MacleadSpainBernardo Dominic RENEWAL
Arvin P KolmetzItalyIoni Bowcher NEW
Morrow X MaletSpainAnna Fali NEGOTIATION
Cody P BowleyRussiaIoni Bowcher NEGOTIATION
Morrow E MaletArgentinaBernardo Dominic QUALIFIED
Faith J AlbaresFranceIoni Bowcher NEW
Aditya F GillianUnited KingdomElwin Sharvill QUALIFIED
Jefferson Y BowleySpainIoni Bowcher QUALIFIED
Jennifer W IturbideFranceXuxue Feng UNQUALIFIED
Aika T DilliardIndiaIoni Bowcher NEGOTIATION
Misaki O IturbideSpainOnyama Limba QUALIFIED
Kadeem O WhobreyFranceOnyama Limba RENEWAL
Stacey P AlbaresArgentinaStephen Shaw UNQUALIFIED
Izzy A GarufiItalyXuxue Feng NEW
Clifford I OstroskyBrazilElwin Sharvill PROPOSAL
Stacey L DilliardCanadaXuxue Feng PROPOSAL
Kaitlin S OldroydGermanyBernardo Dominic NEGOTIATION
Cody S SchemmerAustraliaIvan Magalhaes QUALIFIED
Isabel F VenereItalyIoni Bowcher NEGOTIATION
Frozen Columns
Name
Salvatore P Caudy
Adams F Marrier
Aditya K Morasca
Morrow R Royster
Salvatore H Nestle
Jennifer V Malet
Isabel R Vocelka
Johnson F Briddick
Leja Q Royster
Ashley J Bolognia
Ivar T Stockham
Ivar U Campain
Silvio S Poquette
Mayumi J Slusarski
Costa I Maclead
Costa X Campain
Emily E Malet
Aika M Glick
Costa Y Stockham
Johnson E Darakjy
Alejandro B Saylors
David Q Kusko
Aditya J Sergi
Francesco L Amigon
Emily N Ruta
Munro F Oldroyd
Ivar Y Waycott
Silvio A Waycott
Johnson V Gillian
Juan Q Sergi
Darci K Darakjy
Clifford O Waycott
Cody I Venere
Leon J Nestle
Ricardo L Caldarera
Aika R Figeroa
Wickens J Figeroa
Costa Y Inouye
Ricardo N Stenseth
Ivar E Bowley
David H Dilliard
Emily Y Albares
Juan X Nicka
Kaitlin J Amigon
Juan X Flosi
Silvio G Briddick
Jeanfrancois Z Garufi
Morrow V Tollner
Deepesh Q Waycott
Faith O Flosi
IdCountryDate
1000France2026-07-07
1001Canada2026-07-01
1002India2026-06-22
1003Russia2026-06-16
1004Canada2026-06-17
1005Brazil2026-06-23
1006Spain2026-07-05
1007Brazil2026-06-17
1008Australia2026-06-22
1009Italy2026-06-24
1010Australia2026-06-26
1011Germany2026-07-03
1012Russia2026-07-14
1013Australia2026-07-01
1014Italy2026-07-05
1015Australia2026-06-26
1016Australia2026-07-08
1017India2026-06-19
1018France2026-06-25
1019United Kingdom2026-07-01
1020Spain2026-06-29
1021Australia2026-06-22
1022France2026-07-05
1023India2026-06-22
1024Argentina2026-07-03
1025Italy2026-06-28
1026France2026-06-29
1027Canada2026-07-10
1028Russia2026-07-09
1029Russia2026-06-17
1030Australia2026-07-15
1031Canada2026-07-04
1032Russia2026-07-13
1033France2026-07-10
1034Argentina2026-06-24
1035Spain2026-07-04
1036Italy2026-07-05
1037Spain2026-07-09
1038United Kingdom2026-07-01
1039Russia2026-07-13
1040Italy2026-06-30
1041Spain2026-07-03
1042Australia2026-07-15
1043Brazil2026-07-14
1044Australia2026-06-16
1045Brazil2026-06-26
1046Argentina2026-07-09
1047Australia2026-06-19
1048France2026-07-12
1049Russia2026-07-06

On-Demand Data

NameIdCountryDate
Wickens Y Briddick1000France2026-07-05
Octavia D Doe1001Spain2026-07-01
Kaitlin Z Paprocki1002Canada2026-07-04
Jeanfrancois D Poquette1003Italy2026-06-26
Cody L Dilliard1004Australia2026-06-26
Julie B Saylors1005Brazil2026-06-22
Silvio S Kusko1006Australia2026-06-27
David S Nicka1007France2026-06-30
Francesco U Stenseth1008Australia2026-07-11
Greenwood H Kusko1009Australia2026-07-07
Jeanfrancois N Paprocki1010Russia2026-06-24
Darci N Stockham1011Japan2026-07-15
Emily A Stenseth1012Germany2026-06-22
Maria U Schemmer1013Russia2026-07-15
Tony X Glick1014India2026-07-09
Aruna E Chui1015India2026-06-19
Ricardo L Slusarski1016Italy2026-07-03
Isabel B Glick1017United Kingdom2026-07-11
Sinclair L Caudy1018Australia2026-06-22
Alejandro C Slusarski1019France2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha U VenereBrazilStephen Shaw NEW
Claire T ButtJapanIoni Bowcher UNQUALIFIED
Nicolas O VenereArgentinaXuxue Feng NEGOTIATION
Murillo K RimGermanyIoni Bowcher QUALIFIED
Morrow N VocelkaGermanyBernardo Dominic NEGOTIATION
Juan O SchemmerAustraliaIvan Magalhaes RENEWAL
Smith P ShinkoCanadaAsiya Javayant UNQUALIFIED
Salvatore H CampainCanadaStephen Shaw UNQUALIFIED
Julie K KolmetzJapanAsiya Javayant NEW
Ashley M ChuiArgentinaElwin Sharvill PROPOSAL
Cody I WaycottSpainXuxue Feng UNQUALIFIED
Munro P RimIndiaStephen Shaw QUALIFIED
Nicolas M GarufiCanadaIoni Bowcher RENEWAL
Morrow N CaudyCanadaOnyama Limba NEGOTIATION
Antonio X OstroskyUnited KingdomStephen Shaw RENEWAL
Julie D VenereIndiaAmy Elsner RENEWAL
Munro G InouyeAustraliaStephen Shaw RENEWAL
Antonio H RimCanadaAnna Fali NEW
Rodrigues I FigeroaFranceStephen Shaw NEGOTIATION
Darci W SchemmerIndiaIvan Magalhaes PROPOSAL
Morrow V FigeroaJapanIoni Bowcher PROPOSAL
Alejandro W WaycottArgentinaIoni Bowcher QUALIFIED
Julie L GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Tony I MaletGermanyAmy Elsner UNQUALIFIED
Sinclair Y PerinBrazilIoni Bowcher NEW
Jefferson P StensethIndiaIvan Magalhaes QUALIFIED
Munro W PerinSpainIoni Bowcher NEW
Costa K GlickItalyOnyama Limba NEW
Kaitlin O RulapaughRussiaAmy Elsner PROPOSAL
Darci A FollerJapanAsiya Javayant RENEWAL
Greenwood N SlusarskiCanadaXuxue Feng NEGOTIATION
Ashley W SergiAustraliaStephen Shaw NEW
Izzy O SlusarskiItalyXuxue Feng RENEWAL
Octavia Y PoquetteAustraliaAmy Elsner NEGOTIATION
Silvio V IturbideGermanyAsiya Javayant QUALIFIED
Costa O NestleGermanyAmy Elsner NEGOTIATION
Ricardo C MaletUnited KingdomIoni Bowcher QUALIFIED
Francesco Y InouyeFranceIvan Magalhaes QUALIFIED
Mayumi E DarakjyArgentinaAnna Fali NEGOTIATION
James Z KuskoArgentinaXuxue Feng 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>