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 C GauchoSpainIoni Bowcher NEW
Nicolas U FlosiUnited KingdomAsiya Javayant NEGOTIATION
Jefferson T ShinkoBrazilBernardo Dominic UNQUALIFIED
Octavia A NestleBrazilBernardo Dominic NEGOTIATION
Mayumi I RutaGermanyStephen Shaw NEW
Mujtaba S StensethUnited KingdomOnyama Limba RENEWAL
David V PerinAustraliaElwin Sharvill UNQUALIFIED
Misaki C MacleadItalyAnna Fali PROPOSAL
Julie L BologniaCanadaIoni Bowcher NEGOTIATION
Cody M CaldareraJapanIvan Magalhaes RENEWAL
Aditya D DoeRussiaIvan Magalhaes RENEWAL
Jeanfrancois C AmigonItalyAsiya Javayant NEW
Chavez K DilliardRussiaStephen Shaw NEW
Smith X NestleSpainIoni Bowcher NEGOTIATION
Maria Q ButtUnited KingdomXuxue Feng QUALIFIED
Kaitlin M BowleyIndiaIoni Bowcher RENEWAL
Arvin W GlickIndiaBernardo Dominic NEGOTIATION
Leon D FerenczRussiaBernardo Dominic NEGOTIATION
Claire T MorascaBrazilIoni Bowcher PROPOSAL
Smith C RimUnited KingdomAmy Elsner RENEWAL
Johnson O DoeFranceStephen Shaw NEGOTIATION
Chavez X RulapaughSpainElwin Sharvill NEW
Kadeem E OldroydSpainBernardo Dominic QUALIFIED
Jones K SergiCanadaIvan Magalhaes NEW
James G TollnerArgentinaXuxue Feng RENEWAL
Kadeem C DarakjyRussiaStephen Shaw QUALIFIED
Kadeem J MaletSpainAsiya Javayant PROPOSAL
Isabel Z FollerSpainAsiya Javayant QUALIFIED
Salvatore E RoysterArgentinaAmy Elsner QUALIFIED
Murillo J InouyeIndiaIoni Bowcher RENEWAL
Clifford D AlbaresRussiaStephen Shaw NEGOTIATION
Silvio N KuskoJapanAnna Fali QUALIFIED
Faith C VocelkaArgentinaElwin Sharvill NEW
Faith B MarrierAustraliaOnyama Limba QUALIFIED
Costa P InouyeUnited KingdomAnna Fali NEW
Izzy D ButtRussiaAsiya Javayant QUALIFIED
Leja B PerinIndiaElwin Sharvill UNQUALIFIED
Leon O OstroskyJapanXuxue Feng UNQUALIFIED
Antonio S CaldareraArgentinaIoni Bowcher PROPOSAL
Jeanfrancois X SergiBrazilXuxue Feng UNQUALIFIED
Adams R PaprockiJapanStephen Shaw PROPOSAL
Kadeem H MarrierSpainBernardo Dominic NEGOTIATION
Emily A FollerIndiaBernardo Dominic QUALIFIED
Misaki U StockhamIndiaBernardo Dominic RENEWAL
Salvatore Q StensethGermanyOnyama Limba UNQUALIFIED
Cody B OstroskyJapanElwin Sharvill RENEWAL
Murillo V DarakjyFranceXuxue Feng RENEWAL
Emily K RimItalyIvan Magalhaes PROPOSAL
David W WieserCanadaIvan Magalhaes UNQUALIFIED
Salvatore H PoquetteItalyXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Darci N ChuiArgentinaIoni Bowcher QUALIFIED
Mujtaba G GillianCanadaStephen Shaw NEW
Cody B TollnerBrazilXuxue Feng UNQUALIFIED
Emily S MorascaAustraliaAnna Fali PROPOSAL
David G PerinArgentinaAsiya Javayant NEGOTIATION
Stacey N FigeroaAustraliaStephen Shaw UNQUALIFIED
Ashley E OstroskyGermanyBernardo Dominic NEW
Greenwood P CaudyFranceAnna Fali RENEWAL
Julie H FerenczGermanyAsiya Javayant UNQUALIFIED
Mayumi A VenereArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa W WhobreyRussia2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED0Amy Elsner
1001Izzy N SaylorsAustralia2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED46Elwin Sharvill
1002James S RulapaughSpain2024-04-26Benton, John B Jr UNQUALIFIED85Ioni Bowcher
1003Morrow H DarakjyRussia2024-05-22Rousseaux, Michael Esq QUALIFIED10Ivan Magalhaes
1004Munro T FlosiItaly2024-05-09Truhlar And Truhlar Attys UNQUALIFIED37Ioni Bowcher
1005Chavez I StensethRussia2024-05-17Chapman, Ross E Esq NEGOTIATION86Onyama Limba
1006Stacey G OldroydUnited Kingdom2024-05-23Chemel, James L Cpa UNQUALIFIED92Amy Elsner
1007Leja S DilliardCanada2024-04-28Rangoni Of Florence UNQUALIFIED56Anna Fali
1008Juan W RutaFrance2024-05-22Dorl, James J Esq NEW54Amy Elsner
1009Jones N InouyeGermany2024-04-29Dorl, James J Esq QUALIFIED53Anna Fali
1010Alejandro J FlosiSpain2024-05-19Feltz Printing Service NEW24Ivan Magalhaes
1011Juan V ShinkoAustralia2024-05-03Feltz Printing Service QUALIFIED18Amy Elsner
1012Cody D CaudyIndia2024-05-06Commercial Press NEW89Stephen Shaw
1013Jefferson Z GlickJapan2024-05-24Printing Dimensions NEGOTIATION20Onyama Limba
1014Sinclair W RutaFrance2024-05-07Buckley Miller Wright NEGOTIATION6Bernardo Dominic
1015Antonio C GlickFrance2024-04-29Chapman, Ross E Esq NEW85Onyama Limba
1016Costa Y DarakjyJapan2024-05-06Feiner Bros NEGOTIATION65Xuxue Feng
1017Maisha U CampainIndia2024-04-25Rangoni Of Florence RENEWAL64Stephen Shaw
1018Stacey G CaldareraItaly2024-05-02Dorl, James J Esq PROPOSAL37Amy Elsner
1019Silvio J VenereSpain2024-05-22Benton, John B Jr PROPOSAL32Bernardo Dominic
1020Costa B StensethJapan2024-04-30Buckley Miller Wright NEGOTIATION36Anna Fali
1021Chavez E NestleBrazil2024-05-20Rangoni Of Florence NEGOTIATION18Bernardo Dominic
1022Jefferson I MarrierGermany2024-05-18King, Christopher A Esq QUALIFIED3Bernardo Dominic
1023Antonio L ShinkoAustralia2024-05-15Commercial Press QUALIFIED0Xuxue Feng
1024Mujtaba D OstroskyAustralia2024-05-14Buckley Miller Wright QUALIFIED17Ivan Magalhaes
1025Ashley T BowleyArgentina2024-05-23Feltz Printing Service PROPOSAL95Asiya Javayant
1026Maisha A WaycottRussia2024-05-22Dorl, James J Esq NEGOTIATION74Ioni Bowcher
1027Cody C BologniaRussia2024-05-01Feiner Bros PROPOSAL0Stephen Shaw
1028Antonio J MorascaCanada2024-04-27Chapman, Ross E Esq PROPOSAL64Xuxue Feng
1029Maisha F FerenczUnited Kingdom2024-05-19Commercial Press QUALIFIED80Elwin Sharvill
1030Murillo X SlusarskiAustralia2024-04-29Printing Dimensions QUALIFIED93Anna Fali
1031Arvin M TollnerAustralia2024-05-13Truhlar And Truhlar Attys QUALIFIED50Stephen Shaw
1032Tony C MaletArgentina2024-04-27Buckley Miller Wright NEGOTIATION39Stephen Shaw
1033Francesco A StensethJapan2024-05-11Buckley Miller Wright NEGOTIATION52Anna Fali
1034Aditya C MorascaFrance2024-05-18Feiner Bros NEGOTIATION48Elwin Sharvill
1035Adams E TollnerArgentina2024-05-13King, Christopher A Esq QUALIFIED58Onyama Limba
1036Kadeem W MacleadUnited Kingdom2024-05-06Feltz Printing Service NEGOTIATION60Amy Elsner
1037Silvio F FlosiFrance2024-05-15Printing Dimensions NEW80Xuxue Feng
1038Juan B GauchoGermany2024-05-21Feiner Bros UNQUALIFIED67Asiya Javayant
1039Clifford F MorascaAustralia2024-05-06Chapman, Ross E Esq PROPOSAL13Onyama Limba
1040Juan G FlosiItaly2024-05-03Benton, John B Jr RENEWAL17Bernardo Dominic
1041Cody H GlickCanada2024-05-23Rangoni Of Florence RENEWAL91Stephen Shaw
1042David E FerenczAustralia2024-05-21Chemel, James L Cpa NEW57Ivan Magalhaes
1043Salvatore M CaldareraAustralia2024-04-26Feiner Bros NEW88Stephen Shaw
1044Munro E IturbideItaly2024-05-07Rousseaux, Michael Esq UNQUALIFIED72Anna Fali
1045Sinclair V KuskoAustralia2024-05-17Chemel, James L Cpa PROPOSAL9Anna Fali
1046Jefferson O MaletItaly2024-05-05Chanay, Jeffrey A Esq PROPOSAL78Xuxue Feng
1047Ivar A GarufiBrazil2024-05-09Chapman, Ross E Esq RENEWAL72Onyama Limba
1048Morrow I NickaUnited Kingdom2024-05-06Chanay, Jeffrey A Esq QUALIFIED36Ioni Bowcher
1049Octavia C CampainBrazil2024-05-13Chapman, Ross E Esq PROPOSAL30Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams D WieserSpainAmy Elsner UNQUALIFIED
Emily D DoeCanadaAsiya Javayant RENEWAL
Sinclair J GarufiSpainOnyama Limba UNQUALIFIED
Clifford S GillianGermanyAsiya Javayant RENEWAL
Ivar G DoeItalyIoni Bowcher UNQUALIFIED
Francesco O KolmetzSpainOnyama Limba RENEWAL
Alejandro H NickaJapanAmy Elsner NEW
Aika U GarufiSpainOnyama Limba NEW
Julie A PoquetteBrazilXuxue Feng PROPOSAL
Ricardo O MaletFranceAnna Fali UNQUALIFIED
Stacey E SergiJapanOnyama Limba NEW
Leon Y AlbaresRussiaAmy Elsner NEW
Greenwood O VenereCanadaElwin Sharvill PROPOSAL
Nicolas O RulapaughSpainXuxue Feng PROPOSAL
Nicolas T PaprockiFranceIvan Magalhaes PROPOSAL
Greenwood W SlusarskiIndiaIoni Bowcher QUALIFIED
Julie X DilliardSpainIvan Magalhaes PROPOSAL
Jefferson O IturbideArgentinaXuxue Feng PROPOSAL
Emily D WieserRussiaAnna Fali QUALIFIED
David K RoysterGermanyOnyama Limba PROPOSAL
Jones T WhobreyCanadaAmy Elsner NEGOTIATION
Deepesh U CaudyJapanAnna Fali PROPOSAL
Aditya Z TollnerFranceAmy Elsner NEW
Nicolas C RulapaughCanadaAsiya Javayant RENEWAL
Juan K ButtArgentinaIvan Magalhaes NEW
Smith V ShinkoRussiaOnyama Limba NEGOTIATION
Octavia K GillianCanadaElwin Sharvill NEW
Sinclair X FigeroaBrazilStephen Shaw NEW
Maisha T SchemmerCanadaBernardo Dominic UNQUALIFIED
Misaki V ButtSpainElwin Sharvill QUALIFIED
Francesco P RulapaughGermanyAnna Fali UNQUALIFIED
Ashley F ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Darci C InouyeRussiaOnyama Limba NEW
Kaitlin R RimCanadaAnna Fali RENEWAL
Greenwood L CampainAustraliaAsiya Javayant NEGOTIATION
Kaitlin U KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois X StockhamRussiaAsiya Javayant QUALIFIED
Juan B GlickAustraliaStephen Shaw QUALIFIED
Octavia R DilliardArgentinaOnyama Limba NEGOTIATION
Leja M GillianBrazilIoni Bowcher NEW
Munro C DilliardGermanyOnyama Limba QUALIFIED
Rodrigues G PoquetteGermanyIvan Magalhaes UNQUALIFIED
Smith J ButtAustraliaStephen Shaw UNQUALIFIED
Clifford U OldroydItalyAmy Elsner PROPOSAL
Maisha C CaldareraIndiaIvan Magalhaes RENEWAL
Smith S NestleIndiaAsiya Javayant NEGOTIATION
Aruna P FerenczJapanOnyama Limba UNQUALIFIED
Leja J SlusarskiSpainIvan Magalhaes QUALIFIED
Francesco G FerenczUnited KingdomStephen Shaw UNQUALIFIED
Aruna V SergiCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Kaitlin F Campain
Octavia D Ferencz
Claire Q Rulapaugh
Maria Q Wieser
Costa L Caldarera
Kaitlin L Tollner
Deepesh H Glick
Aruna S Shinko
Mujtaba D Whobrey
Mayumi V Doe
Antonio X Marrier
Isabel K Tollner
Ricardo A Garufi
Emily E Figeroa
Costa U Chui
Mujtaba M Gillian
Costa H Chui
Silvio G Vocelka
Munro A Bowley
Cody R Doe
Smith M Rulapaugh
Ricardo Z Garufi
Isabel I Poquette
Ashley N Morasca
Chavez H Perin
Claire I Ferencz
Alejandro S Schemmer
Arvin F Butt
Costa A Wieser
Arvin S Paprocki
Jennifer R Rim
Nicolas O Stockham
Ivar Z Schemmer
Antonio J Dilliard
Johnson U Oldroyd
Octavia B Caudy
Salvatore D Maclead
Jennifer D Maclead
Wickens B Schemmer
Sinclair Q Caudy
Jefferson Z Stockham
Stacey G Poquette
Costa D Kolmetz
Izzy Z Perin
Claire W Doe
Jennifer D Nestle
Kadeem O Malet
Kadeem W Garufi
Ivar R Nestle
Johnson Y Ruta
IdCountryDate
1000Germany2024-05-13
1001Japan2024-05-24
1002Brazil2024-04-26
1003United Kingdom2024-05-03
1004France2024-05-23
1005France2024-05-12
1006Argentina2024-05-15
1007Canada2024-05-18
1008Argentina2024-05-18
1009Argentina2024-05-20
1010India2024-05-21
1011United Kingdom2024-05-24
1012United Kingdom2024-05-21
1013Brazil2024-04-28
1014Argentina2024-05-06
1015France2024-05-16
1016Australia2024-05-02
1017Spain2024-05-08
1018Japan2024-05-20
1019India2024-04-28
1020Japan2024-05-02
1021Australia2024-05-22
1022Germany2024-05-18
1023India2024-04-30
1024United Kingdom2024-05-06
1025Brazil2024-05-11
1026Russia2024-05-02
1027Australia2024-05-24
1028Australia2024-05-21
1029United Kingdom2024-05-02
1030Germany2024-05-06
1031Spain2024-05-03
1032Japan2024-05-03
1033Australia2024-05-15
1034Japan2024-05-19
1035Russia2024-05-12
1036Brazil2024-05-24
1037Spain2024-05-17
1038Japan2024-05-19
1039Argentina2024-05-07
1040France2024-05-15
1041Spain2024-05-19
1042France2024-05-02
1043Japan2024-04-27
1044Russia2024-05-17
1045Canada2024-05-24
1046Italy2024-05-07
1047Brazil2024-05-06
1048United Kingdom2024-05-11
1049Italy2024-05-15

