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
Stacey U CampainJapanOnyama Limba QUALIFIED
Cody P VenereRussiaXuxue Feng QUALIFIED
Julie X StensethGermanyAsiya Javayant RENEWAL
Adams U RulapaughSpainBernardo Dominic NEW
Sinclair L BriddickArgentinaOnyama Limba QUALIFIED
Salvatore X OstroskyAustraliaAnna Fali UNQUALIFIED
Jennifer V PaprockiAustraliaOnyama Limba QUALIFIED
Ashley J KuskoGermanyIvan Magalhaes NEW
Aruna P PerinAustraliaIoni Bowcher PROPOSAL
Juan B NestleJapanXuxue Feng PROPOSAL
Salvatore R BriddickUnited KingdomElwin Sharvill RENEWAL
Wickens N StockhamArgentinaBernardo Dominic NEW
Aditya G WaycottBrazilIoni Bowcher RENEWAL
Leja C FollerBrazilIoni Bowcher UNQUALIFIED
Salvatore Q FerenczItalyAsiya Javayant NEGOTIATION
Johnson Y ButtItalyBernardo Dominic NEW
Isabel J ButtIndiaElwin Sharvill UNQUALIFIED
Sinclair S RoysterGermanyAnna Fali RENEWAL
Ricardo A FlosiIndiaIoni Bowcher NEGOTIATION
Salvatore C RimArgentinaAnna Fali NEGOTIATION
Maria Z VenereBrazilOnyama Limba RENEWAL
Tony P VenereItalyIvan Magalhaes PROPOSAL
Arvin A FollerFranceXuxue Feng UNQUALIFIED
Mujtaba K StensethIndiaBernardo Dominic UNQUALIFIED
Silvio O BologniaAustraliaElwin Sharvill NEGOTIATION
Munro Y VocelkaBrazilIoni Bowcher NEGOTIATION
Stacey Y StensethArgentinaXuxue Feng NEW
Stacey H AlbaresSpainIoni Bowcher NEGOTIATION
Aditya G ButtSpainAsiya Javayant RENEWAL
Aditya M MaletCanadaXuxue Feng NEW
Tony C SaylorsJapanStephen Shaw NEW
Maisha O NickaFranceAnna Fali NEW
Leon V CaldareraRussiaOnyama Limba UNQUALIFIED
Mujtaba V WaycottGermanyAsiya Javayant NEW
Chavez S GarufiArgentinaIvan Magalhaes NEW
Jefferson G KuskoAustraliaIoni Bowcher PROPOSAL
Rodrigues S ButtArgentinaAsiya Javayant PROPOSAL
Tony V AlbaresItalyOnyama Limba UNQUALIFIED
James Q RutaSpainBernardo Dominic QUALIFIED
Morrow T WieserSpainIoni Bowcher QUALIFIED
Morrow C SchemmerAustraliaIvan Magalhaes PROPOSAL
Jones Z RutaSpainIvan Magalhaes UNQUALIFIED
Ashley S FlosiSpainIoni Bowcher NEW
Costa C CaudyRussiaOnyama Limba NEW
Adams M CampainSpainAmy Elsner RENEWAL
Wickens U GauchoCanadaXuxue Feng PROPOSAL
Aditya E CampainSpainAmy Elsner RENEWAL
Maisha E WhobreyArgentinaStephen Shaw QUALIFIED
Morrow G FlosiFranceIoni Bowcher NEW
Murillo T KolmetzSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi O OldroydSpainOnyama Limba PROPOSAL
Smith K ShinkoItalyAnna Fali PROPOSAL
Octavia D DilliardFranceStephen Shaw NEW
Maisha J KuskoBrazilAsiya Javayant RENEWAL
Costa V FigeroaIndiaXuxue Feng NEGOTIATION
Nicolas B SaylorsRussiaElwin Sharvill NEGOTIATION
Jeanfrancois Z CaldareraArgentinaIoni Bowcher QUALIFIED
Maria P FlosiJapanIoni Bowcher PROPOSAL
Greenwood L StensethItalyOnyama Limba UNQUALIFIED
Stacey L KolmetzArgentinaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon K ShinkoFrance2024-06-08Commercial Press NEW94Amy Elsner
1001Darci I SaylorsJapan2024-06-12Printing Dimensions UNQUALIFIED70Asiya Javayant
1002Misaki T TollnerItaly2024-06-11Printing Dimensions QUALIFIED4Ioni Bowcher
1003Rodrigues X PoquetteArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION47Elwin Sharvill
1004Misaki G CampainItaly2024-06-16Rangoni Of Florence PROPOSAL8Ivan Magalhaes
1005Aditya I SchemmerItaly2024-05-26Dorl, James J Esq QUALIFIED19Onyama Limba
1006Leja U BologniaCanada2024-06-20Printing Dimensions UNQUALIFIED86Ivan Magalhaes
1007Darci T PoquetteFrance2024-06-03Rousseaux, Michael Esq RENEWAL54Amy Elsner
1008Darci T NickaItaly2024-05-31Feiner Bros NEW18Amy Elsner
1009Mayumi G BologniaGermany2024-06-21Feiner Bros UNQUALIFIED94Amy Elsner
1010Antonio X WaycottAustralia2024-05-25Benton, John B Jr RENEWAL90Bernardo Dominic
1011Alejandro X PoquetteUnited Kingdom2024-06-20Printing Dimensions NEGOTIATION51Elwin Sharvill
1012Izzy Q DoeCanada2024-05-27Commercial Press NEW27Bernardo Dominic
1013Aruna V RutaJapan2024-06-04King, Christopher A Esq PROPOSAL57Xuxue Feng
1014Mujtaba A NestleAustralia2024-06-14Rangoni Of Florence UNQUALIFIED57Ioni Bowcher
1015Smith Z WieserRussia2024-06-14Buckley Miller Wright QUALIFIED64Amy Elsner
1016Jones B SergiItaly2024-06-08Buckley Miller Wright UNQUALIFIED8Bernardo Dominic
1017Ricardo J RimBrazil2024-06-12Rangoni Of Florence NEGOTIATION67Xuxue Feng
1018Maria M GauchoAustralia2024-06-04Commercial Press NEW10Asiya Javayant
1019Maria N MarrierCanada2024-05-24Chanay, Jeffrey A Esq QUALIFIED56Stephen Shaw
1020Rodrigues J BologniaUnited Kingdom2024-05-30Benton, John B Jr NEGOTIATION86Onyama Limba
1021Ivar S OldroydUnited Kingdom2024-06-17Truhlar And Truhlar Attys RENEWAL34Ivan Magalhaes
1022Clifford X NickaItaly2024-06-17Feltz Printing Service QUALIFIED5Anna Fali
1023Isabel M RulapaughSpain2024-06-14Feiner Bros NEGOTIATION75Ioni Bowcher
1024Greenwood X WieserItaly2024-06-18Morlong Associates RENEWAL54Ioni Bowcher
1025Salvatore Y WieserArgentina2024-06-07Rangoni Of Florence PROPOSAL7Ioni Bowcher
1026Maria O VenereBrazil2024-06-19Rangoni Of Florence UNQUALIFIED47Bernardo Dominic
1027Tony Z MacleadBrazil2024-05-28Feltz Printing Service QUALIFIED50Elwin Sharvill
1028Jeanfrancois R NestleCanada2024-05-24Feltz Printing Service PROPOSAL33Ioni Bowcher
1029James V RoysterIndia2024-06-10Feltz Printing Service NEW13Xuxue Feng
1030Emily R ButtBrazil2024-06-17Commercial Press RENEWAL94Anna Fali
1031Chavez M InouyeArgentina2024-06-21Feiner Bros QUALIFIED6Ivan Magalhaes
1032Juan V BologniaSpain2024-06-21Rousseaux, Michael Esq PROPOSAL10Ioni Bowcher
1033Leja Y PaprockiCanada2024-06-06Benton, John B Jr NEGOTIATION72Elwin Sharvill
1034Faith X TollnerItaly2024-06-02Chanay, Jeffrey A Esq QUALIFIED95Anna Fali
1035Leja B GauchoRussia2024-06-05Feiner Bros NEGOTIATION39Elwin Sharvill
1036Silvio J BologniaArgentina2024-06-12Buckley Miller Wright NEW51Stephen Shaw
1037Kaitlin C KolmetzCanada2024-06-08Truhlar And Truhlar Attys UNQUALIFIED1Xuxue Feng
1038Arvin I RimRussia2024-06-21Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1039Deepesh N GlickArgentina2024-05-25Morlong Associates RENEWAL14Ivan Magalhaes
1040Tony W AmigonItaly2024-06-02Dorl, James J Esq NEW13Stephen Shaw
1041Kaitlin Z VocelkaRussia2024-05-31Feiner Bros NEW82Bernardo Dominic
1042Ashley O RulapaughAustralia2024-06-01Commercial Press UNQUALIFIED91Ioni Bowcher
1043Nicolas R NestleArgentina2024-05-25Feltz Printing Service UNQUALIFIED98Asiya Javayant
1044Morrow I MacleadUnited Kingdom2024-06-03King, Christopher A Esq NEGOTIATION78Amy Elsner
1045Murillo M PaprockiBrazil2024-06-19Rousseaux, Michael Esq UNQUALIFIED60Elwin Sharvill
1046Leon E OstroskyBrazil2024-06-08Morlong Associates NEW46Bernardo Dominic
1047Emily Y WieserGermany2024-05-30Rousseaux, Michael Esq QUALIFIED52Asiya Javayant
1048Aditya F StensethIndia2024-06-17Commercial Press NEW72Asiya Javayant
1049Rodrigues D GillianItaly2024-06-15King, Christopher A Esq PROPOSAL56Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Q IturbideArgentinaBernardo Dominic NEW
Arvin D WhobreySpainElwin Sharvill PROPOSAL
Ivar I WaycottJapanAnna Fali QUALIFIED
Jones A BologniaAustraliaAmy Elsner NEW
Emily T RoysterAustraliaIvan Magalhaes NEGOTIATION
Antonio E GarufiItalyBernardo Dominic QUALIFIED
Jefferson R MarrierIndiaIoni Bowcher RENEWAL
Jefferson H FerenczJapanStephen Shaw QUALIFIED
Ashley N PoquetteGermanyIvan Magalhaes UNQUALIFIED
Munro N ChuiRussiaIvan Magalhaes PROPOSAL
Izzy J AmigonSpainAmy Elsner NEW
Leja I DoeItalyElwin Sharvill NEW
Faith V FigeroaSpainXuxue Feng NEGOTIATION
Cody Z CaldareraIndiaAmy Elsner NEGOTIATION
Smith L BologniaFranceOnyama Limba UNQUALIFIED
Ricardo J FlosiRussiaIvan Magalhaes RENEWAL
Alejandro P GillianUnited KingdomAmy Elsner NEGOTIATION
Ashley P InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Stacey Z SergiAustraliaXuxue Feng RENEWAL
Chavez F PerinUnited KingdomBernardo Dominic RENEWAL
Morrow A PoquetteSpainIoni Bowcher NEGOTIATION
Ivar K SaylorsCanadaXuxue Feng NEGOTIATION
Wickens R NestleSpainIoni Bowcher PROPOSAL
Faith A FlosiSpainStephen Shaw QUALIFIED
Ricardo U FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Julie W FollerGermanyAsiya Javayant UNQUALIFIED
Tony A PoquetteFranceAmy Elsner RENEWAL
Arvin M AlbaresGermanyXuxue Feng UNQUALIFIED
Antonio G GauchoBrazilAmy Elsner RENEWAL
Darci S NickaArgentinaIvan Magalhaes NEGOTIATION
Aika Q NickaFranceIvan Magalhaes RENEWAL
Julie J PaprockiIndiaXuxue Feng RENEWAL
Aditya K SergiIndiaAsiya Javayant RENEWAL
James H WaycottItalyIoni Bowcher NEGOTIATION
Arvin Q DilliardAustraliaAsiya Javayant NEW
Nicolas H FollerCanadaStephen Shaw RENEWAL
Ricardo D RimIndiaOnyama Limba PROPOSAL
Salvatore A OstroskyUnited KingdomOnyama Limba NEGOTIATION
Johnson J MorascaBrazilElwin Sharvill PROPOSAL
Ashley F FerenczArgentinaOnyama Limba UNQUALIFIED
Leja D FerenczAustraliaIoni Bowcher NEGOTIATION
Greenwood U MorascaArgentinaXuxue Feng UNQUALIFIED
Kaitlin R RoysterCanadaAsiya Javayant NEW
Chavez L RoysterFranceAsiya Javayant UNQUALIFIED
Chavez L GillianBrazilAmy Elsner PROPOSAL
Juan D ShinkoUnited KingdomAnna Fali QUALIFIED
Ivar J VenereGermanyBernardo Dominic QUALIFIED
Mujtaba D PaprockiFranceAsiya Javayant UNQUALIFIED
Smith N RutaIndiaOnyama Limba NEW
Stacey B VocelkaIndiaXuxue Feng NEW
Frozen Columns
Name
Francesco F Maclead
Aika Z Rulapaugh
Izzy Z Slusarski
Mujtaba H Whobrey
Jeanfrancois Q Iturbide
Tony K Ostrosky
Maria R Schemmer
Adams R Wieser
Isabel L Bolognia
Leon I Stenseth
Claire A Kolmetz
Aika Q Caldarera
Clifford C Gaucho
Munro L Malet
David L Stockham
Tony Q Darakjy
Cody I Kusko
Aruna F Butt
Jones N Chui
Greenwood L Foller
Tony K Iturbide
Maisha C Sergi
Chavez Y Briddick
Salvatore S Campain
Rodrigues X Gaucho
Izzy F Flosi
Emily C Kolmetz
Adams U Inouye
Claire S Waycott
Arvin Z Oldroyd
Leja K Oldroyd
Kaitlin E Gillian
Wickens K Slusarski
Emily Q Amigon
Alejandro W Slusarski
Izzy K Wieser
Jennifer C Saylors
Deepesh D Venere
Murillo M Flosi
Mujtaba U Foller
Ivar Y Whobrey
Clifford E Malet
Jeanfrancois Q Kolmetz
Leja A Vocelka
Julie Q Gillian
Maisha B Nicka
Aditya Z Vocelka
Kaitlin Z Malet
Morrow C Briddick
Salvatore Y Caldarera
IdCountryDate
1000France2024-06-11
1001Russia2024-06-13
1002Russia2024-06-13
1003France2024-06-08
1004Canada2024-05-25
1005Brazil2024-05-30
1006Canada2024-06-07
1007India2024-05-25
1008Australia2024-06-18
1009Brazil2024-06-06
1010Brazil2024-06-07
1011India2024-05-24
1012India2024-05-29
1013Canada2024-05-31
1014Argentina2024-05-31
1015Russia2024-06-07
1016Japan2024-06-08
1017Spain2024-06-19
1018India2024-06-19
1019Italy2024-06-13
1020Australia2024-06-06
1021Japan2024-06-15
1022Spain2024-06-10
1023Italy2024-06-09
1024Spain2024-06-06
1025Brazil2024-06-03
1026Brazil2024-05-28
1027India2024-05-29
1028United Kingdom2024-06-03
1029India2024-05-29
1030Italy2024-06-05
1031Russia2024-06-19
1032Australia2024-06-01
1033Russia2024-06-19
1034Italy2024-06-19
1035Japan2024-06-05
1036Brazil2024-06-08
1037Japan2024-06-06
1038Spain2024-06-01
1039Japan2024-06-11
1040India2024-06-15
1041Canada2024-06-03
1042Japan2024-06-10
1043France2024-06-03
1044Argentina2024-06-03
1045Japan2024-06-03
1046France2024-06-17
1047Australia2024-06-17
1048France2024-05-30
1049Australia2024-06-05

