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
Cody P PaprockiBrazilAsiya Javayant NEW
Adams Q ChuiAustraliaBernardo Dominic RENEWAL
Jefferson L KuskoFranceBernardo Dominic QUALIFIED
Greenwood T PerinAustraliaElwin Sharvill PROPOSAL
Francesco W AlbaresGermanyStephen Shaw NEGOTIATION
Leon D OldroydAustraliaElwin Sharvill UNQUALIFIED
David T TollnerUnited KingdomBernardo Dominic NEGOTIATION
Juan L RimSpainIvan Magalhaes UNQUALIFIED
Stacey M IturbideUnited KingdomOnyama Limba QUALIFIED
Silvio H MaletIndiaAsiya Javayant NEGOTIATION
Jeanfrancois A NickaSpainAmy Elsner QUALIFIED
Cody H TollnerGermanyAsiya Javayant PROPOSAL
David V KolmetzGermanyAnna Fali NEGOTIATION
Jefferson W PaprockiUnited KingdomAnna Fali NEW
Mayumi U WaycottArgentinaXuxue Feng PROPOSAL
Munro X FigeroaSpainAnna Fali QUALIFIED
Claire J MaletUnited KingdomElwin Sharvill QUALIFIED
Jones P MorascaArgentinaXuxue Feng NEW
Aditya J StensethCanadaAmy Elsner QUALIFIED
Nicolas X OldroydAustraliaElwin Sharvill NEGOTIATION
Octavia X ChuiAustraliaStephen Shaw PROPOSAL
Kaitlin Z FollerArgentinaXuxue Feng PROPOSAL
Sinclair G SchemmerCanadaOnyama Limba UNQUALIFIED
Kaitlin S WieserGermanyStephen Shaw RENEWAL
Wickens V AlbaresJapanAsiya Javayant NEW
Julie U VenereAustraliaIoni Bowcher NEW
Francesco N ShinkoGermanyStephen Shaw NEGOTIATION
Morrow J MacleadGermanyIvan Magalhaes RENEWAL
Alejandro E DarakjyArgentinaOnyama Limba PROPOSAL
Sinclair K CaldareraUnited KingdomAmy Elsner PROPOSAL
Ashley M CaldareraArgentinaIoni Bowcher RENEWAL
Aditya G GlickBrazilStephen Shaw NEGOTIATION
Leja R FerenczAustraliaXuxue Feng QUALIFIED
Faith R AlbaresRussiaIvan Magalhaes PROPOSAL
Costa X MorascaFranceAnna Fali RENEWAL
Ricardo W WhobreyItalyBernardo Dominic UNQUALIFIED
James D GlickGermanyBernardo Dominic UNQUALIFIED
Octavia J PerinIndiaStephen Shaw PROPOSAL
Arvin X CaldareraItalyOnyama Limba NEGOTIATION
Wickens G WaycottJapanIvan Magalhaes QUALIFIED
Silvio Y ChuiIndiaBernardo Dominic PROPOSAL
Stacey D SergiArgentinaIvan Magalhaes NEGOTIATION
Chavez P GauchoUnited KingdomIvan Magalhaes PROPOSAL
Darci H WhobreyRussiaIvan Magalhaes QUALIFIED
Juan B MarrierRussiaAsiya Javayant NEGOTIATION
Munro V PoquetteBrazilBernardo Dominic QUALIFIED
Leon N BowleySpainBernardo Dominic UNQUALIFIED
Faith L StockhamItalyStephen Shaw NEW
Clifford U ButtUnited KingdomXuxue Feng QUALIFIED
Faith M FerenczUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Juan H FigeroaGermanyOnyama Limba NEW
Leja F RimCanadaIoni Bowcher PROPOSAL
Jennifer T PerinRussiaStephen Shaw UNQUALIFIED
Smith R FlosiJapanElwin Sharvill NEGOTIATION
Isabel E PerinItalyAsiya Javayant NEGOTIATION
Wickens Z BowleyFranceBernardo Dominic RENEWAL
Stacey N ChuiJapanAsiya Javayant NEW
Smith T ChuiRussiaBernardo Dominic UNQUALIFIED
Cody P SergiItalyBernardo Dominic PROPOSAL
Clifford C SchemmerIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David I FlosiCanada2026-08-25Commercial Press UNQUALIFIED32Amy Elsner
1001Clifford R PaprockiJapan2026-08-04Chanay, Jeffrey A Esq UNQUALIFIED86Xuxue Feng
1002Julie Y RoysterGermany2026-08-06Chanay, Jeffrey A Esq NEW88Xuxue Feng
1003Juan C WieserItaly2026-08-26Rousseaux, Michael Esq PROPOSAL40Stephen Shaw
1004Darci H BriddickAustralia2026-08-15Truhlar And Truhlar Attys PROPOSAL81Amy Elsner
1005Francesco Y FerenczAustralia2026-08-19Rangoni Of Florence NEW76Amy Elsner
1006Murillo H GillianUnited Kingdom2026-08-16Chapman, Ross E Esq QUALIFIED44Ioni Bowcher
1007Sinclair R PoquetteAustralia2026-07-29Dorl, James J Esq NEGOTIATION83Stephen Shaw
1008Greenwood J GauchoCanada2026-08-25Chanay, Jeffrey A Esq PROPOSAL73Ivan Magalhaes
1009Morrow A FigeroaArgentina2026-08-03Commercial Press QUALIFIED52Amy Elsner
1010Salvatore S DoeCanada2026-08-25Buckley Miller Wright PROPOSAL14Onyama Limba
1011Jefferson Q FlosiAustralia2026-08-26King, Christopher A Esq UNQUALIFIED18Bernardo Dominic
1012Silvio N NickaCanada2026-08-01Buckley Miller Wright NEW38Onyama Limba
1013Silvio I MorascaCanada2026-08-20Rousseaux, Michael Esq PROPOSAL66Asiya Javayant
1014Ricardo H DilliardArgentina2026-08-25Feltz Printing Service NEW88Asiya Javayant
1015Arvin Y DoeAustralia2026-08-26Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1016Kadeem I SlusarskiItaly2026-08-02Feiner Bros NEGOTIATION8Xuxue Feng
1017Johnson D StensethUnited Kingdom2026-08-14Rousseaux, Michael Esq UNQUALIFIED29Stephen Shaw
1018Darci B RimUnited Kingdom2026-08-08Dorl, James J Esq NEW76Bernardo Dominic
1019Kadeem S MorascaArgentina2026-08-09Rousseaux, Michael Esq QUALIFIED33Bernardo Dominic
1020Faith K InouyeBrazil2026-08-03Feltz Printing Service NEW31Xuxue Feng
1021Stacey C GauchoIndia2026-08-16Rousseaux, Michael Esq NEW2Xuxue Feng
1022Claire F GlickArgentina2026-08-08Morlong Associates RENEWAL88Anna Fali
1023Clifford Z WieserArgentina2026-08-15Feiner Bros QUALIFIED10Elwin Sharvill
1024Aruna R WaycottBrazil2026-08-09Printing Dimensions QUALIFIED2Ivan Magalhaes
1025Smith L BowleyIndia2026-08-18Printing Dimensions NEGOTIATION86Elwin Sharvill
1026Faith B OstroskySpain2026-08-04Benton, John B Jr NEGOTIATION57Asiya Javayant
1027Jeanfrancois M FerenczIndia2026-07-31Morlong Associates NEW78Ivan Magalhaes
1028Aika Q DarakjyItaly2026-07-29Feltz Printing Service PROPOSAL24Bernardo Dominic
1029Aika M OldroydSpain2026-08-15Rousseaux, Michael Esq UNQUALIFIED5Xuxue Feng
1030Nicolas W RimFrance2026-08-05Rangoni Of Florence UNQUALIFIED71Anna Fali
1031Emily R GarufiGermany2026-08-02Feiner Bros QUALIFIED76Ivan Magalhaes
1032Aruna Q RutaCanada2026-08-16Chapman, Ross E Esq NEW89Amy Elsner
1033Murillo S CaudyRussia2026-08-25Commercial Press PROPOSAL71Bernardo Dominic
1034Jones G StockhamUnited Kingdom2026-08-20Printing Dimensions RENEWAL60Onyama Limba
1035Jennifer Q PoquetteJapan2026-08-09Rangoni Of Florence UNQUALIFIED86Stephen Shaw
1036Jeanfrancois S WieserRussia2026-08-03Dorl, James J Esq UNQUALIFIED38Amy Elsner
1037Jeanfrancois I CaldareraBrazil2026-08-25Truhlar And Truhlar Attys QUALIFIED55Bernardo Dominic
1038Deepesh V GillianIndia2026-08-10Feltz Printing Service NEGOTIATION88Bernardo Dominic
1039Mujtaba N NestleUnited Kingdom2026-08-12Benton, John B Jr PROPOSAL84Stephen Shaw
1040Misaki D WieserSpain2026-08-02Chanay, Jeffrey A Esq QUALIFIED82Amy Elsner
1041Maisha B DarakjyIndia2026-08-18Chanay, Jeffrey A Esq NEW81Ivan Magalhaes
1042Juan S CaudySpain2026-08-11Buckley Miller Wright RENEWAL45Stephen Shaw
1043Aditya L BowleyFrance2026-08-09Commercial Press RENEWAL65Onyama Limba
1044Smith N MacleadArgentina2026-07-31Morlong Associates UNQUALIFIED28Amy Elsner
1045Smith K MorascaCanada2026-08-04Feltz Printing Service UNQUALIFIED33Bernardo Dominic
1046Jones J GauchoArgentina2026-07-31Commercial Press RENEWAL34Ioni Bowcher
1047Ashley A PerinItaly2026-08-23Chemel, James L Cpa NEW34Xuxue Feng
1048Chavez H TollnerFrance2026-08-22Dorl, James J Esq UNQUALIFIED49Elwin Sharvill
1049Octavia N MaletItaly2026-07-31Printing Dimensions PROPOSAL81Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith L VocelkaRussiaOnyama Limba RENEWAL
Murillo G WieserJapanXuxue Feng QUALIFIED
Johnson R MaletArgentinaOnyama Limba RENEWAL
Aditya G PaprockiGermanyAsiya Javayant NEW
Francesco Q RimUnited KingdomElwin Sharvill QUALIFIED
Claire G PaprockiArgentinaIoni Bowcher UNQUALIFIED
Ashley C GillianUnited KingdomIoni Bowcher UNQUALIFIED
Leon W MorascaBrazilBernardo Dominic QUALIFIED
Maisha L KolmetzRussiaIvan Magalhaes NEGOTIATION
Aditya E NickaItalyAmy Elsner PROPOSAL
Julie V ButtJapanAsiya Javayant QUALIFIED
Emily M DilliardCanadaElwin Sharvill UNQUALIFIED
Deepesh Z GlickUnited KingdomAsiya Javayant NEW
Wickens C ButtRussiaIvan Magalhaes NEW
Deepesh U CaldareraGermanyOnyama Limba RENEWAL
Maisha K MaletRussiaIvan Magalhaes NEGOTIATION
Izzy M AlbaresBrazilIvan Magalhaes UNQUALIFIED
Izzy G DarakjyArgentinaIoni Bowcher UNQUALIFIED
Salvatore P CaudyUnited KingdomElwin Sharvill QUALIFIED
Chavez C IturbideJapanIvan Magalhaes PROPOSAL
Misaki T MorascaBrazilIvan Magalhaes NEGOTIATION
Munro O StockhamArgentinaStephen Shaw RENEWAL
David Q GauchoItalyIvan Magalhaes RENEWAL
Ashley O CaldareraCanadaStephen Shaw UNQUALIFIED
Munro D TollnerFranceOnyama Limba NEW
Maria M KolmetzUnited KingdomElwin Sharvill PROPOSAL
Salvatore L VenereSpainIvan Magalhaes RENEWAL
Stacey Y BologniaIndiaAnna Fali PROPOSAL
Costa Q MacleadBrazilIoni Bowcher NEGOTIATION
Ivar P PaprockiGermanyAsiya Javayant QUALIFIED
Munro J StensethUnited KingdomBernardo Dominic NEW
Tony V VenereAustraliaStephen Shaw UNQUALIFIED
James B NestleSpainIvan Magalhaes PROPOSAL
Costa S MacleadSpainXuxue Feng NEW
Octavia H GillianRussiaAmy Elsner RENEWAL
Darci V WaycottCanadaStephen Shaw RENEWAL
Faith W VenereJapanAmy Elsner NEW
Misaki B PerinAustraliaXuxue Feng RENEWAL
Aika A StensethIndiaAsiya Javayant RENEWAL
Misaki J ButtRussiaAmy Elsner PROPOSAL
Deepesh W SlusarskiAustraliaAnna Fali UNQUALIFIED
Clifford C ButtSpainBernardo Dominic NEW
Jennifer Y ButtFranceAnna Fali NEGOTIATION
Isabel V MorascaIndiaOnyama Limba PROPOSAL
Johnson C GlickIndiaAnna Fali RENEWAL
Johnson P IturbideCanadaIvan Magalhaes NEGOTIATION
Jefferson Z DilliardCanadaAmy Elsner NEGOTIATION
Leja E VocelkaRussiaOnyama Limba PROPOSAL
Stacey C FigeroaUnited KingdomAsiya Javayant QUALIFIED
Adams M ButtCanadaIoni Bowcher RENEWAL
Frozen Columns
Name
Isabel I Ruta
Aika S Darakjy
Greenwood T Rim
Emily A Dilliard
Deepesh Y Waycott
Leja N Stenseth
Julie A Ostrosky
Aruna W Kusko
Tony Y Slusarski
Aditya L Foller
Sinclair R Marrier
Tony O Oldroyd
Mujtaba G Bolognia
Aruna X Garufi
Juan R Flosi
Ricardo N Vocelka
Murillo K Paprocki
Tony B Poquette
Alejandro Z Perin
Izzy D Schemmer
Maria W Stockham
Misaki P Figeroa
Chavez Z Iturbide
Leon T Shinko
Silvio G Waycott
Mayumi Q Albares
Kadeem O Malet
Arvin T Shinko
James E Sergi
Mayumi H Maclead
Cody V Nestle
Kaitlin Z Ferencz
Ashley Z Ostrosky
Kadeem S Amigon
Emily N Morasca
Misaki W Doe
Ashley J Waycott
Jeanfrancois Q Ostrosky
Sinclair N Oldroyd
Silvio N Glick
Antonio A Malet
David F Garufi
Smith E Shinko
Faith J Garufi
Izzy F Schemmer
Costa M Sergi
Greenwood Q Caldarera
Greenwood S Campain
Izzy F Poquette
Aika Z Figeroa
IdCountryDate
1000Spain2026-08-26
1001United Kingdom2026-08-20
1002France2026-08-11
1003Brazil2026-08-27
1004United Kingdom2026-08-08
1005Argentina2026-08-09
1006Germany2026-08-10
1007Russia2026-07-30
1008Argentina2026-08-08
1009Canada2026-08-24
1010United Kingdom2026-08-13
1011Italy2026-08-12
1012Spain2026-07-30
1013Australia2026-08-14
1014Spain2026-08-21
1015Brazil2026-08-05
1016Germany2026-08-22
1017Argentina2026-08-09
1018Brazil2026-08-26
1019Australia2026-08-01
1020France2026-08-27
1021Brazil2026-08-25
1022Spain2026-08-05
1023Canada2026-08-05
1024Italy2026-08-20
1025India2026-08-11
1026India2026-08-24
1027Canada2026-08-24
1028Australia2026-08-08
1029Argentina2026-07-31
1030Germany2026-07-30
1031Canada2026-08-05
1032Germany2026-08-12
1033Italy2026-07-31
1034Brazil2026-08-21
1035United Kingdom2026-08-11
1036France2026-08-04
1037Italy2026-07-29
1038Russia2026-08-03
1039United Kingdom2026-08-11
1040Japan2026-08-05
1041India2026-08-12
1042Australia2026-07-30
1043France2026-08-26
1044Spain2026-08-12
1045Italy2026-08-17
1046India2026-08-07
1047Germany2026-08-21
1048Russia2026-08-05
1049Australia2026-08-21

