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
Leon I BologniaAustraliaAnna Fali UNQUALIFIED
Tony F MorascaArgentinaIoni Bowcher UNQUALIFIED
Ashley C MaletArgentinaAnna Fali NEGOTIATION
Juan J RulapaughSpainIvan Magalhaes PROPOSAL
Tony T CaldareraArgentinaAsiya Javayant UNQUALIFIED
Munro A WaycottIndiaBernardo Dominic PROPOSAL
Cody C CaudySpainIoni Bowcher QUALIFIED
Francesco X MaletFranceIoni Bowcher QUALIFIED
Leja G IturbideBrazilAmy Elsner UNQUALIFIED
Mayumi U MaletArgentinaBernardo Dominic QUALIFIED
Munro Z KolmetzBrazilXuxue Feng PROPOSAL
Tony W GlickFranceAnna Fali NEW
Salvatore X VenereFranceBernardo Dominic NEW
Izzy D TollnerCanadaStephen Shaw NEW
Jones E ButtBrazilElwin Sharvill NEW
Munro G MaletRussiaElwin Sharvill RENEWAL
Maria A PaprockiFranceOnyama Limba PROPOSAL
Jeanfrancois O CaldareraAustraliaBernardo Dominic PROPOSAL
Morrow R ButtArgentinaXuxue Feng PROPOSAL
Mujtaba C CampainIndiaOnyama Limba NEW
Smith R GillianItalyAmy Elsner UNQUALIFIED
Juan I MacleadIndiaAsiya Javayant PROPOSAL
Smith Q DoeRussiaIvan Magalhaes UNQUALIFIED
Stacey G FlosiArgentinaBernardo Dominic NEGOTIATION
Greenwood P WieserUnited KingdomStephen Shaw RENEWAL
Jeanfrancois L KuskoBrazilOnyama Limba RENEWAL
Aika I BologniaAustraliaIvan Magalhaes QUALIFIED
Rodrigues R NickaFranceBernardo Dominic NEW
Ricardo N KolmetzUnited KingdomXuxue Feng QUALIFIED
Costa Z IturbideAustraliaStephen Shaw UNQUALIFIED
Isabel Y FlosiIndiaXuxue Feng PROPOSAL
Sinclair N SlusarskiJapanIoni Bowcher NEGOTIATION
Aika E IturbideUnited KingdomIoni Bowcher NEGOTIATION
Murillo F AlbaresIndiaIvan Magalhaes NEGOTIATION
Alejandro N KuskoArgentinaElwin Sharvill NEGOTIATION
Deepesh L MaletJapanStephen Shaw QUALIFIED
Jones G TollnerRussiaAnna Fali NEW
Murillo O DilliardFranceAsiya Javayant NEW
Darci T RimRussiaAnna Fali UNQUALIFIED
Costa F RoysterRussiaStephen Shaw QUALIFIED
David D SergiGermanyBernardo Dominic NEGOTIATION
Izzy W RutaJapanXuxue Feng NEGOTIATION
Tony P MaletItalyStephen Shaw RENEWAL
Faith W VenereArgentinaXuxue Feng NEW
Darci D FollerIndiaElwin Sharvill UNQUALIFIED
Nicolas G RutaBrazilAmy Elsner RENEWAL
Claire B InouyeGermanyAmy Elsner RENEWAL
Faith D FerenczCanadaIvan Magalhaes QUALIFIED
Alejandro Q MarrierAustraliaOnyama Limba PROPOSAL
Darci T VenereFranceBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie H IturbideArgentinaAnna Fali NEW
Darci R VocelkaCanadaBernardo Dominic RENEWAL
Costa G CampainBrazilAnna Fali NEGOTIATION
Chavez J WieserAustraliaIvan Magalhaes NEGOTIATION
Emily H CampainAustraliaIoni Bowcher RENEWAL
Silvio C BriddickCanadaAmy Elsner NEW
Alejandro K StockhamCanadaElwin Sharvill PROPOSAL
Isabel K FigeroaBrazilAnna Fali QUALIFIED
Maria Q RulapaughIndiaOnyama Limba PROPOSAL
Francesco S CampainSpainElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia I AmigonIndia2025-04-10Chemel, James L Cpa NEW64Ivan Magalhaes
1001Sinclair V ButtFrance2025-04-14Printing Dimensions NEGOTIATION16Xuxue Feng
1002Adams Y RoysterJapan2025-04-27Dorl, James J Esq QUALIFIED90Bernardo Dominic
1003Wickens Y MaletJapan2025-04-13Rousseaux, Michael Esq QUALIFIED80Anna Fali
1004Mujtaba V VocelkaBrazil2025-04-22Buckley Miller Wright RENEWAL49Xuxue Feng
1005David Q BologniaRussia2025-04-06Commercial Press UNQUALIFIED17Bernardo Dominic
1006Jennifer G ChuiFrance2025-04-07Chemel, James L Cpa QUALIFIED20Stephen Shaw
1007Silvio L FerenczAustralia2025-04-06Feltz Printing Service PROPOSAL47Ivan Magalhaes
1008Aika X GarufiFrance2025-04-09Feiner Bros RENEWAL40Elwin Sharvill
1009Izzy H FerenczRussia2025-04-17Chapman, Ross E Esq NEW15Stephen Shaw
1010Maisha N FlosiIndia2025-04-06Chapman, Ross E Esq NEGOTIATION82Stephen Shaw
1011Darci D RimItaly2025-04-01King, Christopher A Esq NEW42Ioni Bowcher
1012Jeanfrancois L SaylorsFrance2025-04-16Chemel, James L Cpa NEGOTIATION79Xuxue Feng
1013Rodrigues H DoeArgentina2025-04-22Rousseaux, Michael Esq NEGOTIATION28Bernardo Dominic
1014Faith V WaycottIndia2025-04-03Feltz Printing Service PROPOSAL37Stephen Shaw
1015David P ShinkoFrance2025-04-28King, Christopher A Esq UNQUALIFIED61Anna Fali
1016Izzy L TollnerFrance2025-04-06Feltz Printing Service UNQUALIFIED81Ivan Magalhaes
1017Silvio T CaldareraJapan2025-04-26Chapman, Ross E Esq NEGOTIATION17Ioni Bowcher
1018Leon K MaletRussia2025-04-19Chanay, Jeffrey A Esq NEW5Xuxue Feng
1019Greenwood I OldroydGermany2025-04-25Feiner Bros UNQUALIFIED63Asiya Javayant
1020Darci P StockhamUnited Kingdom2025-04-20Benton, John B Jr QUALIFIED15Bernardo Dominic
1021Cody A OldroydArgentina2025-04-25Printing Dimensions PROPOSAL53Elwin Sharvill
1022Sinclair S VenereItaly2025-04-17Morlong Associates QUALIFIED13Asiya Javayant
1023Aruna J MaletJapan2025-04-30Commercial Press NEGOTIATION42Ioni Bowcher
1024Aruna D CaldareraCanada2025-04-21Rousseaux, Michael Esq UNQUALIFIED75Ivan Magalhaes
1025Salvatore K PaprockiJapan2025-04-25Chanay, Jeffrey A Esq PROPOSAL29Ioni Bowcher
1026Aditya F DoeRussia2025-04-15Buckley Miller Wright QUALIFIED62Ivan Magalhaes
1027Arvin K CaudyArgentina2025-04-01Commercial Press RENEWAL75Anna Fali
1028Rodrigues U AlbaresIndia2025-04-03Commercial Press PROPOSAL71Xuxue Feng
1029Murillo I VenereIndia2025-04-02King, Christopher A Esq QUALIFIED48Bernardo Dominic
1030Smith H TollnerSpain2025-04-02King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1031Julie H RimItaly2025-04-19Dorl, James J Esq NEW31Ivan Magalhaes
1032Stacey B GarufiArgentina2025-04-03Morlong Associates PROPOSAL87Bernardo Dominic
1033Clifford V CampainAustralia2025-04-24Benton, John B Jr NEGOTIATION82Asiya Javayant
1034Julie M CaudyJapan2025-04-08Morlong Associates PROPOSAL22Amy Elsner
1035Jefferson T PoquetteGermany2025-04-27Benton, John B Jr QUALIFIED68Xuxue Feng
1036Antonio F DoeSpain2025-04-11Chemel, James L Cpa UNQUALIFIED34Xuxue Feng
1037Leja Y VenereCanada2025-04-29Chanay, Jeffrey A Esq NEW69Xuxue Feng
1038Jefferson J GlickAustralia2025-04-09Benton, John B Jr NEW4Stephen Shaw
1039Jennifer R FigeroaFrance2025-04-24Buckley Miller Wright NEGOTIATION62Amy Elsner
1040Maria N AlbaresGermany2025-04-10Benton, John B Jr NEGOTIATION51Elwin Sharvill
1041Deepesh F GarufiFrance2025-04-15Rousseaux, Michael Esq NEGOTIATION46Elwin Sharvill
1042Smith I SlusarskiItaly2025-04-08Chapman, Ross E Esq NEW55Anna Fali
1043Johnson U GauchoUnited Kingdom2025-04-05Rangoni Of Florence NEW98Bernardo Dominic
1044Sinclair E SchemmerUnited Kingdom2025-04-24Dorl, James J Esq RENEWAL2Xuxue Feng
1045Deepesh I PoquetteArgentina2025-04-17Feiner Bros UNQUALIFIED76Asiya Javayant
1046Julie L AlbaresItaly2025-04-17Feiner Bros NEGOTIATION5Anna Fali
1047Munro K WaycottRussia2025-04-28Benton, John B Jr QUALIFIED50Stephen Shaw
1048Salvatore E BowleyCanada2025-04-21King, Christopher A Esq RENEWAL11Elwin Sharvill
1049Darci L MorascaSpain2025-04-16Rousseaux, Michael Esq PROPOSAL4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy N PaprockiSpainIoni Bowcher RENEWAL
Emily Q DarakjyItalyAnna Fali PROPOSAL
Deepesh H RulapaughFranceAsiya Javayant PROPOSAL
Misaki M RutaGermanyStephen Shaw NEGOTIATION
Misaki V WieserFranceIoni Bowcher NEW
Rodrigues U TollnerAustraliaAmy Elsner UNQUALIFIED
Deepesh E SlusarskiArgentinaStephen Shaw UNQUALIFIED
Nicolas V BriddickJapanElwin Sharvill NEW
Morrow R AmigonSpainStephen Shaw NEGOTIATION
Aika S PaprockiFranceBernardo Dominic PROPOSAL
Kadeem C FollerItalyIvan Magalhaes QUALIFIED
Maria Q RutaCanadaStephen Shaw QUALIFIED
Silvio P FerenczItalyStephen Shaw RENEWAL
Adams U DarakjyArgentinaBernardo Dominic PROPOSAL
Leon L CampainCanadaElwin Sharvill NEGOTIATION
Deepesh G WhobreyGermanyAsiya Javayant QUALIFIED
Johnson K FerenczItalyIvan Magalhaes NEGOTIATION
Mujtaba C BologniaSpainElwin Sharvill NEW
Jones D StensethSpainStephen Shaw NEW
Octavia L MacleadSpainAmy Elsner UNQUALIFIED
Alejandro J MaletArgentinaAnna Fali PROPOSAL
Jones X PaprockiArgentinaOnyama Limba UNQUALIFIED
Mujtaba V PoquetteAustraliaOnyama Limba NEW
Arvin X SaylorsAustraliaStephen Shaw QUALIFIED
Smith D StockhamIndiaBernardo Dominic QUALIFIED
Nicolas M SchemmerItalyIoni Bowcher RENEWAL
Jeanfrancois M MorascaUnited KingdomXuxue Feng NEW
Kadeem X FigeroaCanadaXuxue Feng NEW
Munro R SaylorsGermanyIoni Bowcher NEGOTIATION
Emily U FlosiGermanyOnyama Limba RENEWAL
Ivar Y SergiGermanyIoni Bowcher UNQUALIFIED
Isabel G CampainUnited KingdomAsiya Javayant NEGOTIATION
Leon N BriddickJapanElwin Sharvill NEW
Izzy N CaudyAustraliaBernardo Dominic UNQUALIFIED
Darci X FollerItalyIvan Magalhaes RENEWAL
Johnson F CaldareraAustraliaBernardo Dominic NEGOTIATION
Misaki F CaudyAustraliaAsiya Javayant PROPOSAL
Claire I InouyeUnited KingdomStephen Shaw RENEWAL
Mujtaba A CaudyIndiaElwin Sharvill NEGOTIATION
David K FlosiBrazilAmy Elsner PROPOSAL
Mujtaba G DilliardBrazilXuxue Feng QUALIFIED
Leon Y AlbaresItalyAsiya Javayant UNQUALIFIED
Leon I BowleyRussiaElwin Sharvill UNQUALIFIED
Jennifer H WieserBrazilAnna Fali RENEWAL
Cody U FerenczAustraliaElwin Sharvill NEGOTIATION
Jones S SergiBrazilIoni Bowcher NEW
Aruna M BriddickRussiaElwin Sharvill RENEWAL
Maria V BowleyFranceElwin Sharvill UNQUALIFIED
Jennifer C FlosiAustraliaBernardo Dominic QUALIFIED
Jeanfrancois G MaletItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Juan B Ruta
Kaitlin T Malet
Izzy T Morasca
Greenwood T Kolmetz
Costa A Nicka
Mayumi C Poquette
Leja Z Figeroa
Tony W Ostrosky
Maisha K Kolmetz
Kadeem D Ostrosky
Aditya Q Rulapaugh
Ivar A Ostrosky
Kaitlin R Waycott
Maria D Dilliard
Emily W Stenseth
James T Shinko
Murillo B Ostrosky
Emily T Ferencz
Arvin D Amigon
Aditya A Butt
Antonio E Malet
Rodrigues W Caldarera
Morrow J Campain
Emily D Foller
Arvin U Maclead
David B Stenseth
David N Butt
Kadeem X Rulapaugh
Nicolas S Paprocki
Claire X Bowley
Silvio S Bowley
Aika W Butt
Stacey N Foller
Tony M Sergi
Leon R Waycott
Jefferson Z Chui
Aditya X Garufi
Emily I Campain
Misaki P Caudy
Ashley X Stenseth
Octavia V Marrier
Murillo F Foller
Chavez F Saylors
Morrow A Bowley
Adams J Ruta
Darci H Wieser
Leon J Bowley
Misaki Q Nicka
Nicolas J Garufi
Jefferson E Rim
IdCountryDate
1000Canada2025-04-01
1001Canada2025-04-03
1002Brazil2025-04-15
1003France2025-04-06
1004Japan2025-04-28
1005Italy2025-04-28
1006United Kingdom2025-04-09
1007Australia2025-04-25
1008India2025-04-25
1009Canada2025-04-26
1010Australia2025-04-22
1011Argentina2025-04-29
1012Japan2025-04-10
1013France2025-04-30
1014Australia2025-04-27
1015France2025-04-16
1016Australia2025-04-26
1017Japan2025-04-25
1018United Kingdom2025-04-13
1019United Kingdom2025-04-12
1020India2025-04-26
1021Italy2025-04-07
1022Spain2025-04-10
1023Brazil2025-04-18
1024Germany2025-04-16
1025India2025-04-08
1026Brazil2025-04-17
1027Russia2025-04-02
1028United Kingdom2025-04-09
1029United Kingdom2025-04-30
1030Argentina2025-04-16
1031France2025-04-01
1032Russia2025-04-01
1033Canada2025-04-02
1034Brazil2025-04-12
1035United Kingdom2025-04-01
1036Australia2025-04-09
1037Japan2025-04-05
1038Argentina2025-04-13
1039Japan2025-04-28
1040India2025-04-30
1041Italy2025-04-18
1042Italy2025-04-07
1043Italy2025-04-14
1044Germany2025-04-12
1045Japan2025-04-16
1046Argentina2025-04-20
1047Germany2025-04-28
1048Brazil2025-04-28
1049France2025-04-11

