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
Morrow C DarakjySpainOnyama Limba QUALIFIED
Aditya M MaletAustraliaElwin Sharvill NEGOTIATION
Alejandro P NestleCanadaIoni Bowcher RENEWAL
Emily J RoysterItalyAnna Fali NEW
Jennifer P GlickBrazilBernardo Dominic RENEWAL
Jefferson A DilliardAustraliaBernardo Dominic RENEWAL
Claire Z GlickJapanIoni Bowcher RENEWAL
Jeanfrancois K RulapaughArgentinaIoni Bowcher NEW
Julie R MaletJapanStephen Shaw RENEWAL
Maisha O DarakjyCanadaElwin Sharvill RENEWAL
Wickens N CaldareraJapanOnyama Limba NEW
Adams G StockhamGermanyAnna Fali UNQUALIFIED
Jones C MaletCanadaElwin Sharvill RENEWAL
Nicolas F ShinkoJapanStephen Shaw NEGOTIATION
Mayumi S VenereGermanyXuxue Feng UNQUALIFIED
Jeanfrancois Z FollerRussiaOnyama Limba PROPOSAL
Greenwood O MaletGermanyXuxue Feng QUALIFIED
Octavia E RutaItalyIoni Bowcher QUALIFIED
Salvatore Y StockhamBrazilIvan Magalhaes NEGOTIATION
Murillo X GillianItalyOnyama Limba NEW
Leon B GarufiIndiaOnyama Limba RENEWAL
Mayumi D SlusarskiUnited KingdomAmy Elsner RENEWAL
Misaki V RutaCanadaIoni Bowcher UNQUALIFIED
Costa R KuskoSpainAnna Fali PROPOSAL
Emily K MacleadIndiaIoni Bowcher PROPOSAL
Francesco J TollnerArgentinaAmy Elsner QUALIFIED
Tony C PoquetteItalyStephen Shaw NEGOTIATION
Maria R GarufiFranceXuxue Feng UNQUALIFIED
James L AmigonItalyOnyama Limba QUALIFIED
Jefferson J OstroskyUnited KingdomXuxue Feng PROPOSAL
Murillo Y AmigonIndiaElwin Sharvill UNQUALIFIED
Maria Y RulapaughItalyAsiya Javayant PROPOSAL
Leon D GarufiArgentinaAmy Elsner RENEWAL
Antonio T GillianFranceXuxue Feng RENEWAL
Maisha Q FollerAustraliaAmy Elsner NEGOTIATION
Leon X WaycottItalyIoni Bowcher PROPOSAL
Francesco T AmigonArgentinaOnyama Limba NEW
Alejandro E CaudyArgentinaAsiya Javayant QUALIFIED
Mayumi E OstroskyUnited KingdomElwin Sharvill QUALIFIED
Cody Y FerenczGermanyStephen Shaw QUALIFIED
Juan K DilliardRussiaBernardo Dominic NEGOTIATION
Antonio O KuskoSpainAsiya Javayant PROPOSAL
Stacey X WhobreyArgentinaOnyama Limba QUALIFIED
Faith H CampainCanadaXuxue Feng PROPOSAL
Misaki W KolmetzRussiaElwin Sharvill NEW
Stacey H SergiBrazilStephen Shaw NEGOTIATION
Wickens A SchemmerUnited KingdomOnyama Limba RENEWAL
Kadeem G SlusarskiAustraliaIvan Magalhaes QUALIFIED
Chavez I WhobreyFranceStephen Shaw NEW
Mujtaba D ShinkoIndiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan Y PerinArgentinaAmy Elsner NEGOTIATION
Kadeem L CaudyCanadaAnna Fali NEW
Sinclair V DilliardIndiaAnna Fali UNQUALIFIED
Rodrigues M AmigonSpainAmy Elsner QUALIFIED
Greenwood B GlickCanadaIoni Bowcher NEW
Costa Y ButtCanadaAsiya Javayant PROPOSAL
Silvio Q TollnerUnited KingdomAnna Fali UNQUALIFIED
Octavia C GlickJapanXuxue Feng NEGOTIATION
Johnson E PerinSpainIoni Bowcher NEGOTIATION
Faith W CaldareraArgentinaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues R PaprockiArgentina2024-05-29Dorl, James J Esq NEGOTIATION69Xuxue Feng
1001Mujtaba P DarakjyGermany2024-06-09Rousseaux, Michael Esq QUALIFIED64Asiya Javayant
1002Leja Q VenereItaly2024-06-04Buckley Miller Wright RENEWAL91Anna Fali
1003Francesco I PaprockiRussia2024-06-18Dorl, James J Esq UNQUALIFIED41Anna Fali
1004Chavez W FollerJapan2024-06-19Morlong Associates RENEWAL89Bernardo Dominic
1005Chavez D RimSpain2024-06-07Buckley Miller Wright UNQUALIFIED10Elwin Sharvill
1006Adams C GarufiAustralia2024-06-03Chanay, Jeffrey A Esq QUALIFIED78Elwin Sharvill
1007Ashley N RoysterGermany2024-06-05Chapman, Ross E Esq NEW3Ioni Bowcher
1008Maisha R OstroskyIndia2024-06-03Chemel, James L Cpa UNQUALIFIED15Amy Elsner
1009Emily T MarrierJapan2024-06-10Chemel, James L Cpa PROPOSAL0Anna Fali
1010Aruna G PerinUnited Kingdom2024-06-20Benton, John B Jr QUALIFIED48Asiya Javayant
1011Maria Q IturbideSpain2024-05-28Feltz Printing Service QUALIFIED19Anna Fali
1012Cody X CampainFrance2024-05-26Buckley Miller Wright NEW76Onyama Limba
1013Greenwood C MorascaGermany2024-06-21Feiner Bros NEGOTIATION72Asiya Javayant
1014Aika S MorascaUnited Kingdom2024-06-04Chapman, Ross E Esq NEW46Amy Elsner
1015Leja C BologniaGermany2024-06-06Benton, John B Jr NEGOTIATION28Xuxue Feng
1016Leon J OldroydJapan2024-06-16Chapman, Ross E Esq NEW99Bernardo Dominic
1017Tony B VenereGermany2024-06-11King, Christopher A Esq NEGOTIATION17Xuxue Feng
1018Ashley H IturbideJapan2024-06-21Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1019Murillo K SaylorsItaly2024-06-02Buckley Miller Wright NEW13Anna Fali
1020Tony V RoysterAustralia2024-05-27Truhlar And Truhlar Attys QUALIFIED57Xuxue Feng
1021Costa L OstroskyGermany2024-06-12Printing Dimensions NEGOTIATION97Elwin Sharvill
1022Costa Y RimIndia2024-06-20Rangoni Of Florence NEW4Asiya Javayant
1023Arvin E MaletSpain2024-05-29Chanay, Jeffrey A Esq NEW24Amy Elsner
1024Stacey R ChuiArgentina2024-06-12Rousseaux, Michael Esq UNQUALIFIED32Bernardo Dominic
1025Deepesh L RulapaughFrance2024-06-20Buckley Miller Wright PROPOSAL55Asiya Javayant
1026Chavez N BologniaSpain2024-05-26Rousseaux, Michael Esq NEW52Ivan Magalhaes
1027Francesco Q CampainArgentina2024-06-13Chemel, James L Cpa NEGOTIATION12Ivan Magalhaes
1028Juan I BriddickJapan2024-06-10Morlong Associates RENEWAL47Anna Fali
1029Murillo N SaylorsJapan2024-06-05Dorl, James J Esq RENEWAL82Xuxue Feng
1030Leja P FerenczFrance2024-05-24Chemel, James L Cpa QUALIFIED0Stephen Shaw
1031Juan J BowleyArgentina2024-06-08Chapman, Ross E Esq RENEWAL68Xuxue Feng
1032Kadeem L OldroydBrazil2024-06-07Chemel, James L Cpa RENEWAL35Elwin Sharvill
1033Arvin D DoeGermany2024-06-12Dorl, James J Esq PROPOSAL46Onyama Limba
1034Adams V WaycottItaly2024-06-10Printing Dimensions RENEWAL53Asiya Javayant
1035Greenwood P SlusarskiGermany2024-06-15Dorl, James J Esq UNQUALIFIED90Elwin Sharvill
1036Jones N ChuiBrazil2024-06-04Rangoni Of Florence QUALIFIED85Elwin Sharvill
1037Rodrigues U FlosiBrazil2024-06-10Chemel, James L Cpa RENEWAL37Elwin Sharvill
1038Clifford N DoeIndia2024-06-17Dorl, James J Esq NEGOTIATION19Stephen Shaw
1039Izzy L OstroskyCanada2024-06-06Morlong Associates NEGOTIATION53Anna Fali
1040Morrow V WieserItaly2024-06-14Chapman, Ross E Esq UNQUALIFIED66Xuxue Feng
1041Morrow R OldroydJapan2024-06-04Rousseaux, Michael Esq RENEWAL85Xuxue Feng
1042Aditya P GauchoSpain2024-06-14Morlong Associates NEGOTIATION18Onyama Limba
1043Claire P RoysterAustralia2024-06-10Morlong Associates UNQUALIFIED57Stephen Shaw
1044Aditya M OldroydItaly2024-06-19Buckley Miller Wright QUALIFIED16Elwin Sharvill
1045Leja Q StockhamGermany2024-06-10Chapman, Ross E Esq NEW97Xuxue Feng
1046James V PoquetteJapan2024-05-29Printing Dimensions NEGOTIATION63Stephen Shaw
1047Mayumi D ButtItaly2024-05-30Feltz Printing Service QUALIFIED81Ioni Bowcher
1048Misaki C AmigonFrance2024-06-02Rousseaux, Michael Esq RENEWAL95Ivan Magalhaes
1049Stacey A KuskoSpain2024-06-22Feltz Printing Service RENEWAL83Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Nicolas G MorascaRussiaXuxue Feng RENEWAL
Misaki A ChuiRussiaIvan Magalhaes PROPOSAL
Jones K SlusarskiAustraliaIoni Bowcher NEGOTIATION
Izzy N RoysterJapanIoni Bowcher NEGOTIATION
James N PoquetteArgentinaAnna Fali NEW
Johnson T FigeroaFranceIvan Magalhaes RENEWAL
Ivar G SergiGermanyAmy Elsner UNQUALIFIED
Leja X DarakjyCanadaIoni Bowcher QUALIFIED
Jennifer E RoysterUnited KingdomIvan Magalhaes QUALIFIED
Tony H PaprockiItalyAsiya Javayant UNQUALIFIED
Adams J FerenczSpainXuxue Feng NEW
Rodrigues T FigeroaFranceBernardo Dominic PROPOSAL
Maisha T RimCanadaIoni Bowcher RENEWAL
Antonio O FerenczFranceAmy Elsner QUALIFIED
Wickens C ShinkoSpainIvan Magalhaes RENEWAL
Jennifer H VocelkaJapanAsiya Javayant NEW
Maisha E TollnerGermanyAmy Elsner RENEWAL
Rodrigues X GarufiFranceElwin Sharvill UNQUALIFIED
Smith F KuskoBrazilOnyama Limba PROPOSAL
Arvin H NickaItalyAnna Fali UNQUALIFIED
Jefferson X OldroydAustraliaStephen Shaw NEW
Misaki Q GauchoUnited KingdomXuxue Feng NEGOTIATION
Juan B FigeroaSpainAmy Elsner PROPOSAL
Isabel P NickaFranceAmy Elsner NEGOTIATION
Kaitlin K ChuiAustraliaBernardo Dominic QUALIFIED
Maria I FigeroaUnited KingdomIvan Magalhaes NEW
Smith W BologniaJapanAnna Fali UNQUALIFIED
Leja X OstroskyRussiaAnna Fali QUALIFIED
Costa A ShinkoCanadaElwin Sharvill RENEWAL
Alejandro N StensethArgentinaAnna Fali PROPOSAL
Isabel M InouyeArgentinaAsiya Javayant RENEWAL
Mujtaba O AlbaresGermanyIvan Magalhaes NEW
Kadeem P BriddickItalyBernardo Dominic UNQUALIFIED
Leja K BriddickJapanAnna Fali QUALIFIED
Emily T IturbideItalyIvan Magalhaes PROPOSAL
Greenwood R CampainSpainAmy Elsner NEGOTIATION
Maria Z BowleyUnited KingdomAsiya Javayant NEGOTIATION
Darci B VenereRussiaIvan Magalhaes NEW
Chavez V GauchoCanadaIvan Magalhaes NEGOTIATION
Alejandro N DilliardGermanyIoni Bowcher PROPOSAL
Isabel H BriddickIndiaXuxue Feng QUALIFIED
Silvio S WieserUnited KingdomAnna Fali UNQUALIFIED
Ivar E OldroydCanadaStephen Shaw NEW
James J StensethIndiaIoni Bowcher UNQUALIFIED
Munro Y RimSpainIvan Magalhaes PROPOSAL
Isabel W VenereGermanyAmy Elsner NEGOTIATION
Kaitlin S KuskoArgentinaIvan Magalhaes PROPOSAL
Julie O PoquetteBrazilElwin Sharvill PROPOSAL
Jones N OstroskyBrazilAnna Fali RENEWAL
Francesco X WieserCanadaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Leja B Ostrosky
Leja D Saylors
Ricardo P Wieser
Izzy L Malet
Izzy U Malet
Sinclair A Slusarski
Tony D Venere
Isabel M Nestle
Octavia O Malet
Kaitlin L Morasca
Tony M Chui
Arvin W Vocelka
Leon A Saylors
Jones V Malet
Ashley K Nestle
Julie S Dilliard
Cody P Poquette
Maisha W Royster
Kadeem T Iturbide
Jeanfrancois Y Gaucho
Tony K Waycott
Ivar M Royster
Antonio D Butt
Octavia X Figeroa
Jones Z Nestle
Costa N Ruta
Salvatore Y Bowley
Maisha V Glick
Jeanfrancois H Figeroa
Greenwood W Caudy
Aruna X Chui
Salvatore J Stockham
Claire S Flosi
Leja P Campain
Munro G Flosi
Wickens A Vocelka
Adams Q Briddick
Izzy R Garufi
Rodrigues M Figeroa
Antonio W Ruta
Mayumi L Caldarera
Francesco K Shinko
Munro C Foller
Octavia L Tollner
Darci P Amigon
Octavia O Caldarera
Aruna T Kusko
Wickens Q Nicka
Francesco W Albares
Ivar B Rim
IdCountryDate
1000Russia2024-05-31
1001Canada2024-06-16
1002Russia2024-06-11
1003Russia2024-06-13
1004France2024-06-22
1005United Kingdom2024-06-08
1006Germany2024-06-05
1007Brazil2024-06-20
1008Canada2024-06-02
1009India2024-06-16
1010Japan2024-05-26
1011Canada2024-06-10
1012France2024-06-02
1013Canada2024-06-12
1014Japan2024-05-31
1015Brazil2024-05-26
1016India2024-05-27
1017Russia2024-05-31
1018Japan2024-06-07
1019Japan2024-06-02
1020Italy2024-06-10
1021United Kingdom2024-05-31
1022Italy2024-05-28
1023France2024-06-17
1024Argentina2024-06-01
1025United Kingdom2024-06-08
1026Italy2024-06-13
1027Brazil2024-06-04
1028Germany2024-06-04
1029United Kingdom2024-06-05
1030United Kingdom2024-06-05
1031Russia2024-06-06
1032Brazil2024-06-17
1033Brazil2024-05-25
1034Germany2024-05-25
1035Germany2024-05-29
1036Russia2024-06-02
1037Germany2024-06-17
1038Italy2024-06-01
1039Spain2024-06-03
1040Canada2024-05-27
1041Argentina2024-06-12
1042Italy2024-05-30
1043Brazil2024-06-18
1044Japan2024-06-13
1045India2024-06-15
1046United Kingdom2024-06-12
1047Argentina2024-06-08
1048Italy2024-05-30
1049Russia2024-06-09

