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
Ivar N BowleyAustraliaXuxue Feng UNQUALIFIED
Adams E WieserArgentinaAnna Fali QUALIFIED
Misaki D MaletItalyOnyama Limba NEW
Rodrigues T CaldareraAustraliaStephen Shaw NEW
David G WaycottIndiaOnyama Limba NEW
Isabel Q PaprockiCanadaAnna Fali PROPOSAL
Claire C NickaFranceIoni Bowcher UNQUALIFIED
Misaki Q FlosiJapanAnna Fali QUALIFIED
Francesco M KolmetzJapanIvan Magalhaes RENEWAL
Tony D DarakjyUnited KingdomAmy Elsner PROPOSAL
Morrow B DoeIndiaAnna Fali UNQUALIFIED
Aruna J NickaUnited KingdomBernardo Dominic NEGOTIATION
Maria L RutaItalyElwin Sharvill PROPOSAL
Octavia R KolmetzBrazilAsiya Javayant RENEWAL
Aditya E CampainGermanyAsiya Javayant NEW
Johnson O DoeCanadaElwin Sharvill NEGOTIATION
Smith W TollnerFranceIvan Magalhaes NEGOTIATION
Octavia V CampainIndiaBernardo Dominic UNQUALIFIED
Ivar D VenereCanadaStephen Shaw RENEWAL
Kaitlin J SlusarskiFranceAsiya Javayant NEW
Arvin F DilliardArgentinaIoni Bowcher NEW
Julie Y PerinJapanXuxue Feng NEGOTIATION
Murillo Y RimFranceStephen Shaw NEGOTIATION
Morrow V IturbideFranceIvan Magalhaes QUALIFIED
Tony E GlickItalyAsiya Javayant PROPOSAL
Isabel N DarakjySpainXuxue Feng QUALIFIED
Wickens H TollnerFranceElwin Sharvill RENEWAL
Munro V MorascaGermanyXuxue Feng NEGOTIATION
Maria E WaycottBrazilIvan Magalhaes RENEWAL
Stacey Q VocelkaItalyStephen Shaw UNQUALIFIED
Mujtaba S MorascaBrazilIoni Bowcher NEW
Ivar T WieserJapanIvan Magalhaes RENEWAL
Maria A KuskoSpainElwin Sharvill QUALIFIED
Jennifer U StensethGermanyBernardo Dominic RENEWAL
Antonio M TollnerAustraliaStephen Shaw QUALIFIED
Claire C GlickBrazilOnyama Limba QUALIFIED
Ashley Q OstroskyFranceXuxue Feng PROPOSAL
James K InouyeUnited KingdomElwin Sharvill PROPOSAL
Misaki P FigeroaRussiaStephen Shaw QUALIFIED
Sinclair U KolmetzSpainAmy Elsner UNQUALIFIED
Misaki Q NestleItalyStephen Shaw QUALIFIED
Julie R AlbaresAustraliaOnyama Limba PROPOSAL
Rodrigues P PerinIndiaOnyama Limba RENEWAL
Johnson O RulapaughBrazilOnyama Limba RENEWAL
Ivar J SchemmerBrazilXuxue Feng UNQUALIFIED
Juan M DarakjyGermanyXuxue Feng RENEWAL
David R AlbaresAustraliaOnyama Limba QUALIFIED
Ashley G SchemmerBrazilAsiya Javayant QUALIFIED
Antonio G OstroskyItalyAmy Elsner NEW
Morrow D NestleBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa B AmigonSpainStephen Shaw NEW
Isabel K ShinkoIndiaIoni Bowcher QUALIFIED
Kaitlin R VocelkaSpainOnyama Limba NEW
Antonio D NestleGermanyXuxue Feng QUALIFIED
Maisha S WhobreyUnited KingdomAsiya Javayant PROPOSAL
Nicolas V NickaSpainIvan Magalhaes PROPOSAL
Munro L MaletCanadaIoni Bowcher PROPOSAL
Maria I RulapaughRussiaStephen Shaw RENEWAL
Jefferson O WieserFranceElwin Sharvill NEGOTIATION
Francesco T SaylorsArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony V ButtRussia2024-05-23Truhlar And Truhlar Attys PROPOSAL39Xuxue Feng
1001Cody R OstroskyArgentina2024-06-04Rousseaux, Michael Esq UNQUALIFIED54Ioni Bowcher
1002Arvin K OstroskyBrazil2024-06-07Benton, John B Jr RENEWAL33Ivan Magalhaes
1003Jennifer L ShinkoAustralia2024-05-27Feiner Bros PROPOSAL23Bernardo Dominic
1004Misaki X WieserCanada2024-06-14Rousseaux, Michael Esq NEW67Asiya Javayant
1005Arvin M PoquetteFrance2024-06-17King, Christopher A Esq UNQUALIFIED26Onyama Limba
1006Aruna L BologniaSpain2024-06-13Rangoni Of Florence NEW5Ivan Magalhaes
1007Leja P PerinIndia2024-05-21Chemel, James L Cpa NEW65Bernardo Dominic
1008Maisha P MaletArgentina2024-06-05Rangoni Of Florence RENEWAL57Amy Elsner
1009Ashley N GlickGermany2024-06-11Printing Dimensions NEGOTIATION63Anna Fali
1010Kadeem F GarufiIndia2024-05-20Benton, John B Jr RENEWAL49Anna Fali
1011Chavez T InouyeAustralia2024-06-06Commercial Press UNQUALIFIED14Xuxue Feng
1012Misaki F FigeroaUnited Kingdom2024-05-19Rangoni Of Florence QUALIFIED84Anna Fali
1013Stacey C GlickCanada2024-06-09Chapman, Ross E Esq RENEWAL85Ivan Magalhaes
1014Julie G OstroskySpain2024-05-24Commercial Press UNQUALIFIED97Onyama Limba
1015Greenwood G KolmetzGermany2024-05-22Rousseaux, Michael Esq UNQUALIFIED96Onyama Limba
1016Alejandro I RutaCanada2024-06-05Morlong Associates NEW65Asiya Javayant
1017Jeanfrancois O NickaSpain2024-06-12Chemel, James L Cpa NEGOTIATION7Bernardo Dominic
1018Costa Z SchemmerJapan2024-06-07Benton, John B Jr NEW18Stephen Shaw
1019Ricardo C OldroydFrance2024-06-07Chapman, Ross E Esq PROPOSAL75Anna Fali
1020Leon F NickaFrance2024-06-01Truhlar And Truhlar Attys NEGOTIATION8Xuxue Feng
1021David E AmigonUnited Kingdom2024-06-16Benton, John B Jr RENEWAL68Anna Fali
1022Tony O GarufiItaly2024-05-25Buckley Miller Wright RENEWAL20Amy Elsner
1023Jennifer K FlosiAustralia2024-05-27Morlong Associates RENEWAL46Stephen Shaw
1024Chavez A MaletBrazil2024-06-04Chanay, Jeffrey A Esq NEGOTIATION71Amy Elsner
1025Antonio H DoeSpain2024-05-20Benton, John B Jr UNQUALIFIED62Onyama Limba
1026Jones N MacleadBrazil2024-06-01Rangoni Of Florence PROPOSAL67Stephen Shaw
1027Jefferson K CampainBrazil2024-05-21Commercial Press PROPOSAL86Asiya Javayant
1028Silvio N CampainBrazil2024-06-05Rousseaux, Michael Esq QUALIFIED7Elwin Sharvill
1029Alejandro P PoquetteJapan2024-06-07Benton, John B Jr NEGOTIATION23Stephen Shaw
1030Cody B GauchoItaly2024-06-06King, Christopher A Esq RENEWAL76Stephen Shaw
1031Chavez B WieserSpain2024-06-13Feiner Bros QUALIFIED14Asiya Javayant
1032Ivar K PaprockiJapan2024-05-25King, Christopher A Esq PROPOSAL34Amy Elsner
1033Stacey N StensethIndia2024-06-16Dorl, James J Esq PROPOSAL81Asiya Javayant
1034Francesco Q DilliardBrazil2024-06-01Buckley Miller Wright PROPOSAL59Bernardo Dominic
1035Rodrigues F WaycottIndia2024-06-12Benton, John B Jr UNQUALIFIED23Amy Elsner
1036Leon A SergiJapan2024-06-17Truhlar And Truhlar Attys QUALIFIED70Amy Elsner
1037Jennifer A RimCanada2024-05-23Chemel, James L Cpa PROPOSAL67Stephen Shaw
1038Tony W IturbideFrance2024-05-22Rousseaux, Michael Esq NEGOTIATION34Amy Elsner
1039Octavia O NestleGermany2024-05-30Printing Dimensions NEGOTIATION3Xuxue Feng
1040Mujtaba Y BowleyUnited Kingdom2024-06-08Rangoni Of Florence UNQUALIFIED74Asiya Javayant
1041Claire W DilliardUnited Kingdom2024-05-28Feiner Bros NEW76Elwin Sharvill
1042Faith L KolmetzBrazil2024-05-26Morlong Associates NEGOTIATION0Anna Fali
1043David D MorascaCanada2024-06-03Benton, John B Jr QUALIFIED57Elwin Sharvill
1044Arvin S RulapaughArgentina2024-06-09Printing Dimensions PROPOSAL36Asiya Javayant
1045James H ChuiSpain2024-05-28Morlong Associates RENEWAL11Ivan Magalhaes
1046Tony X KuskoArgentina2024-06-11King, Christopher A Esq NEGOTIATION27Anna Fali
1047David B KuskoGermany2024-06-01Buckley Miller Wright PROPOSAL75Ivan Magalhaes
1048Adams C StockhamUnited Kingdom2024-06-01Chemel, James L Cpa NEGOTIATION40Xuxue Feng
1049Sinclair Q ChuiIndia2024-05-30Printing Dimensions QUALIFIED49Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez X MarrierAustraliaAnna Fali NEW
Salvatore N VenereCanadaAsiya Javayant NEW
Clifford Y MacleadCanadaAsiya Javayant UNQUALIFIED
Emily S GillianItalyBernardo Dominic UNQUALIFIED
Aika J CampainJapanIoni Bowcher QUALIFIED
Arvin L InouyeJapanStephen Shaw NEW
Silvio X DarakjyUnited KingdomBernardo Dominic PROPOSAL
Arvin R StensethAustraliaIvan Magalhaes NEW
Nicolas L FlosiArgentinaElwin Sharvill QUALIFIED
Leon M ButtUnited KingdomXuxue Feng QUALIFIED
Octavia P RoysterAustraliaOnyama Limba NEW
Isabel Y KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood K VocelkaGermanyAsiya Javayant QUALIFIED
Mujtaba H RoysterBrazilElwin Sharvill NEGOTIATION
Alejandro P AlbaresAustraliaStephen Shaw QUALIFIED
Wickens V StensethRussiaStephen Shaw RENEWAL
Alejandro M WieserAustraliaIvan Magalhaes UNQUALIFIED
Francesco X KolmetzAustraliaAsiya Javayant NEGOTIATION
Smith U TollnerItalyStephen Shaw PROPOSAL
Ivar S BriddickGermanyAmy Elsner UNQUALIFIED
Nicolas X CaudyAustraliaIvan Magalhaes NEW
Deepesh D MacleadFranceStephen Shaw RENEWAL
Cody T AlbaresJapanAmy Elsner NEGOTIATION
Misaki K MorascaRussiaIvan Magalhaes UNQUALIFIED
Munro K VenereIndiaOnyama Limba QUALIFIED
Morrow I SergiGermanyStephen Shaw NEGOTIATION
Alejandro A KuskoCanadaIoni Bowcher NEGOTIATION
Maisha V GillianBrazilStephen Shaw RENEWAL
Aika X MorascaArgentinaIvan Magalhaes QUALIFIED
Alejandro M RulapaughUnited KingdomBernardo Dominic RENEWAL
Greenwood N SchemmerGermanyAnna Fali RENEWAL
Aika B PerinJapanIoni Bowcher NEW
Rodrigues E MaletFranceIvan Magalhaes PROPOSAL
Kaitlin D ButtArgentinaOnyama Limba PROPOSAL
Mayumi B StockhamIndiaIvan Magalhaes PROPOSAL
Deepesh G MarrierIndiaIoni Bowcher NEW
Costa A BowleyGermanyIoni Bowcher PROPOSAL
Cody Z KolmetzBrazilAmy Elsner RENEWAL
Morrow B SaylorsIndiaIoni Bowcher QUALIFIED
Emily V NickaSpainIoni Bowcher QUALIFIED
Julie O ButtAustraliaXuxue Feng QUALIFIED
Murillo A NestleIndiaElwin Sharvill NEW
Octavia Y ShinkoCanadaAnna Fali PROPOSAL
Aika T RulapaughGermanyIvan Magalhaes QUALIFIED
Salvatore U ShinkoRussiaOnyama Limba NEW
Darci D MorascaJapanAnna Fali NEGOTIATION
Murillo L GauchoBrazilAnna Fali RENEWAL
Rodrigues I VocelkaSpainStephen Shaw QUALIFIED
Nicolas A StockhamSpainIvan Magalhaes QUALIFIED
Claire F FerenczAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Jeanfrancois F Sergi
Mujtaba C Stenseth
Francesco B Morasca
Murillo F Slusarski
Jeanfrancois T Stockham
Chavez X Iturbide
Arvin U Perin
Antonio F Bowley
Aruna A Nestle
Maria E Malet
Leja M Perin
Rodrigues O Slusarski
Rodrigues Q Schemmer
Cody F Kusko
Salvatore P Butt
Mayumi C Briddick
Ivar V Marrier
Juan Z Ferencz
Chavez P Venere
Costa C Ostrosky
Murillo Z Tollner
Adams I Sergi
Mayumi B Ruta
Emily I Rulapaugh
Julie Q Vocelka
Morrow B Nestle
Arvin X Doe
Sinclair F Maclead
Clifford W Oldroyd
Izzy S Inouye
Darci F Gaucho
Maisha H Maclead
Adams Z Dilliard
Stacey A Albares
Ashley B Malet
Maria D Saylors
Antonio P Royster
James J Morasca
Nicolas Q Stenseth
Deepesh O Tollner
Tony A Malet
Mujtaba B Ferencz
Aditya M Gaucho
Tony N Darakjy
Stacey V Stenseth
Murillo B Dilliard
Isabel O Butt
Chavez W Gillian
Aruna B Morasca
Antonio C Foller
IdCountryDate
1000Australia2024-06-11
1001India2024-06-04
1002United Kingdom2024-06-08
1003Canada2024-06-03
1004Germany2024-06-11
1005India2024-06-16
1006India2024-05-23
1007Spain2024-05-31
1008Germany2024-05-23
1009Germany2024-06-11
1010Australia2024-06-08
1011Spain2024-05-28
1012Russia2024-06-09
1013Argentina2024-06-02
1014Brazil2024-06-08
1015Russia2024-06-09
1016Canada2024-05-25
1017Japan2024-05-25
1018Canada2024-06-11
1019Argentina2024-05-31
1020Argentina2024-06-11
1021Japan2024-05-21
1022Canada2024-06-11
1023Russia2024-05-26
1024Germany2024-05-23
1025India2024-06-09
1026India2024-06-10
1027Argentina2024-05-19
1028France2024-05-25
1029Japan2024-05-31
1030Italy2024-05-25
1031Brazil2024-05-20
1032France2024-06-10
1033France2024-05-22
1034Canada2024-06-12
1035Italy2024-05-21
1036Italy2024-05-19
1037Canada2024-06-07
1038Russia2024-05-26
1039Germany2024-05-31
1040Italy2024-05-27
1041Brazil2024-06-03
1042Australia2024-06-16
1043Russia2024-06-05
1044Argentina2024-05-27
1045Japan2024-06-02
1046Italy2024-06-08
1047Argentina2024-06-13
1048Italy2024-06-16
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
David F Royster1000Brazil2024-06-10
Faith N Iturbide1001India2024-06-17
David B Ferencz1002Russia2024-05-21
Kadeem Q Whobrey1003Germany2024-06-16
Tony V Tollner1004France2024-05-25
Costa X Doe1005Japan2024-06-17
Stacey M Garufi1006Japan2024-05-21
Stacey S Saylors1007France2024-05-24
Isabel Q Ruta1008France2024-06-05
Leon J Morasca1009Russia2024-05-30
Darci X Maclead1010France2024-06-03
Munro M Bolognia1011Argentina2024-05-25
Salvatore U Bowley1012Japan2024-05-22
David Q Venere1013Australia2024-05-31
James P Rim1014Brazil2024-06-11
Antonio K Sergi1015United Kingdom2024-05-29
David U Amigon1016Russia2024-05-21
Rodrigues Y Maclead1017France2024-05-24
Antonio R Royster1018Italy2024-05-20
Wickens Z Nicka1019Australia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson N PaprockiBrazilOnyama Limba NEW
Ashley Y MarrierGermanyElwin Sharvill PROPOSAL
Darci Q GlickAustraliaIvan Magalhaes QUALIFIED
Alejandro J ShinkoGermanyIoni Bowcher NEW
Smith P MaletSpainAmy Elsner QUALIFIED
Adams G ShinkoCanadaBernardo Dominic NEW
Tony P TollnerIndiaElwin Sharvill PROPOSAL
Adams J DilliardGermanyIoni Bowcher UNQUALIFIED
Leja M RutaFranceBernardo Dominic UNQUALIFIED
Cody R PaprockiBrazilStephen Shaw RENEWAL
Francesco H MaletJapanXuxue Feng NEW
Cody U AlbaresUnited KingdomElwin Sharvill QUALIFIED
Alejandro R ShinkoIndiaXuxue Feng NEGOTIATION
Arvin Y CaldareraCanadaIvan Magalhaes RENEWAL
Salvatore D GarufiAustraliaIoni Bowcher NEW
Aruna D MorascaRussiaAsiya Javayant NEW
James F MorascaBrazilElwin Sharvill NEGOTIATION
Kadeem G ShinkoRussiaAsiya Javayant NEGOTIATION
Cody J KolmetzCanadaOnyama Limba QUALIFIED
Maria M ShinkoSpainIoni Bowcher PROPOSAL
Jones A BriddickGermanyIoni Bowcher QUALIFIED
Juan W VocelkaFranceIvan Magalhaes NEW
Faith H RutaArgentinaAnna Fali PROPOSAL
Faith I MaletIndiaXuxue Feng PROPOSAL
Chavez L RulapaughCanadaAmy Elsner UNQUALIFIED
Leon K SlusarskiUnited KingdomStephen Shaw QUALIFIED
Isabel S WieserItalyOnyama Limba QUALIFIED
Costa H NickaIndiaOnyama Limba NEGOTIATION
Aika G MacleadBrazilAsiya Javayant NEGOTIATION
Isabel Z StockhamFranceOnyama Limba RENEWAL
Kadeem E DoeSpainElwin Sharvill RENEWAL
Clifford U SchemmerAustraliaBernardo Dominic UNQUALIFIED
Nicolas V WieserGermanyAsiya Javayant RENEWAL
Sinclair M MaletAustraliaAmy Elsner UNQUALIFIED
Emily P RoysterCanadaAmy Elsner UNQUALIFIED
Clifford K MacleadIndiaIoni Bowcher UNQUALIFIED
Francesco P FigeroaUnited KingdomAmy Elsner NEGOTIATION
Isabel Q TollnerArgentinaIoni Bowcher QUALIFIED
Tony D FlosiAustraliaIvan Magalhaes NEW
Leon Z MorascaIndiaIvan Magalhaes 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>