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
Murillo T DarakjyIndiaAmy Elsner UNQUALIFIED
Maisha E DoeGermanyXuxue Feng PROPOSAL
Octavia Z PoquetteIndiaAsiya Javayant NEGOTIATION
Kadeem D OldroydBrazilOnyama Limba NEGOTIATION
Mayumi T StensethSpainIvan Magalhaes NEW
Ashley G TollnerAustraliaAnna Fali PROPOSAL
Munro Q DoeSpainIoni Bowcher NEW
Munro Z CampainRussiaAsiya Javayant NEGOTIATION
Jeanfrancois K VenereAustraliaStephen Shaw RENEWAL
Costa N NickaGermanyOnyama Limba RENEWAL
Faith K ShinkoCanadaXuxue Feng UNQUALIFIED
Jefferson I ButtItalyAnna Fali QUALIFIED
Leja I MarrierAustraliaStephen Shaw UNQUALIFIED
Adams V VenereBrazilOnyama Limba PROPOSAL
Adams L IturbideIndiaXuxue Feng UNQUALIFIED
Wickens K BriddickSpainBernardo Dominic QUALIFIED
Octavia B RimJapanXuxue Feng PROPOSAL
Morrow P MarrierFranceAmy Elsner QUALIFIED
James J FigeroaJapanIvan Magalhaes UNQUALIFIED
Ivar Y MorascaItalyIvan Magalhaes PROPOSAL
Stacey Y WieserItalyStephen Shaw QUALIFIED
Jeanfrancois L SergiCanadaOnyama Limba NEW
Chavez G GlickUnited KingdomIvan Magalhaes QUALIFIED
Jennifer W ShinkoJapanAmy Elsner PROPOSAL
Julie N PoquetteRussiaAsiya Javayant RENEWAL
David U MarrierRussiaStephen Shaw UNQUALIFIED
Aika C VocelkaJapanIoni Bowcher RENEWAL
Stacey F PerinItalyStephen Shaw UNQUALIFIED
Arvin C MorascaArgentinaAmy Elsner UNQUALIFIED
Faith Y WhobreyGermanyAnna Fali RENEWAL
Antonio J StensethUnited KingdomBernardo Dominic NEGOTIATION
Stacey T WieserAustraliaXuxue Feng PROPOSAL
Leja C NestleSpainXuxue Feng NEW
Kaitlin O SchemmerJapanBernardo Dominic PROPOSAL
Aruna R RulapaughArgentinaAsiya Javayant RENEWAL
Smith O ChuiIndiaStephen Shaw RENEWAL
Ivar Q BowleyFranceAsiya Javayant NEGOTIATION
Kadeem U SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Juan N GarufiFranceAmy Elsner UNQUALIFIED
Leon H SlusarskiGermanyOnyama Limba NEW
Maisha Z WhobreyGermanyStephen Shaw NEW
Misaki Q VocelkaAustraliaIoni Bowcher NEW
Kadeem K PoquetteAustraliaStephen Shaw RENEWAL
Aika D FollerGermanyAmy Elsner PROPOSAL
Jennifer O StensethUnited KingdomAsiya Javayant PROPOSAL
Murillo F StensethRussiaElwin Sharvill QUALIFIED
Ricardo Y ShinkoItalyXuxue Feng NEGOTIATION
Sinclair D NickaBrazilAnna Fali NEW
Tony N MarrierAustraliaAsiya Javayant NEGOTIATION
Stacey K GlickItalyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin K BowleyGermanyXuxue Feng NEW
Maria F AlbaresGermanyOnyama Limba NEW
Stacey K FollerRussiaIvan Magalhaes PROPOSAL
Costa Q RimRussiaOnyama Limba RENEWAL
Munro N GillianJapanIvan Magalhaes NEW
Jeanfrancois N AmigonItalyAmy Elsner PROPOSAL
Murillo V NestleCanadaXuxue Feng PROPOSAL
Aditya U FigeroaBrazilStephen Shaw NEGOTIATION
Mujtaba N OstroskyJapanAnna Fali QUALIFIED
Silvio O FigeroaRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V GlickIndia2024-05-26Morlong Associates NEGOTIATION53Asiya Javayant
1001Greenwood Y ShinkoIndia2024-05-25Feiner Bros NEGOTIATION35Amy Elsner
1002Darci L PerinFrance2024-06-04Chapman, Ross E Esq NEGOTIATION7Anna Fali
1003Deepesh Z VocelkaGermany2024-06-17Benton, John B Jr NEGOTIATION54Amy Elsner
1004Alejandro B OldroydUnited Kingdom2024-06-13Chanay, Jeffrey A Esq PROPOSAL94Ioni Bowcher
1005Deepesh I DarakjyGermany2024-06-15Dorl, James J Esq PROPOSAL83Ioni Bowcher
1006Greenwood B BriddickCanada2024-06-07Chemel, James L Cpa NEW19Xuxue Feng
1007Ashley B WhobreyRussia2024-06-03Feltz Printing Service NEW17Ioni Bowcher
1008Sinclair D FerenczUnited Kingdom2024-05-29Rangoni Of Florence QUALIFIED76Onyama Limba
1009Jones N DilliardGermany2024-05-31Truhlar And Truhlar Attys NEW3Onyama Limba
1010Stacey T IturbideJapan2024-06-06Dorl, James J Esq NEW37Stephen Shaw
1011Ivar Z CaudyJapan2024-06-17Printing Dimensions NEW79Onyama Limba
1012Arvin R NestleCanada2024-06-07Commercial Press QUALIFIED43Xuxue Feng
1013Ashley X FigeroaRussia2024-06-13Printing Dimensions RENEWAL28Bernardo Dominic
1014Jennifer B MarrierSpain2024-06-02Benton, John B Jr QUALIFIED28Anna Fali
1015Sinclair G ChuiRussia2024-05-27Buckley Miller Wright UNQUALIFIED64Asiya Javayant
1016Jones O CaldareraJapan2024-05-31King, Christopher A Esq UNQUALIFIED68Asiya Javayant
1017Juan Z KuskoItaly2024-06-03Feiner Bros UNQUALIFIED65Asiya Javayant
1018Octavia C DoeArgentina2024-06-10Rangoni Of Florence UNQUALIFIED48Anna Fali
1019Wickens X KolmetzItaly2024-06-18Rousseaux, Michael Esq RENEWAL64Bernardo Dominic
1020Murillo B RimIndia2024-05-29Truhlar And Truhlar Attys QUALIFIED86Amy Elsner
1021Wickens K InouyeBrazil2024-06-16Buckley Miller Wright RENEWAL29Ioni Bowcher
1022Leja D DilliardJapan2024-06-11Morlong Associates NEW97Ioni Bowcher
1023Mayumi H BowleyFrance2024-06-01Chemel, James L Cpa UNQUALIFIED4Elwin Sharvill
1024Aditya D WaycottFrance2024-06-04Chapman, Ross E Esq PROPOSAL52Stephen Shaw
1025Claire A AlbaresUnited Kingdom2024-06-22Rousseaux, Michael Esq RENEWAL13Anna Fali
1026Francesco A GillianArgentina2024-06-08Feiner Bros PROPOSAL83Elwin Sharvill
1027Tony O WaycottFrance2024-06-18Rousseaux, Michael Esq UNQUALIFIED76Bernardo Dominic
1028Maisha E SchemmerIndia2024-06-10King, Christopher A Esq PROPOSAL15Bernardo Dominic
1029Salvatore C TollnerIndia2024-06-03Commercial Press PROPOSAL4Bernardo Dominic
1030Adams O MaletRussia2024-06-08Chanay, Jeffrey A Esq PROPOSAL64Ioni Bowcher
1031Silvio B PerinFrance2024-06-19Feiner Bros QUALIFIED16Asiya Javayant
1032Cody L MaletBrazil2024-06-16King, Christopher A Esq QUALIFIED57Bernardo Dominic
1033Darci T InouyeGermany2024-06-15Dorl, James J Esq NEW29Stephen Shaw
1034Smith Q DilliardRussia2024-05-28Rangoni Of Florence RENEWAL57Asiya Javayant
1035Murillo H StockhamIndia2024-05-28Chanay, Jeffrey A Esq RENEWAL51Elwin Sharvill
1036Maisha Q CampainRussia2024-05-31Feltz Printing Service NEW0Ioni Bowcher
1037Jones F KuskoGermany2024-06-17Chapman, Ross E Esq QUALIFIED14Asiya Javayant
1038James V SchemmerCanada2024-05-25King, Christopher A Esq RENEWAL92Ivan Magalhaes
1039Adams J IturbideJapan2024-06-10Printing Dimensions NEW83Onyama Limba
1040Claire E DilliardAustralia2024-06-22Benton, John B Jr UNQUALIFIED98Ivan Magalhaes
1041Cody O VocelkaFrance2024-06-04Morlong Associates QUALIFIED72Onyama Limba
1042Munro W MorascaBrazil2024-06-04Rangoni Of Florence UNQUALIFIED81Stephen Shaw
1043Murillo Z BologniaSpain2024-06-15Rousseaux, Michael Esq NEW97Ioni Bowcher
1044Maisha W BologniaSpain2024-06-03Feltz Printing Service NEW74Ioni Bowcher
1045Morrow M GillianItaly2024-06-20King, Christopher A Esq NEGOTIATION73Bernardo Dominic
1046Tony K FlosiGermany2024-06-04Chanay, Jeffrey A Esq NEGOTIATION66Anna Fali
1047Salvatore C WaycottAustralia2024-06-21Feltz Printing Service NEGOTIATION67Xuxue Feng
1048Mayumi K StensethFrance2024-06-17Morlong Associates NEW24Onyama Limba
1049Ricardo I WhobreyBrazil2024-05-31Feltz Printing Service NEGOTIATION75Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Arvin T CampainItalyBernardo Dominic NEGOTIATION
Izzy F PerinAustraliaIoni Bowcher QUALIFIED
Wickens Y CaldareraBrazilBernardo Dominic NEW
Faith Q MarrierArgentinaElwin Sharvill PROPOSAL
Greenwood U FlosiIndiaIoni Bowcher NEW
Maisha C FlosiCanadaAsiya Javayant NEGOTIATION
Misaki K BriddickItalyElwin Sharvill QUALIFIED
Salvatore J OstroskyItalyBernardo Dominic NEGOTIATION
Jefferson D CaldareraIndiaAnna Fali QUALIFIED
Izzy K WaycottJapanStephen Shaw NEGOTIATION
Jefferson N PaprockiItalyStephen Shaw QUALIFIED
Octavia J InouyeGermanyAnna Fali PROPOSAL
Wickens B PerinJapanAnna Fali UNQUALIFIED
Costa S InouyeArgentinaElwin Sharvill RENEWAL
James G OstroskyGermanyOnyama Limba RENEWAL
Nicolas A AmigonItalyIvan Magalhaes PROPOSAL
Tony G FerenczFranceElwin Sharvill NEW
Ricardo A FigeroaUnited KingdomOnyama Limba NEW
Wickens D SaylorsArgentinaAnna Fali NEGOTIATION
Juan W OldroydSpainStephen Shaw UNQUALIFIED
Ricardo U AlbaresRussiaXuxue Feng RENEWAL
Munro U CampainIndiaStephen Shaw RENEWAL
Antonio M ChuiAustraliaStephen Shaw NEGOTIATION
Leon T MarrierSpainStephen Shaw NEW
Leja S AmigonCanadaAmy Elsner NEGOTIATION
Aruna H DilliardFranceAnna Fali UNQUALIFIED
Octavia C IturbideIndiaAmy Elsner NEGOTIATION
Kaitlin O DoeBrazilAnna Fali QUALIFIED
Ricardo G NickaBrazilBernardo Dominic NEGOTIATION
Smith E ShinkoJapanIvan Magalhaes NEW
Maisha Q PaprockiUnited KingdomAnna Fali RENEWAL
Morrow B InouyeBrazilXuxue Feng QUALIFIED
Arvin U MarrierSpainXuxue Feng NEW
Ashley B GarufiBrazilAnna Fali NEGOTIATION
Aditya N AlbaresAustraliaOnyama Limba NEW
Darci E SchemmerRussiaAsiya Javayant PROPOSAL
Darci I TollnerCanadaIoni Bowcher PROPOSAL
Kaitlin F SaylorsRussiaElwin Sharvill NEW
Adams U OldroydJapanStephen Shaw UNQUALIFIED
Adams P CaldareraFranceStephen Shaw RENEWAL
Ricardo E VocelkaSpainIoni Bowcher QUALIFIED
Jennifer Y AmigonSpainIoni Bowcher PROPOSAL
Ricardo U BologniaBrazilXuxue Feng PROPOSAL
Juan I BologniaRussiaAsiya Javayant PROPOSAL
Jones C FigeroaItalyIoni Bowcher NEW
Rodrigues D MorascaRussiaOnyama Limba NEGOTIATION
Salvatore B VocelkaGermanyIvan Magalhaes NEGOTIATION
Sinclair F OldroydRussiaAsiya Javayant UNQUALIFIED
Izzy J InouyeUnited KingdomOnyama Limba RENEWAL
Julie F OstroskyAustraliaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Arvin H Rim
Morrow Q Rulapaugh
Kaitlin P Saylors
Ricardo R Bolognia
Maria R Rulapaugh
Tony H Schemmer
Wickens L Doe
Kadeem Y Bowley
Francesco N Shinko
Antonio I Garufi
Leja D Stenseth
Mujtaba G Tollner
Clifford M Morasca
Morrow D Nestle
Aruna M Rulapaugh
Leon K Bowley
Nicolas E Flosi
Maria T Schemmer
Antonio G Stenseth
Arvin K Nicka
Francesco W Ferencz
Maria X Ostrosky
Juan C Rim
Faith X Amigon
Wickens C Nicka
Smith V Slusarski
Cody J Slusarski
Jennifer B Chui
Izzy L Dilliard
Jennifer V Stenseth
Cody B Nestle
Ivar Z Bolognia
Aruna U Schemmer
Deepesh J Marrier
Clifford C Oldroyd
Aditya S Perin
Francesco V Gaucho
Alejandro V Garufi
Mujtaba X Chui
Arvin L Saylors
Claire F Glick
Kadeem O Royster
Darci V Albares
Stacey K Bowley
Julie H Chui
Chavez E Kusko
Arvin G Iturbide
Isabel F Iturbide
Misaki Q Stenseth
Cody Y Royster
IdCountryDate
1000Canada2024-06-17
1001India2024-06-12
1002Spain2024-05-27
1003France2024-06-10
1004United Kingdom2024-05-25
1005Germany2024-06-15
1006Brazil2024-06-19
1007United Kingdom2024-06-21
1008Japan2024-05-30
1009Canada2024-06-13
1010Australia2024-06-19
1011Brazil2024-06-16
1012Germany2024-06-04
1013Spain2024-06-18
1014Russia2024-06-19
1015Argentina2024-06-17
1016Brazil2024-05-27
1017Australia2024-06-01
1018France2024-06-21
1019Russia2024-06-03
1020Japan2024-06-06
1021India2024-06-01
1022Spain2024-06-02
1023France2024-06-03
1024Canada2024-06-08
1025India2024-06-19
1026Canada2024-06-05
1027Italy2024-06-20
1028Italy2024-06-18
1029Spain2024-06-03
1030Japan2024-06-09
1031Russia2024-06-18
1032France2024-06-15
1033United Kingdom2024-06-07
1034Russia2024-06-08
1035Italy2024-05-24
1036Spain2024-06-17
1037France2024-05-28
1038Italy2024-06-22
1039Brazil2024-06-22
1040France2024-06-19
1041Germany2024-06-06
1042Italy2024-06-17
1043France2024-05-24
1044Russia2024-06-19
1045Argentina2024-06-22
1046Canada2024-06-22
1047United Kingdom2024-06-03
1048Canada2024-06-03
1049France2024-05-31

