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
Chavez Y CaudyJapanAsiya Javayant NEW
Rodrigues T SlusarskiBrazilStephen Shaw NEW
Clifford I NestleJapanAsiya Javayant QUALIFIED
Stacey H StockhamArgentinaAmy Elsner NEW
Jennifer P RutaBrazilElwin Sharvill NEGOTIATION
Salvatore Q ShinkoItalyStephen Shaw QUALIFIED
Kadeem T BriddickRussiaStephen Shaw PROPOSAL
Chavez Z GillianArgentinaAsiya Javayant NEW
Juan P OstroskyGermanyStephen Shaw NEGOTIATION
Jones P GlickBrazilIoni Bowcher NEGOTIATION
Jeanfrancois S DoeArgentinaIoni Bowcher RENEWAL
Mayumi C GarufiSpainBernardo Dominic NEW
Mayumi K FlosiItalyBernardo Dominic UNQUALIFIED
Ivar Q PoquetteUnited KingdomElwin Sharvill QUALIFIED
Maisha L BriddickSpainAsiya Javayant RENEWAL
Wickens K BriddickJapanXuxue Feng RENEWAL
Smith W SlusarskiSpainElwin Sharvill RENEWAL
Greenwood S InouyeUnited KingdomStephen Shaw NEW
Izzy H OstroskyBrazilIvan Magalhaes UNQUALIFIED
James G GlickRussiaStephen Shaw UNQUALIFIED
Alejandro X WhobreyJapanIvan Magalhaes NEW
Maria Q IturbideAustraliaBernardo Dominic PROPOSAL
Kadeem V MaletGermanyAsiya Javayant QUALIFIED
Francesco U DoeSpainAnna Fali UNQUALIFIED
Octavia Q VenereCanadaXuxue Feng NEW
Isabel E FerenczCanadaAmy Elsner UNQUALIFIED
Nicolas N NickaItalyOnyama Limba PROPOSAL
Stacey R SchemmerArgentinaElwin Sharvill QUALIFIED
Wickens V GillianJapanIvan Magalhaes NEW
Jones G GarufiUnited KingdomAsiya Javayant RENEWAL
James B FlosiBrazilIvan Magalhaes QUALIFIED
Stacey J MacleadAustraliaIoni Bowcher NEGOTIATION
Cody T BowleyIndiaElwin Sharvill NEW
Adams Z NickaFranceIvan Magalhaes NEW
Julie A BriddickArgentinaStephen Shaw NEGOTIATION
Aruna M FollerIndiaIoni Bowcher PROPOSAL
Aditya B KolmetzRussiaElwin Sharvill NEGOTIATION
Arvin M StockhamFranceAnna Fali NEW
Wickens H StensethCanadaElwin Sharvill NEGOTIATION
James T BologniaGermanyIoni Bowcher PROPOSAL
Smith V GarufiFranceStephen Shaw UNQUALIFIED
Jennifer D RoysterJapanStephen Shaw NEGOTIATION
Silvio C TollnerSpainOnyama Limba NEW
Ashley F RoysterItalyBernardo Dominic QUALIFIED
Maria C SlusarskiJapanBernardo Dominic NEW
Antonio C ChuiFranceBernardo Dominic PROPOSAL
Greenwood A RimUnited KingdomOnyama Limba RENEWAL
Alejandro C VocelkaGermanyAsiya Javayant QUALIFIED
Rodrigues W StockhamSpainOnyama Limba RENEWAL
Cody F IturbideFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey J KolmetzCanadaBernardo Dominic UNQUALIFIED
Emily L RulapaughCanadaAmy Elsner RENEWAL
Munro A MacleadJapanIoni Bowcher PROPOSAL
James P ChuiRussiaAnna Fali QUALIFIED
Francesco N ChuiFranceStephen Shaw NEGOTIATION
Alejandro U OstroskyRussiaAmy Elsner PROPOSAL
Johnson G WieserArgentinaIoni Bowcher NEW
Darci L PerinFranceIvan Magalhaes QUALIFIED
Juan L ShinkoArgentinaStephen Shaw QUALIFIED
Ashley G SergiCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody L FigeroaGermany2024-06-18King, Christopher A Esq NEGOTIATION80Amy Elsner
1001Sinclair S WieserUnited Kingdom2024-06-04Feiner Bros UNQUALIFIED41Ivan Magalhaes
1002James D GillianFrance2024-06-02Rousseaux, Michael Esq RENEWAL53Bernardo Dominic
1003Darci Z OstroskyArgentina2024-05-29Printing Dimensions QUALIFIED20Ivan Magalhaes
1004Stacey L FollerGermany2024-06-14Printing Dimensions RENEWAL9Anna Fali
1005Mujtaba D NickaIndia2024-06-24Dorl, James J Esq RENEWAL46Xuxue Feng
1006Morrow T ChuiItaly2024-05-31Benton, John B Jr PROPOSAL98Ivan Magalhaes
1007Leon X TollnerAustralia2024-06-23Chanay, Jeffrey A Esq PROPOSAL4Anna Fali
1008Aika E RoysterFrance2024-05-29Rousseaux, Michael Esq UNQUALIFIED25Amy Elsner
1009Jefferson T BologniaGermany2024-05-31Rousseaux, Michael Esq NEW24Bernardo Dominic
1010Claire M MaletCanada2024-06-10Buckley Miller Wright NEW87Ivan Magalhaes
1011Maisha E RulapaughJapan2024-05-27Rousseaux, Michael Esq QUALIFIED93Ioni Bowcher
1012Nicolas T MorascaItaly2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED62Stephen Shaw
1013James Y WieserArgentina2024-06-10Feltz Printing Service NEW36Xuxue Feng
1014Sinclair Q GauchoFrance2024-06-13Benton, John B Jr PROPOSAL49Bernardo Dominic
1015Faith S PerinSpain2024-06-02Buckley Miller Wright NEGOTIATION73Xuxue Feng
1016Tony K RimAustralia2024-06-01Chemel, James L Cpa NEW50Stephen Shaw
1017Johnson S DilliardGermany2024-06-23Printing Dimensions NEGOTIATION96Bernardo Dominic
1018Maria P KolmetzUnited Kingdom2024-06-08Feltz Printing Service PROPOSAL7Stephen Shaw
1019Leja T SlusarskiItaly2024-05-28Feiner Bros NEGOTIATION63Ivan Magalhaes
1020Ivar P StockhamAustralia2024-05-31Chanay, Jeffrey A Esq QUALIFIED17Amy Elsner
1021Costa Z DoeIndia2024-06-18Rangoni Of Florence UNQUALIFIED32Bernardo Dominic
1022Mujtaba D BologniaGermany2024-06-24Chapman, Ross E Esq NEW86Bernardo Dominic
1023Morrow L AlbaresItaly2024-06-03Commercial Press NEGOTIATION30Ioni Bowcher
1024Stacey E SergiArgentina2024-06-01Chapman, Ross E Esq NEGOTIATION69Elwin Sharvill
1025Claire M PaprockiFrance2024-06-12Morlong Associates RENEWAL84Ioni Bowcher
1026Ricardo X StockhamArgentina2024-06-06Chapman, Ross E Esq PROPOSAL65Ioni Bowcher
1027Smith V MacleadArgentina2024-06-04Rangoni Of Florence UNQUALIFIED15Asiya Javayant
1028Maisha C ChuiRussia2024-06-18Rousseaux, Michael Esq PROPOSAL21Amy Elsner
1029Aika N RoysterUnited Kingdom2024-06-10Commercial Press NEGOTIATION29Bernardo Dominic
1030Aditya C MorascaIndia2024-06-02Feltz Printing Service UNQUALIFIED20Amy Elsner
1031Rodrigues W MacleadSpain2024-06-19Feltz Printing Service NEGOTIATION30Stephen Shaw
1032Jefferson P WaycottUnited Kingdom2024-06-23Chemel, James L Cpa NEW71Ioni Bowcher
1033Chavez V MaletAustralia2024-06-07Chemel, James L Cpa QUALIFIED90Xuxue Feng
1034Aruna P WaycottGermany2024-06-01Morlong Associates QUALIFIED81Onyama Limba
1035Mujtaba G AlbaresItaly2024-05-28Feiner Bros NEW75Amy Elsner
1036Julie N SchemmerItaly2024-06-08Chemel, James L Cpa RENEWAL52Amy Elsner
1037Deepesh C WieserJapan2024-05-29Morlong Associates NEGOTIATION75Elwin Sharvill
1038Ricardo Z ChuiUnited Kingdom2024-06-03Chemel, James L Cpa PROPOSAL96Ivan Magalhaes
1039Mujtaba L AlbaresItaly2024-06-20Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1040Octavia Z RimIndia2024-05-28Feltz Printing Service RENEWAL42Anna Fali
1041Silvio U NestleItaly2024-06-03Truhlar And Truhlar Attys RENEWAL28Amy Elsner
1042Adams D CampainArgentina2024-06-04Benton, John B Jr NEW41Ioni Bowcher
1043Salvatore H BologniaBrazil2024-05-28Rousseaux, Michael Esq QUALIFIED68Bernardo Dominic
1044Murillo I MacleadAustralia2024-06-24Commercial Press RENEWAL64Elwin Sharvill
1045Juan G GillianArgentina2024-05-31Feltz Printing Service PROPOSAL36Amy Elsner
1046Chavez O IturbideArgentina2024-05-27Feiner Bros PROPOSAL64Bernardo Dominic
1047Stacey Z BriddickAustralia2024-06-05Buckley Miller Wright NEW39Amy Elsner
1048Leon S PerinArgentina2024-05-26Truhlar And Truhlar Attys NEGOTIATION40Xuxue Feng
1049Deepesh E KolmetzIndia2024-06-19Commercial Press NEGOTIATION76Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba I CaldareraItalyXuxue Feng NEW
Juan K FerenczSpainXuxue Feng NEW
Clifford A ButtFranceAsiya Javayant NEW
Juan R CaudyBrazilAnna Fali PROPOSAL
Jones G VocelkaUnited KingdomBernardo Dominic PROPOSAL
Clifford B StensethItalyXuxue Feng NEGOTIATION
Aditya J TollnerIndiaElwin Sharvill PROPOSAL
Sinclair G DilliardArgentinaIvan Magalhaes RENEWAL
Jennifer H AmigonJapanAmy Elsner RENEWAL
Jennifer G GauchoAustraliaAsiya Javayant NEW
Cody T InouyeFranceIvan Magalhaes NEGOTIATION
Alejandro B SaylorsSpainElwin Sharvill QUALIFIED
Nicolas K FerenczItalyAmy Elsner RENEWAL
Maria R RoysterUnited KingdomAnna Fali RENEWAL
Munro Z StockhamAustraliaAsiya Javayant QUALIFIED
Arvin P FerenczCanadaStephen Shaw QUALIFIED
Murillo S InouyeJapanXuxue Feng QUALIFIED
Smith K IturbideIndiaAnna Fali PROPOSAL
Silvio A FlosiJapanIvan Magalhaes QUALIFIED
Silvio T MarrierItalyXuxue Feng NEGOTIATION
Sinclair I CaldareraBrazilXuxue Feng NEGOTIATION
Claire P ChuiGermanyAsiya Javayant PROPOSAL
Claire F StensethCanadaBernardo Dominic NEW
Antonio K VocelkaArgentinaIoni Bowcher NEW
Aruna V MacleadUnited KingdomElwin Sharvill QUALIFIED
Ashley D GarufiFranceAsiya Javayant QUALIFIED
Adams M MaletIndiaBernardo Dominic PROPOSAL
Rodrigues E RutaCanadaBernardo Dominic RENEWAL
Mayumi G PerinAustraliaOnyama Limba QUALIFIED
Deepesh K BriddickArgentinaElwin Sharvill NEW
Murillo X AlbaresArgentinaElwin Sharvill NEGOTIATION
Emily I MorascaFranceXuxue Feng NEW
Adams H VenereUnited KingdomXuxue Feng RENEWAL
Alejandro C CampainGermanyOnyama Limba UNQUALIFIED
Murillo C MaletBrazilXuxue Feng QUALIFIED
Faith U VenereBrazilIoni Bowcher UNQUALIFIED
Mayumi D RutaJapanXuxue Feng PROPOSAL
Murillo N StockhamAustraliaOnyama Limba NEGOTIATION
Maisha T CampainAustraliaXuxue Feng NEGOTIATION
David P DilliardIndiaAmy Elsner UNQUALIFIED
Sinclair Q VocelkaArgentinaStephen Shaw NEGOTIATION
Smith G ChuiFranceOnyama Limba RENEWAL
Claire O OstroskyJapanAnna Fali NEGOTIATION
Murillo S DarakjyRussiaXuxue Feng QUALIFIED
Jefferson L AlbaresGermanyXuxue Feng QUALIFIED
Alejandro X MorascaGermanyIoni Bowcher NEGOTIATION
Stacey Q CampainBrazilOnyama Limba NEGOTIATION
Leon V InouyeJapanXuxue Feng QUALIFIED
Silvio F NestleAustraliaStephen Shaw NEW
Chavez L SaylorsRussiaStephen Shaw RENEWAL
Frozen Columns
Name
Tony F Ostrosky
Cody F Flosi
Wickens L Dilliard
Ivar O Oldroyd
James W Darakjy
Jefferson T Gillian
Ashley S Glick
Johnson T Chui
Kaitlin W Gaucho
Leja W Rulapaugh
Cody F Venere
Nicolas C Stockham
Izzy L Nicka
Murillo I Flosi
Clifford E Dilliard
Smith V Kolmetz
Clifford S Iturbide
Mujtaba Y Gillian
Juan T Stockham
Ricardo J Foller
Silvio R Wieser
Faith C Nicka
Munro Q Rim
Smith C Rulapaugh
Mayumi C Saylors
Francesco G Albares
Jeanfrancois Y Glick
James Z Nicka
Deepesh O Malet
Arvin X Venere
Aditya K Rim
Jennifer F Caldarera
Ashley M Maclead
Morrow W Stockham
Arvin O Morasca
Salvatore K Bolognia
Isabel Y Gillian
Francesco B Rulapaugh
Francesco N Garufi
Adams I Flosi
Chavez E Vocelka
Octavia E Poquette
Maisha Q Stenseth
Kaitlin K Ferencz
Jones E Sergi
Morrow J Gaucho
Francesco U Garufi
Johnson W Campain
Claire A Gaucho
Johnson Q Glick
IdCountryDate
1000India2024-06-12
1001Italy2024-06-10
1002Spain2024-06-03
1003Canada2024-06-09
1004France2024-06-18
1005Spain2024-06-21
1006Canada2024-06-21
1007Germany2024-06-18
1008India2024-06-08
1009Russia2024-05-28
1010Italy2024-06-14
1011Japan2024-06-13
1012Russia2024-06-18
1013Spain2024-06-06
1014United Kingdom2024-06-19
1015Australia2024-06-08
1016Russia2024-06-13
1017United Kingdom2024-06-23
1018Australia2024-06-05
1019Italy2024-06-08
1020India2024-06-13
1021Russia2024-06-21
1022Japan2024-06-22
1023France2024-06-12
1024Italy2024-06-11
1025Italy2024-05-26
1026Japan2024-05-28
1027France2024-05-26
1028United Kingdom2024-06-24
1029Germany2024-05-30
1030United Kingdom2024-06-19
1031Italy2024-06-21
1032Japan2024-06-16
1033Russia2024-06-08
1034France2024-06-20
1035Italy2024-06-18
1036Spain2024-06-12
1037United Kingdom2024-06-13
1038Argentina2024-06-10
1039Japan2024-06-19
1040Russia2024-06-08
1041Australia2024-05-27
1042India2024-06-10
1043Argentina2024-06-03
1044Russia2024-06-18
1045France2024-05-27
1046Japan2024-06-20
1047France2024-06-10
1048France2024-05-29
1049Japan2024-05-28

