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
Wickens G RulapaughCanadaAsiya Javayant NEW
James Q RutaUnited KingdomOnyama Limba NEW
Murillo U MaletBrazilXuxue Feng PROPOSAL
Leon W KolmetzGermanyStephen Shaw UNQUALIFIED
Clifford P MorascaSpainIvan Magalhaes RENEWAL
Misaki S PaprockiIndiaStephen Shaw NEW
Izzy A DilliardJapanBernardo Dominic NEGOTIATION
Adams Y OldroydBrazilBernardo Dominic RENEWAL
Francesco X DilliardAustraliaIvan Magalhaes RENEWAL
Antonio W KuskoJapanStephen Shaw NEW
Leja T RoysterSpainAsiya Javayant PROPOSAL
Aika G CaldareraBrazilOnyama Limba NEW
Salvatore C BriddickUnited KingdomXuxue Feng NEGOTIATION
Jefferson F WhobreyItalyIoni Bowcher QUALIFIED
Munro L PerinArgentinaIvan Magalhaes QUALIFIED
Maisha P PoquetteRussiaIvan Magalhaes NEGOTIATION
Deepesh L GarufiBrazilAmy Elsner NEGOTIATION
Clifford U RoysterAustraliaAmy Elsner QUALIFIED
Emily M WhobreyCanadaElwin Sharvill PROPOSAL
Ivar W MaletAustraliaAsiya Javayant RENEWAL
Jennifer C PerinUnited KingdomOnyama Limba UNQUALIFIED
Antonio V RimJapanBernardo Dominic PROPOSAL
Misaki Z RulapaughIndiaAsiya Javayant PROPOSAL
Octavia K OldroydArgentinaIoni Bowcher NEW
Morrow M GlickCanadaBernardo Dominic NEW
Aika I CampainBrazilXuxue Feng NEW
Wickens C RimGermanyIvan Magalhaes NEW
Alejandro E GauchoUnited KingdomAsiya Javayant NEW
Mujtaba K KuskoItalyStephen Shaw UNQUALIFIED
Smith E SergiGermanyBernardo Dominic RENEWAL
Ivar K MaletSpainElwin Sharvill NEGOTIATION
Deepesh I SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Munro X FollerRussiaOnyama Limba NEGOTIATION
Johnson B CampainArgentinaAmy Elsner QUALIFIED
Leja X KolmetzAustraliaXuxue Feng QUALIFIED
Johnson A OstroskyIndiaAsiya Javayant NEW
Maria T StensethArgentinaOnyama Limba UNQUALIFIED
Chavez Y TollnerIndiaXuxue Feng UNQUALIFIED
Wickens Q OstroskyUnited KingdomXuxue Feng QUALIFIED
Aditya V PoquetteAustraliaOnyama Limba QUALIFIED
Ashley S DoeFranceElwin Sharvill UNQUALIFIED
Aruna A FigeroaRussiaOnyama Limba NEW
Johnson N VocelkaRussiaAmy Elsner NEGOTIATION
Cody B IturbideAustraliaOnyama Limba PROPOSAL
Aditya Y PoquetteSpainAsiya Javayant NEGOTIATION
Adams O WaycottUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba J RimItalyStephen Shaw PROPOSAL
Kadeem T WieserItalyAsiya Javayant NEW
Jennifer C FigeroaGermanyStephen Shaw QUALIFIED
Antonio B BriddickGermanyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Cody B MacleadSpainAmy Elsner QUALIFIED
Aika C VenereUnited KingdomBernardo Dominic PROPOSAL
Stacey E PerinJapanAsiya Javayant NEW
Faith G StensethRussiaAnna Fali PROPOSAL
Sinclair E OldroydAustraliaBernardo Dominic PROPOSAL
Aditya D AmigonCanadaElwin Sharvill NEW
Francesco Z MaletIndiaElwin Sharvill PROPOSAL
Ivar Z WieserFranceIoni Bowcher PROPOSAL
Aika I FollerRussiaIvan Magalhaes RENEWAL
Claire F BologniaArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X KolmetzJapan2024-05-26Chemel, James L Cpa RENEWAL18Ivan Magalhaes
1001Francesco A CampainCanada2024-06-06Rousseaux, Michael Esq NEW33Onyama Limba
1002Juan F DilliardGermany2024-06-08Chapman, Ross E Esq PROPOSAL17Anna Fali
1003Mayumi J GillianFrance2024-06-08Chapman, Ross E Esq QUALIFIED80Ioni Bowcher
1004Stacey A RimIndia2024-06-14Chanay, Jeffrey A Esq RENEWAL72Xuxue Feng
1005Faith V BriddickFrance2024-05-28Rangoni Of Florence NEGOTIATION22Anna Fali
1006Stacey P VocelkaSpain2024-06-21Morlong Associates NEW20Elwin Sharvill
1007Isabel E RoysterBrazil2024-06-13Buckley Miller Wright QUALIFIED48Asiya Javayant
1008Emily D FigeroaAustralia2024-06-15Benton, John B Jr UNQUALIFIED80Elwin Sharvill
1009Misaki X GillianSpain2024-06-05Truhlar And Truhlar Attys QUALIFIED79Xuxue Feng
1010Ivar N OldroydArgentina2024-05-27Morlong Associates PROPOSAL81Bernardo Dominic
1011Chavez G FollerIndia2024-05-31Chemel, James L Cpa NEW7Anna Fali
1012Arvin L CaudyArgentina2024-06-03Feiner Bros PROPOSAL55Amy Elsner
1013Nicolas G MaletGermany2024-06-17Feltz Printing Service RENEWAL86Xuxue Feng
1014Aika G SlusarskiFrance2024-06-09Benton, John B Jr NEW19Xuxue Feng
1015Morrow X SlusarskiCanada2024-05-29Feiner Bros NEW88Bernardo Dominic
1016Emily J NickaSpain2024-06-01Buckley Miller Wright NEGOTIATION89Ioni Bowcher
1017Aika H MacleadCanada2024-06-21Benton, John B Jr UNQUALIFIED45Stephen Shaw
1018Munro Q FlosiAustralia2024-06-12Rangoni Of Florence NEGOTIATION36Anna Fali
1019Clifford W WhobreyUnited Kingdom2024-06-02Chapman, Ross E Esq NEW13Ioni Bowcher
1020Costa D RutaFrance2024-06-02Morlong Associates RENEWAL47Ivan Magalhaes
1021Faith E FerenczFrance2024-06-04Buckley Miller Wright QUALIFIED3Asiya Javayant
1022Silvio J DarakjyRussia2024-06-10Printing Dimensions UNQUALIFIED30Xuxue Feng
1023Mayumi E RoysterBrazil2024-06-06Chemel, James L Cpa PROPOSAL92Onyama Limba
1024Maria A GillianJapan2024-05-31Rousseaux, Michael Esq NEW80Anna Fali
1025Aditya F WaycottBrazil2024-06-03Commercial Press NEGOTIATION80Ioni Bowcher
1026Misaki Q DilliardGermany2024-06-13Morlong Associates NEW4Onyama Limba
1027Ashley D PoquetteCanada2024-06-04Rangoni Of Florence NEW76Onyama Limba
1028Aika U GarufiGermany2024-06-13Chemel, James L Cpa UNQUALIFIED25Bernardo Dominic
1029Stacey Z GillianArgentina2024-05-25Feiner Bros QUALIFIED61Elwin Sharvill
1030James K AmigonCanada2024-06-13King, Christopher A Esq NEGOTIATION22Xuxue Feng
1031Smith J FollerFrance2024-06-07Rangoni Of Florence UNQUALIFIED69Ivan Magalhaes
1032Adams B KolmetzBrazil2024-06-18Truhlar And Truhlar Attys UNQUALIFIED78Ioni Bowcher
1033Kaitlin P MaletItaly2024-06-08Rousseaux, Michael Esq QUALIFIED61Asiya Javayant
1034Izzy D GarufiRussia2024-05-30Chapman, Ross E Esq PROPOSAL17Xuxue Feng
1035Silvio A RoysterJapan2024-05-30Buckley Miller Wright UNQUALIFIED76Ivan Magalhaes
1036Antonio Q ButtFrance2024-06-09Chapman, Ross E Esq UNQUALIFIED41Stephen Shaw
1037Julie D OldroydItaly2024-06-12Feltz Printing Service RENEWAL47Bernardo Dominic
1038Cody Z CampainGermany2024-05-30Printing Dimensions QUALIFIED97Bernardo Dominic
1039Ashley O SergiGermany2024-06-04Printing Dimensions NEW31Stephen Shaw
1040Faith D SergiArgentina2024-06-15Morlong Associates NEGOTIATION99Ivan Magalhaes
1041Rodrigues E BriddickAustralia2024-06-11Rousseaux, Michael Esq UNQUALIFIED37Xuxue Feng
1042Chavez O RimFrance2024-05-26Rangoni Of Florence RENEWAL64Ioni Bowcher
1043Murillo C SchemmerIndia2024-06-02Feltz Printing Service UNQUALIFIED61Anna Fali
1044Morrow V ButtSpain2024-06-10Chanay, Jeffrey A Esq RENEWAL0Anna Fali
1045Clifford L GauchoAustralia2024-06-01Feiner Bros NEGOTIATION32Ioni Bowcher
1046Murillo J PaprockiSpain2024-06-13Chemel, James L Cpa UNQUALIFIED27Asiya Javayant
1047Rodrigues T TollnerCanada2024-06-19Buckley Miller Wright UNQUALIFIED11Ioni Bowcher
1048Wickens J RutaRussia2024-06-11Feltz Printing Service NEW81Asiya Javayant
1049Adams Q OstroskyCanada2024-05-25Feiner Bros PROPOSAL6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Costa Z RimJapanOnyama Limba QUALIFIED
Izzy R WaycottArgentinaOnyama Limba UNQUALIFIED
Isabel R AmigonArgentinaBernardo Dominic NEGOTIATION
Kadeem S GillianGermanyAsiya Javayant QUALIFIED
Adams Y PoquetteCanadaAsiya Javayant QUALIFIED
Johnson G VocelkaUnited KingdomOnyama Limba PROPOSAL
Cody B FigeroaItalyXuxue Feng NEW
Juan U RoysterArgentinaAnna Fali RENEWAL
Kadeem X GillianAustraliaAmy Elsner PROPOSAL
Munro R ChuiAustraliaAnna Fali QUALIFIED
Emily A RutaBrazilIvan Magalhaes NEW
Leon P IturbideSpainStephen Shaw QUALIFIED
Leja O StockhamArgentinaElwin Sharvill PROPOSAL
James N NickaArgentinaXuxue Feng UNQUALIFIED
Smith X BriddickSpainIvan Magalhaes NEGOTIATION
Juan H OldroydFranceIoni Bowcher QUALIFIED
Octavia D BriddickIndiaIvan Magalhaes NEW
Tony L AlbaresCanadaAnna Fali QUALIFIED
Wickens D BowleyFranceAmy Elsner NEW
James H BowleyRussiaAmy Elsner RENEWAL
Izzy Q InouyeItalyAsiya Javayant NEW
James S GlickItalyAnna Fali PROPOSAL
Salvatore W TollnerAustraliaAnna Fali NEW
Silvio D DarakjyAustraliaBernardo Dominic NEGOTIATION
Cody E PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Munro K MacleadBrazilAmy Elsner PROPOSAL
Costa L CaudyArgentinaStephen Shaw PROPOSAL
Adams A SaylorsItalyXuxue Feng NEW
Aruna L VocelkaBrazilStephen Shaw QUALIFIED
Costa Q MacleadAustraliaIvan Magalhaes UNQUALIFIED
Arvin H StensethArgentinaAsiya Javayant PROPOSAL
Aika F NestleSpainStephen Shaw NEGOTIATION
David O StensethBrazilXuxue Feng NEGOTIATION
Costa L ButtFranceBernardo Dominic NEGOTIATION
Faith T BologniaUnited KingdomAmy Elsner PROPOSAL
Jennifer L StensethBrazilStephen Shaw RENEWAL
Leja B StensethAustraliaElwin Sharvill RENEWAL
Tony W BriddickFranceIoni Bowcher NEW
Murillo Z FerenczBrazilOnyama Limba RENEWAL
Faith D FerenczCanadaElwin Sharvill QUALIFIED
Jefferson G MacleadFranceStephen Shaw NEW
Mujtaba T VenereSpainAmy Elsner QUALIFIED
Emily P TollnerFranceOnyama Limba NEW
Stacey S ShinkoJapanAmy Elsner NEW
Maisha N WaycottGermanyStephen Shaw NEW
Murillo Z IturbideSpainXuxue Feng PROPOSAL
David G VocelkaGermanyAnna Fali RENEWAL
Arvin J GauchoIndiaOnyama Limba RENEWAL
Claire K PoquetteGermanyElwin Sharvill PROPOSAL
Ashley Z PoquetteRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Juan I Bolognia
Tony M Briddick
Isabel S Campain
Izzy N Amigon
Leon V Bolognia
Morrow U Doe
David Q Doe
Claire H Foller
Maisha Q Nestle
Julie R Venere
Stacey P Amigon
Darci X Malet
Mayumi Z Whobrey
Mujtaba P Nicka
Morrow K Nicka
Izzy W Chui
Darci H Nestle
Francesco A Maclead
Aditya V Gaucho
Mayumi C Stenseth
Tony N Stockham
Aruna F Albares
Kaitlin C Bowley
Jefferson C Butt
Aika J Briddick
Maisha U Ruta
Claire H Figeroa
Nicolas R Flosi
Smith U Marrier
Morrow S Stenseth
Misaki H Rim
Aditya P Perin
Murillo O Ferencz
James N Ruta
Silvio U Nestle
David I Butt
Costa B Ostrosky
Ashley J Rulapaugh
Jefferson D Dilliard
Arvin A Shinko
Ivar V Flosi
Greenwood X Albares
Ricardo I Caudy
Deepesh Q Rulapaugh
Smith H Briddick
Silvio T Stockham
Aruna R Rulapaugh
Aika S Caldarera
Julie Y Gillian
Munro P Kusko
IdCountryDate
1000India2024-06-04
1001Germany2024-06-16
1002Spain2024-06-04
1003France2024-05-25
1004France2024-05-30
1005Spain2024-06-18
1006Spain2024-05-29
1007France2024-06-12
1008Australia2024-05-29
1009Australia2024-06-14
1010Japan2024-06-19
1011United Kingdom2024-06-17
1012Japan2024-06-17
1013Brazil2024-06-19
1014Canada2024-05-24
1015Canada2024-06-07
1016Spain2024-06-21
1017Russia2024-05-24
1018Argentina2024-06-02
1019Canada2024-06-20
1020Canada2024-05-28
1021India2024-06-04
1022Australia2024-06-05
1023Italy2024-05-26
1024Italy2024-05-31
1025India2024-05-29
1026India2024-06-15
1027Spain2024-06-05
1028Spain2024-06-11
1029Spain2024-05-30
1030Spain2024-05-28
1031Australia2024-05-26
1032Brazil2024-06-13
1033Japan2024-06-10
1034France2024-06-13
1035Japan2024-06-10
1036Argentina2024-06-18
1037Italy2024-06-04
1038Australia2024-06-14
1039France2024-06-11
1040Spain2024-06-15
1041France2024-06-04
1042Argentina2024-06-18
1043Germany2024-06-20
1044Italy2024-06-21
1045France2024-05-25
1046Australia2024-05-27
1047Germany2024-05-26
1048Italy2024-06-18
1049Germany2024-05-23

