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
Murillo P IturbideCanadaIoni Bowcher PROPOSAL
Sinclair Q ButtUnited KingdomOnyama Limba QUALIFIED
Maria Y CaudyBrazilAsiya Javayant NEW
Nicolas J MacleadCanadaAmy Elsner RENEWAL
Antonio D PoquetteSpainAnna Fali UNQUALIFIED
Kadeem G BowleySpainAmy Elsner QUALIFIED
Nicolas T CampainUnited KingdomOnyama Limba QUALIFIED
Isabel S GauchoSpainElwin Sharvill RENEWAL
Maisha X DoeBrazilStephen Shaw QUALIFIED
Morrow P GauchoIndiaOnyama Limba NEW
Jeanfrancois N TollnerBrazilElwin Sharvill NEW
Maria Y FollerBrazilStephen Shaw RENEWAL
Jeanfrancois T FigeroaIndiaAsiya Javayant RENEWAL
Leon S PoquetteJapanOnyama Limba NEGOTIATION
Wickens K GlickIndiaIvan Magalhaes UNQUALIFIED
Darci Z CaldareraRussiaAnna Fali QUALIFIED
Aruna W DilliardRussiaIvan Magalhaes PROPOSAL
Jeanfrancois X TollnerSpainAnna Fali QUALIFIED
Aruna G GlickCanadaIvan Magalhaes UNQUALIFIED
Darci H InouyeCanadaOnyama Limba UNQUALIFIED
Francesco I SchemmerJapanAsiya Javayant PROPOSAL
Murillo S SlusarskiIndiaStephen Shaw PROPOSAL
Kadeem Y CaldareraJapanAsiya Javayant NEW
Aditya V FlosiFranceAsiya Javayant UNQUALIFIED
Darci Q RoysterRussiaAmy Elsner NEW
Ricardo Y AmigonRussiaIvan Magalhaes NEGOTIATION
Murillo J SchemmerSpainIvan Magalhaes NEW
Jefferson X ButtFranceOnyama Limba NEGOTIATION
Tony B MacleadJapanIoni Bowcher NEGOTIATION
Octavia O GillianJapanIoni Bowcher QUALIFIED
Munro N BologniaIndiaXuxue Feng RENEWAL
Faith Y FlosiGermanyBernardo Dominic NEGOTIATION
Cody Z KuskoItalyXuxue Feng QUALIFIED
Leon U FlosiJapanIvan Magalhaes UNQUALIFIED
Silvio S MaletJapanStephen Shaw QUALIFIED
David N AmigonUnited KingdomAsiya Javayant NEW
Maisha S GarufiUnited KingdomOnyama Limba RENEWAL
Johnson W GauchoCanadaElwin Sharvill NEGOTIATION
Francesco K MarrierCanadaElwin Sharvill PROPOSAL
Rodrigues G MarrierCanadaElwin Sharvill PROPOSAL
Costa D MaletItalyAmy Elsner PROPOSAL
Munro C BologniaAustraliaIoni Bowcher UNQUALIFIED
Claire Q GauchoRussiaAnna Fali NEGOTIATION
Kadeem G BowleyGermanyAnna Fali NEW
Claire K FlosiAustraliaIoni Bowcher QUALIFIED
Claire A ButtRussiaAmy Elsner NEGOTIATION
Isabel S PerinJapanAmy Elsner QUALIFIED
David N MorascaUnited KingdomStephen Shaw NEGOTIATION
Jefferson K ChuiArgentinaOnyama Limba UNQUALIFIED
Maisha K VenereAustraliaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford E VocelkaCanadaAmy Elsner RENEWAL
Maisha W MorascaFranceAsiya Javayant NEW
Tony Z MaletAustraliaStephen Shaw NEW
Antonio V SlusarskiRussiaXuxue Feng NEGOTIATION
Ivar Q DoeArgentinaElwin Sharvill PROPOSAL
Munro G IturbideBrazilBernardo Dominic NEGOTIATION
Tony C MorascaUnited KingdomStephen Shaw NEGOTIATION
Arvin Y GillianRussiaStephen Shaw NEW
Francesco K MarrierSpainStephen Shaw NEW
Leon V MaletGermanyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C NickaGermany2024-05-08Feiner Bros UNQUALIFIED49Stephen Shaw
1001Faith M PaprockiAustralia2024-05-15Chanay, Jeffrey A Esq NEGOTIATION62Bernardo Dominic
1002Munro U NickaUnited Kingdom2024-06-04Morlong Associates NEGOTIATION24Ioni Bowcher
1003Clifford I BriddickIndia2024-05-08Rangoni Of Florence PROPOSAL53Ivan Magalhaes
1004Antonio I VocelkaUnited Kingdom2024-05-06Commercial Press UNQUALIFIED30Ivan Magalhaes
1005Wickens K MaletGermany2024-05-28Commercial Press PROPOSAL41Ivan Magalhaes
1006Costa J KolmetzFrance2024-05-17Truhlar And Truhlar Attys NEGOTIATION51Stephen Shaw
1007Munro J DoeFrance2024-05-23Commercial Press PROPOSAL33Bernardo Dominic
1008Cody P CaldareraFrance2024-05-06Chapman, Ross E Esq UNQUALIFIED48Anna Fali
1009Izzy Z ShinkoBrazil2024-05-10Commercial Press QUALIFIED77Anna Fali
1010James N NickaItaly2024-05-24Buckley Miller Wright RENEWAL48Ioni Bowcher
1011Johnson G StensethUnited Kingdom2024-05-21Feltz Printing Service PROPOSAL88Stephen Shaw
1012Claire O BriddickCanada2024-05-09Truhlar And Truhlar Attys PROPOSAL44Anna Fali
1013Mujtaba Y VenereCanada2024-05-25Printing Dimensions QUALIFIED12Stephen Shaw
1014Aika L FigeroaItaly2024-05-22Chemel, James L Cpa UNQUALIFIED56Amy Elsner
1015Smith G BologniaIndia2024-05-17Rangoni Of Florence QUALIFIED16Xuxue Feng
1016Juan W BriddickSpain2024-06-02Chanay, Jeffrey A Esq QUALIFIED23Onyama Limba
1017Misaki X WieserArgentina2024-05-07Buckley Miller Wright NEW90Onyama Limba
1018Jones N RoysterBrazil2024-06-03Chapman, Ross E Esq RENEWAL82Stephen Shaw
1019Aruna P FollerArgentina2024-05-08Rangoni Of Florence RENEWAL73Elwin Sharvill
1020Izzy L StensethRussia2024-05-10Benton, John B Jr UNQUALIFIED42Onyama Limba
1021Tony L RulapaughAustralia2024-06-02Chemel, James L Cpa NEGOTIATION76Elwin Sharvill
1022Claire L PoquetteItaly2024-05-06Feltz Printing Service NEW19Stephen Shaw
1023Smith Z MarrierArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED33Xuxue Feng
1024Antonio W RulapaughCanada2024-05-31Morlong Associates RENEWAL46Stephen Shaw
1025Mayumi V TollnerBrazil2024-05-29Chapman, Ross E Esq RENEWAL50Onyama Limba
1026Jefferson L CampainCanada2024-05-19Chanay, Jeffrey A Esq NEGOTIATION73Bernardo Dominic
1027Claire R BriddickFrance2024-05-28Benton, John B Jr RENEWAL0Xuxue Feng
1028Antonio L VenereBrazil2024-06-01Commercial Press UNQUALIFIED65Amy Elsner
1029Antonio T ShinkoArgentina2024-05-28Benton, John B Jr PROPOSAL31Bernardo Dominic
1030Kaitlin O SergiJapan2024-05-07Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
1031Emily G SergiRussia2024-05-11Morlong Associates RENEWAL58Asiya Javayant
1032Francesco O KuskoIndia2024-05-06Dorl, James J Esq UNQUALIFIED61Stephen Shaw
1033Ivar P KuskoBrazil2024-06-04Chapman, Ross E Esq UNQUALIFIED82Anna Fali
1034Smith H NestleSpain2024-05-06Benton, John B Jr UNQUALIFIED12Onyama Limba
1035Clifford Y DilliardIndia2024-05-20Feiner Bros RENEWAL50Amy Elsner
1036Antonio T FlosiIndia2024-05-10Printing Dimensions PROPOSAL63Bernardo Dominic
1037Johnson I MaletCanada2024-05-29Feiner Bros QUALIFIED33Amy Elsner
1038Leja J VocelkaRussia2024-05-12Rangoni Of Florence UNQUALIFIED86Ioni Bowcher
1039Clifford R CaudyRussia2024-06-03Feiner Bros QUALIFIED81Asiya Javayant
1040Juan Q TollnerItaly2024-05-21Commercial Press UNQUALIFIED66Onyama Limba
1041Rodrigues A WaycottIndia2024-05-20Commercial Press PROPOSAL36Ivan Magalhaes
1042Rodrigues X NestleIndia2024-05-18Chanay, Jeffrey A Esq NEW40Stephen Shaw
1043Ashley N StockhamJapan2024-05-29Feiner Bros NEW6Amy Elsner
1044Arvin F KuskoCanada2024-05-10Chemel, James L Cpa QUALIFIED15Onyama Limba
1045Alejandro O OstroskyAustralia2024-05-16Chanay, Jeffrey A Esq RENEWAL53Ioni Bowcher
1046Izzy E FollerCanada2024-05-11Rousseaux, Michael Esq UNQUALIFIED79Elwin Sharvill
1047Kaitlin B RutaAustralia2024-05-07Feiner Bros UNQUALIFIED0Asiya Javayant
1048Costa Y BologniaSpain2024-06-04Commercial Press NEGOTIATION41Onyama Limba
1049Claire W PoquetteUnited Kingdom2024-06-03Chemel, James L Cpa RENEWAL50Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Smith R CaldareraRussiaBernardo Dominic NEGOTIATION
Cody U IturbideItalyXuxue Feng PROPOSAL
Tony H SaylorsUnited KingdomElwin Sharvill RENEWAL
Nicolas O OldroydArgentinaXuxue Feng RENEWAL
Mujtaba Y AmigonBrazilXuxue Feng QUALIFIED
Munro E WhobreyJapanBernardo Dominic NEW
Stacey X GlickJapanIoni Bowcher QUALIFIED
Isabel Q WieserRussiaElwin Sharvill NEW
Antonio H SergiUnited KingdomAsiya Javayant NEGOTIATION
Jefferson H WhobreyArgentinaIoni Bowcher NEGOTIATION
Silvio Z GarufiFranceAmy Elsner UNQUALIFIED
Emily G FigeroaUnited KingdomOnyama Limba NEW
Ashley N ShinkoSpainOnyama Limba PROPOSAL
Leon I WieserSpainBernardo Dominic PROPOSAL
Salvatore P MorascaBrazilIoni Bowcher PROPOSAL
Adams P BowleyRussiaIoni Bowcher UNQUALIFIED
Silvio Q NestleIndiaAnna Fali NEW
Isabel K PerinIndiaAmy Elsner QUALIFIED
Arvin O TollnerJapanOnyama Limba RENEWAL
David A FollerUnited KingdomAsiya Javayant NEW
Adams F GarufiUnited KingdomBernardo Dominic QUALIFIED
Emily E MorascaGermanyAnna Fali PROPOSAL
Arvin C MaletGermanyElwin Sharvill RENEWAL
Greenwood V AlbaresFranceAmy Elsner NEW
Greenwood S KuskoRussiaAsiya Javayant RENEWAL
Jones G FigeroaUnited KingdomAsiya Javayant QUALIFIED
Juan G RutaGermanyAmy Elsner PROPOSAL
Clifford Z ChuiRussiaStephen Shaw NEW
Cody S MacleadIndiaXuxue Feng QUALIFIED
Jennifer K StockhamSpainOnyama Limba PROPOSAL
Rodrigues R DoeFranceIvan Magalhaes PROPOSAL
Darci P GauchoBrazilAsiya Javayant NEW
Juan O ButtItalyElwin Sharvill RENEWAL
Izzy J ChuiAustraliaBernardo Dominic NEW
Maria T AmigonIndiaXuxue Feng UNQUALIFIED
Darci Y InouyeGermanyAnna Fali UNQUALIFIED
Chavez V GlickBrazilBernardo Dominic QUALIFIED
Morrow W PoquetteFranceIoni Bowcher UNQUALIFIED
James U StockhamCanadaIoni Bowcher PROPOSAL
Jones X DilliardUnited KingdomAsiya Javayant PROPOSAL
Rodrigues X FollerAustraliaIvan Magalhaes QUALIFIED
Salvatore O OldroydSpainIvan Magalhaes UNQUALIFIED
Jennifer M WhobreyBrazilXuxue Feng QUALIFIED
Jennifer J ChuiUnited KingdomOnyama Limba RENEWAL
Ashley F NestleSpainAsiya Javayant RENEWAL
Maisha R ChuiBrazilIvan Magalhaes NEGOTIATION
Rodrigues G InouyeIndiaOnyama Limba QUALIFIED
Smith M RulapaughRussiaAsiya Javayant RENEWAL
Munro K OldroydSpainIvan Magalhaes UNQUALIFIED
Rodrigues X InouyeBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Costa U Flosi
Misaki S Ferencz
Darci B Whobrey
Smith C Saylors
Juan J Maclead
Nicolas L Whobrey
Ashley L Kolmetz
Misaki D Ferencz
Ashley X Butt
Francesco W Amigon
Salvatore T Waycott
Adams I Caudy
Jennifer H Saylors
Emily S Waycott
Ivar J Foller
Munro T Briddick
Nicolas I Gillian
Octavia P Nestle
Johnson A Slusarski
Chavez W Garufi
Antonio U Waycott
Rodrigues A Tollner
Morrow Q Garufi
Smith A Paprocki
Izzy U Schemmer
Leon N Dilliard
Wickens E Butt
Munro V Oldroyd
Jones J Butt
Jennifer M Gaucho
Ashley Y Caudy
Ricardo V Doe
Silvio E Venere
Mayumi R Vocelka
Adams D Caudy
Emily P Caldarera
Mayumi C Foller
Wickens M Tollner
Aika O Gillian
Kadeem Q Bowley
Kaitlin D Foller
Antonio Y Bowley
James L Schemmer
Rodrigues Y Briddick
Salvatore S Stenseth
Morrow P Rulapaugh
Aruna W Kolmetz
Emily V Gillian
Kaitlin K Doe
Faith M Gillian
IdCountryDate
1000Argentina2024-05-24
1001Spain2024-05-23
1002Argentina2024-05-25
1003France2024-06-01
1004Germany2024-05-06
1005Japan2024-05-19
1006India2024-05-25
1007Russia2024-06-01
1008Canada2024-05-19
1009Australia2024-05-07
1010Canada2024-05-25
1011India2024-05-19
1012Argentina2024-05-10
1013Brazil2024-05-14
1014Canada2024-05-20
1015Brazil2024-05-31
1016Australia2024-05-24
1017Italy2024-05-18
1018France2024-05-21
1019Spain2024-05-19
1020Australia2024-05-09
1021Brazil2024-05-15
1022Brazil2024-05-25
1023France2024-05-16
1024Italy2024-05-21
1025Russia2024-05-22
1026Italy2024-05-11
1027Russia2024-05-26
1028Spain2024-05-15
1029Australia2024-06-04
1030India2024-05-23
1031Italy2024-05-31
1032Japan2024-05-29
1033United Kingdom2024-05-16
1034Brazil2024-05-19
1035United Kingdom2024-05-30
1036Germany2024-05-12
1037France2024-05-25
1038Russia2024-05-30
1039France2024-05-25
1040France2024-05-13
1041France2024-05-15
1042Japan2024-05-25
1043Argentina2024-05-19
1044India2024-05-10
1045United Kingdom2024-05-15
1046Argentina2024-05-25
1047Italy2024-05-20
1048Japan2024-05-29
1049Brazil2024-05-25

