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
Leja A StockhamRussiaStephen Shaw PROPOSAL
Alejandro Z PoquetteAustraliaAsiya Javayant NEW
Costa U OldroydArgentinaIvan Magalhaes UNQUALIFIED
Isabel Z MaletIndiaBernardo Dominic PROPOSAL
Ivar P CaudyGermanyIvan Magalhaes NEW
Stacey D WhobreyGermanyStephen Shaw PROPOSAL
David X CaudyRussiaXuxue Feng NEGOTIATION
David N BriddickRussiaStephen Shaw UNQUALIFIED
Alejandro N ChuiAustraliaXuxue Feng NEGOTIATION
Jeanfrancois G PerinItalyElwin Sharvill NEGOTIATION
Arvin N BologniaIndiaXuxue Feng UNQUALIFIED
Adams P OstroskyUnited KingdomAmy Elsner RENEWAL
Julie D GarufiGermanyAmy Elsner NEW
Emily O AlbaresSpainBernardo Dominic QUALIFIED
Claire B RutaUnited KingdomOnyama Limba NEW
Silvio S DilliardItalyIvan Magalhaes NEGOTIATION
Jones N StensethJapanOnyama Limba RENEWAL
Tony U ButtSpainAnna Fali RENEWAL
Julie T CaldareraGermanyAsiya Javayant NEGOTIATION
Clifford C DoeUnited KingdomAsiya Javayant QUALIFIED
Emily X SchemmerRussiaAmy Elsner QUALIFIED
Nicolas U VenereArgentinaAmy Elsner RENEWAL
Morrow V SlusarskiBrazilIvan Magalhaes QUALIFIED
Isabel J ButtItalyAmy Elsner NEW
Rodrigues Z FerenczItalyAmy Elsner UNQUALIFIED
Maisha G MacleadAustraliaBernardo Dominic NEW
Jefferson Z MaletJapanStephen Shaw RENEWAL
Jefferson L SergiSpainIoni Bowcher PROPOSAL
Johnson S CaudyRussiaAmy Elsner RENEWAL
Jones C RimFranceXuxue Feng QUALIFIED
Claire S GauchoJapanXuxue Feng PROPOSAL
Munro V StockhamIndiaIvan Magalhaes NEGOTIATION
Greenwood C VocelkaIndiaAnna Fali UNQUALIFIED
Silvio D GauchoCanadaAnna Fali UNQUALIFIED
Jefferson O RutaBrazilAnna Fali RENEWAL
Munro B MorascaSpainElwin Sharvill PROPOSAL
Misaki Y PerinArgentinaElwin Sharvill QUALIFIED
Kadeem A ShinkoRussiaElwin Sharvill PROPOSAL
Izzy G MaletUnited KingdomBernardo Dominic NEGOTIATION
Isabel H StockhamJapanOnyama Limba RENEWAL
Sinclair R AmigonCanadaIoni Bowcher UNQUALIFIED
Octavia X FerenczSpainOnyama Limba NEGOTIATION
Morrow B ShinkoArgentinaAnna Fali NEW
Salvatore W PaprockiBrazilAsiya Javayant RENEWAL
Jeanfrancois U CampainCanadaAnna Fali QUALIFIED
Silvio H AlbaresArgentinaBernardo Dominic UNQUALIFIED
Aika U FollerJapanAmy Elsner PROPOSAL
Francesco S SchemmerItalyOnyama Limba NEGOTIATION
Wickens I StockhamAustraliaAmy Elsner PROPOSAL
Leon E WhobreyRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie Q MaletFranceBernardo Dominic RENEWAL
Emily U FigeroaGermanyXuxue Feng QUALIFIED
Ivar S KolmetzGermanyBernardo Dominic PROPOSAL
Stacey V SaylorsSpainElwin Sharvill RENEWAL
Silvio G NickaCanadaBernardo Dominic UNQUALIFIED
Greenwood X NestleAustraliaIvan Magalhaes NEGOTIATION
Juan U ShinkoItalyAnna Fali NEGOTIATION
Octavia G MaletUnited KingdomStephen Shaw PROPOSAL
Ivar X CaldareraFranceAsiya Javayant QUALIFIED
Mujtaba I BowleyBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci T OldroydArgentina2024-06-01Rousseaux, Michael Esq PROPOSAL9Elwin Sharvill
1001Murillo O TollnerCanada2024-06-02Chapman, Ross E Esq PROPOSAL55Ivan Magalhaes
1002Isabel R NickaArgentina2024-06-06King, Christopher A Esq PROPOSAL12Anna Fali
1003Francesco P BriddickArgentina2024-06-19Chanay, Jeffrey A Esq PROPOSAL84Anna Fali
1004Smith F PerinSpain2024-06-20Truhlar And Truhlar Attys NEGOTIATION44Amy Elsner
1005Claire V GauchoUnited Kingdom2024-06-21Morlong Associates UNQUALIFIED25Stephen Shaw
1006Kaitlin Q AlbaresArgentina2024-06-11Commercial Press NEGOTIATION74Onyama Limba
1007Julie N CampainItaly2024-06-15King, Christopher A Esq PROPOSAL90Ivan Magalhaes
1008Claire X StensethRussia2024-06-09Truhlar And Truhlar Attys NEW95Onyama Limba
1009Aruna J OstroskyItaly2024-06-08Feiner Bros NEW22Xuxue Feng
1010Ashley C GlickSpain2024-06-04Printing Dimensions PROPOSAL64Onyama Limba
1011Wickens U KuskoUnited Kingdom2024-06-11Buckley Miller Wright RENEWAL52Elwin Sharvill
1012Salvatore T GauchoCanada2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1013Aika Q DilliardCanada2024-06-10Morlong Associates PROPOSAL10Elwin Sharvill
1014Leja M NickaRussia2024-06-02Truhlar And Truhlar Attys NEGOTIATION29Anna Fali
1015Nicolas W GillianSpain2024-05-28Rangoni Of Florence UNQUALIFIED43Stephen Shaw
1016Izzy I ChuiIndia2024-06-14Chanay, Jeffrey A Esq PROPOSAL24Amy Elsner
1017Ashley A StensethIndia2024-05-27Rousseaux, Michael Esq NEW4Elwin Sharvill
1018Wickens E NestleJapan2024-06-12Benton, John B Jr RENEWAL77Elwin Sharvill
1019Silvio I VocelkaFrance2024-06-21Rousseaux, Michael Esq UNQUALIFIED74Ivan Magalhaes
1020Rodrigues Y DilliardBrazil2024-06-01Dorl, James J Esq QUALIFIED64Xuxue Feng
1021Jefferson L RoysterGermany2024-06-16Truhlar And Truhlar Attys UNQUALIFIED15Amy Elsner
1022Ivar M DoeIndia2024-06-13Chapman, Ross E Esq QUALIFIED1Elwin Sharvill
1023Juan T PaprockiGermany2024-06-13Chemel, James L Cpa NEW45Xuxue Feng
1024Smith L MarrierRussia2024-06-17Truhlar And Truhlar Attys PROPOSAL82Bernardo Dominic
1025James G MaletUnited Kingdom2024-06-12Chapman, Ross E Esq NEGOTIATION35Bernardo Dominic
1026Murillo C ShinkoBrazil2024-06-10King, Christopher A Esq QUALIFIED72Elwin Sharvill
1027Wickens E MarrierIndia2024-06-14Dorl, James J Esq RENEWAL14Ioni Bowcher
1028Mujtaba P MarrierSpain2024-05-30Feiner Bros NEGOTIATION62Xuxue Feng
1029Emily U KuskoItaly2024-06-22Buckley Miller Wright QUALIFIED34Amy Elsner
1030Jennifer D WieserJapan2024-06-22Chanay, Jeffrey A Esq RENEWAL73Ioni Bowcher
1031Juan Y MarrierItaly2024-06-12Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1032Silvio V CaudyAustralia2024-06-18Rangoni Of Florence RENEWAL96Xuxue Feng
1033Salvatore Q RimUnited Kingdom2024-06-15Truhlar And Truhlar Attys QUALIFIED91Amy Elsner
1034Clifford H KuskoFrance2024-06-18Buckley Miller Wright PROPOSAL8Stephen Shaw
1035Nicolas W DoeItaly2024-06-21Rangoni Of Florence UNQUALIFIED37Xuxue Feng
1036Misaki I AlbaresJapan2024-06-04Feiner Bros NEGOTIATION63Xuxue Feng
1037Maisha E BriddickBrazil2024-05-26Dorl, James J Esq UNQUALIFIED48Bernardo Dominic
1038Munro G DarakjyBrazil2024-06-19King, Christopher A Esq RENEWAL78Stephen Shaw
1039Izzy E KuskoRussia2024-06-20Chemel, James L Cpa RENEWAL60Bernardo Dominic
1040Salvatore I KolmetzAustralia2024-06-16Truhlar And Truhlar Attys RENEWAL19Xuxue Feng
1041Chavez I FerenczBrazil2024-06-14Printing Dimensions NEGOTIATION81Stephen Shaw
1042Adams G SaylorsItaly2024-06-21Dorl, James J Esq UNQUALIFIED19Anna Fali
1043Nicolas F WieserCanada2024-06-20Chanay, Jeffrey A Esq PROPOSAL91Ivan Magalhaes
1044Faith A GlickAustralia2024-06-03Printing Dimensions PROPOSAL86Bernardo Dominic
1045Silvio I VenereJapan2024-05-31Printing Dimensions QUALIFIED73Stephen Shaw
1046Leon R BologniaBrazil2024-06-05Commercial Press NEGOTIATION21Elwin Sharvill
1047Jefferson L CampainJapan2024-06-15Feiner Bros PROPOSAL13Anna Fali
1048Cody F ShinkoCanada2024-05-27Dorl, James J Esq QUALIFIED88Ivan Magalhaes
1049James K AmigonGermany2024-06-10Buckley Miller Wright NEGOTIATION25Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro S FlosiCanadaAmy Elsner QUALIFIED
Izzy L ButtFranceAmy Elsner PROPOSAL
Greenwood R RulapaughIndiaBernardo Dominic NEGOTIATION
Arvin J FollerSpainIvan Magalhaes NEGOTIATION
Aruna V IturbideBrazilOnyama Limba PROPOSAL
Chavez I WieserSpainAnna Fali RENEWAL
Juan I CaldareraCanadaElwin Sharvill PROPOSAL
Ivar H DarakjyFranceXuxue Feng RENEWAL
Chavez V FollerGermanyIvan Magalhaes NEGOTIATION
Leon P BriddickJapanBernardo Dominic NEGOTIATION
Alejandro C FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Stacey I BowleyItalyOnyama Limba UNQUALIFIED
Wickens Z CaldareraItalyBernardo Dominic UNQUALIFIED
Morrow V MarrierUnited KingdomBernardo Dominic RENEWAL
Costa B AlbaresIndiaStephen Shaw PROPOSAL
James N ChuiJapanOnyama Limba RENEWAL
Leja O MaletIndiaOnyama Limba QUALIFIED
Kadeem D BowleyItalyAmy Elsner NEGOTIATION
Faith Y KolmetzBrazilAsiya Javayant NEW
Morrow T CaldareraSpainIoni Bowcher QUALIFIED
Kadeem B DilliardItalyElwin Sharvill RENEWAL
Salvatore L FigeroaItalyAnna Fali QUALIFIED
Rodrigues E DarakjyAustraliaBernardo Dominic NEGOTIATION
Octavia H StockhamFranceStephen Shaw QUALIFIED
Murillo Q VocelkaRussiaAmy Elsner RENEWAL
Izzy I SlusarskiItalyAsiya Javayant NEW
David A ButtItalyBernardo Dominic PROPOSAL
Leon D NickaArgentinaStephen Shaw RENEWAL
Morrow M ChuiSpainOnyama Limba NEGOTIATION
Octavia Z MaletRussiaAsiya Javayant NEGOTIATION
Maisha Q RimCanadaIvan Magalhaes RENEWAL
Costa K KuskoGermanyElwin Sharvill QUALIFIED
Chavez X RutaGermanyIoni Bowcher PROPOSAL
Wickens V VocelkaRussiaAnna Fali RENEWAL
Faith T WieserSpainAnna Fali NEW
Cody M AmigonArgentinaStephen Shaw NEW
Juan Q WieserArgentinaStephen Shaw QUALIFIED
Ivar I TollnerBrazilAmy Elsner NEGOTIATION
Aika A SlusarskiSpainIvan Magalhaes UNQUALIFIED
James F RoysterArgentinaStephen Shaw NEGOTIATION
Rodrigues J AlbaresRussiaStephen Shaw NEW
Isabel Q GillianItalyAsiya Javayant QUALIFIED
Wickens Z RoysterBrazilElwin Sharvill QUALIFIED
Adams X CaudyRussiaXuxue Feng PROPOSAL
Aditya A FollerArgentinaIvan Magalhaes NEW
Ricardo U BowleyItalyStephen Shaw NEW
Tony W SchemmerGermanyOnyama Limba NEGOTIATION
Silvio T BriddickUnited KingdomXuxue Feng NEGOTIATION
Johnson B AlbaresItalyStephen Shaw NEW
James S RulapaughIndiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Adams T Royster
Sinclair G Waycott
Antonio J Amigon
Clifford M Schemmer
Mayumi I Campain
Johnson G Stockham
Greenwood X Perin
Julie J Stenseth
Jones K Marrier
Leja Y Rim
Maria L Chui
Tony I Venere
Rodrigues F Nestle
Kadeem K Briddick
Jones X Kusko
James X Ruta
Aruna E Poquette
Mayumi V Vocelka
Rodrigues F Caldarera
Nicolas M Rulapaugh
Kaitlin H Marrier
Jeanfrancois E Butt
Antonio B Marrier
Mayumi E Caldarera
James Y Doe
Salvatore T Venere
Izzy Y Tollner
Cody S Royster
Munro G Maclead
Antonio M Shinko
Sinclair O Rulapaugh
Juan E Stockham
Aditya R Doe
Antonio X Sergi
Isabel G Ferencz
Rodrigues H Albares
Rodrigues Q Ferencz
Octavia W Figeroa
Tony D Ferencz
Isabel J Malet
Deepesh E Malet
Jennifer C Perin
Aruna V Nicka
Chavez G Perin
Jennifer S Malet
Leja S Oldroyd
Ivar N Whobrey
Kaitlin G Chui
Izzy E Whobrey
Morrow H Darakjy
IdCountryDate
1000United Kingdom2024-06-04
1001Argentina2024-06-01
1002France2024-06-13
1003Italy2024-06-08
1004United Kingdom2024-06-22
1005Italy2024-06-22
1006France2024-05-27
1007Brazil2024-05-31
1008Japan2024-05-28
1009Argentina2024-06-12
1010Italy2024-06-01
1011France2024-06-10
1012Italy2024-06-13
1013France2024-06-12
1014Canada2024-05-30
1015Australia2024-06-24
1016Brazil2024-06-01
1017Australia2024-05-30
1018United Kingdom2024-06-12
1019Spain2024-06-14
1020United Kingdom2024-05-26
1021France2024-05-28
1022Japan2024-06-06
1023Russia2024-05-28
1024Germany2024-06-04
1025Germany2024-06-08
1026Germany2024-05-26
1027Spain2024-06-02
1028Spain2024-06-24
1029Australia2024-05-30
1030France2024-06-15
1031Russia2024-06-09
1032United Kingdom2024-06-09
1033Italy2024-06-03
1034Argentina2024-06-02
1035Japan2024-06-01
1036Argentina2024-06-04
1037United Kingdom2024-06-10
1038Brazil2024-05-31
1039Australia2024-05-31
1040Japan2024-06-24
1041Canada2024-06-17
1042Canada2024-05-29
1043Argentina2024-06-17
1044Brazil2024-06-06
1045Italy2024-06-17
1046Germany2024-06-08
1047Canada2024-05-30
1048India2024-05-26
1049Canada2024-06-18

