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
Nicolas B SaylorsCanadaAmy Elsner NEW
Silvio S ChuiJapanXuxue Feng UNQUALIFIED
Cody B ButtSpainStephen Shaw NEW
Darci L PoquetteJapanAsiya Javayant NEW
Wickens B ChuiRussiaIvan Magalhaes QUALIFIED
Leon J DoeFranceStephen Shaw PROPOSAL
Darci D SlusarskiJapanStephen Shaw PROPOSAL
Maria S KuskoCanadaXuxue Feng RENEWAL
Antonio K InouyeGermanyXuxue Feng RENEWAL
Silvio E RutaItalyStephen Shaw RENEWAL
Claire X SergiAustraliaAsiya Javayant NEW
Maria X InouyeAustraliaStephen Shaw UNQUALIFIED
Cody G BowleyRussiaElwin Sharvill RENEWAL
Stacey Q FerenczGermanyXuxue Feng RENEWAL
Maisha X WieserItalyBernardo Dominic PROPOSAL
Smith B KuskoIndiaOnyama Limba RENEWAL
James V VocelkaItalyIoni Bowcher RENEWAL
Mayumi X KuskoUnited KingdomBernardo Dominic QUALIFIED
Adams U MacleadFranceBernardo Dominic PROPOSAL
James K GillianRussiaAsiya Javayant PROPOSAL
Jones G KolmetzIndiaOnyama Limba PROPOSAL
Salvatore U DoeAustraliaElwin Sharvill QUALIFIED
Antonio G KuskoAustraliaIoni Bowcher NEW
Ricardo S GauchoJapanXuxue Feng QUALIFIED
Maria Z ChuiFranceStephen Shaw QUALIFIED
Darci P OldroydAustraliaBernardo Dominic NEGOTIATION
Francesco S BriddickBrazilIvan Magalhaes NEW
Kadeem Y NestleGermanyOnyama Limba NEGOTIATION
Adams U ChuiItalyStephen Shaw PROPOSAL
Jeanfrancois G RulapaughJapanAmy Elsner UNQUALIFIED
Stacey Z MaletItalyBernardo Dominic NEW
Francesco V StensethFranceAmy Elsner RENEWAL
Misaki K IturbideGermanyOnyama Limba PROPOSAL
Munro C WaycottGermanyAmy Elsner UNQUALIFIED
Jeanfrancois Y RutaSpainAmy Elsner RENEWAL
Silvio J IturbideGermanyElwin Sharvill UNQUALIFIED
Murillo T GarufiIndiaBernardo Dominic UNQUALIFIED
Jones F CaudyRussiaOnyama Limba QUALIFIED
Mayumi U VenereArgentinaOnyama Limba PROPOSAL
Izzy Z StockhamBrazilAmy Elsner UNQUALIFIED
Aika Z PoquetteFranceAsiya Javayant PROPOSAL
Alejandro B BologniaGermanyIoni Bowcher QUALIFIED
Julie Q IturbideCanadaBernardo Dominic RENEWAL
Munro K CampainIndiaAmy Elsner NEGOTIATION
Misaki X NickaCanadaIoni Bowcher NEGOTIATION
Ricardo B ButtArgentinaBernardo Dominic UNQUALIFIED
Octavia U GarufiSpainAmy Elsner UNQUALIFIED
Tony Z ChuiGermanyXuxue Feng NEW
Maria K RoysterArgentinaXuxue Feng NEW
Kaitlin C FollerUnited KingdomStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily Y DoeUnited KingdomAnna Fali NEGOTIATION
Emily O StensethAustraliaElwin Sharvill NEW
Emily E WhobreyCanadaAsiya Javayant PROPOSAL
Mujtaba Q AlbaresIndiaOnyama Limba RENEWAL
David R NestleItalyIvan Magalhaes NEW
Ashley B RoysterUnited KingdomAsiya Javayant RENEWAL
Maria P InouyeJapanElwin Sharvill QUALIFIED
Kaitlin B CaudySpainBernardo Dominic UNQUALIFIED
Mujtaba W CampainItalyIvan Magalhaes NEGOTIATION
Wickens I GauchoSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin K SergiJapan2025-06-16Commercial Press NEW48Stephen Shaw
1001Rodrigues Q GauchoCanada2025-06-07Feiner Bros NEGOTIATION23Onyama Limba
1002Maria Z MaletSpain2025-06-06Truhlar And Truhlar Attys RENEWAL2Ioni Bowcher
1003Stacey H WaycottCanada2025-06-04King, Christopher A Esq QUALIFIED74Stephen Shaw
1004Ricardo X AmigonJapan2025-05-19Morlong Associates RENEWAL27Ivan Magalhaes
1005Aika O MarrierBrazil2025-05-21Rousseaux, Michael Esq NEW31Onyama Limba
1006Cody V OldroydAustralia2025-05-31Chemel, James L Cpa RENEWAL80Ioni Bowcher
1007Nicolas Y CaldareraSpain2025-06-07Chanay, Jeffrey A Esq PROPOSAL31Asiya Javayant
1008Stacey G NickaJapan2025-05-18Chanay, Jeffrey A Esq NEW28Xuxue Feng
1009Izzy B KolmetzJapan2025-05-28Printing Dimensions NEW14Ioni Bowcher
1010Juan Z WaycottGermany2025-06-08Chemel, James L Cpa PROPOSAL60Xuxue Feng
1011Chavez Q StensethIndia2025-05-31Commercial Press NEGOTIATION81Amy Elsner
1012Arvin P BriddickRussia2025-06-05Feiner Bros PROPOSAL87Ioni Bowcher
1013Chavez B FlosiUnited Kingdom2025-05-20Benton, John B Jr NEGOTIATION89Amy Elsner
1014Sinclair H BologniaArgentina2025-06-07Morlong Associates NEGOTIATION46Ivan Magalhaes
1015Smith V KuskoBrazil2025-06-03King, Christopher A Esq UNQUALIFIED92Xuxue Feng
1016Salvatore F PoquetteIndia2025-05-23Benton, John B Jr UNQUALIFIED92Asiya Javayant
1017Clifford S AlbaresJapan2025-06-07Morlong Associates NEW29Ivan Magalhaes
1018Emily D ShinkoUnited Kingdom2025-06-16King, Christopher A Esq UNQUALIFIED27Amy Elsner
1019Smith W RoysterArgentina2025-05-28Feltz Printing Service NEW59Stephen Shaw
1020Jennifer I DarakjyUnited Kingdom2025-05-30Truhlar And Truhlar Attys UNQUALIFIED31Amy Elsner
1021Francesco Y StensethGermany2025-06-13Feiner Bros NEGOTIATION24Xuxue Feng
1022Clifford Y CampainArgentina2025-06-09King, Christopher A Esq PROPOSAL0Ioni Bowcher
1023Octavia D GlickBrazil2025-06-13Rousseaux, Michael Esq NEGOTIATION17Ioni Bowcher
1024Misaki K ChuiAustralia2025-05-26Morlong Associates QUALIFIED60Ioni Bowcher
1025Ricardo P NestleJapan2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED30Asiya Javayant
1026Kadeem R SaylorsAustralia2025-05-26Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
1027Francesco Q TollnerArgentina2025-05-25Printing Dimensions RENEWAL16Elwin Sharvill
1028Costa P NickaBrazil2025-06-07King, Christopher A Esq NEGOTIATION61Anna Fali
1029Jones A DarakjyItaly2025-06-03Feltz Printing Service PROPOSAL12Amy Elsner
1030Octavia I PaprockiGermany2025-06-13Chanay, Jeffrey A Esq NEW48Asiya Javayant
1031Arvin F DoeItaly2025-05-23Printing Dimensions NEW43Anna Fali
1032Mayumi D MaletArgentina2025-06-01King, Christopher A Esq PROPOSAL20Xuxue Feng
1033Emily H PaprockiBrazil2025-05-22Commercial Press PROPOSAL65Stephen Shaw
1034Francesco G FlosiGermany2025-05-28Dorl, James J Esq NEW71Stephen Shaw
1035Arvin G FigeroaUnited Kingdom2025-05-28Chemel, James L Cpa QUALIFIED69Elwin Sharvill
1036Antonio A RulapaughGermany2025-05-30Feiner Bros NEW91Onyama Limba
1037Isabel N MorascaCanada2025-06-13Feiner Bros RENEWAL79Ioni Bowcher
1038Octavia S CampainFrance2025-05-26Printing Dimensions NEGOTIATION22Anna Fali
1039Izzy R FerenczAustralia2025-06-03Benton, John B Jr RENEWAL97Ioni Bowcher
1040Chavez E SergiIndia2025-05-29Rangoni Of Florence RENEWAL11Stephen Shaw
1041Rodrigues X WhobreyUnited Kingdom2025-05-27Buckley Miller Wright QUALIFIED1Ioni Bowcher
1042Jennifer X RutaRussia2025-06-15Printing Dimensions NEW7Xuxue Feng
1043Stacey E PerinRussia2025-06-15Printing Dimensions UNQUALIFIED90Ivan Magalhaes
1044Ashley B OldroydUnited Kingdom2025-06-03King, Christopher A Esq PROPOSAL22Ioni Bowcher
1045Stacey L DilliardUnited Kingdom2025-05-22Feltz Printing Service NEW59Onyama Limba
1046Ricardo X WieserItaly2025-06-02Rangoni Of Florence NEW17Amy Elsner
1047Mayumi Y OldroydAustralia2025-06-04Printing Dimensions NEGOTIATION0Elwin Sharvill
1048Rodrigues N RutaFrance2025-05-19Chemel, James L Cpa NEW16Elwin Sharvill
1049Aika F MaletItaly2025-05-20Buckley Miller Wright NEW64Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia X KolmetzBrazilIvan Magalhaes PROPOSAL
Mujtaba Z SaylorsRussiaAmy Elsner QUALIFIED
Faith X ShinkoItalyAsiya Javayant NEGOTIATION
Arvin P BologniaAustraliaStephen Shaw RENEWAL
Aika O PoquetteSpainOnyama Limba NEGOTIATION
Alejandro Y CaudyCanadaStephen Shaw UNQUALIFIED
Cody R BriddickJapanAnna Fali RENEWAL
Emily B RutaSpainAmy Elsner NEGOTIATION
Kadeem C FerenczSpainIoni Bowcher RENEWAL
Antonio L StockhamBrazilIoni Bowcher RENEWAL
Smith X DilliardIndiaAnna Fali RENEWAL
Misaki B DarakjyJapanIoni Bowcher PROPOSAL
Mayumi U CaldareraAustraliaElwin Sharvill UNQUALIFIED
Clifford H WaycottRussiaAmy Elsner NEW
Mayumi V ShinkoBrazilIoni Bowcher UNQUALIFIED
Francesco X OldroydItalyAmy Elsner NEGOTIATION
Johnson W RoysterAustraliaAnna Fali QUALIFIED
David W FigeroaRussiaXuxue Feng PROPOSAL
Alejandro M WieserGermanyIvan Magalhaes UNQUALIFIED
Juan V TollnerIndiaAmy Elsner NEW
Smith C KuskoSpainAmy Elsner NEGOTIATION
Salvatore O SchemmerGermanyAnna Fali NEGOTIATION
Kaitlin H OstroskyCanadaAmy Elsner RENEWAL
Claire D WieserCanadaIvan Magalhaes RENEWAL
Maisha M VenereArgentinaOnyama Limba NEGOTIATION
Tony X MacleadCanadaAnna Fali QUALIFIED
Tony D SchemmerSpainOnyama Limba NEGOTIATION
Smith W DarakjyAustraliaIoni Bowcher QUALIFIED
Juan O FigeroaSpainBernardo Dominic NEGOTIATION
Maisha J KolmetzJapanStephen Shaw NEW
Darci S FerenczItalyIoni Bowcher NEGOTIATION
Adams L MacleadJapanStephen Shaw RENEWAL
Aruna C GlickSpainAmy Elsner QUALIFIED
Morrow Z GauchoGermanyIoni Bowcher RENEWAL
Octavia G WaycottFranceXuxue Feng RENEWAL
Salvatore N BologniaJapanStephen Shaw NEGOTIATION
Salvatore Y GillianAustraliaElwin Sharvill QUALIFIED
Kadeem B InouyeUnited KingdomXuxue Feng QUALIFIED
Octavia A FerenczGermanyAmy Elsner QUALIFIED
Mujtaba G ShinkoSpainElwin Sharvill PROPOSAL
Leja I ChuiCanadaOnyama Limba QUALIFIED
Costa O MorascaFranceIvan Magalhaes UNQUALIFIED
Darci L GauchoItalyBernardo Dominic NEGOTIATION
Izzy Y SchemmerFranceOnyama Limba NEGOTIATION
Misaki Y ChuiItalyIoni Bowcher NEW
James M RoysterGermanyOnyama Limba UNQUALIFIED
Johnson C NestleRussiaElwin Sharvill NEGOTIATION
Sinclair L SergiFranceAnna Fali UNQUALIFIED
Nicolas J GlickSpainAsiya Javayant NEGOTIATION
Smith D PerinArgentinaAmy Elsner RENEWAL
Frozen Columns
Name
Francesco B Vocelka
Stacey O Saylors
Nicolas F Ostrosky
Izzy H Saylors
Clifford Y Iturbide
Juan H Nicka
Mayumi Y Darakjy
Kadeem A Dilliard
Mujtaba N Morasca
Izzy Q Stockham
Smith J Kusko
Murillo D Darakjy
Leja H Oldroyd
Johnson E Bolognia
Ivar D Bolognia
Francesco Y Darakjy
Deepesh E Foller
Morrow J Caldarera
Faith V Iturbide
Faith I Marrier
Mujtaba X Stenseth
Jones C Whobrey
Clifford S Waycott
Darci H Amigon
Emily F Shinko
Salvatore V Caudy
Julie G Bowley
Izzy N Bolognia
Octavia Y Perin
Julie W Whobrey
Rodrigues Y Dilliard
Sinclair Q Bolognia
Emily E Saylors
Maisha K Campain
Juan S Briddick
Costa F Kolmetz
Tony F Stenseth
Jefferson S Poquette
David N Malet
Leja F Rulapaugh
Ashley X Caudy
Morrow K Dilliard
Greenwood N Rulapaugh
Ivar C Malet
Morrow Z Campain
Darci G Royster
Jeanfrancois Y Shinko
Silvio D Malet
Julie G Flosi
Octavia R Rim
IdCountryDate
1000Russia2025-05-23
1001Spain2025-05-24
1002Japan2025-06-03
1003United Kingdom2025-05-19
1004India2025-06-12
1005Argentina2025-06-12
1006India2025-06-16
1007United Kingdom2025-05-31
1008Spain2025-06-09
1009Argentina2025-05-29
1010Argentina2025-06-15
1011Italy2025-05-31
1012Australia2025-05-22
1013Germany2025-06-13
1014Japan2025-05-20
1015Argentina2025-06-09
1016Japan2025-05-22
1017Japan2025-06-14
1018Russia2025-06-14
1019Spain2025-06-05
1020France2025-05-24
1021Japan2025-06-14
1022Germany2025-05-22
1023India2025-05-27
1024Australia2025-05-23
1025Brazil2025-06-06
1026Canada2025-05-20
1027Germany2025-05-25
1028Japan2025-06-11
1029Italy2025-06-09
1030Italy2025-06-08
1031Spain2025-05-18
1032Argentina2025-06-14
1033Canada2025-05-21
1034Australia2025-05-20
1035Australia2025-06-05
1036Brazil2025-05-30
1037Canada2025-06-14
1038India2025-06-05
1039Italy2025-05-20
1040Brazil2025-06-12
1041United Kingdom2025-06-15
1042Argentina2025-05-22
1043Canada2025-05-20
1044Italy2025-05-23
1045Canada2025-06-10
1046Russia2025-05-26
1047Spain2025-06-12
1048Italy2025-06-06
1049United Kingdom2025-05-19

