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
Stacey U VocelkaRussiaBernardo Dominic RENEWAL
Antonio Z GauchoUnited KingdomOnyama Limba PROPOSAL
Nicolas Z MarrierBrazilStephen Shaw RENEWAL
Murillo C MacleadSpainIoni Bowcher NEGOTIATION
Maria L KolmetzUnited KingdomAmy Elsner RENEWAL
Maria V StensethUnited KingdomIoni Bowcher PROPOSAL
Smith K NestleSpainBernardo Dominic RENEWAL
Nicolas K OstroskyRussiaStephen Shaw UNQUALIFIED
Ivar C GlickRussiaStephen Shaw RENEWAL
Antonio X CaldareraGermanyBernardo Dominic RENEWAL
Mujtaba M OldroydCanadaIvan Magalhaes QUALIFIED
Aruna I PerinAustraliaXuxue Feng PROPOSAL
Adams K MaletRussiaIoni Bowcher NEGOTIATION
Sinclair J WieserArgentinaElwin Sharvill UNQUALIFIED
Salvatore O StockhamCanadaAnna Fali UNQUALIFIED
Isabel S KuskoItalyStephen Shaw NEGOTIATION
Stacey S VocelkaFranceBernardo Dominic PROPOSAL
Johnson K FigeroaCanadaAnna Fali RENEWAL
Wickens I MorascaJapanXuxue Feng PROPOSAL
Maria H GlickAustraliaIoni Bowcher RENEWAL
Munro I RoysterUnited KingdomOnyama Limba RENEWAL
Isabel V NickaArgentinaOnyama Limba NEGOTIATION
Maria J DoeCanadaAsiya Javayant RENEWAL
Leon C SlusarskiItalyXuxue Feng NEW
Jones Q GarufiArgentinaAsiya Javayant QUALIFIED
Misaki L DilliardItalyAmy Elsner RENEWAL
Kaitlin P FlosiGermanyElwin Sharvill RENEWAL
Deepesh E AmigonGermanyAmy Elsner UNQUALIFIED
Ashley B GlickSpainElwin Sharvill UNQUALIFIED
Morrow F SchemmerGermanyStephen Shaw PROPOSAL
Claire D MaletSpainElwin Sharvill NEGOTIATION
Ricardo Y SaylorsUnited KingdomIvan Magalhaes RENEWAL
Misaki F PoquetteFranceStephen Shaw UNQUALIFIED
Smith R MorascaBrazilStephen Shaw PROPOSAL
Wickens I CaudyJapanAsiya Javayant UNQUALIFIED
Salvatore W BriddickBrazilIvan Magalhaes QUALIFIED
Stacey H VenereGermanyAmy Elsner PROPOSAL
Smith L ShinkoSpainElwin Sharvill PROPOSAL
Rodrigues Y PerinCanadaOnyama Limba RENEWAL
Maisha P MarrierBrazilIoni Bowcher QUALIFIED
Stacey N KolmetzArgentinaIvan Magalhaes NEGOTIATION
Aruna G MacleadArgentinaOnyama Limba NEGOTIATION
Claire D RutaJapanStephen Shaw PROPOSAL
Tony J FollerGermanyIvan Magalhaes UNQUALIFIED
Costa Y FollerIndiaStephen Shaw NEW
Leon L FlosiIndiaOnyama Limba QUALIFIED
Deepesh H GarufiBrazilBernardo Dominic PROPOSAL
James X SaylorsIndiaAsiya Javayant PROPOSAL
Rodrigues O SlusarskiSpainAsiya Javayant QUALIFIED
Smith Q RutaAustraliaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois G ChuiGermanyAnna Fali NEGOTIATION
Silvio X BologniaIndiaIoni Bowcher UNQUALIFIED
Isabel Z ChuiItalyIoni Bowcher QUALIFIED
Salvatore J ShinkoJapanOnyama Limba QUALIFIED
Francesco G WieserArgentinaAmy Elsner UNQUALIFIED
Chavez V SergiSpainElwin Sharvill QUALIFIED
Deepesh H CaudyAustraliaOnyama Limba RENEWAL
Emily Z SchemmerCanadaOnyama Limba PROPOSAL
Misaki P OldroydCanadaStephen Shaw QUALIFIED
Wickens G GillianBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire V StensethJapan2025-04-17Feltz Printing Service RENEWAL40Ivan Magalhaes
1001Salvatore H SergiGermany2025-04-25Chanay, Jeffrey A Esq RENEWAL84Amy Elsner
1002Silvio V KuskoIndia2025-04-03Printing Dimensions UNQUALIFIED83Ioni Bowcher
1003Costa Q NickaSpain2025-04-18Printing Dimensions QUALIFIED94Xuxue Feng
1004Faith J BowleyAustralia2025-04-24Printing Dimensions PROPOSAL31Anna Fali
1005Maria B FlosiIndia2025-04-14Feltz Printing Service NEW89Ioni Bowcher
1006Greenwood N GlickFrance2025-04-10Rangoni Of Florence PROPOSAL49Asiya Javayant
1007Emily X ButtArgentina2025-04-27Chemel, James L Cpa RENEWAL81Elwin Sharvill
1008Jones K MacleadArgentina2025-04-22Feltz Printing Service NEW80Ivan Magalhaes
1009Jennifer W OstroskyArgentina2025-04-08Chemel, James L Cpa NEW0Elwin Sharvill
1010Sinclair L DoeCanada2025-04-18Chapman, Ross E Esq UNQUALIFIED73Onyama Limba
1011Izzy O CaldareraFrance2025-04-25Truhlar And Truhlar Attys UNQUALIFIED13Ivan Magalhaes
1012Mayumi U TollnerItaly2025-04-10Truhlar And Truhlar Attys NEW5Ivan Magalhaes
1013Rodrigues H RulapaughGermany2025-04-11Chemel, James L Cpa NEGOTIATION54Elwin Sharvill
1014Sinclair Z ShinkoFrance2025-04-05Rangoni Of Florence QUALIFIED6Amy Elsner
1015Claire J SlusarskiBrazil2025-04-21Rangoni Of Florence QUALIFIED28Ioni Bowcher
1016Francesco S FerenczJapan2025-04-01Dorl, James J Esq PROPOSAL73Anna Fali
1017Kadeem K SergiUnited Kingdom2025-04-28Chanay, Jeffrey A Esq NEW75Bernardo Dominic
1018Aika C GlickIndia2025-04-09Feltz Printing Service NEW81Ioni Bowcher
1019Maisha H WieserItaly2025-04-02Rangoni Of Florence UNQUALIFIED20Amy Elsner
1020Cody S PoquetteItaly2025-04-25Feiner Bros QUALIFIED15Bernardo Dominic
1021Kadeem Q MaletItaly2025-04-05Buckley Miller Wright NEW34Bernardo Dominic
1022Izzy D WaycottCanada2025-04-21Chemel, James L Cpa PROPOSAL47Asiya Javayant
1023Silvio V SaylorsSpain2025-04-15Chanay, Jeffrey A Esq NEGOTIATION37Ioni Bowcher
1024Cody I SaylorsArgentina2025-04-28Chapman, Ross E Esq PROPOSAL85Amy Elsner
1025Leja E BologniaFrance2025-04-18Feltz Printing Service RENEWAL59Amy Elsner
1026Jeanfrancois R ShinkoGermany2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED27Anna Fali
1027Arvin H BowleyCanada2025-04-24Buckley Miller Wright QUALIFIED20Asiya Javayant
1028Emily M MacleadUnited Kingdom2025-04-12Commercial Press NEW48Asiya Javayant
1029Claire D GauchoJapan2025-04-18Chanay, Jeffrey A Esq PROPOSAL80Onyama Limba
1030Maisha X DilliardRussia2025-04-29Chapman, Ross E Esq NEGOTIATION93Elwin Sharvill
1031Julie W BologniaArgentina2025-04-20Feltz Printing Service NEW9Onyama Limba
1032Ashley G GlickAustralia2025-04-22Commercial Press NEGOTIATION56Elwin Sharvill
1033Wickens P CampainFrance2025-04-26Benton, John B Jr NEW88Amy Elsner
1034Salvatore T ChuiBrazil2025-04-09Truhlar And Truhlar Attys NEW97Anna Fali
1035Leja N GauchoCanada2025-04-05Commercial Press NEW96Amy Elsner
1036Darci B ButtFrance2025-04-20Chanay, Jeffrey A Esq NEGOTIATION24Bernardo Dominic
1037Isabel S FerenczIndia2025-04-22Rousseaux, Michael Esq UNQUALIFIED57Ioni Bowcher
1038Tony R InouyeFrance2025-04-25Buckley Miller Wright NEGOTIATION7Elwin Sharvill
1039Rodrigues G ShinkoItaly2025-04-17Truhlar And Truhlar Attys QUALIFIED77Ivan Magalhaes
1040Jennifer Z FlosiIndia2025-04-06Morlong Associates UNQUALIFIED50Amy Elsner
1041Juan E CaudyUnited Kingdom2025-04-16Feiner Bros UNQUALIFIED74Onyama Limba
1042Mayumi W FigeroaGermany2025-04-26Buckley Miller Wright NEGOTIATION4Amy Elsner
1043Juan G GauchoSpain2025-04-28Feltz Printing Service QUALIFIED83Bernardo Dominic
1044Maisha N AmigonAustralia2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED71Bernardo Dominic
1045Silvio Z PaprockiSpain2025-04-08Dorl, James J Esq QUALIFIED94Ioni Bowcher
1046Kadeem Q ChuiBrazil2025-04-21Rangoni Of Florence RENEWAL41Ivan Magalhaes
1047Claire G ButtItaly2025-04-08Feltz Printing Service NEGOTIATION13Stephen Shaw
1048Ashley L KolmetzArgentina2025-04-02Chemel, James L Cpa NEGOTIATION22Ioni Bowcher
1049Claire U PoquetteIndia2025-04-14Commercial Press NEGOTIATION33Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco Z GauchoFranceAsiya Javayant NEW
Jennifer Y BowleyArgentinaOnyama Limba QUALIFIED
Wickens G FlosiGermanyXuxue Feng UNQUALIFIED
Darci B ShinkoRussiaIvan Magalhaes RENEWAL
Jefferson F BologniaFranceXuxue Feng RENEWAL
Misaki D BowleyFranceStephen Shaw NEW
Alejandro M StensethArgentinaIoni Bowcher NEW
Maria G KuskoIndiaElwin Sharvill NEGOTIATION
Rodrigues I SergiSpainElwin Sharvill PROPOSAL
Faith V KolmetzArgentinaBernardo Dominic NEW
Aditya C SlusarskiSpainAnna Fali UNQUALIFIED
Adams V SergiArgentinaOnyama Limba RENEWAL
Ricardo A BriddickBrazilStephen Shaw UNQUALIFIED
Wickens A DilliardCanadaIoni Bowcher NEGOTIATION
Silvio Y StensethAustraliaAmy Elsner UNQUALIFIED
Octavia F CaudyRussiaAnna Fali RENEWAL
Francesco H NestleJapanElwin Sharvill RENEWAL
Maria T BriddickAustraliaIoni Bowcher NEGOTIATION
Morrow I MarrierItalyAmy Elsner UNQUALIFIED
Alejandro L FollerGermanyAmy Elsner QUALIFIED
Arvin J ShinkoIndiaIoni Bowcher NEW
Tony Z CampainAustraliaStephen Shaw QUALIFIED
Ricardo T RimSpainAsiya Javayant QUALIFIED
James Y BologniaCanadaBernardo Dominic UNQUALIFIED
Smith E SchemmerIndiaAsiya Javayant RENEWAL
Maria M MorascaGermanyAsiya Javayant NEW
Adams R InouyeBrazilAnna Fali NEW
Adams Q StockhamArgentinaAsiya Javayant PROPOSAL
Maisha A InouyeRussiaElwin Sharvill PROPOSAL
Aruna N OldroydItalyStephen Shaw UNQUALIFIED
Chavez Y FollerAustraliaIvan Magalhaes PROPOSAL
Misaki Y KolmetzRussiaOnyama Limba RENEWAL
Ricardo I ShinkoBrazilOnyama Limba PROPOSAL
Ashley C GillianUnited KingdomOnyama Limba NEW
Izzy B OldroydFranceXuxue Feng PROPOSAL
Isabel U RimSpainAsiya Javayant PROPOSAL
Adams P FollerArgentinaStephen Shaw RENEWAL
Jennifer X DoeJapanIoni Bowcher QUALIFIED
Jeanfrancois W GauchoCanadaStephen Shaw PROPOSAL
Claire F MarrierBrazilAmy Elsner UNQUALIFIED
Ashley W FigeroaGermanyAmy Elsner NEW
Salvatore Z NickaAustraliaIoni Bowcher QUALIFIED
Maisha B BowleyCanadaXuxue Feng NEGOTIATION
Salvatore A IturbideItalyXuxue Feng PROPOSAL
Jennifer G MacleadFranceBernardo Dominic QUALIFIED
Murillo L RutaRussiaAmy Elsner QUALIFIED
Ivar W PaprockiArgentinaStephen Shaw UNQUALIFIED
Leja G RutaArgentinaAsiya Javayant UNQUALIFIED
Izzy Z OstroskyBrazilIoni Bowcher NEW
Antonio M OstroskyAustraliaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Aika T Sergi
Salvatore R Amigon
Greenwood S Glick
Mayumi K Chui
Silvio R Chui
Costa L Kolmetz
Julie W Nicka
Misaki V Maclead
Sinclair J Sergi
Claire E Kusko
Jeanfrancois H Saylors
Greenwood K Maclead
Antonio Z Glick
Sinclair M Campain
Adams Q Rim
Smith W Inouye
Smith Z Stenseth
Jones T Caldarera
Mujtaba O Caudy
Salvatore L Slusarski
Munro B Bolognia
Alejandro Z Figeroa
Sinclair A Sergi
Mayumi K Paprocki
David C Saylors
Jeanfrancois Y Sergi
Costa X Figeroa
Arvin S Nestle
Aditya S Rulapaugh
Emily U Maclead
Munro D Tollner
Emily C Kolmetz
Nicolas L Darakjy
Tony S Stockham
Antonio P Briddick
Octavia M Kusko
Deepesh B Nicka
Tony Q Gillian
David O Kusko
Francesco W Albares
Rodrigues D Whobrey
Maisha T Vocelka
Misaki O Oldroyd
Octavia V Marrier
Claire D Chui
Salvatore K Slusarski
Kadeem W Figeroa
Adams H Poquette
Kaitlin Q Paprocki
Ashley X Stockham
IdCountryDate
1000Australia2025-04-27
1001United Kingdom2025-04-30
1002Italy2025-04-12
1003Italy2025-04-03
1004Spain2025-04-26
1005Brazil2025-04-26
1006United Kingdom2025-04-17
1007France2025-04-22
1008Russia2025-04-06
1009Japan2025-04-21
1010Italy2025-04-26
1011France2025-04-12
1012Spain2025-04-28
1013Russia2025-04-06
1014United Kingdom2025-04-19
1015Japan2025-04-21
1016Japan2025-04-19
1017Canada2025-04-03
1018Australia2025-04-19
1019India2025-04-28
1020Australia2025-04-27
1021Russia2025-04-21
1022Germany2025-04-09
1023Italy2025-04-29
1024France2025-04-22
1025Argentina2025-04-05
1026France2025-04-03
1027Argentina2025-04-19
1028Italy2025-04-28
1029Brazil2025-04-15
1030Japan2025-04-07
1031Russia2025-04-05
1032Germany2025-04-13
1033India2025-04-30
1034Spain2025-04-22
1035India2025-04-10
1036Japan2025-04-30
1037Australia2025-04-07
1038United Kingdom2025-04-27
1039Russia2025-04-14
1040Canada2025-04-25
1041France2025-04-23
1042Argentina2025-04-22
1043Russia2025-04-04
1044Argentina2025-04-25
1045Italy2025-04-02
1046Spain2025-04-26
1047Brazil2025-04-03
1048Italy2025-04-06
1049Italy2025-04-30

