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
Izzy P RimSpainStephen Shaw NEW
Chavez X GauchoSpainAsiya Javayant UNQUALIFIED
James L NickaJapanBernardo Dominic PROPOSAL
Greenwood V SergiCanadaBernardo Dominic RENEWAL
David U InouyeAustraliaIvan Magalhaes RENEWAL
David I TollnerJapanAnna Fali NEGOTIATION
Isabel Q CampainJapanIoni Bowcher RENEWAL
Leon J DoeAustraliaXuxue Feng RENEWAL
Silvio F MarrierJapanXuxue Feng NEGOTIATION
Costa D MaletRussiaBernardo Dominic QUALIFIED
Ashley S WieserFranceIoni Bowcher UNQUALIFIED
Darci V FlosiAustraliaStephen Shaw UNQUALIFIED
Mujtaba K DarakjyGermanyXuxue Feng UNQUALIFIED
Greenwood L WieserAustraliaAnna Fali RENEWAL
Maria P VenereJapanBernardo Dominic QUALIFIED
Ashley Q CampainIndiaIoni Bowcher NEW
Jennifer B ChuiUnited KingdomBernardo Dominic RENEWAL
Maria D OldroydSpainIvan Magalhaes PROPOSAL
Misaki P MacleadFranceElwin Sharvill NEW
Johnson D BologniaArgentinaStephen Shaw QUALIFIED
Sinclair J FlosiFranceIvan Magalhaes NEW
Munro P DilliardSpainIvan Magalhaes RENEWAL
Greenwood P StockhamCanadaIoni Bowcher NEW
Smith H MacleadUnited KingdomElwin Sharvill NEGOTIATION
Morrow S PerinArgentinaXuxue Feng NEW
Darci U FollerArgentinaXuxue Feng NEGOTIATION
Munro Z AlbaresBrazilIoni Bowcher NEW
David B BologniaItalyAmy Elsner RENEWAL
Arvin C BriddickIndiaAsiya Javayant QUALIFIED
Stacey K ShinkoAustraliaAnna Fali RENEWAL
Isabel Q DarakjyAustraliaXuxue Feng NEGOTIATION
Greenwood O MorascaBrazilOnyama Limba NEW
Kaitlin P FigeroaArgentinaElwin Sharvill NEGOTIATION
Wickens T PoquetteUnited KingdomXuxue Feng NEW
Jeanfrancois W FlosiAustraliaStephen Shaw NEW
Faith F CaldareraRussiaIvan Magalhaes RENEWAL
Francesco G InouyeFranceElwin Sharvill QUALIFIED
Isabel J FerenczAustraliaBernardo Dominic RENEWAL
Aruna I NickaJapanXuxue Feng NEW
Costa A PerinJapanBernardo Dominic UNQUALIFIED
Adams Y IturbideGermanyBernardo Dominic PROPOSAL
Izzy T KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Tony U CaldareraFranceAmy Elsner QUALIFIED
Silvio U RimUnited KingdomIvan Magalhaes RENEWAL
Smith Y FerenczRussiaAnna Fali NEGOTIATION
Salvatore V GillianJapanXuxue Feng UNQUALIFIED
Stacey T GlickAustraliaIoni Bowcher PROPOSAL
Leon Q MaletRussiaXuxue Feng NEW
Rodrigues C InouyeArgentinaOnyama Limba QUALIFIED
Morrow Y OldroydCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha N MarrierRussiaAsiya Javayant UNQUALIFIED
Maisha S OldroydBrazilXuxue Feng NEW
Leja X MaletJapanOnyama Limba RENEWAL
Faith M StensethItalyAmy Elsner PROPOSAL
Smith X WieserArgentinaAnna Fali RENEWAL
Octavia E OstroskyIndiaAsiya Javayant QUALIFIED
Aruna U NickaUnited KingdomBernardo Dominic NEW
Deepesh H MacleadItalyIvan Magalhaes RENEWAL
Alejandro X ShinkoIndiaIvan Magalhaes NEGOTIATION
Arvin D GauchoItalyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi J GlickArgentina2024-06-13Truhlar And Truhlar Attys NEGOTIATION23Xuxue Feng
1001Ricardo J SchemmerGermany2024-05-27Chanay, Jeffrey A Esq NEW60Elwin Sharvill
1002Adams X BologniaRussia2024-06-12Commercial Press QUALIFIED65Elwin Sharvill
1003James B DilliardIndia2024-05-26Morlong Associates RENEWAL73Ioni Bowcher
1004Cody F FerenczFrance2024-05-30Buckley Miller Wright NEW76Elwin Sharvill
1005Chavez S MorascaGermany2024-06-22King, Christopher A Esq UNQUALIFIED31Ivan Magalhaes
1006Salvatore L KuskoGermany2024-06-21Feltz Printing Service UNQUALIFIED0Onyama Limba
1007Rodrigues Q BriddickFrance2024-06-11King, Christopher A Esq PROPOSAL28Elwin Sharvill
1008Aruna B RulapaughItaly2024-05-31Feltz Printing Service PROPOSAL6Ioni Bowcher
1009Jennifer T StockhamSpain2024-06-12Rangoni Of Florence RENEWAL30Xuxue Feng
1010Leon D VocelkaCanada2024-06-07Chanay, Jeffrey A Esq PROPOSAL22Stephen Shaw
1011Wickens T VenereFrance2024-06-06King, Christopher A Esq QUALIFIED85Onyama Limba
1012Francesco T TollnerIndia2024-06-20Rangoni Of Florence UNQUALIFIED47Xuxue Feng
1013Ricardo Z PerinItaly2024-06-06Dorl, James J Esq QUALIFIED71Anna Fali
1014Antonio X SlusarskiFrance2024-05-30Truhlar And Truhlar Attys UNQUALIFIED99Bernardo Dominic
1015Leja P SlusarskiAustralia2024-06-19Morlong Associates UNQUALIFIED78Bernardo Dominic
1016Mujtaba W MacleadAustralia2024-06-13Chemel, James L Cpa UNQUALIFIED17Ioni Bowcher
1017Octavia P OstroskyCanada2024-06-20Chapman, Ross E Esq PROPOSAL82Amy Elsner
1018Clifford I AmigonFrance2024-05-24King, Christopher A Esq NEW0Amy Elsner
1019Antonio S RutaItaly2024-05-24Dorl, James J Esq RENEWAL73Asiya Javayant
1020Sinclair Y CaudyAustralia2024-06-17Chanay, Jeffrey A Esq PROPOSAL33Ivan Magalhaes
1021Darci B FlosiJapan2024-06-20Rousseaux, Michael Esq NEGOTIATION4Stephen Shaw
1022Isabel B GillianArgentina2024-06-15Truhlar And Truhlar Attys NEW44Amy Elsner
1023Costa Z DarakjyGermany2024-05-31King, Christopher A Esq UNQUALIFIED21Stephen Shaw
1024Wickens M AlbaresBrazil2024-06-22Commercial Press RENEWAL44Amy Elsner
1025Silvio T ChuiJapan2024-06-20Morlong Associates RENEWAL51Stephen Shaw
1026Izzy W FerenczIndia2024-06-20Printing Dimensions NEW12Bernardo Dominic
1027Emily R PoquetteRussia2024-06-12Chanay, Jeffrey A Esq NEW52Anna Fali
1028Misaki A InouyeItaly2024-05-31King, Christopher A Esq PROPOSAL45Ioni Bowcher
1029Morrow E OstroskyUnited Kingdom2024-05-27Chemel, James L Cpa NEW81Amy Elsner
1030Misaki W RimJapan2024-06-11Morlong Associates PROPOSAL28Anna Fali
1031Deepesh Y MorascaCanada2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED87Amy Elsner
1032Kaitlin W SaylorsRussia2024-06-02Dorl, James J Esq NEW85Ioni Bowcher
1033Maria N RimCanada2024-06-03Rousseaux, Michael Esq QUALIFIED90Ioni Bowcher
1034Arvin S GauchoJapan2024-05-30Printing Dimensions QUALIFIED37Ioni Bowcher
1035Kadeem P KolmetzUnited Kingdom2024-06-13Buckley Miller Wright NEGOTIATION8Anna Fali
1036Jones O DoeAustralia2024-06-07Chemel, James L Cpa NEW54Elwin Sharvill
1037Ivar M GillianUnited Kingdom2024-06-16Chapman, Ross E Esq QUALIFIED14Ivan Magalhaes
1038Julie B VenereAustralia2024-05-27Morlong Associates UNQUALIFIED96Anna Fali
1039Smith L StockhamGermany2024-06-18King, Christopher A Esq NEGOTIATION54Onyama Limba
1040Salvatore H GauchoArgentina2024-05-28Feltz Printing Service QUALIFIED11Elwin Sharvill
1041Silvio T BriddickSpain2024-06-12Chapman, Ross E Esq PROPOSAL15Ivan Magalhaes
1042Cody J FigeroaItaly2024-06-03Printing Dimensions QUALIFIED77Asiya Javayant
1043Maria T KuskoBrazil2024-06-16Printing Dimensions NEGOTIATION89Stephen Shaw
1044Mayumi G PoquetteGermany2024-06-10Feltz Printing Service NEGOTIATION50Stephen Shaw
1045Deepesh J CaudyRussia2024-05-26Chanay, Jeffrey A Esq QUALIFIED96Elwin Sharvill
1046Adams B CaldareraAustralia2024-06-05Feiner Bros QUALIFIED50Amy Elsner
1047Arvin J WieserUnited Kingdom2024-06-19Commercial Press RENEWAL85Ioni Bowcher
1048Clifford J PaprockiBrazil2024-06-15Morlong Associates NEGOTIATION68Elwin Sharvill
1049Maisha I FlosiJapan2024-05-30Feltz Printing Service UNQUALIFIED9Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci H BowleyAustraliaXuxue Feng NEW
Mujtaba T StensethCanadaAmy Elsner NEGOTIATION
Kaitlin N MarrierSpainAnna Fali RENEWAL
Clifford Z PaprockiIndiaIoni Bowcher PROPOSAL
Aditya X KuskoFranceIoni Bowcher NEGOTIATION
Deepesh F SergiGermanyXuxue Feng RENEWAL
Faith Y RoysterIndiaStephen Shaw NEW
Alejandro T StensethRussiaAmy Elsner RENEWAL
Mujtaba L StockhamBrazilElwin Sharvill NEW
Mujtaba E MaletItalyAnna Fali UNQUALIFIED
Kadeem Z KolmetzAustraliaAmy Elsner QUALIFIED
Emily V AmigonAustraliaOnyama Limba RENEWAL
Greenwood A CampainBrazilStephen Shaw RENEWAL
Misaki A FollerCanadaBernardo Dominic NEW
Tony Y RutaIndiaAmy Elsner UNQUALIFIED
Tony C PerinCanadaAmy Elsner QUALIFIED
Aika T MacleadJapanAsiya Javayant NEW
Aika K GillianIndiaStephen Shaw NEW
Aika W BriddickAustraliaXuxue Feng NEGOTIATION
Jefferson J GauchoUnited KingdomIoni Bowcher NEW
Clifford A SaylorsGermanyStephen Shaw PROPOSAL
Mayumi E IturbideRussiaBernardo Dominic PROPOSAL
Antonio T RutaJapanBernardo Dominic NEW
Sinclair A ButtRussiaIvan Magalhaes PROPOSAL
Isabel F VocelkaArgentinaAmy Elsner NEGOTIATION
Francesco E PerinBrazilOnyama Limba QUALIFIED
Maisha X DilliardCanadaAmy Elsner QUALIFIED
Leja A RoysterBrazilStephen Shaw QUALIFIED
Murillo T SergiCanadaAnna Fali RENEWAL
Francesco I ShinkoSpainAmy Elsner RENEWAL
Francesco O SergiJapanElwin Sharvill NEW
Isabel T FlosiGermanyOnyama Limba QUALIFIED
Sinclair C MaletGermanyBernardo Dominic RENEWAL
Emily G CaudyCanadaAsiya Javayant RENEWAL
Aruna Q ShinkoSpainIoni Bowcher PROPOSAL
Jones I VocelkaBrazilStephen Shaw NEW
Emily B TollnerRussiaAmy Elsner PROPOSAL
Maria Q VocelkaRussiaIoni Bowcher PROPOSAL
Leja R IturbideJapanIvan Magalhaes QUALIFIED
Kaitlin S RulapaughUnited KingdomAnna Fali RENEWAL
Greenwood W RulapaughCanadaStephen Shaw PROPOSAL
Ivar Q PaprockiSpainStephen Shaw UNQUALIFIED
Stacey L AmigonIndiaBernardo Dominic UNQUALIFIED
Mujtaba W FlosiRussiaIvan Magalhaes PROPOSAL
Antonio Q PoquetteUnited KingdomStephen Shaw RENEWAL
Aruna J WieserCanadaXuxue Feng RENEWAL
Mujtaba E SergiItalyIoni Bowcher PROPOSAL
Maisha G MaletRussiaIoni Bowcher QUALIFIED
Francesco I PoquetteSpainIvan Magalhaes QUALIFIED
Jeanfrancois K ChuiGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Costa X Kolmetz
James G Kusko
Jones H Caudy
Deepesh Q Gaucho
Murillo X Butt
Ivar Y Bowley
Isabel K Rim
Jeanfrancois D Stockham
Adams I Shinko
David I Tollner
Johnson T Caudy
Costa H Chui
Maria Q Chui
Sinclair H Shinko
Jones I Malet
Misaki G Rulapaugh
Ivar L Caldarera
Tony I Whobrey
Jennifer K Nicka
Salvatore M Bolognia
Mayumi R Stenseth
Wickens O Kusko
Greenwood J Nestle
Tony Q Nestle
Nicolas I Inouye
Antonio R Saylors
Cody H Marrier
Clifford R Kolmetz
Kaitlin Q Vocelka
Murillo X Rim
Kaitlin Z Caudy
David U Glick
Mayumi X Malet
Jefferson O Foller
Mayumi Z Kusko
Octavia O Glick
Adams N Tollner
Nicolas V Gaucho
Francesco U Whobrey
Maria P Doe
James Q Figeroa
Octavia S Stenseth
Julie W Gillian
Adams T Nestle
Izzy B Venere
Deepesh T Chui
Chavez B Marrier
Murillo Y Figeroa
Leon Y Dilliard
Ricardo J Butt
IdCountryDate
1000Australia2024-05-25
1001Argentina2024-06-21
1002Italy2024-06-09
1003France2024-05-27
1004Canada2024-05-25
1005Canada2024-06-19
1006Argentina2024-06-17
1007Canada2024-06-03
1008Russia2024-05-24
1009Brazil2024-06-22
1010United Kingdom2024-06-15
1011Argentina2024-06-03
1012United Kingdom2024-05-25
1013Japan2024-06-05
1014Argentina2024-05-31
1015India2024-06-05
1016Japan2024-06-21
1017United Kingdom2024-06-01
1018United Kingdom2024-06-18
1019Brazil2024-05-31
1020France2024-06-09
1021Italy2024-06-18
1022Russia2024-06-05
1023Spain2024-05-31
1024United Kingdom2024-06-17
1025France2024-06-02
1026Japan2024-05-24
1027France2024-06-04
1028Brazil2024-05-28
1029Germany2024-05-24
1030Russia2024-06-06
1031Italy2024-06-09
1032Brazil2024-05-24
1033Russia2024-06-04
1034Brazil2024-06-11
1035Canada2024-06-12
1036United Kingdom2024-06-14
1037United Kingdom2024-06-20
1038Brazil2024-06-01
1039Canada2024-06-18
1040France2024-06-10
1041India2024-06-01
1042Argentina2024-06-10
1043United Kingdom2024-06-04
1044Germany2024-05-26
1045Canada2024-06-11
1046Italy2024-05-25
1047Russia2024-06-07
1048Spain2024-05-25
1049Australia2024-06-20

