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
Leja X PoquetteArgentinaAmy Elsner UNQUALIFIED
Isabel R RulapaughJapanAnna Fali PROPOSAL
Isabel W ChuiCanadaIvan Magalhaes QUALIFIED
Maisha T RoysterUnited KingdomOnyama Limba RENEWAL
Misaki T VocelkaJapanAnna Fali QUALIFIED
Francesco F AmigonSpainOnyama Limba PROPOSAL
Salvatore N CaudyCanadaElwin Sharvill PROPOSAL
Jefferson C TollnerGermanyIoni Bowcher NEGOTIATION
Ricardo L OstroskyArgentinaIoni Bowcher NEGOTIATION
Smith S AlbaresArgentinaAnna Fali UNQUALIFIED
Kadeem U WhobreyArgentinaAnna Fali NEGOTIATION
Isabel X KolmetzItalyStephen Shaw UNQUALIFIED
Greenwood I SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Chavez N BriddickItalyBernardo Dominic NEW
Aruna C WaycottSpainBernardo Dominic NEGOTIATION
Costa J MarrierArgentinaElwin Sharvill RENEWAL
David Z BriddickItalyStephen Shaw RENEWAL
David O KolmetzUnited KingdomAsiya Javayant NEW
Isabel O GlickRussiaIoni Bowcher RENEWAL
Leon I NestleJapanElwin Sharvill QUALIFIED
Aditya L CampainFranceAsiya Javayant UNQUALIFIED
Johnson R CaudyFranceBernardo Dominic UNQUALIFIED
Morrow D StensethArgentinaAsiya Javayant RENEWAL
Salvatore O VocelkaUnited KingdomAnna Fali UNQUALIFIED
Murillo Y ChuiFranceXuxue Feng PROPOSAL
Morrow X WieserUnited KingdomXuxue Feng RENEWAL
Darci Z ShinkoJapanXuxue Feng NEW
Kadeem C NickaFranceIvan Magalhaes NEW
Francesco P GauchoCanadaIvan Magalhaes NEGOTIATION
Emily U NickaCanadaXuxue Feng NEGOTIATION
Faith N SchemmerRussiaOnyama Limba NEGOTIATION
Claire Z MarrierArgentinaIoni Bowcher NEW
Ivar T VenereIndiaAmy Elsner NEGOTIATION
Costa A TollnerAustraliaXuxue Feng UNQUALIFIED
Leja Q FigeroaCanadaStephen Shaw RENEWAL
Misaki S PaprockiArgentinaAnna Fali QUALIFIED
Leja L RoysterSpainElwin Sharvill UNQUALIFIED
Munro S DilliardRussiaAnna Fali RENEWAL
Ivar B FlosiItalyBernardo Dominic RENEWAL
Tony T GlickIndiaElwin Sharvill RENEWAL
Alejandro V FigeroaFranceStephen Shaw RENEWAL
Silvio A MorascaCanadaAnna Fali RENEWAL
Jones Y ShinkoSpainIoni Bowcher QUALIFIED
Izzy T SaylorsCanadaAnna Fali RENEWAL
Adams X VenereAustraliaAmy Elsner NEW
Arvin X StensethIndiaIvan Magalhaes QUALIFIED
Faith E KuskoGermanyAnna Fali NEW
Wickens N OldroydFranceAnna Fali NEW
Munro S GarufiCanadaOnyama Limba QUALIFIED
Faith B SlusarskiBrazilAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo Y VenereArgentinaOnyama Limba NEGOTIATION
Emily D InouyeCanadaStephen Shaw NEGOTIATION
Juan W OstroskySpainStephen Shaw NEGOTIATION
Jennifer X SchemmerRussiaXuxue Feng RENEWAL
Jeanfrancois N SergiItalyIvan Magalhaes NEGOTIATION
Jefferson I PaprockiAustraliaAsiya Javayant NEW
Aika B KuskoItalyOnyama Limba QUALIFIED
David C RutaItalyAnna Fali QUALIFIED
Murillo X NickaGermanyAnna Fali PROPOSAL
Kaitlin Z DarakjyIndiaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley J IturbideSpain2024-05-21King, Christopher A Esq PROPOSAL56Anna Fali
1001Ashley E MaletFrance2024-05-25Rousseaux, Michael Esq RENEWAL98Asiya Javayant
1002Izzy I FigeroaIndia2024-05-23Feiner Bros UNQUALIFIED5Xuxue Feng
1003Darci Q FollerJapan2024-05-22Printing Dimensions PROPOSAL13Stephen Shaw
1004Johnson E KuskoItaly2024-06-09Chemel, James L Cpa UNQUALIFIED89Onyama Limba
1005James W DoeSpain2024-06-14Commercial Press QUALIFIED97Elwin Sharvill
1006Isabel T NickaJapan2024-05-24Rangoni Of Florence UNQUALIFIED1Asiya Javayant
1007Costa I SaylorsSpain2024-06-01Commercial Press PROPOSAL52Ioni Bowcher
1008Stacey A NickaArgentina2024-06-02Chemel, James L Cpa NEGOTIATION70Anna Fali
1009Clifford H GlickGermany2024-06-07King, Christopher A Esq NEGOTIATION86Elwin Sharvill
1010Julie C AlbaresBrazil2024-06-11Chanay, Jeffrey A Esq RENEWAL46Stephen Shaw
1011Smith K InouyeRussia2024-06-08Rangoni Of Florence UNQUALIFIED3Stephen Shaw
1012Aditya O KuskoArgentina2024-05-29Dorl, James J Esq RENEWAL4Stephen Shaw
1013Silvio G BologniaArgentina2024-05-30Printing Dimensions QUALIFIED69Ioni Bowcher
1014Aika G VocelkaUnited Kingdom2024-06-10Chapman, Ross E Esq RENEWAL77Bernardo Dominic
1015Smith R PaprockiSpain2024-05-27Chemel, James L Cpa PROPOSAL60Ivan Magalhaes
1016Stacey B AlbaresItaly2024-06-06Morlong Associates NEGOTIATION13Ivan Magalhaes
1017Kaitlin L PoquetteJapan2024-06-02Feltz Printing Service RENEWAL97Elwin Sharvill
1018Leon M RoysterItaly2024-05-27Benton, John B Jr QUALIFIED99Bernardo Dominic
1019Emily W RulapaughItaly2024-05-19Chemel, James L Cpa QUALIFIED37Bernardo Dominic
1020Ivar R TollnerSpain2024-06-07Benton, John B Jr QUALIFIED7Stephen Shaw
1021David Q CampainAustralia2024-05-30Feiner Bros QUALIFIED2Anna Fali
1022Jefferson P BriddickArgentina2024-06-11Rangoni Of Florence RENEWAL82Onyama Limba
1023Jefferson E GarufiIndia2024-06-11King, Christopher A Esq RENEWAL53Bernardo Dominic
1024Maisha Z NickaGermany2024-05-26Benton, John B Jr RENEWAL87Bernardo Dominic
1025Smith H DarakjyCanada2024-06-04Feltz Printing Service NEW56Stephen Shaw
1026Deepesh J MarrierBrazil2024-05-27Morlong Associates NEW8Amy Elsner
1027Smith T DoeRussia2024-06-09Chemel, James L Cpa QUALIFIED89Ivan Magalhaes
1028Ashley H PerinFrance2024-06-13Benton, John B Jr NEGOTIATION13Ivan Magalhaes
1029Juan N OstroskyGermany2024-05-26Chapman, Ross E Esq NEGOTIATION21Stephen Shaw
1030Francesco D MaletUnited Kingdom2024-06-09Chanay, Jeffrey A Esq NEW32Xuxue Feng
1031Murillo V KolmetzFrance2024-06-13King, Christopher A Esq UNQUALIFIED25Stephen Shaw
1032Arvin T MarrierArgentina2024-06-07Truhlar And Truhlar Attys RENEWAL89Amy Elsner
1033Nicolas Y RutaGermany2024-05-23Chemel, James L Cpa NEW81Asiya Javayant
1034Wickens W DilliardAustralia2024-05-25Feltz Printing Service NEGOTIATION14Ivan Magalhaes
1035James O GlickArgentina2024-06-02Truhlar And Truhlar Attys UNQUALIFIED92Onyama Limba
1036Jeanfrancois A GillianRussia2024-06-14Feltz Printing Service QUALIFIED77Stephen Shaw
1037Cody N GauchoBrazil2024-05-31Buckley Miller Wright QUALIFIED12Anna Fali
1038Sinclair E OstroskyBrazil2024-06-01Commercial Press QUALIFIED5Amy Elsner
1039Chavez V BriddickJapan2024-06-03Feiner Bros QUALIFIED30Amy Elsner
1040Leja B ChuiRussia2024-06-04Chapman, Ross E Esq QUALIFIED55Amy Elsner
1041Smith G StockhamFrance2024-06-05Benton, John B Jr UNQUALIFIED67Anna Fali
1042Johnson H SergiSpain2024-05-18Chanay, Jeffrey A Esq PROPOSAL9Xuxue Feng
1043Faith U InouyeIndia2024-05-23Printing Dimensions RENEWAL23Onyama Limba
1044Leja N WieserUnited Kingdom2024-06-11Printing Dimensions QUALIFIED38Ivan Magalhaes
1045Jeanfrancois R RoysterSpain2024-06-05Rangoni Of Florence UNQUALIFIED19Bernardo Dominic
1046Ashley I AmigonArgentina2024-05-22Commercial Press RENEWAL49Onyama Limba
1047Julie K KuskoItaly2024-06-05Dorl, James J Esq RENEWAL71Amy Elsner
1048Izzy B MarrierSpain2024-06-15Chemel, James L Cpa UNQUALIFIED25Ivan Magalhaes
1049Deepesh A SaylorsCanada2024-06-07Truhlar And Truhlar Attys PROPOSAL37Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Tony H BriddickFranceIvan Magalhaes PROPOSAL
Leon W CaldareraFranceOnyama Limba NEGOTIATION
Wickens K SlusarskiCanadaIoni Bowcher UNQUALIFIED
James H SaylorsJapanBernardo Dominic UNQUALIFIED
Jennifer W GlickArgentinaAsiya Javayant RENEWAL
Silvio H VenereUnited KingdomStephen Shaw PROPOSAL
Johnson D AlbaresGermanyAmy Elsner PROPOSAL
Aditya N GarufiJapanOnyama Limba PROPOSAL
Maria D MorascaFranceIvan Magalhaes PROPOSAL
Claire M ShinkoSpainIoni Bowcher NEGOTIATION
Silvio O GillianBrazilOnyama Limba UNQUALIFIED
Alejandro X StensethGermanyAmy Elsner RENEWAL
Clifford P SlusarskiRussiaAsiya Javayant NEGOTIATION
Jefferson J RutaRussiaBernardo Dominic UNQUALIFIED
Emily B MorascaFranceIvan Magalhaes QUALIFIED
Mujtaba C SergiArgentinaAmy Elsner RENEWAL
Costa X BriddickUnited KingdomAmy Elsner RENEWAL
Jeanfrancois A KuskoJapanBernardo Dominic UNQUALIFIED
Stacey L GillianAustraliaXuxue Feng NEW
Cody G BowleyIndiaBernardo Dominic NEGOTIATION
Rodrigues R ButtBrazilAmy Elsner NEW
Aditya T MarrierItalyOnyama Limba PROPOSAL
Mujtaba W RutaArgentinaElwin Sharvill QUALIFIED
Cody U MorascaBrazilIvan Magalhaes QUALIFIED
Nicolas U NestleCanadaAsiya Javayant PROPOSAL
Silvio J MarrierArgentinaStephen Shaw PROPOSAL
James E GillianIndiaAmy Elsner QUALIFIED
Mujtaba M CaudyJapanOnyama Limba UNQUALIFIED
Johnson B KolmetzRussiaAsiya Javayant QUALIFIED
Ivar V ButtCanadaAmy Elsner NEGOTIATION
Aditya Z BowleyUnited KingdomOnyama Limba RENEWAL
Ivar G FerenczFranceStephen Shaw NEW
Kadeem F GarufiSpainXuxue Feng UNQUALIFIED
Claire E CampainAustraliaIvan Magalhaes PROPOSAL
Morrow Q NickaItalyXuxue Feng QUALIFIED
Stacey Q SlusarskiRussiaXuxue Feng NEGOTIATION
Maisha V ShinkoCanadaXuxue Feng QUALIFIED
Francesco E VocelkaRussiaXuxue Feng QUALIFIED
Clifford T TollnerIndiaIvan Magalhaes PROPOSAL
Claire N FollerJapanIoni Bowcher PROPOSAL
Arvin Z InouyeRussiaStephen Shaw QUALIFIED
Maria M GarufiIndiaStephen Shaw NEGOTIATION
Aruna H SlusarskiItalyStephen Shaw UNQUALIFIED
Jennifer F OldroydIndiaAnna Fali QUALIFIED
Maisha V WhobreyItalyAnna Fali PROPOSAL
Juan G GlickJapanOnyama Limba NEGOTIATION
Salvatore C SergiCanadaOnyama Limba QUALIFIED
Faith M FerenczFranceXuxue Feng PROPOSAL
Jennifer C RulapaughIndiaElwin Sharvill QUALIFIED
Octavia V FerenczRussiaXuxue Feng QUALIFIED
Frozen Columns
Name
Silvio R Saylors
Kadeem P Kusko
Chavez K Sergi
Alejandro O Campain
Morrow U Whobrey
Morrow Y Garufi
Isabel X Shinko
James N Ruta
Isabel B Doe
Faith R Wieser
Izzy Z Royster
Mayumi G Perin
Salvatore H Campain
Ivar P Venere
Mujtaba N Morasca
Leon Z Gaucho
Mayumi P Royster
Aika L Figeroa
Nicolas F Nicka
Juan D Rim
Deepesh V Maclead
Antonio L Royster
Jones X Nicka
Chavez G Caudy
James O Bowley
Nicolas U Wieser
James G Schemmer
Izzy Y Foller
Claire F Rim
Maria P Glick
Silvio M Venere
Alejandro M Royster
Adams Y Caudy
Rodrigues G Figeroa
Deepesh V Malet
Chavez D Malet
James N Chui
Sinclair N Darakjy
Clifford R Darakjy
Deepesh K Amigon
Kadeem S Stockham
Isabel D Schemmer
Alejandro E Dilliard
Costa S Slusarski
Aditya Z Kusko
Kadeem C Chui
Tony Y Kusko
Adams Z Caudy
Jennifer T Stockham
Clifford Q Campain
IdCountryDate
1000India2024-06-14
1001Argentina2024-06-11
1002Argentina2024-06-08
1003Germany2024-06-02
1004India2024-06-05
1005Russia2024-05-22
1006Australia2024-05-27
1007Canada2024-05-31
1008Spain2024-06-04
1009France2024-05-18
1010Brazil2024-06-15
1011United Kingdom2024-06-13
1012Russia2024-06-16
1013United Kingdom2024-06-01
1014Australia2024-05-18
1015United Kingdom2024-05-21
1016Canada2024-05-20
1017Argentina2024-06-13
1018Spain2024-06-14
1019Australia2024-06-16
1020Italy2024-06-14
1021India2024-06-01
1022France2024-06-03
1023Australia2024-06-15
1024Spain2024-06-10
1025Russia2024-06-08
1026Brazil2024-06-02
1027Japan2024-05-28
1028Spain2024-05-27
1029Brazil2024-06-05
1030Italy2024-05-25
1031Canada2024-06-13
1032France2024-05-20
1033Australia2024-05-26
1034Brazil2024-06-03
1035Argentina2024-06-04
1036Spain2024-05-30
1037France2024-06-14
1038United Kingdom2024-05-20
1039Japan2024-06-12
1040Spain2024-06-14
1041United Kingdom2024-06-08
1042India2024-05-26
1043Germany2024-05-31
1044Spain2024-06-14
1045Italy2024-06-06
1046Canada2024-05-23
1047Japan2024-06-16
1048Canada2024-06-06
1049France2024-05-21

