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
Octavia D NickaArgentinaXuxue Feng RENEWAL
Jennifer H SergiCanadaAmy Elsner QUALIFIED
Juan R DoeSpainXuxue Feng UNQUALIFIED
Aruna Q AlbaresIndiaBernardo Dominic UNQUALIFIED
Misaki D DilliardGermanyIoni Bowcher UNQUALIFIED
Emily T ChuiJapanIvan Magalhaes QUALIFIED
Aruna X SlusarskiSpainXuxue Feng NEGOTIATION
Stacey K ShinkoBrazilAnna Fali QUALIFIED
Jones D BologniaCanadaElwin Sharvill UNQUALIFIED
Munro B IturbideRussiaAmy Elsner RENEWAL
Francesco Z RulapaughIndiaOnyama Limba PROPOSAL
Faith Y TollnerCanadaOnyama Limba UNQUALIFIED
Octavia T FlosiGermanyAsiya Javayant UNQUALIFIED
Kaitlin K ShinkoItalyOnyama Limba NEW
Arvin A VenereJapanAmy Elsner NEGOTIATION
Kaitlin Y PerinSpainStephen Shaw UNQUALIFIED
Aditya E GarufiUnited KingdomIvan Magalhaes NEGOTIATION
David U RutaIndiaAnna Fali RENEWAL
Isabel H ButtArgentinaStephen Shaw RENEWAL
Leja H PaprockiBrazilIoni Bowcher UNQUALIFIED
Mayumi I PoquetteBrazilIvan Magalhaes QUALIFIED
Munro X OldroydIndiaOnyama Limba NEW
Morrow I GarufiUnited KingdomAnna Fali RENEWAL
Ivar R GarufiGermanyIvan Magalhaes PROPOSAL
Costa I MaletSpainAnna Fali QUALIFIED
Julie Y WieserUnited KingdomIvan Magalhaes RENEWAL
Julie J FollerItalyXuxue Feng UNQUALIFIED
Nicolas I SergiUnited KingdomAmy Elsner UNQUALIFIED
Nicolas A NickaAustraliaOnyama Limba NEW
Murillo Q ButtAustraliaAnna Fali QUALIFIED
Smith U GlickUnited KingdomAsiya Javayant RENEWAL
Smith V GauchoAustraliaAnna Fali UNQUALIFIED
Stacey W NickaJapanStephen Shaw PROPOSAL
Darci T DarakjyCanadaIvan Magalhaes QUALIFIED
Adams J GarufiBrazilIoni Bowcher PROPOSAL
Arvin T SlusarskiIndiaAsiya Javayant NEGOTIATION
Murillo P PerinArgentinaXuxue Feng NEGOTIATION
Darci X CaldareraRussiaOnyama Limba UNQUALIFIED
Johnson B RulapaughBrazilXuxue Feng QUALIFIED
Chavez C GillianIndiaOnyama Limba NEGOTIATION
James E ChuiAustraliaIoni Bowcher RENEWAL
Maisha E SaylorsJapanAsiya Javayant NEGOTIATION
Nicolas P FlosiJapanOnyama Limba RENEWAL
Izzy W MacleadFranceIvan Magalhaes NEW
Jennifer Z DarakjyRussiaStephen Shaw PROPOSAL
Leon I VocelkaFranceAnna Fali NEGOTIATION
Faith N ShinkoCanadaIoni Bowcher UNQUALIFIED
Misaki I RutaJapanAsiya Javayant QUALIFIED
Jennifer S DoeBrazilXuxue Feng UNQUALIFIED
Murillo T MarrierUnited KingdomAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro E SergiSpainStephen Shaw NEW
Chavez H OstroskyBrazilAsiya Javayant RENEWAL
Emily H CampainAustraliaIoni Bowcher PROPOSAL
Aditya R MaletItalyIvan Magalhaes QUALIFIED
Aruna Y InouyeUnited KingdomAnna Fali PROPOSAL
Octavia S FollerJapanOnyama Limba UNQUALIFIED
Darci Z CampainArgentinaStephen Shaw NEGOTIATION
James O CaldareraFranceIvan Magalhaes QUALIFIED
Julie D MarrierIndiaOnyama Limba UNQUALIFIED
Morrow X PoquetteGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki J SchemmerGermany2024-06-08Chanay, Jeffrey A Esq QUALIFIED77Asiya Javayant
1001Sinclair X FigeroaArgentina2024-05-23Feiner Bros NEW46Xuxue Feng
1002Salvatore A BriddickArgentina2024-05-18King, Christopher A Esq RENEWAL88Onyama Limba
1003Claire T ShinkoIndia2024-05-23Rousseaux, Michael Esq NEGOTIATION90Anna Fali
1004Jones Y MarrierArgentina2024-05-26Chanay, Jeffrey A Esq QUALIFIED56Stephen Shaw
1005Misaki N FollerUnited Kingdom2024-05-26Buckley Miller Wright NEW62Onyama Limba
1006Maisha O GarufiBrazil2024-06-10Morlong Associates PROPOSAL4Ivan Magalhaes
1007Wickens M MarrierFrance2024-06-07Feltz Printing Service NEW81Stephen Shaw
1008Octavia W DilliardJapan2024-05-18King, Christopher A Esq PROPOSAL95Stephen Shaw
1009Deepesh P MarrierArgentina2024-05-28Truhlar And Truhlar Attys NEW31Bernardo Dominic
1010Francesco T DilliardCanada2024-05-31Rousseaux, Michael Esq PROPOSAL2Elwin Sharvill
1011Morrow Z PaprockiIndia2024-05-27Truhlar And Truhlar Attys RENEWAL15Anna Fali
1012Costa R RimGermany2024-06-10Feiner Bros PROPOSAL2Amy Elsner
1013Silvio Z FollerUnited Kingdom2024-05-19Benton, John B Jr NEW78Xuxue Feng
1014Misaki Y DoeItaly2024-05-24Printing Dimensions PROPOSAL36Amy Elsner
1015Salvatore P SchemmerAustralia2024-06-01Buckley Miller Wright NEW79Asiya Javayant
1016James Y InouyeSpain2024-06-12Buckley Miller Wright QUALIFIED87Xuxue Feng
1017Clifford Q OldroydAustralia2024-06-14Benton, John B Jr QUALIFIED28Ioni Bowcher
1018Adams L FerenczFrance2024-05-27Buckley Miller Wright NEGOTIATION85Onyama Limba
1019Faith P IturbideItaly2024-05-25Printing Dimensions RENEWAL24Stephen Shaw
1020Jennifer L SlusarskiBrazil2024-06-06Morlong Associates NEW93Ioni Bowcher
1021Kaitlin M AmigonRussia2024-05-19Chemel, James L Cpa NEGOTIATION52Onyama Limba
1022David C VenereRussia2024-06-06Morlong Associates NEW64Xuxue Feng
1023Claire K GillianCanada2024-06-06King, Christopher A Esq QUALIFIED36Ioni Bowcher
1024Johnson V ShinkoIndia2024-06-04Chapman, Ross E Esq RENEWAL43Ivan Magalhaes
1025Greenwood N AmigonArgentina2024-05-22Morlong Associates NEW81Stephen Shaw
1026Leon Z TollnerArgentina2024-05-25Feltz Printing Service PROPOSAL53Amy Elsner
1027Jones I VocelkaJapan2024-06-02Feiner Bros NEW86Stephen Shaw
1028Kadeem T IturbideBrazil2024-05-27Morlong Associates NEGOTIATION81Bernardo Dominic
1029Chavez X GauchoJapan2024-05-27Buckley Miller Wright NEGOTIATION66Asiya Javayant
1030Jones Q CaldareraJapan2024-05-17King, Christopher A Esq UNQUALIFIED28Bernardo Dominic
1031Costa I GarufiBrazil2024-06-10Feiner Bros QUALIFIED97Bernardo Dominic
1032Chavez R GlickArgentina2024-06-07Buckley Miller Wright NEGOTIATION56Amy Elsner
1033Mayumi C PerinCanada2024-05-30Dorl, James J Esq NEW20Bernardo Dominic
1034Chavez O BriddickGermany2024-05-25Buckley Miller Wright PROPOSAL51Ioni Bowcher
1035Leja Q RoysterJapan2024-05-31Truhlar And Truhlar Attys QUALIFIED77Stephen Shaw
1036Jeanfrancois R KuskoUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL66Onyama Limba
1037Adams Z ButtFrance2024-05-25Printing Dimensions NEW45Amy Elsner
1038Kadeem E MorascaUnited Kingdom2024-06-01Feltz Printing Service NEW15Bernardo Dominic
1039Maisha S WieserCanada2024-05-30Chanay, Jeffrey A Esq NEW4Elwin Sharvill
1040Greenwood T CaldareraCanada2024-06-13Truhlar And Truhlar Attys QUALIFIED48Bernardo Dominic
1041Juan Q OldroydItaly2024-06-09Feltz Printing Service QUALIFIED20Elwin Sharvill
1042Antonio M AmigonArgentina2024-06-01Rangoni Of Florence QUALIFIED73Elwin Sharvill
1043Izzy L GauchoIndia2024-05-30Chemel, James L Cpa UNQUALIFIED94Bernardo Dominic
1044Maria T BowleyGermany2024-05-18Dorl, James J Esq NEW94Elwin Sharvill
1045Mujtaba R WhobreyGermany2024-06-13Morlong Associates UNQUALIFIED7Stephen Shaw
1046Kaitlin D CaudyItaly2024-06-06King, Christopher A Esq NEGOTIATION52Elwin Sharvill
1047Silvio T AmigonUnited Kingdom2024-05-31Truhlar And Truhlar Attys QUALIFIED19Anna Fali
1048Izzy H ChuiSpain2024-06-01Feltz Printing Service QUALIFIED55Onyama Limba
1049Smith Q DoeAustralia2024-05-26Feiner Bros UNQUALIFIED98Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba W SlusarskiArgentinaBernardo Dominic PROPOSAL
Munro Y DarakjyItalyElwin Sharvill UNQUALIFIED
Leja Y RutaUnited KingdomIoni Bowcher QUALIFIED
Misaki B CaldareraBrazilAnna Fali UNQUALIFIED
Munro T BologniaAustraliaAnna Fali RENEWAL
Kadeem Q FigeroaFranceIvan Magalhaes RENEWAL
Adams Z InouyeJapanElwin Sharvill PROPOSAL
Tony B PerinSpainAsiya Javayant NEGOTIATION
Ashley L PoquetteJapanAsiya Javayant RENEWAL
Costa H ShinkoAustraliaAmy Elsner UNQUALIFIED
Mayumi Z MaletJapanXuxue Feng RENEWAL
Wickens W GlickItalyOnyama Limba NEGOTIATION
Wickens D AlbaresItalyAsiya Javayant QUALIFIED
Faith K RulapaughIndiaAsiya Javayant PROPOSAL
Silvio T MaletJapanOnyama Limba NEGOTIATION
Juan N ButtIndiaElwin Sharvill QUALIFIED
Maisha U OstroskyRussiaAsiya Javayant NEW
Isabel A ButtBrazilStephen Shaw RENEWAL
Jones P OldroydBrazilBernardo Dominic PROPOSAL
Deepesh Y FerenczSpainBernardo Dominic NEGOTIATION
Clifford N MaletFranceOnyama Limba NEW
David E BologniaFranceIvan Magalhaes QUALIFIED
Ricardo M VenereCanadaAnna Fali PROPOSAL
Mayumi R GlickItalyElwin Sharvill RENEWAL
Costa G MorascaRussiaStephen Shaw NEGOTIATION
Adams H StockhamUnited KingdomStephen Shaw QUALIFIED
Wickens K PaprockiItalyIoni Bowcher PROPOSAL
Octavia T RulapaughCanadaAmy Elsner RENEWAL
Kaitlin D AmigonGermanyElwin Sharvill NEW
Jones F MacleadIndiaXuxue Feng NEGOTIATION
Wickens U FigeroaBrazilStephen Shaw NEGOTIATION
Francesco J GillianIndiaElwin Sharvill RENEWAL
Murillo A RoysterArgentinaXuxue Feng RENEWAL
Jennifer D RulapaughRussiaXuxue Feng QUALIFIED
Jennifer E RoysterFranceBernardo Dominic NEW
Tony Z SlusarskiAustraliaElwin Sharvill PROPOSAL
Antonio R RulapaughCanadaIvan Magalhaes UNQUALIFIED
Izzy T CampainGermanyIvan Magalhaes QUALIFIED
Emily N SaylorsRussiaXuxue Feng RENEWAL
Cody P StockhamUnited KingdomXuxue Feng PROPOSAL
Maria H DilliardSpainXuxue Feng QUALIFIED
Sinclair V BowleyUnited KingdomIvan Magalhaes RENEWAL
Cody O IturbideJapanXuxue Feng UNQUALIFIED
Juan Z FerenczJapanAsiya Javayant NEW
Isabel H MorascaAustraliaBernardo Dominic NEGOTIATION
Munro V WhobreyItalyIoni Bowcher QUALIFIED
Aika K KolmetzBrazilOnyama Limba RENEWAL
Johnson V NestleFranceBernardo Dominic UNQUALIFIED
Kaitlin W SergiArgentinaOnyama Limba NEGOTIATION
Isabel P FollerUnited KingdomBernardo Dominic QUALIFIED
Frozen Columns
Name
James X Bolognia
Kadeem T Poquette
Alejandro V Darakjy
Clifford T Stenseth
Juan U Doe
Izzy E Rulapaugh
Costa U Briddick
James J Rulapaugh
Octavia W Gillian
Jeanfrancois N Nestle
Faith Z Glick
Kaitlin L Rulapaugh
Jefferson V Venere
Salvatore M Flosi
Izzy F Tollner
Arvin T Venere
Octavia K Amigon
David C Shinko
Octavia J Inouye
Clifford E Poquette
Chavez V Oldroyd
Costa J Shinko
Octavia H Slusarski
Mayumi H Slusarski
Kaitlin T Sergi
David N Darakjy
Francesco C Morasca
Cody H Flosi
Juan C Ostrosky
Izzy I Maclead
Tony D Royster
Salvatore B Albares
Faith J Maclead
Jones W Slusarski
Faith X Waycott
Salvatore U Nicka
Arvin R Ruta
Maisha O Darakjy
Adams K Ferencz
Cody S Morasca
Emily I Amigon
David V Foller
Leon Q Malet
Octavia P Royster
Alejandro P Stenseth
Costa D Darakjy
Mayumi C Nicka
Kaitlin S Ruta
Cody I Campain
David B Gillian
IdCountryDate
1000Spain2024-05-30
1001India2024-06-10
1002India2024-05-28
1003Japan2024-06-11
1004France2024-06-09
1005Argentina2024-05-24
1006Germany2024-05-26
1007India2024-06-06
1008Argentina2024-05-18
1009India2024-05-23
1010Russia2024-05-29
1011France2024-06-08
1012Argentina2024-06-11
1013Spain2024-06-12
1014Japan2024-05-29
1015Argentina2024-06-09
1016Australia2024-05-29
1017Canada2024-05-22
1018Italy2024-06-13
1019France2024-05-19
1020Spain2024-05-20
1021Japan2024-06-14
1022France2024-05-23
1023Brazil2024-05-24
1024France2024-05-21
1025Spain2024-05-30
1026France2024-05-22
1027Canada2024-06-07
1028Brazil2024-06-02
1029United Kingdom2024-05-24
1030Brazil2024-06-07
1031France2024-05-29
1032India2024-06-09
1033Italy2024-06-07
1034Canada2024-05-19
1035Canada2024-06-02
1036Australia2024-05-17
1037France2024-06-13
1038France2024-05-17
1039Italy2024-05-29
1040Germany2024-05-31
1041India2024-06-01
1042Argentina2024-06-12
1043Italy2024-05-27
1044Spain2024-05-31
1045Australia2024-05-18
1046Japan2024-05-19
1047Spain2024-05-18
1048Argentina2024-06-04
1049Japan2024-05-16

