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
Jefferson Q ChuiItalyOnyama Limba QUALIFIED
Deepesh J MaletArgentinaAsiya Javayant NEGOTIATION
Emily L FerenczSpainAnna Fali QUALIFIED
Ivar W RoysterCanadaXuxue Feng UNQUALIFIED
Rodrigues T FlosiCanadaAnna Fali UNQUALIFIED
Maria N FollerArgentinaOnyama Limba NEGOTIATION
Antonio R CampainArgentinaAnna Fali UNQUALIFIED
Ivar X BriddickAustraliaAnna Fali RENEWAL
Leon K GlickJapanElwin Sharvill PROPOSAL
Ricardo H OldroydSpainXuxue Feng UNQUALIFIED
Aruna D StockhamSpainStephen Shaw NEW
Silvio Q OldroydRussiaElwin Sharvill PROPOSAL
Chavez V GlickBrazilOnyama Limba NEW
Jeanfrancois D FerenczBrazilAmy Elsner PROPOSAL
Izzy W PaprockiSpainAnna Fali NEW
Jeanfrancois N DarakjyFranceBernardo Dominic RENEWAL
Aika U FollerRussiaXuxue Feng QUALIFIED
Emily Y ShinkoIndiaStephen Shaw NEGOTIATION
Silvio L OldroydCanadaBernardo Dominic NEW
Izzy Q GarufiGermanyAsiya Javayant QUALIFIED
Kadeem I OldroydItalyBernardo Dominic QUALIFIED
Aditya V DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Adams C ChuiSpainOnyama Limba NEW
Clifford W BologniaBrazilAmy Elsner QUALIFIED
Morrow L KolmetzItalyAmy Elsner NEW
Maisha X RoysterFranceIoni Bowcher RENEWAL
Maria V StockhamJapanStephen Shaw QUALIFIED
Ivar J BowleyCanadaStephen Shaw NEGOTIATION
Arvin X FerenczIndiaAnna Fali PROPOSAL
Greenwood M PaprockiIndiaOnyama Limba UNQUALIFIED
Chavez A NickaIndiaOnyama Limba RENEWAL
Aruna S SlusarskiIndiaXuxue Feng NEGOTIATION
Aruna D CaudyIndiaIoni Bowcher NEGOTIATION
Munro J InouyeCanadaBernardo Dominic RENEWAL
Rodrigues P MarrierBrazilIoni Bowcher NEGOTIATION
Leja F FlosiArgentinaElwin Sharvill PROPOSAL
Deepesh W KuskoGermanyElwin Sharvill UNQUALIFIED
Leja B IturbideIndiaStephen Shaw NEW
Munro O MaletJapanStephen Shaw PROPOSAL
Ivar X GarufiGermanyOnyama Limba NEW
Isabel E MorascaAustraliaElwin Sharvill NEW
Aditya C ButtJapanOnyama Limba QUALIFIED
Rodrigues I OstroskyAustraliaAnna Fali RENEWAL
Ricardo T PerinIndiaAnna Fali NEW
Ashley I DilliardItalyOnyama Limba NEGOTIATION
Francesco M RutaFranceIvan Magalhaes RENEWAL
Juan H RimArgentinaStephen Shaw NEGOTIATION
Maria P MorascaFranceAmy Elsner UNQUALIFIED
Silvio H DilliardFranceAmy Elsner QUALIFIED
Darci N BowleyCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa O RulapaughJapanIvan Magalhaes PROPOSAL
Misaki T IturbideAustraliaAnna Fali NEGOTIATION
Mujtaba B FollerFranceXuxue Feng QUALIFIED
Adams N WieserGermanyIvan Magalhaes RENEWAL
Deepesh O CaudyGermanyAmy Elsner NEGOTIATION
Nicolas B OldroydFranceOnyama Limba NEW
Leja M BriddickGermanyBernardo Dominic NEW
Antonio B MaletArgentinaBernardo Dominic PROPOSAL
Jennifer B MacleadGermanyAmy Elsner QUALIFIED
Clifford G AlbaresSpainBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire B DoeGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED69Xuxue Feng
1001Alejandro M MorascaIndia2024-05-18Benton, John B Jr PROPOSAL51Elwin Sharvill
1002Antonio X RoysterItaly2024-05-08Benton, John B Jr PROPOSAL65Bernardo Dominic
1003Claire W SaylorsItaly2024-05-10Chemel, James L Cpa UNQUALIFIED24Asiya Javayant
1004Deepesh J SaylorsArgentina2024-06-02Rousseaux, Michael Esq UNQUALIFIED83Ioni Bowcher
1005Jennifer W NickaIndia2024-06-01Morlong Associates NEGOTIATION76Bernardo Dominic
1006Murillo W MacleadFrance2024-05-27Buckley Miller Wright UNQUALIFIED5Onyama Limba
1007Aika J RimItaly2024-05-17Dorl, James J Esq UNQUALIFIED71Stephen Shaw
1008Maisha X GarufiIndia2024-06-01Buckley Miller Wright NEW61Anna Fali
1009Ivar D WieserRussia2024-05-13Morlong Associates NEGOTIATION16Stephen Shaw
1010Jefferson O FollerUnited Kingdom2024-05-16Rangoni Of Florence RENEWAL48Elwin Sharvill
1011Tony N RoysterArgentina2024-05-12Benton, John B Jr NEGOTIATION54Anna Fali
1012Leja J VenereCanada2024-06-03Truhlar And Truhlar Attys NEGOTIATION63Asiya Javayant
1013Maria R OldroydJapan2024-05-22Buckley Miller Wright NEW15Ivan Magalhaes
1014Mujtaba P WieserIndia2024-05-19Morlong Associates RENEWAL15Xuxue Feng
1015Isabel Q SaylorsGermany2024-05-30King, Christopher A Esq PROPOSAL99Asiya Javayant
1016Stacey A WaycottAustralia2024-05-18Chapman, Ross E Esq NEW66Amy Elsner
1017Kadeem T WaycottFrance2024-05-26Benton, John B Jr UNQUALIFIED39Bernardo Dominic
1018Alejandro M WhobreySpain2024-05-26Dorl, James J Esq NEW66Amy Elsner
1019Jefferson Z CaldareraJapan2024-05-08Feiner Bros QUALIFIED85Anna Fali
1020Johnson H ShinkoItaly2024-05-24Printing Dimensions QUALIFIED54Amy Elsner
1021Emily B AlbaresUnited Kingdom2024-05-21Morlong Associates PROPOSAL37Stephen Shaw
1022Sinclair I VenereUnited Kingdom2024-05-24Buckley Miller Wright RENEWAL32Ivan Magalhaes
1023Francesco Z FollerItaly2024-05-30King, Christopher A Esq UNQUALIFIED25Elwin Sharvill
1024Leon I PaprockiCanada2024-05-10Rousseaux, Michael Esq UNQUALIFIED30Onyama Limba
1025Maria A PaprockiJapan2024-05-16King, Christopher A Esq PROPOSAL84Anna Fali
1026Chavez L FerenczJapan2024-05-28Chanay, Jeffrey A Esq NEW95Anna Fali
1027Kaitlin E CaudyCanada2024-05-21Chanay, Jeffrey A Esq NEW67Bernardo Dominic
1028Darci Z MacleadSpain2024-05-06Benton, John B Jr PROPOSAL98Onyama Limba
1029Arvin M WaycottJapan2024-05-17Feiner Bros UNQUALIFIED16Ioni Bowcher
1030Sinclair W InouyeGermany2024-05-19Chemel, James L Cpa NEGOTIATION50Anna Fali
1031Maria B RulapaughArgentina2024-05-07Commercial Press NEW52Amy Elsner
1032Kaitlin T InouyeUnited Kingdom2024-05-25Chemel, James L Cpa PROPOSAL39Xuxue Feng
1033Mayumi F SchemmerJapan2024-06-03Buckley Miller Wright PROPOSAL41Ivan Magalhaes
1034Sinclair P RoysterItaly2024-06-04Buckley Miller Wright NEW84Asiya Javayant
1035Francesco Z FlosiGermany2024-05-12Printing Dimensions NEGOTIATION77Stephen Shaw
1036Ivar Y AmigonFrance2024-05-24Rousseaux, Michael Esq UNQUALIFIED59Xuxue Feng
1037Salvatore F MorascaFrance2024-05-30Chapman, Ross E Esq UNQUALIFIED15Ivan Magalhaes
1038Octavia X ShinkoArgentina2024-05-11Feiner Bros UNQUALIFIED69Stephen Shaw
1039Nicolas S MaletGermany2024-05-06Rangoni Of Florence PROPOSAL6Amy Elsner
1040Stacey E GlickBrazil2024-05-18Printing Dimensions NEW61Asiya Javayant
1041Leja G BowleyIndia2024-05-31Buckley Miller Wright UNQUALIFIED5Onyama Limba
1042Smith B WaycottGermany2024-05-26Chemel, James L Cpa PROPOSAL9Amy Elsner
1043Juan X VenereJapan2024-05-13Chapman, Ross E Esq PROPOSAL69Amy Elsner
1044Isabel A MaletFrance2024-05-10Rangoni Of Florence NEW85Asiya Javayant
1045Silvio B NestleAustralia2024-05-10Rangoni Of Florence QUALIFIED19Ioni Bowcher
1046Clifford V SchemmerUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL45Ivan Magalhaes
1047Silvio V KuskoRussia2024-05-31Rangoni Of Florence QUALIFIED31Asiya Javayant
1048Jones W DarakjyJapan2024-05-16Rangoni Of Florence RENEWAL55Ivan Magalhaes
1049Rodrigues L RulapaughIndia2024-05-06Chapman, Ross E Esq UNQUALIFIED15Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams J RoysterIndiaOnyama Limba NEGOTIATION
Jennifer M VocelkaJapanAmy Elsner QUALIFIED
Maria P SaylorsGermanyXuxue Feng RENEWAL
Misaki B DilliardCanadaElwin Sharvill NEGOTIATION
Mujtaba H MarrierGermanyAmy Elsner NEW
Mujtaba G OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Aika Y SlusarskiItalyAmy Elsner UNQUALIFIED
Nicolas F GarufiItalyAnna Fali RENEWAL
Leon G TollnerRussiaAmy Elsner UNQUALIFIED
Tony I RutaBrazilXuxue Feng RENEWAL
Deepesh B GauchoIndiaBernardo Dominic NEW
Arvin O RutaAustraliaXuxue Feng NEGOTIATION
Ivar K PaprockiRussiaIvan Magalhaes UNQUALIFIED
Mayumi U MaletRussiaAnna Fali QUALIFIED
Jennifer A DarakjyCanadaBernardo Dominic QUALIFIED
Leja N FollerCanadaXuxue Feng NEGOTIATION
David S VenereArgentinaStephen Shaw RENEWAL
Alejandro B DoeAustraliaAmy Elsner PROPOSAL
Kadeem U WieserAustraliaAnna Fali NEW
Smith M InouyeCanadaStephen Shaw NEGOTIATION
Juan G GlickUnited KingdomStephen Shaw RENEWAL
Antonio T NickaFranceOnyama Limba QUALIFIED
Aditya Z StockhamCanadaElwin Sharvill RENEWAL
Arvin O BologniaAustraliaOnyama Limba PROPOSAL
Misaki N RulapaughGermanyStephen Shaw PROPOSAL
Clifford W FerenczJapanAmy Elsner NEW
Stacey Y PerinFranceIvan Magalhaes RENEWAL
Maisha I SchemmerCanadaElwin Sharvill RENEWAL
Faith L OstroskyUnited KingdomAsiya Javayant NEW
Maria L AlbaresItalyElwin Sharvill PROPOSAL
Smith R RutaIndiaOnyama Limba UNQUALIFIED
Faith Z MaletCanadaIvan Magalhaes UNQUALIFIED
Ricardo Y GarufiCanadaOnyama Limba QUALIFIED
Jones J StensethAustraliaAsiya Javayant NEGOTIATION
Leon E WhobreyFranceIvan Magalhaes RENEWAL
Costa E GarufiCanadaStephen Shaw RENEWAL
Adams C WhobreyItalyAsiya Javayant QUALIFIED
Emily Z VenereArgentinaAsiya Javayant UNQUALIFIED
Antonio K SaylorsBrazilAmy Elsner PROPOSAL
Ivar Y ButtArgentinaBernardo Dominic UNQUALIFIED
Maria P CaldareraRussiaXuxue Feng UNQUALIFIED
Claire H NestleBrazilAsiya Javayant RENEWAL
Mayumi F StensethItalyAnna Fali PROPOSAL
Stacey I DilliardUnited KingdomXuxue Feng QUALIFIED
Aruna U RoysterSpainAsiya Javayant RENEWAL
Maria Z KolmetzCanadaBernardo Dominic PROPOSAL
Izzy H KolmetzCanadaAnna Fali UNQUALIFIED
Chavez L StockhamBrazilElwin Sharvill RENEWAL
Kadeem U TollnerRussiaStephen Shaw NEW
Kaitlin P DoeAustraliaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Alejandro W Bolognia
Aditya L Amigon
Kaitlin T Ruta
Smith I Foller
Alejandro P Rim
Ivar Q Figeroa
Aruna W Gillian
Izzy X Marrier
Johnson M Venere
Darci T Doe
Arvin P Ostrosky
Jones Z Nicka
Francesco K Amigon
Julie I Shinko
Julie O Tollner
Clifford X Butt
Antonio A Whobrey
Jeanfrancois T Ostrosky
Ashley L Bowley
Izzy Z Marrier
Salvatore O Chui
Antonio T Venere
Clifford L Nestle
Isabel Y Saylors
Emily F Ferencz
Clifford H Wieser
James V Schemmer
Leja Z Shinko
Misaki O Venere
Jeanfrancois S Poquette
Misaki S Stockham
Rodrigues R Venere
Isabel O Venere
Arvin L Flosi
Sinclair O Oldroyd
Mujtaba T Dilliard
Alejandro E Waycott
James Y Figeroa
Adams Z Bowley
Wickens U Chui
Deepesh M Slusarski
Greenwood R Glick
Mujtaba V Albares
Smith O Albares
Faith Y Oldroyd
Misaki A Darakjy
James W Poquette
Arvin P Ferencz
Emily C Caldarera
Deepesh S Whobrey
IdCountryDate
1000Japan2024-05-22
1001Brazil2024-05-18
1002Australia2024-06-03
1003Argentina2024-05-20
1004Spain2024-05-18
1005Japan2024-05-26
1006Brazil2024-05-17
1007Germany2024-06-02
1008Japan2024-05-14
1009Brazil2024-05-25
1010Australia2024-06-02
1011Canada2024-05-31
1012United Kingdom2024-05-30
1013France2024-06-03
1014Italy2024-05-26
1015France2024-05-20
1016France2024-05-16
1017Russia2024-05-19
1018Australia2024-05-26
1019France2024-06-04
1020Italy2024-05-11
1021Brazil2024-05-19
1022Canada2024-05-11
1023Spain2024-05-19
1024United Kingdom2024-05-20
1025France2024-05-23
1026Australia2024-06-04
1027France2024-05-16
1028Brazil2024-05-28
1029Spain2024-05-18
1030Japan2024-05-16
1031Canada2024-05-19
1032Russia2024-06-01
1033India2024-05-12
1034India2024-05-24
1035Germany2024-05-22
1036United Kingdom2024-05-16
1037Spain2024-05-21
1038Australia2024-06-04
1039Italy2024-05-12
1040Australia2024-05-30
1041Argentina2024-05-07
1042Japan2024-05-10
1043Japan2024-05-29
1044Argentina2024-06-02
1045France2024-05-23
1046Brazil2024-05-11
1047Japan2024-05-30
1048United Kingdom2024-05-17
1049Italy2024-05-26

