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
Wickens J PerinItalyStephen Shaw NEGOTIATION
Maria Y ButtArgentinaAsiya Javayant RENEWAL
Stacey Q NickaIndiaXuxue Feng NEW
Juan S RutaGermanyStephen Shaw NEGOTIATION
Kaitlin M GillianUnited KingdomElwin Sharvill QUALIFIED
Claire A OldroydIndiaBernardo Dominic NEW
Maisha K BowleyArgentinaElwin Sharvill NEW
Maria L RutaCanadaXuxue Feng PROPOSAL
Clifford C CampainFranceIvan Magalhaes NEW
Clifford T WieserCanadaAmy Elsner QUALIFIED
Maisha G VenereFranceStephen Shaw NEW
Greenwood U ShinkoJapanOnyama Limba QUALIFIED
Greenwood Z AlbaresUnited KingdomStephen Shaw RENEWAL
Mujtaba Y RoysterBrazilIvan Magalhaes PROPOSAL
Aika W OldroydRussiaAmy Elsner NEW
Morrow J MaletSpainStephen Shaw QUALIFIED
David Y CampainJapanAmy Elsner NEGOTIATION
Arvin E CampainIndiaOnyama Limba RENEWAL
Chavez O ChuiArgentinaOnyama Limba QUALIFIED
Maisha C FlosiItalyBernardo Dominic PROPOSAL
Octavia I GillianItalyAsiya Javayant NEGOTIATION
Silvio E ChuiAustraliaXuxue Feng RENEWAL
James M FigeroaIndiaAsiya Javayant NEGOTIATION
Deepesh V BologniaFranceElwin Sharvill NEGOTIATION
Greenwood A StensethRussiaIoni Bowcher QUALIFIED
Stacey V TollnerGermanyIvan Magalhaes RENEWAL
Jones O VenereSpainOnyama Limba PROPOSAL
Johnson J SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba L OldroydRussiaElwin Sharvill NEW
Munro A MacleadSpainIoni Bowcher NEGOTIATION
Jefferson H GauchoSpainXuxue Feng QUALIFIED
Aika F RimRussiaBernardo Dominic NEGOTIATION
Claire B SergiItalyBernardo Dominic NEGOTIATION
Nicolas I KolmetzBrazilAmy Elsner PROPOSAL
Sinclair S GlickUnited KingdomAnna Fali UNQUALIFIED
Costa Y VenereItalyIvan Magalhaes NEW
Mayumi A BriddickSpainStephen Shaw NEGOTIATION
Adams Z GauchoIndiaBernardo Dominic QUALIFIED
Costa C PaprockiSpainIoni Bowcher PROPOSAL
Nicolas J FigeroaUnited KingdomOnyama Limba QUALIFIED
Mujtaba A RulapaughArgentinaElwin Sharvill NEGOTIATION
Leja X FollerAustraliaAnna Fali NEW
Wickens R PaprockiBrazilBernardo Dominic NEW
Leon Y ShinkoItalyElwin Sharvill QUALIFIED
Darci B CaldareraRussiaIvan Magalhaes NEGOTIATION
Munro I OldroydArgentinaBernardo Dominic NEGOTIATION
Emily N GarufiBrazilIvan Magalhaes NEGOTIATION
Maria Q CaudyGermanyAnna Fali PROPOSAL
Jennifer O DoeCanadaAmy Elsner PROPOSAL
Salvatore P KuskoFranceXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily L NickaJapanAnna Fali RENEWAL
Jeanfrancois X MaletCanadaStephen Shaw UNQUALIFIED
Morrow A ButtRussiaOnyama Limba PROPOSAL
Aruna U StockhamSpainStephen Shaw NEW
Alejandro M GlickItalyIvan Magalhaes PROPOSAL
Maria N CaudyJapanBernardo Dominic QUALIFIED
Murillo F CaldareraItalyAnna Fali NEGOTIATION
Greenwood P NestleRussiaStephen Shaw PROPOSAL
Aika O GarufiArgentinaAsiya Javayant NEGOTIATION
Octavia S RulapaughBrazilStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens O VenereRussia2024-06-10Chemel, James L Cpa RENEWAL47Onyama Limba
1001Murillo I GarufiFrance2024-06-05Benton, John B Jr UNQUALIFIED19Onyama Limba
1002Silvio P MaletJapan2024-05-23Chemel, James L Cpa RENEWAL16Ioni Bowcher
1003Clifford D ShinkoFrance2024-06-08Truhlar And Truhlar Attys NEW19Xuxue Feng
1004Arvin Y GauchoAustralia2024-06-10King, Christopher A Esq NEGOTIATION80Ioni Bowcher
1005Johnson F DilliardRussia2024-06-16Rousseaux, Michael Esq QUALIFIED85Stephen Shaw
1006Rodrigues N BologniaBrazil2024-06-16Printing Dimensions PROPOSAL82Onyama Limba
1007Clifford L InouyeBrazil2024-06-07Chemel, James L Cpa NEW0Xuxue Feng
1008Kaitlin J WaycottItaly2024-06-10Rangoni Of Florence PROPOSAL20Asiya Javayant
1009Ricardo O DoeFrance2024-05-25Rousseaux, Michael Esq UNQUALIFIED29Bernardo Dominic
1010Sinclair M MorascaAustralia2024-05-27Feiner Bros RENEWAL2Elwin Sharvill
1011Salvatore A StockhamGermany2024-05-28Chapman, Ross E Esq QUALIFIED47Anna Fali
1012Claire B RoysterBrazil2024-06-06Feiner Bros UNQUALIFIED6Elwin Sharvill
1013Morrow O KuskoUnited Kingdom2024-05-30Feiner Bros NEW59Xuxue Feng
1014Aika O WaycottBrazil2024-06-21Chapman, Ross E Esq NEW59Ivan Magalhaes
1015Adams N RimAustralia2024-06-01Feltz Printing Service PROPOSAL21Bernardo Dominic
1016Juan A RulapaughBrazil2024-06-05Feiner Bros RENEWAL29Ivan Magalhaes
1017Octavia G FollerJapan2024-05-24Printing Dimensions QUALIFIED77Xuxue Feng
1018Salvatore O PoquetteArgentina2024-06-08Chanay, Jeffrey A Esq NEW79Ivan Magalhaes
1019Mujtaba Y GauchoIndia2024-05-30Chanay, Jeffrey A Esq QUALIFIED77Asiya Javayant
1020Cody F GillianAustralia2024-05-23Feiner Bros RENEWAL40Anna Fali
1021Emily U GlickGermany2024-06-04Truhlar And Truhlar Attys UNQUALIFIED25Ioni Bowcher
1022Clifford Z StockhamSpain2024-05-31King, Christopher A Esq NEGOTIATION80Stephen Shaw
1023Ivar W MacleadFrance2024-06-17Feiner Bros PROPOSAL8Onyama Limba
1024Adams X WieserJapan2024-06-20Chemel, James L Cpa PROPOSAL66Ivan Magalhaes
1025Darci H NickaAustralia2024-05-23Buckley Miller Wright RENEWAL32Ioni Bowcher
1026Izzy E InouyeGermany2024-06-11Truhlar And Truhlar Attys UNQUALIFIED66Anna Fali
1027Nicolas K WaycottJapan2024-06-11Feltz Printing Service UNQUALIFIED93Stephen Shaw
1028Arvin T BowleySpain2024-05-30Chapman, Ross E Esq RENEWAL67Stephen Shaw
1029Nicolas C AmigonFrance2024-06-10Feltz Printing Service NEGOTIATION29Anna Fali
1030Costa O DarakjyCanada2024-06-19Printing Dimensions NEGOTIATION63Anna Fali
1031Smith I KolmetzAustralia2024-06-13Chanay, Jeffrey A Esq PROPOSAL83Anna Fali
1032Emily S GillianCanada2024-06-18Feiner Bros NEGOTIATION71Amy Elsner
1033Ashley P PaprockiFrance2024-06-14Feiner Bros NEW18Bernardo Dominic
1034Sinclair D DarakjySpain2024-05-26Rousseaux, Michael Esq QUALIFIED95Bernardo Dominic
1035Darci V SchemmerItaly2024-06-19Rousseaux, Michael Esq NEW53Onyama Limba
1036Costa R GauchoRussia2024-05-30Commercial Press UNQUALIFIED90Asiya Javayant
1037Tony R RutaJapan2024-06-01Rangoni Of Florence QUALIFIED31Elwin Sharvill
1038Morrow Y FerenczBrazil2024-06-21Feltz Printing Service UNQUALIFIED25Stephen Shaw
1039Stacey Z KolmetzCanada2024-06-19Rousseaux, Michael Esq PROPOSAL7Anna Fali
1040Adams E FigeroaJapan2024-06-12Buckley Miller Wright NEGOTIATION70Asiya Javayant
1041Kadeem Y MacleadRussia2024-06-06Truhlar And Truhlar Attys NEW91Amy Elsner
1042Maria V DilliardGermany2024-06-17Chanay, Jeffrey A Esq QUALIFIED35Stephen Shaw
1043Arvin R PoquetteItaly2024-06-17Benton, John B Jr PROPOSAL62Ivan Magalhaes
1044Antonio F WaycottGermany2024-06-04Printing Dimensions NEGOTIATION82Amy Elsner
1045Kadeem D DilliardUnited Kingdom2024-06-20Morlong Associates NEGOTIATION8Onyama Limba
1046Maisha Q VocelkaIndia2024-05-25Truhlar And Truhlar Attys QUALIFIED46Ivan Magalhaes
1047Smith W NestleArgentina2024-06-11Feiner Bros PROPOSAL24Stephen Shaw
1048Ricardo H VenereSpain2024-05-25Rousseaux, Michael Esq NEW53Asiya Javayant
1049Nicolas P KolmetzFrance2024-05-28Chapman, Ross E Esq RENEWAL62Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Cody K DilliardFranceIoni Bowcher UNQUALIFIED
James I GillianSpainXuxue Feng PROPOSAL
Julie M KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Ricardo K PerinCanadaXuxue Feng UNQUALIFIED
Jefferson A MaletCanadaAnna Fali RENEWAL
Darci F GillianArgentinaAmy Elsner PROPOSAL
Aika O AmigonSpainXuxue Feng RENEWAL
Kaitlin V InouyeCanadaIvan Magalhaes PROPOSAL
Ivar G FlosiItalyElwin Sharvill NEW
Julie V MarrierRussiaOnyama Limba QUALIFIED
Smith G OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Adams Y SlusarskiBrazilAsiya Javayant QUALIFIED
Cody L BologniaSpainStephen Shaw NEGOTIATION
Jefferson O FigeroaArgentinaBernardo Dominic PROPOSAL
Isabel B PoquetteRussiaBernardo Dominic RENEWAL
Nicolas X BriddickGermanyElwin Sharvill NEW
Antonio H PerinCanadaBernardo Dominic UNQUALIFIED
Izzy T RulapaughItalyXuxue Feng UNQUALIFIED
Chavez V InouyeIndiaAsiya Javayant UNQUALIFIED
Adams U VenereIndiaOnyama Limba PROPOSAL
Juan I AlbaresAustraliaBernardo Dominic RENEWAL
Aruna G MarrierIndiaIoni Bowcher QUALIFIED
Leja W BriddickItalyBernardo Dominic UNQUALIFIED
Leja R WhobreyRussiaElwin Sharvill RENEWAL
Kaitlin D TollnerCanadaAsiya Javayant UNQUALIFIED
Leja B CaldareraFranceElwin Sharvill NEW
Jefferson S VenereIndiaXuxue Feng PROPOSAL
Emily R PerinIndiaElwin Sharvill PROPOSAL
Jennifer A NestleGermanyXuxue Feng UNQUALIFIED
Kadeem V FlosiBrazilAmy Elsner RENEWAL
Smith K SchemmerArgentinaElwin Sharvill NEGOTIATION
Deepesh V FlosiJapanIoni Bowcher NEW
Ivar J PaprockiBrazilElwin Sharvill QUALIFIED
Ashley E BriddickBrazilBernardo Dominic PROPOSAL
Kaitlin Q RimGermanyAsiya Javayant PROPOSAL
Deepesh Y IturbideSpainStephen Shaw PROPOSAL
Wickens H IturbideAustraliaAnna Fali QUALIFIED
Rodrigues V FerenczIndiaAnna Fali PROPOSAL
Jennifer K SergiUnited KingdomStephen Shaw QUALIFIED
Aditya Z RimCanadaBernardo Dominic RENEWAL
Maria M SaylorsIndiaXuxue Feng NEGOTIATION
Jeanfrancois X DilliardItalyElwin Sharvill QUALIFIED
Isabel Y SlusarskiCanadaElwin Sharvill NEW
Faith G MorascaRussiaAnna Fali PROPOSAL
Munro A NickaAustraliaAsiya Javayant PROPOSAL
Smith Y CaldareraCanadaIoni Bowcher NEGOTIATION
Aruna D PaprockiCanadaXuxue Feng QUALIFIED
Mayumi Q VocelkaGermanyXuxue Feng RENEWAL
Sinclair J ChuiSpainXuxue Feng PROPOSAL
David Z SlusarskiBrazilElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Juan B Ostrosky
Cody Q Slusarski
Maisha J Inouye
Maisha K Oldroyd
Misaki U Garufi
Clifford G Slusarski
Aruna N Nestle
Murillo X Darakjy
Juan B Caldarera
Leon P Ruta
Stacey K Amigon
Leon X Saylors
Isabel T Chui
Johnson U Saylors
Deepesh H Venere
Cody E Malet
Alejandro D Amigon
Salvatore E Maclead
Maisha B Nestle
Octavia Y Bolognia
Izzy I Ostrosky
Silvio U Ferencz
Johnson T Whobrey
Smith L Slusarski
Cody P Saylors
Salvatore Z Garufi
Leja Y Flosi
Aika V Maclead
Jeanfrancois V Ferencz
Octavia A Royster
Izzy E Campain
Leon L Caldarera
Kaitlin Y Paprocki
Mayumi U Ruta
Greenwood Q Marrier
Smith E Rulapaugh
Wickens A Ferencz
Cody G Rim
Kadeem R Flosi
Darci O Bolognia
Nicolas J Iturbide
Silvio L Morasca
Leja F Amigon
Johnson Y Gaucho
Ricardo P Dilliard
Leja H Stockham
Kadeem H Morasca
Cody C Butt
Tony Y Maclead
Leon R Inouye
IdCountryDate
1000Spain2024-06-18
1001Japan2024-06-19
1002France2024-06-17
1003Brazil2024-06-03
1004Japan2024-06-18
1005Japan2024-06-15
1006Brazil2024-06-04
1007Brazil2024-06-13
1008Spain2024-05-23
1009Germany2024-06-13
1010Spain2024-06-07
1011Canada2024-05-23
1012India2024-06-08
1013France2024-06-18
1014Germany2024-05-25
1015Argentina2024-06-05
1016United Kingdom2024-06-06
1017Australia2024-06-07
1018Argentina2024-06-02
1019Germany2024-06-19
1020Canada2024-06-20
1021Spain2024-06-03
1022India2024-05-30
1023Australia2024-06-01
1024India2024-05-31
1025Russia2024-06-18
1026France2024-06-05
1027Russia2024-06-12
1028France2024-06-18
1029Italy2024-05-30
1030India2024-06-01
1031Italy2024-05-31
1032Brazil2024-06-05
1033Argentina2024-06-20
1034India2024-06-04
1035United Kingdom2024-05-25
1036Japan2024-06-14
1037France2024-05-28
1038Russia2024-05-30
1039Spain2024-05-31
1040Argentina2024-05-23
1041France2024-06-11
1042Argentina2024-06-07
1043France2024-06-19
1044Canada2024-06-08
1045United Kingdom2024-05-28
1046Brazil2024-06-08
1047Italy2024-06-03
1048Russia2024-06-16
1049Germany2024-06-01

