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
Johnson J MorascaIndiaAsiya Javayant RENEWAL
Alejandro O OldroydCanadaOnyama Limba PROPOSAL
Mayumi E ShinkoIndiaStephen Shaw RENEWAL
Francesco K SchemmerItalyXuxue Feng QUALIFIED
Jennifer Q GarufiGermanyIvan Magalhaes NEGOTIATION
Misaki Q WhobreyGermanyIoni Bowcher NEGOTIATION
Ricardo T SchemmerUnited KingdomAnna Fali QUALIFIED
Rodrigues K RimAustraliaStephen Shaw NEGOTIATION
Costa X BriddickUnited KingdomStephen Shaw NEGOTIATION
Munro E GauchoItalyAsiya Javayant RENEWAL
Cody Q DoeAustraliaAmy Elsner NEW
Costa X KolmetzCanadaAmy Elsner NEW
Juan K MorascaArgentinaElwin Sharvill PROPOSAL
Francesco D VocelkaArgentinaOnyama Limba NEGOTIATION
Jeanfrancois T SergiGermanyOnyama Limba UNQUALIFIED
James U NestleJapanElwin Sharvill PROPOSAL
Johnson P BologniaArgentinaStephen Shaw RENEWAL
Antonio N DilliardItalyIvan Magalhaes NEW
Salvatore T SaylorsUnited KingdomIvan Magalhaes RENEWAL
Silvio B SchemmerUnited KingdomOnyama Limba QUALIFIED
Aditya S NestleUnited KingdomOnyama Limba QUALIFIED
Stacey R VenereCanadaXuxue Feng UNQUALIFIED
Aruna K CaldareraAustraliaElwin Sharvill NEGOTIATION
Nicolas H VocelkaBrazilXuxue Feng NEGOTIATION
Costa T MacleadCanadaAnna Fali QUALIFIED
Wickens N ButtGermanyXuxue Feng NEGOTIATION
Jefferson J RulapaughGermanyIoni Bowcher RENEWAL
Izzy V AlbaresFranceXuxue Feng NEGOTIATION
Juan R MaletUnited KingdomBernardo Dominic NEGOTIATION
Julie S BriddickJapanOnyama Limba NEGOTIATION
Jennifer V ButtJapanIvan Magalhaes QUALIFIED
Misaki C CampainArgentinaOnyama Limba PROPOSAL
James Y KuskoArgentinaAmy Elsner PROPOSAL
Jennifer Y StockhamAustraliaStephen Shaw RENEWAL
Isabel C FollerItalyAmy Elsner RENEWAL
Wickens L AlbaresSpainAsiya Javayant NEW
David Y StensethAustraliaIvan Magalhaes RENEWAL
Rodrigues I SlusarskiCanadaAnna Fali NEW
Deepesh B CaudyJapanAsiya Javayant UNQUALIFIED
Sinclair G ChuiSpainStephen Shaw RENEWAL
James Z GauchoIndiaElwin Sharvill PROPOSAL
Emily V GarufiAustraliaXuxue Feng QUALIFIED
Smith J PerinRussiaXuxue Feng RENEWAL
James I WaycottRussiaIvan Magalhaes QUALIFIED
Darci K DilliardFranceStephen Shaw NEW
Munro Q StockhamArgentinaBernardo Dominic RENEWAL
Ashley U PaprockiAustraliaElwin Sharvill QUALIFIED
Adams N GillianAustraliaStephen Shaw PROPOSAL
Adams S ChuiUnited KingdomBernardo Dominic QUALIFIED
Clifford G ChuiCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel T FerenczFranceIoni Bowcher NEW
Morrow D GillianJapanAsiya Javayant PROPOSAL
Alejandro K MorascaAustraliaIoni Bowcher NEGOTIATION
Maisha T NestleItalyBernardo Dominic QUALIFIED
Sinclair G GauchoSpainBernardo Dominic QUALIFIED
Wickens B AmigonUnited KingdomElwin Sharvill QUALIFIED
Aditya U RulapaughAustraliaOnyama Limba UNQUALIFIED
Darci G MorascaGermanyBernardo Dominic UNQUALIFIED
Sinclair Q BologniaJapanStephen Shaw NEGOTIATION
Tony Z FlosiCanadaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony A TollnerFrance2024-06-18Rousseaux, Michael Esq PROPOSAL39Ioni Bowcher
1001Faith Z InouyeAustralia2024-05-28Commercial Press NEGOTIATION32Xuxue Feng
1002Julie Z SlusarskiIndia2024-06-18Chemel, James L Cpa NEGOTIATION67Ioni Bowcher
1003James J MarrierFrance2024-05-30Chapman, Ross E Esq NEGOTIATION45Ioni Bowcher
1004Nicolas T ButtJapan2024-06-11Chapman, Ross E Esq QUALIFIED6Bernardo Dominic
1005Misaki I RutaItaly2024-06-16Chemel, James L Cpa RENEWAL79Ivan Magalhaes
1006Claire B NickaSpain2024-06-21Commercial Press QUALIFIED67Onyama Limba
1007Clifford D RulapaughRussia2024-06-01Feiner Bros UNQUALIFIED53Onyama Limba
1008David Y CampainItaly2024-06-08Benton, John B Jr NEGOTIATION47Amy Elsner
1009Misaki R OldroydSpain2024-06-17Buckley Miller Wright NEW97Bernardo Dominic
1010James C SlusarskiBrazil2024-06-20Morlong Associates RENEWAL22Asiya Javayant
1011Aruna N CampainJapan2024-06-15Commercial Press NEGOTIATION31Anna Fali
1012Ricardo I WieserSpain2024-06-04Chanay, Jeffrey A Esq NEW45Onyama Limba
1013Arvin B ShinkoBrazil2024-06-09Rangoni Of Florence RENEWAL1Bernardo Dominic
1014Jennifer Z CaldareraAustralia2024-06-14Morlong Associates UNQUALIFIED99Elwin Sharvill
1015Cody A ChuiJapan2024-05-30Commercial Press NEGOTIATION88Anna Fali
1016Mayumi A KolmetzGermany2024-05-31Truhlar And Truhlar Attys PROPOSAL33Onyama Limba
1017Wickens K AmigonIndia2024-06-18Commercial Press NEGOTIATION54Amy Elsner
1018Julie T AlbaresArgentina2024-06-17Chemel, James L Cpa UNQUALIFIED36Asiya Javayant
1019Faith D VocelkaSpain2024-06-13Feltz Printing Service RENEWAL90Onyama Limba
1020Antonio L KolmetzItaly2024-05-28Feiner Bros PROPOSAL9Ivan Magalhaes
1021Misaki Z DilliardArgentina2024-06-05King, Christopher A Esq QUALIFIED44Bernardo Dominic
1022Aditya R ShinkoArgentina2024-06-10Truhlar And Truhlar Attys NEGOTIATION7Bernardo Dominic
1023Maisha O InouyeGermany2024-06-16Buckley Miller Wright QUALIFIED20Amy Elsner
1024Mayumi R ChuiGermany2024-05-28Feltz Printing Service NEGOTIATION60Xuxue Feng
1025Clifford H FigeroaSpain2024-06-01Rousseaux, Michael Esq NEGOTIATION2Amy Elsner
1026Maria H FerenczJapan2024-05-28King, Christopher A Esq PROPOSAL83Amy Elsner
1027Tony X BowleyCanada2024-06-03Chemel, James L Cpa RENEWAL89Stephen Shaw
1028Chavez C IturbideSpain2024-06-07Dorl, James J Esq NEGOTIATION33Onyama Limba
1029Emily K MaletJapan2024-06-11Feltz Printing Service PROPOSAL5Xuxue Feng
1030Faith J RoysterFrance2024-06-17Truhlar And Truhlar Attys NEW5Asiya Javayant
1031Johnson Z SlusarskiBrazil2024-05-25Chemel, James L Cpa PROPOSAL60Asiya Javayant
1032Leon D OstroskyCanada2024-06-04Feiner Bros QUALIFIED38Onyama Limba
1033Silvio X WhobreyArgentina2024-05-25Dorl, James J Esq NEW47Ioni Bowcher
1034Stacey C MarrierFrance2024-06-06Dorl, James J Esq PROPOSAL42Ioni Bowcher
1035Stacey W VocelkaGermany2024-06-15Rangoni Of Florence NEW62Amy Elsner
1036Smith G CampainItaly2024-05-26Feiner Bros UNQUALIFIED33Ioni Bowcher
1037Wickens F BologniaUnited Kingdom2024-06-08Chapman, Ross E Esq NEGOTIATION18Amy Elsner
1038Emily C NestleGermany2024-06-07Rousseaux, Michael Esq UNQUALIFIED29Anna Fali
1039Chavez G RulapaughBrazil2024-06-08Rangoni Of Florence PROPOSAL9Onyama Limba
1040James O KuskoFrance2024-06-03Feiner Bros PROPOSAL7Anna Fali
1041Antonio N ShinkoIndia2024-06-13Chemel, James L Cpa QUALIFIED70Elwin Sharvill
1042Tony F StensethFrance2024-06-07Commercial Press UNQUALIFIED34Stephen Shaw
1043Aika W PoquetteArgentina2024-05-28Rousseaux, Michael Esq PROPOSAL55Ioni Bowcher
1044Octavia E ShinkoFrance2024-06-16Feltz Printing Service PROPOSAL92Asiya Javayant
1045Tony K GarufiAustralia2024-06-12Commercial Press NEW11Xuxue Feng
1046Murillo L MorascaIndia2024-06-22King, Christopher A Esq NEGOTIATION20Onyama Limba
1047David U StensethGermany2024-06-09Printing Dimensions QUALIFIED83Stephen Shaw
1048Juan K RimAustralia2024-06-17Rangoni Of Florence QUALIFIED83Asiya Javayant
1049Antonio C ChuiRussia2024-06-18Feiner Bros RENEWAL99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna M ShinkoSpainAsiya Javayant NEGOTIATION
Aika Z MaletFranceXuxue Feng RENEWAL
Jefferson A OstroskyJapanElwin Sharvill UNQUALIFIED
Octavia F NickaAustraliaAmy Elsner NEGOTIATION
Costa H InouyeCanadaBernardo Dominic PROPOSAL
Greenwood S RimArgentinaAmy Elsner PROPOSAL
Ricardo I WhobreyArgentinaElwin Sharvill PROPOSAL
Alejandro X DoeArgentinaAmy Elsner RENEWAL
Silvio D AmigonBrazilBernardo Dominic NEGOTIATION
Ivar I WieserRussiaAmy Elsner NEW
Aruna B DarakjyGermanyStephen Shaw NEGOTIATION
Jennifer S MacleadJapanAsiya Javayant QUALIFIED
Wickens T VenereBrazilIvan Magalhaes RENEWAL
Julie F DarakjySpainElwin Sharvill PROPOSAL
Kadeem Q WhobreyArgentinaXuxue Feng NEGOTIATION
Maria C VenereAustraliaAmy Elsner NEGOTIATION
David K SaylorsArgentinaAsiya Javayant UNQUALIFIED
Octavia J SchemmerCanadaAsiya Javayant PROPOSAL
Claire I BowleyRussiaBernardo Dominic QUALIFIED
Stacey B RimJapanOnyama Limba RENEWAL
Adams G MaletSpainBernardo Dominic NEW
Jeanfrancois S MarrierItalyOnyama Limba RENEWAL
Leon A MarrierUnited KingdomIoni Bowcher RENEWAL
Mujtaba K ButtIndiaBernardo Dominic RENEWAL
Aruna L SaylorsFranceXuxue Feng PROPOSAL
Arvin H CampainAustraliaXuxue Feng RENEWAL
Nicolas Z VenereAustraliaIvan Magalhaes NEW
Stacey D GarufiJapanAnna Fali PROPOSAL
Ricardo Z GlickJapanIvan Magalhaes PROPOSAL
Mayumi W WhobreyJapanOnyama Limba UNQUALIFIED
Francesco U ShinkoUnited KingdomAnna Fali PROPOSAL
Rodrigues V RutaCanadaElwin Sharvill PROPOSAL
Sinclair V OldroydGermanyXuxue Feng RENEWAL
Morrow O NestleItalyIoni Bowcher RENEWAL
Claire O DilliardJapanXuxue Feng UNQUALIFIED
Claire E AlbaresCanadaIoni Bowcher UNQUALIFIED
Smith J DarakjyJapanAsiya Javayant QUALIFIED
Cody T TollnerUnited KingdomStephen Shaw NEW
Julie F MorascaJapanIoni Bowcher UNQUALIFIED
Darci F WhobreyRussiaElwin Sharvill RENEWAL
Nicolas X InouyeItalyIvan Magalhaes NEGOTIATION
Darci N VenereBrazilElwin Sharvill NEW
Mayumi K StockhamAustraliaAsiya Javayant PROPOSAL
Julie Q SergiRussiaAsiya Javayant UNQUALIFIED
Jennifer Q PerinAustraliaAsiya Javayant NEW
Deepesh A RimItalyXuxue Feng QUALIFIED
Clifford Q GarufiRussiaStephen Shaw RENEWAL
Darci A BologniaItalyAmy Elsner UNQUALIFIED
Emily Z AmigonFranceAsiya Javayant QUALIFIED
Tony I CaudyItalyAmy Elsner RENEWAL
Frozen Columns
Name
Izzy U Tollner
Jeanfrancois E Slusarski
Salvatore E Albares
Chavez W Slusarski
Ivar F Rulapaugh
Wickens H Marrier
Leon T Rulapaugh
Antonio Z Bolognia
Mayumi N Dilliard
Claire T Foller
Kaitlin J Sergi
Mujtaba Z Whobrey
Costa G Stenseth
Adams B Garufi
Faith H Ostrosky
Juan V Wieser
Aruna N Iturbide
Jeanfrancois H Amigon
Ricardo B Garufi
Jefferson N Darakjy
Kaitlin K Gaucho
Aika T Oldroyd
Alejandro M Glick
Kadeem F Amigon
Cody E Paprocki
Claire J Campain
Jennifer C Maclead
Isabel Y Caldarera
Ivar V Malet
Emily X Slusarski
Deepesh Z Kolmetz
Isabel L Saylors
Jeanfrancois W Doe
Smith F Figeroa
Jefferson Y Schemmer
Chavez S Doe
Ivar L Doe
Munro L Kusko
Ashley T Albares
Murillo F Caudy
Tony J Waycott
Emily W Paprocki
Ashley P Paprocki
Jeanfrancois P Venere
Aditya T Ruta
Costa K Gillian
Izzy Y Stockham
Jennifer H Amigon
Ricardo Z Iturbide
Salvatore Q Nestle
IdCountryDate
1000Russia2024-06-20
1001Canada2024-05-31
1002Brazil2024-06-03
1003Spain2024-06-16
1004Canada2024-06-10
1005Russia2024-06-13
1006Italy2024-06-02
1007Russia2024-06-05
1008United Kingdom2024-05-30
1009Japan2024-06-15
1010Australia2024-06-16
1011Canada2024-05-30
1012Italy2024-06-06
1013France2024-06-22
1014France2024-06-02
1015Canada2024-06-06
1016Germany2024-06-07
1017United Kingdom2024-06-06
1018France2024-06-12
1019France2024-06-13
1020Spain2024-06-20
1021United Kingdom2024-06-03
1022France2024-06-14
1023Brazil2024-06-05
1024France2024-06-22
1025United Kingdom2024-06-07
1026United Kingdom2024-06-22
1027France2024-06-23
1028Argentina2024-06-15
1029Australia2024-06-16
1030Japan2024-06-09
1031Germany2024-06-21
1032Brazil2024-06-01
1033Japan2024-06-16
1034France2024-06-13
1035India2024-06-14
1036Australia2024-06-03
1037India2024-06-06
1038Germany2024-06-21
1039Canada2024-06-21
1040Australia2024-05-28
1041Italy2024-06-06
1042France2024-06-23
1043Italy2024-06-20
1044Russia2024-06-09
1045Argentina2024-06-23
1046Russia2024-06-08
1047Canada2024-05-29
1048Argentina2024-06-23
1049Brazil2024-06-09