On-Demand Data

NameIdCountryDate
Isabel T Darakjy1000Germany2025-04-22
Arvin X Figeroa1001Canada2025-04-27
Johnson M Nestle1002Japan2025-04-09
Sinclair F Rulapaugh1003Spain2025-04-26
Greenwood S Ruta1004Canada2025-04-21
Greenwood V Nicka1005Japan2025-04-18
Aditya D Royster1006Brazil2025-04-03
Nicolas W Malet1007Japan2025-04-23
Adams A Figeroa1008Italy2025-04-09
Izzy A Wieser1009Argentina2025-04-12
Jones Q Glick1010Australia2025-04-21
Ashley G Chui1011Russia2025-04-01
Tony L Albares1012Brazil2025-04-01
David G Foller1013France2025-04-25
Faith R Vocelka1014France2025-04-24
Tony K Royster1015Australia2025-04-14
Jennifer C Morasca1016Canada2025-04-01
Kadeem E Gillian1017Italy2025-04-21
Silvio Q Campain1018Brazil2025-04-06
Emily S Glick1019Brazil2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem I SaylorsIndiaElwin Sharvill QUALIFIED
Misaki R WieserArgentinaElwin Sharvill UNQUALIFIED
Alejandro C MorascaItalyAnna Fali PROPOSAL
Clifford X TollnerJapanStephen Shaw NEW
Juan I SlusarskiIndiaElwin Sharvill RENEWAL
Maisha W IturbideJapanIvan Magalhaes PROPOSAL
Arvin Y FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem K SergiGermanyAsiya Javayant PROPOSAL
Salvatore X FerenczItalyBernardo Dominic NEGOTIATION
Chavez G BowleyGermanyStephen Shaw NEGOTIATION
Francesco U PoquetteArgentinaAmy Elsner NEW
Murillo D WhobreyAustraliaBernardo Dominic PROPOSAL
Stacey E MorascaBrazilXuxue Feng QUALIFIED
Maria S RulapaughSpainStephen Shaw QUALIFIED
Mujtaba Z ShinkoFranceStephen Shaw NEW
Mujtaba L WhobreyJapanAmy Elsner QUALIFIED
Leon Q SergiCanadaAnna Fali PROPOSAL
Leja V RulapaughUnited KingdomAsiya Javayant QUALIFIED
Aika G BowleyAustraliaAnna Fali NEGOTIATION
Tony W DarakjySpainIvan Magalhaes RENEWAL
Chavez S SergiArgentinaXuxue Feng NEW
Ivar O SaylorsCanadaAsiya Javayant RENEWAL
Greenwood J BowleyItalyIvan Magalhaes NEW
Ricardo U WhobreyIndiaStephen Shaw NEW
Sinclair Z BowleyArgentinaOnyama Limba RENEWAL
Cody Y CampainSpainAnna Fali UNQUALIFIED
Costa L MorascaFranceIoni Bowcher PROPOSAL
Murillo F WieserJapanBernardo Dominic RENEWAL
Jones E MacleadJapanStephen Shaw NEGOTIATION
Munro B GauchoCanadaIvan Magalhaes NEW
Mayumi B MaletSpainBernardo Dominic UNQUALIFIED
Maisha Y CaudyBrazilOnyama Limba UNQUALIFIED
Johnson K TollnerCanadaAnna Fali NEW
Arvin K RulapaughArgentinaAnna Fali NEW
Greenwood I CaldareraGermanyIoni Bowcher PROPOSAL
Murillo E WhobreyUnited KingdomBernardo Dominic QUALIFIED
Octavia B CampainBrazilOnyama Limba RENEWAL
Smith A SaylorsItalyStephen Shaw NEGOTIATION
David B RulapaughIndiaStephen Shaw UNQUALIFIED
Ivar W IturbideCanadaAnna Fali 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>