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 G IturbideCanadaElwin Sharvill NEW
James C BologniaUnited KingdomIoni Bowcher NEGOTIATION
Octavia E MacleadIndiaStephen Shaw NEW
Isabel J SchemmerBrazilIvan Magalhaes NEGOTIATION
Aditya Y RulapaughBrazilAmy Elsner NEGOTIATION
Maria P NickaFranceElwin Sharvill PROPOSAL
Darci Z MaletArgentinaAmy Elsner RENEWAL
Aditya L SaylorsIndiaIvan Magalhaes QUALIFIED
Tony Q StensethRussiaAsiya Javayant PROPOSAL
Clifford V DilliardAustraliaElwin Sharvill QUALIFIED
Rodrigues F KolmetzRussiaOnyama Limba NEW
Munro I FerenczGermanyXuxue Feng PROPOSAL
Alejandro J BologniaFranceAnna Fali NEW
Wickens I GlickAustraliaIoni Bowcher QUALIFIED
Juan R MaletIndiaAsiya Javayant UNQUALIFIED
Francesco V SlusarskiJapanBernardo Dominic RENEWAL
Darci Z CaldareraCanadaBernardo Dominic QUALIFIED
Salvatore S WieserRussiaElwin Sharvill NEGOTIATION
Alejandro R RulapaughUnited KingdomAsiya Javayant PROPOSAL
Misaki V SergiUnited KingdomXuxue Feng NEW
Johnson A KolmetzItalyAsiya Javayant NEW
Stacey T FigeroaItalyElwin Sharvill PROPOSAL
Johnson Q VenereGermanyAmy Elsner NEGOTIATION
Maisha O GlickArgentinaAnna Fali RENEWAL
Deepesh F StockhamBrazilIvan Magalhaes NEGOTIATION
Antonio G StockhamGermanyAsiya Javayant PROPOSAL
Ivar A DarakjyUnited KingdomAnna Fali NEW
Emily X StensethArgentinaAmy Elsner NEW
Kaitlin T SlusarskiJapanBernardo Dominic NEW
Adams W MaletIndiaOnyama Limba NEGOTIATION
Ivar H GlickItalyAnna Fali UNQUALIFIED
Munro V MaletBrazilAmy Elsner QUALIFIED
Faith L VenereItalyAnna Fali NEGOTIATION
Maisha L CaldareraUnited KingdomIoni Bowcher QUALIFIED
Claire U ButtGermanyAmy Elsner NEGOTIATION
Tony T VenereJapanStephen Shaw NEGOTIATION
Chavez M GlickAustraliaElwin Sharvill NEGOTIATION
David N CaldareraBrazilBernardo Dominic UNQUALIFIED
Ricardo L SergiGermanyAnna Fali UNQUALIFIED
Cody Q DarakjyBrazilElwin Sharvill QUALIFIED
Ricardo W VenereJapanStephen Shaw RENEWAL
Munro D WaycottArgentinaXuxue Feng UNQUALIFIED
Aika W VocelkaGermanyAnna Fali RENEWAL
Rodrigues G CaldareraItalyAmy Elsner NEW
Aruna H FollerArgentinaIvan Magalhaes NEGOTIATION
Julie Y ShinkoCanadaOnyama Limba NEGOTIATION
Emily B FigeroaUnited KingdomIoni Bowcher PROPOSAL
Mujtaba U SchemmerBrazilAmy Elsner QUALIFIED
Jones E FlosiGermanyAnna Fali RENEWAL
Juan C BriddickJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan L ChuiJapanAnna Fali PROPOSAL
Juan T ButtFranceAnna Fali NEGOTIATION
Jefferson G GarufiFranceBernardo Dominic NEW
Chavez Y PoquetteRussiaAnna Fali PROPOSAL
David E FerenczSpainOnyama Limba QUALIFIED
Arvin T MaletGermanyIvan Magalhaes UNQUALIFIED
Nicolas U WieserRussiaAsiya Javayant NEGOTIATION
Juan V FlosiSpainBernardo Dominic RENEWAL
Silvio X FigeroaCanadaOnyama Limba NEGOTIATION
Juan G ButtFranceOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba J ShinkoGermany2024-06-05Truhlar And Truhlar Attys RENEWAL77Asiya Javayant
1001Nicolas D GlickBrazil2024-06-06Morlong Associates PROPOSAL84Bernardo Dominic
1002Jones Z CaudyAustralia2024-06-10Benton, John B Jr RENEWAL79Anna Fali
1003Octavia I SaylorsUnited Kingdom2024-05-30Chanay, Jeffrey A Esq QUALIFIED16Asiya Javayant
1004Johnson G KolmetzCanada2024-06-13Dorl, James J Esq NEGOTIATION41Ioni Bowcher
1005Jefferson U VocelkaItaly2024-05-25Printing Dimensions NEGOTIATION85Xuxue Feng
1006Munro F SergiIndia2024-06-11Feiner Bros NEGOTIATION84Amy Elsner
1007David H NickaSpain2024-05-24Buckley Miller Wright UNQUALIFIED30Anna Fali
1008Jefferson E SlusarskiCanada2024-06-06Chemel, James L Cpa RENEWAL85Asiya Javayant
1009Morrow I DilliardUnited Kingdom2024-06-15Buckley Miller Wright PROPOSAL84Ioni Bowcher
1010Deepesh N GillianFrance2024-06-06Feltz Printing Service UNQUALIFIED81Elwin Sharvill
1011Julie H DoeArgentina2024-05-23Rangoni Of Florence PROPOSAL91Elwin Sharvill
1012Costa A CampainSpain2024-06-18Chemel, James L Cpa PROPOSAL61Xuxue Feng
1013Costa Z PerinAustralia2024-06-17Chapman, Ross E Esq PROPOSAL60Anna Fali
1014Izzy L TollnerRussia2024-06-16Feiner Bros UNQUALIFIED62Xuxue Feng
1015Antonio D SlusarskiSpain2024-06-10Benton, John B Jr PROPOSAL33Ioni Bowcher
1016Maisha V PaprockiGermany2024-06-14Chapman, Ross E Esq RENEWAL94Stephen Shaw
1017Darci U GillianCanada2024-05-27Dorl, James J Esq NEGOTIATION9Asiya Javayant
1018Leja K GarufiBrazil2024-05-30Benton, John B Jr QUALIFIED15Stephen Shaw
1019Aditya T MorascaUnited Kingdom2024-05-31Chapman, Ross E Esq RENEWAL40Asiya Javayant
1020Mujtaba M MaletRussia2024-06-04Printing Dimensions NEGOTIATION8Ivan Magalhaes
1021Rodrigues A FollerBrazil2024-06-18Chemel, James L Cpa PROPOSAL17Anna Fali
1022Adams A GarufiCanada2024-05-29Commercial Press RENEWAL28Amy Elsner
1023Clifford X ButtFrance2024-06-17Feiner Bros QUALIFIED12Stephen Shaw
1024Ricardo J FlosiArgentina2024-06-17Commercial Press RENEWAL93Ivan Magalhaes
1025Adams X OldroydItaly2024-06-03Benton, John B Jr QUALIFIED59Elwin Sharvill
1026Kaitlin F FerenczFrance2024-06-02Rangoni Of Florence QUALIFIED17Ivan Magalhaes
1027Tony I KolmetzAustralia2024-06-13Rousseaux, Michael Esq PROPOSAL99Amy Elsner
1028Sinclair J RoysterJapan2024-05-29Feiner Bros PROPOSAL16Asiya Javayant
1029Chavez N MarrierIndia2024-06-02Rangoni Of Florence PROPOSAL62Asiya Javayant
1030Sinclair E WieserBrazil2024-06-01Morlong Associates RENEWAL86Xuxue Feng
1031Smith Z CampainBrazil2024-06-21Morlong Associates PROPOSAL65Ioni Bowcher
1032Clifford T CampainAustralia2024-06-20Morlong Associates QUALIFIED57Ivan Magalhaes
1033Octavia E VenereFrance2024-06-06King, Christopher A Esq RENEWAL21Anna Fali
1034Darci P GillianSpain2024-05-28Feiner Bros NEGOTIATION66Anna Fali
1035Emily C FlosiUnited Kingdom2024-06-09Rousseaux, Michael Esq RENEWAL98Stephen Shaw
1036Antonio Z DarakjyJapan2024-06-10Benton, John B Jr NEW17Ioni Bowcher
1037Wickens J BowleySpain2024-06-19King, Christopher A Esq QUALIFIED95Onyama Limba
1038Costa E WaycottArgentina2024-05-31Printing Dimensions PROPOSAL5Amy Elsner
1039Faith A AmigonArgentina2024-05-29Feiner Bros RENEWAL51Onyama Limba
1040Murillo H ChuiRussia2024-05-26Feiner Bros RENEWAL11Bernardo Dominic
1041Tony B VocelkaRussia2024-06-18Chapman, Ross E Esq QUALIFIED83Xuxue Feng
1042Chavez U DarakjyCanada2024-06-01Chanay, Jeffrey A Esq QUALIFIED76Amy Elsner
1043Aditya G RimAustralia2024-06-03Commercial Press UNQUALIFIED97Onyama Limba
1044Octavia Y SergiFrance2024-06-01Printing Dimensions PROPOSAL23Ivan Magalhaes
1045Mayumi R PerinBrazil2024-05-28Truhlar And Truhlar Attys RENEWAL82Xuxue Feng
1046Ashley J GlickUnited Kingdom2024-06-06King, Christopher A Esq NEGOTIATION13Asiya Javayant
1047Clifford D SergiFrance2024-06-15Chemel, James L Cpa UNQUALIFIED38Anna Fali
1048Kadeem A ChuiItaly2024-06-02Feltz Printing Service RENEWAL13Amy Elsner
1049Ivar G DoeFrance2024-05-29Rousseaux, Michael Esq RENEWAL41Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Francesco N RimAustraliaOnyama Limba NEW
Maria C SaylorsCanadaAsiya Javayant QUALIFIED
Greenwood K GauchoArgentinaBernardo Dominic NEGOTIATION
Ivar N SaylorsArgentinaXuxue Feng RENEWAL
Octavia V IturbideItalyStephen Shaw NEW
Mayumi Q KuskoCanadaBernardo Dominic UNQUALIFIED
David N IturbideArgentinaAmy Elsner NEW
Ricardo R WaycottJapanBernardo Dominic PROPOSAL
Morrow J InouyeCanadaXuxue Feng UNQUALIFIED
Clifford T ShinkoGermanyOnyama Limba UNQUALIFIED
Izzy E MacleadJapanBernardo Dominic NEW
Kaitlin X MaletRussiaIvan Magalhaes QUALIFIED
Aika R FerenczBrazilAnna Fali PROPOSAL
Clifford G TollnerBrazilAsiya Javayant NEW
David P CaudyAustraliaAsiya Javayant NEGOTIATION
Maisha D RimItalyAnna Fali QUALIFIED
Juan P MaletSpainAmy Elsner RENEWAL
Emily F IturbideSpainOnyama Limba NEGOTIATION
Wickens J ButtCanadaStephen Shaw PROPOSAL
Ivar X RimUnited KingdomOnyama Limba UNQUALIFIED
Emily M MarrierItalyOnyama Limba UNQUALIFIED
Alejandro K OstroskyItalyBernardo Dominic NEW
Mayumi L CaudyCanadaXuxue Feng UNQUALIFIED
Misaki I FlosiBrazilAnna Fali PROPOSAL
Stacey J PaprockiJapanOnyama Limba NEGOTIATION
Adams B SaylorsSpainIvan Magalhaes NEW
Ashley G GillianIndiaElwin Sharvill RENEWAL
Alejandro F KolmetzAustraliaIoni Bowcher UNQUALIFIED
Deepesh K KolmetzBrazilAmy Elsner PROPOSAL
Jeanfrancois F StensethJapanAsiya Javayant UNQUALIFIED
Arvin H CaldareraFranceStephen Shaw PROPOSAL
Tony Y RutaRussiaAmy Elsner UNQUALIFIED
Ricardo P CaldareraSpainAmy Elsner RENEWAL
Darci E WaycottBrazilBernardo Dominic RENEWAL
Nicolas P GlickFranceXuxue Feng QUALIFIED
Adams F VocelkaArgentinaIoni Bowcher NEGOTIATION
Aruna O FollerItalyAsiya Javayant QUALIFIED
David F ButtItalyBernardo Dominic QUALIFIED
Leon A DoeFranceStephen Shaw NEW
Kadeem R FerenczGermanyAnna Fali NEW
Claire J MorascaIndiaIvan Magalhaes RENEWAL
Jones P DarakjyBrazilAsiya Javayant PROPOSAL
Jefferson C ShinkoItalyElwin Sharvill QUALIFIED
Jennifer R DilliardFranceElwin Sharvill UNQUALIFIED
Darci W StensethRussiaIoni Bowcher NEW
Clifford N MorascaItalyOnyama Limba RENEWAL
Leja G DilliardSpainElwin Sharvill QUALIFIED
Leja J FigeroaJapanAmy Elsner NEGOTIATION
Rodrigues Y VocelkaJapanAnna Fali QUALIFIED
Izzy A MorascaCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Emily M Saylors
Nicolas A Royster
James V Perin
Maisha D Doe
Maisha B Briddick
Aditya L Sergi
Costa B Venere
Maria D Royster
Antonio V Butt
Kadeem O Ruta
Emily O Perin
Leja U Oldroyd
Julie W Darakjy
Darci C Wieser
Tony F Glick
Maria A Campain
Leon H Figeroa
Silvio Y Inouye
Mujtaba U Tollner
Costa C Foller
Cody D Garufi
Ricardo D Ruta
Arvin P Slusarski
Misaki S Wieser
Salvatore E Schemmer
Aditya H Ferencz
Leja B Stockham
Juan X Doe
Smith A Marrier
Nicolas P Vocelka
Ricardo S Nestle
Nicolas K Ruta
Tony E Poquette
Ashley R Sergi
Mujtaba B Amigon
Alejandro T Briddick
Nicolas F Kusko
Jennifer R Ostrosky
Morrow K Bolognia
Isabel K Ferencz
Faith F Maclead
Claire J Stockham
Deepesh Y Perin
Faith L Campain
Claire L Perin
Mayumi R Nestle
Aruna I Doe
Johnson R Garufi
Misaki E Garufi
Jones N Whobrey
IdCountryDate
1000Russia2024-05-23
1001Germany2024-06-20
1002Brazil2024-06-20
1003France2024-05-24
1004Argentina2024-06-20
1005India2024-05-27
1006Russia2024-06-14
1007Australia2024-06-08
1008France2024-05-31
1009Brazil2024-05-30
1010United Kingdom2024-05-24
1011Spain2024-06-10
1012Germany2024-06-04
1013Brazil2024-06-17
1014India2024-05-30
1015Italy2024-06-08
1016Brazil2024-06-10
1017Canada2024-06-17
1018Germany2024-06-01
1019France2024-06-10
1020Germany2024-06-18
1021Australia2024-06-02
1022Japan2024-06-11
1023Brazil2024-06-05
1024Australia2024-06-21
1025United Kingdom2024-06-20
1026Japan2024-06-01
1027Australia2024-05-23
1028Russia2024-06-13
1029Brazil2024-05-28
1030Russia2024-06-15
1031Russia2024-05-25
1032United Kingdom2024-05-25
1033Italy2024-06-03
1034Spain2024-06-01
1035Germany2024-05-26
1036Spain2024-06-19
1037Germany2024-06-16
1038Germany2024-06-18
1039France2024-06-06
1040Spain2024-06-15
1041Germany2024-06-13
1042Brazil2024-06-07
1043India2024-05-31
1044Japan2024-06-07
1045United Kingdom2024-06-15
1046Brazil2024-06-21
1047Spain2024-06-21
1048Russia2024-06-05
1049Argentina2024-06-20

