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 V NickaItalyBernardo Dominic NEGOTIATION
Jeanfrancois I VocelkaGermanyElwin Sharvill QUALIFIED
Tony X CampainGermanyIvan Magalhaes NEW
Ivar E TollnerFranceOnyama Limba NEW
Claire H SchemmerGermanyAmy Elsner UNQUALIFIED
Juan E RutaAustraliaAmy Elsner UNQUALIFIED
Leja E DoeIndiaAmy Elsner NEW
Claire W SlusarskiSpainXuxue Feng PROPOSAL
Izzy M BowleyArgentinaBernardo Dominic UNQUALIFIED
Cody I OldroydFranceXuxue Feng PROPOSAL
Mujtaba W VenereRussiaAsiya Javayant QUALIFIED
Mayumi C KuskoIndiaOnyama Limba QUALIFIED
Jefferson J RoysterBrazilIvan Magalhaes PROPOSAL
Maisha H SergiJapanAmy Elsner NEGOTIATION
Nicolas T KuskoFranceAmy Elsner PROPOSAL
Murillo K SchemmerIndiaOnyama Limba PROPOSAL
Greenwood O FollerArgentinaXuxue Feng QUALIFIED
Wickens U NickaSpainAsiya Javayant NEW
Claire M WhobreyGermanyStephen Shaw UNQUALIFIED
Cody S DoeJapanIvan Magalhaes NEGOTIATION
Rodrigues M WieserUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh U AmigonItalyXuxue Feng NEW
Smith Z SaylorsArgentinaIvan Magalhaes RENEWAL
Leja O TollnerJapanBernardo Dominic NEW
Sinclair K WaycottBrazilBernardo Dominic PROPOSAL
Octavia S AlbaresFranceStephen Shaw NEW
Leon J AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Clifford E PoquetteSpainOnyama Limba RENEWAL
Mujtaba N DoeIndiaAsiya Javayant PROPOSAL
Salvatore A DarakjyJapanAnna Fali PROPOSAL
Maisha M SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Julie E CampainUnited KingdomAnna Fali NEGOTIATION
Murillo Y CaldareraIndiaIvan Magalhaes NEGOTIATION
Sinclair C IturbideIndiaElwin Sharvill UNQUALIFIED
Maria Q RulapaughRussiaAsiya Javayant RENEWAL
Darci O FigeroaIndiaIoni Bowcher RENEWAL
Octavia T WieserJapanAmy Elsner NEGOTIATION
David Q OstroskyJapanAsiya Javayant PROPOSAL
Stacey K VenereSpainAnna Fali UNQUALIFIED
Emily W CaudyGermanyAnna Fali QUALIFIED
Misaki S PerinSpainIoni Bowcher NEW
Stacey I DoeGermanyElwin Sharvill RENEWAL
Emily B CaudyFranceXuxue Feng UNQUALIFIED
Nicolas V RulapaughRussiaIvan Magalhaes NEGOTIATION
Deepesh T PerinItalyOnyama Limba NEGOTIATION
Maria K InouyeCanadaAnna Fali NEGOTIATION
Jennifer J FollerBrazilOnyama Limba RENEWAL
Emily E VenereJapanOnyama Limba NEW
Octavia J InouyeArgentinaBernardo Dominic QUALIFIED
Chavez T InouyeRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Clifford G StockhamGermanyOnyama Limba UNQUALIFIED
Sinclair X StensethCanadaXuxue Feng RENEWAL
Kaitlin E KolmetzAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois P FlosiUnited KingdomIoni Bowcher PROPOSAL
Rodrigues L ChuiAustraliaOnyama Limba UNQUALIFIED
Kaitlin C SergiBrazilOnyama Limba NEW
Sinclair S MacleadItalyXuxue Feng NEW
Clifford U VocelkaUnited KingdomStephen Shaw QUALIFIED
Octavia X GillianRussiaOnyama Limba QUALIFIED
Jefferson S StockhamFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues W SchemmerJapan2024-06-15Feiner Bros QUALIFIED79Onyama Limba
1001Munro C CaudyIndia2024-06-05Commercial Press NEGOTIATION59Asiya Javayant
1002Jefferson V NickaUnited Kingdom2024-05-29Feltz Printing Service UNQUALIFIED80Ivan Magalhaes
1003Salvatore X KuskoGermany2024-06-13Chemel, James L Cpa NEW55Anna Fali
1004Darci R WaycottBrazil2024-06-07Benton, John B Jr QUALIFIED5Onyama Limba
1005David O RoysterGermany2024-06-22Buckley Miller Wright QUALIFIED88Xuxue Feng
1006Claire X SlusarskiGermany2024-06-04Benton, John B Jr NEW22Xuxue Feng
1007Salvatore T RimIndia2024-05-28Rousseaux, Michael Esq NEW11Anna Fali
1008Morrow V PoquetteGermany2024-06-07Chemel, James L Cpa PROPOSAL55Stephen Shaw
1009Stacey Q TollnerArgentina2024-05-25Chapman, Ross E Esq NEW75Bernardo Dominic
1010Ivar A OldroydSpain2024-06-20Commercial Press QUALIFIED78Ioni Bowcher
1011Ricardo W GlickItaly2024-06-02Benton, John B Jr QUALIFIED49Onyama Limba
1012Antonio B PaprockiJapan2024-06-11Feiner Bros QUALIFIED8Ivan Magalhaes
1013Kadeem Y RutaBrazil2024-06-08Morlong Associates NEGOTIATION63Ivan Magalhaes
1014Emily A PerinArgentina2024-05-31Chapman, Ross E Esq RENEWAL37Elwin Sharvill
1015Kaitlin U DilliardIndia2024-06-10Benton, John B Jr UNQUALIFIED59Anna Fali
1016Smith D InouyeSpain2024-05-25Rousseaux, Michael Esq RENEWAL13Ioni Bowcher
1017Aditya R InouyeItaly2024-06-14Dorl, James J Esq QUALIFIED92Elwin Sharvill
1018Aruna T DoeJapan2024-05-25Dorl, James J Esq NEW36Amy Elsner
1019David Q MarrierFrance2024-06-05Rousseaux, Michael Esq NEGOTIATION59Anna Fali
1020Jefferson W MaletCanada2024-06-05Commercial Press NEGOTIATION9Amy Elsner
1021Stacey G StockhamRussia2024-06-17King, Christopher A Esq NEGOTIATION57Amy Elsner
1022Jones F VocelkaRussia2024-05-28Buckley Miller Wright QUALIFIED36Bernardo Dominic
1023Stacey Z KolmetzBrazil2024-06-09Rousseaux, Michael Esq UNQUALIFIED10Elwin Sharvill
1024Mayumi Q PerinCanada2024-06-08Dorl, James J Esq RENEWAL84Ioni Bowcher
1025Stacey Q CampainGermany2024-05-29Commercial Press UNQUALIFIED60Asiya Javayant
1026Johnson L FigeroaAustralia2024-06-18Chanay, Jeffrey A Esq RENEWAL26Onyama Limba
1027Juan V GauchoItaly2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED64Xuxue Feng
1028Cody S SlusarskiFrance2024-06-01Buckley Miller Wright PROPOSAL62Onyama Limba
1029Faith M DarakjyIndia2024-06-04Printing Dimensions QUALIFIED92Onyama Limba
1030Mujtaba Z FigeroaUnited Kingdom2024-06-13King, Christopher A Esq QUALIFIED44Stephen Shaw
1031Alejandro K PerinUnited Kingdom2024-06-20Truhlar And Truhlar Attys NEW55Amy Elsner
1032Juan C KolmetzBrazil2024-05-31King, Christopher A Esq RENEWAL92Ioni Bowcher
1033David Q FerenczItaly2024-06-09King, Christopher A Esq QUALIFIED66Onyama Limba
1034Jeanfrancois O MaletItaly2024-06-18Chapman, Ross E Esq NEGOTIATION43Asiya Javayant
1035Aika S BowleyAustralia2024-06-21Buckley Miller Wright NEGOTIATION7Anna Fali
1036Salvatore U MaletFrance2024-06-15Commercial Press QUALIFIED62Ioni Bowcher
1037Leon F BriddickCanada2024-06-10King, Christopher A Esq QUALIFIED16Ivan Magalhaes
1038David T DoeBrazil2024-06-11Morlong Associates PROPOSAL16Asiya Javayant
1039Izzy B RoysterAustralia2024-06-04Truhlar And Truhlar Attys PROPOSAL77Ioni Bowcher
1040Tony M BowleyUnited Kingdom2024-05-31Chanay, Jeffrey A Esq RENEWAL86Stephen Shaw
1041Aika T DarakjyBrazil2024-06-19Chemel, James L Cpa UNQUALIFIED77Asiya Javayant
1042Maria Q RoysterUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION80Stephen Shaw
1043Francesco Q RutaIndia2024-05-30Feiner Bros RENEWAL9Bernardo Dominic
1044Juan C RimItaly2024-06-21Printing Dimensions PROPOSAL78Xuxue Feng
1045Mujtaba D PaprockiBrazil2024-06-06King, Christopher A Esq PROPOSAL29Onyama Limba
1046Leja K AlbaresArgentina2024-05-29King, Christopher A Esq NEGOTIATION95Xuxue Feng
1047Aditya V ChuiItaly2024-06-04Printing Dimensions PROPOSAL13Amy Elsner
1048Ivar U RimGermany2024-06-14Chapman, Ross E Esq NEGOTIATION84Elwin Sharvill
1049Salvatore W OstroskyCanada2024-06-15Printing Dimensions NEW98Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Cody Y BologniaGermanyIvan Magalhaes PROPOSAL
Munro W VocelkaIndiaAmy Elsner PROPOSAL
Emily W NickaUnited KingdomBernardo Dominic NEW
Ashley P MarrierJapanAsiya Javayant NEW
Rodrigues D MorascaRussiaAnna Fali NEGOTIATION
Maria D BriddickAustraliaElwin Sharvill QUALIFIED
Morrow S WhobreyJapanBernardo Dominic RENEWAL
Arvin O MarrierRussiaAsiya Javayant QUALIFIED
Maria U RoysterJapanOnyama Limba UNQUALIFIED
Jefferson G GarufiFranceIoni Bowcher NEW
Faith Z StockhamGermanyOnyama Limba UNQUALIFIED
Adams F RulapaughItalyAmy Elsner PROPOSAL
Julie C SlusarskiBrazilAnna Fali QUALIFIED
Chavez B GillianGermanyStephen Shaw RENEWAL
Claire O FerenczFranceIoni Bowcher RENEWAL
Jeanfrancois M DoeSpainStephen Shaw NEW
Arvin K SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Clifford J CaldareraAustraliaAmy Elsner PROPOSAL
Morrow A PerinBrazilXuxue Feng PROPOSAL
Jennifer N FerenczGermanyAsiya Javayant NEGOTIATION
Misaki O GlickItalyAmy Elsner QUALIFIED
Jefferson V CaldareraCanadaAsiya Javayant NEW
Clifford D FlosiIndiaAnna Fali NEGOTIATION
Juan K WieserUnited KingdomStephen Shaw RENEWAL
Leon F GillianCanadaStephen Shaw NEW
Octavia Y RulapaughIndiaXuxue Feng PROPOSAL
Johnson H KuskoFranceStephen Shaw QUALIFIED
Antonio O SchemmerUnited KingdomAnna Fali PROPOSAL
Juan O GarufiFranceAnna Fali RENEWAL
Sinclair A BowleyIndiaAnna Fali UNQUALIFIED
Izzy F SlusarskiAustraliaIoni Bowcher RENEWAL
Deepesh S WhobreyRussiaXuxue Feng UNQUALIFIED
Morrow W AlbaresRussiaStephen Shaw NEGOTIATION
Sinclair M CampainUnited KingdomAsiya Javayant NEW
Wickens W AlbaresArgentinaIvan Magalhaes RENEWAL
Claire K DarakjySpainAmy Elsner PROPOSAL
Costa Z PoquetteFranceStephen Shaw NEGOTIATION
Jefferson W AmigonCanadaIvan Magalhaes NEW
Antonio R KolmetzAustraliaAnna Fali RENEWAL
Jones J BriddickGermanyAsiya Javayant QUALIFIED
Costa L MaletUnited KingdomXuxue Feng NEGOTIATION
Costa X BriddickAustraliaAnna Fali NEGOTIATION
Greenwood Z RoysterArgentinaAnna Fali RENEWAL
Deepesh F RoysterSpainIoni Bowcher PROPOSAL
Juan O RimAustraliaIvan Magalhaes RENEWAL
Chavez R WieserArgentinaElwin Sharvill PROPOSAL
Francesco X IturbideCanadaOnyama Limba NEGOTIATION
Juan L MaletItalyAsiya Javayant RENEWAL
Alejandro O CaudyUnited KingdomAsiya Javayant RENEWAL
Sinclair H VocelkaSpainAsiya Javayant QUALIFIED
Frozen Columns
Name
Claire L Caldarera
Antonio S Malet
Murillo T Foller
Julie F Foller
Greenwood K Campain
Leja M Briddick
Julie Q Glick
Ashley V Gillian
Morrow H Darakjy
Cody M Malet
Stacey C Stenseth
Darci P Nestle
Juan N Garufi
Isabel I Malet
Silvio O Nicka
Jefferson O Shinko
Greenwood G Stockham
Izzy E Albares
Maria L Campain
Alejandro M Saylors
Alejandro Y Sergi
Emily M Morasca
Octavia I Tollner
Mayumi P Figeroa
Deepesh D Campain
Ashley G Ferencz
Greenwood R Ferencz
David S Nestle
Kadeem Z Butt
Jones M Bowley
Ricardo B Morasca
Antonio N Ostrosky
Morrow Z Glick
Greenwood D Butt
Silvio Q Iturbide
Jeanfrancois S Sergi
Leja U Poquette
Morrow V Butt
James M Perin
Rodrigues I Garufi
Kadeem D Figeroa
Munro H Rulapaugh
David Q Royster
Deepesh I Butt
Alejandro V Venere
Cody C Inouye
Ivar K Wieser
Stacey S Malet
Munro I Kolmetz
Arvin A Garufi
IdCountryDate
1000Italy2024-06-20
1001Russia2024-05-25
1002Brazil2024-06-02
1003Argentina2024-06-16
1004Italy2024-06-11
1005Germany2024-06-10
1006France2024-06-12
1007United Kingdom2024-06-06
1008Argentina2024-06-21
1009Japan2024-05-26
1010France2024-05-30
1011Spain2024-05-25
1012Canada2024-06-10
1013France2024-06-21
1014Russia2024-06-11
1015France2024-05-25
1016Brazil2024-06-06
1017Brazil2024-05-25
1018Argentina2024-06-13
1019United Kingdom2024-05-25
1020Spain2024-06-18
1021Russia2024-06-15
1022Italy2024-06-04
1023Canada2024-06-06
1024Spain2024-05-25
1025Canada2024-06-04
1026Spain2024-05-27
1027France2024-06-01
1028Argentina2024-06-15
1029United Kingdom2024-06-02
1030France2024-06-14
1031Russia2024-06-07
1032Italy2024-06-11
1033Argentina2024-06-11
1034Australia2024-06-09
1035Japan2024-05-28
1036United Kingdom2024-06-22
1037Germany2024-06-15
1038Italy2024-05-30
1039Argentina2024-06-17
1040Argentina2024-05-24
1041Argentina2024-05-27
1042Canada2024-05-24
1043Brazil2024-06-10
1044Canada2024-06-02
1045United Kingdom2024-05-30
1046Brazil2024-06-06
1047Brazil2024-06-08
1048Japan2024-06-15
1049Germany2024-06-03

