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
Jefferson J FerenczJapanBernardo Dominic NEGOTIATION
Jones D FigeroaRussiaOnyama Limba PROPOSAL
Jefferson J SlusarskiAustraliaAmy Elsner QUALIFIED
Munro M MacleadJapanIoni Bowcher NEGOTIATION
Mujtaba J NestleBrazilAsiya Javayant NEGOTIATION
Mayumi D NickaFranceAnna Fali NEW
Leja W BriddickGermanyIvan Magalhaes PROPOSAL
Aika V BowleyRussiaElwin Sharvill NEW
Nicolas J AmigonGermanyIvan Magalhaes QUALIFIED
Emily L StensethIndiaStephen Shaw NEGOTIATION
Chavez X FlosiUnited KingdomIoni Bowcher NEGOTIATION
Tony L SlusarskiItalyIvan Magalhaes NEGOTIATION
Emily L OstroskyGermanyAnna Fali UNQUALIFIED
Izzy Y CampainCanadaStephen Shaw RENEWAL
Arvin F MorascaRussiaAsiya Javayant NEW
Francesco Q MaletFranceElwin Sharvill NEW
Leja P CaudyAustraliaIvan Magalhaes NEW
Leon L BriddickFranceBernardo Dominic PROPOSAL
Julie I StensethIndiaBernardo Dominic PROPOSAL
Rodrigues F FollerJapanIoni Bowcher RENEWAL
Darci X ShinkoCanadaIoni Bowcher NEW
Aruna P FigeroaFranceXuxue Feng UNQUALIFIED
Kaitlin K StensethUnited KingdomAnna Fali PROPOSAL
Clifford K BowleyJapanAnna Fali QUALIFIED
Jefferson I WhobreyGermanyIvan Magalhaes NEGOTIATION
Ashley J InouyeSpainStephen Shaw NEW
Leon F VenereCanadaStephen Shaw NEW
Darci M DilliardSpainElwin Sharvill QUALIFIED
Leon C SlusarskiCanadaXuxue Feng NEGOTIATION
Alejandro N OldroydItalyXuxue Feng QUALIFIED
Murillo Z GlickBrazilBernardo Dominic PROPOSAL
Mujtaba C MaletFranceAsiya Javayant QUALIFIED
James U MarrierArgentinaBernardo Dominic QUALIFIED
Adams C OldroydRussiaIvan Magalhaes UNQUALIFIED
Ivar M AlbaresCanadaIoni Bowcher UNQUALIFIED
Jones Q CaldareraSpainXuxue Feng PROPOSAL
Izzy X VenereAustraliaAnna Fali RENEWAL
Murillo L FigeroaJapanBernardo Dominic QUALIFIED
Murillo L MaletAustraliaXuxue Feng RENEWAL
Isabel D IturbideUnited KingdomOnyama Limba NEW
Chavez C MacleadAustraliaElwin Sharvill PROPOSAL
Ashley B ButtBrazilAsiya Javayant NEW
Darci U GillianAustraliaOnyama Limba NEW
Smith T SaylorsCanadaStephen Shaw PROPOSAL
Murillo S PerinArgentinaStephen Shaw NEW
James B DarakjyJapanOnyama Limba PROPOSAL
Rodrigues W SergiUnited KingdomBernardo Dominic NEW
Munro M SergiAustraliaAsiya Javayant QUALIFIED
Aditya P PaprockiCanadaAsiya Javayant NEGOTIATION
Ivar J TollnerRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro M ChuiIndiaXuxue Feng NEW
Kaitlin H DilliardBrazilElwin Sharvill NEW
Octavia V GauchoSpainBernardo Dominic PROPOSAL
Morrow Y GlickBrazilIvan Magalhaes NEGOTIATION
Rodrigues Q PoquetteIndiaIoni Bowcher QUALIFIED
Murillo W PoquetteSpainOnyama Limba RENEWAL
Aditya G AmigonItalyElwin Sharvill PROPOSAL
Aditya U OldroydAustraliaBernardo Dominic PROPOSAL
Jones F MarrierRussiaStephen Shaw QUALIFIED
Leon L OstroskyFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones F CaldareraBrazil2026-07-05Buckley Miller Wright PROPOSAL68Anna Fali
1001Rodrigues Y CaldareraBrazil2026-07-19Feiner Bros NEW18Anna Fali
1002Jefferson R MaletFrance2026-07-13Benton, John B Jr RENEWAL85Amy Elsner
1003Clifford Z MacleadBrazil2026-07-16Commercial Press QUALIFIED22Ioni Bowcher
1004Wickens U BowleyCanada2026-07-17King, Christopher A Esq PROPOSAL45Stephen Shaw
1005Leja W IturbideIndia2026-07-10Morlong Associates NEGOTIATION96Ivan Magalhaes
1006Ricardo N ButtIndia2026-07-10Chapman, Ross E Esq NEGOTIATION14Stephen Shaw
1007Misaki J KuskoGermany2026-07-10Feltz Printing Service NEGOTIATION27Xuxue Feng
1008Johnson G FlosiBrazil2026-07-04Benton, John B Jr QUALIFIED48Stephen Shaw
1009Darci F KolmetzGermany2026-07-16Printing Dimensions RENEWAL32Ioni Bowcher
1010Tony Y NestleFrance2026-07-18Feiner Bros NEGOTIATION62Ivan Magalhaes
1011Misaki A SchemmerArgentina2026-07-21Rousseaux, Michael Esq NEGOTIATION23Ioni Bowcher
1012Wickens Q GillianArgentina2026-07-01Feltz Printing Service PROPOSAL70Amy Elsner
1013Mujtaba V IturbideArgentina2026-07-14Commercial Press NEW19Ioni Bowcher
1014Rodrigues L MarrierJapan2026-07-23Morlong Associates PROPOSAL54Elwin Sharvill
1015Arvin R NickaCanada2026-07-05Rousseaux, Michael Esq NEGOTIATION7Asiya Javayant
1016Stacey V WieserRussia2026-07-01Commercial Press NEW66Xuxue Feng
1017Misaki H WaycottCanada2026-06-27Dorl, James J Esq NEGOTIATION22Xuxue Feng
1018Jeanfrancois U PoquetteArgentina2026-07-08Rangoni Of Florence QUALIFIED52Xuxue Feng
1019Kadeem O InouyeBrazil2026-07-18Chapman, Ross E Esq NEW82Amy Elsner
1020Alejandro Z StensethJapan2026-06-27Chanay, Jeffrey A Esq NEGOTIATION56Bernardo Dominic
1021Maisha G GlickRussia2026-07-02Printing Dimensions NEW70Stephen Shaw
1022Juan T DoeUnited Kingdom2026-07-16Morlong Associates RENEWAL14Stephen Shaw
1023Claire W ButtCanada2026-07-14Truhlar And Truhlar Attys PROPOSAL75Asiya Javayant
1024Misaki M DilliardRussia2026-07-05Morlong Associates NEW38Amy Elsner
1025Adams M RutaJapan2026-07-11Feltz Printing Service RENEWAL64Anna Fali
1026Wickens J SchemmerIndia2026-07-15Benton, John B Jr RENEWAL21Onyama Limba
1027Sinclair D PaprockiBrazil2026-07-17Printing Dimensions RENEWAL79Asiya Javayant
1028Izzy T PaprockiBrazil2026-07-16King, Christopher A Esq NEGOTIATION86Anna Fali
1029Arvin U BowleyAustralia2026-07-14Dorl, James J Esq UNQUALIFIED83Stephen Shaw
1030Salvatore N FlosiCanada2026-07-11Buckley Miller Wright NEGOTIATION26Elwin Sharvill
1031Julie D AlbaresItaly2026-06-25Morlong Associates QUALIFIED81Xuxue Feng
1032Stacey J NestleAustralia2026-07-21King, Christopher A Esq NEGOTIATION61Ivan Magalhaes
1033Darci J FigeroaItaly2026-07-02Feltz Printing Service NEW50Stephen Shaw
1034Octavia T KuskoAustralia2026-07-06Chapman, Ross E Esq RENEWAL52Elwin Sharvill
1035Jones R CaudyRussia2026-07-11Rangoni Of Florence NEW55Onyama Limba
1036Darci V FlosiAustralia2026-07-08Chanay, Jeffrey A Esq UNQUALIFIED86Anna Fali
1037Misaki H StockhamRussia2026-07-21Feiner Bros PROPOSAL73Elwin Sharvill
1038Julie U ShinkoItaly2026-07-04Buckley Miller Wright PROPOSAL39Amy Elsner
1039Morrow D WhobreyFrance2026-06-25Rousseaux, Michael Esq NEW42Xuxue Feng
1040Leja L RulapaughRussia2026-07-02Truhlar And Truhlar Attys NEW7Anna Fali
1041Johnson S PoquetteIndia2026-07-12Truhlar And Truhlar Attys NEW10Amy Elsner
1042Morrow V TollnerCanada2026-07-18Rousseaux, Michael Esq NEW81Asiya Javayant
1043Sinclair S BriddickUnited Kingdom2026-07-17Printing Dimensions QUALIFIED82Ivan Magalhaes
1044Salvatore X BriddickIndia2026-07-16Chanay, Jeffrey A Esq PROPOSAL37Amy Elsner
1045Octavia V InouyeGermany2026-06-28Buckley Miller Wright PROPOSAL84Amy Elsner
1046Jefferson G RimGermany2026-07-15Chapman, Ross E Esq PROPOSAL80Ioni Bowcher
1047Kaitlin V MacleadGermany2026-07-20Chanay, Jeffrey A Esq RENEWAL56Bernardo Dominic
1048Chavez F AlbaresRussia2026-07-20Rousseaux, Michael Esq NEGOTIATION49Asiya Javayant
1049Jeanfrancois E MaletBrazil2026-07-07King, Christopher A Esq NEW83Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio B SlusarskiJapanAsiya Javayant NEGOTIATION
Aruna C MacleadFranceOnyama Limba QUALIFIED
Francesco I CaldareraBrazilElwin Sharvill QUALIFIED
Ricardo M NickaArgentinaElwin Sharvill NEW
Kaitlin E NickaGermanyAmy Elsner NEGOTIATION
Deepesh L KolmetzIndiaBernardo Dominic NEW
Morrow L WaycottCanadaElwin Sharvill RENEWAL
Morrow Z ShinkoAustraliaElwin Sharvill NEGOTIATION
Costa E PerinUnited KingdomAnna Fali RENEWAL
Juan G InouyeCanadaStephen Shaw UNQUALIFIED
Emily N RimFranceAmy Elsner RENEWAL
Murillo W BriddickIndiaAnna Fali NEGOTIATION
Clifford I PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba P DilliardRussiaAsiya Javayant UNQUALIFIED
Leon U CaudyFranceXuxue Feng NEGOTIATION
Clifford T PoquetteBrazilAsiya Javayant QUALIFIED
Darci M StockhamCanadaBernardo Dominic QUALIFIED
Wickens I ButtIndiaAnna Fali UNQUALIFIED
Alejandro A MorascaJapanAsiya Javayant NEGOTIATION
Emily W CaudyGermanyAsiya Javayant UNQUALIFIED
Emily B KolmetzItalyIvan Magalhaes NEW
Izzy N BologniaUnited KingdomOnyama Limba UNQUALIFIED
Francesco X StockhamBrazilElwin Sharvill NEW
Adams I GlickRussiaIvan Magalhaes PROPOSAL
Francesco V AlbaresRussiaXuxue Feng UNQUALIFIED
Salvatore Z CampainCanadaStephen Shaw RENEWAL
Leon Q MarrierRussiaElwin Sharvill NEGOTIATION
Silvio J MarrierAustraliaAmy Elsner RENEWAL
Juan Z BowleyRussiaIoni Bowcher RENEWAL
Clifford C NestleFranceAsiya Javayant PROPOSAL
Ivar T CaudySpainOnyama Limba PROPOSAL
Aditya L SlusarskiAustraliaOnyama Limba PROPOSAL
Mujtaba Q MaletAustraliaBernardo Dominic NEW
Greenwood V GauchoCanadaBernardo Dominic RENEWAL
Sinclair J FollerArgentinaIvan Magalhaes UNQUALIFIED
Maisha Q PoquetteRussiaElwin Sharvill NEGOTIATION
Munro T BologniaCanadaXuxue Feng RENEWAL
Mujtaba X NestleCanadaIvan Magalhaes UNQUALIFIED
Arvin T BriddickAustraliaAnna Fali QUALIFIED
Jennifer I AlbaresCanadaIvan Magalhaes UNQUALIFIED
David N DarakjyJapanBernardo Dominic RENEWAL
Octavia M PaprockiGermanyIvan Magalhaes QUALIFIED
Cody V AlbaresRussiaAmy Elsner NEW
Silvio J FlosiAustraliaElwin Sharvill NEW
Murillo I KuskoJapanIoni Bowcher QUALIFIED
Francesco R OstroskyGermanyBernardo Dominic QUALIFIED
Clifford H GarufiIndiaIvan Magalhaes PROPOSAL
Chavez A GarufiGermanyIvan Magalhaes UNQUALIFIED
Aika V KuskoFranceStephen Shaw RENEWAL
Antonio C IturbideGermanyXuxue Feng RENEWAL
Frozen Columns
Name
Emily L Whobrey
Munro C Venere
Clifford H Nestle
Chavez E Inouye
Maisha R Doe
Jefferson C Gillian
Morrow I Caudy
Misaki R Kolmetz
Maria Q Marrier
Stacey G Shinko
Greenwood X Nicka
Leja B Caldarera
Jefferson T Bolognia
Mujtaba X Malet
Francesco N Foller
Mayumi Q Inouye
Aruna O Foller
Izzy X Paprocki
Smith A Waycott
Ashley Q Caudy
Clifford Q Tollner
Isabel K Malet
Jeanfrancois X Foller
Salvatore L Darakjy
Cody C Chui
Faith Y Waycott
Morrow A Nestle
Darci Y Caldarera
Stacey X Oldroyd
Aika I Ostrosky
Mujtaba R Kolmetz
Juan B Royster
David H Ferencz
Aika D Vocelka
Nicolas Y Maclead
Misaki E Gaucho
James N Caudy
Alejandro B Tollner
Silvio O Malet
Arvin C Iturbide
Octavia P Stockham
Isabel L Campain
Chavez X Kolmetz
David T Tollner
Maisha L Butt
Darci Y Sergi
Isabel S Dilliard
Francesco F Caldarera
Jefferson J Flosi
Smith I Albares
IdCountryDate
1000Australia2026-07-01
1001India2026-07-10
1002Italy2026-07-23
1003France2026-07-03
1004Germany2026-07-06
1005Australia2026-07-16
1006Japan2026-07-04
1007Italy2026-07-01
1008Italy2026-07-22
1009Russia2026-07-19
1010Canada2026-07-05
1011Japan2026-07-06
1012Italy2026-07-20
1013Brazil2026-07-19
1014Russia2026-06-27
1015Canada2026-06-25
1016United Kingdom2026-07-08
1017United Kingdom2026-07-14
1018Italy2026-07-20
1019Canada2026-07-13
1020Brazil2026-07-01
1021Canada2026-06-26
1022Russia2026-06-28
1023India2026-07-21
1024Argentina2026-07-10
1025United Kingdom2026-07-06
1026Brazil2026-07-22
1027Brazil2026-07-04
1028India2026-07-08
1029France2026-07-14
1030Russia2026-07-18
1031Brazil2026-07-11
1032Japan2026-07-02
1033Germany2026-07-22
1034United Kingdom2026-07-21
1035Italy2026-06-26
1036Argentina2026-07-12
1037Russia2026-07-05
1038United Kingdom2026-07-22
1039India2026-07-03
1040India2026-07-23
1041Japan2026-07-19
1042Australia2026-07-01
1043Spain2026-07-06
1044Italy2026-07-06
1045France2026-07-09
1046Russia2026-06-30
1047Australia2026-07-03
1048Japan2026-06-25
1049India2026-07-19

