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
Kaitlin G GauchoUnited KingdomElwin Sharvill PROPOSAL
Izzy Z OldroydBrazilBernardo Dominic UNQUALIFIED
Jones C StensethGermanyIoni Bowcher UNQUALIFIED
Greenwood N PoquetteArgentinaAsiya Javayant QUALIFIED
Chavez Z BowleyItalyIvan Magalhaes NEGOTIATION
Munro N MaletBrazilElwin Sharvill UNQUALIFIED
Aika M DilliardRussiaOnyama Limba UNQUALIFIED
Antonio P FerenczItalyAnna Fali NEW
Sinclair B FigeroaIndiaBernardo Dominic NEGOTIATION
Jefferson Q PerinGermanyAmy Elsner NEW
James W MaletGermanyIvan Magalhaes NEGOTIATION
Maisha Q GlickIndiaIoni Bowcher NEGOTIATION
Aruna C WaycottFranceAmy Elsner NEGOTIATION
Aditya B VocelkaArgentinaOnyama Limba QUALIFIED
Julie C PaprockiAustraliaBernardo Dominic QUALIFIED
Chavez J OstroskyAustraliaIvan Magalhaes RENEWAL
Tony X ChuiCanadaAnna Fali UNQUALIFIED
Cody K MaletGermanyIvan Magalhaes NEW
Maisha O MacleadRussiaIvan Magalhaes NEW
Cody S ButtRussiaAsiya Javayant NEGOTIATION
Munro V ChuiItalyAmy Elsner RENEWAL
Maisha Z DarakjyArgentinaAmy Elsner NEW
Salvatore W StockhamAustraliaXuxue Feng RENEWAL
Aditya O RulapaughArgentinaXuxue Feng PROPOSAL
Ricardo Q VocelkaItalyBernardo Dominic QUALIFIED
Munro T VenereBrazilStephen Shaw UNQUALIFIED
Jefferson G GauchoUnited KingdomOnyama Limba NEGOTIATION
Clifford D IturbideFranceIvan Magalhaes RENEWAL
Misaki W FigeroaFranceStephen Shaw PROPOSAL
Octavia G CaldareraUnited KingdomAmy Elsner NEW
Johnson D KolmetzItalyOnyama Limba PROPOSAL
Claire B KolmetzUnited KingdomIvan Magalhaes NEW
Ivar Q SergiItalyIvan Magalhaes NEGOTIATION
Leon M CampainSpainAmy Elsner NEGOTIATION
Sinclair O DarakjyAustraliaBernardo Dominic NEGOTIATION
Morrow R SaylorsRussiaIvan Magalhaes RENEWAL
Mayumi S VenereArgentinaIvan Magalhaes UNQUALIFIED
Misaki B OldroydGermanyStephen Shaw RENEWAL
Adams U MorascaUnited KingdomBernardo Dominic PROPOSAL
Isabel I RoysterIndiaStephen Shaw NEGOTIATION
Adams A SlusarskiItalyIvan Magalhaes NEGOTIATION
Cody G CampainItalyAmy Elsner QUALIFIED
Claire P VenereRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois L PerinUnited KingdomAmy Elsner NEW
Leon Z WaycottSpainXuxue Feng PROPOSAL
Jennifer S MaletSpainAsiya Javayant QUALIFIED
Tony R FlosiGermanyIvan Magalhaes PROPOSAL
Murillo Q RulapaughIndiaOnyama Limba PROPOSAL
James P FlosiItalyAsiya Javayant PROPOSAL
Nicolas C WaycottUnited KingdomStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha T GarufiBrazilStephen Shaw RENEWAL
Maria I MaletCanadaStephen Shaw NEGOTIATION
Deepesh P MaletAustraliaElwin Sharvill PROPOSAL
Greenwood G DarakjyRussiaAsiya Javayant PROPOSAL
Octavia F AlbaresIndiaBernardo Dominic NEGOTIATION
Aditya J BowleyJapanIvan Magalhaes NEGOTIATION
Jennifer H VocelkaCanadaBernardo Dominic NEGOTIATION
Izzy W KuskoBrazilOnyama Limba QUALIFIED
Nicolas F DarakjyBrazilStephen Shaw NEGOTIATION
Smith P GillianUnited KingdomStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia A TollnerCanada2024-05-27Chemel, James L Cpa PROPOSAL40Ivan Magalhaes
1001Ricardo L DarakjyBrazil2024-06-20Feiner Bros QUALIFIED56Elwin Sharvill
1002Johnson L OstroskyArgentina2024-05-30Morlong Associates PROPOSAL3Ivan Magalhaes
1003Salvatore H TollnerGermany2024-06-18Morlong Associates NEW3Xuxue Feng
1004Darci U NickaItaly2024-06-21Morlong Associates NEW47Asiya Javayant
1005Izzy B KuskoJapan2024-06-16Chemel, James L Cpa NEW45Ioni Bowcher
1006Tony J GarufiSpain2024-06-22King, Christopher A Esq UNQUALIFIED94Elwin Sharvill
1007Mujtaba D SchemmerJapan2024-06-02Truhlar And Truhlar Attys QUALIFIED35Elwin Sharvill
1008Tony D NestleGermany2024-06-04Rousseaux, Michael Esq NEW75Anna Fali
1009Ashley M MorascaCanada2024-06-17Feiner Bros NEW97Elwin Sharvill
1010Julie P StensethJapan2024-06-13Buckley Miller Wright NEGOTIATION90Ioni Bowcher
1011Ivar E OldroydBrazil2024-05-28Benton, John B Jr NEGOTIATION15Onyama Limba
1012Sinclair A KuskoIndia2024-05-27Chapman, Ross E Esq UNQUALIFIED36Ioni Bowcher
1013Mayumi L WieserAustralia2024-06-06Benton, John B Jr UNQUALIFIED28Ivan Magalhaes
1014Ricardo E OstroskyIndia2024-06-05Truhlar And Truhlar Attys NEW11Elwin Sharvill
1015Kaitlin U MorascaArgentina2024-06-22Morlong Associates UNQUALIFIED98Ioni Bowcher
1016Francesco K SchemmerGermany2024-06-09Benton, John B Jr NEW79Stephen Shaw
1017Leja W GauchoGermany2024-05-31Commercial Press PROPOSAL38Bernardo Dominic
1018Morrow S OstroskyBrazil2024-05-29Commercial Press NEW53Elwin Sharvill
1019Isabel X KuskoFrance2024-06-24Feltz Printing Service UNQUALIFIED24Ioni Bowcher
1020Jeanfrancois C VenereCanada2024-06-03Rangoni Of Florence RENEWAL0Amy Elsner
1021Greenwood I SlusarskiJapan2024-06-22Chemel, James L Cpa UNQUALIFIED45Elwin Sharvill
1022Aruna K RimUnited Kingdom2024-06-20Chapman, Ross E Esq PROPOSAL68Xuxue Feng
1023Morrow G RulapaughBrazil2024-06-02Buckley Miller Wright PROPOSAL28Ioni Bowcher
1024Adams M PerinGermany2024-05-28Rousseaux, Michael Esq NEGOTIATION19Xuxue Feng
1025Costa T CaldareraIndia2024-06-06King, Christopher A Esq PROPOSAL75Anna Fali
1026James X OstroskyIndia2024-06-19Rangoni Of Florence UNQUALIFIED7Stephen Shaw
1027Misaki N ChuiCanada2024-06-23Truhlar And Truhlar Attys QUALIFIED30Bernardo Dominic
1028Emily I BologniaItaly2024-06-20Benton, John B Jr PROPOSAL10Onyama Limba
1029Jeanfrancois L GarufiArgentina2024-06-09Morlong Associates RENEWAL93Onyama Limba
1030Murillo J MorascaCanada2024-05-30Chanay, Jeffrey A Esq PROPOSAL3Ivan Magalhaes
1031Leja F PoquetteRussia2024-06-08Chanay, Jeffrey A Esq QUALIFIED50Stephen Shaw
1032Jefferson D PaprockiRussia2024-06-24Benton, John B Jr NEGOTIATION93Amy Elsner
1033Maisha Z BriddickSpain2024-06-03Commercial Press PROPOSAL74Asiya Javayant
1034Nicolas R DoeBrazil2024-06-08Feiner Bros NEW65Stephen Shaw
1035Adams Z KuskoGermany2024-05-29Buckley Miller Wright PROPOSAL64Amy Elsner
1036Deepesh W GillianIndia2024-06-23Rangoni Of Florence PROPOSAL10Xuxue Feng
1037Silvio H StensethBrazil2024-06-17Rangoni Of Florence QUALIFIED41Anna Fali
1038Alejandro D RimAustralia2024-06-14Buckley Miller Wright PROPOSAL29Anna Fali
1039Johnson T RulapaughIndia2024-05-28Chanay, Jeffrey A Esq NEW9Xuxue Feng
1040Misaki Q MaletSpain2024-06-16Rousseaux, Michael Esq UNQUALIFIED98Stephen Shaw
1041Darci P ButtBrazil2024-06-11Feiner Bros UNQUALIFIED16Anna Fali
1042Darci M MarrierJapan2024-06-03Chemel, James L Cpa PROPOSAL14Stephen Shaw
1043Arvin Q WaycottJapan2024-06-17Feltz Printing Service QUALIFIED67Ivan Magalhaes
1044Maria F TollnerCanada2024-06-14Chanay, Jeffrey A Esq NEGOTIATION64Bernardo Dominic
1045Jennifer I RutaIndia2024-06-21Chapman, Ross E Esq QUALIFIED76Ioni Bowcher
1046Leon E PoquetteBrazil2024-06-20Printing Dimensions RENEWAL90Xuxue Feng
1047Maisha M ChuiGermany2024-06-04Chemel, James L Cpa RENEWAL54Ioni Bowcher
1048Aika B BriddickRussia2024-06-14Morlong Associates NEGOTIATION51Amy Elsner
1049Aruna U CampainUnited Kingdom2024-06-18Chemel, James L Cpa PROPOSAL41Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R MaletCanadaXuxue Feng UNQUALIFIED
Jeanfrancois X NestleRussiaStephen Shaw NEGOTIATION
Francesco Z GauchoArgentinaIvan Magalhaes QUALIFIED
Kadeem Y KolmetzBrazilXuxue Feng QUALIFIED
Jones B StockhamCanadaBernardo Dominic UNQUALIFIED
Munro I GillianBrazilOnyama Limba QUALIFIED
Cody M CaldareraJapanAnna Fali NEGOTIATION
Greenwood B AlbaresBrazilXuxue Feng QUALIFIED
Jones K MorascaAustraliaOnyama Limba NEGOTIATION
Jeanfrancois Y InouyeJapanXuxue Feng NEW
Aruna V PoquetteItalyAnna Fali QUALIFIED
Antonio S CaldareraArgentinaXuxue Feng QUALIFIED
Johnson L AmigonArgentinaIoni Bowcher RENEWAL
Mayumi J SchemmerJapanXuxue Feng NEGOTIATION
Francesco Q PerinAustraliaIoni Bowcher PROPOSAL
Ivar U KuskoUnited KingdomXuxue Feng NEGOTIATION
Aruna T DoeCanadaStephen Shaw NEGOTIATION
Jones F GillianCanadaOnyama Limba NEW
Jeanfrancois I ButtJapanBernardo Dominic QUALIFIED
Mujtaba T MaletItalyIoni Bowcher QUALIFIED
Silvio I AlbaresSpainAsiya Javayant NEW
Morrow Z SchemmerCanadaOnyama Limba RENEWAL
Octavia L StockhamJapanBernardo Dominic NEW
Maisha D FerenczJapanXuxue Feng PROPOSAL
Sinclair F RulapaughSpainStephen Shaw NEGOTIATION
Darci J KolmetzJapanAmy Elsner PROPOSAL
Darci B GillianGermanyBernardo Dominic QUALIFIED
Aika Z WhobreySpainAsiya Javayant PROPOSAL
Mayumi G MaletAustraliaIoni Bowcher NEW
Clifford R ShinkoGermanyAnna Fali QUALIFIED
Smith U DoeArgentinaAnna Fali NEGOTIATION
Mayumi M PaprockiJapanAnna Fali NEW
Ivar S BriddickRussiaAmy Elsner UNQUALIFIED
Johnson Q RulapaughGermanyStephen Shaw NEW
Mayumi U GauchoGermanyBernardo Dominic PROPOSAL
Adams Q ChuiArgentinaIoni Bowcher PROPOSAL
Smith K GillianArgentinaAmy Elsner RENEWAL
Murillo S PoquetteRussiaIvan Magalhaes NEGOTIATION
Juan S GlickArgentinaAsiya Javayant QUALIFIED
Antonio L BowleyItalyBernardo Dominic NEGOTIATION
Stacey O SergiBrazilElwin Sharvill UNQUALIFIED
Jefferson X WieserRussiaAmy Elsner NEGOTIATION
David J RimSpainXuxue Feng QUALIFIED
Isabel F GillianAustraliaIvan Magalhaes QUALIFIED
Aruna S BowleyGermanyElwin Sharvill RENEWAL
Wickens Y FerenczItalyElwin Sharvill NEGOTIATION
Sinclair H BowleyAustraliaBernardo Dominic QUALIFIED
Silvio M CampainArgentinaXuxue Feng RENEWAL
Aditya K IturbideAustraliaAsiya Javayant RENEWAL
David O MarrierArgentinaIoni Bowcher NEW
Frozen Columns
Name
Octavia R Ostrosky
Mujtaba O Stenseth
Morrow E Inouye
Jennifer Q Rulapaugh
Costa S Tollner
Faith K Ruta
Emily O Chui
Adams I Dilliard
Mujtaba M Whobrey
Kaitlin M Foller
Cody E Bowley
Leon H Ostrosky
Izzy Q Kusko
Maria P Kolmetz
Claire Q Gillian
Ivar Q Figeroa
Ashley L Paprocki
Chavez R Inouye
Wickens N Iturbide
Munro C Oldroyd
Rodrigues D Glick
Izzy B Sergi
Murillo B Briddick
Arvin X Oldroyd
Alejandro Z Stockham
Kaitlin M Albares
Ricardo S Wieser
Salvatore X Gillian
Emily Q Malet
Mayumi C Vocelka
Aditya Z Iturbide
Izzy U Nicka
Maisha R Ostrosky
Maisha T Flosi
Ricardo N Poquette
Antonio H Glick
Izzy H Poquette
Jefferson S Poquette
David O Nestle
David U Malet
Munro V Chui
Darci F Kolmetz
Tony F Caudy
Greenwood B Iturbide
Costa M Glick
Clifford K Kolmetz
Chavez U Gaucho
Jefferson P Dilliard
David V Albares
Alejandro Z Saylors
IdCountryDate
1000Russia2024-06-06
1001Canada2024-06-11
1002France2024-06-06
1003France2024-05-26
1004Japan2024-05-30
1005Canada2024-06-02
1006Canada2024-05-31
1007Spain2024-06-15
1008India2024-06-24
1009Italy2024-05-28
1010United Kingdom2024-06-05
1011Argentina2024-06-11
1012Germany2024-06-04
1013United Kingdom2024-06-12
1014Canada2024-06-13
1015Australia2024-06-10
1016Spain2024-06-10
1017Japan2024-06-03
1018India2024-06-05
1019Russia2024-06-07
1020India2024-05-31
1021United Kingdom2024-06-10
1022India2024-06-23
1023France2024-06-01
1024Canada2024-05-31
1025Italy2024-05-31
1026United Kingdom2024-06-12
1027Argentina2024-06-18
1028India2024-05-26
1029Russia2024-05-29
1030United Kingdom2024-06-24
1031Spain2024-06-24
1032Italy2024-06-09
1033Argentina2024-06-16
1034United Kingdom2024-05-26
1035Brazil2024-05-26
1036United Kingdom2024-06-11
1037France2024-06-20
1038Italy2024-05-30
1039Brazil2024-05-31
1040Australia2024-06-11
1041Canada2024-06-19
1042United Kingdom2024-06-08
1043Argentina2024-06-03
1044Japan2024-06-23
1045Germany2024-06-07
1046United Kingdom2024-06-01
1047Spain2024-06-05
1048India2024-06-20
1049Germany2024-06-07

