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
Ivar M SaylorsFranceIoni Bowcher NEGOTIATION
Darci I AmigonJapanOnyama Limba NEW
Tony S NestleCanadaAmy Elsner UNQUALIFIED
Alejandro E TollnerCanadaBernardo Dominic NEW
Morrow M DarakjyUnited KingdomXuxue Feng PROPOSAL
Wickens L CaldareraCanadaAsiya Javayant PROPOSAL
David Q OstroskyFranceIvan Magalhaes NEW
Wickens X ButtSpainStephen Shaw RENEWAL
Ashley S RimSpainOnyama Limba RENEWAL
Faith J OldroydUnited KingdomIoni Bowcher NEGOTIATION
Izzy W SaylorsRussiaAnna Fali PROPOSAL
Octavia R RimIndiaXuxue Feng RENEWAL
Leon Y DarakjyIndiaElwin Sharvill NEGOTIATION
Juan G ChuiAustraliaBernardo Dominic RENEWAL
Juan W ShinkoItalyOnyama Limba UNQUALIFIED
Tony K OldroydBrazilAsiya Javayant QUALIFIED
Aika O TollnerAustraliaIoni Bowcher RENEWAL
Isabel A BowleyBrazilIvan Magalhaes NEGOTIATION
Ivar M OldroydSpainAsiya Javayant PROPOSAL
Misaki P WaycottGermanyIoni Bowcher QUALIFIED
Salvatore D VocelkaJapanBernardo Dominic RENEWAL
Maria V ButtBrazilAmy Elsner RENEWAL
Aditya A SlusarskiRussiaAnna Fali NEW
Claire V MorascaRussiaIoni Bowcher RENEWAL
Francesco K OstroskyAustraliaAmy Elsner NEGOTIATION
Stacey N WhobreyFranceAnna Fali RENEWAL
Aika H FlosiRussiaIvan Magalhaes PROPOSAL
Julie R FlosiItalyIoni Bowcher NEW
Isabel D ChuiUnited KingdomIoni Bowcher PROPOSAL
Aditya Y CaudyItalyAnna Fali RENEWAL
Sinclair F SchemmerItalyIvan Magalhaes PROPOSAL
Salvatore D ChuiArgentinaElwin Sharvill PROPOSAL
Maisha F ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Darci D StockhamGermanyBernardo Dominic UNQUALIFIED
Tony T MacleadJapanOnyama Limba NEW
Jeanfrancois J AlbaresJapanStephen Shaw QUALIFIED
James Y CaudyArgentinaAmy Elsner PROPOSAL
Maria Y MacleadCanadaXuxue Feng NEW
Alejandro J PoquetteItalyElwin Sharvill RENEWAL
Faith Q WieserIndiaOnyama Limba UNQUALIFIED
Darci S VocelkaAustraliaOnyama Limba QUALIFIED
Sinclair U FlosiAustraliaAmy Elsner UNQUALIFIED
Silvio U CaudyUnited KingdomStephen Shaw UNQUALIFIED
Ivar T MaletGermanyBernardo Dominic PROPOSAL
Jefferson A WieserIndiaXuxue Feng QUALIFIED
Julie Z CaudyArgentinaOnyama Limba UNQUALIFIED
Aditya S SchemmerBrazilBernardo Dominic UNQUALIFIED
James Q FollerFranceXuxue Feng RENEWAL
Sinclair R CampainIndiaIvan Magalhaes RENEWAL
Nicolas F VenereAustraliaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel Z StensethCanadaIoni Bowcher NEGOTIATION
Claire J WaycottJapanBernardo Dominic NEGOTIATION
Silvio Z RutaGermanyElwin Sharvill QUALIFIED
Darci H BowleySpainAsiya Javayant NEGOTIATION
Arvin U SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois T CaudyBrazilAsiya Javayant NEGOTIATION
Smith S PoquetteArgentinaStephen Shaw QUALIFIED
Nicolas C FollerItalyIoni Bowcher NEGOTIATION
Salvatore Q AmigonRussiaIoni Bowcher PROPOSAL
Darci K MorascaBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony F FerenczJapan2024-05-29Rousseaux, Michael Esq RENEWAL39Amy Elsner
1001Smith M SchemmerSpain2024-06-08Chapman, Ross E Esq UNQUALIFIED70Xuxue Feng
1002Antonio N ShinkoCanada2024-06-13Chemel, James L Cpa UNQUALIFIED70Asiya Javayant
1003Clifford N MorascaFrance2024-06-12Truhlar And Truhlar Attys RENEWAL50Bernardo Dominic
1004Mayumi M SaylorsJapan2024-06-15Feltz Printing Service NEGOTIATION78Anna Fali
1005Ivar R DoeFrance2024-06-04Commercial Press NEW93Xuxue Feng
1006Faith Z ChuiRussia2024-06-08Chanay, Jeffrey A Esq NEW40Ioni Bowcher
1007Tony B IturbideCanada2024-06-19Buckley Miller Wright NEW60Ioni Bowcher
1008Aika I DilliardIndia2024-06-06Chemel, James L Cpa PROPOSAL14Ivan Magalhaes
1009Faith H SaylorsSpain2024-06-18Chemel, James L Cpa UNQUALIFIED76Onyama Limba
1010Mayumi F ButtArgentina2024-05-29Chapman, Ross E Esq QUALIFIED58Anna Fali
1011Greenwood Q NestleFrance2024-06-10Buckley Miller Wright RENEWAL21Ioni Bowcher
1012Julie P SergiUnited Kingdom2024-06-11Rangoni Of Florence NEW70Onyama Limba
1013Jefferson Z NickaCanada2024-05-29Feiner Bros PROPOSAL9Bernardo Dominic
1014Adams A FigeroaSpain2024-06-10Dorl, James J Esq QUALIFIED81Anna Fali
1015Mayumi H SaylorsAustralia2024-06-12Chapman, Ross E Esq UNQUALIFIED21Xuxue Feng
1016Munro H AmigonSpain2024-06-04Rangoni Of Florence PROPOSAL94Asiya Javayant
1017Misaki F RutaBrazil2024-05-29Commercial Press QUALIFIED69Asiya Javayant
1018Ivar P FollerUnited Kingdom2024-05-30Chemel, James L Cpa RENEWAL15Xuxue Feng
1019Darci V OldroydCanada2024-06-01Commercial Press RENEWAL34Anna Fali
1020Chavez S ChuiUnited Kingdom2024-05-31Chapman, Ross E Esq PROPOSAL27Ivan Magalhaes
1021Costa P ButtArgentina2024-06-12Feltz Printing Service NEGOTIATION55Amy Elsner
1022Silvio V BriddickBrazil2024-06-20Chemel, James L Cpa UNQUALIFIED12Xuxue Feng
1023Rodrigues U WieserItaly2024-06-02King, Christopher A Esq UNQUALIFIED73Elwin Sharvill
1024Wickens G RimCanada2024-05-26Rangoni Of Florence RENEWAL37Ivan Magalhaes
1025Mayumi T PerinItaly2024-06-04Feltz Printing Service RENEWAL70Xuxue Feng
1026Claire A GillianAustralia2024-06-15Rangoni Of Florence PROPOSAL4Bernardo Dominic
1027Costa E DoeArgentina2024-06-09Buckley Miller Wright QUALIFIED50Stephen Shaw
1028Mujtaba T CaldareraAustralia2024-06-01King, Christopher A Esq PROPOSAL56Ivan Magalhaes
1029Costa Y GauchoGermany2024-06-03Rangoni Of Florence PROPOSAL24Elwin Sharvill
1030Emily U ShinkoArgentina2024-06-02Dorl, James J Esq QUALIFIED4Ivan Magalhaes
1031Stacey F KuskoSpain2024-05-28Feiner Bros NEGOTIATION47Xuxue Feng
1032Aruna Z AmigonIndia2024-06-08King, Christopher A Esq UNQUALIFIED49Ioni Bowcher
1033Murillo V DoeArgentina2024-06-02Rangoni Of Florence NEGOTIATION16Stephen Shaw
1034Faith F GlickArgentina2024-06-08Benton, John B Jr NEGOTIATION33Onyama Limba
1035Munro H FigeroaBrazil2024-06-21Feltz Printing Service RENEWAL68Stephen Shaw
1036Ivar Y DarakjySpain2024-06-17Chemel, James L Cpa QUALIFIED19Bernardo Dominic
1037Isabel B MaletBrazil2024-06-17Rangoni Of Florence QUALIFIED90Onyama Limba
1038Smith A SchemmerItaly2024-05-31Morlong Associates NEGOTIATION83Elwin Sharvill
1039Leja F MarrierIndia2024-06-15King, Christopher A Esq UNQUALIFIED61Bernardo Dominic
1040Julie D DilliardSpain2024-05-27Feiner Bros NEW93Asiya Javayant
1041Aruna U WieserUnited Kingdom2024-06-20Chanay, Jeffrey A Esq RENEWAL65Amy Elsner
1042Francesco U MaletIndia2024-06-08Buckley Miller Wright PROPOSAL52Ivan Magalhaes
1043James N MaletJapan2024-06-05King, Christopher A Esq NEW29Anna Fali
1044Jennifer P TollnerSpain2024-06-01Truhlar And Truhlar Attys UNQUALIFIED31Xuxue Feng
1045Aruna I CaudyArgentina2024-06-23Benton, John B Jr NEW94Bernardo Dominic
1046Ricardo A KolmetzGermany2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED0Anna Fali
1047Alejandro F AlbaresIndia2024-06-23Benton, John B Jr PROPOSAL97Asiya Javayant
1048Francesco H MarrierJapan2024-06-03Chemel, James L Cpa NEW36Xuxue Feng
1049Johnson G SaylorsUnited Kingdom2024-05-29Rangoni Of Florence UNQUALIFIED63Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Antonio Z MacleadBrazilOnyama Limba NEGOTIATION
Ashley Y DoeFranceXuxue Feng PROPOSAL
Kaitlin D RimCanadaBernardo Dominic UNQUALIFIED
Alejandro U GarufiCanadaAnna Fali QUALIFIED
Stacey U ShinkoJapanIvan Magalhaes NEW
Claire H MorascaRussiaOnyama Limba QUALIFIED
Nicolas J NickaGermanyBernardo Dominic QUALIFIED
Leon X FerenczCanadaAsiya Javayant NEGOTIATION
Costa B TollnerGermanyXuxue Feng PROPOSAL
Alejandro E InouyeRussiaStephen Shaw NEW
Stacey Y AmigonArgentinaOnyama Limba RENEWAL
Salvatore K SergiArgentinaStephen Shaw RENEWAL
Adams D GauchoSpainStephen Shaw QUALIFIED
Faith T WhobreyFranceBernardo Dominic UNQUALIFIED
Clifford K FigeroaFranceIvan Magalhaes PROPOSAL
Stacey Q RulapaughRussiaAmy Elsner NEGOTIATION
Greenwood V SlusarskiUnited KingdomAnna Fali RENEWAL
Morrow F IturbideAustraliaAnna Fali QUALIFIED
Ricardo H AlbaresIndiaOnyama Limba UNQUALIFIED
Wickens W KuskoBrazilBernardo Dominic RENEWAL
Wickens X KuskoItalyAsiya Javayant NEGOTIATION
Kadeem H KolmetzBrazilAmy Elsner NEW
Ivar P MaletArgentinaIoni Bowcher UNQUALIFIED
Maisha Z OldroydAustraliaAsiya Javayant PROPOSAL
Ashley F CaldareraRussiaIoni Bowcher PROPOSAL
Jeanfrancois T VenereFranceAnna Fali QUALIFIED
Munro S ShinkoGermanyElwin Sharvill RENEWAL
David V StensethBrazilAmy Elsner UNQUALIFIED
Ashley W MaletFranceIoni Bowcher NEGOTIATION
Ashley B RoysterFranceElwin Sharvill UNQUALIFIED
Stacey M RutaJapanAmy Elsner UNQUALIFIED
Ashley E AlbaresArgentinaBernardo Dominic NEGOTIATION
Julie V ChuiUnited KingdomStephen Shaw UNQUALIFIED
Jones E WieserAustraliaAmy Elsner RENEWAL
Mayumi J StensethJapanIvan Magalhaes PROPOSAL
Claire W GlickBrazilStephen Shaw UNQUALIFIED
Julie C OldroydIndiaOnyama Limba RENEWAL
Tony F IturbideArgentinaXuxue Feng PROPOSAL
Jennifer U ChuiUnited KingdomOnyama Limba UNQUALIFIED
Ashley P VocelkaFranceIvan Magalhaes PROPOSAL
Smith M WieserBrazilAnna Fali UNQUALIFIED
Julie E ShinkoArgentinaAnna Fali NEW
Ashley O FlosiFranceIoni Bowcher PROPOSAL
Misaki V RoysterArgentinaIoni Bowcher UNQUALIFIED
Leja O WieserIndiaOnyama Limba NEGOTIATION
Sinclair X InouyeJapanOnyama Limba RENEWAL
Kadeem O SaylorsItalyOnyama Limba NEGOTIATION
Kadeem Q SlusarskiRussiaXuxue Feng PROPOSAL
Adams M MarrierRussiaAmy Elsner PROPOSAL
Isabel J ButtItalyStephen Shaw PROPOSAL
Frozen Columns
Name
Clifford V Perin
Murillo J Perin
David O Nicka
Cody V Bolognia
Faith Q Schemmer
Julie Z Iturbide
Tony E Tollner
Emily T Stockham
Cody F Briddick
Murillo J Morasca
Faith S Chui
Misaki N Slusarski
Izzy H Darakjy
Salvatore M Oldroyd
Juan F Dilliard
Mayumi S Perin
Alejandro J Saylors
Cody R Tollner
Tony H Rim
Jefferson R Perin
Deepesh L Oldroyd
Johnson J Paprocki
Arvin G Kusko
Alejandro G Stockham
Aruna L Whobrey
Isabel D Sergi
James R Foller
Antonio A Garufi
Kadeem K Butt
Chavez G Whobrey
David A Amigon
Francesco L Ferencz
Morrow D Sergi
Mujtaba H Ruta
Julie H Bolognia
Murillo K Morasca
Leon P Morasca
Aika A Waycott
James D Kusko
Deepesh F Shinko
Jones R Ostrosky
Smith D Venere
Julie Y Doe
Leon B Inouye
Darci N Tollner
Juan C Campain
Sinclair H Inouye
Jennifer X Bolognia
James S Saylors
Chavez P Bolognia
IdCountryDate
1000India2024-06-09
1001Italy2024-06-01
1002Germany2024-06-15
1003Japan2024-06-23
1004United Kingdom2024-06-02
1005Italy2024-06-11
1006Australia2024-06-14
1007Spain2024-06-07
1008Brazil2024-06-20
1009Canada2024-06-18
1010Germany2024-06-08
1011Argentina2024-06-02
1012Australia2024-05-29
1013Germany2024-05-27
1014Australia2024-06-05
1015France2024-06-18
1016France2024-06-01
1017Argentina2024-06-11
1018Spain2024-06-10
1019Argentina2024-05-31
1020France2024-05-31
1021Germany2024-05-27
1022Germany2024-06-20
1023India2024-06-11
1024Japan2024-06-20
1025United Kingdom2024-05-27
1026Spain2024-06-13
1027Italy2024-06-09
1028Italy2024-06-10
1029France2024-06-17
1030Italy2024-05-26
1031Russia2024-05-30
1032Spain2024-06-19
1033United Kingdom2024-06-04
1034Canada2024-06-08
1035Australia2024-06-17
1036Japan2024-06-16
1037Australia2024-06-03
1038United Kingdom2024-06-02
1039Germany2024-06-23
1040Spain2024-06-22
1041Spain2024-06-06
1042Germany2024-05-27
1043India2024-06-08
1044Italy2024-06-02
1045Spain2024-06-08
1046Argentina2024-06-16
1047United Kingdom2024-06-10
1048India2024-06-03
1049Italy2024-06-15

