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
Izzy Y StockhamIndiaAnna Fali NEW
Aika W FlosiArgentinaAmy Elsner NEGOTIATION
Misaki X GillianArgentinaXuxue Feng NEGOTIATION
Cody F PoquetteBrazilBernardo Dominic PROPOSAL
Faith O SchemmerItalyXuxue Feng QUALIFIED
Wickens E RutaJapanAsiya Javayant UNQUALIFIED
Faith J FlosiRussiaBernardo Dominic RENEWAL
Octavia Z MaletIndiaIvan Magalhaes NEW
Octavia H BowleyItalyAsiya Javayant QUALIFIED
Aruna I WaycottAustraliaOnyama Limba QUALIFIED
Ivar U MacleadItalyXuxue Feng NEW
Izzy J BowleyIndiaStephen Shaw PROPOSAL
Maria P PoquetteRussiaElwin Sharvill UNQUALIFIED
Johnson S OldroydBrazilElwin Sharvill QUALIFIED
Salvatore G ShinkoArgentinaStephen Shaw UNQUALIFIED
Julie C NickaItalyElwin Sharvill NEGOTIATION
Octavia Q VenereSpainStephen Shaw NEGOTIATION
Smith M MarrierFranceBernardo Dominic NEGOTIATION
Deepesh S StockhamAustraliaAnna Fali NEW
Ashley D FlosiCanadaBernardo Dominic QUALIFIED
Deepesh A ShinkoAustraliaOnyama Limba QUALIFIED
Silvio R AlbaresFranceAsiya Javayant UNQUALIFIED
Emily Q GauchoArgentinaOnyama Limba NEW
Darci E DilliardIndiaAnna Fali RENEWAL
Darci R BowleyItalyXuxue Feng RENEWAL
Aika K FigeroaArgentinaOnyama Limba NEGOTIATION
Silvio Y StockhamBrazilIoni Bowcher RENEWAL
Silvio I DilliardItalyElwin Sharvill UNQUALIFIED
Francesco A WhobreySpainOnyama Limba RENEWAL
James K InouyeAustraliaBernardo Dominic UNQUALIFIED
Tony F MaletItalyElwin Sharvill RENEWAL
Aika V WieserArgentinaAsiya Javayant NEGOTIATION
Salvatore U OldroydJapanElwin Sharvill NEW
Claire B FigeroaRussiaAmy Elsner QUALIFIED
Darci K NickaItalyStephen Shaw RENEWAL
Izzy Y DarakjyIndiaAnna Fali NEGOTIATION
Nicolas U RulapaughGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois V GauchoCanadaXuxue Feng RENEWAL
Francesco N InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Leja T AmigonIndiaAsiya Javayant PROPOSAL
Morrow T CaldareraSpainAsiya Javayant UNQUALIFIED
Julie J SchemmerGermanyIvan Magalhaes UNQUALIFIED
Wickens P AmigonIndiaOnyama Limba RENEWAL
Adams Z PaprockiBrazilElwin Sharvill UNQUALIFIED
Munro R RulapaughBrazilIoni Bowcher NEW
Tony Z GillianBrazilIvan Magalhaes QUALIFIED
Arvin S ButtArgentinaIvan Magalhaes UNQUALIFIED
Misaki G PaprockiIndiaIoni Bowcher QUALIFIED
Antonio Q MaletAustraliaAmy Elsner NEGOTIATION
Clifford C MacleadItalyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones N AmigonJapanBernardo Dominic QUALIFIED
Arvin J RulapaughBrazilIoni Bowcher NEW
Stacey Z RutaSpainIoni Bowcher QUALIFIED
Faith B VocelkaFranceAnna Fali UNQUALIFIED
Costa R SlusarskiItalyAmy Elsner RENEWAL
Aditya L CampainJapanXuxue Feng UNQUALIFIED
Wickens O BriddickJapanOnyama Limba NEGOTIATION
Munro D DilliardFranceXuxue Feng RENEWAL
Nicolas U MaletItalyAnna Fali QUALIFIED
Jeanfrancois E MaletAustraliaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Y PerinUnited Kingdom2024-05-29Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
1001Munro T FigeroaIndia2024-06-04Chapman, Ross E Esq NEGOTIATION86Onyama Limba
1002Emily L WieserGermany2024-05-31Buckley Miller Wright RENEWAL82Ioni Bowcher
1003Aruna B StockhamArgentina2024-06-08Dorl, James J Esq UNQUALIFIED82Ivan Magalhaes
1004Faith P AlbaresSpain2024-06-12Feiner Bros RENEWAL7Stephen Shaw
1005Adams O BowleyArgentina2024-05-31King, Christopher A Esq RENEWAL66Amy Elsner
1006Leon E VocelkaFrance2024-05-20Feiner Bros QUALIFIED65Onyama Limba
1007Greenwood O GlickArgentina2024-06-13Chemel, James L Cpa RENEWAL98Ioni Bowcher
1008Costa Z FlosiItaly2024-06-08Rousseaux, Michael Esq UNQUALIFIED70Asiya Javayant
1009Kaitlin X SergiAustralia2024-05-26Feltz Printing Service NEGOTIATION31Onyama Limba
1010Arvin E ChuiArgentina2024-06-15King, Christopher A Esq NEW28Amy Elsner
1011Johnson W ButtUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEGOTIATION89Stephen Shaw
1012Maisha E MacleadIndia2024-06-17Truhlar And Truhlar Attys PROPOSAL74Asiya Javayant
1013Adams V CaudyCanada2024-06-10Morlong Associates UNQUALIFIED98Onyama Limba
1014Emily Z KolmetzJapan2024-06-14Feltz Printing Service PROPOSAL25Onyama Limba
1015Ricardo P TollnerIndia2024-06-08Printing Dimensions RENEWAL51Elwin Sharvill
1016Stacey Y DoeSpain2024-06-11Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1017Jennifer U CampainCanada2024-06-02Printing Dimensions QUALIFIED20Asiya Javayant
1018Ricardo R TollnerJapan2024-06-14Dorl, James J Esq NEGOTIATION5Xuxue Feng
1019Jeanfrancois U TollnerBrazil2024-05-23Commercial Press UNQUALIFIED33Asiya Javayant
1020Costa X FigeroaJapan2024-06-01King, Christopher A Esq NEW67Elwin Sharvill
1021Ashley O CaudyRussia2024-05-28Benton, John B Jr QUALIFIED59Bernardo Dominic
1022Mayumi J StensethSpain2024-06-03Printing Dimensions NEGOTIATION48Stephen Shaw
1023Mayumi Y ButtArgentina2024-06-17Chemel, James L Cpa PROPOSAL62Amy Elsner
1024Maria V MaletItaly2024-06-18King, Christopher A Esq QUALIFIED8Stephen Shaw
1025Morrow C FerenczArgentina2024-06-17Feiner Bros PROPOSAL75Xuxue Feng
1026Emily I ShinkoItaly2024-05-24Printing Dimensions UNQUALIFIED58Anna Fali
1027Cody G MaletArgentina2024-06-04Morlong Associates UNQUALIFIED36Onyama Limba
1028Cody O BriddickAustralia2024-06-04Chapman, Ross E Esq QUALIFIED83Ivan Magalhaes
1029Aditya B MacleadAustralia2024-06-01King, Christopher A Esq NEW82Stephen Shaw
1030Costa M AmigonItaly2024-06-08Rousseaux, Michael Esq QUALIFIED23Amy Elsner
1031Silvio Z KolmetzCanada2024-05-21Printing Dimensions NEW0Elwin Sharvill
1032Isabel K ChuiFrance2024-06-07Morlong Associates NEGOTIATION59Xuxue Feng
1033Jones N MarrierBrazil2024-06-06Chemel, James L Cpa PROPOSAL22Ioni Bowcher
1034Munro M FerenczAustralia2024-05-28Chanay, Jeffrey A Esq QUALIFIED75Bernardo Dominic
1035Cody A MarrierJapan2024-06-15Chapman, Ross E Esq QUALIFIED82Asiya Javayant
1036Mujtaba I FollerCanada2024-05-26Dorl, James J Esq RENEWAL43Ivan Magalhaes
1037Isabel Q WaycottAustralia2024-06-08Rousseaux, Michael Esq NEGOTIATION30Ioni Bowcher
1038Leja U CaldareraAustralia2024-06-09Dorl, James J Esq NEGOTIATION78Amy Elsner
1039Mujtaba L BowleyIndia2024-05-23Rousseaux, Michael Esq PROPOSAL73Ivan Magalhaes
1040Munro H PoquetteGermany2024-06-10Buckley Miller Wright RENEWAL51Ioni Bowcher
1041Maisha E DoeCanada2024-06-07Truhlar And Truhlar Attys UNQUALIFIED48Ivan Magalhaes
1042Rodrigues G AmigonFrance2024-06-05Commercial Press NEW56Onyama Limba
1043Adams S BologniaArgentina2024-06-13Feltz Printing Service RENEWAL39Elwin Sharvill
1044Jennifer Q FigeroaIndia2024-06-10Rousseaux, Michael Esq NEW64Anna Fali
1045Silvio I MacleadSpain2024-06-17Truhlar And Truhlar Attys NEGOTIATION60Asiya Javayant
1046Kadeem F AmigonSpain2024-06-09Morlong Associates NEW69Amy Elsner
1047Munro F FollerItaly2024-06-16Commercial Press UNQUALIFIED60Stephen Shaw
1048Jennifer I WaycottSpain2024-05-20Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1049Isabel W MacleadGermany2024-05-27Morlong Associates QUALIFIED34Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Faith S DoeArgentinaXuxue Feng QUALIFIED
Chavez I MaletCanadaElwin Sharvill UNQUALIFIED
Aika S MaletAustraliaAnna Fali PROPOSAL
Silvio Z WaycottArgentinaAsiya Javayant NEGOTIATION
Costa F IturbideRussiaBernardo Dominic QUALIFIED
Nicolas E SchemmerCanadaAsiya Javayant NEGOTIATION
Murillo Q FerenczIndiaElwin Sharvill NEW
Tony S AmigonFranceStephen Shaw PROPOSAL
Kaitlin K FlosiFranceIoni Bowcher RENEWAL
Octavia N PoquetteItalyIoni Bowcher NEW
Deepesh B GauchoArgentinaAsiya Javayant UNQUALIFIED
Kaitlin W SergiAustraliaAnna Fali NEGOTIATION
Chavez U InouyeItalyXuxue Feng NEGOTIATION
Rodrigues X FigeroaCanadaOnyama Limba UNQUALIFIED
Salvatore S AlbaresSpainIoni Bowcher NEW
Julie D SaylorsJapanAnna Fali RENEWAL
Maisha Y AmigonGermanyIoni Bowcher UNQUALIFIED
Wickens G SlusarskiJapanBernardo Dominic QUALIFIED
Adams F DoeIndiaElwin Sharvill PROPOSAL
Murillo A MaletCanadaBernardo Dominic NEGOTIATION
Faith E NickaArgentinaStephen Shaw PROPOSAL
Rodrigues T OstroskyIndiaXuxue Feng UNQUALIFIED
Stacey C SchemmerGermanyBernardo Dominic NEGOTIATION
Smith M MaletSpainIvan Magalhaes RENEWAL
Nicolas C DoeBrazilOnyama Limba QUALIFIED
Deepesh D WhobreyAustraliaBernardo Dominic NEW
Antonio E PaprockiSpainBernardo Dominic UNQUALIFIED
Misaki I ButtItalyAmy Elsner NEW
Tony T SaylorsArgentinaStephen Shaw RENEWAL
Isabel Y GarufiAustraliaElwin Sharvill NEW
Jeanfrancois C DilliardJapanAnna Fali QUALIFIED
Aika L IturbideJapanBernardo Dominic QUALIFIED
Kaitlin J CampainRussiaAsiya Javayant UNQUALIFIED
David J PaprockiItalyAnna Fali PROPOSAL
Izzy P GarufiIndiaAmy Elsner RENEWAL
Deepesh H KolmetzGermanyStephen Shaw PROPOSAL
Murillo X GillianAustraliaAmy Elsner NEW
Octavia M KuskoCanadaOnyama Limba QUALIFIED
Julie D RulapaughArgentinaXuxue Feng QUALIFIED
Izzy N PerinRussiaAsiya Javayant NEW
Clifford Y RimUnited KingdomAnna Fali QUALIFIED
Misaki W StensethUnited KingdomBernardo Dominic RENEWAL
Mujtaba E NestleFranceOnyama Limba PROPOSAL
Jefferson A ShinkoCanadaIvan Magalhaes NEGOTIATION
Antonio T StockhamBrazilIoni Bowcher UNQUALIFIED
Aditya C DoeBrazilIvan Magalhaes NEGOTIATION
Leja F VenereArgentinaBernardo Dominic NEGOTIATION
Silvio Z OldroydAustraliaBernardo Dominic RENEWAL
Cody W GillianFranceIvan Magalhaes QUALIFIED
Mujtaba E SergiSpainBernardo Dominic RENEWAL
Frozen Columns
Name
Aika O Flosi
Arvin F Morasca
Emily T Flosi
Wickens X Flosi
Maisha W Figeroa
Alejandro X Waycott
Antonio Q Garufi
Claire V Saylors
Faith X Malet
Aruna I Garufi
Deepesh A Stenseth
Misaki Z Malet
Nicolas O Malet
Sinclair L Morasca
Antonio L Marrier
Julie T Stockham
Jefferson H Nicka
Deepesh C Amigon
Maria P Foller
Misaki D Ostrosky
Aika L Saylors
Morrow Y Foller
Jones K Kolmetz
Leja Z Caldarera
Adams A Bowley
Tony L Foller
David N Oldroyd
Kaitlin G Darakjy
Sinclair O Rulapaugh
Aditya X Rim
Johnson C Nicka
Nicolas Z Saylors
Darci Y Saylors
Jefferson G Inouye
Smith E Saylors
Ashley J Poquette
Aika Y Royster
Smith F Caldarera
Arvin A Sergi
Jeanfrancois L Nestle
Misaki Q Tollner
Chavez A Bolognia
Costa Q Poquette
Darci E Albares
Leja D Vocelka
David L Flosi
Alejandro A Briddick
Claire N Stenseth
Johnson C Nicka
Izzy G Dilliard
IdCountryDate
1000Japan2024-05-24
1001Australia2024-05-28
1002Brazil2024-06-02
1003Germany2024-06-04
1004Germany2024-06-03
1005Argentina2024-05-25
1006Russia2024-06-06
1007Canada2024-05-29
1008Brazil2024-06-04
1009Brazil2024-06-05
1010India2024-06-15
1011Japan2024-06-05
1012Germany2024-06-18
1013Australia2024-06-05
1014Canada2024-05-21
1015Spain2024-06-06
1016Australia2024-06-04
1017Argentina2024-06-09
1018Russia2024-05-27
1019Italy2024-05-27
1020Italy2024-06-06
1021United Kingdom2024-06-03
1022Russia2024-06-12
1023Argentina2024-05-23
1024France2024-06-18
1025Brazil2024-06-02
1026India2024-06-09
1027Japan2024-06-02
1028Brazil2024-06-03
1029Russia2024-06-18
1030United Kingdom2024-06-05
1031Japan2024-05-22
1032United Kingdom2024-06-14
1033Brazil2024-06-18
1034France2024-06-06
1035Germany2024-05-28
1036Italy2024-06-17
1037Germany2024-06-16
1038Japan2024-06-15
1039Canada2024-05-26
1040Brazil2024-06-07
1041United Kingdom2024-05-30
1042India2024-05-26
1043France2024-05-23
1044Germany2024-06-17
1045Brazil2024-06-13
1046Argentina2024-06-11
1047Argentina2024-05-20
1048Canada2024-06-14
1049Canada2024-06-09

