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 B ShinkoCanadaXuxue Feng NEGOTIATION
James P VenereFranceAsiya Javayant NEGOTIATION
Izzy V AlbaresBrazilBernardo Dominic NEW
Aditya Z SchemmerJapanAnna Fali UNQUALIFIED
Wickens R PaprockiArgentinaElwin Sharvill NEGOTIATION
Leon I FollerFranceElwin Sharvill RENEWAL
Stacey G FigeroaRussiaElwin Sharvill UNQUALIFIED
Wickens W NickaItalyAmy Elsner PROPOSAL
Arvin Y BriddickSpainIoni Bowcher QUALIFIED
Mujtaba Y NickaArgentinaElwin Sharvill RENEWAL
Salvatore D VenereGermanyIvan Magalhaes NEW
James P RimUnited KingdomAnna Fali PROPOSAL
Isabel R RulapaughUnited KingdomElwin Sharvill PROPOSAL
Octavia D AlbaresRussiaOnyama Limba UNQUALIFIED
Isabel Y MaletArgentinaAsiya Javayant QUALIFIED
Misaki S MorascaAustraliaBernardo Dominic NEGOTIATION
Alejandro Z ButtItalyElwin Sharvill UNQUALIFIED
Emily W CaldareraBrazilOnyama Limba RENEWAL
Deepesh J GarufiBrazilAmy Elsner UNQUALIFIED
Sinclair M FollerIndiaAmy Elsner UNQUALIFIED
Rodrigues W StensethFranceIvan Magalhaes RENEWAL
Ricardo R WieserItalyAsiya Javayant RENEWAL
Leon W KuskoBrazilIvan Magalhaes NEGOTIATION
Claire W PoquetteGermanyAmy Elsner NEW
Faith T StockhamJapanAnna Fali UNQUALIFIED
Sinclair V ShinkoCanadaElwin Sharvill RENEWAL
Wickens V ShinkoJapanStephen Shaw NEW
Maria J PerinAustraliaElwin Sharvill NEGOTIATION
Claire G MaletItalyAmy Elsner PROPOSAL
Antonio T DoeSpainIvan Magalhaes UNQUALIFIED
Darci Z CaudyItalyIoni Bowcher NEW
Silvio Q VenereCanadaIoni Bowcher QUALIFIED
Antonio N RulapaughItalyXuxue Feng NEGOTIATION
Salvatore W BowleyGermanyIoni Bowcher RENEWAL
David Q CampainIndiaIvan Magalhaes NEGOTIATION
Darci A VenereJapanBernardo Dominic UNQUALIFIED
Francesco A RutaJapanOnyama Limba NEW
Kaitlin E IturbideRussiaAnna Fali NEW
Kaitlin C NickaGermanyXuxue Feng RENEWAL
Izzy R MaletAustraliaIvan Magalhaes RENEWAL
Julie O BriddickGermanyXuxue Feng NEGOTIATION
Isabel U GauchoBrazilIoni Bowcher PROPOSAL
Alejandro H RimIndiaAmy Elsner UNQUALIFIED
Clifford Y DoeJapanAsiya Javayant NEW
Leon K OstroskyItalyAnna Fali PROPOSAL
Jeanfrancois K InouyeItalyBernardo Dominic NEW
Salvatore S FlosiRussiaXuxue Feng RENEWAL
Jeanfrancois I CaldareraCanadaXuxue Feng NEW
Antonio Y KuskoItalyStephen Shaw PROPOSAL
Sinclair H CampainGermanyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody A AlbaresCanadaOnyama Limba NEGOTIATION
Jeanfrancois W StockhamGermanyElwin Sharvill RENEWAL
James I StensethIndiaAnna Fali QUALIFIED
Tony K CaudyUnited KingdomAsiya Javayant NEW
Ricardo P FigeroaJapanAsiya Javayant NEGOTIATION
Claire X VocelkaBrazilOnyama Limba PROPOSAL
Francesco J DarakjyCanadaAnna Fali QUALIFIED
Leja Y InouyeUnited KingdomBernardo Dominic RENEWAL
Aika O PoquetteSpainBernardo Dominic NEGOTIATION
James U SaylorsArgentinaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Q SlusarskiCanada2024-05-12Dorl, James J Esq PROPOSAL75Amy Elsner
1001Alejandro D MarrierFrance2024-05-01Feiner Bros PROPOSAL60Ioni Bowcher
1002Jeanfrancois S RimCanada2024-05-20Chanay, Jeffrey A Esq PROPOSAL2Xuxue Feng
1003David R CaudyBrazil2024-05-24Morlong Associates QUALIFIED35Elwin Sharvill
1004Johnson F VenereAustralia2024-05-10King, Christopher A Esq QUALIFIED35Stephen Shaw
1005Adams B DoeRussia2024-05-22Chanay, Jeffrey A Esq RENEWAL91Asiya Javayant
1006Munro E FlosiIndia2024-05-02Feltz Printing Service RENEWAL69Bernardo Dominic
1007Jeanfrancois W NickaRussia2024-05-16Rangoni Of Florence PROPOSAL31Onyama Limba
1008Aditya E KolmetzGermany2024-05-03Rangoni Of Florence NEW32Amy Elsner
1009Juan D SchemmerGermany2024-05-04Chemel, James L Cpa QUALIFIED59Bernardo Dominic
1010Chavez R RulapaughArgentina2024-05-02Printing Dimensions RENEWAL30Bernardo Dominic
1011Alejandro H WieserFrance2024-05-04Chapman, Ross E Esq PROPOSAL51Amy Elsner
1012Tony Z ShinkoIndia2024-05-16Buckley Miller Wright NEGOTIATION91Onyama Limba
1013Kadeem H SlusarskiItaly2024-05-10Feltz Printing Service QUALIFIED73Onyama Limba
1014Ricardo I SchemmerItaly2024-05-01Chapman, Ross E Esq UNQUALIFIED94Elwin Sharvill
1015Ricardo B GarufiJapan2024-05-10Feltz Printing Service QUALIFIED36Anna Fali
1016Aditya Z SlusarskiUnited Kingdom2024-05-03Printing Dimensions RENEWAL72Amy Elsner
1017Misaki S TollnerIndia2024-05-11King, Christopher A Esq PROPOSAL89Xuxue Feng
1018Ashley Y MacleadGermany2024-04-25Feltz Printing Service PROPOSAL30Asiya Javayant
1019Jones Q BowleyBrazil2024-05-18Chanay, Jeffrey A Esq QUALIFIED96Xuxue Feng
1020Jones D FigeroaSpain2024-05-04Commercial Press NEGOTIATION84Asiya Javayant
1021Francesco U CampainUnited Kingdom2024-04-26Feltz Printing Service UNQUALIFIED59Ivan Magalhaes
1022Kaitlin E SlusarskiJapan2024-05-22Rangoni Of Florence RENEWAL50Anna Fali
1023Kadeem F ShinkoArgentina2024-05-06King, Christopher A Esq NEGOTIATION16Stephen Shaw
1024Aruna C WieserGermany2024-05-05Chemel, James L Cpa PROPOSAL37Asiya Javayant
1025Maria E GlickAustralia2024-05-04Chanay, Jeffrey A Esq RENEWAL8Elwin Sharvill
1026James N MarrierUnited Kingdom2024-05-13Buckley Miller Wright PROPOSAL19Bernardo Dominic
1027Salvatore Y FerenczArgentina2024-04-25Truhlar And Truhlar Attys QUALIFIED96Ivan Magalhaes
1028Kaitlin K OldroydFrance2024-05-20Buckley Miller Wright RENEWAL61Bernardo Dominic
1029James X MaletSpain2024-05-07Chanay, Jeffrey A Esq NEGOTIATION89Asiya Javayant
1030Misaki G NestleUnited Kingdom2024-05-19Feiner Bros QUALIFIED43Asiya Javayant
1031Faith R DoeSpain2024-05-06Rangoni Of Florence QUALIFIED93Xuxue Feng
1032Darci X MorascaFrance2024-05-18Morlong Associates UNQUALIFIED73Ioni Bowcher
1033Smith W ShinkoGermany2024-04-29Rousseaux, Michael Esq UNQUALIFIED0Ivan Magalhaes
1034Julie Z BriddickGermany2024-05-13Rangoni Of Florence PROPOSAL17Xuxue Feng
1035Costa I SlusarskiUnited Kingdom2024-05-15Rousseaux, Michael Esq PROPOSAL83Onyama Limba
1036Smith Y WhobreyArgentina2024-05-15King, Christopher A Esq RENEWAL72Asiya Javayant
1037Chavez T StockhamBrazil2024-05-01Feiner Bros RENEWAL89Ivan Magalhaes
1038Isabel O MorascaFrance2024-04-27Printing Dimensions NEGOTIATION64Asiya Javayant
1039Darci O IturbideArgentina2024-05-23Rangoni Of Florence RENEWAL3Ioni Bowcher
1040Jefferson W OstroskyArgentina2024-05-06Truhlar And Truhlar Attys NEW86Ioni Bowcher
1041Izzy C SlusarskiCanada2024-04-28Feiner Bros PROPOSAL15Amy Elsner
1042Aditya F RoysterAustralia2024-05-01Truhlar And Truhlar Attys NEGOTIATION41Bernardo Dominic
1043Mujtaba A CampainJapan2024-05-06Dorl, James J Esq NEW47Ioni Bowcher
1044Francesco U RimGermany2024-05-14Benton, John B Jr QUALIFIED14Ioni Bowcher
1045Smith O CaldareraUnited Kingdom2024-05-24Morlong Associates NEW49Xuxue Feng
1046Emily T DoeItaly2024-05-17Chanay, Jeffrey A Esq NEW28Onyama Limba
1047Ashley P DarakjyJapan2024-04-28Chapman, Ross E Esq NEW87Xuxue Feng
1048Leja R BowleyAustralia2024-04-30Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1049Deepesh T GauchoSpain2024-05-19Rousseaux, Michael Esq RENEWAL90Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson U GillianJapanAmy Elsner RENEWAL
Jones Q RoysterBrazilStephen Shaw NEGOTIATION
Greenwood N KuskoRussiaAmy Elsner PROPOSAL
Jefferson D MaletArgentinaAmy Elsner NEW
Aruna M GillianItalyOnyama Limba QUALIFIED
Mayumi T NickaBrazilElwin Sharvill UNQUALIFIED
Leja I RutaSpainElwin Sharvill QUALIFIED
Maria X CaudyArgentinaXuxue Feng NEGOTIATION
Faith O SergiUnited KingdomXuxue Feng NEW
James V GauchoIndiaAsiya Javayant PROPOSAL
Mayumi Y BologniaUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues L GarufiArgentinaElwin Sharvill NEW
Octavia R FigeroaJapanAsiya Javayant QUALIFIED
James M OldroydJapanBernardo Dominic RENEWAL
Antonio V SergiGermanyBernardo Dominic NEGOTIATION
Clifford Z GillianRussiaOnyama Limba RENEWAL
James R GauchoSpainAsiya Javayant PROPOSAL
Octavia N WaycottSpainOnyama Limba PROPOSAL
Munro A KolmetzSpainElwin Sharvill NEGOTIATION
Maria V FlosiRussiaIvan Magalhaes NEGOTIATION
Jones X RulapaughGermanyAsiya Javayant NEW
Nicolas O SlusarskiGermanyAnna Fali UNQUALIFIED
Jeanfrancois E NickaItalyAsiya Javayant QUALIFIED
Cody B GillianRussiaIvan Magalhaes NEW
Deepesh Z CampainSpainBernardo Dominic NEGOTIATION
Arvin W BriddickSpainAmy Elsner NEW
Octavia W GauchoFranceAnna Fali NEW
Rodrigues R SlusarskiIndiaAnna Fali PROPOSAL
Aruna D RimItalyBernardo Dominic NEW
Sinclair L MorascaJapanIvan Magalhaes RENEWAL
Sinclair P CampainIndiaElwin Sharvill UNQUALIFIED
Rodrigues H OldroydAustraliaOnyama Limba UNQUALIFIED
Mujtaba O GauchoSpainElwin Sharvill NEGOTIATION
Jones G MarrierRussiaAmy Elsner RENEWAL
Stacey X WieserItalyIvan Magalhaes NEGOTIATION
Octavia X RutaIndiaIvan Magalhaes QUALIFIED
Kaitlin H StockhamJapanIoni Bowcher QUALIFIED
David W WaycottArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois D SaylorsAustraliaElwin Sharvill QUALIFIED
Silvio S RimRussiaElwin Sharvill NEGOTIATION
Greenwood R OstroskyJapanAnna Fali NEGOTIATION
Salvatore A MacleadJapanAsiya Javayant QUALIFIED
Arvin D OldroydAustraliaStephen Shaw NEW
Aditya G KuskoIndiaAnna Fali QUALIFIED
Aruna M VenereJapanXuxue Feng RENEWAL
Wickens A AlbaresBrazilIvan Magalhaes QUALIFIED
Johnson O GarufiIndiaElwin Sharvill PROPOSAL
Greenwood M BriddickJapanAmy Elsner NEGOTIATION
Aika B CampainRussiaAsiya Javayant NEW
Aruna T WaycottAustraliaStephen Shaw RENEWAL
Frozen Columns
Name
Smith L Ostrosky
Nicolas D Flosi
Maisha B Bowley
Deepesh Y Albares
Leon W Ferencz
Johnson L Saylors
Deepesh N Venere
Mayumi Q Caldarera
Mujtaba D Doe
Kadeem N Briddick
Faith U Maclead
Julie O Ostrosky
Greenwood L Perin
Darci J Dilliard
Ashley K Ferencz
Jefferson I Tollner
Clifford F Figeroa
Leon J Campain
Mayumi Y Rulapaugh
Aika G Flosi
Nicolas U Morasca
Ricardo D Morasca
Emily U Albares
Ashley U Kolmetz
Maria W Doe
Arvin H Figeroa
Jones Y Nicka
Darci H Waycott
Salvatore T Venere
Costa N Slusarski
James K Nicka
Costa W Butt
Ashley V Royster
Isabel K Iturbide
Maria E Maclead
Ivar R Waycott
Sinclair D Stockham
Kaitlin P Nicka
Leon N Ostrosky
Antonio X Garufi
Silvio P Rulapaugh
Clifford R Vocelka
Ricardo W Ostrosky
Maria O Garufi
James D Caldarera
Maisha P Paprocki
Darci E Gillian
Rodrigues T Slusarski
Misaki L Slusarski
Juan J Butt
IdCountryDate
1000France2024-04-30
1001Japan2024-05-09
1002Germany2024-05-23
1003Germany2024-04-27
1004Canada2024-05-17
1005Russia2024-05-02
1006Italy2024-05-15
1007Australia2024-05-21
1008United Kingdom2024-05-12
1009Brazil2024-05-17
1010Canada2024-05-05
1011Brazil2024-05-22
1012France2024-04-29
1013Canada2024-05-02
1014France2024-05-04
1015France2024-05-22
1016United Kingdom2024-05-21
1017India2024-05-24
1018Russia2024-05-14
1019Russia2024-04-28
1020United Kingdom2024-05-07
1021Canada2024-04-25
1022Brazil2024-05-20
1023Germany2024-04-29
1024Japan2024-05-24
1025Argentina2024-05-19
1026Spain2024-05-16
1027United Kingdom2024-05-10
1028Spain2024-05-13
1029Argentina2024-04-29
1030Italy2024-04-29
1031Australia2024-05-21
1032Germany2024-05-13
1033Spain2024-05-18
1034Australia2024-05-18
1035Argentina2024-04-30
1036Italy2024-05-17
1037Russia2024-04-26
1038Brazil2024-04-29
1039India2024-04-25
1040Argentina2024-05-04
1041France2024-05-08
1042Australia2024-05-07
1043France2024-04-28
1044United Kingdom2024-05-15
1045United Kingdom2024-05-20
1046Australia2024-05-23
1047Brazil2024-05-07
1048Brazil2024-05-10
1049Japan2024-05-22

