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
Jeanfrancois O BowleyBrazilBernardo Dominic QUALIFIED
Juan X ButtCanadaAnna Fali UNQUALIFIED
Ricardo A SlusarskiJapanAsiya Javayant UNQUALIFIED
Octavia O StockhamArgentinaIvan Magalhaes UNQUALIFIED
Nicolas V DoeAustraliaAnna Fali NEGOTIATION
Aditya Y BowleyBrazilElwin Sharvill UNQUALIFIED
Misaki N ChuiFranceAsiya Javayant QUALIFIED
Sinclair E MorascaJapanStephen Shaw PROPOSAL
Mayumi V MorascaBrazilXuxue Feng UNQUALIFIED
Maisha T StensethGermanyIoni Bowcher QUALIFIED
Tony S CaudyUnited KingdomXuxue Feng PROPOSAL
Izzy J BologniaGermanyIoni Bowcher QUALIFIED
Antonio K ShinkoIndiaAmy Elsner UNQUALIFIED
Maria C PerinIndiaElwin Sharvill NEGOTIATION
Jennifer J MaletSpainAnna Fali QUALIFIED
Greenwood C MaletBrazilOnyama Limba PROPOSAL
Smith O OldroydRussiaXuxue Feng NEGOTIATION
Chavez N SchemmerArgentinaStephen Shaw PROPOSAL
Tony F MarrierCanadaBernardo Dominic NEW
Cody W ChuiIndiaAnna Fali NEW
Jennifer D ShinkoItalyXuxue Feng QUALIFIED
Adams P CaudyCanadaXuxue Feng NEGOTIATION
Darci U GauchoGermanyXuxue Feng NEGOTIATION
Maisha N BriddickIndiaIoni Bowcher UNQUALIFIED
Arvin Q StockhamJapanAnna Fali RENEWAL
Salvatore B DarakjyBrazilIvan Magalhaes NEW
Jefferson F SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Darci F GillianRussiaIvan Magalhaes RENEWAL
Salvatore A FerenczJapanAmy Elsner QUALIFIED
Jefferson F DilliardUnited KingdomXuxue Feng PROPOSAL
Silvio S GarufiUnited KingdomAnna Fali NEW
Isabel J PaprockiIndiaAsiya Javayant PROPOSAL
Mayumi U WhobreySpainElwin Sharvill RENEWAL
Jefferson E AmigonCanadaAnna Fali UNQUALIFIED
Salvatore B BriddickAustraliaIvan Magalhaes PROPOSAL
Ashley W MarrierFranceAnna Fali UNQUALIFIED
Costa Q MarrierFranceIvan Magalhaes PROPOSAL
Clifford E AmigonGermanyIvan Magalhaes RENEWAL
Aditya T SergiFranceElwin Sharvill NEW
Salvatore A RoysterCanadaBernardo Dominic QUALIFIED
Stacey O FigeroaGermanyIoni Bowcher QUALIFIED
Aruna C DarakjyUnited KingdomStephen Shaw PROPOSAL
Francesco J BriddickItalyAmy Elsner RENEWAL
Salvatore B ChuiRussiaElwin Sharvill PROPOSAL
Juan Q MacleadUnited KingdomIoni Bowcher RENEWAL
Adams M PerinBrazilXuxue Feng PROPOSAL
Silvio G BologniaCanadaAnna Fali NEW
Leon U MacleadAustraliaAnna Fali PROPOSAL
Johnson V GillianUnited KingdomIoni Bowcher NEW
Jennifer B TollnerArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin L IturbideArgentinaIvan Magalhaes PROPOSAL
Claire Z RutaArgentinaAmy Elsner NEGOTIATION
Aruna B StockhamBrazilXuxue Feng PROPOSAL
Darci N SergiCanadaAmy Elsner RENEWAL
David D GillianUnited KingdomAsiya Javayant RENEWAL
Jefferson W WhobreyBrazilXuxue Feng NEW
Jones M GillianGermanyOnyama Limba NEW
Mujtaba U RulapaughRussiaIoni Bowcher NEGOTIATION
Maisha J VenereJapanIvan Magalhaes NEGOTIATION
Aruna E StensethSpainIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Q SchemmerFrance2026-06-12King, Christopher A Esq PROPOSAL76Bernardo Dominic
1001James O FerenczSpain2026-06-14Chanay, Jeffrey A Esq NEGOTIATION43Anna Fali
1002Ivar P RimFrance2026-06-07Benton, John B Jr PROPOSAL65Ivan Magalhaes
1003Leon L BowleySpain2026-06-30Chapman, Ross E Esq PROPOSAL59Xuxue Feng
1004Maria Z FollerJapan2026-06-28Truhlar And Truhlar Attys PROPOSAL19Xuxue Feng
1005Clifford P VenereAustralia2026-06-28King, Christopher A Esq NEW95Asiya Javayant
1006Clifford U SaylorsBrazil2026-06-06Printing Dimensions QUALIFIED14Stephen Shaw
1007Mujtaba J FigeroaItaly2026-06-11Rangoni Of Florence PROPOSAL52Ioni Bowcher
1008Emily J PoquetteIndia2026-06-01Printing Dimensions NEW93Amy Elsner
1009Jennifer E MarrierIndia2026-06-10Feltz Printing Service UNQUALIFIED88Asiya Javayant
1010Juan G StockhamSpain2026-06-27Morlong Associates UNQUALIFIED68Amy Elsner
1011Kaitlin O CaudyAustralia2026-06-14Truhlar And Truhlar Attys PROPOSAL99Stephen Shaw
1012Aditya M GarufiSpain2026-06-02Dorl, James J Esq RENEWAL2Onyama Limba
1013Ashley D GlickAustralia2026-06-18Dorl, James J Esq NEW6Amy Elsner
1014Leja Q PaprockiRussia2026-06-08Feiner Bros UNQUALIFIED53Amy Elsner
1015Faith A GarufiIndia2026-06-08Chanay, Jeffrey A Esq UNQUALIFIED97Asiya Javayant
1016Ivar B MaletUnited Kingdom2026-06-06Dorl, James J Esq UNQUALIFIED95Stephen Shaw
1017Wickens I NestleItaly2026-06-18Rangoni Of Florence NEGOTIATION87Asiya Javayant
1018Adams Q PaprockiUnited Kingdom2026-06-25Rangoni Of Florence QUALIFIED59Onyama Limba
1019Julie D BriddickArgentina2026-06-26Feltz Printing Service RENEWAL13Amy Elsner
1020Ivar S OstroskyRussia2026-06-19Feiner Bros NEGOTIATION7Anna Fali
1021Claire I BriddickBrazil2026-06-16Chanay, Jeffrey A Esq RENEWAL45Asiya Javayant
1022Clifford B GarufiItaly2026-06-04Morlong Associates NEW37Bernardo Dominic
1023Kadeem O VenereJapan2026-06-22Buckley Miller Wright RENEWAL82Ioni Bowcher
1024Alejandro D StensethIndia2026-06-05Benton, John B Jr NEW38Elwin Sharvill
1025Ashley V DilliardItaly2026-06-03Benton, John B Jr NEW37Amy Elsner
1026Kadeem L MacleadRussia2026-06-17Buckley Miller Wright PROPOSAL45Bernardo Dominic
1027Jones M GillianRussia2026-06-26King, Christopher A Esq NEGOTIATION95Xuxue Feng
1028Julie I FigeroaGermany2026-06-13Commercial Press NEGOTIATION35Asiya Javayant
1029Aruna O AlbaresSpain2026-06-10Chapman, Ross E Esq NEGOTIATION36Bernardo Dominic
1030Ashley Y CaldareraCanada2026-06-11Chapman, Ross E Esq NEGOTIATION58Elwin Sharvill
1031Aika K FlosiRussia2026-06-03Chemel, James L Cpa NEW48Asiya Javayant
1032Tony K PaprockiItaly2026-06-11Chemel, James L Cpa RENEWAL88Elwin Sharvill
1033Stacey N SchemmerCanada2026-06-28Rangoni Of Florence QUALIFIED33Stephen Shaw
1034Darci I RutaJapan2026-06-10Chemel, James L Cpa PROPOSAL70Bernardo Dominic
1035Silvio A MacleadUnited Kingdom2026-06-11Chanay, Jeffrey A Esq NEW4Asiya Javayant
1036Ricardo S FollerAustralia2026-06-16Commercial Press PROPOSAL56Onyama Limba
1037Jeanfrancois V GarufiRussia2026-06-20King, Christopher A Esq NEGOTIATION46Anna Fali
1038Ivar M VenereItaly2026-06-07Chanay, Jeffrey A Esq QUALIFIED50Asiya Javayant
1039Octavia F SchemmerBrazil2026-06-16Commercial Press RENEWAL21Ioni Bowcher
1040Ricardo S GillianItaly2026-06-10Commercial Press NEW66Amy Elsner
1041Ashley N RimSpain2026-06-25Chemel, James L Cpa PROPOSAL4Elwin Sharvill
1042Stacey Z GillianAustralia2026-06-22Commercial Press PROPOSAL97Onyama Limba
1043Izzy K RimUnited Kingdom2026-06-06Chanay, Jeffrey A Esq RENEWAL37Onyama Limba
1044Claire H NestleSpain2026-06-07Feiner Bros NEGOTIATION15Amy Elsner
1045Salvatore R StensethJapan2026-06-15Benton, John B Jr RENEWAL54Ivan Magalhaes
1046David R DilliardIndia2026-06-17Rousseaux, Michael Esq NEGOTIATION29Anna Fali
1047Deepesh I MarrierIndia2026-06-09Buckley Miller Wright UNQUALIFIED6Xuxue Feng
1048Ricardo F BowleyCanada2026-06-14Commercial Press PROPOSAL5Anna Fali
1049Deepesh U VocelkaUnited Kingdom2026-06-06Morlong Associates RENEWAL28Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois T RutaJapanIvan Magalhaes UNQUALIFIED
Smith D OstroskySpainIoni Bowcher NEW
Rodrigues O WieserItalyAnna Fali NEW
Aditya E BowleySpainAnna Fali PROPOSAL
Adams Y RutaAustraliaIvan Magalhaes QUALIFIED
Tony C ButtJapanAnna Fali QUALIFIED
Octavia L FlosiCanadaAnna Fali QUALIFIED
Alejandro L WaycottSpainIvan Magalhaes NEW
Leon N SchemmerArgentinaAsiya Javayant UNQUALIFIED
Deepesh W SchemmerArgentinaIoni Bowcher RENEWAL
Antonio T FigeroaItalyAnna Fali NEGOTIATION
Jefferson L DoeIndiaAnna Fali QUALIFIED
Octavia K SaylorsArgentinaAmy Elsner QUALIFIED
Ricardo G SergiBrazilOnyama Limba QUALIFIED
Faith O CampainRussiaAsiya Javayant RENEWAL
Mayumi Z RutaJapanAnna Fali QUALIFIED
Kaitlin F TollnerSpainIvan Magalhaes NEW
Rodrigues H SaylorsAustraliaXuxue Feng PROPOSAL
Aika J ChuiRussiaStephen Shaw RENEWAL
Greenwood B ShinkoAustraliaIvan Magalhaes PROPOSAL
Julie G SergiGermanyXuxue Feng NEGOTIATION
Aditya S OldroydRussiaIvan Magalhaes PROPOSAL
Mujtaba U InouyeUnited KingdomIoni Bowcher NEGOTIATION
Julie U GlickJapanIoni Bowcher PROPOSAL
Misaki M NestleFranceElwin Sharvill QUALIFIED
Maisha C MaletArgentinaStephen Shaw PROPOSAL
Aika C WhobreyIndiaElwin Sharvill RENEWAL
Jefferson R PoquetteSpainIvan Magalhaes NEW
Octavia L NickaItalyBernardo Dominic QUALIFIED
Stacey X PerinFranceAsiya Javayant PROPOSAL
Aruna W NestleCanadaAnna Fali NEW
Mayumi C GlickArgentinaAsiya Javayant PROPOSAL
Aditya G IturbideRussiaOnyama Limba RENEWAL
Darci K BriddickRussiaOnyama Limba QUALIFIED
Julie K TollnerAustraliaBernardo Dominic PROPOSAL
Aruna S BriddickCanadaAnna Fali PROPOSAL
Morrow C VenereUnited KingdomElwin Sharvill NEW
Arvin R DarakjyAustraliaBernardo Dominic QUALIFIED
Octavia K CampainItalyBernardo Dominic NEW
Costa L MaletItalyAmy Elsner RENEWAL
Aditya G DilliardRussiaAmy Elsner UNQUALIFIED
Chavez B GillianGermanyAsiya Javayant NEGOTIATION
Salvatore C FlosiBrazilBernardo Dominic RENEWAL
Jones N FigeroaAustraliaElwin Sharvill NEGOTIATION
Nicolas Q BriddickSpainIvan Magalhaes QUALIFIED
Deepesh D DarakjyJapanIvan Magalhaes QUALIFIED
Juan C PerinJapanAsiya Javayant RENEWAL
Wickens W FollerRussiaBernardo Dominic NEW
Cody K BologniaCanadaAsiya Javayant RENEWAL
Antonio D DoeGermanyElwin Sharvill RENEWAL
Frozen Columns
Name
Julie Q Marrier
Maria O Oldroyd
Leon P Garufi
Kadeem N Gaucho
Jeanfrancois V Whobrey
Smith H Royster
Nicolas N Oldroyd
Aditya K Flosi
Adams O Venere
Tony K Venere
Smith P Morasca
Leja N Slusarski
Leon L Tollner
Leon Q Darakjy
Ivar K Stockham
Mayumi A Waycott
Faith T Inouye
Munro B Bolognia
Jennifer A Garufi
Murillo K Rim
Cody X Wieser
Juan G Morasca
Silvio D Gillian
Faith G Albares
Kaitlin T Venere
Octavia N Maclead
Munro T Briddick
Chavez W Slusarski
Antonio O Glick
Sinclair M Albares
Faith E Ostrosky
Juan N Inouye
Kadeem E Kusko
Aruna N Iturbide
Maria L Rim
Smith E Kolmetz
Claire H Flosi
Izzy Y Rim
Smith E Foller
Mujtaba M Waycott
Clifford S Malet
Maisha A Garufi
Mayumi J Ostrosky
Cody P Sergi
Chavez W Maclead
Costa R Vocelka
Salvatore N Slusarski
Munro E Stenseth
Leon K Amigon
Misaki G Poquette
IdCountryDate
1000Russia2026-06-20
1001Australia2026-06-16
1002Spain2026-06-26
1003Italy2026-06-05
1004India2026-06-23
1005Russia2026-06-17
1006France2026-06-02
1007Spain2026-06-10
1008Australia2026-06-29
1009Japan2026-06-23
1010Russia2026-06-28
1011Japan2026-06-11
1012India2026-06-18
1013Argentina2026-06-03
1014United Kingdom2026-06-26
1015Germany2026-06-13
1016Spain2026-06-02
1017India2026-06-15
1018Germany2026-06-06
1019Argentina2026-06-27
1020Germany2026-06-05
1021Australia2026-06-25
1022Japan2026-06-28
1023Italy2026-06-19
1024Australia2026-06-10
1025Australia2026-06-18
1026France2026-06-04
1027Japan2026-06-02
1028Australia2026-06-22
1029Italy2026-06-12
1030Australia2026-06-10
1031United Kingdom2026-06-01
1032United Kingdom2026-06-14
1033France2026-06-15
1034Australia2026-06-18
1035Japan2026-06-27
1036India2026-06-15
1037Argentina2026-06-29
1038Brazil2026-06-22
1039Russia2026-06-04
1040Japan2026-06-22
1041Australia2026-06-25
1042France2026-06-18
1043Japan2026-06-09
1044Japan2026-06-18
1045Italy2026-06-19
1046France2026-06-12
1047Japan2026-06-14
1048Russia2026-06-25
1049Canada2026-06-10

