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 U GarufiGermanyAsiya Javayant NEW
Jones R WieserGermanyIoni Bowcher NEGOTIATION
Francesco Z RoysterRussiaIvan Magalhaes UNQUALIFIED
Ivar W StensethSpainXuxue Feng RENEWAL
Wickens T NickaBrazilStephen Shaw RENEWAL
Kaitlin L GlickGermanyAnna Fali NEW
James R BriddickItalyOnyama Limba NEW
Alejandro X SaylorsUnited KingdomXuxue Feng NEGOTIATION
Mayumi G MaletBrazilIvan Magalhaes UNQUALIFIED
Izzy N InouyeRussiaIvan Magalhaes RENEWAL
Jones C ButtJapanElwin Sharvill RENEWAL
Aika B FigeroaUnited KingdomIoni Bowcher RENEWAL
Aika Y FollerGermanyStephen Shaw RENEWAL
Adams B FlosiArgentinaStephen Shaw NEGOTIATION
Cody D VocelkaAustraliaBernardo Dominic NEGOTIATION
Stacey B PoquetteUnited KingdomAnna Fali PROPOSAL
Misaki B StockhamUnited KingdomAnna Fali UNQUALIFIED
James E VocelkaFranceIoni Bowcher NEGOTIATION
Greenwood D CampainSpainIoni Bowcher UNQUALIFIED
Smith H SchemmerItalyIvan Magalhaes NEW
Julie O KolmetzArgentinaIoni Bowcher NEGOTIATION
Cody X VenereUnited KingdomAsiya Javayant NEW
Nicolas I FigeroaAustraliaAmy Elsner UNQUALIFIED
Kadeem G ShinkoItalyAmy Elsner RENEWAL
Salvatore D StockhamSpainBernardo Dominic QUALIFIED
Tony T GillianJapanIvan Magalhaes UNQUALIFIED
Mujtaba V WaycottItalyIoni Bowcher NEW
Deepesh C GarufiFranceAsiya Javayant PROPOSAL
Sinclair N ChuiJapanBernardo Dominic RENEWAL
Claire W DilliardFranceStephen Shaw RENEWAL
Arvin B GlickSpainIoni Bowcher RENEWAL
Rodrigues M RoysterIndiaAnna Fali QUALIFIED
Smith S OldroydArgentinaIoni Bowcher PROPOSAL
Jones A GlickCanadaIoni Bowcher PROPOSAL
Chavez S BologniaItalyXuxue Feng RENEWAL
Sinclair S WhobreyArgentinaBernardo Dominic NEGOTIATION
Emily H RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Arvin J SchemmerRussiaXuxue Feng PROPOSAL
Costa O RimBrazilElwin Sharvill RENEWAL
Kaitlin M CaldareraRussiaIoni Bowcher PROPOSAL
Aika B SchemmerUnited KingdomOnyama Limba NEW
Salvatore E RimBrazilXuxue Feng RENEWAL
Kadeem R DilliardItalyIvan Magalhaes QUALIFIED
Cody D BologniaUnited KingdomIoni Bowcher RENEWAL
Mayumi Y SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Ivar L WaycottCanadaAnna Fali RENEWAL
Johnson O StockhamSpainAsiya Javayant QUALIFIED
Mujtaba Y FigeroaJapanAmy Elsner NEGOTIATION
Munro E StockhamItalyAnna Fali NEW
Emily L StensethSpainAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood J InouyeJapanIoni Bowcher NEW
Darci E FigeroaFranceElwin Sharvill RENEWAL
Julie E OldroydRussiaElwin Sharvill QUALIFIED
Nicolas J StockhamAustraliaAsiya Javayant UNQUALIFIED
Costa S WaycottItalyXuxue Feng UNQUALIFIED
Ricardo N VocelkaCanadaIoni Bowcher QUALIFIED
Murillo W StockhamBrazilIoni Bowcher NEW
Mayumi J WieserGermanyAmy Elsner UNQUALIFIED
Greenwood P MaletGermanyIoni Bowcher PROPOSAL
Misaki G BologniaUnited KingdomIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire O InouyeFrance2024-06-18King, Christopher A Esq UNQUALIFIED88Asiya Javayant
1001Leon F AlbaresJapan2024-06-06King, Christopher A Esq UNQUALIFIED99Bernardo Dominic
1002Aditya Z DarakjyCanada2024-06-05Printing Dimensions NEGOTIATION27Ivan Magalhaes
1003Munro B FerenczArgentina2024-06-01Chanay, Jeffrey A Esq RENEWAL94Stephen Shaw
1004Octavia J OstroskyUnited Kingdom2024-06-14Feiner Bros UNQUALIFIED36Ivan Magalhaes
1005Misaki C BologniaGermany2024-05-25Rangoni Of Florence QUALIFIED41Ioni Bowcher
1006Faith U PaprockiArgentina2024-06-18Feltz Printing Service RENEWAL29Onyama Limba
1007Costa Y FigeroaFrance2024-05-24King, Christopher A Esq RENEWAL87Stephen Shaw
1008Deepesh A PerinItaly2024-06-16Rousseaux, Michael Esq QUALIFIED49Elwin Sharvill
1009Leon N MaletJapan2024-06-09Truhlar And Truhlar Attys UNQUALIFIED94Amy Elsner
1010Nicolas D ShinkoFrance2024-06-06Feiner Bros NEGOTIATION82Asiya Javayant
1011Mayumi N InouyeItaly2024-05-28Printing Dimensions QUALIFIED89Bernardo Dominic
1012Johnson P KuskoSpain2024-06-04Feiner Bros NEGOTIATION61Onyama Limba
1013Murillo N CampainArgentina2024-05-30Feiner Bros QUALIFIED26Ioni Bowcher
1014Tony W VenereCanada2024-06-12Truhlar And Truhlar Attys NEW31Anna Fali
1015Ashley V DarakjySpain2024-06-18Chemel, James L Cpa NEW48Onyama Limba
1016Julie Q FerenczIndia2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED82Onyama Limba
1017Faith R AmigonGermany2024-06-01Truhlar And Truhlar Attys PROPOSAL22Ioni Bowcher
1018Chavez S NestleSpain2024-05-27Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1019James T AmigonAustralia2024-06-18Chemel, James L Cpa NEGOTIATION40Bernardo Dominic
1020Misaki T CaudyBrazil2024-05-27Chemel, James L Cpa QUALIFIED50Ioni Bowcher
1021Ashley E StockhamIndia2024-06-03Morlong Associates QUALIFIED78Elwin Sharvill
1022Morrow B StockhamSpain2024-06-15Rangoni Of Florence NEGOTIATION25Onyama Limba
1023Faith T StensethCanada2024-06-21Rousseaux, Michael Esq RENEWAL86Ivan Magalhaes
1024Murillo M WaycottArgentina2024-06-14Morlong Associates NEGOTIATION1Stephen Shaw
1025Mujtaba A ChuiFrance2024-06-09Feiner Bros QUALIFIED35Ivan Magalhaes
1026Jones M GlickFrance2024-05-28Dorl, James J Esq QUALIFIED10Bernardo Dominic
1027Juan A MaletBrazil2024-05-28Morlong Associates PROPOSAL48Onyama Limba
1028Stacey I CampainItaly2024-06-21Feltz Printing Service QUALIFIED3Amy Elsner
1029Juan O AlbaresGermany2024-06-06Commercial Press NEGOTIATION51Xuxue Feng
1030Juan A GarufiArgentina2024-06-08Truhlar And Truhlar Attys PROPOSAL87Anna Fali
1031Maria K FigeroaAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED14Xuxue Feng
1032Octavia Z MaletRussia2024-06-07Feiner Bros QUALIFIED84Elwin Sharvill
1033Alejandro V GauchoSpain2024-05-30Benton, John B Jr RENEWAL55Ioni Bowcher
1034Adams H NickaAustralia2024-06-03Feiner Bros QUALIFIED28Amy Elsner
1035Octavia D VenereSpain2024-05-30Chemel, James L Cpa NEW20Asiya Javayant
1036Alejandro H CaldareraItaly2024-05-27King, Christopher A Esq RENEWAL49Xuxue Feng
1037Jones E MarrierIndia2024-05-30Morlong Associates QUALIFIED74Xuxue Feng
1038Aditya X SchemmerSpain2024-06-21Feiner Bros UNQUALIFIED98Stephen Shaw
1039Munro Y CaudyCanada2024-06-06Feltz Printing Service QUALIFIED15Xuxue Feng
1040Sinclair N DoeJapan2024-05-29Printing Dimensions PROPOSAL22Anna Fali
1041Leja N DoeCanada2024-06-14King, Christopher A Esq RENEWAL76Elwin Sharvill
1042Greenwood I MorascaBrazil2024-06-10Commercial Press NEW24Elwin Sharvill
1043Chavez O RutaIndia2024-06-18Rangoni Of Florence UNQUALIFIED75Xuxue Feng
1044Izzy R GillianFrance2024-06-13Chemel, James L Cpa UNQUALIFIED74Onyama Limba
1045Juan N MacleadIndia2024-05-27Dorl, James J Esq NEGOTIATION10Ivan Magalhaes
1046Chavez P DoeIndia2024-05-29Feiner Bros PROPOSAL73Amy Elsner
1047Julie M RulapaughArgentina2024-06-01Commercial Press UNQUALIFIED72Anna Fali
1048Antonio Z SlusarskiIndia2024-06-19Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1049Octavia B KolmetzItaly2024-06-10Morlong Associates UNQUALIFIED41Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aditya U VocelkaSpainOnyama Limba QUALIFIED
Nicolas L AlbaresFranceOnyama Limba NEW
Jones T MarrierAustraliaAsiya Javayant PROPOSAL
Claire H MacleadBrazilElwin Sharvill UNQUALIFIED
Munro J StensethRussiaElwin Sharvill UNQUALIFIED
Mayumi T SlusarskiJapanStephen Shaw UNQUALIFIED
Aditya R ChuiJapanBernardo Dominic NEW
Kaitlin V VenereCanadaAsiya Javayant NEGOTIATION
Salvatore I GlickItalyIvan Magalhaes PROPOSAL
Faith A InouyeItalyBernardo Dominic NEW
Izzy U CaldareraGermanyStephen Shaw RENEWAL
Kaitlin N MorascaAustraliaBernardo Dominic RENEWAL
Deepesh C InouyeFranceStephen Shaw QUALIFIED
Morrow O ShinkoSpainIvan Magalhaes NEW
Izzy C PaprockiItalyIoni Bowcher NEGOTIATION
Jeanfrancois I GarufiFranceIoni Bowcher PROPOSAL
Leja L WaycottJapanElwin Sharvill QUALIFIED
Costa T GarufiArgentinaOnyama Limba PROPOSAL
Salvatore B KolmetzCanadaOnyama Limba NEGOTIATION
Misaki B StensethUnited KingdomBernardo Dominic RENEWAL
Octavia Z ChuiBrazilIoni Bowcher QUALIFIED
Maisha E FigeroaRussiaBernardo Dominic PROPOSAL
Arvin T AmigonItalyAnna Fali QUALIFIED
Costa I KolmetzArgentinaIoni Bowcher NEW
Kaitlin W MorascaUnited KingdomAsiya Javayant NEW
Maisha K TollnerArgentinaOnyama Limba QUALIFIED
Tony I FollerArgentinaOnyama Limba PROPOSAL
Darci A KolmetzItalyAmy Elsner QUALIFIED
Emily H ChuiUnited KingdomAmy Elsner PROPOSAL
Antonio P CaudyGermanyXuxue Feng PROPOSAL
Jeanfrancois Y InouyeItalyBernardo Dominic NEGOTIATION
Deepesh R BriddickIndiaStephen Shaw NEW
Tony Y MarrierAustraliaElwin Sharvill QUALIFIED
Darci W MaletGermanyIvan Magalhaes RENEWAL
Stacey D FollerAustraliaXuxue Feng NEW
Greenwood V DoeIndiaIvan Magalhaes QUALIFIED
Cody Z ChuiJapanAsiya Javayant PROPOSAL
Rodrigues J MorascaFranceAnna Fali UNQUALIFIED
Antonio Q OstroskyIndiaStephen Shaw UNQUALIFIED
Francesco H ShinkoBrazilIoni Bowcher PROPOSAL
Aruna I StensethCanadaStephen Shaw QUALIFIED
Sinclair K WaycottFranceOnyama Limba UNQUALIFIED
Tony O KuskoRussiaElwin Sharvill PROPOSAL
Izzy B WhobreyRussiaElwin Sharvill UNQUALIFIED
Emily S GillianJapanIvan Magalhaes NEGOTIATION
Greenwood U FerenczIndiaIoni Bowcher UNQUALIFIED
Greenwood W TollnerBrazilAmy Elsner NEW
Greenwood B ChuiSpainIoni Bowcher NEGOTIATION
Francesco U SaylorsCanadaAmy Elsner QUALIFIED
Leja L OstroskyCanadaOnyama Limba PROPOSAL
Frozen Columns
Name
Ivar F Paprocki
Faith L Glick
Juan L Kusko
Ricardo Y Whobrey
Murillo W Bolognia
Munro Y Glick
Ivar Q Bowley
Jeanfrancois E Oldroyd
Maisha T Flosi
Juan K Stenseth
James I Ferencz
Costa S Saylors
Tony C Garufi
Murillo M Figeroa
Stacey N Stenseth
Stacey Q Briddick
Faith Y Shinko
Leon M Caldarera
Jones U Ostrosky
Aruna Y Chui
Octavia V Nestle
Emily B Dilliard
Murillo K Rim
Darci H Darakjy
Aruna J Morasca
Maria C Maclead
Munro V Rim
Nicolas G Tollner
Mayumi F Slusarski
Ricardo W Rulapaugh
Mujtaba W Ferencz
Clifford M Albares
Juan X Malet
David I Figeroa
Leja Y Iturbide
Cody D Nestle
Isabel G Shinko
Silvio L Bowley
Chavez M Oldroyd
Mayumi G Sergi
Nicolas F Butt
Antonio T Malet
Isabel G Ostrosky
Kaitlin Z Tollner
Sinclair L Kolmetz
Aditya V Ostrosky
Salvatore C Butt
David F Iturbide
Wickens G Garufi
Nicolas Q Garufi
IdCountryDate
1000United Kingdom2024-06-19
1001Argentina2024-06-14
1002Japan2024-06-13
1003Argentina2024-06-01
1004Argentina2024-06-19
1005Germany2024-06-13
1006India2024-05-31
1007Germany2024-05-23
1008Spain2024-06-12
1009Japan2024-05-24
1010Japan2024-06-06
1011Australia2024-06-04
1012Italy2024-05-30
1013Canada2024-06-15
1014Canada2024-05-26
1015Russia2024-05-25
1016France2024-06-19
1017India2024-06-02
1018Canada2024-05-31
1019Australia2024-06-01
1020France2024-06-15
1021Australia2024-06-10
1022Italy2024-05-28
1023Italy2024-06-19
1024Italy2024-06-10
1025Germany2024-06-10
1026Canada2024-06-08
1027Brazil2024-06-03
1028Japan2024-06-13
1029India2024-05-23
1030Russia2024-05-26
1031United Kingdom2024-06-12
1032Russia2024-06-10
1033Russia2024-06-03
1034Italy2024-06-19
1035Italy2024-06-03
1036Brazil2024-06-13
1037Argentina2024-06-09
1038Canada2024-06-02
1039Australia2024-06-19
1040Italy2024-05-28
1041France2024-05-27
1042France2024-05-25
1043Australia2024-06-03
1044Canada2024-05-23
1045Russia2024-05-26
1046Brazil2024-05-27
1047Australia2024-06-21
1048Spain2024-05-27
1049Italy2024-05-28

