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
Octavia P ShinkoArgentinaElwin Sharvill PROPOSAL
Francesco L StensethIndiaAnna Fali NEGOTIATION
Octavia A DarakjyUnited KingdomBernardo Dominic NEW
Chavez B DoeRussiaXuxue Feng PROPOSAL
Silvio O SchemmerItalyAmy Elsner NEW
Stacey H KuskoSpainOnyama Limba UNQUALIFIED
Deepesh C RoysterBrazilStephen Shaw QUALIFIED
Faith I CaldareraGermanyAmy Elsner PROPOSAL
Juan F PaprockiUnited KingdomIoni Bowcher RENEWAL
Maria J NickaSpainAsiya Javayant RENEWAL
Murillo X ChuiAustraliaStephen Shaw NEW
Kaitlin S PaprockiItalyAnna Fali NEW
Francesco N DarakjyJapanAnna Fali PROPOSAL
Deepesh K DarakjyFranceXuxue Feng NEW
Jennifer K FerenczRussiaOnyama Limba QUALIFIED
Emily L GillianCanadaAsiya Javayant QUALIFIED
Arvin L MorascaJapanElwin Sharvill PROPOSAL
Costa A AmigonSpainAnna Fali PROPOSAL
Deepesh A InouyeArgentinaIoni Bowcher NEGOTIATION
Octavia V OstroskyBrazilAsiya Javayant RENEWAL
Adams H AmigonArgentinaElwin Sharvill UNQUALIFIED
Claire C CaudyAustraliaBernardo Dominic UNQUALIFIED
Tony W ButtGermanyAnna Fali QUALIFIED
Maria Y MaletArgentinaStephen Shaw RENEWAL
Mujtaba S GauchoCanadaIoni Bowcher NEW
Arvin Z BriddickAustraliaIoni Bowcher PROPOSAL
Alejandro W MorascaCanadaXuxue Feng UNQUALIFIED
Jeanfrancois H StensethSpainXuxue Feng RENEWAL
Clifford D OldroydRussiaXuxue Feng UNQUALIFIED
Aika D WaycottArgentinaElwin Sharvill NEGOTIATION
Leja S PoquetteSpainBernardo Dominic NEW
Wickens Q BowleyItalyBernardo Dominic RENEWAL
Izzy W FerenczSpainStephen Shaw PROPOSAL
Silvio C ButtUnited KingdomElwin Sharvill PROPOSAL
Greenwood J DoeCanadaXuxue Feng UNQUALIFIED
Antonio N FlosiGermanyIvan Magalhaes NEW
Ivar D CampainSpainIvan Magalhaes UNQUALIFIED
Leon P MarrierAustraliaElwin Sharvill PROPOSAL
Isabel Y GauchoSpainIoni Bowcher RENEWAL
Munro L DilliardSpainXuxue Feng UNQUALIFIED
Maisha Z KuskoGermanyStephen Shaw UNQUALIFIED
Francesco L PoquetteIndiaOnyama Limba QUALIFIED
Kaitlin R CaldareraCanadaBernardo Dominic RENEWAL
Claire V OstroskyArgentinaIvan Magalhaes NEW
James J SaylorsJapanAsiya Javayant UNQUALIFIED
Ashley B NestleRussiaIvan Magalhaes NEGOTIATION
Costa P InouyeAustraliaOnyama Limba RENEWAL
Chavez I RutaBrazilOnyama Limba NEGOTIATION
Salvatore N RutaSpainAnna Fali QUALIFIED
Chavez A RimAustraliaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Smith Q RoysterJapanElwin Sharvill RENEWAL
Antonio V CaldareraItalyStephen Shaw UNQUALIFIED
Arvin G GillianJapanAnna Fali RENEWAL
Rodrigues J DoeFranceOnyama Limba NEW
Ivar X VocelkaUnited KingdomAmy Elsner RENEWAL
Tony C RutaBrazilOnyama Limba RENEWAL
James V PerinJapanXuxue Feng NEW
Claire H KolmetzBrazilIoni Bowcher NEW
Salvatore U ChuiGermanyElwin Sharvill QUALIFIED
Chavez V OldroydGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y OstroskyUnited Kingdom2025-04-08Dorl, James J Esq QUALIFIED20Onyama Limba
1001Deepesh O StensethSpain2025-04-13Feltz Printing Service NEGOTIATION80Xuxue Feng
1002Sinclair B DarakjyRussia2025-04-25Buckley Miller Wright NEW8Elwin Sharvill
1003Silvio F MorascaGermany2025-04-19Commercial Press RENEWAL99Asiya Javayant
1004Murillo X NickaSpain2025-04-25Feiner Bros NEW31Ivan Magalhaes
1005Jeanfrancois J BriddickCanada2025-04-01Commercial Press NEGOTIATION62Onyama Limba
1006Morrow D VocelkaArgentina2025-04-03Commercial Press NEGOTIATION35Ivan Magalhaes
1007Aika M MaletArgentina2025-04-16Feiner Bros UNQUALIFIED60Bernardo Dominic
1008Maisha C TollnerGermany2025-04-05Rangoni Of Florence NEW34Bernardo Dominic
1009Ivar L GarufiIndia2025-04-26Feiner Bros RENEWAL91Ioni Bowcher
1010Greenwood Y PaprockiArgentina2025-04-19Rousseaux, Michael Esq QUALIFIED66Ivan Magalhaes
1011Juan P GauchoSpain2025-04-04Feltz Printing Service NEGOTIATION11Anna Fali
1012Mayumi S BologniaRussia2025-04-18Printing Dimensions UNQUALIFIED27Ioni Bowcher
1013Jefferson E SchemmerSpain2025-04-24Truhlar And Truhlar Attys PROPOSAL78Anna Fali
1014Murillo V NestleJapan2025-04-07Dorl, James J Esq NEW91Stephen Shaw
1015Arvin K SlusarskiSpain2025-04-18Rangoni Of Florence NEGOTIATION55Onyama Limba
1016Maisha K RutaSpain2025-04-28Chemel, James L Cpa NEW57Stephen Shaw
1017Francesco V BriddickFrance2025-04-02Benton, John B Jr PROPOSAL56Elwin Sharvill
1018Julie Z VenereAustralia2025-04-10King, Christopher A Esq RENEWAL60Stephen Shaw
1019Munro S SaylorsJapan2025-04-23Rangoni Of Florence NEW25Onyama Limba
1020Faith U GarufiRussia2025-04-05Feltz Printing Service PROPOSAL95Elwin Sharvill
1021Octavia A StensethFrance2025-04-22Feiner Bros NEGOTIATION44Anna Fali
1022Smith L DarakjyCanada2025-04-19Feiner Bros NEW0Ioni Bowcher
1023Isabel A BologniaCanada2025-04-12Commercial Press NEGOTIATION93Bernardo Dominic
1024Mujtaba K NickaRussia2025-04-28Printing Dimensions PROPOSAL61Bernardo Dominic
1025Mayumi N DilliardBrazil2025-04-07Chanay, Jeffrey A Esq RENEWAL29Anna Fali
1026James I RulapaughUnited Kingdom2025-04-26Chapman, Ross E Esq NEGOTIATION92Asiya Javayant
1027Faith X PoquetteUnited Kingdom2025-04-15Chanay, Jeffrey A Esq QUALIFIED75Ivan Magalhaes
1028Greenwood I StensethItaly2025-04-13Dorl, James J Esq UNQUALIFIED81Asiya Javayant
1029Johnson W TollnerArgentina2025-04-29Printing Dimensions QUALIFIED75Bernardo Dominic
1030Johnson I MorascaArgentina2025-04-11Commercial Press UNQUALIFIED36Asiya Javayant
1031Maisha J OldroydFrance2025-04-03Truhlar And Truhlar Attys NEW26Stephen Shaw
1032Clifford H StockhamItaly2025-04-25King, Christopher A Esq QUALIFIED83Ivan Magalhaes
1033Jefferson N VenereBrazil2025-04-11Feltz Printing Service NEW64Bernardo Dominic
1034Ivar U DoeSpain2025-04-05Truhlar And Truhlar Attys RENEWAL42Amy Elsner
1035Sinclair J GauchoAustralia2025-04-14Printing Dimensions PROPOSAL93Onyama Limba
1036Johnson D SlusarskiGermany2025-04-27Rangoni Of Florence NEGOTIATION39Anna Fali
1037Tony R MaletIndia2025-04-01Benton, John B Jr UNQUALIFIED6Amy Elsner
1038Misaki I DilliardRussia2025-04-26Feiner Bros NEGOTIATION14Ivan Magalhaes
1039Jones S InouyeAustralia2025-04-05Chemel, James L Cpa RENEWAL20Elwin Sharvill
1040Arvin E FerenczSpain2025-04-11Printing Dimensions NEW53Bernardo Dominic
1041Aruna H DilliardJapan2025-04-03Chanay, Jeffrey A Esq PROPOSAL35Elwin Sharvill
1042Munro J OldroydArgentina2025-04-29Truhlar And Truhlar Attys RENEWAL51Ioni Bowcher
1043James M StensethFrance2025-04-17Printing Dimensions PROPOSAL19Ioni Bowcher
1044Aditya A SchemmerRussia2025-04-23King, Christopher A Esq NEGOTIATION32Anna Fali
1045Mujtaba Z RimUnited Kingdom2025-04-21Feiner Bros PROPOSAL13Amy Elsner
1046Stacey X OldroydGermany2025-04-28King, Christopher A Esq NEW18Amy Elsner
1047Emily V StensethItaly2025-04-24Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1048Julie T ShinkoIndia2025-04-09Rousseaux, Michael Esq NEGOTIATION56Bernardo Dominic
1049Ashley Z OstroskyFrance2025-04-20Morlong Associates UNQUALIFIED45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mayumi K KolmetzFranceIvan Magalhaes PROPOSAL
Isabel J MacleadAustraliaStephen Shaw NEW
Murillo Z OstroskyIndiaXuxue Feng PROPOSAL
Maria N KolmetzBrazilXuxue Feng PROPOSAL
Ashley V DoeItalyIvan Magalhaes UNQUALIFIED
Greenwood F IturbideRussiaElwin Sharvill RENEWAL
Munro I PaprockiArgentinaAnna Fali PROPOSAL
Johnson R MacleadItalyXuxue Feng UNQUALIFIED
Claire H DilliardCanadaAmy Elsner PROPOSAL
Johnson W TollnerSpainXuxue Feng UNQUALIFIED
Wickens H FlosiRussiaXuxue Feng NEGOTIATION
Kadeem I CampainAustraliaXuxue Feng NEW
Aruna R RulapaughIndiaIvan Magalhaes PROPOSAL
Tony I TollnerArgentinaIoni Bowcher QUALIFIED
Izzy Z RimAustraliaOnyama Limba PROPOSAL
Juan K OstroskySpainElwin Sharvill RENEWAL
Morrow K IturbideCanadaIoni Bowcher QUALIFIED
Kaitlin Y ShinkoUnited KingdomOnyama Limba NEW
Murillo Z MarrierUnited KingdomOnyama Limba PROPOSAL
Johnson E NickaItalyIoni Bowcher RENEWAL
Leon Z FlosiItalyAnna Fali QUALIFIED
Salvatore G SlusarskiBrazilIvan Magalhaes QUALIFIED
Jefferson L SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Leja T PoquetteGermanyOnyama Limba PROPOSAL
Adams M DarakjySpainBernardo Dominic PROPOSAL
Maisha O DilliardRussiaIoni Bowcher UNQUALIFIED
David N BowleyGermanyElwin Sharvill QUALIFIED
Jennifer C RulapaughFranceAsiya Javayant QUALIFIED
Clifford F RulapaughGermanyOnyama Limba NEGOTIATION
Sinclair M SergiUnited KingdomOnyama Limba QUALIFIED
Octavia K GarufiItalyOnyama Limba NEGOTIATION
Izzy F SergiIndiaIoni Bowcher PROPOSAL
Faith U WhobreyRussiaElwin Sharvill NEW
Deepesh T SlusarskiIndiaBernardo Dominic NEW
Ricardo Q DarakjyJapanElwin Sharvill PROPOSAL
Isabel M FerenczGermanyAmy Elsner NEGOTIATION
Cody G AmigonItalyAnna Fali RENEWAL
Aruna Z StensethAustraliaElwin Sharvill PROPOSAL
Mayumi Q InouyeAustraliaIoni Bowcher UNQUALIFIED
Mayumi D RutaArgentinaAsiya Javayant NEW
Julie R GlickArgentinaAmy Elsner PROPOSAL
Morrow T CaudyRussiaIoni Bowcher QUALIFIED
Smith W GillianItalyBernardo Dominic UNQUALIFIED
Smith J InouyeBrazilXuxue Feng PROPOSAL
Nicolas Z OldroydJapanOnyama Limba RENEWAL
Rodrigues J FollerFranceXuxue Feng PROPOSAL
Chavez I ChuiUnited KingdomOnyama Limba RENEWAL
Emily R FerenczGermanyIvan Magalhaes NEW
Julie H ShinkoJapanBernardo Dominic RENEWAL
Maria U PerinIndiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Julie Y Kolmetz
Clifford J Malet
Ivar V Ruta
Ashley E Doe
Sinclair K Maclead
Mayumi I Foller
Antonio B Nestle
Nicolas E Bowley
Aika T Maclead
Julie M Caudy
Chavez P Rulapaugh
Isabel R Briddick
Munro O Figeroa
Aditya Z Tollner
Johnson K Caudy
James F Butt
Aruna N Stockham
Ivar K Tollner
Rodrigues X Glick
Cody H Ruta
James D Caudy
Cody U Briddick
Murillo L Amigon
Aditya E Gillian
Kaitlin Y Rim
Arvin R Malet
Ricardo D Campain
Smith V Poquette
Mujtaba B Iturbide
Smith R Amigon
Isabel F Briddick
Salvatore L Slusarski
Emily L Nicka
Faith Y Butt
Kadeem R Kusko
Munro E Schemmer
Emily F Butt
Alejandro Z Amigon
Aruna F Perin
David B Flosi
Ricardo T Gillian
Aditya F Waycott
Clifford M Royster
Costa U Morasca
Murillo I Oldroyd
Deepesh H Ferencz
Deepesh D Caudy
Clifford Z Inouye
David T Flosi
Jennifer B Butt
IdCountryDate
1000Australia2025-04-22
1001Italy2025-04-27
1002Australia2025-04-11
1003Argentina2025-04-17
1004Argentina2025-04-02
1005Canada2025-04-14
1006United Kingdom2025-04-21
1007Argentina2025-04-11
1008Canada2025-04-13
1009Germany2025-04-11
1010United Kingdom2025-04-05
1011Japan2025-04-12
1012Argentina2025-04-01
1013Argentina2025-04-06
1014Germany2025-04-07
1015India2025-04-13
1016Canada2025-04-17
1017Russia2025-04-08
1018Germany2025-04-20
1019Canada2025-04-09
1020Spain2025-04-14
1021Italy2025-04-21
1022Italy2025-04-21
1023France2025-04-10
1024France2025-04-22
1025Australia2025-04-02
1026Germany2025-04-13
1027Canada2025-04-01
1028Germany2025-04-06
1029Australia2025-04-27
1030Italy2025-04-22
1031France2025-04-11
1032United Kingdom2025-04-11
1033Japan2025-04-12
1034Germany2025-04-02
1035Japan2025-04-17
1036Germany2025-04-25
1037France2025-04-19
1038Spain2025-04-04
1039Russia2025-04-28
1040Russia2025-04-05
1041Japan2025-04-05
1042Germany2025-04-22
1043Japan2025-04-13
1044Canada2025-04-25
1045Russia2025-04-29
1046Canada2025-04-15
1047Argentina2025-04-01
1048Spain2025-04-22
1049Canada2025-04-29

