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 E WieserUnited KingdomOnyama Limba NEW
Mayumi Z StockhamItalyXuxue Feng UNQUALIFIED
Costa H GarufiArgentinaAmy Elsner PROPOSAL
Kaitlin D SchemmerFranceIoni Bowcher RENEWAL
Misaki Q RoysterRussiaElwin Sharvill PROPOSAL
Jennifer V IturbideRussiaOnyama Limba RENEWAL
Jones F GlickUnited KingdomXuxue Feng PROPOSAL
Morrow K CampainItalyXuxue Feng RENEWAL
Mayumi D KuskoBrazilBernardo Dominic QUALIFIED
Octavia L RoysterUnited KingdomElwin Sharvill PROPOSAL
Alejandro X MorascaBrazilOnyama Limba PROPOSAL
Juan B DilliardGermanyAmy Elsner UNQUALIFIED
Juan A DarakjyAustraliaBernardo Dominic RENEWAL
Leon E DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Leon I GlickRussiaBernardo Dominic NEGOTIATION
Greenwood H NickaItalyElwin Sharvill UNQUALIFIED
Deepesh O MacleadJapanAnna Fali PROPOSAL
Adams S VenereUnited KingdomAmy Elsner UNQUALIFIED
Misaki A MaletAustraliaIoni Bowcher PROPOSAL
Darci A NickaAustraliaIoni Bowcher NEGOTIATION
Maisha U RoysterUnited KingdomElwin Sharvill PROPOSAL
Jones G ChuiCanadaIoni Bowcher NEGOTIATION
Johnson I NickaBrazilAsiya Javayant NEW
Wickens C MarrierBrazilOnyama Limba NEGOTIATION
Izzy W NickaFranceAmy Elsner RENEWAL
Cody E VocelkaArgentinaIvan Magalhaes NEW
Octavia S KuskoUnited KingdomAsiya Javayant RENEWAL
Clifford P AlbaresGermanyXuxue Feng PROPOSAL
Jeanfrancois X WaycottIndiaOnyama Limba PROPOSAL
Izzy S GillianFranceOnyama Limba PROPOSAL
Greenwood Y IturbideRussiaAsiya Javayant UNQUALIFIED
Costa C MaletFranceXuxue Feng PROPOSAL
Kadeem F MorascaIndiaStephen Shaw UNQUALIFIED
James F RutaFranceIoni Bowcher QUALIFIED
Greenwood J MacleadBrazilIoni Bowcher QUALIFIED
Kadeem K FollerJapanStephen Shaw RENEWAL
Jennifer R KuskoIndiaBernardo Dominic RENEWAL
Murillo F SlusarskiGermanyAmy Elsner PROPOSAL
Adams Y VenereItalyXuxue Feng UNQUALIFIED
Francesco B StockhamArgentinaAsiya Javayant RENEWAL
Sinclair A RoysterSpainIoni Bowcher NEGOTIATION
Greenwood C StensethAustraliaAmy Elsner UNQUALIFIED
Arvin F VenereAustraliaIoni Bowcher NEGOTIATION
Mayumi D ChuiArgentinaIvan Magalhaes QUALIFIED
Francesco X BologniaUnited KingdomAnna Fali QUALIFIED
Claire Z RimItalyAsiya Javayant NEW
Aruna D MaletItalyStephen Shaw PROPOSAL
Juan I FollerGermanyStephen Shaw UNQUALIFIED
Salvatore E DarakjySpainBernardo Dominic RENEWAL
Arvin V DarakjyRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair F CampainFranceAnna Fali PROPOSAL
Juan E SchemmerJapanAsiya Javayant NEGOTIATION
Kaitlin T BowleySpainBernardo Dominic RENEWAL
Jeanfrancois M NickaArgentinaXuxue Feng UNQUALIFIED
Izzy W BologniaBrazilOnyama Limba NEGOTIATION
Nicolas M MorascaGermanyAmy Elsner RENEWAL
Johnson V ChuiFranceBernardo Dominic NEGOTIATION
Mujtaba A AmigonRussiaOnyama Limba UNQUALIFIED
Emily J DoeFranceAnna Fali UNQUALIFIED
David R GauchoRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson B StensethJapan2024-05-31Rousseaux, Michael Esq QUALIFIED0Xuxue Feng
1001Leja S MaletBrazil2024-06-14Benton, John B Jr NEW25Xuxue Feng
1002Francesco A PaprockiUnited Kingdom2024-06-03Chapman, Ross E Esq RENEWAL93Amy Elsner
1003Aditya Y KolmetzItaly2024-05-29Chapman, Ross E Esq UNQUALIFIED38Ivan Magalhaes
1004Alejandro N WieserBrazil2024-06-06Printing Dimensions NEGOTIATION43Bernardo Dominic
1005Jefferson V BologniaCanada2024-06-21Feiner Bros NEW97Amy Elsner
1006Munro Q CaldareraRussia2024-06-20King, Christopher A Esq UNQUALIFIED38Xuxue Feng
1007Clifford M RimBrazil2024-06-11Benton, John B Jr RENEWAL29Amy Elsner
1008Johnson J ChuiIndia2024-05-26Chapman, Ross E Esq QUALIFIED18Onyama Limba
1009Ivar J GauchoJapan2024-06-04Feiner Bros PROPOSAL57Stephen Shaw
1010Antonio T NestleUnited Kingdom2024-06-19Truhlar And Truhlar Attys NEGOTIATION8Ioni Bowcher
1011Arvin U MaletIndia2024-06-02Benton, John B Jr NEGOTIATION93Ivan Magalhaes
1012Emily W VocelkaJapan2024-06-09Chemel, James L Cpa UNQUALIFIED91Ivan Magalhaes
1013Morrow V BriddickCanada2024-06-09Feiner Bros NEGOTIATION36Bernardo Dominic
1014Clifford E WieserGermany2024-06-03Commercial Press NEW15Anna Fali
1015Aruna A BriddickJapan2024-06-02Chapman, Ross E Esq NEGOTIATION93Anna Fali
1016Darci B SchemmerIndia2024-05-28Morlong Associates NEW86Elwin Sharvill
1017Morrow R GauchoFrance2024-06-08Chapman, Ross E Esq UNQUALIFIED26Amy Elsner
1018Jennifer H BowleyRussia2024-06-03Truhlar And Truhlar Attys NEW97Onyama Limba
1019Leja E DarakjySpain2024-06-18King, Christopher A Esq NEW25Bernardo Dominic
1020Cody E OstroskyUnited Kingdom2024-05-30Chapman, Ross E Esq NEGOTIATION85Amy Elsner
1021Silvio X OstroskyCanada2024-06-16Commercial Press PROPOSAL37Asiya Javayant
1022Claire F DilliardSpain2024-06-11Rousseaux, Michael Esq NEGOTIATION12Onyama Limba
1023Jones O VenereRussia2024-06-04Truhlar And Truhlar Attys NEW23Bernardo Dominic
1024Cody A NickaAustralia2024-06-08Commercial Press RENEWAL50Asiya Javayant
1025James S AlbaresItaly2024-06-17Chapman, Ross E Esq NEW42Xuxue Feng
1026Ricardo V GarufiBrazil2024-06-20Chemel, James L Cpa QUALIFIED71Ivan Magalhaes
1027Alejandro R ChuiIndia2024-06-17Feltz Printing Service PROPOSAL4Amy Elsner
1028Morrow G MaletArgentina2024-06-08Rangoni Of Florence NEW69Asiya Javayant
1029Juan Z ShinkoRussia2024-06-08Chanay, Jeffrey A Esq NEGOTIATION13Ioni Bowcher
1030Octavia O WhobreyFrance2024-06-03Rousseaux, Michael Esq PROPOSAL18Ioni Bowcher
1031Arvin E SchemmerGermany2024-05-26Chanay, Jeffrey A Esq PROPOSAL98Ioni Bowcher
1032Alejandro A OldroydRussia2024-06-13Feiner Bros NEW78Anna Fali
1033Francesco Y MaletSpain2024-06-13Chemel, James L Cpa PROPOSAL64Ivan Magalhaes
1034Ricardo W DoeRussia2024-06-05King, Christopher A Esq NEGOTIATION72Asiya Javayant
1035Emily A WaycottArgentina2024-06-24Rangoni Of Florence NEGOTIATION87Bernardo Dominic
1036Adams T GauchoUnited Kingdom2024-05-30King, Christopher A Esq QUALIFIED58Xuxue Feng
1037Leon S SaylorsCanada2024-05-26Printing Dimensions QUALIFIED0Ioni Bowcher
1038Francesco C DoeRussia2024-06-01Chapman, Ross E Esq RENEWAL4Xuxue Feng
1039Aditya C CampainGermany2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED79Asiya Javayant
1040Faith K GlickUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEGOTIATION99Xuxue Feng
1041Octavia R PerinUnited Kingdom2024-05-30Morlong Associates QUALIFIED58Anna Fali
1042Jefferson N NestleAustralia2024-06-19Rangoni Of Florence UNQUALIFIED40Elwin Sharvill
1043Maria N StockhamFrance2024-05-27Chanay, Jeffrey A Esq NEW51Bernardo Dominic
1044David B DarakjyAustralia2024-06-06Commercial Press NEGOTIATION43Bernardo Dominic
1045Sinclair A CaldareraAustralia2024-06-12Truhlar And Truhlar Attys NEGOTIATION52Ivan Magalhaes
1046Ashley F ButtGermany2024-05-28Printing Dimensions QUALIFIED70Elwin Sharvill
1047Stacey C BriddickGermany2024-06-10King, Christopher A Esq NEW24Onyama Limba
1048Morrow M DoeSpain2024-06-19Chemel, James L Cpa RENEWAL83Elwin Sharvill
1049Ricardo V FollerSpain2024-06-21Rangoni Of Florence PROPOSAL58Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kadeem R FerenczFranceStephen Shaw PROPOSAL
Maria I WieserFranceXuxue Feng QUALIFIED
Jeanfrancois V GillianAustraliaIoni Bowcher PROPOSAL
Costa F SaylorsArgentinaStephen Shaw PROPOSAL
Johnson R OstroskyBrazilOnyama Limba RENEWAL
Greenwood V SergiArgentinaOnyama Limba NEGOTIATION
Salvatore R DoeArgentinaStephen Shaw RENEWAL
Deepesh T OstroskyRussiaIoni Bowcher RENEWAL
Izzy Q ButtUnited KingdomAnna Fali NEGOTIATION
Chavez N NickaAustraliaXuxue Feng QUALIFIED
Aditya Y RulapaughArgentinaIvan Magalhaes RENEWAL
Claire N SlusarskiCanadaAnna Fali NEW
Emily F GlickSpainAnna Fali RENEWAL
Leon S StensethJapanElwin Sharvill NEW
Deepesh O MacleadCanadaXuxue Feng NEW
Misaki Y MaletIndiaElwin Sharvill RENEWAL
Chavez O FlosiUnited KingdomElwin Sharvill QUALIFIED
Kaitlin V ChuiSpainAmy Elsner NEW
Jones W SlusarskiGermanyBernardo Dominic UNQUALIFIED
Chavez D BowleyRussiaIvan Magalhaes NEGOTIATION
Faith E SchemmerItalyAnna Fali NEW
Nicolas S DilliardArgentinaStephen Shaw RENEWAL
Smith W RulapaughArgentinaAsiya Javayant UNQUALIFIED
Francesco S WieserSpainAmy Elsner NEGOTIATION
Mayumi M RulapaughGermanyElwin Sharvill NEW
Antonio Z PoquetteRussiaAsiya Javayant NEGOTIATION
Murillo I FollerSpainIvan Magalhaes QUALIFIED
Arvin E NickaUnited KingdomAmy Elsner UNQUALIFIED
Jones O WaycottFranceStephen Shaw QUALIFIED
Jefferson G KuskoFranceAnna Fali RENEWAL
Jeanfrancois O KuskoItalyIvan Magalhaes NEW
Jones E DoeRussiaIvan Magalhaes NEGOTIATION
Adams K SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Claire U ShinkoArgentinaAsiya Javayant NEW
Deepesh S FlosiRussiaXuxue Feng NEGOTIATION
Smith F FollerIndiaXuxue Feng PROPOSAL
Jefferson U FlosiCanadaStephen Shaw PROPOSAL
Nicolas U PaprockiItalyAsiya Javayant NEGOTIATION
Claire Z DarakjyIndiaElwin Sharvill PROPOSAL
Mujtaba A FigeroaAustraliaElwin Sharvill PROPOSAL
Jones R PaprockiRussiaAmy Elsner RENEWAL
Chavez V StockhamJapanAmy Elsner RENEWAL
Jennifer U InouyeAustraliaElwin Sharvill RENEWAL
Julie Z FerenczFranceIvan Magalhaes RENEWAL
Ashley Z InouyeSpainElwin Sharvill QUALIFIED
Kaitlin D SergiJapanStephen Shaw NEW
Julie M MorascaArgentinaBernardo Dominic NEGOTIATION
Costa X AlbaresBrazilOnyama Limba NEW
Francesco W CaudyUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois X MaletIndiaXuxue Feng RENEWAL
Frozen Columns
Name
Misaki E Chui
Antonio V Rim
Antonio Y Venere
Silvio S Garufi
Murillo U Albares
Maria G Marrier
Cody Z Saylors
Rodrigues J Kusko
Aruna S Inouye
Isabel J Rulapaugh
Antonio P Waycott
Morrow A Nestle
Leon I Ferencz
Antonio K Vocelka
Francesco N Bolognia
Ashley D Ferencz
Stacey P Royster
James A Rim
Arvin C Royster
Murillo I Venere
Silvio Q Foller
Cody H Foller
Smith P Ferencz
Juan R Marrier
Sinclair D Butt
Kaitlin L Stockham
Jeanfrancois E Doe
Faith D Doe
Izzy X Iturbide
Mayumi U Royster
Octavia J Paprocki
Clifford D Royster
Mujtaba D Oldroyd
Morrow P Vocelka
Francesco S Nestle
Clifford N Albares
Maria F Marrier
Arvin K Royster
Jennifer Z Schemmer
Silvio Y Albares
Francesco X Kusko
Jennifer Z Paprocki
Tony G Kusko
Antonio R Sergi
Misaki X Albares
Jennifer F Bowley
Jefferson S Malet
James T Flosi
Misaki Q Flosi
Alejandro W Foller
IdCountryDate
1000France2024-06-14
1001Australia2024-06-24
1002Brazil2024-06-12
1003Italy2024-06-08
1004Germany2024-05-28
1005Japan2024-06-06
1006Argentina2024-06-04
1007United Kingdom2024-06-18
1008United Kingdom2024-06-21
1009Germany2024-06-11
1010United Kingdom2024-06-23
1011Brazil2024-06-20
1012United Kingdom2024-05-28
1013Australia2024-06-14
1014Australia2024-06-04
1015India2024-06-05
1016Italy2024-06-09
1017Spain2024-05-31
1018Brazil2024-05-28
1019France2024-06-20
1020Argentina2024-06-06
1021United Kingdom2024-05-30
1022Brazil2024-05-28
1023India2024-06-02
1024Russia2024-06-14
1025India2024-06-06
1026Argentina2024-05-27
1027India2024-06-19
1028Japan2024-06-12
1029Germany2024-06-22
1030Canada2024-06-16
1031United Kingdom2024-05-27
1032India2024-06-03
1033Spain2024-06-01
1034Brazil2024-06-09
1035France2024-06-15
1036Germany2024-06-12
1037Argentina2024-06-15
1038France2024-05-28
1039Japan2024-06-19
1040Brazil2024-06-09
1041Germany2024-06-12
1042Brazil2024-06-06
1043France2024-05-26
1044France2024-06-11
1045Germany2024-06-15
1046Spain2024-06-03
1047India2024-05-29
1048Brazil2024-06-21
1049Russia2024-06-23

