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
Darci L OstroskyItalyXuxue Feng RENEWAL
Rodrigues D MaletBrazilStephen Shaw NEW
Deepesh C GarufiArgentinaStephen Shaw NEGOTIATION
Munro W OldroydJapanAnna Fali QUALIFIED
Silvio D KolmetzAustraliaAnna Fali NEW
Kaitlin D KolmetzBrazilAmy Elsner UNQUALIFIED
Francesco L FigeroaArgentinaXuxue Feng PROPOSAL
Misaki J RimBrazilXuxue Feng RENEWAL
Kaitlin M StockhamJapanAnna Fali QUALIFIED
Arvin D ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Morrow T StockhamFranceOnyama Limba RENEWAL
Maisha N ShinkoBrazilAsiya Javayant RENEWAL
Clifford I StockhamFranceStephen Shaw NEW
Isabel A TollnerSpainAnna Fali QUALIFIED
Alejandro C OldroydFranceXuxue Feng RENEWAL
Kaitlin R DoeGermanyXuxue Feng NEGOTIATION
Greenwood U AlbaresArgentinaAmy Elsner NEGOTIATION
Tony F CaudyCanadaIoni Bowcher NEGOTIATION
Rodrigues Y KolmetzJapanAmy Elsner PROPOSAL
Kadeem X MacleadBrazilAsiya Javayant NEW
Jones V GlickJapanAmy Elsner NEGOTIATION
Jeanfrancois S MarrierSpainIoni Bowcher PROPOSAL
Johnson I FerenczSpainStephen Shaw PROPOSAL
Rodrigues W ChuiArgentinaBernardo Dominic NEW
Ashley A NestleCanadaAnna Fali PROPOSAL
Greenwood R InouyeFranceElwin Sharvill NEW
Ashley U NickaFranceAmy Elsner NEGOTIATION
Jones W StockhamGermanyIvan Magalhaes PROPOSAL
Nicolas R CaudyBrazilAmy Elsner UNQUALIFIED
Alejandro D SaylorsIndiaIoni Bowcher UNQUALIFIED
Stacey N FigeroaRussiaAmy Elsner NEW
Izzy P FollerJapanAnna Fali NEW
Tony B MaletSpainIoni Bowcher RENEWAL
Aditya L CaudySpainAmy Elsner NEGOTIATION
David B DoeUnited KingdomBernardo Dominic NEGOTIATION
Aruna I DoeBrazilAsiya Javayant QUALIFIED
Clifford G RutaFranceOnyama Limba QUALIFIED
Mayumi Z RimFranceIoni Bowcher UNQUALIFIED
Jones I NestleJapanAnna Fali NEGOTIATION
Izzy R KolmetzAustraliaAsiya Javayant NEW
Isabel F GlickCanadaOnyama Limba NEGOTIATION
Isabel U MaletRussiaElwin Sharvill UNQUALIFIED
Francesco L OstroskyJapanStephen Shaw PROPOSAL
Silvio M FerenczGermanyXuxue Feng UNQUALIFIED
James K RulapaughIndiaOnyama Limba NEGOTIATION
Kadeem I WhobreyCanadaXuxue Feng RENEWAL
Salvatore W KolmetzCanadaElwin Sharvill PROPOSAL
Costa P FerenczBrazilIoni Bowcher QUALIFIED
Arvin F RoysterBrazilAsiya Javayant QUALIFIED
Wickens Z MarrierSpainAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio Y WieserRussiaAnna Fali PROPOSAL
Kadeem J DilliardArgentinaBernardo Dominic PROPOSAL
Morrow H FollerAustraliaAmy Elsner PROPOSAL
Johnson H ChuiSpainAmy Elsner NEGOTIATION
Aika D FerenczGermanyAsiya Javayant UNQUALIFIED
Jones Y KuskoFranceBernardo Dominic PROPOSAL
Jones S MorascaSpainBernardo Dominic NEW
Stacey K GillianBrazilIoni Bowcher UNQUALIFIED
Murillo U MaletAustraliaAsiya Javayant NEGOTIATION
Murillo G GauchoGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy R FlosiRussia2025-04-07Printing Dimensions NEGOTIATION47Asiya Javayant
1001Morrow T InouyeAustralia2025-04-21King, Christopher A Esq UNQUALIFIED98Xuxue Feng
1002Emily E SchemmerRussia2025-04-01Chemel, James L Cpa QUALIFIED2Xuxue Feng
1003Deepesh Z ShinkoRussia2025-04-09Feiner Bros NEGOTIATION63Bernardo Dominic
1004Misaki R BriddickSpain2025-04-11Rousseaux, Michael Esq NEW72Stephen Shaw
1005Misaki E DarakjyCanada2025-04-15Feiner Bros RENEWAL0Elwin Sharvill
1006Misaki L FigeroaArgentina2025-04-26King, Christopher A Esq NEW59Ioni Bowcher
1007Johnson P SchemmerBrazil2025-04-21Printing Dimensions PROPOSAL67Ivan Magalhaes
1008Darci E OstroskyJapan2025-04-18Dorl, James J Esq QUALIFIED53Asiya Javayant
1009James I ChuiJapan2025-04-30Morlong Associates NEW83Stephen Shaw
1010Ashley F CaudyBrazil2025-04-30Rangoni Of Florence QUALIFIED68Elwin Sharvill
1011Antonio W SaylorsBrazil2025-04-19King, Christopher A Esq RENEWAL17Anna Fali
1012Antonio F StockhamItaly2025-04-16Rangoni Of Florence QUALIFIED98Ivan Magalhaes
1013Rodrigues N ChuiJapan2025-04-14Morlong Associates NEW75Elwin Sharvill
1014Stacey Z SlusarskiRussia2025-04-27King, Christopher A Esq PROPOSAL11Asiya Javayant
1015Murillo G SaylorsSpain2025-04-28Chemel, James L Cpa NEGOTIATION39Amy Elsner
1016Morrow Z CaudyRussia2025-04-03Printing Dimensions QUALIFIED20Stephen Shaw
1017Jennifer Z FigeroaItaly2025-04-22Morlong Associates PROPOSAL40Stephen Shaw
1018Kaitlin W FlosiArgentina2025-04-02Rangoni Of Florence NEGOTIATION92Ivan Magalhaes
1019Sinclair H WaycottCanada2025-04-28Benton, John B Jr NEW78Stephen Shaw
1020Aika U SlusarskiIndia2025-04-28Feltz Printing Service PROPOSAL95Anna Fali
1021Antonio W MorascaCanada2025-04-29King, Christopher A Esq RENEWAL30Onyama Limba
1022Nicolas U BowleyJapan2025-04-30Chanay, Jeffrey A Esq NEGOTIATION29Ivan Magalhaes
1023Stacey L VocelkaSpain2025-04-24Chemel, James L Cpa RENEWAL80Asiya Javayant
1024Alejandro D FigeroaBrazil2025-04-23Chapman, Ross E Esq PROPOSAL49Ioni Bowcher
1025Faith I CaldareraRussia2025-04-06Dorl, James J Esq RENEWAL51Xuxue Feng
1026Julie I AmigonBrazil2025-04-03Buckley Miller Wright RENEWAL37Ioni Bowcher
1027Silvio Z BologniaArgentina2025-04-06Morlong Associates NEGOTIATION20Xuxue Feng
1028Mayumi M RimFrance2025-04-05Chanay, Jeffrey A Esq NEGOTIATION95Bernardo Dominic
1029Murillo J PerinAustralia2025-04-10Dorl, James J Esq NEGOTIATION90Elwin Sharvill
1030Darci P SergiGermany2025-04-05Dorl, James J Esq NEW32Stephen Shaw
1031Tony B KolmetzSpain2025-04-02Rousseaux, Michael Esq NEW77Amy Elsner
1032Tony G WhobreyBrazil2025-04-15Chanay, Jeffrey A Esq PROPOSAL10Anna Fali
1033Juan M WaycottBrazil2025-04-29Chapman, Ross E Esq UNQUALIFIED23Onyama Limba
1034Clifford V RutaGermany2025-04-05Truhlar And Truhlar Attys QUALIFIED1Anna Fali
1035Aditya A PoquetteJapan2025-04-08Chanay, Jeffrey A Esq UNQUALIFIED54Ivan Magalhaes
1036Leja Z MacleadCanada2025-04-21Benton, John B Jr RENEWAL90Xuxue Feng
1037Stacey I MaletSpain2025-04-29Commercial Press NEGOTIATION22Stephen Shaw
1038Kaitlin N FigeroaFrance2025-04-17Feltz Printing Service NEW42Ivan Magalhaes
1039Adams L IturbideArgentina2025-04-28Printing Dimensions RENEWAL68Ivan Magalhaes
1040Munro E OstroskyIndia2025-04-24King, Christopher A Esq NEGOTIATION85Ioni Bowcher
1041Nicolas D NestleRussia2025-04-23Chapman, Ross E Esq PROPOSAL54Ivan Magalhaes
1042James T StockhamFrance2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED21Asiya Javayant
1043Aika G GarufiAustralia2025-04-18Rangoni Of Florence NEW7Bernardo Dominic
1044Salvatore M StockhamJapan2025-04-14Benton, John B Jr RENEWAL3Elwin Sharvill
1045Smith A NestleFrance2025-04-14King, Christopher A Esq UNQUALIFIED29Xuxue Feng
1046Julie N StockhamSpain2025-04-21Chemel, James L Cpa NEGOTIATION98Stephen Shaw
1047Maria F MaletSpain2025-04-08Morlong Associates NEW68Onyama Limba
1048Jefferson J CaudySpain2025-04-20King, Christopher A Esq NEW79Elwin Sharvill
1049Juan W GlickJapan2025-04-03Dorl, James J Esq RENEWAL11Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair W MaletBrazilAmy Elsner RENEWAL
Greenwood Y DilliardRussiaIvan Magalhaes NEW
Chavez N PaprockiGermanyStephen Shaw PROPOSAL
Rodrigues N OstroskyBrazilAsiya Javayant NEGOTIATION
Aika V SlusarskiGermanyIoni Bowcher UNQUALIFIED
Ricardo Q DarakjyItalyBernardo Dominic QUALIFIED
Claire Q SergiSpainXuxue Feng NEW
Nicolas N AlbaresFranceOnyama Limba UNQUALIFIED
Jennifer H GauchoArgentinaElwin Sharvill PROPOSAL
Smith L CaudyAustraliaIoni Bowcher NEW
Deepesh T IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Jones F VenereCanadaElwin Sharvill UNQUALIFIED
James S MorascaArgentinaAmy Elsner NEW
Greenwood U BriddickBrazilOnyama Limba PROPOSAL
Jefferson L OstroskySpainXuxue Feng PROPOSAL
Francesco Q CampainCanadaIvan Magalhaes UNQUALIFIED
Adams G NickaGermanyOnyama Limba NEW
Ivar Z PoquetteFranceIvan Magalhaes PROPOSAL
Smith X PerinCanadaXuxue Feng UNQUALIFIED
Isabel F RulapaughCanadaIvan Magalhaes QUALIFIED
Arvin T FlosiIndiaOnyama Limba RENEWAL
Jennifer Y CaldareraIndiaAsiya Javayant QUALIFIED
Johnson R SergiSpainBernardo Dominic NEW
Wickens D FigeroaBrazilStephen Shaw RENEWAL
Jefferson T NickaUnited KingdomAmy Elsner QUALIFIED
Tony K TollnerItalyElwin Sharvill QUALIFIED
Ashley X FerenczItalyStephen Shaw QUALIFIED
Wickens I ChuiArgentinaOnyama Limba UNQUALIFIED
Maria R SergiRussiaOnyama Limba NEGOTIATION
Antonio N ButtFranceStephen Shaw RENEWAL
Mayumi X PaprockiRussiaStephen Shaw NEW
Cody R StockhamJapanStephen Shaw NEW
Aruna F GlickFranceIoni Bowcher NEGOTIATION
Octavia R PaprockiFranceAnna Fali QUALIFIED
Greenwood U PaprockiIndiaAnna Fali RENEWAL
Faith U WaycottUnited KingdomBernardo Dominic PROPOSAL
Wickens E FollerItalyAmy Elsner RENEWAL
Salvatore Q CaldareraRussiaElwin Sharvill UNQUALIFIED
Darci P WaycottRussiaIoni Bowcher PROPOSAL
Emily W StensethFranceIoni Bowcher NEW
Claire D BowleyFranceXuxue Feng NEGOTIATION
Cody Z ChuiCanadaStephen Shaw NEW
Jennifer H MorascaUnited KingdomXuxue Feng NEW
Maisha U PoquetteItalyXuxue Feng PROPOSAL
Emily O GarufiBrazilElwin Sharvill NEW
Leon P ButtUnited KingdomElwin Sharvill PROPOSAL
Wickens K FerenczJapanXuxue Feng UNQUALIFIED
Francesco V ShinkoFranceAmy Elsner PROPOSAL
Ivar D ChuiItalyStephen Shaw QUALIFIED
Nicolas G BriddickGermanyAnna Fali RENEWAL
Frozen Columns
Name
Aruna D Rulapaugh
Ashley M Nicka
Aruna H Oldroyd
Aika M Nicka
Maisha P Albares
Salvatore C Bowley
Maria O Tollner
Aika G Stockham
Mayumi G Gaucho
Morrow M Schemmer
James N Whobrey
Rodrigues T Nestle
Murillo V Kolmetz
Johnson R Whobrey
Juan T Shinko
Octavia C Perin
Julie R Bowley
Chavez O Stenseth
Faith R Oldroyd
Nicolas R Campain
Murillo P Saylors
Tony Z Whobrey
Faith N Briddick
Kaitlin P Foller
Kaitlin U Campain
Aika T Poquette
Ashley C Shinko
Octavia W Schemmer
Darci Q Slusarski
Isabel A Nicka
Leja C Stockham
Ashley E Figeroa
Juan U Doe
Ivar U Stenseth
Jennifer Q Albares
Francesco B Paprocki
Rodrigues T Gaucho
Smith V Iturbide
Emily C Sergi
Jeanfrancois G Stockham
Isabel D Marrier
Kadeem A Morasca
Misaki Z Schemmer
Nicolas R Kolmetz
Jeanfrancois R Amigon
Antonio D Amigon
Darci T Waycott
Aruna J Poquette
Alejandro M Royster
Darci J Iturbide
IdCountryDate
1000Canada2025-04-12
1001India2025-04-03
1002India2025-04-05
1003Brazil2025-04-10
1004Japan2025-04-23
1005Russia2025-04-19
1006Russia2025-04-24
1007Australia2025-04-02
1008Germany2025-04-22
1009France2025-04-07
1010Brazil2025-04-29
1011Germany2025-04-07
1012Italy2025-04-14
1013Italy2025-04-17
1014Australia2025-04-08
1015Germany2025-04-29
1016Japan2025-04-17
1017Germany2025-04-07
1018India2025-04-27
1019France2025-04-11
1020Argentina2025-04-09
1021France2025-04-03
1022Russia2025-04-10
1023Italy2025-04-01
1024Brazil2025-04-21
1025Germany2025-04-06
1026Australia2025-04-08
1027France2025-04-19
1028France2025-04-02
1029United Kingdom2025-04-13
1030Japan2025-04-10
1031Italy2025-04-17
1032Brazil2025-04-15
1033Italy2025-04-13
1034Brazil2025-04-02
1035Italy2025-04-08
1036India2025-04-02
1037Italy2025-04-21
1038Brazil2025-04-25
1039Canada2025-04-15
1040Spain2025-04-01
1041Japan2025-04-23
1042Russia2025-04-11
1043Italy2025-04-01
1044Australia2025-04-20
1045Germany2025-04-17
1046Japan2025-04-22
1047Russia2025-04-02
1048India2025-04-13
1049Germany2025-04-16