On-Demand Data

NameIdCountryDate
Sinclair T Caldarera1000Japan2025-04-20
Stacey Z Gillian1001Canada2025-04-13
Darci H Ferencz1002Japan2025-04-16
Leon W Shinko1003Australia2025-04-09
Aditya F Butt1004Argentina2025-04-10
Leon B Venere1005Argentina2025-04-25
Aditya X Chui1006Canada2025-04-19
Deepesh C Whobrey1007Spain2025-04-19
Clifford U Gaucho1008Argentina2025-04-10
Smith V Malet1009Canada2025-04-15
Misaki Q Wieser1010Canada2025-04-27
Kaitlin K Amigon1011Argentina2025-04-25
Maisha X Marrier1012Canada2025-04-28
Stacey H Campain1013Japan2025-04-02
Juan Y Briddick1014Italy2025-04-26
Jefferson J Glick1015Argentina2025-04-09
Jefferson J Butt1016Argentina2025-04-06
Kadeem O Amigon1017United Kingdom2025-04-06
Silvio C Inouye1018Argentina2025-04-14
Salvatore D Iturbide1019India2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon L MorascaArgentinaBernardo Dominic QUALIFIED
Misaki Y DoeAustraliaStephen Shaw RENEWAL
Antonio A SchemmerBrazilAnna Fali RENEWAL
Aruna V FollerAustraliaAsiya Javayant PROPOSAL
Johnson I RimUnited KingdomStephen Shaw UNQUALIFIED
James R BologniaSpainElwin Sharvill NEW
Faith U WieserCanadaIoni Bowcher NEW
Misaki A ShinkoJapanAsiya Javayant NEW
Jones H WaycottFranceIoni Bowcher NEGOTIATION
Claire Y InouyeFranceXuxue Feng NEW
Maisha S SchemmerRussiaXuxue Feng QUALIFIED
Jefferson C BriddickJapanAnna Fali PROPOSAL
Faith P GillianBrazilAsiya Javayant NEW
Deepesh F CaldareraFranceXuxue Feng PROPOSAL
James A ChuiBrazilXuxue Feng UNQUALIFIED
Octavia C RimAustraliaStephen Shaw QUALIFIED
Aruna B SergiIndiaIoni Bowcher NEGOTIATION
Isabel P PoquetteUnited KingdomAmy Elsner RENEWAL
Aditya E SergiIndiaAnna Fali PROPOSAL
Darci H IturbideFranceStephen Shaw PROPOSAL
Johnson B ShinkoRussiaOnyama Limba QUALIFIED
Silvio E GillianAustraliaIoni Bowcher UNQUALIFIED
Johnson C ShinkoCanadaOnyama Limba PROPOSAL
Sinclair T FollerBrazilStephen Shaw QUALIFIED
Munro F StensethBrazilAnna Fali NEW
Aruna H OstroskyItalyOnyama Limba NEGOTIATION
Juan H AmigonBrazilStephen Shaw QUALIFIED
Nicolas W FlosiJapanElwin Sharvill UNQUALIFIED
Francesco U NickaAustraliaAnna Fali UNQUALIFIED
Rodrigues G GlickCanadaIvan Magalhaes PROPOSAL
Stacey J SlusarskiFranceAmy Elsner NEGOTIATION
Murillo U NestleJapanStephen Shaw NEGOTIATION
Murillo M SaylorsRussiaAsiya Javayant RENEWAL
Maisha D RulapaughJapanAsiya Javayant UNQUALIFIED
Alejandro L KuskoIndiaIoni Bowcher PROPOSAL
Leon B ChuiItalyIoni Bowcher RENEWAL
Nicolas V PoquetteFranceAmy Elsner NEGOTIATION
Aruna D StockhamItalyElwin Sharvill RENEWAL
Arvin C MaletItalyStephen Shaw QUALIFIED
Isabel V DilliardCanadaStephen Shaw QUALIFIED

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