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
Octavia P PoquetteGermanyOnyama Limba QUALIFIED
Claire O DarakjyItalyStephen Shaw QUALIFIED
Arvin Q NickaRussiaBernardo Dominic UNQUALIFIED
Jones A DoeGermanyElwin Sharvill PROPOSAL
Nicolas H InouyeAustraliaXuxue Feng PROPOSAL
Darci S SlusarskiFranceAnna Fali UNQUALIFIED
Francesco V PoquetteItalyStephen Shaw PROPOSAL
Cody A RoysterArgentinaIvan Magalhaes QUALIFIED
Faith I NestleAustraliaElwin Sharvill NEGOTIATION
James A ChuiRussiaAmy Elsner NEW
Nicolas O AmigonSpainAnna Fali UNQUALIFIED
Costa U NickaGermanyStephen Shaw NEW
Clifford N DilliardJapanAnna Fali UNQUALIFIED
Jones K FerenczRussiaIoni Bowcher PROPOSAL
Rodrigues R AlbaresSpainAmy Elsner RENEWAL
Rodrigues U AlbaresUnited KingdomElwin Sharvill NEW
Faith T DoeFranceAmy Elsner QUALIFIED
David R FlosiFranceAnna Fali QUALIFIED
James R FlosiRussiaAmy Elsner QUALIFIED
Leja S FollerArgentinaAnna Fali RENEWAL
Tony E WaycottFranceElwin Sharvill QUALIFIED
Tony W PoquetteJapanAnna Fali UNQUALIFIED
Stacey V OldroydJapanOnyama Limba NEW
Silvio Z VenereGermanyXuxue Feng QUALIFIED
Tony V WieserIndiaIoni Bowcher RENEWAL
Izzy A NickaAustraliaElwin Sharvill QUALIFIED
Aika H PerinUnited KingdomAsiya Javayant PROPOSAL
Jones D CampainFranceIoni Bowcher UNQUALIFIED
Deepesh C NickaItalyBernardo Dominic NEW
Maria Y RimGermanyStephen Shaw RENEWAL
Stacey P SlusarskiGermanyOnyama Limba QUALIFIED
Munro G BologniaArgentinaXuxue Feng UNQUALIFIED
Rodrigues O GauchoJapanAmy Elsner QUALIFIED
Maria H MaletSpainIvan Magalhaes NEW
Adams I BriddickAustraliaIvan Magalhaes NEW
Deepesh M PerinCanadaBernardo Dominic PROPOSAL
Munro R StensethCanadaBernardo Dominic NEW
Aika Y AmigonIndiaIoni Bowcher NEW
Clifford G DoeBrazilElwin Sharvill NEW
Kadeem T BologniaSpainXuxue Feng UNQUALIFIED
Chavez E BriddickIndiaAsiya Javayant QUALIFIED
Maisha V MaletIndiaAmy Elsner PROPOSAL
Mujtaba Z MaletUnited KingdomBernardo Dominic QUALIFIED
Johnson D AmigonGermanyBernardo Dominic RENEWAL
Stacey N DarakjyIndiaIvan Magalhaes PROPOSAL
Leon E DilliardUnited KingdomAmy Elsner PROPOSAL
Tony P KuskoUnited KingdomIoni Bowcher PROPOSAL
Maria R MarrierArgentinaAsiya Javayant RENEWAL
Kaitlin X WhobreyIndiaXuxue Feng PROPOSAL
Jefferson W MacleadUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Y RutaGermanyIvan Magalhaes PROPOSAL
Smith U CaudyItalyAnna Fali NEGOTIATION
Sinclair P InouyeJapanElwin Sharvill QUALIFIED
Arvin H AlbaresUnited KingdomBernardo Dominic NEW
Leja H CaldareraUnited KingdomAmy Elsner QUALIFIED
James Z FerenczItalyStephen Shaw NEGOTIATION
Isabel K GauchoArgentinaIoni Bowcher QUALIFIED
Smith M FlosiItalyBernardo Dominic RENEWAL
Silvio K VenereAustraliaXuxue Feng UNQUALIFIED
Smith K RutaIndiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood E StensethSpain2024-06-16Truhlar And Truhlar Attys NEGOTIATION49Ioni Bowcher
1001Faith A PerinIndia2024-06-12Chanay, Jeffrey A Esq PROPOSAL41Ivan Magalhaes
1002Leon V OldroydCanada2024-06-22Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1003Munro S AlbaresItaly2024-05-27Printing Dimensions NEGOTIATION25Bernardo Dominic
1004Aika L KuskoJapan2024-06-05Truhlar And Truhlar Attys NEGOTIATION87Anna Fali
1005Emily W AlbaresBrazil2024-05-28Rangoni Of Florence NEW17Stephen Shaw
1006Octavia B WaycottIndia2024-06-11Feltz Printing Service NEW35Ioni Bowcher
1007Smith L DarakjyGermany2024-06-02King, Christopher A Esq UNQUALIFIED7Anna Fali
1008Aditya Z WhobreyFrance2024-05-28Morlong Associates NEGOTIATION99Xuxue Feng
1009Sinclair T FollerArgentina2024-06-21Commercial Press NEW14Elwin Sharvill
1010Munro C InouyeGermany2024-06-09Rousseaux, Michael Esq UNQUALIFIED22Stephen Shaw
1011Antonio X PerinGermany2024-06-13Chemel, James L Cpa PROPOSAL72Amy Elsner
1012Isabel D SergiArgentina2024-06-10Feiner Bros QUALIFIED1Stephen Shaw
1013Antonio S SlusarskiUnited Kingdom2024-05-24Commercial Press RENEWAL89Ioni Bowcher
1014Nicolas V IturbideRussia2024-06-07Dorl, James J Esq NEW90Ioni Bowcher
1015Munro W WhobreyJapan2024-06-21Feiner Bros NEGOTIATION64Amy Elsner
1016Julie H AlbaresArgentina2024-06-06Feiner Bros UNQUALIFIED66Ivan Magalhaes
1017Tony U CaudyCanada2024-05-27Chemel, James L Cpa PROPOSAL70Ivan Magalhaes
1018Mayumi R NestleItaly2024-05-28Dorl, James J Esq QUALIFIED29Xuxue Feng
1019Faith P InouyeCanada2024-06-19Morlong Associates NEW34Amy Elsner
1020Arvin A WieserSpain2024-05-27Printing Dimensions PROPOSAL62Elwin Sharvill
1021Jeanfrancois J RutaFrance2024-05-28Buckley Miller Wright UNQUALIFIED91Bernardo Dominic
1022David B GillianItaly2024-06-14Chemel, James L Cpa UNQUALIFIED39Anna Fali
1023Aruna X SchemmerAustralia2024-05-24Benton, John B Jr QUALIFIED66Bernardo Dominic
1024Claire Q GarufiRussia2024-06-16Feltz Printing Service UNQUALIFIED52Xuxue Feng
1025Salvatore Z GarufiIndia2024-06-04Dorl, James J Esq UNQUALIFIED79Onyama Limba
1026Mayumi J MorascaArgentina2024-06-09Benton, John B Jr NEW48Amy Elsner
1027Costa W RoysterBrazil2024-06-17Truhlar And Truhlar Attys RENEWAL58Xuxue Feng
1028Octavia E GlickItaly2024-06-01King, Christopher A Esq QUALIFIED60Amy Elsner
1029Johnson G OldroydIndia2024-06-14Printing Dimensions NEW31Bernardo Dominic
1030Greenwood A BologniaItaly2024-06-01Truhlar And Truhlar Attys RENEWAL51Amy Elsner
1031Jefferson U GarufiItaly2024-06-20Commercial Press UNQUALIFIED93Asiya Javayant
1032Aditya X CampainRussia2024-06-08Rousseaux, Michael Esq NEGOTIATION76Xuxue Feng
1033Ashley O BologniaGermany2024-06-22Rousseaux, Michael Esq QUALIFIED27Elwin Sharvill
1034Isabel E DoeIndia2024-05-29Buckley Miller Wright RENEWAL64Xuxue Feng
1035Munro T MaletCanada2024-06-14Feiner Bros NEW86Amy Elsner
1036Deepesh M SlusarskiFrance2024-06-13Benton, John B Jr NEW23Amy Elsner
1037Francesco D IturbideJapan2024-05-31Morlong Associates QUALIFIED14Elwin Sharvill
1038Tony O GauchoRussia2024-05-24Benton, John B Jr QUALIFIED68Stephen Shaw
1039David M MaletRussia2024-06-14Rangoni Of Florence UNQUALIFIED83Xuxue Feng
1040Murillo E GauchoUnited Kingdom2024-06-17Chemel, James L Cpa NEGOTIATION37Onyama Limba
1041David R GlickFrance2024-06-05King, Christopher A Esq NEGOTIATION86Onyama Limba
1042James X MacleadItaly2024-06-11Rangoni Of Florence NEGOTIATION63Elwin Sharvill
1043Ivar S CaudyArgentina2024-06-12Truhlar And Truhlar Attys UNQUALIFIED91Bernardo Dominic
1044Chavez B InouyeRussia2024-06-18Feltz Printing Service NEW61Stephen Shaw
1045Sinclair O BriddickRussia2024-05-29Rousseaux, Michael Esq RENEWAL39Xuxue Feng
1046Mujtaba K WhobreyBrazil2024-06-01King, Christopher A Esq UNQUALIFIED88Anna Fali
1047Smith E PerinAustralia2024-06-21Buckley Miller Wright QUALIFIED71Ioni Bowcher
1048Jennifer M MaletCanada2024-06-20Morlong Associates UNQUALIFIED46Stephen Shaw
1049Adams M PoquetteRussia2024-06-16Benton, John B Jr PROPOSAL98Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore L KuskoItalyIvan Magalhaes NEW
Ricardo W MacleadItalyXuxue Feng PROPOSAL
Octavia G SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Emily J CaudyAustraliaIoni Bowcher QUALIFIED
Clifford I OldroydFranceAmy Elsner UNQUALIFIED
David L DoeRussiaAnna Fali UNQUALIFIED
Juan L AlbaresRussiaOnyama Limba UNQUALIFIED
Isabel D FollerGermanyStephen Shaw QUALIFIED
Ivar X GillianGermanyElwin Sharvill PROPOSAL
Jones E MacleadCanadaAnna Fali QUALIFIED
Leon B SergiIndiaIvan Magalhaes UNQUALIFIED
Johnson P DarakjyBrazilStephen Shaw UNQUALIFIED
Darci O NickaJapanOnyama Limba UNQUALIFIED
Alejandro P RimSpainAmy Elsner UNQUALIFIED
Murillo Q BowleyItalyOnyama Limba NEGOTIATION
Johnson Z FigeroaArgentinaBernardo Dominic QUALIFIED
Aika C RoysterItalyIoni Bowcher UNQUALIFIED
Nicolas T KolmetzCanadaStephen Shaw NEW
David C KuskoJapanAsiya Javayant UNQUALIFIED
Misaki M CaldareraIndiaBernardo Dominic UNQUALIFIED
Sinclair F StockhamArgentinaAmy Elsner QUALIFIED
Misaki G ButtRussiaAmy Elsner PROPOSAL
Kadeem M MacleadAustraliaIvan Magalhaes RENEWAL
David E MaletBrazilAsiya Javayant PROPOSAL
Ivar P OldroydBrazilIoni Bowcher NEGOTIATION
Nicolas X GlickJapanIoni Bowcher PROPOSAL
Salvatore H PerinCanadaIvan Magalhaes NEW
Murillo P PerinJapanAsiya Javayant NEW
Chavez S VocelkaGermanyOnyama Limba NEW
Johnson T ButtArgentinaXuxue Feng PROPOSAL
Leon X FollerGermanyIvan Magalhaes NEGOTIATION
Sinclair R FerenczCanadaIvan Magalhaes PROPOSAL
Rodrigues Z GlickGermanyXuxue Feng PROPOSAL
Kaitlin B OldroydFranceXuxue Feng UNQUALIFIED
Faith V DarakjyFranceAnna Fali NEW
Rodrigues P DarakjyBrazilAnna Fali UNQUALIFIED
Aika O StockhamRussiaStephen Shaw NEW
Ashley H KolmetzIndiaAmy Elsner NEW
Greenwood V DarakjyRussiaStephen Shaw UNQUALIFIED
Izzy X PerinUnited KingdomElwin Sharvill NEW
Misaki J DilliardGermanyElwin Sharvill UNQUALIFIED
Leja O AmigonAustraliaBernardo Dominic QUALIFIED
Aruna A InouyeIndiaAmy Elsner RENEWAL
Chavez P NickaSpainBernardo Dominic UNQUALIFIED
Deepesh H ShinkoRussiaAmy Elsner NEGOTIATION
Silvio N ShinkoBrazilIvan Magalhaes PROPOSAL
Greenwood X TollnerRussiaElwin Sharvill NEW
Ashley H GauchoRussiaOnyama Limba PROPOSAL
Johnson H BriddickJapanOnyama Limba UNQUALIFIED
Emily Q MarrierSpainAmy Elsner NEW
Frozen Columns
Name
Izzy Q Venere
Mujtaba G Paprocki
Costa X Butt
Mujtaba G Whobrey
Emily O Amigon
Costa W Figeroa
Juan W Malet
Arvin J Sergi
Izzy P Campain
Juan J Iturbide
Mujtaba H Morasca
Jefferson W Ruta
David X Bowley
Jones J Ferencz
Darci Q Morasca
Deepesh P Briddick
Aika B Amigon
Stacey Q Chui
Silvio Q Wieser
James J Briddick
Emily D Slusarski
Nicolas T Ferencz
Cody T Ostrosky
Juan K Wieser
Ivar J Kolmetz
Leja I Amigon
David A Paprocki
Kadeem Z Gillian
Wickens Y Waycott
Jones U Ruta
Wickens E Malet
Wickens M Nestle
Francesco D Nestle
James V Foller
Juan N Tollner
Morrow M Nestle
Stacey V Marrier
Jefferson Z Amigon
Kaitlin N Malet
Aruna P Caudy
Darci C Figeroa
Francesco H Figeroa
Francesco U Chui
Wickens L Maclead
Juan G Stockham
Nicolas J Caldarera
Mujtaba O Caudy
Leja M Paprocki
Mujtaba G Shinko
Murillo W Glick
IdCountryDate
1000France2024-06-16
1001Argentina2024-05-30
1002Germany2024-06-16
1003Italy2024-06-14
1004Russia2024-05-27
1005United Kingdom2024-06-13
1006Australia2024-06-15
1007Brazil2024-06-20
1008Italy2024-06-20
1009India2024-05-29
1010Brazil2024-05-24
1011Japan2024-06-20
1012Canada2024-06-14
1013India2024-06-11
1014Argentina2024-06-15
1015Australia2024-06-14
1016Italy2024-05-26
1017India2024-06-11
1018India2024-06-21
1019Russia2024-05-29
1020Brazil2024-05-27
1021Brazil2024-06-18
1022France2024-06-02
1023Brazil2024-06-20
1024Brazil2024-06-03
1025United Kingdom2024-06-01
1026Argentina2024-06-12
1027Germany2024-06-21
1028France2024-06-13
1029France2024-06-20
1030Argentina2024-06-03
1031Spain2024-05-31
1032Brazil2024-06-18
1033Germany2024-06-09
1034Italy2024-06-05
1035Australia2024-06-19
1036India2024-06-01
1037Italy2024-05-28
1038Argentina2024-06-16
1039Brazil2024-06-02
1040United Kingdom2024-06-03
1041United Kingdom2024-06-11
1042United Kingdom2024-06-13
1043Canada2024-06-17
1044Japan2024-06-06
1045Australia2024-06-17
1046Russia2024-06-11
1047France2024-06-21
1048Australia2024-05-26
1049Italy2024-06-13