On-Demand Data

NameIdCountryDate
Rodrigues W Kusko1000Italy2024-06-16
Maisha N Slusarski1001Spain2024-06-08
Maisha Y Glick1002Spain2024-06-10
Rodrigues A Ruta1003Japan2024-06-13
Octavia K Morasca1004Canada2024-05-31
Mujtaba T Nicka1005Japan2024-06-15
Deepesh X Caudy1006Italy2024-06-14
Claire V Morasca1007Italy2024-06-22
Misaki B Venere1008India2024-06-13
Adams M Chui1009Canada2024-05-25
Alejandro G Saylors1010Brazil2024-05-31
Nicolas F Poquette1011Russia2024-06-20
Jefferson E Darakjy1012Argentina2024-06-23
Jones M Bowley1013India2024-06-05
Leon O Ruta1014France2024-05-27
Faith E Flosi1015Germany2024-06-10
Jefferson H Whobrey1016Australia2024-05-28
Ricardo F Ferencz1017United Kingdom2024-05-29
David C Nicka1018Italy2024-06-07
Emily I Bolognia1019France2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez R CampainUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba Z VocelkaAustraliaAmy Elsner NEW
Stacey I StensethFranceIoni Bowcher RENEWAL
Darci Y WieserJapanAsiya Javayant PROPOSAL
Misaki J RutaArgentinaAsiya Javayant QUALIFIED
Antonio T OstroskyItalyElwin Sharvill RENEWAL
Jones Q OstroskyRussiaAnna Fali UNQUALIFIED
Aditya Q FlosiRussiaElwin Sharvill RENEWAL
Murillo G BowleyBrazilStephen Shaw PROPOSAL
Sinclair C OstroskyFranceIvan Magalhaes PROPOSAL
Leja T GauchoUnited KingdomAmy Elsner NEW
Antonio V GlickUnited KingdomIvan Magalhaes NEW
Cody O StensethBrazilAmy Elsner PROPOSAL
Octavia J FerenczUnited KingdomXuxue Feng PROPOSAL
Stacey D CaldareraIndiaAnna Fali RENEWAL
Tony V FollerSpainOnyama Limba UNQUALIFIED
Morrow A KuskoSpainAsiya Javayant NEGOTIATION
Kaitlin B CaudyRussiaAsiya Javayant UNQUALIFIED
Antonio A KolmetzCanadaAsiya Javayant UNQUALIFIED
Sinclair G KuskoRussiaOnyama Limba QUALIFIED
Costa H SergiIndiaXuxue Feng PROPOSAL
Emily M PerinFranceIoni Bowcher QUALIFIED
Sinclair H WieserUnited KingdomIvan Magalhaes QUALIFIED
Costa S RimAustraliaIvan Magalhaes NEGOTIATION
Cody Z ButtBrazilAsiya Javayant NEW
Jefferson T DarakjyAustraliaAnna Fali NEGOTIATION
Silvio L RutaArgentinaAmy Elsner NEGOTIATION
Kadeem V CampainGermanyElwin Sharvill RENEWAL
Clifford I KolmetzAustraliaAsiya Javayant PROPOSAL
Kadeem V MarrierBrazilStephen Shaw PROPOSAL
Ashley J WaycottIndiaOnyama Limba UNQUALIFIED
Octavia G NickaItalyAmy Elsner QUALIFIED
Aruna F WaycottJapanAmy Elsner RENEWAL
Leon E FollerJapanAnna Fali NEGOTIATION
Maria T CaudyArgentinaStephen Shaw RENEWAL
Kaitlin Q WaycottArgentinaIoni Bowcher RENEWAL
Deepesh N WieserFranceBernardo Dominic PROPOSAL
James Z FlosiGermanyAmy Elsner NEGOTIATION
Francesco P StockhamGermanyStephen Shaw UNQUALIFIED
Clifford E IturbideJapanStephen Shaw QUALIFIED

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