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
Ashley E DarakjyArgentinaBernardo Dominic NEW
Johnson H StensethUnited KingdomAnna Fali UNQUALIFIED
Isabel S NickaFranceAmy Elsner NEGOTIATION
Tony G FollerRussiaIoni Bowcher UNQUALIFIED
Johnson D SaylorsFranceAnna Fali QUALIFIED
Leon J InouyeFranceOnyama Limba UNQUALIFIED
James P StockhamBrazilIoni Bowcher RENEWAL
Kaitlin V InouyeFranceElwin Sharvill PROPOSAL
Aruna N ButtFranceElwin Sharvill PROPOSAL
Jennifer O MaletFranceAsiya Javayant UNQUALIFIED
Aika H WhobreyUnited KingdomIoni Bowcher RENEWAL
David O ButtUnited KingdomStephen Shaw NEW
Aika M StockhamIndiaStephen Shaw QUALIFIED
Aruna J KuskoRussiaAmy Elsner RENEWAL
Jefferson W SergiItalyIvan Magalhaes RENEWAL
Sinclair S CaudyBrazilAmy Elsner NEW
Jennifer U CaldareraBrazilIoni Bowcher UNQUALIFIED
Aditya D FerenczUnited KingdomStephen Shaw QUALIFIED
Wickens G GillianIndiaIoni Bowcher UNQUALIFIED
Octavia V StockhamArgentinaStephen Shaw UNQUALIFIED
Costa V SergiIndiaOnyama Limba NEW
Kadeem X ButtAustraliaStephen Shaw PROPOSAL
Deepesh T RulapaughGermanyAmy Elsner RENEWAL
Smith Q GarufiRussiaElwin Sharvill RENEWAL
Sinclair E WieserBrazilStephen Shaw NEW
Antonio B VenereIndiaOnyama Limba RENEWAL
Francesco O BologniaJapanElwin Sharvill QUALIFIED
Maria X GlickJapanOnyama Limba UNQUALIFIED
Murillo W DarakjyAustraliaAsiya Javayant UNQUALIFIED
Mujtaba G WhobreyCanadaElwin Sharvill RENEWAL
Emily K DarakjyAustraliaBernardo Dominic NEGOTIATION
Claire V KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Isabel A BriddickUnited KingdomOnyama Limba NEGOTIATION
Salvatore P VenereSpainIoni Bowcher NEGOTIATION
Clifford M FigeroaArgentinaOnyama Limba UNQUALIFIED
Aruna G GauchoFranceOnyama Limba QUALIFIED
Ivar N TollnerArgentinaBernardo Dominic UNQUALIFIED
Cody C BriddickJapanXuxue Feng NEW
Murillo M TollnerSpainElwin Sharvill RENEWAL
Nicolas J SlusarskiRussiaIoni Bowcher UNQUALIFIED
Izzy U SlusarskiArgentinaBernardo Dominic NEGOTIATION
Maisha F RoysterJapanXuxue Feng PROPOSAL
Maisha C MaletSpainIvan Magalhaes QUALIFIED
Nicolas S MacleadIndiaAsiya Javayant QUALIFIED
Ashley U SlusarskiItalyAmy Elsner NEW
Francesco E RulapaughRussiaAsiya Javayant RENEWAL
Cody V NickaBrazilBernardo Dominic QUALIFIED
Jefferson D MaletSpainElwin Sharvill NEGOTIATION
Chavez S RimFranceAmy Elsner QUALIFIED
Jennifer H RulapaughRussiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas F GauchoCanadaBernardo Dominic NEW
Stacey S OstroskyRussiaIoni Bowcher NEW
Nicolas P SergiIndiaStephen Shaw UNQUALIFIED
Alejandro M BriddickIndiaBernardo Dominic QUALIFIED
Leon Z FerenczJapanAsiya Javayant PROPOSAL
Sinclair F RimUnited KingdomIvan Magalhaes NEW
Smith T FollerItalyStephen Shaw PROPOSAL
Francesco S MacleadRussiaElwin Sharvill PROPOSAL
Munro C NestleSpainIoni Bowcher QUALIFIED
Cody Z PaprockiRussiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki U ShinkoIndia2024-05-26Feltz Printing Service NEW13Amy Elsner
1001Morrow I SergiJapan2024-06-19Chapman, Ross E Esq NEGOTIATION33Elwin Sharvill
1002Juan F ShinkoIndia2024-06-24Benton, John B Jr NEGOTIATION29Stephen Shaw
1003Faith E AlbaresBrazil2024-05-30Rousseaux, Michael Esq NEW47Bernardo Dominic
1004Ivar R RimAustralia2024-06-21Printing Dimensions NEGOTIATION75Xuxue Feng
1005Isabel R NestleArgentina2024-06-03Benton, John B Jr NEW48Ioni Bowcher
1006Tony R StockhamJapan2024-06-15Dorl, James J Esq UNQUALIFIED16Stephen Shaw
1007Jeanfrancois T BologniaCanada2024-06-05Dorl, James J Esq UNQUALIFIED5Ivan Magalhaes
1008Kadeem S FollerRussia2024-06-22Rousseaux, Michael Esq QUALIFIED52Xuxue Feng
1009Antonio W VocelkaGermany2024-06-14Printing Dimensions NEW42Xuxue Feng
1010Mayumi T ShinkoRussia2024-06-17Rousseaux, Michael Esq PROPOSAL32Anna Fali
1011James J PaprockiCanada2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED79Xuxue Feng
1012Wickens E PerinArgentina2024-06-09Chapman, Ross E Esq QUALIFIED16Xuxue Feng
1013Ashley X KuskoFrance2024-06-05Chemel, James L Cpa NEGOTIATION89Ivan Magalhaes
1014Kadeem Z RulapaughGermany2024-06-12King, Christopher A Esq NEW38Anna Fali
1015Deepesh I StensethSpain2024-06-02Chemel, James L Cpa NEW33Elwin Sharvill
1016Kaitlin X InouyeItaly2024-06-01Printing Dimensions QUALIFIED38Elwin Sharvill
1017Jefferson T FollerItaly2024-05-26Feltz Printing Service RENEWAL96Stephen Shaw
1018Johnson P FerenczIndia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED32Ivan Magalhaes
1019Rodrigues A KuskoItaly2024-06-02Chemel, James L Cpa QUALIFIED72Asiya Javayant
1020Greenwood D NickaUnited Kingdom2024-06-11Commercial Press PROPOSAL69Amy Elsner
1021Munro G OldroydCanada2024-06-22Chanay, Jeffrey A Esq RENEWAL29Elwin Sharvill
1022Isabel Z CampainSpain2024-06-08Feiner Bros NEW61Ioni Bowcher
1023Darci T IturbideAustralia2024-06-22Morlong Associates NEGOTIATION3Xuxue Feng
1024Julie V SlusarskiArgentina2024-05-31Feltz Printing Service QUALIFIED47Ioni Bowcher
1025Francesco O DoeAustralia2024-05-31Benton, John B Jr UNQUALIFIED92Stephen Shaw
1026Jones N KolmetzUnited Kingdom2024-05-26Feiner Bros QUALIFIED29Ivan Magalhaes
1027Julie I SaylorsItaly2024-06-06Rousseaux, Michael Esq NEGOTIATION38Bernardo Dominic
1028Silvio D DarakjyItaly2024-06-23Rousseaux, Michael Esq UNQUALIFIED79Asiya Javayant
1029Murillo B SchemmerCanada2024-05-27King, Christopher A Esq UNQUALIFIED95Elwin Sharvill
1030Claire Z PaprockiAustralia2024-06-15Dorl, James J Esq PROPOSAL48Anna Fali
1031Jennifer X BowleyAustralia2024-06-10Feiner Bros RENEWAL26Asiya Javayant
1032Ashley K DoeUnited Kingdom2024-06-13Chemel, James L Cpa NEW12Elwin Sharvill
1033Isabel N StockhamSpain2024-05-26Rangoni Of Florence PROPOSAL89Ioni Bowcher
1034Kaitlin X WieserFrance2024-06-19Chemel, James L Cpa PROPOSAL77Bernardo Dominic
1035Clifford T TollnerAustralia2024-06-21Buckley Miller Wright NEW63Asiya Javayant
1036Salvatore L PerinFrance2024-06-08Buckley Miller Wright QUALIFIED68Asiya Javayant
1037James R RutaGermany2024-06-04Commercial Press PROPOSAL28Anna Fali
1038Izzy C StensethBrazil2024-06-01Truhlar And Truhlar Attys PROPOSAL51Onyama Limba
1039Maisha M SchemmerSpain2024-06-05Commercial Press RENEWAL7Amy Elsner
1040Morrow S BriddickArgentina2024-05-27Rousseaux, Michael Esq RENEWAL94Asiya Javayant
1041Ashley T GarufiRussia2024-06-12Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1042Leon P BriddickGermany2024-06-14Truhlar And Truhlar Attys NEW91Bernardo Dominic
1043David I MaletIndia2024-06-22Buckley Miller Wright NEGOTIATION41Asiya Javayant
1044Mayumi R SergiItaly2024-06-24Rangoni Of Florence NEGOTIATION41Asiya Javayant
1045Clifford D PoquetteIndia2024-06-22Buckley Miller Wright PROPOSAL64Onyama Limba
1046Francesco I RoysterItaly2024-06-22Printing Dimensions UNQUALIFIED39Xuxue Feng
1047Chavez K DarakjyFrance2024-06-05Rangoni Of Florence QUALIFIED18Amy Elsner
1048Aditya A FollerAustralia2024-06-13Truhlar And Truhlar Attys NEGOTIATION89Amy Elsner
1049Sinclair V InouyeSpain2024-06-02King, Christopher A Esq RENEWAL60Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Tony Y MaletAustraliaBernardo Dominic UNQUALIFIED
Kaitlin P MaletCanadaAnna Fali RENEWAL
Mujtaba I MorascaBrazilElwin Sharvill QUALIFIED
David P RutaBrazilAsiya Javayant NEW
Munro K RoysterFranceIoni Bowcher NEGOTIATION
Clifford A WieserArgentinaAsiya Javayant PROPOSAL
Morrow S MorascaSpainAsiya Javayant NEW
Leja B BologniaSpainIoni Bowcher NEGOTIATION
Julie J ButtSpainXuxue Feng UNQUALIFIED
Silvio U InouyeSpainAnna Fali UNQUALIFIED
Faith A PaprockiAustraliaAmy Elsner QUALIFIED
Ashley J PaprockiSpainAsiya Javayant QUALIFIED
Maria P VocelkaIndiaIvan Magalhaes UNQUALIFIED
Stacey U GauchoIndiaBernardo Dominic NEGOTIATION
Silvio C OldroydIndiaAmy Elsner UNQUALIFIED
Aruna V ShinkoJapanElwin Sharvill QUALIFIED
Emily J CaudySpainIoni Bowcher NEW
Jones X AlbaresSpainAmy Elsner NEW
Jennifer E MacleadIndiaIvan Magalhaes NEW
Munro B InouyeRussiaElwin Sharvill PROPOSAL
Jefferson C OldroydCanadaAmy Elsner PROPOSAL
Nicolas H RutaGermanyIoni Bowcher UNQUALIFIED
Sinclair V SergiUnited KingdomStephen Shaw PROPOSAL
Deepesh O OldroydAustraliaStephen Shaw NEW
Aruna M FerenczAustraliaIvan Magalhaes PROPOSAL
Maisha G FollerRussiaBernardo Dominic UNQUALIFIED
Emily F BologniaIndiaBernardo Dominic UNQUALIFIED
Rodrigues A RutaIndiaAmy Elsner QUALIFIED
Stacey A SaylorsIndiaXuxue Feng PROPOSAL
Faith L PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Alejandro R GlickFranceElwin Sharvill NEGOTIATION
Tony R OstroskyIndiaAsiya Javayant QUALIFIED
Alejandro Z BriddickIndiaBernardo Dominic RENEWAL
Cody X AmigonFranceOnyama Limba UNQUALIFIED
Costa O WhobreyArgentinaStephen Shaw UNQUALIFIED
Izzy W KolmetzUnited KingdomElwin Sharvill NEW
Rodrigues A OldroydFranceAsiya Javayant UNQUALIFIED
Cody S KuskoIndiaAnna Fali QUALIFIED
Chavez D OldroydAustraliaXuxue Feng QUALIFIED
Octavia H OldroydSpainStephen Shaw UNQUALIFIED
Mayumi S WieserGermanyAnna Fali NEW
Morrow I BowleyBrazilBernardo Dominic QUALIFIED
Wickens I VenereGermanyStephen Shaw UNQUALIFIED
Maisha K FerenczIndiaAmy Elsner NEGOTIATION
Francesco V SchemmerUnited KingdomAnna Fali PROPOSAL
Costa O GarufiBrazilOnyama Limba PROPOSAL
Maria Q PoquetteSpainIoni Bowcher NEGOTIATION
Deepesh Q ShinkoArgentinaAmy Elsner NEW
Octavia R GlickJapanAmy Elsner NEW
Costa Y WieserFranceAnna Fali QUALIFIED
Frozen Columns
Name
Mayumi G Caldarera
Nicolas W Waycott
Salvatore Y Rulapaugh
Costa P Bolognia
Isabel I Stenseth
Isabel Y Ruta
Maria B Foller
James R Inouye
Jennifer N Gaucho
Cody J Rim
James W Stockham
Darci N Chui
Claire D Shinko
Arvin W Paprocki
Faith O Garufi
Munro I Wieser
Costa N Malet
Francesco N Caudy
Greenwood D Caldarera
Juan M Caldarera
Julie X Wieser
Alejandro S Bolognia
Munro W Gillian
Alejandro G Saylors
Aika S Stenseth
Rodrigues H Butt
Adams F Royster
Ivar F Foller
Emily D Wieser
Silvio H Amigon
Claire P Caudy
Silvio W Rulapaugh
Chavez H Perin
Darci D Stockham
James M Venere
Chavez B Caudy
Mujtaba S Marrier
Morrow E Kusko
Murillo L Bowley
Morrow S Butt
Johnson B Stockham
Wickens Z Chui
Kadeem T Royster
Kaitlin S Malet
Jeanfrancois I Kolmetz
Julie Q Flosi
Izzy N Shinko
Aditya H Malet
Misaki S Kusko
Faith H Venere
IdCountryDate
1000Argentina2024-06-03
1001Germany2024-06-14
1002Brazil2024-06-03
1003India2024-06-15
1004United Kingdom2024-05-27
1005Spain2024-06-10
1006Japan2024-06-09
1007India2024-06-18
1008India2024-06-15
1009Canada2024-05-29
1010Argentina2024-05-26
1011India2024-06-21
1012Russia2024-06-18
1013United Kingdom2024-06-03
1014India2024-06-12
1015Canada2024-06-23
1016Argentina2024-05-30
1017United Kingdom2024-05-30
1018France2024-06-14
1019Germany2024-06-06
1020India2024-06-16
1021Argentina2024-06-14
1022France2024-06-12
1023France2024-06-05
1024India2024-06-08
1025France2024-06-23
1026Spain2024-06-03
1027India2024-06-15
1028Germany2024-05-30
1029United Kingdom2024-06-04
1030Russia2024-05-31
1031France2024-05-30
1032Australia2024-06-05
1033France2024-06-12
1034Brazil2024-06-18
1035France2024-05-31
1036India2024-06-18
1037Canada2024-06-05
1038Australia2024-06-24
1039Spain2024-06-07
1040Canada2024-06-02
1041Japan2024-06-20
1042Canada2024-06-21
1043India2024-06-19
1044Germany2024-06-22
1045Japan2024-06-08
1046Argentina2024-05-27
1047France2024-06-09
1048France2024-06-03
1049Argentina2024-05-26

