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
Misaki E MacleadBrazilAnna Fali RENEWAL
Octavia F GauchoAustraliaOnyama Limba QUALIFIED
Juan Z MacleadItalyAnna Fali QUALIFIED
Jeanfrancois E VenereRussiaAmy Elsner RENEWAL
Darci R WaycottBrazilXuxue Feng PROPOSAL
Jefferson K NickaUnited KingdomXuxue Feng NEGOTIATION
Johnson L GauchoItalyStephen Shaw PROPOSAL
Juan M StensethSpainOnyama Limba PROPOSAL
Maisha Y GauchoItalyAsiya Javayant NEW
Juan A StensethFranceIvan Magalhaes RENEWAL
Jeanfrancois H VocelkaJapanAnna Fali RENEWAL
Aditya M DilliardFranceAsiya Javayant RENEWAL
Mayumi J FollerIndiaElwin Sharvill NEW
Kadeem M NickaArgentinaOnyama Limba NEW
Nicolas M CampainBrazilElwin Sharvill QUALIFIED
Clifford E DilliardUnited KingdomAmy Elsner QUALIFIED
Izzy A FollerRussiaIvan Magalhaes UNQUALIFIED
Costa U ShinkoJapanStephen Shaw NEW
Claire M KuskoGermanyAnna Fali RENEWAL
Ricardo R SaylorsIndiaXuxue Feng PROPOSAL
Leon W SergiBrazilAmy Elsner PROPOSAL
Munro J MorascaGermanyAsiya Javayant NEGOTIATION
Mayumi F KolmetzRussiaIvan Magalhaes QUALIFIED
Aruna T CaldareraRussiaXuxue Feng NEW
Misaki A PerinAustraliaIoni Bowcher UNQUALIFIED
Maisha T MorascaAustraliaAmy Elsner RENEWAL
Murillo Z FigeroaGermanyIoni Bowcher NEGOTIATION
Isabel D MarrierCanadaBernardo Dominic QUALIFIED
Ashley N MaletGermanyOnyama Limba QUALIFIED
Isabel A MaletSpainElwin Sharvill PROPOSAL
Greenwood S StensethIndiaStephen Shaw UNQUALIFIED
Silvio M VocelkaCanadaIoni Bowcher NEGOTIATION
Maria L RimArgentinaBernardo Dominic PROPOSAL
Sinclair J ChuiUnited KingdomAmy Elsner QUALIFIED
Stacey G OldroydSpainBernardo Dominic UNQUALIFIED
Octavia C DarakjyGermanyAsiya Javayant RENEWAL
Ashley S KolmetzFranceElwin Sharvill UNQUALIFIED
Arvin M NickaRussiaOnyama Limba PROPOSAL
Ricardo S GarufiSpainAsiya Javayant UNQUALIFIED
Izzy B NickaUnited KingdomBernardo Dominic RENEWAL
Juan V BowleyBrazilIoni Bowcher QUALIFIED
Johnson L KuskoUnited KingdomIoni Bowcher RENEWAL
Johnson W NestleBrazilIvan Magalhaes QUALIFIED
Munro F BriddickSpainAsiya Javayant RENEWAL
Faith Z InouyeCanadaIvan Magalhaes RENEWAL
Isabel R AlbaresRussiaElwin Sharvill UNQUALIFIED
Murillo U CampainCanadaAsiya Javayant NEGOTIATION
Adams E SchemmerJapanAnna Fali PROPOSAL
Tony T ChuiFranceElwin Sharvill QUALIFIED
Jones J CaldareraBrazilAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson R VocelkaFranceStephen Shaw UNQUALIFIED
Chavez P FlosiRussiaAsiya Javayant PROPOSAL
Faith M KuskoIndiaElwin Sharvill NEGOTIATION
Leja I ButtIndiaStephen Shaw UNQUALIFIED
Adams Y MacleadBrazilXuxue Feng NEW
Claire M SchemmerArgentinaAnna Fali UNQUALIFIED
Clifford L BriddickArgentinaAnna Fali NEW
Tony X PerinSpainIoni Bowcher NEGOTIATION
Nicolas L CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Stacey W RulapaughAustraliaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith R VocelkaItaly2024-06-16Chapman, Ross E Esq QUALIFIED5Ivan Magalhaes
1001Cody C MarrierItaly2024-05-29Commercial Press NEGOTIATION11Asiya Javayant
1002Salvatore G IturbideJapan2024-06-08Commercial Press RENEWAL83Stephen Shaw
1003Izzy R SlusarskiGermany2024-05-30Dorl, James J Esq QUALIFIED26Amy Elsner
1004Darci A StockhamAustralia2024-06-16Chapman, Ross E Esq UNQUALIFIED97Elwin Sharvill
1005Izzy R OldroydJapan2024-06-04Dorl, James J Esq NEW59Ioni Bowcher
1006Cody V RulapaughFrance2024-06-05Chapman, Ross E Esq RENEWAL57Asiya Javayant
1007Ashley T SergiAustralia2024-06-06Chapman, Ross E Esq QUALIFIED63Ioni Bowcher
1008Murillo B PaprockiCanada2024-06-18Rangoni Of Florence UNQUALIFIED98Asiya Javayant
1009Aruna W GillianBrazil2024-06-03King, Christopher A Esq NEW98Elwin Sharvill
1010Ashley A KolmetzRussia2024-05-30Feiner Bros PROPOSAL10Asiya Javayant
1011Jefferson N CaudyJapan2024-06-16Feltz Printing Service QUALIFIED82Bernardo Dominic
1012Ivar L DarakjyCanada2024-06-03Printing Dimensions PROPOSAL64Ioni Bowcher
1013Clifford X WieserUnited Kingdom2024-06-06Rangoni Of Florence QUALIFIED28Elwin Sharvill
1014Stacey K PerinCanada2024-06-16Rousseaux, Michael Esq UNQUALIFIED31Ioni Bowcher
1015Morrow H BriddickJapan2024-06-12Rangoni Of Florence UNQUALIFIED94Bernardo Dominic
1016Nicolas D InouyeFrance2024-06-05Benton, John B Jr QUALIFIED42Amy Elsner
1017Arvin X OstroskyJapan2024-05-29Printing Dimensions RENEWAL58Asiya Javayant
1018Izzy J VenereGermany2024-06-08Chanay, Jeffrey A Esq RENEWAL81Asiya Javayant
1019Alejandro S PaprockiGermany2024-05-27Buckley Miller Wright NEW91Bernardo Dominic
1020Emily Y AmigonRussia2024-06-16Truhlar And Truhlar Attys PROPOSAL32Bernardo Dominic
1021Greenwood K MacleadArgentina2024-06-21Truhlar And Truhlar Attys NEW37Elwin Sharvill
1022Chavez U KuskoUnited Kingdom2024-05-29Chapman, Ross E Esq NEW88Ivan Magalhaes
1023Izzy G FlosiIndia2024-05-26Rangoni Of Florence UNQUALIFIED82Stephen Shaw
1024Leja K SergiAustralia2024-06-02Chapman, Ross E Esq UNQUALIFIED83Ioni Bowcher
1025Smith T ShinkoBrazil2024-06-01Chanay, Jeffrey A Esq QUALIFIED32Anna Fali
1026Faith J MarrierBrazil2024-05-28Buckley Miller Wright RENEWAL59Xuxue Feng
1027Emily O PerinBrazil2024-06-14Rousseaux, Michael Esq NEGOTIATION61Anna Fali
1028Emily O GauchoItaly2024-06-03Feiner Bros NEGOTIATION85Bernardo Dominic
1029Aika R CaldareraCanada2024-06-21Rangoni Of Florence NEGOTIATION59Onyama Limba
1030Deepesh Q TollnerGermany2024-06-09Dorl, James J Esq PROPOSAL27Onyama Limba
1031Julie G MaletCanada2024-06-14Commercial Press RENEWAL69Asiya Javayant
1032Smith D MaletUnited Kingdom2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1033Murillo X RimBrazil2024-05-24Rangoni Of Florence PROPOSAL63Onyama Limba
1034Claire W StockhamCanada2024-05-31Morlong Associates NEGOTIATION97Xuxue Feng
1035Murillo T BowleyCanada2024-06-08Truhlar And Truhlar Attys PROPOSAL65Onyama Limba
1036Costa X WaycottItaly2024-06-01Rousseaux, Michael Esq QUALIFIED14Amy Elsner
1037Greenwood W TollnerJapan2024-06-05Chanay, Jeffrey A Esq RENEWAL68Amy Elsner
1038Francesco Q StockhamJapan2024-06-09King, Christopher A Esq NEW49Stephen Shaw
1039Aruna M PerinRussia2024-05-26Printing Dimensions PROPOSAL90Xuxue Feng
1040Leja L AlbaresRussia2024-05-27Feltz Printing Service NEW23Xuxue Feng
1041Ricardo Q GauchoItaly2024-06-12Morlong Associates NEGOTIATION5Elwin Sharvill
1042Greenwood U GauchoRussia2024-06-01Feltz Printing Service RENEWAL80Amy Elsner
1043Rodrigues T WaycottGermany2024-05-31Rangoni Of Florence RENEWAL70Elwin Sharvill
1044James B PaprockiFrance2024-06-17Rangoni Of Florence UNQUALIFIED23Ioni Bowcher
1045Darci M OstroskyRussia2024-06-12Chemel, James L Cpa RENEWAL43Asiya Javayant
1046Maria D CaldareraArgentina2024-05-30Rangoni Of Florence NEW37Amy Elsner
1047Jefferson J FollerItaly2024-05-24Commercial Press UNQUALIFIED44Ivan Magalhaes
1048Tony R RutaArgentina2024-05-29Morlong Associates QUALIFIED60Onyama Limba
1049Arvin W KolmetzBrazil2024-05-25Chemel, James L Cpa PROPOSAL45Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki A RulapaughGermanyAmy Elsner PROPOSAL
Stacey R WhobreyAustraliaElwin Sharvill PROPOSAL
Leon K TollnerSpainXuxue Feng PROPOSAL
Kadeem Z ChuiGermanyOnyama Limba NEGOTIATION
Smith X BowleyIndiaAsiya Javayant NEW
Wickens O NestleJapanAnna Fali NEW
Juan Z CaldareraFranceOnyama Limba NEGOTIATION
Antonio J KolmetzBrazilAsiya Javayant RENEWAL
Maisha E WhobreyUnited KingdomAsiya Javayant QUALIFIED
Mujtaba F SergiArgentinaOnyama Limba UNQUALIFIED
Clifford G SaylorsItalyIvan Magalhaes NEGOTIATION
Jones T GlickUnited KingdomStephen Shaw UNQUALIFIED
Arvin I StockhamRussiaIvan Magalhaes NEGOTIATION
Wickens C MarrierAustraliaOnyama Limba NEGOTIATION
Arvin K KuskoGermanyAmy Elsner NEW
Leon O RimCanadaIvan Magalhaes RENEWAL
Adams F DoeArgentinaBernardo Dominic NEGOTIATION
Wickens I CampainArgentinaXuxue Feng UNQUALIFIED
Tony N KuskoArgentinaElwin Sharvill UNQUALIFIED
Emily E DarakjyGermanyAmy Elsner UNQUALIFIED
Jefferson E WieserAustraliaAmy Elsner NEGOTIATION
Smith B DilliardArgentinaXuxue Feng UNQUALIFIED
Juan E WhobreyJapanIvan Magalhaes PROPOSAL
David T KolmetzCanadaAnna Fali RENEWAL
Ashley I FollerSpainOnyama Limba PROPOSAL
Sinclair J SchemmerGermanyIoni Bowcher NEGOTIATION
Costa J DoeFranceAsiya Javayant NEW
Nicolas M DarakjyArgentinaAnna Fali UNQUALIFIED
Faith B ChuiSpainElwin Sharvill QUALIFIED
Alejandro T DilliardAustraliaElwin Sharvill PROPOSAL
Aika G ButtAustraliaElwin Sharvill UNQUALIFIED
Cody J TollnerItalyElwin Sharvill QUALIFIED
Greenwood Y RimRussiaAnna Fali UNQUALIFIED
Mayumi Y MorascaArgentinaBernardo Dominic RENEWAL
Arvin C StockhamGermanyOnyama Limba NEW
Mujtaba O NickaFranceXuxue Feng RENEWAL
Alejandro W DilliardArgentinaAmy Elsner RENEWAL
Cody Y GarufiGermanyAnna Fali QUALIFIED
Octavia X AlbaresJapanElwin Sharvill RENEWAL
Mujtaba V NestleFranceIvan Magalhaes UNQUALIFIED
Maisha N CaudyGermanyXuxue Feng NEW
Munro V AmigonArgentinaAnna Fali UNQUALIFIED
Morrow E WieserUnited KingdomIoni Bowcher QUALIFIED
Rodrigues M FlosiUnited KingdomIoni Bowcher NEGOTIATION
Maisha F FlosiRussiaElwin Sharvill RENEWAL
Claire T AmigonFranceAsiya Javayant QUALIFIED
Tony D WaycottItalyBernardo Dominic NEGOTIATION
Smith B ButtIndiaBernardo Dominic QUALIFIED
Leon G VenereItalyAnna Fali NEGOTIATION
Leja T WieserRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Izzy R Venere
Sinclair M Chui
Wickens E Maclead
Ricardo R Paprocki
Faith K Morasca
Adams B Nicka
Costa F Perin
Mayumi R Iturbide
David Z Briddick
Maisha H Wieser
Greenwood F Doe
Silvio I Doe
Julie F Royster
Morrow B Ruta
Tony N Ferencz
Murillo L Maclead
Tony M Ferencz
Maria U Venere
Chavez K Malet
Izzy X Caudy
Adams X Venere
Maisha F Maclead
Leja J Butt
Faith U Maclead
Darci T Caldarera
Aika G Maclead
Francesco S Slusarski
Ivar O Malet
Jennifer E Shinko
Deepesh D Royster
Aika Q Butt
Salvatore E Maclead
Arvin A Darakjy
Misaki C Paprocki
Faith B Sergi
Stacey J Iturbide
Johnson C Sergi
Juan I Sergi
Jeanfrancois N Kolmetz
Aika T Kolmetz
Aruna L Figeroa
Adams S Foller
Clifford Z Caudy
David S Dilliard
Nicolas F Vocelka
David G Darakjy
Darci P Whobrey
Alejandro Y Iturbide
Jones T Waycott
Stacey M Sergi
IdCountryDate
1000Germany2024-06-16
1001Spain2024-06-13
1002United Kingdom2024-05-25
1003Australia2024-06-21
1004United Kingdom2024-06-13
1005Argentina2024-06-10
1006France2024-06-13
1007France2024-05-29
1008Brazil2024-05-23
1009Germany2024-06-13
1010Russia2024-06-15
1011France2024-06-13
1012Italy2024-06-19
1013Germany2024-06-17
1014Australia2024-05-27
1015Italy2024-06-18
1016Canada2024-06-15
1017Canada2024-06-18
1018Russia2024-06-02
1019Italy2024-05-27
1020Germany2024-06-20
1021France2024-06-21
1022Spain2024-06-08
1023Australia2024-05-30
1024Germany2024-05-23
1025Spain2024-06-16
1026Australia2024-05-26
1027Russia2024-05-28
1028Germany2024-06-08
1029Argentina2024-06-08
1030Australia2024-06-11
1031Canada2024-05-28
1032Brazil2024-05-26
1033Argentina2024-06-03
1034United Kingdom2024-06-21
1035India2024-06-05
1036Brazil2024-06-08
1037Spain2024-05-26
1038United Kingdom2024-06-16
1039Italy2024-06-12
1040Australia2024-06-07
1041Canada2024-06-18
1042Japan2024-06-19
1043France2024-06-15
1044Brazil2024-06-14
1045Japan2024-05-23
1046Canada2024-06-14
1047Spain2024-06-03
1048Argentina2024-06-14
1049Brazil2024-05-30

