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
Wickens C WhobreyIndiaStephen Shaw RENEWAL
Munro O MaletAustraliaStephen Shaw NEGOTIATION
Kadeem A OldroydBrazilBernardo Dominic PROPOSAL
Darci V AlbaresBrazilElwin Sharvill RENEWAL
Smith L RulapaughFranceBernardo Dominic NEGOTIATION
Rodrigues V SaylorsBrazilAsiya Javayant NEW
Cody N MarrierItalyBernardo Dominic NEW
Rodrigues Q StockhamAustraliaElwin Sharvill NEW
Darci E BowleyArgentinaElwin Sharvill RENEWAL
Munro H RulapaughAustraliaAmy Elsner NEW
Antonio P KuskoUnited KingdomIvan Magalhaes RENEWAL
Clifford P OldroydIndiaAmy Elsner RENEWAL
Chavez W MacleadItalyBernardo Dominic QUALIFIED
Chavez G NickaBrazilAnna Fali RENEWAL
Clifford R WaycottGermanyOnyama Limba NEGOTIATION
Jeanfrancois U IturbideItalyIvan Magalhaes QUALIFIED
Ricardo G WhobreySpainIvan Magalhaes QUALIFIED
Stacey L WaycottItalyOnyama Limba QUALIFIED
Stacey E PerinAustraliaElwin Sharvill PROPOSAL
David C MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues O FigeroaItalyIoni Bowcher UNQUALIFIED
Greenwood A BologniaArgentinaBernardo Dominic NEW
Mujtaba S KolmetzBrazilIvan Magalhaes PROPOSAL
Ivar Z FigeroaRussiaAsiya Javayant NEGOTIATION
James R FollerSpainBernardo Dominic PROPOSAL
Darci C BowleyFranceAsiya Javayant QUALIFIED
Aika B KolmetzUnited KingdomAnna Fali PROPOSAL
Mayumi Z GlickJapanIoni Bowcher PROPOSAL
Aruna K GillianArgentinaElwin Sharvill RENEWAL
Alejandro E BowleyAustraliaStephen Shaw PROPOSAL
Munro B BologniaIndiaAnna Fali NEW
Alejandro S StockhamUnited KingdomAsiya Javayant RENEWAL
Kaitlin N GarufiItalyIvan Magalhaes UNQUALIFIED
Murillo E MacleadArgentinaAnna Fali PROPOSAL
Alejandro K WieserIndiaBernardo Dominic PROPOSAL
Clifford I MaletIndiaIvan Magalhaes NEGOTIATION
Adams R CampainRussiaAnna Fali NEGOTIATION
Costa G StensethBrazilOnyama Limba QUALIFIED
Deepesh D CampainBrazilOnyama Limba NEGOTIATION
Salvatore E FlosiRussiaStephen Shaw NEGOTIATION
Rodrigues K NickaIndiaIoni Bowcher RENEWAL
Jennifer T InouyeAustraliaXuxue Feng NEGOTIATION
James R DilliardIndiaAsiya Javayant NEGOTIATION
Francesco L MaletIndiaIvan Magalhaes QUALIFIED
Faith K OldroydGermanyAnna Fali PROPOSAL
Juan E BriddickGermanyStephen Shaw NEW
Murillo K TollnerJapanAsiya Javayant NEGOTIATION
Izzy Q FerenczRussiaBernardo Dominic UNQUALIFIED
Kaitlin J DarakjyAustraliaStephen Shaw RENEWAL
Adams S SaylorsFranceAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci S ButtBrazilAmy Elsner RENEWAL
Arvin Z PaprockiItalyIoni Bowcher PROPOSAL
Jennifer M AmigonFranceAsiya Javayant NEW
Jeanfrancois X SchemmerBrazilIoni Bowcher NEW
Munro O FollerIndiaAnna Fali UNQUALIFIED
Clifford L AmigonGermanyOnyama Limba RENEWAL
Arvin H ShinkoGermanyStephen Shaw RENEWAL
Chavez O NickaAustraliaOnyama Limba RENEWAL
Aruna Z PerinBrazilOnyama Limba PROPOSAL
Kadeem A RulapaughItalyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily F SlusarskiBrazil2024-05-26Rousseaux, Michael Esq NEW11Ivan Magalhaes
1001Leon Y SchemmerAustralia2024-05-30Morlong Associates NEGOTIATION20Onyama Limba
1002Aditya W FigeroaAustralia2024-06-15Rousseaux, Michael Esq NEW47Onyama Limba
1003Rodrigues P RimAustralia2024-06-09Commercial Press UNQUALIFIED97Anna Fali
1004Mujtaba S GlickItaly2024-06-03Dorl, James J Esq PROPOSAL2Anna Fali
1005Nicolas Z WieserUnited Kingdom2024-06-09Chanay, Jeffrey A Esq NEW22Amy Elsner
1006Maria Q KolmetzAustralia2024-05-26Truhlar And Truhlar Attys QUALIFIED96Amy Elsner
1007David T WieserArgentina2024-06-06Morlong Associates QUALIFIED65Elwin Sharvill
1008Morrow K OstroskyArgentina2024-05-30Rangoni Of Florence UNQUALIFIED46Ivan Magalhaes
1009David K FollerIndia2024-06-14Commercial Press UNQUALIFIED96Anna Fali
1010Smith W StockhamAustralia2024-06-01Printing Dimensions NEW28Ioni Bowcher
1011Silvio I AlbaresBrazil2024-05-26Chanay, Jeffrey A Esq QUALIFIED63Ivan Magalhaes
1012Kadeem I RutaJapan2024-06-10King, Christopher A Esq UNQUALIFIED4Onyama Limba
1013Jones Q DoeAustralia2024-06-12Dorl, James J Esq QUALIFIED33Onyama Limba
1014Cody W SlusarskiArgentina2024-06-09Rangoni Of Florence QUALIFIED55Ioni Bowcher
1015Julie B StensethRussia2024-06-04Truhlar And Truhlar Attys PROPOSAL36Ivan Magalhaes
1016Misaki G MarrierGermany2024-06-08Rangoni Of Florence RENEWAL32Ivan Magalhaes
1017Claire P ShinkoCanada2024-06-16Printing Dimensions RENEWAL69Amy Elsner
1018Kadeem S WaycottJapan2024-05-26Chapman, Ross E Esq NEGOTIATION23Bernardo Dominic
1019Smith F WhobreyIndia2024-06-13Feltz Printing Service PROPOSAL56Xuxue Feng
1020Antonio P GauchoGermany2024-06-04Chanay, Jeffrey A Esq PROPOSAL35Asiya Javayant
1021Clifford D DilliardItaly2024-06-06Chemel, James L Cpa PROPOSAL20Asiya Javayant
1022Izzy A InouyeCanada2024-06-14Morlong Associates NEW76Elwin Sharvill
1023Nicolas N FlosiItaly2024-06-16Truhlar And Truhlar Attys NEGOTIATION39Asiya Javayant
1024James X SlusarskiGermany2024-06-03Commercial Press NEW53Ivan Magalhaes
1025David L FigeroaUnited Kingdom2024-06-09Rousseaux, Michael Esq PROPOSAL22Elwin Sharvill
1026Julie S GauchoJapan2024-06-11Printing Dimensions UNQUALIFIED21Onyama Limba
1027Aditya F GauchoCanada2024-05-28Dorl, James J Esq NEW48Ivan Magalhaes
1028Aditya Z GillianIndia2024-06-13Rousseaux, Michael Esq QUALIFIED99Onyama Limba
1029Faith K KuskoRussia2024-06-04Rangoni Of Florence UNQUALIFIED29Anna Fali
1030Arvin M WhobreyIndia2024-06-11Benton, John B Jr RENEWAL25Onyama Limba
1031Stacey H SergiAustralia2024-05-28Chapman, Ross E Esq QUALIFIED83Onyama Limba
1032Jennifer X KolmetzRussia2024-06-15Commercial Press PROPOSAL99Bernardo Dominic
1033Mayumi T FollerSpain2024-06-18Truhlar And Truhlar Attys QUALIFIED37Asiya Javayant
1034Clifford Z ButtCanada2024-06-12Morlong Associates PROPOSAL81Bernardo Dominic
1035Darci H DilliardCanada2024-06-04King, Christopher A Esq NEGOTIATION72Bernardo Dominic
1036Octavia D AlbaresBrazil2024-06-13Feiner Bros NEW96Stephen Shaw
1037Aika C FerenczGermany2024-06-08Buckley Miller Wright PROPOSAL4Amy Elsner
1038Costa D SlusarskiIndia2024-06-18Buckley Miller Wright QUALIFIED15Anna Fali
1039Darci E BologniaFrance2024-06-12King, Christopher A Esq RENEWAL38Amy Elsner
1040Clifford B MarrierCanada2024-06-21Chanay, Jeffrey A Esq NEGOTIATION24Ioni Bowcher
1041Greenwood M NickaGermany2024-06-07Feiner Bros QUALIFIED78Asiya Javayant
1042Jefferson D MacleadAustralia2024-05-26Rousseaux, Michael Esq NEW77Ivan Magalhaes
1043Faith P WaycottGermany2024-06-08Chanay, Jeffrey A Esq PROPOSAL76Ioni Bowcher
1044Wickens X CaldareraBrazil2024-06-18Commercial Press NEW71Anna Fali
1045Faith X StockhamAustralia2024-06-21Feiner Bros PROPOSAL39Amy Elsner
1046Wickens S WhobreyItaly2024-06-04Chemel, James L Cpa NEW4Asiya Javayant
1047Greenwood U StensethRussia2024-06-02Buckley Miller Wright PROPOSAL42Onyama Limba
1048Deepesh L FollerJapan2024-06-19Dorl, James J Esq UNQUALIFIED49Xuxue Feng
1049Misaki N FollerJapan2024-05-27Benton, John B Jr UNQUALIFIED65Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Julie F PaprockiSpainStephen Shaw NEGOTIATION
Jennifer R WhobreyGermanyOnyama Limba QUALIFIED
Nicolas V VocelkaItalyIvan Magalhaes RENEWAL
Francesco A DarakjyJapanXuxue Feng NEW
Jeanfrancois G AmigonCanadaOnyama Limba NEW
Smith H CampainGermanyOnyama Limba RENEWAL
Chavez F FerenczRussiaIvan Magalhaes UNQUALIFIED
Claire S MaletUnited KingdomIvan Magalhaes PROPOSAL
Deepesh Q SlusarskiItalyAnna Fali RENEWAL
Adams P StockhamUnited KingdomAmy Elsner PROPOSAL
Smith V FollerArgentinaAmy Elsner QUALIFIED
Mayumi D RutaJapanOnyama Limba NEGOTIATION
Morrow Y FollerAustraliaAnna Fali QUALIFIED
Aika D GarufiItalyStephen Shaw RENEWAL
Rodrigues C InouyeJapanElwin Sharvill PROPOSAL
Rodrigues T DoeGermanyXuxue Feng UNQUALIFIED
Ricardo B MaletUnited KingdomXuxue Feng QUALIFIED
Aditya Z NickaGermanyXuxue Feng QUALIFIED
David H DarakjyRussiaAnna Fali QUALIFIED
Adams D OldroydRussiaElwin Sharvill NEGOTIATION
Faith H CaldareraRussiaAmy Elsner PROPOSAL
Jefferson K DarakjyFranceStephen Shaw QUALIFIED
Costa A GauchoFranceAnna Fali PROPOSAL
Rodrigues H GarufiCanadaIoni Bowcher NEW
Smith B MarrierItalyElwin Sharvill QUALIFIED
Maria B StensethIndiaXuxue Feng NEW
Jeanfrancois G TollnerItalyOnyama Limba NEGOTIATION
Ashley A NickaItalyAmy Elsner PROPOSAL
Maisha F MarrierArgentinaElwin Sharvill QUALIFIED
Costa U FigeroaBrazilOnyama Limba PROPOSAL
Salvatore G WieserCanadaStephen Shaw PROPOSAL
Cody N CaudyGermanyElwin Sharvill NEGOTIATION
Wickens Q TollnerUnited KingdomIoni Bowcher QUALIFIED
Stacey Y VenereCanadaIvan Magalhaes NEW
Jones Y CaldareraJapanElwin Sharvill UNQUALIFIED
Ivar H InouyeFranceOnyama Limba NEW
Jefferson C RoysterRussiaAsiya Javayant NEGOTIATION
Morrow R PoquetteArgentinaXuxue Feng PROPOSAL
Munro X WieserRussiaBernardo Dominic NEW
Jennifer U MacleadGermanyAnna Fali NEW
Greenwood S VenereBrazilAsiya Javayant PROPOSAL
Francesco B PoquetteItalyIvan Magalhaes NEGOTIATION
Jennifer F WieserBrazilAsiya Javayant NEGOTIATION
Salvatore E DilliardJapanAsiya Javayant NEGOTIATION
Leon D AlbaresUnited KingdomOnyama Limba QUALIFIED
Leon H VocelkaUnited KingdomIoni Bowcher QUALIFIED
Greenwood L CampainRussiaIoni Bowcher NEGOTIATION
Cody C IturbideRussiaXuxue Feng QUALIFIED
Antonio P RoysterUnited KingdomOnyama Limba NEGOTIATION
Munro O WaycottItalyAnna Fali NEGOTIATION
Frozen Columns
Name
Jones H Inouye
Maisha Y Flosi
Isabel Q Amigon
Darci H Tollner
Rodrigues M Royster
Adams I Oldroyd
Claire Z Gaucho
Juan J Dilliard
Faith E Figeroa
Mayumi A Caudy
Adams Q Figeroa
Rodrigues Z Campain
Johnson P Nestle
David F Slusarski
Izzy A Rulapaugh
Silvio J Vocelka
Smith N Ruta
Clifford C Saylors
Tony G Oldroyd
Darci R Ostrosky
Ricardo G Ferencz
Costa N Campain
Julie M Vocelka
Izzy L Iturbide
Darci E Venere
Ashley H Wieser
Alejandro I Slusarski
Cody D Caldarera
Mayumi Y Albares
Octavia U Schemmer
Jefferson B Maclead
Antonio R Whobrey
Johnson D Sergi
Murillo I Albares
Arvin N Waycott
Claire C Nicka
Antonio X Campain
Darci O Wieser
Emily P Sergi
Morrow J Malet
Aruna W Ostrosky
Wickens O Wieser
Morrow U Tollner
Aditya Y Waycott
Nicolas I Venere
Silvio G Tollner
Chavez J Whobrey
Antonio T Iturbide
Ivar O Glick
Jeanfrancois T Marrier
IdCountryDate
1000Canada2024-06-02
1001France2024-06-07
1002Spain2024-06-06
1003Germany2024-06-07
1004Brazil2024-05-31
1005Russia2024-06-16
1006Russia2024-06-04
1007Australia2024-05-29
1008France2024-06-03
1009Japan2024-06-16
1010Japan2024-06-09
1011Russia2024-06-21
1012Germany2024-05-29
1013Russia2024-06-06
1014Brazil2024-06-05
1015France2024-06-18
1016Brazil2024-06-12
1017Germany2024-06-21
1018Spain2024-06-20
1019Japan2024-06-20
1020France2024-05-31
1021Brazil2024-06-10
1022Russia2024-05-28
1023Germany2024-06-12
1024United Kingdom2024-06-04
1025France2024-06-07
1026Canada2024-06-19
1027United Kingdom2024-06-10
1028Spain2024-06-06
1029Italy2024-06-17
1030Australia2024-06-05
1031Brazil2024-06-06
1032Canada2024-06-06
1033Italy2024-06-14
1034United Kingdom2024-05-25
1035Russia2024-06-17
1036Australia2024-06-21
1037Australia2024-06-14
1038Brazil2024-05-28
1039Canada2024-06-12
1040Germany2024-06-03
1041Canada2024-06-20
1042Spain2024-06-12
1043Argentina2024-06-06
1044Germany2024-06-21
1045United Kingdom2024-06-14
1046France2024-06-13
1047India2024-05-26
1048Argentina2024-06-20
1049Australia2024-06-16

