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 U SaylorsBrazilIvan Magalhaes UNQUALIFIED
Adams X WhobreyIndiaAnna Fali NEW
Jennifer G DarakjySpainIvan Magalhaes UNQUALIFIED
Darci Z MarrierFranceIoni Bowcher RENEWAL
Aruna Z AlbaresArgentinaIvan Magalhaes QUALIFIED
Aika G DilliardBrazilXuxue Feng RENEWAL
Izzy U VenereCanadaIoni Bowcher PROPOSAL
Izzy P FollerItalyAnna Fali NEW
Ricardo S KolmetzIndiaXuxue Feng RENEWAL
Murillo T MaletBrazilAnna Fali QUALIFIED
Misaki O MacleadJapanIvan Magalhaes UNQUALIFIED
Jennifer P SlusarskiRussiaAnna Fali NEW
Maisha K KuskoFranceXuxue Feng RENEWAL
Faith R GlickArgentinaIvan Magalhaes QUALIFIED
Juan B PerinRussiaOnyama Limba RENEWAL
Alejandro D InouyeRussiaAnna Fali PROPOSAL
Murillo B CaudyBrazilIoni Bowcher UNQUALIFIED
Emily M OstroskyUnited KingdomOnyama Limba QUALIFIED
Deepesh S PaprockiFranceBernardo Dominic UNQUALIFIED
Kaitlin I NestleIndiaXuxue Feng NEW
Clifford D CaldareraRussiaAmy Elsner PROPOSAL
Clifford A SaylorsJapanIoni Bowcher NEGOTIATION
Kaitlin J NickaCanadaAnna Fali NEW
Julie F RoysterRussiaElwin Sharvill UNQUALIFIED
Maria K RulapaughArgentinaIvan Magalhaes NEGOTIATION
Tony M PerinUnited KingdomIvan Magalhaes RENEWAL
Aditya V MorascaAustraliaAsiya Javayant NEGOTIATION
Emily S KolmetzFranceElwin Sharvill NEW
Antonio H DoeCanadaOnyama Limba RENEWAL
Alejandro W WieserGermanyAmy Elsner NEGOTIATION
Claire G KolmetzGermanyAmy Elsner NEW
James W CaldareraUnited KingdomBernardo Dominic NEW
Johnson T InouyeArgentinaXuxue Feng QUALIFIED
Chavez W MacleadCanadaIvan Magalhaes PROPOSAL
Cody J FollerSpainIvan Magalhaes NEW
Cody K BowleyFranceAnna Fali QUALIFIED
Ricardo D PaprockiFranceAnna Fali PROPOSAL
Smith G ShinkoGermanyOnyama Limba RENEWAL
Julie H GarufiCanadaAnna Fali NEGOTIATION
Jeanfrancois D BowleyCanadaAnna Fali NEGOTIATION
Juan V GlickItalyAmy Elsner PROPOSAL
Misaki B WaycottIndiaOnyama Limba RENEWAL
Kadeem K DoeIndiaAnna Fali QUALIFIED
Adams T FollerAustraliaAsiya Javayant NEW
Isabel A MarrierFranceAmy Elsner RENEWAL
Alejandro O KolmetzJapanAsiya Javayant QUALIFIED
Sinclair P AmigonUnited KingdomXuxue Feng PROPOSAL
Aika M InouyeSpainOnyama Limba NEGOTIATION
Stacey G OstroskyUnited KingdomOnyama Limba PROPOSAL
Cody D CampainBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Aditya E CaldareraRussiaIvan Magalhaes NEGOTIATION
Smith E GillianSpainAsiya Javayant NEW
Tony L IturbideGermanyIvan Magalhaes UNQUALIFIED
Aika P WaycottSpainElwin Sharvill PROPOSAL
Julie L MorascaBrazilIoni Bowcher NEW
Leon A SaylorsFranceAnna Fali NEW
James Z DarakjyJapanAnna Fali RENEWAL
Chavez B NickaSpainAnna Fali QUALIFIED
Rodrigues F AmigonSpainAnna Fali UNQUALIFIED
Rodrigues Q PoquetteArgentinaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E MaletIndia2026-06-20Rousseaux, Michael Esq NEGOTIATION23Stephen Shaw
1001Faith M WieserGermany2026-07-08Morlong Associates QUALIFIED96Stephen Shaw
1002Adams R GarufiRussia2026-06-15Rangoni Of Florence NEGOTIATION88Anna Fali
1003Kadeem L TollnerIndia2026-06-17Feltz Printing Service NEW94Ivan Magalhaes
1004Darci M NickaAustralia2026-06-12Rousseaux, Michael Esq RENEWAL15Ioni Bowcher
1005Smith V StockhamIndia2026-06-28Benton, John B Jr QUALIFIED95Anna Fali
1006Jeanfrancois G CaldareraFrance2026-06-25Truhlar And Truhlar Attys RENEWAL23Stephen Shaw
1007Mujtaba P MarrierItaly2026-07-02King, Christopher A Esq NEW90Asiya Javayant
1008David Z StockhamArgentina2026-06-23Feiner Bros QUALIFIED19Stephen Shaw
1009Maisha J RulapaughBrazil2026-06-20Truhlar And Truhlar Attys NEW15Ivan Magalhaes
1010Smith Z IturbideGermany2026-06-27Feltz Printing Service UNQUALIFIED85Onyama Limba
1011Isabel L WhobreyItaly2026-06-10Dorl, James J Esq RENEWAL4Bernardo Dominic
1012Clifford I PaprockiRussia2026-07-02King, Christopher A Esq NEGOTIATION31Anna Fali
1013Claire W RutaArgentina2026-06-24Benton, John B Jr NEGOTIATION87Stephen Shaw
1014Arvin N GarufiJapan2026-06-15Rousseaux, Michael Esq QUALIFIED73Ioni Bowcher
1015James Y TollnerRussia2026-07-09Commercial Press QUALIFIED97Amy Elsner
1016Faith O TollnerArgentina2026-06-25Rousseaux, Michael Esq QUALIFIED38Elwin Sharvill
1017Nicolas P TollnerCanada2026-07-09Feiner Bros NEGOTIATION91Onyama Limba
1018Misaki V RulapaughIndia2026-06-17Printing Dimensions NEW78Anna Fali
1019Ashley S WaycottSpain2026-07-02Buckley Miller Wright NEGOTIATION30Ivan Magalhaes
1020Arvin F SlusarskiCanada2026-07-09Feltz Printing Service UNQUALIFIED70Ivan Magalhaes
1021Kaitlin Y MaletUnited Kingdom2026-06-18Chapman, Ross E Esq QUALIFIED74Bernardo Dominic
1022Salvatore A MorascaFrance2026-06-16Chemel, James L Cpa NEW12Onyama Limba
1023Costa R StockhamAustralia2026-06-29Rousseaux, Michael Esq NEGOTIATION13Elwin Sharvill
1024Alejandro V RutaSpain2026-06-13Feltz Printing Service UNQUALIFIED45Onyama Limba
1025Deepesh B AmigonItaly2026-07-05Printing Dimensions NEGOTIATION88Elwin Sharvill
1026Maria G MorascaBrazil2026-06-28Benton, John B Jr RENEWAL85Xuxue Feng
1027Aruna E SaylorsUnited Kingdom2026-06-22Commercial Press PROPOSAL65Ivan Magalhaes
1028Jeanfrancois H OstroskyIndia2026-06-12Dorl, James J Esq QUALIFIED66Anna Fali
1029Aditya A GillianGermany2026-06-14Chemel, James L Cpa NEGOTIATION15Asiya Javayant
1030Cody F CaudyIndia2026-06-21Chanay, Jeffrey A Esq NEGOTIATION88Elwin Sharvill
1031Johnson V RutaAustralia2026-06-17Feltz Printing Service QUALIFIED68Stephen Shaw
1032Ricardo U SlusarskiArgentina2026-06-30Buckley Miller Wright UNQUALIFIED74Xuxue Feng
1033Stacey M KuskoRussia2026-06-14Morlong Associates QUALIFIED22Elwin Sharvill
1034Misaki G RoysterArgentina2026-07-05Chanay, Jeffrey A Esq NEW62Ioni Bowcher
1035Octavia X StockhamAustralia2026-06-10Chanay, Jeffrey A Esq RENEWAL82Elwin Sharvill
1036Mujtaba A TollnerIndia2026-07-08Rangoni Of Florence QUALIFIED35Xuxue Feng
1037Costa W OstroskyUnited Kingdom2026-06-16King, Christopher A Esq RENEWAL24Bernardo Dominic
1038Faith F FerenczUnited Kingdom2026-06-15Morlong Associates PROPOSAL91Stephen Shaw
1039Faith B FigeroaArgentina2026-06-29Feltz Printing Service NEW36Xuxue Feng
1040Leja J KolmetzIndia2026-06-28Rousseaux, Michael Esq PROPOSAL35Elwin Sharvill
1041Salvatore Q AlbaresCanada2026-07-09Morlong Associates UNQUALIFIED7Xuxue Feng
1042Leja T RoysterAustralia2026-07-03Morlong Associates NEGOTIATION15Stephen Shaw
1043Smith P GillianAustralia2026-06-11Feiner Bros RENEWAL59Asiya Javayant
1044Izzy Z IturbideJapan2026-07-06Printing Dimensions QUALIFIED56Bernardo Dominic
1045Darci N StensethArgentina2026-06-17Chapman, Ross E Esq PROPOSAL51Anna Fali
1046Octavia O NickaArgentina2026-06-24Dorl, James J Esq NEW44Ivan Magalhaes
1047Mujtaba J OldroydRussia2026-07-04Benton, John B Jr NEW98Ioni Bowcher
1048Johnson E CampainItaly2026-06-28Chemel, James L Cpa RENEWAL35Xuxue Feng
1049Octavia X CaldareraItaly2026-06-14Printing Dimensions RENEWAL70Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley T PoquetteUnited KingdomIvan Magalhaes RENEWAL
Ivar B DoeAustraliaXuxue Feng NEW
Misaki K ShinkoSpainElwin Sharvill NEGOTIATION
Kadeem D WhobreyItalyBernardo Dominic PROPOSAL
James X MarrierBrazilOnyama Limba QUALIFIED
Deepesh H RimIndiaAmy Elsner PROPOSAL
Morrow I SergiBrazilOnyama Limba PROPOSAL
Silvio X WieserGermanyXuxue Feng NEW
Francesco X StockhamSpainAnna Fali UNQUALIFIED
Alejandro X SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Salvatore H AmigonItalyAsiya Javayant NEGOTIATION
Nicolas V MaletFranceAnna Fali QUALIFIED
Greenwood H PerinArgentinaStephen Shaw PROPOSAL
Nicolas I RoysterRussiaElwin Sharvill UNQUALIFIED
Smith K PaprockiFranceIvan Magalhaes NEW
Ricardo G PerinSpainBernardo Dominic RENEWAL
Costa J BriddickBrazilAsiya Javayant QUALIFIED
Misaki E FollerJapanIoni Bowcher UNQUALIFIED
Greenwood H SlusarskiJapanOnyama Limba NEGOTIATION
David J DarakjyGermanyElwin Sharvill RENEWAL
Jeanfrancois W StensethGermanyStephen Shaw NEW
Juan T NestleUnited KingdomAsiya Javayant RENEWAL
Misaki P BologniaBrazilElwin Sharvill PROPOSAL
Jefferson Z AlbaresSpainBernardo Dominic NEW
Stacey T KuskoBrazilIvan Magalhaes NEGOTIATION
Julie P DarakjyIndiaAnna Fali NEGOTIATION
Stacey Y MaletAustraliaOnyama Limba RENEWAL
Aruna O GauchoBrazilAsiya Javayant QUALIFIED
Silvio A SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Murillo Y RimSpainIvan Magalhaes NEGOTIATION
Morrow D DarakjyAustraliaIoni Bowcher UNQUALIFIED
Leja U CaldareraItalyAnna Fali PROPOSAL
Munro S VocelkaGermanyAsiya Javayant NEGOTIATION
Aika O MaletIndiaOnyama Limba RENEWAL
Tony L RulapaughSpainStephen Shaw PROPOSAL
James P OstroskyItalyStephen Shaw NEW
Cody K SchemmerIndiaStephen Shaw PROPOSAL
Francesco J RoysterFranceAnna Fali NEGOTIATION
Deepesh X RutaRussiaAsiya Javayant NEGOTIATION
Arvin C WieserSpainAsiya Javayant UNQUALIFIED
Deepesh B CaldareraItalyAnna Fali NEGOTIATION
Maria P RulapaughItalyAmy Elsner RENEWAL
Silvio O PoquetteBrazilXuxue Feng RENEWAL
Aditya W RimCanadaAmy Elsner RENEWAL
Francesco N PerinItalyAmy Elsner NEGOTIATION
Deepesh S PaprockiGermanyXuxue Feng NEW
Darci R MarrierIndiaAnna Fali PROPOSAL
Salvatore C FlosiJapanIoni Bowcher NEGOTIATION
Aditya R CaudyCanadaAmy Elsner NEW
Chavez J MacleadJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Leja S Saylors
Stacey Q Figeroa
Jones S Figeroa
Silvio X Caldarera
Munro W Stockham
Jeanfrancois R Inouye
Leon K Stenseth
Francesco Y Royster
Tony D Maclead
Julie B Garufi
Leon Q Wieser
Munro T Slusarski
Izzy Z Stenseth
Chavez L Ferencz
Aditya B Slusarski
Alejandro L Amigon
Faith D Glick
Izzy A Nestle
Clifford Z Royster
David P Doe
James J Whobrey
Munro F Tollner
Jefferson B Dilliard
Salvatore D Whobrey
Jefferson K Gillian
Costa S Schemmer
Kadeem F Poquette
Arvin S Figeroa
Aruna L Foller
Octavia F Garufi
Arvin X Royster
Morrow E Paprocki
Adams A Sergi
James O Rulapaugh
Tony X Royster
Smith R Nestle
Salvatore K Stenseth
Octavia S Nicka
Maisha H Marrier
Greenwood D Perin
Stacey J Gillian
Clifford J Flosi
Cody R Shinko
Isabel A Maclead
Mujtaba M Vocelka
Silvio P Briddick
Clifford A Ferencz
Aruna P Venere
Salvatore L Glick
Isabel W Gillian
IdCountryDate
1000Italy2026-06-28
1001India2026-06-13
1002France2026-06-25
1003United Kingdom2026-06-12
1004Argentina2026-06-19
1005United Kingdom2026-06-17
1006United Kingdom2026-06-29
1007Italy2026-06-12
1008Germany2026-06-30
1009Russia2026-06-18
1010Canada2026-07-03
1011Spain2026-06-25
1012Spain2026-06-30
1013Germany2026-06-13
1014Argentina2026-07-03
1015Argentina2026-07-05
1016United Kingdom2026-06-19
1017Brazil2026-06-20
1018Canada2026-07-08
1019France2026-06-16
1020India2026-06-11
1021Japan2026-06-11
1022United Kingdom2026-06-18
1023Brazil2026-06-29
1024Spain2026-06-18
1025Spain2026-06-14
1026Germany2026-06-12
1027Australia2026-06-26
1028Brazil2026-06-27
1029Argentina2026-06-21
1030Argentina2026-06-24
1031Japan2026-06-24
1032Australia2026-06-17
1033Brazil2026-06-30
1034Canada2026-06-12
1035Germany2026-07-01
1036India2026-06-13
1037Canada2026-07-06
1038Japan2026-06-29
1039Spain2026-06-11
1040Argentina2026-06-20
1041United Kingdom2026-07-07
1042Germany2026-06-21
1043United Kingdom2026-06-20
1044Brazil2026-06-15
1045Germany2026-07-09
1046India2026-06-25
1047Spain2026-06-19
1048Australia2026-06-18
1049Russia2026-06-26