On-Demand Data

NameIdCountryDate
Isabel R Vocelka1000Spain2024-05-31
David T Waycott1001Japan2024-06-18
Maria C Malet1002Brazil2024-05-30
Arvin K Vocelka1003France2024-05-31
Deepesh C Paprocki1004Argentina2024-06-01
Mujtaba K Oldroyd1005Italy2024-06-11
Salvatore F Stenseth1006United Kingdom2024-06-05
Wickens B Foller1007Australia2024-06-15
Jennifer P Flosi1008Italy2024-06-14
Clifford D Rim1009Canada2024-06-08
Ivar V Stockham1010Argentina2024-06-19
Rodrigues X Kolmetz1011Argentina2024-06-17
Nicolas G Malet1012India2024-06-02
Aruna R Rulapaugh1013Japan2024-06-24
Julie J Kolmetz1014Brazil2024-06-12
Ivar W Amigon1015Germany2024-06-12
Juan Z Paprocki1016Italy2024-06-02
Clifford N Amigon1017Russia2024-06-11
Aditya B Wieser1018Italy2024-06-22
Kadeem J Perin1019Canada2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Q StockhamCanadaStephen Shaw NEW
Izzy R OldroydGermanyStephen Shaw NEGOTIATION
Rodrigues K VenereJapanStephen Shaw PROPOSAL
Octavia K StockhamAustraliaAnna Fali NEW
Aditya U MaletCanadaXuxue Feng RENEWAL
Jefferson G BowleyItalyBernardo Dominic UNQUALIFIED
Chavez A MorascaGermanyAnna Fali UNQUALIFIED
Arvin V GlickIndiaIoni Bowcher QUALIFIED
Claire G StockhamGermanyElwin Sharvill PROPOSAL
Adams S PaprockiSpainAnna Fali NEGOTIATION
Leja S MarrierArgentinaOnyama Limba NEGOTIATION
Juan D PerinJapanStephen Shaw NEGOTIATION
Leja L RulapaughSpainElwin Sharvill UNQUALIFIED
Maria D OldroydSpainAsiya Javayant NEW
Leon K FerenczBrazilXuxue Feng NEGOTIATION
Leja R MarrierSpainAmy Elsner RENEWAL
Maria O RoysterJapanXuxue Feng NEGOTIATION
Jefferson J ButtUnited KingdomBernardo Dominic PROPOSAL
Francesco B GillianAustraliaXuxue Feng PROPOSAL
Johnson D DilliardCanadaXuxue Feng QUALIFIED
Faith N StensethUnited KingdomXuxue Feng PROPOSAL
Ricardo M NickaUnited KingdomBernardo Dominic UNQUALIFIED
Ivar R AlbaresBrazilStephen Shaw NEW
Salvatore U PoquetteBrazilAmy Elsner UNQUALIFIED
Greenwood Z WieserItalyIvan Magalhaes NEGOTIATION
Maria C WhobreyGermanyBernardo Dominic NEW
Emily F OldroydIndiaBernardo Dominic PROPOSAL
Maisha V GillianFranceXuxue Feng UNQUALIFIED
Francesco J KuskoBrazilAnna Fali NEW
Ricardo Y TollnerGermanyIvan Magalhaes NEGOTIATION
Maria J CaldareraGermanyIvan Magalhaes PROPOSAL
Misaki Z AlbaresUnited KingdomBernardo Dominic PROPOSAL
Munro J MorascaAustraliaIoni Bowcher PROPOSAL
Maria H RulapaughJapanBernardo Dominic QUALIFIED
Kaitlin X TollnerCanadaXuxue Feng NEGOTIATION
Maria E RutaRussiaXuxue Feng NEW
Faith C FerenczSpainStephen Shaw NEGOTIATION
Aditya R MaletAustraliaAnna Fali QUALIFIED
Greenwood M MarrierGermanyAsiya Javayant PROPOSAL
Silvio C ButtBrazilIvan Magalhaes RENEWAL

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