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
Emily X OstroskyUnited KingdomStephen Shaw PROPOSAL
Misaki M FollerItalyAnna Fali RENEWAL
Izzy Z OstroskyItalyStephen Shaw UNQUALIFIED
Emily T WaycottCanadaAsiya Javayant NEGOTIATION
Arvin C FerenczItalyAsiya Javayant QUALIFIED
Ashley T StockhamJapanIoni Bowcher NEW
David J ButtSpainXuxue Feng NEGOTIATION
Salvatore S RutaAustraliaIvan Magalhaes QUALIFIED
Jefferson B MarrierUnited KingdomAmy Elsner NEW
Nicolas L GillianCanadaElwin Sharvill UNQUALIFIED
Mujtaba L AmigonCanadaElwin Sharvill RENEWAL
Salvatore O WaycottAustraliaIvan Magalhaes UNQUALIFIED
Alejandro A PoquetteRussiaIvan Magalhaes QUALIFIED
Chavez V OldroydCanadaStephen Shaw PROPOSAL
Ashley G CaudyRussiaOnyama Limba NEGOTIATION
Kaitlin I MaletCanadaIvan Magalhaes QUALIFIED
Faith Y NestleRussiaAsiya Javayant NEW
Ashley M AlbaresBrazilAsiya Javayant RENEWAL
Greenwood Q StockhamRussiaAmy Elsner RENEWAL
Aditya P GillianIndiaAnna Fali NEW
Chavez E FlosiItalyAmy Elsner RENEWAL
Morrow Z OstroskyArgentinaIoni Bowcher NEW
Tony F FerenczUnited KingdomAsiya Javayant NEW
Salvatore E FigeroaCanadaXuxue Feng PROPOSAL
Aika P NickaAustraliaAsiya Javayant NEW
Arvin V RulapaughRussiaIoni Bowcher PROPOSAL
Stacey L WieserBrazilAnna Fali QUALIFIED
Antonio Z PaprockiSpainOnyama Limba QUALIFIED
Deepesh V NestleArgentinaAmy Elsner NEW
Cody W MaletArgentinaAsiya Javayant QUALIFIED
Aika K ButtJapanAsiya Javayant NEGOTIATION
Misaki Y VocelkaCanadaAmy Elsner NEW
Ricardo T ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Claire U BologniaIndiaIoni Bowcher QUALIFIED
David U ShinkoJapanBernardo Dominic PROPOSAL
Costa I NickaItalyAmy Elsner NEW
Nicolas B CampainFranceOnyama Limba NEGOTIATION
Leon I SergiArgentinaElwin Sharvill RENEWAL
Ashley T FollerItalyElwin Sharvill QUALIFIED
Izzy S ButtGermanyAsiya Javayant UNQUALIFIED
Maisha B BologniaItalyAnna Fali QUALIFIED
Cody M VenereJapanAmy Elsner RENEWAL
Tony A OstroskyAustraliaBernardo Dominic RENEWAL
Jennifer B KolmetzBrazilIoni Bowcher NEGOTIATION
Tony N MacleadRussiaXuxue Feng QUALIFIED
Chavez P DilliardCanadaElwin Sharvill UNQUALIFIED
Julie D StockhamFranceElwin Sharvill UNQUALIFIED
Leja S PaprockiFranceElwin Sharvill UNQUALIFIED
Isabel Q ShinkoAustraliaAnna Fali QUALIFIED
Juan D GlickGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy T MarrierCanadaOnyama Limba NEW
Munro L BowleyItalyAnna Fali NEW
Adams G MaletJapanAsiya Javayant QUALIFIED
Jefferson S PaprockiItalyBernardo Dominic QUALIFIED
Juan S OldroydSpainAmy Elsner QUALIFIED
Deepesh J DarakjyArgentinaIvan Magalhaes QUALIFIED
Misaki W CaudySpainAnna Fali UNQUALIFIED
Nicolas W WhobreyFranceStephen Shaw NEW
Jefferson R CampainIndiaElwin Sharvill NEGOTIATION
Cody C BowleyGermanyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna O OstroskyBrazil2024-05-31Benton, John B Jr NEGOTIATION23Ioni Bowcher
1001Greenwood B GlickAustralia2024-05-26Feiner Bros NEW29Onyama Limba
1002Deepesh D StensethGermany2024-06-09Rangoni Of Florence NEGOTIATION52Elwin Sharvill
1003Aruna I BowleyGermany2024-06-06Rousseaux, Michael Esq NEGOTIATION49Asiya Javayant
1004Salvatore Y FerenczItaly2024-05-26Rangoni Of Florence NEGOTIATION61Anna Fali
1005Aika P DoeBrazil2024-06-22Dorl, James J Esq NEW18Asiya Javayant
1006Maria N MacleadCanada2024-06-15Benton, John B Jr UNQUALIFIED97Anna Fali
1007Darci R DoeJapan2024-05-30Buckley Miller Wright PROPOSAL80Xuxue Feng
1008David U VocelkaCanada2024-06-02Feiner Bros NEGOTIATION62Ivan Magalhaes
1009Rodrigues V DilliardIndia2024-06-11Dorl, James J Esq QUALIFIED88Xuxue Feng
1010Aditya J NickaGermany2024-06-07Chemel, James L Cpa NEW87Asiya Javayant
1011Aika D FollerBrazil2024-05-31Commercial Press UNQUALIFIED93Bernardo Dominic
1012Octavia G PaprockiSpain2024-06-10Buckley Miller Wright UNQUALIFIED95Elwin Sharvill
1013Deepesh Z SlusarskiItaly2024-06-11Buckley Miller Wright PROPOSAL9Onyama Limba
1014Octavia R ChuiIndia2024-06-13Morlong Associates UNQUALIFIED47Elwin Sharvill
1015Claire J AlbaresBrazil2024-05-31Chemel, James L Cpa RENEWAL97Asiya Javayant
1016Rodrigues O BologniaSpain2024-06-12Rangoni Of Florence NEW72Anna Fali
1017Mujtaba P ButtArgentina2024-06-04Commercial Press QUALIFIED11Stephen Shaw
1018Izzy X StockhamUnited Kingdom2024-06-07Buckley Miller Wright RENEWAL91Bernardo Dominic
1019Stacey B ShinkoGermany2024-06-13Dorl, James J Esq QUALIFIED18Amy Elsner
1020Misaki X MorascaIndia2024-06-13Chemel, James L Cpa UNQUALIFIED94Anna Fali
1021Mayumi C TollnerIndia2024-06-12Chanay, Jeffrey A Esq RENEWAL47Ioni Bowcher
1022Francesco B MaletBrazil2024-06-23Buckley Miller Wright NEW62Xuxue Feng
1023Faith Y AmigonSpain2024-06-20Chanay, Jeffrey A Esq NEGOTIATION99Amy Elsner
1024Ashley D SaylorsGermany2024-06-20Buckley Miller Wright RENEWAL44Elwin Sharvill
1025Aditya R FigeroaRussia2024-05-31Chemel, James L Cpa PROPOSAL40Stephen Shaw
1026Tony F SlusarskiCanada2024-05-25Chapman, Ross E Esq NEGOTIATION57Bernardo Dominic
1027Silvio F SchemmerGermany2024-06-02Chapman, Ross E Esq RENEWAL86Elwin Sharvill
1028Faith P ChuiUnited Kingdom2024-06-21Printing Dimensions PROPOSAL37Ivan Magalhaes
1029Morrow H VocelkaRussia2024-05-29Rousseaux, Michael Esq PROPOSAL66Amy Elsner
1030Chavez B RimGermany2024-06-18Printing Dimensions NEGOTIATION35Asiya Javayant
1031Ricardo J PoquetteBrazil2024-06-04Buckley Miller Wright QUALIFIED7Onyama Limba
1032Chavez A IturbideIndia2024-05-26Chapman, Ross E Esq RENEWAL52Asiya Javayant
1033Murillo C StockhamGermany2024-06-17Printing Dimensions RENEWAL80Asiya Javayant
1034Octavia R GarufiBrazil2024-06-20Dorl, James J Esq UNQUALIFIED13Elwin Sharvill
1035Smith P VocelkaGermany2024-06-11Feltz Printing Service NEW88Asiya Javayant
1036Sinclair H BriddickUnited Kingdom2024-05-27Feltz Printing Service RENEWAL29Elwin Sharvill
1037Claire D CaldareraFrance2024-06-16Printing Dimensions NEW65Anna Fali
1038Tony A BriddickFrance2024-06-22Morlong Associates QUALIFIED93Xuxue Feng
1039Aditya S VenereAustralia2024-06-23Dorl, James J Esq PROPOSAL21Xuxue Feng
1040James E CaudyJapan2024-06-09Truhlar And Truhlar Attys PROPOSAL81Ioni Bowcher
1041Rodrigues Z MaletArgentina2024-06-05Morlong Associates QUALIFIED24Asiya Javayant
1042Wickens T NickaSpain2024-05-28Morlong Associates NEGOTIATION38Anna Fali
1043Leja M NestleItaly2024-05-30Chanay, Jeffrey A Esq QUALIFIED19Anna Fali
1044Jones X OldroydGermany2024-06-12Morlong Associates QUALIFIED40Elwin Sharvill
1045Jefferson K ButtRussia2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED76Ivan Magalhaes
1046David E WhobreyUnited Kingdom2024-06-21Chapman, Ross E Esq RENEWAL29Ivan Magalhaes
1047Leja R WhobreyUnited Kingdom2024-06-19Truhlar And Truhlar Attys QUALIFIED48Onyama Limba
1048Johnson M NestleArgentina2024-06-20King, Christopher A Esq QUALIFIED61Stephen Shaw
1049Juan W VocelkaCanada2024-06-17Morlong Associates PROPOSAL19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Stacey N SlusarskiUnited KingdomAmy Elsner PROPOSAL
Smith U NestleUnited KingdomXuxue Feng NEW
Cody O GarufiCanadaOnyama Limba QUALIFIED
Kadeem X GarufiIndiaAmy Elsner UNQUALIFIED
Jennifer P MaletAustraliaXuxue Feng QUALIFIED
Murillo J MorascaFranceElwin Sharvill NEGOTIATION
Alejandro X GillianGermanyElwin Sharvill NEW
Wickens V RulapaughRussiaIoni Bowcher NEW
Antonio T GarufiJapanXuxue Feng QUALIFIED
Smith J DarakjyIndiaStephen Shaw NEGOTIATION
Mayumi K GauchoSpainIoni Bowcher NEGOTIATION
Sinclair S AmigonRussiaAmy Elsner QUALIFIED
Darci N AmigonUnited KingdomIoni Bowcher QUALIFIED
Antonio O DarakjyBrazilOnyama Limba UNQUALIFIED
Misaki S DilliardCanadaAsiya Javayant PROPOSAL
Antonio O ShinkoRussiaIoni Bowcher UNQUALIFIED
Jennifer T RoysterIndiaAnna Fali NEGOTIATION
Leon K GauchoArgentinaAsiya Javayant QUALIFIED
David J AmigonUnited KingdomXuxue Feng RENEWAL
Stacey Z GillianUnited KingdomXuxue Feng NEGOTIATION
Aika S MacleadGermanyStephen Shaw QUALIFIED
Jefferson E WaycottSpainOnyama Limba NEGOTIATION
Greenwood F SaylorsFranceAmy Elsner NEW
Leon L BologniaBrazilElwin Sharvill PROPOSAL
Stacey L GillianCanadaXuxue Feng NEGOTIATION
Kaitlin J KolmetzSpainAsiya Javayant NEGOTIATION
Smith E MacleadUnited KingdomAsiya Javayant NEGOTIATION
Costa G ShinkoArgentinaAsiya Javayant NEW
Cody S MarrierIndiaOnyama Limba NEW
Morrow P BologniaJapanElwin Sharvill RENEWAL
Tony C CaudyRussiaIoni Bowcher RENEWAL
Juan T GlickIndiaAmy Elsner QUALIFIED
Morrow Z FerenczSpainElwin Sharvill PROPOSAL
Jeanfrancois I InouyeJapanStephen Shaw PROPOSAL
Jennifer A SchemmerGermanyIvan Magalhaes UNQUALIFIED
Clifford X SergiAustraliaAmy Elsner RENEWAL
Nicolas D DarakjySpainOnyama Limba NEGOTIATION
Aruna J CaldareraUnited KingdomAnna Fali RENEWAL
Clifford T MorascaIndiaAnna Fali QUALIFIED
Emily W GarufiJapanBernardo Dominic RENEWAL
Clifford C CaudyIndiaAmy Elsner UNQUALIFIED
Misaki I WaycottSpainIvan Magalhaes NEW
Alejandro G SergiBrazilIoni Bowcher QUALIFIED
Chavez M SchemmerRussiaAmy Elsner QUALIFIED
Emily L SergiArgentinaStephen Shaw QUALIFIED
Stacey G NestleCanadaXuxue Feng NEW
David R GauchoSpainIoni Bowcher NEGOTIATION
James Z AmigonCanadaAmy Elsner PROPOSAL
Ivar Q BowleyRussiaXuxue Feng QUALIFIED
Alejandro F WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Frozen Columns
Name
Izzy W Kusko
Faith O Iturbide
Kaitlin C Oldroyd
Claire L Darakjy
Kadeem X Waycott
Stacey I Figeroa
Francesco V Bowley
Maria J Slusarski
Aditya O Gillian
Adams E Sergi
Leja U Schemmer
Jennifer F Garufi
Morrow B Poquette
Leja P Ostrosky
Morrow K Glick
Alejandro N Vocelka
Ashley V Ostrosky
Leon X Nestle
Aika P Kusko
Izzy N Kolmetz
Faith G Caudy
Johnson M Garufi
Maisha Y Albares
Jones U Waycott
Chavez P Kusko
Johnson Q Kusko
Clifford M Gillian
Antonio U Sergi
Leon C Marrier
Darci N Flosi
Kaitlin C Darakjy
Kaitlin G Ruta
Kadeem D Foller
Silvio Y Bowley
David K Dilliard
Tony K Malet
Arvin C Whobrey
Leon B Marrier
Aika Z Sergi
Darci L Kolmetz
Claire P Schemmer
Smith H Albares
Faith X Darakjy
Greenwood L Ferencz
Ivar I Shinko
Sinclair K Whobrey
Alejandro J Doe
Smith M Flosi
Jennifer P Oldroyd
Antonio J Perin
IdCountryDate
1000Germany2024-06-21
1001Spain2024-05-25
1002France2024-06-20
1003Italy2024-05-27
1004Argentina2024-06-13
1005Australia2024-05-31
1006Spain2024-06-04
1007France2024-06-16
1008France2024-06-06
1009Spain2024-06-14
1010Argentina2024-06-17
1011Brazil2024-06-10
1012Russia2024-06-04
1013Brazil2024-05-26
1014Spain2024-06-20
1015Spain2024-06-05
1016Brazil2024-06-04
1017United Kingdom2024-05-29
1018Germany2024-06-11
1019France2024-06-20
1020United Kingdom2024-06-10
1021Russia2024-06-16
1022Germany2024-06-21
1023Russia2024-06-04
1024Brazil2024-05-28
1025Spain2024-06-10
1026France2024-05-28
1027Italy2024-06-13
1028United Kingdom2024-06-17
1029Japan2024-06-19
1030Italy2024-06-16
1031Argentina2024-06-11
1032Japan2024-06-08
1033Japan2024-05-30
1034Russia2024-06-04
1035Japan2024-05-26
1036United Kingdom2024-06-11
1037Argentina2024-06-19
1038India2024-06-19
1039Brazil2024-06-23
1040Japan2024-06-12
1041United Kingdom2024-06-04
1042Australia2024-06-07
1043Japan2024-06-17
1044Germany2024-06-23
1045Italy2024-05-25
1046India2024-06-13
1047Japan2024-06-15
1048Brazil2024-06-11
1049India2024-06-15

