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
Maria L SergiRussiaBernardo Dominic UNQUALIFIED
Ricardo U WhobreySpainElwin Sharvill RENEWAL
Kaitlin L ChuiIndiaElwin Sharvill PROPOSAL
Silvio P WhobreySpainIvan Magalhaes NEGOTIATION
Sinclair G SchemmerIndiaIoni Bowcher UNQUALIFIED
Emily Z KuskoArgentinaOnyama Limba QUALIFIED
Aruna A WieserBrazilBernardo Dominic RENEWAL
Munro Q FerenczUnited KingdomAmy Elsner NEGOTIATION
Maisha R StockhamArgentinaBernardo Dominic PROPOSAL
Adams X GarufiGermanyBernardo Dominic QUALIFIED
Kadeem O RimBrazilAmy Elsner PROPOSAL
Darci Q DarakjyAustraliaElwin Sharvill PROPOSAL
Stacey W AlbaresCanadaXuxue Feng NEGOTIATION
Kaitlin N RulapaughAustraliaAmy Elsner NEGOTIATION
Izzy U PerinSpainBernardo Dominic NEGOTIATION
Ashley J NestleBrazilElwin Sharvill NEGOTIATION
Leon F FlosiGermanyElwin Sharvill NEW
Francesco Z WaycottRussiaOnyama Limba UNQUALIFIED
Kaitlin T FlosiBrazilAnna Fali QUALIFIED
Maria K CaldareraRussiaAnna Fali NEGOTIATION
Emily D GillianGermanyBernardo Dominic QUALIFIED
Alejandro I DarakjyFranceIoni Bowcher PROPOSAL
Isabel R SaylorsJapanAmy Elsner RENEWAL
Mayumi A InouyeFranceIvan Magalhaes QUALIFIED
Costa D StockhamSpainAnna Fali NEGOTIATION
Cody D SaylorsArgentinaAmy Elsner NEGOTIATION
Leja O NickaFranceOnyama Limba NEGOTIATION
Chavez O SaylorsGermanyAsiya Javayant UNQUALIFIED
Jones L KolmetzAustraliaIoni Bowcher NEGOTIATION
Adams I DoeArgentinaXuxue Feng QUALIFIED
James S SlusarskiSpainStephen Shaw NEGOTIATION
Aditya P ChuiRussiaOnyama Limba PROPOSAL
Antonio H PerinSpainAsiya Javayant NEW
Deepesh P RulapaughGermanyBernardo Dominic NEW
Chavez I WaycottAustraliaAsiya Javayant QUALIFIED
Adams O AmigonArgentinaBernardo Dominic RENEWAL
Faith H WieserAustraliaIvan Magalhaes RENEWAL
Octavia L ButtArgentinaOnyama Limba UNQUALIFIED
Jones Q CampainBrazilBernardo Dominic NEGOTIATION
Maisha X GarufiUnited KingdomBernardo Dominic PROPOSAL
Johnson B AmigonJapanBernardo Dominic UNQUALIFIED
Aika Z WhobreyFranceXuxue Feng NEW
Arvin V DoeItalyAnna Fali PROPOSAL
Cody V SlusarskiArgentinaAmy Elsner QUALIFIED
Adams E OldroydArgentinaElwin Sharvill NEW
Octavia K OstroskyIndiaAsiya Javayant RENEWAL
Mayumi N BologniaGermanyXuxue Feng RENEWAL
Cody A CaudySpainIoni Bowcher UNQUALIFIED
Jones N PoquetteFranceAsiya Javayant PROPOSAL
James O IturbideJapanIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie B RimArgentinaElwin Sharvill PROPOSAL
Johnson O MorascaBrazilBernardo Dominic NEW
Antonio W CampainJapanAsiya Javayant QUALIFIED
Johnson I NickaIndiaBernardo Dominic RENEWAL
Kadeem U IturbideBrazilAmy Elsner QUALIFIED
Jeanfrancois Q DilliardAustraliaBernardo Dominic QUALIFIED
Stacey Y DilliardUnited KingdomXuxue Feng NEW
Salvatore P MaletCanadaXuxue Feng NEW
Rodrigues U WhobreyIndiaAsiya Javayant UNQUALIFIED
Munro K FlosiFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues F CampainItaly2026-06-22King, Christopher A Esq UNQUALIFIED26Elwin Sharvill
1001Emily A FigeroaArgentina2026-07-13Buckley Miller Wright UNQUALIFIED64Stephen Shaw
1002Jones Q DilliardIndia2026-07-03Feiner Bros RENEWAL16Xuxue Feng
1003Claire A StockhamJapan2026-07-12Printing Dimensions UNQUALIFIED15Bernardo Dominic
1004Francesco H MorascaUnited Kingdom2026-07-14Feltz Printing Service UNQUALIFIED30Ivan Magalhaes
1005Aruna V GillianAustralia2026-06-23Printing Dimensions PROPOSAL18Ivan Magalhaes
1006Kaitlin J DoeSpain2026-07-16Feltz Printing Service UNQUALIFIED78Xuxue Feng
1007Sinclair L RoysterUnited Kingdom2026-07-01Commercial Press QUALIFIED73Bernardo Dominic
1008Faith J SlusarskiUnited Kingdom2026-06-29Chanay, Jeffrey A Esq RENEWAL87Xuxue Feng
1009Nicolas H GlickSpain2026-06-23Feltz Printing Service UNQUALIFIED16Amy Elsner
1010Costa B WhobreySpain2026-07-15Buckley Miller Wright NEGOTIATION93Asiya Javayant
1011Chavez U KolmetzItaly2026-07-05Printing Dimensions NEGOTIATION53Elwin Sharvill
1012Clifford C SergiIndia2026-07-08Chapman, Ross E Esq NEGOTIATION79Ioni Bowcher
1013Aditya S OldroydRussia2026-07-09Rangoni Of Florence NEGOTIATION12Anna Fali
1014Morrow C NestleItaly2026-07-05Rangoni Of Florence UNQUALIFIED64Anna Fali
1015Arvin J FollerCanada2026-06-23King, Christopher A Esq UNQUALIFIED95Stephen Shaw
1016Jones Z SaylorsItaly2026-07-05Printing Dimensions NEGOTIATION63Elwin Sharvill
1017Salvatore M GarufiGermany2026-06-30Printing Dimensions NEGOTIATION25Ioni Bowcher
1018Clifford P ShinkoItaly2026-07-11Chemel, James L Cpa NEW55Bernardo Dominic
1019Chavez V AlbaresUnited Kingdom2026-07-02Chapman, Ross E Esq QUALIFIED22Anna Fali
1020Julie A WieserSpain2026-07-13Chanay, Jeffrey A Esq PROPOSAL95Xuxue Feng
1021Alejandro L StensethBrazil2026-07-11Rousseaux, Michael Esq RENEWAL0Anna Fali
1022Faith J OstroskyIndia2026-07-16King, Christopher A Esq RENEWAL38Onyama Limba
1023Chavez M SlusarskiCanada2026-06-30Rousseaux, Michael Esq RENEWAL8Asiya Javayant
1024James Q VenereUnited Kingdom2026-07-10Chapman, Ross E Esq QUALIFIED85Bernardo Dominic
1025Jeanfrancois X MacleadAustralia2026-06-21Chanay, Jeffrey A Esq QUALIFIED12Stephen Shaw
1026Adams B WhobreyItaly2026-07-08Benton, John B Jr RENEWAL55Amy Elsner
1027Leja Z PoquetteArgentina2026-07-17Dorl, James J Esq PROPOSAL55Ivan Magalhaes
1028Claire C MacleadUnited Kingdom2026-07-20Benton, John B Jr NEGOTIATION96Anna Fali
1029Munro W BologniaIndia2026-06-26King, Christopher A Esq NEGOTIATION24Ioni Bowcher
1030Aditya J GillianUnited Kingdom2026-06-24Printing Dimensions UNQUALIFIED79Elwin Sharvill
1031Silvio S MaletRussia2026-06-30Chapman, Ross E Esq NEW54Xuxue Feng
1032Leon F MaletUnited Kingdom2026-07-15Benton, John B Jr UNQUALIFIED73Stephen Shaw
1033Kadeem V RimBrazil2026-07-02Truhlar And Truhlar Attys UNQUALIFIED58Onyama Limba
1034Sinclair O SchemmerAustralia2026-07-13Morlong Associates PROPOSAL64Xuxue Feng
1035Alejandro O SchemmerFrance2026-07-17Buckley Miller Wright UNQUALIFIED3Amy Elsner
1036Murillo G ChuiRussia2026-07-10Commercial Press RENEWAL97Onyama Limba
1037Tony S MacleadGermany2026-06-21Commercial Press QUALIFIED96Bernardo Dominic
1038Juan I OstroskyRussia2026-06-28Truhlar And Truhlar Attys QUALIFIED57Elwin Sharvill
1039David M MaletBrazil2026-07-18Chemel, James L Cpa QUALIFIED55Anna Fali
1040Costa U GauchoRussia2026-07-18Buckley Miller Wright RENEWAL78Onyama Limba
1041Julie H BriddickRussia2026-07-03Morlong Associates QUALIFIED24Onyama Limba
1042Misaki X RimGermany2026-06-29Rangoni Of Florence RENEWAL84Xuxue Feng
1043Greenwood I VenereGermany2026-06-29Chapman, Ross E Esq PROPOSAL50Bernardo Dominic
1044Julie A PerinBrazil2026-07-19Feltz Printing Service NEW87Bernardo Dominic
1045Chavez N DoeFrance2026-07-09King, Christopher A Esq PROPOSAL45Asiya Javayant
1046Claire I CampainItaly2026-06-23Buckley Miller Wright PROPOSAL22Onyama Limba
1047Darci Y CaldareraBrazil2026-07-05Commercial Press NEW14Elwin Sharvill
1048Maria O RutaUnited Kingdom2026-06-22King, Christopher A Esq NEW51Stephen Shaw
1049Mayumi O PoquetteUnited Kingdom2026-07-04Chanay, Jeffrey A Esq RENEWAL14Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja W GauchoSpainElwin Sharvill QUALIFIED
Isabel I KuskoItalyBernardo Dominic UNQUALIFIED
Ivar O RutaItalyAmy Elsner QUALIFIED
Jones V ChuiIndiaAnna Fali NEGOTIATION
Maisha I RutaGermanyOnyama Limba RENEWAL
Mujtaba R SaylorsJapanAmy Elsner UNQUALIFIED
Silvio S FigeroaCanadaAnna Fali NEGOTIATION
Adams Y GillianItalyAnna Fali NEW
Nicolas H KuskoArgentinaAsiya Javayant NEGOTIATION
Juan H CaldareraBrazilAsiya Javayant NEW
Jefferson Y MarrierJapanAmy Elsner NEGOTIATION
Jones Z InouyeCanadaAsiya Javayant NEGOTIATION
Aditya E RutaItalyIvan Magalhaes NEW
Smith V ChuiSpainAsiya Javayant RENEWAL
Wickens R TollnerArgentinaAmy Elsner PROPOSAL
Faith S MaletGermanyElwin Sharvill QUALIFIED
Mujtaba B CaudyCanadaAmy Elsner NEGOTIATION
Misaki P RutaAustraliaIvan Magalhaes UNQUALIFIED
Clifford M ShinkoBrazilXuxue Feng QUALIFIED
Maisha L MarrierFranceStephen Shaw UNQUALIFIED
Leon X FerenczFranceOnyama Limba NEW
Izzy T CaldareraUnited KingdomElwin Sharvill PROPOSAL
Kadeem E SaylorsGermanyXuxue Feng RENEWAL
Faith H SchemmerItalyStephen Shaw NEGOTIATION
Aika P OldroydIndiaElwin Sharvill RENEWAL
Mujtaba K RutaGermanyElwin Sharvill NEW
Ivar A RimItalyStephen Shaw UNQUALIFIED
Jefferson T FlosiIndiaAsiya Javayant NEW
Emily T DilliardIndiaAnna Fali PROPOSAL
Juan S WieserArgentinaIoni Bowcher UNQUALIFIED
Murillo W OldroydCanadaAmy Elsner PROPOSAL
Jones T WieserArgentinaBernardo Dominic NEGOTIATION
Francesco V RutaCanadaStephen Shaw PROPOSAL
Silvio N CaldareraRussiaElwin Sharvill UNQUALIFIED
Stacey H OstroskyAustraliaElwin Sharvill PROPOSAL
Silvio C WieserRussiaIvan Magalhaes PROPOSAL
Octavia P MaletCanadaIoni Bowcher NEGOTIATION
Costa V WaycottJapanBernardo Dominic RENEWAL
Aditya E StensethGermanyStephen Shaw PROPOSAL
Maria L ShinkoGermanyElwin Sharvill QUALIFIED
Johnson N MaletJapanIvan Magalhaes RENEWAL
Munro I GlickSpainStephen Shaw RENEWAL
Maria D InouyeBrazilOnyama Limba PROPOSAL
Ivar O AlbaresRussiaAsiya Javayant UNQUALIFIED
Rodrigues K AmigonRussiaAnna Fali NEGOTIATION
Izzy P SergiGermanyXuxue Feng QUALIFIED
Rodrigues F SergiAustraliaIvan Magalhaes PROPOSAL
Mujtaba B DarakjyBrazilElwin Sharvill QUALIFIED
Leon W DarakjyArgentinaXuxue Feng RENEWAL
Cody L CaldareraIndiaAmy Elsner NEW
Frozen Columns
Name
Mujtaba V Dilliard
Isabel P Slusarski
Izzy P Bolognia
Leon I Bolognia
Deepesh K Perin
Kaitlin Z Flosi
Ashley C Gillian
Clifford K Garufi
Costa L Kusko
Munro O Sergi
Arvin V Garufi
Morrow A Rim
Ricardo C Ostrosky
Mujtaba Y Rulapaugh
Smith A Gillian
Adams A Shinko
Aditya E Chui
Claire I Waycott
Aruna V Darakjy
James F Rim
Kaitlin T Gillian
Rodrigues N Maclead
Kadeem W Nestle
Emily X Doe
Johnson Q Darakjy
Sinclair G Schemmer
Kaitlin A Flosi
Jeanfrancois J Ostrosky
Rodrigues Y Nestle
Nicolas B Rulapaugh
Jefferson R Schemmer
Wickens U Gaucho
Chavez G Garufi
Kaitlin O Bolognia
Aika P Stenseth
Clifford P Paprocki
Stacey L Campain
Kadeem L Figeroa
Cody E Stockham
Isabel L Briddick
Kadeem R Oldroyd
Adams R Nicka
Morrow F Iturbide
Kadeem B Paprocki
Aditya A Gillian
Adams W Maclead
Morrow I Darakjy
Aruna N Gillian
Tony Y Schemmer
Izzy I Slusarski
IdCountryDate
1000Canada2026-07-02
1001India2026-07-17
1002Germany2026-06-25
1003France2026-07-11
1004Russia2026-06-27
1005Russia2026-07-03
1006India2026-07-14
1007Japan2026-07-02
1008Japan2026-07-14
1009Canada2026-07-02
1010France2026-07-10
1011Brazil2026-07-09
1012Brazil2026-06-23
1013Spain2026-07-03
1014Russia2026-06-21
1015Brazil2026-07-14
1016France2026-07-04
1017Germany2026-06-23
1018Canada2026-06-25
1019Australia2026-07-05
1020Italy2026-06-26
1021Japan2026-07-19
1022Australia2026-07-03
1023India2026-07-06
1024Germany2026-06-21
1025Italy2026-07-14
1026Brazil2026-07-13
1027Italy2026-07-06
1028Canada2026-07-05
1029Spain2026-06-23
1030Canada2026-07-18
1031Argentina2026-07-13
1032India2026-06-21
1033United Kingdom2026-07-05
1034Italy2026-07-10
1035France2026-07-01
1036India2026-07-11
1037Brazil2026-07-11
1038Argentina2026-07-10
1039India2026-07-15
1040Argentina2026-07-12
1041India2026-06-22
1042Australia2026-07-11
1043Germany2026-07-18
1044India2026-06-30
1045Russia2026-07-04
1046Argentina2026-07-01
1047Italy2026-07-02
1048Germany2026-07-18
1049Australia2026-07-11

