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
Juan H TollnerBrazilElwin Sharvill RENEWAL
Nicolas H CaldareraBrazilElwin Sharvill PROPOSAL
Costa P SlusarskiSpainAsiya Javayant PROPOSAL
Nicolas J KuskoArgentinaStephen Shaw QUALIFIED
Kadeem O MorascaIndiaAnna Fali UNQUALIFIED
Octavia Q RutaGermanyIoni Bowcher QUALIFIED
Alejandro T RoysterIndiaIvan Magalhaes RENEWAL
Octavia A SlusarskiJapanIvan Magalhaes NEGOTIATION
Chavez Y StensethRussiaStephen Shaw QUALIFIED
Clifford M SaylorsSpainStephen Shaw RENEWAL
Johnson V StockhamBrazilOnyama Limba NEW
Stacey B FerenczSpainBernardo Dominic QUALIFIED
Adams G DarakjyBrazilOnyama Limba RENEWAL
Darci I MorascaUnited KingdomStephen Shaw UNQUALIFIED
Johnson G AlbaresRussiaAmy Elsner QUALIFIED
Aika O InouyeUnited KingdomAmy Elsner PROPOSAL
Mayumi P GillianBrazilAsiya Javayant NEW
Adams J SlusarskiIndiaIoni Bowcher RENEWAL
Misaki T NickaArgentinaElwin Sharvill PROPOSAL
Maria L BologniaJapanXuxue Feng PROPOSAL
Mayumi R BowleyUnited KingdomOnyama Limba RENEWAL
Kadeem Q StockhamItalyIoni Bowcher NEW
Emily A BowleyRussiaStephen Shaw NEW
Chavez H MorascaCanadaBernardo Dominic UNQUALIFIED
Izzy V PoquetteCanadaAsiya Javayant UNQUALIFIED
Juan U AlbaresCanadaIvan Magalhaes RENEWAL
Leon T AlbaresGermanyAsiya Javayant UNQUALIFIED
Kadeem Z IturbideFranceIvan Magalhaes NEGOTIATION
Mayumi L SlusarskiFranceIoni Bowcher NEW
Faith H PerinRussiaAsiya Javayant RENEWAL
Jennifer W BowleyItalyAmy Elsner QUALIFIED
Ricardo A InouyeItalyOnyama Limba RENEWAL
Rodrigues J AmigonAustraliaAmy Elsner NEW
Ivar K KuskoAustraliaStephen Shaw PROPOSAL
Greenwood E ButtIndiaAsiya Javayant UNQUALIFIED
Wickens Y DilliardGermanyAsiya Javayant QUALIFIED
Rodrigues W IturbideSpainElwin Sharvill RENEWAL
Smith O MorascaFranceElwin Sharvill NEW
Tony D GlickJapanElwin Sharvill UNQUALIFIED
Silvio U CaudyItalyIoni Bowcher NEW
Greenwood V MarrierSpainAnna Fali NEW
Izzy D InouyeRussiaAsiya Javayant NEW
Leon J ButtSpainStephen Shaw RENEWAL
Kaitlin G OstroskyRussiaAnna Fali NEGOTIATION
Aditya X GlickJapanAsiya Javayant NEW
Aika D RoysterBrazilOnyama Limba NEW
Misaki F VocelkaRussiaAsiya Javayant NEW
Jennifer V AmigonAustraliaOnyama Limba PROPOSAL
Clifford H DoeFranceOnyama Limba RENEWAL
Rodrigues J CaldareraCanadaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin J RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Clifford W ChuiAustraliaElwin Sharvill PROPOSAL
Mujtaba G RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel J TollnerArgentinaIvan Magalhaes NEW
Smith H OldroydFranceIvan Magalhaes RENEWAL
Jones F InouyeIndiaOnyama Limba NEGOTIATION
Claire L SlusarskiSpainElwin Sharvill NEGOTIATION
Nicolas E AlbaresAustraliaAsiya Javayant RENEWAL
Francesco Z VenereRussiaStephen Shaw QUALIFIED
Jefferson K ShinkoRussiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens M FerenczGermany2026-08-28Chemel, James L Cpa NEGOTIATION69Xuxue Feng
1001Adams I StensethJapan2026-08-29Feltz Printing Service PROPOSAL90Onyama Limba
1002Jones N StensethItaly2026-08-31Morlong Associates PROPOSAL10Xuxue Feng
1003Costa W RutaSpain2026-08-02Chanay, Jeffrey A Esq PROPOSAL69Xuxue Feng
1004Jeanfrancois I BowleyAustralia2026-08-17King, Christopher A Esq NEW56Elwin Sharvill
1005Chavez Q RoysterJapan2026-08-17Benton, John B Jr PROPOSAL13Xuxue Feng
1006Chavez S PoquetteItaly2026-08-19Buckley Miller Wright PROPOSAL6Anna Fali
1007Aruna J GlickSpain2026-08-08Chemel, James L Cpa RENEWAL93Elwin Sharvill
1008Sinclair S KuskoSpain2026-08-20Commercial Press RENEWAL92Ioni Bowcher
1009Ivar V StockhamAustralia2026-08-25Printing Dimensions NEW46Xuxue Feng
1010Juan W WhobreyBrazil2026-08-16Feiner Bros RENEWAL96Stephen Shaw
1011Leja L VenereBrazil2026-08-07Chanay, Jeffrey A Esq NEW24Xuxue Feng
1012Rodrigues M DarakjyBrazil2026-08-16Chanay, Jeffrey A Esq RENEWAL54Asiya Javayant
1013Jefferson P PoquetteSpain2026-08-09Dorl, James J Esq RENEWAL44Onyama Limba
1014Aditya D CaudyBrazil2026-08-17Commercial Press RENEWAL30Bernardo Dominic
1015Wickens A PoquetteCanada2026-08-23Commercial Press PROPOSAL45Onyama Limba
1016Misaki S PaprockiFrance2026-08-31Truhlar And Truhlar Attys PROPOSAL84Xuxue Feng
1017Salvatore Y RutaJapan2026-08-10Chanay, Jeffrey A Esq PROPOSAL68Stephen Shaw
1018Clifford S GarufiItaly2026-08-08King, Christopher A Esq RENEWAL43Elwin Sharvill
1019Smith W InouyeBrazil2026-08-29Dorl, James J Esq QUALIFIED94Ivan Magalhaes
1020Leon T SchemmerBrazil2026-08-12King, Christopher A Esq NEW86Asiya Javayant
1021Leon H GillianBrazil2026-08-21Morlong Associates RENEWAL69Bernardo Dominic
1022Isabel I GlickAustralia2026-08-08Feltz Printing Service UNQUALIFIED37Elwin Sharvill
1023Julie E NickaCanada2026-08-20King, Christopher A Esq NEW47Bernardo Dominic
1024Morrow A PaprockiArgentina2026-08-22Rousseaux, Michael Esq PROPOSAL80Ivan Magalhaes
1025Antonio T GauchoArgentina2026-08-30Dorl, James J Esq NEW99Stephen Shaw
1026Johnson M FerenczCanada2026-08-31Chemel, James L Cpa QUALIFIED42Onyama Limba
1027Aika G AlbaresAustralia2026-08-27Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1028Silvio V PoquetteItaly2026-08-22Commercial Press NEW2Onyama Limba
1029Silvio D OldroydGermany2026-08-20Chanay, Jeffrey A Esq NEGOTIATION94Stephen Shaw
1030Kaitlin Q BologniaCanada2026-08-15Feltz Printing Service RENEWAL39Ivan Magalhaes
1031David G PoquetteIndia2026-08-19Rousseaux, Michael Esq PROPOSAL59Stephen Shaw
1032Jeanfrancois G PaprockiRussia2026-08-08Chapman, Ross E Esq NEGOTIATION84Amy Elsner
1033Clifford J PaprockiCanada2026-08-19Rousseaux, Michael Esq QUALIFIED81Asiya Javayant
1034David I WieserItaly2026-08-26Commercial Press PROPOSAL80Anna Fali
1035Juan T MaletBrazil2026-08-12Rousseaux, Michael Esq RENEWAL89Elwin Sharvill
1036Deepesh R GauchoGermany2026-08-04Dorl, James J Esq RENEWAL88Xuxue Feng
1037Octavia P StockhamGermany2026-08-15Rangoni Of Florence NEGOTIATION54Anna Fali
1038David X SaylorsJapan2026-08-21Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1039Morrow R IturbideIndia2026-08-13Feiner Bros QUALIFIED0Stephen Shaw
1040Greenwood H MacleadGermany2026-08-30Rangoni Of Florence PROPOSAL98Amy Elsner
1041Aika F GarufiFrance2026-08-15Dorl, James J Esq PROPOSAL68Anna Fali
1042Wickens A RimItaly2026-08-02Morlong Associates UNQUALIFIED17Ivan Magalhaes
1043Misaki J IturbideItaly2026-08-10Rousseaux, Michael Esq PROPOSAL48Onyama Limba
1044Johnson I AlbaresBrazil2026-08-28Rousseaux, Michael Esq UNQUALIFIED55Anna Fali
1045Misaki M PerinCanada2026-08-07Commercial Press UNQUALIFIED11Amy Elsner
1046Clifford S RutaSpain2026-08-04Chanay, Jeffrey A Esq QUALIFIED80Ioni Bowcher
1047Claire F RulapaughSpain2026-08-13Dorl, James J Esq NEW49Asiya Javayant
1048Nicolas Z PerinSpain2026-08-22Dorl, James J Esq QUALIFIED27Amy Elsner
1049Jefferson M NickaGermany2026-08-19Feiner Bros NEGOTIATION71Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan B MacleadFranceAnna Fali PROPOSAL
Ricardo T CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo O RutaGermanyAnna Fali NEGOTIATION
Smith K RoysterFranceAnna Fali UNQUALIFIED
Ashley P AlbaresBrazilStephen Shaw NEGOTIATION
Munro P CampainIndiaIoni Bowcher NEGOTIATION
Johnson W FigeroaSpainAsiya Javayant QUALIFIED
Kaitlin A MorascaRussiaAsiya Javayant RENEWAL
Faith K SchemmerItalyStephen Shaw RENEWAL
Nicolas D KuskoRussiaIvan Magalhaes UNQUALIFIED
Deepesh S ButtRussiaAmy Elsner NEGOTIATION
Aika D CaudyAustraliaXuxue Feng QUALIFIED
Jennifer K WaycottIndiaElwin Sharvill NEGOTIATION
Clifford D VocelkaRussiaElwin Sharvill NEW
Antonio F KuskoCanadaXuxue Feng NEW
Darci J ChuiArgentinaOnyama Limba RENEWAL
Jeanfrancois J DoeUnited KingdomXuxue Feng RENEWAL
Nicolas L ButtFranceElwin Sharvill PROPOSAL
Tony E MaletBrazilElwin Sharvill RENEWAL
Adams V DarakjyRussiaAmy Elsner QUALIFIED
Arvin T AlbaresUnited KingdomStephen Shaw NEW
Mayumi D OldroydFranceOnyama Limba UNQUALIFIED
Salvatore O WaycottAustraliaAnna Fali NEGOTIATION
Leon L BologniaGermanyAsiya Javayant PROPOSAL
Silvio D WhobreyGermanyOnyama Limba RENEWAL
Kaitlin R MaletFranceIvan Magalhaes NEW
Johnson H RimRussiaBernardo Dominic RENEWAL
Stacey F AlbaresBrazilBernardo Dominic RENEWAL
Jeanfrancois S SlusarskiGermanyAnna Fali UNQUALIFIED
Mujtaba H PerinAustraliaXuxue Feng UNQUALIFIED
Ivar U PaprockiGermanyAsiya Javayant QUALIFIED
Faith A FollerRussiaAnna Fali QUALIFIED
Mujtaba X MacleadFranceIvan Magalhaes UNQUALIFIED
Darci Q RoysterRussiaAsiya Javayant NEW
Emily G MacleadItalyOnyama Limba UNQUALIFIED
Salvatore A StensethAustraliaXuxue Feng UNQUALIFIED
Morrow H MacleadItalyOnyama Limba NEW
Juan R ChuiRussiaAnna Fali NEW
Costa B GauchoCanadaOnyama Limba PROPOSAL
Alejandro C RutaGermanyIoni Bowcher PROPOSAL
Wickens I AlbaresFranceOnyama Limba NEW
Arvin G MaletUnited KingdomElwin Sharvill NEW
Clifford L FerenczUnited KingdomIvan Magalhaes RENEWAL
Kadeem A AmigonArgentinaAnna Fali QUALIFIED
Sinclair W SergiItalyIvan Magalhaes PROPOSAL
Costa O AlbaresSpainIoni Bowcher NEW
Maisha P KolmetzFranceXuxue Feng RENEWAL
Alejandro H FigeroaGermanyOnyama Limba QUALIFIED
Greenwood O PerinRussiaIoni Bowcher QUALIFIED
Jennifer I OstroskyArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Sinclair J Malet
Sinclair M Perin
Salvatore A Iturbide
Mujtaba T Darakjy
Ricardo P Gillian
Ivar T Bowley
Wickens E Malet
Morrow U Bowley
Cody W Stenseth
Darci H Nicka
Murillo S Kusko
Johnson Y Venere
Octavia C Kolmetz
Faith O Wieser
Francesco Y Nestle
Antonio A Stenseth
Izzy T Butt
Jefferson N Nicka
Maria S Kolmetz
Rodrigues R Albares
Cody S Ferencz
David Y Amigon
Arvin Z Rulapaugh
Ivar A Albares
Juan S Rim
Octavia G Oldroyd
Smith H Figeroa
Maria Y Flosi
Juan S Malet
Nicolas T Kusko
Deepesh O Garufi
Greenwood J Royster
Smith U Figeroa
Clifford N Glick
Faith W Tollner
Murillo T Doe
Kaitlin D Albares
Sinclair A Malet
Juan A Stenseth
Aika U Vocelka
Francesco Q Marrier
Munro N Royster
Greenwood O Perin
Murillo A Malet
Faith P Darakjy
Morrow V Rulapaugh
Arvin A Butt
Leon Z Albares
Ivar J Doe
Aditya K Royster
IdCountryDate
1000Brazil2026-08-04
1001France2026-08-26
1002Brazil2026-08-04
1003India2026-08-18
1004Spain2026-08-17
1005Russia2026-08-04
1006Brazil2026-08-17
1007Spain2026-08-18
1008Spain2026-08-06
1009Germany2026-08-23
1010Russia2026-08-30
1011Argentina2026-08-10
1012India2026-08-17
1013Japan2026-08-13
1014Spain2026-08-12
1015France2026-08-30
1016Argentina2026-08-08
1017Spain2026-08-05
1018Argentina2026-08-19
1019Japan2026-08-07
1020Brazil2026-08-07
1021Argentina2026-08-30
1022Italy2026-08-21
1023United Kingdom2026-08-12
1024Brazil2026-08-24
1025Germany2026-08-04
1026Canada2026-08-07
1027United Kingdom2026-08-21
1028Germany2026-08-23
1029Argentina2026-08-20
1030Canada2026-08-23
1031Russia2026-08-16
1032France2026-08-27
1033Germany2026-08-16
1034Brazil2026-08-07
1035Canada2026-08-06
1036Australia2026-08-06
1037India2026-08-17
1038Italy2026-08-11
1039Russia2026-08-31
1040Russia2026-08-11
1041Argentina2026-08-02
1042Australia2026-08-15
1043Brazil2026-08-08
1044Russia2026-08-05
1045Russia2026-08-14
1046Italy2026-08-03
1047India2026-08-11
1048Spain2026-08-27
1049Germany2026-08-26

