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
Sinclair A MacleadArgentinaOnyama Limba PROPOSAL
Salvatore X ShinkoCanadaAnna Fali PROPOSAL
Arvin V MorascaJapanIoni Bowcher NEGOTIATION
Mujtaba X BriddickRussiaIoni Bowcher RENEWAL
Francesco H GlickIndiaAmy Elsner RENEWAL
Julie A SlusarskiSpainStephen Shaw NEW
Ivar N OstroskyJapanAmy Elsner QUALIFIED
Julie O SlusarskiArgentinaIvan Magalhaes RENEWAL
Kaitlin M WieserArgentinaIoni Bowcher PROPOSAL
Greenwood F ChuiBrazilStephen Shaw RENEWAL
Morrow R MacleadFranceStephen Shaw QUALIFIED
James D GillianUnited KingdomAsiya Javayant NEW
Aditya T KolmetzSpainAsiya Javayant NEGOTIATION
Jeanfrancois L MarrierGermanyAnna Fali UNQUALIFIED
Izzy P StensethGermanyBernardo Dominic RENEWAL
Munro X FollerUnited KingdomIvan Magalhaes RENEWAL
Sinclair E KolmetzBrazilAsiya Javayant QUALIFIED
Munro G MaletCanadaXuxue Feng NEW
Munro Y PoquetteBrazilAnna Fali QUALIFIED
Kaitlin O OstroskySpainAmy Elsner NEGOTIATION
Juan H NickaCanadaBernardo Dominic NEW
Leon X AlbaresBrazilIvan Magalhaes NEW
Costa L ChuiJapanStephen Shaw NEW
Misaki K DarakjyBrazilIvan Magalhaes NEGOTIATION
Rodrigues P SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Faith U FigeroaBrazilAnna Fali PROPOSAL
Mujtaba F RulapaughFranceAnna Fali NEGOTIATION
Julie R VenereGermanyIvan Magalhaes RENEWAL
Wickens G OstroskyGermanyAnna Fali RENEWAL
Arvin F BologniaCanadaStephen Shaw UNQUALIFIED
Wickens U CaldareraGermanyOnyama Limba RENEWAL
Kadeem I AlbaresBrazilAmy Elsner QUALIFIED
Ashley V AmigonSpainAsiya Javayant UNQUALIFIED
Kaitlin H VocelkaUnited KingdomOnyama Limba QUALIFIED
Rodrigues E BowleyGermanyAmy Elsner NEGOTIATION
Rodrigues R MacleadFranceAnna Fali PROPOSAL
Murillo A PaprockiAustraliaIoni Bowcher NEW
Nicolas N KolmetzAustraliaIvan Magalhaes PROPOSAL
Johnson C SchemmerBrazilAsiya Javayant RENEWAL
Alejandro M CampainIndiaStephen Shaw PROPOSAL
Juan B FerenczFranceAsiya Javayant UNQUALIFIED
Emily A SergiAustraliaAnna Fali QUALIFIED
Aditya Y RoysterGermanyBernardo Dominic UNQUALIFIED
Sinclair J StensethJapanStephen Shaw PROPOSAL
Cody R RutaJapanIvan Magalhaes QUALIFIED
Alejandro S MacleadRussiaAsiya Javayant QUALIFIED
Johnson M GlickJapanAnna Fali PROPOSAL
Mayumi J PoquetteJapanXuxue Feng UNQUALIFIED
James H MaletBrazilIoni Bowcher PROPOSAL
Kadeem V CaudyFranceAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel A IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Darci P RoysterAustraliaAsiya Javayant QUALIFIED
Rodrigues D SaylorsUnited KingdomBernardo Dominic QUALIFIED
Wickens Q FollerIndiaAsiya Javayant UNQUALIFIED
Kaitlin Y RimItalyStephen Shaw NEW
Francesco S SergiArgentinaIoni Bowcher PROPOSAL
Faith W MarrierGermanyOnyama Limba PROPOSAL
Kadeem T OstroskyFranceAmy Elsner QUALIFIED
Wickens G VenereSpainOnyama Limba QUALIFIED
Arvin F MaletIndiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar S DarakjyAustralia2024-06-08Chemel, James L Cpa UNQUALIFIED2Ivan Magalhaes
1001James F AlbaresAustralia2024-06-06Buckley Miller Wright NEGOTIATION94Anna Fali
1002Mayumi B InouyeIndia2024-06-08Rousseaux, Michael Esq RENEWAL56Amy Elsner
1003Jeanfrancois O DarakjyCanada2024-06-19King, Christopher A Esq NEGOTIATION36Anna Fali
1004Deepesh A IturbideJapan2024-05-25Feltz Printing Service RENEWAL44Stephen Shaw
1005Smith I SergiCanada2024-06-09Chanay, Jeffrey A Esq PROPOSAL92Ivan Magalhaes
1006Isabel P OstroskyBrazil2024-05-26Buckley Miller Wright NEW69Stephen Shaw
1007Isabel O ButtItaly2024-06-14Feiner Bros QUALIFIED67Ivan Magalhaes
1008Johnson S SergiRussia2024-06-23Chanay, Jeffrey A Esq RENEWAL48Anna Fali
1009Johnson C RimBrazil2024-06-02Chemel, James L Cpa RENEWAL36Ivan Magalhaes
1010Leja P GauchoItaly2024-06-16Chemel, James L Cpa RENEWAL91Asiya Javayant
1011Julie R TollnerRussia2024-06-23Printing Dimensions UNQUALIFIED86Ivan Magalhaes
1012Salvatore Y DarakjyItaly2024-06-10Chemel, James L Cpa UNQUALIFIED74Ioni Bowcher
1013Chavez L GarufiAustralia2024-06-09King, Christopher A Esq NEGOTIATION3Stephen Shaw
1014Ricardo S ButtArgentina2024-06-12King, Christopher A Esq RENEWAL95Ioni Bowcher
1015Leja I AmigonBrazil2024-05-26Rousseaux, Michael Esq RENEWAL71Asiya Javayant
1016Leja L FlosiArgentina2024-05-26King, Christopher A Esq NEGOTIATION11Stephen Shaw
1017Sinclair Q VocelkaJapan2024-06-07Printing Dimensions NEGOTIATION85Elwin Sharvill
1018Stacey F OldroydAustralia2024-06-21Rousseaux, Michael Esq RENEWAL28Asiya Javayant
1019Johnson V BowleySpain2024-06-10Benton, John B Jr NEGOTIATION73Bernardo Dominic
1020Faith E NestleRussia2024-05-28Chanay, Jeffrey A Esq NEW53Stephen Shaw
1021Sinclair R KolmetzArgentina2024-05-29Rousseaux, Michael Esq RENEWAL3Asiya Javayant
1022Greenwood L RulapaughArgentina2024-05-29Rangoni Of Florence RENEWAL41Onyama Limba
1023Tony L GlickIndia2024-06-02Feiner Bros UNQUALIFIED14Asiya Javayant
1024Stacey A AmigonBrazil2024-06-19King, Christopher A Esq UNQUALIFIED96Elwin Sharvill
1025Nicolas K PerinSpain2024-06-22Commercial Press UNQUALIFIED81Ioni Bowcher
1026Adams Q RoysterRussia2024-06-16Feltz Printing Service QUALIFIED95Elwin Sharvill
1027Arvin X ButtArgentina2024-05-25Buckley Miller Wright QUALIFIED96Asiya Javayant
1028Morrow C MaletBrazil2024-06-17Rangoni Of Florence PROPOSAL34Elwin Sharvill
1029Julie E StockhamRussia2024-06-21Rousseaux, Michael Esq RENEWAL91Amy Elsner
1030Costa Z WhobreyIndia2024-06-17Morlong Associates NEW41Xuxue Feng
1031Faith S GarufiItaly2024-06-20Chanay, Jeffrey A Esq PROPOSAL21Ivan Magalhaes
1032Sinclair S FlosiSpain2024-06-23Feltz Printing Service QUALIFIED11Bernardo Dominic
1033Aruna K ShinkoArgentina2024-06-01Commercial Press RENEWAL73Ioni Bowcher
1034Darci D MorascaUnited Kingdom2024-06-11Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1035Leja H PaprockiGermany2024-06-19King, Christopher A Esq PROPOSAL1Bernardo Dominic
1036Mujtaba Z OstroskyCanada2024-06-01Dorl, James J Esq NEGOTIATION62Anna Fali
1037Leja S PoquetteBrazil2024-06-15Rangoni Of Florence UNQUALIFIED21Onyama Limba
1038Chavez L CampainArgentina2024-05-26Dorl, James J Esq UNQUALIFIED57Bernardo Dominic
1039Jones Q CaudyGermany2024-05-26Rousseaux, Michael Esq QUALIFIED19Asiya Javayant
1040Octavia M ShinkoJapan2024-06-15Printing Dimensions UNQUALIFIED22Ioni Bowcher
1041Leja F GarufiGermany2024-06-23Rangoni Of Florence PROPOSAL56Xuxue Feng
1042Salvatore V BriddickSpain2024-06-07Morlong Associates NEGOTIATION12Anna Fali
1043Ricardo Q PerinCanada2024-06-14King, Christopher A Esq NEGOTIATION25Bernardo Dominic
1044Tony V SchemmerAustralia2024-06-22Printing Dimensions NEGOTIATION54Onyama Limba
1045Claire D FlosiCanada2024-05-26Benton, John B Jr PROPOSAL62Amy Elsner
1046Rodrigues T MaletRussia2024-06-22Chemel, James L Cpa RENEWAL3Bernardo Dominic
1047Ricardo B TollnerRussia2024-05-29Feltz Printing Service NEW94Amy Elsner
1048Antonio V FollerBrazil2024-05-26Rangoni Of Florence NEGOTIATION42Elwin Sharvill
1049Mayumi Q GarufiCanada2024-05-29Printing Dimensions PROPOSAL27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones N CaldareraRussiaAsiya Javayant NEGOTIATION
Tony I BowleySpainStephen Shaw QUALIFIED
Juan L MacleadItalyBernardo Dominic UNQUALIFIED
Costa E FollerGermanyIvan Magalhaes RENEWAL
Francesco Z SaylorsSpainElwin Sharvill RENEWAL
Jefferson I PoquetteCanadaAmy Elsner UNQUALIFIED
Kadeem J OldroydSpainAsiya Javayant QUALIFIED
Jeanfrancois V AmigonFranceAmy Elsner UNQUALIFIED
Aika W SlusarskiItalyIoni Bowcher NEW
Misaki C GarufiBrazilIoni Bowcher RENEWAL
Arvin A FlosiJapanIvan Magalhaes PROPOSAL
Faith U RutaFranceStephen Shaw NEW
Mayumi W DarakjyAustraliaAsiya Javayant UNQUALIFIED
Mujtaba Y OldroydFranceStephen Shaw UNQUALIFIED
Faith O OstroskySpainAmy Elsner PROPOSAL
Jones P FollerItalyOnyama Limba NEW
Costa P SlusarskiCanadaXuxue Feng UNQUALIFIED
Izzy U ChuiAustraliaXuxue Feng NEGOTIATION
Jones Q OldroydJapanAmy Elsner UNQUALIFIED
Tony A RulapaughAustraliaAmy Elsner NEW
Aruna Q CaldareraFranceBernardo Dominic QUALIFIED
Antonio P RutaItalyIoni Bowcher UNQUALIFIED
Rodrigues F MaletSpainStephen Shaw NEW
Mayumi N WhobreyFranceOnyama Limba PROPOSAL
Alejandro D BowleyIndiaIvan Magalhaes RENEWAL
Wickens F PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Francesco A DilliardCanadaAsiya Javayant UNQUALIFIED
Rodrigues I FerenczCanadaAnna Fali UNQUALIFIED
Wickens Q FerenczJapanElwin Sharvill NEW
David H VenereAustraliaIoni Bowcher RENEWAL
Aditya M BriddickJapanBernardo Dominic UNQUALIFIED
Arvin V WaycottRussiaAnna Fali UNQUALIFIED
Wickens J RutaFranceXuxue Feng NEW
Jeanfrancois M MaletGermanyAmy Elsner RENEWAL
Jefferson I MaletJapanBernardo Dominic NEW
Francesco B VocelkaItalyElwin Sharvill UNQUALIFIED
Faith O OldroydSpainBernardo Dominic NEGOTIATION
Leon M BriddickSpainAnna Fali NEW
Emily V VenereGermanyAmy Elsner NEGOTIATION
Jennifer S RulapaughItalyAmy Elsner NEW
Ivar U SchemmerArgentinaAnna Fali PROPOSAL
Izzy K GauchoAustraliaStephen Shaw RENEWAL
Ivar K DilliardAustraliaAsiya Javayant NEW
Cody X DilliardJapanAsiya Javayant RENEWAL
Darci C WaycottBrazilAmy Elsner NEGOTIATION
Juan V SergiIndiaAmy Elsner UNQUALIFIED
Deepesh M CampainCanadaOnyama Limba UNQUALIFIED
Maria G AmigonIndiaXuxue Feng NEGOTIATION
Francesco X InouyeIndiaStephen Shaw NEGOTIATION
Leon L FollerIndiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Alejandro O Inouye
Stacey Y Glick
Ricardo U Glick
Jefferson J Malet
Silvio V Royster
Silvio L Doe
Alejandro V Butt
Kaitlin L Gaucho
Izzy J Whobrey
Deepesh Z Kusko
Smith W Amigon
Adams Q Tollner
Clifford J Nicka
Maisha Q Caudy
Aruna H Wieser
Murillo L Vocelka
Antonio B Stenseth
Julie K Garufi
Smith A Inouye
Julie W Iturbide
Leja Q Inouye
Mayumi N Nicka
Costa C Poquette
Leon E Paprocki
Jefferson P Albares
Izzy A Figeroa
Aditya P Rulapaugh
Rodrigues U Stenseth
Emily Y Gaucho
Emily Z Darakjy
Faith T Doe
Faith H Rim
Ivar C Kusko
Mujtaba Y Perin
Isabel I Saylors
Jones R Vocelka
Juan I Inouye
Antonio E Morasca
Alejandro I Ferencz
Munro G Garufi
Deepesh P Stenseth
Maisha W Maclead
Francesco H Rulapaugh
Wickens O Caldarera
Juan D Garufi
Aika U Briddick
Jefferson I Albares
Kaitlin U Caudy
Emily H Wieser
Johnson F Venere
IdCountryDate
1000India2024-06-15
1001Russia2024-05-27
1002Russia2024-06-16
1003Italy2024-05-28
1004Russia2024-06-01
1005Japan2024-05-27
1006Japan2024-06-14
1007United Kingdom2024-06-09
1008Spain2024-06-04
1009Italy2024-06-23
1010Japan2024-06-22
1011Russia2024-06-19
1012Canada2024-06-12
1013India2024-05-30
1014India2024-06-02
1015Japan2024-06-17
1016Italy2024-06-01
1017Canada2024-06-15
1018Spain2024-06-19
1019Italy2024-06-07
1020Spain2024-06-10
1021Canada2024-05-26
1022Canada2024-06-03
1023France2024-06-03
1024Brazil2024-06-04
1025United Kingdom2024-06-20
1026Japan2024-06-20
1027United Kingdom2024-05-31
1028Germany2024-05-27
1029Canada2024-05-26
1030Canada2024-06-16
1031Spain2024-06-16
1032Australia2024-05-25
1033Canada2024-06-17
1034Italy2024-06-17
1035Spain2024-05-27
1036Germany2024-06-06
1037Russia2024-06-06
1038India2024-06-07
1039Germany2024-06-14
1040Argentina2024-06-02
1041Spain2024-06-23
1042India2024-06-21
1043Argentina2024-06-12
1044Argentina2024-06-10
1045Japan2024-06-13
1046United Kingdom2024-06-04
1047Australia2024-06-11
1048Australia2024-06-11
1049Argentina2024-06-19