On-Demand Data

NameIdCountryDate
Arvin P Malet1000United Kingdom2026-08-25
Munro K Kolmetz1001France2026-08-03
Greenwood R Chui1002Spain2026-08-11
Mayumi L Royster1003Germany2026-08-17
Antonio X Foller1004United Kingdom2026-08-15
Leja N Bolognia1005Russia2026-08-05
Salvatore M Amigon1006France2026-08-10
Salvatore T Maclead1007India2026-08-19
Faith N Malet1008Spain2026-08-05
Izzy X Campain1009United Kingdom2026-08-14
Juan Q Butt1010Japan2026-08-03
Ivar Z Sergi1011Russia2026-08-20
Silvio C Schemmer1012United Kingdom2026-08-16
Mayumi B Malet1013Japan2026-08-22
Ivar N Maclead1014India2026-08-21
Jeanfrancois H Foller1015Japan2026-07-30
Costa R Royster1016Italy2026-08-22
Ivar H Doe1017Italy2026-08-14
Aditya J Wieser1018Australia2026-08-16
Isabel R Waycott1019Japan2026-08-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Z MarrierCanadaXuxue Feng NEW
Leon H RoysterArgentinaBernardo Dominic PROPOSAL
Smith F CaudyGermanyXuxue Feng RENEWAL
Isabel V RulapaughIndiaOnyama Limba NEW
Ricardo R ChuiFranceAsiya Javayant PROPOSAL
Aruna J TollnerCanadaIvan Magalhaes UNQUALIFIED
Murillo H MaletGermanyIoni Bowcher NEW
Greenwood V SchemmerArgentinaIvan Magalhaes RENEWAL
Isabel K DarakjyCanadaIoni Bowcher UNQUALIFIED
Rodrigues P FigeroaRussiaAmy Elsner RENEWAL
Rodrigues Q MaletAustraliaBernardo Dominic NEGOTIATION
Mayumi G DoeFranceXuxue Feng PROPOSAL
Darci T GillianCanadaElwin Sharvill UNQUALIFIED
Adams G AlbaresRussiaAmy Elsner NEW
Leja E IturbideAustraliaIvan Magalhaes QUALIFIED
Misaki Z FerenczRussiaElwin Sharvill UNQUALIFIED
Francesco G SergiRussiaXuxue Feng NEW
Rodrigues S CampainArgentinaElwin Sharvill PROPOSAL
Darci S ChuiRussiaOnyama Limba UNQUALIFIED
Silvio N AmigonCanadaStephen Shaw NEW
Octavia U FollerCanadaIoni Bowcher UNQUALIFIED
Cody F GillianIndiaStephen Shaw NEW
Leja W VenereBrazilStephen Shaw UNQUALIFIED
Antonio I MorascaIndiaIvan Magalhaes RENEWAL
Maria R GauchoItalyOnyama Limba RENEWAL
Ivar H WhobreyIndiaIoni Bowcher UNQUALIFIED
Aruna E KuskoSpainElwin Sharvill PROPOSAL
Jones W RimAustraliaAmy Elsner UNQUALIFIED
Adams E PoquetteFranceElwin Sharvill NEGOTIATION
Clifford U GarufiJapanXuxue Feng UNQUALIFIED
Maria L DoeFranceElwin Sharvill RENEWAL
Smith D DarakjyCanadaAnna Fali NEGOTIATION
Cody B PerinCanadaOnyama Limba NEGOTIATION
Aruna K DarakjyBrazilAsiya Javayant RENEWAL
Mujtaba O GauchoIndiaStephen Shaw NEGOTIATION
Rodrigues I GauchoFranceXuxue Feng UNQUALIFIED
Aditya G RoysterFranceIvan Magalhaes NEW
David D PerinJapanAsiya Javayant RENEWAL
David K CampainFranceElwin Sharvill PROPOSAL
Maria O OldroydGermanyXuxue Feng PROPOSAL

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