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
Isabel E OstroskyItalyIvan Magalhaes QUALIFIED
Antonio L GlickArgentinaElwin Sharvill NEGOTIATION
Jennifer L SlusarskiCanadaAsiya Javayant NEW
Johnson J GlickIndiaAnna Fali NEW
Francesco P DilliardSpainElwin Sharvill PROPOSAL
Emily G SchemmerJapanXuxue Feng PROPOSAL
Alejandro P ButtRussiaAsiya Javayant UNQUALIFIED
Antonio S BowleyFranceOnyama Limba PROPOSAL
Faith M FollerCanadaElwin Sharvill NEW
Izzy J SaylorsItalyAsiya Javayant NEGOTIATION
Julie E SchemmerRussiaAnna Fali PROPOSAL
Costa F SaylorsSpainAmy Elsner RENEWAL
Kaitlin D SchemmerIndiaXuxue Feng PROPOSAL
Smith U RoysterCanadaBernardo Dominic UNQUALIFIED
Aruna E StockhamUnited KingdomAmy Elsner NEW
Julie Q VenereItalyIvan Magalhaes NEW
Aditya R NestleCanadaElwin Sharvill NEGOTIATION
Faith G CampainItalyBernardo Dominic RENEWAL
Cody T SlusarskiFranceAsiya Javayant NEGOTIATION
Mujtaba T SaylorsItalyXuxue Feng NEGOTIATION
Maisha J StockhamAustraliaOnyama Limba QUALIFIED
Murillo U CampainUnited KingdomIoni Bowcher NEW
Alejandro Q InouyeFranceXuxue Feng RENEWAL
Rodrigues R MaletRussiaIoni Bowcher NEW
David S WieserBrazilStephen Shaw QUALIFIED
Stacey D RimSpainStephen Shaw RENEWAL
Silvio G FollerCanadaXuxue Feng NEGOTIATION
Stacey B RulapaughIndiaIoni Bowcher RENEWAL
Stacey I GauchoSpainOnyama Limba NEW
Jefferson Q GarufiRussiaAmy Elsner NEW
Aika Y DilliardJapanElwin Sharvill NEGOTIATION
Nicolas X SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba N RimJapanStephen Shaw PROPOSAL
Aika M RulapaughUnited KingdomBernardo Dominic NEW
Aika W ChuiArgentinaOnyama Limba PROPOSAL
Leja P VenereFranceBernardo Dominic PROPOSAL
Mujtaba V GauchoGermanyIoni Bowcher UNQUALIFIED
Adams Q NestleFranceXuxue Feng NEW
Kaitlin N StockhamArgentinaBernardo Dominic UNQUALIFIED
Tony X WieserUnited KingdomBernardo Dominic QUALIFIED
Mujtaba E DilliardJapanIvan Magalhaes NEGOTIATION
Maria U MorascaCanadaXuxue Feng PROPOSAL
Isabel W BologniaBrazilAnna Fali NEGOTIATION
Adams Y WieserCanadaXuxue Feng NEW
Cody W ButtBrazilBernardo Dominic NEGOTIATION
Antonio I MarrierCanadaAmy Elsner PROPOSAL
Smith P CaudyItalyIvan Magalhaes QUALIFIED
Cody O StockhamUnited KingdomAsiya Javayant QUALIFIED
Murillo F CampainJapanIoni Bowcher NEGOTIATION
Munro Y PaprockiCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily I FigeroaIndiaStephen Shaw QUALIFIED
Salvatore Y DoeGermanyXuxue Feng PROPOSAL
Ricardo K ButtFranceAsiya Javayant NEW
Antonio W RoysterRussiaElwin Sharvill RENEWAL
Mujtaba K DarakjyFranceElwin Sharvill RENEWAL
Aika K GillianAustraliaStephen Shaw UNQUALIFIED
Misaki O SergiFranceXuxue Feng RENEWAL
Stacey E GillianSpainIvan Magalhaes UNQUALIFIED
Jones W WaycottRussiaIvan Magalhaes RENEWAL
Alejandro G WieserCanadaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith V CaudyRussia2024-06-13Feiner Bros PROPOSAL96Ivan Magalhaes
1001Leon V VenereJapan2024-06-11Feiner Bros RENEWAL15Amy Elsner
1002Mujtaba O KolmetzIndia2024-06-05Morlong Associates UNQUALIFIED65Anna Fali
1003Leja Z FlosiArgentina2024-06-20Chemel, James L Cpa RENEWAL62Anna Fali
1004Aika O BowleyGermany2024-06-12Benton, John B Jr PROPOSAL56Elwin Sharvill
1005David W MorascaIndia2024-05-25Chemel, James L Cpa NEW14Elwin Sharvill
1006Jefferson W NestleRussia2024-06-20Truhlar And Truhlar Attys QUALIFIED19Ioni Bowcher
1007Emily E MorascaIndia2024-06-11Morlong Associates NEW51Asiya Javayant
1008Emily L RoysterIndia2024-06-20Commercial Press NEW65Amy Elsner
1009Jennifer A SlusarskiJapan2024-05-30Buckley Miller Wright UNQUALIFIED77Asiya Javayant
1010Wickens R RulapaughRussia2024-06-15Morlong Associates RENEWAL17Asiya Javayant
1011Kadeem J AlbaresBrazil2024-05-25King, Christopher A Esq RENEWAL55Stephen Shaw
1012Chavez C AlbaresIndia2024-06-01Buckley Miller Wright QUALIFIED69Ioni Bowcher
1013Misaki L MaletArgentina2024-06-22King, Christopher A Esq NEW64Xuxue Feng
1014Ricardo Q FigeroaCanada2024-06-22Rangoni Of Florence QUALIFIED47Stephen Shaw
1015Aika S MacleadIndia2024-06-03Printing Dimensions PROPOSAL63Xuxue Feng
1016Aditya J CaldareraRussia2024-06-16Chapman, Ross E Esq NEW37Ioni Bowcher
1017Francesco H TollnerBrazil2024-06-02Chanay, Jeffrey A Esq RENEWAL2Ivan Magalhaes
1018Izzy W IturbideRussia2024-06-09Buckley Miller Wright UNQUALIFIED46Anna Fali
1019Maisha M WieserItaly2024-05-30Buckley Miller Wright UNQUALIFIED36Ivan Magalhaes
1020Salvatore Y CaldareraItaly2024-06-01Rangoni Of Florence RENEWAL28Ioni Bowcher
1021Jefferson U MaletArgentina2024-06-06Chanay, Jeffrey A Esq PROPOSAL55Bernardo Dominic
1022Leon Y BriddickRussia2024-06-04Truhlar And Truhlar Attys NEW24Xuxue Feng
1023Isabel M CaldareraFrance2024-06-20Rousseaux, Michael Esq UNQUALIFIED28Amy Elsner
1024Francesco G ChuiRussia2024-06-11Dorl, James J Esq PROPOSAL52Elwin Sharvill
1025Isabel G PaprockiAustralia2024-06-19Chapman, Ross E Esq PROPOSAL84Stephen Shaw
1026Munro N GlickSpain2024-06-19Chanay, Jeffrey A Esq PROPOSAL48Asiya Javayant
1027Aruna D RoysterJapan2024-05-28Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1028Jefferson F OstroskyRussia2024-06-20Rangoni Of Florence RENEWAL88Stephen Shaw
1029Munro H MaletItaly2024-05-25Printing Dimensions RENEWAL71Ivan Magalhaes
1030Munro N OldroydCanada2024-06-05Truhlar And Truhlar Attys QUALIFIED4Amy Elsner
1031Kadeem P MaletFrance2024-06-16Benton, John B Jr QUALIFIED31Onyama Limba
1032Emily D CaudyJapan2024-06-08Dorl, James J Esq QUALIFIED7Asiya Javayant
1033Costa B GarufiFrance2024-06-05Benton, John B Jr UNQUALIFIED9Asiya Javayant
1034Alejandro Z PoquetteUnited Kingdom2024-06-01Buckley Miller Wright NEW9Anna Fali
1035Stacey Y DoeCanada2024-06-13Benton, John B Jr NEGOTIATION49Stephen Shaw
1036Misaki U CampainFrance2024-06-13Commercial Press UNQUALIFIED9Asiya Javayant
1037Claire Q KuskoRussia2024-06-18Benton, John B Jr NEW5Ivan Magalhaes
1038Kadeem X GlickItaly2024-06-11Truhlar And Truhlar Attys NEGOTIATION44Bernardo Dominic
1039Misaki V OstroskyJapan2024-06-05Chanay, Jeffrey A Esq PROPOSAL2Elwin Sharvill
1040Salvatore Q SergiJapan2024-06-14Benton, John B Jr RENEWAL82Elwin Sharvill
1041Claire T InouyeJapan2024-05-27Printing Dimensions RENEWAL37Bernardo Dominic
1042David Y BriddickAustralia2024-06-01Chanay, Jeffrey A Esq QUALIFIED59Onyama Limba
1043Costa B SlusarskiJapan2024-06-01Feltz Printing Service PROPOSAL0Stephen Shaw
1044Alejandro L GauchoCanada2024-05-31Benton, John B Jr UNQUALIFIED37Bernardo Dominic
1045Deepesh Z SergiGermany2024-06-20Feiner Bros NEW32Ioni Bowcher
1046Faith D CaudySpain2024-06-20Morlong Associates PROPOSAL20Elwin Sharvill
1047Mujtaba U RutaIndia2024-06-06Dorl, James J Esq PROPOSAL49Amy Elsner
1048Mujtaba R WaycottJapan2024-06-09Feltz Printing Service UNQUALIFIED36Ioni Bowcher
1049Alejandro Y NestleCanada2024-06-19King, Christopher A Esq PROPOSAL64Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna M KolmetzItalyIvan Magalhaes PROPOSAL
Kaitlin B RutaArgentinaElwin Sharvill RENEWAL
Smith M MorascaItalyElwin Sharvill QUALIFIED
Claire B VocelkaArgentinaAsiya Javayant PROPOSAL
Wickens G ShinkoGermanyAmy Elsner NEW
Isabel E TollnerIndiaIoni Bowcher UNQUALIFIED
Ricardo S SergiArgentinaIoni Bowcher UNQUALIFIED
Kaitlin D CampainGermanyAmy Elsner NEGOTIATION
Juan E ShinkoAustraliaOnyama Limba RENEWAL
Clifford Q DilliardCanadaIoni Bowcher RENEWAL
Sinclair I DarakjyBrazilStephen Shaw NEGOTIATION
Jefferson M SaylorsJapanBernardo Dominic PROPOSAL
James G OldroydJapanIoni Bowcher PROPOSAL
Leja D MarrierRussiaIoni Bowcher PROPOSAL
Ivar Q InouyeJapanAmy Elsner NEW
Costa G IturbideGermanyAmy Elsner QUALIFIED
Sinclair B SaylorsSpainAmy Elsner RENEWAL
James Q VocelkaRussiaXuxue Feng PROPOSAL
Nicolas V CampainAustraliaBernardo Dominic QUALIFIED
Nicolas C AmigonUnited KingdomStephen Shaw NEGOTIATION
Aditya A CaudyArgentinaIvan Magalhaes QUALIFIED
Mujtaba V MacleadCanadaBernardo Dominic NEGOTIATION
Darci V DarakjyUnited KingdomAsiya Javayant NEW
Silvio V SaylorsBrazilAsiya Javayant NEW
James O DilliardArgentinaBernardo Dominic NEW
Arvin R SaylorsRussiaAnna Fali UNQUALIFIED
David D KolmetzGermanyAsiya Javayant RENEWAL
Emily K NestleFranceIvan Magalhaes NEW
Nicolas Q VocelkaArgentinaOnyama Limba NEGOTIATION
Adams S BriddickGermanyIvan Magalhaes QUALIFIED
Jennifer A DoeSpainStephen Shaw UNQUALIFIED
Leon E SergiItalyIoni Bowcher PROPOSAL
Octavia N WieserFranceAnna Fali UNQUALIFIED
Rodrigues Z FerenczCanadaXuxue Feng RENEWAL
Francesco T SlusarskiRussiaXuxue Feng NEW
Clifford J DilliardAustraliaXuxue Feng QUALIFIED
Ashley M KuskoCanadaIoni Bowcher NEGOTIATION
Aditya P GarufiAustraliaIoni Bowcher PROPOSAL
Tony F BologniaUnited KingdomBernardo Dominic NEW
Deepesh S ButtIndiaAnna Fali UNQUALIFIED
Silvio J RutaSpainAnna Fali QUALIFIED
Emily P AlbaresItalyStephen Shaw RENEWAL
Cody U RoysterItalyAmy Elsner RENEWAL
Izzy J SchemmerRussiaXuxue Feng UNQUALIFIED
Clifford G IturbideArgentinaAmy Elsner UNQUALIFIED
Misaki L MarrierGermanyBernardo Dominic RENEWAL
Aruna A OstroskyItalyBernardo Dominic UNQUALIFIED
Francesco E BriddickItalyStephen Shaw QUALIFIED
Alejandro G DoeRussiaIoni Bowcher QUALIFIED
Aika Z PerinAustraliaElwin Sharvill NEW
Frozen Columns
Name
Aruna J Rim
Antonio Y Glick
Isabel C Marrier
Julie V Iturbide
Darci I Bowley
Tony Y Wieser
Jennifer T Caudy
Ricardo H Darakjy
Rodrigues H Poquette
Costa K Oldroyd
Mujtaba W Vocelka
Kadeem U Vocelka
Salvatore K Amigon
Darci I Slusarski
Deepesh G Campain
Aditya E Ferencz
Mayumi Q Whobrey
Ivar G Sergi
Jefferson E Campain
Arvin D Sergi
Izzy G Dilliard
Mujtaba Q Gaucho
Arvin O Marrier
Nicolas P Royster
Adams H Briddick
Jones Z Flosi
Leja W Malet
Mayumi B Garufi
Adams L Schemmer
Clifford O Saylors
Arvin Y Vocelka
Nicolas E Shinko
David K Marrier
Mayumi O Caldarera
Isabel R Vocelka
Salvatore Q Oldroyd
Rodrigues C Stenseth
Jennifer X Slusarski
Deepesh D Briddick
Aruna S Glick
Aika D Slusarski
Morrow Y Sergi
Silvio W Shinko
Johnson H Morasca
Salvatore Z Ruta
Julie C Waycott
Misaki H Gillian
Sinclair X Poquette
James R Perin
Mujtaba W Darakjy
IdCountryDate
1000Argentina2024-06-19
1001Russia2024-05-30
1002Japan2024-06-05
1003Canada2024-05-25
1004United Kingdom2024-05-30
1005Germany2024-06-05
1006Russia2024-06-07
1007United Kingdom2024-06-20
1008Brazil2024-06-03
1009Germany2024-06-22
1010Argentina2024-05-24
1011Australia2024-06-20
1012Brazil2024-06-18
1013France2024-05-26
1014Argentina2024-05-25
1015Brazil2024-05-30
1016France2024-06-08
1017Germany2024-06-10
1018Russia2024-06-04
1019Germany2024-06-10
1020Germany2024-05-29
1021Canada2024-05-30
1022Japan2024-06-11
1023Japan2024-06-02
1024Canada2024-06-15
1025United Kingdom2024-06-18
1026France2024-06-08
1027Italy2024-06-21
1028Canada2024-05-25
1029France2024-06-01
1030Japan2024-06-16
1031Argentina2024-06-12
1032Germany2024-06-08
1033Russia2024-06-03
1034Italy2024-05-30
1035Spain2024-06-12
1036Russia2024-05-26
1037Brazil2024-05-30
1038United Kingdom2024-06-13
1039Germany2024-06-10
1040India2024-05-28
1041Russia2024-05-27
1042Japan2024-06-09
1043Australia2024-06-06
1044Argentina2024-05-24
1045Russia2024-06-05
1046India2024-06-03
1047France2024-05-27
1048Spain2024-06-13
1049France2024-05-28