On-Demand Data

NameIdCountryDate
Darci F Venere1000Italy2024-05-23
Jones F Glick1001India2024-06-10
Jefferson U Gillian1002Spain2024-06-14
Darci K Stockham1003United Kingdom2024-05-25
Leon N Kolmetz1004India2024-05-31
Jennifer S Venere1005Australia2024-05-23
James U Doe1006Japan2024-05-26
Greenwood L Maclead1007Spain2024-06-09
David Y Kusko1008France2024-06-01
Leon M Marrier1009United Kingdom2024-06-11
Emily H Venere1010Italy2024-06-07
Alejandro U Caudy1011India2024-06-14
Johnson F Waycott1012India2024-05-28
Wickens G Stenseth1013Spain2024-05-29
Morrow S Foller1014United Kingdom2024-05-23
Emily D Paprocki1015Brazil2024-06-07
Darci T Kolmetz1016Spain2024-06-20
Nicolas O Royster1017Japan2024-06-12
Antonio M Schemmer1018Russia2024-06-04
Mayumi U Malet1019Spain2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams M OstroskyJapanElwin Sharvill PROPOSAL
David R RoysterUnited KingdomStephen Shaw NEW
Sinclair J FigeroaCanadaAmy Elsner UNQUALIFIED
Izzy S DilliardAustraliaIoni Bowcher QUALIFIED
Morrow U DoeRussiaIvan Magalhaes NEGOTIATION
Smith U MacleadCanadaBernardo Dominic NEGOTIATION
Claire M SchemmerGermanyIvan Magalhaes QUALIFIED
Leja L DoeGermanyBernardo Dominic NEW
Munro D GlickBrazilAmy Elsner QUALIFIED
Stacey C StensethUnited KingdomElwin Sharvill PROPOSAL
Darci X KuskoAustraliaAnna Fali RENEWAL
Mayumi D MaletCanadaElwin Sharvill NEGOTIATION
Faith O VocelkaRussiaIoni Bowcher QUALIFIED
Aruna C InouyeArgentinaXuxue Feng NEW
Rodrigues G FigeroaCanadaAsiya Javayant NEGOTIATION
Misaki E RimItalyXuxue Feng PROPOSAL
Nicolas R MaletJapanAmy Elsner QUALIFIED
Salvatore R DoeItalyAmy Elsner NEGOTIATION
Morrow A CaldareraItalyAmy Elsner RENEWAL
Alejandro K CampainGermanyElwin Sharvill UNQUALIFIED
Maria D KolmetzBrazilIvan Magalhaes RENEWAL
Stacey K MaletJapanOnyama Limba QUALIFIED
Sinclair U SchemmerUnited KingdomAsiya Javayant NEW
Johnson Q InouyeItalyOnyama Limba QUALIFIED
Maria A FerenczSpainIoni Bowcher UNQUALIFIED
Leja O FerenczGermanyOnyama Limba QUALIFIED
Kadeem D MarrierJapanIoni Bowcher RENEWAL
Ashley B MarrierGermanyAmy Elsner UNQUALIFIED
Salvatore I MorascaGermanyAsiya Javayant NEGOTIATION
Alejandro Y WaycottBrazilXuxue Feng PROPOSAL
Alejandro N BologniaIndiaAnna Fali RENEWAL
Arvin R CaudyGermanyAsiya Javayant QUALIFIED
Nicolas M OldroydBrazilIvan Magalhaes NEGOTIATION
Arvin O FigeroaAustraliaIvan Magalhaes QUALIFIED
Mayumi V KolmetzItalyStephen Shaw NEW
Jefferson H RoysterCanadaElwin Sharvill NEGOTIATION
Wickens L TollnerSpainAsiya Javayant PROPOSAL
Morrow Y VenereCanadaIoni Bowcher NEGOTIATION
Munro M SergiBrazilStephen Shaw PROPOSAL
Morrow T MorascaAustraliaAnna Fali 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>