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
Darci B NestleBrazilXuxue Feng QUALIFIED
Arvin L FlosiJapanAnna Fali RENEWAL
Ashley N FlosiAustraliaOnyama Limba NEW
Isabel R RutaRussiaIoni Bowcher UNQUALIFIED
Deepesh U GarufiCanadaAnna Fali UNQUALIFIED
Tony L CampainGermanyIvan Magalhaes RENEWAL
Wickens D CaldareraSpainIoni Bowcher QUALIFIED
Emily P ShinkoAustraliaBernardo Dominic NEGOTIATION
Stacey P GauchoFranceStephen Shaw QUALIFIED
Morrow H FlosiAustraliaIoni Bowcher RENEWAL
Smith W StockhamFranceAsiya Javayant PROPOSAL
Cody F SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Tony X PoquetteIndiaAnna Fali PROPOSAL
Ashley J KuskoJapanOnyama Limba NEW
Kaitlin A FollerCanadaOnyama Limba NEW
Chavez Y MaletUnited KingdomOnyama Limba RENEWAL
Mujtaba T BriddickCanadaElwin Sharvill NEGOTIATION
Ivar F FerenczRussiaIvan Magalhaes QUALIFIED
Ivar X RimArgentinaBernardo Dominic UNQUALIFIED
Maria P OldroydGermanyOnyama Limba QUALIFIED
Sinclair K KuskoSpainIoni Bowcher PROPOSAL
Octavia J OldroydFranceElwin Sharvill RENEWAL
Greenwood F BologniaIndiaBernardo Dominic NEW
Morrow Z ButtRussiaStephen Shaw RENEWAL
Faith I RulapaughSpainXuxue Feng NEGOTIATION
Greenwood I DoeGermanyBernardo Dominic UNQUALIFIED
Nicolas M WhobreyRussiaAnna Fali PROPOSAL
Francesco T RimIndiaIoni Bowcher UNQUALIFIED
Kadeem G DilliardIndiaIvan Magalhaes UNQUALIFIED
Leon M DoeBrazilAnna Fali NEGOTIATION
Jeanfrancois U AlbaresGermanyAsiya Javayant NEW
David Q NickaJapanXuxue Feng NEW
Greenwood C PerinArgentinaElwin Sharvill QUALIFIED
Aruna K GlickRussiaBernardo Dominic NEW
Murillo K VenereAustraliaXuxue Feng UNQUALIFIED
Chavez H DarakjyRussiaAsiya Javayant RENEWAL
Chavez Q PaprockiJapanIvan Magalhaes NEW
Nicolas S FerenczFranceXuxue Feng RENEWAL
Maisha A DarakjyItalyIoni Bowcher PROPOSAL
Ivar M ChuiBrazilElwin Sharvill QUALIFIED
Munro Q MaletItalyElwin Sharvill NEW
Ashley L MaletCanadaAmy Elsner QUALIFIED
Jones J CampainArgentinaAnna Fali PROPOSAL
Adams F IturbideArgentinaIoni Bowcher UNQUALIFIED
Salvatore I InouyeCanadaIvan Magalhaes QUALIFIED
Jeanfrancois I GlickFranceAmy Elsner NEW
Smith O NickaUnited KingdomOnyama Limba NEGOTIATION
Aika Z FigeroaItalyXuxue Feng QUALIFIED
Cody U ButtRussiaAsiya Javayant RENEWAL
Sinclair M PaprockiRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Maria Y CampainItalyIvan Magalhaes QUALIFIED
Darci M ShinkoBrazilStephen Shaw RENEWAL
Morrow P SlusarskiGermanyBernardo Dominic UNQUALIFIED
Maria V OldroydRussiaAsiya Javayant RENEWAL
Silvio M DarakjyItalyAnna Fali NEW
Izzy V SergiSpainIvan Magalhaes RENEWAL
Stacey O PaprockiSpainXuxue Feng QUALIFIED
Maisha B SaylorsJapanStephen Shaw RENEWAL
Octavia W RulapaughSpainOnyama Limba RENEWAL
Johnson L GarufiIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer F AlbaresAustralia2024-05-25Rousseaux, Michael Esq QUALIFIED83Stephen Shaw
1001Stacey T RutaUnited Kingdom2024-05-24Printing Dimensions RENEWAL28Ivan Magalhaes
1002Misaki N DilliardFrance2024-06-10Dorl, James J Esq NEW92Ioni Bowcher
1003James F OstroskyAustralia2024-06-18Benton, John B Jr PROPOSAL40Anna Fali
1004Arvin B GlickUnited Kingdom2024-06-13Morlong Associates QUALIFIED92Asiya Javayant
1005James H OldroydUnited Kingdom2024-06-16Buckley Miller Wright NEW88Anna Fali
1006Johnson H MaletGermany2024-06-01Truhlar And Truhlar Attys NEW53Ioni Bowcher
1007Munro U KolmetzAustralia2024-06-16Rousseaux, Michael Esq QUALIFIED81Amy Elsner
1008Mujtaba J BowleySpain2024-05-24Feltz Printing Service UNQUALIFIED67Stephen Shaw
1009Sinclair A PerinSpain2024-05-26Printing Dimensions PROPOSAL38Amy Elsner
1010Isabel U WieserGermany2024-06-12Truhlar And Truhlar Attys PROPOSAL0Anna Fali
1011Juan S PoquetteUnited Kingdom2024-06-19Feiner Bros PROPOSAL46Onyama Limba
1012Leja X RutaFrance2024-06-11King, Christopher A Esq UNQUALIFIED30Anna Fali
1013Claire Z TollnerBrazil2024-06-06Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1014Cody S InouyeFrance2024-06-09Printing Dimensions NEGOTIATION27Ivan Magalhaes
1015Chavez V FerenczItaly2024-06-10Morlong Associates QUALIFIED45Ioni Bowcher
1016Munro R SlusarskiAustralia2024-06-14Rangoni Of Florence NEW29Xuxue Feng
1017Kadeem J PaprockiFrance2024-05-26Feltz Printing Service NEW74Xuxue Feng
1018Nicolas L PaprockiUnited Kingdom2024-06-11Benton, John B Jr NEGOTIATION41Amy Elsner
1019Johnson U VocelkaRussia2024-06-15Chapman, Ross E Esq PROPOSAL74Anna Fali
1020Smith Y OldroydFrance2024-06-20King, Christopher A Esq NEGOTIATION12Anna Fali
1021Johnson V PerinBrazil2024-06-07Commercial Press NEW69Onyama Limba
1022David S OldroydArgentina2024-05-26Buckley Miller Wright NEGOTIATION79Ivan Magalhaes
1023Misaki J MarrierSpain2024-06-08Buckley Miller Wright PROPOSAL32Ivan Magalhaes
1024Jefferson S WieserArgentina2024-06-16Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1025Tony Z GarufiItaly2024-05-23Rangoni Of Florence NEW7Onyama Limba
1026Clifford B ShinkoSpain2024-05-23Printing Dimensions RENEWAL96Amy Elsner
1027Clifford E SergiBrazil2024-06-15Chapman, Ross E Esq UNQUALIFIED86Asiya Javayant
1028Smith S SchemmerUnited Kingdom2024-05-23King, Christopher A Esq PROPOSAL92Amy Elsner
1029Julie K MarrierAustralia2024-05-25Feltz Printing Service NEW68Ioni Bowcher
1030Faith K PerinFrance2024-05-24Commercial Press QUALIFIED64Asiya Javayant
1031Jones Z FigeroaIndia2024-05-28Chemel, James L Cpa NEW20Ivan Magalhaes
1032Isabel C ChuiAustralia2024-06-06Morlong Associates PROPOSAL79Asiya Javayant
1033Ricardo Q GarufiRussia2024-05-24Chapman, Ross E Esq NEGOTIATION83Asiya Javayant
1034Smith H ChuiGermany2024-05-23Dorl, James J Esq NEW91Amy Elsner
1035Jones O BologniaCanada2024-06-10Feiner Bros PROPOSAL96Asiya Javayant
1036Cody Q NestleRussia2024-06-04Feiner Bros PROPOSAL53Xuxue Feng
1037Adams K RutaJapan2024-05-29King, Christopher A Esq UNQUALIFIED16Amy Elsner
1038Leon B ButtRussia2024-06-02Benton, John B Jr NEGOTIATION80Ivan Magalhaes
1039Salvatore Y StockhamFrance2024-06-03Benton, John B Jr QUALIFIED58Xuxue Feng
1040Sinclair P DoeFrance2024-06-14Rangoni Of Florence UNQUALIFIED32Ioni Bowcher
1041Cody I FollerRussia2024-06-18Chanay, Jeffrey A Esq NEW17Ioni Bowcher
1042Ashley E RimItaly2024-06-05King, Christopher A Esq NEW7Bernardo Dominic
1043Maisha Z StockhamJapan2024-06-03Rangoni Of Florence UNQUALIFIED82Asiya Javayant
1044Faith N WhobreyFrance2024-05-26Chanay, Jeffrey A Esq NEW15Ioni Bowcher
1045Silvio O PerinSpain2024-06-02Commercial Press QUALIFIED86Asiya Javayant
1046Sinclair C BologniaJapan2024-05-27Buckley Miller Wright UNQUALIFIED90Elwin Sharvill
1047Izzy Q FlosiArgentina2024-05-28Rousseaux, Michael Esq PROPOSAL75Anna Fali
1048Sinclair K RutaJapan2024-06-03Chemel, James L Cpa NEGOTIATION66Bernardo Dominic
1049Wickens Q RulapaughItaly2024-06-13Truhlar And Truhlar Attys RENEWAL38Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon C CaldareraSpainStephen Shaw NEGOTIATION
Smith G RulapaughIndiaXuxue Feng QUALIFIED
Munro I SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Ivar P SlusarskiBrazilAsiya Javayant PROPOSAL
Kaitlin R SchemmerFranceElwin Sharvill QUALIFIED
Greenwood E StensethUnited KingdomStephen Shaw NEW
Izzy K MarrierAustraliaIvan Magalhaes PROPOSAL
Jennifer P FigeroaRussiaIvan Magalhaes PROPOSAL
James G MacleadArgentinaBernardo Dominic NEGOTIATION
Maria D StensethJapanAnna Fali NEGOTIATION
Alejandro E PerinCanadaElwin Sharvill NEW
Jennifer X VenereUnited KingdomElwin Sharvill NEW
Jones Y IturbideArgentinaElwin Sharvill NEW
David F KuskoIndiaBernardo Dominic RENEWAL
Murillo W StensethBrazilElwin Sharvill RENEWAL
Aruna K PerinCanadaIoni Bowcher QUALIFIED
Kadeem S RutaUnited KingdomElwin Sharvill UNQUALIFIED
Maria M OstroskyBrazilIoni Bowcher NEGOTIATION
Rodrigues D StockhamUnited KingdomElwin Sharvill NEGOTIATION
Wickens W CampainSpainElwin Sharvill NEW
Munro O WhobreyUnited KingdomAnna Fali QUALIFIED
Ashley W CaudyIndiaAnna Fali QUALIFIED
Misaki R OldroydAustraliaXuxue Feng NEGOTIATION
Morrow S MaletGermanyIvan Magalhaes QUALIFIED
Octavia K SchemmerIndiaBernardo Dominic PROPOSAL
Jeanfrancois O ChuiCanadaAmy Elsner PROPOSAL
Kadeem O MorascaSpainElwin Sharvill QUALIFIED
Jeanfrancois C GillianCanadaXuxue Feng QUALIFIED
Stacey W GlickItalyBernardo Dominic NEW
Smith U OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Morrow D DilliardItalyIoni Bowcher NEW
Jeanfrancois W OstroskyCanadaBernardo Dominic UNQUALIFIED
Mujtaba F OldroydJapanIoni Bowcher NEGOTIATION
Sinclair R OstroskyArgentinaAnna Fali QUALIFIED
Ivar K WhobreyBrazilXuxue Feng NEW
Tony D CaldareraGermanyElwin Sharvill RENEWAL
Ivar M SaylorsJapanIoni Bowcher RENEWAL
Aditya E FollerJapanAsiya Javayant NEGOTIATION
Kaitlin Z CaudyAustraliaAnna Fali RENEWAL
Aika H SaylorsSpainStephen Shaw NEW
Claire D MarrierGermanyAmy Elsner UNQUALIFIED
Aditya N ButtItalyBernardo Dominic NEW
Julie B SaylorsRussiaAnna Fali PROPOSAL
Jones Y PerinCanadaAmy Elsner QUALIFIED
Octavia I TollnerArgentinaElwin Sharvill QUALIFIED
Morrow K KuskoAustraliaXuxue Feng QUALIFIED
Mujtaba J NestleItalyAnna Fali PROPOSAL
Morrow H DarakjyArgentinaAmy Elsner QUALIFIED
Isabel D BriddickAustraliaXuxue Feng NEGOTIATION
Sinclair K MorascaGermanyIoni Bowcher RENEWAL
Frozen Columns
Name
Adams O Malet
Kaitlin B Perin
Stacey X Foller
Morrow B Ostrosky
Maisha E Stockham
Wickens Y Albares
Clifford R Kolmetz
Leon L Campain
Darci Y Caldarera
Claire U Bowley
Munro W Flosi
Claire W Stockham
Ashley U Kusko
Stacey E Garufi
Isabel W Caldarera
Deepesh F Amigon
Arvin O Oldroyd
Jennifer P Butt
Arvin Y Doe
Maria E Waycott
Rodrigues S Oldroyd
Costa V Rulapaugh
Adams F Vocelka
Maria P Chui
Aditya N Doe
Faith O Campain
Isabel S Caudy
Silvio Y Poquette
Emily K Briddick
Chavez A Darakjy
Mujtaba B Dilliard
Jeanfrancois Z Bowley
Maria A Rim
Emily U Garufi
Kaitlin S Ferencz
Alejandro T Schemmer
Claire I Maclead
Ivar M Darakjy
Smith V Caudy
Kadeem W Oldroyd
Leon W Gillian
Emily K Sergi
Maisha X Campain
Munro H Venere
Deepesh X Ostrosky
Adams N Ostrosky
Ricardo J Poquette
Claire A Malet
Ashley K Waycott
Francesco R Poquette
IdCountryDate
1000France2024-06-14
1001Brazil2024-06-07
1002Japan2024-06-21
1003Italy2024-06-03
1004Australia2024-05-28
1005Spain2024-05-25
1006France2024-06-09
1007Spain2024-06-02
1008Japan2024-05-30
1009Argentina2024-05-23
1010Brazil2024-06-03
1011United Kingdom2024-06-02
1012Germany2024-05-31
1013India2024-06-18
1014Italy2024-06-11
1015Japan2024-06-06
1016Australia2024-06-12
1017Australia2024-06-11
1018United Kingdom2024-06-16
1019Germany2024-06-03
1020Canada2024-06-07
1021India2024-06-04
1022United Kingdom2024-06-15
1023Italy2024-06-02
1024Argentina2024-05-27
1025France2024-05-26
1026France2024-05-27
1027United Kingdom2024-05-29
1028India2024-06-10
1029Germany2024-06-03
1030Italy2024-06-20
1031Brazil2024-06-14
1032Italy2024-06-12
1033Spain2024-05-27
1034United Kingdom2024-06-21
1035Russia2024-06-04
1036Argentina2024-05-31
1037Italy2024-06-15
1038Germany2024-06-17
1039India2024-05-26
1040Germany2024-06-07
1041Japan2024-06-20
1042United Kingdom2024-05-23
1043Australia2024-05-24
1044Italy2024-06-11
1045India2024-06-08
1046Canada2024-06-14
1047Germany2024-06-07
1048France2024-05-26
1049Brazil2024-05-30

