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
Silvio B BologniaBrazilAmy Elsner QUALIFIED
Munro I DarakjyBrazilBernardo Dominic RENEWAL
Maisha B SchemmerCanadaStephen Shaw NEGOTIATION
Ricardo X PoquetteSpainAnna Fali QUALIFIED
Smith Y IturbideBrazilIoni Bowcher NEW
Morrow V WhobreyGermanyOnyama Limba NEGOTIATION
Costa I BologniaAustraliaStephen Shaw NEGOTIATION
Aruna V FerenczJapanXuxue Feng NEW
Munro Q RoysterArgentinaBernardo Dominic PROPOSAL
Leja P BowleyArgentinaAsiya Javayant NEGOTIATION
Mujtaba R SlusarskiFranceOnyama Limba UNQUALIFIED
Jones N BowleyAustraliaXuxue Feng RENEWAL
Clifford K FollerGermanyXuxue Feng UNQUALIFIED
Izzy X ButtAustraliaOnyama Limba NEGOTIATION
Alejandro Y CaudySpainOnyama Limba NEGOTIATION
Morrow Z MacleadSpainElwin Sharvill UNQUALIFIED
Costa W NickaIndiaIoni Bowcher NEW
Darci D ShinkoFranceBernardo Dominic NEW
Antonio C BowleyAustraliaIoni Bowcher PROPOSAL
Cody Z MarrierFranceOnyama Limba RENEWAL
Darci W CaldareraFranceBernardo Dominic NEW
Kadeem L StensethJapanAsiya Javayant RENEWAL
Ivar G SergiGermanyAnna Fali QUALIFIED
David G MaletUnited KingdomAsiya Javayant NEGOTIATION
Clifford B GauchoBrazilAsiya Javayant UNQUALIFIED
Julie B RoysterItalyIoni Bowcher PROPOSAL
Antonio H SlusarskiSpainAmy Elsner NEW
Ivar P VocelkaJapanAmy Elsner NEGOTIATION
Salvatore X SaylorsIndiaXuxue Feng UNQUALIFIED
Cody B TollnerArgentinaBernardo Dominic PROPOSAL
Leon I CampainIndiaXuxue Feng NEW
Smith I KolmetzSpainXuxue Feng NEGOTIATION
Jennifer L CaldareraArgentinaStephen Shaw PROPOSAL
Maisha C InouyeRussiaAnna Fali RENEWAL
Misaki W KuskoArgentinaAnna Fali NEW
Maisha M MaletRussiaStephen Shaw PROPOSAL
Emily A SlusarskiIndiaAmy Elsner NEGOTIATION
Johnson V WieserItalyAmy Elsner RENEWAL
Leja M OldroydIndiaAnna Fali NEGOTIATION
Morrow H NestleBrazilXuxue Feng QUALIFIED
Johnson C CampainSpainAnna Fali NEW
Darci H StensethBrazilAsiya Javayant QUALIFIED
Costa O IturbideIndiaIvan Magalhaes QUALIFIED
Misaki W DilliardSpainAsiya Javayant PROPOSAL
Ricardo J MacleadAustraliaElwin Sharvill NEW
Rodrigues T PoquetteAustraliaIoni Bowcher RENEWAL
Kadeem I ChuiAustraliaOnyama Limba PROPOSAL
Kaitlin O SlusarskiBrazilAsiya Javayant NEGOTIATION
Adams G PerinFranceIvan Magalhaes UNQUALIFIED
Ashley O OstroskyArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore U GauchoItalyOnyama Limba QUALIFIED
Munro P ButtFranceAmy Elsner NEGOTIATION
David S MarrierIndiaAmy Elsner UNQUALIFIED
Jennifer F DoeJapanOnyama Limba UNQUALIFIED
Mayumi S GlickArgentinaXuxue Feng NEGOTIATION
Smith Z BowleyAustraliaOnyama Limba NEW
Morrow Y WieserArgentinaElwin Sharvill NEW
Silvio C DilliardItalyStephen Shaw UNQUALIFIED
Maisha B WieserAustraliaElwin Sharvill QUALIFIED
Tony G OldroydSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson T AmigonSpain2024-06-08Chemel, James L Cpa QUALIFIED25Stephen Shaw
1001Izzy H CampainRussia2024-05-27Chemel, James L Cpa UNQUALIFIED24Amy Elsner
1002Aditya Z SlusarskiSpain2024-05-31Truhlar And Truhlar Attys NEW20Xuxue Feng
1003Greenwood D TollnerArgentina2024-06-12Chemel, James L Cpa NEGOTIATION79Amy Elsner
1004Nicolas C WhobreyIndia2024-06-13Morlong Associates RENEWAL65Stephen Shaw
1005Aditya S GillianArgentina2024-06-23Rousseaux, Michael Esq PROPOSAL91Anna Fali
1006Kaitlin C FlosiIndia2024-05-29Feltz Printing Service NEW64Xuxue Feng
1007Nicolas D BologniaIndia2024-06-19Truhlar And Truhlar Attys QUALIFIED95Ioni Bowcher
1008Ashley M MorascaBrazil2024-06-06Benton, John B Jr UNQUALIFIED61Stephen Shaw
1009Deepesh N FerenczBrazil2024-06-14Rousseaux, Michael Esq QUALIFIED52Xuxue Feng
1010Misaki F PaprockiSpain2024-06-22Commercial Press PROPOSAL40Anna Fali
1011Alejandro V OldroydAustralia2024-06-16Benton, John B Jr RENEWAL6Ivan Magalhaes
1012Aruna R RoysterCanada2024-06-04Morlong Associates QUALIFIED43Xuxue Feng
1013Jefferson E TollnerUnited Kingdom2024-06-05Buckley Miller Wright QUALIFIED32Xuxue Feng
1014Jennifer L GlickAustralia2024-06-13King, Christopher A Esq PROPOSAL26Stephen Shaw
1015Salvatore E SchemmerRussia2024-06-01Rangoni Of Florence QUALIFIED3Ioni Bowcher
1016Clifford D GarufiFrance2024-06-19Truhlar And Truhlar Attys NEGOTIATION58Elwin Sharvill
1017Kaitlin Q TollnerItaly2024-06-02King, Christopher A Esq UNQUALIFIED79Elwin Sharvill
1018Maria M WieserUnited Kingdom2024-06-05Chemel, James L Cpa NEW81Ioni Bowcher
1019Kaitlin O KuskoUnited Kingdom2024-06-05Feltz Printing Service PROPOSAL62Anna Fali
1020Mayumi H ButtGermany2024-05-28Printing Dimensions RENEWAL55Stephen Shaw
1021Isabel M BriddickRussia2024-06-08Feiner Bros QUALIFIED36Xuxue Feng
1022Cody N KolmetzRussia2024-06-14Feltz Printing Service UNQUALIFIED70Asiya Javayant
1023Leon R InouyeItaly2024-06-09Rousseaux, Michael Esq QUALIFIED43Elwin Sharvill
1024Alejandro H FerenczJapan2024-05-31Morlong Associates PROPOSAL32Onyama Limba
1025Stacey F BowleyUnited Kingdom2024-06-08Benton, John B Jr UNQUALIFIED88Elwin Sharvill
1026Aruna N GauchoArgentina2024-06-19Commercial Press PROPOSAL70Anna Fali
1027Salvatore T AlbaresUnited Kingdom2024-06-19Feltz Printing Service RENEWAL29Ioni Bowcher
1028Rodrigues K GauchoUnited Kingdom2024-06-10Chapman, Ross E Esq NEW33Ivan Magalhaes
1029Aditya M OstroskyBrazil2024-06-05Rousseaux, Michael Esq RENEWAL73Amy Elsner
1030Jeanfrancois O RulapaughCanada2024-06-18King, Christopher A Esq NEW49Xuxue Feng
1031Jennifer C RoysterAustralia2024-06-09Feiner Bros UNQUALIFIED4Onyama Limba
1032Claire U TollnerFrance2024-06-06Buckley Miller Wright NEW65Stephen Shaw
1033Murillo J ButtUnited Kingdom2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED4Elwin Sharvill
1034Kadeem I NestleRussia2024-05-28Truhlar And Truhlar Attys NEGOTIATION95Amy Elsner
1035Francesco I PerinItaly2024-06-23King, Christopher A Esq RENEWAL25Xuxue Feng
1036David Q WhobreySpain2024-06-21King, Christopher A Esq NEW55Amy Elsner
1037Aruna X FollerItaly2024-06-21Feiner Bros UNQUALIFIED95Ioni Bowcher
1038Stacey H BriddickSpain2024-06-16Chanay, Jeffrey A Esq RENEWAL37Asiya Javayant
1039David K MacleadBrazil2024-06-09Rousseaux, Michael Esq RENEWAL67Ioni Bowcher
1040Leja C SlusarskiSpain2024-06-22Rousseaux, Michael Esq RENEWAL79Ivan Magalhaes
1041Antonio J NickaArgentina2024-06-06Rangoni Of Florence RENEWAL57Xuxue Feng
1042Ivar Z MacleadIndia2024-06-07Benton, John B Jr UNQUALIFIED37Amy Elsner
1043Antonio P MarrierUnited Kingdom2024-06-14Rangoni Of Florence QUALIFIED97Bernardo Dominic
1044Misaki E ShinkoRussia2024-06-23Feltz Printing Service QUALIFIED59Elwin Sharvill
1045Ricardo W StensethFrance2024-06-04Buckley Miller Wright NEGOTIATION89Stephen Shaw
1046Antonio T VenereFrance2024-06-17Morlong Associates NEW37Ioni Bowcher
1047Silvio B PoquetteItaly2024-06-03Commercial Press RENEWAL50Onyama Limba
1048Claire B KolmetzJapan2024-06-14Printing Dimensions RENEWAL43Elwin Sharvill
1049Costa P VenereJapan2024-06-11Chapman, Ross E Esq RENEWAL21Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones X RulapaughSpainAmy Elsner UNQUALIFIED
Rodrigues H AmigonFranceStephen Shaw PROPOSAL
Isabel S SlusarskiFranceAmy Elsner QUALIFIED
Antonio H AlbaresArgentinaBernardo Dominic PROPOSAL
Jeanfrancois N MarrierAustraliaBernardo Dominic NEGOTIATION
Leja G GlickArgentinaIvan Magalhaes NEW
Nicolas O VenereRussiaXuxue Feng RENEWAL
Chavez D BriddickJapanIvan Magalhaes PROPOSAL
James M ButtAustraliaStephen Shaw NEW
Costa K MacleadArgentinaXuxue Feng RENEWAL
Clifford C VocelkaItalyOnyama Limba QUALIFIED
Ashley S MacleadGermanyIoni Bowcher NEW
Jefferson Z CampainArgentinaStephen Shaw QUALIFIED
Clifford F PaprockiBrazilAnna Fali PROPOSAL
Maria E KolmetzJapanElwin Sharvill NEGOTIATION
Emily J MorascaFranceBernardo Dominic QUALIFIED
Deepesh S SergiRussiaStephen Shaw NEGOTIATION
Smith X PerinJapanAmy Elsner QUALIFIED
Alejandro L WhobreyFranceAnna Fali PROPOSAL
Mayumi E BologniaFranceIoni Bowcher QUALIFIED
Morrow S GillianItalyIvan Magalhaes PROPOSAL
Salvatore E DoeJapanXuxue Feng NEW
Greenwood M BriddickRussiaIvan Magalhaes UNQUALIFIED
Nicolas R MorascaGermanyAmy Elsner NEW
Adams C CampainFranceElwin Sharvill NEW
Murillo Z KuskoRussiaOnyama Limba QUALIFIED
Munro T FlosiCanadaIoni Bowcher QUALIFIED
Julie F AmigonFranceIoni Bowcher NEW
Claire Z MarrierUnited KingdomIoni Bowcher RENEWAL
Faith D RulapaughIndiaAmy Elsner PROPOSAL
Chavez S AlbaresCanadaElwin Sharvill UNQUALIFIED
Kadeem X StensethJapanBernardo Dominic PROPOSAL
David Y GlickItalyElwin Sharvill QUALIFIED
Ashley V KolmetzArgentinaIvan Magalhaes RENEWAL
Adams C AmigonCanadaStephen Shaw PROPOSAL
Rodrigues X VenereItalyOnyama Limba NEW
Aika Y WieserArgentinaAmy Elsner NEGOTIATION
Tony N TollnerUnited KingdomElwin Sharvill NEW
Kaitlin Y FlosiCanadaXuxue Feng QUALIFIED
Arvin G RimArgentinaIvan Magalhaes PROPOSAL
Claire R FollerJapanElwin Sharvill QUALIFIED
Sinclair G DilliardCanadaAmy Elsner PROPOSAL
Emily P DilliardItalyAsiya Javayant QUALIFIED
Alejandro G MacleadAustraliaXuxue Feng RENEWAL
Silvio G StockhamFranceIoni Bowcher NEGOTIATION
Nicolas M DoeRussiaAmy Elsner RENEWAL
Arvin X DarakjyIndiaAsiya Javayant UNQUALIFIED
Kadeem P CaldareraArgentinaIoni Bowcher PROPOSAL
Jennifer R ShinkoArgentinaStephen Shaw NEW
Jeanfrancois H InouyeBrazilBernardo Dominic PROPOSAL
Frozen Columns
Name
Juan H Ruta
Rodrigues S Wieser
Isabel J Campain
Kadeem B Bowley
Arvin R Iturbide
Munro W Gaucho
Kaitlin N Royster
Rodrigues P Glick
Izzy Y Rim
James T Royster
Octavia Y Kusko
Cody P Glick
Kadeem A Perin
Maria Z Briddick
Maria S Stockham
Salvatore E Maclead
Jefferson T Gillian
Morrow L Vocelka
Rodrigues M Dilliard
Silvio Z Campain
Faith C Figeroa
Octavia C Sergi
Costa E Campain
Silvio L Gaucho
Munro E Royster
Kadeem S Malet
Ricardo J Saylors
Aika E Venere
Ivar A Malet
James A Inouye
Stacey F Tollner
Cody C Sergi
Faith Y Inouye
Aditya Q Garufi
Murillo O Stenseth
Aditya K Slusarski
Munro W Perin
Faith J Kolmetz
Wickens I Caldarera
Greenwood K Gillian
Leja S Saylors
Arvin S Wieser
Alejandro K Kolmetz
Misaki Y Dilliard
Salvatore U Caudy
David O Vocelka
Jefferson R Malet
Aruna U Poquette
Deepesh Q Iturbide
Leja O Malet
IdCountryDate
1000India2024-06-24
1001India2024-06-10
1002Germany2024-06-06
1003Italy2024-06-22
1004Canada2024-06-16
1005Italy2024-06-05
1006Brazil2024-06-13
1007Germany2024-06-16
1008Spain2024-05-31
1009Japan2024-05-30
1010Germany2024-06-01
1011Argentina2024-05-30
1012United Kingdom2024-05-29
1013Brazil2024-06-23
1014Germany2024-06-18
1015Brazil2024-06-24
1016Russia2024-06-06
1017Canada2024-06-17
1018Canada2024-05-28
1019Germany2024-05-30
1020Russia2024-06-03
1021Canada2024-05-29
1022Canada2024-06-18
1023Germany2024-06-07
1024Germany2024-06-09
1025Japan2024-06-04
1026Australia2024-06-06
1027Spain2024-06-05
1028Spain2024-06-10
1029Canada2024-06-03
1030Spain2024-06-11
1031Russia2024-06-17
1032Germany2024-05-26
1033Australia2024-06-12
1034Australia2024-05-31
1035Germany2024-06-04
1036Canada2024-06-14
1037France2024-06-23
1038Argentina2024-06-02
1039United Kingdom2024-06-14
1040Russia2024-05-29
1041Italy2024-05-26
1042Italy2024-06-02
1043United Kingdom2024-05-30
1044France2024-06-14
1045Germany2024-06-03
1046Russia2024-05-26
1047Brazil2024-06-24
1048Germany2024-05-28
1049Germany2024-06-18

