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
Ivar B OstroskyCanadaStephen Shaw NEGOTIATION
Izzy V RulapaughCanadaBernardo Dominic NEW
David A GauchoFranceOnyama Limba NEW
Maisha N NestleCanadaElwin Sharvill RENEWAL
Tony G StensethArgentinaOnyama Limba QUALIFIED
James T PoquetteAustraliaAsiya Javayant UNQUALIFIED
Mayumi E SaylorsSpainBernardo Dominic NEW
Misaki P TollnerRussiaStephen Shaw QUALIFIED
Maisha S StockhamBrazilIvan Magalhaes NEGOTIATION
Munro S GillianBrazilXuxue Feng QUALIFIED
Chavez U GillianUnited KingdomIvan Magalhaes PROPOSAL
Jones D BriddickRussiaIvan Magalhaes QUALIFIED
Aditya R RimGermanyIoni Bowcher NEW
Wickens A VocelkaFranceStephen Shaw QUALIFIED
Isabel D MorascaArgentinaAmy Elsner NEW
Octavia I MaletArgentinaIoni Bowcher UNQUALIFIED
Misaki A DilliardArgentinaOnyama Limba RENEWAL
Aditya N CampainArgentinaAmy Elsner QUALIFIED
Ricardo J KolmetzGermanyBernardo Dominic PROPOSAL
Francesco F SchemmerGermanyXuxue Feng NEW
Octavia U WieserCanadaAsiya Javayant NEW
Julie N GillianJapanAsiya Javayant PROPOSAL
Maria J GlickRussiaIvan Magalhaes QUALIFIED
Mujtaba F BowleyArgentinaAnna Fali UNQUALIFIED
Silvio T KolmetzAustraliaStephen Shaw PROPOSAL
Leon R GlickArgentinaElwin Sharvill NEGOTIATION
Chavez O GlickRussiaIoni Bowcher RENEWAL
James J MaletArgentinaAnna Fali QUALIFIED
Johnson G KuskoAustraliaOnyama Limba QUALIFIED
Julie M BologniaUnited KingdomBernardo Dominic NEGOTIATION
Wickens Z PerinItalyBernardo Dominic UNQUALIFIED
Aditya E KolmetzIndiaElwin Sharvill PROPOSAL
Julie L CaldareraBrazilOnyama Limba PROPOSAL
Costa N GillianBrazilAnna Fali PROPOSAL
Johnson B BologniaIndiaXuxue Feng QUALIFIED
Jennifer M GauchoAustraliaElwin Sharvill NEW
Mujtaba N GauchoJapanIoni Bowcher NEGOTIATION
Deepesh A DilliardGermanyOnyama Limba RENEWAL
Francesco H KuskoIndiaXuxue Feng QUALIFIED
Wickens Q RimBrazilAnna Fali PROPOSAL
Alejandro B SaylorsAustraliaOnyama Limba UNQUALIFIED
Emily C SaylorsUnited KingdomIvan Magalhaes RENEWAL
Aruna U OldroydItalyIvan Magalhaes NEW
Darci Q ShinkoFranceIoni Bowcher NEW
Salvatore I BriddickRussiaIvan Magalhaes PROPOSAL
Kadeem C WhobreyArgentinaOnyama Limba UNQUALIFIED
Murillo T ButtBrazilElwin Sharvill PROPOSAL
Rodrigues D MorascaAustraliaAnna Fali QUALIFIED
Johnson Q RimJapanOnyama Limba NEGOTIATION
Ivar O GillianFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel R AlbaresJapanAnna Fali PROPOSAL
Aditya T TollnerSpainStephen Shaw NEGOTIATION
Alejandro A RulapaughIndiaAnna Fali NEGOTIATION
Cody E WaycottItalyXuxue Feng RENEWAL
Cody W AmigonGermanyStephen Shaw NEGOTIATION
Stacey V VenereAustraliaElwin Sharvill QUALIFIED
Johnson V ButtCanadaOnyama Limba UNQUALIFIED
Jeanfrancois P MacleadSpainXuxue Feng PROPOSAL
Mayumi S PerinGermanyOnyama Limba RENEWAL
Aika C RulapaughGermanyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James W OstroskyJapan2025-04-13Rousseaux, Michael Esq UNQUALIFIED32Xuxue Feng
1001Kaitlin R AlbaresItaly2025-04-11Chanay, Jeffrey A Esq NEGOTIATION62Asiya Javayant
1002Stacey S VenereAustralia2025-04-16Chapman, Ross E Esq RENEWAL93Amy Elsner
1003Claire H GarufiUnited Kingdom2025-04-28Buckley Miller Wright NEGOTIATION51Ivan Magalhaes
1004Salvatore D SlusarskiItaly2025-04-13Rangoni Of Florence NEW84Amy Elsner
1005Aditya B FollerBrazil2025-04-19Benton, John B Jr PROPOSAL74Xuxue Feng
1006Silvio F DilliardArgentina2025-04-24Buckley Miller Wright NEGOTIATION8Anna Fali
1007Nicolas Z GlickJapan2025-04-20Printing Dimensions NEW98Onyama Limba
1008Leon U DoeArgentina2025-04-14Rangoni Of Florence NEGOTIATION23Xuxue Feng
1009Mayumi Y RulapaughJapan2025-04-09Feiner Bros NEGOTIATION59Anna Fali
1010Claire F BowleyUnited Kingdom2025-04-03Truhlar And Truhlar Attys NEW95Onyama Limba
1011Alejandro K RutaAustralia2025-04-27Chemel, James L Cpa NEGOTIATION26Stephen Shaw
1012Deepesh N MacleadIndia2025-04-30Buckley Miller Wright UNQUALIFIED21Bernardo Dominic
1013Octavia P StensethJapan2025-04-08Chemel, James L Cpa NEW56Ioni Bowcher
1014Claire E SchemmerGermany2025-04-07Feltz Printing Service NEW46Xuxue Feng
1015Isabel Q PaprockiIndia2025-04-15King, Christopher A Esq RENEWAL44Xuxue Feng
1016Adams O RutaBrazil2025-04-26Chemel, James L Cpa PROPOSAL77Ioni Bowcher
1017Jones N IturbideItaly2025-04-13Chemel, James L Cpa UNQUALIFIED48Anna Fali
1018Kadeem V WaycottRussia2025-04-19Dorl, James J Esq NEW43Elwin Sharvill
1019Jennifer W RutaAustralia2025-04-09Chemel, James L Cpa NEW27Stephen Shaw
1020Isabel E BriddickUnited Kingdom2025-04-27Truhlar And Truhlar Attys RENEWAL63Amy Elsner
1021Ivar U ButtBrazil2025-04-28Feiner Bros RENEWAL8Ioni Bowcher
1022Adams D DilliardRussia2025-04-10Buckley Miller Wright QUALIFIED5Xuxue Feng
1023Octavia B VocelkaSpain2025-04-23Printing Dimensions RENEWAL89Elwin Sharvill
1024Aruna E ButtAustralia2025-04-26Rousseaux, Michael Esq PROPOSAL90Onyama Limba
1025Misaki H CaudyAustralia2025-04-24Dorl, James J Esq NEW78Xuxue Feng
1026Izzy N WaycottUnited Kingdom2025-04-04Buckley Miller Wright NEW31Xuxue Feng
1027Izzy G BowleyJapan2025-04-22Dorl, James J Esq UNQUALIFIED28Amy Elsner
1028Chavez R BologniaFrance2025-04-06Feiner Bros RENEWAL43Asiya Javayant
1029David O TollnerGermany2025-04-24Chanay, Jeffrey A Esq QUALIFIED39Ioni Bowcher
1030Arvin F InouyeIndia2025-04-29Rousseaux, Michael Esq PROPOSAL39Ioni Bowcher
1031Greenwood K DilliardRussia2025-04-22Morlong Associates NEW59Amy Elsner
1032Salvatore S ChuiGermany2025-04-30Feiner Bros PROPOSAL44Ioni Bowcher
1033Stacey M ButtRussia2025-04-11Printing Dimensions QUALIFIED75Ivan Magalhaes
1034Darci I FlosiGermany2025-04-11Rangoni Of Florence NEW16Ivan Magalhaes
1035Juan P BriddickCanada2025-04-24Chapman, Ross E Esq PROPOSAL7Bernardo Dominic
1036Stacey L OstroskyIndia2025-04-13Chanay, Jeffrey A Esq QUALIFIED13Stephen Shaw
1037Isabel S DoeFrance2025-04-08Chanay, Jeffrey A Esq NEW61Amy Elsner
1038Julie O SlusarskiSpain2025-04-13Feiner Bros PROPOSAL96Amy Elsner
1039Alejandro W DoeGermany2025-04-21Printing Dimensions PROPOSAL68Ioni Bowcher
1040Claire H SchemmerCanada2025-04-06Chanay, Jeffrey A Esq PROPOSAL67Anna Fali
1041Mayumi U GauchoItaly2025-04-23Rangoni Of Florence NEGOTIATION85Stephen Shaw
1042Jones M KolmetzRussia2025-04-19Truhlar And Truhlar Attys PROPOSAL19Bernardo Dominic
1043Costa E CampainIndia2025-04-28Chanay, Jeffrey A Esq PROPOSAL28Onyama Limba
1044Salvatore P GlickIndia2025-04-17Rousseaux, Michael Esq QUALIFIED44Bernardo Dominic
1045Sinclair K BriddickSpain2025-04-21Rangoni Of Florence PROPOSAL88Ioni Bowcher
1046Costa Y MorascaIndia2025-04-19Benton, John B Jr UNQUALIFIED72Elwin Sharvill
1047Nicolas R WhobreyItaly2025-04-26Truhlar And Truhlar Attys QUALIFIED33Onyama Limba
1048Julie R FerenczRussia2025-04-12Truhlar And Truhlar Attys RENEWAL23Bernardo Dominic
1049Tony J FollerItaly2025-04-06Morlong Associates PROPOSAL62Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Faith M RutaSpainStephen Shaw QUALIFIED
Morrow O VenereUnited KingdomAnna Fali UNQUALIFIED
Arvin Q StensethAustraliaStephen Shaw NEGOTIATION
Ashley B CaudySpainAnna Fali NEW
Aditya U WieserArgentinaAsiya Javayant NEW
Jeanfrancois E DoeItalyAmy Elsner QUALIFIED
Aika X FollerFranceElwin Sharvill NEW
Jefferson N FigeroaItalyElwin Sharvill RENEWAL
Leja L MorascaArgentinaAnna Fali RENEWAL
Greenwood O BriddickSpainIvan Magalhaes NEGOTIATION
Sinclair Z FerenczFranceIvan Magalhaes NEW
Emily M BriddickFranceStephen Shaw NEGOTIATION
James Z MacleadCanadaIvan Magalhaes PROPOSAL
Cody P FollerSpainIvan Magalhaes UNQUALIFIED
Francesco C DarakjyArgentinaAnna Fali PROPOSAL
Francesco Y CaudyFranceElwin Sharvill NEGOTIATION
Sinclair P MorascaJapanOnyama Limba UNQUALIFIED
Salvatore R FigeroaGermanyIoni Bowcher QUALIFIED
Faith Q NestleAustraliaAsiya Javayant PROPOSAL
Tony C PaprockiAustraliaStephen Shaw PROPOSAL
Juan I ButtUnited KingdomElwin Sharvill UNQUALIFIED
Clifford H SchemmerBrazilAnna Fali QUALIFIED
Salvatore S GauchoIndiaIvan Magalhaes NEGOTIATION
Munro J BriddickCanadaElwin Sharvill NEGOTIATION
Mayumi I SaylorsCanadaIoni Bowcher UNQUALIFIED
Claire B FollerGermanyAsiya Javayant NEGOTIATION
Misaki O DilliardItalyStephen Shaw NEW
Johnson B StensethGermanyAmy Elsner NEGOTIATION
Costa A BowleyIndiaIoni Bowcher NEGOTIATION
Silvio W DilliardItalyBernardo Dominic NEGOTIATION
Misaki N VenereSpainBernardo Dominic PROPOSAL
Johnson R MaletCanadaIoni Bowcher NEW
Jennifer B RulapaughArgentinaAmy Elsner UNQUALIFIED
Aditya D BologniaFranceStephen Shaw NEW
Arvin S SergiGermanyIoni Bowcher QUALIFIED
Chavez E GarufiFranceAmy Elsner RENEWAL
Mayumi Z DilliardRussiaOnyama Limba UNQUALIFIED
James H OstroskyGermanyElwin Sharvill UNQUALIFIED
Leon Z MorascaAustraliaAsiya Javayant NEGOTIATION
Adams H AlbaresFranceAnna Fali PROPOSAL
Murillo N MacleadCanadaBernardo Dominic NEGOTIATION
Maisha T NickaIndiaAnna Fali RENEWAL
Ivar J KolmetzGermanyStephen Shaw NEGOTIATION
Izzy Q GauchoArgentinaOnyama Limba NEGOTIATION
Salvatore R AmigonCanadaAsiya Javayant PROPOSAL
Darci C NestleAustraliaOnyama Limba RENEWAL
Kadeem W KolmetzItalyStephen Shaw QUALIFIED
Sinclair D MorascaBrazilXuxue Feng PROPOSAL
Misaki S AlbaresJapanAnna Fali UNQUALIFIED
Leja L CaldareraGermanyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Sinclair K Marrier
Aditya M Butt
Alejandro L Inouye
Julie Y Rim
Kadeem K Wieser
Wickens G Royster
Darci D Shinko
Jefferson N Bolognia
Aika I Dilliard
Antonio S Garufi
Antonio Q Wieser
Chavez Y Flosi
Emily A Ostrosky
Alejandro D Chui
David V Maclead
Ricardo G Poquette
Julie F Schemmer
Isabel H Malet
Francesco J Gillian
Clifford E Kusko
Ivar I Butt
Maria U Waycott
Greenwood U Gaucho
Emily M Flosi
Francesco T Kolmetz
Smith Q Slusarski
Faith T Shinko
Wickens K Nestle
Munro Z Marrier
Johnson N Tollner
Kadeem I Waycott
Clifford N Chui
Maisha H Ruta
Mujtaba T Gillian
Ricardo C Glick
Ashley Q Wieser
Ashley S Doe
Silvio X Malet
Aruna P Tollner
Tony T Albares
Clifford F Marrier
Claire H Schemmer
Kadeem L Campain
Stacey P Caudy
Antonio Y Doe
Silvio S Schemmer
Isabel C Foller
Greenwood C Malet
Wickens U Poquette
Julie S Schemmer
IdCountryDate
1000Argentina2025-04-27
1001France2025-04-11
1002India2025-04-10
1003Germany2025-04-09
1004Argentina2025-04-26
1005Russia2025-04-07
1006Japan2025-04-17
1007Argentina2025-04-21
1008India2025-04-30
1009Germany2025-04-30
1010Japan2025-04-05
1011United Kingdom2025-04-06
1012Canada2025-04-03
1013Japan2025-04-01
1014India2025-04-03
1015Japan2025-04-19
1016Spain2025-04-22
1017Argentina2025-04-01
1018France2025-04-01
1019Canada2025-04-04
1020Japan2025-04-11
1021India2025-04-28
1022Japan2025-04-16
1023Spain2025-04-28
1024Brazil2025-04-05
1025Russia2025-04-24
1026Italy2025-04-23
1027Russia2025-04-11
1028Germany2025-04-16
1029Argentina2025-04-13
1030France2025-04-14
1031Japan2025-04-11
1032Argentina2025-04-29
1033Italy2025-04-09
1034Spain2025-04-12
1035Canada2025-04-24
1036France2025-04-14
1037France2025-04-20
1038Italy2025-04-08
1039France2025-04-02
1040United Kingdom2025-04-09
1041Australia2025-04-08
1042Canada2025-04-13
1043Argentina2025-04-08
1044Russia2025-04-27
1045United Kingdom2025-04-15
1046Canada2025-04-28
1047Japan2025-04-18
1048India2025-04-23
1049United Kingdom2025-04-25

