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
Francesco Y MaletAustraliaAmy Elsner QUALIFIED
Ashley M FerenczJapanAsiya Javayant PROPOSAL
Ashley O ShinkoBrazilXuxue Feng QUALIFIED
Costa I OstroskyUnited KingdomBernardo Dominic RENEWAL
Kadeem U SergiCanadaStephen Shaw PROPOSAL
Julie C AmigonCanadaAmy Elsner QUALIFIED
Chavez V AmigonArgentinaAmy Elsner RENEWAL
Murillo O ButtIndiaIvan Magalhaes RENEWAL
Deepesh M BologniaBrazilXuxue Feng NEW
Izzy Q MorascaGermanyElwin Sharvill UNQUALIFIED
Tony L KuskoJapanOnyama Limba RENEWAL
Jennifer O VenereFranceAmy Elsner NEGOTIATION
Emily N RimGermanyIoni Bowcher PROPOSAL
Munro P BologniaRussiaAmy Elsner UNQUALIFIED
Claire O BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem H ShinkoFranceAnna Fali NEGOTIATION
Salvatore Y FerenczCanadaAsiya Javayant RENEWAL
Antonio G PoquetteFranceBernardo Dominic RENEWAL
Francesco G MacleadArgentinaAnna Fali UNQUALIFIED
Leja M WhobreyAustraliaAmy Elsner NEGOTIATION
Misaki A CampainItalyBernardo Dominic NEW
Jennifer F StensethGermanyAnna Fali RENEWAL
Leon K FlosiRussiaAmy Elsner QUALIFIED
Jefferson K InouyeCanadaAnna Fali NEGOTIATION
Claire G RoysterItalyIoni Bowcher UNQUALIFIED
Salvatore C AmigonFranceXuxue Feng PROPOSAL
Aruna J ButtItalyAsiya Javayant QUALIFIED
Jeanfrancois Y StockhamAustraliaIvan Magalhaes NEGOTIATION
Francesco I RulapaughFranceAsiya Javayant PROPOSAL
Leja R WieserBrazilElwin Sharvill PROPOSAL
Clifford J KuskoSpainIoni Bowcher NEGOTIATION
Emily A StockhamAustraliaElwin Sharvill NEW
Cody A OldroydRussiaIvan Magalhaes QUALIFIED
Smith E IturbideAustraliaAmy Elsner PROPOSAL
Jones P GarufiUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin I OldroydBrazilAmy Elsner NEGOTIATION
Izzy R WhobreyArgentinaBernardo Dominic NEGOTIATION
Munro R AmigonItalyStephen Shaw UNQUALIFIED
Jefferson Q DarakjyItalyIvan Magalhaes PROPOSAL
Ashley C SergiRussiaIvan Magalhaes RENEWAL
Jefferson F KuskoCanadaBernardo Dominic NEGOTIATION
Isabel K GlickCanadaOnyama Limba RENEWAL
Faith L DilliardArgentinaAnna Fali PROPOSAL
Julie S BologniaItalyElwin Sharvill RENEWAL
Rodrigues O CaldareraUnited KingdomOnyama Limba PROPOSAL
Cody Y WieserJapanOnyama Limba PROPOSAL
Julie J TollnerItalyAnna Fali QUALIFIED
Greenwood B MaletUnited KingdomStephen Shaw PROPOSAL
Maria C BowleyFranceBernardo Dominic NEGOTIATION
Greenwood A TollnerUnited KingdomAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily U InouyeJapanAnna Fali RENEWAL
Mujtaba M IturbideJapanElwin Sharvill RENEWAL
David Z RutaArgentinaBernardo Dominic QUALIFIED
Jennifer Q DoeSpainXuxue Feng NEW
Aika F GauchoFranceXuxue Feng NEW
Leon V WaycottRussiaAsiya Javayant NEGOTIATION
Smith K StockhamRussiaStephen Shaw NEW
Stacey I GlickSpainIvan Magalhaes QUALIFIED
Silvio Q RulapaughSpainOnyama Limba UNQUALIFIED
Aika N DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Z CaudyBrazil2024-06-17Chapman, Ross E Esq NEW57Elwin Sharvill
1001Jennifer K BowleyFrance2024-06-07Dorl, James J Esq UNQUALIFIED56Ivan Magalhaes
1002Sinclair B BriddickAustralia2024-06-13Truhlar And Truhlar Attys PROPOSAL68Stephen Shaw
1003Leja F PoquetteFrance2024-06-03Truhlar And Truhlar Attys RENEWAL21Anna Fali
1004Salvatore O KuskoGermany2024-06-03Feiner Bros NEGOTIATION3Elwin Sharvill
1005Mujtaba L NickaCanada2024-05-31Chapman, Ross E Esq NEW64Amy Elsner
1006Kaitlin C FlosiArgentina2024-06-18Buckley Miller Wright UNQUALIFIED32Onyama Limba
1007Kadeem P KuskoArgentina2024-06-03Feiner Bros PROPOSAL16Amy Elsner
1008Antonio R SchemmerJapan2024-05-26Rousseaux, Michael Esq NEGOTIATION26Ioni Bowcher
1009Isabel N CampainItaly2024-05-20Rangoni Of Florence PROPOSAL9Asiya Javayant
1010Maria Q NickaCanada2024-06-07Dorl, James J Esq RENEWAL29Asiya Javayant
1011Greenwood V OstroskyArgentina2024-05-22Benton, John B Jr PROPOSAL56Xuxue Feng
1012Ricardo E RoysterBrazil2024-06-16Rangoni Of Florence UNQUALIFIED52Asiya Javayant
1013Jones Y SlusarskiCanada2024-05-21Buckley Miller Wright UNQUALIFIED12Ioni Bowcher
1014Stacey S IturbideFrance2024-06-13Commercial Press NEGOTIATION22Asiya Javayant
1015Kadeem J CaudyCanada2024-05-24Feltz Printing Service NEGOTIATION88Asiya Javayant
1016Kadeem Q StensethFrance2024-06-10Benton, John B Jr QUALIFIED27Ioni Bowcher
1017Greenwood I PoquetteFrance2024-06-13Truhlar And Truhlar Attys PROPOSAL25Ioni Bowcher
1018Kadeem Y CaudyArgentina2024-06-18Buckley Miller Wright NEW95Stephen Shaw
1019Cody C MaletArgentina2024-05-25Chanay, Jeffrey A Esq PROPOSAL32Ioni Bowcher
1020Kadeem X FollerGermany2024-06-04Feiner Bros PROPOSAL31Asiya Javayant
1021Aika T StensethAustralia2024-06-07Printing Dimensions QUALIFIED56Stephen Shaw
1022Aruna Z KolmetzFrance2024-06-16Dorl, James J Esq UNQUALIFIED85Stephen Shaw
1023Deepesh C PaprockiItaly2024-05-24Rangoni Of Florence RENEWAL23Anna Fali
1024Claire F MaletGermany2024-05-29Commercial Press RENEWAL81Amy Elsner
1025Sinclair M KuskoUnited Kingdom2024-05-28Printing Dimensions RENEWAL79Ivan Magalhaes
1026Aditya H DoeArgentina2024-06-06Feiner Bros NEW38Ioni Bowcher
1027David T DarakjyArgentina2024-06-18Rangoni Of Florence UNQUALIFIED58Bernardo Dominic
1028Francesco S PerinFrance2024-06-01Chemel, James L Cpa QUALIFIED88Elwin Sharvill
1029Stacey P WhobreyIndia2024-05-29Benton, John B Jr PROPOSAL60Bernardo Dominic
1030Mayumi C SergiBrazil2024-05-25Buckley Miller Wright QUALIFIED60Elwin Sharvill
1031Kaitlin S DoeItaly2024-06-05Chanay, Jeffrey A Esq NEW70Amy Elsner
1032Morrow M ShinkoUnited Kingdom2024-06-18Rangoni Of Florence PROPOSAL4Onyama Limba
1033Sinclair M BriddickItaly2024-05-31Chanay, Jeffrey A Esq NEW86Stephen Shaw
1034Emily T WieserIndia2024-06-13Chapman, Ross E Esq PROPOSAL39Ivan Magalhaes
1035Tony J MaletSpain2024-05-31Commercial Press NEW44Anna Fali
1036Alejandro E DoeFrance2024-05-20Feltz Printing Service PROPOSAL16Bernardo Dominic
1037Jones I PaprockiCanada2024-05-22Chanay, Jeffrey A Esq QUALIFIED66Stephen Shaw
1038Aika A RutaJapan2024-05-23Buckley Miller Wright NEGOTIATION0Bernardo Dominic
1039Jennifer C BologniaIndia2024-05-30Rousseaux, Michael Esq PROPOSAL56Ioni Bowcher
1040Johnson P FerenczRussia2024-05-20Dorl, James J Esq NEGOTIATION56Elwin Sharvill
1041Cody R DoeCanada2024-05-22Feiner Bros UNQUALIFIED3Asiya Javayant
1042Jennifer E CaldareraRussia2024-05-21Printing Dimensions RENEWAL93Elwin Sharvill
1043Kaitlin L AmigonAustralia2024-06-13Truhlar And Truhlar Attys PROPOSAL5Asiya Javayant
1044Costa M StockhamBrazil2024-05-21Truhlar And Truhlar Attys PROPOSAL90Asiya Javayant
1045Kaitlin E GarufiAustralia2024-05-20King, Christopher A Esq NEW52Asiya Javayant
1046Nicolas T RimFrance2024-06-13Chapman, Ross E Esq PROPOSAL20Onyama Limba
1047Jennifer P AmigonJapan2024-05-22Chapman, Ross E Esq NEGOTIATION42Bernardo Dominic
1048Claire D ShinkoAustralia2024-06-14Truhlar And Truhlar Attys PROPOSAL92Xuxue Feng
1049Salvatore Q CampainUnited Kingdom2024-06-13Truhlar And Truhlar Attys NEW76Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore G WhobreyArgentinaIoni Bowcher NEW
Mayumi L MarrierGermanyAmy Elsner RENEWAL
Sinclair T MarrierUnited KingdomIvan Magalhaes PROPOSAL
Ricardo B OldroydBrazilOnyama Limba NEGOTIATION
Silvio V WaycottFranceXuxue Feng NEGOTIATION
Maria X DarakjyArgentinaIoni Bowcher UNQUALIFIED
Adams F VenereIndiaOnyama Limba NEGOTIATION
Francesco M VenereUnited KingdomStephen Shaw QUALIFIED
Ashley Y ChuiArgentinaOnyama Limba RENEWAL
Aruna C WieserIndiaAnna Fali QUALIFIED
Salvatore E MaletRussiaOnyama Limba RENEWAL
Aditya I BologniaFranceIoni Bowcher RENEWAL
Adams I SergiFranceElwin Sharvill QUALIFIED
Darci P NickaSpainXuxue Feng UNQUALIFIED
Greenwood H InouyeUnited KingdomOnyama Limba NEGOTIATION
David Z DarakjyCanadaStephen Shaw QUALIFIED
Wickens I VenereAustraliaAmy Elsner RENEWAL
Stacey Q DoeBrazilStephen Shaw NEGOTIATION
Kadeem O BowleyUnited KingdomBernardo Dominic QUALIFIED
Leon Y VenereJapanAmy Elsner NEGOTIATION
Maria C KolmetzItalyIoni Bowcher PROPOSAL
Clifford U InouyeArgentinaOnyama Limba UNQUALIFIED
Izzy Q FollerArgentinaElwin Sharvill PROPOSAL
David P MarrierBrazilIvan Magalhaes NEW
Jennifer K IturbideAustraliaElwin Sharvill NEW
Johnson Y GauchoBrazilBernardo Dominic PROPOSAL
Mujtaba H FigeroaItalyIoni Bowcher UNQUALIFIED
James O ShinkoGermanyAnna Fali NEGOTIATION
Arvin B DilliardBrazilOnyama Limba UNQUALIFIED
Ivar W RulapaughIndiaStephen Shaw NEW
Emily V RutaRussiaAsiya Javayant RENEWAL
Francesco Z SlusarskiUnited KingdomXuxue Feng PROPOSAL
Jennifer D RoysterGermanyAmy Elsner PROPOSAL
Leon R PerinAustraliaAsiya Javayant QUALIFIED
Faith C OldroydSpainBernardo Dominic PROPOSAL
James K MacleadBrazilAmy Elsner NEW
Morrow T InouyeItalyStephen Shaw PROPOSAL
Sinclair V CaudyIndiaBernardo Dominic PROPOSAL
Johnson X SlusarskiBrazilXuxue Feng UNQUALIFIED
Isabel I SaylorsArgentinaIvan Magalhaes NEW
Leon P FollerFranceAmy Elsner NEGOTIATION
Misaki J NestleSpainBernardo Dominic UNQUALIFIED
James S StockhamFranceIvan Magalhaes NEGOTIATION
Aruna K FerenczArgentinaStephen Shaw RENEWAL
Juan E MaletFranceStephen Shaw RENEWAL
Darci L WieserItalyAmy Elsner PROPOSAL
Faith M InouyeBrazilElwin Sharvill NEGOTIATION
Ricardo L StensethBrazilAmy Elsner RENEWAL
Arvin H FollerGermanyOnyama Limba NEW
Rodrigues U MorascaRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Ashley E Caldarera
Sinclair J Vocelka
Murillo G Venere
Jones S Bolognia
Clifford R Kolmetz
Juan W Bowley
Juan C Sergi
Isabel B Figeroa
Misaki N Paprocki
Murillo E Marrier
Maisha P Glick
Emily B Vocelka
Aika M Nestle
Arvin B Poquette
Alejandro F Flosi
Morrow V Paprocki
Salvatore I Schemmer
Murillo H Butt
Arvin W Schemmer
Deepesh O Waycott
Clifford W Ruta
Kadeem N Paprocki
Silvio G Caldarera
Julie K Malet
Jeanfrancois M Oldroyd
Isabel Z Tollner
Stacey H Ruta
Rodrigues N Oldroyd
Kadeem F Gaucho
Rodrigues S Gaucho
David N Butt
Ricardo U Stenseth
Chavez V Amigon
Ivar Z Morasca
Isabel Z Albares
Isabel E Stenseth
Aika X Ostrosky
Chavez Y Garufi
Jeanfrancois I Vocelka
Aditya Z Marrier
Ivar Y Tollner
Maria G Bolognia
Ivar L Dilliard
Claire L Perin
James R Nestle
Arvin N Venere
Morrow H Ferencz
Tony W Iturbide
Kadeem X Kolmetz
Emily X Figeroa
IdCountryDate
1000United Kingdom2024-05-24
1001Spain2024-06-16
1002Japan2024-05-23
1003Argentina2024-05-25
1004Italy2024-06-14
1005Japan2024-06-02
1006Australia2024-05-29
1007France2024-05-27
1008Italy2024-05-27
1009Brazil2024-05-20
1010Italy2024-05-26
1011Canada2024-05-27
1012Canada2024-05-22
1013Canada2024-06-15
1014Brazil2024-06-10
1015Russia2024-05-26
1016Argentina2024-06-13
1017Argentina2024-06-09
1018Italy2024-05-22
1019Russia2024-05-26
1020Canada2024-05-31
1021Canada2024-05-25
1022Italy2024-06-15
1023Germany2024-06-13
1024India2024-06-03
1025United Kingdom2024-06-18
1026United Kingdom2024-05-28
1027India2024-06-16
1028United Kingdom2024-06-02
1029Spain2024-06-16
1030Brazil2024-05-29
1031United Kingdom2024-05-28
1032United Kingdom2024-06-12
1033Australia2024-06-07
1034Germany2024-06-13
1035Australia2024-06-04
1036Brazil2024-05-26
1037United Kingdom2024-06-18
1038Australia2024-05-21
1039Germany2024-05-30
1040Japan2024-05-25
1041India2024-06-17
1042Japan2024-05-26
1043Russia2024-05-31
1044Germany2024-06-18
1045Brazil2024-05-22
1046Germany2024-05-23
1047Japan2024-05-21
1048Italy2024-06-18
1049Italy2024-05-23

