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
Claire K CaldareraRussiaAmy Elsner UNQUALIFIED
Ricardo C MorascaFranceBernardo Dominic PROPOSAL
Cody B FlosiGermanyIoni Bowcher QUALIFIED
Aruna U GarufiCanadaStephen Shaw RENEWAL
Izzy R BologniaArgentinaIoni Bowcher NEGOTIATION
Aruna V SchemmerSpainIoni Bowcher QUALIFIED
Alejandro F RulapaughSpainIoni Bowcher NEGOTIATION
Adams E MorascaItalyElwin Sharvill RENEWAL
Morrow O PoquetteIndiaIvan Magalhaes UNQUALIFIED
Emily N MaletRussiaIvan Magalhaes UNQUALIFIED
Maisha J RimRussiaIvan Magalhaes RENEWAL
Murillo L BowleyJapanIoni Bowcher NEW
Kaitlin M GauchoUnited KingdomIoni Bowcher NEGOTIATION
Faith S WieserBrazilElwin Sharvill RENEWAL
Murillo R FigeroaIndiaOnyama Limba RENEWAL
Munro F NestleRussiaOnyama Limba NEGOTIATION
Arvin L ChuiFranceBernardo Dominic NEGOTIATION
Costa I CampainGermanyStephen Shaw NEW
David D InouyeJapanAnna Fali QUALIFIED
Mayumi Y SlusarskiJapanIvan Magalhaes UNQUALIFIED
Arvin J CaudyRussiaXuxue Feng UNQUALIFIED
Clifford P RutaGermanyStephen Shaw QUALIFIED
Mujtaba A DoeUnited KingdomXuxue Feng RENEWAL
Greenwood A PerinRussiaBernardo Dominic NEGOTIATION
Murillo E KolmetzBrazilAsiya Javayant NEGOTIATION
Sinclair C MacleadGermanyElwin Sharvill RENEWAL
Misaki T NickaGermanyAnna Fali QUALIFIED
Smith G RoysterGermanyStephen Shaw PROPOSAL
Alejandro N InouyeArgentinaAmy Elsner PROPOSAL
Smith U BologniaCanadaAnna Fali NEGOTIATION
Juan M FollerGermanyStephen Shaw NEGOTIATION
Costa E MorascaGermanyAnna Fali NEW
Ricardo D DilliardUnited KingdomBernardo Dominic QUALIFIED
Johnson E IturbideUnited KingdomAsiya Javayant PROPOSAL
Chavez B PaprockiItalyIvan Magalhaes RENEWAL
Aruna H KolmetzBrazilAsiya Javayant NEGOTIATION
Mujtaba D BriddickItalyIvan Magalhaes PROPOSAL
Claire U PerinIndiaStephen Shaw QUALIFIED
Leon K IturbideBrazilAmy Elsner RENEWAL
Rodrigues L AmigonUnited KingdomElwin Sharvill RENEWAL
Salvatore W VocelkaSpainXuxue Feng PROPOSAL
Darci G WieserIndiaAsiya Javayant QUALIFIED
Chavez O InouyeFranceAmy Elsner PROPOSAL
Silvio R SlusarskiCanadaAsiya Javayant NEW
Tony Y MarrierRussiaElwin Sharvill QUALIFIED
Claire Q MaletArgentinaAnna Fali UNQUALIFIED
Maisha Y GillianGermanyOnyama Limba NEW
Mayumi Y IturbideRussiaIvan Magalhaes RENEWAL
Mayumi V MaletAustraliaStephen Shaw UNQUALIFIED
Leja G DilliardUnited KingdomAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams M GarufiUnited KingdomIvan Magalhaes QUALIFIED
Sinclair H PoquetteRussiaXuxue Feng QUALIFIED
Ivar L MorascaUnited KingdomOnyama Limba PROPOSAL
Leja W PoquetteItalyOnyama Limba NEGOTIATION
Stacey O TollnerUnited KingdomAnna Fali PROPOSAL
Arvin C BowleyFranceAsiya Javayant RENEWAL
Maisha P MorascaSpainXuxue Feng NEGOTIATION
Greenwood I RimBrazilElwin Sharvill UNQUALIFIED
Stacey G BologniaItalyAnna Fali QUALIFIED
Kadeem M NestleJapanIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood O SergiJapan2024-06-23Printing Dimensions UNQUALIFIED57Onyama Limba
1001Tony V SlusarskiGermany2024-06-24Truhlar And Truhlar Attys NEW79Anna Fali
1002Chavez Z WhobreyUnited Kingdom2024-06-17Truhlar And Truhlar Attys PROPOSAL50Anna Fali
1003Murillo I CaudyJapan2024-06-11King, Christopher A Esq QUALIFIED3Asiya Javayant
1004Murillo V ShinkoArgentina2024-06-01Rousseaux, Michael Esq PROPOSAL55Onyama Limba
1005Juan R IturbideGermany2024-05-28King, Christopher A Esq RENEWAL48Stephen Shaw
1006Aditya F ShinkoFrance2024-06-20King, Christopher A Esq NEW12Ivan Magalhaes
1007Ivar K InouyeGermany2024-06-22Commercial Press QUALIFIED36Onyama Limba
1008Francesco Z MaletCanada2024-06-23Chanay, Jeffrey A Esq NEW17Onyama Limba
1009James Y RoysterFrance2024-05-31Morlong Associates PROPOSAL75Bernardo Dominic
1010Izzy L AmigonSpain2024-06-02Chemel, James L Cpa UNQUALIFIED13Anna Fali
1011Wickens X TollnerRussia2024-06-17Commercial Press QUALIFIED41Ioni Bowcher
1012Francesco P SergiRussia2024-06-24Buckley Miller Wright QUALIFIED80Bernardo Dominic
1013Morrow P ButtFrance2024-05-26Rousseaux, Michael Esq QUALIFIED78Stephen Shaw
1014Salvatore A PoquetteItaly2024-06-15Rousseaux, Michael Esq UNQUALIFIED29Stephen Shaw
1015Greenwood G DoeRussia2024-05-30Benton, John B Jr NEW6Elwin Sharvill
1016Aditya J DoeRussia2024-06-12King, Christopher A Esq NEGOTIATION10Xuxue Feng
1017Leon K BologniaRussia2024-06-17Rangoni Of Florence NEW99Ioni Bowcher
1018Murillo P DarakjyGermany2024-06-01Dorl, James J Esq UNQUALIFIED83Ioni Bowcher
1019Ricardo D MacleadGermany2024-05-28Chapman, Ross E Esq NEGOTIATION82Bernardo Dominic
1020David N DarakjyArgentina2024-05-30Feltz Printing Service NEW99Xuxue Feng
1021Mujtaba Y InouyeGermany2024-06-04Rangoni Of Florence PROPOSAL49Asiya Javayant
1022Julie S ButtUnited Kingdom2024-05-28Printing Dimensions UNQUALIFIED96Asiya Javayant
1023Emily N ChuiCanada2024-06-15King, Christopher A Esq NEGOTIATION25Elwin Sharvill
1024Silvio S BologniaCanada2024-06-08Chanay, Jeffrey A Esq QUALIFIED87Ioni Bowcher
1025Kaitlin P FerenczRussia2024-06-20Rangoni Of Florence RENEWAL6Anna Fali
1026Murillo M RoysterJapan2024-06-01King, Christopher A Esq PROPOSAL16Xuxue Feng
1027Clifford I FerenczArgentina2024-06-07King, Christopher A Esq NEW80Bernardo Dominic
1028Nicolas H WaycottArgentina2024-06-20Rousseaux, Michael Esq UNQUALIFIED48Amy Elsner
1029Greenwood V TollnerGermany2024-06-07Feiner Bros NEGOTIATION2Amy Elsner
1030Arvin V BologniaCanada2024-06-02Rangoni Of Florence PROPOSAL28Asiya Javayant
1031Emily S FollerAustralia2024-06-14Benton, John B Jr QUALIFIED98Xuxue Feng
1032Deepesh O IturbideJapan2024-06-19Dorl, James J Esq NEGOTIATION54Bernardo Dominic
1033Maria A ButtAustralia2024-06-20Commercial Press PROPOSAL58Elwin Sharvill
1034Isabel P MarrierGermany2024-06-03Dorl, James J Esq NEW49Anna Fali
1035Francesco E KuskoAustralia2024-05-27Benton, John B Jr RENEWAL37Xuxue Feng
1036Isabel K RoysterItaly2024-06-18Buckley Miller Wright UNQUALIFIED65Ioni Bowcher
1037Smith N PerinCanada2024-06-07Rangoni Of Florence NEGOTIATION28Asiya Javayant
1038Claire M WaycottSpain2024-06-18Morlong Associates NEW76Asiya Javayant
1039Mayumi U GillianGermany2024-06-13Chemel, James L Cpa QUALIFIED72Anna Fali
1040Leon A ShinkoUnited Kingdom2024-06-10Chapman, Ross E Esq RENEWAL14Amy Elsner
1041Francesco Q NestleFrance2024-06-11Truhlar And Truhlar Attys NEGOTIATION52Asiya Javayant
1042David V TollnerBrazil2024-06-13Buckley Miller Wright QUALIFIED46Asiya Javayant
1043Aditya O FigeroaRussia2024-06-20King, Christopher A Esq PROPOSAL64Amy Elsner
1044Octavia T GlickJapan2024-06-05Benton, John B Jr UNQUALIFIED47Ioni Bowcher
1045Faith P PaprockiRussia2024-06-10Morlong Associates PROPOSAL68Ivan Magalhaes
1046Chavez Q SlusarskiIndia2024-06-08Feiner Bros UNQUALIFIED71Amy Elsner
1047Aika C WhobreyIndia2024-06-08Chemel, James L Cpa QUALIFIED93Elwin Sharvill
1048Jones Y DarakjyUnited Kingdom2024-05-26King, Christopher A Esq NEGOTIATION66Ivan Magalhaes
1049Octavia A StockhamRussia2024-06-08Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Chavez I PoquetteAustraliaIoni Bowcher QUALIFIED
Clifford P GauchoItalyIvan Magalhaes NEGOTIATION
Aruna S PaprockiArgentinaOnyama Limba PROPOSAL
Cody F MacleadCanadaBernardo Dominic PROPOSAL
Ashley P MorascaIndiaAmy Elsner PROPOSAL
Antonio L FlosiJapanStephen Shaw RENEWAL
Maisha P StensethJapanXuxue Feng NEGOTIATION
Jefferson J FigeroaRussiaStephen Shaw RENEWAL
Kadeem Y StensethIndiaIvan Magalhaes RENEWAL
Clifford F AmigonRussiaBernardo Dominic NEW
Octavia L StockhamArgentinaElwin Sharvill PROPOSAL
Arvin H PaprockiGermanyAnna Fali RENEWAL
Jeanfrancois O MarrierBrazilXuxue Feng PROPOSAL
Jefferson Y WaycottCanadaOnyama Limba RENEWAL
Emily B GillianBrazilIoni Bowcher RENEWAL
Darci F VenereItalyIoni Bowcher QUALIFIED
Deepesh R GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Arvin J GarufiGermanyStephen Shaw NEGOTIATION
Chavez O WieserFranceIvan Magalhaes NEW
David G AmigonItalyElwin Sharvill UNQUALIFIED
Johnson N BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Aditya V GarufiItalyOnyama Limba NEGOTIATION
Mujtaba T IturbideAustraliaIvan Magalhaes NEW
Misaki Y FerenczSpainOnyama Limba RENEWAL
Deepesh N BriddickRussiaBernardo Dominic NEW
Octavia R GarufiItalyAnna Fali NEW
Maisha Q InouyeBrazilIoni Bowcher QUALIFIED
Aditya X RulapaughRussiaIvan Magalhaes RENEWAL
Chavez T ChuiSpainOnyama Limba NEGOTIATION
Clifford K BologniaUnited KingdomStephen Shaw NEGOTIATION
Jefferson H WaycottFranceStephen Shaw PROPOSAL
Juan H WaycottCanadaStephen Shaw QUALIFIED
Johnson R DarakjyUnited KingdomOnyama Limba RENEWAL
Izzy L ChuiCanadaAsiya Javayant QUALIFIED
Kaitlin H WaycottAustraliaOnyama Limba QUALIFIED
Ashley H GlickUnited KingdomAnna Fali NEGOTIATION
David E BowleyItalyIvan Magalhaes PROPOSAL
Julie Z DilliardAustraliaOnyama Limba NEW
Murillo V GlickCanadaStephen Shaw PROPOSAL
Arvin M ChuiBrazilElwin Sharvill PROPOSAL
Aika Z MorascaAustraliaAmy Elsner QUALIFIED
Emily U GauchoRussiaAnna Fali QUALIFIED
Jones O GillianIndiaAmy Elsner NEW
Maisha K ChuiSpainXuxue Feng PROPOSAL
Jennifer R BologniaSpainStephen Shaw UNQUALIFIED
Deepesh B VocelkaCanadaBernardo Dominic NEGOTIATION
Salvatore E RimRussiaAmy Elsner NEW
Munro H AlbaresSpainIvan Magalhaes QUALIFIED
Maisha L DoeJapanIvan Magalhaes PROPOSAL
Jones W MacleadJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
Arvin J Rulapaugh
Ivar V Whobrey
Francesco Z Briddick
Aditya Q Shinko
Silvio N Bolognia
Johnson C Rulapaugh
Misaki D Ferencz
James H Kolmetz
Darci E Tollner
Aditya D Malet
Emily E Malet
Wickens N Caudy
Ricardo M Darakjy
Adams F Paprocki
Kadeem Y Royster
Clifford K Saylors
Aditya V Saylors
Sinclair V Maclead
Maisha F Caldarera
Cody T Figeroa
Morrow A Nicka
Tony V Slusarski
Nicolas O Figeroa
Juan B Caudy
Isabel J Campain
Maria A Sergi
Aruna Y Stockham
Darci Q Caldarera
Isabel P Garufi
Wickens X Gaucho
Clifford F Saylors
Murillo K Kusko
Isabel R Figeroa
Deepesh Y Iturbide
Arvin Q Whobrey
Nicolas A Nicka
Darci W Foller
Mayumi J Albares
Jeanfrancois K Bowley
Deepesh N Tollner
James B Paprocki
Silvio N Marrier
Claire R Glick
Misaki B Inouye
Ivar V Ostrosky
James G Campain
Jefferson P Briddick
Jefferson F Briddick
Jennifer W Inouye
Jeanfrancois C Gaucho
IdCountryDate
1000France2024-06-08
1001Brazil2024-06-16
1002Italy2024-06-18
1003France2024-06-13
1004United Kingdom2024-06-12
1005United Kingdom2024-05-30
1006Italy2024-06-11
1007Australia2024-06-02
1008Brazil2024-06-15
1009Japan2024-06-12
1010India2024-06-09
1011France2024-05-26
1012Germany2024-06-23
1013Japan2024-06-23
1014Argentina2024-06-20
1015United Kingdom2024-06-22
1016Argentina2024-06-12
1017France2024-06-20
1018Canada2024-06-05
1019United Kingdom2024-06-09
1020Germany2024-06-18
1021United Kingdom2024-06-09
1022Italy2024-06-22
1023Germany2024-06-02
1024Brazil2024-06-17
1025United Kingdom2024-05-26
1026Russia2024-06-24
1027Canada2024-06-20
1028Japan2024-06-07
1029Russia2024-05-27
1030Germany2024-06-18
1031Italy2024-05-27
1032Germany2024-06-08
1033Japan2024-06-21
1034Brazil2024-05-30
1035Brazil2024-06-08
1036Spain2024-05-30
1037India2024-06-17
1038Brazil2024-06-01
1039United Kingdom2024-06-11
1040Italy2024-05-29
1041Canada2024-06-08
1042Spain2024-05-27
1043United Kingdom2024-06-14
1044Italy2024-06-14
1045Germany2024-06-18
1046Russia2024-06-04
1047France2024-06-01
1048Germany2024-06-15
1049Canada2024-06-24