On-Demand Data

NameIdCountryDate
Mayumi L Shinko1000Argentina2024-06-01
Costa P Waycott1001France2024-06-07
Mujtaba K Maclead1002France2024-06-05
Maisha M Dilliard1003Russia2024-06-06
Maisha D Ostrosky1004India2024-06-21
Salvatore M Briddick1005France2024-06-02
Stacey W Nestle1006Italy2024-06-07
Claire O Sergi1007Spain2024-06-04
Ashley X Vocelka1008Spain2024-06-05
Jones G Venere1009United Kingdom2024-05-28
Juan J Dilliard1010Argentina2024-06-21
Antonio V Chui1011Argentina2024-06-21
Murillo V Garufi1012Russia2024-06-15
Mujtaba K Foller1013India2024-06-07
Ashley K Royster1014Russia2024-06-22
Adams F Bolognia1015Australia2024-06-24
Octavia R Paprocki1016India2024-06-13
Morrow Z Marrier1017Spain2024-06-06
Morrow B Oldroyd1018Russia2024-06-15
Ivar L Gillian1019Italy2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer T VocelkaItalyIoni Bowcher UNQUALIFIED
Emily S PaprockiRussiaBernardo Dominic QUALIFIED
Jennifer H GlickCanadaStephen Shaw RENEWAL
Maisha Q OldroydItalyAmy Elsner RENEWAL
Isabel N SlusarskiCanadaBernardo Dominic NEW
Morrow I RoysterFranceOnyama Limba NEW
Salvatore U StensethIndiaAnna Fali NEGOTIATION
Murillo T GarufiBrazilAsiya Javayant RENEWAL
Leja Q PaprockiBrazilBernardo Dominic RENEWAL
Ricardo J RimAustraliaStephen Shaw RENEWAL
Arvin W WieserFranceStephen Shaw NEGOTIATION
Aditya R RimAustraliaIoni Bowcher NEW
Wickens T GlickCanadaAnna Fali NEW
Tony V OldroydFranceElwin Sharvill RENEWAL
Ricardo F TollnerCanadaElwin Sharvill UNQUALIFIED
Costa K ButtGermanyAnna Fali UNQUALIFIED
Tony L OldroydSpainAnna Fali QUALIFIED
Izzy P CaudySpainAmy Elsner UNQUALIFIED
Isabel A TollnerGermanyStephen Shaw UNQUALIFIED
Octavia H StensethBrazilStephen Shaw PROPOSAL
Rodrigues M RoysterGermanyAmy Elsner RENEWAL
Adams T ShinkoCanadaAsiya Javayant NEW
Jeanfrancois B PaprockiItalyBernardo Dominic UNQUALIFIED
David Y BowleyCanadaBernardo Dominic NEW
Francesco S MarrierCanadaIoni Bowcher NEGOTIATION
Mujtaba S MaletRussiaAnna Fali NEGOTIATION
Aika M VocelkaSpainAmy Elsner QUALIFIED
Aditya R MaletAustraliaBernardo Dominic QUALIFIED
Izzy L PaprockiGermanyOnyama Limba NEW
Aruna N NestleRussiaAnna Fali UNQUALIFIED
Juan J ButtRussiaBernardo Dominic QUALIFIED
Faith Q StensethIndiaAsiya Javayant NEW
Morrow E MacleadItalyIvan Magalhaes NEW
Cody W IturbideArgentinaIvan Magalhaes NEW
Alejandro R CaudyGermanyBernardo Dominic QUALIFIED
Stacey E GillianItalyXuxue Feng NEGOTIATION
Maria V InouyeSpainAnna Fali NEW
Francesco X MacleadIndiaAnna Fali NEGOTIATION
Sinclair A BowleyIndiaStephen Shaw RENEWAL
Rodrigues G PoquetteArgentinaAnna Fali 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>