On-Demand Data

NameIdCountryDate
Kadeem K Poquette1000Italy2024-05-30
Jeanfrancois K Marrier1001Canada2024-06-02
Emily D Briddick1002Japan2024-05-24
Jefferson U Stenseth1003Russia2024-06-18
Mayumi B Tollner1004Argentina2024-06-18
Julie B Malet1005Russia2024-06-10
Francesco L Schemmer1006Spain2024-05-24
Julie O Schemmer1007Italy2024-05-30
Izzy F Maclead1008Brazil2024-05-21
Morrow N Wieser1009Argentina2024-06-12
David D Gaucho1010Brazil2024-06-17
Murillo S Kolmetz1011Argentina2024-06-18
Alejandro R Wieser1012France2024-05-26
Johnson O Foller1013Japan2024-06-01
Clifford S Stenseth1014Spain2024-05-24
Clifford J Waycott1015Russia2024-06-04
Leja V Rulapaugh1016Japan2024-05-21
Rodrigues M Poquette1017Italy2024-06-10
Emily T Kusko1018India2024-06-09
Johnson I Shinko1019Russia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood F RulapaughArgentinaAmy Elsner NEW
Jeanfrancois L CaudyItalyIvan Magalhaes NEGOTIATION
Johnson E WaycottBrazilElwin Sharvill UNQUALIFIED
Francesco E PerinSpainElwin Sharvill QUALIFIED
Tony K RoysterBrazilStephen Shaw UNQUALIFIED
Francesco K StensethJapanOnyama Limba NEW
Costa B StensethItalyAnna Fali UNQUALIFIED
Sinclair G PaprockiItalyBernardo Dominic PROPOSAL
Izzy F StensethGermanyAsiya Javayant NEW
Francesco O DilliardCanadaXuxue Feng UNQUALIFIED
Juan B NickaJapanAnna Fali PROPOSAL
Sinclair Q CampainBrazilBernardo Dominic NEW
Clifford P CampainSpainAmy Elsner NEGOTIATION
Tony K KuskoSpainOnyama Limba UNQUALIFIED
Smith X MaletGermanyStephen Shaw NEW
Silvio Y PoquetteArgentinaStephen Shaw PROPOSAL
Nicolas J MaletArgentinaOnyama Limba PROPOSAL
Tony C NickaBrazilBernardo Dominic PROPOSAL
Juan Y IturbideCanadaAsiya Javayant NEGOTIATION
Maria I BowleyRussiaBernardo Dominic UNQUALIFIED
Maisha Z MarrierUnited KingdomIoni Bowcher QUALIFIED
Arvin W MacleadRussiaIoni Bowcher RENEWAL
Jones P ShinkoGermanyAsiya Javayant NEW
Jones X FlosiSpainIoni Bowcher PROPOSAL
David N StockhamRussiaOnyama Limba PROPOSAL
Ashley S OstroskyArgentinaAsiya Javayant QUALIFIED
Alejandro P FollerFranceXuxue Feng NEW
Aika Z OldroydIndiaAnna Fali NEW
Darci S FollerIndiaIvan Magalhaes NEW
Aruna X WhobreyRussiaXuxue Feng PROPOSAL
Jeanfrancois Y CaldareraGermanyIoni Bowcher QUALIFIED
Emily L SaylorsGermanyElwin Sharvill PROPOSAL
Deepesh Q GlickArgentinaIvan Magalhaes QUALIFIED
Darci W BologniaAustraliaStephen Shaw QUALIFIED
Juan N ChuiBrazilXuxue Feng QUALIFIED
Jefferson W MarrierGermanyBernardo Dominic NEW
Stacey G PerinCanadaOnyama Limba RENEWAL
Faith E BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Isabel O WaycottRussiaAmy Elsner NEW
Maisha L ShinkoAustraliaOnyama Limba 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>