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
Isabel L MaletArgentinaStephen Shaw NEW
Greenwood V OstroskyBrazilXuxue Feng UNQUALIFIED
Antonio D DarakjyRussiaAmy Elsner UNQUALIFIED
Arvin E NestleRussiaOnyama Limba NEW
Maisha G GarufiArgentinaOnyama Limba NEW
Nicolas Z StockhamFranceAsiya Javayant PROPOSAL
Jennifer K SlusarskiUnited KingdomAmy Elsner RENEWAL
Munro E OldroydBrazilAsiya Javayant NEGOTIATION
Maria X PerinSpainStephen Shaw PROPOSAL
Octavia B StensethIndiaIoni Bowcher RENEWAL
David F FerenczUnited KingdomIoni Bowcher NEW
Antonio E ShinkoGermanyOnyama Limba RENEWAL
Wickens W OldroydFranceAsiya Javayant UNQUALIFIED
Misaki S TollnerSpainAmy Elsner PROPOSAL
Jeanfrancois Z WhobreyGermanyIoni Bowcher RENEWAL
Izzy B StensethArgentinaIoni Bowcher NEGOTIATION
Kadeem N TollnerGermanyOnyama Limba UNQUALIFIED
Greenwood G KuskoAustraliaBernardo Dominic PROPOSAL
Kaitlin M BologniaAustraliaAsiya Javayant PROPOSAL
Antonio Y BowleyRussiaAmy Elsner NEW
Emily Q GlickAustraliaAsiya Javayant NEW
Johnson D ButtFranceXuxue Feng RENEWAL
Cody Z MorascaArgentinaAsiya Javayant PROPOSAL
Munro G CaudyIndiaStephen Shaw UNQUALIFIED
Tony M BriddickUnited KingdomXuxue Feng NEGOTIATION
Cody E WhobreyArgentinaElwin Sharvill PROPOSAL
Maisha X RutaFranceOnyama Limba RENEWAL
Sinclair H WaycottRussiaStephen Shaw PROPOSAL
Aruna E WieserItalyAsiya Javayant NEGOTIATION
Deepesh R VenereAustraliaElwin Sharvill NEGOTIATION
Julie I BowleyRussiaBernardo Dominic RENEWAL
Isabel F SlusarskiJapanStephen Shaw QUALIFIED
Maisha K OstroskyIndiaOnyama Limba PROPOSAL
Salvatore M MacleadSpainElwin Sharvill QUALIFIED
Antonio E RimItalyIoni Bowcher PROPOSAL
Costa C PaprockiItalyBernardo Dominic NEW
David J DilliardUnited KingdomOnyama Limba NEW
Ashley Y InouyeCanadaOnyama Limba PROPOSAL
Morrow W RutaGermanyElwin Sharvill PROPOSAL
David I ShinkoJapanIoni Bowcher NEGOTIATION
Francesco Q FerenczCanadaXuxue Feng NEW
Kaitlin Y ChuiFranceOnyama Limba NEW
Costa F MarrierFranceXuxue Feng QUALIFIED
Arvin N ButtItalyStephen Shaw NEW
Murillo P CaudyRussiaIvan Magalhaes NEGOTIATION
Ricardo D SlusarskiSpainBernardo Dominic NEGOTIATION
James T RutaUnited KingdomOnyama Limba NEW
Jennifer X ButtRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois O DilliardArgentinaIvan Magalhaes QUALIFIED
Francesco X DarakjyArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James D MaletGermanyOnyama Limba PROPOSAL
Greenwood G PaprockiGermanyAmy Elsner UNQUALIFIED
Kadeem K RoysterItalyXuxue Feng PROPOSAL
Wickens H RulapaughFranceAsiya Javayant QUALIFIED
Jefferson J MaletSpainStephen Shaw QUALIFIED
Darci A ButtBrazilOnyama Limba QUALIFIED
Darci T VocelkaAustraliaElwin Sharvill RENEWAL
Francesco J GillianSpainBernardo Dominic RENEWAL
Aika Q MaletAustraliaBernardo Dominic UNQUALIFIED
David X TollnerArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas B TollnerSpain2026-07-30Commercial Press NEW42Bernardo Dominic
1001Murillo R WhobreyFrance2026-08-05Feltz Printing Service UNQUALIFIED34Onyama Limba
1002Silvio Q CaldareraBrazil2026-08-17Printing Dimensions UNQUALIFIED26Elwin Sharvill
1003Jefferson J FerenczCanada2026-08-18Chanay, Jeffrey A Esq RENEWAL16Elwin Sharvill
1004Murillo L InouyeUnited Kingdom2026-08-18Rousseaux, Michael Esq PROPOSAL89Ivan Magalhaes
1005Silvio Z InouyeCanada2026-08-27Rangoni Of Florence NEGOTIATION10Ivan Magalhaes
1006Silvio H OstroskyUnited Kingdom2026-08-03King, Christopher A Esq PROPOSAL93Amy Elsner
1007Nicolas M MorascaItaly2026-08-19Chapman, Ross E Esq NEW77Bernardo Dominic
1008Chavez P FigeroaJapan2026-08-27Printing Dimensions RENEWAL0Stephen Shaw
1009Greenwood C RoysterIndia2026-08-23Truhlar And Truhlar Attys RENEWAL65Ioni Bowcher
1010Juan A WieserCanada2026-08-03Feltz Printing Service NEGOTIATION37Amy Elsner
1011Claire W MaletArgentina2026-08-12Chapman, Ross E Esq QUALIFIED81Amy Elsner
1012Mujtaba Z PaprockiArgentina2026-08-13Printing Dimensions RENEWAL0Xuxue Feng
1013Izzy H StockhamJapan2026-08-02Benton, John B Jr NEGOTIATION40Ivan Magalhaes
1014Wickens A MaletJapan2026-08-01Chapman, Ross E Esq QUALIFIED84Bernardo Dominic
1015Adams G FlosiUnited Kingdom2026-08-19Rangoni Of Florence NEGOTIATION85Ivan Magalhaes
1016Smith X BowleyGermany2026-08-24King, Christopher A Esq NEGOTIATION67Stephen Shaw
1017Aruna D FerenczJapan2026-08-13Printing Dimensions UNQUALIFIED98Amy Elsner
1018Francesco B AlbaresUnited Kingdom2026-08-22Morlong Associates RENEWAL46Anna Fali
1019Octavia L CaldareraAustralia2026-08-22Printing Dimensions PROPOSAL62Bernardo Dominic
1020Darci D MacleadItaly2026-08-06Benton, John B Jr UNQUALIFIED64Onyama Limba
1021Leon X CaudyJapan2026-08-18Feltz Printing Service NEW40Bernardo Dominic
1022Aditya K BriddickItaly2026-08-09Rangoni Of Florence UNQUALIFIED62Ioni Bowcher
1023Sinclair P FollerGermany2026-08-26King, Christopher A Esq RENEWAL18Bernardo Dominic
1024Smith Q RutaJapan2026-08-24Commercial Press RENEWAL63Ioni Bowcher
1025Isabel D VenereFrance2026-08-18Feiner Bros QUALIFIED35Stephen Shaw
1026Deepesh G RutaIndia2026-08-09Commercial Press QUALIFIED65Elwin Sharvill
1027Johnson F SlusarskiBrazil2026-08-07Buckley Miller Wright QUALIFIED74Elwin Sharvill
1028Antonio H PoquetteUnited Kingdom2026-08-03Printing Dimensions QUALIFIED31Xuxue Feng
1029Misaki Z AlbaresItaly2026-08-15Truhlar And Truhlar Attys NEW82Xuxue Feng
1030Isabel D PerinFrance2026-08-12Buckley Miller Wright PROPOSAL84Xuxue Feng
1031Faith G CaldareraBrazil2026-08-20Feltz Printing Service QUALIFIED41Amy Elsner
1032Munro K StockhamBrazil2026-08-27Feiner Bros RENEWAL56Xuxue Feng
1033Wickens L RoysterSpain2026-08-25Rousseaux, Michael Esq UNQUALIFIED87Stephen Shaw
1034Silvio D TollnerJapan2026-08-13Chanay, Jeffrey A Esq NEW5Amy Elsner
1035Clifford A DarakjyIndia2026-08-08Feltz Printing Service QUALIFIED79Anna Fali
1036Ricardo D DilliardArgentina2026-08-23Rangoni Of Florence PROPOSAL59Onyama Limba
1037Jeanfrancois X DilliardItaly2026-08-14Dorl, James J Esq NEGOTIATION81Ioni Bowcher
1038Silvio U BriddickUnited Kingdom2026-08-13King, Christopher A Esq PROPOSAL82Stephen Shaw
1039Silvio E SlusarskiUnited Kingdom2026-08-27King, Christopher A Esq PROPOSAL76Xuxue Feng
1040Jennifer E VenereItaly2026-08-22Chanay, Jeffrey A Esq PROPOSAL37Stephen Shaw
1041Juan Q ChuiGermany2026-08-19Buckley Miller Wright UNQUALIFIED3Ivan Magalhaes
1042Alejandro A ButtSpain2026-08-17Benton, John B Jr RENEWAL46Asiya Javayant
1043Munro W KolmetzAustralia2026-07-30Truhlar And Truhlar Attys QUALIFIED50Bernardo Dominic
1044Arvin H VocelkaSpain2026-07-31Commercial Press NEGOTIATION40Elwin Sharvill
1045Silvio S MaletItaly2026-08-20Printing Dimensions RENEWAL47Stephen Shaw
1046Ashley R SchemmerBrazil2026-08-02Chemel, James L Cpa NEW3Anna Fali
1047Leon P InouyeAustralia2026-08-25Rousseaux, Michael Esq PROPOSAL88Asiya Javayant
1048Leja S InouyeGermany2026-08-05Dorl, James J Esq NEGOTIATION7Xuxue Feng
1049Octavia U FollerFrance2026-08-02Rousseaux, Michael Esq RENEWAL34Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon A DarakjyIndiaAmy Elsner RENEWAL
Johnson S PerinAustraliaXuxue Feng RENEWAL
Darci R BowleySpainElwin Sharvill UNQUALIFIED
Julie Y InouyeUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin H SergiCanadaAsiya Javayant RENEWAL
Arvin Q WhobreyArgentinaOnyama Limba RENEWAL
Kaitlin T MacleadGermanyElwin Sharvill PROPOSAL
Sinclair B ButtGermanyBernardo Dominic NEW
Costa R RimUnited KingdomStephen Shaw RENEWAL
Stacey J TollnerBrazilAmy Elsner NEGOTIATION
Johnson T RutaRussiaStephen Shaw UNQUALIFIED
Jones T NickaRussiaBernardo Dominic PROPOSAL
Emily T ButtFranceAsiya Javayant UNQUALIFIED
Antonio Z BriddickBrazilXuxue Feng RENEWAL
Francesco Q SlusarskiRussiaAmy Elsner NEGOTIATION
Murillo A StensethRussiaOnyama Limba PROPOSAL
Jones Y GarufiGermanyBernardo Dominic PROPOSAL
Ricardo I GauchoGermanyAmy Elsner RENEWAL
Silvio C WieserSpainStephen Shaw QUALIFIED
Munro V TollnerIndiaAnna Fali NEW
Juan Q CaldareraRussiaAsiya Javayant UNQUALIFIED
Jones C StensethUnited KingdomIvan Magalhaes NEGOTIATION
Tony S ButtBrazilXuxue Feng UNQUALIFIED
Tony T InouyeAustraliaOnyama Limba QUALIFIED
Misaki C WaycottFranceAsiya Javayant UNQUALIFIED
Leja V GarufiRussiaAnna Fali RENEWAL
Jeanfrancois L ButtGermanyIoni Bowcher RENEWAL
Octavia T FlosiBrazilAnna Fali QUALIFIED
Adams Y DilliardGermanyIoni Bowcher UNQUALIFIED
Jennifer F BologniaItalyAnna Fali RENEWAL
Jefferson R StockhamJapanAnna Fali NEGOTIATION
Octavia B InouyeJapanAnna Fali QUALIFIED
Leon P MarrierJapanBernardo Dominic RENEWAL
Octavia Z CaldareraCanadaElwin Sharvill QUALIFIED
Aditya A RutaArgentinaOnyama Limba NEGOTIATION
Maria D BologniaRussiaOnyama Limba PROPOSAL
Antonio F GarufiIndiaStephen Shaw RENEWAL
Murillo S AmigonGermanyOnyama Limba NEW
Johnson G ShinkoAustraliaOnyama Limba RENEWAL
Maria Q WhobreyJapanAnna Fali NEGOTIATION
Faith I InouyeIndiaIoni Bowcher PROPOSAL
Maisha Z SlusarskiAustraliaAnna Fali NEW
Munro Z ChuiAustraliaAsiya Javayant QUALIFIED
Silvio V SaylorsFranceIoni Bowcher UNQUALIFIED
Wickens E NickaAustraliaAsiya Javayant QUALIFIED
Antonio V GillianSpainBernardo Dominic PROPOSAL
Ashley A SchemmerFranceIvan Magalhaes QUALIFIED
Claire I FerenczArgentinaXuxue Feng NEGOTIATION
Aditya O KolmetzItalyAnna Fali NEW
Jones C RulapaughIndiaBernardo Dominic QUALIFIED
Frozen Columns
Name
Wickens L Rim
Jennifer L Ruta
Jefferson B Butt
Chavez N Paprocki
Maria Y Glick
Munro X Albares
Jefferson Q Briddick
James H Ruta
Leon V Oldroyd
Ivar L Briddick
Deepesh T Butt
James R Malet
Mayumi W Maclead
Salvatore A Whobrey
Aruna T Slusarski
Clifford J Oldroyd
Cody E Sergi
Kaitlin S Schemmer
Maria P Saylors
Jones X Ferencz
Wickens K Perin
Cody T Malet
Maisha R Bolognia
Arvin V Ostrosky
Misaki H Amigon
Misaki A Flosi
Aika H Albares
Jefferson J Royster
Ashley X Royster
Smith E Caudy
Sinclair H Stockham
Johnson Z Stenseth
Mayumi P Nicka
Smith F Iturbide
David X Briddick
Darci W Garufi
Adams G Perin
Adams I Stenseth
Sinclair B Stockham
Kaitlin Y Glick
Rodrigues F Kusko
Chavez A Doe
Tony K Bolognia
Faith K Briddick
Aditya E Stockham
Julie J Vocelka
Faith Z Stockham
Jefferson V Waycott
Francesco I Wieser
Adams K Iturbide
IdCountryDate
1000Italy2026-08-22
1001Brazil2026-08-20
1002France2026-08-16
1003France2026-08-10
1004Brazil2026-08-05
1005Germany2026-08-27
1006Italy2026-08-08
1007Canada2026-08-02
1008United Kingdom2026-08-07
1009Canada2026-08-27
1010Brazil2026-08-19
1011France2026-08-22
1012Russia2026-08-23
1013Australia2026-08-18
1014Argentina2026-08-11
1015United Kingdom2026-08-28
1016Argentina2026-08-13
1017United Kingdom2026-07-30
1018India2026-08-23
1019Argentina2026-08-05
1020Australia2026-08-12
1021Spain2026-08-17
1022Brazil2026-08-10
1023India2026-08-19
1024Italy2026-08-04
1025Argentina2026-08-26
1026Argentina2026-08-16
1027Canada2026-08-23
1028Australia2026-08-14
1029Brazil2026-08-27
1030Italy2026-08-19
1031Argentina2026-08-16
1032France2026-07-31
1033Japan2026-08-25
1034India2026-08-28
1035Russia2026-08-09
1036United Kingdom2026-08-03
1037India2026-08-19
1038Italy2026-07-30
1039Japan2026-08-27
1040Argentina2026-08-21
1041Canada2026-07-31
1042Australia2026-08-23
1043Germany2026-08-10
1044France2026-08-01
1045France2026-07-31
1046Brazil2026-08-08
1047Argentina2026-08-24
1048Germany2026-08-03
1049Japan2026-08-25