On-Demand Data

NameIdCountryDate
Mayumi P Rim1000Italy2024-06-21
Arvin R Royster1001Japan2024-06-21
Salvatore D Caudy1002Italy2024-05-31
Sinclair B Gillian1003Spain2024-06-08
Faith L Slusarski1004Russia2024-06-10
David T Butt1005Spain2024-06-17
Jennifer W Campain1006Germany2024-05-25
Silvio S Ruta1007Australia2024-06-19
Salvatore W Wieser1008Canada2024-06-14
Ricardo B Venere1009Brazil2024-06-15
Mayumi N Royster1010Argentina2024-06-09
Darci X Whobrey1011France2024-05-27
Greenwood Q Chui1012France2024-06-22
Stacey I Poquette1013Japan2024-06-21
Maisha X Nestle1014Argentina2024-06-21
Ricardo F Sergi1015Germany2024-06-02
Octavia C Stenseth1016Canada2024-06-21
Kadeem F Maclead1017France2024-05-25
Silvio B Bolognia1018Russia2024-06-11
Darci Q Bowley1019Germany2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith N AmigonRussiaIoni Bowcher PROPOSAL
Izzy X CaudyRussiaElwin Sharvill QUALIFIED
Leja T StensethJapanXuxue Feng NEW
Maria R BowleyGermanyOnyama Limba NEGOTIATION
Ashley Z RutaCanadaIoni Bowcher PROPOSAL
Johnson W KuskoCanadaAmy Elsner QUALIFIED
James O FigeroaUnited KingdomIoni Bowcher QUALIFIED
Smith V VocelkaBrazilOnyama Limba PROPOSAL
Salvatore H NestleFranceAsiya Javayant UNQUALIFIED
Rodrigues N GarufiCanadaXuxue Feng NEW
Kadeem R OstroskyArgentinaElwin Sharvill NEW
Mayumi V ChuiBrazilIoni Bowcher UNQUALIFIED
Faith E MaletJapanOnyama Limba RENEWAL
Jones P VenereSpainAsiya Javayant RENEWAL
Sinclair A SaylorsSpainElwin Sharvill PROPOSAL
Jefferson J TollnerBrazilAmy Elsner PROPOSAL
Smith M RimUnited KingdomIoni Bowcher UNQUALIFIED
Murillo J GillianArgentinaIvan Magalhaes NEGOTIATION
Octavia Y IturbideCanadaStephen Shaw UNQUALIFIED
Stacey U FigeroaRussiaXuxue Feng RENEWAL
Chavez G SaylorsArgentinaXuxue Feng UNQUALIFIED
Tony W RimArgentinaAsiya Javayant UNQUALIFIED
Silvio L MaletRussiaXuxue Feng PROPOSAL
Jefferson D GillianFranceAnna Fali NEGOTIATION
Rodrigues V SergiRussiaXuxue Feng NEW
Johnson C StockhamCanadaIoni Bowcher PROPOSAL
Kadeem I SchemmerRussiaAnna Fali UNQUALIFIED
Mujtaba E AmigonFranceAmy Elsner RENEWAL
Nicolas B SergiItalyAnna Fali NEGOTIATION
Emily R KuskoItalyIvan Magalhaes NEGOTIATION
Faith E GarufiCanadaIoni Bowcher NEGOTIATION
Antonio V PoquetteCanadaAmy Elsner PROPOSAL
Faith L FigeroaAustraliaBernardo Dominic PROPOSAL
Morrow O RutaItalyElwin Sharvill UNQUALIFIED
Maria M BologniaIndiaElwin Sharvill NEGOTIATION
Juan O WaycottFranceIoni Bowcher UNQUALIFIED
Murillo R RulapaughGermanyOnyama Limba UNQUALIFIED
Jennifer J PaprockiBrazilIvan Magalhaes QUALIFIED
Chavez A StockhamUnited KingdomElwin Sharvill NEW
Kadeem R RimCanadaAsiya Javayant 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>