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
Smith C NestleAustraliaIvan Magalhaes RENEWAL
Jefferson W MorascaIndiaAsiya Javayant QUALIFIED
Mayumi E MorascaSpainXuxue Feng RENEWAL
Tony D ShinkoBrazilElwin Sharvill RENEWAL
Sinclair R WaycottGermanyAsiya Javayant PROPOSAL
Isabel D RoysterBrazilAnna Fali PROPOSAL
Leon Z RutaBrazilIoni Bowcher UNQUALIFIED
Jones G OldroydJapanIoni Bowcher RENEWAL
Octavia V SchemmerBrazilBernardo Dominic NEW
Juan K MarrierRussiaStephen Shaw PROPOSAL
Isabel W BowleyGermanyXuxue Feng UNQUALIFIED
Darci P SergiItalyOnyama Limba RENEWAL
Jones V KuskoBrazilOnyama Limba QUALIFIED
Izzy A FigeroaAustraliaAmy Elsner RENEWAL
Adams B OldroydSpainStephen Shaw RENEWAL
Murillo L OstroskyCanadaBernardo Dominic PROPOSAL
Octavia K TollnerArgentinaStephen Shaw QUALIFIED
Misaki S GillianSpainAsiya Javayant NEW
Isabel G GarufiFranceStephen Shaw PROPOSAL
Mayumi X GlickAustraliaBernardo Dominic QUALIFIED
Mayumi L NickaCanadaElwin Sharvill QUALIFIED
Chavez U GarufiBrazilIvan Magalhaes NEW
Emily L GlickIndiaBernardo Dominic RENEWAL
Smith O DarakjyArgentinaAmy Elsner NEGOTIATION
Isabel A ChuiFranceAnna Fali UNQUALIFIED
Salvatore H RulapaughIndiaStephen Shaw QUALIFIED
Kaitlin F FollerCanadaIvan Magalhaes NEW
Isabel I VenereJapanBernardo Dominic RENEWAL
James N NestleSpainXuxue Feng NEW
Claire W KolmetzGermanyBernardo Dominic QUALIFIED
Murillo S NickaIndiaElwin Sharvill NEW
Murillo C FollerGermanyAsiya Javayant QUALIFIED
Leja D ShinkoArgentinaBernardo Dominic UNQUALIFIED
Sinclair H StensethUnited KingdomAmy Elsner RENEWAL
Antonio D PoquetteItalyIoni Bowcher RENEWAL
Salvatore S SlusarskiRussiaIoni Bowcher NEGOTIATION
Juan B DilliardIndiaAnna Fali UNQUALIFIED
Murillo U ChuiBrazilAsiya Javayant PROPOSAL
Ivar B DilliardArgentinaOnyama Limba PROPOSAL
Mayumi T GlickAustraliaStephen Shaw NEW
Arvin R PerinFranceAnna Fali NEGOTIATION
Kadeem B PerinUnited KingdomAsiya Javayant RENEWAL
Ivar O FigeroaJapanAsiya Javayant UNQUALIFIED
Izzy N BowleyIndiaAmy Elsner QUALIFIED
Leon H ButtSpainAsiya Javayant RENEWAL
Juan Z CaldareraAustraliaAnna Fali NEGOTIATION
David U StensethItalyStephen Shaw NEW
Aruna M BriddickIndiaAmy Elsner NEW
Mujtaba H FigeroaJapanElwin Sharvill PROPOSAL
Stacey Y CaldareraBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin V InouyeRussiaBernardo Dominic UNQUALIFIED
Chavez C RoysterBrazilXuxue Feng QUALIFIED
Emily M PaprockiJapanStephen Shaw PROPOSAL
Murillo T KolmetzIndiaAnna Fali NEGOTIATION
Juan A KuskoFranceAnna Fali QUALIFIED
Aruna U NestleCanadaXuxue Feng NEW
Izzy A ShinkoGermanyAmy Elsner NEGOTIATION
Isabel Z BriddickBrazilBernardo Dominic NEW
Jennifer S GauchoArgentinaIoni Bowcher NEGOTIATION
Murillo I MaletIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois X PaprockiUnited Kingdom2024-06-15Buckley Miller Wright NEGOTIATION11Ioni Bowcher
1001Cody Z SchemmerIndia2024-06-03Dorl, James J Esq RENEWAL44Anna Fali
1002Arvin W AmigonItaly2024-06-15Commercial Press QUALIFIED56Xuxue Feng
1003Cody J WaycottIndia2024-06-18Printing Dimensions QUALIFIED1Amy Elsner
1004Deepesh K KolmetzUnited Kingdom2024-06-07Rousseaux, Michael Esq QUALIFIED67Anna Fali
1005Costa R OstroskyUnited Kingdom2024-06-11Rousseaux, Michael Esq NEW44Ioni Bowcher
1006Rodrigues L CaudyUnited Kingdom2024-05-28Chanay, Jeffrey A Esq PROPOSAL23Stephen Shaw
1007Johnson O SaylorsAustralia2024-06-17Rangoni Of Florence PROPOSAL78Elwin Sharvill
1008Clifford F FollerRussia2024-06-22Feiner Bros QUALIFIED6Bernardo Dominic
1009Morrow K CampainUnited Kingdom2024-06-22King, Christopher A Esq QUALIFIED48Elwin Sharvill
1010Leja X DilliardArgentina2024-06-10Feltz Printing Service NEW1Ivan Magalhaes
1011Aika R ChuiAustralia2024-06-11Chapman, Ross E Esq RENEWAL20Stephen Shaw
1012Johnson R FollerArgentina2024-06-01Buckley Miller Wright RENEWAL47Bernardo Dominic
1013Silvio D BriddickFrance2024-05-28Benton, John B Jr NEW65Stephen Shaw
1014David A ShinkoRussia2024-06-12Dorl, James J Esq PROPOSAL21Amy Elsner
1015Clifford O NickaBrazil2024-05-27Truhlar And Truhlar Attys RENEWAL10Amy Elsner
1016Octavia R GarufiSpain2024-06-02Morlong Associates PROPOSAL94Amy Elsner
1017Juan O KolmetzArgentina2024-05-29Truhlar And Truhlar Attys UNQUALIFIED89Asiya Javayant
1018Leja J PoquetteRussia2024-06-12Chapman, Ross E Esq NEW98Elwin Sharvill
1019Jeanfrancois J ButtArgentina2024-05-24Buckley Miller Wright UNQUALIFIED98Ioni Bowcher
1020Tony B RoysterCanada2024-06-17Dorl, James J Esq RENEWAL35Xuxue Feng
1021Leon T PerinJapan2024-06-14Truhlar And Truhlar Attys NEW95Anna Fali
1022Ricardo X BowleySpain2024-05-28Rousseaux, Michael Esq NEW29Ivan Magalhaes
1023Aruna B FerenczUnited Kingdom2024-05-28Commercial Press PROPOSAL85Xuxue Feng
1024Ivar F VocelkaJapan2024-06-01Commercial Press RENEWAL85Anna Fali
1025Stacey K AmigonAustralia2024-06-02Morlong Associates PROPOSAL41Asiya Javayant
1026Darci E ChuiGermany2024-06-16Feltz Printing Service PROPOSAL25Anna Fali
1027David A MacleadIndia2024-06-21Printing Dimensions PROPOSAL40Anna Fali
1028Stacey D FerenczUnited Kingdom2024-06-12Benton, John B Jr QUALIFIED80Anna Fali
1029Aika Y BowleyFrance2024-05-26Rousseaux, Michael Esq NEW75Onyama Limba
1030Emily J BowleyJapan2024-06-10Feiner Bros RENEWAL32Stephen Shaw
1031Chavez N MarrierRussia2024-06-22Truhlar And Truhlar Attys UNQUALIFIED71Bernardo Dominic
1032Misaki J ButtArgentina2024-06-13King, Christopher A Esq QUALIFIED94Elwin Sharvill
1033Nicolas M KuskoRussia2024-06-21King, Christopher A Esq PROPOSAL75Bernardo Dominic
1034Juan R RoysterItaly2024-05-27Rousseaux, Michael Esq NEW73Ioni Bowcher
1035Misaki L PoquetteGermany2024-06-11Feiner Bros UNQUALIFIED9Xuxue Feng
1036Francesco U OstroskyGermany2024-06-07Morlong Associates PROPOSAL63Bernardo Dominic
1037Leja E MaletCanada2024-06-10Truhlar And Truhlar Attys PROPOSAL61Ioni Bowcher
1038Aruna H PaprockiJapan2024-06-12Rangoni Of Florence PROPOSAL19Amy Elsner
1039Octavia C NestleCanada2024-06-02Feiner Bros UNQUALIFIED81Ioni Bowcher
1040Kaitlin G CaudyFrance2024-06-06Buckley Miller Wright UNQUALIFIED11Ioni Bowcher
1041Jones M SchemmerJapan2024-06-12Buckley Miller Wright QUALIFIED89Anna Fali
1042Maisha I InouyeFrance2024-06-09Benton, John B Jr NEW46Stephen Shaw
1043Leon L GarufiItaly2024-06-04Commercial Press NEGOTIATION54Asiya Javayant
1044Leon I PoquetteRussia2024-06-11Commercial Press RENEWAL3Elwin Sharvill
1045Munro S TollnerAustralia2024-05-26Chemel, James L Cpa QUALIFIED91Anna Fali
1046Maisha D FigeroaArgentina2024-05-28Chanay, Jeffrey A Esq RENEWAL97Bernardo Dominic
1047Munro C BriddickCanada2024-06-02King, Christopher A Esq PROPOSAL95Onyama Limba
1048Ashley Y StockhamSpain2024-06-16Chemel, James L Cpa QUALIFIED3Asiya Javayant
1049Cody B RulapaughAustralia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED38Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y BriddickRussiaBernardo Dominic NEGOTIATION
Murillo G NestleSpainStephen Shaw PROPOSAL
Salvatore K DilliardIndiaOnyama Limba UNQUALIFIED
Stacey K SaylorsSpainIvan Magalhaes NEGOTIATION
Jennifer Q SlusarskiRussiaAsiya Javayant RENEWAL
Stacey I FollerJapanAnna Fali UNQUALIFIED
Cody Q GauchoRussiaIvan Magalhaes UNQUALIFIED
Sinclair T RutaAustraliaElwin Sharvill RENEWAL
Salvatore J SchemmerArgentinaBernardo Dominic NEGOTIATION
Ricardo U WaycottItalyElwin Sharvill UNQUALIFIED
David H WieserSpainBernardo Dominic RENEWAL
James N VenereAustraliaIoni Bowcher RENEWAL
Isabel S CaudyAustraliaAnna Fali UNQUALIFIED
Isabel X BriddickCanadaXuxue Feng PROPOSAL
Maisha P MorascaArgentinaIoni Bowcher RENEWAL
Chavez Z RoysterItalyBernardo Dominic NEW
James G WhobreyArgentinaXuxue Feng RENEWAL
Nicolas A GarufiCanadaIvan Magalhaes UNQUALIFIED
Johnson T SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Deepesh G AmigonIndiaAmy Elsner QUALIFIED
Mayumi K KolmetzRussiaElwin Sharvill RENEWAL
Rodrigues K KuskoArgentinaAnna Fali QUALIFIED
Mayumi Q CaldareraBrazilXuxue Feng PROPOSAL
Johnson L MorascaJapanElwin Sharvill PROPOSAL
Deepesh O IturbideFranceAsiya Javayant UNQUALIFIED
Aika X StensethIndiaStephen Shaw UNQUALIFIED
Aruna K StensethJapanElwin Sharvill NEW
Isabel D TollnerItalyIoni Bowcher RENEWAL
Ricardo B VocelkaSpainXuxue Feng UNQUALIFIED
David I DilliardCanadaIvan Magalhaes NEW
Alejandro L RoysterCanadaIoni Bowcher PROPOSAL
Ivar W FollerAustraliaElwin Sharvill PROPOSAL
James O PaprockiItalyXuxue Feng NEW
Adams Y ShinkoArgentinaIvan Magalhaes PROPOSAL
Murillo R VocelkaGermanyIvan Magalhaes UNQUALIFIED
Francesco V BowleyJapanIoni Bowcher NEW
Nicolas W InouyeFranceElwin Sharvill RENEWAL
Jefferson W BowleyFranceStephen Shaw UNQUALIFIED
Francesco M NestleJapanAsiya Javayant QUALIFIED
Antonio J PerinBrazilElwin Sharvill PROPOSAL
Francesco P WhobreyCanadaStephen Shaw RENEWAL
Greenwood A KuskoJapanIoni Bowcher UNQUALIFIED
Jeanfrancois A NickaCanadaOnyama Limba NEW
Ashley Z VenereBrazilAsiya Javayant QUALIFIED
Jefferson P ShinkoArgentinaXuxue Feng NEGOTIATION
Leja S FollerBrazilXuxue Feng UNQUALIFIED
Aika F GlickFranceXuxue Feng PROPOSAL
Leon R MaletGermanyAnna Fali RENEWAL
Sinclair T CampainArgentinaAmy Elsner RENEWAL
Maria R NickaJapanAsiya Javayant RENEWAL
Frozen Columns
Name
Darci R Paprocki
Clifford Q Iturbide
Tony C Oldroyd
Maisha K Nestle
Aditya L Gaucho
Misaki F Darakjy
Ricardo B Darakjy
Darci U Nestle
Kaitlin X Shinko
David X Amigon
Rodrigues D Saylors
Aika L Kolmetz
Claire X Saylors
David U Kusko
Wickens O Slusarski
Morrow D Venere
David S Paprocki
Murillo J Albares
Mujtaba S Inouye
Adams B Gaucho
Johnson I Darakjy
Maria N Gillian
Murillo V Oldroyd
Julie N Gillian
Juan I Royster
David U Morasca
Aruna F Shinko
Alejandro O Inouye
Emily I Kusko
Deepesh Z Paprocki
Faith X Gaucho
Darci N Royster
Octavia V Wieser
Johnson S Ferencz
Ricardo A Flosi
Munro I Nicka
Faith E Foller
Faith K Rulapaugh
Ricardo I Maclead
Francesco D Bolognia
Kadeem W Oldroyd
Arvin S Campain
Kaitlin C Inouye
Maria V Wieser
Claire C Albares
Julie A Bowley
Aruna W Chui
Alejandro D Garufi
Clifford Z Bolognia
Julie V Bolognia
IdCountryDate
1000United Kingdom2024-06-17
1001India2024-06-16
1002Argentina2024-05-25
1003Russia2024-06-11
1004Italy2024-05-28
1005Spain2024-05-29
1006Germany2024-06-13
1007Japan2024-06-03
1008Italy2024-05-30
1009Italy2024-06-22
1010United Kingdom2024-06-07
1011Germany2024-06-16
1012Italy2024-06-17
1013Spain2024-06-06
1014Argentina2024-05-29
1015Germany2024-05-24
1016Argentina2024-06-15
1017Brazil2024-06-06
1018Germany2024-05-29
1019Spain2024-06-02
1020Germany2024-05-25
1021Germany2024-05-31
1022United Kingdom2024-06-02
1023Germany2024-05-24
1024France2024-06-02
1025United Kingdom2024-06-02
1026Russia2024-06-12
1027France2024-06-22
1028Russia2024-06-18
1029Germany2024-06-05
1030Brazil2024-05-31
1031Japan2024-05-30
1032France2024-06-12
1033Germany2024-06-10
1034Spain2024-06-11
1035Germany2024-05-30
1036Canada2024-06-12
1037Canada2024-05-28
1038Germany2024-06-14
1039Argentina2024-06-20
1040Australia2024-05-24
1041Spain2024-06-05
1042Italy2024-06-07
1043India2024-06-09
1044Spain2024-06-17
1045Argentina2024-05-27
1046Argentina2024-05-29
1047Brazil2024-06-04
1048Germany2024-06-04
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Maria O Garufi1000India2024-06-09
Rodrigues J Kolmetz1001Japan2024-06-04
Maria Q Bowley1002Brazil2024-06-03
Leja L Slusarski1003Canada2024-06-04
Deepesh R Caldarera1004Brazil2024-06-09
Emily F Rulapaugh1005Brazil2024-06-20
David R Darakjy1006Russia2024-05-26
Adams O Shinko1007France2024-05-29
Wickens Z Butt1008Japan2024-05-29
Salvatore I Caldarera1009Argentina2024-06-10
Morrow X Rim1010Japan2024-06-16
Greenwood O Stenseth1011Russia2024-05-24
Alejandro O Shinko1012Australia2024-05-25
Octavia O Chui1013Canada2024-06-06
Ashley S Bowley1014Italy2024-06-15
Leja K Bowley1015Italy2024-06-13
James C Wieser1016Russia2024-06-04
Salvatore W Chui1017Italy2024-06-15
Sinclair V Venere1018Germany2024-06-07
Julie J Chui1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood J KolmetzItalyAmy Elsner NEGOTIATION
Mujtaba I KolmetzBrazilIvan Magalhaes NEGOTIATION
Greenwood G IturbideCanadaOnyama Limba UNQUALIFIED
Jones W NestleUnited KingdomBernardo Dominic QUALIFIED
Tony Y WaycottArgentinaStephen Shaw NEW
Wickens Q ChuiFranceAnna Fali RENEWAL
Emily J CaudyIndiaStephen Shaw QUALIFIED
Maria R PerinIndiaAsiya Javayant PROPOSAL
Jennifer M FigeroaItalyElwin Sharvill QUALIFIED
Leja J CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Claire Q InouyeSpainAnna Fali QUALIFIED
Jeanfrancois H WhobreySpainIvan Magalhaes RENEWAL
Greenwood U SchemmerArgentinaOnyama Limba RENEWAL
James A VenereCanadaBernardo Dominic PROPOSAL
Kadeem Y IturbideRussiaElwin Sharvill NEW
Smith K BowleyAustraliaOnyama Limba QUALIFIED
Munro I StockhamRussiaElwin Sharvill QUALIFIED
Chavez U ButtCanadaElwin Sharvill PROPOSAL
Juan K DilliardFranceStephen Shaw NEGOTIATION
Izzy U OstroskyAustraliaAnna Fali PROPOSAL
Smith L KuskoRussiaAnna Fali RENEWAL
Greenwood U MaletIndiaAnna Fali PROPOSAL
Darci E NickaGermanyBernardo Dominic PROPOSAL
Deepesh T MacleadItalyIvan Magalhaes QUALIFIED
Ricardo V AlbaresArgentinaBernardo Dominic RENEWAL
Sinclair D PaprockiItalyStephen Shaw NEW
Isabel I FollerBrazilAmy Elsner QUALIFIED
Aruna S IturbideJapanIoni Bowcher QUALIFIED
Leon B RimBrazilOnyama Limba NEW
David P DilliardArgentinaIvan Magalhaes NEW
Julie J CampainBrazilBernardo Dominic NEW
Deepesh S StockhamIndiaOnyama Limba UNQUALIFIED
Ricardo A DoeItalyOnyama Limba RENEWAL
Misaki B CampainFranceIvan Magalhaes UNQUALIFIED
David L PaprockiArgentinaXuxue Feng UNQUALIFIED
Costa Y PoquetteRussiaIoni Bowcher PROPOSAL
Ricardo T RimAustraliaBernardo Dominic UNQUALIFIED
Mayumi J ButtItalyIvan Magalhaes NEW
Chavez F MaletJapanOnyama Limba NEGOTIATION
Emily I AlbaresItalyAsiya Javayant 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>