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 F RimBrazilStephen Shaw NEW
Aruna X PoquetteJapanStephen Shaw QUALIFIED
Leja Q DoeGermanyBernardo Dominic PROPOSAL
Aruna M ButtGermanyAmy Elsner UNQUALIFIED
Sinclair Z OstroskyFranceBernardo Dominic QUALIFIED
Octavia O GauchoGermanyStephen Shaw RENEWAL
Clifford Y MarrierAustraliaOnyama Limba UNQUALIFIED
Silvio W SergiAustraliaBernardo Dominic NEGOTIATION
Kadeem G MarrierGermanyIvan Magalhaes UNQUALIFIED
Aditya F GillianSpainOnyama Limba RENEWAL
Izzy B GillianCanadaIvan Magalhaes UNQUALIFIED
Smith N StensethRussiaStephen Shaw RENEWAL
Isabel L ButtRussiaIoni Bowcher RENEWAL
Maria T KolmetzGermanyBernardo Dominic NEGOTIATION
Ashley P FerenczIndiaAmy Elsner QUALIFIED
Morrow R PoquetteSpainXuxue Feng UNQUALIFIED
David V RimArgentinaOnyama Limba RENEWAL
Silvio B GlickIndiaAsiya Javayant RENEWAL
Octavia K GillianItalyOnyama Limba QUALIFIED
Tony G FerenczBrazilStephen Shaw RENEWAL
Jeanfrancois S NestleUnited KingdomIvan Magalhaes UNQUALIFIED
James W PaprockiItalyStephen Shaw UNQUALIFIED
Arvin Y NickaRussiaAnna Fali UNQUALIFIED
Smith U CaudyCanadaBernardo Dominic NEGOTIATION
Silvio K MorascaGermanyAsiya Javayant PROPOSAL
Claire N RimItalyElwin Sharvill UNQUALIFIED
Leon O NestleFranceStephen Shaw UNQUALIFIED
Deepesh R WaycottSpainXuxue Feng NEW
Sinclair L SaylorsGermanyOnyama Limba RENEWAL
Aditya S FigeroaRussiaIvan Magalhaes NEGOTIATION
Emily Q GauchoCanadaStephen Shaw PROPOSAL
Wickens Q NickaItalyAmy Elsner UNQUALIFIED
Jones L BologniaUnited KingdomStephen Shaw NEGOTIATION
Sinclair K KolmetzArgentinaAmy Elsner NEGOTIATION
Nicolas B FlosiRussiaIvan Magalhaes RENEWAL
Chavez D WieserAustraliaAmy Elsner UNQUALIFIED
Leja X CaldareraBrazilAnna Fali QUALIFIED
Mayumi R InouyeBrazilAmy Elsner UNQUALIFIED
Leja Q MaletBrazilXuxue Feng PROPOSAL
Clifford P CaudyGermanyOnyama Limba RENEWAL
Ricardo Y RutaUnited KingdomOnyama Limba NEW
Mujtaba A PaprockiCanadaIoni Bowcher RENEWAL
James U NickaRussiaBernardo Dominic NEW
David L DilliardSpainBernardo Dominic PROPOSAL
Leon N KolmetzJapanAsiya Javayant UNQUALIFIED
James X AlbaresItalyElwin Sharvill UNQUALIFIED
Jefferson V GauchoAustraliaElwin Sharvill NEGOTIATION
Jennifer D GlickBrazilAsiya Javayant NEW
Stacey K MaletIndiaAnna Fali NEGOTIATION
Maisha R CaudyItalyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo T DarakjyIndiaElwin Sharvill RENEWAL
Mayumi C OldroydSpainIoni Bowcher PROPOSAL
Octavia C RimRussiaAmy Elsner NEW
Ashley O NestleSpainElwin Sharvill RENEWAL
Jones V NestleSpainIoni Bowcher QUALIFIED
Chavez K VocelkaCanadaStephen Shaw PROPOSAL
Leja K KuskoRussiaIvan Magalhaes PROPOSAL
Emily X MacleadRussiaBernardo Dominic PROPOSAL
Arvin V NestleCanadaAnna Fali UNQUALIFIED
Adams U WaycottFranceIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David D CaudyArgentina2024-04-29Printing Dimensions NEGOTIATION78Stephen Shaw
1001Kadeem G RulapaughFrance2024-04-30Dorl, James J Esq QUALIFIED76Asiya Javayant
1002Kaitlin B DarakjyRussia2024-05-14Chapman, Ross E Esq NEW4Onyama Limba
1003Jefferson I MaletRussia2024-04-30Printing Dimensions RENEWAL16Onyama Limba
1004Jennifer Q FlosiItaly2024-04-28King, Christopher A Esq RENEWAL47Elwin Sharvill
1005Leon C RimBrazil2024-05-05Rousseaux, Michael Esq PROPOSAL5Stephen Shaw
1006Murillo F GarufiSpain2024-05-08Chanay, Jeffrey A Esq NEGOTIATION85Elwin Sharvill
1007Mayumi L MarrierJapan2024-05-02Chanay, Jeffrey A Esq NEGOTIATION76Ivan Magalhaes
1008Julie U StensethBrazil2024-05-06Rousseaux, Michael Esq UNQUALIFIED88Amy Elsner
1009Rodrigues D KuskoIndia2024-05-23Rousseaux, Michael Esq PROPOSAL27Amy Elsner
1010Ashley N GlickBrazil2024-05-21Rousseaux, Michael Esq UNQUALIFIED88Asiya Javayant
1011David Z MorascaAustralia2024-05-23Feltz Printing Service UNQUALIFIED92Onyama Limba
1012Ashley S GillianArgentina2024-05-08Buckley Miller Wright PROPOSAL22Bernardo Dominic
1013Munro I PerinJapan2024-05-17King, Christopher A Esq UNQUALIFIED45Ioni Bowcher
1014Clifford J SlusarskiBrazil2024-05-14Chemel, James L Cpa UNQUALIFIED35Elwin Sharvill
1015Arvin J CaldareraBrazil2024-05-07King, Christopher A Esq RENEWAL10Onyama Limba
1016Chavez T ShinkoRussia2024-05-26Rousseaux, Michael Esq RENEWAL25Bernardo Dominic
1017Johnson S FerenczFrance2024-05-27Chapman, Ross E Esq NEW78Xuxue Feng
1018Costa K MaletIndia2024-05-07Truhlar And Truhlar Attys PROPOSAL44Amy Elsner
1019Aditya Z WaycottIndia2024-05-05Morlong Associates PROPOSAL60Anna Fali
1020Kaitlin K DarakjyFrance2024-05-26Rangoni Of Florence QUALIFIED27Onyama Limba
1021Octavia H FlosiUnited Kingdom2024-05-19Chanay, Jeffrey A Esq NEW45Ivan Magalhaes
1022Ricardo H OstroskyArgentina2024-04-28Rousseaux, Michael Esq UNQUALIFIED82Bernardo Dominic
1023Mayumi O MorascaFrance2024-05-01Printing Dimensions NEGOTIATION25Asiya Javayant
1024Leon V VenereUnited Kingdom2024-05-01Benton, John B Jr RENEWAL91Bernardo Dominic
1025Aditya S TollnerGermany2024-05-08Feiner Bros UNQUALIFIED84Asiya Javayant
1026Johnson T FerenczFrance2024-05-18Feltz Printing Service NEGOTIATION65Elwin Sharvill
1027Claire Q NestleRussia2024-05-06Chapman, Ross E Esq PROPOSAL38Asiya Javayant
1028Nicolas I BowleyAustralia2024-04-30Printing Dimensions PROPOSAL62Elwin Sharvill
1029Isabel A BologniaSpain2024-05-02Morlong Associates QUALIFIED15Ioni Bowcher
1030Emily P NickaGermany2024-05-13Rousseaux, Michael Esq PROPOSAL91Asiya Javayant
1031Jones C DarakjyFrance2024-05-04Rangoni Of Florence NEW67Xuxue Feng
1032Silvio A InouyeJapan2024-05-02Buckley Miller Wright NEW30Ioni Bowcher
1033Deepesh R SchemmerItaly2024-04-30Truhlar And Truhlar Attys QUALIFIED10Onyama Limba
1034Leon G ChuiIndia2024-05-26Printing Dimensions NEW92Asiya Javayant
1035Izzy U DilliardUnited Kingdom2024-05-16Buckley Miller Wright NEW92Ivan Magalhaes
1036Aika N OstroskyItaly2024-05-04Commercial Press RENEWAL65Xuxue Feng
1037Deepesh O GauchoUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED97Ivan Magalhaes
1038Murillo U FlosiSpain2024-05-26Feiner Bros NEW56Onyama Limba
1039Faith C FollerCanada2024-05-17Buckley Miller Wright UNQUALIFIED53Asiya Javayant
1040Claire Z WhobreySpain2024-05-23Truhlar And Truhlar Attys QUALIFIED30Amy Elsner
1041David Q PerinItaly2024-05-12Buckley Miller Wright NEGOTIATION94Onyama Limba
1042Juan B SaylorsGermany2024-05-14Commercial Press RENEWAL33Bernardo Dominic
1043Tony N TollnerGermany2024-05-27Feiner Bros PROPOSAL15Ivan Magalhaes
1044Ashley R FerenczItaly2024-05-26Buckley Miller Wright RENEWAL78Xuxue Feng
1045Adams H GlickRussia2024-05-01Rangoni Of Florence NEGOTIATION90Bernardo Dominic
1046Juan R ShinkoAustralia2024-05-16Morlong Associates RENEWAL50Anna Fali
1047Mujtaba T ChuiIndia2024-05-05Feiner Bros QUALIFIED90Amy Elsner
1048Mujtaba B NestleUnited Kingdom2024-05-08Rousseaux, Michael Esq QUALIFIED28Onyama Limba
1049Francesco K StockhamFrance2024-05-20Printing Dimensions UNQUALIFIED74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ricardo D FlosiAustraliaStephen Shaw NEGOTIATION
Deepesh Z RulapaughUnited KingdomStephen Shaw QUALIFIED
Jennifer O ChuiIndiaOnyama Limba UNQUALIFIED
Alejandro X MaletAustraliaStephen Shaw UNQUALIFIED
Mujtaba P MarrierGermanyAnna Fali RENEWAL
Misaki W NestleRussiaBernardo Dominic PROPOSAL
Sinclair E MacleadBrazilIoni Bowcher QUALIFIED
Clifford S VocelkaArgentinaElwin Sharvill UNQUALIFIED
Ashley E SlusarskiAustraliaBernardo Dominic PROPOSAL
Izzy B SchemmerItalyXuxue Feng UNQUALIFIED
Jennifer Z ShinkoFranceXuxue Feng NEGOTIATION
Antonio P MaletGermanyAmy Elsner NEW
Chavez K CampainAustraliaIoni Bowcher UNQUALIFIED
Jones S StockhamArgentinaAsiya Javayant QUALIFIED
Mujtaba B ButtIndiaOnyama Limba NEGOTIATION
Aruna R KuskoAustraliaOnyama Limba NEGOTIATION
Jones Z CaldareraIndiaElwin Sharvill PROPOSAL
Kaitlin C KolmetzBrazilIvan Magalhaes QUALIFIED
Murillo A SchemmerJapanIvan Magalhaes RENEWAL
Greenwood A ShinkoSpainStephen Shaw UNQUALIFIED
Kaitlin D RulapaughJapanBernardo Dominic RENEWAL
Rodrigues B FigeroaFranceStephen Shaw NEW
Faith Y KolmetzAustraliaIvan Magalhaes NEW
Kaitlin W ChuiJapanOnyama Limba NEGOTIATION
Francesco J RulapaughJapanOnyama Limba NEW
Mayumi V PoquetteItalyIvan Magalhaes PROPOSAL
Leja U PaprockiArgentinaOnyama Limba PROPOSAL
Izzy J TollnerJapanElwin Sharvill QUALIFIED
Morrow V CaudyIndiaIoni Bowcher UNQUALIFIED
Ivar U BologniaUnited KingdomOnyama Limba QUALIFIED
Leja G FigeroaRussiaAsiya Javayant RENEWAL
Kadeem W MorascaJapanBernardo Dominic QUALIFIED
Cody Y CampainSpainAnna Fali UNQUALIFIED
Clifford A OstroskyJapanAsiya Javayant NEW
Antonio C WhobreyItalyIoni Bowcher NEW
Johnson Z RulapaughArgentinaAmy Elsner QUALIFIED
Mujtaba L WhobreyItalyElwin Sharvill UNQUALIFIED
Jeanfrancois S DilliardItalyAsiya Javayant NEGOTIATION
David Y PerinItalyAsiya Javayant QUALIFIED
Jennifer T RutaAustraliaXuxue Feng NEW
Julie I GlickCanadaOnyama Limba PROPOSAL
Maria F MaletArgentinaIoni Bowcher QUALIFIED
Emily R NestleItalyElwin Sharvill UNQUALIFIED
Aditya U WaycottAustraliaAmy Elsner PROPOSAL
Maisha I FlosiGermanyIoni Bowcher PROPOSAL
Faith M OldroydSpainIvan Magalhaes UNQUALIFIED
Izzy O OstroskyFranceAsiya Javayant PROPOSAL
Antonio S MaletUnited KingdomOnyama Limba RENEWAL
Misaki W PerinSpainAsiya Javayant NEW
Arvin I SlusarskiCanadaIoni Bowcher PROPOSAL
Frozen Columns
Name
Ashley G Kusko
Aditya V Morasca
Silvio Q Nicka
Octavia K Royster
Jennifer H Tollner
Greenwood U Malet
Aruna E Oldroyd
Mayumi A Maclead
Alejandro V Foller
Antonio B Malet
Antonio T Nicka
Sinclair Q Gillian
Adams Q Slusarski
Claire T Bowley
Kaitlin J Saylors
Emily L Albares
Alejandro C Amigon
Ricardo U Caldarera
Salvatore O Dilliard
Kadeem F Whobrey
Tony A Oldroyd
Clifford B Doe
Nicolas R Venere
Morrow D Campain
Claire M Ferencz
Jones O Butt
Jennifer Z Maclead
Jones E Wieser
Kaitlin D Poquette
Rodrigues Z Nestle
James N Maclead
Cody M Ferencz
Jefferson F Whobrey
Claire Z Gaucho
Jeanfrancois Y Bowley
Jeanfrancois H Kusko
Rodrigues J Stenseth
Maisha E Inouye
Morrow J Maclead
Antonio A Darakjy
Antonio N Stockham
Maria R Rulapaugh
Ricardo B Bowley
Deepesh R Ostrosky
Alejandro Y Doe
Sinclair V Gillian
Morrow P Oldroyd
Deepesh D Rulapaugh
Kaitlin Y Venere
David O Slusarski
IdCountryDate
1000Italy2024-05-12
1001France2024-05-05
1002Russia2024-05-22
1003Germany2024-05-26
1004Russia2024-05-07
1005Italy2024-05-16
1006France2024-05-12
1007Japan2024-05-17
1008Germany2024-04-30
1009Spain2024-05-09
1010Germany2024-05-06
1011Japan2024-05-10
1012Canada2024-04-28
1013Canada2024-05-24
1014India2024-05-14
1015Japan2024-05-17
1016Russia2024-04-30
1017Brazil2024-05-18
1018Brazil2024-05-03
1019Argentina2024-04-30
1020India2024-05-17
1021Italy2024-05-18
1022Italy2024-05-02
1023Brazil2024-05-21
1024Italy2024-05-14
1025Canada2024-05-09
1026Brazil2024-04-28
1027India2024-05-23
1028India2024-05-04
1029Japan2024-05-24
1030Canada2024-05-15
1031Argentina2024-05-03
1032Germany2024-05-07
1033Brazil2024-05-05
1034United Kingdom2024-05-02
1035Germany2024-05-02
1036United Kingdom2024-05-26
1037Russia2024-05-23
1038Argentina2024-05-20
1039Canada2024-05-18
1040Japan2024-05-27
1041Spain2024-05-20
1042Brazil2024-05-10
1043Germany2024-05-12
1044Australia2024-05-03
1045Brazil2024-05-27
1046France2024-05-02
1047Argentina2024-05-16
1048Russia2024-05-02
1049Italy2024-05-03

