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
Greenwood L BriddickRussiaIoni Bowcher PROPOSAL
Johnson J RimSpainXuxue Feng PROPOSAL
Kadeem W GarufiBrazilXuxue Feng RENEWAL
Leon T StockhamBrazilIvan Magalhaes NEGOTIATION
Ivar Y ShinkoRussiaAmy Elsner QUALIFIED
Leon L MaletGermanyElwin Sharvill QUALIFIED
Kadeem T RulapaughItalyAsiya Javayant PROPOSAL
Deepesh E NestleUnited KingdomAnna Fali PROPOSAL
David Q GlickSpainBernardo Dominic QUALIFIED
Leon V ShinkoCanadaOnyama Limba PROPOSAL
Jeanfrancois Y CaldareraFranceAsiya Javayant UNQUALIFIED
Clifford S BowleyIndiaStephen Shaw QUALIFIED
Johnson B FollerBrazilIvan Magalhaes QUALIFIED
Isabel O MacleadAustraliaXuxue Feng QUALIFIED
Nicolas E MaletBrazilBernardo Dominic PROPOSAL
Nicolas P MarrierBrazilBernardo Dominic QUALIFIED
Aditya X SergiJapanAsiya Javayant PROPOSAL
Johnson H KuskoItalyIoni Bowcher NEW
Juan J DoeBrazilIoni Bowcher NEW
Alejandro O SaylorsRussiaAnna Fali RENEWAL
Maria R NickaItalyXuxue Feng NEGOTIATION
Johnson F KuskoArgentinaOnyama Limba UNQUALIFIED
Isabel S BowleyCanadaElwin Sharvill UNQUALIFIED
David M WieserAustraliaStephen Shaw RENEWAL
Isabel K RutaUnited KingdomXuxue Feng RENEWAL
Alejandro D PoquetteIndiaIoni Bowcher NEGOTIATION
James Y PerinJapanIvan Magalhaes QUALIFIED
Aruna Z ButtSpainElwin Sharvill PROPOSAL
Rodrigues V MaletItalyIoni Bowcher NEW
Mayumi Z AmigonRussiaAsiya Javayant NEGOTIATION
Greenwood V SchemmerSpainIoni Bowcher NEGOTIATION
Johnson Z RimGermanyAsiya Javayant NEGOTIATION
Antonio B SaylorsJapanIvan Magalhaes UNQUALIFIED
Ricardo G PerinCanadaAsiya Javayant QUALIFIED
Antonio T FollerAustraliaOnyama Limba UNQUALIFIED
Juan R GlickBrazilIoni Bowcher RENEWAL
Sinclair N VenereUnited KingdomElwin Sharvill NEW
Ashley K WaycottGermanyIvan Magalhaes UNQUALIFIED
Cody H DarakjySpainIoni Bowcher UNQUALIFIED
Francesco H StensethJapanIoni Bowcher UNQUALIFIED
Aruna N WaycottJapanOnyama Limba RENEWAL
Juan R BowleyCanadaAnna Fali NEW
Mujtaba E FlosiCanadaAnna Fali UNQUALIFIED
Aruna A ButtAustraliaIoni Bowcher NEGOTIATION
Juan Z DilliardItalyAmy Elsner NEGOTIATION
Ashley C StockhamGermanyStephen Shaw UNQUALIFIED
Mayumi W RulapaughJapanIvan Magalhaes PROPOSAL
Nicolas W VocelkaFranceBernardo Dominic NEGOTIATION
Maisha T RutaJapanStephen Shaw QUALIFIED
Jones W IturbideItalyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh X CampainIndiaIvan Magalhaes UNQUALIFIED
David Y PaprockiSpainIvan Magalhaes NEW
Rodrigues Z GillianJapanAsiya Javayant NEW
Johnson D DoeBrazilAsiya Javayant QUALIFIED
Aika Z DilliardSpainBernardo Dominic RENEWAL
Mayumi Q PoquetteJapanAmy Elsner NEW
Adams I DoeRussiaIoni Bowcher QUALIFIED
Maisha A StockhamJapanAmy Elsner UNQUALIFIED
Salvatore Y ChuiFranceAmy Elsner NEW
Greenwood M WhobreyItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody J FlosiCanada2024-05-21Dorl, James J Esq UNQUALIFIED28Asiya Javayant
1001Munro J StockhamFrance2024-05-01Chanay, Jeffrey A Esq NEGOTIATION59Bernardo Dominic
1002Stacey H SergiAustralia2024-05-09Chapman, Ross E Esq UNQUALIFIED58Ivan Magalhaes
1003Jennifer H SaylorsUnited Kingdom2024-05-04Chanay, Jeffrey A Esq RENEWAL23Stephen Shaw
1004Mayumi P SaylorsRussia2024-04-29Morlong Associates PROPOSAL47Asiya Javayant
1005Faith S TollnerIndia2024-05-13Rousseaux, Michael Esq NEW14Asiya Javayant
1006Jennifer B BowleyArgentina2024-05-24Chemel, James L Cpa NEGOTIATION43Onyama Limba
1007Silvio V FollerItaly2024-05-16Rousseaux, Michael Esq QUALIFIED99Elwin Sharvill
1008Chavez V GauchoArgentina2024-05-06Chanay, Jeffrey A Esq QUALIFIED26Stephen Shaw
1009Aika N SlusarskiCanada2024-04-28Feltz Printing Service UNQUALIFIED82Amy Elsner
1010Silvio I KolmetzSpain2024-04-27Feltz Printing Service RENEWAL15Ivan Magalhaes
1011Emily D GauchoFrance2024-05-17Truhlar And Truhlar Attys PROPOSAL47Ioni Bowcher
1012Maria Q DarakjyArgentina2024-04-28King, Christopher A Esq RENEWAL47Elwin Sharvill
1013Julie K GauchoItaly2024-05-01King, Christopher A Esq RENEWAL28Asiya Javayant
1014Kadeem Y SaylorsCanada2024-05-21King, Christopher A Esq RENEWAL32Xuxue Feng
1015Chavez C OldroydCanada2024-04-28Rangoni Of Florence QUALIFIED19Amy Elsner
1016Chavez O SergiSpain2024-05-18Rousseaux, Michael Esq UNQUALIFIED99Ioni Bowcher
1017Alejandro S FlosiAustralia2024-05-06Buckley Miller Wright NEGOTIATION78Xuxue Feng
1018Antonio L ButtAustralia2024-05-11Feltz Printing Service RENEWAL24Stephen Shaw
1019Izzy S ChuiCanada2024-05-01Rousseaux, Michael Esq PROPOSAL86Asiya Javayant
1020Mayumi E MorascaJapan2024-05-19Rousseaux, Michael Esq RENEWAL36Xuxue Feng
1021Nicolas J PoquetteRussia2024-05-16Chapman, Ross E Esq RENEWAL25Xuxue Feng
1022Sinclair G SergiFrance2024-05-16Feiner Bros RENEWAL41Onyama Limba
1023Morrow R ButtSpain2024-05-03Chapman, Ross E Esq NEGOTIATION41Asiya Javayant
1024Morrow S StockhamItaly2024-04-25King, Christopher A Esq UNQUALIFIED98Xuxue Feng
1025Silvio A RoysterArgentina2024-05-01Feltz Printing Service UNQUALIFIED41Asiya Javayant
1026Jones S RoysterBrazil2024-05-05King, Christopher A Esq PROPOSAL12Asiya Javayant
1027Mayumi Z BologniaRussia2024-05-10Commercial Press QUALIFIED64Ioni Bowcher
1028Stacey J StockhamItaly2024-05-01Rangoni Of Florence QUALIFIED92Ivan Magalhaes
1029Greenwood K SergiBrazil2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED72Ioni Bowcher
1030Jennifer E PerinIndia2024-05-21Dorl, James J Esq RENEWAL40Asiya Javayant
1031Faith V StensethBrazil2024-05-10Truhlar And Truhlar Attys PROPOSAL18Ioni Bowcher
1032Adams K VenereSpain2024-05-09Truhlar And Truhlar Attys NEW42Stephen Shaw
1033Jefferson I StensethGermany2024-04-27Morlong Associates RENEWAL5Xuxue Feng
1034Morrow K CaldareraSpain2024-05-13King, Christopher A Esq QUALIFIED79Amy Elsner
1035Morrow B RutaBrazil2024-05-21Rangoni Of Florence RENEWAL56Amy Elsner
1036Munro J GlickJapan2024-05-06Dorl, James J Esq RENEWAL55Xuxue Feng
1037Ivar D NestleSpain2024-05-24Commercial Press QUALIFIED62Onyama Limba
1038Emily R IturbideFrance2024-05-03Rangoni Of Florence RENEWAL78Stephen Shaw
1039Juan H MacleadCanada2024-05-05Truhlar And Truhlar Attys NEW68Amy Elsner
1040Izzy P PerinFrance2024-04-30Chemel, James L Cpa NEGOTIATION86Amy Elsner
1041Greenwood U GarufiGermany2024-05-23Chemel, James L Cpa NEW6Bernardo Dominic
1042Silvio X FerenczAustralia2024-05-07Feiner Bros NEW28Stephen Shaw
1043Munro M GlickGermany2024-05-16Rousseaux, Michael Esq QUALIFIED7Amy Elsner
1044Ashley Q BriddickGermany2024-04-25Dorl, James J Esq RENEWAL49Anna Fali
1045Mujtaba U MorascaArgentina2024-05-02King, Christopher A Esq QUALIFIED91Xuxue Feng
1046Julie C MarrierCanada2024-05-21Buckley Miller Wright NEGOTIATION16Bernardo Dominic
1047Faith J MarrierArgentina2024-05-19Benton, John B Jr RENEWAL9Ivan Magalhaes
1048Salvatore O AmigonJapan2024-05-08Printing Dimensions NEGOTIATION51Elwin Sharvill
1049Darci I AlbaresFrance2024-05-13Chemel, James L Cpa NEW9Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David L BowleyBrazilAnna Fali PROPOSAL
Izzy J StensethUnited KingdomElwin Sharvill NEW
Adams L SchemmerItalyIvan Magalhaes QUALIFIED
Adams G ShinkoIndiaBernardo Dominic NEGOTIATION
Julie S KolmetzRussiaStephen Shaw UNQUALIFIED
Munro W VenereGermanyOnyama Limba NEGOTIATION
Claire P TollnerBrazilElwin Sharvill PROPOSAL
Emily P DarakjyFranceIoni Bowcher UNQUALIFIED
David L SlusarskiUnited KingdomStephen Shaw QUALIFIED
Darci Y NestleItalyAsiya Javayant NEW
Isabel Y PaprockiFranceIoni Bowcher PROPOSAL
Isabel R PaprockiCanadaStephen Shaw QUALIFIED
Nicolas P GauchoBrazilAnna Fali PROPOSAL
Maria G AlbaresFranceAsiya Javayant NEGOTIATION
Ivar E MaletCanadaStephen Shaw NEW
Ashley S DilliardJapanIvan Magalhaes UNQUALIFIED
Jennifer F ButtCanadaAmy Elsner PROPOSAL
Smith L DoeSpainElwin Sharvill RENEWAL
Faith O MaletAustraliaIoni Bowcher NEGOTIATION
Emily Y PerinIndiaAsiya Javayant UNQUALIFIED
Rodrigues W ChuiRussiaAmy Elsner NEW
Murillo E GillianItalyAsiya Javayant NEW
Morrow Q WaycottSpainStephen Shaw QUALIFIED
Tony P ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens C MorascaArgentinaAmy Elsner UNQUALIFIED
Isabel J WieserArgentinaIoni Bowcher NEW
Leon G KolmetzJapanBernardo Dominic NEGOTIATION
Aditya H WaycottBrazilIoni Bowcher RENEWAL
Deepesh E NickaSpainStephen Shaw QUALIFIED
Isabel A CampainArgentinaBernardo Dominic UNQUALIFIED
Silvio J ButtCanadaBernardo Dominic QUALIFIED
Smith N MaletSpainIoni Bowcher RENEWAL
Adams R DilliardCanadaIoni Bowcher RENEWAL
Julie Q WieserJapanStephen Shaw QUALIFIED
Johnson I PaprockiFranceBernardo Dominic QUALIFIED
David B MaletCanadaIvan Magalhaes NEW
Nicolas G SergiIndiaAmy Elsner RENEWAL
Morrow F AmigonGermanyIvan Magalhaes RENEWAL
Murillo I BologniaIndiaIoni Bowcher PROPOSAL
Aditya G FigeroaRussiaStephen Shaw PROPOSAL
Francesco A MarrierAustraliaAnna Fali NEGOTIATION
Francesco T DilliardIndiaIvan Magalhaes PROPOSAL
Maisha U BologniaArgentinaStephen Shaw PROPOSAL
Aika I PoquetteRussiaIoni Bowcher RENEWAL
Francesco U RutaJapanAnna Fali QUALIFIED
Johnson Z CaudyBrazilAnna Fali RENEWAL
Sinclair B StockhamUnited KingdomAmy Elsner NEW
Arvin Q MacleadJapanBernardo Dominic NEGOTIATION
Antonio A SaylorsIndiaBernardo Dominic NEW
Faith W StockhamArgentinaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
James V Morasca
Morrow L Malet
Sinclair W Malet
Antonio U Ostrosky
Octavia F Ruta
Julie V Slusarski
Izzy F Chui
Leon R Darakjy
Deepesh H Ostrosky
Aika N Vocelka
Ivar R Waycott
James N Marrier
Murillo T Perin
Darci L Albares
Juan Q Butt
Murillo P Royster
Rodrigues O Tollner
Nicolas C Garufi
Nicolas V Caudy
Silvio W Garufi
Emily Y Stenseth
James B Saylors
Stacey B Schemmer
Juan S Royster
Claire R Stenseth
Julie J Slusarski
Aditya U Whobrey
Smith L Darakjy
Isabel M Ostrosky
Claire M Flosi
Leon U Ostrosky
Julie P Bolognia
Misaki O Malet
Morrow K Caudy
Greenwood H Marrier
Aika A Maclead
Adams M Morasca
Aditya Z Caudy
Ashley I Royster
Chavez S Stenseth
Wickens M Kusko
Ivar X Slusarski
Aruna C Tollner
Wickens O Bowley
Murillo V Ferencz
Wickens P Amigon
Adams Y Foller
Tony T Darakjy
Adams M Maclead
David R Caldarera
IdCountryDate
1000Spain2024-04-27
1001Australia2024-05-12
1002Brazil2024-05-06
1003Australia2024-04-30
1004Australia2024-04-27
1005Spain2024-04-26
1006Germany2024-05-18
1007Italy2024-05-21
1008Italy2024-05-17
1009Australia2024-05-06
1010Argentina2024-05-23
1011United Kingdom2024-05-11
1012Canada2024-05-11
1013Australia2024-05-07
1014Canada2024-05-11
1015Argentina2024-04-25
1016United Kingdom2024-05-17
1017Australia2024-05-22
1018Argentina2024-05-08
1019Russia2024-05-01
1020United Kingdom2024-05-02
1021India2024-05-01
1022Japan2024-04-26
1023Italy2024-05-02
1024Spain2024-05-23
1025Japan2024-05-16
1026Australia2024-05-24
1027Argentina2024-05-15
1028Brazil2024-05-19
1029France2024-05-13
1030Germany2024-05-18
1031France2024-04-28
1032Spain2024-05-14
1033Spain2024-05-01
1034Japan2024-05-17
1035Spain2024-04-25
1036Argentina2024-05-12
1037Japan2024-05-15
1038India2024-05-11
1039India2024-05-23
1040Russia2024-05-12
1041Argentina2024-05-24
1042Australia2024-04-28
1043France2024-04-25
1044Germany2024-05-24
1045Spain2024-05-06
1046France2024-04-27
1047Argentina2024-05-01
1048Germany2024-04-27
1049Australia2024-05-19