On-Demand Data

NameIdCountryDate
Aruna W Amigon1000Argentina2024-06-16
Kadeem X Marrier1001Argentina2024-06-05
Octavia W Gillian1002Japan2024-06-18
James H Campain1003Russia2024-06-08
Munro C Stockham1004Australia2024-06-02
Octavia A Perin1005India2024-05-21
Stacey A Foller1006Australia2024-05-29
David Z Kolmetz1007Argentina2024-05-30
Wickens Y Flosi1008Australia2024-06-06
Johnson B Flosi1009Spain2024-06-12
Stacey W Glick1010Russia2024-06-06
Arvin G Glick1011Canada2024-05-23
Kaitlin U Poquette1012India2024-06-08
Izzy K Rulapaugh1013France2024-06-06
Izzy M Royster1014India2024-05-25
Leja T Paprocki1015Italy2024-06-15
Jeanfrancois P Caudy1016India2024-05-31
Jones W Nicka1017Spain2024-06-13
Clifford X Wieser1018Japan2024-05-20
Maisha M Chui1019Australia2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem V FerenczUnited KingdomStephen Shaw PROPOSAL
Mayumi S AmigonUnited KingdomOnyama Limba PROPOSAL
Smith U CaldareraCanadaElwin Sharvill QUALIFIED
Mayumi K SaylorsIndiaBernardo Dominic UNQUALIFIED
Francesco V WhobreyArgentinaBernardo Dominic RENEWAL
Sinclair V RulapaughFranceIoni Bowcher QUALIFIED
Sinclair B ButtArgentinaAsiya Javayant QUALIFIED
Leon M GlickItalyStephen Shaw RENEWAL
Julie X WieserGermanyIvan Magalhaes NEGOTIATION
Faith Q FollerFranceOnyama Limba NEGOTIATION
Misaki L CaldareraArgentinaOnyama Limba NEW
Aruna V FigeroaRussiaAnna Fali RENEWAL
Morrow G TollnerRussiaAnna Fali QUALIFIED
Arvin D WieserFranceAmy Elsner NEGOTIATION
Ricardo R FollerFranceBernardo Dominic QUALIFIED
Clifford N KolmetzUnited KingdomStephen Shaw QUALIFIED
Smith S GlickGermanyIvan Magalhaes PROPOSAL
Octavia P RoysterBrazilXuxue Feng UNQUALIFIED
Antonio T FlosiCanadaAnna Fali NEW
Francesco N MaletIndiaBernardo Dominic RENEWAL
Leon E SaylorsIndiaAsiya Javayant UNQUALIFIED
Ricardo Y MarrierJapanIoni Bowcher NEGOTIATION
Leon B WieserRussiaIoni Bowcher QUALIFIED
Kadeem N RimRussiaAnna Fali PROPOSAL
Maisha E PerinCanadaAmy Elsner RENEWAL
Emily I BowleyItalyElwin Sharvill PROPOSAL
Antonio B WaycottFranceAmy Elsner PROPOSAL
Emily D DarakjyCanadaOnyama Limba PROPOSAL
Antonio H InouyeSpainAmy Elsner NEGOTIATION
Aika V StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Leon J TollnerArgentinaBernardo Dominic RENEWAL
Emily Q SaylorsJapanBernardo Dominic QUALIFIED
Izzy S PaprockiGermanyElwin Sharvill NEW
Faith Y CampainIndiaAmy Elsner UNQUALIFIED
Francesco W WhobreyRussiaAsiya Javayant NEGOTIATION
Rodrigues Z WieserArgentinaIvan Magalhaes QUALIFIED
Cody B CampainCanadaAnna Fali UNQUALIFIED
Deepesh U MaletJapanStephen Shaw NEW
Johnson F BowleyJapanElwin Sharvill RENEWAL
Aruna C MaletArgentinaElwin Sharvill 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>