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
Johnson M KolmetzGermanyOnyama Limba QUALIFIED
Francesco T InouyeSpainIoni Bowcher RENEWAL
Leon P PoquetteBrazilOnyama Limba NEGOTIATION
Wickens E GarufiFranceAnna Fali NEGOTIATION
Murillo U GillianCanadaIoni Bowcher PROPOSAL
Alejandro C DoeJapanAnna Fali NEGOTIATION
Ashley I MaletGermanyAnna Fali PROPOSAL
Izzy K TollnerJapanOnyama Limba UNQUALIFIED
Jefferson N NickaSpainXuxue Feng NEGOTIATION
Francesco O CampainAustraliaOnyama Limba UNQUALIFIED
Adams E IturbideArgentinaXuxue Feng NEGOTIATION
Leon Z VocelkaAustraliaStephen Shaw NEGOTIATION
Julie P FollerBrazilBernardo Dominic RENEWAL
Ricardo C GlickItalyStephen Shaw RENEWAL
Jefferson V MaletBrazilAmy Elsner NEGOTIATION
Francesco K SlusarskiIndiaStephen Shaw PROPOSAL
Leon Y GlickArgentinaIvan Magalhaes NEGOTIATION
Ashley X PaprockiItalyOnyama Limba RENEWAL
Jefferson M VocelkaArgentinaBernardo Dominic PROPOSAL
Adams Z SergiFranceIoni Bowcher RENEWAL
Octavia Q GauchoGermanyStephen Shaw NEGOTIATION
Francesco A GauchoItalyOnyama Limba PROPOSAL
Ashley E VocelkaAustraliaElwin Sharvill RENEWAL
Smith C VocelkaGermanyIvan Magalhaes UNQUALIFIED
Ivar Q MacleadSpainOnyama Limba NEW
Isabel Q FollerRussiaXuxue Feng UNQUALIFIED
Julie T VenereUnited KingdomStephen Shaw UNQUALIFIED
Antonio O SergiUnited KingdomIoni Bowcher PROPOSAL
Smith E BologniaAustraliaElwin Sharvill UNQUALIFIED
Aditya G MaletGermanyElwin Sharvill NEW
Kadeem S NestleAustraliaBernardo Dominic NEW
Adams I BriddickSpainElwin Sharvill UNQUALIFIED
Faith K NickaItalyAsiya Javayant QUALIFIED
Stacey T MaletArgentinaBernardo Dominic NEGOTIATION
Ashley Q WhobreySpainStephen Shaw PROPOSAL
Ricardo N ChuiSpainXuxue Feng QUALIFIED
Ashley C MacleadJapanAmy Elsner NEW
Jones B RulapaughJapanAmy Elsner QUALIFIED
James L MarrierUnited KingdomAmy Elsner PROPOSAL
Stacey E PaprockiGermanyIvan Magalhaes PROPOSAL
Julie T BologniaGermanyOnyama Limba PROPOSAL
James B KuskoItalyXuxue Feng NEW
Ivar E SchemmerRussiaAsiya Javayant QUALIFIED
Aditya A CaldareraJapanIvan Magalhaes QUALIFIED
Sinclair F BriddickJapanElwin Sharvill NEW
Izzy D RimUnited KingdomBernardo Dominic NEW
Leja O ButtUnited KingdomOnyama Limba NEGOTIATION
Tony E WhobreyAustraliaXuxue Feng RENEWAL
Leja I RoysterCanadaIvan Magalhaes QUALIFIED
Maisha U BowleyJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Z GarufiAustraliaAnna Fali NEGOTIATION
Jeanfrancois H RulapaughBrazilBernardo Dominic QUALIFIED
Misaki Z AlbaresIndiaIoni Bowcher NEGOTIATION
Aika A MarrierSpainAmy Elsner UNQUALIFIED
David V ShinkoJapanStephen Shaw NEGOTIATION
Aruna Q InouyeItalyIvan Magalhaes RENEWAL
Rodrigues Y RutaSpainIvan Magalhaes NEGOTIATION
Faith Y MorascaUnited KingdomXuxue Feng UNQUALIFIED
Nicolas D WieserJapanIvan Magalhaes RENEWAL
Francesco O CaudyCanadaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues E NestleJapan2024-06-23Printing Dimensions QUALIFIED85Amy Elsner
1001Izzy R IturbideIndia2024-06-19Chanay, Jeffrey A Esq NEGOTIATION45Elwin Sharvill
1002Greenwood D VocelkaArgentina2024-05-30Rousseaux, Michael Esq QUALIFIED48Anna Fali
1003Clifford W MaletCanada2024-05-26Dorl, James J Esq NEGOTIATION37Anna Fali
1004Emily T ButtBrazil2024-06-19Buckley Miller Wright NEW66Ivan Magalhaes
1005Jefferson R PerinIndia2024-06-01Chapman, Ross E Esq NEGOTIATION95Ivan Magalhaes
1006Jeanfrancois I NickaCanada2024-06-19Feiner Bros RENEWAL84Asiya Javayant
1007Isabel O RulapaughFrance2024-06-18Chapman, Ross E Esq NEGOTIATION62Elwin Sharvill
1008Johnson G PoquetteBrazil2024-05-29Chanay, Jeffrey A Esq QUALIFIED0Asiya Javayant
1009Juan K PaprockiItaly2024-06-05Printing Dimensions UNQUALIFIED48Ioni Bowcher
1010Leja U VocelkaRussia2024-06-22Truhlar And Truhlar Attys PROPOSAL61Bernardo Dominic
1011Isabel D DoeIndia2024-06-07Feltz Printing Service QUALIFIED30Anna Fali
1012Smith J NickaArgentina2024-06-22Feiner Bros RENEWAL49Stephen Shaw
1013Munro J DarakjySpain2024-06-16Truhlar And Truhlar Attys QUALIFIED75Onyama Limba
1014Francesco H TollnerRussia2024-06-23Morlong Associates QUALIFIED91Amy Elsner
1015Julie K StockhamFrance2024-05-28Printing Dimensions PROPOSAL95Anna Fali
1016Stacey K BowleyItaly2024-06-12Feltz Printing Service UNQUALIFIED31Amy Elsner
1017Smith M OldroydJapan2024-06-03Truhlar And Truhlar Attys PROPOSAL23Elwin Sharvill
1018Leja L StensethArgentina2024-06-07Chapman, Ross E Esq PROPOSAL94Anna Fali
1019Isabel O RutaSpain2024-06-08Truhlar And Truhlar Attys RENEWAL23Anna Fali
1020Johnson Q MacleadArgentina2024-06-18Morlong Associates UNQUALIFIED76Xuxue Feng
1021Kaitlin Q WaycottIndia2024-05-26King, Christopher A Esq NEW2Elwin Sharvill
1022Tony D AmigonJapan2024-06-05King, Christopher A Esq RENEWAL26Xuxue Feng
1023Maria H FerenczGermany2024-06-20Printing Dimensions PROPOSAL15Amy Elsner
1024Mujtaba P GlickJapan2024-06-07Feltz Printing Service NEGOTIATION59Asiya Javayant
1025Ricardo L DilliardIndia2024-05-25Benton, John B Jr RENEWAL35Ivan Magalhaes
1026Aditya L StensethSpain2024-06-13Commercial Press UNQUALIFIED53Anna Fali
1027Adams F SlusarskiSpain2024-06-03Dorl, James J Esq NEGOTIATION56Ivan Magalhaes
1028Misaki N KolmetzJapan2024-06-14Dorl, James J Esq QUALIFIED6Bernardo Dominic
1029Costa T NestleJapan2024-06-21Rangoni Of Florence UNQUALIFIED98Asiya Javayant
1030Kaitlin I FlosiUnited Kingdom2024-05-28Benton, John B Jr PROPOSAL41Stephen Shaw
1031Octavia E OldroydRussia2024-06-04Commercial Press QUALIFIED4Amy Elsner
1032Alejandro K ChuiIndia2024-06-17Rousseaux, Michael Esq PROPOSAL92Asiya Javayant
1033Isabel B PerinJapan2024-06-17Chapman, Ross E Esq NEW14Ioni Bowcher
1034Isabel X WhobreyBrazil2024-06-11Truhlar And Truhlar Attys NEGOTIATION1Bernardo Dominic
1035Clifford J MorascaArgentina2024-06-19Chemel, James L Cpa PROPOSAL40Xuxue Feng
1036Aruna D FerenczBrazil2024-05-28Printing Dimensions UNQUALIFIED70Anna Fali
1037Leon P ShinkoGermany2024-06-23Feltz Printing Service QUALIFIED70Onyama Limba
1038Antonio B TollnerIndia2024-06-12Dorl, James J Esq QUALIFIED76Onyama Limba
1039Isabel Q StockhamAustralia2024-06-21Truhlar And Truhlar Attys UNQUALIFIED84Anna Fali
1040Johnson F RimFrance2024-05-28Chanay, Jeffrey A Esq NEW21Xuxue Feng
1041Salvatore R SaylorsUnited Kingdom2024-06-10Printing Dimensions NEGOTIATION2Onyama Limba
1042Aditya W FerenczAustralia2024-06-18Commercial Press RENEWAL22Asiya Javayant
1043Chavez Q DoeUnited Kingdom2024-05-29Truhlar And Truhlar Attys UNQUALIFIED68Amy Elsner
1044Alejandro V DarakjyRussia2024-06-03Chanay, Jeffrey A Esq RENEWAL4Onyama Limba
1045Maisha C FlosiIndia2024-06-21King, Christopher A Esq RENEWAL4Stephen Shaw
1046Mayumi K IturbideIndia2024-06-09Benton, John B Jr UNQUALIFIED29Amy Elsner
1047Leja K OstroskyBrazil2024-06-07Rangoni Of Florence PROPOSAL49Xuxue Feng
1048Juan C FigeroaSpain2024-06-05Morlong Associates NEGOTIATION0Asiya Javayant
1049David J NestleCanada2024-06-11Chanay, Jeffrey A Esq NEGOTIATION22Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro P RimCanadaStephen Shaw NEGOTIATION
Aruna A MaletFranceElwin Sharvill NEW
Julie W RutaItalyAnna Fali UNQUALIFIED
Greenwood T PoquetteIndiaElwin Sharvill UNQUALIFIED
David D VocelkaItalyStephen Shaw PROPOSAL
Darci A RoysterFranceIoni Bowcher NEW
Kadeem O BriddickAustraliaIoni Bowcher NEW
Munro U ChuiJapanAsiya Javayant NEW
Ivar R WieserJapanIvan Magalhaes NEGOTIATION
Chavez O VocelkaArgentinaIvan Magalhaes PROPOSAL
Claire O StockhamRussiaElwin Sharvill NEW
Mujtaba E SaylorsGermanyAnna Fali PROPOSAL
Adams J KolmetzAustraliaOnyama Limba QUALIFIED
Salvatore C PoquetteRussiaIoni Bowcher UNQUALIFIED
Deepesh K PaprockiRussiaOnyama Limba NEW
Sinclair L RutaSpainIoni Bowcher RENEWAL
Alejandro V RulapaughArgentinaIvan Magalhaes NEGOTIATION
Jennifer L CaldareraFranceXuxue Feng NEGOTIATION
Ashley S WaycottFranceStephen Shaw PROPOSAL
Julie A KuskoBrazilIvan Magalhaes PROPOSAL
Cody R VocelkaFranceAmy Elsner PROPOSAL
Johnson C ButtIndiaStephen Shaw PROPOSAL
Munro S NestleRussiaXuxue Feng NEW
Alejandro A SaylorsUnited KingdomOnyama Limba PROPOSAL
Leon K WieserBrazilIvan Magalhaes NEW
Tony E KuskoBrazilBernardo Dominic NEW
Aruna W WieserRussiaAsiya Javayant RENEWAL
Cody M ButtFranceIoni Bowcher NEGOTIATION
Jefferson N FlosiItalyElwin Sharvill NEW
Kaitlin U PaprockiFranceStephen Shaw RENEWAL
Chavez E RutaArgentinaBernardo Dominic PROPOSAL
Alejandro Z MacleadJapanAnna Fali QUALIFIED
Maisha F WaycottArgentinaXuxue Feng PROPOSAL
Darci P MaletCanadaIvan Magalhaes PROPOSAL
Emily Z ButtAustraliaElwin Sharvill RENEWAL
Leja E MaletArgentinaAsiya Javayant QUALIFIED
Kaitlin R AlbaresArgentinaAnna Fali RENEWAL
Morrow D GlickArgentinaAnna Fali PROPOSAL
Ashley J SergiArgentinaIoni Bowcher UNQUALIFIED
Maisha O PoquetteSpainAmy Elsner RENEWAL
Kaitlin W FollerSpainElwin Sharvill UNQUALIFIED
Johnson T MacleadItalyAmy Elsner RENEWAL
Nicolas D GlickJapanOnyama Limba NEW
Morrow Z VocelkaFranceBernardo Dominic NEGOTIATION
Rodrigues Z FigeroaCanadaBernardo Dominic QUALIFIED
Costa Y RoysterRussiaXuxue Feng QUALIFIED
Jones N AmigonItalyBernardo Dominic PROPOSAL
Jones M AmigonUnited KingdomElwin Sharvill QUALIFIED
Jefferson G BowleySpainIvan Magalhaes NEW
Jeanfrancois I NickaRussiaIoni Bowcher RENEWAL
Frozen Columns
Name
Misaki M Glick
Leon R Venere
Chavez J Iturbide
Kadeem G Caudy
Ashley Z Ferencz
Kadeem M Nicka
Murillo A Royster
James C Nestle
Aika X Saylors
Mujtaba F Albares
Juan Q Figeroa
Leon H Ostrosky
Adams S Ruta
Cody G Ferencz
Wickens W Doe
Tony O Royster
Johnson C Royster
Arvin S Nestle
Adams U Maclead
Ashley D Campain
Ashley B Figeroa
Silvio G Bowley
David K Caudy
Johnson I Royster
Julie M Schemmer
Izzy D Amigon
Nicolas H Nestle
Johnson G Malet
Tony R Maclead
Adams T Caudy
Wickens L Albares
Maria H Slusarski
Arvin W Sergi
Antonio I Doe
Sinclair U Waycott
Darci C Slusarski
Octavia I Gaucho
Jones K Sergi
Ivar N Nicka
Isabel Y Schemmer
Deepesh X Maclead
Izzy J Marrier
Wickens S Chui
Isabel X Maclead
Faith L Oldroyd
Arvin B Caudy
Aditya E Morasca
Aditya K Bowley
Jennifer G Campain
Arvin S Shinko
IdCountryDate
1000Russia2024-05-28
1001Spain2024-06-20
1002Italy2024-05-29
1003Italy2024-06-19
1004Australia2024-05-29
1005Spain2024-06-23
1006France2024-06-10
1007India2024-06-05
1008France2024-06-22
1009Japan2024-06-22
1010Spain2024-05-28
1011Italy2024-06-09
1012Argentina2024-06-09
1013United Kingdom2024-06-16
1014Australia2024-06-20
1015Russia2024-06-09
1016Brazil2024-06-03
1017Australia2024-06-16
1018Italy2024-05-31
1019Spain2024-06-16
1020India2024-06-11
1021Brazil2024-06-04
1022Japan2024-05-28
1023Japan2024-06-09
1024France2024-06-04
1025Russia2024-05-31
1026Brazil2024-06-12
1027Italy2024-05-29
1028Spain2024-05-29
1029France2024-06-21
1030Germany2024-06-21
1031Argentina2024-06-23
1032Italy2024-06-22
1033United Kingdom2024-05-30
1034Japan2024-06-17
1035Brazil2024-05-28
1036Italy2024-05-30
1037Russia2024-06-01
1038Spain2024-05-25
1039Russia2024-05-29
1040Australia2024-06-18
1041United Kingdom2024-06-23
1042Canada2024-06-11
1043Australia2024-06-07
1044Spain2024-06-04
1045Canada2024-06-23
1046Australia2024-06-21
1047Italy2024-06-13
1048Russia2024-06-15
1049Brazil2024-05-25

