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
Ashley J SlusarskiCanadaIoni Bowcher RENEWAL
James I NestleIndiaOnyama Limba RENEWAL
Jefferson A BriddickGermanyElwin Sharvill NEGOTIATION
Aruna I SlusarskiItalyStephen Shaw NEGOTIATION
Leja H VenereGermanyAmy Elsner NEGOTIATION
Chavez W SergiFranceElwin Sharvill RENEWAL
Jefferson O GillianRussiaAsiya Javayant NEGOTIATION
Leja A WaycottArgentinaAsiya Javayant NEW
Nicolas F PoquetteJapanIvan Magalhaes NEW
Rodrigues M CampainGermanyIvan Magalhaes UNQUALIFIED
Deepesh E DoeFranceXuxue Feng QUALIFIED
Jeanfrancois P RoysterGermanyAsiya Javayant NEW
Aika J OldroydCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois I SergiBrazilBernardo Dominic QUALIFIED
David G InouyeUnited KingdomXuxue Feng PROPOSAL
James O VenereItalyStephen Shaw RENEWAL
Antonio Y WaycottGermanyAmy Elsner NEW
Izzy Y ShinkoJapanIoni Bowcher RENEWAL
Antonio T WaycottIndiaOnyama Limba UNQUALIFIED
Aruna O GillianArgentinaXuxue Feng RENEWAL
Faith Y GauchoCanadaIvan Magalhaes UNQUALIFIED
Kaitlin H OstroskyItalyXuxue Feng PROPOSAL
Cody W StensethItalyStephen Shaw RENEWAL
Francesco M RutaIndiaBernardo Dominic RENEWAL
Alejandro X PerinUnited KingdomIoni Bowcher QUALIFIED
Mujtaba L WhobreyFranceIoni Bowcher PROPOSAL
Stacey A AmigonIndiaStephen Shaw QUALIFIED
Izzy O PaprockiSpainStephen Shaw UNQUALIFIED
Rodrigues E NestleCanadaElwin Sharvill PROPOSAL
Murillo P ShinkoGermanyAsiya Javayant PROPOSAL
Smith V CampainSpainElwin Sharvill UNQUALIFIED
Isabel P RulapaughCanadaAmy Elsner UNQUALIFIED
Aika B RimArgentinaAsiya Javayant UNQUALIFIED
Leja W BowleyArgentinaStephen Shaw NEW
Maisha D CampainRussiaOnyama Limba NEGOTIATION
Sinclair J PaprockiFranceIoni Bowcher QUALIFIED
Ricardo U PoquetteGermanyIoni Bowcher PROPOSAL
Greenwood U RutaGermanyAmy Elsner RENEWAL
Chavez C MacleadGermanyXuxue Feng NEW
Maisha T FigeroaArgentinaIvan Magalhaes NEGOTIATION
Ivar G TollnerRussiaIvan Magalhaes UNQUALIFIED
Isabel T KolmetzSpainIvan Magalhaes NEW
Cody Y SergiItalyAnna Fali NEGOTIATION
Misaki Z WaycottUnited KingdomXuxue Feng RENEWAL
Maisha T FlosiSpainOnyama Limba QUALIFIED
Rodrigues M SaylorsRussiaXuxue Feng PROPOSAL
Greenwood P TollnerItalyAnna Fali NEGOTIATION
Julie E MaletGermanyAmy Elsner RENEWAL
Aruna O CaldareraRussiaIvan Magalhaes NEW
Costa S WaycottBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha Y RimJapanElwin Sharvill NEW
Wickens O InouyeCanadaStephen Shaw RENEWAL
Jennifer X RulapaughJapanXuxue Feng QUALIFIED
Isabel B StockhamSpainAmy Elsner UNQUALIFIED
Aruna S FigeroaRussiaStephen Shaw QUALIFIED
Claire X KolmetzCanadaAsiya Javayant UNQUALIFIED
Ashley Z AmigonFranceIoni Bowcher NEW
Adams Q CaldareraArgentinaAmy Elsner NEW
Aika D KolmetzCanadaIvan Magalhaes NEW
Mayumi P VenereSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja C CampainIndia2024-05-19Printing Dimensions QUALIFIED72Asiya Javayant
1001Arvin E GillianGermany2024-05-19Chapman, Ross E Esq NEGOTIATION51Bernardo Dominic
1002Arvin Q WieserRussia2024-06-03Commercial Press QUALIFIED75Ivan Magalhaes
1003Izzy F PerinAustralia2024-05-28Feltz Printing Service NEW29Stephen Shaw
1004Ricardo I RoysterRussia2024-05-18Buckley Miller Wright PROPOSAL93Bernardo Dominic
1005Munro A AlbaresFrance2024-05-17Feltz Printing Service NEW26Anna Fali
1006Izzy Q ShinkoCanada2024-06-14Morlong Associates NEGOTIATION93Anna Fali
1007Faith F RulapaughFrance2024-05-21Benton, John B Jr NEGOTIATION31Elwin Sharvill
1008Claire W GauchoSpain2024-05-30Rangoni Of Florence PROPOSAL9Ivan Magalhaes
1009Izzy V NestleGermany2024-06-07Morlong Associates NEGOTIATION96Elwin Sharvill
1010Leja P MorascaIndia2024-05-21Chanay, Jeffrey A Esq QUALIFIED60Xuxue Feng
1011Munro C SchemmerGermany2024-05-22Buckley Miller Wright NEGOTIATION89Amy Elsner
1012Deepesh S TollnerUnited Kingdom2024-06-10Chapman, Ross E Esq NEGOTIATION98Ivan Magalhaes
1013Munro L AmigonCanada2024-05-31Truhlar And Truhlar Attys PROPOSAL71Bernardo Dominic
1014Jeanfrancois W MorascaIndia2024-05-28Chapman, Ross E Esq RENEWAL88Elwin Sharvill
1015Emily B StensethCanada2024-05-31Benton, John B Jr NEW43Asiya Javayant
1016Nicolas A IturbideSpain2024-06-04Printing Dimensions UNQUALIFIED87Asiya Javayant
1017Maisha R FigeroaArgentina2024-05-23Chemel, James L Cpa NEW55Anna Fali
1018Alejandro C KolmetzCanada2024-06-12King, Christopher A Esq PROPOSAL65Elwin Sharvill
1019Maria Y TollnerFrance2024-05-25King, Christopher A Esq PROPOSAL92Elwin Sharvill
1020Faith Y TollnerCanada2024-06-10Printing Dimensions RENEWAL35Ivan Magalhaes
1021Adams A IturbideBrazil2024-05-27King, Christopher A Esq NEW87Ioni Bowcher
1022Cody E VenereUnited Kingdom2024-05-31Chapman, Ross E Esq PROPOSAL1Xuxue Feng
1023Nicolas A SchemmerRussia2024-05-26Rousseaux, Michael Esq NEW23Ioni Bowcher
1024Claire X TollnerIndia2024-06-05Chemel, James L Cpa NEGOTIATION37Stephen Shaw
1025Chavez T FlosiIndia2024-06-07Commercial Press RENEWAL26Anna Fali
1026Leon A NestleCanada2024-05-17Truhlar And Truhlar Attys RENEWAL10Ivan Magalhaes
1027Antonio K PoquetteJapan2024-06-13Truhlar And Truhlar Attys NEW87Anna Fali
1028Smith Q InouyeCanada2024-06-06Feltz Printing Service PROPOSAL33Ivan Magalhaes
1029Kaitlin C ChuiArgentina2024-05-30Rangoni Of Florence NEW49Elwin Sharvill
1030Greenwood N BologniaUnited Kingdom2024-05-24Feltz Printing Service UNQUALIFIED49Bernardo Dominic
1031Juan W ChuiArgentina2024-06-10King, Christopher A Esq NEGOTIATION9Asiya Javayant
1032Arvin U SaylorsJapan2024-06-06Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1033Julie V NickaSpain2024-05-25Chemel, James L Cpa NEW36Ioni Bowcher
1034Sinclair B NickaFrance2024-05-27Chapman, Ross E Esq RENEWAL12Ivan Magalhaes
1035Darci A DilliardArgentina2024-06-03Commercial Press UNQUALIFIED18Onyama Limba
1036Julie T RoysterUnited Kingdom2024-06-03Rousseaux, Michael Esq NEW37Ioni Bowcher
1037Clifford X InouyeArgentina2024-06-02Feltz Printing Service UNQUALIFIED63Elwin Sharvill
1038Jeanfrancois F FerenczGermany2024-06-06Commercial Press QUALIFIED17Amy Elsner
1039Antonio O MaletBrazil2024-05-24Chemel, James L Cpa NEW4Onyama Limba
1040Misaki Z MaletUnited Kingdom2024-06-06Chanay, Jeffrey A Esq NEGOTIATION81Bernardo Dominic
1041Smith L BologniaUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED61Anna Fali
1042Jeanfrancois L NickaFrance2024-05-23Feltz Printing Service RENEWAL10Stephen Shaw
1043Octavia C InouyeAustralia2024-05-24Printing Dimensions PROPOSAL8Xuxue Feng
1044Leon W BowleyFrance2024-06-08Rousseaux, Michael Esq NEW17Xuxue Feng
1045Julie F DarakjyUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEGOTIATION73Amy Elsner
1046Alejandro Z RulapaughGermany2024-05-24Rousseaux, Michael Esq NEW19Amy Elsner
1047Maria P CaudyBrazil2024-06-03Printing Dimensions NEW58Xuxue Feng
1048Murillo I RutaAustralia2024-06-07Feiner Bros NEW40Bernardo Dominic
1049Isabel E SergiCanada2024-05-22Buckley Miller Wright QUALIFIED7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley G PaprockiItalyAmy Elsner NEW
Ivar D SlusarskiItalyOnyama Limba QUALIFIED
Misaki E ButtRussiaStephen Shaw NEW
Clifford V DarakjyCanadaStephen Shaw NEGOTIATION
Jennifer F InouyeFranceAnna Fali QUALIFIED
Ricardo X BowleyCanadaIvan Magalhaes PROPOSAL
Misaki V IturbideItalyAnna Fali PROPOSAL
Ricardo R RutaGermanyAmy Elsner NEW
Faith W MarrierArgentinaAsiya Javayant PROPOSAL
Aditya C MaletJapanBernardo Dominic NEGOTIATION
Chavez C WaycottArgentinaAmy Elsner RENEWAL
Sinclair P SlusarskiArgentinaBernardo Dominic RENEWAL
Juan R TollnerSpainAmy Elsner NEW
Greenwood X GillianArgentinaXuxue Feng NEW
Aruna W MaletGermanyOnyama Limba QUALIFIED
Isabel O OldroydArgentinaElwin Sharvill UNQUALIFIED
David E OstroskyArgentinaElwin Sharvill UNQUALIFIED
David Y DoeItalyXuxue Feng RENEWAL
Claire O WhobreyCanadaIvan Magalhaes RENEWAL
Ashley N RulapaughBrazilXuxue Feng NEGOTIATION
Darci E FollerJapanAsiya Javayant NEW
Mujtaba G PerinCanadaAnna Fali QUALIFIED
Munro T VocelkaAustraliaIvan Magalhaes PROPOSAL
Aditya O StensethIndiaAnna Fali UNQUALIFIED
Aika R ButtJapanStephen Shaw NEGOTIATION
Jeanfrancois B AlbaresIndiaIvan Magalhaes NEW
Jones O GillianGermanyAsiya Javayant RENEWAL
Juan V VenereRussiaAsiya Javayant NEW
Silvio E OstroskyArgentinaOnyama Limba QUALIFIED
Julie P IturbideCanadaBernardo Dominic NEW
Kaitlin A OstroskyCanadaIvan Magalhaes PROPOSAL
Mayumi Y CampainRussiaStephen Shaw PROPOSAL
David E MaletItalyAnna Fali NEGOTIATION
Jeanfrancois L MarrierJapanOnyama Limba RENEWAL
Mujtaba N SergiArgentinaIoni Bowcher NEGOTIATION
Jones F GlickItalyAmy Elsner NEW
Ashley C DoeFranceElwin Sharvill PROPOSAL
Stacey H StensethIndiaElwin Sharvill NEW
Salvatore F MorascaGermanyAnna Fali UNQUALIFIED
Jones T AlbaresAustraliaAsiya Javayant UNQUALIFIED
Emily U MacleadBrazilIoni Bowcher QUALIFIED
Darci Q NestleRussiaOnyama Limba NEW
Arvin I SergiGermanyOnyama Limba PROPOSAL
Adams H SlusarskiAustraliaAnna Fali QUALIFIED
Clifford C SergiCanadaElwin Sharvill NEW
Munro V OldroydItalyElwin Sharvill NEW
Ashley M IturbideBrazilAmy Elsner NEW
Juan S FerenczJapanBernardo Dominic NEGOTIATION
Aruna A FerenczGermanyIvan Magalhaes QUALIFIED
Rodrigues Q MorascaIndiaStephen Shaw PROPOSAL
Frozen Columns
Name
Chavez W Paprocki
Mujtaba N Glick
Aika U Vocelka
Adams G Maclead
Julie B Whobrey
Juan R Bolognia
Wickens G Bowley
Smith Y Kusko
Stacey C Sergi
Jeanfrancois L Maclead
Deepesh T Maclead
Salvatore O Shinko
Leon Q Bolognia
Aditya V Amigon
Costa S Caldarera
Clifford A Sergi
Clifford T Nestle
Deepesh Z Nicka
Murillo Z Sergi
Clifford U Marrier
Deepesh Q Chui
Munro Q Campain
James I Schemmer
Leja S Venere
Deepesh U Briddick
Izzy Y Malet
Murillo R Vocelka
Kaitlin H Foller
Claire T Perin
Jefferson B Ruta
Mujtaba V Tollner
Leon D Tollner
Salvatore A Bowley
Arvin J Kolmetz
Adams C Chui
Deepesh A Butt
Smith L Vocelka
Chavez J Sergi
Misaki G Wieser
Julie J Paprocki
Nicolas W Flosi
Jefferson U Inouye
Stacey O Ruta
Julie X Rulapaugh
Smith G Chui
Salvatore V Poquette
Salvatore E Oldroyd
Johnson H Whobrey
Jefferson Y Paprocki
Juan V Sergi
IdCountryDate
1000United Kingdom2024-06-08
1001Canada2024-05-19
1002India2024-05-20
1003Spain2024-05-29
1004Spain2024-06-08
1005Brazil2024-05-20
1006Germany2024-05-16
1007Australia2024-06-11
1008Argentina2024-06-13
1009India2024-06-03
1010Japan2024-05-17
1011Brazil2024-05-23
1012Canada2024-05-25
1013Germany2024-05-29
1014Germany2024-05-22
1015Canada2024-06-08
1016United Kingdom2024-06-12
1017France2024-06-07
1018France2024-06-14
1019Russia2024-06-09
1020Spain2024-05-25
1021Australia2024-05-29
1022Argentina2024-05-28
1023United Kingdom2024-06-14
1024Japan2024-05-30
1025France2024-06-12
1026Spain2024-06-13
1027Russia2024-05-27
1028Brazil2024-05-27
1029Italy2024-05-19
1030Germany2024-05-30
1031France2024-05-25
1032Russia2024-05-29
1033Argentina2024-05-20
1034United Kingdom2024-05-29
1035Italy2024-06-06
1036Spain2024-06-05
1037Australia2024-06-07
1038Australia2024-05-27
1039France2024-05-27
1040Italy2024-05-21
1041France2024-05-26
1042Japan2024-05-16
1043United Kingdom2024-06-01
1044Spain2024-06-13
1045France2024-05-16
1046Germany2024-06-05
1047Germany2024-05-31
1048Germany2024-05-31
1049Australia2024-06-04