On-Demand Data

NameIdCountryDate
Ashley C Nicka1000Russia2024-05-21
Misaki Y Oldroyd1001Russia2024-05-05
Darci Y Vocelka1002Spain2024-05-04
Salvatore N Paprocki1003Japan2024-05-10
James J Stenseth1004Italy2024-05-03
Ricardo C Paprocki1005France2024-05-22
Faith R Bowley1006Argentina2024-04-26
Johnson O Perin1007Spain2024-05-08
Maisha X Nestle1008Argentina2024-04-26
Jennifer I Malet1009Germany2024-05-03
Nicolas L Ferencz1010Russia2024-05-23
Kadeem W Nestle1011Spain2024-05-10
David F Sergi1012Argentina2024-04-29
Leon O Campain1013Argentina2024-05-18
Faith W Inouye1014France2024-05-05
Cody M Slusarski1015Australia2024-04-27
Arvin Z Perin1016Italy2024-04-25
Misaki I Garufi1017Italy2024-05-06
Sinclair X Perin1018Argentina2024-05-17
Darci R Whobrey1019United Kingdom2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja W SaylorsJapanStephen Shaw NEW
Tony L VocelkaSpainXuxue Feng QUALIFIED
Kaitlin B DoeIndiaIvan Magalhaes QUALIFIED
Nicolas G ChuiUnited KingdomStephen Shaw RENEWAL
Smith V SergiRussiaAsiya Javayant QUALIFIED
Clifford F KuskoGermanyAnna Fali NEW
Costa V RimUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford C ShinkoCanadaAmy Elsner PROPOSAL
Claire M AlbaresCanadaIoni Bowcher NEW
Alejandro L DilliardArgentinaIvan Magalhaes NEGOTIATION
Juan T FerenczFranceIvan Magalhaes QUALIFIED
Izzy C VocelkaRussiaStephen Shaw NEGOTIATION
Greenwood I SchemmerAustraliaIvan Magalhaes QUALIFIED
Kaitlin A PerinCanadaStephen Shaw UNQUALIFIED
Mayumi G AmigonCanadaElwin Sharvill QUALIFIED
Maisha J KuskoUnited KingdomElwin Sharvill RENEWAL
Jefferson D BriddickBrazilElwin Sharvill PROPOSAL
Leon Q FlosiItalyAmy Elsner NEGOTIATION
Julie S MacleadGermanyIvan Magalhaes NEGOTIATION
Aika I CampainJapanElwin Sharvill UNQUALIFIED
Kadeem J AmigonGermanyElwin Sharvill RENEWAL
Smith W SchemmerFranceIvan Magalhaes NEGOTIATION
Johnson T PoquetteFranceAmy Elsner RENEWAL
Emily H BriddickBrazilBernardo Dominic QUALIFIED
Smith K SchemmerGermanyOnyama Limba NEGOTIATION
Isabel R SaylorsIndiaIoni Bowcher PROPOSAL
Sinclair V OldroydJapanIvan Magalhaes UNQUALIFIED
Francesco T InouyeFranceOnyama Limba UNQUALIFIED
Mayumi T GarufiArgentinaStephen Shaw NEGOTIATION
Morrow X CaudyArgentinaOnyama Limba NEW
Emily W GauchoFranceIoni Bowcher UNQUALIFIED
Kaitlin J DilliardRussiaOnyama Limba NEW
Octavia Y ChuiRussiaAnna Fali QUALIFIED
Ivar A RutaBrazilAmy Elsner RENEWAL
Leja A ShinkoJapanIoni Bowcher RENEWAL
Deepesh L PaprockiRussiaBernardo Dominic NEGOTIATION
Julie O RutaFranceAnna Fali RENEWAL
Arvin T VenereUnited KingdomBernardo Dominic NEGOTIATION
Antonio M NickaBrazilOnyama Limba NEGOTIATION
Kadeem E BriddickAustraliaAnna Fali RENEWAL

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