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
Kadeem Q AlbaresSpainXuxue Feng UNQUALIFIED
Misaki U ChuiBrazilElwin Sharvill NEW
Mujtaba A PerinJapanIoni Bowcher NEGOTIATION
Izzy Z SergiUnited KingdomXuxue Feng NEGOTIATION
Maisha W CampainUnited KingdomAmy Elsner NEGOTIATION
Johnson J CaldareraAustraliaAsiya Javayant NEW
Isabel E WaycottArgentinaAmy Elsner PROPOSAL
Maria I BowleyAustraliaOnyama Limba NEW
Silvio S MacleadSpainAsiya Javayant RENEWAL
Deepesh U CaudyGermanyXuxue Feng NEW
Juan D BriddickAustraliaXuxue Feng RENEWAL
Izzy F BologniaAustraliaOnyama Limba PROPOSAL
Misaki K BologniaFranceAnna Fali QUALIFIED
Silvio R PoquetteAustraliaAnna Fali QUALIFIED
Munro K FerenczUnited KingdomAnna Fali PROPOSAL
Adams T WhobreyArgentinaIvan Magalhaes NEGOTIATION
Emily J ButtUnited KingdomXuxue Feng UNQUALIFIED
Kadeem F FerenczSpainIvan Magalhaes QUALIFIED
Ivar R RulapaughJapanElwin Sharvill QUALIFIED
James M GauchoFranceIvan Magalhaes NEGOTIATION
Octavia L BologniaArgentinaStephen Shaw NEGOTIATION
Chavez P GauchoBrazilAmy Elsner UNQUALIFIED
Murillo J ChuiItalyIvan Magalhaes PROPOSAL
Darci A KuskoAustraliaXuxue Feng NEGOTIATION
Jones H InouyeUnited KingdomIvan Magalhaes NEW
Stacey F GlickIndiaOnyama Limba RENEWAL
Darci E SlusarskiJapanIoni Bowcher UNQUALIFIED
Jones W DilliardUnited KingdomOnyama Limba QUALIFIED
Emily K PaprockiSpainBernardo Dominic PROPOSAL
Smith V TollnerRussiaStephen Shaw QUALIFIED
Faith L MarrierUnited KingdomStephen Shaw UNQUALIFIED
James T PerinItalyStephen Shaw QUALIFIED
Murillo W IturbideIndiaStephen Shaw PROPOSAL
Johnson O SaylorsItalyAsiya Javayant PROPOSAL
Antonio J RutaJapanElwin Sharvill RENEWAL
Greenwood O GillianBrazilIvan Magalhaes NEW
Kadeem I PaprockiArgentinaOnyama Limba NEW
Cody Z BowleyUnited KingdomIoni Bowcher QUALIFIED
Kadeem I WaycottArgentinaElwin Sharvill NEW
Arvin K MorascaAustraliaAmy Elsner PROPOSAL
David R SchemmerFranceAsiya Javayant NEGOTIATION
Jefferson L WieserJapanStephen Shaw NEW
Leja I MacleadIndiaIoni Bowcher NEGOTIATION
Wickens N SergiIndiaIoni Bowcher NEW
David K TollnerItalyOnyama Limba RENEWAL
Antonio W SchemmerItalyOnyama Limba UNQUALIFIED
Silvio D WieserIndiaAsiya Javayant PROPOSAL
Leja A DoeArgentinaXuxue Feng RENEWAL
Deepesh J PaprockiCanadaAsiya Javayant NEGOTIATION
Misaki P KolmetzUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha Z KolmetzFranceStephen Shaw NEGOTIATION
Jefferson T ShinkoFranceAnna Fali RENEWAL
Antonio A KuskoArgentinaIoni Bowcher NEW
James N FerenczItalyOnyama Limba PROPOSAL
Deepesh J BologniaIndiaAmy Elsner RENEWAL
Isabel B OstroskyArgentinaIoni Bowcher QUALIFIED
Kaitlin C RutaAustraliaAnna Fali NEGOTIATION
Leja J GlickJapanXuxue Feng QUALIFIED
Silvio H DoeFranceAmy Elsner RENEWAL
Greenwood N GlickItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Y AmigonIndia2024-06-21Feiner Bros NEW83Stephen Shaw
1001Juan S DoeRussia2024-06-02Rangoni Of Florence NEW45Amy Elsner
1002Ricardo D StockhamGermany2024-06-09Chapman, Ross E Esq NEGOTIATION98Elwin Sharvill
1003Mayumi X PoquetteFrance2024-06-19Truhlar And Truhlar Attys RENEWAL84Asiya Javayant
1004Greenwood S IturbideFrance2024-06-08Benton, John B Jr RENEWAL72Stephen Shaw
1005James K NestleAustralia2024-05-31Benton, John B Jr NEGOTIATION90Asiya Javayant
1006Arvin A MarrierUnited Kingdom2024-06-19Dorl, James J Esq RENEWAL29Anna Fali
1007Nicolas H CaldareraFrance2024-05-28Dorl, James J Esq NEGOTIATION1Asiya Javayant
1008Wickens K SaylorsJapan2024-06-16Chemel, James L Cpa NEW48Ioni Bowcher
1009Emily C AlbaresGermany2024-06-14Chemel, James L Cpa NEW67Asiya Javayant
1010Cody W NestleGermany2024-05-30Chemel, James L Cpa RENEWAL48Elwin Sharvill
1011Maisha C WaycottUnited Kingdom2024-06-16Feiner Bros UNQUALIFIED83Elwin Sharvill
1012Cody K GauchoAustralia2024-06-18Chapman, Ross E Esq RENEWAL35Onyama Limba
1013Salvatore T SergiArgentina2024-06-01Truhlar And Truhlar Attys RENEWAL63Bernardo Dominic
1014Kaitlin E MaletArgentina2024-06-08Chanay, Jeffrey A Esq PROPOSAL82Elwin Sharvill
1015James Y CaldareraSpain2024-06-05Rousseaux, Michael Esq UNQUALIFIED61Elwin Sharvill
1016Jeanfrancois C WieserJapan2024-05-24Buckley Miller Wright RENEWAL92Bernardo Dominic
1017Johnson M WieserArgentina2024-05-27Buckley Miller Wright PROPOSAL69Asiya Javayant
1018Faith N PaprockiRussia2024-06-19Chapman, Ross E Esq QUALIFIED51Stephen Shaw
1019Johnson R FigeroaGermany2024-05-27Benton, John B Jr QUALIFIED47Ioni Bowcher
1020Cody G MarrierBrazil2024-06-15Truhlar And Truhlar Attys NEGOTIATION92Asiya Javayant
1021Wickens H WieserUnited Kingdom2024-06-20Dorl, James J Esq RENEWAL11Amy Elsner
1022Costa G VocelkaBrazil2024-06-20Chemel, James L Cpa NEW70Onyama Limba
1023Greenwood I RutaIndia2024-06-03Chanay, Jeffrey A Esq NEGOTIATION25Bernardo Dominic
1024Clifford E MacleadBrazil2024-06-07Commercial Press UNQUALIFIED26Ivan Magalhaes
1025Greenwood X NickaAustralia2024-06-17Benton, John B Jr QUALIFIED56Xuxue Feng
1026Jennifer M StockhamItaly2024-06-22Chanay, Jeffrey A Esq NEW22Bernardo Dominic
1027Sinclair K IturbideSpain2024-06-19Feltz Printing Service NEW46Ivan Magalhaes
1028James D StockhamRussia2024-06-20Buckley Miller Wright UNQUALIFIED99Ivan Magalhaes
1029Darci V KolmetzBrazil2024-06-07Feiner Bros QUALIFIED39Xuxue Feng
1030Misaki G KolmetzAustralia2024-06-06Printing Dimensions UNQUALIFIED17Anna Fali
1031Leja R FigeroaAustralia2024-06-08Truhlar And Truhlar Attys PROPOSAL38Anna Fali
1032Morrow X CaudyRussia2024-06-01Buckley Miller Wright PROPOSAL9Elwin Sharvill
1033Antonio V OstroskyAustralia2024-06-17Morlong Associates PROPOSAL55Bernardo Dominic
1034Adams A DarakjyBrazil2024-05-24King, Christopher A Esq QUALIFIED55Amy Elsner
1035Claire F WhobreyArgentina2024-06-19Benton, John B Jr RENEWAL63Ioni Bowcher
1036Maria H DoeUnited Kingdom2024-06-11Feltz Printing Service QUALIFIED63Ivan Magalhaes
1037Aditya X StockhamItaly2024-06-15Morlong Associates UNQUALIFIED68Bernardo Dominic
1038Claire R AmigonAustralia2024-05-28Chemel, James L Cpa UNQUALIFIED78Amy Elsner
1039Kadeem W FerenczBrazil2024-06-08Feiner Bros NEW62Ioni Bowcher
1040Jennifer P BriddickUnited Kingdom2024-05-28Rangoni Of Florence QUALIFIED78Stephen Shaw
1041Maisha F BowleyJapan2024-06-06Dorl, James J Esq UNQUALIFIED6Ioni Bowcher
1042Clifford F GillianJapan2024-06-16King, Christopher A Esq PROPOSAL11Xuxue Feng
1043Wickens P RutaAustralia2024-06-15King, Christopher A Esq NEW40Bernardo Dominic
1044Claire W WhobreyRussia2024-05-25Chanay, Jeffrey A Esq QUALIFIED79Xuxue Feng
1045Silvio E WaycottUnited Kingdom2024-06-05Commercial Press PROPOSAL41Asiya Javayant
1046Sinclair R StockhamCanada2024-05-28Chanay, Jeffrey A Esq RENEWAL81Elwin Sharvill
1047Juan L VocelkaAustralia2024-05-29Feiner Bros UNQUALIFIED60Xuxue Feng
1048Maria G NestleCanada2024-06-22Rousseaux, Michael Esq UNQUALIFIED54Ioni Bowcher
1049Tony T AmigonUnited Kingdom2024-06-03Truhlar And Truhlar Attys RENEWAL69Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
James O ButtBrazilOnyama Limba NEW
Faith W IturbideRussiaAsiya Javayant NEGOTIATION
Nicolas B FollerCanadaElwin Sharvill QUALIFIED
Wickens Z SlusarskiBrazilXuxue Feng RENEWAL
Antonio G FerenczRussiaIvan Magalhaes UNQUALIFIED
Izzy S KuskoIndiaIoni Bowcher UNQUALIFIED
Aruna N GillianItalyElwin Sharvill QUALIFIED
Mayumi H AlbaresSpainOnyama Limba PROPOSAL
James P GlickFranceXuxue Feng NEGOTIATION
Darci P KuskoUnited KingdomAsiya Javayant RENEWAL
Juan Q RulapaughSpainBernardo Dominic NEGOTIATION
Nicolas W SaylorsItalyStephen Shaw QUALIFIED
Misaki Q WhobreyArgentinaElwin Sharvill QUALIFIED
Tony T DilliardGermanyXuxue Feng NEW
Ashley D GillianFranceIoni Bowcher NEGOTIATION
Kaitlin A WhobreyJapanAnna Fali NEW
Kadeem Z WaycottJapanOnyama Limba QUALIFIED
Darci P InouyeIndiaIvan Magalhaes UNQUALIFIED
Sinclair Z ChuiJapanElwin Sharvill QUALIFIED
Claire Q MorascaBrazilIoni Bowcher QUALIFIED
Leon O StockhamItalyStephen Shaw PROPOSAL
Smith N TollnerJapanElwin Sharvill PROPOSAL
Juan L NestleItalyOnyama Limba UNQUALIFIED
Adams D BowleyJapanAmy Elsner PROPOSAL
Salvatore J BowleyFranceStephen Shaw PROPOSAL
Alejandro E KolmetzUnited KingdomAmy Elsner PROPOSAL
Adams K WhobreyBrazilIvan Magalhaes NEW
Chavez T SlusarskiAustraliaAmy Elsner UNQUALIFIED
Murillo I InouyeArgentinaIoni Bowcher NEGOTIATION
Claire X MorascaSpainXuxue Feng NEW
Murillo W InouyeRussiaXuxue Feng PROPOSAL
Jeanfrancois Y ButtIndiaAsiya Javayant QUALIFIED
Munro V GarufiUnited KingdomXuxue Feng QUALIFIED
Misaki N MaletIndiaIvan Magalhaes RENEWAL
Darci H CampainUnited KingdomAsiya Javayant NEGOTIATION
Mayumi Q PerinFranceOnyama Limba QUALIFIED
Silvio H FlosiJapanOnyama Limba NEGOTIATION
Leja K InouyeAustraliaOnyama Limba RENEWAL
Rodrigues I OldroydBrazilXuxue Feng UNQUALIFIED
Cody D MacleadItalyAnna Fali UNQUALIFIED
Juan G WieserFranceAmy Elsner NEGOTIATION
Jefferson F VenereSpainAnna Fali RENEWAL
Johnson Q SchemmerJapanIvan Magalhaes RENEWAL
Faith B ShinkoAustraliaAmy Elsner NEW
Mayumi X FerenczGermanyStephen Shaw UNQUALIFIED
Clifford P IturbideGermanyIoni Bowcher NEW
Aika U InouyeJapanStephen Shaw RENEWAL
Arvin W AmigonArgentinaBernardo Dominic NEW
Adams R FlosiItalyElwin Sharvill NEW
Chavez W KuskoSpainElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Aruna M Maclead
Maisha X Oldroyd
Johnson U Briddick
Silvio K Poquette
Kadeem W Saylors
Francesco Z Doe
Misaki L Butt
Salvatore R Nestle
Jennifer Y Figeroa
Morrow L Marrier
Sinclair A Caudy
Jones W Poquette
Juan V Albares
Maisha U Schemmer
Julie B Marrier
Arvin G Bowley
Johnson W Shinko
Murillo Z Caudy
Rodrigues W Ferencz
Sinclair U Maclead
Emily J Bowley
Misaki N Poquette
Sinclair U Foller
Misaki L Doe
Costa E Maclead
Johnson U Gaucho
Arvin T Venere
Emily X Tollner
Greenwood W Briddick
Tony H Garufi
Johnson O Foller
Costa D Caudy
Antonio L Perin
Jennifer X Slusarski
Mujtaba I Malet
Greenwood X Gaucho
Alejandro P Glick
Cody V Caudy
Antonio D Flosi
Arvin C Amigon
James Q Rim
Julie T Kolmetz
Murillo P Butt
David B Bowley
Greenwood A Iturbide
Antonio C Garufi
Juan Z Ferencz
Aika Q Chui
Stacey S Stockham
David L Rulapaugh
IdCountryDate
1000Brazil2024-06-03
1001Brazil2024-06-14
1002Germany2024-05-25
1003Brazil2024-06-07
1004Canada2024-06-11
1005India2024-06-09
1006Japan2024-05-31
1007Canada2024-06-03
1008Japan2024-06-06
1009United Kingdom2024-05-30
1010Australia2024-06-12
1011Spain2024-06-19
1012Australia2024-06-07
1013France2024-05-31
1014France2024-06-08
1015United Kingdom2024-06-05
1016United Kingdom2024-05-31
1017Argentina2024-06-14
1018Argentina2024-06-05
1019Spain2024-06-03
1020Italy2024-06-05
1021Spain2024-06-18
1022Japan2024-06-13
1023Italy2024-05-31
1024Russia2024-05-24
1025India2024-06-22
1026Italy2024-05-26
1027Canada2024-06-12
1028Canada2024-06-20
1029Canada2024-05-24
1030France2024-05-28
1031Germany2024-06-10
1032Spain2024-06-14
1033Brazil2024-05-26
1034Italy2024-06-06
1035Russia2024-06-19
1036France2024-06-18
1037United Kingdom2024-06-14
1038India2024-06-15
1039Japan2024-06-13
1040India2024-05-31
1041Spain2024-06-03
1042France2024-06-01
1043Australia2024-05-28
1044India2024-06-16
1045India2024-05-29
1046Australia2024-05-31
1047Spain2024-06-16
1048Japan2024-06-05
1049Australia2024-06-09

