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
Juan D GlickArgentinaAmy Elsner QUALIFIED
Jennifer A DarakjyGermanyStephen Shaw QUALIFIED
Wickens Y RoysterArgentinaAnna Fali RENEWAL
Octavia J ChuiGermanyAmy Elsner UNQUALIFIED
Antonio W WaycottRussiaAmy Elsner NEGOTIATION
Munro M MaletArgentinaAnna Fali RENEWAL
Misaki K DarakjyArgentinaAsiya Javayant QUALIFIED
Chavez J OstroskyAustraliaAsiya Javayant NEGOTIATION
Darci A FerenczItalyIvan Magalhaes NEW
Octavia C GauchoUnited KingdomAsiya Javayant NEGOTIATION
Maria J ChuiRussiaAnna Fali PROPOSAL
Clifford A DilliardFranceAmy Elsner RENEWAL
Silvio I RimGermanyAmy Elsner RENEWAL
Murillo Q BologniaUnited KingdomAnna Fali NEGOTIATION
Mujtaba W MaletSpainOnyama Limba UNQUALIFIED
Jeanfrancois D GlickCanadaElwin Sharvill NEW
Antonio M VocelkaJapanAnna Fali NEW
Jones B BologniaUnited KingdomIoni Bowcher RENEWAL
Greenwood B RimArgentinaIvan Magalhaes UNQUALIFIED
Morrow Z RoysterItalyIvan Magalhaes UNQUALIFIED
Misaki V FigeroaBrazilElwin Sharvill RENEWAL
Jefferson C MarrierSpainIvan Magalhaes QUALIFIED
Smith Y AmigonBrazilAsiya Javayant PROPOSAL
Clifford V PaprockiGermanyAsiya Javayant NEGOTIATION
Nicolas C ButtSpainAsiya Javayant RENEWAL
Jefferson F StensethGermanyElwin Sharvill RENEWAL
Jefferson E CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Morrow M WieserFranceBernardo Dominic UNQUALIFIED
Alejandro F VocelkaIndiaStephen Shaw UNQUALIFIED
David O KolmetzItalyAnna Fali NEGOTIATION
Maria T AlbaresFranceAmy Elsner PROPOSAL
Deepesh V NickaGermanyIoni Bowcher RENEWAL
Wickens D RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba H SchemmerUnited KingdomStephen Shaw NEGOTIATION
Leon Z MacleadGermanyAsiya Javayant NEGOTIATION
James L GauchoSpainOnyama Limba UNQUALIFIED
Isabel I RoysterAustraliaOnyama Limba NEGOTIATION
Smith B VenereGermanyAsiya Javayant QUALIFIED
Maria R OstroskySpainIvan Magalhaes UNQUALIFIED
Ivar Q RimArgentinaStephen Shaw QUALIFIED
Maria S GarufiRussiaBernardo Dominic QUALIFIED
Izzy D DoeIndiaXuxue Feng RENEWAL
Francesco M IturbideAustraliaIvan Magalhaes QUALIFIED
Leja N InouyeSpainOnyama Limba QUALIFIED
Maria Y MaletFranceIvan Magalhaes QUALIFIED
Murillo T WhobreyBrazilAmy Elsner NEGOTIATION
Munro F MaletRussiaStephen Shaw NEGOTIATION
Antonio F ShinkoBrazilIvan Magalhaes NEW
Ivar K FerenczFranceXuxue Feng UNQUALIFIED
Francesco U PerinAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David X WhobreyUnited KingdomBernardo Dominic RENEWAL
Adams I WaycottBrazilIvan Magalhaes PROPOSAL
Aruna C MaletSpainBernardo Dominic UNQUALIFIED
Salvatore V BriddickRussiaStephen Shaw NEGOTIATION
Faith R OldroydAustraliaStephen Shaw NEW
David R DilliardIndiaIoni Bowcher RENEWAL
Maria D PaprockiBrazilBernardo Dominic QUALIFIED
Jefferson M BologniaIndiaIvan Magalhaes NEW
Jennifer F TollnerRussiaElwin Sharvill UNQUALIFIED
Faith H SchemmerIndiaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony V OldroydSpain2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED70Amy Elsner
1001Alejandro L DarakjyArgentina2024-06-05Printing Dimensions NEGOTIATION22Ioni Bowcher
1002Antonio D KolmetzRussia2024-05-21Commercial Press QUALIFIED75Asiya Javayant
1003Antonio G KuskoSpain2024-05-29Chanay, Jeffrey A Esq NEGOTIATION85Asiya Javayant
1004Ricardo Y RutaBrazil2024-06-04Printing Dimensions NEW65Xuxue Feng
1005Izzy O BologniaBrazil2024-06-11Buckley Miller Wright NEW92Stephen Shaw
1006Nicolas I GauchoFrance2024-06-12Chapman, Ross E Esq QUALIFIED16Bernardo Dominic
1007Chavez H PaprockiItaly2024-06-01Feltz Printing Service NEW47Bernardo Dominic
1008Faith H RoysterGermany2024-06-11Printing Dimensions NEGOTIATION89Xuxue Feng
1009Darci U PerinSpain2024-06-11Feltz Printing Service NEW52Xuxue Feng
1010Murillo O StockhamSpain2024-05-30Feiner Bros NEW22Asiya Javayant
1011Leja F FerenczFrance2024-06-01Buckley Miller Wright PROPOSAL35Anna Fali
1012Kaitlin X BowleyItaly2024-05-20Feltz Printing Service NEGOTIATION41Xuxue Feng
1013Misaki S PoquetteArgentina2024-05-17Morlong Associates UNQUALIFIED4Ioni Bowcher
1014Alejandro F MacleadCanada2024-06-05Rangoni Of Florence NEGOTIATION39Bernardo Dominic
1015Faith P CaldareraJapan2024-05-26Benton, John B Jr UNQUALIFIED62Asiya Javayant
1016Costa N RimIndia2024-05-15Dorl, James J Esq PROPOSAL3Bernardo Dominic
1017Octavia V KuskoItaly2024-06-05Commercial Press NEW4Onyama Limba
1018Leon G ShinkoFrance2024-06-03Rangoni Of Florence UNQUALIFIED70Bernardo Dominic
1019Clifford A KolmetzBrazil2024-06-12Chapman, Ross E Esq NEGOTIATION67Onyama Limba
1020Mayumi O PaprockiUnited Kingdom2024-05-29Benton, John B Jr PROPOSAL66Elwin Sharvill
1021Faith O InouyeBrazil2024-05-31Dorl, James J Esq RENEWAL95Asiya Javayant
1022Leja O BriddickUnited Kingdom2024-06-11Dorl, James J Esq NEW87Stephen Shaw
1023Morrow G VenereRussia2024-06-02Chemel, James L Cpa RENEWAL15Elwin Sharvill
1024Ashley E AmigonJapan2024-05-24King, Christopher A Esq UNQUALIFIED41Ivan Magalhaes
1025Munro C GlickItaly2024-06-05King, Christopher A Esq QUALIFIED10Onyama Limba
1026David K IturbideJapan2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED76Onyama Limba
1027Ricardo D RoysterGermany2024-06-06Chanay, Jeffrey A Esq RENEWAL68Stephen Shaw
1028Rodrigues T StockhamFrance2024-06-01Rangoni Of Florence PROPOSAL66Amy Elsner
1029Maisha C SergiBrazil2024-05-24Chanay, Jeffrey A Esq NEGOTIATION62Stephen Shaw
1030Ashley H WaycottRussia2024-05-25Benton, John B Jr PROPOSAL92Amy Elsner
1031Jones N WieserIndia2024-06-03Rousseaux, Michael Esq QUALIFIED78Stephen Shaw
1032Juan C AmigonBrazil2024-06-09Truhlar And Truhlar Attys NEGOTIATION47Ivan Magalhaes
1033Emily B MaletArgentina2024-05-26Chapman, Ross E Esq QUALIFIED8Amy Elsner
1034Isabel R PerinRussia2024-06-03Rangoni Of Florence NEGOTIATION25Xuxue Feng
1035Jefferson G WaycottUnited Kingdom2024-06-06King, Christopher A Esq QUALIFIED40Ioni Bowcher
1036Jeanfrancois Y MarrierCanada2024-05-29Morlong Associates UNQUALIFIED24Onyama Limba
1037Kaitlin Z MorascaIndia2024-06-07Printing Dimensions UNQUALIFIED7Stephen Shaw
1038Isabel H PaprockiSpain2024-06-08Feltz Printing Service UNQUALIFIED26Onyama Limba
1039Maria G PaprockiGermany2024-06-09Feltz Printing Service PROPOSAL58Xuxue Feng
1040Isabel K KuskoGermany2024-05-18Chapman, Ross E Esq RENEWAL8Amy Elsner
1041Chavez J DarakjyGermany2024-05-28Chemel, James L Cpa NEGOTIATION17Asiya Javayant
1042Costa U OldroydSpain2024-06-10Commercial Press RENEWAL85Anna Fali
1043Mayumi L KolmetzSpain2024-06-07Truhlar And Truhlar Attys UNQUALIFIED95Onyama Limba
1044Aruna P GarufiItaly2024-06-10Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1045Maisha U StockhamSpain2024-06-02Chapman, Ross E Esq PROPOSAL80Elwin Sharvill
1046Maisha Z SergiGermany2024-06-11Rousseaux, Michael Esq RENEWAL83Ivan Magalhaes
1047Izzy K SchemmerJapan2024-05-17Feiner Bros NEGOTIATION99Asiya Javayant
1048Mujtaba E NestleAustralia2024-05-18Feiner Bros UNQUALIFIED2Ioni Bowcher
1049Octavia U MacleadJapan2024-05-25Morlong Associates UNQUALIFIED26Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Cody W IturbideGermanyAnna Fali QUALIFIED
Murillo C ChuiFranceBernardo Dominic RENEWAL
Francesco X NestleUnited KingdomIvan Magalhaes NEW
Jeanfrancois Q SaylorsJapanBernardo Dominic RENEWAL
Greenwood R FerenczAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois K BowleyAustraliaAnna Fali RENEWAL
James F BologniaIndiaAsiya Javayant PROPOSAL
Costa O GarufiItalyOnyama Limba RENEWAL
Ricardo O RulapaughCanadaXuxue Feng RENEWAL
Kaitlin L BologniaJapanAsiya Javayant QUALIFIED
Izzy T ShinkoRussiaAsiya Javayant RENEWAL
Jones D MarrierItalyStephen Shaw QUALIFIED
Costa F MaletBrazilBernardo Dominic PROPOSAL
Sinclair P OstroskyArgentinaOnyama Limba NEGOTIATION
Costa V AmigonSpainIvan Magalhaes QUALIFIED
Kaitlin C InouyeBrazilIoni Bowcher PROPOSAL
Darci Z DoeCanadaStephen Shaw UNQUALIFIED
Greenwood C SergiItalyIoni Bowcher PROPOSAL
Alejandro M GillianSpainIvan Magalhaes PROPOSAL
Julie T FlosiGermanyElwin Sharvill RENEWAL
Aruna S SergiAustraliaIoni Bowcher RENEWAL
Jennifer G NestleSpainAnna Fali NEGOTIATION
Francesco U PoquetteRussiaIoni Bowcher QUALIFIED
David D ChuiJapanAsiya Javayant NEW
Arvin D WaycottJapanXuxue Feng NEW
Cody H PoquetteItalyIoni Bowcher UNQUALIFIED
Smith E SaylorsJapanXuxue Feng RENEWAL
Murillo X FollerArgentinaAnna Fali RENEWAL
Clifford L CampainAustraliaIoni Bowcher PROPOSAL
Maisha C WaycottIndiaXuxue Feng NEW
Smith Q AlbaresFranceXuxue Feng QUALIFIED
Greenwood X StockhamRussiaAsiya Javayant NEGOTIATION
Kaitlin R ChuiSpainStephen Shaw UNQUALIFIED
Juan L GillianArgentinaAmy Elsner QUALIFIED
Greenwood L BowleyIndiaXuxue Feng UNQUALIFIED
Deepesh A GauchoGermanyAsiya Javayant NEGOTIATION
Johnson P WaycottCanadaOnyama Limba UNQUALIFIED
Ashley A BowleyIndiaOnyama Limba QUALIFIED
Clifford N IturbideSpainOnyama Limba NEW
Ashley U StockhamItalyOnyama Limba NEW
Ashley A MarrierAustraliaAnna Fali NEW
Salvatore H MacleadFranceAmy Elsner PROPOSAL
Costa E DarakjyRussiaElwin Sharvill NEW
Claire Q PerinJapanStephen Shaw RENEWAL
Johnson N OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Francesco F WaycottJapanAmy Elsner PROPOSAL
Smith O RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Aika K DarakjyGermanyXuxue Feng PROPOSAL
Mayumi L NickaIndiaBernardo Dominic QUALIFIED
Greenwood S MaletArgentinaOnyama Limba NEW
Frozen Columns
Name
Alejandro V Caudy
Greenwood O Glick
Stacey Z Chui
Ricardo S Stockham
Faith X Bowley
Misaki W Whobrey
Wickens V Vocelka
Jennifer G Albares
Stacey O Chui
Octavia J Kusko
Clifford W Butt
Greenwood U Saylors
Greenwood Y Rim
Wickens F Gillian
James Q Morasca
Juan O Doe
Aika M Gillian
Ivar D Venere
Julie S Foller
Julie A Albares
Adams N Dilliard
Greenwood B Whobrey
Mayumi X Oldroyd
Chavez T Slusarski
Johnson D Ruta
Leja M Morasca
Sinclair A Perin
Mayumi C Maclead
Aika H Nicka
Salvatore Q Perin
Maisha Z Caldarera
Leja V Ruta
Tony B Marrier
Misaki S Caudy
Stacey M Flosi
Juan V Saylors
Aditya O Glick
Leja Q Paprocki
Leon U Royster
Misaki F Inouye
Julie H Gaucho
Nicolas J Caudy
James U Stockham
Costa F Nestle
Jones T Marrier
Alejandro V Morasca
Rodrigues U Briddick
Claire O Perin
Clifford Z Ostrosky
Costa N Campain
IdCountryDate
1000United Kingdom2024-05-29
1001France2024-06-12
1002Germany2024-05-16
1003Australia2024-06-11
1004Japan2024-05-16
1005India2024-06-06
1006India2024-06-04
1007Germany2024-06-03
1008Japan2024-06-02
1009Argentina2024-05-16
1010Argentina2024-06-05
1011Canada2024-05-26
1012Germany2024-06-12
1013Japan2024-05-22
1014Brazil2024-05-30
1015United Kingdom2024-06-01
1016United Kingdom2024-05-21
1017France2024-05-23
1018Germany2024-06-07
1019Argentina2024-06-13
1020Canada2024-06-12
1021Brazil2024-06-06
1022United Kingdom2024-05-17
1023Argentina2024-06-01
1024Russia2024-05-20
1025Russia2024-05-17
1026Germany2024-05-20
1027France2024-06-07
1028India2024-06-11
1029France2024-06-02
1030Italy2024-05-18
1031India2024-05-26
1032Brazil2024-06-06
1033Spain2024-06-09
1034France2024-05-30
1035Brazil2024-05-31
1036Australia2024-05-28
1037Russia2024-05-20
1038Russia2024-06-03
1039Spain2024-05-27
1040India2024-06-06
1041Spain2024-06-09
1042Spain2024-06-04
1043Germany2024-06-08
1044Brazil2024-05-22
1045Germany2024-06-08
1046France2024-05-28
1047United Kingdom2024-05-21
1048Canada2024-06-01
1049Italy2024-06-03

