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
Arvin F VenereJapanOnyama Limba RENEWAL
Mujtaba R CampainBrazilIoni Bowcher RENEWAL
Rodrigues G VenereItalyAnna Fali RENEWAL
Aruna G GlickBrazilAsiya Javayant NEW
Juan R SaylorsCanadaAsiya Javayant PROPOSAL
Maisha A NickaSpainXuxue Feng NEGOTIATION
Jeanfrancois A FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Mayumi E TollnerJapanAsiya Javayant RENEWAL
Mayumi F CaudyCanadaXuxue Feng NEW
Juan X PerinBrazilElwin Sharvill PROPOSAL
Silvio K GillianCanadaElwin Sharvill UNQUALIFIED
Aruna X GillianArgentinaBernardo Dominic NEGOTIATION
Claire T CaldareraSpainElwin Sharvill NEGOTIATION
Claire J DarakjyBrazilXuxue Feng UNQUALIFIED
Leja P MorascaSpainStephen Shaw PROPOSAL
Silvio A SergiAustraliaElwin Sharvill PROPOSAL
Smith T IturbideItalyXuxue Feng NEGOTIATION
Emily O ShinkoGermanyAnna Fali PROPOSAL
Silvio Q CampainArgentinaIoni Bowcher RENEWAL
Ivar C CaldareraSpainXuxue Feng QUALIFIED
Clifford D IturbideIndiaAnna Fali RENEWAL
Costa J WieserCanadaAsiya Javayant QUALIFIED
Chavez O GarufiFranceXuxue Feng QUALIFIED
Mujtaba S MorascaIndiaBernardo Dominic UNQUALIFIED
Julie O PerinFranceAsiya Javayant NEGOTIATION
Munro J ChuiItalyIvan Magalhaes RENEWAL
Jefferson J BologniaBrazilAmy Elsner NEGOTIATION
James K AlbaresFranceStephen Shaw PROPOSAL
Ashley N StockhamBrazilStephen Shaw NEW
Julie I PaprockiCanadaAsiya Javayant NEGOTIATION
Nicolas G BologniaCanadaIvan Magalhaes UNQUALIFIED
Ivar G BologniaAustraliaAnna Fali PROPOSAL
Faith L SlusarskiItalyXuxue Feng QUALIFIED
Kaitlin Q RoysterJapanStephen Shaw NEGOTIATION
Jennifer B DilliardAustraliaAmy Elsner UNQUALIFIED
Costa B CaldareraFranceOnyama Limba NEW
Ricardo C RoysterBrazilStephen Shaw PROPOSAL
Francesco F WhobreyFranceIvan Magalhaes QUALIFIED
Maria X PaprockiGermanyOnyama Limba NEGOTIATION
Silvio G KolmetzRussiaXuxue Feng QUALIFIED
Mujtaba B MarrierUnited KingdomElwin Sharvill NEGOTIATION
Kadeem V ShinkoArgentinaStephen Shaw NEW
Wickens P SlusarskiArgentinaOnyama Limba NEW
Aika O GarufiFranceAmy Elsner QUALIFIED
Juan D CaudyFranceAsiya Javayant NEGOTIATION
Francesco E ButtBrazilAmy Elsner UNQUALIFIED
Aruna F NickaGermanyElwin Sharvill UNQUALIFIED
Isabel R IturbideBrazilOnyama Limba NEGOTIATION
Octavia F FlosiGermanyIvan Magalhaes RENEWAL
Munro A FollerUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson M FlosiGermanyBernardo Dominic RENEWAL
Stacey G PaprockiItalyXuxue Feng PROPOSAL
Sinclair Z MacleadItalyIvan Magalhaes NEW
Julie O OldroydIndiaAnna Fali NEW
Aika Y FigeroaBrazilOnyama Limba QUALIFIED
Izzy O AmigonUnited KingdomStephen Shaw NEW
Misaki T DoeFranceAsiya Javayant NEGOTIATION
Aruna S RoysterUnited KingdomAsiya Javayant NEGOTIATION
Izzy R AmigonCanadaXuxue Feng NEW
Adams E StensethAustraliaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin G BowleyJapan2024-05-31Commercial Press QUALIFIED26Amy Elsner
1001Clifford S WieserAustralia2024-06-10Rousseaux, Michael Esq UNQUALIFIED15Ioni Bowcher
1002Kaitlin G InouyeUnited Kingdom2024-05-26Morlong Associates NEGOTIATION49Amy Elsner
1003Antonio P FerenczAustralia2024-06-07Chemel, James L Cpa UNQUALIFIED60Ivan Magalhaes
1004Wickens G PerinArgentina2024-06-01Truhlar And Truhlar Attys QUALIFIED77Onyama Limba
1005Aditya L VenereUnited Kingdom2024-06-10Chanay, Jeffrey A Esq PROPOSAL32Asiya Javayant
1006Emily T FollerArgentina2024-06-12Feltz Printing Service QUALIFIED26Elwin Sharvill
1007Chavez V SchemmerUnited Kingdom2024-05-23Morlong Associates QUALIFIED56Bernardo Dominic
1008Juan X FollerSpain2024-06-16Feiner Bros QUALIFIED2Stephen Shaw
1009Nicolas Q SlusarskiCanada2024-05-20Dorl, James J Esq RENEWAL33Ioni Bowcher
1010Jennifer S MarrierArgentina2024-06-03Rousseaux, Michael Esq PROPOSAL20Anna Fali
1011Costa W PerinFrance2024-05-31Chanay, Jeffrey A Esq RENEWAL90Elwin Sharvill
1012Sinclair A GlickCanada2024-06-08Dorl, James J Esq QUALIFIED34Ivan Magalhaes
1013Izzy W ChuiBrazil2024-06-01Buckley Miller Wright UNQUALIFIED63Ioni Bowcher
1014Mayumi F RulapaughCanada2024-05-21Commercial Press UNQUALIFIED31Elwin Sharvill
1015Smith D SergiCanada2024-05-18Dorl, James J Esq QUALIFIED52Ivan Magalhaes
1016Tony N PerinAustralia2024-05-24Benton, John B Jr RENEWAL47Amy Elsner
1017Rodrigues N CampainArgentina2024-06-08Rangoni Of Florence PROPOSAL41Amy Elsner
1018Wickens A MarrierSpain2024-05-20Feiner Bros PROPOSAL16Elwin Sharvill
1019Salvatore R BologniaGermany2024-06-09Benton, John B Jr PROPOSAL84Amy Elsner
1020Jefferson W RoysterCanada2024-06-02Feltz Printing Service RENEWAL31Ioni Bowcher
1021Silvio N FigeroaFrance2024-05-24Printing Dimensions QUALIFIED57Asiya Javayant
1022Sinclair V PoquetteCanada2024-05-26Buckley Miller Wright RENEWAL23Ioni Bowcher
1023Izzy E BriddickJapan2024-05-26Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1024Antonio J SchemmerBrazil2024-05-22Chapman, Ross E Esq NEGOTIATION27Asiya Javayant
1025Sinclair G GlickFrance2024-06-08Chemel, James L Cpa NEGOTIATION22Ioni Bowcher
1026Izzy U ChuiAustralia2024-06-07Rangoni Of Florence QUALIFIED8Elwin Sharvill
1027Nicolas U CampainAustralia2024-05-22Rousseaux, Michael Esq NEW30Xuxue Feng
1028Adams B ButtUnited Kingdom2024-06-11Rousseaux, Michael Esq PROPOSAL21Anna Fali
1029Alejandro S NickaFrance2024-06-11Chemel, James L Cpa RENEWAL39Asiya Javayant
1030Cody S FlosiUnited Kingdom2024-05-24Chapman, Ross E Esq NEGOTIATION69Amy Elsner
1031Wickens Y BologniaAustralia2024-06-15Rangoni Of Florence NEGOTIATION54Xuxue Feng
1032Cody H PoquetteArgentina2024-06-07Dorl, James J Esq NEGOTIATION73Asiya Javayant
1033Arvin A FerenczArgentina2024-05-24Buckley Miller Wright QUALIFIED34Onyama Limba
1034Sinclair A SergiRussia2024-06-12Feltz Printing Service PROPOSAL21Ivan Magalhaes
1035Johnson B ShinkoGermany2024-05-21Rousseaux, Michael Esq NEW78Asiya Javayant
1036Aditya A SergiArgentina2024-06-05Rousseaux, Michael Esq RENEWAL3Elwin Sharvill
1037Kadeem L MacleadCanada2024-05-23Chapman, Ross E Esq NEW11Bernardo Dominic
1038Silvio U DilliardFrance2024-05-18Feltz Printing Service PROPOSAL11Onyama Limba
1039Leja E NestleJapan2024-05-20Chemel, James L Cpa PROPOSAL9Xuxue Feng
1040Izzy L NickaFrance2024-05-20Benton, John B Jr QUALIFIED37Anna Fali
1041Claire O NestleBrazil2024-06-08Commercial Press UNQUALIFIED95Amy Elsner
1042Sinclair S WieserAustralia2024-06-09Buckley Miller Wright NEGOTIATION53Xuxue Feng
1043Leja I MarrierAustralia2024-05-25Printing Dimensions NEGOTIATION32Xuxue Feng
1044Chavez C MorascaAustralia2024-05-22Benton, John B Jr QUALIFIED76Ioni Bowcher
1045Aruna Y IturbideBrazil2024-06-09Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1046Kadeem E ButtItaly2024-05-20Chemel, James L Cpa RENEWAL73Asiya Javayant
1047Wickens Q IturbideBrazil2024-06-15Truhlar And Truhlar Attys NEGOTIATION77Asiya Javayant
1048Clifford Z MaletItaly2024-05-27Chapman, Ross E Esq RENEWAL11Elwin Sharvill
1049Alejandro V CaudyCanada2024-06-10Commercial Press NEGOTIATION1Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Arvin M StockhamItalyAnna Fali NEW
Sinclair Q RutaSpainElwin Sharvill NEW
Juan P RulapaughSpainBernardo Dominic QUALIFIED
Leon L ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Octavia R MacleadArgentinaElwin Sharvill UNQUALIFIED
Tony N RimCanadaOnyama Limba UNQUALIFIED
Octavia F KuskoIndiaElwin Sharvill NEGOTIATION
Alejandro H OstroskyFranceAmy Elsner NEW
Leja D KuskoAustraliaXuxue Feng NEW
Aditya X RulapaughSpainAnna Fali NEGOTIATION
Rodrigues G GlickArgentinaAsiya Javayant PROPOSAL
Aruna Q CaudyUnited KingdomIoni Bowcher RENEWAL
Octavia V NestleAustraliaElwin Sharvill PROPOSAL
Leon C BologniaUnited KingdomStephen Shaw QUALIFIED
Jefferson N InouyeGermanyAmy Elsner PROPOSAL
Salvatore R BowleyBrazilIoni Bowcher RENEWAL
Ivar K MarrierUnited KingdomOnyama Limba PROPOSAL
Ivar E InouyeRussiaElwin Sharvill UNQUALIFIED
James C BologniaUnited KingdomOnyama Limba UNQUALIFIED
Johnson C BriddickSpainIvan Magalhaes NEW
Greenwood U VenereFranceXuxue Feng PROPOSAL
Nicolas K CaldareraJapanElwin Sharvill NEGOTIATION
Johnson V AlbaresCanadaStephen Shaw UNQUALIFIED
Jefferson R AlbaresGermanyIvan Magalhaes NEGOTIATION
Kadeem Z RutaUnited KingdomElwin Sharvill QUALIFIED
Misaki X RoysterArgentinaOnyama Limba NEW
Kaitlin Y MaletIndiaAmy Elsner RENEWAL
Francesco R DarakjyCanadaAsiya Javayant RENEWAL
Darci C DilliardRussiaAnna Fali RENEWAL
Salvatore F KuskoSpainXuxue Feng UNQUALIFIED
Jeanfrancois T AmigonItalyBernardo Dominic NEW
Deepesh S AlbaresRussiaIoni Bowcher NEGOTIATION
Ashley O DilliardArgentinaOnyama Limba UNQUALIFIED
Izzy P DoeIndiaAsiya Javayant NEW
Claire H StockhamCanadaXuxue Feng UNQUALIFIED
Murillo N VenereJapanXuxue Feng NEW
Claire J DilliardArgentinaAnna Fali NEGOTIATION
Emily X WhobreyIndiaBernardo Dominic NEW
Mayumi T RoysterJapanAnna Fali UNQUALIFIED
Antonio M StensethItalyXuxue Feng NEGOTIATION
Aika D DoeCanadaIvan Magalhaes NEW
Kadeem D DarakjyItalyStephen Shaw RENEWAL
Johnson T InouyeItalyOnyama Limba UNQUALIFIED
Nicolas E FollerUnited KingdomXuxue Feng QUALIFIED
Cody O KolmetzGermanyOnyama Limba QUALIFIED
Aika W AmigonFranceStephen Shaw QUALIFIED
Jeanfrancois M GlickUnited KingdomAsiya Javayant PROPOSAL
Aditya V WieserBrazilAsiya Javayant NEGOTIATION
Silvio C NickaArgentinaElwin Sharvill UNQUALIFIED
Mayumi Z RulapaughBrazilAsiya Javayant NEW
Frozen Columns
Name
Silvio Y Vocelka
Mujtaba M Flosi
Munro X Gillian
Arvin H Albares
Juan C Rulapaugh
Maria L Figeroa
Leon U Wieser
Isabel H Wieser
Chavez M Albares
Munro F Albares
Misaki M Garufi
Izzy E Stenseth
Darci A Perin
Claire J Schemmer
Silvio X Waycott
Chavez U Poquette
Morrow I Morasca
Maria I Perin
Tony H Vocelka
Stacey M Marrier
Jefferson L Caudy
Mayumi W Bowley
Jones S Venere
Costa I Butt
Faith W Sergi
Ashley O Vocelka
Leja J Perin
Jones F Saylors
Munro J Kusko
Julie K Marrier
Maria D Perin
Leon W Bolognia
Sinclair U Sergi
David C Malet
Adams Y Ferencz
Jennifer L Shinko
David D Doe
Ricardo G Nicka
Emily C Darakjy
Clifford V Gillian
David W Oldroyd
Maisha B Whobrey
Jefferson D Stockham
Alejandro B Schemmer
Jones P Briddick
Mayumi T Amigon
Octavia T Oldroyd
Stacey D Paprocki
Ashley C Vocelka
Isabel N Tollner
IdCountryDate
1000Germany2024-05-26
1001India2024-05-27
1002Italy2024-06-02
1003Brazil2024-06-05
1004India2024-05-19
1005Spain2024-06-06
1006Italy2024-05-18
1007Italy2024-06-06
1008Brazil2024-06-05
1009France2024-05-31
1010United Kingdom2024-05-29
1011Argentina2024-05-19
1012Argentina2024-05-27
1013Japan2024-06-02
1014Canada2024-06-01
1015Spain2024-06-15
1016United Kingdom2024-06-10
1017France2024-06-15
1018France2024-05-29
1019Argentina2024-06-03
1020Japan2024-05-22
1021Australia2024-06-10
1022India2024-06-14
1023France2024-05-19
1024United Kingdom2024-05-30
1025France2024-05-20
1026Argentina2024-05-24
1027Argentina2024-06-01
1028Russia2024-06-10
1029Canada2024-05-31
1030Argentina2024-06-05
1031Russia2024-06-03
1032Australia2024-05-20
1033Brazil2024-06-11
1034India2024-05-26
1035Argentina2024-05-22
1036Australia2024-06-02
1037Italy2024-05-19
1038Italy2024-06-06
1039France2024-06-05
1040Canada2024-05-28
1041Russia2024-06-14
1042Argentina2024-05-28
1043Japan2024-06-02
1044Brazil2024-05-19
1045Argentina2024-05-31
1046Australia2024-06-12
1047India2024-05-23
1048Italy2024-05-18
1049Japan2024-05-29

