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
Johnson J DoeIndiaAnna Fali NEW
Juan Q ShinkoArgentinaIvan Magalhaes NEGOTIATION
Leja K VocelkaSpainOnyama Limba QUALIFIED
Clifford E ButtUnited KingdomAmy Elsner UNQUALIFIED
Isabel W WhobreyGermanyAnna Fali NEW
Francesco J StockhamAustraliaAmy Elsner NEGOTIATION
Maria Q WhobreyAustraliaAmy Elsner NEW
Claire P WaycottItalyAsiya Javayant PROPOSAL
Tony R SlusarskiGermanyIvan Magalhaes QUALIFIED
Leja U StockhamSpainIoni Bowcher PROPOSAL
Julie V MaletAustraliaIvan Magalhaes NEGOTIATION
Claire S TollnerFranceAsiya Javayant NEGOTIATION
Leja W OstroskyUnited KingdomAnna Fali RENEWAL
Kaitlin S GauchoGermanyXuxue Feng NEW
Chavez N MaletCanadaStephen Shaw QUALIFIED
Aditya U AmigonUnited KingdomAmy Elsner PROPOSAL
Kaitlin X CaudyItalyBernardo Dominic QUALIFIED
Deepesh O PaprockiItalyElwin Sharvill PROPOSAL
Misaki H IturbideAustraliaAmy Elsner QUALIFIED
Nicolas P WieserItalyIvan Magalhaes NEW
Adams C KolmetzGermanyStephen Shaw PROPOSAL
Faith S WhobreyCanadaOnyama Limba RENEWAL
Smith Y AlbaresUnited KingdomAsiya Javayant PROPOSAL
Leon K DarakjyRussiaAmy Elsner RENEWAL
Maria F RimGermanyAmy Elsner QUALIFIED
Costa W SchemmerFranceAsiya Javayant QUALIFIED
Ricardo I RutaGermanyAsiya Javayant RENEWAL
Jeanfrancois Y WaycottSpainIvan Magalhaes NEGOTIATION
Izzy E MaletSpainIvan Magalhaes UNQUALIFIED
Kaitlin W SchemmerIndiaAsiya Javayant NEW
Johnson L ButtFranceXuxue Feng NEGOTIATION
Clifford O DilliardRussiaIoni Bowcher PROPOSAL
Leon N NickaFranceOnyama Limba NEW
Antonio T StockhamRussiaBernardo Dominic NEW
Julie B RulapaughFranceAnna Fali QUALIFIED
Jones R WaycottItalyOnyama Limba PROPOSAL
Faith I WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Costa X CaldareraJapanAsiya Javayant PROPOSAL
Chavez V FigeroaSpainAmy Elsner RENEWAL
Nicolas A DilliardJapanOnyama Limba NEW
Faith R MorascaCanadaAmy Elsner NEW
Morrow W KolmetzCanadaIoni Bowcher UNQUALIFIED
Deepesh E ChuiGermanyStephen Shaw NEW
Murillo F MorascaRussiaIvan Magalhaes PROPOSAL
James C VenereGermanyAmy Elsner QUALIFIED
Morrow A FigeroaFranceIvan Magalhaes NEW
Nicolas M GillianBrazilBernardo Dominic UNQUALIFIED
Munro P InouyeCanadaAmy Elsner NEGOTIATION
Izzy W CaudySpainStephen Shaw PROPOSAL
James C BologniaJapanElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith B AmigonAustraliaElwin Sharvill RENEWAL
Ivar U RulapaughIndiaOnyama Limba PROPOSAL
Greenwood F WaycottJapanElwin Sharvill QUALIFIED
Emily Z FerenczUnited KingdomIvan Magalhaes PROPOSAL
Aditya S RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Arvin M TollnerArgentinaIoni Bowcher NEGOTIATION
Wickens D SergiIndiaOnyama Limba NEGOTIATION
Stacey C SchemmerArgentinaStephen Shaw UNQUALIFIED
Arvin B KolmetzRussiaBernardo Dominic QUALIFIED
Francesco I FollerJapanIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco W RimCanada2026-07-09Buckley Miller Wright NEGOTIATION26Anna Fali
1001Ivar U MacleadJapan2026-07-02Morlong Associates NEGOTIATION28Onyama Limba
1002Jones B MacleadGermany2026-07-24Rangoni Of Florence UNQUALIFIED37Anna Fali
1003Octavia U SlusarskiUnited Kingdom2026-06-28Printing Dimensions UNQUALIFIED66Asiya Javayant
1004Ricardo D DilliardFrance2026-07-04Feiner Bros NEW36Onyama Limba
1005Cody M OstroskyFrance2026-07-02Chemel, James L Cpa NEW14Onyama Limba
1006David C AlbaresUnited Kingdom2026-07-08Printing Dimensions NEW29Stephen Shaw
1007Isabel K MaletArgentina2026-07-22Morlong Associates QUALIFIED36Xuxue Feng
1008Adams Z OldroydBrazil2026-07-04Commercial Press QUALIFIED3Asiya Javayant
1009Jeanfrancois F GillianUnited Kingdom2026-07-14King, Christopher A Esq RENEWAL72Ioni Bowcher
1010Julie H FlosiUnited Kingdom2026-07-06Rousseaux, Michael Esq NEGOTIATION78Bernardo Dominic
1011Arvin W NickaGermany2026-07-07Feiner Bros PROPOSAL88Elwin Sharvill
1012Nicolas J OldroydIndia2026-07-18Chanay, Jeffrey A Esq UNQUALIFIED28Anna Fali
1013Morrow U WaycottRussia2026-07-01Rousseaux, Michael Esq UNQUALIFIED36Bernardo Dominic
1014Alejandro U PaprockiItaly2026-07-11Dorl, James J Esq UNQUALIFIED32Bernardo Dominic
1015Juan B RutaFrance2026-07-21Truhlar And Truhlar Attys QUALIFIED72Onyama Limba
1016Jones I StensethAustralia2026-07-24Rousseaux, Michael Esq QUALIFIED77Amy Elsner
1017Chavez M KuskoCanada2026-06-30Feltz Printing Service QUALIFIED9Asiya Javayant
1018Juan B DilliardCanada2026-07-06King, Christopher A Esq QUALIFIED10Elwin Sharvill
1019Sinclair U RimArgentina2026-06-25Feiner Bros UNQUALIFIED41Asiya Javayant
1020Misaki S FigeroaAustralia2026-07-04King, Christopher A Esq UNQUALIFIED14Xuxue Feng
1021Chavez R RimFrance2026-07-09Chapman, Ross E Esq NEGOTIATION5Xuxue Feng
1022Johnson A PoquetteGermany2026-07-07Chanay, Jeffrey A Esq QUALIFIED80Anna Fali
1023Sinclair A NickaRussia2026-07-06Truhlar And Truhlar Attys NEW14Amy Elsner
1024Octavia A FigeroaSpain2026-07-14Morlong Associates PROPOSAL28Ivan Magalhaes
1025Octavia V WhobreyItaly2026-06-25Printing Dimensions QUALIFIED50Ioni Bowcher
1026Chavez S PaprockiBrazil2026-07-13King, Christopher A Esq PROPOSAL43Ioni Bowcher
1027Adams L FigeroaGermany2026-07-07Dorl, James J Esq QUALIFIED11Ivan Magalhaes
1028Isabel C BowleyCanada2026-07-16Chemel, James L Cpa UNQUALIFIED12Bernardo Dominic
1029Izzy I OldroydUnited Kingdom2026-07-12Feltz Printing Service NEGOTIATION86Anna Fali
1030David F OldroydArgentina2026-07-06King, Christopher A Esq PROPOSAL5Amy Elsner
1031Sinclair J RutaAustralia2026-07-03Morlong Associates NEW84Anna Fali
1032Aruna V NestleJapan2026-07-22Feiner Bros NEW7Ioni Bowcher
1033Ivar H MaletIndia2026-07-06Benton, John B Jr RENEWAL48Ioni Bowcher
1034Isabel H KuskoCanada2026-07-01King, Christopher A Esq PROPOSAL65Elwin Sharvill
1035Jeanfrancois Q FlosiJapan2026-07-14Truhlar And Truhlar Attys NEW17Onyama Limba
1036Ivar T VenereCanada2026-07-21Rousseaux, Michael Esq RENEWAL45Xuxue Feng
1037Tony K KolmetzArgentina2026-07-22Chemel, James L Cpa RENEWAL77Asiya Javayant
1038Rodrigues W FlosiRussia2026-06-26Commercial Press PROPOSAL50Bernardo Dominic
1039Morrow P RoysterCanada2026-07-15Feiner Bros UNQUALIFIED59Amy Elsner
1040Johnson B GlickBrazil2026-07-04Commercial Press RENEWAL71Stephen Shaw
1041Faith H StensethCanada2026-07-23Feltz Printing Service RENEWAL98Bernardo Dominic
1042Misaki G SchemmerItaly2026-07-16Rangoni Of Florence NEGOTIATION95Bernardo Dominic
1043Morrow M DilliardCanada2026-07-20Morlong Associates PROPOSAL2Ivan Magalhaes
1044Octavia V RimFrance2026-07-16Chemel, James L Cpa UNQUALIFIED85Ivan Magalhaes
1045Maisha Y TollnerFrance2026-07-03Rangoni Of Florence PROPOSAL70Ivan Magalhaes
1046Tony R RimGermany2026-06-26Rousseaux, Michael Esq RENEWAL37Bernardo Dominic
1047Aruna U WaycottItaly2026-07-09Chapman, Ross E Esq PROPOSAL6Amy Elsner
1048Morrow F WaycottArgentina2026-07-12Commercial Press RENEWAL15Ivan Magalhaes
1049Maria S MaletRussia2026-06-29Chapman, Ross E Esq RENEWAL62Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Silvio D DoeIndiaStephen Shaw PROPOSAL
Jennifer Q OldroydArgentinaXuxue Feng UNQUALIFIED
Smith V SaylorsCanadaElwin Sharvill RENEWAL
Misaki C RimUnited KingdomOnyama Limba UNQUALIFIED
James A GauchoJapanOnyama Limba UNQUALIFIED
Cody B DarakjyJapanAmy Elsner NEGOTIATION
Rodrigues M InouyeRussiaAmy Elsner NEW
Nicolas B FigeroaGermanyAsiya Javayant QUALIFIED
Jones W PaprockiBrazilIvan Magalhaes QUALIFIED
Murillo M CampainSpainIvan Magalhaes RENEWAL
Johnson O MaletAustraliaBernardo Dominic NEW
Maisha H FlosiFranceElwin Sharvill UNQUALIFIED
Aika X GillianSpainIvan Magalhaes NEW
Johnson B WhobreyJapanOnyama Limba PROPOSAL
Munro T MacleadUnited KingdomAsiya Javayant RENEWAL
Ivar W MaletIndiaAnna Fali UNQUALIFIED
Murillo Z GillianArgentinaElwin Sharvill UNQUALIFIED
Octavia T FigeroaSpainAnna Fali PROPOSAL
Julie J FlosiGermanyAnna Fali PROPOSAL
Deepesh Q NestleArgentinaIoni Bowcher NEGOTIATION
Juan T RimBrazilXuxue Feng PROPOSAL
Juan Z PaprockiCanadaIoni Bowcher NEGOTIATION
Sinclair O WhobreyAustraliaStephen Shaw RENEWAL
Sinclair A PerinAustraliaStephen Shaw NEW
Emily P FigeroaItalyAsiya Javayant NEW
Octavia C AmigonGermanyIvan Magalhaes RENEWAL
Costa H AmigonItalyIvan Magalhaes UNQUALIFIED
Francesco V BologniaSpainAnna Fali NEW
Octavia F GillianJapanIvan Magalhaes PROPOSAL
David D AlbaresBrazilAsiya Javayant NEW
Kadeem C WhobreyCanadaXuxue Feng QUALIFIED
Maria P NestleIndiaAsiya Javayant PROPOSAL
Jones Y NickaItalyOnyama Limba NEGOTIATION
Octavia E DilliardFranceOnyama Limba PROPOSAL
Maria M FlosiRussiaAsiya Javayant QUALIFIED
Maria A SaylorsJapanAsiya Javayant PROPOSAL
Jennifer A RulapaughJapanIoni Bowcher NEGOTIATION
Stacey D ButtFranceIoni Bowcher UNQUALIFIED
Leon E MaletAustraliaStephen Shaw QUALIFIED
Maisha G SaylorsAustraliaStephen Shaw PROPOSAL
Leja R VocelkaFranceXuxue Feng UNQUALIFIED
Wickens X PoquetteJapanElwin Sharvill NEGOTIATION
Stacey A SaylorsRussiaStephen Shaw RENEWAL
Mayumi K FlosiGermanyBernardo Dominic NEW
Aruna C FlosiJapanXuxue Feng QUALIFIED
Darci M KolmetzSpainAsiya Javayant UNQUALIFIED
Jefferson O CaudyBrazilAmy Elsner NEW
Costa D OldroydFranceAmy Elsner NEW
Isabel V SchemmerUnited KingdomAsiya Javayant QUALIFIED
Johnson A SlusarskiCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Nicolas W Malet
Tony F Malet
Darci O Nestle
Costa P Venere
Mujtaba O Caldarera
Juan N Chui
Jennifer E Darakjy
Kadeem Y Nestle
Silvio E Garufi
Sinclair M Briddick
Isabel A Dilliard
Julie H Poquette
Octavia I Slusarski
Aika D Ostrosky
Ricardo Q Bolognia
Morrow L Oldroyd
Leja O Albares
Leja U Maclead
Mujtaba X Amigon
Juan R Ruta
Tony A Whobrey
Deepesh G Perin
Aruna F Nicka
Emily S Flosi
Clifford U Gaucho
Izzy H Bowley
Jefferson M Sergi
David A Ferencz
Greenwood C Caudy
Greenwood U Caldarera
Aruna H Morasca
Ashley W Malet
Salvatore Y Flosi
Clifford I Rim
Emily E Albares
Arvin J Ostrosky
Sinclair K Malet
Leon Q Rim
Aruna R Waycott
Maria U Doe
Arvin I Nestle
Claire A Ferencz
Sinclair K Saylors
Jefferson X Glick
Aika J Nestle
Ricardo A Chui
Maria O Caudy
Leon L Marrier
James D Garufi
Chavez A Rulapaugh
IdCountryDate
1000Italy2026-07-17
1001Australia2026-07-17
1002Russia2026-07-15
1003Argentina2026-07-01
1004Canada2026-07-20
1005Australia2026-07-14
1006Canada2026-06-30
1007Canada2026-07-07
1008Spain2026-07-10
1009Japan2026-07-19
1010Canada2026-07-15
1011Spain2026-07-02
1012Italy2026-07-19
1013Spain2026-06-28
1014Australia2026-07-02
1015Italy2026-07-01
1016Germany2026-07-13
1017Germany2026-07-02
1018Canada2026-07-03
1019Spain2026-07-11
1020Italy2026-07-23
1021Argentina2026-07-01
1022Australia2026-07-16
1023France2026-06-25
1024Brazil2026-07-23
1025Brazil2026-07-14
1026Australia2026-07-10
1027Brazil2026-07-17
1028Japan2026-07-12
1029France2026-07-10
1030Argentina2026-07-22
1031Brazil2026-07-01
1032Canada2026-07-16
1033Australia2026-07-21
1034Spain2026-07-09
1035United Kingdom2026-07-19
1036Italy2026-07-23
1037Argentina2026-06-29
1038Germany2026-07-15
1039Spain2026-07-09
1040Australia2026-07-24
1041United Kingdom2026-07-14
1042India2026-07-20
1043Brazil2026-07-11
1044Russia2026-07-20
1045India2026-07-13
1046Russia2026-07-01
1047Spain2026-07-13
1048Russia2026-07-23
1049Russia2026-07-14

