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
Jones S NestleFranceBernardo Dominic PROPOSAL
Sinclair P DoeAustraliaAnna Fali NEGOTIATION
Isabel Y WhobreyCanadaAsiya Javayant NEW
Clifford R NestleAustraliaElwin Sharvill NEGOTIATION
Kaitlin M BriddickUnited KingdomAnna Fali QUALIFIED
Aruna O ShinkoCanadaXuxue Feng QUALIFIED
Chavez Q MaletGermanyOnyama Limba PROPOSAL
Murillo S MaletRussiaIvan Magalhaes QUALIFIED
Aika F MarrierSpainIvan Magalhaes QUALIFIED
Misaki O MacleadJapanOnyama Limba PROPOSAL
Jefferson Y StockhamBrazilIoni Bowcher QUALIFIED
David R MorascaBrazilBernardo Dominic NEGOTIATION
Arvin G WaycottFranceStephen Shaw PROPOSAL
Darci Z CampainArgentinaStephen Shaw QUALIFIED
Emily Z CampainJapanBernardo Dominic QUALIFIED
Greenwood B GarufiBrazilIoni Bowcher UNQUALIFIED
Leon B BologniaGermanyAsiya Javayant RENEWAL
Nicolas W GauchoCanadaStephen Shaw NEGOTIATION
Deepesh P DilliardGermanyAnna Fali NEGOTIATION
Leon U StockhamBrazilStephen Shaw QUALIFIED
Ivar L KuskoJapanIoni Bowcher PROPOSAL
Izzy B NestleJapanXuxue Feng RENEWAL
Tony F GillianSpainBernardo Dominic PROPOSAL
Tony U InouyeItalyXuxue Feng NEGOTIATION
Salvatore M VocelkaIndiaAnna Fali NEW
Ivar Q FlosiIndiaElwin Sharvill RENEWAL
Silvio I ShinkoIndiaAmy Elsner NEW
James X IturbideItalyAnna Fali QUALIFIED
Costa I NickaCanadaOnyama Limba QUALIFIED
Juan B GillianIndiaAmy Elsner UNQUALIFIED
Nicolas G FlosiCanadaBernardo Dominic PROPOSAL
Octavia R AlbaresSpainOnyama Limba UNQUALIFIED
Chavez B KuskoArgentinaBernardo Dominic NEGOTIATION
Ricardo D FollerJapanXuxue Feng UNQUALIFIED
Tony Z WieserGermanyAsiya Javayant QUALIFIED
Jones J KuskoIndiaElwin Sharvill PROPOSAL
Faith Q CaudyIndiaElwin Sharvill NEGOTIATION
Kadeem I VenereBrazilXuxue Feng PROPOSAL
Alejandro Y CaudyJapanOnyama Limba UNQUALIFIED
Greenwood K PerinRussiaAmy Elsner RENEWAL
Maisha A RutaFranceStephen Shaw NEW
Darci O RimGermanyIoni Bowcher UNQUALIFIED
Cody E RoysterUnited KingdomXuxue Feng RENEWAL
Juan A RutaAustraliaXuxue Feng UNQUALIFIED
Nicolas B MorascaAustraliaElwin Sharvill PROPOSAL
Adams F MaletBrazilIoni Bowcher RENEWAL
Ivar X IturbideArgentinaAmy Elsner NEGOTIATION
Faith V CaldareraSpainBernardo Dominic NEGOTIATION
Kaitlin J MorascaItalyStephen Shaw NEW
Antonio J RoysterAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria U OldroydGermanyAsiya Javayant RENEWAL
Chavez R VocelkaItalyAmy Elsner QUALIFIED
Juan U DoeSpainAmy Elsner PROPOSAL
Chavez R RimJapanIvan Magalhaes NEW
Aika P IturbideRussiaAnna Fali QUALIFIED
Francesco J DarakjyAustraliaAsiya Javayant PROPOSAL
Faith Y BowleyItalyBernardo Dominic NEGOTIATION
Morrow N CampainAustraliaStephen Shaw NEGOTIATION
Jefferson Y TollnerAustraliaOnyama Limba UNQUALIFIED
Isabel M AmigonAustraliaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Z FollerGermany2024-05-30Truhlar And Truhlar Attys RENEWAL0Ioni Bowcher
1001Julie N FerenczSpain2024-06-15Printing Dimensions PROPOSAL87Ioni Bowcher
1002Aika S WieserItaly2024-06-15Dorl, James J Esq NEGOTIATION29Asiya Javayant
1003Jones E PoquetteUnited Kingdom2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED58Anna Fali
1004Greenwood W KolmetzGermany2024-05-25Chemel, James L Cpa PROPOSAL97Amy Elsner
1005Isabel H PerinRussia2024-06-04Rangoni Of Florence NEGOTIATION23Amy Elsner
1006Ivar C GlickSpain2024-05-25Truhlar And Truhlar Attys PROPOSAL85Onyama Limba
1007Johnson Y WhobreyCanada2024-06-19Chapman, Ross E Esq RENEWAL40Amy Elsner
1008Alejandro S RulapaughJapan2024-05-29Chemel, James L Cpa PROPOSAL64Bernardo Dominic
1009Julie D BowleyBrazil2024-06-05Chemel, James L Cpa UNQUALIFIED71Xuxue Feng
1010Nicolas Z OldroydArgentina2024-06-16Rangoni Of Florence PROPOSAL65Xuxue Feng
1011Jefferson R ButtJapan2024-06-16Chanay, Jeffrey A Esq NEW85Onyama Limba
1012Wickens K MorascaBrazil2024-06-09King, Christopher A Esq NEW27Ivan Magalhaes
1013Nicolas H WaycottItaly2024-05-25Truhlar And Truhlar Attys QUALIFIED48Amy Elsner
1014Sinclair C MarrierSpain2024-06-11Commercial Press QUALIFIED54Asiya Javayant
1015Isabel W CaldareraItaly2024-06-10Feiner Bros UNQUALIFIED54Elwin Sharvill
1016Morrow V GauchoSpain2024-06-20Feiner Bros RENEWAL64Anna Fali
1017Maisha B CampainArgentina2024-05-26Printing Dimensions QUALIFIED69Ioni Bowcher
1018Costa E FigeroaUnited Kingdom2024-06-11Feiner Bros PROPOSAL7Bernardo Dominic
1019Munro A AlbaresItaly2024-06-17Rousseaux, Michael Esq RENEWAL6Ioni Bowcher
1020Juan H TollnerRussia2024-06-05Feltz Printing Service NEW75Asiya Javayant
1021Ivar Z SlusarskiCanada2024-06-14Rousseaux, Michael Esq QUALIFIED56Onyama Limba
1022Tony H PaprockiBrazil2024-06-10King, Christopher A Esq NEGOTIATION45Stephen Shaw
1023Greenwood I BologniaItaly2024-06-06Commercial Press NEW59Stephen Shaw
1024Claire P AlbaresCanada2024-05-25Dorl, James J Esq RENEWAL58Bernardo Dominic
1025Ivar L CaudyCanada2024-06-01Chemel, James L Cpa PROPOSAL27Amy Elsner
1026Octavia E BriddickSpain2024-06-01Chapman, Ross E Esq NEW1Ivan Magalhaes
1027Mujtaba S PerinIndia2024-06-03Buckley Miller Wright QUALIFIED11Xuxue Feng
1028Arvin V OstroskyArgentina2024-05-28Feiner Bros NEW93Onyama Limba
1029Smith P NestleItaly2024-06-09Dorl, James J Esq NEGOTIATION20Onyama Limba
1030James M CaldareraFrance2024-05-27Dorl, James J Esq QUALIFIED4Amy Elsner
1031Francesco I NestleUnited Kingdom2024-06-20King, Christopher A Esq NEGOTIATION74Ioni Bowcher
1032Francesco S OldroydSpain2024-05-24Buckley Miller Wright PROPOSAL30Bernardo Dominic
1033Misaki L ChuiGermany2024-05-25Chapman, Ross E Esq NEGOTIATION49Onyama Limba
1034Juan M GlickUnited Kingdom2024-06-01Feiner Bros NEW5Ioni Bowcher
1035Deepesh C BologniaJapan2024-06-14King, Christopher A Esq QUALIFIED96Elwin Sharvill
1036Aruna I AlbaresAustralia2024-06-15Chanay, Jeffrey A Esq NEW79Anna Fali
1037Emily U FlosiIndia2024-06-05Rangoni Of Florence UNQUALIFIED9Amy Elsner
1038Darci K PerinArgentina2024-06-02Rangoni Of Florence UNQUALIFIED64Stephen Shaw
1039Juan I GlickBrazil2024-05-29Commercial Press NEGOTIATION21Bernardo Dominic
1040Leon K RoysterIndia2024-06-01Rousseaux, Michael Esq PROPOSAL44Asiya Javayant
1041Rodrigues H StensethSpain2024-05-24Feltz Printing Service RENEWAL17Ivan Magalhaes
1042David F KuskoItaly2024-05-27Rangoni Of Florence UNQUALIFIED7Elwin Sharvill
1043Deepesh R BologniaSpain2024-06-06Chemel, James L Cpa NEW80Amy Elsner
1044David N VenereUnited Kingdom2024-06-14Benton, John B Jr NEW62Anna Fali
1045Alejandro V WieserRussia2024-05-29Chapman, Ross E Esq NEW29Elwin Sharvill
1046Claire D IturbideSpain2024-06-07Dorl, James J Esq NEW16Ivan Magalhaes
1047Leja M MacleadAustralia2024-05-30Truhlar And Truhlar Attys UNQUALIFIED86Xuxue Feng
1048Nicolas J WieserUnited Kingdom2024-06-20Chemel, James L Cpa QUALIFIED54Elwin Sharvill
1049Aditya T CaldareraUnited Kingdom2024-06-03Benton, John B Jr PROPOSAL83Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David B CampainSpainAmy Elsner NEGOTIATION
Darci C PerinJapanIvan Magalhaes UNQUALIFIED
Ashley A DoeFranceAmy Elsner NEGOTIATION
Wickens D ButtRussiaXuxue Feng RENEWAL
Mayumi D MacleadRussiaXuxue Feng PROPOSAL
Deepesh B SaylorsIndiaAmy Elsner PROPOSAL
Antonio O DilliardGermanyAsiya Javayant QUALIFIED
Deepesh Q FlosiSpainOnyama Limba PROPOSAL
David N ButtGermanyIvan Magalhaes RENEWAL
Deepesh U AlbaresItalyElwin Sharvill RENEWAL
Adams L MacleadGermanyIoni Bowcher NEW
Jennifer M FollerBrazilOnyama Limba QUALIFIED
Mujtaba M OstroskyArgentinaXuxue Feng NEGOTIATION
Deepesh O WhobreyJapanElwin Sharvill QUALIFIED
Claire A InouyeItalyAmy Elsner UNQUALIFIED
Tony Y KolmetzIndiaStephen Shaw RENEWAL
Deepesh L AmigonIndiaStephen Shaw QUALIFIED
Octavia K PerinGermanyAmy Elsner RENEWAL
Munro D AmigonSpainIvan Magalhaes NEW
Antonio W MaletIndiaAsiya Javayant PROPOSAL
Clifford N GarufiSpainAsiya Javayant RENEWAL
Aika L StensethRussiaAnna Fali NEW
Jeanfrancois U FollerCanadaOnyama Limba UNQUALIFIED
Rodrigues N StensethItalyBernardo Dominic PROPOSAL
Adams S WhobreyJapanAsiya Javayant NEW
Alejandro L IturbideBrazilIvan Magalhaes PROPOSAL
Maisha F PerinIndiaAnna Fali NEGOTIATION
Octavia T SchemmerCanadaXuxue Feng QUALIFIED
Stacey N KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Johnson Q VenereCanadaXuxue Feng UNQUALIFIED
Faith A GillianBrazilIvan Magalhaes NEW
Aditya K KuskoFranceStephen Shaw UNQUALIFIED
Jennifer F PoquetteSpainAnna Fali RENEWAL
Izzy E MaletCanadaElwin Sharvill NEGOTIATION
Kadeem R KuskoFranceAnna Fali PROPOSAL
Jones A ChuiCanadaAnna Fali PROPOSAL
Kaitlin B GlickItalyAnna Fali QUALIFIED
Aika A ChuiAustraliaIvan Magalhaes NEGOTIATION
Adams G GarufiAustraliaIoni Bowcher UNQUALIFIED
Alejandro O RimCanadaAmy Elsner RENEWAL
Smith X MaletItalyAsiya Javayant PROPOSAL
Ashley J DoeRussiaOnyama Limba NEGOTIATION
Octavia M NickaIndiaOnyama Limba NEW
Cody R SlusarskiCanadaStephen Shaw RENEWAL
Mayumi L VenereBrazilXuxue Feng UNQUALIFIED
Antonio W KuskoGermanyElwin Sharvill NEW
David S TollnerArgentinaBernardo Dominic QUALIFIED
Emily Y FerenczIndiaAnna Fali NEW
Leon L StockhamItalyBernardo Dominic NEGOTIATION
James Y IturbideFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Jennifer K Butt
Maria Z Bowley
Chavez X Maclead
Aika T Tollner
Smith G Sergi
Silvio J Caudy
Cody T Ruta
Francesco R Dilliard
Darci O Ferencz
Adams Q Caudy
Tony I Darakjy
Kadeem M Flosi
Chavez Q Gaucho
Munro X Marrier
Smith H Caldarera
Salvatore M Bowley
Greenwood Q Oldroyd
James E Vocelka
Arvin W Slusarski
Munro F Briddick
David Q Rulapaugh
Adams P Malet
Jefferson X Briddick
Adams L Nestle
Johnson U Slusarski
Leja O Maclead
Rodrigues D Slusarski
Ashley A Vocelka
Ashley K Butt
Murillo B Gillian
Darci S Flosi
Cody L Dilliard
Cody N Slusarski
Faith L Wieser
Leja M Dilliard
Jeanfrancois J Poquette
Rodrigues I Maclead
Salvatore Z Venere
Stacey Q Ruta
Arvin A Albares
Jones Y Butt
Leon L Albares
Costa T Flosi
Johnson C Caldarera
Greenwood C Doe
Julie R Gaucho
Mujtaba C Tollner
Rodrigues F Paprocki
Claire V Paprocki
Maria H Kusko
IdCountryDate
1000Russia2024-05-26
1001Japan2024-06-08
1002Canada2024-06-15
1003India2024-06-06
1004Russia2024-06-15
1005Italy2024-06-18
1006Germany2024-05-29
1007United Kingdom2024-05-27
1008Canada2024-06-17
1009Argentina2024-05-29
1010France2024-06-06
1011Canada2024-05-25
1012Canada2024-06-01
1013France2024-05-24
1014Australia2024-06-11
1015Australia2024-06-21
1016Spain2024-06-03
1017Italy2024-06-11
1018Italy2024-06-06
1019Spain2024-06-07
1020France2024-06-15
1021Canada2024-05-29
1022India2024-06-16
1023Brazil2024-06-11
1024Argentina2024-06-21
1025Italy2024-06-16
1026Italy2024-06-12
1027Australia2024-06-06
1028United Kingdom2024-05-27
1029Russia2024-05-26
1030Australia2024-05-29
1031Germany2024-06-16
1032United Kingdom2024-06-07
1033United Kingdom2024-06-11
1034Australia2024-06-04
1035Italy2024-06-10
1036Australia2024-05-29
1037Argentina2024-06-22
1038Germany2024-05-31
1039Italy2024-05-24
1040Germany2024-06-15
1041Russia2024-06-20
1042France2024-06-01
1043Italy2024-05-26
1044Argentina2024-05-26
1045France2024-05-30
1046France2024-06-05
1047Japan2024-06-11
1048Australia2024-06-22
1049Japan2024-05-29

