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
Darci T NestleItalyIvan Magalhaes RENEWAL
Chavez S MaletJapanStephen Shaw QUALIFIED
Mujtaba V CampainSpainAnna Fali RENEWAL
Rodrigues X StockhamSpainOnyama Limba RENEWAL
Greenwood X CaldareraBrazilElwin Sharvill RENEWAL
Ricardo G IturbideUnited KingdomAnna Fali QUALIFIED
Izzy S CampainAustraliaAsiya Javayant QUALIFIED
Leon L MorascaIndiaXuxue Feng NEGOTIATION
Leon U BriddickUnited KingdomElwin Sharvill NEGOTIATION
Jefferson F GauchoGermanyAsiya Javayant UNQUALIFIED
Darci G WieserAustraliaBernardo Dominic PROPOSAL
Izzy H WaycottCanadaAsiya Javayant NEW
Arvin O DilliardAustraliaElwin Sharvill QUALIFIED
Misaki O StockhamAustraliaIoni Bowcher RENEWAL
Greenwood U OldroydBrazilAmy Elsner UNQUALIFIED
Ricardo I MarrierUnited KingdomAmy Elsner UNQUALIFIED
Aditya T AmigonSpainAsiya Javayant NEW
Morrow A PoquetteFranceStephen Shaw QUALIFIED
Mujtaba R MaletJapanBernardo Dominic PROPOSAL
Izzy N WaycottAustraliaAsiya Javayant PROPOSAL
Salvatore R StockhamAustraliaBernardo Dominic UNQUALIFIED
Maisha A MarrierBrazilAsiya Javayant QUALIFIED
Alejandro D PaprockiIndiaAmy Elsner RENEWAL
Adams O BowleyGermanyElwin Sharvill RENEWAL
Mayumi U FlosiRussiaIvan Magalhaes PROPOSAL
Sinclair G MorascaFranceIoni Bowcher UNQUALIFIED
Izzy L GlickCanadaOnyama Limba PROPOSAL
Clifford Y WieserItalyAnna Fali RENEWAL
Alejandro C FollerJapanXuxue Feng PROPOSAL
Claire N DoeFranceXuxue Feng PROPOSAL
Smith U FlosiJapanXuxue Feng RENEWAL
Adams S InouyeArgentinaElwin Sharvill UNQUALIFIED
Mujtaba N InouyeCanadaAsiya Javayant QUALIFIED
Stacey I SaylorsFranceStephen Shaw NEGOTIATION
Stacey G AmigonGermanyIvan Magalhaes NEGOTIATION
Francesco Y BriddickArgentinaXuxue Feng RENEWAL
Jennifer W RutaUnited KingdomStephen Shaw QUALIFIED
Rodrigues U WaycottSpainIvan Magalhaes NEW
Ashley D SergiFranceIoni Bowcher NEGOTIATION
Jones M SchemmerGermanyStephen Shaw NEGOTIATION
Chavez L ButtIndiaAmy Elsner UNQUALIFIED
Izzy T StockhamBrazilOnyama Limba PROPOSAL
Tony O DarakjyGermanyOnyama Limba NEGOTIATION
Leja W ChuiGermanyStephen Shaw UNQUALIFIED
Aditya M ButtBrazilStephen Shaw RENEWAL
Ashley J BowleyJapanIoni Bowcher PROPOSAL
Adams D GarufiAustraliaIvan Magalhaes QUALIFIED
Jefferson V RimJapanAmy Elsner QUALIFIED
Ashley Y KolmetzRussiaXuxue Feng RENEWAL
Octavia M OstroskyFranceIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams N BologniaJapanAsiya Javayant QUALIFIED
Wickens D OldroydGermanyElwin Sharvill NEGOTIATION
Octavia I FlosiUnited KingdomBernardo Dominic RENEWAL
Ashley S FollerCanadaAsiya Javayant RENEWAL
Maria J TollnerCanadaOnyama Limba UNQUALIFIED
Aditya I ChuiGermanyElwin Sharvill PROPOSAL
Claire P PerinItalyAmy Elsner NEGOTIATION
Aruna F DilliardSpainAsiya Javayant RENEWAL
Alejandro R IturbideArgentinaAmy Elsner RENEWAL
Ashley X TollnerCanadaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar B FerenczBrazil2025-04-14Feltz Printing Service UNQUALIFIED50Ivan Magalhaes
1001Nicolas Q PerinBrazil2025-04-24Benton, John B Jr QUALIFIED42Elwin Sharvill
1002Wickens P MaletItaly2025-04-14Chemel, James L Cpa RENEWAL35Ivan Magalhaes
1003Murillo K PaprockiBrazil2025-05-02Feltz Printing Service PROPOSAL90Ivan Magalhaes
1004Octavia F RoysterItaly2025-04-26Feiner Bros RENEWAL58Amy Elsner
1005Cody X CaudyGermany2025-04-23Rangoni Of Florence UNQUALIFIED78Ivan Magalhaes
1006Johnson V MacleadAustralia2025-04-18Commercial Press NEW10Onyama Limba
1007Johnson E CaldareraFrance2025-04-07Feiner Bros UNQUALIFIED33Bernardo Dominic
1008Smith R OldroydRussia2025-04-21Printing Dimensions UNQUALIFIED56Onyama Limba
1009David S OldroydUnited Kingdom2025-04-08Rousseaux, Michael Esq NEGOTIATION64Bernardo Dominic
1010Adams G IturbideArgentina2025-04-07Dorl, James J Esq NEGOTIATION61Amy Elsner
1011Murillo J OstroskySpain2025-04-07Chapman, Ross E Esq UNQUALIFIED53Anna Fali
1012Tony U StockhamItaly2025-04-06Dorl, James J Esq RENEWAL58Xuxue Feng
1013Adams L IturbideRussia2025-04-14Chapman, Ross E Esq NEW29Stephen Shaw
1014Clifford F InouyeArgentina2025-04-22Buckley Miller Wright NEW11Elwin Sharvill
1015Nicolas L PaprockiUnited Kingdom2025-05-01Benton, John B Jr NEGOTIATION46Bernardo Dominic
1016Aruna V GillianArgentina2025-04-17Printing Dimensions NEW33Onyama Limba
1017Murillo F BriddickAustralia2025-04-20Rangoni Of Florence NEW80Onyama Limba
1018David C PoquetteGermany2025-04-10King, Christopher A Esq NEGOTIATION13Bernardo Dominic
1019Jefferson F KolmetzJapan2025-04-04Truhlar And Truhlar Attys QUALIFIED44Ivan Magalhaes
1020Jefferson K NickaSpain2025-04-21Commercial Press NEW36Ivan Magalhaes
1021Darci N CaldareraSpain2025-04-17Benton, John B Jr NEGOTIATION17Ivan Magalhaes
1022Cody Z NestleRussia2025-04-27Chapman, Ross E Esq NEW80Asiya Javayant
1023Maria L FollerJapan2025-04-27Benton, John B Jr PROPOSAL16Anna Fali
1024Clifford X GlickIndia2025-04-17Printing Dimensions RENEWAL46Onyama Limba
1025Jeanfrancois P PoquetteSpain2025-05-03Benton, John B Jr PROPOSAL86Anna Fali
1026Claire A DilliardIndia2025-04-05Chemel, James L Cpa PROPOSAL99Asiya Javayant
1027Mujtaba C MaletIndia2025-04-19Rangoni Of Florence UNQUALIFIED42Xuxue Feng
1028Murillo A StockhamCanada2025-04-10Printing Dimensions PROPOSAL17Amy Elsner
1029Wickens J InouyeGermany2025-04-05Commercial Press NEW42Ioni Bowcher
1030Jennifer T WieserArgentina2025-04-16King, Christopher A Esq UNQUALIFIED16Bernardo Dominic
1031Izzy X VenereUnited Kingdom2025-04-07Chemel, James L Cpa NEW64Bernardo Dominic
1032Tony R FollerFrance2025-05-01King, Christopher A Esq NEGOTIATION1Ivan Magalhaes
1033Adams O CaldareraAustralia2025-04-25Feltz Printing Service QUALIFIED26Onyama Limba
1034Emily U MorascaJapan2025-04-23Commercial Press NEGOTIATION12Asiya Javayant
1035Deepesh U RutaGermany2025-04-22Morlong Associates QUALIFIED93Bernardo Dominic
1036Adams D ButtGermany2025-04-12Chapman, Ross E Esq UNQUALIFIED82Anna Fali
1037Aditya K RimAustralia2025-04-08Benton, John B Jr NEGOTIATION81Elwin Sharvill
1038Darci L PaprockiJapan2025-04-11Chemel, James L Cpa NEW19Anna Fali
1039Adams A OstroskyItaly2025-05-01Buckley Miller Wright NEGOTIATION70Anna Fali
1040Arvin U FlosiRussia2025-04-14Feltz Printing Service NEW82Amy Elsner
1041Wickens W RulapaughUnited Kingdom2025-04-24Feltz Printing Service RENEWAL93Anna Fali
1042Tony L GillianBrazil2025-04-23Rousseaux, Michael Esq PROPOSAL46Bernardo Dominic
1043Ricardo I KolmetzSpain2025-04-13Morlong Associates RENEWAL49Onyama Limba
1044David F WhobreyArgentina2025-04-04Printing Dimensions NEW84Anna Fali
1045Misaki L SergiJapan2025-04-12Feltz Printing Service RENEWAL81Ioni Bowcher
1046Ashley U PoquetteArgentina2025-04-16Rangoni Of Florence NEW72Elwin Sharvill
1047Octavia Z SaylorsAustralia2025-04-30Rangoni Of Florence NEGOTIATION90Bernardo Dominic
1048Arvin X StockhamArgentina2025-04-16Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1049Aruna U VocelkaRussia2025-04-27Dorl, James J Esq QUALIFIED19Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo U ChuiCanadaAmy Elsner PROPOSAL
Munro T CaudyItalyAsiya Javayant UNQUALIFIED
Antonio W BowleyCanadaElwin Sharvill QUALIFIED
Maria D IturbideUnited KingdomXuxue Feng PROPOSAL
Izzy N DarakjyGermanyBernardo Dominic UNQUALIFIED
Leon R IturbideArgentinaStephen Shaw QUALIFIED
Claire I MaletBrazilXuxue Feng QUALIFIED
Greenwood O KolmetzGermanyOnyama Limba UNQUALIFIED
Aika F CaudyCanadaIoni Bowcher QUALIFIED
Izzy A MaletJapanStephen Shaw PROPOSAL
Arvin V IturbideUnited KingdomAnna Fali NEW
Ricardo E MaletSpainAsiya Javayant QUALIFIED
Antonio B GauchoUnited KingdomBernardo Dominic NEGOTIATION
Johnson J SaylorsJapanAmy Elsner UNQUALIFIED
Leja J FigeroaBrazilStephen Shaw RENEWAL
Munro B StensethAustraliaIvan Magalhaes UNQUALIFIED
Tony D MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Leon O NickaBrazilStephen Shaw NEW
Sinclair N FigeroaBrazilAnna Fali NEW
Silvio S MorascaAustraliaIvan Magalhaes QUALIFIED
Emily M PoquetteArgentinaOnyama Limba QUALIFIED
Darci T ShinkoBrazilOnyama Limba NEGOTIATION
David U CaudyArgentinaElwin Sharvill NEW
Jeanfrancois C MacleadSpainAnna Fali PROPOSAL
Clifford W MaletIndiaAnna Fali NEW
Octavia Y MaletRussiaAmy Elsner NEGOTIATION
James Y OldroydArgentinaBernardo Dominic QUALIFIED
Deepesh L PerinGermanyElwin Sharvill RENEWAL
Arvin B WieserJapanOnyama Limba RENEWAL
Murillo G RulapaughGermanyElwin Sharvill RENEWAL
Isabel Y ShinkoIndiaAnna Fali QUALIFIED
Wickens Y PoquetteSpainBernardo Dominic PROPOSAL
Jennifer J InouyeBrazilAmy Elsner NEW
Ricardo C StensethBrazilIvan Magalhaes UNQUALIFIED
Juan Y MorascaItalyElwin Sharvill UNQUALIFIED
Juan V PerinBrazilIoni Bowcher QUALIFIED
Ashley O KuskoCanadaOnyama Limba NEW
Morrow B InouyeItalyBernardo Dominic NEGOTIATION
Sinclair B InouyeIndiaIoni Bowcher PROPOSAL
Ashley B GauchoArgentinaIvan Magalhaes QUALIFIED
Morrow Z MaletItalyBernardo Dominic NEW
Stacey D OstroskySpainAsiya Javayant UNQUALIFIED
Jennifer E FigeroaArgentinaStephen Shaw PROPOSAL
Mujtaba C IturbideAustraliaAnna Fali NEGOTIATION
Maisha B GauchoSpainOnyama Limba RENEWAL
Maisha W KolmetzItalyIvan Magalhaes QUALIFIED
Francesco T PerinAustraliaOnyama Limba UNQUALIFIED
Antonio M ChuiSpainIvan Magalhaes NEW
Faith M DoeFranceOnyama Limba RENEWAL
Francesco D DarakjyAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Jeanfrancois M Paprocki
David D Chui
Ricardo I Ferencz
Darci U Bolognia
Smith P Doe
Ivar X Ferencz
Leon A Inouye
Chavez W Nicka
Munro K Tollner
Cody U Stockham
Aruna S Sergi
Darci Q Nicka
Salvatore J Slusarski
Jeanfrancois K Ferencz
Wickens S Albares
Nicolas Q Rulapaugh
Wickens T Albares
Jefferson O Gillian
Murillo T Ferencz
Faith G Bowley
Mayumi B Ruta
Aditya H Ostrosky
James O Gaucho
Ricardo W Doe
Chavez E Wieser
Antonio K Butt
Smith E Albares
Maisha T Whobrey
Munro U Malet
Maria U Vocelka
Darci M Slusarski
Deepesh J Rulapaugh
Smith Y Gillian
Adams R Nicka
Nicolas T Briddick
Maria L Figeroa
Stacey S Vocelka
Nicolas B Maclead
Rodrigues F Whobrey
Arvin L Flosi
Costa X Vocelka
Tony E Stenseth
Leon Z Garufi
Ivar J Briddick
Arvin A Darakjy
Octavia K Kusko
Ivar G Rulapaugh
Izzy R Flosi
Darci Z Kolmetz
Sinclair O Briddick
IdCountryDate
1000Germany2025-04-21
1001Italy2025-04-05
1002Spain2025-04-07
1003India2025-04-13
1004France2025-05-03
1005Australia2025-04-25
1006Spain2025-04-04
1007Canada2025-04-26
1008United Kingdom2025-05-01
1009Spain2025-04-10
1010Russia2025-04-04
1011Spain2025-04-15
1012Brazil2025-04-06
1013India2025-04-09
1014Argentina2025-05-03
1015Spain2025-04-20
1016India2025-04-20
1017Spain2025-04-04
1018Brazil2025-04-23
1019Argentina2025-05-03
1020Australia2025-04-14
1021Australia2025-04-18
1022Italy2025-04-26
1023Italy2025-04-17
1024Germany2025-04-19
1025Argentina2025-04-30
1026Germany2025-04-30
1027United Kingdom2025-04-16
1028Brazil2025-04-06
1029Spain2025-05-02
1030France2025-04-18
1031Brazil2025-04-23
1032Brazil2025-04-29
1033Argentina2025-04-09
1034Argentina2025-04-10
1035Australia2025-05-03
1036United Kingdom2025-04-26
1037France2025-04-26
1038United Kingdom2025-04-30
1039Germany2025-04-20
1040Germany2025-04-17
1041Australia2025-04-05
1042Canada2025-04-28
1043Germany2025-04-28
1044United Kingdom2025-04-18
1045France2025-04-16
1046Spain2025-04-22
1047Canada2025-04-10
1048Argentina2025-05-03
1049France2025-04-28

