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
Francesco J KuskoAustraliaAsiya Javayant PROPOSAL
Darci W ShinkoCanadaElwin Sharvill QUALIFIED
Sinclair K PoquetteFranceBernardo Dominic UNQUALIFIED
Silvio X InouyeAustraliaIoni Bowcher RENEWAL
Aditya M TollnerIndiaStephen Shaw NEGOTIATION
Murillo S FollerCanadaAnna Fali PROPOSAL
Salvatore P WhobreySpainElwin Sharvill NEW
Ashley V ChuiArgentinaXuxue Feng NEW
Jennifer Y FigeroaIndiaAmy Elsner PROPOSAL
Ivar N WieserIndiaIoni Bowcher NEW
Stacey I ButtGermanyElwin Sharvill NEGOTIATION
Leja K VocelkaFranceOnyama Limba NEGOTIATION
Antonio V NickaFranceBernardo Dominic NEGOTIATION
James Y WhobreyFranceAnna Fali QUALIFIED
Alejandro M FlosiRussiaAmy Elsner NEW
Greenwood E WieserItalyBernardo Dominic PROPOSAL
Sinclair H BologniaFranceOnyama Limba NEGOTIATION
Clifford R BriddickRussiaAsiya Javayant NEGOTIATION
Rodrigues B WaycottJapanStephen Shaw NEGOTIATION
Faith N FigeroaAustraliaAsiya Javayant NEGOTIATION
Maria F GillianUnited KingdomAnna Fali NEGOTIATION
Alejandro Q GlickGermanyIvan Magalhaes NEW
Octavia G IturbideSpainAnna Fali RENEWAL
Costa U NestleJapanAsiya Javayant UNQUALIFIED
Darci P RoysterAustraliaStephen Shaw PROPOSAL
Faith F StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Arvin K DoeSpainAmy Elsner UNQUALIFIED
Maria E RulapaughGermanyAnna Fali UNQUALIFIED
Jefferson K ButtIndiaBernardo Dominic RENEWAL
Morrow G RutaRussiaElwin Sharvill UNQUALIFIED
Maisha E MaletFranceXuxue Feng QUALIFIED
Emily S WaycottFranceAsiya Javayant QUALIFIED
Maria V FerenczGermanyIvan Magalhaes PROPOSAL
Ivar J SchemmerFranceIvan Magalhaes RENEWAL
Costa W GauchoRussiaOnyama Limba QUALIFIED
Tony P SergiUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair I PaprockiUnited KingdomBernardo Dominic QUALIFIED
Jennifer J SchemmerArgentinaStephen Shaw NEW
Salvatore Q FigeroaBrazilXuxue Feng RENEWAL
Leja O MaletRussiaIoni Bowcher RENEWAL
Silvio L GlickItalyBernardo Dominic QUALIFIED
Faith Z PaprockiUnited KingdomAsiya Javayant PROPOSAL
Arvin W WieserItalyAnna Fali PROPOSAL
Greenwood H SergiBrazilBernardo Dominic NEGOTIATION
Nicolas V FigeroaBrazilXuxue Feng UNQUALIFIED
Aika U NickaAustraliaAmy Elsner UNQUALIFIED
Alejandro E CaldareraAustraliaAsiya Javayant NEW
Salvatore D WaycottSpainOnyama Limba NEGOTIATION
Nicolas B ButtJapanAsiya Javayant UNQUALIFIED
Johnson V ButtArgentinaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues O WhobreyAustraliaOnyama Limba NEW
Faith H NestleJapanStephen Shaw PROPOSAL
Aruna C MaletJapanXuxue Feng RENEWAL
Ivar H SaylorsRussiaOnyama Limba NEGOTIATION
Francesco B MacleadIndiaStephen Shaw UNQUALIFIED
Maria I MaletRussiaBernardo Dominic PROPOSAL
Aruna X SaylorsFranceStephen Shaw NEW
Stacey A FlosiAustraliaAmy Elsner UNQUALIFIED
Mayumi D RutaSpainAsiya Javayant QUALIFIED
Wickens B NestleCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James S VenereSpain2024-06-10Truhlar And Truhlar Attys RENEWAL1Ioni Bowcher
1001Alejandro G BowleyIndia2024-06-13Rousseaux, Michael Esq NEW13Xuxue Feng
1002Isabel Y DarakjyJapan2024-06-12Benton, John B Jr QUALIFIED51Anna Fali
1003Jennifer C MaletRussia2024-05-15Commercial Press NEW79Elwin Sharvill
1004Antonio Z WaycottJapan2024-05-30Rangoni Of Florence RENEWAL45Ioni Bowcher
1005Johnson E MarrierAustralia2024-05-26Morlong Associates PROPOSAL79Elwin Sharvill
1006Salvatore S SergiAustralia2024-05-29Printing Dimensions RENEWAL30Amy Elsner
1007Julie D VenereIndia2024-06-04Printing Dimensions UNQUALIFIED36Anna Fali
1008Ashley T MacleadAustralia2024-05-31King, Christopher A Esq PROPOSAL24Ivan Magalhaes
1009Leon R DarakjyBrazil2024-05-31Morlong Associates PROPOSAL49Anna Fali
1010Claire U GlickIndia2024-06-04Morlong Associates NEW57Asiya Javayant
1011Kadeem C DarakjyRussia2024-06-09Truhlar And Truhlar Attys NEW61Xuxue Feng
1012Cody L FigeroaFrance2024-06-11Morlong Associates NEGOTIATION10Stephen Shaw
1013Jeanfrancois I NickaCanada2024-05-18Rangoni Of Florence RENEWAL61Xuxue Feng
1014Munro I DoeUnited Kingdom2024-05-21Feltz Printing Service UNQUALIFIED95Ioni Bowcher
1015Johnson G FigeroaRussia2024-05-25Dorl, James J Esq NEGOTIATION19Ivan Magalhaes
1016Maria V CaldareraIndia2024-05-27Buckley Miller Wright NEGOTIATION84Bernardo Dominic
1017Greenwood H GlickRussia2024-06-04Chapman, Ross E Esq QUALIFIED69Onyama Limba
1018Alejandro T CampainRussia2024-06-11Feiner Bros PROPOSAL65Elwin Sharvill
1019Cody M RimSpain2024-06-13Feiner Bros QUALIFIED71Ioni Bowcher
1020Costa U ChuiSpain2024-05-17Morlong Associates QUALIFIED34Amy Elsner
1021Ricardo W BriddickGermany2024-05-15Chemel, James L Cpa PROPOSAL15Xuxue Feng
1022Misaki K NestleGermany2024-05-23King, Christopher A Esq RENEWAL86Xuxue Feng
1023Jeanfrancois J FerenczAustralia2024-05-20Benton, John B Jr QUALIFIED80Ivan Magalhaes
1024Morrow J PaprockiJapan2024-05-31Commercial Press RENEWAL43Stephen Shaw
1025Leja H StensethBrazil2024-06-12Buckley Miller Wright PROPOSAL68Asiya Javayant
1026Johnson P GauchoIndia2024-05-15Commercial Press NEW51Ivan Magalhaes
1027James G DoeCanada2024-05-23Rangoni Of Florence NEGOTIATION8Onyama Limba
1028Kadeem V FollerItaly2024-06-13Commercial Press NEW8Amy Elsner
1029Jones F VenereArgentina2024-05-27Rangoni Of Florence UNQUALIFIED59Onyama Limba
1030Emily H OstroskyGermany2024-05-19Buckley Miller Wright QUALIFIED36Onyama Limba
1031Mayumi E ButtRussia2024-06-02Morlong Associates NEW62Anna Fali
1032Ashley M MarrierBrazil2024-05-29Morlong Associates RENEWAL75Asiya Javayant
1033Nicolas Y OldroydArgentina2024-05-24Dorl, James J Esq NEGOTIATION85Ivan Magalhaes
1034Aika S OldroydFrance2024-05-15Commercial Press RENEWAL97Elwin Sharvill
1035Leja E BologniaAustralia2024-05-27King, Christopher A Esq PROPOSAL31Stephen Shaw
1036Salvatore F DoeGermany2024-05-23Benton, John B Jr NEW47Asiya Javayant
1037Izzy M IturbideItaly2024-05-30Buckley Miller Wright RENEWAL66Elwin Sharvill
1038Ashley L BologniaBrazil2024-06-13Morlong Associates RENEWAL41Amy Elsner
1039Jefferson A ChuiBrazil2024-05-30Commercial Press NEGOTIATION29Stephen Shaw
1040Silvio H ShinkoGermany2024-05-29Truhlar And Truhlar Attys NEGOTIATION62Bernardo Dominic
1041Darci P IturbideCanada2024-05-27Rousseaux, Michael Esq NEGOTIATION97Ioni Bowcher
1042Tony L KolmetzUnited Kingdom2024-06-09Feiner Bros NEGOTIATION0Ivan Magalhaes
1043Izzy P AlbaresRussia2024-06-08Feltz Printing Service NEW8Ioni Bowcher
1044Juan A MorascaArgentina2024-06-07King, Christopher A Esq NEGOTIATION23Amy Elsner
1045Maisha G FerenczFrance2024-05-21Rangoni Of Florence NEGOTIATION11Xuxue Feng
1046Greenwood C NestleIndia2024-05-26Feltz Printing Service NEW39Xuxue Feng
1047Kaitlin B MaletIndia2024-05-23Commercial Press NEW8Onyama Limba
1048Tony Z NickaArgentina2024-05-30Feltz Printing Service QUALIFIED60Stephen Shaw
1049Adams P BriddickGermany2024-05-15Dorl, James J Esq PROPOSAL97Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci F MarrierArgentinaIoni Bowcher QUALIFIED
Chavez A IturbideUnited KingdomAmy Elsner QUALIFIED
Juan Q SchemmerAustraliaIvan Magalhaes QUALIFIED
Aika F FigeroaRussiaStephen Shaw QUALIFIED
Antonio G AmigonArgentinaBernardo Dominic RENEWAL
Jefferson J RutaJapanIvan Magalhaes UNQUALIFIED
David O AmigonFranceAnna Fali UNQUALIFIED
David S RimFranceAmy Elsner QUALIFIED
Antonio E BriddickGermanyAsiya Javayant QUALIFIED
Maria V SaylorsAustraliaAsiya Javayant QUALIFIED
Salvatore H GlickJapanAnna Fali NEGOTIATION
Antonio M PoquetteBrazilIvan Magalhaes NEW
Emily M RoysterBrazilBernardo Dominic NEGOTIATION
Stacey K DilliardFranceXuxue Feng RENEWAL
Leon V BriddickArgentinaIvan Magalhaes QUALIFIED
Nicolas A InouyeAustraliaAsiya Javayant UNQUALIFIED
Deepesh Z WieserArgentinaElwin Sharvill UNQUALIFIED
Morrow U GlickRussiaAmy Elsner RENEWAL
Julie K OstroskyFranceElwin Sharvill QUALIFIED
Alejandro G DoeAustraliaXuxue Feng QUALIFIED
Francesco Z FollerArgentinaStephen Shaw PROPOSAL
Maria X ChuiArgentinaAmy Elsner QUALIFIED
Salvatore P OstroskyIndiaOnyama Limba RENEWAL
Rodrigues G BriddickGermanyAmy Elsner NEGOTIATION
Aika V NestleCanadaXuxue Feng NEGOTIATION
Francesco N VenereGermanyElwin Sharvill PROPOSAL
Murillo L GlickCanadaAsiya Javayant NEGOTIATION
Murillo H SchemmerAustraliaBernardo Dominic NEW
Antonio R ShinkoFranceElwin Sharvill QUALIFIED
Leja B CaudyRussiaIoni Bowcher UNQUALIFIED
Ivar W PaprockiIndiaIoni Bowcher NEGOTIATION
Misaki C TollnerBrazilIoni Bowcher PROPOSAL
Leon K FlosiFranceIoni Bowcher QUALIFIED
Aruna B InouyeArgentinaBernardo Dominic QUALIFIED
Isabel E PoquetteItalyAnna Fali PROPOSAL
Silvio D WaycottArgentinaAmy Elsner RENEWAL
Leon R SchemmerBrazilAnna Fali NEW
Francesco M MacleadFranceElwin Sharvill UNQUALIFIED
Stacey D RutaItalyIoni Bowcher NEGOTIATION
Kadeem S IturbideBrazilIvan Magalhaes NEW
Greenwood M FerenczIndiaBernardo Dominic QUALIFIED
Kaitlin Y FollerAustraliaIoni Bowcher UNQUALIFIED
Izzy R NestleAustraliaAmy Elsner NEW
Chavez D FigeroaFranceIoni Bowcher UNQUALIFIED
Claire S MarrierIndiaIvan Magalhaes PROPOSAL
Misaki A MacleadItalyElwin Sharvill QUALIFIED
Izzy Q PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Adams I AlbaresFranceElwin Sharvill NEGOTIATION
Misaki J PoquetteIndiaBernardo Dominic PROPOSAL
Julie T FlosiCanadaXuxue Feng NEW
Frozen Columns
Name
Aditya T Stenseth
Jones S Darakjy
Darci G Doe
Greenwood J Campain
Ivar S Glick
Francesco A Venere
Adams Y Nicka
Maisha J Gillian
Costa D Perin
Kaitlin D Schemmer
Emily M Nicka
Antonio H Kusko
Aika V Marrier
Alejandro Z Paprocki
Greenwood Q Glick
Leon E Tollner
Mujtaba I Waycott
Mujtaba W Gillian
Octavia U Garufi
Ashley A Tollner
Jeanfrancois W Oldroyd
Alejandro G Perin
Ashley Z Iturbide
Emily J Venere
Jennifer S Ostrosky
Clifford H Garufi
Munro K Stenseth
Cody G Nicka
Aruna Z Oldroyd
Jefferson E Doe
Kaitlin P Shinko
Misaki D Shinko
Leja R Maclead
Misaki L Paprocki
Leja E Darakjy
Tony U Marrier
Greenwood C Rim
Munro Q Stockham
Munro K Caudy
Mayumi K Kusko
Darci J Darakjy
Deepesh N Stenseth
Maria U Kusko
Munro W Ferencz
Cody I Gaucho
Kaitlin D Darakjy
Tony X Chui
Murillo B Glick
Leon I Gaucho
Francesco Z Butt
IdCountryDate
1000Germany2024-05-18
1001Brazil2024-05-29
1002Brazil2024-05-30
1003Germany2024-05-21
1004Japan2024-06-06
1005Spain2024-06-08
1006Brazil2024-05-18
1007Italy2024-05-20
1008Russia2024-05-19
1009Argentina2024-06-09
1010Germany2024-05-16
1011Japan2024-06-10
1012Germany2024-05-22
1013Australia2024-05-25
1014France2024-05-24
1015Brazil2024-06-05
1016Spain2024-05-16
1017Spain2024-06-05
1018Argentina2024-05-26
1019Spain2024-05-18
1020France2024-05-25
1021United Kingdom2024-06-11
1022Russia2024-06-13
1023France2024-05-15
1024India2024-05-21
1025India2024-06-03
1026Argentina2024-05-22
1027Australia2024-06-02
1028India2024-05-30
1029France2024-05-22
1030Germany2024-05-31
1031United Kingdom2024-06-10
1032France2024-05-28
1033United Kingdom2024-06-06
1034Spain2024-06-09
1035Canada2024-05-16
1036India2024-06-03
1037Russia2024-05-18
1038Canada2024-06-03
1039Canada2024-06-09
1040India2024-06-03
1041Germany2024-05-25
1042India2024-05-28
1043Australia2024-05-18
1044India2024-05-27
1045Argentina2024-06-08
1046Italy2024-05-17
1047Argentina2024-05-18
1048Germany2024-06-12
1049Italy2024-05-25