On-Demand Data

NameIdCountryDate
Deepesh V Ruta1000Germany2024-06-09
Misaki U Bolognia1001Japan2024-06-14
Isabel R Darakjy1002Germany2024-06-03
Darci N Foller1003United Kingdom2024-06-13
Wickens Z Poquette1004Canada2024-06-19
Cody K Gaucho1005Canada2024-06-19
James U Doe1006Australia2024-06-14
Greenwood V Poquette1007India2024-06-15
Misaki A Venere1008Japan2024-06-08
Stacey X Malet1009Spain2024-06-21
Deepesh C Stenseth1010United Kingdom2024-06-09
Francesco T Malet1011Russia2024-05-29
Smith J Slusarski1012Italy2024-06-03
Aditya L Slusarski1013Japan2024-06-03
Claire P Darakjy1014Italy2024-05-25
Murillo G Bolognia1015France2024-05-28
Francesco X Ruta1016Brazil2024-06-13
Misaki G Briddick1017Germany2024-05-25
Kaitlin K Glick1018Germany2024-06-21
Isabel S Royster1019Argentina2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa M MacleadItalyXuxue Feng PROPOSAL
Salvatore H VenereCanadaIoni Bowcher QUALIFIED
Kadeem Z VenereArgentinaElwin Sharvill PROPOSAL
Misaki Q RimUnited KingdomIoni Bowcher NEW
Jefferson I SaylorsItalyXuxue Feng UNQUALIFIED
Leja S RulapaughBrazilIvan Magalhaes NEGOTIATION
Wickens N TollnerCanadaAmy Elsner UNQUALIFIED
James P GillianSpainIoni Bowcher PROPOSAL
Emily R DoeCanadaXuxue Feng PROPOSAL
Jefferson L ChuiSpainAnna Fali NEGOTIATION
Johnson F PoquetteAustraliaAsiya Javayant PROPOSAL
Costa X PaprockiCanadaXuxue Feng RENEWAL
Claire R ButtFranceAnna Fali NEW
Arvin U ChuiFranceBernardo Dominic UNQUALIFIED
Nicolas M OstroskyRussiaAsiya Javayant RENEWAL
Jefferson I CampainItalyIoni Bowcher PROPOSAL
Smith T GlickSpainElwin Sharvill PROPOSAL
Munro J MarrierCanadaIvan Magalhaes UNQUALIFIED
Claire B InouyeUnited KingdomElwin Sharvill QUALIFIED
Salvatore G WieserArgentinaIoni Bowcher RENEWAL
Jefferson Q NestleItalyIoni Bowcher QUALIFIED
Claire Q KolmetzAustraliaAsiya Javayant QUALIFIED
Ashley A VocelkaGermanyAmy Elsner QUALIFIED
Misaki G BriddickJapanBernardo Dominic UNQUALIFIED
Arvin V CaldareraAustraliaOnyama Limba NEW
Salvatore K BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Chavez I GarufiIndiaBernardo Dominic NEGOTIATION
Stacey P MaletAustraliaXuxue Feng NEGOTIATION
Mayumi N ChuiItalyOnyama Limba PROPOSAL
Mujtaba C SchemmerJapanStephen Shaw PROPOSAL
Kaitlin G ButtGermanyBernardo Dominic PROPOSAL
Mayumi U FigeroaCanadaXuxue Feng NEGOTIATION
Leja X CampainGermanyAsiya Javayant RENEWAL
Salvatore J SaylorsRussiaStephen Shaw NEGOTIATION
Darci X PoquetteItalyOnyama Limba NEW
Murillo W FerenczIndiaAmy Elsner NEW
Deepesh N FlosiJapanAmy Elsner UNQUALIFIED
Aditya F PaprockiBrazilAsiya Javayant UNQUALIFIED
Morrow H KolmetzFranceOnyama Limba UNQUALIFIED
Morrow F CaudyRussiaIoni Bowcher PROPOSAL

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