On-Demand Data

NameIdCountryDate
Jefferson W Inouye1000Germany2025-04-11
Sinclair E Gillian1001France2025-04-08
Jeanfrancois I Amigon1002Brazil2025-04-05
Juan H Wieser1003Argentina2025-04-25
Jones L Albares1004France2025-04-09
Leja R Tollner1005Canada2025-04-07
Ashley S Whobrey1006France2025-04-11
Arvin R Whobrey1007Australia2025-04-29
Arvin A Schemmer1008Japan2025-04-19
Aditya A Caldarera1009India2025-05-02
Sinclair F Garufi1010Australia2025-04-07
Leon B Albares1011France2025-04-22
Aditya K Nicka1012Argentina2025-05-01
Deepesh D Saylors1013Italy2025-05-01
David T Whobrey1014Brazil2025-04-12
Aruna Q Butt1015Japan2025-04-27
Munro L Gillian1016Canada2025-04-11
Kaitlin K Maclead1017Brazil2025-04-27
Munro H Kusko1018Japan2025-04-19
Claire H Marrier1019France2025-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith A PaprockiIndiaIoni Bowcher QUALIFIED
Chavez O GarufiItalyAmy Elsner RENEWAL
Claire Y InouyeGermanyElwin Sharvill PROPOSAL
Aruna C SaylorsAustraliaIvan Magalhaes NEGOTIATION
Julie V MaletIndiaIoni Bowcher NEGOTIATION
Mayumi C BologniaArgentinaIvan Magalhaes RENEWAL
Ivar U CaldareraFranceOnyama Limba PROPOSAL
Jones O SergiCanadaIoni Bowcher QUALIFIED
Misaki N SlusarskiIndiaBernardo Dominic PROPOSAL
Sinclair E RulapaughJapanElwin Sharvill QUALIFIED
Salvatore P WhobreyJapanAnna Fali NEW
Mujtaba W OldroydBrazilIvan Magalhaes UNQUALIFIED
Maria K AmigonIndiaIvan Magalhaes RENEWAL
Ashley K PoquetteRussiaElwin Sharvill PROPOSAL
Isabel A AmigonGermanyBernardo Dominic NEW
Salvatore S FlosiGermanyIoni Bowcher NEGOTIATION
David V GauchoRussiaIoni Bowcher NEGOTIATION
Morrow B FollerSpainIoni Bowcher NEW
Stacey A BologniaJapanElwin Sharvill UNQUALIFIED
Kadeem R TollnerCanadaElwin Sharvill RENEWAL
Arvin K DoeSpainIoni Bowcher UNQUALIFIED
Izzy X WhobreyRussiaBernardo Dominic UNQUALIFIED
Antonio P ShinkoSpainBernardo Dominic QUALIFIED
Chavez Z InouyeItalyIvan Magalhaes NEGOTIATION
Kadeem F WieserUnited KingdomXuxue Feng NEW
James H NestleSpainAnna Fali RENEWAL
Murillo B PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Faith F CampainBrazilXuxue Feng RENEWAL
Greenwood G PoquetteArgentinaBernardo Dominic NEW
Leon U GauchoFranceElwin Sharvill NEGOTIATION
Aruna C MaletJapanOnyama Limba UNQUALIFIED
Aditya W MaletBrazilXuxue Feng PROPOSAL
Jefferson K OstroskySpainStephen Shaw NEGOTIATION
David P KolmetzSpainAnna Fali UNQUALIFIED
Johnson Q MaletFranceOnyama Limba PROPOSAL
Johnson B OldroydGermanyIvan Magalhaes PROPOSAL
David K KolmetzItalyAmy Elsner RENEWAL
Aruna Y NestleFranceAnna Fali UNQUALIFIED
Silvio K GauchoArgentinaIoni Bowcher UNQUALIFIED
Sinclair L FerenczBrazilElwin Sharvill 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>