On-Demand Data

NameIdCountryDate
Chavez G Darakjy1000Japan2024-05-26
Stacey A Briddick1001Brazil2024-05-29
Faith Z Maclead1002Germany2024-06-02
Faith O Campain1003Canada2024-06-14
Nicolas J Campain1004Australia2024-06-20
Morrow E Bowley1005United Kingdom2024-06-11
Aika Q Flosi1006France2024-06-01
Costa X Waycott1007Japan2024-06-20
Isabel D Stenseth1008Russia2024-05-31
Ricardo C Butt1009Italy2024-06-17
Clifford A Marrier1010France2024-05-31
Maria H Marrier1011Germany2024-06-18
Ashley U Inouye1012Russia2024-06-11
James M Stockham1013Australia2024-06-19
Jeanfrancois D Amigon1014United Kingdom2024-06-07
Kadeem R Waycott1015Australia2024-06-19
Jeanfrancois Z Schemmer1016France2024-06-14
Alejandro G Iturbide1017Canada2024-06-11
Alejandro F Slusarski1018France2024-05-31
Salvatore N Saylors1019France2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci N StockhamRussiaElwin Sharvill PROPOSAL
Izzy N CaudyGermanyOnyama Limba UNQUALIFIED
Johnson Z RoysterRussiaIvan Magalhaes NEGOTIATION
Kadeem V MorascaCanadaElwin Sharvill UNQUALIFIED
Sinclair Y OstroskyCanadaAnna Fali QUALIFIED
Ricardo Y NestleItalyElwin Sharvill NEW
Sinclair O PaprockiFranceAnna Fali UNQUALIFIED
Leon Q KolmetzRussiaAmy Elsner RENEWAL
Maria Y PerinBrazilBernardo Dominic NEGOTIATION
Faith A BologniaCanadaBernardo Dominic NEW
Stacey X GarufiFranceIoni Bowcher NEW
Nicolas J BriddickItalyStephen Shaw RENEWAL
Murillo N SaylorsIndiaAsiya Javayant NEW
Izzy I GauchoSpainOnyama Limba NEW
Tony X ShinkoJapanXuxue Feng PROPOSAL
Greenwood S GauchoFranceOnyama Limba PROPOSAL
David R OldroydItalyAnna Fali PROPOSAL
Ricardo P ShinkoGermanyElwin Sharvill RENEWAL
Aditya G RulapaughIndiaAnna Fali RENEWAL
Julie F DilliardSpainBernardo Dominic PROPOSAL
Costa Q RoysterRussiaAmy Elsner QUALIFIED
Chavez X SchemmerJapanBernardo Dominic UNQUALIFIED
Aruna G WieserIndiaIvan Magalhaes RENEWAL
Arvin R MacleadAustraliaAsiya Javayant UNQUALIFIED
Mujtaba O KuskoSpainOnyama Limba RENEWAL
Izzy P SaylorsIndiaAmy Elsner NEGOTIATION
Antonio H MorascaJapanStephen Shaw RENEWAL
Kaitlin O NickaBrazilAnna Fali QUALIFIED
Chavez K PerinJapanElwin Sharvill UNQUALIFIED
Francesco H CaudyGermanyAmy Elsner UNQUALIFIED
Juan K SergiCanadaIvan Magalhaes RENEWAL
Aruna C SaylorsGermanyAmy Elsner UNQUALIFIED
Ashley H KuskoBrazilAmy Elsner NEW
Faith Z FigeroaIndiaStephen Shaw PROPOSAL
Jefferson K DoeBrazilAnna Fali PROPOSAL
Mayumi H InouyeItalyXuxue Feng PROPOSAL
Nicolas M SaylorsJapanAmy Elsner RENEWAL
Stacey L FerenczSpainXuxue Feng PROPOSAL
Claire Z KolmetzBrazilXuxue Feng QUALIFIED
Mujtaba R SaylorsAustraliaIvan Magalhaes QUALIFIED

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