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
Adams C CaldareraFranceXuxue Feng PROPOSAL
Adams M SaylorsCanadaOnyama Limba RENEWAL
Arvin W RutaIndiaElwin Sharvill UNQUALIFIED
Clifford E FerenczUnited KingdomIvan Magalhaes RENEWAL
Darci D PerinCanadaAsiya Javayant PROPOSAL
Mayumi H InouyeJapanOnyama Limba RENEWAL
Chavez W MorascaBrazilBernardo Dominic PROPOSAL
Cody B FollerCanadaOnyama Limba NEGOTIATION
Alejandro Y PaprockiAustraliaBernardo Dominic NEGOTIATION
Leja E DilliardUnited KingdomIvan Magalhaes RENEWAL
Leon F PoquetteArgentinaElwin Sharvill PROPOSAL
Munro X GauchoRussiaOnyama Limba NEW
Smith W SchemmerFranceAsiya Javayant NEGOTIATION
Salvatore V WaycottBrazilXuxue Feng NEW
Wickens J StensethBrazilIoni Bowcher QUALIFIED
Silvio T WieserUnited KingdomStephen Shaw PROPOSAL
Munro S NestleFranceIoni Bowcher RENEWAL
Leon X KolmetzCanadaBernardo Dominic NEGOTIATION
Maria Q RoysterItalyAmy Elsner NEW
Faith O AmigonIndiaIoni Bowcher QUALIFIED
Julie F PaprockiBrazilBernardo Dominic RENEWAL
James L RulapaughAustraliaStephen Shaw NEGOTIATION
Jones M RoysterUnited KingdomIvan Magalhaes QUALIFIED
Adams S WaycottJapanIoni Bowcher NEGOTIATION
Kadeem X MaletSpainOnyama Limba NEGOTIATION
Maisha S WaycottRussiaOnyama Limba RENEWAL
Antonio S CaudyIndiaAnna Fali PROPOSAL
Jennifer D InouyeAustraliaAnna Fali RENEWAL
Salvatore A IturbideBrazilAsiya Javayant PROPOSAL
Jones X MaletUnited KingdomAnna Fali UNQUALIFIED
Johnson O DilliardRussiaBernardo Dominic NEGOTIATION
Faith W GauchoFranceOnyama Limba UNQUALIFIED
Salvatore M SaylorsGermanyAsiya Javayant QUALIFIED
Nicolas U VenereRussiaAmy Elsner QUALIFIED
Leja E CaudyIndiaAsiya Javayant PROPOSAL
Aditya E MacleadCanadaAmy Elsner RENEWAL
Murillo O MarrierSpainXuxue Feng NEGOTIATION
Rodrigues U FlosiGermanyElwin Sharvill PROPOSAL
Cody J SergiAustraliaAsiya Javayant QUALIFIED
Faith F RoysterCanadaAmy Elsner QUALIFIED
Octavia A WaycottIndiaAmy Elsner RENEWAL
Deepesh Q ChuiJapanOnyama Limba QUALIFIED
Izzy T DilliardGermanyAsiya Javayant UNQUALIFIED
Cody I NickaUnited KingdomIoni Bowcher NEW
Faith V AlbaresRussiaElwin Sharvill RENEWAL
Murillo B OldroydCanadaOnyama Limba PROPOSAL
Tony L MaletArgentinaIoni Bowcher NEGOTIATION
Johnson C FerenczFranceIoni Bowcher RENEWAL
Claire H GarufiFranceStephen Shaw PROPOSAL
Kaitlin K ShinkoGermanyAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro V GillianArgentinaOnyama Limba PROPOSAL
Murillo D RimBrazilBernardo Dominic NEW
Chavez N GauchoCanadaElwin Sharvill PROPOSAL
Mujtaba B NestleJapanAnna Fali PROPOSAL
Kadeem V PaprockiSpainXuxue Feng PROPOSAL
Ricardo S DilliardItalyAnna Fali QUALIFIED
Leon V GauchoBrazilIoni Bowcher UNQUALIFIED
Salvatore J RutaUnited KingdomAmy Elsner PROPOSAL
Arvin D BowleyJapanStephen Shaw NEW
Stacey S ShinkoJapanIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Z FlosiUnited Kingdom2024-06-11Rangoni Of Florence NEW81Asiya Javayant
1001Cody Q CampainFrance2024-06-04Benton, John B Jr NEGOTIATION92Stephen Shaw
1002David Q DarakjyIndia2024-06-03Chanay, Jeffrey A Esq QUALIFIED54Asiya Javayant
1003James E FerenczBrazil2024-05-26Feiner Bros RENEWAL53Ioni Bowcher
1004Jennifer N VocelkaSpain2024-06-13Dorl, James J Esq PROPOSAL24Onyama Limba
1005Aruna J VenereIndia2024-06-02Chanay, Jeffrey A Esq NEW81Anna Fali
1006Octavia R KuskoFrance2024-06-19Chanay, Jeffrey A Esq RENEWAL17Asiya Javayant
1007Rodrigues V MaletSpain2024-05-30Feiner Bros QUALIFIED25Asiya Javayant
1008Mujtaba W RulapaughArgentina2024-06-19Benton, John B Jr NEW18Onyama Limba
1009Izzy J StensethRussia2024-06-15Morlong Associates NEGOTIATION96Asiya Javayant
1010Murillo F FlosiFrance2024-05-30Chanay, Jeffrey A Esq PROPOSAL71Onyama Limba
1011Tony I DoeGermany2024-05-30Buckley Miller Wright NEW97Bernardo Dominic
1012Deepesh P WaycottCanada2024-05-28Chanay, Jeffrey A Esq RENEWAL14Ioni Bowcher
1013Arvin W GillianCanada2024-06-05Benton, John B Jr NEGOTIATION23Xuxue Feng
1014Greenwood M GarufiJapan2024-06-13Buckley Miller Wright QUALIFIED77Asiya Javayant
1015Juan G SlusarskiJapan2024-06-10Truhlar And Truhlar Attys RENEWAL97Amy Elsner
1016Mayumi O BologniaIndia2024-05-31Morlong Associates RENEWAL86Anna Fali
1017Leja Q IturbideBrazil2024-06-14Morlong Associates RENEWAL87Onyama Limba
1018Juan G GlickJapan2024-06-03Commercial Press UNQUALIFIED39Elwin Sharvill
1019Izzy G MacleadAustralia2024-06-16Rousseaux, Michael Esq RENEWAL60Xuxue Feng
1020Isabel H MaletBrazil2024-06-16Commercial Press QUALIFIED97Ivan Magalhaes
1021Jefferson F KuskoSpain2024-06-05Buckley Miller Wright NEW57Bernardo Dominic
1022Alejandro Z DoeItaly2024-06-12Rangoni Of Florence UNQUALIFIED66Amy Elsner
1023Maisha M VenereIndia2024-06-04Chapman, Ross E Esq QUALIFIED12Ivan Magalhaes
1024Ivar O GarufiItaly2024-06-04Morlong Associates QUALIFIED74Elwin Sharvill
1025Jefferson V BowleyBrazil2024-06-17Rousseaux, Michael Esq NEGOTIATION48Stephen Shaw
1026Morrow P InouyeRussia2024-06-15Feltz Printing Service PROPOSAL92Bernardo Dominic
1027Murillo E CaudyJapan2024-06-10Buckley Miller Wright QUALIFIED61Asiya Javayant
1028Tony Y IturbideArgentina2024-06-06Rousseaux, Michael Esq UNQUALIFIED11Ivan Magalhaes
1029Leon C PoquetteItaly2024-05-31Printing Dimensions NEW45Bernardo Dominic
1030Ivar N VenereItaly2024-06-12Chemel, James L Cpa UNQUALIFIED79Amy Elsner
1031Maisha Q DilliardUnited Kingdom2024-06-23Rangoni Of Florence NEGOTIATION89Bernardo Dominic
1032Leon V RoysterBrazil2024-06-23Benton, John B Jr PROPOSAL5Onyama Limba
1033David F WhobreyGermany2024-06-03King, Christopher A Esq QUALIFIED12Elwin Sharvill
1034Silvio O SlusarskiUnited Kingdom2024-06-22Rangoni Of Florence NEW9Amy Elsner
1035Stacey J GauchoArgentina2024-06-10Morlong Associates UNQUALIFIED24Onyama Limba
1036Adams W PerinAustralia2024-06-20Dorl, James J Esq NEW39Elwin Sharvill
1037Kaitlin V DarakjyUnited Kingdom2024-06-09King, Christopher A Esq PROPOSAL96Xuxue Feng
1038Isabel S VocelkaAustralia2024-06-20Chapman, Ross E Esq UNQUALIFIED40Anna Fali
1039Darci M RutaFrance2024-05-31Chanay, Jeffrey A Esq RENEWAL78Ioni Bowcher
1040Mujtaba J WieserAustralia2024-06-14Dorl, James J Esq NEGOTIATION98Asiya Javayant
1041James Y BriddickCanada2024-06-13Truhlar And Truhlar Attys NEGOTIATION38Onyama Limba
1042Jennifer P RimJapan2024-05-30Dorl, James J Esq PROPOSAL92Ivan Magalhaes
1043Isabel L RimArgentina2024-06-20Dorl, James J Esq UNQUALIFIED58Stephen Shaw
1044Ivar X DarakjyAustralia2024-06-16Morlong Associates QUALIFIED74Stephen Shaw
1045Costa I RutaFrance2024-05-30Commercial Press RENEWAL32Xuxue Feng
1046Smith O ChuiAustralia2024-06-19Truhlar And Truhlar Attys NEW51Bernardo Dominic
1047Kadeem S GauchoCanada2024-05-31Chapman, Ross E Esq NEW48Bernardo Dominic
1048David Z StockhamFrance2024-05-27Chapman, Ross E Esq NEW11Stephen Shaw
1049Ricardo D OstroskyAustralia2024-06-08Buckley Miller Wright NEW45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria H PaprockiIndiaAsiya Javayant UNQUALIFIED
Stacey T FerenczIndiaAsiya Javayant UNQUALIFIED
Nicolas S InouyeBrazilAmy Elsner NEW
Smith F SchemmerUnited KingdomElwin Sharvill QUALIFIED
Octavia R KuskoCanadaOnyama Limba PROPOSAL
Isabel O SaylorsArgentinaElwin Sharvill PROPOSAL
Jennifer Q MorascaGermanyBernardo Dominic RENEWAL
Isabel N NestleGermanyXuxue Feng QUALIFIED
Maisha Q VocelkaCanadaIvan Magalhaes NEW
Claire B VocelkaIndiaStephen Shaw RENEWAL
Jefferson B PoquetteArgentinaElwin Sharvill NEGOTIATION
Antonio D SlusarskiSpainXuxue Feng QUALIFIED
Sinclair T GarufiSpainElwin Sharvill NEW
Aika P FlosiAustraliaOnyama Limba RENEWAL
Munro W WhobreyAustraliaBernardo Dominic PROPOSAL
Kaitlin N SergiGermanyIvan Magalhaes NEW
Emily Q DilliardBrazilIvan Magalhaes NEGOTIATION
Darci J BologniaGermanyOnyama Limba QUALIFIED
Nicolas G CaudyCanadaXuxue Feng QUALIFIED
Jeanfrancois K PoquetteIndiaIoni Bowcher RENEWAL
Smith T OldroydBrazilIvan Magalhaes UNQUALIFIED
Sinclair C RoysterRussiaOnyama Limba QUALIFIED
Adams N ShinkoJapanAmy Elsner RENEWAL
Maria Z PerinIndiaAmy Elsner NEW
Isabel T RulapaughGermanyIoni Bowcher PROPOSAL
Aditya A DarakjySpainXuxue Feng NEGOTIATION
Aditya X BriddickIndiaStephen Shaw NEGOTIATION
Kaitlin E AlbaresItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois F VocelkaItalyBernardo Dominic PROPOSAL
Misaki R NestleRussiaXuxue Feng QUALIFIED
Julie T StockhamRussiaIoni Bowcher QUALIFIED
Ivar Y DarakjyItalyIvan Magalhaes NEW
Misaki E TollnerRussiaElwin Sharvill NEW
Ashley O SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer C SchemmerGermanyBernardo Dominic RENEWAL
Aditya I ShinkoIndiaAsiya Javayant RENEWAL
Isabel S StockhamRussiaElwin Sharvill QUALIFIED
Leja K RimRussiaIvan Magalhaes RENEWAL
Jefferson G SaylorsArgentinaBernardo Dominic UNQUALIFIED
Alejandro Y SchemmerSpainXuxue Feng PROPOSAL
Faith U CaudyCanadaOnyama Limba UNQUALIFIED
Munro S NickaArgentinaIvan Magalhaes NEW
Sinclair J RimJapanBernardo Dominic QUALIFIED
Salvatore H NestleIndiaXuxue Feng UNQUALIFIED
Costa P ButtBrazilAnna Fali PROPOSAL
Cody N NickaBrazilAmy Elsner NEW
Adams P FollerFranceIoni Bowcher NEGOTIATION
Deepesh R OldroydCanadaIvan Magalhaes UNQUALIFIED
Kaitlin E RutaCanadaXuxue Feng PROPOSAL
Kaitlin D RulapaughSpainXuxue Feng NEW
Frozen Columns
Name
Jones J Tollner
Francesco D Campain
Aika E Wieser
Johnson V Waycott
James J Kolmetz
Misaki X Royster
Stacey Z Poquette
Faith V Campain
Mujtaba H Morasca
Leon F Maclead
Alejandro G Tollner
Nicolas R Iturbide
Chavez R Sergi
Kadeem U Flosi
Jones S Garufi
Adams G Kusko
Jones W Paprocki
Nicolas X Doe
Julie X Perin
Munro E Caudy
Mujtaba G Amigon
Darci T Figeroa
Mujtaba C Inouye
Jones X Caudy
Antonio U Flosi
Mujtaba R Saylors
Munro E Maclead
Sinclair B Flosi
Aika M Royster
Johnson J Ferencz
Ricardo Z Briddick
Kaitlin E Bowley
Jones O Whobrey
Greenwood V Campain
Ivar O Stenseth
Costa N Briddick
Wickens F Stenseth
David X Sergi
Arvin V Darakjy
Morrow Z Nicka
Sinclair K Gillian
Faith H Morasca
Ashley A Amigon
Ivar G Stenseth
Aditya B Kolmetz
Jennifer J Paprocki
Tony Z Chui
Cody Y Ferencz
Jones H Ruta
Ricardo F Malet
IdCountryDate
1000Spain2024-06-19
1001Australia2024-06-16
1002Russia2024-06-24
1003Brazil2024-06-01
1004Italy2024-06-10
1005Russia2024-06-16
1006Argentina2024-06-08
1007Brazil2024-06-22
1008Russia2024-05-30
1009India2024-06-19
1010Argentina2024-06-11
1011Canada2024-06-02
1012Brazil2024-06-24
1013United Kingdom2024-06-04
1014Spain2024-05-28
1015Spain2024-06-13
1016India2024-06-09
1017India2024-05-31
1018Argentina2024-06-15
1019France2024-06-19
1020Australia2024-06-02
1021Italy2024-06-14
1022Canada2024-06-23
1023United Kingdom2024-06-17
1024Canada2024-06-22
1025Spain2024-06-21
1026Spain2024-06-11
1027Japan2024-06-02
1028Argentina2024-06-18
1029Germany2024-06-01
1030Germany2024-06-14
1031Japan2024-06-05
1032Japan2024-06-18
1033Spain2024-06-22
1034France2024-06-03
1035Japan2024-06-14
1036Japan2024-06-22
1037Spain2024-06-05
1038Argentina2024-06-09
1039Brazil2024-05-26
1040Australia2024-06-23
1041Italy2024-06-09
1042Canada2024-05-27
1043Italy2024-06-04
1044Germany2024-06-06
1045Spain2024-06-03
1046Spain2024-06-07
1047Spain2024-05-30
1048Australia2024-06-15
1049Argentina2024-06-16

