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
Aditya L BriddickFranceAnna Fali QUALIFIED
Jones H MorascaBrazilStephen Shaw UNQUALIFIED
Aika O WhobreySpainStephen Shaw PROPOSAL
Alejandro D BriddickSpainIvan Magalhaes QUALIFIED
Deepesh H OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Julie L KuskoSpainIoni Bowcher RENEWAL
Munro J GlickArgentinaBernardo Dominic NEW
Greenwood C SaylorsAustraliaAnna Fali PROPOSAL
Ivar M CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Adams U FerenczBrazilXuxue Feng QUALIFIED
Sinclair X FigeroaUnited KingdomStephen Shaw NEGOTIATION
Stacey M KuskoRussiaBernardo Dominic RENEWAL
Adams A RulapaughSpainElwin Sharvill PROPOSAL
Ricardo U RulapaughItalyElwin Sharvill NEGOTIATION
Johnson V PoquetteGermanyIoni Bowcher NEGOTIATION
Jefferson F ButtSpainElwin Sharvill UNQUALIFIED
Morrow W GillianFranceBernardo Dominic NEGOTIATION
Alejandro Q GillianAustraliaXuxue Feng QUALIFIED
Darci I RutaJapanXuxue Feng UNQUALIFIED
Aika B FigeroaArgentinaAsiya Javayant PROPOSAL
Silvio G AmigonUnited KingdomAsiya Javayant NEW
Jeanfrancois H CaldareraBrazilStephen Shaw PROPOSAL
Octavia K FerenczSpainAsiya Javayant QUALIFIED
Aruna S BowleyFranceAnna Fali PROPOSAL
Aruna P RutaIndiaIvan Magalhaes UNQUALIFIED
Jennifer E NickaRussiaStephen Shaw RENEWAL
Arvin A ShinkoItalyIvan Magalhaes PROPOSAL
Rodrigues P RoysterIndiaIoni Bowcher NEGOTIATION
Ivar B ButtGermanyXuxue Feng RENEWAL
Silvio D RoysterAustraliaOnyama Limba NEGOTIATION
Emily H PerinFranceStephen Shaw NEW
Faith T TollnerJapanBernardo Dominic QUALIFIED
Munro F GlickBrazilIoni Bowcher PROPOSAL
Munro Z ShinkoIndiaAsiya Javayant NEGOTIATION
Aruna H KuskoRussiaStephen Shaw RENEWAL
Greenwood Y GillianUnited KingdomXuxue Feng PROPOSAL
Leja F CaldareraArgentinaAsiya Javayant QUALIFIED
Silvio N GarufiBrazilAsiya Javayant RENEWAL
Greenwood H AmigonFranceStephen Shaw RENEWAL
Jeanfrancois B DilliardAustraliaAmy Elsner UNQUALIFIED
Sinclair W OldroydAustraliaIvan Magalhaes NEW
Alejandro I OstroskyGermanyIoni Bowcher QUALIFIED
Julie N GauchoGermanyAmy Elsner QUALIFIED
Adams G GillianGermanyBernardo Dominic UNQUALIFIED
Rodrigues R PerinBrazilStephen Shaw NEW
Ashley T DarakjyGermanyXuxue Feng NEGOTIATION
Jeanfrancois X DarakjyBrazilAmy Elsner NEW
Clifford E ShinkoFranceIvan Magalhaes QUALIFIED
Juan X DarakjyCanadaAnna Fali RENEWAL
Kadeem P KolmetzGermanyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Johnson O AlbaresArgentinaIoni Bowcher RENEWAL
Antonio Z RimSpainStephen Shaw QUALIFIED
Alejandro Q PoquetteBrazilAmy Elsner RENEWAL
Costa B InouyeJapanIoni Bowcher NEW
Murillo O BologniaArgentinaAnna Fali NEW
Maisha F SaylorsItalyAsiya Javayant PROPOSAL
Isabel K NickaUnited KingdomAmy Elsner NEW
Ivar Y StensethItalyIoni Bowcher QUALIFIED
Stacey N TollnerJapanIvan Magalhaes UNQUALIFIED
Silvio P KuskoUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha F RutaItaly2024-05-10Rousseaux, Michael Esq QUALIFIED6Xuxue Feng
1001Stacey S FlosiFrance2024-05-16Printing Dimensions NEGOTIATION51Bernardo Dominic
1002Nicolas T NestleItaly2024-05-22Chapman, Ross E Esq NEW62Ivan Magalhaes
1003Emily O NickaBrazil2024-05-02Printing Dimensions NEGOTIATION38Amy Elsner
1004Claire D IturbideIndia2024-05-25Rousseaux, Michael Esq PROPOSAL37Amy Elsner
1005Aruna K StockhamGermany2024-05-18Dorl, James J Esq PROPOSAL77Xuxue Feng
1006Arvin B NestleSpain2024-04-26Truhlar And Truhlar Attys NEW75Amy Elsner
1007Stacey T WieserArgentina2024-04-30Feiner Bros QUALIFIED91Ioni Bowcher
1008Silvio R PerinSpain2024-05-11Printing Dimensions QUALIFIED52Bernardo Dominic
1009Greenwood M FerenczIndia2024-05-20Buckley Miller Wright QUALIFIED86Onyama Limba
1010Chavez P PoquetteArgentina2024-05-24Commercial Press PROPOSAL33Onyama Limba
1011Greenwood V InouyeArgentina2024-05-09Feiner Bros PROPOSAL92Elwin Sharvill
1012Chavez H InouyeItaly2024-04-28Printing Dimensions NEGOTIATION94Bernardo Dominic
1013Stacey G BologniaJapan2024-04-30Chanay, Jeffrey A Esq QUALIFIED78Xuxue Feng
1014James X DarakjyJapan2024-05-24Printing Dimensions NEGOTIATION23Ioni Bowcher
1015Greenwood L VenereArgentina2024-04-29Commercial Press PROPOSAL94Asiya Javayant
1016Emily M GlickUnited Kingdom2024-05-09Printing Dimensions PROPOSAL66Onyama Limba
1017Silvio R MorascaCanada2024-04-30Morlong Associates NEGOTIATION7Onyama Limba
1018Misaki U MaletAustralia2024-05-14Chemel, James L Cpa QUALIFIED51Xuxue Feng
1019Maria C PerinGermany2024-05-25Commercial Press UNQUALIFIED71Amy Elsner
1020Sinclair K BologniaGermany2024-04-30Feltz Printing Service PROPOSAL83Xuxue Feng
1021Jeanfrancois I AlbaresIndia2024-04-30Dorl, James J Esq NEW92Elwin Sharvill
1022Arvin Q MaletBrazil2024-04-27Printing Dimensions NEGOTIATION28Stephen Shaw
1023Aditya J PaprockiAustralia2024-04-26Rangoni Of Florence RENEWAL28Onyama Limba
1024Smith E PerinAustralia2024-05-12Rousseaux, Michael Esq RENEWAL52Ivan Magalhaes
1025Aruna I BologniaSpain2024-05-13King, Christopher A Esq RENEWAL96Elwin Sharvill
1026Adams J MaletBrazil2024-05-11King, Christopher A Esq NEW30Elwin Sharvill
1027Alejandro U MorascaGermany2024-05-25Commercial Press UNQUALIFIED58Ioni Bowcher
1028Tony J GillianBrazil2024-05-17Feltz Printing Service NEGOTIATION72Stephen Shaw
1029Maria O BologniaUnited Kingdom2024-05-22Benton, John B Jr QUALIFIED43Ioni Bowcher
1030Cody G GlickBrazil2024-04-28Feltz Printing Service UNQUALIFIED27Bernardo Dominic
1031Juan W ChuiRussia2024-05-14Feltz Printing Service QUALIFIED62Xuxue Feng
1032Leon A WaycottSpain2024-05-04Buckley Miller Wright NEW7Bernardo Dominic
1033Salvatore M BowleyAustralia2024-05-04Rangoni Of Florence NEGOTIATION82Elwin Sharvill
1034Kadeem A AlbaresIndia2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED49Onyama Limba
1035Johnson J PoquetteSpain2024-04-28Rousseaux, Michael Esq UNQUALIFIED94Stephen Shaw
1036Salvatore P CampainItaly2024-05-08Rousseaux, Michael Esq QUALIFIED64Stephen Shaw
1037Maisha U MaletCanada2024-05-10Rousseaux, Michael Esq NEW79Stephen Shaw
1038Aruna Q FigeroaIndia2024-05-13Printing Dimensions NEGOTIATION63Amy Elsner
1039Darci M MacleadArgentina2024-05-15Morlong Associates QUALIFIED41Amy Elsner
1040Izzy D IturbideSpain2024-05-12Chemel, James L Cpa QUALIFIED85Stephen Shaw
1041Wickens C SaylorsCanada2024-05-11Dorl, James J Esq UNQUALIFIED41Elwin Sharvill
1042Jeanfrancois P GillianFrance2024-05-06Chapman, Ross E Esq UNQUALIFIED23Ioni Bowcher
1043Clifford B MacleadArgentina2024-05-08Morlong Associates UNQUALIFIED74Stephen Shaw
1044Maisha J MaletSpain2024-05-20Buckley Miller Wright UNQUALIFIED22Ioni Bowcher
1045Octavia B DoeUnited Kingdom2024-05-07Rangoni Of Florence NEGOTIATION74Ioni Bowcher
1046Kaitlin U BriddickUnited Kingdom2024-05-11Dorl, James J Esq NEW42Xuxue Feng
1047Murillo U PaprockiCanada2024-05-22Chemel, James L Cpa PROPOSAL74Anna Fali
1048Jennifer C SergiSpain2024-04-26Printing Dimensions UNQUALIFIED89Xuxue Feng
1049Darci P KuskoGermany2024-05-21King, Christopher A Esq NEGOTIATION58Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams N IturbideRussiaStephen Shaw NEGOTIATION
Adams Q FigeroaRussiaOnyama Limba PROPOSAL
Claire A SaylorsGermanyBernardo Dominic PROPOSAL
Adams C GlickCanadaElwin Sharvill QUALIFIED
Antonio W ButtIndiaElwin Sharvill QUALIFIED
Mujtaba P SergiUnited KingdomAnna Fali UNQUALIFIED
Julie F SaylorsFranceAmy Elsner RENEWAL
James J WieserCanadaAnna Fali PROPOSAL
Cody N SchemmerAustraliaOnyama Limba NEW
Smith K NestleArgentinaElwin Sharvill NEW
Mujtaba D OstroskyIndiaIvan Magalhaes QUALIFIED
Deepesh P RoysterUnited KingdomXuxue Feng PROPOSAL
Arvin J ButtUnited KingdomElwin Sharvill RENEWAL
Alejandro S MaletSpainAnna Fali RENEWAL
Julie L DilliardRussiaIvan Magalhaes PROPOSAL
Tony J PaprockiUnited KingdomIoni Bowcher RENEWAL
Maria R StockhamSpainOnyama Limba RENEWAL
Tony J SaylorsSpainAnna Fali PROPOSAL
Tony Y BologniaRussiaOnyama Limba PROPOSAL
Nicolas H TollnerCanadaIoni Bowcher QUALIFIED
Jones C OldroydArgentinaXuxue Feng QUALIFIED
Kaitlin J FollerFranceOnyama Limba NEGOTIATION
Rodrigues R NickaGermanyIvan Magalhaes QUALIFIED
Salvatore V IturbideFranceOnyama Limba PROPOSAL
Morrow H RutaRussiaAmy Elsner RENEWAL
Rodrigues Y CaldareraAustraliaXuxue Feng NEGOTIATION
Adams Z VocelkaCanadaStephen Shaw UNQUALIFIED
Rodrigues P MacleadGermanyAmy Elsner RENEWAL
Smith J GauchoIndiaIoni Bowcher NEGOTIATION
Clifford P KolmetzBrazilElwin Sharvill NEGOTIATION
Wickens I NickaIndiaStephen Shaw PROPOSAL
Jones X KolmetzJapanStephen Shaw PROPOSAL
Tony N FigeroaRussiaXuxue Feng RENEWAL
Octavia F PerinAustraliaElwin Sharvill QUALIFIED
Wickens P WhobreySpainIoni Bowcher PROPOSAL
James O KolmetzRussiaOnyama Limba NEW
Darci H BologniaAustraliaAnna Fali NEW
Isabel Z GauchoRussiaOnyama Limba UNQUALIFIED
Johnson Q ShinkoUnited KingdomAsiya Javayant QUALIFIED
Aika L PaprockiBrazilIoni Bowcher PROPOSAL
Mayumi M MacleadGermanyIoni Bowcher RENEWAL
Isabel R GlickAustraliaElwin Sharvill QUALIFIED
Arvin O BowleyItalyIoni Bowcher NEGOTIATION
Sinclair Z NickaIndiaIvan Magalhaes NEGOTIATION
Sinclair M AmigonJapanIvan Magalhaes UNQUALIFIED
Stacey Y MorascaUnited KingdomAnna Fali RENEWAL
Costa M BriddickGermanyIoni Bowcher UNQUALIFIED
Aditya U WieserRussiaIoni Bowcher RENEWAL
Octavia V InouyeArgentinaAmy Elsner UNQUALIFIED
Mayumi R NestleSpainIoni Bowcher PROPOSAL
Frozen Columns
Name
Smith P Darakjy
Johnson K Amigon
Stacey P Kusko
Arvin T Malet
Deepesh C Perin
Julie R Ruta
Claire H Morasca
Kaitlin U Vocelka
Stacey B Venere
Leja O Waycott
Aika D Ruta
Smith K Briddick
Mayumi V Kolmetz
Ivar I Foller
Octavia X Rim
Mujtaba I Shinko
Jefferson V Bolognia
David T Vocelka
Misaki O Caldarera
Leja B Slusarski
Adams E Darakjy
James I Malet
Salvatore U Iturbide
Faith B Caudy
Maria B Stockham
Jeanfrancois L Morasca
Leon C Figeroa
Smith G Malet
Isabel Q Rim
Claire K Malet
Greenwood S Whobrey
Maisha N Rulapaugh
Aditya H Flosi
Rodrigues K Poquette
Ashley D Malet
Arvin J Kusko
Nicolas L Foller
Emily Y Rulapaugh
Stacey T Vocelka
Morrow T Stenseth
Ivar T Ruta
Mayumi P Nestle
Darci V Venere
Johnson T Rulapaugh
Maisha A Kusko
Nicolas T Wieser
Jones W Oldroyd
Clifford T Nestle
Jones U Chui
David W Kusko
IdCountryDate
1000Japan2024-05-11
1001Brazil2024-05-11
1002India2024-05-04
1003Japan2024-05-01
1004Japan2024-04-27
1005Japan2024-04-26
1006Germany2024-05-04
1007Australia2024-05-16
1008Brazil2024-05-15
1009Spain2024-05-18
1010Brazil2024-05-03
1011Argentina2024-05-24
1012Spain2024-05-14
1013Canada2024-05-08
1014Germany2024-04-26
1015Spain2024-05-15
1016Russia2024-05-14
1017United Kingdom2024-05-06
1018Argentina2024-05-21
1019Italy2024-05-12
1020Germany2024-05-18
1021Spain2024-05-24
1022Brazil2024-05-02
1023India2024-05-02
1024Germany2024-05-21
1025Germany2024-05-18
1026Italy2024-05-01
1027France2024-05-18
1028Japan2024-05-19
1029Russia2024-05-05
1030Brazil2024-04-29
1031Brazil2024-05-09
1032Italy2024-05-22
1033United Kingdom2024-05-17
1034Spain2024-05-12
1035Russia2024-05-12
1036Italy2024-05-08
1037Italy2024-05-19
1038Spain2024-05-19
1039France2024-05-02
1040Brazil2024-04-27
1041Japan2024-05-08
1042Canada2024-05-16
1043Australia2024-05-04
1044Australia2024-05-21
1045Brazil2024-05-23
1046Russia2024-05-25
1047United Kingdom2024-05-15
1048India2024-05-05
1049India2024-05-03

