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
Faith O OldroydUnited KingdomXuxue Feng NEGOTIATION
Silvio X MacleadJapanStephen Shaw PROPOSAL
Francesco S MaletUnited KingdomStephen Shaw QUALIFIED
Sinclair Q DoeArgentinaAmy Elsner NEGOTIATION
Costa I AlbaresBrazilOnyama Limba NEGOTIATION
Jones Z TollnerIndiaAnna Fali QUALIFIED
Tony L DoeSpainXuxue Feng NEGOTIATION
Jefferson D FlosiJapanElwin Sharvill NEW
Mayumi Y SergiItalyIvan Magalhaes UNQUALIFIED
Ivar B ChuiBrazilStephen Shaw UNQUALIFIED
Antonio T MaletCanadaIvan Magalhaes UNQUALIFIED
Ricardo O GillianJapanAmy Elsner QUALIFIED
Faith G SchemmerAustraliaAnna Fali QUALIFIED
Alejandro T WaycottSpainAmy Elsner PROPOSAL
Ricardo Z RutaFranceAmy Elsner RENEWAL
Maisha M CaudyBrazilStephen Shaw PROPOSAL
Francesco G PaprockiArgentinaAnna Fali NEGOTIATION
Leja Y BologniaAustraliaIoni Bowcher NEW
Rodrigues Q InouyeFranceBernardo Dominic PROPOSAL
Faith Z FerenczGermanyIvan Magalhaes NEW
Aruna D OstroskyItalyStephen Shaw PROPOSAL
Chavez W DoeBrazilStephen Shaw RENEWAL
Clifford G PoquetteIndiaElwin Sharvill NEGOTIATION
Aditya F DoeUnited KingdomXuxue Feng RENEWAL
Maria F DoeArgentinaStephen Shaw PROPOSAL
Octavia G IturbideSpainAmy Elsner QUALIFIED
Rodrigues G RimJapanIoni Bowcher NEGOTIATION
Salvatore E DarakjyIndiaIoni Bowcher QUALIFIED
Deepesh C WhobreyUnited KingdomElwin Sharvill PROPOSAL
Aika V BriddickIndiaBernardo Dominic RENEWAL
Emily K SergiUnited KingdomOnyama Limba NEGOTIATION
Maria J FollerSpainOnyama Limba RENEWAL
Mayumi P PerinArgentinaBernardo Dominic RENEWAL
Costa H GlickFranceIoni Bowcher NEW
Juan S WieserCanadaIvan Magalhaes NEGOTIATION
Mujtaba I StockhamCanadaAsiya Javayant NEGOTIATION
James M FerenczFranceIoni Bowcher UNQUALIFIED
James Z IturbideIndiaIoni Bowcher UNQUALIFIED
Aditya U IturbideArgentinaIoni Bowcher NEGOTIATION
Ivar T ButtGermanyAsiya Javayant UNQUALIFIED
Murillo D GauchoCanadaAnna Fali NEW
Mayumi G GarufiSpainBernardo Dominic QUALIFIED
Octavia C RutaItalyXuxue Feng NEW
Mujtaba G BriddickArgentinaOnyama Limba NEW
Salvatore Y RulapaughArgentinaBernardo Dominic UNQUALIFIED
Wickens F MarrierJapanStephen Shaw RENEWAL
David T NickaFranceElwin Sharvill QUALIFIED
Clifford Y WieserItalyIoni Bowcher NEGOTIATION
Jefferson T GillianJapanOnyama Limba NEW
Jennifer K WhobreyJapanXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon T FerenczArgentinaAnna Fali RENEWAL
Izzy F AmigonCanadaOnyama Limba NEGOTIATION
Cody F StockhamArgentinaBernardo Dominic QUALIFIED
Kadeem P AmigonBrazilIvan Magalhaes UNQUALIFIED
Aditya U DarakjyJapanIvan Magalhaes NEGOTIATION
Izzy R DarakjyIndiaIoni Bowcher QUALIFIED
David T OldroydRussiaAnna Fali QUALIFIED
Aditya H MacleadArgentinaStephen Shaw PROPOSAL
Aruna W AmigonAustraliaAnna Fali RENEWAL
Juan O ChuiCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Y CaudyJapan2026-08-07Chapman, Ross E Esq QUALIFIED56Anna Fali
1001David C NickaRussia2026-07-24Truhlar And Truhlar Attys PROPOSAL48Xuxue Feng
1002Juan W RimGermany2026-07-15Chanay, Jeffrey A Esq PROPOSAL88Amy Elsner
1003Arvin F WaycottRussia2026-07-27Chanay, Jeffrey A Esq NEW86Bernardo Dominic
1004Isabel D AmigonAustralia2026-07-18Chemel, James L Cpa UNQUALIFIED19Elwin Sharvill
1005Tony H FerenczJapan2026-07-29Rangoni Of Florence PROPOSAL77Elwin Sharvill
1006Izzy M DilliardCanada2026-07-18Benton, John B Jr UNQUALIFIED92Ivan Magalhaes
1007Johnson G OstroskySpain2026-08-04Chapman, Ross E Esq QUALIFIED69Stephen Shaw
1008Aruna L DilliardAustralia2026-08-10Feltz Printing Service NEGOTIATION65Bernardo Dominic
1009Johnson M MorascaItaly2026-07-27Commercial Press NEW49Onyama Limba
1010Alejandro E BologniaItaly2026-08-05Morlong Associates RENEWAL14Ivan Magalhaes
1011Silvio V FollerGermany2026-07-24Feltz Printing Service NEGOTIATION45Xuxue Feng
1012Jefferson P ButtFrance2026-08-03Feltz Printing Service NEW31Amy Elsner
1013Faith G StensethIndia2026-07-23Feltz Printing Service NEW9Stephen Shaw
1014Stacey Y PerinJapan2026-08-09Commercial Press NEW16Stephen Shaw
1015Claire X OstroskyRussia2026-07-16Commercial Press PROPOSAL54Xuxue Feng
1016Isabel P ButtUnited Kingdom2026-08-05Benton, John B Jr RENEWAL72Asiya Javayant
1017Francesco U PaprockiAustralia2026-08-03Feltz Printing Service UNQUALIFIED92Bernardo Dominic
1018Aruna Q GillianArgentina2026-07-20Rousseaux, Michael Esq NEW28Asiya Javayant
1019Darci O BriddickJapan2026-07-16King, Christopher A Esq PROPOSAL49Onyama Limba
1020Julie E OstroskyFrance2026-08-09Chemel, James L Cpa RENEWAL95Ioni Bowcher
1021Izzy O OstroskyUnited Kingdom2026-07-21Printing Dimensions NEGOTIATION83Ioni Bowcher
1022Faith L RoysterItaly2026-08-11Chanay, Jeffrey A Esq UNQUALIFIED94Onyama Limba
1023Jennifer L PoquetteBrazil2026-08-10Chanay, Jeffrey A Esq PROPOSAL18Bernardo Dominic
1024Chavez F DilliardBrazil2026-08-09Rangoni Of Florence UNQUALIFIED9Stephen Shaw
1025Tony K PerinUnited Kingdom2026-07-27Benton, John B Jr RENEWAL36Amy Elsner
1026Rodrigues A ShinkoGermany2026-08-10King, Christopher A Esq RENEWAL38Onyama Limba
1027Francesco C PerinItaly2026-07-19King, Christopher A Esq NEW36Elwin Sharvill
1028Sinclair R VenereBrazil2026-08-05Rangoni Of Florence UNQUALIFIED37Anna Fali
1029Clifford I GauchoItaly2026-07-28Rousseaux, Michael Esq QUALIFIED77Ioni Bowcher
1030Chavez S MacleadItaly2026-07-24Dorl, James J Esq QUALIFIED12Anna Fali
1031Tony S NickaRussia2026-08-08Feiner Bros PROPOSAL12Stephen Shaw
1032Silvio I RutaFrance2026-07-29Feltz Printing Service NEW38Elwin Sharvill
1033Aruna P MaletRussia2026-08-04Truhlar And Truhlar Attys QUALIFIED18Elwin Sharvill
1034Maria P InouyeGermany2026-07-31Chapman, Ross E Esq UNQUALIFIED82Stephen Shaw
1035Munro Z CampainItaly2026-07-22Printing Dimensions UNQUALIFIED12Anna Fali
1036Murillo K StensethSpain2026-07-16Feltz Printing Service RENEWAL4Asiya Javayant
1037Salvatore I SergiCanada2026-07-30Truhlar And Truhlar Attys UNQUALIFIED59Elwin Sharvill
1038Ashley G NickaBrazil2026-08-01Chapman, Ross E Esq QUALIFIED88Asiya Javayant
1039Nicolas C FollerCanada2026-08-02Feiner Bros QUALIFIED55Amy Elsner
1040Clifford W TollnerSpain2026-07-24Dorl, James J Esq RENEWAL10Onyama Limba
1041Nicolas I RulapaughBrazil2026-07-31Feiner Bros RENEWAL45Xuxue Feng
1042Costa K GarufiArgentina2026-08-02Feltz Printing Service NEGOTIATION68Asiya Javayant
1043Faith B TollnerAustralia2026-07-15Chapman, Ross E Esq RENEWAL85Anna Fali
1044David V CampainUnited Kingdom2026-07-14Printing Dimensions UNQUALIFIED74Ioni Bowcher
1045Stacey T AmigonRussia2026-07-14Commercial Press NEGOTIATION87Onyama Limba
1046David K AmigonGermany2026-08-11Buckley Miller Wright QUALIFIED48Xuxue Feng
1047Aditya N AmigonJapan2026-08-05Commercial Press NEW68Onyama Limba
1048Ivar J GarufiBrazil2026-07-27Commercial Press NEW75Asiya Javayant
1049Morrow E WaycottCanada2026-08-02Printing Dimensions PROPOSAL30Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha F PoquetteArgentinaAsiya Javayant QUALIFIED
Adams P FerenczBrazilIoni Bowcher NEW
Mujtaba C VocelkaFranceAmy Elsner NEGOTIATION
Arvin C BologniaAustraliaElwin Sharvill QUALIFIED
James F MorascaItalyElwin Sharvill NEW
Maria O DilliardIndiaElwin Sharvill NEGOTIATION
Johnson A StensethAustraliaAmy Elsner UNQUALIFIED
Darci E MaletIndiaStephen Shaw RENEWAL
Kaitlin L NickaCanadaStephen Shaw NEGOTIATION
Claire M SlusarskiUnited KingdomAmy Elsner PROPOSAL
Ivar E BriddickGermanyAnna Fali UNQUALIFIED
Arvin F FigeroaGermanyIvan Magalhaes NEW
Jennifer X TollnerGermanyAsiya Javayant RENEWAL
Salvatore V RulapaughRussiaElwin Sharvill PROPOSAL
James P StockhamArgentinaBernardo Dominic PROPOSAL
Maisha N SergiRussiaOnyama Limba PROPOSAL
Clifford M GillianFranceIvan Magalhaes RENEWAL
Aruna G StensethFranceIvan Magalhaes UNQUALIFIED
Claire O DilliardRussiaElwin Sharvill NEW
Arvin J RoysterItalyIoni Bowcher RENEWAL
Tony W KuskoAustraliaStephen Shaw RENEWAL
Mayumi O DoeRussiaAmy Elsner PROPOSAL
Maria Q StensethIndiaAsiya Javayant NEGOTIATION
Wickens Q WieserCanadaXuxue Feng NEGOTIATION
Ashley W SergiGermanyElwin Sharvill QUALIFIED
Isabel X MorascaIndiaElwin Sharvill NEGOTIATION
Alejandro M AlbaresBrazilAmy Elsner PROPOSAL
Jones Y CaldareraSpainIvan Magalhaes RENEWAL
Rodrigues G OstroskyAustraliaAsiya Javayant RENEWAL
Aika M OstroskyJapanOnyama Limba RENEWAL
Leja O RoysterCanadaIvan Magalhaes NEGOTIATION
Costa E DilliardSpainStephen Shaw NEW
Francesco B NestleAustraliaIoni Bowcher RENEWAL
Johnson G MaletUnited KingdomStephen Shaw QUALIFIED
Aruna C FlosiItalyIoni Bowcher RENEWAL
Mujtaba Z KolmetzRussiaAsiya Javayant RENEWAL
James X BowleySpainIoni Bowcher NEW
Jennifer V BologniaFranceAmy Elsner NEGOTIATION
Darci S KolmetzSpainAmy Elsner PROPOSAL
Francesco N BriddickGermanyAmy Elsner QUALIFIED
Greenwood Z FlosiIndiaAmy Elsner QUALIFIED
Aditya M FigeroaUnited KingdomAmy Elsner NEW
Arvin M NickaUnited KingdomElwin Sharvill NEGOTIATION
Alejandro T FollerBrazilAnna Fali PROPOSAL
Maria T PoquetteFranceAnna Fali RENEWAL
Juan K RutaUnited KingdomOnyama Limba NEW
Faith E CaldareraAustraliaBernardo Dominic PROPOSAL
Costa Z NestleJapanAnna Fali NEGOTIATION
Greenwood L VocelkaFranceIoni Bowcher PROPOSAL
Ashley A PerinBrazilAsiya Javayant QUALIFIED
Frozen Columns
Name
Ivar O Figeroa
Aika R Royster
Munro D Stenseth
Johnson I Vocelka
Antonio Q Ostrosky
Wickens Q Doe
James Y Venere
Nicolas N Slusarski
Sinclair C Poquette
Francesco A Perin
Aditya A Slusarski
Munro T Dilliard
Tony B Amigon
Clifford I Whobrey
Clifford Q Schemmer
Smith Q Rim
Greenwood A Stenseth
Jeanfrancois O Sergi
Greenwood U Bolognia
Antonio H Nestle
Ricardo U Whobrey
Adams Q Ruta
Cody A Waycott
Leja L Shinko
Misaki R Sergi
Izzy R Morasca
Kaitlin S Ruta
Maria L Perin
Kadeem N Kolmetz
Maisha W Whobrey
Adams X Iturbide
Izzy R Wieser
Isabel L Saylors
Leja A Briddick
Rodrigues E Kusko
Ashley X Figeroa
Adams E Gaucho
Emily E Butt
Francesco V Briddick
Mayumi X Poquette
Smith R Iturbide
Darci B Nicka
Misaki P Maclead
Greenwood L Ostrosky
Alejandro U Marrier
Rodrigues N Darakjy
Claire K Caudy
Nicolas H Malet
Costa F Inouye
Jones C Amigon
IdCountryDate
1000Italy2026-07-23
1001Argentina2026-07-18
1002Argentina2026-08-03
1003Italy2026-07-27
1004Australia2026-08-04
1005Japan2026-08-09
1006Germany2026-07-16
1007India2026-07-15
1008Brazil2026-07-18
1009Spain2026-07-19
1010India2026-08-07
1011Canada2026-07-17
1012Germany2026-07-14
1013Japan2026-07-27
1014Spain2026-08-09
1015Canada2026-07-26
1016Brazil2026-07-14
1017Brazil2026-07-23
1018Canada2026-07-19
1019Japan2026-07-25
1020France2026-07-22
1021Germany2026-07-16
1022Japan2026-07-29
1023Germany2026-08-06
1024Russia2026-07-27
1025Argentina2026-08-06
1026Germany2026-07-30
1027Russia2026-07-15
1028Italy2026-08-10
1029Spain2026-07-31
1030Italy2026-07-25
1031Russia2026-08-03
1032Argentina2026-07-26
1033India2026-08-09
1034Germany2026-07-13
1035Russia2026-07-13
1036Italy2026-08-08
1037Japan2026-07-28
1038Argentina2026-07-27
1039Canada2026-07-15
1040Japan2026-07-16
1041Canada2026-08-09
1042Argentina2026-08-06
1043Argentina2026-07-21
1044United Kingdom2026-07-28
1045Russia2026-08-06
1046India2026-07-21
1047Germany2026-07-31
1048Canada2026-07-29
1049India2026-07-17

