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
Francesco M MorascaFranceAsiya Javayant UNQUALIFIED
Costa U KuskoGermanyIoni Bowcher NEW
Chavez Z IturbideGermanyElwin Sharvill RENEWAL
Aika C ChuiJapanIvan Magalhaes QUALIFIED
Johnson T PoquetteSpainIvan Magalhaes RENEWAL
Kaitlin N WhobreyCanadaStephen Shaw QUALIFIED
Claire O ShinkoIndiaAnna Fali NEGOTIATION
Johnson E PoquetteItalyOnyama Limba UNQUALIFIED
Jones I ShinkoGermanyElwin Sharvill PROPOSAL
Francesco G GarufiRussiaXuxue Feng QUALIFIED
Greenwood D VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Munro X SchemmerIndiaElwin Sharvill PROPOSAL
Leja I VenereUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois A TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Morrow C FigeroaCanadaIvan Magalhaes UNQUALIFIED
Maria C StensethJapanOnyama Limba NEW
Stacey C WieserGermanyXuxue Feng NEGOTIATION
Mayumi I BriddickGermanyElwin Sharvill UNQUALIFIED
Kadeem D GauchoCanadaOnyama Limba QUALIFIED
Adams Q DoeUnited KingdomOnyama Limba PROPOSAL
Stacey S GillianArgentinaOnyama Limba PROPOSAL
Arvin E BologniaRussiaIoni Bowcher UNQUALIFIED
Chavez L FlosiCanadaAsiya Javayant NEW
Murillo R VenereSpainIoni Bowcher RENEWAL
Francesco S ButtIndiaAsiya Javayant NEW
Adams H GarufiBrazilOnyama Limba NEW
Jefferson A MarrierSpainAnna Fali PROPOSAL
Morrow Q SchemmerSpainIvan Magalhaes NEGOTIATION
Costa W KuskoBrazilIoni Bowcher QUALIFIED
James Y KuskoFranceIvan Magalhaes QUALIFIED
Jennifer I SchemmerUnited KingdomElwin Sharvill QUALIFIED
Julie Z GauchoItalyXuxue Feng RENEWAL
Munro G StensethFranceOnyama Limba QUALIFIED
Silvio C MaletCanadaAmy Elsner NEW
Stacey N SergiJapanIvan Magalhaes NEW
Smith E OstroskyArgentinaAnna Fali UNQUALIFIED
Ashley M FigeroaSpainStephen Shaw RENEWAL
Jeanfrancois U WieserGermanyElwin Sharvill NEGOTIATION
Juan N FerenczGermanyAmy Elsner NEGOTIATION
Adams Z MaletBrazilAnna Fali RENEWAL
Alejandro N SaylorsArgentinaAsiya Javayant UNQUALIFIED
Clifford O CampainIndiaStephen Shaw RENEWAL
Mayumi J ShinkoCanadaOnyama Limba PROPOSAL
Aruna E FerenczBrazilIvan Magalhaes NEW
Morrow W KuskoUnited KingdomAnna Fali NEW
David W KuskoSpainAnna Fali QUALIFIED
Rodrigues N NestleBrazilOnyama Limba QUALIFIED
Faith L TollnerArgentinaStephen Shaw UNQUALIFIED
Misaki B NickaArgentinaIoni Bowcher RENEWAL
Francesco E SchemmerItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Ashley F InouyeArgentinaOnyama Limba NEGOTIATION
James K VenereUnited KingdomElwin Sharvill PROPOSAL
Faith Q CaldareraArgentinaIvan Magalhaes QUALIFIED
James L BologniaJapanIvan Magalhaes RENEWAL
Jennifer G AlbaresJapanStephen Shaw QUALIFIED
Faith K CampainBrazilAmy Elsner UNQUALIFIED
Deepesh B ButtFranceAmy Elsner RENEWAL
Leja X SaylorsAustraliaStephen Shaw NEGOTIATION
Smith O RutaBrazilOnyama Limba UNQUALIFIED
Francesco N NestleAustraliaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki E DoeCanada2024-06-02Printing Dimensions RENEWAL62Ioni Bowcher
1001Jones Q BologniaRussia2024-06-03Rousseaux, Michael Esq UNQUALIFIED85Ioni Bowcher
1002Ivar A StockhamBrazil2024-06-10Rangoni Of Florence RENEWAL79Asiya Javayant
1003Aditya Y NickaRussia2024-05-29Printing Dimensions RENEWAL48Ivan Magalhaes
1004Johnson S OstroskySpain2024-05-23Benton, John B Jr PROPOSAL47Xuxue Feng
1005Rodrigues N InouyeJapan2024-06-11King, Christopher A Esq PROPOSAL30Onyama Limba
1006Chavez I DarakjyFrance2024-05-22Chapman, Ross E Esq RENEWAL63Anna Fali
1007Greenwood H BriddickRussia2024-06-02Chapman, Ross E Esq UNQUALIFIED55Xuxue Feng
1008Rodrigues B ShinkoJapan2024-05-24Chanay, Jeffrey A Esq NEGOTIATION59Ivan Magalhaes
1009Maria U ChuiJapan2024-05-21Chanay, Jeffrey A Esq PROPOSAL0Bernardo Dominic
1010James A InouyeGermany2024-06-04Morlong Associates RENEWAL55Xuxue Feng
1011Francesco Q FollerCanada2024-06-14Benton, John B Jr RENEWAL31Stephen Shaw
1012Smith U OldroydFrance2024-06-04Commercial Press QUALIFIED45Ivan Magalhaes
1013Aditya O WhobreyBrazil2024-05-20Benton, John B Jr PROPOSAL9Elwin Sharvill
1014David B MarrierItaly2024-05-20Truhlar And Truhlar Attys UNQUALIFIED15Asiya Javayant
1015Rodrigues D FerenczJapan2024-05-26Truhlar And Truhlar Attys QUALIFIED22Asiya Javayant
1016Izzy J AmigonSpain2024-05-31Benton, John B Jr NEW20Bernardo Dominic
1017Munro U MorascaSpain2024-05-19Chanay, Jeffrey A Esq QUALIFIED47Onyama Limba
1018Wickens O RutaGermany2024-06-09King, Christopher A Esq QUALIFIED68Elwin Sharvill
1019Stacey C WhobreyGermany2024-05-26King, Christopher A Esq RENEWAL69Amy Elsner
1020Maria C BologniaIndia2024-06-05Feltz Printing Service RENEWAL27Elwin Sharvill
1021Mujtaba B CampainJapan2024-05-31Rousseaux, Michael Esq QUALIFIED82Amy Elsner
1022Rodrigues L KuskoCanada2024-05-30Printing Dimensions UNQUALIFIED46Anna Fali
1023Emily X TollnerArgentina2024-06-07King, Christopher A Esq NEW68Xuxue Feng
1024Stacey C ChuiArgentina2024-06-04Morlong Associates UNQUALIFIED61Elwin Sharvill
1025Costa I DoeJapan2024-05-22Rangoni Of Florence UNQUALIFIED63Elwin Sharvill
1026Nicolas E SchemmerRussia2024-06-17Rousseaux, Michael Esq NEGOTIATION94Bernardo Dominic
1027Francesco D ChuiBrazil2024-06-09Truhlar And Truhlar Attys QUALIFIED54Elwin Sharvill
1028Wickens P MacleadJapan2024-06-17Benton, John B Jr QUALIFIED82Asiya Javayant
1029Octavia X CaudyCanada2024-06-04King, Christopher A Esq PROPOSAL75Xuxue Feng
1030Misaki O GauchoGermany2024-05-28Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1031Alejandro C SaylorsRussia2024-06-10Commercial Press QUALIFIED87Ivan Magalhaes
1032Misaki Z BowleyGermany2024-06-11Morlong Associates NEGOTIATION87Stephen Shaw
1033Aika K WhobreyIndia2024-06-16Commercial Press PROPOSAL33Bernardo Dominic
1034Emily Y InouyeUnited Kingdom2024-05-30Morlong Associates QUALIFIED0Asiya Javayant
1035Emily U BologniaBrazil2024-06-17Printing Dimensions NEGOTIATION96Stephen Shaw
1036Jennifer X WhobreyFrance2024-05-24Morlong Associates RENEWAL2Onyama Limba
1037Cody D DarakjyItaly2024-05-31Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1038Emily G ChuiSpain2024-05-23Chapman, Ross E Esq NEGOTIATION5Bernardo Dominic
1039Leja A PoquetteAustralia2024-06-13Commercial Press NEW13Ivan Magalhaes
1040Stacey J RimAustralia2024-06-02King, Christopher A Esq RENEWAL5Ivan Magalhaes
1041Deepesh K MaletArgentina2024-06-01Morlong Associates QUALIFIED88Xuxue Feng
1042Aditya X BologniaIndia2024-06-12Truhlar And Truhlar Attys NEGOTIATION37Elwin Sharvill
1043Rodrigues T MorascaFrance2024-05-29Truhlar And Truhlar Attys NEW17Elwin Sharvill
1044Aika B OstroskySpain2024-05-22Chanay, Jeffrey A Esq NEGOTIATION81Ivan Magalhaes
1045Leja L WhobreyGermany2024-05-31Printing Dimensions RENEWAL52Ivan Magalhaes
1046Jones H BowleyAustralia2024-05-26Feiner Bros PROPOSAL20Onyama Limba
1047Munro R BriddickCanada2024-05-24Feiner Bros QUALIFIED43Amy Elsner
1048Rodrigues Z SergiFrance2024-06-04Feiner Bros QUALIFIED19Stephen Shaw
1049Costa O MarrierAustralia2024-05-19Feiner Bros RENEWAL66Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Cody Q KolmetzArgentinaBernardo Dominic UNQUALIFIED
Octavia J FlosiJapanStephen Shaw PROPOSAL
Silvio I PoquetteArgentinaOnyama Limba RENEWAL
Tony P TollnerRussiaIvan Magalhaes QUALIFIED
Emily M BriddickBrazilAsiya Javayant NEW
Jennifer B SergiBrazilAmy Elsner QUALIFIED
Misaki Z MorascaAustraliaAnna Fali QUALIFIED
Leja O SergiIndiaAsiya Javayant UNQUALIFIED
Chavez G PaprockiIndiaStephen Shaw NEGOTIATION
Antonio E MorascaAustraliaXuxue Feng NEW
Ricardo P PaprockiJapanXuxue Feng NEGOTIATION
Alejandro C DarakjyFranceIvan Magalhaes NEW
Kaitlin B KuskoRussiaOnyama Limba QUALIFIED
Antonio T DilliardBrazilIvan Magalhaes RENEWAL
Ashley D DilliardItalyXuxue Feng NEW
Greenwood U VocelkaJapanIoni Bowcher QUALIFIED
Kaitlin D RoysterCanadaXuxue Feng PROPOSAL
Deepesh G PerinSpainAnna Fali NEGOTIATION
Smith A GauchoCanadaStephen Shaw UNQUALIFIED
Juan V OstroskyItalyXuxue Feng NEGOTIATION
Chavez U StensethArgentinaXuxue Feng NEW
Jeanfrancois F ButtSpainElwin Sharvill NEGOTIATION
Claire G ChuiCanadaAnna Fali PROPOSAL
Greenwood L ShinkoJapanBernardo Dominic RENEWAL
Misaki I FigeroaArgentinaBernardo Dominic UNQUALIFIED
Mayumi L FlosiUnited KingdomOnyama Limba QUALIFIED
Adams V GarufiItalyBernardo Dominic NEGOTIATION
Greenwood Y WaycottArgentinaAsiya Javayant NEGOTIATION
Kaitlin R SergiFranceAmy Elsner PROPOSAL
Octavia E GlickSpainOnyama Limba PROPOSAL
Faith P MacleadJapanAsiya Javayant UNQUALIFIED
Misaki T GillianJapanAsiya Javayant PROPOSAL
Aditya C ButtArgentinaIoni Bowcher NEW
Aika D WhobreyBrazilXuxue Feng PROPOSAL
Aruna J RimSpainIvan Magalhaes PROPOSAL
Maisha Y FerenczCanadaXuxue Feng QUALIFIED
Emily W InouyeGermanyBernardo Dominic UNQUALIFIED
Adams I PoquetteArgentinaXuxue Feng QUALIFIED
Adams E VocelkaCanadaAnna Fali NEGOTIATION
Octavia Q CaudyCanadaIoni Bowcher UNQUALIFIED
Isabel C FlosiUnited KingdomAnna Fali RENEWAL
Murillo T FlosiItalyStephen Shaw NEW
Mujtaba V SergiItalyAnna Fali UNQUALIFIED
Morrow H PerinAustraliaElwin Sharvill RENEWAL
Cody U FlosiUnited KingdomIoni Bowcher NEW
Costa P NestleCanadaElwin Sharvill UNQUALIFIED
Stacey B RutaCanadaAnna Fali RENEWAL
David N OldroydRussiaOnyama Limba QUALIFIED
Jeanfrancois N FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco T FollerFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Johnson Y Tollner
Silvio H Inouye
Juan U Saylors
Aika J Slusarski
Maisha F Gaucho
Morrow J Bowley
Mujtaba U Kolmetz
Aika Q Rulapaugh
Jefferson U Caldarera
Alejandro Z Ferencz
Maisha F Garufi
Salvatore S Kusko
Johnson G Poquette
Izzy H Garufi
Aditya G Gillian
Ivar W Nestle
Adams V Whobrey
Rodrigues O Sergi
Jones D Nestle
David R Malet
Salvatore B Caldarera
Jennifer I Garufi
Costa S Kolmetz
Costa J Glick
Jones V Slusarski
Costa M Tollner
Wickens M Sergi
Costa V Maclead
Mujtaba Z Poquette
Antonio M Ferencz
Claire Z Malet
Ivar L Chui
Aditya U Flosi
Cody Z Paprocki
Chavez Y Shinko
Costa H Chui
Adams G Iturbide
Julie O Nestle
Munro T Amigon
Nicolas D Nestle
Silvio N Gaucho
Jeanfrancois A Saylors
Adams G Poquette
Jennifer V Kolmetz
Octavia M Saylors
Jennifer S Amigon
Nicolas W Dilliard
Darci C Figeroa
Jones F Caldarera
Silvio U Venere
IdCountryDate
1000Argentina2024-05-24
1001Germany2024-06-07
1002Germany2024-06-09
1003Russia2024-05-21
1004Spain2024-05-29
1005Russia2024-05-31
1006Argentina2024-05-26
1007Spain2024-05-19
1008Japan2024-06-12
1009France2024-06-13
1010Argentina2024-06-13
1011Spain2024-05-19
1012Italy2024-06-12
1013India2024-06-02
1014Australia2024-06-05
1015Brazil2024-05-22
1016Italy2024-06-08
1017Russia2024-06-01
1018United Kingdom2024-06-02
1019Japan2024-05-29
1020Argentina2024-06-11
1021India2024-06-09
1022Italy2024-05-24
1023Spain2024-06-07
1024Germany2024-05-21
1025Australia2024-05-30
1026France2024-05-21
1027Australia2024-06-08
1028Australia2024-06-04
1029Germany2024-06-16
1030United Kingdom2024-06-12
1031Australia2024-06-06
1032Japan2024-05-30
1033Japan2024-05-20
1034Brazil2024-06-08
1035India2024-05-23
1036Spain2024-06-06
1037United Kingdom2024-06-07
1038Brazil2024-05-25
1039France2024-06-09
1040Brazil2024-06-05
1041Brazil2024-06-08
1042India2024-06-07
1043Australia2024-06-04
1044Germany2024-05-30
1045Brazil2024-06-10
1046Spain2024-05-22
1047Russia2024-06-03
1048Germany2024-05-26
1049Italy2024-05-25

