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
Murillo Z WaycottSpainXuxue Feng PROPOSAL
Rodrigues Z DilliardUnited KingdomIvan Magalhaes NEW
Alejandro O DilliardItalyAsiya Javayant NEGOTIATION
Aika C FlosiAustraliaOnyama Limba PROPOSAL
Nicolas F GarufiRussiaIoni Bowcher UNQUALIFIED
Maisha Y FollerUnited KingdomAsiya Javayant NEW
David H SchemmerArgentinaOnyama Limba PROPOSAL
Stacey M KolmetzBrazilAsiya Javayant RENEWAL
Claire I WieserAustraliaElwin Sharvill RENEWAL
Isabel L FerenczRussiaStephen Shaw RENEWAL
Emily Z SaylorsItalyElwin Sharvill NEW
Adams B SlusarskiArgentinaAmy Elsner UNQUALIFIED
Ashley G BowleyRussiaIoni Bowcher PROPOSAL
Chavez V ChuiRussiaStephen Shaw UNQUALIFIED
Francesco J RimBrazilOnyama Limba PROPOSAL
Maisha R MaletJapanAsiya Javayant QUALIFIED
Ashley B GlickJapanElwin Sharvill UNQUALIFIED
Sinclair H SchemmerJapanElwin Sharvill NEW
Chavez Y MaletIndiaXuxue Feng NEGOTIATION
Julie Z WaycottAustraliaStephen Shaw NEGOTIATION
Adams T WhobreyJapanIoni Bowcher NEW
Leon D CaudyArgentinaXuxue Feng RENEWAL
Deepesh A CampainItalyAmy Elsner RENEWAL
Chavez X BologniaBrazilIvan Magalhaes UNQUALIFIED
Johnson O PaprockiRussiaIvan Magalhaes QUALIFIED
Deepesh M MorascaUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin K KuskoFranceStephen Shaw PROPOSAL
Misaki Y PaprockiGermanyElwin Sharvill NEW
Johnson H FollerUnited KingdomAsiya Javayant QUALIFIED
Silvio W IturbideAustraliaOnyama Limba QUALIFIED
Cody O SergiUnited KingdomAnna Fali RENEWAL
Faith Q DarakjyArgentinaIoni Bowcher NEGOTIATION
Munro K PaprockiArgentinaElwin Sharvill QUALIFIED
Ivar N PaprockiItalyBernardo Dominic NEW
Octavia G FlosiRussiaAmy Elsner NEW
Antonio T BologniaAustraliaAnna Fali PROPOSAL
Clifford N AlbaresJapanElwin Sharvill NEW
Ricardo T FlosiCanadaElwin Sharvill NEW
Johnson O ButtJapanIvan Magalhaes NEW
Faith Y FigeroaBrazilAsiya Javayant UNQUALIFIED
Morrow F DarakjyAustraliaIoni Bowcher UNQUALIFIED
Aruna E StockhamArgentinaAsiya Javayant QUALIFIED
Emily L WhobreyBrazilBernardo Dominic NEGOTIATION
Kaitlin E BowleyArgentinaIvan Magalhaes NEGOTIATION
Arvin M CampainBrazilElwin Sharvill PROPOSAL
Leon M SlusarskiAustraliaIoni Bowcher PROPOSAL
Smith O ChuiUnited KingdomStephen Shaw QUALIFIED
Kaitlin S ChuiGermanyElwin Sharvill UNQUALIFIED
Jones D DarakjyBrazilBernardo Dominic NEW
David D OstroskyUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
David K ButtBrazilBernardo Dominic NEW
Greenwood A ChuiFranceAsiya Javayant NEGOTIATION
Smith U ChuiAustraliaOnyama Limba PROPOSAL
Maisha V OldroydIndiaStephen Shaw PROPOSAL
Aika V StockhamBrazilElwin Sharvill QUALIFIED
David C TollnerFranceOnyama Limba UNQUALIFIED
Isabel A BriddickArgentinaXuxue Feng PROPOSAL
Octavia N MarrierIndiaOnyama Limba PROPOSAL
Claire F FigeroaIndiaXuxue Feng RENEWAL
Stacey H SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Q GarufiArgentina2026-06-03Rousseaux, Michael Esq RENEWAL28Stephen Shaw
1001Ivar U DilliardArgentina2026-06-20Morlong Associates NEW63Ioni Bowcher
1002Rodrigues A KuskoSpain2026-06-30Rangoni Of Florence PROPOSAL52Bernardo Dominic
1003Greenwood F CaldareraAustralia2026-06-04Commercial Press PROPOSAL2Amy Elsner
1004Mujtaba F FollerAustralia2026-06-17Commercial Press UNQUALIFIED18Ioni Bowcher
1005Jefferson T DarakjySpain2026-06-22Printing Dimensions UNQUALIFIED97Ivan Magalhaes
1006Clifford V PaprockiRussia2026-06-28King, Christopher A Esq QUALIFIED4Anna Fali
1007Francesco W ButtSpain2026-06-23Chanay, Jeffrey A Esq QUALIFIED5Bernardo Dominic
1008Clifford G CampainGermany2026-06-14Truhlar And Truhlar Attys QUALIFIED24Elwin Sharvill
1009Emily A MaletCanada2026-06-14Printing Dimensions NEGOTIATION9Onyama Limba
1010Adams J IturbideIndia2026-06-10Buckley Miller Wright RENEWAL63Ivan Magalhaes
1011Johnson H GillianJapan2026-06-21Dorl, James J Esq QUALIFIED1Elwin Sharvill
1012Wickens B NestleBrazil2026-06-16Benton, John B Jr UNQUALIFIED74Asiya Javayant
1013Mujtaba H PerinIndia2026-06-21King, Christopher A Esq NEGOTIATION43Onyama Limba
1014David T GlickJapan2026-06-18Buckley Miller Wright PROPOSAL1Asiya Javayant
1015Jones X AmigonJapan2026-06-12Morlong Associates PROPOSAL97Bernardo Dominic
1016Sinclair Q AlbaresBrazil2026-06-20Chemel, James L Cpa RENEWAL71Anna Fali
1017Adams H SergiSpain2026-06-02Morlong Associates PROPOSAL71Ioni Bowcher
1018Leon D CaldareraAustralia2026-06-04Morlong Associates NEW87Xuxue Feng
1019Chavez G BologniaAustralia2026-06-15Feltz Printing Service NEW17Ioni Bowcher
1020Sinclair D BologniaSpain2026-06-09King, Christopher A Esq NEGOTIATION67Amy Elsner
1021Greenwood K NickaAustralia2026-06-23Rangoni Of Florence UNQUALIFIED67Amy Elsner
1022Mayumi C SchemmerRussia2026-06-05King, Christopher A Esq NEGOTIATION21Xuxue Feng
1023Sinclair V AmigonIndia2026-06-21Dorl, James J Esq NEW66Anna Fali
1024Jennifer C TollnerUnited Kingdom2026-06-18Morlong Associates NEW88Bernardo Dominic
1025Jefferson C GillianUnited Kingdom2026-06-19Commercial Press NEW76Elwin Sharvill
1026Misaki A PoquetteIndia2026-06-02Commercial Press RENEWAL36Amy Elsner
1027Arvin D FerenczFrance2026-06-10Feiner Bros QUALIFIED73Xuxue Feng
1028Mujtaba D RoysterSpain2026-06-14Chapman, Ross E Esq NEW48Stephen Shaw
1029Cody F BriddickBrazil2026-06-17Rangoni Of Florence NEGOTIATION44Xuxue Feng
1030Sinclair N VocelkaAustralia2026-06-20Feltz Printing Service NEGOTIATION3Elwin Sharvill
1031Maria H VocelkaJapan2026-06-16Commercial Press QUALIFIED17Ivan Magalhaes
1032Rodrigues H PaprockiUnited Kingdom2026-06-08Feiner Bros PROPOSAL74Asiya Javayant
1033Jones F ShinkoBrazil2026-06-29Rousseaux, Michael Esq RENEWAL97Stephen Shaw
1034Johnson G MaletJapan2026-06-22King, Christopher A Esq UNQUALIFIED39Asiya Javayant
1035Smith R TollnerJapan2026-06-23Commercial Press PROPOSAL50Stephen Shaw
1036Mujtaba D TollnerJapan2026-06-18Rangoni Of Florence NEW46Asiya Javayant
1037Murillo W ButtIndia2026-06-09Rousseaux, Michael Esq NEW96Ioni Bowcher
1038Morrow V MaletJapan2026-06-26Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1039Aruna F OldroydSpain2026-06-16Feltz Printing Service PROPOSAL80Anna Fali
1040Wickens Q WaycottCanada2026-06-18Morlong Associates QUALIFIED80Ivan Magalhaes
1041Jefferson N NickaArgentina2026-06-09Chapman, Ross E Esq UNQUALIFIED87Stephen Shaw
1042Johnson L VenereAustralia2026-06-05Morlong Associates UNQUALIFIED53Bernardo Dominic
1043Darci L GauchoGermany2026-06-20Dorl, James J Esq NEW90Xuxue Feng
1044Alejandro C CaldareraItaly2026-06-08Truhlar And Truhlar Attys NEGOTIATION10Asiya Javayant
1045Adams A WieserFrance2026-06-13Morlong Associates NEGOTIATION17Ivan Magalhaes
1046Alejandro D PerinArgentina2026-06-23Buckley Miller Wright PROPOSAL69Onyama Limba
1047Antonio Z SchemmerUnited Kingdom2026-06-21Chapman, Ross E Esq RENEWAL67Elwin Sharvill
1048Murillo X BologniaJapan2026-06-23Chapman, Ross E Esq NEW66Asiya Javayant
1049Munro Y StensethJapan2026-06-03Morlong Associates NEGOTIATION77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar K DoeIndiaAnna Fali RENEWAL
Tony N DarakjyArgentinaOnyama Limba NEGOTIATION
Sinclair Y ChuiUnited KingdomAnna Fali QUALIFIED
Misaki Y MorascaFranceElwin Sharvill UNQUALIFIED
Kaitlin T RimSpainBernardo Dominic QUALIFIED
Munro K CaldareraCanadaElwin Sharvill NEW
Maria O OldroydUnited KingdomElwin Sharvill RENEWAL
Mayumi I CaldareraRussiaAnna Fali PROPOSAL
Aruna R KolmetzFranceIvan Magalhaes RENEWAL
Murillo W MacleadBrazilXuxue Feng PROPOSAL
Johnson Y CampainUnited KingdomAsiya Javayant PROPOSAL
James G CaldareraSpainElwin Sharvill QUALIFIED
Claire W CaudyRussiaAnna Fali PROPOSAL
Aditya H KuskoFranceAsiya Javayant NEGOTIATION
Ricardo X PoquetteItalyOnyama Limba NEGOTIATION
Tony P StensethFranceAnna Fali NEGOTIATION
Mayumi B MaletAustraliaIvan Magalhaes QUALIFIED
Alejandro K MarrierAustraliaAmy Elsner PROPOSAL
Jeanfrancois L FigeroaUnited KingdomAnna Fali QUALIFIED
Jennifer T StensethCanadaIvan Magalhaes QUALIFIED
Nicolas A TollnerIndiaIoni Bowcher NEW
Rodrigues X BologniaFranceXuxue Feng QUALIFIED
Claire B CampainBrazilElwin Sharvill NEGOTIATION
Clifford F NickaCanadaAnna Fali NEW
Johnson U PoquetteUnited KingdomElwin Sharvill NEW
Faith U AmigonCanadaBernardo Dominic QUALIFIED
Chavez P WieserUnited KingdomStephen Shaw PROPOSAL
Rodrigues W RoysterAustraliaBernardo Dominic PROPOSAL
Isabel Z VenereUnited KingdomAmy Elsner RENEWAL
Kadeem X FollerSpainIvan Magalhaes NEGOTIATION
Ivar P WhobreyArgentinaXuxue Feng QUALIFIED
Maisha I IturbideCanadaIvan Magalhaes NEGOTIATION
Leon V VenereGermanyOnyama Limba QUALIFIED
Deepesh H RimGermanyAsiya Javayant RENEWAL
Maria W FerenczAustraliaAnna Fali PROPOSAL
Tony E PaprockiUnited KingdomStephen Shaw QUALIFIED
Jennifer W PerinIndiaAmy Elsner NEGOTIATION
Adams T BriddickSpainIoni Bowcher UNQUALIFIED
Jennifer S WieserUnited KingdomAsiya Javayant UNQUALIFIED
Claire D VenereBrazilAnna Fali RENEWAL
Francesco R KuskoItalyBernardo Dominic NEW
Aika X CaldareraBrazilIoni Bowcher NEGOTIATION
Sinclair D AmigonUnited KingdomXuxue Feng PROPOSAL
Kaitlin X MarrierFranceAsiya Javayant UNQUALIFIED
Leja Z MorascaJapanAnna Fali NEW
Greenwood E FigeroaCanadaOnyama Limba QUALIFIED
Murillo Q RulapaughCanadaOnyama Limba NEW
Julie F FerenczGermanyBernardo Dominic QUALIFIED
Faith N KuskoArgentinaBernardo Dominic QUALIFIED
Greenwood A StensethRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Ivar A Stockham
Nicolas D Paprocki
Mujtaba A Iturbide
David R Ferencz
Darci X Foller
Francesco U Caldarera
Jeanfrancois X Rim
Deepesh U Rim
Greenwood J Caldarera
David K Oldroyd
Morrow D Bowley
Jennifer J Waycott
Antonio W Darakjy
Sinclair X Marrier
Kadeem M Briddick
Aika Z Doe
Alejandro J Kusko
Isabel V Bowley
Clifford G Perin
Leon W Briddick
Smith U Morasca
Mujtaba A Kusko
Antonio L Vocelka
Jeanfrancois M Shinko
Greenwood A Bolognia
Silvio S Inouye
Silvio F Campain
Tony W Amigon
Silvio Q Briddick
Juan G Foller
Darci A Schemmer
Aika Y Darakjy
Leon C Maclead
Stacey V Glick
Aditya T Inouye
Francesco U Sergi
Mayumi L Inouye
Adams R Saylors
Cody T Doe
Johnson G Amigon
Isabel D Poquette
Claire V Dilliard
Faith P Inouye
Aruna C Schemmer
Murillo K Stockham
Kaitlin E Stockham
Smith E Royster
Morrow A Whobrey
Francesco D Rulapaugh
Murillo O Ostrosky
IdCountryDate
1000India2026-06-12
1001France2026-06-22
1002India2026-06-24
1003Brazil2026-06-16
1004United Kingdom2026-06-14
1005Canada2026-07-01
1006Japan2026-06-19
1007Germany2026-07-01
1008India2026-06-15
1009Spain2026-06-10
1010Brazil2026-06-09
1011Germany2026-06-23
1012Spain2026-06-30
1013Brazil2026-06-18
1014Australia2026-06-14
1015Japan2026-06-04
1016United Kingdom2026-07-01
1017Canada2026-06-05
1018Brazil2026-06-25
1019Spain2026-06-24
1020France2026-06-29
1021Argentina2026-06-30
1022Italy2026-06-20
1023Italy2026-06-12
1024Canada2026-06-21
1025India2026-06-22
1026Argentina2026-06-19
1027Germany2026-06-26
1028United Kingdom2026-06-19
1029Argentina2026-06-24
1030France2026-06-03
1031Canada2026-06-26
1032Germany2026-06-09
1033Germany2026-06-28
1034Argentina2026-06-25
1035Australia2026-06-08
1036United Kingdom2026-06-02
1037Brazil2026-06-22
1038Japan2026-06-20
1039Canada2026-06-28
1040Italy2026-06-09
1041Canada2026-06-11
1042Brazil2026-06-18
1043Germany2026-06-29
1044Brazil2026-06-08
1045Brazil2026-06-19
1046Italy2026-06-26
1047France2026-06-13
1048Russia2026-06-25
1049Argentina2026-06-16