On-Demand Data

NameIdCountryDate
Antonio L Schemmer1000India2024-05-29
Sinclair K Foller1001Japan2024-06-01
David T Maclead1002India2024-06-13
Claire Y Poquette1003Germany2024-06-02
Jennifer V Doe1004Italy2024-06-15
Cody G Garufi1005Japan2024-06-04
Francesco H Slusarski1006France2024-06-09
David B Venere1007India2024-06-03
Clifford S Iturbide1008Canada2024-05-31
James K Flosi1009Russia2024-06-14
Jeanfrancois G Darakjy1010France2024-06-17
Adams P Nicka1011Brazil2024-06-01
Ivar L Butt1012Spain2024-06-01
Chavez M Figeroa1013Russia2024-06-01
Mayumi I Saylors1014Germany2024-05-25
Smith I Gillian1015Australia2024-05-29
Deepesh N Campain1016Brazil2024-06-19
Juan F Whobrey1017Australia2024-06-05
Ivar Z Kolmetz1018Canada2024-05-25
Cody G Caudy1019Spain2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire C FerenczJapanStephen Shaw NEGOTIATION
Ashley A CaudyGermanyOnyama Limba UNQUALIFIED
Munro D WaycottSpainAmy Elsner PROPOSAL
Maisha G ShinkoUnited KingdomXuxue Feng NEGOTIATION
Smith D MacleadUnited KingdomOnyama Limba UNQUALIFIED
David B SchemmerJapanElwin Sharvill NEW
Cody C NestleRussiaAmy Elsner NEGOTIATION
Francesco Q StockhamCanadaOnyama Limba RENEWAL
James E SchemmerIndiaBernardo Dominic NEGOTIATION
Ashley V KuskoBrazilXuxue Feng NEW
Salvatore I GauchoBrazilIoni Bowcher NEGOTIATION
Ivar Q RoysterItalyIoni Bowcher NEW
Maria Z RimAustraliaXuxue Feng UNQUALIFIED
Claire P RulapaughIndiaXuxue Feng PROPOSAL
Murillo V FigeroaFranceAnna Fali UNQUALIFIED
Sinclair K FerenczRussiaAsiya Javayant RENEWAL
Arvin F OstroskyJapanBernardo Dominic UNQUALIFIED
Misaki V AlbaresRussiaAmy Elsner UNQUALIFIED
Silvio I ButtBrazilElwin Sharvill NEGOTIATION
Smith F MorascaItalyElwin Sharvill NEW
Jeanfrancois L MarrierBrazilAmy Elsner UNQUALIFIED
Emily E StockhamAustraliaAsiya Javayant RENEWAL
Jennifer U WhobreyGermanyAsiya Javayant PROPOSAL
Stacey I VenereGermanyOnyama Limba QUALIFIED
Cody B SergiAustraliaElwin Sharvill PROPOSAL
Tony H PaprockiUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois C RimAustraliaStephen Shaw PROPOSAL
Julie P StensethCanadaElwin Sharvill RENEWAL
Chavez R IturbideCanadaXuxue Feng RENEWAL
Izzy E SaylorsGermanyBernardo Dominic NEGOTIATION
Antonio V IturbideRussiaAsiya Javayant NEW
Antonio B SlusarskiItalyElwin Sharvill RENEWAL
Johnson R NestleRussiaOnyama Limba NEW
Mayumi N BowleyItalyAmy Elsner PROPOSAL
Silvio A RulapaughFranceAsiya Javayant NEGOTIATION
Nicolas C GauchoSpainStephen Shaw QUALIFIED
Murillo B GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo L GillianGermanyAsiya Javayant RENEWAL
Stacey H StensethFranceIoni Bowcher UNQUALIFIED
Rodrigues J VenereRussiaXuxue Feng RENEWAL

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