On-Demand Data

NameIdCountryDate
Rodrigues G Sergi1000Russia2024-06-03
Ricardo G Foller1001India2024-05-30
Cody Y Bowley1002Canada2024-06-16
Leon P Caldarera1003Italy2024-05-24
Rodrigues Y Vocelka1004Russia2024-06-08
Leon S Rim1005Russia2024-05-31
Deepesh L Nestle1006France2024-06-20
Smith W Morasca1007Canada2024-06-11
Octavia U Amigon1008Italy2024-06-18
Clifford P Foller1009Italy2024-06-16
Kaitlin G Nestle1010Russia2024-06-04
Isabel X Vocelka1011Australia2024-05-28
Aika A Ostrosky1012Russia2024-06-11
Julie B Morasca1013Brazil2024-06-20
Jones L Paprocki1014Australia2024-06-19
Tony R Royster1015Australia2024-06-01
Maria C Doe1016Italy2024-06-20
Leon X Caldarera1017Canada2024-06-20
Aika F Campain1018Germany2024-06-08
Francesco Y Stenseth1019Australia2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James T PaprockiUnited KingdomIoni Bowcher RENEWAL
Misaki A ButtFranceAnna Fali UNQUALIFIED
Smith D PaprockiGermanyOnyama Limba NEGOTIATION
Claire M WaycottRussiaXuxue Feng NEGOTIATION
Wickens C MaletSpainOnyama Limba RENEWAL
Murillo H PerinUnited KingdomElwin Sharvill UNQUALIFIED
Octavia S WieserItalyStephen Shaw NEW
Faith B FollerFranceElwin Sharvill QUALIFIED
Mayumi N OldroydIndiaOnyama Limba NEW
Clifford X NickaBrazilOnyama Limba RENEWAL
Emily S FollerItalyOnyama Limba NEW
Maria A WaycottAustraliaBernardo Dominic PROPOSAL
Aika R PoquetteGermanyAmy Elsner UNQUALIFIED
Mujtaba D WieserBrazilIvan Magalhaes QUALIFIED
Tony U NickaCanadaStephen Shaw QUALIFIED
Darci N ShinkoSpainXuxue Feng PROPOSAL
Aditya G FlosiFranceStephen Shaw UNQUALIFIED
Nicolas B DarakjyFranceXuxue Feng NEGOTIATION
Rodrigues J MorascaArgentinaXuxue Feng UNQUALIFIED
Jefferson B BowleyGermanyAsiya Javayant RENEWAL
Ivar G RutaJapanBernardo Dominic QUALIFIED
Aditya D CaudyAustraliaAnna Fali UNQUALIFIED
Izzy S SlusarskiIndiaIvan Magalhaes NEGOTIATION
Ashley D FerenczCanadaStephen Shaw RENEWAL
Murillo B PoquetteSpainAmy Elsner QUALIFIED
Darci L RimIndiaIvan Magalhaes UNQUALIFIED
Kaitlin D StensethJapanIvan Magalhaes QUALIFIED
Greenwood V AmigonUnited KingdomIvan Magalhaes PROPOSAL
Silvio K SergiGermanyStephen Shaw NEGOTIATION
Emily M TollnerJapanElwin Sharvill QUALIFIED
Izzy I SlusarskiSpainOnyama Limba PROPOSAL
Stacey X BologniaUnited KingdomElwin Sharvill NEGOTIATION
Cody S NickaGermanyElwin Sharvill NEGOTIATION
Arvin W GlickGermanyBernardo Dominic NEW
Julie G FlosiRussiaAmy Elsner PROPOSAL
Leja W ShinkoSpainIvan Magalhaes NEW
Claire M DoeRussiaOnyama Limba NEW
Alejandro L ShinkoRussiaAsiya Javayant RENEWAL
Kaitlin R ChuiBrazilIoni Bowcher NEW
Cody Q VocelkaJapanAnna 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>