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
Claire C MarrierFranceBernardo Dominic RENEWAL
Ashley E GlickCanadaElwin Sharvill UNQUALIFIED
Greenwood L GillianArgentinaAsiya Javayant PROPOSAL
Emily O FigeroaFranceBernardo Dominic RENEWAL
Ashley I MorascaSpainOnyama Limba UNQUALIFIED
Mujtaba K DoeArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois Z ShinkoGermanyIoni Bowcher NEGOTIATION
Costa V MarrierUnited KingdomBernardo Dominic PROPOSAL
Sinclair W CaudyItalyXuxue Feng NEW
Salvatore H NestleUnited KingdomBernardo Dominic QUALIFIED
Johnson X SergiGermanyAsiya Javayant PROPOSAL
David D PerinBrazilBernardo Dominic QUALIFIED
Smith M WieserSpainAmy Elsner PROPOSAL
Emily L NestleArgentinaAmy Elsner RENEWAL
Aditya A GlickSpainAnna Fali QUALIFIED
Munro R RimGermanyBernardo Dominic QUALIFIED
Claire L SchemmerBrazilXuxue Feng NEGOTIATION
Maria Q NickaFranceIoni Bowcher NEGOTIATION
Mayumi A FigeroaJapanAsiya Javayant UNQUALIFIED
Claire K NickaJapanXuxue Feng QUALIFIED
Costa D NestleFranceOnyama Limba QUALIFIED
Mayumi M OstroskyGermanyElwin Sharvill PROPOSAL
Ivar U NickaGermanyBernardo Dominic RENEWAL
Alejandro Y GarufiBrazilXuxue Feng NEGOTIATION
Mayumi A WaycottBrazilAnna Fali NEW
Morrow H ButtRussiaIoni Bowcher QUALIFIED
Sinclair H TollnerArgentinaElwin Sharvill NEW
Isabel S CampainJapanAnna Fali QUALIFIED
Nicolas D SaylorsCanadaOnyama Limba NEGOTIATION
Greenwood H BriddickGermanyAsiya Javayant NEW
Claire W KuskoArgentinaIvan Magalhaes PROPOSAL
Maisha Y CampainUnited KingdomIvan Magalhaes NEGOTIATION
Claire J SergiBrazilElwin Sharvill UNQUALIFIED
Silvio R PaprockiArgentinaAsiya Javayant RENEWAL
Adams M DoeBrazilAnna Fali UNQUALIFIED
Munro Y VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Ashley V NickaCanadaIvan Magalhaes PROPOSAL
Juan N FigeroaJapanIoni Bowcher NEGOTIATION
Aruna K TollnerFranceStephen Shaw PROPOSAL
Leon E DarakjyCanadaAsiya Javayant QUALIFIED
Aditya D StensethArgentinaAnna Fali PROPOSAL
Alejandro Q BologniaAustraliaElwin Sharvill NEW
Emily Y MorascaItalyIvan Magalhaes UNQUALIFIED
Izzy X FlosiFranceAmy Elsner UNQUALIFIED
Francesco Z KuskoJapanAmy Elsner NEGOTIATION
Mujtaba S TollnerJapanAmy Elsner UNQUALIFIED
Leja A SchemmerCanadaBernardo Dominic QUALIFIED
Salvatore W OldroydFranceStephen Shaw NEGOTIATION
Aika V OldroydGermanyIvan Magalhaes PROPOSAL
Costa Z DoeRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois F NestleFranceBernardo Dominic QUALIFIED
Arvin N GillianArgentinaAnna Fali NEW
Emily G BologniaJapanIoni Bowcher QUALIFIED
Munro T SergiJapanBernardo Dominic NEGOTIATION
Silvio Y FlosiCanadaOnyama Limba UNQUALIFIED
Aika L OldroydBrazilIoni Bowcher RENEWAL
Antonio A SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Smith F PerinCanadaXuxue Feng QUALIFIED
Murillo X PaprockiUnited KingdomBernardo Dominic NEW
Leon U NickaGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Q PerinArgentina2024-05-24Benton, John B Jr NEGOTIATION81Ivan Magalhaes
1001Kaitlin N ButtUnited Kingdom2024-05-24Dorl, James J Esq RENEWAL7Stephen Shaw
1002Salvatore C SchemmerGermany2024-06-14Chemel, James L Cpa UNQUALIFIED81Xuxue Feng
1003Jennifer Q DoeCanada2024-05-21Benton, John B Jr UNQUALIFIED47Stephen Shaw
1004Izzy Q StockhamGermany2024-05-21King, Christopher A Esq UNQUALIFIED13Elwin Sharvill
1005Aruna Z FollerGermany2024-06-03Chanay, Jeffrey A Esq QUALIFIED83Anna Fali
1006Morrow K CaudyGermany2024-06-10Feltz Printing Service UNQUALIFIED11Onyama Limba
1007Alejandro M OldroydAustralia2024-06-14Chemel, James L Cpa QUALIFIED2Bernardo Dominic
1008Chavez Y VocelkaIndia2024-06-03Chanay, Jeffrey A Esq NEW88Xuxue Feng
1009Costa X InouyeJapan2024-06-16Dorl, James J Esq PROPOSAL3Ivan Magalhaes
1010Costa P FollerFrance2024-06-02Printing Dimensions NEW44Asiya Javayant
1011Ivar G FerenczFrance2024-05-24Truhlar And Truhlar Attys NEW52Ivan Magalhaes
1012Aika U IturbideArgentina2024-05-21Feltz Printing Service UNQUALIFIED81Stephen Shaw
1013Mayumi H KuskoFrance2024-06-08Feltz Printing Service NEGOTIATION22Onyama Limba
1014Silvio H MacleadUnited Kingdom2024-06-13Rangoni Of Florence NEGOTIATION57Anna Fali
1015Faith L SergiArgentina2024-05-22Commercial Press NEW41Bernardo Dominic
1016Silvio F DilliardJapan2024-06-05Morlong Associates RENEWAL96Onyama Limba
1017Morrow M KolmetzFrance2024-06-02Feltz Printing Service QUALIFIED78Asiya Javayant
1018Jefferson S GauchoIndia2024-06-10Dorl, James J Esq RENEWAL72Xuxue Feng
1019Leon R GauchoIndia2024-06-09Feiner Bros QUALIFIED80Ivan Magalhaes
1020Francesco N StockhamIndia2024-06-04Benton, John B Jr RENEWAL84Ivan Magalhaes
1021Sinclair H MaletFrance2024-05-31Commercial Press NEGOTIATION97Stephen Shaw
1022Mujtaba G WhobreyItaly2024-05-20Morlong Associates PROPOSAL2Xuxue Feng
1023Jefferson J ButtGermany2024-05-29Printing Dimensions NEW3Ivan Magalhaes
1024Isabel Q OldroydCanada2024-05-28Truhlar And Truhlar Attys NEGOTIATION8Onyama Limba
1025Jennifer A PaprockiUnited Kingdom2024-06-17Morlong Associates NEGOTIATION55Xuxue Feng
1026Mayumi I PerinFrance2024-06-04Dorl, James J Esq NEW92Ioni Bowcher
1027Stacey I MaletCanada2024-06-08Benton, John B Jr NEW57Asiya Javayant
1028Salvatore V BowleyItaly2024-06-03Rangoni Of Florence QUALIFIED68Asiya Javayant
1029Izzy I PaprockiUnited Kingdom2024-05-27Chemel, James L Cpa RENEWAL36Ivan Magalhaes
1030Aditya Y StensethJapan2024-06-01Chapman, Ross E Esq PROPOSAL74Bernardo Dominic
1031Adams V DilliardAustralia2024-06-16Morlong Associates UNQUALIFIED61Xuxue Feng
1032Salvatore M GillianRussia2024-05-24Chanay, Jeffrey A Esq NEW6Ioni Bowcher
1033Nicolas P BriddickJapan2024-05-23Buckley Miller Wright UNQUALIFIED10Ivan Magalhaes
1034Juan D PoquetteAustralia2024-06-11Feiner Bros PROPOSAL86Xuxue Feng
1035Tony F DoeCanada2024-05-28Truhlar And Truhlar Attys PROPOSAL98Xuxue Feng
1036Leon O SlusarskiItaly2024-05-30Chapman, Ross E Esq UNQUALIFIED23Onyama Limba
1037Greenwood H BowleyGermany2024-05-29King, Christopher A Esq QUALIFIED76Bernardo Dominic
1038Emily P StensethBrazil2024-05-23Truhlar And Truhlar Attys NEW85Onyama Limba
1039Juan T DilliardFrance2024-06-07Printing Dimensions QUALIFIED19Anna Fali
1040Morrow K PoquetteUnited Kingdom2024-06-05Benton, John B Jr QUALIFIED43Anna Fali
1041Leon W TollnerGermany2024-05-24Chemel, James L Cpa UNQUALIFIED96Elwin Sharvill
1042Sinclair F AlbaresArgentina2024-06-16Commercial Press NEGOTIATION52Stephen Shaw
1043Jones S VenereRussia2024-06-07King, Christopher A Esq RENEWAL16Onyama Limba
1044Misaki F CaldareraBrazil2024-06-15Dorl, James J Esq NEGOTIATION20Stephen Shaw
1045Alejandro V ButtJapan2024-06-07Morlong Associates PROPOSAL94Ivan Magalhaes
1046Antonio K AmigonFrance2024-06-12Feltz Printing Service QUALIFIED86Stephen Shaw
1047Greenwood L MaletArgentina2024-06-16Rangoni Of Florence NEW4Elwin Sharvill
1048Mujtaba E SlusarskiFrance2024-05-25Truhlar And Truhlar Attys RENEWAL82Amy Elsner
1049Izzy V CaudyUnited Kingdom2024-06-04Chemel, James L Cpa NEW38Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aditya V KuskoFranceElwin Sharvill UNQUALIFIED
Kadeem C NestleRussiaBernardo Dominic QUALIFIED
Emily Z MacleadAustraliaIoni Bowcher NEW
Jones I BowleyItalyElwin Sharvill NEW
Tony E NestleRussiaIvan Magalhaes NEGOTIATION
David W WieserJapanAnna Fali NEGOTIATION
Faith B KolmetzGermanyOnyama Limba RENEWAL
Chavez G IturbideRussiaIvan Magalhaes QUALIFIED
Deepesh X MorascaSpainAmy Elsner NEGOTIATION
Octavia X NestleSpainAmy Elsner PROPOSAL
Jefferson P KuskoRussiaXuxue Feng QUALIFIED
Aruna I InouyeFranceBernardo Dominic NEW
Juan X StockhamSpainElwin Sharvill NEGOTIATION
Alejandro K AlbaresItalyIvan Magalhaes NEW
Mayumi L PerinJapanIvan Magalhaes UNQUALIFIED
Aruna C SchemmerFranceIoni Bowcher RENEWAL
Isabel I GlickSpainElwin Sharvill RENEWAL
David Y VocelkaRussiaAsiya Javayant QUALIFIED
Aruna H MorascaRussiaStephen Shaw NEW
Misaki R CaudyGermanyIoni Bowcher QUALIFIED
Jefferson R BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Leja P CampainFranceIvan Magalhaes PROPOSAL
Ashley H BriddickAustraliaXuxue Feng QUALIFIED
Arvin L RulapaughArgentinaElwin Sharvill PROPOSAL
Greenwood T StockhamArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois C SchemmerItalyOnyama Limba UNQUALIFIED
Ivar N InouyeItalyElwin Sharvill PROPOSAL
Arvin B KuskoAustraliaStephen Shaw NEW
Kadeem N RoysterJapanXuxue Feng QUALIFIED
Deepesh Y ShinkoIndiaIoni Bowcher QUALIFIED
Leon G TollnerGermanyStephen Shaw NEW
Greenwood C PerinItalyBernardo Dominic RENEWAL
Smith J SlusarskiJapanElwin Sharvill RENEWAL
Ivar L AmigonJapanAsiya Javayant NEW
Antonio U AlbaresRussiaBernardo Dominic NEW
Aditya S WieserArgentinaOnyama Limba QUALIFIED
Sinclair R KuskoSpainIoni Bowcher RENEWAL
James L DilliardRussiaBernardo Dominic NEW
Isabel S MaletBrazilBernardo Dominic UNQUALIFIED
Munro F ShinkoAustraliaStephen Shaw RENEWAL
Ashley L WieserGermanyElwin Sharvill NEW
Adams C RoysterItalyAmy Elsner UNQUALIFIED
David W StensethIndiaBernardo Dominic PROPOSAL
Nicolas F DoeBrazilXuxue Feng NEGOTIATION
Tony Z SaylorsUnited KingdomAsiya Javayant RENEWAL
Stacey U GillianItalyOnyama Limba NEW
Mayumi V OstroskyIndiaBernardo Dominic NEGOTIATION
Chavez L NickaIndiaOnyama Limba QUALIFIED
Stacey W MacleadAustraliaAmy Elsner RENEWAL
Nicolas Q FollerFranceIoni Bowcher NEGOTIATION
Frozen Columns
Name
Jones Z Maclead
Mujtaba Q Stockham
Izzy G Glick
Costa B Albares
Aika L Marrier
Octavia K Gillian
Juan B Tollner
Silvio T Tollner
Isabel A Rim
Isabel R Slusarski
Salvatore S Schemmer
Aika Q Rulapaugh
Aditya N Morasca
Munro F Flosi
Costa H Venere
Kadeem D Maclead
Sinclair R Sergi
Mayumi R Foller
Kadeem E Slusarski
Sinclair H Bolognia
Juan F Oldroyd
Salvatore U Slusarski
Alejandro J Venere
Maria A Poquette
Aika A Saylors
Johnson B Chui
Isabel T Rim
Aditya D Inouye
Jefferson V Flosi
Leja H Stockham
Antonio K Rim
Clifford Z Ruta
Julie A Chui
Maisha P Vocelka
Sinclair T Ruta
Greenwood V Rim
Maria L Amigon
Aruna M Stenseth
Darci Q Campain
Alejandro L Saylors
Ivar N Sergi
Deepesh J Dilliard
Maria S Caldarera
Aruna Z Figeroa
David P Iturbide
David Z Paprocki
Ricardo V Amigon
Emily R Kusko
Tony E Marrier
Salvatore P Glick
IdCountryDate
1000Australia2024-05-20
1001Canada2024-05-21
1002Japan2024-06-13
1003Australia2024-05-29
1004France2024-05-26
1005Australia2024-05-21
1006Argentina2024-05-28
1007Italy2024-06-05
1008Canada2024-06-17
1009India2024-05-31
1010Spain2024-06-14
1011Japan2024-05-20
1012India2024-05-26
1013Italy2024-06-05
1014United Kingdom2024-05-27
1015Russia2024-05-19
1016Italy2024-05-29
1017Brazil2024-05-27
1018Australia2024-06-11
1019Canada2024-06-12
1020Spain2024-06-06
1021France2024-06-09
1022Russia2024-05-26
1023Spain2024-05-28
1024India2024-06-15
1025Italy2024-05-21
1026Italy2024-05-30
1027Germany2024-06-13
1028Canada2024-05-31
1029Australia2024-05-20
1030Japan2024-05-19
1031Germany2024-06-04
1032Brazil2024-06-02
1033Australia2024-06-03
1034Canada2024-06-05
1035Russia2024-05-21
1036France2024-06-09
1037Canada2024-05-27
1038Russia2024-06-02
1039Italy2024-05-31
1040Argentina2024-05-30
1041Argentina2024-06-14
1042Spain2024-06-16
1043France2024-05-22
1044Spain2024-06-06
1045Brazil2024-06-03
1046Australia2024-06-14
1047France2024-05-20
1048Australia2024-05-31
1049Spain2024-05-22

