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
Aika U KuskoAustraliaElwin Sharvill QUALIFIED
Maria C MaletItalyIvan Magalhaes RENEWAL
Darci F KolmetzUnited KingdomXuxue Feng NEGOTIATION
Misaki T AmigonUnited KingdomAnna Fali NEGOTIATION
Deepesh Q DoeJapanOnyama Limba NEGOTIATION
Ricardo Q SlusarskiRussiaOnyama Limba NEGOTIATION
Aruna W GlickJapanIvan Magalhaes QUALIFIED
Sinclair D CampainAustraliaElwin Sharvill RENEWAL
Jones K InouyeAustraliaStephen Shaw QUALIFIED
Salvatore B ShinkoIndiaAnna Fali QUALIFIED
Cody Q IturbideGermanyOnyama Limba NEGOTIATION
Leon L DilliardAustraliaBernardo Dominic QUALIFIED
Ashley S ShinkoCanadaAnna Fali QUALIFIED
Ashley O DoeSpainIoni Bowcher QUALIFIED
Arvin O WaycottRussiaIvan Magalhaes NEW
Wickens I GillianGermanyBernardo Dominic UNQUALIFIED
Aruna N SlusarskiCanadaIvan Magalhaes NEGOTIATION
Maria Z MarrierBrazilAsiya Javayant UNQUALIFIED
Aika V AmigonItalyOnyama Limba NEGOTIATION
Jefferson C TollnerUnited KingdomAmy Elsner QUALIFIED
Murillo O KuskoUnited KingdomOnyama Limba PROPOSAL
Octavia J AlbaresJapanAsiya Javayant NEGOTIATION
Nicolas K FigeroaIndiaIoni Bowcher NEGOTIATION
Kaitlin Q OstroskyUnited KingdomAnna Fali NEW
Faith L MaletBrazilOnyama Limba RENEWAL
Alejandro L OstroskyBrazilIoni Bowcher UNQUALIFIED
Juan C RimBrazilOnyama Limba NEGOTIATION
Faith H SergiCanadaAnna Fali RENEWAL
Ashley Z PoquetteArgentinaIvan Magalhaes PROPOSAL
Wickens A WaycottAustraliaAnna Fali NEW
Salvatore Y RimCanadaAmy Elsner NEW
Julie W CaldareraUnited KingdomAmy Elsner RENEWAL
Clifford X PerinGermanyBernardo Dominic NEGOTIATION
Faith C InouyeSpainIoni Bowcher NEGOTIATION
Clifford V PoquetteBrazilAmy Elsner NEW
Adams G OldroydItalyAsiya Javayant UNQUALIFIED
Tony Q ChuiRussiaAsiya Javayant NEW
Sinclair D MacleadJapanAmy Elsner UNQUALIFIED
Deepesh Q CampainBrazilAnna Fali NEGOTIATION
Greenwood L SaylorsCanadaIoni Bowcher NEW
Izzy H ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba K FlosiCanadaBernardo Dominic PROPOSAL
Maisha Q TollnerIndiaIvan Magalhaes UNQUALIFIED
Clifford I PerinJapanStephen Shaw NEW
Murillo G InouyeUnited KingdomBernardo Dominic PROPOSAL
Ashley W FerenczFranceAsiya Javayant NEGOTIATION
Aruna K CaudyCanadaIoni Bowcher PROPOSAL
Leon K OldroydFranceOnyama Limba QUALIFIED
Antonio M ChuiCanadaAmy Elsner PROPOSAL
Aditya S SergiSpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer F ChuiSpainBernardo Dominic NEW
Munro W MaletUnited KingdomOnyama Limba QUALIFIED
Aditya Z BowleyJapanIvan Magalhaes NEGOTIATION
Rodrigues N FlosiFranceIvan Magalhaes NEGOTIATION
Mayumi O WaycottGermanyOnyama Limba QUALIFIED
Aruna G SchemmerRussiaBernardo Dominic UNQUALIFIED
Costa F WaycottArgentinaStephen Shaw RENEWAL
Ashley Q NickaJapanStephen Shaw NEGOTIATION
Ashley J CaldareraItalyAnna Fali QUALIFIED
Claire N RoysterArgentinaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar U GarufiRussia2024-06-21Chanay, Jeffrey A Esq PROPOSAL94Ioni Bowcher
1001Julie U DilliardRussia2024-06-18King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1002Ricardo L CaudyBrazil2024-06-06Printing Dimensions NEW79Xuxue Feng
1003Faith H GillianItaly2024-05-29King, Christopher A Esq UNQUALIFIED55Amy Elsner
1004Misaki R ButtIndia2024-06-11Buckley Miller Wright NEW93Amy Elsner
1005Nicolas I RoysterUnited Kingdom2024-06-08Chemel, James L Cpa UNQUALIFIED62Ivan Magalhaes
1006Aditya T SergiBrazil2024-06-04Chapman, Ross E Esq PROPOSAL13Stephen Shaw
1007Silvio T GauchoRussia2024-06-17Feiner Bros PROPOSAL0Stephen Shaw
1008Claire R OstroskyBrazil2024-05-26Rousseaux, Michael Esq UNQUALIFIED10Xuxue Feng
1009Claire M StockhamSpain2024-06-02King, Christopher A Esq PROPOSAL90Onyama Limba
1010Aruna U MorascaArgentina2024-05-27Feiner Bros RENEWAL36Xuxue Feng
1011Smith Q WhobreySpain2024-05-27Dorl, James J Esq QUALIFIED42Onyama Limba
1012Adams E MarrierUnited Kingdom2024-05-25Morlong Associates PROPOSAL99Ioni Bowcher
1013Darci W SaylorsJapan2024-06-22Morlong Associates RENEWAL30Bernardo Dominic
1014Silvio Y KuskoCanada2024-06-01Feltz Printing Service UNQUALIFIED12Ivan Magalhaes
1015Emily P CaldareraArgentina2024-06-19Commercial Press QUALIFIED32Stephen Shaw
1016Wickens T DarakjyGermany2024-06-01Chemel, James L Cpa RENEWAL36Ioni Bowcher
1017Aruna H GarufiGermany2024-06-03Chanay, Jeffrey A Esq PROPOSAL49Stephen Shaw
1018David X SergiIndia2024-06-19Dorl, James J Esq RENEWAL36Xuxue Feng
1019Misaki J VocelkaFrance2024-06-22Morlong Associates NEW85Amy Elsner
1020Salvatore U SchemmerRussia2024-06-11Rousseaux, Michael Esq RENEWAL70Anna Fali
1021Mujtaba L WaycottIndia2024-06-03Buckley Miller Wright UNQUALIFIED27Onyama Limba
1022Tony P MarrierRussia2024-06-11Morlong Associates RENEWAL22Asiya Javayant
1023Morrow D GarufiArgentina2024-06-13Rousseaux, Michael Esq NEGOTIATION5Xuxue Feng
1024Adams P NestleArgentina2024-06-07Feltz Printing Service QUALIFIED84Bernardo Dominic
1025Maria R KuskoCanada2024-06-02Feltz Printing Service PROPOSAL75Xuxue Feng
1026Arvin W FigeroaRussia2024-06-01Buckley Miller Wright PROPOSAL40Anna Fali
1027Mujtaba N StockhamCanada2024-05-29Buckley Miller Wright NEW99Anna Fali
1028Claire G StensethArgentina2024-05-26Rangoni Of Florence NEGOTIATION99Onyama Limba
1029Rodrigues S StensethJapan2024-06-15Feiner Bros UNQUALIFIED36Stephen Shaw
1030Octavia E ChuiBrazil2024-06-21Feltz Printing Service NEW21Bernardo Dominic
1031Sinclair P VenereUnited Kingdom2024-06-12Buckley Miller Wright NEGOTIATION72Stephen Shaw
1032Jefferson C SlusarskiRussia2024-05-29Rousseaux, Michael Esq PROPOSAL72Onyama Limba
1033Francesco U StockhamJapan2024-05-27Feltz Printing Service RENEWAL73Stephen Shaw
1034Cody P SaylorsArgentina2024-06-01King, Christopher A Esq NEGOTIATION2Onyama Limba
1035Antonio S MorascaRussia2024-06-11Commercial Press QUALIFIED49Amy Elsner
1036Kadeem M DoeRussia2024-05-29Feltz Printing Service PROPOSAL23Bernardo Dominic
1037Munro L VocelkaJapan2024-06-08Morlong Associates NEGOTIATION61Ivan Magalhaes
1038Morrow P SchemmerJapan2024-06-05Printing Dimensions PROPOSAL72Anna Fali
1039Claire N GarufiItaly2024-06-03Printing Dimensions PROPOSAL11Ivan Magalhaes
1040Rodrigues O TollnerUnited Kingdom2024-06-15Benton, John B Jr NEGOTIATION95Amy Elsner
1041Costa F RoysterJapan2024-05-28Rousseaux, Michael Esq QUALIFIED91Stephen Shaw
1042Maria U MaletJapan2024-05-31Morlong Associates NEW42Xuxue Feng
1043Silvio I MorascaGermany2024-06-09Buckley Miller Wright UNQUALIFIED59Onyama Limba
1044Ashley S PaprockiArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION2Bernardo Dominic
1045Faith V GauchoFrance2024-06-10Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1046Emily E AlbaresJapan2024-06-02Chemel, James L Cpa PROPOSAL30Onyama Limba
1047Mayumi V StensethRussia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED79Bernardo Dominic
1048Darci O MorascaIndia2024-06-04Dorl, James J Esq UNQUALIFIED67Elwin Sharvill
1049Arvin Y AmigonJapan2024-06-13Printing Dimensions NEGOTIATION62Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson D RimSpainIvan Magalhaes NEGOTIATION
Nicolas H MarrierBrazilElwin Sharvill QUALIFIED
David G NestleFranceIvan Magalhaes PROPOSAL
Cody M VenereArgentinaElwin Sharvill PROPOSAL
Isabel V CampainIndiaAmy Elsner NEW
Rodrigues U PaprockiBrazilIoni Bowcher QUALIFIED
Juan Y IturbideUnited KingdomXuxue Feng NEW
Darci M InouyeAustraliaXuxue Feng RENEWAL
Julie M RulapaughJapanIoni Bowcher PROPOSAL
Jefferson K IturbideJapanAsiya Javayant NEGOTIATION
Antonio I CampainRussiaAnna Fali NEW
Silvio G MaletUnited KingdomElwin Sharvill NEW
Darci N OldroydJapanAnna Fali QUALIFIED
Smith R BowleyRussiaBernardo Dominic RENEWAL
Morrow H MorascaCanadaIoni Bowcher NEW
Ricardo E BowleyJapanBernardo Dominic PROPOSAL
Leon L IturbideIndiaOnyama Limba QUALIFIED
Leon C IturbideRussiaStephen Shaw UNQUALIFIED
Salvatore Z CampainRussiaStephen Shaw NEW
Greenwood Q FerenczUnited KingdomElwin Sharvill PROPOSAL
Maria T MacleadFranceOnyama Limba QUALIFIED
Greenwood K SaylorsRussiaBernardo Dominic UNQUALIFIED
Stacey A KolmetzGermanyAnna Fali NEGOTIATION
Arvin H ChuiItalyXuxue Feng NEGOTIATION
Salvatore O MarrierJapanElwin Sharvill QUALIFIED
David F OldroydRussiaBernardo Dominic RENEWAL
Tony M MacleadFranceAnna Fali PROPOSAL
Ivar N IturbideRussiaAmy Elsner RENEWAL
Ashley T SaylorsFranceIoni Bowcher NEGOTIATION
Misaki G CaudySpainAsiya Javayant NEW
Julie I BriddickBrazilAsiya Javayant UNQUALIFIED
Darci C WieserBrazilElwin Sharvill NEGOTIATION
Emily A RutaBrazilStephen Shaw PROPOSAL
Aika K PaprockiJapanBernardo Dominic NEW
Johnson C MaletGermanyOnyama Limba PROPOSAL
Costa U WhobreyUnited KingdomXuxue Feng QUALIFIED
Isabel G WaycottArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin S FlosiIndiaAsiya Javayant RENEWAL
Wickens H MorascaAustraliaIvan Magalhaes NEGOTIATION
Ashley S SaylorsCanadaElwin Sharvill NEW
Greenwood J BriddickJapanIoni Bowcher QUALIFIED
Greenwood R AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Stacey I AmigonFranceStephen Shaw UNQUALIFIED
Nicolas Q VocelkaCanadaAmy Elsner NEGOTIATION
Mujtaba I MarrierGermanyOnyama Limba NEGOTIATION
Rodrigues L BriddickRussiaAsiya Javayant QUALIFIED
Mujtaba V FollerArgentinaAsiya Javayant PROPOSAL
Ashley S FigeroaUnited KingdomElwin Sharvill NEW
Deepesh Z WaycottBrazilStephen Shaw RENEWAL
Cody N NickaCanadaIoni Bowcher RENEWAL
Frozen Columns
Name
Jones Y Gillian
Mujtaba J Sergi
Jennifer G Morasca
Morrow E Bolognia
Silvio N Chui
Adams K Darakjy
Aika Y Caldarera
Julie L Malet
Stacey W Saylors
Misaki M Poquette
Silvio C Paprocki
Jeanfrancois B Kusko
Ashley H Briddick
Mayumi V Oldroyd
Octavia X Inouye
Munro F Kusko
Misaki Q Slusarski
Jones K Nicka
Ricardo D Shinko
Juan N Rim
James K Saylors
Cody K Doe
Murillo N Ostrosky
Faith Z Kolmetz
Claire B Gaucho
Stacey R Bolognia
Clifford I Nestle
Nicolas N Gaucho
Kaitlin R Waycott
James L Malet
Alejandro Z Amigon
Smith T Nestle
Johnson T Perin
Rodrigues K Garufi
Maria J Slusarski
Arvin B Venere
Clifford G Garufi
Arvin W Kolmetz
Nicolas E Caudy
Maria W Kusko
Greenwood V Nestle
Aika I Campain
Kadeem E Morasca
Wickens L Perin
Murillo L Ostrosky
Rodrigues Q Ferencz
Murillo A Doe
Izzy I Rulapaugh
David K Briddick
Jefferson X Nestle
IdCountryDate
1000Japan2024-06-13
1001Japan2024-05-30
1002Canada2024-05-29
1003Australia2024-05-30
1004Germany2024-06-09
1005United Kingdom2024-06-01
1006Brazil2024-06-13
1007India2024-06-17
1008Brazil2024-05-26
1009Germany2024-06-09
1010United Kingdom2024-06-20
1011Spain2024-06-18
1012Canada2024-06-10
1013France2024-06-18
1014United Kingdom2024-06-06
1015Russia2024-05-30
1016France2024-06-21
1017Argentina2024-06-07
1018Japan2024-06-14
1019France2024-06-02
1020Canada2024-05-26
1021India2024-06-19
1022France2024-06-22
1023Germany2024-06-06
1024Australia2024-06-01
1025Germany2024-06-12
1026Germany2024-06-10
1027Canada2024-06-11
1028India2024-06-14
1029Germany2024-06-17
1030Italy2024-06-04
1031Russia2024-06-21
1032Russia2024-06-09
1033Italy2024-06-15
1034United Kingdom2024-06-02
1035India2024-05-30
1036Italy2024-06-12
1037Brazil2024-06-03
1038Argentina2024-06-02
1039Australia2024-06-07
1040Germany2024-05-31
1041Germany2024-06-15
1042Russia2024-05-30
1043Canada2024-06-11
1044Australia2024-05-24
1045Japan2024-06-09
1046Russia2024-06-18
1047France2024-06-06
1048Russia2024-05-26
1049Brazil2024-05-26

