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
Morrow B FigeroaArgentinaBernardo Dominic RENEWAL
Ashley F PoquetteJapanIoni Bowcher NEW
Leon G SaylorsFranceOnyama Limba UNQUALIFIED
Ashley Z InouyeItalyStephen Shaw RENEWAL
Juan N SergiSpainAnna Fali QUALIFIED
Murillo M GillianUnited KingdomAnna Fali UNQUALIFIED
Emily K GlickItalyXuxue Feng UNQUALIFIED
Faith Y RimFranceAnna Fali UNQUALIFIED
Leja H CaldareraCanadaBernardo Dominic NEGOTIATION
Ricardo D PaprockiRussiaAmy Elsner UNQUALIFIED
Smith H NestleArgentinaAsiya Javayant NEGOTIATION
Maria K ButtItalyStephen Shaw PROPOSAL
Isabel E NestleItalyOnyama Limba RENEWAL
Francesco Y DarakjyItalyElwin Sharvill NEW
Antonio N BologniaFranceAmy Elsner PROPOSAL
Clifford P NestleArgentinaAmy Elsner PROPOSAL
Mujtaba L DilliardFranceBernardo Dominic QUALIFIED
Rodrigues M ShinkoItalyIvan Magalhaes NEGOTIATION
Rodrigues S VenereUnited KingdomXuxue Feng UNQUALIFIED
Leon M KuskoFranceAsiya Javayant PROPOSAL
Izzy M AmigonBrazilAsiya Javayant PROPOSAL
Aditya E RimBrazilElwin Sharvill QUALIFIED
Nicolas Q NestleBrazilStephen Shaw RENEWAL
Juan H PaprockiUnited KingdomAmy Elsner NEW
Sinclair T MaletCanadaBernardo Dominic NEGOTIATION
Morrow X BowleyIndiaIoni Bowcher UNQUALIFIED
Adams N NickaAustraliaElwin Sharvill NEGOTIATION
Darci O DarakjyJapanAsiya Javayant RENEWAL
Wickens K WhobreyGermanyStephen Shaw RENEWAL
Jones T MacleadFranceOnyama Limba PROPOSAL
Cody H StensethAustraliaAnna Fali UNQUALIFIED
Costa C ShinkoAustraliaOnyama Limba QUALIFIED
Tony J OldroydFranceAmy Elsner UNQUALIFIED
Johnson C MaletJapanStephen Shaw RENEWAL
James N SaylorsBrazilIoni Bowcher NEGOTIATION
Misaki X NickaGermanyStephen Shaw NEGOTIATION
Smith C IturbideFranceElwin Sharvill UNQUALIFIED
Faith Q AlbaresItalyStephen Shaw UNQUALIFIED
Jeanfrancois O SergiFranceAnna Fali RENEWAL
Misaki Q DoeIndiaIvan Magalhaes QUALIFIED
Kadeem M SaylorsAustraliaStephen Shaw NEGOTIATION
Izzy W InouyeCanadaIoni Bowcher QUALIFIED
Greenwood N CaldareraRussiaStephen Shaw NEW
Nicolas F TollnerCanadaXuxue Feng RENEWAL
Leja O CampainCanadaBernardo Dominic PROPOSAL
Rodrigues S SchemmerJapanAnna Fali UNQUALIFIED
Maisha G CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer V IturbideBrazilAsiya Javayant QUALIFIED
Kaitlin Z PerinItalyIoni Bowcher NEW
Costa K BowleyCanadaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore U MorascaSpainBernardo Dominic NEGOTIATION
Darci Z SchemmerCanadaIvan Magalhaes NEW
Maisha W KolmetzJapanAmy Elsner RENEWAL
Deepesh V ChuiSpainStephen Shaw UNQUALIFIED
Leja G InouyeJapanAmy Elsner NEW
Claire B OldroydBrazilOnyama Limba NEW
Adams S CaudyGermanyAnna Fali NEW
Stacey P StockhamIndiaElwin Sharvill RENEWAL
Salvatore N SlusarskiGermanyStephen Shaw PROPOSAL
Sinclair V CaudyAustraliaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin Q VocelkaItaly2024-09-04Commercial Press QUALIFIED95Elwin Sharvill
1001Aruna E MaletItaly2024-09-19Chapman, Ross E Esq RENEWAL84Xuxue Feng
1002Izzy E MarrierUnited Kingdom2024-09-01Truhlar And Truhlar Attys NEW77Asiya Javayant
1003Jennifer V DarakjyJapan2024-09-06Chapman, Ross E Esq QUALIFIED81Bernardo Dominic
1004Clifford K SergiAustralia2024-09-05Rousseaux, Michael Esq NEGOTIATION95Ioni Bowcher
1005Tony V FigeroaUnited Kingdom2024-09-04Buckley Miller Wright NEW78Amy Elsner
1006Darci N RimItaly2024-08-30Chemel, James L Cpa PROPOSAL60Ioni Bowcher
1007Jennifer H PaprockiJapan2024-09-01Commercial Press NEGOTIATION49Xuxue Feng
1008Wickens D KuskoBrazil2024-09-11Dorl, James J Esq UNQUALIFIED26Stephen Shaw
1009Francesco O SergiIndia2024-08-27Feiner Bros UNQUALIFIED35Elwin Sharvill
1010Stacey H PerinFrance2024-09-14Buckley Miller Wright UNQUALIFIED45Ioni Bowcher
1011Octavia W RulapaughUnited Kingdom2024-09-07Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1012Aruna X ChuiGermany2024-09-22Truhlar And Truhlar Attys UNQUALIFIED34Elwin Sharvill
1013Nicolas O RulapaughCanada2024-09-05Rangoni Of Florence NEGOTIATION98Onyama Limba
1014Isabel T MarrierUnited Kingdom2024-09-09Chanay, Jeffrey A Esq NEGOTIATION77Stephen Shaw
1015Greenwood R SlusarskiSpain2024-09-19Chapman, Ross E Esq NEW16Anna Fali
1016Antonio H KuskoAustralia2024-09-15King, Christopher A Esq UNQUALIFIED16Anna Fali
1017Nicolas A AlbaresUnited Kingdom2024-09-02Chemel, James L Cpa PROPOSAL91Stephen Shaw
1018Chavez I ShinkoUnited Kingdom2024-09-01Feiner Bros NEGOTIATION24Amy Elsner
1019Kaitlin T CaldareraUnited Kingdom2024-08-28Chapman, Ross E Esq RENEWAL97Amy Elsner
1020Munro X GillianFrance2024-09-11Dorl, James J Esq NEGOTIATION41Anna Fali
1021David B NickaBrazil2024-09-21Benton, John B Jr UNQUALIFIED31Asiya Javayant
1022Adams D BologniaSpain2024-08-28Rangoni Of Florence RENEWAL53Ivan Magalhaes
1023Salvatore J WhobreyArgentina2024-09-21Chemel, James L Cpa UNQUALIFIED7Amy Elsner
1024Kadeem C FerenczItaly2024-09-03Morlong Associates NEW65Ioni Bowcher
1025Juan X AlbaresJapan2024-08-30Truhlar And Truhlar Attys QUALIFIED96Xuxue Feng
1026Mayumi J BologniaGermany2024-09-19Truhlar And Truhlar Attys PROPOSAL6Stephen Shaw
1027Rodrigues E ButtItaly2024-09-15Printing Dimensions NEGOTIATION23Ivan Magalhaes
1028Nicolas Q OldroydBrazil2024-09-15Rangoni Of Florence QUALIFIED52Ioni Bowcher
1029Johnson T SaylorsItaly2024-09-16Chemel, James L Cpa NEW95Onyama Limba
1030Alejandro E ChuiItaly2024-09-14Dorl, James J Esq PROPOSAL35Asiya Javayant
1031Francesco T MaletItaly2024-09-08Rousseaux, Michael Esq QUALIFIED72Anna Fali
1032David G FerenczCanada2024-09-10Chanay, Jeffrey A Esq RENEWAL76Asiya Javayant
1033Mujtaba D IturbideJapan2024-09-23Morlong Associates NEGOTIATION7Amy Elsner
1034Darci N BologniaRussia2024-09-07King, Christopher A Esq NEW6Xuxue Feng
1035Adams R GarufiGermany2024-09-10Morlong Associates UNQUALIFIED27Bernardo Dominic
1036Darci S FollerBrazil2024-09-03King, Christopher A Esq RENEWAL61Ivan Magalhaes
1037Costa G MorascaGermany2024-09-11Feltz Printing Service RENEWAL62Onyama Limba
1038Rodrigues U CaudyItaly2024-08-27Morlong Associates UNQUALIFIED33Ioni Bowcher
1039Rodrigues Z RulapaughSpain2024-09-02Chanay, Jeffrey A Esq UNQUALIFIED63Ivan Magalhaes
1040Salvatore P SlusarskiUnited Kingdom2024-09-20Feiner Bros UNQUALIFIED53Xuxue Feng
1041Rodrigues D ButtBrazil2024-09-14Rousseaux, Michael Esq NEGOTIATION20Ioni Bowcher
1042Stacey U FollerItaly2024-09-07Chanay, Jeffrey A Esq QUALIFIED7Xuxue Feng
1043Isabel M OstroskyFrance2024-08-31Truhlar And Truhlar Attys NEW47Onyama Limba
1044Smith T InouyeRussia2024-09-20Benton, John B Jr RENEWAL64Elwin Sharvill
1045Juan W MarrierUnited Kingdom2024-09-08Chemel, James L Cpa UNQUALIFIED93Onyama Limba
1046Ricardo M CampainJapan2024-09-04Feltz Printing Service PROPOSAL55Stephen Shaw
1047Aditya F ChuiJapan2024-09-22Rangoni Of Florence UNQUALIFIED97Onyama Limba
1048Smith D RutaGermany2024-08-27Chemel, James L Cpa PROPOSAL16Bernardo Dominic
1049Arvin O PerinCanada2024-09-20Dorl, James J Esq RENEWAL45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh X GillianRussiaElwin Sharvill UNQUALIFIED
Costa C SaylorsItalyAsiya Javayant NEGOTIATION
Julie O ButtArgentinaAmy Elsner NEW
Salvatore V RulapaughBrazilIvan Magalhaes RENEWAL
Jefferson J RoysterItalyAsiya Javayant NEGOTIATION
Kaitlin R RimFranceIoni Bowcher PROPOSAL
Clifford Y SlusarskiFranceStephen Shaw NEGOTIATION
Ricardo O GlickArgentinaIoni Bowcher NEGOTIATION
Juan V FlosiGermanyAnna Fali UNQUALIFIED
Juan Y DilliardFranceAsiya Javayant NEGOTIATION
Chavez J MorascaSpainAnna Fali NEGOTIATION
Claire H RulapaughJapanBernardo Dominic NEW
Alejandro G PoquetteRussiaStephen Shaw RENEWAL
David N DarakjyGermanyOnyama Limba PROPOSAL
Munro T DilliardCanadaElwin Sharvill NEW
Munro M DarakjyItalyAmy Elsner RENEWAL
Kaitlin P AlbaresGermanyBernardo Dominic NEGOTIATION
Sinclair E AlbaresJapanOnyama Limba RENEWAL
Jefferson V RimJapanOnyama Limba RENEWAL
Morrow S PaprockiSpainXuxue Feng RENEWAL
Nicolas T DoeItalyXuxue Feng NEGOTIATION
Kaitlin N BriddickJapanAmy Elsner RENEWAL
Isabel B MaletArgentinaXuxue Feng RENEWAL
Emily B OstroskyFranceOnyama Limba RENEWAL
Francesco E DarakjyFranceOnyama Limba NEGOTIATION
Jones J KolmetzArgentinaAnna Fali PROPOSAL
Adams U PoquetteJapanXuxue Feng PROPOSAL
Arvin T VocelkaGermanyAsiya Javayant QUALIFIED
Ricardo A GlickCanadaElwin Sharvill UNQUALIFIED
Deepesh E StensethAustraliaIvan Magalhaes NEGOTIATION
Nicolas E FollerItalyAmy Elsner RENEWAL
Jennifer X DarakjyUnited KingdomAsiya Javayant RENEWAL
Ricardo C KuskoAustraliaStephen Shaw RENEWAL
Ricardo B CaldareraGermanyIoni Bowcher UNQUALIFIED
Aika E SaylorsJapanXuxue Feng NEW
Octavia H DilliardArgentinaIoni Bowcher NEW
Silvio R IturbideAustraliaBernardo Dominic PROPOSAL
Emily J GlickIndiaElwin Sharvill QUALIFIED
Maria L NestleItalyAsiya Javayant NEW
Maria M FigeroaCanadaAmy Elsner PROPOSAL
Mujtaba X SchemmerSpainIoni Bowcher NEGOTIATION
Izzy K KuskoIndiaAnna Fali PROPOSAL
Francesco F RulapaughItalyIoni Bowcher RENEWAL
Leja N FlosiArgentinaStephen Shaw NEGOTIATION
Kaitlin X GillianSpainXuxue Feng RENEWAL
Munro S SergiItalyAsiya Javayant PROPOSAL
Julie A PaprockiGermanyOnyama Limba RENEWAL
Antonio B OldroydSpainAnna Fali NEGOTIATION
Emily U FlosiItalyOnyama Limba NEW
Juan R CampainIndiaAmy Elsner PROPOSAL
Frozen Columns
Name
Stacey Y Garufi
Greenwood H Waycott
Costa X Royster
Kadeem Z Paprocki
Stacey X Paprocki
Costa Y Gillian
Chavez Y Butt
Arvin G Chui
Alejandro R Iturbide
Isabel U Ruta
Johnson A Shinko
Octavia S Wieser
Jefferson D Albares
Antonio Y Morasca
Mujtaba J Maclead
Tony R Chui
Octavia V Kolmetz
Morrow A Marrier
Misaki Q Vocelka
David I Slusarski
Costa A Rim
Smith F Morasca
Darci Z Gillian
Jefferson V Doe
Sinclair A Wieser
Morrow K Stenseth
Jennifer S Slusarski
Tony O Dilliard
Costa Q Kusko
Juan E Butt
Ivar V Morasca
Aika B Campain
Cody R Gaucho
Mujtaba N Briddick
Johnson M Rulapaugh
Aika V Stenseth
Kadeem V Venere
Adams R Briddick
Emily J Kusko
Emily S Caudy
Aditya X Bowley
Maria C Malet
Sinclair V Rulapaugh
Jeanfrancois H Royster
Smith N Stenseth
Ivar N Bolognia
Emily Y Chui
Mujtaba U Nestle
Jeanfrancois T Malet
Munro N Tollner
IdCountryDate
1000United Kingdom2024-09-03
1001Canada2024-08-27
1002Italy2024-09-14
1003United Kingdom2024-08-25
1004Japan2024-09-01
1005India2024-09-05
1006Canada2024-09-14
1007Australia2024-08-30
1008Germany2024-09-20
1009Australia2024-09-09
1010Australia2024-08-31
1011India2024-09-03
1012Argentina2024-09-17
1013Japan2024-09-07
1014Spain2024-09-21
1015Argentina2024-09-04
1016Argentina2024-09-05
1017Australia2024-09-15
1018Italy2024-09-16
1019Australia2024-09-03
1020India2024-09-20
1021United Kingdom2024-09-01
1022Russia2024-09-15
1023Brazil2024-09-23
1024Germany2024-08-30
1025Argentina2024-09-14
1026Japan2024-08-27
1027Japan2024-09-13
1028India2024-09-13
1029Spain2024-09-21
1030Germany2024-09-13
1031Argentina2024-09-09
1032Australia2024-09-17
1033United Kingdom2024-09-17
1034Australia2024-09-07
1035India2024-09-19
1036Spain2024-09-06
1037India2024-08-31
1038Italy2024-09-07
1039France2024-09-19
1040Spain2024-08-27
1041Germany2024-09-15
1042United Kingdom2024-09-22
1043Japan2024-09-14
1044Japan2024-09-07
1045Australia2024-08-31
1046Germany2024-09-18
1047Spain2024-09-14
1048Japan2024-09-03
1049Spain2024-09-10

