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
Kadeem P BologniaAustraliaAmy Elsner NEGOTIATION
Arvin G SergiJapanOnyama Limba PROPOSAL
Maria G BowleyItalyXuxue Feng RENEWAL
Salvatore Q RimCanadaBernardo Dominic UNQUALIFIED
Francesco F GlickAustraliaElwin Sharvill QUALIFIED
Greenwood Z CaudyGermanyBernardo Dominic RENEWAL
Jefferson U FerenczItalyIvan Magalhaes RENEWAL
Jeanfrancois G GillianFranceIoni Bowcher RENEWAL
Rodrigues X NickaUnited KingdomAmy Elsner UNQUALIFIED
Francesco O WhobreyAustraliaOnyama Limba RENEWAL
Sinclair D SlusarskiGermanyIvan Magalhaes RENEWAL
Francesco L VocelkaJapanAmy Elsner QUALIFIED
Clifford I MarrierBrazilAsiya Javayant NEGOTIATION
Mayumi O WhobreyAustraliaBernardo Dominic RENEWAL
David F NickaFranceOnyama Limba NEGOTIATION
Aditya S BologniaFranceAmy Elsner QUALIFIED
Sinclair J IturbideSpainXuxue Feng RENEWAL
Faith D FerenczFranceIvan Magalhaes PROPOSAL
Ashley Q DilliardSpainIoni Bowcher PROPOSAL
Aditya H DarakjyJapanXuxue Feng NEGOTIATION
Maria Y OldroydCanadaXuxue Feng NEW
Aika A FlosiBrazilAmy Elsner RENEWAL
Aditya N BriddickCanadaXuxue Feng RENEWAL
Ricardo C PerinItalyStephen Shaw QUALIFIED
Ivar Z ButtAustraliaAmy Elsner NEGOTIATION
Leon P WaycottCanadaIoni Bowcher NEGOTIATION
Antonio V GillianRussiaAnna Fali RENEWAL
Sinclair P DoeRussiaAsiya Javayant QUALIFIED
Kaitlin J WhobreyRussiaIvan Magalhaes NEW
James U ButtIndiaAmy Elsner NEW
Francesco V CaudyRussiaOnyama Limba PROPOSAL
Julie P OstroskyItalyIvan Magalhaes NEW
Kaitlin N NickaAustraliaXuxue Feng NEGOTIATION
Alejandro E NestleFranceElwin Sharvill UNQUALIFIED
Ivar R MorascaItalyStephen Shaw RENEWAL
Misaki F GarufiBrazilAnna Fali PROPOSAL
Leon P AlbaresArgentinaAsiya Javayant PROPOSAL
Clifford T RutaGermanyAnna Fali QUALIFIED
Johnson I DarakjyAustraliaAnna Fali NEGOTIATION
Greenwood P IturbideBrazilAmy Elsner QUALIFIED
Emily N SlusarskiIndiaAnna Fali NEGOTIATION
Francesco Y MaletCanadaBernardo Dominic NEW
Faith A RimUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois Y InouyeGermanyElwin Sharvill RENEWAL
Leon X FlosiArgentinaAmy Elsner NEW
Alejandro S SaylorsBrazilXuxue Feng NEGOTIATION
Julie H WhobreyRussiaIoni Bowcher PROPOSAL
Julie D AlbaresJapanElwin Sharvill UNQUALIFIED
Cody G BowleyAustraliaBernardo Dominic QUALIFIED
Emily N CampainJapanStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio M ButtBrazilIvan Magalhaes QUALIFIED
Darci N OldroydIndiaElwin Sharvill NEGOTIATION
Ivar D SergiSpainOnyama Limba PROPOSAL
Juan X RimJapanBernardo Dominic UNQUALIFIED
Misaki S MaletSpainStephen Shaw NEW
Leon I RimItalyAsiya Javayant QUALIFIED
Ivar D DilliardBrazilXuxue Feng NEGOTIATION
Aditya Z FerenczItalyIoni Bowcher NEW
Maria K RulapaughJapanAmy Elsner RENEWAL
Johnson N StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones T InouyeFrance2024-06-18Rousseaux, Michael Esq RENEWAL39Stephen Shaw
1001Antonio Y WieserCanada2024-06-10Chapman, Ross E Esq NEGOTIATION86Amy Elsner
1002Aditya R MaletArgentina2024-06-10Benton, John B Jr NEW37Amy Elsner
1003Jeanfrancois T MarrierJapan2024-05-29Commercial Press PROPOSAL11Onyama Limba
1004Antonio E RimRussia2024-06-19Printing Dimensions NEGOTIATION79Bernardo Dominic
1005Chavez Q WieserFrance2024-06-07Chanay, Jeffrey A Esq RENEWAL87Xuxue Feng
1006Maria A MorascaGermany2024-06-09Commercial Press RENEWAL20Anna Fali
1007Faith P RoysterUnited Kingdom2024-06-22Chanay, Jeffrey A Esq QUALIFIED75Ivan Magalhaes
1008Francesco C SaylorsRussia2024-06-12King, Christopher A Esq NEGOTIATION47Bernardo Dominic
1009Emily A SlusarskiIndia2024-05-31Chemel, James L Cpa UNQUALIFIED17Ioni Bowcher
1010Deepesh Q RulapaughSpain2024-06-17King, Christopher A Esq RENEWAL65Ivan Magalhaes
1011James B RimGermany2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED48Stephen Shaw
1012Aruna W SaylorsSpain2024-06-11Dorl, James J Esq PROPOSAL82Bernardo Dominic
1013Kaitlin R CampainSpain2024-06-10Feltz Printing Service QUALIFIED88Bernardo Dominic
1014Leja J AlbaresBrazil2024-06-05Morlong Associates UNQUALIFIED36Onyama Limba
1015Salvatore X VenereBrazil2024-06-07Feltz Printing Service NEW57Stephen Shaw
1016Johnson Y MaletAustralia2024-06-17Feltz Printing Service UNQUALIFIED32Onyama Limba
1017Antonio E GauchoArgentina2024-06-15Feltz Printing Service NEW66Ivan Magalhaes
1018Clifford F MaletRussia2024-06-07Benton, John B Jr NEW30Bernardo Dominic
1019Emily D GlickGermany2024-06-18Feiner Bros NEGOTIATION43Anna Fali
1020Alejandro M SaylorsItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION6Bernardo Dominic
1021Antonio O RoysterBrazil2024-06-11Morlong Associates NEGOTIATION2Stephen Shaw
1022Mayumi F NestleFrance2024-06-21Buckley Miller Wright NEGOTIATION24Ioni Bowcher
1023Leon T GillianJapan2024-06-16Printing Dimensions QUALIFIED54Stephen Shaw
1024Aruna X TollnerIndia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION65Ioni Bowcher
1025Cody T InouyeFrance2024-06-02Commercial Press NEGOTIATION74Ivan Magalhaes
1026Izzy T GlickIndia2024-06-05Rangoni Of Florence NEW47Ivan Magalhaes
1027Kaitlin G FlosiCanada2024-06-17Printing Dimensions QUALIFIED98Asiya Javayant
1028Johnson V WieserSpain2024-06-07Morlong Associates UNQUALIFIED22Asiya Javayant
1029Aika W DoeGermany2024-06-01Rousseaux, Michael Esq NEGOTIATION15Stephen Shaw
1030Deepesh C VenereBrazil2024-06-02Rousseaux, Michael Esq PROPOSAL65Ioni Bowcher
1031Arvin K CaudyJapan2024-05-28Benton, John B Jr NEGOTIATION60Elwin Sharvill
1032Deepesh H ShinkoAustralia2024-05-27Rangoni Of Florence UNQUALIFIED39Onyama Limba
1033Emily K GauchoBrazil2024-05-26Feiner Bros NEW24Asiya Javayant
1034Julie K GlickFrance2024-06-21Truhlar And Truhlar Attys NEGOTIATION42Ivan Magalhaes
1035David O OstroskyUnited Kingdom2024-06-01Rangoni Of Florence UNQUALIFIED68Amy Elsner
1036James N SergiAustralia2024-05-26Chapman, Ross E Esq RENEWAL40Onyama Limba
1037Jones S SlusarskiItaly2024-06-04Feiner Bros QUALIFIED43Ivan Magalhaes
1038Cody N DilliardJapan2024-06-17Rangoni Of Florence NEGOTIATION55Onyama Limba
1039Tony E PerinIndia2024-06-12Morlong Associates QUALIFIED12Onyama Limba
1040Smith B WhobreyCanada2024-05-31Printing Dimensions UNQUALIFIED71Amy Elsner
1041Izzy S AmigonGermany2024-05-31Dorl, James J Esq PROPOSAL50Amy Elsner
1042Leon N BriddickRussia2024-06-09Buckley Miller Wright UNQUALIFIED33Asiya Javayant
1043Ashley A FerenczCanada2024-06-14Truhlar And Truhlar Attys NEGOTIATION24Amy Elsner
1044Kadeem D PerinSpain2024-06-13Printing Dimensions PROPOSAL97Asiya Javayant
1045Aruna A CampainSpain2024-06-23Chanay, Jeffrey A Esq PROPOSAL1Elwin Sharvill
1046Deepesh V RutaSpain2024-06-22Morlong Associates NEW83Onyama Limba
1047James T ChuiRussia2024-06-18Benton, John B Jr NEGOTIATION70Anna Fali
1048Wickens V InouyeAustralia2024-06-13Commercial Press UNQUALIFIED73Ivan Magalhaes
1049Deepesh X FerenczBrazil2024-06-20Feltz Printing Service QUALIFIED45Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro Y TollnerFranceOnyama Limba RENEWAL
Ashley W AlbaresBrazilIoni Bowcher QUALIFIED
Jefferson Q RulapaughFranceIoni Bowcher NEW
Kadeem C GarufiItalyBernardo Dominic RENEWAL
Cody Z RoysterFranceOnyama Limba NEW
Isabel Y DarakjyGermanyOnyama Limba QUALIFIED
Francesco P DilliardJapanStephen Shaw PROPOSAL
Maisha C SchemmerIndiaOnyama Limba PROPOSAL
Jefferson P OldroydIndiaBernardo Dominic RENEWAL
Aika L InouyeRussiaIoni Bowcher UNQUALIFIED
Julie X GauchoIndiaBernardo Dominic PROPOSAL
Stacey D PaprockiItalyElwin Sharvill NEW
Alejandro J KuskoBrazilBernardo Dominic NEGOTIATION
Rodrigues D DoeFranceIoni Bowcher PROPOSAL
Adams K PoquetteIndiaBernardo Dominic NEW
Jennifer D PerinUnited KingdomXuxue Feng NEGOTIATION
James D ShinkoBrazilIvan Magalhaes NEGOTIATION
Kadeem G BriddickJapanAnna Fali NEGOTIATION
Maria R FollerRussiaBernardo Dominic RENEWAL
Morrow I WhobreyItalyIvan Magalhaes NEGOTIATION
Jones E MaletGermanyAsiya Javayant NEW
Costa S DilliardSpainAsiya Javayant QUALIFIED
Jefferson K StockhamRussiaStephen Shaw RENEWAL
Deepesh E CampainArgentinaAnna Fali QUALIFIED
Munro P GlickCanadaAsiya Javayant NEW
Munro C AlbaresBrazilXuxue Feng NEW
Kaitlin S CaldareraJapanAnna Fali NEW
Smith B PerinArgentinaAmy Elsner NEW
Mayumi G CampainItalyIoni Bowcher PROPOSAL
Morrow U PoquetteCanadaStephen Shaw QUALIFIED
Emily K CaldareraGermanyOnyama Limba NEGOTIATION
Cody Q PerinCanadaStephen Shaw PROPOSAL
Francesco P VocelkaSpainElwin Sharvill RENEWAL
Maisha X GillianSpainXuxue Feng QUALIFIED
Leja A CampainIndiaAsiya Javayant RENEWAL
Ashley D KolmetzFranceXuxue Feng UNQUALIFIED
Leja T TollnerArgentinaBernardo Dominic RENEWAL
Salvatore Z CaldareraCanadaElwin Sharvill NEW
Leon V SlusarskiJapanIoni Bowcher QUALIFIED
Faith G FigeroaArgentinaOnyama Limba NEGOTIATION
Tony Y IturbideGermanyIoni Bowcher RENEWAL
Jeanfrancois S BowleyIndiaIvan Magalhaes RENEWAL
Wickens A VenereAustraliaIoni Bowcher NEW
Salvatore P BriddickBrazilIoni Bowcher UNQUALIFIED
Greenwood N WhobreyFranceIvan Magalhaes NEGOTIATION
Smith H PoquetteJapanOnyama Limba UNQUALIFIED
Nicolas O DilliardCanadaElwin Sharvill PROPOSAL
Johnson T ShinkoArgentinaOnyama Limba UNQUALIFIED
Jefferson W VocelkaUnited KingdomBernardo Dominic QUALIFIED
Izzy W VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Aika V Royster
Jeanfrancois B Bowley
Aruna L Butt
Jones P Shinko
Maisha U Oldroyd
Jones T Bolognia
Mujtaba G Venere
Munro G Campain
Johnson R Inouye
Rodrigues V Ostrosky
Salvatore U Inouye
Deepesh P Doe
Alejandro U Ruta
Leja S Rulapaugh
Alejandro O Foller
Nicolas P Waycott
Isabel X Flosi
Antonio H Morasca
Maisha L Gaucho
Jones W Wieser
Smith S Shinko
Mayumi R Kusko
Juan D Saylors
Deepesh P Sergi
Leon C Amigon
Jennifer S Waycott
Jones N Schemmer
Leja P Sergi
Leon W Schemmer
Kadeem B Caldarera
Clifford N Foller
David V Figeroa
Maisha Y Stockham
Cody Z Garufi
Ivar V Bolognia
Cody Y Rim
Greenwood S Schemmer
Julie J Briddick
Kadeem G Gillian
Claire O Vocelka
Nicolas W Darakjy
Kaitlin Z Butt
Julie C Morasca
Wickens Z Perin
Costa F Perin
Antonio G Kusko
Isabel N Caudy
Aika T Royster
Silvio Y Maclead
Aruna Z Gaucho
IdCountryDate
1000United Kingdom2024-06-19
1001Germany2024-06-02
1002United Kingdom2024-06-07
1003Spain2024-06-05
1004India2024-06-11
1005Spain2024-06-09
1006France2024-06-07
1007Spain2024-06-08
1008Argentina2024-06-19
1009France2024-05-31
1010Spain2024-05-30
1011Spain2024-05-31
1012United Kingdom2024-06-01
1013India2024-06-20
1014Brazil2024-06-12
1015India2024-06-08
1016Argentina2024-06-05
1017Germany2024-06-04
1018Canada2024-06-23
1019Argentina2024-06-06
1020United Kingdom2024-06-23
1021France2024-06-06
1022India2024-06-21
1023Russia2024-06-17
1024Argentina2024-06-21
1025Germany2024-06-13
1026Australia2024-05-29
1027France2024-06-02
1028Russia2024-06-04
1029India2024-06-04
1030Germany2024-06-11
1031France2024-05-27
1032Japan2024-06-13
1033Brazil2024-06-04
1034Argentina2024-06-11
1035France2024-06-14
1036Argentina2024-06-23
1037Brazil2024-05-30
1038France2024-06-12
1039Canada2024-06-02
1040Italy2024-05-29
1041Spain2024-06-16
1042United Kingdom2024-06-22
1043Argentina2024-06-14
1044Brazil2024-06-18
1045Japan2024-05-28
1046Russia2024-06-17
1047Russia2024-06-01
1048Canada2024-06-04
1049France2024-06-17

