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
Jefferson X SchemmerIndiaXuxue Feng PROPOSAL
Munro Z NickaJapanOnyama Limba UNQUALIFIED
Ivar A SergiSpainAnna Fali NEGOTIATION
Julie U InouyeBrazilAnna Fali NEW
Ashley C NickaItalyIvan Magalhaes NEW
David M DoeRussiaAmy Elsner QUALIFIED
Murillo J PerinItalyAnna Fali QUALIFIED
Chavez N GarufiFranceIoni Bowcher UNQUALIFIED
Deepesh Z RimItalyOnyama Limba QUALIFIED
Misaki X PaprockiSpainAmy Elsner QUALIFIED
Costa S RutaItalyOnyama Limba NEW
Alejandro N NestleAustraliaBernardo Dominic PROPOSAL
Aika Y TollnerRussiaIvan Magalhaes NEW
Greenwood D RimSpainStephen Shaw NEGOTIATION
Wickens E PaprockiGermanyAnna Fali NEGOTIATION
Julie F RimUnited KingdomBernardo Dominic QUALIFIED
Salvatore Y BriddickUnited KingdomBernardo Dominic NEGOTIATION
Emily P PoquetteArgentinaXuxue Feng UNQUALIFIED
Greenwood V VocelkaItalyAsiya Javayant NEGOTIATION
Misaki J MacleadJapanElwin Sharvill NEGOTIATION
Jeanfrancois L MaletJapanElwin Sharvill NEGOTIATION
Juan D FerenczRussiaOnyama Limba UNQUALIFIED
Darci C GlickFranceIvan Magalhaes RENEWAL
Juan B DarakjyFranceBernardo Dominic NEGOTIATION
Morrow P GarufiRussiaXuxue Feng QUALIFIED
Leja U TollnerSpainBernardo Dominic NEGOTIATION
Tony C OstroskySpainIvan Magalhaes PROPOSAL
Greenwood H SlusarskiUnited KingdomAmy Elsner QUALIFIED
Jennifer U KolmetzItalyElwin Sharvill NEW
Kaitlin F BriddickCanadaIoni Bowcher RENEWAL
Ivar K RutaUnited KingdomAsiya Javayant QUALIFIED
Antonio T SergiJapanIoni Bowcher UNQUALIFIED
Tony N DilliardUnited KingdomXuxue Feng PROPOSAL
Cody V RulapaughArgentinaBernardo Dominic UNQUALIFIED
Deepesh D GillianUnited KingdomAsiya Javayant NEW
Francesco Z NestleGermanyElwin Sharvill NEGOTIATION
Octavia K DoeAustraliaOnyama Limba QUALIFIED
Mayumi O GillianFranceIoni Bowcher PROPOSAL
Deepesh L PoquetteUnited KingdomIvan Magalhaes RENEWAL
Munro U AlbaresIndiaElwin Sharvill UNQUALIFIED
James L RoysterFranceIvan Magalhaes NEW
Johnson R FerenczRussiaIvan Magalhaes NEW
Munro H AmigonItalyAnna Fali UNQUALIFIED
Juan F DoeAustraliaXuxue Feng NEGOTIATION
Leon C OldroydBrazilIoni Bowcher QUALIFIED
Stacey S PerinGermanyOnyama Limba RENEWAL
Izzy U RimGermanyElwin Sharvill NEGOTIATION
Julie R DilliardIndiaStephen Shaw PROPOSAL
Claire U WieserGermanyBernardo Dominic PROPOSAL
Jones C WhobreyIndiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore E AlbaresBrazilStephen Shaw NEW
Adams U FigeroaGermanyBernardo Dominic RENEWAL
James O FollerGermanyXuxue Feng NEGOTIATION
Rodrigues A RutaJapanAnna Fali UNQUALIFIED
Salvatore J StockhamGermanyXuxue Feng NEW
Murillo Y CaldareraGermanyIvan Magalhaes QUALIFIED
Maria X GarufiJapanAsiya Javayant NEGOTIATION
Rodrigues F RulapaughItalyStephen Shaw NEGOTIATION
Salvatore C CampainIndiaBernardo Dominic PROPOSAL
Francesco U VocelkaFranceAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh Z AmigonSpain2024-06-08Feiner Bros NEW38Xuxue Feng
1001Jones G DarakjyIndia2024-06-01Truhlar And Truhlar Attys QUALIFIED67Onyama Limba
1002Arvin Q RulapaughItaly2024-06-21Chemel, James L Cpa QUALIFIED4Elwin Sharvill
1003Jennifer C DarakjyJapan2024-06-23Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1004Silvio X WieserAustralia2024-06-16Printing Dimensions NEGOTIATION46Onyama Limba
1005Faith J DarakjyArgentina2024-06-08Benton, John B Jr NEW38Asiya Javayant
1006Misaki G RimFrance2024-05-27Chapman, Ross E Esq UNQUALIFIED15Anna Fali
1007Kaitlin J IturbideJapan2024-06-05Rangoni Of Florence UNQUALIFIED72Onyama Limba
1008Nicolas F MacleadGermany2024-06-23Printing Dimensions NEGOTIATION23Elwin Sharvill
1009Juan Y GauchoIndia2024-06-10Benton, John B Jr UNQUALIFIED67Bernardo Dominic
1010Darci K AlbaresIndia2024-06-17Feltz Printing Service PROPOSAL23Ioni Bowcher
1011Antonio D AmigonUnited Kingdom2024-06-01Commercial Press QUALIFIED62Elwin Sharvill
1012Jennifer G FlosiItaly2024-05-26Dorl, James J Esq RENEWAL34Onyama Limba
1013Salvatore B ChuiArgentina2024-06-06Benton, John B Jr NEW2Anna Fali
1014Costa X RimItaly2024-05-30Feiner Bros UNQUALIFIED96Onyama Limba
1015Kadeem E CampainAustralia2024-06-08Feltz Printing Service RENEWAL37Ioni Bowcher
1016Juan Z PaprockiSpain2024-05-29Chapman, Ross E Esq NEGOTIATION22Anna Fali
1017Salvatore I MaletSpain2024-06-04Dorl, James J Esq UNQUALIFIED39Ivan Magalhaes
1018Mujtaba N FerenczUnited Kingdom2024-06-14Rousseaux, Michael Esq NEW62Asiya Javayant
1019Misaki D MarrierGermany2024-06-20Rousseaux, Michael Esq NEGOTIATION61Ivan Magalhaes
1020Jefferson C FollerBrazil2024-06-23Dorl, James J Esq RENEWAL20Anna Fali
1021Ivar D SergiCanada2024-06-09Morlong Associates QUALIFIED58Onyama Limba
1022Stacey T FollerGermany2024-06-10King, Christopher A Esq NEGOTIATION57Ioni Bowcher
1023Murillo O DoeGermany2024-06-04Printing Dimensions NEGOTIATION28Ioni Bowcher
1024Nicolas A BologniaRussia2024-06-16Feltz Printing Service UNQUALIFIED66Ioni Bowcher
1025Darci S MarrierGermany2024-05-26Commercial Press RENEWAL76Amy Elsner
1026Murillo F KolmetzIndia2024-06-16King, Christopher A Esq NEW41Stephen Shaw
1027Izzy A InouyeRussia2024-06-14Feltz Printing Service UNQUALIFIED45Elwin Sharvill
1028David Y RulapaughJapan2024-06-14Truhlar And Truhlar Attys NEW76Ioni Bowcher
1029Aditya B PoquetteUnited Kingdom2024-05-30Morlong Associates NEGOTIATION9Elwin Sharvill
1030Izzy G FerenczUnited Kingdom2024-06-05Morlong Associates NEW83Ioni Bowcher
1031Deepesh M SaylorsItaly2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED47Anna Fali
1032Ashley J RulapaughIndia2024-06-12Feltz Printing Service UNQUALIFIED59Ivan Magalhaes
1033Faith V FlosiJapan2024-06-06Rangoni Of Florence PROPOSAL37Anna Fali
1034Smith Q NestleAustralia2024-06-21Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1035Cody T GillianArgentina2024-05-30Feltz Printing Service PROPOSAL89Xuxue Feng
1036Tony U KolmetzGermany2024-06-02Benton, John B Jr PROPOSAL16Anna Fali
1037Jones F AmigonBrazil2024-06-02Benton, John B Jr QUALIFIED31Asiya Javayant
1038Jones W RutaFrance2024-06-01Truhlar And Truhlar Attys UNQUALIFIED6Anna Fali
1039Arvin G MacleadJapan2024-05-30Morlong Associates RENEWAL39Asiya Javayant
1040Emily T TollnerCanada2024-06-17Feltz Printing Service NEGOTIATION65Stephen Shaw
1041Leja C FollerCanada2024-06-16Chemel, James L Cpa NEW54Onyama Limba
1042Arvin E CaudySpain2024-06-13Printing Dimensions RENEWAL52Bernardo Dominic
1043Adams W ButtSpain2024-06-23Benton, John B Jr PROPOSAL18Asiya Javayant
1044Deepesh W WaycottArgentina2024-06-21King, Christopher A Esq UNQUALIFIED59Elwin Sharvill
1045Mujtaba U SchemmerCanada2024-06-18Chapman, Ross E Esq RENEWAL9Stephen Shaw
1046Mayumi P GillianFrance2024-06-06Commercial Press UNQUALIFIED83Anna Fali
1047Francesco B TollnerUnited Kingdom2024-06-19Rousseaux, Michael Esq NEGOTIATION95Amy Elsner
1048Julie T VenereBrazil2024-06-23Dorl, James J Esq NEW49Ioni Bowcher
1049Antonio T StockhamSpain2024-05-28Buckley Miller Wright NEW53Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ashley Q MorascaUnited KingdomAnna Fali QUALIFIED
Morrow E GarufiArgentinaAsiya Javayant UNQUALIFIED
Aika F PerinRussiaAmy Elsner PROPOSAL
Kaitlin J CampainBrazilAsiya Javayant NEGOTIATION
Jeanfrancois L BowleyItalyAsiya Javayant RENEWAL
Leja A FollerSpainElwin Sharvill QUALIFIED
Misaki E DarakjyFranceXuxue Feng UNQUALIFIED
Isabel C VenereArgentinaAmy Elsner UNQUALIFIED
Munro S FigeroaGermanyXuxue Feng QUALIFIED
David B OstroskyArgentinaIvan Magalhaes RENEWAL
Nicolas P BologniaCanadaElwin Sharvill NEW
Mujtaba T MacleadJapanAmy Elsner UNQUALIFIED
Mujtaba J ChuiAustraliaBernardo Dominic RENEWAL
Aditya V SaylorsSpainIoni Bowcher RENEWAL
Leja T OstroskyItalyIoni Bowcher NEGOTIATION
Salvatore V PaprockiUnited KingdomAsiya Javayant PROPOSAL
Jefferson R DoeBrazilOnyama Limba NEGOTIATION
Aika V FollerRussiaBernardo Dominic RENEWAL
Tony I SlusarskiJapanOnyama Limba QUALIFIED
Smith E RulapaughCanadaXuxue Feng NEGOTIATION
Deepesh G DilliardArgentinaAnna Fali NEW
Clifford R MacleadGermanyStephen Shaw UNQUALIFIED
Alejandro S StockhamAustraliaStephen Shaw NEW
Greenwood U PoquetteFranceBernardo Dominic RENEWAL
Costa C FerenczItalyElwin Sharvill NEW
Izzy B SchemmerAustraliaElwin Sharvill RENEWAL
Aika B FollerAustraliaElwin Sharvill UNQUALIFIED
Octavia A MaletAustraliaXuxue Feng UNQUALIFIED
Salvatore T KuskoGermanyAsiya Javayant QUALIFIED
Stacey F RulapaughIndiaIoni Bowcher NEW
Misaki I KolmetzFranceElwin Sharvill QUALIFIED
Morrow C DarakjyBrazilOnyama Limba QUALIFIED
Mujtaba V SergiIndiaAnna Fali UNQUALIFIED
Jennifer O GlickAustraliaAnna Fali PROPOSAL
Francesco Z StensethCanadaAnna Fali PROPOSAL
Chavez A VocelkaSpainAmy Elsner NEW
Claire B AmigonUnited KingdomXuxue Feng UNQUALIFIED
Adams I GarufiIndiaBernardo Dominic PROPOSAL
Jefferson X MaletFranceElwin Sharvill UNQUALIFIED
Johnson J StockhamFranceIoni Bowcher QUALIFIED
Antonio K RutaBrazilStephen Shaw UNQUALIFIED
Chavez Z FlosiArgentinaAmy Elsner RENEWAL
Smith G ButtBrazilAmy Elsner RENEWAL
Ivar Q ShinkoUnited KingdomAmy Elsner NEW
Isabel I MarrierIndiaStephen Shaw RENEWAL
Jefferson M BriddickItalyAmy Elsner UNQUALIFIED
Johnson Z StensethSpainAsiya Javayant PROPOSAL
Ashley N StockhamAustraliaOnyama Limba NEW
Kadeem T GauchoJapanIoni Bowcher QUALIFIED
Nicolas R CaudySpainXuxue Feng NEW
Frozen Columns
Name
Munro P Ruta
Aika H Oldroyd
Antonio J Ferencz
James S Briddick
Aditya P Flosi
Costa D Gaucho
Mujtaba P Caldarera
Wickens C Figeroa
Jefferson C Gillian
Leon R Gaucho
Stacey X Nicka
Octavia L Shinko
Aruna E Tollner
Sinclair I Bowley
Adams C Whobrey
Sinclair K Royster
Tony M Tollner
Maisha O Caldarera
Jefferson D Flosi
Jones T Darakjy
Salvatore S Inouye
Mujtaba Y Darakjy
Munro O Whobrey
Leon A Slusarski
Maisha Z Chui
Morrow A Marrier
Maisha D Wieser
Jennifer R Perin
Aika Q Shinko
Alejandro H Oldroyd
Maisha A Stenseth
Mayumi T Malet
Izzy O Doe
Claire O Saylors
Jennifer U Poquette
Octavia L Albares
Claire B Kolmetz
Clifford T Gillian
Juan T Bowley
Tony F Flosi
Deepesh A Oldroyd
Kadeem V Rim
Tony W Perin
Francesco X Malet
Izzy B Caldarera
Tony R Caldarera
Clifford V Maclead
Kaitlin A Paprocki
Darci L Darakjy
Wickens E Marrier
IdCountryDate
1000Russia2024-06-08
1001United Kingdom2024-05-27
1002Japan2024-06-13
1003Canada2024-06-10
1004Canada2024-05-30
1005Argentina2024-06-18
1006Germany2024-06-18
1007France2024-06-22
1008India2024-05-26
1009United Kingdom2024-06-08
1010Spain2024-06-16
1011Brazil2024-06-12
1012Japan2024-06-18
1013Italy2024-06-07
1014Canada2024-05-30
1015Canada2024-06-05
1016Japan2024-06-19
1017Brazil2024-06-03
1018Germany2024-06-11
1019United Kingdom2024-06-22
1020Russia2024-06-04
1021Italy2024-06-11
1022United Kingdom2024-05-29
1023Germany2024-06-05
1024Australia2024-06-07
1025Canada2024-06-10
1026United Kingdom2024-06-04
1027Italy2024-06-03
1028India2024-05-30
1029France2024-06-09
1030France2024-06-24
1031Russia2024-06-10
1032Germany2024-06-11
1033Spain2024-06-15
1034Japan2024-06-11
1035Spain2024-06-19
1036France2024-06-22
1037Germany2024-06-09
1038India2024-06-04
1039Italy2024-06-11
1040Spain2024-06-24
1041Brazil2024-06-22
1042India2024-05-30
1043Germany2024-06-01
1044Spain2024-06-14
1045Russia2024-06-09
1046United Kingdom2024-06-07
1047India2024-06-24
1048Canada2024-06-19
1049Germany2024-06-14