On-Demand Data

NameIdCountryDate
Maisha U Perin1000Germany2024-06-19
Mujtaba W Morasca1001Brazil2024-05-27
Jefferson Y Dilliard1002Russia2024-06-05
Maisha D Figeroa1003Brazil2024-06-20
Mayumi Q Venere1004Italy2024-06-03
Arvin C Rulapaugh1005Brazil2024-05-29
Mayumi G Gillian1006France2024-06-02
Mayumi C Gillian1007Canada2024-06-06
Misaki F Kusko1008Germany2024-06-16
Alejandro P Briddick1009United Kingdom2024-06-08
Murillo A Iturbide1010Argentina2024-06-06
Isabel C Campain1011Germany2024-05-28
Jennifer N Caldarera1012Spain2024-06-20
Octavia R Stenseth1013India2024-06-14
Nicolas B Royster1014Argentina2024-06-02
Stacey T Kusko1015Russia2024-06-23
Alejandro I Rim1016Russia2024-06-07
Juan G Foller1017Italy2024-06-22
Smith F Paprocki1018Germany2024-06-08
Arvin B Caudy1019Australia2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem H MarrierRussiaBernardo Dominic NEW
Clifford O OldroydJapanAnna Fali NEW
Chavez C DarakjyRussiaStephen Shaw QUALIFIED
Salvatore N SchemmerSpainAsiya Javayant NEGOTIATION
Isabel I MacleadCanadaIvan Magalhaes UNQUALIFIED
Kadeem J MaletGermanyOnyama Limba QUALIFIED
Greenwood J OstroskyRussiaIoni Bowcher PROPOSAL
Aditya G GlickAustraliaOnyama Limba RENEWAL
Claire G KuskoAustraliaBernardo Dominic RENEWAL
Adams I VenereCanadaAnna Fali PROPOSAL
Alejandro K NickaGermanyOnyama Limba NEGOTIATION
Smith T InouyeGermanyAnna Fali RENEWAL
Isabel K NickaCanadaElwin Sharvill NEW
Mayumi Q PaprockiBrazilBernardo Dominic NEW
Leon W AmigonBrazilOnyama Limba RENEWAL
Mujtaba V GarufiCanadaIoni Bowcher NEW
Rodrigues V RutaIndiaXuxue Feng RENEWAL
Jefferson K GlickRussiaStephen Shaw NEGOTIATION
Octavia U PaprockiRussiaStephen Shaw PROPOSAL
Misaki T ChuiJapanAsiya Javayant NEW
Claire F KuskoArgentinaXuxue Feng RENEWAL
Salvatore V PoquetteGermanyElwin Sharvill NEW
Rodrigues J TollnerItalyStephen Shaw QUALIFIED
Adams J PaprockiItalyElwin Sharvill PROPOSAL
Cody V GarufiFranceXuxue Feng UNQUALIFIED
Emily R MacleadFranceAmy Elsner UNQUALIFIED
Silvio R FollerJapanAsiya Javayant PROPOSAL
Emily I RimArgentinaBernardo Dominic PROPOSAL
Ashley C PaprockiAustraliaAnna Fali QUALIFIED
Mayumi Y PerinRussiaElwin Sharvill RENEWAL
Jones I GauchoItalyElwin Sharvill PROPOSAL
Jeanfrancois A MarrierFranceXuxue Feng UNQUALIFIED
Clifford Z WhobreyCanadaIvan Magalhaes NEW
Jefferson P BriddickArgentinaBernardo Dominic NEGOTIATION
Aditya A GlickBrazilIoni Bowcher NEW
Clifford Z MaletAustraliaAnna Fali UNQUALIFIED
Ivar Q SaylorsGermanyAmy Elsner NEGOTIATION
Alejandro T NestleArgentinaIoni Bowcher PROPOSAL
Jefferson E VocelkaBrazilStephen Shaw RENEWAL
Mujtaba I StensethGermanyBernardo Dominic QUALIFIED

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