On-Demand Data

NameIdCountryDate
Costa O Kolmetz1000Australia2024-04-27
Leon A Rim1001Russia2024-05-24
Aika V Doe1002India2024-05-09
Nicolas E Nestle1003Canada2024-05-07
Deepesh C Ferencz1004India2024-04-27
Johnson G Briddick1005India2024-05-20
Chavez B Bolognia1006Brazil2024-05-07
Nicolas N Sergi1007Argentina2024-05-10
Francesco D Ferencz1008Canada2024-05-02
Ivar B Albares1009Brazil2024-05-07
Murillo W Caudy1010Argentina2024-04-27
Ricardo Z Schemmer1011Germany2024-05-22
Maria U Kusko1012Brazil2024-05-05
Mujtaba I Glick1013Italy2024-05-03
Munro R Foller1014Italy2024-05-20
Jeanfrancois F Nicka1015United Kingdom2024-05-22
Silvio T Foller1016Italy2024-05-21
Arvin D Amigon1017France2024-05-25
Claire D Rim1018France2024-05-19
Aruna F Albares1019Argentina2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar V MarrierRussiaAnna Fali QUALIFIED
Salvatore O StensethBrazilStephen Shaw PROPOSAL
Cody C RulapaughAustraliaAnna Fali QUALIFIED
Clifford U WieserGermanyOnyama Limba UNQUALIFIED
Cody X SlusarskiCanadaAnna Fali PROPOSAL
Chavez N GarufiAustraliaIoni Bowcher NEGOTIATION
Murillo W InouyeIndiaXuxue Feng PROPOSAL
Claire V KuskoGermanyIoni Bowcher NEGOTIATION
David V FerenczGermanyAnna Fali UNQUALIFIED
Munro H MacleadFranceElwin Sharvill QUALIFIED
Faith T FlosiCanadaAmy Elsner UNQUALIFIED
Jones X DoeAustraliaStephen Shaw PROPOSAL
Claire H FlosiBrazilAnna Fali QUALIFIED
Smith Z FigeroaRussiaOnyama Limba RENEWAL
Silvio M CampainIndiaIvan Magalhaes NEW
Jones B PoquetteUnited KingdomIoni Bowcher NEW
Isabel X InouyeCanadaStephen Shaw RENEWAL
Chavez T FerenczBrazilElwin Sharvill NEW
Mayumi I VenereSpainElwin Sharvill QUALIFIED
Leja J KuskoItalyAmy Elsner RENEWAL
Salvatore N GarufiBrazilAsiya Javayant QUALIFIED
Sinclair X ButtCanadaAmy Elsner UNQUALIFIED
James U GillianUnited KingdomAnna Fali QUALIFIED
Salvatore V FigeroaCanadaXuxue Feng PROPOSAL
Salvatore I WaycottItalyElwin Sharvill QUALIFIED
Maria D WieserSpainElwin Sharvill NEGOTIATION
Aruna N AmigonUnited KingdomOnyama Limba NEGOTIATION
Leon I GillianBrazilElwin Sharvill RENEWAL
Aruna V StockhamBrazilXuxue Feng NEGOTIATION
Tony C InouyeCanadaIvan Magalhaes NEW
Cody Y RulapaughAustraliaAmy Elsner RENEWAL
Ashley F WieserUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin L NickaGermanyIvan Magalhaes PROPOSAL
Ashley B IturbideUnited KingdomBernardo Dominic PROPOSAL
Stacey E GarufiArgentinaBernardo Dominic UNQUALIFIED
Costa I InouyeRussiaIoni Bowcher QUALIFIED
Mayumi R NestleGermanyAmy Elsner PROPOSAL
Deepesh A IturbideIndiaAsiya Javayant NEW
Kadeem E PoquetteCanadaAnna Fali PROPOSAL
Arvin Y SergiBrazilAsiya Javayant 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>