On-Demand Data

NameIdCountryDate
Faith U Ferencz1000Japan2024-06-08
Antonio T Paprocki1001Germany2024-06-04
Mayumi N Rulapaugh1002Argentina2024-06-07
Tony Y Caudy1003India2024-06-06
Darci Z Stenseth1004Germany2024-05-25
Jefferson R Nestle1005Australia2024-06-03
Costa H Dilliard1006France2024-05-25
Deepesh U Oldroyd1007Australia2024-06-16
Stacey I Venere1008Canada2024-06-21
Kadeem S Garufi1009Germany2024-05-25
Ashley B Darakjy1010Russia2024-05-26
Jones S Waycott1011France2024-05-27
Nicolas H Sergi1012India2024-05-27
Greenwood D Slusarski1013Argentina2024-06-21
Claire A Garufi1014India2024-06-04
Maria Q Tollner1015Russia2024-05-26
Johnson P Caldarera1016India2024-05-31
Clifford Z Morasca1017Italy2024-06-03
Cody O Stenseth1018Japan2024-06-18
Ricardo Z Stenseth1019Canada2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley C PoquetteAustraliaXuxue Feng PROPOSAL
Arvin E MaletArgentinaIvan Magalhaes QUALIFIED
Julie X MaletJapanOnyama Limba UNQUALIFIED
Alejandro Z VocelkaGermanyXuxue Feng PROPOSAL
Ivar E NestleFranceIvan Magalhaes RENEWAL
Maisha S FerenczArgentinaStephen Shaw QUALIFIED
Francesco P InouyeSpainIvan Magalhaes NEW
Kadeem Z RulapaughItalyAnna Fali UNQUALIFIED
Mayumi Y SaylorsAustraliaStephen Shaw PROPOSAL
Chavez D DilliardGermanyAnna Fali PROPOSAL
Jones H VocelkaGermanyAmy Elsner UNQUALIFIED
Ivar V MarrierUnited KingdomIvan Magalhaes NEW
Jeanfrancois C AmigonRussiaAsiya Javayant RENEWAL
Stacey N DilliardFranceIoni Bowcher RENEWAL
Darci A InouyeItalyElwin Sharvill QUALIFIED
Salvatore C WaycottRussiaAsiya Javayant UNQUALIFIED
Leja G SergiItalyBernardo Dominic NEW
Munro L BologniaRussiaAsiya Javayant PROPOSAL
Ricardo K GarufiIndiaIvan Magalhaes PROPOSAL
Ivar T MaletGermanyAmy Elsner PROPOSAL
Johnson B DarakjyRussiaIvan Magalhaes NEW
Emily F BologniaSpainOnyama Limba PROPOSAL
Munro N CaudyBrazilIvan Magalhaes PROPOSAL
Ricardo D SchemmerRussiaBernardo Dominic RENEWAL
Wickens Z MaletBrazilIvan Magalhaes PROPOSAL
Maria U DoeRussiaAsiya Javayant QUALIFIED
David V MaletFranceAnna Fali NEGOTIATION
Aditya B ButtSpainElwin Sharvill QUALIFIED
Leon K BologniaBrazilXuxue Feng PROPOSAL
Sinclair A AmigonGermanyElwin Sharvill UNQUALIFIED
Kadeem Z WhobreyIndiaXuxue Feng UNQUALIFIED
Adams Y AmigonArgentinaBernardo Dominic QUALIFIED
Izzy S StockhamUnited KingdomBernardo Dominic PROPOSAL
Deepesh N MorascaArgentinaXuxue Feng QUALIFIED
Ricardo M StensethBrazilAnna Fali NEGOTIATION
Arvin M TollnerRussiaAsiya Javayant RENEWAL
Ashley I SergiIndiaBernardo Dominic NEW
Silvio K FollerJapanElwin Sharvill UNQUALIFIED
Nicolas Q IturbideGermanyElwin Sharvill RENEWAL
Morrow K IturbideFranceAsiya Javayant 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>