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
Jennifer K CampainSpainAsiya Javayant PROPOSAL
Rodrigues H CaudyIndiaAmy Elsner QUALIFIED
Maisha Q CaudyRussiaOnyama Limba PROPOSAL
Greenwood I MarrierSpainAmy Elsner UNQUALIFIED
Jones C SlusarskiAustraliaStephen Shaw PROPOSAL
Jennifer Y GauchoSpainIvan Magalhaes NEW
Morrow J AmigonAustraliaElwin Sharvill NEGOTIATION
Clifford G MorascaUnited KingdomStephen Shaw NEW
Ashley J FlosiRussiaIoni Bowcher RENEWAL
Claire Q MacleadRussiaIvan Magalhaes QUALIFIED
Francesco T VocelkaGermanyAnna Fali NEGOTIATION
Francesco U StockhamCanadaAnna Fali NEW
Jeanfrancois Q PerinAustraliaIvan Magalhaes PROPOSAL
Isabel J MaletBrazilXuxue Feng NEGOTIATION
Maria Z VocelkaSpainIvan Magalhaes NEW
Tony K PaprockiItalyAmy Elsner RENEWAL
Chavez I NestleUnited KingdomOnyama Limba QUALIFIED
Ivar Y CaldareraArgentinaElwin Sharvill NEGOTIATION
Alejandro B DilliardIndiaBernardo Dominic NEGOTIATION
Leon H IturbideBrazilIvan Magalhaes NEW
Darci F FollerSpainXuxue Feng QUALIFIED
Leon Z BologniaIndiaAsiya Javayant PROPOSAL
Ricardo Q FigeroaItalyAsiya Javayant PROPOSAL
Costa I RimItalyAnna Fali RENEWAL
Jennifer H MaletFranceAsiya Javayant UNQUALIFIED
Ivar Y DilliardGermanyAsiya Javayant QUALIFIED
Adams N KuskoBrazilOnyama Limba QUALIFIED
James F RoysterGermanyAnna Fali RENEWAL
Munro Z MarrierRussiaBernardo Dominic RENEWAL
Silvio N RoysterArgentinaStephen Shaw UNQUALIFIED
Deepesh O WieserFranceOnyama Limba NEGOTIATION
Arvin Q DilliardItalyIvan Magalhaes RENEWAL
Mujtaba W FerenczJapanStephen Shaw QUALIFIED
Maria W WhobreyArgentinaIvan Magalhaes PROPOSAL
Jennifer M ChuiAustraliaXuxue Feng NEW
Wickens H MaletBrazilIvan Magalhaes NEW
Faith O MarrierJapanStephen Shaw NEW
Julie W FigeroaUnited KingdomBernardo Dominic RENEWAL
Emily Z StensethCanadaStephen Shaw NEGOTIATION
Alejandro K CaudyItalyBernardo Dominic PROPOSAL
Jefferson M MaletUnited KingdomIoni Bowcher NEGOTIATION
Jennifer E MacleadGermanyOnyama Limba PROPOSAL
Aika V RutaGermanyAnna Fali NEGOTIATION
David O CaldareraIndiaBernardo Dominic NEGOTIATION
Silvio O WhobreyGermanyElwin Sharvill NEW
Aditya A BologniaSpainAsiya Javayant UNQUALIFIED
Arvin F SergiBrazilAsiya Javayant NEW
Francesco Z PoquetteUnited KingdomAnna Fali RENEWAL
Morrow R WieserUnited KingdomAnna Fali PROPOSAL
Adams Q StockhamArgentinaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan P IturbideSpainStephen Shaw QUALIFIED
Ivar B WhobreyJapanIvan Magalhaes QUALIFIED
Claire H BowleyGermanyAnna Fali UNQUALIFIED
Nicolas T GauchoRussiaIoni Bowcher NEW
Adams J MorascaGermanyAmy Elsner NEW
Wickens R FerenczSpainXuxue Feng NEGOTIATION
Julie J BologniaCanadaAnna Fali NEGOTIATION
Cody O ButtSpainIvan Magalhaes UNQUALIFIED
Jennifer J GillianUnited KingdomStephen Shaw NEGOTIATION
Octavia B FerenczCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J MarrierItaly2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1001Ivar Z AmigonCanada2024-05-23Buckley Miller Wright UNQUALIFIED1Ioni Bowcher
1002Jeanfrancois I NickaJapan2024-06-21Commercial Press NEGOTIATION36Ioni Bowcher
1003Emily O GarufiJapan2024-06-09Chemel, James L Cpa QUALIFIED24Asiya Javayant
1004Rodrigues K WaycottUnited Kingdom2024-06-14Feltz Printing Service QUALIFIED26Asiya Javayant
1005Maisha X FigeroaRussia2024-06-12Morlong Associates NEW85Asiya Javayant
1006Nicolas N ShinkoSpain2024-06-18Rousseaux, Michael Esq UNQUALIFIED21Ioni Bowcher
1007Jefferson T RutaArgentina2024-06-03Dorl, James J Esq NEGOTIATION84Stephen Shaw
1008Greenwood J RoysterFrance2024-06-16Chanay, Jeffrey A Esq QUALIFIED11Stephen Shaw
1009Antonio M StensethArgentina2024-05-27Truhlar And Truhlar Attys NEW72Bernardo Dominic
1010Julie G WaycottSpain2024-06-19Chanay, Jeffrey A Esq PROPOSAL16Asiya Javayant
1011Tony U BriddickJapan2024-05-23Commercial Press UNQUALIFIED55Elwin Sharvill
1012Misaki V StockhamArgentina2024-06-08Commercial Press RENEWAL94Anna Fali
1013Chavez U SchemmerCanada2024-06-18Feltz Printing Service UNQUALIFIED0Stephen Shaw
1014Wickens U PaprockiRussia2024-05-30Buckley Miller Wright PROPOSAL62Ivan Magalhaes
1015Maisha L NestleUnited Kingdom2024-06-07Chapman, Ross E Esq NEW78Elwin Sharvill
1016Kaitlin F MacleadBrazil2024-06-02Feltz Printing Service QUALIFIED83Xuxue Feng
1017Greenwood O FigeroaAustralia2024-06-07Chemel, James L Cpa RENEWAL29Ioni Bowcher
1018Rodrigues J WieserIndia2024-05-27Feiner Bros PROPOSAL14Onyama Limba
1019Clifford G PaprockiItaly2024-06-15Benton, John B Jr PROPOSAL89Bernardo Dominic
1020Wickens W FigeroaUnited Kingdom2024-06-10Buckley Miller Wright QUALIFIED90Anna Fali
1021Faith K CaldareraJapan2024-06-06Feiner Bros NEW79Bernardo Dominic
1022Smith D TollnerCanada2024-06-08Chemel, James L Cpa QUALIFIED49Ivan Magalhaes
1023Misaki P BologniaArgentina2024-06-15Truhlar And Truhlar Attys QUALIFIED20Bernardo Dominic
1024David I DarakjySpain2024-05-24Feiner Bros RENEWAL17Onyama Limba
1025Emily Y BologniaCanada2024-05-27King, Christopher A Esq PROPOSAL66Amy Elsner
1026Maisha U MarrierItaly2024-06-20Morlong Associates UNQUALIFIED97Onyama Limba
1027Claire V AlbaresAustralia2024-06-03Dorl, James J Esq NEW21Asiya Javayant
1028Ashley G BologniaJapan2024-05-28King, Christopher A Esq UNQUALIFIED91Amy Elsner
1029Kaitlin I WaycottSpain2024-05-28Feiner Bros NEW27Stephen Shaw
1030James X FollerFrance2024-06-05Commercial Press QUALIFIED44Asiya Javayant
1031Faith Y BologniaUnited Kingdom2024-06-02Truhlar And Truhlar Attys RENEWAL22Onyama Limba
1032Cody G FerenczFrance2024-05-27Rousseaux, Michael Esq NEGOTIATION68Anna Fali
1033Julie T KolmetzBrazil2024-06-09Commercial Press NEW59Onyama Limba
1034Aika F RutaCanada2024-06-09Commercial Press PROPOSAL71Asiya Javayant
1035Aika Y FollerItaly2024-06-18Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1036Mayumi X RimItaly2024-06-20Morlong Associates NEGOTIATION83Amy Elsner
1037Arvin V StockhamJapan2024-06-08Dorl, James J Esq UNQUALIFIED6Ioni Bowcher
1038Francesco V RoysterAustralia2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED25Anna Fali
1039Mayumi L MarrierSpain2024-05-28King, Christopher A Esq RENEWAL58Amy Elsner
1040Costa S CaudyAustralia2024-06-16Chemel, James L Cpa NEW47Ioni Bowcher
1041Arvin B MaletAustralia2024-05-26Benton, John B Jr NEGOTIATION66Asiya Javayant
1042Antonio S GillianIndia2024-06-06Buckley Miller Wright NEW61Elwin Sharvill
1043Ricardo N ButtAustralia2024-06-10Chanay, Jeffrey A Esq NEGOTIATION22Ivan Magalhaes
1044Ivar N PaprockiItaly2024-06-18Rousseaux, Michael Esq RENEWAL15Amy Elsner
1045Claire E WhobreyItaly2024-06-03Rousseaux, Michael Esq PROPOSAL69Onyama Limba
1046Leon P RulapaughFrance2024-06-11Rousseaux, Michael Esq NEW83Onyama Limba
1047Jeanfrancois K RulapaughBrazil2024-06-11Chanay, Jeffrey A Esq PROPOSAL65Ioni Bowcher
1048Chavez B SaylorsSpain2024-06-06King, Christopher A Esq NEGOTIATION89Elwin Sharvill
1049Jefferson Z GillianIndia2024-06-02Feltz Printing Service QUALIFIED60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Antonio J AlbaresSpainAsiya Javayant UNQUALIFIED
Greenwood H KolmetzFranceOnyama Limba NEGOTIATION
Johnson Q MarrierArgentinaStephen Shaw PROPOSAL
David I GillianCanadaOnyama Limba NEW
Mayumi M IturbideUnited KingdomOnyama Limba QUALIFIED
Silvio J SlusarskiSpainAmy Elsner RENEWAL
Maisha Q StensethRussiaIoni Bowcher QUALIFIED
Maria D VocelkaItalyIvan Magalhaes RENEWAL
Mayumi S SlusarskiCanadaElwin Sharvill NEGOTIATION
Jennifer D CaudyFranceAnna Fali NEW
Tony S VenereFranceElwin Sharvill NEGOTIATION
Tony O VocelkaFranceStephen Shaw NEW
Salvatore L TollnerIndiaBernardo Dominic NEW
Leon H ShinkoIndiaIoni Bowcher UNQUALIFIED
Arvin H OstroskyFranceElwin Sharvill NEGOTIATION
David Q SlusarskiSpainBernardo Dominic RENEWAL
Aruna S FollerIndiaAsiya Javayant NEW
Rodrigues R MaletRussiaStephen Shaw QUALIFIED
Juan M GarufiItalyAmy Elsner RENEWAL
Cody O StensethAustraliaStephen Shaw NEW
Murillo A NestleUnited KingdomIoni Bowcher NEGOTIATION
Jennifer K GarufiBrazilOnyama Limba PROPOSAL
Kaitlin O IturbideIndiaIoni Bowcher NEGOTIATION
Tony U PerinFranceAsiya Javayant UNQUALIFIED
Sinclair G RutaIndiaIvan Magalhaes NEGOTIATION
Leja M DoeIndiaXuxue Feng QUALIFIED
Costa B WieserSpainXuxue Feng NEW
Aditya V MaletJapanXuxue Feng QUALIFIED
Murillo J FerenczCanadaIvan Magalhaes QUALIFIED
Maria P BriddickUnited KingdomXuxue Feng NEGOTIATION
Nicolas Y BriddickGermanyBernardo Dominic NEGOTIATION
Silvio K MorascaIndiaBernardo Dominic UNQUALIFIED
David J MacleadJapanIoni Bowcher QUALIFIED
Nicolas E NickaSpainStephen Shaw NEW
Claire P DilliardItalyBernardo Dominic PROPOSAL
Octavia Z FerenczSpainAsiya Javayant UNQUALIFIED
Izzy B VocelkaJapanElwin Sharvill RENEWAL
Leon W BriddickArgentinaElwin Sharvill RENEWAL
Isabel Y GauchoAustraliaAsiya Javayant RENEWAL
Greenwood L WaycottAustraliaIvan Magalhaes QUALIFIED
Munro K SlusarskiAustraliaIvan Magalhaes NEW
Juan Q DilliardGermanyXuxue Feng PROPOSAL
Silvio A DilliardGermanyOnyama Limba NEW
Claire W KolmetzCanadaOnyama Limba NEGOTIATION
Aruna T BologniaRussiaAmy Elsner QUALIFIED
Emily A WieserUnited KingdomAmy Elsner RENEWAL
Murillo C FerenczAustraliaOnyama Limba NEGOTIATION
James W MarrierItalyAsiya Javayant QUALIFIED
Jennifer P DoeBrazilElwin Sharvill QUALIFIED
Jennifer B GlickAustraliaOnyama Limba RENEWAL
Frozen Columns
Name
Faith J Waycott
Silvio O Ferencz
Aika X Amigon
Deepesh P Malet
Kadeem X Malet
Izzy G Paprocki
Ricardo K Kolmetz
Alejandro J Stockham
Isabel B Kusko
Murillo K Flosi
Ashley D Malet
Arvin I Kolmetz
Faith L Bolognia
Morrow B Paprocki
Costa X Slusarski
Rodrigues Y Caldarera
Jennifer H Garufi
James A Butt
Sinclair P Perin
Murillo X Shinko
Claire E Darakjy
Izzy I Waycott
Nicolas L Albares
Julie B Waycott
Smith V Stenseth
Alejandro N Ferencz
James N Glick
Salvatore M Iturbide
Sinclair J Malet
Morrow V Wieser
Ashley U Caldarera
Juan S Gaucho
Sinclair J Stenseth
Jennifer M Kusko
Arvin B Poquette
Aruna Z Iturbide
Darci W Flosi
Clifford I Glick
Jeanfrancois D Vocelka
Leja M Venere
Antonio B Dilliard
Stacey O Rulapaugh
Aditya M Flosi
Kaitlin V Gaucho
Misaki S Vocelka
Chavez S Rulapaugh
Adams M Paprocki
Clifford T Rim
Maria B Garufi
Kadeem B Kusko
IdCountryDate
1000Spain2024-06-19
1001Italy2024-05-31
1002Germany2024-06-12
1003Italy2024-06-06
1004United Kingdom2024-06-17
1005Russia2024-06-06
1006Australia2024-06-18
1007Australia2024-05-23
1008Spain2024-06-13
1009Brazil2024-06-02
1010Russia2024-06-17
1011Brazil2024-06-15
1012Argentina2024-06-19
1013Brazil2024-06-12
1014Italy2024-05-26
1015United Kingdom2024-06-11
1016Japan2024-05-23
1017Japan2024-06-17
1018Argentina2024-06-12
1019Russia2024-06-02
1020Canada2024-05-28
1021United Kingdom2024-06-10
1022Germany2024-05-27
1023United Kingdom2024-06-14
1024India2024-06-19
1025Australia2024-05-29
1026Spain2024-06-17
1027Russia2024-06-08
1028Italy2024-06-18
1029Canada2024-06-08
1030Argentina2024-05-31
1031Brazil2024-06-10
1032Argentina2024-06-09
1033Germany2024-06-14
1034Spain2024-06-17
1035France2024-06-11
1036Italy2024-05-30
1037Russia2024-06-02
1038Brazil2024-05-24
1039Germany2024-06-18
1040Brazil2024-06-04
1041France2024-06-13
1042Russia2024-05-27
1043Argentina2024-06-05
1044Argentina2024-06-07
1045India2024-06-05
1046Australia2024-05-31
1047Argentina2024-06-10
1048India2024-05-23
1049United Kingdom2024-05-24

