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
Silvio Q DilliardBrazilXuxue Feng NEW
Rodrigues F ShinkoArgentinaIoni Bowcher UNQUALIFIED
Ivar T CaudyGermanyAsiya Javayant NEGOTIATION
Greenwood F RulapaughRussiaElwin Sharvill PROPOSAL
Jones I FigeroaCanadaIvan Magalhaes QUALIFIED
Adams C WieserBrazilOnyama Limba UNQUALIFIED
David U GarufiRussiaIoni Bowcher UNQUALIFIED
Chavez P StensethArgentinaAnna Fali NEW
Mujtaba W CampainBrazilIoni Bowcher NEW
Kadeem V ButtGermanyStephen Shaw NEW
Cody O DoeJapanXuxue Feng RENEWAL
Arvin M GauchoCanadaAsiya Javayant RENEWAL
Kadeem M VocelkaIndiaElwin Sharvill NEW
Francesco P GillianIndiaXuxue Feng RENEWAL
Izzy M SchemmerGermanyIvan Magalhaes RENEWAL
Sinclair Y MaletFranceIoni Bowcher NEW
Tony M SaylorsAustraliaAmy Elsner PROPOSAL
Kaitlin G PerinIndiaAnna Fali UNQUALIFIED
Maria C GlickAustraliaOnyama Limba NEGOTIATION
Ivar G MaletItalyBernardo Dominic QUALIFIED
Chavez D WhobreyJapanAsiya Javayant QUALIFIED
Wickens B WhobreyJapanAsiya Javayant UNQUALIFIED
Costa I FlosiSpainAsiya Javayant RENEWAL
Greenwood Q GlickArgentinaBernardo Dominic NEW
Sinclair S StockhamCanadaBernardo Dominic UNQUALIFIED
Deepesh V RimBrazilElwin Sharvill PROPOSAL
Nicolas Z FerenczFranceBernardo Dominic NEGOTIATION
Mayumi D RutaFranceIvan Magalhaes QUALIFIED
Emily V RulapaughRussiaOnyama Limba RENEWAL
Alejandro T OldroydJapanXuxue Feng RENEWAL
Rodrigues I SergiAustraliaOnyama Limba PROPOSAL
Leja E RimUnited KingdomElwin Sharvill PROPOSAL
Tony L WaycottRussiaXuxue Feng NEGOTIATION
Alejandro X BologniaGermanyAmy Elsner QUALIFIED
Smith F GauchoArgentinaOnyama Limba QUALIFIED
Jennifer I MaletAustraliaAmy Elsner NEW
Wickens O MacleadItalyIvan Magalhaes QUALIFIED
Smith I ButtRussiaXuxue Feng RENEWAL
Aika L WaycottGermanyAmy Elsner NEW
David G DilliardIndiaIoni Bowcher UNQUALIFIED
Maisha N CaldareraSpainBernardo Dominic UNQUALIFIED
Clifford F ChuiItalyElwin Sharvill UNQUALIFIED
Greenwood U SergiRussiaXuxue Feng RENEWAL
Izzy P BowleyUnited KingdomIvan Magalhaes RENEWAL
Sinclair S WaycottArgentinaElwin Sharvill QUALIFIED
Salvatore H GarufiCanadaXuxue Feng PROPOSAL
Greenwood P CaldareraSpainIvan Magalhaes PROPOSAL
Mayumi A SaylorsFranceIoni Bowcher PROPOSAL
Leja F MaletRussiaBernardo Dominic NEGOTIATION
Leja D MarrierArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin D RoysterBrazilIvan Magalhaes PROPOSAL
Stacey W FlosiRussiaIvan Magalhaes QUALIFIED
Stacey O CaldareraArgentinaXuxue Feng RENEWAL
Rodrigues Y NestleJapanAsiya Javayant PROPOSAL
Alejandro P GauchoRussiaElwin Sharvill RENEWAL
Julie F BowleyCanadaXuxue Feng PROPOSAL
Rodrigues O RulapaughBrazilBernardo Dominic UNQUALIFIED
Julie C RutaJapanElwin Sharvill QUALIFIED
Maisha B BowleyRussiaIvan Magalhaes UNQUALIFIED
Francesco I GauchoUnited KingdomIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Q RimFrance2024-06-12King, Christopher A Esq RENEWAL49Anna Fali
1001Chavez E OstroskyBrazil2024-06-03Chemel, James L Cpa PROPOSAL86Bernardo Dominic
1002Ricardo O PaprockiItaly2024-06-20Chemel, James L Cpa NEGOTIATION35Xuxue Feng
1003Murillo Y FlosiUnited Kingdom2024-05-27King, Christopher A Esq NEW33Bernardo Dominic
1004Maisha W FlosiArgentina2024-06-22Printing Dimensions NEGOTIATION29Stephen Shaw
1005James P CampainJapan2024-06-10Benton, John B Jr UNQUALIFIED84Anna Fali
1006Greenwood Z CaldareraIndia2024-06-02Feiner Bros NEGOTIATION43Ivan Magalhaes
1007Sinclair V WhobreyArgentina2024-06-02Feltz Printing Service PROPOSAL25Elwin Sharvill
1008Maria P GillianGermany2024-06-02Feltz Printing Service NEW97Ivan Magalhaes
1009Arvin L DoeAustralia2024-06-20Buckley Miller Wright NEW12Ioni Bowcher
1010Salvatore C GlickUnited Kingdom2024-06-21Printing Dimensions UNQUALIFIED68Asiya Javayant
1011Arvin P DarakjySpain2024-06-19Truhlar And Truhlar Attys NEW15Asiya Javayant
1012Silvio H CaldareraCanada2024-06-22Commercial Press RENEWAL13Xuxue Feng
1013Deepesh U KolmetzCanada2024-06-14Benton, John B Jr RENEWAL46Onyama Limba
1014Jeanfrancois V GlickSpain2024-06-08Printing Dimensions UNQUALIFIED6Stephen Shaw
1015Salvatore C MaletArgentina2024-06-01Chapman, Ross E Esq UNQUALIFIED52Ivan Magalhaes
1016Kaitlin K WhobreyJapan2024-06-12Morlong Associates NEW54Stephen Shaw
1017Ashley X VocelkaRussia2024-05-24Commercial Press UNQUALIFIED18Asiya Javayant
1018Antonio B PoquetteCanada2024-05-26Buckley Miller Wright NEGOTIATION19Ioni Bowcher
1019Ivar L RulapaughItaly2024-06-06Feiner Bros RENEWAL47Asiya Javayant
1020Izzy E PoquetteCanada2024-06-11Rousseaux, Michael Esq NEW92Ioni Bowcher
1021Chavez R VocelkaBrazil2024-06-02Truhlar And Truhlar Attys RENEWAL56Bernardo Dominic
1022Misaki N KuskoUnited Kingdom2024-06-04Buckley Miller Wright QUALIFIED52Xuxue Feng
1023Silvio D FigeroaArgentina2024-06-12Chemel, James L Cpa RENEWAL68Elwin Sharvill
1024Jennifer J CampainSpain2024-06-21Chemel, James L Cpa NEW99Amy Elsner
1025Maria K RutaUnited Kingdom2024-06-12Rousseaux, Michael Esq NEW17Elwin Sharvill
1026Smith Q AlbaresJapan2024-06-18Benton, John B Jr PROPOSAL8Ivan Magalhaes
1027Nicolas H RoysterIndia2024-05-28Commercial Press NEGOTIATION85Amy Elsner
1028Greenwood W MacleadArgentina2024-05-27Chemel, James L Cpa NEGOTIATION9Stephen Shaw
1029David E OstroskyIndia2024-06-13Commercial Press RENEWAL52Stephen Shaw
1030Alejandro J NestleIndia2024-06-06Rousseaux, Michael Esq QUALIFIED73Onyama Limba
1031Clifford D BriddickRussia2024-06-07Rousseaux, Michael Esq RENEWAL70Anna Fali
1032Antonio G MaletArgentina2024-06-22Chemel, James L Cpa NEW24Asiya Javayant
1033Costa F DilliardArgentina2024-06-01Morlong Associates NEGOTIATION5Stephen Shaw
1034Ivar S IturbideFrance2024-06-10Rangoni Of Florence RENEWAL65Amy Elsner
1035Munro Y FerenczFrance2024-06-22Truhlar And Truhlar Attys QUALIFIED24Anna Fali
1036Antonio U SchemmerAustralia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED58Ivan Magalhaes
1037Izzy D RimFrance2024-06-01Printing Dimensions RENEWAL21Stephen Shaw
1038Leja W RimJapan2024-05-28Commercial Press NEGOTIATION21Asiya Javayant
1039Smith E FollerBrazil2024-06-04Commercial Press QUALIFIED67Amy Elsner
1040Mayumi I TollnerJapan2024-06-12Feiner Bros NEGOTIATION51Asiya Javayant
1041Maria O VenereCanada2024-06-20Truhlar And Truhlar Attys NEW65Elwin Sharvill
1042Jennifer S RimJapan2024-06-09Printing Dimensions PROPOSAL13Amy Elsner
1043Aditya Z MaletFrance2024-05-28Chanay, Jeffrey A Esq QUALIFIED31Stephen Shaw
1044Julie O OldroydFrance2024-05-31Rangoni Of Florence NEW85Xuxue Feng
1045James Z MaletUnited Kingdom2024-06-22Printing Dimensions RENEWAL7Onyama Limba
1046Aruna D WhobreyCanada2024-06-12Benton, John B Jr NEW47Elwin Sharvill
1047Jefferson A AlbaresItaly2024-06-21Chanay, Jeffrey A Esq QUALIFIED99Onyama Limba
1048Julie G TollnerItaly2024-06-06Chanay, Jeffrey A Esq PROPOSAL3Asiya Javayant
1049Aditya R SchemmerRussia2024-06-12Rousseaux, Michael Esq RENEWAL55Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith E OstroskyAustraliaAmy Elsner PROPOSAL
Smith I BowleyFranceElwin Sharvill PROPOSAL
Jeanfrancois R VocelkaFranceElwin Sharvill QUALIFIED
Ashley N NestleIndiaAsiya Javayant RENEWAL
Salvatore U VenereRussiaBernardo Dominic NEGOTIATION
James W StockhamUnited KingdomIvan Magalhaes PROPOSAL
Jennifer T MarrierRussiaStephen Shaw NEW
Isabel I VenereGermanyElwin Sharvill QUALIFIED
Wickens F CaudyItalyAnna Fali NEGOTIATION
Wickens M GarufiRussiaXuxue Feng RENEWAL
Wickens R SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Wickens C DilliardJapanOnyama Limba PROPOSAL
Aika Y TollnerGermanyIvan Magalhaes RENEWAL
Munro X CaudySpainIvan Magalhaes NEW
Faith X FlosiArgentinaIvan Magalhaes NEGOTIATION
Stacey F WaycottGermanyXuxue Feng RENEWAL
Jefferson J GauchoAustraliaAsiya Javayant NEGOTIATION
Stacey F RutaGermanyAsiya Javayant PROPOSAL
Adams X BologniaCanadaIvan Magalhaes QUALIFIED
Deepesh N ShinkoRussiaXuxue Feng NEGOTIATION
Mayumi P BowleyBrazilOnyama Limba PROPOSAL
Ashley S BologniaIndiaBernardo Dominic NEW
Aruna W KolmetzRussiaOnyama Limba QUALIFIED
Jones T SergiIndiaOnyama Limba NEGOTIATION
Leja R DarakjyIndiaXuxue Feng UNQUALIFIED
Munro G AmigonAustraliaIvan Magalhaes NEW
Deepesh H TollnerJapanStephen Shaw RENEWAL
Munro A StensethJapanStephen Shaw NEW
Clifford I SchemmerIndiaStephen Shaw NEGOTIATION
Julie L GarufiFranceStephen Shaw NEW
Darci X FigeroaItalyStephen Shaw PROPOSAL
Kadeem L FlosiGermanyIvan Magalhaes UNQUALIFIED
Mayumi R CaudyGermanyXuxue Feng UNQUALIFIED
Alejandro U FerenczItalyIvan Magalhaes NEGOTIATION
Octavia O StensethIndiaAmy Elsner NEW
Rodrigues W StockhamGermanyAmy Elsner NEGOTIATION
Tony L KuskoAustraliaStephen Shaw NEGOTIATION
Jones J BriddickRussiaXuxue Feng QUALIFIED
Antonio C SlusarskiRussiaOnyama Limba QUALIFIED
Jennifer Q ShinkoJapanXuxue Feng QUALIFIED
Aruna X MarrierIndiaIoni Bowcher NEW
Jones K RoysterCanadaAmy Elsner QUALIFIED
Leon X BriddickFranceIvan Magalhaes NEGOTIATION
Nicolas K BriddickFranceAnna Fali QUALIFIED
Leja I FerenczFranceElwin Sharvill NEW
Mayumi D CampainRussiaStephen Shaw UNQUALIFIED
Mayumi O IturbideCanadaBernardo Dominic UNQUALIFIED
Kadeem X OldroydFranceXuxue Feng PROPOSAL
Aruna D WaycottSpainXuxue Feng RENEWAL
Ricardo L CaldareraJapanIoni Bowcher NEW
Frozen Columns
Name
Maria K Caudy
Isabel V Bowley
Izzy C Vocelka
Darci O Perin
Octavia R Kolmetz
Ricardo G Rulapaugh
Isabel M Waycott
Antonio E Amigon
Misaki A Royster
Jefferson Q Venere
Morrow S Shinko
Francesco F Briddick
Chavez J Bolognia
Ivar X Paprocki
Deepesh X Schemmer
Alejandro G Flosi
Juan J Rim
Murillo J Schemmer
Wickens X Bowley
Octavia C Foller
Adams V Wieser
Maisha W Kusko
David H Kolmetz
Antonio B Doe
Julie G Darakjy
Maisha C Albares
Jennifer A Stenseth
Emily J Rim
Isabel B Gillian
Juan S Garufi
Antonio L Stockham
Aditya G Caudy
Maria Q Darakjy
Clifford E Whobrey
Faith J Royster
Aika L Venere
Adams V Stockham
Clifford V Iturbide
Costa X Caldarera
Mujtaba U Iturbide
Rodrigues P Tollner
Alejandro N Stenseth
Munro I Butt
Octavia G Nicka
Maisha S Oldroyd
Alejandro R Foller
Francesco K Malet
Aika D Malet
Smith H Campain
Emily B Marrier
IdCountryDate
1000Argentina2024-06-17
1001United Kingdom2024-06-17
1002Australia2024-06-15
1003Spain2024-06-19
1004Italy2024-06-12
1005India2024-06-15
1006France2024-06-19
1007Italy2024-06-16
1008Australia2024-06-08
1009Russia2024-06-22
1010Japan2024-05-27
1011Argentina2024-05-25
1012France2024-05-28
1013India2024-06-12
1014Brazil2024-06-05
1015Brazil2024-06-02
1016Germany2024-06-12
1017Argentina2024-06-19
1018Spain2024-06-01
1019Brazil2024-06-15
1020United Kingdom2024-06-01
1021Spain2024-06-19
1022Australia2024-05-28
1023Brazil2024-05-28
1024Japan2024-06-04
1025Canada2024-05-30
1026Italy2024-06-12
1027Germany2024-06-01
1028Spain2024-06-13
1029Argentina2024-06-18
1030Japan2024-05-25
1031United Kingdom2024-05-28
1032United Kingdom2024-05-26
1033Italy2024-05-26
1034Italy2024-05-24
1035Brazil2024-06-15
1036France2024-06-10
1037Italy2024-05-25
1038France2024-05-24
1039India2024-05-24
1040Japan2024-06-21
1041Germany2024-06-11
1042Russia2024-05-25
1043Canada2024-06-09
1044Germany2024-05-24
1045Spain2024-06-02
1046Russia2024-06-07
1047Japan2024-06-09
1048Canada2024-05-28
1049France2024-06-13

