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 G SchemmerJapanXuxue Feng NEGOTIATION
Isabel Q WaycottCanadaIvan Magalhaes NEW
Aruna I IturbideGermanyElwin Sharvill QUALIFIED
Smith J MacleadArgentinaXuxue Feng PROPOSAL
Salvatore U PaprockiRussiaAnna Fali PROPOSAL
Chavez S StensethRussiaIvan Magalhaes NEGOTIATION
Jefferson X PoquetteGermanyElwin Sharvill NEGOTIATION
Rodrigues Q GarufiAustraliaAmy Elsner QUALIFIED
Julie N SchemmerCanadaAsiya Javayant NEGOTIATION
Jeanfrancois V NestleAustraliaIvan Magalhaes UNQUALIFIED
Maisha L SaylorsSpainIvan Magalhaes NEGOTIATION
Kadeem A DilliardBrazilXuxue Feng PROPOSAL
Juan D OldroydRussiaAmy Elsner QUALIFIED
Faith U RoysterBrazilIoni Bowcher QUALIFIED
Kaitlin X IturbideArgentinaAnna Fali UNQUALIFIED
Clifford O PoquetteRussiaXuxue Feng PROPOSAL
Munro T DoeJapanIoni Bowcher NEW
Johnson B PerinBrazilElwin Sharvill NEW
Faith M RutaSpainElwin Sharvill PROPOSAL
Adams O WieserCanadaAmy Elsner RENEWAL
Kaitlin E ChuiJapanIoni Bowcher UNQUALIFIED
Mujtaba J BologniaFranceAnna Fali RENEWAL
James V WaycottUnited KingdomXuxue Feng PROPOSAL
Ashley C ChuiGermanyOnyama Limba NEW
Leja N CampainIndiaElwin Sharvill NEGOTIATION
Emily W VenereGermanyElwin Sharvill PROPOSAL
Misaki E KolmetzBrazilElwin Sharvill UNQUALIFIED
Sinclair D BologniaFranceAsiya Javayant PROPOSAL
Jeanfrancois V AlbaresSpainIvan Magalhaes QUALIFIED
Wickens N ShinkoSpainBernardo Dominic QUALIFIED
Jeanfrancois J FigeroaUnited KingdomXuxue Feng NEW
Ricardo A NestleBrazilOnyama Limba UNQUALIFIED
Kadeem D KuskoJapanAsiya Javayant NEW
Kaitlin E DoeJapanIoni Bowcher RENEWAL
Smith P AmigonUnited KingdomStephen Shaw NEGOTIATION
Smith J FlosiBrazilAsiya Javayant QUALIFIED
Jeanfrancois Z FollerAustraliaIoni Bowcher NEGOTIATION
Greenwood M FollerItalyBernardo Dominic UNQUALIFIED
Isabel U SaylorsItalyIvan Magalhaes NEW
Chavez D RulapaughGermanyAmy Elsner NEW
Faith X RulapaughRussiaStephen Shaw NEGOTIATION
Mujtaba E StockhamCanadaElwin Sharvill NEGOTIATION
Jennifer J PaprockiItalyBernardo Dominic PROPOSAL
Cody T DarakjyBrazilOnyama Limba PROPOSAL
Jefferson V AmigonArgentinaAsiya Javayant QUALIFIED
Costa Y FerenczJapanXuxue Feng UNQUALIFIED
Aika Q AlbaresArgentinaElwin Sharvill QUALIFIED
Greenwood H RimRussiaOnyama Limba UNQUALIFIED
Juan E FlosiFranceAmy Elsner RENEWAL
Salvatore G KolmetzUnited KingdomAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi X SchemmerUnited KingdomStephen Shaw QUALIFIED
Mayumi U DoeIndiaElwin Sharvill UNQUALIFIED
Morrow R SergiSpainOnyama Limba UNQUALIFIED
Jones B VenereFranceIvan Magalhaes NEGOTIATION
Mayumi J SergiCanadaElwin Sharvill UNQUALIFIED
Clifford W RoysterUnited KingdomXuxue Feng QUALIFIED
Clifford P GillianUnited KingdomBernardo Dominic UNQUALIFIED
Stacey Q VenereRussiaIvan Magalhaes UNQUALIFIED
Silvio B VocelkaArgentinaBernardo Dominic QUALIFIED
Smith S AmigonArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan U FollerCanada2024-06-02Feiner Bros UNQUALIFIED36Ioni Bowcher
1001James T MacleadFrance2024-06-11Feltz Printing Service QUALIFIED41Onyama Limba
1002Jeanfrancois Z WaycottAustralia2024-05-20King, Christopher A Esq UNQUALIFIED99Xuxue Feng
1003Murillo C OldroydItaly2024-05-22Chemel, James L Cpa NEW40Onyama Limba
1004David U IturbideFrance2024-05-20Feltz Printing Service UNQUALIFIED64Asiya Javayant
1005Faith E DilliardIndia2024-05-25Feltz Printing Service PROPOSAL69Elwin Sharvill
1006Maisha W MaletItaly2024-05-27Rousseaux, Michael Esq NEGOTIATION21Ivan Magalhaes
1007Wickens K BowleyRussia2024-05-22Printing Dimensions UNQUALIFIED45Elwin Sharvill
1008Alejandro K GauchoIndia2024-06-10Morlong Associates QUALIFIED62Elwin Sharvill
1009Rodrigues I DilliardItaly2024-06-11Buckley Miller Wright QUALIFIED36Elwin Sharvill
1010Cody D FlosiAustralia2024-05-24Morlong Associates RENEWAL38Ivan Magalhaes
1011Ricardo Y KuskoSpain2024-06-02Benton, John B Jr RENEWAL6Ioni Bowcher
1012Claire S RoysterArgentina2024-05-17Chapman, Ross E Esq RENEWAL80Anna Fali
1013Adams W RimCanada2024-06-02Rangoni Of Florence NEGOTIATION31Elwin Sharvill
1014Salvatore C CampainCanada2024-06-07Morlong Associates QUALIFIED23Xuxue Feng
1015Ashley V OldroydUnited Kingdom2024-05-28Chapman, Ross E Esq QUALIFIED45Onyama Limba
1016Kaitlin T OldroydArgentina2024-06-10Feltz Printing Service NEW68Xuxue Feng
1017Smith H MarrierIndia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED59Ioni Bowcher
1018Adams S OldroydFrance2024-05-31Commercial Press QUALIFIED6Amy Elsner
1019Jones O PoquetteBrazil2024-05-20King, Christopher A Esq PROPOSAL56Asiya Javayant
1020Silvio V TollnerJapan2024-05-23Chemel, James L Cpa RENEWAL43Elwin Sharvill
1021Silvio M MarrierJapan2024-06-01Buckley Miller Wright QUALIFIED60Stephen Shaw
1022Wickens M CaldareraIndia2024-06-10Chapman, Ross E Esq RENEWAL17Amy Elsner
1023Chavez E BriddickJapan2024-06-07Commercial Press NEGOTIATION66Anna Fali
1024Ashley H MaletAustralia2024-05-27Dorl, James J Esq PROPOSAL79Asiya Javayant
1025Faith T SergiJapan2024-05-26Chemel, James L Cpa QUALIFIED66Onyama Limba
1026Jones J PerinIndia2024-06-03Dorl, James J Esq NEGOTIATION96Xuxue Feng
1027Cody Z RoysterItaly2024-05-18Rousseaux, Michael Esq UNQUALIFIED3Anna Fali
1028Jefferson L RulapaughJapan2024-05-21Benton, John B Jr UNQUALIFIED81Stephen Shaw
1029Deepesh P NickaUnited Kingdom2024-05-17Buckley Miller Wright QUALIFIED11Ioni Bowcher
1030Costa A FigeroaRussia2024-05-25King, Christopher A Esq UNQUALIFIED56Xuxue Feng
1031Smith T DarakjyUnited Kingdom2024-06-04Chemel, James L Cpa RENEWAL56Onyama Limba
1032Isabel R PerinRussia2024-06-08King, Christopher A Esq RENEWAL91Elwin Sharvill
1033Isabel Q FlosiFrance2024-06-02Morlong Associates NEW86Bernardo Dominic
1034Faith U VenereJapan2024-06-06Chapman, Ross E Esq UNQUALIFIED5Elwin Sharvill
1035James U DilliardFrance2024-05-23Chapman, Ross E Esq NEW75Anna Fali
1036Stacey F KuskoRussia2024-06-03Rangoni Of Florence NEW68Xuxue Feng
1037Isabel E GauchoIndia2024-05-29Printing Dimensions UNQUALIFIED76Ivan Magalhaes
1038Juan S RoysterArgentina2024-05-17Chanay, Jeffrey A Esq UNQUALIFIED78Onyama Limba
1039Morrow P TollnerFrance2024-06-02Chapman, Ross E Esq NEW27Bernardo Dominic
1040Antonio O AmigonGermany2024-06-14King, Christopher A Esq NEW29Ioni Bowcher
1041Leja O FollerArgentina2024-05-18Feltz Printing Service NEW37Stephen Shaw
1042Jennifer T FigeroaSpain2024-06-14Truhlar And Truhlar Attys UNQUALIFIED84Onyama Limba
1043Stacey M KuskoArgentina2024-06-02King, Christopher A Esq NEW60Onyama Limba
1044Jefferson J OldroydBrazil2024-05-17Feiner Bros RENEWAL77Xuxue Feng
1045Jefferson S StensethCanada2024-06-07Dorl, James J Esq UNQUALIFIED45Anna Fali
1046Arvin F DilliardUnited Kingdom2024-06-14Chapman, Ross E Esq QUALIFIED61Ioni Bowcher
1047Stacey O AmigonSpain2024-06-02Rousseaux, Michael Esq PROPOSAL93Anna Fali
1048Aditya O BriddickJapan2024-06-03Printing Dimensions NEGOTIATION31Stephen Shaw
1049Greenwood D DilliardBrazil2024-06-14Feiner Bros UNQUALIFIED72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem C WhobreyFranceXuxue Feng RENEWAL
David Q SlusarskiSpainElwin Sharvill UNQUALIFIED
David E GauchoFranceBernardo Dominic NEW
Cody Z DarakjyFranceIoni Bowcher PROPOSAL
Silvio W FollerCanadaAmy Elsner NEW
Aruna O ChuiIndiaElwin Sharvill UNQUALIFIED
Antonio V MorascaRussiaIvan Magalhaes UNQUALIFIED
Chavez P GarufiUnited KingdomAmy Elsner NEGOTIATION
Leon P WhobreyBrazilOnyama Limba PROPOSAL
Julie F MarrierGermanyAsiya Javayant RENEWAL
Kadeem E VocelkaFranceIoni Bowcher PROPOSAL
Isabel J SaylorsSpainXuxue Feng PROPOSAL
Costa A ButtSpainOnyama Limba QUALIFIED
Stacey P PaprockiSpainStephen Shaw QUALIFIED
Octavia G MaletSpainElwin Sharvill QUALIFIED
Antonio T StensethIndiaAmy Elsner RENEWAL
Jennifer P FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh O DilliardRussiaAsiya Javayant NEW
Silvio A MaletIndiaBernardo Dominic PROPOSAL
Misaki K BowleyJapanBernardo Dominic NEW
Arvin Q GauchoIndiaStephen Shaw RENEWAL
Ricardo Y GarufiGermanyAmy Elsner PROPOSAL
Jefferson M FerenczRussiaXuxue Feng NEW
Izzy L IturbideItalyElwin Sharvill UNQUALIFIED
Claire Q ButtRussiaIvan Magalhaes PROPOSAL
Aika B NestleJapanIoni Bowcher UNQUALIFIED
Francesco E ButtRussiaAsiya Javayant NEW
Silvio W FlosiGermanyBernardo Dominic NEW
Arvin U MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Aika Y CaudyGermanyAsiya Javayant RENEWAL
Aditya W StensethAustraliaElwin Sharvill NEGOTIATION
Aruna N NestleRussiaXuxue Feng PROPOSAL
Alejandro X BologniaSpainXuxue Feng UNQUALIFIED
Jennifer X MaletCanadaIoni Bowcher PROPOSAL
Munro A DoeJapanOnyama Limba NEW
Faith P FlosiFranceAmy Elsner UNQUALIFIED
Aruna G FollerAustraliaOnyama Limba NEW
Clifford E MacleadGermanyAsiya Javayant NEW
Munro F NickaRussiaAmy Elsner NEGOTIATION
Munro G CaldareraCanadaStephen Shaw QUALIFIED
Ashley Y MorascaSpainAmy Elsner NEW
Mayumi Z MaletItalyElwin Sharvill UNQUALIFIED
Mujtaba C SergiAustraliaXuxue Feng NEGOTIATION
Costa O KuskoAustraliaAnna Fali NEW
Emily J ButtIndiaAnna Fali QUALIFIED
Munro B CampainGermanyIoni Bowcher NEGOTIATION
David U DoeUnited KingdomAmy Elsner NEGOTIATION
David P AlbaresArgentinaAsiya Javayant PROPOSAL
James R RulapaughRussiaOnyama Limba NEW
Francesco P ButtBrazilAsiya Javayant PROPOSAL
Frozen Columns
Name
Stacey V Briddick
Jeanfrancois I Iturbide
Nicolas Z Stockham
Ricardo L Flosi
Ivar K Stenseth
Izzy P Rulapaugh
Jeanfrancois Y Morasca
Silvio U Gillian
Adams Y Malet
Stacey E Bolognia
Munro F Maclead
Izzy M Flosi
Claire F Shinko
Jennifer F Rulapaugh
Ivar T Gillian
James X Ferencz
Faith Z Vocelka
Ivar V Marrier
Maria B Malet
Ivar L Glick
Jefferson L Slusarski
Darci D Kusko
Deepesh K Garufi
Aika M Venere
Tony E Royster
Leja J Tollner
Misaki M Gillian
Jeanfrancois X Gaucho
Antonio O Wieser
Costa E Nicka
Salvatore C Inouye
Wickens A Doe
Antonio K Ruta
Deepesh P Garufi
Sinclair M Shinko
Rodrigues P Vocelka
Costa K Ruta
Octavia F Perin
Faith V Chui
Aruna J Caldarera
Cody K Iturbide
Francesco Y Oldroyd
Ashley U Waycott
Jennifer H Amigon
Aruna C Ruta
Darci M Venere
Alejandro T Iturbide
Aditya P Campain
Mujtaba F Ruta
Ivar Y Doe
IdCountryDate
1000Italy2024-06-13
1001Brazil2024-05-26
1002Spain2024-05-20
1003Japan2024-05-21
1004Australia2024-06-04
1005France2024-06-09
1006United Kingdom2024-05-23
1007Japan2024-06-02
1008Spain2024-05-18
1009Spain2024-06-05
1010Spain2024-05-21
1011Germany2024-05-25
1012France2024-05-23
1013Italy2024-06-05
1014Germany2024-05-17
1015Australia2024-05-24
1016Australia2024-06-09
1017Canada2024-05-25
1018Spain2024-05-19
1019Russia2024-06-05
1020Germany2024-06-07
1021India2024-05-17
1022Australia2024-05-23
1023Argentina2024-06-10
1024Canada2024-05-25
1025Canada2024-06-11
1026France2024-05-25
1027Australia2024-05-26
1028Canada2024-05-31
1029Argentina2024-05-26
1030Italy2024-05-28
1031Argentina2024-06-07
1032Japan2024-05-31
1033Spain2024-05-23
1034Germany2024-06-11
1035Germany2024-05-30
1036Australia2024-05-28
1037India2024-05-28
1038United Kingdom2024-05-21
1039Russia2024-05-23
1040Italy2024-05-26
1041United Kingdom2024-06-11
1042Brazil2024-06-06
1043Japan2024-05-22
1044Brazil2024-05-19
1045Japan2024-06-05
1046India2024-06-03
1047Spain2024-06-06
1048Germany2024-06-08
1049Spain2024-06-11