On-Demand Data

NameIdCountryDate
Arvin H Flosi1000Italy2024-06-19
Kadeem P Figeroa1001United Kingdom2024-06-06
Stacey U Doe1002Japan2024-06-01
Arvin S Gaucho1003France2024-06-21
Francesco Q Slusarski1004Brazil2024-06-15
Leja J Darakjy1005Australia2024-05-30
Octavia P Saylors1006Russia2024-06-07
Chavez F Campain1007Brazil2024-06-05
Deepesh M Royster1008United Kingdom2024-06-10
Greenwood M Malet1009Italy2024-06-18
Maria P Briddick1010United Kingdom2024-06-07
Wickens T Maclead1011India2024-06-03
Maria D Darakjy1012Germany2024-06-13
Leon F Paprocki1013Australia2024-05-27
Adams U Paprocki1014Brazil2024-06-10
Aruna D Caudy1015France2024-06-07
Maisha H Kolmetz1016Germany2024-06-09
Maria V Figeroa1017Canada2024-05-30
Izzy F Slusarski1018Australia2024-05-27
Maria A Sergi1019Brazil2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar D BologniaItalyOnyama Limba RENEWAL
Antonio D DarakjyUnited KingdomElwin Sharvill NEW
Salvatore T PoquetteIndiaOnyama Limba RENEWAL
Leja C AlbaresGermanyAnna Fali RENEWAL
Chavez T FerenczCanadaIoni Bowcher QUALIFIED
Salvatore N MarrierGermanyElwin Sharvill NEW
Greenwood T GauchoUnited KingdomElwin Sharvill RENEWAL
James S MaletIndiaAsiya Javayant RENEWAL
Johnson W FlosiFranceStephen Shaw NEW
Mujtaba X MaletGermanyAmy Elsner NEGOTIATION
Julie F FerenczArgentinaXuxue Feng UNQUALIFIED
Alejandro P StockhamSpainAmy Elsner UNQUALIFIED
Leja K KolmetzAustraliaAsiya Javayant UNQUALIFIED
Alejandro V FerenczCanadaBernardo Dominic RENEWAL
Leja N SchemmerGermanyXuxue Feng NEW
Faith J MacleadGermanyAnna Fali PROPOSAL
Morrow H FlosiIndiaXuxue Feng NEW
Sinclair M SlusarskiIndiaAsiya Javayant NEGOTIATION
Maisha R TollnerSpainAnna Fali PROPOSAL
Wickens N NickaAustraliaOnyama Limba RENEWAL
Sinclair F RimCanadaAmy Elsner QUALIFIED
Juan E StensethJapanIvan Magalhaes RENEWAL
Kaitlin Y VocelkaUnited KingdomAnna Fali QUALIFIED
Greenwood R RulapaughSpainXuxue Feng NEGOTIATION
Salvatore B VocelkaBrazilIvan Magalhaes QUALIFIED
Aruna I IturbideArgentinaStephen Shaw NEW
Aruna N OldroydIndiaAsiya Javayant RENEWAL
Deepesh X MaletBrazilAsiya Javayant RENEWAL
Izzy C RoysterJapanAmy Elsner QUALIFIED
Silvio F GauchoGermanyBernardo Dominic PROPOSAL
Adams P GarufiUnited KingdomAnna Fali PROPOSAL
Maria E ButtUnited KingdomAnna Fali NEGOTIATION
Emily K MacleadAustraliaAmy Elsner UNQUALIFIED
Chavez R KuskoCanadaOnyama Limba NEW
Jones P TollnerJapanIvan Magalhaes UNQUALIFIED
Antonio G GarufiIndiaXuxue Feng NEGOTIATION
Adams M FollerBrazilIvan Magalhaes PROPOSAL
Stacey J VocelkaRussiaBernardo Dominic UNQUALIFIED
Kadeem K WaycottRussiaIvan Magalhaes QUALIFIED
Greenwood A WhobreyCanadaStephen Shaw 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>