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
Murillo E InouyeItalyAsiya Javayant PROPOSAL
Greenwood G CaudyItalyBernardo Dominic NEW
Julie B OldroydRussiaBernardo Dominic NEGOTIATION
Costa D ShinkoAustraliaElwin Sharvill NEGOTIATION
Jones H PoquetteIndiaElwin Sharvill QUALIFIED
Claire V DarakjyArgentinaBernardo Dominic RENEWAL
Aditya G BriddickFranceIoni Bowcher NEGOTIATION
Aruna B CampainAustraliaOnyama Limba NEW
Morrow G PaprockiFranceOnyama Limba NEGOTIATION
Izzy B RimRussiaIvan Magalhaes PROPOSAL
Juan C GauchoFranceXuxue Feng UNQUALIFIED
Jones E MarrierIndiaElwin Sharvill QUALIFIED
Isabel W IturbideItalyAnna Fali QUALIFIED
Adams N RulapaughJapanBernardo Dominic UNQUALIFIED
Aika N MacleadIndiaAmy Elsner PROPOSAL
Isabel H CaudyBrazilAsiya Javayant UNQUALIFIED
Darci F RoysterItalyAmy Elsner NEGOTIATION
Ricardo H KolmetzRussiaAmy Elsner RENEWAL
Maisha P RutaCanadaOnyama Limba NEGOTIATION
Munro T SergiAustraliaStephen Shaw UNQUALIFIED
Tony K CampainItalyAmy Elsner RENEWAL
Claire X FerenczSpainStephen Shaw NEW
James Z GarufiJapanAmy Elsner NEGOTIATION
Sinclair D IturbideItalyAmy Elsner NEW
Munro N MarrierJapanAsiya Javayant PROPOSAL
Morrow M IturbideAustraliaIvan Magalhaes NEW
Emily J KuskoSpainIvan Magalhaes NEGOTIATION
Antonio M MarrierGermanyElwin Sharvill QUALIFIED
Nicolas U StensethFranceStephen Shaw NEW
Faith P BologniaAustraliaAmy Elsner QUALIFIED
Nicolas J OstroskyCanadaAnna Fali NEW
Silvio G KuskoItalyElwin Sharvill NEW
Silvio B FerenczArgentinaIvan Magalhaes QUALIFIED
Isabel H ShinkoRussiaIvan Magalhaes NEW
Leja P BowleyIndiaAsiya Javayant QUALIFIED
Johnson V CampainIndiaAnna Fali QUALIFIED
Leon J RoysterJapanStephen Shaw NEW
Kaitlin O RoysterArgentinaAmy Elsner NEW
Greenwood O MacleadJapanStephen Shaw NEGOTIATION
Claire W RulapaughItalyIoni Bowcher NEGOTIATION
Izzy D CaudyCanadaOnyama Limba PROPOSAL
Salvatore Z ChuiArgentinaElwin Sharvill PROPOSAL
Mayumi L TollnerCanadaAmy Elsner QUALIFIED
Ivar T CampainBrazilStephen Shaw NEW
Chavez H PerinIndiaElwin Sharvill UNQUALIFIED
Johnson E VenereCanadaXuxue Feng UNQUALIFIED
Kaitlin X BowleyUnited KingdomOnyama Limba UNQUALIFIED
Deepesh L DoeAustraliaAsiya Javayant UNQUALIFIED
Aditya L KuskoCanadaOnyama Limba RENEWAL
Cody C FigeroaFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha N FollerGermanyBernardo Dominic NEW
David W SchemmerArgentinaBernardo Dominic QUALIFIED
Munro Z PoquetteCanadaIoni Bowcher QUALIFIED
Clifford C CaudyGermanyAnna Fali NEW
Cody Z SchemmerSpainStephen Shaw NEGOTIATION
Rodrigues V CaldareraFranceXuxue Feng PROPOSAL
Jones F InouyeFranceBernardo Dominic NEGOTIATION
Emily F DarakjyIndiaElwin Sharvill UNQUALIFIED
Kadeem R KolmetzBrazilAmy Elsner RENEWAL
Antonio A WaycottSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie V GillianJapan2024-06-09Feiner Bros QUALIFIED24Stephen Shaw
1001Claire P CaudyRussia2024-06-17Feltz Printing Service NEW70Anna Fali
1002Silvio I ShinkoSpain2024-06-16Chanay, Jeffrey A Esq NEGOTIATION26Ioni Bowcher
1003Morrow P FerenczItaly2024-06-07Dorl, James J Esq UNQUALIFIED91Xuxue Feng
1004Kaitlin E InouyeIndia2024-06-02Rousseaux, Michael Esq RENEWAL31Asiya Javayant
1005Maria W OstroskyFrance2024-06-11Printing Dimensions RENEWAL82Amy Elsner
1006Jones R VocelkaBrazil2024-06-10Buckley Miller Wright NEW53Asiya Javayant
1007Johnson A RimCanada2024-06-04Rangoni Of Florence PROPOSAL56Xuxue Feng
1008Sinclair X CampainUnited Kingdom2024-06-19King, Christopher A Esq NEGOTIATION71Onyama Limba
1009Maria Z FollerFrance2024-06-06Chapman, Ross E Esq NEGOTIATION74Elwin Sharvill
1010Kadeem U SlusarskiRussia2024-06-06Morlong Associates UNQUALIFIED49Asiya Javayant
1011Francesco H WieserIndia2024-05-24Truhlar And Truhlar Attys RENEWAL93Elwin Sharvill
1012Octavia D ChuiArgentina2024-05-31Chapman, Ross E Esq NEGOTIATION68Asiya Javayant
1013Tony J CaudyAustralia2024-06-01King, Christopher A Esq RENEWAL90Asiya Javayant
1014Leja G CaldareraCanada2024-05-29Truhlar And Truhlar Attys RENEWAL87Onyama Limba
1015Francesco I KolmetzItaly2024-06-10Chapman, Ross E Esq UNQUALIFIED55Asiya Javayant
1016Juan F WieserIndia2024-06-07Chapman, Ross E Esq RENEWAL59Ivan Magalhaes
1017Aditya D StockhamAustralia2024-05-23Chanay, Jeffrey A Esq PROPOSAL46Stephen Shaw
1018Isabel J GillianJapan2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED38Ioni Bowcher
1019Ivar I ShinkoItaly2024-05-25Printing Dimensions RENEWAL89Anna Fali
1020Juan N TollnerAustralia2024-06-12Rangoni Of Florence PROPOSAL95Anna Fali
1021Nicolas C AmigonUnited Kingdom2024-06-05Feltz Printing Service NEGOTIATION17Anna Fali
1022Darci P DilliardBrazil2024-05-23Truhlar And Truhlar Attys RENEWAL32Bernardo Dominic
1023Adams C WaycottCanada2024-06-04Rangoni Of Florence RENEWAL48Bernardo Dominic
1024Julie N BowleyJapan2024-06-20Chapman, Ross E Esq NEW73Ivan Magalhaes
1025Adams N ShinkoSpain2024-06-18Chemel, James L Cpa RENEWAL62Stephen Shaw
1026Murillo W ChuiCanada2024-06-06Chemel, James L Cpa RENEWAL50Anna Fali
1027Isabel A BologniaSpain2024-06-19Dorl, James J Esq NEW93Xuxue Feng
1028Smith S FigeroaAustralia2024-06-09Feiner Bros QUALIFIED39Onyama Limba
1029Stacey X VocelkaFrance2024-05-29Chapman, Ross E Esq NEW81Elwin Sharvill
1030Greenwood V ButtUnited Kingdom2024-06-16Commercial Press QUALIFIED79Asiya Javayant
1031Alejandro N CaudyAustralia2024-06-11Printing Dimensions NEW90Elwin Sharvill
1032Aika T CaudyIndia2024-06-03Benton, John B Jr PROPOSAL91Ioni Bowcher
1033Jennifer B CaudySpain2024-06-17King, Christopher A Esq RENEWAL66Bernardo Dominic
1034Aditya S SergiItaly2024-06-16Buckley Miller Wright RENEWAL67Xuxue Feng
1035Jennifer H MarrierUnited Kingdom2024-06-01Morlong Associates NEGOTIATION30Anna Fali
1036Claire I MaletFrance2024-06-14Feltz Printing Service QUALIFIED14Elwin Sharvill
1037Adams P OstroskyItaly2024-05-27Commercial Press UNQUALIFIED49Elwin Sharvill
1038Arvin G BowleyItaly2024-06-15Buckley Miller Wright PROPOSAL23Ioni Bowcher
1039Misaki N PaprockiArgentina2024-06-14Commercial Press PROPOSAL9Amy Elsner
1040Octavia B FlosiItaly2024-06-17Chemel, James L Cpa NEGOTIATION7Anna Fali
1041David Q RoysterItaly2024-06-03Rousseaux, Michael Esq NEW24Asiya Javayant
1042Ivar M BologniaRussia2024-05-28Truhlar And Truhlar Attys NEGOTIATION94Elwin Sharvill
1043Darci W AlbaresJapan2024-05-25Chanay, Jeffrey A Esq PROPOSAL27Onyama Limba
1044Greenwood I NestleUnited Kingdom2024-06-15Buckley Miller Wright NEGOTIATION47Ivan Magalhaes
1045Faith H ShinkoAustralia2024-06-02Feiner Bros QUALIFIED26Ioni Bowcher
1046Smith W CaudyFrance2024-06-10King, Christopher A Esq NEGOTIATION87Asiya Javayant
1047Ashley A FollerItaly2024-06-11Rousseaux, Michael Esq QUALIFIED35Anna Fali
1048Ivar V CaldareraArgentina2024-05-29Chemel, James L Cpa PROPOSAL21Xuxue Feng
1049Darci K RimGermany2024-06-15Chemel, James L Cpa RENEWAL68Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Claire M MaletIndiaBernardo Dominic RENEWAL
David E CaudyArgentinaOnyama Limba NEW
Jones V RimBrazilElwin Sharvill UNQUALIFIED
Wickens V OldroydJapanIoni Bowcher UNQUALIFIED
Francesco N MacleadFranceOnyama Limba UNQUALIFIED
David J RimFranceAsiya Javayant UNQUALIFIED
Kadeem G OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Aditya M RimGermanyStephen Shaw UNQUALIFIED
Izzy U CaudyFranceXuxue Feng NEGOTIATION
Morrow T PaprockiCanadaElwin Sharvill RENEWAL
Jefferson V FerenczArgentinaElwin Sharvill UNQUALIFIED
Sinclair A WaycottCanadaOnyama Limba RENEWAL
Jeanfrancois C MorascaAustraliaXuxue Feng PROPOSAL
Wickens A MacleadIndiaAsiya Javayant PROPOSAL
Ivar T PerinCanadaXuxue Feng QUALIFIED
Jennifer H SlusarskiFranceAsiya Javayant RENEWAL
Antonio P DilliardJapanAnna Fali NEW
Kadeem A WaycottGermanyOnyama Limba QUALIFIED
Ashley E AlbaresUnited KingdomAnna Fali PROPOSAL
Emily H InouyeGermanyElwin Sharvill PROPOSAL
Murillo M SchemmerArgentinaAmy Elsner RENEWAL
Julie K GillianArgentinaAsiya Javayant RENEWAL
David M CampainGermanyElwin Sharvill NEW
Nicolas R MacleadGermanyAnna Fali PROPOSAL
Aruna T RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo T OstroskyFranceStephen Shaw QUALIFIED
Morrow E InouyeUnited KingdomXuxue Feng UNQUALIFIED
Leja T RutaBrazilAmy Elsner RENEWAL
Julie G FerenczBrazilIoni Bowcher NEW
Maria B GlickFranceIvan Magalhaes PROPOSAL
Morrow F GarufiJapanIvan Magalhaes NEW
Leon B FollerSpainOnyama Limba RENEWAL
Misaki X PaprockiGermanyXuxue Feng NEGOTIATION
Stacey I RulapaughRussiaAsiya Javayant PROPOSAL
Antonio D BowleyJapanAnna Fali UNQUALIFIED
Misaki I WhobreyCanadaIvan Magalhaes RENEWAL
Leja S CampainItalyStephen Shaw NEW
Salvatore Z AlbaresBrazilStephen Shaw QUALIFIED
Aditya L InouyeBrazilAnna Fali UNQUALIFIED
Aditya E FerenczSpainOnyama Limba RENEWAL
Costa N MorascaSpainAmy Elsner RENEWAL
Maisha G WieserGermanyAsiya Javayant NEGOTIATION
Leon I RoysterItalyIvan Magalhaes QUALIFIED
Silvio U MorascaIndiaAsiya Javayant RENEWAL
Salvatore C RutaFranceStephen Shaw UNQUALIFIED
Kadeem Z StockhamIndiaBernardo Dominic PROPOSAL
Antonio X DoeJapanIoni Bowcher RENEWAL
Alejandro F CampainArgentinaBernardo Dominic NEW
Faith G PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Wickens J PaprockiItalyAnna Fali RENEWAL
Frozen Columns
Name
Adams C Figeroa
Munro H Venere
Smith U Ruta
Jefferson D Schemmer
James Z Bowley
Stacey O Oldroyd
Salvatore F Flosi
David C Perin
Misaki S Schemmer
Misaki Z Oldroyd
Stacey P Rim
Costa B Tollner
Maisha Z Foller
Misaki Z Sergi
Leon Z Nicka
Misaki T Waycott
Faith Z Chui
Isabel K Perin
Claire C Campain
Silvio Z Whobrey
Maria F Ostrosky
Octavia H Waycott
Alejandro X Waycott
Octavia G Glick
Isabel T Caudy
Octavia B Venere
Jefferson J Dilliard
Emily V Caudy
Ricardo T Butt
Wickens Z Malet
Emily Q Garufi
Salvatore V Schemmer
Silvio M Malet
Salvatore R Nicka
Kaitlin R Whobrey
Aruna C Darakjy
Alejandro L Slusarski
Jefferson P Saylors
Jefferson O Paprocki
Morrow B Maclead
Octavia U Dilliard
Faith I Saylors
Mayumi P Rulapaugh
Arvin W Ruta
Aruna R Rulapaugh
Antonio X Garufi
Arvin N Caudy
James T Wieser
Jefferson A Chui
Alejandro R Foller
IdCountryDate
1000Canada2024-05-23
1001Spain2024-05-25
1002France2024-06-10
1003United Kingdom2024-05-23
1004Japan2024-06-03
1005Brazil2024-06-07
1006France2024-06-04
1007Australia2024-05-28
1008France2024-06-18
1009Argentina2024-06-16
1010Canada2024-06-15
1011Spain2024-06-21
1012India2024-06-05
1013Italy2024-06-05
1014Brazil2024-05-29
1015France2024-06-07
1016Germany2024-06-10
1017Japan2024-06-15
1018India2024-06-17
1019Brazil2024-06-12
1020Spain2024-06-11
1021India2024-06-15
1022Spain2024-06-12
1023Germany2024-06-08
1024Canada2024-06-09
1025Spain2024-06-21
1026Italy2024-06-10
1027Spain2024-05-29
1028Japan2024-05-25
1029Brazil2024-06-02
1030Spain2024-06-11
1031Spain2024-05-30
1032Italy2024-06-03
1033Argentina2024-06-17
1034India2024-05-25
1035France2024-06-17
1036Canada2024-05-24
1037Russia2024-06-04
1038Russia2024-05-27
1039India2024-06-05
1040Argentina2024-06-20
1041Germany2024-06-05
1042Italy2024-05-30
1043Canada2024-06-13
1044Australia2024-06-03
1045Argentina2024-06-02
1046India2024-05-29
1047Japan2024-06-07
1048Russia2024-06-12
1049Italy2024-06-08