On-Demand Data

NameIdCountryDate
Cody X Marrier1000United Kingdom2024-06-21
Aditya E Maclead1001Australia2024-05-29
Darci L Caudy1002India2024-06-07
Greenwood X Caldarera1003Germany2024-06-22
Darci Q Slusarski1004Argentina2024-06-10
Alejandro Z Venere1005Canada2024-06-03
Salvatore A Nestle1006Russia2024-05-30
Mujtaba P Schemmer1007Italy2024-06-20
Jones X Perin1008Germany2024-06-17
Cody G Dilliard1009Japan2024-06-04
Isabel E Sergi1010United Kingdom2024-06-10
Wickens S Nestle1011Russia2024-05-25
Ricardo G Whobrey1012Italy2024-05-28
Ivar X Butt1013Brazil2024-06-18
Antonio B Oldroyd1014Russia2024-06-21
Ashley N Malet1015Spain2024-06-14
Rodrigues I Gaucho1016Argentina2024-06-12
Claire O Foller1017Russia2024-05-26
Johnson G Bowley1018Australia2024-06-14
Wickens V Foller1019Argentina2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin F SaylorsIndiaAsiya Javayant QUALIFIED
Greenwood T RimGermanyIvan Magalhaes QUALIFIED
Alejandro T DoeJapanBernardo Dominic UNQUALIFIED
David F SchemmerAustraliaIvan Magalhaes QUALIFIED
David R WieserSpainIvan Magalhaes NEW
Faith L StensethBrazilIvan Magalhaes QUALIFIED
Isabel Q CampainBrazilOnyama Limba NEGOTIATION
Claire H OstroskyCanadaAmy Elsner QUALIFIED
Munro A WhobreyItalyOnyama Limba QUALIFIED
Stacey U CampainGermanyAnna Fali RENEWAL
Ricardo I CampainCanadaIoni Bowcher PROPOSAL
Aruna M MaletGermanyBernardo Dominic NEGOTIATION
Octavia W SchemmerArgentinaIoni Bowcher PROPOSAL
Emily N SchemmerItalyAmy Elsner NEGOTIATION
Jefferson Y InouyeJapanIoni Bowcher UNQUALIFIED
Rodrigues E SchemmerUnited KingdomXuxue Feng NEW
Ivar O OldroydIndiaIoni Bowcher RENEWAL
Antonio F SchemmerUnited KingdomStephen Shaw NEW
Antonio H DarakjyUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois O WhobreyCanadaAnna Fali RENEWAL
Alejandro N CaudyAustraliaAsiya Javayant NEGOTIATION
Johnson W GarufiBrazilAsiya Javayant NEW
Ashley G BriddickFranceAnna Fali PROPOSAL
James Q MacleadCanadaStephen Shaw RENEWAL
Chavez O CaudyArgentinaIoni Bowcher UNQUALIFIED
Ricardo F RimItalyIvan Magalhaes RENEWAL
Jennifer N RutaArgentinaIoni Bowcher NEW
James S RutaIndiaAsiya Javayant RENEWAL
Adams K GillianJapanIvan Magalhaes PROPOSAL
Salvatore X TollnerFranceXuxue Feng RENEWAL
Leon I VenereJapanStephen Shaw RENEWAL
Ricardo E VocelkaArgentinaAnna Fali QUALIFIED
Isabel F NestleFranceBernardo Dominic NEW
Leon C InouyeArgentinaXuxue Feng UNQUALIFIED
Mujtaba R BologniaSpainIvan Magalhaes UNQUALIFIED
Aika D VenereJapanXuxue Feng NEGOTIATION
Costa R FlosiBrazilAnna Fali UNQUALIFIED
Costa N FerenczSpainAmy Elsner QUALIFIED
Mayumi L GlickItalyOnyama Limba NEW
Ricardo E BologniaSpainElwin Sharvill 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>