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
Jones C AmigonArgentinaAnna Fali RENEWAL
Clifford J SaylorsJapanAsiya Javayant RENEWAL
Munro O VenereRussiaBernardo Dominic RENEWAL
Costa R GlickAustraliaElwin Sharvill NEGOTIATION
Aika X FollerBrazilBernardo Dominic NEGOTIATION
Octavia X GauchoItalyIoni Bowcher PROPOSAL
Darci L OstroskyRussiaAsiya Javayant UNQUALIFIED
Darci I WaycottIndiaElwin Sharvill UNQUALIFIED
Adams W KolmetzGermanyAmy Elsner PROPOSAL
Stacey G CaldareraArgentinaStephen Shaw QUALIFIED
Ricardo G MaletBrazilBernardo Dominic QUALIFIED
Aditya R OldroydIndiaAsiya Javayant PROPOSAL
Arvin O ButtFranceXuxue Feng PROPOSAL
Stacey O NickaRussiaAmy Elsner RENEWAL
Mujtaba V StockhamIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois O BriddickArgentinaStephen Shaw QUALIFIED
Cody D FlosiGermanyAnna Fali RENEWAL
Silvio F AlbaresItalyIoni Bowcher UNQUALIFIED
Jones V SchemmerItalyStephen Shaw NEW
Morrow J NickaBrazilOnyama Limba QUALIFIED
Costa B TollnerSpainIoni Bowcher QUALIFIED
Silvio Y VocelkaFranceElwin Sharvill RENEWAL
Maisha F CaudyFranceBernardo Dominic NEGOTIATION
Kaitlin W FlosiSpainElwin Sharvill PROPOSAL
Isabel T AmigonGermanyAsiya Javayant NEW
Jeanfrancois I GlickSpainElwin Sharvill RENEWAL
Faith X KuskoIndiaBernardo Dominic RENEWAL
Izzy P IturbideBrazilElwin Sharvill NEGOTIATION
Jennifer V DoeJapanXuxue Feng NEGOTIATION
Aruna H RoysterGermanyXuxue Feng UNQUALIFIED
Darci B StockhamAustraliaIvan Magalhaes PROPOSAL
Aika M GlickIndiaOnyama Limba RENEWAL
Mujtaba V CampainIndiaAnna Fali NEGOTIATION
Adams K OldroydArgentinaStephen Shaw NEW
Tony G NickaSpainAmy Elsner UNQUALIFIED
David Y CaudyFranceIvan Magalhaes RENEWAL
Maria K RimUnited KingdomAmy Elsner PROPOSAL
Misaki W WaycottCanadaXuxue Feng NEGOTIATION
Deepesh M FigeroaArgentinaStephen Shaw QUALIFIED
Chavez F FerenczSpainBernardo Dominic QUALIFIED
Julie R SlusarskiFranceOnyama Limba NEGOTIATION
Izzy B WaycottIndiaIoni Bowcher NEGOTIATION
Adams O MaletSpainAnna Fali RENEWAL
Maisha D StensethIndiaOnyama Limba PROPOSAL
Salvatore A RulapaughFranceStephen Shaw NEW
Jefferson K GlickSpainElwin Sharvill NEW
Tony Z PaprockiItalyBernardo Dominic RENEWAL
Rodrigues F BologniaGermanyStephen Shaw UNQUALIFIED
Morrow W MacleadFranceAsiya Javayant QUALIFIED
David O ButtGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Francesco J MarrierJapanElwin Sharvill UNQUALIFIED
Leon K NestleAustraliaIoni Bowcher UNQUALIFIED
Leon E MacleadGermanyIvan Magalhaes PROPOSAL
Deepesh B CaldareraItalyAnna Fali NEGOTIATION
Octavia V RimAustraliaAmy Elsner PROPOSAL
Tony C KolmetzBrazilElwin Sharvill RENEWAL
Leja I MaletIndiaIvan Magalhaes RENEWAL
Faith I SchemmerAustraliaElwin Sharvill PROPOSAL
Silvio Q RulapaughRussiaElwin Sharvill QUALIFIED
Morrow X OstroskyItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford J FollerAustralia2026-07-28Printing Dimensions RENEWAL26Onyama Limba
1001Costa X MaletRussia2026-07-30Feltz Printing Service NEW6Asiya Javayant
1002Aruna K BologniaBrazil2026-08-07Chemel, James L Cpa QUALIFIED46Anna Fali
1003Darci T ChuiItaly2026-07-28Buckley Miller Wright NEGOTIATION82Onyama Limba
1004Sinclair X AlbaresRussia2026-08-03Buckley Miller Wright UNQUALIFIED48Amy Elsner
1005Jones Y GarufiArgentina2026-08-01Printing Dimensions UNQUALIFIED45Asiya Javayant
1006Antonio E MaletRussia2026-07-29Feltz Printing Service NEW93Bernardo Dominic
1007Greenwood O FollerItaly2026-08-06Rangoni Of Florence UNQUALIFIED58Asiya Javayant
1008Aditya H FigeroaArgentina2026-08-07Chanay, Jeffrey A Esq NEGOTIATION95Asiya Javayant
1009Silvio K DilliardCanada2026-08-01Chapman, Ross E Esq RENEWAL19Onyama Limba
1010Isabel O TollnerJapan2026-07-24King, Christopher A Esq NEW3Elwin Sharvill
1011Izzy A KolmetzJapan2026-07-21Buckley Miller Wright PROPOSAL20Stephen Shaw
1012Emily D NestleArgentina2026-08-10Morlong Associates UNQUALIFIED52Elwin Sharvill
1013Maria H SaylorsSpain2026-08-11Commercial Press PROPOSAL76Xuxue Feng
1014Faith R PoquetteGermany2026-07-31Feltz Printing Service NEGOTIATION25Bernardo Dominic
1015Ivar N DilliardRussia2026-08-08Morlong Associates UNQUALIFIED56Ivan Magalhaes
1016Adams C MarrierArgentina2026-08-01Truhlar And Truhlar Attys NEGOTIATION54Xuxue Feng
1017Juan I GillianUnited Kingdom2026-07-28Morlong Associates UNQUALIFIED88Amy Elsner
1018Chavez S KuskoJapan2026-07-28Buckley Miller Wright QUALIFIED77Ivan Magalhaes
1019David Q PoquetteRussia2026-07-15Dorl, James J Esq RENEWAL84Xuxue Feng
1020Chavez Z VocelkaRussia2026-07-23Benton, John B Jr NEGOTIATION4Amy Elsner
1021David S StensethBrazil2026-07-16King, Christopher A Esq QUALIFIED51Anna Fali
1022Kadeem H GauchoItaly2026-08-08Rangoni Of Florence QUALIFIED63Xuxue Feng
1023Maria B CaldareraItaly2026-07-17Chanay, Jeffrey A Esq RENEWAL1Anna Fali
1024Leja M FollerJapan2026-07-31Chapman, Ross E Esq RENEWAL41Elwin Sharvill
1025Jeanfrancois Z FollerIndia2026-07-23Chemel, James L Cpa PROPOSAL80Stephen Shaw
1026Maria P DoeRussia2026-08-01Feltz Printing Service UNQUALIFIED78Ivan Magalhaes
1027Greenwood A PoquetteItaly2026-08-03Morlong Associates QUALIFIED34Ivan Magalhaes
1028Maisha R CaudyUnited Kingdom2026-08-01Rousseaux, Michael Esq PROPOSAL50Elwin Sharvill
1029Nicolas V MarrierArgentina2026-07-16Benton, John B Jr NEW30Stephen Shaw
1030Antonio H GillianFrance2026-07-22Truhlar And Truhlar Attys NEGOTIATION5Stephen Shaw
1031Mujtaba Z FollerJapan2026-07-15Feiner Bros QUALIFIED35Elwin Sharvill
1032Silvio H OstroskyRussia2026-08-03Benton, John B Jr NEW74Onyama Limba
1033Tony Z SergiIndia2026-07-18King, Christopher A Esq NEW32Amy Elsner
1034Jeanfrancois I IturbideCanada2026-07-25Benton, John B Jr NEGOTIATION1Bernardo Dominic
1035Wickens Y MacleadRussia2026-07-26Rousseaux, Michael Esq NEGOTIATION33Onyama Limba
1036Stacey Z GarufiAustralia2026-07-22Printing Dimensions NEW12Onyama Limba
1037Jeanfrancois Y StockhamArgentina2026-07-30Dorl, James J Esq NEGOTIATION82Stephen Shaw
1038Maria P RoysterItaly2026-08-06Feltz Printing Service QUALIFIED3Elwin Sharvill
1039Julie Q GlickRussia2026-08-08Feiner Bros PROPOSAL12Asiya Javayant
1040Munro E SaylorsItaly2026-07-20Rangoni Of Florence PROPOSAL4Ioni Bowcher
1041Mayumi M DilliardRussia2026-07-17Feltz Printing Service NEW60Bernardo Dominic
1042Misaki N CampainIndia2026-08-01Chemel, James L Cpa UNQUALIFIED37Anna Fali
1043Cody C WieserArgentina2026-07-23Morlong Associates PROPOSAL37Bernardo Dominic
1044Isabel K NestleItaly2026-07-19Commercial Press RENEWAL79Asiya Javayant
1045Isabel T MaletFrance2026-07-22Feltz Printing Service PROPOSAL17Anna Fali
1046Ricardo K PaprockiUnited Kingdom2026-07-24Feiner Bros NEGOTIATION30Elwin Sharvill
1047Arvin G GauchoJapan2026-07-27Truhlar And Truhlar Attys RENEWAL10Ivan Magalhaes
1048Cody I VocelkaCanada2026-08-07Commercial Press NEW14Onyama Limba
1049Leon O NestleSpain2026-07-19Truhlar And Truhlar Attys RENEWAL10Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Z FollerFranceAmy Elsner NEW
Costa M GlickCanadaElwin Sharvill NEW
Octavia M BologniaFranceStephen Shaw PROPOSAL
Johnson X KuskoBrazilAnna Fali NEGOTIATION
Ivar O MarrierSpainBernardo Dominic NEGOTIATION
Leon E KolmetzIndiaStephen Shaw NEW
Aika W RoysterGermanyIvan Magalhaes NEW
Mayumi W FollerFranceAnna Fali RENEWAL
Clifford F TollnerAustraliaAnna Fali NEW
Morrow U NestleBrazilAsiya Javayant RENEWAL
Julie A PerinBrazilElwin Sharvill RENEWAL
Antonio A BologniaUnited KingdomBernardo Dominic NEW
Maria J CampainGermanyElwin Sharvill PROPOSAL
Salvatore B AmigonUnited KingdomStephen Shaw UNQUALIFIED
Murillo A CaldareraArgentinaXuxue Feng PROPOSAL
Ivar U GauchoRussiaAsiya Javayant QUALIFIED
Alejandro C GillianFranceIvan Magalhaes NEW
Greenwood K StockhamArgentinaElwin Sharvill NEW
Murillo L SchemmerRussiaAsiya Javayant UNQUALIFIED
Chavez L VenereBrazilStephen Shaw NEW
Mayumi U OstroskyFranceBernardo Dominic UNQUALIFIED
Ashley E StockhamItalyAsiya Javayant UNQUALIFIED
Leon U ChuiRussiaAmy Elsner RENEWAL
Kadeem I SergiItalyXuxue Feng RENEWAL
Leja S BologniaGermanyOnyama Limba PROPOSAL
Octavia I DoeCanadaAnna Fali QUALIFIED
Emily F KolmetzSpainXuxue Feng PROPOSAL
Morrow S RoysterBrazilXuxue Feng NEGOTIATION
Julie Y WaycottUnited KingdomOnyama Limba RENEWAL
Nicolas W AmigonRussiaIoni Bowcher QUALIFIED
Aruna L SaylorsGermanyElwin Sharvill QUALIFIED
Aditya I WhobreyAustraliaIvan Magalhaes PROPOSAL
Claire C FollerItalyElwin Sharvill NEW
Leja Y GillianBrazilAsiya Javayant QUALIFIED
Alejandro I VenereIndiaAnna Fali NEGOTIATION
Faith L SchemmerFranceXuxue Feng NEW
Aruna V GillianArgentinaIoni Bowcher PROPOSAL
Emily T SlusarskiRussiaAmy Elsner UNQUALIFIED
Julie X SlusarskiBrazilBernardo Dominic NEGOTIATION
Arvin S PoquetteBrazilStephen Shaw QUALIFIED
Ricardo A FlosiGermanyAnna Fali PROPOSAL
Jefferson A StockhamArgentinaOnyama Limba QUALIFIED
Emily X FollerArgentinaIvan Magalhaes RENEWAL
Sinclair Z CaudyBrazilBernardo Dominic UNQUALIFIED
Wickens Q FlosiArgentinaAsiya Javayant UNQUALIFIED
Wickens Y MaletArgentinaIvan Magalhaes NEGOTIATION
Johnson A MorascaRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois W PaprockiUnited KingdomIoni Bowcher PROPOSAL
Cody H SergiBrazilAnna Fali NEW
Silvio G GillianIndiaBernardo Dominic NEW
Frozen Columns
Name
Munro M Venere
Aruna D Tollner
Jefferson M Nicka
Sinclair D Malet
Leja I Schemmer
Aditya C Venere
Ashley Q Doe
Ivar B Slusarski
James F Doe
Ivar D Tollner
Salvatore G Ferencz
Cody F Dilliard
David C Garufi
Julie E Gaucho
David L Flosi
Chavez K Oldroyd
Clifford K Tollner
Jones M Perin
Stacey C Flosi
Octavia N Caldarera
Greenwood Z Darakjy
Mujtaba C Iturbide
Greenwood V Butt
Murillo H Chui
Jeanfrancois I Vocelka
Darci N Amigon
Francesco O Marrier
Izzy B Waycott
Claire N Paprocki
Adams V Tollner
Cody I Nicka
Emily I Ruta
Clifford O Wieser
Darci F Briddick
Leon G Nicka
Misaki E Royster
Aika G Flosi
Aruna G Caudy
Octavia H Nestle
Silvio O Waycott
Silvio L Foller
Silvio U Rulapaugh
Costa Z Maclead
Cody X Ostrosky
Jefferson S Whobrey
Julie B Darakjy
Kaitlin O Morasca
Leja G Marrier
Izzy R Stockham
Juan M Rulapaugh
IdCountryDate
1000Italy2026-07-18
1001Canada2026-08-08
1002Brazil2026-08-05
1003Australia2026-08-03
1004Canada2026-07-28
1005Germany2026-07-28
1006Italy2026-07-16
1007Brazil2026-08-11
1008Russia2026-07-25
1009Germany2026-08-05
1010United Kingdom2026-08-02
1011Russia2026-07-27
1012Argentina2026-08-08
1013India2026-08-07
1014Spain2026-07-16
1015Spain2026-07-28
1016Canada2026-08-06
1017Germany2026-08-12
1018Brazil2026-07-17
1019United Kingdom2026-08-13
1020Spain2026-08-07
1021Russia2026-07-29
1022India2026-07-27
1023India2026-07-29
1024Russia2026-08-07
1025Brazil2026-07-17
1026Brazil2026-08-10
1027United Kingdom2026-07-22
1028Russia2026-07-30
1029Australia2026-07-29
1030Japan2026-07-16
1031Italy2026-07-27
1032Italy2026-07-24
1033Germany2026-07-31
1034Canada2026-08-02
1035France2026-08-11
1036Brazil2026-07-17
1037Japan2026-07-23
1038Spain2026-07-30
1039India2026-08-10
1040Brazil2026-07-17
1041Brazil2026-08-10
1042Italy2026-08-02
1043Canada2026-07-24
1044Japan2026-07-30
1045Argentina2026-07-22
1046France2026-07-24
1047United Kingdom2026-07-24
1048Germany2026-07-23
1049Australia2026-08-06

