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
Isabel T DarakjyArgentinaAsiya Javayant PROPOSAL
Salvatore A SchemmerGermanyAmy Elsner NEGOTIATION
Greenwood N CampainBrazilAnna Fali RENEWAL
Tony N KuskoRussiaAnna Fali RENEWAL
Tony G NestleFranceAmy Elsner UNQUALIFIED
Salvatore G RoysterJapanOnyama Limba NEGOTIATION
Deepesh L StockhamSpainIoni Bowcher PROPOSAL
Clifford G TollnerAustraliaAmy Elsner NEGOTIATION
Aruna Q RulapaughIndiaAnna Fali QUALIFIED
Maria E MorascaIndiaIvan Magalhaes RENEWAL
Claire O WhobreyGermanyOnyama Limba UNQUALIFIED
Johnson A GarufiBrazilStephen Shaw PROPOSAL
Leja D SergiAustraliaIvan Magalhaes RENEWAL
Leon B RutaGermanyIoni Bowcher RENEWAL
Maria M IturbideUnited KingdomBernardo Dominic NEGOTIATION
Ivar F WaycottGermanyOnyama Limba QUALIFIED
Morrow R PaprockiJapanXuxue Feng PROPOSAL
Chavez V RutaUnited KingdomElwin Sharvill NEGOTIATION
David N RulapaughItalyBernardo Dominic PROPOSAL
Emily F MorascaItalyXuxue Feng NEGOTIATION
Aika V FerenczSpainAnna Fali UNQUALIFIED
Claire I MacleadBrazilAmy Elsner PROPOSAL
Ricardo O SchemmerRussiaIoni Bowcher NEW
Julie V SaylorsUnited KingdomOnyama Limba RENEWAL
Tony H NestleArgentinaBernardo Dominic NEW
Deepesh H MorascaFranceIvan Magalhaes QUALIFIED
David Y OstroskyUnited KingdomXuxue Feng QUALIFIED
Alejandro C PoquetteUnited KingdomBernardo Dominic NEGOTIATION
James G MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer O WieserArgentinaAsiya Javayant RENEWAL
Johnson L DilliardBrazilIvan Magalhaes QUALIFIED
Aruna T PoquetteFranceElwin Sharvill PROPOSAL
Aruna F RimIndiaIoni Bowcher UNQUALIFIED
Sinclair T MaletCanadaIvan Magalhaes RENEWAL
Greenwood P InouyeCanadaOnyama Limba UNQUALIFIED
Juan S MarrierBrazilAnna Fali RENEWAL
Antonio U PaprockiFranceAmy Elsner RENEWAL
Munro E WhobreyUnited KingdomStephen Shaw QUALIFIED
Alejandro J WaycottFranceAnna Fali UNQUALIFIED
Salvatore B VenereCanadaXuxue Feng QUALIFIED
Francesco J GillianItalyBernardo Dominic RENEWAL
Morrow T TollnerRussiaStephen Shaw NEW
Leon W BowleyBrazilIoni Bowcher RENEWAL
Faith N VenereCanadaIvan Magalhaes NEW
Arvin R FollerBrazilIvan Magalhaes NEW
Greenwood T NickaItalyAsiya Javayant PROPOSAL
Johnson I BriddickCanadaStephen Shaw QUALIFIED
Johnson G SergiSpainIvan Magalhaes UNQUALIFIED
Antonio G BowleyUnited KingdomOnyama Limba QUALIFIED
Cody W SaylorsAustraliaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan G FlosiUnited KingdomXuxue Feng NEGOTIATION
Chavez J FerenczAustraliaAnna Fali RENEWAL
Cody S CaldareraIndiaAnna Fali NEGOTIATION
Claire D WieserFranceAnna Fali NEW
Nicolas T KuskoFranceElwin Sharvill RENEWAL
Adams U IturbideCanadaIvan Magalhaes UNQUALIFIED
Jefferson J OstroskyItalyIoni Bowcher PROPOSAL
Misaki T NickaGermanyBernardo Dominic QUALIFIED
Stacey R DoeItalyElwin Sharvill QUALIFIED
Isabel O MarrierGermanyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa O RimGermany2026-06-11Buckley Miller Wright NEW87Stephen Shaw
1001Faith Q WhobreyAustralia2026-06-06Rangoni Of Florence RENEWAL11Ivan Magalhaes
1002David J OstroskyIndia2026-06-07Feiner Bros NEGOTIATION56Ioni Bowcher
1003Chavez Z KolmetzArgentina2026-06-29Dorl, James J Esq RENEWAL27Onyama Limba
1004Aditya A ShinkoRussia2026-06-08Chemel, James L Cpa RENEWAL39Elwin Sharvill
1005Mayumi H ChuiAustralia2026-06-24Truhlar And Truhlar Attys PROPOSAL83Ivan Magalhaes
1006Julie A SchemmerSpain2026-06-03Chanay, Jeffrey A Esq NEW90Ioni Bowcher
1007Mujtaba V SlusarskiIndia2026-06-18Printing Dimensions NEGOTIATION57Ivan Magalhaes
1008Adams T PaprockiCanada2026-06-23Chemel, James L Cpa UNQUALIFIED79Ioni Bowcher
1009David P AmigonFrance2026-06-13Chapman, Ross E Esq NEGOTIATION0Ivan Magalhaes
1010Leon L DoeIndia2026-06-09Chemel, James L Cpa QUALIFIED37Anna Fali
1011Misaki Q FerenczBrazil2026-06-19Chanay, Jeffrey A Esq UNQUALIFIED51Stephen Shaw
1012Alejandro Z VocelkaSpain2026-06-25Commercial Press NEGOTIATION89Amy Elsner
1013Chavez N WhobreyAustralia2026-06-29Benton, John B Jr PROPOSAL97Amy Elsner
1014Rodrigues W RulapaughItaly2026-06-16Buckley Miller Wright QUALIFIED95Anna Fali
1015Darci V WieserCanada2026-06-10Chanay, Jeffrey A Esq UNQUALIFIED5Asiya Javayant
1016Costa V MaletGermany2026-06-15Benton, John B Jr NEW51Anna Fali
1017Clifford R GauchoRussia2026-06-09Dorl, James J Esq RENEWAL95Elwin Sharvill
1018James N DarakjyGermany2026-06-23Chapman, Ross E Esq RENEWAL0Anna Fali
1019Leon P DoeIndia2026-06-13Chanay, Jeffrey A Esq PROPOSAL48Ivan Magalhaes
1020Chavez F BriddickAustralia2026-06-02Chanay, Jeffrey A Esq NEW31Stephen Shaw
1021Adams S WhobreyJapan2026-06-03King, Christopher A Esq QUALIFIED35Asiya Javayant
1022Izzy H RutaCanada2026-06-12King, Christopher A Esq NEGOTIATION90Bernardo Dominic
1023Izzy B ChuiRussia2026-06-17Printing Dimensions NEW7Stephen Shaw
1024Darci D RulapaughSpain2026-06-20Benton, John B Jr QUALIFIED58Stephen Shaw
1025Isabel Y IturbideBrazil2026-06-16Dorl, James J Esq RENEWAL97Ioni Bowcher
1026Isabel I FollerCanada2026-06-16Buckley Miller Wright RENEWAL47Xuxue Feng
1027Maisha W MacleadAustralia2026-06-08Buckley Miller Wright NEW93Elwin Sharvill
1028Munro B VocelkaFrance2026-06-13Printing Dimensions PROPOSAL98Bernardo Dominic
1029Misaki U WaycottSpain2026-06-02Commercial Press PROPOSAL67Stephen Shaw
1030Jennifer Y OstroskyBrazil2026-06-15Benton, John B Jr QUALIFIED98Stephen Shaw
1031Ashley C StockhamAustralia2026-06-06Morlong Associates QUALIFIED50Asiya Javayant
1032Arvin D GauchoIndia2026-06-26Rangoni Of Florence PROPOSAL5Stephen Shaw
1033Leja M MacleadIndia2026-06-26Commercial Press RENEWAL77Bernardo Dominic
1034Smith Q ChuiArgentina2026-06-20Morlong Associates NEGOTIATION77Bernardo Dominic
1035James M MarrierSpain2026-06-22Commercial Press NEGOTIATION52Anna Fali
1036Salvatore Z InouyeGermany2026-06-04Feltz Printing Service RENEWAL10Xuxue Feng
1037Alejandro M SaylorsArgentina2026-06-08Dorl, James J Esq QUALIFIED49Stephen Shaw
1038Jennifer S ChuiArgentina2026-06-22Morlong Associates UNQUALIFIED54Anna Fali
1039Stacey B ChuiGermany2026-07-01Buckley Miller Wright PROPOSAL37Xuxue Feng
1040Izzy W BriddickUnited Kingdom2026-06-08Rangoni Of Florence NEW34Bernardo Dominic
1041Juan A GillianGermany2026-06-02Chemel, James L Cpa NEW65Xuxue Feng
1042Alejandro H StockhamJapan2026-06-13Rousseaux, Michael Esq NEW8Ivan Magalhaes
1043Aditya Q CaldareraAustralia2026-06-24Commercial Press QUALIFIED15Anna Fali
1044Maria K InouyeFrance2026-06-08Feltz Printing Service NEGOTIATION1Onyama Limba
1045Rodrigues E InouyeGermany2026-06-25Morlong Associates PROPOSAL41Xuxue Feng
1046Isabel F MacleadCanada2026-06-27Rangoni Of Florence NEW71Amy Elsner
1047Smith I WaycottJapan2026-06-10Morlong Associates PROPOSAL5Xuxue Feng
1048James A ChuiIndia2026-06-25Rangoni Of Florence NEGOTIATION98Ioni Bowcher
1049Julie I OldroydRussia2026-06-26King, Christopher A Esq UNQUALIFIED38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki K OldroydIndiaElwin Sharvill UNQUALIFIED
Julie R DoeItalyIvan Magalhaes UNQUALIFIED
Rodrigues S SchemmerFranceOnyama Limba QUALIFIED
Antonio B StensethCanadaXuxue Feng UNQUALIFIED
Cody P CaudyArgentinaAmy Elsner NEGOTIATION
Cody X StensethArgentinaIvan Magalhaes PROPOSAL
Aika D TollnerItalyBernardo Dominic UNQUALIFIED
Mayumi R CaldareraJapanIvan Magalhaes NEGOTIATION
Jeanfrancois J MacleadFranceIvan Magalhaes NEGOTIATION
Julie M DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Nicolas T BriddickRussiaElwin Sharvill UNQUALIFIED
Maria Y BriddickItalyAnna Fali UNQUALIFIED
Salvatore L ShinkoJapanBernardo Dominic NEW
Smith M RimJapanAnna Fali NEGOTIATION
Munro A BologniaAustraliaAsiya Javayant PROPOSAL
Tony W VenereUnited KingdomBernardo Dominic RENEWAL
Morrow A MacleadAustraliaBernardo Dominic NEW
Greenwood K FlosiIndiaAnna Fali UNQUALIFIED
Jennifer L GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Costa P DilliardAustraliaIoni Bowcher NEGOTIATION
Faith Z CampainSpainStephen Shaw NEW
Aditya H MaletCanadaBernardo Dominic RENEWAL
Aruna O PaprockiUnited KingdomXuxue Feng NEW
Claire J RimAustraliaOnyama Limba RENEWAL
Ashley U CaldareraBrazilOnyama Limba UNQUALIFIED
Clifford V DoeIndiaXuxue Feng NEGOTIATION
Faith H GlickUnited KingdomStephen Shaw QUALIFIED
Smith V BowleyAustraliaStephen Shaw UNQUALIFIED
Munro K CaudyBrazilIoni Bowcher UNQUALIFIED
Aruna P InouyeAustraliaXuxue Feng NEW
Mayumi H IturbideItalyBernardo Dominic PROPOSAL
Faith J SergiFranceXuxue Feng NEW
Alejandro U MaletRussiaStephen Shaw QUALIFIED
Aruna Q FlosiAustraliaXuxue Feng PROPOSAL
Darci E ChuiGermanyOnyama Limba QUALIFIED
Kaitlin S StensethAustraliaIvan Magalhaes PROPOSAL
Ivar A BologniaIndiaStephen Shaw RENEWAL
Jones H StockhamBrazilIoni Bowcher NEW
Maria W VenereRussiaXuxue Feng NEGOTIATION
Leon R AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Johnson U IturbideIndiaXuxue Feng PROPOSAL
Johnson Z NickaUnited KingdomOnyama Limba PROPOSAL
Mayumi A PoquetteGermanyOnyama Limba NEGOTIATION
Murillo N TollnerArgentinaAmy Elsner RENEWAL
Stacey C MaletRussiaAsiya Javayant UNQUALIFIED
Cody K WieserAustraliaOnyama Limba RENEWAL
Johnson G BologniaFranceXuxue Feng NEW
David S NickaArgentinaStephen Shaw UNQUALIFIED
Clifford W RoysterSpainStephen Shaw RENEWAL
Kadeem R CaldareraBrazilAmy Elsner PROPOSAL
Frozen Columns
Name
Jefferson Y Iturbide
Izzy H Inouye
Ivar V Perin
Arvin O Royster
Misaki A Tollner
Aika S Briddick
Silvio F Vocelka
Smith H Ostrosky
Johnson R Venere
Octavia B Campain
Ricardo H Iturbide
Maria J Perin
Jennifer G Marrier
Morrow M Poquette
Costa K Amigon
Kaitlin O Stockham
Cody H Darakjy
Arvin A Doe
Stacey N Dilliard
Aruna R Marrier
Emily J Amigon
Silvio T Royster
Julie U Bolognia
Mujtaba U Venere
Stacey F Waycott
Claire M Caldarera
Ricardo N Ferencz
Nicolas Z Ostrosky
Clifford I Schemmer
Cody E Kolmetz
Costa P Kolmetz
Octavia B Flosi
Jefferson Y Tollner
Nicolas K Gaucho
Costa V Royster
Munro Z Rim
Tony Y Ostrosky
Antonio X Campain
Kaitlin V Ostrosky
Jones G Slusarski
Nicolas G Morasca
Munro E Briddick
Aruna O Bolognia
Cody I Shinko
Ricardo O Bowley
Smith C Stockham
Murillo G Stockham
Murillo A Vocelka
Aditya M Iturbide
Arvin H Perin
IdCountryDate
1000India2026-06-03
1001India2026-06-28
1002France2026-06-17
1003France2026-06-03
1004Brazil2026-06-21
1005United Kingdom2026-06-28
1006Spain2026-06-14
1007United Kingdom2026-06-16
1008United Kingdom2026-06-05
1009United Kingdom2026-06-14
1010France2026-06-29
1011Germany2026-06-04
1012India2026-06-22
1013Argentina2026-06-20
1014Canada2026-06-05
1015Australia2026-06-19
1016United Kingdom2026-06-15
1017Australia2026-06-30
1018Argentina2026-06-28
1019France2026-06-23
1020Brazil2026-06-07
1021Australia2026-06-02
1022France2026-06-16
1023Spain2026-06-26
1024Germany2026-06-06
1025Italy2026-06-27
1026Italy2026-06-04
1027France2026-06-18
1028Argentina2026-06-13
1029Canada2026-06-07
1030Russia2026-06-20
1031Russia2026-06-21
1032Australia2026-06-23
1033Italy2026-07-01
1034United Kingdom2026-06-28
1035United Kingdom2026-06-08
1036France2026-06-23
1037Canada2026-06-10
1038Spain2026-06-26
1039Brazil2026-06-22
1040Japan2026-07-01
1041France2026-06-30
1042Russia2026-06-14
1043Canada2026-06-23
1044Spain2026-06-11
1045Brazil2026-06-23
1046Australia2026-06-28
1047France2026-06-13
1048Italy2026-06-21
1049Russia2026-07-01