On-Demand Data

NameIdCountryDate
Francesco X Slusarski1000Argentina2024-05-30
Jefferson Y Caudy1001United Kingdom2024-06-10
Misaki O Caldarera1002India2024-05-27
Alejandro E Sergi1003Germany2024-05-28
Aditya A Kusko1004United Kingdom2024-06-04
Izzy S Ruta1005Italy2024-06-15
Mujtaba X Sergi1006Russia2024-06-15
Kaitlin O Poquette1007France2024-06-15
Arvin V Flosi1008Russia2024-05-26
Johnson N Albares1009Argentina2024-06-01
Isabel W Briddick1010India2024-06-15
Costa J Caudy1011France2024-06-05
Cody K Ferencz1012Japan2024-06-01
Adams U Malet1013Italy2024-06-20
Francesco H Royster1014Russia2024-06-10
Munro K Figeroa1015Argentina2024-05-31
Faith Q Slusarski1016India2024-05-28
Claire G Campain1017Canada2024-06-09
Emily L Perin1018Canada2024-05-24
Clifford Z Kolmetz1019Canada2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey O SaylorsItalyIoni Bowcher NEGOTIATION
Ricardo F DoeBrazilAnna Fali NEW
Mayumi J AmigonJapanOnyama Limba QUALIFIED
Wickens Q InouyeCanadaElwin Sharvill NEGOTIATION
Jeanfrancois F RulapaughSpainAsiya Javayant NEW
Rodrigues C StockhamBrazilIoni Bowcher QUALIFIED
Octavia X GillianBrazilAsiya Javayant PROPOSAL
Misaki V TollnerArgentinaAnna Fali RENEWAL
Jones N FlosiCanadaOnyama Limba PROPOSAL
Claire O BriddickFranceIvan Magalhaes PROPOSAL
Aruna Q WhobreyFranceAnna Fali PROPOSAL
Greenwood F RulapaughRussiaIvan Magalhaes PROPOSAL
Aditya E BriddickItalyXuxue Feng RENEWAL
Jones U StockhamAustraliaElwin Sharvill PROPOSAL
Darci H ButtIndiaXuxue Feng NEGOTIATION
Ashley V RutaJapanAmy Elsner RENEWAL
Isabel N PerinUnited KingdomAsiya Javayant PROPOSAL
Jefferson K FigeroaUnited KingdomAnna Fali NEW
Francesco Y PaprockiCanadaIoni Bowcher UNQUALIFIED
Aditya L SergiCanadaAmy Elsner UNQUALIFIED
Ricardo Q InouyeItalyXuxue Feng RENEWAL
Emily I VocelkaIndiaIoni Bowcher QUALIFIED
Julie F BowleyAustraliaAsiya Javayant NEGOTIATION
Leon F OldroydIndiaBernardo Dominic NEW
Kaitlin J FerenczUnited KingdomStephen Shaw NEW
Aruna G PaprockiJapanBernardo Dominic RENEWAL
Morrow F BriddickSpainAnna Fali NEGOTIATION
Aika D OldroydFranceXuxue Feng PROPOSAL
Antonio D MarrierAustraliaOnyama Limba UNQUALIFIED
Kadeem G SchemmerRussiaOnyama Limba NEGOTIATION
Murillo W CampainRussiaElwin Sharvill PROPOSAL
Izzy O WaycottBrazilAmy Elsner NEGOTIATION
Jeanfrancois M ChuiAustraliaIvan Magalhaes NEGOTIATION
Ivar T StockhamSpainAsiya Javayant PROPOSAL
Maria S TollnerGermanyAmy Elsner RENEWAL
Maria G FollerRussiaStephen Shaw RENEWAL
Aditya N WhobreyFranceElwin Sharvill QUALIFIED
Ivar Z KuskoCanadaBernardo Dominic QUALIFIED
Kaitlin O MacleadGermanyIvan Magalhaes NEW
Stacey W OldroydJapanIvan Magalhaes 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>