On-Demand Data

NameIdCountryDate
Julie O Slusarski1000France2025-05-31
Darci E Oldroyd1001Spain2025-05-18
Johnson P Ruta1002Russia2025-06-04
Chavez A Chui1003United Kingdom2025-06-05
Claire Q Iturbide1004Brazil2025-05-21
Clifford J Caldarera1005United Kingdom2025-05-31
Aika F Figeroa1006Australia2025-06-14
Jefferson U Nicka1007Argentina2025-06-10
Munro Q Kusko1008Australia2025-06-11
Darci O Doe1009Australia2025-05-28
David P Ostrosky1010Italy2025-05-20
Aika H Briddick1011Australia2025-06-02
Izzy U Kusko1012Russia2025-06-12
Arvin D Gillian1013Canada2025-05-29
Stacey R Rim1014India2025-06-02
Sinclair S Rim1015Australia2025-06-03
Aruna B Vocelka1016India2025-06-01
Costa O Slusarski1017Russia2025-05-19
Maria Z Venere1018Australia2025-05-24
Faith K Poquette1019Italy2025-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar A GlickUnited KingdomXuxue Feng RENEWAL
Antonio L VocelkaSpainStephen Shaw NEGOTIATION
Arvin Z IturbideItalyStephen Shaw UNQUALIFIED
Stacey K WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood O StensethGermanyIvan Magalhaes NEGOTIATION
Nicolas U NestleArgentinaIvan Magalhaes NEW
Claire J DilliardSpainXuxue Feng RENEWAL
Adams N InouyeUnited KingdomAmy Elsner RENEWAL
Kaitlin X VocelkaCanadaAmy Elsner NEW
Jones P CampainArgentinaAnna Fali NEGOTIATION
Deepesh N RimBrazilXuxue Feng RENEWAL
Misaki E AlbaresCanadaAnna Fali NEGOTIATION
Smith R GauchoRussiaAnna Fali NEW
Kaitlin A SaylorsJapanAnna Fali UNQUALIFIED
Kadeem V RulapaughJapanIoni Bowcher PROPOSAL
Sinclair C RulapaughAustraliaBernardo Dominic UNQUALIFIED
Isabel B OstroskyCanadaOnyama Limba UNQUALIFIED
Darci M StensethArgentinaElwin Sharvill UNQUALIFIED
Tony V MaletSpainXuxue Feng PROPOSAL
Murillo J PaprockiJapanAnna Fali RENEWAL
Murillo O WaycottGermanyAmy Elsner UNQUALIFIED
Mayumi R FollerRussiaBernardo Dominic NEGOTIATION
David S TollnerAustraliaAsiya Javayant PROPOSAL
Aika B BologniaIndiaStephen Shaw NEGOTIATION
Cody C CaudyRussiaIvan Magalhaes NEGOTIATION
Misaki B SlusarskiGermanyOnyama Limba NEW
Jones C SergiAustraliaElwin Sharvill NEGOTIATION
Antonio O AlbaresJapanOnyama Limba NEW
Mujtaba M ShinkoIndiaOnyama Limba UNQUALIFIED
Rodrigues H KolmetzFranceOnyama Limba QUALIFIED
Aika N GauchoSpainAnna Fali PROPOSAL
David D RoysterJapanAnna Fali PROPOSAL
James H GillianFranceAmy Elsner RENEWAL
Alejandro E DarakjyAustraliaIoni Bowcher NEW
Francesco C RulapaughCanadaBernardo Dominic PROPOSAL
Jones I RulapaughFranceOnyama Limba NEGOTIATION
Murillo R DarakjyFranceAsiya Javayant PROPOSAL
Nicolas C KolmetzUnited KingdomAmy Elsner RENEWAL
Sinclair F MacleadIndiaIoni Bowcher PROPOSAL
Claire K GauchoFranceAnna Fali NEW

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