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
Ashley Y KuskoArgentinaAmy Elsner NEGOTIATION
Aika R AlbaresGermanyStephen Shaw UNQUALIFIED
Leja N WieserIndiaIoni Bowcher UNQUALIFIED
Clifford Y CampainCanadaStephen Shaw NEW
Nicolas Z FlosiAustraliaStephen Shaw PROPOSAL
Isabel V SergiRussiaXuxue Feng NEGOTIATION
Costa B NestleBrazilAnna Fali PROPOSAL
Antonio M DoeBrazilIoni Bowcher QUALIFIED
James D StensethAustraliaIvan Magalhaes QUALIFIED
Aika E VenereGermanyAsiya Javayant NEGOTIATION
Jefferson S PaprockiRussiaIvan Magalhaes QUALIFIED
Faith I GillianIndiaXuxue Feng UNQUALIFIED
Kadeem S KolmetzIndiaStephen Shaw NEW
Jeanfrancois V KuskoAustraliaXuxue Feng QUALIFIED
Leja U VocelkaArgentinaStephen Shaw PROPOSAL
Costa E MarrierRussiaAsiya Javayant QUALIFIED
James J RutaGermanyIvan Magalhaes NEGOTIATION
Clifford L StensethBrazilXuxue Feng NEGOTIATION
Murillo G RutaSpainAnna Fali NEGOTIATION
Chavez F SaylorsArgentinaXuxue Feng NEW
Misaki P VocelkaSpainAnna Fali NEW
Wickens F SaylorsJapanIvan Magalhaes NEW
Smith Q BriddickItalyAnna Fali NEW
Isabel X DoeItalyElwin Sharvill PROPOSAL
Alejandro R AlbaresJapanAnna Fali NEW
Julie L VenereIndiaAmy Elsner NEW
Rodrigues W IturbideFranceOnyama Limba PROPOSAL
Cody U FigeroaRussiaStephen Shaw PROPOSAL
Arvin D RulapaughFranceBernardo Dominic NEGOTIATION
Leon D RoysterSpainAmy Elsner UNQUALIFIED
Antonio T FlosiCanadaIoni Bowcher NEGOTIATION
Tony K VocelkaCanadaStephen Shaw NEW
Claire Z NestleRussiaXuxue Feng UNQUALIFIED
Jones Y BologniaFranceBernardo Dominic PROPOSAL
Kaitlin Q CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Chavez U ButtAustraliaIoni Bowcher NEW
Aika B MaletAustraliaAmy Elsner QUALIFIED
Adams Z NickaRussiaAnna Fali NEGOTIATION
Jones W FollerSpainAnna Fali NEW
Jones Q PerinSpainBernardo Dominic UNQUALIFIED
Ivar N PerinGermanyXuxue Feng NEGOTIATION
Adams D GlickArgentinaOnyama Limba NEGOTIATION
Mayumi U AlbaresGermanyOnyama Limba QUALIFIED
Morrow J DilliardAustraliaAmy Elsner NEW
Izzy Q PerinRussiaAnna Fali NEW
Chavez W SchemmerGermanyIvan Magalhaes QUALIFIED
Silvio O OldroydAustraliaIvan Magalhaes QUALIFIED
Ricardo A MorascaArgentinaXuxue Feng QUALIFIED
Johnson P KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer F RimGermanyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues H WhobreyBrazilAmy Elsner RENEWAL
Francesco H SaylorsFranceOnyama Limba NEGOTIATION
David O SlusarskiBrazilElwin Sharvill PROPOSAL
Salvatore Z PoquetteBrazilElwin Sharvill QUALIFIED
Jones N ChuiItalyAsiya Javayant QUALIFIED
Chavez U InouyeSpainAsiya Javayant QUALIFIED
Morrow E WhobreyIndiaBernardo Dominic PROPOSAL
Stacey S OldroydBrazilIoni Bowcher UNQUALIFIED
Salvatore C SlusarskiSpainAsiya Javayant NEGOTIATION
Adams P FollerRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens R SergiIndia2024-06-01Chapman, Ross E Esq NEW21Onyama Limba
1001Izzy P BriddickJapan2024-06-03Commercial Press PROPOSAL33Elwin Sharvill
1002Maisha M BriddickUnited Kingdom2024-06-13Chanay, Jeffrey A Esq PROPOSAL57Stephen Shaw
1003Maria Q SchemmerSpain2024-05-30Chemel, James L Cpa RENEWAL55Stephen Shaw
1004Jennifer V FollerBrazil2024-06-12Rousseaux, Michael Esq NEW57Bernardo Dominic
1005Clifford U MaletAustralia2024-05-27Buckley Miller Wright NEW88Xuxue Feng
1006Greenwood K MaletIndia2024-05-29Chemel, James L Cpa NEGOTIATION77Bernardo Dominic
1007Claire B ShinkoItaly2024-06-06Buckley Miller Wright RENEWAL66Anna Fali
1008Jones G DoeFrance2024-05-27Feiner Bros PROPOSAL23Onyama Limba
1009Munro T TollnerGermany2024-06-18Chapman, Ross E Esq NEW75Xuxue Feng
1010Antonio T BriddickAustralia2024-06-21Printing Dimensions PROPOSAL75Bernardo Dominic
1011Arvin Q ChuiUnited Kingdom2024-06-19Feltz Printing Service NEW0Stephen Shaw
1012Salvatore M MacleadBrazil2024-05-29Rousseaux, Michael Esq PROPOSAL67Onyama Limba
1013Silvio H CaldareraFrance2024-06-06Chanay, Jeffrey A Esq RENEWAL96Xuxue Feng
1014Silvio N SlusarskiSpain2024-06-15Rangoni Of Florence PROPOSAL61Bernardo Dominic
1015Maria S RulapaughGermany2024-06-19Rousseaux, Michael Esq NEGOTIATION32Ioni Bowcher
1016Greenwood Y MaletGermany2024-05-24Commercial Press NEW84Onyama Limba
1017Julie B IturbideUnited Kingdom2024-06-05Rangoni Of Florence NEW12Bernardo Dominic
1018Silvio W InouyeJapan2024-06-06Dorl, James J Esq NEW50Ioni Bowcher
1019Aika W OldroydBrazil2024-06-17Chanay, Jeffrey A Esq NEGOTIATION79Ivan Magalhaes
1020Aditya P MarrierAustralia2024-05-24Chapman, Ross E Esq NEW21Asiya Javayant
1021Sinclair E AlbaresUnited Kingdom2024-06-10Truhlar And Truhlar Attys PROPOSAL78Xuxue Feng
1022Claire D StockhamUnited Kingdom2024-06-09Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1023Francesco C NickaBrazil2024-06-11Chapman, Ross E Esq UNQUALIFIED83Anna Fali
1024Cody M PoquetteRussia2024-06-21Commercial Press NEGOTIATION14Onyama Limba
1025Leon T CampainSpain2024-06-02Printing Dimensions QUALIFIED27Elwin Sharvill
1026Leja B DilliardJapan2024-06-14Truhlar And Truhlar Attys PROPOSAL74Bernardo Dominic
1027Aruna V RutaFrance2024-06-17Chapman, Ross E Esq UNQUALIFIED9Xuxue Feng
1028Murillo M FlosiItaly2024-06-17Chanay, Jeffrey A Esq QUALIFIED36Bernardo Dominic
1029David Z NestleJapan2024-06-03Commercial Press UNQUALIFIED79Elwin Sharvill
1030Silvio Z WhobreyCanada2024-06-17Printing Dimensions UNQUALIFIED47Stephen Shaw
1031Maisha L MaletAustralia2024-06-18Chapman, Ross E Esq NEW37Ivan Magalhaes
1032Jennifer S ShinkoArgentina2024-06-13Morlong Associates PROPOSAL64Xuxue Feng
1033Silvio U WaycottFrance2024-06-21Rangoni Of Florence UNQUALIFIED56Xuxue Feng
1034Munro C AmigonGermany2024-05-26Buckley Miller Wright UNQUALIFIED38Ivan Magalhaes
1035Misaki W SchemmerItaly2024-05-27Feiner Bros RENEWAL72Xuxue Feng
1036Smith X RulapaughBrazil2024-06-03King, Christopher A Esq NEW69Ioni Bowcher
1037Emily A KuskoFrance2024-05-25Chemel, James L Cpa NEGOTIATION28Onyama Limba
1038James Z OldroydJapan2024-06-18Commercial Press QUALIFIED5Amy Elsner
1039Mayumi K WhobreyIndia2024-06-01Commercial Press UNQUALIFIED8Anna Fali
1040Leon L KuskoJapan2024-05-27Chemel, James L Cpa QUALIFIED85Anna Fali
1041Claire G SchemmerCanada2024-06-10Commercial Press RENEWAL48Ivan Magalhaes
1042Jeanfrancois P SchemmerBrazil2024-06-01Chemel, James L Cpa RENEWAL84Ioni Bowcher
1043Ivar G WhobreyAustralia2024-06-19Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
1044Deepesh F DoeSpain2024-06-07Feltz Printing Service UNQUALIFIED30Bernardo Dominic
1045Mujtaba U ButtArgentina2024-06-08Morlong Associates QUALIFIED58Ivan Magalhaes
1046Darci R TollnerJapan2024-05-30Printing Dimensions QUALIFIED14Xuxue Feng
1047Cody I AlbaresArgentina2024-06-08Commercial Press PROPOSAL54Xuxue Feng
1048Mayumi R MarrierAustralia2024-06-10Rangoni Of Florence NEGOTIATION0Onyama Limba
1049Smith Q TollnerSpain2024-05-29Rangoni Of Florence NEW24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba S MorascaAustraliaXuxue Feng NEGOTIATION
Kaitlin H SergiArgentinaIoni Bowcher UNQUALIFIED
Arvin F GillianBrazilXuxue Feng NEW
Deepesh G SaylorsSpainStephen Shaw NEW
Misaki D ShinkoSpainOnyama Limba PROPOSAL
Juan U TollnerSpainBernardo Dominic QUALIFIED
Alejandro I ButtCanadaAnna Fali PROPOSAL
Claire L FlosiGermanyBernardo Dominic UNQUALIFIED
Maisha B SchemmerRussiaElwin Sharvill QUALIFIED
Octavia L SaylorsGermanyXuxue Feng UNQUALIFIED
Izzy M RoysterUnited KingdomIvan Magalhaes QUALIFIED
Francesco G WaycottGermanyStephen Shaw RENEWAL
Wickens X VocelkaCanadaXuxue Feng NEW
Nicolas R MarrierIndiaAmy Elsner UNQUALIFIED
Maria J GauchoArgentinaAsiya Javayant QUALIFIED
Rodrigues C GauchoUnited KingdomXuxue Feng PROPOSAL
Misaki E BowleyAustraliaStephen Shaw QUALIFIED
Ivar A GlickBrazilAmy Elsner QUALIFIED
Izzy J PerinCanadaIoni Bowcher UNQUALIFIED
Chavez C OstroskySpainAmy Elsner UNQUALIFIED
Antonio E OldroydIndiaAsiya Javayant PROPOSAL
Costa F NickaItalyElwin Sharvill RENEWAL
Aruna X KolmetzBrazilElwin Sharvill QUALIFIED
Julie M CampainBrazilElwin Sharvill QUALIFIED
Munro N KuskoUnited KingdomOnyama Limba RENEWAL
Morrow C MacleadArgentinaStephen Shaw NEGOTIATION
Leon Q RutaGermanyAnna Fali RENEWAL
Juan E GillianFranceIoni Bowcher UNQUALIFIED
Kaitlin D SergiRussiaBernardo Dominic UNQUALIFIED
Antonio W PoquetteItalyBernardo Dominic UNQUALIFIED
Jeanfrancois J VenereUnited KingdomStephen Shaw RENEWAL
Emily C DilliardFranceBernardo Dominic UNQUALIFIED
James R SaylorsSpainIoni Bowcher PROPOSAL
Arvin W ChuiSpainAmy Elsner UNQUALIFIED
Morrow Z SchemmerGermanyAmy Elsner QUALIFIED
David M GauchoArgentinaAmy Elsner RENEWAL
Jefferson F SergiJapanIoni Bowcher RENEWAL
Munro W NickaIndiaAmy Elsner QUALIFIED
Misaki J FlosiJapanIoni Bowcher NEW
Maisha Q VocelkaJapanIvan Magalhaes NEGOTIATION
James B InouyeIndiaAmy Elsner NEW
Costa R FigeroaUnited KingdomOnyama Limba NEW
Jeanfrancois J SaylorsFranceAsiya Javayant NEW
Chavez O PerinFranceOnyama Limba NEW
Ivar F KuskoIndiaAsiya Javayant QUALIFIED
Maria M RimArgentinaIoni Bowcher UNQUALIFIED
Misaki M GauchoRussiaStephen Shaw UNQUALIFIED
Jennifer S PaprockiItalyAmy Elsner QUALIFIED
Morrow P ButtAustraliaElwin Sharvill NEGOTIATION
Isabel X CaudyItalyStephen Shaw RENEWAL
Frozen Columns
Name
Greenwood A Flosi
Izzy K Caudy
Munro F Albares
James O Stenseth
Leon L Marrier
Aika Y Nestle
Ashley S Iturbide
David G Vocelka
Kadeem O Royster
Darci H Briddick
Murillo N Caudy
Stacey B Tollner
Salvatore X Gillian
Julie Q Dilliard
Salvatore D Nicka
Silvio J Nicka
Tony N Caldarera
Francesco R Gaucho
Maisha F Perin
Jones D Gaucho
James C Kolmetz
David A Bolognia
Kaitlin R Perin
Ivar N Figeroa
Alejandro W Chui
Antonio J Kolmetz
James Q Waycott
Costa O Dilliard
Jennifer V Maclead
Greenwood A Glick
Leon K Doe
Murillo J Kusko
Rodrigues F Stenseth
Aruna V Maclead
Antonio J Bowley
Jennifer M Morasca
Maria T Flosi
Misaki H Whobrey
Jeanfrancois S Gillian
Arvin T Dilliard
Octavia Z Paprocki
Mayumi I Royster
Aika U Gaucho
Maria M Bowley
Francesco A Glick
Adams H Saylors
Antonio V Gaucho
Mujtaba I Ferencz
Arvin T Maclead
Morrow R Caldarera
IdCountryDate
1000Canada2024-05-25
1001United Kingdom2024-05-30
1002Japan2024-05-27
1003France2024-05-24
1004Japan2024-06-22
1005Japan2024-05-28
1006Italy2024-06-04
1007Italy2024-05-26
1008United Kingdom2024-06-14
1009Canada2024-05-28
1010Canada2024-06-12
1011United Kingdom2024-05-24
1012United Kingdom2024-05-24
1013Brazil2024-05-25
1014India2024-06-18
1015India2024-06-02
1016Spain2024-06-16
1017Russia2024-06-15
1018Italy2024-05-29
1019United Kingdom2024-05-31
1020United Kingdom2024-06-19
1021Australia2024-06-10
1022Australia2024-06-15
1023Russia2024-06-14
1024India2024-05-25
1025Brazil2024-06-22
1026Italy2024-05-31
1027Argentina2024-06-21
1028Canada2024-05-31
1029Germany2024-06-17
1030Canada2024-06-06
1031France2024-06-11
1032Spain2024-05-31
1033Germany2024-06-06
1034Brazil2024-06-21
1035Spain2024-06-18
1036Germany2024-06-09
1037Russia2024-06-12
1038Canada2024-06-10
1039Germany2024-05-25
1040Russia2024-06-21
1041India2024-06-01
1042Italy2024-06-03
1043United Kingdom2024-05-30
1044Italy2024-05-26
1045United Kingdom2024-06-14
1046Argentina2024-05-26
1047India2024-06-03
1048Japan2024-06-06
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Isabel R Malet1000Russia2024-05-25
Aika R Stockham1001Japan2024-05-25
Octavia N Bowley1002United Kingdom2024-06-02
Octavia W Glick1003Japan2024-05-25
Darci M Malet1004Italy2024-05-24
Faith Z Bowley1005Italy2024-06-10
Aditya F Caldarera1006Australia2024-06-12
Morrow R Kolmetz1007Italy2024-06-10
Antonio Y Ruta1008Canada2024-06-06
Emily Z Caldarera1009Spain2024-06-03
Maria V Royster1010Russia2024-06-14
Francesco Y Glick1011Brazil2024-05-24
Misaki Z Rim1012United Kingdom2024-06-07
Sinclair C Perin1013United Kingdom2024-06-20
Juan K Darakjy1014Italy2024-05-28
Aika L Figeroa1015France2024-06-22
Emily U Maclead1016Canada2024-06-11
Antonio E Glick1017Brazil2024-06-03
Maisha F Butt1018India2024-06-15
Antonio O Campain1019Germany2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey A CaldareraArgentinaStephen Shaw NEGOTIATION
Jennifer J BologniaGermanyBernardo Dominic PROPOSAL
James F KuskoCanadaAnna Fali NEW
Julie A AmigonArgentinaXuxue Feng PROPOSAL
Jones Z GauchoCanadaXuxue Feng QUALIFIED
Isabel B SchemmerItalyXuxue Feng QUALIFIED
Jeanfrancois O SaylorsArgentinaBernardo Dominic NEGOTIATION
Tony G ButtFranceAnna Fali NEW
Mujtaba M MarrierIndiaBernardo Dominic QUALIFIED
Emily L MaletCanadaXuxue Feng QUALIFIED
Kadeem R CaldareraBrazilAsiya Javayant NEGOTIATION
Smith B ShinkoJapanXuxue Feng NEW
Aruna P AmigonJapanIoni Bowcher PROPOSAL
Aika H VocelkaGermanyXuxue Feng NEGOTIATION
Aditya H GlickIndiaStephen Shaw NEW
Costa F RutaIndiaAmy Elsner QUALIFIED
Johnson O TollnerSpainBernardo Dominic PROPOSAL
Leon M WhobreyGermanyXuxue Feng PROPOSAL
Chavez P OldroydSpainXuxue Feng NEW
Darci L SlusarskiGermanyIvan Magalhaes UNQUALIFIED
James G FlosiJapanAmy Elsner RENEWAL
Arvin Y PerinArgentinaStephen Shaw NEW
Kaitlin F SchemmerArgentinaOnyama Limba NEW
Maisha O BowleyArgentinaAsiya Javayant PROPOSAL
Kaitlin O OldroydRussiaAnna Fali NEW
Morrow I StensethAustraliaAmy Elsner QUALIFIED
Ricardo A WhobreyFranceAsiya Javayant QUALIFIED
Munro L KolmetzCanadaIvan Magalhaes NEW
Faith J IturbideArgentinaAmy Elsner QUALIFIED
Leon F MarrierSpainAmy Elsner PROPOSAL
Kadeem J BriddickBrazilElwin Sharvill NEGOTIATION
Claire S GillianAustraliaBernardo Dominic QUALIFIED
Deepesh Z StockhamItalyStephen Shaw QUALIFIED
Nicolas W AmigonAustraliaOnyama Limba NEW
Cody S OldroydBrazilAsiya Javayant RENEWAL
Johnson D AmigonAustraliaXuxue Feng NEW
Greenwood S SchemmerJapanXuxue Feng QUALIFIED
Deepesh R CaldareraCanadaAsiya Javayant RENEWAL
Kadeem G MarrierRussiaAnna Fali UNQUALIFIED
Kadeem R NestleRussiaBernardo Dominic QUALIFIED

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