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
Jefferson L GillianIndiaAnna Fali QUALIFIED
Leon Q PoquetteUnited KingdomXuxue Feng PROPOSAL
Johnson I TollnerUnited KingdomAnna Fali QUALIFIED
Sinclair I BologniaIndiaElwin Sharvill PROPOSAL
Kaitlin D SergiUnited KingdomAnna Fali NEW
David I AmigonArgentinaElwin Sharvill QUALIFIED
Ashley A BriddickArgentinaXuxue Feng UNQUALIFIED
Maisha P ShinkoIndiaAsiya Javayant PROPOSAL
Smith U PaprockiUnited KingdomBernardo Dominic QUALIFIED
Leon G StensethIndiaBernardo Dominic QUALIFIED
Arvin E WaycottFranceIvan Magalhaes UNQUALIFIED
Mayumi D KuskoBrazilIoni Bowcher PROPOSAL
Jones M DoeUnited KingdomIoni Bowcher NEGOTIATION
Ivar R PoquetteGermanyElwin Sharvill QUALIFIED
David E TollnerUnited KingdomIvan Magalhaes RENEWAL
Jefferson H FigeroaBrazilAmy Elsner QUALIFIED
Silvio S StockhamJapanElwin Sharvill NEGOTIATION
Jeanfrancois O PerinCanadaStephen Shaw RENEWAL
Stacey D IturbideUnited KingdomAnna Fali PROPOSAL
Juan F MaletUnited KingdomXuxue Feng NEW
Costa Z RutaBrazilElwin Sharvill NEW
Smith O AlbaresAustraliaOnyama Limba NEGOTIATION
Isabel E DoeItalyStephen Shaw QUALIFIED
Smith G WaycottUnited KingdomStephen Shaw NEGOTIATION
Jefferson D CaudyItalyBernardo Dominic UNQUALIFIED
Isabel K RutaJapanAnna Fali UNQUALIFIED
Faith V PerinGermanyIoni Bowcher RENEWAL
Maria T FigeroaIndiaAmy Elsner QUALIFIED
Munro L WaycottItalyIvan Magalhaes UNQUALIFIED
Morrow N AmigonArgentinaStephen Shaw QUALIFIED
Deepesh C GauchoFranceAnna Fali NEW
Jennifer R AlbaresAustraliaAsiya Javayant NEGOTIATION
Salvatore T ShinkoCanadaIoni Bowcher NEGOTIATION
Jeanfrancois A ButtCanadaElwin Sharvill PROPOSAL
Isabel K MaletArgentinaIvan Magalhaes PROPOSAL
Costa D MorascaSpainAsiya Javayant NEW
Emily M BriddickIndiaStephen Shaw NEW
Morrow W GauchoItalyStephen Shaw UNQUALIFIED
Misaki I RimGermanyXuxue Feng NEGOTIATION
Faith Y BowleyBrazilBernardo Dominic RENEWAL
Munro S RimCanadaIvan Magalhaes PROPOSAL
Nicolas F DilliardAustraliaIoni Bowcher RENEWAL
Costa V FigeroaAustraliaOnyama Limba QUALIFIED
Darci K KolmetzCanadaBernardo Dominic NEW
Munro O IturbideGermanyAmy Elsner UNQUALIFIED
Julie D GarufiJapanIoni Bowcher NEGOTIATION
Mayumi T MorascaSpainIoni Bowcher PROPOSAL
Jones A OldroydRussiaStephen Shaw PROPOSAL
Julie P SaylorsGermanyIvan Magalhaes NEW
Antonio B WhobreyUnited KingdomAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria I PaprockiFranceStephen Shaw RENEWAL
Claire H RimUnited KingdomXuxue Feng PROPOSAL
Jones N MaletUnited KingdomAmy Elsner RENEWAL
Kaitlin W MorascaBrazilXuxue Feng UNQUALIFIED
Claire Y RulapaughJapanAsiya Javayant UNQUALIFIED
Nicolas A NestleItalyElwin Sharvill PROPOSAL
Stacey O CaldareraRussiaXuxue Feng QUALIFIED
Morrow R DoeUnited KingdomIoni Bowcher RENEWAL
Leja I PaprockiItalyIvan Magalhaes NEGOTIATION
Salvatore M BriddickItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria D OstroskyIndia2024-05-27Benton, John B Jr NEW45Ioni Bowcher
1001Greenwood N NestleBrazil2024-05-27Rousseaux, Michael Esq UNQUALIFIED69Elwin Sharvill
1002Ashley Q VenereIndia2024-06-05Rangoni Of Florence QUALIFIED99Ioni Bowcher
1003Aditya I BologniaBrazil2024-06-12Chanay, Jeffrey A Esq QUALIFIED97Ioni Bowcher
1004Kadeem J MaletCanada2024-06-04Commercial Press RENEWAL77Ioni Bowcher
1005Emily S AlbaresArgentina2024-05-25Chanay, Jeffrey A Esq NEGOTIATION60Anna Fali
1006David X ShinkoIndia2024-06-13Chemel, James L Cpa RENEWAL76Xuxue Feng
1007Ricardo G RulapaughFrance2024-06-11Buckley Miller Wright QUALIFIED58Anna Fali
1008Munro G ChuiGermany2024-06-03Chemel, James L Cpa RENEWAL87Amy Elsner
1009Salvatore F TollnerRussia2024-05-30Feiner Bros NEW54Anna Fali
1010Octavia V VenereGermany2024-06-04Feiner Bros RENEWAL45Ivan Magalhaes
1011Adams O CampainJapan2024-06-15King, Christopher A Esq PROPOSAL86Anna Fali
1012Antonio P AmigonRussia2024-06-08Feiner Bros RENEWAL11Amy Elsner
1013Julie F InouyeBrazil2024-05-31Feltz Printing Service QUALIFIED67Ivan Magalhaes
1014Aditya T CampainRussia2024-05-23Buckley Miller Wright UNQUALIFIED11Ivan Magalhaes
1015Chavez F ShinkoItaly2024-06-05Benton, John B Jr QUALIFIED32Asiya Javayant
1016Antonio R PoquetteCanada2024-06-21Benton, John B Jr NEW0Ivan Magalhaes
1017Leja X GillianIndia2024-06-16Rousseaux, Michael Esq NEW27Amy Elsner
1018Tony E NestleCanada2024-06-01Dorl, James J Esq NEGOTIATION6Onyama Limba
1019Jeanfrancois F MaletSpain2024-05-27Feiner Bros NEW2Bernardo Dominic
1020Wickens D RoysterSpain2024-05-23Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1021Nicolas J FlosiFrance2024-06-13Feiner Bros PROPOSAL31Asiya Javayant
1022Munro R VenereRussia2024-06-10Chapman, Ross E Esq UNQUALIFIED42Asiya Javayant
1023Claire R FerenczArgentina2024-05-28Chapman, Ross E Esq NEW26Ivan Magalhaes
1024Jefferson Z ButtFrance2024-05-27Chanay, Jeffrey A Esq NEGOTIATION83Stephen Shaw
1025Juan W ChuiFrance2024-06-10Buckley Miller Wright UNQUALIFIED44Ivan Magalhaes
1026Ashley Z WieserSpain2024-06-19Rousseaux, Michael Esq PROPOSAL34Stephen Shaw
1027Munro S RulapaughBrazil2024-06-04Rousseaux, Michael Esq PROPOSAL20Asiya Javayant
1028Julie J BologniaSpain2024-06-06Chemel, James L Cpa QUALIFIED58Onyama Limba
1029Morrow U RimItaly2024-05-31Buckley Miller Wright QUALIFIED68Stephen Shaw
1030Darci R ButtRussia2024-06-20Printing Dimensions PROPOSAL38Asiya Javayant
1031Mayumi Q PaprockiUnited Kingdom2024-06-12Truhlar And Truhlar Attys QUALIFIED9Bernardo Dominic
1032Tony V FollerGermany2024-06-18Chemel, James L Cpa PROPOSAL70Bernardo Dominic
1033Smith W FlosiIndia2024-05-23Benton, John B Jr UNQUALIFIED24Amy Elsner
1034Adams L SchemmerCanada2024-06-13Feltz Printing Service NEW42Stephen Shaw
1035Leja W KolmetzJapan2024-05-30Rangoni Of Florence UNQUALIFIED2Ivan Magalhaes
1036Juan X IturbideUnited Kingdom2024-06-07Feltz Printing Service NEW38Anna Fali
1037Costa A StensethJapan2024-06-02Chapman, Ross E Esq QUALIFIED38Asiya Javayant
1038Aika V FlosiUnited Kingdom2024-05-29King, Christopher A Esq NEW67Elwin Sharvill
1039Kaitlin Q ShinkoBrazil2024-05-28Chemel, James L Cpa NEGOTIATION69Elwin Sharvill
1040Ricardo K KolmetzItaly2024-06-02Benton, John B Jr UNQUALIFIED1Stephen Shaw
1041Jones U DilliardGermany2024-06-12Chapman, Ross E Esq NEW8Ivan Magalhaes
1042Salvatore D OstroskySpain2024-06-16Chemel, James L Cpa NEW48Xuxue Feng
1043James F StockhamFrance2024-06-06Feiner Bros RENEWAL75Xuxue Feng
1044Leon I SlusarskiCanada2024-05-29Buckley Miller Wright PROPOSAL1Amy Elsner
1045David H WaycottAustralia2024-06-02Printing Dimensions NEGOTIATION12Ioni Bowcher
1046Tony D DilliardJapan2024-06-06Chanay, Jeffrey A Esq NEGOTIATION45Stephen Shaw
1047Darci T WaycottItaly2024-05-23King, Christopher A Esq NEGOTIATION74Stephen Shaw
1048Cody Z OldroydFrance2024-05-23Benton, John B Jr NEGOTIATION2Anna Fali
1049Silvio P FollerArgentina2024-05-27Rousseaux, Michael Esq RENEWAL21Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Johnson Q CaudyIndiaBernardo Dominic QUALIFIED
Faith C FigeroaJapanIvan Magalhaes UNQUALIFIED
Smith T FollerSpainAnna Fali QUALIFIED
Izzy N StensethRussiaAmy Elsner NEGOTIATION
Kaitlin E PerinJapanXuxue Feng NEW
Kaitlin Z FigeroaArgentinaBernardo Dominic RENEWAL
Kadeem V KuskoBrazilElwin Sharvill QUALIFIED
Stacey W GillianFranceIvan Magalhaes NEW
Adams K NickaCanadaIvan Magalhaes QUALIFIED
Claire G FollerSpainStephen Shaw QUALIFIED
Mayumi E OldroydCanadaAsiya Javayant PROPOSAL
Clifford I RoysterRussiaStephen Shaw QUALIFIED
David S CaudyAustraliaXuxue Feng NEW
Munro E GauchoIndiaAmy Elsner PROPOSAL
Chavez V VocelkaAustraliaOnyama Limba PROPOSAL
Stacey P GarufiUnited KingdomOnyama Limba RENEWAL
Emily R GlickGermanyOnyama Limba PROPOSAL
Ivar Z ButtCanadaStephen Shaw NEW
Darci U StensethFranceStephen Shaw NEW
Ivar V BowleyGermanyXuxue Feng QUALIFIED
Jones S OldroydJapanAmy Elsner RENEWAL
Nicolas M MaletJapanAmy Elsner QUALIFIED
Octavia P MaletIndiaOnyama Limba QUALIFIED
Mujtaba S SlusarskiIndiaIvan Magalhaes PROPOSAL
Morrow M OstroskyBrazilAnna Fali PROPOSAL
Juan R CampainSpainAmy Elsner NEW
Adams H StockhamSpainElwin Sharvill UNQUALIFIED
Sinclair T GarufiRussiaBernardo Dominic NEW
Jennifer U AmigonCanadaIoni Bowcher NEW
Jefferson A RimIndiaAmy Elsner UNQUALIFIED
Jennifer A RimItalyAnna Fali RENEWAL
Sinclair Q InouyeIndiaAmy Elsner NEGOTIATION
Ricardo S PerinItalyXuxue Feng UNQUALIFIED
Aruna A MacleadCanadaAsiya Javayant UNQUALIFIED
Munro B AlbaresFranceOnyama Limba NEGOTIATION
Aika S OldroydIndiaOnyama Limba QUALIFIED
Francesco A OldroydFranceOnyama Limba NEW
Tony A PerinGermanyIvan Magalhaes NEW
Francesco C RoysterCanadaBernardo Dominic NEW
Kadeem D FollerArgentinaBernardo Dominic NEW
Ricardo O WhobreyFranceStephen Shaw UNQUALIFIED
Ricardo M PaprockiFranceXuxue Feng NEGOTIATION
Wickens F InouyeUnited KingdomOnyama Limba NEW
Leja X NickaSpainElwin Sharvill QUALIFIED
Francesco F IturbideSpainAmy Elsner RENEWAL
Adams M StensethGermanyElwin Sharvill UNQUALIFIED
Leja Y OstroskyAustraliaAmy Elsner QUALIFIED
Clifford P ButtItalyIvan Magalhaes UNQUALIFIED
David Y InouyeFranceAnna Fali NEW
Rodrigues D DarakjyArgentinaAnna Fali NEW
Frozen Columns
Name
Jones Q Schemmer
Rodrigues L Perin
Ashley D Malet
Julie F Chui
Jefferson Q Ferencz
Salvatore Z Vocelka
Murillo A Maclead
Johnson A Bolognia
Morrow T Amigon
Maisha F Ostrosky
David B Malet
Ashley J Rim
Jones J Caldarera
Salvatore M Kolmetz
Morrow G Tollner
David L Butt
Kaitlin W Malet
Juan S Briddick
Jennifer N Malet
Arvin Z Tollner
Julie W Gaucho
Mujtaba W Glick
Juan V Chui
Smith L Morasca
Julie J Tollner
Murillo H Royster
Julie V Shinko
Clifford X Shinko
Nicolas Q Caldarera
Ivar C Gaucho
Deepesh H Royster
Greenwood M Doe
Nicolas N Figeroa
Greenwood C Nicka
Arvin M Doe
Isabel Z Briddick
Costa H Waycott
Salvatore M Doe
Mayumi G Darakjy
Ivar C Stockham
Izzy S Glick
Maisha E Oldroyd
Adams Z Shinko
Jefferson Q Marrier
Costa K Kolmetz
Silvio P Inouye
Aditya F Inouye
Costa R Inouye
Morrow F Rulapaugh
James C Ferencz
IdCountryDate
1000Brazil2024-06-05
1001Italy2024-06-20
1002Germany2024-06-04
1003Brazil2024-06-08
1004Brazil2024-06-04
1005Italy2024-06-05
1006Germany2024-06-14
1007Germany2024-05-29
1008Italy2024-05-28
1009Italy2024-05-28
1010India2024-06-05
1011Russia2024-05-24
1012Russia2024-06-20
1013Germany2024-06-21
1014Australia2024-06-08
1015Australia2024-06-01
1016Brazil2024-06-01
1017Australia2024-05-23
1018India2024-06-16
1019France2024-06-01
1020Brazil2024-06-01
1021Canada2024-06-08
1022Brazil2024-06-12
1023Italy2024-06-07
1024Canada2024-06-19
1025Canada2024-06-17
1026India2024-06-04
1027India2024-06-02
1028Canada2024-05-27
1029Japan2024-06-21
1030Germany2024-06-02
1031United Kingdom2024-06-11
1032Italy2024-06-06
1033United Kingdom2024-06-12
1034France2024-06-16
1035Argentina2024-06-17
1036Germany2024-06-10
1037United Kingdom2024-05-29
1038Russia2024-06-17
1039Argentina2024-06-07
1040Brazil2024-06-08
1041Canada2024-06-14
1042Brazil2024-06-11
1043France2024-06-13
1044United Kingdom2024-06-11
1045France2024-06-16
1046Canada2024-06-21
1047Argentina2024-06-08
1048France2024-06-14
1049Argentina2024-05-31

