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
Jefferson E MacleadUnited KingdomIoni Bowcher RENEWAL
Nicolas V DarakjyFranceAsiya Javayant NEGOTIATION
Juan Z SergiGermanyAmy Elsner NEW
Izzy O PoquetteAustraliaXuxue Feng RENEWAL
Murillo H MaletBrazilElwin Sharvill QUALIFIED
Smith P WaycottUnited KingdomStephen Shaw QUALIFIED
Maisha M KuskoSpainAsiya Javayant RENEWAL
Aika D DilliardAustraliaBernardo Dominic UNQUALIFIED
Aditya S DoeAustraliaAsiya Javayant UNQUALIFIED
Antonio L WieserRussiaStephen Shaw PROPOSAL
Antonio H GillianArgentinaOnyama Limba QUALIFIED
Leon L CaudySpainElwin Sharvill RENEWAL
Morrow H ChuiUnited KingdomStephen Shaw RENEWAL
Faith W SlusarskiJapanBernardo Dominic QUALIFIED
Izzy C AlbaresUnited KingdomIoni Bowcher NEW
Octavia D StockhamIndiaStephen Shaw QUALIFIED
Kaitlin T VenereUnited KingdomIoni Bowcher UNQUALIFIED
Johnson P SergiArgentinaOnyama Limba NEW
Maisha H GarufiCanadaBernardo Dominic NEW
Maisha R DilliardArgentinaStephen Shaw NEW
Wickens D WhobreyFranceOnyama Limba NEW
Claire M VenereGermanyIoni Bowcher NEW
Sinclair B VenereBrazilBernardo Dominic RENEWAL
Jefferson U BriddickCanadaAnna Fali UNQUALIFIED
Darci V StensethJapanStephen Shaw UNQUALIFIED
Jefferson E AmigonRussiaOnyama Limba RENEWAL
Aditya Q FigeroaCanadaAnna Fali QUALIFIED
Aika S NestleGermanyStephen Shaw PROPOSAL
Maisha K ChuiUnited KingdomBernardo Dominic NEW
Salvatore V GillianFranceElwin Sharvill RENEWAL
Izzy Y OstroskyBrazilElwin Sharvill NEGOTIATION
Adams A WhobreyFranceBernardo Dominic UNQUALIFIED
Murillo P MarrierGermanyBernardo Dominic RENEWAL
Rodrigues H VenereItalyAnna Fali RENEWAL
Faith L NickaIndiaXuxue Feng UNQUALIFIED
Tony U DoeArgentinaOnyama Limba UNQUALIFIED
Jennifer S FigeroaRussiaStephen Shaw QUALIFIED
Octavia B MaletRussiaAsiya Javayant PROPOSAL
Morrow H StensethItalyIvan Magalhaes NEGOTIATION
Chavez W GlickIndiaStephen Shaw QUALIFIED
Jeanfrancois E DilliardSpainIvan Magalhaes QUALIFIED
Ivar D TollnerAustraliaOnyama Limba NEW
Stacey V RutaCanadaAmy Elsner RENEWAL
Rodrigues M KolmetzFranceAnna Fali RENEWAL
Francesco F AlbaresBrazilXuxue Feng UNQUALIFIED
Izzy C VocelkaBrazilStephen Shaw UNQUALIFIED
Smith T OstroskyItalyBernardo Dominic NEW
Misaki P WieserFranceXuxue Feng PROPOSAL
Johnson C PoquetteArgentinaAsiya Javayant NEGOTIATION
Johnson P WieserIndiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel L GlickCanadaAmy Elsner NEGOTIATION
Isabel E CampainJapanElwin Sharvill NEGOTIATION
Faith I OstroskyBrazilOnyama Limba QUALIFIED
Jefferson S RutaBrazilAmy Elsner UNQUALIFIED
Nicolas I InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Morrow D MorascaFranceElwin Sharvill UNQUALIFIED
Tony Q WaycottUnited KingdomOnyama Limba NEGOTIATION
Rodrigues Y NestleRussiaElwin Sharvill NEW
David L VocelkaJapanAmy Elsner NEW
Izzy F VocelkaArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna J PerinJapan2024-09-09Commercial Press PROPOSAL22Stephen Shaw
1001Kadeem T SergiIndia2024-09-05Printing Dimensions NEGOTIATION72Ioni Bowcher
1002Wickens W StensethJapan2024-08-26Feltz Printing Service RENEWAL86Elwin Sharvill
1003Salvatore H OldroydBrazil2024-09-01Morlong Associates NEGOTIATION62Xuxue Feng
1004Nicolas N IturbideRussia2024-09-02King, Christopher A Esq PROPOSAL83Bernardo Dominic
1005Sinclair I DilliardIndia2024-09-13Chanay, Jeffrey A Esq QUALIFIED62Bernardo Dominic
1006Rodrigues Z AlbaresItaly2024-09-16Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1007Ivar K RimGermany2024-09-04Commercial Press NEGOTIATION68Asiya Javayant
1008Wickens W GlickSpain2024-09-13Printing Dimensions NEGOTIATION46Anna Fali
1009Morrow J InouyeGermany2024-09-15Benton, John B Jr NEGOTIATION16Elwin Sharvill
1010Tony N ChuiJapan2024-08-24Commercial Press NEGOTIATION83Anna Fali
1011Morrow H RulapaughRussia2024-09-04Printing Dimensions UNQUALIFIED84Elwin Sharvill
1012Misaki Q ShinkoCanada2024-09-16King, Christopher A Esq NEGOTIATION60Onyama Limba
1013Isabel P WhobreyIndia2024-09-01Feiner Bros NEW97Anna Fali
1014Mayumi B GlickRussia2024-09-09Buckley Miller Wright PROPOSAL55Amy Elsner
1015Sinclair I GillianSpain2024-09-19Chemel, James L Cpa NEGOTIATION94Amy Elsner
1016Izzy J BowleyRussia2024-09-04Truhlar And Truhlar Attys RENEWAL93Onyama Limba
1017Stacey Q RutaBrazil2024-09-19Truhlar And Truhlar Attys UNQUALIFIED83Xuxue Feng
1018Sinclair L MarrierRussia2024-09-20Rousseaux, Michael Esq QUALIFIED67Bernardo Dominic
1019Arvin C PaprockiAustralia2024-08-27Chapman, Ross E Esq QUALIFIED72Amy Elsner
1020Smith G KolmetzBrazil2024-08-24Benton, John B Jr RENEWAL34Asiya Javayant
1021Kaitlin D BowleyJapan2024-09-08Rangoni Of Florence PROPOSAL85Elwin Sharvill
1022Antonio G ShinkoItaly2024-09-02Rousseaux, Michael Esq PROPOSAL21Anna Fali
1023Salvatore N FlosiSpain2024-09-13Truhlar And Truhlar Attys QUALIFIED93Onyama Limba
1024James Y ChuiRussia2024-09-06Dorl, James J Esq NEGOTIATION76Elwin Sharvill
1025Cody R AlbaresArgentina2024-09-01Printing Dimensions UNQUALIFIED69Ioni Bowcher
1026Jennifer A InouyeGermany2024-09-09Rangoni Of Florence RENEWAL63Xuxue Feng
1027Morrow Y GlickIndia2024-09-02Chapman, Ross E Esq QUALIFIED51Xuxue Feng
1028Costa E OstroskyUnited Kingdom2024-08-25Chapman, Ross E Esq PROPOSAL25Xuxue Feng
1029Leon G StensethArgentina2024-09-03Dorl, James J Esq NEW48Onyama Limba
1030Sinclair L ChuiItaly2024-09-20Chapman, Ross E Esq PROPOSAL97Amy Elsner
1031Morrow B AmigonGermany2024-09-13Commercial Press RENEWAL2Ivan Magalhaes
1032Leja Y KolmetzGermany2024-09-05King, Christopher A Esq UNQUALIFIED34Ioni Bowcher
1033Ashley O PoquetteGermany2024-08-28Feltz Printing Service QUALIFIED42Stephen Shaw
1034Costa L VocelkaAustralia2024-09-20Printing Dimensions PROPOSAL82Bernardo Dominic
1035Johnson H NickaUnited Kingdom2024-08-25Chanay, Jeffrey A Esq NEW35Anna Fali
1036Emily Q ButtItaly2024-09-21Printing Dimensions UNQUALIFIED26Xuxue Feng
1037Maria G MorascaRussia2024-09-06Chemel, James L Cpa NEGOTIATION94Onyama Limba
1038Aika T SchemmerAustralia2024-09-18Chapman, Ross E Esq NEW14Ioni Bowcher
1039Silvio O MarrierJapan2024-08-26Buckley Miller Wright PROPOSAL80Amy Elsner
1040Kadeem E DilliardArgentina2024-09-13Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1041Ashley M AlbaresRussia2024-09-04King, Christopher A Esq QUALIFIED41Asiya Javayant
1042Mujtaba R MarrierItaly2024-08-31Feltz Printing Service PROPOSAL46Ioni Bowcher
1043Leja Z MarrierSpain2024-08-28Feiner Bros NEGOTIATION91Bernardo Dominic
1044Costa C BriddickItaly2024-09-02Chapman, Ross E Esq PROPOSAL84Elwin Sharvill
1045Kaitlin P DarakjyItaly2024-09-09Chapman, Ross E Esq UNQUALIFIED90Onyama Limba
1046Wickens P DoeIndia2024-09-18Feltz Printing Service NEW50Anna Fali
1047Francesco Z VenereBrazil2024-09-04Truhlar And Truhlar Attys QUALIFIED16Amy Elsner
1048Ivar X NestleAustralia2024-08-31Rangoni Of Florence UNQUALIFIED11Stephen Shaw
1049Julie N MarrierCanada2024-08-30Chapman, Ross E Esq NEGOTIATION29Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan H WaycottIndiaAmy Elsner PROPOSAL
Jones C BriddickBrazilIoni Bowcher NEGOTIATION
Antonio L PaprockiAustraliaAsiya Javayant RENEWAL
Clifford W BowleyAustraliaAmy Elsner PROPOSAL
James Q DarakjyCanadaElwin Sharvill QUALIFIED
Salvatore J VenereAustraliaIoni Bowcher NEGOTIATION
Alejandro X InouyeBrazilAsiya Javayant NEW
Kadeem R CaudyRussiaBernardo Dominic UNQUALIFIED
Munro X CaldareraJapanIoni Bowcher RENEWAL
Adams M SchemmerFranceElwin Sharvill NEGOTIATION
Maria T KuskoArgentinaIoni Bowcher QUALIFIED
Chavez J MaletSpainAsiya Javayant QUALIFIED
Darci A RoysterArgentinaStephen Shaw UNQUALIFIED
Kaitlin J WieserBrazilStephen Shaw QUALIFIED
Ivar I SchemmerIndiaElwin Sharvill QUALIFIED
Munro U IturbideSpainStephen Shaw UNQUALIFIED
Greenwood P PerinCanadaElwin Sharvill QUALIFIED
Leon W SlusarskiItalyOnyama Limba NEW
Maisha O WieserItalyAsiya Javayant UNQUALIFIED
Silvio L GarufiBrazilAmy Elsner UNQUALIFIED
Chavez E CaudyAustraliaAmy Elsner QUALIFIED
Kaitlin E BowleyFranceAnna Fali NEGOTIATION
Misaki B GillianAustraliaAsiya Javayant UNQUALIFIED
Stacey I SlusarskiArgentinaIoni Bowcher QUALIFIED
Aika Q CampainBrazilIvan Magalhaes UNQUALIFIED
Kadeem R RulapaughGermanyIoni Bowcher UNQUALIFIED
Misaki S RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha T OldroydBrazilAmy Elsner UNQUALIFIED
Tony R NickaUnited KingdomAmy Elsner PROPOSAL
Kaitlin B GillianIndiaElwin Sharvill RENEWAL
Izzy J FlosiArgentinaIoni Bowcher QUALIFIED
Darci E MarrierBrazilElwin Sharvill QUALIFIED
Arvin P IturbideIndiaAsiya Javayant QUALIFIED
Arvin B SergiBrazilAmy Elsner RENEWAL
Ricardo M MaletBrazilIoni Bowcher UNQUALIFIED
Leon J AlbaresUnited KingdomElwin Sharvill PROPOSAL
Maria Z MaletUnited KingdomStephen Shaw NEGOTIATION
Cody Y WaycottGermanyBernardo Dominic UNQUALIFIED
Aika K MacleadArgentinaAnna Fali QUALIFIED
Jones B KolmetzIndiaIvan Magalhaes NEGOTIATION
Chavez V StockhamSpainIoni Bowcher RENEWAL
Jennifer E SaylorsIndiaOnyama Limba UNQUALIFIED
James J CaldareraFranceElwin Sharvill QUALIFIED
Silvio H GillianBrazilOnyama Limba NEW
Arvin I ButtItalyStephen Shaw NEGOTIATION
Octavia M MaletBrazilBernardo Dominic NEW
Claire M StensethArgentinaElwin Sharvill UNQUALIFIED
Costa N BologniaFranceOnyama Limba PROPOSAL
Rodrigues C GlickBrazilIoni Bowcher PROPOSAL
Isabel U AmigonCanadaAmy Elsner PROPOSAL
Frozen Columns
Name
Johnson T Darakjy
Kadeem V Ferencz
Stacey R Oldroyd
Sinclair W Wieser
Silvio D Iturbide
Jefferson A Perin
Jeanfrancois K Nicka
Jones B Paprocki
Aika F Albares
David E Ruta
David I Gaucho
Cody I Inouye
Jeanfrancois O Caldarera
Darci M Rulapaugh
Kadeem A Doe
Greenwood S Amigon
Antonio Z Nicka
Aruna J Sergi
Mayumi O Flosi
Murillo W Venere
Adams D Bolognia
Leja M Schemmer
Tony Q Sergi
Juan Z Poquette
Leja G Ferencz
Octavia F Albares
Misaki H Campain
Chavez V Dilliard
Jennifer K Flosi
Tony K Maclead
Claire O Marrier
Mujtaba Q Wieser
Izzy E Dilliard
James A Iturbide
Clifford D Waycott
Munro T Whobrey
Leon W Wieser
Arvin P Rulapaugh
Jeanfrancois A Morasca
Antonio Y Rulapaugh
Aika C Poquette
Sinclair V Waycott
James N Royster
Johnson X Stockham
Isabel U Schemmer
Rodrigues Q Sergi
Ricardo D Glick
Wickens U Caudy
Emily M Kusko
Rodrigues N Malet
IdCountryDate
1000Brazil2024-09-21
1001India2024-09-01
1002France2024-09-19
1003Japan2024-09-08
1004Spain2024-08-28
1005Spain2024-09-14
1006Canada2024-09-03
1007France2024-09-18
1008Canada2024-08-31
1009Canada2024-09-11
1010Spain2024-09-09
1011India2024-08-31
1012Canada2024-08-28
1013Germany2024-08-28
1014Canada2024-09-02
1015Brazil2024-09-06
1016Italy2024-09-19
1017Australia2024-09-21
1018Germany2024-09-21
1019France2024-09-19
1020Russia2024-09-11
1021Germany2024-09-15
1022Brazil2024-09-21
1023Italy2024-08-29
1024Canada2024-09-09
1025Japan2024-09-22
1026Canada2024-09-19
1027Japan2024-09-11
1028France2024-09-11
1029Canada2024-08-26
1030Brazil2024-09-18
1031Italy2024-09-17
1032Brazil2024-08-28
1033Germany2024-09-04
1034Brazil2024-09-08
1035Canada2024-09-21
1036France2024-08-26
1037Australia2024-09-16
1038Spain2024-08-26
1039Russia2024-08-26
1040Germany2024-09-07
1041Canada2024-09-09
1042Argentina2024-09-06
1043United Kingdom2024-09-16
1044France2024-09-16
1045India2024-09-15
1046Argentina2024-09-13
1047Spain2024-09-19
1048France2024-09-09
1049Japan2024-08-31

