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
Faith L FerenczJapanBernardo Dominic NEGOTIATION
Jennifer O VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Salvatore L SchemmerFranceIoni Bowcher RENEWAL
Mayumi T ButtUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois L ShinkoArgentinaXuxue Feng UNQUALIFIED
Octavia J MaletBrazilXuxue Feng NEGOTIATION
Antonio F NickaCanadaAsiya Javayant PROPOSAL
Clifford A SlusarskiRussiaOnyama Limba NEGOTIATION
Jones B FlosiRussiaIoni Bowcher QUALIFIED
Claire G NickaCanadaElwin Sharvill PROPOSAL
Misaki C SaylorsJapanXuxue Feng UNQUALIFIED
Aditya B RimSpainIvan Magalhaes NEW
Ivar E DilliardBrazilAnna Fali NEW
Izzy J ShinkoCanadaElwin Sharvill PROPOSAL
Aika C NestleIndiaIvan Magalhaes RENEWAL
Izzy G RimItalyAnna Fali NEW
Nicolas S SaylorsRussiaOnyama Limba NEW
David D BologniaBrazilStephen Shaw NEW
Antonio G WieserFranceBernardo Dominic QUALIFIED
Faith R FollerIndiaAnna Fali NEGOTIATION
Jones L SaylorsCanadaAnna Fali RENEWAL
Jones A AlbaresUnited KingdomOnyama Limba NEGOTIATION
James F AmigonCanadaElwin Sharvill UNQUALIFIED
Jones G MacleadArgentinaIvan Magalhaes QUALIFIED
Morrow L CaldareraUnited KingdomStephen Shaw NEGOTIATION
Mayumi P StockhamBrazilBernardo Dominic NEW
Clifford K WaycottUnited KingdomOnyama Limba NEGOTIATION
David J FigeroaJapanAsiya Javayant PROPOSAL
Isabel A KolmetzAustraliaXuxue Feng PROPOSAL
Jeanfrancois V NickaItalyAsiya Javayant UNQUALIFIED
Clifford N CaldareraIndiaStephen Shaw NEW
Leon G GillianUnited KingdomIoni Bowcher NEW
Rodrigues C SaylorsSpainIoni Bowcher NEGOTIATION
Nicolas V SlusarskiItalyStephen Shaw NEGOTIATION
Jeanfrancois Q IturbideBrazilBernardo Dominic RENEWAL
Julie L PaprockiSpainAnna Fali UNQUALIFIED
Greenwood J ButtIndiaXuxue Feng UNQUALIFIED
Murillo Y StensethJapanBernardo Dominic PROPOSAL
Aika O AmigonFranceElwin Sharvill QUALIFIED
Chavez V DoeAustraliaAnna Fali PROPOSAL
James T PerinRussiaIoni Bowcher RENEWAL
Stacey W MarrierArgentinaIvan Magalhaes PROPOSAL
Mujtaba A CaudyArgentinaBernardo Dominic NEGOTIATION
Claire K NestleItalyIvan Magalhaes QUALIFIED
Maria W KuskoGermanyStephen Shaw UNQUALIFIED
Munro S GarufiCanadaBernardo Dominic NEW
Smith E CaudySpainIvan Magalhaes UNQUALIFIED
Jefferson M FigeroaSpainIoni Bowcher NEGOTIATION
Stacey H ShinkoItalyBernardo Dominic PROPOSAL
Aditya W NickaRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh K BologniaJapanAnna Fali UNQUALIFIED
Morrow U StockhamUnited KingdomAnna Fali NEW
Jennifer A NickaRussiaElwin Sharvill PROPOSAL
Munro L GillianRussiaXuxue Feng NEGOTIATION
Aika H AmigonJapanIoni Bowcher NEGOTIATION
Ashley K BologniaIndiaIvan Magalhaes UNQUALIFIED
Clifford K WhobreyAustraliaAmy Elsner NEGOTIATION
Ricardo S AmigonUnited KingdomAnna Fali NEGOTIATION
Octavia E ButtIndiaOnyama Limba NEGOTIATION
Munro W MarrierRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow J ChuiAustralia2024-05-29Rousseaux, Michael Esq NEW39Onyama Limba
1001Julie Q BriddickGermany2024-05-31Morlong Associates UNQUALIFIED96Anna Fali
1002Maria E GillianJapan2024-06-09Feltz Printing Service RENEWAL38Asiya Javayant
1003Aruna X ChuiRussia2024-05-31Chapman, Ross E Esq PROPOSAL48Bernardo Dominic
1004Jones P NickaUnited Kingdom2024-06-15Morlong Associates NEGOTIATION66Onyama Limba
1005Clifford Y KuskoBrazil2024-05-24Printing Dimensions PROPOSAL50Ivan Magalhaes
1006Misaki N WhobreyCanada2024-06-11Benton, John B Jr NEW48Ivan Magalhaes
1007Aruna L RoysterFrance2024-06-04Chapman, Ross E Esq QUALIFIED6Onyama Limba
1008Wickens I WieserUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION38Amy Elsner
1009Costa G VocelkaUnited Kingdom2024-06-03Truhlar And Truhlar Attys RENEWAL6Onyama Limba
1010Mayumi G BriddickSpain2024-06-01Chapman, Ross E Esq PROPOSAL50Ioni Bowcher
1011Julie Q DoeIndia2024-06-02Rousseaux, Michael Esq UNQUALIFIED97Amy Elsner
1012Wickens C PaprockiRussia2024-06-16Dorl, James J Esq PROPOSAL28Stephen Shaw
1013Claire K KuskoGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1014Ricardo C DilliardItaly2024-05-19Commercial Press NEW20Bernardo Dominic
1015Clifford S OldroydArgentina2024-05-29Morlong Associates PROPOSAL51Bernardo Dominic
1016Nicolas J TollnerFrance2024-06-07Feiner Bros QUALIFIED68Elwin Sharvill
1017Aika F GarufiIndia2024-06-05Feltz Printing Service UNQUALIFIED87Amy Elsner
1018Smith O GauchoJapan2024-05-30Feiner Bros QUALIFIED37Stephen Shaw
1019Johnson L KuskoBrazil2024-06-13Chanay, Jeffrey A Esq QUALIFIED56Ivan Magalhaes
1020Chavez U MaletBrazil2024-06-11Feiner Bros QUALIFIED16Amy Elsner
1021Salvatore Z WieserAustralia2024-05-19King, Christopher A Esq UNQUALIFIED67Amy Elsner
1022Francesco D WaycottJapan2024-05-20Rangoni Of Florence NEGOTIATION92Ivan Magalhaes
1023Isabel H ShinkoItaly2024-05-31Benton, John B Jr NEGOTIATION19Elwin Sharvill
1024Clifford U WaycottAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED55Ivan Magalhaes
1025Ashley C FlosiBrazil2024-06-01Commercial Press PROPOSAL61Elwin Sharvill
1026Morrow I FollerGermany2024-06-16Chemel, James L Cpa UNQUALIFIED85Onyama Limba
1027Maisha T CaldareraItaly2024-06-06Rousseaux, Michael Esq UNQUALIFIED70Bernardo Dominic
1028Sinclair V PerinFrance2024-05-22Buckley Miller Wright UNQUALIFIED32Stephen Shaw
1029Aika N ChuiAustralia2024-05-18Benton, John B Jr PROPOSAL6Ivan Magalhaes
1030Aika P KolmetzAustralia2024-06-01Feiner Bros NEW34Onyama Limba
1031Misaki J DarakjyIndia2024-06-01Printing Dimensions NEW53Xuxue Feng
1032Isabel W BriddickJapan2024-05-26Buckley Miller Wright NEW24Asiya Javayant
1033Mujtaba B PoquetteRussia2024-05-28Feiner Bros QUALIFIED41Asiya Javayant
1034Izzy K InouyeCanada2024-06-06Rousseaux, Michael Esq QUALIFIED77Asiya Javayant
1035Adams A GarufiRussia2024-06-08Buckley Miller Wright UNQUALIFIED36Bernardo Dominic
1036Sinclair S CaldareraSpain2024-05-31King, Christopher A Esq NEW89Bernardo Dominic
1037Leja B VocelkaFrance2024-06-12Truhlar And Truhlar Attys QUALIFIED31Bernardo Dominic
1038Smith F GillianGermany2024-06-11Dorl, James J Esq NEGOTIATION77Ivan Magalhaes
1039Antonio W VocelkaRussia2024-05-27Buckley Miller Wright NEW73Onyama Limba
1040Sinclair P AlbaresSpain2024-05-22Rousseaux, Michael Esq RENEWAL34Asiya Javayant
1041Jones D NestleArgentina2024-05-28Dorl, James J Esq QUALIFIED78Asiya Javayant
1042Leja Q StensethCanada2024-06-10Printing Dimensions NEW9Asiya Javayant
1043Juan J TollnerItaly2024-05-21Commercial Press NEGOTIATION32Stephen Shaw
1044David I VenereSpain2024-06-04Morlong Associates QUALIFIED93Ivan Magalhaes
1045Aruna G RutaFrance2024-06-09King, Christopher A Esq PROPOSAL90Ivan Magalhaes
1046Ashley O RoysterUnited Kingdom2024-06-08Feiner Bros UNQUALIFIED90Anna Fali
1047Julie G ButtCanada2024-06-13Truhlar And Truhlar Attys UNQUALIFIED89Asiya Javayant
1048Emily G BriddickFrance2024-06-08Feltz Printing Service NEGOTIATION46Ioni Bowcher
1049Silvio O SaylorsRussia2024-06-09Chapman, Ross E Esq RENEWAL84Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ivar M SlusarskiUnited KingdomAsiya Javayant NEW
Sinclair P CaudyItalyAsiya Javayant PROPOSAL
Antonio J MacleadBrazilAnna Fali NEW
Sinclair A ChuiItalyXuxue Feng QUALIFIED
Claire V FerenczRussiaAsiya Javayant UNQUALIFIED
Silvio D VenereJapanXuxue Feng NEW
Jeanfrancois W NickaSpainXuxue Feng QUALIFIED
Octavia F KuskoItalyElwin Sharvill QUALIFIED
Jeanfrancois H FigeroaUnited KingdomBernardo Dominic NEW
Ricardo V OstroskyJapanElwin Sharvill RENEWAL
Julie Q OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair Q VenereFranceAnna Fali NEW
Deepesh L StensethFranceBernardo Dominic UNQUALIFIED
Smith Q RulapaughArgentinaElwin Sharvill QUALIFIED
Aditya X OstroskyCanadaAsiya Javayant NEW
Smith Q CaldareraAustraliaBernardo Dominic NEGOTIATION
Murillo Z RoysterRussiaIoni Bowcher RENEWAL
Greenwood O BowleyIndiaIvan Magalhaes NEGOTIATION
Leja J RutaBrazilElwin Sharvill RENEWAL
Ivar U RoysterAustraliaIvan Magalhaes UNQUALIFIED
Darci R CampainGermanyBernardo Dominic UNQUALIFIED
Adams Q SlusarskiFranceStephen Shaw QUALIFIED
Morrow Z CaldareraFranceAmy Elsner RENEWAL
Jefferson A NickaSpainXuxue Feng NEGOTIATION
Ivar R AmigonFranceAnna Fali UNQUALIFIED
Ricardo F MorascaUnited KingdomAnna Fali UNQUALIFIED
Maisha M MorascaFranceIoni Bowcher PROPOSAL
Alejandro F PaprockiSpainOnyama Limba UNQUALIFIED
Ashley S WieserIndiaIoni Bowcher NEGOTIATION
Sinclair F CaudyArgentinaBernardo Dominic NEW
Izzy T OstroskyFranceAmy Elsner PROPOSAL
Ivar V GillianGermanyIoni Bowcher NEW
Deepesh M MaletRussiaOnyama Limba QUALIFIED
David Q OldroydRussiaIoni Bowcher NEGOTIATION
Aika U WieserJapanAnna Fali QUALIFIED
Jeanfrancois A MaletJapanIoni Bowcher NEW
Murillo E KolmetzCanadaAnna Fali QUALIFIED
Juan P GarufiJapanOnyama Limba PROPOSAL
Cody V ButtGermanyAsiya Javayant QUALIFIED
Kadeem Z RutaSpainOnyama Limba PROPOSAL
Julie G StockhamItalyXuxue Feng NEW
Claire J BowleyGermanyIoni Bowcher UNQUALIFIED
Izzy I GillianBrazilBernardo Dominic NEW
Murillo Y CampainUnited KingdomElwin Sharvill NEW
Jennifer Z RoysterBrazilAnna Fali UNQUALIFIED
Claire F PaprockiFranceOnyama Limba NEGOTIATION
Adams S CaldareraGermanyBernardo Dominic RENEWAL
Jefferson M RutaAustraliaElwin Sharvill NEGOTIATION
Murillo S CaudyCanadaXuxue Feng UNQUALIFIED
Julie H GlickJapanIoni Bowcher RENEWAL
Frozen Columns
Name
Emily R Ostrosky
Leja V Shinko
Arvin G Gaucho
Claire L Albares
Jennifer V Bowley
Jefferson F Stenseth
Wickens F Bowley
Chavez S Royster
Isabel K Shinko
Leja U Shinko
Chavez F Stenseth
Emily V Bolognia
Maisha G Gaucho
Silvio E Darakjy
Tony B Flosi
Leja H Malet
Salvatore I Maclead
Arvin E Ostrosky
Arvin S Chui
Cody A Kolmetz
Wickens W Schemmer
Isabel R Butt
Kadeem K Caldarera
Morrow O Rim
Murillo O Malet
Maria L Bolognia
Misaki V Poquette
Adams V Saylors
Mayumi A Ostrosky
Adams L Amigon
David A Poquette
Kaitlin E Nestle
Antonio K Kolmetz
Clifford X Bowley
Ashley Y Albares
Alejandro F Maclead
Munro K Ferencz
Greenwood G Garufi
Emily B Glick
Misaki O Royster
Emily J Schemmer
Chavez G Albares
Misaki H Kolmetz
Jennifer G Waycott
Costa H Nicka
Maria L Bowley
Kaitlin U Amigon
Jennifer P Malet
David J Chui
Isabel J Stockham
IdCountryDate
1000Japan2024-06-05
1001India2024-06-07
1002India2024-05-26
1003Germany2024-06-12
1004Canada2024-06-08
1005Japan2024-05-18
1006Spain2024-06-07
1007France2024-06-09
1008Italy2024-05-30
1009Russia2024-06-16
1010Argentina2024-06-08
1011Australia2024-06-12
1012Germany2024-05-30
1013Argentina2024-05-24
1014Germany2024-05-23
1015Australia2024-06-12
1016Canada2024-06-03
1017Argentina2024-06-01
1018Russia2024-05-23
1019Canada2024-06-08
1020Japan2024-05-22
1021Argentina2024-05-20
1022Japan2024-05-19
1023Japan2024-05-30
1024Argentina2024-05-30
1025Russia2024-05-21
1026Germany2024-05-19
1027Russia2024-06-13
1028Russia2024-05-22
1029Japan2024-05-24
1030United Kingdom2024-05-29
1031France2024-05-20
1032Brazil2024-05-24
1033Germany2024-06-12
1034Spain2024-06-03
1035Australia2024-05-21
1036Argentina2024-06-11
1037Australia2024-05-22
1038Brazil2024-06-15
1039Germany2024-05-26
1040Italy2024-05-30
1041India2024-06-05
1042Spain2024-05-20
1043Australia2024-05-20
1044United Kingdom2024-06-08
1045United Kingdom2024-06-11
1046Germany2024-06-08
1047Germany2024-05-31
1048Russia2024-05-30
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Kadeem O Kusko1000Australia2024-05-24
Wickens J Glick1001Brazil2024-05-22
Clifford D Perin1002France2024-06-12
Jeanfrancois E Flosi1003Canada2024-06-05
Smith K Dilliard1004Russia2024-06-06
Clifford A Whobrey1005Italy2024-06-06
Antonio V Chui1006Australia2024-05-29
Isabel J Saylors1007United Kingdom2024-06-16
Jones Z Albares1008United Kingdom2024-06-13
Aruna A Nicka1009Russia2024-05-27
Ricardo X Ferencz1010Argentina2024-06-13
Costa H Gaucho1011France2024-05-18
Johnson T Campain1012India2024-05-30
Clifford L Morasca1013India2024-05-18
Faith Q Shinko1014India2024-06-05
Julie L Caldarera1015Canada2024-06-07
Ashley R Gillian1016India2024-06-11
Alejandro N Tollner1017Italy2024-05-19
Kaitlin J Chui1018Argentina2024-06-11
Ashley B Figeroa1019Canada2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Q BriddickBrazilXuxue Feng PROPOSAL
Leja H PaprockiItalyAnna Fali NEW
Isabel I MorascaAustraliaIvan Magalhaes NEW
Costa B BriddickJapanBernardo Dominic PROPOSAL
Leon L AlbaresRussiaIvan Magalhaes PROPOSAL
Jefferson B ShinkoFranceOnyama Limba NEGOTIATION
Aruna S MaletBrazilIoni Bowcher NEGOTIATION
Ricardo Q GlickBrazilElwin Sharvill NEGOTIATION
Chavez O StockhamArgentinaAnna Fali RENEWAL
Ricardo G DoeBrazilBernardo Dominic QUALIFIED
Adams M CaudyAustraliaOnyama Limba QUALIFIED
Ivar V ChuiAustraliaBernardo Dominic NEGOTIATION
Nicolas O AlbaresItalyStephen Shaw NEW
Kadeem G MarrierAustraliaAnna Fali UNQUALIFIED
Aruna G SchemmerJapanStephen Shaw NEGOTIATION
Salvatore L StockhamGermanyOnyama Limba PROPOSAL
Kadeem Y ButtUnited KingdomOnyama Limba PROPOSAL
Aika D ChuiCanadaStephen Shaw UNQUALIFIED
Johnson T RulapaughJapanIvan Magalhaes RENEWAL
Misaki X KolmetzBrazilXuxue Feng QUALIFIED
Smith P MorascaItalyOnyama Limba NEW
Maria S RutaBrazilAsiya Javayant UNQUALIFIED
Silvio Q ButtBrazilStephen Shaw RENEWAL
Sinclair P MorascaIndiaAsiya Javayant NEGOTIATION
David A DarakjyFranceXuxue Feng RENEWAL
Leja H DilliardRussiaStephen Shaw NEGOTIATION
Jefferson R AmigonIndiaIoni Bowcher RENEWAL
Emily T DarakjyArgentinaAsiya Javayant RENEWAL
Alejandro B AlbaresIndiaOnyama Limba RENEWAL
Claire P BriddickCanadaStephen Shaw RENEWAL
Isabel B MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Antonio M ButtCanadaIvan Magalhaes QUALIFIED
Julie Q TollnerIndiaIvan Magalhaes QUALIFIED
Tony K WieserAustraliaAnna Fali QUALIFIED
Claire W PaprockiArgentinaStephen Shaw PROPOSAL
Darci U MaletIndiaIvan Magalhaes QUALIFIED
Costa A OstroskyAustraliaElwin Sharvill UNQUALIFIED
Deepesh U GlickSpainIoni Bowcher UNQUALIFIED
Stacey I RulapaughFranceIvan Magalhaes QUALIFIED
Chavez T WaycottArgentinaAmy Elsner 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>