On-Demand Data

NameIdCountryDate
Isabel F Caudy1000Spain2024-05-28
Emily K Figeroa1001Spain2024-06-14
Rodrigues D Maclead1002Australia2024-06-13
Kadeem L Ostrosky1003India2024-06-20
Faith Q Waycott1004India2024-06-02
Emily J Ruta1005Canada2024-06-20
Rodrigues M Amigon1006Canada2024-06-04
Maria P Malet1007Australia2024-06-21
Francesco O Butt1008Germany2024-06-11
Jennifer P Schemmer1009France2024-06-15
Faith S Sergi1010France2024-06-04
Julie L Morasca1011Germany2024-06-12
Maisha I Perin1012Brazil2024-06-02
Aika Z Rim1013India2024-06-20
Johnson R Gaucho1014France2024-05-24
Mujtaba F Tollner1015United Kingdom2024-06-05
Ashley O Nicka1016Japan2024-05-31
Maria S Briddick1017Australia2024-06-16
Claire Q Oldroyd1018Australia2024-06-21
Wickens H Slusarski1019Japan2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Z StensethArgentinaAnna Fali NEGOTIATION
Leon J SlusarskiRussiaIvan Magalhaes PROPOSAL
Costa E VenereUnited KingdomBernardo Dominic NEW
Cody N VocelkaFranceAnna Fali NEGOTIATION
Sinclair X RulapaughGermanyAmy Elsner NEW
Costa Q PerinItalyOnyama Limba NEW
Rodrigues U RulapaughAustraliaXuxue Feng NEW
Julie P IturbideRussiaOnyama Limba QUALIFIED
Ashley Q SlusarskiBrazilElwin Sharvill QUALIFIED
Salvatore E VocelkaJapanIoni Bowcher QUALIFIED
Claire M KolmetzCanadaAsiya Javayant PROPOSAL
Jefferson D WhobreyRussiaAmy Elsner RENEWAL
Emily Q RutaCanadaBernardo Dominic NEGOTIATION
Munro V FerenczGermanyAnna Fali NEGOTIATION
Cody N PaprockiSpainElwin Sharvill UNQUALIFIED
Greenwood F KolmetzGermanyElwin Sharvill RENEWAL
Misaki G NestleBrazilAsiya Javayant UNQUALIFIED
Misaki X CampainUnited KingdomBernardo Dominic NEW
Maisha M RulapaughArgentinaStephen Shaw QUALIFIED
Antonio K KuskoRussiaAsiya Javayant NEW
Deepesh T PerinCanadaAnna Fali NEGOTIATION
Aruna Z BriddickIndiaIoni Bowcher PROPOSAL
James Y AlbaresFranceIvan Magalhaes QUALIFIED
Leon Q NickaBrazilIoni Bowcher UNQUALIFIED
Leon L CaudyIndiaXuxue Feng RENEWAL
Aruna E IturbideIndiaAmy Elsner QUALIFIED
Morrow K OldroydItalyIoni Bowcher NEW
Mayumi S PerinGermanyXuxue Feng RENEWAL
Ricardo P StockhamIndiaAnna Fali RENEWAL
Kadeem I StockhamBrazilAsiya Javayant UNQUALIFIED
Adams E StensethFranceAsiya Javayant NEW
Mujtaba X WaycottArgentinaOnyama Limba RENEWAL
Nicolas H StockhamGermanyXuxue Feng NEW
Antonio H DilliardJapanOnyama Limba NEGOTIATION
Izzy T CampainGermanyAmy Elsner NEGOTIATION
Jones L FerenczCanadaBernardo Dominic UNQUALIFIED
Rodrigues X KuskoAustraliaOnyama Limba QUALIFIED
Tony E FollerFranceAmy Elsner QUALIFIED
Jennifer H FlosiCanadaIoni Bowcher NEW
Nicolas G VenereGermanyBernardo Dominic 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>