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
Francesco S AmigonBrazilAnna Fali NEW
Cody R GillianBrazilStephen Shaw NEGOTIATION
Tony O GlickSpainAsiya Javayant UNQUALIFIED
Faith X NestleArgentinaAsiya Javayant QUALIFIED
Isabel W FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Antonio B WaycottAustraliaBernardo Dominic NEW
James Y VocelkaArgentinaIvan Magalhaes QUALIFIED
Chavez X PoquetteRussiaStephen Shaw RENEWAL
Leja B OstroskyUnited KingdomElwin Sharvill PROPOSAL
Munro F CaudyGermanyAsiya Javayant RENEWAL
Silvio N CampainSpainIvan Magalhaes NEGOTIATION
Deepesh J WieserRussiaAnna Fali RENEWAL
Morrow B VocelkaCanadaXuxue Feng NEW
Aika V OstroskyJapanXuxue Feng UNQUALIFIED
Deepesh V StensethAustraliaStephen Shaw NEGOTIATION
David D StockhamAustraliaIoni Bowcher UNQUALIFIED
Smith E KolmetzAustraliaAmy Elsner NEGOTIATION
Claire C CaldareraGermanyOnyama Limba PROPOSAL
Juan H KolmetzGermanyOnyama Limba RENEWAL
Stacey N GlickJapanAsiya Javayant PROPOSAL
Tony V BologniaUnited KingdomAnna Fali UNQUALIFIED
Leja Z KuskoGermanyXuxue Feng RENEWAL
Julie A SergiRussiaStephen Shaw UNQUALIFIED
Smith P StensethItalyAsiya Javayant PROPOSAL
Julie K DoeItalyIvan Magalhaes UNQUALIFIED
Emily V PaprockiAustraliaBernardo Dominic NEGOTIATION
Ivar Z GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Stacey O PoquetteJapanBernardo Dominic PROPOSAL
Leja V FlosiFranceOnyama Limba NEW
Silvio N KolmetzArgentinaIvan Magalhaes NEGOTIATION
Jennifer D DarakjyCanadaBernardo Dominic UNQUALIFIED
Johnson Q GlickIndiaXuxue Feng UNQUALIFIED
Morrow C ShinkoGermanyIoni Bowcher RENEWAL
Kadeem Q GillianAustraliaXuxue Feng QUALIFIED
Ashley L RimUnited KingdomAmy Elsner RENEWAL
Cody P BowleySpainXuxue Feng NEW
Jones S SergiItalyElwin Sharvill PROPOSAL
Mujtaba S SaylorsItalyAmy Elsner NEGOTIATION
Stacey X MorascaRussiaIvan Magalhaes NEW
Jones J PerinCanadaAmy Elsner NEGOTIATION
Octavia J OldroydRussiaXuxue Feng NEW
Stacey O NestleCanadaXuxue Feng NEGOTIATION
Ivar Z BriddickItalyAmy Elsner UNQUALIFIED
Rodrigues L PerinSpainAnna Fali NEW
Adams T ChuiUnited KingdomAsiya Javayant NEW
Ricardo H StensethRussiaIoni Bowcher NEW
Isabel K VenereIndiaIoni Bowcher PROPOSAL
Wickens A VenereItalyXuxue Feng NEW
Juan X TollnerAustraliaIoni Bowcher UNQUALIFIED
Morrow C RimSpainIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan Q GillianGermanyIoni Bowcher UNQUALIFIED
James Z TollnerCanadaIvan Magalhaes PROPOSAL
Aika B GarufiAustraliaAnna Fali UNQUALIFIED
Juan X KolmetzRussiaElwin Sharvill NEW
Jefferson P CaudyFranceIvan Magalhaes QUALIFIED
Aruna G VocelkaIndiaAmy Elsner UNQUALIFIED
Ricardo X PoquetteUnited KingdomIvan Magalhaes PROPOSAL
David P RutaAustraliaOnyama Limba PROPOSAL
Silvio Y WaycottGermanyStephen Shaw UNQUALIFIED
Deepesh D FlosiJapanAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith B StensethJapan2024-05-30Printing Dimensions NEGOTIATION0Onyama Limba
1001Leja V RimGermany2024-06-17Rangoni Of Florence RENEWAL93Xuxue Feng
1002Aruna U CaudyUnited Kingdom2024-05-26Feltz Printing Service PROPOSAL29Onyama Limba
1003Sinclair V GarufiSpain2024-05-26Rangoni Of Florence UNQUALIFIED27Ivan Magalhaes
1004Emily V RulapaughAustralia2024-06-16Rousseaux, Michael Esq NEW84Stephen Shaw
1005Faith R PoquetteAustralia2024-06-15Chapman, Ross E Esq PROPOSAL20Asiya Javayant
1006Kadeem M RimArgentina2024-06-13Buckley Miller Wright UNQUALIFIED79Xuxue Feng
1007Jennifer B MarrierItaly2024-06-11Printing Dimensions NEGOTIATION86Onyama Limba
1008Nicolas N SergiSpain2024-06-06Commercial Press QUALIFIED22Bernardo Dominic
1009Stacey G StensethJapan2024-06-19King, Christopher A Esq NEGOTIATION22Elwin Sharvill
1010Arvin P DilliardIndia2024-06-07Rangoni Of Florence UNQUALIFIED55Asiya Javayant
1011Mujtaba O WieserUnited Kingdom2024-06-21Chemel, James L Cpa UNQUALIFIED80Stephen Shaw
1012Kaitlin Z MarrierRussia2024-05-29Feiner Bros UNQUALIFIED1Anna Fali
1013Rodrigues F KolmetzIndia2024-06-21Rousseaux, Michael Esq RENEWAL61Asiya Javayant
1014Kaitlin Z GauchoAustralia2024-06-10Feiner Bros NEGOTIATION91Stephen Shaw
1015Cody L AlbaresGermany2024-05-30Commercial Press PROPOSAL9Elwin Sharvill
1016Wickens V SlusarskiItaly2024-06-15Rangoni Of Florence PROPOSAL13Ivan Magalhaes
1017Stacey M TollnerItaly2024-06-12King, Christopher A Esq QUALIFIED71Elwin Sharvill
1018Isabel R BologniaBrazil2024-06-10Chapman, Ross E Esq NEGOTIATION64Amy Elsner
1019Cody L BowleySpain2024-06-09Chanay, Jeffrey A Esq PROPOSAL58Onyama Limba
1020Leon Z OldroydArgentina2024-06-21Chapman, Ross E Esq RENEWAL71Anna Fali
1021Alejandro O MarrierRussia2024-06-08King, Christopher A Esq PROPOSAL41Bernardo Dominic
1022Leon D VocelkaBrazil2024-06-21Chemel, James L Cpa QUALIFIED45Elwin Sharvill
1023Julie B CampainUnited Kingdom2024-06-20Chemel, James L Cpa NEW83Onyama Limba
1024Wickens L GillianArgentina2024-06-08Chanay, Jeffrey A Esq NEW9Bernardo Dominic
1025Sinclair I IturbideArgentina2024-06-21Chapman, Ross E Esq UNQUALIFIED88Ivan Magalhaes
1026Chavez P PerinItaly2024-05-25Truhlar And Truhlar Attys NEGOTIATION31Xuxue Feng
1027Jones N WaycottSpain2024-05-29Buckley Miller Wright NEW99Amy Elsner
1028Isabel F MorascaAustralia2024-06-21Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1029Jefferson E GarufiArgentina2024-06-05Chemel, James L Cpa QUALIFIED26Onyama Limba
1030Octavia I OstroskyItaly2024-06-09Buckley Miller Wright UNQUALIFIED71Ivan Magalhaes
1031Salvatore C DilliardBrazil2024-06-06Feltz Printing Service PROPOSAL61Anna Fali
1032Juan P GauchoItaly2024-06-13Rousseaux, Michael Esq UNQUALIFIED31Bernardo Dominic
1033Jennifer S GlickRussia2024-06-07Chemel, James L Cpa NEW1Elwin Sharvill
1034Aruna Y KolmetzAustralia2024-06-22Morlong Associates UNQUALIFIED75Anna Fali
1035Leja C PerinCanada2024-06-10Buckley Miller Wright NEGOTIATION8Stephen Shaw
1036Rodrigues V SaylorsGermany2024-06-07Benton, John B Jr UNQUALIFIED16Elwin Sharvill
1037Maisha X FerenczRussia2024-06-16Morlong Associates NEGOTIATION35Asiya Javayant
1038Emily W StensethJapan2024-06-01Feiner Bros NEW11Onyama Limba
1039Cody T MorascaAustralia2024-06-13Printing Dimensions QUALIFIED22Onyama Limba
1040James Z DoeAustralia2024-05-30Morlong Associates NEGOTIATION18Bernardo Dominic
1041Greenwood Q RutaIndia2024-06-22Buckley Miller Wright NEGOTIATION0Amy Elsner
1042Greenwood B VocelkaCanada2024-06-15Rangoni Of Florence QUALIFIED32Asiya Javayant
1043Isabel E BowleyJapan2024-05-27Truhlar And Truhlar Attys PROPOSAL47Stephen Shaw
1044Costa L AmigonAustralia2024-05-30King, Christopher A Esq NEGOTIATION31Elwin Sharvill
1045Nicolas U MaletAustralia2024-06-08Benton, John B Jr UNQUALIFIED35Ivan Magalhaes
1046David C FlosiJapan2024-06-08Printing Dimensions PROPOSAL76Elwin Sharvill
1047Kadeem O FigeroaUnited Kingdom2024-06-23Commercial Press RENEWAL9Bernardo Dominic
1048Murillo A GlickAustralia2024-06-07Benton, John B Jr RENEWAL36Onyama Limba
1049Nicolas C BowleyFrance2024-06-18Benton, John B Jr PROPOSAL75Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David Z PaprockiAustraliaIoni Bowcher QUALIFIED
Ashley G StensethItalyAmy Elsner NEW
Chavez Q VocelkaItalyAnna Fali QUALIFIED
Leon N ChuiSpainIvan Magalhaes PROPOSAL
Munro N IturbideCanadaIoni Bowcher RENEWAL
Leja X GillianCanadaStephen Shaw NEGOTIATION
James G RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Jones L RimCanadaAmy Elsner PROPOSAL
Emily L NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford B MorascaAustraliaAmy Elsner NEGOTIATION
Morrow S VenereRussiaIvan Magalhaes NEGOTIATION
Julie D FigeroaFranceAmy Elsner UNQUALIFIED
Kadeem U SergiAustraliaIvan Magalhaes NEGOTIATION
Isabel L OldroydBrazilAnna Fali NEGOTIATION
Mayumi W BologniaRussiaAsiya Javayant NEW
Aditya H PaprockiFranceAmy Elsner NEGOTIATION
Izzy H BowleyAustraliaAsiya Javayant UNQUALIFIED
Tony B AlbaresBrazilAnna Fali QUALIFIED
Francesco Y BologniaCanadaAmy Elsner RENEWAL
Mayumi N RutaIndiaAnna Fali NEW
Izzy C CampainBrazilIvan Magalhaes QUALIFIED
Tony S IturbideJapanAnna Fali PROPOSAL
Sinclair O PoquetteCanadaAsiya Javayant NEGOTIATION
Greenwood F PoquetteBrazilAmy Elsner NEGOTIATION
Julie A VocelkaJapanStephen Shaw QUALIFIED
Johnson Q MarrierArgentinaElwin Sharvill RENEWAL
Ricardo I BowleyRussiaOnyama Limba RENEWAL
Clifford B CampainArgentinaAsiya Javayant UNQUALIFIED
Alejandro I NestleAustraliaAnna Fali NEGOTIATION
Misaki O SchemmerJapanXuxue Feng NEW
Kaitlin K AlbaresBrazilElwin Sharvill NEW
Silvio H CaldareraFranceBernardo Dominic NEGOTIATION
Emily Y FlosiIndiaOnyama Limba QUALIFIED
Leon V MorascaBrazilAmy Elsner NEW
Izzy E BologniaArgentinaElwin Sharvill NEW
Julie C BriddickCanadaIvan Magalhaes QUALIFIED
Salvatore Y DilliardUnited KingdomAmy Elsner QUALIFIED
Stacey P DarakjyItalyOnyama Limba PROPOSAL
Leon T NestleSpainStephen Shaw PROPOSAL
Kadeem W KolmetzUnited KingdomAmy Elsner NEGOTIATION
Rodrigues I WieserArgentinaIvan Magalhaes UNQUALIFIED
Francesco N BowleyArgentinaAmy Elsner RENEWAL
Kaitlin C FigeroaUnited KingdomOnyama Limba NEW
Salvatore I BowleySpainOnyama Limba PROPOSAL
Francesco T BriddickFranceOnyama Limba NEW
Chavez E RoysterItalyIvan Magalhaes NEGOTIATION
Tony K ButtBrazilAmy Elsner NEW
Aditya Q DilliardUnited KingdomStephen Shaw QUALIFIED
Misaki T PerinArgentinaAnna Fali NEGOTIATION
Costa L VocelkaBrazilIvan Magalhaes PROPOSAL
Frozen Columns
Name
Greenwood R Shinko
Tony V Iturbide
Arvin L Kolmetz
Jefferson A Rulapaugh
Jennifer X Bowley
Izzy F Perin
Arvin J Morasca
Ricardo I Sergi
Jefferson U Ferencz
Juan V Darakjy
Faith P Gillian
Jones T Stockham
Kaitlin Q Oldroyd
Jennifer M Vocelka
Aika U Ostrosky
Jeanfrancois J Rulapaugh
Julie A Stenseth
Alejandro I Caldarera
Jennifer G Rulapaugh
Jeanfrancois T Nestle
Claire X Stockham
Izzy Z Iturbide
Munro K Gillian
Munro Q Whobrey
Kaitlin C Campain
Aruna J Garufi
Alejandro A Figeroa
Mayumi K Shinko
Jefferson Z Rulapaugh
Arvin B Caudy
Aruna P Schemmer
Adams K Kolmetz
Stacey R Slusarski
Johnson Q Malet
Francesco F Tollner
Alejandro D Saylors
Adams U Chui
David B Malet
Aditya F Shinko
David A Royster
Leon C Iturbide
Maria Q Amigon
Juan A Waycott
Chavez J Campain
Jeanfrancois V Gaucho
Misaki N Ostrosky
Wickens Q Rim
Isabel V Malet
Sinclair C Gillian
Greenwood K Kolmetz
IdCountryDate
1000Italy2024-05-31
1001Italy2024-06-01
1002India2024-06-17
1003United Kingdom2024-06-19
1004United Kingdom2024-06-02
1005France2024-05-26
1006Spain2024-05-25
1007Spain2024-06-15
1008Italy2024-06-13
1009Canada2024-06-08
1010Canada2024-06-17
1011Russia2024-05-31
1012United Kingdom2024-06-23
1013United Kingdom2024-06-17
1014Australia2024-06-01
1015Brazil2024-06-02
1016Australia2024-06-17
1017United Kingdom2024-06-03
1018United Kingdom2024-06-18
1019Brazil2024-06-01
1020France2024-06-04
1021Germany2024-06-10
1022Argentina2024-06-07
1023Australia2024-06-17
1024Spain2024-05-31
1025France2024-06-15
1026Australia2024-05-30
1027Argentina2024-06-10
1028United Kingdom2024-06-13
1029Germany2024-06-02
1030India2024-06-06
1031Australia2024-06-22
1032India2024-05-25
1033Germany2024-06-23
1034Italy2024-06-11
1035Spain2024-06-17
1036Italy2024-06-07
1037India2024-06-20
1038Japan2024-05-29
1039Italy2024-06-05
1040Russia2024-06-01
1041France2024-05-26
1042Germany2024-06-16
1043France2024-06-13
1044Russia2024-06-02
1045Brazil2024-06-03
1046France2024-06-08
1047Germany2024-06-20
1048India2024-05-29
1049Japan2024-06-09

