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
Aruna S RulapaughBrazilStephen Shaw NEGOTIATION
Jones N StockhamSpainIvan Magalhaes UNQUALIFIED
Wickens U WaycottSpainAnna Fali RENEWAL
Chavez J IturbideIndiaOnyama Limba UNQUALIFIED
Adams G PoquetteGermanyElwin Sharvill RENEWAL
Mayumi M BowleyFranceIoni Bowcher PROPOSAL
Ivar D BriddickCanadaStephen Shaw QUALIFIED
Johnson L MaletCanadaXuxue Feng UNQUALIFIED
Cody G PerinItalyXuxue Feng PROPOSAL
Murillo E KuskoFranceAsiya Javayant UNQUALIFIED
Smith V SaylorsBrazilStephen Shaw UNQUALIFIED
Chavez F BriddickIndiaAsiya Javayant RENEWAL
Costa P MarrierSpainAmy Elsner RENEWAL
Francesco L KolmetzRussiaElwin Sharvill QUALIFIED
Chavez U GarufiJapanIoni Bowcher PROPOSAL
James U WhobreyJapanOnyama Limba NEW
Costa C SergiIndiaElwin Sharvill NEW
Alejandro N MaletBrazilBernardo Dominic UNQUALIFIED
Maria S VocelkaAustraliaElwin Sharvill UNQUALIFIED
Maria Y RimGermanyXuxue Feng PROPOSAL
Jefferson L ShinkoCanadaOnyama Limba PROPOSAL
Darci J FerenczIndiaAmy Elsner NEW
Jennifer W PoquetteArgentinaBernardo Dominic NEGOTIATION
Ashley U MaletArgentinaOnyama Limba NEGOTIATION
Leon C SaylorsItalyElwin Sharvill PROPOSAL
Misaki L FigeroaGermanyIvan Magalhaes QUALIFIED
Emily E WhobreyRussiaAsiya Javayant UNQUALIFIED
Clifford S CampainSpainAsiya Javayant NEGOTIATION
Alejandro U RulapaughBrazilOnyama Limba NEGOTIATION
Murillo U OstroskyFranceStephen Shaw PROPOSAL
Francesco C ButtRussiaOnyama Limba NEW
Darci T WaycottJapanIvan Magalhaes NEGOTIATION
Aika K MorascaItalyStephen Shaw PROPOSAL
Adams J OstroskyRussiaElwin Sharvill QUALIFIED
Ivar N BologniaCanadaIvan Magalhaes UNQUALIFIED
Octavia Z AlbaresRussiaAmy Elsner RENEWAL
James B FollerRussiaIoni Bowcher PROPOSAL
Francesco C MaletJapanAsiya Javayant PROPOSAL
Chavez E GauchoArgentinaStephen Shaw UNQUALIFIED
Silvio H StensethRussiaIoni Bowcher RENEWAL
Octavia X RoysterIndiaXuxue Feng NEW
Cody T GauchoIndiaElwin Sharvill QUALIFIED
Ricardo K SchemmerAustraliaElwin Sharvill NEGOTIATION
Jefferson M BowleyAustraliaOnyama Limba UNQUALIFIED
Nicolas V CaudyIndiaBernardo Dominic RENEWAL
Francesco Y SchemmerSpainElwin Sharvill PROPOSAL
Clifford B ShinkoAustraliaElwin Sharvill RENEWAL
Costa K FollerAustraliaIvan Magalhaes NEGOTIATION
Claire S VenereItalyOnyama Limba NEGOTIATION
Sinclair P VocelkaSpainStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon T FigeroaRussiaAsiya Javayant NEGOTIATION
Greenwood J OldroydUnited KingdomXuxue Feng UNQUALIFIED
Leon E StockhamAustraliaOnyama Limba NEGOTIATION
Ashley A IturbideSpainAnna Fali UNQUALIFIED
Nicolas Q KuskoBrazilAsiya Javayant RENEWAL
Arvin B FigeroaAustraliaIoni Bowcher NEW
Nicolas Y GarufiItalyXuxue Feng UNQUALIFIED
Cody F WieserJapanAsiya Javayant NEGOTIATION
Silvio K SaylorsJapanAsiya Javayant NEGOTIATION
Claire P GauchoUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy P BowleyCanada2026-07-24Dorl, James J Esq QUALIFIED20Xuxue Feng
1001Cody P DoeJapan2026-07-17Benton, John B Jr UNQUALIFIED98Amy Elsner
1002Antonio J WhobreySpain2026-07-10Rangoni Of Florence PROPOSAL39Xuxue Feng
1003Nicolas N GauchoBrazil2026-07-17Truhlar And Truhlar Attys RENEWAL95Elwin Sharvill
1004Ricardo L PoquetteAustralia2026-07-10Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1005Octavia T GlickJapan2026-07-11Dorl, James J Esq RENEWAL58Amy Elsner
1006Sinclair B VocelkaRussia2026-07-11Benton, John B Jr UNQUALIFIED19Amy Elsner
1007Johnson H FerenczJapan2026-06-28Chanay, Jeffrey A Esq QUALIFIED62Bernardo Dominic
1008Tony F SlusarskiRussia2026-07-15Printing Dimensions UNQUALIFIED13Ioni Bowcher
1009Cody I NestleItaly2026-07-06Chanay, Jeffrey A Esq NEW10Stephen Shaw
1010Smith P GarufiArgentina2026-07-03Chemel, James L Cpa NEW34Onyama Limba
1011Salvatore I ButtRussia2026-06-29Benton, John B Jr RENEWAL30Onyama Limba
1012Cody S CaldareraJapan2026-07-21Dorl, James J Esq RENEWAL53Onyama Limba
1013Deepesh A PaprockiFrance2026-07-08Truhlar And Truhlar Attys NEGOTIATION52Asiya Javayant
1014Silvio H GauchoIndia2026-07-01Feltz Printing Service PROPOSAL34Onyama Limba
1015Adams A TollnerCanada2026-07-16King, Christopher A Esq NEGOTIATION59Onyama Limba
1016Murillo Y WieserUnited Kingdom2026-07-04Rousseaux, Michael Esq NEW98Amy Elsner
1017Deepesh O StensethCanada2026-07-18Chanay, Jeffrey A Esq RENEWAL42Ioni Bowcher
1018David H CaldareraFrance2026-07-01Commercial Press UNQUALIFIED63Ioni Bowcher
1019Isabel Y GauchoCanada2026-07-11Feltz Printing Service RENEWAL23Anna Fali
1020Johnson S GlickAustralia2026-07-08Morlong Associates UNQUALIFIED45Stephen Shaw
1021James T BologniaUnited Kingdom2026-07-10Feiner Bros NEGOTIATION6Anna Fali
1022Jones I AlbaresIndia2026-07-02Chapman, Ross E Esq QUALIFIED28Elwin Sharvill
1023Ricardo Z GillianArgentina2026-07-11Dorl, James J Esq PROPOSAL54Onyama Limba
1024Rodrigues A FigeroaArgentina2026-07-02Benton, John B Jr QUALIFIED85Elwin Sharvill
1025Izzy I ShinkoItaly2026-07-25Rousseaux, Michael Esq NEGOTIATION96Elwin Sharvill
1026Julie H PaprockiUnited Kingdom2026-07-05Printing Dimensions NEW86Elwin Sharvill
1027Jeanfrancois D RutaArgentina2026-06-29Printing Dimensions NEGOTIATION97Onyama Limba
1028Stacey N WieserRussia2026-07-26Chanay, Jeffrey A Esq NEGOTIATION78Asiya Javayant
1029Darci Z MacleadGermany2026-07-14Feltz Printing Service NEGOTIATION60Onyama Limba
1030Misaki A BologniaArgentina2026-07-19Feltz Printing Service QUALIFIED91Amy Elsner
1031Adams R CampainGermany2026-07-18Morlong Associates NEGOTIATION8Stephen Shaw
1032Munro E ShinkoIndia2026-07-26Printing Dimensions QUALIFIED45Elwin Sharvill
1033Aika B WhobreyIndia2026-07-22Dorl, James J Esq NEW56Anna Fali
1034Claire E FigeroaGermany2026-07-06Morlong Associates RENEWAL20Elwin Sharvill
1035Julie K AlbaresArgentina2026-06-30Chapman, Ross E Esq NEW35Asiya Javayant
1036Stacey M GarufiIndia2026-07-07Morlong Associates NEGOTIATION7Amy Elsner
1037Julie U IturbideJapan2026-07-06Benton, John B Jr QUALIFIED99Stephen Shaw
1038Smith Z FigeroaAustralia2026-07-24King, Christopher A Esq PROPOSAL36Bernardo Dominic
1039Kadeem Z MaletBrazil2026-07-19Chemel, James L Cpa NEW40Stephen Shaw
1040Julie L MacleadJapan2026-07-06Rangoni Of Florence UNQUALIFIED24Ivan Magalhaes
1041Antonio X WieserGermany2026-07-25Chapman, Ross E Esq UNQUALIFIED34Asiya Javayant
1042James A SaylorsIndia2026-07-24Dorl, James J Esq RENEWAL47Stephen Shaw
1043Aika F KolmetzGermany2026-07-20Chemel, James L Cpa PROPOSAL55Onyama Limba
1044Ivar U SaylorsBrazil2026-07-03Morlong Associates PROPOSAL40Anna Fali
1045Julie I MorascaRussia2026-07-08Buckley Miller Wright RENEWAL49Elwin Sharvill
1046Leon W PaprockiUnited Kingdom2026-07-21Truhlar And Truhlar Attys UNQUALIFIED51Ivan Magalhaes
1047Johnson T KolmetzBrazil2026-07-12Morlong Associates UNQUALIFIED63Elwin Sharvill
1048Jeanfrancois M MorascaJapan2026-07-19Commercial Press RENEWAL3Onyama Limba
1049Adams P SchemmerIndia2026-07-25Rangoni Of Florence QUALIFIED26Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody E MorascaItalyAsiya Javayant UNQUALIFIED
Francesco N FlosiArgentinaXuxue Feng UNQUALIFIED
Juan X RimGermanyElwin Sharvill QUALIFIED
Nicolas F MorascaItalyIvan Magalhaes QUALIFIED
Silvio W CaudyBrazilXuxue Feng NEGOTIATION
Aditya A FigeroaSpainStephen Shaw PROPOSAL
Clifford K SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Morrow Y VenereGermanyAsiya Javayant RENEWAL
Munro W BologniaRussiaIoni Bowcher NEW
Ricardo I StockhamJapanElwin Sharvill PROPOSAL
Ricardo Z MaletRussiaElwin Sharvill QUALIFIED
Adams O KuskoCanadaAnna Fali PROPOSAL
Aika I StockhamRussiaXuxue Feng NEGOTIATION
Costa P PoquetteAustraliaElwin Sharvill NEGOTIATION
Silvio D KolmetzBrazilOnyama Limba PROPOSAL
Isabel B CampainAustraliaElwin Sharvill PROPOSAL
Kaitlin M VocelkaBrazilAmy Elsner UNQUALIFIED
Mayumi Z FerenczJapanElwin Sharvill NEGOTIATION
Salvatore S IturbideAustraliaIvan Magalhaes QUALIFIED
Silvio N DarakjyBrazilAmy Elsner QUALIFIED
Jones D MaletArgentinaIvan Magalhaes RENEWAL
Cody R GauchoBrazilXuxue Feng QUALIFIED
Costa F WieserRussiaStephen Shaw NEW
Mujtaba U PoquetteAustraliaIoni Bowcher UNQUALIFIED
Maisha E NickaRussiaAsiya Javayant QUALIFIED
Maria M PerinArgentinaIvan Magalhaes NEW
Smith T BowleyUnited KingdomOnyama Limba PROPOSAL
Ricardo U BowleyJapanIvan Magalhaes RENEWAL
Wickens E AmigonAustraliaIvan Magalhaes NEGOTIATION
Faith M PoquetteGermanyAnna Fali QUALIFIED
Clifford Z MarrierArgentinaAmy Elsner UNQUALIFIED
Silvio C ButtArgentinaStephen Shaw PROPOSAL
Morrow O IturbideArgentinaStephen Shaw UNQUALIFIED
Murillo P IturbideRussiaStephen Shaw PROPOSAL
Octavia G FigeroaGermanyAnna Fali NEGOTIATION
Ivar F PaprockiGermanyIvan Magalhaes QUALIFIED
James N GarufiGermanyOnyama Limba NEGOTIATION
Leon R CampainAustraliaXuxue Feng UNQUALIFIED
Sinclair X WieserCanadaAmy Elsner PROPOSAL
Aditya N StensethGermanyIoni Bowcher UNQUALIFIED
Morrow W NestleJapanElwin Sharvill RENEWAL
Jennifer J BriddickIndiaOnyama Limba UNQUALIFIED
Aditya K SchemmerFranceOnyama Limba QUALIFIED
Izzy M PerinAustraliaAmy Elsner NEW
Maria H ShinkoBrazilAnna Fali RENEWAL
Kaitlin T ButtItalyBernardo Dominic PROPOSAL
Aruna N SaylorsJapanAmy Elsner QUALIFIED
Tony B DoeFranceIvan Magalhaes UNQUALIFIED
Smith A GarufiSpainOnyama Limba QUALIFIED
Jefferson I SaylorsItalyAnna Fali NEGOTIATION
Frozen Columns
Name
Francesco W Dilliard
Maisha S Ferencz
David E Gaucho
Munro F Stockham
Mujtaba T Figeroa
Mujtaba L Wieser
Salvatore B Paprocki
Jennifer V Ostrosky
Emily S Nicka
Clifford R Kolmetz
Rodrigues O Slusarski
Leja I Marrier
Alejandro V Kusko
David M Nestle
Ricardo X Tollner
Jeanfrancois L Briddick
Mayumi V Figeroa
Nicolas X Darakjy
Salvatore E Bolognia
Emily L Rim
Sinclair M Waycott
Juan F Caudy
Arvin D Royster
Kaitlin M Amigon
Leja S Maclead
Ivar M Tollner
Adams O Malet
Deepesh Z Malet
Chavez L Perin
Darci H Bolognia
James G Slusarski
Francesco E Amigon
Leja Y Morasca
Jennifer I Royster
Silvio O Dilliard
Octavia Q Nicka
Deepesh T Glick
Faith S Kolmetz
Jennifer N Malet
Tony Y Morasca
Wickens D Venere
David W Oldroyd
Ivar Y Perin
Smith W Caldarera
Octavia H Perin
Julie D Saylors
Francesco K Butt
Leja J Maclead
James H Caldarera
Sinclair Q Ferencz
IdCountryDate
1000United Kingdom2026-07-23
1001United Kingdom2026-07-06
1002Russia2026-07-03
1003France2026-07-14
1004India2026-07-05
1005Italy2026-07-22
1006Russia2026-07-15
1007Russia2026-06-29
1008France2026-07-03
1009Italy2026-07-08
1010Germany2026-07-12
1011Germany2026-06-30
1012United Kingdom2026-07-02
1013Italy2026-07-11
1014India2026-07-17
1015France2026-07-20
1016Germany2026-07-07
1017Italy2026-07-01
1018United Kingdom2026-07-20
1019Australia2026-07-04
1020United Kingdom2026-06-29
1021Canada2026-07-02
1022Germany2026-07-06
1023Italy2026-07-12
1024Spain2026-07-26
1025Argentina2026-07-08
1026France2026-07-16
1027Germany2026-07-12
1028Brazil2026-07-05
1029Spain2026-07-14
1030France2026-06-27
1031Canada2026-07-17
1032Canada2026-07-26
1033Argentina2026-07-06
1034France2026-07-16
1035Japan2026-07-25
1036Germany2026-07-24
1037Argentina2026-07-03
1038France2026-07-17
1039Spain2026-07-19
1040India2026-07-18
1041Russia2026-07-04
1042Argentina2026-07-18
1043Argentina2026-07-22
1044Spain2026-07-24
1045Russia2026-06-30
1046India2026-06-27
1047Russia2026-07-17
1048France2026-07-20
1049Japan2026-07-25