On-Demand Data

NameIdCountryDate
Smith P Glick1000India2026-08-09
Wickens C Glick1001Japan2026-07-30
Mayumi N Ruta1002Germany2026-08-24
David Q Marrier1003Canada2026-08-10
Murillo U Inouye1004France2026-08-16
Smith X Stenseth1005Russia2026-08-03
Leon M Waycott1006Argentina2026-08-12
Smith H Oldroyd1007Italy2026-08-09
James Z Paprocki1008India2026-08-06
Costa M Waycott1009Canada2026-08-06
Arvin R Ruta1010Spain2026-08-17
Alejandro C Briddick1011Canada2026-08-04
Deepesh L Oldroyd1012France2026-08-05
Salvatore L Amigon1013Spain2026-08-22
Juan Y Darakjy1014India2026-08-13
James C Bowley1015Spain2026-08-05
Smith T Poquette1016Italy2026-08-17
Adams F Maclead1017Spain2026-08-14
Antonio F Tollner1018Germany2026-08-02
Leon C Iturbide1019Italy2026-08-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan I KolmetzArgentinaBernardo Dominic RENEWAL
Wickens I WieserItalyXuxue Feng NEGOTIATION
Munro Z AmigonUnited KingdomAmy Elsner NEGOTIATION
Jones Y BologniaIndiaBernardo Dominic NEW
Nicolas G TollnerRussiaAmy Elsner NEGOTIATION
Kadeem S DoeJapanStephen Shaw QUALIFIED
Jennifer Y GauchoIndiaAnna Fali RENEWAL
Stacey U NickaBrazilAsiya Javayant QUALIFIED
Claire M WhobreyIndiaOnyama Limba NEGOTIATION
Kadeem Z CaldareraItalyAnna Fali QUALIFIED
Chavez L DoeIndiaAmy Elsner QUALIFIED
Julie S ButtItalyOnyama Limba QUALIFIED
Smith Z PerinCanadaElwin Sharvill RENEWAL
David K VenereCanadaBernardo Dominic PROPOSAL
Jones M GarufiGermanyAsiya Javayant RENEWAL
Morrow W MaletIndiaStephen Shaw PROPOSAL
Chavez I CaldareraGermanyIoni Bowcher PROPOSAL
Julie S SlusarskiItalyStephen Shaw PROPOSAL
Salvatore N PerinItalyStephen Shaw RENEWAL
Costa G CampainBrazilBernardo Dominic PROPOSAL
Jennifer Z DoeFranceAmy Elsner RENEWAL
Faith V ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Faith Z OstroskyJapanXuxue Feng NEW
Jennifer R NickaIndiaAmy Elsner NEGOTIATION
Stacey Y AlbaresArgentinaIvan Magalhaes NEW
Jefferson B ButtGermanyAsiya Javayant RENEWAL
Faith H WhobreyGermanyBernardo Dominic NEGOTIATION
Misaki U GarufiSpainStephen Shaw NEGOTIATION
Jennifer V MaletUnited KingdomAmy Elsner NEGOTIATION
Claire G FlosiRussiaXuxue Feng NEW
Maria A BologniaIndiaXuxue Feng NEGOTIATION
Ashley O KolmetzCanadaAnna Fali RENEWAL
Faith D NickaItalyStephen Shaw QUALIFIED
Jones V GlickRussiaXuxue Feng NEGOTIATION
Francesco X SergiArgentinaAsiya Javayant QUALIFIED
Nicolas Z MacleadAustraliaXuxue Feng UNQUALIFIED
Morrow K FerenczGermanyBernardo Dominic QUALIFIED
Costa X RoysterGermanyXuxue Feng RENEWAL
Kadeem H PaprockiUnited KingdomIoni Bowcher NEW
Morrow W WieserFranceOnyama Limba 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>