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
Maria R OldroydFranceIvan Magalhaes UNQUALIFIED
Jones T CampainBrazilElwin Sharvill RENEWAL
Kaitlin P FigeroaGermanyIvan Magalhaes PROPOSAL
Aditya A CaudyItalyXuxue Feng QUALIFIED
Adams X GarufiJapanAnna Fali NEGOTIATION
Greenwood H KuskoIndiaElwin Sharvill NEW
Chavez W StockhamItalyOnyama Limba NEW
Ricardo C FerenczAustraliaIvan Magalhaes PROPOSAL
Jennifer W DarakjyArgentinaIoni Bowcher UNQUALIFIED
Francesco I FlosiRussiaAsiya Javayant UNQUALIFIED
Octavia E RimUnited KingdomIvan Magalhaes UNQUALIFIED
Cody C VocelkaGermanyBernardo Dominic PROPOSAL
Aditya G ShinkoJapanStephen Shaw NEW
Juan E VocelkaCanadaElwin Sharvill RENEWAL
Maisha G WaycottAustraliaAmy Elsner PROPOSAL
Morrow I VenereJapanStephen Shaw QUALIFIED
Rodrigues L SaylorsBrazilOnyama Limba RENEWAL
Munro Q OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Darci M RulapaughJapanAmy Elsner QUALIFIED
Claire F InouyeBrazilIvan Magalhaes RENEWAL
Antonio H TollnerUnited KingdomOnyama Limba UNQUALIFIED
Arvin K ChuiSpainOnyama Limba QUALIFIED
Faith F MaletCanadaAmy Elsner QUALIFIED
Jeanfrancois Z BowleyAustraliaStephen Shaw UNQUALIFIED
Deepesh X KolmetzCanadaElwin Sharvill NEW
Jones B WaycottUnited KingdomBernardo Dominic PROPOSAL
Kadeem J PerinUnited KingdomBernardo Dominic NEGOTIATION
Maisha P MarrierArgentinaAmy Elsner PROPOSAL
Ashley F DilliardArgentinaAmy Elsner UNQUALIFIED
Ivar W WhobreyGermanyXuxue Feng NEGOTIATION
Antonio T PerinSpainElwin Sharvill NEGOTIATION
Aruna H BriddickFranceStephen Shaw RENEWAL
Leja R RimGermanyIoni Bowcher UNQUALIFIED
Costa R InouyeItalyIoni Bowcher NEW
Ricardo V CampainArgentinaIoni Bowcher NEGOTIATION
David H ChuiSpainOnyama Limba PROPOSAL
Jefferson Z MacleadSpainAsiya Javayant QUALIFIED
Jones Q MaletUnited KingdomIoni Bowcher QUALIFIED
Alejandro T DilliardFranceIoni Bowcher UNQUALIFIED
Adams A NickaItalyBernardo Dominic PROPOSAL
Aika X RimIndiaOnyama Limba NEW
Mayumi F PerinArgentinaStephen Shaw QUALIFIED
Costa M FlosiFranceBernardo Dominic RENEWAL
Smith C BologniaSpainAsiya Javayant QUALIFIED
Cody B KolmetzUnited KingdomAsiya Javayant QUALIFIED
Maria O DarakjyGermanyElwin Sharvill QUALIFIED
Emily S MorascaGermanyIvan Magalhaes NEW
Stacey J CaudyIndiaAnna Fali NEGOTIATION
Morrow H SlusarskiIndiaBernardo Dominic NEGOTIATION
Costa G RutaItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja W RutaAustraliaXuxue Feng QUALIFIED
Aruna P ShinkoRussiaAmy Elsner NEGOTIATION
Greenwood N MacleadItalyBernardo Dominic UNQUALIFIED
Ivar R RutaCanadaElwin Sharvill NEW
Kaitlin J KuskoSpainOnyama Limba RENEWAL
Ivar O TollnerRussiaAnna Fali NEGOTIATION
Leja G GarufiJapanIoni Bowcher QUALIFIED
Mujtaba Z WhobreyAustraliaAmy Elsner NEGOTIATION
Juan T MarrierBrazilElwin Sharvill NEGOTIATION
Wickens J DilliardRussiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones X GlickRussia2026-08-03Chemel, James L Cpa NEW21Onyama Limba
1001Rodrigues O NestleItaly2026-08-13Dorl, James J Esq UNQUALIFIED75Onyama Limba
1002Izzy I MaletAustralia2026-08-24Chemel, James L Cpa QUALIFIED16Bernardo Dominic
1003Clifford E DilliardJapan2026-08-03Rousseaux, Michael Esq NEGOTIATION92Elwin Sharvill
1004Chavez C BriddickCanada2026-07-31Feiner Bros NEW86Stephen Shaw
1005Jefferson Q OldroydFrance2026-08-03Chapman, Ross E Esq NEW28Onyama Limba
1006Kaitlin F CaldareraItaly2026-08-11Buckley Miller Wright NEW37Ivan Magalhaes
1007Kadeem P ShinkoArgentina2026-08-20Feiner Bros RENEWAL93Ioni Bowcher
1008Stacey K SaylorsSpain2026-08-22Rangoni Of Florence UNQUALIFIED26Onyama Limba
1009Antonio V BowleyIndia2026-08-02Chemel, James L Cpa QUALIFIED53Asiya Javayant
1010Clifford N BologniaGermany2026-07-28Rousseaux, Michael Esq UNQUALIFIED7Asiya Javayant
1011Murillo S MarrierArgentina2026-07-29Feltz Printing Service RENEWAL41Elwin Sharvill
1012Stacey Q PoquetteIndia2026-08-17Feiner Bros UNQUALIFIED51Stephen Shaw
1013Greenwood D WhobreyJapan2026-08-23Benton, John B Jr PROPOSAL75Onyama Limba
1014Aditya K RulapaughBrazil2026-08-12Feiner Bros PROPOSAL46Onyama Limba
1015Silvio C VocelkaBrazil2026-08-08Dorl, James J Esq UNQUALIFIED56Elwin Sharvill
1016Kaitlin D GauchoIndia2026-08-10Benton, John B Jr UNQUALIFIED60Amy Elsner
1017Adams G BologniaAustralia2026-08-23Buckley Miller Wright PROPOSAL90Bernardo Dominic
1018Smith Y OstroskyIndia2026-08-19Morlong Associates UNQUALIFIED56Bernardo Dominic
1019Ivar Y FlosiFrance2026-08-17Chapman, Ross E Esq RENEWAL31Ioni Bowcher
1020Faith O DoeItaly2026-08-04Feiner Bros UNQUALIFIED3Ioni Bowcher
1021Greenwood W ButtFrance2026-08-17Morlong Associates QUALIFIED78Elwin Sharvill
1022Mujtaba T VocelkaUnited Kingdom2026-08-24Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1023Mayumi K OstroskyItaly2026-08-13Buckley Miller Wright PROPOSAL28Anna Fali
1024Silvio V MorascaItaly2026-08-24Benton, John B Jr QUALIFIED28Anna Fali
1025Rodrigues H MacleadUnited Kingdom2026-08-22Feltz Printing Service PROPOSAL96Xuxue Feng
1026Silvio L StensethCanada2026-08-08Rangoni Of Florence PROPOSAL6Anna Fali
1027Smith D WieserRussia2026-08-09Truhlar And Truhlar Attys PROPOSAL71Onyama Limba
1028Isabel M RoysterIndia2026-08-21Feiner Bros NEW67Xuxue Feng
1029Jennifer F FerenczAustralia2026-07-31Rangoni Of Florence QUALIFIED99Stephen Shaw
1030Greenwood L SergiJapan2026-08-11Benton, John B Jr NEW87Anna Fali
1031James I PerinRussia2026-08-21Rousseaux, Michael Esq NEW42Asiya Javayant
1032Francesco W PoquetteCanada2026-08-15Commercial Press UNQUALIFIED49Stephen Shaw
1033Maria Q DoeAustralia2026-08-12Buckley Miller Wright UNQUALIFIED69Asiya Javayant
1034Claire D MaletGermany2026-07-29Truhlar And Truhlar Attys NEW13Anna Fali
1035Sinclair N BologniaIndia2026-08-09Chemel, James L Cpa PROPOSAL41Ivan Magalhaes
1036Murillo Y GauchoRussia2026-08-11Rangoni Of Florence NEW23Ioni Bowcher
1037Adams P FerenczJapan2026-08-13Feltz Printing Service RENEWAL89Amy Elsner
1038Kaitlin H KuskoItaly2026-08-17Chemel, James L Cpa RENEWAL32Asiya Javayant
1039Aruna K PoquetteFrance2026-08-24Chanay, Jeffrey A Esq NEGOTIATION48Stephen Shaw
1040Kaitlin J BowleyBrazil2026-08-20Buckley Miller Wright RENEWAL82Asiya Javayant
1041Darci I OstroskyItaly2026-08-02Morlong Associates QUALIFIED36Amy Elsner
1042Johnson L CaldareraSpain2026-07-29Morlong Associates PROPOSAL24Stephen Shaw
1043Adams M ButtJapan2026-07-26Buckley Miller Wright UNQUALIFIED92Anna Fali
1044Jennifer L GarufiFrance2026-08-09Dorl, James J Esq NEGOTIATION27Xuxue Feng
1045Izzy A PerinGermany2026-08-23King, Christopher A Esq NEGOTIATION78Elwin Sharvill
1046Aika X KolmetzItaly2026-07-28Rangoni Of Florence NEW7Amy Elsner
1047James U InouyeUnited Kingdom2026-08-09Chapman, Ross E Esq NEGOTIATION73Xuxue Feng
1048Jones T BriddickGermany2026-08-16Chapman, Ross E Esq QUALIFIED73Ivan Magalhaes
1049Mayumi D DarakjyItaly2026-07-31Commercial Press UNQUALIFIED96Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha U GauchoJapanIoni Bowcher NEW
Darci Y FlosiJapanIvan Magalhaes PROPOSAL
Salvatore R PerinBrazilIoni Bowcher PROPOSAL
Antonio K CaldareraJapanOnyama Limba QUALIFIED
Ivar F ButtRussiaStephen Shaw RENEWAL
David E GauchoBrazilXuxue Feng NEW
Wickens D BowleyAustraliaAmy Elsner RENEWAL
Costa T DarakjyIndiaElwin Sharvill NEGOTIATION
Mayumi N AmigonCanadaXuxue Feng NEW
Jennifer M IturbideGermanyOnyama Limba NEGOTIATION
Leon I AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Tony I CaudyAustraliaXuxue Feng RENEWAL
Rodrigues R OstroskyArgentinaIoni Bowcher QUALIFIED
Deepesh P GarufiRussiaAnna Fali QUALIFIED
Jeanfrancois L RimSpainStephen Shaw NEGOTIATION
Chavez K FerenczArgentinaStephen Shaw NEW
Aika G NestleSpainBernardo Dominic NEW
Aika J AmigonRussiaIvan Magalhaes NEGOTIATION
Tony F MarrierJapanStephen Shaw RENEWAL
Tony X GlickItalyAnna Fali NEW
Kaitlin L GlickRussiaIoni Bowcher UNQUALIFIED
Munro N WhobreyFranceXuxue Feng UNQUALIFIED
Francesco V NickaJapanXuxue Feng QUALIFIED
Maria D OstroskySpainStephen Shaw RENEWAL
Misaki M IturbideIndiaBernardo Dominic NEGOTIATION
Ivar O ShinkoCanadaOnyama Limba QUALIFIED
Adams G FollerArgentinaElwin Sharvill RENEWAL
Aditya G VenereAustraliaAnna Fali NEGOTIATION
Wickens A RutaIndiaElwin Sharvill NEW
Francesco U FlosiIndiaOnyama Limba UNQUALIFIED
Claire E AlbaresIndiaElwin Sharvill QUALIFIED
Izzy Q TollnerBrazilAsiya Javayant QUALIFIED
David Z RoysterBrazilAsiya Javayant NEW
Octavia Q SlusarskiJapanStephen Shaw RENEWAL
Tony M RulapaughArgentinaAsiya Javayant RENEWAL
Murillo Z IturbideJapanIoni Bowcher RENEWAL
Kadeem D StockhamGermanyStephen Shaw PROPOSAL
Antonio A PoquetteBrazilIvan Magalhaes PROPOSAL
Clifford I GlickRussiaAnna Fali QUALIFIED
Ashley D ShinkoBrazilXuxue Feng NEW
Sinclair G SchemmerFranceStephen Shaw QUALIFIED
Misaki Y VenereGermanyAmy Elsner QUALIFIED
Mayumi Z SchemmerGermanyXuxue Feng RENEWAL
Juan U MorascaJapanXuxue Feng NEW
Tony C IturbideJapanAsiya Javayant RENEWAL
Julie P VocelkaJapanAsiya Javayant RENEWAL
Maisha W FigeroaArgentinaElwin Sharvill RENEWAL
Isabel N PaprockiBrazilOnyama Limba PROPOSAL
Stacey L RutaCanadaXuxue Feng RENEWAL
Ashley K SaylorsIndiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Kadeem X Waycott
Jennifer E Malet
David P Stockham
Mujtaba N Malet
Maisha R Stockham
Aditya S Kolmetz
Maisha R Caldarera
Mayumi D Darakjy
Ashley K Gillian
Mayumi W Marrier
Izzy X Stockham
Nicolas W Dilliard
Cody Q Shinko
Darci E Ruta
Ivar E Tollner
Antonio S Whobrey
Tony Y Marrier
Rodrigues E Royster
Munro S Nestle
Darci R Kolmetz
Kadeem H Malet
Deepesh Q Doe
Claire R Gaucho
Jennifer Q Rulapaugh
Ivar X Inouye
Aika K Foller
Leja M Morasca
Jeanfrancois W Caudy
Greenwood T Gillian
Antonio A Nestle
Kaitlin M Caldarera
Adams Q Kolmetz
Ivar E Caudy
Arvin O Rim
Claire F Iturbide
Izzy N Stockham
Aditya W Malet
Darci L Ferencz
Clifford X Ferencz
Jones A Flosi
Aditya R Gaucho
Aika E Kolmetz
Emily D Gaucho
Maisha E Perin
Smith F Flosi
James D Nestle
Greenwood H Stenseth
Alejandro M Chui
Julie Y Schemmer
David G Malet
IdCountryDate
1000Argentina2026-08-22
1001United Kingdom2026-08-23
1002Australia2026-08-24
1003Australia2026-08-06
1004India2026-08-22
1005Brazil2026-08-20
1006Russia2026-08-07
1007Brazil2026-08-17
1008Italy2026-08-17
1009Argentina2026-08-13
1010Japan2026-08-10
1011Brazil2026-08-09
1012United Kingdom2026-08-12
1013Argentina2026-08-11
1014France2026-07-26
1015United Kingdom2026-07-27
1016India2026-08-22
1017United Kingdom2026-08-16
1018France2026-08-09
1019Russia2026-07-29
1020Japan2026-08-24
1021Japan2026-07-28
1022Australia2026-08-01
1023Argentina2026-08-22
1024Germany2026-08-18
1025Canada2026-08-12
1026India2026-08-04
1027Germany2026-08-02
1028Spain2026-08-09
1029Australia2026-07-27
1030Japan2026-08-17
1031India2026-08-24
1032Brazil2026-07-28
1033India2026-08-14
1034United Kingdom2026-08-12
1035Italy2026-08-08
1036Argentina2026-08-24
1037Japan2026-08-15
1038Argentina2026-08-01
1039Australia2026-08-04
1040Brazil2026-08-19
1041Italy2026-07-31
1042Brazil2026-08-05
1043Germany2026-08-15
1044United Kingdom2026-08-20
1045Russia2026-08-21
1046Argentina2026-08-19
1047Argentina2026-08-12
1048Canada2026-07-30
1049Canada2026-08-17

