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
Nicolas U DarakjyGermanyOnyama Limba UNQUALIFIED
Johnson D MacleadArgentinaOnyama Limba RENEWAL
Cody H CaudyGermanyAsiya Javayant NEGOTIATION
Misaki I VenereBrazilElwin Sharvill NEGOTIATION
Wickens S PoquetteIndiaOnyama Limba PROPOSAL
Jefferson I SaylorsCanadaAnna Fali UNQUALIFIED
Jennifer P MacleadItalyAsiya Javayant NEGOTIATION
Aika O FigeroaItalyBernardo Dominic NEGOTIATION
Stacey M CaudyRussiaAnna Fali PROPOSAL
Sinclair R TollnerBrazilXuxue Feng NEGOTIATION
Aruna X PaprockiIndiaIoni Bowcher NEGOTIATION
David K PaprockiRussiaOnyama Limba PROPOSAL
Julie N OstroskyFranceIvan Magalhaes UNQUALIFIED
Deepesh C MaletUnited KingdomOnyama Limba PROPOSAL
Sinclair R InouyeRussiaElwin Sharvill NEGOTIATION
Wickens D FlosiFranceIoni Bowcher PROPOSAL
Mayumi F WieserCanadaAsiya Javayant UNQUALIFIED
Greenwood L StensethIndiaXuxue Feng PROPOSAL
Silvio M NestleBrazilXuxue Feng NEGOTIATION
Cody D DarakjyCanadaIoni Bowcher UNQUALIFIED
James P BologniaIndiaBernardo Dominic QUALIFIED
James L RulapaughSpainAmy Elsner QUALIFIED
Johnson B SergiItalyStephen Shaw QUALIFIED
Francesco X PoquetteIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois R ChuiAustraliaOnyama Limba QUALIFIED
Rodrigues I KuskoFranceAnna Fali NEW
James Q SaylorsCanadaAmy Elsner QUALIFIED
Morrow F FollerGermanyAsiya Javayant RENEWAL
Ricardo A OldroydUnited KingdomIvan Magalhaes PROPOSAL
Jones L KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Sinclair G TollnerAustraliaAmy Elsner QUALIFIED
Ivar A MorascaCanadaOnyama Limba QUALIFIED
Maisha E StensethArgentinaOnyama Limba NEGOTIATION
Silvio I RoysterSpainIvan Magalhaes NEW
Darci V BowleyAustraliaStephen Shaw QUALIFIED
Tony F NestleBrazilAsiya Javayant NEW
James T SergiJapanElwin Sharvill NEW
Maria U VenereGermanyXuxue Feng NEGOTIATION
Ashley O IturbideItalyAmy Elsner NEW
Mayumi E InouyeArgentinaIvan Magalhaes RENEWAL
Juan I WaycottItalyAmy Elsner NEW
Aruna H NestleRussiaStephen Shaw NEGOTIATION
Leon Q GlickUnited KingdomXuxue Feng RENEWAL
Aditya R StockhamGermanyElwin Sharvill QUALIFIED
Aruna R ShinkoArgentinaAmy Elsner NEGOTIATION
Arvin G PoquetteJapanAsiya Javayant PROPOSAL
Stacey F RoysterBrazilIoni Bowcher PROPOSAL
Ashley G WaycottFranceStephen Shaw RENEWAL
Isabel E VocelkaGermanyAmy Elsner RENEWAL
Juan L DarakjyBrazilAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones B SergiCanadaStephen Shaw PROPOSAL
Claire O AmigonAustraliaXuxue Feng RENEWAL
Aditya K BriddickAustraliaBernardo Dominic QUALIFIED
Faith S BriddickGermanyBernardo Dominic NEW
Smith H GarufiSpainBernardo Dominic NEGOTIATION
Costa E MorascaFranceAsiya Javayant RENEWAL
James H GauchoIndiaIoni Bowcher RENEWAL
Munro O SaylorsGermanyAnna Fali UNQUALIFIED
Isabel N PaprockiGermanyBernardo Dominic QUALIFIED
Morrow A VocelkaCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin L DilliardBrazil2024-06-05Printing Dimensions PROPOSAL72Ioni Bowcher
1001Leja Q SergiRussia2024-06-13Morlong Associates RENEWAL76Xuxue Feng
1002Alejandro P MarrierIndia2024-06-16Buckley Miller Wright UNQUALIFIED88Ioni Bowcher
1003Misaki F IturbideUnited Kingdom2024-06-21Dorl, James J Esq PROPOSAL2Anna Fali
1004Smith B RulapaughAustralia2024-06-06Commercial Press RENEWAL43Ioni Bowcher
1005Clifford F FlosiIndia2024-06-19Rangoni Of Florence RENEWAL56Onyama Limba
1006Costa S MarrierUnited Kingdom2024-06-17Benton, John B Jr UNQUALIFIED53Stephen Shaw
1007Greenwood I RimBrazil2024-05-31Morlong Associates NEGOTIATION18Bernardo Dominic
1008Maisha P CampainCanada2024-06-16Chapman, Ross E Esq RENEWAL23Amy Elsner
1009Silvio V DoeAustralia2024-05-30Morlong Associates NEGOTIATION47Xuxue Feng
1010Jennifer H ButtAustralia2024-06-06Chanay, Jeffrey A Esq RENEWAL28Onyama Limba
1011Claire N MarrierAustralia2024-06-08Chanay, Jeffrey A Esq PROPOSAL97Anna Fali
1012Octavia K PerinRussia2024-06-18Rangoni Of Florence NEW33Ioni Bowcher
1013Jennifer X SchemmerItaly2024-06-05King, Christopher A Esq NEW78Onyama Limba
1014Tony Q NestleSpain2024-06-13Feiner Bros RENEWAL95Bernardo Dominic
1015Kadeem O CaldareraUnited Kingdom2024-06-07Dorl, James J Esq UNQUALIFIED95Amy Elsner
1016Clifford W CampainUnited Kingdom2024-06-06Chapman, Ross E Esq NEGOTIATION49Ioni Bowcher
1017Adams G VocelkaRussia2024-05-26Printing Dimensions UNQUALIFIED76Stephen Shaw
1018Mayumi J MaletArgentina2024-06-02Buckley Miller Wright PROPOSAL40Anna Fali
1019Francesco H TollnerRussia2024-06-16Truhlar And Truhlar Attys PROPOSAL91Elwin Sharvill
1020Nicolas J PerinAustralia2024-05-31Rousseaux, Michael Esq NEGOTIATION99Stephen Shaw
1021Kaitlin U AlbaresSpain2024-06-16Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1022Sinclair O FigeroaItaly2024-06-14Benton, John B Jr QUALIFIED42Bernardo Dominic
1023Aruna W SergiJapan2024-06-01Feiner Bros PROPOSAL71Asiya Javayant
1024Aditya N GillianArgentina2024-06-24Rousseaux, Michael Esq QUALIFIED3Ioni Bowcher
1025Greenwood L DarakjyCanada2024-06-02Chemel, James L Cpa NEW87Anna Fali
1026Salvatore C StensethSpain2024-06-20Chanay, Jeffrey A Esq NEGOTIATION43Asiya Javayant
1027Isabel H RulapaughUnited Kingdom2024-05-28Rangoni Of Florence NEGOTIATION91Ivan Magalhaes
1028Jones U MarrierRussia2024-06-09Printing Dimensions UNQUALIFIED12Bernardo Dominic
1029Adams A VenereSpain2024-06-11Buckley Miller Wright QUALIFIED94Onyama Limba
1030Octavia L BriddickUnited Kingdom2024-05-30Rangoni Of Florence NEGOTIATION74Amy Elsner
1031Salvatore A CaudyUnited Kingdom2024-05-31Feltz Printing Service NEGOTIATION86Onyama Limba
1032Stacey V GlickAustralia2024-06-20Rousseaux, Michael Esq QUALIFIED22Stephen Shaw
1033Chavez X WieserArgentina2024-06-24Feiner Bros QUALIFIED13Bernardo Dominic
1034Maria Y SchemmerFrance2024-06-01Printing Dimensions QUALIFIED65Elwin Sharvill
1035Aditya G CampainUnited Kingdom2024-06-19Rousseaux, Michael Esq NEW67Ivan Magalhaes
1036Ivar U FerenczIndia2024-06-24King, Christopher A Esq PROPOSAL13Anna Fali
1037Kaitlin J ChuiRussia2024-06-22Morlong Associates UNQUALIFIED43Elwin Sharvill
1038Emily M ShinkoGermany2024-05-31Rousseaux, Michael Esq NEGOTIATION90Bernardo Dominic
1039Murillo G RoysterIndia2024-06-10Rangoni Of Florence RENEWAL67Amy Elsner
1040Jefferson U GauchoGermany2024-06-05Printing Dimensions NEGOTIATION90Ioni Bowcher
1041Clifford E SergiItaly2024-06-08King, Christopher A Esq PROPOSAL28Xuxue Feng
1042Murillo S TollnerBrazil2024-05-28Chemel, James L Cpa NEW86Ioni Bowcher
1043Tony Z PaprockiBrazil2024-06-02King, Christopher A Esq PROPOSAL97Stephen Shaw
1044Clifford Q FlosiIndia2024-06-06Dorl, James J Esq NEGOTIATION6Anna Fali
1045Aruna V RutaArgentina2024-05-31Rousseaux, Michael Esq NEGOTIATION59Ioni Bowcher
1046Adams N MarrierFrance2024-05-28Benton, John B Jr NEW71Asiya Javayant
1047Tony L MorascaSpain2024-06-08Truhlar And Truhlar Attys NEGOTIATION30Ivan Magalhaes
1048Julie V StensethBrazil2024-06-21Morlong Associates NEW16Onyama Limba
1049Clifford N WhobreyUnited Kingdom2024-06-08Printing Dimensions QUALIFIED62Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Julie R VenereCanadaBernardo Dominic RENEWAL
Munro Q AmigonJapanIoni Bowcher NEW
Maria Q MacleadIndiaIvan Magalhaes PROPOSAL
Chavez K AmigonFranceAsiya Javayant UNQUALIFIED
Tony W FerenczJapanElwin Sharvill NEW
Jefferson Y KuskoBrazilIoni Bowcher PROPOSAL
Isabel E FigeroaAustraliaBernardo Dominic PROPOSAL
Arvin G MaletItalyBernardo Dominic NEW
Rodrigues I WhobreyFranceXuxue Feng NEGOTIATION
Francesco W BowleyCanadaAsiya Javayant UNQUALIFIED
Claire X ChuiJapanBernardo Dominic PROPOSAL
Sinclair L PoquetteBrazilElwin Sharvill NEGOTIATION
David B CaudyGermanyElwin Sharvill UNQUALIFIED
Ricardo W PerinFranceStephen Shaw QUALIFIED
Johnson V RulapaughSpainAnna Fali QUALIFIED
Alejandro P RulapaughJapanAnna Fali NEGOTIATION
Ricardo M TollnerFranceAsiya Javayant QUALIFIED
Leja A IturbideIndiaOnyama Limba UNQUALIFIED
Arvin X KuskoIndiaIoni Bowcher RENEWAL
Rodrigues W SchemmerJapanAnna Fali QUALIFIED
Jefferson U StockhamIndiaAmy Elsner PROPOSAL
Rodrigues L GauchoBrazilElwin Sharvill NEGOTIATION
Ivar S SlusarskiBrazilAmy Elsner PROPOSAL
Mayumi F TollnerRussiaIoni Bowcher QUALIFIED
Izzy V ButtIndiaAmy Elsner QUALIFIED
Adams W ChuiJapanXuxue Feng RENEWAL
Adams T MaletItalyAnna Fali NEGOTIATION
Darci N MacleadIndiaStephen Shaw NEGOTIATION
Mujtaba N BriddickJapanIoni Bowcher RENEWAL
Smith Q KolmetzIndiaElwin Sharvill RENEWAL
Arvin Y MacleadGermanyElwin Sharvill RENEWAL
Alejandro H WaycottSpainAmy Elsner NEW
Isabel A VocelkaSpainAsiya Javayant PROPOSAL
Leon O DoeCanadaAsiya Javayant NEGOTIATION
Cody M ShinkoCanadaOnyama Limba PROPOSAL
Aika Q WaycottArgentinaAnna Fali PROPOSAL
Izzy D DoeBrazilAmy Elsner NEGOTIATION
Darci X StensethFranceIoni Bowcher PROPOSAL
Antonio V VocelkaGermanyOnyama Limba QUALIFIED
Leon X NestleBrazilIvan Magalhaes NEGOTIATION
Tony W DarakjyCanadaAmy Elsner NEW
Izzy G PerinUnited KingdomStephen Shaw PROPOSAL
Aditya T RoysterIndiaXuxue Feng NEW
Munro E CaudyJapanXuxue Feng PROPOSAL
Arvin U SergiBrazilXuxue Feng UNQUALIFIED
David F FigeroaIndiaBernardo Dominic NEW
Aditya J FollerRussiaStephen Shaw PROPOSAL
Nicolas X PerinJapanAnna Fali NEW
Silvio B ShinkoCanadaStephen Shaw QUALIFIED
Juan L ButtRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Costa P Nicka
Ashley M Inouye
Kadeem Y Royster
Aditya P Foller
Sinclair P Glick
Clifford I Maclead
Chavez B Nicka
Jones T Inouye
Alejandro V Wieser
Francesco L Schemmer
Jeanfrancois Y Kusko
Chavez R Gaucho
Murillo S Nicka
Jefferson V Glick
Julie T Schemmer
Wickens O Campain
Jeanfrancois B Royster
Ricardo O Royster
Munro I Poquette
Deepesh D Gaucho
Murillo E Butt
Isabel K Sergi
Chavez E Garufi
Sinclair S Marrier
Rodrigues I Dilliard
Misaki O Nestle
Maria X Foller
Maisha C Vocelka
Maisha B Dilliard
Jennifer T Waycott
Kadeem H Rim
Jeanfrancois B Ostrosky
Alejandro N Oldroyd
Salvatore A Garufi
Ivar Y Sergi
Ricardo Z Gaucho
Mayumi J Rim
Tony Z Whobrey
Clifford J Gillian
Mayumi M Ferencz
Jeanfrancois K Oldroyd
Mujtaba C Schemmer
Johnson O Venere
Leja E Bolognia
Wickens Y Schemmer
Mujtaba U Briddick
Johnson G Schemmer
Clifford V Garufi
Mayumi H Shinko
Jennifer Q Perin
IdCountryDate
1000Spain2024-06-14
1001Canada2024-06-15
1002India2024-06-20
1003Russia2024-06-22
1004Italy2024-06-03
1005Argentina2024-06-03
1006India2024-05-29
1007India2024-06-12
1008Australia2024-06-09
1009Argentina2024-06-01
1010Japan2024-06-17
1011Germany2024-06-20
1012Germany2024-06-23
1013Canada2024-06-10
1014United Kingdom2024-06-23
1015Russia2024-06-11
1016France2024-06-16
1017India2024-06-03
1018Argentina2024-05-26
1019Spain2024-06-06
1020Russia2024-06-07
1021Brazil2024-06-10
1022Australia2024-06-06
1023Argentina2024-06-14
1024United Kingdom2024-06-16
1025Japan2024-05-31
1026Canada2024-06-13
1027Australia2024-06-17
1028Germany2024-06-17
1029Canada2024-06-10
1030Australia2024-06-05
1031France2024-06-24
1032Spain2024-06-04
1033Australia2024-06-01
1034India2024-06-15
1035Japan2024-05-30
1036United Kingdom2024-06-14
1037United Kingdom2024-06-14
1038India2024-06-12
1039Russia2024-06-16
1040Brazil2024-06-06
1041Brazil2024-05-26
1042Russia2024-06-15
1043Spain2024-06-15
1044Canada2024-05-31
1045United Kingdom2024-06-10
1046Russia2024-06-20
1047Russia2024-06-01
1048Canada2024-06-06
1049Italy2024-06-03