On-Demand Data

NameIdCountryDate
James U Rulapaugh1000Spain2024-05-12
Mayumi J Nestle1001Russia2024-05-23
Mujtaba F Butt1002Brazil2024-05-03
Isabel S Caldarera1003Germany2024-05-20
Darci P Vocelka1004India2024-05-15
Salvatore Y Malet1005India2024-05-04
Ivar E Ruta1006Germany2024-05-04
Morrow G Malet1007Germany2024-05-17
Faith O Venere1008United Kingdom2024-05-11
Misaki V Doe1009Australia2024-05-14
Salvatore N Gaucho1010Argentina2024-05-26
Arvin E Gaucho1011Canada2024-05-10
Leja K Nestle1012India2024-05-07
Mayumi L Perin1013United Kingdom2024-05-11
Chavez C Inouye1014Argentina2024-05-18
Leja S Bowley1015Italy2024-05-22
Mayumi F Campain1016Spain2024-05-12
Costa G Glick1017Russia2024-05-04
Costa R Caldarera1018Canada2024-05-18
Tony V Inouye1019Italy2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya E PoquetteAustraliaAmy Elsner QUALIFIED
Jones Z VocelkaJapanAnna Fali RENEWAL
Jeanfrancois W PoquetteFranceIoni Bowcher NEW
Aika J RutaIndiaBernardo Dominic RENEWAL
Kadeem R WhobreyAustraliaStephen Shaw QUALIFIED
Chavez W CaudyJapanOnyama Limba NEW
Aditya U TollnerUnited KingdomAmy Elsner PROPOSAL
Aika N MaletSpainBernardo Dominic QUALIFIED
Aruna L RimArgentinaXuxue Feng PROPOSAL
Adams L GauchoCanadaIvan Magalhaes PROPOSAL
Ivar W CaudyBrazilStephen Shaw RENEWAL
Aika S MarrierUnited KingdomBernardo Dominic RENEWAL
Jennifer Y IturbideUnited KingdomXuxue Feng RENEWAL
Antonio K WhobreyIndiaAmy Elsner NEW
Leja I MaletItalyAmy Elsner QUALIFIED
Jeanfrancois Y GarufiRussiaBernardo Dominic QUALIFIED
Emily I IturbideJapanIoni Bowcher NEGOTIATION
Mayumi B FollerItalyAmy Elsner PROPOSAL
Sinclair P CampainIndiaAsiya Javayant QUALIFIED
Aika Q GarufiItalyAsiya Javayant RENEWAL
Maria H WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Misaki Z VenereAustraliaXuxue Feng NEGOTIATION
Jennifer N VocelkaCanadaAnna Fali QUALIFIED
Nicolas Q ShinkoBrazilIoni Bowcher UNQUALIFIED
Rodrigues N MacleadFranceOnyama Limba PROPOSAL
Claire R PaprockiSpainStephen Shaw UNQUALIFIED
Chavez A RoysterUnited KingdomAsiya Javayant PROPOSAL
Adams Q AlbaresGermanyOnyama Limba NEW
Mayumi V KolmetzRussiaAsiya Javayant QUALIFIED
Cody H RutaIndiaAsiya Javayant QUALIFIED
Mayumi L AmigonBrazilBernardo Dominic RENEWAL
Morrow V VenereCanadaElwin Sharvill QUALIFIED
Salvatore M KolmetzSpainXuxue Feng PROPOSAL
Adams Z FigeroaArgentinaXuxue Feng QUALIFIED
Cody X TollnerArgentinaIvan Magalhaes NEGOTIATION
Mujtaba H ChuiCanadaBernardo Dominic NEW
Aruna Y ChuiJapanOnyama Limba NEGOTIATION
Murillo O NickaFranceIvan Magalhaes PROPOSAL
Leja M StensethIndiaAnna Fali PROPOSAL
Mayumi Z StockhamGermanyOnyama Limba 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>