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
Kaitlin W KolmetzArgentinaAmy Elsner NEGOTIATION
Murillo D ButtUnited KingdomBernardo Dominic PROPOSAL
Maria S KuskoIndiaStephen Shaw PROPOSAL
Izzy I GillianFranceIvan Magalhaes QUALIFIED
Aruna X MarrierUnited KingdomXuxue Feng NEW
Silvio K DoeSpainAnna Fali PROPOSAL
Emily U SergiFranceOnyama Limba PROPOSAL
Mayumi B MaletJapanIoni Bowcher RENEWAL
Stacey Q MarrierJapanIoni Bowcher QUALIFIED
Johnson L CaldareraIndiaAmy Elsner NEW
Ricardo M NestleGermanyAsiya Javayant NEW
Kadeem C OstroskyAustraliaAsiya Javayant NEW
Antonio K RimBrazilIvan Magalhaes UNQUALIFIED
Faith W StockhamFranceAsiya Javayant RENEWAL
Nicolas C DarakjyGermanyElwin Sharvill NEGOTIATION
Jones Z ShinkoGermanyIoni Bowcher NEW
Misaki M MacleadAustraliaAnna Fali QUALIFIED
Costa X SergiGermanyIvan Magalhaes RENEWAL
Costa R NickaIndiaBernardo Dominic NEGOTIATION
Jennifer O AmigonCanadaAmy Elsner PROPOSAL
Wickens X DilliardSpainOnyama Limba NEW
Sinclair K BologniaFranceIvan Magalhaes NEW
Adams K KolmetzCanadaBernardo Dominic QUALIFIED
Kadeem H MacleadJapanAmy Elsner PROPOSAL
Jennifer H CaudyRussiaOnyama Limba NEW
Rodrigues F FerenczFranceElwin Sharvill QUALIFIED
Maisha C CampainArgentinaStephen Shaw RENEWAL
Tony Y BologniaFranceXuxue Feng NEW
Stacey W SchemmerUnited KingdomAsiya Javayant NEW
Tony P StensethItalyAmy Elsner QUALIFIED
Antonio I RoysterBrazilIoni Bowcher NEW
Leon D BriddickSpainElwin Sharvill QUALIFIED
Jefferson Y DilliardJapanStephen Shaw NEW
Maria Y PaprockiJapanStephen Shaw PROPOSAL
Murillo N RutaBrazilXuxue Feng NEGOTIATION
Chavez G WieserSpainOnyama Limba QUALIFIED
Sinclair H TollnerSpainStephen Shaw NEW
Tony W CaldareraUnited KingdomAnna Fali PROPOSAL
Leon W CaudySpainAnna Fali QUALIFIED
Clifford S SchemmerBrazilAsiya Javayant NEW
Jeanfrancois Q KuskoGermanyStephen Shaw NEW
Tony R BriddickArgentinaAnna Fali NEW
Ivar H KuskoCanadaAnna Fali NEW
Arvin X CaudyArgentinaElwin Sharvill NEW
Johnson M AmigonSpainBernardo Dominic QUALIFIED
Aruna C RimUnited KingdomStephen Shaw PROPOSAL
Ashley N RutaGermanyAnna Fali NEGOTIATION
Smith M SlusarskiCanadaElwin Sharvill PROPOSAL
David J ChuiAustraliaStephen Shaw QUALIFIED
Misaki V RulapaughCanadaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens A NestleItalyIoni Bowcher UNQUALIFIED
Costa P TollnerRussiaBernardo Dominic NEW
Jones B StockhamAustraliaIvan Magalhaes RENEWAL
Stacey V PaprockiRussiaIvan Magalhaes UNQUALIFIED
Antonio M DilliardBrazilAmy Elsner NEW
Izzy Z MaletItalyIvan Magalhaes PROPOSAL
Stacey D StensethAustraliaAsiya Javayant PROPOSAL
Kadeem T GlickRussiaOnyama Limba NEW
Jefferson D KolmetzFranceIoni Bowcher QUALIFIED
Kaitlin T SlusarskiIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson B RulapaughGermany2025-04-18Chemel, James L Cpa QUALIFIED27Onyama Limba
1001Clifford A GauchoArgentina2025-04-24Feiner Bros NEGOTIATION84Bernardo Dominic
1002Claire U MacleadUnited Kingdom2025-04-29Chemel, James L Cpa QUALIFIED33Xuxue Feng
1003Morrow D IturbideArgentina2025-04-14Morlong Associates NEGOTIATION34Anna Fali
1004Faith J MaletIndia2025-04-09Chapman, Ross E Esq NEW68Ivan Magalhaes
1005Mujtaba N ChuiUnited Kingdom2025-04-14Rangoni Of Florence NEW71Ioni Bowcher
1006Kaitlin U BologniaBrazil2025-04-12Truhlar And Truhlar Attys NEW69Anna Fali
1007Chavez D TollnerArgentina2025-04-26Rangoni Of Florence RENEWAL84Anna Fali
1008Octavia T GarufiArgentina2025-04-21Dorl, James J Esq RENEWAL80Asiya Javayant
1009Aika B PoquetteArgentina2025-04-12Feiner Bros NEW68Onyama Limba
1010Juan X BowleyGermany2025-04-10Chapman, Ross E Esq PROPOSAL74Ivan Magalhaes
1011Mujtaba K StockhamJapan2025-04-11Morlong Associates NEW40Asiya Javayant
1012Aruna J MaletCanada2025-04-23Rousseaux, Michael Esq NEW12Stephen Shaw
1013James F CampainGermany2025-04-26Feiner Bros NEGOTIATION82Ivan Magalhaes
1014Kaitlin Q SaylorsBrazil2025-04-20Printing Dimensions NEW91Anna Fali
1015Munro I IturbideAustralia2025-04-21Commercial Press NEGOTIATION41Anna Fali
1016Cody C MaletAustralia2025-04-27Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1017Costa P AlbaresJapan2025-04-25Chanay, Jeffrey A Esq NEGOTIATION50Xuxue Feng
1018Clifford K FigeroaItaly2025-04-27Dorl, James J Esq RENEWAL42Onyama Limba
1019Antonio K VenereRussia2025-04-22Rangoni Of Florence QUALIFIED53Ioni Bowcher
1020Juan G FigeroaUnited Kingdom2025-04-28Dorl, James J Esq QUALIFIED28Ivan Magalhaes
1021Octavia J WaycottItaly2025-04-20Feltz Printing Service NEGOTIATION18Asiya Javayant
1022Wickens Z CampainAustralia2025-04-17Morlong Associates NEGOTIATION95Bernardo Dominic
1023Stacey Z BriddickAustralia2025-04-17Feiner Bros QUALIFIED68Xuxue Feng
1024Isabel I WaycottUnited Kingdom2025-04-26Morlong Associates NEW7Onyama Limba
1025Maisha O CampainCanada2025-04-16Feltz Printing Service PROPOSAL8Xuxue Feng
1026Maisha V PerinIndia2025-04-01Truhlar And Truhlar Attys RENEWAL92Ivan Magalhaes
1027Jeanfrancois C RulapaughSpain2025-04-05Printing Dimensions RENEWAL11Amy Elsner
1028Arvin C DarakjyJapan2025-04-10Chanay, Jeffrey A Esq PROPOSAL53Onyama Limba
1029Munro G GlickArgentina2025-04-16Commercial Press NEW75Onyama Limba
1030Isabel Q MacleadIndia2025-04-03King, Christopher A Esq QUALIFIED24Amy Elsner
1031Leja G SchemmerArgentina2025-04-27Benton, John B Jr RENEWAL94Anna Fali
1032Maria U InouyeBrazil2025-04-08Chemel, James L Cpa QUALIFIED20Ioni Bowcher
1033Greenwood A WieserBrazil2025-04-07Feltz Printing Service UNQUALIFIED98Stephen Shaw
1034Alejandro U GlickUnited Kingdom2025-04-20Dorl, James J Esq NEW41Ioni Bowcher
1035Aika J BologniaAustralia2025-04-03Morlong Associates RENEWAL10Stephen Shaw
1036Costa G MorascaUnited Kingdom2025-04-25Chapman, Ross E Esq QUALIFIED76Bernardo Dominic
1037Alejandro K WaycottFrance2025-04-23Rousseaux, Michael Esq PROPOSAL77Bernardo Dominic
1038James G PoquetteSpain2025-04-11Rousseaux, Michael Esq NEGOTIATION74Bernardo Dominic
1039Morrow K StensethIndia2025-04-24Commercial Press NEGOTIATION74Ivan Magalhaes
1040James M StensethItaly2025-04-04Chapman, Ross E Esq QUALIFIED46Ivan Magalhaes
1041Mujtaba F ButtAustralia2025-04-21Chemel, James L Cpa NEW44Ivan Magalhaes
1042Rodrigues M FlosiCanada2025-04-15Morlong Associates PROPOSAL19Xuxue Feng
1043Ricardo H RutaFrance2025-04-06Printing Dimensions UNQUALIFIED18Onyama Limba
1044Julie T WaycottBrazil2025-04-30Feiner Bros RENEWAL68Ivan Magalhaes
1045Kadeem I KuskoFrance2025-04-06Buckley Miller Wright RENEWAL80Onyama Limba
1046Murillo V DarakjyItaly2025-04-29Printing Dimensions UNQUALIFIED93Ioni Bowcher
1047Isabel J GillianUnited Kingdom2025-04-25Chemel, James L Cpa UNQUALIFIED97Stephen Shaw
1048Darci Z RoysterUnited Kingdom2025-04-28Benton, John B Jr NEW83Asiya Javayant
1049Silvio E IturbideUnited Kingdom2025-04-27Chanay, Jeffrey A Esq PROPOSAL58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow E CaldareraGermanyAmy Elsner RENEWAL
Murillo B RimCanadaIoni Bowcher UNQUALIFIED
Mujtaba D BologniaAustraliaElwin Sharvill QUALIFIED
Salvatore F FigeroaFranceIoni Bowcher QUALIFIED
Tony V GauchoGermanyAnna Fali NEW
Munro A DarakjyIndiaBernardo Dominic PROPOSAL
Aditya U FerenczItalyOnyama Limba RENEWAL
Darci I WieserItalyBernardo Dominic NEW
Claire O VenereJapanXuxue Feng PROPOSAL
James Z AmigonSpainStephen Shaw NEGOTIATION
Izzy X GillianUnited KingdomAmy Elsner PROPOSAL
Johnson Q MaletBrazilIvan Magalhaes QUALIFIED
Smith F BowleyIndiaIoni Bowcher QUALIFIED
Juan K PerinCanadaBernardo Dominic NEW
Misaki I BologniaFranceXuxue Feng NEW
Wickens N WieserIndiaStephen Shaw UNQUALIFIED
Costa K ChuiBrazilXuxue Feng PROPOSAL
Stacey N InouyeJapanAmy Elsner RENEWAL
Mayumi H RutaAustraliaElwin Sharvill QUALIFIED
Salvatore O StensethGermanyOnyama Limba RENEWAL
Alejandro L SergiItalyAsiya Javayant NEW
Ivar L MaletAustraliaAnna Fali NEW
Chavez S SlusarskiArgentinaXuxue Feng PROPOSAL
Salvatore R OstroskyJapanAnna Fali NEW
Darci Z KuskoItalyAmy Elsner UNQUALIFIED
Antonio C FollerSpainStephen Shaw RENEWAL
Ivar K ChuiIndiaStephen Shaw UNQUALIFIED
Ricardo B MacleadSpainAsiya Javayant UNQUALIFIED
Mayumi D MaletGermanyAsiya Javayant NEW
Jeanfrancois Z ShinkoArgentinaXuxue Feng QUALIFIED
Kadeem K RimBrazilIoni Bowcher RENEWAL
Aruna T WaycottArgentinaStephen Shaw RENEWAL
Sinclair P StockhamFranceStephen Shaw PROPOSAL
Alejandro N InouyeGermanyOnyama Limba PROPOSAL
Tony F OldroydSpainAnna Fali NEGOTIATION
Tony W PaprockiCanadaXuxue Feng NEW
Mayumi W VocelkaArgentinaXuxue Feng QUALIFIED
Jones V MacleadFranceBernardo Dominic UNQUALIFIED
Francesco Q WhobreyBrazilBernardo Dominic PROPOSAL
Sinclair Q AlbaresGermanyStephen Shaw PROPOSAL
Maisha D WaycottCanadaAsiya Javayant RENEWAL
Mujtaba J OstroskyArgentinaIoni Bowcher UNQUALIFIED
Wickens G VocelkaCanadaOnyama Limba QUALIFIED
Alejandro G RulapaughArgentinaOnyama Limba QUALIFIED
Leon X FerenczGermanyStephen Shaw RENEWAL
Jefferson A FollerBrazilAsiya Javayant QUALIFIED
Munro O GarufiAustraliaStephen Shaw NEGOTIATION
Sinclair R KolmetzArgentinaElwin Sharvill UNQUALIFIED
Octavia U RimCanadaBernardo Dominic NEGOTIATION
Murillo U ChuiJapanOnyama Limba PROPOSAL
Frozen Columns
Name
Jones E Bolognia
Isabel P Stenseth
Salvatore Y Nicka
Leja G Rulapaugh
Greenwood R Vocelka
Cody J Malet
Antonio V Rulapaugh
Emily E Schemmer
Tony C Shinko
Cody C Malet
Silvio K Flosi
Mayumi H Iturbide
Antonio K Perin
Silvio V Dilliard
Alejandro H Gillian
Munro L Caudy
Jones K Whobrey
Octavia W Stenseth
Leon H Amigon
Jefferson Y Bolognia
Izzy S Bolognia
Francesco F Paprocki
Izzy A Saylors
Claire I Perin
Claire D Butt
Stacey N Rim
Rodrigues U Dilliard
Adams D Rim
Antonio I Kolmetz
Ricardo V Flosi
Izzy W Chui
Izzy J Ferencz
Smith X Malet
Maisha R Campain
Julie W Sergi
Greenwood J Flosi
Maisha G Darakjy
Ivar L Bowley
Jeanfrancois D Darakjy
Aika P Marrier
Morrow N Schemmer
Salvatore D Figeroa
Mujtaba Y Maclead
Claire S Campain
Murillo S Ferencz
Adams N Royster
Julie W Caldarera
Kadeem Q Butt
Mujtaba D Shinko
Kadeem U Iturbide
IdCountryDate
1000Argentina2025-04-22
1001Australia2025-04-13
1002United Kingdom2025-04-03
1003Argentina2025-04-06
1004Canada2025-04-12
1005Japan2025-04-29
1006India2025-04-01
1007Spain2025-04-05
1008Japan2025-04-07
1009Canada2025-04-14
1010Canada2025-04-10
1011Argentina2025-04-14
1012Brazil2025-04-13
1013Argentina2025-04-30
1014Australia2025-04-03
1015Brazil2025-04-22
1016Japan2025-04-13
1017Argentina2025-04-26
1018Italy2025-04-08
1019Australia2025-04-19
1020United Kingdom2025-04-28
1021Japan2025-04-14
1022Italy2025-04-25
1023Italy2025-04-02
1024Argentina2025-04-12
1025Germany2025-04-21
1026Russia2025-04-18
1027India2025-04-02
1028Canada2025-04-11
1029Japan2025-04-01
1030India2025-04-26
1031Spain2025-04-29
1032Brazil2025-04-12
1033United Kingdom2025-04-07
1034France2025-04-30
1035Japan2025-04-11
1036France2025-04-11
1037Russia2025-04-17
1038Italy2025-04-27
1039Brazil2025-04-30
1040Canada2025-04-17
1041India2025-04-30
1042Brazil2025-04-19
1043Australia2025-04-03
1044Canada2025-04-11
1045Japan2025-04-22
1046Brazil2025-04-05
1047India2025-04-12
1048Brazil2025-04-27
1049Argentina2025-04-06