On-Demand Data

NameIdCountryDate
Wickens K Schemmer1000India2025-04-19
Misaki G Flosi1001Argentina2025-04-30
Kaitlin O Glick1002Italy2025-04-06
Sinclair H Stenseth1003Germany2025-04-10
Alejandro M Nicka1004Germany2025-04-21
Munro F Foller1005Germany2025-04-15
Alejandro J Poquette1006Spain2025-04-30
Kaitlin V Bowley1007United Kingdom2025-04-27
Wickens M Marrier1008United Kingdom2025-04-01
Munro Y Caudy1009Japan2025-04-05
Maria Q Amigon1010Japan2025-04-05
Wickens J Rim1011United Kingdom2025-04-22
Faith Y Ferencz1012Russia2025-04-16
Leon G Nicka1013Russia2025-04-20
Aika J Caudy1014Spain2025-04-19
Smith E Nicka1015Russia2025-04-21
Aditya L Albares1016Brazil2025-04-03
Claire B Foller1017India2025-04-26
Nicolas H Whobrey1018Canada2025-04-12
Salvatore O Ruta1019France2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin Z KuskoJapanIoni Bowcher NEGOTIATION
Mujtaba L CaudyItalyIoni Bowcher UNQUALIFIED
Morrow G SaylorsFranceOnyama Limba NEW
Arvin S CaudyIndiaAsiya Javayant QUALIFIED
Stacey M SergiUnited KingdomElwin Sharvill NEW
Claire S RoysterUnited KingdomAsiya Javayant PROPOSAL
Izzy D FollerRussiaElwin Sharvill NEW
Silvio Z VenereRussiaIvan Magalhaes NEGOTIATION
Salvatore D FlosiBrazilAmy Elsner QUALIFIED
Faith X InouyeRussiaAnna Fali UNQUALIFIED
Wickens I PoquetteFranceElwin Sharvill NEW
Nicolas U GillianIndiaAmy Elsner NEGOTIATION
Julie T SaylorsIndiaIoni Bowcher RENEWAL
Ivar W RoysterUnited KingdomIvan Magalhaes QUALIFIED
Deepesh D BologniaItalyAsiya Javayant NEW
James R GillianGermanyAmy Elsner RENEWAL
Greenwood L FlosiUnited KingdomBernardo Dominic NEW
Izzy P GarufiUnited KingdomAnna Fali RENEWAL
Kadeem M NestleJapanElwin Sharvill RENEWAL
Juan G KuskoIndiaStephen Shaw NEGOTIATION
Jefferson C WhobreyItalyIvan Magalhaes PROPOSAL
Jones B GauchoJapanAsiya Javayant NEGOTIATION
Aika Y PaprockiArgentinaIvan Magalhaes RENEWAL
Kadeem P GarufiJapanAmy Elsner UNQUALIFIED
Jennifer W MorascaArgentinaElwin Sharvill QUALIFIED
Kadeem N TollnerItalyIvan Magalhaes NEW
Costa E SergiItalyOnyama Limba PROPOSAL
Darci U BriddickJapanOnyama Limba RENEWAL
Alejandro I RoysterAustraliaAmy Elsner RENEWAL
Darci D WaycottCanadaIoni Bowcher UNQUALIFIED
Silvio C AmigonIndiaBernardo Dominic PROPOSAL
Julie A StockhamSpainOnyama Limba RENEWAL
Jones M DoeBrazilXuxue Feng QUALIFIED
Sinclair D ShinkoItalyAmy Elsner UNQUALIFIED
Izzy A BowleySpainBernardo Dominic NEGOTIATION
Izzy F PaprockiFranceElwin Sharvill RENEWAL
Claire Q FerenczItalyOnyama Limba QUALIFIED
Emily F BriddickBrazilElwin Sharvill NEW
Antonio W RimAustraliaOnyama Limba NEGOTIATION
Darci E WhobreyJapanIvan Magalhaes 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>