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
Jones R SlusarskiGermanyOnyama Limba PROPOSAL
Johnson Q StensethItalyXuxue Feng NEGOTIATION
Sinclair C GlickItalyAmy Elsner RENEWAL
Nicolas Z MarrierIndiaElwin Sharvill NEW
Jeanfrancois N NickaItalyIoni Bowcher NEW
Nicolas X GlickGermanyElwin Sharvill QUALIFIED
Maria I NickaRussiaAnna Fali UNQUALIFIED
Nicolas L GillianUnited KingdomAnna Fali PROPOSAL
Alejandro F BologniaAustraliaAsiya Javayant UNQUALIFIED
Claire K WieserUnited KingdomIoni Bowcher RENEWAL
Mujtaba L CaldareraJapanIvan Magalhaes PROPOSAL
Sinclair F StensethJapanIoni Bowcher NEW
Smith J AmigonIndiaAmy Elsner QUALIFIED
Darci C FollerSpainIvan Magalhaes QUALIFIED
Aruna F GarufiUnited KingdomIvan Magalhaes NEW
Smith S WhobreyUnited KingdomStephen Shaw RENEWAL
Murillo A ButtIndiaStephen Shaw RENEWAL
Julie J ChuiArgentinaElwin Sharvill RENEWAL
Rodrigues Y StockhamBrazilBernardo Dominic UNQUALIFIED
Leja Y MorascaBrazilIoni Bowcher PROPOSAL
Jeanfrancois Y KuskoGermanyBernardo Dominic UNQUALIFIED
Antonio E RulapaughIndiaXuxue Feng NEGOTIATION
Aditya X CampainCanadaAsiya Javayant UNQUALIFIED
Aika F PaprockiFranceAmy Elsner PROPOSAL
Rodrigues Q MorascaAustraliaStephen Shaw QUALIFIED
Leja U RimSpainAnna Fali PROPOSAL
Salvatore B TollnerJapanAmy Elsner NEW
Smith H MaletItalyOnyama Limba RENEWAL
Jones G MorascaJapanBernardo Dominic RENEWAL
Silvio S RulapaughArgentinaAmy Elsner UNQUALIFIED
Juan Y SchemmerAustraliaStephen Shaw PROPOSAL
David T GauchoBrazilAnna Fali PROPOSAL
Murillo Z DoeIndiaOnyama Limba UNQUALIFIED
Ashley T ShinkoRussiaIvan Magalhaes PROPOSAL
Maria W VenereSpainElwin Sharvill QUALIFIED
Cody J PaprockiItalyStephen Shaw NEW
Juan C DarakjyJapanIvan Magalhaes RENEWAL
Kaitlin L SergiArgentinaAsiya Javayant UNQUALIFIED
Alejandro H AlbaresBrazilAmy Elsner RENEWAL
Octavia N KolmetzRussiaBernardo Dominic UNQUALIFIED
Munro G DarakjyArgentinaElwin Sharvill PROPOSAL
Cody N AlbaresIndiaAsiya Javayant NEGOTIATION
Sinclair N RulapaughJapanXuxue Feng QUALIFIED
Jennifer V GillianJapanIoni Bowcher QUALIFIED
Deepesh G WaycottSpainAsiya Javayant QUALIFIED
Sinclair B VenereUnited KingdomStephen Shaw RENEWAL
Jefferson Z OldroydGermanyIvan Magalhaes NEGOTIATION
Juan Q SlusarskiItalyBernardo Dominic UNQUALIFIED
Arvin Z RutaGermanyBernardo Dominic NEGOTIATION
Arvin D PoquetteCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones V CaldareraIndiaXuxue Feng PROPOSAL
Clifford S MaletItalyIvan Magalhaes PROPOSAL
Sinclair D ButtRussiaAsiya Javayant NEW
Leja F AlbaresCanadaAsiya Javayant NEGOTIATION
Julie W CampainItalyAsiya Javayant RENEWAL
Maisha T AmigonAustraliaAnna Fali QUALIFIED
Octavia S MaletCanadaStephen Shaw QUALIFIED
Salvatore Y GillianIndiaAmy Elsner QUALIFIED
Mujtaba N GlickGermanyOnyama Limba NEGOTIATION
Jennifer C FigeroaArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio F OldroydJapan2024-06-03Chanay, Jeffrey A Esq QUALIFIED97Elwin Sharvill
1001Isabel A BowleyCanada2024-06-12Feiner Bros PROPOSAL30Elwin Sharvill
1002Darci A KolmetzUnited Kingdom2024-06-17Rangoni Of Florence PROPOSAL15Stephen Shaw
1003David T GillianBrazil2024-05-24Chemel, James L Cpa QUALIFIED86Anna Fali
1004Octavia M ChuiRussia2024-06-10Buckley Miller Wright PROPOSAL9Anna Fali
1005Ricardo N FerenczUnited Kingdom2024-06-04Truhlar And Truhlar Attys RENEWAL11Elwin Sharvill
1006Chavez L StockhamUnited Kingdom2024-06-01Feltz Printing Service PROPOSAL14Ivan Magalhaes
1007Francesco J DoeGermany2024-06-05Buckley Miller Wright RENEWAL7Elwin Sharvill
1008Greenwood H IturbideUnited Kingdom2024-06-17Dorl, James J Esq QUALIFIED4Asiya Javayant
1009Ashley K PoquetteJapan2024-06-05Printing Dimensions QUALIFIED16Asiya Javayant
1010Wickens A ChuiCanada2024-06-18Chanay, Jeffrey A Esq NEGOTIATION54Asiya Javayant
1011Leon R IturbideAustralia2024-06-10Commercial Press UNQUALIFIED92Bernardo Dominic
1012Rodrigues E FollerIndia2024-06-09Feiner Bros NEGOTIATION23Stephen Shaw
1013Kadeem L IturbideIndia2024-06-09Chapman, Ross E Esq QUALIFIED1Anna Fali
1014Alejandro M GarufiItaly2024-06-05Chemel, James L Cpa UNQUALIFIED67Anna Fali
1015Chavez O CaudyJapan2024-06-07King, Christopher A Esq NEW25Stephen Shaw
1016Kaitlin R CaldareraArgentina2024-05-21Feltz Printing Service NEGOTIATION96Stephen Shaw
1017Izzy E DilliardAustralia2024-06-03Truhlar And Truhlar Attys PROPOSAL19Anna Fali
1018Sinclair H StockhamFrance2024-06-08Chapman, Ross E Esq QUALIFIED51Ioni Bowcher
1019Adams H DoeFrance2024-06-12King, Christopher A Esq QUALIFIED99Xuxue Feng
1020Ivar C OldroydArgentina2024-06-08Feiner Bros QUALIFIED69Ivan Magalhaes
1021Stacey O WieserGermany2024-06-15Morlong Associates NEW3Amy Elsner
1022Octavia Q StensethSpain2024-06-16Dorl, James J Esq NEW81Amy Elsner
1023Izzy B GlickGermany2024-05-26King, Christopher A Esq PROPOSAL54Ioni Bowcher
1024Leon P FollerIndia2024-06-09Chapman, Ross E Esq UNQUALIFIED41Ioni Bowcher
1025Izzy J ShinkoArgentina2024-05-20Dorl, James J Esq NEGOTIATION59Onyama Limba
1026Maria D KolmetzJapan2024-06-16Benton, John B Jr RENEWAL26Xuxue Feng
1027Adams W SlusarskiArgentina2024-05-31Rangoni Of Florence QUALIFIED25Asiya Javayant
1028Izzy Q PoquetteBrazil2024-06-08Rousseaux, Michael Esq RENEWAL42Ioni Bowcher
1029Antonio V SaylorsCanada2024-05-27Feltz Printing Service UNQUALIFIED22Amy Elsner
1030Julie P StensethFrance2024-05-23Dorl, James J Esq RENEWAL80Amy Elsner
1031Juan P CaudyRussia2024-05-24Dorl, James J Esq RENEWAL57Bernardo Dominic
1032Adams B OldroydRussia2024-06-12King, Christopher A Esq PROPOSAL85Onyama Limba
1033Emily T OstroskyUnited Kingdom2024-06-18Feltz Printing Service NEGOTIATION41Asiya Javayant
1034James Z SlusarskiArgentina2024-06-10Feltz Printing Service PROPOSAL44Anna Fali
1035Jeanfrancois S BologniaIndia2024-06-01Printing Dimensions PROPOSAL68Bernardo Dominic
1036Izzy Z CaudyGermany2024-06-18Chapman, Ross E Esq RENEWAL85Bernardo Dominic
1037Aditya B ChuiItaly2024-06-17Feiner Bros RENEWAL59Amy Elsner
1038Mujtaba B CampainRussia2024-05-25Commercial Press NEW0Onyama Limba
1039Tony L RimItaly2024-06-10Morlong Associates PROPOSAL64Anna Fali
1040Maisha Z MaletRussia2024-06-15Rousseaux, Michael Esq UNQUALIFIED90Ioni Bowcher
1041Antonio X GlickCanada2024-06-18Feltz Printing Service PROPOSAL28Ivan Magalhaes
1042Ricardo H WhobreyArgentina2024-06-18Printing Dimensions QUALIFIED16Bernardo Dominic
1043Kaitlin B VocelkaRussia2024-06-07Dorl, James J Esq PROPOSAL67Asiya Javayant
1044Aika B SergiBrazil2024-05-28Dorl, James J Esq NEW59Stephen Shaw
1045Jefferson F MacleadCanada2024-06-12Rangoni Of Florence PROPOSAL76Ioni Bowcher
1046Kaitlin T BriddickItaly2024-06-03Printing Dimensions QUALIFIED98Ivan Magalhaes
1047Antonio H IturbideSpain2024-05-21Printing Dimensions RENEWAL22Asiya Javayant
1048Ashley B RutaIndia2024-06-12Chapman, Ross E Esq RENEWAL80Onyama Limba
1049Julie P CampainRussia2024-05-22King, Christopher A Esq NEGOTIATION22Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas P DilliardUnited KingdomStephen Shaw RENEWAL
Clifford F NestleArgentinaStephen Shaw NEGOTIATION
Adams C DilliardArgentinaOnyama Limba PROPOSAL
James Q WhobreyAustraliaXuxue Feng UNQUALIFIED
Tony A MorascaFranceIvan Magalhaes UNQUALIFIED
Aruna G FigeroaUnited KingdomIoni Bowcher QUALIFIED
Nicolas J BowleyItalyAnna Fali UNQUALIFIED
Chavez J PoquetteItalyElwin Sharvill PROPOSAL
Silvio M DilliardIndiaOnyama Limba UNQUALIFIED
Octavia O MaletUnited KingdomAmy Elsner NEW
Sinclair B StensethAustraliaOnyama Limba UNQUALIFIED
Izzy W FigeroaGermanyIvan Magalhaes PROPOSAL
Arvin X PoquetteGermanyIvan Magalhaes QUALIFIED
Adams L SlusarskiIndiaXuxue Feng PROPOSAL
Leja X DilliardGermanyElwin Sharvill RENEWAL
Aditya V InouyeIndiaBernardo Dominic UNQUALIFIED
Faith W KuskoArgentinaOnyama Limba NEGOTIATION
Jennifer U WhobreyFranceElwin Sharvill RENEWAL
Octavia G RimUnited KingdomBernardo Dominic NEGOTIATION
Aditya S GlickGermanyAsiya Javayant NEGOTIATION
Smith C SaylorsFranceXuxue Feng NEGOTIATION
Aditya T FigeroaSpainAmy Elsner QUALIFIED
Maria W FlosiFranceAsiya Javayant PROPOSAL
Claire Q GillianJapanStephen Shaw RENEWAL
Isabel O WieserArgentinaElwin Sharvill QUALIFIED
Izzy R SergiAustraliaAnna Fali UNQUALIFIED
Antonio I ShinkoRussiaOnyama Limba RENEWAL
Chavez C WieserFranceAsiya Javayant RENEWAL
Munro T StensethCanadaElwin Sharvill QUALIFIED
Ivar D RoysterItalyXuxue Feng UNQUALIFIED
Jennifer D FlosiItalyStephen Shaw QUALIFIED
Johnson E WhobreyFranceAsiya Javayant RENEWAL
Ashley V StockhamJapanXuxue Feng NEW
Emily F NestleGermanyElwin Sharvill NEW
Faith L DilliardArgentinaStephen Shaw RENEWAL
Clifford L ShinkoRussiaBernardo Dominic NEW
Ashley X AlbaresJapanStephen Shaw NEW
Kaitlin W MorascaFranceXuxue Feng NEGOTIATION
Sinclair G MaletAustraliaAnna Fali NEW
Jennifer D MaletJapanAnna Fali RENEWAL
Mayumi V NestleItalyOnyama Limba PROPOSAL
Aruna J FlosiAustraliaIoni Bowcher QUALIFIED
Aika G PerinArgentinaElwin Sharvill PROPOSAL
Morrow X WieserCanadaStephen Shaw PROPOSAL
Leja N SaylorsSpainOnyama Limba NEGOTIATION
James E ButtAustraliaAmy Elsner NEW
Sinclair P FollerItalyBernardo Dominic NEW
David N RimBrazilElwin Sharvill NEW
Sinclair U AmigonSpainOnyama Limba NEGOTIATION
Stacey R CampainSpainAmy Elsner UNQUALIFIED
Frozen Columns
Name
Ashley W Briddick
Kaitlin H Shinko
Salvatore J Garufi
Wickens R Vocelka
Cody G Rulapaugh
Tony W Ostrosky
Kadeem U Iturbide
Ivar K Shinko
Izzy W Ferencz
Smith R Royster
Kaitlin B Poquette
Rodrigues W Gillian
Faith M Flosi
Emily L Caldarera
Ivar X Iturbide
Stacey F Oldroyd
Kaitlin R Kusko
Aika N Ferencz
Nicolas E Caldarera
Mayumi M Foller
Isabel T Oldroyd
Juan M Venere
Greenwood V Glick
Greenwood X Doe
Tony O Sergi
Antonio C Venere
Sinclair O Chui
Cody E Darakjy
Leja K Nicka
James Z Oldroyd
Ivar A Venere
Kaitlin Z Oldroyd
James I Ferencz
Silvio T Stenseth
Misaki R Figeroa
Claire M Garufi
Emily N Kusko
Greenwood M Bowley
Darci A Vocelka
Nicolas B Tollner
Octavia G Foller
Alejandro W Rulapaugh
Morrow U Nestle
Nicolas H Glick
Cody Z Whobrey
Aika Y Vocelka
Clifford R Ostrosky
Emily L Tollner
Ashley Z Gaucho
Jennifer R Caldarera
IdCountryDate
1000Italy2024-06-08
1001Australia2024-06-04
1002Argentina2024-06-15
1003India2024-06-01
1004Australia2024-05-30
1005Germany2024-05-26
1006Japan2024-06-07
1007Germany2024-06-09
1008Spain2024-06-16
1009Australia2024-06-18
1010India2024-06-10
1011Germany2024-06-16
1012Russia2024-06-08
1013Italy2024-05-31
1014Canada2024-06-13
1015United Kingdom2024-05-31
1016India2024-06-01
1017Japan2024-05-21
1018United Kingdom2024-06-16
1019Argentina2024-06-07
1020Brazil2024-06-03
1021Russia2024-05-23
1022Japan2024-06-13
1023Argentina2024-05-31
1024Italy2024-06-05
1025India2024-06-14
1026Germany2024-06-10
1027Argentina2024-06-08
1028Spain2024-06-14
1029United Kingdom2024-05-28
1030Spain2024-06-18
1031Australia2024-06-06
1032Argentina2024-06-13
1033Australia2024-05-29
1034Japan2024-05-27
1035United Kingdom2024-06-07
1036Canada2024-06-16
1037Australia2024-05-30
1038France2024-06-13
1039Brazil2024-06-10
1040Argentina2024-05-28
1041Australia2024-06-06
1042Argentina2024-06-05
1043Japan2024-05-24
1044United Kingdom2024-06-16
1045Australia2024-05-23
1046Canada2024-06-05
1047Spain2024-05-22
1048France2024-05-28
1049Australia2024-06-17

