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
Rodrigues H RulapaughAustraliaAmy Elsner RENEWAL
Emily A WhobreyItalyBernardo Dominic RENEWAL
Arvin X NickaCanadaAmy Elsner UNQUALIFIED
Ricardo R DarakjyBrazilElwin Sharvill QUALIFIED
Juan J CampainCanadaAnna Fali NEW
Julie I FerenczAustraliaBernardo Dominic PROPOSAL
Stacey A KuskoGermanyAnna Fali QUALIFIED
Kaitlin R OstroskyBrazilStephen Shaw NEGOTIATION
Clifford H RoysterBrazilIoni Bowcher PROPOSAL
Morrow P VocelkaGermanyIvan Magalhaes NEW
Francesco R RimCanadaAsiya Javayant UNQUALIFIED
Juan Z NickaFranceXuxue Feng NEW
Munro N AlbaresJapanAmy Elsner NEW
Alejandro A DoeAustraliaIvan Magalhaes PROPOSAL
James G FerenczGermanyAnna Fali NEW
Jefferson L CaldareraFranceXuxue Feng NEW
Aditya U MarrierBrazilElwin Sharvill NEGOTIATION
Silvio D NestleJapanXuxue Feng NEW
Chavez D CaldareraJapanIoni Bowcher NEGOTIATION
Julie H CaldareraSpainIoni Bowcher RENEWAL
Greenwood R InouyeArgentinaAsiya Javayant PROPOSAL
Sinclair M MorascaAustraliaAsiya Javayant NEW
Isabel K AmigonJapanBernardo Dominic RENEWAL
Mayumi U BowleyFranceIvan Magalhaes NEW
Mayumi U KolmetzRussiaXuxue Feng UNQUALIFIED
Stacey F VocelkaIndiaAmy Elsner NEW
Munro D SlusarskiGermanyAsiya Javayant RENEWAL
Octavia C GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem B SaylorsBrazilStephen Shaw NEW
Cody A BowleyCanadaIoni Bowcher RENEWAL
Kadeem J SaylorsAustraliaStephen Shaw NEGOTIATION
Jones V RimSpainOnyama Limba RENEWAL
Mujtaba S CaudyIndiaAnna Fali QUALIFIED
Clifford G MarrierIndiaStephen Shaw NEW
Morrow T PaprockiArgentinaAmy Elsner UNQUALIFIED
Silvio F VenereCanadaElwin Sharvill NEGOTIATION
Jennifer V PoquetteGermanyAsiya Javayant UNQUALIFIED
Aika O RulapaughItalyIvan Magalhaes RENEWAL
Kadeem Z AlbaresRussiaIvan Magalhaes PROPOSAL
Nicolas H FlosiBrazilAnna Fali PROPOSAL
Ivar E NickaUnited KingdomAnna Fali NEGOTIATION
Cody F AlbaresUnited KingdomAsiya Javayant RENEWAL
Munro G GillianGermanyAsiya Javayant NEGOTIATION
Murillo Y FollerUnited KingdomIoni Bowcher NEGOTIATION
James X MacleadCanadaAmy Elsner PROPOSAL
Cody O FlosiJapanStephen Shaw QUALIFIED
Cody C GillianSpainStephen Shaw RENEWAL
Claire F NickaArgentinaAnna Fali PROPOSAL
Murillo Q SlusarskiBrazilIvan Magalhaes NEGOTIATION
Darci N AmigonSpainStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams V StockhamSpainAnna Fali UNQUALIFIED
Sinclair T WhobreyAustraliaAmy Elsner NEGOTIATION
David V RoysterUnited KingdomIoni Bowcher PROPOSAL
Aditya C AlbaresAustraliaBernardo Dominic PROPOSAL
Silvio I NestleJapanAsiya Javayant QUALIFIED
Juan D NestleSpainXuxue Feng QUALIFIED
Adams K DilliardGermanyAnna Fali QUALIFIED
Faith N WieserBrazilAmy Elsner QUALIFIED
Julie Z MacleadAustraliaXuxue Feng NEW
Misaki A SergiAustraliaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J WhobreyUnited Kingdom2024-05-14Truhlar And Truhlar Attys RENEWAL97Bernardo Dominic
1001Isabel X SergiGermany2024-04-29Dorl, James J Esq QUALIFIED2Asiya Javayant
1002Isabel W KolmetzAustralia2024-05-07Truhlar And Truhlar Attys NEGOTIATION34Elwin Sharvill
1003Ricardo T AmigonJapan2024-05-25Buckley Miller Wright QUALIFIED30Anna Fali
1004Emily X MacleadRussia2024-04-30Rangoni Of Florence RENEWAL26Bernardo Dominic
1005Sinclair X FollerBrazil2024-05-21Commercial Press PROPOSAL34Elwin Sharvill
1006Cody O OldroydArgentina2024-05-02Chapman, Ross E Esq PROPOSAL13Bernardo Dominic
1007Salvatore N FlosiBrazil2024-05-17Rousseaux, Michael Esq UNQUALIFIED59Ioni Bowcher
1008Wickens A VenereBrazil2024-04-27Buckley Miller Wright NEW99Elwin Sharvill
1009Jones E WhobreySpain2024-05-26Printing Dimensions PROPOSAL16Elwin Sharvill
1010Emily D FigeroaRussia2024-05-14Feiner Bros RENEWAL89Asiya Javayant
1011Johnson A AmigonItaly2024-05-15Rangoni Of Florence UNQUALIFIED34Amy Elsner
1012Clifford P RulapaughBrazil2024-05-13Rangoni Of Florence QUALIFIED77Ioni Bowcher
1013Deepesh T FollerUnited Kingdom2024-04-30Feltz Printing Service UNQUALIFIED96Asiya Javayant
1014Stacey Y PerinCanada2024-05-08Printing Dimensions NEW85Anna Fali
1015Leja J VocelkaItaly2024-05-12Rousseaux, Michael Esq NEGOTIATION56Elwin Sharvill
1016Sinclair D SergiItaly2024-05-09Chanay, Jeffrey A Esq NEGOTIATION83Amy Elsner
1017Mujtaba F MaletRussia2024-05-10Morlong Associates PROPOSAL85Amy Elsner
1018Jefferson L RoysterGermany2024-05-24Dorl, James J Esq NEW78Stephen Shaw
1019Ashley T SergiAustralia2024-05-22Chanay, Jeffrey A Esq NEW64Xuxue Feng
1020Alejandro H DoeRussia2024-05-01Printing Dimensions NEW77Bernardo Dominic
1021Mujtaba C ChuiJapan2024-05-06Dorl, James J Esq NEW55Stephen Shaw
1022Mayumi C SaylorsSpain2024-05-04Dorl, James J Esq RENEWAL83Ivan Magalhaes
1023Tony Q VenereIndia2024-05-15Chemel, James L Cpa RENEWAL69Amy Elsner
1024James K StensethCanada2024-05-13Buckley Miller Wright RENEWAL84Amy Elsner
1025Costa U StockhamGermany2024-05-24Commercial Press PROPOSAL16Xuxue Feng
1026Misaki Y GillianItaly2024-05-09Commercial Press NEGOTIATION7Bernardo Dominic
1027Kadeem C GarufiUnited Kingdom2024-05-07King, Christopher A Esq NEGOTIATION63Amy Elsner
1028Sinclair N KolmetzFrance2024-05-04Feiner Bros NEW66Bernardo Dominic
1029Jefferson F RulapaughRussia2024-04-28Chapman, Ross E Esq PROPOSAL53Onyama Limba
1030Izzy L MaletSpain2024-05-18Feiner Bros UNQUALIFIED28Onyama Limba
1031Murillo P PoquetteCanada2024-05-24Buckley Miller Wright NEW43Ioni Bowcher
1032Misaki X KolmetzRussia2024-05-02Chapman, Ross E Esq QUALIFIED11Elwin Sharvill
1033Darci R BologniaAustralia2024-05-02Dorl, James J Esq RENEWAL70Asiya Javayant
1034Johnson D DilliardBrazil2024-05-22King, Christopher A Esq RENEWAL64Bernardo Dominic
1035Johnson S GlickRussia2024-05-23Feltz Printing Service NEGOTIATION72Xuxue Feng
1036Salvatore T NickaCanada2024-04-27Printing Dimensions NEGOTIATION68Elwin Sharvill
1037Arvin B BowleyGermany2024-05-16Buckley Miller Wright QUALIFIED10Onyama Limba
1038Chavez N StensethJapan2024-05-22King, Christopher A Esq RENEWAL93Ivan Magalhaes
1039James M DilliardJapan2024-05-22Chanay, Jeffrey A Esq PROPOSAL44Xuxue Feng
1040Munro S VocelkaGermany2024-05-02King, Christopher A Esq PROPOSAL88Stephen Shaw
1041Juan H StensethCanada2024-05-03Printing Dimensions UNQUALIFIED65Asiya Javayant
1042Leja C WaycottItaly2024-04-30Buckley Miller Wright NEGOTIATION0Bernardo Dominic
1043Wickens L NickaCanada2024-05-06Rousseaux, Michael Esq NEGOTIATION37Asiya Javayant
1044Morrow Z MaletCanada2024-05-09Chapman, Ross E Esq NEW6Asiya Javayant
1045Darci I BriddickGermany2024-05-20King, Christopher A Esq QUALIFIED59Anna Fali
1046Smith S BriddickFrance2024-05-25Benton, John B Jr RENEWAL75Bernardo Dominic
1047Ricardo E TollnerAustralia2024-05-17Rousseaux, Michael Esq RENEWAL60Amy Elsner
1048Isabel G ButtCanada2024-05-06Commercial Press UNQUALIFIED10Stephen Shaw
1049Aditya N PerinUnited Kingdom2024-05-10Commercial Press PROPOSAL21Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Misaki Q SlusarskiGermanyAsiya Javayant NEW
Ricardo I MaletFranceStephen Shaw QUALIFIED
Arvin K RoysterItalyOnyama Limba RENEWAL
Cody X TollnerRussiaAnna Fali QUALIFIED
Adams U RimArgentinaBernardo Dominic NEW
Octavia G RimRussiaXuxue Feng PROPOSAL
Octavia U KolmetzArgentinaOnyama Limba QUALIFIED
Juan R MorascaRussiaElwin Sharvill UNQUALIFIED
Alejandro M RutaIndiaStephen Shaw NEW
James B FerenczArgentinaXuxue Feng QUALIFIED
Emily M PoquetteUnited KingdomAsiya Javayant PROPOSAL
Emily T KuskoIndiaBernardo Dominic QUALIFIED
Alejandro F BologniaGermanyElwin Sharvill PROPOSAL
Ivar Y MarrierUnited KingdomStephen Shaw PROPOSAL
Smith X WaycottArgentinaOnyama Limba QUALIFIED
Wickens L KuskoSpainElwin Sharvill NEGOTIATION
Antonio W MaletItalyElwin Sharvill RENEWAL
Clifford P NickaJapanIoni Bowcher RENEWAL
Aika W AmigonAustraliaStephen Shaw PROPOSAL
Mayumi F MarrierFranceAnna Fali NEW
Maisha V TollnerAustraliaElwin Sharvill NEGOTIATION
Cody S GillianGermanyAmy Elsner UNQUALIFIED
Leja K ChuiUnited KingdomAnna Fali PROPOSAL
Kaitlin H RoysterJapanAsiya Javayant RENEWAL
Aika X MaletArgentinaStephen Shaw PROPOSAL
Aditya Y BriddickSpainIoni Bowcher NEGOTIATION
Arvin R PoquetteBrazilAnna Fali RENEWAL
Aika G RulapaughJapanElwin Sharvill UNQUALIFIED
Julie U SchemmerFranceAnna Fali UNQUALIFIED
Darci M RutaJapanAmy Elsner UNQUALIFIED
Ivar C MorascaFranceIvan Magalhaes PROPOSAL
Salvatore G MaletFranceIvan Magalhaes RENEWAL
Morrow V DilliardIndiaStephen Shaw UNQUALIFIED
Izzy T MorascaAustraliaAnna Fali NEW
Tony E AlbaresFranceOnyama Limba NEGOTIATION
Isabel P MorascaAustraliaAnna Fali NEGOTIATION
Murillo Q DoeRussiaElwin Sharvill NEW
Darci N BologniaBrazilIvan Magalhaes RENEWAL
Arvin T DoeAustraliaIoni Bowcher QUALIFIED
Nicolas U PoquetteBrazilXuxue Feng PROPOSAL
Alejandro K VocelkaItalyIvan Magalhaes NEW
Mujtaba D FollerGermanyAmy Elsner RENEWAL
Julie J StockhamCanadaIvan Magalhaes NEW
Deepesh X FollerUnited KingdomBernardo Dominic UNQUALIFIED
Clifford J MorascaAustraliaStephen Shaw QUALIFIED
Maria T BriddickArgentinaAsiya Javayant QUALIFIED
Kaitlin O StockhamUnited KingdomAsiya Javayant QUALIFIED
Munro Q OstroskyFranceIvan Magalhaes QUALIFIED
Jefferson B MaletItalyXuxue Feng QUALIFIED
Maria A PaprockiSpainIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan X Caudy
Munro L Doe
Deepesh I Garufi
James I Amigon
Ashley U Bowley
Aruna Z Stockham
David U Nestle
Silvio U Kolmetz
Faith N Foller
Misaki J Ferencz
Costa D Albares
Deepesh N Shinko
Greenwood L Morasca
Alejandro F Tollner
Munro P Bolognia
Mujtaba C Flosi
Arvin E Slusarski
Jeanfrancois R Tollner
Ricardo S Poquette
Sinclair N Albares
Jeanfrancois I Bowley
Kaitlin K Caldarera
Jeanfrancois V Morasca
Wickens I Rim
Leja I Saylors
Faith H Nestle
Claire X Sergi
Ashley K Malet
Julie T Malet
Tony A Dilliard
Isabel S Sergi
Ashley L Gillian
Stacey X Stockham
Ivar X Figeroa
Antonio F Poquette
James A Whobrey
Chavez F Saylors
Aruna D Bolognia
Francesco T Campain
Ivar T Malet
Jeanfrancois E Oldroyd
James D Rulapaugh
Claire L Whobrey
Murillo F Gillian
Francesco R Whobrey
Nicolas E Bolognia
Antonio I Wieser
Kaitlin B Stenseth
Julie E Paprocki
Clifford P Marrier
IdCountryDate
1000Japan2024-05-01
1001Germany2024-05-08
1002Germany2024-04-30
1003Italy2024-05-12
1004Argentina2024-05-09
1005United Kingdom2024-05-25
1006Australia2024-05-09
1007Spain2024-05-03
1008India2024-05-03
1009Russia2024-05-25
1010Russia2024-04-29
1011Brazil2024-05-03
1012Argentina2024-05-08
1013Canada2024-05-11
1014Russia2024-05-25
1015Germany2024-05-23
1016Brazil2024-05-01
1017Argentina2024-05-24
1018Canada2024-05-25
1019France2024-05-13
1020Brazil2024-05-01
1021Italy2024-05-13
1022Germany2024-05-24
1023Canada2024-05-13
1024Japan2024-05-11
1025Spain2024-05-17
1026Australia2024-04-27
1027Japan2024-05-16
1028Brazil2024-05-18
1029Spain2024-05-01
1030Brazil2024-05-19
1031Canada2024-05-11
1032France2024-05-22
1033France2024-05-09
1034Argentina2024-05-13
1035Russia2024-05-08
1036Italy2024-05-20
1037Spain2024-05-24
1038Russia2024-05-15
1039Italy2024-05-14
1040Canada2024-05-24
1041Brazil2024-05-20
1042Brazil2024-05-11
1043Brazil2024-05-03
1044Japan2024-05-01
1045Argentina2024-05-22
1046Spain2024-05-10
1047Canada2024-05-17
1048Brazil2024-05-17
1049Germany2024-04-29

