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
Aruna G GillianCanadaAsiya Javayant NEW
David R WhobreyAustraliaXuxue Feng PROPOSAL
Ivar I ButtUnited KingdomStephen Shaw NEW
Aditya Y RoysterIndiaBernardo Dominic PROPOSAL
Aika S KuskoUnited KingdomAsiya Javayant PROPOSAL
Tony B StensethAustraliaXuxue Feng NEGOTIATION
Rodrigues S RimArgentinaIvan Magalhaes RENEWAL
Leon P PoquetteGermanyAnna Fali PROPOSAL
Arvin M MorascaBrazilOnyama Limba NEW
Aditya P SaylorsIndiaOnyama Limba NEGOTIATION
Kadeem O SchemmerCanadaAmy Elsner UNQUALIFIED
Nicolas B RutaGermanyAmy Elsner NEW
Aruna K CaldareraSpainAnna Fali RENEWAL
Mujtaba D DilliardItalyAnna Fali PROPOSAL
Clifford J ButtIndiaXuxue Feng PROPOSAL
Francesco K MarrierSpainBernardo Dominic RENEWAL
Jefferson H SergiUnited KingdomXuxue Feng NEW
Ricardo I AmigonItalyXuxue Feng QUALIFIED
Claire T FlosiAustraliaAmy Elsner RENEWAL
Deepesh Q TollnerAustraliaIoni Bowcher QUALIFIED
Isabel O GarufiSpainBernardo Dominic QUALIFIED
Misaki N PerinAustraliaStephen Shaw NEGOTIATION
Munro X GlickCanadaIoni Bowcher QUALIFIED
Ashley Q FlosiCanadaAmy Elsner RENEWAL
Greenwood L SergiUnited KingdomAsiya Javayant PROPOSAL
David W WieserSpainXuxue Feng RENEWAL
Jones M WhobreyAustraliaAsiya Javayant PROPOSAL
James J MorascaItalyIoni Bowcher PROPOSAL
Jeanfrancois C BriddickGermanyAnna Fali QUALIFIED
Darci T SlusarskiBrazilAnna Fali NEGOTIATION
Stacey N KolmetzArgentinaAsiya Javayant UNQUALIFIED
Antonio E WaycottBrazilStephen Shaw NEGOTIATION
Clifford K DoeAustraliaIvan Magalhaes PROPOSAL
Wickens A PoquetteAustraliaAnna Fali UNQUALIFIED
Stacey Z PaprockiJapanXuxue Feng NEW
Isabel Z OldroydItalyBernardo Dominic NEGOTIATION
Jennifer Z DarakjyAustraliaAnna Fali NEGOTIATION
Sinclair Z OstroskySpainAmy Elsner NEGOTIATION
Misaki N VocelkaSpainAsiya Javayant QUALIFIED
Jennifer U GlickBrazilIoni Bowcher UNQUALIFIED
Cody M GlickJapanXuxue Feng QUALIFIED
Ashley R MaletIndiaAsiya Javayant NEW
Ricardo S NestleAustraliaAmy Elsner RENEWAL
Arvin T VocelkaBrazilStephen Shaw QUALIFIED
Jennifer W KolmetzGermanyOnyama Limba PROPOSAL
Antonio T WhobreyCanadaElwin Sharvill PROPOSAL
Jennifer U GillianBrazilAnna Fali QUALIFIED
Aika U RutaJapanIvan Magalhaes RENEWAL
Arvin G VenereUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois K MorascaBrazilStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha N WieserFranceAmy Elsner RENEWAL
Izzy S CaudyItalyElwin Sharvill QUALIFIED
Isabel M BologniaJapanStephen Shaw NEGOTIATION
Antonio O MarrierRussiaBernardo Dominic UNQUALIFIED
Sinclair T ShinkoGermanyOnyama Limba RENEWAL
Leon X RimRussiaElwin Sharvill UNQUALIFIED
Nicolas U PerinUnited KingdomAmy Elsner NEGOTIATION
Maisha F RoysterItalyXuxue Feng NEGOTIATION
Maria Y WhobreyJapanIvan Magalhaes QUALIFIED
Jennifer Y CampainCanadaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria G TollnerRussia2024-05-23Chapman, Ross E Esq RENEWAL63Onyama Limba
1001Claire B RimJapan2024-05-14King, Christopher A Esq QUALIFIED87Bernardo Dominic
1002Aditya F VocelkaArgentina2024-05-26Dorl, James J Esq NEW91Xuxue Feng
1003Greenwood P MacleadSpain2024-05-07Truhlar And Truhlar Attys NEW17Asiya Javayant
1004Juan C SlusarskiArgentina2024-05-02King, Christopher A Esq NEW24Bernardo Dominic
1005Darci O SlusarskiArgentina2024-05-26Truhlar And Truhlar Attys RENEWAL85Amy Elsner
1006Francesco H WieserAustralia2024-05-06Chapman, Ross E Esq RENEWAL50Anna Fali
1007Mujtaba U CaudyIndia2024-05-03Chapman, Ross E Esq NEW65Ioni Bowcher
1008Morrow M DoeArgentina2024-05-15Printing Dimensions QUALIFIED33Asiya Javayant
1009Tony I ShinkoUnited Kingdom2024-05-01Buckley Miller Wright UNQUALIFIED56Elwin Sharvill
1010Mujtaba C NickaBrazil2024-05-10Chanay, Jeffrey A Esq QUALIFIED86Anna Fali
1011Leja Y IturbideIndia2024-05-28Chanay, Jeffrey A Esq NEW85Stephen Shaw
1012Aika W IturbideArgentina2024-05-17Chanay, Jeffrey A Esq RENEWAL51Anna Fali
1013Claire B IturbideArgentina2024-05-02Rangoni Of Florence PROPOSAL27Asiya Javayant
1014Mujtaba Q AmigonSpain2024-05-10Feltz Printing Service PROPOSAL89Asiya Javayant
1015Francesco K WieserJapan2024-05-12Buckley Miller Wright NEGOTIATION14Stephen Shaw
1016Stacey Q PerinItaly2024-05-03Benton, John B Jr NEGOTIATION50Elwin Sharvill
1017Alejandro Z StensethCanada2024-05-16Buckley Miller Wright PROPOSAL83Asiya Javayant
1018Jeanfrancois J MaletBrazil2024-05-25Morlong Associates PROPOSAL21Ivan Magalhaes
1019Costa O ChuiItaly2024-05-01King, Christopher A Esq QUALIFIED38Amy Elsner
1020Stacey H ChuiAustralia2024-05-06Truhlar And Truhlar Attys UNQUALIFIED94Bernardo Dominic
1021Emily O AmigonBrazil2024-05-16Truhlar And Truhlar Attys NEW81Xuxue Feng
1022James U GarufiIndia2024-05-18Commercial Press NEGOTIATION16Stephen Shaw
1023Mayumi I RulapaughSpain2024-05-09Feltz Printing Service NEGOTIATION69Amy Elsner
1024Stacey V NestleGermany2024-05-24Buckley Miller Wright PROPOSAL11Onyama Limba
1025Wickens A BriddickFrance2024-05-26Benton, John B Jr QUALIFIED6Stephen Shaw
1026Sinclair Y WaycottAustralia2024-05-02Chemel, James L Cpa UNQUALIFIED11Ivan Magalhaes
1027Aruna J AmigonIndia2024-05-05Chanay, Jeffrey A Esq PROPOSAL11Stephen Shaw
1028Octavia L MacleadCanada2024-05-10Rangoni Of Florence RENEWAL90Asiya Javayant
1029Maria K FlosiIndia2024-05-23Morlong Associates NEGOTIATION97Onyama Limba
1030Kaitlin T SlusarskiRussia2024-05-24Rousseaux, Michael Esq UNQUALIFIED21Xuxue Feng
1031Ashley Y AmigonUnited Kingdom2024-05-10Chemel, James L Cpa NEGOTIATION88Ioni Bowcher
1032Jennifer S OstroskyFrance2024-05-23Chapman, Ross E Esq UNQUALIFIED14Anna Fali
1033Isabel Z StensethIndia2024-05-27Buckley Miller Wright PROPOSAL79Ivan Magalhaes
1034Sinclair T MarrierGermany2024-05-15Truhlar And Truhlar Attys PROPOSAL47Anna Fali
1035Emily V MacleadRussia2024-05-06Rousseaux, Michael Esq PROPOSAL19Asiya Javayant
1036Ashley G SlusarskiJapan2024-05-04Morlong Associates NEGOTIATION34Xuxue Feng
1037Costa Q BowleyItaly2024-05-05Chemel, James L Cpa NEGOTIATION93Asiya Javayant
1038Jennifer L PaprockiBrazil2024-05-05Rangoni Of Florence PROPOSAL41Ioni Bowcher
1039Morrow V MacleadSpain2024-05-19Rousseaux, Michael Esq NEGOTIATION24Onyama Limba
1040Salvatore B WhobreyAustralia2024-05-08Chemel, James L Cpa PROPOSAL2Bernardo Dominic
1041Costa A DarakjyArgentina2024-05-04Chapman, Ross E Esq UNQUALIFIED98Ivan Magalhaes
1042Juan M CaldareraJapan2024-05-20Buckley Miller Wright NEW73Xuxue Feng
1043Cody I PaprockiFrance2024-05-18Printing Dimensions RENEWAL85Onyama Limba
1044Sinclair J BowleyFrance2024-05-20King, Christopher A Esq NEGOTIATION90Ioni Bowcher
1045Jennifer L AmigonSpain2024-05-13Chapman, Ross E Esq QUALIFIED39Xuxue Feng
1046Nicolas E MarrierJapan2024-04-29Commercial Press UNQUALIFIED59Ivan Magalhaes
1047Antonio L InouyeCanada2024-04-30Rangoni Of Florence NEW45Stephen Shaw
1048Emily X WieserRussia2024-05-19Chemel, James L Cpa NEW88Asiya Javayant
1049David V MarrierUnited Kingdom2024-05-18Benton, John B Jr UNQUALIFIED16Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba O OldroydBrazilAmy Elsner PROPOSAL
Chavez Q KolmetzRussiaIoni Bowcher UNQUALIFIED
Leja O PerinIndiaAsiya Javayant RENEWAL
Jefferson M IturbideIndiaBernardo Dominic NEGOTIATION
Ivar P RimUnited KingdomIoni Bowcher RENEWAL
Ashley T MaletGermanyBernardo Dominic NEW
Aditya K IturbideAustraliaStephen Shaw NEW
Isabel K GauchoAustraliaBernardo Dominic NEGOTIATION
Leon A MacleadCanadaXuxue Feng QUALIFIED
Juan X GauchoItalyAmy Elsner UNQUALIFIED
Jones L PerinBrazilAsiya Javayant NEW
Isabel N StockhamSpainAsiya Javayant RENEWAL
Maisha C SaylorsRussiaStephen Shaw UNQUALIFIED
Alejandro B ChuiArgentinaOnyama Limba NEW
James P RoysterItalyAmy Elsner RENEWAL
James K OstroskyJapanBernardo Dominic NEGOTIATION
Rodrigues K TollnerFranceBernardo Dominic NEGOTIATION
Emily K TollnerItalyAnna Fali NEW
James U AlbaresRussiaAmy Elsner RENEWAL
Mayumi X BologniaAustraliaStephen Shaw NEW
Salvatore N FerenczJapanOnyama Limba UNQUALIFIED
Clifford U RulapaughCanadaAsiya Javayant QUALIFIED
Rodrigues V NestleGermanyBernardo Dominic QUALIFIED
Aditya E ShinkoIndiaAsiya Javayant NEW
Salvatore B OldroydAustraliaAsiya Javayant PROPOSAL
Morrow Q GillianBrazilBernardo Dominic RENEWAL
Aika Q StensethBrazilXuxue Feng PROPOSAL
Greenwood M VocelkaSpainIvan Magalhaes PROPOSAL
Maisha G TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Tony E KolmetzJapanOnyama Limba NEGOTIATION
Francesco J AlbaresUnited KingdomOnyama Limba NEW
Rodrigues U PerinUnited KingdomXuxue Feng NEW
Tony L BologniaJapanBernardo Dominic NEW
Salvatore R VenereItalyAmy Elsner QUALIFIED
Costa J StensethSpainOnyama Limba PROPOSAL
Antonio J GlickCanadaStephen Shaw NEGOTIATION
Maisha C RoysterAustraliaIoni Bowcher NEGOTIATION
Mayumi L FlosiIndiaBernardo Dominic PROPOSAL
Johnson R FollerBrazilXuxue Feng RENEWAL
Deepesh U MorascaItalyXuxue Feng QUALIFIED
Sinclair O BologniaRussiaIoni Bowcher NEGOTIATION
Stacey B MacleadArgentinaAnna Fali NEW
Stacey C SchemmerIndiaAmy Elsner RENEWAL
Smith W RulapaughCanadaOnyama Limba QUALIFIED
David U FigeroaJapanOnyama Limba NEGOTIATION
Jennifer A GauchoUnited KingdomOnyama Limba PROPOSAL
Maria Y CaudyJapanBernardo Dominic NEW
David X WieserUnited KingdomIoni Bowcher RENEWAL
Aika K SchemmerArgentinaElwin Sharvill PROPOSAL
Tony J KolmetzUnited KingdomStephen Shaw NEGOTIATION
Frozen Columns
Name
Aditya W Ruta
Clifford Z Bowley
Arvin T Malet
Darci D Wieser
Leja X Perin
David B Venere
Wickens T Ferencz
Deepesh V Slusarski
Stacey W Iturbide
Faith A Tollner
Chavez F Oldroyd
Jones N Albares
Wickens V Darakjy
Ashley B Briddick
Johnson S Kolmetz
Ashley S Tollner
Ivar Y Royster
Salvatore T Ruta
Claire P Schemmer
Chavez N Kolmetz
Misaki A Saylors
Emily W Inouye
Mayumi G Briddick
Aruna Q Vocelka
David G Paprocki
Julie U Stenseth
Ivar T Slusarski
Stacey T Poquette
Nicolas Q Dilliard
Stacey X Sergi
Claire B Campain
Rodrigues A Rim
Greenwood W Venere
David I Gaucho
Aika K Kolmetz
Jefferson A Stenseth
Aika N Campain
Johnson G Briddick
Juan K Gaucho
Nicolas F Royster
Chavez Y Wieser
Ricardo X Venere
Emily M Bowley
Jones J Maclead
Smith T Perin
Juan O Flosi
Mujtaba L Bowley
Costa U Caudy
Emily Z Saylors
Izzy V Figeroa
IdCountryDate
1000Australia2024-05-16
1001Japan2024-04-29
1002Italy2024-05-05
1003Argentina2024-05-12
1004United Kingdom2024-05-12
1005Brazil2024-05-06
1006Argentina2024-05-16
1007Australia2024-05-26
1008United Kingdom2024-05-02
1009Germany2024-05-09
1010Argentina2024-05-12
1011Canada2024-05-26
1012India2024-05-11
1013Canada2024-05-14
1014Australia2024-05-22
1015Brazil2024-05-02
1016Brazil2024-04-29
1017United Kingdom2024-05-19
1018Canada2024-05-02
1019Argentina2024-05-23
1020Australia2024-05-06
1021Argentina2024-05-05
1022Spain2024-05-21
1023Canada2024-05-26
1024Spain2024-05-20
1025Canada2024-05-05
1026Spain2024-05-06
1027Australia2024-05-23
1028Spain2024-05-10
1029India2024-04-30
1030Germany2024-05-19
1031Brazil2024-05-04
1032Russia2024-05-22
1033Canada2024-05-15
1034Brazil2024-05-11
1035Germany2024-05-18
1036Japan2024-05-24
1037France2024-05-08
1038Argentina2024-05-12
1039Argentina2024-05-24
1040Canada2024-05-15
1041France2024-05-03
1042Russia2024-04-30
1043Australia2024-05-22
1044France2024-05-12
1045Argentina2024-05-08
1046Australia2024-05-23
1047Argentina2024-05-17
1048United Kingdom2024-05-09
1049Spain2024-05-05

