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
Izzy V DoeFranceAmy Elsner UNQUALIFIED
Juan K MarrierJapanXuxue Feng NEGOTIATION
Maisha N GlickArgentinaIvan Magalhaes PROPOSAL
James M MarrierArgentinaXuxue Feng PROPOSAL
Isabel N WhobreyRussiaOnyama Limba RENEWAL
Ivar Q StensethBrazilAsiya Javayant NEW
Ivar Q RulapaughIndiaXuxue Feng PROPOSAL
Alejandro U GarufiRussiaBernardo Dominic UNQUALIFIED
Emily Y FerenczUnited KingdomStephen Shaw PROPOSAL
James W AlbaresBrazilAnna Fali PROPOSAL
Misaki N SlusarskiFranceElwin Sharvill PROPOSAL
David T MarrierItalyBernardo Dominic RENEWAL
Wickens T GarufiJapanIvan Magalhaes NEW
David Z OstroskyIndiaIoni Bowcher NEGOTIATION
Mayumi N GauchoJapanAsiya Javayant QUALIFIED
Leja W ChuiAustraliaAnna Fali UNQUALIFIED
Deepesh I ShinkoArgentinaAsiya Javayant QUALIFIED
Emily L WhobreyUnited KingdomAmy Elsner RENEWAL
Ivar R StensethArgentinaIoni Bowcher PROPOSAL
Greenwood B MarrierIndiaXuxue Feng NEW
Wickens X DilliardIndiaAsiya Javayant RENEWAL
Smith N RimRussiaBernardo Dominic QUALIFIED
Darci D SlusarskiIndiaIvan Magalhaes NEGOTIATION
Chavez N MaletUnited KingdomXuxue Feng UNQUALIFIED
Julie Y AlbaresFranceAsiya Javayant UNQUALIFIED
Silvio G NestleBrazilAmy Elsner UNQUALIFIED
Jennifer P RulapaughUnited KingdomAmy Elsner PROPOSAL
Mujtaba M PaprockiItalyXuxue Feng NEGOTIATION
Clifford F RoysterIndiaAsiya Javayant RENEWAL
Kadeem T StockhamIndiaAmy Elsner QUALIFIED
Nicolas P NestleArgentinaOnyama Limba QUALIFIED
Johnson D NestleAustraliaIoni Bowcher NEW
Juan R RoysterItalyAsiya Javayant PROPOSAL
Costa F DoeGermanyIvan Magalhaes RENEWAL
Juan E DoeJapanStephen Shaw NEGOTIATION
Wickens Z AlbaresRussiaBernardo Dominic NEW
Ivar J VenereCanadaElwin Sharvill UNQUALIFIED
Kaitlin N VenereSpainIvan Magalhaes RENEWAL
Ivar S KuskoItalyAmy Elsner RENEWAL
James G StensethSpainAmy Elsner QUALIFIED
Leja F CampainIndiaStephen Shaw UNQUALIFIED
Octavia H WhobreyCanadaAnna Fali PROPOSAL
Cody E WaycottAustraliaElwin Sharvill RENEWAL
Murillo O RoysterItalyIoni Bowcher QUALIFIED
Leon D SaylorsCanadaAmy Elsner NEGOTIATION
Rodrigues J MorascaRussiaXuxue Feng NEGOTIATION
Antonio J FollerUnited KingdomIoni Bowcher UNQUALIFIED
Leon H RutaBrazilAnna Fali QUALIFIED
Arvin S MarrierArgentinaStephen Shaw NEGOTIATION
Smith I RutaItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh M CaudyBrazilIoni Bowcher UNQUALIFIED
Johnson Z VenereItalyOnyama Limba NEW
Aditya Y NickaArgentinaAmy Elsner NEW
Jones S CaudyFranceAnna Fali PROPOSAL
James R OldroydSpainOnyama Limba QUALIFIED
Tony O RulapaughAustraliaAsiya Javayant UNQUALIFIED
Ashley N MaletGermanyAmy Elsner QUALIFIED
Misaki Q MacleadBrazilXuxue Feng RENEWAL
David W OldroydAustraliaStephen Shaw QUALIFIED
Leja L OldroydRussiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey L NickaAustralia2024-06-02Rousseaux, Michael Esq NEGOTIATION3Ivan Magalhaes
1001David I StensethFrance2024-05-27Rangoni Of Florence QUALIFIED55Amy Elsner
1002Murillo D RutaArgentina2024-06-17Commercial Press UNQUALIFIED9Bernardo Dominic
1003Murillo Y RoysterItaly2024-06-01Truhlar And Truhlar Attys NEGOTIATION22Asiya Javayant
1004James Y WhobreySpain2024-06-08Truhlar And Truhlar Attys QUALIFIED64Xuxue Feng
1005David W DarakjyIndia2024-06-02Chapman, Ross E Esq PROPOSAL38Onyama Limba
1006Rodrigues E GauchoGermany2024-06-09Morlong Associates UNQUALIFIED7Asiya Javayant
1007Leja T CaudyIndia2024-06-19Feltz Printing Service QUALIFIED59Bernardo Dominic
1008Wickens N NickaCanada2024-06-22Commercial Press UNQUALIFIED67Bernardo Dominic
1009Misaki D StockhamIndia2024-06-17Benton, John B Jr QUALIFIED50Ivan Magalhaes
1010Jeanfrancois L KuskoFrance2024-05-30Morlong Associates UNQUALIFIED56Bernardo Dominic
1011Chavez R FerenczIndia2024-06-08Rousseaux, Michael Esq NEW88Stephen Shaw
1012Kaitlin X NickaSpain2024-05-30Benton, John B Jr NEW3Asiya Javayant
1013Octavia H RulapaughBrazil2024-06-03Buckley Miller Wright UNQUALIFIED94Xuxue Feng
1014Francesco U NestleIndia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION33Ivan Magalhaes
1015Kaitlin U AlbaresSpain2024-06-19Chemel, James L Cpa UNQUALIFIED6Ioni Bowcher
1016David B RoysterIndia2024-05-26King, Christopher A Esq QUALIFIED56Elwin Sharvill
1017Aika I CampainBrazil2024-06-04Commercial Press NEGOTIATION63Ioni Bowcher
1018Claire H ChuiArgentina2024-05-24King, Christopher A Esq NEGOTIATION76Stephen Shaw
1019Wickens N MorascaIndia2024-05-26Truhlar And Truhlar Attys NEGOTIATION4Amy Elsner
1020Jeanfrancois N KolmetzIndia2024-06-04Commercial Press UNQUALIFIED48Xuxue Feng
1021David N WieserAustralia2024-06-02Buckley Miller Wright QUALIFIED44Anna Fali
1022Octavia O TollnerItaly2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED49Ivan Magalhaes
1023Rodrigues F GarufiJapan2024-06-21Feiner Bros NEGOTIATION87Asiya Javayant
1024Darci T MaletRussia2024-05-26Rousseaux, Michael Esq NEGOTIATION8Anna Fali
1025Silvio Z MacleadAustralia2024-06-04Dorl, James J Esq RENEWAL82Xuxue Feng
1026Jones M VenereRussia2024-06-08Chapman, Ross E Esq PROPOSAL78Amy Elsner
1027Ashley C GillianBrazil2024-05-28Morlong Associates PROPOSAL55Amy Elsner
1028Greenwood K FerenczAustralia2024-06-09Rousseaux, Michael Esq QUALIFIED58Elwin Sharvill
1029Smith S CaudyArgentina2024-05-29Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1030Isabel N MarrierJapan2024-06-06King, Christopher A Esq UNQUALIFIED16Anna Fali
1031Johnson K BowleyCanada2024-06-07Commercial Press UNQUALIFIED69Ivan Magalhaes
1032Tony W PaprockiRussia2024-05-30Buckley Miller Wright RENEWAL83Onyama Limba
1033David Y RulapaughFrance2024-06-10Feltz Printing Service NEGOTIATION47Stephen Shaw
1034Izzy T GauchoItaly2024-06-09Commercial Press NEW35Ioni Bowcher
1035Ricardo U ChuiRussia2024-06-15Chapman, Ross E Esq QUALIFIED87Stephen Shaw
1036James Y KolmetzBrazil2024-06-18Feiner Bros PROPOSAL26Bernardo Dominic
1037Izzy F RimSpain2024-06-10Rousseaux, Michael Esq RENEWAL77Bernardo Dominic
1038Mayumi K DoeGermany2024-06-17Dorl, James J Esq UNQUALIFIED15Ioni Bowcher
1039Smith D TollnerGermany2024-05-24Rousseaux, Michael Esq RENEWAL47Xuxue Feng
1040Mayumi S OldroydJapan2024-06-08Feiner Bros QUALIFIED1Anna Fali
1041Darci B DilliardCanada2024-05-31Chapman, Ross E Esq PROPOSAL82Stephen Shaw
1042Arvin F WaycottFrance2024-06-11Benton, John B Jr QUALIFIED84Asiya Javayant
1043Aruna L BologniaArgentina2024-06-17Rousseaux, Michael Esq RENEWAL53Elwin Sharvill
1044Costa D SlusarskiArgentina2024-05-26Buckley Miller Wright NEW25Onyama Limba
1045Chavez U IturbideArgentina2024-06-19King, Christopher A Esq PROPOSAL13Asiya Javayant
1046Arvin L MarrierRussia2024-06-09Printing Dimensions PROPOSAL19Stephen Shaw
1047Ashley J MaletCanada2024-06-13Chapman, Ross E Esq PROPOSAL58Xuxue Feng
1048Isabel D IturbideCanada2024-06-22King, Christopher A Esq NEGOTIATION4Anna Fali
1049Sinclair I FerenczJapan2024-06-03King, Christopher A Esq RENEWAL95Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Arvin B GlickAustraliaBernardo Dominic QUALIFIED
Deepesh Y FollerRussiaElwin Sharvill NEW
Chavez F SlusarskiIndiaElwin Sharvill UNQUALIFIED
Johnson L ShinkoCanadaIvan Magalhaes PROPOSAL
Aruna A DarakjyFranceIvan Magalhaes NEW
Jefferson R KolmetzJapanElwin Sharvill QUALIFIED
Jones F AlbaresBrazilIoni Bowcher QUALIFIED
Leon T StensethBrazilIvan Magalhaes RENEWAL
Jeanfrancois N OstroskyArgentinaIoni Bowcher PROPOSAL
Jones T SaylorsJapanAnna Fali QUALIFIED
Maria S GauchoSpainIoni Bowcher NEW
Jennifer D SaylorsGermanyElwin Sharvill UNQUALIFIED
Aika W DilliardArgentinaIoni Bowcher UNQUALIFIED
James V SlusarskiItalyStephen Shaw UNQUALIFIED
Jeanfrancois P StensethItalyBernardo Dominic QUALIFIED
Ivar A MorascaAustraliaIoni Bowcher NEW
Izzy M CaldareraBrazilBernardo Dominic NEW
Adams V MarrierCanadaAnna Fali UNQUALIFIED
Mujtaba K CaudyUnited KingdomAnna Fali UNQUALIFIED
Cody B ButtUnited KingdomIvan Magalhaes QUALIFIED
Aditya G BriddickItalyAmy Elsner RENEWAL
Isabel Z GauchoUnited KingdomOnyama Limba PROPOSAL
Murillo M PaprockiAustraliaBernardo Dominic UNQUALIFIED
Ashley P ChuiGermanyAmy Elsner QUALIFIED
Claire U GlickGermanyBernardo Dominic PROPOSAL
Sinclair L MarrierCanadaXuxue Feng NEGOTIATION
Smith N PoquetteFranceXuxue Feng NEW
Jennifer R PaprockiUnited KingdomAnna Fali NEW
Sinclair G SaylorsSpainStephen Shaw NEW
Deepesh O DarakjySpainOnyama Limba UNQUALIFIED
Ashley E MacleadIndiaBernardo Dominic UNQUALIFIED
Leon X StensethItalyOnyama Limba QUALIFIED
Aika L SergiBrazilIvan Magalhaes NEGOTIATION
Morrow W MacleadItalyStephen Shaw NEW
Antonio Q MarrierCanadaIoni Bowcher UNQUALIFIED
Salvatore U SaylorsIndiaAnna Fali RENEWAL
Jeanfrancois V BowleyFranceIvan Magalhaes RENEWAL
Nicolas N DoeCanadaOnyama Limba QUALIFIED
David P VenereGermanyIoni Bowcher PROPOSAL
Stacey K GauchoBrazilAsiya Javayant NEW
Julie V VocelkaIndiaAnna Fali PROPOSAL
Cody P BriddickItalyXuxue Feng RENEWAL
Darci S SaylorsFranceOnyama Limba NEGOTIATION
Cody Y RimBrazilIoni Bowcher PROPOSAL
Kadeem R GauchoArgentinaOnyama Limba RENEWAL
Francesco I ButtArgentinaIvan Magalhaes RENEWAL
Sinclair V FollerCanadaAnna Fali PROPOSAL
Johnson C IturbideAustraliaAnna Fali RENEWAL
David Y InouyeFranceStephen Shaw RENEWAL
Darci Q WieserIndiaAmy Elsner NEW
Frozen Columns
Name
Kadeem R Rim
Maisha G Amigon
Faith T Paprocki
Aruna P Chui
Murillo Z Briddick
Deepesh S Kusko
Sinclair O Royster
Kaitlin V Ferencz
Rodrigues Y Ruta
Francesco Q Nestle
Jefferson B Nestle
Wickens D Butt
Emily C Albares
Smith Z Nestle
Aditya P Vocelka
Leon Q Maclead
Jones N Venere
Mayumi Q Albares
Alejandro N Oldroyd
Rodrigues C Flosi
Jennifer P Rim
Johnson T Briddick
Chavez B Vocelka
Johnson J Foller
Adams I Amigon
Aditya G Slusarski
Aruna O Amigon
Kaitlin O Shinko
Mujtaba Q Ferencz
Morrow U Paprocki
Ashley F Doe
Murillo F Maclead
Ashley Q Tollner
Faith Q Kolmetz
Maisha A Darakjy
Nicolas S Stockham
Misaki R Saylors
Clifford A Marrier
Cody P Saylors
Octavia R Royster
Ivar L Butt
Stacey C Nicka
Antonio M Chui
Emily J Briddick
Julie Y Malet
Jeanfrancois N Iturbide
Deepesh Y Rulapaugh
Murillo C Darakjy
Alejandro O Malet
Stacey E Kolmetz
IdCountryDate
1000Italy2024-06-18
1001United Kingdom2024-06-12
1002Russia2024-05-30
1003Japan2024-06-07
1004Brazil2024-06-19
1005Brazil2024-05-25
1006Germany2024-06-09
1007Italy2024-05-27
1008United Kingdom2024-05-24
1009Russia2024-06-02
1010France2024-06-22
1011Brazil2024-05-28
1012France2024-06-04
1013Italy2024-06-16
1014India2024-06-16
1015Australia2024-06-21
1016France2024-06-07
1017Japan2024-05-30
1018United Kingdom2024-06-05
1019France2024-06-08
1020Italy2024-06-22
1021Argentina2024-06-12
1022Spain2024-06-05
1023Italy2024-06-18
1024India2024-06-05
1025Japan2024-06-04
1026Italy2024-06-16
1027United Kingdom2024-06-03
1028India2024-06-07
1029United Kingdom2024-06-14
1030United Kingdom2024-05-29
1031Australia2024-06-18
1032Spain2024-06-02
1033Brazil2024-06-19
1034Germany2024-05-25
1035Brazil2024-06-01
1036Spain2024-06-07
1037Australia2024-06-05
1038Germany2024-06-06
1039Argentina2024-06-07
1040Russia2024-05-29
1041France2024-05-27
1042Japan2024-06-01
1043Russia2024-06-22
1044France2024-06-04
1045Canada2024-06-07
1046Canada2024-06-07
1047United Kingdom2024-05-26
1048Germany2024-06-20
1049India2024-06-09