On-Demand Data

NameIdCountryDate
Ricardo N Figeroa1000Canada2024-05-30
Johnson B Stenseth1001Russia2024-05-26
Juan X Shinko1002Italy2024-06-07
Mayumi N Albares1003Argentina2024-06-03
Leja V Stenseth1004Canada2024-06-01
Juan Y Garufi1005Germany2024-05-21
Kadeem Q Sergi1006Canada2024-06-17
Isabel W Morasca1007Brazil2024-05-21
Ricardo Q Campain1008France2024-05-25
Greenwood L Kusko1009Argentina2024-05-26
Antonio H Paprocki1010Spain2024-05-30
Greenwood Z Caldarera1011Spain2024-06-05
Deepesh D Rim1012Spain2024-06-04
Ivar K Chui1013Argentina2024-05-20
James F Venere1014Spain2024-05-30
Francesco Y Shinko1015Brazil2024-05-29
Darci G Shinko1016United Kingdom2024-06-08
Jones F Figeroa1017Canada2024-06-01
Wickens G Ruta1018Russia2024-06-02
Costa H Chui1019Germany2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire N MaletArgentinaAsiya Javayant RENEWAL
David G CampainArgentinaAnna Fali QUALIFIED
Wickens B GauchoIndiaAnna Fali NEW
Costa V FlosiBrazilBernardo Dominic RENEWAL
Misaki U GauchoUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba H FollerArgentinaAmy Elsner UNQUALIFIED
Misaki G MorascaItalyXuxue Feng NEW
Clifford F VenereBrazilAsiya Javayant RENEWAL
Sinclair A CaldareraRussiaStephen Shaw NEGOTIATION
Antonio K FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Aika F RimFranceAsiya Javayant UNQUALIFIED
Munro B FigeroaCanadaAmy Elsner QUALIFIED
Leja O InouyeArgentinaStephen Shaw PROPOSAL
Jeanfrancois I StensethCanadaIvan Magalhaes QUALIFIED
Johnson R FigeroaJapanOnyama Limba NEGOTIATION
Cody E RutaUnited KingdomIoni Bowcher NEW
Alejandro O DilliardRussiaIoni Bowcher NEGOTIATION
Sinclair O RutaAustraliaOnyama Limba UNQUALIFIED
Leja J SaylorsGermanyAsiya Javayant UNQUALIFIED
Munro E GlickIndiaOnyama Limba NEW
Silvio Z CaudyJapanStephen Shaw UNQUALIFIED
Stacey F InouyeGermanyIoni Bowcher NEGOTIATION
Faith Y StockhamSpainAsiya Javayant NEW
Tony T FigeroaUnited KingdomAnna Fali PROPOSAL
Juan X CampainCanadaBernardo Dominic NEGOTIATION
Julie B IturbideArgentinaOnyama Limba RENEWAL
Aditya U RulapaughItalyAnna Fali QUALIFIED
Morrow J IturbideGermanyXuxue Feng RENEWAL
Kaitlin W AmigonIndiaIoni Bowcher UNQUALIFIED
Juan H AmigonArgentinaBernardo Dominic RENEWAL
Jones T DarakjyCanadaAsiya Javayant NEGOTIATION
James G VenereGermanyOnyama Limba NEGOTIATION
Aika J StensethSpainBernardo Dominic RENEWAL
Wickens U NickaCanadaStephen Shaw RENEWAL
Claire R WhobreyBrazilXuxue Feng NEW
Salvatore V OstroskyCanadaOnyama Limba RENEWAL
Juan F ChuiIndiaElwin Sharvill RENEWAL
Aruna W WhobreyItalyIvan Magalhaes NEW
Costa Q MorascaFranceStephen Shaw UNQUALIFIED
Salvatore I OldroydRussiaXuxue Feng RENEWAL

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