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
Murillo A RulapaughUnited KingdomAnna Fali NEW
Cody V AlbaresFranceAnna Fali QUALIFIED
Maria I AmigonIndiaOnyama Limba QUALIFIED
Deepesh D ShinkoRussiaAsiya Javayant RENEWAL
Morrow P RulapaughFranceOnyama Limba NEW
Kaitlin W CaudyAustraliaAnna Fali PROPOSAL
Antonio I VocelkaCanadaAnna Fali UNQUALIFIED
Jones G WhobreyUnited KingdomIvan Magalhaes RENEWAL
Isabel J SergiItalyElwin Sharvill NEGOTIATION
Emily D MorascaArgentinaIvan Magalhaes QUALIFIED
Costa I SchemmerFranceAsiya Javayant QUALIFIED
Adams Q OldroydCanadaBernardo Dominic QUALIFIED
Wickens U BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Claire C VenereIndiaIoni Bowcher QUALIFIED
Johnson I OldroydBrazilIvan Magalhaes RENEWAL
Izzy D GlickAustraliaElwin Sharvill PROPOSAL
Faith B PoquetteGermanyAnna Fali RENEWAL
Mayumi D MarrierJapanIoni Bowcher PROPOSAL
Aika K SlusarskiCanadaBernardo Dominic NEGOTIATION
David A RoysterItalyAnna Fali PROPOSAL
Arvin Y ShinkoFranceOnyama Limba RENEWAL
Kadeem H VocelkaJapanAnna Fali PROPOSAL
Johnson H CaudyItalyAnna Fali RENEWAL
Leja M PerinFranceBernardo Dominic PROPOSAL
David H IturbideCanadaAnna Fali RENEWAL
Smith N WieserUnited KingdomIvan Magalhaes RENEWAL
Isabel V IturbideItalyElwin Sharvill UNQUALIFIED
Sinclair N MaletAustraliaAsiya Javayant UNQUALIFIED
Morrow Z TollnerSpainBernardo Dominic NEW
Salvatore V WaycottArgentinaElwin Sharvill RENEWAL
Costa V WhobreyIndiaXuxue Feng QUALIFIED
Francesco V BowleyFranceAnna Fali PROPOSAL
Smith S GlickUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem M BriddickItalyAmy Elsner NEW
Silvio U TollnerRussiaIoni Bowcher QUALIFIED
Kaitlin F WhobreyFranceAnna Fali QUALIFIED
Arvin G KolmetzFranceAnna Fali UNQUALIFIED
Maria I InouyeRussiaOnyama Limba PROPOSAL
Maria B FigeroaRussiaAmy Elsner QUALIFIED
Aruna D FlosiAustraliaIvan Magalhaes RENEWAL
Isabel F ButtJapanAsiya Javayant UNQUALIFIED
Aruna F GlickJapanAsiya Javayant UNQUALIFIED
Salvatore O RulapaughBrazilBernardo Dominic PROPOSAL
Darci Y FigeroaSpainStephen Shaw RENEWAL
Jones J FigeroaAustraliaAnna Fali NEW
David E MaletCanadaStephen Shaw PROPOSAL
Aditya I VenereArgentinaBernardo Dominic UNQUALIFIED
Antonio B AmigonUnited KingdomAnna Fali NEW
Maria N RoysterJapanAnna Fali NEGOTIATION
Stacey Q StensethJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin P PerinUnited KingdomElwin Sharvill RENEWAL
Ivar P AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Smith B AlbaresItalyAsiya Javayant NEGOTIATION
Octavia T AmigonArgentinaAmy Elsner UNQUALIFIED
Juan Z RimBrazilElwin Sharvill PROPOSAL
Antonio Z BriddickBrazilAmy Elsner NEGOTIATION
Antonio I CaldareraItalyIoni Bowcher UNQUALIFIED
Ricardo U ButtGermanyAsiya Javayant NEGOTIATION
Faith Q GauchoAustraliaOnyama Limba NEGOTIATION
Julie I OldroydCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin I VenereBrazil2025-04-01Rousseaux, Michael Esq QUALIFIED85Bernardo Dominic
1001Deepesh V IturbideAustralia2025-04-21King, Christopher A Esq PROPOSAL8Anna Fali
1002Jennifer H BologniaJapan2025-04-19Morlong Associates QUALIFIED99Ioni Bowcher
1003Costa C CaudyUnited Kingdom2025-04-24Feiner Bros NEGOTIATION61Elwin Sharvill
1004Faith X RimCanada2025-04-03Commercial Press NEW65Ivan Magalhaes
1005Aruna I WhobreyIndia2025-04-09Feltz Printing Service UNQUALIFIED1Amy Elsner
1006Mujtaba C VenereIndia2025-04-20Rousseaux, Michael Esq PROPOSAL15Anna Fali
1007Greenwood P BowleyJapan2025-04-06Chapman, Ross E Esq PROPOSAL67Bernardo Dominic
1008Jones L WhobreyGermany2025-04-06Morlong Associates RENEWAL28Ioni Bowcher
1009Nicolas G RoysterAustralia2025-04-08Chemel, James L Cpa QUALIFIED48Anna Fali
1010Mujtaba W BriddickGermany2025-04-14Buckley Miller Wright PROPOSAL53Ioni Bowcher
1011Nicolas B ChuiArgentina2025-04-19Rousseaux, Michael Esq NEGOTIATION13Ioni Bowcher
1012Faith A PoquetteSpain2025-04-01Chemel, James L Cpa QUALIFIED29Ioni Bowcher
1013Juan I PoquetteCanada2025-04-09Chemel, James L Cpa UNQUALIFIED68Amy Elsner
1014Chavez A OstroskyGermany2025-04-14Commercial Press RENEWAL69Bernardo Dominic
1015James Q KolmetzGermany2025-04-05Rousseaux, Michael Esq QUALIFIED7Asiya Javayant
1016Julie A KolmetzSpain2025-04-15Dorl, James J Esq NEGOTIATION93Xuxue Feng
1017Salvatore A WieserUnited Kingdom2025-04-24Truhlar And Truhlar Attys NEW86Ioni Bowcher
1018Murillo U FollerSpain2025-04-09Buckley Miller Wright NEGOTIATION89Amy Elsner
1019Johnson C NickaIndia2025-04-05Truhlar And Truhlar Attys RENEWAL17Asiya Javayant
1020Faith K AlbaresCanada2025-04-10Rangoni Of Florence UNQUALIFIED15Onyama Limba
1021Julie N KuskoSpain2025-04-06Benton, John B Jr NEGOTIATION81Anna Fali
1022Arvin U MaletGermany2025-04-30Chapman, Ross E Esq UNQUALIFIED3Ioni Bowcher
1023Jeanfrancois L OldroydIndia2025-04-26Rangoni Of Florence NEGOTIATION92Anna Fali
1024Rodrigues H ButtFrance2025-04-14Commercial Press RENEWAL39Ioni Bowcher
1025Antonio T RulapaughFrance2025-04-30Printing Dimensions UNQUALIFIED87Asiya Javayant
1026Aruna N TollnerItaly2025-04-26Feiner Bros PROPOSAL42Amy Elsner
1027Arvin O DilliardSpain2025-04-10Feiner Bros RENEWAL33Onyama Limba
1028Clifford Y MaletArgentina2025-04-11Morlong Associates UNQUALIFIED97Stephen Shaw
1029David Y NestleFrance2025-04-04King, Christopher A Esq PROPOSAL86Anna Fali
1030Jeanfrancois I SergiFrance2025-04-19Chanay, Jeffrey A Esq NEGOTIATION4Bernardo Dominic
1031Juan U MorascaIndia2025-04-07Chapman, Ross E Esq RENEWAL15Onyama Limba
1032Izzy D AmigonSpain2025-04-14Benton, John B Jr RENEWAL92Stephen Shaw
1033Jeanfrancois S MaletFrance2025-04-04King, Christopher A Esq QUALIFIED47Anna Fali
1034Wickens Y OstroskyItaly2025-04-11King, Christopher A Esq PROPOSAL44Stephen Shaw
1035Emily L SlusarskiAustralia2025-04-16Truhlar And Truhlar Attys UNQUALIFIED93Amy Elsner
1036Kadeem U OldroydAustralia2025-04-27Printing Dimensions PROPOSAL97Xuxue Feng
1037Mujtaba C VocelkaIndia2025-04-02Commercial Press QUALIFIED68Stephen Shaw
1038Leon F BowleyBrazil2025-04-02King, Christopher A Esq RENEWAL41Onyama Limba
1039Leja T FlosiJapan2025-04-05Chemel, James L Cpa NEW74Stephen Shaw
1040Chavez L GauchoGermany2025-04-01Feiner Bros NEGOTIATION7Ivan Magalhaes
1041Ricardo H StockhamSpain2025-04-23Rangoni Of Florence NEW15Bernardo Dominic
1042Jennifer R WieserItaly2025-04-20Dorl, James J Esq NEW77Stephen Shaw
1043Jennifer P FerenczBrazil2025-04-13Rousseaux, Michael Esq NEGOTIATION27Anna Fali
1044Costa N DarakjyAustralia2025-04-07Chanay, Jeffrey A Esq NEGOTIATION94Stephen Shaw
1045Salvatore V DilliardRussia2025-04-21Rousseaux, Michael Esq PROPOSAL47Elwin Sharvill
1046Antonio A PaprockiItaly2025-04-17King, Christopher A Esq NEW69Ioni Bowcher
1047Aditya Y WieserFrance2025-04-04Dorl, James J Esq NEW54Anna Fali
1048Aruna J RutaItaly2025-04-04Commercial Press UNQUALIFIED64Anna Fali
1049Francesco R FollerFrance2025-04-16Rangoni Of Florence UNQUALIFIED42Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Chavez P RutaArgentinaOnyama Limba NEW
James Y AmigonBrazilElwin Sharvill UNQUALIFIED
Clifford U NestleCanadaIoni Bowcher NEGOTIATION
Jefferson V KolmetzSpainStephen Shaw PROPOSAL
Emily F SaylorsUnited KingdomAsiya Javayant NEW
Jefferson C NickaUnited KingdomXuxue Feng RENEWAL
Ivar L MaletCanadaAnna Fali RENEWAL
Emily S PaprockiIndiaBernardo Dominic UNQUALIFIED
Emily X KuskoItalyAmy Elsner NEW
Emily I NickaCanadaAmy Elsner NEW
Ashley U VocelkaGermanyElwin Sharvill PROPOSAL
Kaitlin U OldroydUnited KingdomXuxue Feng QUALIFIED
Emily N BologniaItalyXuxue Feng RENEWAL
Ricardo N WieserCanadaOnyama Limba UNQUALIFIED
Antonio X CaldareraAustraliaIvan Magalhaes QUALIFIED
Mujtaba K AmigonSpainIoni Bowcher RENEWAL
Emily F AmigonRussiaIoni Bowcher UNQUALIFIED
Ricardo X ButtItalyElwin Sharvill NEW
Silvio U SergiBrazilAnna Fali UNQUALIFIED
David L MorascaAustraliaOnyama Limba QUALIFIED
Chavez F MaletArgentinaAsiya Javayant QUALIFIED
Maisha U ButtBrazilElwin Sharvill UNQUALIFIED
Clifford A OldroydFranceAmy Elsner RENEWAL
Antonio D AmigonJapanAmy Elsner RENEWAL
Juan B MarrierArgentinaAnna Fali UNQUALIFIED
Jefferson T FerenczFranceIvan Magalhaes QUALIFIED
Izzy X PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha A ChuiAustraliaIvan Magalhaes NEW
Cody I NickaFranceElwin Sharvill NEW
Aika T ChuiFranceIvan Magalhaes NEGOTIATION
Antonio U FlosiFranceElwin Sharvill NEGOTIATION
Morrow O ChuiUnited KingdomIoni Bowcher QUALIFIED
Claire K WieserJapanIvan Magalhaes RENEWAL
Costa O WieserGermanyAmy Elsner UNQUALIFIED
Mujtaba S RimRussiaOnyama Limba QUALIFIED
Juan S GillianFranceAnna Fali NEGOTIATION
Julie Q GauchoRussiaXuxue Feng NEW
Leja F FerenczAustraliaIvan Magalhaes NEW
Darci N WhobreyItalyAnna Fali UNQUALIFIED
Costa X NickaGermanyAmy Elsner PROPOSAL
Darci V AlbaresRussiaBernardo Dominic RENEWAL
Smith C DilliardJapanAmy Elsner UNQUALIFIED
Adams G WhobreyJapanElwin Sharvill RENEWAL
Francesco W ChuiBrazilIvan Magalhaes NEGOTIATION
Sinclair S SlusarskiFranceAmy Elsner QUALIFIED
Jefferson L GarufiJapanAsiya Javayant NEGOTIATION
Mujtaba Z MorascaCanadaAnna Fali NEW
Leon A RutaJapanAsiya Javayant NEGOTIATION
Juan S SaylorsSpainAsiya Javayant PROPOSAL
Jones I ChuiJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
Aruna O Vocelka
Cody N Shinko
Smith E Darakjy
Wickens A Foller
Juan I Wieser
Jennifer R Royster
Johnson T Schemmer
James J Malet
Mayumi Y Malet
Faith A Butt
Silvio P Whobrey
Silvio P Glick
Aika T Oldroyd
Rodrigues W Campain
Isabel X Royster
Juan E Rim
Morrow H Venere
Aruna Q Ferencz
Aditya K Flosi
Maria Z Albares
Darci P Waycott
Jeanfrancois Y Caudy
Ricardo Y Ostrosky
Mayumi T Bolognia
Chavez J Oldroyd
Greenwood J Butt
Nicolas A Stenseth
Darci F Caldarera
Aditya X Glick
Morrow K Garufi
Antonio R Nicka
Julie Z Stockham
Wickens P Doe
Julie I Ruta
Costa J Saylors
Antonio Y Foller
Emily A Kolmetz
Maria Y Sergi
Isabel K Darakjy
Munro M Gillian
Clifford X Malet
Greenwood E Perin
Maria U Slusarski
Adams P Gaucho
Aditya B Vocelka
Jennifer G Slusarski
Leja O Perin
Jefferson A Perin
Misaki C Poquette
Salvatore X Shinko
IdCountryDate
1000India2025-04-27
1001Japan2025-04-28
1002United Kingdom2025-04-11
1003India2025-04-12
1004Australia2025-04-01
1005Spain2025-04-08
1006India2025-04-09
1007Australia2025-04-16
1008Canada2025-04-11
1009Australia2025-04-18
1010Brazil2025-04-04
1011Japan2025-04-30
1012Canada2025-04-06
1013France2025-04-26
1014Japan2025-04-12
1015Australia2025-04-27
1016Russia2025-04-05
1017Italy2025-04-29
1018India2025-04-16
1019Japan2025-04-02
1020Argentina2025-04-16
1021France2025-04-26
1022Russia2025-04-05
1023United Kingdom2025-04-17
1024Germany2025-04-21
1025Australia2025-04-29
1026Japan2025-04-08
1027Japan2025-04-28
1028Argentina2025-04-25
1029Canada2025-04-08
1030Italy2025-04-18
1031Brazil2025-04-22
1032Australia2025-04-24
1033Argentina2025-04-21
1034Brazil2025-04-25
1035India2025-04-11
1036Germany2025-04-11
1037Spain2025-04-20
1038France2025-04-01
1039United Kingdom2025-04-03
1040Brazil2025-04-17
1041United Kingdom2025-04-16
1042Russia2025-04-09
1043United Kingdom2025-04-20
1044Canada2025-04-12
1045Argentina2025-04-24
1046Spain2025-04-05
1047United Kingdom2025-04-20
1048Japan2025-04-25
1049Spain2025-04-19

