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
Ricardo T FigeroaGermanyAmy Elsner NEGOTIATION
Tony V OstroskyUnited KingdomIoni Bowcher RENEWAL
Ashley H SlusarskiAustraliaIvan Magalhaes RENEWAL
Alejandro Y CaldareraSpainXuxue Feng UNQUALIFIED
Jones D FlosiBrazilBernardo Dominic NEW
David B BowleyCanadaIvan Magalhaes NEW
Aruna Y KuskoGermanyBernardo Dominic RENEWAL
Octavia I BriddickCanadaIoni Bowcher QUALIFIED
Aika B OldroydSpainIoni Bowcher NEGOTIATION
Salvatore B StensethSpainElwin Sharvill UNQUALIFIED
Mayumi M GauchoIndiaOnyama Limba RENEWAL
Leja O SchemmerSpainIoni Bowcher RENEWAL
Ivar S SergiAustraliaOnyama Limba QUALIFIED
Mujtaba E GarufiUnited KingdomBernardo Dominic NEW
Mujtaba B GarufiIndiaAsiya Javayant QUALIFIED
Smith Q RimGermanyIvan Magalhaes UNQUALIFIED
Julie F PaprockiGermanyAsiya Javayant QUALIFIED
Rodrigues O GlickSpainElwin Sharvill PROPOSAL
Arvin D ButtAustraliaOnyama Limba UNQUALIFIED
Wickens U SlusarskiIndiaAmy Elsner RENEWAL
Maisha H PaprockiGermanyAmy Elsner RENEWAL
Stacey H WhobreyJapanIvan Magalhaes RENEWAL
Jones I BriddickSpainStephen Shaw PROPOSAL
Arvin Y StensethBrazilAmy Elsner NEW
Tony A MaletAustraliaIoni Bowcher PROPOSAL
Deepesh Q GarufiJapanIoni Bowcher QUALIFIED
Sinclair A OstroskyUnited KingdomStephen Shaw NEW
Costa N FlosiUnited KingdomAsiya Javayant RENEWAL
Jefferson V KolmetzAustraliaBernardo Dominic RENEWAL
Deepesh N VocelkaJapanIoni Bowcher NEGOTIATION
James D FerenczBrazilElwin Sharvill PROPOSAL
Salvatore Z WaycottArgentinaOnyama Limba RENEWAL
Isabel C ChuiBrazilBernardo Dominic QUALIFIED
Arvin U CampainSpainOnyama Limba NEGOTIATION
Mayumi I ButtSpainAmy Elsner NEGOTIATION
Stacey M CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Julie P MorascaUnited KingdomAmy Elsner RENEWAL
Sinclair N OstroskyFranceOnyama Limba PROPOSAL
Ashley S TollnerBrazilAnna Fali RENEWAL
Emily B DilliardBrazilStephen Shaw UNQUALIFIED
Jefferson S ChuiFranceIoni Bowcher NEW
Johnson O CaldareraSpainIoni Bowcher UNQUALIFIED
Arvin H BologniaAustraliaAsiya Javayant PROPOSAL
Jones L CampainUnited KingdomAsiya Javayant NEGOTIATION
Cody A KuskoCanadaElwin Sharvill QUALIFIED
Julie L PoquetteFranceAsiya Javayant PROPOSAL
Julie X StockhamBrazilAsiya Javayant RENEWAL
Aditya R StensethJapanIoni Bowcher UNQUALIFIED
Arvin S MarrierBrazilStephen Shaw QUALIFIED
Rodrigues K InouyeSpainIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams R RimArgentinaAnna Fali QUALIFIED
Ricardo I BologniaIndiaElwin Sharvill UNQUALIFIED
Rodrigues E WaycottGermanyIvan Magalhaes PROPOSAL
Tony U MacleadBrazilBernardo Dominic RENEWAL
Julie L RoysterFranceStephen Shaw RENEWAL
Johnson Y MaletCanadaAmy Elsner RENEWAL
Aruna H GarufiCanadaXuxue Feng NEW
Maria O CampainFranceIvan Magalhaes PROPOSAL
Mayumi C BriddickBrazilAnna Fali NEGOTIATION
Stacey A DarakjyItalyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria V RulapaughArgentina2024-05-14Chanay, Jeffrey A Esq QUALIFIED91Bernardo Dominic
1001Aditya W OldroydArgentina2024-05-15King, Christopher A Esq PROPOSAL84Amy Elsner
1002Claire Y StockhamItaly2024-05-26Rangoni Of Florence PROPOSAL1Anna Fali
1003Jefferson O NickaIndia2024-05-06Morlong Associates QUALIFIED25Xuxue Feng
1004Emily U SchemmerAustralia2024-05-15Feltz Printing Service UNQUALIFIED17Onyama Limba
1005James Q AmigonRussia2024-05-09Morlong Associates PROPOSAL54Stephen Shaw
1006Jones A AlbaresFrance2024-05-26Morlong Associates QUALIFIED13Onyama Limba
1007Isabel V NestleFrance2024-04-29Benton, John B Jr PROPOSAL57Anna Fali
1008Costa B AmigonGermany2024-05-13Buckley Miller Wright NEW27Asiya Javayant
1009Stacey Q MarrierCanada2024-04-28Printing Dimensions NEW12Xuxue Feng
1010Leon N RimIndia2024-05-21Buckley Miller Wright NEW55Xuxue Feng
1011Julie D WaycottSpain2024-05-26Commercial Press NEGOTIATION9Bernardo Dominic
1012Faith C BriddickRussia2024-05-07Printing Dimensions NEGOTIATION91Elwin Sharvill
1013Kaitlin Q GlickBrazil2024-05-23Printing Dimensions QUALIFIED48Asiya Javayant
1014David V GillianFrance2024-05-21Benton, John B Jr RENEWAL27Amy Elsner
1015Wickens H MacleadGermany2024-05-10Feiner Bros QUALIFIED57Anna Fali
1016Juan S BowleyCanada2024-05-27Dorl, James J Esq UNQUALIFIED9Bernardo Dominic
1017Aika B RimRussia2024-05-13Feiner Bros NEW7Amy Elsner
1018Antonio G VocelkaUnited Kingdom2024-05-16Rousseaux, Michael Esq UNQUALIFIED15Bernardo Dominic
1019Chavez U PerinUnited Kingdom2024-05-18Benton, John B Jr UNQUALIFIED51Xuxue Feng
1020Murillo Q InouyeSpain2024-05-21Truhlar And Truhlar Attys UNQUALIFIED94Ivan Magalhaes
1021Chavez O GarufiCanada2024-05-06Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1022Misaki F WaycottIndia2024-05-26Benton, John B Jr QUALIFIED24Stephen Shaw
1023Julie Z AmigonJapan2024-05-08Rangoni Of Florence QUALIFIED5Stephen Shaw
1024Claire O FerenczJapan2024-05-18Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1025Misaki T OldroydGermany2024-05-17Rangoni Of Florence NEGOTIATION88Onyama Limba
1026Cody C MacleadBrazil2024-05-19Rousseaux, Michael Esq UNQUALIFIED99Xuxue Feng
1027Clifford B WieserAustralia2024-05-12Commercial Press NEW96Anna Fali
1028Adams K MaletBrazil2024-05-23Benton, John B Jr PROPOSAL92Onyama Limba
1029Rodrigues L FlosiAustralia2024-05-15Commercial Press QUALIFIED21Elwin Sharvill
1030Arvin E SchemmerItaly2024-05-25Chemel, James L Cpa QUALIFIED30Asiya Javayant
1031Jefferson Q PoquetteBrazil2024-04-30Chanay, Jeffrey A Esq QUALIFIED33Bernardo Dominic
1032Kadeem R PoquetteBrazil2024-04-28Benton, John B Jr RENEWAL17Stephen Shaw
1033Leon T AmigonArgentina2024-05-25Truhlar And Truhlar Attys UNQUALIFIED98Asiya Javayant
1034Murillo F AlbaresBrazil2024-05-03Rangoni Of Florence RENEWAL69Anna Fali
1035Francesco G VenereSpain2024-05-05Commercial Press RENEWAL47Ioni Bowcher
1036Wickens C KolmetzAustralia2024-05-06Rousseaux, Michael Esq QUALIFIED45Amy Elsner
1037Greenwood U TollnerFrance2024-05-08Truhlar And Truhlar Attys QUALIFIED77Amy Elsner
1038Rodrigues W ShinkoArgentina2024-05-21Chanay, Jeffrey A Esq NEW1Stephen Shaw
1039Morrow C MaletCanada2024-05-20Feiner Bros PROPOSAL5Asiya Javayant
1040Leja M PaprockiSpain2024-05-12Rangoni Of Florence UNQUALIFIED44Elwin Sharvill
1041Morrow H NestleGermany2024-05-06King, Christopher A Esq QUALIFIED15Elwin Sharvill
1042Ashley H KuskoJapan2024-04-28Truhlar And Truhlar Attys PROPOSAL33Amy Elsner
1043Tony L OldroydRussia2024-05-02Buckley Miller Wright UNQUALIFIED13Ioni Bowcher
1044Juan J DilliardArgentina2024-05-23Dorl, James J Esq QUALIFIED79Anna Fali
1045Izzy Z DarakjyCanada2024-05-25Chemel, James L Cpa PROPOSAL81Onyama Limba
1046David B NickaArgentina2024-05-22Chapman, Ross E Esq PROPOSAL59Ivan Magalhaes
1047Salvatore G AmigonJapan2024-05-19Morlong Associates PROPOSAL33Ivan Magalhaes
1048Silvio V TollnerRussia2024-05-01Rangoni Of Florence NEGOTIATION27Stephen Shaw
1049Claire U GauchoBrazil2024-05-27Commercial Press PROPOSAL2Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leja R CaldareraAustraliaAsiya Javayant NEGOTIATION
Kadeem B MarrierArgentinaIvan Magalhaes PROPOSAL
Jennifer T FerenczFranceAmy Elsner QUALIFIED
Ashley Q VocelkaBrazilOnyama Limba NEGOTIATION
Sinclair Q AmigonJapanBernardo Dominic UNQUALIFIED
Adams B ShinkoJapanIoni Bowcher PROPOSAL
Julie H OstroskyAustraliaOnyama Limba PROPOSAL
Kaitlin Z OldroydSpainIvan Magalhaes QUALIFIED
Kadeem U StensethCanadaIvan Magalhaes UNQUALIFIED
David G FollerIndiaXuxue Feng UNQUALIFIED
Rodrigues P PoquetteAustraliaIoni Bowcher QUALIFIED
Salvatore D BologniaItalyAnna Fali NEW
Adams Q OldroydBrazilAnna Fali PROPOSAL
Jefferson Q FerenczItalyStephen Shaw RENEWAL
Stacey L WhobreyAustraliaBernardo Dominic PROPOSAL
Isabel F GarufiCanadaIvan Magalhaes PROPOSAL
James E DarakjyUnited KingdomBernardo Dominic NEW
Wickens U VenereItalyElwin Sharvill PROPOSAL
Sinclair G FlosiSpainBernardo Dominic PROPOSAL
Silvio M DarakjyUnited KingdomBernardo Dominic NEW
Aika S MacleadGermanyOnyama Limba NEGOTIATION
Adams I PaprockiBrazilXuxue Feng PROPOSAL
Rodrigues T PerinCanadaElwin Sharvill QUALIFIED
Mujtaba A ButtSpainIoni Bowcher PROPOSAL
Leon F CaldareraUnited KingdomElwin Sharvill QUALIFIED
Leon B BriddickAustraliaIoni Bowcher PROPOSAL
Jeanfrancois P RoysterFranceAsiya Javayant RENEWAL
Francesco B FerenczRussiaStephen Shaw NEGOTIATION
Munro A FigeroaCanadaIvan Magalhaes NEW
Salvatore X DarakjyJapanElwin Sharvill RENEWAL
Smith R SaylorsSpainStephen Shaw NEW
Juan M MaletJapanIvan Magalhaes PROPOSAL
Arvin S BriddickFranceOnyama Limba PROPOSAL
Rodrigues T IturbideSpainBernardo Dominic UNQUALIFIED
Jones W RulapaughArgentinaOnyama Limba NEW
Munro Y RoysterItalyStephen Shaw UNQUALIFIED
Claire V PerinFranceAmy Elsner NEGOTIATION
Wickens P CaldareraRussiaIvan Magalhaes NEGOTIATION
Silvio F GlickFranceElwin Sharvill QUALIFIED
Tony B FollerCanadaAnna Fali UNQUALIFIED
Munro B WhobreyGermanyXuxue Feng UNQUALIFIED
Faith J GarufiSpainAnna Fali NEGOTIATION
Francesco F AlbaresSpainAmy Elsner UNQUALIFIED
Mujtaba U KolmetzSpainAmy Elsner PROPOSAL
Maria B TollnerBrazilIoni Bowcher RENEWAL
Nicolas T MarrierRussiaAnna Fali NEW
Emily D GauchoItalyAsiya Javayant QUALIFIED
Emily D RoysterUnited KingdomAmy Elsner UNQUALIFIED
Emily C InouyeBrazilIoni Bowcher QUALIFIED
Ivar G BowleyRussiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Adams F Paprocki
Jones D Marrier
Jennifer P Waycott
Ivar Q Perin
Tony S Briddick
Maria R Gillian
Arvin A Campain
Faith O Vocelka
Jennifer A Schemmer
Kadeem O Schemmer
Isabel Q Doe
Aika C Caldarera
Smith N Sergi
Jones Q Slusarski
Alejandro R Glick
David W Ruta
Costa E Rulapaugh
Tony T Venere
Jones E Glick
Cody R Waycott
Maisha I Rulapaugh
Kaitlin W Tollner
Aika K Stockham
James Y Maclead
Rodrigues W Ruta
Juan B Shinko
Aditya V Schemmer
Tony Q Ostrosky
Francesco J Nicka
Smith E Sergi
Arvin I Slusarski
Nicolas C Iturbide
Stacey D Maclead
Mujtaba I Ferencz
Costa Q Whobrey
Stacey J Darakjy
Francesco F Perin
Emily Y Stenseth
Antonio L Morasca
Wickens H Marrier
Nicolas Y Butt
Jeanfrancois W Ferencz
Silvio B Caudy
Jefferson C Foller
Octavia S Nestle
Aika J Morasca
Octavia Y Stenseth
David W Dilliard
Izzy J Amigon
Leon T Figeroa
IdCountryDate
1000France2024-05-25
1001France2024-05-24
1002Germany2024-05-01
1003Spain2024-04-30
1004Japan2024-05-13
1005Russia2024-05-18
1006United Kingdom2024-05-21
1007Brazil2024-04-30
1008Canada2024-05-03
1009Germany2024-05-08
1010Argentina2024-05-07
1011Canada2024-05-21
1012Japan2024-05-03
1013Spain2024-05-11
1014Italy2024-05-26
1015United Kingdom2024-05-21
1016Spain2024-05-02
1017Germany2024-05-12
1018Australia2024-05-13
1019Brazil2024-05-18
1020Spain2024-05-02
1021Australia2024-05-24
1022Canada2024-05-17
1023Russia2024-05-27
1024Argentina2024-05-21
1025Canada2024-05-18
1026Japan2024-05-24
1027France2024-05-08
1028Germany2024-05-10
1029Germany2024-05-22
1030Canada2024-05-18
1031Australia2024-05-10
1032Argentina2024-04-30
1033United Kingdom2024-05-08
1034Argentina2024-05-15
1035Brazil2024-05-19
1036Spain2024-05-26
1037Spain2024-05-13
1038Germany2024-05-11
1039United Kingdom2024-05-15
1040Australia2024-04-28
1041Canada2024-05-23
1042Spain2024-04-30
1043Japan2024-05-14
1044Russia2024-04-29
1045Russia2024-05-03
1046Australia2024-05-27
1047Argentina2024-05-23
1048United Kingdom2024-04-28
1049United Kingdom2024-05-02

