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
Jennifer D AmigonRussiaXuxue Feng QUALIFIED
Jefferson W GauchoAustraliaOnyama Limba QUALIFIED
Silvio S FigeroaIndiaOnyama Limba PROPOSAL
Arvin K TollnerAustraliaXuxue Feng UNQUALIFIED
Mayumi O ShinkoBrazilOnyama Limba UNQUALIFIED
Aditya E StensethBrazilAnna Fali PROPOSAL
Maria H DilliardGermanyIoni Bowcher RENEWAL
Kadeem V OldroydSpainAsiya Javayant NEGOTIATION
Claire D VenereGermanyStephen Shaw RENEWAL
Ivar V MorascaFranceOnyama Limba UNQUALIFIED
Clifford M WieserIndiaXuxue Feng UNQUALIFIED
Rodrigues T PoquetteSpainAnna Fali NEW
Chavez Z OldroydRussiaAnna Fali PROPOSAL
Octavia S SaylorsIndiaOnyama Limba UNQUALIFIED
Misaki P WaycottRussiaElwin Sharvill QUALIFIED
Mujtaba L OldroydJapanAmy Elsner NEGOTIATION
Costa Y CampainBrazilIoni Bowcher PROPOSAL
Kadeem Y DoeAustraliaBernardo Dominic UNQUALIFIED
Aika U ChuiGermanyAnna Fali NEW
Leon D OstroskyGermanyElwin Sharvill NEW
Ashley X RoysterBrazilAnna Fali UNQUALIFIED
Stacey C WieserIndiaOnyama Limba PROPOSAL
Wickens C PerinAustraliaElwin Sharvill QUALIFIED
Ashley R FollerJapanBernardo Dominic NEW
Chavez K BriddickBrazilXuxue Feng RENEWAL
Kadeem W StockhamRussiaAnna Fali QUALIFIED
Jefferson A GarufiItalyBernardo Dominic QUALIFIED
Mayumi J ChuiFranceXuxue Feng RENEWAL
Mujtaba R NestleSpainIvan Magalhaes QUALIFIED
Faith B OldroydItalyIvan Magalhaes PROPOSAL
Ricardo J AlbaresFranceIoni Bowcher NEGOTIATION
Stacey C AmigonCanadaElwin Sharvill UNQUALIFIED
Arvin E DilliardSpainStephen Shaw PROPOSAL
Emily T CaudyCanadaIoni Bowcher NEW
Tony M CampainCanadaStephen Shaw RENEWAL
Aditya V DarakjyItalyElwin Sharvill QUALIFIED
Izzy P NickaRussiaAnna Fali PROPOSAL
Costa T ButtFranceAmy Elsner PROPOSAL
Maisha L PerinBrazilOnyama Limba RENEWAL
Munro D VocelkaUnited KingdomAnna Fali UNQUALIFIED
Ricardo Y VocelkaSpainIoni Bowcher NEW
Munro E FlosiIndiaIvan Magalhaes RENEWAL
James X ShinkoFranceAmy Elsner UNQUALIFIED
Ricardo G AlbaresGermanyAmy Elsner PROPOSAL
Antonio Z StensethBrazilBernardo Dominic PROPOSAL
Costa V FerenczRussiaBernardo Dominic NEGOTIATION
James G KolmetzJapanIvan Magalhaes UNQUALIFIED
Alejandro F WieserSpainElwin Sharvill RENEWAL
Ashley B SaylorsItalyElwin Sharvill QUALIFIED
Claire H MarrierGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna K RutaFranceXuxue Feng QUALIFIED
Silvio B MorascaCanadaElwin Sharvill UNQUALIFIED
Smith B RoysterGermanyAnna Fali RENEWAL
Ashley O BowleyFranceAmy Elsner NEGOTIATION
Misaki M WieserRussiaIoni Bowcher UNQUALIFIED
Jefferson L VenereJapanElwin Sharvill NEW
David V WieserUnited KingdomAsiya Javayant RENEWAL
Sinclair Y KolmetzBrazilIoni Bowcher NEW
Emily I PoquetteRussiaXuxue Feng QUALIFIED
James I CampainJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo H MaletRussia2024-05-30Buckley Miller Wright QUALIFIED5Amy Elsner
1001Jones D RulapaughAustralia2024-05-31Commercial Press UNQUALIFIED24Bernardo Dominic
1002Ivar I SaylorsAustralia2024-06-19Printing Dimensions UNQUALIFIED18Bernardo Dominic
1003Darci N MacleadItaly2024-05-29Printing Dimensions PROPOSAL23Bernardo Dominic
1004Isabel Q StensethFrance2024-06-07Chemel, James L Cpa RENEWAL54Ivan Magalhaes
1005Jennifer M PerinJapan2024-06-05Rousseaux, Michael Esq NEW48Xuxue Feng
1006Jeanfrancois B IturbideUnited Kingdom2024-06-10Dorl, James J Esq NEGOTIATION99Onyama Limba
1007Smith A GlickIndia2024-06-13Chanay, Jeffrey A Esq PROPOSAL99Ioni Bowcher
1008Francesco S WaycottCanada2024-05-29Truhlar And Truhlar Attys QUALIFIED9Bernardo Dominic
1009Ricardo U SaylorsGermany2024-06-01Commercial Press NEW21Bernardo Dominic
1010Maria X ChuiRussia2024-06-14Dorl, James J Esq NEW72Ioni Bowcher
1011Sinclair I MorascaArgentina2024-06-14Rousseaux, Michael Esq NEGOTIATION45Xuxue Feng
1012Mayumi V CampainCanada2024-05-27Chapman, Ross E Esq NEGOTIATION28Stephen Shaw
1013Aika Q StockhamCanada2024-06-25King, Christopher A Esq NEGOTIATION37Onyama Limba
1014Arvin V SchemmerGermany2024-06-25Dorl, James J Esq UNQUALIFIED94Ioni Bowcher
1015Rodrigues R StensethItaly2024-06-19Feiner Bros NEW82Onyama Limba
1016Silvio Z RutaGermany2024-05-30King, Christopher A Esq QUALIFIED39Ivan Magalhaes
1017Cody R WhobreyRussia2024-06-14Commercial Press PROPOSAL69Bernardo Dominic
1018Smith L NickaFrance2024-06-24Benton, John B Jr PROPOSAL38Ioni Bowcher
1019Jennifer J KuskoIndia2024-05-27Chapman, Ross E Esq PROPOSAL95Ioni Bowcher
1020Faith E WhobreyGermany2024-05-29Feltz Printing Service QUALIFIED80Xuxue Feng
1021Wickens N MaletIndia2024-06-03Buckley Miller Wright UNQUALIFIED32Xuxue Feng
1022Darci B SergiBrazil2024-06-09King, Christopher A Esq PROPOSAL93Ivan Magalhaes
1023Murillo E FollerFrance2024-06-24Rangoni Of Florence NEGOTIATION32Onyama Limba
1024Leja Q RutaArgentina2024-06-14Rousseaux, Michael Esq PROPOSAL80Asiya Javayant
1025Maisha A RoysterArgentina2024-06-18Printing Dimensions NEW77Amy Elsner
1026Clifford K VenereJapan2024-05-31Feltz Printing Service UNQUALIFIED48Amy Elsner
1027Kadeem O MarrierGermany2024-06-01Truhlar And Truhlar Attys QUALIFIED86Ioni Bowcher
1028Julie U PaprockiUnited Kingdom2024-06-13Buckley Miller Wright RENEWAL61Ivan Magalhaes
1029Smith F PerinIndia2024-06-07Morlong Associates PROPOSAL36Stephen Shaw
1030Costa T StockhamUnited Kingdom2024-06-03Rousseaux, Michael Esq RENEWAL73Onyama Limba
1031Isabel P PaprockiCanada2024-06-22Dorl, James J Esq QUALIFIED92Elwin Sharvill
1032Aditya I WieserUnited Kingdom2024-06-18Feiner Bros UNQUALIFIED68Bernardo Dominic
1033Munro B WieserJapan2024-06-18Dorl, James J Esq UNQUALIFIED64Ivan Magalhaes
1034Emily B SchemmerJapan2024-06-16Chemel, James L Cpa RENEWAL54Ivan Magalhaes
1035Izzy A TollnerJapan2024-06-23Feiner Bros NEGOTIATION3Anna Fali
1036Johnson K KolmetzGermany2024-06-13Chapman, Ross E Esq PROPOSAL40Ivan Magalhaes
1037Cody G SlusarskiJapan2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED96Bernardo Dominic
1038Francesco E InouyeAustralia2024-06-22King, Christopher A Esq RENEWAL53Ivan Magalhaes
1039Nicolas I VocelkaCanada2024-06-08Commercial Press QUALIFIED76Xuxue Feng
1040Ashley W GauchoCanada2024-06-21Benton, John B Jr NEGOTIATION57Amy Elsner
1041Rodrigues G AlbaresGermany2024-06-02Buckley Miller Wright NEGOTIATION74Onyama Limba
1042Jefferson T WieserBrazil2024-06-07Rousseaux, Michael Esq RENEWAL5Onyama Limba
1043Antonio W DarakjyRussia2024-06-11Chemel, James L Cpa QUALIFIED33Stephen Shaw
1044Francesco E FlosiJapan2024-06-06Chapman, Ross E Esq UNQUALIFIED36Amy Elsner
1045Deepesh V NestleItaly2024-06-15Morlong Associates UNQUALIFIED70Anna Fali
1046Misaki Y CampainGermany2024-06-06Chemel, James L Cpa UNQUALIFIED9Ivan Magalhaes
1047Ivar B GauchoBrazil2024-06-05Buckley Miller Wright PROPOSAL7Asiya Javayant
1048Kaitlin R RutaFrance2024-05-30Truhlar And Truhlar Attys PROPOSAL47Stephen Shaw
1049Costa F ChuiRussia2024-06-24Chapman, Ross E Esq PROPOSAL11Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria C DilliardSpainAnna Fali NEGOTIATION
Mayumi X PoquetteJapanAmy Elsner PROPOSAL
Arvin S ChuiBrazilBernardo Dominic NEGOTIATION
Deepesh G RimSpainAsiya Javayant UNQUALIFIED
Sinclair K OstroskyCanadaAnna Fali RENEWAL
Deepesh K StockhamArgentinaIoni Bowcher UNQUALIFIED
Jennifer I MacleadBrazilBernardo Dominic NEW
Greenwood O CampainSpainAmy Elsner PROPOSAL
Ivar V AmigonFranceElwin Sharvill UNQUALIFIED
Maria L StensethIndiaXuxue Feng NEW
Adams W RimCanadaAnna Fali RENEWAL
Isabel P MarrierFranceIoni Bowcher RENEWAL
Arvin P AlbaresGermanyAmy Elsner PROPOSAL
Stacey C MaletSpainStephen Shaw QUALIFIED
Ivar J SaylorsAustraliaIvan Magalhaes NEGOTIATION
Faith E WaycottRussiaIoni Bowcher NEW
Johnson O PaprockiAustraliaAmy Elsner QUALIFIED
Darci X MorascaArgentinaAmy Elsner NEW
Clifford O ButtBrazilAsiya Javayant NEGOTIATION
Antonio B GlickJapanBernardo Dominic RENEWAL
Francesco S ChuiSpainAnna Fali UNQUALIFIED
Munro J GarufiBrazilBernardo Dominic QUALIFIED
Antonio A WaycottCanadaOnyama Limba QUALIFIED
Clifford T ChuiItalyAnna Fali RENEWAL
Aditya F GauchoUnited KingdomOnyama Limba QUALIFIED
Tony J GlickItalyBernardo Dominic PROPOSAL
Morrow M OldroydItalyXuxue Feng NEW
Mujtaba F MaletRussiaOnyama Limba NEW
Tony A SaylorsIndiaElwin Sharvill NEW
Chavez A MorascaUnited KingdomAmy Elsner NEGOTIATION
Silvio X WieserCanadaBernardo Dominic NEGOTIATION
Jeanfrancois O MarrierCanadaIoni Bowcher NEW
Kaitlin Z FlosiUnited KingdomAsiya Javayant RENEWAL
Leja K MaletGermanyStephen Shaw RENEWAL
Adams L DilliardRussiaElwin Sharvill PROPOSAL
Jones I WaycottItalyXuxue Feng QUALIFIED
Juan W RimIndiaElwin Sharvill NEW
Costa Y SaylorsAustraliaAsiya Javayant PROPOSAL
Wickens E SaylorsCanadaXuxue Feng RENEWAL
Mayumi C StensethFranceBernardo Dominic PROPOSAL
Johnson Y InouyeCanadaElwin Sharvill RENEWAL
Adams M FlosiFranceBernardo Dominic NEW
Julie F GauchoGermanyXuxue Feng QUALIFIED
Murillo T WaycottRussiaAmy Elsner NEGOTIATION
Johnson M ShinkoRussiaAsiya Javayant PROPOSAL
Izzy J BowleyIndiaElwin Sharvill NEGOTIATION
Darci W BriddickRussiaOnyama Limba NEGOTIATION
Mujtaba Y InouyeIndiaBernardo Dominic NEW
Jefferson Q ButtRussiaStephen Shaw UNQUALIFIED
Adams Z SlusarskiFranceElwin Sharvill QUALIFIED
Frozen Columns
Name
Chavez B Malet
Julie Q Royster
Aditya Y Kolmetz
Leja Q Gaucho
Emily G Venere
Aditya K Iturbide
David N Poquette
Maisha O Morasca
Tony J Schemmer
Izzy D Kolmetz
Johnson M Iturbide
Emily M Nicka
Munro O Dilliard
Munro Y Ruta
Cody I Stockham
Leja K Stockham
Leja Y Figeroa
Jefferson I Paprocki
Jeanfrancois X Whobrey
Emily L Garufi
Leon A Caldarera
Izzy K Venere
Antonio D Schemmer
Munro P Flosi
Aika U Ostrosky
Morrow D Ruta
Deepesh T Saylors
Wickens I Shinko
Maisha T Tollner
Juan H Rim
Salvatore C Shinko
Murillo G Briddick
Nicolas B Bowley
Misaki I Gillian
Aika X Marrier
Smith L Malet
Adams M Paprocki
James S Nicka
Sinclair T Waycott
Octavia F Caudy
Nicolas Q Gillian
Stacey D Flosi
Silvio S Stenseth
Adams M Chui
Aruna W Iturbide
Chavez K Butt
Alejandro A Perin
Maria Q Wieser
Izzy Y Briddick
Antonio Y Kolmetz
IdCountryDate
1000France2024-06-24
1001France2024-06-12
1002Spain2024-06-21
1003Russia2024-06-23
1004Russia2024-06-22
1005Canada2024-06-01
1006Italy2024-06-04
1007Italy2024-06-22
1008Russia2024-06-11
1009Canada2024-06-07
1010France2024-06-17
1011Argentina2024-06-21
1012Spain2024-05-27
1013Japan2024-06-02
1014Brazil2024-06-21
1015Canada2024-06-25
1016United Kingdom2024-05-28
1017Canada2024-05-29
1018Canada2024-06-13
1019Brazil2024-06-07
1020Japan2024-06-09
1021Spain2024-06-03
1022Spain2024-06-10
1023Canada2024-06-14
1024Australia2024-06-10
1025India2024-05-30
1026France2024-06-09
1027Russia2024-06-07
1028Brazil2024-06-20
1029Australia2024-06-18
1030India2024-06-10
1031Argentina2024-06-05
1032Russia2024-06-01
1033Canada2024-06-15
1034France2024-05-28
1035Canada2024-06-04
1036Canada2024-06-09
1037India2024-05-30
1038Brazil2024-06-18
1039Australia2024-06-16
1040Japan2024-06-24
1041France2024-06-17
1042Argentina2024-06-19
1043France2024-06-18
1044Italy2024-06-22
1045Russia2024-06-20
1046Germany2024-06-17
1047France2024-05-28
1048Brazil2024-06-23
1049Spain2024-06-10

