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
Juan G AmigonArgentinaOnyama Limba NEW
Darci N WaycottRussiaBernardo Dominic PROPOSAL
Maisha J GillianJapanOnyama Limba QUALIFIED
Maria T RimSpainAnna Fali PROPOSAL
Jefferson D PerinSpainAsiya Javayant QUALIFIED
Jefferson G NickaIndiaAsiya Javayant QUALIFIED
Aditya B MacleadItalyElwin Sharvill PROPOSAL
Izzy E BowleyRussiaElwin Sharvill RENEWAL
Juan Y KolmetzIndiaAnna Fali RENEWAL
Jennifer S DoeRussiaXuxue Feng RENEWAL
Greenwood F SchemmerArgentinaElwin Sharvill NEW
Darci V PaprockiRussiaXuxue Feng UNQUALIFIED
Leja C NickaCanadaAmy Elsner NEW
Rodrigues B MaletJapanOnyama Limba UNQUALIFIED
David Q StockhamAustraliaOnyama Limba NEW
Arvin G ShinkoUnited KingdomAnna Fali QUALIFIED
Munro U GlickBrazilXuxue Feng QUALIFIED
Maisha G WieserJapanOnyama Limba PROPOSAL
Costa N BologniaFranceAmy Elsner PROPOSAL
Costa Q PerinCanadaElwin Sharvill PROPOSAL
Johnson L CaldareraArgentinaStephen Shaw QUALIFIED
Greenwood W MaletUnited KingdomAmy Elsner NEGOTIATION
Ashley J StensethGermanyBernardo Dominic NEGOTIATION
Aruna O SchemmerFranceAsiya Javayant NEW
David H FlosiAustraliaIvan Magalhaes NEGOTIATION
Jones M NestleItalyIoni Bowcher NEW
Leon B KuskoIndiaAnna Fali QUALIFIED
Mayumi D MarrierAustraliaBernardo Dominic NEGOTIATION
Octavia T VenereBrazilOnyama Limba PROPOSAL
Kadeem Q MarrierFranceStephen Shaw RENEWAL
Arvin B MarrierSpainStephen Shaw QUALIFIED
Darci E DoeIndiaBernardo Dominic QUALIFIED
Kadeem B GauchoIndiaBernardo Dominic NEW
Jeanfrancois T ButtUnited KingdomIoni Bowcher UNQUALIFIED
Tony B ChuiGermanyXuxue Feng UNQUALIFIED
Smith N WhobreyUnited KingdomAmy Elsner PROPOSAL
Aruna Q FlosiArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois B RoysterIndiaBernardo Dominic PROPOSAL
James T MarrierJapanIoni Bowcher PROPOSAL
Isabel B KuskoIndiaAsiya Javayant RENEWAL
Misaki X OstroskyAustraliaElwin Sharvill PROPOSAL
Ashley V BriddickAustraliaBernardo Dominic PROPOSAL
Deepesh X DoeGermanyAsiya Javayant PROPOSAL
Mayumi T RimItalyAsiya Javayant NEW
Arvin A BologniaFranceAnna Fali RENEWAL
Rodrigues S ShinkoAustraliaAmy Elsner PROPOSAL
Alejandro O StensethBrazilIvan Magalhaes QUALIFIED
James L SaylorsUnited KingdomAmy Elsner RENEWAL
Smith B MorascaItalyAsiya Javayant RENEWAL
Jones A FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem W FigeroaBrazilXuxue Feng UNQUALIFIED
Maria E FlosiRussiaBernardo Dominic NEGOTIATION
Wickens H GlickSpainOnyama Limba NEGOTIATION
Jennifer V StensethItalyElwin Sharvill RENEWAL
Stacey T KuskoFranceStephen Shaw RENEWAL
David Z NickaGermanyOnyama Limba NEW
Ashley L SchemmerFranceIoni Bowcher RENEWAL
Maria W FigeroaArgentinaXuxue Feng QUALIFIED
Murillo O MaletFranceAmy Elsner PROPOSAL
Emily U MarrierRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha M FerenczAustralia2024-06-04Feltz Printing Service RENEWAL40Ioni Bowcher
1001Tony A BowleyAustralia2024-06-17Rangoni Of Florence UNQUALIFIED61Ivan Magalhaes
1002Claire Z ChuiArgentina2024-06-16Chemel, James L Cpa RENEWAL44Stephen Shaw
1003Clifford I RulapaughJapan2024-06-19Rousseaux, Michael Esq NEW82Xuxue Feng
1004Johnson Q SergiAustralia2024-05-27Printing Dimensions PROPOSAL89Ivan Magalhaes
1005Arvin N DoeSpain2024-05-26Rousseaux, Michael Esq NEW78Asiya Javayant
1006Arvin T SchemmerGermany2024-06-04Chemel, James L Cpa QUALIFIED52Elwin Sharvill
1007Murillo F WieserBrazil2024-06-21Benton, John B Jr PROPOSAL45Stephen Shaw
1008Jefferson C RimBrazil2024-06-08Chapman, Ross E Esq RENEWAL42Onyama Limba
1009Misaki F RimRussia2024-06-14Rousseaux, Michael Esq UNQUALIFIED12Xuxue Feng
1010Isabel A ChuiJapan2024-06-22Commercial Press PROPOSAL66Xuxue Feng
1011Octavia N RoysterRussia2024-06-06Printing Dimensions QUALIFIED25Stephen Shaw
1012Clifford E InouyeBrazil2024-05-27Morlong Associates PROPOSAL38Xuxue Feng
1013Misaki R GlickRussia2024-06-05Truhlar And Truhlar Attys QUALIFIED64Bernardo Dominic
1014Johnson L SaylorsItaly2024-05-27Feltz Printing Service UNQUALIFIED35Stephen Shaw
1015Greenwood B MorascaGermany2024-05-30Benton, John B Jr NEW56Ivan Magalhaes
1016Jefferson D MorascaUnited Kingdom2024-06-22Morlong Associates QUALIFIED73Bernardo Dominic
1017Ashley Y RulapaughRussia2024-06-14Chapman, Ross E Esq RENEWAL41Ivan Magalhaes
1018Cody G OldroydAustralia2024-06-23Chanay, Jeffrey A Esq NEW44Onyama Limba
1019Tony P MacleadArgentina2024-06-24Rangoni Of Florence RENEWAL18Stephen Shaw
1020Adams N SlusarskiCanada2024-06-21Printing Dimensions UNQUALIFIED22Amy Elsner
1021Ivar K AlbaresItaly2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED50Bernardo Dominic
1022Tony H SlusarskiCanada2024-05-27Commercial Press NEGOTIATION84Amy Elsner
1023Murillo M FerenczAustralia2024-05-30Chemel, James L Cpa PROPOSAL17Amy Elsner
1024Jennifer C NickaUnited Kingdom2024-06-20Buckley Miller Wright NEW36Ioni Bowcher
1025Morrow K BriddickSpain2024-06-18Feiner Bros QUALIFIED60Asiya Javayant
1026Chavez E PerinItaly2024-05-26Chapman, Ross E Esq UNQUALIFIED78Stephen Shaw
1027Silvio M SaylorsCanada2024-06-22Chemel, James L Cpa RENEWAL46Ioni Bowcher
1028Chavez A ShinkoCanada2024-06-24Chanay, Jeffrey A Esq PROPOSAL68Stephen Shaw
1029Faith P MarrierJapan2024-05-27Chemel, James L Cpa RENEWAL96Onyama Limba
1030Costa K DoeCanada2024-05-26Rangoni Of Florence UNQUALIFIED47Bernardo Dominic
1031Aruna L IturbideBrazil2024-05-30Benton, John B Jr NEW54Asiya Javayant
1032Ricardo R ChuiCanada2024-05-26Commercial Press QUALIFIED87Asiya Javayant
1033Jennifer P WieserSpain2024-06-03Printing Dimensions PROPOSAL17Stephen Shaw
1034Izzy E VenereAustralia2024-06-01Chanay, Jeffrey A Esq NEW33Elwin Sharvill
1035Ricardo B DilliardBrazil2024-06-06Dorl, James J Esq QUALIFIED88Asiya Javayant
1036Tony H GillianFrance2024-06-08Chanay, Jeffrey A Esq QUALIFIED85Asiya Javayant
1037Izzy E AmigonFrance2024-06-03Chanay, Jeffrey A Esq NEGOTIATION58Bernardo Dominic
1038Sinclair Z ShinkoSpain2024-06-19Morlong Associates NEW18Amy Elsner
1039Julie A SergiArgentina2024-06-15King, Christopher A Esq UNQUALIFIED26Elwin Sharvill
1040Cody W BologniaUnited Kingdom2024-06-02Chanay, Jeffrey A Esq PROPOSAL29Bernardo Dominic
1041Julie S AmigonBrazil2024-06-09Feiner Bros PROPOSAL6Onyama Limba
1042Rodrigues P FerenczIndia2024-06-18Morlong Associates RENEWAL82Elwin Sharvill
1043Costa E VocelkaArgentina2024-06-24Buckley Miller Wright PROPOSAL88Ioni Bowcher
1044Claire C BowleyGermany2024-06-01Morlong Associates NEW60Bernardo Dominic
1045Antonio F ShinkoIndia2024-05-26Rangoni Of Florence PROPOSAL51Stephen Shaw
1046Costa B AmigonAustralia2024-06-15Rousseaux, Michael Esq PROPOSAL54Anna Fali
1047Costa K DarakjyArgentina2024-06-04Chemel, James L Cpa RENEWAL66Amy Elsner
1048Octavia P InouyeArgentina2024-06-16Chapman, Ross E Esq UNQUALIFIED49Ivan Magalhaes
1049Nicolas V GauchoBrazil2024-06-22Chanay, Jeffrey A Esq NEGOTIATION56Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Sinclair K SergiSpainElwin Sharvill QUALIFIED
Chavez N PaprockiUnited KingdomAsiya Javayant PROPOSAL
Misaki Y PerinItalyAnna Fali NEW
Morrow Q MacleadFranceOnyama Limba NEGOTIATION
James X StensethUnited KingdomIvan Magalhaes NEW
Stacey H AmigonRussiaXuxue Feng RENEWAL
Aika K InouyeCanadaIoni Bowcher UNQUALIFIED
Faith X PerinFranceOnyama Limba UNQUALIFIED
Sinclair R KuskoItalyAnna Fali UNQUALIFIED
Darci Q StensethArgentinaAnna Fali PROPOSAL
Smith C BowleyJapanAmy Elsner NEGOTIATION
Murillo P PerinCanadaXuxue Feng RENEWAL
Smith C AlbaresUnited KingdomIoni Bowcher QUALIFIED
Johnson S OstroskyBrazilXuxue Feng NEGOTIATION
Mujtaba D VenereFranceAsiya Javayant NEW
Sinclair E TollnerJapanAmy Elsner UNQUALIFIED
Octavia N PoquetteSpainAmy Elsner RENEWAL
Greenwood M GlickUnited KingdomStephen Shaw PROPOSAL
Aruna G BowleyIndiaAmy Elsner PROPOSAL
Cody O WhobreyBrazilElwin Sharvill RENEWAL
Kadeem X VocelkaSpainIvan Magalhaes UNQUALIFIED
Munro P ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Maisha R BriddickFranceAsiya Javayant RENEWAL
Ashley V PerinRussiaBernardo Dominic RENEWAL
Tony E FerenczItalyIoni Bowcher NEW
Jeanfrancois X PaprockiCanadaAmy Elsner PROPOSAL
Leja B GarufiFranceOnyama Limba UNQUALIFIED
Faith E FigeroaRussiaOnyama Limba NEGOTIATION
Kadeem Y RutaIndiaIoni Bowcher UNQUALIFIED
Emily Q VenereJapanAnna Fali NEW
Silvio P SlusarskiCanadaAnna Fali QUALIFIED
David F GarufiUnited KingdomStephen Shaw NEW
Aruna M SchemmerItalyAnna Fali QUALIFIED
Ashley K MaletCanadaIoni Bowcher RENEWAL
Arvin S KolmetzUnited KingdomElwin Sharvill NEW
Jones Y RutaFranceAnna Fali NEGOTIATION
Morrow W IturbideCanadaAnna Fali PROPOSAL
Francesco O TollnerCanadaIvan Magalhaes UNQUALIFIED
Misaki C SergiBrazilOnyama Limba UNQUALIFIED
Salvatore O SchemmerArgentinaOnyama Limba NEGOTIATION
Salvatore G VenereSpainElwin Sharvill RENEWAL
Sinclair L SergiAustraliaOnyama Limba PROPOSAL
Misaki S VenereItalyOnyama Limba NEW
Juan A ShinkoArgentinaStephen Shaw QUALIFIED
Greenwood M VenereBrazilBernardo Dominic QUALIFIED
Greenwood U TollnerAustraliaElwin Sharvill PROPOSAL
Juan Q MaletItalyIoni Bowcher UNQUALIFIED
Juan N SlusarskiBrazilOnyama Limba NEGOTIATION
Aika A PaprockiUnited KingdomAmy Elsner QUALIFIED
Greenwood D GillianCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Leon D Doe
Ricardo W Darakjy
Costa P Wieser
Munro W Whobrey
Alejandro F Venere
Murillo X Whobrey
Kaitlin C Tollner
Jeanfrancois D Nicka
Salvatore O Gillian
Silvio K Flosi
Deepesh D Poquette
Mujtaba L Stockham
Antonio G Tollner
Mujtaba Z Shinko
Sinclair M Vocelka
Antonio Q Malet
Mayumi Z Ruta
Morrow C Doe
Rodrigues E Kolmetz
Clifford R Royster
David T Whobrey
Sinclair T Whobrey
Chavez E Gillian
Isabel T Whobrey
Emily G Gillian
David I Stockham
Misaki N Paprocki
Claire T Schemmer
Deepesh C Marrier
Rodrigues X Oldroyd
Tony X Malet
Ricardo E Rulapaugh
Maisha H Gaucho
Wickens R Dilliard
Antonio J Ferencz
Faith Y Malet
Sinclair S Morasca
Ashley E Rulapaugh
Mujtaba M Poquette
Francesco F Poquette
Jennifer L Ostrosky
Murillo S Kusko
Emily V Whobrey
Costa N Albares
Maisha T Sergi
Rodrigues T Shinko
Ivar I Foller
Smith X Schemmer
Munro Z Saylors
Greenwood H Flosi
IdCountryDate
1000Spain2024-05-29
1001India2024-06-22
1002Argentina2024-06-07
1003Brazil2024-06-05
1004Russia2024-06-21
1005France2024-06-22
1006Argentina2024-06-19
1007Canada2024-06-11
1008Canada2024-05-28
1009Argentina2024-06-22
1010India2024-06-05
1011Russia2024-05-26
1012India2024-06-15
1013Canada2024-06-24
1014India2024-06-05
1015Germany2024-05-31
1016Australia2024-06-23
1017Japan2024-06-05
1018Australia2024-06-21
1019United Kingdom2024-06-20
1020United Kingdom2024-05-27
1021Germany2024-06-09
1022Russia2024-06-20
1023Canada2024-06-21
1024Italy2024-05-31
1025India2024-05-27
1026India2024-05-29
1027France2024-06-12
1028Italy2024-06-20
1029Argentina2024-06-07
1030Italy2024-06-12
1031Australia2024-06-21
1032Italy2024-06-16
1033Australia2024-06-05
1034Russia2024-06-19
1035Germany2024-05-27
1036Australia2024-06-23
1037France2024-06-04
1038United Kingdom2024-06-11
1039Japan2024-06-12
1040Canada2024-06-20
1041Russia2024-06-02
1042Canada2024-06-03
1043Japan2024-06-19
1044United Kingdom2024-06-18
1045Spain2024-05-28
1046Japan2024-05-27
1047Italy2024-05-27
1048United Kingdom2024-06-07
1049Spain2024-06-04