On-Demand Data

NameIdCountryDate
Faith I Shinko1000Italy2024-06-13
Arvin I Ruta1001Japan2024-06-02
Jennifer N Chui1002Brazil2024-05-25
Kadeem Y Glick1003Canada2024-06-12
Leon S Shinko1004United Kingdom2024-05-25
Jeanfrancois R Albares1005United Kingdom2024-06-18
Ricardo E Rim1006United Kingdom2024-05-28
Rodrigues R Ruta1007Canada2024-06-09
Sinclair C Oldroyd1008Brazil2024-06-06
Faith L Nestle1009France2024-06-22
Emily A Glick1010Brazil2024-05-29
Jeanfrancois D Darakjy1011United Kingdom2024-05-25
Sinclair F Garufi1012Canada2024-06-03
Munro L Venere1013Germany2024-06-03
Leon N Figeroa1014Russia2024-06-07
Jennifer X Garufi1015Russia2024-06-08
Julie Y Bolognia1016Brazil2024-06-04
Leja M Ferencz1017Canada2024-06-17
Munro K Garufi1018Australia2024-05-28
Jones C Glick1019Japan2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel V RulapaughGermanyIvan Magalhaes NEW
Octavia O BologniaGermanyAsiya Javayant PROPOSAL
Juan U IturbideFranceIvan Magalhaes PROPOSAL
Aditya I CaudyFranceElwin Sharvill NEW
Alejandro Q AmigonAustraliaOnyama Limba PROPOSAL
Ricardo I BriddickItalyIvan Magalhaes NEGOTIATION
Deepesh E MaletJapanAmy Elsner NEGOTIATION
Ricardo T ChuiIndiaXuxue Feng NEW
Munro S BowleyJapanBernardo Dominic QUALIFIED
Nicolas T FigeroaGermanyAnna Fali NEGOTIATION
Morrow N RimSpainAmy Elsner NEW
Silvio S SlusarskiSpainAsiya Javayant RENEWAL
Johnson X VenereIndiaBernardo Dominic UNQUALIFIED
Francesco F PerinCanadaBernardo Dominic NEW
Cody W WhobreyRussiaIvan Magalhaes PROPOSAL
Costa B FollerItalyElwin Sharvill PROPOSAL
Octavia I StockhamBrazilStephen Shaw QUALIFIED
Arvin S GillianRussiaAsiya Javayant NEGOTIATION
Faith T ButtUnited KingdomOnyama Limba NEGOTIATION
Wickens H IturbideRussiaElwin Sharvill UNQUALIFIED
Aruna R SchemmerSpainIvan Magalhaes NEGOTIATION
Smith D DilliardJapanStephen Shaw QUALIFIED
Rodrigues V MaletAustraliaXuxue Feng PROPOSAL
Faith G WieserRussiaAsiya Javayant NEW
Jennifer R FerenczAustraliaIvan Magalhaes NEGOTIATION
Jennifer Y VenereArgentinaAsiya Javayant QUALIFIED
Darci R FigeroaGermanyBernardo Dominic UNQUALIFIED
Emily X FerenczRussiaAsiya Javayant NEGOTIATION
Julie O SaylorsUnited KingdomAnna Fali NEGOTIATION
Jennifer A CaldareraSpainOnyama Limba RENEWAL
Wickens X GarufiUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois P PoquetteIndiaStephen Shaw NEGOTIATION
Izzy Y MorascaIndiaAsiya Javayant RENEWAL
Darci G RulapaughBrazilBernardo Dominic RENEWAL
Ashley E BriddickRussiaIvan Magalhaes NEGOTIATION
Ashley I WhobreyRussiaOnyama Limba QUALIFIED
Darci L NestleCanadaAnna Fali NEW
Stacey P VocelkaJapanStephen Shaw NEW
Emily B GillianUnited KingdomAsiya Javayant QUALIFIED
Ivar F FlosiJapanBernardo Dominic UNQUALIFIED

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