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
Aruna U OldroydFranceOnyama Limba RENEWAL
Misaki V SergiCanadaIoni Bowcher NEW
Kaitlin J MorascaUnited KingdomElwin Sharvill PROPOSAL
Cody L KuskoCanadaOnyama Limba RENEWAL
Kadeem P GillianBrazilIoni Bowcher NEGOTIATION
Jeanfrancois T AmigonIndiaIoni Bowcher RENEWAL
Cody Z GillianFranceOnyama Limba NEGOTIATION
Chavez Z InouyeCanadaAnna Fali NEGOTIATION
Aditya D DarakjyArgentinaBernardo Dominic PROPOSAL
Smith A KuskoRussiaElwin Sharvill RENEWAL
Darci U WieserIndiaElwin Sharvill NEW
Smith X CaldareraIndiaBernardo Dominic NEW
Rodrigues K GlickGermanyXuxue Feng NEGOTIATION
Emily R PerinItalyBernardo Dominic QUALIFIED
Sinclair S ButtFranceAmy Elsner QUALIFIED
Rodrigues R AlbaresUnited KingdomAmy Elsner NEGOTIATION
Francesco V MarrierRussiaAsiya Javayant NEW
Maisha J SchemmerJapanIvan Magalhaes UNQUALIFIED
Maisha X SlusarskiGermanyIoni Bowcher UNQUALIFIED
Mujtaba Z RulapaughJapanIoni Bowcher QUALIFIED
Aruna W WaycottSpainElwin Sharvill NEW
Leja Y NickaSpainXuxue Feng NEGOTIATION
Octavia G FlosiFranceElwin Sharvill UNQUALIFIED
Darci G BologniaJapanBernardo Dominic RENEWAL
Chavez K MacleadArgentinaElwin Sharvill PROPOSAL
Isabel I RoysterFranceBernardo Dominic NEGOTIATION
Maisha C StockhamFranceAnna Fali PROPOSAL
Chavez F CampainGermanyXuxue Feng PROPOSAL
Alejandro I DarakjyIndiaOnyama Limba QUALIFIED
Jennifer B CampainRussiaStephen Shaw UNQUALIFIED
Leon U NestleIndiaXuxue Feng NEGOTIATION
Octavia T CaldareraFranceStephen Shaw QUALIFIED
David N DarakjyBrazilAmy Elsner QUALIFIED
Adams I MacleadSpainIoni Bowcher NEW
Leon H CaldareraFranceXuxue Feng PROPOSAL
Sinclair P MaletGermanyStephen Shaw RENEWAL
Francesco X FigeroaRussiaXuxue Feng UNQUALIFIED
Jeanfrancois H KuskoJapanBernardo Dominic QUALIFIED
Maria E VocelkaAustraliaAmy Elsner NEW
Aika U CaldareraBrazilBernardo Dominic RENEWAL
Rodrigues Z AlbaresRussiaBernardo Dominic UNQUALIFIED
Wickens P StensethArgentinaXuxue Feng PROPOSAL
Isabel W PoquetteUnited KingdomElwin Sharvill RENEWAL
Maria C VenereAustraliaIoni Bowcher NEW
Ashley V RulapaughCanadaIoni Bowcher PROPOSAL
Chavez H NestleBrazilAmy Elsner UNQUALIFIED
Julie A RimItalyAsiya Javayant NEW
Salvatore N CampainGermanyOnyama Limba QUALIFIED
Kadeem O RoysterRussiaAnna Fali NEW
Mujtaba L DoeArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie A CampainCanadaElwin Sharvill NEW
Misaki C SaylorsAustraliaAnna Fali QUALIFIED
Ricardo F AlbaresCanadaAnna Fali NEGOTIATION
Maisha N ButtRussiaStephen Shaw UNQUALIFIED
Greenwood Q WaycottSpainBernardo Dominic UNQUALIFIED
Jeanfrancois K TollnerGermanyAmy Elsner RENEWAL
Arvin L WieserItalyBernardo Dominic UNQUALIFIED
Aruna M WhobreyAustraliaElwin Sharvill QUALIFIED
Adams M BriddickIndiaAmy Elsner NEGOTIATION
Juan X PerinSpainStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer L AlbaresBrazil2024-06-19Commercial Press PROPOSAL90Ivan Magalhaes
1001Izzy Y GauchoIndia2024-06-19Commercial Press UNQUALIFIED57Anna Fali
1002Mujtaba V TollnerArgentina2024-06-10Benton, John B Jr NEW31Anna Fali
1003Ricardo A FollerRussia2024-06-22Buckley Miller Wright NEGOTIATION62Ioni Bowcher
1004Greenwood G VenereIndia2024-06-12Commercial Press UNQUALIFIED36Ioni Bowcher
1005Morrow T MacleadSpain2024-05-25Commercial Press NEW13Bernardo Dominic
1006Kaitlin Z OldroydItaly2024-06-23Rangoni Of Florence NEW19Amy Elsner
1007Octavia Y SergiArgentina2024-06-10Buckley Miller Wright NEGOTIATION13Ivan Magalhaes
1008Aditya J GillianJapan2024-06-16Truhlar And Truhlar Attys QUALIFIED4Anna Fali
1009Silvio G VocelkaIndia2024-06-10Rangoni Of Florence RENEWAL62Onyama Limba
1010Stacey R VenereAustralia2024-06-18King, Christopher A Esq RENEWAL15Ivan Magalhaes
1011Izzy G MacleadFrance2024-06-15King, Christopher A Esq UNQUALIFIED97Bernardo Dominic
1012Leja K GarufiIndia2024-06-13Chemel, James L Cpa RENEWAL11Anna Fali
1013Emily O WieserGermany2024-06-07Rangoni Of Florence NEW13Anna Fali
1014Deepesh I KuskoCanada2024-06-11Feltz Printing Service PROPOSAL71Amy Elsner
1015Salvatore J SlusarskiJapan2024-05-26Chapman, Ross E Esq RENEWAL19Elwin Sharvill
1016Rodrigues I PaprockiSpain2024-06-11Benton, John B Jr NEW25Ioni Bowcher
1017Chavez E SergiIndia2024-06-04Dorl, James J Esq QUALIFIED31Amy Elsner
1018Maria P ChuiItaly2024-05-29Benton, John B Jr QUALIFIED91Stephen Shaw
1019Maria M VenereGermany2024-06-22King, Christopher A Esq UNQUALIFIED3Asiya Javayant
1020Mayumi M CaudyGermany2024-06-18Printing Dimensions PROPOSAL47Anna Fali
1021Salvatore W RulapaughBrazil2024-06-22Dorl, James J Esq NEGOTIATION98Ioni Bowcher
1022Adams L SaylorsSpain2024-06-14Dorl, James J Esq NEW14Bernardo Dominic
1023Maisha B KuskoGermany2024-06-11King, Christopher A Esq NEGOTIATION39Asiya Javayant
1024Murillo G VocelkaUnited Kingdom2024-05-25Truhlar And Truhlar Attys RENEWAL35Amy Elsner
1025Rodrigues I MorascaArgentina2024-06-10Benton, John B Jr RENEWAL99Ivan Magalhaes
1026Morrow N WieserGermany2024-06-15Benton, John B Jr NEW49Elwin Sharvill
1027Greenwood T StockhamArgentina2024-06-06Rousseaux, Michael Esq RENEWAL90Xuxue Feng
1028Rodrigues Y BriddickUnited Kingdom2024-06-02Feiner Bros UNQUALIFIED35Stephen Shaw
1029James G AmigonSpain2024-06-09Chemel, James L Cpa NEW81Anna Fali
1030Stacey T TollnerItaly2024-06-22Chemel, James L Cpa QUALIFIED13Anna Fali
1031Ashley S BologniaAustralia2024-06-21Morlong Associates UNQUALIFIED61Anna Fali
1032Aruna F InouyeRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION0Ivan Magalhaes
1033Smith Q FigeroaRussia2024-06-22Rangoni Of Florence NEW8Anna Fali
1034Aika X WhobreySpain2024-06-22Dorl, James J Esq QUALIFIED81Stephen Shaw
1035David L VenereBrazil2024-06-18Printing Dimensions UNQUALIFIED2Elwin Sharvill
1036Jennifer Y WieserArgentina2024-06-03Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1037Darci F InouyeIndia2024-06-04Feiner Bros QUALIFIED90Ioni Bowcher
1038Maisha M ButtGermany2024-06-15Buckley Miller Wright NEGOTIATION83Anna Fali
1039Silvio Q RimRussia2024-06-06King, Christopher A Esq UNQUALIFIED48Onyama Limba
1040Deepesh S CaldareraFrance2024-05-25Rousseaux, Michael Esq RENEWAL36Elwin Sharvill
1041Maisha E FlosiRussia2024-06-07Chemel, James L Cpa UNQUALIFIED82Ioni Bowcher
1042Misaki O GauchoAustralia2024-06-02Chanay, Jeffrey A Esq NEW70Ioni Bowcher
1043Adams L PoquetteAustralia2024-06-23Dorl, James J Esq QUALIFIED23Anna Fali
1044Costa A OstroskyItaly2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED24Bernardo Dominic
1045Emily X MorascaSpain2024-05-27Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1046David O VocelkaUnited Kingdom2024-06-23Chemel, James L Cpa QUALIFIED96Amy Elsner
1047Mujtaba Q OldroydGermany2024-06-04Benton, John B Jr UNQUALIFIED68Onyama Limba
1048Mujtaba E GillianArgentina2024-06-08Rousseaux, Michael Esq NEGOTIATION83Bernardo Dominic
1049Deepesh F BriddickItaly2024-06-19King, Christopher A Esq NEGOTIATION48Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Z CaudyItalyIoni Bowcher RENEWAL
Isabel S FerenczRussiaStephen Shaw NEGOTIATION
Smith V StensethAustraliaIvan Magalhaes NEGOTIATION
Izzy P GillianUnited KingdomIvan Magalhaes RENEWAL
Izzy O GauchoFranceXuxue Feng NEW
Silvio N AmigonGermanyAmy Elsner RENEWAL
Jeanfrancois T SergiBrazilAnna Fali PROPOSAL
Greenwood E NickaArgentinaOnyama Limba NEGOTIATION
Wickens Q FlosiFranceBernardo Dominic RENEWAL
Arvin M RimAustraliaOnyama Limba UNQUALIFIED
Jones Z WaycottRussiaOnyama Limba PROPOSAL
Aika B SaylorsGermanyAnna Fali QUALIFIED
Darci E CampainJapanAnna Fali NEGOTIATION
Aruna O GlickSpainOnyama Limba QUALIFIED
Jennifer Q ShinkoGermanyXuxue Feng PROPOSAL
Leon R CampainUnited KingdomOnyama Limba UNQUALIFIED
Misaki U FollerIndiaStephen Shaw NEW
Munro G PoquetteArgentinaAnna Fali UNQUALIFIED
Ashley E CampainSpainAsiya Javayant PROPOSAL
Arvin Y PoquetteAustraliaBernardo Dominic NEGOTIATION
Greenwood F FigeroaAustraliaAmy Elsner RENEWAL
James X RimAustraliaElwin Sharvill NEW
Adams G PoquetteRussiaOnyama Limba NEGOTIATION
Ricardo B NestleRussiaAmy Elsner QUALIFIED
Arvin A CaldareraCanadaBernardo Dominic PROPOSAL
James S StockhamUnited KingdomIvan Magalhaes RENEWAL
Emily V RimItalyIvan Magalhaes QUALIFIED
Maria U WhobreyRussiaElwin Sharvill PROPOSAL
Octavia M TollnerAustraliaStephen Shaw NEW
Adams X MaletIndiaAsiya Javayant NEW
Arvin F WhobreyRussiaElwin Sharvill NEGOTIATION
Clifford B MaletItalyStephen Shaw RENEWAL
David Q SaylorsItalyOnyama Limba RENEWAL
Silvio O CaldareraSpainXuxue Feng PROPOSAL
Jones Q SchemmerFranceStephen Shaw RENEWAL
Aika J RulapaughItalyElwin Sharvill RENEWAL
Antonio N OldroydJapanStephen Shaw QUALIFIED
Aika M KolmetzUnited KingdomOnyama Limba NEW
Francesco Z BologniaFranceXuxue Feng NEGOTIATION
Nicolas M RoysterIndiaAmy Elsner NEW
Clifford I PaprockiBrazilBernardo Dominic NEW
Jefferson H SchemmerJapanAsiya Javayant RENEWAL
Jennifer P BowleyRussiaIoni Bowcher UNQUALIFIED
Faith L FollerArgentinaElwin Sharvill NEGOTIATION
Silvio T StensethFranceIvan Magalhaes NEW
Emily S PerinSpainAmy Elsner UNQUALIFIED
Mujtaba U NestleAustraliaOnyama Limba RENEWAL
Mujtaba D CampainUnited KingdomStephen Shaw RENEWAL
Aditya I VocelkaArgentinaStephen Shaw UNQUALIFIED
Misaki S SaylorsJapanElwin Sharvill RENEWAL
Frozen Columns
Name
Mayumi F Briddick
Salvatore M Figeroa
Arvin Z Rulapaugh
Greenwood B Kolmetz
Mayumi T Bowley
Kaitlin K Venere
David F Ruta
Mujtaba K Whobrey
Smith U Figeroa
Alejandro S Nestle
James R Caldarera
Antonio C Malet
Jones E Campain
Jeanfrancois A Vocelka
Aditya V Stenseth
Smith K Tollner
Murillo C Dilliard
Morrow Q Campain
Juan W Bowley
Kaitlin P Perin
Mayumi S Royster
Jones I Waycott
Salvatore M Ostrosky
Clifford A Caldarera
Aruna H Kolmetz
Ashley U Shinko
Faith J Dilliard
Rodrigues C Garufi
Claire Z Briddick
Aika Q Morasca
Mujtaba M Schemmer
Octavia O Albares
Deepesh H Caldarera
Antonio N Campain
Julie Z Nestle
Darci W Shinko
Ashley B Malet
Rodrigues J Doe
Kaitlin I Nestle
Chavez H Royster
Ricardo E Iturbide
Izzy B Marrier
Sinclair A Flosi
Mayumi J Foller
Isabel Y Malet
Maisha C Bowley
Izzy W Ferencz
Aditya J Slusarski
Arvin Y Stockham
Arvin E Malet
IdCountryDate
1000Argentina2024-05-27
1001Argentina2024-05-27
1002Germany2024-05-28
1003United Kingdom2024-06-11
1004United Kingdom2024-06-02
1005France2024-06-04
1006United Kingdom2024-05-31
1007Spain2024-05-29
1008France2024-06-23
1009Brazil2024-06-23
1010Germany2024-06-07
1011Russia2024-05-30
1012Australia2024-06-16
1013India2024-06-10
1014Germany2024-06-05
1015Canada2024-05-30
1016United Kingdom2024-06-16
1017Russia2024-06-06
1018Italy2024-06-10
1019Spain2024-06-04
1020Russia2024-06-08
1021Canada2024-05-29
1022Canada2024-06-11
1023Japan2024-05-28
1024Russia2024-06-17
1025Italy2024-06-15
1026Japan2024-05-30
1027Russia2024-06-05
1028United Kingdom2024-06-22
1029Argentina2024-06-06
1030Russia2024-06-06
1031United Kingdom2024-06-12
1032Italy2024-05-29
1033Argentina2024-06-22
1034Argentina2024-05-27
1035Italy2024-06-02
1036Japan2024-06-21
1037France2024-05-27
1038Germany2024-05-26
1039Germany2024-06-12
1040Canada2024-06-07
1041Brazil2024-06-06
1042Spain2024-05-30
1043United Kingdom2024-06-22
1044Italy2024-06-13
1045Argentina2024-05-30
1046Argentina2024-06-13
1047Canada2024-05-31
1048Russia2024-06-20
1049Italy2024-05-26

