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
Francesco Q MacleadAustraliaOnyama Limba QUALIFIED
Aditya L WieserUnited KingdomStephen Shaw NEW
Maisha T RoysterRussiaIoni Bowcher RENEWAL
Ricardo X FigeroaFranceOnyama Limba PROPOSAL
Jennifer Q BriddickCanadaIvan Magalhaes RENEWAL
Isabel Y CaldareraAustraliaStephen Shaw NEGOTIATION
Jennifer Y RoysterFranceOnyama Limba UNQUALIFIED
Murillo P StensethFranceStephen Shaw PROPOSAL
Wickens I SaylorsJapanIoni Bowcher NEW
Leja F SlusarskiBrazilIoni Bowcher NEW
Francesco Z AmigonItalyElwin Sharvill UNQUALIFIED
James V RulapaughGermanyBernardo Dominic UNQUALIFIED
Maisha P DoeAustraliaIoni Bowcher NEW
Claire W SergiSpainStephen Shaw NEGOTIATION
Nicolas W MaletSpainBernardo Dominic PROPOSAL
Stacey S SchemmerCanadaXuxue Feng QUALIFIED
Nicolas U CaudyBrazilStephen Shaw PROPOSAL
Jennifer I TollnerBrazilAsiya Javayant QUALIFIED
Octavia E GauchoRussiaBernardo Dominic UNQUALIFIED
Cody P PaprockiJapanXuxue Feng RENEWAL
Morrow T CaudySpainAmy Elsner PROPOSAL
Sinclair L NickaSpainAsiya Javayant UNQUALIFIED
Jones Q DoeSpainElwin Sharvill NEW
Silvio I OldroydUnited KingdomIvan Magalhaes PROPOSAL
Stacey Y SaylorsItalyXuxue Feng NEGOTIATION
Greenwood L StockhamJapanOnyama Limba NEW
Julie A GauchoRussiaStephen Shaw QUALIFIED
Francesco I AmigonJapanElwin Sharvill RENEWAL
Greenwood M DarakjyBrazilElwin Sharvill QUALIFIED
Johnson X BologniaFranceOnyama Limba RENEWAL
Julie A GillianIndiaElwin Sharvill RENEWAL
Aika Q NickaSpainIvan Magalhaes RENEWAL
Leja V OstroskyGermanyStephen Shaw PROPOSAL
Claire I GillianItalyStephen Shaw NEGOTIATION
Arvin E AlbaresSpainXuxue Feng UNQUALIFIED
Alejandro Q SaylorsIndiaStephen Shaw NEGOTIATION
Leja G PerinArgentinaElwin Sharvill PROPOSAL
Wickens P GlickUnited KingdomIvan Magalhaes PROPOSAL
Adams P FigeroaItalyOnyama Limba QUALIFIED
Ashley C MarrierItalyElwin Sharvill UNQUALIFIED
Sinclair E NestleBrazilXuxue Feng NEW
Leon Z NestleArgentinaIoni Bowcher NEW
Salvatore P MaletArgentinaAnna Fali NEW
Aditya Z NestleFranceAnna Fali RENEWAL
Wickens O StensethFranceXuxue Feng QUALIFIED
Isabel A WieserGermanyAsiya Javayant RENEWAL
Mayumi F RutaJapanOnyama Limba UNQUALIFIED
Ricardo Y NickaAustraliaOnyama Limba NEW
Silvio X CaldareraItalyAmy Elsner PROPOSAL
Chavez T RoysterBrazilAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues V KolmetzGermanyOnyama Limba NEGOTIATION
Ivar Y CampainAustraliaOnyama Limba RENEWAL
Leja O RulapaughRussiaIoni Bowcher NEGOTIATION
Mujtaba X WaycottItalyElwin Sharvill UNQUALIFIED
James P SchemmerRussiaStephen Shaw RENEWAL
Cody G ShinkoRussiaAmy Elsner RENEWAL
Kadeem L KuskoGermanyElwin Sharvill QUALIFIED
Rodrigues N StockhamRussiaXuxue Feng NEGOTIATION
Emily E SaylorsIndiaIvan Magalhaes QUALIFIED
Clifford J DarakjyArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha W ShinkoCanada2024-05-18Chemel, James L Cpa PROPOSAL29Asiya Javayant
1001Adams E KolmetzItaly2024-05-15Rousseaux, Michael Esq UNQUALIFIED13Anna Fali
1002Leon Q DilliardUnited Kingdom2024-04-30King, Christopher A Esq QUALIFIED66Onyama Limba
1003Jefferson T WaycottBrazil2024-05-22Commercial Press NEW92Ivan Magalhaes
1004Deepesh X NestleItaly2024-05-04Feiner Bros UNQUALIFIED22Elwin Sharvill
1005Nicolas U PoquetteSpain2024-05-08Printing Dimensions QUALIFIED44Onyama Limba
1006Alejandro C CaudyUnited Kingdom2024-05-26Commercial Press NEW3Bernardo Dominic
1007Stacey U GlickFrance2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED10Ivan Magalhaes
1008Chavez W GillianUnited Kingdom2024-05-08Rousseaux, Michael Esq UNQUALIFIED70Stephen Shaw
1009Jeanfrancois D MarrierUnited Kingdom2024-05-12Morlong Associates QUALIFIED6Amy Elsner
1010Maria Y NestleBrazil2024-05-02Chapman, Ross E Esq RENEWAL73Anna Fali
1011Jennifer D TollnerGermany2024-05-01Buckley Miller Wright RENEWAL35Ioni Bowcher
1012Maria B BowleyAustralia2024-05-09Truhlar And Truhlar Attys NEGOTIATION5Anna Fali
1013Wickens V AmigonCanada2024-05-21Chapman, Ross E Esq QUALIFIED29Ioni Bowcher
1014Misaki E CampainBrazil2024-05-05Dorl, James J Esq NEGOTIATION11Asiya Javayant
1015Morrow M OstroskyGermany2024-05-08Rangoni Of Florence PROPOSAL14Bernardo Dominic
1016Izzy M GarufiGermany2024-05-05Chanay, Jeffrey A Esq QUALIFIED56Ivan Magalhaes
1017Chavez B RulapaughCanada2024-05-21Printing Dimensions RENEWAL76Bernardo Dominic
1018Alejandro E StensethFrance2024-05-03Truhlar And Truhlar Attys NEW66Elwin Sharvill
1019Leja L DilliardSpain2024-05-06Feltz Printing Service UNQUALIFIED2Bernardo Dominic
1020Claire T MaletAustralia2024-05-13Truhlar And Truhlar Attys UNQUALIFIED17Stephen Shaw
1021Wickens H StensethCanada2024-05-02Chapman, Ross E Esq NEGOTIATION26Elwin Sharvill
1022Aika F NickaCanada2024-05-18Rangoni Of Florence NEGOTIATION94Elwin Sharvill
1023Aruna N MaletItaly2024-05-03Rousseaux, Michael Esq NEGOTIATION88Anna Fali
1024Maria A AlbaresJapan2024-04-29Rousseaux, Michael Esq RENEWAL36Stephen Shaw
1025Munro P WaycottJapan2024-05-01Commercial Press RENEWAL13Xuxue Feng
1026Faith Q FigeroaFrance2024-04-28Feltz Printing Service RENEWAL80Bernardo Dominic
1027Aika G DarakjyBrazil2024-05-01Rangoni Of Florence QUALIFIED78Ivan Magalhaes
1028Aruna N CaldareraGermany2024-05-07Benton, John B Jr PROPOSAL32Ivan Magalhaes
1029James M ChuiIndia2024-05-20Rangoni Of Florence UNQUALIFIED92Xuxue Feng
1030Deepesh V SlusarskiRussia2024-05-06Feiner Bros QUALIFIED51Ioni Bowcher
1031Maria O SchemmerCanada2024-05-07Commercial Press QUALIFIED20Anna Fali
1032Stacey W MaletUnited Kingdom2024-05-20Chapman, Ross E Esq NEW81Elwin Sharvill
1033Tony E ShinkoIndia2024-05-23Commercial Press PROPOSAL77Xuxue Feng
1034Octavia L ShinkoItaly2024-05-03Printing Dimensions NEW94Stephen Shaw
1035Chavez Z BologniaUnited Kingdom2024-05-06Buckley Miller Wright NEGOTIATION6Amy Elsner
1036Juan O FollerItaly2024-04-27Printing Dimensions NEGOTIATION10Xuxue Feng
1037Smith N PoquetteSpain2024-05-18Chemel, James L Cpa QUALIFIED28Ivan Magalhaes
1038Adams T VocelkaFrance2024-05-21Dorl, James J Esq RENEWAL40Ivan Magalhaes
1039Jones E VocelkaCanada2024-05-17Truhlar And Truhlar Attys UNQUALIFIED91Ioni Bowcher
1040Murillo Q FollerBrazil2024-05-02Rangoni Of Florence QUALIFIED78Anna Fali
1041Stacey K RimArgentina2024-05-18Benton, John B Jr NEW26Ivan Magalhaes
1042Wickens F NestleCanada2024-05-10Dorl, James J Esq UNQUALIFIED64Amy Elsner
1043Darci P BowleySpain2024-05-26Rousseaux, Michael Esq UNQUALIFIED55Ioni Bowcher
1044Jennifer S MacleadAustralia2024-05-06Chapman, Ross E Esq NEGOTIATION61Ivan Magalhaes
1045Costa F SergiBrazil2024-05-04Feltz Printing Service PROPOSAL28Stephen Shaw
1046Leja K RutaGermany2024-05-25Chanay, Jeffrey A Esq NEW18Xuxue Feng
1047Mujtaba B SchemmerArgentina2024-05-03Truhlar And Truhlar Attys NEGOTIATION2Ivan Magalhaes
1048Munro V AmigonCanada2024-05-18Morlong Associates PROPOSAL45Ioni Bowcher
1049James B RimFrance2024-05-11Morlong Associates RENEWAL66Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens U CampainUnited KingdomStephen Shaw NEW
Chavez E ButtArgentinaXuxue Feng NEGOTIATION
Ivar D BowleyCanadaAmy Elsner NEGOTIATION
Isabel G VocelkaSpainBernardo Dominic RENEWAL
Munro D NickaGermanyBernardo Dominic RENEWAL
Jeanfrancois A RutaAustraliaIoni Bowcher NEGOTIATION
Silvio Q FollerJapanStephen Shaw NEGOTIATION
Francesco S VenereFranceIvan Magalhaes NEW
Octavia H OstroskySpainBernardo Dominic QUALIFIED
Adams C DoeFranceOnyama Limba UNQUALIFIED
Leon C TollnerGermanyAmy Elsner NEGOTIATION
Isabel N RoysterCanadaIvan Magalhaes QUALIFIED
Salvatore U CaudyJapanIoni Bowcher PROPOSAL
Ricardo J DarakjyJapanIvan Magalhaes QUALIFIED
James O DilliardRussiaOnyama Limba QUALIFIED
Isabel K InouyeItalyIvan Magalhaes QUALIFIED
Ivar N RutaBrazilOnyama Limba NEGOTIATION
Jeanfrancois H CampainGermanyStephen Shaw NEW
Johnson W MaletFranceXuxue Feng NEGOTIATION
Leja E BologniaUnited KingdomXuxue Feng NEW
Maria M GarufiSpainAmy Elsner RENEWAL
Wickens I AmigonUnited KingdomOnyama Limba RENEWAL
Alejandro B FigeroaArgentinaIvan Magalhaes PROPOSAL
Kaitlin N ButtRussiaAnna Fali NEW
Kadeem Q GillianArgentinaIvan Magalhaes NEGOTIATION
Kaitlin C FerenczGermanyElwin Sharvill QUALIFIED
Mujtaba S RutaBrazilAsiya Javayant RENEWAL
Leja A AlbaresFranceOnyama Limba UNQUALIFIED
Chavez V WhobreyIndiaAsiya Javayant NEGOTIATION
Murillo C FerenczItalyXuxue Feng NEW
Alejandro L ChuiBrazilAmy Elsner NEGOTIATION
Ivar X PoquetteSpainXuxue Feng UNQUALIFIED
Clifford F MarrierBrazilIoni Bowcher RENEWAL
Faith V FerenczJapanStephen Shaw NEGOTIATION
Antonio T IturbideIndiaBernardo Dominic NEW
Jeanfrancois W ChuiUnited KingdomXuxue Feng QUALIFIED
Salvatore S CaudyUnited KingdomAnna Fali PROPOSAL
Mayumi T CaldareraIndiaIoni Bowcher PROPOSAL
Clifford T ShinkoBrazilIoni Bowcher PROPOSAL
Kaitlin K DoeSpainBernardo Dominic QUALIFIED
Deepesh B IturbideAustraliaOnyama Limba QUALIFIED
Claire P RulapaughAustraliaIoni Bowcher NEW
Mujtaba A ChuiJapanAnna Fali NEW
Chavez D FlosiCanadaBernardo Dominic NEGOTIATION
Ricardo B RimGermanyAnna Fali NEGOTIATION
Jones T FerenczBrazilAmy Elsner PROPOSAL
Munro T SchemmerItalyXuxue Feng RENEWAL
Aika R KolmetzSpainOnyama Limba NEW
Jeanfrancois H RutaJapanIoni Bowcher QUALIFIED
Arvin G MarrierRussiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Smith M Ferencz
Stacey Q Saylors
Jones O Foller
Jones O Waycott
Arvin G Butt
Claire Q Perin
Rodrigues T Sergi
Jeanfrancois J Foller
David S Whobrey
Rodrigues N Garufi
Aika C Perin
Isabel N Kolmetz
Kadeem N Butt
Claire W Bolognia
Wickens N Gaucho
Aika H Garufi
Wickens N Slusarski
Maria W Albares
Juan W Rulapaugh
Mayumi M Slusarski
Arvin O Maclead
Claire E Slusarski
Clifford K Inouye
Johnson I Stenseth
Ashley W Nicka
Maria A Venere
Wickens O Ruta
Leja T Whobrey
Johnson V Nestle
Maisha H Foller
Isabel O Gillian
Morrow K Oldroyd
Maria Y Bowley
Ashley R Malet
Ivar A Bowley
Octavia O Figeroa
Misaki X Kolmetz
Salvatore P Caldarera
Kadeem B Malet
Leja H Rim
Jones M Flosi
Claire Q Shinko
Misaki I Schemmer
Claire H Caudy
James C Stenseth
Stacey O Briddick
Mujtaba L Malet
Claire Q Glick
Isabel Y Paprocki
Isabel X Butt
IdCountryDate
1000Germany2024-05-21
1001Japan2024-05-06
1002Brazil2024-04-30
1003Australia2024-05-24
1004India2024-05-04
1005India2024-05-21
1006Argentina2024-05-25
1007India2024-05-21
1008Japan2024-05-24
1009Spain2024-04-30
1010Italy2024-04-28
1011Canada2024-05-26
1012Australia2024-05-10
1013Italy2024-05-12
1014Canada2024-04-29
1015Australia2024-05-14
1016Argentina2024-05-17
1017Japan2024-05-21
1018France2024-05-25
1019Spain2024-05-10
1020Argentina2024-05-22
1021United Kingdom2024-05-17
1022Spain2024-05-19
1023Spain2024-05-06
1024Brazil2024-05-05
1025United Kingdom2024-05-14
1026Italy2024-05-25
1027United Kingdom2024-05-24
1028Japan2024-05-24
1029Brazil2024-05-16
1030Italy2024-04-28
1031Canada2024-05-11
1032France2024-05-05
1033Japan2024-05-06
1034Canada2024-05-26
1035Spain2024-05-13
1036France2024-05-23
1037Spain2024-05-25
1038India2024-05-03
1039Australia2024-04-28
1040Canada2024-05-11
1041India2024-05-01
1042Brazil2024-05-26
1043Argentina2024-05-03
1044Spain2024-04-28
1045Argentina2024-05-03
1046Germany2024-05-14
1047France2024-05-19
1048Japan2024-04-29
1049Brazil2024-05-26

