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 S GarufiItalyElwin Sharvill RENEWAL
Sinclair H GauchoSpainBernardo Dominic PROPOSAL
Jennifer R ShinkoRussiaIoni Bowcher PROPOSAL
Mujtaba P FollerJapanAmy Elsner RENEWAL
Kadeem L PoquetteRussiaOnyama Limba QUALIFIED
Claire N GlickFranceXuxue Feng RENEWAL
Jennifer L FigeroaJapanStephen Shaw PROPOSAL
Izzy Q WaycottRussiaElwin Sharvill NEGOTIATION
Jones R RoysterIndiaAnna Fali PROPOSAL
Darci L WhobreyBrazilStephen Shaw NEW
Claire U RimUnited KingdomStephen Shaw NEW
Misaki C PerinSpainOnyama Limba NEW
Adams R KolmetzGermanyIvan Magalhaes NEW
Isabel G SchemmerGermanyIoni Bowcher NEW
Juan Z RulapaughBrazilOnyama Limba NEW
Wickens B AmigonGermanyAsiya Javayant NEW
Jeanfrancois U NickaCanadaAmy Elsner NEW
Izzy Q ShinkoUnited KingdomIoni Bowcher QUALIFIED
Johnson K StockhamBrazilElwin Sharvill RENEWAL
Tony I GarufiIndiaAnna Fali NEW
Wickens G ShinkoJapanAsiya Javayant RENEWAL
Isabel P KolmetzGermanyXuxue Feng NEW
Sinclair L ChuiArgentinaAnna Fali UNQUALIFIED
Smith O KuskoCanadaOnyama Limba QUALIFIED
Faith X PerinRussiaAsiya Javayant QUALIFIED
Mujtaba P InouyeJapanOnyama Limba RENEWAL
David Z VenereCanadaStephen Shaw UNQUALIFIED
Jennifer K BowleyUnited KingdomStephen Shaw NEW
Aditya E PaprockiGermanyAmy Elsner QUALIFIED
Ricardo H RimRussiaOnyama Limba NEGOTIATION
Johnson A MaletGermanyOnyama Limba RENEWAL
Costa B GlickJapanAsiya Javayant PROPOSAL
Greenwood T PoquetteSpainXuxue Feng NEW
Greenwood C GlickJapanAnna Fali RENEWAL
Rodrigues U WhobreyJapanOnyama Limba NEGOTIATION
Juan I WhobreyGermanyAmy Elsner NEGOTIATION
Ivar U PerinRussiaAsiya Javayant PROPOSAL
James S BologniaAustraliaAmy Elsner PROPOSAL
Leon P DilliardFranceAsiya Javayant PROPOSAL
Kaitlin N StockhamIndiaOnyama Limba PROPOSAL
Salvatore C WieserSpainIoni Bowcher NEGOTIATION
Salvatore L NestleAustraliaXuxue Feng UNQUALIFIED
Salvatore J MacleadItalyOnyama Limba NEGOTIATION
Ivar Q AmigonItalyAmy Elsner UNQUALIFIED
James H RoysterAustraliaAmy Elsner PROPOSAL
Julie L SlusarskiItalyIvan Magalhaes PROPOSAL
Izzy H PoquetteGermanyIvan Magalhaes RENEWAL
Darci C OstroskyItalyElwin Sharvill RENEWAL
Stacey O KuskoRussiaAsiya Javayant NEGOTIATION
Kaitlin U DilliardJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh F DarakjyItalyElwin Sharvill NEGOTIATION
Nicolas Z MorascaRussiaStephen Shaw PROPOSAL
Wickens O RutaSpainAmy Elsner RENEWAL
Aika A FigeroaItalyStephen Shaw PROPOSAL
Deepesh H BriddickItalyIoni Bowcher UNQUALIFIED
James P SergiBrazilBernardo Dominic QUALIFIED
Jeanfrancois M PerinRussiaBernardo Dominic UNQUALIFIED
Emily X CaudyArgentinaXuxue Feng PROPOSAL
Chavez P ButtSpainAmy Elsner NEGOTIATION
Greenwood T GauchoCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W StensethUnited Kingdom2025-04-14Chemel, James L Cpa NEGOTIATION60Amy Elsner
1001Wickens L SergiJapan2025-04-11Feiner Bros UNQUALIFIED97Stephen Shaw
1002Wickens M SaylorsJapan2025-04-25Dorl, James J Esq QUALIFIED22Onyama Limba
1003David B SaylorsJapan2025-04-10Chemel, James L Cpa PROPOSAL32Bernardo Dominic
1004Jeanfrancois G FigeroaUnited Kingdom2025-04-01Chemel, James L Cpa PROPOSAL57Xuxue Feng
1005Sinclair M IturbideIndia2025-04-10Feiner Bros QUALIFIED32Ivan Magalhaes
1006Costa I CampainUnited Kingdom2025-04-21Benton, John B Jr NEW42Anna Fali
1007Jones X DilliardBrazil2025-04-20Printing Dimensions QUALIFIED98Ivan Magalhaes
1008Clifford E CaldareraFrance2025-04-14Chemel, James L Cpa NEW12Asiya Javayant
1009Faith F GauchoAustralia2025-04-17Chanay, Jeffrey A Esq NEW18Elwin Sharvill
1010Darci Y BowleyFrance2025-04-18Chapman, Ross E Esq PROPOSAL46Stephen Shaw
1011Stacey U WieserIndia2025-04-11Morlong Associates NEW65Ivan Magalhaes
1012Johnson I StockhamAustralia2025-04-29Rousseaux, Michael Esq UNQUALIFIED35Elwin Sharvill
1013Izzy U FlosiSpain2025-04-30Dorl, James J Esq UNQUALIFIED54Amy Elsner
1014Kaitlin O ShinkoUnited Kingdom2025-04-22Feiner Bros NEGOTIATION34Anna Fali
1015Maisha Q InouyeIndia2025-04-21Benton, John B Jr RENEWAL67Onyama Limba
1016Ricardo Z PaprockiFrance2025-04-13Rousseaux, Michael Esq UNQUALIFIED82Asiya Javayant
1017Clifford U OldroydSpain2025-04-11Commercial Press PROPOSAL14Stephen Shaw
1018Kadeem E NickaItaly2025-04-10Morlong Associates NEW85Elwin Sharvill
1019Arvin F PaprockiUnited Kingdom2025-04-08Dorl, James J Esq UNQUALIFIED4Xuxue Feng
1020Leon C GlickItaly2025-04-28Buckley Miller Wright QUALIFIED10Ioni Bowcher
1021Antonio I SergiBrazil2025-04-14Chemel, James L Cpa QUALIFIED96Ioni Bowcher
1022Julie L StockhamJapan2025-04-12Dorl, James J Esq NEGOTIATION17Ivan Magalhaes
1023Adams K AmigonAustralia2025-04-15Chemel, James L Cpa RENEWAL71Bernardo Dominic
1024Adams M FollerJapan2025-04-19Chapman, Ross E Esq RENEWAL76Elwin Sharvill
1025Octavia M MarrierRussia2025-04-25Morlong Associates NEW70Anna Fali
1026Stacey H GlickFrance2025-04-02Rousseaux, Michael Esq RENEWAL64Xuxue Feng
1027Kadeem S VocelkaUnited Kingdom2025-04-28Rousseaux, Michael Esq NEGOTIATION6Stephen Shaw
1028Francesco C MacleadCanada2025-04-28Printing Dimensions QUALIFIED77Xuxue Feng
1029Arvin U RimItaly2025-04-15Feiner Bros PROPOSAL37Amy Elsner
1030Tony J ShinkoJapan2025-04-18Benton, John B Jr NEGOTIATION25Onyama Limba
1031Antonio H ShinkoItaly2025-04-06Rousseaux, Michael Esq NEW91Stephen Shaw
1032Misaki L GillianRussia2025-04-28Feltz Printing Service QUALIFIED14Onyama Limba
1033Jefferson A WhobreyCanada2025-04-02Buckley Miller Wright NEW56Ioni Bowcher
1034Sinclair F WieserRussia2025-04-11Buckley Miller Wright QUALIFIED46Stephen Shaw
1035Tony D KuskoAustralia2025-04-02Feltz Printing Service PROPOSAL7Asiya Javayant
1036Ricardo F OldroydFrance2025-04-26Feltz Printing Service UNQUALIFIED62Bernardo Dominic
1037Leon O BriddickAustralia2025-04-16Rangoni Of Florence RENEWAL4Bernardo Dominic
1038Antonio V VocelkaArgentina2025-04-20Chemel, James L Cpa QUALIFIED92Asiya Javayant
1039Stacey O VenereArgentina2025-04-05Commercial Press NEGOTIATION73Ioni Bowcher
1040Arvin S GarufiIndia2025-04-13Chemel, James L Cpa NEW36Ioni Bowcher
1041Ashley R PerinJapan2025-04-23Rousseaux, Michael Esq RENEWAL66Ioni Bowcher
1042Maisha J DilliardAustralia2025-04-17Chanay, Jeffrey A Esq PROPOSAL54Ioni Bowcher
1043Tony U TollnerRussia2025-04-16Chemel, James L Cpa NEW52Elwin Sharvill
1044Juan K RutaUnited Kingdom2025-04-22Rousseaux, Michael Esq QUALIFIED84Amy Elsner
1045Adams X NickaAustralia2025-04-14King, Christopher A Esq RENEWAL98Amy Elsner
1046Adams V FigeroaFrance2025-04-19Chanay, Jeffrey A Esq QUALIFIED69Amy Elsner
1047Murillo E TollnerArgentina2025-04-16Dorl, James J Esq NEW86Bernardo Dominic
1048Salvatore U RimItaly2025-04-23Feltz Printing Service QUALIFIED0Onyama Limba
1049Kaitlin G BriddickCanada2025-04-13Rangoni Of Florence NEGOTIATION23Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
David C FigeroaArgentinaStephen Shaw NEGOTIATION
Wickens Q StensethFranceElwin Sharvill PROPOSAL
Faith Q RutaAustraliaAnna Fali NEW
Wickens V FlosiSpainXuxue Feng RENEWAL
Maria E BriddickGermanyIoni Bowcher NEGOTIATION
Arvin S MacleadItalyOnyama Limba RENEWAL
Deepesh A RulapaughIndiaStephen Shaw PROPOSAL
Emily X StockhamFranceBernardo Dominic NEW
Nicolas Z AmigonArgentinaElwin Sharvill UNQUALIFIED
Sinclair M BologniaRussiaAnna Fali PROPOSAL
Leon B WieserGermanyBernardo Dominic QUALIFIED
Chavez L DilliardIndiaElwin Sharvill NEW
Munro Y GarufiBrazilAsiya Javayant RENEWAL
Aruna R ShinkoSpainIoni Bowcher NEW
Isabel Q WhobreyRussiaElwin Sharvill UNQUALIFIED
Aruna I StensethSpainIoni Bowcher NEGOTIATION
Ashley M VenereUnited KingdomIoni Bowcher NEW
Mayumi E PaprockiJapanXuxue Feng NEGOTIATION
Aruna L NestleBrazilIoni Bowcher RENEWAL
Octavia X PerinArgentinaXuxue Feng UNQUALIFIED
Nicolas W MarrierGermanyOnyama Limba NEGOTIATION
Maria M MacleadArgentinaAnna Fali PROPOSAL
Morrow H DoeBrazilStephen Shaw RENEWAL
Cody Y RimRussiaBernardo Dominic UNQUALIFIED
Isabel R PoquetteSpainAnna Fali RENEWAL
Misaki Q SlusarskiArgentinaBernardo Dominic NEW
Julie V ShinkoUnited KingdomAsiya Javayant RENEWAL
Antonio B SchemmerArgentinaIvan Magalhaes RENEWAL
Wickens F FerenczUnited KingdomElwin Sharvill QUALIFIED
Adams I KolmetzJapanAmy Elsner NEGOTIATION
Sinclair P FlosiBrazilIvan Magalhaes NEW
Ricardo U BowleyFranceStephen Shaw PROPOSAL
Kadeem O RulapaughBrazilElwin Sharvill NEW
Maria O GarufiGermanyIvan Magalhaes NEGOTIATION
Juan R MaletGermanyAnna Fali PROPOSAL
Emily Z GlickJapanElwin Sharvill PROPOSAL
Antonio R SchemmerItalyElwin Sharvill NEGOTIATION
Jefferson B PerinArgentinaXuxue Feng QUALIFIED
Wickens B GlickSpainAmy Elsner NEW
Munro U NestleIndiaAnna Fali NEGOTIATION
Salvatore L OstroskyGermanyBernardo Dominic NEGOTIATION
Cody H PaprockiBrazilIvan Magalhaes UNQUALIFIED
Izzy Z KolmetzBrazilBernardo Dominic PROPOSAL
Clifford R ButtItalyIvan Magalhaes PROPOSAL
Aditya S CaldareraSpainIvan Magalhaes RENEWAL
Adams B DoeFranceAnna Fali RENEWAL
Adams J SergiJapanXuxue Feng PROPOSAL
Murillo M KuskoRussiaAnna Fali UNQUALIFIED
Costa U NickaBrazilAsiya Javayant NEGOTIATION
Sinclair K BologniaJapanAnna Fali NEW
Frozen Columns
Name
Ricardo Z Iturbide
Alejandro M Wieser
Munro F Albares
Mayumi W Slusarski
Ricardo G Malet
Stacey B Garufi
Octavia B Rulapaugh
Aditya J Vocelka
Juan O Chui
Munro O Gillian
Izzy T Saylors
Smith M Wieser
Maisha X Butt
Stacey P Malet
James B Morasca
Silvio I Venere
Emily Z Amigon
Octavia M Maclead
Silvio B Waycott
Juan L Inouye
Kaitlin W Gillian
Julie W Poquette
Munro D Ostrosky
Nicolas F Doe
James S Glick
Nicolas Q Ruta
Murillo Y Albares
Wickens G Malet
Nicolas N Kusko
Morrow P Poquette
Leja A Marrier
Mayumi Q Maclead
Ashley Z Gillian
Nicolas X Bolognia
Aika X Figeroa
Aruna P Rim
Tony Y Malet
Greenwood E Rim
Adams A Perin
Aditya G Tollner
Murillo T Oldroyd
Jennifer T Foller
Munro Y Dilliard
Costa T Caudy
Rodrigues F Stockham
Jones V Oldroyd
Izzy B Gaucho
Wickens L Poquette
Aruna A Ruta
Johnson K Inouye
IdCountryDate
1000Argentina2025-04-23
1001Italy2025-04-28
1002France2025-04-04
1003Australia2025-04-26
1004Russia2025-04-15
1005Russia2025-04-23
1006United Kingdom2025-04-23
1007France2025-04-09
1008Spain2025-04-17
1009Japan2025-04-11
1010India2025-04-10
1011Argentina2025-04-12
1012Italy2025-04-20
1013United Kingdom2025-04-08
1014United Kingdom2025-04-11
1015Russia2025-04-03
1016Russia2025-04-29
1017Japan2025-04-26
1018Japan2025-04-28
1019France2025-04-24
1020Russia2025-04-08
1021Canada2025-04-04
1022India2025-04-03
1023Spain2025-04-04
1024Spain2025-04-09
1025France2025-04-28
1026United Kingdom2025-04-10
1027Spain2025-04-02
1028Japan2025-04-25
1029Australia2025-04-18
1030Canada2025-04-18
1031India2025-04-20
1032Australia2025-04-25
1033Argentina2025-04-01
1034Italy2025-04-29
1035Japan2025-04-08
1036Brazil2025-04-23
1037Australia2025-04-07
1038Italy2025-04-04
1039Italy2025-04-01
1040Argentina2025-04-08
1041Italy2025-04-17
1042Argentina2025-04-16
1043Brazil2025-04-07
1044Germany2025-04-11
1045Italy2025-04-27
1046Spain2025-04-28
1047France2025-04-24
1048Brazil2025-04-27
1049Italy2025-04-02

