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
Aditya Z ButtCanadaIvan Magalhaes UNQUALIFIED
Stacey O FerenczAustraliaOnyama Limba NEW
Faith D FigeroaArgentinaXuxue Feng RENEWAL
Misaki K GauchoCanadaOnyama Limba QUALIFIED
Darci N FerenczAustraliaOnyama Limba PROPOSAL
Silvio I FigeroaFranceStephen Shaw RENEWAL
Juan J NickaSpainIoni Bowcher RENEWAL
Jeanfrancois A PerinJapanOnyama Limba UNQUALIFIED
Juan T KuskoCanadaAmy Elsner NEW
Faith Y PaprockiItalyAnna Fali NEW
Johnson K StensethFranceAsiya Javayant RENEWAL
Clifford W OldroydArgentinaAsiya Javayant QUALIFIED
Ricardo Q SaylorsRussiaElwin Sharvill NEGOTIATION
David Y GillianJapanXuxue Feng NEGOTIATION
Greenwood U InouyeRussiaXuxue Feng UNQUALIFIED
Emily N RoysterIndiaAsiya Javayant UNQUALIFIED
Francesco F RulapaughFranceXuxue Feng UNQUALIFIED
Sinclair T DoeAustraliaBernardo Dominic UNQUALIFIED
Ivar F OstroskyRussiaBernardo Dominic UNQUALIFIED
Jennifer P MaletSpainStephen Shaw RENEWAL
Cody B RulapaughItalyAsiya Javayant QUALIFIED
Antonio U VenereItalyStephen Shaw NEW
Deepesh X MorascaJapanElwin Sharvill NEGOTIATION
Juan M SlusarskiFranceIvan Magalhaes RENEWAL
Izzy M TollnerRussiaElwin Sharvill UNQUALIFIED
Maisha W BriddickArgentinaStephen Shaw PROPOSAL
Munro P SaylorsSpainAmy Elsner NEGOTIATION
Jones G AlbaresAustraliaBernardo Dominic PROPOSAL
Nicolas K NestleFranceAmy Elsner RENEWAL
Jennifer M OldroydGermanyStephen Shaw UNQUALIFIED
Ashley F GauchoCanadaElwin Sharvill NEW
Deepesh H DilliardBrazilIoni Bowcher UNQUALIFIED
Murillo L KuskoRussiaAnna Fali RENEWAL
Aika D RoysterBrazilAmy Elsner NEW
Mujtaba L AmigonBrazilAmy Elsner RENEWAL
Jefferson I MaletSpainBernardo Dominic NEGOTIATION
Emily M RutaItalyXuxue Feng PROPOSAL
Wickens T SlusarskiArgentinaIoni Bowcher NEW
Sinclair U StockhamRussiaAnna Fali UNQUALIFIED
Chavez N IturbideSpainAsiya Javayant PROPOSAL
Aditya M VocelkaArgentinaIoni Bowcher QUALIFIED
Ashley F MorascaRussiaXuxue Feng RENEWAL
Silvio A IturbideGermanyElwin Sharvill NEGOTIATION
Antonio Z FerenczSpainStephen Shaw PROPOSAL
James D SlusarskiGermanyBernardo Dominic PROPOSAL
Sinclair K DarakjyFranceAnna Fali NEW
Kaitlin G RoysterFranceAmy Elsner UNQUALIFIED
Morrow K IturbideBrazilAmy Elsner PROPOSAL
Mujtaba G FerenczItalyStephen Shaw NEGOTIATION
Juan W DilliardIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba R GlickRussiaStephen Shaw NEW
Salvatore X BologniaRussiaAsiya Javayant RENEWAL
Leon I CaudyBrazilXuxue Feng PROPOSAL
Aruna Q CampainUnited KingdomBernardo Dominic RENEWAL
Maisha B IturbideRussiaBernardo Dominic UNQUALIFIED
Kaitlin J NestleCanadaBernardo Dominic NEGOTIATION
Smith A RimGermanyBernardo Dominic UNQUALIFIED
Stacey U RimIndiaBernardo Dominic RENEWAL
Costa T RulapaughSpainOnyama Limba RENEWAL
Maria V RimArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Z GillianItaly2024-06-02Morlong Associates UNQUALIFIED76Stephen Shaw
1001Chavez P WieserJapan2024-06-01Chanay, Jeffrey A Esq RENEWAL65Ivan Magalhaes
1002David R ButtFrance2024-06-16Morlong Associates NEW93Ivan Magalhaes
1003Juan A BologniaGermany2024-05-31Chapman, Ross E Esq NEW51Asiya Javayant
1004Deepesh B GillianFrance2024-05-30Buckley Miller Wright PROPOSAL37Ivan Magalhaes
1005Ashley B ButtGermany2024-06-03Printing Dimensions UNQUALIFIED11Onyama Limba
1006Kadeem D PerinFrance2024-05-25Buckley Miller Wright RENEWAL16Xuxue Feng
1007Mujtaba W MaletArgentina2024-06-01Commercial Press QUALIFIED70Onyama Limba
1008Emily F PerinCanada2024-06-16Chemel, James L Cpa NEGOTIATION79Ivan Magalhaes
1009Ivar Q SergiAustralia2024-06-22Chapman, Ross E Esq RENEWAL2Elwin Sharvill
1010Julie E PerinJapan2024-06-14Benton, John B Jr NEW33Anna Fali
1011Ricardo V PoquetteGermany2024-06-18Chemel, James L Cpa QUALIFIED12Xuxue Feng
1012Chavez I SlusarskiRussia2024-05-24Chapman, Ross E Esq NEGOTIATION12Asiya Javayant
1013Maisha A FerenczIndia2024-06-01Feltz Printing Service PROPOSAL93Elwin Sharvill
1014Isabel G MaletIndia2024-05-30Morlong Associates UNQUALIFIED50Ivan Magalhaes
1015Chavez V MarrierFrance2024-06-05King, Christopher A Esq NEW6Amy Elsner
1016Emily Z PerinRussia2024-05-30Dorl, James J Esq PROPOSAL89Ivan Magalhaes
1017Julie S PerinUnited Kingdom2024-06-20Rangoni Of Florence RENEWAL12Asiya Javayant
1018Costa Z KolmetzAustralia2024-06-01Commercial Press UNQUALIFIED10Onyama Limba
1019Aruna F TollnerItaly2024-05-27Chapman, Ross E Esq NEW25Ivan Magalhaes
1020Jefferson A AmigonFrance2024-06-17Commercial Press UNQUALIFIED94Elwin Sharvill
1021David P KolmetzBrazil2024-06-20Chemel, James L Cpa NEGOTIATION31Elwin Sharvill
1022Clifford O BriddickFrance2024-06-21Chanay, Jeffrey A Esq QUALIFIED30Bernardo Dominic
1023Clifford B BologniaGermany2024-05-25Feltz Printing Service NEW91Stephen Shaw
1024Nicolas D OstroskySpain2024-05-24Dorl, James J Esq NEW82Elwin Sharvill
1025David A DarakjyItaly2024-06-09Dorl, James J Esq NEW10Bernardo Dominic
1026Deepesh J GillianRussia2024-06-03King, Christopher A Esq QUALIFIED68Anna Fali
1027Mujtaba U FlosiRussia2024-05-28Morlong Associates RENEWAL20Onyama Limba
1028Smith D MaletCanada2024-06-22Chapman, Ross E Esq NEW78Anna Fali
1029Claire S ChuiIndia2024-06-10Rangoni Of Florence NEGOTIATION53Ivan Magalhaes
1030Leja G ChuiCanada2024-06-18Chapman, Ross E Esq NEGOTIATION26Ivan Magalhaes
1031Stacey E CaldareraItaly2024-06-07Truhlar And Truhlar Attys UNQUALIFIED50Bernardo Dominic
1032Adams L StockhamGermany2024-06-06King, Christopher A Esq QUALIFIED24Xuxue Feng
1033Claire B CampainFrance2024-06-16Morlong Associates UNQUALIFIED73Ioni Bowcher
1034Wickens S WaycottIndia2024-05-26Feiner Bros NEGOTIATION33Stephen Shaw
1035Stacey O BriddickFrance2024-06-04King, Christopher A Esq RENEWAL85Stephen Shaw
1036Murillo V StensethIndia2024-06-04Feltz Printing Service UNQUALIFIED41Asiya Javayant
1037Maisha I MorascaArgentina2024-05-24Buckley Miller Wright NEGOTIATION42Bernardo Dominic
1038Alejandro S VocelkaCanada2024-06-12Chemel, James L Cpa RENEWAL41Ivan Magalhaes
1039Chavez G KolmetzSpain2024-05-28Rousseaux, Michael Esq UNQUALIFIED50Elwin Sharvill
1040Jeanfrancois V RulapaughSpain2024-06-20Benton, John B Jr QUALIFIED14Elwin Sharvill
1041Wickens T DarakjyItaly2024-05-24Commercial Press QUALIFIED54Elwin Sharvill
1042Antonio A ShinkoGermany2024-05-30Chapman, Ross E Esq NEGOTIATION36Ioni Bowcher
1043Aditya Y SlusarskiSpain2024-06-05Morlong Associates UNQUALIFIED96Ivan Magalhaes
1044James Y SchemmerUnited Kingdom2024-05-25King, Christopher A Esq UNQUALIFIED9Amy Elsner
1045Emily Z FigeroaRussia2024-05-25Feltz Printing Service RENEWAL22Elwin Sharvill
1046Ashley M FollerFrance2024-06-20Dorl, James J Esq PROPOSAL69Amy Elsner
1047Octavia H MaletCanada2024-06-06Chemel, James L Cpa RENEWAL62Onyama Limba
1048Faith T InouyeRussia2024-05-27Chemel, James L Cpa UNQUALIFIED12Ioni Bowcher
1049Octavia O OldroydSpain2024-05-29King, Christopher A Esq PROPOSAL71Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy C FollerIndiaBernardo Dominic NEGOTIATION
Ivar V VocelkaIndiaAmy Elsner QUALIFIED
Chavez K BriddickAustraliaAsiya Javayant QUALIFIED
Faith Q PoquetteArgentinaElwin Sharvill UNQUALIFIED
Murillo A BowleyItalyAsiya Javayant UNQUALIFIED
Jones P GillianItalyIoni Bowcher NEGOTIATION
Faith J SergiJapanXuxue Feng RENEWAL
Antonio K AlbaresAustraliaXuxue Feng QUALIFIED
Costa I PerinItalyStephen Shaw RENEWAL
Darci B MaletRussiaAnna Fali NEGOTIATION
Arvin Q GlickGermanyXuxue Feng QUALIFIED
Kadeem A CaudyFranceIoni Bowcher RENEWAL
Jeanfrancois Q PoquetteFranceBernardo Dominic NEW
Stacey B BriddickArgentinaStephen Shaw RENEWAL
Jennifer X MarrierUnited KingdomBernardo Dominic NEW
Maisha F TollnerUnited KingdomXuxue Feng NEW
Ivar F CaldareraCanadaIvan Magalhaes PROPOSAL
Faith M CaldareraBrazilAnna Fali QUALIFIED
Kaitlin U RutaBrazilStephen Shaw UNQUALIFIED
Julie U FlosiGermanyXuxue Feng NEW
Morrow F MaletIndiaAmy Elsner NEGOTIATION
Chavez N WhobreyIndiaElwin Sharvill QUALIFIED
Salvatore Y NickaUnited KingdomAsiya Javayant RENEWAL
Aruna X KuskoSpainIoni Bowcher NEGOTIATION
Wickens F ButtArgentinaAnna Fali NEGOTIATION
Aika G VenereAustraliaAmy Elsner NEW
Costa D MaletBrazilIvan Magalhaes NEW
Mujtaba M DilliardArgentinaIvan Magalhaes NEGOTIATION
Mayumi R GillianRussiaIoni Bowcher PROPOSAL
Nicolas Q MorascaGermanyAmy Elsner PROPOSAL
James G CaldareraItalyAmy Elsner NEGOTIATION
Morrow B BriddickFranceAsiya Javayant NEGOTIATION
Nicolas C ButtBrazilOnyama Limba UNQUALIFIED
Wickens F SaylorsUnited KingdomIoni Bowcher RENEWAL
Tony S GauchoItalyXuxue Feng QUALIFIED
Maisha T GarufiSpainAsiya Javayant PROPOSAL
David I WaycottRussiaIvan Magalhaes RENEWAL
Smith K GauchoItalyAmy Elsner NEW
Clifford A StensethArgentinaAmy Elsner PROPOSAL
Ashley F RutaItalyAmy Elsner NEW
Leja M WieserCanadaXuxue Feng QUALIFIED
Aruna N ButtGermanyElwin Sharvill UNQUALIFIED
Aditya O MarrierJapanStephen Shaw NEGOTIATION
Mayumi P PerinCanadaXuxue Feng UNQUALIFIED
Jeanfrancois G OstroskyGermanyIoni Bowcher PROPOSAL
Octavia P NestleCanadaBernardo Dominic RENEWAL
Cody X WhobreyAustraliaElwin Sharvill UNQUALIFIED
Clifford W BowleyFranceOnyama Limba NEGOTIATION
Greenwood N AlbaresSpainAmy Elsner RENEWAL
Adams X WieserItalyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Silvio K Sergi
Mujtaba I Ostrosky
Jeanfrancois L Stockham
Mujtaba V Gaucho
Jefferson Z Iturbide
Maisha X Vocelka
Misaki N Darakjy
Cody O Shinko
Isabel N Kolmetz
Kaitlin T Doe
Salvatore R Darakjy
Kadeem C Flosi
Faith Z Shinko
Smith Q Iturbide
Mayumi W Slusarski
Isabel V Doe
Emily R Marrier
Salvatore Z Malet
Izzy L Wieser
Julie C Amigon
Leja Q Flosi
Aika N Morasca
Stacey Q Doe
Darci W Nicka
Izzy R Foller
Deepesh K Foller
James B Butt
Ricardo L Bowley
Rodrigues X Stockham
Jones Y Kusko
Antonio P Poquette
Wickens C Bolognia
Emily F Caudy
Alejandro V Gillian
Chavez H Malet
Aika J Nicka
Silvio A Figeroa
Kaitlin P Glick
Faith W Shinko
Jeanfrancois G Nicka
Kaitlin D Nicka
Arvin P Venere
Deepesh J Inouye
Arvin X Oldroyd
David U Waycott
Ricardo T Malet
Francesco Z Caldarera
Jefferson D Waycott
Tony T Oldroyd
Chavez O Gaucho
IdCountryDate
1000Spain2024-05-28
1001Brazil2024-06-04
1002Argentina2024-06-13
1003Russia2024-05-26
1004United Kingdom2024-06-06
1005Australia2024-06-05
1006Brazil2024-06-12
1007Japan2024-06-03
1008Russia2024-05-25
1009Germany2024-06-18
1010Argentina2024-05-27
1011Argentina2024-06-20
1012Brazil2024-05-25
1013Italy2024-06-11
1014United Kingdom2024-06-17
1015France2024-06-18
1016Australia2024-06-03
1017Japan2024-05-30
1018Spain2024-06-07
1019United Kingdom2024-06-05
1020Argentina2024-06-13
1021Italy2024-05-25
1022Germany2024-05-29
1023France2024-06-14
1024Argentina2024-05-26
1025Argentina2024-05-25
1026Italy2024-06-03
1027India2024-06-07
1028Italy2024-05-31
1029France2024-06-16
1030Argentina2024-06-22
1031India2024-05-27
1032Spain2024-06-03
1033Australia2024-06-18
1034Australia2024-06-19
1035Argentina2024-06-09
1036France2024-06-18
1037Spain2024-05-31
1038Italy2024-05-27
1039Canada2024-06-07
1040Argentina2024-05-30
1041Brazil2024-05-27
1042Australia2024-06-03
1043Japan2024-05-30
1044Italy2024-06-22
1045France2024-06-09
1046Australia2024-06-03
1047Spain2024-05-28
1048Japan2024-06-19
1049Japan2024-05-24