On-Demand Data

NameIdCountryDate
Izzy N Ostrosky1000France2024-06-19
Cody L Maclead1001Australia2024-06-02
Aika V Kusko1002France2024-06-03
Jennifer F Saylors1003Russia2024-06-07
Cody T Sergi1004India2024-06-20
Kadeem M Chui1005Spain2024-05-31
Misaki G Figeroa1006France2024-06-20
Ivar E Morasca1007Argentina2024-06-22
Sinclair Y Flosi1008Canada2024-05-27
Juan M Ferencz1009Germany2024-05-27
Jones E Morasca1010India2024-06-15
Rodrigues M Whobrey1011France2024-06-09
Maisha S Campain1012Russia2024-05-24
Munro H Tollner1013Argentina2024-06-18
Maisha L Briddick1014Canada2024-06-18
Jeanfrancois P Kusko1015France2024-06-11
Costa F Wieser1016United Kingdom2024-06-04
Deepesh G Doe1017Italy2024-06-03
Francesco I Gillian1018Brazil2024-05-31
Ricardo S Nestle1019Brazil2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon L MaletJapanXuxue Feng NEW
Chavez I PoquetteIndiaAsiya Javayant PROPOSAL
David H MaletIndiaAsiya Javayant PROPOSAL
Adams X WieserArgentinaElwin Sharvill RENEWAL
Ivar Q RoysterSpainAnna Fali RENEWAL
Maria M NickaItalyAsiya Javayant NEGOTIATION
Greenwood X RoysterGermanyIvan Magalhaes RENEWAL
Ashley O SaylorsGermanyIoni Bowcher NEGOTIATION
Kaitlin D CaldareraGermanyOnyama Limba QUALIFIED
Maria L SergiRussiaElwin Sharvill NEGOTIATION
Julie B IturbideBrazilAnna Fali NEW
Murillo F ChuiCanadaAsiya Javayant QUALIFIED
Silvio G FigeroaUnited KingdomXuxue Feng QUALIFIED
Stacey S RimIndiaAnna Fali PROPOSAL
Sinclair P OldroydItalyBernardo Dominic QUALIFIED
Ivar K VenereFranceXuxue Feng UNQUALIFIED
Julie A RoysterIndiaAnna Fali RENEWAL
Deepesh A VenereAustraliaIoni Bowcher QUALIFIED
Maria B VocelkaArgentinaAnna Fali UNQUALIFIED
Greenwood S MorascaSpainAsiya Javayant QUALIFIED
Arvin J KuskoCanadaAsiya Javayant NEGOTIATION
Wickens X MorascaArgentinaAnna Fali PROPOSAL
Kadeem L FollerRussiaAsiya Javayant QUALIFIED
Juan H DarakjyAustraliaAmy Elsner RENEWAL
Murillo G SchemmerArgentinaIoni Bowcher PROPOSAL
Clifford V ButtRussiaAmy Elsner NEW
Murillo W ButtCanadaAsiya Javayant RENEWAL
David X SaylorsRussiaAsiya Javayant QUALIFIED
Leon H InouyeItalyXuxue Feng PROPOSAL
Faith F MaletBrazilAmy Elsner RENEWAL
Octavia C ChuiGermanyStephen Shaw UNQUALIFIED
Clifford P AlbaresUnited KingdomAmy Elsner NEGOTIATION
Kaitlin M NickaSpainAsiya Javayant UNQUALIFIED
Rodrigues J AmigonRussiaXuxue Feng NEW
Jefferson J ButtRussiaIvan Magalhaes RENEWAL
Mujtaba H GauchoRussiaXuxue Feng NEW
Morrow B FollerRussiaXuxue Feng PROPOSAL
Misaki L WaycottBrazilBernardo Dominic NEW
Jones M RimGermanyElwin Sharvill UNQUALIFIED
Adams Y ButtJapanIoni Bowcher 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>