On-Demand Data

NameIdCountryDate
Chavez L Chui1000Australia2026-07-07
Julie L Tollner1001Argentina2026-06-17
Faith M Nestle1002Russia2026-07-02
Greenwood G Morasca1003India2026-06-10
Morrow Y Gillian1004Germany2026-06-29
Adams Y Darakjy1005Russia2026-07-04
Stacey P Glick1006Italy2026-07-05
Mujtaba B Vocelka1007Germany2026-07-01
Silvio I Royster1008Brazil2026-06-18
Leon T Ostrosky1009Japan2026-07-05
Silvio L Dilliard1010Russia2026-06-27
Darci G Campain1011Canada2026-06-20
Leon T Maclead1012Japan2026-07-01
Mujtaba Z Stenseth1013Spain2026-06-22
Rodrigues Q Butt1014Argentina2026-06-13
Antonio F Butt1015Russia2026-07-01
Jones V Royster1016Germany2026-06-14
Emily Z Campain1017France2026-07-01
Kaitlin P Schemmer1018Italy2026-07-04
Greenwood H Rim1019Argentina2026-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin M DarakjyJapanOnyama Limba NEW
Nicolas B RimSpainOnyama Limba NEGOTIATION
Deepesh P ShinkoItalyAnna Fali QUALIFIED
Antonio I CaudyIndiaAmy Elsner PROPOSAL
Leon C OldroydSpainElwin Sharvill PROPOSAL
Maisha G DarakjyIndiaIvan Magalhaes UNQUALIFIED
Misaki E InouyeBrazilXuxue Feng RENEWAL
Silvio Q TollnerArgentinaIoni Bowcher NEGOTIATION
Stacey D CaldareraRussiaXuxue Feng PROPOSAL
Aika E GauchoRussiaElwin Sharvill UNQUALIFIED
Smith I MacleadItalyAsiya Javayant NEGOTIATION
Kadeem R RoysterFranceAnna Fali PROPOSAL
Clifford P BriddickIndiaIvan Magalhaes RENEWAL
Munro I DoeSpainStephen Shaw QUALIFIED
Darci N MaletRussiaOnyama Limba UNQUALIFIED
Jefferson T KolmetzUnited KingdomStephen Shaw PROPOSAL
Aika L BowleyBrazilIoni Bowcher PROPOSAL
Juan X OldroydFranceAsiya Javayant PROPOSAL
Munro J PerinUnited KingdomXuxue Feng UNQUALIFIED
Morrow E MarrierAustraliaAnna Fali QUALIFIED
Munro O MacleadIndiaIoni Bowcher PROPOSAL
Wickens I FerenczJapanIvan Magalhaes QUALIFIED
Octavia J NestleIndiaStephen Shaw NEGOTIATION
Kaitlin H PoquetteIndiaIvan Magalhaes PROPOSAL
Sinclair W ShinkoItalyAnna Fali NEW
Jefferson H WieserRussiaAnna Fali NEW
Juan Q WieserCanadaElwin Sharvill NEGOTIATION
Sinclair K VenereSpainIvan Magalhaes RENEWAL
Jefferson X RoysterSpainIoni Bowcher QUALIFIED
Ivar A CaudyIndiaElwin Sharvill NEW
Mujtaba J WhobreyGermanyElwin Sharvill NEW
Julie H BologniaSpainAnna Fali QUALIFIED
Aruna Q FerenczBrazilOnyama Limba PROPOSAL
Ricardo N DilliardItalyBernardo Dominic UNQUALIFIED
Sinclair L KolmetzUnited KingdomXuxue Feng NEW
Stacey O PerinFranceIvan Magalhaes QUALIFIED
Aditya F FollerCanadaBernardo Dominic NEGOTIATION
Misaki Q MorascaItalyOnyama Limba NEGOTIATION
Isabel J SergiUnited KingdomIvan Magalhaes PROPOSAL
Murillo P FerenczSpainXuxue Feng 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>