On-Demand Data

NameIdCountryDate
David D Kusko1000Italy2025-04-11
James W Kusko1001Brazil2025-04-30
Maria P Iturbide1002France2025-04-01
Deepesh D Morasca1003Japan2025-04-26
Ashley C Butt1004Japan2025-04-23
Stacey P Amigon1005Canada2025-04-20
Stacey H Sergi1006Russia2025-04-11
Ivar R Caudy1007Canada2025-04-17
Aruna L Figeroa1008Canada2025-04-21
Juan B Flosi1009Brazil2025-04-30
Murillo X Saylors1010Japan2025-04-24
Nicolas S Rulapaugh1011Spain2025-04-29
Kaitlin W Schemmer1012Australia2025-04-01
Adams D Perin1013Italy2025-04-04
Claire I Glick1014Russia2025-04-24
Munro F Figeroa1015Germany2025-04-26
Misaki C Ruta1016Argentina2025-04-23
Darci K Perin1017Russia2025-04-12
Octavia F Saylors1018Canada2025-04-13
Jefferson X Tollner1019Spain2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues I BriddickFranceAsiya Javayant NEW
James K RutaJapanBernardo Dominic NEGOTIATION
Alejandro S TollnerArgentinaOnyama Limba NEW
Izzy J RimArgentinaElwin Sharvill UNQUALIFIED
Isabel D DoeIndiaIoni Bowcher NEW
Faith V DarakjySpainAnna Fali RENEWAL
Kadeem Z CaudyUnited KingdomXuxue Feng UNQUALIFIED
David F PoquetteItalyElwin Sharvill NEW
Aruna E GarufiRussiaStephen Shaw RENEWAL
Izzy A MacleadBrazilIoni Bowcher NEW
Mujtaba Y ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Emily B TollnerIndiaXuxue Feng NEW
Clifford Y NickaGermanyBernardo Dominic RENEWAL
Kadeem M FlosiUnited KingdomBernardo Dominic NEGOTIATION
Isabel B OldroydUnited KingdomXuxue Feng PROPOSAL
Rodrigues U DarakjyFranceIoni Bowcher QUALIFIED
Ivar Q CaldareraCanadaIvan Magalhaes NEW
Chavez O VenereAustraliaAnna Fali PROPOSAL
Jennifer S VenereSpainAnna Fali QUALIFIED
James A OldroydFranceAmy Elsner RENEWAL
Aika I MaletRussiaStephen Shaw NEGOTIATION
Murillo L SlusarskiUnited KingdomAnna Fali NEW
Sinclair P AmigonJapanIoni Bowcher NEW
Faith V AlbaresAustraliaXuxue Feng NEW
Octavia L MaletSpainIoni Bowcher NEGOTIATION
Jeanfrancois P FollerFranceStephen Shaw UNQUALIFIED
Julie T SergiAustraliaIoni Bowcher NEW
Jeanfrancois Z MorascaCanadaAnna Fali RENEWAL
Ricardo M SlusarskiIndiaStephen Shaw NEW
Leon T MarrierFranceAnna Fali PROPOSAL
Nicolas G PoquetteCanadaIoni Bowcher UNQUALIFIED
Nicolas V ButtArgentinaIoni Bowcher UNQUALIFIED
Rodrigues O ButtGermanyOnyama Limba UNQUALIFIED
Greenwood B MarrierSpainAnna Fali NEW
Deepesh X MaletGermanyAmy Elsner UNQUALIFIED
Antonio J DoeAustraliaAmy Elsner RENEWAL
Cody C KuskoBrazilXuxue Feng NEGOTIATION
Ricardo A MorascaJapanBernardo Dominic QUALIFIED
Silvio G WieserCanadaXuxue Feng QUALIFIED
Jennifer O NickaJapanIvan Magalhaes 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>