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
Jones I BowleyRussiaAsiya Javayant QUALIFIED
Ricardo V InouyeItalyBernardo Dominic NEW
Aruna A RutaGermanyStephen Shaw PROPOSAL
Jones E RutaCanadaXuxue Feng QUALIFIED
Silvio X SlusarskiFranceAsiya Javayant UNQUALIFIED
Julie E FerenczBrazilBernardo Dominic RENEWAL
Nicolas A IturbideArgentinaBernardo Dominic PROPOSAL
Leja C InouyeUnited KingdomAsiya Javayant RENEWAL
Tony G SchemmerAustraliaAsiya Javayant NEW
Darci S InouyeCanadaIvan Magalhaes QUALIFIED
Leja H MarrierRussiaAmy Elsner QUALIFIED
Mayumi I GillianJapanOnyama Limba NEGOTIATION
Murillo V IturbideAustraliaBernardo Dominic RENEWAL
Arvin O ChuiBrazilXuxue Feng PROPOSAL
Juan M OldroydIndiaXuxue Feng NEW
Maria T RimJapanBernardo Dominic PROPOSAL
Sinclair X PoquetteFranceXuxue Feng QUALIFIED
David W WaycottUnited KingdomIvan Magalhaes PROPOSAL
Chavez P ChuiArgentinaStephen Shaw NEW
Adams F MaletArgentinaIvan Magalhaes NEW
Aruna F PerinJapanAmy Elsner UNQUALIFIED
Salvatore E FollerCanadaAnna Fali RENEWAL
Salvatore G CaudyRussiaIvan Magalhaes PROPOSAL
Sinclair Y InouyeGermanyOnyama Limba NEW
David K OstroskyFranceAmy Elsner UNQUALIFIED
Octavia W RutaCanadaAnna Fali RENEWAL
Johnson K RimCanadaElwin Sharvill RENEWAL
Alejandro C CaldareraGermanyOnyama Limba NEGOTIATION
Rodrigues N VocelkaBrazilOnyama Limba NEW
Isabel Y OstroskyItalyAnna Fali NEGOTIATION
Julie L KolmetzItalyIvan Magalhaes NEW
Alejandro B GlickJapanIvan Magalhaes UNQUALIFIED
Johnson T AlbaresGermanyXuxue Feng NEW
Leja Z OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Aruna M RulapaughJapanStephen Shaw QUALIFIED
Costa O FlosiFranceBernardo Dominic NEW
Misaki W KolmetzUnited KingdomAnna Fali QUALIFIED
Antonio U CampainCanadaAnna Fali NEW
Octavia D AmigonGermanyBernardo Dominic PROPOSAL
Aditya I RutaFranceAsiya Javayant NEGOTIATION
Kadeem C RimJapanXuxue Feng NEGOTIATION
Silvio M MarrierUnited KingdomAnna Fali UNQUALIFIED
Maria D BowleySpainIvan Magalhaes QUALIFIED
Cody D VocelkaIndiaStephen Shaw NEW
Johnson G SergiAustraliaBernardo Dominic RENEWAL
Arvin X RutaJapanStephen Shaw NEW
Misaki H MaletSpainIvan Magalhaes NEW
Johnson Q MaletGermanyOnyama Limba NEGOTIATION
Octavia R RulapaughFranceStephen Shaw QUALIFIED
Morrow G CampainUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith R FigeroaIndiaAnna Fali NEW
Ashley I RutaUnited KingdomIvan Magalhaes RENEWAL
Jones T ShinkoAustraliaXuxue Feng NEW
Aditya S RoysterAustraliaBernardo Dominic PROPOSAL
Ivar A VenereFranceBernardo Dominic RENEWAL
Mayumi N ButtIndiaAsiya Javayant NEGOTIATION
Aika J BologniaBrazilBernardo Dominic QUALIFIED
Leja G PaprockiJapanAnna Fali NEW
James C MaletIndiaXuxue Feng NEW
Emily I MaletGermanyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon X WhobreyFrance2024-06-04Morlong Associates RENEWAL87Ioni Bowcher
1001Octavia D PerinCanada2024-06-19Rousseaux, Michael Esq UNQUALIFIED40Ioni Bowcher
1002Faith W BologniaCanada2024-06-12Chemel, James L Cpa UNQUALIFIED4Ivan Magalhaes
1003Alejandro S MaletAustralia2024-06-06Truhlar And Truhlar Attys PROPOSAL30Ivan Magalhaes
1004Jefferson D MaletBrazil2024-06-19King, Christopher A Esq PROPOSAL81Amy Elsner
1005Leja V IturbideGermany2024-06-14King, Christopher A Esq UNQUALIFIED86Stephen Shaw
1006Alejandro Z MorascaFrance2024-05-27Printing Dimensions UNQUALIFIED34Stephen Shaw
1007Alejandro I ChuiAustralia2024-06-14Buckley Miller Wright QUALIFIED55Asiya Javayant
1008Chavez X CampainUnited Kingdom2024-06-14Chapman, Ross E Esq NEW62Anna Fali
1009Munro W FlosiSpain2024-06-16Dorl, James J Esq UNQUALIFIED31Ivan Magalhaes
1010Octavia L MaletRussia2024-05-31Chapman, Ross E Esq NEGOTIATION70Anna Fali
1011Isabel T KuskoRussia2024-06-14Morlong Associates RENEWAL15Amy Elsner
1012Isabel I NickaAustralia2024-06-06Feltz Printing Service NEW76Onyama Limba
1013Deepesh F WieserBrazil2024-06-17Benton, John B Jr NEW68Bernardo Dominic
1014Silvio J KolmetzRussia2024-05-27Chemel, James L Cpa RENEWAL8Xuxue Feng
1015Mayumi V CaldareraIndia2024-06-13Rangoni Of Florence NEGOTIATION27Elwin Sharvill
1016Nicolas E RimIndia2024-06-13Feiner Bros PROPOSAL95Amy Elsner
1017Julie R SchemmerUnited Kingdom2024-05-31Chemel, James L Cpa NEGOTIATION69Onyama Limba
1018Maria H BriddickCanada2024-06-19Benton, John B Jr NEGOTIATION96Ivan Magalhaes
1019Arvin Z VocelkaAustralia2024-06-17Chapman, Ross E Esq QUALIFIED36Amy Elsner
1020Munro E OldroydUnited Kingdom2024-06-12Chapman, Ross E Esq NEW91Onyama Limba
1021Francesco U KuskoAustralia2024-06-21Benton, John B Jr RENEWAL86Ivan Magalhaes
1022Salvatore V SaylorsBrazil2024-05-25Rousseaux, Michael Esq UNQUALIFIED59Elwin Sharvill
1023Octavia J BowleyAustralia2024-06-20Chemel, James L Cpa PROPOSAL32Stephen Shaw
1024Murillo W MarrierGermany2024-06-01Rousseaux, Michael Esq NEW39Ioni Bowcher
1025Antonio I TollnerAustralia2024-05-24Rangoni Of Florence PROPOSAL1Amy Elsner
1026Faith S PoquetteFrance2024-06-09Benton, John B Jr QUALIFIED84Stephen Shaw
1027Jones X VenereJapan2024-06-12Commercial Press UNQUALIFIED75Stephen Shaw
1028Leon M FollerGermany2024-06-08Benton, John B Jr NEW69Bernardo Dominic
1029Nicolas W DarakjyArgentina2024-05-29Dorl, James J Esq PROPOSAL47Asiya Javayant
1030Stacey L SaylorsRussia2024-06-12Chapman, Ross E Esq QUALIFIED25Asiya Javayant
1031Francesco Q PerinBrazil2024-06-11Benton, John B Jr QUALIFIED26Stephen Shaw
1032Jeanfrancois S NickaGermany2024-06-03Benton, John B Jr NEGOTIATION69Ivan Magalhaes
1033Izzy Y FollerSpain2024-06-03Truhlar And Truhlar Attys NEGOTIATION77Xuxue Feng
1034Munro J InouyeCanada2024-06-16Chapman, Ross E Esq QUALIFIED89Xuxue Feng
1035Isabel G WieserArgentina2024-05-24Benton, John B Jr NEGOTIATION82Elwin Sharvill
1036Jones X StensethAustralia2024-06-04Chanay, Jeffrey A Esq QUALIFIED11Elwin Sharvill
1037Faith O BriddickSpain2024-06-14Rousseaux, Michael Esq UNQUALIFIED22Bernardo Dominic
1038Izzy U TollnerAustralia2024-05-26Chemel, James L Cpa QUALIFIED73Stephen Shaw
1039Isabel Y SaylorsIndia2024-06-04Benton, John B Jr PROPOSAL40Asiya Javayant
1040Cody D CampainIndia2024-06-12Rangoni Of Florence QUALIFIED99Asiya Javayant
1041Smith Z KuskoGermany2024-06-16Commercial Press NEGOTIATION1Asiya Javayant
1042Murillo H RutaRussia2024-06-07Rousseaux, Michael Esq NEW48Asiya Javayant
1043Jones L SaylorsIndia2024-06-12Rousseaux, Michael Esq QUALIFIED60Elwin Sharvill
1044Ivar L FollerUnited Kingdom2024-06-20Morlong Associates NEGOTIATION36Anna Fali
1045Claire L SaylorsGermany2024-05-26Benton, John B Jr NEW95Anna Fali
1046David H InouyeSpain2024-05-28Benton, John B Jr UNQUALIFIED22Bernardo Dominic
1047Ricardo P FlosiFrance2024-05-24Buckley Miller Wright PROPOSAL61Ioni Bowcher
1048Ricardo I CaudyIndia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED28Ioni Bowcher
1049David A CaldareraFrance2024-05-31Chapman, Ross E Esq NEW32Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Murillo X MorascaSpainStephen Shaw UNQUALIFIED
Francesco U GauchoUnited KingdomOnyama Limba UNQUALIFIED
Aruna X PoquetteBrazilXuxue Feng NEW
Misaki S SergiArgentinaOnyama Limba RENEWAL
Munro L FerenczIndiaElwin Sharvill NEGOTIATION
Kaitlin P WieserUnited KingdomIoni Bowcher NEGOTIATION
Aika V PerinFranceStephen Shaw NEGOTIATION
Isabel D VenereSpainIvan Magalhaes PROPOSAL
Darci F RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Aika X GillianItalyElwin Sharvill NEW
Leja F FerenczIndiaXuxue Feng NEGOTIATION
Smith T SaylorsCanadaElwin Sharvill RENEWAL
Nicolas W VocelkaSpainOnyama Limba PROPOSAL
Darci X VenereGermanyElwin Sharvill NEW
Isabel Z VocelkaRussiaAmy Elsner NEW
Claire N CaudyAustraliaIvan Magalhaes NEW
Munro V GlickCanadaIoni Bowcher PROPOSAL
Greenwood Y PerinUnited KingdomXuxue Feng QUALIFIED
Morrow A AmigonGermanyAnna Fali NEGOTIATION
Kaitlin B SlusarskiGermanyIvan Magalhaes NEGOTIATION
Maisha C RoysterIndiaOnyama Limba NEGOTIATION
Morrow N MacleadAustraliaIoni Bowcher NEW
Kaitlin Y KuskoFranceAsiya Javayant PROPOSAL
Kadeem N FerenczArgentinaElwin Sharvill UNQUALIFIED
Maria P CampainItalyIoni Bowcher PROPOSAL
Munro K FerenczSpainXuxue Feng NEGOTIATION
Aika U MacleadArgentinaAsiya Javayant PROPOSAL
Morrow R RoysterGermanyBernardo Dominic RENEWAL
Julie U DoeUnited KingdomElwin Sharvill NEGOTIATION
Aruna I CaudyRussiaElwin Sharvill NEGOTIATION
Costa N SaylorsIndiaAsiya Javayant NEGOTIATION
Nicolas F PerinAustraliaElwin Sharvill PROPOSAL
Stacey C FollerCanadaAmy Elsner PROPOSAL
Rodrigues S SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Faith D InouyeGermanyOnyama Limba PROPOSAL
Faith H ButtRussiaIoni Bowcher QUALIFIED
Leja A SaylorsUnited KingdomIoni Bowcher RENEWAL
Isabel O IturbideSpainAsiya Javayant QUALIFIED
Rodrigues F ChuiSpainStephen Shaw NEGOTIATION
Octavia M GlickUnited KingdomOnyama Limba UNQUALIFIED
David M SaylorsAustraliaAsiya Javayant PROPOSAL
Smith W CaudyRussiaAsiya Javayant NEGOTIATION
Deepesh R BologniaCanadaBernardo Dominic QUALIFIED
Salvatore Y DarakjyFranceXuxue Feng PROPOSAL
Juan X SaylorsFranceBernardo Dominic UNQUALIFIED
Greenwood R KuskoItalyIvan Magalhaes QUALIFIED
Jeanfrancois M StensethItalyXuxue Feng PROPOSAL
Emily G CaudyGermanyAmy Elsner NEW
Maria S NestleBrazilAmy Elsner QUALIFIED
Ricardo K SaylorsBrazilIvan Magalhaes QUALIFIED
Frozen Columns
Name
Francesco H Foller
Kaitlin T Paprocki
Julie X Kolmetz
Aruna X Poquette
Silvio P Dilliard
Faith T Marrier
Morrow U Stockham
Julie L Campain
Sinclair P Wieser
Nicolas H Poquette
Jones X Perin
Morrow V Saylors
Smith F Paprocki
Greenwood H Gaucho
Jefferson P Chui
Juan T Glick
Alejandro N Tollner
David F Royster
Emily G Malet
Greenwood M Gaucho
Kadeem F Saylors
Jefferson B Foller
Stacey R Sergi
Claire A Chui
Chavez J Tollner
Adams L Briddick
Octavia E Figeroa
Octavia A Campain
Deepesh B Malet
Stacey L Bowley
Greenwood G Bolognia
Stacey K Venere
Mujtaba U Bowley
Faith C Briddick
Misaki W Paprocki
David A Chui
Morrow A Doe
Isabel S Albares
Alejandro N Butt
Isabel M Slusarski
Nicolas C Albares
Adams V Butt
Ivar E Iturbide
Jones C Paprocki
Claire G Whobrey
Aika T Kolmetz
Clifford Z Dilliard
Octavia Q Kolmetz
Greenwood O Rulapaugh
Cody G Saylors
IdCountryDate
1000United Kingdom2024-06-14
1001India2024-05-27
1002Italy2024-06-08
1003India2024-06-05
1004Germany2024-06-07
1005India2024-05-30
1006Australia2024-06-20
1007France2024-06-01
1008Italy2024-05-25
1009Argentina2024-06-05
1010Australia2024-05-29
1011Australia2024-06-05
1012United Kingdom2024-06-22
1013Australia2024-06-15
1014Canada2024-06-17
1015Australia2024-06-22
1016United Kingdom2024-06-06
1017Brazil2024-05-28
1018Brazil2024-06-14
1019Spain2024-05-25
1020Spain2024-06-08
1021Spain2024-05-31
1022Canada2024-06-18
1023Brazil2024-06-21
1024Brazil2024-05-27
1025Germany2024-06-10
1026Australia2024-06-17
1027Brazil2024-06-03
1028United Kingdom2024-06-04
1029United Kingdom2024-06-22
1030Germany2024-06-17
1031Spain2024-05-26
1032United Kingdom2024-05-28
1033Australia2024-05-25
1034Italy2024-05-29
1035Australia2024-06-21
1036Argentina2024-06-05
1037Australia2024-06-22
1038Australia2024-06-02
1039India2024-06-17
1040France2024-06-22
1041United Kingdom2024-06-10
1042Canada2024-06-10
1043France2024-06-13
1044Australia2024-05-29
1045Japan2024-06-12
1046Brazil2024-06-05
1047Russia2024-06-11
1048France2024-06-16
1049Argentina2024-06-05