On-Demand Data

NameIdCountryDate
Aika V Dilliard1000Spain2024-05-19
Julie L Morasca1001Australia2024-06-08
Sinclair Q Stockham1002Spain2024-05-26
Claire J Wieser1003Canada2024-06-07
Ivar V Paprocki1004Spain2024-06-13
David S Briddick1005United Kingdom2024-06-11
Salvatore A Stockham1006Italy2024-06-05
Isabel P Marrier1007France2024-06-12
Rodrigues B Flosi1008France2024-05-19
Clifford P Ostrosky1009Russia2024-06-05
Munro W Poquette1010India2024-06-08
Munro Y Waycott1011Australia2024-06-10
Kaitlin P Chui1012Spain2024-06-05
Faith L Darakjy1013Argentina2024-05-20
Ricardo D Stockham1014Italy2024-06-09
Ashley U Malet1015Russia2024-05-29
Greenwood O Ostrosky1016France2024-05-18
Izzy G Figeroa1017India2024-06-09
Mujtaba R Bolognia1018Brazil2024-05-17
Tony S Whobrey1019Spain2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Y OldroydSpainStephen Shaw RENEWAL
Wickens X BriddickSpainXuxue Feng UNQUALIFIED
Johnson O AlbaresArgentinaIoni Bowcher RENEWAL
Ashley J WieserGermanyOnyama Limba NEW
Octavia R PerinUnited KingdomIoni Bowcher RENEWAL
James P KolmetzRussiaAnna Fali PROPOSAL
Julie Z GlickGermanyAnna Fali NEW
Leja Q CaldareraItalyAmy Elsner NEW
Aditya N InouyeGermanyXuxue Feng UNQUALIFIED
Chavez E AlbaresIndiaIvan Magalhaes NEW
Arvin S RimSpainBernardo Dominic NEGOTIATION
Aruna C DoeJapanXuxue Feng NEGOTIATION
Tony W VenereItalyAnna Fali UNQUALIFIED
Leon C MacleadAustraliaOnyama Limba NEGOTIATION
Cody P RulapaughIndiaElwin Sharvill RENEWAL
Kadeem O CaldareraFranceStephen Shaw PROPOSAL
Kaitlin D BologniaUnited KingdomAmy Elsner NEGOTIATION
Juan H WieserItalyOnyama Limba QUALIFIED
Juan J MarrierJapanBernardo Dominic NEW
Johnson V FigeroaCanadaIvan Magalhaes RENEWAL
Nicolas C DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois E RulapaughJapanIvan Magalhaes NEW
Izzy R MarrierJapanXuxue Feng PROPOSAL
Aditya F WhobreyRussiaBernardo Dominic NEW
Ashley B WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin Z MorascaUnited KingdomAsiya Javayant NEW
Nicolas L PaprockiItalyOnyama Limba RENEWAL
Chavez J OldroydSpainIoni Bowcher RENEWAL
Emily L AmigonItalyIoni Bowcher NEW
Smith J CaldareraCanadaAmy Elsner NEW
Chavez R WhobreyArgentinaAnna Fali QUALIFIED
Ivar H SergiIndiaElwin Sharvill NEW
Leon V CampainCanadaAnna Fali PROPOSAL
Juan N StockhamRussiaBernardo Dominic PROPOSAL
Greenwood D MarrierAustraliaXuxue Feng QUALIFIED
Faith N KolmetzGermanyElwin Sharvill UNQUALIFIED
Sinclair A FigeroaAustraliaBernardo Dominic PROPOSAL
Adams O MaletCanadaAmy Elsner UNQUALIFIED
Morrow R GillianIndiaAmy Elsner PROPOSAL
Faith Y OstroskyUnited KingdomIoni Bowcher QUALIFIED

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