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
Leja F SchemmerIndiaXuxue Feng UNQUALIFIED
Leja J AlbaresUnited KingdomAsiya Javayant QUALIFIED
Morrow G FollerGermanyOnyama Limba UNQUALIFIED
Jefferson Y BriddickCanadaAnna Fali NEW
Ricardo D TollnerCanadaAsiya Javayant PROPOSAL
Claire B AmigonGermanyXuxue Feng NEW
Jennifer C FigeroaGermanyIvan Magalhaes QUALIFIED
Kaitlin Z FigeroaGermanyXuxue Feng NEGOTIATION
Juan T BologniaCanadaAmy Elsner UNQUALIFIED
Jeanfrancois T PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Mayumi O DarakjyBrazilIvan Magalhaes RENEWAL
Deepesh E SlusarskiAustraliaStephen Shaw NEW
Aruna V BriddickIndiaBernardo Dominic PROPOSAL
Sinclair M MaletItalyAsiya Javayant QUALIFIED
Wickens C BowleyBrazilBernardo Dominic NEW
Smith F InouyeBrazilAnna Fali NEW
Arvin L BologniaArgentinaOnyama Limba RENEWAL
Jennifer P FlosiBrazilIvan Magalhaes RENEWAL
Jefferson Z GlickArgentinaStephen Shaw NEW
Arvin Z IturbideItalyXuxue Feng PROPOSAL
Rodrigues I MacleadAustraliaIvan Magalhaes NEW
Mujtaba E GauchoIndiaStephen Shaw PROPOSAL
Mayumi I CaudyBrazilElwin Sharvill QUALIFIED
Maisha L GlickSpainStephen Shaw RENEWAL
Alejandro O BriddickJapanBernardo Dominic QUALIFIED
David V PerinCanadaIoni Bowcher NEW
Kaitlin H BriddickGermanyAsiya Javayant UNQUALIFIED
Salvatore J InouyeItalyIvan Magalhaes UNQUALIFIED
Adams Y MaletAustraliaAmy Elsner NEGOTIATION
Tony Y AlbaresCanadaIoni Bowcher NEW
Juan C FigeroaSpainXuxue Feng NEGOTIATION
Sinclair P PaprockiGermanyXuxue Feng QUALIFIED
Greenwood Y NestleRussiaAmy Elsner RENEWAL
Izzy C NickaFranceIoni Bowcher UNQUALIFIED
Arvin I SaylorsIndiaStephen Shaw UNQUALIFIED
Emily Q ShinkoGermanyOnyama Limba UNQUALIFIED
Aruna M FlosiGermanyElwin Sharvill QUALIFIED
Morrow Q WieserArgentinaAsiya Javayant RENEWAL
Mayumi R InouyeCanadaStephen Shaw QUALIFIED
Stacey S VocelkaJapanAmy Elsner NEGOTIATION
Faith N WieserFranceElwin Sharvill NEW
Murillo M MorascaIndiaXuxue Feng PROPOSAL
Salvatore D KuskoJapanElwin Sharvill QUALIFIED
Sinclair X SergiGermanyAnna Fali UNQUALIFIED
Salvatore P WaycottSpainIvan Magalhaes QUALIFIED
Silvio C OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin V GauchoItalyAnna Fali RENEWAL
Antonio F CaudySpainElwin Sharvill UNQUALIFIED
Ashley H StensethAustraliaStephen Shaw QUALIFIED
James W FollerItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy D CaldareraSpainAsiya Javayant NEGOTIATION
Adams Z MarrierCanadaXuxue Feng NEW
Ashley M AlbaresRussiaElwin Sharvill NEGOTIATION
Kadeem S RimUnited KingdomElwin Sharvill PROPOSAL
Emily G SlusarskiFranceIoni Bowcher NEGOTIATION
Jennifer Z GarufiCanadaAmy Elsner NEW
David B GarufiGermanyBernardo Dominic NEGOTIATION
Emily B NestleItalyAsiya Javayant UNQUALIFIED
Emily F CaldareraFranceAnna Fali NEGOTIATION
Darci Q ButtItalyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa O FerenczJapan2025-04-02Commercial Press PROPOSAL34Amy Elsner
1001Ivar E CaudyIndia2025-04-18Rousseaux, Michael Esq QUALIFIED26Stephen Shaw
1002Octavia K MarrierSpain2025-04-22Commercial Press RENEWAL63Stephen Shaw
1003Maisha F ButtFrance2025-04-05Buckley Miller Wright NEGOTIATION50Elwin Sharvill
1004Antonio P PoquetteRussia2025-04-14Rousseaux, Michael Esq NEGOTIATION67Asiya Javayant
1005Leon Y RutaAustralia2025-04-16Commercial Press UNQUALIFIED66Bernardo Dominic
1006Kaitlin U ButtUnited Kingdom2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED75Bernardo Dominic
1007Tony D AlbaresArgentina2025-04-14Morlong Associates NEW70Stephen Shaw
1008Johnson M RulapaughIndia2025-04-05Benton, John B Jr NEGOTIATION47Bernardo Dominic
1009Aditya P PerinCanada2025-04-14Benton, John B Jr PROPOSAL82Ivan Magalhaes
1010Chavez P SchemmerFrance2025-04-09Chanay, Jeffrey A Esq RENEWAL93Onyama Limba
1011Adams S TollnerCanada2025-04-05Rangoni Of Florence NEW51Anna Fali
1012Kaitlin X MacleadCanada2025-04-06Buckley Miller Wright NEW94Bernardo Dominic
1013Deepesh M InouyeSpain2025-04-14Benton, John B Jr PROPOSAL94Stephen Shaw
1014Munro L RutaGermany2025-04-22Benton, John B Jr UNQUALIFIED63Anna Fali
1015Silvio G FollerGermany2025-04-26Rangoni Of Florence NEW45Ivan Magalhaes
1016Salvatore O MarrierUnited Kingdom2025-04-17Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1017Adams N CampainAustralia2025-04-10Dorl, James J Esq NEGOTIATION31Bernardo Dominic
1018Leja C DoeGermany2025-04-28Chemel, James L Cpa QUALIFIED52Elwin Sharvill
1019Adams T KuskoUnited Kingdom2025-04-03Feltz Printing Service PROPOSAL27Ivan Magalhaes
1020Greenwood Y GauchoUnited Kingdom2025-04-10Morlong Associates UNQUALIFIED64Bernardo Dominic
1021Cody L NestleCanada2025-04-02Chanay, Jeffrey A Esq NEW91Elwin Sharvill
1022Leja J BologniaUnited Kingdom2025-04-18Rousseaux, Michael Esq RENEWAL33Elwin Sharvill
1023Jennifer Q RimCanada2025-04-06Dorl, James J Esq RENEWAL40Stephen Shaw
1024Misaki L ShinkoFrance2025-04-24Chapman, Ross E Esq UNQUALIFIED39Amy Elsner
1025Clifford U CaldareraGermany2025-04-05Feiner Bros UNQUALIFIED41Elwin Sharvill
1026Munro F MarrierAustralia2025-04-30Rangoni Of Florence NEW76Xuxue Feng
1027Salvatore H AmigonGermany2025-04-13Morlong Associates RENEWAL97Bernardo Dominic
1028Jennifer H CampainBrazil2025-04-10Commercial Press NEGOTIATION16Anna Fali
1029Salvatore J SaylorsRussia2025-04-14Morlong Associates UNQUALIFIED42Ioni Bowcher
1030Silvio J SchemmerBrazil2025-04-26Feltz Printing Service NEW26Ivan Magalhaes
1031Wickens U KolmetzUnited Kingdom2025-04-25Benton, John B Jr NEGOTIATION13Onyama Limba
1032Isabel T CaldareraCanada2025-04-23Printing Dimensions RENEWAL19Ioni Bowcher
1033Leja F NickaRussia2025-04-17Chapman, Ross E Esq PROPOSAL25Stephen Shaw
1034Greenwood T GarufiCanada2025-04-08Chapman, Ross E Esq NEW49Ivan Magalhaes
1035Johnson S WhobreyRussia2025-04-26Feltz Printing Service PROPOSAL71Ioni Bowcher
1036Octavia L IturbideIndia2025-04-16Rangoni Of Florence UNQUALIFIED58Xuxue Feng
1037Isabel L ChuiCanada2025-04-20Buckley Miller Wright RENEWAL21Xuxue Feng
1038Ivar T MacleadIndia2025-04-27Benton, John B Jr NEW65Xuxue Feng
1039Maisha B RutaAustralia2025-04-27King, Christopher A Esq NEGOTIATION41Ioni Bowcher
1040Octavia V MarrierSpain2025-04-13Truhlar And Truhlar Attys NEGOTIATION13Stephen Shaw
1041Sinclair W StockhamJapan2025-04-18Chemel, James L Cpa RENEWAL46Asiya Javayant
1042Deepesh S RulapaughSpain2025-04-14Rangoni Of Florence RENEWAL47Asiya Javayant
1043David H FigeroaItaly2025-04-04Commercial Press RENEWAL38Anna Fali
1044Misaki G DarakjySpain2025-04-01Buckley Miller Wright QUALIFIED47Amy Elsner
1045Salvatore X FigeroaJapan2025-04-25Rousseaux, Michael Esq RENEWAL0Stephen Shaw
1046Murillo H ChuiIndia2025-04-15King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1047Jefferson L RimBrazil2025-04-17Truhlar And Truhlar Attys NEW63Anna Fali
1048Costa U BowleySpain2025-04-08Rangoni Of Florence RENEWAL45Onyama Limba
1049Octavia I FollerCanada2025-04-14Chanay, Jeffrey A Esq QUALIFIED55Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois X SergiGermanyOnyama Limba RENEWAL
Aditya P GarufiGermanyAmy Elsner UNQUALIFIED
Jennifer M RutaBrazilAsiya Javayant NEW
Maisha L SaylorsAustraliaIvan Magalhaes RENEWAL
Leon Q WhobreyJapanBernardo Dominic NEGOTIATION
Maria R MacleadJapanAsiya Javayant NEGOTIATION
James E GillianJapanIoni Bowcher NEW
Octavia C NestleUnited KingdomAsiya Javayant PROPOSAL
Kadeem P StockhamItalyElwin Sharvill RENEWAL
Aruna U SaylorsArgentinaIoni Bowcher NEGOTIATION
David C PerinUnited KingdomElwin Sharvill PROPOSAL
Faith L BologniaAustraliaElwin Sharvill NEW
Adams J VocelkaArgentinaAnna Fali NEGOTIATION
Jefferson G DoeIndiaElwin Sharvill NEW
Leja R NickaIndiaIvan Magalhaes NEW
Chavez M PerinGermanyOnyama Limba PROPOSAL
Aika D KuskoArgentinaAmy Elsner UNQUALIFIED
Kaitlin G MorascaIndiaAmy Elsner RENEWAL
Darci O CaldareraJapanStephen Shaw QUALIFIED
Johnson U SaylorsFranceElwin Sharvill RENEWAL
Costa P ChuiSpainBernardo Dominic RENEWAL
Greenwood Q TollnerAustraliaIoni Bowcher RENEWAL
Chavez W DoeSpainElwin Sharvill UNQUALIFIED
Silvio T SchemmerFranceStephen Shaw QUALIFIED
Murillo M CaldareraJapanAsiya Javayant NEW
Ivar Y NestleFranceElwin Sharvill QUALIFIED
Deepesh N VenereBrazilXuxue Feng NEW
Munro A AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood Q OldroydRussiaStephen Shaw RENEWAL
Rodrigues A AlbaresIndiaAnna Fali NEGOTIATION
Ricardo L MaletArgentinaElwin Sharvill NEW
Kaitlin Q PoquetteItalyXuxue Feng PROPOSAL
Greenwood R KuskoBrazilAmy Elsner UNQUALIFIED
Kaitlin X CaldareraBrazilAnna Fali NEGOTIATION
Leon K CampainCanadaBernardo Dominic PROPOSAL
Rodrigues C ButtIndiaXuxue Feng NEW
Costa F DoeIndiaElwin Sharvill UNQUALIFIED
Antonio W KolmetzBrazilStephen Shaw NEW
Mujtaba I KolmetzRussiaIoni Bowcher UNQUALIFIED
Misaki A AlbaresGermanyXuxue Feng PROPOSAL
Antonio J GarufiRussiaElwin Sharvill PROPOSAL
Ivar Q VocelkaIndiaElwin Sharvill UNQUALIFIED
Kadeem V CaudyBrazilXuxue Feng NEW
Izzy C RoysterCanadaXuxue Feng NEGOTIATION
Nicolas Z WieserIndiaBernardo Dominic RENEWAL
Aditya V PerinUnited KingdomOnyama Limba RENEWAL
Stacey G RoysterSpainStephen Shaw NEGOTIATION
Wickens S IturbideIndiaXuxue Feng NEW
Johnson P GarufiRussiaStephen Shaw RENEWAL
Tony M PerinIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Morrow A Campain
Ricardo V Malet
Wickens O Paprocki
Tony I Whobrey
James G Gillian
Alejandro B Venere
Ivar U Royster
Johnson G Perin
Murillo V Doe
Arvin Q Caudy
Maria T Nestle
Ashley O Doe
Morrow D Caldarera
Smith U Waycott
Maisha C Kusko
Jefferson O Rim
Ricardo D Caldarera
Ricardo G Nestle
Isabel Q Amigon
Antonio I Poquette
Leon E Gaucho
Rodrigues B Rim
Mayumi B Kolmetz
Silvio C Nestle
Alejandro Y Malet
Morrow W Iturbide
Aruna W Maclead
Cody H Maclead
Ashley V Royster
Rodrigues W Marrier
Wickens J Perin
Stacey P Ferencz
Jennifer H Tollner
Kadeem K Doe
Francesco Y Iturbide
Antonio N Stockham
Faith M Vocelka
Johnson U Wieser
Emily E Butt
Tony J Bowley
Francesco L Perin
Emily U Ostrosky
Chavez U Foller
Jeanfrancois T Gillian
Mujtaba K Marrier
Leja K Stenseth
Aditya N Iturbide
Juan X Gillian
Clifford M Wieser
Kadeem S Poquette
IdCountryDate
1000France2025-04-23
1001Australia2025-04-14
1002France2025-04-29
1003Brazil2025-04-19
1004Italy2025-04-28
1005Argentina2025-04-25
1006Brazil2025-04-25
1007Germany2025-04-29
1008Germany2025-04-15
1009Spain2025-04-06
1010Japan2025-04-22
1011Brazil2025-04-09
1012Argentina2025-04-22
1013Spain2025-04-05
1014Italy2025-04-15
1015Russia2025-04-18
1016Spain2025-04-28
1017France2025-04-05
1018Russia2025-04-05
1019India2025-04-19
1020Australia2025-04-19
1021Japan2025-04-24
1022Germany2025-04-21
1023United Kingdom2025-04-18
1024Spain2025-04-13
1025Japan2025-04-28
1026Brazil2025-04-18
1027Russia2025-04-26
1028Japan2025-04-28
1029United Kingdom2025-04-30
1030United Kingdom2025-04-30
1031United Kingdom2025-04-13
1032India2025-04-07
1033Spain2025-04-25
1034France2025-04-22
1035Canada2025-04-06
1036Russia2025-04-03
1037Australia2025-04-21
1038Spain2025-04-03
1039Italy2025-04-09
1040Japan2025-04-28
1041Argentina2025-04-05
1042Brazil2025-04-03
1043Russia2025-04-09
1044Spain2025-04-14
1045Canada2025-04-02
1046Spain2025-04-11
1047Australia2025-04-06
1048Russia2025-04-16
1049India2025-04-29

