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
Jennifer R PerinIndiaBernardo Dominic RENEWAL
Ivar L RutaSpainIoni Bowcher NEW
Smith H FerenczCanadaAsiya Javayant UNQUALIFIED
Nicolas A GillianArgentinaAsiya Javayant PROPOSAL
Stacey C SlusarskiJapanIvan Magalhaes NEW
Claire K FlosiCanadaAnna Fali NEGOTIATION
Silvio V MaletItalyXuxue Feng UNQUALIFIED
Julie Y TollnerFranceIvan Magalhaes UNQUALIFIED
Emily C ButtFranceIvan Magalhaes RENEWAL
Johnson L OstroskyGermanyIvan Magalhaes NEW
Leja Z ButtGermanyStephen Shaw PROPOSAL
Maisha K DarakjyGermanyAmy Elsner RENEWAL
Rodrigues N SchemmerIndiaIoni Bowcher NEGOTIATION
Kadeem F PaprockiCanadaElwin Sharvill RENEWAL
Aruna M MaletCanadaIvan Magalhaes NEW
Tony L BologniaSpainOnyama Limba QUALIFIED
Wickens J WhobreyBrazilIoni Bowcher NEGOTIATION
Silvio Z RutaAustraliaOnyama Limba QUALIFIED
Emily K RoysterGermanyOnyama Limba QUALIFIED
David Z ShinkoBrazilXuxue Feng QUALIFIED
Deepesh N ButtItalyElwin Sharvill UNQUALIFIED
Kaitlin N BriddickJapanBernardo Dominic PROPOSAL
Ricardo Y MorascaArgentinaStephen Shaw UNQUALIFIED
Ashley W SlusarskiIndiaBernardo Dominic UNQUALIFIED
Leon O RulapaughJapanStephen Shaw QUALIFIED
Emily I DilliardFranceAsiya Javayant RENEWAL
Costa S StockhamItalyOnyama Limba UNQUALIFIED
Isabel K GillianUnited KingdomStephen Shaw PROPOSAL
Chavez U NickaIndiaXuxue Feng PROPOSAL
Kaitlin P MaletSpainBernardo Dominic UNQUALIFIED
Emily V KolmetzAustraliaAsiya Javayant PROPOSAL
Aditya N MaletFranceOnyama Limba NEW
Julie Z InouyeIndiaIvan Magalhaes PROPOSAL
Stacey M WaycottItalyElwin Sharvill UNQUALIFIED
Costa O InouyeIndiaXuxue Feng PROPOSAL
Munro K BologniaCanadaBernardo Dominic NEGOTIATION
Salvatore F PaprockiFranceOnyama Limba NEW
Tony N BologniaIndiaElwin Sharvill NEW
Deepesh D FlosiRussiaAsiya Javayant NEGOTIATION
Maisha A SchemmerRussiaIvan Magalhaes PROPOSAL
Aika S FigeroaArgentinaIvan Magalhaes RENEWAL
Emily A MacleadJapanOnyama Limba QUALIFIED
Costa Z KolmetzCanadaAmy Elsner NEGOTIATION
Octavia L AmigonItalyAsiya Javayant RENEWAL
Ashley T GarufiJapanAmy Elsner QUALIFIED
Emily A DarakjyAustraliaIvan Magalhaes QUALIFIED
Aruna A MaletIndiaElwin Sharvill QUALIFIED
Nicolas W DilliardUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois M RoysterJapanXuxue Feng PROPOSAL
Kaitlin R NestleAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem M RulapaughBrazilOnyama Limba NEW
Aditya N GauchoArgentinaStephen Shaw UNQUALIFIED
Murillo F SaylorsAustraliaAmy Elsner UNQUALIFIED
Alejandro O DoeFranceAnna Fali NEGOTIATION
Sinclair U PoquetteRussiaAsiya Javayant UNQUALIFIED
Mujtaba H IturbideJapanAnna Fali QUALIFIED
Morrow U GarufiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois D KuskoAustraliaAmy Elsner NEGOTIATION
Salvatore U AmigonBrazilAnna Fali PROPOSAL
Maisha S InouyeFranceBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa W RulapaughIndia2024-09-01Commercial Press UNQUALIFIED38Ioni Bowcher
1001Francesco S RulapaughIndia2024-09-08Rousseaux, Michael Esq QUALIFIED12Asiya Javayant
1002Jennifer X RutaItaly2024-09-11Chapman, Ross E Esq UNQUALIFIED81Ioni Bowcher
1003Ricardo X MarrierJapan2024-09-11Dorl, James J Esq PROPOSAL91Stephen Shaw
1004Emily I FollerIndia2024-09-20Dorl, James J Esq RENEWAL82Elwin Sharvill
1005Misaki L SchemmerBrazil2024-08-26Printing Dimensions NEW85Onyama Limba
1006Darci D WieserJapan2024-08-27Morlong Associates RENEWAL43Ioni Bowcher
1007Mayumi A NickaIndia2024-08-29Morlong Associates UNQUALIFIED39Anna Fali
1008Antonio M StockhamGermany2024-09-15Truhlar And Truhlar Attys RENEWAL48Bernardo Dominic
1009Claire U TollnerUnited Kingdom2024-09-20Chemel, James L Cpa UNQUALIFIED79Bernardo Dominic
1010Murillo C CaudyUnited Kingdom2024-09-19Feiner Bros QUALIFIED59Amy Elsner
1011Alejandro T GauchoGermany2024-09-17Commercial Press QUALIFIED25Stephen Shaw
1012Sinclair W CaldareraFrance2024-09-10Feltz Printing Service NEGOTIATION68Onyama Limba
1013Ivar R OldroydJapan2024-09-04Chapman, Ross E Esq RENEWAL71Asiya Javayant
1014Aruna O RutaFrance2024-08-24Buckley Miller Wright RENEWAL32Ioni Bowcher
1015Salvatore O StensethSpain2024-09-06Dorl, James J Esq UNQUALIFIED9Elwin Sharvill
1016Greenwood X OstroskyItaly2024-08-28Rousseaux, Michael Esq UNQUALIFIED31Bernardo Dominic
1017Murillo A AmigonItaly2024-09-08Morlong Associates NEGOTIATION54Asiya Javayant
1018Jefferson L WhobreyRussia2024-08-25Chapman, Ross E Esq PROPOSAL32Ivan Magalhaes
1019Greenwood D MaletItaly2024-08-31King, Christopher A Esq NEGOTIATION29Anna Fali
1020Izzy W MacleadJapan2024-09-19Chemel, James L Cpa NEGOTIATION7Elwin Sharvill
1021Ivar W GauchoUnited Kingdom2024-08-25Morlong Associates UNQUALIFIED72Elwin Sharvill
1022Claire G IturbideArgentina2024-09-11Commercial Press QUALIFIED43Ivan Magalhaes
1023Jeanfrancois D IturbideRussia2024-08-29Benton, John B Jr UNQUALIFIED85Bernardo Dominic
1024Cody T SchemmerGermany2024-09-16Chemel, James L Cpa UNQUALIFIED86Amy Elsner
1025Francesco K ShinkoArgentina2024-08-24Chemel, James L Cpa QUALIFIED37Onyama Limba
1026Cody Q GauchoSpain2024-09-15Rangoni Of Florence QUALIFIED2Ioni Bowcher
1027Deepesh Q InouyeCanada2024-08-25Feltz Printing Service PROPOSAL73Stephen Shaw
1028Maisha S SergiUnited Kingdom2024-09-03Dorl, James J Esq QUALIFIED11Elwin Sharvill
1029Ivar W CampainUnited Kingdom2024-09-21Feltz Printing Service UNQUALIFIED18Ivan Magalhaes
1030Rodrigues D GarufiFrance2024-09-17Dorl, James J Esq UNQUALIFIED18Stephen Shaw
1031Clifford Z VenereJapan2024-09-06Feiner Bros UNQUALIFIED58Ioni Bowcher
1032Faith W ChuiItaly2024-08-31Chemel, James L Cpa PROPOSAL47Ioni Bowcher
1033Smith D OldroydSpain2024-09-06Dorl, James J Esq NEW5Ivan Magalhaes
1034Izzy I GlickUnited Kingdom2024-08-29Printing Dimensions RENEWAL63Anna Fali
1035Chavez K BowleyRussia2024-09-13Chapman, Ross E Esq UNQUALIFIED66Bernardo Dominic
1036Darci T InouyeRussia2024-09-09Feiner Bros NEW47Ioni Bowcher
1037Nicolas S MacleadSpain2024-09-11Benton, John B Jr RENEWAL32Ivan Magalhaes
1038Salvatore A InouyeAustralia2024-09-04Benton, John B Jr NEGOTIATION8Amy Elsner
1039Maria Z AmigonAustralia2024-09-13Truhlar And Truhlar Attys QUALIFIED98Elwin Sharvill
1040Francesco S ChuiGermany2024-09-21Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1041Sinclair G CampainUnited Kingdom2024-08-29Buckley Miller Wright NEGOTIATION32Stephen Shaw
1042Jennifer J SlusarskiArgentina2024-09-15Commercial Press QUALIFIED32Xuxue Feng
1043Ricardo V SlusarskiCanada2024-08-29Buckley Miller Wright NEW38Ivan Magalhaes
1044Isabel R DarakjyArgentina2024-09-22Dorl, James J Esq NEW40Ioni Bowcher
1045Francesco M BowleyIndia2024-09-17Benton, John B Jr QUALIFIED63Onyama Limba
1046Antonio N TollnerFrance2024-09-04Feltz Printing Service RENEWAL35Onyama Limba
1047Cody N SchemmerFrance2024-09-16Morlong Associates QUALIFIED43Xuxue Feng
1048Izzy J SergiUnited Kingdom2024-08-28Commercial Press QUALIFIED5Anna Fali
1049James K MorascaJapan2024-09-09Rousseaux, Michael Esq NEW2Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody N CaudyAustraliaAnna Fali NEW
Kadeem B MacleadJapanBernardo Dominic QUALIFIED
Octavia I BowleyUnited KingdomAmy Elsner UNQUALIFIED
Aditya N VocelkaUnited KingdomAnna Fali PROPOSAL
Stacey O DoeJapanBernardo Dominic QUALIFIED
Tony F StensethUnited KingdomAnna Fali PROPOSAL
Isabel X GlickRussiaAsiya Javayant NEGOTIATION
Salvatore I VenereRussiaXuxue Feng NEW
Morrow M DarakjyFranceAnna Fali UNQUALIFIED
Maisha K GarufiRussiaBernardo Dominic NEW
David G AmigonFranceAnna Fali RENEWAL
Leja A DoeCanadaOnyama Limba NEW
Izzy O CampainUnited KingdomAsiya Javayant RENEWAL
Cody A GlickItalyElwin Sharvill RENEWAL
Morrow P PoquetteBrazilIoni Bowcher NEW
Smith X DilliardJapanXuxue Feng NEW
Maria H DarakjyFranceAsiya Javayant RENEWAL
Jones T AlbaresUnited KingdomAnna Fali PROPOSAL
Francesco Z SaylorsSpainIoni Bowcher NEW
Mayumi U AmigonIndiaXuxue Feng NEGOTIATION
Kaitlin O WaycottCanadaIvan Magalhaes NEW
Deepesh E SaylorsAustraliaOnyama Limba NEW
Smith D SaylorsCanadaAnna Fali PROPOSAL
Faith K DarakjyUnited KingdomElwin Sharvill QUALIFIED
Murillo J MaletItalyElwin Sharvill RENEWAL
Jefferson I ButtUnited KingdomAsiya Javayant PROPOSAL
Maisha P RulapaughCanadaStephen Shaw NEW
David V FigeroaRussiaElwin Sharvill RENEWAL
Faith M GarufiJapanIvan Magalhaes UNQUALIFIED
Silvio U AlbaresRussiaBernardo Dominic NEW
Leon K ShinkoFranceStephen Shaw PROPOSAL
Julie T WaycottFranceBernardo Dominic RENEWAL
Johnson D ButtAustraliaIoni Bowcher UNQUALIFIED
Murillo K FerenczRussiaElwin Sharvill NEW
Izzy E BriddickItalyAsiya Javayant NEW
Mayumi C FlosiFranceElwin Sharvill RENEWAL
Morrow C MarrierUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin W OldroydCanadaXuxue Feng UNQUALIFIED
David X PaprockiSpainAmy Elsner QUALIFIED
Sinclair W WhobreyAustraliaOnyama Limba NEGOTIATION
David F MorascaUnited KingdomIoni Bowcher NEGOTIATION
Clifford X AmigonSpainIoni Bowcher NEGOTIATION
Deepesh D OldroydRussiaAnna Fali QUALIFIED
Aruna Z NestleItalyIoni Bowcher NEGOTIATION
Clifford O CampainSpainIoni Bowcher NEGOTIATION
Ivar L FollerArgentinaBernardo Dominic NEGOTIATION
Darci K GarufiSpainXuxue Feng UNQUALIFIED
Aditya M ButtRussiaBernardo Dominic PROPOSAL
Ricardo T VocelkaUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois Q FerenczRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Julie O Stenseth
Jeanfrancois E Waycott
Salvatore C Malet
Alejandro Q Garufi
Maria P Chui
Clifford G Butt
Jennifer W Amigon
David I Butt
Izzy T Kolmetz
Ricardo I Bowley
Claire B Butt
Johnson A Schemmer
Greenwood V Stockham
Leja D Nestle
Izzy A Malet
Jones G Paprocki
Munro S Tollner
Faith X Caldarera
Kadeem S Rim
Kaitlin H Darakjy
Cody L Stockham
Arvin D Foller
Aditya G Ruta
Munro J Amigon
Maria P Sergi
Darci A Ferencz
Antonio N Malet
Mujtaba S Royster
Aditya Z Malet
Rodrigues Z Inouye
Aruna O Rim
Aditya M Chui
Izzy Y Whobrey
Julie W Morasca
Tony O Ostrosky
Munro M Perin
Juan M Malet
Claire H Briddick
Darci N Rim
Johnson F Butt
Arvin U Schemmer
Faith A Waycott
James F Rulapaugh
Darci Y Shinko
Stacey O Nicka
Jones S Gaucho
Mujtaba U Oldroyd
Maisha P Amigon
Aika T Kusko
Aditya N Gaucho
IdCountryDate
1000Brazil2024-08-28
1001Spain2024-09-09
1002India2024-09-12
1003Australia2024-09-17
1004Russia2024-09-17
1005United Kingdom2024-09-10
1006Spain2024-09-18
1007Russia2024-08-30
1008Russia2024-08-25
1009India2024-08-25
1010Argentina2024-09-19
1011Canada2024-08-30
1012Argentina2024-09-10
1013Spain2024-09-04
1014Russia2024-09-11
1015Italy2024-08-28
1016India2024-08-24
1017Russia2024-09-05
1018United Kingdom2024-08-31
1019Italy2024-09-07
1020Canada2024-08-30
1021Italy2024-08-29
1022Italy2024-09-20
1023Germany2024-09-06
1024Australia2024-09-01
1025Argentina2024-09-03
1026Germany2024-09-10
1027France2024-09-03
1028Canada2024-08-24
1029Australia2024-08-31
1030Australia2024-09-12
1031Russia2024-09-02
1032Canada2024-09-07
1033France2024-09-09
1034Brazil2024-09-01
1035Italy2024-09-11
1036Canada2024-09-14
1037Argentina2024-09-18
1038India2024-08-28
1039France2024-08-27
1040India2024-09-12
1041Spain2024-09-21
1042Russia2024-09-07
1043Russia2024-09-06
1044Brazil2024-09-15
1045United Kingdom2024-09-09
1046Russia2024-09-04
1047Australia2024-08-28
1048Italy2024-08-24
1049France2024-09-09