On-Demand Data

NameIdCountryDate
Nicolas Q Maclead1000Australia2024-05-17
Misaki M Figeroa1001Japan2024-05-17
Kaitlin F Stockham1002Spain2024-05-23
Izzy S Royster1003United Kingdom2024-05-15
Mujtaba I Kolmetz1004Germany2024-05-23
Ashley I Gillian1005Germany2024-05-13
Tony C Royster1006Italy2024-05-23
Aditya S Glick1007India2024-05-01
Johnson H Nestle1008Brazil2024-05-18
Julie R Paprocki1009India2024-04-27
Isabel F Perin1010Argentina2024-04-25
Tony B Whobrey1011Brazil2024-04-30
James X Waycott1012Italy2024-05-05
Costa Y Shinko1013Brazil2024-05-22
Kaitlin U Maclead1014India2024-05-20
Morrow I Oldroyd1015Russia2024-05-15
Alejandro T Darakjy1016Germany2024-05-21
Silvio R Whobrey1017Spain2024-04-27
Smith D Caudy1018United Kingdom2024-05-06
Mujtaba Q Nicka1019Japan2024-05-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa R DilliardRussiaIvan Magalhaes NEGOTIATION
Mayumi Z BriddickJapanAsiya Javayant UNQUALIFIED
Antonio O IturbideBrazilAmy Elsner QUALIFIED
Leon G VocelkaBrazilStephen Shaw RENEWAL
Murillo M SergiJapanAsiya Javayant NEW
Kadeem S KolmetzGermanyStephen Shaw RENEWAL
Tony L SergiGermanyAmy Elsner NEW
Isabel W OstroskyGermanyAnna Fali NEW
Kaitlin U DarakjyRussiaStephen Shaw QUALIFIED
Francesco I WhobreyGermanyElwin Sharvill RENEWAL
Francesco V GauchoCanadaOnyama Limba NEW
Maisha Y WaycottSpainXuxue Feng QUALIFIED
Salvatore Q TollnerCanadaAmy Elsner QUALIFIED
Sinclair W PaprockiArgentinaAsiya Javayant QUALIFIED
Kaitlin B StensethIndiaXuxue Feng QUALIFIED
Cody R VocelkaArgentinaStephen Shaw NEW
Silvio H PerinItalyStephen Shaw NEGOTIATION
Leon I KolmetzFranceOnyama Limba QUALIFIED
Jones N MaletUnited KingdomIvan Magalhaes RENEWAL
Leja P ShinkoAustraliaAnna Fali UNQUALIFIED
Claire C KolmetzIndiaAnna Fali RENEWAL
Maria G PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Arvin I BriddickIndiaXuxue Feng UNQUALIFIED
Antonio A PaprockiUnited KingdomStephen Shaw RENEWAL
Maria R KolmetzFranceAmy Elsner QUALIFIED
Jeanfrancois P FigeroaSpainElwin Sharvill RENEWAL
Adams T GlickSpainIoni Bowcher RENEWAL
Misaki H KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Maisha Q StensethFranceBernardo Dominic UNQUALIFIED
Aika Y FollerUnited KingdomStephen Shaw PROPOSAL
Murillo X NestleCanadaAsiya Javayant NEW
Clifford D DilliardUnited KingdomXuxue Feng QUALIFIED
Maisha I BologniaFranceXuxue Feng QUALIFIED
Alejandro N TollnerGermanyStephen Shaw NEW
Kadeem W IturbideFranceStephen Shaw QUALIFIED
Chavez W AmigonIndiaAsiya Javayant UNQUALIFIED
Nicolas N OstroskyFranceXuxue Feng QUALIFIED
Ivar V PaprockiJapanIoni Bowcher NEW
Leon X FlosiUnited KingdomStephen Shaw PROPOSAL
Greenwood Y InouyeJapanAmy Elsner PROPOSAL

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