On-Demand Data

NameIdCountryDate
Murillo Y Ferencz1000Argentina2025-04-19
Leon S Tollner1001Germany2025-04-17
Smith L Bowley1002Japan2025-04-24
Mujtaba S Stockham1003Spain2025-04-02
James V Waycott1004Japan2025-04-11
Aruna V Wieser1005India2025-04-12
Wickens O Chui1006Argentina2025-04-27
Salvatore O Dilliard1007Germany2025-04-23
Deepesh A Iturbide1008Australia2025-04-30
Claire G Gaucho1009Italy2025-04-23
Jones E Bowley1010Australia2025-04-15
James F Venere1011India2025-04-09
Aruna Y Albares1012Argentina2025-04-16
Julie H Morasca1013Russia2025-04-07
Jeanfrancois C Malet1014Japan2025-04-09
Maisha U Waycott1015Italy2025-04-24
Jennifer N Bolognia1016Russia2025-04-18
Mujtaba Q Oldroyd1017Australia2025-04-03
Aruna W Caldarera1018Canada2025-04-26
Tony G Bowley1019India2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey S GauchoArgentinaXuxue Feng NEGOTIATION
Juan Z InouyeIndiaAsiya Javayant UNQUALIFIED
Juan N DoeIndiaAnna Fali NEW
Ashley E ChuiCanadaAsiya Javayant UNQUALIFIED
Maisha V FigeroaAustraliaAmy Elsner NEGOTIATION
Morrow Y FlosiItalyIvan Magalhaes RENEWAL
Kadeem U RulapaughAustraliaAnna Fali NEGOTIATION
Maria P SaylorsUnited KingdomAmy Elsner PROPOSAL
Morrow A RimBrazilAnna Fali PROPOSAL
Arvin L PaprockiCanadaBernardo Dominic QUALIFIED
Julie A VenereFranceAnna Fali QUALIFIED
Salvatore E MaletAustraliaElwin Sharvill NEW
Maria J OstroskySpainAnna Fali UNQUALIFIED
Darci T StockhamCanadaXuxue Feng QUALIFIED
James A VocelkaRussiaElwin Sharvill PROPOSAL
Julie R GillianCanadaAmy Elsner RENEWAL
Isabel Q RutaJapanElwin Sharvill NEGOTIATION
James W VenereCanadaBernardo Dominic NEGOTIATION
Deepesh Y StockhamFranceOnyama Limba RENEWAL
Rodrigues A IturbideGermanyIoni Bowcher QUALIFIED
Darci T SergiRussiaElwin Sharvill NEW
Maisha I AlbaresBrazilElwin Sharvill QUALIFIED
Darci B PoquetteRussiaXuxue Feng PROPOSAL
Morrow J DarakjyCanadaBernardo Dominic NEW
Aruna W FlosiAustraliaXuxue Feng PROPOSAL
Kadeem D BowleyJapanIvan Magalhaes UNQUALIFIED
Aika P GlickGermanyStephen Shaw UNQUALIFIED
Silvio U KuskoRussiaStephen Shaw PROPOSAL
Jennifer X GarufiIndiaIoni Bowcher QUALIFIED
Aika U MaletCanadaIvan Magalhaes NEW
Adams N RoysterSpainIvan Magalhaes QUALIFIED
Ricardo H CampainBrazilStephen Shaw NEW
Kadeem M RimItalyAsiya Javayant RENEWAL
Smith L StensethFranceAmy Elsner RENEWAL
Jefferson H AmigonCanadaOnyama Limba RENEWAL
Tony A BriddickAustraliaIvan Magalhaes NEGOTIATION
Jones T SaylorsIndiaIoni Bowcher UNQUALIFIED
Tony O KuskoJapanElwin Sharvill NEW
Ashley H DilliardBrazilAnna Fali NEW
Kaitlin R InouyeRussiaXuxue Feng 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>