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
Aruna Z CampainAustraliaXuxue Feng NEGOTIATION
Chavez E KuskoJapanXuxue Feng NEW
Octavia H StockhamBrazilAmy Elsner UNQUALIFIED
Aruna R OstroskyArgentinaIvan Magalhaes NEGOTIATION
Kadeem M NestleSpainElwin Sharvill RENEWAL
Alejandro R RimFranceElwin Sharvill UNQUALIFIED
Leon N BologniaSpainOnyama Limba UNQUALIFIED
Sinclair Q SlusarskiBrazilElwin Sharvill PROPOSAL
Claire I RutaCanadaOnyama Limba NEW
Emily G NickaRussiaElwin Sharvill QUALIFIED
Ivar L TollnerItalyAnna Fali NEGOTIATION
Jennifer D SlusarskiSpainAnna Fali PROPOSAL
Faith T IturbideSpainOnyama Limba NEW
Ivar I MorascaGermanyOnyama Limba RENEWAL
Kaitlin L DarakjyArgentinaAsiya Javayant QUALIFIED
Darci N VocelkaSpainAnna Fali QUALIFIED
Cody Z RoysterItalyXuxue Feng PROPOSAL
Nicolas J BologniaSpainStephen Shaw RENEWAL
Octavia T MaletRussiaIoni Bowcher NEGOTIATION
Antonio K OldroydArgentinaIoni Bowcher PROPOSAL
Arvin D MacleadSpainStephen Shaw PROPOSAL
Julie B DarakjyUnited KingdomStephen Shaw RENEWAL
Stacey S ButtSpainElwin Sharvill QUALIFIED
Octavia X KolmetzSpainStephen Shaw PROPOSAL
Misaki M FerenczRussiaStephen Shaw NEW
Silvio E PaprockiUnited KingdomAnna Fali NEGOTIATION
Deepesh K ButtRussiaBernardo Dominic NEGOTIATION
Costa X DilliardIndiaStephen Shaw UNQUALIFIED
Kadeem E GillianRussiaStephen Shaw RENEWAL
Salvatore Y CampainFranceElwin Sharvill NEGOTIATION
Tony T CaldareraSpainOnyama Limba RENEWAL
Aruna Z MaletIndiaOnyama Limba PROPOSAL
Ashley P ChuiJapanIoni Bowcher UNQUALIFIED
David K FollerFranceIvan Magalhaes QUALIFIED
Emily J PoquetteGermanyAmy Elsner PROPOSAL
Faith P OstroskyFranceXuxue Feng RENEWAL
Deepesh X MorascaAustraliaIvan Magalhaes QUALIFIED
Stacey J ButtAustraliaXuxue Feng QUALIFIED
Francesco P OstroskyCanadaAnna Fali QUALIFIED
Smith J WieserJapanIvan Magalhaes NEW
Johnson C FlosiUnited KingdomBernardo Dominic NEW
Adams Q MaletSpainAsiya Javayant RENEWAL
Silvio T VenereSpainAmy Elsner UNQUALIFIED
Misaki S FigeroaGermanyAmy Elsner PROPOSAL
James T ChuiArgentinaXuxue Feng NEGOTIATION
Jones Q PoquetteCanadaXuxue Feng QUALIFIED
Maisha X VocelkaBrazilBernardo Dominic NEW
Murillo C StensethBrazilStephen Shaw PROPOSAL
Francesco Y InouyeUnited KingdomOnyama Limba RENEWAL
Maisha C GlickItalyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha C AlbaresGermanyAmy Elsner PROPOSAL
Morrow C RutaSpainBernardo Dominic UNQUALIFIED
Misaki O PoquetteSpainOnyama Limba PROPOSAL
Claire O FollerGermanyXuxue Feng NEGOTIATION
Greenwood E GillianCanadaOnyama Limba PROPOSAL
Nicolas U FlosiCanadaOnyama Limba QUALIFIED
Mujtaba D SlusarskiFranceStephen Shaw NEW
Kadeem Q OldroydSpainOnyama Limba UNQUALIFIED
David P ChuiUnited KingdomAnna Fali QUALIFIED
Claire M DoeJapanElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia N PoquetteSpain2024-06-11Feltz Printing Service PROPOSAL9Bernardo Dominic
1001Mayumi R MaletBrazil2024-06-17Benton, John B Jr PROPOSAL58Asiya Javayant
1002Mayumi C MorascaJapan2024-06-05Printing Dimensions PROPOSAL44Anna Fali
1003Adams G PoquetteItaly2024-06-11Benton, John B Jr NEGOTIATION52Asiya Javayant
1004Murillo G VocelkaRussia2024-05-28Printing Dimensions RENEWAL33Onyama Limba
1005Ashley A GauchoJapan2024-05-29Morlong Associates QUALIFIED30Ivan Magalhaes
1006Leja X MarrierBrazil2024-05-27Benton, John B Jr UNQUALIFIED83Xuxue Feng
1007Arvin O SergiCanada2024-05-29Truhlar And Truhlar Attys PROPOSAL40Ioni Bowcher
1008Jeanfrancois A MacleadIndia2024-06-16Rangoni Of Florence NEGOTIATION14Anna Fali
1009Aditya V FerenczArgentina2024-06-18Feltz Printing Service QUALIFIED34Xuxue Feng
1010Aditya S AlbaresArgentina2024-05-25Chapman, Ross E Esq QUALIFIED63Elwin Sharvill
1011Ivar H MaletFrance2024-06-06Feiner Bros NEGOTIATION87Bernardo Dominic
1012Adams R StensethFrance2024-06-02Buckley Miller Wright PROPOSAL87Amy Elsner
1013Faith T DilliardBrazil2024-06-12Rousseaux, Michael Esq NEW49Anna Fali
1014Aditya T BologniaGermany2024-06-13Chanay, Jeffrey A Esq NEW57Elwin Sharvill
1015Greenwood D PaprockiSpain2024-06-21Commercial Press PROPOSAL99Asiya Javayant
1016Misaki B CaudyFrance2024-05-27Rousseaux, Michael Esq QUALIFIED34Stephen Shaw
1017Jones I CampainAustralia2024-06-13Rousseaux, Michael Esq UNQUALIFIED49Stephen Shaw
1018Jennifer C InouyeGermany2024-05-25Chapman, Ross E Esq UNQUALIFIED66Ioni Bowcher
1019James G GarufiBrazil2024-06-16Truhlar And Truhlar Attys QUALIFIED1Asiya Javayant
1020Juan Q RutaUnited Kingdom2024-06-15King, Christopher A Esq RENEWAL8Elwin Sharvill
1021Claire N MorascaAustralia2024-06-02Buckley Miller Wright RENEWAL43Xuxue Feng
1022Antonio P VenereCanada2024-06-18Morlong Associates PROPOSAL22Elwin Sharvill
1023Faith I TollnerAustralia2024-06-11Feltz Printing Service NEGOTIATION33Bernardo Dominic
1024Leja C SergiCanada2024-06-06Truhlar And Truhlar Attys NEGOTIATION99Amy Elsner
1025Greenwood H AmigonRussia2024-06-15Truhlar And Truhlar Attys NEGOTIATION10Anna Fali
1026Claire W WaycottAustralia2024-05-25Feiner Bros NEGOTIATION40Asiya Javayant
1027Smith A NickaJapan2024-06-01King, Christopher A Esq RENEWAL44Onyama Limba
1028Clifford E GillianAustralia2024-06-09Chemel, James L Cpa QUALIFIED79Ioni Bowcher
1029Nicolas N GarufiRussia2024-05-30Chemel, James L Cpa RENEWAL27Ivan Magalhaes
1030Alejandro X TollnerGermany2024-05-27Rousseaux, Michael Esq QUALIFIED1Elwin Sharvill
1031Leon N KuskoUnited Kingdom2024-06-05Rousseaux, Michael Esq NEGOTIATION11Amy Elsner
1032Johnson T DarakjyJapan2024-06-22Chemel, James L Cpa UNQUALIFIED38Stephen Shaw
1033Aditya G StockhamFrance2024-06-15Rangoni Of Florence NEGOTIATION37Stephen Shaw
1034Maisha C GillianAustralia2024-06-09Morlong Associates QUALIFIED80Onyama Limba
1035Juan N BowleyCanada2024-06-15Feltz Printing Service RENEWAL50Elwin Sharvill
1036Sinclair E NickaRussia2024-06-01Commercial Press UNQUALIFIED16Ioni Bowcher
1037Isabel N ChuiUnited Kingdom2024-05-26Feiner Bros NEGOTIATION0Stephen Shaw
1038Wickens R MarrierSpain2024-05-27King, Christopher A Esq NEW94Stephen Shaw
1039Alejandro T DarakjyUnited Kingdom2024-05-30Morlong Associates NEW1Onyama Limba
1040Adams Q ButtCanada2024-05-24Chemel, James L Cpa NEGOTIATION81Onyama Limba
1041Julie V ShinkoIndia2024-06-07Rousseaux, Michael Esq NEW57Elwin Sharvill
1042Antonio C NestleFrance2024-06-06Benton, John B Jr UNQUALIFIED29Amy Elsner
1043Rodrigues C MaletFrance2024-06-02Chemel, James L Cpa PROPOSAL88Asiya Javayant
1044Tony N StensethItaly2024-05-25Buckley Miller Wright PROPOSAL62Stephen Shaw
1045Aditya S MaletJapan2024-06-05Feiner Bros UNQUALIFIED46Bernardo Dominic
1046Ricardo I NestleAustralia2024-05-25Dorl, James J Esq NEW53Ivan Magalhaes
1047Jeanfrancois B StensethSpain2024-05-29Dorl, James J Esq NEW90Anna Fali
1048Darci S FollerGermany2024-06-17Dorl, James J Esq UNQUALIFIED44Xuxue Feng
1049Chavez L PerinAustralia2024-06-12Chapman, Ross E Esq PROPOSAL65Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio H PerinFranceElwin Sharvill UNQUALIFIED
Misaki E SaylorsAustraliaBernardo Dominic NEW
Arvin L StockhamCanadaOnyama Limba QUALIFIED
Isabel A GauchoAustraliaXuxue Feng NEW
Mayumi D FollerCanadaAnna Fali PROPOSAL
Emily D FlosiIndiaIoni Bowcher PROPOSAL
Aruna I KolmetzGermanyStephen Shaw NEGOTIATION
Leon H DarakjyGermanyStephen Shaw NEGOTIATION
Cody B RutaJapanBernardo Dominic UNQUALIFIED
Jefferson O BowleyCanadaIvan Magalhaes NEGOTIATION
Octavia Q OstroskyFranceIoni Bowcher NEGOTIATION
Silvio B BriddickJapanIoni Bowcher NEW
Cody V CaldareraSpainIoni Bowcher QUALIFIED
Jefferson I BologniaJapanAnna Fali NEW
Jeanfrancois R DoeArgentinaStephen Shaw RENEWAL
Aika E NestleRussiaStephen Shaw NEGOTIATION
Arvin Q CaldareraSpainOnyama Limba NEW
Antonio V VocelkaGermanyElwin Sharvill QUALIFIED
Rodrigues M SergiSpainAnna Fali NEW
Sinclair O SergiArgentinaXuxue Feng PROPOSAL
Nicolas A CampainGermanyAnna Fali UNQUALIFIED
Cody J CaldareraCanadaXuxue Feng NEW
Tony R VocelkaRussiaElwin Sharvill UNQUALIFIED
Chavez P PerinAustraliaIvan Magalhaes RENEWAL
Aika C MaletUnited KingdomBernardo Dominic UNQUALIFIED
Maisha D NickaFranceStephen Shaw QUALIFIED
Ivar X MaletArgentinaStephen Shaw UNQUALIFIED
Tony H MorascaBrazilXuxue Feng UNQUALIFIED
Mayumi N FollerBrazilStephen Shaw NEW
Leon G GauchoFranceBernardo Dominic NEGOTIATION
Isabel K OstroskyGermanyStephen Shaw NEGOTIATION
Ricardo L KuskoCanadaIvan Magalhaes PROPOSAL
Leon Z VenereRussiaAmy Elsner UNQUALIFIED
Emily M GarufiFranceAsiya Javayant UNQUALIFIED
Octavia U GillianArgentinaBernardo Dominic QUALIFIED
Ivar Y DarakjyUnited KingdomAnna Fali QUALIFIED
Octavia V GillianBrazilStephen Shaw QUALIFIED
Stacey U ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Ivar H IturbideIndiaElwin Sharvill UNQUALIFIED
Maisha U GlickUnited KingdomXuxue Feng QUALIFIED
Morrow E PaprockiRussiaAmy Elsner NEW
Emily V IturbideRussiaStephen Shaw PROPOSAL
Cody D IturbideUnited KingdomAnna Fali NEW
Faith V SlusarskiJapanStephen Shaw NEW
Arvin V MaletJapanIvan Magalhaes RENEWAL
Aditya X RutaUnited KingdomIoni Bowcher QUALIFIED
Octavia A PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Kadeem L InouyeJapanOnyama Limba NEGOTIATION
Alejandro F GarufiIndiaIvan Magalhaes RENEWAL
Antonio W ChuiArgentinaIoni Bowcher RENEWAL
Frozen Columns
Name
Maria W Slusarski
Emily H Oldroyd
Julie R Ruta
Jeanfrancois Q Flosi
Ashley D Vocelka
Claire X Chui
Leja L Stenseth
Silvio G Ostrosky
Alejandro A Perin
Adams X Sergi
Maria C Ostrosky
Tony D Poquette
Leja I Darakjy
Kaitlin V Stenseth
Cody Y Stenseth
Francesco E Albares
Nicolas N Rulapaugh
Aruna R Wieser
Aditya Z Doe
Aditya O Paprocki
James Y Stenseth
Jeanfrancois U Saylors
Rodrigues Y Paprocki
Silvio R Stenseth
Rodrigues M Flosi
Munro F Malet
Aditya L Flosi
Aruna I Briddick
Faith S Glick
Nicolas L Inouye
Alejandro J Kusko
Aditya D Darakjy
Tony E Tollner
Aika H Whobrey
Chavez A Caldarera
Nicolas Z Caudy
Leon C Ostrosky
Ashley K Caudy
David J Flosi
Isabel D Wieser
Adams H Briddick
Aditya G Caldarera
Alejandro L Flosi
Ashley E Maclead
Ricardo A Dilliard
Jeanfrancois P Ruta
Leon X Foller
Ivar R Shinko
Faith E Marrier
Murillo N Malet
IdCountryDate
1000Italy2024-06-18
1001Russia2024-06-19
1002Japan2024-05-24
1003United Kingdom2024-06-07
1004Spain2024-06-15
1005Italy2024-06-07
1006Germany2024-06-13
1007Brazil2024-06-03
1008Argentina2024-06-04
1009Brazil2024-06-03
1010France2024-06-21
1011Japan2024-05-31
1012Germany2024-06-21
1013Japan2024-06-22
1014Spain2024-06-06
1015Russia2024-06-21
1016Japan2024-06-19
1017Germany2024-06-20
1018Japan2024-05-25
1019Germany2024-05-30
1020Italy2024-06-11
1021Germany2024-06-14
1022Russia2024-05-25
1023Argentina2024-06-07
1024Argentina2024-06-10
1025India2024-06-06
1026Spain2024-06-20
1027India2024-06-17
1028Italy2024-06-13
1029Germany2024-05-24
1030Italy2024-05-24
1031Japan2024-06-01
1032Brazil2024-06-21
1033Canada2024-06-04
1034Argentina2024-06-02
1035France2024-06-08
1036Argentina2024-05-26
1037Canada2024-06-10
1038Italy2024-05-31
1039Brazil2024-06-14
1040India2024-06-17
1041Italy2024-06-14
1042United Kingdom2024-05-28
1043Russia2024-06-04
1044Spain2024-06-07
1045France2024-05-25
1046Japan2024-06-07
1047Canada2024-06-17
1048Argentina2024-06-15
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Salvatore C Dilliard1000Germany2024-05-24
Jennifer P Poquette1001Brazil2024-05-26
Jeanfrancois Y Wieser1002France2024-05-30
Cody A Glick1003Germany2024-06-08
Morrow F Marrier1004Argentina2024-06-15
Salvatore N Malet1005Germany2024-05-24
Alejandro M Slusarski1006India2024-05-26
Maisha T Oldroyd1007India2024-06-05
Isabel D Venere1008Russia2024-05-25
Aika W Shinko1009Argentina2024-06-07
Misaki P Vocelka1010Russia2024-06-15
Aika B Darakjy1011Australia2024-06-11
Julie A Kusko1012Japan2024-06-11
Munro O Saylors1013Brazil2024-06-21
Juan H Ostrosky1014Germany2024-06-10
Darci M Vocelka1015Brazil2024-06-06
Jennifer B Oldroyd1016India2024-06-12
Isabel I Tollner1017Brazil2024-06-11
Costa O Bolognia1018United Kingdom2024-05-25
Salvatore R Briddick1019Russia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford P RimAustraliaAsiya Javayant UNQUALIFIED
Faith K GauchoBrazilAsiya Javayant PROPOSAL
Mayumi D MaletArgentinaElwin Sharvill UNQUALIFIED
Chavez P BriddickGermanyXuxue Feng QUALIFIED
Izzy V SaylorsGermanyXuxue Feng NEW
Adams Y PoquetteItalyAmy Elsner NEW
Johnson E FigeroaJapanStephen Shaw NEW
David U BowleyArgentinaAsiya Javayant NEGOTIATION
Cody F KuskoGermanyStephen Shaw PROPOSAL
Nicolas C NickaIndiaAsiya Javayant NEGOTIATION
Rodrigues G VenereAustraliaAsiya Javayant NEGOTIATION
Munro V SlusarskiIndiaStephen Shaw QUALIFIED
Ashley A CampainRussiaAnna Fali QUALIFIED
James J GauchoBrazilElwin Sharvill PROPOSAL
David Y CaudyFranceAsiya Javayant PROPOSAL
David N DilliardCanadaStephen Shaw UNQUALIFIED
Juan O ButtCanadaAnna Fali NEW
Jennifer G AlbaresIndiaXuxue Feng PROPOSAL
Maria R SchemmerRussiaIoni Bowcher PROPOSAL
Aditya P MorascaUnited KingdomIoni Bowcher NEGOTIATION
Clifford P ChuiCanadaIoni Bowcher NEW
Mayumi J CampainRussiaAmy Elsner QUALIFIED
Mayumi S AlbaresUnited KingdomElwin Sharvill RENEWAL
Ivar V OstroskyRussiaIvan Magalhaes PROPOSAL
Aditya T FollerFranceElwin Sharvill RENEWAL
Faith I KuskoSpainOnyama Limba UNQUALIFIED
Octavia A SaylorsFranceBernardo Dominic RENEWAL
Cody K PerinItalyIoni Bowcher NEGOTIATION
Munro E KolmetzGermanyElwin Sharvill RENEWAL
Octavia C StensethRussiaStephen Shaw PROPOSAL
Aditya V GarufiArgentinaXuxue Feng NEGOTIATION
Tony O FlosiBrazilAmy Elsner UNQUALIFIED
Misaki O ShinkoSpainIoni Bowcher RENEWAL
Silvio E SlusarskiAustraliaAnna Fali NEW
Emily Y RulapaughUnited KingdomOnyama Limba NEW
Smith K ShinkoSpainAnna Fali RENEWAL
Deepesh M SchemmerBrazilXuxue Feng NEW
Maria H GarufiSpainAsiya Javayant UNQUALIFIED
Aditya Y RutaUnited KingdomAmy Elsner NEW
Aruna B GauchoArgentinaIvan Magalhaes QUALIFIED

<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>