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
Rodrigues V GlickAustraliaOnyama Limba UNQUALIFIED
David M ShinkoItalyStephen Shaw UNQUALIFIED
Cody C ShinkoBrazilAmy Elsner NEW
Kadeem P FollerAustraliaIoni Bowcher NEW
Leja Z WaycottFranceAnna Fali NEGOTIATION
Deepesh H FollerBrazilIvan Magalhaes PROPOSAL
James G ChuiItalyIoni Bowcher UNQUALIFIED
Costa K AmigonJapanOnyama Limba QUALIFIED
Aruna R StockhamFranceElwin Sharvill NEGOTIATION
Misaki E FerenczFranceStephen Shaw RENEWAL
Jennifer B FigeroaItalyOnyama Limba UNQUALIFIED
Jeanfrancois R SlusarskiBrazilIvan Magalhaes RENEWAL
Julie Z StockhamFranceAmy Elsner RENEWAL
Mayumi G KolmetzUnited KingdomAsiya Javayant QUALIFIED
Morrow A RulapaughJapanOnyama Limba PROPOSAL
Mayumi S GlickFranceBernardo Dominic NEGOTIATION
Leon I MacleadUnited KingdomAsiya Javayant RENEWAL
Darci X BriddickUnited KingdomAnna Fali RENEWAL
Mayumi V NestleJapanBernardo Dominic NEGOTIATION
Jones A AlbaresCanadaAsiya Javayant PROPOSAL
Murillo M ButtJapanAnna Fali NEW
Ashley L MaletUnited KingdomIvan Magalhaes PROPOSAL
Stacey J KuskoUnited KingdomAsiya Javayant PROPOSAL
Arvin Z NickaCanadaElwin Sharvill PROPOSAL
Clifford S StockhamArgentinaBernardo Dominic QUALIFIED
Greenwood H BologniaFranceIoni Bowcher QUALIFIED
Morrow X BowleyItalyElwin Sharvill NEW
Aruna N DilliardIndiaElwin Sharvill QUALIFIED
Jones R BologniaIndiaElwin Sharvill QUALIFIED
Alejandro N SergiGermanyBernardo Dominic NEGOTIATION
Mayumi Z WieserGermanyStephen Shaw PROPOSAL
Juan A AlbaresItalyAmy Elsner NEW
Sinclair J SergiCanadaIoni Bowcher NEW
Adams V GillianFranceAsiya Javayant QUALIFIED
Octavia X SlusarskiBrazilStephen Shaw PROPOSAL
David G WieserBrazilOnyama Limba PROPOSAL
Emily Q MorascaAustraliaIvan Magalhaes RENEWAL
Julie H VenereFranceAnna Fali RENEWAL
Johnson X GlickItalyOnyama Limba NEW
Kadeem Q BriddickIndiaOnyama Limba RENEWAL
Francesco H GlickFranceXuxue Feng RENEWAL
Aika I RulapaughItalyAmy Elsner RENEWAL
Stacey A InouyeArgentinaBernardo Dominic QUALIFIED
James O VocelkaArgentinaAmy Elsner RENEWAL
Maria C DarakjyAustraliaBernardo Dominic RENEWAL
Kaitlin K IturbideArgentinaElwin Sharvill NEW
Chavez M RimItalyXuxue Feng RENEWAL
Munro J BowleyItalyElwin Sharvill NEW
Jeanfrancois G GlickRussiaAmy Elsner RENEWAL
Leja B DilliardArgentinaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi L BriddickArgentinaStephen Shaw NEGOTIATION
Stacey K StockhamAustraliaStephen Shaw RENEWAL
Jefferson H WieserArgentinaIoni Bowcher NEW
Octavia L GlickIndiaElwin Sharvill NEW
Misaki K StockhamGermanyAsiya Javayant QUALIFIED
Claire Q MaletUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba O CaldareraFranceAnna Fali NEW
Octavia Z BriddickJapanElwin Sharvill NEW
Chavez O GarufiSpainAnna Fali NEGOTIATION
Misaki P RulapaughSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G OldroydArgentina2024-06-08Benton, John B Jr RENEWAL5Bernardo Dominic
1001Cody E BowleyJapan2024-06-23Chanay, Jeffrey A Esq NEW38Anna Fali
1002Ivar E GarufiCanada2024-06-16Chapman, Ross E Esq RENEWAL7Ioni Bowcher
1003Maisha G WieserCanada2024-06-17Printing Dimensions NEGOTIATION38Elwin Sharvill
1004Mujtaba E OstroskyRussia2024-06-12Feltz Printing Service UNQUALIFIED59Amy Elsner
1005Johnson M WieserSpain2024-06-03Truhlar And Truhlar Attys PROPOSAL27Ivan Magalhaes
1006Alejandro Z MaletJapan2024-06-20Chemel, James L Cpa RENEWAL62Onyama Limba
1007Jennifer S MacleadJapan2024-06-04Dorl, James J Esq NEGOTIATION17Anna Fali
1008Maria C ShinkoIndia2024-06-19Dorl, James J Esq RENEWAL10Onyama Limba
1009Ashley Z GlickSpain2024-06-24Truhlar And Truhlar Attys QUALIFIED37Amy Elsner
1010Leja H InouyeAustralia2024-06-08Chapman, Ross E Esq RENEWAL93Asiya Javayant
1011Costa P SaylorsUnited Kingdom2024-06-20Feltz Printing Service NEW92Amy Elsner
1012James A FollerArgentina2024-06-10Buckley Miller Wright UNQUALIFIED4Bernardo Dominic
1013Leja V GarufiFrance2024-06-13Commercial Press UNQUALIFIED92Amy Elsner
1014Morrow N SaylorsGermany2024-06-05Chemel, James L Cpa PROPOSAL56Bernardo Dominic
1015Ricardo W AmigonFrance2024-06-05Rousseaux, Michael Esq RENEWAL14Elwin Sharvill
1016Leon V SaylorsGermany2024-06-22Chemel, James L Cpa QUALIFIED17Anna Fali
1017Misaki V MacleadIndia2024-06-02Commercial Press PROPOSAL86Elwin Sharvill
1018Leja K MorascaFrance2024-06-16Chapman, Ross E Esq NEW45Elwin Sharvill
1019Jones B ChuiRussia2024-06-04Feltz Printing Service UNQUALIFIED15Stephen Shaw
1020Kaitlin J OstroskyCanada2024-05-30Chemel, James L Cpa UNQUALIFIED81Onyama Limba
1021Mayumi I BowleyUnited Kingdom2024-05-29Chapman, Ross E Esq UNQUALIFIED47Xuxue Feng
1022Sinclair Z RimCanada2024-06-12Chapman, Ross E Esq QUALIFIED93Elwin Sharvill
1023Ricardo Y ChuiRussia2024-05-26Benton, John B Jr RENEWAL34Onyama Limba
1024Nicolas J TollnerRussia2024-06-23King, Christopher A Esq RENEWAL62Onyama Limba
1025Leon M DilliardCanada2024-06-11Rousseaux, Michael Esq NEGOTIATION33Ioni Bowcher
1026Silvio E PaprockiItaly2024-06-23Benton, John B Jr QUALIFIED80Ivan Magalhaes
1027Mujtaba J DilliardGermany2024-06-20Chanay, Jeffrey A Esq NEGOTIATION46Bernardo Dominic
1028Aditya F VenereJapan2024-06-23Printing Dimensions NEW0Onyama Limba
1029Mayumi K OstroskyBrazil2024-05-27King, Christopher A Esq UNQUALIFIED71Xuxue Feng
1030David L NestleBrazil2024-06-11Chemel, James L Cpa PROPOSAL23Ioni Bowcher
1031Johnson S FerenczFrance2024-06-01Feltz Printing Service RENEWAL32Onyama Limba
1032Sinclair K VocelkaCanada2024-05-29Buckley Miller Wright NEGOTIATION82Bernardo Dominic
1033Deepesh O PerinCanada2024-06-20Chemel, James L Cpa QUALIFIED3Xuxue Feng
1034Mayumi Z IturbideRussia2024-05-28Rangoni Of Florence PROPOSAL18Ioni Bowcher
1035Silvio O TollnerIndia2024-06-19Feiner Bros UNQUALIFIED76Stephen Shaw
1036Arvin W DilliardArgentina2024-06-17Chanay, Jeffrey A Esq PROPOSAL25Elwin Sharvill
1037Maria R BowleyRussia2024-06-19Buckley Miller Wright PROPOSAL47Onyama Limba
1038Clifford J WhobreyRussia2024-06-05Feiner Bros NEW42Xuxue Feng
1039Murillo Y TollnerBrazil2024-06-23Buckley Miller Wright RENEWAL8Xuxue Feng
1040Alejandro R AlbaresItaly2024-06-18Morlong Associates QUALIFIED4Ivan Magalhaes
1041Chavez B SergiUnited Kingdom2024-05-27Feltz Printing Service QUALIFIED33Anna Fali
1042Mayumi B SaylorsFrance2024-06-18Chemel, James L Cpa RENEWAL63Stephen Shaw
1043Aika A CampainItaly2024-06-12Truhlar And Truhlar Attys RENEWAL90Asiya Javayant
1044Tony V CaldareraSpain2024-06-24Commercial Press NEW68Ioni Bowcher
1045Izzy G AlbaresIndia2024-06-11Chemel, James L Cpa NEGOTIATION42Ivan Magalhaes
1046Francesco A BriddickBrazil2024-05-26Commercial Press NEGOTIATION95Asiya Javayant
1047Murillo V ButtArgentina2024-06-03Dorl, James J Esq NEW50Asiya Javayant
1048Leja M SergiBrazil2024-06-16Rangoni Of Florence PROPOSAL36Xuxue Feng
1049Faith M SergiBrazil2024-06-17Chanay, Jeffrey A Esq NEW38Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa V SergiRussiaAsiya Javayant RENEWAL
Kadeem C DilliardSpainOnyama Limba NEGOTIATION
Nicolas X CaldareraCanadaAsiya Javayant QUALIFIED
Juan S FigeroaItalyIvan Magalhaes NEGOTIATION
Silvio N BowleyArgentinaBernardo Dominic UNQUALIFIED
Ivar K WieserJapanIvan Magalhaes NEW
Costa S StensethIndiaElwin Sharvill RENEWAL
Kadeem S MaletIndiaBernardo Dominic RENEWAL
Jones E GarufiRussiaBernardo Dominic NEGOTIATION
Aika K PerinItalyElwin Sharvill NEW
Izzy C CaldareraIndiaIoni Bowcher QUALIFIED
Leja H SchemmerArgentinaElwin Sharvill NEGOTIATION
Darci S FollerSpainBernardo Dominic UNQUALIFIED
Ashley A CaldareraItalyIvan Magalhaes PROPOSAL
Mujtaba H StockhamArgentinaOnyama Limba PROPOSAL
Octavia B KuskoRussiaAmy Elsner NEW
Wickens J StensethSpainOnyama Limba PROPOSAL
Jefferson J DarakjyGermanyAmy Elsner PROPOSAL
Antonio V AmigonIndiaAmy Elsner NEW
Isabel L InouyeGermanyStephen Shaw NEGOTIATION
Nicolas S PoquetteArgentinaAnna Fali QUALIFIED
Francesco O InouyeArgentinaXuxue Feng NEW
Octavia G RutaSpainIoni Bowcher PROPOSAL
Juan H CaldareraJapanOnyama Limba NEW
Misaki S MacleadFranceOnyama Limba NEGOTIATION
Leja A StensethSpainOnyama Limba NEW
Jeanfrancois C ShinkoRussiaBernardo Dominic PROPOSAL
Aruna V CampainAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois C WieserRussiaAnna Fali UNQUALIFIED
Antonio B WhobreySpainOnyama Limba NEW
Wickens M MacleadUnited KingdomAmy Elsner UNQUALIFIED
Izzy Y RutaIndiaAmy Elsner PROPOSAL
Emily M DilliardJapanStephen Shaw PROPOSAL
Murillo Z ButtAustraliaIoni Bowcher NEW
Murillo L GarufiGermanyAnna Fali NEGOTIATION
Tony C BriddickItalyXuxue Feng UNQUALIFIED
Kaitlin L OstroskyItalyAnna Fali QUALIFIED
James C WieserBrazilIvan Magalhaes NEW
Stacey T SaylorsRussiaXuxue Feng NEGOTIATION
Claire I CampainGermanyElwin Sharvill RENEWAL
David K VocelkaGermanyStephen Shaw PROPOSAL
Cody S BologniaArgentinaElwin Sharvill RENEWAL
Izzy L WieserItalyAmy Elsner UNQUALIFIED
Nicolas O ButtBrazilXuxue Feng NEW
Deepesh X SchemmerSpainIoni Bowcher QUALIFIED
Jeanfrancois X AlbaresAustraliaIvan Magalhaes NEGOTIATION
Leja R KuskoRussiaIvan Magalhaes PROPOSAL
Tony I FlosiJapanStephen Shaw QUALIFIED
Francesco J SchemmerRussiaXuxue Feng QUALIFIED
Antonio Z KolmetzFranceIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Jones P Sergi
James Y Rulapaugh
Rodrigues V Bowley
Faith S Nicka
Darci O Foller
Aruna A Albares
Jennifer K Nestle
Jefferson I Royster
Darci I Kolmetz
Greenwood A Caldarera
Jones B Maclead
Jeanfrancois N Kolmetz
Jones S Morasca
Cody Q Iturbide
Clifford N Tollner
Tony I Waycott
Smith E Butt
Morrow B Garufi
Alejandro U Dilliard
Faith A Darakjy
David R Rulapaugh
Faith Q Dilliard
Aditya M Rim
Octavia U Caudy
Wickens U Butt
Alejandro B Marrier
Juan G Shinko
Costa U Bowley
Aika P Ruta
Morrow J Flosi
James T Doe
Ashley F Garufi
Jeanfrancois W Stenseth
Ricardo Y Darakjy
Rodrigues A Saylors
Aruna M Poquette
Misaki U Royster
Nicolas Q Ruta
Chavez V Campain
Octavia M Slusarski
Sinclair R Perin
Smith N Venere
Kadeem M Doe
Julie D Nicka
Izzy K Venere
Cody K Vocelka
Morrow A Ruta
Johnson M Campain
Salvatore K Ferencz
Wickens W Darakjy
IdCountryDate
1000Russia2024-06-11
1001Russia2024-05-29
1002Japan2024-05-26
1003Japan2024-06-04
1004Brazil2024-05-26
1005United Kingdom2024-06-18
1006Brazil2024-06-21
1007Canada2024-05-29
1008Argentina2024-06-11
1009Canada2024-06-18
1010Japan2024-06-09
1011Spain2024-05-29
1012Canada2024-05-30
1013Brazil2024-06-12
1014Brazil2024-06-16
1015France2024-06-08
1016Brazil2024-06-22
1017Canada2024-06-11
1018Canada2024-06-12
1019France2024-06-01
1020Japan2024-06-05
1021Australia2024-05-31
1022Italy2024-06-11
1023Japan2024-06-11
1024Russia2024-06-14
1025Italy2024-06-06
1026Russia2024-06-23
1027Spain2024-05-26
1028Argentina2024-06-20
1029India2024-06-16
1030Brazil2024-06-02
1031Russia2024-06-19
1032Germany2024-06-15
1033Japan2024-06-16
1034India2024-06-21
1035Canada2024-06-15
1036Spain2024-06-03
1037Brazil2024-06-19
1038Australia2024-06-22
1039United Kingdom2024-06-14
1040Spain2024-06-24
1041Canada2024-06-08
1042Australia2024-05-29
1043Argentina2024-06-24
1044Italy2024-06-16
1045Russia2024-05-31
1046Canada2024-06-12
1047Brazil2024-06-10
1048Russia2024-06-12
1049Argentina2024-06-11

