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
Smith O GarufiJapanBernardo Dominic UNQUALIFIED
Aika P BowleyArgentinaAnna Fali NEW
Leon Q CaldareraItalyStephen Shaw QUALIFIED
Murillo U BriddickIndiaAsiya Javayant UNQUALIFIED
Leon J StensethCanadaAmy Elsner NEW
Leja V StensethItalyAsiya Javayant PROPOSAL
Jefferson Y StockhamItalyIoni Bowcher QUALIFIED
Octavia T KolmetzAustraliaElwin Sharvill NEGOTIATION
Ricardo B MacleadFranceAmy Elsner NEW
Adams U SergiItalyIvan Magalhaes PROPOSAL
Morrow V OldroydRussiaIoni Bowcher UNQUALIFIED
Alejandro C KuskoGermanyOnyama Limba NEW
Jones H RulapaughArgentinaAmy Elsner RENEWAL
Johnson U WaycottUnited KingdomAmy Elsner NEW
Mujtaba J DoeArgentinaElwin Sharvill RENEWAL
Ashley J FerenczJapanStephen Shaw RENEWAL
Stacey D WhobreyRussiaIoni Bowcher NEW
Maisha Y KuskoIndiaXuxue Feng PROPOSAL
Leon W NestleGermanyBernardo Dominic QUALIFIED
Aika B AlbaresIndiaStephen Shaw UNQUALIFIED
Isabel Q StensethFranceAsiya Javayant NEW
Rodrigues X RulapaughArgentinaIoni Bowcher QUALIFIED
Mujtaba K PerinItalyAsiya Javayant RENEWAL
Octavia V NestleRussiaXuxue Feng UNQUALIFIED
Ivar H FigeroaUnited KingdomAmy Elsner NEGOTIATION
Ashley F GlickArgentinaOnyama Limba QUALIFIED
Alejandro Q StensethJapanIvan Magalhaes PROPOSAL
Emily V OldroydJapanAsiya Javayant NEGOTIATION
Aika Q CampainRussiaAsiya Javayant RENEWAL
Arvin C ShinkoBrazilAmy Elsner QUALIFIED
Morrow J WaycottJapanBernardo Dominic PROPOSAL
Antonio S BologniaFranceIvan Magalhaes NEW
Faith D VocelkaAustraliaStephen Shaw PROPOSAL
Rodrigues H VenereIndiaIoni Bowcher NEGOTIATION
Costa V MorascaItalyAmy Elsner NEW
Alejandro I GarufiFranceXuxue Feng NEW
Tony Y OstroskyRussiaElwin Sharvill NEW
Mujtaba M RutaItalyBernardo Dominic NEGOTIATION
Jennifer A InouyeUnited KingdomOnyama Limba PROPOSAL
Sinclair E FerenczSpainAmy Elsner NEW
Sinclair B FlosiBrazilIoni Bowcher NEW
Sinclair G PaprockiJapanIvan Magalhaes NEW
Francesco R ButtUnited KingdomStephen Shaw QUALIFIED
Alejandro O ShinkoUnited KingdomAmy Elsner PROPOSAL
David F CaudyArgentinaAmy Elsner RENEWAL
Deepesh Z WhobreySpainStephen Shaw RENEWAL
Maria M SlusarskiFranceStephen Shaw NEGOTIATION
Ivar K SlusarskiGermanyOnyama Limba RENEWAL
Alejandro R GlickAustraliaElwin Sharvill QUALIFIED
Nicolas A RutaItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James D RulapaughBrazilBernardo Dominic NEW
Sinclair A FigeroaCanadaAsiya Javayant NEW
Murillo F MacleadCanadaIoni Bowcher PROPOSAL
Aruna R VocelkaCanadaXuxue Feng RENEWAL
James E GarufiItalyElwin Sharvill UNQUALIFIED
James T PaprockiGermanyAnna Fali RENEWAL
Aika R FollerJapanIvan Magalhaes PROPOSAL
Clifford C NickaUnited KingdomOnyama Limba PROPOSAL
Kaitlin T RimFranceStephen Shaw QUALIFIED
Claire D GillianSpainOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony F MacleadItaly2026-07-01Morlong Associates QUALIFIED4Asiya Javayant
1001Morrow S TollnerBrazil2026-07-13Chemel, James L Cpa NEW11Xuxue Feng
1002Tony B GarufiSpain2026-06-30Morlong Associates PROPOSAL79Ivan Magalhaes
1003Costa G FerenczCanada2026-07-23Rousseaux, Michael Esq UNQUALIFIED96Ioni Bowcher
1004Chavez K RulapaughAustralia2026-07-07Morlong Associates RENEWAL56Onyama Limba
1005Aditya A RoysterCanada2026-07-19Morlong Associates NEW90Ivan Magalhaes
1006Emily J FerenczRussia2026-06-29Chanay, Jeffrey A Esq PROPOSAL84Xuxue Feng
1007Darci U InouyeBrazil2026-07-07Chanay, Jeffrey A Esq UNQUALIFIED93Stephen Shaw
1008Munro E DilliardSpain2026-07-10Rousseaux, Michael Esq RENEWAL34Ioni Bowcher
1009Maisha Q NickaItaly2026-07-02Feltz Printing Service PROPOSAL42Asiya Javayant
1010Jennifer A OldroydIndia2026-07-21Benton, John B Jr NEW5Amy Elsner
1011Maria C DoeJapan2026-07-16Chapman, Ross E Esq UNQUALIFIED7Xuxue Feng
1012Mujtaba W ShinkoCanada2026-07-04Morlong Associates PROPOSAL56Stephen Shaw
1013Aruna L GillianRussia2026-07-21Printing Dimensions QUALIFIED39Ioni Bowcher
1014Jeanfrancois P FollerJapan2026-07-11Morlong Associates NEW68Xuxue Feng
1015Izzy V NestleArgentina2026-07-04Truhlar And Truhlar Attys PROPOSAL59Ioni Bowcher
1016Antonio J MaletIndia2026-07-01Feltz Printing Service PROPOSAL55Bernardo Dominic
1017Maria F NickaIndia2026-07-23Rangoni Of Florence PROPOSAL55Asiya Javayant
1018Mayumi S StensethItaly2026-07-04Morlong Associates UNQUALIFIED64Anna Fali
1019James D PerinSpain2026-07-19Commercial Press NEGOTIATION41Elwin Sharvill
1020Emily H CampainAustralia2026-07-10Dorl, James J Esq NEW44Anna Fali
1021Maria S MacleadArgentina2026-07-16Buckley Miller Wright QUALIFIED66Amy Elsner
1022Clifford O DarakjyRussia2026-06-27Chapman, Ross E Esq RENEWAL33Amy Elsner
1023Morrow G IturbideBrazil2026-07-10Chanay, Jeffrey A Esq UNQUALIFIED26Asiya Javayant
1024Rodrigues C NickaBrazil2026-07-08Feiner Bros RENEWAL74Xuxue Feng
1025Octavia Q RutaCanada2026-07-02Feiner Bros NEW35Bernardo Dominic
1026Deepesh A RoysterJapan2026-06-28Chanay, Jeffrey A Esq RENEWAL1Bernardo Dominic
1027Nicolas S FigeroaCanada2026-06-27Chemel, James L Cpa NEGOTIATION1Ivan Magalhaes
1028Antonio U SchemmerJapan2026-07-04Rousseaux, Michael Esq UNQUALIFIED88Elwin Sharvill
1029Leon H CaudyIndia2026-07-10Rousseaux, Michael Esq NEW32Ioni Bowcher
1030Munro Y DilliardGermany2026-07-15Chanay, Jeffrey A Esq QUALIFIED18Amy Elsner
1031Jefferson P TollnerArgentina2026-07-10Chapman, Ross E Esq QUALIFIED80Bernardo Dominic
1032Aditya K ButtItaly2026-07-12Buckley Miller Wright NEGOTIATION10Xuxue Feng
1033Aruna A StockhamJapan2026-07-10Truhlar And Truhlar Attys PROPOSAL45Amy Elsner
1034Jefferson Q GillianJapan2026-07-21Dorl, James J Esq NEW44Asiya Javayant
1035Antonio A StensethSpain2026-07-17Dorl, James J Esq NEGOTIATION35Onyama Limba
1036Francesco V ButtRussia2026-07-11Rousseaux, Michael Esq RENEWAL37Stephen Shaw
1037Juan Z MaletSpain2026-07-17Chemel, James L Cpa RENEWAL96Stephen Shaw
1038Cody L RoysterUnited Kingdom2026-07-04Commercial Press PROPOSAL19Amy Elsner
1039Costa K StockhamJapan2026-07-11Morlong Associates QUALIFIED81Stephen Shaw
1040Aditya Y FollerAustralia2026-07-16Benton, John B Jr UNQUALIFIED5Amy Elsner
1041Murillo S PoquetteAustralia2026-07-21Feltz Printing Service NEGOTIATION41Ivan Magalhaes
1042Francesco O MaletJapan2026-07-13Benton, John B Jr RENEWAL16Ioni Bowcher
1043Maisha O DoeGermany2026-07-03Feiner Bros PROPOSAL1Onyama Limba
1044Clifford N MorascaGermany2026-07-14Feiner Bros PROPOSAL19Ioni Bowcher
1045Deepesh V DarakjyGermany2026-07-02Chemel, James L Cpa UNQUALIFIED72Bernardo Dominic
1046Isabel H CaudyCanada2026-07-06King, Christopher A Esq NEW7Bernardo Dominic
1047Salvatore S OstroskyFrance2026-07-24Rousseaux, Michael Esq QUALIFIED91Amy Elsner
1048Tony L GillianGermany2026-07-09Dorl, James J Esq RENEWAL17Asiya Javayant
1049Munro J WhobreySpain2026-06-25Feltz Printing Service QUALIFIED98Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood L RulapaughJapanElwin Sharvill PROPOSAL
Deepesh P DarakjySpainOnyama Limba NEW
Deepesh P FollerUnited KingdomAsiya Javayant RENEWAL
Clifford S RulapaughSpainBernardo Dominic QUALIFIED
Rodrigues F MarrierFranceXuxue Feng QUALIFIED
Mujtaba G InouyeBrazilXuxue Feng RENEWAL
Mayumi F RimBrazilBernardo Dominic QUALIFIED
Morrow C WaycottBrazilIvan Magalhaes NEW
Silvio M DilliardRussiaIvan Magalhaes QUALIFIED
Rodrigues O AmigonArgentinaAsiya Javayant UNQUALIFIED
Greenwood J SergiAustraliaAsiya Javayant QUALIFIED
Nicolas A DilliardSpainBernardo Dominic NEGOTIATION
Kaitlin J IturbideJapanStephen Shaw PROPOSAL
Arvin N KuskoItalyBernardo Dominic PROPOSAL
Ricardo H OstroskyUnited KingdomIoni Bowcher QUALIFIED
Greenwood F ChuiJapanAmy Elsner QUALIFIED
Izzy D BowleyGermanyXuxue Feng UNQUALIFIED
Maria D KolmetzFranceIvan Magalhaes QUALIFIED
Smith U OldroydIndiaXuxue Feng NEGOTIATION
Wickens K DarakjyBrazilElwin Sharvill NEW
Maisha V WaycottCanadaElwin Sharvill QUALIFIED
Adams P AlbaresItalyIvan Magalhaes NEGOTIATION
Leja Q PaprockiUnited KingdomOnyama Limba PROPOSAL
Johnson Y IturbideBrazilIoni Bowcher NEGOTIATION
David B DoeIndiaIvan Magalhaes NEGOTIATION
Octavia B DoeIndiaAmy Elsner UNQUALIFIED
Claire U ChuiJapanIoni Bowcher UNQUALIFIED
Octavia U GauchoFranceAsiya Javayant PROPOSAL
Ricardo O SchemmerCanadaBernardo Dominic QUALIFIED
Salvatore M AmigonCanadaAsiya Javayant UNQUALIFIED
Chavez U CaudyCanadaBernardo Dominic PROPOSAL
Cody X FollerIndiaStephen Shaw UNQUALIFIED
Greenwood R BowleySpainAnna Fali QUALIFIED
Claire Q DoeRussiaOnyama Limba RENEWAL
Tony B InouyeFranceIoni Bowcher RENEWAL
Aditya H SlusarskiGermanyXuxue Feng PROPOSAL
Munro Z RoysterAustraliaAsiya Javayant QUALIFIED
Leja Z FerenczRussiaAmy Elsner QUALIFIED
Arvin I WieserItalyXuxue Feng PROPOSAL
Kadeem Q MorascaFranceIvan Magalhaes QUALIFIED
Greenwood Y VocelkaCanadaElwin Sharvill QUALIFIED
Isabel M OstroskyGermanyXuxue Feng PROPOSAL
Jefferson A DilliardIndiaStephen Shaw NEGOTIATION
Costa D FollerAustraliaStephen Shaw UNQUALIFIED
Aditya N GillianBrazilIvan Magalhaes RENEWAL
Smith W PerinRussiaBernardo Dominic QUALIFIED
Munro S MorascaCanadaXuxue Feng PROPOSAL
Faith W AlbaresGermanyElwin Sharvill NEGOTIATION
Leon U MaletSpainStephen Shaw PROPOSAL
Octavia D GillianCanadaStephen Shaw NEW
Frozen Columns
Name
Silvio G Amigon
Rodrigues S Bowley
Ivar B Schemmer
Clifford Q Campain
Costa U Wieser
Aika J Slusarski
Claire U Gaucho
James O Gillian
Ashley U Shinko
Aruna L Albares
Jeanfrancois T Royster
Antonio K Vocelka
Emily U Bowley
Jennifer G Figeroa
Juan D Nicka
Maria P Caudy
Claire F Paprocki
Wickens H Perin
Cody U Flosi
Antonio A Ferencz
Francesco W Briddick
Silvio C Figeroa
Faith F Nestle
David I Doe
David I Briddick
Jennifer B Shinko
Costa R Marrier
Costa X Gillian
Francesco N Paprocki
Kadeem D Figeroa
Maria R Chui
Mayumi J Stenseth
Emily O Marrier
Adams S Caudy
Aruna R Poquette
Ashley G Kolmetz
Deepesh P Ostrosky
Wickens Y Gillian
Maria D Caldarera
Leja V Saylors
Smith N Albares
Alejandro Z Amigon
Jefferson B Bolognia
Leja Y Poquette
Ricardo T Kusko
Darci U Inouye
Mujtaba M Royster
Julie N Caldarera
Darci F Ostrosky
Isabel G Saylors
IdCountryDate
1000Italy2026-06-25
1001Germany2026-07-22
1002Argentina2026-07-11
1003Argentina2026-07-14
1004France2026-07-24
1005India2026-07-08
1006India2026-06-25
1007Japan2026-07-14
1008Brazil2026-07-09
1009Russia2026-07-15
1010France2026-07-15
1011Spain2026-07-02
1012Canada2026-07-10
1013Japan2026-07-23
1014Argentina2026-06-26
1015Australia2026-06-30
1016Argentina2026-07-09
1017United Kingdom2026-07-06
1018France2026-07-02
1019France2026-07-08
1020Spain2026-07-01
1021Argentina2026-07-17
1022Germany2026-07-19
1023United Kingdom2026-07-23
1024India2026-06-26
1025Russia2026-07-13
1026Brazil2026-07-07
1027Italy2026-06-29
1028Brazil2026-07-01
1029India2026-07-04
1030United Kingdom2026-07-06
1031Brazil2026-07-17
1032Japan2026-07-16
1033Italy2026-06-26
1034Canada2026-07-17
1035Russia2026-07-20
1036India2026-07-04
1037Argentina2026-07-04
1038Japan2026-07-17
1039United Kingdom2026-07-06
1040Italy2026-06-28
1041Italy2026-07-17
1042France2026-07-16
1043Australia2026-07-12
1044Japan2026-06-28
1045Germany2026-07-23
1046France2026-07-04
1047India2026-07-15
1048France2026-07-23
1049Germany2026-06-27