On-Demand Data

NameIdCountryDate
Costa W Wieser1000France2024-06-12
Maisha J Kusko1001Japan2024-05-30
James W Royster1002Spain2024-06-10
Silvio R Albares1003India2024-05-29
Morrow H Stockham1004India2024-05-29
Jones Y Nestle1005Spain2024-06-04
Nicolas R Caudy1006Spain2024-06-06
Mayumi A Oldroyd1007Japan2024-06-21
Ricardo J Inouye1008Italy2024-06-04
Jennifer M Schemmer1009Russia2024-06-17
Ashley P Foller1010France2024-05-29
Mayumi R Marrier1011Australia2024-06-14
Morrow O Rim1012United Kingdom2024-05-27
Cody U Dilliard1013Brazil2024-06-07
James D Rim1014Brazil2024-06-23
Jeanfrancois C Bowley1015Italy2024-06-19
Ricardo R Wieser1016India2024-06-07
Darci Q Bolognia1017Canada2024-06-17
Misaki X Paprocki1018Brazil2024-06-08
Murillo X Wieser1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David H ChuiAustraliaStephen Shaw PROPOSAL
Nicolas Y StockhamJapanAsiya Javayant QUALIFIED
Rodrigues F CaldareraSpainOnyama Limba PROPOSAL
Chavez K SergiJapanElwin Sharvill UNQUALIFIED
Costa E BologniaBrazilStephen Shaw PROPOSAL
Francesco A FollerJapanOnyama Limba UNQUALIFIED
Kadeem M KuskoItalyElwin Sharvill UNQUALIFIED
Rodrigues R GillianFranceElwin Sharvill RENEWAL
Nicolas G OldroydAustraliaStephen Shaw PROPOSAL
James T FerenczAustraliaOnyama Limba UNQUALIFIED
Salvatore O GillianCanadaIoni Bowcher NEGOTIATION
Darci Y WhobreySpainElwin Sharvill PROPOSAL
Morrow J KuskoItalyElwin Sharvill UNQUALIFIED
David F RoysterCanadaElwin Sharvill QUALIFIED
Adams K RimGermanyAmy Elsner RENEWAL
Tony W PaprockiRussiaAsiya Javayant NEW
Jones V PoquetteFranceIoni Bowcher QUALIFIED
James E FerenczItalyElwin Sharvill UNQUALIFIED
Morrow Y RulapaughJapanElwin Sharvill PROPOSAL
Leon P GauchoCanadaOnyama Limba NEW
Antonio M RimJapanStephen Shaw PROPOSAL
Maria F VocelkaGermanyStephen Shaw PROPOSAL
Smith S WhobreyCanadaBernardo Dominic RENEWAL
Aruna U BriddickGermanyXuxue Feng NEGOTIATION
Darci P PoquetteItalyIvan Magalhaes RENEWAL
Sinclair I FollerArgentinaElwin Sharvill RENEWAL
Izzy E FerenczRussiaOnyama Limba RENEWAL
David Z RoysterGermanyXuxue Feng RENEWAL
Maria S AlbaresArgentinaIoni Bowcher UNQUALIFIED
Claire T BologniaItalyOnyama Limba PROPOSAL
Faith Z InouyeIndiaXuxue Feng NEGOTIATION
Ashley G InouyeBrazilOnyama Limba UNQUALIFIED
Claire B GarufiSpainBernardo Dominic QUALIFIED
Julie L ShinkoAustraliaAmy Elsner PROPOSAL
Jeanfrancois E NickaBrazilOnyama Limba RENEWAL
Jefferson Y ChuiAustraliaBernardo Dominic NEW
Smith R PoquetteArgentinaStephen Shaw PROPOSAL
Tony J NickaCanadaXuxue Feng RENEWAL
Ashley D GillianJapanElwin Sharvill UNQUALIFIED
Julie C AmigonBrazilStephen Shaw NEW

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