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
Emily L GillianRussiaAmy Elsner UNQUALIFIED
Greenwood H SergiArgentinaBernardo Dominic PROPOSAL
Jones G RulapaughSpainAsiya Javayant NEW
Adams D PaprockiArgentinaIoni Bowcher NEW
Silvio Q RutaArgentinaXuxue Feng PROPOSAL
Darci V IturbideIndiaAnna Fali RENEWAL
Greenwood X GarufiIndiaAnna Fali PROPOSAL
Jeanfrancois G MaletFranceBernardo Dominic RENEWAL
Maria X RulapaughAustraliaIoni Bowcher RENEWAL
Faith S KuskoArgentinaXuxue Feng RENEWAL
Nicolas Q NickaCanadaAsiya Javayant UNQUALIFIED
Nicolas M MarrierFranceAmy Elsner UNQUALIFIED
Rodrigues X MaletJapanIvan Magalhaes UNQUALIFIED
Leon H VenereJapanIoni Bowcher QUALIFIED
Isabel H InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Morrow H PerinItalyAnna Fali NEGOTIATION
Mayumi F CampainFranceIoni Bowcher NEW
Morrow L BriddickUnited KingdomAsiya Javayant QUALIFIED
Julie T BowleyItalyIvan Magalhaes RENEWAL
Jennifer T MaletItalyBernardo Dominic QUALIFIED
Francesco K FerenczAustraliaAnna Fali UNQUALIFIED
Rodrigues A WaycottJapanBernardo Dominic NEGOTIATION
Morrow L WieserFranceElwin Sharvill QUALIFIED
Jefferson V PaprockiArgentinaIvan Magalhaes QUALIFIED
Silvio S SlusarskiBrazilStephen Shaw UNQUALIFIED
Costa D PaprockiGermanyAsiya Javayant QUALIFIED
Maria D MaletArgentinaBernardo Dominic NEGOTIATION
Salvatore D WaycottCanadaStephen Shaw NEW
Ashley R FollerSpainAmy Elsner QUALIFIED
Mayumi W InouyeFranceOnyama Limba QUALIFIED
Faith O PaprockiRussiaOnyama Limba NEGOTIATION
Morrow O IturbideIndiaAnna Fali NEW
Juan F VenereBrazilIoni Bowcher PROPOSAL
Smith A CaldareraFranceOnyama Limba UNQUALIFIED
Octavia R CaudyBrazilAmy Elsner NEW
Stacey E InouyeUnited KingdomAsiya Javayant NEGOTIATION
Mayumi V SergiBrazilAnna Fali PROPOSAL
Ashley N KolmetzIndiaAmy Elsner UNQUALIFIED
Sinclair J PerinAustraliaXuxue Feng UNQUALIFIED
Clifford D TollnerFranceAsiya Javayant UNQUALIFIED
Kadeem F OstroskyUnited KingdomAmy Elsner NEGOTIATION
Mayumi J RutaIndiaIvan Magalhaes UNQUALIFIED
Juan U SergiAustraliaElwin Sharvill NEW
Nicolas L RoysterBrazilIvan Magalhaes PROPOSAL
Ricardo O OldroydAustraliaAsiya Javayant RENEWAL
Francesco X PaprockiArgentinaIvan Magalhaes PROPOSAL
Kadeem C NestleArgentinaAnna Fali RENEWAL
Darci O NestleItalyXuxue Feng UNQUALIFIED
Leja U MacleadAustraliaBernardo Dominic RENEWAL
Mayumi C GauchoUnited KingdomBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba E SchemmerItalyAsiya Javayant UNQUALIFIED
Ricardo E SlusarskiSpainAmy Elsner UNQUALIFIED
Mayumi L RutaAustraliaIoni Bowcher QUALIFIED
Munro G BologniaItalyAsiya Javayant QUALIFIED
Ricardo L VenereIndiaStephen Shaw UNQUALIFIED
Leja R PaprockiArgentinaIoni Bowcher UNQUALIFIED
Octavia L MaletSpainOnyama Limba QUALIFIED
Ricardo M BriddickAustraliaOnyama Limba RENEWAL
Rodrigues K GauchoUnited KingdomAnna Fali RENEWAL
Maisha F GlickAustraliaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony G MarrierUnited Kingdom2024-06-14Commercial Press RENEWAL91Anna Fali
1001David G BowleyAustralia2024-06-11Feiner Bros NEW44Ivan Magalhaes
1002Emily B WaycottAustralia2024-06-16Morlong Associates NEGOTIATION25Amy Elsner
1003Murillo K GarufiJapan2024-06-09Rousseaux, Michael Esq UNQUALIFIED79Asiya Javayant
1004Isabel F SaylorsBrazil2024-06-07Morlong Associates UNQUALIFIED60Elwin Sharvill
1005Stacey W DoeCanada2024-05-31Buckley Miller Wright NEGOTIATION67Ivan Magalhaes
1006Sinclair A FigeroaUnited Kingdom2024-06-15Chemel, James L Cpa PROPOSAL39Ivan Magalhaes
1007Wickens I PerinSpain2024-06-05Feltz Printing Service NEW60Onyama Limba
1008Mujtaba S ButtFrance2024-05-28Chemel, James L Cpa PROPOSAL54Anna Fali
1009Isabel N GarufiArgentina2024-06-05Rangoni Of Florence NEW85Xuxue Feng
1010Octavia N TollnerRussia2024-06-02Dorl, James J Esq NEGOTIATION89Xuxue Feng
1011David A GlickUnited Kingdom2024-06-16Chapman, Ross E Esq RENEWAL84Onyama Limba
1012Emily U CaudyJapan2024-06-09Feiner Bros RENEWAL10Bernardo Dominic
1013Clifford B GarufiGermany2024-06-13Dorl, James J Esq RENEWAL85Asiya Javayant
1014Silvio H DarakjyGermany2024-06-18Rousseaux, Michael Esq PROPOSAL70Bernardo Dominic
1015Silvio Q CampainSpain2024-06-18Chapman, Ross E Esq NEW79Amy Elsner
1016Costa C ShinkoBrazil2024-06-15Chemel, James L Cpa NEGOTIATION22Asiya Javayant
1017Munro R TollnerItaly2024-05-27Benton, John B Jr NEW61Anna Fali
1018Isabel B VenereArgentina2024-06-12Commercial Press RENEWAL7Amy Elsner
1019Mujtaba R FerenczGermany2024-06-17Commercial Press RENEWAL25Ivan Magalhaes
1020Munro P MorascaCanada2024-06-03Buckley Miller Wright PROPOSAL40Amy Elsner
1021Octavia G ButtIndia2024-06-14Printing Dimensions NEGOTIATION78Ivan Magalhaes
1022Silvio Y NickaFrance2024-06-07Benton, John B Jr QUALIFIED76Bernardo Dominic
1023Stacey R GauchoRussia2024-06-13King, Christopher A Esq PROPOSAL40Anna Fali
1024Leja X DarakjyFrance2024-06-15Commercial Press NEGOTIATION73Bernardo Dominic
1025Nicolas X SlusarskiUnited Kingdom2024-06-03Printing Dimensions NEW90Ioni Bowcher
1026Ricardo I StensethItaly2024-05-30Truhlar And Truhlar Attys UNQUALIFIED16Anna Fali
1027Ivar M BowleyRussia2024-06-11Chemel, James L Cpa NEGOTIATION67Asiya Javayant
1028Leon S PaprockiUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEGOTIATION79Ivan Magalhaes
1029Misaki H SchemmerCanada2024-05-24Rousseaux, Michael Esq QUALIFIED91Anna Fali
1030Nicolas C MorascaArgentina2024-06-03King, Christopher A Esq NEW79Xuxue Feng
1031Ashley C GarufiAustralia2024-06-10King, Christopher A Esq RENEWAL7Stephen Shaw
1032Johnson P CampainAustralia2024-06-08Commercial Press UNQUALIFIED74Ivan Magalhaes
1033Stacey T StensethArgentina2024-06-22Dorl, James J Esq QUALIFIED20Onyama Limba
1034Wickens W ChuiCanada2024-05-29Chemel, James L Cpa PROPOSAL59Asiya Javayant
1035Darci J InouyeCanada2024-06-09Printing Dimensions NEW7Amy Elsner
1036Mayumi P MaletUnited Kingdom2024-06-21Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1037Alejandro V CaudyUnited Kingdom2024-06-11Buckley Miller Wright PROPOSAL66Stephen Shaw
1038Arvin O OldroydCanada2024-05-27Morlong Associates PROPOSAL75Anna Fali
1039Misaki W KolmetzIndia2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED25Amy Elsner
1040Munro Q SaylorsIndia2024-05-25Truhlar And Truhlar Attys NEW38Amy Elsner
1041Deepesh B PoquetteGermany2024-06-16Printing Dimensions UNQUALIFIED24Stephen Shaw
1042Cody D IturbideJapan2024-05-29Truhlar And Truhlar Attys UNQUALIFIED2Xuxue Feng
1043Alejandro L FollerIndia2024-06-03Chapman, Ross E Esq UNQUALIFIED11Asiya Javayant
1044Costa N BriddickJapan2024-06-21Feltz Printing Service RENEWAL71Amy Elsner
1045Faith E KolmetzCanada2024-05-31Truhlar And Truhlar Attys NEW99Elwin Sharvill
1046Rodrigues V GillianCanada2024-05-26Chanay, Jeffrey A Esq PROPOSAL76Elwin Sharvill
1047Aditya P VenereUnited Kingdom2024-06-09King, Christopher A Esq UNQUALIFIED29Onyama Limba
1048Misaki V WhobreyArgentina2024-06-07Chemel, James L Cpa NEW45Ivan Magalhaes
1049Munro M KuskoUnited Kingdom2024-05-30Rousseaux, Michael Esq PROPOSAL67Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo U GlickRussiaStephen Shaw NEW
James O IturbideFranceAsiya Javayant UNQUALIFIED
Faith K AlbaresFranceElwin Sharvill QUALIFIED
Silvio N RulapaughIndiaBernardo Dominic QUALIFIED
James M NestleCanadaOnyama Limba QUALIFIED
Jefferson L FlosiBrazilXuxue Feng PROPOSAL
Mujtaba R WieserJapanOnyama Limba NEGOTIATION
Deepesh J GlickJapanElwin Sharvill UNQUALIFIED
Aruna C RimGermanyIoni Bowcher NEW
Wickens S PerinIndiaXuxue Feng PROPOSAL
Alejandro E DarakjyIndiaBernardo Dominic UNQUALIFIED
Octavia G NickaUnited KingdomIoni Bowcher PROPOSAL
Silvio K FlosiJapanIoni Bowcher PROPOSAL
Ricardo N DilliardCanadaOnyama Limba UNQUALIFIED
Emily W KuskoFranceAnna Fali NEGOTIATION
Kadeem L FollerJapanStephen Shaw UNQUALIFIED
Jefferson S AmigonAustraliaIoni Bowcher PROPOSAL
Johnson R DarakjyUnited KingdomOnyama Limba RENEWAL
Jeanfrancois U WhobreyIndiaElwin Sharvill NEGOTIATION
Alejandro N IturbideAustraliaAmy Elsner PROPOSAL
Juan R BriddickSpainXuxue Feng RENEWAL
Adams W GarufiJapanIoni Bowcher QUALIFIED
Salvatore S ButtArgentinaOnyama Limba NEW
Chavez T SergiIndiaXuxue Feng PROPOSAL
Cody N AmigonBrazilAmy Elsner PROPOSAL
Faith Z SlusarskiItalyElwin Sharvill NEW
Greenwood D StensethSpainAmy Elsner PROPOSAL
Francesco F GlickSpainXuxue Feng RENEWAL
Jones B DarakjySpainXuxue Feng UNQUALIFIED
Ashley W CaldareraJapanElwin Sharvill RENEWAL
Claire G DoeSpainAnna Fali UNQUALIFIED
Silvio V SchemmerFranceAnna Fali UNQUALIFIED
Tony Y StockhamArgentinaAnna Fali UNQUALIFIED
Tony E RimFranceAnna Fali PROPOSAL
Arvin A WhobreyJapanStephen Shaw NEGOTIATION
Ricardo X CampainSpainBernardo Dominic UNQUALIFIED
Kaitlin G DarakjyRussiaAnna Fali QUALIFIED
Leon G FlosiRussiaBernardo Dominic NEGOTIATION
Aruna N KolmetzIndiaIoni Bowcher PROPOSAL
Emily Q IturbideRussiaAnna Fali UNQUALIFIED
Maria B CampainUnited KingdomOnyama Limba UNQUALIFIED
Leja R ButtUnited KingdomIvan Magalhaes RENEWAL
Misaki L SlusarskiUnited KingdomXuxue Feng NEW
Maria P SergiIndiaBernardo Dominic RENEWAL
Jeanfrancois L WaycottAustraliaOnyama Limba NEGOTIATION
James S NestleArgentinaAsiya Javayant QUALIFIED
Silvio B MorascaArgentinaElwin Sharvill NEW
Misaki K PerinJapanIvan Magalhaes UNQUALIFIED
Misaki I BologniaCanadaElwin Sharvill NEGOTIATION
Nicolas Z CaudyBrazilAsiya Javayant RENEWAL
Frozen Columns
Name
Ivar T Saylors
Chavez T Oldroyd
Maisha C Amigon
Jeanfrancois T Ruta
Claire E Gaucho
Isabel O Amigon
Ivar U Oldroyd
Kaitlin F Chui
Aruna M Schemmer
Rodrigues F Ostrosky
Deepesh X Ostrosky
Smith O Darakjy
Smith M Paprocki
Cody Q Kolmetz
Aruna F Dilliard
Kaitlin V Glick
Arvin C Wieser
Cody G Bowley
Emily W Kusko
Kaitlin N Nestle
Munro B Amigon
Sinclair H Stenseth
Ricardo G Foller
Leja G Saylors
Jones P Marrier
Cody D Amigon
Misaki C Saylors
Chavez G Flosi
Arvin K Paprocki
Ashley E Nestle
James T Doe
Ashley K Paprocki
Claire V Malet
Juan P Schemmer
Claire G Briddick
David Z Schemmer
Claire S Malet
Julie H Caudy
Deepesh R Rulapaugh
Aruna Z Campain
Wickens N Ferencz
Adams D Ostrosky
Juan D Waycott
Jones P Slusarski
Deepesh D Chui
Jones R Malet
Antonio P Kolmetz
Costa G Darakjy
Jennifer P Nicka
Ivar G Bowley
IdCountryDate
1000Argentina2024-05-24
1001Australia2024-05-26
1002United Kingdom2024-05-28
1003Argentina2024-05-31
1004Canada2024-06-13
1005Spain2024-06-11
1006Australia2024-06-17
1007India2024-06-10
1008Spain2024-06-10
1009Canada2024-06-06
1010Australia2024-06-02
1011Argentina2024-06-03
1012India2024-06-16
1013Japan2024-05-24
1014Spain2024-06-13
1015Argentina2024-06-03
1016Russia2024-06-13
1017Argentina2024-06-06
1018Australia2024-06-20
1019Germany2024-06-14
1020Canada2024-06-15
1021Canada2024-06-21
1022Brazil2024-06-09
1023Australia2024-06-16
1024Russia2024-06-09
1025Japan2024-06-07
1026Australia2024-06-08
1027Australia2024-05-31
1028Germany2024-06-09
1029Germany2024-05-28
1030Brazil2024-05-24
1031Brazil2024-06-13
1032Canada2024-06-03
1033Russia2024-06-02
1034Russia2024-06-11
1035Canada2024-06-10
1036Spain2024-05-24
1037United Kingdom2024-06-09
1038Brazil2024-05-24
1039Brazil2024-05-27
1040Argentina2024-05-25
1041Canada2024-05-27
1042Brazil2024-05-25
1043Brazil2024-06-12
1044Italy2024-05-31
1045Japan2024-06-02
1046Japan2024-06-02
1047Brazil2024-05-24
1048Italy2024-06-19
1049Canada2024-06-20