On-Demand Data

NameIdCountryDate
Ricardo I Kolmetz1000Spain2026-07-06
Claire G Nestle1001Italy2026-07-19
Aruna H Glick1002Italy2026-06-25
Julie P Wieser1003Australia2026-07-02
Isabel W Bolognia1004Germany2026-06-25
Stacey W Stenseth1005Argentina2026-07-21
Tony L Stockham1006Brazil2026-06-25
Kaitlin Q Shinko1007Germany2026-07-13
Murillo X Whobrey1008Italy2026-07-10
Rodrigues V Malet1009Australia2026-07-18
Ricardo A Gillian1010Brazil2026-07-07
Isabel L Royster1011Canada2026-07-10
Mujtaba A Maclead1012Brazil2026-07-24
Misaki K Foller1013Canada2026-07-03
Ricardo L Stockham1014Russia2026-07-05
Jennifer I Maclead1015Italy2026-07-20
Francesco E Flosi1016United Kingdom2026-07-06
Leja Y Rulapaugh1017Spain2026-07-20
Jeanfrancois M Doe1018United Kingdom2026-07-04
Rodrigues F Maclead1019France2026-06-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia M FollerItalyXuxue Feng UNQUALIFIED
Kadeem P FollerFranceOnyama Limba QUALIFIED
Isabel E GauchoAustraliaElwin Sharvill UNQUALIFIED
David X VocelkaArgentinaAnna Fali NEGOTIATION
Kadeem Q MaletJapanAnna Fali UNQUALIFIED
Antonio A SergiRussiaAsiya Javayant QUALIFIED
Greenwood H DoeFranceAmy Elsner NEGOTIATION
Arvin B PoquetteIndiaIvan Magalhaes UNQUALIFIED
Nicolas C StensethBrazilIvan Magalhaes NEW
Izzy B StensethIndiaAmy Elsner NEW
Aika N GarufiIndiaAmy Elsner UNQUALIFIED
Jefferson I DilliardGermanyBernardo Dominic UNQUALIFIED
Izzy C GarufiJapanIoni Bowcher UNQUALIFIED
Costa U VenereRussiaOnyama Limba RENEWAL
Ashley Y SaylorsJapanOnyama Limba NEGOTIATION
Greenwood X IturbideIndiaAsiya Javayant NEW
Octavia X MaletIndiaIoni Bowcher QUALIFIED
Mujtaba Z SaylorsRussiaElwin Sharvill PROPOSAL
Smith V ChuiGermanyIvan Magalhaes PROPOSAL
Juan N FollerGermanyIvan Magalhaes UNQUALIFIED
Chavez Z ButtItalyStephen Shaw UNQUALIFIED
Leon W FlosiCanadaAnna Fali NEW
Mayumi L NickaGermanyAmy Elsner RENEWAL
Cody V AlbaresAustraliaAmy Elsner QUALIFIED
Stacey E PoquetteJapanAsiya Javayant NEW
Mayumi F OstroskyItalyIvan Magalhaes PROPOSAL
Salvatore D KolmetzJapanAmy Elsner PROPOSAL
Munro Y OldroydAustraliaStephen Shaw NEGOTIATION
Murillo A StensethJapanElwin Sharvill PROPOSAL
Deepesh C InouyeSpainBernardo Dominic NEGOTIATION
Aika N MacleadAustraliaXuxue Feng NEGOTIATION
James Q GauchoItalyElwin Sharvill PROPOSAL
Aditya N RoysterBrazilXuxue Feng NEW
Clifford Q PerinUnited KingdomIoni Bowcher NEW
Johnson G PaprockiJapanBernardo Dominic QUALIFIED
Julie M AmigonGermanyAnna Fali UNQUALIFIED
Jefferson M RulapaughRussiaIoni Bowcher NEW
Isabel G RulapaughItalyAsiya Javayant PROPOSAL
James P BowleyJapanBernardo Dominic QUALIFIED
Cody U CaldareraGermanyAnna Fali 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>