On-Demand Data

NameIdCountryDate
Chavez L Amigon1000Canada2024-05-24
Aika S Ferencz1001Brazil2024-06-06
Morrow F Campain1002Brazil2024-05-26
Octavia Z Caudy1003Spain2024-06-21
Silvio L Ruta1004Japan2024-06-08
Tony C Kusko1005India2024-05-26
Johnson H Figeroa1006India2024-06-01
Juan V Oldroyd1007Spain2024-06-14
Wickens M Figeroa1008France2024-06-08
Johnson F Slusarski1009Germany2024-06-05
Clifford K Nicka1010Australia2024-06-03
Wickens V Foller1011India2024-06-01
Greenwood E Waycott1012Spain2024-06-20
Jeanfrancois Z Doe1013Brazil2024-05-26
Emily G Dilliard1014Germany2024-05-26
David D Rulapaugh1015United Kingdom2024-06-06
Ashley L Paprocki1016Canada2024-05-25
Ivar I Rulapaugh1017Germany2024-06-08
Sinclair G Royster1018Canada2024-06-10
Octavia V Ferencz1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C CampainGermanyAsiya Javayant QUALIFIED
Munro Q DilliardSpainIvan Magalhaes QUALIFIED
Rodrigues V SchemmerFranceAmy Elsner QUALIFIED
Mayumi Y CaldareraSpainXuxue Feng NEGOTIATION
Adams O GauchoIndiaOnyama Limba NEGOTIATION
Izzy Z IturbideArgentinaAnna Fali QUALIFIED
Aruna B RimCanadaAmy Elsner UNQUALIFIED
Ashley P ShinkoBrazilOnyama Limba QUALIFIED
Leon Y MaletCanadaIoni Bowcher UNQUALIFIED
Smith X FollerUnited KingdomAsiya Javayant UNQUALIFIED
Aika K FigeroaRussiaElwin Sharvill UNQUALIFIED
Kaitlin D MarrierAustraliaStephen Shaw UNQUALIFIED
Mujtaba L FlosiAustraliaAnna Fali PROPOSAL
Leja E IturbideJapanBernardo Dominic RENEWAL
Maisha Y CaldareraItalyStephen Shaw PROPOSAL
Octavia Q MaletFranceXuxue Feng UNQUALIFIED
Greenwood C CaldareraItalyElwin Sharvill QUALIFIED
Greenwood U SchemmerSpainAmy Elsner QUALIFIED
Munro Y DarakjyGermanyAmy Elsner PROPOSAL
Murillo A MacleadBrazilXuxue Feng UNQUALIFIED
Aruna L StensethAustraliaAnna Fali PROPOSAL
Tony T VocelkaBrazilIoni Bowcher NEGOTIATION
Kadeem L WaycottRussiaAmy Elsner PROPOSAL
Ricardo H NestleBrazilIvan Magalhaes RENEWAL
Aruna Q PaprockiIndiaAmy Elsner NEW
James U MacleadSpainAsiya Javayant UNQUALIFIED
Mayumi M BologniaAustraliaAnna Fali RENEWAL
Jones F BowleyUnited KingdomIoni Bowcher QUALIFIED
Ricardo Z IturbideFranceIoni Bowcher RENEWAL
Aruna I CaudyArgentinaStephen Shaw NEGOTIATION
Mayumi W VenereRussiaBernardo Dominic RENEWAL
Jefferson U KolmetzItalyAmy Elsner QUALIFIED
Ivar F DilliardIndiaAmy Elsner NEW
Aika B DarakjyRussiaIvan Magalhaes NEGOTIATION
Kaitlin U FerenczCanadaIoni Bowcher NEGOTIATION
Kaitlin A FlosiAustraliaBernardo Dominic NEW
Morrow A FerenczJapanElwin Sharvill NEGOTIATION
James C PaprockiJapanIvan Magalhaes NEW
Arvin U KuskoCanadaStephen Shaw NEW
Kaitlin W KuskoCanadaAnna Fali NEGOTIATION

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