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 V MaletFranceIoni Bowcher NEGOTIATION
Chavez D NestleArgentinaOnyama Limba PROPOSAL
Jennifer E BowleyCanadaAmy Elsner NEW
Kaitlin G BowleyGermanyElwin Sharvill UNQUALIFIED
Aika L StensethCanadaIvan Magalhaes QUALIFIED
Mayumi Q WaycottArgentinaIoni Bowcher QUALIFIED
Juan W BriddickFranceAnna Fali QUALIFIED
Clifford E ButtJapanElwin Sharvill NEW
Adams W RutaGermanyAnna Fali NEGOTIATION
Aditya L WieserJapanAsiya Javayant QUALIFIED
Arvin C VenereIndiaXuxue Feng PROPOSAL
Juan J BologniaItalyStephen Shaw RENEWAL
Costa Y KuskoUnited KingdomAsiya Javayant QUALIFIED
Ivar W FerenczRussiaElwin Sharvill RENEWAL
Murillo H SaylorsBrazilAsiya Javayant NEW
Cody N OldroydGermanyAnna Fali RENEWAL
Isabel H CaldareraIndiaAsiya Javayant UNQUALIFIED
Arvin S MacleadGermanyBernardo Dominic NEW
Tony C PerinBrazilAmy Elsner RENEWAL
Emily O InouyeAustraliaBernardo Dominic NEW
Alejandro G ChuiIndiaBernardo Dominic RENEWAL
Maisha L BologniaSpainIvan Magalhaes NEW
Julie O FigeroaSpainOnyama Limba QUALIFIED
Morrow W ChuiFranceBernardo Dominic NEGOTIATION
Smith D PerinCanadaIoni Bowcher RENEWAL
James R RulapaughArgentinaStephen Shaw NEW
Ashley R StockhamJapanAsiya Javayant PROPOSAL
Arvin O GauchoItalyAmy Elsner NEW
Smith V GarufiCanadaIoni Bowcher NEGOTIATION
Francesco N BologniaSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois D StensethBrazilBernardo Dominic NEW
Ricardo C DoeIndiaIoni Bowcher NEGOTIATION
Ricardo C NestleCanadaIoni Bowcher RENEWAL
Murillo M AmigonFranceXuxue Feng NEW
Misaki Q BriddickAustraliaAnna Fali NEW
Aika R RoysterArgentinaXuxue Feng PROPOSAL
Ivar M MarrierItalyIoni Bowcher PROPOSAL
Cody A WaycottArgentinaIvan Magalhaes PROPOSAL
Sinclair W MarrierBrazilIoni Bowcher UNQUALIFIED
Ricardo T OstroskyBrazilAmy Elsner PROPOSAL
Chavez X MorascaGermanyBernardo Dominic RENEWAL
Isabel O DoeRussiaAmy Elsner NEW
Salvatore M SlusarskiGermanyOnyama Limba NEGOTIATION
Emily X StockhamAustraliaElwin Sharvill NEW
Greenwood K WaycottItalyBernardo Dominic PROPOSAL
Darci R StensethBrazilXuxue Feng PROPOSAL
James J IturbideCanadaAmy Elsner QUALIFIED
Munro U RutaRussiaAnna Fali NEGOTIATION
Antonio F GarufiGermanyAsiya Javayant QUALIFIED
Aditya F SaylorsCanadaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon T RoysterAustraliaElwin Sharvill QUALIFIED
Aditya B BriddickArgentinaElwin Sharvill NEGOTIATION
Francesco F PaprockiAustraliaAsiya Javayant NEGOTIATION
Darci Q SchemmerArgentinaElwin Sharvill UNQUALIFIED
Alejandro T VenereAustraliaBernardo Dominic PROPOSAL
Leja U StockhamAustraliaAnna Fali RENEWAL
Aditya H PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha F ChuiCanadaAsiya Javayant UNQUALIFIED
Faith M RimIndiaBernardo Dominic QUALIFIED
Claire L RulapaughJapanAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey G PaprockiGermany2024-06-23Chanay, Jeffrey A Esq PROPOSAL38Asiya Javayant
1001Wickens H FollerGermany2024-06-03Printing Dimensions UNQUALIFIED0Xuxue Feng
1002Jennifer V PoquetteCanada2024-06-17Rousseaux, Michael Esq NEGOTIATION14Ivan Magalhaes
1003Cody L ButtItaly2024-06-13Dorl, James J Esq NEW16Xuxue Feng
1004David D ChuiBrazil2024-06-04Buckley Miller Wright PROPOSAL2Ivan Magalhaes
1005Juan Q SergiIndia2024-06-22Buckley Miller Wright RENEWAL62Asiya Javayant
1006Isabel W MaletAustralia2024-06-01King, Christopher A Esq NEGOTIATION19Bernardo Dominic
1007Jennifer J CampainGermany2024-06-24Truhlar And Truhlar Attys PROPOSAL21Onyama Limba
1008Ashley C RulapaughRussia2024-06-19Rangoni Of Florence RENEWAL38Ioni Bowcher
1009Smith I BriddickItaly2024-06-21Printing Dimensions NEGOTIATION18Amy Elsner
1010Julie H FollerUnited Kingdom2024-05-27Rousseaux, Michael Esq PROPOSAL31Bernardo Dominic
1011Isabel O PoquetteArgentina2024-06-18Feltz Printing Service QUALIFIED3Xuxue Feng
1012Morrow D MorascaAustralia2024-06-16Printing Dimensions NEW69Elwin Sharvill
1013Ashley O RoysterSpain2024-06-12King, Christopher A Esq QUALIFIED97Elwin Sharvill
1014Ashley A BologniaSpain2024-05-29Benton, John B Jr QUALIFIED21Asiya Javayant
1015Greenwood G GarufiItaly2024-06-13Benton, John B Jr QUALIFIED54Bernardo Dominic
1016Tony G GlickGermany2024-06-04Chapman, Ross E Esq NEW1Stephen Shaw
1017Emily G FlosiIndia2024-06-24Buckley Miller Wright NEW77Onyama Limba
1018Jennifer J PaprockiGermany2024-06-04Rangoni Of Florence RENEWAL23Bernardo Dominic
1019Nicolas Y NestleRussia2024-06-20Rousseaux, Michael Esq RENEWAL63Anna Fali
1020Aditya W DilliardAustralia2024-06-10Chanay, Jeffrey A Esq RENEWAL55Asiya Javayant
1021Kadeem M MaletBrazil2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED92Onyama Limba
1022Silvio V TollnerGermany2024-05-28King, Christopher A Esq RENEWAL72Onyama Limba
1023Aruna D KolmetzBrazil2024-06-22King, Christopher A Esq NEW86Amy Elsner
1024Smith K BowleyBrazil2024-06-04Chemel, James L Cpa NEW70Asiya Javayant
1025Smith B MaletJapan2024-06-06King, Christopher A Esq RENEWAL42Bernardo Dominic
1026David K GlickIndia2024-06-24Buckley Miller Wright NEGOTIATION85Ioni Bowcher
1027Johnson M GarufiUnited Kingdom2024-06-20Commercial Press NEGOTIATION64Onyama Limba
1028Antonio P MacleadItaly2024-06-12Truhlar And Truhlar Attys NEW99Amy Elsner
1029Ricardo O BriddickSpain2024-06-02Printing Dimensions UNQUALIFIED32Amy Elsner
1030Adams Y MacleadBrazil2024-06-12Morlong Associates PROPOSAL46Amy Elsner
1031Mujtaba F GillianSpain2024-05-30Morlong Associates NEW26Onyama Limba
1032Munro Y RutaIndia2024-06-09Feiner Bros NEGOTIATION60Bernardo Dominic
1033Leon I FigeroaUnited Kingdom2024-05-26Benton, John B Jr QUALIFIED84Asiya Javayant
1034Clifford B MaletBrazil2024-06-03Benton, John B Jr RENEWAL23Xuxue Feng
1035Jeanfrancois E BologniaJapan2024-06-15Benton, John B Jr UNQUALIFIED76Ioni Bowcher
1036Isabel P GillianBrazil2024-06-03Benton, John B Jr NEW16Stephen Shaw
1037Greenwood S DoeArgentina2024-05-31Morlong Associates NEGOTIATION15Anna Fali
1038Julie F RutaFrance2024-05-31Benton, John B Jr PROPOSAL37Amy Elsner
1039Salvatore A SlusarskiItaly2024-06-18Rangoni Of Florence NEW88Xuxue Feng
1040Isabel L RulapaughRussia2024-05-28Rousseaux, Michael Esq QUALIFIED12Elwin Sharvill
1041David A GlickCanada2024-05-27King, Christopher A Esq UNQUALIFIED18Elwin Sharvill
1042Aditya Q MarrierCanada2024-05-26Feltz Printing Service NEGOTIATION10Ioni Bowcher
1043Antonio J OstroskyRussia2024-06-14Commercial Press NEGOTIATION1Amy Elsner
1044James D MaletCanada2024-06-21Buckley Miller Wright PROPOSAL35Ivan Magalhaes
1045Misaki O KuskoCanada2024-06-13Buckley Miller Wright QUALIFIED60Amy Elsner
1046Cody B WhobreyCanada2024-05-28Morlong Associates UNQUALIFIED80Elwin Sharvill
1047Jefferson Q PaprockiUnited Kingdom2024-06-10Rousseaux, Michael Esq RENEWAL55Xuxue Feng
1048Smith T NickaAustralia2024-06-03Chanay, Jeffrey A Esq NEGOTIATION73Amy Elsner
1049Johnson A GarufiIndia2024-05-27Morlong Associates NEW82Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin I MacleadUnited KingdomAmy Elsner UNQUALIFIED
Jennifer E WaycottUnited KingdomAmy Elsner RENEWAL
Greenwood P MorascaSpainIoni Bowcher QUALIFIED
Rodrigues O GarufiCanadaIoni Bowcher RENEWAL
Maisha J GlickGermanyAsiya Javayant NEW
Chavez I DoeFranceOnyama Limba RENEWAL
Jennifer V MorascaGermanyAnna Fali PROPOSAL
Stacey C KolmetzFranceStephen Shaw QUALIFIED
Deepesh Q CaudyCanadaAmy Elsner RENEWAL
Cody U DilliardGermanyIoni Bowcher PROPOSAL
Julie W ChuiBrazilXuxue Feng UNQUALIFIED
Francesco I ShinkoIndiaXuxue Feng NEW
Mayumi H GillianCanadaIoni Bowcher PROPOSAL
Ivar J NickaCanadaBernardo Dominic NEGOTIATION
Rodrigues C StockhamFranceStephen Shaw NEW
Aruna N WaycottArgentinaIoni Bowcher RENEWAL
Julie L OldroydFranceStephen Shaw RENEWAL
Nicolas W BologniaJapanIoni Bowcher QUALIFIED
Francesco I StockhamFranceAsiya Javayant UNQUALIFIED
Juan Y MarrierBrazilAmy Elsner NEGOTIATION
Juan K IturbideIndiaAsiya Javayant PROPOSAL
Munro N SlusarskiAustraliaStephen Shaw PROPOSAL
Adams P BologniaJapanStephen Shaw RENEWAL
Aika P FerenczIndiaXuxue Feng NEGOTIATION
Murillo K KolmetzCanadaElwin Sharvill NEW
Francesco N InouyeIndiaXuxue Feng PROPOSAL
Salvatore T MaletUnited KingdomIvan Magalhaes NEW
Munro W SaylorsCanadaIoni Bowcher UNQUALIFIED
Faith Z SlusarskiGermanyOnyama Limba NEW
Nicolas E BowleyBrazilStephen Shaw PROPOSAL
Maria E WaycottAustraliaAsiya Javayant RENEWAL
Jefferson T AlbaresItalyAnna Fali NEW
Maisha M TollnerIndiaIoni Bowcher QUALIFIED
Claire G GlickArgentinaAnna Fali QUALIFIED
Alejandro F RoysterItalyXuxue Feng RENEWAL
Aditya V VenereSpainAnna Fali QUALIFIED
David H BowleyCanadaBernardo Dominic UNQUALIFIED
Adams L OldroydAustraliaIoni Bowcher PROPOSAL
David C CaudyUnited KingdomAnna Fali PROPOSAL
Antonio O FollerSpainXuxue Feng QUALIFIED
Faith N VocelkaAustraliaBernardo Dominic NEW
Cody S FerenczRussiaXuxue Feng QUALIFIED
Stacey C DilliardGermanyAsiya Javayant PROPOSAL
Aika V BriddickBrazilAsiya Javayant QUALIFIED
Tony V NickaJapanAmy Elsner QUALIFIED
Adams G GillianUnited KingdomBernardo Dominic QUALIFIED
Adams C BologniaArgentinaStephen Shaw PROPOSAL
Maisha A BriddickFranceAnna Fali QUALIFIED
Greenwood V GillianSpainOnyama Limba QUALIFIED
Mayumi B DarakjyItalyElwin Sharvill QUALIFIED
Frozen Columns
Name
Morrow I Sergi
Aruna T Butt
Claire H Vocelka
Maisha W Rim
Kadeem I Figeroa
Wickens G Royster
Mujtaba A Slusarski
Maisha G Darakjy
Smith G Garufi
James B Wieser
Leja L Stockham
Kaitlin U Caldarera
Munro N Kusko
Arvin I Darakjy
Mujtaba V Stenseth
Ivar Z Gaucho
Costa D Doe
Smith K Dilliard
Ashley Y Marrier
Francesco E Nicka
Emily S Slusarski
Maria A Rim
Morrow H Amigon
Kaitlin V Whobrey
Juan O Wieser
Faith Q Gillian
Jeanfrancois Z Royster
Wickens X Nestle
Kadeem C Garufi
Octavia Q Malet
Arvin O Rulapaugh
Cody C Kusko
Wickens S Maclead
Aika Z Campain
Julie L Amigon
Kaitlin O Albares
Claire Y Schemmer
Jeanfrancois M Schemmer
Francesco Q Inouye
Maria T Glick
Octavia I Perin
Stacey L Kusko
Julie Q Doe
Faith Z Doe
Stacey Z Poquette
Smith O Stockham
Morrow P Maclead
Francesco E Stenseth
David P Wieser
Ivar U Nicka
IdCountryDate
1000United Kingdom2024-06-08
1001Spain2024-05-26
1002Australia2024-05-28
1003Brazil2024-06-05
1004Germany2024-05-30
1005Spain2024-05-30
1006Argentina2024-06-20
1007Australia2024-06-05
1008Russia2024-06-06
1009Russia2024-05-31
1010Italy2024-05-28
1011India2024-06-18
1012United Kingdom2024-06-19
1013Japan2024-05-26
1014United Kingdom2024-06-04
1015Brazil2024-05-28
1016Russia2024-06-22
1017Canada2024-06-17
1018Japan2024-05-29
1019Germany2024-05-30
1020Argentina2024-06-23
1021Japan2024-06-20
1022Germany2024-05-27
1023Canada2024-06-21
1024United Kingdom2024-06-04
1025Russia2024-06-20
1026Germany2024-06-04
1027India2024-06-23
1028Brazil2024-06-24
1029Germany2024-05-26
1030Australia2024-06-16
1031Australia2024-06-02
1032Japan2024-06-22
1033Spain2024-06-21
1034France2024-06-08
1035Brazil2024-06-08
1036Italy2024-06-01
1037Argentina2024-06-16
1038Russia2024-06-10
1039Brazil2024-06-09
1040United Kingdom2024-06-18
1041Germany2024-05-30
1042Spain2024-06-06
1043India2024-05-26
1044Brazil2024-06-12
1045Brazil2024-05-29
1046Spain2024-06-08
1047Russia2024-06-23
1048Russia2024-06-12
1049Italy2024-05-26