On-Demand Data

NameIdCountryDate
Antonio W Venere1000France2024-06-13
Aruna T Shinko1001Japan2024-06-13
David Z Schemmer1002Canada2024-06-05
Aika G Stenseth1003Russia2024-06-03
Arvin P Bowley1004Japan2024-06-06
Tony W Bolognia1005Canada2024-06-01
Maisha A Chui1006Canada2024-06-01
Sinclair B Wieser1007United Kingdom2024-06-03
Aika A Morasca1008Germany2024-06-15
Mujtaba Y Schemmer1009France2024-06-23
Faith E Ruta1010Argentina2024-05-28
Isabel I Dilliard1011Germany2024-05-31
Silvio C Dilliard1012Argentina2024-06-20
Wickens Z Campain1013Russia2024-06-19
Johnson N Flosi1014Argentina2024-05-26
Costa U Campain1015Spain2024-06-16
James C Amigon1016Russia2024-06-21
Arvin W Briddick1017India2024-06-23
Adams J Schemmer1018Germany2024-06-06
Antonio M Bowley1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens U FollerIndiaOnyama Limba RENEWAL
Kadeem T InouyeFranceOnyama Limba NEGOTIATION
Cody S ButtRussiaAmy Elsner QUALIFIED
Munro J StockhamArgentinaIvan Magalhaes NEW
Emily P CaudyBrazilIoni Bowcher RENEWAL
Salvatore Z MaletFranceAsiya Javayant NEGOTIATION
Munro P GillianGermanyElwin Sharvill UNQUALIFIED
David Q BowleyCanadaBernardo Dominic UNQUALIFIED
Jennifer E VocelkaArgentinaIvan Magalhaes PROPOSAL
Kadeem B FigeroaAustraliaIoni Bowcher NEW
Izzy M KuskoSpainIvan Magalhaes NEGOTIATION
Alejandro J KolmetzSpainAmy Elsner NEW
Sinclair H ButtCanadaOnyama Limba UNQUALIFIED
Aika X StockhamAustraliaAnna Fali QUALIFIED
David W MacleadSpainElwin Sharvill PROPOSAL
Faith G AlbaresJapanBernardo Dominic NEW
Jennifer E RutaArgentinaAnna Fali RENEWAL
Leja X NestleSpainIoni Bowcher RENEWAL
Leon B TollnerRussiaIoni Bowcher NEW
Jefferson L ShinkoUnited KingdomStephen Shaw NEW
Jeanfrancois R CaldareraSpainStephen Shaw NEW
David H MorascaArgentinaXuxue Feng UNQUALIFIED
Rodrigues L ShinkoGermanyBernardo Dominic RENEWAL
Tony V OldroydFranceIvan Magalhaes PROPOSAL
Jefferson G SlusarskiSpainOnyama Limba UNQUALIFIED
Aika B BriddickFranceElwin Sharvill QUALIFIED
Ashley M WaycottGermanyStephen Shaw UNQUALIFIED
Kadeem X SchemmerJapanAsiya Javayant NEW
Nicolas G SaylorsGermanyXuxue Feng QUALIFIED
Juan W PoquetteBrazilAnna Fali NEW
Greenwood K MaletRussiaAmy Elsner RENEWAL
Mujtaba Q PerinJapanStephen Shaw NEW
Wickens J WieserCanadaStephen Shaw NEW
Aruna M DarakjyFranceBernardo Dominic NEGOTIATION
Ricardo S BriddickRussiaAsiya Javayant RENEWAL
Arvin B FerenczRussiaAmy Elsner QUALIFIED
Wickens P VocelkaArgentinaOnyama Limba UNQUALIFIED
Aika V BologniaCanadaStephen Shaw QUALIFIED
Sinclair H RutaAustraliaXuxue Feng NEW
Arvin N AlbaresIndiaXuxue Feng 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>