On-Demand Data

NameIdCountryDate
Nicolas L Nestle1000Germany2024-05-30
Johnson V Morasca1001India2024-05-25
James T Bolognia1002Brazil2024-06-02
Jones Q Gillian1003Brazil2024-05-29
Ashley L Waycott1004Australia2024-06-03
Arvin H Stenseth1005Spain2024-06-09
Wickens S Flosi1006Brazil2024-06-03
Tony K Garufi1007Italy2024-06-05
Faith O Maclead1008Japan2024-06-13
James A Butt1009Australia2024-06-03
David F Doe1010Brazil2024-05-29
Darci H Doe1011India2024-06-03
Munro Q Poquette1012France2024-05-27
Mujtaba D Gaucho1013India2024-05-25
Johnson S Perin1014India2024-06-07
Johnson V Inouye1015Spain2024-06-11
Alejandro N Ostrosky1016Japan2024-06-19
Juan Z Vocelka1017Australia2024-06-09
Isabel C Schemmer1018Germany2024-06-19
Faith P Nicka1019Canada2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna J ChuiAustraliaBernardo Dominic UNQUALIFIED
Octavia V GillianIndiaIoni Bowcher UNQUALIFIED
Isabel V GillianCanadaIvan Magalhaes PROPOSAL
Chavez E DarakjyJapanStephen Shaw NEW
Leon A MorascaBrazilIvan Magalhaes RENEWAL
Juan C SlusarskiFranceElwin Sharvill PROPOSAL
Jennifer T RoysterIndiaAsiya Javayant RENEWAL
Costa Z ShinkoCanadaAnna Fali NEW
Morrow N WhobreyRussiaIoni Bowcher NEGOTIATION
Clifford W SaylorsIndiaXuxue Feng UNQUALIFIED
Emily P RutaGermanyIoni Bowcher NEGOTIATION
Rodrigues H GillianRussiaIvan Magalhaes PROPOSAL
Kadeem D NickaGermanyIoni Bowcher RENEWAL
Deepesh Y MacleadBrazilStephen Shaw RENEWAL
Jefferson Q GlickAustraliaOnyama Limba NEW
Smith T CaudyArgentinaAsiya Javayant UNQUALIFIED
Rodrigues R PerinJapanOnyama Limba UNQUALIFIED
Mujtaba X StockhamGermanyBernardo Dominic UNQUALIFIED
Emily Z MarrierBrazilIoni Bowcher RENEWAL
Nicolas M NickaAustraliaStephen Shaw NEGOTIATION
Smith X RoysterAustraliaIvan Magalhaes QUALIFIED
Mujtaba A IturbideArgentinaIvan Magalhaes NEGOTIATION
Julie P TollnerGermanyXuxue Feng QUALIFIED
Nicolas L GillianFranceOnyama Limba NEW
Jennifer Q MorascaItalyIvan Magalhaes NEW
Maria C GlickUnited KingdomAsiya Javayant PROPOSAL
Arvin I MorascaCanadaIoni Bowcher NEGOTIATION
Costa E DarakjyGermanyIoni Bowcher NEGOTIATION
Darci W GlickBrazilBernardo Dominic NEW
Misaki A OldroydJapanBernardo Dominic QUALIFIED
Tony U GarufiArgentinaAnna Fali PROPOSAL
Francesco R GarufiItalyStephen Shaw NEGOTIATION
Maria S CaudyJapanOnyama Limba UNQUALIFIED
Adams Q AmigonBrazilElwin Sharvill QUALIFIED
Ashley A SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Aruna L VocelkaSpainIvan Magalhaes PROPOSAL
Sinclair O FlosiRussiaIoni Bowcher NEW
Julie H KolmetzItalyXuxue Feng NEGOTIATION
Octavia Q PaprockiRussiaAnna Fali QUALIFIED
Leon A BowleyJapanIvan Magalhaes 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>