On-Demand Data

NameIdCountryDate
Jeanfrancois K Ostrosky1000Russia2024-05-22
Murillo K Paprocki1001Russia2024-05-19
Morrow C Figeroa1002India2024-05-18
Costa G Venere1003France2024-05-06
Sinclair Y Schemmer1004France2024-05-11
Maisha G Royster1005Brazil2024-05-19
Octavia N Nestle1006Russia2024-05-14
James S Briddick1007Germany2024-05-18
David Q Stenseth1008Germany2024-05-07
Maisha E Malet1009Germany2024-05-15
Faith V Tollner1010Germany2024-05-19
Clifford C Waycott1011Russia2024-04-25
Jennifer Q Ferencz1012United Kingdom2024-05-07
James O Stockham1013Japan2024-05-10
Maria Y Kolmetz1014Germany2024-05-22
Wickens R Doe1015Argentina2024-05-05
Darci Y Kolmetz1016Italy2024-05-22
Cody M Figeroa1017Germany2024-04-25
Munro O Doe1018Canada2024-05-07
Deepesh T Nestle1019Russia2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin K StensethJapanXuxue Feng QUALIFIED
Kaitlin A SaylorsIndiaAmy Elsner RENEWAL
Adams G RimArgentinaXuxue Feng UNQUALIFIED
Greenwood V RutaUnited KingdomAmy Elsner RENEWAL
Johnson Z BowleySpainAsiya Javayant QUALIFIED
Juan Q FlosiItalyAnna Fali UNQUALIFIED
Juan A MarrierCanadaAmy Elsner NEW
Kaitlin T CampainJapanIvan Magalhaes NEGOTIATION
Isabel Q IturbideJapanElwin Sharvill UNQUALIFIED
Costa O GillianGermanyAmy Elsner RENEWAL
Sinclair H BowleyItalyIvan Magalhaes QUALIFIED
Aruna D GillianItalyIvan Magalhaes NEGOTIATION
Mayumi W FlosiFranceOnyama Limba NEW
Francesco J PoquetteItalyIvan Magalhaes UNQUALIFIED
Maisha I FlosiRussiaAmy Elsner NEGOTIATION
Francesco W SlusarskiAustraliaElwin Sharvill NEGOTIATION
Maria D CaudyFranceElwin Sharvill NEW
Darci E MaletRussiaBernardo Dominic NEGOTIATION
Leja F MorascaFranceIvan Magalhaes QUALIFIED
Mujtaba R GlickGermanyAsiya Javayant UNQUALIFIED
Izzy D VocelkaCanadaAnna Fali NEGOTIATION
Costa M GillianArgentinaBernardo Dominic PROPOSAL
Silvio R StockhamIndiaElwin Sharvill NEGOTIATION
Murillo E MacleadUnited KingdomStephen Shaw RENEWAL
Maria N CaudyBrazilIoni Bowcher NEGOTIATION
Salvatore L ButtIndiaBernardo Dominic NEW
Octavia K ButtUnited KingdomAmy Elsner RENEWAL
Aditya F GauchoFranceElwin Sharvill UNQUALIFIED
Jefferson H SchemmerSpainBernardo Dominic PROPOSAL
Leon R MarrierIndiaElwin Sharvill NEW
Ricardo H FollerCanadaXuxue Feng RENEWAL
Claire T ShinkoAustraliaIoni Bowcher UNQUALIFIED
Juan V GlickBrazilXuxue Feng UNQUALIFIED
Smith T FlosiBrazilAmy Elsner NEW
Greenwood D RutaArgentinaAsiya Javayant RENEWAL
Mujtaba M VocelkaAustraliaAsiya Javayant RENEWAL
Maria N VocelkaArgentinaXuxue Feng RENEWAL
Emily P GlickFranceIvan Magalhaes UNQUALIFIED
Kaitlin Y CaldareraBrazilStephen Shaw UNQUALIFIED
Arvin T GauchoSpainAmy Elsner UNQUALIFIED

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