On-Demand Data

NameIdCountryDate
Silvio X Poquette1000United Kingdom2024-05-30
Leon W Tollner1001Germany2024-06-06
Alejandro K Poquette1002Italy2024-06-09
Darci V Bowley1003Brazil2024-06-01
Francesco K Nicka1004Italy2024-06-23
Greenwood I Malet1005Australia2024-06-02
Costa J Flosi1006United Kingdom2024-06-05
Johnson T Caldarera1007Spain2024-06-11
Aika B Chui1008Spain2024-05-26
Misaki S Bowley1009Italy2024-05-29
Jennifer E Caudy1010India2024-06-06
Rodrigues S Malet1011France2024-06-21
Maisha Y Schemmer1012Canada2024-06-19
Munro H Garufi1013Russia2024-06-02
Kaitlin C Darakjy1014Russia2024-06-02
Kaitlin E Gaucho1015France2024-05-30
Clifford E Nestle1016United Kingdom2024-06-11
Misaki S Ferencz1017United Kingdom2024-06-12
Maisha L Vocelka1018France2024-05-29
Stacey P Paprocki1019Japan2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore H GarufiGermanyAnna Fali RENEWAL
Leon C WhobreyUnited KingdomBernardo Dominic QUALIFIED
Aruna X RutaItalyXuxue Feng PROPOSAL
Greenwood M GarufiIndiaElwin Sharvill NEW
Munro U OldroydBrazilAnna Fali PROPOSAL
Leon T DarakjyCanadaElwin Sharvill NEGOTIATION
Morrow O AlbaresCanadaBernardo Dominic RENEWAL
Misaki U RutaAustraliaAsiya Javayant NEW
Murillo E GarufiBrazilStephen Shaw UNQUALIFIED
Sinclair O SaylorsItalyBernardo Dominic RENEWAL
Arvin T DoeArgentinaStephen Shaw NEGOTIATION
Mujtaba T OldroydGermanyElwin Sharvill RENEWAL
Aika W InouyeSpainIoni Bowcher PROPOSAL
Greenwood Y KuskoRussiaAnna Fali PROPOSAL
Johnson A SchemmerRussiaIvan Magalhaes PROPOSAL
Isabel L KuskoJapanXuxue Feng PROPOSAL
Maria W DoeCanadaAmy Elsner PROPOSAL
Ashley Y ShinkoCanadaIoni Bowcher QUALIFIED
Julie W PaprockiUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois X GauchoIndiaIvan Magalhaes NEW
Tony S PaprockiRussiaOnyama Limba QUALIFIED
Emily Z GlickCanadaAmy Elsner RENEWAL
Jones V SlusarskiBrazilIvan Magalhaes QUALIFIED
Smith L VenereArgentinaAnna Fali PROPOSAL
Maria I WhobreyBrazilIvan Magalhaes QUALIFIED
Stacey M GarufiCanadaBernardo Dominic PROPOSAL
Faith P DoeRussiaXuxue Feng PROPOSAL
Smith F BologniaItalyOnyama Limba UNQUALIFIED
Morrow T WhobreyCanadaElwin Sharvill RENEWAL
Francesco D GauchoRussiaAmy Elsner QUALIFIED
Costa U FerenczSpainStephen Shaw RENEWAL
Aruna F MacleadFranceBernardo Dominic NEGOTIATION
Octavia S IturbideGermanyOnyama Limba RENEWAL
Silvio A FerenczBrazilAsiya Javayant NEW
Maria J CaldareraBrazilXuxue Feng UNQUALIFIED
Izzy E StockhamArgentinaAmy Elsner PROPOSAL
Claire U BriddickArgentinaBernardo Dominic UNQUALIFIED
Smith C GlickSpainAmy Elsner RENEWAL
Stacey I RutaFranceElwin Sharvill RENEWAL
Murillo D FigeroaBrazilBernardo Dominic NEGOTIATION

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