On-Demand Data

NameIdCountryDate
Emily V Rulapaugh1000United Kingdom2024-09-21
Ivar M Chui1001Australia2024-09-22
Izzy J Stenseth1002Brazil2024-08-24
Rodrigues Y Caldarera1003Germany2024-09-17
Chavez G Whobrey1004Spain2024-09-17
Jennifer D Dilliard1005United Kingdom2024-08-30
Wickens N Caldarera1006Argentina2024-08-30
Antonio O Briddick1007Japan2024-09-21
Aditya R Gillian1008Argentina2024-09-14
Isabel N Ostrosky1009Italy2024-09-02
Maisha H Caldarera1010Japan2024-08-30
Rodrigues X Nicka1011Italy2024-09-13
David B Marrier1012Russia2024-08-27
Morrow D Kusko1013Canada2024-09-05
Maisha M Saylors1014Russia2024-09-14
Julie V Royster1015France2024-09-08
Aruna P Figeroa1016Australia2024-09-12
Mayumi P Malet1017France2024-09-05
David L Perin1018Russia2024-09-11
Sinclair F Sergi1019Australia2024-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy L ShinkoAustraliaIoni Bowcher UNQUALIFIED
Wickens Z VenereIndiaElwin Sharvill NEGOTIATION
Greenwood N SlusarskiJapanIvan Magalhaes UNQUALIFIED
Mujtaba O GarufiBrazilAnna Fali PROPOSAL
Johnson I RulapaughAustraliaAsiya Javayant PROPOSAL
Faith C SchemmerRussiaElwin Sharvill NEGOTIATION
Misaki F FigeroaRussiaOnyama Limba QUALIFIED
Morrow C SaylorsAustraliaAmy Elsner RENEWAL
Claire Y KolmetzBrazilOnyama Limba UNQUALIFIED
Salvatore X MaletFranceIoni Bowcher UNQUALIFIED
Juan D InouyeRussiaBernardo Dominic NEGOTIATION
Chavez B WhobreyBrazilAnna Fali NEW
David I GillianBrazilAnna Fali UNQUALIFIED
Deepesh I SlusarskiJapanAsiya Javayant RENEWAL
Julie T SchemmerGermanyOnyama Limba QUALIFIED
Aruna I WaycottFranceAnna Fali QUALIFIED
Aruna S InouyeBrazilAsiya Javayant UNQUALIFIED
Julie I GauchoCanadaAnna Fali RENEWAL
Jones W OldroydFranceStephen Shaw QUALIFIED
Julie M IturbideSpainIvan Magalhaes NEW
Aruna V PerinIndiaIoni Bowcher PROPOSAL
Emily L WaycottJapanElwin Sharvill NEW
Leon Q TollnerRussiaAmy Elsner UNQUALIFIED
Faith G InouyeItalyAsiya Javayant NEW
Izzy P CampainUnited KingdomBernardo Dominic PROPOSAL
Kadeem K WieserJapanBernardo Dominic PROPOSAL
Mayumi I WhobreyArgentinaStephen Shaw UNQUALIFIED
Ivar K WieserIndiaIvan Magalhaes NEW
Kadeem F OldroydCanadaIvan Magalhaes RENEWAL
Alejandro Z WaycottRussiaAmy Elsner NEW
Johnson U ButtSpainAsiya Javayant NEGOTIATION
Cody E OldroydArgentinaAnna Fali UNQUALIFIED
Faith Q MorascaSpainIvan Magalhaes PROPOSAL
Nicolas Q CampainUnited KingdomOnyama Limba NEW
Leon H SergiBrazilOnyama Limba PROPOSAL
Aditya N MaletCanadaAmy Elsner UNQUALIFIED
Morrow G RutaJapanBernardo Dominic NEGOTIATION
Leja I CaldareraArgentinaElwin Sharvill NEGOTIATION
Leja C RutaArgentinaElwin Sharvill UNQUALIFIED
Antonio B CaudyArgentinaAsiya Javayant PROPOSAL

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