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
James L CaudyUnited KingdomXuxue Feng NEW
Aditya X FerenczGermanyAnna Fali RENEWAL
Ivar V GauchoJapanOnyama Limba NEGOTIATION
Darci Z StensethArgentinaStephen Shaw QUALIFIED
Jeanfrancois C StockhamAustraliaAsiya Javayant RENEWAL
Silvio F PaprockiAustraliaIoni Bowcher QUALIFIED
Octavia T KuskoItalyAnna Fali NEGOTIATION
Cody T VenereFranceXuxue Feng PROPOSAL
Rodrigues D FigeroaAustraliaAnna Fali NEGOTIATION
Darci Y GlickSpainIvan Magalhaes QUALIFIED
Claire Z TollnerSpainAnna Fali UNQUALIFIED
Morrow W MacleadBrazilBernardo Dominic RENEWAL
Darci W StensethItalyStephen Shaw NEW
Maria D ButtCanadaXuxue Feng UNQUALIFIED
Mayumi O NickaAustraliaElwin Sharvill UNQUALIFIED
Clifford Q DoeUnited KingdomIoni Bowcher RENEWAL
Deepesh T DilliardGermanyAmy Elsner NEGOTIATION
Clifford K NestleRussiaElwin Sharvill QUALIFIED
Isabel B ChuiRussiaElwin Sharvill RENEWAL
Izzy R BowleyItalyBernardo Dominic RENEWAL
Leon X BriddickCanadaAsiya Javayant RENEWAL
Emily V InouyeJapanAsiya Javayant RENEWAL
Sinclair O AmigonIndiaXuxue Feng QUALIFIED
Ricardo O DoeSpainElwin Sharvill NEW
Aika R NickaCanadaAsiya Javayant NEW
Murillo T MarrierIndiaIoni Bowcher NEW
Octavia C FollerItalyBernardo Dominic NEW
Chavez C SlusarskiJapanElwin Sharvill RENEWAL
Chavez N AmigonAustraliaIvan Magalhaes QUALIFIED
Alejandro Q SchemmerJapanAmy Elsner NEW
Aruna U GlickCanadaAmy Elsner RENEWAL
Leja F MaletUnited KingdomAmy Elsner UNQUALIFIED
Alejandro Y AmigonItalyAmy Elsner RENEWAL
James O StensethRussiaIvan Magalhaes NEW
Nicolas D BologniaFranceElwin Sharvill RENEWAL
Deepesh Y RoysterAustraliaXuxue Feng QUALIFIED
Izzy W ShinkoCanadaXuxue Feng RENEWAL
Chavez L OstroskyItalyAmy Elsner QUALIFIED
Claire X PaprockiJapanAmy Elsner UNQUALIFIED
Izzy U MorascaGermanyAnna Fali QUALIFIED
Ricardo H MorascaItalyIoni Bowcher PROPOSAL
Murillo J BriddickUnited KingdomAmy Elsner PROPOSAL
Sinclair Q SchemmerIndiaBernardo Dominic UNQUALIFIED
Maria B WaycottItalyStephen Shaw RENEWAL
Murillo R KuskoAustraliaStephen Shaw UNQUALIFIED
Adams B DilliardCanadaOnyama Limba NEGOTIATION
Arvin X NickaGermanyAmy Elsner PROPOSAL
Francesco P ShinkoJapanAmy Elsner PROPOSAL
Maisha W DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues Q VocelkaJapanIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi A OldroydArgentinaXuxue Feng NEGOTIATION
Clifford R CaldareraArgentinaAnna Fali PROPOSAL
Antonio Z MaletBrazilBernardo Dominic QUALIFIED
Adams E DoeFranceAsiya Javayant PROPOSAL
Ashley O PaprockiRussiaOnyama Limba UNQUALIFIED
Arvin E OstroskyUnited KingdomOnyama Limba RENEWAL
Wickens V TollnerBrazilIvan Magalhaes NEW
Ricardo U MacleadRussiaXuxue Feng NEW
Salvatore O RutaCanadaXuxue Feng RENEWAL
Francesco I FlosiArgentinaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith U KolmetzGermany2025-05-25Chemel, James L Cpa UNQUALIFIED94Onyama Limba
1001Maria Z OstroskyUnited Kingdom2025-06-04Dorl, James J Esq RENEWAL38Ivan Magalhaes
1002Clifford K StensethArgentina2025-05-19Dorl, James J Esq QUALIFIED30Stephen Shaw
1003Deepesh Y FerenczUnited Kingdom2025-05-30Rangoni Of Florence QUALIFIED41Elwin Sharvill
1004Sinclair E FlosiBrazil2025-05-24Chapman, Ross E Esq RENEWAL5Ioni Bowcher
1005Smith A NickaUnited Kingdom2025-06-14Dorl, James J Esq NEGOTIATION68Stephen Shaw
1006Silvio A SchemmerRussia2025-06-02King, Christopher A Esq QUALIFIED94Asiya Javayant
1007Kadeem H VenereAustralia2025-05-26Chanay, Jeffrey A Esq NEW84Asiya Javayant
1008Darci F TollnerItaly2025-05-25King, Christopher A Esq UNQUALIFIED23Anna Fali
1009Aika X ButtRussia2025-06-01Printing Dimensions QUALIFIED79Anna Fali
1010Faith J PoquetteBrazil2025-05-24King, Christopher A Esq NEGOTIATION28Bernardo Dominic
1011Juan I CaudyUnited Kingdom2025-06-12Feiner Bros PROPOSAL36Anna Fali
1012Chavez P GauchoItaly2025-06-02Feltz Printing Service QUALIFIED49Xuxue Feng
1013Wickens E RimJapan2025-05-31King, Christopher A Esq NEGOTIATION84Stephen Shaw
1014Silvio Q NickaItaly2025-05-17Morlong Associates RENEWAL50Bernardo Dominic
1015Ricardo H RoysterSpain2025-05-18Feltz Printing Service NEGOTIATION81Xuxue Feng
1016David E KolmetzGermany2025-05-19Feltz Printing Service QUALIFIED25Amy Elsner
1017Sinclair W PoquetteAustralia2025-06-02Buckley Miller Wright UNQUALIFIED12Ioni Bowcher
1018Faith O PoquetteIndia2025-06-12Printing Dimensions NEW7Stephen Shaw
1019Mujtaba L BriddickBrazil2025-06-02Rousseaux, Michael Esq PROPOSAL4Ivan Magalhaes
1020Tony H MarrierArgentina2025-06-10Truhlar And Truhlar Attys QUALIFIED30Onyama Limba
1021Faith B SchemmerGermany2025-06-05Chemel, James L Cpa UNQUALIFIED21Onyama Limba
1022Rodrigues Y GarufiRussia2025-05-17Rousseaux, Michael Esq UNQUALIFIED62Stephen Shaw
1023Jefferson K KolmetzCanada2025-06-11Benton, John B Jr NEW97Ioni Bowcher
1024Chavez B GillianItaly2025-06-12Chemel, James L Cpa NEW62Asiya Javayant
1025Silvio R NestleRussia2025-06-13Buckley Miller Wright RENEWAL3Asiya Javayant
1026Costa T IturbideJapan2025-06-03Rangoni Of Florence NEW5Stephen Shaw
1027Ricardo P RulapaughAustralia2025-05-30Feiner Bros RENEWAL33Ivan Magalhaes
1028Maisha H CaudyUnited Kingdom2025-06-10Feltz Printing Service QUALIFIED94Bernardo Dominic
1029Greenwood Q MaletRussia2025-06-13Chapman, Ross E Esq QUALIFIED68Onyama Limba
1030Jones E MaletAustralia2025-06-05Rousseaux, Michael Esq RENEWAL13Amy Elsner
1031Julie G FigeroaJapan2025-06-04Printing Dimensions PROPOSAL17Asiya Javayant
1032Jefferson F WieserItaly2025-05-26Commercial Press NEGOTIATION18Ivan Magalhaes
1033Aruna J ButtIndia2025-05-17Benton, John B Jr UNQUALIFIED28Ioni Bowcher
1034Mayumi V CampainIndia2025-06-03Rousseaux, Michael Esq UNQUALIFIED53Amy Elsner
1035Sinclair F ButtRussia2025-05-17Chemel, James L Cpa QUALIFIED32Xuxue Feng
1036Chavez U RutaUnited Kingdom2025-06-09Printing Dimensions UNQUALIFIED94Anna Fali
1037Tony E RutaBrazil2025-06-11Feltz Printing Service PROPOSAL91Xuxue Feng
1038Wickens A StensethJapan2025-05-21Chemel, James L Cpa NEGOTIATION18Elwin Sharvill
1039James Z ChuiRussia2025-05-20Morlong Associates NEGOTIATION71Onyama Limba
1040Claire A KuskoRussia2025-06-09King, Christopher A Esq QUALIFIED69Asiya Javayant
1041Wickens L IturbideJapan2025-05-18Chapman, Ross E Esq UNQUALIFIED4Elwin Sharvill
1042Mujtaba K FlosiSpain2025-05-18Chapman, Ross E Esq UNQUALIFIED97Onyama Limba
1043Francesco O VenereCanada2025-06-01Chanay, Jeffrey A Esq RENEWAL42Anna Fali
1044Deepesh Z BowleyRussia2025-05-30Commercial Press UNQUALIFIED71Elwin Sharvill
1045Ashley J WaycottRussia2025-06-02Chanay, Jeffrey A Esq RENEWAL60Elwin Sharvill
1046Adams P FlosiAustralia2025-05-30Rangoni Of Florence QUALIFIED27Bernardo Dominic
1047Adams U BowleyRussia2025-05-21Dorl, James J Esq PROPOSAL26Stephen Shaw
1048Sinclair F GauchoFrance2025-06-08Rangoni Of Florence PROPOSAL6Asiya Javayant
1049Jefferson Q DilliardRussia2025-06-09Buckley Miller Wright PROPOSAL53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley I GauchoSpainStephen Shaw NEGOTIATION
Emily H GlickCanadaAnna Fali UNQUALIFIED
Wickens T GarufiItalyIvan Magalhaes UNQUALIFIED
Aika L SlusarskiAustraliaIvan Magalhaes PROPOSAL
Leon W TollnerCanadaIoni Bowcher NEW
Jennifer N KolmetzSpainXuxue Feng NEGOTIATION
Stacey V MarrierUnited KingdomIvan Magalhaes PROPOSAL
Salvatore C PerinGermanyStephen Shaw RENEWAL
Jennifer L KuskoGermanyAnna Fali RENEWAL
Ivar X MacleadUnited KingdomAsiya Javayant NEGOTIATION
Mayumi Q WaycottArgentinaIvan Magalhaes UNQUALIFIED
Izzy Q DoeItalyXuxue Feng NEGOTIATION
Salvatore G WhobreyCanadaStephen Shaw NEGOTIATION
Smith R DoeItalyBernardo Dominic QUALIFIED
Octavia Y ShinkoBrazilIvan Magalhaes NEGOTIATION
Octavia Y PaprockiFranceAmy Elsner RENEWAL
Octavia J DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Faith B MorascaBrazilIoni Bowcher UNQUALIFIED
Maisha I SergiGermanyAsiya Javayant NEW
Maria O GillianRussiaOnyama Limba QUALIFIED
Juan K WaycottAustraliaIvan Magalhaes UNQUALIFIED
Izzy K GillianRussiaAmy Elsner NEGOTIATION
Silvio W NestleCanadaAnna Fali NEW
Jennifer U MarrierCanadaElwin Sharvill NEGOTIATION
Aditya I OldroydUnited KingdomAsiya Javayant QUALIFIED
Julie J IturbideAustraliaXuxue Feng NEW
Stacey L MorascaAustraliaElwin Sharvill UNQUALIFIED
Maria K WaycottJapanIoni Bowcher NEW
Octavia O CaudyCanadaStephen Shaw NEGOTIATION
Greenwood J DarakjyJapanBernardo Dominic RENEWAL
Greenwood D FerenczCanadaAnna Fali RENEWAL
Ivar F CaudyRussiaAmy Elsner PROPOSAL
Francesco J FigeroaFranceIvan Magalhaes RENEWAL
Mujtaba N AlbaresCanadaIoni Bowcher RENEWAL
Deepesh D SaylorsRussiaBernardo Dominic QUALIFIED
David G MorascaCanadaAmy Elsner NEGOTIATION
Ricardo V SaylorsRussiaStephen Shaw RENEWAL
Greenwood Y CaudyIndiaElwin Sharvill NEGOTIATION
Kadeem Z WieserBrazilAsiya Javayant NEW
Ricardo P DoeUnited KingdomOnyama Limba NEGOTIATION
Adams P RimArgentinaAnna Fali QUALIFIED
Tony A FollerAustraliaAsiya Javayant NEW
Izzy N RoysterRussiaElwin Sharvill UNQUALIFIED
Rodrigues G GauchoItalyIvan Magalhaes QUALIFIED
Silvio C MaletRussiaAsiya Javayant NEGOTIATION
Nicolas I VenereBrazilXuxue Feng PROPOSAL
Claire X RulapaughUnited KingdomAsiya Javayant NEW
Faith M PoquetteIndiaOnyama Limba NEGOTIATION
Aika E ButtAustraliaIoni Bowcher NEW
Faith G MacleadGermanyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Isabel M Butt
Jeanfrancois Q Gaucho
Arvin B Albares
Cody N Rim
Johnson O Ostrosky
Antonio O Garufi
Jones V Campain
Jeanfrancois F Garufi
Antonio M Ruta
Sinclair I Ferencz
Rodrigues A Royster
Leja I Amigon
Kaitlin K Flosi
Ricardo Q Vocelka
Munro A Morasca
Deepesh S Rulapaugh
Johnson X Malet
Kadeem F Caldarera
Claire R Chui
Ashley S Caudy
Salvatore P Dilliard
Deepesh V Paprocki
Smith Y Kolmetz
Salvatore K Oldroyd
Maria Q Oldroyd
Octavia W Ruta
Octavia N Iturbide
Costa R Vocelka
Octavia W Ostrosky
Aditya U Inouye
Chavez K Nicka
Maisha R Morasca
Claire V Nestle
Salvatore T Briddick
Aditya R Caudy
Jefferson I Sergi
Ashley T Perin
Johnson F Butt
Leon S Dilliard
Johnson K Chui
Francesco L Rulapaugh
Silvio H Tollner
Chavez N Nestle
Munro D Rulapaugh
Maria V Caudy
Darci J Slusarski
Ricardo Q Tollner
James I Garufi
David J Kusko
Tony N Rim
IdCountryDate
1000Spain2025-06-11
1001Canada2025-06-14
1002Canada2025-06-13
1003Germany2025-06-06
1004United Kingdom2025-05-29
1005Italy2025-06-15
1006Italy2025-05-25
1007Australia2025-05-18
1008Canada2025-06-02
1009France2025-06-08
1010Argentina2025-06-04
1011France2025-06-05
1012Argentina2025-05-30
1013India2025-06-09
1014Australia2025-05-20
1015Canada2025-05-28
1016Brazil2025-06-05
1017Japan2025-06-01
1018United Kingdom2025-05-30
1019Brazil2025-06-08
1020France2025-06-04
1021Australia2025-05-24
1022India2025-05-18
1023United Kingdom2025-05-29
1024Spain2025-05-31
1025Germany2025-06-08
1026Brazil2025-06-15
1027Italy2025-05-22
1028Brazil2025-06-04
1029Brazil2025-06-14
1030India2025-05-18
1031Russia2025-05-18
1032Argentina2025-05-22
1033Brazil2025-06-01
1034Spain2025-06-09
1035Italy2025-05-29
1036Argentina2025-05-26
1037France2025-05-26
1038India2025-05-28
1039Brazil2025-05-20
1040Argentina2025-06-04
1041Argentina2025-05-25
1042Brazil2025-06-09
1043Japan2025-05-28
1044Brazil2025-06-02
1045Russia2025-06-11
1046Japan2025-06-10
1047Brazil2025-05-18
1048Japan2025-05-27
1049United Kingdom2025-05-18

