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
Octavia Q IturbideGermanyStephen Shaw NEW
Julie L OldroydGermanyXuxue Feng RENEWAL
Julie D SchemmerItalyStephen Shaw NEW
Munro E BologniaSpainAnna Fali RENEWAL
Darci E RulapaughIndiaIvan Magalhaes NEW
Mujtaba R RutaAustraliaXuxue Feng QUALIFIED
Claire V PerinRussiaIvan Magalhaes QUALIFIED
Stacey M RutaItalyBernardo Dominic NEW
Clifford F SlusarskiFranceAsiya Javayant UNQUALIFIED
Adams T SchemmerFranceAmy Elsner UNQUALIFIED
Morrow D OstroskySpainBernardo Dominic UNQUALIFIED
Chavez P FlosiUnited KingdomAnna Fali RENEWAL
Munro D RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Stacey L PaprockiSpainIvan Magalhaes NEGOTIATION
Jennifer M FigeroaItalyAmy Elsner NEGOTIATION
Isabel B GlickBrazilAnna Fali QUALIFIED
Leja X FigeroaFranceElwin Sharvill RENEWAL
Emily P ChuiItalyAsiya Javayant QUALIFIED
Adams Y GlickGermanyBernardo Dominic NEW
Sinclair M PaprockiJapanStephen Shaw NEGOTIATION
Chavez H PoquetteBrazilElwin Sharvill QUALIFIED
Rodrigues O VenereJapanElwin Sharvill NEGOTIATION
Cody R WaycottAustraliaAsiya Javayant NEGOTIATION
Johnson K SergiAustraliaAnna Fali RENEWAL
Kaitlin Q AlbaresGermanyIoni Bowcher UNQUALIFIED
Tony B RutaBrazilBernardo Dominic PROPOSAL
Jones H OstroskyFranceStephen Shaw UNQUALIFIED
Clifford U SlusarskiGermanyAnna Fali NEGOTIATION
Maisha L WieserItalyAnna Fali QUALIFIED
Ivar Q ButtAustraliaAmy Elsner NEGOTIATION
Leon G BologniaArgentinaAnna Fali NEGOTIATION
Darci M MorascaJapanIoni Bowcher UNQUALIFIED
Antonio G PaprockiCanadaAnna Fali NEW
Salvatore F PerinIndiaStephen Shaw PROPOSAL
Aruna O PoquetteBrazilAnna Fali UNQUALIFIED
Ivar G GlickArgentinaIoni Bowcher NEGOTIATION
Aruna G TollnerAustraliaAsiya Javayant QUALIFIED
Tony Q GillianFranceBernardo Dominic UNQUALIFIED
Aditya B PerinArgentinaStephen Shaw QUALIFIED
Costa H NestleSpainStephen Shaw NEW
Misaki U RimBrazilAmy Elsner QUALIFIED
Darci W TollnerRussiaBernardo Dominic PROPOSAL
Jennifer C RoysterAustraliaAnna Fali NEGOTIATION
Ivar Z GillianItalyAsiya Javayant RENEWAL
Salvatore G ShinkoJapanAnna Fali UNQUALIFIED
Deepesh U MaletSpainOnyama Limba PROPOSAL
Juan B WieserFranceElwin Sharvill UNQUALIFIED
Silvio B ButtItalyOnyama Limba NEGOTIATION
Ricardo E FerenczJapanAsiya Javayant RENEWAL
Maria O PoquetteGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa W FerenczCanadaBernardo Dominic PROPOSAL
Salvatore B CampainArgentinaStephen Shaw NEGOTIATION
Izzy H MaletUnited KingdomBernardo Dominic RENEWAL
Ashley K FlosiCanadaAnna Fali NEW
Deepesh O OldroydRussiaBernardo Dominic RENEWAL
Jeanfrancois W ChuiRussiaAnna Fali RENEWAL
Ivar D IturbideJapanOnyama Limba NEGOTIATION
Salvatore H FigeroaItalyElwin Sharvill QUALIFIED
Smith T BriddickArgentinaIoni Bowcher PROPOSAL
Sinclair K AlbaresItalyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M DilliardFrance2024-05-22Chemel, James L Cpa NEW7Onyama Limba
1001Aika O FollerRussia2024-05-15Printing Dimensions PROPOSAL91Asiya Javayant
1002Rodrigues N NickaSpain2024-05-06Chapman, Ross E Esq QUALIFIED28Amy Elsner
1003Maisha B OldroydJapan2024-05-11Morlong Associates NEGOTIATION20Ivan Magalhaes
1004James W OldroydFrance2024-05-10Commercial Press PROPOSAL7Xuxue Feng
1005Claire K PerinSpain2024-05-20Printing Dimensions NEGOTIATION17Stephen Shaw
1006Isabel D SchemmerSpain2024-05-10Feiner Bros PROPOSAL9Anna Fali
1007Morrow F TollnerGermany2024-05-07King, Christopher A Esq UNQUALIFIED87Elwin Sharvill
1008Leja O FerenczJapan2024-05-11Dorl, James J Esq UNQUALIFIED98Bernardo Dominic
1009Greenwood Y RutaGermany2024-05-16Morlong Associates PROPOSAL32Asiya Javayant
1010Munro P BologniaJapan2024-05-13Printing Dimensions NEGOTIATION41Onyama Limba
1011Maisha P CampainUnited Kingdom2024-05-10Rousseaux, Michael Esq RENEWAL26Stephen Shaw
1012Stacey T DilliardIndia2024-05-26Benton, John B Jr QUALIFIED11Amy Elsner
1013Chavez J NestleItaly2024-05-08Dorl, James J Esq QUALIFIED17Elwin Sharvill
1014Arvin Y SchemmerSpain2024-05-06Chapman, Ross E Esq RENEWAL83Ivan Magalhaes
1015Maria H InouyeItaly2024-05-23Printing Dimensions NEW60Bernardo Dominic
1016Murillo Z FlosiCanada2024-05-08King, Christopher A Esq NEGOTIATION54Xuxue Feng
1017Darci V BowleyFrance2024-05-02Rousseaux, Michael Esq NEGOTIATION84Asiya Javayant
1018Chavez I AmigonArgentina2024-05-03Chemel, James L Cpa PROPOSAL40Asiya Javayant
1019Arvin R DoeGermany2024-05-20Chapman, Ross E Esq NEW60Stephen Shaw
1020Salvatore T OldroydCanada2024-05-21Chanay, Jeffrey A Esq NEGOTIATION75Stephen Shaw
1021Mayumi K KuskoRussia2024-05-11King, Christopher A Esq PROPOSAL78Stephen Shaw
1022Costa N FigeroaSpain2024-05-04Chanay, Jeffrey A Esq NEGOTIATION23Amy Elsner
1023Tony K PoquetteIndia2024-04-30Printing Dimensions RENEWAL52Onyama Limba
1024Tony M OstroskyItaly2024-05-12Printing Dimensions NEGOTIATION87Anna Fali
1025Ashley Z GlickBrazil2024-05-02Chapman, Ross E Esq NEW21Anna Fali
1026Arvin F CaudyArgentina2024-05-26Rangoni Of Florence RENEWAL28Onyama Limba
1027Aruna L SchemmerIndia2024-05-20Rousseaux, Michael Esq NEW30Ivan Magalhaes
1028Ashley I FlosiFrance2024-05-06Buckley Miller Wright NEGOTIATION78Xuxue Feng
1029Deepesh M ChuiSpain2024-05-10Rousseaux, Michael Esq PROPOSAL35Onyama Limba
1030Johnson H NickaJapan2024-05-22Chapman, Ross E Esq RENEWAL98Amy Elsner
1031Leja X StockhamBrazil2024-05-24Rousseaux, Michael Esq UNQUALIFIED30Elwin Sharvill
1032Alejandro D DilliardUnited Kingdom2024-05-20Rangoni Of Florence QUALIFIED10Asiya Javayant
1033Tony H RoysterJapan2024-05-04Rangoni Of Florence NEGOTIATION73Elwin Sharvill
1034Rodrigues J SergiFrance2024-05-07Feltz Printing Service PROPOSAL76Bernardo Dominic
1035Cody R MacleadIndia2024-05-25Chemel, James L Cpa NEW38Amy Elsner
1036Tony W ChuiArgentina2024-04-27Morlong Associates RENEWAL0Amy Elsner
1037Nicolas U PaprockiSpain2024-05-17Feltz Printing Service PROPOSAL79Elwin Sharvill
1038Darci U KolmetzSpain2024-05-06Chemel, James L Cpa PROPOSAL59Ivan Magalhaes
1039Arvin G IturbideRussia2024-04-29Chapman, Ross E Esq NEGOTIATION65Xuxue Feng
1040Mujtaba B RimFrance2024-04-30Benton, John B Jr UNQUALIFIED2Onyama Limba
1041Jefferson O PoquetteArgentina2024-05-05Chapman, Ross E Esq RENEWAL70Onyama Limba
1042Johnson O TollnerAustralia2024-04-27Truhlar And Truhlar Attys UNQUALIFIED93Amy Elsner
1043Jeanfrancois O FigeroaFrance2024-05-16Chemel, James L Cpa UNQUALIFIED20Stephen Shaw
1044Alejandro L MaletFrance2024-05-25Rousseaux, Michael Esq NEW70Amy Elsner
1045Stacey V PerinGermany2024-05-01Rangoni Of Florence QUALIFIED23Asiya Javayant
1046Nicolas U OldroydItaly2024-05-15Rousseaux, Michael Esq RENEWAL30Anna Fali
1047Adams O BowleyArgentina2024-05-22Printing Dimensions NEGOTIATION32Amy Elsner
1048Faith W MorascaGermany2024-05-23Commercial Press NEGOTIATION10Xuxue Feng
1049Chavez X BologniaUnited Kingdom2024-05-07Rousseaux, Michael Esq QUALIFIED55Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki U BriddickGermanyAmy Elsner UNQUALIFIED
Juan Y SaylorsCanadaBernardo Dominic PROPOSAL
Aika F StockhamJapanAnna Fali RENEWAL
Jones T BriddickRussiaAnna Fali PROPOSAL
Ivar O MaletCanadaAmy Elsner RENEWAL
Munro J ButtGermanyOnyama Limba PROPOSAL
Darci Q AlbaresArgentinaAmy Elsner PROPOSAL
Aditya Q MaletUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore B ChuiArgentinaIoni Bowcher QUALIFIED
Nicolas C StockhamFranceIvan Magalhaes QUALIFIED
Salvatore T CampainSpainAnna Fali QUALIFIED
Ivar V MacleadBrazilAnna Fali QUALIFIED
Ivar S CaldareraBrazilAnna Fali NEW
Leja Y RimCanadaAmy Elsner QUALIFIED
Arvin I CaudyRussiaBernardo Dominic QUALIFIED
Smith K OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Emily I MarrierRussiaXuxue Feng QUALIFIED
Nicolas Y AmigonFranceElwin Sharvill NEGOTIATION
Misaki W MacleadIndiaOnyama Limba UNQUALIFIED
Ricardo U GillianItalyXuxue Feng QUALIFIED
Mayumi I WhobreyCanadaAnna Fali UNQUALIFIED
Clifford G GillianBrazilBernardo Dominic UNQUALIFIED
Darci U StensethIndiaAnna Fali UNQUALIFIED
Mujtaba M ButtGermanyXuxue Feng PROPOSAL
Stacey S BriddickBrazilOnyama Limba QUALIFIED
Kaitlin S RoysterFranceAmy Elsner RENEWAL
Aruna A WhobreyAustraliaBernardo Dominic NEGOTIATION
Izzy F DoeGermanyAnna Fali RENEWAL
Smith G MarrierFranceIoni Bowcher PROPOSAL
Alejandro R VocelkaGermanyIoni Bowcher UNQUALIFIED
Rodrigues E PoquetteIndiaOnyama Limba NEGOTIATION
Cody L BriddickSpainIoni Bowcher RENEWAL
Aika J RimAustraliaStephen Shaw UNQUALIFIED
Octavia H GauchoIndiaIvan Magalhaes PROPOSAL
Ivar I ButtFranceAnna Fali PROPOSAL
Munro P CaldareraAustraliaOnyama Limba NEGOTIATION
Maisha K IturbideRussiaAsiya Javayant UNQUALIFIED
Jefferson B ButtAustraliaOnyama Limba PROPOSAL
Salvatore Z ButtFranceStephen Shaw NEGOTIATION
Aditya A SlusarskiIndiaBernardo Dominic NEGOTIATION
Izzy W DilliardIndiaIvan Magalhaes PROPOSAL
Deepesh H MorascaCanadaIoni Bowcher PROPOSAL
Ivar R NestleCanadaIvan Magalhaes UNQUALIFIED
Tony Q SaylorsUnited KingdomXuxue Feng NEW
Emily F VenereSpainOnyama Limba QUALIFIED
Kaitlin D ShinkoFranceAsiya Javayant QUALIFIED
Julie Q AmigonBrazilAnna Fali PROPOSAL
Francesco Q MaletGermanyStephen Shaw NEGOTIATION
Claire D RulapaughArgentinaXuxue Feng QUALIFIED
Morrow A DoeArgentinaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Darci J Sergi
Stacey C Inouye
Darci O Sergi
Maisha T Bowley
Julie T Stenseth
Claire H Nicka
Izzy O Flosi
Izzy Z Caldarera
Cody N Amigon
Smith D Paprocki
Octavia X Gillian
Kaitlin O Butt
Aruna G Kolmetz
Mayumi O Poquette
Murillo Y Stenseth
Octavia E Royster
Clifford B Briddick
Chavez N Sergi
Murillo T Gaucho
Cody G Slusarski
Francesco K Doe
Salvatore X Glick
Deepesh H Kolmetz
Octavia F Campain
Aruna C Perin
Leon A Tollner
Smith B Waycott
Isabel C Nestle
Aruna A Saylors
Aika R Wieser
Nicolas N Shinko
David O Inouye
Sinclair S Whobrey
Stacey Q Slusarski
Mayumi M Slusarski
Murillo U Wieser
Francesco I Stenseth
Johnson Y Saylors
Aditya V Malet
Morrow I Ostrosky
Tony Y Iturbide
Mayumi J Foller
Stacey U Stenseth
Jones Z Ostrosky
Morrow O Gaucho
Leja F Sergi
Wickens C Stockham
Jennifer N Nicka
Murillo J Ferencz
Ivar W Bowley
IdCountryDate
1000Australia2024-05-04
1001Italy2024-05-25
1002Russia2024-04-27
1003India2024-05-18
1004Japan2024-04-30
1005Australia2024-05-09
1006India2024-05-05
1007Italy2024-05-08
1008Brazil2024-04-29
1009United Kingdom2024-05-15
1010Japan2024-05-12
1011Australia2024-05-14
1012United Kingdom2024-05-19
1013France2024-04-27
1014Japan2024-05-20
1015Australia2024-05-03
1016Spain2024-05-26
1017Canada2024-05-12
1018Australia2024-05-08
1019Japan2024-05-17
1020Canada2024-04-29
1021India2024-05-20
1022Canada2024-05-24
1023Japan2024-05-23
1024Brazil2024-05-20
1025United Kingdom2024-05-02
1026Italy2024-05-25
1027United Kingdom2024-05-14
1028United Kingdom2024-05-24
1029France2024-05-12
1030Spain2024-05-25
1031Spain2024-05-26
1032Germany2024-05-14
1033United Kingdom2024-05-22
1034India2024-05-25
1035France2024-05-04
1036Russia2024-05-26
1037Italy2024-05-01
1038Brazil2024-05-11
1039Australia2024-05-02
1040Australia2024-05-08
1041Italy2024-04-28
1042Canada2024-05-02
1043Japan2024-05-12
1044Australia2024-05-06
1045Australia2024-05-25
1046Russia2024-05-02
1047France2024-04-28
1048Canada2024-05-21
1049Australia2024-05-02

