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
Tony A OstroskyIndiaOnyama Limba NEGOTIATION
Adams I DilliardBrazilXuxue Feng NEW
Mayumi U WieserGermanyAnna Fali UNQUALIFIED
Emily V AlbaresBrazilElwin Sharvill PROPOSAL
Julie H InouyeItalyAsiya Javayant NEW
Salvatore D SchemmerUnited KingdomIoni Bowcher PROPOSAL
David D DoeAustraliaIvan Magalhaes UNQUALIFIED
Chavez O GillianIndiaBernardo Dominic NEGOTIATION
Nicolas K RutaItalyBernardo Dominic NEGOTIATION
Munro Q InouyeIndiaAsiya Javayant NEW
Maisha A ChuiFranceStephen Shaw UNQUALIFIED
Johnson P KuskoIndiaStephen Shaw PROPOSAL
Greenwood G WhobreyBrazilBernardo Dominic PROPOSAL
Francesco Z CaldareraArgentinaIoni Bowcher NEW
Morrow U GillianBrazilAsiya Javayant PROPOSAL
Cody F CaldareraBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois P FigeroaArgentinaXuxue Feng NEGOTIATION
Leja O DilliardItalyAnna Fali UNQUALIFIED
Tony A AlbaresJapanAsiya Javayant NEGOTIATION
Munro Q OldroydCanadaIvan Magalhaes NEGOTIATION
Jefferson D GillianIndiaStephen Shaw QUALIFIED
Ricardo M FollerFranceAnna Fali UNQUALIFIED
Isabel B MaletGermanyOnyama Limba RENEWAL
Munro H BologniaUnited KingdomStephen Shaw NEW
Maisha Q GarufiItalyElwin Sharvill QUALIFIED
Chavez Q GillianCanadaBernardo Dominic RENEWAL
Ricardo W NestleItalyXuxue Feng NEW
Octavia C WhobreyItalyStephen Shaw UNQUALIFIED
Greenwood I GillianIndiaStephen Shaw RENEWAL
Chavez E MarrierAustraliaIoni Bowcher UNQUALIFIED
Aditya V MaletUnited KingdomStephen Shaw NEGOTIATION
Izzy C SaylorsIndiaAmy Elsner NEW
Smith P OstroskyCanadaOnyama Limba NEGOTIATION
Jeanfrancois W OstroskyArgentinaOnyama Limba UNQUALIFIED
Jennifer F RoysterItalyAsiya Javayant NEGOTIATION
Ashley J CaldareraJapanIvan Magalhaes NEGOTIATION
Faith R FlosiBrazilAmy Elsner PROPOSAL
Greenwood M GlickArgentinaStephen Shaw NEGOTIATION
Deepesh M KolmetzItalyAmy Elsner QUALIFIED
Aika L DarakjyFranceStephen Shaw UNQUALIFIED
David I DoeJapanBernardo Dominic NEW
Nicolas G StensethSpainStephen Shaw UNQUALIFIED
Wickens B SaylorsUnited KingdomAsiya Javayant RENEWAL
Munro D PaprockiFranceStephen Shaw NEW
Ashley G PaprockiArgentinaElwin Sharvill NEGOTIATION
Jefferson W VenereBrazilAmy Elsner PROPOSAL
Ashley K SlusarskiJapanBernardo Dominic UNQUALIFIED
Mayumi R BowleyGermanyIoni Bowcher QUALIFIED
Stacey C OstroskyArgentinaBernardo Dominic NEGOTIATION
Arvin C SergiArgentinaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba F ButtAustraliaAnna Fali NEW
Salvatore F NestleItalyStephen Shaw QUALIFIED
Sinclair Z GarufiRussiaAsiya Javayant RENEWAL
Misaki R VenereJapanAmy Elsner PROPOSAL
Izzy E WieserJapanXuxue Feng NEGOTIATION
Ivar O MacleadRussiaXuxue Feng NEW
Nicolas H FlosiFranceElwin Sharvill QUALIFIED
Salvatore M StensethCanadaOnyama Limba QUALIFIED
Aruna C CaldareraCanadaOnyama Limba NEW
Morrow K InouyeUnited KingdomStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood X AlbaresItaly2026-08-09King, Christopher A Esq QUALIFIED35Anna Fali
1001Alejandro F MacleadRussia2026-07-19Truhlar And Truhlar Attys QUALIFIED84Bernardo Dominic
1002Juan G MaletItaly2026-08-02Truhlar And Truhlar Attys PROPOSAL94Ioni Bowcher
1003Octavia X DilliardArgentina2026-07-26Chanay, Jeffrey A Esq QUALIFIED32Ivan Magalhaes
1004Maria R WieserBrazil2026-08-07Printing Dimensions NEW55Anna Fali
1005Maria X ChuiSpain2026-07-13Chapman, Ross E Esq NEW68Xuxue Feng
1006Maria Q MaletFrance2026-08-09Morlong Associates NEGOTIATION51Asiya Javayant
1007Jefferson K OstroskyCanada2026-08-05Buckley Miller Wright NEGOTIATION2Bernardo Dominic
1008Rodrigues O FerenczCanada2026-08-08Truhlar And Truhlar Attys RENEWAL78Elwin Sharvill
1009Wickens X GlickCanada2026-07-31Buckley Miller Wright RENEWAL88Elwin Sharvill
1010Antonio W BologniaBrazil2026-07-12Dorl, James J Esq PROPOSAL99Ioni Bowcher
1011Adams A CaudyAustralia2026-07-31Printing Dimensions UNQUALIFIED18Bernardo Dominic
1012Salvatore O GlickAustralia2026-07-26Morlong Associates PROPOSAL63Amy Elsner
1013Francesco E ButtJapan2026-07-18Chanay, Jeffrey A Esq UNQUALIFIED6Ivan Magalhaes
1014Alejandro A KolmetzRussia2026-07-14Feltz Printing Service QUALIFIED95Ioni Bowcher
1015Greenwood P CampainJapan2026-08-04King, Christopher A Esq NEGOTIATION29Anna Fali
1016Clifford N GlickJapan2026-07-16Chemel, James L Cpa UNQUALIFIED41Ioni Bowcher
1017Maisha W SchemmerBrazil2026-07-20Truhlar And Truhlar Attys NEGOTIATION41Ioni Bowcher
1018Mujtaba G GillianUnited Kingdom2026-07-17Benton, John B Jr UNQUALIFIED48Ioni Bowcher
1019Nicolas M StockhamAustralia2026-07-26Commercial Press UNQUALIFIED18Xuxue Feng
1020Maria S ButtUnited Kingdom2026-08-08Dorl, James J Esq UNQUALIFIED82Elwin Sharvill
1021Nicolas Z WhobreyFrance2026-08-06Chemel, James L Cpa NEW15Ivan Magalhaes
1022James O PaprockiUnited Kingdom2026-08-04King, Christopher A Esq RENEWAL24Amy Elsner
1023Deepesh B RulapaughUnited Kingdom2026-08-02Morlong Associates NEW80Elwin Sharvill
1024Morrow S AlbaresBrazil2026-07-22Commercial Press UNQUALIFIED59Amy Elsner
1025Jennifer B KuskoAustralia2026-07-23Chemel, James L Cpa RENEWAL36Xuxue Feng
1026Costa K FlosiRussia2026-07-15Feiner Bros RENEWAL45Onyama Limba
1027Ivar S StockhamItaly2026-07-31King, Christopher A Esq UNQUALIFIED70Ivan Magalhaes
1028Julie T WieserSpain2026-08-07Rousseaux, Michael Esq QUALIFIED31Ivan Magalhaes
1029Maisha E MorascaAustralia2026-07-21Feltz Printing Service QUALIFIED98Bernardo Dominic
1030Silvio C FerenczItaly2026-08-09Benton, John B Jr QUALIFIED4Ioni Bowcher
1031Antonio Z MorascaJapan2026-07-15Commercial Press QUALIFIED10Ivan Magalhaes
1032Salvatore G SlusarskiCanada2026-07-23Morlong Associates RENEWAL78Asiya Javayant
1033Johnson G CampainIndia2026-07-16Feiner Bros RENEWAL77Stephen Shaw
1034Kaitlin K OldroydFrance2026-08-08Rangoni Of Florence PROPOSAL73Amy Elsner
1035Kaitlin U WaycottFrance2026-08-10Buckley Miller Wright UNQUALIFIED32Stephen Shaw
1036Johnson T FerenczAustralia2026-07-23Buckley Miller Wright NEGOTIATION80Stephen Shaw
1037Emily U SchemmerUnited Kingdom2026-07-23Commercial Press NEW42Elwin Sharvill
1038Darci W TollnerIndia2026-07-31Chanay, Jeffrey A Esq PROPOSAL39Xuxue Feng
1039Misaki F ShinkoBrazil2026-08-07Rousseaux, Michael Esq UNQUALIFIED78Ioni Bowcher
1040James J FollerFrance2026-07-15Commercial Press NEW59Stephen Shaw
1041Jennifer S BowleyIndia2026-08-02Morlong Associates UNQUALIFIED9Anna Fali
1042Deepesh Q RimFrance2026-07-25Printing Dimensions PROPOSAL6Xuxue Feng
1043Deepesh X PoquetteCanada2026-08-07Commercial Press PROPOSAL12Xuxue Feng
1044Salvatore U BologniaFrance2026-08-08Feltz Printing Service NEW59Anna Fali
1045Octavia V ShinkoRussia2026-08-06Commercial Press RENEWAL99Stephen Shaw
1046Arvin Q SergiJapan2026-07-19Feltz Printing Service QUALIFIED71Anna Fali
1047Smith T InouyeGermany2026-08-05Benton, John B Jr QUALIFIED33Amy Elsner
1048Johnson I ShinkoRussia2026-07-27Chanay, Jeffrey A Esq PROPOSAL69Onyama Limba
1049Ashley D DilliardBrazil2026-07-16Feltz Printing Service UNQUALIFIED14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba M DarakjySpainBernardo Dominic UNQUALIFIED
Jones X RimRussiaBernardo Dominic QUALIFIED
James H FigeroaCanadaElwin Sharvill UNQUALIFIED
Jennifer R AlbaresAustraliaStephen Shaw NEW
Kadeem B FlosiJapanAmy Elsner NEGOTIATION
Adams Z BriddickUnited KingdomOnyama Limba NEW
Isabel A TollnerIndiaIoni Bowcher RENEWAL
Smith K WaycottJapanOnyama Limba NEW
Stacey V KolmetzGermanyStephen Shaw QUALIFIED
Costa R TollnerRussiaAsiya Javayant NEW
Misaki V RulapaughFranceIoni Bowcher NEGOTIATION
Aruna I GauchoSpainOnyama Limba RENEWAL
Jones M MacleadRussiaAmy Elsner NEW
Ashley Z BologniaFranceXuxue Feng RENEWAL
Cody M OldroydRussiaIoni Bowcher PROPOSAL
Greenwood N PoquetteGermanyAsiya Javayant PROPOSAL
Silvio F CampainRussiaAnna Fali NEGOTIATION
Morrow Y SergiFranceStephen Shaw NEW
Chavez B RimAustraliaIoni Bowcher NEGOTIATION
Kaitlin Y PerinIndiaElwin Sharvill NEGOTIATION
Arvin E MaletBrazilAnna Fali RENEWAL
Salvatore D GlickBrazilAnna Fali NEW
Sinclair X PaprockiGermanyAnna Fali NEW
Jones X StockhamBrazilBernardo Dominic UNQUALIFIED
Johnson D DilliardIndiaAnna Fali PROPOSAL
Francesco U IturbideRussiaAsiya Javayant PROPOSAL
Ricardo H BologniaAustraliaAsiya Javayant UNQUALIFIED
Misaki D FlosiRussiaAsiya Javayant NEGOTIATION
Jeanfrancois V PerinBrazilAmy Elsner PROPOSAL
Adams U DilliardJapanStephen Shaw UNQUALIFIED
Mujtaba O DoeAustraliaIoni Bowcher NEGOTIATION
Wickens A BologniaArgentinaStephen Shaw UNQUALIFIED
Ricardo N MaletItalyAmy Elsner QUALIFIED
Maisha L ButtItalyElwin Sharvill UNQUALIFIED
Chavez Q TollnerFranceIvan Magalhaes QUALIFIED
Claire T NestleArgentinaOnyama Limba UNQUALIFIED
Ashley X KuskoAustraliaIoni Bowcher RENEWAL
Morrow H IturbideBrazilAsiya Javayant NEGOTIATION
Juan C GillianCanadaXuxue Feng RENEWAL
Silvio M FlosiCanadaIvan Magalhaes QUALIFIED
Deepesh Q SchemmerItalyBernardo Dominic RENEWAL
Juan D WieserAustraliaElwin Sharvill RENEWAL
Faith R ShinkoArgentinaIoni Bowcher UNQUALIFIED
Aruna N MaletAustraliaAnna Fali NEGOTIATION
Smith T GauchoRussiaBernardo Dominic RENEWAL
Chavez M WhobreyJapanStephen Shaw NEW
David T WhobreyGermanyIoni Bowcher RENEWAL
Izzy B MarrierUnited KingdomIoni Bowcher NEGOTIATION
Emily H NickaIndiaStephen Shaw NEGOTIATION
Aika I SchemmerItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Aditya M Kusko
Aika C Tollner
Francesco S Bolognia
Kaitlin D Wieser
Morrow U Glick
Julie M Stockham
Faith T Darakjy
Smith C Vocelka
Stacey Y Rim
Leja U Tollner
Morrow A Inouye
Leon E Vocelka
Isabel G Slusarski
Kaitlin Y Ostrosky
Adams F Stockham
Claire K Paprocki
Deepesh G Ruta
Sinclair N Rim
Maria K Royster
Francesco F Rim
Aruna Y Malet
Tony C Kolmetz
Chavez K Caldarera
Antonio K Ferencz
Rodrigues M Ferencz
Tony H Maclead
James D Gillian
Munro B Caudy
Isabel X Waycott
Murillo C Rulapaugh
Murillo X Garufi
Juan P Whobrey
Munro E Garufi
Stacey U Gaucho
Maisha G Caudy
Nicolas W Chui
Aruna Q Sergi
Leja R Caudy
Stacey U Flosi
Jeanfrancois G Paprocki
Munro P Nicka
Mayumi D Campain
David V Paprocki
Chavez A Caudy
Leon A Campain
Johnson J Malet
Ashley W Oldroyd
Rodrigues L Marrier
Sinclair I Ostrosky
Francesco K Tollner
IdCountryDate
1000France2026-08-05
1001Canada2026-08-03
1002Italy2026-07-29
1003Argentina2026-07-16
1004India2026-07-25
1005France2026-07-23
1006Brazil2026-07-16
1007Spain2026-08-08
1008Italy2026-07-30
1009Italy2026-08-06
1010France2026-07-22
1011Australia2026-08-03
1012Russia2026-07-30
1013Brazil2026-07-14
1014Australia2026-07-29
1015India2026-07-26
1016Italy2026-08-08
1017Spain2026-08-09
1018Japan2026-07-14
1019Australia2026-07-24
1020Argentina2026-08-09
1021Argentina2026-08-09
1022Canada2026-07-19
1023Japan2026-07-14
1024Brazil2026-08-07
1025Germany2026-07-22
1026Russia2026-07-30
1027Argentina2026-08-05
1028Argentina2026-08-07
1029Brazil2026-08-01
1030Italy2026-07-14
1031Canada2026-08-05
1032India2026-07-15
1033Argentina2026-07-21
1034France2026-07-20
1035France2026-07-13
1036Japan2026-08-09
1037Brazil2026-08-05
1038United Kingdom2026-07-24
1039Japan2026-07-21
1040Germany2026-08-06
1041Argentina2026-08-03
1042India2026-07-22
1043Italy2026-08-05
1044India2026-08-09
1045Russia2026-07-16
1046Argentina2026-07-30
1047India2026-07-26
1048United Kingdom2026-08-09
1049Spain2026-07-29