On-Demand Data

NameIdCountryDate
Octavia N Foller1000Brazil2024-05-26
Wickens P Sergi1001Russia2024-05-25
Deepesh K Figeroa1002Italy2024-06-11
Misaki S Amigon1003India2024-05-26
Nicolas M Briddick1004Spain2024-06-22
Aika K Stenseth1005Germany2024-05-25
Faith J Shinko1006Spain2024-06-02
Stacey V Doe1007Brazil2024-06-02
Murillo Y Ruta1008France2024-06-13
Silvio L Malet1009Russia2024-06-03
Juan I Maclead1010India2024-06-13
Julie T Morasca1011Canada2024-06-02
Isabel A Ostrosky1012United Kingdom2024-06-02
Sinclair C Ostrosky1013Australia2024-06-18
Jennifer F Garufi1014Australia2024-06-16
Silvio U Dilliard1015United Kingdom2024-05-26
Francesco D Royster1016Australia2024-06-03
Maisha X Perin1017India2024-06-10
Smith Y Malet1018Brazil2024-06-12
Kadeem N Malet1019France2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem S CampainFranceElwin Sharvill QUALIFIED
Ashley Y SchemmerFranceStephen Shaw UNQUALIFIED
Johnson C SergiCanadaAnna Fali RENEWAL
Johnson I MarrierJapanAmy Elsner UNQUALIFIED
Alejandro T FigeroaGermanyOnyama Limba QUALIFIED
Jeanfrancois R MorascaUnited KingdomElwin Sharvill NEW
Tony T WaycottItalyAsiya Javayant UNQUALIFIED
Mujtaba G MacleadJapanAsiya Javayant QUALIFIED
Aruna R NickaSpainAmy Elsner UNQUALIFIED
Arvin C ChuiArgentinaElwin Sharvill PROPOSAL
Stacey S PoquetteGermanyElwin Sharvill QUALIFIED
Mujtaba J VenereFranceAmy Elsner NEW
Kaitlin U CampainItalyElwin Sharvill NEW
Misaki Z MorascaGermanyIoni Bowcher PROPOSAL
Ivar N TollnerIndiaBernardo Dominic NEW
Aditya T SergiSpainAsiya Javayant NEGOTIATION
Isabel R CaudyFranceElwin Sharvill NEGOTIATION
Tony T InouyeGermanyAmy Elsner NEW
Izzy C KuskoIndiaElwin Sharvill RENEWAL
Aika M SlusarskiArgentinaOnyama Limba UNQUALIFIED
Mujtaba W DarakjyGermanyXuxue Feng QUALIFIED
Mujtaba X RoysterIndiaAsiya Javayant QUALIFIED
Izzy A CaudyCanadaOnyama Limba NEGOTIATION
Johnson Z BowleyFranceIvan Magalhaes RENEWAL
Aditya X MacleadFranceStephen Shaw PROPOSAL
Cody S TollnerGermanyElwin Sharvill RENEWAL
Maria K FerenczBrazilIvan Magalhaes RENEWAL
Izzy L CampainArgentinaIoni Bowcher NEW
Greenwood T InouyeArgentinaXuxue Feng UNQUALIFIED
Alejandro F RutaIndiaXuxue Feng NEW
Mujtaba K PoquetteItalyStephen Shaw NEW
Misaki C AmigonFranceStephen Shaw PROPOSAL
Jeanfrancois X PaprockiRussiaXuxue Feng PROPOSAL
Greenwood A CaudyJapanElwin Sharvill PROPOSAL
Rodrigues Z FerenczGermanyStephen Shaw UNQUALIFIED
Costa L CaldareraAustraliaAsiya Javayant RENEWAL
David C FigeroaIndiaOnyama Limba PROPOSAL
Kadeem H DilliardArgentinaElwin Sharvill QUALIFIED
Salvatore L ButtBrazilIvan Magalhaes QUALIFIED
Maisha B WieserBrazilAmy Elsner 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>