On-Demand Data

NameIdCountryDate
Faith T Doe1000Japan2026-06-03
Ashley U Maclead1001Canada2026-06-24
Octavia I Foller1002Australia2026-06-05
Antonio W Bowley1003France2026-06-25
Silvio O Foller1004France2026-06-24
Kadeem P Rulapaugh1005Russia2026-06-14
Munro H Malet1006India2026-06-10
Greenwood F Oldroyd1007United Kingdom2026-06-23
Morrow K Flosi1008Australia2026-06-19
Nicolas F Figeroa1009Australia2026-06-09
Ivar N Butt1010United Kingdom2026-06-20
Nicolas Z Paprocki1011Canada2026-06-23
Jefferson V Gillian1012Russia2026-06-11
Faith L Gillian1013Italy2026-06-30
Juan A Glick1014Argentina2026-06-04
Arvin P Butt1015Japan2026-06-25
Jennifer V Venere1016Russia2026-06-11
Salvatore M Caldarera1017Russia2026-06-06
Silvio A Shinko1018Argentina2026-06-19
Mujtaba N Ferencz1019Germany2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria H AlbaresSpainAnna Fali NEW
Jefferson I TollnerRussiaStephen Shaw NEW
Rodrigues U SchemmerArgentinaIoni Bowcher UNQUALIFIED
Sinclair D OstroskyCanadaBernardo Dominic RENEWAL
Adams N RimAustraliaStephen Shaw UNQUALIFIED
Mujtaba M StensethSpainBernardo Dominic NEW
Tony U RulapaughBrazilIvan Magalhaes PROPOSAL
Faith X CaudyUnited KingdomIoni Bowcher PROPOSAL
Kaitlin Y InouyeRussiaStephen Shaw UNQUALIFIED
Cody U MarrierGermanyAsiya Javayant NEGOTIATION
Munro K BowleyIndiaIoni Bowcher NEW
Maisha C IturbideSpainIvan Magalhaes UNQUALIFIED
Aika F FigeroaRussiaElwin Sharvill PROPOSAL
Deepesh D MaletRussiaAnna Fali NEGOTIATION
David T SaylorsCanadaAsiya Javayant NEGOTIATION
Munro F FigeroaGermanyBernardo Dominic UNQUALIFIED
Morrow Y MaletRussiaXuxue Feng RENEWAL
Alejandro G ChuiArgentinaIvan Magalhaes NEW
Jefferson T ChuiRussiaOnyama Limba UNQUALIFIED
Adams Z BologniaCanadaIoni Bowcher UNQUALIFIED
Alejandro H RoysterCanadaIvan Magalhaes QUALIFIED
Izzy Q KuskoSpainAmy Elsner PROPOSAL
Morrow H TollnerAustraliaAnna Fali PROPOSAL
Ricardo N DoeSpainStephen Shaw RENEWAL
Tony A RimJapanOnyama Limba RENEWAL
Kaitlin V SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Julie I AmigonAustraliaXuxue Feng RENEWAL
Silvio H KolmetzSpainBernardo Dominic NEW
Francesco Z WhobreyJapanAnna Fali RENEWAL
Arvin J CaldareraGermanyIoni Bowcher PROPOSAL
Mujtaba E DarakjyArgentinaAsiya Javayant UNQUALIFIED
Munro R CaudyIndiaOnyama Limba NEW
Faith I MaletAustraliaXuxue Feng PROPOSAL
Izzy S NickaArgentinaAmy Elsner RENEWAL
Chavez C BowleyItalyXuxue Feng NEW
David M FlosiFranceIvan Magalhaes UNQUALIFIED
Octavia D OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
James Y WhobreyJapanOnyama Limba NEW
Octavia Z SchemmerIndiaAsiya Javayant NEGOTIATION
Emily K RulapaughGermanyAsiya Javayant UNQUALIFIED

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