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
Jennifer Q AlbaresIndiaOnyama Limba NEGOTIATION
Johnson W GauchoUnited KingdomXuxue Feng PROPOSAL
Rodrigues U KolmetzFranceStephen Shaw NEGOTIATION
Stacey R OstroskyArgentinaAsiya Javayant RENEWAL
Silvio M RimIndiaXuxue Feng NEGOTIATION
Munro H PaprockiItalyStephen Shaw NEGOTIATION
Kadeem O BowleyAustraliaIoni Bowcher QUALIFIED
Mayumi V RimArgentinaStephen Shaw UNQUALIFIED
Murillo J WieserAustraliaXuxue Feng PROPOSAL
Misaki V OstroskyCanadaOnyama Limba QUALIFIED
Murillo D DoeItalyAmy Elsner RENEWAL
Maria U MaletJapanOnyama Limba QUALIFIED
Arvin W FigeroaFranceElwin Sharvill NEW
James N DoeRussiaXuxue Feng NEGOTIATION
Jennifer N MorascaFranceElwin Sharvill NEGOTIATION
Deepesh K VenereIndiaIvan Magalhaes QUALIFIED
Leja R VenereGermanyElwin Sharvill NEW
Greenwood O BologniaArgentinaOnyama Limba PROPOSAL
Leja X BriddickJapanIvan Magalhaes QUALIFIED
Aruna D CaudyFranceIvan Magalhaes PROPOSAL
Faith A MaletRussiaXuxue Feng RENEWAL
Mayumi O OstroskySpainElwin Sharvill PROPOSAL
Mayumi W RimFranceStephen Shaw UNQUALIFIED
Murillo P MacleadIndiaOnyama Limba QUALIFIED
Arvin M VocelkaSpainElwin Sharvill QUALIFIED
Alejandro O PerinUnited KingdomOnyama Limba PROPOSAL
Maria X FerenczUnited KingdomBernardo Dominic NEGOTIATION
Antonio R GauchoAustraliaIvan Magalhaes PROPOSAL
Faith C RoysterRussiaOnyama Limba NEGOTIATION
Morrow Y VenereArgentinaXuxue Feng NEGOTIATION
Aruna W FollerBrazilIoni Bowcher UNQUALIFIED
Aruna P CampainArgentinaStephen Shaw NEGOTIATION
Aditya A StensethCanadaBernardo Dominic UNQUALIFIED
Cody F FerenczAustraliaAmy Elsner RENEWAL
Ashley H GarufiAustraliaIvan Magalhaes UNQUALIFIED
Francesco D VenereArgentinaStephen Shaw NEGOTIATION
Mayumi O AlbaresUnited KingdomStephen Shaw RENEWAL
Mayumi C CampainSpainBernardo Dominic UNQUALIFIED
Misaki E ShinkoCanadaOnyama Limba NEW
Tony F CaldareraCanadaIvan Magalhaes UNQUALIFIED
Johnson U MaletCanadaOnyama Limba RENEWAL
Silvio O FlosiBrazilElwin Sharvill PROPOSAL
Claire J FerenczJapanOnyama Limba NEW
Costa G InouyeFranceBernardo Dominic PROPOSAL
Faith X ChuiBrazilOnyama Limba NEW
Izzy X DarakjyArgentinaOnyama Limba QUALIFIED
Mayumi B DoeAustraliaIvan Magalhaes PROPOSAL
Isabel S MorascaRussiaXuxue Feng NEW
Jones O MacleadJapanElwin Sharvill NEGOTIATION
Arvin V FerenczUnited KingdomElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas V AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba T RutaBrazilElwin Sharvill RENEWAL
Munro V SergiIndiaAnna Fali PROPOSAL
Stacey S PerinBrazilIoni Bowcher NEGOTIATION
Deepesh A CampainCanadaStephen Shaw UNQUALIFIED
Emily X GarufiGermanyAnna Fali QUALIFIED
Johnson D FlosiJapanOnyama Limba RENEWAL
Mujtaba Y PoquetteRussiaStephen Shaw NEW
Smith Y NestleGermanyAnna Fali QUALIFIED
Isabel I DilliardFranceAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki J MorascaJapan2025-05-28Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1001Arvin T MorascaFrance2025-05-30Feltz Printing Service RENEWAL43Xuxue Feng
1002Jefferson S MarrierCanada2025-06-12Printing Dimensions PROPOSAL18Stephen Shaw
1003Izzy Q BriddickRussia2025-06-16Chemel, James L Cpa PROPOSAL3Xuxue Feng
1004Munro M PoquetteJapan2025-05-23Feiner Bros NEW3Ioni Bowcher
1005Clifford G StensethSpain2025-06-08Buckley Miller Wright NEW19Bernardo Dominic
1006Johnson L MorascaFrance2025-05-27Morlong Associates UNQUALIFIED98Amy Elsner
1007Nicolas I BriddickItaly2025-05-19Buckley Miller Wright NEW37Xuxue Feng
1008Rodrigues A PerinRussia2025-06-08Commercial Press RENEWAL55Ivan Magalhaes
1009Julie O MacleadGermany2025-06-04Commercial Press NEW49Ivan Magalhaes
1010Mayumi V AlbaresArgentina2025-06-10Dorl, James J Esq RENEWAL27Amy Elsner
1011Izzy O SergiCanada2025-06-01Benton, John B Jr PROPOSAL81Bernardo Dominic
1012Claire Y CampainRussia2025-06-10Morlong Associates NEGOTIATION72Elwin Sharvill
1013Arvin R NestleBrazil2025-06-16Rousseaux, Michael Esq NEW11Onyama Limba
1014Mujtaba Q StensethRussia2025-05-30Feltz Printing Service QUALIFIED27Xuxue Feng
1015Chavez L BriddickAustralia2025-06-11Feiner Bros QUALIFIED69Stephen Shaw
1016Rodrigues Y BriddickAustralia2025-05-22Feltz Printing Service NEGOTIATION12Xuxue Feng
1017Aika W AlbaresRussia2025-06-12Commercial Press PROPOSAL86Elwin Sharvill
1018Cody N AlbaresRussia2025-06-05Dorl, James J Esq NEW17Asiya Javayant
1019Stacey X RulapaughJapan2025-06-10Morlong Associates UNQUALIFIED66Stephen Shaw
1020Adams D FerenczCanada2025-06-12Chemel, James L Cpa UNQUALIFIED39Elwin Sharvill
1021Ricardo A KolmetzItaly2025-05-26Dorl, James J Esq QUALIFIED55Asiya Javayant
1022Alejandro Q WaycottSpain2025-05-29Commercial Press QUALIFIED94Ioni Bowcher
1023Jones L OldroydIndia2025-05-30Printing Dimensions NEGOTIATION5Anna Fali
1024Munro B TollnerFrance2025-06-05Buckley Miller Wright PROPOSAL33Onyama Limba
1025Sinclair F IturbideRussia2025-06-06Dorl, James J Esq NEGOTIATION1Stephen Shaw
1026Ricardo F InouyeItaly2025-05-22Rangoni Of Florence RENEWAL53Ioni Bowcher
1027Faith E FerenczCanada2025-06-10Truhlar And Truhlar Attys QUALIFIED94Ivan Magalhaes
1028Ashley D SchemmerFrance2025-06-15Buckley Miller Wright PROPOSAL34Xuxue Feng
1029Rodrigues M SergiUnited Kingdom2025-05-23King, Christopher A Esq PROPOSAL62Asiya Javayant
1030Faith V BologniaUnited Kingdom2025-05-20Chapman, Ross E Esq QUALIFIED76Asiya Javayant
1031Darci Y NickaIndia2025-05-31Benton, John B Jr RENEWAL90Ivan Magalhaes
1032Octavia S FollerAustralia2025-06-03Commercial Press QUALIFIED56Stephen Shaw
1033Jefferson Z DoeUnited Kingdom2025-06-07Rangoni Of Florence QUALIFIED66Xuxue Feng
1034Costa R StockhamFrance2025-05-21Chapman, Ross E Esq RENEWAL95Onyama Limba
1035Stacey U PoquetteJapan2025-05-27Feiner Bros RENEWAL68Stephen Shaw
1036Jennifer X IturbideCanada2025-05-18King, Christopher A Esq QUALIFIED28Elwin Sharvill
1037Claire O CampainArgentina2025-06-15Rangoni Of Florence PROPOSAL46Amy Elsner
1038Mayumi M KolmetzCanada2025-06-03Feiner Bros NEW62Ivan Magalhaes
1039Munro O OldroydJapan2025-06-01Dorl, James J Esq UNQUALIFIED23Onyama Limba
1040Kaitlin E MorascaSpain2025-06-06King, Christopher A Esq NEGOTIATION46Xuxue Feng
1041Octavia X VocelkaItaly2025-06-05Feiner Bros RENEWAL45Bernardo Dominic
1042Leon B CaudyJapan2025-05-31Feltz Printing Service NEW16Onyama Limba
1043Costa Y TollnerGermany2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED37Asiya Javayant
1044Murillo M StockhamCanada2025-05-18Chapman, Ross E Esq NEW61Bernardo Dominic
1045Izzy I SaylorsGermany2025-05-27Chemel, James L Cpa NEGOTIATION39Anna Fali
1046Salvatore J MaletFrance2025-06-09Chemel, James L Cpa PROPOSAL50Anna Fali
1047Jefferson U RutaItaly2025-05-23Chapman, Ross E Esq QUALIFIED67Ioni Bowcher
1048Jennifer V WaycottIndia2025-06-14Chapman, Ross E Esq UNQUALIFIED81Anna Fali
1049Kadeem J AmigonSpain2025-05-30Buckley Miller Wright NEW22Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Smith E NickaCanadaIvan Magalhaes RENEWAL
Darci N PoquetteFranceXuxue Feng NEGOTIATION
Juan I FollerBrazilXuxue Feng UNQUALIFIED
Jennifer P SergiSpainAnna Fali PROPOSAL
Stacey F SaylorsFranceXuxue Feng QUALIFIED
Johnson K GillianArgentinaAsiya Javayant NEW
Sinclair P RutaAustraliaXuxue Feng QUALIFIED
Alejandro V PerinItalyIoni Bowcher NEGOTIATION
Chavez F FigeroaAustraliaElwin Sharvill NEGOTIATION
Cody P OstroskySpainOnyama Limba NEW
Wickens P FigeroaCanadaBernardo Dominic RENEWAL
Faith L SlusarskiItalyOnyama Limba QUALIFIED
Cody C KolmetzGermanyIoni Bowcher QUALIFIED
Jefferson U MaletRussiaOnyama Limba RENEWAL
Jones Y AlbaresIndiaIoni Bowcher UNQUALIFIED
Jones H OldroydFranceElwin Sharvill QUALIFIED
Isabel P OldroydSpainBernardo Dominic PROPOSAL
Julie X SaylorsUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois M MacleadIndiaElwin Sharvill NEW
Alejandro S FerenczAustraliaStephen Shaw RENEWAL
Jeanfrancois X WaycottFranceIoni Bowcher NEW
Leon L SchemmerJapanOnyama Limba NEW
Munro D OstroskyCanadaAnna Fali NEW
Claire P CampainFranceOnyama Limba UNQUALIFIED
Wickens U MarrierIndiaIvan Magalhaes QUALIFIED
Chavez X FigeroaCanadaIoni Bowcher NEGOTIATION
Leon O MaletCanadaStephen Shaw PROPOSAL
Mujtaba B RutaAustraliaStephen Shaw NEGOTIATION
Morrow G KuskoBrazilAsiya Javayant QUALIFIED
Smith X DoeUnited KingdomElwin Sharvill RENEWAL
Maria E FerenczJapanIvan Magalhaes QUALIFIED
Tony P KuskoRussiaBernardo Dominic RENEWAL
Nicolas O GarufiRussiaXuxue Feng PROPOSAL
Octavia A GlickFranceOnyama Limba NEGOTIATION
Kadeem M RoysterSpainXuxue Feng QUALIFIED
Mayumi U SchemmerFranceElwin Sharvill QUALIFIED
Johnson V MaletArgentinaStephen Shaw NEW
Darci V MaletItalyBernardo Dominic NEGOTIATION
Kaitlin Q KolmetzJapanAsiya Javayant PROPOSAL
Emily P WhobreyAustraliaAmy Elsner UNQUALIFIED
Adams C RoysterCanadaElwin Sharvill QUALIFIED
Mayumi N StockhamJapanBernardo Dominic PROPOSAL
Ashley Y PerinAustraliaOnyama Limba RENEWAL
Jefferson T OldroydCanadaOnyama Limba NEGOTIATION
Mujtaba U InouyeRussiaIvan Magalhaes RENEWAL
Johnson K BriddickUnited KingdomAmy Elsner PROPOSAL
Deepesh R RoysterRussiaXuxue Feng RENEWAL
Smith I SaylorsBrazilElwin Sharvill PROPOSAL
Izzy S DilliardFranceAsiya Javayant PROPOSAL
Rodrigues M CampainAustraliaAnna Fali NEGOTIATION
Frozen Columns
Name
Nicolas J Darakjy
Julie A Glick
Aika U Campain
Jennifer G Slusarski
James U Amigon
Francesco N Flosi
Maria V Stenseth
Adams E Waycott
Aruna K Malet
Aruna H Darakjy
Ivar Q Nicka
Leja V Doe
Jefferson W Gaucho
Morrow F Kolmetz
Smith V Albares
Nicolas P Nicka
Darci V Bolognia
Arvin V Doe
Maisha K Stockham
Faith Y Malet
Greenwood T Iturbide
Salvatore D Darakjy
Faith A Wieser
Juan F Gaucho
Ivar D Perin
David O Whobrey
Antonio C Doe
Izzy Z Royster
Jennifer T Slusarski
Faith W Tollner
Octavia C Perin
Cody M Glick
Clifford N Flosi
Francesco Y Briddick
Ashley R Ruta
Ricardo M Ostrosky
Morrow C Poquette
Nicolas L Bowley
David E Venere
Maria K Flosi
Julie B Flosi
Misaki B Nestle
Leon C Oldroyd
Jefferson J Ferencz
Francesco Q Campain
Munro J Glick
Claire T Sergi
Cody U Caudy
Aditya W Gaucho
Salvatore P Figeroa
IdCountryDate
1000Spain2025-05-25
1001Argentina2025-06-08
1002Japan2025-06-04
1003Germany2025-06-04
1004Germany2025-05-30
1005Brazil2025-06-11
1006Australia2025-06-14
1007Argentina2025-05-21
1008Argentina2025-05-20
1009United Kingdom2025-06-16
1010Spain2025-05-24
1011Russia2025-06-05
1012Russia2025-06-13
1013India2025-05-20
1014Spain2025-06-05
1015France2025-05-23
1016Brazil2025-05-27
1017Russia2025-06-14
1018United Kingdom2025-06-10
1019Russia2025-06-01
1020Brazil2025-06-10
1021Russia2025-06-04
1022Spain2025-05-22
1023India2025-05-21
1024Japan2025-05-31
1025Canada2025-06-03
1026India2025-06-14
1027Brazil2025-06-16
1028Argentina2025-06-05
1029Spain2025-05-28
1030Russia2025-05-23
1031India2025-06-10
1032Italy2025-06-12
1033Germany2025-06-03
1034United Kingdom2025-06-16
1035Germany2025-06-05
1036Germany2025-06-08
1037Germany2025-05-18
1038Brazil2025-05-18
1039Argentina2025-05-29
1040Argentina2025-06-01
1041Italy2025-05-25
1042Germany2025-06-11
1043Spain2025-06-07
1044Italy2025-05-18
1045Canada2025-05-18
1046Canada2025-05-20
1047France2025-06-04
1048Germany2025-05-27
1049Russia2025-05-21

