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
Tony Z FerenczFranceIvan Magalhaes UNQUALIFIED
Ivar A IturbideRussiaXuxue Feng NEGOTIATION
Juan Q GauchoCanadaIvan Magalhaes RENEWAL
Octavia Y SergiBrazilAnna Fali PROPOSAL
Cody Z KuskoRussiaOnyama Limba UNQUALIFIED
Cody J FollerRussiaXuxue Feng UNQUALIFIED
Leja W FlosiSpainAsiya Javayant UNQUALIFIED
Smith K WhobreyArgentinaAsiya Javayant UNQUALIFIED
Jones X BologniaJapanXuxue Feng PROPOSAL
Jefferson F FollerGermanyElwin Sharvill PROPOSAL
Cody A KolmetzIndiaAnna Fali NEGOTIATION
Emily B SergiUnited KingdomBernardo Dominic NEGOTIATION
Francesco U FerenczUnited KingdomElwin Sharvill RENEWAL
Deepesh V RulapaughGermanyAsiya Javayant QUALIFIED
Juan T StockhamUnited KingdomElwin Sharvill NEGOTIATION
Aditya G KuskoBrazilAmy Elsner RENEWAL
Jeanfrancois Q MaletFranceAmy Elsner QUALIFIED
Murillo E MorascaArgentinaBernardo Dominic QUALIFIED
Ricardo Z SlusarskiGermanyElwin Sharvill QUALIFIED
Mujtaba E PerinFranceIvan Magalhaes QUALIFIED
Leja T DilliardAustraliaElwin Sharvill RENEWAL
Clifford R SergiUnited KingdomXuxue Feng UNQUALIFIED
Johnson H FollerItalyXuxue Feng RENEWAL
Kaitlin V MaletUnited KingdomAsiya Javayant RENEWAL
Isabel M PaprockiAustraliaXuxue Feng UNQUALIFIED
Cody B BriddickJapanAsiya Javayant NEGOTIATION
Misaki L GauchoItalyAsiya Javayant NEW
Aika M MacleadAustraliaOnyama Limba NEW
Silvio U NestleGermanyAnna Fali RENEWAL
Rodrigues D PerinItalyAsiya Javayant NEGOTIATION
Sinclair R VenereArgentinaIvan Magalhaes NEW
Stacey G DilliardBrazilXuxue Feng UNQUALIFIED
Murillo O InouyeRussiaOnyama Limba UNQUALIFIED
Claire X WhobreyJapanOnyama Limba PROPOSAL
Aruna B InouyeSpainIvan Magalhaes PROPOSAL
Mayumi Q StensethItalyBernardo Dominic NEW
Jeanfrancois K WaycottCanadaIoni Bowcher PROPOSAL
Misaki T GillianIndiaBernardo Dominic NEW
Adams G CaldareraCanadaStephen Shaw PROPOSAL
Emily G PaprockiSpainAnna Fali QUALIFIED
Jones Z ShinkoGermanyBernardo Dominic NEGOTIATION
Mujtaba W WhobreyArgentinaOnyama Limba NEGOTIATION
Greenwood J AmigonIndiaBernardo Dominic PROPOSAL
Arvin C RutaJapanElwin Sharvill UNQUALIFIED
David L BologniaRussiaStephen Shaw QUALIFIED
Jennifer I ChuiGermanyOnyama Limba NEGOTIATION
Juan K FlosiArgentinaXuxue Feng UNQUALIFIED
Smith Q SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Kaitlin N WhobreyArgentinaAmy Elsner NEGOTIATION
Faith P MaletFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas I SchemmerItalyAnna Fali UNQUALIFIED
Alejandro W SaylorsRussiaBernardo Dominic PROPOSAL
Jennifer K AlbaresCanadaXuxue Feng PROPOSAL
Maria K DoeBrazilAsiya Javayant QUALIFIED
Salvatore F RulapaughArgentinaOnyama Limba RENEWAL
Kadeem K NickaGermanyXuxue Feng NEGOTIATION
Jeanfrancois I FigeroaRussiaAnna Fali RENEWAL
Morrow Y GlickCanadaBernardo Dominic PROPOSAL
Cody S MaletJapanAnna Fali NEW
Mayumi N RimIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens G InouyeUnited Kingdom2024-06-21Printing Dimensions NEGOTIATION99Xuxue Feng
1001Munro C GarufiCanada2024-05-28Feltz Printing Service RENEWAL39Ivan Magalhaes
1002Maisha C VocelkaItaly2024-06-23Chanay, Jeffrey A Esq QUALIFIED92Anna Fali
1003Juan G DarakjyCanada2024-06-15Buckley Miller Wright RENEWAL74Ioni Bowcher
1004Ricardo A StensethRussia2024-06-07Benton, John B Jr UNQUALIFIED18Asiya Javayant
1005Nicolas H FigeroaUnited Kingdom2024-06-10Morlong Associates PROPOSAL86Ivan Magalhaes
1006Chavez D SergiAustralia2024-06-11Benton, John B Jr NEGOTIATION26Asiya Javayant
1007Silvio A GillianJapan2024-06-08Buckley Miller Wright QUALIFIED17Stephen Shaw
1008Aruna D StockhamRussia2024-05-28Commercial Press NEGOTIATION41Anna Fali
1009Ashley U ShinkoRussia2024-06-23Rousseaux, Michael Esq RENEWAL69Onyama Limba
1010Sinclair V ChuiBrazil2024-05-28Rousseaux, Michael Esq PROPOSAL36Anna Fali
1011Maria Z BologniaJapan2024-06-21Buckley Miller Wright UNQUALIFIED45Bernardo Dominic
1012Leon J VocelkaRussia2024-05-28Dorl, James J Esq QUALIFIED88Bernardo Dominic
1013Mayumi G MorascaGermany2024-06-04Commercial Press RENEWAL81Onyama Limba
1014Jeanfrancois K GauchoIndia2024-06-21Benton, John B Jr NEGOTIATION70Asiya Javayant
1015Stacey K DoeAustralia2024-06-23Chemel, James L Cpa PROPOSAL82Anna Fali
1016Aika D MaletUnited Kingdom2024-06-19Chapman, Ross E Esq NEGOTIATION50Stephen Shaw
1017Leja W CaldareraBrazil2024-05-31Rangoni Of Florence NEW69Elwin Sharvill
1018Ashley G MaletJapan2024-06-08Feltz Printing Service UNQUALIFIED96Ivan Magalhaes
1019Deepesh Q SlusarskiItaly2024-06-21Chanay, Jeffrey A Esq RENEWAL62Anna Fali
1020Smith F PaprockiArgentina2024-05-30Dorl, James J Esq PROPOSAL87Elwin Sharvill
1021Mujtaba G AlbaresFrance2024-05-28Printing Dimensions NEW32Bernardo Dominic
1022Wickens S StockhamCanada2024-06-12Chapman, Ross E Esq NEW70Ioni Bowcher
1023Leon W FollerJapan2024-06-13Chemel, James L Cpa QUALIFIED6Anna Fali
1024David O WhobreySpain2024-05-25Buckley Miller Wright NEW7Elwin Sharvill
1025Alejandro P CaudyUnited Kingdom2024-06-09Feltz Printing Service QUALIFIED2Amy Elsner
1026Jeanfrancois E FollerSpain2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED29Ivan Magalhaes
1027James W MaletUnited Kingdom2024-06-04Feltz Printing Service NEW71Elwin Sharvill
1028Jeanfrancois G BriddickGermany2024-05-31King, Christopher A Esq NEGOTIATION61Onyama Limba
1029Jones X ButtBrazil2024-06-20Buckley Miller Wright NEW12Stephen Shaw
1030Aditya M StockhamItaly2024-06-21Morlong Associates NEGOTIATION50Asiya Javayant
1031Darci C AmigonUnited Kingdom2024-06-07Morlong Associates RENEWAL77Bernardo Dominic
1032Ricardo E MorascaIndia2024-06-12Rousseaux, Michael Esq PROPOSAL1Asiya Javayant
1033Jones T FlosiFrance2024-06-21King, Christopher A Esq QUALIFIED90Ioni Bowcher
1034James Q RutaBrazil2024-06-09Truhlar And Truhlar Attys QUALIFIED64Ivan Magalhaes
1035Emily P RutaCanada2024-06-15Dorl, James J Esq NEGOTIATION80Bernardo Dominic
1036Aditya L CampainJapan2024-06-04Chapman, Ross E Esq UNQUALIFIED26Asiya Javayant
1037Jefferson N DilliardSpain2024-06-17King, Christopher A Esq QUALIFIED19Ioni Bowcher
1038Ivar G MaletArgentina2024-06-21Benton, John B Jr NEW19Stephen Shaw
1039Munro H GarufiBrazil2024-06-05King, Christopher A Esq NEW16Anna Fali
1040Kaitlin R NickaArgentina2024-05-26Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1041Claire U FollerRussia2024-06-06Chapman, Ross E Esq PROPOSAL8Anna Fali
1042Aika O SlusarskiGermany2024-06-13Printing Dimensions RENEWAL10Stephen Shaw
1043Mayumi P GlickUnited Kingdom2024-06-14Dorl, James J Esq QUALIFIED2Asiya Javayant
1044Francesco X StockhamAustralia2024-05-30Buckley Miller Wright RENEWAL33Xuxue Feng
1045Kaitlin S OldroydIndia2024-06-20Chanay, Jeffrey A Esq RENEWAL68Ivan Magalhaes
1046Clifford G StockhamGermany2024-06-17Printing Dimensions UNQUALIFIED85Stephen Shaw
1047Morrow E InouyeAustralia2024-06-05Chemel, James L Cpa QUALIFIED37Bernardo Dominic
1048Jennifer X BriddickArgentina2024-06-09Printing Dimensions UNQUALIFIED62Ioni Bowcher
1049Rodrigues I DoeRussia2024-06-13Dorl, James J Esq QUALIFIED82Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya M InouyeRussiaAnna Fali PROPOSAL
Sinclair V SaylorsBrazilXuxue Feng RENEWAL
Faith K DilliardAustraliaBernardo Dominic NEW
Murillo D ShinkoFranceIoni Bowcher RENEWAL
Morrow E VocelkaItalyXuxue Feng UNQUALIFIED
Jennifer M WhobreyAustraliaIvan Magalhaes QUALIFIED
Munro M ShinkoRussiaAnna Fali NEW
Jones X MarrierGermanyAnna Fali NEW
Faith H StensethJapanAsiya Javayant PROPOSAL
Johnson A MorascaRussiaAsiya Javayant PROPOSAL
Kadeem T GlickBrazilXuxue Feng NEGOTIATION
Leja X PoquetteSpainAmy Elsner NEGOTIATION
Johnson V RutaGermanyElwin Sharvill QUALIFIED
Alejandro E PoquetteBrazilIvan Magalhaes UNQUALIFIED
Sinclair V FlosiCanadaAsiya Javayant PROPOSAL
Murillo F SergiBrazilIoni Bowcher RENEWAL
Ricardo I WhobreyRussiaIoni Bowcher QUALIFIED
Clifford U PerinRussiaBernardo Dominic RENEWAL
Aditya M FigeroaCanadaElwin Sharvill RENEWAL
Munro Z KuskoGermanyBernardo Dominic RENEWAL
Greenwood N NestleCanadaOnyama Limba PROPOSAL
Nicolas I OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Arvin A VocelkaItalyIvan Magalhaes NEW
Claire Q PaprockiArgentinaBernardo Dominic NEW
Aditya W FerenczAustraliaAnna Fali NEW
James E WieserUnited KingdomXuxue Feng QUALIFIED
Johnson Y SaylorsCanadaIoni Bowcher PROPOSAL
Chavez H MorascaGermanyAsiya Javayant NEGOTIATION
Smith Z AmigonFranceAmy Elsner NEGOTIATION
Sinclair E StockhamGermanyStephen Shaw RENEWAL
Jefferson A InouyeIndiaAmy Elsner NEGOTIATION
Silvio W GauchoAustraliaStephen Shaw NEW
Emily M CampainIndiaBernardo Dominic PROPOSAL
Maisha W AlbaresSpainBernardo Dominic NEW
Juan U ChuiJapanIoni Bowcher QUALIFIED
Morrow B SaylorsSpainAnna Fali RENEWAL
Kaitlin P RoysterArgentinaOnyama Limba QUALIFIED
Aika I PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Ivar T WieserRussiaStephen Shaw QUALIFIED
Maria Z RutaFranceIvan Magalhaes UNQUALIFIED
Jefferson M RutaGermanyOnyama Limba NEW
Aika M PaprockiGermanyAsiya Javayant PROPOSAL
Aruna Z BowleyAustraliaBernardo Dominic QUALIFIED
Maria X ShinkoGermanyAnna Fali QUALIFIED
Mayumi O ShinkoAustraliaAmy Elsner PROPOSAL
Greenwood P InouyeIndiaIvan Magalhaes PROPOSAL
Claire R AlbaresGermanyAmy Elsner NEW
Morrow V GillianArgentinaOnyama Limba NEGOTIATION
Maisha Q InouyeBrazilAmy Elsner PROPOSAL
Mayumi Q StensethGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Chavez G Glick
Jeanfrancois A Royster
David J Inouye
David B Gaucho
Stacey L Chui
Maisha M Vocelka
Isabel F Caudy
Stacey P Foller
David X Malet
Nicolas I Slusarski
Maria O Malet
Izzy D Rim
James T Poquette
Mayumi D Whobrey
Maisha J Stenseth
Antonio G Doe
Jeanfrancois F Stockham
Jennifer M Vocelka
Octavia K Chui
Salvatore O Vocelka
Isabel E Amigon
Morrow G Doe
Murillo J Paprocki
Chavez X Malet
Greenwood W Shinko
Johnson M Poquette
David C Malet
Leja F Stenseth
Adams I Kolmetz
Jones E Amigon
Adams X Venere
Alejandro Q Ostrosky
Leon I Oldroyd
Octavia L Marrier
Mujtaba H Ruta
Darci W Caldarera
Julie A Kolmetz
Ivar M Maclead
Aruna F Tollner
Ashley X Paprocki
Arvin B Ostrosky
Aika P Kusko
Munro W Chui
James T Ruta
Faith I Oldroyd
Nicolas I Waycott
Adams I Ferencz
Claire Z Venere
Aditya E Caudy
Aditya Q Briddick
IdCountryDate
1000Brazil2024-06-07
1001United Kingdom2024-05-28
1002Canada2024-06-02
1003Russia2024-06-11
1004Italy2024-06-10
1005Australia2024-06-19
1006Russia2024-06-19
1007Canada2024-06-01
1008Russia2024-06-23
1009Germany2024-05-29
1010Spain2024-06-13
1011Canada2024-06-16
1012India2024-06-05
1013Japan2024-05-28
1014Australia2024-06-13
1015Canada2024-06-07
1016Italy2024-06-11
1017Argentina2024-06-08
1018Russia2024-06-12
1019Spain2024-06-08
1020Russia2024-05-30
1021Germany2024-06-07
1022Italy2024-06-04
1023Japan2024-06-12
1024United Kingdom2024-06-12
1025United Kingdom2024-06-01
1026Spain2024-05-29
1027Russia2024-06-05
1028Argentina2024-06-02
1029Germany2024-06-17
1030Italy2024-06-17
1031France2024-06-04
1032Spain2024-06-06
1033India2024-06-19
1034France2024-06-07
1035Spain2024-06-05
1036Germany2024-05-29
1037Canada2024-06-03
1038India2024-05-25
1039France2024-06-15
1040Italy2024-06-12
1041Canada2024-06-13
1042France2024-05-26
1043France2024-06-11
1044Argentina2024-05-28
1045India2024-06-08
1046Canada2024-06-08
1047Argentina2024-05-31
1048Italy2024-06-01
1049Japan2024-06-23

