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
Jones L RimGermanyXuxue Feng QUALIFIED
David G FlosiIndiaXuxue Feng NEW
Maisha E MaletSpainStephen Shaw NEGOTIATION
Jeanfrancois D SlusarskiRussiaAsiya Javayant NEW
Sinclair W WieserAustraliaAsiya Javayant UNQUALIFIED
David I RulapaughCanadaAmy Elsner RENEWAL
Morrow H NestleUnited KingdomXuxue Feng QUALIFIED
Wickens E InouyeArgentinaIvan Magalhaes QUALIFIED
Arvin F ChuiRussiaIoni Bowcher UNQUALIFIED
Mujtaba U GauchoGermanyAmy Elsner UNQUALIFIED
Adams G OstroskyCanadaAmy Elsner QUALIFIED
Isabel F KolmetzRussiaStephen Shaw PROPOSAL
Leja R StockhamSpainAnna Fali NEGOTIATION
Octavia N SchemmerJapanBernardo Dominic QUALIFIED
Arvin H PerinBrazilAmy Elsner PROPOSAL
Izzy H RulapaughBrazilAmy Elsner NEGOTIATION
Silvio T RoysterSpainAnna Fali UNQUALIFIED
Mujtaba G SaylorsGermanyOnyama Limba RENEWAL
Leja U ChuiUnited KingdomAsiya Javayant NEW
Juan H GillianSpainBernardo Dominic NEW
Ivar D PaprockiJapanIvan Magalhaes QUALIFIED
Deepesh C OldroydBrazilIoni Bowcher PROPOSAL
Antonio T ChuiUnited KingdomAmy Elsner UNQUALIFIED
Greenwood U VenereFranceXuxue Feng NEW
Aruna A PoquetteCanadaStephen Shaw PROPOSAL
Ashley Y RimIndiaBernardo Dominic NEW
Cody I GarufiArgentinaAmy Elsner QUALIFIED
Murillo W FigeroaIndiaIoni Bowcher NEW
Aika R RulapaughItalyStephen Shaw NEGOTIATION
James L SaylorsUnited KingdomOnyama Limba RENEWAL
Sinclair K MaletCanadaXuxue Feng UNQUALIFIED
Jefferson I AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Nicolas C BriddickUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois I CampainIndiaStephen Shaw PROPOSAL
Maisha W MaletGermanyStephen Shaw RENEWAL
Leja F DoeBrazilOnyama Limba RENEWAL
Johnson O WhobreyBrazilXuxue Feng PROPOSAL
Jeanfrancois V RimFranceXuxue Feng UNQUALIFIED
Smith L OstroskyFranceIvan Magalhaes NEGOTIATION
Munro P ButtGermanyIvan Magalhaes NEGOTIATION
Salvatore F CampainRussiaXuxue Feng NEGOTIATION
Sinclair K KolmetzIndiaBernardo Dominic UNQUALIFIED
Francesco K BowleyFranceElwin Sharvill RENEWAL
Munro X CampainAustraliaIvan Magalhaes UNQUALIFIED
Izzy B PerinSpainBernardo Dominic NEW
Maria X TollnerUnited KingdomBernardo Dominic NEW
Greenwood A IturbideRussiaIvan Magalhaes QUALIFIED
Costa X SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo N ShinkoUnited KingdomAnna Fali PROPOSAL
Costa H ButtIndiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel T CampainJapanIoni Bowcher NEW
Johnson H DarakjyJapanIoni Bowcher PROPOSAL
David F PoquetteGermanyIvan Magalhaes NEW
Sinclair V DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Aika Q MaletCanadaAsiya Javayant QUALIFIED
Morrow C BriddickFranceAsiya Javayant QUALIFIED
Smith I BowleyRussiaXuxue Feng NEGOTIATION
David K WieserFranceIvan Magalhaes NEW
Cody I OldroydItalyStephen Shaw NEGOTIATION
Rodrigues J FigeroaJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo R CampainIndia2024-06-10King, Christopher A Esq QUALIFIED83Stephen Shaw
1001Leon E NickaArgentina2024-06-08Benton, John B Jr QUALIFIED79Bernardo Dominic
1002Smith Q AmigonJapan2024-05-26Rangoni Of Florence QUALIFIED10Onyama Limba
1003Clifford J RutaBrazil2024-06-02Chemel, James L Cpa UNQUALIFIED10Xuxue Feng
1004Sinclair S CaudyArgentina2024-05-24King, Christopher A Esq NEGOTIATION36Asiya Javayant
1005Salvatore V SaylorsRussia2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED39Xuxue Feng
1006Silvio S KuskoIndia2024-05-29Feiner Bros NEGOTIATION66Anna Fali
1007Jeanfrancois P CaudySpain2024-05-27Morlong Associates NEGOTIATION41Stephen Shaw
1008Wickens S BriddickGermany2024-06-14Chapman, Ross E Esq QUALIFIED51Asiya Javayant
1009Maria Y FlosiGermany2024-05-31Chapman, Ross E Esq PROPOSAL99Ivan Magalhaes
1010Mayumi O ChuiBrazil2024-05-28Dorl, James J Esq NEGOTIATION78Stephen Shaw
1011Kaitlin B MaletFrance2024-06-07Benton, John B Jr UNQUALIFIED18Elwin Sharvill
1012Arvin P MarrierArgentina2024-05-26Chapman, Ross E Esq NEW28Ioni Bowcher
1013Aika S CampainSpain2024-05-31Chemel, James L Cpa RENEWAL11Elwin Sharvill
1014Misaki M OldroydBrazil2024-05-31Printing Dimensions QUALIFIED72Ioni Bowcher
1015Costa Q CaldareraItaly2024-06-20Rousseaux, Michael Esq PROPOSAL56Ioni Bowcher
1016Smith C ChuiFrance2024-06-05Commercial Press PROPOSAL17Bernardo Dominic
1017Wickens H FollerFrance2024-06-14Chemel, James L Cpa PROPOSAL10Onyama Limba
1018Jones E VocelkaCanada2024-05-29Printing Dimensions UNQUALIFIED75Ioni Bowcher
1019Juan B SaylorsSpain2024-05-29Truhlar And Truhlar Attys NEW9Onyama Limba
1020Maria O GauchoRussia2024-05-28Chanay, Jeffrey A Esq PROPOSAL2Asiya Javayant
1021Alejandro O ButtAustralia2024-06-03Feltz Printing Service PROPOSAL99Xuxue Feng
1022Ashley G GauchoGermany2024-06-01Feiner Bros NEGOTIATION39Asiya Javayant
1023Leja Z StensethUnited Kingdom2024-06-13King, Christopher A Esq QUALIFIED16Bernardo Dominic
1024Nicolas L NestleArgentina2024-06-20Dorl, James J Esq UNQUALIFIED70Anna Fali
1025Johnson D KuskoSpain2024-06-06Chanay, Jeffrey A Esq RENEWAL26Asiya Javayant
1026Octavia X InouyeAustralia2024-06-02Chemel, James L Cpa UNQUALIFIED25Anna Fali
1027Maria E RulapaughJapan2024-05-28Rangoni Of Florence NEGOTIATION38Ivan Magalhaes
1028Faith J ButtArgentina2024-06-10Buckley Miller Wright QUALIFIED7Elwin Sharvill
1029Jefferson G FerenczFrance2024-06-14Morlong Associates RENEWAL29Stephen Shaw
1030Sinclair X NickaRussia2024-06-10Buckley Miller Wright UNQUALIFIED16Onyama Limba
1031Emily W RoysterAustralia2024-06-21Rangoni Of Florence PROPOSAL47Ioni Bowcher
1032Mujtaba O FigeroaArgentina2024-05-29Rangoni Of Florence RENEWAL36Anna Fali
1033Smith M DarakjyAustralia2024-06-02Dorl, James J Esq NEW10Amy Elsner
1034Claire Z WaycottArgentina2024-05-23Chapman, Ross E Esq NEW2Amy Elsner
1035Isabel L FerenczArgentina2024-05-28Buckley Miller Wright PROPOSAL62Onyama Limba
1036Maisha E GillianCanada2024-06-10Buckley Miller Wright PROPOSAL18Amy Elsner
1037Chavez S SchemmerJapan2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED78Amy Elsner
1038Darci L OstroskySpain2024-06-07Chapman, Ross E Esq UNQUALIFIED47Stephen Shaw
1039Kadeem X NestleBrazil2024-06-19Feiner Bros RENEWAL1Anna Fali
1040Leon G BowleySpain2024-06-15Rangoni Of Florence QUALIFIED34Onyama Limba
1041Emily M DarakjyIndia2024-06-06King, Christopher A Esq QUALIFIED74Asiya Javayant
1042Aditya T OldroydAustralia2024-05-28Printing Dimensions UNQUALIFIED49Onyama Limba
1043Leja J MaletFrance2024-06-08Chapman, Ross E Esq NEGOTIATION17Elwin Sharvill
1044Jennifer Q DoeArgentina2024-06-19Commercial Press QUALIFIED46Ivan Magalhaes
1045Arvin D MaletBrazil2024-06-17Feiner Bros RENEWAL57Xuxue Feng
1046Silvio O DarakjyIndia2024-06-15Chapman, Ross E Esq RENEWAL34Bernardo Dominic
1047Deepesh M KolmetzBrazil2024-06-18Chemel, James L Cpa NEGOTIATION15Bernardo Dominic
1048Adams Q NestleBrazil2024-05-30Dorl, James J Esq NEW36Stephen Shaw
1049Adams K BriddickJapan2024-06-09Printing Dimensions RENEWAL24Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel H ButtArgentinaAnna Fali NEW
Julie C SaylorsItalyIvan Magalhaes UNQUALIFIED
Leon K StensethSpainElwin Sharvill PROPOSAL
Tony E ButtRussiaAnna Fali UNQUALIFIED
Isabel U MaletBrazilStephen Shaw NEGOTIATION
Octavia M SaylorsArgentinaIoni Bowcher PROPOSAL
Darci Y RimItalyElwin Sharvill UNQUALIFIED
Mujtaba A AmigonBrazilStephen Shaw RENEWAL
Smith N AmigonAustraliaAnna Fali NEW
Kadeem W StensethIndiaOnyama Limba UNQUALIFIED
Ashley Y BologniaFranceAsiya Javayant QUALIFIED
Ivar Q KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Morrow S AmigonAustraliaXuxue Feng NEGOTIATION
Claire L SlusarskiFranceBernardo Dominic RENEWAL
Arvin E AlbaresUnited KingdomOnyama Limba NEW
Maisha V IturbideIndiaAnna Fali NEGOTIATION
Leon O AlbaresFranceIvan Magalhaes RENEWAL
Octavia C BologniaUnited KingdomIvan Magalhaes PROPOSAL
David N SergiJapanStephen Shaw QUALIFIED
Johnson I TollnerCanadaAnna Fali NEW
Mujtaba U BowleyGermanyElwin Sharvill NEW
Kaitlin X SchemmerJapanAmy Elsner NEGOTIATION
Nicolas T StensethFranceElwin Sharvill RENEWAL
Jennifer V FlosiAustraliaOnyama Limba RENEWAL
Jennifer W GlickArgentinaXuxue Feng UNQUALIFIED
Arvin G FigeroaItalyXuxue Feng RENEWAL
Maisha P SaylorsItalyStephen Shaw UNQUALIFIED
Wickens Y NickaGermanyStephen Shaw RENEWAL
Juan Z StensethSpainIvan Magalhaes RENEWAL
Jones P MacleadJapanBernardo Dominic QUALIFIED
Ashley I RimJapanBernardo Dominic UNQUALIFIED
Aruna V NickaArgentinaOnyama Limba RENEWAL
Francesco Q NickaFranceElwin Sharvill QUALIFIED
James Z SchemmerUnited KingdomOnyama Limba RENEWAL
Greenwood J TollnerGermanyAnna Fali UNQUALIFIED
Deepesh G DoeGermanyAnna Fali NEW
Aruna Y DoeItalyAnna Fali UNQUALIFIED
Leja A RutaAustraliaAsiya Javayant NEGOTIATION
Rodrigues L NickaArgentinaStephen Shaw RENEWAL
Misaki U DilliardJapanIvan Magalhaes RENEWAL
Jeanfrancois V KuskoJapanIoni Bowcher PROPOSAL
Aditya J NickaIndiaIoni Bowcher PROPOSAL
Ricardo K VocelkaSpainAsiya Javayant UNQUALIFIED
Silvio E OstroskyUnited KingdomStephen Shaw UNQUALIFIED
David S SergiItalyStephen Shaw PROPOSAL
Ashley H FerenczGermanyIoni Bowcher UNQUALIFIED
Claire Y CaudyRussiaAnna Fali NEGOTIATION
Izzy V WieserRussiaAnna Fali NEW
Aruna J MaletArgentinaIvan Magalhaes UNQUALIFIED
Clifford V RoysterItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Silvio I Waycott
Deepesh Z Caudy
Jennifer T Slusarski
Aditya T Caudy
Faith P Gaucho
Ivar E Rulapaugh
Maisha S Shinko
Jones I Perin
Aruna X Butt
Arvin V Inouye
Emily A Stockham
Jones K Ostrosky
Sinclair W Stockham
Tony J Figeroa
Aditya V Campain
David E Slusarski
Mujtaba H Ferencz
Kaitlin J Darakjy
Ashley B Nicka
Cody W Poquette
Salvatore Y Ostrosky
David K Venere
Leon K Saylors
Antonio R Oldroyd
Murillo Y Albares
Jeanfrancois J Caudy
Rodrigues Q Foller
Clifford U Gaucho
Mayumi S Chui
Kadeem R Sergi
Cody I Ruta
Jefferson C Inouye
Mayumi C Royster
Julie M Perin
Jefferson O Kusko
Ricardo D Rulapaugh
Aditya B Sergi
Clifford X Nicka
Sinclair D Doe
Silvio B Flosi
Julie I Darakjy
Adams I Venere
Francesco W Figeroa
Greenwood Z Tollner
Rodrigues K Foller
Mayumi C Figeroa
Juan P Tollner
Darci N Venere
Mujtaba K Rulapaugh
Isabel S Gillian
IdCountryDate
1000Argentina2024-06-09
1001Canada2024-05-26
1002Russia2024-06-14
1003Canada2024-05-29
1004Italy2024-06-17
1005Australia2024-06-16
1006Australia2024-05-23
1007United Kingdom2024-06-03
1008Russia2024-06-19
1009Argentina2024-05-30
1010Italy2024-06-21
1011Japan2024-06-12
1012Spain2024-06-03
1013United Kingdom2024-06-02
1014Australia2024-06-17
1015Canada2024-06-01
1016Japan2024-06-07
1017Spain2024-06-11
1018Brazil2024-06-21
1019Italy2024-06-08
1020Japan2024-05-28
1021Canada2024-06-20
1022Argentina2024-05-28
1023Brazil2024-06-10
1024France2024-06-13
1025Argentina2024-06-05
1026Italy2024-06-07
1027Japan2024-06-06
1028France2024-06-20
1029Argentina2024-06-16
1030United Kingdom2024-06-09
1031Italy2024-05-30
1032Argentina2024-05-28
1033United Kingdom2024-05-24
1034Japan2024-06-16
1035Germany2024-06-01
1036Canada2024-06-02
1037Argentina2024-06-06
1038Germany2024-06-18
1039Brazil2024-06-10
1040Germany2024-06-18
1041Canada2024-06-18
1042Brazil2024-06-16
1043United Kingdom2024-05-27
1044Spain2024-06-06
1045Brazil2024-05-31
1046Canada2024-06-12
1047France2024-05-29
1048Italy2024-06-03
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Maria M Poquette1000Brazil2024-05-23
Juan P Perin1001United Kingdom2024-06-15
Morrow E Briddick1002Italy2024-05-29
Tony X Bolognia1003India2024-05-26
Cody Q Ruta1004Italy2024-05-24
Murillo I Rulapaugh1005Germany2024-05-26
Aika J Glick1006France2024-06-13
Arvin M Ruta1007Canada2024-05-31
Julie F Campain1008Canada2024-06-14
Jefferson W Slusarski1009Germany2024-06-08
Nicolas M Ostrosky1010Spain2024-06-18
Adams I Nestle1011Canada2024-05-23
Izzy U Flosi1012India2024-06-05
Cody Q Bowley1013Spain2024-05-29
Leon E Shinko1014France2024-06-02
Julie Z Malet1015Canada2024-06-05
Greenwood R Amigon1016United Kingdom2024-06-08
Claire P Briddick1017Canada2024-06-05
Aika S Malet1018Brazil2024-06-10
Johnson Z Morasca1019Japan2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson F StensethFranceAmy Elsner NEW
Isabel L CaudyIndiaOnyama Limba NEW
Mujtaba W DarakjySpainAnna Fali RENEWAL
Morrow M RoysterUnited KingdomBernardo Dominic QUALIFIED
Chavez C DoeIndiaElwin Sharvill NEGOTIATION
Jennifer B KuskoCanadaIoni Bowcher UNQUALIFIED
Izzy S BriddickItalyOnyama Limba QUALIFIED
Munro S StockhamGermanyAnna Fali NEW
Ricardo S MaletArgentinaOnyama Limba RENEWAL
Stacey M SaylorsFranceOnyama Limba QUALIFIED
Ashley J SaylorsFranceAmy Elsner NEW
Nicolas D NickaSpainStephen Shaw NEGOTIATION
Maisha I KuskoFranceStephen Shaw UNQUALIFIED
Aika D DilliardAustraliaAnna Fali PROPOSAL
Wickens C OldroydAustraliaOnyama Limba NEGOTIATION
Leon O BriddickUnited KingdomXuxue Feng NEW
Kadeem U GarufiAustraliaXuxue Feng NEW
Mayumi C FlosiBrazilElwin Sharvill RENEWAL
Nicolas Q FollerJapanIoni Bowcher QUALIFIED
Octavia U FollerUnited KingdomStephen Shaw NEW
Juan U MaletGermanyXuxue Feng RENEWAL
Johnson J CaldareraJapanOnyama Limba QUALIFIED
Jefferson A MorascaCanadaStephen Shaw NEW
Julie H StensethGermanyOnyama Limba NEW
Faith E WieserAustraliaAmy Elsner RENEWAL
Costa J NestleUnited KingdomAsiya Javayant PROPOSAL
Octavia O GillianAustraliaIoni Bowcher QUALIFIED
Deepesh X BologniaSpainIoni Bowcher RENEWAL
Silvio E CampainJapanIoni Bowcher RENEWAL
David G ButtJapanAmy Elsner NEGOTIATION
James P AlbaresCanadaXuxue Feng PROPOSAL
Morrow T NickaRussiaOnyama Limba NEGOTIATION
Darci C FlosiBrazilIvan Magalhaes NEGOTIATION
Nicolas D NestleItalyStephen Shaw UNQUALIFIED
Mujtaba N CampainJapanElwin Sharvill NEW
Sinclair D KolmetzIndiaElwin Sharvill NEGOTIATION
Aruna S MarrierRussiaXuxue Feng QUALIFIED
Emily N DarakjyArgentinaBernardo Dominic NEGOTIATION
Arvin M CampainItalyXuxue Feng PROPOSAL
Jefferson K FlosiFranceIvan Magalhaes 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>