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
Maria V GarufiCanadaAmy Elsner RENEWAL
James J StockhamIndiaXuxue Feng RENEWAL
Juan G SergiItalyAmy Elsner UNQUALIFIED
Aditya B BowleyUnited KingdomElwin Sharvill NEW
Faith B AmigonBrazilBernardo Dominic UNQUALIFIED
Kadeem X AlbaresBrazilAmy Elsner NEGOTIATION
Maisha J DoeAustraliaXuxue Feng NEGOTIATION
Chavez F TollnerJapanOnyama Limba UNQUALIFIED
Leon Z PoquetteIndiaOnyama Limba RENEWAL
Jones J ShinkoUnited KingdomOnyama Limba NEGOTIATION
Juan C GarufiArgentinaAsiya Javayant NEW
Claire N WieserFranceAmy Elsner NEGOTIATION
Munro Z SergiArgentinaStephen Shaw QUALIFIED
Deepesh O MacleadCanadaAsiya Javayant NEW
Johnson X DilliardFranceIoni Bowcher QUALIFIED
Rodrigues R MaletBrazilIvan Magalhaes NEW
Ricardo F SlusarskiArgentinaElwin Sharvill NEW
Emily S RulapaughBrazilXuxue Feng PROPOSAL
David G OstroskyCanadaElwin Sharvill RENEWAL
Aditya C RulapaughArgentinaIoni Bowcher NEW
Octavia W AmigonJapanOnyama Limba UNQUALIFIED
Ashley C MorascaArgentinaIoni Bowcher QUALIFIED
Leon V PaprockiGermanyAsiya Javayant UNQUALIFIED
Aditya M NestleArgentinaAnna Fali PROPOSAL
Maria P AmigonArgentinaOnyama Limba PROPOSAL
James L AlbaresJapanIvan Magalhaes RENEWAL
Faith I IturbideAustraliaElwin Sharvill RENEWAL
Rodrigues A WieserJapanIvan Magalhaes UNQUALIFIED
Aika J PoquetteRussiaElwin Sharvill NEW
Maria D IturbideSpainIvan Magalhaes QUALIFIED
Izzy A InouyeArgentinaBernardo Dominic NEGOTIATION
Wickens E SaylorsAustraliaStephen Shaw NEW
Smith B MorascaAustraliaAsiya Javayant NEGOTIATION
Nicolas X SchemmerAustraliaXuxue Feng NEGOTIATION
Rodrigues X WieserJapanXuxue Feng NEW
Jennifer O DarakjyUnited KingdomIoni Bowcher QUALIFIED
Greenwood V MaletAustraliaOnyama Limba NEW
Arvin U FerenczGermanyIoni Bowcher NEGOTIATION
Adams G InouyeSpainAnna Fali QUALIFIED
Kadeem W DarakjyItalyIoni Bowcher NEW
Cody K ShinkoArgentinaStephen Shaw UNQUALIFIED
Rodrigues I GauchoItalyOnyama Limba QUALIFIED
Aditya I IturbideItalyBernardo Dominic RENEWAL
Jones V AmigonGermanyOnyama Limba PROPOSAL
Jeanfrancois A AmigonArgentinaIvan Magalhaes NEW
James U IturbideFranceOnyama Limba RENEWAL
Tony E CampainUnited KingdomAsiya Javayant PROPOSAL
Alejandro L AmigonArgentinaBernardo Dominic UNQUALIFIED
Cody I DilliardIndiaBernardo Dominic RENEWAL
Emily B CaudyJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco M ShinkoSpainElwin Sharvill NEGOTIATION
Mujtaba R ChuiArgentinaElwin Sharvill RENEWAL
Jefferson H DilliardBrazilOnyama Limba RENEWAL
Rodrigues D DoeRussiaIoni Bowcher NEGOTIATION
Stacey Y DoeIndiaAnna Fali NEW
Salvatore C MacleadIndiaOnyama Limba NEW
Aruna M KolmetzIndiaAmy Elsner NEW
Deepesh I CaudyCanadaAnna Fali RENEWAL
Mayumi R TollnerRussiaXuxue Feng QUALIFIED
Aika S MaletUnited KingdomStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio M DoeIndia2024-06-20Rangoni Of Florence NEGOTIATION64Amy Elsner
1001Leon X ChuiIndia2024-06-13Truhlar And Truhlar Attys QUALIFIED70Xuxue Feng
1002Deepesh R WieserBrazil2024-06-17Buckley Miller Wright QUALIFIED88Amy Elsner
1003Mujtaba T VenereCanada2024-06-01Truhlar And Truhlar Attys RENEWAL32Ioni Bowcher
1004Jennifer L NestleAustralia2024-05-29Chanay, Jeffrey A Esq NEW93Stephen Shaw
1005Faith K PaprockiFrance2024-06-14Chemel, James L Cpa NEGOTIATION83Ioni Bowcher
1006Salvatore L SlusarskiFrance2024-05-28Morlong Associates UNQUALIFIED85Ioni Bowcher
1007Antonio K DarakjyBrazil2024-06-03Feiner Bros UNQUALIFIED73Elwin Sharvill
1008Salvatore N RimCanada2024-05-24Commercial Press NEW37Xuxue Feng
1009Izzy J VenereItaly2024-06-18Buckley Miller Wright PROPOSAL60Amy Elsner
1010Isabel N WaycottItaly2024-06-09Rousseaux, Michael Esq RENEWAL38Stephen Shaw
1011David I SchemmerBrazil2024-05-31Chapman, Ross E Esq RENEWAL94Stephen Shaw
1012James A FigeroaIndia2024-05-25Rangoni Of Florence NEW38Stephen Shaw
1013Aditya D StockhamRussia2024-05-30Morlong Associates NEW64Anna Fali
1014Johnson H OldroydRussia2024-05-29Chanay, Jeffrey A Esq RENEWAL73Onyama Limba
1015Juan J AmigonGermany2024-06-21Benton, John B Jr QUALIFIED70Bernardo Dominic
1016Jennifer H BologniaCanada2024-05-25Rangoni Of Florence QUALIFIED4Ioni Bowcher
1017Antonio T NestleAustralia2024-06-20Benton, John B Jr NEGOTIATION16Anna Fali
1018Costa L FollerJapan2024-05-26Feiner Bros NEGOTIATION4Asiya Javayant
1019Wickens J TollnerItaly2024-06-12King, Christopher A Esq QUALIFIED40Amy Elsner
1020Leon U WaycottAustralia2024-06-20Dorl, James J Esq NEGOTIATION32Ioni Bowcher
1021Deepesh P MarrierRussia2024-06-09Morlong Associates UNQUALIFIED18Onyama Limba
1022Maria P StockhamIndia2024-06-07King, Christopher A Esq QUALIFIED71Bernardo Dominic
1023David L DoeArgentina2024-06-02Rangoni Of Florence QUALIFIED5Anna Fali
1024Murillo C WaycottJapan2024-05-25Benton, John B Jr UNQUALIFIED99Anna Fali
1025Maisha Z GarufiIndia2024-06-13Truhlar And Truhlar Attys UNQUALIFIED56Onyama Limba
1026Leja W ChuiIndia2024-06-03King, Christopher A Esq PROPOSAL15Elwin Sharvill
1027Smith G BriddickJapan2024-06-07Chapman, Ross E Esq RENEWAL56Ioni Bowcher
1028Darci C StensethBrazil2024-06-02King, Christopher A Esq RENEWAL15Amy Elsner
1029Aika Z NickaSpain2024-06-21King, Christopher A Esq RENEWAL21Ivan Magalhaes
1030Ricardo K VocelkaArgentina2024-06-19Dorl, James J Esq QUALIFIED60Onyama Limba
1031Costa X DoeRussia2024-06-16Feiner Bros NEW93Asiya Javayant
1032Ricardo B ButtFrance2024-05-30Morlong Associates UNQUALIFIED65Bernardo Dominic
1033Munro H BowleyJapan2024-05-30King, Christopher A Esq QUALIFIED10Amy Elsner
1034Deepesh E DilliardRussia2024-06-20Feiner Bros QUALIFIED10Ioni Bowcher
1035Leja Y MorascaArgentina2024-06-05Chanay, Jeffrey A Esq NEGOTIATION10Amy Elsner
1036Julie S CaudyUnited Kingdom2024-06-12Feltz Printing Service UNQUALIFIED51Asiya Javayant
1037Julie C PoquetteIndia2024-06-03Chapman, Ross E Esq NEW18Ivan Magalhaes
1038Octavia X StockhamSpain2024-06-04Printing Dimensions QUALIFIED53Amy Elsner
1039Salvatore C GauchoCanada2024-06-18Rousseaux, Michael Esq NEW47Ioni Bowcher
1040Alejandro D PaprockiArgentina2024-06-07Commercial Press QUALIFIED91Asiya Javayant
1041Claire Z NestleRussia2024-06-02Rousseaux, Michael Esq PROPOSAL87Xuxue Feng
1042Aruna X InouyeIndia2024-06-21Chapman, Ross E Esq QUALIFIED60Amy Elsner
1043Jeanfrancois J GlickJapan2024-06-17Chapman, Ross E Esq NEGOTIATION55Bernardo Dominic
1044Julie N ChuiArgentina2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED63Xuxue Feng
1045Izzy I OldroydCanada2024-06-07Rousseaux, Michael Esq RENEWAL29Anna Fali
1046Mujtaba A OldroydFrance2024-05-26Benton, John B Jr PROPOSAL98Ioni Bowcher
1047Jennifer I WaycottFrance2024-05-24Commercial Press PROPOSAL5Ivan Magalhaes
1048Morrow X IturbideBrazil2024-06-15King, Christopher A Esq NEGOTIATION3Amy Elsner
1049Antonio C CaldareraSpain2024-06-09Rangoni Of Florence NEW39Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow G DilliardIndiaAnna Fali UNQUALIFIED
Darci S AlbaresAustraliaIoni Bowcher QUALIFIED
Deepesh W KuskoJapanOnyama Limba NEGOTIATION
Aditya T FigeroaJapanXuxue Feng QUALIFIED
Jefferson H WaycottRussiaOnyama Limba UNQUALIFIED
Faith Y DilliardRussiaStephen Shaw PROPOSAL
Ashley Z FollerFranceBernardo Dominic PROPOSAL
Nicolas B ShinkoGermanyAnna Fali QUALIFIED
Octavia D FigeroaCanadaBernardo Dominic UNQUALIFIED
Darci M StockhamItalyIoni Bowcher RENEWAL
Faith U RoysterRussiaAnna Fali PROPOSAL
Aruna S WieserItalyElwin Sharvill RENEWAL
Izzy D FerenczFranceAnna Fali QUALIFIED
James N WhobreyGermanyAmy Elsner NEGOTIATION
Mayumi W OstroskyAustraliaElwin Sharvill QUALIFIED
Francesco C ChuiGermanyAnna Fali QUALIFIED
Munro L SergiAustraliaAmy Elsner PROPOSAL
Jones X AmigonFranceAmy Elsner NEW
Smith M GauchoArgentinaAmy Elsner UNQUALIFIED
Salvatore L CaldareraJapanBernardo Dominic NEW
Costa J NestleFranceIoni Bowcher RENEWAL
Wickens U GillianRussiaXuxue Feng QUALIFIED
Leja P WaycottCanadaOnyama Limba UNQUALIFIED
Wickens I GlickSpainXuxue Feng UNQUALIFIED
Stacey L IturbideAustraliaStephen Shaw PROPOSAL
James S FollerFranceIvan Magalhaes QUALIFIED
Maria Q GarufiSpainStephen Shaw PROPOSAL
Jefferson D KuskoRussiaAsiya Javayant PROPOSAL
Arvin Z SaylorsRussiaOnyama Limba QUALIFIED
Smith Q PerinCanadaIvan Magalhaes UNQUALIFIED
Salvatore V RimUnited KingdomAsiya Javayant NEW
Mujtaba G ButtUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois T DarakjyRussiaAmy Elsner UNQUALIFIED
Morrow X NestleIndiaAmy Elsner QUALIFIED
Jefferson I WhobreyArgentinaAmy Elsner PROPOSAL
Jones A KuskoUnited KingdomAsiya Javayant NEGOTIATION
David D GillianItalyIoni Bowcher NEW
Arvin C GlickGermanyStephen Shaw QUALIFIED
Misaki T StensethBrazilXuxue Feng UNQUALIFIED
Kaitlin D ShinkoAustraliaStephen Shaw RENEWAL
Sinclair J ButtUnited KingdomIvan Magalhaes PROPOSAL
Izzy N MorascaCanadaIoni Bowcher RENEWAL
Munro L DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Wickens G PaprockiItalyStephen Shaw RENEWAL
Johnson U StensethItalyIoni Bowcher RENEWAL
Octavia U SaylorsGermanyIvan Magalhaes QUALIFIED
Adams B RutaAustraliaElwin Sharvill NEW
Wickens M OstroskyFranceElwin Sharvill RENEWAL
Emily F ShinkoSpainXuxue Feng NEW
Salvatore A DarakjyAustraliaElwin Sharvill NEW
Frozen Columns
Name
Munro G Vocelka
Aditya B Amigon
Nicolas W Saylors
David T Poquette
Faith P Rulapaugh
Jones A Stenseth
Octavia D Poquette
Morrow O Waycott
Adams J Stockham
Jones T Chui
Izzy X Wieser
Stacey F Inouye
Ricardo X Saylors
Silvio E Venere
Alejandro W Rim
Clifford C Gaucho
Chavez K Glick
Tony R Ferencz
David A Nestle
Salvatore Y Chui
Ricardo L Marrier
David S Darakjy
James H Stockham
Jones V Nestle
Adams Q Venere
Murillo T Ostrosky
Leja S Darakjy
Cody C Poquette
Stacey I Poquette
Adams K Garufi
Francesco P Garufi
Wickens V Sergi
Isabel J Schemmer
Stacey V Gaucho
Claire K Caudy
Jennifer V Stenseth
Ricardo Q Darakjy
Jennifer H Shinko
Smith H Kolmetz
Izzy S Dilliard
Faith B Bowley
Mayumi K Ostrosky
Clifford Z Oldroyd
Antonio D Poquette
Octavia Y Waycott
Antonio K Morasca
Ashley H Wieser
Jones T Iturbide
Kaitlin V Kolmetz
Kaitlin T Whobrey
IdCountryDate
1000Japan2024-05-26
1001Argentina2024-06-17
1002France2024-05-23
1003France2024-06-12
1004Brazil2024-06-11
1005Canada2024-06-20
1006Canada2024-06-21
1007Spain2024-05-25
1008Germany2024-06-13
1009India2024-05-30
1010Germany2024-05-26
1011India2024-06-01
1012India2024-05-30
1013Argentina2024-06-07
1014India2024-06-19
1015Argentina2024-05-23
1016France2024-06-07
1017Canada2024-06-02
1018Russia2024-06-11
1019Canada2024-06-09
1020India2024-06-06
1021Spain2024-05-29
1022United Kingdom2024-05-31
1023Canada2024-06-01
1024Spain2024-06-06
1025Canada2024-06-05
1026Argentina2024-06-16
1027France2024-06-14
1028France2024-06-02
1029Canada2024-06-03
1030India2024-06-12
1031Brazil2024-06-13
1032Italy2024-06-11
1033Argentina2024-05-31
1034Russia2024-06-01
1035Spain2024-05-30
1036Brazil2024-06-07
1037France2024-05-31
1038Argentina2024-06-09
1039Canada2024-05-30
1040Japan2024-05-26
1041Russia2024-06-10
1042Argentina2024-05-28
1043Argentina2024-06-19
1044Russia2024-06-15
1045Spain2024-06-01
1046Russia2024-05-27
1047Canada2024-06-14
1048Brazil2024-06-20
1049Canada2024-05-28