On-Demand Data

NameIdCountryDate
Jeanfrancois V Amigon1000France2024-05-30
Jennifer L Briddick1001Australia2024-05-29
Tony W Iturbide1002Italy2024-05-26
Chavez M Kusko1003Brazil2024-05-20
Misaki V Doe1004Canada2024-06-04
Jones B Inouye1005Canada2024-05-18
Kadeem K Maclead1006Argentina2024-05-31
Francesco K Flosi1007Canada2024-05-29
Ivar G Whobrey1008Russia2024-05-17
Jeanfrancois L Briddick1009Russia2024-05-10
Stacey Z Morasca1010Japan2024-05-16
David T Flosi1011France2024-05-28
Faith Z Iturbide1012Italy2024-05-24
Arvin B Kusko1013Russia2024-05-14
Jefferson N Royster1014Japan2024-05-11
Jennifer W Gaucho1015Germany2024-05-11
Jefferson E Campain1016Germany2024-05-17
Claire V Darakjy1017Australia2024-05-28
Jeanfrancois D Whobrey1018Australia2024-05-10
Silvio L Garufi1019Australia2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues T KolmetzItalyStephen Shaw NEGOTIATION
Murillo N WaycottJapanAsiya Javayant UNQUALIFIED
David L FlosiCanadaXuxue Feng RENEWAL
Jones K TollnerBrazilAmy Elsner NEW
James Y NestleItalyIvan Magalhaes UNQUALIFIED
Smith L PerinRussiaAmy Elsner UNQUALIFIED
Maria I PaprockiArgentinaElwin Sharvill PROPOSAL
Aika J OstroskyBrazilAsiya Javayant QUALIFIED
Kaitlin Y DilliardRussiaElwin Sharvill QUALIFIED
Francesco V MaletAustraliaIvan Magalhaes RENEWAL
Faith T CampainGermanyAsiya Javayant RENEWAL
David X SaylorsJapanOnyama Limba RENEWAL
Tony M KolmetzFranceOnyama Limba PROPOSAL
Julie E OstroskyCanadaStephen Shaw NEGOTIATION
Izzy H ChuiItalyAmy Elsner QUALIFIED
Costa B IturbideAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues H AmigonAustraliaAsiya Javayant NEGOTIATION
Mayumi C InouyeSpainOnyama Limba NEW
Nicolas P VenereItalyElwin Sharvill PROPOSAL
Faith H KuskoRussiaStephen Shaw NEGOTIATION
Johnson C StensethItalyOnyama Limba QUALIFIED
Stacey Q BologniaCanadaXuxue Feng UNQUALIFIED
Clifford M DarakjyRussiaOnyama Limba PROPOSAL
Aika G TollnerIndiaAsiya Javayant UNQUALIFIED
Ivar J ChuiUnited KingdomAmy Elsner PROPOSAL
Mayumi T OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Emily J SchemmerItalyIoni Bowcher UNQUALIFIED
Adams Y CaudyJapanStephen Shaw NEGOTIATION
Leon T WaycottUnited KingdomBernardo Dominic NEGOTIATION
Aruna X TollnerIndiaIvan Magalhaes NEW
Juan W DilliardGermanyAnna Fali RENEWAL
Maria E BologniaFranceXuxue Feng NEW
Sinclair U StensethFranceIoni Bowcher NEGOTIATION
Rodrigues I StockhamFranceStephen Shaw NEGOTIATION
Misaki V VocelkaSpainIoni Bowcher NEGOTIATION
Costa L KolmetzArgentinaAnna Fali RENEWAL
Ivar Y MaletIndiaIvan Magalhaes NEW
Murillo O ButtCanadaBernardo Dominic NEGOTIATION
Alejandro B BowleyBrazilAsiya Javayant NEW
Smith O PerinGermanyAmy Elsner PROPOSAL

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