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
Deepesh B CaldareraGermanyIvan Magalhaes UNQUALIFIED
Antonio E SaylorsAustraliaIoni Bowcher QUALIFIED
Antonio X PerinUnited KingdomXuxue Feng NEW
Izzy F FollerGermanyElwin Sharvill QUALIFIED
Clifford K OldroydAustraliaIoni Bowcher PROPOSAL
Alejandro V PerinRussiaOnyama Limba UNQUALIFIED
Munro U FigeroaUnited KingdomAmy Elsner QUALIFIED
Costa T TollnerBrazilElwin Sharvill PROPOSAL
David X SaylorsAustraliaElwin Sharvill NEGOTIATION
Morrow Y WhobreyAustraliaIvan Magalhaes RENEWAL
Mayumi N ChuiGermanyAmy Elsner QUALIFIED
Silvio N AmigonItalyAsiya Javayant UNQUALIFIED
Wickens M GauchoItalyOnyama Limba PROPOSAL
Isabel V MacleadFranceStephen Shaw PROPOSAL
Claire A FollerAustraliaAnna Fali UNQUALIFIED
James C AlbaresSpainAsiya Javayant RENEWAL
Arvin Z PerinItalyIvan Magalhaes NEGOTIATION
Greenwood I KolmetzItalyOnyama Limba QUALIFIED
Maisha Z RoysterIndiaStephen Shaw NEGOTIATION
Alejandro U FlosiItalyElwin Sharvill UNQUALIFIED
Greenwood D MorascaSpainAnna Fali PROPOSAL
Maria K NickaCanadaAmy Elsner QUALIFIED
Rodrigues G StockhamGermanyAmy Elsner UNQUALIFIED
Emily I GauchoJapanXuxue Feng NEW
Tony F IturbideRussiaXuxue Feng RENEWAL
Faith X BologniaItalyAmy Elsner NEGOTIATION
Salvatore E BologniaGermanyAsiya Javayant RENEWAL
Smith G PaprockiIndiaAnna Fali QUALIFIED
Aika I SlusarskiRussiaAsiya Javayant RENEWAL
Aruna Z VocelkaItalyXuxue Feng NEGOTIATION
Leon R SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Salvatore A RimArgentinaIvan Magalhaes NEW
Chavez K CampainGermanyBernardo Dominic NEW
David G KolmetzSpainElwin Sharvill QUALIFIED
David M RoysterFranceOnyama Limba NEGOTIATION
Jeanfrancois D MarrierFranceIoni Bowcher RENEWAL
Antonio R FigeroaCanadaIoni Bowcher UNQUALIFIED
Sinclair D GarufiFranceXuxue Feng NEW
Costa O KolmetzBrazilIvan Magalhaes QUALIFIED
Cody Y SergiBrazilXuxue Feng NEW
Aditya F PaprockiArgentinaAnna Fali RENEWAL
Emily C VocelkaSpainXuxue Feng QUALIFIED
Izzy Q FollerFranceElwin Sharvill QUALIFIED
Morrow S DarakjyIndiaAmy Elsner QUALIFIED
Maisha L ButtCanadaXuxue Feng RENEWAL
Misaki T NestleRussiaXuxue Feng PROPOSAL
Jones Z FlosiArgentinaAnna Fali NEW
Ivar A MaletBrazilElwin Sharvill QUALIFIED
Ivar H KolmetzSpainIvan Magalhaes UNQUALIFIED
Izzy A ChuiJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia H FigeroaCanadaAmy Elsner QUALIFIED
Alejandro C AlbaresRussiaElwin Sharvill RENEWAL
Greenwood J FerenczGermanyAsiya Javayant RENEWAL
Maisha N MarrierCanadaIoni Bowcher NEW
Chavez Y KuskoArgentinaAnna Fali RENEWAL
Cody F GarufiUnited KingdomStephen Shaw NEW
Francesco Q DarakjyBrazilAnna Fali PROPOSAL
David B DoeBrazilOnyama Limba PROPOSAL
Aruna E MacleadUnited KingdomOnyama Limba NEGOTIATION
Nicolas M DarakjyFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson C GlickItaly2024-05-31Printing Dimensions NEW88Anna Fali
1001Leja F NestleAustralia2024-06-12Buckley Miller Wright PROPOSAL27Ivan Magalhaes
1002Adams Y BowleyBrazil2024-05-27Truhlar And Truhlar Attys PROPOSAL1Ioni Bowcher
1003Antonio D InouyeUnited Kingdom2024-06-04Commercial Press RENEWAL79Stephen Shaw
1004Stacey B MaletSpain2024-06-01Feiner Bros NEGOTIATION92Ivan Magalhaes
1005Arvin P GillianSpain2024-05-30Buckley Miller Wright QUALIFIED61Elwin Sharvill
1006Aditya V GarufiFrance2024-06-02Commercial Press NEW36Stephen Shaw
1007James A StockhamSpain2024-05-26Rousseaux, Michael Esq RENEWAL69Ioni Bowcher
1008Mayumi T RoysterCanada2024-06-21Dorl, James J Esq RENEWAL63Anna Fali
1009Aditya G MorascaCanada2024-06-01Printing Dimensions QUALIFIED55Elwin Sharvill
1010Aika H TollnerFrance2024-06-10Chemel, James L Cpa UNQUALIFIED11Onyama Limba
1011Nicolas W NestleSpain2024-06-12Buckley Miller Wright NEGOTIATION62Bernardo Dominic
1012Jennifer D RutaSpain2024-06-09Dorl, James J Esq NEGOTIATION50Bernardo Dominic
1013Salvatore J SchemmerJapan2024-06-05Rousseaux, Michael Esq RENEWAL71Elwin Sharvill
1014Salvatore Y VocelkaCanada2024-06-01Rangoni Of Florence QUALIFIED85Bernardo Dominic
1015Faith B OldroydFrance2024-06-18Chapman, Ross E Esq NEGOTIATION9Ivan Magalhaes
1016Isabel A SaylorsIndia2024-06-01Rangoni Of Florence UNQUALIFIED36Xuxue Feng
1017Izzy C SchemmerBrazil2024-05-30Buckley Miller Wright UNQUALIFIED81Bernardo Dominic
1018Stacey R OldroydCanada2024-06-22Printing Dimensions NEGOTIATION98Anna Fali
1019Mayumi H ButtRussia2024-06-17Buckley Miller Wright NEGOTIATION11Elwin Sharvill
1020Izzy V InouyeRussia2024-06-15Printing Dimensions NEW40Xuxue Feng
1021Silvio A AlbaresIndia2024-06-11Dorl, James J Esq PROPOSAL21Xuxue Feng
1022Greenwood J WieserJapan2024-06-20Feiner Bros QUALIFIED92Xuxue Feng
1023Rodrigues A GillianRussia2024-06-02Benton, John B Jr NEGOTIATION28Ivan Magalhaes
1024Jones U BologniaGermany2024-06-05Printing Dimensions RENEWAL41Ivan Magalhaes
1025Ricardo O ButtJapan2024-06-22Benton, John B Jr NEGOTIATION13Elwin Sharvill
1026Jefferson X IturbideBrazil2024-05-30Rousseaux, Michael Esq QUALIFIED27Bernardo Dominic
1027Aditya A CaldareraRussia2024-05-27King, Christopher A Esq QUALIFIED54Elwin Sharvill
1028Ashley M SergiIndia2024-06-09Benton, John B Jr UNQUALIFIED94Anna Fali
1029Rodrigues W MaletFrance2024-06-18Morlong Associates QUALIFIED86Asiya Javayant
1030Smith Z TollnerArgentina2024-05-25Buckley Miller Wright NEGOTIATION36Stephen Shaw
1031Murillo Y RutaCanada2024-06-20Chemel, James L Cpa RENEWAL51Elwin Sharvill
1032Leja T NickaRussia2024-06-15Benton, John B Jr UNQUALIFIED32Amy Elsner
1033Nicolas A AmigonIndia2024-05-27Printing Dimensions NEW5Elwin Sharvill
1034Munro R RulapaughRussia2024-06-20Chanay, Jeffrey A Esq NEW50Onyama Limba
1035Jefferson U FerenczJapan2024-05-25Morlong Associates NEGOTIATION0Ivan Magalhaes
1036Jeanfrancois D MorascaJapan2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED55Anna Fali
1037Rodrigues V StockhamGermany2024-06-01Chanay, Jeffrey A Esq RENEWAL18Bernardo Dominic
1038Izzy U RimArgentina2024-06-04Dorl, James J Esq RENEWAL81Ivan Magalhaes
1039Ricardo O CampainUnited Kingdom2024-05-29Rangoni Of Florence NEGOTIATION31Stephen Shaw
1040Chavez M MaletGermany2024-05-24Chapman, Ross E Esq NEGOTIATION8Anna Fali
1041Mujtaba B MacleadRussia2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED23Bernardo Dominic
1042Emily G BowleySpain2024-06-18Rousseaux, Michael Esq PROPOSAL72Elwin Sharvill
1043Adams B CaldareraItaly2024-06-01Chanay, Jeffrey A Esq RENEWAL94Onyama Limba
1044Izzy I MacleadBrazil2024-06-04Printing Dimensions QUALIFIED5Asiya Javayant
1045Munro T SergiCanada2024-06-17Printing Dimensions QUALIFIED16Ivan Magalhaes
1046Jefferson K BriddickUnited Kingdom2024-05-31Chemel, James L Cpa QUALIFIED65Anna Fali
1047Octavia S MacleadGermany2024-05-27Benton, John B Jr UNQUALIFIED95Onyama Limba
1048Claire Q FollerUnited Kingdom2024-06-10Morlong Associates NEGOTIATION57Asiya Javayant
1049Murillo G NickaUnited Kingdom2024-06-11Feiner Bros NEGOTIATION77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio Q BowleyGermanyAnna Fali QUALIFIED
Greenwood T IturbideIndiaIoni Bowcher PROPOSAL
Darci J CaudyArgentinaAnna Fali UNQUALIFIED
Adams Y StockhamAustraliaOnyama Limba UNQUALIFIED
Smith L PaprockiSpainIvan Magalhaes NEW
Ricardo A DarakjySpainXuxue Feng UNQUALIFIED
James N MaletJapanXuxue Feng QUALIFIED
Clifford H KuskoBrazilIvan Magalhaes NEGOTIATION
Alejandro U GlickBrazilIoni Bowcher NEGOTIATION
Juan P PaprockiAustraliaAmy Elsner UNQUALIFIED
Juan X NestleItalyStephen Shaw NEW
Arvin Y MacleadFranceIvan Magalhaes UNQUALIFIED
Aika S MaletArgentinaElwin Sharvill UNQUALIFIED
Leja X GillianCanadaAmy Elsner PROPOSAL
Julie H MacleadItalyAmy Elsner RENEWAL
Ivar K AlbaresItalyStephen Shaw NEGOTIATION
Maria D BologniaBrazilIvan Magalhaes UNQUALIFIED
Ashley G VenereFranceAsiya Javayant RENEWAL
Munro W OldroydBrazilAsiya Javayant PROPOSAL
Mujtaba R AlbaresUnited KingdomBernardo Dominic PROPOSAL
Mujtaba J IturbideIndiaBernardo Dominic PROPOSAL
Mujtaba T InouyeGermanyBernardo Dominic UNQUALIFIED
Salvatore J ButtSpainBernardo Dominic RENEWAL
Murillo P BowleyJapanStephen Shaw NEW
Maisha N KuskoIndiaAmy Elsner RENEWAL
Mujtaba X TollnerRussiaAnna Fali UNQUALIFIED
Misaki R NickaCanadaIvan Magalhaes UNQUALIFIED
Misaki J SergiSpainElwin Sharvill RENEWAL
Stacey S OldroydItalyStephen Shaw PROPOSAL
Leon C RimCanadaAsiya Javayant NEGOTIATION
Jennifer K SergiRussiaAmy Elsner QUALIFIED
Alejandro F VocelkaCanadaStephen Shaw RENEWAL
Alejandro P SlusarskiArgentinaElwin Sharvill PROPOSAL
Leja E RoysterAustraliaAnna Fali UNQUALIFIED
Nicolas B RimJapanBernardo Dominic PROPOSAL
Julie A OstroskyUnited KingdomAmy Elsner RENEWAL
Nicolas S SchemmerSpainOnyama Limba NEW
Aruna J DarakjyAustraliaElwin Sharvill PROPOSAL
Sinclair H DoeJapanAsiya Javayant NEW
Chavez L PerinSpainIoni Bowcher QUALIFIED
Aditya X RimUnited KingdomIoni Bowcher UNQUALIFIED
Maisha S FigeroaJapanBernardo Dominic NEW
Salvatore M MarrierFranceOnyama Limba NEGOTIATION
Jeanfrancois A WhobreySpainAnna Fali UNQUALIFIED
Johnson X FigeroaBrazilAsiya Javayant UNQUALIFIED
Ashley G MaletBrazilIoni Bowcher UNQUALIFIED
Tony X WieserFranceOnyama Limba NEGOTIATION
Stacey L GarufiJapanStephen Shaw QUALIFIED
Jones E SaylorsIndiaAnna Fali UNQUALIFIED
Stacey V WhobreyAustraliaAmy Elsner NEW
Frozen Columns
Name
Greenwood R Poquette
Ivar V Figeroa
Morrow D Bowley
Costa Y Chui
Ivar X Butt
Adams A Rulapaugh
Antonio F Royster
Ricardo O Perin
Mayumi N Nicka
Ivar K Doe
Jennifer B Malet
David R Albares
Deepesh A Malet
Maria T Amigon
Ashley Q Oldroyd
Chavez R Briddick
Leja I Royster
Salvatore M Doe
Salvatore J Gillian
Aruna U Tollner
Izzy R Iturbide
Maria H Maclead
Maisha C Sergi
Munro T Morasca
Rodrigues H Royster
Jefferson B Nicka
Izzy Q Inouye
Aruna M Albares
Mayumi B Albares
Antonio E Malet
Kadeem K Malet
Jones X Briddick
Antonio B Flosi
Francesco Q Tollner
Morrow O Royster
Stacey L Ferencz
Maria L Kolmetz
Ricardo U Rulapaugh
Darci Q Malet
Deepesh O Marrier
Adams O Bowley
Aruna O Poquette
Costa T Stenseth
Octavia F Saylors
Chavez U Bowley
Adams U Butt
Kaitlin M Maclead
Mayumi I Royster
Mayumi K Perin
Sinclair F Inouye
IdCountryDate
1000Spain2024-05-25
1001Canada2024-06-13
1002Russia2024-06-20
1003Germany2024-05-31
1004Brazil2024-06-22
1005United Kingdom2024-05-30
1006Argentina2024-06-10
1007Japan2024-06-04
1008Australia2024-06-16
1009Italy2024-06-18
1010France2024-06-18
1011Canada2024-06-22
1012Russia2024-06-11
1013Argentina2024-06-04
1014Japan2024-05-29
1015Germany2024-06-07
1016Russia2024-06-21
1017France2024-06-03
1018Australia2024-05-27
1019Italy2024-06-12
1020Argentina2024-06-14
1021Brazil2024-05-27
1022Argentina2024-05-24
1023Brazil2024-06-18
1024Canada2024-06-06
1025Canada2024-06-17
1026Japan2024-06-18
1027Japan2024-06-09
1028United Kingdom2024-06-02
1029India2024-05-29
1030Brazil2024-06-15
1031Brazil2024-06-01
1032Russia2024-06-12
1033Italy2024-06-19
1034Canada2024-06-05
1035Russia2024-06-21
1036France2024-06-04
1037Russia2024-06-11
1038Canada2024-06-10
1039France2024-05-24
1040India2024-06-20
1041Japan2024-06-17
1042France2024-05-24
1043Italy2024-06-13
1044Russia2024-06-02
1045Canada2024-05-30
1046United Kingdom2024-06-17
1047Spain2024-06-09
1048Argentina2024-06-17
1049Japan2024-05-29

