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
Munro L SergiArgentinaBernardo Dominic NEGOTIATION
Tony S CampainUnited KingdomElwin Sharvill PROPOSAL
Izzy D VenereRussiaAsiya Javayant QUALIFIED
Wickens E SlusarskiRussiaAsiya Javayant NEW
Julie Q StensethSpainAmy Elsner RENEWAL
Leon O OldroydSpainAmy Elsner PROPOSAL
Jones W MorascaBrazilOnyama Limba QUALIFIED
Claire E MaletBrazilAsiya Javayant PROPOSAL
Jennifer Q ButtSpainXuxue Feng PROPOSAL
Smith T MaletJapanElwin Sharvill QUALIFIED
Cody A StensethArgentinaAmy Elsner RENEWAL
Greenwood M DoeIndiaBernardo Dominic RENEWAL
Kadeem X WhobreyBrazilStephen Shaw UNQUALIFIED
Kaitlin M DarakjyAustraliaOnyama Limba PROPOSAL
Misaki F SlusarskiRussiaAmy Elsner UNQUALIFIED
Wickens U OstroskyIndiaXuxue Feng UNQUALIFIED
Faith Z IturbideRussiaElwin Sharvill NEW
Rodrigues V BologniaBrazilElwin Sharvill NEW
Jones U AmigonCanadaBernardo Dominic NEGOTIATION
Murillo K InouyeSpainStephen Shaw UNQUALIFIED
Francesco M MaletJapanXuxue Feng QUALIFIED
Chavez F BowleyGermanyStephen Shaw QUALIFIED
Salvatore S FollerSpainElwin Sharvill RENEWAL
Antonio K SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Kaitlin S RulapaughSpainAnna Fali NEW
Izzy N FigeroaFranceIoni Bowcher NEW
Jefferson P FigeroaUnited KingdomXuxue Feng QUALIFIED
Mujtaba O RoysterSpainStephen Shaw QUALIFIED
Leon J FigeroaJapanElwin Sharvill UNQUALIFIED
Mayumi R AmigonJapanXuxue Feng PROPOSAL
Morrow Q RimJapanBernardo Dominic RENEWAL
Arvin E GarufiIndiaIoni Bowcher NEW
Deepesh R StensethUnited KingdomAsiya Javayant NEGOTIATION
Nicolas C OldroydRussiaElwin Sharvill UNQUALIFIED
Ricardo Z StensethUnited KingdomAnna Fali NEW
Mayumi X GillianJapanIvan Magalhaes QUALIFIED
Silvio B StensethBrazilBernardo Dominic PROPOSAL
Darci M RimAustraliaOnyama Limba NEGOTIATION
Julie X DilliardCanadaStephen Shaw NEGOTIATION
Tony W FlosiItalyAnna Fali PROPOSAL
Julie Y BowleyArgentinaBernardo Dominic RENEWAL
Juan R FlosiJapanBernardo Dominic QUALIFIED
Maria G GlickBrazilOnyama Limba PROPOSAL
Ivar A RulapaughSpainBernardo Dominic PROPOSAL
Smith M FlosiItalyIoni Bowcher UNQUALIFIED
Chavez S BowleyCanadaOnyama Limba QUALIFIED
Adams S NestleArgentinaStephen Shaw QUALIFIED
Darci C InouyeArgentinaAsiya Javayant NEGOTIATION
Juan G RoysterFranceOnyama Limba RENEWAL
Isabel Q NickaBrazilElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya C SlusarskiCanadaAmy Elsner PROPOSAL
Julie S CaudyAustraliaAnna Fali NEW
Antonio B InouyeJapanAmy Elsner NEW
Jeanfrancois V CaldareraSpainXuxue Feng NEW
Nicolas F DarakjyAustraliaXuxue Feng QUALIFIED
Faith K ShinkoSpainIoni Bowcher PROPOSAL
Johnson O TollnerBrazilBernardo Dominic PROPOSAL
Cody K OstroskyFranceAnna Fali QUALIFIED
Aika E NestleRussiaIoni Bowcher QUALIFIED
Aruna Y FlosiFranceIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Z DoeUnited Kingdom2024-05-28Rousseaux, Michael Esq NEGOTIATION92Elwin Sharvill
1001Jones K RimFrance2024-05-28Feiner Bros NEW97Onyama Limba
1002Emily M ChuiJapan2024-05-20Benton, John B Jr RENEWAL94Ivan Magalhaes
1003Alejandro X BowleyUnited Kingdom2024-05-27King, Christopher A Esq UNQUALIFIED8Onyama Limba
1004Darci U TollnerArgentina2024-06-14Commercial Press NEGOTIATION79Anna Fali
1005Antonio W WieserRussia2024-05-24Commercial Press NEGOTIATION6Elwin Sharvill
1006Ricardo R MarrierBrazil2024-06-09King, Christopher A Esq RENEWAL40Anna Fali
1007Izzy M SaylorsArgentina2024-06-08Printing Dimensions UNQUALIFIED24Amy Elsner
1008Juan M WieserUnited Kingdom2024-06-11King, Christopher A Esq QUALIFIED99Bernardo Dominic
1009Claire T DarakjyBrazil2024-06-13Dorl, James J Esq NEGOTIATION72Xuxue Feng
1010Kadeem F RulapaughRussia2024-05-23Feiner Bros NEW71Bernardo Dominic
1011Tony X FerenczRussia2024-05-25Dorl, James J Esq UNQUALIFIED43Asiya Javayant
1012Rodrigues G DilliardAustralia2024-06-05Feiner Bros NEGOTIATION84Stephen Shaw
1013Silvio X NickaSpain2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED17Anna Fali
1014Ashley Q GarufiArgentina2024-06-02Dorl, James J Esq RENEWAL45Ioni Bowcher
1015Jeanfrancois Q MorascaJapan2024-06-06Truhlar And Truhlar Attys RENEWAL95Ioni Bowcher
1016Chavez T OstroskyAustralia2024-06-02Morlong Associates PROPOSAL49Stephen Shaw
1017Maisha T BriddickRussia2024-05-30Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1018Aika D ButtRussia2024-06-18Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1019Misaki V KuskoJapan2024-06-14Printing Dimensions UNQUALIFIED56Ioni Bowcher
1020Stacey A MacleadRussia2024-06-16Benton, John B Jr UNQUALIFIED87Asiya Javayant
1021Mayumi S RimIndia2024-06-03Rousseaux, Michael Esq QUALIFIED25Xuxue Feng
1022Francesco I StensethSpain2024-05-25King, Christopher A Esq UNQUALIFIED34Elwin Sharvill
1023Mujtaba S FerenczIndia2024-05-20Chapman, Ross E Esq UNQUALIFIED79Amy Elsner
1024Claire P StockhamRussia2024-06-05Rangoni Of Florence UNQUALIFIED65Elwin Sharvill
1025Rodrigues H WhobreyFrance2024-06-05Buckley Miller Wright RENEWAL12Anna Fali
1026Munro X GauchoFrance2024-05-20King, Christopher A Esq PROPOSAL77Amy Elsner
1027Julie Z MaletBrazil2024-05-25Commercial Press QUALIFIED86Onyama Limba
1028Cody V KuskoIndia2024-06-14Rangoni Of Florence NEW58Onyama Limba
1029Stacey Z DilliardSpain2024-06-06King, Christopher A Esq QUALIFIED18Stephen Shaw
1030Jones A AmigonIndia2024-06-04Chemel, James L Cpa NEW27Onyama Limba
1031Ricardo D GauchoUnited Kingdom2024-05-28Dorl, James J Esq RENEWAL16Anna Fali
1032Ricardo A OldroydArgentina2024-06-11Dorl, James J Esq UNQUALIFIED48Onyama Limba
1033Jefferson W SlusarskiBrazil2024-05-25Chanay, Jeffrey A Esq NEW22Stephen Shaw
1034Kaitlin A GlickUnited Kingdom2024-06-07Commercial Press RENEWAL46Elwin Sharvill
1035Izzy W NickaFrance2024-06-10Chemel, James L Cpa PROPOSAL57Amy Elsner
1036Isabel X NickaCanada2024-05-29Chemel, James L Cpa UNQUALIFIED76Bernardo Dominic
1037Julie A SlusarskiGermany2024-05-21Feltz Printing Service NEGOTIATION16Ioni Bowcher
1038Tony Z SchemmerGermany2024-06-07Buckley Miller Wright QUALIFIED17Ivan Magalhaes
1039James S AlbaresSpain2024-05-29Rangoni Of Florence PROPOSAL65Ioni Bowcher
1040Aika A KolmetzGermany2024-06-08Chemel, James L Cpa PROPOSAL56Bernardo Dominic
1041Aruna T ButtRussia2024-06-10Printing Dimensions NEGOTIATION3Anna Fali
1042Rodrigues B DarakjyUnited Kingdom2024-05-25Buckley Miller Wright UNQUALIFIED58Bernardo Dominic
1043Greenwood Q FigeroaBrazil2024-06-02Chapman, Ross E Esq UNQUALIFIED31Stephen Shaw
1044Jeanfrancois C ChuiGermany2024-06-09Chemel, James L Cpa PROPOSAL23Bernardo Dominic
1045Nicolas U KuskoIndia2024-06-06Truhlar And Truhlar Attys QUALIFIED72Ivan Magalhaes
1046Ricardo J RutaGermany2024-06-07Chanay, Jeffrey A Esq QUALIFIED59Bernardo Dominic
1047Ashley N CaudyArgentina2024-06-04Benton, John B Jr UNQUALIFIED21Stephen Shaw
1048Claire U FlosiSpain2024-06-05Truhlar And Truhlar Attys QUALIFIED35Xuxue Feng
1049Tony Z OldroydItaly2024-05-31Rousseaux, Michael Esq UNQUALIFIED10Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily K AmigonAustraliaAmy Elsner QUALIFIED
Cody C StensethBrazilElwin Sharvill QUALIFIED
Cody Z ChuiGermanyBernardo Dominic RENEWAL
Kadeem K FollerArgentinaStephen Shaw PROPOSAL
Sinclair R AmigonSpainAmy Elsner NEGOTIATION
Sinclair R SaylorsUnited KingdomAmy Elsner NEW
Francesco P CaudyJapanAnna Fali PROPOSAL
Antonio C NestleBrazilAnna Fali UNQUALIFIED
Salvatore X PaprockiFranceAnna Fali QUALIFIED
Aika N MacleadJapanAsiya Javayant NEW
Faith X AmigonGermanyAnna Fali NEW
Julie B KolmetzGermanyOnyama Limba NEGOTIATION
Jennifer K CampainCanadaXuxue Feng PROPOSAL
Stacey S PerinArgentinaElwin Sharvill QUALIFIED
Munro O GlickSpainStephen Shaw UNQUALIFIED
Misaki Y AmigonJapanAnna Fali NEGOTIATION
Tony V VenereIndiaAmy Elsner UNQUALIFIED
Jones I VenereIndiaStephen Shaw NEGOTIATION
Juan B CaldareraSpainIvan Magalhaes UNQUALIFIED
Chavez U RoysterCanadaAmy Elsner NEGOTIATION
Clifford S ChuiJapanIoni Bowcher UNQUALIFIED
Jefferson J WhobreyCanadaElwin Sharvill NEGOTIATION
Adams Y VocelkaAustraliaIoni Bowcher NEW
Rodrigues U MarrierItalyBernardo Dominic RENEWAL
Tony W SchemmerBrazilAmy Elsner NEW
Silvio Y RoysterAustraliaAsiya Javayant UNQUALIFIED
Aruna C RutaAustraliaBernardo Dominic PROPOSAL
Chavez D BowleyAustraliaAnna Fali QUALIFIED
Darci L SaylorsGermanyIoni Bowcher UNQUALIFIED
Costa J SlusarskiAustraliaBernardo Dominic NEW
Nicolas K FollerBrazilAmy Elsner PROPOSAL
David B MaletCanadaIoni Bowcher PROPOSAL
Morrow Y BriddickJapanOnyama Limba NEW
Antonio X RoysterSpainIoni Bowcher RENEWAL
Morrow O PerinGermanyIvan Magalhaes PROPOSAL
Adams E KuskoSpainAsiya Javayant RENEWAL
Smith I SlusarskiCanadaStephen Shaw QUALIFIED
Greenwood S GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Wickens H MacleadUnited KingdomAsiya Javayant NEGOTIATION
Misaki G AmigonItalyXuxue Feng NEW
Adams Y PoquetteArgentinaAsiya Javayant NEGOTIATION
Deepesh O DoeArgentinaAnna Fali NEW
Antonio X StockhamAustraliaStephen Shaw UNQUALIFIED
Mayumi M MacleadArgentinaBernardo Dominic RENEWAL
Kadeem M IturbideArgentinaOnyama Limba QUALIFIED
Adams Q FlosiArgentinaBernardo Dominic NEW
Cody J FerenczCanadaAnna Fali PROPOSAL
David E RutaBrazilAnna Fali UNQUALIFIED
Sinclair N BologniaIndiaIoni Bowcher RENEWAL
Sinclair U RoysterUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Ivar Q Amigon
David V Whobrey
Cody Y Nicka
Juan M Briddick
Faith M Slusarski
Mujtaba N Albares
Maria B Albares
Claire N Glick
Jefferson O Chui
Jennifer P Bowley
Jennifer J Foller
Aruna G Sergi
Antonio G Tollner
Nicolas R Bowley
Julie P Sergi
Leja W Poquette
Murillo Y Paprocki
Arvin U Royster
Jeanfrancois L Tollner
Smith D Butt
Cody P Foller
Faith W Malet
Salvatore C Shinko
Misaki R Stenseth
Rodrigues O Amigon
Antonio V Gaucho
Ricardo W Rulapaugh
Leon N Amigon
Aika T Butt
Munro G Darakjy
Mayumi A Garufi
Chavez F Gaucho
Jefferson J Campain
Alejandro K Rim
Costa K Rim
Maisha L Stenseth
Maisha E Tollner
Emily K Flosi
Deepesh T Iturbide
Leon M Gaucho
Jones B Glick
Izzy B Figeroa
Emily D Saylors
Aruna R Darakjy
Juan C Gillian
Adams J Malet
David D Slusarski
Kaitlin T Nestle
Izzy G Rim
Salvatore X Malet
IdCountryDate
1000Brazil2024-05-28
1001Italy2024-06-16
1002Argentina2024-06-17
1003Japan2024-06-14
1004Canada2024-06-04
1005Russia2024-06-17
1006Brazil2024-05-27
1007Japan2024-05-24
1008Australia2024-06-13
1009France2024-06-07
1010Russia2024-06-03
1011France2024-05-30
1012United Kingdom2024-06-13
1013Russia2024-06-17
1014Italy2024-06-12
1015United Kingdom2024-05-22
1016Canada2024-05-23
1017United Kingdom2024-06-02
1018India2024-05-28
1019United Kingdom2024-06-18
1020Russia2024-06-07
1021Russia2024-05-28
1022Germany2024-06-01
1023Spain2024-05-20
1024Russia2024-06-04
1025France2024-06-08
1026Russia2024-06-13
1027Japan2024-05-25
1028Russia2024-06-14
1029Russia2024-05-28
1030Spain2024-05-29
1031Spain2024-06-09
1032India2024-06-08
1033France2024-06-18
1034United Kingdom2024-05-21
1035Canada2024-05-23
1036Italy2024-06-11
1037Argentina2024-06-12
1038Russia2024-06-02
1039Spain2024-05-29
1040Japan2024-05-25
1041Canada2024-06-13
1042Spain2024-06-01
1043Germany2024-05-29
1044Spain2024-05-26
1045Spain2024-05-22
1046Argentina2024-06-07
1047Spain2024-06-11
1048Argentina2024-06-02
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Mujtaba V Nestle1000Russia2024-06-15
Emily H Tollner1001Russia2024-06-09
Sinclair O Schemmer1002Australia2024-05-29
Aruna I Garufi1003Japan2024-05-22
James A Briddick1004Russia2024-06-16
Stacey G Schemmer1005Spain2024-05-22
Antonio Q Nestle1006France2024-06-14
Faith C Amigon1007United Kingdom2024-05-28
Darci A Waycott1008Russia2024-05-24
Nicolas K Caldarera1009United Kingdom2024-06-04
David T Marrier1010Canada2024-06-16
Jones V Butt1011Brazil2024-06-02
Greenwood Z Malet1012Argentina2024-06-08
Ashley H Gillian1013Japan2024-06-06
Sinclair P Bowley1014Germany2024-06-14
Ivar V Slusarski1015Brazil2024-06-07
Clifford N Briddick1016India2024-06-15
Cody Z Chui1017Spain2024-06-18
Jones P Kusko1018Italy2024-06-08
Maisha X Gillian1019Spain2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco E ShinkoItalyBernardo Dominic NEW
Rodrigues M PoquetteArgentinaIvan Magalhaes NEGOTIATION
Deepesh W KolmetzArgentinaIvan Magalhaes PROPOSAL
Sinclair O AmigonBrazilAnna Fali PROPOSAL
Morrow R RutaArgentinaBernardo Dominic UNQUALIFIED
Maria Z GarufiFranceStephen Shaw RENEWAL
Silvio J AlbaresBrazilAnna Fali NEGOTIATION
Ashley S DilliardJapanAsiya Javayant NEGOTIATION
Izzy D FlosiRussiaAnna Fali NEW
Adams L OldroydFranceIvan Magalhaes UNQUALIFIED
Maria T KuskoItalyXuxue Feng RENEWAL
Aika B TollnerRussiaXuxue Feng PROPOSAL
Ashley Q StockhamIndiaIoni Bowcher NEW
David M StockhamJapanAsiya Javayant RENEWAL
Julie F CaldareraIndiaElwin Sharvill RENEWAL
James Z KuskoUnited KingdomBernardo Dominic QUALIFIED
Cody K MacleadGermanyIvan Magalhaes QUALIFIED
Isabel H OldroydItalyStephen Shaw RENEWAL
Kadeem K VocelkaIndiaBernardo Dominic NEGOTIATION
Jones R AlbaresArgentinaIoni Bowcher PROPOSAL
Kadeem Y VenereSpainElwin Sharvill QUALIFIED
Nicolas Q DoeSpainAsiya Javayant RENEWAL
Maisha I StensethRussiaIoni Bowcher RENEWAL
Jeanfrancois D VenereItalyIvan Magalhaes UNQUALIFIED
Antonio N SergiSpainAmy Elsner PROPOSAL
Greenwood Q TollnerCanadaElwin Sharvill RENEWAL
Adams V GillianIndiaBernardo Dominic RENEWAL
Julie C AmigonJapanAnna Fali NEW
Ashley Z BologniaSpainAsiya Javayant RENEWAL
Arvin Y SchemmerSpainOnyama Limba PROPOSAL
Costa E WieserIndiaAmy Elsner NEW
Cody I NestleGermanyOnyama Limba PROPOSAL
Arvin Z GlickAustraliaElwin Sharvill NEW
Mujtaba H NickaGermanyStephen Shaw NEGOTIATION
Jeanfrancois D SergiArgentinaOnyama Limba NEW
Clifford S GauchoBrazilIvan Magalhaes QUALIFIED
Darci L BowleyCanadaAmy Elsner PROPOSAL
Misaki F SlusarskiRussiaAsiya Javayant NEGOTIATION
Smith B VenereCanadaAsiya Javayant PROPOSAL
Faith F NestleSpainBernardo Dominic 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>