On-Demand Data

NameIdCountryDate
Alejandro C Foller1000Argentina2024-06-09
Jones K Bolognia1001Brazil2024-05-29
Deepesh D Bolognia1002Russia2024-06-07
Francesco B Slusarski1003Spain2024-06-07
Antonio Z Campain1004India2024-06-09
Silvio A Maclead1005Australia2024-06-21
Smith F Poquette1006United Kingdom2024-06-03
Darci P Wieser1007Canada2024-05-31
Julie S Albares1008India2024-05-27
Sinclair U Marrier1009Spain2024-06-22
Chavez C Kolmetz1010Germany2024-06-06
Leja R Nicka1011Russia2024-06-17
Julie F Perin1012India2024-06-03
Aditya F Sergi1013Russia2024-06-01
Morrow R Amigon1014Spain2024-06-01
Misaki V Briddick1015United Kingdom2024-05-24
Deepesh Q Chui1016Russia2024-06-09
Smith F Poquette1017Brazil2024-06-18
Izzy O Foller1018Japan2024-05-27
Alejandro P Nicka1019Russia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L OldroydSpainXuxue Feng NEGOTIATION
Jefferson G RutaItalyAnna Fali UNQUALIFIED
Julie B MacleadJapanAnna Fali UNQUALIFIED
Clifford I WhobreyRussiaBernardo Dominic NEGOTIATION
Clifford Z MaletGermanyAmy Elsner UNQUALIFIED
Smith G CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Octavia R BowleyIndiaOnyama Limba NEGOTIATION
Tony B DilliardIndiaIoni Bowcher UNQUALIFIED
Clifford U ChuiRussiaElwin Sharvill RENEWAL
Clifford Z MarrierJapanBernardo Dominic NEW
Claire Y ShinkoCanadaBernardo Dominic UNQUALIFIED
Sinclair U ButtItalyAsiya Javayant RENEWAL
Clifford E IturbideBrazilElwin Sharvill RENEWAL
Isabel I CaudyItalyAsiya Javayant QUALIFIED
Clifford H FlosiFranceStephen Shaw QUALIFIED
Nicolas R GarufiCanadaXuxue Feng QUALIFIED
Julie Z OldroydIndiaXuxue Feng RENEWAL
Johnson S DilliardArgentinaStephen Shaw UNQUALIFIED
Nicolas C ChuiJapanIvan Magalhaes UNQUALIFIED
Faith Z MorascaIndiaAnna Fali QUALIFIED
Nicolas D MarrierIndiaElwin Sharvill QUALIFIED
Mujtaba Y WaycottAustraliaBernardo Dominic NEW
Ashley A StockhamItalyAsiya Javayant UNQUALIFIED
Rodrigues G OldroydFranceBernardo Dominic NEGOTIATION
Chavez Z RimCanadaElwin Sharvill NEGOTIATION
Rodrigues K TollnerArgentinaAsiya Javayant NEGOTIATION
Aika C CaudyRussiaIoni Bowcher NEW
Julie W MorascaBrazilAnna Fali NEGOTIATION
Antonio O GlickSpainBernardo Dominic NEW
Kadeem K RulapaughUnited KingdomStephen Shaw NEW
Salvatore T AlbaresAustraliaIoni Bowcher QUALIFIED
Morrow G WieserSpainStephen Shaw QUALIFIED
Alejandro C ShinkoJapanAsiya Javayant RENEWAL
Murillo P CampainIndiaAsiya Javayant PROPOSAL
Chavez K SergiArgentinaAnna Fali NEW
Antonio Z FerenczIndiaIvan Magalhaes UNQUALIFIED
Octavia P PerinArgentinaBernardo Dominic QUALIFIED
Jennifer S RulapaughGermanyBernardo Dominic UNQUALIFIED
Morrow T SergiSpainAmy Elsner QUALIFIED
Kadeem A CaldareraUnited KingdomStephen 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>