On-Demand Data

NameIdCountryDate
Deepesh J Butt1000Germany2026-08-22
Chavez A Caldarera1001Argentina2026-08-16
David Y Ruta1002Russia2026-08-16
Nicolas W Butt1003Australia2026-08-17
Adams T Amigon1004India2026-08-27
Isabel U Whobrey1005Australia2026-08-27
Julie C Malet1006United Kingdom2026-08-03
Sinclair B Foller1007Argentina2026-08-23
Tony C Schemmer1008India2026-08-26
James L Flosi1009Spain2026-08-07
Morrow X Flosi1010Brazil2026-08-10
Octavia B Figeroa1011Russia2026-08-11
Mayumi X Saylors1012Japan2026-08-20
Tony H Waycott1013India2026-08-10
Johnson J Amigon1014Germany2026-08-10
Tony D Sergi1015Italy2026-08-14
Jones N Inouye1016Russia2026-08-29
Maisha U Butt1017United Kingdom2026-08-13
Kadeem D Bolognia1018United Kingdom2026-08-13
Alejandro S Ostrosky1019India2026-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S GillianSpainStephen Shaw PROPOSAL
Wickens T ButtArgentinaIoni Bowcher NEW
Silvio A ButtBrazilElwin Sharvill PROPOSAL
Ivar P MorascaUnited KingdomAmy Elsner UNQUALIFIED
Ricardo M WieserItalyBernardo Dominic UNQUALIFIED
Aika N DarakjySpainAsiya Javayant RENEWAL
Chavez J DoeItalyElwin Sharvill QUALIFIED
James Z InouyeCanadaOnyama Limba PROPOSAL
Greenwood N PoquetteUnited KingdomAnna Fali QUALIFIED
Octavia Z MorascaAustraliaAsiya Javayant RENEWAL
Leon R OstroskyItalyAsiya Javayant PROPOSAL
Rodrigues B MarrierBrazilXuxue Feng PROPOSAL
Leja A IturbideIndiaAsiya Javayant PROPOSAL
Leon Z CaudyJapanAsiya Javayant RENEWAL
Emily P StockhamIndiaStephen Shaw RENEWAL
Aika M WieserCanadaIvan Magalhaes NEGOTIATION
Chavez U SchemmerArgentinaIvan Magalhaes RENEWAL
Jones Y GlickJapanStephen Shaw NEGOTIATION
Chavez V FerenczJapanIoni Bowcher QUALIFIED
Murillo X SchemmerBrazilIvan Magalhaes QUALIFIED
Ashley T WhobreyUnited KingdomAmy Elsner NEGOTIATION
Isabel Z ShinkoCanadaStephen Shaw NEW
Jennifer O DilliardIndiaAnna Fali UNQUALIFIED
Maria S KolmetzSpainIoni Bowcher UNQUALIFIED
Jeanfrancois E AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Munro W PoquetteFranceStephen Shaw RENEWAL
Costa H WaycottArgentinaAsiya Javayant QUALIFIED
Juan F BriddickAustraliaXuxue Feng QUALIFIED
Maisha Y KuskoArgentinaAnna Fali PROPOSAL
Isabel C MorascaSpainIvan Magalhaes PROPOSAL
Ricardo V GillianBrazilElwin Sharvill NEW
James U MaletGermanyElwin Sharvill RENEWAL
Tony M RoysterBrazilXuxue Feng UNQUALIFIED
Kaitlin Z DarakjyBrazilIoni Bowcher NEGOTIATION
Mujtaba B NestleJapanXuxue Feng RENEWAL
Chavez H RulapaughJapanIvan Magalhaes UNQUALIFIED
Murillo D RimJapanAsiya Javayant NEGOTIATION
Johnson O AlbaresFranceElwin Sharvill NEW
Stacey Q AlbaresCanadaAsiya Javayant PROPOSAL
Leon I WaycottCanadaIoni Bowcher NEW

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