On-Demand Data

NameIdCountryDate
Ashley G Iturbide1000Brazil2024-06-15
Mujtaba Q Kusko1001Russia2024-06-05
Julie D Schemmer1002Spain2024-05-28
Tony T Whobrey1003Japan2024-06-22
Murillo H Ruta1004Germany2024-06-11
Juan A Garufi1005Spain2024-06-22
Izzy H Butt1006Canada2024-06-12
Smith V Albares1007Russia2024-05-25
Leja C Slusarski1008Canada2024-05-28
Tony Y Ostrosky1009Italy2024-06-07
Wickens M Bolognia1010Japan2024-06-02
Jennifer L Maclead1011France2024-06-23
Jeanfrancois X Wieser1012Japan2024-06-16
Greenwood C Doe1013Australia2024-06-07
Julie L Inouye1014United Kingdom2024-06-03
Adams P Rulapaugh1015Australia2024-06-13
Clifford K Ruta1016France2024-06-07
Ashley E Stockham1017Russia2024-06-07
Ashley G Schemmer1018India2024-05-31
Salvatore E Dilliard1019Germany2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore L FigeroaJapanOnyama Limba PROPOSAL
Sinclair R RimUnited KingdomOnyama Limba NEW
Silvio N StensethCanadaBernardo Dominic PROPOSAL
Faith R VocelkaFranceElwin Sharvill RENEWAL
Nicolas C FerenczBrazilOnyama Limba PROPOSAL
Murillo S TollnerUnited KingdomBernardo Dominic PROPOSAL
Silvio S ShinkoIndiaOnyama Limba RENEWAL
Leja R MorascaIndiaBernardo Dominic NEW
Kadeem Y FlosiBrazilAmy Elsner PROPOSAL
James L SergiFranceBernardo Dominic PROPOSAL
Tony J IturbideRussiaIoni Bowcher NEGOTIATION
Salvatore O GauchoRussiaAmy Elsner NEGOTIATION
Antonio K SaylorsFranceAmy Elsner QUALIFIED
Arvin W WhobreySpainBernardo Dominic PROPOSAL
Nicolas Y GillianSpainOnyama Limba NEW
Ivar O CaudyBrazilAsiya Javayant NEGOTIATION
Misaki Q DoeFranceElwin Sharvill NEGOTIATION
Jones P PoquetteIndiaAnna Fali PROPOSAL
Juan S MaletRussiaElwin Sharvill NEGOTIATION
Maisha B FollerUnited KingdomAsiya Javayant PROPOSAL
Kadeem Z ChuiCanadaBernardo Dominic UNQUALIFIED
Kaitlin N MarrierSpainAsiya Javayant PROPOSAL
Morrow C PaprockiJapanXuxue Feng PROPOSAL
Mujtaba Y SergiRussiaXuxue Feng NEW
Alejandro L ChuiGermanyIvan Magalhaes NEW
Greenwood L GillianIndiaOnyama Limba UNQUALIFIED
Greenwood F NestleAustraliaBernardo Dominic QUALIFIED
Maria J NickaFranceOnyama Limba QUALIFIED
Chavez F TollnerFranceIvan Magalhaes NEW
Stacey Y ShinkoCanadaIvan Magalhaes PROPOSAL
Ricardo F IturbideGermanyAnna Fali PROPOSAL
Ashley W MarrierArgentinaStephen Shaw NEW
Jeanfrancois J StensethIndiaXuxue Feng NEGOTIATION
David U SlusarskiCanadaAnna Fali PROPOSAL
Murillo K PerinGermanyIoni Bowcher NEGOTIATION
Tony S PaprockiAustraliaXuxue Feng PROPOSAL
Nicolas P SlusarskiSpainXuxue Feng NEGOTIATION
James K WieserGermanyOnyama Limba RENEWAL
Arvin B IturbideRussiaAnna Fali QUALIFIED
Sinclair K MaletIndiaIoni Bowcher NEW

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