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
Costa P MarrierRussiaAmy Elsner RENEWAL
Johnson A ShinkoArgentinaBernardo Dominic NEGOTIATION
Tony J BologniaArgentinaElwin Sharvill NEW
Ricardo H KolmetzJapanAmy Elsner NEGOTIATION
Ricardo D PoquetteSpainElwin Sharvill NEW
Juan R SergiAustraliaElwin Sharvill PROPOSAL
Clifford I SergiGermanyOnyama Limba QUALIFIED
Smith M WhobreyBrazilAsiya Javayant PROPOSAL
Mujtaba N TollnerAustraliaElwin Sharvill NEGOTIATION
Kadeem X VenereIndiaIoni Bowcher UNQUALIFIED
Costa H CampainItalyAmy Elsner QUALIFIED
Maisha K CaldareraJapanElwin Sharvill PROPOSAL
Smith O BologniaJapanStephen Shaw NEW
Francesco B NestleArgentinaBernardo Dominic RENEWAL
Izzy A ShinkoCanadaAnna Fali NEGOTIATION
Darci J ButtAustraliaBernardo Dominic PROPOSAL
Cody J MaletItalyAmy Elsner RENEWAL
Stacey M ShinkoJapanElwin Sharvill NEGOTIATION
Nicolas U PoquetteItalyAsiya Javayant QUALIFIED
Cody X WieserUnited KingdomIoni Bowcher NEW
Mujtaba J CaudyArgentinaElwin Sharvill UNQUALIFIED
Cody R ShinkoIndiaIvan Magalhaes PROPOSAL
Johnson Q AmigonFranceStephen Shaw NEW
Salvatore H DarakjyAustraliaAmy Elsner QUALIFIED
Costa U SlusarskiRussiaAsiya Javayant PROPOSAL
Deepesh K DilliardBrazilAsiya Javayant NEGOTIATION
Jennifer J ShinkoBrazilOnyama Limba NEW
Darci C BriddickIndiaStephen Shaw QUALIFIED
Salvatore E OstroskyUnited KingdomStephen Shaw NEW
Costa K MaletGermanyStephen Shaw QUALIFIED
Murillo Z GillianJapanAnna Fali QUALIFIED
Maisha D DarakjyItalyOnyama Limba UNQUALIFIED
Leja D RimBrazilElwin Sharvill NEGOTIATION
Isabel K NestleJapanElwin Sharvill NEW
Aruna F RimUnited KingdomAnna Fali QUALIFIED
Sinclair J WaycottJapanStephen Shaw RENEWAL
Misaki U FigeroaSpainIvan Magalhaes RENEWAL
Kadeem D PoquetteAustraliaOnyama Limba PROPOSAL
Aruna Y GarufiUnited KingdomIoni Bowcher RENEWAL
Kaitlin Z WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Claire E OstroskyAustraliaIoni Bowcher NEGOTIATION
Jones E MaletIndiaXuxue Feng UNQUALIFIED
Jefferson A NestleItalyAnna Fali PROPOSAL
Morrow M MaletFranceElwin Sharvill PROPOSAL
Tony J SlusarskiJapanXuxue Feng QUALIFIED
Nicolas T CampainUnited KingdomXuxue Feng UNQUALIFIED
Faith F BowleyAustraliaAsiya Javayant NEGOTIATION
Tony T DoeRussiaElwin Sharvill PROPOSAL
Kadeem J SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Maria C DoeGermanyElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika B AmigonRussiaIvan Magalhaes QUALIFIED
Rodrigues P AmigonIndiaAnna Fali NEGOTIATION
Antonio Y VocelkaUnited KingdomElwin Sharvill NEW
David S CaudyItalyAmy Elsner QUALIFIED
Johnson D PerinSpainOnyama Limba NEGOTIATION
Aditya D ButtRussiaOnyama Limba UNQUALIFIED
Wickens Y WhobreyItalyAnna Fali RENEWAL
Ashley C StockhamGermanyAmy Elsner UNQUALIFIED
Costa A NickaCanadaBernardo Dominic RENEWAL
Ashley U CaudyUnited KingdomBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi I StockhamSpain2026-07-15Truhlar And Truhlar Attys PROPOSAL71Xuxue Feng
1001David F ChuiAustralia2026-06-20Benton, John B Jr QUALIFIED27Anna Fali
1002Mayumi O SlusarskiIndia2026-07-02Rousseaux, Michael Esq PROPOSAL1Anna Fali
1003Arvin I InouyeUnited Kingdom2026-07-04Benton, John B Jr NEGOTIATION46Onyama Limba
1004Izzy M BriddickJapan2026-06-24Printing Dimensions PROPOSAL65Bernardo Dominic
1005Misaki T GarufiFrance2026-07-06Morlong Associates PROPOSAL93Bernardo Dominic
1006Octavia B FigeroaArgentina2026-06-19Morlong Associates QUALIFIED29Ivan Magalhaes
1007Izzy X AlbaresAustralia2026-06-24Feltz Printing Service NEGOTIATION84Xuxue Feng
1008Octavia K IturbideArgentina2026-07-05Commercial Press QUALIFIED96Anna Fali
1009Wickens C CaudyBrazil2026-07-18Chapman, Ross E Esq PROPOSAL56Onyama Limba
1010Murillo G RimCanada2026-06-24Rangoni Of Florence NEW86Onyama Limba
1011Claire T FerenczArgentina2026-06-28Buckley Miller Wright NEGOTIATION4Elwin Sharvill
1012Costa Q RulapaughJapan2026-06-26Commercial Press NEGOTIATION73Asiya Javayant
1013Octavia C InouyeAustralia2026-07-16Truhlar And Truhlar Attys NEGOTIATION58Asiya Javayant
1014Kadeem C DoeBrazil2026-06-27Rangoni Of Florence UNQUALIFIED33Asiya Javayant
1015Ashley Q TollnerRussia2026-06-27Buckley Miller Wright PROPOSAL38Onyama Limba
1016Ivar K StensethIndia2026-07-07Feiner Bros QUALIFIED80Ioni Bowcher
1017Alejandro S SchemmerRussia2026-07-02Dorl, James J Esq NEGOTIATION11Stephen Shaw
1018Ivar A MacleadFrance2026-06-22Feltz Printing Service NEGOTIATION0Xuxue Feng
1019Emily N StockhamRussia2026-07-04Buckley Miller Wright UNQUALIFIED5Elwin Sharvill
1020Adams W CaldareraRussia2026-06-29Chapman, Ross E Esq RENEWAL43Asiya Javayant
1021David O DoeItaly2026-07-15Rangoni Of Florence NEGOTIATION90Amy Elsner
1022David E RimJapan2026-07-07Benton, John B Jr NEGOTIATION71Ivan Magalhaes
1023Sinclair B SchemmerArgentina2026-07-11King, Christopher A Esq QUALIFIED94Xuxue Feng
1024Faith K DarakjySpain2026-07-16Dorl, James J Esq PROPOSAL81Asiya Javayant
1025Emily V ButtBrazil2026-06-23Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1026Murillo I PerinUnited Kingdom2026-07-09Chemel, James L Cpa RENEWAL50Amy Elsner
1027Izzy H PaprockiArgentina2026-06-20Chapman, Ross E Esq QUALIFIED43Bernardo Dominic
1028Claire E StensethUnited Kingdom2026-06-23Commercial Press NEGOTIATION28Elwin Sharvill
1029Kadeem Q WieserArgentina2026-06-23Chemel, James L Cpa RENEWAL7Stephen Shaw
1030Maria A FollerCanada2026-07-11Commercial Press QUALIFIED87Ioni Bowcher
1031Aika L WieserGermany2026-06-23Dorl, James J Esq RENEWAL3Onyama Limba
1032Smith D PerinBrazil2026-06-22Chanay, Jeffrey A Esq PROPOSAL21Amy Elsner
1033Mujtaba Q SaylorsItaly2026-06-25Chemel, James L Cpa PROPOSAL27Elwin Sharvill
1034Francesco T SlusarskiRussia2026-06-20Rousseaux, Michael Esq QUALIFIED77Onyama Limba
1035Jennifer Y GauchoGermany2026-06-28Chapman, Ross E Esq UNQUALIFIED14Stephen Shaw
1036Costa V SlusarskiJapan2026-07-05Buckley Miller Wright PROPOSAL83Anna Fali
1037Murillo G GlickBrazil2026-07-01King, Christopher A Esq NEGOTIATION91Onyama Limba
1038Aika N InouyeSpain2026-06-20Feltz Printing Service NEGOTIATION49Bernardo Dominic
1039Maisha M OstroskySpain2026-07-06Chemel, James L Cpa PROPOSAL55Ivan Magalhaes
1040Jennifer X FigeroaArgentina2026-06-27Benton, John B Jr PROPOSAL98Ioni Bowcher
1041Johnson B RutaIndia2026-07-15Morlong Associates NEW35Amy Elsner
1042Aika H AlbaresCanada2026-07-02Benton, John B Jr PROPOSAL15Asiya Javayant
1043Octavia Z DoeAustralia2026-07-10Printing Dimensions PROPOSAL40Ioni Bowcher
1044Mujtaba B MorascaJapan2026-07-18Feiner Bros QUALIFIED33Stephen Shaw
1045Clifford L StockhamCanada2026-07-10Morlong Associates UNQUALIFIED92Ioni Bowcher
1046Maria O IturbideUnited Kingdom2026-06-21Chemel, James L Cpa UNQUALIFIED54Stephen Shaw
1047Kadeem E CampainSpain2026-07-09Feiner Bros NEGOTIATION71Amy Elsner
1048Smith N MacleadIndia2026-06-20Buckley Miller Wright NEW27Asiya Javayant
1049Sinclair Y DarakjyUnited Kingdom2026-06-25Truhlar And Truhlar Attys RENEWAL41Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba K KolmetzAustraliaElwin Sharvill QUALIFIED
Wickens W PerinUnited KingdomAmy Elsner QUALIFIED
Wickens F TollnerUnited KingdomStephen Shaw NEW
Morrow Q KolmetzJapanStephen Shaw RENEWAL
Munro W BowleyGermanyStephen Shaw PROPOSAL
Ashley P WhobreySpainIvan Magalhaes UNQUALIFIED
Aika Z ChuiAustraliaXuxue Feng NEGOTIATION
Arvin A BologniaRussiaXuxue Feng RENEWAL
Octavia A GillianIndiaStephen Shaw RENEWAL
Maria R PoquetteFranceXuxue Feng NEW
Jones P RulapaughSpainAsiya Javayant QUALIFIED
Stacey Z RutaItalyAnna Fali NEGOTIATION
Misaki I FlosiAustraliaElwin Sharvill QUALIFIED
Sinclair K ShinkoAustraliaOnyama Limba NEW
Salvatore A SchemmerCanadaOnyama Limba QUALIFIED
Kaitlin J MacleadCanadaAmy Elsner PROPOSAL
Murillo V RutaArgentinaAsiya Javayant RENEWAL
Tony Q CaldareraJapanXuxue Feng NEGOTIATION
Izzy G BowleyCanadaAmy Elsner NEW
Claire R OstroskyItalyAnna Fali RENEWAL
Wickens Z BologniaCanadaXuxue Feng RENEWAL
Claire X NestleAustraliaIvan Magalhaes QUALIFIED
Murillo L KolmetzSpainAsiya Javayant NEGOTIATION
Jones V DilliardRussiaElwin Sharvill QUALIFIED
Rodrigues J MarrierJapanStephen Shaw NEGOTIATION
Salvatore E AlbaresIndiaStephen Shaw RENEWAL
Clifford M PaprockiCanadaElwin Sharvill NEW
Mujtaba Y TollnerItalyAsiya Javayant RENEWAL
Mujtaba L NickaUnited KingdomBernardo Dominic NEW
Jefferson N VocelkaCanadaXuxue Feng PROPOSAL
Cody I BriddickBrazilAsiya Javayant QUALIFIED
Tony T RutaItalyXuxue Feng NEW
Morrow O GlickSpainAnna Fali UNQUALIFIED
Jeanfrancois Q PaprockiCanadaAmy Elsner QUALIFIED
Francesco X SlusarskiAustraliaBernardo Dominic NEGOTIATION
Costa C OstroskyUnited KingdomAmy Elsner NEGOTIATION
Kadeem A WhobreySpainIvan Magalhaes NEW
Juan X RoysterFranceXuxue Feng NEW
Julie A FerenczBrazilBernardo Dominic NEGOTIATION
Greenwood P RulapaughCanadaIvan Magalhaes UNQUALIFIED
Izzy T KolmetzItalyIvan Magalhaes PROPOSAL
Johnson X NickaIndiaBernardo Dominic NEGOTIATION
Mayumi K GillianCanadaXuxue Feng PROPOSAL
Wickens U ChuiFranceBernardo Dominic NEW
Chavez L FollerIndiaAmy Elsner PROPOSAL
Murillo P RimItalyElwin Sharvill RENEWAL
Ricardo T KolmetzGermanyAsiya Javayant UNQUALIFIED
Ashley W BowleyJapanXuxue Feng RENEWAL
Stacey L StensethSpainElwin Sharvill NEGOTIATION
Maria W MaletAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Maria R Slusarski
Kadeem O Bolognia
David G Nestle
James W Butt
Emily Y Briddick
Isabel C Doe
Adams C Gillian
Mujtaba H Morasca
Chavez M Morasca
Darci L Nestle
Alejandro N Rulapaugh
David P Malet
Munro R Glick
Kaitlin B Garufi
Jennifer A Tollner
David H Stockham
Leja T Iturbide
Antonio S Tollner
Stacey C Stockham
Aditya E Slusarski
Aditya F Malet
Misaki M Gillian
Kaitlin M Royster
James A Rim
James U Royster
Juan F Caldarera
Kadeem B Saylors
Murillo R Bowley
Ivar C Foller
Maria T Chui
Sinclair G Paprocki
Greenwood J Glick
Kaitlin O Stenseth
Jefferson R Rulapaugh
Ivar M Malet
Wickens O Saylors
Claire D Nicka
Aruna M Caldarera
Murillo W Sergi
David Q Briddick
Juan J Bolognia
Maria L Albares
Emily D Albares
Claire E Foller
Aika G Campain
Octavia X Venere
Mujtaba H Malet
Arvin Q Whobrey
Jeanfrancois J Glick
Darci K Caudy
IdCountryDate
1000France2026-06-26
1001Japan2026-07-06
1002Germany2026-07-08
1003Canada2026-06-21
1004Italy2026-07-08
1005Argentina2026-06-24
1006Brazil2026-07-03
1007Argentina2026-07-09
1008Italy2026-07-04
1009Italy2026-07-18
1010India2026-07-05
1011Argentina2026-06-29
1012India2026-07-09
1013United Kingdom2026-07-05
1014Italy2026-06-19
1015France2026-07-14
1016Canada2026-06-25
1017Spain2026-07-13
1018Italy2026-06-24
1019Italy2026-06-25
1020Canada2026-07-05
1021Australia2026-07-08
1022Russia2026-06-20
1023Canada2026-07-02
1024Spain2026-07-16
1025Spain2026-06-25
1026Canada2026-07-08
1027United Kingdom2026-06-22
1028United Kingdom2026-07-02
1029India2026-07-02
1030India2026-07-02
1031Japan2026-07-17
1032Germany2026-07-03
1033Canada2026-07-09
1034Germany2026-06-22
1035Japan2026-07-16
1036Argentina2026-07-07
1037Brazil2026-07-04
1038Germany2026-07-04
1039Brazil2026-06-24
1040France2026-06-22
1041Brazil2026-06-22
1042Canada2026-06-23
1043Japan2026-07-10
1044Japan2026-06-30
1045Russia2026-07-09
1046Brazil2026-06-25
1047Japan2026-07-14
1048Japan2026-07-01
1049Brazil2026-06-27

