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
Adams I CaudyFranceIoni Bowcher RENEWAL
Antonio V GarufiSpainBernardo Dominic RENEWAL
Silvio F GarufiAustraliaStephen Shaw UNQUALIFIED
Tony P FollerRussiaIvan Magalhaes RENEWAL
Jones L RulapaughCanadaAmy Elsner NEW
Smith I KuskoItalyAnna Fali NEGOTIATION
Juan M TollnerSpainXuxue Feng QUALIFIED
Aditya N NickaJapanIvan Magalhaes QUALIFIED
Darci S FlosiAustraliaAnna Fali NEGOTIATION
Deepesh R GlickJapanIvan Magalhaes QUALIFIED
Claire C SlusarskiCanadaAmy Elsner UNQUALIFIED
David J ChuiSpainStephen Shaw NEGOTIATION
Jennifer C OldroydFranceAmy Elsner QUALIFIED
Misaki C BologniaFranceAmy Elsner RENEWAL
Faith A RoysterAustraliaIoni Bowcher RENEWAL
Clifford U ButtRussiaAmy Elsner PROPOSAL
Costa P GarufiItalyIvan Magalhaes NEGOTIATION
Cody X GauchoCanadaOnyama Limba RENEWAL
Rodrigues P ButtCanadaElwin Sharvill NEW
Aika U NickaFranceElwin Sharvill RENEWAL
Deepesh Z GillianAustraliaBernardo Dominic NEW
Ashley D RulapaughCanadaAnna Fali NEGOTIATION
Clifford J GarufiCanadaIoni Bowcher NEW
Aditya N PoquetteRussiaStephen Shaw PROPOSAL
Faith G FollerIndiaBernardo Dominic QUALIFIED
Ricardo E FollerCanadaAsiya Javayant NEGOTIATION
Wickens E PoquetteFranceAsiya Javayant NEW
Julie W OstroskyBrazilIvan Magalhaes QUALIFIED
Kaitlin W SergiIndiaIvan Magalhaes NEW
Kadeem F AlbaresItalyAmy Elsner UNQUALIFIED
Isabel B SaylorsJapanAmy Elsner NEW
Deepesh R RutaCanadaStephen Shaw PROPOSAL
Aditya S BologniaCanadaAsiya Javayant QUALIFIED
Juan D MorascaSpainAnna Fali PROPOSAL
Mujtaba C MacleadCanadaXuxue Feng PROPOSAL
Isabel P WieserCanadaBernardo Dominic RENEWAL
Kaitlin R NickaRussiaAsiya Javayant QUALIFIED
Darci W OstroskyFranceAsiya Javayant UNQUALIFIED
Kaitlin B BologniaJapanStephen Shaw UNQUALIFIED
Silvio H MorascaRussiaBernardo Dominic RENEWAL
Kaitlin U ChuiCanadaIoni Bowcher NEW
Nicolas Y SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Murillo W VocelkaCanadaAnna Fali PROPOSAL
Clifford S PaprockiUnited KingdomOnyama Limba NEGOTIATION
Ivar O KolmetzAustraliaIoni Bowcher NEW
Leon Q WhobreyFranceBernardo Dominic RENEWAL
David A PoquetteGermanyAnna Fali RENEWAL
Francesco K GauchoIndiaXuxue Feng RENEWAL
Nicolas C GarufiAustraliaIoni Bowcher PROPOSAL
Clifford Q InouyeRussiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin K GauchoSpainStephen Shaw NEW
Antonio K ChuiBrazilStephen Shaw QUALIFIED
Alejandro W SchemmerBrazilOnyama Limba RENEWAL
Misaki L RoysterFranceBernardo Dominic RENEWAL
Octavia T RulapaughJapanOnyama Limba PROPOSAL
James T OldroydFranceOnyama Limba NEW
Maisha R GauchoArgentinaStephen Shaw NEW
Kaitlin F FlosiUnited KingdomBernardo Dominic NEW
Deepesh P OstroskyJapanBernardo Dominic UNQUALIFIED
Mayumi K VocelkaBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja T RimFrance2024-06-24Rousseaux, Michael Esq NEGOTIATION58Bernardo Dominic
1001Silvio L GarufiArgentina2024-06-10Rousseaux, Michael Esq QUALIFIED15Bernardo Dominic
1002Arvin K ChuiFrance2024-06-08Chapman, Ross E Esq UNQUALIFIED63Ivan Magalhaes
1003Rodrigues G CaldareraIndia2024-05-27Feiner Bros NEW53Ioni Bowcher
1004Juan R KolmetzArgentina2024-06-02Feiner Bros PROPOSAL90Ioni Bowcher
1005Wickens P ShinkoAustralia2024-06-08Chemel, James L Cpa RENEWAL97Ioni Bowcher
1006Emily E MaletJapan2024-06-16Buckley Miller Wright PROPOSAL77Anna Fali
1007Arvin H StensethArgentina2024-05-27Benton, John B Jr NEW47Bernardo Dominic
1008Silvio S OldroydCanada2024-05-26Rousseaux, Michael Esq PROPOSAL61Onyama Limba
1009Morrow U IturbideItaly2024-06-19King, Christopher A Esq QUALIFIED1Onyama Limba
1010David D PoquetteAustralia2024-06-07Benton, John B Jr QUALIFIED50Ivan Magalhaes
1011Salvatore Q IturbideIndia2024-06-23Chanay, Jeffrey A Esq NEW45Ioni Bowcher
1012Leja R ShinkoIndia2024-06-17Rangoni Of Florence QUALIFIED40Onyama Limba
1013Leja Z AlbaresSpain2024-06-02King, Christopher A Esq NEW74Stephen Shaw
1014Murillo N DarakjySpain2024-06-20Benton, John B Jr NEGOTIATION86Amy Elsner
1015Stacey X SergiUnited Kingdom2024-06-09Rousseaux, Michael Esq PROPOSAL20Anna Fali
1016Juan Y GauchoItaly2024-06-24Chapman, Ross E Esq NEGOTIATION26Bernardo Dominic
1017Rodrigues P GauchoUnited Kingdom2024-06-08Rousseaux, Michael Esq NEW62Anna Fali
1018Emily D TollnerCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION78Xuxue Feng
1019Maisha F VocelkaJapan2024-06-14Feiner Bros PROPOSAL34Ioni Bowcher
1020Antonio Y SlusarskiFrance2024-06-13Benton, John B Jr NEW4Amy Elsner
1021Leja O StensethAustralia2024-05-31Chapman, Ross E Esq QUALIFIED75Anna Fali
1022Costa X SaylorsCanada2024-06-12Chanay, Jeffrey A Esq NEW10Amy Elsner
1023Stacey U NestleFrance2024-06-24King, Christopher A Esq NEW93Onyama Limba
1024Leja A GarufiIndia2024-06-10Buckley Miller Wright NEGOTIATION65Onyama Limba
1025Munro K SaylorsIndia2024-06-05Printing Dimensions PROPOSAL63Bernardo Dominic
1026Alejandro B GarufiAustralia2024-06-05Feltz Printing Service NEW21Ioni Bowcher
1027Tony W ButtArgentina2024-06-13Rousseaux, Michael Esq NEW8Bernardo Dominic
1028Izzy M BologniaAustralia2024-05-28Benton, John B Jr PROPOSAL98Elwin Sharvill
1029Aruna E WhobreyGermany2024-06-15Dorl, James J Esq RENEWAL50Elwin Sharvill
1030Aditya I MacleadAustralia2024-06-21Chapman, Ross E Esq PROPOSAL0Amy Elsner
1031Jeanfrancois F MorascaAustralia2024-06-14Benton, John B Jr UNQUALIFIED85Stephen Shaw
1032Juan G RimAustralia2024-06-02Rangoni Of Florence NEW44Bernardo Dominic
1033Isabel Y OldroydUnited Kingdom2024-06-21Dorl, James J Esq PROPOSAL6Stephen Shaw
1034Izzy Y GillianSpain2024-06-24Chanay, Jeffrey A Esq UNQUALIFIED18Anna Fali
1035Deepesh K GauchoRussia2024-06-08Rousseaux, Michael Esq NEW16Onyama Limba
1036Izzy U BriddickIndia2024-06-12Morlong Associates QUALIFIED30Amy Elsner
1037Stacey I OstroskySpain2024-05-29King, Christopher A Esq NEW37Ioni Bowcher
1038Cody E FlosiGermany2024-05-27Morlong Associates NEW81Onyama Limba
1039Greenwood E FollerJapan2024-05-28Rousseaux, Michael Esq QUALIFIED80Xuxue Feng
1040Greenwood K IturbideAustralia2024-06-20Chanay, Jeffrey A Esq NEGOTIATION25Amy Elsner
1041Jennifer T GarufiArgentina2024-06-14Commercial Press RENEWAL71Elwin Sharvill
1042Arvin M MaletArgentina2024-06-14Rangoni Of Florence NEGOTIATION35Amy Elsner
1043Clifford V CampainArgentina2024-06-22King, Christopher A Esq UNQUALIFIED99Amy Elsner
1044Julie P VenereJapan2024-05-26Commercial Press RENEWAL5Anna Fali
1045Greenwood D NickaAustralia2024-06-02Commercial Press UNQUALIFIED27Amy Elsner
1046Aruna K RulapaughRussia2024-06-22Truhlar And Truhlar Attys RENEWAL26Bernardo Dominic
1047Salvatore F WhobreyJapan2024-06-11Printing Dimensions UNQUALIFIED60Bernardo Dominic
1048Jefferson V RulapaughAustralia2024-06-04Truhlar And Truhlar Attys RENEWAL81Anna Fali
1049Stacey K WhobreyJapan2024-06-19Dorl, James J Esq NEGOTIATION66Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Chavez Q AmigonSpainAsiya Javayant NEW
Johnson Y RulapaughBrazilElwin Sharvill NEW
Ivar I MaletIndiaIvan Magalhaes PROPOSAL
Darci S ButtCanadaIoni Bowcher UNQUALIFIED
Arvin U BowleyGermanyIvan Magalhaes NEW
Cody B PoquetteAustraliaOnyama Limba PROPOSAL
Cody G TollnerRussiaIvan Magalhaes PROPOSAL
Jones B WhobreyUnited KingdomAsiya Javayant QUALIFIED
Costa Q FerenczUnited KingdomOnyama Limba UNQUALIFIED
Arvin R IturbideFranceStephen Shaw QUALIFIED
Octavia A WieserRussiaBernardo Dominic RENEWAL
Julie X FigeroaItalyElwin Sharvill UNQUALIFIED
Jennifer O AmigonGermanyBernardo Dominic NEGOTIATION
Leon I GauchoSpainIoni Bowcher RENEWAL
Clifford Z ChuiCanadaStephen Shaw QUALIFIED
Mujtaba P RoysterJapanElwin Sharvill NEW
James Z GillianAustraliaAsiya Javayant RENEWAL
Kaitlin L PaprockiBrazilXuxue Feng NEW
Julie W WieserCanadaAsiya Javayant NEW
Maisha E DarakjyRussiaXuxue Feng RENEWAL
Jefferson Z SaylorsCanadaBernardo Dominic NEGOTIATION
Octavia P AlbaresJapanElwin Sharvill NEGOTIATION
Izzy X NestleSpainXuxue Feng NEW
Julie O FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Aika Q MaletArgentinaElwin Sharvill PROPOSAL
Francesco H OldroydArgentinaIoni Bowcher QUALIFIED
Antonio A BriddickBrazilBernardo Dominic QUALIFIED
Mujtaba J OstroskyIndiaAmy Elsner PROPOSAL
Jefferson R SlusarskiAustraliaStephen Shaw NEGOTIATION
Leon S WhobreyAustraliaAsiya Javayant RENEWAL
Deepesh Z NickaFranceStephen Shaw PROPOSAL
Cody G NickaRussiaIoni Bowcher UNQUALIFIED
Ivar T IturbideGermanyStephen Shaw PROPOSAL
Stacey O ButtJapanIvan Magalhaes RENEWAL
Tony E TollnerSpainAsiya Javayant PROPOSAL
Leon H DilliardRussiaIvan Magalhaes UNQUALIFIED
Salvatore P InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Francesco Y FollerCanadaIoni Bowcher PROPOSAL
Smith O TollnerJapanAsiya Javayant PROPOSAL
Juan R ButtCanadaAsiya Javayant PROPOSAL
Costa Z KolmetzJapanElwin Sharvill NEW
Deepesh R OldroydRussiaIoni Bowcher PROPOSAL
Jones M WieserBrazilAsiya Javayant NEGOTIATION
Cody R StensethSpainIvan Magalhaes UNQUALIFIED
Morrow R BologniaGermanyAmy Elsner UNQUALIFIED
Smith H VenereJapanXuxue Feng PROPOSAL
Deepesh Y SaylorsSpainElwin Sharvill QUALIFIED
Juan M BriddickUnited KingdomIoni Bowcher NEW
Alejandro U NestleCanadaAmy Elsner NEW
Darci X KolmetzCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Izzy F Nestle
Isabel P Figeroa
Ashley X Saylors
Ashley N Ruta
Leja L Perin
Aika E Venere
Faith G Waycott
Leja T Caldarera
Claire R Doe
Isabel Y Perin
Ashley H Bolognia
Jennifer I Briddick
Ricardo P Rim
Jeanfrancois V Stenseth
Faith Z Saylors
Maria D Briddick
Jefferson T Chui
Smith S Iturbide
Jefferson T Stenseth
Jefferson T Morasca
Jeanfrancois O Marrier
Leon W Sergi
Salvatore S Shinko
Ivar S Darakjy
Kadeem K Schemmer
James P Marrier
Johnson A Albares
Izzy K Stockham
Julie U Amigon
Leja X Chui
Jeanfrancois O Kolmetz
Francesco H Caldarera
Tony P Perin
James F Tollner
Izzy P Ruta
Rodrigues Y Caldarera
Aruna V Caldarera
Julie E Garufi
Sinclair A Wieser
Tony B Gaucho
Smith A Campain
Smith C Ferencz
Maisha A Caudy
Mujtaba V Ostrosky
Ashley U Iturbide
Mayumi M Tollner
Francesco D Doe
Smith M Ruta
Alejandro Z Paprocki
Kadeem L Foller
IdCountryDate
1000Brazil2024-06-19
1001Germany2024-06-16
1002Germany2024-06-23
1003Italy2024-06-08
1004Spain2024-06-04
1005Italy2024-06-23
1006France2024-06-19
1007Germany2024-06-22
1008Spain2024-06-16
1009France2024-05-26
1010Italy2024-06-07
1011Russia2024-06-02
1012Australia2024-06-09
1013United Kingdom2024-06-23
1014Australia2024-06-03
1015Russia2024-06-22
1016United Kingdom2024-06-14
1017Brazil2024-06-11
1018Germany2024-05-31
1019Canada2024-05-29
1020India2024-05-27
1021Spain2024-06-03
1022Italy2024-06-23
1023Canada2024-06-20
1024Germany2024-05-28
1025Australia2024-06-15
1026Russia2024-05-28
1027Italy2024-05-30
1028Spain2024-05-29
1029Australia2024-06-21
1030Spain2024-06-08
1031Russia2024-06-03
1032Argentina2024-06-05
1033Australia2024-06-13
1034Australia2024-05-26
1035Spain2024-06-08
1036India2024-06-15
1037Argentina2024-06-13
1038Japan2024-06-20
1039Japan2024-06-21
1040Japan2024-06-14
1041Japan2024-05-29
1042Italy2024-06-01
1043Argentina2024-06-05
1044India2024-05-26
1045Canada2024-06-11
1046Japan2024-06-21
1047Argentina2024-05-31
1048United Kingdom2024-06-02
1049Germany2024-06-09

