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
Ivar A NestleBrazilIvan Magalhaes UNQUALIFIED
Ricardo A SaylorsGermanyElwin Sharvill QUALIFIED
Darci U CaudySpainOnyama Limba UNQUALIFIED
Arvin N ChuiBrazilIvan Magalhaes RENEWAL
Emily R StockhamAustraliaIoni Bowcher PROPOSAL
Juan P VocelkaIndiaBernardo Dominic QUALIFIED
Rodrigues H MacleadItalyAnna Fali UNQUALIFIED
Rodrigues D CaudyArgentinaElwin Sharvill RENEWAL
Salvatore Z CaudyUnited KingdomOnyama Limba PROPOSAL
Murillo L CampainIndiaAmy Elsner QUALIFIED
David K ChuiAustraliaStephen Shaw RENEWAL
Faith Q WieserCanadaAmy Elsner NEW
Maisha F IturbideAustraliaOnyama Limba NEGOTIATION
Juan O StockhamJapanElwin Sharvill RENEWAL
Arvin Z FollerRussiaIvan Magalhaes UNQUALIFIED
Greenwood B MorascaArgentinaIoni Bowcher PROPOSAL
Jennifer E SlusarskiSpainAnna Fali UNQUALIFIED
Mayumi R RoysterGermanyXuxue Feng UNQUALIFIED
Silvio A ChuiFranceAnna Fali QUALIFIED
Ashley A SchemmerItalyAmy Elsner NEW
Cody Z StockhamIndiaStephen Shaw NEW
Jennifer B MorascaGermanyAsiya Javayant UNQUALIFIED
Cody N BriddickFranceStephen Shaw QUALIFIED
Ashley N GauchoUnited KingdomAmy Elsner NEGOTIATION
Clifford Q RoysterItalyIvan Magalhaes NEGOTIATION
Jefferson C DoeGermanyAmy Elsner PROPOSAL
Izzy L PoquetteBrazilElwin Sharvill RENEWAL
Antonio Q GlickArgentinaAmy Elsner NEGOTIATION
Morrow D VocelkaSpainAsiya Javayant QUALIFIED
Francesco Z KolmetzRussiaIvan Magalhaes NEGOTIATION
Silvio A WaycottFranceStephen Shaw RENEWAL
Isabel D IturbideRussiaStephen Shaw QUALIFIED
Octavia Z PerinSpainAsiya Javayant RENEWAL
Cody W MarrierArgentinaAnna Fali NEW
Salvatore L RoysterCanadaElwin Sharvill PROPOSAL
Chavez Z FigeroaRussiaAsiya Javayant PROPOSAL
Salvatore V NestleRussiaAsiya Javayant QUALIFIED
Deepesh U FlosiArgentinaXuxue Feng QUALIFIED
Maisha F StockhamIndiaOnyama Limba RENEWAL
Aika J SlusarskiGermanyAnna Fali NEW
Silvio J OstroskyRussiaOnyama Limba NEW
Clifford M AmigonBrazilOnyama Limba NEGOTIATION
Izzy S TollnerAustraliaXuxue Feng NEW
Julie H SchemmerIndiaAsiya Javayant QUALIFIED
Greenwood K CaldareraAustraliaAsiya Javayant QUALIFIED
Mayumi B PaprockiBrazilIoni Bowcher RENEWAL
Mayumi W FerenczGermanyBernardo Dominic NEGOTIATION
Isabel E RutaGermanyOnyama Limba RENEWAL
Aika E BologniaBrazilAsiya Javayant UNQUALIFIED
James S ButtItalyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey T OstroskyBrazilAsiya Javayant NEW
Ricardo V SlusarskiArgentinaStephen Shaw NEGOTIATION
Jeanfrancois L WaycottItalyIoni Bowcher RENEWAL
Tony L PerinFranceIvan Magalhaes NEW
Julie F SlusarskiAustraliaAnna Fali RENEWAL
Faith G RoysterCanadaXuxue Feng NEGOTIATION
Silvio M BologniaUnited KingdomIoni Bowcher RENEWAL
James H MorascaArgentinaXuxue Feng RENEWAL
Murillo S RoysterUnited KingdomIoni Bowcher PROPOSAL
Octavia V IturbideUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa T SchemmerBrazil2024-05-22Buckley Miller Wright UNQUALIFIED13Bernardo Dominic
1001Deepesh X VenereAustralia2024-05-29Rangoni Of Florence UNQUALIFIED59Onyama Limba
1002Leon U CampainJapan2024-05-31Feiner Bros PROPOSAL58Bernardo Dominic
1003Francesco M GillianJapan2024-06-03Benton, John B Jr QUALIFIED28Onyama Limba
1004Isabel U SchemmerItaly2024-06-08Rousseaux, Michael Esq NEW71Elwin Sharvill
1005Greenwood J AmigonJapan2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED3Ioni Bowcher
1006Jones X IturbideIndia2024-06-06Dorl, James J Esq RENEWAL66Amy Elsner
1007Misaki C DarakjyBrazil2024-06-06Chapman, Ross E Esq NEW63Xuxue Feng
1008Nicolas B KuskoArgentina2024-05-28Chapman, Ross E Esq PROPOSAL65Ivan Magalhaes
1009Greenwood W AlbaresUnited Kingdom2024-05-26Morlong Associates RENEWAL1Asiya Javayant
1010Adams P StensethUnited Kingdom2024-06-02Dorl, James J Esq NEGOTIATION33Stephen Shaw
1011Juan F MaletRussia2024-06-11Dorl, James J Esq NEW16Xuxue Feng
1012Rodrigues Q GlickUnited Kingdom2024-06-01Dorl, James J Esq RENEWAL75Asiya Javayant
1013Leon Q DilliardItaly2024-06-13Dorl, James J Esq RENEWAL2Anna Fali
1014Ivar T CampainBrazil2024-06-01Printing Dimensions NEGOTIATION19Elwin Sharvill
1015Leja D StockhamBrazil2024-06-03Chapman, Ross E Esq QUALIFIED13Ioni Bowcher
1016Jeanfrancois M RutaBrazil2024-05-21Chemel, James L Cpa PROPOSAL79Stephen Shaw
1017Mujtaba U KolmetzGermany2024-06-15Truhlar And Truhlar Attys UNQUALIFIED22Elwin Sharvill
1018Mujtaba C VocelkaRussia2024-05-23King, Christopher A Esq RENEWAL36Ioni Bowcher
1019Silvio H OldroydRussia2024-05-29Morlong Associates RENEWAL56Anna Fali
1020Mayumi X WaycottJapan2024-05-20Dorl, James J Esq PROPOSAL38Bernardo Dominic
1021Emily G SergiUnited Kingdom2024-05-31Morlong Associates NEGOTIATION90Bernardo Dominic
1022Chavez C GillianGermany2024-06-10Buckley Miller Wright NEW66Ivan Magalhaes
1023Juan N AmigonCanada2024-05-20King, Christopher A Esq UNQUALIFIED62Xuxue Feng
1024Isabel G FollerUnited Kingdom2024-05-20Rousseaux, Michael Esq QUALIFIED55Asiya Javayant
1025Faith H ChuiIndia2024-05-30Morlong Associates PROPOSAL76Stephen Shaw
1026Mayumi N SlusarskiJapan2024-05-26Morlong Associates QUALIFIED42Ioni Bowcher
1027Silvio W RimRussia2024-06-18King, Christopher A Esq QUALIFIED16Xuxue Feng
1028Faith F BriddickArgentina2024-05-26Buckley Miller Wright PROPOSAL19Asiya Javayant
1029Salvatore H WaycottRussia2024-06-09Printing Dimensions NEGOTIATION66Bernardo Dominic
1030Leon G SchemmerSpain2024-05-25Chapman, Ross E Esq PROPOSAL77Ivan Magalhaes
1031Deepesh N TollnerJapan2024-05-25Chanay, Jeffrey A Esq NEGOTIATION48Anna Fali
1032Salvatore W PaprockiArgentina2024-06-13Dorl, James J Esq QUALIFIED61Asiya Javayant
1033Chavez K FollerGermany2024-05-28Commercial Press UNQUALIFIED94Ioni Bowcher
1034Leon J AlbaresGermany2024-06-01Truhlar And Truhlar Attys PROPOSAL83Elwin Sharvill
1035Claire Y GauchoSpain2024-06-05Morlong Associates QUALIFIED39Ioni Bowcher
1036Maria T MarrierArgentina2024-06-04Rousseaux, Michael Esq QUALIFIED82Onyama Limba
1037Smith R MorascaAustralia2024-05-25Rousseaux, Michael Esq QUALIFIED27Ioni Bowcher
1038Jones K AlbaresAustralia2024-06-15Rousseaux, Michael Esq UNQUALIFIED13Asiya Javayant
1039Octavia W GlickAustralia2024-06-08Commercial Press PROPOSAL53Ivan Magalhaes
1040Nicolas W ChuiFrance2024-06-05Feltz Printing Service QUALIFIED1Amy Elsner
1041Aditya Z MarrierIndia2024-05-30Commercial Press RENEWAL48Amy Elsner
1042Aika E SchemmerItaly2024-06-15Commercial Press UNQUALIFIED20Elwin Sharvill
1043Cody M CampainCanada2024-06-14Commercial Press NEGOTIATION54Ivan Magalhaes
1044Ashley D ShinkoAustralia2024-06-07Feltz Printing Service NEW37Asiya Javayant
1045Wickens N BowleyFrance2024-06-08Dorl, James J Esq QUALIFIED57Amy Elsner
1046James V OstroskyAustralia2024-05-26Commercial Press RENEWAL65Ioni Bowcher
1047Munro R OstroskyIndia2024-06-14Feiner Bros RENEWAL83Onyama Limba
1048Jennifer R GauchoArgentina2024-05-31Chemel, James L Cpa NEGOTIATION74Xuxue Feng
1049David F SaylorsUnited Kingdom2024-06-02Rousseaux, Michael Esq PROPOSAL54Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Claire V BologniaAustraliaStephen Shaw UNQUALIFIED
Mujtaba F NickaFranceBernardo Dominic QUALIFIED
Aditya K MorascaBrazilAmy Elsner RENEWAL
Greenwood B VocelkaCanadaXuxue Feng NEGOTIATION
Tony C KuskoSpainXuxue Feng QUALIFIED
Kaitlin W PaprockiAustraliaIvan Magalhaes RENEWAL
Jefferson S OldroydBrazilIoni Bowcher NEGOTIATION
Costa P MaletArgentinaElwin Sharvill QUALIFIED
Salvatore M MorascaAustraliaIvan Magalhaes NEW
Jones F BowleyItalyXuxue Feng QUALIFIED
Murillo T InouyeAustraliaBernardo Dominic RENEWAL
Darci S FerenczRussiaBernardo Dominic UNQUALIFIED
Stacey X VocelkaGermanyAnna Fali NEW
Silvio N GauchoFranceAnna Fali NEW
Mayumi U SaylorsFranceAnna Fali RENEWAL
Alejandro O DoeBrazilXuxue Feng RENEWAL
Antonio E VenereFranceAmy Elsner QUALIFIED
Clifford H GauchoIndiaStephen Shaw NEW
Costa U ShinkoIndiaBernardo Dominic PROPOSAL
Maisha C CampainJapanIvan Magalhaes RENEWAL
Salvatore O GlickAustraliaAmy Elsner RENEWAL
Costa K GlickUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem E SchemmerSpainIoni Bowcher NEW
Deepesh C RoysterJapanStephen Shaw QUALIFIED
Jeanfrancois Q VocelkaAustraliaIvan Magalhaes PROPOSAL
Isabel K KuskoAustraliaAmy Elsner RENEWAL
Jeanfrancois Q KuskoAustraliaOnyama Limba UNQUALIFIED
Nicolas U ShinkoSpainStephen Shaw NEGOTIATION
Rodrigues J GauchoSpainAnna Fali PROPOSAL
Munro T OldroydItalyAmy Elsner NEW
Murillo Y MaletUnited KingdomAnna Fali PROPOSAL
Morrow B GlickIndiaIvan Magalhaes RENEWAL
Aditya A GlickUnited KingdomElwin Sharvill NEW
Maisha O WaycottJapanIoni Bowcher QUALIFIED
Nicolas W RulapaughBrazilIvan Magalhaes NEW
Johnson X SlusarskiFranceBernardo Dominic QUALIFIED
Smith D MaletIndiaOnyama Limba NEW
Nicolas H PaprockiAustraliaIvan Magalhaes QUALIFIED
Adams H MaletBrazilStephen Shaw NEW
Darci Q MacleadAustraliaIvan Magalhaes RENEWAL
Jefferson W MarrierCanadaElwin Sharvill PROPOSAL
Izzy Y GlickJapanIvan Magalhaes PROPOSAL
Maria X DarakjyAustraliaOnyama Limba PROPOSAL
Nicolas F PoquetteArgentinaAmy Elsner NEW
Aditya A VenereGermanyAsiya Javayant QUALIFIED
Salvatore Z KuskoAustraliaBernardo Dominic PROPOSAL
Francesco M NestleItalyIoni Bowcher UNQUALIFIED
Darci F KolmetzItalyAsiya Javayant RENEWAL
Ricardo H PoquetteIndiaIvan Magalhaes NEGOTIATION
Octavia S BriddickAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Jefferson Z Butt
Chavez O Sergi
Emily M Maclead
Morrow P Oldroyd
Leja X Foller
Jeanfrancois B Doe
Ricardo L Butt
Jennifer E Flosi
Aditya T Wieser
Deepesh K Shinko
Munro O Ruta
Wickens G Garufi
Morrow S Kolmetz
Kadeem X Briddick
Kadeem X Perin
Ricardo G Stockham
Isabel A Maclead
Claire T Schemmer
Ashley B Stockham
Ashley A Inouye
David R Briddick
Claire N Tollner
Stacey V Nestle
Chavez B Gillian
Aditya P Rim
Ashley W Caudy
Misaki R Perin
Jeanfrancois P Glick
Clifford Y Kolmetz
Clifford Z Schemmer
Jennifer I Schemmer
Misaki F Whobrey
Octavia J Marrier
Leja A Sergi
Johnson F Royster
Kaitlin X Perin
Misaki C Vocelka
Chavez H Darakjy
David E Dilliard
Smith K Albares
Jefferson L Saylors
Wickens U Waycott
Julie W Royster
Munro B Tollner
Alejandro Y Amigon
Faith L Whobrey
Clifford L Foller
James D Butt
Mayumi D Darakjy
Leja S Royster
IdCountryDate
1000Brazil2024-06-03
1001Brazil2024-06-15
1002United Kingdom2024-06-06
1003Italy2024-05-26
1004Canada2024-06-03
1005Germany2024-06-06
1006Italy2024-06-06
1007Russia2024-05-29
1008Japan2024-05-21
1009United Kingdom2024-06-15
1010Russia2024-06-02
1011India2024-06-06
1012Argentina2024-06-15
1013Spain2024-05-23
1014Russia2024-06-18
1015Germany2024-05-30
1016India2024-06-04
1017Brazil2024-06-03
1018India2024-05-20
1019France2024-06-08
1020Spain2024-05-30
1021Spain2024-05-24
1022Spain2024-05-21
1023India2024-05-27
1024United Kingdom2024-05-30
1025France2024-05-27
1026Brazil2024-06-10
1027Canada2024-06-14
1028Spain2024-06-15
1029Australia2024-05-22
1030Germany2024-06-02
1031Australia2024-06-06
1032Australia2024-06-07
1033Russia2024-05-22
1034Russia2024-06-06
1035Italy2024-05-25
1036Japan2024-06-12
1037Spain2024-05-22
1038Italy2024-06-15
1039Germany2024-05-29
1040Canada2024-05-29
1041Canada2024-05-26
1042India2024-05-29
1043Italy2024-05-26
1044Russia2024-05-28
1045United Kingdom2024-05-27
1046Germany2024-05-25
1047Russia2024-06-05
1048Italy2024-06-10
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
James M Nestle1000Russia2024-06-18
Ivar Z Bolognia1001Japan2024-06-06
James A Ostrosky1002France2024-05-29
Munro L Morasca1003Italy2024-06-16
Sinclair B Darakjy1004Germany2024-05-27
Nicolas H Wieser1005United Kingdom2024-05-25
Stacey P Wieser1006Brazil2024-06-03
Claire E Royster1007Russia2024-06-16
Tony Q Caldarera1008Japan2024-05-24
Mujtaba T Rim1009Russia2024-05-29
Aika J Paprocki1010Brazil2024-06-04
Maria R Malet1011India2024-06-12
David Z Darakjy1012United Kingdom2024-05-21
Jones Y Rulapaugh1013Japan2024-06-17
Sinclair G Paprocki1014Italy2024-05-23
Sinclair D Ferencz1015United Kingdom2024-05-27
Maria B Caldarera1016Italy2024-06-10
Sinclair A Inouye1017Australia2024-05-29
Claire P Ruta1018France2024-05-24
Morrow S Oldroyd1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas T FerenczGermanyOnyama Limba NEW
Adams Q OldroydAustraliaStephen Shaw UNQUALIFIED
Francesco I IturbideFranceAnna Fali RENEWAL
Maria G MaletSpainOnyama Limba UNQUALIFIED
Julie O MaletArgentinaXuxue Feng NEW
Stacey Q CaudyCanadaOnyama Limba NEGOTIATION
Wickens F TollnerJapanAnna Fali PROPOSAL
Maisha R RimGermanyBernardo Dominic NEW
Ivar Y KolmetzAustraliaIoni Bowcher RENEWAL
Ivar O DilliardFranceXuxue Feng RENEWAL
Nicolas D AmigonSpainXuxue Feng NEW
Juan P PaprockiGermanyAnna Fali PROPOSAL
Faith D BowleyIndiaAmy Elsner NEGOTIATION
David Z FigeroaCanadaIoni Bowcher QUALIFIED
Ashley O CaudyRussiaElwin Sharvill UNQUALIFIED
Jennifer P CaudyAustraliaAnna Fali UNQUALIFIED
Costa I BologniaBrazilOnyama Limba UNQUALIFIED
Leja V FigeroaFranceAmy Elsner UNQUALIFIED
Nicolas J InouyeBrazilAsiya Javayant NEW
Faith M GlickIndiaStephen Shaw PROPOSAL
Aruna M CampainSpainXuxue Feng NEGOTIATION
Costa V DilliardIndiaAsiya Javayant PROPOSAL
Kadeem R WhobreyCanadaAsiya Javayant QUALIFIED
Kadeem W MaletJapanIvan Magalhaes RENEWAL
Adams A AlbaresItalyAnna Fali NEW
Rodrigues J MacleadFranceXuxue Feng PROPOSAL
Juan Q VenereFranceIvan Magalhaes QUALIFIED
Izzy O TollnerItalyXuxue Feng PROPOSAL
Aruna N BriddickAustraliaAsiya Javayant PROPOSAL
Murillo I GillianIndiaAmy Elsner NEW
Maisha Z AlbaresGermanyIvan Magalhaes UNQUALIFIED
Jefferson D KuskoAustraliaAnna Fali NEW
Clifford F SchemmerRussiaIvan Magalhaes RENEWAL
Tony U ButtAustraliaStephen Shaw QUALIFIED
Jefferson Q AmigonFranceAmy Elsner NEW
Misaki W CampainJapanAmy Elsner UNQUALIFIED
Chavez A AlbaresIndiaAsiya Javayant PROPOSAL
Morrow U MorascaBrazilIoni Bowcher PROPOSAL
Aditya S CaldareraCanadaIvan Magalhaes PROPOSAL

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