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 I PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Silvio M GauchoJapanElwin Sharvill NEGOTIATION
Aditya E PoquetteUnited KingdomIoni Bowcher RENEWAL
Juan P PerinItalyAmy Elsner NEGOTIATION
Tony N NickaAustraliaXuxue Feng NEGOTIATION
Kadeem N OstroskyJapanAmy Elsner NEW
Francesco A VocelkaGermanyOnyama Limba NEGOTIATION
Sinclair K TollnerJapanAnna Fali RENEWAL
Leja H WaycottCanadaAmy Elsner PROPOSAL
Aika S ShinkoRussiaAsiya Javayant UNQUALIFIED
Ivar V GillianRussiaAsiya Javayant UNQUALIFIED
Aruna A NickaSpainBernardo Dominic NEGOTIATION
Munro Y PoquetteUnited KingdomXuxue Feng NEGOTIATION
Izzy X DoeAustraliaAsiya Javayant RENEWAL
Ivar X ChuiGermanyAnna Fali QUALIFIED
Jeanfrancois X PerinBrazilStephen Shaw QUALIFIED
Costa R VenereArgentinaIvan Magalhaes PROPOSAL
Octavia S OstroskyFranceIoni Bowcher NEGOTIATION
Jones M MorascaAustraliaOnyama Limba PROPOSAL
Silvio Y VocelkaAustraliaAnna Fali NEW
Aruna G KuskoJapanAmy Elsner QUALIFIED
Nicolas P AlbaresJapanAnna Fali PROPOSAL
Aruna K CaudyFranceAmy Elsner NEW
David M NickaItalyAnna Fali QUALIFIED
Jennifer H CaldareraRussiaElwin Sharvill RENEWAL
Jones Y PerinUnited KingdomAsiya Javayant QUALIFIED
Johnson Y SchemmerCanadaIvan Magalhaes UNQUALIFIED
Aruna P KolmetzJapanAnna Fali RENEWAL
Deepesh N CaudyRussiaStephen Shaw RENEWAL
Nicolas Y PoquetteIndiaAsiya Javayant NEW
Greenwood U SaylorsBrazilXuxue Feng NEW
Nicolas L MacleadFranceOnyama Limba PROPOSAL
Aika H RutaUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba R WaycottItalyIvan Magalhaes QUALIFIED
Juan Z ButtJapanIvan Magalhaes NEW
Greenwood J OstroskyArgentinaAsiya Javayant NEGOTIATION
Aruna N FigeroaAustraliaElwin Sharvill QUALIFIED
Costa N RoysterGermanyElwin Sharvill NEGOTIATION
Greenwood Y KolmetzItalyStephen Shaw NEGOTIATION
Isabel U ChuiCanadaOnyama Limba UNQUALIFIED
Julie E GarufiItalyElwin Sharvill PROPOSAL
Sinclair E WaycottBrazilXuxue Feng PROPOSAL
Salvatore L FollerJapanAmy Elsner UNQUALIFIED
James A InouyeCanadaIvan Magalhaes UNQUALIFIED
Aruna C BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba H FollerSpainIvan Magalhaes PROPOSAL
Juan T DarakjyFranceAmy Elsner RENEWAL
Silvio I GlickUnited KingdomIoni Bowcher NEGOTIATION
Munro Q BriddickArgentinaAsiya Javayant RENEWAL
Maisha J FlosiRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel A SlusarskiGermanyElwin Sharvill QUALIFIED
Antonio Z CaudyCanadaStephen Shaw NEW
Jefferson N SchemmerBrazilIoni Bowcher RENEWAL
Kadeem T FigeroaIndiaIoni Bowcher PROPOSAL
Salvatore X GarufiRussiaStephen Shaw NEW
Cody D CaldareraItalyBernardo Dominic RENEWAL
Smith R RimGermanyOnyama Limba UNQUALIFIED
Johnson J SlusarskiSpainAsiya Javayant QUALIFIED
Kadeem J BowleyItalyAmy Elsner PROPOSAL
Munro C RulapaughJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams L RoysterItaly2026-06-30Printing Dimensions NEW25Xuxue Feng
1001Greenwood M DilliardArgentina2026-06-25Rangoni Of Florence NEW1Ivan Magalhaes
1002Leon F MaletSpain2026-07-17Dorl, James J Esq QUALIFIED95Anna Fali
1003Aika T SergiArgentina2026-07-01Feltz Printing Service NEGOTIATION40Onyama Limba
1004Smith I DoeGermany2026-07-02Printing Dimensions UNQUALIFIED73Stephen Shaw
1005Salvatore C RimRussia2026-06-23Rousseaux, Michael Esq RENEWAL74Ioni Bowcher
1006Jeanfrancois O SlusarskiItaly2026-07-09King, Christopher A Esq QUALIFIED65Anna Fali
1007Leja E DarakjyFrance2026-07-04Truhlar And Truhlar Attys UNQUALIFIED23Bernardo Dominic
1008Ivar K MaletGermany2026-07-07Chemel, James L Cpa PROPOSAL12Xuxue Feng
1009Mayumi W NestleIndia2026-06-23Morlong Associates QUALIFIED57Onyama Limba
1010Octavia Z BologniaItaly2026-06-23Dorl, James J Esq PROPOSAL21Stephen Shaw
1011Julie L NickaIndia2026-07-09King, Christopher A Esq UNQUALIFIED37Asiya Javayant
1012Salvatore G InouyeCanada2026-07-15Morlong Associates QUALIFIED57Elwin Sharvill
1013Darci C BologniaUnited Kingdom2026-07-16Feiner Bros NEGOTIATION5Onyama Limba
1014Greenwood G BowleyRussia2026-07-18Benton, John B Jr UNQUALIFIED86Ivan Magalhaes
1015Salvatore G SlusarskiRussia2026-06-27Truhlar And Truhlar Attys NEW40Ivan Magalhaes
1016Claire J RimRussia2026-07-15Rangoni Of Florence NEW3Ivan Magalhaes
1017Kaitlin T RutaCanada2026-07-04Truhlar And Truhlar Attys QUALIFIED72Xuxue Feng
1018Greenwood E CampainIndia2026-07-08Buckley Miller Wright RENEWAL49Onyama Limba
1019Misaki A IturbideFrance2026-06-22Chemel, James L Cpa UNQUALIFIED30Xuxue Feng
1020Kaitlin E ButtAustralia2026-06-26Morlong Associates PROPOSAL83Elwin Sharvill
1021Faith B SlusarskiGermany2026-07-11Buckley Miller Wright QUALIFIED12Anna Fali
1022Isabel N SergiUnited Kingdom2026-07-03Chapman, Ross E Esq NEW50Ioni Bowcher
1023Greenwood S OldroydUnited Kingdom2026-07-08Buckley Miller Wright UNQUALIFIED0Ivan Magalhaes
1024Silvio T ShinkoGermany2026-07-17Truhlar And Truhlar Attys NEGOTIATION77Elwin Sharvill
1025Smith D ButtBrazil2026-07-20Feltz Printing Service NEGOTIATION13Onyama Limba
1026Julie O GauchoGermany2026-06-29Dorl, James J Esq UNQUALIFIED93Bernardo Dominic
1027Arvin X MaletCanada2026-07-17Chemel, James L Cpa PROPOSAL64Xuxue Feng
1028Aika U WaycottJapan2026-06-29Morlong Associates RENEWAL36Asiya Javayant
1029Stacey L SergiBrazil2026-07-05Morlong Associates PROPOSAL45Bernardo Dominic
1030Ricardo V StensethRussia2026-06-27Benton, John B Jr QUALIFIED69Stephen Shaw
1031Ivar F BriddickGermany2026-06-29Printing Dimensions NEW2Anna Fali
1032Johnson Q RutaItaly2026-06-29Benton, John B Jr NEW25Anna Fali
1033Maisha K CaudyFrance2026-07-17Morlong Associates NEW78Onyama Limba
1034Ashley K RutaJapan2026-07-19Rousseaux, Michael Esq PROPOSAL32Ioni Bowcher
1035Claire N SergiIndia2026-06-29Truhlar And Truhlar Attys NEW61Xuxue Feng
1036Sinclair J MarrierAustralia2026-06-26Feltz Printing Service NEGOTIATION74Elwin Sharvill
1037Aika Y ButtRussia2026-07-02Feltz Printing Service NEW77Anna Fali
1038Cody L CaudySpain2026-06-29Dorl, James J Esq NEGOTIATION36Bernardo Dominic
1039Kaitlin Y MorascaItaly2026-07-03Feltz Printing Service RENEWAL81Amy Elsner
1040David P OldroydUnited Kingdom2026-06-27Rangoni Of Florence NEW45Ivan Magalhaes
1041Adams S DarakjyCanada2026-06-23Commercial Press UNQUALIFIED88Stephen Shaw
1042Aruna W VenereCanada2026-07-13Benton, John B Jr PROPOSAL14Xuxue Feng
1043Kadeem C PaprockiBrazil2026-06-22Rousseaux, Michael Esq RENEWAL5Ivan Magalhaes
1044Costa N CaldareraGermany2026-07-13Feiner Bros NEGOTIATION48Elwin Sharvill
1045Darci C FerenczCanada2026-07-08Chemel, James L Cpa QUALIFIED7Elwin Sharvill
1046Emily F AmigonJapan2026-07-10Truhlar And Truhlar Attys RENEWAL33Onyama Limba
1047Emily G GauchoJapan2026-06-26Commercial Press UNQUALIFIED0Anna Fali
1048Stacey V CaldareraGermany2026-07-10Chemel, James L Cpa NEW98Stephen Shaw
1049Murillo R DilliardGermany2026-06-29Dorl, James J Esq NEW15Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan Y ButtArgentinaAmy Elsner RENEWAL
Mujtaba S BowleyCanadaAmy Elsner NEGOTIATION
Faith M MaletJapanElwin Sharvill UNQUALIFIED
Arvin I FerenczSpainStephen Shaw NEGOTIATION
Kaitlin C DilliardSpainStephen Shaw PROPOSAL
Ricardo Z ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Julie U WaycottIndiaElwin Sharvill RENEWAL
Aruna Q FollerIndiaAsiya Javayant QUALIFIED
Rodrigues M MaletJapanIoni Bowcher QUALIFIED
Munro H DarakjyArgentinaIvan Magalhaes QUALIFIED
Arvin O VenereArgentinaAnna Fali PROPOSAL
Salvatore D SergiFranceIoni Bowcher RENEWAL
Ivar H OldroydRussiaIoni Bowcher NEGOTIATION
Tony C BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Francesco X DarakjyJapanBernardo Dominic NEW
Julie G TollnerUnited KingdomAnna Fali NEW
Morrow J FigeroaJapanXuxue Feng NEW
Chavez C BriddickJapanElwin Sharvill NEGOTIATION
Smith M PoquetteAustraliaElwin Sharvill NEW
Greenwood T NestleCanadaElwin Sharvill PROPOSAL
Maria G GlickRussiaIvan Magalhaes UNQUALIFIED
Arvin W NickaFranceAsiya Javayant PROPOSAL
Nicolas R RutaGermanyBernardo Dominic NEW
Antonio S WhobreyIndiaXuxue Feng NEW
Octavia Y KolmetzGermanyIvan Magalhaes NEW
Smith Q ChuiAustraliaElwin Sharvill QUALIFIED
Leon H RimSpainBernardo Dominic NEW
Antonio E BriddickGermanyAmy Elsner RENEWAL
Munro O AlbaresUnited KingdomIoni Bowcher QUALIFIED
Darci S GarufiItalyAmy Elsner NEGOTIATION
Julie N WieserSpainStephen Shaw NEW
Adams P FollerUnited KingdomIvan Magalhaes QUALIFIED
Izzy V WaycottAustraliaStephen Shaw RENEWAL
Claire I MorascaBrazilIvan Magalhaes PROPOSAL
Jennifer Y TollnerBrazilXuxue Feng NEW
Deepesh L FlosiItalyAsiya Javayant NEW
Misaki E FollerRussiaAnna Fali NEW
Mujtaba K WaycottAustraliaIoni Bowcher NEW
Jeanfrancois T ShinkoCanadaAmy Elsner NEGOTIATION
Kadeem P VocelkaJapanElwin Sharvill RENEWAL
Mayumi H AmigonItalyBernardo Dominic QUALIFIED
Juan P StensethIndiaIvan Magalhaes RENEWAL
Juan F WhobreyJapanAmy Elsner NEW
Darci I FigeroaItalyBernardo Dominic NEW
Greenwood W DarakjyCanadaOnyama Limba UNQUALIFIED
Kadeem O TollnerCanadaOnyama Limba NEGOTIATION
Aditya D SlusarskiBrazilIvan Magalhaes NEW
Greenwood K DarakjyItalyIoni Bowcher RENEWAL
Aruna R MorascaItalyAmy Elsner RENEWAL
Clifford D ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Misaki F Amigon
Jennifer I Briddick
Chavez Q Marrier
Morrow W Rim
Ivar M Shinko
Alejandro T Morasca
Deepesh R Morasca
Tony B Malet
Ivar G Garufi
Antonio V Bowley
Isabel N Iturbide
Ivar A Marrier
Ivar T Campain
Johnson U Iturbide
Antonio D Royster
Juan L Glick
Murillo X Garufi
Morrow L Rim
Johnson S Kusko
Ricardo Y Bolognia
Misaki Q Whobrey
Ivar Z Albares
Stacey O Tollner
Juan E Morasca
Octavia J Albares
Jeanfrancois S Malet
James H Tollner
Adams L Perin
Kaitlin N Gaucho
Tony V Waycott
Julie I Shinko
Ashley F Sergi
Darci L Venere
Jefferson Z Slusarski
Isabel K Maclead
Adams Q Marrier
Aruna O Chui
Greenwood Y Schemmer
Stacey T Poquette
Mayumi B Marrier
James J Stenseth
Chavez E Poquette
Ashley F Albares
Chavez Z Kolmetz
Ricardo B Ruta
Antonio X Waycott
Salvatore R Malet
Antonio P Saylors
Stacey G Maclead
Antonio F Malet
IdCountryDate
1000Australia2026-07-19
1001France2026-07-15
1002Brazil2026-06-27
1003United Kingdom2026-07-05
1004Japan2026-07-17
1005Russia2026-07-17
1006France2026-07-13
1007Russia2026-07-14
1008Canada2026-07-01
1009United Kingdom2026-07-04
1010Argentina2026-07-15
1011India2026-07-13
1012Brazil2026-07-05
1013Australia2026-07-04
1014France2026-07-05
1015Australia2026-07-05
1016India2026-06-22
1017Spain2026-06-26
1018Australia2026-06-27
1019India2026-07-17
1020Argentina2026-07-19
1021United Kingdom2026-07-08
1022Japan2026-07-18
1023Japan2026-06-24
1024United Kingdom2026-06-28
1025Canada2026-06-25
1026Argentina2026-06-21
1027Germany2026-07-12
1028Spain2026-07-14
1029United Kingdom2026-06-27
1030Germany2026-06-30
1031Russia2026-06-27
1032Brazil2026-07-03
1033Spain2026-06-25
1034France2026-06-30
1035Australia2026-07-16
1036India2026-07-11
1037Brazil2026-07-14
1038France2026-07-13
1039Canada2026-07-04
1040France2026-06-23
1041Japan2026-07-07
1042Canada2026-07-13
1043India2026-07-13
1044Brazil2026-06-23
1045Canada2026-07-08
1046Germany2026-07-09
1047Italy2026-07-14
1048France2026-06-27
1049Spain2026-07-11