On-Demand Data

NameIdCountryDate
Aika V Poquette1000Brazil2026-06-24
Faith E Figeroa1001France2026-06-08
Rodrigues W Chui1002United Kingdom2026-06-13
Ashley H Maclead1003Japan2026-06-03
Sinclair V Ruta1004Australia2026-07-01
Rodrigues U Nestle1005France2026-06-09
Faith K Dilliard1006Australia2026-06-26
Darci X Inouye1007Germany2026-06-17
Salvatore T Vocelka1008Spain2026-06-14
Kaitlin L Schemmer1009Japan2026-06-18
Maria E Doe1010India2026-06-17
Smith E Bowley1011Germany2026-06-29
Aditya Q Sergi1012United Kingdom2026-06-05
Isabel H Stenseth1013Argentina2026-06-10
Julie H Royster1014India2026-06-23
Juan Y Royster1015Japan2026-06-16
Greenwood J Perin1016Canada2026-06-24
Jeanfrancois Q Gaucho1017United Kingdom2026-06-09
Tony X Maclead1018Argentina2026-06-25
Izzy P Albares1019Japan2026-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel O AlbaresArgentinaOnyama Limba PROPOSAL
Izzy B KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Claire T AmigonCanadaStephen Shaw QUALIFIED
Jeanfrancois O FerenczIndiaStephen Shaw UNQUALIFIED
Kadeem B FollerJapanAsiya Javayant RENEWAL
Aruna A BologniaIndiaAnna Fali NEW
Claire J OldroydSpainAnna Fali NEW
Stacey N RoysterArgentinaOnyama Limba RENEWAL
Alejandro G GauchoSpainAnna Fali NEGOTIATION
Munro E SlusarskiItalyAsiya Javayant NEGOTIATION
Cody K RoysterAustraliaIoni Bowcher RENEWAL
Leja P ChuiItalyXuxue Feng UNQUALIFIED
Maria I CaudyUnited KingdomElwin Sharvill QUALIFIED
Cody I CaudyGermanyAmy Elsner QUALIFIED
Darci H StensethAustraliaAsiya Javayant UNQUALIFIED
Kaitlin B OldroydGermanyAnna Fali QUALIFIED
Leja D OstroskyCanadaElwin Sharvill RENEWAL
Adams J GlickGermanyAmy Elsner NEGOTIATION
Isabel V RutaFranceXuxue Feng NEGOTIATION
David S DoeSpainIvan Magalhaes NEGOTIATION
Jones Y StensethBrazilBernardo Dominic PROPOSAL
Aika F GauchoItalyElwin Sharvill NEW
Clifford M GlickArgentinaStephen Shaw UNQUALIFIED
Isabel E MarrierItalyAmy Elsner PROPOSAL
Kaitlin Y MacleadAustraliaAnna Fali QUALIFIED
Julie E GlickJapanAnna Fali NEGOTIATION
Octavia L WaycottRussiaAmy Elsner PROPOSAL
Aditya H FollerItalyAmy Elsner NEGOTIATION
Stacey X OstroskyJapanOnyama Limba RENEWAL
Ashley Y MarrierGermanyStephen Shaw PROPOSAL
Antonio Q DoeUnited KingdomElwin Sharvill NEW
David T StensethBrazilElwin Sharvill QUALIFIED
Kadeem Z FerenczAustraliaAnna Fali NEGOTIATION
Jennifer F CaudyItalyXuxue Feng UNQUALIFIED
Stacey R NestleItalyAnna Fali NEW
Clifford E FerenczSpainAnna Fali NEGOTIATION
Morrow Z KuskoAustraliaBernardo Dominic PROPOSAL
Claire C GillianSpainOnyama Limba UNQUALIFIED
Darci H MarrierCanadaElwin Sharvill NEGOTIATION
Jennifer L ShinkoJapanOnyama Limba 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>