On-Demand Data

NameIdCountryDate
Julie X Paprocki1000Germany2026-08-03
Munro L Bowley1001Canada2026-07-20
Clifford W Ruta1002Russia2026-07-31
Arvin U Oldroyd1003Germany2026-08-07
Leon O Caldarera1004Canada2026-07-31
Deepesh M Waycott1005France2026-08-09
Murillo R Rulapaugh1006Italy2026-08-08
Smith K Rim1007France2026-07-15
Silvio L Venere1008Spain2026-07-16
Jennifer W Marrier1009India2026-07-15
Tony A Nestle1010Canada2026-07-23
Leon G Paprocki1011Australia2026-08-02
Isabel P Ostrosky1012Germany2026-07-27
Kaitlin J Figeroa1013Japan2026-07-18
Jeanfrancois T Kolmetz1014United Kingdom2026-07-18
Leon G Glick1015Argentina2026-07-29
Cody J Maclead1016Brazil2026-07-26
Silvio T Iturbide1017Spain2026-07-30
Leja H Malet1018Germany2026-08-03
Johnson A Gillian1019France2026-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson D GillianCanadaAsiya Javayant UNQUALIFIED
Munro R OldroydAustraliaIoni Bowcher UNQUALIFIED
Morrow Z FollerBrazilElwin Sharvill QUALIFIED
Sinclair W MacleadIndiaAnna Fali QUALIFIED
Clifford G WhobreyItalyIoni Bowcher RENEWAL
James Q OstroskyJapanIvan Magalhaes PROPOSAL
Jefferson S CaudyRussiaAnna Fali NEW
Isabel J KuskoBrazilBernardo Dominic PROPOSAL
Salvatore L PoquetteSpainAsiya Javayant NEW
Murillo R CaldareraGermanyAmy Elsner RENEWAL
Sinclair F WhobreyArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois F GauchoCanadaAsiya Javayant PROPOSAL
Claire Y VenereGermanyAsiya Javayant UNQUALIFIED
Ashley A OldroydFranceXuxue Feng QUALIFIED
Clifford Q StensethUnited KingdomIoni Bowcher QUALIFIED
Claire P NickaItalyElwin Sharvill UNQUALIFIED
Tony P SchemmerRussiaOnyama Limba NEGOTIATION
Ivar Y CaudyJapanOnyama Limba NEW
Faith B PoquetteAustraliaElwin Sharvill PROPOSAL
Ivar C RutaRussiaOnyama Limba RENEWAL
Kadeem B RoysterBrazilElwin Sharvill UNQUALIFIED
Maria O OldroydBrazilIoni Bowcher NEGOTIATION
Ivar L DoeFranceStephen Shaw PROPOSAL
Aruna P NickaSpainIvan Magalhaes NEW
Jeanfrancois T DarakjyCanadaAmy Elsner NEW
Clifford J TollnerJapanStephen Shaw RENEWAL
Johnson D SlusarskiAustraliaOnyama Limba PROPOSAL
Wickens S CampainAustraliaXuxue Feng QUALIFIED
Francesco M CaldareraSpainElwin Sharvill NEGOTIATION
Adams E DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Maria K BriddickItalyOnyama Limba QUALIFIED
James T FlosiAustraliaAmy Elsner RENEWAL
Chavez V FlosiJapanAmy Elsner NEW
Ashley R VenereCanadaStephen Shaw QUALIFIED
Sinclair V AmigonJapanXuxue Feng NEW
Faith K MacleadAustraliaAnna Fali RENEWAL
Jeanfrancois C PaprockiSpainOnyama Limba UNQUALIFIED
Aika U SlusarskiFranceAmy Elsner RENEWAL
Nicolas V FerenczCanadaAsiya Javayant NEW
Murillo P NestleJapanAnna Fali 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>