On-Demand Data

NameIdCountryDate
David Y Morasca1000United Kingdom2024-05-24
Leja F Caldarera1001India2024-05-15
Leon X Butt1002United Kingdom2024-05-21
Aruna U Wieser1003Argentina2024-05-08
Jefferson A Rim1004Canada2024-05-16
Aruna I Ruta1005Russia2024-05-08
Salvatore K Nestle1006United Kingdom2024-05-30
Leja O Kolmetz1007Germany2024-05-19
Deepesh L Stenseth1008United Kingdom2024-05-25
Salvatore H Morasca1009Russia2024-05-19
Jeanfrancois O Doe1010Japan2024-05-14
David Z Dilliard1011Canada2024-05-16
Ashley K Saylors1012Australia2024-06-03
Silvio K Schemmer1013India2024-05-10
Leon Z Rulapaugh1014Russia2024-05-24
Stacey X Caldarera1015Australia2024-05-27
Ricardo R Paprocki1016Italy2024-05-31
Munro B Nestle1017Australia2024-05-31
Claire N Campain1018United Kingdom2024-05-26
Antonio H Garufi1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan M WieserGermanyIoni Bowcher QUALIFIED
Claire W RimUnited KingdomStephen Shaw PROPOSAL
Alejandro T MacleadIndiaOnyama Limba QUALIFIED
Adams Z FollerItalyStephen Shaw NEW
Faith N PoquetteGermanyIoni Bowcher PROPOSAL
Costa L PoquetteJapanAsiya Javayant NEW
Smith N GarufiSpainAmy Elsner NEW
Ashley V KolmetzRussiaIoni Bowcher NEW
Ivar S MaletArgentinaStephen Shaw QUALIFIED
Aditya K DilliardGermanyIoni Bowcher UNQUALIFIED
Leon K AmigonFranceAsiya Javayant QUALIFIED
Salvatore N CampainAustraliaIvan Magalhaes UNQUALIFIED
Stacey G OstroskyRussiaStephen Shaw PROPOSAL
Ivar W BriddickBrazilXuxue Feng QUALIFIED
Aika D DoeGermanyStephen Shaw PROPOSAL
Julie I OstroskyIndiaIvan Magalhaes PROPOSAL
Rodrigues Y FerenczBrazilStephen Shaw PROPOSAL
Ivar T AmigonRussiaBernardo Dominic QUALIFIED
Costa X FollerArgentinaAnna Fali RENEWAL
Aditya A MacleadAustraliaStephen Shaw RENEWAL
Alejandro I AmigonRussiaAnna Fali RENEWAL
Isabel V VocelkaJapanXuxue Feng UNQUALIFIED
Antonio B KolmetzItalyIvan Magalhaes RENEWAL
Silvio R IturbideCanadaAnna Fali PROPOSAL
Ricardo S MaletSpainAsiya Javayant PROPOSAL
Faith K PaprockiGermanyElwin Sharvill NEW
Faith H BologniaRussiaAmy Elsner PROPOSAL
Juan C MaletCanadaBernardo Dominic RENEWAL
Emily A DoeItalyIoni Bowcher NEW
Francesco H ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Antonio W IturbideArgentinaIvan Magalhaes RENEWAL
Antonio H KuskoArgentinaElwin Sharvill PROPOSAL
Ivar L StensethFranceBernardo Dominic UNQUALIFIED
Ivar K DarakjyArgentinaElwin Sharvill PROPOSAL
Arvin I OstroskyItalyAnna Fali RENEWAL
Octavia S VenereItalyBernardo Dominic PROPOSAL
Juan X IturbideAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois L CampainCanadaAnna Fali NEW
Ashley G OstroskyRussiaElwin Sharvill RENEWAL
David L FollerIndiaElwin Sharvill 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>