On-Demand Data

NameIdCountryDate
Antonio K Darakjy1000Spain2026-07-13
Alejandro B Ruta1001Germany2026-06-24
Greenwood S Garufi1002Brazil2026-07-02
Ivar L Darakjy1003Argentina2026-06-23
Murillo W Bowley1004Brazil2026-07-15
Claire E Poquette1005Brazil2026-06-27
Kaitlin J Bowley1006Germany2026-07-12
Silvio F Ostrosky1007India2026-06-30
Aruna X Poquette1008Japan2026-07-08
Julie Y Inouye1009Spain2026-06-24
Claire O Oldroyd1010Japan2026-06-26
Misaki U Malet1011Russia2026-07-09
Ricardo C Briddick1012Australia2026-06-28
Maria J Paprocki1013Italy2026-07-17
Silvio B Amigon1014Argentina2026-07-12
Ashley H Garufi1015Argentina2026-07-14
Kadeem Y Figeroa1016Canada2026-07-17
Alejandro Z Morasca1017Australia2026-06-25
Sinclair P Vocelka1018Spain2026-06-27
Greenwood F Bolognia1019Spain2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley O GillianGermanyAmy Elsner NEW
Julie V GarufiIndiaIvan Magalhaes QUALIFIED
Chavez A GarufiJapanOnyama Limba RENEWAL
Salvatore G CaudyAustraliaOnyama Limba NEW
Misaki K SchemmerCanadaBernardo Dominic UNQUALIFIED
Smith P VocelkaUnited KingdomElwin Sharvill RENEWAL
Chavez I StockhamCanadaStephen Shaw NEGOTIATION
Ashley B DoeAustraliaElwin Sharvill RENEWAL
Isabel S FlosiGermanyXuxue Feng QUALIFIED
Wickens Z IturbideGermanyAsiya Javayant UNQUALIFIED
Aditya A BriddickJapanAmy Elsner UNQUALIFIED
Cody Z DilliardIndiaStephen Shaw RENEWAL
Misaki O BriddickCanadaIvan Magalhaes PROPOSAL
Isabel Y PerinCanadaAsiya Javayant PROPOSAL
Maria B KolmetzCanadaOnyama Limba QUALIFIED
Isabel E PoquetteRussiaIoni Bowcher QUALIFIED
Misaki S FigeroaArgentinaBernardo Dominic QUALIFIED
Faith A WieserItalyAnna Fali NEGOTIATION
Maisha L GarufiGermanyElwin Sharvill RENEWAL
Maisha O PaprockiArgentinaStephen Shaw NEW
Isabel N MaletCanadaBernardo Dominic NEW
Chavez O AlbaresItalyStephen Shaw PROPOSAL
Ashley C FlosiBrazilIvan Magalhaes NEW
Juan T KuskoJapanAnna Fali PROPOSAL
Juan V FerenczGermanyXuxue Feng UNQUALIFIED
Maisha D SergiIndiaAnna Fali PROPOSAL
Aruna Q GauchoAustraliaElwin Sharvill NEW
Stacey N MacleadItalyIoni Bowcher NEGOTIATION
Jones N PaprockiUnited KingdomStephen Shaw PROPOSAL
Arvin F SchemmerIndiaAsiya Javayant PROPOSAL
Jones M StockhamJapanBernardo Dominic QUALIFIED
Isabel P DarakjyCanadaBernardo Dominic NEW
Munro C WhobreyArgentinaElwin Sharvill NEW
Clifford Z GillianIndiaAsiya Javayant QUALIFIED
Sinclair D SlusarskiSpainStephen Shaw RENEWAL
Francesco Q InouyeCanadaAmy Elsner RENEWAL
Aditya K PoquetteCanadaElwin Sharvill PROPOSAL
Isabel K CaudyFranceXuxue Feng NEGOTIATION
Ricardo D AlbaresCanadaStephen Shaw RENEWAL
Murillo T MarrierFranceOnyama Limba 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>