On-Demand Data

NameIdCountryDate
Misaki O Wieser1000Italy2024-05-29
Antonio A Oldroyd1001United Kingdom2024-06-15
Johnson K Whobrey1002Italy2024-06-20
Sinclair X Chui1003Russia2024-06-20
Juan D Darakjy1004Russia2024-06-05
Chavez B Ferencz1005Spain2024-06-14
Johnson U Ruta1006Australia2024-06-02
Deepesh X Ruta1007Australia2024-05-25
Munro L Malet1008Argentina2024-06-17
Claire M Doe1009France2024-05-27
Morrow I Nicka1010Spain2024-06-08
Darci D Darakjy1011Russia2024-06-19
Adams U Perin1012Germany2024-05-28
Munro H Poquette1013Japan2024-05-31
Izzy K Figeroa1014Spain2024-06-03
Mayumi A Ruta1015Argentina2024-05-30
Isabel E Iturbide1016India2024-06-20
Tony C Waycott1017India2024-06-11
Morrow M Morasca1018Canada2024-06-01
Alejandro D Caudy1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens U RimBrazilAnna Fali NEGOTIATION
Izzy N GauchoIndiaOnyama Limba PROPOSAL
Aika F AlbaresUnited KingdomAsiya Javayant QUALIFIED
Juan E RutaUnited KingdomAsiya Javayant NEW
Juan G BriddickUnited KingdomIvan Magalhaes PROPOSAL
Deepesh G RoysterRussiaXuxue Feng UNQUALIFIED
Jefferson F OstroskyCanadaIvan Magalhaes PROPOSAL
Smith F IturbideItalyElwin Sharvill RENEWAL
David N GlickRussiaAmy Elsner RENEWAL
Cody G WaycottBrazilAsiya Javayant RENEWAL
Misaki A PaprockiItalyAmy Elsner NEGOTIATION
Munro Q CaudyJapanAnna Fali NEGOTIATION
Aruna Z MaletCanadaAnna Fali NEGOTIATION
Mayumi V RimAustraliaBernardo Dominic NEGOTIATION
Faith Y StockhamUnited KingdomAnna Fali NEGOTIATION
Aika U FollerArgentinaStephen Shaw NEGOTIATION
Wickens O MacleadUnited KingdomOnyama Limba RENEWAL
Ashley H SergiGermanyAnna Fali UNQUALIFIED
Misaki L VenereRussiaIvan Magalhaes PROPOSAL
Emily D BriddickGermanyAmy Elsner QUALIFIED
Murillo B StensethCanadaElwin Sharvill QUALIFIED
Nicolas M RoysterUnited KingdomBernardo Dominic NEW
Juan K FerenczItalyIvan Magalhaes NEGOTIATION
Arvin J GarufiArgentinaIoni Bowcher UNQUALIFIED
Faith R SergiItalyIvan Magalhaes PROPOSAL
Wickens M WaycottSpainOnyama Limba NEGOTIATION
Ivar R SchemmerArgentinaIoni Bowcher NEGOTIATION
Maria Y WhobreyArgentinaIoni Bowcher NEW
Wickens J FlosiRussiaIoni Bowcher PROPOSAL
Mayumi C DoeSpainIoni Bowcher UNQUALIFIED
Ivar U OldroydSpainStephen Shaw PROPOSAL
Clifford Q FlosiSpainXuxue Feng PROPOSAL
Ashley Y StensethSpainIoni Bowcher NEW
Murillo N TollnerIndiaOnyama Limba QUALIFIED
Cody N RimArgentinaAsiya Javayant NEW
Chavez V PaprockiArgentinaAmy Elsner QUALIFIED
Aika B FerenczItalyOnyama Limba NEW
Jones M DarakjyGermanyAmy Elsner QUALIFIED
Jeanfrancois B StockhamBrazilBernardo Dominic RENEWAL
Tony J RulapaughAustraliaAnna Fali PROPOSAL

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