On-Demand Data

NameIdCountryDate
Ivar N Ostrosky1000Germany2024-05-26
Jeanfrancois X Gaucho1001Germany2024-05-05
Tony E Inouye1002Spain2024-05-15
Salvatore J Malet1003Australia2024-05-14
Kaitlin U Doe1004Japan2024-05-13
Ashley X Amigon1005Australia2024-05-06
Tony D Amigon1006Russia2024-04-28
Izzy Q Gaucho1007Germany2024-05-13
Munro Z Caudy1008Australia2024-05-25
Salvatore R Royster1009United Kingdom2024-05-20
Isabel Y Gillian1010Canada2024-05-13
Cody P Malet1011Argentina2024-05-21
Deepesh B Darakjy1012France2024-05-08
Jeanfrancois S Iturbide1013Australia2024-05-17
Stacey V Chui1014Spain2024-05-10
Johnson G Perin1015Spain2024-05-08
Juan C Garufi1016Canada2024-04-29
Sinclair O Gillian1017Germany2024-05-22
Julie D Oldroyd1018Argentina2024-04-29
Kaitlin T Amigon1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood H FerenczAustraliaXuxue Feng UNQUALIFIED
Cody U SlusarskiCanadaAsiya Javayant RENEWAL
Claire F RutaGermanyBernardo Dominic UNQUALIFIED
Mayumi I IturbideFranceAnna Fali RENEWAL
Ricardo A PerinAustraliaOnyama Limba NEW
Jeanfrancois P DoeUnited KingdomAsiya Javayant RENEWAL
Jennifer H VocelkaFranceAnna Fali QUALIFIED
Deepesh B BriddickFranceOnyama Limba QUALIFIED
Misaki L KuskoItalyOnyama Limba QUALIFIED
Arvin U GillianJapanAsiya Javayant RENEWAL
Greenwood U CampainIndiaIvan Magalhaes RENEWAL
Smith A WaycottGermanyAnna Fali UNQUALIFIED
Aruna Q PaprockiJapanAmy Elsner QUALIFIED
Izzy Q RimFranceBernardo Dominic NEW
Mujtaba D RoysterSpainIoni Bowcher RENEWAL
Silvio M PerinGermanyIvan Magalhaes PROPOSAL
Nicolas F RimArgentinaAnna Fali PROPOSAL
Faith J BowleyIndiaElwin Sharvill PROPOSAL
Julie J SaylorsIndiaAsiya Javayant QUALIFIED
Kadeem Q GarufiSpainStephen Shaw QUALIFIED
Mujtaba Z WhobreyBrazilStephen Shaw QUALIFIED
Kadeem U ChuiArgentinaAmy Elsner QUALIFIED
Jeanfrancois Q DoeCanadaIvan Magalhaes UNQUALIFIED
Claire S OldroydUnited KingdomAmy Elsner NEW
Kaitlin P SaylorsGermanyAnna Fali UNQUALIFIED
Izzy O GlickArgentinaIoni Bowcher QUALIFIED
Clifford N MarrierItalyElwin Sharvill NEGOTIATION
Mayumi V AlbaresFranceBernardo Dominic NEW
Maisha C MaletRussiaIoni Bowcher NEW
Izzy K GauchoIndiaAmy Elsner NEGOTIATION
Leja J InouyeCanadaOnyama Limba PROPOSAL
Darci C KuskoSpainAnna Fali PROPOSAL
Maisha L FigeroaItalyBernardo Dominic NEGOTIATION
Ivar F MarrierRussiaAsiya Javayant NEW
Chavez W ButtRussiaXuxue Feng QUALIFIED
Aruna D PerinBrazilElwin Sharvill RENEWAL
Claire R SlusarskiCanadaElwin Sharvill UNQUALIFIED
Deepesh R PerinArgentinaStephen Shaw PROPOSAL
Adams G PerinFranceAmy Elsner NEW
Jeanfrancois I BriddickBrazilOnyama Limba 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>