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
Tony U WieserCanadaAnna Fali PROPOSAL
Johnson X WieserBrazilElwin Sharvill PROPOSAL
Rodrigues Q BologniaUnited KingdomOnyama Limba UNQUALIFIED
Costa I KolmetzItalyAmy Elsner NEGOTIATION
Alejandro X CaudyCanadaAsiya Javayant NEGOTIATION
Octavia Q SaylorsGermanyXuxue Feng QUALIFIED
Kadeem Y StockhamGermanyAnna Fali UNQUALIFIED
Darci M SergiGermanyIvan Magalhaes UNQUALIFIED
Francesco Q WhobreyCanadaStephen Shaw NEGOTIATION
Tony R MaletUnited KingdomAnna Fali NEGOTIATION
Munro J ShinkoGermanyAnna Fali PROPOSAL
Ivar J CampainFranceStephen Shaw NEW
Chavez Q SchemmerAustraliaAnna Fali NEW
Deepesh G BriddickArgentinaIvan Magalhaes UNQUALIFIED
Jennifer G CaldareraJapanElwin Sharvill QUALIFIED
Aditya U NickaBrazilElwin Sharvill QUALIFIED
Mujtaba N SaylorsItalyBernardo Dominic RENEWAL
Jeanfrancois N RutaArgentinaAsiya Javayant RENEWAL
Mayumi D PoquetteRussiaAnna Fali QUALIFIED
Claire F PaprockiIndiaBernardo Dominic NEW
Jefferson O AmigonArgentinaAnna Fali PROPOSAL
Chavez L StensethJapanAsiya Javayant PROPOSAL
Mujtaba N NickaBrazilAsiya Javayant PROPOSAL
Ivar A CaudyRussiaIoni Bowcher NEW
Darci C DilliardCanadaBernardo Dominic QUALIFIED
Leja F SchemmerGermanyXuxue Feng PROPOSAL
Jeanfrancois J TollnerBrazilIvan Magalhaes NEW
Costa X OldroydJapanAmy Elsner RENEWAL
Ivar N PerinAustraliaStephen Shaw QUALIFIED
Maisha J SlusarskiJapanAmy Elsner UNQUALIFIED
Ashley T TollnerAustraliaIvan Magalhaes UNQUALIFIED
Juan G ShinkoArgentinaIvan Magalhaes NEW
James K CaudyCanadaAsiya Javayant NEW
Jeanfrancois B PaprockiGermanyIoni Bowcher PROPOSAL
Tony H IturbideFranceElwin Sharvill UNQUALIFIED
Stacey J RimGermanyElwin Sharvill NEW
Leon C KuskoIndiaOnyama Limba UNQUALIFIED
Maisha Y SergiRussiaAnna Fali NEGOTIATION
Kaitlin R FerenczGermanyStephen Shaw RENEWAL
Tony T StockhamJapanAnna Fali PROPOSAL
Johnson H FigeroaUnited KingdomXuxue Feng PROPOSAL
Antonio J AmigonUnited KingdomAsiya Javayant QUALIFIED
Kadeem U KolmetzArgentinaIvan Magalhaes NEGOTIATION
David Z RimJapanOnyama Limba UNQUALIFIED
Izzy G CaldareraCanadaAsiya Javayant NEW
Kaitlin P ButtRussiaAnna Fali NEW
Tony O InouyeBrazilXuxue Feng PROPOSAL
Aika B FigeroaArgentinaStephen Shaw PROPOSAL
Clifford R CaldareraAustraliaIoni Bowcher NEGOTIATION
Leja I BologniaCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo B CaudySpainOnyama Limba QUALIFIED
Alejandro N AlbaresRussiaBernardo Dominic QUALIFIED
Smith S SaylorsRussiaIvan Magalhaes PROPOSAL
Jennifer E WhobreyFranceIoni Bowcher NEGOTIATION
Aika X OldroydRussiaXuxue Feng UNQUALIFIED
Juan O FigeroaCanadaBernardo Dominic NEW
David X KuskoCanadaIoni Bowcher RENEWAL
Salvatore G ChuiSpainOnyama Limba PROPOSAL
Alejandro B SlusarskiJapanIvan Magalhaes QUALIFIED
Arvin A MorascaArgentinaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba W FerenczRussia2024-05-04Rangoni Of Florence RENEWAL70Xuxue Feng
1001Tony Y MarrierUnited Kingdom2024-05-14King, Christopher A Esq RENEWAL93Amy Elsner
1002Smith M ShinkoFrance2024-04-29King, Christopher A Esq PROPOSAL35Stephen Shaw
1003Murillo N KolmetzJapan2024-04-25Buckley Miller Wright UNQUALIFIED9Bernardo Dominic
1004Arvin A SlusarskiArgentina2024-05-04King, Christopher A Esq UNQUALIFIED51Ioni Bowcher
1005Leja L RimBrazil2024-05-23Commercial Press NEGOTIATION91Ioni Bowcher
1006Isabel C SlusarskiRussia2024-05-20Feiner Bros QUALIFIED32Amy Elsner
1007Leja E AmigonIndia2024-05-05Feiner Bros NEW34Onyama Limba
1008Juan Z GlickRussia2024-05-21Rousseaux, Michael Esq QUALIFIED45Xuxue Feng
1009Aditya H FollerJapan2024-05-10Morlong Associates NEGOTIATION81Onyama Limba
1010Claire B AlbaresCanada2024-05-13Benton, John B Jr NEW70Anna Fali
1011Johnson J BologniaItaly2024-05-15Feiner Bros NEGOTIATION27Onyama Limba
1012David U WaycottSpain2024-05-18Printing Dimensions NEW39Ivan Magalhaes
1013Wickens Y SaylorsArgentina2024-04-30Buckley Miller Wright QUALIFIED21Ivan Magalhaes
1014Greenwood D DarakjyCanada2024-05-04Printing Dimensions NEW13Elwin Sharvill
1015Aika I MaletJapan2024-05-02Rousseaux, Michael Esq UNQUALIFIED59Elwin Sharvill
1016Francesco S CampainBrazil2024-05-06Chapman, Ross E Esq RENEWAL42Asiya Javayant
1017Deepesh Q SchemmerJapan2024-05-23Rousseaux, Michael Esq QUALIFIED80Ivan Magalhaes
1018Sinclair P PerinIndia2024-05-13Chanay, Jeffrey A Esq QUALIFIED71Ioni Bowcher
1019Julie S PoquetteFrance2024-04-30Chapman, Ross E Esq NEGOTIATION30Ivan Magalhaes
1020Jones V CampainFrance2024-05-20Feltz Printing Service QUALIFIED29Onyama Limba
1021Smith Q DilliardFrance2024-05-04Truhlar And Truhlar Attys NEGOTIATION75Onyama Limba
1022Jeanfrancois H PoquetteArgentina2024-05-02Buckley Miller Wright NEW59Asiya Javayant
1023Darci X PaprockiUnited Kingdom2024-05-05Truhlar And Truhlar Attys RENEWAL6Anna Fali
1024David Y MaletIndia2024-05-16Chemel, James L Cpa QUALIFIED29Elwin Sharvill
1025Jeanfrancois E MaletFrance2024-05-17King, Christopher A Esq UNQUALIFIED40Elwin Sharvill
1026Antonio R WhobreyJapan2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED53Amy Elsner
1027Munro O FerenczCanada2024-05-15Feiner Bros QUALIFIED12Ivan Magalhaes
1028Juan D StensethJapan2024-04-27Dorl, James J Esq PROPOSAL74Bernardo Dominic
1029Antonio K SaylorsIndia2024-05-07Chanay, Jeffrey A Esq PROPOSAL56Xuxue Feng
1030Antonio Q FlosiUnited Kingdom2024-04-30Chemel, James L Cpa PROPOSAL55Elwin Sharvill
1031Greenwood A DoeArgentina2024-05-19Printing Dimensions PROPOSAL42Bernardo Dominic
1032Misaki N RutaItaly2024-05-21Dorl, James J Esq NEW22Stephen Shaw
1033Julie Y PoquetteUnited Kingdom2024-05-18Truhlar And Truhlar Attys RENEWAL58Anna Fali
1034Maisha C NickaIndia2024-05-12Feltz Printing Service NEGOTIATION86Anna Fali
1035Darci S OstroskyUnited Kingdom2024-04-27Truhlar And Truhlar Attys NEW64Anna Fali
1036Aruna W CaudyGermany2024-05-20Printing Dimensions NEGOTIATION60Stephen Shaw
1037Jennifer J NickaAustralia2024-05-07Feltz Printing Service PROPOSAL53Amy Elsner
1038Clifford Q KolmetzSpain2024-05-01Dorl, James J Esq RENEWAL89Amy Elsner
1039Misaki M DilliardIndia2024-05-14Morlong Associates QUALIFIED39Ioni Bowcher
1040Kadeem L SchemmerJapan2024-05-09King, Christopher A Esq QUALIFIED6Amy Elsner
1041Johnson P InouyeArgentina2024-04-29Morlong Associates UNQUALIFIED47Asiya Javayant
1042Jones Y PaprockiCanada2024-05-06King, Christopher A Esq RENEWAL23Xuxue Feng
1043Antonio K DoeGermany2024-04-28King, Christopher A Esq UNQUALIFIED38Asiya Javayant
1044Murillo K AmigonAustralia2024-05-14Morlong Associates RENEWAL77Amy Elsner
1045Chavez F VocelkaCanada2024-05-22Chanay, Jeffrey A Esq QUALIFIED86Ioni Bowcher
1046Wickens B FollerAustralia2024-05-18Chapman, Ross E Esq NEW38Onyama Limba
1047Emily Q RoysterSpain2024-05-08King, Christopher A Esq NEW15Anna Fali
1048Francesco A NickaCanada2024-05-01Morlong Associates PROPOSAL14Bernardo Dominic
1049Emily K StockhamGermany2024-05-18Chapman, Ross E Esq NEW73Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jones X CaudyFranceIvan Magalhaes PROPOSAL
Isabel W CaudyRussiaOnyama Limba PROPOSAL
Jeanfrancois I MacleadFranceAmy Elsner NEGOTIATION
Alejandro Z GarufiSpainAnna Fali NEGOTIATION
Darci I BowleyCanadaBernardo Dominic RENEWAL
Adams J CaldareraUnited KingdomIoni Bowcher QUALIFIED
Aruna Z PaprockiUnited KingdomBernardo Dominic QUALIFIED
Costa B NickaItalyAsiya Javayant UNQUALIFIED
Izzy K StockhamUnited KingdomAnna Fali NEGOTIATION
Isabel U RimGermanyElwin Sharvill NEGOTIATION
Costa G MacleadUnited KingdomBernardo Dominic NEGOTIATION
Munro S ShinkoArgentinaIoni Bowcher RENEWAL
Deepesh M KuskoArgentinaElwin Sharvill UNQUALIFIED
Juan H CaudyBrazilIoni Bowcher PROPOSAL
Francesco C VenereBrazilElwin Sharvill PROPOSAL
Mayumi R OstroskyGermanyBernardo Dominic UNQUALIFIED
Aruna E MaletRussiaAmy Elsner NEGOTIATION
Tony O RulapaughFranceAsiya Javayant PROPOSAL
Silvio Q RimArgentinaAsiya Javayant UNQUALIFIED
Antonio U MacleadRussiaIoni Bowcher UNQUALIFIED
James X GlickFranceXuxue Feng NEW
Mujtaba B AlbaresCanadaIoni Bowcher NEGOTIATION
Misaki I DoeRussiaAmy Elsner UNQUALIFIED
Claire C MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Antonio O ChuiBrazilIoni Bowcher QUALIFIED
Munro T NickaAustraliaStephen Shaw UNQUALIFIED
Cody Z NestleGermanyAsiya Javayant PROPOSAL
Deepesh C DarakjySpainBernardo Dominic NEGOTIATION
Emily I WhobreyJapanStephen Shaw PROPOSAL
Costa O CaudyItalyIvan Magalhaes UNQUALIFIED
Tony D StockhamRussiaAmy Elsner PROPOSAL
Murillo V PoquetteRussiaAsiya Javayant UNQUALIFIED
Aika K VocelkaBrazilXuxue Feng PROPOSAL
Arvin J IturbideCanadaAsiya Javayant PROPOSAL
Jefferson J VenereUnited KingdomAsiya Javayant UNQUALIFIED
Faith V WaycottCanadaXuxue Feng UNQUALIFIED
Darci H WieserJapanStephen Shaw RENEWAL
Jefferson T FlosiJapanBernardo Dominic RENEWAL
Emily G BriddickItalyAnna Fali QUALIFIED
Jones U StockhamRussiaAnna Fali NEGOTIATION
Francesco O FigeroaIndiaOnyama Limba UNQUALIFIED
Maria Z WhobreyCanadaAnna Fali PROPOSAL
Juan D InouyeArgentinaAsiya Javayant UNQUALIFIED
Silvio Q SchemmerRussiaOnyama Limba NEGOTIATION
Deepesh E WaycottIndiaAsiya Javayant RENEWAL
David D StensethRussiaXuxue Feng NEW
Aditya H OstroskyArgentinaIoni Bowcher NEW
Murillo G BologniaCanadaElwin Sharvill QUALIFIED
Aruna F SergiArgentinaElwin Sharvill RENEWAL
Chavez Z GauchoItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jefferson C Doe
Jefferson M Figeroa
Darci N Garufi
Juan W Sergi
Izzy E Caldarera
Stacey W Flosi
Izzy L Butt
Jennifer M Caldarera
Adams Y Amigon
Murillo X Stenseth
David K Gillian
Nicolas J Oldroyd
Greenwood Y Bolognia
Ricardo O Briddick
Mujtaba Q Amigon
Julie R Tollner
Jeanfrancois D Rulapaugh
Wickens M Ferencz
Deepesh R Whobrey
Deepesh H Wieser
Rodrigues G Maclead
Antonio F Chui
Octavia B Stenseth
Munro Z Waycott
Izzy X Whobrey
Jennifer K Nicka
Chavez I Garufi
Leon S Iturbide
Arvin Y Vocelka
Leon Z Chui
David M Venere
Stacey I Doe
Maisha G Campain
Faith K Slusarski
Alejandro S Whobrey
Wickens W Tollner
Claire L Amigon
Deepesh P Ferencz
Johnson D Royster
Ashley D Rim
Aditya O Malet
Morrow G Shinko
Aruna X Rulapaugh
Jones O Venere
Greenwood T Amigon
Kaitlin X Inouye
Ricardo O Butt
Ricardo L Figeroa
Nicolas Z Doe
Greenwood Q Glick
IdCountryDate
1000Italy2024-05-15
1001France2024-05-05
1002United Kingdom2024-05-09
1003Canada2024-05-16
1004Japan2024-05-15
1005France2024-04-26
1006Germany2024-05-06
1007Brazil2024-05-07
1008Spain2024-04-25
1009Germany2024-04-30
1010Italy2024-05-24
1011Australia2024-05-12
1012India2024-05-05
1013India2024-04-30
1014Brazil2024-05-18
1015Japan2024-04-27
1016Germany2024-05-24
1017United Kingdom2024-05-08
1018Australia2024-05-10
1019Spain2024-04-29
1020Canada2024-04-29
1021United Kingdom2024-04-26
1022Argentina2024-05-13
1023Australia2024-04-25
1024Canada2024-05-01
1025India2024-04-29
1026India2024-05-21
1027Brazil2024-04-25
1028Italy2024-05-16
1029Spain2024-05-13
1030Germany2024-05-10
1031Canada2024-05-01
1032Australia2024-04-27
1033Australia2024-04-30
1034Italy2024-05-01
1035Japan2024-05-17
1036India2024-05-04
1037Australia2024-04-30
1038Russia2024-05-07
1039Japan2024-05-10
1040Argentina2024-04-27
1041France2024-05-09
1042India2024-04-30
1043Japan2024-05-12
1044Australia2024-04-30
1045India2024-04-28
1046Brazil2024-05-04
1047United Kingdom2024-05-01
1048Japan2024-04-27
1049Brazil2024-05-13