On-Demand Data

NameIdCountryDate
Smith R Bolognia1000Italy2025-06-02
Costa I Tollner1001Canada2025-06-04
Aika X Gaucho1002Canada2025-05-24
Aika Y Gillian1003Brazil2025-05-27
Mayumi U Oldroyd1004Argentina2025-05-24
Costa V Venere1005Germany2025-06-09
Smith L Glick1006Australia2025-06-09
Silvio T Vocelka1007India2025-06-04
Mayumi E Stockham1008Australia2025-06-06
Rodrigues J Nestle1009Spain2025-05-27
Octavia B Albares1010France2025-05-29
Jefferson Q Bowley1011Australia2025-05-22
Jefferson W Nicka1012Japan2025-05-28
Tony M Malet1013Australia2025-06-13
Kadeem F Wieser1014Brazil2025-05-29
Ashley E Glick1015Brazil2025-05-23
Silvio F Perin1016Russia2025-05-19
Deepesh G Figeroa1017Canada2025-05-24
Jeanfrancois H Figeroa1018Brazil2025-05-26
Maisha X Foller1019Brazil2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem E SergiRussiaOnyama Limba NEW
Maria S MorascaUnited KingdomBernardo Dominic RENEWAL
Rodrigues F CampainSpainOnyama Limba RENEWAL
Sinclair Z InouyeSpainIvan Magalhaes NEW
Leon N MaletFranceAsiya Javayant NEGOTIATION
Antonio Q StensethBrazilIoni Bowcher UNQUALIFIED
Wickens T WieserGermanyStephen Shaw NEGOTIATION
Jeanfrancois K MaletCanadaIvan Magalhaes UNQUALIFIED
Kadeem X DilliardBrazilIoni Bowcher RENEWAL
Maria R FollerArgentinaElwin Sharvill NEW
Silvio Q PaprockiItalyOnyama Limba UNQUALIFIED
Ashley G MarrierBrazilBernardo Dominic PROPOSAL
Julie E IturbideAustraliaStephen Shaw RENEWAL
Smith W RoysterItalyIvan Magalhaes NEW
Ivar S RulapaughAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois M TollnerAustraliaBernardo Dominic RENEWAL
Aika N CaudyFranceBernardo Dominic QUALIFIED
Salvatore J VocelkaUnited KingdomIoni Bowcher RENEWAL
Faith C IturbideUnited KingdomElwin Sharvill NEW
Costa S VenereJapanIoni Bowcher PROPOSAL
Julie C FlosiCanadaElwin Sharvill NEGOTIATION
Aruna E MacleadJapanOnyama Limba UNQUALIFIED
Ashley L RimBrazilStephen Shaw UNQUALIFIED
Johnson Y DarakjyItalyAmy Elsner NEW
Izzy A RutaUnited KingdomAnna Fali NEW
Deepesh K VenereGermanyIvan Magalhaes UNQUALIFIED
Johnson W VocelkaIndiaOnyama Limba RENEWAL
Deepesh S CaudyCanadaXuxue Feng UNQUALIFIED
Jefferson Z ChuiCanadaAsiya Javayant RENEWAL
David K VenereIndiaOnyama Limba NEGOTIATION
Kaitlin P CaudyArgentinaXuxue Feng UNQUALIFIED
Morrow O SchemmerGermanyXuxue Feng QUALIFIED
Maria I CampainCanadaOnyama Limba PROPOSAL
Misaki W ButtAustraliaIoni Bowcher RENEWAL
Jefferson G TollnerFranceAmy Elsner QUALIFIED
Faith U KolmetzBrazilIvan Magalhaes NEW
Greenwood Q DarakjyFranceElwin Sharvill NEW
Deepesh O CaudyRussiaAmy Elsner PROPOSAL
Rodrigues W SlusarskiArgentinaIvan Magalhaes QUALIFIED
Francesco Y OldroydItalyElwin Sharvill PROPOSAL

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