On-Demand Data

NameIdCountryDate
Kadeem R Amigon1000Germany2024-06-01
Ivar F Bowley1001Germany2024-06-01
Ashley F Paprocki1002Brazil2024-05-25
Tony N Whobrey1003India2024-05-19
Leja C Slusarski1004Brazil2024-05-19
Munro S Venere1005Russia2024-06-01
Jones R Malet1006Argentina2024-05-31
Johnson J Foller1007Australia2024-05-27
Chavez L Nicka1008United Kingdom2024-05-22
Kaitlin D Inouye1009Japan2024-06-14
Sinclair U Bowley1010Russia2024-06-16
Ivar B Bowley1011Brazil2024-05-25
Kaitlin N Flosi1012Japan2024-06-15
Ricardo J Venere1013Canada2024-06-15
Nicolas X Glick1014Argentina2024-05-30
James M Briddick1015Germany2024-06-13
Adams J Glick1016Japan2024-06-11
Tony X Vocelka1017Russia2024-06-05
Aruna G Malet1018India2024-05-27
Arvin R Morasca1019Canada2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L PaprockiSpainIoni Bowcher QUALIFIED
Cody H FlosiUnited KingdomOnyama Limba RENEWAL
Sinclair E OldroydItalyXuxue Feng NEGOTIATION
Darci U MaletAustraliaOnyama Limba RENEWAL
Faith P IturbideRussiaElwin Sharvill RENEWAL
Isabel Y CampainFranceOnyama Limba PROPOSAL
Leja J DilliardRussiaXuxue Feng RENEWAL
Sinclair Z VocelkaIndiaXuxue Feng UNQUALIFIED
Faith Z WhobreyAustraliaAmy Elsner UNQUALIFIED
Cody U MaletAustraliaIvan Magalhaes QUALIFIED
Juan B OldroydArgentinaElwin Sharvill NEW
Arvin L WieserAustraliaAmy Elsner NEGOTIATION
Francesco W CampainRussiaIoni Bowcher RENEWAL
Alejandro M NickaFranceAsiya Javayant NEGOTIATION
Munro T GarufiIndiaBernardo Dominic QUALIFIED
Jones N DoeUnited KingdomStephen Shaw QUALIFIED
Munro X DoeJapanElwin Sharvill PROPOSAL
Rodrigues D BowleyRussiaIvan Magalhaes PROPOSAL
Adams W PerinUnited KingdomAmy Elsner UNQUALIFIED
Smith V PerinRussiaAnna Fali PROPOSAL
Tony Q RoysterAustraliaStephen Shaw UNQUALIFIED
Darci D BologniaJapanStephen Shaw NEW
Izzy M RulapaughIndiaAsiya Javayant UNQUALIFIED
Costa E RutaJapanBernardo Dominic PROPOSAL
Antonio C NestleBrazilBernardo Dominic UNQUALIFIED
Deepesh L OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Aruna P InouyeFranceBernardo Dominic PROPOSAL
Ricardo H RutaCanadaAnna Fali UNQUALIFIED
Rodrigues O FerenczBrazilOnyama Limba RENEWAL
Mujtaba X SaylorsUnited KingdomIvan Magalhaes RENEWAL
Morrow U BriddickFranceXuxue Feng QUALIFIED
Maisha V VocelkaCanadaIoni Bowcher QUALIFIED
Octavia J MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Maria G MaletSpainBernardo Dominic RENEWAL
Wickens K IturbideAustraliaOnyama Limba PROPOSAL
Johnson P IturbideArgentinaXuxue Feng PROPOSAL
Deepesh X MarrierCanadaIoni Bowcher QUALIFIED
Silvio P RimItalyAmy Elsner UNQUALIFIED
Kaitlin Z FigeroaJapanAsiya Javayant NEGOTIATION
Ricardo Y NestleSpainIvan Magalhaes 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>