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
Jennifer X StockhamUnited KingdomIoni Bowcher PROPOSAL
Jones Z NickaArgentinaAsiya Javayant QUALIFIED
Mayumi G AlbaresSpainStephen Shaw QUALIFIED
Smith Y MaletUnited KingdomAsiya Javayant NEGOTIATION
Maisha P StensethJapanStephen Shaw NEW
Adams N ButtItalyBernardo Dominic QUALIFIED
Jefferson L RutaRussiaAmy Elsner UNQUALIFIED
Julie K WhobreyArgentinaAsiya Javayant RENEWAL
Misaki X RimItalyBernardo Dominic NEW
Silvio X GillianUnited KingdomIoni Bowcher UNQUALIFIED
Morrow M FigeroaArgentinaIoni Bowcher QUALIFIED
Octavia D RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois S ShinkoSpainElwin Sharvill PROPOSAL
Aruna I MacleadAustraliaIoni Bowcher PROPOSAL
Aika Q PoquetteGermanyIoni Bowcher UNQUALIFIED
Chavez D SaylorsBrazilAnna Fali RENEWAL
David C FlosiRussiaXuxue Feng NEW
Francesco E RimBrazilIvan Magalhaes PROPOSAL
Clifford H FerenczArgentinaOnyama Limba NEGOTIATION
Morrow D KuskoIndiaElwin Sharvill RENEWAL
Emily Q ShinkoSpainIvan Magalhaes QUALIFIED
Jones G CaudyFranceAnna Fali NEW
Leja X SlusarskiUnited KingdomXuxue Feng QUALIFIED
Claire A KuskoAustraliaAsiya Javayant NEGOTIATION
Leja V MarrierSpainAsiya Javayant QUALIFIED
Alejandro Z RoysterItalyBernardo Dominic NEW
Ivar S CaldareraIndiaAnna Fali QUALIFIED
Clifford O ButtRussiaIvan Magalhaes UNQUALIFIED
Antonio R MaletSpainAsiya Javayant RENEWAL
Jones J MaletGermanyOnyama Limba NEGOTIATION
Misaki J AlbaresIndiaIoni Bowcher QUALIFIED
Costa P IturbideBrazilElwin Sharvill QUALIFIED
Jones U MaletUnited KingdomAmy Elsner PROPOSAL
Munro S KuskoIndiaXuxue Feng PROPOSAL
Johnson C RulapaughFranceOnyama Limba NEGOTIATION
Aruna S OstroskyJapanBernardo Dominic NEW
Jefferson D ShinkoIndiaOnyama Limba NEW
Mayumi W ButtBrazilAmy Elsner PROPOSAL
James O FigeroaArgentinaAmy Elsner QUALIFIED
Ricardo S TollnerBrazilOnyama Limba QUALIFIED
Rodrigues W FigeroaArgentinaBernardo Dominic RENEWAL
Sinclair E MaletJapanAmy Elsner PROPOSAL
Izzy M SlusarskiItalyStephen Shaw RENEWAL
Emily O RimSpainAsiya Javayant UNQUALIFIED
Morrow F RutaAustraliaAnna Fali PROPOSAL
Johnson E ShinkoBrazilIoni Bowcher NEW
Wickens G DoeIndiaAsiya Javayant RENEWAL
Aditya Z CaudyAustraliaStephen Shaw RENEWAL
Claire U FigeroaRussiaStephen Shaw RENEWAL
Arvin O RimBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford J ButtAustraliaXuxue Feng RENEWAL
Izzy S ButtCanadaIvan Magalhaes UNQUALIFIED
Costa Y AmigonArgentinaIoni Bowcher RENEWAL
Wickens K FerenczAustraliaStephen Shaw RENEWAL
Murillo V SlusarskiGermanyElwin Sharvill QUALIFIED
Jefferson J KolmetzIndiaOnyama Limba RENEWAL
Adams E RimFranceBernardo Dominic NEW
Leja A IturbideFranceXuxue Feng RENEWAL
Greenwood E GarufiFranceAnna Fali UNQUALIFIED
Tony X NickaJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba J DoeRussia2024-06-20Commercial Press NEGOTIATION74Elwin Sharvill
1001Chavez W ButtAustralia2024-06-06Commercial Press QUALIFIED77Xuxue Feng
1002Aditya M MorascaRussia2024-06-07Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1003Murillo T NestleGermany2024-06-13Rangoni Of Florence NEW18Asiya Javayant
1004Jones S WhobreyAustralia2024-05-30Chemel, James L Cpa UNQUALIFIED2Amy Elsner
1005Jefferson O MorascaItaly2024-06-06Feiner Bros QUALIFIED14Amy Elsner
1006Costa K BowleyAustralia2024-06-19Feltz Printing Service NEGOTIATION7Elwin Sharvill
1007Isabel J FlosiAustralia2024-05-26Chapman, Ross E Esq RENEWAL79Asiya Javayant
1008Adams W GlickFrance2024-05-24Benton, John B Jr NEGOTIATION44Onyama Limba
1009Antonio S RoysterGermany2024-06-12Commercial Press QUALIFIED31Elwin Sharvill
1010Nicolas E StockhamIndia2024-06-06Commercial Press PROPOSAL89Onyama Limba
1011Morrow B DilliardArgentina2024-05-24Chapman, Ross E Esq RENEWAL34Xuxue Feng
1012Mayumi G PaprockiRussia2024-06-19Dorl, James J Esq NEW1Bernardo Dominic
1013Ricardo M CaudyBrazil2024-05-31Morlong Associates QUALIFIED97Anna Fali
1014Smith L GauchoItaly2024-06-10Feiner Bros PROPOSAL96Onyama Limba
1015Cody Y SchemmerAustralia2024-06-08Rangoni Of Florence NEW43Elwin Sharvill
1016Maria A SaylorsUnited Kingdom2024-06-16Chanay, Jeffrey A Esq PROPOSAL58Anna Fali
1017Faith V MorascaIndia2024-06-12Feltz Printing Service PROPOSAL14Bernardo Dominic
1018David M DilliardJapan2024-06-02Truhlar And Truhlar Attys NEGOTIATION26Amy Elsner
1019Alejandro M RimUnited Kingdom2024-05-24Chemel, James L Cpa UNQUALIFIED82Onyama Limba
1020Antonio X FigeroaSpain2024-05-31Rousseaux, Michael Esq RENEWAL82Asiya Javayant
1021Alejandro Z NickaGermany2024-05-26Printing Dimensions UNQUALIFIED7Stephen Shaw
1022Sinclair U GillianArgentina2024-06-10Commercial Press RENEWAL97Xuxue Feng
1023James Q ButtRussia2024-06-01Benton, John B Jr NEGOTIATION29Onyama Limba
1024Leja K DilliardItaly2024-06-03Truhlar And Truhlar Attys UNQUALIFIED75Onyama Limba
1025Ricardo Q NickaGermany2024-06-13Chanay, Jeffrey A Esq PROPOSAL38Anna Fali
1026Maria Z NickaRussia2024-06-16Chapman, Ross E Esq NEGOTIATION55Stephen Shaw
1027Clifford Z IturbideGermany2024-06-17Chemel, James L Cpa QUALIFIED67Elwin Sharvill
1028Juan X NestleRussia2024-06-10Printing Dimensions RENEWAL52Anna Fali
1029Izzy X WieserGermany2024-06-11Buckley Miller Wright PROPOSAL51Bernardo Dominic
1030Leja M ChuiSpain2024-06-03Benton, John B Jr NEW28Onyama Limba
1031Kaitlin N KuskoSpain2024-06-22Chapman, Ross E Esq UNQUALIFIED10Stephen Shaw
1032Mayumi I DarakjyUnited Kingdom2024-06-20Feiner Bros UNQUALIFIED87Xuxue Feng
1033Wickens J PerinUnited Kingdom2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED25Onyama Limba
1034Francesco Q OstroskyUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED70Ioni Bowcher
1035Darci A KuskoArgentina2024-06-20King, Christopher A Esq PROPOSAL50Ivan Magalhaes
1036Antonio Y RulapaughSpain2024-06-02Commercial Press PROPOSAL81Elwin Sharvill
1037Wickens E VenereIndia2024-06-18Rousseaux, Michael Esq NEW81Asiya Javayant
1038Greenwood N AmigonRussia2024-06-19Rousseaux, Michael Esq NEGOTIATION18Onyama Limba
1039Aika S KuskoAustralia2024-06-08Rangoni Of Florence PROPOSAL80Amy Elsner
1040Tony I KolmetzFrance2024-06-14Feltz Printing Service UNQUALIFIED61Onyama Limba
1041Emily Y TollnerIndia2024-06-11Morlong Associates QUALIFIED32Ioni Bowcher
1042Aika R PerinAustralia2024-06-15Truhlar And Truhlar Attys RENEWAL14Anna Fali
1043Silvio M PaprockiFrance2024-05-29Buckley Miller Wright PROPOSAL81Amy Elsner
1044Alejandro U CaudyBrazil2024-06-01Rousseaux, Michael Esq NEW62Anna Fali
1045Stacey U KuskoItaly2024-06-06Printing Dimensions PROPOSAL49Anna Fali
1046Jeanfrancois N OldroydCanada2024-05-28Feltz Printing Service UNQUALIFIED40Ivan Magalhaes
1047Aika K DilliardBrazil2024-05-31Feltz Printing Service RENEWAL36Stephen Shaw
1048Aruna C VocelkaIndia2024-06-10Benton, John B Jr UNQUALIFIED51Onyama Limba
1049Tony Q AlbaresCanada2024-05-26Commercial Press PROPOSAL97Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer F SaylorsCanadaStephen Shaw NEGOTIATION
Deepesh G StockhamGermanyAsiya Javayant NEGOTIATION
Kaitlin R RulapaughAustraliaAsiya Javayant NEW
Ashley J StensethRussiaIoni Bowcher NEGOTIATION
Leon T MaletBrazilAnna Fali NEW
Aika C AlbaresIndiaAmy Elsner NEGOTIATION
Octavia Z BologniaCanadaXuxue Feng QUALIFIED
Maisha X NestleJapanStephen Shaw NEGOTIATION
James C WaycottCanadaAsiya Javayant NEW
Ivar X VocelkaGermanyAmy Elsner NEGOTIATION
Antonio H SchemmerJapanAsiya Javayant NEGOTIATION
Sinclair L DilliardIndiaAmy Elsner UNQUALIFIED
Antonio Y CampainCanadaXuxue Feng NEGOTIATION
Tony E MaletItalyOnyama Limba NEGOTIATION
Salvatore W GauchoItalyStephen Shaw RENEWAL
Claire J SaylorsItalyOnyama Limba UNQUALIFIED
Misaki W RimArgentinaAnna Fali UNQUALIFIED
Emily G PoquetteGermanyAnna Fali PROPOSAL
Ashley R RimArgentinaAnna Fali RENEWAL
Morrow C GillianUnited KingdomBernardo Dominic QUALIFIED
Octavia O StensethBrazilAmy Elsner UNQUALIFIED
Munro U NickaGermanyOnyama Limba UNQUALIFIED
Aditya N GarufiGermanyXuxue Feng PROPOSAL
Jennifer F SchemmerGermanyXuxue Feng NEGOTIATION
Deepesh J GlickAustraliaOnyama Limba UNQUALIFIED
Ashley O WieserRussiaOnyama Limba NEW
Nicolas L FigeroaAustraliaXuxue Feng NEGOTIATION
Greenwood C GarufiCanadaAmy Elsner RENEWAL
Morrow V GauchoArgentinaIoni Bowcher NEW
Arvin W PaprockiSpainIoni Bowcher PROPOSAL
James V OldroydJapanOnyama Limba PROPOSAL
Jefferson L SchemmerAustraliaBernardo Dominic QUALIFIED
Leja M FigeroaGermanyAmy Elsner PROPOSAL
Aika N GlickCanadaXuxue Feng UNQUALIFIED
Jeanfrancois D SergiSpainStephen Shaw NEW
Emily P MacleadRussiaIvan Magalhaes QUALIFIED
Mujtaba B SchemmerRussiaOnyama Limba RENEWAL
Aruna S AlbaresUnited KingdomIoni Bowcher NEW
Sinclair B FerenczCanadaOnyama Limba NEW
Greenwood Q FlosiUnited KingdomElwin Sharvill RENEWAL
Kaitlin X DoeAustraliaAmy Elsner UNQUALIFIED
Chavez C SaylorsItalyOnyama Limba NEW
Johnson M WhobreySpainAmy Elsner RENEWAL
Maisha X OldroydGermanyStephen Shaw PROPOSAL
Maria F KuskoUnited KingdomElwin Sharvill NEGOTIATION
Costa V KolmetzGermanyIoni Bowcher NEW
Rodrigues W BologniaGermanyAsiya Javayant RENEWAL
Isabel D DoeArgentinaIoni Bowcher NEGOTIATION
Kadeem G WieserGermanyOnyama Limba PROPOSAL
Jefferson Q IturbideItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Maisha N Whobrey
Darci A Amigon
Ivar W Poquette
Alejandro K Ruta
Emily Z Amigon
Izzy Z Bowley
Alejandro J Garufi
Mujtaba B Wieser
Misaki E Poquette
Julie O Garufi
Juan W Vocelka
Cody X Gaucho
Misaki U Whobrey
Wickens U Ruta
Jefferson S Gaucho
Antonio A Venere
Isabel H Perin
Francesco S Kolmetz
Darci P Amigon
Octavia Y Kolmetz
James G Shinko
Smith V Kusko
Misaki Q Maclead
Misaki Q Perin
Stacey Y Gillian
Chavez I Nicka
Clifford V Kolmetz
Emily W Glick
Jennifer L Malet
Cody A Foller
Smith V Garufi
Wickens T Darakjy
Faith I Kolmetz
David M Iturbide
Darci S Garufi
Sinclair I Waycott
Juan M Poquette
Deepesh Q Kusko
Costa U Morasca
Ashley F Darakjy
Aika J Darakjy
Maria W Glick
Aditya Y Schemmer
David A Butt
Wickens V Ruta
Claire V Poquette
Jennifer Z Chui
Ashley V Campain
Greenwood Y Gaucho
Mayumi U Schemmer
IdCountryDate
1000France2024-05-26
1001United Kingdom2024-06-13
1002Japan2024-06-12
1003India2024-06-14
1004Russia2024-06-18
1005Australia2024-06-06
1006Australia2024-06-07
1007Brazil2024-06-19
1008Australia2024-06-10
1009Russia2024-05-24
1010Australia2024-06-11
1011Russia2024-06-17
1012Argentina2024-06-07
1013Germany2024-05-24
1014Japan2024-06-09
1015Russia2024-06-07
1016Brazil2024-06-08
1017India2024-05-26
1018Brazil2024-05-29
1019Australia2024-06-03
1020Japan2024-06-10
1021Argentina2024-06-03
1022United Kingdom2024-05-27
1023Japan2024-05-30
1024India2024-06-06
1025Brazil2024-06-03
1026United Kingdom2024-06-06
1027France2024-06-21
1028Japan2024-06-01
1029Spain2024-06-18
1030Australia2024-05-26
1031Spain2024-06-16
1032Brazil2024-06-09
1033Australia2024-06-02
1034France2024-06-19
1035India2024-05-27
1036Argentina2024-06-16
1037France2024-06-01
1038Canada2024-05-28
1039Australia2024-06-15
1040Italy2024-06-02
1041Canada2024-06-01
1042United Kingdom2024-06-05
1043Argentina2024-06-10
1044Brazil2024-06-08
1045Russia2024-05-30
1046Brazil2024-05-29
1047Japan2024-06-03
1048Australia2024-06-04
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
Faith O Wieser1000Russia2024-05-24
Maria A Waycott1001Argentina2024-05-28
Johnson L Shinko1002Australia2024-05-30
Wickens P Poquette1003India2024-06-13
Arvin C Ostrosky1004Canada2024-06-05
Leja W Iturbide1005Australia2024-06-05
Cody B Maclead1006Argentina2024-06-13
Tony Q Morasca1007Russia2024-06-01
Aruna B Malet1008Canada2024-06-12
Juan A Shinko1009Russia2024-06-07
Leja P Nestle1010Canada2024-06-19
Antonio H Kusko1011India2024-05-30
Julie H Slusarski1012Brazil2024-05-30
Johnson E Slusarski1013Australia2024-06-04
Silvio B Royster1014India2024-06-03
Greenwood C Inouye1015Argentina2024-06-12
Ricardo G Schemmer1016Russia2024-05-29
Misaki X Shinko1017Italy2024-06-21
Rodrigues O Figeroa1018Japan2024-06-09
Deepesh W Paprocki1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony A CaudyGermanyAsiya Javayant QUALIFIED
Silvio X ShinkoArgentinaBernardo Dominic QUALIFIED
Emily T DilliardJapanElwin Sharvill UNQUALIFIED
Leja M SergiGermanyAsiya Javayant NEGOTIATION
Cody E OldroydCanadaAmy Elsner NEW
Tony G AlbaresBrazilAmy Elsner NEW
Sinclair Y SchemmerCanadaXuxue Feng UNQUALIFIED
Mayumi O NickaItalyAnna Fali PROPOSAL
Misaki L DoeRussiaIvan Magalhaes RENEWAL
Claire B SaylorsBrazilAnna Fali NEGOTIATION
Isabel H CaldareraItalyElwin Sharvill QUALIFIED
Clifford C BologniaFranceAmy Elsner QUALIFIED
James N ButtIndiaOnyama Limba NEGOTIATION
Murillo F ChuiJapanBernardo Dominic UNQUALIFIED
Deepesh C GillianGermanyAmy Elsner NEGOTIATION
Morrow Y GillianItalyBernardo Dominic RENEWAL
Cody S StensethGermanyBernardo Dominic PROPOSAL
Jefferson Z GillianItalyAsiya Javayant PROPOSAL
Salvatore Q ButtJapanAmy Elsner NEGOTIATION
Greenwood J WieserArgentinaBernardo Dominic NEGOTIATION
Faith U PaprockiIndiaOnyama Limba PROPOSAL
Ashley M GauchoCanadaAsiya Javayant NEGOTIATION
Mayumi K GarufiAustraliaAnna Fali RENEWAL
James K RoysterIndiaAsiya Javayant UNQUALIFIED
Leon U StockhamItalyBernardo Dominic QUALIFIED
Octavia I FlosiItalyAmy Elsner NEW
Smith H RulapaughItalyOnyama Limba PROPOSAL
Munro H StensethBrazilIoni Bowcher PROPOSAL
Ivar J MacleadArgentinaAmy Elsner PROPOSAL
Mujtaba O MaletGermanyAsiya Javayant NEGOTIATION
Cody F SlusarskiGermanyOnyama Limba RENEWAL
Silvio U StockhamAustraliaAsiya Javayant NEW
Leja H FollerJapanIoni Bowcher PROPOSAL
Jennifer D AlbaresRussiaElwin Sharvill NEW
Deepesh C SchemmerAustraliaStephen Shaw NEW
Clifford W FollerUnited KingdomAsiya Javayant PROPOSAL
Aditya B CampainBrazilIoni Bowcher QUALIFIED
Misaki W AmigonCanadaOnyama Limba UNQUALIFIED
Leja X VocelkaArgentinaBernardo Dominic UNQUALIFIED
Emily E SaylorsFranceBernardo Dominic 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>