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
Costa S NickaJapanIoni Bowcher NEGOTIATION
Jennifer N ShinkoSpainXuxue Feng PROPOSAL
Nicolas V BowleyCanadaBernardo Dominic UNQUALIFIED
Johnson J StensethUnited KingdomBernardo Dominic PROPOSAL
Rodrigues Y WaycottJapanIoni Bowcher NEW
David G MaletSpainAsiya Javayant NEGOTIATION
Sinclair D RutaJapanIvan Magalhaes RENEWAL
Octavia M DilliardGermanyAmy Elsner NEGOTIATION
Silvio I MacleadRussiaBernardo Dominic QUALIFIED
Cody C MarrierIndiaAmy Elsner UNQUALIFIED
Ashley X AmigonJapanIvan Magalhaes RENEWAL
James V KolmetzFranceElwin Sharvill QUALIFIED
Silvio S PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Antonio U GlickCanadaOnyama Limba QUALIFIED
Antonio C FlosiIndiaXuxue Feng QUALIFIED
Arvin R BowleyItalyAsiya Javayant UNQUALIFIED
Misaki C ShinkoCanadaElwin Sharvill NEW
Faith Q RutaUnited KingdomXuxue Feng UNQUALIFIED
Salvatore M MorascaJapanElwin Sharvill PROPOSAL
Mayumi U WaycottAustraliaAmy Elsner PROPOSAL
Silvio U RutaFranceElwin Sharvill UNQUALIFIED
Deepesh N CampainAustraliaAnna Fali PROPOSAL
Johnson J CampainGermanyXuxue Feng NEW
Faith R DarakjySpainIoni Bowcher RENEWAL
Juan I TollnerAustraliaIvan Magalhaes UNQUALIFIED
Aika R TollnerGermanyAsiya Javayant RENEWAL
Cody P ChuiSpainOnyama Limba RENEWAL
Murillo L DoeBrazilAmy Elsner PROPOSAL
Mujtaba C DilliardItalyAnna Fali RENEWAL
Mujtaba D PaprockiAustraliaElwin Sharvill QUALIFIED
Jennifer C StockhamRussiaAnna Fali QUALIFIED
Jefferson M RoysterCanadaAsiya Javayant RENEWAL
Leon H KuskoUnited KingdomAnna Fali PROPOSAL
Kaitlin I MarrierSpainAnna Fali NEGOTIATION
Mujtaba P GlickUnited KingdomAmy Elsner NEW
Adams Q FerenczSpainBernardo Dominic NEW
Antonio D MarrierItalyIoni Bowcher UNQUALIFIED
Kadeem U BriddickRussiaAnna Fali PROPOSAL
Claire K CampainFranceAnna Fali QUALIFIED
Clifford K VenereBrazilElwin Sharvill NEW
Aruna E ShinkoFranceBernardo Dominic QUALIFIED
Wickens O PaprockiArgentinaElwin Sharvill PROPOSAL
Jennifer Q MaletCanadaOnyama Limba QUALIFIED
Salvatore A ChuiSpainAsiya Javayant UNQUALIFIED
Emily O PerinSpainXuxue Feng QUALIFIED
Izzy D GillianGermanyIoni Bowcher NEGOTIATION
Munro R MaletArgentinaBernardo Dominic PROPOSAL
Isabel Y GillianIndiaAmy Elsner PROPOSAL
Costa Y FlosiRussiaIoni Bowcher NEW
Antonio K CaudyRussiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar O ButtFranceAmy Elsner NEW
Jefferson V CampainJapanBernardo Dominic UNQUALIFIED
Tony W WhobreyAustraliaIoni Bowcher NEGOTIATION
Clifford I RutaCanadaIvan Magalhaes UNQUALIFIED
Jefferson O TollnerItalyIvan Magalhaes QUALIFIED
Morrow Y WhobreyBrazilXuxue Feng QUALIFIED
Mayumi A RutaJapanIvan Magalhaes UNQUALIFIED
Chavez B SlusarskiItalyAmy Elsner UNQUALIFIED
Silvio T OstroskyFranceElwin Sharvill QUALIFIED
Nicolas B SchemmerGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa E KolmetzItaly2024-05-24Rousseaux, Michael Esq UNQUALIFIED1Asiya Javayant
1001Silvio M MaletArgentina2024-06-05Feltz Printing Service RENEWAL54Bernardo Dominic
1002Alejandro Y MorascaFrance2024-06-21Dorl, James J Esq RENEWAL44Onyama Limba
1003Clifford W NestleFrance2024-05-31Rousseaux, Michael Esq NEGOTIATION0Asiya Javayant
1004Leja Y MacleadUnited Kingdom2024-06-20Benton, John B Jr NEGOTIATION43Amy Elsner
1005Kaitlin R KolmetzUnited Kingdom2024-06-07Feltz Printing Service QUALIFIED55Asiya Javayant
1006Adams G FollerAustralia2024-05-29Printing Dimensions NEGOTIATION4Ioni Bowcher
1007Maisha D GauchoBrazil2024-06-01Feltz Printing Service NEGOTIATION71Anna Fali
1008Isabel B ShinkoArgentina2024-06-07Benton, John B Jr PROPOSAL32Bernardo Dominic
1009Jeanfrancois R MorascaCanada2024-06-13Rangoni Of Florence UNQUALIFIED58Ioni Bowcher
1010Jefferson Z GlickFrance2024-06-13Commercial Press UNQUALIFIED84Xuxue Feng
1011Leon S FlosiGermany2024-05-23Chemel, James L Cpa UNQUALIFIED91Amy Elsner
1012Maisha D ChuiUnited Kingdom2024-06-17Commercial Press NEW24Onyama Limba
1013Aruna W SaylorsJapan2024-06-16Truhlar And Truhlar Attys QUALIFIED97Asiya Javayant
1014James G SlusarskiArgentina2024-05-27Commercial Press NEW75Anna Fali
1015Maria U OstroskyBrazil2024-05-26Chanay, Jeffrey A Esq QUALIFIED40Ioni Bowcher
1016Faith M FlosiArgentina2024-06-18Printing Dimensions NEGOTIATION38Stephen Shaw
1017Costa Y CaudyAustralia2024-06-16Benton, John B Jr NEGOTIATION70Ioni Bowcher
1018Antonio A GauchoFrance2024-06-01Chanay, Jeffrey A Esq NEW47Anna Fali
1019Clifford V DilliardCanada2024-06-10Chemel, James L Cpa PROPOSAL69Ioni Bowcher
1020Munro I StensethBrazil2024-06-03King, Christopher A Esq QUALIFIED1Anna Fali
1021Morrow F PaprockiArgentina2024-06-13Chapman, Ross E Esq NEGOTIATION31Bernardo Dominic
1022Jeanfrancois P AmigonArgentina2024-06-09Buckley Miller Wright UNQUALIFIED25Elwin Sharvill
1023Aika L GarufiCanada2024-06-15King, Christopher A Esq NEGOTIATION29Bernardo Dominic
1024Kadeem G KuskoBrazil2024-06-03Truhlar And Truhlar Attys UNQUALIFIED61Ioni Bowcher
1025Ashley T StensethBrazil2024-06-12Chemel, James L Cpa QUALIFIED2Amy Elsner
1026Mujtaba G ButtGermany2024-05-27Printing Dimensions QUALIFIED74Xuxue Feng
1027Salvatore K RulapaughRussia2024-05-28Feiner Bros UNQUALIFIED99Anna Fali
1028Cody B RulapaughItaly2024-06-10Feiner Bros RENEWAL11Ioni Bowcher
1029Ashley A StockhamFrance2024-06-19Buckley Miller Wright NEGOTIATION67Elwin Sharvill
1030Izzy G AmigonFrance2024-06-01Benton, John B Jr UNQUALIFIED48Bernardo Dominic
1031Munro Q PerinCanada2024-05-24Chemel, James L Cpa RENEWAL69Anna Fali
1032Adams F KuskoArgentina2024-06-21Feltz Printing Service NEW16Anna Fali
1033Juan U GauchoCanada2024-06-10Chemel, James L Cpa UNQUALIFIED76Elwin Sharvill
1034Octavia J FerenczGermany2024-06-07Chemel, James L Cpa RENEWAL8Xuxue Feng
1035Aruna X FerenczItaly2024-06-03Printing Dimensions NEGOTIATION49Asiya Javayant
1036Morrow W CampainUnited Kingdom2024-06-14Morlong Associates QUALIFIED59Anna Fali
1037Mujtaba F OstroskyBrazil2024-06-14Chemel, James L Cpa UNQUALIFIED44Ivan Magalhaes
1038Octavia D CampainJapan2024-06-18Morlong Associates NEGOTIATION12Anna Fali
1039Ashley U DilliardArgentina2024-06-17Chapman, Ross E Esq QUALIFIED26Asiya Javayant
1040Cody W RulapaughCanada2024-05-29Dorl, James J Esq NEGOTIATION37Anna Fali
1041Maria D VocelkaIndia2024-06-13Rangoni Of Florence RENEWAL38Xuxue Feng
1042Smith O OstroskyItaly2024-06-18Chanay, Jeffrey A Esq PROPOSAL21Elwin Sharvill
1043Mayumi N PoquetteUnited Kingdom2024-06-03Chemel, James L Cpa RENEWAL21Ivan Magalhaes
1044Costa G GlickBrazil2024-06-01Rangoni Of Florence RENEWAL26Xuxue Feng
1045Rodrigues O SergiItaly2024-06-12Benton, John B Jr UNQUALIFIED81Asiya Javayant
1046Smith E BowleyBrazil2024-06-14Commercial Press QUALIFIED17Stephen Shaw
1047Arvin T DilliardIndia2024-06-06Morlong Associates PROPOSAL34Anna Fali
1048Jeanfrancois X ChuiArgentina2024-05-28Chemel, James L Cpa NEW54Amy Elsner
1049Sinclair R MaletSpain2024-05-25Commercial Press RENEWAL39Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo L VocelkaUnited KingdomOnyama Limba NEGOTIATION
Ivar L WieserJapanOnyama Limba UNQUALIFIED
Silvio K AlbaresArgentinaIvan Magalhaes QUALIFIED
Jefferson A GillianBrazilStephen Shaw PROPOSAL
Chavez D FlosiJapanOnyama Limba PROPOSAL
Mayumi Q SergiItalyAnna Fali NEW
Izzy C ChuiItalyAmy Elsner NEW
Clifford T OldroydRussiaIvan Magalhaes RENEWAL
Morrow H RutaArgentinaAmy Elsner NEGOTIATION
Salvatore X InouyeAustraliaElwin Sharvill PROPOSAL
Ivar I RimIndiaStephen Shaw NEGOTIATION
Izzy Y ChuiSpainAsiya Javayant QUALIFIED
James S WaycottUnited KingdomAsiya Javayant RENEWAL
Faith D PaprockiCanadaAsiya Javayant QUALIFIED
Leon Y GarufiGermanyAmy Elsner NEW
Leon X SchemmerItalyXuxue Feng QUALIFIED
Claire M GarufiArgentinaAsiya Javayant NEGOTIATION
Greenwood C RimFranceAmy Elsner UNQUALIFIED
Jones G InouyeAustraliaIvan Magalhaes NEGOTIATION
Tony A MaletUnited KingdomXuxue Feng UNQUALIFIED
Octavia S StensethAustraliaBernardo Dominic UNQUALIFIED
Murillo G FerenczSpainStephen Shaw QUALIFIED
Wickens V DilliardBrazilXuxue Feng UNQUALIFIED
Murillo F PerinArgentinaIoni Bowcher NEW
Juan I DarakjyGermanyOnyama Limba UNQUALIFIED
Johnson T NestleRussiaXuxue Feng NEGOTIATION
Ashley K WhobreyIndiaIvan Magalhaes QUALIFIED
Leja G OldroydAustraliaAnna Fali QUALIFIED
Maisha A MacleadRussiaAmy Elsner QUALIFIED
Alejandro Q MacleadRussiaAmy Elsner RENEWAL
Misaki B SaylorsCanadaIoni Bowcher UNQUALIFIED
Tony S KuskoIndiaBernardo Dominic UNQUALIFIED
Murillo T KuskoGermanyStephen Shaw NEGOTIATION
Cody J KolmetzGermanyBernardo Dominic PROPOSAL
Smith D InouyeRussiaXuxue Feng NEGOTIATION
Chavez T RutaJapanAsiya Javayant NEGOTIATION
Darci I ButtRussiaAnna Fali NEW
Morrow W MaletRussiaXuxue Feng NEW
Jennifer E RulapaughRussiaIoni Bowcher QUALIFIED
Maria Y PaprockiItalyStephen Shaw RENEWAL
Murillo U OldroydBrazilAsiya Javayant RENEWAL
James E WieserUnited KingdomElwin Sharvill NEGOTIATION
Ivar L WieserJapanBernardo Dominic PROPOSAL
Murillo F SergiGermanyAnna Fali RENEWAL
Misaki V MaletItalyXuxue Feng QUALIFIED
Deepesh P SchemmerRussiaAnna Fali PROPOSAL
Costa F FigeroaJapanAsiya Javayant QUALIFIED
Costa O GlickJapanStephen Shaw PROPOSAL
Maisha G NestleRussiaAmy Elsner NEGOTIATION
Costa B TollnerGermanyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Murillo X Figeroa
Murillo E Inouye
Rodrigues Z Chui
Izzy Z Amigon
Ashley L Venere
Misaki W Glick
Clifford P Perin
Costa Q Briddick
Johnson T Albares
Misaki M Inouye
Maisha N Marrier
Isabel A Chui
Smith C Glick
Octavia J Wieser
Costa P Chui
Isabel B Maclead
Isabel A Ostrosky
Darci Z Garufi
Deepesh K Caldarera
Juan J Caudy
Costa A Foller
Izzy J Glick
Maria X Gaucho
Jefferson B Nicka
Wickens W Slusarski
Octavia J Rulapaugh
Darci G Perin
Kadeem C Paprocki
Murillo Y Wieser
Costa N Wieser
Aika M Albares
Aditya E Albares
Darci R Paprocki
Leja N Amigon
Maria F Bowley
David X Bolognia
Aika R Maclead
Maisha F Bolognia
Ivar Z Kusko
Jennifer Y Perin
Johnson R Rim
Francesco K Morasca
Clifford S Gaucho
Darci F Inouye
Stacey X Marrier
Aika K Stenseth
Ricardo R Doe
Aruna J Nestle
Costa G Royster
Alejandro K Doe
IdCountryDate
1000Australia2024-06-14
1001Japan2024-06-01
1002Italy2024-06-18
1003France2024-06-09
1004Japan2024-06-16
1005Japan2024-06-17
1006Spain2024-06-21
1007France2024-06-01
1008Italy2024-06-01
1009Japan2024-06-20
1010Spain2024-05-24
1011Russia2024-05-30
1012Argentina2024-05-30
1013India2024-06-13
1014Russia2024-05-24
1015Russia2024-06-16
1016Italy2024-06-14
1017Argentina2024-06-11
1018Russia2024-06-20
1019Japan2024-06-21
1020Germany2024-06-03
1021France2024-05-25
1022India2024-05-23
1023Canada2024-05-30
1024Spain2024-06-15
1025Australia2024-05-26
1026Argentina2024-05-28
1027Argentina2024-05-23
1028Japan2024-06-21
1029Brazil2024-06-10
1030Australia2024-05-25
1031Russia2024-06-05
1032Spain2024-06-02
1033Germany2024-06-10
1034Russia2024-06-08
1035Spain2024-05-29
1036Spain2024-06-09
1037France2024-05-24
1038Spain2024-06-11
1039Spain2024-05-23
1040Japan2024-06-12
1041France2024-06-19
1042Canada2024-05-25
1043India2024-06-12
1044United Kingdom2024-06-02
1045Australia2024-06-11
1046India2024-06-16
1047Argentina2024-06-18
1048United Kingdom2024-06-19
1049Canada2024-06-18

