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
Izzy Z FlosiArgentinaBernardo Dominic QUALIFIED
Ivar I BowleyUnited KingdomAmy Elsner PROPOSAL
Morrow J MaletRussiaIoni Bowcher UNQUALIFIED
Clifford K VocelkaUnited KingdomStephen Shaw RENEWAL
Nicolas M BriddickCanadaIoni Bowcher QUALIFIED
Tony L PoquetteJapanAmy Elsner QUALIFIED
Costa Y RimRussiaIoni Bowcher RENEWAL
Aruna X PoquetteIndiaAnna Fali RENEWAL
Julie H VocelkaRussiaIoni Bowcher PROPOSAL
Arvin H WhobreyIndiaIvan Magalhaes UNQUALIFIED
Mayumi H SaylorsGermanyAnna Fali NEGOTIATION
Aruna F RoysterGermanyAsiya Javayant RENEWAL
Nicolas D DarakjyGermanyIvan Magalhaes NEGOTIATION
Kaitlin K MaletUnited KingdomBernardo Dominic RENEWAL
Sinclair U PoquetteFranceIoni Bowcher RENEWAL
Wickens E WieserBrazilIoni Bowcher UNQUALIFIED
Ashley S AmigonAustraliaAnna Fali UNQUALIFIED
Kadeem Q SchemmerBrazilAmy Elsner PROPOSAL
Maisha H GarufiRussiaElwin Sharvill QUALIFIED
Kadeem K OstroskyRussiaElwin Sharvill RENEWAL
Octavia C CaudyIndiaAsiya Javayant PROPOSAL
Costa P VocelkaItalyAsiya Javayant QUALIFIED
Leon S SlusarskiJapanIvan Magalhaes NEGOTIATION
Jefferson E GlickAustraliaElwin Sharvill UNQUALIFIED
Mujtaba N ShinkoArgentinaBernardo Dominic NEGOTIATION
Deepesh B GlickUnited KingdomStephen Shaw NEGOTIATION
Kadeem L SchemmerItalyBernardo Dominic RENEWAL
Adams W CampainBrazilBernardo Dominic NEGOTIATION
Maisha K BriddickRussiaOnyama Limba NEGOTIATION
Kadeem I ShinkoRussiaIoni Bowcher NEGOTIATION
Aika J DoeBrazilXuxue Feng PROPOSAL
Munro S GlickGermanyIoni Bowcher NEW
Silvio B ChuiJapanIoni Bowcher NEW
Aika A MacleadJapanAmy Elsner UNQUALIFIED
Darci N KolmetzCanadaAnna Fali RENEWAL
David Z PaprockiAustraliaStephen Shaw NEW
Maria O PaprockiIndiaBernardo Dominic UNQUALIFIED
Aika A CaudyAustraliaXuxue Feng PROPOSAL
Sinclair K CampainArgentinaStephen Shaw UNQUALIFIED
Arvin O FerenczRussiaIoni Bowcher UNQUALIFIED
Greenwood E RulapaughRussiaBernardo Dominic UNQUALIFIED
Darci I NestleItalyIoni Bowcher NEW
Antonio P MarrierBrazilIvan Magalhaes RENEWAL
Wickens A ChuiGermanyXuxue Feng QUALIFIED
Julie G PaprockiJapanIoni Bowcher NEW
Cody E MorascaSpainXuxue Feng RENEWAL
Leon O BologniaIndiaBernardo Dominic NEW
Ivar Y KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Cody K CaldareraSpainAsiya Javayant PROPOSAL
Aruna Z MorascaArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey O StensethGermanyIoni Bowcher PROPOSAL
Aika W WhobreyJapanStephen Shaw QUALIFIED
Antonio C FollerGermanyOnyama Limba NEGOTIATION
Alejandro T SlusarskiGermanyElwin Sharvill NEGOTIATION
Maria K DoeItalyAsiya Javayant NEW
Nicolas K CaldareraGermanyAsiya Javayant NEGOTIATION
Ricardo K MaletUnited KingdomBernardo Dominic NEW
Cody Q SaylorsFranceAsiya Javayant NEW
Murillo E WieserRussiaAmy Elsner NEGOTIATION
Wickens O IturbideIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith X CaldareraIndia2024-05-30Benton, John B Jr NEGOTIATION5Ivan Magalhaes
1001Maria O DilliardUnited Kingdom2024-06-04Chapman, Ross E Esq UNQUALIFIED27Elwin Sharvill
1002Julie H MorascaCanada2024-06-07Benton, John B Jr RENEWAL15Xuxue Feng
1003Sinclair U KuskoJapan2024-06-06King, Christopher A Esq RENEWAL41Onyama Limba
1004Faith T SchemmerJapan2024-05-30King, Christopher A Esq PROPOSAL22Stephen Shaw
1005Morrow W GlickIndia2024-06-17Rangoni Of Florence NEW55Xuxue Feng
1006Faith E DilliardUnited Kingdom2024-06-02Dorl, James J Esq RENEWAL99Anna Fali
1007Jefferson J PaprockiArgentina2024-06-06Morlong Associates NEGOTIATION83Amy Elsner
1008David L CampainUnited Kingdom2024-06-18Buckley Miller Wright NEGOTIATION46Xuxue Feng
1009Maria I MorascaJapan2024-05-29Feltz Printing Service RENEWAL36Anna Fali
1010Juan N SaylorsBrazil2024-06-05Chapman, Ross E Esq NEGOTIATION91Anna Fali
1011Wickens O PoquetteGermany2024-06-08Chanay, Jeffrey A Esq NEGOTIATION88Asiya Javayant
1012Kaitlin F WhobreyIndia2024-06-12Dorl, James J Esq NEGOTIATION10Ioni Bowcher
1013Jeanfrancois W InouyeGermany2024-05-26Morlong Associates NEGOTIATION23Xuxue Feng
1014Maisha D WaycottArgentina2024-06-06Printing Dimensions UNQUALIFIED51Xuxue Feng
1015Sinclair I WaycottSpain2024-06-15Truhlar And Truhlar Attys RENEWAL6Elwin Sharvill
1016Sinclair D DoeBrazil2024-06-09Commercial Press NEW97Stephen Shaw
1017Nicolas V NestleGermany2024-06-17Dorl, James J Esq NEGOTIATION69Elwin Sharvill
1018Morrow Q InouyeIndia2024-06-10Dorl, James J Esq QUALIFIED53Bernardo Dominic
1019Munro Z OldroydFrance2024-06-15Benton, John B Jr RENEWAL39Ivan Magalhaes
1020Jennifer V DoeBrazil2024-06-04Dorl, James J Esq RENEWAL79Asiya Javayant
1021Faith F ButtGermany2024-06-19Chanay, Jeffrey A Esq QUALIFIED14Amy Elsner
1022Juan C SaylorsJapan2024-05-30Chemel, James L Cpa RENEWAL6Onyama Limba
1023Jefferson P BriddickJapan2024-06-23Rousseaux, Michael Esq RENEWAL30Amy Elsner
1024Kadeem A SchemmerUnited Kingdom2024-06-12Dorl, James J Esq UNQUALIFIED83Asiya Javayant
1025Rodrigues M WieserJapan2024-06-01King, Christopher A Esq RENEWAL40Ioni Bowcher
1026Francesco Z FerenczRussia2024-06-09Printing Dimensions NEW68Elwin Sharvill
1027Faith F DilliardGermany2024-05-26Buckley Miller Wright RENEWAL99Xuxue Feng
1028Morrow W BriddickRussia2024-06-24Commercial Press PROPOSAL71Ioni Bowcher
1029Salvatore Q AmigonItaly2024-05-30Morlong Associates RENEWAL45Xuxue Feng
1030Rodrigues X SlusarskiFrance2024-06-16Feiner Bros RENEWAL16Asiya Javayant
1031Ashley N NickaArgentina2024-05-28Benton, John B Jr NEGOTIATION26Amy Elsner
1032Rodrigues F NickaSpain2024-06-22Truhlar And Truhlar Attys UNQUALIFIED31Amy Elsner
1033Jeanfrancois E PerinFrance2024-06-06Morlong Associates PROPOSAL90Anna Fali
1034Kaitlin V WieserItaly2024-06-03Benton, John B Jr UNQUALIFIED34Anna Fali
1035Jones L WaycottCanada2024-06-06Benton, John B Jr UNQUALIFIED47Xuxue Feng
1036Stacey L MorascaAustralia2024-06-24Rangoni Of Florence NEW79Ioni Bowcher
1037Misaki U WhobreyItaly2024-06-01Dorl, James J Esq QUALIFIED85Elwin Sharvill
1038Isabel U KuskoBrazil2024-06-06King, Christopher A Esq NEGOTIATION3Xuxue Feng
1039Antonio Z RulapaughRussia2024-05-29Buckley Miller Wright NEGOTIATION59Elwin Sharvill
1040Mujtaba C FigeroaRussia2024-05-27Truhlar And Truhlar Attys NEW43Ivan Magalhaes
1041Aditya C CaudyJapan2024-06-24Buckley Miller Wright QUALIFIED10Bernardo Dominic
1042Faith N KuskoIndia2024-05-26Dorl, James J Esq RENEWAL0Ivan Magalhaes
1043Jefferson M NestleGermany2024-05-28Rousseaux, Michael Esq NEW41Asiya Javayant
1044Leon N CaudyBrazil2024-05-30Chemel, James L Cpa NEW9Anna Fali
1045Isabel R VocelkaSpain2024-06-13Dorl, James J Esq QUALIFIED33Onyama Limba
1046Julie O GlickBrazil2024-06-23King, Christopher A Esq QUALIFIED33Amy Elsner
1047Francesco Y PerinBrazil2024-06-19Feltz Printing Service UNQUALIFIED23Amy Elsner
1048Ivar S PaprockiJapan2024-06-08Chanay, Jeffrey A Esq NEW34Asiya Javayant
1049Munro C ShinkoCanada2024-06-12Rousseaux, Michael Esq QUALIFIED7Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore B PaprockiCanadaAsiya Javayant NEW
Arvin N RimIndiaAnna Fali QUALIFIED
Tony H MaletIndiaBernardo Dominic NEGOTIATION
Maisha H DarakjySpainIoni Bowcher PROPOSAL
Claire Z VocelkaItalyAmy Elsner UNQUALIFIED
Adams P CampainBrazilAmy Elsner NEGOTIATION
Emily N OldroydFranceOnyama Limba NEW
Izzy J DoeBrazilAnna Fali NEGOTIATION
Emily A FollerAustraliaXuxue Feng NEW
Ivar U IturbideRussiaBernardo Dominic QUALIFIED
Adams Q ShinkoSpainAnna Fali UNQUALIFIED
Morrow S MorascaRussiaIvan Magalhaes QUALIFIED
Arvin J BowleyGermanyBernardo Dominic RENEWAL
Misaki E FigeroaItalyOnyama Limba NEW
Leon L InouyeJapanStephen Shaw RENEWAL
Clifford U CaldareraItalyAsiya Javayant QUALIFIED
Faith L ButtBrazilAnna Fali NEW
Faith V WieserSpainStephen Shaw UNQUALIFIED
Salvatore V RutaSpainOnyama Limba NEGOTIATION
Darci E KuskoRussiaXuxue Feng NEGOTIATION
Ashley C MaletCanadaOnyama Limba NEW
Greenwood V StockhamRussiaElwin Sharvill NEGOTIATION
Alejandro U BowleyItalyAsiya Javayant UNQUALIFIED
James Y MaletFranceStephen Shaw PROPOSAL
Rodrigues D AmigonArgentinaAmy Elsner NEW
David R MaletJapanIvan Magalhaes PROPOSAL
Johnson I SchemmerIndiaAnna Fali QUALIFIED
Stacey F CaudyIndiaAnna Fali NEW
Adams L SlusarskiGermanyAsiya Javayant PROPOSAL
Arvin M ShinkoFranceAnna Fali NEGOTIATION
Alejandro I RutaUnited KingdomAsiya Javayant NEGOTIATION
Antonio K MacleadBrazilIvan Magalhaes UNQUALIFIED
Arvin S KolmetzCanadaIvan Magalhaes RENEWAL
Nicolas U GauchoFranceXuxue Feng QUALIFIED
Jeanfrancois D FigeroaGermanyAsiya Javayant PROPOSAL
Kaitlin V DoeGermanyAsiya Javayant NEGOTIATION
Munro V FlosiArgentinaElwin Sharvill NEGOTIATION
Murillo D ButtArgentinaAnna Fali NEGOTIATION
David T OstroskyIndiaIvan Magalhaes PROPOSAL
Izzy J GillianGermanyIoni Bowcher NEGOTIATION
Isabel Q AmigonCanadaIoni Bowcher PROPOSAL
Cody C WhobreyItalyStephen Shaw UNQUALIFIED
Ricardo F OldroydFranceOnyama Limba RENEWAL
Ricardo T WhobreyUnited KingdomAnna Fali NEGOTIATION
Rodrigues L RulapaughFranceIvan Magalhaes NEGOTIATION
Rodrigues L VenereArgentinaXuxue Feng NEGOTIATION
Silvio K ChuiItalyIvan Magalhaes RENEWAL
Nicolas O DarakjyIndiaXuxue Feng NEW
Costa D WaycottUnited KingdomIvan Magalhaes NEW
Maria A StockhamItalyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Salvatore Y Caudy
Murillo M Garufi
Antonio E Poquette
Rodrigues B Glick
Emily F Shinko
Rodrigues M Bowley
Sinclair R Sergi
Isabel N Briddick
Aika Y Inouye
Munro U Oldroyd
Adams P Doe
Johnson B Dilliard
David Z Dilliard
Chavez L Ostrosky
Maisha K Royster
Aruna X Bowley
Chavez R Garufi
Julie N Caudy
Murillo V Slusarski
Jeanfrancois Q Glick
Smith P Chui
Aika D Rulapaugh
Isabel G Iturbide
Wickens L Malet
Aruna N Flosi
Maisha K Nicka
Francesco N Royster
Johnson C Waycott
Maisha E Iturbide
Julie G Butt
Rodrigues H Poquette
Francesco P Wieser
Ashley O Darakjy
Mayumi H Malet
Aditya L Campain
Kadeem E Dilliard
Maisha I Sergi
Chavez T Bowley
Ashley G Malet
Kaitlin J Garufi
Julie Z Kolmetz
Kadeem K Nicka
David U Whobrey
Mayumi M Ruta
Wickens P Iturbide
Arvin L Kusko
Francesco A Stockham
Rodrigues K Schemmer
Morrow T Gaucho
Julie I Royster
IdCountryDate
1000Germany2024-05-30
1001France2024-06-13
1002Australia2024-05-31
1003Argentina2024-06-09
1004Spain2024-05-31
1005Brazil2024-06-11
1006Brazil2024-06-12
1007Italy2024-06-01
1008India2024-06-19
1009United Kingdom2024-06-15
1010Japan2024-05-29
1011France2024-06-05
1012Argentina2024-06-06
1013Russia2024-06-18
1014Japan2024-06-15
1015Japan2024-06-03
1016Russia2024-05-29
1017Canada2024-06-07
1018Brazil2024-06-12
1019Spain2024-06-12
1020Germany2024-05-30
1021Brazil2024-05-27
1022Spain2024-06-14
1023Argentina2024-06-02
1024Germany2024-05-30
1025Russia2024-05-27
1026Japan2024-05-27
1027Australia2024-05-29
1028Australia2024-06-18
1029Japan2024-06-11
1030Spain2024-06-04
1031Germany2024-06-14
1032Canada2024-06-02
1033Argentina2024-06-01
1034Australia2024-05-31
1035Canada2024-06-14
1036Germany2024-06-18
1037Canada2024-06-01
1038Russia2024-05-31
1039France2024-06-20
1040India2024-06-04
1041France2024-06-04
1042United Kingdom2024-05-28
1043France2024-06-08
1044India2024-05-31
1045Germany2024-06-22
1046India2024-05-26
1047Brazil2024-05-30
1048Argentina2024-06-19
1049Brazil2024-05-28

