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
Misaki T CampainSpainIvan Magalhaes RENEWAL
Maisha O OldroydIndiaIvan Magalhaes QUALIFIED
Octavia V AlbaresBrazilBernardo Dominic QUALIFIED
Greenwood R GauchoSpainAnna Fali RENEWAL
Ricardo Y NestleUnited KingdomBernardo Dominic PROPOSAL
Aruna X GlickAustraliaBernardo Dominic NEW
Faith M InouyeGermanyBernardo Dominic PROPOSAL
Munro S MorascaFranceOnyama Limba NEGOTIATION
Jennifer X BologniaJapanAsiya Javayant UNQUALIFIED
Greenwood E MacleadSpainAmy Elsner UNQUALIFIED
Ricardo N OldroydRussiaStephen Shaw RENEWAL
Cody D VocelkaBrazilBernardo Dominic RENEWAL
Smith S BowleyFranceXuxue Feng NEW
Murillo U NestleFranceXuxue Feng RENEWAL
Greenwood K RoysterSpainElwin Sharvill PROPOSAL
Jones N RutaGermanyAsiya Javayant UNQUALIFIED
Greenwood V KolmetzSpainIvan Magalhaes PROPOSAL
Maria G CaudyGermanyElwin Sharvill UNQUALIFIED
Morrow A NickaUnited KingdomStephen Shaw QUALIFIED
Wickens O GillianBrazilBernardo Dominic NEW
Faith R GauchoRussiaBernardo Dominic QUALIFIED
Alejandro D TollnerGermanyElwin Sharvill PROPOSAL
Rodrigues Q WaycottGermanyAmy Elsner PROPOSAL
Antonio E DilliardJapanIvan Magalhaes RENEWAL
Silvio M RulapaughGermanyIvan Magalhaes PROPOSAL
Stacey U RulapaughUnited KingdomOnyama Limba NEW
Smith E NickaFranceAmy Elsner RENEWAL
Kadeem A AmigonItalyAmy Elsner RENEWAL
Emily T KolmetzIndiaAmy Elsner NEW
Alejandro F VenereFranceElwin Sharvill PROPOSAL
Silvio C VenereRussiaIoni Bowcher RENEWAL
Costa R FigeroaIndiaIvan Magalhaes QUALIFIED
Arvin F SergiCanadaIvan Magalhaes NEW
Mujtaba W FerenczRussiaAnna Fali UNQUALIFIED
Aruna G OstroskySpainOnyama Limba QUALIFIED
Aruna B AmigonIndiaXuxue Feng UNQUALIFIED
Salvatore D SlusarskiFranceIoni Bowcher QUALIFIED
Greenwood O DarakjyFranceElwin Sharvill QUALIFIED
Chavez Q RimJapanXuxue Feng QUALIFIED
Arvin O SaylorsGermanyOnyama Limba NEW
Smith L InouyeJapanXuxue Feng NEGOTIATION
Alejandro T MacleadGermanyAnna Fali UNQUALIFIED
Silvio Q MarrierItalyOnyama Limba QUALIFIED
Emily L PaprockiBrazilAmy Elsner QUALIFIED
Deepesh V MarrierJapanStephen Shaw NEW
Murillo L GarufiFranceAsiya Javayant UNQUALIFIED
Isabel V RoysterIndiaIvan Magalhaes QUALIFIED
Costa Q OldroydFranceIoni Bowcher NEW
Jefferson N DoeFranceElwin Sharvill NEW
Jefferson Z WieserBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika F NickaAustraliaAnna Fali QUALIFIED
Leon Y StockhamFranceXuxue Feng PROPOSAL
Isabel F AlbaresCanadaAsiya Javayant UNQUALIFIED
Jennifer F MorascaRussiaXuxue Feng PROPOSAL
Clifford M KuskoIndiaStephen Shaw UNQUALIFIED
Wickens R MarrierIndiaBernardo Dominic QUALIFIED
Antonio R SchemmerUnited KingdomXuxue Feng RENEWAL
Isabel Q GarufiFranceIvan Magalhaes RENEWAL
Francesco P InouyeCanadaIoni Bowcher PROPOSAL
Isabel K AlbaresItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia I FigeroaArgentina2024-06-06Chanay, Jeffrey A Esq NEW3Ivan Magalhaes
1001Cody C GauchoArgentina2024-05-26Feiner Bros NEGOTIATION71Ivan Magalhaes
1002Faith A RoysterItaly2024-06-18Rangoni Of Florence PROPOSAL94Bernardo Dominic
1003Aditya B GarufiFrance2024-05-25Morlong Associates QUALIFIED79Stephen Shaw
1004Ashley V OstroskyAustralia2024-05-26Rousseaux, Michael Esq UNQUALIFIED99Bernardo Dominic
1005Emily H IturbideRussia2024-05-31Rousseaux, Michael Esq NEGOTIATION58Onyama Limba
1006Darci U MorascaSpain2024-05-25Chemel, James L Cpa UNQUALIFIED48Asiya Javayant
1007Juan L MaletUnited Kingdom2024-06-10Morlong Associates PROPOSAL28Elwin Sharvill
1008Leon Z WhobreyArgentina2024-06-11Chapman, Ross E Esq PROPOSAL39Elwin Sharvill
1009Izzy E GlickItaly2024-06-09Chapman, Ross E Esq NEW27Anna Fali
1010Alejandro Y ShinkoFrance2024-06-08King, Christopher A Esq NEGOTIATION54Stephen Shaw
1011Francesco G ChuiRussia2024-06-06Chemel, James L Cpa NEW61Amy Elsner
1012Greenwood L PoquetteRussia2024-06-16Chemel, James L Cpa NEGOTIATION95Xuxue Feng
1013Arvin Z NickaJapan2024-06-02Rangoni Of Florence NEW64Xuxue Feng
1014Kaitlin G WhobreyIndia2024-06-15Chapman, Ross E Esq NEGOTIATION37Bernardo Dominic
1015Francesco F RutaBrazil2024-06-20Buckley Miller Wright NEGOTIATION92Amy Elsner
1016Silvio F GauchoAustralia2024-06-12Benton, John B Jr PROPOSAL7Xuxue Feng
1017Kadeem I ChuiGermany2024-05-26Buckley Miller Wright UNQUALIFIED14Ioni Bowcher
1018Salvatore K CaldareraJapan2024-06-10Feltz Printing Service PROPOSAL56Asiya Javayant
1019Salvatore I DoeSpain2024-06-14Benton, John B Jr NEGOTIATION56Amy Elsner
1020Rodrigues Z NestleItaly2024-06-06Morlong Associates NEGOTIATION23Xuxue Feng
1021Claire L NickaRussia2024-06-03Chanay, Jeffrey A Esq RENEWAL54Elwin Sharvill
1022Ivar U AlbaresFrance2024-05-25Rousseaux, Michael Esq NEGOTIATION87Onyama Limba
1023Chavez T OldroydGermany2024-06-12Dorl, James J Esq UNQUALIFIED46Ioni Bowcher
1024Morrow W IturbideGermany2024-06-09Chemel, James L Cpa RENEWAL59Ioni Bowcher
1025Nicolas T CampainBrazil2024-05-23Commercial Press NEW11Xuxue Feng
1026Misaki F FigeroaAustralia2024-06-08Chemel, James L Cpa UNQUALIFIED72Amy Elsner
1027Jones I OldroydArgentina2024-06-05Truhlar And Truhlar Attys QUALIFIED94Amy Elsner
1028Rodrigues N NickaItaly2024-05-27Benton, John B Jr QUALIFIED71Elwin Sharvill
1029Darci C ShinkoGermany2024-06-02Truhlar And Truhlar Attys UNQUALIFIED76Asiya Javayant
1030Aditya M TollnerJapan2024-06-20Feltz Printing Service NEW32Bernardo Dominic
1031Kadeem B MaletUnited Kingdom2024-06-13King, Christopher A Esq NEGOTIATION2Elwin Sharvill
1032Maria H FigeroaGermany2024-06-21Feiner Bros QUALIFIED61Anna Fali
1033Aika K KolmetzIndia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED65Ivan Magalhaes
1034Chavez N AmigonGermany2024-06-10King, Christopher A Esq QUALIFIED28Elwin Sharvill
1035Darci D GarufiBrazil2024-05-29Feiner Bros QUALIFIED97Xuxue Feng
1036Cody D SchemmerUnited Kingdom2024-06-12Dorl, James J Esq RENEWAL23Xuxue Feng
1037Jeanfrancois W SlusarskiJapan2024-05-30Commercial Press RENEWAL45Xuxue Feng
1038Isabel E AmigonGermany2024-06-12Commercial Press QUALIFIED70Ivan Magalhaes
1039Stacey V PoquetteItaly2024-06-15Chemel, James L Cpa PROPOSAL23Ivan Magalhaes
1040Alejandro A GarufiUnited Kingdom2024-06-04Dorl, James J Esq PROPOSAL3Elwin Sharvill
1041Silvio B VenereBrazil2024-06-10Truhlar And Truhlar Attys PROPOSAL48Ivan Magalhaes
1042Sinclair W FlosiIndia2024-06-06Rousseaux, Michael Esq QUALIFIED70Anna Fali
1043Murillo V SergiRussia2024-06-08Dorl, James J Esq RENEWAL48Onyama Limba
1044Aruna H DoeUnited Kingdom2024-06-13Printing Dimensions RENEWAL84Stephen Shaw
1045Cody H VocelkaRussia2024-05-24King, Christopher A Esq NEGOTIATION7Elwin Sharvill
1046Deepesh Z RimRussia2024-05-30Buckley Miller Wright NEW21Bernardo Dominic
1047Wickens B SaylorsItaly2024-06-04Truhlar And Truhlar Attys RENEWAL39Amy Elsner
1048Johnson M MorascaBrazil2024-05-23Morlong Associates PROPOSAL11Asiya Javayant
1049Izzy A NickaUnited Kingdom2024-06-09Commercial Press PROPOSAL47Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria R PoquetteItalyIoni Bowcher PROPOSAL
Stacey X NickaJapanIoni Bowcher RENEWAL
Smith Z CaudySpainOnyama Limba NEGOTIATION
Cody D BriddickJapanAnna Fali PROPOSAL
David Z PoquetteRussiaBernardo Dominic NEGOTIATION
Arvin H GillianItalyAnna Fali RENEWAL
Izzy P MorascaJapanElwin Sharvill NEW
Wickens S GauchoCanadaIvan Magalhaes PROPOSAL
Aditya J CampainItalyXuxue Feng NEW
Jennifer T MarrierFranceIoni Bowcher RENEWAL
Clifford O SergiAustraliaBernardo Dominic PROPOSAL
Maria D AlbaresIndiaBernardo Dominic QUALIFIED
Juan Y MarrierCanadaIvan Magalhaes NEGOTIATION
Aika H OstroskyItalyStephen Shaw NEW
Francesco C GlickItalyAnna Fali PROPOSAL
Chavez Z SergiSpainOnyama Limba NEGOTIATION
Emily J VenereSpainIvan Magalhaes UNQUALIFIED
Rodrigues Z SergiArgentinaOnyama Limba PROPOSAL
Mujtaba W GlickBrazilAmy Elsner RENEWAL
Aditya V VenereItalyIoni Bowcher UNQUALIFIED
Jennifer X StensethArgentinaAnna Fali NEW
Faith F RoysterCanadaAsiya Javayant NEGOTIATION
Adams A VenereAustraliaIoni Bowcher NEGOTIATION
Leon R FigeroaBrazilIvan Magalhaes RENEWAL
Nicolas N NestleCanadaStephen Shaw NEW
Arvin J RulapaughItalyElwin Sharvill UNQUALIFIED
Maria K MacleadRussiaElwin Sharvill NEGOTIATION
Jones J SlusarskiAustraliaBernardo Dominic RENEWAL
Francesco H ChuiFranceAsiya Javayant NEW
Aika Q CampainIndiaAsiya Javayant UNQUALIFIED
Francesco E FerenczFranceAmy Elsner PROPOSAL
Alejandro R CaldareraCanadaStephen Shaw NEGOTIATION
Izzy J ButtFranceAsiya Javayant RENEWAL
Deepesh Q ShinkoRussiaBernardo Dominic UNQUALIFIED
Rodrigues R RoysterIndiaAsiya Javayant NEGOTIATION
Alejandro H CaudySpainStephen Shaw RENEWAL
Greenwood S KuskoArgentinaBernardo Dominic PROPOSAL
Rodrigues H RimIndiaAnna Fali QUALIFIED
Juan B DarakjyJapanAsiya Javayant NEW
Darci Y OstroskyAustraliaElwin Sharvill RENEWAL
Tony Y IturbideItalyStephen Shaw NEW
Ricardo Y MorascaUnited KingdomAmy Elsner QUALIFIED
Johnson J MacleadIndiaStephen Shaw NEGOTIATION
Jennifer B WhobreySpainIoni Bowcher RENEWAL
Silvio A RoysterCanadaIvan Magalhaes RENEWAL
Ricardo I PerinGermanyIoni Bowcher RENEWAL
Adams H PoquetteIndiaStephen Shaw NEGOTIATION
Jennifer Y ButtAustraliaXuxue Feng PROPOSAL
Kadeem R StockhamAustraliaElwin Sharvill NEW
Misaki Y FerenczUnited KingdomElwin Sharvill NEW
Frozen Columns
Name
Francesco O Rim
Arvin Y Malet
Nicolas N Shinko
Munro J Slusarski
Juan E Flosi
Leon M Wieser
Clifford T Albares
Sinclair B Amigon
Jones J Amigon
David A Rim
Jeanfrancois P Caldarera
Stacey D Butt
Ricardo I Figeroa
David Z Figeroa
Kaitlin S Rim
Izzy P Campain
Kadeem R Bolognia
Aika N Venere
Maria F Venere
Jennifer R Glick
David Y Slusarski
Deepesh U Garufi
Ivar O Malet
Isabel P Flosi
Alejandro N Kolmetz
Costa T Campain
Stacey A Rim
Morrow M Tollner
Aika D Stenseth
Maria J Venere
Aruna U Foller
Ashley X Ferencz
Nicolas I Caudy
Maria P Ostrosky
Darci K Marrier
Izzy J Nestle
Leja R Nestle
Isabel P Slusarski
Stacey S Albares
Julie B Garufi
Aditya U Flosi
Adams Y Stenseth
Aika X Malet
Maria G Ferencz
Juan H Maclead
Aruna C Bolognia
Juan R Slusarski
Mujtaba C Malet
Alejandro J Rulapaugh
Antonio E Briddick
IdCountryDate
1000Brazil2024-06-06
1001India2024-05-24
1002Brazil2024-06-19
1003Spain2024-06-09
1004Brazil2024-06-20
1005Spain2024-05-25
1006Spain2024-06-18
1007United Kingdom2024-05-30
1008Brazil2024-06-02
1009United Kingdom2024-06-19
1010Argentina2024-06-11
1011Japan2024-05-31
1012India2024-06-21
1013Canada2024-06-02
1014Italy2024-05-30
1015France2024-06-08
1016France2024-06-08
1017Japan2024-06-03
1018Canada2024-06-03
1019Spain2024-06-19
1020Japan2024-06-04
1021Spain2024-06-11
1022Brazil2024-06-18
1023Germany2024-06-21
1024France2024-05-27
1025Brazil2024-06-21
1026Spain2024-05-30
1027Canada2024-05-29
1028Italy2024-06-19
1029India2024-06-13
1030Germany2024-06-14
1031Australia2024-06-09
1032Germany2024-05-30
1033Germany2024-06-01
1034Brazil2024-06-01
1035France2024-05-23
1036Australia2024-05-31
1037Italy2024-06-01
1038United Kingdom2024-05-25
1039United Kingdom2024-06-12
1040Australia2024-05-28
1041Canada2024-06-18
1042Germany2024-05-28
1043Brazil2024-06-19
1044Brazil2024-06-11
1045India2024-06-14
1046United Kingdom2024-06-04
1047France2024-05-26
1048Russia2024-05-30
1049Argentina2024-05-23

