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
Arvin M MacleadSpainElwin Sharvill NEGOTIATION
Ivar E WhobreyItalyElwin Sharvill PROPOSAL
Costa I OstroskyBrazilOnyama Limba PROPOSAL
Wickens B CampainSpainStephen Shaw RENEWAL
Kaitlin Q GillianArgentinaAnna Fali QUALIFIED
Johnson P BriddickIndiaStephen Shaw RENEWAL
Ivar W ChuiItalyIoni Bowcher QUALIFIED
Jeanfrancois X KuskoSpainXuxue Feng UNQUALIFIED
Octavia D TollnerBrazilElwin Sharvill NEW
Adams O DilliardAustraliaAsiya Javayant NEW
Mayumi B KuskoArgentinaIvan Magalhaes QUALIFIED
Arvin A DarakjyAustraliaElwin Sharvill UNQUALIFIED
Kadeem H MaletItalyAmy Elsner RENEWAL
Maria Q BriddickFranceAmy Elsner PROPOSAL
Juan A CaudyAustraliaXuxue Feng NEGOTIATION
Jeanfrancois Q ShinkoItalyStephen Shaw UNQUALIFIED
Kaitlin A CaldareraItalyBernardo Dominic PROPOSAL
Isabel L WieserArgentinaOnyama Limba QUALIFIED
Leja T SaylorsCanadaOnyama Limba NEW
Julie M CampainJapanOnyama Limba QUALIFIED
Leja D DarakjyIndiaIoni Bowcher RENEWAL
Greenwood Q ButtItalyOnyama Limba NEW
Antonio W SaylorsArgentinaIoni Bowcher NEW
Ashley R MacleadRussiaIvan Magalhaes QUALIFIED
Julie S IturbideRussiaStephen Shaw RENEWAL
Misaki P WieserUnited KingdomOnyama Limba PROPOSAL
Ashley W KolmetzItalyAnna Fali RENEWAL
Murillo Y RulapaughBrazilIoni Bowcher PROPOSAL
Adams V PerinAustraliaElwin Sharvill NEW
Jeanfrancois F CaudyArgentinaAnna Fali NEW
Mujtaba G PaprockiAustraliaStephen Shaw NEW
Emily F MarrierUnited KingdomAmy Elsner NEW
Stacey Z BriddickGermanyBernardo Dominic QUALIFIED
Maria P GauchoJapanElwin Sharvill NEGOTIATION
Octavia K NestleCanadaAmy Elsner RENEWAL
Kadeem Z VenereIndiaXuxue Feng NEGOTIATION
Francesco Y WaycottArgentinaIvan Magalhaes RENEWAL
Smith N BowleyArgentinaIoni Bowcher NEW
Francesco P OldroydUnited KingdomAnna Fali NEW
Faith L FollerGermanyIvan Magalhaes QUALIFIED
Adams K FerenczBrazilIvan Magalhaes NEGOTIATION
Leon X ChuiUnited KingdomOnyama Limba PROPOSAL
Faith T InouyeBrazilBernardo Dominic UNQUALIFIED
Nicolas A CampainIndiaAsiya Javayant QUALIFIED
Greenwood Y FollerFranceAnna Fali PROPOSAL
Sinclair L CampainSpainIoni Bowcher UNQUALIFIED
Sinclair T AlbaresArgentinaAmy Elsner QUALIFIED
Francesco L ChuiGermanyElwin Sharvill PROPOSAL
Ricardo L NickaIndiaAnna Fali PROPOSAL
Deepesh E SchemmerSpainIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika M GarufiCanadaBernardo Dominic PROPOSAL
Antonio I WaycottRussiaAmy Elsner NEW
Silvio V StensethAustraliaElwin Sharvill QUALIFIED
Stacey Q RutaIndiaAmy Elsner PROPOSAL
Stacey N MorascaAustraliaAsiya Javayant UNQUALIFIED
Silvio D BowleyCanadaStephen Shaw QUALIFIED
Mujtaba W PerinGermanyIoni Bowcher UNQUALIFIED
Mayumi H SlusarskiRussiaIoni Bowcher NEW
Arvin C NestleUnited KingdomXuxue Feng RENEWAL
Claire T MarrierCanadaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues T ButtArgentina2024-06-14Commercial Press RENEWAL0Stephen Shaw
1001Izzy F WaycottIndia2024-06-01Commercial Press QUALIFIED77Anna Fali
1002Leja D DoeAustralia2024-06-21Chemel, James L Cpa NEGOTIATION63Xuxue Feng
1003Cody C DarakjyRussia2024-06-18Feltz Printing Service UNQUALIFIED42Ioni Bowcher
1004Francesco C StockhamItaly2024-06-01Truhlar And Truhlar Attys RENEWAL5Anna Fali
1005Clifford G StensethArgentina2024-06-21Commercial Press NEW71Bernardo Dominic
1006Clifford F RulapaughIndia2024-06-10Chanay, Jeffrey A Esq NEW43Bernardo Dominic
1007Kaitlin K SchemmerAustralia2024-06-11Rousseaux, Michael Esq NEW38Amy Elsner
1008Rodrigues O StensethSpain2024-06-10Printing Dimensions NEGOTIATION9Ivan Magalhaes
1009Emily A KuskoBrazil2024-06-17Printing Dimensions NEW66Onyama Limba
1010Arvin E PoquetteItaly2024-06-15Truhlar And Truhlar Attys NEW5Onyama Limba
1011Julie F GlickIndia2024-06-22Chemel, James L Cpa NEGOTIATION1Amy Elsner
1012Greenwood H PoquetteUnited Kingdom2024-05-27Chapman, Ross E Esq RENEWAL16Ivan Magalhaes
1013Jefferson V AmigonArgentina2024-06-16Printing Dimensions PROPOSAL69Stephen Shaw
1014Octavia S VenereAustralia2024-05-29Commercial Press PROPOSAL74Stephen Shaw
1015Mujtaba Q MarrierCanada2024-06-20Rangoni Of Florence PROPOSAL72Xuxue Feng
1016Leja U MorascaArgentina2024-06-07Morlong Associates NEW99Stephen Shaw
1017Octavia Z MaletJapan2024-05-28Truhlar And Truhlar Attys QUALIFIED50Anna Fali
1018Deepesh T KolmetzArgentina2024-06-21Chemel, James L Cpa QUALIFIED89Stephen Shaw
1019Silvio T CaldareraUnited Kingdom2024-06-01Chemel, James L Cpa NEGOTIATION60Bernardo Dominic
1020Costa Y VenereSpain2024-06-14Feiner Bros NEGOTIATION28Stephen Shaw
1021Nicolas N GlickFrance2024-06-16Printing Dimensions UNQUALIFIED21Bernardo Dominic
1022Alejandro H FollerGermany2024-05-31Benton, John B Jr NEW62Amy Elsner
1023Silvio R StockhamItaly2024-06-04Feiner Bros QUALIFIED33Ioni Bowcher
1024Isabel O DarakjyRussia2024-06-12Rousseaux, Michael Esq NEGOTIATION63Amy Elsner
1025Rodrigues B MarrierCanada2024-06-16King, Christopher A Esq NEGOTIATION0Ivan Magalhaes
1026Nicolas L TollnerCanada2024-05-24King, Christopher A Esq NEW18Onyama Limba
1027Maisha A RoysterArgentina2024-06-11Dorl, James J Esq NEGOTIATION51Amy Elsner
1028Johnson Y IturbideAustralia2024-06-08Dorl, James J Esq NEGOTIATION58Bernardo Dominic
1029Rodrigues G MorascaItaly2024-05-31Dorl, James J Esq RENEWAL55Anna Fali
1030Aditya S RoysterRussia2024-06-16Truhlar And Truhlar Attys RENEWAL45Ivan Magalhaes
1031Morrow D BowleyUnited Kingdom2024-05-30Dorl, James J Esq NEW39Xuxue Feng
1032Maria O NestleBrazil2024-05-30Chanay, Jeffrey A Esq QUALIFIED36Amy Elsner
1033Silvio L RoysterArgentina2024-06-04Chapman, Ross E Esq RENEWAL83Amy Elsner
1034Clifford C TollnerBrazil2024-06-22Chapman, Ross E Esq PROPOSAL54Anna Fali
1035Maisha D AlbaresSpain2024-06-01Feltz Printing Service UNQUALIFIED19Asiya Javayant
1036Juan H PerinAustralia2024-06-02Chanay, Jeffrey A Esq QUALIFIED6Onyama Limba
1037Munro V KuskoSpain2024-06-12Chapman, Ross E Esq QUALIFIED51Ioni Bowcher
1038Sinclair R PoquetteSpain2024-05-28Rousseaux, Michael Esq PROPOSAL58Stephen Shaw
1039Jeanfrancois O KolmetzGermany2024-05-28Chapman, Ross E Esq PROPOSAL79Bernardo Dominic
1040Ivar Y KuskoGermany2024-06-21Dorl, James J Esq QUALIFIED92Amy Elsner
1041Emily M BowleyJapan2024-06-11Benton, John B Jr PROPOSAL44Xuxue Feng
1042Adams B PoquetteIndia2024-06-20King, Christopher A Esq NEGOTIATION20Asiya Javayant
1043Francesco A DoeItaly2024-06-13Benton, John B Jr UNQUALIFIED46Stephen Shaw
1044Adams E BowleyFrance2024-06-06Rangoni Of Florence QUALIFIED31Asiya Javayant
1045Maria Z BowleyBrazil2024-05-30Chapman, Ross E Esq RENEWAL96Stephen Shaw
1046Misaki R DilliardCanada2024-05-25King, Christopher A Esq PROPOSAL81Ivan Magalhaes
1047Greenwood K FigeroaIndia2024-06-22Chapman, Ross E Esq RENEWAL28Elwin Sharvill
1048Octavia N PoquetteRussia2024-06-02King, Christopher A Esq NEGOTIATION34Asiya Javayant
1049Cody A PerinRussia2024-06-01Dorl, James J Esq UNQUALIFIED73Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jones T SchemmerCanadaElwin Sharvill RENEWAL
Mayumi M GarufiIndiaAnna Fali RENEWAL
Stacey Y GlickBrazilXuxue Feng PROPOSAL
Kadeem O VocelkaCanadaAsiya Javayant NEGOTIATION
Jeanfrancois Q WhobreyGermanyAnna Fali NEW
Alejandro Y FigeroaJapanAmy Elsner NEGOTIATION
Ricardo D SergiRussiaXuxue Feng UNQUALIFIED
Tony K AlbaresGermanyAsiya Javayant PROPOSAL
Maria J ButtArgentinaAnna Fali UNQUALIFIED
Leon Y SchemmerIndiaElwin Sharvill RENEWAL
Salvatore P AmigonSpainElwin Sharvill PROPOSAL
Jennifer J StensethJapanElwin Sharvill RENEWAL
Tony N ChuiAustraliaIoni Bowcher NEW
Juan U SergiRussiaOnyama Limba NEGOTIATION
Wickens O GlickJapanAsiya Javayant QUALIFIED
Morrow G ButtGermanyStephen Shaw RENEWAL
Arvin P NickaIndiaStephen Shaw UNQUALIFIED
Kaitlin Y VenereItalyAnna Fali PROPOSAL
Maisha S VenereIndiaAmy Elsner NEW
Arvin C PerinIndiaIoni Bowcher UNQUALIFIED
Jennifer B OstroskySpainIoni Bowcher PROPOSAL
Kaitlin G StockhamSpainOnyama Limba NEW
Morrow S DilliardGermanyXuxue Feng UNQUALIFIED
Darci I GarufiIndiaElwin Sharvill NEGOTIATION
Ricardo Q AlbaresJapanIoni Bowcher PROPOSAL
Faith X BowleyIndiaOnyama Limba QUALIFIED
Izzy E CampainGermanyAsiya Javayant UNQUALIFIED
Antonio S AlbaresAustraliaOnyama Limba NEGOTIATION
Maria I MaletRussiaElwin Sharvill PROPOSAL
Kadeem F StockhamCanadaAnna Fali PROPOSAL
Johnson Y SergiAustraliaAmy Elsner NEGOTIATION
Sinclair U WhobreyGermanyAsiya Javayant RENEWAL
Misaki P VenereAustraliaAsiya Javayant UNQUALIFIED
Stacey D GauchoItalyOnyama Limba NEGOTIATION
Ivar Z KuskoAustraliaElwin Sharvill RENEWAL
Antonio U TollnerCanadaXuxue Feng PROPOSAL
Mujtaba K GlickJapanIoni Bowcher PROPOSAL
Aruna Z ChuiJapanAnna Fali QUALIFIED
Alejandro E CaldareraRussiaBernardo Dominic QUALIFIED
Alejandro N SaylorsCanadaOnyama Limba NEW
Costa H StockhamUnited KingdomIoni Bowcher QUALIFIED
Rodrigues W SlusarskiFranceOnyama Limba QUALIFIED
Aruna L DilliardRussiaAnna Fali NEW
Emily P NickaIndiaAmy Elsner RENEWAL
Silvio F MacleadIndiaStephen Shaw NEGOTIATION
Ivar R FollerAustraliaIvan Magalhaes PROPOSAL
Kaitlin Q FigeroaAustraliaAmy Elsner RENEWAL
Jones A SergiSpainBernardo Dominic UNQUALIFIED
Kaitlin T MacleadRussiaXuxue Feng RENEWAL
Ricardo S InouyeFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Izzy N Nicka
Maisha K Iturbide
Johnson L Royster
Leja X Caldarera
Ricardo J Saylors
Jones L Gillian
Darci G Perin
Rodrigues R Bolognia
Ashley V Briddick
Antonio O Albares
Costa O Amigon
Costa I Whobrey
Smith A Ostrosky
Maria E Nestle
Aditya D Inouye
Munro A Venere
Jeanfrancois N Foller
Maisha A Inouye
Leja A Campain
Morrow W Stenseth
Tony E Malet
Juan F Nestle
Greenwood Z Marrier
Misaki W Foller
Emily P Foller
Isabel V Doe
Salvatore M Stenseth
Sinclair S Albares
Rodrigues J Ruta
Greenwood L Bolognia
Emily Y Maclead
Faith L Doe
Mujtaba R Malet
Mayumi E Briddick
Faith J Gaucho
Maria J Briddick
Julie Y Slusarski
Murillo R Schemmer
Smith E Foller
Ricardo N Wieser
Kaitlin C Glick
Costa P Venere
Chavez Y Kusko
Darci V Rulapaugh
Francesco N Ruta
Nicolas T Malet
Ricardo I Saylors
Rodrigues P Oldroyd
Mayumi T Doe
Murillo Y Whobrey
IdCountryDate
1000Australia2024-06-09
1001Brazil2024-05-31
1002Spain2024-06-01
1003Japan2024-06-15
1004Italy2024-05-26
1005Argentina2024-06-12
1006Russia2024-05-29
1007Russia2024-06-07
1008Spain2024-06-05
1009Argentina2024-06-03
1010Russia2024-06-15
1011United Kingdom2024-06-11
1012Germany2024-06-02
1013Australia2024-05-28
1014United Kingdom2024-06-21
1015Japan2024-06-09
1016Argentina2024-05-28
1017Argentina2024-06-04
1018Italy2024-06-01
1019Italy2024-06-14
1020Germany2024-06-02
1021Argentina2024-06-03
1022Italy2024-05-26
1023Canada2024-06-04
1024India2024-05-31
1025Italy2024-06-07
1026Japan2024-05-24
1027France2024-06-19
1028Germany2024-06-21
1029India2024-06-14
1030Australia2024-06-01
1031Argentina2024-06-09
1032Spain2024-06-03
1033Canada2024-05-27
1034United Kingdom2024-05-29
1035France2024-06-21
1036Brazil2024-05-30
1037Japan2024-06-06
1038Argentina2024-06-02
1039Brazil2024-06-12
1040Russia2024-06-21
1041Brazil2024-06-05
1042Germany2024-06-20
1043Italy2024-06-18
1044Japan2024-06-04
1045Spain2024-06-04
1046Spain2024-06-19
1047Spain2024-06-20
1048United Kingdom2024-06-05
1049Australia2024-06-10