On-Demand Data

NameIdCountryDate
Jefferson J Ruta1000Russia2024-06-23
James M Tollner1001France2024-06-05
James V Garufi1002Russia2024-06-11
Tony G Oldroyd1003Italy2024-06-10
Kadeem F Stockham1004Brazil2024-06-19
Munro X Ferencz1005Russia2024-06-09
Kadeem F Rim1006United Kingdom2024-06-22
Ricardo T Ruta1007France2024-05-29
Leja M Bowley1008United Kingdom2024-06-17
Francesco Q Garufi1009Germany2024-06-03
Ashley R Bolognia1010United Kingdom2024-06-20
Jennifer Q Chui1011United Kingdom2024-06-10
Clifford G Nicka1012Italy2024-06-08
Maria T Bowley1013France2024-06-21
Sinclair R Royster1014United Kingdom2024-06-20
Munro Y Amigon1015Japan2024-06-17
Maria K Albares1016Brazil2024-06-24
Silvio P Royster1017Italy2024-06-16
Mayumi N Doe1018Australia2024-06-09
Wickens D Shinko1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa I GillianBrazilXuxue Feng RENEWAL
Kadeem I TollnerFranceStephen Shaw UNQUALIFIED
Arvin F PoquetteGermanyXuxue Feng UNQUALIFIED
Murillo D GlickAustraliaAmy Elsner RENEWAL
Julie Y SchemmerFranceElwin Sharvill QUALIFIED
Jefferson O RoysterAustraliaStephen Shaw RENEWAL
Greenwood W AlbaresUnited KingdomIoni Bowcher PROPOSAL
Arvin T KolmetzAustraliaAsiya Javayant RENEWAL
Aika Y SergiIndiaXuxue Feng NEGOTIATION
Greenwood R MarrierJapanIoni Bowcher UNQUALIFIED
Adams R SaylorsRussiaOnyama Limba NEGOTIATION
Cody Q GillianRussiaAmy Elsner RENEWAL
Stacey K CaudyFranceStephen Shaw NEW
Aruna T BriddickRussiaAnna Fali UNQUALIFIED
Munro B BologniaRussiaIoni Bowcher NEW
Maisha S OldroydCanadaBernardo Dominic QUALIFIED
Smith Q WieserArgentinaStephen Shaw NEGOTIATION
Smith Y WhobreyUnited KingdomOnyama Limba NEW
Emily N SchemmerBrazilAnna Fali PROPOSAL
Ivar P MorascaRussiaXuxue Feng PROPOSAL
Kaitlin N OldroydGermanyXuxue Feng QUALIFIED
Ashley X WhobreyBrazilXuxue Feng QUALIFIED
Mujtaba R GarufiCanadaAnna Fali NEW
Cody I WhobreyCanadaStephen Shaw UNQUALIFIED
Francesco F ChuiAustraliaIvan Magalhaes PROPOSAL
Sinclair X MorascaArgentinaElwin Sharvill UNQUALIFIED
Aruna W SaylorsUnited KingdomBernardo Dominic NEGOTIATION
James U MaletBrazilElwin Sharvill RENEWAL
Kadeem D BriddickFranceOnyama Limba NEW
Ricardo F ButtGermanyBernardo Dominic PROPOSAL
Leon I KolmetzIndiaBernardo Dominic PROPOSAL
Deepesh B StockhamJapanAmy Elsner NEGOTIATION
Costa K PerinGermanyAnna Fali NEGOTIATION
Ivar G NickaIndiaBernardo Dominic QUALIFIED
Costa R SchemmerBrazilIvan Magalhaes RENEWAL
Alejandro H RulapaughUnited KingdomAnna Fali UNQUALIFIED
Smith A TollnerSpainAnna Fali NEW
Misaki G WaycottItalyAnna Fali NEGOTIATION
Chavez W PerinJapanIvan Magalhaes NEGOTIATION
Munro P NickaAustraliaIoni Bowcher 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>