On-Demand Data

NameIdCountryDate
Leja M Oldroyd1000Brazil2025-04-01
Aditya B Iturbide1001United Kingdom2025-04-24
Costa D Amigon1002Argentina2025-04-11
Munro J Caldarera1003Australia2025-04-29
Francesco J Inouye1004Argentina2025-04-12
Juan V Gaucho1005Spain2025-04-13
Greenwood X Rulapaugh1006Spain2025-04-22
Aditya M Inouye1007Russia2025-04-04
Johnson R Albares1008France2025-04-27
Murillo W Ruta1009Russia2025-04-16
Faith W Gaucho1010Australia2025-04-12
Alejandro O Butt1011Spain2025-04-02
Greenwood O Darakjy1012Spain2025-04-28
Salvatore I Vocelka1013France2025-04-17
Ashley E Sergi1014Australia2025-04-24
Maisha C Doe1015Italy2025-04-09
Faith Q Amigon1016Japan2025-04-26
Sinclair B Marrier1017Australia2025-04-06
Wickens S Paprocki1018Spain2025-04-10
Mujtaba R Rulapaugh1019Canada2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa R StensethSpainAmy Elsner UNQUALIFIED
Arvin C CampainRussiaElwin Sharvill PROPOSAL
Octavia O GarufiSpainElwin Sharvill NEW
Julie Q MaletIndiaXuxue Feng PROPOSAL
Faith J FollerUnited KingdomXuxue Feng PROPOSAL
Silvio S MacleadJapanBernardo Dominic RENEWAL
James W NickaJapanIvan Magalhaes UNQUALIFIED
Morrow K StockhamCanadaAnna Fali PROPOSAL
Kaitlin Q SaylorsArgentinaAnna Fali NEGOTIATION
Faith P MorascaAustraliaAsiya Javayant NEGOTIATION
Isabel M GarufiAustraliaStephen Shaw QUALIFIED
Francesco M VenereJapanAnna Fali UNQUALIFIED
Ashley S FlosiBrazilIoni Bowcher NEW
Isabel R FollerRussiaAsiya Javayant RENEWAL
Mayumi D IturbideSpainIoni Bowcher NEGOTIATION
Munro H BriddickFranceAmy Elsner UNQUALIFIED
Costa F MaletJapanAnna Fali RENEWAL
Murillo H OldroydUnited KingdomXuxue Feng UNQUALIFIED
Jennifer Y ChuiBrazilAnna Fali PROPOSAL
Wickens Y GlickJapanAmy Elsner UNQUALIFIED
Chavez T BowleyRussiaXuxue Feng NEW
David O CaudyIndiaElwin Sharvill NEW
Aika J DarakjyAustraliaAmy Elsner NEGOTIATION
Sinclair U GlickItalyXuxue Feng PROPOSAL
Munro C InouyeCanadaOnyama Limba NEW
Francesco G PaprockiSpainXuxue Feng NEW
Ricardo F WaycottBrazilAmy Elsner NEGOTIATION
Izzy S MarrierBrazilIoni Bowcher NEGOTIATION
Faith Y SchemmerFranceOnyama Limba PROPOSAL
Arvin I PerinIndiaStephen Shaw NEW
Aruna F StensethRussiaIoni Bowcher NEGOTIATION
Stacey K DoeIndiaElwin Sharvill RENEWAL
Silvio A MacleadCanadaIoni Bowcher UNQUALIFIED
Ivar G RutaSpainAsiya Javayant NEW
Aika D KuskoUnited KingdomElwin Sharvill NEW
Mujtaba K ChuiAustraliaBernardo Dominic NEGOTIATION
Morrow P NickaFranceAmy Elsner UNQUALIFIED
Jones K FigeroaIndiaStephen Shaw NEW
Maisha S PerinAustraliaIoni Bowcher NEW
Salvatore R SlusarskiCanadaAsiya Javayant 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>