On-Demand Data

NameIdCountryDate
Nicolas D Bowley1000India2024-05-29
Isabel A Tollner1001Italy2024-05-30
Sinclair B Bolognia1002India2024-06-17
Jones T Venere1003United Kingdom2024-06-12
Francesco M Stenseth1004Argentina2024-05-31
Mayumi P Stockham1005Australia2024-06-17
Aditya V Caudy1006Brazil2024-06-08
Maisha Q Shinko1007Italy2024-06-02
Morrow E Royster1008United Kingdom2024-05-28
Adams U Ruta1009India2024-06-11
Francesco E Amigon1010United Kingdom2024-06-21
Antonio D Bolognia1011Italy2024-06-12
Costa Y Caldarera1012Russia2024-06-03
Maria V Perin1013India2024-06-19
Silvio A Flosi1014Italy2024-06-22
Kaitlin I Butt1015Russia2024-05-30
Wickens J Amigon1016Germany2024-06-11
Greenwood A Gaucho1017Australia2024-05-30
Sinclair R Perin1018Argentina2024-05-26
James U Ostrosky1019India2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki V BologniaSpainXuxue Feng RENEWAL
Adams T AlbaresIndiaAsiya Javayant PROPOSAL
Aruna G IturbideArgentinaAmy Elsner QUALIFIED
Jennifer E FollerUnited KingdomElwin Sharvill UNQUALIFIED
Murillo U FigeroaItalyAmy Elsner PROPOSAL
Kadeem E KolmetzCanadaAmy Elsner NEGOTIATION
Maisha V SaylorsGermanyAmy Elsner UNQUALIFIED
Darci F IturbideJapanAmy Elsner PROPOSAL
Emily G PerinAustraliaOnyama Limba QUALIFIED
Nicolas C PerinGermanyAnna Fali QUALIFIED
Francesco W CaudyRussiaAnna Fali RENEWAL
Morrow J MorascaArgentinaIvan Magalhaes UNQUALIFIED
Chavez R PaprockiArgentinaIvan Magalhaes NEW
Salvatore D IturbideFranceAsiya Javayant RENEWAL
Chavez L InouyeArgentinaStephen Shaw NEGOTIATION
Ricardo Y InouyeCanadaIoni Bowcher UNQUALIFIED
Aruna V AmigonGermanyOnyama Limba QUALIFIED
Tony Q GarufiIndiaBernardo Dominic NEGOTIATION
Jones V OldroydIndiaAmy Elsner RENEWAL
Isabel D TollnerRussiaBernardo Dominic PROPOSAL
Jeanfrancois G DoeArgentinaIoni Bowcher QUALIFIED
Maria P ChuiBrazilElwin Sharvill RENEWAL
Greenwood W FlosiIndiaIoni Bowcher NEGOTIATION
Jeanfrancois H OldroydUnited KingdomElwin Sharvill NEW
Johnson E GillianSpainAnna Fali QUALIFIED
Costa U CaldareraCanadaAmy Elsner UNQUALIFIED
Kaitlin H NickaFranceIoni Bowcher QUALIFIED
Arvin R GauchoUnited KingdomElwin Sharvill NEGOTIATION
David C BowleySpainOnyama Limba NEW
Antonio S RimSpainOnyama Limba NEW
Tony K FollerBrazilIoni Bowcher QUALIFIED
Aika Y SchemmerAustraliaBernardo Dominic NEW
Jones B TollnerArgentinaIvan Magalhaes RENEWAL
Cody N NestleBrazilElwin Sharvill PROPOSAL
Adams A NickaJapanOnyama Limba NEGOTIATION
Faith T OstroskyGermanyBernardo Dominic NEGOTIATION
Jefferson J WieserAustraliaAsiya Javayant UNQUALIFIED
Francesco A BowleySpainStephen Shaw QUALIFIED
Jones A CaldareraItalyXuxue Feng NEW
Aruna D AmigonCanadaAmy Elsner 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>