On-Demand Data

NameIdCountryDate
Cody A Butt1000Argentina2024-05-25
Morrow H Whobrey1001Brazil2024-06-20
Isabel I Saylors1002Argentina2024-06-01
Deepesh U Kolmetz1003Spain2024-06-20
David J Poquette1004Spain2024-06-02
Kadeem L Dilliard1005Canada2024-06-02
Faith W Inouye1006Italy2024-05-26
Sinclair Y Kolmetz1007India2024-05-29
James M Gillian1008Brazil2024-05-31
Jefferson D Ruta1009United Kingdom2024-05-23
Maria P Ostrosky1010Brazil2024-06-17
Maria U Ruta1011United Kingdom2024-06-05
Greenwood M Kolmetz1012Japan2024-05-27
Jeanfrancois R Malet1013Argentina2024-06-11
Ivar N Malet1014Germany2024-06-10
Murillo I Darakjy1015Germany2024-06-17
Izzy X Amigon1016France2024-05-26
Alejandro K Dilliard1017Spain2024-06-10
Silvio V Venere1018Spain2024-06-03
Kaitlin B Briddick1019India2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria G WieserArgentinaOnyama Limba PROPOSAL
Ricardo G RimAustraliaOnyama Limba RENEWAL
Rodrigues V IturbideRussiaIoni Bowcher NEW
Kadeem H SlusarskiGermanyElwin Sharvill NEW
Mujtaba J KolmetzGermanyElwin Sharvill RENEWAL
Mujtaba T BologniaUnited KingdomStephen Shaw QUALIFIED
Octavia M TollnerCanadaElwin Sharvill RENEWAL
Munro Z BologniaFranceElwin Sharvill RENEWAL
Munro J KolmetzRussiaBernardo Dominic UNQUALIFIED
Leja W SchemmerBrazilAnna Fali NEGOTIATION
Smith Y RulapaughAustraliaXuxue Feng QUALIFIED
Ashley Q RoysterArgentinaIvan Magalhaes QUALIFIED
Smith X CaldareraSpainBernardo Dominic UNQUALIFIED
Arvin K BologniaFranceIvan Magalhaes QUALIFIED
Alejandro R StensethBrazilElwin Sharvill QUALIFIED
Ricardo F IturbideJapanOnyama Limba NEGOTIATION
Leon A MaletJapanOnyama Limba NEGOTIATION
Isabel E OldroydAustraliaIoni Bowcher NEW
Juan B NestleBrazilElwin Sharvill RENEWAL
Juan H CaldareraFranceIvan Magalhaes UNQUALIFIED
Isabel O InouyeGermanyAnna Fali UNQUALIFIED
Misaki G CampainBrazilIoni Bowcher QUALIFIED
Chavez S WaycottUnited KingdomOnyama Limba RENEWAL
Johnson Q IturbideGermanyAnna Fali NEGOTIATION
Greenwood U RulapaughJapanAsiya Javayant NEGOTIATION
Maria Z ShinkoUnited KingdomIvan Magalhaes RENEWAL
Nicolas P KuskoRussiaAmy Elsner UNQUALIFIED
Cody M WieserJapanXuxue Feng NEGOTIATION
Nicolas A RutaCanadaElwin Sharvill QUALIFIED
Kaitlin Q RoysterAustraliaAsiya Javayant QUALIFIED
Octavia P MaletRussiaXuxue Feng UNQUALIFIED
Salvatore P PerinJapanAmy Elsner QUALIFIED
Octavia C BowleyCanadaAmy Elsner RENEWAL
Cody M RimAustraliaOnyama Limba NEW
Mujtaba O SaylorsUnited KingdomOnyama Limba NEW
Murillo P RimJapanBernardo Dominic UNQUALIFIED
Arvin W FigeroaFranceStephen Shaw NEGOTIATION
Cody H IturbideJapanAmy Elsner NEW
Wickens M WhobreyIndiaAnna Fali NEW
Leon E BriddickSpainStephen Shaw 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>