On-Demand Data

NameIdCountryDate
Juan J Paprocki1000France2024-06-03
Faith T Albares1001France2024-06-13
David U Royster1002Italy2024-06-14
Wickens A Dilliard1003France2024-06-13
Maisha C Inouye1004India2024-05-30
Faith T Garufi1005Brazil2024-05-20
Mujtaba N Caldarera1006Italy2024-06-02
Octavia M Bolognia1007Russia2024-06-10
Darci U Kusko1008Russia2024-06-07
Maisha C Kolmetz1009Germany2024-05-26
Leon Z Albares1010Germany2024-05-19
Chavez K Poquette1011France2024-06-09
Arvin R Perin1012Argentina2024-06-03
Alejandro Y Butt1013Spain2024-05-26
Tony G Malet1014Russia2024-06-12
Emily X Kolmetz1015Australia2024-05-19
Chavez O Tollner1016India2024-06-16
Murillo Z Kolmetz1017France2024-05-23
Greenwood D Kusko1018Japan2024-06-17
Costa N Schemmer1019Spain2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Z PaprockiGermanyBernardo Dominic RENEWAL
Smith P MarrierCanadaElwin Sharvill PROPOSAL
Cody L NickaUnited KingdomAsiya Javayant UNQUALIFIED
Morrow E KuskoRussiaAsiya Javayant QUALIFIED
Kaitlin C SlusarskiAustraliaXuxue Feng PROPOSAL
Juan T ButtBrazilAnna Fali RENEWAL
Jeanfrancois S FollerCanadaAnna Fali UNQUALIFIED
Costa T TollnerCanadaElwin Sharvill QUALIFIED
Nicolas M GauchoIndiaOnyama Limba QUALIFIED
Murillo R StensethFranceStephen Shaw RENEWAL
Alejandro C BowleyAustraliaXuxue Feng UNQUALIFIED
Misaki M BowleyRussiaAnna Fali PROPOSAL
Kaitlin S SchemmerBrazilOnyama Limba NEGOTIATION
Arvin E DoeFranceXuxue Feng QUALIFIED
Cody L VenereFranceIoni Bowcher QUALIFIED
Murillo T NestleSpainIoni Bowcher QUALIFIED
Adams P DilliardRussiaAnna Fali PROPOSAL
Aditya L ShinkoBrazilStephen Shaw NEW
Claire P GillianJapanOnyama Limba NEW
Jones I ChuiRussiaIvan Magalhaes NEW
Ashley P VenereIndiaBernardo Dominic NEGOTIATION
Johnson O RoysterAustraliaAnna Fali NEGOTIATION
Rodrigues N VenereGermanyOnyama Limba NEW
Smith V CaldareraCanadaOnyama Limba QUALIFIED
Arvin N DarakjyIndiaIoni Bowcher QUALIFIED
Greenwood Y RoysterSpainAsiya Javayant UNQUALIFIED
Murillo R DoeArgentinaElwin Sharvill NEGOTIATION
Tony P SlusarskiIndiaBernardo Dominic RENEWAL
Antonio Z SaylorsGermanyBernardo Dominic NEW
Aruna K PerinCanadaElwin Sharvill PROPOSAL
Nicolas F BriddickJapanAnna Fali PROPOSAL
Johnson P RoysterCanadaStephen Shaw UNQUALIFIED
Faith E DoeCanadaIvan Magalhaes QUALIFIED
Aditya L InouyeJapanElwin Sharvill NEGOTIATION
Cody I OstroskyGermanyOnyama Limba NEGOTIATION
Alejandro J GillianGermanyAmy Elsner UNQUALIFIED
Murillo M InouyeRussiaElwin Sharvill PROPOSAL
Mujtaba B InouyeAustraliaIvan Magalhaes PROPOSAL
Morrow W MarrierItalyAmy Elsner NEW
Maria D StensethJapanAnna Fali UNQUALIFIED

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