On-Demand Data

NameIdCountryDate
Isabel H Darakjy1000Germany2026-07-14
Sinclair R Malet1001Argentina2026-06-21
Faith O Nicka1002Russia2026-07-17
Arvin F Glick1003Australia2026-06-27
Mayumi H Gaucho1004Argentina2026-07-14
Rodrigues G Malet1005Brazil2026-06-28
Chavez K Rulapaugh1006India2026-07-07
Claire X Tollner1007Canada2026-07-12
Leja K Gillian1008France2026-07-15
Mayumi W Bowley1009Spain2026-07-14
Jones G Amigon1010Japan2026-07-08
Misaki J Sergi1011Italy2026-06-27
Faith E Figeroa1012Canada2026-07-01
Costa S Sergi1013Brazil2026-07-08
Isabel M Iturbide1014Spain2026-07-12
Johnson E Caudy1015France2026-07-14
Aditya K Darakjy1016Germany2026-07-17
Jones N Schemmer1017Italy2026-07-20
Jennifer H Foller1018Brazil2026-06-29
James Y Rulapaugh1019Australia2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer X MorascaCanadaAmy Elsner NEGOTIATION
Ivar W SlusarskiItalyXuxue Feng NEW
Jeanfrancois A DoeFranceElwin Sharvill UNQUALIFIED
Nicolas W FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Cody B VenereCanadaElwin Sharvill RENEWAL
Smith T SchemmerSpainIvan Magalhaes UNQUALIFIED
Aditya Q DoeGermanyIoni Bowcher NEGOTIATION
Misaki R NestleItalyAnna Fali UNQUALIFIED
Ashley C KuskoUnited KingdomIoni Bowcher NEW
Arvin D FollerFranceXuxue Feng PROPOSAL
Alejandro G KolmetzArgentinaIoni Bowcher QUALIFIED
Misaki A ButtCanadaElwin Sharvill NEW
Aditya Y SchemmerIndiaStephen Shaw NEGOTIATION
Izzy B FollerSpainIoni Bowcher NEW
Alejandro I CampainUnited KingdomElwin Sharvill PROPOSAL
Tony F MarrierUnited KingdomOnyama Limba NEW
Leja W NestleArgentinaOnyama Limba PROPOSAL
Jennifer E VocelkaRussiaXuxue Feng RENEWAL
Ricardo K BowleyIndiaAmy Elsner PROPOSAL
Octavia T DilliardSpainAmy Elsner RENEWAL
Morrow X TollnerSpainIvan Magalhaes NEW
Cody C AlbaresGermanyElwin Sharvill QUALIFIED
Smith H ButtItalyElwin Sharvill NEGOTIATION
Costa V OstroskyRussiaIoni Bowcher PROPOSAL
James E KolmetzArgentinaAmy Elsner PROPOSAL
Maria A BriddickIndiaBernardo Dominic PROPOSAL
Jefferson L StockhamCanadaXuxue Feng RENEWAL
Salvatore X WieserItalyBernardo Dominic NEW
Izzy G RoysterRussiaAnna Fali NEW
Johnson T MacleadGermanyIoni Bowcher PROPOSAL
Misaki T WhobreyBrazilAmy Elsner PROPOSAL
Smith W InouyeUnited KingdomAmy Elsner RENEWAL
Munro U FlosiRussiaStephen Shaw QUALIFIED
Isabel A TollnerGermanyStephen Shaw NEW
Ivar G VocelkaCanadaAnna Fali UNQUALIFIED
Aditya S VocelkaFranceBernardo Dominic PROPOSAL
Maisha Y FollerJapanXuxue Feng PROPOSAL
Aditya S KuskoSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois S SergiAustraliaStephen Shaw PROPOSAL
Claire X RoysterItalyAnna Fali 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>