On-Demand Data

NameIdCountryDate
Antonio F Butt1000Italy2024-06-09
Jones U Gillian1001France2024-06-15
Octavia H Malet1002France2024-06-05
Deepesh M Glick1003Brazil2024-06-10
Mujtaba L Whobrey1004India2024-05-26
Jennifer Q Gillian1005Canada2024-06-13
Smith B Tollner1006Italy2024-06-16
Mujtaba T Ruta1007Italy2024-06-15
Smith V Rulapaugh1008Japan2024-06-05
Adams W Oldroyd1009Brazil2024-06-01
Morrow R Campain1010Australia2024-06-11
Costa P Doe1011Canada2024-06-11
Munro X Ferencz1012Spain2024-06-14
Kadeem W Poquette1013Russia2024-06-18
Antonio U Kusko1014Australia2024-06-15
Kadeem R Malet1015United Kingdom2024-06-08
Aditya V Rim1016Argentina2024-06-06
Ashley I Inouye1017Argentina2024-06-02
Murillo I Slusarski1018Germany2024-06-19
Mayumi Q Chui1019Japan2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Z CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel G SaylorsArgentinaAsiya Javayant NEW
Morrow N AmigonIndiaStephen Shaw QUALIFIED
Clifford G KolmetzAustraliaAsiya Javayant QUALIFIED
Ashley S AlbaresFranceIvan Magalhaes RENEWAL
Antonio O FlosiFranceAmy Elsner UNQUALIFIED
James B WieserUnited KingdomIvan Magalhaes PROPOSAL
James L MaletFranceAmy Elsner PROPOSAL
Aruna X WhobreyArgentinaOnyama Limba QUALIFIED
Adams I MarrierAustraliaStephen Shaw QUALIFIED
Rodrigues M CaudySpainElwin Sharvill UNQUALIFIED
Kadeem B KuskoJapanOnyama Limba NEGOTIATION
Darci J FerenczBrazilIoni Bowcher PROPOSAL
Leja I NestleItalyBernardo Dominic NEGOTIATION
Leon A DilliardCanadaAnna Fali NEGOTIATION
Faith A SergiGermanyXuxue Feng QUALIFIED
Misaki W OldroydBrazilOnyama Limba NEW
Johnson N MarrierArgentinaBernardo Dominic PROPOSAL
David L DarakjyFranceOnyama Limba NEW
Sinclair U MarrierAustraliaAnna Fali NEGOTIATION
Johnson E DoeAustraliaBernardo Dominic RENEWAL
Mujtaba F CampainItalyIvan Magalhaes RENEWAL
Smith I FerenczGermanyAnna Fali NEW
Alejandro E MaletUnited KingdomStephen Shaw NEW
Alejandro F BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo N AlbaresUnited KingdomAsiya Javayant NEW
Rodrigues V AmigonUnited KingdomAnna Fali UNQUALIFIED
Aruna O WhobreyGermanyIoni Bowcher NEW
Maisha Q SergiFranceStephen Shaw UNQUALIFIED
Salvatore S DarakjyFranceOnyama Limba QUALIFIED
Adams M MarrierUnited KingdomXuxue Feng PROPOSAL
David L OstroskySpainAsiya Javayant NEW
Johnson F StockhamAustraliaIoni Bowcher PROPOSAL
Tony I IturbideItalyBernardo Dominic NEGOTIATION
Mayumi A GillianItalyAnna Fali RENEWAL
Darci W RimBrazilXuxue Feng NEW
Salvatore P ChuiAustraliaAmy Elsner NEW
Jeanfrancois V SchemmerFranceStephen Shaw UNQUALIFIED
Clifford X BologniaUnited KingdomAsiya Javayant NEW
Maria R FigeroaJapanAmy Elsner UNQUALIFIED

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