On-Demand Data

NameIdCountryDate
Emily V Ferencz1000Brazil2024-05-24
Tony F Chui1001Spain2024-05-16
Alejandro L Schemmer1002Japan2024-06-10
Clifford F Venere1003France2024-05-22
Mujtaba G Ruta1004Brazil2024-05-23
Maria C Tollner1005Japan2024-05-28
Murillo Z Ostrosky1006Canada2024-05-30
Morrow P Caudy1007Spain2024-06-09
Aika L Venere1008Russia2024-05-17
Leja G Saylors1009Japan2024-05-24
Ashley N Campain1010France2024-05-17
Nicolas I Nicka1011Spain2024-05-16
Misaki P Saylors1012United Kingdom2024-05-24
James E Dilliard1013Italy2024-05-30
Nicolas W Rim1014Russia2024-06-08
Antonio I Albares1015Germany2024-05-21
Octavia Q Gaucho1016Japan2024-06-01
Misaki T Stenseth1017Italy2024-06-07
Cody P Vocelka1018Russia2024-05-27
Octavia N Rim1019Spain2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David O SaylorsUnited KingdomXuxue Feng PROPOSAL
Juan I TollnerUnited KingdomAsiya Javayant NEW
Jefferson T RimUnited KingdomBernardo Dominic UNQUALIFIED
Francesco P GarufiCanadaAsiya Javayant NEW
Aruna V RimRussiaXuxue Feng NEW
David R BologniaUnited KingdomAsiya Javayant NEGOTIATION
Jefferson D CaudyFranceElwin Sharvill RENEWAL
Alejandro Q MacleadItalyAnna Fali UNQUALIFIED
Isabel F KuskoRussiaOnyama Limba UNQUALIFIED
Aika C SchemmerRussiaIoni Bowcher NEGOTIATION
Misaki N MaletAustraliaAnna Fali RENEWAL
Deepesh D PerinGermanyBernardo Dominic PROPOSAL
Izzy B ButtIndiaAmy Elsner NEGOTIATION
Julie B GillianJapanAmy Elsner NEW
Faith Z KolmetzJapanIoni Bowcher RENEWAL
Izzy Q DoeGermanyOnyama Limba UNQUALIFIED
Kadeem O DilliardFranceAmy Elsner RENEWAL
Murillo W DoeAustraliaElwin Sharvill QUALIFIED
Claire Y FollerFranceIoni Bowcher QUALIFIED
Clifford E NickaIndiaStephen Shaw NEW
Jones Z StensethJapanIoni Bowcher NEGOTIATION
Morrow V MaletArgentinaAmy Elsner QUALIFIED
Murillo E BowleyCanadaIvan Magalhaes UNQUALIFIED
Nicolas K MaletItalyIvan Magalhaes NEGOTIATION
Cody M PaprockiArgentinaStephen Shaw NEGOTIATION
Ivar D IturbideArgentinaBernardo Dominic UNQUALIFIED
Munro A RulapaughSpainOnyama Limba NEW
Faith A VocelkaJapanBernardo Dominic QUALIFIED
Greenwood D CaudySpainIoni Bowcher QUALIFIED
Deepesh P VenereIndiaOnyama Limba UNQUALIFIED
Costa Q MorascaBrazilAnna Fali PROPOSAL
Mujtaba P DilliardIndiaXuxue Feng NEGOTIATION
Murillo M GarufiBrazilOnyama Limba PROPOSAL
Julie Z VenereFranceBernardo Dominic RENEWAL
Leja U TollnerGermanyIvan Magalhaes PROPOSAL
Stacey U MarrierIndiaAnna Fali UNQUALIFIED
Adams O ButtItalyAnna Fali PROPOSAL
Jones X MaletIndiaAsiya Javayant NEGOTIATION
Leon Y MacleadJapanXuxue Feng NEGOTIATION
Cody U RutaSpainBernardo Dominic 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>