On-Demand Data

NameIdCountryDate
Sinclair Q Dilliard1000Russia2024-05-30
Jennifer U Stockham1001Russia2024-06-21
Stacey J Saylors1002Italy2024-05-31
Claire F Butt1003India2024-06-11
Morrow D Flosi1004Australia2024-05-31
Adams G Tollner1005United Kingdom2024-06-15
Claire Z Marrier1006Italy2024-06-11
Munro T Campain1007Australia2024-05-31
Stacey V Sergi1008Australia2024-06-05
Isabel A Bolognia1009Canada2024-06-06
Juan R Sergi1010Japan2024-06-09
Costa A Sergi1011Italy2024-06-12
Alejandro K Sergi1012India2024-06-13
Deepesh Q Garufi1013Russia2024-06-12
Isabel V Campain1014Brazil2024-06-11
Sinclair E Schemmer1015Russia2024-06-09
Izzy C Doe1016Brazil2024-05-30
Wickens S Glick1017Germany2024-06-23
Darci B Schemmer1018Brazil2024-05-26
Kaitlin H Flosi1019Argentina2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki H KuskoIndiaStephen Shaw QUALIFIED
Izzy P WhobreyItalyAsiya Javayant NEGOTIATION
Deepesh P CampainItalyXuxue Feng NEGOTIATION
Johnson H InouyeRussiaAnna Fali RENEWAL
Aruna K FigeroaGermanyAnna Fali QUALIFIED
Jeanfrancois Y FlosiBrazilElwin Sharvill NEW
Nicolas K GlickUnited KingdomXuxue Feng PROPOSAL
Ivar R ShinkoItalyAnna Fali PROPOSAL
Mayumi D CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Claire P TollnerRussiaIoni Bowcher QUALIFIED
James Z ChuiUnited KingdomElwin Sharvill QUALIFIED
Alejandro E CampainArgentinaAsiya Javayant UNQUALIFIED
James C GlickIndiaElwin Sharvill NEW
Mujtaba I DoeSpainBernardo Dominic QUALIFIED
Isabel X WaycottItalyIvan Magalhaes NEW
Antonio G WieserRussiaIoni Bowcher NEW
Isabel O PaprockiItalyBernardo Dominic NEW
Smith L DilliardItalyStephen Shaw QUALIFIED
Mayumi W MaletGermanyBernardo Dominic RENEWAL
Aika X IturbideArgentinaStephen Shaw RENEWAL
Octavia X DoeCanadaOnyama Limba RENEWAL
Wickens H AlbaresUnited KingdomAnna Fali NEW
Stacey Z StensethSpainIvan Magalhaes UNQUALIFIED
Nicolas E PaprockiJapanStephen Shaw RENEWAL
Isabel F MorascaSpainIvan Magalhaes RENEWAL
Nicolas B RutaAustraliaIvan Magalhaes RENEWAL
David O AmigonUnited KingdomStephen Shaw QUALIFIED
Clifford J GarufiGermanyXuxue Feng QUALIFIED
Greenwood T InouyeRussiaAsiya Javayant UNQUALIFIED
Claire X OldroydRussiaStephen Shaw UNQUALIFIED
Kadeem X CampainJapanOnyama Limba UNQUALIFIED
Jones B GarufiSpainAnna Fali UNQUALIFIED
Faith J MaletGermanyOnyama Limba RENEWAL
Smith Q TollnerIndiaAsiya Javayant NEGOTIATION
Munro J NickaArgentinaElwin Sharvill UNQUALIFIED
Ivar U SergiBrazilAmy Elsner QUALIFIED
Cody E NestleBrazilAnna Fali PROPOSAL
Murillo J WieserRussiaAsiya Javayant NEW
Chavez D NestleCanadaIvan Magalhaes UNQUALIFIED
Leja Z BowleyIndiaIvan Magalhaes NEGOTIATION

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