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
Leon I AmigonGermanyXuxue Feng NEW
Costa S SaylorsIndiaIoni Bowcher NEGOTIATION
David O ChuiAustraliaElwin Sharvill RENEWAL
Wickens R StensethUnited KingdomOnyama Limba QUALIFIED
Aditya N CaldareraItalyOnyama Limba PROPOSAL
Maria U CaldareraGermanyXuxue Feng RENEWAL
Claire L SaylorsArgentinaXuxue Feng QUALIFIED
Faith M FollerItalyOnyama Limba PROPOSAL
Octavia V PoquetteArgentinaXuxue Feng QUALIFIED
Wickens Z PerinJapanAmy Elsner NEGOTIATION
David S FigeroaAustraliaOnyama Limba NEW
Faith E FlosiArgentinaBernardo Dominic NEGOTIATION
Clifford B RulapaughSpainAnna Fali NEGOTIATION
Aruna Q RoysterItalyStephen Shaw NEGOTIATION
Rodrigues W RulapaughIndiaAsiya Javayant UNQUALIFIED
Darci W WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Chavez X IturbideJapanXuxue Feng NEW
Deepesh E OldroydIndiaAsiya Javayant UNQUALIFIED
Mayumi G ChuiRussiaStephen Shaw UNQUALIFIED
Silvio Y WhobreyArgentinaAmy Elsner UNQUALIFIED
Chavez U GlickAustraliaAmy Elsner NEW
Chavez T FerenczJapanElwin Sharvill UNQUALIFIED
Chavez M SchemmerRussiaIvan Magalhaes QUALIFIED
Costa L PerinCanadaElwin Sharvill QUALIFIED
Octavia X VocelkaUnited KingdomIoni Bowcher PROPOSAL
Tony P AmigonBrazilOnyama Limba QUALIFIED
Cody O RimFranceBernardo Dominic RENEWAL
Leja P NestleCanadaAnna Fali NEW
Claire F KolmetzAustraliaAsiya Javayant PROPOSAL
Julie P RoysterIndiaBernardo Dominic NEGOTIATION
Leja K RimAustraliaIvan Magalhaes QUALIFIED
Cody I RutaGermanyIoni Bowcher RENEWAL
Chavez S WaycottIndiaAnna Fali PROPOSAL
Jefferson U StensethBrazilBernardo Dominic NEGOTIATION
Leja H InouyeJapanOnyama Limba UNQUALIFIED
Ivar D MaletIndiaElwin Sharvill UNQUALIFIED
Ivar S DoeRussiaBernardo Dominic PROPOSAL
Murillo S WaycottFranceBernardo Dominic RENEWAL
Izzy H DarakjyBrazilXuxue Feng NEGOTIATION
Munro S NickaFranceAmy Elsner UNQUALIFIED
David G DarakjySpainStephen Shaw NEGOTIATION
Aika M WieserCanadaAsiya Javayant NEGOTIATION
Aditya Y IturbideItalyOnyama Limba UNQUALIFIED
Mayumi M SaylorsAustraliaStephen Shaw UNQUALIFIED
Mujtaba P AmigonCanadaBernardo Dominic RENEWAL
Julie B ButtBrazilIvan Magalhaes PROPOSAL
Julie Z MacleadAustraliaElwin Sharvill NEW
Francesco B KolmetzBrazilXuxue Feng QUALIFIED
Kadeem W VocelkaRussiaAnna Fali NEW
Arvin S TollnerArgentinaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas P SchemmerRussiaBernardo Dominic PROPOSAL
Mujtaba O ChuiFranceAsiya Javayant RENEWAL
Emily O CaudyGermanyXuxue Feng UNQUALIFIED
Jones Y ButtFranceStephen Shaw PROPOSAL
Faith M WieserGermanyIvan Magalhaes NEW
Mujtaba K VocelkaGermanyOnyama Limba UNQUALIFIED
Octavia I VenereSpainElwin Sharvill UNQUALIFIED
Clifford U BologniaGermanyStephen Shaw RENEWAL
Octavia Q CaudyArgentinaAmy Elsner UNQUALIFIED
Sinclair U MorascaUnited KingdomAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith V BowleyAustralia2026-07-10Chemel, James L Cpa UNQUALIFIED1Bernardo Dominic
1001Costa I NickaAustralia2026-07-11Benton, John B Jr NEGOTIATION67Bernardo Dominic
1002Murillo S GlickBrazil2026-07-01Feltz Printing Service NEGOTIATION38Xuxue Feng
1003Jeanfrancois Z OldroydJapan2026-07-05Chapman, Ross E Esq NEW75Onyama Limba
1004Jennifer A SergiBrazil2026-06-28Dorl, James J Esq RENEWAL51Ivan Magalhaes
1005Jones M StensethBrazil2026-07-01Rangoni Of Florence NEGOTIATION8Amy Elsner
1006Emily L NickaFrance2026-07-09Feiner Bros QUALIFIED17Anna Fali
1007Deepesh V KuskoRussia2026-07-17Morlong Associates UNQUALIFIED14Asiya Javayant
1008Greenwood C StockhamIndia2026-06-29Dorl, James J Esq NEGOTIATION98Xuxue Feng
1009James Y MaletSpain2026-06-20Commercial Press QUALIFIED56Onyama Limba
1010Costa N SaylorsAustralia2026-06-27Rangoni Of Florence NEW50Stephen Shaw
1011Rodrigues V RimCanada2026-07-08King, Christopher A Esq RENEWAL5Elwin Sharvill
1012Costa F BriddickAustralia2026-07-06Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1013Claire E InouyeCanada2026-06-25Benton, John B Jr NEW10Onyama Limba
1014Salvatore B FollerUnited Kingdom2026-07-10Truhlar And Truhlar Attys RENEWAL81Elwin Sharvill
1015Clifford O BowleyIndia2026-06-29Chanay, Jeffrey A Esq RENEWAL72Elwin Sharvill
1016Sinclair Q StockhamJapan2026-07-04Dorl, James J Esq QUALIFIED45Amy Elsner
1017Aditya Y KolmetzIndia2026-07-14Feltz Printing Service PROPOSAL47Asiya Javayant
1018Jennifer K VocelkaIndia2026-07-13Chemel, James L Cpa RENEWAL81Amy Elsner
1019Nicolas K StensethUnited Kingdom2026-06-29Rangoni Of Florence UNQUALIFIED39Onyama Limba
1020Mayumi U SergiGermany2026-07-04Chapman, Ross E Esq UNQUALIFIED35Ioni Bowcher
1021Salvatore H RimCanada2026-07-15Rousseaux, Michael Esq RENEWAL41Xuxue Feng
1022Aditya C GauchoItaly2026-06-26Printing Dimensions NEW20Anna Fali
1023Ivar F VenereJapan2026-06-26Chanay, Jeffrey A Esq RENEWAL13Stephen Shaw
1024Maisha W InouyeIndia2026-07-03Buckley Miller Wright RENEWAL19Onyama Limba
1025Leja K CaldareraBrazil2026-07-12Rousseaux, Michael Esq RENEWAL11Anna Fali
1026Kadeem Q SlusarskiBrazil2026-06-22Rousseaux, Michael Esq UNQUALIFIED2Stephen Shaw
1027Isabel X InouyeIndia2026-07-17Rousseaux, Michael Esq NEGOTIATION71Stephen Shaw
1028Maisha R CaudyRussia2026-07-09Dorl, James J Esq UNQUALIFIED76Ivan Magalhaes
1029Kaitlin F NickaBrazil2026-07-01Commercial Press UNQUALIFIED47Anna Fali
1030Leja U RoysterArgentina2026-06-24Rousseaux, Michael Esq RENEWAL50Amy Elsner
1031Cody F DilliardAustralia2026-07-02Truhlar And Truhlar Attys NEW79Ivan Magalhaes
1032Stacey A ShinkoUnited Kingdom2026-07-02King, Christopher A Esq NEW6Elwin Sharvill
1033Jennifer N MacleadFrance2026-07-18Chapman, Ross E Esq RENEWAL2Ioni Bowcher
1034Wickens E InouyeRussia2026-06-30Benton, John B Jr UNQUALIFIED35Ivan Magalhaes
1035Cody G MarrierGermany2026-06-27Chemel, James L Cpa NEW25Amy Elsner
1036Leja Q VenereIndia2026-06-28Benton, John B Jr PROPOSAL58Amy Elsner
1037Antonio X PoquetteIndia2026-06-28Benton, John B Jr NEGOTIATION8Ivan Magalhaes
1038Julie D MacleadRussia2026-07-17Feltz Printing Service NEGOTIATION68Anna Fali
1039Octavia X SergiUnited Kingdom2026-07-09Rangoni Of Florence PROPOSAL43Onyama Limba
1040Julie E GarufiGermany2026-06-23Chanay, Jeffrey A Esq RENEWAL92Xuxue Feng
1041Jennifer J VocelkaGermany2026-07-05Dorl, James J Esq PROPOSAL74Ioni Bowcher
1042Juan G FigeroaArgentina2026-06-26Rousseaux, Michael Esq NEGOTIATION66Ivan Magalhaes
1043Rodrigues E SchemmerSpain2026-07-14Rangoni Of Florence UNQUALIFIED2Ivan Magalhaes
1044Isabel K VenereJapan2026-07-09Rangoni Of Florence UNQUALIFIED45Bernardo Dominic
1045Jennifer F MaletBrazil2026-06-30Commercial Press QUALIFIED35Stephen Shaw
1046Kaitlin N NestleIndia2026-07-13Chemel, James L Cpa PROPOSAL14Ioni Bowcher
1047Emily X AlbaresArgentina2026-07-17Benton, John B Jr QUALIFIED26Stephen Shaw
1048Antonio G MarrierAustralia2026-06-23Chapman, Ross E Esq UNQUALIFIED40Amy Elsner
1049Sinclair G MarrierFrance2026-06-27Buckley Miller Wright RENEWAL96Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford V AlbaresArgentinaOnyama Limba UNQUALIFIED
Maria I ShinkoAustraliaXuxue Feng RENEWAL
Greenwood G GauchoIndiaStephen Shaw NEGOTIATION
Ricardo X WieserCanadaStephen Shaw RENEWAL
Antonio R AmigonAustraliaIvan Magalhaes UNQUALIFIED
Leon E WaycottJapanIoni Bowcher NEGOTIATION
Aruna Q MarrierAustraliaIoni Bowcher UNQUALIFIED
Izzy Q KolmetzIndiaIvan Magalhaes NEGOTIATION
Ivar C WieserCanadaElwin Sharvill NEW
David Y PerinAustraliaIoni Bowcher NEGOTIATION
Alejandro R GillianGermanyElwin Sharvill PROPOSAL
Julie H WieserBrazilAmy Elsner NEGOTIATION
Mujtaba W CaldareraArgentinaAsiya Javayant PROPOSAL
Jennifer X FlosiCanadaOnyama Limba NEW
Leja R AmigonFranceStephen Shaw UNQUALIFIED
Cody V VenereFranceAsiya Javayant UNQUALIFIED
Emily P RulapaughArgentinaIoni Bowcher RENEWAL
Faith Y BriddickGermanyIoni Bowcher UNQUALIFIED
Darci R MaletBrazilBernardo Dominic NEGOTIATION
Clifford F GauchoSpainIoni Bowcher RENEWAL
Aruna U AmigonArgentinaAsiya Javayant NEW
Darci H GillianUnited KingdomAmy Elsner RENEWAL
Stacey F KuskoBrazilXuxue Feng PROPOSAL
Izzy R FlosiSpainElwin Sharvill PROPOSAL
Nicolas X DoeSpainBernardo Dominic QUALIFIED
Munro E AmigonFranceXuxue Feng PROPOSAL
James T BologniaCanadaXuxue Feng RENEWAL
Adams N CaldareraAustraliaAnna Fali PROPOSAL
Salvatore T WaycottCanadaElwin Sharvill RENEWAL
Octavia I TollnerSpainOnyama Limba PROPOSAL
Mujtaba P ButtArgentinaAmy Elsner PROPOSAL
Alejandro A GauchoArgentinaBernardo Dominic NEW
Greenwood S SergiItalyAnna Fali QUALIFIED
Mayumi K ChuiJapanAnna Fali PROPOSAL
Maisha C DilliardItalyAmy Elsner NEW
Jeanfrancois X RutaItalyBernardo Dominic NEW
Smith J RulapaughFranceAmy Elsner RENEWAL
Claire H SchemmerFranceAsiya Javayant NEGOTIATION
Octavia B SlusarskiFranceAnna Fali NEW
Aruna T ChuiItalyXuxue Feng UNQUALIFIED
Misaki B RulapaughAustraliaXuxue Feng RENEWAL
Smith B DarakjyArgentinaIoni Bowcher PROPOSAL
Silvio G NestleUnited KingdomOnyama Limba UNQUALIFIED
Jennifer D FigeroaItalyIoni Bowcher UNQUALIFIED
Kadeem S ShinkoCanadaElwin Sharvill RENEWAL
Aruna V TollnerIndiaAnna Fali NEGOTIATION
Tony X DarakjyJapanOnyama Limba NEGOTIATION
Jones F InouyeCanadaStephen Shaw QUALIFIED
Antonio N ButtFranceOnyama Limba UNQUALIFIED
Leja D KuskoGermanyBernardo Dominic QUALIFIED
Frozen Columns
Name
Mujtaba X Venere
Smith K Venere
Octavia B Gillian
Murillo U Gaucho
Leon Y Saylors
Maria N Wieser
Aika I Tollner
Ashley M Marrier
Costa O Iturbide
Mayumi W Nicka
Jefferson C Gaucho
Silvio C Slusarski
Octavia F Ferencz
Chavez A Campain
Izzy D Caldarera
Nicolas W Chui
Clifford C Iturbide
Greenwood E Ruta
Clifford C Sergi
Murillo Y Waycott
Wickens N Glick
Mujtaba L Perin
Maria D Ferencz
Kadeem O Flosi
Darci E Ferencz
Aruna T Bowley
Sinclair W Paprocki
Jones F Amigon
Aditya V Butt
Tony T Amigon
Darci B Poquette
Juan A Figeroa
Aruna H Caldarera
Emily Z Waycott
Murillo M Morasca
Maria G Maclead
Munro Q Caudy
Claire U Amigon
Stacey N Gaucho
Ivar T Stockham
Misaki B Stockham
Stacey L Kolmetz
Jennifer D Saylors
Rodrigues Q Gaucho
Chavez D Sergi
Claire P Stenseth
Leja H Inouye
Rodrigues V Gillian
Jefferson W Iturbide
Stacey O Marrier
IdCountryDate
1000Germany2026-06-29
1001Canada2026-07-07
1002India2026-06-30
1003United Kingdom2026-07-12
1004Germany2026-06-21
1005Japan2026-07-17
1006India2026-07-18
1007Canada2026-07-16
1008Japan2026-07-08
1009Russia2026-07-04
1010United Kingdom2026-06-29
1011United Kingdom2026-06-22
1012Spain2026-07-06
1013Italy2026-06-25
1014Italy2026-07-15
1015Canada2026-07-15
1016India2026-06-25
1017Argentina2026-07-05
1018France2026-07-08
1019India2026-07-08
1020Russia2026-07-13
1021Germany2026-07-09
1022Spain2026-06-21
1023Russia2026-06-29
1024Spain2026-07-12
1025France2026-07-02
1026United Kingdom2026-07-01
1027Spain2026-07-01
1028Canada2026-07-09
1029Italy2026-07-02
1030Germany2026-06-27
1031Italy2026-06-24
1032Australia2026-07-17
1033Japan2026-06-20
1034Russia2026-07-04
1035United Kingdom2026-07-01
1036Germany2026-07-17
1037Canada2026-07-15
1038Spain2026-06-30
1039United Kingdom2026-07-15
1040Germany2026-06-28
1041France2026-07-02
1042Germany2026-07-15
1043United Kingdom2026-07-10
1044France2026-07-03
1045Germany2026-07-13
1046Argentina2026-06-23
1047Russia2026-07-10
1048Italy2026-07-03
1049Brazil2026-07-17