On-Demand Data

NameIdCountryDate
Francesco I Perin1000Russia2024-05-26
Francesco Z Doe1001India2024-05-22
Aruna W Ruta1002Argentina2024-05-25
Smith M Malet1003Argentina2024-05-18
Johnson Y Vocelka1004Italy2024-06-09
Jeanfrancois U Chui1005United Kingdom2024-05-17
Isabel M Nicka1006Brazil2024-05-29
Johnson U Maclead1007India2024-05-16
Chavez R Albares1008Canada2024-06-09
Julie M Vocelka1009Germany2024-05-17
Darci O Glick1010Germany2024-06-14
Claire A Rulapaugh1011Spain2024-06-01
David T Malet1012Australia2024-06-13
Morrow E Nicka1013Brazil2024-06-12
Kadeem X Campain1014United Kingdom2024-05-20
Johnson L Kolmetz1015Brazil2024-06-04
Ashley Z Morasca1016Canada2024-06-14
Ricardo R Caudy1017United Kingdom2024-06-10
Kadeem P Albares1018Spain2024-05-22
Costa E Flosi1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez P DarakjyJapanXuxue Feng NEGOTIATION
Jones V MaletBrazilOnyama Limba QUALIFIED
Clifford R AlbaresAustraliaIvan Magalhaes NEGOTIATION
Aditya P RulapaughFranceAnna Fali NEW
Rodrigues N WhobreyFranceAnna Fali NEGOTIATION
Johnson U MorascaJapanAnna Fali NEW
Arvin G FollerCanadaAnna Fali RENEWAL
Smith X VenereGermanyXuxue Feng QUALIFIED
Octavia B AmigonBrazilOnyama Limba QUALIFIED
James L VenereUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas O RoysterIndiaStephen Shaw NEGOTIATION
Deepesh U TollnerSpainElwin Sharvill RENEWAL
Munro R WhobreyBrazilXuxue Feng NEW
Darci W RutaCanadaStephen Shaw QUALIFIED
Costa M FollerBrazilAmy Elsner NEW
James A MacleadCanadaIvan Magalhaes QUALIFIED
Octavia S IturbideJapanIvan Magalhaes NEGOTIATION
Aruna M OstroskySpainIvan Magalhaes PROPOSAL
Maria R RulapaughJapanXuxue Feng QUALIFIED
James G ButtCanadaAmy Elsner PROPOSAL
Maisha S CampainItalyElwin Sharvill NEW
Morrow T FigeroaSpainXuxue Feng NEW
Jeanfrancois V MorascaJapanIoni Bowcher QUALIFIED
Julie R MarrierItalyOnyama Limba NEW
Faith L KolmetzJapanIoni Bowcher PROPOSAL
Francesco D FigeroaJapanIvan Magalhaes QUALIFIED
Jennifer T DoeBrazilAnna Fali UNQUALIFIED
Ricardo I SchemmerRussiaAnna Fali NEW
Kaitlin O AmigonUnited KingdomAnna Fali NEGOTIATION
Izzy N DoeSpainXuxue Feng PROPOSAL
Deepesh M NickaItalyBernardo Dominic RENEWAL
Mujtaba L GillianFranceXuxue Feng UNQUALIFIED
Johnson S ButtIndiaStephen Shaw QUALIFIED
Arvin F BriddickGermanyAsiya Javayant QUALIFIED
Cody K GillianGermanyAsiya Javayant PROPOSAL
Smith U PoquetteAustraliaXuxue Feng QUALIFIED
Stacey G KuskoArgentinaIvan Magalhaes QUALIFIED
Leon S GillianGermanyIvan Magalhaes NEW
Leja Z IturbideAustraliaXuxue Feng NEGOTIATION
Sinclair G DoeAustraliaOnyama Limba 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>