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
James L FlosiItalyXuxue Feng RENEWAL
Ivar S KuskoSpainStephen Shaw UNQUALIFIED
Maria Y StensethSpainElwin Sharvill PROPOSAL
Mujtaba V FerenczIndiaElwin Sharvill NEW
Darci O DilliardJapanAmy Elsner QUALIFIED
Silvio X IturbideJapanXuxue Feng NEW
Francesco L MacleadRussiaAnna Fali UNQUALIFIED
Leon T PerinArgentinaBernardo Dominic NEW
Silvio V GarufiJapanStephen Shaw RENEWAL
Darci R MaletArgentinaBernardo Dominic QUALIFIED
Jones L PerinGermanyElwin Sharvill RENEWAL
Jefferson X WhobreyUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois L MarrierFranceXuxue Feng UNQUALIFIED
Mujtaba X DilliardJapanBernardo Dominic UNQUALIFIED
Aika I BologniaJapanAsiya Javayant UNQUALIFIED
Morrow H ButtBrazilAnna Fali QUALIFIED
Morrow D FollerJapanXuxue Feng UNQUALIFIED
Silvio E AlbaresRussiaAsiya Javayant NEW
Johnson M NestleItalyOnyama Limba NEGOTIATION
Cody Q SlusarskiJapanAnna Fali PROPOSAL
Ashley C GarufiSpainElwin Sharvill QUALIFIED
Mujtaba L StensethIndiaIoni Bowcher RENEWAL
Ivar I InouyeUnited KingdomIoni Bowcher RENEWAL
Morrow D RulapaughFranceAmy Elsner UNQUALIFIED
Clifford M MaletIndiaBernardo Dominic UNQUALIFIED
Alejandro H DilliardJapanElwin Sharvill QUALIFIED
Julie X PerinGermanyAmy Elsner UNQUALIFIED
Clifford Q FigeroaBrazilIvan Magalhaes NEW
Greenwood Q SergiIndiaXuxue Feng UNQUALIFIED
Ashley R GauchoIndiaStephen Shaw QUALIFIED
Leon G MorascaJapanStephen Shaw UNQUALIFIED
Juan C ButtGermanyBernardo Dominic PROPOSAL
Murillo Z FigeroaCanadaAsiya Javayant UNQUALIFIED
Jefferson X PaprockiArgentinaAnna Fali RENEWAL
Leja S GarufiUnited KingdomAmy Elsner PROPOSAL
Silvio A CaldareraFranceIoni Bowcher QUALIFIED
Tony G DoeBrazilStephen Shaw QUALIFIED
Jennifer G MacleadJapanElwin Sharvill NEW
Sinclair H StockhamFranceIvan Magalhaes NEW
Jeanfrancois Q OldroydItalyIoni Bowcher UNQUALIFIED
Mayumi B NestleUnited KingdomAsiya Javayant NEGOTIATION
Juan G NestleSpainXuxue Feng NEGOTIATION
Misaki B SchemmerRussiaOnyama Limba NEGOTIATION
Ivar N RimRussiaXuxue Feng NEW
David T OldroydAustraliaIoni Bowcher QUALIFIED
Ivar G MacleadAustraliaBernardo Dominic NEGOTIATION
Nicolas Y SchemmerSpainElwin Sharvill UNQUALIFIED
Munro P RoysterIndiaBernardo Dominic QUALIFIED
Ashley J GauchoSpainAnna Fali NEW
Silvio A FollerCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony O MarrierJapanAmy Elsner QUALIFIED
Murillo L OldroydGermanyAnna Fali NEGOTIATION
Julie J ShinkoJapanAsiya Javayant QUALIFIED
Arvin Z MorascaJapanIoni Bowcher PROPOSAL
Mujtaba X VenereAustraliaOnyama Limba QUALIFIED
Kaitlin B BriddickBrazilAnna Fali NEGOTIATION
Murillo W IturbideAustraliaAnna Fali UNQUALIFIED
Greenwood K CaudyIndiaElwin Sharvill RENEWAL
Morrow E MaletUnited KingdomOnyama Limba NEW
Jones T BriddickJapanAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas J MarrierBrazil2024-05-24Commercial Press NEGOTIATION28Ioni Bowcher
1001Clifford U CaldareraUnited Kingdom2024-06-21Commercial Press NEW63Asiya Javayant
1002Greenwood U RoysterFrance2024-06-12Morlong Associates QUALIFIED1Bernardo Dominic
1003Octavia Z OldroydRussia2024-06-11Morlong Associates NEW70Ivan Magalhaes
1004Emily X IturbideSpain2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED47Amy Elsner
1005Tony N StensethCanada2024-06-06Rangoni Of Florence NEW54Xuxue Feng
1006Izzy G GillianFrance2024-05-25Printing Dimensions QUALIFIED12Amy Elsner
1007Kaitlin S GauchoCanada2024-06-08Chemel, James L Cpa PROPOSAL40Onyama Limba
1008Emily J AmigonFrance2024-05-29Rousseaux, Michael Esq NEW41Amy Elsner
1009Wickens C ButtCanada2024-06-11Truhlar And Truhlar Attys UNQUALIFIED88Anna Fali
1010Aika W ShinkoBrazil2024-06-13Buckley Miller Wright QUALIFIED73Ioni Bowcher
1011Aditya V MaletArgentina2024-05-24Morlong Associates PROPOSAL0Ivan Magalhaes
1012Tony J BriddickGermany2024-06-12Feiner Bros UNQUALIFIED33Bernardo Dominic
1013Aika I GauchoCanada2024-06-20King, Christopher A Esq QUALIFIED44Bernardo Dominic
1014Darci T SlusarskiAustralia2024-05-27Dorl, James J Esq RENEWAL24Onyama Limba
1015Emily D ButtItaly2024-05-24Feiner Bros NEW82Ioni Bowcher
1016Leja P GillianRussia2024-06-11Chemel, James L Cpa UNQUALIFIED53Ivan Magalhaes
1017Ricardo U InouyeFrance2024-06-03Feiner Bros NEW96Xuxue Feng
1018Silvio B FerenczBrazil2024-06-17Chemel, James L Cpa QUALIFIED56Asiya Javayant
1019Sinclair X KuskoBrazil2024-06-07Rangoni Of Florence NEGOTIATION90Anna Fali
1020Nicolas F ChuiAustralia2024-06-17Feiner Bros NEW35Anna Fali
1021Emily I OldroydAustralia2024-05-31Chapman, Ross E Esq QUALIFIED99Stephen Shaw
1022Adams N RimGermany2024-05-25Dorl, James J Esq NEW63Anna Fali
1023David L WaycottUnited Kingdom2024-06-20King, Christopher A Esq RENEWAL50Onyama Limba
1024Juan O VenereJapan2024-06-21Chemel, James L Cpa NEGOTIATION75Ivan Magalhaes
1025Juan O InouyeIndia2024-06-14Chemel, James L Cpa NEGOTIATION23Asiya Javayant
1026Costa T FigeroaJapan2024-06-07Feltz Printing Service NEGOTIATION73Anna Fali
1027Julie X MaletItaly2024-06-17Commercial Press QUALIFIED89Amy Elsner
1028Adams E GillianArgentina2024-06-01Truhlar And Truhlar Attys NEW21Anna Fali
1029Murillo V BologniaArgentina2024-06-18Feltz Printing Service PROPOSAL5Ioni Bowcher
1030Jones M VocelkaJapan2024-06-04Rangoni Of Florence PROPOSAL39Amy Elsner
1031Adams R NickaGermany2024-06-08Dorl, James J Esq RENEWAL74Stephen Shaw
1032Claire B FerenczUnited Kingdom2024-06-03Commercial Press UNQUALIFIED70Ivan Magalhaes
1033Aika D BriddickBrazil2024-06-11Chanay, Jeffrey A Esq NEW60Ivan Magalhaes
1034Johnson N MaletJapan2024-06-17Buckley Miller Wright NEW33Amy Elsner
1035Alejandro Q ShinkoCanada2024-05-29Rangoni Of Florence UNQUALIFIED87Anna Fali
1036Tony V PerinRussia2024-06-17Commercial Press NEGOTIATION70Elwin Sharvill
1037Mujtaba M VenereFrance2024-06-07Benton, John B Jr UNQUALIFIED46Asiya Javayant
1038Antonio D SchemmerJapan2024-06-16Feiner Bros PROPOSAL98Anna Fali
1039Emily C MarrierAustralia2024-06-08Chanay, Jeffrey A Esq PROPOSAL26Asiya Javayant
1040Leon T GlickItaly2024-06-06Feiner Bros NEGOTIATION85Asiya Javayant
1041Wickens L GlickArgentina2024-06-17Rousseaux, Michael Esq NEGOTIATION35Ioni Bowcher
1042Ashley Y InouyeArgentina2024-05-30King, Christopher A Esq QUALIFIED50Anna Fali
1043Aditya P MacleadGermany2024-05-25Rangoni Of Florence UNQUALIFIED58Bernardo Dominic
1044James W BowleyBrazil2024-05-24Truhlar And Truhlar Attys RENEWAL18Ivan Magalhaes
1045Octavia K BowleyFrance2024-06-07Chemel, James L Cpa UNQUALIFIED7Elwin Sharvill
1046Johnson F MaletAustralia2024-06-19Truhlar And Truhlar Attys RENEWAL53Elwin Sharvill
1047Costa N DarakjyItaly2024-06-17Morlong Associates QUALIFIED33Bernardo Dominic
1048Tony F DoeAustralia2024-06-06Printing Dimensions NEGOTIATION22Ioni Bowcher
1049Aditya X VenereGermany2024-06-08Rangoni Of Florence QUALIFIED84Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily C KuskoCanadaAnna Fali UNQUALIFIED
Smith U OstroskyAustraliaIvan Magalhaes NEGOTIATION
Antonio G GarufiUnited KingdomIoni Bowcher NEGOTIATION
Smith E DarakjyItalyIoni Bowcher PROPOSAL
James Y StensethAustraliaXuxue Feng RENEWAL
Ivar A StockhamFranceAnna Fali NEGOTIATION
Darci C MaletItalyXuxue Feng UNQUALIFIED
Izzy A GauchoCanadaAsiya Javayant PROPOSAL
Antonio R FollerGermanyAnna Fali UNQUALIFIED
Claire E GillianRussiaIvan Magalhaes PROPOSAL
Mujtaba E CampainRussiaIvan Magalhaes NEW
Misaki K CaldareraRussiaXuxue Feng QUALIFIED
Kaitlin Y ButtIndiaAmy Elsner PROPOSAL
Morrow F MaletUnited KingdomBernardo Dominic RENEWAL
Arvin T PerinUnited KingdomStephen Shaw UNQUALIFIED
Francesco Z ChuiSpainXuxue Feng PROPOSAL
Ricardo E OstroskyArgentinaOnyama Limba NEGOTIATION
Emily L DilliardJapanAsiya Javayant PROPOSAL
Murillo U VenereAustraliaAsiya Javayant NEGOTIATION
Nicolas M ShinkoBrazilBernardo Dominic NEW
Deepesh Z ShinkoItalyStephen Shaw PROPOSAL
Stacey Q OldroydArgentinaAmy Elsner NEGOTIATION
Ricardo A KolmetzArgentinaElwin Sharvill NEW
Emily A PoquetteItalyIvan Magalhaes PROPOSAL
Emily E PoquetteUnited KingdomElwin Sharvill PROPOSAL
Deepesh K GauchoRussiaIvan Magalhaes UNQUALIFIED
Izzy M IturbideJapanAnna Fali NEW
Rodrigues D CampainRussiaIvan Magalhaes QUALIFIED
Maisha K SlusarskiCanadaIoni Bowcher RENEWAL
Munro F NickaAustraliaElwin Sharvill PROPOSAL
Izzy S AmigonGermanyElwin Sharvill QUALIFIED
Claire D DilliardAustraliaBernardo Dominic QUALIFIED
Ricardo C OstroskyArgentinaAnna Fali NEW
Francesco G FlosiItalyBernardo Dominic PROPOSAL
Rodrigues B DarakjyGermanyStephen Shaw RENEWAL
Jennifer E BriddickIndiaAnna Fali RENEWAL
Silvio O FerenczFranceXuxue Feng NEW
Salvatore L FerenczIndiaElwin Sharvill UNQUALIFIED
Ashley P OstroskyArgentinaAsiya Javayant RENEWAL
Mayumi W FollerJapanXuxue Feng UNQUALIFIED
Francesco X BriddickUnited KingdomOnyama Limba NEGOTIATION
Izzy T RutaAustraliaOnyama Limba RENEWAL
Salvatore U ButtJapanAmy Elsner QUALIFIED
Leon Z TollnerSpainElwin Sharvill NEGOTIATION
Jennifer O ButtRussiaStephen Shaw RENEWAL
Arvin X NickaSpainElwin Sharvill UNQUALIFIED
Mujtaba L SlusarskiJapanOnyama Limba UNQUALIFIED
Tony L PoquetteUnited KingdomAnna Fali NEGOTIATION
Alejandro D StockhamIndiaStephen Shaw NEW
Jones H PoquetteItalyAnna Fali NEW
Frozen Columns
Name
Jeanfrancois Q Butt
Octavia W Ferencz
Antonio G Briddick
Morrow K Malet
Kaitlin O Gillian
Jennifer G Albares
Chavez U Gillian
Adams K Whobrey
Emily F Maclead
Chavez K Butt
Ivar V Iturbide
James I Oldroyd
Stacey Y Dilliard
Ashley Y Rim
Isabel T Amigon
Maisha X Inouye
Faith D Nestle
Stacey W Rim
Cody Z Albares
Aditya Q Amigon
Salvatore Q Albares
Stacey Q Rim
Stacey Q Kusko
Julie D Nicka
Aditya O Campain
Costa O Dilliard
Arvin Z Royster
Leon J Malet
Jennifer L Gillian
Sinclair P Gillian
Misaki O Malet
Mujtaba S Dilliard
Antonio S Gillian
Mayumi A Bolognia
Wickens I Poquette
Adams S Venere
Nicolas L Rulapaugh
Adams G Bowley
Aruna S Campain
Juan L Kolmetz
Kaitlin I Paprocki
Octavia A Vocelka
Jefferson K Briddick
Mujtaba D Malet
James J Caldarera
Costa M Slusarski
Silvio Y Foller
Darci O Paprocki
Greenwood S Wieser
Rodrigues G Schemmer
IdCountryDate
1000Brazil2024-06-02
1001France2024-05-26
1002Brazil2024-06-17
1003Russia2024-06-13
1004Japan2024-06-17
1005Spain2024-06-12
1006India2024-06-15
1007United Kingdom2024-05-31
1008Japan2024-05-29
1009France2024-06-20
1010United Kingdom2024-05-24
1011Argentina2024-06-02
1012Germany2024-06-11
1013Argentina2024-05-28
1014Italy2024-05-26
1015France2024-06-04
1016Germany2024-05-24
1017Argentina2024-06-06
1018United Kingdom2024-05-24
1019Germany2024-06-08
1020Spain2024-06-03
1021Japan2024-05-31
1022France2024-06-11
1023Australia2024-06-17
1024Australia2024-06-18
1025India2024-06-10
1026Spain2024-06-11
1027Russia2024-05-27
1028Canada2024-06-21
1029Russia2024-06-04
1030Canada2024-06-19
1031India2024-06-19
1032Brazil2024-05-27
1033Canada2024-06-12
1034Spain2024-05-30
1035Italy2024-06-21
1036Australia2024-05-25
1037Canada2024-06-03
1038Italy2024-06-13
1039Canada2024-05-31
1040Italy2024-06-05
1041Germany2024-05-27
1042Australia2024-05-25
1043Spain2024-06-02
1044Australia2024-05-30
1045Canada2024-06-19
1046Spain2024-06-20
1047Australia2024-06-13
1048Australia2024-05-30
1049Russia2024-06-16