On-Demand Data

NameIdCountryDate
Johnson G Nicka1000Russia2024-05-29
Cody G Shinko1001France2024-05-24
Stacey F Slusarski1002Italy2024-05-25
Salvatore B Garufi1003Argentina2024-06-18
James Y Rulapaugh1004France2024-06-02
Isabel A Maclead1005Argentina2024-05-31
Deepesh E Ostrosky1006Australia2024-06-19
Leja X Marrier1007Argentina2024-06-16
Leon C Whobrey1008Russia2024-06-09
Tony B Slusarski1009Australia2024-05-31
Maisha F Bowley1010Australia2024-06-06
Julie N Amigon1011Australia2024-05-30
Aditya M Sergi1012France2024-06-11
Ashley N Garufi1013Germany2024-06-08
Aika N Flosi1014France2024-06-05
Maisha V Ostrosky1015Spain2024-06-20
Leon C Albares1016India2024-05-31
Greenwood L Amigon1017Germany2024-05-26
Claire E Rulapaugh1018Brazil2024-05-30
Stacey F Venere1019Brazil2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro E OstroskySpainXuxue Feng NEGOTIATION
Nicolas C NickaRussiaIvan Magalhaes PROPOSAL
Ivar H VenereFranceBernardo Dominic RENEWAL
Aruna P DoeArgentinaAnna Fali RENEWAL
Francesco W VocelkaBrazilAmy Elsner UNQUALIFIED
Salvatore H ChuiUnited KingdomAsiya Javayant NEGOTIATION
Chavez C PerinItalyStephen Shaw NEW
Juan F ShinkoBrazilAmy Elsner PROPOSAL
Silvio F NestleAustraliaStephen Shaw PROPOSAL
Francesco B StockhamGermanyIvan Magalhaes PROPOSAL
Leja L PaprockiJapanIoni Bowcher UNQUALIFIED
Octavia Z DoeAustraliaElwin Sharvill NEGOTIATION
Misaki Q CampainFranceOnyama Limba RENEWAL
Tony V BowleyFranceIoni Bowcher NEW
Isabel F OldroydAustraliaOnyama Limba NEGOTIATION
Aika I PerinFranceStephen Shaw PROPOSAL
Ivar R CaldareraArgentinaBernardo Dominic NEW
Izzy F DarakjyIndiaAmy Elsner NEW
Emily V MacleadSpainElwin Sharvill PROPOSAL
Adams P MacleadGermanyBernardo Dominic PROPOSAL
Izzy D MacleadBrazilIoni Bowcher NEW
Juan U RutaGermanyOnyama Limba NEGOTIATION
Leon I NestleSpainOnyama Limba RENEWAL
Maria H OldroydAustraliaElwin Sharvill QUALIFIED
Aika L DoeUnited KingdomAmy Elsner RENEWAL
Johnson B CampainUnited KingdomElwin Sharvill PROPOSAL
Ivar V VenereItalyBernardo Dominic NEGOTIATION
Izzy Q SergiBrazilXuxue Feng NEGOTIATION
Faith J PoquetteFranceAsiya Javayant NEGOTIATION
Jefferson E CaldareraRussiaAsiya Javayant QUALIFIED
Izzy H GarufiAustraliaIoni Bowcher QUALIFIED
Jefferson V WhobreyArgentinaStephen Shaw RENEWAL
Faith M WhobreyIndiaOnyama Limba PROPOSAL
Chavez E SergiItalyAmy Elsner NEGOTIATION
Jefferson S DilliardCanadaAnna Fali NEGOTIATION
Jones X WieserIndiaOnyama Limba RENEWAL
Clifford P NickaSpainXuxue Feng NEGOTIATION
Clifford B IturbideAustraliaBernardo Dominic RENEWAL
Faith I DilliardJapanOnyama Limba PROPOSAL
Ivar K BriddickBrazilBernardo Dominic 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>