On-Demand Data

NameIdCountryDate
Francesco A Shinko1000India2024-06-08
Aditya B Amigon1001Russia2024-06-09
Misaki H Paprocki1002Canada2024-06-03
Misaki X Kolmetz1003Spain2024-05-25
Rodrigues I Whobrey1004Germany2024-06-09
David E Perin1005Argentina2024-06-17
Wickens U Amigon1006Australia2024-06-12
Maria K Glick1007Brazil2024-06-16
Jones J Saylors1008Canada2024-06-07
Aditya H Ferencz1009Argentina2024-06-18
Ashley X Caldarera1010France2024-06-20
Julie V Garufi1011Spain2024-05-28
Arvin O Darakjy1012Germany2024-06-17
Faith P Campain1013Brazil2024-06-17
Aditya I Malet1014Brazil2024-06-14
Smith D Inouye1015Argentina2024-06-16
Jeanfrancois P Venere1016India2024-06-13
Antonio Z Nicka1017Japan2024-06-21
Ivar Z Figeroa1018Brazil2024-06-21
Clifford K Caldarera1019Japan2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja N SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Alejandro F TollnerUnited KingdomIvan Magalhaes QUALIFIED
Silvio B FollerBrazilStephen Shaw UNQUALIFIED
Jennifer R FollerSpainElwin Sharvill NEGOTIATION
Greenwood D OstroskySpainElwin Sharvill UNQUALIFIED
Tony L TollnerArgentinaOnyama Limba PROPOSAL
Aruna E DilliardAustraliaIvan Magalhaes NEGOTIATION
Isabel H FlosiUnited KingdomBernardo Dominic NEGOTIATION
Greenwood E WieserGermanyStephen Shaw NEGOTIATION
David M KolmetzCanadaAnna Fali PROPOSAL
Emily T CaldareraIndiaElwin Sharvill PROPOSAL
Murillo X GlickRussiaOnyama Limba QUALIFIED
Johnson Q DilliardAustraliaOnyama Limba PROPOSAL
Antonio Z NestleItalyAnna Fali NEGOTIATION
Faith B RulapaughRussiaOnyama Limba PROPOSAL
Octavia Z StockhamIndiaStephen Shaw PROPOSAL
Octavia R SchemmerRussiaElwin Sharvill PROPOSAL
Claire A WaycottGermanyStephen Shaw NEW
Aruna S BologniaRussiaIoni Bowcher PROPOSAL
Arvin T RulapaughSpainElwin Sharvill RENEWAL
Antonio B AmigonRussiaAnna Fali UNQUALIFIED
Claire B SaylorsAustraliaAnna Fali QUALIFIED
Aruna Y VocelkaArgentinaIoni Bowcher NEGOTIATION
Arvin M OldroydSpainStephen Shaw PROPOSAL
Jefferson E MaletSpainElwin Sharvill QUALIFIED
Antonio O PoquetteCanadaBernardo Dominic NEGOTIATION
Mayumi Y IturbideSpainAnna Fali NEW
Mujtaba V ShinkoSpainElwin Sharvill NEW
Aika O CaldareraBrazilAmy Elsner RENEWAL
Johnson M RoysterSpainIvan Magalhaes UNQUALIFIED
Emily X RutaJapanElwin Sharvill RENEWAL
Johnson T RutaFranceOnyama Limba NEW
Clifford T ShinkoBrazilBernardo Dominic QUALIFIED
Kadeem K TollnerUnited KingdomIoni Bowcher RENEWAL
Deepesh S CampainAustraliaIvan Magalhaes RENEWAL
Rodrigues L OldroydSpainOnyama Limba UNQUALIFIED
David Y RutaFranceOnyama Limba NEW
Kaitlin R ShinkoUnited KingdomAnna Fali UNQUALIFIED
Kaitlin X DilliardBrazilAnna Fali QUALIFIED
Leon R MacleadSpainAmy Elsner QUALIFIED

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