On-Demand Data

NameIdCountryDate
Kaitlin R Chui1000Brazil2025-04-15
Kaitlin E Flosi1001Brazil2025-04-30
Jones V Gaucho1002Brazil2025-04-14
Faith H Malet1003Italy2025-04-18
Adams V Stenseth1004Canada2025-04-08
David U Marrier1005Brazil2025-04-26
Ricardo C Campain1006Spain2025-04-07
David K Shinko1007Brazil2025-04-25
Deepesh J Whobrey1008France2025-04-23
Salvatore X Doe1009Russia2025-04-07
Aika I Tollner1010United Kingdom2025-04-27
Smith X Garufi1011Australia2025-04-15
Stacey B Perin1012Japan2025-04-25
Leon N Shinko1013France2025-04-18
Faith C Malet1014Germany2025-04-02
Chavez K Shinko1015Italy2025-04-16
Arvin O Foller1016Australia2025-04-15
Leja F Figeroa1017Spain2025-04-12
Emily I Marrier1018France2025-04-18
David L Doe1019United Kingdom2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Z FerenczFranceBernardo Dominic UNQUALIFIED
Morrow G RimUnited KingdomStephen Shaw UNQUALIFIED
Adams S BowleyFranceElwin Sharvill QUALIFIED
Maisha G GillianJapanAsiya Javayant PROPOSAL
Salvatore Z SergiIndiaOnyama Limba QUALIFIED
Isabel G MaletCanadaAnna Fali NEW
Darci S AlbaresUnited KingdomAmy Elsner NEGOTIATION
Aditya X GauchoSpainElwin Sharvill NEW
Aika W ShinkoBrazilIvan Magalhaes PROPOSAL
Cody O MaletUnited KingdomBernardo Dominic NEW
James Y FerenczItalyElwin Sharvill PROPOSAL
Arvin L TollnerJapanAsiya Javayant NEGOTIATION
Julie D GauchoCanadaStephen Shaw NEW
Ashley U MorascaFranceBernardo Dominic UNQUALIFIED
Nicolas E WaycottItalyIoni Bowcher QUALIFIED
Adams H KolmetzAustraliaAnna Fali PROPOSAL
Antonio G WaycottRussiaElwin Sharvill QUALIFIED
Salvatore S OstroskyUnited KingdomAsiya Javayant PROPOSAL
Kadeem I BologniaJapanOnyama Limba RENEWAL
Greenwood B AmigonBrazilOnyama Limba UNQUALIFIED
Jones T FigeroaBrazilBernardo Dominic NEW
Kadeem A SaylorsRussiaBernardo Dominic RENEWAL
Morrow R OstroskyRussiaElwin Sharvill NEW
Murillo I MorascaArgentinaIvan Magalhaes UNQUALIFIED
Octavia P StensethCanadaBernardo Dominic RENEWAL
Wickens G WieserGermanyAsiya Javayant RENEWAL
Ashley V SaylorsItalyXuxue Feng RENEWAL
Arvin O NestleUnited KingdomStephen Shaw UNQUALIFIED
James Y FlosiSpainIvan Magalhaes PROPOSAL
Claire R SergiFranceAsiya Javayant PROPOSAL
Greenwood S KuskoArgentinaAmy Elsner RENEWAL
Smith F CampainUnited KingdomOnyama Limba QUALIFIED
Jefferson Q WieserCanadaAmy Elsner QUALIFIED
Kaitlin A SaylorsFranceBernardo Dominic NEGOTIATION
Tony Q SchemmerCanadaIvan Magalhaes QUALIFIED
Maria A CaldareraUnited KingdomIoni Bowcher RENEWAL
Morrow G DilliardIndiaAmy Elsner QUALIFIED
Alejandro D ChuiBrazilOnyama Limba PROPOSAL
Aika A KolmetzItalyOnyama Limba QUALIFIED
Jefferson R GarufiGermanyAnna 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>