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
Murillo D DoeFranceXuxue Feng PROPOSAL
Maria H DarakjySpainElwin Sharvill QUALIFIED
James G OstroskyItalyAnna Fali UNQUALIFIED
Adams T BologniaUnited KingdomIvan Magalhaes PROPOSAL
Cody O FigeroaJapanAnna Fali NEGOTIATION
David N SlusarskiGermanyXuxue Feng UNQUALIFIED
Murillo S MaletArgentinaStephen Shaw NEW
Costa R BologniaGermanyAsiya Javayant UNQUALIFIED
David B PerinBrazilXuxue Feng NEW
Ivar Q RulapaughItalyAnna Fali PROPOSAL
Jeanfrancois E GlickSpainAmy Elsner NEGOTIATION
Munro A MacleadArgentinaAnna Fali NEW
Misaki W VenereFranceXuxue Feng RENEWAL
Jennifer K PerinAustraliaAmy Elsner QUALIFIED
Mujtaba B FlosiJapanXuxue Feng NEGOTIATION
Mujtaba T GarufiCanadaBernardo Dominic RENEWAL
Wickens L MorascaSpainIvan Magalhaes NEW
Julie C PoquetteJapanAsiya Javayant QUALIFIED
Alejandro O MorascaArgentinaBernardo Dominic RENEWAL
Aditya X RulapaughItalyStephen Shaw PROPOSAL
Leon B MaletAustraliaStephen Shaw RENEWAL
Leja X AlbaresJapanBernardo Dominic NEGOTIATION
Smith P NestleArgentinaOnyama Limba QUALIFIED
Juan M MacleadUnited KingdomAnna Fali NEW
Sinclair J GauchoBrazilStephen Shaw RENEWAL
Octavia T MaletArgentinaIvan Magalhaes PROPOSAL
Maisha S FollerFranceOnyama Limba UNQUALIFIED
Stacey P BowleyGermanyBernardo Dominic NEGOTIATION
Ivar G BologniaGermanyBernardo Dominic UNQUALIFIED
Munro Z WhobreyArgentinaOnyama Limba PROPOSAL
Misaki U NestleGermanyStephen Shaw RENEWAL
Clifford M DarakjyIndiaStephen Shaw NEGOTIATION
Kadeem M GarufiItalyXuxue Feng RENEWAL
Juan L GarufiRussiaOnyama Limba PROPOSAL
Isabel X GauchoBrazilIvan Magalhaes RENEWAL
Mujtaba X MacleadBrazilOnyama Limba RENEWAL
Mayumi L PerinIndiaStephen Shaw QUALIFIED
Nicolas E OldroydBrazilStephen Shaw NEW
Jones Z PoquetteFranceAmy Elsner RENEWAL
Alejandro T StensethRussiaAnna Fali NEGOTIATION
Aditya V SlusarskiArgentinaOnyama Limba NEW
Jefferson Q IturbideCanadaOnyama Limba NEW
Rodrigues F MarrierIndiaElwin Sharvill NEW
Ricardo K FlosiArgentinaIvan Magalhaes UNQUALIFIED
Sinclair G MaletItalyAsiya Javayant PROPOSAL
Chavez B InouyeArgentinaIoni Bowcher NEGOTIATION
Izzy G MaletItalyIoni Bowcher PROPOSAL
Emily X DilliardUnited KingdomIvan Magalhaes QUALIFIED
James T FollerCanadaOnyama Limba NEGOTIATION
Wickens O GillianGermanyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan E ShinkoRussiaIoni Bowcher NEW
Jones G AmigonSpainIoni Bowcher NEW
Munro B MacleadUnited KingdomIvan Magalhaes NEW
Leja Z StockhamUnited KingdomAsiya Javayant RENEWAL
Francesco Z FigeroaArgentinaStephen Shaw QUALIFIED
Ivar V GillianArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues B CampainItalyXuxue Feng NEW
Tony G RoysterAustraliaAmy Elsner UNQUALIFIED
Tony U MaletFranceOnyama Limba RENEWAL
Faith X GillianSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G DarakjyBrazil2024-06-02Chapman, Ross E Esq UNQUALIFIED0Onyama Limba
1001James H InouyeAustralia2024-06-07Printing Dimensions NEGOTIATION57Amy Elsner
1002Leon C PaprockiRussia2024-06-03Chanay, Jeffrey A Esq QUALIFIED39Anna Fali
1003Rodrigues D RoysterCanada2024-05-30Printing Dimensions RENEWAL58Asiya Javayant
1004Adams B TollnerCanada2024-06-05Buckley Miller Wright NEW4Anna Fali
1005Mujtaba Q StockhamItaly2024-05-24Printing Dimensions UNQUALIFIED45Onyama Limba
1006Wickens H AlbaresGermany2024-06-03Dorl, James J Esq QUALIFIED51Bernardo Dominic
1007Kaitlin M FlosiSpain2024-06-21Dorl, James J Esq RENEWAL96Elwin Sharvill
1008Arvin N GauchoIndia2024-06-07Chanay, Jeffrey A Esq PROPOSAL44Ivan Magalhaes
1009Maisha L WieserBrazil2024-06-07Feiner Bros UNQUALIFIED16Bernardo Dominic
1010Leja E MaletItaly2024-06-08Chapman, Ross E Esq NEGOTIATION12Stephen Shaw
1011Adams Q CampainGermany2024-06-17King, Christopher A Esq QUALIFIED89Elwin Sharvill
1012Kaitlin H CaldareraIndia2024-05-28Printing Dimensions NEGOTIATION74Ivan Magalhaes
1013Faith C NickaAustralia2024-05-31Chemel, James L Cpa UNQUALIFIED14Elwin Sharvill
1014Greenwood J StockhamItaly2024-06-10Chanay, Jeffrey A Esq NEGOTIATION91Stephen Shaw
1015Jefferson J KuskoUnited Kingdom2024-05-24Chapman, Ross E Esq NEW73Elwin Sharvill
1016Aruna J MarrierIndia2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED46Amy Elsner
1017Misaki H PoquetteIndia2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED82Ioni Bowcher
1018Aruna B CaudyIndia2024-06-21Commercial Press NEGOTIATION96Onyama Limba
1019Silvio V SergiArgentina2024-06-05Rousseaux, Michael Esq NEW44Onyama Limba
1020Faith B GillianAustralia2024-06-17Chapman, Ross E Esq PROPOSAL20Anna Fali
1021Darci I MaletRussia2024-06-17Feiner Bros NEGOTIATION84Xuxue Feng
1022Antonio J SlusarskiUnited Kingdom2024-05-29Feltz Printing Service QUALIFIED90Stephen Shaw
1023Juan W NickaAustralia2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED43Stephen Shaw
1024Kaitlin M AlbaresJapan2024-05-27Rangoni Of Florence RENEWAL35Xuxue Feng
1025Leja E StockhamBrazil2024-05-27Truhlar And Truhlar Attys UNQUALIFIED7Ivan Magalhaes
1026Costa I BologniaFrance2024-06-21Printing Dimensions NEW57Ioni Bowcher
1027Nicolas Z AlbaresRussia2024-06-03Chemel, James L Cpa UNQUALIFIED97Xuxue Feng
1028Faith D SlusarskiIndia2024-05-25Rousseaux, Michael Esq NEGOTIATION6Xuxue Feng
1029David N GauchoFrance2024-05-29Feiner Bros UNQUALIFIED5Stephen Shaw
1030Nicolas I MacleadGermany2024-05-29Truhlar And Truhlar Attys NEGOTIATION4Ioni Bowcher
1031Sinclair Z MarrierJapan2024-06-12Rousseaux, Michael Esq RENEWAL16Anna Fali
1032Claire G CaldareraCanada2024-06-09Benton, John B Jr UNQUALIFIED70Onyama Limba
1033Ricardo A KolmetzBrazil2024-05-30Feltz Printing Service NEW35Amy Elsner
1034Jefferson S GauchoFrance2024-06-13Feiner Bros NEW31Bernardo Dominic
1035Aditya J SergiRussia2024-06-05Dorl, James J Esq PROPOSAL60Ioni Bowcher
1036Adams L GarufiCanada2024-06-14Commercial Press NEW33Bernardo Dominic
1037Arvin K MorascaGermany2024-05-29King, Christopher A Esq UNQUALIFIED71Ioni Bowcher
1038David B AmigonUnited Kingdom2024-05-25Morlong Associates RENEWAL82Ioni Bowcher
1039Jeanfrancois L AmigonAustralia2024-06-20Chemel, James L Cpa UNQUALIFIED62Elwin Sharvill
1040Julie N PoquetteArgentina2024-06-09Feltz Printing Service UNQUALIFIED38Anna Fali
1041Jones I OstroskyGermany2024-05-24Rousseaux, Michael Esq NEGOTIATION83Asiya Javayant
1042Nicolas K RoysterItaly2024-06-18Buckley Miller Wright RENEWAL9Ivan Magalhaes
1043Mayumi T WhobreyIndia2024-06-15Feiner Bros RENEWAL26Bernardo Dominic
1044David M WhobreyCanada2024-05-31Buckley Miller Wright QUALIFIED10Elwin Sharvill
1045Isabel I GarufiCanada2024-06-13Rangoni Of Florence NEGOTIATION48Elwin Sharvill
1046Jeanfrancois I StockhamFrance2024-05-30Printing Dimensions QUALIFIED62Ioni Bowcher
1047Octavia D RulapaughIndia2024-06-10Dorl, James J Esq PROPOSAL69Ioni Bowcher
1048Smith N StockhamFrance2024-05-30Buckley Miller Wright RENEWAL13Anna Fali
1049Jones Q ShinkoUnited Kingdom2024-05-26Chapman, Ross E Esq UNQUALIFIED51Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Wickens K PaprockiItalyAnna Fali QUALIFIED
Juan E ChuiAustraliaAsiya Javayant RENEWAL
Ivar Z VenereSpainAmy Elsner QUALIFIED
Stacey C RutaCanadaIoni Bowcher NEGOTIATION
Kadeem T MacleadFranceBernardo Dominic PROPOSAL
Julie L PerinRussiaStephen Shaw QUALIFIED
Nicolas P PerinFranceIvan Magalhaes RENEWAL
David U MaletArgentinaXuxue Feng NEW
Maria S FerenczCanadaAmy Elsner PROPOSAL
Alejandro U DoeSpainAnna Fali NEW
Maisha C ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Darci Z InouyeBrazilBernardo Dominic QUALIFIED
Munro Q SlusarskiRussiaElwin Sharvill QUALIFIED
Silvio O DarakjyUnited KingdomAnna Fali RENEWAL
James H MaletCanadaOnyama Limba NEGOTIATION
Smith S WieserBrazilStephen Shaw NEW
Antonio P WieserRussiaOnyama Limba NEGOTIATION
Alejandro T KolmetzBrazilElwin Sharvill NEW
Ashley B SlusarskiCanadaXuxue Feng RENEWAL
Wickens E RutaRussiaAnna Fali NEGOTIATION
Francesco G FlosiBrazilXuxue Feng QUALIFIED
Adams K WieserItalyIoni Bowcher PROPOSAL
Adams Z CampainAustraliaAmy Elsner NEW
Costa G WieserIndiaXuxue Feng NEW
Aruna C PoquetteFranceIvan Magalhaes NEGOTIATION
Aditya A SaylorsBrazilIvan Magalhaes RENEWAL
Nicolas B AlbaresJapanAnna Fali NEGOTIATION
Emily T KuskoRussiaOnyama Limba RENEWAL
Darci R SchemmerIndiaStephen Shaw QUALIFIED
Faith K BowleyGermanyAsiya Javayant NEW
Octavia I RimGermanyAnna Fali QUALIFIED
Leon G MarrierJapanBernardo Dominic PROPOSAL
Isabel F KuskoBrazilElwin Sharvill RENEWAL
Aruna W SergiRussiaBernardo Dominic NEW
Francesco G WaycottCanadaBernardo Dominic RENEWAL
Emily V GarufiAustraliaXuxue Feng NEW
Ashley Q RimIndiaElwin Sharvill UNQUALIFIED
Greenwood Y AmigonRussiaIoni Bowcher PROPOSAL
Jeanfrancois Y TollnerFranceAmy Elsner RENEWAL
Ricardo Y GillianUnited KingdomBernardo Dominic NEGOTIATION
Jefferson K GarufiJapanAsiya Javayant NEW
Francesco Z ShinkoRussiaBernardo Dominic RENEWAL
Morrow G MaletJapanXuxue Feng UNQUALIFIED
Octavia H StockhamUnited KingdomOnyama Limba QUALIFIED
Silvio N FollerAustraliaXuxue Feng NEGOTIATION
Antonio Z RimCanadaAnna Fali QUALIFIED
Arvin V RoysterAustraliaAmy Elsner NEW
James Q CaldareraIndiaElwin Sharvill UNQUALIFIED
Isabel G WhobreyBrazilXuxue Feng QUALIFIED
Julie B SchemmerJapanStephen Shaw NEW
Frozen Columns
Name
Rodrigues N Figeroa
Francesco J Vocelka
Maisha H Bolognia
Ashley O Glick
Antonio F Venere
Salvatore D Schemmer
Munro J Ruta
Leja Q Foller
Arvin J Shinko
Sinclair M Figeroa
Aditya D Foller
Clifford F Nestle
Antonio B Campain
Jones L Gaucho
Francesco T Poquette
Deepesh L Oldroyd
Tony S Bolognia
Chavez Y Sergi
Leja H Gaucho
Kadeem J Briddick
Ashley U Maclead
Tony L Nestle
Jennifer L Nicka
Jeanfrancois Y Schemmer
Greenwood X Briddick
Tony B Royster
Smith Y Campain
Chavez X Slusarski
Greenwood E Flosi
Clifford Q Gillian
Maisha L Vocelka
Costa S Slusarski
Nicolas L Doe
Arvin D Figeroa
Leon V Ferencz
Claire J Royster
Morrow S Ruta
James D Flosi
Jefferson I Perin
Emily K Chui
Jennifer S Morasca
Arvin Y Dilliard
Johnson E Maclead
Mayumi J Perin
Aditya R Gaucho
Arvin F Iturbide
Deepesh T Paprocki
Deepesh N Bolognia
Leja B Malet
Adams X Kolmetz
IdCountryDate
1000India2024-06-17
1001Spain2024-06-14
1002Italy2024-06-05
1003Australia2024-06-02
1004Brazil2024-06-17
1005United Kingdom2024-05-29
1006Russia2024-06-21
1007Japan2024-05-29
1008Germany2024-06-11
1009India2024-05-24
1010Argentina2024-05-29
1011Spain2024-06-04
1012Germany2024-06-12
1013Russia2024-06-09
1014Italy2024-06-16
1015Germany2024-05-31
1016France2024-06-01
1017Argentina2024-06-02
1018Australia2024-05-24
1019Argentina2024-06-14
1020United Kingdom2024-06-17
1021Argentina2024-06-03
1022Italy2024-05-26
1023United Kingdom2024-06-08
1024Spain2024-06-15
1025Germany2024-06-17
1026Japan2024-05-30
1027Argentina2024-05-28
1028Spain2024-05-27
1029Argentina2024-06-05
1030Brazil2024-06-02
1031Australia2024-06-15
1032Italy2024-05-23
1033United Kingdom2024-06-11
1034Argentina2024-05-28
1035Argentina2024-05-28
1036United Kingdom2024-06-08
1037Spain2024-06-11
1038Italy2024-06-06
1039Argentina2024-06-02
1040Argentina2024-06-04
1041Japan2024-06-10
1042Japan2024-06-03
1043Japan2024-06-05
1044Argentina2024-06-05
1045Canada2024-06-16
1046France2024-05-29
1047Argentina2024-06-13
1048France2024-05-24
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Tony G Oldroyd1000Australia2024-06-12
Deepesh K Poquette1001Japan2024-05-28
Stacey C Foller1002France2024-05-23
Jeanfrancois P Malet1003United Kingdom2024-06-20
Wickens R Foller1004Argentina2024-06-14
Chavez J Doe1005Spain2024-06-15
Rodrigues J Inouye1006Germany2024-06-01
Leon E Morasca1007Japan2024-05-30
Aditya O Schemmer1008India2024-06-16
Jones P Albares1009France2024-06-14
Murillo Q Nestle1010Russia2024-05-25
Antonio P Vocelka1011Japan2024-06-02
Greenwood P Rulapaugh1012India2024-05-26
Francesco T Malet1013Australia2024-06-04
Arvin W Kolmetz1014Canada2024-05-28
Johnson N Figeroa1015Germany2024-05-28
Emily O Waycott1016Japan2024-06-20
Isabel D Whobrey1017Brazil2024-06-05
Claire S Sergi1018Argentina2024-06-16
Izzy U Stockham1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Q FlosiRussiaIvan Magalhaes PROPOSAL
Leon G DoeItalyIvan Magalhaes RENEWAL
Claire W ShinkoGermanyIoni Bowcher NEGOTIATION
Ivar M SlusarskiBrazilIoni Bowcher RENEWAL
Morrow G DoeIndiaOnyama Limba NEW
Maria O TollnerItalyBernardo Dominic NEW
Mayumi O RoysterArgentinaAsiya Javayant RENEWAL
Arvin U SaylorsFranceAsiya Javayant NEGOTIATION
Munro L MaletItalyAsiya Javayant QUALIFIED
Aruna K GarufiAustraliaAmy Elsner QUALIFIED
Misaki L OldroydIndiaBernardo Dominic NEW
Emily A KolmetzJapanAsiya Javayant QUALIFIED
Darci Y GarufiIndiaStephen Shaw NEW
Ivar Z DilliardJapanElwin Sharvill NEGOTIATION
Maria K RulapaughArgentinaBernardo Dominic PROPOSAL
Faith P OstroskyGermanyElwin Sharvill NEW
Emily P NickaSpainAmy Elsner NEGOTIATION
Mujtaba C RimSpainXuxue Feng QUALIFIED
Alejandro M InouyeBrazilAnna Fali NEGOTIATION
Silvio R ShinkoItalyElwin Sharvill NEGOTIATION
Juan Y ButtArgentinaAnna Fali QUALIFIED
Stacey X StockhamArgentinaAnna Fali RENEWAL
Juan J MacleadCanadaBernardo Dominic UNQUALIFIED
Wickens Q ShinkoUnited KingdomOnyama Limba QUALIFIED
Jones V MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin D AlbaresCanadaBernardo Dominic QUALIFIED
Morrow F PaprockiBrazilAnna Fali QUALIFIED
Stacey V SchemmerUnited KingdomIvan Magalhaes RENEWAL
Jennifer J FerenczBrazilIvan Magalhaes PROPOSAL
Kaitlin P StensethFranceOnyama Limba PROPOSAL
Mayumi U ButtAustraliaXuxue Feng NEGOTIATION
Deepesh S BologniaUnited KingdomAmy Elsner QUALIFIED
Morrow E SergiFranceOnyama Limba QUALIFIED
Alejandro P PaprockiSpainAmy Elsner PROPOSAL
Antonio I DilliardUnited KingdomStephen Shaw NEW
Aika R GillianRussiaStephen Shaw PROPOSAL
David P BologniaSpainAnna Fali PROPOSAL
Jones O ShinkoRussiaAsiya Javayant RENEWAL
Jennifer U CampainAustraliaBernardo Dominic PROPOSAL
Jones N VenereBrazilBernardo Dominic QUALIFIED

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