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
Alejandro P PoquetteCanadaElwin Sharvill NEGOTIATION
Deepesh D StockhamBrazilAnna Fali UNQUALIFIED
Francesco B KolmetzItalyAsiya Javayant NEW
Rodrigues I NickaIndiaElwin Sharvill PROPOSAL
Francesco X FollerJapanAmy Elsner NEW
James B VenereItalyStephen Shaw NEW
Darci Q RoysterSpainAnna Fali NEW
Emily V PoquetteJapanStephen Shaw NEW
Juan K MarrierAustraliaBernardo Dominic NEGOTIATION
Leon B AlbaresSpainOnyama Limba NEW
Aruna E WieserSpainOnyama Limba UNQUALIFIED
Kaitlin R MaletJapanElwin Sharvill PROPOSAL
Smith T ChuiGermanyXuxue Feng RENEWAL
Munro Z CampainRussiaAnna Fali NEGOTIATION
Kaitlin S ChuiItalyXuxue Feng NEW
Ashley O MarrierBrazilElwin Sharvill QUALIFIED
Leon W WaycottItalyIvan Magalhaes UNQUALIFIED
Mujtaba K DilliardUnited KingdomElwin Sharvill NEGOTIATION
Salvatore I SlusarskiIndiaIoni Bowcher NEW
Kaitlin I TollnerSpainBernardo Dominic QUALIFIED
Ricardo F RutaRussiaOnyama Limba UNQUALIFIED
Maisha N ShinkoSpainAsiya Javayant QUALIFIED
Isabel S CaldareraAustraliaAmy Elsner UNQUALIFIED
Greenwood Z GauchoItalyIoni Bowcher QUALIFIED
Claire M GlickArgentinaIoni Bowcher RENEWAL
Francesco W AlbaresItalyOnyama Limba QUALIFIED
Izzy H KolmetzIndiaIvan Magalhaes PROPOSAL
James Z SchemmerItalyOnyama Limba PROPOSAL
Darci S CaldareraFranceBernardo Dominic QUALIFIED
Wickens O GillianIndiaAmy Elsner PROPOSAL
Alejandro H SergiUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois C WieserAustraliaAnna Fali PROPOSAL
Faith K GauchoIndiaIoni Bowcher PROPOSAL
Kaitlin D KolmetzGermanyIvan Magalhaes NEW
Leja H GlickGermanyAnna Fali QUALIFIED
Adams H CaldareraJapanStephen Shaw QUALIFIED
Francesco E DoeJapanIoni Bowcher NEW
Morrow A CaudyRussiaBernardo Dominic PROPOSAL
Antonio S PerinJapanAsiya Javayant UNQUALIFIED
Aika S FerenczJapanAmy Elsner UNQUALIFIED
Cody S RulapaughRussiaAmy Elsner NEGOTIATION
Ricardo U TollnerIndiaIvan Magalhaes NEGOTIATION
Ashley P KuskoCanadaElwin Sharvill UNQUALIFIED
Julie F MacleadItalyIoni Bowcher PROPOSAL
Faith I RulapaughRussiaIoni Bowcher UNQUALIFIED
Mayumi U StockhamGermanyXuxue Feng NEW
Ricardo T AmigonArgentinaStephen Shaw UNQUALIFIED
Kadeem K MarrierCanadaIoni Bowcher RENEWAL
Chavez T MarrierUnited KingdomAnna Fali NEGOTIATION
Octavia M DilliardRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar J RoysterGermanyOnyama Limba RENEWAL
Rodrigues C WaycottUnited KingdomAsiya Javayant PROPOSAL
Antonio C FerenczGermanyIoni Bowcher RENEWAL
Nicolas B GlickArgentinaAmy Elsner NEGOTIATION
Kaitlin L NickaGermanyIoni Bowcher QUALIFIED
Chavez I OstroskyIndiaAnna Fali NEW
Munro D SaylorsRussiaIvan Magalhaes NEW
Murillo T RoysterFranceXuxue Feng QUALIFIED
Deepesh S InouyeIndiaIvan Magalhaes QUALIFIED
Darci H SaylorsIndiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V OstroskyFrance2025-04-30Chapman, Ross E Esq UNQUALIFIED6Stephen Shaw
1001Cody F RulapaughItaly2025-04-02Chemel, James L Cpa RENEWAL56Stephen Shaw
1002Salvatore A RulapaughItaly2025-04-29Benton, John B Jr NEW14Anna Fali
1003Costa Y GillianUnited Kingdom2025-04-24Morlong Associates NEW52Anna Fali
1004Sinclair O FollerItaly2025-04-29Dorl, James J Esq UNQUALIFIED82Elwin Sharvill
1005Aika Y VocelkaCanada2025-04-08Chanay, Jeffrey A Esq QUALIFIED97Xuxue Feng
1006Stacey K ChuiItaly2025-04-03Feiner Bros NEGOTIATION39Bernardo Dominic
1007James D RutaItaly2025-04-13Feltz Printing Service NEGOTIATION12Elwin Sharvill
1008Rodrigues U MacleadRussia2025-04-14Rangoni Of Florence RENEWAL60Elwin Sharvill
1009Maria P FollerItaly2025-04-06Truhlar And Truhlar Attys RENEWAL51Xuxue Feng
1010Jefferson M IturbideGermany2025-04-16Commercial Press NEW61Xuxue Feng
1011Juan Q RimGermany2025-04-16King, Christopher A Esq QUALIFIED88Bernardo Dominic
1012Aruna A OstroskyBrazil2025-04-15Morlong Associates UNQUALIFIED43Ivan Magalhaes
1013Alejandro C PoquetteSpain2025-04-26Morlong Associates UNQUALIFIED35Ivan Magalhaes
1014Aika J MorascaGermany2025-04-15Feltz Printing Service QUALIFIED87Asiya Javayant
1015Leon Z DoeAustralia2025-04-19Benton, John B Jr NEW18Amy Elsner
1016Izzy P ButtSpain2025-04-09Dorl, James J Esq UNQUALIFIED53Elwin Sharvill
1017Leon F PaprockiRussia2025-04-13Chemel, James L Cpa NEGOTIATION21Stephen Shaw
1018Mayumi J OldroydUnited Kingdom2025-04-28Buckley Miller Wright NEW30Elwin Sharvill
1019Leon D DoeJapan2025-04-22Morlong Associates RENEWAL84Amy Elsner
1020Aika F DoeAustralia2025-04-30Buckley Miller Wright PROPOSAL86Elwin Sharvill
1021Francesco G AlbaresJapan2025-04-17Chemel, James L Cpa RENEWAL2Ivan Magalhaes
1022Faith W PoquetteIndia2025-04-20Chapman, Ross E Esq RENEWAL96Asiya Javayant
1023Ashley C PoquetteArgentina2025-04-02King, Christopher A Esq QUALIFIED85Ivan Magalhaes
1024David K CaudyItaly2025-04-19Printing Dimensions PROPOSAL88Anna Fali
1025Arvin F RutaAustralia2025-04-02Chapman, Ross E Esq PROPOSAL82Amy Elsner
1026Kaitlin R RutaItaly2025-04-26King, Christopher A Esq PROPOSAL9Ivan Magalhaes
1027Mayumi E PerinIndia2025-04-12Feltz Printing Service NEGOTIATION24Amy Elsner
1028Morrow C StockhamArgentina2025-04-08Buckley Miller Wright PROPOSAL35Stephen Shaw
1029Julie Y WaycottGermany2025-04-05Commercial Press NEW31Xuxue Feng
1030Ricardo D StockhamFrance2025-04-06Rangoni Of Florence UNQUALIFIED33Anna Fali
1031Leja G PerinItaly2025-04-06Benton, John B Jr NEGOTIATION77Asiya Javayant
1032Maisha G WhobreyJapan2025-04-25Morlong Associates NEGOTIATION63Anna Fali
1033Ivar O GauchoCanada2025-04-25King, Christopher A Esq PROPOSAL22Elwin Sharvill
1034Johnson X MaletAustralia2025-04-17Commercial Press RENEWAL94Amy Elsner
1035Costa G ButtArgentina2025-04-15Rousseaux, Michael Esq NEW37Onyama Limba
1036Antonio C DarakjyBrazil2025-04-14Chemel, James L Cpa RENEWAL16Asiya Javayant
1037Jeanfrancois X StensethItaly2025-04-27Feltz Printing Service RENEWAL48Stephen Shaw
1038Chavez F OldroydRussia2025-04-13Truhlar And Truhlar Attys QUALIFIED4Onyama Limba
1039Adams Q KuskoArgentina2025-04-14Chemel, James L Cpa RENEWAL72Xuxue Feng
1040Jefferson D KolmetzRussia2025-04-19Rangoni Of Florence QUALIFIED57Onyama Limba
1041Jeanfrancois H ShinkoAustralia2025-04-29Chapman, Ross E Esq NEGOTIATION2Xuxue Feng
1042Antonio V MorascaFrance2025-04-24Rangoni Of Florence NEGOTIATION31Xuxue Feng
1043Nicolas S DilliardIndia2025-04-22Buckley Miller Wright UNQUALIFIED64Ivan Magalhaes
1044Arvin D BriddickIndia2025-04-19Buckley Miller Wright NEW75Amy Elsner
1045Stacey L RutaIndia2025-04-28Printing Dimensions PROPOSAL26Ivan Magalhaes
1046Greenwood A FlosiBrazil2025-04-18Feiner Bros PROPOSAL65Xuxue Feng
1047Francesco W MorascaIndia2025-04-20Benton, John B Jr NEW57Amy Elsner
1048Arvin E RutaSpain2025-04-24Printing Dimensions QUALIFIED3Anna Fali
1049Emily D RimIndia2025-04-03Chemel, James L Cpa UNQUALIFIED36Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan D TollnerItalyIvan Magalhaes NEGOTIATION
Faith E CaldareraUnited KingdomBernardo Dominic NEGOTIATION
David W FlosiRussiaAmy Elsner NEGOTIATION
Smith L RimArgentinaBernardo Dominic NEGOTIATION
Faith C ShinkoCanadaStephen Shaw NEGOTIATION
Deepesh B WaycottAustraliaAnna Fali QUALIFIED
Jennifer O DilliardJapanAnna Fali NEW
Aika I BologniaBrazilAnna Fali RENEWAL
Kadeem R StockhamUnited KingdomStephen Shaw UNQUALIFIED
Mayumi K RutaGermanyXuxue Feng RENEWAL
Misaki L FigeroaFranceBernardo Dominic NEW
Aika R FlosiCanadaIvan Magalhaes RENEWAL
Stacey Y ChuiRussiaXuxue Feng QUALIFIED
Rodrigues F AlbaresGermanyAsiya Javayant RENEWAL
Mujtaba S WieserIndiaAnna Fali NEGOTIATION
Aika K GillianRussiaIvan Magalhaes RENEWAL
Jefferson D CaudyGermanyStephen Shaw NEW
Smith I DilliardGermanyAsiya Javayant UNQUALIFIED
Jones A VenereJapanIvan Magalhaes NEW
Stacey K PaprockiAustraliaIvan Magalhaes QUALIFIED
Silvio V CaudyBrazilIoni Bowcher RENEWAL
Izzy X RutaCanadaStephen Shaw QUALIFIED
Jennifer B FlosiUnited KingdomStephen Shaw RENEWAL
Darci R GauchoAustraliaStephen Shaw PROPOSAL
Nicolas F RulapaughUnited KingdomAmy Elsner QUALIFIED
James N GauchoArgentinaOnyama Limba QUALIFIED
Morrow G MaletIndiaBernardo Dominic QUALIFIED
Silvio G AmigonRussiaAnna Fali RENEWAL
Octavia P OstroskyCanadaBernardo Dominic UNQUALIFIED
Leon N OstroskyItalyAsiya Javayant QUALIFIED
Kadeem G RoysterArgentinaStephen Shaw RENEWAL
Octavia N DarakjyJapanAmy Elsner NEW
Maria W WaycottIndiaAnna Fali PROPOSAL
Stacey I RulapaughJapanElwin Sharvill RENEWAL
Jennifer I WieserJapanIvan Magalhaes NEGOTIATION
Arvin I SchemmerItalyOnyama Limba UNQUALIFIED
David C PaprockiUnited KingdomBernardo Dominic NEW
Tony X KolmetzFranceElwin Sharvill QUALIFIED
David B VocelkaRussiaAsiya Javayant RENEWAL
Ashley Z MarrierFranceIvan Magalhaes NEW
Jones J OstroskyAustraliaXuxue Feng UNQUALIFIED
Johnson X CaudyItalyIvan Magalhaes NEW
Jones B GlickUnited KingdomIvan Magalhaes NEW
Ricardo E MacleadArgentinaIvan Magalhaes UNQUALIFIED
Mayumi Z DarakjySpainAmy Elsner RENEWAL
Octavia N AmigonGermanyXuxue Feng QUALIFIED
Juan X VenereCanadaAnna Fali QUALIFIED
Clifford D CaudyGermanyXuxue Feng UNQUALIFIED
Ashley F FigeroaArgentinaAmy Elsner NEGOTIATION
Darci K GarufiAustraliaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Faith L Campain
Octavia S Royster
Cody M Darakjy
Leon K Garufi
James R Schemmer
Stacey K Shinko
Misaki J Vocelka
Deepesh K Wieser
Jones G Campain
Ricardo N Whobrey
Stacey Q Darakjy
Izzy W Iturbide
Darci J Kusko
Ivar T Gillian
Isabel H Sergi
Juan D Figeroa
Arvin F Butt
Costa K Schemmer
Mujtaba W Foller
Aika F Malet
Tony Z Amigon
Faith L Paprocki
Leon P Royster
Kadeem Q Royster
Maisha Q Waycott
Jennifer U Kolmetz
Greenwood E Venere
Clifford R Ostrosky
Mayumi Z Chui
Chavez C Tollner
David S Whobrey
Clifford F Amigon
Chavez T Shinko
Wickens F Foller
Cody T Wieser
Faith D Wieser
Jeanfrancois F Kusko
Aditya H Stenseth
Munro O Doe
Misaki R Butt
Francesco X Kusko
Kadeem V Rim
Chavez N Ostrosky
Cody N Briddick
Maria E Maclead
Stacey L Inouye
Mayumi D Tollner
Sinclair X Albares
Adams J Doe
Silvio N Oldroyd
IdCountryDate
1000Brazil2025-04-20
1001Canada2025-04-11
1002Japan2025-04-21
1003Russia2025-04-26
1004Australia2025-04-15
1005Italy2025-04-12
1006Italy2025-04-19
1007India2025-04-21
1008Japan2025-04-29
1009Canada2025-04-21
1010Japan2025-04-23
1011Argentina2025-04-08
1012Spain2025-04-20
1013Canada2025-04-25
1014Russia2025-04-03
1015India2025-04-29
1016Japan2025-04-04
1017United Kingdom2025-04-22
1018Brazil2025-04-01
1019Italy2025-04-28
1020France2025-04-05
1021Australia2025-04-01
1022Australia2025-04-24
1023Germany2025-04-19
1024Brazil2025-04-17
1025Canada2025-04-03
1026Italy2025-04-13
1027Japan2025-04-13
1028Germany2025-04-11
1029India2025-04-05
1030Canada2025-04-12
1031Argentina2025-04-05
1032United Kingdom2025-04-14
1033Argentina2025-04-30
1034Japan2025-04-29
1035France2025-04-02
1036Canada2025-04-23
1037India2025-04-16
1038Brazil2025-04-07
1039Brazil2025-04-25
1040Argentina2025-04-23
1041Canada2025-04-17
1042Italy2025-04-18
1043Germany2025-04-17
1044Spain2025-04-18
1045Canada2025-04-21
1046United Kingdom2025-04-01
1047Australia2025-04-12
1048Spain2025-04-24
1049United Kingdom2025-04-10