On-Demand Data

NameIdCountryDate
Costa C Campain1000Russia2025-04-21
Jefferson T Malet1001Germany2025-04-21
Claire X Malet1002Italy2025-04-03
Mayumi S Kolmetz1003Russia2025-04-25
Tony F Foller1004India2025-04-09
Jefferson I Slusarski1005Brazil2025-04-26
Aika K Ferencz1006India2025-04-19
Greenwood T Ostrosky1007Russia2025-04-23
Leon O Figeroa1008Germany2025-04-14
Kaitlin E Kusko1009Russia2025-04-13
Antonio I Morasca1010Russia2025-04-27
Jefferson L Amigon1011Canada2025-04-22
Jeanfrancois R Figeroa1012United Kingdom2025-04-13
Munro H Caldarera1013Argentina2025-04-12
Claire F Bolognia1014France2025-04-15
Mujtaba F Morasca1015Spain2025-04-12
David G Paprocki1016Brazil2025-04-12
Clifford B Schemmer1017India2025-04-11
Stacey H Kolmetz1018United Kingdom2025-04-01
Greenwood I Briddick1019Japan2025-04-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson C GarufiFranceAnna Fali PROPOSAL
Costa B ShinkoUnited KingdomIoni Bowcher NEW
Munro W MaletCanadaIvan Magalhaes QUALIFIED
Johnson X PaprockiAustraliaOnyama Limba NEGOTIATION
Kaitlin Y VenereSpainOnyama Limba RENEWAL
Wickens I MorascaIndiaStephen Shaw NEGOTIATION
Claire Z CaldareraAustraliaAnna Fali RENEWAL
Ashley W CaldareraFranceBernardo Dominic PROPOSAL
Aika W ShinkoArgentinaXuxue Feng PROPOSAL
Jennifer T VenereItalyOnyama Limba NEW
Tony I GarufiUnited KingdomElwin Sharvill NEGOTIATION
Arvin Q PerinArgentinaAnna Fali NEW
Silvio I AlbaresFranceAsiya Javayant NEW
Maisha P AlbaresBrazilAsiya Javayant NEW
Deepesh Q MorascaBrazilAsiya Javayant QUALIFIED
Ricardo W FlosiCanadaElwin Sharvill PROPOSAL
Stacey H CampainJapanIvan Magalhaes NEW
Morrow R RimItalyElwin Sharvill PROPOSAL
Ashley T ChuiIndiaIoni Bowcher NEGOTIATION
Jefferson S GillianAustraliaStephen Shaw NEGOTIATION
Stacey L FerenczAustraliaIoni Bowcher UNQUALIFIED
Julie F MaletArgentinaBernardo Dominic NEW
Munro I VenereCanadaOnyama Limba NEW
Adams S VenereCanadaAnna Fali NEW
Maria J MaletRussiaXuxue Feng QUALIFIED
Costa O StockhamFranceXuxue Feng NEW
Claire Y FlosiArgentinaAmy Elsner NEW
Mayumi D MaletRussiaStephen Shaw NEGOTIATION
Smith A IturbideGermanyStephen Shaw PROPOSAL
Jones B OstroskyAustraliaElwin Sharvill UNQUALIFIED
Octavia X SaylorsJapanBernardo Dominic NEW
Nicolas T SaylorsUnited KingdomIoni Bowcher PROPOSAL
Sinclair N StockhamBrazilXuxue Feng NEW
Francesco U ShinkoGermanyElwin Sharvill RENEWAL
Jennifer Z MorascaUnited KingdomXuxue Feng RENEWAL
Emily S GlickJapanXuxue Feng NEGOTIATION
Emily P FerenczFranceAsiya Javayant QUALIFIED
Tony T FollerAustraliaXuxue Feng NEW
Mayumi U AmigonFranceAsiya Javayant UNQUALIFIED
Munro W StensethBrazilElwin Sharvill 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>