On-Demand Data

NameIdCountryDate
Mayumi U Doe1000Australia2024-05-03
Jeanfrancois X Briddick1001Germany2024-05-05
Tony F Ostrosky1002Japan2024-05-06
Mayumi E Schemmer1003United Kingdom2024-05-15
Izzy Q Iturbide1004Canada2024-05-16
Jones O Vocelka1005Japan2024-05-03
Smith K Bowley1006Germany2024-05-19
Salvatore Z Rim1007Russia2024-05-24
Salvatore T Maclead1008Italy2024-04-29
Maria J Royster1009Canada2024-05-21
Mayumi N Venere1010Brazil2024-05-11
Aruna B Caudy1011India2024-05-17
Aditya Z Nicka1012United Kingdom2024-05-08
Mayumi Q Tollner1013Russia2024-05-17
Smith P Gaucho1014Germany2024-05-10
Johnson W Saylors1015Argentina2024-05-05
Claire C Kolmetz1016India2024-05-23
Salvatore E Royster1017Japan2024-05-11
Claire R Slusarski1018Spain2024-05-01
Greenwood H Glick1019Argentina2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna K NickaRussiaIoni Bowcher PROPOSAL
Darci Q ButtGermanyAmy Elsner QUALIFIED
Deepesh X SchemmerAustraliaAmy Elsner NEGOTIATION
Smith V GlickArgentinaIoni Bowcher UNQUALIFIED
Ivar Z MaletArgentinaBernardo Dominic PROPOSAL
Wickens G FlosiJapanAnna Fali PROPOSAL
Octavia T WieserCanadaAsiya Javayant QUALIFIED
Johnson T AmigonGermanyIvan Magalhaes UNQUALIFIED
Arvin W MaletGermanyXuxue Feng NEW
Murillo N KolmetzIndiaBernardo Dominic NEGOTIATION
Octavia H PaprockiFranceIoni Bowcher PROPOSAL
Julie E GillianBrazilAmy Elsner UNQUALIFIED
Greenwood U OldroydGermanyOnyama Limba RENEWAL
Izzy H RutaIndiaXuxue Feng RENEWAL
Salvatore E WhobreyRussiaBernardo Dominic NEGOTIATION
Leja Z RulapaughFranceAnna Fali NEGOTIATION
Salvatore Z KolmetzGermanyAnna Fali PROPOSAL
Juan M BriddickArgentinaAsiya Javayant QUALIFIED
Mayumi V NickaItalyElwin Sharvill RENEWAL
Tony U GlickFranceXuxue Feng NEGOTIATION
Leon P ShinkoCanadaAsiya Javayant UNQUALIFIED
Aruna C FlosiAustraliaAmy Elsner QUALIFIED
Ivar C VocelkaAustraliaStephen Shaw NEGOTIATION
James B GarufiItalyIvan Magalhaes PROPOSAL
Murillo Z FigeroaGermanyAmy Elsner RENEWAL
Darci F CaldareraCanadaStephen Shaw PROPOSAL
Murillo Q FigeroaCanadaOnyama Limba NEGOTIATION
Arvin S MarrierCanadaAsiya Javayant RENEWAL
Julie A RulapaughAustraliaXuxue Feng PROPOSAL
Faith S FlosiJapanIvan Magalhaes QUALIFIED
Aruna O OstroskyFranceIoni Bowcher NEGOTIATION
Adams F DarakjyCanadaAsiya Javayant NEGOTIATION
Smith G SaylorsItalyBernardo Dominic UNQUALIFIED
Ricardo X PoquetteBrazilStephen Shaw UNQUALIFIED
David H StockhamItalyOnyama Limba UNQUALIFIED
Misaki G MarrierJapanAmy Elsner PROPOSAL
Morrow X PoquetteSpainBernardo Dominic PROPOSAL
Ashley Q VenereJapanXuxue Feng PROPOSAL
Kadeem J CaudyJapanAmy Elsner NEGOTIATION
Silvio G RimArgentinaIoni 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>