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
Aika A BologniaBrazilAsiya Javayant PROPOSAL
Jennifer D RoysterIndiaStephen Shaw PROPOSAL
Rodrigues A RoysterBrazilIoni Bowcher RENEWAL
Smith F MacleadUnited KingdomIoni Bowcher PROPOSAL
Salvatore R PerinArgentinaOnyama Limba UNQUALIFIED
Ivar H NestleAustraliaElwin Sharvill RENEWAL
Rodrigues L BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna J SaylorsRussiaOnyama Limba QUALIFIED
Chavez Z SchemmerItalyIoni Bowcher QUALIFIED
Arvin W IturbideIndiaAsiya Javayant PROPOSAL
Mujtaba J CampainCanadaIvan Magalhaes RENEWAL
Silvio U RulapaughSpainIoni Bowcher PROPOSAL
Leja X NickaBrazilElwin Sharvill UNQUALIFIED
Maria H MorascaArgentinaStephen Shaw NEGOTIATION
Jefferson J VenereIndiaXuxue Feng RENEWAL
Salvatore B VenereJapanXuxue Feng NEW
Ashley Q FigeroaRussiaAnna Fali QUALIFIED
Chavez B StensethCanadaOnyama Limba NEGOTIATION
Leon Z MaletUnited KingdomAnna Fali QUALIFIED
Salvatore J CampainIndiaOnyama Limba PROPOSAL
David P NickaGermanyXuxue Feng NEGOTIATION
Deepesh K PaprockiBrazilXuxue Feng NEGOTIATION
Deepesh Q GlickJapanIoni Bowcher NEGOTIATION
Clifford O NestleIndiaAmy Elsner RENEWAL
Murillo M PoquetteItalyAmy Elsner PROPOSAL
Deepesh X GarufiItalyStephen Shaw RENEWAL
Ashley X IturbideBrazilOnyama Limba RENEWAL
David M MacleadSpainXuxue Feng QUALIFIED
Murillo S BologniaCanadaElwin Sharvill UNQUALIFIED
Alejandro J VenereRussiaBernardo Dominic NEGOTIATION
Isabel Z DarakjyAustraliaElwin Sharvill UNQUALIFIED
Francesco X GarufiCanadaOnyama Limba UNQUALIFIED
Smith F OstroskySpainOnyama Limba PROPOSAL
Francesco O NickaItalyBernardo Dominic NEGOTIATION
Octavia T MarrierArgentinaAsiya Javayant RENEWAL
David B MorascaSpainAsiya Javayant RENEWAL
Greenwood I MaletSpainAsiya Javayant QUALIFIED
James P StockhamItalyXuxue Feng RENEWAL
Aditya S KuskoGermanyIvan Magalhaes RENEWAL
Jones B MacleadGermanyElwin Sharvill RENEWAL
Murillo N DoeJapanBernardo Dominic UNQUALIFIED
Aruna T MacleadArgentinaStephen Shaw RENEWAL
Maria Q PaprockiUnited KingdomStephen Shaw NEW
Clifford T PaprockiIndiaAnna Fali NEW
David F DoeFranceIoni Bowcher NEW
Octavia U FlosiRussiaOnyama Limba NEW
Ivar S ShinkoBrazilIoni Bowcher UNQUALIFIED
Tony O KolmetzGermanyIoni Bowcher UNQUALIFIED
Morrow L FollerArgentinaElwin Sharvill NEGOTIATION
Kaitlin B BriddickSpainIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore W RutaBrazilXuxue Feng QUALIFIED
Juan N RutaArgentinaIvan Magalhaes UNQUALIFIED
Kadeem R DoeItalyAnna Fali UNQUALIFIED
David G StockhamUnited KingdomBernardo Dominic NEGOTIATION
Deepesh G RulapaughCanadaAmy Elsner RENEWAL
Juan D KuskoSpainIoni Bowcher UNQUALIFIED
Silvio O MarrierAustraliaStephen Shaw NEW
Kadeem A FigeroaAustraliaAmy Elsner PROPOSAL
Deepesh L FigeroaIndiaIoni Bowcher NEGOTIATION
Aditya E AmigonGermanyAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Y PerinIndia2024-06-18Dorl, James J Esq QUALIFIED86Xuxue Feng
1001Nicolas J ChuiAustralia2024-05-21Chapman, Ross E Esq RENEWAL71Anna Fali
1002Murillo K StensethFrance2024-05-25Morlong Associates RENEWAL91Xuxue Feng
1003Jeanfrancois V MaletJapan2024-05-20Commercial Press NEW88Onyama Limba
1004Faith O FigeroaIndia2024-06-11Printing Dimensions NEGOTIATION28Onyama Limba
1005Isabel D CampainItaly2024-05-22Rangoni Of Florence NEW14Ioni Bowcher
1006James S VocelkaBrazil2024-05-26King, Christopher A Esq UNQUALIFIED26Ioni Bowcher
1007Aika A InouyeIndia2024-05-21Rousseaux, Michael Esq UNQUALIFIED63Anna Fali
1008Aditya W ChuiCanada2024-06-02Morlong Associates UNQUALIFIED69Xuxue Feng
1009Isabel N RoysterJapan2024-05-28Printing Dimensions RENEWAL20Xuxue Feng
1010Jefferson K MaletSpain2024-05-24Feiner Bros NEW12Stephen Shaw
1011Stacey Y RimCanada2024-05-26Morlong Associates PROPOSAL18Onyama Limba
1012Izzy A AmigonFrance2024-06-08Dorl, James J Esq UNQUALIFIED84Anna Fali
1013Maisha K GlickAustralia2024-06-18King, Christopher A Esq PROPOSAL39Asiya Javayant
1014Mayumi I SergiAustralia2024-06-17Feiner Bros NEW49Elwin Sharvill
1015Costa T PoquetteCanada2024-06-04Rousseaux, Michael Esq RENEWAL94Onyama Limba
1016James Y ButtBrazil2024-05-25Chanay, Jeffrey A Esq RENEWAL47Ioni Bowcher
1017Ashley J GillianFrance2024-05-31Commercial Press QUALIFIED38Anna Fali
1018Isabel P CampainRussia2024-05-29Morlong Associates PROPOSAL41Asiya Javayant
1019Kadeem Y KuskoJapan2024-05-20Truhlar And Truhlar Attys NEW63Asiya Javayant
1020Clifford T SergiArgentina2024-05-24Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1021Claire S RimBrazil2024-06-09Chemel, James L Cpa QUALIFIED76Amy Elsner
1022Costa S CaudyIndia2024-06-17Rangoni Of Florence UNQUALIFIED71Elwin Sharvill
1023Rodrigues R AlbaresIndia2024-06-01Morlong Associates UNQUALIFIED89Onyama Limba
1024David Y MaletIndia2024-06-08Buckley Miller Wright PROPOSAL33Bernardo Dominic
1025Adams Z NestleArgentina2024-06-03Dorl, James J Esq PROPOSAL3Bernardo Dominic
1026Sinclair C BologniaAustralia2024-06-14Chemel, James L Cpa NEW76Bernardo Dominic
1027Antonio D StockhamSpain2024-06-16King, Christopher A Esq UNQUALIFIED71Ioni Bowcher
1028Isabel I WhobreyCanada2024-06-18Rousseaux, Michael Esq QUALIFIED29Onyama Limba
1029Francesco H CampainArgentina2024-06-06Chapman, Ross E Esq NEW10Amy Elsner
1030Jeanfrancois M PerinRussia2024-06-16Chemel, James L Cpa UNQUALIFIED94Amy Elsner
1031Misaki X BologniaIndia2024-06-08Dorl, James J Esq NEGOTIATION82Amy Elsner
1032Rodrigues I FigeroaSpain2024-05-20Benton, John B Jr UNQUALIFIED74Asiya Javayant
1033James L InouyeCanada2024-05-27Chapman, Ross E Esq RENEWAL30Amy Elsner
1034Alejandro I GarufiGermany2024-05-23Morlong Associates PROPOSAL77Bernardo Dominic
1035Ricardo Q CaudyJapan2024-05-23Benton, John B Jr NEW46Bernardo Dominic
1036Kadeem P VenereSpain2024-05-25Morlong Associates QUALIFIED20Stephen Shaw
1037Salvatore T SchemmerFrance2024-06-01Feltz Printing Service PROPOSAL9Ioni Bowcher
1038Jennifer O BologniaCanada2024-06-13Chemel, James L Cpa NEW78Bernardo Dominic
1039Kaitlin M RulapaughRussia2024-05-28King, Christopher A Esq NEW81Asiya Javayant
1040Julie Y GillianRussia2024-06-13Feiner Bros NEW57Elwin Sharvill
1041Kaitlin Z FollerItaly2024-06-04Rangoni Of Florence NEW0Ivan Magalhaes
1042Silvio E WhobreySpain2024-06-09King, Christopher A Esq RENEWAL65Xuxue Feng
1043Jefferson A GillianRussia2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED49Bernardo Dominic
1044Julie V MarrierJapan2024-05-26Commercial Press NEGOTIATION38Anna Fali
1045Leon M SlusarskiIndia2024-05-29Benton, John B Jr PROPOSAL65Onyama Limba
1046Sinclair P NickaFrance2024-05-24Rangoni Of Florence NEW3Ioni Bowcher
1047Jones I KolmetzRussia2024-06-18Chemel, James L Cpa NEW31Stephen Shaw
1048Aditya O WhobreyArgentina2024-06-01Chapman, Ross E Esq UNQUALIFIED5Asiya Javayant
1049Jennifer X TollnerUnited Kingdom2024-06-02Chemel, James L Cpa NEGOTIATION97Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley X CampainCanadaOnyama Limba QUALIFIED
Smith K RulapaughBrazilIoni Bowcher QUALIFIED
Munro N NickaIndiaXuxue Feng RENEWAL
Smith T SchemmerFranceElwin Sharvill NEGOTIATION
Salvatore E NestleIndiaIoni Bowcher QUALIFIED
Mujtaba W RimGermanyXuxue Feng QUALIFIED
Leon Q RutaUnited KingdomBernardo Dominic NEW
Jefferson J MaletIndiaXuxue Feng RENEWAL
Francesco Q PaprockiRussiaElwin Sharvill QUALIFIED
Misaki P AlbaresUnited KingdomXuxue Feng NEW
Stacey K SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Aditya U GauchoIndiaIvan Magalhaes PROPOSAL
Costa W FerenczSpainStephen Shaw PROPOSAL
Ricardo N RoysterGermanyAsiya Javayant NEW
Maria U VocelkaGermanyOnyama Limba NEGOTIATION
Johnson W WieserIndiaAsiya Javayant RENEWAL
Chavez M KuskoItalyAnna Fali UNQUALIFIED
Antonio Y ChuiIndiaAnna Fali QUALIFIED
Ashley T TollnerGermanyIoni Bowcher NEW
Maisha E TollnerAustraliaStephen Shaw UNQUALIFIED
Darci U OldroydItalyXuxue Feng NEW
Wickens D DarakjyFranceIoni Bowcher QUALIFIED
Kaitlin I GillianGermanyAsiya Javayant NEGOTIATION
Costa I MaletItalyBernardo Dominic RENEWAL
Julie K NestleRussiaElwin Sharvill NEGOTIATION
Costa T IturbideGermanyAsiya Javayant NEGOTIATION
Chavez K MaletRussiaAmy Elsner NEW
Isabel S MarrierJapanOnyama Limba UNQUALIFIED
Maisha F CaldareraUnited KingdomXuxue Feng QUALIFIED
Ricardo F PaprockiBrazilIoni Bowcher NEGOTIATION
Chavez X NickaIndiaAsiya Javayant PROPOSAL
James G PaprockiSpainAsiya Javayant RENEWAL
Silvio T PerinAustraliaIvan Magalhaes QUALIFIED
Alejandro T CaudyGermanyAnna Fali NEW
Costa D ShinkoRussiaAsiya Javayant RENEWAL
Maisha A IturbideJapanBernardo Dominic PROPOSAL
Salvatore G CaudyIndiaElwin Sharvill PROPOSAL
Isabel O PaprockiJapanIvan Magalhaes UNQUALIFIED
Salvatore V GarufiRussiaXuxue Feng NEW
Arvin A BowleyFranceStephen Shaw RENEWAL
James D AlbaresJapanAnna Fali NEGOTIATION
Adams E SaylorsItalyOnyama Limba NEGOTIATION
Arvin A InouyeCanadaAnna Fali NEGOTIATION
Alejandro R SchemmerAustraliaElwin Sharvill NEGOTIATION
Deepesh J InouyeUnited KingdomIvan Magalhaes RENEWAL
Izzy L GarufiRussiaOnyama Limba RENEWAL
Jennifer J SaylorsUnited KingdomIoni Bowcher NEW
Ricardo F AlbaresFranceAmy Elsner QUALIFIED
Adams I KolmetzJapanAsiya Javayant NEW
Darci A TollnerCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Nicolas P Vocelka
Wickens H Butt
Octavia V Whobrey
Aika G Malet
Munro U Campain
Alejandro Y Doe
Izzy W Chui
Kadeem N Marrier
Rodrigues Q Rulapaugh
Misaki M Nestle
Mayumi P Ostrosky
Octavia C Foller
Mayumi Q Bowley
Johnson Y Campain
Alejandro M Bowley
David T Bolognia
Nicolas Q Caudy
Cody Q Whobrey
Jeanfrancois D Rim
Arvin W Albares
Cody A Nicka
Silvio E Nicka
James Q Perin
Sinclair P Oldroyd
Cody C Ostrosky
Murillo N Caldarera
Aruna H Ruta
Leja Q Ostrosky
Clifford N Foller
Sinclair I Ferencz
Mayumi A Paprocki
Juan O Royster
Emily Q Doe
Wickens J Stenseth
Ashley I Stockham
Maisha H Slusarski
Johnson W Morasca
Cody U Rim
Maria X Perin
Salvatore Q Bowley
Ivar L Morasca
Antonio M Ostrosky
James S Schemmer
Wickens D Nicka
James Y Garufi
Claire R Poquette
Costa M Bolognia
Misaki J Slusarski
Misaki B Flosi
Ricardo R Venere
IdCountryDate
1000United Kingdom2024-06-08
1001Italy2024-06-16
1002Canada2024-06-15
1003Japan2024-06-08
1004Spain2024-06-14
1005France2024-06-07
1006France2024-06-13
1007Italy2024-05-28
1008Spain2024-05-25
1009Brazil2024-06-15
1010France2024-06-15
1011Brazil2024-06-06
1012United Kingdom2024-06-12
1013India2024-06-14
1014Germany2024-05-20
1015Italy2024-05-20
1016Brazil2024-06-15
1017Canada2024-06-18
1018Japan2024-06-11
1019United Kingdom2024-06-10
1020Australia2024-05-27
1021Russia2024-06-01
1022India2024-05-28
1023France2024-06-10
1024Russia2024-06-08
1025Australia2024-06-11
1026United Kingdom2024-05-26
1027Russia2024-06-07
1028India2024-06-13
1029Canada2024-06-10
1030Germany2024-06-16
1031United Kingdom2024-06-15
1032Argentina2024-06-17
1033Spain2024-05-29
1034Canada2024-06-07
1035Spain2024-06-15
1036Canada2024-06-11
1037Canada2024-06-08
1038Spain2024-05-25
1039India2024-05-22
1040India2024-06-04
1041Japan2024-05-26
1042Japan2024-06-05
1043Canada2024-05-27
1044France2024-06-11
1045Brazil2024-05-22
1046Australia2024-06-15
1047Italy2024-06-05
1048France2024-06-08
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Ricardo I Caldarera1000India2024-05-25
Costa Z Maclead1001Germany2024-06-09
Jennifer M Briddick1002Spain2024-06-15
Clifford V Malet1003India2024-05-27
Juan X Caudy1004Spain2024-05-29
Kadeem R Darakjy1005Canada2024-05-22
Wickens T Campain1006United Kingdom2024-05-29
David B Briddick1007Italy2024-05-22
Alejandro O Saylors1008Japan2024-06-15
Rodrigues N Nicka1009Brazil2024-06-18
Adams J Kolmetz1010France2024-05-28
Aika P Caudy1011Italy2024-05-25
Tony O Ferencz1012Canada2024-06-02
Tony J Perin1013France2024-06-07
Antonio I Darakjy1014Canada2024-05-25
Arvin E Paprocki1015United Kingdom2024-05-20
Jefferson Y Butt1016Argentina2024-06-17
Costa Q Stockham1017India2024-06-03
Leon Q Poquette1018France2024-05-29
Ivar Q Gaucho1019Brazil2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson U GarufiIndiaXuxue Feng NEGOTIATION
Julie O AmigonBrazilOnyama Limba RENEWAL
Silvio L MorascaCanadaAsiya Javayant NEGOTIATION
Rodrigues E OldroydGermanyIvan Magalhaes NEGOTIATION
Misaki H GlickIndiaXuxue Feng RENEWAL
Jefferson X CaudyArgentinaElwin Sharvill RENEWAL
Rodrigues L SchemmerRussiaOnyama Limba PROPOSAL
Ashley N VenereAustraliaAsiya Javayant NEGOTIATION
Emily C BowleySpainXuxue Feng UNQUALIFIED
Ivar Z FerenczRussiaBernardo Dominic RENEWAL
Rodrigues A WieserUnited KingdomIoni Bowcher UNQUALIFIED
Maria S WhobreyGermanyBernardo Dominic RENEWAL
Jeanfrancois Q ChuiJapanXuxue Feng QUALIFIED
Murillo L MaletJapanIoni Bowcher QUALIFIED
James S RutaIndiaXuxue Feng UNQUALIFIED
Juan W SaylorsJapanIvan Magalhaes NEW
Adams C SchemmerRussiaAnna Fali QUALIFIED
Aditya N IturbideSpainBernardo Dominic NEGOTIATION
Julie K StockhamFranceAmy Elsner UNQUALIFIED
Smith E VenereUnited KingdomAmy Elsner RENEWAL
Jennifer J IturbideRussiaIoni Bowcher NEGOTIATION
Jeanfrancois G ButtBrazilAnna Fali NEW
Leon H MarrierRussiaElwin Sharvill NEGOTIATION
Adams E RoysterJapanAsiya Javayant QUALIFIED
Aika C NestleFranceIoni Bowcher QUALIFIED
Smith W DoeItalyOnyama Limba RENEWAL
Leon S BologniaAustraliaIoni Bowcher UNQUALIFIED
Ivar T StockhamIndiaBernardo Dominic QUALIFIED
Deepesh W MarrierItalyStephen Shaw PROPOSAL
Cody Y BriddickArgentinaAsiya Javayant NEW
Emily M RutaItalyXuxue Feng NEGOTIATION
Silvio H AlbaresSpainStephen Shaw QUALIFIED
Adams I PoquetteUnited KingdomOnyama Limba NEW
Alejandro B InouyeCanadaIvan Magalhaes NEGOTIATION
Adams T VocelkaGermanyStephen Shaw QUALIFIED
Clifford A MarrierSpainStephen Shaw NEW
Nicolas M GlickCanadaOnyama Limba RENEWAL
Darci P OstroskyRussiaOnyama Limba NEGOTIATION
Antonio P CampainAustraliaXuxue Feng QUALIFIED
Jennifer D OldroydAustraliaBernardo Dominic NEGOTIATION

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