On-Demand Data

NameIdCountryDate
Chavez A Nicka1000Spain2024-06-10
Silvio Z Rulapaugh1001India2024-06-18
Mayumi J Caldarera1002Brazil2024-06-07
Aika Y Doe1003Italy2024-06-17
Antonio X Caudy1004Japan2024-06-12
Maisha P Waycott1005Brazil2024-06-12
Faith D Inouye1006Spain2024-06-03
Clifford X Paprocki1007France2024-06-01
Leja S Darakjy1008Brazil2024-06-19
Arvin O Doe1009Italy2024-06-03
Jefferson Y Figeroa1010Japan2024-05-31
Aditya X Chui1011Germany2024-06-21
Jeanfrancois G Kolmetz1012France2024-06-12
Chavez E Foller1013Canada2024-05-29
Juan Z Figeroa1014Canada2024-06-23
Jefferson S Kusko1015France2024-06-07
Sinclair W Paprocki1016Argentina2024-06-19
Munro C Glick1017Brazil2024-06-14
Stacey G Morasca1018Argentina2024-05-27
Smith N Gillian1019Argentina2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C MarrierCanadaBernardo Dominic RENEWAL
Ricardo D OstroskyJapanAnna Fali RENEWAL
Tony R BowleyGermanyBernardo Dominic NEGOTIATION
Jefferson I RoysterIndiaXuxue Feng PROPOSAL
Costa J SergiFranceElwin Sharvill NEW
Antonio N KuskoAustraliaIvan Magalhaes QUALIFIED
Jefferson G DilliardArgentinaOnyama Limba NEW
Smith C OstroskySpainXuxue Feng NEW
David J NestleJapanBernardo Dominic PROPOSAL
Misaki J WieserItalyOnyama Limba UNQUALIFIED
Octavia G KolmetzGermanyAnna Fali NEGOTIATION
Nicolas M ButtUnited KingdomBernardo Dominic QUALIFIED
Chavez J SlusarskiRussiaXuxue Feng NEW
Juan I RulapaughAustraliaOnyama Limba UNQUALIFIED
Alejandro Z WaycottCanadaAsiya Javayant UNQUALIFIED
Ricardo N MorascaSpainStephen Shaw PROPOSAL
Silvio G MacleadItalyIvan Magalhaes NEW
Kadeem A PerinBrazilIvan Magalhaes RENEWAL
Costa A AlbaresArgentinaAsiya Javayant PROPOSAL
Deepesh Q InouyeUnited KingdomBernardo Dominic QUALIFIED
Arvin S WieserGermanyAnna Fali QUALIFIED
Adams E KolmetzIndiaAmy Elsner QUALIFIED
Jefferson V RulapaughRussiaStephen Shaw RENEWAL
Adams Z StensethCanadaXuxue Feng UNQUALIFIED
Kadeem Q SlusarskiJapanIoni Bowcher RENEWAL
Jennifer Q MorascaJapanOnyama Limba PROPOSAL
Emily Q DarakjyRussiaBernardo Dominic NEW
Jeanfrancois X VocelkaSpainIvan Magalhaes NEW
Leja H RulapaughIndiaOnyama Limba QUALIFIED
Antonio F OstroskyGermanyOnyama Limba NEGOTIATION
Mayumi E KuskoCanadaAmy Elsner UNQUALIFIED
Leon L BologniaRussiaAmy Elsner RENEWAL
Cody Y SaylorsAustraliaElwin Sharvill NEGOTIATION
Aika M InouyeAustraliaElwin Sharvill QUALIFIED
Jeanfrancois O RimItalyIoni Bowcher NEW
Leon X SaylorsCanadaBernardo Dominic NEGOTIATION
Kadeem U GauchoJapanAnna Fali PROPOSAL
Maisha M RimSpainOnyama Limba UNQUALIFIED
Nicolas U KolmetzArgentinaIvan Magalhaes NEGOTIATION
Aika L PoquetteAustraliaStephen Shaw 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>