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
Claire M MarrierItalyAnna Fali NEW
Tony M OstroskyGermanyElwin Sharvill QUALIFIED
Ricardo K VenereSpainXuxue Feng PROPOSAL
Aruna P AlbaresJapanElwin Sharvill UNQUALIFIED
Aruna D KuskoFranceAmy Elsner NEW
Isabel A SaylorsFranceAsiya Javayant PROPOSAL
Julie D CaudyArgentinaStephen Shaw QUALIFIED
Misaki X BriddickRussiaStephen Shaw NEW
Mayumi X SergiGermanyXuxue Feng RENEWAL
Kadeem B MarrierAustraliaBernardo Dominic RENEWAL
Wickens C WieserJapanAsiya Javayant PROPOSAL
Deepesh B CampainUnited KingdomAnna Fali UNQUALIFIED
Munro G RulapaughRussiaXuxue Feng UNQUALIFIED
Johnson Z MacleadCanadaIoni Bowcher NEW
Maria U PoquetteRussiaAmy Elsner PROPOSAL
Munro E CaudyItalyAnna Fali NEW
Kadeem C ChuiUnited KingdomAnna Fali RENEWAL
Ricardo Y StockhamArgentinaAnna Fali NEGOTIATION
Maria Y OstroskyArgentinaIoni Bowcher UNQUALIFIED
Octavia N BowleyAustraliaAnna Fali NEGOTIATION
Chavez B GlickGermanyOnyama Limba QUALIFIED
Ivar N VocelkaGermanyIvan Magalhaes RENEWAL
Kaitlin N SlusarskiItalyAnna Fali PROPOSAL
Mayumi T RimUnited KingdomIoni Bowcher QUALIFIED
Ivar Q GlickIndiaXuxue Feng NEW
Antonio P CaldareraGermanyIvan Magalhaes UNQUALIFIED
Faith Z GarufiUnited KingdomAnna Fali UNQUALIFIED
Claire W AlbaresJapanBernardo Dominic NEGOTIATION
Jones N InouyeGermanyAsiya Javayant PROPOSAL
Arvin W BowleyRussiaElwin Sharvill UNQUALIFIED
Clifford Q SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Aika W WhobreyGermanyIoni Bowcher PROPOSAL
Claire F MorascaFranceIvan Magalhaes NEW
Mujtaba S PaprockiItalyOnyama Limba QUALIFIED
Octavia F MaletUnited KingdomAnna Fali NEGOTIATION
Claire M VenereAustraliaIoni Bowcher UNQUALIFIED
Salvatore Z KolmetzCanadaStephen Shaw QUALIFIED
Misaki G IturbideItalyXuxue Feng NEGOTIATION
Aditya S ButtBrazilAmy Elsner NEGOTIATION
Ricardo U MarrierUnited KingdomElwin Sharvill QUALIFIED
Wickens D TollnerJapanIvan Magalhaes RENEWAL
Smith J CampainIndiaElwin Sharvill NEW
Isabel T StockhamAustraliaAnna Fali NEW
Claire K DarakjyRussiaAnna Fali QUALIFIED
Ashley M PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson O NickaItalyBernardo Dominic PROPOSAL
Faith H NestleIndiaStephen Shaw UNQUALIFIED
Octavia R DilliardFranceOnyama Limba UNQUALIFIED
Jefferson O PoquetteArgentinaXuxue Feng NEW
Antonio K FigeroaIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson T IturbideRussiaStephen Shaw NEW
Cody M CaudyJapanIvan Magalhaes NEGOTIATION
Munro Z NestleSpainBernardo Dominic RENEWAL
Faith F OstroskyItalyIoni Bowcher RENEWAL
Cody M BologniaCanadaXuxue Feng NEW
Mayumi R GlickRussiaElwin Sharvill NEW
Greenwood H FigeroaBrazilBernardo Dominic UNQUALIFIED
Wickens Y GlickRussiaStephen Shaw RENEWAL
Francesco W CaudyBrazilIoni Bowcher RENEWAL
Adams O IturbideGermanyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Z FerenczRussia2024-05-27Feiner Bros NEW27Xuxue Feng
1001Deepesh Z VenereRussia2024-06-17Truhlar And Truhlar Attys UNQUALIFIED92Xuxue Feng
1002Ashley X NestleGermany2024-06-10Rousseaux, Michael Esq NEGOTIATION79Amy Elsner
1003Maria K FigeroaGermany2024-06-18Chanay, Jeffrey A Esq RENEWAL78Ivan Magalhaes
1004Salvatore L MacleadFrance2024-06-18Feiner Bros UNQUALIFIED54Anna Fali
1005Arvin U KolmetzArgentina2024-06-17Chapman, Ross E Esq RENEWAL89Onyama Limba
1006Faith S NestleUnited Kingdom2024-05-28Chapman, Ross E Esq NEGOTIATION59Ivan Magalhaes
1007Francesco N DilliardUnited Kingdom2024-06-22Feltz Printing Service PROPOSAL50Onyama Limba
1008Emily J KuskoIndia2024-05-30Rangoni Of Florence PROPOSAL95Elwin Sharvill
1009Deepesh U BriddickJapan2024-06-22Benton, John B Jr UNQUALIFIED30Xuxue Feng
1010Tony K CaudySpain2024-06-05Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1011David Q FerenczSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED95Asiya Javayant
1012Izzy F NickaItaly2024-05-25Rousseaux, Michael Esq NEW52Ivan Magalhaes
1013Johnson D RimSpain2024-06-01Commercial Press QUALIFIED13Anna Fali
1014Juan I SchemmerGermany2024-05-29Benton, John B Jr NEGOTIATION96Ioni Bowcher
1015Aika V GlickBrazil2024-06-15Chemel, James L Cpa NEGOTIATION52Onyama Limba
1016Francesco Q FigeroaAustralia2024-06-14Morlong Associates NEW15Elwin Sharvill
1017Izzy B ChuiJapan2024-06-13King, Christopher A Esq NEW3Ivan Magalhaes
1018James C FollerRussia2024-06-05Chemel, James L Cpa PROPOSAL55Onyama Limba
1019Emily X IturbideGermany2024-06-15Chemel, James L Cpa NEW99Ivan Magalhaes
1020Clifford P ChuiUnited Kingdom2024-06-04Chemel, James L Cpa NEGOTIATION59Anna Fali
1021Adams P KuskoJapan2024-06-06Truhlar And Truhlar Attys PROPOSAL95Onyama Limba
1022Darci C KuskoJapan2024-06-06Rousseaux, Michael Esq RENEWAL57Bernardo Dominic
1023Nicolas O SaylorsCanada2024-06-03Rousseaux, Michael Esq UNQUALIFIED62Bernardo Dominic
1024Kadeem C MaletJapan2024-06-22Morlong Associates QUALIFIED94Stephen Shaw
1025Claire P StockhamBrazil2024-06-11Truhlar And Truhlar Attys UNQUALIFIED63Stephen Shaw
1026Faith V ShinkoFrance2024-06-17Rousseaux, Michael Esq QUALIFIED70Amy Elsner
1027Rodrigues E BowleyRussia2024-06-16Feiner Bros UNQUALIFIED85Stephen Shaw
1028Leon R BowleyAustralia2024-05-30Morlong Associates NEW11Anna Fali
1029Clifford R RulapaughBrazil2024-06-13Rangoni Of Florence NEW14Anna Fali
1030Juan H BologniaGermany2024-05-27Printing Dimensions NEGOTIATION88Stephen Shaw
1031Greenwood Y WaycottJapan2024-06-03Rousseaux, Michael Esq PROPOSAL11Anna Fali
1032Jones V RulapaughIndia2024-05-27Truhlar And Truhlar Attys QUALIFIED40Anna Fali
1033Jones Z ChuiBrazil2024-06-04Chapman, Ross E Esq NEW66Bernardo Dominic
1034Misaki X MarrierAustralia2024-05-26Rangoni Of Florence RENEWAL80Onyama Limba
1035Jeanfrancois W VenereSpain2024-06-17Morlong Associates RENEWAL83Xuxue Feng
1036Claire A PoquetteBrazil2024-06-02Chapman, Ross E Esq RENEWAL81Anna Fali
1037Mayumi P GauchoRussia2024-06-16Chemel, James L Cpa PROPOSAL7Xuxue Feng
1038Greenwood H MorascaBrazil2024-05-27Printing Dimensions RENEWAL72Anna Fali
1039Cody F DarakjyGermany2024-06-14Benton, John B Jr NEGOTIATION60Ivan Magalhaes
1040Stacey I AmigonBrazil2024-06-14Buckley Miller Wright NEGOTIATION91Onyama Limba
1041Deepesh Z RoysterRussia2024-06-06Morlong Associates PROPOSAL18Bernardo Dominic
1042Munro N NestleGermany2024-06-12Rangoni Of Florence UNQUALIFIED6Xuxue Feng
1043Ricardo N CampainItaly2024-06-04Buckley Miller Wright NEW86Bernardo Dominic
1044Arvin F AlbaresJapan2024-05-30Benton, John B Jr RENEWAL28Xuxue Feng
1045Johnson E SchemmerArgentina2024-06-12Buckley Miller Wright NEGOTIATION96Onyama Limba
1046Greenwood R GillianGermany2024-05-27Feiner Bros QUALIFIED24Ioni Bowcher
1047Stacey A MaletArgentina2024-06-12Rousseaux, Michael Esq PROPOSAL77Anna Fali
1048Nicolas P RulapaughBrazil2024-05-29Feltz Printing Service UNQUALIFIED40Ivan Magalhaes
1049Leon W RoysterUnited Kingdom2024-05-27Benton, John B Jr NEW50Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones Y MaletCanadaStephen Shaw QUALIFIED
Mujtaba M WhobreyRussiaElwin Sharvill RENEWAL
Claire C RoysterIndiaElwin Sharvill NEW
Maria M DarakjyGermanyIoni Bowcher UNQUALIFIED
Leon F VenereFranceAnna Fali QUALIFIED
Silvio Q AmigonUnited KingdomAsiya Javayant RENEWAL
Cody C DarakjyIndiaIvan Magalhaes UNQUALIFIED
Jennifer X StensethRussiaAnna Fali NEW
Wickens F FerenczSpainOnyama Limba UNQUALIFIED
Clifford U ShinkoGermanyElwin Sharvill UNQUALIFIED
Arvin T MaletUnited KingdomXuxue Feng NEW
Leja J RoysterRussiaAmy Elsner QUALIFIED
Jeanfrancois M MaletIndiaBernardo Dominic NEGOTIATION
Clifford B RutaBrazilAsiya Javayant PROPOSAL
Izzy M SaylorsCanadaIvan Magalhaes UNQUALIFIED
Morrow U ShinkoCanadaStephen Shaw RENEWAL
Aditya Y RutaRussiaAmy Elsner RENEWAL
Antonio H OldroydFranceIvan Magalhaes QUALIFIED
Stacey E MacleadJapanAsiya Javayant QUALIFIED
Claire H MacleadSpainBernardo Dominic QUALIFIED
Isabel E AlbaresFranceXuxue Feng NEGOTIATION
Sinclair O RutaBrazilBernardo Dominic QUALIFIED
Jefferson A CaudyFranceAmy Elsner NEW
Cody B BriddickIndiaStephen Shaw NEGOTIATION
Morrow B NestleRussiaAnna Fali PROPOSAL
Greenwood W MaletCanadaStephen Shaw PROPOSAL
Ashley E DoeSpainIvan Magalhaes QUALIFIED
Leja D WieserJapanAmy Elsner NEGOTIATION
Munro P WhobreySpainIoni Bowcher PROPOSAL
Cody R RoysterBrazilIoni Bowcher NEW
Mujtaba K SergiArgentinaElwin Sharvill RENEWAL
Greenwood B GillianBrazilAnna Fali UNQUALIFIED
Salvatore O MaletIndiaOnyama Limba RENEWAL
Emily P VocelkaCanadaIoni Bowcher NEGOTIATION
Julie P CaudyJapanAmy Elsner NEW
Misaki Z IturbideRussiaOnyama Limba QUALIFIED
Jefferson C PerinGermanyOnyama Limba QUALIFIED
Juan W FollerAustraliaIoni Bowcher UNQUALIFIED
Faith U MorascaArgentinaOnyama Limba RENEWAL
Darci E AmigonGermanyStephen Shaw NEW
Leja O RulapaughArgentinaAmy Elsner UNQUALIFIED
Misaki O SaylorsArgentinaStephen Shaw NEGOTIATION
Leon D BriddickItalyAnna Fali UNQUALIFIED
Sinclair P FerenczGermanyBernardo Dominic PROPOSAL
Francesco P MaletUnited KingdomBernardo Dominic NEW
Antonio H PoquetteFranceOnyama Limba NEW
Kadeem Q GillianBrazilAmy Elsner NEW
Maria T AlbaresArgentinaAsiya Javayant NEGOTIATION
Murillo X RulapaughGermanyStephen Shaw NEW
Adams R IturbideBrazilStephen Shaw NEW
Frozen Columns
Name
Misaki K Kolmetz
Greenwood I Paprocki
Ivar G Royster
Emily O Doe
Sinclair Z Ostrosky
Munro O Amigon
Maisha E Figeroa
Greenwood T Albares
Maria J Doe
Chavez Y Doe
Salvatore S Stenseth
Isabel F Sergi
Mayumi X Gillian
Alejandro A Garufi
Leja I Gaucho
Isabel H Vocelka
Johnson G Briddick
Jennifer I Nicka
Leja J Royster
Ivar D Nicka
Octavia V Nestle
Misaki O Caudy
Mujtaba L Ruta
Isabel N Albares
Misaki R Morasca
Julie L Garufi
Francesco K Gaucho
Ashley O Albares
Jones S Ostrosky
Johnson X Gaucho
David H Caudy
Maisha W Flosi
Murillo S Bolognia
Clifford L Royster
Tony A Figeroa
Mujtaba V Perin
Ivar X Ferencz
Tony K Bolognia
Alejandro S Caudy
Clifford X Marrier
Kadeem L Kusko
Nicolas B Poquette
Izzy D Schemmer
Mujtaba U Ostrosky
Kadeem B Darakjy
Cody V Foller
Darci R Butt
Tony Z Perin
Tony I Chui
Jones X Slusarski
IdCountryDate
1000France2024-06-08
1001Brazil2024-06-16
1002Japan2024-06-06
1003Germany2024-06-07
1004India2024-05-29
1005United Kingdom2024-05-27
1006France2024-06-09
1007Australia2024-05-27
1008Canada2024-06-15
1009Brazil2024-06-22
1010Spain2024-06-05
1011Canada2024-05-29
1012Japan2024-06-19
1013Germany2024-05-31
1014Canada2024-05-25
1015Japan2024-06-08
1016Argentina2024-05-31
1017Germany2024-06-15
1018Italy2024-06-13
1019Brazil2024-06-07
1020Japan2024-06-22
1021Russia2024-05-26
1022United Kingdom2024-05-27
1023Brazil2024-06-15
1024Spain2024-06-17
1025Spain2024-05-30
1026Australia2024-06-06
1027Brazil2024-06-01
1028Spain2024-06-01
1029Italy2024-05-31
1030Russia2024-06-09
1031United Kingdom2024-06-01
1032France2024-06-09
1033Germany2024-05-27
1034Canada2024-06-17
1035Germany2024-06-05
1036France2024-05-28
1037Canada2024-06-06
1038Japan2024-06-21
1039Australia2024-06-21
1040Argentina2024-06-19
1041Spain2024-05-26
1042Argentina2024-05-31
1043France2024-05-29
1044Australia2024-05-31
1045United Kingdom2024-06-03
1046Germany2024-06-02
1047Canada2024-06-19
1048India2024-06-08
1049Italy2024-06-22

