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
Cody J TollnerBrazilAmy Elsner UNQUALIFIED
Julie L MorascaRussiaAmy Elsner PROPOSAL
Adams Z ChuiRussiaAmy Elsner RENEWAL
Ricardo P ShinkoArgentinaAsiya Javayant NEW
Aika G AmigonUnited KingdomAmy Elsner QUALIFIED
Emily A ButtIndiaBernardo Dominic QUALIFIED
Emily U SlusarskiAustraliaAmy Elsner PROPOSAL
James L TollnerGermanyAnna Fali QUALIFIED
Smith C ChuiJapanIvan Magalhaes NEGOTIATION
Adams S MorascaSpainOnyama Limba PROPOSAL
Claire H BologniaGermanyXuxue Feng RENEWAL
Aditya T OldroydSpainStephen Shaw RENEWAL
Jefferson Z MarrierFranceBernardo Dominic NEGOTIATION
Izzy J ShinkoAustraliaXuxue Feng NEGOTIATION
Aruna G InouyeUnited KingdomIoni Bowcher PROPOSAL
Aika W InouyeArgentinaOnyama Limba QUALIFIED
Mayumi X BologniaArgentinaStephen Shaw RENEWAL
Ivar Q MarrierJapanAnna Fali NEGOTIATION
Aruna Y RoysterIndiaXuxue Feng UNQUALIFIED
Munro N FerenczRussiaAmy Elsner RENEWAL
Aika I MaletIndiaAnna Fali UNQUALIFIED
Kaitlin U KuskoArgentinaIvan Magalhaes RENEWAL
Antonio L StensethArgentinaOnyama Limba QUALIFIED
Ashley S FerenczRussiaIvan Magalhaes QUALIFIED
Murillo M SergiSpainAmy Elsner QUALIFIED
Smith T FollerFranceIoni Bowcher PROPOSAL
Wickens X MaletGermanyOnyama Limba NEGOTIATION
Antonio X FigeroaSpainAmy Elsner RENEWAL
Chavez Y VenereSpainIvan Magalhaes PROPOSAL
Leja P BriddickAustraliaAsiya Javayant UNQUALIFIED
Silvio T SlusarskiAustraliaOnyama Limba NEW
Smith L WhobreyGermanyAnna Fali UNQUALIFIED
Smith I WaycottFranceXuxue Feng NEW
Antonio A MorascaFranceXuxue Feng RENEWAL
Julie E AlbaresItalyXuxue Feng NEGOTIATION
Emily I SchemmerSpainBernardo Dominic UNQUALIFIED
Murillo S GillianAustraliaAnna Fali RENEWAL
Silvio F InouyeRussiaElwin Sharvill NEW
Juan X NestleCanadaIvan Magalhaes PROPOSAL
Aika R CampainFranceXuxue Feng PROPOSAL
Aruna T RimUnited KingdomIoni Bowcher RENEWAL
Ricardo M RutaCanadaXuxue Feng NEW
Mayumi A RutaCanadaOnyama Limba UNQUALIFIED
Johnson Z MaletAustraliaBernardo Dominic PROPOSAL
Adams F CampainRussiaBernardo Dominic PROPOSAL
Costa Y OldroydSpainIoni Bowcher RENEWAL
Octavia F NestleFranceIvan Magalhaes NEGOTIATION
Rodrigues W WaycottIndiaXuxue Feng QUALIFIED
Silvio I WaycottRussiaStephen Shaw QUALIFIED
Isabel Z KolmetzArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer Y SaylorsCanadaIvan Magalhaes UNQUALIFIED
Leon C VocelkaSpainOnyama Limba QUALIFIED
Claire Q PoquetteBrazilAsiya Javayant RENEWAL
Aika Z FollerIndiaIoni Bowcher PROPOSAL
Rodrigues Y WhobreyItalyOnyama Limba RENEWAL
Francesco I SchemmerBrazilXuxue Feng NEW
Maisha L GlickJapanStephen Shaw PROPOSAL
Maisha X CampainJapanAsiya Javayant QUALIFIED
Adams H RutaAustraliaElwin Sharvill RENEWAL
Francesco Y KolmetzArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams L VenereArgentina2024-05-29Feltz Printing Service PROPOSAL34Xuxue Feng
1001Octavia M FlosiAustralia2024-06-17Dorl, James J Esq QUALIFIED53Ioni Bowcher
1002Arvin X SlusarskiSpain2024-06-19Feltz Printing Service NEW7Amy Elsner
1003Sinclair C MaletArgentina2024-06-09Rangoni Of Florence UNQUALIFIED85Anna Fali
1004Wickens M WieserSpain2024-06-20Chapman, Ross E Esq PROPOSAL65Onyama Limba
1005Juan X StensethArgentina2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED54Amy Elsner
1006Francesco E FollerBrazil2024-06-14Commercial Press PROPOSAL16Asiya Javayant
1007Izzy R VocelkaSpain2024-06-07King, Christopher A Esq QUALIFIED31Xuxue Feng
1008Deepesh N SergiArgentina2024-06-22Rangoni Of Florence NEW45Ioni Bowcher
1009Tony A BowleyBrazil2024-06-07Dorl, James J Esq PROPOSAL38Onyama Limba
1010Arvin U ShinkoIndia2024-06-03Printing Dimensions RENEWAL18Anna Fali
1011Octavia Q MorascaFrance2024-06-03Buckley Miller Wright NEW10Onyama Limba
1012Smith R GlickBrazil2024-06-01Rousseaux, Michael Esq UNQUALIFIED24Amy Elsner
1013Leon D RutaItaly2024-06-03Chemel, James L Cpa UNQUALIFIED33Elwin Sharvill
1014Stacey I MarrierItaly2024-06-14Dorl, James J Esq RENEWAL99Onyama Limba
1015Murillo Q KolmetzCanada2024-06-11Dorl, James J Esq NEW38Asiya Javayant
1016Salvatore K WieserJapan2024-06-21Rangoni Of Florence NEGOTIATION3Ioni Bowcher
1017Maria D SaylorsAustralia2024-06-21Truhlar And Truhlar Attys NEW31Elwin Sharvill
1018Munro X BowleyFrance2024-06-21Rousseaux, Michael Esq RENEWAL90Xuxue Feng
1019Ivar U PoquetteCanada2024-06-05Rangoni Of Florence UNQUALIFIED99Amy Elsner
1020Juan W RimItaly2024-05-25Feltz Printing Service NEW37Asiya Javayant
1021Darci X RutaCanada2024-06-05Truhlar And Truhlar Attys UNQUALIFIED47Stephen Shaw
1022Juan O VocelkaItaly2024-06-10Commercial Press PROPOSAL52Ivan Magalhaes
1023Tony Y SlusarskiItaly2024-06-03King, Christopher A Esq RENEWAL66Amy Elsner
1024Aika S BowleyUnited Kingdom2024-06-01Rousseaux, Michael Esq NEGOTIATION2Stephen Shaw
1025Munro J FigeroaBrazil2024-06-22Chemel, James L Cpa NEW68Elwin Sharvill
1026Ivar X GauchoUnited Kingdom2024-06-02Chapman, Ross E Esq RENEWAL96Xuxue Feng
1027Wickens R OldroydAustralia2024-05-27Benton, John B Jr RENEWAL44Elwin Sharvill
1028Misaki X OstroskyUnited Kingdom2024-06-04Printing Dimensions UNQUALIFIED89Anna Fali
1029Octavia T KuskoIndia2024-06-09Feltz Printing Service NEGOTIATION10Asiya Javayant
1030Aika P PoquetteAustralia2024-06-05Chapman, Ross E Esq RENEWAL62Onyama Limba
1031Julie M SlusarskiItaly2024-06-21Printing Dimensions QUALIFIED99Onyama Limba
1032Aika G WaycottJapan2024-06-22Chemel, James L Cpa NEGOTIATION95Onyama Limba
1033Kaitlin X AlbaresIndia2024-06-21Chapman, Ross E Esq PROPOSAL60Xuxue Feng
1034Tony L GauchoAustralia2024-06-12Chapman, Ross E Esq NEW87Onyama Limba
1035Kadeem L RulapaughItaly2024-05-30Benton, John B Jr QUALIFIED86Stephen Shaw
1036Antonio H BriddickSpain2024-06-07Chapman, Ross E Esq QUALIFIED73Onyama Limba
1037Octavia H OstroskyArgentina2024-05-27Chapman, Ross E Esq RENEWAL24Bernardo Dominic
1038Costa X VenereRussia2024-05-26Feiner Bros UNQUALIFIED20Anna Fali
1039Faith E BriddickArgentina2024-06-05Chanay, Jeffrey A Esq RENEWAL22Asiya Javayant
1040Francesco L ButtIndia2024-06-18King, Christopher A Esq RENEWAL32Amy Elsner
1041Mujtaba Y SlusarskiSpain2024-05-24Commercial Press NEW31Xuxue Feng
1042Julie E MaletSpain2024-05-29King, Christopher A Esq PROPOSAL13Ioni Bowcher
1043Leon H BologniaAustralia2024-06-07Rousseaux, Michael Esq PROPOSAL99Asiya Javayant
1044Maria T FlosiGermany2024-06-07Commercial Press NEGOTIATION90Stephen Shaw
1045Rodrigues D FollerSpain2024-06-08Buckley Miller Wright NEGOTIATION10Xuxue Feng
1046Aruna K DilliardArgentina2024-06-07Chapman, Ross E Esq UNQUALIFIED11Ivan Magalhaes
1047Ivar K ButtArgentina2024-05-27Feltz Printing Service UNQUALIFIED58Amy Elsner
1048David W CaudySpain2024-06-06Chemel, James L Cpa NEGOTIATION73Stephen Shaw
1049Isabel D MorascaCanada2024-06-05Commercial Press UNQUALIFIED79Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson E BologniaItalyBernardo Dominic QUALIFIED
Aika Y OstroskyBrazilXuxue Feng PROPOSAL
Julie F IturbideAustraliaStephen Shaw NEW
Stacey D NestleFranceIvan Magalhaes NEW
Alejandro N BriddickFranceIoni Bowcher NEW
Jeanfrancois E WieserUnited KingdomElwin Sharvill QUALIFIED
Ashley R RulapaughArgentinaXuxue Feng UNQUALIFIED
Darci D WieserRussiaIoni Bowcher RENEWAL
Jennifer S VenereIndiaAnna Fali NEW
Aditya L CaudyItalyXuxue Feng QUALIFIED
Alejandro Q ButtBrazilBernardo Dominic NEGOTIATION
Mayumi Y IturbideSpainAnna Fali NEW
Mayumi Q StensethGermanyElwin Sharvill PROPOSAL
Adams V DoeSpainIoni Bowcher NEGOTIATION
Munro K SlusarskiAustraliaXuxue Feng PROPOSAL
Maria W RoysterBrazilAnna Fali QUALIFIED
Nicolas Q CaldareraAustraliaStephen Shaw NEGOTIATION
Costa O NestleIndiaOnyama Limba QUALIFIED
Misaki F BologniaJapanStephen Shaw UNQUALIFIED
Aruna U DoeRussiaIvan Magalhaes PROPOSAL
Aruna G VocelkaBrazilElwin Sharvill UNQUALIFIED
Johnson H ShinkoSpainAnna Fali PROPOSAL
Kadeem J VocelkaFranceOnyama Limba PROPOSAL
Octavia S StensethUnited KingdomStephen Shaw UNQUALIFIED
Emily D RulapaughArgentinaIvan Magalhaes PROPOSAL
Stacey U FollerCanadaOnyama Limba NEGOTIATION
Kaitlin J SergiAustraliaAsiya Javayant NEW
Deepesh L KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro N MaletAustraliaIoni Bowcher RENEWAL
Stacey Z SergiJapanAsiya Javayant RENEWAL
Maria L IturbideIndiaOnyama Limba NEW
Rodrigues F ShinkoJapanAmy Elsner NEGOTIATION
Morrow T VenereGermanyAsiya Javayant RENEWAL
Aruna U PoquetteSpainIoni Bowcher NEGOTIATION
Julie B DilliardJapanAnna Fali NEW
Silvio D MarrierJapanAsiya Javayant NEW
Alejandro I WhobreyRussiaBernardo Dominic PROPOSAL
Murillo B FlosiFranceIoni Bowcher NEGOTIATION
Octavia Y KolmetzRussiaAsiya Javayant PROPOSAL
Jones K FollerJapanIoni Bowcher NEW
Ricardo U GarufiRussiaIoni Bowcher NEGOTIATION
Juan X StensethSpainAmy Elsner NEW
Claire L GauchoUnited KingdomXuxue Feng QUALIFIED
Smith G KolmetzRussiaIoni Bowcher QUALIFIED
Mayumi G SlusarskiCanadaAnna Fali UNQUALIFIED
Jennifer I GarufiGermanyOnyama Limba NEW
Ashley Q VocelkaAustraliaAnna Fali RENEWAL
Juan D MaletSpainStephen Shaw NEGOTIATION
Faith S RutaJapanIvan Magalhaes QUALIFIED
Salvatore J KuskoArgentinaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Cody Q Figeroa
Isabel W Stenseth
Mujtaba D Perin
Greenwood P Briddick
Faith M Whobrey
Sinclair D Slusarski
Ashley H Bowley
Arvin T Maclead
Rodrigues R Figeroa
David W Briddick
Salvatore H Nestle
Julie K Albares
Faith T Whobrey
Johnson M Gillian
Jones F Bolognia
Alejandro L Figeroa
Ricardo G Malet
Adams W Wieser
Izzy U Wieser
Sinclair J Malet
Darci K Caldarera
Ashley M Sergi
Ashley J Wieser
Kadeem B Flosi
Leon C Malet
Juan C Malet
Murillo F Nestle
Nicolas Q Kolmetz
Maria H Caldarera
Stacey H Ferencz
Clifford X Iturbide
Stacey X Marrier
Salvatore H Stenseth
Tony A Maclead
Mayumi T Amigon
David Z Wieser
Maisha Y Whobrey
Misaki L Oldroyd
Octavia W Bowley
James C Briddick
Faith R Whobrey
Misaki A Slusarski
Leon J Venere
Darci E Nestle
Juan E Garufi
Emily U Flosi
Darci S Tollner
Silvio B Royster
Deepesh J Waycott
Ashley D Kolmetz
IdCountryDate
1000Argentina2024-05-27
1001Japan2024-06-19
1002Russia2024-06-15
1003Canada2024-05-30
1004Italy2024-06-10
1005Spain2024-06-03
1006Russia2024-06-01
1007Japan2024-06-10
1008Brazil2024-05-28
1009Spain2024-06-12
1010India2024-05-27
1011Canada2024-06-13
1012India2024-06-05
1013Argentina2024-06-10
1014Italy2024-06-03
1015Argentina2024-05-24
1016France2024-05-31
1017United Kingdom2024-05-28
1018Russia2024-05-27
1019India2024-06-05
1020Argentina2024-06-20
1021Japan2024-06-16
1022Argentina2024-06-03
1023Argentina2024-06-21
1024Australia2024-06-17
1025Canada2024-06-11
1026United Kingdom2024-05-26
1027Spain2024-06-19
1028Canada2024-05-28
1029Brazil2024-05-28
1030United Kingdom2024-06-03
1031Italy2024-05-27
1032Japan2024-06-18
1033Russia2024-05-24
1034Canada2024-06-01
1035Japan2024-06-10
1036Japan2024-06-13
1037Germany2024-06-18
1038Argentina2024-06-08
1039Italy2024-06-17
1040Canada2024-06-11
1041Japan2024-06-03
1042Japan2024-05-29
1043Russia2024-06-04
1044Russia2024-05-25
1045France2024-06-17
1046Argentina2024-06-08
1047Russia2024-05-28
1048Australia2024-06-18
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
Salvatore Y Iturbide1000Italy2024-06-17
Mujtaba Z Vocelka1001France2024-06-08
Nicolas X Perin1002Russia2024-05-24
Johnson Z Darakjy1003Canada2024-06-21
Munro T Doe1004Italy2024-06-16
Maria I Rim1005Russia2024-06-04
Chavez Z Amigon1006Brazil2024-06-05
Leja Q Rim1007Germany2024-05-29
Kaitlin J Dilliard1008Germany2024-06-02
Isabel X Doe1009Brazil2024-06-10
Murillo N Rulapaugh1010France2024-06-21
Salvatore Q Slusarski1011Japan2024-05-26
Arvin T Whobrey1012France2024-06-12
Misaki Q Rulapaugh1013Canada2024-06-20
Jennifer Z Caldarera1014India2024-06-19
Arvin K Foller1015Argentina2024-06-12
Cody T Butt1016Spain2024-06-05
Kadeem Y Vocelka1017India2024-06-14
Emily V Rim1018Japan2024-06-06
Mujtaba B Bowley1019India2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro P MorascaIndiaBernardo Dominic QUALIFIED
Jefferson W SaylorsAustraliaIoni Bowcher RENEWAL
Claire L DoeIndiaAmy Elsner PROPOSAL
Ricardo L DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Claire X TollnerItalyAmy Elsner PROPOSAL
Leon T SergiJapanBernardo Dominic NEGOTIATION
Ashley X BologniaSpainAnna Fali NEW
Mujtaba N PoquetteBrazilAnna Fali NEW
Maisha W SergiIndiaAnna Fali RENEWAL
Francesco G WaycottCanadaAsiya Javayant RENEWAL
Mujtaba N MorascaFranceAnna Fali PROPOSAL
Faith K NickaArgentinaOnyama Limba UNQUALIFIED
Faith F WieserIndiaOnyama Limba QUALIFIED
Juan F DoeJapanAnna Fali QUALIFIED
Leon M InouyeCanadaXuxue Feng UNQUALIFIED
Ashley L MarrierGermanyAsiya Javayant NEGOTIATION
Julie P GauchoSpainAmy Elsner RENEWAL
Jefferson C BologniaBrazilIoni Bowcher RENEWAL
Juan N StockhamJapanStephen Shaw RENEWAL
Juan G ButtGermanyAsiya Javayant UNQUALIFIED
Antonio C NickaItalyAsiya Javayant NEGOTIATION
Munro G RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Faith R FlosiUnited KingdomXuxue Feng QUALIFIED
Aika I GillianUnited KingdomAmy Elsner UNQUALIFIED
Nicolas U StensethIndiaXuxue Feng PROPOSAL
Misaki U GarufiSpainIvan Magalhaes NEW
Darci N PerinSpainStephen Shaw NEGOTIATION
Cody I CaldareraFranceAnna Fali NEGOTIATION
Mayumi W RutaCanadaAmy Elsner NEW
Jennifer P NestleUnited KingdomIoni Bowcher QUALIFIED
Johnson B CaudyAustraliaIvan Magalhaes NEGOTIATION
Morrow M VenereArgentinaAmy Elsner NEGOTIATION
Misaki V RimIndiaStephen Shaw NEGOTIATION
Antonio Y TollnerJapanBernardo Dominic QUALIFIED
Julie C NickaAustraliaOnyama Limba UNQUALIFIED
Alejandro A BowleyItalyXuxue Feng NEGOTIATION
Arvin Q CaldareraRussiaIvan Magalhaes QUALIFIED
Wickens C WaycottRussiaIoni Bowcher NEGOTIATION
Jones X PerinUnited KingdomStephen Shaw NEW
Aditya X GauchoAustraliaXuxue Feng UNQUALIFIED

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