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
Deepesh C RoysterBrazilAnna Fali PROPOSAL
Adams G OldroydRussiaAmy Elsner RENEWAL
Claire O PerinRussiaOnyama Limba PROPOSAL
Ashley J OldroydCanadaIoni Bowcher QUALIFIED
Maisha X NestleUnited KingdomStephen Shaw RENEWAL
Leon O SaylorsBrazilIvan Magalhaes RENEWAL
Ashley Q IturbideJapanStephen Shaw NEGOTIATION
Morrow G SchemmerItalyBernardo Dominic UNQUALIFIED
Cody Y DilliardRussiaAnna Fali PROPOSAL
Sinclair E WieserRussiaAsiya Javayant PROPOSAL
Ivar L KuskoAustraliaIvan Magalhaes UNQUALIFIED
Arvin F VenereItalyBernardo Dominic NEW
Salvatore T FigeroaJapanIvan Magalhaes RENEWAL
Morrow C WieserFranceStephen Shaw NEW
Isabel D SlusarskiArgentinaXuxue Feng UNQUALIFIED
Alejandro X ChuiCanadaAsiya Javayant NEGOTIATION
Tony N StockhamArgentinaBernardo Dominic NEW
Arvin F StockhamAustraliaXuxue Feng UNQUALIFIED
Cody D NestleFranceIoni Bowcher NEGOTIATION
Emily V MorascaItalyBernardo Dominic NEGOTIATION
Aruna F SchemmerJapanStephen Shaw PROPOSAL
Costa I PaprockiAustraliaXuxue Feng QUALIFIED
Maisha N TollnerAustraliaOnyama Limba QUALIFIED
Ivar L VocelkaAustraliaIvan Magalhaes PROPOSAL
Rodrigues K OldroydRussiaIoni Bowcher NEGOTIATION
Mujtaba Z GarufiGermanyElwin Sharvill NEW
Rodrigues G FerenczFranceIvan Magalhaes NEGOTIATION
Wickens F VenereGermanyOnyama Limba RENEWAL
Juan E MaletCanadaAmy Elsner QUALIFIED
Jeanfrancois R BriddickUnited KingdomOnyama Limba RENEWAL
Maisha O AmigonIndiaStephen Shaw PROPOSAL
Octavia C InouyeRussiaAnna Fali QUALIFIED
James J VocelkaJapanStephen Shaw UNQUALIFIED
Mujtaba J DilliardCanadaXuxue Feng QUALIFIED
Deepesh D OldroydGermanyStephen Shaw UNQUALIFIED
Ricardo X BologniaArgentinaBernardo Dominic QUALIFIED
Nicolas E MacleadRussiaAmy Elsner RENEWAL
Octavia L DarakjyIndiaStephen Shaw QUALIFIED
Emily J MaletSpainElwin Sharvill RENEWAL
Maisha W BriddickFranceXuxue Feng NEW
Leja V VenereUnited KingdomOnyama Limba QUALIFIED
Alejandro B ShinkoAustraliaAnna Fali PROPOSAL
Kadeem U FollerGermanyOnyama Limba NEGOTIATION
Costa T OstroskyGermanyIvan Magalhaes UNQUALIFIED
Aditya K TollnerAustraliaAmy Elsner NEGOTIATION
Munro X CaudyIndiaXuxue Feng RENEWAL
Munro V RoysterIndiaOnyama Limba UNQUALIFIED
Leja P StensethJapanAsiya Javayant UNQUALIFIED
Francesco X ChuiSpainAmy Elsner UNQUALIFIED
Juan G ChuiArgentinaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi H NestleFranceAnna Fali NEGOTIATION
Izzy U SchemmerJapanXuxue Feng RENEWAL
Jeanfrancois B ButtGermanyAmy Elsner UNQUALIFIED
Jeanfrancois Z NestleCanadaAnna Fali NEW
Emily B PaprockiArgentinaStephen Shaw PROPOSAL
Darci L SchemmerFranceAmy Elsner UNQUALIFIED
Ivar T FlosiBrazilAmy Elsner QUALIFIED
David R VenereSpainIvan Magalhaes QUALIFIED
Johnson B CampainIndiaAnna Fali NEGOTIATION
Julie I GillianFranceAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer N SchemmerItaly2024-06-05Buckley Miller Wright UNQUALIFIED69Xuxue Feng
1001Octavia X DilliardCanada2024-05-26Dorl, James J Esq QUALIFIED83Bernardo Dominic
1002Aditya X DilliardUnited Kingdom2024-06-10Printing Dimensions UNQUALIFIED56Asiya Javayant
1003Izzy P PoquetteArgentina2024-06-15Rangoni Of Florence NEGOTIATION5Amy Elsner
1004Octavia S DilliardCanada2024-05-31Commercial Press RENEWAL18Anna Fali
1005Francesco S FlosiIndia2024-05-31Benton, John B Jr RENEWAL46Amy Elsner
1006Kaitlin D TollnerAustralia2024-06-18Benton, John B Jr RENEWAL29Bernardo Dominic
1007Leon Q GauchoUnited Kingdom2024-06-06Feltz Printing Service QUALIFIED82Anna Fali
1008Leja D VocelkaArgentina2024-06-08Chapman, Ross E Esq NEGOTIATION94Ivan Magalhaes
1009Johnson R PoquetteAustralia2024-06-03Feiner Bros QUALIFIED58Stephen Shaw
1010Aika B RulapaughCanada2024-06-07Chanay, Jeffrey A Esq PROPOSAL46Asiya Javayant
1011Morrow J PaprockiUnited Kingdom2024-05-24Morlong Associates PROPOSAL22Elwin Sharvill
1012Jones P IturbideArgentina2024-06-03Rousseaux, Michael Esq RENEWAL97Elwin Sharvill
1013Francesco Q RulapaughIndia2024-06-01Commercial Press PROPOSAL71Xuxue Feng
1014Arvin W FerenczUnited Kingdom2024-06-08Chapman, Ross E Esq NEGOTIATION29Ivan Magalhaes
1015Chavez G KuskoAustralia2024-06-02Benton, John B Jr NEGOTIATION28Ivan Magalhaes
1016Silvio C PoquetteCanada2024-06-10Dorl, James J Esq RENEWAL32Ivan Magalhaes
1017Julie D ButtFrance2024-06-01Morlong Associates UNQUALIFIED67Stephen Shaw
1018Ricardo U PerinIndia2024-05-28Truhlar And Truhlar Attys RENEWAL99Xuxue Feng
1019Emily Z BriddickCanada2024-06-16Chapman, Ross E Esq PROPOSAL33Onyama Limba
1020Leon R ChuiGermany2024-06-11Feltz Printing Service NEW70Stephen Shaw
1021Silvio K FlosiSpain2024-06-06Feiner Bros UNQUALIFIED2Ioni Bowcher
1022Alejandro O VenereBrazil2024-06-22Feltz Printing Service UNQUALIFIED95Xuxue Feng
1023Julie M MaletItaly2024-06-19Printing Dimensions NEW2Bernardo Dominic
1024Emily X DarakjyCanada2024-06-04Truhlar And Truhlar Attys UNQUALIFIED44Elwin Sharvill
1025Aika V AmigonUnited Kingdom2024-06-01Truhlar And Truhlar Attys QUALIFIED6Ivan Magalhaes
1026Leon W VocelkaSpain2024-05-24Rangoni Of Florence UNQUALIFIED38Asiya Javayant
1027Nicolas U RulapaughArgentina2024-06-19Morlong Associates RENEWAL80Anna Fali
1028Jennifer I PoquetteCanada2024-06-02Chemel, James L Cpa PROPOSAL91Ioni Bowcher
1029Adams G NickaRussia2024-06-14Commercial Press NEW0Asiya Javayant
1030Aditya D KolmetzIndia2024-06-06Buckley Miller Wright QUALIFIED23Asiya Javayant
1031Costa D GarufiFrance2024-05-26Commercial Press QUALIFIED5Stephen Shaw
1032Morrow K PoquetteIndia2024-05-30Feiner Bros NEW38Amy Elsner
1033Antonio S PerinCanada2024-06-20Benton, John B Jr NEW10Anna Fali
1034Kadeem B DarakjyArgentina2024-06-08Buckley Miller Wright PROPOSAL30Ioni Bowcher
1035Jefferson D DoeAustralia2024-06-14Printing Dimensions NEGOTIATION77Onyama Limba
1036Mayumi Q GlickGermany2024-05-29Feltz Printing Service UNQUALIFIED16Asiya Javayant
1037Francesco C MarrierRussia2024-06-09Commercial Press PROPOSAL47Ioni Bowcher
1038Aika S MaletItaly2024-06-15Chanay, Jeffrey A Esq QUALIFIED87Elwin Sharvill
1039Chavez C KolmetzCanada2024-06-13Dorl, James J Esq RENEWAL15Ioni Bowcher
1040Stacey D GillianAustralia2024-05-29Commercial Press QUALIFIED8Ivan Magalhaes
1041Kaitlin H RulapaughArgentina2024-06-03Printing Dimensions NEW19Elwin Sharvill
1042Emily P GlickAustralia2024-05-31Chapman, Ross E Esq UNQUALIFIED98Amy Elsner
1043Aruna L FlosiIndia2024-06-15Chapman, Ross E Esq NEW82Anna Fali
1044Kaitlin Z RoysterGermany2024-06-14Printing Dimensions RENEWAL51Onyama Limba
1045Octavia G IturbideCanada2024-06-05King, Christopher A Esq RENEWAL1Anna Fali
1046Jones T GauchoItaly2024-05-25Commercial Press NEGOTIATION17Amy Elsner
1047Francesco F KolmetzRussia2024-06-13Feltz Printing Service QUALIFIED72Amy Elsner
1048Antonio Q GillianJapan2024-05-29Dorl, James J Esq QUALIFIED37Bernardo Dominic
1049Smith T SlusarskiArgentina2024-06-14Chapman, Ross E Esq NEGOTIATION82Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jennifer R WaycottJapanAsiya Javayant NEW
James C BriddickJapanAsiya Javayant RENEWAL
Morrow S ButtCanadaIvan Magalhaes NEGOTIATION
Mujtaba R WaycottRussiaElwin Sharvill QUALIFIED
Ashley C WhobreyIndiaOnyama Limba NEW
Morrow L StensethAustraliaStephen Shaw NEW
Silvio A MaletItalyBernardo Dominic PROPOSAL
Stacey D AlbaresBrazilBernardo Dominic QUALIFIED
Salvatore J CaldareraRussiaAnna Fali NEW
Julie N FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Alejandro N CaudyArgentinaAsiya Javayant PROPOSAL
Octavia M RutaUnited KingdomBernardo Dominic RENEWAL
Stacey Q NestleRussiaAsiya Javayant PROPOSAL
Johnson B IturbideBrazilIvan Magalhaes PROPOSAL
Jones A FollerSpainAnna Fali UNQUALIFIED
Maria W VenereCanadaAnna Fali RENEWAL
Murillo D TollnerUnited KingdomAsiya Javayant QUALIFIED
Claire T VocelkaBrazilAsiya Javayant NEW
Sinclair Q RoysterJapanXuxue Feng PROPOSAL
Misaki J CaldareraFranceAsiya Javayant PROPOSAL
Arvin D RimFranceAnna Fali QUALIFIED
Smith G SergiRussiaAmy Elsner QUALIFIED
Leja Q StockhamRussiaOnyama Limba RENEWAL
Munro C PaprockiSpainIoni Bowcher NEGOTIATION
Wickens D SchemmerIndiaElwin Sharvill NEW
Jennifer W MarrierSpainOnyama Limba QUALIFIED
Claire M FigeroaArgentinaAnna Fali QUALIFIED
Nicolas X NickaItalyIvan Magalhaes NEGOTIATION
Arvin J RoysterAustraliaBernardo Dominic NEW
Clifford E WaycottGermanyOnyama Limba UNQUALIFIED
Jennifer Z MarrierArgentinaBernardo Dominic UNQUALIFIED
Ashley E AlbaresSpainStephen Shaw RENEWAL
Smith A GauchoCanadaAmy Elsner QUALIFIED
Alejandro H BriddickFranceOnyama Limba NEGOTIATION
Nicolas F DarakjyAustraliaAmy Elsner NEGOTIATION
Francesco G StensethRussiaAmy Elsner QUALIFIED
Silvio F ChuiCanadaAmy Elsner RENEWAL
Tony L BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez M MorascaFranceOnyama Limba NEGOTIATION
Ricardo F FerenczFranceBernardo Dominic NEW
Deepesh C OldroydBrazilIoni Bowcher NEW
Salvatore U ButtJapanAnna Fali UNQUALIFIED
Jones R MacleadBrazilBernardo Dominic UNQUALIFIED
Maisha A SchemmerBrazilAsiya Javayant QUALIFIED
Misaki I StockhamAustraliaAmy Elsner NEGOTIATION
Emily U KuskoAustraliaOnyama Limba RENEWAL
Misaki P CampainBrazilAnna Fali NEGOTIATION
Isabel C SlusarskiAustraliaAsiya Javayant RENEWAL
Salvatore I NickaAustraliaElwin Sharvill UNQUALIFIED
Jones M GauchoBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Sinclair F Waycott
Mayumi B Slusarski
Ivar C Flosi
Mujtaba Z Stockham
Faith H Butt
Isabel H Campain
Julie P Gillian
Mayumi V Kolmetz
Ashley L Oldroyd
Leon U Kolmetz
Aruna Y Campain
Julie A Ferencz
Clifford R Glick
Munro C Butt
Octavia T Iturbide
Johnson S Briddick
Clifford M Ostrosky
Rodrigues A Maclead
Johnson Z Inouye
Leon G Bowley
Izzy N Rulapaugh
Morrow E Ostrosky
Ashley N Flosi
Ashley O Ruta
Leon S Chui
Francesco C Gaucho
Ivar I Marrier
Smith K Briddick
Julie M Ostrosky
Jones E Venere
Arvin W Venere
Nicolas Y Marrier
Kadeem D Chui
Ivar G Sergi
Costa H Albares
Aruna U Waycott
Clifford F Poquette
David Y Ostrosky
Juan D Stenseth
Emily Y Butt
Chavez W Kolmetz
Aika Y Tollner
David P Nicka
Octavia F Chui
Cody D Doe
Costa T Iturbide
Deepesh C Caldarera
Leja O Royster
Nicolas N Glick
Ricardo F Doe
IdCountryDate
1000Russia2024-06-08
1001Italy2024-06-09
1002France2024-06-18
1003France2024-06-22
1004Argentina2024-05-28
1005Germany2024-06-01
1006Brazil2024-05-28
1007Australia2024-05-31
1008France2024-06-08
1009United Kingdom2024-06-14
1010Argentina2024-05-30
1011Australia2024-06-12
1012United Kingdom2024-06-01
1013United Kingdom2024-06-14
1014United Kingdom2024-06-11
1015Japan2024-06-04
1016Brazil2024-06-08
1017United Kingdom2024-06-05
1018Japan2024-06-01
1019Brazil2024-06-21
1020United Kingdom2024-05-31
1021Brazil2024-06-09
1022United Kingdom2024-06-21
1023Italy2024-05-25
1024Germany2024-06-21
1025Australia2024-06-02
1026Italy2024-06-16
1027Brazil2024-06-05
1028Russia2024-05-25
1029Australia2024-06-17
1030Brazil2024-06-22
1031Russia2024-06-03
1032Australia2024-06-01
1033Russia2024-06-06
1034Canada2024-06-07
1035Japan2024-06-12
1036United Kingdom2024-06-02
1037Germany2024-06-20
1038Russia2024-06-16
1039United Kingdom2024-05-25
1040Canada2024-06-22
1041Brazil2024-06-07
1042France2024-06-18
1043France2024-06-08
1044Japan2024-06-05
1045Argentina2024-06-08
1046United Kingdom2024-06-15
1047Brazil2024-06-15
1048Australia2024-06-20
1049Canada2024-05-24