On-Demand Data

NameIdCountryDate
Smith F Iturbide1000Japan2024-06-04
Maria N Darakjy1001Japan2024-06-09
Claire C Oldroyd1002Russia2024-05-26
Tony J Flosi1003Russia2024-06-11
Murillo E Paprocki1004Argentina2024-05-28
Arvin J Caudy1005Italy2024-05-30
Salvatore D Campain1006Spain2024-06-22
Ricardo M Perin1007Spain2024-06-14
Rodrigues H Amigon1008India2024-06-21
Emily D Stenseth1009France2024-05-25
Aruna K Campain1010India2024-06-09
James E Nicka1011Germany2024-05-27
Munro Z Chui1012Spain2024-06-02
Kaitlin X Perin1013Germany2024-05-30
Misaki X Vocelka1014Japan2024-05-28
Silvio M Figeroa1015India2024-06-12
Kadeem O Flosi1016Italy2024-06-16
Jeanfrancois S Rim1017Italy2024-06-04
David V Darakjy1018Russia2024-06-11
Ivar X Schemmer1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson F MorascaRussiaStephen Shaw RENEWAL
Munro O ChuiFranceIvan Magalhaes QUALIFIED
Izzy S NestleCanadaAsiya Javayant PROPOSAL
Rodrigues T GlickAustraliaElwin Sharvill UNQUALIFIED
Chavez X FlosiAustraliaAsiya Javayant NEW
Kaitlin R WieserAustraliaAmy Elsner UNQUALIFIED
Mayumi V BriddickGermanyIoni Bowcher NEW
Jones S ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Darci H MorascaAustraliaIvan Magalhaes RENEWAL
Isabel S GlickGermanyXuxue Feng NEGOTIATION
Jeanfrancois U FlosiArgentinaIvan Magalhaes UNQUALIFIED
David K WhobreyRussiaBernardo Dominic QUALIFIED
Misaki H AlbaresFranceElwin Sharvill RENEWAL
Faith A WhobreyUnited KingdomAnna Fali NEGOTIATION
Aruna U MaletIndiaStephen Shaw UNQUALIFIED
Munro H FollerSpainAsiya Javayant UNQUALIFIED
Octavia I StockhamFranceElwin Sharvill QUALIFIED
Clifford O DilliardIndiaAmy Elsner PROPOSAL
Ricardo Q BriddickRussiaAnna Fali UNQUALIFIED
Morrow V VenereAustraliaElwin Sharvill PROPOSAL
Ivar A GauchoArgentinaXuxue Feng RENEWAL
Wickens Z SergiGermanyOnyama Limba NEW
Emily B WhobreyJapanIoni Bowcher NEGOTIATION
Julie E CampainRussiaAnna Fali NEGOTIATION
David P PaprockiCanadaStephen Shaw PROPOSAL
Mayumi J FerenczCanadaStephen Shaw PROPOSAL
Leon Z MarrierFranceAsiya Javayant PROPOSAL
Tony V AmigonSpainBernardo Dominic NEW
Mujtaba V AmigonArgentinaAsiya Javayant PROPOSAL
Jeanfrancois B GarufiCanadaAsiya Javayant PROPOSAL
Jeanfrancois M DoeCanadaAmy Elsner UNQUALIFIED
Antonio B MacleadRussiaIoni Bowcher NEW
Aruna G AmigonCanadaAmy Elsner QUALIFIED
James W OstroskyItalyBernardo Dominic QUALIFIED
Aditya P VenereItalyBernardo Dominic QUALIFIED
Leja X MaletFranceElwin Sharvill NEGOTIATION
Johnson G StockhamSpainStephen Shaw NEW
Adams A ShinkoJapanIoni Bowcher RENEWAL
Sinclair I RutaJapanAsiya Javayant RENEWAL
David H ButtUnited KingdomXuxue Feng RENEWAL

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