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
Ashley P MaletCanadaAnna Fali NEW
Munro B GlickSpainXuxue Feng NEW
Jeanfrancois U CaudyRussiaOnyama Limba RENEWAL
Nicolas O BriddickCanadaStephen Shaw PROPOSAL
Izzy Q BowleyRussiaXuxue Feng NEGOTIATION
Emily O PaprockiJapanStephen Shaw PROPOSAL
Julie M FlosiGermanyAmy Elsner NEGOTIATION
Isabel E DilliardFranceXuxue Feng NEGOTIATION
Jefferson X IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Darci J FigeroaArgentinaIoni Bowcher PROPOSAL
Jeanfrancois Z CampainSpainStephen Shaw QUALIFIED
Salvatore Z DilliardJapanAmy Elsner NEW
Deepesh W DilliardRussiaXuxue Feng NEGOTIATION
Jeanfrancois S ButtFranceIoni Bowcher NEW
Kaitlin M WieserRussiaBernardo Dominic NEW
Ricardo I FlosiFranceXuxue Feng NEW
Aruna L FollerSpainIvan Magalhaes NEGOTIATION
Rodrigues P PoquetteRussiaElwin Sharvill NEW
Aika Z StockhamRussiaIvan Magalhaes PROPOSAL
Juan Y BologniaAustraliaAmy Elsner NEW
Darci W WaycottGermanyOnyama Limba NEW
Izzy T BowleyGermanyElwin Sharvill PROPOSAL
Ivar L WieserFranceIoni Bowcher NEW
Smith C KolmetzArgentinaAsiya Javayant UNQUALIFIED
Salvatore L ShinkoRussiaAnna Fali QUALIFIED
Clifford Z SaylorsUnited KingdomAsiya Javayant QUALIFIED
Tony Y MaletItalyXuxue Feng NEGOTIATION
Salvatore U VocelkaSpainOnyama Limba UNQUALIFIED
Emily B PoquetteAustraliaAnna Fali PROPOSAL
Clifford E VocelkaJapanIvan Magalhaes NEGOTIATION
Ivar E ShinkoGermanyBernardo Dominic NEW
Faith M MorascaGermanyAnna Fali PROPOSAL
Smith Y AmigonCanadaXuxue Feng NEGOTIATION
Darci U NestleJapanOnyama Limba PROPOSAL
Clifford D MacleadRussiaElwin Sharvill NEW
Maria P MaletIndiaIvan Magalhaes QUALIFIED
Stacey C GauchoSpainIoni Bowcher QUALIFIED
David J DoeArgentinaAsiya Javayant RENEWAL
Adams T MaletJapanAsiya Javayant PROPOSAL
Antonio X RutaRussiaXuxue Feng RENEWAL
Mayumi L AmigonCanadaStephen Shaw NEW
Jefferson G WieserItalyOnyama Limba NEGOTIATION
Emily G IturbideBrazilIoni Bowcher RENEWAL
Sinclair Q SergiBrazilAsiya Javayant PROPOSAL
Clifford B RulapaughCanadaIoni Bowcher NEW
Izzy H WieserUnited KingdomIoni Bowcher RENEWAL
Antonio G GauchoCanadaBernardo Dominic QUALIFIED
Morrow X ButtBrazilElwin Sharvill QUALIFIED
Ivar B GlickUnited KingdomXuxue Feng NEW
Izzy E KuskoUnited KingdomIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo L MarrierFranceIoni Bowcher PROPOSAL
Clifford F DarakjyUnited KingdomAsiya Javayant QUALIFIED
Octavia B BriddickFranceElwin Sharvill NEW
Kaitlin X ButtArgentinaAmy Elsner QUALIFIED
David A RutaItalyAnna Fali NEW
Mujtaba L MacleadIndiaAmy Elsner UNQUALIFIED
David B AlbaresArgentinaXuxue Feng NEGOTIATION
Antonio L BowleyArgentinaAmy Elsner PROPOSAL
Morrow X NestleArgentinaAmy Elsner UNQUALIFIED
Arvin X GlickJapanIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Z GarufiJapan2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED80Elwin Sharvill
1001Arvin G ChuiBrazil2024-05-18Rousseaux, Michael Esq PROPOSAL67Stephen Shaw
1002Morrow E PaprockiFrance2024-06-06Morlong Associates UNQUALIFIED67Onyama Limba
1003Juan B ButtRussia2024-06-05Benton, John B Jr QUALIFIED72Amy Elsner
1004Ricardo R MaletRussia2024-05-27Chapman, Ross E Esq NEGOTIATION58Anna Fali
1005Cody Z FlosiItaly2024-06-02Chemel, James L Cpa PROPOSAL90Ioni Bowcher
1006Ricardo O SchemmerIndia2024-05-22Benton, John B Jr NEGOTIATION1Xuxue Feng
1007Wickens T RimJapan2024-05-19Chapman, Ross E Esq QUALIFIED78Asiya Javayant
1008Julie R MorascaFrance2024-05-23Benton, John B Jr UNQUALIFIED14Bernardo Dominic
1009Ashley O SlusarskiBrazil2024-06-08Commercial Press UNQUALIFIED14Stephen Shaw
1010Costa G WieserRussia2024-05-30Chanay, Jeffrey A Esq QUALIFIED9Ivan Magalhaes
1011Chavez R SlusarskiCanada2024-06-08King, Christopher A Esq UNQUALIFIED68Stephen Shaw
1012Maria R DilliardAustralia2024-05-16Commercial Press RENEWAL37Stephen Shaw
1013Mayumi E GarufiIndia2024-06-10Feltz Printing Service NEW13Anna Fali
1014Adams C MorascaCanada2024-05-21Morlong Associates QUALIFIED80Ivan Magalhaes
1015Wickens M PerinBrazil2024-05-18Commercial Press UNQUALIFIED29Stephen Shaw
1016Rodrigues I SchemmerCanada2024-06-13Truhlar And Truhlar Attys UNQUALIFIED90Amy Elsner
1017Jefferson K KolmetzGermany2024-05-18King, Christopher A Esq RENEWAL42Ioni Bowcher
1018Clifford X ButtGermany2024-05-22Rangoni Of Florence UNQUALIFIED3Asiya Javayant
1019Johnson U RoysterSpain2024-05-30Feiner Bros NEGOTIATION72Asiya Javayant
1020Deepesh Y BriddickUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED2Bernardo Dominic
1021Darci Q GauchoGermany2024-05-29Rousseaux, Michael Esq UNQUALIFIED26Bernardo Dominic
1022Misaki P PerinArgentina2024-05-16Morlong Associates RENEWAL50Ioni Bowcher
1023Aruna E SaylorsFrance2024-05-19Dorl, James J Esq NEW60Onyama Limba
1024Mayumi Q MaletBrazil2024-06-03Printing Dimensions QUALIFIED97Amy Elsner
1025Nicolas R SlusarskiCanada2024-05-26Buckley Miller Wright RENEWAL88Elwin Sharvill
1026Claire G OldroydSpain2024-05-27King, Christopher A Esq NEW89Elwin Sharvill
1027Ivar R CaldareraCanada2024-05-16Feltz Printing Service QUALIFIED48Asiya Javayant
1028Cody E MaletUnited Kingdom2024-06-06Feltz Printing Service PROPOSAL61Asiya Javayant
1029Wickens J PoquetteCanada2024-05-31Rousseaux, Michael Esq RENEWAL45Asiya Javayant
1030Aruna E OstroskyIndia2024-06-12Chemel, James L Cpa PROPOSAL59Ioni Bowcher
1031Wickens N NestleBrazil2024-06-08King, Christopher A Esq RENEWAL29Elwin Sharvill
1032Tony S OldroydJapan2024-05-26Printing Dimensions UNQUALIFIED85Amy Elsner
1033David F VenereRussia2024-06-10Chanay, Jeffrey A Esq NEW45Stephen Shaw
1034Ashley G CaldareraIndia2024-06-12Printing Dimensions RENEWAL2Amy Elsner
1035Arvin L MacleadCanada2024-06-12Rousseaux, Michael Esq PROPOSAL9Anna Fali
1036Jennifer A StockhamFrance2024-05-16Truhlar And Truhlar Attys QUALIFIED87Elwin Sharvill
1037Jeanfrancois N GauchoCanada2024-06-05Rousseaux, Michael Esq NEGOTIATION11Amy Elsner
1038Silvio M AlbaresBrazil2024-05-20Printing Dimensions RENEWAL44Ioni Bowcher
1039Murillo L IturbideArgentina2024-06-12Rousseaux, Michael Esq RENEWAL43Stephen Shaw
1040Johnson M StockhamAustralia2024-06-09Chemel, James L Cpa PROPOSAL92Anna Fali
1041Johnson H TollnerAustralia2024-06-04Morlong Associates NEW15Xuxue Feng
1042Izzy M DoeIndia2024-06-04Chemel, James L Cpa QUALIFIED35Xuxue Feng
1043Deepesh X CaldareraSpain2024-05-27Commercial Press NEGOTIATION67Anna Fali
1044Stacey S SergiCanada2024-06-06Chemel, James L Cpa NEGOTIATION12Elwin Sharvill
1045Johnson D MarrierJapan2024-05-20King, Christopher A Esq QUALIFIED43Ioni Bowcher
1046Arvin E KuskoIndia2024-05-30King, Christopher A Esq NEW49Stephen Shaw
1047Sinclair H MaletItaly2024-06-12Commercial Press RENEWAL90Xuxue Feng
1048David O MaletFrance2024-05-25Chanay, Jeffrey A Esq NEGOTIATION97Xuxue Feng
1049Aditya R PoquetteSpain2024-05-15Rousseaux, Michael Esq PROPOSAL53Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci C TollnerRussiaBernardo Dominic UNQUALIFIED
David Z MorascaSpainIvan Magalhaes RENEWAL
Jennifer P InouyeRussiaElwin Sharvill NEW
Darci A ChuiItalyXuxue Feng NEGOTIATION
Smith D RimFranceAsiya Javayant NEW
Ricardo F NickaCanadaElwin Sharvill NEGOTIATION
Jennifer G MaletCanadaIvan Magalhaes NEW
Leja K ChuiCanadaBernardo Dominic QUALIFIED
Morrow Q BowleyCanadaIvan Magalhaes RENEWAL
Smith K AlbaresSpainAsiya Javayant UNQUALIFIED
Tony G CampainUnited KingdomOnyama Limba NEGOTIATION
Emily P BowleyUnited KingdomIvan Magalhaes RENEWAL
Aika X DoeCanadaIvan Magalhaes QUALIFIED
Salvatore R CaudyGermanyAsiya Javayant UNQUALIFIED
James S CampainGermanyBernardo Dominic UNQUALIFIED
Maria X DilliardIndiaAsiya Javayant PROPOSAL
Misaki U FlosiBrazilElwin Sharvill PROPOSAL
Kaitlin L TollnerBrazilStephen Shaw UNQUALIFIED
Costa U DilliardGermanyXuxue Feng QUALIFIED
Chavez Z CampainRussiaAmy Elsner NEW
Stacey C NickaRussiaBernardo Dominic NEGOTIATION
Murillo X BriddickArgentinaStephen Shaw UNQUALIFIED
Antonio U ButtBrazilOnyama Limba PROPOSAL
Isabel J PoquetteRussiaOnyama Limba QUALIFIED
Clifford A VenereJapanXuxue Feng RENEWAL
Izzy P PaprockiFranceAnna Fali NEGOTIATION
Aruna D MaletUnited KingdomXuxue Feng PROPOSAL
Kadeem W FerenczArgentinaStephen Shaw NEW
Maisha V SaylorsJapanStephen Shaw NEGOTIATION
Rodrigues O MacleadAustraliaStephen Shaw NEGOTIATION
Aruna Q CampainJapanXuxue Feng UNQUALIFIED
Emily K SaylorsGermanyBernardo Dominic RENEWAL
Greenwood T GillianArgentinaElwin Sharvill PROPOSAL
Misaki N GlickArgentinaStephen Shaw QUALIFIED
Cody D MacleadCanadaBernardo Dominic PROPOSAL
Nicolas J SaylorsGermanyBernardo Dominic UNQUALIFIED
Antonio S PoquetteUnited KingdomElwin Sharvill RENEWAL
Misaki W FlosiAustraliaAmy Elsner PROPOSAL
Alejandro M VenereGermanyElwin Sharvill RENEWAL
Munro V WieserJapanIoni Bowcher QUALIFIED
Munro G CaudyFranceStephen Shaw QUALIFIED
Mayumi M NestleRussiaStephen Shaw NEGOTIATION
Leon F VocelkaBrazilXuxue Feng NEGOTIATION
Costa Q StockhamSpainIvan Magalhaes QUALIFIED
Octavia E FollerIndiaBernardo Dominic NEGOTIATION
Aika H VocelkaAustraliaAnna Fali QUALIFIED
Aditya C BriddickAustraliaAsiya Javayant QUALIFIED
Mayumi P RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Salvatore J PerinCanadaOnyama Limba QUALIFIED
Arvin D OstroskyUnited KingdomBernardo Dominic QUALIFIED
Frozen Columns
Name
Johnson P Tollner
Maisha R Ostrosky
Faith G Sergi
Maria I Iturbide
Nicolas U Ruta
Munro X Darakjy
Mujtaba J Waycott
Sinclair M Campain
Aruna U Rim
Wickens K Oldroyd
Octavia Z Kolmetz
Octavia A Venere
Ivar Q Morasca
Ricardo U Campain
Leon G Marrier
Aika K Caudy
Costa N Albares
Alejandro N Marrier
Kaitlin A Tollner
Silvio V Nestle
Nicolas P Stockham
Aditya V Doe
James O Schemmer
Munro J Schemmer
Emily I Darakjy
Alejandro D Slusarski
Faith X Campain
Chavez K Briddick
Ivar T Butt
James V Garufi
Silvio V Paprocki
David V Kusko
Munro W Maclead
Johnson U Whobrey
Aika T Malet
Leon I Shinko
Antonio H Poquette
Ivar D Campain
Misaki R Malet
Deepesh M Caldarera
Jeanfrancois E Campain
Leon N Butt
Kaitlin V Garufi
Alejandro X Malet
Faith M Nicka
Silvio R Paprocki
Johnson B Rulapaugh
Darci Y Wieser
Chavez X Figeroa
Claire V Saylors
IdCountryDate
1000Germany2024-06-11
1001Spain2024-06-02
1002Japan2024-06-13
1003France2024-05-24
1004Japan2024-05-27
1005Russia2024-05-20
1006United Kingdom2024-05-21
1007Germany2024-06-07
1008Germany2024-05-29
1009United Kingdom2024-06-09
1010Germany2024-06-07
1011Australia2024-06-04
1012India2024-05-25
1013Italy2024-05-28
1014Brazil2024-06-10
1015India2024-06-09
1016United Kingdom2024-06-12
1017Brazil2024-05-26
1018United Kingdom2024-05-21
1019Brazil2024-05-15
1020France2024-05-22
1021France2024-06-02
1022Italy2024-06-04
1023Brazil2024-06-11
1024Canada2024-05-15
1025France2024-05-16
1026Brazil2024-06-01
1027Australia2024-06-08
1028Germany2024-05-21
1029India2024-06-05
1030Russia2024-06-11
1031Japan2024-05-22
1032Argentina2024-05-23
1033Italy2024-06-13
1034Japan2024-06-04
1035Russia2024-06-10
1036India2024-06-06
1037Spain2024-06-03
1038Brazil2024-06-11
1039Canada2024-06-06
1040Japan2024-06-03
1041France2024-06-01
1042Japan2024-05-20
1043Argentina2024-05-18
1044Spain2024-06-09
1045Japan2024-05-19
1046Japan2024-05-24
1047India2024-06-11
1048Australia2024-05-20
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Rodrigues P Saylors1000Canada2024-06-11
Darci F Maclead1001Canada2024-06-12
Smith X Chui1002Italy2024-05-20
Silvio V Glick1003Argentina2024-05-16
Arvin S Vocelka1004India2024-05-25
Leon M Maclead1005United Kingdom2024-06-01
Leon C Ferencz1006Brazil2024-06-06
Kadeem H Wieser1007Italy2024-05-15
Stacey X Nestle1008Italy2024-05-27
Salvatore N Perin1009United Kingdom2024-05-26
Morrow Y Kolmetz1010Japan2024-06-02
Aruna F Darakjy1011Australia2024-06-02
Adams D Royster1012France2024-05-31
Johnson P Waycott1013Canada2024-05-28
Wickens J Maclead1014Argentina2024-05-26
Cody O Amigon1015Japan2024-06-07
Sinclair A Chui1016Australia2024-05-29
Cody T Dilliard1017Argentina2024-05-23
Adams J Marrier1018Russia2024-06-04
Aruna N Perin1019Australia2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar X FigeroaIndiaIoni Bowcher NEW
Aditya R WhobreyAustraliaAnna Fali UNQUALIFIED
Juan Z VenereCanadaIoni Bowcher RENEWAL
Alejandro G KuskoGermanyAnna Fali QUALIFIED
Sinclair W DoeBrazilStephen Shaw RENEWAL
James V VocelkaFranceIvan Magalhaes PROPOSAL
Sinclair F FlosiJapanAsiya Javayant NEW
Leon M ChuiAustraliaAnna Fali QUALIFIED
Mujtaba O BriddickCanadaAmy Elsner QUALIFIED
Costa U IturbideBrazilBernardo Dominic RENEWAL
Aruna Q StensethGermanyIoni Bowcher NEGOTIATION
Isabel J KolmetzIndiaStephen Shaw UNQUALIFIED
Adams V CampainUnited KingdomIvan Magalhaes QUALIFIED
Faith Q WhobreyJapanAnna Fali RENEWAL
Jeanfrancois U AmigonCanadaAnna Fali UNQUALIFIED
Antonio N BologniaSpainIvan Magalhaes PROPOSAL
Isabel Q WhobreyAustraliaOnyama Limba PROPOSAL
Misaki D SergiSpainIvan Magalhaes UNQUALIFIED
Arvin V AmigonItalyStephen Shaw NEW
Antonio V MarrierBrazilXuxue Feng PROPOSAL
Johnson Y TollnerIndiaAsiya Javayant PROPOSAL
David X MorascaUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois D ChuiGermanyElwin Sharvill QUALIFIED
Maria G SaylorsRussiaAsiya Javayant QUALIFIED
Jeanfrancois G WieserRussiaElwin Sharvill PROPOSAL
Ricardo J DoeIndiaAmy Elsner UNQUALIFIED
Stacey R CampainSpainAsiya Javayant NEGOTIATION
Rodrigues D PaprockiUnited KingdomBernardo Dominic RENEWAL
Sinclair S NestleAustraliaIoni Bowcher RENEWAL
Mayumi A NestleJapanAnna Fali PROPOSAL
Claire U ButtBrazilAsiya Javayant NEW
Mujtaba D WaycottBrazilOnyama Limba RENEWAL
Ricardo C DarakjySpainElwin Sharvill RENEWAL
Johnson K PerinArgentinaIvan Magalhaes RENEWAL
Emily N RulapaughRussiaIoni Bowcher QUALIFIED
Morrow J MorascaGermanyIvan Magalhaes NEGOTIATION
Stacey E GlickAustraliaBernardo Dominic RENEWAL
Misaki E RoysterGermanyIoni Bowcher NEGOTIATION
Stacey I ChuiFranceAmy Elsner QUALIFIED
Kaitlin Y BologniaFranceXuxue Feng NEGOTIATION

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