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
Chavez V InouyeRussiaAsiya Javayant NEW
Rodrigues N PoquetteUnited KingdomElwin Sharvill PROPOSAL
Mayumi B KuskoCanadaAsiya Javayant QUALIFIED
Leon Q KolmetzArgentinaStephen Shaw UNQUALIFIED
Faith W VocelkaCanadaIvan Magalhaes RENEWAL
Jeanfrancois M CampainAustraliaIoni Bowcher RENEWAL
Tony P FerenczBrazilIvan Magalhaes NEW
Isabel I GauchoGermanyElwin Sharvill QUALIFIED
Chavez H FollerJapanAmy Elsner NEGOTIATION
Johnson R DoeIndiaIoni Bowcher QUALIFIED
Jeanfrancois X SaylorsGermanyIoni Bowcher NEGOTIATION
Greenwood M FigeroaRussiaAmy Elsner QUALIFIED
Mujtaba V OldroydGermanyXuxue Feng QUALIFIED
Maisha E OstroskyIndiaAmy Elsner PROPOSAL
James A SlusarskiRussiaStephen Shaw NEGOTIATION
Octavia I RoysterGermanyAsiya Javayant PROPOSAL
Antonio D SlusarskiCanadaXuxue Feng RENEWAL
Antonio J MacleadArgentinaIvan Magalhaes NEGOTIATION
Leon R PoquetteJapanOnyama Limba QUALIFIED
Jefferson O ShinkoFranceOnyama Limba QUALIFIED
Jeanfrancois S MacleadBrazilXuxue Feng QUALIFIED
Maisha M FollerBrazilAnna Fali PROPOSAL
Julie F CampainItalyAnna Fali QUALIFIED
Morrow H FlosiIndiaStephen Shaw PROPOSAL
James P AlbaresArgentinaElwin Sharvill UNQUALIFIED
Aditya C FigeroaRussiaAnna Fali NEGOTIATION
Cody W SlusarskiFranceIvan Magalhaes NEW
Tony J VenereJapanAsiya Javayant UNQUALIFIED
Ashley L NickaGermanyElwin Sharvill UNQUALIFIED
Jones C KuskoRussiaXuxue Feng PROPOSAL
Adams T GlickSpainOnyama Limba UNQUALIFIED
Jones Z PerinArgentinaAsiya Javayant RENEWAL
Morrow Q StensethArgentinaAsiya Javayant NEW
Leja X StensethJapanStephen Shaw UNQUALIFIED
Jones R MorascaItalyStephen Shaw UNQUALIFIED
Faith H DoeJapanIvan Magalhaes PROPOSAL
Silvio T VocelkaGermanyAmy Elsner PROPOSAL
Aditya Y RoysterSpainAsiya Javayant NEW
Alejandro R MarrierItalyBernardo Dominic QUALIFIED
Aika H RimItalyIoni Bowcher QUALIFIED
Johnson K ShinkoCanadaAmy Elsner NEW
Jones S RutaArgentinaIvan Magalhaes PROPOSAL
Arvin D KuskoFranceBernardo Dominic NEW
Aruna P BowleyFranceAmy Elsner NEW
Leja T BowleyArgentinaAsiya Javayant UNQUALIFIED
Tony V ShinkoArgentinaElwin Sharvill UNQUALIFIED
Antonio U RulapaughRussiaAnna Fali RENEWAL
Tony Z PoquetteArgentinaAsiya Javayant NEGOTIATION
Juan F GillianIndiaXuxue Feng QUALIFIED
Ashley K PaprockiCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh O CampainCanadaXuxue Feng NEW
Julie I GauchoFranceBernardo Dominic PROPOSAL
Juan U RimArgentinaAmy Elsner RENEWAL
Nicolas O IturbideJapanAmy Elsner QUALIFIED
Aruna J AmigonSpainIvan Magalhaes UNQUALIFIED
Claire O CaldareraCanadaIoni Bowcher QUALIFIED
Salvatore D VenereSpainIoni Bowcher QUALIFIED
Alejandro J CaudyGermanyIvan Magalhaes UNQUALIFIED
Ricardo E GillianSpainElwin Sharvill NEW
Cody Z FlosiCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Z DilliardBrazil2024-06-14Dorl, James J Esq NEGOTIATION45Onyama Limba
1001Juan S SergiIndia2024-06-03Printing Dimensions QUALIFIED32Elwin Sharvill
1002Kaitlin O DarakjyFrance2024-06-14Benton, John B Jr PROPOSAL89Elwin Sharvill
1003Jeanfrancois S CaldareraAustralia2024-05-23Rangoni Of Florence PROPOSAL3Xuxue Feng
1004Emily G RulapaughGermany2024-05-28Truhlar And Truhlar Attys RENEWAL64Xuxue Feng
1005Jeanfrancois B PaprockiJapan2024-06-17Printing Dimensions QUALIFIED61Ioni Bowcher
1006Maisha W SaylorsJapan2024-05-27Truhlar And Truhlar Attys NEW77Xuxue Feng
1007Salvatore R ButtFrance2024-06-20Printing Dimensions RENEWAL54Xuxue Feng
1008Francesco E RimItaly2024-06-09King, Christopher A Esq RENEWAL44Asiya Javayant
1009Ricardo G ButtGermany2024-06-16Rousseaux, Michael Esq RENEWAL11Amy Elsner
1010Salvatore B GauchoAustralia2024-05-24Chemel, James L Cpa NEGOTIATION35Stephen Shaw
1011Isabel M FigeroaIndia2024-05-25Morlong Associates NEGOTIATION57Anna Fali
1012Murillo W MaletCanada2024-05-27Truhlar And Truhlar Attys NEW6Onyama Limba
1013David G RoysterCanada2024-06-06Printing Dimensions UNQUALIFIED76Ioni Bowcher
1014Antonio D ButtArgentina2024-05-28King, Christopher A Esq UNQUALIFIED9Amy Elsner
1015Darci L RutaRussia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION31Anna Fali
1016Kaitlin B MaletRussia2024-06-12King, Christopher A Esq QUALIFIED35Bernardo Dominic
1017Antonio A MorascaGermany2024-05-23Feltz Printing Service QUALIFIED50Bernardo Dominic
1018Morrow L StensethRussia2024-06-06Buckley Miller Wright QUALIFIED45Amy Elsner
1019Leja Z MacleadGermany2024-06-18Feltz Printing Service RENEWAL12Asiya Javayant
1020Silvio P CaudyUnited Kingdom2024-05-26Dorl, James J Esq NEGOTIATION78Bernardo Dominic
1021Darci L VenereBrazil2024-06-19Buckley Miller Wright NEW62Ivan Magalhaes
1022Izzy H WhobreyGermany2024-05-27Feiner Bros UNQUALIFIED69Anna Fali
1023Jeanfrancois T RutaUnited Kingdom2024-06-06Printing Dimensions NEW51Ivan Magalhaes
1024Jeanfrancois T RoysterRussia2024-06-10Rousseaux, Michael Esq QUALIFIED33Onyama Limba
1025Ivar S SchemmerBrazil2024-06-21Feiner Bros RENEWAL43Anna Fali
1026Mujtaba X ChuiFrance2024-05-29Feltz Printing Service RENEWAL42Bernardo Dominic
1027Jones J RulapaughGermany2024-06-17King, Christopher A Esq UNQUALIFIED44Bernardo Dominic
1028Ivar R IturbideGermany2024-06-02Dorl, James J Esq UNQUALIFIED67Bernardo Dominic
1029Wickens T DoeBrazil2024-06-17Benton, John B Jr PROPOSAL74Amy Elsner
1030Clifford E FollerCanada2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED83Ioni Bowcher
1031Misaki P OldroydAustralia2024-05-31Benton, John B Jr PROPOSAL95Elwin Sharvill
1032Jefferson G InouyeCanada2024-05-27Chapman, Ross E Esq RENEWAL57Elwin Sharvill
1033Mujtaba Y BriddickBrazil2024-05-25Printing Dimensions RENEWAL38Onyama Limba
1034Tony G ButtFrance2024-05-27Rousseaux, Michael Esq RENEWAL20Elwin Sharvill
1035Jones Y SergiBrazil2024-06-01Morlong Associates QUALIFIED48Amy Elsner
1036Mujtaba X KolmetzJapan2024-06-10Truhlar And Truhlar Attys NEW95Stephen Shaw
1037Jennifer T AmigonFrance2024-05-23Rangoni Of Florence NEW37Asiya Javayant
1038Ricardo I WaycottJapan2024-06-11Printing Dimensions NEGOTIATION28Ivan Magalhaes
1039Jefferson Q AmigonUnited Kingdom2024-06-05Rangoni Of Florence NEW50Ivan Magalhaes
1040Adams V SergiGermany2024-06-06Feiner Bros QUALIFIED15Onyama Limba
1041Faith C PoquetteItaly2024-06-18Buckley Miller Wright RENEWAL80Bernardo Dominic
1042Rodrigues G PaprockiAustralia2024-05-30Feiner Bros PROPOSAL68Ioni Bowcher
1043Jones A CampainItaly2024-06-01Chemel, James L Cpa UNQUALIFIED80Bernardo Dominic
1044Aika W GarufiJapan2024-05-31Feiner Bros QUALIFIED37Xuxue Feng
1045Stacey N NickaSpain2024-06-17Feltz Printing Service RENEWAL52Ioni Bowcher
1046Adams S StensethSpain2024-06-18Morlong Associates NEGOTIATION54Asiya Javayant
1047Costa X BologniaItaly2024-06-17Printing Dimensions QUALIFIED22Xuxue Feng
1048Maisha S FerenczRussia2024-06-12Benton, John B Jr NEGOTIATION50Ioni Bowcher
1049Greenwood W WhobreyCanada2024-05-23Feltz Printing Service RENEWAL96Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Julie B NickaUnited KingdomXuxue Feng QUALIFIED
Tony H BologniaRussiaIoni Bowcher PROPOSAL
James X DoeGermanyBernardo Dominic UNQUALIFIED
Aruna V PerinJapanBernardo Dominic UNQUALIFIED
Darci X FerenczFranceXuxue Feng PROPOSAL
Aika N TollnerAustraliaElwin Sharvill UNQUALIFIED
Aditya H ShinkoGermanyOnyama Limba NEGOTIATION
Chavez E VocelkaFranceAsiya Javayant NEGOTIATION
Antonio L PoquetteAustraliaAsiya Javayant NEW
Misaki O ShinkoItalyAmy Elsner NEW
Murillo O RimBrazilElwin Sharvill UNQUALIFIED
Darci I OstroskyCanadaBernardo Dominic NEW
Sinclair O NestleGermanyIoni Bowcher QUALIFIED
Leon D IturbideSpainAnna Fali RENEWAL
Kaitlin W GlickUnited KingdomIvan Magalhaes NEGOTIATION
Leon N InouyeSpainAnna Fali UNQUALIFIED
Darci I GillianRussiaIvan Magalhaes QUALIFIED
Jeanfrancois S IturbideUnited KingdomAmy Elsner RENEWAL
Smith V BowleyGermanyAnna Fali PROPOSAL
Munro X StockhamArgentinaStephen Shaw QUALIFIED
Jefferson F WieserItalyAmy Elsner NEW
James X RimCanadaAnna Fali NEW
Maisha U CaldareraGermanyAsiya Javayant PROPOSAL
Darci C VocelkaBrazilXuxue Feng QUALIFIED
Sinclair E NickaRussiaAnna Fali NEW
Misaki P InouyeGermanyAsiya Javayant RENEWAL
Munro R CaudyArgentinaOnyama Limba NEGOTIATION
Morrow X FollerCanadaOnyama Limba PROPOSAL
Aditya V OstroskyCanadaAmy Elsner RENEWAL
Mayumi K MaletSpainBernardo Dominic QUALIFIED
Alejandro H GillianItalyAmy Elsner NEGOTIATION
Ashley F DoeAustraliaIvan Magalhaes NEW
Leon Y SaylorsFranceAsiya Javayant NEW
Izzy Y ChuiItalyIoni Bowcher UNQUALIFIED
Jefferson P CaudyCanadaAmy Elsner QUALIFIED
Tony Q PoquetteFranceAsiya Javayant QUALIFIED
Juan Q GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya Y WhobreyRussiaStephen Shaw RENEWAL
Alejandro Y RoysterRussiaIoni Bowcher PROPOSAL
Johnson O SergiArgentinaOnyama Limba PROPOSAL
Silvio I CaudyGermanyAmy Elsner PROPOSAL
Alejandro S ChuiJapanXuxue Feng NEGOTIATION
Adams Z AlbaresAustraliaAmy Elsner UNQUALIFIED
Johnson D BologniaSpainOnyama Limba UNQUALIFIED
James W ButtGermanyAnna Fali QUALIFIED
Faith I MarrierSpainBernardo Dominic NEW
Antonio Q SaylorsItalyAmy Elsner PROPOSAL
Jennifer N NestleUnited KingdomElwin Sharvill RENEWAL
Sinclair R NickaSpainBernardo Dominic NEGOTIATION
Jeanfrancois J MarrierRussiaAsiya Javayant NEW
Frozen Columns
Name
Aruna P Morasca
Tony N Glick
Ivar E Dilliard
Ricardo V Stockham
Morrow K Oldroyd
Munro U Caldarera
Johnson W Gaucho
Faith L Caldarera
James V Oldroyd
Cody I Wieser
Cody Q Kolmetz
Arvin A Waycott
Emily H Darakjy
Clifford A Wieser
Smith E Caldarera
Darci Q Whobrey
Jones P Schemmer
Isabel M Slusarski
Deepesh P Glick
Ricardo C Kusko
Darci D Royster
Greenwood P Nicka
Chavez H Rulapaugh
Alejandro L Flosi
Kadeem T Shinko
Kaitlin U Inouye
Salvatore D Bowley
Misaki F Gaucho
Murillo J Doe
Ashley Q Vocelka
Kadeem S Caudy
Munro M Glick
Nicolas S Wieser
Nicolas J Glick
Ivar L Rim
Jones R Tollner
James C Amigon
Aditya M Dilliard
Faith O Royster
Cody T Rulapaugh
Arvin Q Schemmer
Greenwood Q Marrier
Antonio H Doe
Kadeem I Glick
Cody O Marrier
Jones P Darakjy
Francesco Q Figeroa
David S Nicka
Jones K Inouye
Misaki Z Gillian
IdCountryDate
1000Canada2024-05-25
1001India2024-06-03
1002Spain2024-06-14
1003Brazil2024-05-26
1004France2024-06-04
1005Australia2024-06-17
1006Australia2024-06-17
1007India2024-06-14
1008Germany2024-06-18
1009Russia2024-05-30
1010Argentina2024-06-08
1011Argentina2024-05-28
1012Australia2024-06-19
1013Australia2024-06-01
1014Russia2024-05-30
1015India2024-06-13
1016Russia2024-06-03
1017Spain2024-06-15
1018Australia2024-06-11
1019Spain2024-06-16
1020Italy2024-06-15
1021Germany2024-05-27
1022France2024-05-31
1023Argentina2024-06-06
1024Spain2024-05-23
1025Japan2024-06-03
1026France2024-05-26
1027United Kingdom2024-06-06
1028Brazil2024-06-03
1029Australia2024-06-14
1030Germany2024-06-12
1031United Kingdom2024-05-23
1032Spain2024-05-29
1033Canada2024-06-09
1034United Kingdom2024-06-08
1035Spain2024-06-15
1036Argentina2024-06-04
1037Germany2024-05-30
1038United Kingdom2024-06-07
1039Argentina2024-06-20
1040Japan2024-06-08
1041Canada2024-06-14
1042Brazil2024-06-20
1043Italy2024-06-19
1044Canada2024-06-11
1045Germany2024-06-13
1046Germany2024-06-12
1047Spain2024-05-28
1048Canada2024-06-11
1049Germany2024-06-17