On-Demand Data

NameIdCountryDate
Ashley M Inouye1000Germany2024-05-28
Ricardo R Saylors1001France2024-06-01
James J Perin1002Brazil2024-06-06
Ricardo O Bowley1003Canada2024-05-30
Stacey P Stockham1004Australia2024-05-28
Aika K Albares1005United Kingdom2024-06-07
Murillo G Amigon1006India2024-05-18
Arvin S Flosi1007Canada2024-05-29
Clifford X Morasca1008Germany2024-06-09
Julie V Dilliard1009Germany2024-05-23
Jennifer E Rim1010Australia2024-06-05
Jones B Waycott1011Brazil2024-05-19
Jennifer T Glick1012Spain2024-05-30
Julie O Caldarera1013Spain2024-05-31
Jennifer J Ruta1014Brazil2024-05-18
Juan R Stenseth1015India2024-05-21
Tony V Bowley1016France2024-06-07
Greenwood S Dilliard1017France2024-06-12
Jeanfrancois S Inouye1018Japan2024-05-30
Aika W Tollner1019Brazil2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Y BriddickIndiaIvan Magalhaes UNQUALIFIED
Misaki K KolmetzSpainAnna Fali QUALIFIED
Chavez W GauchoItalyXuxue Feng QUALIFIED
Murillo S GarufiSpainIvan Magalhaes RENEWAL
Johnson E IturbideSpainIoni Bowcher PROPOSAL
Izzy T PoquetteArgentinaXuxue Feng PROPOSAL
Antonio E PoquetteSpainAmy Elsner PROPOSAL
Jefferson O StensethGermanyBernardo Dominic PROPOSAL
Maisha N ShinkoFranceAsiya Javayant QUALIFIED
Greenwood O PaprockiSpainStephen Shaw NEW
Alejandro F ChuiSpainStephen Shaw NEW
Maria J FerenczCanadaIvan Magalhaes QUALIFIED
James L StockhamItalyAnna Fali PROPOSAL
Clifford S PerinBrazilAsiya Javayant UNQUALIFIED
Jones F NickaBrazilStephen Shaw QUALIFIED
Maisha A RoysterAustraliaStephen Shaw NEW
Munro K CaldareraUnited KingdomXuxue Feng NEW
Jones V RimFranceIoni Bowcher UNQUALIFIED
Sinclair L RulapaughArgentinaIoni Bowcher PROPOSAL
Adams Y ShinkoBrazilXuxue Feng NEW
Silvio G FlosiRussiaXuxue Feng PROPOSAL
Ricardo E RoysterCanadaAsiya Javayant NEGOTIATION
Chavez B DoeCanadaOnyama Limba QUALIFIED
Murillo V MacleadAustraliaAsiya Javayant NEW
Misaki T NickaItalyElwin Sharvill PROPOSAL
Stacey S ButtArgentinaAmy Elsner NEGOTIATION
Johnson Y KolmetzJapanIvan Magalhaes RENEWAL
Leon Z GarufiFranceAsiya Javayant NEW
Salvatore E AlbaresJapanXuxue Feng PROPOSAL
Aditya R GauchoCanadaXuxue Feng RENEWAL
Munro B DoeBrazilAnna Fali NEW
Leon R MaletBrazilIoni Bowcher NEW
Costa I AmigonJapanAnna Fali RENEWAL
Darci D DilliardRussiaIvan Magalhaes NEGOTIATION
Jennifer H CaudyAustraliaAsiya Javayant RENEWAL
Adams O TollnerUnited KingdomOnyama Limba UNQUALIFIED
Adams Q RutaUnited KingdomStephen Shaw NEW
Antonio V NickaUnited KingdomIvan Magalhaes NEW
Isabel R SlusarskiJapanOnyama Limba UNQUALIFIED
Juan H BowleyArgentinaIoni Bowcher NEW

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