On-Demand Data

NameIdCountryDate
Smith V Dilliard1000France2026-07-26
Morrow W Whobrey1001Italy2026-07-14
Cody E Inouye1002Italy2026-07-29
Misaki S Stenseth1003Italy2026-07-30
Maria D Rulapaugh1004Brazil2026-07-28
Kadeem Q Malet1005Italy2026-07-18
Aruna X Rim1006Argentina2026-08-01
Misaki L Amigon1007Argentina2026-08-10
Rodrigues H Kolmetz1008Italy2026-07-24
Leon Y Dilliard1009Italy2026-07-23
Antonio C Maclead1010Italy2026-07-29
Clifford Z Kusko1011Russia2026-07-19
Jeanfrancois O Ostrosky1012Italy2026-07-18
Arvin I Waycott1013India2026-07-25
Arvin N Stockham1014United Kingdom2026-08-04
Leja B Kolmetz1015Spain2026-07-15
Chavez H Iturbide1016Brazil2026-07-29
Jennifer O Chui1017India2026-08-02
Adams V Butt1018Spain2026-07-25
Faith A Whobrey1019France2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford U NestleJapanStephen Shaw NEW
Mujtaba L DarakjyCanadaOnyama Limba QUALIFIED
Costa E FollerIndiaBernardo Dominic QUALIFIED
Nicolas S GlickJapanOnyama Limba QUALIFIED
Francesco P StockhamItalyIvan Magalhaes UNQUALIFIED
Francesco U DoeJapanAnna Fali RENEWAL
Salvatore P FigeroaRussiaIoni Bowcher UNQUALIFIED
Faith J FigeroaRussiaElwin Sharvill UNQUALIFIED
Claire C BriddickIndiaAnna Fali QUALIFIED
Leja I SchemmerJapanStephen Shaw RENEWAL
Adams X FlosiBrazilXuxue Feng PROPOSAL
Ricardo D VenereRussiaStephen Shaw QUALIFIED
Aditya I InouyeFranceStephen Shaw NEGOTIATION
Chavez F CaudyFranceElwin Sharvill NEW
Ricardo W NestleAustraliaBernardo Dominic RENEWAL
Smith G SaylorsIndiaXuxue Feng NEGOTIATION
Kadeem I FlosiJapanStephen Shaw NEGOTIATION
Maria Z StensethCanadaElwin Sharvill QUALIFIED
Smith N FlosiBrazilBernardo Dominic QUALIFIED
Sinclair M SlusarskiGermanyXuxue Feng UNQUALIFIED
James Z MorascaItalyOnyama Limba QUALIFIED
Cody P TollnerRussiaAsiya Javayant NEGOTIATION
Jeanfrancois N PoquetteGermanyXuxue Feng QUALIFIED
Alejandro X CampainSpainXuxue Feng UNQUALIFIED
Aruna I FigeroaUnited KingdomStephen Shaw NEW
Darci T NickaItalyIvan Magalhaes NEW
David K MacleadIndiaStephen Shaw RENEWAL
Wickens B RutaCanadaBernardo Dominic RENEWAL
Darci D GauchoFranceIoni Bowcher UNQUALIFIED
Stacey A VocelkaAustraliaXuxue Feng RENEWAL
Nicolas H MorascaAustraliaOnyama Limba NEGOTIATION
James T RulapaughBrazilIvan Magalhaes UNQUALIFIED
Izzy U FlosiSpainXuxue Feng PROPOSAL
Arvin S RimGermanyStephen Shaw UNQUALIFIED
Salvatore Q NickaUnited KingdomXuxue Feng NEW
Maria L CampainItalyAmy Elsner QUALIFIED
Arvin L CaldareraBrazilXuxue Feng NEW
Ricardo V SlusarskiArgentinaIvan Magalhaes NEW
Izzy V SaylorsUnited KingdomAnna Fali NEW
Francesco F RimBrazilAsiya Javayant 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>