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
Antonio E MaletUnited KingdomXuxue Feng NEW
Salvatore P StockhamGermanyAsiya Javayant RENEWAL
Jefferson P SchemmerUnited KingdomOnyama Limba QUALIFIED
Leja S IturbideSpainXuxue Feng NEGOTIATION
Juan N ButtGermanyAmy Elsner NEGOTIATION
Murillo O RulapaughArgentinaBernardo Dominic NEW
Ivar X OldroydFranceXuxue Feng PROPOSAL
Leon I DilliardJapanElwin Sharvill PROPOSAL
Julie A BriddickSpainAmy Elsner NEGOTIATION
Isabel T NickaUnited KingdomXuxue Feng NEGOTIATION
James S SergiJapanElwin Sharvill QUALIFIED
Isabel Z DarakjyIndiaIoni Bowcher RENEWAL
Arvin W VocelkaSpainStephen Shaw NEGOTIATION
Salvatore G MacleadFranceAnna Fali NEW
Kaitlin C ShinkoAustraliaAmy Elsner UNQUALIFIED
Silvio U SergiArgentinaIoni Bowcher QUALIFIED
Chavez Q NestleSpainAsiya Javayant NEW
Murillo V RoysterFranceXuxue Feng PROPOSAL
Maria K BowleyRussiaAmy Elsner RENEWAL
Morrow J NestleBrazilAnna Fali PROPOSAL
Costa N PoquetteGermanyElwin Sharvill RENEWAL
Aruna Z RulapaughItalyElwin Sharvill UNQUALIFIED
Alejandro O GillianRussiaAnna Fali PROPOSAL
Costa F SlusarskiFranceXuxue Feng NEGOTIATION
Sinclair J DarakjyBrazilAmy Elsner UNQUALIFIED
James G PaprockiJapanXuxue Feng UNQUALIFIED
Maisha Y KolmetzUnited KingdomStephen Shaw RENEWAL
Morrow V DarakjyItalyIvan Magalhaes PROPOSAL
Jennifer E VenereJapanBernardo Dominic NEW
James A StockhamGermanyElwin Sharvill NEGOTIATION
Izzy E InouyeFranceOnyama Limba NEW
James Y SergiIndiaOnyama Limba NEGOTIATION
Tony X NickaUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues J KolmetzBrazilIvan Magalhaes NEW
Mayumi E WieserJapanBernardo Dominic NEGOTIATION
Clifford P MorascaIndiaStephen Shaw NEW
Nicolas Q FlosiJapanBernardo Dominic RENEWAL
Stacey H TollnerRussiaIoni Bowcher PROPOSAL
Johnson D AlbaresBrazilOnyama Limba QUALIFIED
Mujtaba I RulapaughArgentinaStephen Shaw UNQUALIFIED
Cody L WaycottBrazilXuxue Feng PROPOSAL
Mayumi J FigeroaFranceIvan Magalhaes NEGOTIATION
Mujtaba L AmigonBrazilElwin Sharvill NEW
Silvio G FigeroaRussiaXuxue Feng NEGOTIATION
Aditya N SergiArgentinaStephen Shaw NEGOTIATION
Darci C GlickIndiaIoni Bowcher NEGOTIATION
Alejandro M SaylorsRussiaIoni Bowcher RENEWAL
Chavez X MaletFranceIoni Bowcher UNQUALIFIED
Mayumi S DarakjyGermanyXuxue Feng RENEWAL
Wickens S OldroydArgentinaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David N RimItalyBernardo Dominic NEW
Isabel G FollerGermanyAsiya Javayant UNQUALIFIED
Maisha X BowleyJapanIvan Magalhaes NEW
Stacey E GillianIndiaBernardo Dominic NEGOTIATION
Silvio N MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel R VenereRussiaAmy Elsner UNQUALIFIED
Clifford T PoquetteArgentinaElwin Sharvill PROPOSAL
Jennifer F OldroydFranceIoni Bowcher RENEWAL
Jeanfrancois Z VenereRussiaAmy Elsner RENEWAL
Ivar N FollerArgentinaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily C SchemmerBrazil2024-06-11Morlong Associates RENEWAL13Xuxue Feng
1001Smith G CaldareraBrazil2024-05-30Benton, John B Jr UNQUALIFIED27Ivan Magalhaes
1002Leon L BologniaArgentina2024-06-04Rangoni Of Florence RENEWAL74Asiya Javayant
1003Adams N CampainGermany2024-05-28Dorl, James J Esq NEGOTIATION74Bernardo Dominic
1004Jones A GarufiCanada2024-06-17Benton, John B Jr RENEWAL36Onyama Limba
1005Kadeem J CaudyGermany2024-06-10Commercial Press RENEWAL87Elwin Sharvill
1006Costa A RulapaughGermany2024-06-17Rangoni Of Florence NEW76Asiya Javayant
1007Wickens Z PaprockiGermany2024-06-12Commercial Press PROPOSAL14Anna Fali
1008Stacey T BriddickFrance2024-05-25Chemel, James L Cpa NEGOTIATION45Ioni Bowcher
1009Aruna N WaycottGermany2024-06-10Dorl, James J Esq RENEWAL67Xuxue Feng
1010Stacey Z CaudyUnited Kingdom2024-06-13Feiner Bros QUALIFIED73Onyama Limba
1011Aika N TollnerIndia2024-06-16Chanay, Jeffrey A Esq QUALIFIED70Elwin Sharvill
1012Misaki Z GarufiJapan2024-06-08Chanay, Jeffrey A Esq QUALIFIED93Amy Elsner
1013Misaki V InouyeUnited Kingdom2024-05-29Printing Dimensions NEW60Stephen Shaw
1014Silvio B AmigonSpain2024-06-03Rangoni Of Florence PROPOSAL8Amy Elsner
1015Jones P MaletFrance2024-06-21Morlong Associates UNQUALIFIED75Onyama Limba
1016Emily G WhobreyRussia2024-05-30Morlong Associates QUALIFIED39Stephen Shaw
1017Munro Z RoysterCanada2024-06-10Feiner Bros NEW25Anna Fali
1018Greenwood O MaletGermany2024-06-20Feiner Bros QUALIFIED83Elwin Sharvill
1019Julie F WieserSpain2024-06-12Buckley Miller Wright UNQUALIFIED40Stephen Shaw
1020Nicolas U BowleyAustralia2024-06-04Morlong Associates PROPOSAL16Ivan Magalhaes
1021Chavez I FlosiIndia2024-05-28Benton, John B Jr UNQUALIFIED49Asiya Javayant
1022David W OstroskyRussia2024-05-26Truhlar And Truhlar Attys QUALIFIED63Anna Fali
1023Aruna F FollerItaly2024-06-14Feiner Bros NEGOTIATION30Onyama Limba
1024Emily B MacleadSpain2024-06-04Rousseaux, Michael Esq NEGOTIATION3Anna Fali
1025Aditya B ButtUnited Kingdom2024-06-16Buckley Miller Wright NEGOTIATION74Onyama Limba
1026Aika D NestleItaly2024-06-17Commercial Press PROPOSAL7Elwin Sharvill
1027Jeanfrancois T StockhamArgentina2024-06-02Truhlar And Truhlar Attys NEW67Xuxue Feng
1028Jeanfrancois Y RulapaughCanada2024-06-14Chanay, Jeffrey A Esq NEGOTIATION7Asiya Javayant
1029Aditya X ButtCanada2024-05-26Chemel, James L Cpa UNQUALIFIED31Asiya Javayant
1030Claire W FlosiArgentina2024-05-30Dorl, James J Esq QUALIFIED39Ioni Bowcher
1031Leja J VocelkaAustralia2024-06-14Buckley Miller Wright UNQUALIFIED12Anna Fali
1032Izzy T CaudyAustralia2024-06-16Morlong Associates RENEWAL78Stephen Shaw
1033Tony Q ButtJapan2024-06-12Buckley Miller Wright NEGOTIATION8Ivan Magalhaes
1034Alejandro K RulapaughUnited Kingdom2024-06-05Benton, John B Jr PROPOSAL29Anna Fali
1035Munro V GlickAustralia2024-06-13Chemel, James L Cpa NEGOTIATION6Xuxue Feng
1036Darci Y FigeroaRussia2024-06-06Benton, John B Jr QUALIFIED93Elwin Sharvill
1037Julie R PoquetteIndia2024-06-19Buckley Miller Wright NEW52Asiya Javayant
1038David I GlickCanada2024-06-10Chemel, James L Cpa PROPOSAL48Onyama Limba
1039Aika M BriddickSpain2024-06-07Rangoni Of Florence NEW44Bernardo Dominic
1040Izzy O ButtFrance2024-06-11Printing Dimensions RENEWAL95Ioni Bowcher
1041Tony C DoeAustralia2024-06-19Rangoni Of Florence UNQUALIFIED2Onyama Limba
1042Kaitlin G StensethArgentina2024-06-10Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1043Chavez K AmigonFrance2024-05-26Commercial Press QUALIFIED93Bernardo Dominic
1044Mayumi E WieserItaly2024-05-25Chapman, Ross E Esq NEGOTIATION90Xuxue Feng
1045Johnson Z StockhamCanada2024-06-17Rousseaux, Michael Esq QUALIFIED71Onyama Limba
1046Costa M AlbaresAustralia2024-06-13Rangoni Of Florence UNQUALIFIED79Xuxue Feng
1047Juan T CaldareraCanada2024-06-18Morlong Associates PROPOSAL92Amy Elsner
1048Ricardo Y GillianUnited Kingdom2024-05-26Chapman, Ross E Esq QUALIFIED23Amy Elsner
1049Arvin F GauchoUnited Kingdom2024-06-09Chanay, Jeffrey A Esq NEW27Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez P GarufiAustraliaBernardo Dominic NEW
Deepesh P BowleyCanadaIoni Bowcher NEGOTIATION
Darci T GlickJapanAmy Elsner NEGOTIATION
Aditya O BowleyAustraliaAsiya Javayant RENEWAL
Mujtaba K NestleSpainBernardo Dominic UNQUALIFIED
Smith Q RulapaughCanadaStephen Shaw PROPOSAL
Claire B InouyeRussiaAmy Elsner QUALIFIED
Maria J RutaGermanyAnna Fali NEW
Sinclair M MarrierGermanyIoni Bowcher QUALIFIED
Adams J GlickJapanXuxue Feng NEGOTIATION
Jefferson T NickaAustraliaStephen Shaw QUALIFIED
Tony U StensethUnited KingdomBernardo Dominic QUALIFIED
Cody F GlickCanadaAnna Fali NEW
Izzy D DilliardSpainOnyama Limba UNQUALIFIED
Johnson B CaudyGermanyAsiya Javayant RENEWAL
Arvin U BowleyGermanyIvan Magalhaes QUALIFIED
Francesco C RimIndiaIoni Bowcher QUALIFIED
Julie J InouyeGermanyIvan Magalhaes PROPOSAL
Jones J TollnerArgentinaAmy Elsner RENEWAL
Wickens K CaudyCanadaAmy Elsner PROPOSAL
Julie E FigeroaAustraliaStephen Shaw PROPOSAL
Aditya P BowleyRussiaAsiya Javayant NEW
Kadeem O ButtCanadaOnyama Limba PROPOSAL
Clifford E RutaRussiaXuxue Feng NEGOTIATION
Aditya J RulapaughCanadaElwin Sharvill RENEWAL
Ashley Z KuskoCanadaElwin Sharvill NEGOTIATION
Octavia L RoysterAustraliaAmy Elsner NEW
Tony D NickaFranceElwin Sharvill QUALIFIED
Wickens M MarrierCanadaBernardo Dominic UNQUALIFIED
Emily B RimArgentinaBernardo Dominic UNQUALIFIED
Nicolas E NickaGermanyAsiya Javayant UNQUALIFIED
Jones Z SlusarskiBrazilIoni Bowcher PROPOSAL
Isabel I BriddickFranceXuxue Feng QUALIFIED
Clifford S BowleyAustraliaBernardo Dominic NEGOTIATION
Arvin Z KolmetzCanadaIvan Magalhaes RENEWAL
Mujtaba R PoquetteRussiaAsiya Javayant NEGOTIATION
Stacey K PaprockiRussiaAsiya Javayant RENEWAL
Julie R IturbideSpainIvan Magalhaes NEW
Misaki M CampainUnited KingdomXuxue Feng QUALIFIED
Misaki X OstroskyIndiaBernardo Dominic NEW
Kadeem G MorascaJapanIoni Bowcher PROPOSAL
Salvatore Q WaycottJapanStephen Shaw UNQUALIFIED
David E OstroskyCanadaOnyama Limba NEW
Misaki Y RutaUnited KingdomIvan Magalhaes NEW
Faith O IturbideGermanyAsiya Javayant NEW
David S TollnerCanadaIvan Magalhaes PROPOSAL
Antonio X RulapaughAustraliaBernardo Dominic NEGOTIATION
Alejandro H ShinkoJapanXuxue Feng NEGOTIATION
Murillo C ButtUnited KingdomOnyama Limba RENEWAL
Claire U GillianItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Octavia J Royster
Octavia Q Perin
Francesco M Ostrosky
Antonio P Nicka
Costa P Foller
Stacey X Ostrosky
Smith I Rulapaugh
Ashley P Doe
Tony V Ferencz
Morrow E Caldarera
Smith T Paprocki
Ricardo T Sergi
Clifford K Doe
Aika C Gaucho
Ivar Y Foller
Johnson U Vocelka
Munro X Iturbide
Murillo O Bowley
Aruna X Nicka
Clifford Q Foller
Aika T Paprocki
Silvio D Campain
Salvatore L Tollner
Jefferson W Albares
Stacey F Whobrey
Chavez W Bowley
Costa O Maclead
Mujtaba F Darakjy
Morrow V Stenseth
Aditya L Bolognia
Aruna G Caldarera
Claire O Kolmetz
Izzy C Poquette
Isabel G Figeroa
Maria V Whobrey
Johnson O Garufi
Salvatore N Stenseth
Izzy R Inouye
David B Malet
Adams N Rim
Johnson U Campain
Stacey R Chui
Adams A Stenseth
Smith B Malet
Sinclair K Butt
Maisha C Ostrosky
Francesco W Shinko
Salvatore Y Gaucho
Arvin S Figeroa
Mujtaba G Chui
IdCountryDate
1000Germany2024-05-28
1001Russia2024-06-13
1002Australia2024-06-06
1003United Kingdom2024-06-05
1004Germany2024-05-30
1005Germany2024-06-18
1006Germany2024-06-21
1007Brazil2024-06-17
1008Australia2024-05-28
1009Australia2024-05-31
1010Brazil2024-05-29
1011United Kingdom2024-06-15
1012Canada2024-06-01
1013Russia2024-06-20
1014India2024-05-26
1015Brazil2024-05-23
1016France2024-06-17
1017Australia2024-05-26
1018Japan2024-05-23
1019Japan2024-05-30
1020Germany2024-05-28
1021United Kingdom2024-06-01
1022Spain2024-06-08
1023Canada2024-06-01
1024United Kingdom2024-05-27
1025Italy2024-06-13
1026United Kingdom2024-06-05
1027Russia2024-05-24
1028India2024-05-31
1029Germany2024-05-23
1030Brazil2024-06-11
1031Italy2024-06-21
1032Russia2024-05-29
1033France2024-06-14
1034Brazil2024-06-03
1035Canada2024-06-19
1036Argentina2024-06-18
1037United Kingdom2024-06-08
1038India2024-06-17
1039Italy2024-06-21
1040Russia2024-05-29
1041Italy2024-05-23
1042United Kingdom2024-05-26
1043Japan2024-05-25
1044Spain2024-06-14
1045United Kingdom2024-06-08
1046Germany2024-06-04
1047Canada2024-06-03
1048Italy2024-06-04
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Octavia H Stockham1000France2024-06-15
Izzy R Kolmetz1001France2024-05-24
Darci I Foller1002Australia2024-06-06
Nicolas Q Chui1003Italy2024-05-29
Misaki Q Perin1004Argentina2024-06-10
Morrow N Kolmetz1005Russia2024-05-28
Tony C Wieser1006Germany2024-06-10
Munro P Foller1007Australia2024-05-23
Darci V Amigon1008Japan2024-06-05
Johnson P Tollner1009Russia2024-05-29
Arvin W Butt1010Spain2024-06-08
Maisha G Kusko1011France2024-06-07
Murillo Y Doe1012Russia2024-06-16
Munro P Inouye1013Australia2024-06-19
Octavia H Wieser1014India2024-06-06
Ricardo L Sergi1015Russia2024-06-01
James Q Glick1016Canada2024-05-25
Darci W Malet1017Argentina2024-06-14
Izzy R Kolmetz1018Japan2024-06-08
Jones E Dilliard1019Spain2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony U KuskoJapanAmy Elsner PROPOSAL
Murillo W GauchoRussiaAmy Elsner NEGOTIATION
Kaitlin X NickaFranceStephen Shaw UNQUALIFIED
Faith B FollerFranceElwin Sharvill NEW
Faith I VocelkaRussiaBernardo Dominic NEW
Claire S KolmetzRussiaElwin Sharvill RENEWAL
Tony V OstroskyRussiaIvan Magalhaes RENEWAL
Smith U BowleyRussiaIoni Bowcher UNQUALIFIED
Misaki F BriddickItalyAmy Elsner NEGOTIATION
James M RimItalyStephen Shaw QUALIFIED
Adams A NestleUnited KingdomIoni Bowcher RENEWAL
Francesco S OldroydArgentinaIvan Magalhaes QUALIFIED
Murillo V AmigonAustraliaAnna Fali RENEWAL
Mujtaba W CaudyCanadaIoni Bowcher RENEWAL
Kadeem N VocelkaIndiaStephen Shaw QUALIFIED
Jefferson Y FlosiArgentinaAmy Elsner NEGOTIATION
Claire P KolmetzIndiaIoni Bowcher UNQUALIFIED
Julie C PaprockiFranceBernardo Dominic NEW
Julie C BowleyItalyStephen Shaw PROPOSAL
Jones W InouyeBrazilAsiya Javayant UNQUALIFIED
Alejandro X DoeItalyXuxue Feng QUALIFIED
Arvin E ButtSpainXuxue Feng PROPOSAL
Alejandro F ButtItalyXuxue Feng UNQUALIFIED
Costa P DilliardUnited KingdomAsiya Javayant RENEWAL
Maisha Z RutaAustraliaBernardo Dominic UNQUALIFIED
Kaitlin U PoquetteIndiaIoni Bowcher NEGOTIATION
Emily G ButtItalyAmy Elsner UNQUALIFIED
Ricardo W VocelkaJapanAsiya Javayant PROPOSAL
Jones F TollnerAustraliaAnna Fali RENEWAL
Misaki A CaudyCanadaIvan Magalhaes QUALIFIED
Adams N MaletAustraliaAnna Fali NEGOTIATION
Ivar L ButtSpainElwin Sharvill NEGOTIATION
Wickens K GillianAustraliaAmy Elsner RENEWAL
Adams X BowleyUnited KingdomXuxue Feng RENEWAL
David G WhobreyUnited KingdomIoni Bowcher PROPOSAL
Izzy C VenereArgentinaBernardo Dominic UNQUALIFIED
Octavia X GauchoRussiaStephen Shaw PROPOSAL
Costa C FlosiSpainIvan Magalhaes NEGOTIATION
Costa D RimUnited KingdomAsiya Javayant NEW
Rodrigues N FigeroaArgentinaIoni Bowcher PROPOSAL

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