On-Demand Data

NameIdCountryDate
Ricardo J Tollner1000France2024-05-24
Aika D Darakjy1001Germany2024-05-26
Wickens Q Stenseth1002Italy2024-06-15
Johnson G Royster1003Japan2024-05-25
Leon V Caldarera1004Spain2024-06-04
Alejandro H Figeroa1005United Kingdom2024-06-10
Aruna Z Perin1006United Kingdom2024-05-26
Jeanfrancois J Butt1007Spain2024-06-08
Maisha B Malet1008Russia2024-06-19
Murillo O Wieser1009France2024-06-04
Jefferson Z Kusko1010Spain2024-05-28
Maisha U Rim1011Russia2024-06-05
Murillo A Malet1012Italy2024-05-28
Aika I Iturbide1013Australia2024-05-26
Julie I Bowley1014France2024-06-05
Ashley Q Royster1015Spain2024-06-15
Kadeem B Oldroyd1016United Kingdom2024-06-03
Aruna J Perin1017India2024-06-06
James Q Kolmetz1018France2024-06-06
Leon V Glick1019Spain2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow Q StensethArgentinaAmy Elsner UNQUALIFIED
Octavia H SaylorsJapanBernardo Dominic QUALIFIED
Ivar U MaletFranceElwin Sharvill RENEWAL
Francesco G AlbaresBrazilStephen Shaw NEGOTIATION
Wickens B CampainAustraliaStephen Shaw RENEWAL
Sinclair V BriddickIndiaBernardo Dominic PROPOSAL
Ashley I KolmetzIndiaElwin Sharvill PROPOSAL
Sinclair S MaletBrazilAmy Elsner RENEWAL
Chavez R TollnerCanadaBernardo Dominic NEW
Chavez I StensethAustraliaElwin Sharvill NEGOTIATION
Misaki G AmigonGermanyIoni Bowcher PROPOSAL
David J RimArgentinaAnna Fali PROPOSAL
Nicolas H KolmetzItalyXuxue Feng PROPOSAL
Maisha W ShinkoArgentinaStephen Shaw PROPOSAL
Aditya L BologniaBrazilStephen Shaw QUALIFIED
Julie W MarrierCanadaBernardo Dominic PROPOSAL
Jennifer K ButtIndiaAnna Fali UNQUALIFIED
Stacey W PerinUnited KingdomBernardo Dominic PROPOSAL
Arvin N DoeCanadaIvan Magalhaes UNQUALIFIED
Costa K PerinIndiaBernardo Dominic PROPOSAL
Jones K AlbaresBrazilIvan Magalhaes NEW
Salvatore U FigeroaBrazilStephen Shaw NEGOTIATION
Julie Q AmigonUnited KingdomAnna Fali NEGOTIATION
Ivar J BowleyRussiaXuxue Feng PROPOSAL
Jeanfrancois B VenereCanadaOnyama Limba NEGOTIATION
Misaki H PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Kadeem X CaudyGermanyAnna Fali UNQUALIFIED
Murillo U RimAustraliaIvan Magalhaes PROPOSAL
Greenwood M WhobreyRussiaStephen Shaw RENEWAL
Ivar U RimSpainBernardo Dominic NEW
Costa H StensethArgentinaAmy Elsner NEGOTIATION
Cody Q StensethJapanIoni Bowcher UNQUALIFIED
Aditya P IturbideJapanAsiya Javayant NEGOTIATION
Murillo O DilliardRussiaIvan Magalhaes NEW
Izzy U VenereRussiaXuxue Feng UNQUALIFIED
Arvin T PaprockiJapanElwin Sharvill RENEWAL
Misaki Q NickaJapanAnna Fali RENEWAL
Aditya D BologniaAustraliaIvan Magalhaes NEGOTIATION
Kadeem K WieserRussiaIvan Magalhaes PROPOSAL
Jeanfrancois V DilliardArgentinaElwin 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>