On-Demand Data

NameIdCountryDate
Costa V Ruta1000Argentina2026-07-07
Isabel U Bowley1001France2026-07-14
Nicolas R Oldroyd1002Germany2026-06-28
Jefferson T Nestle1003Germany2026-07-13
Costa Y Ruta1004Brazil2026-07-01
Adams H Chui1005United Kingdom2026-07-18
Murillo K Ruta1006France2026-07-06
Tony F Vocelka1007France2026-07-20
Antonio F Perin1008Spain2026-06-29
Morrow D Venere1009Argentina2026-06-28
Antonio G Bowley1010Germany2026-07-11
Arvin V Shinko1011Spain2026-07-25
Costa J Poquette1012Australia2026-07-16
Aika Q Nicka1013Argentina2026-07-13
Aditya E Stenseth1014Brazil2026-07-06
Jeanfrancois O Inouye1015Germany2026-07-11
Jennifer K Saylors1016France2026-06-29
Jennifer N Morasca1017Australia2026-07-15
Smith Z Albares1018Argentina2026-07-09
Stacey C Flosi1019India2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba W WhobreyBrazilAmy Elsner QUALIFIED
Darci W IturbideUnited KingdomXuxue Feng NEW
Clifford Q NestleIndiaIoni Bowcher NEW
Mujtaba N BowleyFranceElwin Sharvill QUALIFIED
Ricardo F NickaFranceBernardo Dominic NEW
Smith R IturbideFranceAsiya Javayant QUALIFIED
Antonio D AlbaresArgentinaAmy Elsner QUALIFIED
Misaki F MacleadBrazilIoni Bowcher NEGOTIATION
Cody C SergiJapanAnna Fali NEGOTIATION
Adams V ButtItalyElwin Sharvill PROPOSAL
Tony C PaprockiArgentinaAsiya Javayant NEGOTIATION
Greenwood J WhobreyRussiaIvan Magalhaes NEW
Aditya U MacleadJapanAmy Elsner NEW
Jefferson D MarrierAustraliaStephen Shaw NEW
Isabel V SaylorsRussiaElwin Sharvill UNQUALIFIED
Octavia W GauchoArgentinaStephen Shaw UNQUALIFIED
Ivar F SergiBrazilIvan Magalhaes UNQUALIFIED
Jefferson I AlbaresJapanStephen Shaw NEGOTIATION
Sinclair N VocelkaSpainAnna Fali NEW
Kaitlin J SergiFranceAnna Fali PROPOSAL
Tony K DarakjyRussiaIvan Magalhaes UNQUALIFIED
Aditya G SlusarskiItalyAsiya Javayant RENEWAL
Smith T KolmetzAustraliaIvan Magalhaes NEW
Cody D AmigonSpainStephen Shaw NEW
Aruna K PerinArgentinaElwin Sharvill NEW
Aika L FigeroaFranceAnna Fali NEW
Aika B SergiItalyAmy Elsner NEGOTIATION
Faith R CaldareraJapanXuxue Feng NEGOTIATION
Morrow M CampainCanadaAsiya Javayant QUALIFIED
Claire K KuskoItalyOnyama Limba NEGOTIATION
Ivar F FigeroaRussiaAnna Fali RENEWAL
Mujtaba Q NestleBrazilIvan Magalhaes UNQUALIFIED
Francesco P NickaGermanyStephen Shaw UNQUALIFIED
Julie L NestleIndiaAsiya Javayant PROPOSAL
Claire P IturbideFranceIoni Bowcher UNQUALIFIED
Salvatore Y FlosiSpainStephen Shaw RENEWAL
Antonio B VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Arvin W CampainGermanyAmy Elsner UNQUALIFIED
Ivar Z NestleIndiaBernardo Dominic RENEWAL
Faith F GauchoFranceAsiya Javayant QUALIFIED

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