On-Demand Data

NameIdCountryDate
Francesco S Waycott1000Italy2024-05-26
Cody D Butt1001India2024-06-20
Leon K Wieser1002India2024-06-03
Smith A Butt1003Germany2024-06-19
Ricardo Y Briddick1004India2024-06-15
Jones F Kusko1005Canada2024-06-23
Salvatore R Campain1006Brazil2024-06-11
Aditya H Shinko1007Brazil2024-06-24
Greenwood S Campain1008Canada2024-06-20
Smith M Amigon1009Spain2024-05-26
Costa M Tollner1010Germany2024-05-26
Maisha S Iturbide1011Italy2024-06-20
Mujtaba Q Whobrey1012Italy2024-06-17
Darci A Nicka1013Canada2024-06-03
Juan M Nicka1014Australia2024-06-15
Leja H Sergi1015United Kingdom2024-06-18
Ivar M Inouye1016Brazil2024-06-23
Ivar I Doe1017Argentina2024-06-15
James V Darakjy1018Russia2024-06-04
Wickens C Marrier1019India2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow W OldroydIndiaIvan Magalhaes PROPOSAL
James Z ButtJapanIvan Magalhaes RENEWAL
Johnson V StockhamSpainAnna Fali UNQUALIFIED
Salvatore X NickaBrazilIoni Bowcher UNQUALIFIED
Misaki V RulapaughUnited KingdomAmy Elsner QUALIFIED
Kadeem O CaudyArgentinaAnna Fali RENEWAL
Munro D OldroydIndiaOnyama Limba RENEWAL
Faith Z CaldareraJapanStephen Shaw QUALIFIED
Jones L SlusarskiIndiaAsiya Javayant RENEWAL
Tony M KolmetzArgentinaOnyama Limba UNQUALIFIED
Maria M MaletArgentinaAnna Fali QUALIFIED
Mujtaba Y BowleyGermanyIoni Bowcher NEW
David I DarakjyAustraliaBernardo Dominic NEW
Antonio P IturbideCanadaOnyama Limba NEGOTIATION
Rodrigues J ShinkoSpainStephen Shaw NEGOTIATION
Wickens F BowleyGermanyIvan Magalhaes QUALIFIED
Johnson B FigeroaAustraliaStephen Shaw NEW
Kaitlin T ShinkoJapanAnna Fali NEW
Izzy B NickaFranceAmy Elsner QUALIFIED
David G SergiFranceOnyama Limba RENEWAL
Cody G WaycottArgentinaOnyama Limba RENEWAL
Greenwood P DoeFranceAsiya Javayant PROPOSAL
Leja R CampainItalyIvan Magalhaes UNQUALIFIED
Silvio D FollerJapanOnyama Limba PROPOSAL
Faith L TollnerIndiaAsiya Javayant PROPOSAL
Salvatore L KuskoFranceAsiya Javayant UNQUALIFIED
Antonio Z RoysterGermanyStephen Shaw NEGOTIATION
Claire S WhobreyItalyAnna Fali NEGOTIATION
Alejandro S GlickSpainStephen Shaw PROPOSAL
Faith H RoysterGermanyAmy Elsner QUALIFIED
Emily T WaycottGermanyBernardo Dominic NEGOTIATION
Emily E DoeCanadaAnna Fali NEW
Costa Y GillianFranceXuxue Feng RENEWAL
Munro U IturbideBrazilXuxue Feng NEW
Faith G SergiArgentinaElwin Sharvill NEW
David I NestleUnited KingdomBernardo Dominic QUALIFIED
Ivar U IturbideFranceAnna Fali RENEWAL
Nicolas E ButtIndiaAnna Fali QUALIFIED
Faith D GillianItalyElwin Sharvill UNQUALIFIED
Mayumi K NickaFranceElwin Sharvill NEGOTIATION

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