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
Emily G FollerArgentinaIvan Magalhaes NEW
Arvin X IturbideSpainAnna Fali PROPOSAL
Alejandro N GlickArgentinaStephen Shaw PROPOSAL
Clifford P AmigonBrazilAnna Fali NEW
Francesco Q GillianBrazilOnyama Limba NEGOTIATION
Emily J SlusarskiSpainIoni Bowcher NEGOTIATION
Rodrigues Z DarakjyJapanAmy Elsner PROPOSAL
Morrow T ShinkoGermanyStephen Shaw UNQUALIFIED
Izzy W NickaSpainIvan Magalhaes QUALIFIED
Murillo Q ShinkoAustraliaElwin Sharvill QUALIFIED
Kaitlin G InouyeCanadaAmy Elsner NEGOTIATION
Mayumi U MacleadArgentinaStephen Shaw RENEWAL
Wickens I BriddickGermanyBernardo Dominic QUALIFIED
Stacey D MacleadAustraliaIvan Magalhaes UNQUALIFIED
Octavia I GarufiBrazilBernardo Dominic QUALIFIED
Isabel W RulapaughFranceXuxue Feng UNQUALIFIED
Ricardo M CaudyGermanyBernardo Dominic QUALIFIED
Leja B ButtJapanStephen Shaw RENEWAL
Arvin P PaprockiUnited KingdomAnna Fali QUALIFIED
Alejandro Q BologniaBrazilIoni Bowcher NEGOTIATION
Francesco L KuskoUnited KingdomAnna Fali NEGOTIATION
Greenwood O SergiFranceAnna Fali QUALIFIED
Misaki X ShinkoSpainAmy Elsner RENEWAL
Jeanfrancois W BriddickItalyIoni Bowcher NEW
Greenwood Q ShinkoFranceOnyama Limba NEGOTIATION
Francesco A MaletFranceAnna Fali UNQUALIFIED
Misaki B DilliardGermanyIvan Magalhaes NEW
Leja A BriddickArgentinaElwin Sharvill UNQUALIFIED
Cody J PerinUnited KingdomXuxue Feng RENEWAL
Aruna B FerenczBrazilAnna Fali NEGOTIATION
Octavia M MaletArgentinaIvan Magalhaes PROPOSAL
Cody Y KuskoSpainIoni Bowcher PROPOSAL
James M CampainArgentinaElwin Sharvill UNQUALIFIED
Rodrigues C SaylorsRussiaOnyama Limba QUALIFIED
Mayumi E AmigonGermanyAsiya Javayant QUALIFIED
Costa K FigeroaIndiaStephen Shaw QUALIFIED
Ivar K NestleCanadaAnna Fali PROPOSAL
Maria R WhobreyArgentinaIvan Magalhaes NEW
David R PerinJapanAsiya Javayant PROPOSAL
Darci U CaudyRussiaAsiya Javayant RENEWAL
Darci L RoysterGermanyXuxue Feng NEW
Octavia F AlbaresCanadaElwin Sharvill RENEWAL
Alejandro I NickaRussiaXuxue Feng QUALIFIED
Leja Q RoysterSpainXuxue Feng RENEWAL
Kadeem B CaldareraSpainIvan Magalhaes RENEWAL
Tony V RutaCanadaStephen Shaw RENEWAL
Chavez M ChuiArgentinaOnyama Limba UNQUALIFIED
Ricardo D OstroskyJapanStephen Shaw NEW
Ricardo Y OstroskyCanadaAnna Fali NEW
Nicolas Q FollerItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy I KuskoAustraliaStephen Shaw NEGOTIATION
Claire F MaletUnited KingdomBernardo Dominic PROPOSAL
Greenwood I MorascaCanadaStephen Shaw UNQUALIFIED
Faith R WieserIndiaBernardo Dominic QUALIFIED
Maria F CaldareraGermanyBernardo Dominic NEGOTIATION
Ricardo H AmigonFranceAsiya Javayant QUALIFIED
Nicolas M MacleadSpainAmy Elsner NEGOTIATION
Leon Y FigeroaItalyIvan Magalhaes QUALIFIED
Sinclair U RoysterFranceIvan Magalhaes PROPOSAL
Chavez D DarakjyAustraliaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin F VocelkaCanada2024-06-06Feiner Bros UNQUALIFIED28Elwin Sharvill
1001Mujtaba D TollnerArgentina2024-06-10Printing Dimensions NEW13Onyama Limba
1002Smith T RulapaughBrazil2024-05-28King, Christopher A Esq RENEWAL94Anna Fali
1003Maria T NickaCanada2024-05-27Morlong Associates RENEWAL17Anna Fali
1004David V FerenczGermany2024-06-08Feiner Bros RENEWAL82Elwin Sharvill
1005James G ButtIndia2024-05-29Morlong Associates QUALIFIED30Stephen Shaw
1006Deepesh F ButtAustralia2024-05-29Rousseaux, Michael Esq NEW70Onyama Limba
1007Jeanfrancois V StensethFrance2024-06-18Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1008Jennifer H SergiJapan2024-06-01Rangoni Of Florence NEGOTIATION31Bernardo Dominic
1009Francesco G MarrierIndia2024-05-30Rousseaux, Michael Esq NEGOTIATION84Xuxue Feng
1010Chavez B KuskoAustralia2024-06-17Rousseaux, Michael Esq UNQUALIFIED74Ivan Magalhaes
1011Jones Q AlbaresBrazil2024-06-02Chanay, Jeffrey A Esq NEGOTIATION53Anna Fali
1012Alejandro W PoquetteUnited Kingdom2024-06-20Rousseaux, Michael Esq PROPOSAL21Amy Elsner
1013Johnson A AmigonFrance2024-06-21Chemel, James L Cpa NEW40Stephen Shaw
1014Jennifer Q WaycottSpain2024-05-27Truhlar And Truhlar Attys UNQUALIFIED97Xuxue Feng
1015Octavia O InouyeUnited Kingdom2024-06-09Truhlar And Truhlar Attys RENEWAL7Onyama Limba
1016Ivar T CaudyIndia2024-05-27King, Christopher A Esq UNQUALIFIED38Elwin Sharvill
1017Jennifer L GillianFrance2024-06-12Commercial Press NEGOTIATION0Anna Fali
1018Jefferson J OldroydCanada2024-06-05Buckley Miller Wright PROPOSAL25Ivan Magalhaes
1019Aruna G PoquetteUnited Kingdom2024-06-10Printing Dimensions NEGOTIATION65Onyama Limba
1020Isabel S InouyeItaly2024-06-14Morlong Associates RENEWAL87Elwin Sharvill
1021Deepesh G RoysterItaly2024-06-23Feltz Printing Service PROPOSAL47Xuxue Feng
1022Juan G MorascaItaly2024-06-05Dorl, James J Esq RENEWAL84Elwin Sharvill
1023Aruna B RimIndia2024-06-10Printing Dimensions NEW14Elwin Sharvill
1024Aika W TollnerItaly2024-06-02Truhlar And Truhlar Attys RENEWAL60Bernardo Dominic
1025Isabel V NestleFrance2024-06-11Feltz Printing Service QUALIFIED48Stephen Shaw
1026Ashley U WieserArgentina2024-06-09King, Christopher A Esq NEGOTIATION9Ivan Magalhaes
1027Deepesh J NickaGermany2024-06-21Benton, John B Jr NEGOTIATION2Ioni Bowcher
1028Wickens F BologniaIndia2024-06-14Commercial Press RENEWAL68Stephen Shaw
1029Greenwood H MaletUnited Kingdom2024-06-07Buckley Miller Wright QUALIFIED51Elwin Sharvill
1030Chavez X MacleadIndia2024-05-28Rangoni Of Florence NEW8Amy Elsner
1031Salvatore S KolmetzCanada2024-06-17Feltz Printing Service NEW9Elwin Sharvill
1032Sinclair S VocelkaSpain2024-06-13Chemel, James L Cpa PROPOSAL16Stephen Shaw
1033Munro J FerenczJapan2024-06-13King, Christopher A Esq QUALIFIED42Elwin Sharvill
1034Murillo L MorascaBrazil2024-06-12Benton, John B Jr UNQUALIFIED81Asiya Javayant
1035Francesco M ChuiUnited Kingdom2024-06-21Truhlar And Truhlar Attys NEGOTIATION54Elwin Sharvill
1036Mayumi X VocelkaIndia2024-06-15Rangoni Of Florence UNQUALIFIED3Xuxue Feng
1037Deepesh Y IturbideBrazil2024-06-10Rousseaux, Michael Esq NEW56Bernardo Dominic
1038Nicolas L GillianFrance2024-06-16Chapman, Ross E Esq NEW58Onyama Limba
1039Jefferson U ShinkoGermany2024-06-17Chapman, Ross E Esq UNQUALIFIED14Elwin Sharvill
1040Clifford E DoeArgentina2024-06-16Chemel, James L Cpa NEW20Ivan Magalhaes
1041Ivar R CampainCanada2024-06-08Commercial Press NEW6Xuxue Feng
1042Leon V PaprockiJapan2024-06-15Rangoni Of Florence RENEWAL12Stephen Shaw
1043Adams R WieserFrance2024-05-29Dorl, James J Esq QUALIFIED38Ivan Magalhaes
1044Arvin D BriddickIndia2024-06-21Feltz Printing Service PROPOSAL21Bernardo Dominic
1045Tony R ChuiSpain2024-06-15Truhlar And Truhlar Attys UNQUALIFIED35Asiya Javayant
1046Chavez H OstroskyIndia2024-06-07Feltz Printing Service PROPOSAL52Bernardo Dominic
1047Octavia L ChuiGermany2024-06-11Benton, John B Jr NEW37Asiya Javayant
1048Alejandro D BowleyAustralia2024-06-11Morlong Associates QUALIFIED41Onyama Limba
1049Morrow R SergiIndia2024-05-30Feiner Bros NEW1Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones B KolmetzArgentinaIoni Bowcher NEW
Munro P GauchoGermanyAsiya Javayant UNQUALIFIED
Murillo I AmigonCanadaIvan Magalhaes NEGOTIATION
Aditya V CaudySpainXuxue Feng RENEWAL
Ashley V MaletUnited KingdomAmy Elsner NEGOTIATION
Francesco E CaudyAustraliaStephen Shaw RENEWAL
Jennifer L FerenczGermanyIoni Bowcher UNQUALIFIED
Emily E SchemmerCanadaStephen Shaw NEGOTIATION
Ricardo P GarufiIndiaOnyama Limba NEW
Mayumi F BologniaCanadaIvan Magalhaes NEGOTIATION
Leon F FigeroaJapanXuxue Feng QUALIFIED
Aditya I GillianCanadaIvan Magalhaes RENEWAL
Jefferson K PaprockiRussiaOnyama Limba PROPOSAL
Darci N FollerBrazilAnna Fali RENEWAL
Claire B NickaRussiaStephen Shaw NEGOTIATION
Leon M OstroskyRussiaOnyama Limba PROPOSAL
Chavez F DoeFranceIoni Bowcher PROPOSAL
Morrow O VenereUnited KingdomAmy Elsner RENEWAL
Ricardo I MacleadUnited KingdomOnyama Limba NEGOTIATION
James Y CaudyUnited KingdomAnna Fali RENEWAL
Ashley V TollnerFranceIoni Bowcher PROPOSAL
Aika T CaudyBrazilXuxue Feng NEGOTIATION
Isabel I CaudyIndiaXuxue Feng NEW
Tony E KuskoAustraliaIoni Bowcher UNQUALIFIED
Jones D WhobreyCanadaAsiya Javayant RENEWAL
Murillo I NestleItalyBernardo Dominic NEW
Ivar U WhobreySpainIvan Magalhaes NEW
Smith P KolmetzRussiaIoni Bowcher PROPOSAL
Juan G RoysterArgentinaAnna Fali NEGOTIATION
Johnson B StensethJapanAsiya Javayant NEGOTIATION
Aditya Q WieserArgentinaIvan Magalhaes UNQUALIFIED
Morrow W ChuiAustraliaAnna Fali NEW
Smith W WaycottBrazilStephen Shaw QUALIFIED
Chavez Q OldroydItalyAsiya Javayant UNQUALIFIED
Julie K CampainIndiaIoni Bowcher UNQUALIFIED
Clifford U ChuiFranceStephen Shaw NEGOTIATION
Nicolas F FollerArgentinaAmy Elsner NEGOTIATION
Silvio A GarufiRussiaBernardo Dominic UNQUALIFIED
Izzy N GauchoArgentinaElwin Sharvill NEGOTIATION
Julie S MaletArgentinaIoni Bowcher QUALIFIED
Tony K KolmetzIndiaAsiya Javayant UNQUALIFIED
Francesco K NickaIndiaAmy Elsner RENEWAL
Jefferson M RulapaughCanadaXuxue Feng UNQUALIFIED
Johnson U SlusarskiSpainIoni Bowcher PROPOSAL
Izzy F PoquetteSpainStephen Shaw PROPOSAL
David V ChuiJapanBernardo Dominic PROPOSAL
Cody W VenereArgentinaAsiya Javayant NEGOTIATION
James G NestleSpainStephen Shaw RENEWAL
Ricardo K FerenczItalyOnyama Limba NEW
Nicolas F TollnerRussiaAnna Fali NEW
Frozen Columns
Name
Antonio B Inouye
Ashley Q Butt
Darci N Malet
Wickens H Ferencz
Rodrigues B Slusarski
Chavez W Marrier
Rodrigues H Ruta
Ivar E Gaucho
Octavia R Maclead
Arvin Z Albares
Jefferson L Kolmetz
Ivar Y Malet
Mayumi P Rulapaugh
Johnson J Shinko
Cody G Ferencz
Kaitlin E Malet
Rodrigues E Rim
Aika P Waycott
Stacey I Poquette
Claire S Briddick
Leja G Paprocki
Maria V Butt
Silvio M Darakjy
Nicolas G Schemmer
Jennifer M Butt
Aditya H Nestle
Leja J Tollner
Clifford T Kusko
Aika S Bowley
Francesco S Bowley
Francesco D Stenseth
Adams C Wieser
Ashley V Ruta
Maria T Albares
Stacey I Malet
Deepesh R Doe
Emily L Vocelka
Rodrigues V Briddick
Aditya H Paprocki
Costa M Caudy
Jones H Darakjy
Munro R Amigon
Antonio R Marrier
Ashley U Caudy
Jeanfrancois L Campain
Arvin U Albares
Maria G Iturbide
Ashley G Glick
Cody V Stockham
Morrow F Nestle
IdCountryDate
1000Spain2024-06-17
1001France2024-05-27
1002Russia2024-06-01
1003Germany2024-06-23
1004Italy2024-06-11
1005Brazil2024-06-14
1006Germany2024-06-01
1007United Kingdom2024-05-27
1008Canada2024-05-28
1009France2024-06-19
1010Australia2024-06-10
1011Russia2024-06-17
1012Brazil2024-06-17
1013Canada2024-06-16
1014Canada2024-06-16
1015Italy2024-06-21
1016United Kingdom2024-05-25
1017Japan2024-06-05
1018Argentina2024-06-20
1019France2024-06-23
1020Russia2024-06-14
1021France2024-06-14
1022Canada2024-05-26
1023Italy2024-06-06
1024Japan2024-05-27
1025India2024-05-28
1026Italy2024-06-05
1027Russia2024-06-09
1028United Kingdom2024-06-14
1029India2024-06-10
1030Germany2024-06-06
1031United Kingdom2024-06-15
1032Germany2024-05-27
1033France2024-06-02
1034Japan2024-05-30
1035India2024-06-06
1036United Kingdom2024-05-26
1037Australia2024-06-20
1038Germany2024-06-21
1039Argentina2024-06-13
1040Canada2024-05-29
1041Italy2024-06-11
1042Japan2024-06-02
1043Argentina2024-06-16
1044Italy2024-06-22
1045France2024-05-29
1046United Kingdom2024-06-18
1047Japan2024-06-22
1048Spain2024-05-30
1049Germany2024-05-27