On-Demand Data

NameIdCountryDate
Munro T Figeroa1000Spain2024-06-03
Izzy I Foller1001Canada2024-06-01
David C Kolmetz1002Italy2024-06-03
Stacey Y Slusarski1003Argentina2024-05-30
Kaitlin F Venere1004Russia2024-05-24
Jefferson H Dilliard1005Spain2024-05-31
Kaitlin R Venere1006Japan2024-06-07
Juan Y Nestle1007Italy2024-05-30
Juan K Paprocki1008United Kingdom2024-06-09
Salvatore P Kusko1009France2024-06-05
James C Bolognia1010Japan2024-06-17
Nicolas I Maclead1011Germany2024-05-24
Morrow S Marrier1012Argentina2024-05-26
Leon T Flosi1013Italy2024-06-01
Juan O Ostrosky1014Australia2024-06-01
Rodrigues E Wieser1015United Kingdom2024-06-02
Deepesh Q Bolognia1016Italy2024-06-05
Jeanfrancois T Nestle1017Spain2024-06-15
Mayumi A Dilliard1018Russia2024-06-02
Murillo J Nestle1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio I GillianBrazilAsiya Javayant RENEWAL
Munro C PoquetteItalyOnyama Limba RENEWAL
Stacey I FigeroaFranceXuxue Feng NEW
Smith W MorascaJapanAmy Elsner UNQUALIFIED
Chavez W KuskoIndiaXuxue Feng NEGOTIATION
Maisha J InouyeItalyOnyama Limba PROPOSAL
Jones B DilliardItalyOnyama Limba UNQUALIFIED
Alejandro K StockhamRussiaIoni Bowcher UNQUALIFIED
Smith O MaletItalyElwin Sharvill PROPOSAL
Maisha F FollerArgentinaBernardo Dominic UNQUALIFIED
Sinclair N CaudyUnited KingdomAsiya Javayant QUALIFIED
Chavez C StensethUnited KingdomIvan Magalhaes QUALIFIED
Kadeem K FlosiSpainStephen Shaw UNQUALIFIED
Rodrigues N RutaBrazilOnyama Limba QUALIFIED
Isabel O VenereAustraliaIvan Magalhaes NEW
Wickens C FigeroaRussiaStephen Shaw UNQUALIFIED
Misaki K WhobreyCanadaElwin Sharvill RENEWAL
Aditya Z GauchoBrazilOnyama Limba UNQUALIFIED
Jefferson P SchemmerFranceAnna Fali PROPOSAL
Johnson K ShinkoIndiaElwin Sharvill NEW
Kadeem B NestleUnited KingdomAnna Fali QUALIFIED
Jeanfrancois D ButtArgentinaAsiya Javayant PROPOSAL
Emily L BologniaIndiaAnna Fali NEGOTIATION
Maisha R WhobreyAustraliaStephen Shaw RENEWAL
Clifford T CaldareraAustraliaIoni Bowcher NEW
Morrow I FollerIndiaAmy Elsner NEW
Arvin B AlbaresGermanyAmy Elsner NEW
Ashley V MarrierItalyAsiya Javayant PROPOSAL
Maisha Z CampainSpainAsiya Javayant NEGOTIATION
Rodrigues A GarufiRussiaXuxue Feng UNQUALIFIED
Ashley E RutaGermanyIvan Magalhaes NEW
Cody T RoysterItalyAsiya Javayant PROPOSAL
Silvio T PaprockiBrazilStephen Shaw NEGOTIATION
Ricardo M MaletIndiaAmy Elsner QUALIFIED
Aditya A NickaJapanAnna Fali RENEWAL
Adams H SergiSpainAnna Fali NEW
Maisha U PerinGermanyAsiya Javayant NEW
Octavia L SlusarskiSpainStephen Shaw QUALIFIED
Darci Y FigeroaAustraliaXuxue Feng QUALIFIED
Smith R KolmetzItalyIoni Bowcher UNQUALIFIED

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