On-Demand Data

NameIdCountryDate
Aika S Shinko1000Spain2026-08-14
Cody Q Bolognia1001Germany2026-08-12
Aditya H Whobrey1002France2026-08-13
Murillo J Perin1003Argentina2026-08-20
Julie J Waycott1004Canada2026-07-28
Leon J Nestle1005Russia2026-08-11
Kaitlin P Ruta1006France2026-07-30
Leja X Maclead1007Russia2026-08-17
Ashley J Dilliard1008Canada2026-08-03
Mujtaba H Darakjy1009India2026-08-05
Claire Q Nicka1010Italy2026-08-17
Misaki G Paprocki1011Australia2026-07-27
David D Ferencz1012United Kingdom2026-08-04
Tony R Morasca1013United Kingdom2026-08-09
Stacey F Glick1014Japan2026-08-01
James I Saylors1015Spain2026-07-29
Misaki H Rim1016India2026-08-18
Jeanfrancois N Poquette1017Spain2026-08-07
Ricardo L Gaucho1018Spain2026-08-04
Smith R Gaucho1019Germany2026-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas E TollnerAustraliaElwin Sharvill NEW
Sinclair D PerinGermanyElwin Sharvill NEW
Costa I BologniaGermanyElwin Sharvill QUALIFIED
Mayumi X FigeroaBrazilAsiya Javayant QUALIFIED
Kadeem O MaletCanadaBernardo Dominic PROPOSAL
Emily Z ChuiItalyXuxue Feng UNQUALIFIED
Costa A BologniaBrazilElwin Sharvill NEW
Adams K WhobreyRussiaIoni Bowcher QUALIFIED
Aruna Q MorascaItalyBernardo Dominic NEGOTIATION
Darci A VocelkaJapanAsiya Javayant NEW
Jeanfrancois L GauchoCanadaStephen Shaw NEW
Stacey G MarrierJapanAsiya Javayant NEGOTIATION
Octavia M CaudyUnited KingdomBernardo Dominic PROPOSAL
Adams T ButtGermanyIoni Bowcher PROPOSAL
Aditya N SergiBrazilIvan Magalhaes UNQUALIFIED
Sinclair L FlosiItalyOnyama Limba QUALIFIED
Salvatore Q MaletUnited KingdomXuxue Feng UNQUALIFIED
Stacey E WaycottFranceAsiya Javayant NEW
Ivar G AlbaresAustraliaXuxue Feng NEW
Murillo O WaycottSpainAmy Elsner UNQUALIFIED
Sinclair N KuskoIndiaIoni Bowcher QUALIFIED
Izzy H VocelkaIndiaAmy Elsner UNQUALIFIED
Stacey A DoeGermanyAnna Fali UNQUALIFIED
Maria U RutaAustraliaBernardo Dominic RENEWAL
Francesco T FollerSpainOnyama Limba UNQUALIFIED
Isabel J FollerSpainAnna Fali RENEWAL
Leja K MorascaCanadaAsiya Javayant NEW
Costa Q MorascaSpainAsiya Javayant NEGOTIATION
Leja Z StockhamRussiaAmy Elsner PROPOSAL
Cody M RimSpainXuxue Feng QUALIFIED
Faith L StensethFranceAsiya Javayant NEGOTIATION
James T BriddickBrazilBernardo Dominic UNQUALIFIED
Leja S AlbaresFranceAnna Fali NEW
Rodrigues P CaldareraItalyXuxue Feng PROPOSAL
Juan U SergiArgentinaStephen Shaw PROPOSAL
Mujtaba P NestleGermanyIvan Magalhaes RENEWAL
Tony B FerenczRussiaStephen Shaw PROPOSAL
Cody L StensethIndiaIvan Magalhaes UNQUALIFIED
Nicolas M CaudyGermanyElwin Sharvill PROPOSAL
Kadeem N DoeArgentinaElwin Sharvill NEW

<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>