On-Demand Data

NameIdCountryDate
Darci X Doe1000Italy2024-05-31
Leja G Gaucho1001Germany2024-06-14
Misaki V Poquette1002India2024-06-22
Silvio V Gaucho1003Brazil2024-06-08
Munro T Rulapaugh1004Russia2024-06-04
Nicolas F Morasca1005India2024-05-29
James U Tollner1006Japan2024-06-11
Ricardo Z Malet1007Brazil2024-06-18
Francesco K Venere1008United Kingdom2024-06-03
Salvatore B Kolmetz1009Italy2024-06-12
Rodrigues I Shinko1010Argentina2024-06-10
Stacey W Inouye1011France2024-06-14
Silvio R Malet1012United Kingdom2024-06-01
Faith P Kusko1013France2024-06-05
Cody K Kolmetz1014India2024-05-30
Octavia Z Morasca1015India2024-05-26
Leja U Marrier1016Brazil2024-06-09
Jeanfrancois X Nestle1017France2024-06-02
Jones N Rulapaugh1018Argentina2024-05-28
Izzy Z Morasca1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J RutaCanadaOnyama Limba UNQUALIFIED
Chavez Y DilliardGermanyStephen Shaw QUALIFIED
Greenwood V ChuiAustraliaOnyama Limba NEGOTIATION
Jefferson E FlosiAustraliaElwin Sharvill NEW
Tony J CaldareraRussiaOnyama Limba NEW
James L MaletBrazilAmy Elsner RENEWAL
Misaki L DarakjyArgentinaIvan Magalhaes QUALIFIED
Sinclair B TollnerSpainIoni Bowcher NEGOTIATION
Alejandro L KuskoSpainIoni Bowcher RENEWAL
Costa Q CaudyGermanyIoni Bowcher RENEWAL
Francesco L VenereSpainBernardo Dominic NEW
Leja W GarufiCanadaBernardo Dominic UNQUALIFIED
Deepesh H PoquetteFranceBernardo Dominic RENEWAL
Julie N KuskoBrazilAsiya Javayant UNQUALIFIED
Maisha B TollnerIndiaAnna Fali QUALIFIED
Juan Z RulapaughCanadaAsiya Javayant QUALIFIED
Emily E MarrierJapanAnna Fali UNQUALIFIED
David L MaletAustraliaOnyama Limba UNQUALIFIED
Rodrigues O PerinItalyXuxue Feng NEGOTIATION
Smith L OldroydArgentinaOnyama Limba PROPOSAL
Aika R RulapaughJapanAsiya Javayant NEW
Clifford L NickaUnited KingdomOnyama Limba PROPOSAL
Misaki W InouyeRussiaOnyama Limba NEGOTIATION
Emily F PoquetteSpainXuxue Feng QUALIFIED
Aruna Y CampainBrazilElwin Sharvill UNQUALIFIED
Adams N StockhamAustraliaBernardo Dominic PROPOSAL
Jeanfrancois K FerenczFranceAsiya Javayant NEGOTIATION
Jennifer T KuskoAustraliaIoni Bowcher UNQUALIFIED
Mayumi F WaycottRussiaXuxue Feng UNQUALIFIED
Mayumi D WieserFranceStephen Shaw QUALIFIED
Johnson C ShinkoFranceStephen Shaw RENEWAL
Johnson O GlickSpainAmy Elsner RENEWAL
Salvatore I GillianUnited KingdomAmy Elsner RENEWAL
Munro C RoysterItalyOnyama Limba QUALIFIED
Greenwood M MarrierIndiaAnna Fali PROPOSAL
Wickens V BologniaBrazilStephen Shaw RENEWAL
Aruna L MacleadArgentinaAsiya Javayant UNQUALIFIED
Wickens F DarakjySpainAsiya Javayant NEGOTIATION
Kadeem I RulapaughRussiaIvan Magalhaes UNQUALIFIED
Greenwood I ChuiAustraliaElwin Sharvill 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>