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
Juan C DoeUnited KingdomXuxue Feng PROPOSAL
Leon N WaycottUnited KingdomStephen Shaw UNQUALIFIED
Chavez L ChuiSpainAsiya Javayant PROPOSAL
Sinclair Q CampainArgentinaOnyama Limba PROPOSAL
Jeanfrancois O FigeroaGermanyOnyama Limba PROPOSAL
Deepesh C VocelkaCanadaIoni Bowcher QUALIFIED
Jefferson E SlusarskiItalyBernardo Dominic UNQUALIFIED
Nicolas V ShinkoAustraliaIvan Magalhaes NEW
Antonio G MaletJapanAmy Elsner NEGOTIATION
Silvio J OstroskyGermanyAmy Elsner PROPOSAL
Isabel A InouyeBrazilStephen Shaw QUALIFIED
Francesco I AlbaresJapanElwin Sharvill PROPOSAL
Adams C SaylorsGermanyIoni Bowcher NEW
Morrow O SlusarskiJapanAmy Elsner UNQUALIFIED
Ashley L MaletGermanyXuxue Feng NEW
Ricardo J BologniaBrazilIvan Magalhaes NEW
Isabel I BowleyIndiaElwin Sharvill UNQUALIFIED
Juan T MarrierFranceIvan Magalhaes UNQUALIFIED
David L WieserItalyAsiya Javayant UNQUALIFIED
Maisha L DarakjyRussiaIoni Bowcher UNQUALIFIED
Cody F InouyeBrazilElwin Sharvill QUALIFIED
Costa T MacleadSpainBernardo Dominic NEGOTIATION
Emily K GarufiGermanyOnyama Limba NEGOTIATION
Silvio M BowleySpainStephen Shaw NEGOTIATION
Clifford U NickaArgentinaAsiya Javayant PROPOSAL
Leon D RutaIndiaOnyama Limba UNQUALIFIED
Costa G VocelkaRussiaXuxue Feng PROPOSAL
Arvin Z FerenczFranceStephen Shaw QUALIFIED
Aruna F ButtCanadaOnyama Limba PROPOSAL
Misaki H RimItalyStephen Shaw NEW
Aika U VenereGermanyAmy Elsner RENEWAL
Emily W AlbaresUnited KingdomAsiya Javayant PROPOSAL
Salvatore S IturbideSpainElwin Sharvill NEW
Ricardo R KolmetzArgentinaIvan Magalhaes QUALIFIED
Julie S CaldareraAustraliaBernardo Dominic QUALIFIED
Aruna J IturbideJapanBernardo Dominic NEGOTIATION
Juan T RulapaughBrazilAsiya Javayant UNQUALIFIED
Deepesh Z DoeJapanStephen Shaw NEW
Izzy F CampainFranceIvan Magalhaes QUALIFIED
Murillo G GlickSpainIoni Bowcher QUALIFIED
Aruna J WaycottUnited KingdomElwin Sharvill RENEWAL
Kaitlin V WaycottUnited KingdomBernardo Dominic NEGOTIATION
Aika L BowleyIndiaStephen Shaw NEGOTIATION
Isabel P TollnerJapanIoni Bowcher QUALIFIED
Leja X DoeUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh V CampainCanadaElwin Sharvill UNQUALIFIED
Leon O PaprockiIndiaBernardo Dominic QUALIFIED
Tony J PerinUnited KingdomStephen Shaw NEW
Tony D SergiRussiaAmy Elsner PROPOSAL
Chavez W OstroskyJapanXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith C CampainItalyAsiya Javayant UNQUALIFIED
Aika K StockhamFranceIoni Bowcher QUALIFIED
Stacey C WhobreySpainBernardo Dominic RENEWAL
Costa W PaprockiAustraliaOnyama Limba NEGOTIATION
Costa Z GarufiFranceOnyama Limba RENEWAL
Jefferson C PaprockiFranceBernardo Dominic NEW
Costa O FerenczFranceAmy Elsner UNQUALIFIED
Kaitlin T FerenczAustraliaAsiya Javayant NEW
Kaitlin E MaletSpainIoni Bowcher NEW
Adams S ShinkoCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody Q FerenczArgentina2024-06-19Rousseaux, Michael Esq NEGOTIATION92Amy Elsner
1001Chavez A SergiJapan2024-05-28Feltz Printing Service QUALIFIED35Xuxue Feng
1002Mayumi U FerenczSpain2024-06-07Buckley Miller Wright UNQUALIFIED8Onyama Limba
1003Jeanfrancois Q WaycottIndia2024-06-18Feiner Bros UNQUALIFIED0Stephen Shaw
1004Nicolas O PoquetteArgentina2024-06-21Rousseaux, Michael Esq QUALIFIED73Onyama Limba
1005Jennifer H MorascaUnited Kingdom2024-06-24Rangoni Of Florence QUALIFIED18Xuxue Feng
1006Juan Z BologniaAustralia2024-06-10Truhlar And Truhlar Attys NEGOTIATION74Ioni Bowcher
1007Jefferson Q TollnerBrazil2024-06-06Chapman, Ross E Esq QUALIFIED53Asiya Javayant
1008Leon S GillianCanada2024-05-27Morlong Associates NEGOTIATION68Elwin Sharvill
1009Emily G IturbideArgentina2024-05-27Morlong Associates QUALIFIED9Elwin Sharvill
1010Aika F BriddickJapan2024-06-01Chanay, Jeffrey A Esq RENEWAL56Asiya Javayant
1011Mujtaba X InouyeItaly2024-06-22Commercial Press UNQUALIFIED21Anna Fali
1012Aditya F MarrierArgentina2024-06-18Chanay, Jeffrey A Esq NEGOTIATION85Ivan Magalhaes
1013Nicolas O DoeGermany2024-06-02Printing Dimensions RENEWAL4Anna Fali
1014Salvatore D RutaCanada2024-05-27Buckley Miller Wright NEGOTIATION64Onyama Limba
1015Maisha F MaletRussia2024-06-10Feiner Bros NEGOTIATION44Elwin Sharvill
1016Greenwood X RimUnited Kingdom2024-05-26Morlong Associates PROPOSAL9Bernardo Dominic
1017Sinclair V TollnerCanada2024-05-27Chapman, Ross E Esq PROPOSAL14Elwin Sharvill
1018Leon W CampainArgentina2024-05-29Benton, John B Jr NEGOTIATION39Anna Fali
1019Jones V FlosiItaly2024-06-16Morlong Associates UNQUALIFIED76Stephen Shaw
1020Adams Z RutaJapan2024-06-21Feiner Bros NEW99Anna Fali
1021Aika U InouyeAustralia2024-06-17Chapman, Ross E Esq NEW70Amy Elsner
1022Jennifer F NestleSpain2024-06-08Chapman, Ross E Esq PROPOSAL12Asiya Javayant
1023Jones Y FollerJapan2024-06-19Rousseaux, Michael Esq NEGOTIATION93Asiya Javayant
1024Wickens M NickaAustralia2024-06-08Feltz Printing Service RENEWAL66Elwin Sharvill
1025Stacey E FollerGermany2024-05-31Chapman, Ross E Esq NEGOTIATION29Ioni Bowcher
1026Sinclair Q ChuiUnited Kingdom2024-06-17Chemel, James L Cpa PROPOSAL4Ioni Bowcher
1027Wickens D StockhamJapan2024-06-11Printing Dimensions NEW7Amy Elsner
1028Ricardo K RutaGermany2024-06-09Chanay, Jeffrey A Esq RENEWAL40Ioni Bowcher
1029Arvin J MarrierJapan2024-06-12King, Christopher A Esq QUALIFIED83Stephen Shaw
1030Morrow W MaletItaly2024-06-22Commercial Press NEW50Xuxue Feng
1031Adams R IturbideGermany2024-06-17Feiner Bros NEGOTIATION79Elwin Sharvill
1032Aruna R DilliardUnited Kingdom2024-06-09Printing Dimensions UNQUALIFIED93Ivan Magalhaes
1033Alejandro C StockhamBrazil2024-06-03Morlong Associates NEGOTIATION58Onyama Limba
1034Nicolas I VenereArgentina2024-06-04Commercial Press RENEWAL71Asiya Javayant
1035Leja G BriddickBrazil2024-06-12Commercial Press NEGOTIATION88Bernardo Dominic
1036Mayumi X FigeroaGermany2024-06-14Rangoni Of Florence NEGOTIATION27Anna Fali
1037David L MorascaRussia2024-06-01Chemel, James L Cpa NEGOTIATION12Ioni Bowcher
1038Maisha I CaudyRussia2024-05-30Printing Dimensions UNQUALIFIED56Asiya Javayant
1039Aika J NickaSpain2024-06-04Morlong Associates QUALIFIED48Ivan Magalhaes
1040Leon B ChuiFrance2024-06-07Chapman, Ross E Esq RENEWAL28Elwin Sharvill
1041Isabel H WieserRussia2024-05-29Chapman, Ross E Esq NEW90Elwin Sharvill
1042Mujtaba K PoquetteFrance2024-06-21Feiner Bros PROPOSAL9Stephen Shaw
1043Alejandro K KuskoFrance2024-05-29Benton, John B Jr QUALIFIED22Amy Elsner
1044Leja Q OldroydItaly2024-05-27Rangoni Of Florence PROPOSAL44Onyama Limba
1045Jeanfrancois I DarakjyFrance2024-06-13Commercial Press NEW35Xuxue Feng
1046Ashley F InouyeGermany2024-06-23Feltz Printing Service QUALIFIED28Ivan Magalhaes
1047Juan W SchemmerSpain2024-06-04Buckley Miller Wright QUALIFIED39Stephen Shaw
1048Aika C StensethRussia2024-06-24Rousseaux, Michael Esq PROPOSAL23Bernardo Dominic
1049Darci F RutaAustralia2024-06-02Chanay, Jeffrey A Esq RENEWAL42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey Z FigeroaItalyStephen Shaw NEGOTIATION
Salvatore G DoeBrazilAmy Elsner QUALIFIED
Silvio R SchemmerCanadaIoni Bowcher NEW
Misaki G BologniaJapanIvan Magalhaes NEGOTIATION
Tony N ChuiArgentinaBernardo Dominic PROPOSAL
Izzy G FlosiSpainBernardo Dominic PROPOSAL
Kadeem V KolmetzUnited KingdomAsiya Javayant NEW
Antonio D SchemmerBrazilXuxue Feng NEGOTIATION
Kadeem M FerenczItalyAmy Elsner RENEWAL
Arvin C OldroydRussiaIoni Bowcher RENEWAL
Costa Y GauchoItalyIvan Magalhaes PROPOSAL
Deepesh S VocelkaRussiaAsiya Javayant PROPOSAL
Kadeem R MaletJapanOnyama Limba NEW
Alejandro F DilliardGermanyIvan Magalhaes NEGOTIATION
Francesco I BriddickGermanyIoni Bowcher NEW
Tony S SergiIndiaIoni Bowcher NEGOTIATION
Arvin U CampainItalyIoni Bowcher NEGOTIATION
Aditya O SergiUnited KingdomAmy Elsner NEW
Alejandro R CaudyAustraliaBernardo Dominic QUALIFIED
Adams V OstroskyAustraliaAmy Elsner UNQUALIFIED
Silvio T StockhamJapanAmy Elsner RENEWAL
Misaki O StensethFranceIvan Magalhaes UNQUALIFIED
Silvio M StockhamSpainElwin Sharvill QUALIFIED
Julie P BowleyBrazilOnyama Limba RENEWAL
Darci L VenereRussiaIoni Bowcher QUALIFIED
Julie J CampainCanadaAnna Fali QUALIFIED
Misaki O PaprockiFranceAsiya Javayant UNQUALIFIED
Ricardo T FlosiArgentinaXuxue Feng NEW
Alejandro D ShinkoIndiaIvan Magalhaes PROPOSAL
Sinclair R StockhamCanadaIoni Bowcher NEW
Octavia I BologniaFranceStephen Shaw RENEWAL
Aika O CaldareraRussiaAnna Fali NEW
Ricardo I PoquetteAustraliaXuxue Feng QUALIFIED
Julie X DilliardAustraliaOnyama Limba QUALIFIED
Aruna L GlickArgentinaStephen Shaw NEGOTIATION
Morrow E WhobreyUnited KingdomAsiya Javayant NEW
Ivar F SaylorsBrazilAsiya Javayant NEW
Kadeem K OstroskyJapanOnyama Limba QUALIFIED
Jennifer Y PaprockiIndiaOnyama Limba NEW
Arvin Z InouyeJapanAsiya Javayant NEGOTIATION
Mayumi I PaprockiSpainIvan Magalhaes NEW
Clifford I CaudyJapanAnna Fali UNQUALIFIED
Jeanfrancois F SchemmerRussiaAmy Elsner NEGOTIATION
Smith K FerenczSpainIvan Magalhaes RENEWAL
Antonio E BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi W PerinJapanIoni Bowcher RENEWAL
Tony W AmigonItalyAnna Fali PROPOSAL
Aditya I VenereGermanyOnyama Limba NEGOTIATION
Octavia S InouyeItalyOnyama Limba QUALIFIED
Cody U StensethCanadaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Jefferson T Perin
Jeanfrancois S Dilliard
Aruna D Stockham
Leja M Oldroyd
Kaitlin V Ostrosky
Alejandro I Poquette
Wickens L Chui
Leja P Waycott
Maisha T Saylors
Costa L Shinko
Juan Q Bowley
Adams R Poquette
Ashley I Foller
Maria V Stenseth
Aditya Y Gaucho
Tony K Iturbide
Costa R Poquette
Darci Q Ferencz
Mujtaba Z Briddick
Costa W Royster
Arvin I Inouye
Aditya H Gillian
Sinclair Y Bowley
Smith O Schemmer
James H Tollner
Antonio J Caudy
Kadeem X Glick
Smith M Darakjy
Greenwood S Bowley
James W Doe
Cody C Inouye
Leon H Malet
Chavez G Slusarski
Ashley O Stenseth
David Z Saylors
David T Butt
Ashley T Glick
Adams F Ostrosky
Aika U Bowley
Antonio H Iturbide
Murillo E Sergi
Clifford D Chui
James F Gaucho
Kaitlin E Bolognia
Kadeem Y Flosi
Cody O Ostrosky
Isabel E Briddick
Wickens M Perin
Nicolas S Waycott
Ricardo E Shinko
IdCountryDate
1000India2024-06-19
1001Russia2024-05-30
1002Germany2024-06-21
1003Argentina2024-06-23
1004India2024-06-15
1005Spain2024-06-24
1006Australia2024-06-24
1007Australia2024-06-04
1008Japan2024-06-04
1009Spain2024-06-21
1010Canada2024-06-06
1011France2024-06-20
1012Australia2024-06-05
1013Australia2024-06-19
1014Canada2024-06-17
1015Brazil2024-06-08
1016Australia2024-06-11
1017Russia2024-05-27
1018Italy2024-06-06
1019Australia2024-06-13
1020Spain2024-05-31
1021Russia2024-06-01
1022Japan2024-06-07
1023France2024-06-16
1024Germany2024-06-23
1025Argentina2024-05-29
1026Canada2024-05-26
1027India2024-06-18
1028Spain2024-06-02
1029Japan2024-06-14
1030Argentina2024-06-23
1031Brazil2024-06-07
1032France2024-06-10
1033Spain2024-06-18
1034Italy2024-06-08
1035United Kingdom2024-06-20
1036Argentina2024-05-26
1037France2024-06-18
1038Australia2024-06-07
1039Spain2024-06-15
1040Australia2024-06-02
1041Canada2024-06-08
1042United Kingdom2024-06-02
1043France2024-06-16
1044United Kingdom2024-05-31
1045Spain2024-06-17
1046Argentina2024-06-04
1047United Kingdom2024-06-21
1048Argentina2024-05-30
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
James C Flosi1000Germany2024-06-06
Kadeem K Gaucho1001India2024-06-14
Murillo P Schemmer1002Argentina2024-06-05
Johnson R Nicka1003Canada2024-06-16
Ashley F Stockham1004France2024-06-22
Claire K Glick1005Australia2024-06-11
Darci F Butt1006France2024-06-17
Johnson V Bowley1007Russia2024-06-18
Aruna V Schemmer1008Argentina2024-05-28
Darci U Chui1009France2024-06-22
Mujtaba S Nestle1010India2024-06-03
Aditya R Ferencz1011Argentina2024-06-15
Aditya F Ferencz1012Canada2024-06-10
Jefferson R Inouye1013Russia2024-06-08
David H Tollner1014Canada2024-06-18
Aika U Chui1015France2024-05-31
Misaki H Ruta1016Canada2024-06-16
Izzy U Vocelka1017Spain2024-06-15
Tony O Saylors1018Germany2024-05-29
Maisha U Doe1019Italy2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David V ShinkoCanadaElwin Sharvill NEW
Smith T NestleUnited KingdomElwin Sharvill PROPOSAL
Jennifer Y AmigonSpainAmy Elsner QUALIFIED
James C SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
James C FerenczCanadaAmy Elsner RENEWAL
Ivar K GauchoIndiaIvan Magalhaes RENEWAL
Octavia M FerenczArgentinaIoni Bowcher PROPOSAL
Julie E FlosiFranceAsiya Javayant UNQUALIFIED
Antonio E ShinkoArgentinaIoni Bowcher NEW
Mujtaba D FollerGermanyElwin Sharvill NEW
David A MacleadIndiaOnyama Limba UNQUALIFIED
Wickens P MacleadSpainElwin Sharvill QUALIFIED
Aruna W MorascaItalyStephen Shaw NEW
Aruna A ShinkoGermanyIvan Magalhaes RENEWAL
Maisha G BowleyIndiaAmy Elsner PROPOSAL
Kadeem G PoquetteItalyElwin Sharvill RENEWAL
Aditya Y RoysterAustraliaAmy Elsner RENEWAL
Munro I MorascaAustraliaAnna Fali PROPOSAL
Francesco E GlickGermanyIoni Bowcher NEGOTIATION
Clifford G GauchoCanadaXuxue Feng QUALIFIED
Sinclair W RoysterRussiaAnna Fali PROPOSAL
Silvio P GlickBrazilBernardo Dominic NEGOTIATION
Leon M SchemmerUnited KingdomAnna Fali QUALIFIED
Ivar D BowleyFranceAmy Elsner UNQUALIFIED
Leja T NestleGermanyStephen Shaw QUALIFIED
Salvatore M GauchoFranceOnyama Limba NEW
Maisha O DarakjyItalyOnyama Limba RENEWAL
Leja N KuskoFranceAmy Elsner NEGOTIATION
Kadeem F GauchoArgentinaAnna Fali RENEWAL
Ricardo F BologniaIndiaOnyama Limba RENEWAL
Aika I MorascaItalyStephen Shaw NEGOTIATION
Leon M PoquetteIndiaAsiya Javayant RENEWAL
Mujtaba T FlosiSpainIvan Magalhaes UNQUALIFIED
Jennifer V RimFranceAnna Fali NEW
Ashley O ShinkoSpainIoni Bowcher NEW
Claire R SlusarskiAustraliaBernardo Dominic NEW
Rodrigues K MarrierAustraliaStephen Shaw UNQUALIFIED
Salvatore D MorascaGermanyElwin Sharvill NEW
Jones J RimAustraliaIoni Bowcher PROPOSAL
Jeanfrancois J MaletArgentinaStephen Shaw 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>