On-Demand Data

NameIdCountryDate
Leon O Butt1000Brazil2026-06-24
David U Venere1001Argentina2026-07-12
Aika T Shinko1002Japan2026-07-09
Julie O Kusko1003Canada2026-07-14
Smith K Oldroyd1004Brazil2026-07-13
Chavez B Poquette1005Italy2026-07-12
Leon V Gillian1006Japan2026-06-25
David M Morasca1007United Kingdom2026-07-09
Aika Y Malet1008United Kingdom2026-06-24
Octavia I Caudy1009Spain2026-07-10
Deepesh U Saylors1010Argentina2026-06-24
Kaitlin W Dilliard1011Germany2026-07-02
Aditya J Iturbide1012India2026-06-25
Jefferson E Waycott1013Italy2026-06-28
Claire U Rulapaugh1014Spain2026-07-09
Maisha Y Rulapaugh1015France2026-07-01
Julie E Flosi1016Italy2026-07-14
Emily G Stockham1017Brazil2026-07-08
James R Kolmetz1018Canada2026-07-06
Antonio M Doe1019Brazil2026-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia P PerinCanadaIoni Bowcher NEW
Smith J AmigonIndiaStephen Shaw QUALIFIED
Misaki Y MarrierGermanyAsiya Javayant NEW
Aika C OstroskySpainAsiya Javayant PROPOSAL
Claire Q FerenczFranceAnna Fali QUALIFIED
Jeanfrancois B AlbaresBrazilAmy Elsner NEGOTIATION
Silvio Z BriddickJapanIvan Magalhaes QUALIFIED
Greenwood B InouyeIndiaBernardo Dominic RENEWAL
Morrow G StensethAustraliaAmy Elsner RENEWAL
Arvin I NickaAustraliaOnyama Limba NEGOTIATION
Morrow S WieserArgentinaXuxue Feng UNQUALIFIED
Chavez D PerinFranceBernardo Dominic RENEWAL
Morrow A OstroskyFranceStephen Shaw RENEWAL
Clifford K FigeroaRussiaAmy Elsner RENEWAL
Isabel J BriddickItalyIoni Bowcher PROPOSAL
Johnson E ButtArgentinaAsiya Javayant NEGOTIATION
Arvin O SaylorsJapanXuxue Feng UNQUALIFIED
Ashley H InouyeRussiaOnyama Limba UNQUALIFIED
Emily G AmigonItalyAnna Fali PROPOSAL
Ricardo I VocelkaIndiaBernardo Dominic QUALIFIED
Jefferson N BriddickRussiaXuxue Feng QUALIFIED
James C OldroydSpainAsiya Javayant PROPOSAL
Costa I StensethBrazilXuxue Feng NEW
Mayumi I PerinAustraliaStephen Shaw NEW
Clifford C OldroydFranceAnna Fali QUALIFIED
Mujtaba G OstroskySpainXuxue Feng NEW
Ashley R TollnerJapanAnna Fali NEW
Wickens S VenereBrazilIoni Bowcher RENEWAL
Maisha L StockhamRussiaAsiya Javayant PROPOSAL
Faith L RimGermanyXuxue Feng PROPOSAL
Aruna K MaletCanadaElwin Sharvill RENEWAL
David B ButtJapanIvan Magalhaes RENEWAL
Mujtaba S GlickJapanBernardo Dominic QUALIFIED
Stacey I OstroskySpainElwin Sharvill NEGOTIATION
James M GillianFranceElwin Sharvill QUALIFIED
James Y MorascaIndiaIvan Magalhaes RENEWAL
Ashley Q WaycottFranceIoni Bowcher PROPOSAL
Alejandro O DilliardItalyAmy Elsner RENEWAL
Greenwood V FlosiSpainAnna Fali RENEWAL
Leon P GauchoSpainAnna Fali 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>