On-Demand Data

NameIdCountryDate
Cody V Poquette1000Spain2024-09-18
Aika S Nicka1001Italy2024-09-03
Alejandro M Inouye1002Spain2024-09-21
Leon I Amigon1003Argentina2024-09-08
Kaitlin W Darakjy1004France2024-09-07
Ricardo Y Marrier1005Canada2024-09-13
Leon V Caudy1006Australia2024-09-04
Adams L Nestle1007Japan2024-09-19
Misaki T Bolognia1008Australia2024-09-02
Misaki T Waycott1009Brazil2024-08-25
Kadeem A Nestle1010India2024-09-13
Isabel T Tollner1011India2024-09-11
Clifford R Stenseth1012Argentina2024-08-30
Julie T Nicka1013United Kingdom2024-09-13
Kadeem J Slusarski1014Japan2024-08-26
Wickens H Stockham1015Brazil2024-08-29
Ricardo V Caldarera1016Russia2024-08-30
Clifford H Kusko1017India2024-08-29
Wickens E Stockham1018India2024-09-11
Aruna R Tollner1019France2024-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo P BologniaIndiaXuxue Feng UNQUALIFIED
Cody D MaletUnited KingdomXuxue Feng NEGOTIATION
Smith F IturbideItalyIoni Bowcher NEGOTIATION
Misaki X DilliardJapanAnna Fali QUALIFIED
Maria X FigeroaAustraliaElwin Sharvill RENEWAL
Aika Z GarufiBrazilAsiya Javayant PROPOSAL
David T VocelkaJapanBernardo Dominic QUALIFIED
Cody Q InouyeAustraliaIvan Magalhaes NEW
Leon I MorascaBrazilXuxue Feng NEW
Salvatore V DoeAustraliaOnyama Limba PROPOSAL
Jones R KuskoCanadaOnyama Limba UNQUALIFIED
Clifford G DilliardSpainAnna Fali NEGOTIATION
Kadeem W StockhamItalyStephen Shaw RENEWAL
Adams U GlickRussiaElwin Sharvill NEW
Aruna L ChuiItalyAsiya Javayant NEGOTIATION
Morrow S BowleyIndiaAsiya Javayant UNQUALIFIED
Mujtaba J NestleGermanyStephen Shaw NEGOTIATION
Aruna G SchemmerArgentinaAnna Fali NEW
Mayumi F CaldareraIndiaXuxue Feng NEGOTIATION
Maria P SchemmerCanadaIvan Magalhaes RENEWAL
Faith B BriddickArgentinaAsiya Javayant QUALIFIED
Morrow Z OldroydJapanBernardo Dominic RENEWAL
Octavia E FerenczCanadaStephen Shaw UNQUALIFIED
Alejandro W RutaCanadaBernardo Dominic NEGOTIATION
Darci F FollerJapanIvan Magalhaes PROPOSAL
Ashley N IturbideUnited KingdomAnna Fali PROPOSAL
Juan L AmigonSpainBernardo Dominic QUALIFIED
Juan W MarrierSpainStephen Shaw UNQUALIFIED
James L OstroskySpainAnna Fali QUALIFIED
Darci D GlickRussiaBernardo Dominic PROPOSAL
Ricardo Q InouyeRussiaOnyama Limba UNQUALIFIED
Aruna O SaylorsUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois M BologniaJapanBernardo Dominic RENEWAL
Antonio Q RimAustraliaAsiya Javayant PROPOSAL
Silvio O AlbaresIndiaIoni Bowcher NEW
Rodrigues R GarufiRussiaElwin Sharvill QUALIFIED
Nicolas M NestleSpainIoni Bowcher RENEWAL
Wickens P WaycottRussiaOnyama Limba PROPOSAL
Aruna I FerenczFranceOnyama Limba NEGOTIATION
Arvin T PerinIndiaAnna Fali UNQUALIFIED

<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>