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 D VenereGermanyAnna Fali PROPOSAL
Maisha O FlosiArgentinaBernardo Dominic RENEWAL
Misaki M MaletGermanyElwin Sharvill RENEWAL
Aruna T InouyeBrazilBernardo Dominic NEW
Silvio Z WaycottJapanStephen Shaw NEW
Tony A BowleySpainOnyama Limba NEW
Cody K SlusarskiJapanAmy Elsner NEW
Claire L BowleyGermanyIoni Bowcher NEW
Octavia T FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Maria U WaycottBrazilAmy Elsner NEGOTIATION
Maisha I GlickArgentinaIoni Bowcher QUALIFIED
Jones V SaylorsCanadaOnyama Limba UNQUALIFIED
Jones P StensethGermanyElwin Sharvill UNQUALIFIED
Alejandro B PoquetteCanadaAmy Elsner NEGOTIATION
Wickens N MaletUnited KingdomAnna Fali PROPOSAL
Arvin N NestleUnited KingdomXuxue Feng QUALIFIED
Rodrigues Z StensethUnited KingdomOnyama Limba PROPOSAL
Izzy W BowleyUnited KingdomStephen Shaw QUALIFIED
Aika E CampainItalyAmy Elsner NEW
Aika A GarufiSpainOnyama Limba NEW
Francesco E MaletItalyAsiya Javayant QUALIFIED
Johnson B StockhamSpainElwin Sharvill UNQUALIFIED
Aruna I RutaArgentinaAsiya Javayant UNQUALIFIED
James V KuskoBrazilOnyama Limba QUALIFIED
Faith T TollnerFranceOnyama Limba QUALIFIED
Alejandro D MaletRussiaAsiya Javayant PROPOSAL
Adams A FigeroaRussiaBernardo Dominic PROPOSAL
Emily L KolmetzBrazilXuxue Feng RENEWAL
Francesco J RimBrazilElwin Sharvill RENEWAL
Johnson J WaycottJapanIvan Magalhaes NEW
Aditya N GarufiFranceAnna Fali QUALIFIED
Izzy D NestleUnited KingdomIvan Magalhaes QUALIFIED
Juan Y DoeItalyAmy Elsner NEW
James E BriddickJapanOnyama Limba NEW
Claire Y MaletJapanAmy Elsner PROPOSAL
Mayumi D TollnerAustraliaOnyama Limba UNQUALIFIED
Clifford E RimSpainElwin Sharvill QUALIFIED
Greenwood D WieserIndiaIvan Magalhaes QUALIFIED
Johnson N FerenczBrazilAmy Elsner PROPOSAL
Alejandro Z IturbideUnited KingdomIoni Bowcher QUALIFIED
Silvio Z NestleArgentinaOnyama Limba UNQUALIFIED
Leja H FigeroaSpainAmy Elsner UNQUALIFIED
Johnson B GillianFranceIoni Bowcher PROPOSAL
Jones O CampainGermanyIvan Magalhaes NEGOTIATION
Jones A OldroydArgentinaBernardo Dominic NEW
Isabel C FollerArgentinaOnyama Limba NEGOTIATION
Mujtaba Q NickaGermanyIoni Bowcher NEGOTIATION
Antonio U DarakjyFranceBernardo Dominic QUALIFIED
Nicolas Q FerenczAustraliaBernardo Dominic PROPOSAL
Arvin S RimIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony J GillianUnited KingdomIvan Magalhaes NEW
Antonio Y BowleyRussiaIvan Magalhaes RENEWAL
Sinclair Q PoquetteSpainAmy Elsner UNQUALIFIED
Isabel W KuskoRussiaBernardo Dominic PROPOSAL
Deepesh K FerenczAustraliaBernardo Dominic NEGOTIATION
Julie C SergiCanadaElwin Sharvill QUALIFIED
Jennifer D FigeroaSpainElwin Sharvill NEGOTIATION
Jefferson H ButtItalyIvan Magalhaes NEGOTIATION
Ivar Q RoysterJapanBernardo Dominic UNQUALIFIED
Aditya Z PoquetteSpainStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David F BowleyItaly2024-05-18Benton, John B Jr QUALIFIED57Amy Elsner
1001Smith X OldroydJapan2024-05-01Feiner Bros UNQUALIFIED48Ioni Bowcher
1002Nicolas T BologniaItaly2024-04-29Rangoni Of Florence RENEWAL87Ioni Bowcher
1003Mayumi Q GlickSpain2024-05-04Benton, John B Jr RENEWAL33Elwin Sharvill
1004Misaki F CaudyGermany2024-05-24Chapman, Ross E Esq QUALIFIED58Ioni Bowcher
1005Antonio X DilliardRussia2024-05-03Truhlar And Truhlar Attys NEGOTIATION83Amy Elsner
1006Morrow K MarrierFrance2024-04-28Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1007Jefferson I MacleadSpain2024-05-18Commercial Press PROPOSAL19Anna Fali
1008Aditya T PoquetteFrance2024-05-24Dorl, James J Esq QUALIFIED1Onyama Limba
1009Jennifer C GarufiRussia2024-05-13Chemel, James L Cpa UNQUALIFIED73Ivan Magalhaes
1010Jennifer C MorascaJapan2024-05-02Rangoni Of Florence NEW0Onyama Limba
1011Francesco Q MaletBrazil2024-04-26Morlong Associates NEGOTIATION6Ioni Bowcher
1012Claire F FerenczUnited Kingdom2024-04-26Benton, John B Jr QUALIFIED8Asiya Javayant
1013Misaki O ShinkoUnited Kingdom2024-05-14Chapman, Ross E Esq NEW60Elwin Sharvill
1014Aika Z WhobreyAustralia2024-05-03Morlong Associates RENEWAL22Stephen Shaw
1015Octavia L BowleyBrazil2024-05-08Rousseaux, Michael Esq QUALIFIED36Ioni Bowcher
1016Kadeem I AmigonIndia2024-05-14Buckley Miller Wright NEW40Bernardo Dominic
1017Maria T WaycottItaly2024-05-13Dorl, James J Esq NEW70Elwin Sharvill
1018Izzy J SergiBrazil2024-05-20Printing Dimensions PROPOSAL65Bernardo Dominic
1019Julie Z DoeItaly2024-05-03Chemel, James L Cpa NEGOTIATION18Xuxue Feng
1020David S ShinkoSpain2024-05-04Feiner Bros RENEWAL92Xuxue Feng
1021Francesco M PerinArgentina2024-05-25King, Christopher A Esq PROPOSAL16Amy Elsner
1022Nicolas Y PaprockiBrazil2024-05-14Feiner Bros RENEWAL61Xuxue Feng
1023Isabel O NickaSpain2024-05-23Feiner Bros NEW60Amy Elsner
1024Darci G VocelkaFrance2024-05-09Chapman, Ross E Esq RENEWAL32Ioni Bowcher
1025Jennifer N WaycottRussia2024-04-26Morlong Associates PROPOSAL14Amy Elsner
1026Jones W StensethCanada2024-05-18Chapman, Ross E Esq NEW52Ivan Magalhaes
1027Mayumi N OstroskyJapan2024-05-05Feiner Bros RENEWAL92Amy Elsner
1028Chavez H MarrierCanada2024-05-09Commercial Press RENEWAL83Xuxue Feng
1029James Q VenereArgentina2024-05-05Truhlar And Truhlar Attys RENEWAL80Ioni Bowcher
1030Rodrigues O MaletRussia2024-05-17Benton, John B Jr NEGOTIATION38Asiya Javayant
1031Ricardo D NickaFrance2024-05-09Chapman, Ross E Esq RENEWAL80Onyama Limba
1032Jennifer O FlosiBrazil2024-05-02Morlong Associates RENEWAL57Ivan Magalhaes
1033Francesco A MaletBrazil2024-05-08Buckley Miller Wright NEGOTIATION0Xuxue Feng
1034Arvin L WieserGermany2024-05-18Truhlar And Truhlar Attys NEW31Ioni Bowcher
1035David Y MaletArgentina2024-05-22Chapman, Ross E Esq UNQUALIFIED93Onyama Limba
1036Maisha P DilliardArgentina2024-04-26Rousseaux, Michael Esq RENEWAL23Anna Fali
1037Aika W CaldareraCanada2024-05-05Commercial Press QUALIFIED20Stephen Shaw
1038Antonio Q PoquetteArgentina2024-05-18Chapman, Ross E Esq UNQUALIFIED59Xuxue Feng
1039Mujtaba Q PaprockiJapan2024-05-14Chemel, James L Cpa PROPOSAL67Anna Fali
1040Stacey T MacleadIndia2024-05-04Chemel, James L Cpa RENEWAL93Amy Elsner
1041Misaki J GlickIndia2024-05-08Feiner Bros QUALIFIED22Anna Fali
1042Ivar T KuskoRussia2024-05-15Rangoni Of Florence QUALIFIED14Bernardo Dominic
1043Wickens K ShinkoGermany2024-05-23Commercial Press QUALIFIED68Stephen Shaw
1044Ivar O WieserGermany2024-05-18Rousseaux, Michael Esq RENEWAL29Xuxue Feng
1045Rodrigues W NestleRussia2024-05-13Commercial Press PROPOSAL89Bernardo Dominic
1046Alejandro E RulapaughCanada2024-05-16Printing Dimensions NEGOTIATION33Amy Elsner
1047Maria B ShinkoAustralia2024-04-29Benton, John B Jr NEW70Onyama Limba
1048Morrow D ChuiUnited Kingdom2024-05-03Feiner Bros NEGOTIATION4Ivan Magalhaes
1049Tony G CaudyFrance2024-04-26Truhlar And Truhlar Attys RENEWAL52Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ashley M DilliardIndiaStephen Shaw NEGOTIATION
Costa L StockhamJapanAmy Elsner PROPOSAL
Emily J SergiIndiaXuxue Feng RENEWAL
Aruna H StensethItalyOnyama Limba UNQUALIFIED
Deepesh Q TollnerJapanBernardo Dominic QUALIFIED
Claire K DoeItalyElwin Sharvill UNQUALIFIED
Deepesh J StockhamBrazilXuxue Feng PROPOSAL
Ivar D DilliardArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois V SlusarskiFranceAsiya Javayant NEW
Silvio M VocelkaRussiaAnna Fali PROPOSAL
Misaki V RimJapanXuxue Feng UNQUALIFIED
Adams W MaletIndiaStephen Shaw NEGOTIATION
Leon E BowleyIndiaAmy Elsner QUALIFIED
Aika K ShinkoArgentinaElwin Sharvill PROPOSAL
Greenwood H KolmetzItalyBernardo Dominic NEW
Ashley N MacleadArgentinaStephen Shaw UNQUALIFIED
Ricardo H MorascaAustraliaElwin Sharvill RENEWAL
Leja O RimBrazilBernardo Dominic PROPOSAL
Aruna X SchemmerGermanyElwin Sharvill NEW
Ashley A MacleadArgentinaIoni Bowcher RENEWAL
Arvin Y FerenczIndiaIoni Bowcher PROPOSAL
Claire Z NickaUnited KingdomXuxue Feng RENEWAL
Adams M ShinkoCanadaStephen Shaw PROPOSAL
Alejandro Z AmigonFranceAsiya Javayant PROPOSAL
Antonio E IturbideRussiaXuxue Feng PROPOSAL
Arvin K BriddickItalyStephen Shaw RENEWAL
Stacey M RutaItalyIvan Magalhaes RENEWAL
Wickens F GillianJapanAnna Fali QUALIFIED
Clifford G StensethArgentinaIoni Bowcher NEW
Juan B FollerBrazilIoni Bowcher QUALIFIED
Faith B CaldareraRussiaOnyama Limba NEW
Stacey R ChuiUnited KingdomIvan Magalhaes NEW
Juan C BriddickFranceOnyama Limba NEW
Chavez H OstroskyRussiaAsiya Javayant RENEWAL
Deepesh J RoysterSpainIvan Magalhaes NEW
Chavez E PerinUnited KingdomAnna Fali RENEWAL
Ashley F OstroskyBrazilAsiya Javayant RENEWAL
Francesco D MaletCanadaOnyama Limba RENEWAL
Kadeem Q BologniaGermanyIvan Magalhaes UNQUALIFIED
Aika E MacleadAustraliaOnyama Limba NEW
Nicolas H CampainCanadaBernardo Dominic UNQUALIFIED
Ashley X KuskoBrazilIvan Magalhaes UNQUALIFIED
Francesco V RutaSpainIvan Magalhaes NEGOTIATION
Kaitlin A GarufiArgentinaStephen Shaw RENEWAL
Johnson P ChuiArgentinaBernardo Dominic QUALIFIED
Cody T MaletJapanStephen Shaw NEGOTIATION
Deepesh V StockhamCanadaBernardo Dominic NEW
Smith T NickaRussiaXuxue Feng RENEWAL
Tony I GlickSpainXuxue Feng QUALIFIED
Costa C AmigonRussiaAmy Elsner NEW
Frozen Columns
Name
Juan Q Inouye
Mayumi L Maclead
Johnson J Saylors
Octavia Q Albares
Clifford F Stockham
Johnson M Bowley
Julie Q Dilliard
Arvin M Kusko
Ricardo Q Whobrey
Antonio N Iturbide
Rodrigues Y Stenseth
Leon C Darakjy
Cody U Saylors
Antonio T Caudy
Aika V Vocelka
Salvatore N Rim
Faith K Flosi
Emily S Foller
Nicolas M Ferencz
Aditya L Ferencz
Julie O Tollner
Arvin O Oldroyd
Kaitlin K Ostrosky
Murillo Y Gaucho
Izzy H Foller
Sinclair U Iturbide
Kaitlin E Caldarera
Jeanfrancois D Royster
Ricardo F Paprocki
Ashley Z Caudy
Greenwood T Royster
Isabel Z Rim
Chavez O Rim
Aditya N Doe
Sinclair K Gaucho
Wickens N Caldarera
Ivar G Campain
Aditya Y Nicka
Chavez J Albares
Octavia L Paprocki
Jefferson D Doe
Francesco B Gaucho
Isabel C Bolognia
Juan X Paprocki
Morrow Z Iturbide
Octavia G Campain
Faith J Gillian
Kaitlin Y Campain
Wickens X Inouye
Isabel L Whobrey
IdCountryDate
1000Canada2024-05-20
1001Russia2024-05-09
1002Australia2024-05-18
1003Argentina2024-05-12
1004Canada2024-05-15
1005Canada2024-05-01
1006United Kingdom2024-05-22
1007Brazil2024-04-27
1008Russia2024-05-25
1009Italy2024-05-11
1010Spain2024-05-05
1011Argentina2024-05-02
1012Canada2024-04-27
1013Argentina2024-05-07
1014Italy2024-05-24
1015Japan2024-05-02
1016Australia2024-04-28
1017Italy2024-05-20
1018Germany2024-04-28
1019Germany2024-05-21
1020Germany2024-05-06
1021Italy2024-05-15
1022Japan2024-05-03
1023Argentina2024-05-16
1024France2024-05-17
1025United Kingdom2024-05-14
1026Russia2024-05-05
1027Canada2024-05-09
1028India2024-05-08
1029Germany2024-05-25
1030Italy2024-05-11
1031United Kingdom2024-05-10
1032Germany2024-04-26
1033France2024-04-30
1034India2024-05-05
1035Australia2024-05-09
1036Canada2024-05-22
1037Argentina2024-05-25
1038Russia2024-04-29
1039France2024-05-12
1040Brazil2024-05-08
1041Italy2024-04-28
1042India2024-04-27
1043Spain2024-05-15
1044Australia2024-05-16
1045Russia2024-05-18
1046Canada2024-05-14
1047Spain2024-05-17
1048Russia2024-05-23
1049Germany2024-05-11