On-Demand Data

NameIdCountryDate
Ricardo Q Ostrosky1000Brazil2024-05-26
Jones P Venere1001Brazil2024-06-17
Tony H Briddick1002Australia2024-06-22
Silvio V Amigon1003India2024-06-18
Murillo J Darakjy1004Australia2024-06-21
Kadeem C Butt1005Germany2024-06-22
Aditya D Kolmetz1006Brazil2024-06-21
Wickens L Glick1007Germany2024-06-23
Juan G Iturbide1008France2024-06-04
Leja Q Bolognia1009Japan2024-06-01
Aditya H Malet1010Russia2024-06-11
Aika J Figeroa1011Canada2024-05-29
Maria G Glick1012Italy2024-06-21
Ivar V Stenseth1013France2024-06-16
Tony K Malet1014Germany2024-05-29
Clifford W Paprocki1015Spain2024-06-18
Isabel C Bolognia1016Argentina2024-06-01
Murillo I Schemmer1017Russia2024-06-23
Wickens C Albares1018Spain2024-06-15
Ivar L Malet1019France2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez T CampainSpainAnna Fali PROPOSAL
Maisha W WaycottSpainStephen Shaw NEGOTIATION
Salvatore I OldroydBrazilElwin Sharvill PROPOSAL
Mujtaba X VocelkaRussiaElwin Sharvill QUALIFIED
Aika S CaldareraGermanyAmy Elsner UNQUALIFIED
Murillo J BologniaAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois B RutaArgentinaAsiya Javayant QUALIFIED
Clifford M SergiArgentinaBernardo Dominic NEW
Johnson C PaprockiArgentinaAnna Fali NEW
Isabel R IturbideCanadaStephen Shaw PROPOSAL
Chavez N InouyeFranceOnyama Limba PROPOSAL
Rodrigues N RimRussiaBernardo Dominic PROPOSAL
Munro A BowleyItalyStephen Shaw NEW
Cody I VocelkaJapanOnyama Limba RENEWAL
Faith D BologniaJapanAsiya Javayant UNQUALIFIED
Leja S WieserItalyAsiya Javayant PROPOSAL
Sinclair X TollnerArgentinaAsiya Javayant UNQUALIFIED
Ivar Y IturbideAustraliaStephen Shaw RENEWAL
Leja T PoquetteGermanyIoni Bowcher UNQUALIFIED
Maisha K WaycottRussiaOnyama Limba PROPOSAL
Antonio S WieserItalyXuxue Feng NEGOTIATION
Maisha F CaudyRussiaAsiya Javayant NEGOTIATION
Adams Y PoquetteBrazilAmy Elsner NEW
Leon Q BologniaFranceOnyama Limba PROPOSAL
Francesco T SlusarskiGermanyIvan Magalhaes QUALIFIED
Clifford Z MaletAustraliaAmy Elsner NEGOTIATION
Isabel H KolmetzItalyStephen Shaw UNQUALIFIED
Maria Z BologniaJapanStephen Shaw UNQUALIFIED
Jennifer P ShinkoJapanStephen Shaw QUALIFIED
Deepesh Q ShinkoIndiaIvan Magalhaes RENEWAL
Francesco I RulapaughBrazilXuxue Feng NEGOTIATION
Deepesh J WieserItalyIvan Magalhaes NEGOTIATION
Adams T GauchoJapanOnyama Limba NEW
Stacey I FerenczSpainElwin Sharvill PROPOSAL
Clifford I WhobreyBrazilOnyama Limba PROPOSAL
Darci T NestleCanadaStephen Shaw NEGOTIATION
Jefferson O VenereFranceOnyama Limba NEGOTIATION
James V PaprockiUnited KingdomStephen Shaw PROPOSAL
Maisha Q ShinkoBrazilIvan Magalhaes NEGOTIATION
Leja Q PoquetteSpainIoni Bowcher 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>