On-Demand Data

NameIdCountryDate
Chavez H Stockham1000Russia2024-06-19
Salvatore X Paprocki1001India2024-05-28
Maria Z Stockham1002Brazil2024-05-27
Tony F Darakjy1003Germany2024-06-20
Cody U Stenseth1004Canada2024-06-15
Darci X Inouye1005Germany2024-06-01
Mayumi E Doe1006Australia2024-06-08
Antonio N Ruta1007Australia2024-06-13
Claire Z Flosi1008Argentina2024-06-11
David E Campain1009Spain2024-05-29
Smith I Glick1010Germany2024-06-09
Sinclair B Iturbide1011Italy2024-06-10
Izzy I Briddick1012India2024-05-28
Jennifer A Bowley1013Japan2024-06-20
Tony T Whobrey1014Germany2024-06-08
Johnson I Paprocki1015Spain2024-05-30
Silvio R Morasca1016Australia2024-05-30
Octavia L Ostrosky1017United Kingdom2024-05-29
Morrow N Paprocki1018Italy2024-06-06
Cody J Campain1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci H MaletGermanyAmy Elsner QUALIFIED
Ivar D FigeroaBrazilAsiya Javayant PROPOSAL
Wickens A KolmetzFranceAmy Elsner NEGOTIATION
Greenwood F CaudyIndiaBernardo Dominic RENEWAL
Arvin J MacleadItalyAnna Fali RENEWAL
Ricardo Q DarakjyArgentinaIvan Magalhaes PROPOSAL
Adams I AlbaresArgentinaXuxue Feng UNQUALIFIED
David E BologniaSpainIoni Bowcher QUALIFIED
Mayumi B FigeroaIndiaIvan Magalhaes UNQUALIFIED
Aditya R RutaFranceIoni Bowcher RENEWAL
Murillo U OstroskyUnited KingdomElwin Sharvill RENEWAL
Sinclair R MaletRussiaAnna Fali UNQUALIFIED
Jefferson X OstroskyUnited KingdomAnna Fali RENEWAL
Stacey D SergiUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues W FlosiCanadaStephen Shaw NEW
Deepesh Z IturbideItalyStephen Shaw NEGOTIATION
David O DoeCanadaBernardo Dominic RENEWAL
Ashley V SlusarskiAustraliaAmy Elsner NEGOTIATION
Aika Y GauchoRussiaXuxue Feng PROPOSAL
Emily V SergiFranceAmy Elsner RENEWAL
Antonio N TollnerFranceStephen Shaw QUALIFIED
Ivar F ChuiIndiaStephen Shaw UNQUALIFIED
Morrow R PerinRussiaBernardo Dominic UNQUALIFIED
Johnson T DoeUnited KingdomAsiya Javayant NEW
Maria W ShinkoItalyOnyama Limba RENEWAL
Maria T CaldareraAustraliaXuxue Feng NEW
Nicolas U NickaJapanBernardo Dominic UNQUALIFIED
Munro Q SlusarskiItalyIvan Magalhaes NEW
Arvin R ButtRussiaOnyama Limba PROPOSAL
Ivar P VocelkaBrazilAnna Fali PROPOSAL
Emily Z FerenczArgentinaOnyama Limba PROPOSAL
Munro F OldroydRussiaAsiya Javayant NEGOTIATION
Izzy A FollerUnited KingdomAnna Fali QUALIFIED
Costa O WieserItalyIvan Magalhaes PROPOSAL
Isabel J TollnerArgentinaIoni Bowcher PROPOSAL
Rodrigues G FlosiIndiaAnna Fali UNQUALIFIED
Kaitlin T GillianIndiaIoni Bowcher UNQUALIFIED
Octavia V GlickGermanyOnyama Limba RENEWAL
David S StensethCanadaOnyama Limba QUALIFIED
Isabel A KuskoArgentinaIvan 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>