On-Demand Data

NameIdCountryDate
Johnson L Vocelka1000Brazil2026-06-10
Julie U Venere1001Australia2026-06-10
Aika C Poquette1002Japan2026-06-06
Darci Z Kolmetz1003Japan2026-06-11
Alejandro L Gaucho1004Argentina2026-06-12
Clifford J Stenseth1005India2026-06-17
Antonio Q Darakjy1006Italy2026-06-22
Stacey I Malet1007United Kingdom2026-06-25
Ashley S Ostrosky1008Spain2026-06-23
Stacey F Ruta1009Germany2026-06-15
Nicolas F Kolmetz1010United Kingdom2026-06-10
Kadeem Q Butt1011Russia2026-06-08
Maisha R Shinko1012Canada2026-07-01
Maria Q Sergi1013Japan2026-06-30
Ricardo P Flosi1014Spain2026-06-08
Antonio H Saylors1015Germany2026-06-16
Aditya L Ruta1016Italy2026-06-17
Izzy I Morasca1017United Kingdom2026-06-19
Octavia Z Caldarera1018Brazil2026-06-23
Deepesh F Flosi1019France2026-06-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens F NestleIndiaAnna Fali UNQUALIFIED
Antonio U CampainJapanElwin Sharvill RENEWAL
Maria A CampainGermanyIvan Magalhaes NEW
Deepesh D AlbaresItalyIoni Bowcher UNQUALIFIED
David Z DarakjyArgentinaAmy Elsner RENEWAL
Emily O RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Maisha A FerenczAustraliaStephen Shaw NEGOTIATION
Aditya L MarrierArgentinaAsiya Javayant PROPOSAL
Greenwood I IturbideBrazilAmy Elsner UNQUALIFIED
Misaki V IturbideRussiaAsiya Javayant QUALIFIED
David M GarufiItalyAmy Elsner UNQUALIFIED
Mayumi Z MaletIndiaOnyama Limba RENEWAL
Greenwood V SchemmerGermanyAmy Elsner UNQUALIFIED
Jennifer C DarakjyRussiaOnyama Limba UNQUALIFIED
Morrow T GillianUnited KingdomOnyama Limba PROPOSAL
Salvatore F ChuiItalyXuxue Feng NEGOTIATION
Maria G NestleFranceOnyama Limba PROPOSAL
Smith L DoeBrazilAsiya Javayant RENEWAL
James Q WaycottBrazilOnyama Limba RENEWAL
Murillo N SlusarskiSpainAsiya Javayant UNQUALIFIED
Jones J VenereArgentinaXuxue Feng NEGOTIATION
Sinclair S RimBrazilStephen Shaw RENEWAL
Sinclair Q CaldareraBrazilElwin Sharvill UNQUALIFIED
Arvin R PerinGermanyIvan Magalhaes PROPOSAL
Murillo Q RulapaughGermanyXuxue Feng UNQUALIFIED
Ivar E DoeSpainBernardo Dominic PROPOSAL
Misaki X StensethItalyBernardo Dominic PROPOSAL
Cody B MaletJapanElwin Sharvill NEGOTIATION
Ashley H TollnerJapanStephen Shaw QUALIFIED
Francesco O MorascaArgentinaOnyama Limba NEGOTIATION
Silvio O ButtFranceXuxue Feng NEGOTIATION
Aruna W MorascaCanadaAnna Fali RENEWAL
Jefferson I NestleCanadaAnna Fali PROPOSAL
Aika Z KuskoJapanIoni Bowcher NEGOTIATION
James Q WhobreyCanadaAnna Fali PROPOSAL
James U SergiUnited KingdomElwin Sharvill NEW
Costa B CampainItalyStephen Shaw NEW
Silvio K NickaBrazilBernardo Dominic UNQUALIFIED
Silvio Y SlusarskiFranceOnyama Limba UNQUALIFIED
Ashley N VocelkaBrazilOnyama Limba 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>