On-Demand Data

NameIdCountryDate
Clifford K Kolmetz1000Argentina2024-05-26
Leja D Schemmer1001Italy2024-05-27
Misaki T Darakjy1002Russia2024-06-07
Arvin N Albares1003Brazil2024-06-01
Jefferson S Stockham1004Spain2024-06-03
James N Malet1005Brazil2024-05-29
Jennifer G Sergi1006France2024-06-15
Francesco Q Gaucho1007France2024-05-27
Mayumi U Inouye1008Russia2024-06-01
Juan V Malet1009Canada2024-05-26
Chavez O Bowley1010Italy2024-05-29
Johnson G Inouye1011Australia2024-06-14
Ashley R Kusko1012Germany2024-06-21
Jennifer G Nestle1013Canada2024-06-11
Silvio I Sergi1014India2024-06-06
Silvio P Slusarski1015France2024-05-25
Chavez V Sergi1016Argentina2024-05-28
Isabel B Caldarera1017Argentina2024-06-05
Izzy C Waycott1018United Kingdom2024-06-16
Costa K Dilliard1019Canada2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki A SaylorsArgentinaAnna Fali RENEWAL
Misaki L MaletUnited KingdomXuxue Feng RENEWAL
Darci G VenereJapanStephen Shaw UNQUALIFIED
Rodrigues P DoeGermanyXuxue Feng QUALIFIED
Johnson U FigeroaAustraliaXuxue Feng PROPOSAL
Misaki E MorascaCanadaIoni Bowcher QUALIFIED
Murillo U PaprockiIndiaIvan Magalhaes PROPOSAL
Silvio G PaprockiFranceIvan Magalhaes NEGOTIATION
Claire J FollerIndiaAmy Elsner NEW
Silvio X DoeSpainIvan Magalhaes QUALIFIED
David N BowleyUnited KingdomXuxue Feng RENEWAL
Maria Z TollnerIndiaStephen Shaw RENEWAL
Smith O MacleadUnited KingdomIvan Magalhaes QUALIFIED
Emily O IturbideBrazilAnna Fali NEW
Cody Z ChuiIndiaOnyama Limba UNQUALIFIED
Jeanfrancois Q MacleadFranceStephen Shaw PROPOSAL
Silvio A IturbideFranceElwin Sharvill UNQUALIFIED
Darci Z CampainUnited KingdomAsiya Javayant PROPOSAL
Morrow H OldroydAustraliaXuxue Feng QUALIFIED
Claire R SchemmerGermanyAmy Elsner PROPOSAL
Ashley L WaycottFranceAnna Fali NEW
Costa Z RimRussiaBernardo Dominic UNQUALIFIED
Cody F MaletSpainOnyama Limba NEGOTIATION
Arvin Y VocelkaArgentinaAsiya Javayant NEGOTIATION
Isabel D AmigonRussiaBernardo Dominic NEGOTIATION
Murillo E FollerSpainIoni Bowcher RENEWAL
Sinclair J SchemmerUnited KingdomElwin Sharvill RENEWAL
Ivar S TollnerItalyXuxue Feng NEGOTIATION
Maisha S MaletFranceAnna Fali PROPOSAL
Chavez W RoysterItalyAmy Elsner UNQUALIFIED
Francesco G CampainJapanOnyama Limba NEGOTIATION
Leon S DoeFranceElwin Sharvill NEGOTIATION
Murillo A WaycottSpainElwin Sharvill QUALIFIED
Misaki R RimUnited KingdomXuxue Feng QUALIFIED
Wickens N RulapaughBrazilOnyama Limba PROPOSAL
Smith Z DilliardArgentinaAnna Fali UNQUALIFIED
Sinclair P CampainJapanElwin Sharvill RENEWAL
Kadeem H IturbideSpainIoni Bowcher PROPOSAL
Faith S CaldareraSpainAsiya Javayant UNQUALIFIED
Ivar U RoysterArgentinaIoni Bowcher 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>