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
Deepesh T FlosiArgentinaOnyama Limba QUALIFIED
Ashley H GlickAustraliaElwin Sharvill PROPOSAL
Julie U StensethSpainStephen Shaw NEGOTIATION
Faith U AmigonCanadaBernardo Dominic NEGOTIATION
Isabel Y FlosiArgentinaAmy Elsner NEW
Cody O PaprockiFranceXuxue Feng QUALIFIED
Jefferson F MarrierFranceXuxue Feng RENEWAL
Wickens U BologniaBrazilOnyama Limba RENEWAL
Adams X GauchoArgentinaIvan Magalhaes NEGOTIATION
Ashley H NickaRussiaIvan Magalhaes QUALIFIED
Faith Y FigeroaBrazilIvan Magalhaes RENEWAL
James M OldroydGermanyOnyama Limba UNQUALIFIED
Aditya R InouyeGermanyStephen Shaw NEW
Antonio K IturbideCanadaBernardo Dominic QUALIFIED
Kaitlin T MacleadBrazilXuxue Feng QUALIFIED
Maisha G WaycottItalyStephen Shaw RENEWAL
Izzy W DoeUnited KingdomAsiya Javayant QUALIFIED
Deepesh L GlickBrazilOnyama Limba PROPOSAL
Tony E CampainIndiaIoni Bowcher NEGOTIATION
Octavia R CaudySpainIoni Bowcher PROPOSAL
Aruna H CaldareraJapanStephen Shaw QUALIFIED
Darci O NestleIndiaIvan Magalhaes NEGOTIATION
Morrow L DoeFranceXuxue Feng NEW
Ashley G FigeroaRussiaIoni Bowcher QUALIFIED
Johnson V CaudyCanadaXuxue Feng RENEWAL
Maisha I SaylorsArgentinaIoni Bowcher UNQUALIFIED
Octavia U GauchoAustraliaElwin Sharvill RENEWAL
Francesco Y WhobreyJapanXuxue Feng PROPOSAL
Francesco E RulapaughGermanyAmy Elsner RENEWAL
Leon S SchemmerAustraliaStephen Shaw PROPOSAL
Sinclair Y WaycottCanadaOnyama Limba NEW
Kaitlin T RutaItalyBernardo Dominic QUALIFIED
Rodrigues P GarufiJapanIvan Magalhaes PROPOSAL
Silvio A SaylorsBrazilIvan Magalhaes UNQUALIFIED
Cody G GillianAustraliaStephen Shaw NEGOTIATION
Julie C WieserCanadaIvan Magalhaes UNQUALIFIED
Alejandro G SaylorsUnited KingdomAmy Elsner NEGOTIATION
Jennifer G FerenczSpainStephen Shaw NEGOTIATION
Cody P PoquetteJapanAmy Elsner NEGOTIATION
Faith L AlbaresIndiaStephen Shaw PROPOSAL
Leon E WhobreyArgentinaIoni Bowcher UNQUALIFIED
Julie O CaldareraGermanyAmy Elsner QUALIFIED
Julie Y DarakjyBrazilIvan Magalhaes NEW
Aruna X WhobreyGermanyOnyama Limba UNQUALIFIED
Julie T StockhamArgentinaIoni Bowcher RENEWAL
Faith P ShinkoSpainAnna Fali NEGOTIATION
Smith R StockhamJapanStephen Shaw NEGOTIATION
Johnson Y NestleCanadaElwin Sharvill NEW
Emily L FerenczUnited KingdomElwin Sharvill PROPOSAL
Salvatore C WhobreyItalyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy D FerenczRussiaOnyama Limba UNQUALIFIED
David L BowleyGermanyIvan Magalhaes QUALIFIED
Jeanfrancois U ShinkoJapanOnyama Limba NEGOTIATION
Smith T NestleSpainAsiya Javayant NEGOTIATION
Murillo F FerenczSpainOnyama Limba NEW
Aruna U SchemmerGermanyAnna Fali PROPOSAL
Murillo P FerenczUnited KingdomAnna Fali QUALIFIED
Claire F BowleyUnited KingdomIoni Bowcher PROPOSAL
Chavez A AlbaresAustraliaStephen Shaw NEGOTIATION
Deepesh E MacleadCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki S RoysterGermany2024-06-20Chanay, Jeffrey A Esq NEGOTIATION52Amy Elsner
1001Rodrigues X PaprockiRussia2024-06-19Benton, John B Jr NEGOTIATION44Ivan Magalhaes
1002Aika O IturbideRussia2024-05-24Chapman, Ross E Esq PROPOSAL93Bernardo Dominic
1003Mujtaba R RutaBrazil2024-05-28Morlong Associates PROPOSAL79Elwin Sharvill
1004Juan O StockhamIndia2024-05-24Buckley Miller Wright NEW86Amy Elsner
1005Cody H StockhamJapan2024-06-17Feiner Bros QUALIFIED57Amy Elsner
1006Morrow P TollnerFrance2024-06-12Chemel, James L Cpa RENEWAL41Onyama Limba
1007Deepesh D FigeroaUnited Kingdom2024-05-28Rousseaux, Michael Esq RENEWAL81Stephen Shaw
1008Aika X SchemmerJapan2024-05-25Benton, John B Jr NEGOTIATION55Xuxue Feng
1009Jeanfrancois G OldroydFrance2024-06-03Truhlar And Truhlar Attys UNQUALIFIED83Asiya Javayant
1010Aditya H RoysterSpain2024-06-01Printing Dimensions NEW58Bernardo Dominic
1011Morrow I MaletGermany2024-05-30Dorl, James J Esq PROPOSAL43Onyama Limba
1012Mayumi D NickaJapan2024-06-11Feiner Bros UNQUALIFIED41Ioni Bowcher
1013Arvin J StensethRussia2024-05-31Buckley Miller Wright NEGOTIATION34Xuxue Feng
1014James S MorascaCanada2024-06-20Printing Dimensions NEW24Ioni Bowcher
1015Izzy O NestleArgentina2024-06-02Printing Dimensions UNQUALIFIED33Bernardo Dominic
1016Juan D BowleyItaly2024-05-24Morlong Associates QUALIFIED28Elwin Sharvill
1017Ashley C SchemmerFrance2024-06-20Feltz Printing Service NEW50Ivan Magalhaes
1018Leja Y FollerJapan2024-06-01Commercial Press PROPOSAL48Anna Fali
1019James K GlickFrance2024-06-03Rangoni Of Florence NEGOTIATION78Bernardo Dominic
1020Salvatore F FerenczJapan2024-06-12Feltz Printing Service UNQUALIFIED70Elwin Sharvill
1021Mujtaba L GlickIndia2024-06-12Truhlar And Truhlar Attys NEGOTIATION32Amy Elsner
1022Mujtaba C NickaArgentina2024-06-13Morlong Associates QUALIFIED6Xuxue Feng
1023Kadeem J MorascaAustralia2024-05-29Buckley Miller Wright NEGOTIATION13Xuxue Feng
1024Sinclair S FerenczAustralia2024-06-15Rousseaux, Michael Esq RENEWAL86Asiya Javayant
1025James F IturbideJapan2024-05-29Truhlar And Truhlar Attys NEGOTIATION23Onyama Limba
1026David B BologniaBrazil2024-05-25Feiner Bros UNQUALIFIED59Elwin Sharvill
1027Mayumi R MaletSpain2024-06-04Morlong Associates QUALIFIED88Ioni Bowcher
1028Johnson N FollerJapan2024-06-07Feltz Printing Service PROPOSAL10Anna Fali
1029Adams D RimIndia2024-06-11Dorl, James J Esq PROPOSAL5Amy Elsner
1030Murillo Z PaprockiRussia2024-06-04Morlong Associates NEGOTIATION40Anna Fali
1031Aditya K RoysterGermany2024-05-23Truhlar And Truhlar Attys UNQUALIFIED93Ioni Bowcher
1032Isabel O VenereBrazil2024-05-25Printing Dimensions NEW56Elwin Sharvill
1033Juan C PoquetteBrazil2024-05-29Truhlar And Truhlar Attys QUALIFIED34Ioni Bowcher
1034Jefferson Z WieserItaly2024-05-27Chemel, James L Cpa QUALIFIED11Xuxue Feng
1035Mujtaba J SaylorsCanada2024-06-04Feltz Printing Service QUALIFIED52Asiya Javayant
1036Alejandro A PoquetteFrance2024-05-25Feltz Printing Service PROPOSAL37Bernardo Dominic
1037Faith H RimBrazil2024-05-25King, Christopher A Esq QUALIFIED71Ioni Bowcher
1038Nicolas S PaprockiUnited Kingdom2024-06-10Morlong Associates QUALIFIED86Bernardo Dominic
1039Morrow R KolmetzUnited Kingdom2024-06-18Rangoni Of Florence RENEWAL71Bernardo Dominic
1040Ivar J StockhamGermany2024-05-28Rangoni Of Florence QUALIFIED12Onyama Limba
1041Aditya C RoysterCanada2024-05-31Buckley Miller Wright NEW66Xuxue Feng
1042Antonio K CaldareraBrazil2024-05-23Dorl, James J Esq RENEWAL30Elwin Sharvill
1043Jennifer P ChuiRussia2024-06-17Dorl, James J Esq UNQUALIFIED24Anna Fali
1044Aika F KolmetzRussia2024-06-12Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1045Arvin U WhobreyBrazil2024-05-22Feltz Printing Service NEW47Xuxue Feng
1046Morrow T FerenczSpain2024-05-27Morlong Associates NEW74Elwin Sharvill
1047Jones C RulapaughGermany2024-06-13King, Christopher A Esq PROPOSAL85Xuxue Feng
1048Arvin A PoquetteBrazil2024-06-04Feltz Printing Service PROPOSAL61Onyama Limba
1049Misaki Z StensethUnited Kingdom2024-06-14Feltz Printing Service RENEWAL3Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David H MarrierAustraliaAnna Fali UNQUALIFIED
Arvin R FlosiIndiaAsiya Javayant RENEWAL
Nicolas O PaprockiSpainAmy Elsner RENEWAL
Francesco D GauchoIndiaXuxue Feng RENEWAL
Misaki D StensethArgentinaIvan Magalhaes PROPOSAL
Kaitlin Y FlosiUnited KingdomAsiya Javayant NEGOTIATION
Greenwood X MorascaRussiaElwin Sharvill RENEWAL
Emily X RimIndiaBernardo Dominic QUALIFIED
Arvin J DarakjyCanadaAnna Fali QUALIFIED
Rodrigues V FerenczSpainIoni Bowcher PROPOSAL
Wickens P DoeGermanyIoni Bowcher NEGOTIATION
Leja N MaletCanadaIoni Bowcher NEW
Aika G MorascaJapanAnna Fali NEGOTIATION
Tony M PaprockiArgentinaIoni Bowcher UNQUALIFIED
David G RulapaughSpainIoni Bowcher RENEWAL
Clifford L KuskoAustraliaOnyama Limba PROPOSAL
Maria V GillianUnited KingdomStephen Shaw NEGOTIATION
Murillo E FigeroaBrazilIvan Magalhaes NEGOTIATION
Misaki S ChuiRussiaElwin Sharvill PROPOSAL
Mujtaba P PaprockiItalyBernardo Dominic UNQUALIFIED
Kaitlin L PoquetteGermanyAmy Elsner NEW
Sinclair I PoquetteItalyAsiya Javayant NEW
Clifford M PaprockiSpainElwin Sharvill UNQUALIFIED
Ricardo U GillianItalyAmy Elsner UNQUALIFIED
Jeanfrancois T BowleyBrazilBernardo Dominic UNQUALIFIED
Antonio I MaletArgentinaBernardo Dominic NEGOTIATION
James Z PoquetteGermanyIvan Magalhaes UNQUALIFIED
Kadeem U CampainUnited KingdomAmy Elsner UNQUALIFIED
Greenwood H OldroydCanadaStephen Shaw QUALIFIED
Faith R GauchoCanadaStephen Shaw QUALIFIED
Greenwood W GillianFranceStephen Shaw RENEWAL
Ivar H FerenczItalyBernardo Dominic NEW
Silvio A DoeJapanElwin Sharvill RENEWAL
Darci R MorascaIndiaIvan Magalhaes NEGOTIATION
Misaki A GauchoFranceBernardo Dominic RENEWAL
Maisha I KolmetzJapanElwin Sharvill PROPOSAL
Francesco Y CaldareraItalyStephen Shaw NEW
Mayumi L SergiArgentinaXuxue Feng NEW
Leon Q BowleyIndiaAsiya Javayant PROPOSAL
Salvatore E WaycottSpainXuxue Feng RENEWAL
Jefferson V PoquetteBrazilAsiya Javayant UNQUALIFIED
Alejandro D KuskoFranceOnyama Limba RENEWAL
Greenwood T SaylorsRussiaStephen Shaw NEGOTIATION
Ashley P ButtCanadaXuxue Feng PROPOSAL
Isabel O CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Maria H StensethFranceAsiya Javayant PROPOSAL
Francesco O DoeBrazilXuxue Feng RENEWAL
Aika C InouyeItalyBernardo Dominic RENEWAL
James I MaletJapanIoni Bowcher PROPOSAL
Jennifer J CampainUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Chavez O Marrier
Misaki K Briddick
Chavez C Doe
Johnson F Caudy
Maria V Garufi
Darci C Doe
Murillo Q Malet
Francesco Y Chui
Greenwood X Malet
Mayumi L Garufi
Wickens L Oldroyd
Maisha N Nestle
Francesco L Caldarera
Jennifer P Morasca
Octavia E Venere
Aruna E Vocelka
James F Kolmetz
Mayumi I Caldarera
Munro B Flosi
Salvatore Z Caldarera
Johnson U Malet
Munro F Chui
Julie V Foller
Octavia Y Malet
Misaki N Figeroa
Aruna J Rulapaugh
Salvatore B Poquette
Jefferson B Shinko
Claire O Maclead
Antonio F Albares
Deepesh H Royster
Julie L Figeroa
Kaitlin Y Malet
Jeanfrancois D Butt
Emily O Foller
Darci P Caldarera
Greenwood N Darakjy
Octavia X Stenseth
Cody A Briddick
Stacey N Amigon
Jeanfrancois D Caudy
David X Stenseth
Sinclair I Ferencz
Cody N Iturbide
Faith D Kusko
Kaitlin M Gaucho
Izzy X Chui
Greenwood Z Venere
Jennifer V Vocelka
Sinclair U Flosi
IdCountryDate
1000United Kingdom2024-06-01
1001Spain2024-06-02
1002Brazil2024-06-05
1003Japan2024-06-09
1004India2024-06-05
1005Brazil2024-05-26
1006United Kingdom2024-05-31
1007India2024-06-13
1008Japan2024-06-19
1009Italy2024-05-26
1010Brazil2024-05-23
1011Italy2024-06-07
1012Brazil2024-05-28
1013Brazil2024-05-30
1014Brazil2024-06-05
1015Germany2024-06-06
1016Italy2024-05-31
1017Argentina2024-06-07
1018Russia2024-05-25
1019Spain2024-06-07
1020United Kingdom2024-05-22
1021Japan2024-05-29
1022Argentina2024-06-16
1023Argentina2024-06-20
1024Italy2024-05-28
1025United Kingdom2024-06-12
1026Brazil2024-05-26
1027United Kingdom2024-06-03
1028Australia2024-06-09
1029Australia2024-05-24
1030United Kingdom2024-06-03
1031United Kingdom2024-06-11
1032Russia2024-05-25
1033Australia2024-05-25
1034Spain2024-06-15
1035Germany2024-05-24
1036Canada2024-05-31
1037Spain2024-05-24
1038India2024-06-13
1039India2024-06-12
1040Germany2024-05-27
1041India2024-05-26
1042Japan2024-06-04
1043Japan2024-06-09
1044France2024-06-20
1045India2024-05-26
1046India2024-05-25
1047Russia2024-05-30
1048India2024-05-27
1049Japan2024-06-20