On-Demand Data

NameIdCountryDate
Greenwood R Schemmer1000Russia2026-07-14
Wickens U Gillian1001Germany2026-06-28
Maisha W Gillian1002Japan2026-07-19
Johnson U Gaucho1003Russia2026-07-12
Octavia W Bowley1004Germany2026-06-24
Nicolas F Caldarera1005Canada2026-06-22
Aika B Royster1006Argentina2026-06-26
David A Gillian1007Spain2026-07-03
James X Vocelka1008Japan2026-06-28
Silvio T Briddick1009India2026-07-01
Rodrigues M Figeroa1010Spain2026-06-28
Alejandro M Schemmer1011Spain2026-06-20
Jones M Bowley1012Argentina2026-06-24
Octavia D Dilliard1013India2026-07-15
Aruna S Vocelka1014France2026-06-24
Wickens T Campain1015Brazil2026-07-09
Arvin F Doe1016Australia2026-07-11
Cody E Vocelka1017Germany2026-07-06
Ivar V Paprocki1018Australia2026-06-20
Sinclair A Vocelka1019Japan2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh A KuskoItalyAnna Fali UNQUALIFIED
Leon U KolmetzCanadaXuxue Feng PROPOSAL
Morrow B NestleArgentinaIoni Bowcher RENEWAL
Costa H BriddickSpainElwin Sharvill NEW
Jones K FerenczItalyOnyama Limba NEW
Chavez P ButtIndiaAmy Elsner PROPOSAL
David S RutaUnited KingdomOnyama Limba UNQUALIFIED
Isabel Q TollnerSpainXuxue Feng PROPOSAL
Chavez N WaycottBrazilIoni Bowcher PROPOSAL
Stacey O IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Arvin Y PerinGermanyElwin Sharvill RENEWAL
Jeanfrancois M CampainCanadaStephen Shaw RENEWAL
David Y TollnerCanadaIvan Magalhaes RENEWAL
Antonio V OldroydItalyElwin Sharvill NEGOTIATION
Ricardo Z MorascaFranceIoni Bowcher PROPOSAL
Jones L RimBrazilAsiya Javayant NEGOTIATION
Smith B FlosiUnited KingdomAnna Fali NEGOTIATION
Juan A ChuiSpainIoni Bowcher PROPOSAL
Ashley N FlosiItalyAsiya Javayant NEW
Wickens P ShinkoGermanyElwin Sharvill NEW
Francesco U KuskoRussiaAsiya Javayant NEW
David V BowleyIndiaElwin Sharvill QUALIFIED
Aruna A ChuiFranceXuxue Feng PROPOSAL
Kaitlin L CaldareraSpainXuxue Feng UNQUALIFIED
Arvin P WieserGermanyIvan Magalhaes QUALIFIED
Ricardo L KolmetzArgentinaAsiya Javayant NEGOTIATION
Aruna I VenereBrazilAnna Fali QUALIFIED
Costa Z WhobreyJapanIvan Magalhaes NEGOTIATION
Faith R StockhamJapanOnyama Limba NEGOTIATION
Izzy Q ShinkoRussiaOnyama Limba PROPOSAL
Morrow Y BowleyAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois A DarakjyGermanyBernardo Dominic UNQUALIFIED
Smith N GlickArgentinaElwin Sharvill UNQUALIFIED
Francesco Z MarrierSpainIvan Magalhaes RENEWAL
Aruna C WaycottCanadaIvan Magalhaes UNQUALIFIED
Jones H StockhamFranceOnyama Limba QUALIFIED
Francesco G KolmetzItalyBernardo Dominic RENEWAL
Jones S WhobreyIndiaIoni Bowcher UNQUALIFIED
Johnson M MaletUnited KingdomElwin Sharvill RENEWAL
Isabel Q SchemmerUnited KingdomXuxue Feng 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>