On-Demand Data

NameIdCountryDate
Munro B Glick1000Brazil2024-06-09
Emily T Bolognia1001Russia2024-05-22
Alejandro M Ferencz1002Russia2024-05-26
Maria I Inouye1003Canada2024-05-20
Stacey O Briddick1004Japan2024-06-02
Murillo W Shinko1005Canada2024-06-02
Deepesh F Malet1006Germany2024-06-08
Ricardo R Vocelka1007Russia2024-06-09
Juan W Oldroyd1008Australia2024-06-18
Darci T Butt1009United Kingdom2024-06-08
Munro O Caudy1010Argentina2024-06-03
Jennifer N Saylors1011Japan2024-06-10
Alejandro C Iturbide1012Canada2024-05-25
Misaki V Venere1013France2024-06-09
Juan V Gillian1014Spain2024-06-10
Mayumi A Rulapaugh1015Australia2024-06-14
Ivar J Garufi1016France2024-05-26
Maria G Caudy1017Russia2024-05-20
Izzy W Kolmetz1018Brazil2024-06-09
Francesco L Perin1019Spain2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro K TollnerArgentinaBernardo Dominic NEGOTIATION
Leon X AmigonItalyAnna Fali NEGOTIATION
Leon T StensethJapanXuxue Feng PROPOSAL
David X PaprockiRussiaIvan Magalhaes UNQUALIFIED
Sinclair D VocelkaUnited KingdomStephen Shaw PROPOSAL
Maisha A CaudySpainAmy Elsner NEW
Aruna M WhobreySpainElwin Sharvill NEGOTIATION
Aditya W GlickFranceIvan Magalhaes NEGOTIATION
Faith C WhobreyGermanyAmy Elsner PROPOSAL
Ashley M IturbideFranceElwin Sharvill RENEWAL
Aruna P GillianSpainXuxue Feng PROPOSAL
Kadeem F ShinkoJapanBernardo Dominic UNQUALIFIED
Aruna I NestleJapanAnna Fali NEGOTIATION
Misaki Y MaletRussiaAmy Elsner NEW
Faith U WhobreySpainIoni Bowcher RENEWAL
Clifford N SchemmerSpainAmy Elsner PROPOSAL
Ricardo Y PerinGermanyStephen Shaw RENEWAL
Greenwood K FigeroaBrazilStephen Shaw UNQUALIFIED
Jennifer C VocelkaRussiaAsiya Javayant QUALIFIED
Kadeem E StensethCanadaStephen Shaw NEW
Leon D PoquetteFranceIvan Magalhaes RENEWAL
Maisha C SchemmerFranceIvan Magalhaes UNQUALIFIED
Munro I DarakjyAustraliaAmy Elsner NEGOTIATION
Ivar V BowleyUnited KingdomOnyama Limba NEGOTIATION
Juan A OstroskyIndiaBernardo Dominic NEW
Wickens Y RoysterSpainAsiya Javayant QUALIFIED
Mujtaba F ChuiRussiaAmy Elsner PROPOSAL
Murillo P IturbideJapanAnna Fali PROPOSAL
Ashley E CampainArgentinaIoni Bowcher NEGOTIATION
Maria J CaudyIndiaAnna Fali RENEWAL
Kaitlin T WhobreySpainXuxue Feng NEW
James H PaprockiJapanAnna Fali PROPOSAL
Darci X StensethItalyStephen Shaw RENEWAL
Antonio W BriddickRussiaAnna Fali UNQUALIFIED
Leja R CampainBrazilElwin Sharvill PROPOSAL
Kaitlin D MorascaUnited KingdomAmy Elsner RENEWAL
James U CampainBrazilAmy Elsner NEW
Leon V PaprockiAustraliaElwin Sharvill QUALIFIED
Mujtaba W PaprockiArgentinaAmy Elsner NEGOTIATION
David H FigeroaRussiaAsiya Javayant 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>