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
Leja D SergiGermanyXuxue Feng RENEWAL
Nicolas Y StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio Z WieserItalyAmy Elsner RENEWAL
Cody Q WhobreyArgentinaBernardo Dominic NEGOTIATION
Morrow F TollnerFranceBernardo Dominic NEGOTIATION
Ricardo L CaldareraRussiaIoni Bowcher PROPOSAL
Leja K MarrierFranceIvan Magalhaes QUALIFIED
Maria Y ChuiItalyStephen Shaw RENEWAL
Antonio Q CaudyRussiaOnyama Limba NEGOTIATION
Smith J KuskoAustraliaIoni Bowcher RENEWAL
Leja R TollnerArgentinaStephen Shaw UNQUALIFIED
Adams P RoysterUnited KingdomAmy Elsner QUALIFIED
Francesco C KuskoUnited KingdomIoni Bowcher NEW
Sinclair X BriddickGermanyStephen Shaw QUALIFIED
Claire T FollerGermanyAnna Fali QUALIFIED
Smith F NickaAustraliaBernardo Dominic RENEWAL
Jennifer X RimArgentinaElwin Sharvill NEW
Aruna Q VocelkaIndiaXuxue Feng QUALIFIED
Ivar V GlickBrazilXuxue Feng PROPOSAL
Maisha P MarrierJapanXuxue Feng RENEWAL
Isabel B GillianCanadaAsiya Javayant RENEWAL
Mujtaba I InouyeSpainXuxue Feng UNQUALIFIED
Kaitlin Z OstroskyAustraliaAmy Elsner RENEWAL
Jones W MaletArgentinaIvan Magalhaes NEW
Ashley V KolmetzBrazilXuxue Feng NEGOTIATION
Maria X AmigonSpainAsiya Javayant NEGOTIATION
Isabel I InouyeSpainXuxue Feng UNQUALIFIED
Arvin B GlickGermanyIoni Bowcher PROPOSAL
Arvin J NestleUnited KingdomStephen Shaw UNQUALIFIED
Darci P PoquetteRussiaStephen Shaw PROPOSAL
Costa L DilliardRussiaStephen Shaw RENEWAL
Jeanfrancois U SchemmerBrazilElwin Sharvill NEGOTIATION
Alejandro L WieserBrazilAmy Elsner NEW
Tony R NickaItalyStephen Shaw RENEWAL
Emily K BowleyItalyAmy Elsner QUALIFIED
Stacey R ChuiCanadaStephen Shaw QUALIFIED
Salvatore T PaprockiFranceOnyama Limba RENEWAL
Cody W SergiJapanXuxue Feng PROPOSAL
Ricardo I KuskoArgentinaOnyama Limba PROPOSAL
Aruna K MaletAustraliaAnna Fali RENEWAL
Leon G DoeAustraliaXuxue Feng PROPOSAL
Leon R FerenczSpainOnyama Limba PROPOSAL
Aditya Q ButtUnited KingdomOnyama Limba UNQUALIFIED
Jefferson C RulapaughItalyAsiya Javayant NEGOTIATION
Mujtaba C FollerCanadaAnna Fali UNQUALIFIED
Jennifer M BologniaSpainAmy Elsner NEW
James W MorascaArgentinaAsiya Javayant RENEWAL
Deepesh S CaudyJapanAsiya Javayant UNQUALIFIED
Rodrigues N BriddickItalyElwin Sharvill NEW
Francesco G GarufiAustraliaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Johnson M VocelkaUnited KingdomXuxue Feng NEW
Jefferson Y IturbideArgentinaAnna Fali QUALIFIED
Nicolas T VocelkaArgentinaAnna Fali NEW
Jefferson K NestleCanadaStephen Shaw RENEWAL
Juan M DarakjyItalyElwin Sharvill PROPOSAL
Wickens E KuskoCanadaIoni Bowcher PROPOSAL
Sinclair V KuskoArgentinaElwin Sharvill QUALIFIED
Jefferson B BowleyAustraliaAsiya Javayant NEW
Ricardo K CaudyArgentinaOnyama Limba UNQUALIFIED
David Z StockhamGermanyIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo V OstroskyCanada2024-06-09Rousseaux, Michael Esq PROPOSAL23Amy Elsner
1001Salvatore Z RimFrance2024-05-25Truhlar And Truhlar Attys PROPOSAL6Anna Fali
1002Emily T FollerRussia2024-06-05Buckley Miller Wright UNQUALIFIED50Onyama Limba
1003Mujtaba V ChuiAustralia2024-06-03Chanay, Jeffrey A Esq QUALIFIED36Xuxue Feng
1004Antonio L InouyeAustralia2024-05-25Rangoni Of Florence UNQUALIFIED1Asiya Javayant
1005Isabel I StensethArgentina2024-05-24Chemel, James L Cpa PROPOSAL81Xuxue Feng
1006Maria X MaletAustralia2024-05-22Chemel, James L Cpa QUALIFIED3Ivan Magalhaes
1007Kaitlin P SchemmerUnited Kingdom2024-05-24Feltz Printing Service PROPOSAL90Stephen Shaw
1008Rodrigues Y PaprockiGermany2024-05-31Printing Dimensions NEW82Ivan Magalhaes
1009Darci C WieserSpain2024-05-30Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1010David I InouyeRussia2024-06-05King, Christopher A Esq QUALIFIED15Bernardo Dominic
1011Mujtaba B GlickFrance2024-05-28Printing Dimensions PROPOSAL54Stephen Shaw
1012Claire J GlickSpain2024-06-06Printing Dimensions UNQUALIFIED74Asiya Javayant
1013Rodrigues C ShinkoRussia2024-06-09Chapman, Ross E Esq RENEWAL64Xuxue Feng
1014Alejandro I KuskoCanada2024-06-04Feltz Printing Service NEW46Onyama Limba
1015Arvin B ChuiCanada2024-06-03Dorl, James J Esq NEW48Stephen Shaw
1016Antonio H NickaItaly2024-05-22Dorl, James J Esq NEGOTIATION91Onyama Limba
1017Mujtaba T VocelkaUnited Kingdom2024-05-20Chemel, James L Cpa NEW55Stephen Shaw
1018Ivar L VocelkaCanada2024-06-07Feiner Bros NEGOTIATION51Ivan Magalhaes
1019Stacey Y GarufiIndia2024-06-01Rangoni Of Florence RENEWAL42Asiya Javayant
1020Juan G BologniaRussia2024-05-22Chapman, Ross E Esq NEGOTIATION72Xuxue Feng
1021Darci N RutaIndia2024-05-27Truhlar And Truhlar Attys PROPOSAL86Ioni Bowcher
1022Francesco W SlusarskiUnited Kingdom2024-06-10Feltz Printing Service QUALIFIED10Bernardo Dominic
1023Tony H KolmetzCanada2024-06-07Rousseaux, Michael Esq NEW3Elwin Sharvill
1024Jeanfrancois K BologniaCanada2024-05-30Commercial Press RENEWAL10Elwin Sharvill
1025Murillo V StockhamGermany2024-06-07Chapman, Ross E Esq RENEWAL93Anna Fali
1026Alejandro E RulapaughSpain2024-05-29Chemel, James L Cpa RENEWAL21Xuxue Feng
1027Murillo Z BriddickCanada2024-05-15Feltz Printing Service PROPOSAL61Ivan Magalhaes
1028Faith X BriddickItaly2024-05-20Feltz Printing Service NEW84Bernardo Dominic
1029Nicolas G DilliardArgentina2024-06-05Chemel, James L Cpa RENEWAL27Ivan Magalhaes
1030Maisha S NickaSpain2024-05-26Rangoni Of Florence NEGOTIATION6Xuxue Feng
1031Chavez K GillianCanada2024-06-07Feiner Bros NEW16Bernardo Dominic
1032Chavez H BriddickFrance2024-06-03Truhlar And Truhlar Attys PROPOSAL35Amy Elsner
1033Cody U RulapaughItaly2024-06-05Chanay, Jeffrey A Esq RENEWAL30Anna Fali
1034Faith U CampainGermany2024-05-14Printing Dimensions UNQUALIFIED11Stephen Shaw
1035Mayumi O FigeroaIndia2024-06-10Buckley Miller Wright UNQUALIFIED41Xuxue Feng
1036Ashley J SaylorsAustralia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED65Stephen Shaw
1037Ivar B BriddickRussia2024-06-01Chapman, Ross E Esq PROPOSAL48Asiya Javayant
1038Ivar N GauchoJapan2024-06-06Commercial Press NEW14Amy Elsner
1039Chavez D MaletCanada2024-05-26King, Christopher A Esq RENEWAL74Anna Fali
1040Jennifer S MorascaSpain2024-05-19Chapman, Ross E Esq NEGOTIATION89Ivan Magalhaes
1041Sinclair G ChuiUnited Kingdom2024-05-29Commercial Press PROPOSAL29Ioni Bowcher
1042Aruna Q SaylorsJapan2024-06-04Chapman, Ross E Esq PROPOSAL43Amy Elsner
1043Isabel J ButtItaly2024-05-17Dorl, James J Esq PROPOSAL84Anna Fali
1044James K WhobreyGermany2024-05-21Rousseaux, Michael Esq NEGOTIATION75Elwin Sharvill
1045Faith V CampainIndia2024-05-29Benton, John B Jr NEGOTIATION22Bernardo Dominic
1046Costa X StockhamArgentina2024-06-09Morlong Associates PROPOSAL43Xuxue Feng
1047Arvin Z DoeSpain2024-05-23Chemel, James L Cpa RENEWAL89Bernardo Dominic
1048Salvatore A CaudyCanada2024-05-15Rangoni Of Florence QUALIFIED80Xuxue Feng
1049Julie G MorascaBrazil2024-06-02Buckley Miller Wright QUALIFIED90Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James B DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Silvio G KolmetzIndiaOnyama Limba NEW
David W GillianUnited KingdomAsiya Javayant NEGOTIATION
Darci M ShinkoItalyAsiya Javayant RENEWAL
Tony G BriddickUnited KingdomBernardo Dominic RENEWAL
Leja U KuskoJapanElwin Sharvill QUALIFIED
Leja G OstroskyUnited KingdomIvan Magalhaes RENEWAL
Mayumi K BowleyUnited KingdomIoni Bowcher NEGOTIATION
Maria T MaletGermanyXuxue Feng RENEWAL
Adams U SlusarskiBrazilStephen Shaw QUALIFIED
Aruna T InouyeFranceStephen Shaw QUALIFIED
Izzy Q RulapaughGermanyAsiya Javayant RENEWAL
Aruna D BowleyFranceOnyama Limba NEGOTIATION
Munro G StensethFranceIvan Magalhaes PROPOSAL
Morrow B MacleadSpainAnna Fali PROPOSAL
Greenwood J RoysterJapanIoni Bowcher PROPOSAL
Aditya L KuskoJapanStephen Shaw PROPOSAL
Greenwood W StensethIndiaBernardo Dominic UNQUALIFIED
Mayumi S KuskoArgentinaOnyama Limba PROPOSAL
Smith T KuskoFranceAmy Elsner NEGOTIATION
Stacey U InouyeGermanyOnyama Limba NEW
Jeanfrancois F ShinkoGermanyBernardo Dominic RENEWAL
Clifford B PerinCanadaElwin Sharvill PROPOSAL
Deepesh P ChuiBrazilElwin Sharvill QUALIFIED
Cody R VenereJapanBernardo Dominic UNQUALIFIED
Smith R CaldareraAustraliaElwin Sharvill QUALIFIED
Johnson Q WieserCanadaAnna Fali QUALIFIED
Ashley C StockhamFranceIvan Magalhaes NEW
David N InouyeJapanElwin Sharvill RENEWAL
Ivar Z MacleadIndiaXuxue Feng NEGOTIATION
Murillo K AlbaresCanadaBernardo Dominic UNQUALIFIED
Adams R AlbaresSpainAnna Fali RENEWAL
Chavez M GlickUnited KingdomOnyama Limba NEGOTIATION
Costa I OstroskySpainOnyama Limba QUALIFIED
Emily W NickaItalyXuxue Feng UNQUALIFIED
Francesco Q ChuiAustraliaStephen Shaw RENEWAL
Aditya C NickaArgentinaOnyama Limba RENEWAL
Cody T WhobreyUnited KingdomBernardo Dominic NEW
Jennifer U BriddickRussiaIvan Magalhaes QUALIFIED
Jones M AmigonIndiaIoni Bowcher NEW
Stacey U PerinFranceIoni Bowcher RENEWAL
Maria W ShinkoItalyElwin Sharvill NEW
Jones J GauchoArgentinaStephen Shaw RENEWAL
James B DoeIndiaOnyama Limba PROPOSAL
Faith I DoeJapanAsiya Javayant QUALIFIED
Costa V DilliardFranceIvan Magalhaes NEW
Jones M MaletArgentinaAmy Elsner RENEWAL
Kadeem G TollnerCanadaElwin Sharvill QUALIFIED
Greenwood W SergiSpainBernardo Dominic UNQUALIFIED
Kadeem L TollnerGermanyAnna Fali QUALIFIED
Frozen Columns
Name
Ivar R Saylors
Izzy I Foller
Stacey U Garufi
Octavia D Shinko
Johnson J Ferencz
Maisha W Maclead
Mujtaba D Amigon
Faith J Gaucho
David N Sergi
Kadeem C Rulapaugh
Sinclair M Slusarski
Kadeem N Vocelka
Rodrigues O Briddick
Ashley C Albares
Sinclair T Maclead
Costa Q Gillian
Faith O Briddick
Maisha K Gaucho
Munro I Caudy
James G Albares
Jones L Iturbide
Ashley B Stenseth
Kaitlin N Inouye
Maria P Ruta
Antonio S Stenseth
Smith P Rulapaugh
Rodrigues K Vocelka
Arvin A Kusko
Munro W Maclead
Izzy T Darakjy
Mayumi G Albares
Aditya F Amigon
Arvin H Garufi
Leja R Ferencz
Maria W Nestle
Salvatore U Bolognia
Aditya R Ostrosky
Ashley G Royster
Munro O Briddick
Juan H Figeroa
Leon A Ferencz
Octavia O Tollner
James I Stockham
Adams F Ruta
Morrow N Perin
Leon M Nestle
Aditya Q Malet
Murillo Q Oldroyd
James K Waycott
Cody N Chui
IdCountryDate
1000Italy2024-06-12
1001Australia2024-05-20
1002Argentina2024-06-11
1003Japan2024-05-23
1004Canada2024-05-28
1005Brazil2024-05-16
1006Brazil2024-06-02
1007France2024-05-31
1008Spain2024-05-29
1009Canada2024-06-08
1010Australia2024-06-03
1011Argentina2024-05-27
1012Canada2024-05-23
1013Canada2024-05-16
1014India2024-05-14
1015Russia2024-06-09
1016United Kingdom2024-06-09
1017Germany2024-06-02
1018United Kingdom2024-05-30
1019Japan2024-06-06
1020Canada2024-05-19
1021United Kingdom2024-05-25
1022United Kingdom2024-06-01
1023Brazil2024-05-19
1024Spain2024-05-26
1025United Kingdom2024-05-22
1026France2024-05-18
1027France2024-05-18
1028Japan2024-05-17
1029Spain2024-05-22
1030Spain2024-06-01
1031Germany2024-06-06
1032Brazil2024-06-12
1033Italy2024-05-17
1034United Kingdom2024-05-15
1035France2024-05-17
1036India2024-05-26
1037Japan2024-05-27
1038Australia2024-05-27
1039Japan2024-06-11
1040United Kingdom2024-06-02
1041Australia2024-05-25
1042Brazil2024-05-20
1043Japan2024-05-31
1044Spain2024-06-07
1045Italy2024-05-27
1046Russia2024-06-03
1047Argentina2024-06-04
1048Brazil2024-06-08
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
Arvin O Inouye1000Argentina2024-06-03
Jefferson Y Bolognia1001Russia2024-06-05
Nicolas P Slusarski1002Brazil2024-06-11
Ashley Y Nicka1003Brazil2024-05-28
Mayumi V Amigon1004India2024-06-05
David Y Morasca1005Italy2024-05-31
Misaki D Campain1006Japan2024-05-16
Claire H Amigon1007United Kingdom2024-06-08
Costa Q Gaucho1008Argentina2024-05-29
Maria V Kolmetz1009Argentina2024-06-02
Francesco P Waycott1010Spain2024-05-14
Murillo K Morasca1011Australia2024-05-25
Alejandro D Kolmetz1012United Kingdom2024-06-11
Leja D Bowley1013India2024-06-11
Julie C Malet1014India2024-06-03
Izzy W Shinko1015Italy2024-05-31
Costa Z Iturbide1016Russia2024-06-08
Johnson K Whobrey1017Canada2024-06-12
Silvio U Figeroa1018Australia2024-05-28
Costa E Caldarera1019India2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie A WieserGermanyXuxue Feng PROPOSAL
Ricardo L AmigonBrazilIvan Magalhaes QUALIFIED
Smith B RoysterRussiaOnyama Limba NEGOTIATION
David F DarakjyCanadaBernardo Dominic NEGOTIATION
Costa D KolmetzRussiaBernardo Dominic NEGOTIATION
Jefferson Z WhobreyArgentinaIoni Bowcher NEGOTIATION
Darci S RutaGermanyIoni Bowcher NEGOTIATION
David O MacleadRussiaAnna Fali NEGOTIATION
Faith A PaprockiJapanAnna Fali NEW
Jennifer P SlusarskiRussiaElwin Sharvill QUALIFIED
Rodrigues L PoquetteArgentinaBernardo Dominic UNQUALIFIED
Clifford I TollnerRussiaOnyama Limba NEW
Greenwood I WhobreyBrazilIvan Magalhaes QUALIFIED
Ivar O IturbideJapanAnna Fali NEGOTIATION
Stacey E BologniaGermanyStephen Shaw QUALIFIED
Salvatore P PerinAustraliaBernardo Dominic RENEWAL
Greenwood X FerenczArgentinaXuxue Feng PROPOSAL
Munro H OstroskyItalyXuxue Feng NEGOTIATION
Costa R ShinkoJapanAnna Fali QUALIFIED
Kadeem D NestleBrazilOnyama Limba QUALIFIED
Mujtaba W DilliardJapanAnna Fali QUALIFIED
Maria G IturbideUnited KingdomStephen Shaw RENEWAL
Leja B MacleadUnited KingdomStephen Shaw UNQUALIFIED
Ashley W CampainCanadaAnna Fali RENEWAL
Deepesh L SaylorsIndiaAsiya Javayant NEGOTIATION
David F SlusarskiBrazilXuxue Feng NEW
Ivar D PerinArgentinaAmy Elsner UNQUALIFIED
Darci B DoeAustraliaBernardo Dominic UNQUALIFIED
Morrow J ChuiBrazilIoni Bowcher UNQUALIFIED
Murillo I DoeRussiaBernardo Dominic NEW
Costa O MorascaFranceAmy Elsner NEW
Aika O StensethSpainAnna Fali UNQUALIFIED
Cody W ShinkoArgentinaIvan Magalhaes NEGOTIATION
Costa C VocelkaFranceOnyama Limba NEGOTIATION
Julie H CampainUnited KingdomOnyama Limba QUALIFIED
Costa M FlosiArgentinaXuxue Feng QUALIFIED
Leon O CaudyGermanyAsiya Javayant QUALIFIED
Sinclair T FlosiIndiaIvan Magalhaes RENEWAL
Kaitlin F MaletArgentinaElwin Sharvill NEGOTIATION
Jefferson F StockhamArgentinaOnyama Limba 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>