On-Demand Data

NameIdCountryDate
Cody R Poquette1000India2024-06-24
Octavia Q Whobrey1001United Kingdom2024-06-13
Francesco W Chui1002Spain2024-05-27
Darci I Royster1003Brazil2024-05-28
Aditya K Tollner1004Argentina2024-06-05
Jennifer P Rulapaugh1005Australia2024-05-29
Mujtaba S Waycott1006France2024-06-22
Maisha I Campain1007Brazil2024-06-08
Jeanfrancois E Schemmer1008United Kingdom2024-06-24
Aika Y Wieser1009Italy2024-06-03
Smith E Venere1010India2024-06-04
Nicolas T Royster1011United Kingdom2024-06-24
Stacey T Paprocki1012Japan2024-06-17
Leon P Caldarera1013United Kingdom2024-06-22
Murillo M Rim1014Canada2024-06-11
Ivar P Tollner1015Argentina2024-06-20
Kadeem U Nicka1016United Kingdom2024-06-07
Mujtaba F Flosi1017India2024-06-05
Morrow D Albares1018Argentina2024-06-17
Darci M Morasca1019Canada2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson L AmigonCanadaStephen Shaw UNQUALIFIED
Adams R SlusarskiFranceXuxue Feng RENEWAL
Sinclair C RoysterIndiaAmy Elsner NEGOTIATION
David P WhobreyFranceOnyama Limba PROPOSAL
Francesco C RimRussiaStephen Shaw RENEWAL
Costa N RulapaughIndiaOnyama Limba PROPOSAL
Jennifer K GillianArgentinaOnyama Limba NEW
Julie E SchemmerBrazilAsiya Javayant NEW
Salvatore B PerinSpainIoni Bowcher NEGOTIATION
David L IturbideIndiaElwin Sharvill RENEWAL
James Y StensethFranceAmy Elsner PROPOSAL
Cody S RimArgentinaOnyama Limba NEGOTIATION
Rodrigues H OstroskyGermanyOnyama Limba UNQUALIFIED
Salvatore X NickaIndiaElwin Sharvill UNQUALIFIED
Ricardo R VenereGermanyXuxue Feng NEW
Emily Y FerenczFranceElwin Sharvill NEW
Ricardo H KolmetzRussiaXuxue Feng NEW
Misaki Z GarufiIndiaElwin Sharvill NEW
Sinclair P NickaArgentinaXuxue Feng PROPOSAL
Adams U RimRussiaOnyama Limba NEGOTIATION
Julie D MaletCanadaIoni Bowcher UNQUALIFIED
James E PoquetteCanadaOnyama Limba NEW
Maisha U MarrierRussiaStephen Shaw RENEWAL
Wickens Y FollerAustraliaBernardo Dominic UNQUALIFIED
Cody F MaletJapanIoni Bowcher PROPOSAL
Ricardo C KuskoItalyIvan Magalhaes QUALIFIED
Faith Q CaldareraSpainElwin Sharvill RENEWAL
Francesco P AmigonCanadaIoni Bowcher NEGOTIATION
Leon W PerinSpainAsiya Javayant NEGOTIATION
Salvatore D OldroydUnited KingdomStephen Shaw QUALIFIED
Greenwood O TollnerAustraliaIoni Bowcher RENEWAL
Ashley O GauchoGermanyElwin Sharvill NEW
Antonio X DarakjyJapanBernardo Dominic NEW
Maisha Y SergiCanadaElwin Sharvill UNQUALIFIED
Octavia Z BologniaJapanElwin Sharvill QUALIFIED
Kadeem F AlbaresCanadaAnna Fali NEGOTIATION
Izzy F AlbaresGermanyXuxue Feng QUALIFIED
Darci G SergiItalyOnyama Limba NEW
Izzy L RimRussiaAnna Fali UNQUALIFIED
Juan E BologniaFranceAmy 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>