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
Jefferson P KolmetzBrazilIvan Magalhaes NEW
Sinclair E AlbaresUnited KingdomAsiya Javayant QUALIFIED
Stacey S ShinkoRussiaIoni Bowcher NEW
Munro I WaycottSpainElwin Sharvill NEGOTIATION
Adams M TollnerUnited KingdomIoni Bowcher PROPOSAL
James O SchemmerBrazilAnna Fali NEW
Chavez E StockhamFranceOnyama Limba NEW
Misaki M SlusarskiArgentinaBernardo Dominic NEW
Faith E RoysterAustraliaAnna Fali UNQUALIFIED
Greenwood O CaudyAustraliaIoni Bowcher NEW
Leon U MorascaSpainXuxue Feng RENEWAL
Kadeem S ButtArgentinaIvan Magalhaes UNQUALIFIED
Deepesh O SaylorsSpainAsiya Javayant NEW
Cody K PoquetteArgentinaBernardo Dominic UNQUALIFIED
Jones Q DarakjyIndiaStephen Shaw QUALIFIED
Ivar C GlickArgentinaAnna Fali NEGOTIATION
Jefferson O VocelkaFranceBernardo Dominic RENEWAL
Murillo M VenereArgentinaBernardo Dominic NEW
Wickens L OstroskyBrazilElwin Sharvill NEGOTIATION
Claire O MaletArgentinaAmy Elsner NEW
Costa B OldroydBrazilIvan Magalhaes QUALIFIED
Jones E BriddickArgentinaAmy Elsner UNQUALIFIED
Kadeem W SlusarskiCanadaBernardo Dominic QUALIFIED
Izzy Z WieserRussiaStephen Shaw UNQUALIFIED
Jones M BriddickCanadaAsiya Javayant QUALIFIED
Jones P OldroydRussiaStephen Shaw NEGOTIATION
Smith M WhobreyUnited KingdomStephen Shaw NEW
Jones F RoysterSpainBernardo Dominic PROPOSAL
Cody L RimGermanyIvan Magalhaes UNQUALIFIED
Jennifer C BologniaJapanAnna Fali RENEWAL
Silvio E InouyeArgentinaStephen Shaw UNQUALIFIED
Mayumi Z ButtSpainIoni Bowcher RENEWAL
Adams V VenereArgentinaXuxue Feng RENEWAL
Wickens B DoeItalyXuxue Feng PROPOSAL
Aditya X DarakjyUnited KingdomAnna Fali QUALIFIED
Izzy X RulapaughBrazilStephen Shaw NEW
Juan A ShinkoCanadaElwin Sharvill NEW
Jeanfrancois R OstroskySpainIvan Magalhaes NEGOTIATION
Rodrigues X FollerRussiaAsiya Javayant RENEWAL
Wickens V SchemmerCanadaIvan Magalhaes NEW
David K BriddickJapanElwin Sharvill UNQUALIFIED
Munro I VocelkaFranceIvan Magalhaes QUALIFIED
Greenwood S MaletRussiaElwin Sharvill PROPOSAL
Greenwood K ShinkoAustraliaIvan Magalhaes NEW
Juan W WieserCanadaBernardo Dominic PROPOSAL
Leon J CaldareraArgentinaStephen Shaw RENEWAL
James T RutaSpainBernardo Dominic RENEWAL
Aruna S PaprockiJapanIvan Magalhaes NEW
Ivar Q GlickGermanyAsiya Javayant NEGOTIATION
Stacey V NestleJapanBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie A VocelkaIndiaAnna Fali QUALIFIED
Octavia W RutaCanadaAmy Elsner RENEWAL
Adams B SaylorsUnited KingdomStephen Shaw NEGOTIATION
Aika X RulapaughJapanIvan Magalhaes NEW
Silvio R MarrierIndiaStephen Shaw NEW
Greenwood A RoysterBrazilStephen Shaw UNQUALIFIED
Nicolas Z RutaIndiaXuxue Feng UNQUALIFIED
Octavia U IturbideAustraliaAnna Fali UNQUALIFIED
Arvin M KuskoGermanyIoni Bowcher QUALIFIED
Tony Y DilliardIndiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro M PerinRussia2024-06-01Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1001Alejandro V MaletSpain2024-05-31King, Christopher A Esq PROPOSAL80Xuxue Feng
1002Izzy S WieserArgentina2024-05-24Buckley Miller Wright UNQUALIFIED64Ioni Bowcher
1003Arvin X WaycottGermany2024-05-31Feltz Printing Service QUALIFIED34Bernardo Dominic
1004Juan I FerenczRussia2024-05-29King, Christopher A Esq NEW68Asiya Javayant
1005Aditya Z CaldareraJapan2024-06-20Chapman, Ross E Esq UNQUALIFIED7Ivan Magalhaes
1006Johnson U RulapaughAustralia2024-06-02King, Christopher A Esq QUALIFIED88Ioni Bowcher
1007Ivar P IturbideBrazil2024-06-05Commercial Press NEGOTIATION21Stephen Shaw
1008Jones Y BriddickAustralia2024-05-24Chapman, Ross E Esq UNQUALIFIED64Amy Elsner
1009Alejandro Q StockhamIndia2024-06-08Dorl, James J Esq QUALIFIED12Stephen Shaw
1010Smith X PoquetteIndia2024-06-15Commercial Press RENEWAL77Amy Elsner
1011Izzy P SergiItaly2024-06-05Benton, John B Jr NEW42Ioni Bowcher
1012Juan C OldroydFrance2024-05-30Morlong Associates QUALIFIED71Ivan Magalhaes
1013Isabel E BologniaFrance2024-05-29Feiner Bros PROPOSAL33Elwin Sharvill
1014Aditya J DarakjyItaly2024-05-26Rousseaux, Michael Esq QUALIFIED19Onyama Limba
1015Octavia P StensethAustralia2024-06-21Feiner Bros QUALIFIED23Bernardo Dominic
1016Aika Z NestleAustralia2024-06-11Dorl, James J Esq RENEWAL22Bernardo Dominic
1017Deepesh Q RutaFrance2024-06-17Rousseaux, Michael Esq PROPOSAL35Ioni Bowcher
1018Aruna U FollerItaly2024-06-07Chemel, James L Cpa PROPOSAL54Ioni Bowcher
1019Aruna A StockhamIndia2024-06-17Rousseaux, Michael Esq QUALIFIED16Asiya Javayant
1020Ivar G PoquetteItaly2024-06-18Dorl, James J Esq UNQUALIFIED81Asiya Javayant
1021Mujtaba E RimGermany2024-06-20Feiner Bros UNQUALIFIED78Asiya Javayant
1022Salvatore Z WieserJapan2024-06-09Benton, John B Jr RENEWAL5Ioni Bowcher
1023Mujtaba K KuskoBrazil2024-06-09Feiner Bros QUALIFIED50Stephen Shaw
1024Claire C GarufiGermany2024-06-21Dorl, James J Esq PROPOSAL31Amy Elsner
1025Juan T WhobreySpain2024-06-17Rangoni Of Florence NEW56Elwin Sharvill
1026Alejandro C WieserItaly2024-06-01Commercial Press PROPOSAL19Ioni Bowcher
1027Juan L IturbideRussia2024-06-19Benton, John B Jr NEW27Asiya Javayant
1028Isabel D VenereCanada2024-05-31Rousseaux, Michael Esq NEGOTIATION39Asiya Javayant
1029Misaki A StensethGermany2024-05-29Commercial Press PROPOSAL11Elwin Sharvill
1030Ivar L ButtJapan2024-05-31Feiner Bros NEGOTIATION50Xuxue Feng
1031Johnson K PerinJapan2024-05-30Morlong Associates PROPOSAL28Stephen Shaw
1032Johnson X PaprockiAustralia2024-06-19Chapman, Ross E Esq UNQUALIFIED94Ioni Bowcher
1033Costa J MorascaBrazil2024-06-21Feltz Printing Service UNQUALIFIED17Elwin Sharvill
1034Salvatore B FerenczBrazil2024-06-18King, Christopher A Esq NEW19Ioni Bowcher
1035Jeanfrancois L ButtCanada2024-06-14King, Christopher A Esq QUALIFIED45Bernardo Dominic
1036Smith S IturbideAustralia2024-05-24King, Christopher A Esq PROPOSAL67Ioni Bowcher
1037Munro U RimFrance2024-06-11Truhlar And Truhlar Attys NEGOTIATION55Stephen Shaw
1038Salvatore I VenereRussia2024-06-08King, Christopher A Esq PROPOSAL61Ioni Bowcher
1039Salvatore Z FigeroaJapan2024-05-27Feiner Bros PROPOSAL12Onyama Limba
1040Jones L AmigonItaly2024-05-27Chemel, James L Cpa UNQUALIFIED92Stephen Shaw
1041Francesco X PerinItaly2024-06-08Rangoni Of Florence RENEWAL23Anna Fali
1042Chavez D SergiSpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION33Amy Elsner
1043Adams V MarrierIndia2024-06-01Truhlar And Truhlar Attys NEW67Anna Fali
1044Juan K BowleyFrance2024-06-06King, Christopher A Esq UNQUALIFIED45Onyama Limba
1045Munro A RulapaughSpain2024-06-07Feltz Printing Service UNQUALIFIED13Asiya Javayant
1046Cody J ShinkoFrance2024-06-20Chemel, James L Cpa NEW59Elwin Sharvill
1047Deepesh H GlickIndia2024-05-28Rangoni Of Florence RENEWAL44Xuxue Feng
1048Misaki R SergiItaly2024-06-01King, Christopher A Esq UNQUALIFIED53Xuxue Feng
1049Smith C DarakjyIndia2024-06-10King, Christopher A Esq QUALIFIED80Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna S FollerRussiaOnyama Limba UNQUALIFIED
James Q MacleadSpainBernardo Dominic UNQUALIFIED
Francesco N SchemmerItalyIvan Magalhaes RENEWAL
Jefferson U RimSpainBernardo Dominic NEW
Arvin O WieserJapanAmy Elsner RENEWAL
Johnson P MaletFranceStephen Shaw NEW
Ivar W CaudyRussiaStephen Shaw RENEWAL
Antonio K StockhamFranceIoni Bowcher RENEWAL
Aditya L FigeroaIndiaAnna Fali UNQUALIFIED
Maisha E PoquetteRussiaIvan Magalhaes PROPOSAL
Ricardo F SlusarskiJapanElwin Sharvill NEW
Kaitlin X MaletUnited KingdomAmy Elsner NEGOTIATION
Aditya G GarufiIndiaIvan Magalhaes PROPOSAL
Kaitlin W FerenczFranceAmy Elsner RENEWAL
Kaitlin K CaudyJapanOnyama Limba QUALIFIED
Munro Y MarrierJapanIoni Bowcher NEW
Maria O MarrierItalyIoni Bowcher RENEWAL
Aruna Y BowleyFranceXuxue Feng QUALIFIED
Maisha U SchemmerJapanIvan Magalhaes PROPOSAL
Adams S MarrierArgentinaBernardo Dominic PROPOSAL
Nicolas J PoquetteRussiaAnna Fali NEGOTIATION
Ashley U KuskoUnited KingdomOnyama Limba PROPOSAL
Cody G TollnerJapanElwin Sharvill QUALIFIED
Octavia C SergiGermanyAsiya Javayant RENEWAL
Murillo Z DarakjyUnited KingdomOnyama Limba QUALIFIED
Silvio K PerinIndiaIoni Bowcher NEGOTIATION
Octavia V GillianCanadaOnyama Limba RENEWAL
Chavez B OstroskySpainElwin Sharvill NEGOTIATION
Francesco I OstroskyItalyStephen Shaw QUALIFIED
Misaki W AlbaresCanadaAmy Elsner UNQUALIFIED
Jefferson B ButtRussiaAsiya Javayant QUALIFIED
Cody M MaletAustraliaStephen Shaw NEGOTIATION
Jefferson R FlosiArgentinaOnyama Limba NEGOTIATION
Johnson I OldroydArgentinaAmy Elsner PROPOSAL
Emily E OldroydBrazilBernardo Dominic NEGOTIATION
Rodrigues W RoysterJapanIoni Bowcher NEGOTIATION
Mayumi A RimUnited KingdomBernardo Dominic PROPOSAL
Leja W BriddickBrazilOnyama Limba UNQUALIFIED
Greenwood U FerenczIndiaXuxue Feng RENEWAL
Leja E AlbaresAustraliaIvan Magalhaes QUALIFIED
Misaki V GauchoGermanyBernardo Dominic NEGOTIATION
Emily M DoeSpainStephen Shaw RENEWAL
Emily X OldroydCanadaXuxue Feng NEW
Octavia Q MaletCanadaOnyama Limba PROPOSAL
Nicolas Q OstroskyGermanyBernardo Dominic PROPOSAL
Arvin B MacleadArgentinaAsiya Javayant PROPOSAL
Silvio Y BologniaIndiaAsiya Javayant NEW
Nicolas H WaycottItalyIoni Bowcher UNQUALIFIED
Nicolas V GillianSpainElwin Sharvill PROPOSAL
Jennifer E GillianBrazilAsiya Javayant QUALIFIED
Frozen Columns
Name
Smith T Doe
Ivar H Campain
Deepesh S Figeroa
Isabel E Poquette
Arvin L Nestle
Stacey B Ruta
Wickens Z Malet
Rodrigues D Ferencz
Juan L Glick
Morrow K Sergi
Sinclair W Amigon
Arvin M Amigon
Nicolas U Chui
Francesco T Glick
Rodrigues S Stenseth
Aruna M Whobrey
Jennifer A Amigon
Juan I Malet
Leon K Stenseth
Greenwood N Bowley
Salvatore L Amigon
Cody H Ostrosky
Emily N Gaucho
Izzy K Poquette
Rodrigues R Caudy
Francesco Z Ostrosky
Juan I Stockham
Francesco G Whobrey
Izzy B Doe
Ivar J Poquette
Aika B Rulapaugh
Leja M Malet
Aditya J Nestle
Antonio A Royster
Ivar V Sergi
Smith X Paprocki
Emily F Poquette
Aruna N Venere
Tony H Bolognia
Smith H Slusarski
Adams K Gaucho
Misaki D Albares
Greenwood B Nicka
Aditya J Bowley
Silvio L Tollner
Octavia F Glick
Octavia M Ferencz
Nicolas G Ostrosky
Izzy H Chui
Wickens E Nestle
IdCountryDate
1000France2024-06-17
1001Russia2024-06-15
1002Argentina2024-05-24
1003Brazil2024-05-27
1004Brazil2024-06-18
1005Canada2024-06-15
1006Russia2024-06-04
1007India2024-06-02
1008Germany2024-06-12
1009Canada2024-05-31
1010Canada2024-06-08
1011Argentina2024-06-09
1012Australia2024-06-12
1013Germany2024-06-03
1014United Kingdom2024-05-28
1015Spain2024-06-11
1016Russia2024-06-06
1017United Kingdom2024-06-14
1018Australia2024-05-24
1019Spain2024-05-24
1020United Kingdom2024-06-08
1021Australia2024-06-11
1022United Kingdom2024-06-17
1023France2024-06-01
1024Spain2024-06-06
1025Germany2024-06-05
1026Italy2024-05-26
1027Argentina2024-06-17
1028Australia2024-06-12
1029Spain2024-05-24
1030Spain2024-06-20
1031Brazil2024-05-23
1032Japan2024-06-05
1033Australia2024-05-25
1034Spain2024-05-27
1035Canada2024-06-19
1036Japan2024-06-08
1037Italy2024-06-11
1038Russia2024-05-27
1039Australia2024-06-11
1040India2024-06-09
1041Russia2024-05-25
1042Japan2024-05-31
1043Spain2024-06-14
1044Australia2024-05-31
1045Canada2024-06-14
1046France2024-06-09
1047Germany2024-05-25
1048Australia2024-06-20
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Munro L Ruta1000Russia2024-05-27
Ricardo Q Glick1001Germany2024-05-29
Kaitlin C Campain1002Argentina2024-05-28
Jones Z Whobrey1003Russia2024-06-09
Aika L Perin1004Spain2024-05-30
Misaki M Ferencz1005Germany2024-05-29
Julie B Shinko1006Argentina2024-05-24
Kadeem L Inouye1007India2024-06-04
Adams M Saylors1008France2024-06-07
Alejandro E Perin1009United Kingdom2024-06-10
Munro K Briddick1010Spain2024-05-29
Sinclair H Rulapaugh1011Canada2024-06-17
Murillo H Dilliard1012Germany2024-06-19
Nicolas E Schemmer1013Italy2024-05-31
Maisha F Morasca1014France2024-06-03
Murillo R Amigon1015Australia2024-06-01
Adams P Gaucho1016Canada2024-06-13
Izzy W Oldroyd1017Canada2024-06-19
Darci E Nicka1018Australia2024-06-03
Maisha P Campain1019Canada2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey C MacleadFranceAmy Elsner NEGOTIATION
Leon S BologniaCanadaElwin Sharvill UNQUALIFIED
Isabel U CaldareraGermanyIvan Magalhaes PROPOSAL
Morrow M BowleyIndiaIoni Bowcher RENEWAL
Ricardo T BologniaGermanyBernardo Dominic NEGOTIATION
Munro J DoeArgentinaStephen Shaw NEGOTIATION
Misaki F BowleyUnited KingdomXuxue Feng PROPOSAL
Antonio B ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas A MaletItalyBernardo Dominic NEGOTIATION
Aditya B DarakjyAustraliaAsiya Javayant PROPOSAL
Darci H NestleSpainBernardo Dominic NEGOTIATION
Deepesh N OstroskyItalyIvan Magalhaes QUALIFIED
Faith C WieserJapanOnyama Limba PROPOSAL
Stacey Y KuskoItalyAsiya Javayant QUALIFIED
Greenwood I BriddickAustraliaBernardo Dominic UNQUALIFIED
Cody F BriddickUnited KingdomAmy Elsner PROPOSAL
Ricardo H MorascaRussiaStephen Shaw NEW
Munro H StockhamAustraliaIoni Bowcher NEW
Julie C GillianBrazilOnyama Limba NEGOTIATION
Cody K NickaGermanyIoni Bowcher QUALIFIED
Munro U PaprockiFranceOnyama Limba PROPOSAL
Mayumi A ButtFranceElwin Sharvill NEGOTIATION
Tony I OstroskyBrazilBernardo Dominic QUALIFIED
Johnson U SchemmerGermanyAnna Fali PROPOSAL
Aika R GarufiUnited KingdomXuxue Feng NEW
Jones Q GillianAustraliaIvan Magalhaes PROPOSAL
Antonio D DilliardItalyOnyama Limba NEGOTIATION
Julie L KolmetzBrazilXuxue Feng RENEWAL
Silvio G BologniaItalyOnyama Limba QUALIFIED
Leja N BowleyCanadaAsiya Javayant UNQUALIFIED
Jennifer S AmigonIndiaAmy Elsner PROPOSAL
Emily A VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro I KolmetzSpainIoni Bowcher NEGOTIATION
Smith R NickaRussiaXuxue Feng NEGOTIATION
Claire G MorascaGermanyIvan Magalhaes QUALIFIED
Jeanfrancois V DarakjyGermanyOnyama Limba NEW
Costa R RoysterSpainAsiya Javayant PROPOSAL
Cody V SlusarskiJapanXuxue Feng PROPOSAL
Alejandro S WhobreyJapanAsiya Javayant QUALIFIED
Maisha N SaylorsCanadaAnna Fali 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>