On-Demand Data

NameIdCountryDate
Arvin K Figeroa1000Germany2024-06-06
Jefferson Z Waycott1001Italy2024-05-31
Darci I Rulapaugh1002Russia2024-06-11
Smith C Whobrey1003Japan2024-06-17
Kaitlin Y Caldarera1004Argentina2024-06-21
Sinclair G Ostrosky1005Italy2024-05-29
David H Briddick1006Canada2024-06-14
Aruna Q Campain1007Australia2024-06-05
Kaitlin P Royster1008Brazil2024-06-03
Mayumi K Albares1009India2024-06-17
Antonio V Dilliard1010Japan2024-06-08
Nicolas M Rim1011Canada2024-06-07
Rodrigues W Caudy1012Russia2024-06-19
Mayumi O Albares1013Argentina2024-06-10
Cody U Albares1014Germany2024-06-14
Maisha N Dilliard1015Japan2024-05-27
Antonio W Bowley1016Russia2024-06-12
Silvio Z Kusko1017Italy2024-06-23
Munro M Ruta1018France2024-06-16
Clifford U Vocelka1019Italy2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Y PerinItalyAsiya Javayant UNQUALIFIED
Tony U CaudyItalyBernardo Dominic RENEWAL
Misaki T RutaFranceIoni Bowcher NEGOTIATION
Salvatore W WhobreyBrazilStephen Shaw NEGOTIATION
Leja N InouyeCanadaIvan Magalhaes UNQUALIFIED
Rodrigues F SchemmerBrazilBernardo Dominic NEGOTIATION
Chavez O StensethCanadaIoni Bowcher NEW
Greenwood Q RimBrazilXuxue Feng QUALIFIED
Jefferson P DoeItalyXuxue Feng PROPOSAL
Aditya O KolmetzItalyBernardo Dominic UNQUALIFIED
Nicolas I GlickCanadaOnyama Limba RENEWAL
Arvin Y StockhamArgentinaAsiya Javayant NEGOTIATION
Nicolas X PoquetteSpainXuxue Feng NEGOTIATION
Rodrigues C RimAustraliaIoni Bowcher PROPOSAL
Jefferson G WhobreySpainBernardo Dominic NEW
Chavez I GauchoIndiaStephen Shaw QUALIFIED
Deepesh J KuskoFranceIvan Magalhaes QUALIFIED
Kaitlin P WieserRussiaAmy Elsner NEGOTIATION
Johnson Y KuskoIndiaStephen Shaw NEGOTIATION
Ivar L DilliardIndiaXuxue Feng QUALIFIED
Izzy Y WaycottIndiaIvan Magalhaes QUALIFIED
Silvio T GarufiUnited KingdomAmy Elsner UNQUALIFIED
David X ShinkoSpainIoni Bowcher NEGOTIATION
Misaki W IturbideAustraliaXuxue Feng NEW
Izzy A RimCanadaIoni Bowcher NEW
Chavez N FlosiItalyElwin Sharvill PROPOSAL
Mujtaba Z TollnerUnited KingdomAmy Elsner NEW
Smith A AlbaresBrazilAnna Fali QUALIFIED
Murillo N RimUnited KingdomBernardo Dominic NEGOTIATION
Misaki O PerinFranceOnyama Limba NEGOTIATION
Jeanfrancois F WhobreySpainAmy Elsner QUALIFIED
Stacey R AlbaresRussiaStephen Shaw RENEWAL
Izzy O WaycottSpainAsiya Javayant RENEWAL
Salvatore I KolmetzFranceAmy Elsner QUALIFIED
Ricardo D FerenczIndiaBernardo Dominic PROPOSAL
Emily J RoysterItalyElwin Sharvill PROPOSAL
Francesco Q OldroydAustraliaStephen Shaw PROPOSAL
James A CampainIndiaElwin Sharvill QUALIFIED
Isabel K SlusarskiRussiaStephen Shaw NEW
Silvio C SergiGermanyIoni Bowcher PROPOSAL

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