On-Demand Data

NameIdCountryDate
Juan K Rulapaugh1000Brazil2024-06-09
Jennifer X Caudy1001Argentina2024-06-21
Misaki B Stenseth1002Japan2024-06-05
Emily E Stockham1003Spain2024-06-06
Leon Z Saylors1004Australia2024-06-18
Maisha U Waycott1005Canada2024-06-10
Julie L Campain1006France2024-06-12
Mujtaba C Maclead1007Brazil2024-06-03
Deepesh R Foller1008Germany2024-06-12
Antonio X Iturbide1009Italy2024-06-09
Silvio R Sergi1010Argentina2024-06-05
Kadeem T Perin1011United Kingdom2024-05-29
Murillo S Figeroa1012Russia2024-05-31
Izzy O Nicka1013Russia2024-06-15
Adams U Gaucho1014Argentina2024-06-02
Faith Y Shinko1015Italy2024-06-18
Maria Y Sergi1016Germany2024-06-12
Izzy J Glick1017Brazil2024-06-07
Adams X Briddick1018Australia2024-05-26
Nicolas H Caldarera1019Australia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues V GauchoAustraliaOnyama Limba UNQUALIFIED
Francesco X MacleadCanadaXuxue Feng PROPOSAL
Ivar B MarrierRussiaXuxue Feng UNQUALIFIED
Ricardo P BologniaUnited KingdomIoni Bowcher RENEWAL
Aika Z AlbaresRussiaAmy Elsner RENEWAL
Jones U BowleyRussiaAnna Fali NEW
Maisha O OstroskyFranceIvan Magalhaes PROPOSAL
Maisha R KolmetzGermanyBernardo Dominic PROPOSAL
Ivar D DoeUnited KingdomElwin Sharvill NEW
Murillo J CaudyFranceIoni Bowcher PROPOSAL
Greenwood D OldroydGermanyXuxue Feng NEGOTIATION
Izzy E CaldareraSpainAsiya Javayant RENEWAL
Aika B InouyeUnited KingdomAnna Fali NEGOTIATION
Arvin B MorascaRussiaElwin Sharvill RENEWAL
Adams Z MarrierAustraliaStephen Shaw RENEWAL
Kaitlin F BologniaAustraliaBernardo Dominic NEGOTIATION
Rodrigues W MaletBrazilOnyama Limba NEW
Jeanfrancois G WieserItalyOnyama Limba QUALIFIED
Claire J PoquetteArgentinaXuxue Feng UNQUALIFIED
Salvatore F AlbaresUnited KingdomAnna Fali PROPOSAL
Mujtaba N MarrierBrazilOnyama Limba PROPOSAL
Emily H BowleyArgentinaOnyama Limba QUALIFIED
Jeanfrancois C IturbideIndiaStephen Shaw UNQUALIFIED
Alejandro D StensethSpainElwin Sharvill QUALIFIED
James J NestleAustraliaIvan Magalhaes NEW
Aika F BologniaUnited KingdomXuxue Feng RENEWAL
Ivar A RoysterBrazilAsiya Javayant QUALIFIED
Rodrigues X WieserCanadaElwin Sharvill PROPOSAL
Jefferson Z AmigonBrazilAmy Elsner RENEWAL
Cody D GarufiCanadaBernardo Dominic PROPOSAL
Maria Z BriddickItalyBernardo Dominic NEGOTIATION
Ivar L MarrierSpainIoni Bowcher PROPOSAL
Mayumi N OstroskyIndiaStephen Shaw NEGOTIATION
Stacey G DoeSpainElwin Sharvill PROPOSAL
Arvin V MarrierCanadaElwin Sharvill NEW
Maisha W CaudyJapanIoni Bowcher UNQUALIFIED
Chavez I VenereIndiaXuxue Feng NEGOTIATION
Salvatore Y VocelkaBrazilStephen Shaw RENEWAL
Emily G CampainJapanIoni Bowcher QUALIFIED
Antonio Q SergiGermanyAnna Fali 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>