On-Demand Data

NameIdCountryDate
Jennifer M Malet1000Argentina2024-05-26
Costa U Ruta1001Japan2024-05-21
Leja C Nestle1002Japan2024-05-13
Smith L Chui1003Brazil2024-05-08
Munro R Foller1004Germany2024-04-28
Kaitlin E Kusko1005India2024-05-11
Arvin N Briddick1006France2024-05-20
Sinclair M Marrier1007Germany2024-05-03
Emily U Oldroyd1008Japan2024-05-01
Ricardo T Butt1009Russia2024-04-30
Alejandro Y Nicka1010Australia2024-05-11
Maisha P Royster1011India2024-04-29
Ricardo S Iturbide1012France2024-04-29
Mayumi X Sergi1013United Kingdom2024-05-17
Maria H Oldroyd1014United Kingdom2024-05-02
Leja Q Kusko1015Brazil2024-05-02
Aditya G Iturbide1016Japan2024-05-20
Stacey L Schemmer1017Argentina2024-05-11
Leon M Stockham1018Spain2024-05-21
Aika A Perin1019Australia2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem V CaudyBrazilBernardo Dominic NEGOTIATION
David X MorascaUnited KingdomStephen Shaw QUALIFIED
Emily H AmigonIndiaIoni Bowcher UNQUALIFIED
Juan V PaprockiItalyOnyama Limba UNQUALIFIED
Aditya S MorascaCanadaStephen Shaw PROPOSAL
Julie T PoquetteUnited KingdomIoni Bowcher RENEWAL
Antonio V SaylorsUnited KingdomBernardo Dominic QUALIFIED
Aruna F CaldareraCanadaAmy Elsner UNQUALIFIED
Tony A WieserCanadaIvan Magalhaes UNQUALIFIED
James F PaprockiSpainStephen Shaw NEGOTIATION
Sinclair G StockhamJapanStephen Shaw PROPOSAL
Clifford X SchemmerAustraliaIoni Bowcher NEW
Maisha W SchemmerCanadaAnna Fali PROPOSAL
Julie Q CaldareraAustraliaIoni Bowcher RENEWAL
Sinclair U GlickUnited KingdomXuxue Feng NEGOTIATION
Mayumi L OstroskyFranceIoni Bowcher RENEWAL
Sinclair P IturbideBrazilIoni Bowcher UNQUALIFIED
Ashley U RoysterBrazilAnna Fali NEW
Jeanfrancois P AlbaresAustraliaElwin Sharvill UNQUALIFIED
Silvio C BowleyRussiaStephen Shaw NEW
Aditya V SergiRussiaOnyama Limba QUALIFIED
Rodrigues G StockhamCanadaIvan Magalhaes RENEWAL
Juan I WhobreyGermanyIvan Magalhaes RENEWAL
Juan T MacleadBrazilAnna Fali PROPOSAL
Maria Z MorascaJapanAsiya Javayant PROPOSAL
Ricardo A CampainGermanyAmy Elsner PROPOSAL
Arvin D DilliardJapanStephen Shaw NEW
Johnson G PerinFranceElwin Sharvill NEGOTIATION
Izzy P OldroydFranceIoni Bowcher QUALIFIED
Stacey V GarufiArgentinaAnna Fali RENEWAL
David G SaylorsGermanyIvan Magalhaes UNQUALIFIED
Deepesh H MacleadCanadaAnna Fali RENEWAL
Adams C SlusarskiGermanyIoni Bowcher NEW
Juan V ButtBrazilAmy Elsner RENEWAL
Maisha V SaylorsAustraliaXuxue Feng NEGOTIATION
Darci B SaylorsGermanyElwin Sharvill UNQUALIFIED
Antonio H WaycottUnited KingdomOnyama Limba PROPOSAL
Aika G RulapaughJapanAsiya Javayant QUALIFIED
Leon Z StockhamBrazilIvan Magalhaes NEW
James H MaletArgentinaAmy 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>