On-Demand Data

NameIdCountryDate
Claire L Venere1000India2024-06-05
Francesco N Dilliard1001India2024-06-21
Johnson O Kusko1002Italy2024-06-19
Clifford K Malet1003United Kingdom2024-06-06
Rodrigues R Kolmetz1004Italy2024-05-30
Deepesh K Ostrosky1005Germany2024-06-23
Jones M Bowley1006France2024-06-03
Jeanfrancois V Figeroa1007United Kingdom2024-06-10
Emily J Paprocki1008Spain2024-06-10
Octavia V Dilliard1009Canada2024-06-20
Izzy Q Sergi1010Canada2024-06-11
Antonio X Stockham1011Japan2024-06-19
Antonio X Kolmetz1012Russia2024-06-23
Faith O Perin1013Italy2024-06-09
Leon Q Gaucho1014France2024-06-19
Smith V Ostrosky1015India2024-06-08
Aika D Shinko1016United Kingdom2024-06-19
Munro L Schemmer1017India2024-06-09
Jones F Shinko1018India2024-06-04
Ricardo V Shinko1019United Kingdom2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley G BologniaUnited KingdomIoni Bowcher QUALIFIED
Kadeem R RulapaughCanadaIoni Bowcher NEW
Misaki K VenereIndiaElwin Sharvill RENEWAL
Salvatore P SaylorsUnited KingdomAsiya Javayant QUALIFIED
Ricardo C ShinkoRussiaStephen Shaw PROPOSAL
Jones Q FerenczRussiaIvan Magalhaes RENEWAL
Octavia E CampainJapanStephen Shaw UNQUALIFIED
Darci U KuskoGermanyXuxue Feng NEGOTIATION
Claire O MaletIndiaStephen Shaw QUALIFIED
Antonio N CampainFranceXuxue Feng RENEWAL
Chavez M DoeSpainAsiya Javayant RENEWAL
Smith L OstroskyAustraliaIoni Bowcher QUALIFIED
Maisha L GarufiAustraliaAmy Elsner QUALIFIED
Cody H DoeFranceXuxue Feng UNQUALIFIED
Julie Q SergiSpainStephen Shaw RENEWAL
Kaitlin N VenereJapanAmy Elsner RENEWAL
Alejandro E MaletAustraliaElwin Sharvill NEGOTIATION
Rodrigues V MaletCanadaAnna Fali NEGOTIATION
Chavez F PerinUnited KingdomStephen Shaw UNQUALIFIED
Emily A OstroskySpainIoni Bowcher RENEWAL
Juan W GlickGermanyAmy Elsner RENEWAL
Stacey N DilliardJapanAsiya Javayant NEW
Izzy S BologniaArgentinaBernardo Dominic PROPOSAL
Maisha L ButtJapanAsiya Javayant RENEWAL
Izzy G DilliardBrazilStephen Shaw PROPOSAL
Jeanfrancois R CaudyIndiaIoni Bowcher QUALIFIED
James E RimFranceIoni Bowcher UNQUALIFIED
Jefferson X FigeroaItalyXuxue Feng NEW
Cody V InouyeRussiaElwin Sharvill UNQUALIFIED
Mujtaba V IturbideRussiaOnyama Limba RENEWAL
Maisha D WaycottFranceIoni Bowcher NEW
Morrow B AlbaresGermanyAnna Fali RENEWAL
David M GillianBrazilXuxue Feng UNQUALIFIED
Cody H VocelkaIndiaIvan Magalhaes RENEWAL
Aditya O MaletBrazilXuxue Feng PROPOSAL
Aruna M RimItalyOnyama Limba PROPOSAL
James M GauchoArgentinaIvan Magalhaes QUALIFIED
Antonio I IturbideFranceAsiya Javayant NEGOTIATION
Aruna H FigeroaJapanOnyama Limba RENEWAL
Cody L GlickJapanStephen Shaw 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>