On-Demand Data

NameIdCountryDate
Emily E Briddick1000Spain2024-09-17
Jennifer X Royster1001Australia2024-09-08
Izzy W Malet1002Russia2024-09-21
Clifford Z Garufi1003France2024-09-10
Salvatore N Ferencz1004India2024-09-13
Maisha A Gaucho1005Russia2024-09-15
Leja E Royster1006Spain2024-08-31
Kaitlin N Inouye1007Australia2024-09-14
Maria U Chui1008United Kingdom2024-08-30
Mayumi E Bolognia1009United Kingdom2024-09-12
Morrow Z Inouye1010Italy2024-09-15
Maria R Foller1011India2024-09-07
Jones K Paprocki1012Canada2024-09-08
Adams N Shinko1013France2024-09-11
Francesco Z Doe1014Australia2024-09-08
Salvatore V Tollner1015United Kingdom2024-09-16
David O Venere1016Brazil2024-09-11
Aditya V Rim1017India2024-08-27
Clifford F Kusko1018Canada2024-08-30
Chavez U Figeroa1019France2024-08-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S TollnerBrazilElwin Sharvill UNQUALIFIED
Leon Q SchemmerGermanyIoni Bowcher RENEWAL
Sinclair Q NickaFranceAmy Elsner QUALIFIED
Wickens U PoquetteRussiaAnna Fali NEGOTIATION
Deepesh R CaldareraRussiaIvan Magalhaes RENEWAL
Arvin Y VenereJapanAsiya Javayant NEGOTIATION
Chavez S FerenczRussiaElwin Sharvill QUALIFIED
Costa M SlusarskiUnited KingdomXuxue Feng RENEWAL
Cody A OldroydRussiaAmy Elsner NEW
Alejandro E RoysterSpainXuxue Feng UNQUALIFIED
Kaitlin S KolmetzArgentinaIvan Magalhaes RENEWAL
Jones Y NickaJapanElwin Sharvill UNQUALIFIED
Morrow X KolmetzCanadaElwin Sharvill PROPOSAL
Aditya P SaylorsJapanIvan Magalhaes RENEWAL
Alejandro P ShinkoSpainAsiya Javayant RENEWAL
Darci Y WhobreyBrazilOnyama Limba RENEWAL
Ricardo F WaycottCanadaIvan Magalhaes UNQUALIFIED
James Q GarufiUnited KingdomBernardo Dominic QUALIFIED
Isabel C FerenczCanadaOnyama Limba RENEWAL
James P ButtBrazilAsiya Javayant NEW
Nicolas O MacleadBrazilAmy Elsner RENEWAL
Julie C FollerRussiaIoni Bowcher NEGOTIATION
Isabel P IturbideJapanAsiya Javayant NEGOTIATION
Mayumi N SlusarskiJapanStephen Shaw NEGOTIATION
Faith I MacleadUnited KingdomElwin Sharvill PROPOSAL
Maria R BowleyFranceElwin Sharvill NEW
Chavez W CaudyGermanyBernardo Dominic UNQUALIFIED
Emily A WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
James A NickaArgentinaIvan Magalhaes RENEWAL
Jones P SaylorsUnited KingdomOnyama Limba UNQUALIFIED
Greenwood K PerinCanadaAsiya Javayant NEW
Rodrigues K OstroskyRussiaOnyama Limba NEW
Morrow R TollnerRussiaIvan Magalhaes NEW
Leon Y CaldareraGermanyStephen Shaw RENEWAL
Chavez W AlbaresAustraliaIvan Magalhaes NEGOTIATION
Julie B PerinFranceBernardo Dominic QUALIFIED
Mayumi H CampainCanadaElwin Sharvill QUALIFIED
Misaki F GlickItalyStephen Shaw RENEWAL
Stacey A CaldareraSpainAmy Elsner RENEWAL
Mujtaba Q VenereArgentinaXuxue Feng 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>