On-Demand Data

NameIdCountryDate
Arvin M Marrier1000France2024-05-01
Kaitlin O Bolognia1001United Kingdom2024-05-06
Leon T Stenseth1002Spain2024-05-01
Izzy G Malet1003Italy2024-05-09
Ashley Q Flosi1004Argentina2024-05-20
Mayumi B Campain1005Russia2024-05-09
Julie S Dilliard1006Canada2024-05-15
Jennifer V Darakjy1007Italy2024-05-11
Juan E Figeroa1008Brazil2024-04-28
Jennifer A Paprocki1009Australia2024-05-09
Antonio L Doe1010Spain2024-04-30
Wickens F Bolognia1011Brazil2024-05-17
Stacey A Morasca1012Germany2024-04-27
Stacey B Albares1013United Kingdom2024-05-04
Juan U Ferencz1014France2024-05-01
Mujtaba O Perin1015United Kingdom2024-05-11
Julie O Chui1016Russia2024-05-14
Wickens U Iturbide1017Germany2024-05-15
Salvatore G Poquette1018India2024-05-05
Arvin Y Waycott1019Canada2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony B KolmetzUnited KingdomElwin Sharvill QUALIFIED
Nicolas H KolmetzBrazilAsiya Javayant NEGOTIATION
Wickens N VenereJapanIvan Magalhaes QUALIFIED
Emily R MorascaJapanIoni Bowcher RENEWAL
Tony W ShinkoFranceAsiya Javayant UNQUALIFIED
Emily Z GillianSpainAnna Fali RENEWAL
James N StensethCanadaStephen Shaw QUALIFIED
Alejandro A SlusarskiFranceAsiya Javayant QUALIFIED
Jeanfrancois G GauchoCanadaOnyama Limba QUALIFIED
Morrow O CaudyFranceOnyama Limba NEGOTIATION
Nicolas K BologniaUnited KingdomAmy Elsner PROPOSAL
Octavia V WaycottJapanBernardo Dominic UNQUALIFIED
Isabel P GillianRussiaOnyama Limba NEW
Jeanfrancois F ChuiSpainAmy Elsner PROPOSAL
Mayumi S VenereFranceElwin Sharvill NEGOTIATION
Jones O NestleArgentinaAnna Fali QUALIFIED
Maria R NickaUnited KingdomBernardo Dominic QUALIFIED
Stacey S NestleItalyXuxue Feng NEGOTIATION
Misaki V InouyeUnited KingdomIvan Magalhaes RENEWAL
Darci Y MacleadAustraliaXuxue Feng PROPOSAL
Deepesh Z KolmetzUnited KingdomXuxue Feng QUALIFIED
David W BologniaAustraliaAnna Fali PROPOSAL
Clifford C ChuiAustraliaElwin Sharvill UNQUALIFIED
Faith T WhobreyArgentinaAmy Elsner NEGOTIATION
Misaki P DarakjyGermanyAmy Elsner QUALIFIED
Jennifer O FerenczItalyIoni Bowcher NEGOTIATION
Izzy T BologniaGermanyAsiya Javayant QUALIFIED
Arvin Q VenereRussiaIvan Magalhaes NEW
Ashley A AmigonBrazilXuxue Feng QUALIFIED
Wickens Y SchemmerCanadaAsiya Javayant PROPOSAL
Deepesh U VocelkaItalyAsiya Javayant NEGOTIATION
Adams Q NickaGermanyIvan Magalhaes RENEWAL
Aditya T AmigonUnited KingdomAnna Fali PROPOSAL
Juan W TollnerFranceXuxue Feng QUALIFIED
Jefferson H GarufiIndiaStephen Shaw RENEWAL
Aika E KolmetzSpainElwin Sharvill NEW
Julie W KuskoFranceStephen Shaw RENEWAL
Aruna I RutaIndiaIvan Magalhaes QUALIFIED
Misaki B KuskoGermanyElwin Sharvill NEGOTIATION
Wickens I MorascaAustraliaAnna Fali 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>