On-Demand Data

NameIdCountryDate
Salvatore B Waycott1000Japan2024-06-06
Emily J Malet1001Argentina2024-06-14
Sinclair Y Iturbide1002Canada2024-06-12
Alejandro V Oldroyd1003Germany2024-06-01
Morrow J Ruta1004Germany2024-05-27
James H Vocelka1005United Kingdom2024-06-17
Darci Z Kolmetz1006Argentina2024-06-03
Alejandro H Stenseth1007Japan2024-05-26
Arvin E Caudy1008France2024-06-03
Izzy N Nestle1009Brazil2024-06-07
Tony W Foller1010Italy2024-05-24
Wickens S Ostrosky1011Russia2024-06-22
Julie D Flosi1012Germany2024-06-17
Greenwood B Doe1013India2024-06-05
David G Tollner1014Japan2024-06-05
Clifford C Caldarera1015Russia2024-06-02
Smith X Albares1016France2024-06-05
Antonio E Shinko1017Brazil2024-05-27
Ivar I Vocelka1018Argentina2024-06-10
Juan K Ostrosky1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood G PoquetteGermanyStephen Shaw PROPOSAL
James P FollerIndiaOnyama Limba NEW
Kaitlin W PerinFranceAsiya Javayant NEGOTIATION
Misaki X BologniaRussiaIvan Magalhaes UNQUALIFIED
Salvatore I RulapaughBrazilBernardo Dominic UNQUALIFIED
Misaki Q PerinArgentinaStephen Shaw NEW
Smith A BriddickUnited KingdomStephen Shaw NEGOTIATION
Francesco S DoeCanadaAnna Fali PROPOSAL
Kaitlin T CampainSpainBernardo Dominic PROPOSAL
Ivar I FollerFranceXuxue Feng NEGOTIATION
Ashley C WhobreyItalyAnna Fali PROPOSAL
Munro K WieserGermanyAnna Fali UNQUALIFIED
Munro O OstroskySpainAnna Fali UNQUALIFIED
Munro L WhobreyArgentinaOnyama Limba UNQUALIFIED
Leja C MorascaFranceOnyama Limba UNQUALIFIED
Clifford R WieserItalyIvan Magalhaes RENEWAL
Emily C CaldareraFranceIvan Magalhaes NEGOTIATION
Smith Z FlosiFranceXuxue Feng NEGOTIATION
Ivar O MaletGermanyOnyama Limba QUALIFIED
Faith B VenereItalyIoni Bowcher QUALIFIED
Ricardo J OstroskyBrazilElwin Sharvill NEW
Greenwood N NestleIndiaElwin Sharvill QUALIFIED
Mujtaba M PoquetteIndiaIvan Magalhaes NEW
David I FollerJapanStephen Shaw PROPOSAL
Wickens S RutaIndiaOnyama Limba QUALIFIED
Francesco H BowleyBrazilOnyama Limba NEGOTIATION
Claire R KolmetzRussiaAnna Fali RENEWAL
Jennifer Z WhobreyBrazilAmy Elsner QUALIFIED
Darci Z WieserUnited KingdomXuxue Feng NEW
Maria C PoquetteFranceAsiya Javayant QUALIFIED
Greenwood A RoysterBrazilXuxue Feng RENEWAL
Alejandro S MorascaFranceBernardo Dominic NEW
Morrow F OldroydFranceAsiya Javayant PROPOSAL
Maria C GauchoFranceIoni Bowcher UNQUALIFIED
Ivar F RoysterBrazilAmy Elsner UNQUALIFIED
Nicolas D KolmetzArgentinaXuxue Feng NEW
Jennifer I BowleyGermanyIvan Magalhaes RENEWAL
Emily V AlbaresAustraliaStephen Shaw PROPOSAL
Maria Q ShinkoUnited KingdomOnyama Limba NEW
Mujtaba L RulapaughArgentinaIoni Bowcher NEGOTIATION

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