On-Demand Data

NameIdCountryDate
Deepesh W Dilliard1000Australia2024-06-14
Juan D Rulapaugh1001Italy2024-06-14
Salvatore B Kolmetz1002Russia2024-05-30
James B Garufi1003Canada2024-05-29
Claire A Stockham1004Spain2024-06-17
Claire U Figeroa1005France2024-06-11
Ricardo Z Rulapaugh1006Spain2024-06-16
Alejandro Q Marrier1007Brazil2024-06-18
Tony H Rim1008Germany2024-06-19
Greenwood B Garufi1009Brazil2024-06-10
Aika J Marrier1010India2024-06-04
Stacey I Briddick1011India2024-06-09
Costa P Wieser1012United Kingdom2024-06-18
Darci E Wieser1013Japan2024-05-25
Leja C Ruta1014India2024-05-26
Aditya S Malet1015United Kingdom2024-05-24
Claire Q Stenseth1016Canada2024-06-05
Leja D Stenseth1017Germany2024-05-27
Isabel A Chui1018Germany2024-05-24
Kadeem T Bolognia1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I StensethCanadaOnyama Limba PROPOSAL
Julie Z IturbideBrazilStephen Shaw RENEWAL
James C CampainBrazilOnyama Limba NEGOTIATION
Antonio W TollnerFranceOnyama Limba QUALIFIED
Aruna Z FollerJapanIvan Magalhaes QUALIFIED
Munro E MaletJapanOnyama Limba UNQUALIFIED
Jennifer A CaudyRussiaAmy Elsner NEGOTIATION
Jennifer F BowleyUnited KingdomAnna Fali NEW
Costa B KolmetzItalyAsiya Javayant NEW
Munro Q GillianUnited KingdomAsiya Javayant NEW
Maisha X SlusarskiJapanStephen Shaw QUALIFIED
Arvin V DoeBrazilAmy Elsner NEW
Arvin T FigeroaUnited KingdomIoni Bowcher QUALIFIED
Antonio F PaprockiJapanIvan Magalhaes NEGOTIATION
Mujtaba H BriddickArgentinaXuxue Feng PROPOSAL
Deepesh R PoquetteItalyElwin Sharvill NEW
Deepesh B IturbideArgentinaBernardo Dominic NEW
Johnson V VenereSpainAnna Fali QUALIFIED
Faith Y IturbideGermanyOnyama Limba NEW
Jefferson O BriddickUnited KingdomBernardo Dominic PROPOSAL
Ricardo P MaletItalyAnna Fali RENEWAL
Emily Y RutaSpainAsiya Javayant PROPOSAL
Darci U DarakjyFranceIoni Bowcher UNQUALIFIED
Octavia Q GauchoCanadaStephen Shaw QUALIFIED
David G FerenczUnited KingdomAmy Elsner UNQUALIFIED
Stacey C PerinItalyAsiya Javayant UNQUALIFIED
Chavez Z BriddickUnited KingdomAsiya Javayant NEW
James K SergiJapanElwin Sharvill PROPOSAL
Kadeem K GillianBrazilBernardo Dominic NEGOTIATION
Sinclair W NestleUnited KingdomOnyama Limba PROPOSAL
Ivar R DarakjyRussiaIoni Bowcher NEGOTIATION
Ashley T ShinkoGermanyAsiya Javayant UNQUALIFIED
Chavez I VocelkaGermanyIvan Magalhaes UNQUALIFIED
Mayumi H DilliardFranceBernardo Dominic NEGOTIATION
Mujtaba B OstroskyCanadaIoni Bowcher QUALIFIED
Octavia X FigeroaAustraliaAsiya Javayant NEGOTIATION
Nicolas J PaprockiFranceBernardo Dominic NEGOTIATION
Jeanfrancois J FerenczFranceAmy Elsner QUALIFIED
Stacey L VenereFranceXuxue Feng UNQUALIFIED
Jennifer D WhobreyFranceOnyama Limba 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>