On-Demand Data

NameIdCountryDate
Nicolas L Maclead1000Australia2025-04-17
Wickens Z Morasca1001Australia2025-04-16
Aruna R Dilliard1002Japan2025-04-18
James C Darakjy1003Canada2025-04-14
Maisha C Rulapaugh1004Canada2025-04-17
Clifford H Iturbide1005Australia2025-04-17
Murillo Z Stenseth1006Germany2025-04-12
Ivar S Foller1007Germany2025-04-07
Deepesh V Figeroa1008Russia2025-04-27
Aditya C Slusarski1009United Kingdom2025-04-27
Juan F Foller1010Russia2025-04-17
Jennifer L Tollner1011India2025-04-07
Mayumi D Nestle1012Russia2025-04-26
Antonio C Ostrosky1013Australia2025-04-30
Murillo B Flosi1014Japan2025-04-09
Jefferson F Marrier1015France2025-04-20
Aruna U Oldroyd1016India2025-04-11
Leja C Stenseth1017Russia2025-04-13
Claire B Dilliard1018Japan2025-04-07
Nicolas Z Tollner1019Russia2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony N WhobreyIndiaBernardo Dominic UNQUALIFIED
Silvio U AlbaresAustraliaAsiya Javayant UNQUALIFIED
Octavia W InouyeFranceElwin Sharvill PROPOSAL
Antonio F RoysterFranceBernardo Dominic PROPOSAL
Aika C IturbideJapanBernardo Dominic QUALIFIED
Isabel D VocelkaAustraliaAnna Fali PROPOSAL
Jeanfrancois L DoeRussiaOnyama Limba QUALIFIED
Leja F StensethCanadaXuxue Feng RENEWAL
Aruna L CaudyFranceAsiya Javayant UNQUALIFIED
Izzy A FollerIndiaBernardo Dominic QUALIFIED
James F BologniaUnited KingdomAmy Elsner UNQUALIFIED
Leon X NestleGermanyStephen Shaw NEW
Darci K IturbideArgentinaAsiya Javayant UNQUALIFIED
Antonio A GauchoArgentinaAsiya Javayant NEW
Francesco T DarakjyItalyAmy Elsner NEW
Cody O SchemmerJapanXuxue Feng NEGOTIATION
Rodrigues T ChuiFranceBernardo Dominic NEGOTIATION
Izzy E SergiRussiaAnna Fali PROPOSAL
Jefferson E GarufiSpainAnna Fali QUALIFIED
Julie O RimJapanStephen Shaw RENEWAL
Deepesh G SaylorsGermanyBernardo Dominic PROPOSAL
Faith U ShinkoJapanXuxue Feng NEW
Ashley V PaprockiGermanyStephen Shaw QUALIFIED
Munro C CaudyItalyBernardo Dominic RENEWAL
Izzy X KuskoRussiaElwin Sharvill NEW
Maria L GillianGermanyXuxue Feng NEW
David L IturbideIndiaBernardo Dominic RENEWAL
Isabel I BriddickCanadaIvan Magalhaes UNQUALIFIED
Wickens T VocelkaArgentinaIvan Magalhaes NEW
Antonio O NestleJapanAmy Elsner PROPOSAL
Alejandro T VocelkaItalyXuxue Feng UNQUALIFIED
Ashley X PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Emily L MaletRussiaAsiya Javayant QUALIFIED
Isabel S CaudyGermanyAsiya Javayant RENEWAL
Nicolas S WhobreyFranceBernardo Dominic NEGOTIATION
David L ButtArgentinaIoni Bowcher PROPOSAL
Alejandro F PaprockiBrazilAnna Fali RENEWAL
Jones E RutaAustraliaAmy Elsner NEW
Francesco L RulapaughCanadaIoni Bowcher NEGOTIATION
Salvatore W SaylorsSpainAmy Elsner NEGOTIATION

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