On-Demand Data

NameIdCountryDate
Aruna V Bolognia1000Russia2024-06-05
Clifford A Garufi1001France2024-05-26
Aika M Perin1002India2024-05-22
Murillo A Malet1003India2024-05-26
Mayumi A Shinko1004Germany2024-06-11
James A Doe1005France2024-06-07
Wickens Y Ruta1006Japan2024-05-24
Salvatore F Amigon1007France2024-06-12
Isabel Q Morasca1008Australia2024-06-11
Nicolas A Ferencz1009Australia2024-06-11
Emily V Venere1010Germany2024-06-20
Clifford X Nicka1011Russia2024-06-20
Faith W Rulapaugh1012Russia2024-06-14
Francesco I Inouye1013Spain2024-06-11
Octavia Q Malet1014Japan2024-05-24
Deepesh K Kusko1015Argentina2024-06-17
Izzy S Garufi1016India2024-06-10
Ashley W Campain1017Italy2024-06-02
Misaki V Campain1018Argentina2024-05-27
Ashley H Sergi1019Brazil2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore U OstroskyGermanyOnyama Limba NEW
Jeanfrancois X StockhamItalyIoni Bowcher QUALIFIED
Faith N RimJapanIoni Bowcher NEGOTIATION
Jeanfrancois R DilliardFranceIoni Bowcher QUALIFIED
Faith N OldroydJapanAmy Elsner NEGOTIATION
Greenwood U FerenczSpainAnna Fali PROPOSAL
Cody M NickaSpainOnyama Limba NEGOTIATION
Alejandro M FollerJapanIvan Magalhaes NEGOTIATION
Ashley Y StockhamArgentinaElwin Sharvill NEW
Faith P ButtGermanyAsiya Javayant UNQUALIFIED
Chavez X CaldareraBrazilStephen Shaw PROPOSAL
Faith L WieserAustraliaStephen Shaw NEGOTIATION
Faith T SchemmerUnited KingdomAsiya Javayant QUALIFIED
Wickens G WaycottSpainIoni Bowcher PROPOSAL
Faith O DilliardItalyOnyama Limba PROPOSAL
Costa J TollnerAustraliaIoni Bowcher RENEWAL
Izzy H MaletSpainXuxue Feng NEGOTIATION
Rodrigues D BriddickUnited KingdomElwin Sharvill NEW
James I KolmetzBrazilAnna Fali UNQUALIFIED
Emily O KuskoSpainAnna Fali RENEWAL
Silvio D CaudyUnited KingdomXuxue Feng UNQUALIFIED
Murillo H PerinBrazilBernardo Dominic QUALIFIED
Isabel M MacleadJapanAmy Elsner NEGOTIATION
Mayumi Y GillianItalyStephen Shaw QUALIFIED
Greenwood I RulapaughCanadaIoni Bowcher RENEWAL
Aditya N PoquetteGermanyElwin Sharvill PROPOSAL
Johnson B ButtIndiaXuxue Feng NEW
Johnson P VenereUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois F FlosiFranceStephen Shaw UNQUALIFIED
Alejandro N MarrierUnited KingdomAsiya Javayant NEW
Clifford N BologniaAustraliaAnna Fali PROPOSAL
Greenwood H DarakjyRussiaXuxue Feng QUALIFIED
Cody U RulapaughFranceXuxue Feng RENEWAL
Clifford O MorascaFranceStephen Shaw NEGOTIATION
James G DarakjyIndiaOnyama Limba QUALIFIED
Sinclair U ShinkoJapanStephen Shaw QUALIFIED
Johnson C AmigonArgentinaAnna Fali NEW
Misaki B ShinkoJapanIoni Bowcher UNQUALIFIED
Misaki N CampainSpainIvan Magalhaes RENEWAL
Rodrigues U PerinAustraliaAmy Elsner 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>