On-Demand Data

NameIdCountryDate
Izzy O Rim1000Australia2024-06-17
Kadeem V Marrier1001Brazil2024-06-11
Rodrigues F Slusarski1002Italy2024-06-22
Aditya L Caudy1003Russia2024-06-21
Aika Q Venere1004Italy2024-06-04
Deepesh I Ferencz1005United Kingdom2024-05-28
Darci C Garufi1006Spain2024-05-29
Leja G Stenseth1007France2024-06-05
Deepesh S Caudy1008Germany2024-06-17
Silvio J Bolognia1009India2024-06-04
Aika M Maclead1010India2024-06-06
Johnson C Gaucho1011Argentina2024-05-27
Antonio S Bolognia1012Spain2024-06-20
Sinclair K Gillian1013Spain2024-05-26
Leja O Venere1014Canada2024-06-17
Octavia G Malet1015Russia2024-05-24
Maria R Royster1016Germany2024-06-02
Cody O Briddick1017Japan2024-06-13
Octavia P Doe1018Argentina2024-06-10
Stacey O Butt1019France2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar H StensethJapanBernardo Dominic PROPOSAL
Chavez V CampainUnited KingdomIvan Magalhaes NEGOTIATION
Morrow L BriddickFranceAnna Fali QUALIFIED
Deepesh E WhobreyUnited KingdomAsiya Javayant NEW
Aika D GarufiRussiaAmy Elsner QUALIFIED
Wickens B NickaRussiaElwin Sharvill UNQUALIFIED
Alejandro T KolmetzCanadaAmy Elsner NEGOTIATION
Smith C DilliardBrazilStephen Shaw NEGOTIATION
Octavia D CaldareraArgentinaXuxue Feng RENEWAL
Greenwood G NickaArgentinaStephen Shaw UNQUALIFIED
Isabel U AmigonIndiaElwin Sharvill NEW
Claire K GillianBrazilOnyama Limba UNQUALIFIED
Juan Y OldroydArgentinaXuxue Feng QUALIFIED
Clifford B CaudyUnited KingdomIoni Bowcher PROPOSAL
Munro T BowleyJapanAnna Fali NEGOTIATION
Ivar N SlusarskiCanadaAmy Elsner PROPOSAL
Mayumi I WhobreyJapanAsiya Javayant PROPOSAL
James B CaldareraSpainStephen Shaw RENEWAL
Arvin D KolmetzBrazilAmy Elsner RENEWAL
Costa F PaprockiUnited KingdomAnna Fali NEW
Leja F MaletUnited KingdomBernardo Dominic UNQUALIFIED
Cody A KuskoGermanyBernardo Dominic RENEWAL
Aika Y FerenczFranceOnyama Limba UNQUALIFIED
Tony Y DilliardRussiaStephen Shaw NEGOTIATION
Francesco L FollerCanadaXuxue Feng RENEWAL
Jeanfrancois M BologniaSpainAmy Elsner PROPOSAL
Smith J MarrierSpainIvan Magalhaes PROPOSAL
Arvin J GarufiIndiaOnyama Limba NEW
Isabel V ChuiJapanStephen Shaw NEGOTIATION
David M SergiArgentinaStephen Shaw RENEWAL
Claire D CaldareraSpainAmy Elsner NEW
Tony B RutaJapanOnyama Limba NEGOTIATION
Francesco T MarrierJapanAmy Elsner RENEWAL
Deepesh I AlbaresArgentinaOnyama Limba NEW
Mujtaba B NickaIndiaAnna Fali UNQUALIFIED
Antonio I GillianAustraliaOnyama Limba PROPOSAL
Murillo V VocelkaGermanyStephen Shaw PROPOSAL
Jeanfrancois O CampainFranceAsiya Javayant UNQUALIFIED
Jefferson C FerenczCanadaElwin Sharvill QUALIFIED
Alejandro Q FlosiCanadaXuxue 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>