On-Demand Data

NameIdCountryDate
Julie U Bowley1000United Kingdom2024-05-07
Maria H Shinko1001Italy2024-05-06
David V Gaucho1002Russia2024-04-28
Munro B Malet1003Brazil2024-05-19
Ricardo V Venere1004United Kingdom2024-05-07
Antonio Y Rulapaugh1005United Kingdom2024-05-09
Deepesh M Foller1006Brazil2024-05-04
Mujtaba O Ferencz1007Australia2024-05-24
Arvin Z Marrier1008Brazil2024-04-30
Salvatore H Amigon1009Australia2024-05-13
Wickens V Bowley1010United Kingdom2024-05-16
Faith K Royster1011France2024-05-06
Johnson P Gillian1012Germany2024-05-14
Leja Q Foller1013Australia2024-05-11
Smith Q Briddick1014France2024-05-02
Jefferson D Glick1015Argentina2024-05-07
Ashley D Royster1016Spain2024-05-21
Jones K Saylors1017Brazil2024-05-05
Faith T Doe1018Russia2024-05-03
Jefferson P Shinko1019Brazil2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Q CaldareraJapanAsiya Javayant NEGOTIATION
Isabel V SaylorsAustraliaIoni Bowcher QUALIFIED
Ricardo U DoeJapanElwin Sharvill UNQUALIFIED
Jones C FlosiBrazilIvan Magalhaes PROPOSAL
Aika R VenereArgentinaAmy Elsner UNQUALIFIED
Salvatore N NestleRussiaIoni Bowcher NEW
Claire E ChuiIndiaAmy Elsner UNQUALIFIED
Emily T AlbaresGermanyAnna Fali NEW
Salvatore Q InouyeRussiaOnyama Limba RENEWAL
Tony B MorascaGermanyBernardo Dominic NEW
Adams K SchemmerCanadaBernardo Dominic UNQUALIFIED
James Q ShinkoRussiaStephen Shaw QUALIFIED
Salvatore Z FerenczGermanyStephen Shaw UNQUALIFIED
Leja K FerenczJapanElwin Sharvill UNQUALIFIED
Deepesh R GillianJapanOnyama Limba NEW
Adams S NestleIndiaAnna Fali QUALIFIED
Mayumi E MorascaAustraliaXuxue Feng QUALIFIED
Misaki C KuskoItalyAsiya Javayant PROPOSAL
Nicolas Z SchemmerJapanAsiya Javayant RENEWAL
Silvio K MaletSpainAsiya Javayant RENEWAL
Jeanfrancois D FollerSpainAnna Fali PROPOSAL
Rodrigues U OstroskyFranceOnyama Limba UNQUALIFIED
Francesco I ChuiAustraliaElwin Sharvill UNQUALIFIED
Cody P GauchoArgentinaAmy Elsner NEW
Murillo A MorascaFranceStephen Shaw NEW
Alejandro B NestleGermanyBernardo Dominic NEW
Silvio Q WhobreyItalyXuxue Feng UNQUALIFIED
Aika S GillianIndiaAmy Elsner UNQUALIFIED
Murillo G KolmetzArgentinaXuxue Feng NEGOTIATION
Jennifer D BowleySpainAmy Elsner PROPOSAL
Aika R PaprockiCanadaAsiya Javayant RENEWAL
Costa S PaprockiAustraliaIoni Bowcher NEGOTIATION
Sinclair A AlbaresCanadaBernardo Dominic NEW
Kaitlin M WieserFranceIoni Bowcher NEW
Stacey A MarrierBrazilOnyama Limba RENEWAL
Antonio N DilliardUnited KingdomAnna Fali RENEWAL
Claire H MaletJapanAmy Elsner QUALIFIED
Mujtaba F PoquetteJapanXuxue Feng UNQUALIFIED
David P PoquetteArgentinaBernardo Dominic RENEWAL
Jones Y BowleyUnited KingdomXuxue Feng 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>