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
Murillo H VenereIndiaStephen Shaw QUALIFIED
Leon N SergiAustraliaIvan Magalhaes NEGOTIATION
Murillo H FigeroaGermanyAmy Elsner RENEWAL
Octavia L ChuiUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba B StensethIndiaIoni Bowcher QUALIFIED
Jones M RoysterAustraliaXuxue Feng UNQUALIFIED
Nicolas B DoeRussiaAsiya Javayant NEW
Stacey A PerinFranceOnyama Limba QUALIFIED
Jefferson D GarufiGermanyOnyama Limba UNQUALIFIED
Jefferson B SchemmerBrazilBernardo Dominic PROPOSAL
Adams O FlosiCanadaAsiya Javayant PROPOSAL
David C GarufiBrazilIoni Bowcher NEGOTIATION
Morrow M WieserBrazilStephen Shaw UNQUALIFIED
Jefferson X MacleadBrazilAsiya Javayant NEW
Salvatore Y OstroskyIndiaIoni Bowcher RENEWAL
Juan I DarakjyFranceElwin Sharvill QUALIFIED
Leon H SergiIndiaOnyama Limba PROPOSAL
Greenwood R CaudyFranceIoni Bowcher RENEWAL
Murillo T AmigonGermanyIvan Magalhaes PROPOSAL
Arvin D BowleyIndiaIvan Magalhaes UNQUALIFIED
Julie N OldroydBrazilAsiya Javayant QUALIFIED
Francesco B PoquetteSpainStephen Shaw RENEWAL
Johnson M PaprockiFranceIoni Bowcher NEW
Misaki L BriddickIndiaOnyama Limba UNQUALIFIED
Johnson K FigeroaSpainElwin Sharvill PROPOSAL
Leon J MaletUnited KingdomOnyama Limba UNQUALIFIED
Sinclair M RutaRussiaIvan Magalhaes NEW
Jefferson K VenereAustraliaAmy Elsner RENEWAL
Antonio H OldroydArgentinaBernardo Dominic UNQUALIFIED
Tony Y DilliardIndiaBernardo Dominic RENEWAL
Adams Y RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues D DoeGermanyAsiya Javayant NEGOTIATION
Ivar B SaylorsCanadaXuxue Feng RENEWAL
Johnson R MaletSpainIvan Magalhaes NEW
Darci H ChuiAustraliaOnyama Limba QUALIFIED
Izzy S MorascaBrazilAmy Elsner PROPOSAL
Izzy O SlusarskiGermanyXuxue Feng UNQUALIFIED
Deepesh M FlosiUnited KingdomAsiya Javayant NEW
Emily D ChuiSpainElwin Sharvill QUALIFIED
Octavia Y KolmetzSpainStephen Shaw NEGOTIATION
Arvin K MaletBrazilIoni Bowcher RENEWAL
Antonio S DoeJapanAmy Elsner NEW
Stacey W GauchoRussiaXuxue Feng QUALIFIED
Julie B FlosiRussiaXuxue Feng UNQUALIFIED
Faith M NickaItalyAnna Fali NEGOTIATION
Jones Y GillianSpainBernardo Dominic PROPOSAL
Leja N CaldareraGermanyIoni Bowcher NEW
Faith J GauchoBrazilStephen Shaw PROPOSAL
Alejandro R BologniaIndiaAnna Fali QUALIFIED
Maisha Y GlickArgentinaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie O CaudyUnited KingdomXuxue Feng RENEWAL
Rodrigues V NestleJapanOnyama Limba RENEWAL
Salvatore A RutaJapanXuxue Feng PROPOSAL
Faith B SchemmerGermanyElwin Sharvill PROPOSAL
Leon S RoysterIndiaAsiya Javayant NEW
Ivar O BologniaJapanBernardo Dominic RENEWAL
Salvatore E NickaGermanyXuxue Feng UNQUALIFIED
James T SaylorsCanadaElwin Sharvill UNQUALIFIED
Stacey V WieserUnited KingdomOnyama Limba UNQUALIFIED
Silvio S AmigonJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco N WhobreyUnited Kingdom2024-06-15Buckley Miller Wright QUALIFIED10Ivan Magalhaes
1001Jeanfrancois Z SergiJapan2024-05-28Printing Dimensions NEW14Ivan Magalhaes
1002Silvio B GlickCanada2024-05-31Chanay, Jeffrey A Esq NEGOTIATION96Amy Elsner
1003Isabel B StockhamCanada2024-06-14Chapman, Ross E Esq QUALIFIED29Amy Elsner
1004Maisha W OldroydCanada2024-05-19Rousseaux, Michael Esq PROPOSAL13Xuxue Feng
1005Jones C RimJapan2024-06-04Printing Dimensions NEGOTIATION70Onyama Limba
1006Francesco Y StensethIndia2024-05-27Buckley Miller Wright NEGOTIATION14Onyama Limba
1007Ivar M MaletItaly2024-05-30Truhlar And Truhlar Attys RENEWAL98Amy Elsner
1008Aika R BriddickCanada2024-05-20Buckley Miller Wright RENEWAL65Stephen Shaw
1009Mujtaba I SergiFrance2024-06-03Chanay, Jeffrey A Esq RENEWAL44Amy Elsner
1010Aruna E MaletSpain2024-05-31Feiner Bros NEGOTIATION39Asiya Javayant
1011Sinclair C FlosiRussia2024-06-14Rousseaux, Michael Esq UNQUALIFIED65Amy Elsner
1012Arvin X WhobreyIndia2024-06-10Buckley Miller Wright UNQUALIFIED87Stephen Shaw
1013Mujtaba K PoquetteJapan2024-05-30Chapman, Ross E Esq RENEWAL70Bernardo Dominic
1014Kaitlin J GauchoSpain2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED59Stephen Shaw
1015Stacey D PerinBrazil2024-05-24Buckley Miller Wright RENEWAL13Anna Fali
1016Leon I SchemmerRussia2024-05-19Benton, John B Jr NEGOTIATION74Bernardo Dominic
1017Wickens M GlickJapan2024-05-31Rangoni Of Florence NEGOTIATION28Anna Fali
1018Faith U FerenczGermany2024-05-17Chapman, Ross E Esq NEW15Asiya Javayant
1019Kaitlin E BowleyIndia2024-05-26Dorl, James J Esq UNQUALIFIED65Anna Fali
1020Emily U TollnerCanada2024-06-10Printing Dimensions NEGOTIATION14Asiya Javayant
1021Morrow L FlosiFrance2024-05-17Commercial Press QUALIFIED57Amy Elsner
1022Faith K StensethRussia2024-06-15Dorl, James J Esq NEGOTIATION28Onyama Limba
1023Aika K StensethRussia2024-05-30Commercial Press QUALIFIED17Asiya Javayant
1024Mujtaba C MaletBrazil2024-06-15King, Christopher A Esq NEW57Xuxue Feng
1025Wickens E GlickIndia2024-05-24Printing Dimensions RENEWAL95Ioni Bowcher
1026Aditya P DarakjyIndia2024-06-11King, Christopher A Esq NEGOTIATION65Anna Fali
1027Maisha M NestleCanada2024-05-22Chapman, Ross E Esq UNQUALIFIED55Amy Elsner
1028Mayumi S BowleyFrance2024-06-15Buckley Miller Wright NEW38Anna Fali
1029Stacey N PerinCanada2024-05-24Rangoni Of Florence NEW24Bernardo Dominic
1030Rodrigues O GillianItaly2024-05-25Dorl, James J Esq NEGOTIATION7Ioni Bowcher
1031Arvin A FerenczItaly2024-06-05Feiner Bros PROPOSAL33Amy Elsner
1032Kadeem Z BowleyArgentina2024-05-30Rangoni Of Florence PROPOSAL91Asiya Javayant
1033Francesco M DoeJapan2024-05-31King, Christopher A Esq NEGOTIATION88Elwin Sharvill
1034Clifford C CaldareraGermany2024-06-11Buckley Miller Wright UNQUALIFIED25Ioni Bowcher
1035Jennifer U ButtGermany2024-06-15Morlong Associates NEGOTIATION92Stephen Shaw
1036Deepesh K TollnerAustralia2024-05-22Commercial Press NEGOTIATION59Xuxue Feng
1037Maisha F FerenczArgentina2024-06-10Feiner Bros NEGOTIATION51Anna Fali
1038Isabel P FerenczItaly2024-06-06Benton, John B Jr UNQUALIFIED40Ivan Magalhaes
1039Ricardo N IturbideGermany2024-06-10Dorl, James J Esq QUALIFIED53Amy Elsner
1040David Z DilliardUnited Kingdom2024-05-30King, Christopher A Esq PROPOSAL42Bernardo Dominic
1041Jones L RulapaughItaly2024-05-29Feltz Printing Service RENEWAL83Anna Fali
1042Ricardo O InouyeAustralia2024-06-01Chemel, James L Cpa NEW82Ioni Bowcher
1043Antonio I TollnerFrance2024-06-13Chanay, Jeffrey A Esq RENEWAL37Anna Fali
1044Murillo K SaylorsRussia2024-06-10Feltz Printing Service RENEWAL56Asiya Javayant
1045Greenwood Y VocelkaArgentina2024-05-22Rangoni Of Florence PROPOSAL91Elwin Sharvill
1046Claire E InouyeBrazil2024-06-05Feiner Bros QUALIFIED29Stephen Shaw
1047David Y FigeroaUnited Kingdom2024-05-29Chanay, Jeffrey A Esq NEW23Xuxue Feng
1048Silvio C CaudyUnited Kingdom2024-05-26Rangoni Of Florence PROPOSAL72Xuxue Feng
1049Rodrigues S ShinkoGermany2024-06-13King, Christopher A Esq NEGOTIATION48Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria M KolmetzAustraliaBernardo Dominic PROPOSAL
Maria F BriddickCanadaIvan Magalhaes NEGOTIATION
Chavez P AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois B NickaGermanyOnyama Limba NEW
Octavia U RimAustraliaIvan Magalhaes PROPOSAL
Kadeem T GauchoUnited KingdomAsiya Javayant QUALIFIED
Kaitlin V GlickBrazilAsiya Javayant NEW
Greenwood X PerinCanadaAnna Fali NEGOTIATION
Tony T KuskoBrazilIvan Magalhaes QUALIFIED
Claire J SergiUnited KingdomStephen Shaw RENEWAL
Darci W MacleadArgentinaStephen Shaw PROPOSAL
Kadeem U StensethArgentinaXuxue Feng QUALIFIED
Costa T DilliardArgentinaAnna Fali UNQUALIFIED
Wickens Z FollerBrazilAnna Fali UNQUALIFIED
Morrow I CaldareraUnited KingdomIoni Bowcher PROPOSAL
Ashley I InouyeBrazilBernardo Dominic RENEWAL
Chavez Z WaycottCanadaIoni Bowcher NEW
Francesco A FigeroaFranceStephen Shaw UNQUALIFIED
Murillo T IturbideFranceOnyama Limba PROPOSAL
Jones Y NestleFranceAnna Fali QUALIFIED
Greenwood D MaletJapanIoni Bowcher UNQUALIFIED
Tony X TollnerGermanyAsiya Javayant NEGOTIATION
Ashley A GauchoJapanOnyama Limba NEW
Rodrigues R KuskoFranceAmy Elsner UNQUALIFIED
Antonio P PerinBrazilBernardo Dominic PROPOSAL
Chavez C KolmetzIndiaXuxue Feng RENEWAL
Murillo F AmigonJapanIvan Magalhaes NEW
Jefferson J FigeroaItalyAsiya Javayant NEGOTIATION
Clifford V RimGermanyIoni Bowcher UNQUALIFIED
Darci S GillianRussiaBernardo Dominic NEW
Morrow V TollnerFranceIvan Magalhaes NEW
Sinclair Q DoeIndiaIvan Magalhaes RENEWAL
Cody K CaldareraSpainBernardo Dominic NEGOTIATION
Salvatore S GauchoIndiaOnyama Limba NEW
Arvin J ButtAustraliaIoni Bowcher NEW
Munro U DoeIndiaStephen Shaw PROPOSAL
Ashley U DarakjyGermanyElwin Sharvill NEW
Adams F CaudyItalyXuxue Feng NEW
Deepesh K KuskoIndiaIoni Bowcher PROPOSAL
Arvin C InouyeRussiaStephen Shaw RENEWAL
Claire H MaletBrazilIvan Magalhaes RENEWAL
Murillo A FerenczRussiaAsiya Javayant PROPOSAL
Claire Q OstroskyIndiaAmy Elsner NEGOTIATION
James L VocelkaCanadaIoni Bowcher QUALIFIED
Nicolas R NestleRussiaAmy Elsner UNQUALIFIED
Johnson E FlosiItalyOnyama Limba QUALIFIED
Clifford I MaletUnited KingdomAsiya Javayant NEGOTIATION
Mayumi K BriddickArgentinaAmy Elsner RENEWAL
Kaitlin P PaprockiBrazilBernardo Dominic UNQUALIFIED
Claire Q SaylorsGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Clifford C Ferencz
Arvin Q Vocelka
Leon O Whobrey
Leon H Campain
Ricardo R Campain
Claire V Saylors
Rodrigues A Albares
Mayumi J Perin
Adams I Rim
Aika U Venere
Leon Y Malet
Izzy C Dilliard
Izzy Z Iturbide
Clifford S Maclead
Jones C Slusarski
Tony Q Briddick
Aditya T Amigon
Sinclair Q Figeroa
Darci A Wieser
Arvin I Dilliard
Isabel Q Bowley
Stacey U Campain
David Z Ferencz
Clifford J Doe
Jones O Kolmetz
Jefferson W Perin
Chavez B Gillian
Ivar E Morasca
Greenwood F Flosi
Isabel R Paprocki
Ivar X Chui
Jones F Kolmetz
Aditya S Poquette
Izzy O Nestle
Nicolas T Royster
Mayumi H Caldarera
Stacey B Gillian
Ashley G Poquette
Ricardo C Chui
Faith I Rim
Isabel M Whobrey
Clifford M Chui
Johnson R Nicka
Smith V Ostrosky
Wickens S Wieser
Alejandro N Poquette
Costa J Caldarera
Octavia I Butt
Stacey H Bolognia
Jennifer T Doe
IdCountryDate
1000Germany2024-06-07
1001India2024-06-08
1002United Kingdom2024-05-18
1003Brazil2024-06-06
1004Brazil2024-06-09
1005Australia2024-06-12
1006Russia2024-05-25
1007Russia2024-05-22
1008United Kingdom2024-05-20
1009Japan2024-05-31
1010Brazil2024-05-24
1011Brazil2024-06-01
1012France2024-06-06
1013Brazil2024-06-13
1014Argentina2024-05-23
1015Canada2024-06-02
1016Spain2024-05-26
1017Argentina2024-06-01
1018Italy2024-05-29
1019Australia2024-05-23
1020Italy2024-05-23
1021France2024-06-06
1022Spain2024-05-21
1023Japan2024-06-13
1024Spain2024-06-06
1025Russia2024-06-15
1026Japan2024-05-30
1027Russia2024-06-02
1028Germany2024-06-09
1029Australia2024-06-03
1030Italy2024-05-17
1031France2024-06-05
1032Italy2024-06-04
1033Spain2024-06-05
1034Germany2024-05-17
1035Russia2024-06-14
1036Spain2024-06-08
1037Germany2024-05-29
1038Australia2024-05-26
1039United Kingdom2024-05-20
1040Brazil2024-06-09
1041Canada2024-05-20
1042Spain2024-05-25
1043India2024-06-13
1044Australia2024-06-06
1045France2024-06-13
1046Russia2024-06-10
1047Canada2024-05-29
1048United Kingdom2024-06-02
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
Francesco P Nicka1000Brazil2024-06-01
Ivar K Caudy1001Italy2024-05-24
Misaki Z Sergi1002Italy2024-05-21
Aika P Briddick1003Brazil2024-05-30
Mujtaba I Iturbide1004Japan2024-06-11
Costa Z Tollner1005Japan2024-05-25
Misaki K Caudy1006Australia2024-06-13
Salvatore R Malet1007Spain2024-05-31
James M Albares1008Brazil2024-06-03
Morrow F Paprocki1009Italy2024-05-22
Francesco J Figeroa1010Japan2024-06-05
Salvatore A Perin1011United Kingdom2024-06-14
Johnson Y Rim1012Russia2024-06-06
Murillo H Kolmetz1013Italy2024-05-18
Octavia Y Doe1014Australia2024-05-20
Jones Q Slusarski1015Spain2024-05-18
Cody U Whobrey1016Australia2024-06-08
Wickens W Bolognia1017Argentina2024-05-23
Sinclair T Waycott1018Brazil2024-06-14
Murillo L Kolmetz1019Australia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria W VenereIndiaElwin Sharvill NEW
Francesco J BowleyUnited KingdomAmy Elsner NEW
Greenwood Y DoeRussiaOnyama Limba NEW
Smith L DoeAustraliaOnyama Limba PROPOSAL
Aika Q PoquetteArgentinaXuxue Feng NEGOTIATION
Arvin M SlusarskiCanadaXuxue Feng UNQUALIFIED
Clifford H VenereCanadaOnyama Limba PROPOSAL
Aika Y ButtFranceAnna Fali QUALIFIED
Stacey Q DarakjyJapanAsiya Javayant QUALIFIED
Deepesh U OldroydBrazilAsiya Javayant QUALIFIED
Misaki A VenereGermanyIvan Magalhaes NEGOTIATION
Adams L FlosiSpainXuxue Feng NEGOTIATION
Aika V MaletAustraliaBernardo Dominic NEGOTIATION
Chavez M SaylorsCanadaOnyama Limba PROPOSAL
Rodrigues F BriddickJapanAsiya Javayant RENEWAL
Morrow L BologniaFranceAmy Elsner PROPOSAL
Mujtaba K NickaSpainAmy Elsner NEGOTIATION
Silvio I CaudyUnited KingdomXuxue Feng QUALIFIED
Jennifer D MarrierItalyAnna Fali RENEWAL
Claire H SaylorsFranceStephen Shaw RENEWAL
Wickens A AmigonCanadaAsiya Javayant PROPOSAL
David J OldroydItalyAmy Elsner NEW
Munro N WaycottJapanAmy Elsner UNQUALIFIED
Jefferson C StensethFranceBernardo Dominic QUALIFIED
Misaki R StensethGermanyAsiya Javayant RENEWAL
Adams M WaycottUnited KingdomIvan Magalhaes NEW
Antonio Y SchemmerCanadaElwin Sharvill QUALIFIED
Octavia F CampainSpainAnna Fali NEGOTIATION
Silvio N StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Emily W GauchoSpainIvan Magalhaes NEW
Morrow R BowleyCanadaIoni Bowcher RENEWAL
Misaki R MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Faith Y SaylorsIndiaStephen Shaw RENEWAL
Johnson E BologniaArgentinaStephen Shaw NEW
Mujtaba Y PaprockiItalyIvan Magalhaes RENEWAL
Rodrigues I DoeUnited KingdomIvan Magalhaes NEW
Aika A KuskoSpainXuxue Feng UNQUALIFIED
Kadeem A ButtSpainElwin Sharvill QUALIFIED
Misaki T WaycottRussiaIoni Bowcher NEW
Faith N WaycottSpainOnyama Limba 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>