On-Demand Data

NameIdCountryDate
Munro N Gaucho1000Canada2024-05-30
Costa V Paprocki1001United Kingdom2024-06-24
Claire R Marrier1002United Kingdom2024-06-12
Jefferson N Rim1003Canada2024-06-23
Arvin I Saylors1004Spain2024-06-08
Deepesh Y Glick1005Spain2024-06-23
Stacey B Wieser1006United Kingdom2024-05-30
Silvio Z Doe1007Argentina2024-06-09
Aika A Briddick1008Japan2024-06-24
Salvatore E Stockham1009France2024-06-08
Misaki M Slusarski1010Brazil2024-06-18
Aditya N Bolognia1011Italy2024-06-02
Octavia K Tollner1012Argentina2024-06-23
Chavez M Dilliard1013Brazil2024-06-03
Aditya L Ostrosky1014Germany2024-06-24
Salvatore C Saylors1015Germany2024-05-30
Claire M Schemmer1016Japan2024-06-22
Izzy D Perin1017Brazil2024-06-18
Leja V Paprocki1018Brazil2024-06-22
Wickens I Venere1019Canada2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire L FollerBrazilAnna Fali UNQUALIFIED
Sinclair J NickaJapanStephen Shaw PROPOSAL
Murillo N RulapaughRussiaAnna Fali UNQUALIFIED
Arvin Q PoquetteIndiaAmy Elsner RENEWAL
Ricardo A SchemmerCanadaIoni Bowcher UNQUALIFIED
Kadeem R VocelkaSpainAnna Fali NEW
Isabel R ShinkoRussiaOnyama Limba QUALIFIED
Alejandro H OldroydJapanAnna Fali PROPOSAL
Mayumi H TollnerJapanIvan Magalhaes NEGOTIATION
Ashley Z BriddickSpainAmy Elsner NEW
Deepesh C KolmetzItalyIoni Bowcher NEW
Maria T CaudyItalyIoni Bowcher PROPOSAL
Chavez B BowleyIndiaAmy Elsner PROPOSAL
Arvin Z OstroskyItalyAsiya Javayant PROPOSAL
Smith B PoquetteArgentinaBernardo Dominic PROPOSAL
Alejandro O PaprockiAustraliaBernardo Dominic RENEWAL
Adams F GlickFranceAmy Elsner QUALIFIED
Aika K IturbideSpainOnyama Limba NEW
Faith F RoysterFranceStephen Shaw QUALIFIED
Julie A SlusarskiSpainOnyama Limba NEGOTIATION
Maria Y KolmetzUnited KingdomAnna Fali QUALIFIED
Juan B IturbideArgentinaAmy Elsner NEW
David S WhobreyIndiaAmy Elsner QUALIFIED
Jefferson X PaprockiGermanyAmy Elsner UNQUALIFIED
Smith Q FigeroaJapanXuxue Feng UNQUALIFIED
Claire N GauchoIndiaBernardo Dominic NEGOTIATION
Leon W MarrierArgentinaIoni Bowcher NEW
Ricardo M DarakjyArgentinaAnna Fali QUALIFIED
Clifford Q RoysterAustraliaBernardo Dominic UNQUALIFIED
Leja F GarufiGermanyElwin Sharvill NEW
Octavia Q SaylorsItalyAsiya Javayant QUALIFIED
Isabel M BowleySpainStephen Shaw QUALIFIED
Kaitlin P RimFranceIvan Magalhaes QUALIFIED
Nicolas O VocelkaCanadaBernardo Dominic RENEWAL
Octavia N AlbaresBrazilStephen Shaw QUALIFIED
James G NestleUnited KingdomAsiya Javayant PROPOSAL
Smith Z ShinkoArgentinaAsiya Javayant UNQUALIFIED
James T NickaFranceStephen Shaw QUALIFIED
Misaki V VenereArgentinaAsiya Javayant RENEWAL
Jennifer Y VocelkaJapanStephen Shaw 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>