On-Demand Data

NameIdCountryDate
Wickens B Nicka1000Japan2026-07-10
Julie W Paprocki1001United Kingdom2026-07-21
Aika D Inouye1002Germany2026-06-27
Wickens M Nestle1003Argentina2026-06-25
James Q Stenseth1004United Kingdom2026-07-19
Aditya V Shinko1005India2026-06-30
Nicolas V Ferencz1006Italy2026-07-07
Mujtaba P Royster1007Germany2026-07-10
Arvin V Bowley1008Australia2026-06-27
Aruna M Kolmetz1009Argentina2026-07-09
James W Rim1010Spain2026-07-21
Leja R Wieser1011Argentina2026-07-21
Greenwood G Perin1012India2026-07-06
Mujtaba D Slusarski1013Canada2026-06-30
Morrow K Morasca1014Russia2026-07-11
Ivar S Caudy1015Germany2026-07-09
Smith C Rim1016France2026-07-01
Smith N Slusarski1017Germany2026-07-17
Darci J Perin1018France2026-07-18
Smith A Maclead1019Germany2026-07-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody K MacleadBrazilAnna Fali NEGOTIATION
Morrow B ChuiSpainXuxue Feng QUALIFIED
Rodrigues G GauchoIndiaBernardo Dominic PROPOSAL
Izzy Q TollnerAustraliaOnyama Limba UNQUALIFIED
Stacey I FigeroaCanadaStephen Shaw NEGOTIATION
Leja S WaycottCanadaElwin Sharvill NEGOTIATION
Izzy L GlickItalyStephen Shaw PROPOSAL
Greenwood A GarufiFranceIoni Bowcher RENEWAL
Rodrigues A RoysterItalyIvan Magalhaes RENEWAL
Maria D MacleadArgentinaBernardo Dominic UNQUALIFIED
Smith P MaletBrazilOnyama Limba QUALIFIED
Adams Z CaudyCanadaIvan Magalhaes PROPOSAL
Munro K BriddickJapanXuxue Feng PROPOSAL
Cody J RulapaughItalyAnna Fali QUALIFIED
Jefferson W IturbideSpainAsiya Javayant RENEWAL
Greenwood H MarrierJapanAmy Elsner QUALIFIED
Francesco C ShinkoIndiaAmy Elsner PROPOSAL
Leja J VenereGermanyStephen Shaw PROPOSAL
Ashley R OstroskyUnited KingdomBernardo Dominic NEW
Costa C MarrierUnited KingdomIoni Bowcher PROPOSAL
Mayumi V GauchoArgentinaElwin Sharvill NEW
Wickens D CampainRussiaOnyama Limba UNQUALIFIED
Alejandro P FollerCanadaOnyama Limba NEW
Mayumi J CampainUnited KingdomStephen Shaw QUALIFIED
Leon K MorascaGermanyElwin Sharvill QUALIFIED
Claire J MarrierCanadaIoni Bowcher QUALIFIED
Darci K RulapaughAustraliaAsiya Javayant QUALIFIED
Claire X DarakjySpainAsiya Javayant PROPOSAL
Cody L ShinkoBrazilIvan Magalhaes NEGOTIATION
Mayumi I RoysterUnited KingdomXuxue Feng QUALIFIED
Kaitlin D FollerAustraliaStephen Shaw UNQUALIFIED
Izzy R StensethGermanyStephen Shaw NEGOTIATION
Aika J VenereArgentinaAnna Fali NEW
Maria P BowleyFranceAmy Elsner NEGOTIATION
Juan I SaylorsRussiaAnna Fali NEGOTIATION
Adams M GillianIndiaIoni Bowcher UNQUALIFIED
Stacey H SaylorsSpainStephen Shaw UNQUALIFIED
Sinclair P AlbaresRussiaAmy Elsner RENEWAL
Maria Z SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Darci Z DilliardIndiaXuxue 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>