On-Demand Data

NameIdCountryDate
Leja Y Malet1000Australia2024-06-14
Rodrigues J Shinko1001Germany2024-06-13
Aruna Y Kolmetz1002Italy2024-06-14
James H Royster1003United Kingdom2024-05-31
Smith K Stockham1004Italy2024-06-19
Ashley R Kolmetz1005Spain2024-06-01
Stacey V Caldarera1006Canada2024-06-15
David N Nicka1007Canada2024-06-09
Ashley T Ostrosky1008Russia2024-05-28
Maria P Chui1009Argentina2024-05-29
Stacey V Doe1010Italy2024-06-01
Murillo O Whobrey1011Brazil2024-06-21
Kaitlin L Flosi1012Australia2024-06-12
Francesco O Ruta1013Spain2024-06-11
Cody E Foller1014United Kingdom2024-06-17
Ricardo G Kusko1015Italy2024-06-20
Deepesh K Marrier1016India2024-06-01
Emily J Dilliard1017France2024-06-19
Smith I Butt1018India2024-05-24
Clifford H Malet1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa H CaldareraItalyAnna Fali RENEWAL
Clifford X BowleyItalyIoni Bowcher UNQUALIFIED
Maisha R BologniaAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois Y AmigonUnited KingdomAmy Elsner PROPOSAL
Aruna Y FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Cody Q StockhamBrazilXuxue Feng RENEWAL
Smith G KuskoIndiaOnyama Limba PROPOSAL
Octavia P WaycottItalyElwin Sharvill UNQUALIFIED
Silvio H WhobreySpainElwin Sharvill NEGOTIATION
Murillo P WhobreyFranceElwin Sharvill PROPOSAL
Deepesh K VocelkaGermanyStephen Shaw QUALIFIED
Tony E DilliardGermanyStephen Shaw RENEWAL
Deepesh E OstroskyFranceAnna Fali PROPOSAL
Greenwood O SchemmerArgentinaElwin Sharvill NEW
Clifford S MaletIndiaAmy Elsner PROPOSAL
Octavia X RutaSpainIvan Magalhaes PROPOSAL
Leon N FollerSpainIoni Bowcher QUALIFIED
Jeanfrancois Z NickaCanadaElwin Sharvill NEGOTIATION
Arvin Q RulapaughAustraliaAmy Elsner PROPOSAL
Darci H BowleyRussiaElwin Sharvill QUALIFIED
Alejandro S IturbideJapanIoni Bowcher NEGOTIATION
Darci K SchemmerGermanyAmy Elsner PROPOSAL
Stacey J TollnerJapanAsiya Javayant QUALIFIED
James E GlickCanadaIoni Bowcher UNQUALIFIED
Sinclair T CampainGermanyOnyama Limba UNQUALIFIED
Alejandro Y TollnerItalyOnyama Limba PROPOSAL
Octavia T VenereArgentinaAmy Elsner QUALIFIED
Mayumi Y AlbaresSpainAmy Elsner RENEWAL
Jennifer B GarufiRussiaIoni Bowcher UNQUALIFIED
Sinclair C DilliardGermanyAmy Elsner RENEWAL
Mujtaba O CaudySpainAmy Elsner UNQUALIFIED
Jeanfrancois D SaylorsUnited KingdomAsiya Javayant PROPOSAL
Chavez T VocelkaRussiaAmy Elsner RENEWAL
Antonio T CaldareraCanadaIoni Bowcher UNQUALIFIED
Juan Y FerenczSpainIoni Bowcher RENEWAL
Aika L WieserGermanyBernardo Dominic PROPOSAL
Clifford Y WaycottUnited KingdomAsiya Javayant PROPOSAL
Kadeem P AlbaresGermanyAnna Fali UNQUALIFIED
Salvatore Q InouyeGermanyAmy Elsner RENEWAL
Adams K NickaBrazilBernardo 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>