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
Kaitlin Q StockhamArgentinaStephen Shaw UNQUALIFIED
Darci R InouyeRussiaElwin Sharvill UNQUALIFIED
Clifford C RoysterSpainAnna Fali PROPOSAL
Aruna Z DoeArgentinaElwin Sharvill PROPOSAL
Faith R CaudyFranceXuxue Feng PROPOSAL
Jefferson K MacleadBrazilAsiya Javayant UNQUALIFIED
Morrow M FerenczJapanOnyama Limba QUALIFIED
Aika F PoquetteJapanAsiya Javayant NEW
Chavez P TollnerFranceIoni Bowcher NEW
Mayumi D FollerCanadaAnna Fali QUALIFIED
Murillo O NickaFranceElwin Sharvill PROPOSAL
Jeanfrancois U MacleadJapanIvan Magalhaes RENEWAL
Mayumi Y CampainSpainBernardo Dominic NEW
Ricardo I PoquetteSpainAsiya Javayant QUALIFIED
Juan Y StensethAustraliaIvan Magalhaes UNQUALIFIED
Jones Y AlbaresJapanBernardo Dominic QUALIFIED
Chavez Q AlbaresUnited KingdomStephen Shaw PROPOSAL
Maisha W OstroskyRussiaIvan Magalhaes QUALIFIED
Juan W WieserRussiaElwin Sharvill UNQUALIFIED
Ricardo T KolmetzSpainBernardo Dominic NEGOTIATION
Alejandro H BowleyRussiaOnyama Limba UNQUALIFIED
Kadeem B MacleadGermanyIoni Bowcher PROPOSAL
Mayumi A NickaSpainIoni Bowcher UNQUALIFIED
Jefferson O StensethRussiaAsiya Javayant NEW
Johnson U ChuiArgentinaIoni Bowcher NEGOTIATION
Kadeem L PerinRussiaAnna Fali QUALIFIED
Izzy E GlickUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois R RoysterRussiaElwin Sharvill UNQUALIFIED
Aika B SlusarskiBrazilAnna Fali NEW
Jones R WaycottArgentinaXuxue Feng QUALIFIED
Ricardo N MaletGermanyAnna Fali NEGOTIATION
Leja M WaycottIndiaIvan Magalhaes NEW
Antonio B MarrierIndiaBernardo Dominic QUALIFIED
Stacey I VenereGermanyAmy Elsner QUALIFIED
Arvin Q PerinUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois F MaletJapanOnyama Limba RENEWAL
Darci K IturbideJapanStephen Shaw RENEWAL
Ashley W PaprockiAustraliaStephen Shaw NEW
Aika E OldroydArgentinaOnyama Limba NEGOTIATION
Munro U DoeFranceStephen Shaw PROPOSAL
Antonio S CaudyCanadaAnna Fali UNQUALIFIED
Claire A GillianCanadaStephen Shaw UNQUALIFIED
Chavez P SlusarskiUnited KingdomAmy Elsner PROPOSAL
David O ButtItalyBernardo Dominic QUALIFIED
Jeanfrancois H AlbaresSpainIoni Bowcher NEGOTIATION
Jones L ChuiAustraliaAnna Fali PROPOSAL
Darci T BriddickItalyAnna Fali NEW
Aditya C ButtRussiaXuxue Feng NEW
Mujtaba M IturbideJapanIoni Bowcher NEW
Juan J GauchoArgentinaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley E MacleadIndiaIoni Bowcher PROPOSAL
Salvatore E WieserArgentinaElwin Sharvill QUALIFIED
Nicolas X RoysterAustraliaOnyama Limba NEW
James D WieserIndiaAnna Fali RENEWAL
Isabel Y FerenczRussiaOnyama Limba PROPOSAL
Jeanfrancois M FerenczUnited KingdomStephen Shaw RENEWAL
Salvatore U PoquetteAustraliaElwin Sharvill RENEWAL
Ricardo G MaletArgentinaXuxue Feng PROPOSAL
Wickens A NestleIndiaIoni Bowcher UNQUALIFIED
Johnson J DoeRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha J RoysterJapan2024-06-06Chemel, James L Cpa PROPOSAL37Onyama Limba
1001Clifford X WhobreyItaly2024-06-10Feltz Printing Service NEW63Ivan Magalhaes
1002Salvatore C SchemmerArgentina2024-05-25Benton, John B Jr UNQUALIFIED63Stephen Shaw
1003Alejandro A MaletArgentina2024-05-24Printing Dimensions QUALIFIED80Elwin Sharvill
1004Mayumi H WhobreyItaly2024-06-04Buckley Miller Wright UNQUALIFIED16Elwin Sharvill
1005Julie R MarrierRussia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED16Anna Fali
1006Chavez M ChuiAustralia2024-06-19Dorl, James J Esq RENEWAL51Onyama Limba
1007Adams K BowleyRussia2024-06-11Rangoni Of Florence RENEWAL42Asiya Javayant
1008Isabel K BriddickArgentina2024-06-14Chanay, Jeffrey A Esq PROPOSAL46Asiya Javayant
1009Deepesh G NestleJapan2024-06-14Rangoni Of Florence NEGOTIATION25Ioni Bowcher
1010Morrow E GlickFrance2024-06-07Printing Dimensions NEW19Bernardo Dominic
1011Salvatore Q InouyeUnited Kingdom2024-06-12Chapman, Ross E Esq PROPOSAL72Bernardo Dominic
1012Johnson N SchemmerGermany2024-06-04Morlong Associates NEGOTIATION3Bernardo Dominic
1013Adams D OstroskySpain2024-05-26Truhlar And Truhlar Attys NEW73Asiya Javayant
1014Ivar W FollerSpain2024-06-09Buckley Miller Wright QUALIFIED49Onyama Limba
1015Juan A DoeRussia2024-06-15Morlong Associates PROPOSAL41Ivan Magalhaes
1016Mayumi F MaletSpain2024-06-03Chemel, James L Cpa QUALIFIED64Onyama Limba
1017Octavia N StensethCanada2024-06-01Morlong Associates RENEWAL75Elwin Sharvill
1018Jones J MorascaIndia2024-06-04Printing Dimensions UNQUALIFIED2Ivan Magalhaes
1019Greenwood A MacleadGermany2024-06-06King, Christopher A Esq NEGOTIATION17Ioni Bowcher
1020Darci E SergiAustralia2024-06-02Commercial Press NEGOTIATION65Anna Fali
1021Silvio D AmigonSpain2024-06-05Commercial Press PROPOSAL69Asiya Javayant
1022James H PaprockiRussia2024-06-22Morlong Associates NEW47Ioni Bowcher
1023Nicolas U SaylorsSpain2024-06-07Truhlar And Truhlar Attys PROPOSAL42Stephen Shaw
1024Silvio K RimAustralia2024-06-01Feltz Printing Service NEW43Ioni Bowcher
1025Ricardo X GlickArgentina2024-05-28Feiner Bros NEGOTIATION26Asiya Javayant
1026James E DilliardAustralia2024-06-18Commercial Press QUALIFIED91Amy Elsner
1027Stacey A KolmetzFrance2024-06-16Chanay, Jeffrey A Esq NEGOTIATION78Asiya Javayant
1028Jeanfrancois I DoeItaly2024-06-09Chemel, James L Cpa NEGOTIATION61Bernardo Dominic
1029Francesco J KolmetzGermany2024-06-20Commercial Press RENEWAL35Ioni Bowcher
1030Costa Z WhobreyJapan2024-06-20Rousseaux, Michael Esq NEW34Asiya Javayant
1031Sinclair B SchemmerBrazil2024-05-28Feiner Bros NEW6Stephen Shaw
1032Stacey E GarufiJapan2024-06-08Rangoni Of Florence NEW19Asiya Javayant
1033Jeanfrancois G FlosiGermany2024-06-13Printing Dimensions UNQUALIFIED84Anna Fali
1034Chavez R OldroydFrance2024-06-21Rangoni Of Florence NEGOTIATION26Xuxue Feng
1035Emily G GillianItaly2024-06-06Printing Dimensions NEGOTIATION8Asiya Javayant
1036Jones A GauchoItaly2024-06-20Feiner Bros NEGOTIATION55Anna Fali
1037Stacey B CampainIndia2024-06-22Printing Dimensions RENEWAL65Asiya Javayant
1038Claire V RimUnited Kingdom2024-06-18Rousseaux, Michael Esq RENEWAL27Stephen Shaw
1039Silvio Q GauchoRussia2024-06-20King, Christopher A Esq RENEWAL99Asiya Javayant
1040Maisha D WieserArgentina2024-06-10Benton, John B Jr RENEWAL81Elwin Sharvill
1041Sinclair G SergiSpain2024-06-01Chanay, Jeffrey A Esq QUALIFIED84Anna Fali
1042Antonio W WhobreyAustralia2024-06-11Chanay, Jeffrey A Esq NEW28Stephen Shaw
1043Mayumi I WieserBrazil2024-05-26Feiner Bros RENEWAL91Xuxue Feng
1044Darci L RimRussia2024-06-07Dorl, James J Esq PROPOSAL7Bernardo Dominic
1045Costa K FollerGermany2024-06-12Commercial Press NEW24Onyama Limba
1046Smith E DoeIndia2024-06-02Chemel, James L Cpa UNQUALIFIED95Ioni Bowcher
1047Claire U MorascaSpain2024-06-22Dorl, James J Esq NEGOTIATION22Onyama Limba
1048Misaki A TollnerRussia2024-06-15Morlong Associates UNQUALIFIED47Bernardo Dominic
1049Alejandro S NickaCanada2024-05-27Truhlar And Truhlar Attys RENEWAL9Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Salvatore D AmigonBrazilXuxue Feng PROPOSAL
Julie K WhobreyIndiaOnyama Limba NEW
Clifford U WhobreyCanadaXuxue Feng UNQUALIFIED
Cody A BriddickFranceIvan Magalhaes UNQUALIFIED
Octavia V PaprockiIndiaBernardo Dominic PROPOSAL
Jefferson T AmigonCanadaIvan Magalhaes RENEWAL
Deepesh P FigeroaArgentinaIoni Bowcher NEW
Smith U MaletUnited KingdomAnna Fali PROPOSAL
Aditya O ShinkoBrazilStephen Shaw PROPOSAL
Misaki P TollnerFranceElwin Sharvill NEW
Wickens G PaprockiItalyAnna Fali PROPOSAL
Claire H AlbaresFranceAnna Fali NEGOTIATION
Cody E PoquetteGermanyStephen Shaw PROPOSAL
Aruna K DarakjyUnited KingdomAsiya Javayant QUALIFIED
Jefferson A PoquetteItalyXuxue Feng UNQUALIFIED
Alejandro A CaldareraRussiaBernardo Dominic QUALIFIED
Sinclair A PaprockiIndiaStephen Shaw PROPOSAL
Claire J PoquetteAustraliaStephen Shaw NEGOTIATION
Mujtaba Z MaletItalyAmy Elsner RENEWAL
Chavez J MarrierRussiaIoni Bowcher PROPOSAL
Mayumi W MaletArgentinaXuxue Feng QUALIFIED
Leon F CaudyBrazilElwin Sharvill QUALIFIED
Isabel H ShinkoCanadaElwin Sharvill QUALIFIED
Kadeem Q GillianAustraliaIvan Magalhaes RENEWAL
Aditya F ShinkoFranceAnna Fali UNQUALIFIED
Johnson H MacleadIndiaOnyama Limba RENEWAL
James N MacleadSpainXuxue Feng NEW
Jones I MorascaSpainElwin Sharvill NEGOTIATION
Aika H WaycottRussiaAmy Elsner NEGOTIATION
Arvin J MaletGermanyOnyama Limba RENEWAL
Jeanfrancois R RoysterJapanAsiya Javayant QUALIFIED
Isabel J ShinkoSpainAsiya Javayant PROPOSAL
Morrow J MarrierFranceAmy Elsner QUALIFIED
Clifford T BologniaAustraliaIvan Magalhaes QUALIFIED
Kaitlin X FigeroaIndiaIoni Bowcher UNQUALIFIED
Leja Y NickaFranceAmy Elsner QUALIFIED
Kaitlin B CaudyItalyStephen Shaw PROPOSAL
Mayumi N OstroskyCanadaIoni Bowcher NEW
Maisha G VenereBrazilStephen Shaw UNQUALIFIED
Sinclair S BowleyAustraliaIoni Bowcher PROPOSAL
Ivar G GarufiBrazilStephen Shaw RENEWAL
Isabel X AmigonAustraliaAnna Fali NEW
Deepesh C StensethRussiaAsiya Javayant RENEWAL
Aruna M TollnerSpainIoni Bowcher PROPOSAL
Maisha O GarufiUnited KingdomOnyama Limba NEGOTIATION
Sinclair K WieserIndiaAsiya Javayant UNQUALIFIED
Leja P FollerFranceAmy Elsner QUALIFIED
Sinclair C KuskoAustraliaElwin Sharvill UNQUALIFIED
Aditya X AmigonFranceElwin Sharvill NEGOTIATION
Murillo A VocelkaBrazilOnyama Limba QUALIFIED
Frozen Columns
Name
Ricardo M Slusarski
Cody W Dilliard
Ricardo X Ruta
Julie O Figeroa
Ashley Y Figeroa
Salvatore Y Chui
Misaki R Vocelka
Munro Z Bolognia
Izzy I Schemmer
Morrow M Stockham
Chavez H Stockham
Emily L Shinko
Deepesh Y Kolmetz
Morrow Y Slusarski
Sinclair D Nicka
Jennifer A Ostrosky
Jefferson S Poquette
Ricardo I Malet
Misaki V Flosi
Arvin G Dilliard
Stacey F Sergi
Chavez A Waycott
Emily H Chui
Aika Q Ferencz
Ricardo B Poquette
Ashley W Marrier
Mayumi S Rim
Emily D Marrier
Arvin Z Briddick
Aditya Y Figeroa
Leon G Nicka
Mujtaba S Inouye
Chavez H Poquette
Leon I Malet
Stacey B Paprocki
Julie D Vocelka
Aditya K Venere
Stacey N Stockham
Maria Y Kusko
Chavez P Campain
Jones C Ostrosky
Jennifer A Kusko
Mujtaba G Garufi
Jeanfrancois T Bolognia
Sinclair M Gillian
Emily J Briddick
Aruna A Glick
Stacey Z Ruta
Misaki F Schemmer
Jennifer N Nestle
IdCountryDate
1000India2024-06-18
1001Brazil2024-06-03
1002United Kingdom2024-05-29
1003Argentina2024-06-20
1004France2024-06-17
1005India2024-05-27
1006Spain2024-06-08
1007Russia2024-06-22
1008Germany2024-06-19
1009India2024-05-25
1010France2024-06-14
1011France2024-06-08
1012Brazil2024-06-12
1013Japan2024-06-10
1014Russia2024-06-13
1015India2024-05-31
1016India2024-05-29
1017Argentina2024-06-20
1018Argentina2024-06-03
1019Brazil2024-06-10
1020Argentina2024-06-13
1021Australia2024-06-21
1022Canada2024-06-20
1023Argentina2024-06-12
1024United Kingdom2024-06-18
1025Brazil2024-06-07
1026United Kingdom2024-06-21
1027Russia2024-06-10
1028India2024-06-04
1029Brazil2024-06-04
1030Italy2024-05-24
1031Australia2024-05-31
1032United Kingdom2024-05-24
1033Argentina2024-06-08
1034Australia2024-05-29
1035Japan2024-05-27
1036United Kingdom2024-05-30
1037France2024-06-15
1038Japan2024-06-03
1039Italy2024-06-08
1040Brazil2024-06-03
1041Italy2024-06-21
1042Germany2024-06-20
1043Germany2024-05-30
1044Germany2024-06-11
1045Russia2024-06-01
1046United Kingdom2024-06-08
1047Russia2024-06-10
1048United Kingdom2024-06-19
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
Morrow I Figeroa1000Italy2024-06-06
Leja N Dilliard1001Spain2024-06-05
Mujtaba Z Doe1002India2024-05-26
Julie I Malet1003Russia2024-05-31
Darci M Dilliard1004Japan2024-05-26
Emily W Paprocki1005Australia2024-06-19
Juan A Venere1006Australia2024-06-13
Tony M Inouye1007United Kingdom2024-05-25
James T Schemmer1008Germany2024-05-24
Nicolas U Doe1009United Kingdom2024-05-26
Francesco A Campain1010Canada2024-05-31
Mayumi M Slusarski1011Italy2024-06-11
Tony B Amigon1012Brazil2024-06-09
Kadeem I Chui1013Brazil2024-06-03
Aruna F Amigon1014Canada2024-06-20
Kadeem H Caudy1015Spain2024-06-06
Morrow Z Inouye1016Australia2024-05-27
Emily D Waycott1017Spain2024-05-26
Johnson V Saylors1018Russia2024-05-26
Nicolas B Darakjy1019Brazil2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba S KolmetzItalyAnna Fali UNQUALIFIED
Emily X BowleyGermanyOnyama Limba QUALIFIED
Isabel U RimFranceXuxue Feng PROPOSAL
Juan S CaldareraCanadaBernardo Dominic QUALIFIED
Wickens L ChuiBrazilOnyama Limba NEW
Juan W KuskoUnited KingdomAsiya Javayant RENEWAL
Jefferson G MacleadFranceIvan Magalhaes QUALIFIED
Sinclair Q DoeUnited KingdomAsiya Javayant PROPOSAL
David E OstroskyRussiaStephen Shaw NEGOTIATION
Jefferson E CaudyCanadaBernardo Dominic PROPOSAL
Wickens X KuskoUnited KingdomXuxue Feng PROPOSAL
Faith X MaletArgentinaAnna Fali QUALIFIED
Silvio H PaprockiFranceElwin Sharvill QUALIFIED
Chavez S SergiGermanyAnna Fali UNQUALIFIED
Johnson C RimJapanBernardo Dominic NEW
Aika W BowleyCanadaAmy Elsner QUALIFIED
Morrow V AlbaresFranceIoni Bowcher PROPOSAL
Kaitlin Y MaletArgentinaAnna Fali QUALIFIED
Smith C TollnerGermanyOnyama Limba NEW
Aruna R RimItalyAmy Elsner RENEWAL
Julie M FigeroaArgentinaXuxue Feng NEGOTIATION
Darci N RimSpainIvan Magalhaes PROPOSAL
Stacey S GarufiSpainXuxue Feng QUALIFIED
Salvatore Z GarufiGermanyIvan Magalhaes NEW
Aika G CampainRussiaOnyama Limba PROPOSAL
Arvin G FigeroaItalyBernardo Dominic NEW
Sinclair S RimFranceIvan Magalhaes QUALIFIED
Silvio R DoeAustraliaAmy Elsner RENEWAL
Morrow J WaycottIndiaXuxue Feng QUALIFIED
Murillo T RutaCanadaBernardo Dominic QUALIFIED
Costa V PaprockiArgentinaStephen Shaw RENEWAL
Aditya U DilliardAustraliaAsiya Javayant QUALIFIED
Maria G StensethFranceBernardo Dominic PROPOSAL
Rodrigues X SchemmerJapanElwin Sharvill NEGOTIATION
Johnson B FerenczUnited KingdomIvan Magalhaes NEW
Aditya I GillianSpainXuxue Feng NEW
Nicolas I FollerAustraliaAmy Elsner RENEWAL
Murillo V WaycottAustraliaAmy Elsner PROPOSAL
Leja H NestleItalyElwin Sharvill RENEWAL
Smith R SchemmerIndiaBernardo 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>