On-Demand Data

NameIdCountryDate
Claire K Nicka1000India2024-06-10
Alejandro L Vocelka1001France2024-06-13
Munro F Nicka1002Russia2024-06-24
Ivar F Gaucho1003India2024-06-23
Wickens C Caudy1004Italy2024-06-22
Ivar W Foller1005Germany2024-06-05
Claire E Briddick1006Italy2024-06-08
Chavez E Caldarera1007Spain2024-05-30
Juan J Garufi1008Germany2024-06-17
Emily O Stockham1009France2024-06-17
Kadeem M Gaucho1010United Kingdom2024-06-04
Mujtaba X Poquette1011Australia2024-06-22
Greenwood N Whobrey1012United Kingdom2024-06-10
Rodrigues G Rulapaugh1013Japan2024-05-31
Wickens Y Shinko1014United Kingdom2024-06-24
Alejandro W Wieser1015Italy2024-06-02
Faith M Briddick1016Argentina2024-06-12
Leja K Venere1017United Kingdom2024-05-27
Munro M Ferencz1018France2024-06-13
Emily P Inouye1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith C MarrierGermanyStephen Shaw QUALIFIED
Octavia N GlickUnited KingdomIvan Magalhaes PROPOSAL
Mayumi J KuskoUnited KingdomOnyama Limba NEW
Rodrigues W FlosiJapanIvan Magalhaes NEGOTIATION
Silvio A OldroydRussiaAsiya Javayant NEGOTIATION
Ivar P RimUnited KingdomXuxue Feng UNQUALIFIED
Deepesh V NickaGermanyElwin Sharvill RENEWAL
Tony X ChuiUnited KingdomElwin Sharvill RENEWAL
Leon H DoeIndiaIvan Magalhaes UNQUALIFIED
Aruna S SlusarskiBrazilElwin Sharvill NEW
Deepesh G PaprockiUnited KingdomElwin Sharvill RENEWAL
Costa C SlusarskiAustraliaIoni Bowcher NEW
Ricardo C WhobreyFranceElwin Sharvill QUALIFIED
Ricardo H MorascaFranceElwin Sharvill NEW
Jones C SaylorsItalyIvan Magalhaes NEGOTIATION
Morrow F MorascaGermanyStephen Shaw QUALIFIED
Wickens C WieserIndiaAnna Fali NEGOTIATION
Greenwood J FlosiGermanyStephen Shaw PROPOSAL
Jeanfrancois T ButtJapanXuxue Feng UNQUALIFIED
Aditya O ShinkoIndiaStephen Shaw UNQUALIFIED
Antonio I CampainBrazilBernardo Dominic UNQUALIFIED
Claire E PaprockiSpainStephen Shaw NEW
Sinclair K NickaJapanAsiya Javayant PROPOSAL
Salvatore M SchemmerBrazilStephen Shaw NEGOTIATION
Faith T DoeIndiaBernardo Dominic UNQUALIFIED
Izzy T VocelkaBrazilXuxue Feng PROPOSAL
Kadeem Z WaycottUnited KingdomStephen Shaw UNQUALIFIED
Chavez B InouyeBrazilIvan Magalhaes NEW
Tony C BriddickJapanAnna Fali RENEWAL
Julie Y VocelkaArgentinaOnyama Limba QUALIFIED
Johnson Z ShinkoCanadaAmy Elsner NEW
Smith I KolmetzGermanyIvan Magalhaes QUALIFIED
Silvio M OstroskyUnited KingdomBernardo Dominic PROPOSAL
Izzy A RimCanadaStephen Shaw NEW
Isabel I ChuiCanadaIoni Bowcher UNQUALIFIED
Salvatore W MaletFranceAnna Fali NEGOTIATION
Adams Y GarufiSpainOnyama Limba RENEWAL
Izzy L FollerAustraliaAmy Elsner QUALIFIED
Mayumi O RimItalyAsiya Javayant RENEWAL
Adams Y BowleyFranceIoni Bowcher 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>