On-Demand Data

NameIdCountryDate
Ricardo X Nicka1000Germany2024-06-20
Ashley V Butt1001Spain2024-05-31
Morrow T Gillian1002Canada2024-06-20
Juan Z Glick1003India2024-06-07
Sinclair M Poquette1004France2024-06-17
Tony Z Glick1005Australia2024-06-11
Maria F Tollner1006Russia2024-06-22
Aruna S Schemmer1007India2024-06-10
Ricardo S Paprocki1008Germany2024-05-30
Mujtaba A Gaucho1009Germany2024-05-28
Mujtaba U Paprocki1010United Kingdom2024-06-17
Izzy O Sergi1011Japan2024-06-12
Salvatore P Bowley1012Italy2024-06-20
Jennifer A Malet1013India2024-06-23
Clifford Q Venere1014Canada2024-06-01
Jefferson B Nicka1015Brazil2024-06-09
Tony J Rim1016Canada2024-06-23
Izzy F Iturbide1017Italy2024-06-07
Alejandro B Garufi1018France2024-05-30
Nicolas N Poquette1019United Kingdom2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G FigeroaBrazilXuxue Feng RENEWAL
Clifford C StensethItalyElwin Sharvill PROPOSAL
Emily A BriddickUnited KingdomAnna Fali PROPOSAL
Wickens C MacleadRussiaAsiya Javayant QUALIFIED
Maisha J StockhamSpainAnna Fali RENEWAL
Misaki N PoquetteFranceAnna Fali PROPOSAL
Claire M FerenczCanadaXuxue Feng NEGOTIATION
Jennifer K OldroydUnited KingdomXuxue Feng QUALIFIED
Jennifer Y RimArgentinaOnyama Limba UNQUALIFIED
Kaitlin N MaletJapanXuxue Feng NEGOTIATION
Smith E GarufiFranceOnyama Limba NEW
Leon W NestleBrazilBernardo Dominic NEGOTIATION
Francesco J NestleFranceIoni Bowcher RENEWAL
Claire X MaletIndiaIoni Bowcher NEGOTIATION
Juan V OldroydBrazilAnna Fali RENEWAL
Wickens P GillianFranceXuxue Feng PROPOSAL
Juan C FlosiAustraliaElwin Sharvill NEGOTIATION
Ashley M SaylorsJapanIvan Magalhaes RENEWAL
Isabel K VocelkaIndiaAsiya Javayant NEGOTIATION
Wickens O RoysterIndiaAnna Fali RENEWAL
Munro E CaldareraIndiaAsiya Javayant NEW
Silvio R ButtItalyStephen Shaw QUALIFIED
Mujtaba S GlickIndiaElwin Sharvill UNQUALIFIED
Leon S FerenczAustraliaElwin Sharvill QUALIFIED
Johnson A MarrierAustraliaAsiya Javayant PROPOSAL
James E OstroskySpainBernardo Dominic QUALIFIED
Costa X OstroskyGermanyIoni Bowcher NEGOTIATION
Clifford M KuskoFranceElwin Sharvill NEGOTIATION
Wickens J GillianGermanyBernardo Dominic UNQUALIFIED
Cody J ChuiBrazilAnna Fali PROPOSAL
Smith L ButtBrazilElwin Sharvill PROPOSAL
Claire Q NickaItalyElwin Sharvill NEGOTIATION
Maria J SaylorsIndiaAmy Elsner NEW
Nicolas J GarufiArgentinaIvan Magalhaes PROPOSAL
Nicolas E FlosiIndiaStephen Shaw UNQUALIFIED
Aruna U VocelkaUnited KingdomXuxue Feng NEGOTIATION
Smith S CaudyAustraliaStephen Shaw RENEWAL
Johnson M CaldareraFranceOnyama Limba NEGOTIATION
James T CaudyBrazilOnyama Limba PROPOSAL
Silvio K NestleArgentinaAsiya Javayant 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>