On-Demand Data

NameIdCountryDate
Tony R Kusko1000Spain2024-05-16
Kadeem P Slusarski1001Australia2024-05-26
Maisha G Maclead1002Argentina2024-06-12
Clifford R Perin1003Russia2024-06-11
Misaki P Nicka1004Japan2024-06-10
Aika G Darakjy1005Australia2024-06-05
Costa I Schemmer1006Russia2024-05-15
Misaki O Morasca1007Canada2024-05-30
Izzy X Bowley1008Japan2024-05-20
Chavez W Ruta1009Germany2024-05-28
Murillo E Royster1010France2024-05-24
Adams Q Stockham1011France2024-05-28
Sinclair O Whobrey1012Spain2024-05-31
Antonio Q Garufi1013Germany2024-06-11
Morrow H Butt1014United Kingdom2024-06-03
Kadeem R Iturbide1015United Kingdom2024-05-30
Arvin M Albares1016Argentina2024-06-03
Misaki O Maclead1017Spain2024-05-27
Mayumi C Dilliard1018Russia2024-06-09
Kadeem P Campain1019Australia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey D AmigonJapanBernardo Dominic RENEWAL
Costa W DilliardItalyIoni Bowcher NEGOTIATION
Francesco O MarrierCanadaOnyama Limba NEGOTIATION
Costa T PerinGermanyXuxue Feng RENEWAL
Ashley M MaletRussiaBernardo Dominic NEW
Faith K RulapaughItalyElwin Sharvill QUALIFIED
Isabel Q MaletJapanIvan Magalhaes NEGOTIATION
Rodrigues E RimFranceStephen Shaw QUALIFIED
Juan M OstroskyArgentinaIoni Bowcher NEW
Sinclair V NestleJapanStephen Shaw NEGOTIATION
Cody C SergiSpainElwin Sharvill NEGOTIATION
Leja E WieserFranceOnyama Limba RENEWAL
Octavia I NestleRussiaXuxue Feng NEW
Rodrigues Z InouyeRussiaIoni Bowcher NEGOTIATION
Morrow X AlbaresUnited KingdomStephen Shaw RENEWAL
Emily Q MaletJapanBernardo Dominic RENEWAL
Arvin T InouyeSpainBernardo Dominic RENEWAL
Wickens Z PoquetteBrazilElwin Sharvill RENEWAL
Morrow U ButtBrazilIoni Bowcher NEW
Octavia N StensethArgentinaElwin Sharvill NEW
Leja P SaylorsItalyBernardo Dominic NEGOTIATION
Leja P NickaJapanXuxue Feng NEW
Maisha W SergiJapanBernardo Dominic NEW
Emily Y MaletGermanyBernardo Dominic RENEWAL
Francesco C TollnerItalyElwin Sharvill NEW
Mujtaba K WieserUnited KingdomElwin Sharvill NEW
Juan P SlusarskiBrazilXuxue Feng PROPOSAL
Aditya V ButtIndiaIoni Bowcher NEW
Jennifer V GauchoJapanOnyama Limba QUALIFIED
Julie M DilliardItalyIvan Magalhaes NEW
Maisha L MacleadItalyOnyama Limba UNQUALIFIED
Nicolas F VocelkaCanadaIoni Bowcher NEW
Aika M GarufiGermanyIoni Bowcher PROPOSAL
Cody B StockhamAustraliaIoni Bowcher QUALIFIED
Maisha E MarrierIndiaXuxue Feng PROPOSAL
Deepesh N GarufiSpainBernardo Dominic PROPOSAL
Silvio N RulapaughGermanyAsiya Javayant RENEWAL
Aditya S OldroydCanadaAsiya Javayant RENEWAL
Claire Y NestleUnited KingdomAmy Elsner NEW
Johnson S KuskoArgentinaXuxue Feng 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>