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
Deepesh Z KuskoFranceAsiya Javayant UNQUALIFIED
Stacey A KolmetzGermanyAsiya Javayant NEW
Ricardo K SaylorsArgentinaBernardo Dominic RENEWAL
Costa E AlbaresGermanyAmy Elsner UNQUALIFIED
Costa B RulapaughSpainBernardo Dominic RENEWAL
Aruna I AmigonItalyAnna Fali RENEWAL
Salvatore C GauchoAustraliaIvan Magalhaes UNQUALIFIED
Faith W SchemmerCanadaAnna Fali PROPOSAL
Darci U SaylorsIndiaAmy Elsner RENEWAL
Aruna R CaldareraRussiaElwin Sharvill NEGOTIATION
Aika K RulapaughJapanXuxue Feng QUALIFIED
Aditya W RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Aruna Y KolmetzSpainXuxue Feng QUALIFIED
Kadeem A ButtBrazilAsiya Javayant NEGOTIATION
Johnson S MarrierAustraliaElwin Sharvill RENEWAL
Silvio R VenereUnited KingdomIoni Bowcher NEGOTIATION
Arvin G PoquetteBrazilAmy Elsner RENEWAL
Johnson Z BowleyCanadaIoni Bowcher QUALIFIED
Aditya D BowleyItalyAnna Fali NEGOTIATION
Maisha M RoysterGermanyXuxue Feng NEGOTIATION
Munro Q SergiGermanyIoni Bowcher PROPOSAL
Arvin T SlusarskiArgentinaXuxue Feng UNQUALIFIED
Isabel X GauchoCanadaAsiya Javayant UNQUALIFIED
Misaki K IturbideItalyElwin Sharvill PROPOSAL
Greenwood J FlosiBrazilAnna Fali PROPOSAL
Mujtaba G RimUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin A ButtItalyOnyama Limba NEGOTIATION
David P RoysterBrazilXuxue Feng RENEWAL
Faith O StockhamJapanIoni Bowcher NEW
Izzy U FollerSpainStephen Shaw UNQUALIFIED
David J StensethGermanyXuxue Feng PROPOSAL
Greenwood G StensethBrazilXuxue Feng UNQUALIFIED
Nicolas L PaprockiItalyElwin Sharvill RENEWAL
Isabel H OldroydCanadaOnyama Limba NEW
Jennifer Y CaudyGermanyAsiya Javayant NEW
Jefferson Z KolmetzCanadaStephen Shaw RENEWAL
Morrow U DarakjySpainBernardo Dominic NEGOTIATION
Faith D NestleIndiaElwin Sharvill RENEWAL
Maria K FlosiFranceStephen Shaw QUALIFIED
Juan H MaletGermanyOnyama Limba RENEWAL
Jefferson H MaletArgentinaAnna Fali NEGOTIATION
Wickens W DoeAustraliaOnyama Limba NEW
Antonio D RimSpainElwin Sharvill RENEWAL
Leon K MorascaRussiaXuxue Feng NEGOTIATION
Nicolas J FlosiUnited KingdomAnna Fali NEW
Aika X PaprockiBrazilXuxue Feng PROPOSAL
Maria T RulapaughRussiaIoni Bowcher QUALIFIED
Maisha F RimArgentinaStephen Shaw NEW
Francesco Y PerinJapanStephen Shaw PROPOSAL
Mayumi L RutaCanadaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson A PaprockiArgentinaIoni Bowcher NEGOTIATION
Darci A BriddickRussiaAmy Elsner NEW
Chavez Z GlickSpainIvan Magalhaes PROPOSAL
Emily W ChuiItalyIvan Magalhaes NEW
David N RimFranceXuxue Feng UNQUALIFIED
Octavia C PerinJapanStephen Shaw RENEWAL
Claire L ShinkoBrazilAmy Elsner QUALIFIED
Maisha M NickaItalyXuxue Feng RENEWAL
Maisha D PoquetteArgentinaBernardo Dominic RENEWAL
Morrow B SlusarskiBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria M StockhamJapan2024-05-23Benton, John B Jr UNQUALIFIED56Amy Elsner
1001Salvatore Q DilliardItaly2024-05-15Feltz Printing Service UNQUALIFIED0Elwin Sharvill
1002Leja B KolmetzBrazil2024-05-14Chemel, James L Cpa NEW73Stephen Shaw
1003Jefferson G FlosiIndia2024-05-19Commercial Press PROPOSAL25Elwin Sharvill
1004Ricardo F KuskoFrance2024-05-26Chanay, Jeffrey A Esq NEGOTIATION81Ivan Magalhaes
1005Jeanfrancois Y FigeroaRussia2024-04-29Rangoni Of Florence NEGOTIATION75Bernardo Dominic
1006Kaitlin B NestleJapan2024-05-01Benton, John B Jr PROPOSAL4Ivan Magalhaes
1007Maisha V MacleadRussia2024-05-23Feltz Printing Service RENEWAL7Amy Elsner
1008Deepesh U MarrierUnited Kingdom2024-05-24Feiner Bros PROPOSAL19Bernardo Dominic
1009Jefferson S TollnerUnited Kingdom2024-05-17Commercial Press PROPOSAL4Bernardo Dominic
1010Smith X SlusarskiJapan2024-05-03Feltz Printing Service QUALIFIED15Stephen Shaw
1011Faith I KolmetzIndia2024-05-24Rousseaux, Michael Esq NEW78Asiya Javayant
1012Jeanfrancois W PaprockiItaly2024-05-08Dorl, James J Esq QUALIFIED94Anna Fali
1013Arvin F RulapaughGermany2024-05-20King, Christopher A Esq NEGOTIATION90Bernardo Dominic
1014Alejandro Y IturbideJapan2024-05-20Truhlar And Truhlar Attys PROPOSAL14Onyama Limba
1015Maria F VocelkaBrazil2024-05-24Rousseaux, Michael Esq RENEWAL20Elwin Sharvill
1016Aruna N VenereUnited Kingdom2024-05-28Dorl, James J Esq QUALIFIED16Anna Fali
1017Jones U SlusarskiRussia2024-05-28Truhlar And Truhlar Attys RENEWAL62Xuxue Feng
1018Arvin Y FerenczFrance2024-05-25Morlong Associates QUALIFIED87Anna Fali
1019Jeanfrancois V VocelkaJapan2024-05-24Feiner Bros NEW19Elwin Sharvill
1020Smith A FollerArgentina2024-05-10Chanay, Jeffrey A Esq RENEWAL91Stephen Shaw
1021Aditya P OldroydArgentina2024-05-20Morlong Associates UNQUALIFIED25Xuxue Feng
1022Nicolas N DarakjyBrazil2024-05-20Dorl, James J Esq NEW15Anna Fali
1023Arvin D FlosiBrazil2024-05-14Chapman, Ross E Esq UNQUALIFIED49Xuxue Feng
1024Maria V GarufiUnited Kingdom2024-04-29Rangoni Of Florence NEGOTIATION38Asiya Javayant
1025Stacey N FerenczFrance2024-05-14Chemel, James L Cpa PROPOSAL20Onyama Limba
1026Stacey B ShinkoJapan2024-05-06Feiner Bros RENEWAL58Amy Elsner
1027Cody H AlbaresSpain2024-05-15Benton, John B Jr NEW61Onyama Limba
1028Cody F TollnerSpain2024-05-02Morlong Associates QUALIFIED92Bernardo Dominic
1029Chavez X SergiSpain2024-05-28Chanay, Jeffrey A Esq NEGOTIATION68Ioni Bowcher
1030Salvatore J SlusarskiBrazil2024-05-09Commercial Press PROPOSAL29Asiya Javayant
1031Izzy O FerenczCanada2024-05-02Chemel, James L Cpa QUALIFIED93Amy Elsner
1032Clifford G FollerJapan2024-05-14Dorl, James J Esq PROPOSAL18Stephen Shaw
1033Deepesh V ButtArgentina2024-05-21Benton, John B Jr NEGOTIATION47Amy Elsner
1034Costa J RutaSpain2024-05-26Truhlar And Truhlar Attys QUALIFIED59Elwin Sharvill
1035Jeanfrancois H RulapaughFrance2024-05-05Dorl, James J Esq NEGOTIATION77Asiya Javayant
1036Juan U OstroskyRussia2024-05-20Commercial Press UNQUALIFIED99Onyama Limba
1037Ricardo D SergiUnited Kingdom2024-05-26Chanay, Jeffrey A Esq PROPOSAL84Bernardo Dominic
1038Mayumi E MarrierGermany2024-04-30Feiner Bros RENEWAL77Elwin Sharvill
1039Stacey Z RimArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED85Amy Elsner
1040Smith R RutaBrazil2024-05-14Benton, John B Jr NEGOTIATION80Onyama Limba
1041Mayumi L DoeGermany2024-05-06Chemel, James L Cpa QUALIFIED31Amy Elsner
1042Wickens A ChuiFrance2024-05-02Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1043Jefferson K VocelkaCanada2024-05-10Chanay, Jeffrey A Esq QUALIFIED74Bernardo Dominic
1044Morrow Y RutaArgentina2024-05-26Chanay, Jeffrey A Esq PROPOSAL42Ioni Bowcher
1045Kadeem C MacleadRussia2024-05-08Commercial Press RENEWAL13Ioni Bowcher
1046Silvio U RoysterItaly2024-05-15Truhlar And Truhlar Attys NEGOTIATION61Ioni Bowcher
1047Johnson Z InouyeRussia2024-05-12Rangoni Of Florence PROPOSAL96Amy Elsner
1048Mayumi C SaylorsSpain2024-05-11Chapman, Ross E Esq QUALIFIED61Anna Fali
1049Ricardo K WhobreySpain2024-05-19Buckley Miller Wright NEGOTIATION45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Francesco J DilliardArgentinaAmy Elsner NEW
James T DarakjyArgentinaAnna Fali UNQUALIFIED
Adams D PoquetteArgentinaOnyama Limba UNQUALIFIED
Isabel D RimGermanyIvan Magalhaes UNQUALIFIED
Alejandro W PoquetteRussiaAmy Elsner UNQUALIFIED
Maria K GauchoArgentinaAnna Fali UNQUALIFIED
Mujtaba Y ButtSpainBernardo Dominic PROPOSAL
Jennifer X VocelkaArgentinaIvan Magalhaes NEGOTIATION
Aika I TollnerGermanyAnna Fali NEW
Costa C RimSpainIvan Magalhaes RENEWAL
Nicolas W WieserJapanBernardo Dominic NEGOTIATION
Clifford D CampainIndiaXuxue Feng NEW
Faith X KolmetzFranceAmy Elsner UNQUALIFIED
David H SaylorsSpainIoni Bowcher PROPOSAL
Maisha I RoysterItalyOnyama Limba PROPOSAL
Francesco M DarakjyGermanyAsiya Javayant QUALIFIED
Cody W KuskoRussiaAsiya Javayant PROPOSAL
Murillo B GarufiGermanyOnyama Limba QUALIFIED
Isabel S PaprockiJapanElwin Sharvill NEW
Jones G DoeJapanStephen Shaw QUALIFIED
Aika W BowleyIndiaOnyama Limba NEGOTIATION
Isabel A BowleySpainAsiya Javayant UNQUALIFIED
Sinclair O GlickGermanyOnyama Limba NEGOTIATION
James E ShinkoCanadaIoni Bowcher UNQUALIFIED
Aruna Z FigeroaArgentinaBernardo Dominic NEW
Aika U PoquetteUnited KingdomAnna Fali RENEWAL
Jones G FerenczCanadaIoni Bowcher NEGOTIATION
Mayumi M MaletGermanyOnyama Limba RENEWAL
Ricardo L RoysterRussiaAmy Elsner NEGOTIATION
Murillo P StockhamCanadaBernardo Dominic UNQUALIFIED
Johnson Y FlosiGermanyStephen Shaw QUALIFIED
Claire J SchemmerRussiaBernardo Dominic NEW
Cody K VenereJapanBernardo Dominic NEGOTIATION
Rodrigues B BriddickGermanyOnyama Limba NEGOTIATION
Jefferson W DarakjyArgentinaBernardo Dominic NEW
Leon F VenereItalyIvan Magalhaes NEW
Kaitlin I VocelkaJapanXuxue Feng RENEWAL
Jeanfrancois H RutaAustraliaAsiya Javayant UNQUALIFIED
Morrow D MaletFranceStephen Shaw QUALIFIED
Darci P DoeItalyAsiya Javayant NEGOTIATION
Aruna C AlbaresGermanyBernardo Dominic PROPOSAL
Octavia A WieserGermanyAnna Fali RENEWAL
Misaki H WhobreyCanadaAsiya Javayant PROPOSAL
Juan D KolmetzUnited KingdomAsiya Javayant QUALIFIED
Murillo B WaycottGermanyStephen Shaw PROPOSAL
Johnson E IturbideSpainIvan Magalhaes NEGOTIATION
Kaitlin E SlusarskiArgentinaIvan Magalhaes RENEWAL
Julie P PerinGermanyElwin Sharvill QUALIFIED
Misaki U AlbaresCanadaAnna Fali QUALIFIED
Ashley M CampainGermanyElwin Sharvill QUALIFIED
Frozen Columns
Name
Greenwood X Marrier
Jeanfrancois I Poquette
Smith K Ferencz
Mayumi H Stockham
Smith Q Kusko
Ivar B Shinko
Jeanfrancois U Dilliard
Ivar Z Caldarera
Faith Q Venere
Maria X Saylors
Izzy V Wieser
Maisha T Amigon
Darci S Wieser
Francesco E Shinko
David J Malet
Jennifer F Darakjy
Johnson X Kolmetz
Johnson Q Stockham
Munro G Perin
Emily K Caldarera
Rodrigues M Sergi
Emily X Tollner
Smith Q Inouye
Kaitlin Q Kusko
Rodrigues Y Venere
Julie V Bolognia
Kaitlin E Whobrey
Jones O Briddick
Kadeem L Darakjy
Jefferson Y Slusarski
Chavez T Gillian
Ivar G Bolognia
Leja P Whobrey
Aditya E Bolognia
Costa C Ferencz
Sinclair P Whobrey
Adams K Bowley
Mayumi B Gillian
Francesco Y Poquette
Kadeem M Paprocki
Adams M Vocelka
Clifford F Sergi
Darci G Schemmer
Faith K Glick
Jennifer R Whobrey
Jennifer K Chui
Emily G Bolognia
Leja P Bolognia
James G Gillian
Munro V Vocelka
IdCountryDate
1000France2024-05-06
1001Germany2024-05-13
1002Japan2024-05-14
1003United Kingdom2024-05-26
1004United Kingdom2024-05-25
1005Australia2024-04-29
1006Italy2024-05-22
1007Canada2024-05-04
1008United Kingdom2024-05-08
1009Brazil2024-05-11
1010Japan2024-05-05
1011Spain2024-05-25
1012Brazil2024-04-30
1013Russia2024-05-25
1014Russia2024-05-13
1015Japan2024-05-13
1016Italy2024-05-09
1017United Kingdom2024-05-23
1018Japan2024-05-11
1019Argentina2024-05-25
1020France2024-05-14
1021Canada2024-05-04
1022Italy2024-05-15
1023Russia2024-04-29
1024Canada2024-05-17
1025Germany2024-05-07
1026Spain2024-05-03
1027India2024-05-23
1028Germany2024-05-07
1029India2024-05-08
1030Russia2024-05-02
1031United Kingdom2024-05-10
1032Argentina2024-05-13
1033India2024-05-05
1034Australia2024-05-24
1035Argentina2024-05-07
1036Russia2024-05-14
1037Germany2024-05-24
1038Spain2024-05-09
1039Spain2024-04-30
1040Russia2024-05-17
1041Russia2024-05-18
1042France2024-05-16
1043Japan2024-05-27
1044Japan2024-05-25
1045Australia2024-05-25
1046United Kingdom2024-05-13
1047Argentina2024-05-12
1048India2024-05-08
1049Canada2024-05-23