On-Demand Data

NameIdCountryDate
Maria V Doe1000Germany2024-06-20
Emily G Gillian1001United Kingdom2024-06-04
Aditya L Glick1002Australia2024-06-14
David D Vocelka1003Australia2024-06-18
Mayumi V Ostrosky1004Canada2024-06-17
Jennifer R Ruta1005France2024-06-05
Maria A Oldroyd1006United Kingdom2024-06-20
Mujtaba X Malet1007Argentina2024-05-29
James B Venere1008Italy2024-06-02
Johnson W Kusko1009Canada2024-06-01
Clifford Q Schemmer1010Brazil2024-05-26
Misaki I Caudy1011Italy2024-05-26
Misaki C Ostrosky1012Spain2024-06-16
Sinclair E Gillian1013Italy2024-06-04
Aika Y Figeroa1014Germany2024-06-18
Aditya U Bowley1015Australia2024-05-26
Kaitlin L Bolognia1016Russia2024-06-08
Smith X Figeroa1017United Kingdom2024-05-25
Silvio T Albares1018Canada2024-05-26
Isabel A Malet1019India2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C BriddickIndiaXuxue Feng NEW
Mujtaba K PaprockiSpainStephen Shaw QUALIFIED
Darci B BowleyRussiaAnna Fali UNQUALIFIED
Maria G OstroskyBrazilIvan Magalhaes UNQUALIFIED
Kadeem S PoquetteSpainXuxue Feng RENEWAL
Wickens J TollnerFranceStephen Shaw PROPOSAL
Maisha E SaylorsSpainXuxue Feng NEW
Leja W PoquetteFranceIvan Magalhaes RENEWAL
Jennifer I KolmetzFranceAmy Elsner UNQUALIFIED
Francesco B NickaJapanIvan Magalhaes RENEWAL
David O PoquetteCanadaAmy Elsner NEGOTIATION
Jefferson X VocelkaItalyElwin Sharvill PROPOSAL
Kadeem I MaletArgentinaStephen Shaw QUALIFIED
Juan H MorascaIndiaStephen Shaw UNQUALIFIED
James U ChuiCanadaAsiya Javayant QUALIFIED
Kaitlin V VenereArgentinaOnyama Limba QUALIFIED
Mayumi Z FerenczBrazilBernardo Dominic UNQUALIFIED
David M BriddickIndiaStephen Shaw UNQUALIFIED
Kaitlin Q BowleyJapanAmy Elsner PROPOSAL
Maisha O KuskoIndiaIoni Bowcher PROPOSAL
Johnson R DilliardSpainElwin Sharvill QUALIFIED
Smith K ChuiUnited KingdomAmy Elsner UNQUALIFIED
Maisha A SlusarskiJapanBernardo Dominic NEW
Clifford F WhobreyAustraliaAmy Elsner RENEWAL
Ivar U MacleadSpainBernardo Dominic QUALIFIED
Jeanfrancois V PerinCanadaAmy Elsner PROPOSAL
Ricardo W TollnerGermanyIoni Bowcher RENEWAL
Aika E BriddickRussiaAmy Elsner NEW
Smith T ShinkoCanadaStephen Shaw NEW
Aditya E IturbideFranceElwin Sharvill RENEWAL
Costa E FigeroaGermanyElwin Sharvill NEW
Alejandro B PerinUnited KingdomOnyama Limba NEW
Smith S PaprockiFranceAsiya Javayant NEGOTIATION
Juan Z PerinCanadaXuxue Feng PROPOSAL
Cody T MaletUnited KingdomAmy Elsner QUALIFIED
Isabel K DoeCanadaOnyama Limba NEGOTIATION
Clifford R SergiArgentinaIoni Bowcher QUALIFIED
Kaitlin D SchemmerSpainStephen Shaw PROPOSAL
Chavez C SchemmerCanadaElwin Sharvill UNQUALIFIED
Faith N BowleySpainAnna Fali 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>