On-Demand Data

NameIdCountryDate
Maisha A Stenseth1000Russia2024-05-26
Nicolas B Nicka1001United Kingdom2024-06-11
Kaitlin U Ostrosky1002Brazil2024-06-12
Wickens X Morasca1003India2024-05-24
Wickens P Whobrey1004Japan2024-06-07
Arvin J Malet1005Germany2024-06-05
Juan T Garufi1006Japan2024-06-07
Aditya S Campain1007Japan2024-06-16
Tony A Ostrosky1008Australia2024-06-10
Jefferson A Bolognia1009Canada2024-06-20
Antonio P Chui1010United Kingdom2024-06-02
Murillo D Oldroyd1011India2024-05-23
Claire U Butt1012Argentina2024-06-13
Arvin W Iturbide1013Russia2024-06-07
Juan S Briddick1014Australia2024-05-23
Smith Y Ruta1015Argentina2024-06-04
Aditya O Inouye1016United Kingdom2024-05-31
David O Caudy1017Japan2024-05-26
Chavez D Perin1018Australia2024-06-14
Smith R Schemmer1019Italy2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley D KolmetzIndiaStephen Shaw PROPOSAL
Julie U RulapaughJapanBernardo Dominic UNQUALIFIED
Clifford L SaylorsBrazilStephen Shaw NEW
Kadeem B PaprockiItalyOnyama Limba NEW
Aditya W RulapaughFranceAnna Fali QUALIFIED
Tony F SlusarskiSpainIoni Bowcher RENEWAL
Stacey P WhobreyBrazilStephen Shaw RENEWAL
Wickens J IturbideGermanyBernardo Dominic NEW
Deepesh T VocelkaSpainOnyama Limba NEW
Claire B WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Izzy Y WaycottRussiaBernardo Dominic QUALIFIED
Deepesh S MaletCanadaIvan Magalhaes UNQUALIFIED
Mayumi D MaletCanadaStephen Shaw RENEWAL
David U DarakjySpainOnyama Limba QUALIFIED
Misaki T MarrierBrazilXuxue Feng NEGOTIATION
Greenwood Y GarufiIndiaOnyama Limba NEGOTIATION
Izzy N RimFranceOnyama Limba QUALIFIED
Aruna X BologniaFranceAmy Elsner UNQUALIFIED
David E VenereFranceBernardo Dominic PROPOSAL
Tony N SchemmerFranceElwin Sharvill NEW
Kadeem U FigeroaJapanAnna Fali QUALIFIED
Tony W VocelkaBrazilIvan Magalhaes NEGOTIATION
Leja G MarrierSpainAnna Fali RENEWAL
Claire V ShinkoBrazilBernardo Dominic RENEWAL
Francesco E MaletArgentinaAnna Fali NEGOTIATION
Emily U BriddickBrazilAsiya Javayant PROPOSAL
Johnson Y IturbideRussiaXuxue Feng QUALIFIED
Octavia I ShinkoBrazilBernardo Dominic RENEWAL
Stacey V SlusarskiArgentinaAnna Fali PROPOSAL
Salvatore J MarrierSpainAmy Elsner RENEWAL
Claire V CaldareraBrazilAsiya Javayant QUALIFIED
Munro Z SchemmerJapanBernardo Dominic RENEWAL
Stacey W PoquetteAustraliaAmy Elsner RENEWAL
Emily N KuskoRussiaOnyama Limba QUALIFIED
Cody S GillianFranceOnyama Limba UNQUALIFIED
Costa G IturbideAustraliaAnna Fali QUALIFIED
Kadeem C PoquetteFranceAnna Fali NEW
Jennifer C RutaFranceStephen Shaw NEGOTIATION
Stacey S NickaArgentinaAmy Elsner NEGOTIATION
Emily F FigeroaGermanyBernardo Dominic 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>