On-Demand Data

NameIdCountryDate
Silvio I Malet1000Japan2024-05-07
Ricardo I Morasca1001United Kingdom2024-05-07
Ricardo F Maclead1002Spain2024-05-23
Aruna N Briddick1003Germany2024-05-19
Emily F Ferencz1004Japan2024-05-05
Isabel C Figeroa1005France2024-05-04
Mayumi W Schemmer1006Australia2024-04-29
Arvin G Royster1007India2024-05-04
Leja I Maclead1008Russia2024-05-05
Isabel D Waycott1009Spain2024-05-23
Mujtaba R Wieser1010Australia2024-05-04
Costa Q Marrier1011Argentina2024-05-23
Alejandro A Wieser1012France2024-05-18
Smith V Gaucho1013Italy2024-05-23
Chavez N Chui1014Germany2024-05-16
Aditya M Whobrey1015United Kingdom2024-05-12
Jefferson H Campain1016Japan2024-05-12
Jefferson R Morasca1017Brazil2024-05-09
Murillo D Kolmetz1018Canada2024-05-19
Morrow T Bowley1019Canada2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony O KolmetzIndiaIvan Magalhaes NEGOTIATION
Maisha S SlusarskiCanadaAnna Fali NEW
Isabel N CampainIndiaIoni Bowcher NEGOTIATION
Rodrigues M InouyeItalyAnna Fali QUALIFIED
Salvatore B RutaGermanyAmy Elsner NEGOTIATION
Julie Q StensethCanadaAsiya Javayant UNQUALIFIED
Leja R WaycottSpainAnna Fali NEW
Mayumi M GillianGermanyIoni Bowcher NEW
Sinclair Q AmigonJapanAmy Elsner NEGOTIATION
Tony M ShinkoFranceXuxue Feng NEGOTIATION
Jeanfrancois B RulapaughCanadaIoni Bowcher PROPOSAL
Murillo X ButtSpainIvan Magalhaes NEW
Francesco H SergiAustraliaAsiya Javayant PROPOSAL
Cody T OldroydRussiaAnna Fali UNQUALIFIED
Stacey S RimUnited KingdomOnyama Limba UNQUALIFIED
Maisha W RulapaughRussiaXuxue Feng RENEWAL
Mayumi Q OldroydSpainIvan Magalhaes UNQUALIFIED
Darci R FollerCanadaAsiya Javayant QUALIFIED
Ivar X AlbaresIndiaAnna Fali NEW
James U OstroskySpainBernardo Dominic QUALIFIED
Julie P GauchoArgentinaXuxue Feng RENEWAL
Rodrigues L GlickJapanOnyama Limba NEGOTIATION
Tony U DilliardIndiaXuxue Feng PROPOSAL
James H VenereIndiaAnna Fali RENEWAL
Jeanfrancois U StockhamSpainIoni Bowcher QUALIFIED
Smith G CampainItalyElwin Sharvill QUALIFIED
Misaki F GlickJapanIvan Magalhaes PROPOSAL
Morrow T BriddickSpainAmy Elsner NEGOTIATION
Aditya X FlosiFranceStephen Shaw PROPOSAL
Rodrigues F DoeArgentinaAnna Fali NEW
Adams S KolmetzFranceElwin Sharvill RENEWAL
James U VenereIndiaOnyama Limba NEW
Arvin G RimIndiaElwin Sharvill RENEWAL
Ricardo N PoquetteItalyStephen Shaw NEGOTIATION
Costa F ChuiItalyAsiya Javayant QUALIFIED
Greenwood X WieserJapanAnna Fali QUALIFIED
Tony E RimFranceAmy Elsner UNQUALIFIED
Darci L FerenczFranceAnna Fali RENEWAL
Silvio C InouyeGermanyXuxue Feng UNQUALIFIED
Mayumi V FigeroaBrazilOnyama 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>