On-Demand Data

NameIdCountryDate
Claire I Paprocki1000Russia2024-06-04
Morrow W Inouye1001Canada2024-06-15
Jones S Glick1002Germany2024-05-26
Isabel D Glick1003Russia2024-06-16
Julie K Nicka1004Japan2024-05-29
David J Ruta1005United Kingdom2024-06-03
Claire B Schemmer1006Argentina2024-05-31
Adams L Vocelka1007Russia2024-06-11
Wickens D Kolmetz1008Italy2024-06-18
Deepesh L Amigon1009India2024-06-10
Clifford X Vocelka1010India2024-06-04
Smith A Doe1011Australia2024-06-22
James E Saylors1012United Kingdom2024-05-29
Arvin D Flosi1013Australia2024-06-19
Nicolas V Ostrosky1014Italy2024-06-07
Alejandro S Rulapaugh1015Germany2024-06-10
Izzy E Oldroyd1016Spain2024-06-12
Ricardo P Bowley1017Australia2024-06-21
Jeanfrancois W Marrier1018Argentina2024-06-08
Juan Q Tollner1019Brazil2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z BologniaCanadaXuxue Feng PROPOSAL
Sinclair W FigeroaAustraliaXuxue Feng NEW
James K DarakjyIndiaAnna Fali NEGOTIATION
David H SergiGermanyAnna Fali PROPOSAL
Silvio O StockhamJapanIoni Bowcher RENEWAL
Antonio W ChuiRussiaElwin Sharvill NEGOTIATION
Claire S AmigonBrazilOnyama Limba NEGOTIATION
Octavia L FerenczIndiaXuxue Feng UNQUALIFIED
Faith I RoysterFranceStephen Shaw NEGOTIATION
Ivar U VenereGermanyXuxue Feng UNQUALIFIED
Deepesh F SlusarskiAustraliaOnyama Limba PROPOSAL
Jeanfrancois E GillianArgentinaBernardo Dominic RENEWAL
Greenwood D SergiGermanyIoni Bowcher UNQUALIFIED
Costa V CaudyItalyElwin Sharvill QUALIFIED
Maria Q OstroskyFranceElwin Sharvill NEGOTIATION
Adams Z SaylorsItalyIoni Bowcher NEW
David L RimIndiaIoni Bowcher PROPOSAL
Salvatore S RimUnited KingdomElwin Sharvill PROPOSAL
Jennifer E CaldareraSpainXuxue Feng PROPOSAL
Misaki S StensethBrazilIoni Bowcher PROPOSAL
Mayumi P MacleadSpainElwin Sharvill QUALIFIED
Murillo J WieserJapanAnna Fali PROPOSAL
Nicolas B GlickBrazilXuxue Feng NEW
Rodrigues L RutaCanadaOnyama Limba NEW
Clifford W VocelkaCanadaElwin Sharvill PROPOSAL
Julie S RulapaughGermanyXuxue Feng QUALIFIED
Jeanfrancois M RimIndiaAmy Elsner RENEWAL
Octavia I AlbaresGermanyElwin Sharvill UNQUALIFIED
Izzy U RutaIndiaIoni Bowcher QUALIFIED
Ricardo U RulapaughJapanIoni Bowcher NEW
Nicolas C MaletArgentinaStephen Shaw NEGOTIATION
Murillo P StensethItalyStephen Shaw NEW
Alejandro H MaletAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois F AmigonFranceAmy Elsner UNQUALIFIED
Cody M OstroskyFranceOnyama Limba NEW
Smith I BriddickJapanIoni Bowcher QUALIFIED
Morrow D GarufiArgentinaAnna Fali NEW
Ivar Z OldroydSpainElwin Sharvill RENEWAL
James F FollerBrazilElwin Sharvill PROPOSAL
Darci A SaylorsRussiaIvan Magalhaes 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>