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 M ShinkoItalyBernardo Dominic QUALIFIED
Smith P VocelkaJapanAnna Fali NEGOTIATION
Morrow E BriddickSpainXuxue Feng RENEWAL
Faith D FigeroaCanadaIoni Bowcher RENEWAL
Ashley L StockhamAustraliaXuxue Feng NEW
Ivar A ShinkoSpainBernardo Dominic PROPOSAL
Francesco L BowleyIndiaAmy Elsner UNQUALIFIED
Darci J GlickFranceXuxue Feng PROPOSAL
Adams V MaletUnited KingdomStephen Shaw NEW
Silvio C PerinIndiaOnyama Limba UNQUALIFIED
Jennifer J GillianFranceAsiya Javayant UNQUALIFIED
Isabel Q ChuiIndiaIoni Bowcher UNQUALIFIED
Emily O MaletCanadaElwin Sharvill RENEWAL
Octavia Y WhobreyArgentinaIvan Magalhaes NEW
Jones N MaletUnited KingdomAnna Fali RENEWAL
Tony I TollnerArgentinaAsiya Javayant QUALIFIED
Ivar P DoeGermanyStephen Shaw PROPOSAL
Cody L VenereRussiaIoni Bowcher QUALIFIED
Maisha C StensethRussiaIvan Magalhaes RENEWAL
Maisha S SchemmerItalyElwin Sharvill NEW
Aruna I SergiCanadaElwin Sharvill NEGOTIATION
Faith Q AlbaresUnited KingdomIoni Bowcher NEW
Chavez U FerenczRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois H NickaRussiaOnyama Limba UNQUALIFIED
Rodrigues V CaudySpainOnyama Limba RENEWAL
Mayumi S NestleBrazilXuxue Feng NEGOTIATION
Greenwood X KolmetzFranceBernardo Dominic QUALIFIED
Kaitlin K RoysterBrazilBernardo Dominic UNQUALIFIED
Jones O MaletJapanAnna Fali NEGOTIATION
Faith X BowleyJapanStephen Shaw NEGOTIATION
Salvatore X CampainCanadaXuxue Feng QUALIFIED
Rodrigues Z OldroydArgentinaAnna Fali PROPOSAL
Aditya M BriddickSpainAnna Fali NEW
Ashley F WhobreyIndiaIoni Bowcher RENEWAL
Leon G FollerSpainXuxue Feng NEW
Claire V GlickArgentinaIvan Magalhaes NEW
Sinclair R SlusarskiFranceIoni Bowcher UNQUALIFIED
Aika H MaletBrazilBernardo Dominic NEW
Octavia B SaylorsBrazilStephen Shaw UNQUALIFIED
Tony H ShinkoIndiaBernardo Dominic UNQUALIFIED
Ivar D PerinSpainOnyama Limba RENEWAL
Costa V RutaIndiaStephen Shaw PROPOSAL
Chavez J VocelkaIndiaBernardo Dominic NEW
Claire S ButtBrazilAnna Fali RENEWAL
Mayumi M FollerSpainAmy Elsner QUALIFIED
Aruna M ButtArgentinaIvan Magalhaes QUALIFIED
Faith M MorascaUnited KingdomIoni Bowcher QUALIFIED
Leja E SlusarskiBrazilIoni Bowcher QUALIFIED
Sinclair X SchemmerBrazilElwin Sharvill RENEWAL
Aika F ShinkoBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Z GlickGermanyBernardo Dominic QUALIFIED
Ricardo S TollnerFranceIoni Bowcher QUALIFIED
Julie B StensethArgentinaIvan Magalhaes PROPOSAL
Jefferson L WaycottBrazilAsiya Javayant UNQUALIFIED
Salvatore L FerenczGermanyStephen Shaw PROPOSAL
Kaitlin E AlbaresAustraliaStephen Shaw RENEWAL
Stacey K KuskoRussiaAnna Fali NEW
Smith K MorascaCanadaOnyama Limba RENEWAL
Greenwood W OldroydArgentinaBernardo Dominic QUALIFIED
Kaitlin Z StockhamAustraliaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie P SergiArgentina2024-05-30Chemel, James L Cpa UNQUALIFIED57Bernardo Dominic
1001Maisha G MorascaItaly2024-06-08Printing Dimensions RENEWAL43Onyama Limba
1002Leon T AlbaresIndia2024-06-01Feltz Printing Service QUALIFIED23Onyama Limba
1003Octavia Y AlbaresIndia2024-06-20Benton, John B Jr PROPOSAL86Xuxue Feng
1004Juan Y FollerUnited Kingdom2024-06-20Chapman, Ross E Esq NEGOTIATION19Stephen Shaw
1005Misaki O KuskoRussia2024-06-01King, Christopher A Esq PROPOSAL95Asiya Javayant
1006Stacey F ShinkoJapan2024-06-07Rangoni Of Florence UNQUALIFIED4Anna Fali
1007Arvin T MaletSpain2024-06-24Benton, John B Jr NEGOTIATION78Ivan Magalhaes
1008Tony R KolmetzAustralia2024-06-17Feiner Bros NEW31Anna Fali
1009Izzy Y AlbaresFrance2024-05-28Chemel, James L Cpa UNQUALIFIED24Onyama Limba
1010Clifford N NestleArgentina2024-06-23Chapman, Ross E Esq PROPOSAL13Amy Elsner
1011Misaki W MaletCanada2024-06-11Rangoni Of Florence RENEWAL21Asiya Javayant
1012Smith Z OldroydUnited Kingdom2024-06-03Rousseaux, Michael Esq RENEWAL84Anna Fali
1013Emily X DoeItaly2024-06-15Rousseaux, Michael Esq RENEWAL98Elwin Sharvill
1014Claire W ShinkoUnited Kingdom2024-06-22Commercial Press NEGOTIATION12Ioni Bowcher
1015Cody Z DoeUnited Kingdom2024-06-24Feltz Printing Service NEW80Ioni Bowcher
1016Deepesh X StensethSpain2024-06-22Rousseaux, Michael Esq PROPOSAL66Onyama Limba
1017Rodrigues T GlickGermany2024-06-13Chemel, James L Cpa QUALIFIED41Asiya Javayant
1018Deepesh H GarufiCanada2024-05-30Chapman, Ross E Esq NEGOTIATION54Anna Fali
1019Clifford L OldroydSpain2024-05-30Chemel, James L Cpa RENEWAL38Bernardo Dominic
1020Sinclair S VenereItaly2024-05-29Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1021Jennifer B VenereIndia2024-06-10Chemel, James L Cpa NEW26Ioni Bowcher
1022Ashley Q MorascaArgentina2024-06-10Printing Dimensions QUALIFIED73Ivan Magalhaes
1023Maisha I IturbideCanada2024-06-07Morlong Associates RENEWAL32Xuxue Feng
1024Maria C StensethGermany2024-06-03Truhlar And Truhlar Attys QUALIFIED39Ioni Bowcher
1025Isabel U VocelkaGermany2024-06-07Printing Dimensions RENEWAL15Elwin Sharvill
1026Sinclair W DoeBrazil2024-06-05Commercial Press NEW16Stephen Shaw
1027Mayumi E SchemmerBrazil2024-05-30Feltz Printing Service PROPOSAL80Onyama Limba
1028Maria J ShinkoIndia2024-06-01Commercial Press QUALIFIED5Asiya Javayant
1029Maria V RimSpain2024-06-13Benton, John B Jr RENEWAL2Elwin Sharvill
1030Sinclair P StensethFrance2024-06-21Chemel, James L Cpa QUALIFIED8Ivan Magalhaes
1031Faith X IturbideRussia2024-06-09Morlong Associates QUALIFIED7Ivan Magalhaes
1032Ivar N ButtBrazil2024-05-29Dorl, James J Esq QUALIFIED23Ivan Magalhaes
1033Izzy N BriddickFrance2024-06-13Feltz Printing Service RENEWAL36Onyama Limba
1034Silvio L TollnerItaly2024-06-24Chemel, James L Cpa RENEWAL17Anna Fali
1035Cody M DoeArgentina2024-06-07Feiner Bros PROPOSAL40Ivan Magalhaes
1036Kadeem K PerinRussia2024-06-19King, Christopher A Esq RENEWAL78Stephen Shaw
1037Ivar N PaprockiArgentina2024-06-18Chapman, Ross E Esq NEGOTIATION80Asiya Javayant
1038Silvio O DarakjyUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION56Asiya Javayant
1039Salvatore T KuskoRussia2024-06-03Printing Dimensions UNQUALIFIED93Anna Fali
1040Tony F WaycottArgentina2024-06-15Feiner Bros QUALIFIED32Stephen Shaw
1041Tony E MorascaRussia2024-06-18Dorl, James J Esq UNQUALIFIED45Elwin Sharvill
1042David P DarakjyFrance2024-06-12Feiner Bros UNQUALIFIED42Onyama Limba
1043Munro U ButtIndia2024-06-24Dorl, James J Esq RENEWAL29Elwin Sharvill
1044Greenwood T MaletAustralia2024-06-21Feltz Printing Service NEW25Anna Fali
1045Darci T MaletGermany2024-06-24Buckley Miller Wright NEW66Asiya Javayant
1046Antonio W WieserAustralia2024-06-02Chemel, James L Cpa UNQUALIFIED69Asiya Javayant
1047Isabel N PerinUnited Kingdom2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED71Elwin Sharvill
1048David X StockhamGermany2024-06-05Benton, John B Jr NEGOTIATION6Ivan Magalhaes
1049Maisha X NickaRussia2024-06-17Buckley Miller Wright NEW77Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar P GillianJapanBernardo Dominic PROPOSAL
Ashley V OstroskyGermanyOnyama Limba PROPOSAL
Silvio G FollerAustraliaAmy Elsner RENEWAL
Francesco H StockhamSpainXuxue Feng UNQUALIFIED
Emily I RimSpainIvan Magalhaes NEW
Darci Q BowleyIndiaIvan Magalhaes UNQUALIFIED
Silvio D RimUnited KingdomIoni Bowcher QUALIFIED
Stacey V FerenczRussiaAsiya Javayant RENEWAL
Smith O GlickCanadaElwin Sharvill PROPOSAL
Maria C PoquetteIndiaIvan Magalhaes UNQUALIFIED
Costa N BowleyCanadaAsiya Javayant QUALIFIED
Jefferson K KuskoSpainStephen Shaw PROPOSAL
Maria S DarakjyAustraliaElwin Sharvill RENEWAL
Johnson Z NestleBrazilAnna Fali QUALIFIED
Leon G MorascaItalyIoni Bowcher PROPOSAL
Misaki R RoysterFranceXuxue Feng NEW
Chavez K CampainSpainBernardo Dominic UNQUALIFIED
Munro S KuskoFranceAnna Fali NEGOTIATION
Ashley K TollnerFranceAnna Fali UNQUALIFIED
Leon G MorascaItalyIoni Bowcher NEGOTIATION
David A ButtRussiaIvan Magalhaes NEW
Francesco F CampainSpainIoni Bowcher QUALIFIED
Kadeem V SergiBrazilAmy Elsner RENEWAL
James E WieserArgentinaElwin Sharvill UNQUALIFIED
Aika I MarrierJapanAnna Fali QUALIFIED
Maisha S GillianAustraliaBernardo Dominic RENEWAL
Izzy H MacleadGermanyXuxue Feng UNQUALIFIED
Wickens Q BriddickSpainBernardo Dominic PROPOSAL
Ashley H NestleRussiaBernardo Dominic NEW
Deepesh P BowleySpainXuxue Feng RENEWAL
Misaki H FerenczJapanBernardo Dominic NEW
Isabel X SaylorsBrazilAnna Fali UNQUALIFIED
Alejandro W AmigonJapanBernardo Dominic RENEWAL
Darci B VocelkaCanadaAnna Fali UNQUALIFIED
Leon M NickaCanadaIoni Bowcher UNQUALIFIED
Stacey N NickaArgentinaIvan Magalhaes RENEWAL
Tony R FerenczCanadaAsiya Javayant UNQUALIFIED
Maria L SaylorsRussiaIoni Bowcher NEGOTIATION
Salvatore V BologniaArgentinaAsiya Javayant NEGOTIATION
Izzy K AmigonRussiaXuxue Feng UNQUALIFIED
Darci X BowleyJapanIvan Magalhaes QUALIFIED
Mujtaba G BriddickUnited KingdomStephen Shaw UNQUALIFIED
Wickens F TollnerCanadaIvan Magalhaes RENEWAL
Murillo L AmigonItalyIoni Bowcher RENEWAL
Leja R SchemmerCanadaIvan Magalhaes QUALIFIED
Leja H KuskoIndiaElwin Sharvill QUALIFIED
Aika S FigeroaJapanXuxue Feng RENEWAL
David A BowleySpainIoni Bowcher RENEWAL
Jefferson N KolmetzRussiaOnyama Limba PROPOSAL
Morrow Y AlbaresAustraliaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Costa X Stockham
Jefferson B Kolmetz
Maria O Bowley
Izzy C Butt
Izzy C Paprocki
Wickens B Schemmer
Aika G Shinko
Isabel I Morasca
Nicolas J Shinko
Mujtaba S Caldarera
Ivar H Marrier
Jones B Whobrey
Leja V Poquette
Faith N Kusko
Francesco A Vocelka
Tony C Oldroyd
Isabel C Caldarera
Antonio Y Ruta
Aika K Ostrosky
Francesco H Rim
Ivar T Figeroa
Mayumi D Nicka
Francesco R Poquette
Johnson D Campain
Maisha D Albares
Johnson G Rulapaugh
Mayumi E Marrier
Nicolas A Nestle
Jefferson W Campain
Francesco D Campain
Octavia V Rim
Leja F Inouye
Ashley D Marrier
Silvio I Nestle
Izzy B Kusko
Maria X Ruta
Deepesh F Ostrosky
Murillo D Nestle
Stacey X Stenseth
Ricardo I Paprocki
Cody X Oldroyd
Julie W Gaucho
Sinclair T Morasca
Aika G Caudy
Kaitlin H Venere
Maisha K Amigon
Jeanfrancois J Doe
Kaitlin Z Vocelka
Leon A Inouye
Maria C Saylors
IdCountryDate
1000Italy2024-05-29
1001Italy2024-06-02
1002Spain2024-06-17
1003Germany2024-06-05
1004Spain2024-06-21
1005Russia2024-06-20
1006United Kingdom2024-06-23
1007Germany2024-06-10
1008Australia2024-05-26
1009United Kingdom2024-05-30
1010Italy2024-06-06
1011Japan2024-06-05
1012United Kingdom2024-06-21
1013Brazil2024-06-18
1014Russia2024-06-06
1015Brazil2024-06-16
1016India2024-06-19
1017Spain2024-06-04
1018Germany2024-06-11
1019Australia2024-05-30
1020Brazil2024-06-21
1021Germany2024-06-13
1022Italy2024-06-05
1023Australia2024-06-02
1024Canada2024-06-13
1025France2024-06-16
1026Brazil2024-05-28
1027Canada2024-06-21
1028Australia2024-05-28
1029Argentina2024-05-31
1030Germany2024-05-31
1031United Kingdom2024-06-22
1032Argentina2024-06-09
1033Germany2024-06-08
1034France2024-06-01
1035France2024-06-24
1036Italy2024-06-08
1037Canada2024-06-02
1038United Kingdom2024-06-18
1039Germany2024-06-01
1040Japan2024-06-19
1041Spain2024-06-23
1042Argentina2024-06-19
1043Spain2024-05-29
1044Brazil2024-06-10
1045Japan2024-05-30
1046France2024-05-28
1047Japan2024-06-10
1048Russia2024-06-11
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Ricardo G Kolmetz1000France2024-06-17
Izzy P Shinko1001Italy2024-05-29
Adams D Slusarski1002India2024-06-09
Rodrigues U Dilliard1003India2024-06-06
Aditya R Amigon1004Australia2024-06-15
Salvatore L Bolognia1005Germany2024-06-21
Misaki I Sergi1006Russia2024-06-22
Murillo A Rulapaugh1007United Kingdom2024-06-22
Aika K Caudy1008Russia2024-06-12
Alejandro E Royster1009Russia2024-05-26
Jones B Glick1010Australia2024-06-24
Ricardo X Perin1011Spain2024-06-10
Maisha U Butt1012Australia2024-05-28
Smith U Kusko1013Australia2024-06-12
Leon O Nicka1014Spain2024-05-27
Alejandro D Poquette1015Australia2024-05-28
Wickens S Albares1016India2024-06-23
Sinclair S Gillian1017Spain2024-06-20
Isabel Y Morasca1018Japan2024-06-10
Chavez T Malet1019United Kingdom2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens D CaldareraFranceOnyama Limba NEW
Izzy Q InouyeSpainIoni Bowcher PROPOSAL
Morrow H TollnerArgentinaXuxue Feng UNQUALIFIED
David N SaylorsAustraliaElwin Sharvill QUALIFIED
Sinclair K VenereArgentinaIvan Magalhaes PROPOSAL
Arvin L RutaSpainXuxue Feng NEW
Rodrigues D VocelkaUnited KingdomOnyama Limba QUALIFIED
Kaitlin S BologniaGermanyAnna Fali NEW
Izzy G PerinCanadaStephen Shaw QUALIFIED
Darci A MorascaRussiaStephen Shaw NEGOTIATION
Stacey N FollerAustraliaBernardo Dominic NEW
Smith Z ButtGermanyAmy Elsner NEW
Leja S MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Juan W VenereGermanyStephen Shaw NEW
Arvin O FollerAustraliaAmy Elsner NEGOTIATION
Nicolas Q RimAustraliaIvan Magalhaes RENEWAL
Clifford R KolmetzRussiaStephen Shaw RENEWAL
Munro T MorascaAustraliaAnna Fali PROPOSAL
Sinclair J KolmetzIndiaBernardo Dominic PROPOSAL
Francesco A GauchoRussiaAnna Fali UNQUALIFIED
Darci J BriddickGermanyIoni Bowcher UNQUALIFIED
Murillo L PoquetteUnited KingdomStephen Shaw NEW
Jeanfrancois A SaylorsGermanyAmy Elsner PROPOSAL
Morrow I SchemmerAustraliaBernardo Dominic RENEWAL
Tony U OldroydBrazilBernardo Dominic UNQUALIFIED
Rodrigues K FigeroaIndiaBernardo Dominic RENEWAL
Adams R FerenczRussiaIoni Bowcher QUALIFIED
Izzy C GillianArgentinaXuxue Feng NEW
Jones J MaletCanadaAmy Elsner NEW
Francesco R MorascaSpainXuxue Feng PROPOSAL
Faith H MaletFranceIvan Magalhaes PROPOSAL
Aika E MarrierSpainOnyama Limba PROPOSAL
David D VenereSpainAnna Fali NEW
Mujtaba D WhobreyItalyAmy Elsner NEGOTIATION
Sinclair D PerinAustraliaStephen Shaw NEGOTIATION
Misaki Z SergiRussiaIoni Bowcher NEGOTIATION
Juan I DilliardJapanXuxue Feng RENEWAL
James P PerinGermanyStephen Shaw PROPOSAL
Mayumi M BriddickUnited KingdomAsiya Javayant PROPOSAL
Murillo A CampainCanadaAmy Elsner 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>