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
Ivar X AlbaresCanadaIvan Magalhaes RENEWAL
Stacey G BologniaArgentinaStephen Shaw UNQUALIFIED
David X NickaSpainStephen Shaw RENEWAL
Leon W OldroydBrazilXuxue Feng QUALIFIED
Rodrigues J PerinAustraliaXuxue Feng PROPOSAL
Julie Y PoquetteIndiaIoni Bowcher NEGOTIATION
Misaki S BowleyJapanIoni Bowcher PROPOSAL
Nicolas K BowleyArgentinaOnyama Limba NEGOTIATION
Claire E StensethUnited KingdomAnna Fali NEGOTIATION
Clifford T AlbaresBrazilIvan Magalhaes NEGOTIATION
Misaki H OstroskyUnited KingdomAmy Elsner PROPOSAL
Julie V MaletRussiaOnyama Limba RENEWAL
Jefferson J CaldareraArgentinaIvan Magalhaes NEGOTIATION
Rodrigues W TollnerIndiaAnna Fali NEW
Antonio O DilliardFranceAmy Elsner NEW
James W DoeJapanElwin Sharvill NEW
Aika Q DoeArgentinaOnyama Limba NEGOTIATION
Morrow Y IturbideJapanIvan Magalhaes RENEWAL
Antonio D FigeroaGermanyElwin Sharvill QUALIFIED
Wickens F FigeroaSpainAmy Elsner PROPOSAL
Wickens K BologniaRussiaXuxue Feng UNQUALIFIED
Kaitlin Z PerinUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin X WhobreyCanadaIoni Bowcher NEW
Murillo V StockhamCanadaXuxue Feng NEGOTIATION
Aruna R RoysterRussiaAnna Fali RENEWAL
Leon I NickaBrazilIoni Bowcher QUALIFIED
Juan I StockhamBrazilBernardo Dominic PROPOSAL
Izzy U FollerJapanAsiya Javayant QUALIFIED
Faith F MaletGermanyIoni Bowcher PROPOSAL
Izzy Z DilliardUnited KingdomAmy Elsner RENEWAL
Silvio T NickaGermanyBernardo Dominic NEGOTIATION
Adams Q BriddickUnited KingdomXuxue Feng UNQUALIFIED
Julie M PaprockiJapanIvan Magalhaes NEGOTIATION
Mujtaba R WaycottArgentinaAsiya Javayant UNQUALIFIED
Misaki N FollerBrazilAsiya Javayant UNQUALIFIED
Octavia A GlickCanadaElwin Sharvill NEW
Izzy X DoeIndiaBernardo Dominic NEW
Costa R ShinkoSpainBernardo Dominic QUALIFIED
Nicolas S MacleadJapanStephen Shaw UNQUALIFIED
Greenwood N FerenczUnited KingdomStephen Shaw NEGOTIATION
Juan A NestleArgentinaOnyama Limba RENEWAL
Maisha O FerenczCanadaOnyama Limba PROPOSAL
Salvatore G SergiFranceAmy Elsner QUALIFIED
Ricardo A FlosiArgentinaStephen Shaw QUALIFIED
David B IturbideAustraliaAsiya Javayant QUALIFIED
Wickens T NickaAustraliaOnyama Limba NEGOTIATION
Francesco Z FlosiRussiaElwin Sharvill NEW
Ashley Q MaletGermanyBernardo Dominic QUALIFIED
Morrow E MaletBrazilElwin Sharvill QUALIFIED
Cody O CaldareraJapanIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro D WhobreyRussiaIoni Bowcher QUALIFIED
Mayumi J BologniaAustraliaIvan Magalhaes UNQUALIFIED
Kadeem F ChuiAustraliaIoni Bowcher RENEWAL
Isabel N SaylorsFranceBernardo Dominic RENEWAL
Kadeem H SaylorsUnited KingdomXuxue Feng QUALIFIED
Claire C GauchoArgentinaStephen Shaw QUALIFIED
Maisha F NestleItalyElwin Sharvill NEW
James X OldroydJapanIoni Bowcher NEW
Jefferson D FerenczFranceAnna Fali NEGOTIATION
Munro Z RutaIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco N InouyeBrazil2024-06-02Truhlar And Truhlar Attys QUALIFIED28Elwin Sharvill
1001Francesco W SergiUnited Kingdom2024-05-25Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1002Silvio F FigeroaBrazil2024-06-18Commercial Press QUALIFIED61Elwin Sharvill
1003Ricardo G OstroskyFrance2024-06-05King, Christopher A Esq UNQUALIFIED31Anna Fali
1004Costa I NickaBrazil2024-06-21Feiner Bros PROPOSAL19Amy Elsner
1005Munro C SaylorsCanada2024-06-08Printing Dimensions QUALIFIED35Xuxue Feng
1006Wickens Y FerenczGermany2024-06-12Feltz Printing Service NEW30Bernardo Dominic
1007Antonio N NestleAustralia2024-06-15Benton, John B Jr UNQUALIFIED48Asiya Javayant
1008Izzy E FollerFrance2024-06-02Rangoni Of Florence QUALIFIED68Bernardo Dominic
1009Stacey N FlosiCanada2024-06-12Chapman, Ross E Esq RENEWAL63Stephen Shaw
1010Stacey B GillianIndia2024-06-19Benton, John B Jr PROPOSAL22Anna Fali
1011Aditya Y DarakjyRussia2024-05-26Chanay, Jeffrey A Esq PROPOSAL11Onyama Limba
1012Isabel B MorascaArgentina2024-06-10Rousseaux, Michael Esq QUALIFIED29Anna Fali
1013Aruna V DoeRussia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED38Onyama Limba
1014Deepesh Z MacleadSpain2024-06-10Benton, John B Jr QUALIFIED33Ioni Bowcher
1015Kaitlin C RutaSpain2024-06-20Rousseaux, Michael Esq NEGOTIATION66Anna Fali
1016Rodrigues C IturbideJapan2024-06-12Chapman, Ross E Esq PROPOSAL58Ioni Bowcher
1017Morrow V DoeRussia2024-06-17Dorl, James J Esq NEGOTIATION31Ivan Magalhaes
1018David F FlosiFrance2024-06-11Chapman, Ross E Esq NEGOTIATION65Onyama Limba
1019Salvatore F KolmetzRussia2024-05-27Benton, John B Jr QUALIFIED93Asiya Javayant
1020Leon P SaylorsIndia2024-06-10King, Christopher A Esq RENEWAL45Xuxue Feng
1021Salvatore K WhobreyCanada2024-05-26Feiner Bros UNQUALIFIED31Xuxue Feng
1022Clifford T DarakjyIndia2024-05-25Morlong Associates NEW1Amy Elsner
1023Misaki E RulapaughArgentina2024-05-24Benton, John B Jr RENEWAL5Ioni Bowcher
1024Juan B MacleadJapan2024-06-15Buckley Miller Wright PROPOSAL44Stephen Shaw
1025Mayumi Y TollnerSpain2024-06-17Chemel, James L Cpa NEGOTIATION4Ioni Bowcher
1026Faith B FlosiRussia2024-06-21Truhlar And Truhlar Attys UNQUALIFIED7Xuxue Feng
1027Julie E SlusarskiUnited Kingdom2024-05-31Commercial Press UNQUALIFIED87Amy Elsner
1028Jennifer U RimGermany2024-05-31Printing Dimensions RENEWAL84Bernardo Dominic
1029Sinclair X BriddickIndia2024-06-11Feltz Printing Service NEW96Xuxue Feng
1030Kaitlin Q ButtItaly2024-06-15Buckley Miller Wright UNQUALIFIED45Amy Elsner
1031Jefferson O PaprockiRussia2024-06-12Chemel, James L Cpa QUALIFIED42Amy Elsner
1032Murillo M ShinkoSpain2024-06-03Chapman, Ross E Esq QUALIFIED62Bernardo Dominic
1033Kadeem E RimItaly2024-06-01Commercial Press RENEWAL66Stephen Shaw
1034Jeanfrancois S DarakjySpain2024-06-15Chanay, Jeffrey A Esq PROPOSAL90Xuxue Feng
1035Cody H BriddickGermany2024-06-21Feltz Printing Service RENEWAL67Elwin Sharvill
1036Ashley V IturbideUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL31Asiya Javayant
1037Greenwood C WaycottFrance2024-05-30Dorl, James J Esq PROPOSAL48Amy Elsner
1038Jennifer E VenereItaly2024-06-17Commercial Press PROPOSAL28Xuxue Feng
1039Juan C RulapaughFrance2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED57Amy Elsner
1040Ashley L GauchoRussia2024-05-24Truhlar And Truhlar Attys NEGOTIATION35Elwin Sharvill
1041Ashley P DarakjyAustralia2024-06-15Morlong Associates RENEWAL0Ivan Magalhaes
1042Kadeem Y NickaCanada2024-06-03Chemel, James L Cpa NEGOTIATION15Onyama Limba
1043Misaki N NickaIndia2024-06-18Chanay, Jeffrey A Esq PROPOSAL17Ivan Magalhaes
1044Chavez F AmigonGermany2024-06-21Chemel, James L Cpa RENEWAL95Xuxue Feng
1045Costa T FigeroaJapan2024-05-26Benton, John B Jr QUALIFIED4Xuxue Feng
1046Jeanfrancois M WieserFrance2024-06-09Rangoni Of Florence NEW94Stephen Shaw
1047Ricardo W VenereFrance2024-06-01Chanay, Jeffrey A Esq PROPOSAL65Amy Elsner
1048Cody U NickaUnited Kingdom2024-05-25Rousseaux, Michael Esq UNQUALIFIED31Onyama Limba
1049Greenwood C DarakjyBrazil2024-06-11Feiner Bros NEW15Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jones R GauchoGermanyXuxue Feng UNQUALIFIED
Aruna R KolmetzIndiaElwin Sharvill UNQUALIFIED
Emily K PoquetteFranceXuxue Feng PROPOSAL
Jones R GauchoJapanAmy Elsner NEGOTIATION
Greenwood A OstroskyArgentinaOnyama Limba NEW
Leja K KuskoAustraliaOnyama Limba NEGOTIATION
Isabel Q KolmetzSpainIvan Magalhaes RENEWAL
Nicolas I WhobreyCanadaIoni Bowcher UNQUALIFIED
Maria G BowleyRussiaBernardo Dominic UNQUALIFIED
Adams F OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Costa Y MaletBrazilElwin Sharvill RENEWAL
Mujtaba N KuskoGermanyAnna Fali QUALIFIED
Aditya W OstroskyUnited KingdomIoni Bowcher NEW
Mayumi X CampainFranceOnyama Limba QUALIFIED
Aditya T CampainGermanyIoni Bowcher RENEWAL
Jones A IturbideSpainAnna Fali QUALIFIED
Claire B ChuiIndiaBernardo Dominic NEGOTIATION
Adams V FerenczSpainAnna Fali NEW
Morrow P PoquetteIndiaAsiya Javayant NEGOTIATION
Isabel C GillianBrazilAmy Elsner UNQUALIFIED
Francesco T AmigonJapanIvan Magalhaes PROPOSAL
Munro Z PoquetteArgentinaAnna Fali QUALIFIED
Faith I MarrierAustraliaAsiya Javayant NEW
Emily D MaletRussiaIvan Magalhaes NEGOTIATION
Leon S RulapaughItalyStephen Shaw NEGOTIATION
Kadeem E NestleSpainOnyama Limba UNQUALIFIED
Juan O PerinGermanyXuxue Feng QUALIFIED
Juan I StockhamSpainOnyama Limba UNQUALIFIED
Smith N MorascaArgentinaIoni Bowcher PROPOSAL
Chavez D BowleyIndiaIoni Bowcher PROPOSAL
Silvio C StensethSpainIvan Magalhaes NEW
Greenwood N OstroskyJapanAnna Fali PROPOSAL
Jeanfrancois T WhobreyCanadaIvan Magalhaes UNQUALIFIED
Johnson Q KolmetzCanadaAmy Elsner UNQUALIFIED
Kaitlin T DilliardAustraliaAmy Elsner NEW
Ivar K IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Ivar A PoquetteSpainOnyama Limba RENEWAL
Arvin X SlusarskiFranceElwin Sharvill RENEWAL
Munro Y MaletJapanIoni Bowcher QUALIFIED
Smith B PerinItalyXuxue Feng NEW
Cody K NestleIndiaStephen Shaw PROPOSAL
Greenwood X FlosiCanadaXuxue Feng QUALIFIED
Silvio F RoysterRussiaIoni Bowcher NEW
Arvin Z GlickGermanyBernardo Dominic QUALIFIED
Jennifer B CaldareraIndiaIvan Magalhaes UNQUALIFIED
Greenwood G PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois Q DoeItalyIoni Bowcher NEGOTIATION
Faith B CaudyAustraliaXuxue Feng QUALIFIED
Clifford V KolmetzRussiaAsiya Javayant RENEWAL
Silvio S KolmetzRussiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Ashley X Glick
Mujtaba S Gaucho
Ivar M Figeroa
Julie T Rim
Darci T Malet
Smith O Dilliard
Munro R Darakjy
Izzy H Slusarski
Alejandro X Malet
Deepesh S Ferencz
Alejandro L Royster
Wickens F Figeroa
Juan J Whobrey
Izzy R Ostrosky
Nicolas A Briddick
Jeanfrancois J Slusarski
Costa B Rulapaugh
Emily E Poquette
Silvio A Tollner
Aditya I Glick
Ivar W Inouye
Mayumi F Bolognia
Arvin Q Dilliard
Jones C Stenseth
Johnson B Iturbide
Deepesh Z Ferencz
David P Nicka
David Q Wieser
Jennifer F Iturbide
Izzy U Gillian
Jeanfrancois S Perin
Nicolas C Foller
Faith M Caudy
Cody Q Perin
Aruna G Royster
Kadeem T Malet
Costa I Briddick
Cody H Saylors
Stacey S Rulapaugh
Leja D Rim
Leon L Chui
Aditya S Glick
Johnson U Bowley
Aditya A Kusko
Sinclair Z Flosi
Munro G Marrier
Morrow D Venere
Misaki J Briddick
Juan U Kolmetz
Silvio T Briddick
IdCountryDate
1000Russia2024-05-29
1001Australia2024-06-05
1002Canada2024-06-16
1003United Kingdom2024-06-06
1004Spain2024-06-01
1005Brazil2024-06-20
1006Germany2024-06-21
1007Germany2024-06-12
1008Germany2024-05-24
1009Italy2024-06-18
1010Italy2024-06-15
1011Germany2024-06-02
1012Italy2024-06-14
1013Spain2024-06-01
1014Spain2024-06-09
1015Spain2024-06-15
1016Germany2024-06-05
1017Italy2024-05-30
1018India2024-05-23
1019Japan2024-06-11
1020United Kingdom2024-05-23
1021Spain2024-06-20
1022India2024-06-17
1023Brazil2024-06-21
1024Canada2024-06-04
1025Italy2024-06-10
1026Australia2024-05-23
1027Germany2024-05-30
1028Italy2024-06-02
1029India2024-05-31
1030Germany2024-05-27
1031Australia2024-06-04
1032India2024-06-15
1033Brazil2024-06-12
1034Germany2024-06-10
1035Germany2024-05-24
1036Canada2024-05-25
1037Russia2024-06-19
1038France2024-06-07
1039Australia2024-06-06
1040Japan2024-06-14
1041Australia2024-06-16
1042Japan2024-05-25
1043Canada2024-06-21
1044India2024-06-20
1045Canada2024-06-18
1046Canada2024-06-08
1047India2024-06-10
1048Japan2024-06-17
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Ivar W Schemmer1000Germany2024-06-02
Leja Y Nestle1001Spain2024-06-15
James I Vocelka1002Argentina2024-06-21
Chavez H Bowley1003Germany2024-06-07
Stacey K Stockham1004India2024-06-06
Kaitlin J Saylors1005Brazil2024-06-04
Izzy U Slusarski1006Argentina2024-06-11
Arvin J Kusko1007Brazil2024-06-20
Izzy S Saylors1008Spain2024-06-21
Salvatore H Inouye1009France2024-06-19
Munro L Ruta1010Australia2024-06-10
James Y Whobrey1011Canada2024-06-07
Alejandro X Tollner1012France2024-06-14
Munro I Foller1013Italy2024-06-04
Faith S Caudy1014Russia2024-06-13
Greenwood I Shinko1015Germany2024-06-07
Aditya S Darakjy1016Russia2024-06-10
Silvio D Kolmetz1017Brazil2024-06-10
Izzy S Ostrosky1018France2024-06-20
Aika G Figeroa1019Japan2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David I FollerBrazilIvan Magalhaes PROPOSAL
Maisha W BowleyJapanAmy Elsner QUALIFIED
Kadeem W DarakjyAustraliaIvan Magalhaes NEGOTIATION
Claire D ChuiSpainBernardo Dominic PROPOSAL
Cody P CaudyGermanyElwin Sharvill PROPOSAL
Juan S StockhamGermanyIoni Bowcher PROPOSAL
Misaki L KuskoIndiaStephen Shaw UNQUALIFIED
Munro L CaudyFranceBernardo Dominic NEW
Johnson P GarufiJapanBernardo Dominic PROPOSAL
Octavia Y GauchoIndiaElwin Sharvill PROPOSAL
Ashley M TollnerAustraliaOnyama Limba QUALIFIED
Stacey D WhobreySpainOnyama Limba NEGOTIATION
David M WieserBrazilIvan Magalhaes UNQUALIFIED
Kadeem E GarufiSpainAmy Elsner QUALIFIED
Juan V GauchoBrazilIvan Magalhaes UNQUALIFIED
Aruna X SergiUnited KingdomElwin Sharvill UNQUALIFIED
Leon T KuskoAustraliaAmy Elsner RENEWAL
Juan X MaletUnited KingdomAmy Elsner NEW
Chavez D DilliardIndiaXuxue Feng NEGOTIATION
Misaki A WhobreyRussiaAsiya Javayant NEW
Adams L FollerFranceXuxue Feng UNQUALIFIED
Silvio Y PerinArgentinaIoni Bowcher PROPOSAL
Emily V InouyeSpainAmy Elsner PROPOSAL
Maisha X BriddickAustraliaAsiya Javayant UNQUALIFIED
Claire Z GarufiSpainElwin Sharvill QUALIFIED
Salvatore I NickaCanadaStephen Shaw NEGOTIATION
Faith P NickaFranceAsiya Javayant NEGOTIATION
Mayumi Z SlusarskiUnited KingdomAnna Fali RENEWAL
Ivar K KuskoSpainStephen Shaw PROPOSAL
Murillo R WhobreyAustraliaElwin Sharvill PROPOSAL
Antonio A CaldareraUnited KingdomAnna Fali UNQUALIFIED
Ivar W RulapaughArgentinaAmy Elsner NEW
Nicolas N PerinGermanyBernardo Dominic NEGOTIATION
Murillo C FerenczItalyOnyama Limba QUALIFIED
Maria R IturbideArgentinaAnna Fali UNQUALIFIED
Munro F MorascaUnited KingdomAmy Elsner PROPOSAL
Chavez R MarrierIndiaIvan Magalhaes PROPOSAL
Costa E WaycottAustraliaStephen Shaw PROPOSAL
Costa I NestleFranceAnna Fali UNQUALIFIED
Jefferson D GlickRussiaOnyama Limba 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>