On-Demand Data

NameIdCountryDate
Nicolas C Maclead1000United Kingdom2024-05-25
Johnson D Chui1001United Kingdom2024-06-22
Munro Y Tollner1002Russia2024-06-03
Julie Q Nestle1003Japan2024-06-18
Julie G Amigon1004Italy2024-06-04
Nicolas T Ferencz1005France2024-05-30
Greenwood X Whobrey1006Canada2024-06-07
Chavez A Gaucho1007France2024-06-20
Nicolas N Gaucho1008Italy2024-05-26
Costa X Iturbide1009India2024-06-06
Ashley F Chui1010India2024-06-02
Wickens P Inouye1011Italy2024-06-14
Munro B Bowley1012France2024-06-03
Kaitlin N Venere1013Brazil2024-05-25
Maisha H Kusko1014United Kingdom2024-06-13
Costa G Flosi1015United Kingdom2024-06-05
Julie Z Stenseth1016India2024-06-01
Morrow O Bowley1017Italy2024-06-09
Costa J Albares1018Japan2024-05-27
Octavia E Rulapaugh1019Brazil2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio B OstroskyBrazilStephen Shaw QUALIFIED
Francesco H PoquetteBrazilIvan Magalhaes NEGOTIATION
Adams P OldroydCanadaOnyama Limba NEGOTIATION
Sinclair B OstroskySpainIvan Magalhaes UNQUALIFIED
Ashley F WaycottUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues E ChuiArgentinaAmy Elsner NEW
Mujtaba C VocelkaCanadaIoni Bowcher UNQUALIFIED
Izzy F FollerArgentinaOnyama Limba QUALIFIED
Ashley U RutaIndiaElwin Sharvill NEW
Jeanfrancois E NestleArgentinaElwin Sharvill RENEWAL
Johnson L CaldareraJapanXuxue Feng RENEWAL
Morrow O ButtBrazilOnyama Limba NEGOTIATION
Wickens T MarrierAustraliaOnyama Limba UNQUALIFIED
Juan G TollnerArgentinaStephen Shaw PROPOSAL
Aika D FigeroaGermanyAsiya Javayant RENEWAL
Costa E PerinJapanElwin Sharvill NEGOTIATION
Costa B NickaSpainBernardo Dominic NEGOTIATION
Claire Z IturbideFranceBernardo Dominic NEGOTIATION
Misaki J AmigonArgentinaAmy Elsner NEW
Darci K PaprockiItalyOnyama Limba RENEWAL
Alejandro W DoeFranceAmy Elsner UNQUALIFIED
Deepesh T DarakjyJapanAmy Elsner PROPOSAL
Aika H RimSpainBernardo Dominic UNQUALIFIED
Ashley Y PerinJapanIvan Magalhaes QUALIFIED
Isabel S SlusarskiGermanyXuxue Feng UNQUALIFIED
Juan C BowleySpainAnna Fali UNQUALIFIED
Ivar S ShinkoFranceStephen Shaw UNQUALIFIED
Antonio U DilliardJapanOnyama Limba PROPOSAL
Ivar G ButtJapanAsiya Javayant PROPOSAL
Misaki F IturbideJapanIoni Bowcher PROPOSAL
Maria E CaldareraJapanElwin Sharvill RENEWAL
Adams F NickaUnited KingdomOnyama Limba QUALIFIED
Juan S CaldareraSpainXuxue Feng PROPOSAL
Darci V WaycottCanadaIvan Magalhaes RENEWAL
Smith H CampainIndiaAnna Fali QUALIFIED
Salvatore I GlickRussiaAnna Fali NEGOTIATION
Jeanfrancois T RoysterIndiaAmy Elsner QUALIFIED
Jones C InouyeJapanStephen Shaw PROPOSAL
Johnson R FollerIndiaAmy Elsner NEGOTIATION
Salvatore U KuskoIndiaBernardo Dominic 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>