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
Aika D DoeJapanIvan Magalhaes NEW
Alejandro S RimArgentinaAsiya Javayant PROPOSAL
Nicolas B DarakjyArgentinaStephen Shaw RENEWAL
Clifford H DoeArgentinaElwin Sharvill UNQUALIFIED
Tony T KuskoUnited KingdomIvan Magalhaes RENEWAL
Rodrigues V AmigonItalyAsiya Javayant PROPOSAL
Isabel G CampainArgentinaXuxue Feng NEW
Alejandro A SlusarskiIndiaXuxue Feng PROPOSAL
Aditya C WaycottBrazilIoni Bowcher UNQUALIFIED
Morrow C MarrierItalyAmy Elsner NEGOTIATION
Jeanfrancois A StensethUnited KingdomElwin Sharvill NEW
Kadeem M IturbideCanadaIoni Bowcher UNQUALIFIED
Munro H WaycottCanadaAmy Elsner RENEWAL
Chavez T BowleyUnited KingdomIoni Bowcher RENEWAL
Mayumi V FollerSpainIoni Bowcher PROPOSAL
Ivar E DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki A SlusarskiArgentinaAmy Elsner NEW
Claire Q GillianSpainIoni Bowcher RENEWAL
Ricardo J FigeroaItalyElwin Sharvill NEGOTIATION
Misaki A ShinkoBrazilAsiya Javayant NEW
Julie R AmigonBrazilIoni Bowcher NEGOTIATION
Claire E BriddickBrazilAmy Elsner PROPOSAL
Misaki A PaprockiUnited KingdomStephen Shaw QUALIFIED
Misaki D ButtAustraliaXuxue Feng NEW
Costa U DoeCanadaAmy Elsner QUALIFIED
Murillo I VenereIndiaAnna Fali RENEWAL
Emily J CaldareraBrazilAnna Fali RENEWAL
Sinclair J WaycottIndiaXuxue Feng UNQUALIFIED
Ashley H TollnerItalyBernardo Dominic RENEWAL
Munro B FerenczCanadaIoni Bowcher NEW
Juan M SaylorsUnited KingdomOnyama Limba NEW
Julie P GauchoIndiaAnna Fali NEW
Ashley Y SaylorsFranceAsiya Javayant NEW
Francesco X WhobreyIndiaAsiya Javayant QUALIFIED
Munro I StensethSpainXuxue Feng NEGOTIATION
Greenwood L VocelkaArgentinaStephen Shaw UNQUALIFIED
Jones S SaylorsBrazilOnyama Limba PROPOSAL
Aika N MarrierIndiaBernardo Dominic PROPOSAL
Aruna T WhobreyArgentinaIvan Magalhaes NEGOTIATION
Morrow A StockhamFranceStephen Shaw NEW
Izzy F RutaGermanyOnyama Limba QUALIFIED
Misaki L ChuiFranceElwin Sharvill QUALIFIED
Adams K FerenczArgentinaAmy Elsner QUALIFIED
Tony H FlosiRussiaIvan Magalhaes UNQUALIFIED
Emily W CampainRussiaAsiya Javayant RENEWAL
Misaki W TollnerFranceElwin Sharvill NEGOTIATION
Ashley D RulapaughGermanyIvan Magalhaes UNQUALIFIED
Arvin J RimIndiaIvan Magalhaes UNQUALIFIED
Salvatore V IturbideItalyElwin Sharvill PROPOSAL
Juan X BowleyRussiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire E FlosiGermanyAmy Elsner NEW
Ashley F CaldareraBrazilAnna Fali NEGOTIATION
Smith R MorascaIndiaOnyama Limba NEW
David Y RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Maria P PaprockiSpainIvan Magalhaes UNQUALIFIED
Greenwood D RoysterGermanyAmy Elsner QUALIFIED
David V CaudyFranceIvan Magalhaes NEGOTIATION
Kadeem A GarufiSpainElwin Sharvill NEGOTIATION
Costa S FigeroaIndiaIvan Magalhaes QUALIFIED
Johnson A SchemmerArgentinaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley W SaylorsSpain2024-06-12Printing Dimensions RENEWAL8Elwin Sharvill
1001Octavia P DarakjySpain2024-06-16Feltz Printing Service QUALIFIED62Anna Fali
1002Leja K OldroydArgentina2024-06-10Truhlar And Truhlar Attys QUALIFIED76Stephen Shaw
1003Jones R IturbideJapan2024-06-05Dorl, James J Esq RENEWAL79Anna Fali
1004Aika Z SlusarskiJapan2024-06-01King, Christopher A Esq QUALIFIED52Anna Fali
1005Kaitlin T CaudyArgentina2024-06-19Chemel, James L Cpa RENEWAL85Stephen Shaw
1006Leja A MaletUnited Kingdom2024-05-27Rousseaux, Michael Esq UNQUALIFIED15Elwin Sharvill
1007Izzy R MorascaAustralia2024-06-24Morlong Associates NEW50Stephen Shaw
1008Cody X AlbaresCanada2024-06-07Printing Dimensions UNQUALIFIED6Ioni Bowcher
1009Jennifer M GauchoFrance2024-06-16Rangoni Of Florence PROPOSAL38Ivan Magalhaes
1010Deepesh C RulapaughItaly2024-06-23Buckley Miller Wright NEGOTIATION10Stephen Shaw
1011Johnson T SchemmerIndia2024-06-17Chapman, Ross E Esq NEGOTIATION45Amy Elsner
1012Leja T PerinFrance2024-06-01Feltz Printing Service PROPOSAL89Stephen Shaw
1013Johnson X GarufiJapan2024-06-21Chapman, Ross E Esq NEGOTIATION11Anna Fali
1014Tony Q SchemmerJapan2024-06-18Printing Dimensions QUALIFIED79Anna Fali
1015Clifford M KolmetzRussia2024-06-02Chanay, Jeffrey A Esq RENEWAL76Elwin Sharvill
1016Ashley L ButtUnited Kingdom2024-06-02Dorl, James J Esq NEW67Bernardo Dominic
1017Antonio U IturbideCanada2024-06-18Truhlar And Truhlar Attys NEW14Bernardo Dominic
1018Salvatore Y CaudyIndia2024-06-01Chapman, Ross E Esq NEW55Ivan Magalhaes
1019Leon N DarakjyFrance2024-06-24King, Christopher A Esq QUALIFIED89Xuxue Feng
1020Jefferson G GillianArgentina2024-06-21Feiner Bros RENEWAL89Elwin Sharvill
1021Julie V MarrierJapan2024-06-01Truhlar And Truhlar Attys QUALIFIED83Xuxue Feng
1022Cody U VenereBrazil2024-06-16Feltz Printing Service QUALIFIED89Onyama Limba
1023Johnson G MacleadRussia2024-06-23Morlong Associates NEGOTIATION37Anna Fali
1024Maisha T GillianFrance2024-06-10Dorl, James J Esq NEW80Elwin Sharvill
1025Rodrigues W MacleadCanada2024-06-11Morlong Associates PROPOSAL32Elwin Sharvill
1026Maisha N WaycottCanada2024-06-01Chemel, James L Cpa QUALIFIED2Onyama Limba
1027Alejandro A BriddickItaly2024-06-08Rousseaux, Michael Esq UNQUALIFIED62Ivan Magalhaes
1028Munro L MacleadGermany2024-06-10Morlong Associates QUALIFIED76Anna Fali
1029Jeanfrancois J RulapaughCanada2024-06-18Morlong Associates PROPOSAL85Ioni Bowcher
1030Mujtaba K SergiItaly2024-05-29Truhlar And Truhlar Attys UNQUALIFIED42Ioni Bowcher
1031Jones D WieserBrazil2024-06-13Feltz Printing Service NEGOTIATION99Ioni Bowcher
1032Cody S RutaAustralia2024-06-21Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1033Aditya D AlbaresGermany2024-06-05Commercial Press RENEWAL25Ioni Bowcher
1034Johnson Y MaletUnited Kingdom2024-06-04Chapman, Ross E Esq NEW76Ioni Bowcher
1035Nicolas E TollnerRussia2024-06-03Chemel, James L Cpa RENEWAL87Asiya Javayant
1036Munro J SchemmerItaly2024-06-19Printing Dimensions NEGOTIATION55Bernardo Dominic
1037Claire C NickaCanada2024-06-08Morlong Associates RENEWAL51Anna Fali
1038Wickens V VenereJapan2024-05-30Rangoni Of Florence UNQUALIFIED88Ioni Bowcher
1039Jones Z BologniaFrance2024-06-01Feltz Printing Service QUALIFIED69Stephen Shaw
1040Smith I NickaCanada2024-06-07Feltz Printing Service RENEWAL79Asiya Javayant
1041Jefferson T KuskoIndia2024-05-29Morlong Associates PROPOSAL88Asiya Javayant
1042Murillo R BowleyRussia2024-06-22Buckley Miller Wright NEW65Amy Elsner
1043David L KolmetzItaly2024-05-27Benton, John B Jr PROPOSAL55Stephen Shaw
1044Francesco J DarakjyItaly2024-05-27Rousseaux, Michael Esq QUALIFIED85Ivan Magalhaes
1045Maria L MaletSpain2024-06-03Dorl, James J Esq PROPOSAL12Anna Fali
1046Smith A KolmetzRussia2024-06-21Chapman, Ross E Esq UNQUALIFIED73Asiya Javayant
1047Julie M KuskoFrance2024-06-04Rangoni Of Florence NEGOTIATION92Stephen Shaw
1048Emily W OstroskyUnited Kingdom2024-05-30Rangoni Of Florence NEGOTIATION4Asiya Javayant
1049Maria B WhobreyArgentina2024-06-03Morlong Associates NEW36Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Darci R DarakjyIndiaIvan Magalhaes NEGOTIATION
Johnson F GillianAustraliaStephen Shaw NEW
Leon D PoquetteBrazilBernardo Dominic RENEWAL
Nicolas O DarakjyAustraliaIoni Bowcher NEGOTIATION
Maisha C WaycottBrazilAsiya Javayant UNQUALIFIED
Aruna C RutaUnited KingdomAsiya Javayant NEGOTIATION
Morrow Z OstroskyFranceAnna Fali NEGOTIATION
Johnson T GarufiJapanOnyama Limba RENEWAL
Morrow X BriddickCanadaIvan Magalhaes PROPOSAL
Munro L PaprockiUnited KingdomOnyama Limba NEW
Maria I MarrierCanadaStephen Shaw UNQUALIFIED
Leja O DoeCanadaBernardo Dominic NEGOTIATION
Jefferson E CaudyUnited KingdomAnna Fali UNQUALIFIED
Wickens F StockhamBrazilIvan Magalhaes RENEWAL
Darci C NestleItalyAnna Fali QUALIFIED
Murillo W AmigonUnited KingdomStephen Shaw NEW
Wickens I OldroydJapanAsiya Javayant NEGOTIATION
Kadeem X KolmetzAustraliaAnna Fali UNQUALIFIED
Julie N OstroskyRussiaElwin Sharvill NEW
Jefferson Z NestleItalyAmy Elsner NEW
Juan D OstroskyBrazilAmy Elsner NEGOTIATION
Ashley Z BriddickArgentinaAmy Elsner PROPOSAL
Jeanfrancois Z RulapaughArgentinaIoni Bowcher NEGOTIATION
Kadeem X CaldareraIndiaStephen Shaw NEW
Costa A VocelkaRussiaOnyama Limba RENEWAL
Jeanfrancois V OldroydAustraliaAsiya Javayant RENEWAL
Maria F KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Leja O SlusarskiCanadaIvan Magalhaes NEGOTIATION
Tony P AmigonItalyIoni Bowcher NEGOTIATION
Nicolas K FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Izzy G FlosiBrazilIoni Bowcher RENEWAL
Ashley M WaycottAustraliaAnna Fali RENEWAL
Wickens V KuskoRussiaXuxue Feng UNQUALIFIED
Darci C GarufiBrazilAmy Elsner QUALIFIED
Rodrigues V CaudyBrazilElwin Sharvill RENEWAL
Kadeem L VenereGermanyElwin Sharvill RENEWAL
Greenwood F DoeBrazilIoni Bowcher PROPOSAL
Jennifer E PaprockiUnited KingdomAsiya Javayant PROPOSAL
Smith X FerenczRussiaStephen Shaw NEW
Jeanfrancois D MaletFranceAmy Elsner RENEWAL
Rodrigues L SergiBrazilStephen Shaw NEW
Clifford K VenereGermanyXuxue Feng RENEWAL
Juan M BriddickItalyAmy Elsner RENEWAL
Jeanfrancois I OstroskyRussiaStephen Shaw NEW
Octavia L GarufiAustraliaAnna Fali RENEWAL
Costa X FigeroaIndiaStephen Shaw QUALIFIED
Deepesh B DarakjyFranceIvan Magalhaes NEW
Greenwood M StockhamCanadaXuxue Feng PROPOSAL
Misaki A VocelkaAustraliaElwin Sharvill UNQUALIFIED
Octavia G RutaJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Darci P Iturbide
Tony S Inouye
Smith I Albares
Mujtaba X Malet
Juan G Caudy
Emily N Paprocki
Munro M Ruta
Tony J Albares
Octavia H Dilliard
Alejandro J Oldroyd
Munro U Schemmer
Nicolas I Caudy
Nicolas Z Whobrey
Leja E Bowley
Greenwood T Stockham
Maria E Stenseth
David Q Iturbide
Costa X Caudy
Francesco X Darakjy
Aruna Y Sergi
Antonio A Kusko
Francesco W Stockham
Deepesh Z Ruta
Arvin B Royster
James V Perin
Octavia Z Stenseth
Aika D Darakjy
Jones O Schemmer
Nicolas W Royster
Leja O Inouye
Maria X Poquette
Aditya W Iturbide
Julie E Malet
Johnson H Stockham
Juan B Kolmetz
Jefferson Y Rulapaugh
Tony G Foller
Darci C Albares
David S Chui
Octavia B Nicka
Costa R Dilliard
Clifford H Chui
Octavia W Nicka
Cody F Darakjy
Julie C Maclead
Greenwood C Ostrosky
Misaki U Kolmetz
Smith P Royster
David Q Schemmer
Deepesh M Kusko
IdCountryDate
1000Japan2024-06-03
1001Australia2024-06-20
1002Argentina2024-05-28
1003Argentina2024-06-07
1004Argentina2024-06-07
1005India2024-06-22
1006Argentina2024-06-05
1007Canada2024-06-08
1008Italy2024-06-13
1009Italy2024-06-13
1010Russia2024-06-15
1011France2024-06-18
1012Brazil2024-06-05
1013Germany2024-06-09
1014Germany2024-06-06
1015United Kingdom2024-05-30
1016Italy2024-06-16
1017Brazil2024-06-10
1018Australia2024-06-21
1019Brazil2024-06-23
1020Russia2024-06-08
1021India2024-05-26
1022India2024-06-21
1023Russia2024-05-29
1024Germany2024-06-22
1025Canada2024-06-11
1026Japan2024-06-15
1027Argentina2024-06-14
1028Argentina2024-06-01
1029India2024-06-03
1030Spain2024-06-12
1031India2024-06-18
1032Germany2024-06-03
1033Spain2024-06-06
1034Japan2024-06-12
1035France2024-05-27
1036Germany2024-06-24
1037India2024-06-11
1038Japan2024-06-13
1039Italy2024-05-30
1040Russia2024-06-06
1041Spain2024-06-15
1042Japan2024-06-02
1043United Kingdom2024-06-05
1044Japan2024-06-15
1045Australia2024-06-19
1046Australia2024-06-11
1047Japan2024-06-18
1048Japan2024-06-22
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Mujtaba X Caudy1000Spain2024-06-18
Emily S Morasca1001India2024-05-26
Deepesh B Butt1002Australia2024-06-20
Tony W Saylors1003Canada2024-06-11
Jones B Malet1004Spain2024-06-11
Salvatore N Stockham1005France2024-05-26
Ivar G Darakjy1006Brazil2024-06-06
Julie J Malet1007Germany2024-05-29
Kaitlin Z Slusarski1008India2024-05-28
Arvin P Ferencz1009Canada2024-06-22
Isabel G Waycott1010United Kingdom2024-06-05
Alejandro I Nestle1011Argentina2024-06-01
Stacey R Doe1012Argentina2024-06-14
Murillo P Ferencz1013France2024-05-28
Rodrigues Q Briddick1014Australia2024-05-31
Adams V Malet1015Italy2024-05-29
Rodrigues T Iturbide1016India2024-06-19
Murillo Z Rulapaugh1017Germany2024-06-13
Ivar U Flosi1018Australia2024-06-02
Johnson V Rim1019France2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Y GillianFranceAnna Fali NEW
Antonio R NickaAustraliaOnyama Limba UNQUALIFIED
Adams W MacleadRussiaXuxue Feng RENEWAL
Isabel Y WaycottSpainAsiya Javayant UNQUALIFIED
Leon V BologniaIndiaOnyama Limba PROPOSAL
Nicolas H GarufiSpainIvan Magalhaes NEW
Cody D PaprockiAustraliaOnyama Limba PROPOSAL
Adams X PerinArgentinaBernardo Dominic QUALIFIED
Jeanfrancois A SergiArgentinaStephen Shaw QUALIFIED
Arvin N MaletIndiaXuxue Feng UNQUALIFIED
Costa W StensethBrazilAsiya Javayant NEW
Alejandro Z StensethArgentinaOnyama Limba UNQUALIFIED
Jefferson X GarufiBrazilIvan Magalhaes QUALIFIED
Julie N PerinJapanXuxue Feng UNQUALIFIED
Kaitlin G SchemmerCanadaIvan Magalhaes UNQUALIFIED
Kadeem B TollnerIndiaAnna Fali PROPOSAL
Maria H MaletFranceIoni Bowcher UNQUALIFIED
Silvio M AlbaresItalyIoni Bowcher QUALIFIED
James V OldroydGermanyAmy Elsner NEGOTIATION
Munro V WhobreyItalyIoni Bowcher RENEWAL
Murillo Q AmigonBrazilStephen Shaw UNQUALIFIED
Emily I FigeroaGermanyAnna Fali NEW
Greenwood H BowleyBrazilIoni Bowcher NEGOTIATION
Silvio N PoquetteBrazilIoni Bowcher PROPOSAL
Cody F NestleArgentinaBernardo Dominic PROPOSAL
Rodrigues M ChuiArgentinaIvan Magalhaes NEW
Aruna A BriddickSpainXuxue Feng QUALIFIED
Johnson B GillianFranceXuxue Feng QUALIFIED
Julie J ChuiUnited KingdomIoni Bowcher NEGOTIATION
Silvio P WaycottItalyBernardo Dominic QUALIFIED
Misaki B RoysterRussiaXuxue Feng QUALIFIED
Aruna C ChuiItalyAnna Fali RENEWAL
Adams J StockhamSpainIvan Magalhaes RENEWAL
Izzy U FollerSpainElwin Sharvill RENEWAL
Chavez K SaylorsCanadaAsiya Javayant UNQUALIFIED
Darci G MaletArgentinaStephen Shaw NEW
Claire H OstroskyGermanyXuxue Feng RENEWAL
Julie X PoquetteFranceElwin Sharvill QUALIFIED
Jennifer V CaldareraRussiaIvan Magalhaes NEW
Francesco F PoquetteFranceIoni Bowcher 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>