On-Demand Data

NameIdCountryDate
Johnson T Venere1000United Kingdom2024-06-19
Morrow U Doe1001Germany2024-06-05
Jones R Wieser1002Germany2024-05-26
Julie X Foller1003Argentina2024-06-11
Aditya I Nicka1004Germany2024-06-04
Aruna F Figeroa1005Russia2024-06-23
Misaki M Caldarera1006France2024-05-30
James E Morasca1007Canada2024-06-02
Izzy S Waycott1008Australia2024-06-03
Emily U Gillian1009Australia2024-06-16
Aika T Doe1010United Kingdom2024-06-13
Juan S Bowley1011India2024-06-20
Sinclair E Stenseth1012Italy2024-06-02
Juan Q Ferencz1013Japan2024-06-20
Maisha Q Albares1014Argentina2024-06-11
Ivar A Ferencz1015Australia2024-06-07
Maria M Chui1016Germany2024-05-30
Sinclair Z Venere1017Russia2024-06-13
Emily O Bowley1018Italy2024-06-18
Mayumi I Poquette1019Japan2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones H IturbideItalyAmy Elsner PROPOSAL
Silvio Q MaletSpainIvan Magalhaes QUALIFIED
Aruna V ShinkoArgentinaOnyama Limba PROPOSAL
Ricardo S WieserAustraliaElwin Sharvill NEGOTIATION
Izzy A BologniaIndiaAnna Fali RENEWAL
Nicolas U AlbaresAustraliaOnyama Limba PROPOSAL
Ashley B RimFranceStephen Shaw UNQUALIFIED
Cody U MarrierIndiaBernardo Dominic NEGOTIATION
Costa F MaletSpainAmy Elsner QUALIFIED
Clifford Z PaprockiIndiaXuxue Feng PROPOSAL
Kaitlin M FlosiRussiaStephen Shaw NEGOTIATION
Emily V CampainFranceIvan Magalhaes PROPOSAL
Antonio S PoquetteGermanyXuxue Feng RENEWAL
Maisha M PoquetteItalyStephen Shaw QUALIFIED
Adams G DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Munro V FerenczIndiaBernardo Dominic QUALIFIED
Wickens U VocelkaItalyIoni Bowcher NEGOTIATION
Francesco H RimJapanOnyama Limba UNQUALIFIED
Leja K GlickUnited KingdomStephen Shaw RENEWAL
Arvin X ShinkoUnited KingdomIoni Bowcher RENEWAL
Greenwood S FlosiSpainXuxue Feng QUALIFIED
Emily G BologniaGermanyOnyama Limba NEW
Johnson B MaletRussiaOnyama Limba NEW
Leja N GlickCanadaIoni Bowcher PROPOSAL
Arvin H OldroydGermanyIoni Bowcher QUALIFIED
Tony I FerenczUnited KingdomAmy Elsner NEW
Jennifer W RimAustraliaAsiya Javayant UNQUALIFIED
Murillo P ShinkoJapanAnna Fali RENEWAL
Leja A CaudyJapanStephen Shaw QUALIFIED
Emily X StensethFranceElwin Sharvill NEW
Rodrigues Q InouyeItalyAsiya Javayant QUALIFIED
Faith L VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Kadeem L BologniaJapanElwin Sharvill NEGOTIATION
Aditya W FollerItalyIoni Bowcher RENEWAL
Mujtaba F OstroskyGermanyBernardo Dominic UNQUALIFIED
Darci T VocelkaAustraliaOnyama Limba NEW
Wickens E BowleyBrazilOnyama Limba UNQUALIFIED
Maria X MacleadJapanAmy Elsner UNQUALIFIED
Morrow X CampainItalyXuxue Feng UNQUALIFIED
Jefferson M GarufiIndiaElwin Sharvill UNQUALIFIED

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