On-Demand Data

NameIdCountryDate
Stacey Z Dilliard1000Argentina2025-04-26
Mujtaba I Nicka1001France2025-04-15
Jennifer W Kolmetz1002Spain2025-04-20
Tony E Bowley1003Canada2025-04-01
Ashley H Saylors1004Spain2025-04-11
Johnson X Briddick1005United Kingdom2025-04-02
Ricardo W Ruta1006Russia2025-04-15
Nicolas Y Doe1007Australia2025-04-23
Ricardo W Dilliard1008Brazil2025-04-27
Aika L Amigon1009Italy2025-04-30
Darci Q Butt1010United Kingdom2025-04-14
Clifford K Tollner1011Australia2025-04-28
Maria L Slusarski1012Spain2025-04-15
Alejandro I Garufi1013United Kingdom2025-04-20
Silvio V Albares1014Canada2025-04-07
Chavez J Stenseth1015France2025-04-12
Clifford C Poquette1016Australia2025-04-27
Jeanfrancois K Chui1017Australia2025-04-24
Deepesh A Maclead1018Australia2025-04-21
Smith R Stockham1019Russia2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon S FlosiFranceOnyama Limba NEW
Ivar T FerenczAustraliaXuxue Feng QUALIFIED
Greenwood P GlickIndiaAmy Elsner UNQUALIFIED
David M GlickAustraliaIoni Bowcher PROPOSAL
Jones J AlbaresUnited KingdomOnyama Limba RENEWAL
Smith F StockhamRussiaAnna Fali UNQUALIFIED
Misaki J SergiUnited KingdomAnna Fali NEGOTIATION
Aditya M RimRussiaStephen Shaw UNQUALIFIED
James U GauchoGermanyIoni Bowcher QUALIFIED
Maisha S ShinkoAustraliaOnyama Limba RENEWAL
Antonio M InouyeSpainAsiya Javayant NEGOTIATION
Ashley H NestleItalyIoni Bowcher RENEWAL
Munro T SlusarskiCanadaAsiya Javayant NEW
Rodrigues N GarufiIndiaElwin Sharvill RENEWAL
Mayumi G SchemmerFranceAmy Elsner NEGOTIATION
Arvin E DoeJapanOnyama Limba UNQUALIFIED
Isabel T RutaGermanyStephen Shaw PROPOSAL
Emily W GarufiArgentinaAsiya Javayant NEW
Claire G DoeSpainAmy Elsner PROPOSAL
Adams C SlusarskiItalyBernardo Dominic UNQUALIFIED
Izzy G FlosiAustraliaXuxue Feng NEW
Stacey I AlbaresSpainOnyama Limba PROPOSAL
Leja W StensethItalyIoni Bowcher QUALIFIED
Chavez K BowleyAustraliaXuxue Feng PROPOSAL
Adams F RimRussiaXuxue Feng QUALIFIED
Misaki U CaldareraFranceAsiya Javayant NEW
Mujtaba H GarufiJapanXuxue Feng UNQUALIFIED
Maisha L WhobreyUnited KingdomBernardo Dominic PROPOSAL
Maisha E ButtIndiaAmy Elsner UNQUALIFIED
Adams G BologniaFranceAnna Fali QUALIFIED
Morrow A CampainRussiaElwin Sharvill RENEWAL
Aditya H PoquetteUnited KingdomAnna Fali NEW
Sinclair S StensethBrazilElwin Sharvill QUALIFIED
Juan Q GauchoBrazilStephen Shaw QUALIFIED
Leon C RimGermanyAmy Elsner PROPOSAL
Isabel J CaudyItalyBernardo Dominic UNQUALIFIED
Alejandro I FollerAustraliaIoni Bowcher RENEWAL
Leja K PerinItalyStephen Shaw QUALIFIED
Maisha Z OstroskyItalyElwin Sharvill NEW
Alejandro T GauchoCanadaAmy Elsner 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>