On-Demand Data

NameIdCountryDate
Ivar X Rim1000Canada2025-06-14
Isabel V Wieser1001Australia2025-06-14
Arvin A Figeroa1002Canada2025-06-09
Morrow Q Garufi1003Australia2025-06-14
Aika W Malet1004Spain2025-06-09
Stacey Y Foller1005Argentina2025-05-21
Murillo J Kusko1006France2025-06-13
Mujtaba C Whobrey1007India2025-05-24
Ricardo C Campain1008Japan2025-05-17
Sinclair F Poquette1009Russia2025-06-03
Adams R Paprocki1010United Kingdom2025-06-11
Jones W Schemmer1011Italy2025-05-19
Mujtaba S Amigon1012United Kingdom2025-05-23
Ricardo V Shinko1013United Kingdom2025-05-18
Juan A Glick1014France2025-06-11
Juan I Paprocki1015Argentina2025-06-11
Munro J Gillian1016France2025-05-21
Stacey J Tollner1017Spain2025-05-31
Kaitlin R Figeroa1018Argentina2025-05-30
Antonio L Gillian1019Brazil2025-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba Y OldroydItalyIoni Bowcher PROPOSAL
Isabel W AlbaresAustraliaIvan Magalhaes NEGOTIATION
Izzy K MaletFranceIoni Bowcher RENEWAL
Silvio Z PoquetteSpainElwin Sharvill NEW
Tony V DoeJapanStephen Shaw NEGOTIATION
Johnson X BowleyJapanAmy Elsner QUALIFIED
Salvatore N GauchoGermanyXuxue Feng NEGOTIATION
Isabel K KolmetzCanadaBernardo Dominic PROPOSAL
James N RutaArgentinaXuxue Feng NEGOTIATION
Cody P RimItalyAmy Elsner UNQUALIFIED
Johnson K CaldareraAustraliaAmy Elsner QUALIFIED
Jeanfrancois J DarakjyRussiaIoni Bowcher QUALIFIED
Rodrigues U IturbideUnited KingdomStephen Shaw NEW
Wickens K CaudyGermanyXuxue Feng NEGOTIATION
Nicolas K FerenczArgentinaElwin Sharvill PROPOSAL
James Y StensethGermanyAmy Elsner NEGOTIATION
Claire B MacleadFranceIvan Magalhaes RENEWAL
Johnson S RoysterRussiaOnyama Limba NEW
Salvatore Y ChuiJapanOnyama Limba NEW
Sinclair N FigeroaCanadaAmy Elsner NEW
Cody S WaycottSpainStephen Shaw NEW
Deepesh U WhobreySpainAsiya Javayant QUALIFIED
Darci Y StockhamIndiaIoni Bowcher NEGOTIATION
Cody N WieserCanadaXuxue Feng RENEWAL
Stacey V OstroskyItalyBernardo Dominic NEGOTIATION
Isabel Y ButtJapanAsiya Javayant NEW
Darci B SchemmerGermanyElwin Sharvill NEW
Rodrigues V RoysterBrazilIoni Bowcher PROPOSAL
Tony Q DarakjyArgentinaAnna Fali NEW
Faith I KolmetzIndiaStephen Shaw QUALIFIED
David I DilliardJapanBernardo Dominic NEW
Ricardo Y GauchoBrazilAsiya Javayant PROPOSAL
Cody K RulapaughJapanIoni Bowcher PROPOSAL
Jones A DoeUnited KingdomStephen Shaw QUALIFIED
Claire K VocelkaBrazilIvan Magalhaes NEGOTIATION
Silvio A MarrierAustraliaXuxue Feng PROPOSAL
Leon K RutaSpainAnna Fali QUALIFIED
David T MaletBrazilBernardo Dominic NEGOTIATION
Leja B MorascaUnited KingdomAnna Fali NEW
Tony N CaudyBrazilOnyama Limba NEGOTIATION

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