On-Demand Data

NameIdCountryDate
Ivar G Ruta1000France2024-06-14
Nicolas F Venere1001Italy2024-06-02
Alejandro E Chui1002United Kingdom2024-06-10
Juan Y Perin1003Brazil2024-05-23
Jefferson S Malet1004Brazil2024-05-23
Clifford O Saylors1005Brazil2024-05-25
Jones H Maclead1006United Kingdom2024-06-06
Misaki S Garufi1007Brazil2024-06-01
Antonio R Rim1008Russia2024-06-02
Isabel J Figeroa1009Russia2024-06-04
Darci T Saylors1010Russia2024-05-29
Aika N Paprocki1011Germany2024-06-14
Deepesh U Butt1012Germany2024-05-29
Aditya D Kolmetz1013Argentina2024-06-03
Maria A Maclead1014Germany2024-05-24
Juan J Saylors1015India2024-06-01
Sinclair H Doe1016France2024-06-08
Maria C Doe1017India2024-06-05
Chavez N Briddick1018Canada2024-05-16
James N Tollner1019Canada2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey N AlbaresCanadaIvan Magalhaes NEW
Kaitlin R OstroskyItalyXuxue Feng QUALIFIED
Ricardo B IturbideRussiaOnyama Limba QUALIFIED
Chavez P MorascaIndiaOnyama Limba PROPOSAL
Mujtaba W InouyeArgentinaStephen Shaw UNQUALIFIED
David O RimItalyAsiya Javayant RENEWAL
James K BriddickCanadaIvan Magalhaes NEW
Aditya W FigeroaRussiaStephen Shaw NEGOTIATION
James V FigeroaJapanBernardo Dominic QUALIFIED
Aditya I BriddickJapanAnna Fali PROPOSAL
Cody H IturbideCanadaElwin Sharvill NEW
Deepesh R RulapaughSpainOnyama Limba UNQUALIFIED
Arvin U VocelkaRussiaOnyama Limba NEGOTIATION
Maria L IturbideItalyIvan Magalhaes QUALIFIED
Silvio S GauchoJapanIvan Magalhaes NEGOTIATION
Aditya K MorascaRussiaStephen Shaw PROPOSAL
Jeanfrancois Y RutaUnited KingdomElwin Sharvill UNQUALIFIED
Chavez G MarrierBrazilOnyama Limba NEW
Ricardo T FollerUnited KingdomIvan Magalhaes NEW
Maisha L NickaBrazilOnyama Limba NEW
Stacey M KolmetzJapanBernardo Dominic UNQUALIFIED
Ashley H NickaFranceStephen Shaw RENEWAL
Kadeem Z GillianArgentinaAnna Fali RENEWAL
Silvio W StensethCanadaAmy Elsner RENEWAL
Rodrigues O AlbaresCanadaOnyama Limba UNQUALIFIED
Kaitlin O RulapaughCanadaAnna Fali NEW
David A KuskoFranceElwin Sharvill PROPOSAL
Leja W WieserCanadaBernardo Dominic QUALIFIED
Francesco X GauchoCanadaIoni Bowcher UNQUALIFIED
Aika G ButtIndiaXuxue Feng NEW
Smith C BriddickIndiaAnna Fali UNQUALIFIED
Jeanfrancois K BriddickUnited KingdomElwin Sharvill PROPOSAL
Francesco T OstroskyCanadaIvan Magalhaes QUALIFIED
Leja G BowleySpainIoni Bowcher NEW
Salvatore W SaylorsArgentinaStephen Shaw QUALIFIED
Clifford B GarufiRussiaAmy Elsner PROPOSAL
Stacey I AlbaresRussiaAmy Elsner UNQUALIFIED
Stacey V SergiBrazilAsiya Javayant NEW
Rodrigues J OstroskyItalyBernardo Dominic NEGOTIATION
Silvio G KuskoBrazilIoni Bowcher NEW

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