On-Demand Data

NameIdCountryDate
Deepesh J Stenseth1000Canada2024-05-18
Claire K Figeroa1001Australia2024-05-09
Aditya Q Stenseth1002India2024-05-15
Nicolas U Paprocki1003Russia2024-04-28
Johnson Y Garufi1004Japan2024-05-26
Ivar L Malet1005Spain2024-05-10
Jeanfrancois U Paprocki1006Brazil2024-05-12
Kaitlin X Flosi1007Russia2024-04-30
Silvio O Stenseth1008Brazil2024-05-09
Kaitlin V Royster1009Brazil2024-05-20
Ricardo G Foller1010United Kingdom2024-05-13
Stacey J Chui1011Canada2024-05-23
Silvio W Venere1012Japan2024-05-11
Ashley K Kusko1013Russia2024-05-22
James N Flosi1014Brazil2024-05-11
Stacey H Tollner1015Italy2024-05-04
Munro W Butt1016Argentina2024-05-01
Ashley C Glick1017Argentina2024-05-07
Arvin H Ferencz1018France2024-05-23
Wickens Y Venere1019Russia2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro A FollerArgentinaStephen Shaw RENEWAL
Salvatore L FigeroaItalyAnna Fali RENEWAL
Cody T AmigonUnited KingdomElwin Sharvill NEW
James P ShinkoJapanIvan Magalhaes NEW
Arvin C FigeroaAustraliaElwin Sharvill NEW
Jones U NickaGermanyAsiya Javayant NEGOTIATION
Ashley X CaudyRussiaIvan Magalhaes UNQUALIFIED
Isabel N VocelkaGermanyBernardo Dominic QUALIFIED
Ivar E OstroskyJapanBernardo Dominic RENEWAL
Jones O IturbideGermanyXuxue Feng NEW
Johnson Z WieserGermanyIvan Magalhaes PROPOSAL
Stacey H RoysterFranceElwin Sharvill QUALIFIED
Deepesh R FigeroaBrazilAnna Fali QUALIFIED
Misaki Z FlosiJapanIoni Bowcher RENEWAL
Jones C MacleadBrazilStephen Shaw QUALIFIED
Izzy J TollnerFranceElwin Sharvill UNQUALIFIED
Munro P ButtSpainAnna Fali UNQUALIFIED
Jennifer L MarrierUnited KingdomElwin Sharvill NEGOTIATION
Salvatore V DarakjyJapanAmy Elsner RENEWAL
Chavez U SaylorsSpainAsiya Javayant NEGOTIATION
Antonio H GarufiUnited KingdomAsiya Javayant QUALIFIED
Munro M GlickItalyAmy Elsner UNQUALIFIED
Arvin H WaycottArgentinaIoni Bowcher UNQUALIFIED
Leja H WieserJapanBernardo Dominic QUALIFIED
Mayumi U FlosiGermanyAnna Fali NEW
Jennifer D SaylorsCanadaIoni Bowcher NEGOTIATION
Nicolas M TollnerArgentinaIvan Magalhaes UNQUALIFIED
Alejandro M OldroydUnited KingdomAnna Fali QUALIFIED
Kadeem A DoeFranceOnyama Limba PROPOSAL
Munro V PaprockiRussiaAnna Fali PROPOSAL
Adams R StensethAustraliaAmy Elsner PROPOSAL
Deepesh J StensethItalyIoni Bowcher NEW
Aika N AlbaresUnited KingdomXuxue Feng NEW
Deepesh L CampainBrazilOnyama Limba QUALIFIED
James I VenereJapanElwin Sharvill PROPOSAL
Salvatore W MarrierRussiaStephen Shaw NEGOTIATION
Rodrigues X VenereCanadaAnna Fali NEW
Wickens M MaletBrazilBernardo Dominic UNQUALIFIED
Jennifer M CaudyIndiaStephen Shaw QUALIFIED
Stacey J MacleadAustraliaIoni Bowcher NEGOTIATION

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