On-Demand Data

NameIdCountryDate
David B Briddick1000United Kingdom2026-06-23
Kadeem J Stenseth1001Japan2026-07-01
Adams F Bowley1002Brazil2026-06-25
Mujtaba A Oldroyd1003India2026-07-09
Adams T Dilliard1004Italy2026-07-11
Claire O Saylors1005Italy2026-06-24
Jeanfrancois F Amigon1006Japan2026-07-02
Clifford L Briddick1007Germany2026-06-22
James F Whobrey1008Brazil2026-06-28
Greenwood D Rim1009Germany2026-06-23
Chavez H Stockham1010Spain2026-06-29
Mujtaba D Schemmer1011United Kingdom2026-07-15
Misaki U Perin1012Japan2026-06-21
Salvatore W Slusarski1013Japan2026-07-06
Faith O Briddick1014Japan2026-06-24
James V Slusarski1015United Kingdom2026-06-29
Emily F Stockham1016India2026-07-02
Ashley O Shinko1017Germany2026-07-05
Wickens H Vocelka1018India2026-07-01
Arvin A Schemmer1019India2026-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey P PoquetteItalyIoni Bowcher PROPOSAL
Deepesh C MorascaItalyAnna Fali NEW
Isabel L ButtItalyAsiya Javayant PROPOSAL
Mujtaba F BologniaItalyIvan Magalhaes PROPOSAL
Morrow L GlickFranceBernardo Dominic RENEWAL
Jeanfrancois X NickaCanadaElwin Sharvill PROPOSAL
David C ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh U PoquetteFranceBernardo Dominic UNQUALIFIED
Munro K TollnerItalyXuxue Feng NEW
Emily A AlbaresCanadaStephen Shaw PROPOSAL
Misaki Y IturbideIndiaAsiya Javayant NEGOTIATION
Munro N IturbideItalyIoni Bowcher PROPOSAL
Murillo E GlickSpainXuxue Feng NEW
Ivar R CaudyCanadaBernardo Dominic UNQUALIFIED
Emily M MaletJapanAnna Fali PROPOSAL
Sinclair J WhobreyUnited KingdomAmy Elsner NEGOTIATION
Leja Y WaycottBrazilIvan Magalhaes UNQUALIFIED
Smith P VenereRussiaIoni Bowcher UNQUALIFIED
Alejandro R InouyeRussiaXuxue Feng RENEWAL
Leja C SaylorsBrazilBernardo Dominic QUALIFIED
Antonio H OstroskyIndiaBernardo Dominic NEGOTIATION
Alejandro K PerinJapanStephen Shaw RENEWAL
Emily C CampainRussiaBernardo Dominic NEW
Juan W RulapaughArgentinaIoni Bowcher UNQUALIFIED
Cody V OldroydArgentinaAnna Fali NEGOTIATION
Munro B FollerArgentinaIvan Magalhaes UNQUALIFIED
Juan F FerenczItalyAsiya Javayant UNQUALIFIED
Octavia S CaudyIndiaOnyama Limba NEW
David X MorascaAustraliaElwin Sharvill UNQUALIFIED
Jones F DilliardUnited KingdomXuxue Feng QUALIFIED
Tony M OldroydFranceIvan Magalhaes RENEWAL
Morrow K SlusarskiFranceIvan Magalhaes NEW
Mayumi J SlusarskiUnited KingdomStephen Shaw NEW
Cody V NickaUnited KingdomIoni Bowcher RENEWAL
Octavia H CaldareraUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois E InouyeFranceElwin Sharvill NEW
Morrow N BowleyRussiaAsiya Javayant NEGOTIATION
David M SaylorsArgentinaOnyama Limba PROPOSAL
Greenwood W CampainArgentinaAsiya Javayant NEGOTIATION
Ivar T WaycottUnited KingdomAmy Elsner 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>