On-Demand Data

NameIdCountryDate
Chavez H Sergi1000Japan2024-05-18
Octavia S Sergi1001United Kingdom2024-05-23
Maisha W Whobrey1002Japan2024-05-14
Octavia B Nestle1003Spain2024-05-04
Faith N Nestle1004France2024-05-12
Maria P Campain1005Spain2024-05-23
Alejandro P Inouye1006Brazil2024-05-15
Octavia S Whobrey1007Australia2024-04-29
Misaki P Butt1008Spain2024-05-28
Leja R Saylors1009Brazil2024-05-23
Salvatore N Caldarera1010United Kingdom2024-04-30
Aditya D Chui1011Germany2024-05-09
Nicolas K Iturbide1012Italy2024-05-25
Silvio R Caudy1013Brazil2024-05-24
Deepesh U Shinko1014United Kingdom2024-05-08
Jennifer F Stockham1015India2024-05-08
Julie H Perin1016Italy2024-05-20
Deepesh I Ruta1017India2024-05-23
Salvatore R Morasca1018Germany2024-05-20
Jones C Darakjy1019Germany2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco U ShinkoSpainAnna Fali RENEWAL
Rodrigues L VocelkaCanadaIvan Magalhaes RENEWAL
Ashley G BowleyBrazilIoni Bowcher UNQUALIFIED
Arvin B GauchoArgentinaStephen Shaw NEW
James L StockhamUnited KingdomIvan Magalhaes RENEWAL
Leon H DilliardArgentinaOnyama Limba QUALIFIED
Adams B ButtRussiaStephen Shaw UNQUALIFIED
Sinclair T StensethBrazilBernardo Dominic PROPOSAL
Octavia S WhobreyJapanElwin Sharvill QUALIFIED
Jennifer Z IturbideAustraliaElwin Sharvill UNQUALIFIED
Aika B BologniaItalyIvan Magalhaes NEW
Mayumi S InouyeCanadaXuxue Feng QUALIFIED
Alejandro L FerenczUnited KingdomXuxue Feng QUALIFIED
Leja O AlbaresAustraliaIoni Bowcher RENEWAL
Munro O BowleyAustraliaIoni Bowcher QUALIFIED
Aditya Y BriddickBrazilAsiya Javayant QUALIFIED
Alejandro M StockhamItalyElwin Sharvill UNQUALIFIED
Octavia E MaletBrazilBernardo Dominic PROPOSAL
Octavia F RutaAustraliaStephen Shaw PROPOSAL
Julie M GarufiIndiaAmy Elsner QUALIFIED
Mayumi Q ButtFranceOnyama Limba RENEWAL
Aruna Q WaycottRussiaAnna Fali NEW
Claire D SchemmerCanadaElwin Sharvill UNQUALIFIED
Clifford V MacleadCanadaAsiya Javayant RENEWAL
Juan M MacleadGermanyElwin Sharvill QUALIFIED
Smith I RoysterJapanXuxue Feng NEW
Maisha B RimUnited KingdomXuxue Feng PROPOSAL
Cody V MacleadUnited KingdomIoni Bowcher QUALIFIED
Ricardo D NickaItalyBernardo Dominic UNQUALIFIED
Silvio G RoysterRussiaAsiya Javayant QUALIFIED
Costa L MaletCanadaStephen Shaw PROPOSAL
David R TollnerIndiaOnyama Limba QUALIFIED
Aika V RulapaughFranceOnyama Limba RENEWAL
Isabel F RulapaughSpainIvan Magalhaes UNQUALIFIED
Misaki T MaletUnited KingdomStephen Shaw NEW
Alejandro H MaletBrazilAsiya Javayant NEW
Juan D NickaGermanyIvan Magalhaes QUALIFIED
Leon R NickaBrazilAmy Elsner RENEWAL
Clifford I VenereIndiaBernardo Dominic RENEWAL
Chavez T RimBrazilAsiya Javayant QUALIFIED

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