On-Demand Data

NameIdCountryDate
Salvatore U Nicka1000United Kingdom2024-06-13
Aika W Malet1001Spain2024-06-11
Deepesh R Amigon1002Spain2024-06-09
Izzy X Rulapaugh1003Russia2024-06-01
Jeanfrancois U Maclead1004Japan2024-06-12
Leja F Slusarski1005Italy2024-05-31
Sinclair D Flosi1006Germany2024-06-18
Cody Q Foller1007United Kingdom2024-06-10
Adams S Kusko1008Russia2024-06-07
Claire J Vocelka1009Australia2024-06-04
Adams N Caldarera1010Brazil2024-06-21
Ashley Q Foller1011Canada2024-06-01
Octavia X Sergi1012Brazil2024-06-05
Octavia M Foller1013Spain2024-06-02
Morrow I Iturbide1014Germany2024-06-03
Ricardo E Bolognia1015United Kingdom2024-06-20
Emily M Caldarera1016India2024-06-09
Salvatore C Chui1017Russia2024-06-07
Jones S Poquette1018Japan2024-06-13
Arvin W Dilliard1019Brazil2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy P VocelkaFranceBernardo Dominic RENEWAL
Emily P WhobreyRussiaAnna Fali NEW
Salvatore A MaletAustraliaXuxue Feng PROPOSAL
Clifford P MaletRussiaOnyama Limba UNQUALIFIED
Misaki U RoysterBrazilElwin Sharvill NEW
Adams F DoeGermanyOnyama Limba UNQUALIFIED
Faith V BowleyUnited KingdomAsiya Javayant NEW
Mayumi S TollnerArgentinaElwin Sharvill RENEWAL
Julie P FlosiAustraliaAnna Fali RENEWAL
Sinclair K CampainFranceElwin Sharvill PROPOSAL
Kadeem P FlosiIndiaAsiya Javayant NEGOTIATION
Tony J RutaBrazilAnna Fali QUALIFIED
Jefferson B CaldareraIndiaElwin Sharvill QUALIFIED
Julie T PerinIndiaAmy Elsner UNQUALIFIED
Stacey M MarrierIndiaBernardo Dominic RENEWAL
Emily I NestleBrazilIvan Magalhaes UNQUALIFIED
Stacey W FlosiRussiaBernardo Dominic PROPOSAL
Julie B GauchoRussiaBernardo Dominic RENEWAL
Rodrigues K KolmetzCanadaIoni Bowcher UNQUALIFIED
Kadeem L CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Sinclair B CaudyAustraliaIoni Bowcher UNQUALIFIED
Wickens L KuskoArgentinaAsiya Javayant QUALIFIED
Aditya T RimSpainAmy Elsner QUALIFIED
Maria V PerinBrazilBernardo Dominic QUALIFIED
Emily S MacleadRussiaOnyama Limba PROPOSAL
Aruna E AmigonFranceAsiya Javayant NEW
Sinclair J WaycottGermanyElwin Sharvill PROPOSAL
Aika L OldroydArgentinaAmy Elsner QUALIFIED
Izzy Z VocelkaCanadaAmy Elsner PROPOSAL
Ashley F MaletGermanyElwin Sharvill PROPOSAL
Alejandro W SaylorsFranceAnna Fali NEGOTIATION
Johnson J AmigonRussiaXuxue Feng PROPOSAL
Rodrigues C BologniaBrazilOnyama Limba PROPOSAL
Antonio D BowleyAustraliaAmy Elsner UNQUALIFIED
Tony I KolmetzSpainAmy Elsner RENEWAL
Claire G ChuiAustraliaAnna Fali RENEWAL
Nicolas H MorascaCanadaAnna Fali NEW
Maria K StensethGermanyElwin Sharvill NEGOTIATION
Murillo S DilliardArgentinaBernardo Dominic UNQUALIFIED
Mayumi A NestleRussiaIoni Bowcher 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>