On-Demand Data

NameIdCountryDate
Munro A Darakjy1000Germany2024-06-24
Darci F Stenseth1001Canada2024-06-23
Stacey Z Kolmetz1002Canada2024-06-16
Kadeem H Morasca1003Italy2024-06-05
Jefferson Y Morasca1004Germany2024-05-29
Octavia O Waycott1005Australia2024-06-19
Jefferson U Ruta1006Brazil2024-06-22
Izzy D Morasca1007France2024-06-14
Morrow O Ferencz1008Argentina2024-05-29
Smith H Gillian1009India2024-06-24
Sinclair E Ostrosky1010Argentina2024-05-26
Antonio R Albares1011Russia2024-06-03
Ivar F Paprocki1012Russia2024-05-30
Isabel M Amigon1013Germany2024-06-11
Darci A Figeroa1014Russia2024-06-20
Juan V Garufi1015Australia2024-06-04
Clifford D Malet1016Spain2024-06-17
Chavez G Malet1017Japan2024-06-17
Aruna E Wieser1018Japan2024-06-05
Arvin N Morasca1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio D CampainUnited KingdomAmy Elsner QUALIFIED
Nicolas A SchemmerAustraliaIoni Bowcher RENEWAL
Adams I GillianAustraliaBernardo Dominic NEGOTIATION
Francesco E BologniaGermanyIvan Magalhaes UNQUALIFIED
Aika P VenereCanadaIoni Bowcher QUALIFIED
Maria B DoeUnited KingdomStephen Shaw QUALIFIED
Smith Y SergiArgentinaAmy Elsner NEW
Clifford V BologniaSpainOnyama Limba UNQUALIFIED
Leon O ChuiCanadaIvan Magalhaes PROPOSAL
Maria R WaycottAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois G MacleadBrazilElwin Sharvill UNQUALIFIED
Clifford J StockhamFranceAmy Elsner PROPOSAL
Izzy Z AmigonSpainOnyama Limba NEW
Faith P WaycottJapanAnna Fali NEGOTIATION
Claire N StensethItalyStephen Shaw PROPOSAL
Ricardo H FollerBrazilAsiya Javayant QUALIFIED
Aika C OstroskyArgentinaAmy Elsner QUALIFIED
Morrow L SchemmerRussiaOnyama Limba QUALIFIED
Julie E NestleUnited KingdomElwin Sharvill UNQUALIFIED
Tony A FigeroaCanadaStephen Shaw NEGOTIATION
Claire H StockhamIndiaIvan Magalhaes RENEWAL
Julie I SergiBrazilOnyama Limba NEGOTIATION
Deepesh F FigeroaUnited KingdomStephen Shaw NEW
Darci E SaylorsArgentinaIvan Magalhaes NEGOTIATION
Costa P AmigonAustraliaXuxue Feng PROPOSAL
Izzy T PaprockiIndiaBernardo Dominic UNQUALIFIED
Mayumi A RimGermanyIoni Bowcher NEW
Costa L GlickRussiaIvan Magalhaes NEW
Izzy U DilliardJapanStephen Shaw PROPOSAL
Mujtaba E InouyeBrazilIvan Magalhaes NEW
Arvin D AmigonAustraliaIvan Magalhaes UNQUALIFIED
Munro D NickaGermanyBernardo Dominic RENEWAL
Silvio V PaprockiIndiaStephen Shaw NEW
Rodrigues O TollnerFranceStephen Shaw PROPOSAL
Julie W BologniaGermanyIoni Bowcher NEW
Ivar V FerenczAustraliaXuxue Feng PROPOSAL
Nicolas W BriddickFranceAnna Fali PROPOSAL
Francesco A DarakjyGermanyAmy Elsner PROPOSAL
Jeanfrancois P RoysterGermanyBernardo Dominic NEW
Maria U OldroydAustraliaAsiya Javayant 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>