On-Demand Data

NameIdCountryDate
Misaki E Flosi1000Argentina2026-08-02
Morrow Z Perin1001Argentina2026-08-06
Tony Y Paprocki1002India2026-07-30
Murillo H Bolognia1003United Kingdom2026-07-29
Arvin X Figeroa1004Australia2026-07-30
Kaitlin H Malet1005Argentina2026-08-11
Ivar F Gaucho1006India2026-07-17
Ivar A Doe1007United Kingdom2026-07-22
Kadeem H Kolmetz1008Spain2026-08-07
Mujtaba D Ruta1009Germany2026-08-04
Jeanfrancois X Flosi1010Spain2026-08-07
Smith S Glick1011Italy2026-08-01
Jennifer D Gillian1012India2026-07-15
Tony N Sergi1013United Kingdom2026-07-18
Aditya L Malet1014Spain2026-08-04
Leja F Campain1015Russia2026-07-16
Francesco H Perin1016Germany2026-08-02
Mayumi G Nestle1017Russia2026-08-06
Aika B Bowley1018Australia2026-08-05
Ricardo H Whobrey1019Brazil2026-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues I StensethAustraliaStephen Shaw NEGOTIATION
Emily L ChuiBrazilStephen Shaw QUALIFIED
Maria G GarufiJapanIoni Bowcher NEGOTIATION
Rodrigues P KuskoGermanyStephen Shaw UNQUALIFIED
Leon T ButtAustraliaAmy Elsner RENEWAL
Faith S DoeFranceAsiya Javayant PROPOSAL
Izzy B MarrierBrazilIvan Magalhaes UNQUALIFIED
Ivar U SaylorsIndiaIvan Magalhaes UNQUALIFIED
Izzy I MaletBrazilIvan Magalhaes PROPOSAL
Smith S DilliardGermanyBernardo Dominic UNQUALIFIED
Johnson U GillianSpainElwin Sharvill NEGOTIATION
Greenwood U VenereIndiaIvan Magalhaes QUALIFIED
Tony X DoeArgentinaAnna Fali QUALIFIED
Silvio A VenereGermanyIvan Magalhaes UNQUALIFIED
Adams N DoeFranceStephen Shaw RENEWAL
Darci B KuskoSpainOnyama Limba QUALIFIED
Misaki F RutaAustraliaOnyama Limba RENEWAL
Adams R FigeroaCanadaIoni Bowcher UNQUALIFIED
Clifford E SchemmerIndiaAnna Fali PROPOSAL
Isabel L PerinJapanIoni Bowcher QUALIFIED
Greenwood H RimFranceIvan Magalhaes NEW
Smith U SergiSpainIoni Bowcher UNQUALIFIED
Leon M FlosiItalyAsiya Javayant UNQUALIFIED
Salvatore O SlusarskiRussiaAmy Elsner NEGOTIATION
Stacey C ButtArgentinaStephen Shaw NEW
Ashley T GauchoJapanOnyama Limba PROPOSAL
Kaitlin A AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford I OstroskyCanadaOnyama Limba QUALIFIED
Ivar W MacleadCanadaAsiya Javayant NEGOTIATION
Greenwood B RoysterGermanyXuxue Feng PROPOSAL
Darci T MorascaArgentinaIoni Bowcher UNQUALIFIED
Silvio D PoquetteIndiaElwin Sharvill NEGOTIATION
David N GlickRussiaOnyama Limba NEW
Leja W FigeroaCanadaAmy Elsner NEW
Jones A FigeroaCanadaIoni Bowcher RENEWAL
Octavia M NickaFranceAnna Fali RENEWAL
Leja T MacleadIndiaStephen Shaw UNQUALIFIED
Morrow W StensethRussiaIvan Magalhaes QUALIFIED
Sinclair A RutaBrazilIvan Magalhaes QUALIFIED
Murillo E MarrierAustraliaIvan Magalhaes 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>