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
Darci C BriddickSpainXuxue Feng UNQUALIFIED
Munro D VenereRussiaXuxue Feng NEW
Deepesh L RulapaughCanadaAsiya Javayant PROPOSAL
Costa K IturbideItalyAnna Fali NEGOTIATION
Deepesh C RoysterArgentinaElwin Sharvill PROPOSAL
Ivar E MaletIndiaAmy Elsner QUALIFIED
Ashley G OstroskyIndiaAnna Fali NEGOTIATION
Jefferson Z NickaRussiaAsiya Javayant UNQUALIFIED
Johnson T PerinUnited KingdomIoni Bowcher NEW
Darci K VocelkaSpainOnyama Limba UNQUALIFIED
Leon U IturbideRussiaAmy Elsner NEGOTIATION
Cody K FigeroaArgentinaBernardo Dominic PROPOSAL
Sinclair V DoeArgentinaStephen Shaw UNQUALIFIED
Morrow N SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Murillo U StockhamRussiaStephen Shaw PROPOSAL
Wickens Z RulapaughRussiaIoni Bowcher RENEWAL
Greenwood G BologniaBrazilIvan Magalhaes RENEWAL
Sinclair C ButtAustraliaBernardo Dominic NEW
Munro E KolmetzGermanyAmy Elsner UNQUALIFIED
Claire K RoysterSpainStephen Shaw NEGOTIATION
Munro C FigeroaIndiaXuxue Feng NEGOTIATION
Jeanfrancois J KolmetzJapanBernardo Dominic NEGOTIATION
Costa C FollerFranceOnyama Limba UNQUALIFIED
Jefferson C VenereFranceStephen Shaw RENEWAL
Ricardo J AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford C WhobreySpainIvan Magalhaes PROPOSAL
Nicolas O InouyeSpainStephen Shaw NEW
Leja N CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois Y FollerBrazilAsiya Javayant RENEWAL
Costa X VocelkaGermanyStephen Shaw NEGOTIATION
Jennifer E StockhamItalyBernardo Dominic NEGOTIATION
Costa W ChuiItalyXuxue Feng NEGOTIATION
Leja N MacleadUnited KingdomStephen Shaw RENEWAL
Julie N OstroskyItalyIoni Bowcher PROPOSAL
Kadeem Z OldroydCanadaAmy Elsner QUALIFIED
Darci S GillianIndiaStephen Shaw NEGOTIATION
Arvin Z NestleJapanOnyama Limba NEW
Rodrigues N SchemmerGermanyXuxue Feng RENEWAL
Claire Q TollnerItalyAsiya Javayant NEW
Stacey W FollerBrazilAmy Elsner QUALIFIED
Maria T MacleadCanadaIoni Bowcher PROPOSAL
Smith R TollnerUnited KingdomXuxue Feng PROPOSAL
Chavez X StockhamFranceElwin Sharvill NEW
Clifford Z GarufiJapanAnna Fali NEW
Tony B GlickRussiaIvan Magalhaes RENEWAL
Nicolas M MaletFranceIvan Magalhaes NEGOTIATION
Murillo I CampainArgentinaXuxue Feng NEGOTIATION
Izzy Y BowleySpainIoni Bowcher QUALIFIED
Cody B StockhamCanadaStephen Shaw QUALIFIED
Aditya T GlickJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro S BologniaAustraliaStephen Shaw NEW
Julie N MorascaFranceOnyama Limba PROPOSAL
Antonio U PaprockiJapanIoni Bowcher NEGOTIATION
Greenwood B DilliardJapanElwin Sharvill QUALIFIED
Maria S SergiFranceElwin Sharvill PROPOSAL
Jennifer K KuskoFranceAmy Elsner QUALIFIED
Munro V WaycottItalyAsiya Javayant RENEWAL
Mujtaba L ButtArgentinaAsiya Javayant RENEWAL
Octavia U FerenczArgentinaElwin Sharvill NEGOTIATION
Jones M SchemmerGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David O MacleadArgentina2026-08-12King, Christopher A Esq PROPOSAL66Onyama Limba
1001Salvatore U PaprockiSpain2026-08-05Truhlar And Truhlar Attys RENEWAL93Elwin Sharvill
1002Sinclair Y MorascaCanada2026-08-16King, Christopher A Esq UNQUALIFIED41Stephen Shaw
1003Jennifer I SaylorsBrazil2026-08-04Feltz Printing Service NEGOTIATION76Ivan Magalhaes
1004Faith T GlickAustralia2026-08-14Feltz Printing Service NEW73Anna Fali
1005Alejandro S TollnerUnited Kingdom2026-08-24Rousseaux, Michael Esq PROPOSAL76Elwin Sharvill
1006Greenwood D ChuiArgentina2026-08-22Feltz Printing Service RENEWAL35Ioni Bowcher
1007Emily O MaletBrazil2026-08-27Rousseaux, Michael Esq RENEWAL46Elwin Sharvill
1008Aruna X VenereGermany2026-08-12Rangoni Of Florence UNQUALIFIED69Ioni Bowcher
1009Salvatore W PoquetteGermany2026-08-17Dorl, James J Esq RENEWAL17Onyama Limba
1010Stacey A DarakjySpain2026-09-01Dorl, James J Esq QUALIFIED24Anna Fali
1011Emily O CaldareraBrazil2026-08-12Feltz Printing Service QUALIFIED96Stephen Shaw
1012Jones N DarakjySpain2026-08-05Rousseaux, Michael Esq NEGOTIATION38Asiya Javayant
1013Deepesh P CaudyArgentina2026-08-16Rousseaux, Michael Esq NEW1Bernardo Dominic
1014Jones C SaylorsRussia2026-08-17Buckley Miller Wright QUALIFIED61Onyama Limba
1015Faith B StockhamBrazil2026-08-11King, Christopher A Esq RENEWAL35Elwin Sharvill
1016Munro N KolmetzFrance2026-08-28Chapman, Ross E Esq RENEWAL98Stephen Shaw
1017Nicolas C PaprockiUnited Kingdom2026-08-16Truhlar And Truhlar Attys RENEWAL16Amy Elsner
1018Greenwood I CampainJapan2026-08-24Dorl, James J Esq NEGOTIATION51Anna Fali
1019Ricardo R RutaFrance2026-08-14Feiner Bros PROPOSAL60Ivan Magalhaes
1020Leja K DarakjyIndia2026-08-04Truhlar And Truhlar Attys QUALIFIED64Anna Fali
1021Stacey D SergiFrance2026-08-10Rangoni Of Florence NEW21Onyama Limba
1022Costa I BologniaFrance2026-08-22Dorl, James J Esq NEW55Ivan Magalhaes
1023Leon R GlickAustralia2026-08-31Benton, John B Jr QUALIFIED28Onyama Limba
1024Ricardo L SaylorsSpain2026-08-28Benton, John B Jr PROPOSAL67Amy Elsner
1025Sinclair P BriddickGermany2026-08-25King, Christopher A Esq NEGOTIATION1Ivan Magalhaes
1026Aika N StensethItaly2026-08-11Chanay, Jeffrey A Esq PROPOSAL57Bernardo Dominic
1027Sinclair N AlbaresSpain2026-08-22Chapman, Ross E Esq NEW28Anna Fali
1028Smith Z ButtRussia2026-09-01Dorl, James J Esq NEW71Xuxue Feng
1029Alejandro O StensethArgentina2026-08-31Truhlar And Truhlar Attys RENEWAL23Ivan Magalhaes
1030Aika T BowleyAustralia2026-09-01Rousseaux, Michael Esq UNQUALIFIED38Bernardo Dominic
1031Octavia Y DarakjyBrazil2026-08-19Morlong Associates NEGOTIATION92Onyama Limba
1032Costa M CampainBrazil2026-08-15Benton, John B Jr UNQUALIFIED2Stephen Shaw
1033Nicolas N ShinkoFrance2026-08-04Chapman, Ross E Esq QUALIFIED49Elwin Sharvill
1034Nicolas P PaprockiSpain2026-08-10Chemel, James L Cpa RENEWAL80Amy Elsner
1035Isabel C GauchoSpain2026-08-04Morlong Associates RENEWAL14Bernardo Dominic
1036Kadeem P OstroskyAustralia2026-08-22Buckley Miller Wright RENEWAL57Anna Fali
1037Octavia F WhobreyIndia2026-08-29Feltz Printing Service NEGOTIATION26Bernardo Dominic
1038Smith J RoysterSpain2026-08-23Feltz Printing Service QUALIFIED26Xuxue Feng
1039Clifford A StensethUnited Kingdom2026-08-25Truhlar And Truhlar Attys NEW58Bernardo Dominic
1040Leja I MorascaFrance2026-08-18Rangoni Of Florence NEW21Elwin Sharvill
1041Izzy P VenereRussia2026-08-22Printing Dimensions QUALIFIED68Asiya Javayant
1042Mayumi S GarufiFrance2026-08-18Feiner Bros UNQUALIFIED26Elwin Sharvill
1043Costa P CaudyFrance2026-08-21Feltz Printing Service NEGOTIATION85Ioni Bowcher
1044Maisha J DarakjyItaly2026-08-26Chemel, James L Cpa QUALIFIED49Asiya Javayant
1045Misaki K RimArgentina2026-08-29Morlong Associates NEGOTIATION5Amy Elsner
1046Faith B KuskoIndia2026-09-01Truhlar And Truhlar Attys UNQUALIFIED88Elwin Sharvill
1047Isabel M KuskoSpain2026-08-31Truhlar And Truhlar Attys QUALIFIED17Ioni Bowcher
1048Tony D BologniaFrance2026-08-28Chemel, James L Cpa NEW69Stephen Shaw
1049Costa H NickaSpain2026-08-24Truhlar And Truhlar Attys NEGOTIATION26Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Darci F OstroskyCanadaXuxue Feng QUALIFIED
Octavia R VocelkaArgentinaAnna Fali NEGOTIATION
Rodrigues K StockhamGermanyXuxue Feng UNQUALIFIED
Ricardo U RimGermanyAnna Fali NEGOTIATION
Kadeem Z GlickFranceIoni Bowcher PROPOSAL
Octavia U KuskoIndiaAnna Fali NEW
Juan W MaletArgentinaIvan Magalhaes PROPOSAL
Morrow Q CaudyRussiaXuxue Feng PROPOSAL
Rodrigues X CaudyCanadaOnyama Limba RENEWAL
Sinclair T GillianJapanIvan Magalhaes NEW
Ricardo Z GlickRussiaBernardo Dominic UNQUALIFIED
Salvatore C NestleFranceStephen Shaw NEW
Octavia I DilliardSpainAsiya Javayant PROPOSAL
Ashley X PaprockiBrazilAmy Elsner RENEWAL
Darci K FerenczBrazilStephen Shaw PROPOSAL
Jennifer O StensethGermanyIvan Magalhaes NEW
Claire N ShinkoRussiaElwin Sharvill RENEWAL
Francesco E IturbideItalyAnna Fali RENEWAL
Leon C PoquetteSpainStephen Shaw UNQUALIFIED
Ashley S FollerCanadaAnna Fali NEW
Octavia T BologniaIndiaBernardo Dominic RENEWAL
Arvin O GlickBrazilAsiya Javayant QUALIFIED
Deepesh D WhobreyCanadaOnyama Limba QUALIFIED
Cody J KolmetzFranceIoni Bowcher RENEWAL
Jeanfrancois Z MarrierIndiaElwin Sharvill QUALIFIED
Ivar G FigeroaArgentinaStephen Shaw PROPOSAL
Aruna N CaudyItalyAmy Elsner RENEWAL
Smith R BriddickFranceXuxue Feng NEW
Aika N AmigonItalyAmy Elsner NEGOTIATION
Arvin G ButtUnited KingdomIvan Magalhaes NEW
Claire M OldroydAustraliaIvan Magalhaes RENEWAL
Clifford M KolmetzCanadaStephen Shaw PROPOSAL
Deepesh O DarakjyIndiaIoni Bowcher NEW
Mujtaba T WhobreyArgentinaBernardo Dominic RENEWAL
Adams N TollnerSpainBernardo Dominic NEW
Kaitlin A GarufiFranceAmy Elsner RENEWAL
Cody U RulapaughCanadaOnyama Limba UNQUALIFIED
Silvio C GlickArgentinaAnna Fali UNQUALIFIED
Costa G WaycottAustraliaBernardo Dominic UNQUALIFIED
Emily L SchemmerRussiaIvan Magalhaes NEGOTIATION
Chavez J NickaIndiaAnna Fali UNQUALIFIED
Kadeem M IturbideCanadaIvan Magalhaes UNQUALIFIED
Salvatore X BriddickBrazilIoni Bowcher NEGOTIATION
Adams T FlosiGermanyElwin Sharvill RENEWAL
Kaitlin J PerinItalyAsiya Javayant UNQUALIFIED
Jefferson R GauchoCanadaStephen Shaw RENEWAL
Nicolas M NickaArgentinaStephen Shaw UNQUALIFIED
Ivar M IturbideArgentinaOnyama Limba RENEWAL
Misaki T AmigonRussiaAnna Fali UNQUALIFIED
Antonio X GlickIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Antonio I Morasca
Ivar B Sergi
Octavia X Nestle
Mayumi K Oldroyd
Chavez G Rulapaugh
Adams O Tollner
Alejandro Z Rim
Ashley F Caudy
David N Briddick
Darci E Briddick
Nicolas N Dilliard
Tony L Maclead
Julie C Amigon
Faith D Slusarski
Ricardo C Slusarski
Ivar Z Venere
Salvatore Y Malet
Octavia D Marrier
Ashley Y Royster
Faith O Figeroa
Costa M Tollner
Maisha Q Vocelka
Izzy J Ostrosky
Kadeem T Butt
Silvio D Saylors
Chavez Z Nicka
Wickens L Inouye
Ivar H Stenseth
Wickens A Ostrosky
Ricardo A Tollner
Clifford O Oldroyd
Cody K Ruta
Darci C Stockham
Cody M Caudy
Cody X Figeroa
Antonio F Venere
Kaitlin T Garufi
Maisha V Saylors
Tony M Malet
Rodrigues R Ferencz
Francesco Z Gaucho
Francesco J Royster
Silvio W Malet
Julie B Flosi
Munro C Kusko
Antonio C Dilliard
Munro J Slusarski
Ricardo O Garufi
Emily J Rulapaugh
Jennifer O Nicka
IdCountryDate
1000Canada2026-08-23
1001Germany2026-09-02
1002Germany2026-08-04
1003Argentina2026-08-16
1004Argentina2026-08-14
1005Spain2026-08-24
1006Spain2026-08-16
1007India2026-09-01
1008Germany2026-08-04
1009Argentina2026-08-31
1010India2026-08-04
1011Germany2026-08-21
1012Germany2026-08-04
1013Canada2026-08-29
1014Canada2026-08-07
1015Russia2026-08-13
1016Germany2026-08-20
1017Japan2026-08-30
1018Japan2026-08-10
1019Argentina2026-08-11
1020United Kingdom2026-08-23
1021United Kingdom2026-08-22
1022Italy2026-08-13
1023Spain2026-08-30
1024United Kingdom2026-08-20
1025Japan2026-09-02
1026India2026-08-07
1027Japan2026-08-23
1028Brazil2026-08-05
1029Japan2026-08-08
1030Canada2026-08-14
1031India2026-08-20
1032France2026-08-30
1033France2026-08-10
1034Brazil2026-09-02
1035Argentina2026-08-11
1036India2026-08-30
1037France2026-08-06
1038Italy2026-09-02
1039Argentina2026-08-15
1040Spain2026-08-21
1041Canada2026-08-07
1042India2026-08-04
1043India2026-08-22
1044Italy2026-08-27
1045Italy2026-09-01
1046Australia2026-08-16
1047Germany2026-08-11
1048Italy2026-08-19
1049Russia2026-08-23

On-Demand Data

NameIdCountryDate
Morrow E Vocelka1000Italy2026-08-10
Arvin K Dilliard1001Canada2026-08-17
Jennifer A Vocelka1002Germany2026-08-28
Smith G Oldroyd1003Russia2026-08-17
Rodrigues C Malet1004Japan2026-08-21
Tony N Perin1005India2026-09-02
Ricardo E Stenseth1006India2026-09-01
Jennifer H Ruta1007United Kingdom2026-08-13
Kaitlin R Caudy1008Brazil2026-08-21
Juan F Garufi1009Spain2026-08-29
Antonio T Stenseth1010Brazil2026-08-30
Munro D Marrier1011Argentina2026-08-21
Francesco G Stockham1012Brazil2026-08-19
Octavia P Dilliard1013Russia2026-08-28
Darci S Stockham1014Germany2026-08-17
Greenwood X Venere1015Australia2026-08-17
David V Rulapaugh1016Italy2026-08-25
Francesco Q Malet1017Brazil2026-08-12
Greenwood D Glick1018United Kingdom2026-08-29
Claire X Paprocki1019Canada2026-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley M WieserUnited KingdomAsiya Javayant RENEWAL
Aika U MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson B ButtCanadaIoni Bowcher PROPOSAL
Chavez Y TollnerArgentinaAmy Elsner NEGOTIATION
Smith J ButtUnited KingdomAnna Fali UNQUALIFIED
Misaki S MaletAustraliaAnna Fali UNQUALIFIED
Octavia S SaylorsFranceIvan Magalhaes RENEWAL
Ashley O ChuiCanadaAnna Fali QUALIFIED
Maria O DoeGermanyIvan Magalhaes PROPOSAL
Salvatore X OldroydSpainAsiya Javayant UNQUALIFIED
Smith S GlickIndiaAnna Fali UNQUALIFIED
Smith V FigeroaGermanyAmy Elsner RENEWAL
Chavez J GauchoJapanElwin Sharvill UNQUALIFIED
Misaki M BologniaArgentinaAnna Fali QUALIFIED
Cody Q DoeRussiaElwin Sharvill NEW
Misaki V MacleadIndiaAmy Elsner RENEWAL
Jones W TollnerItalyIvan Magalhaes NEW
Izzy B FlosiBrazilIoni Bowcher QUALIFIED
Faith Q DarakjyJapanIoni Bowcher QUALIFIED
Aruna C ShinkoIndiaXuxue Feng RENEWAL
Adams Y PoquetteCanadaIoni Bowcher RENEWAL
Wickens A NickaRussiaBernardo Dominic NEGOTIATION
Arvin I SchemmerSpainIoni Bowcher PROPOSAL
Johnson R CaldareraItalyAsiya Javayant QUALIFIED
Leja H SlusarskiGermanyIvan Magalhaes NEW
Nicolas V GarufiRussiaOnyama Limba QUALIFIED
Munro N PaprockiUnited KingdomAnna Fali PROPOSAL
Maria X StensethAustraliaIvan Magalhaes QUALIFIED
Cody U BowleyGermanyIvan Magalhaes PROPOSAL
Rodrigues K KuskoItalyBernardo Dominic NEGOTIATION
Clifford Q StockhamGermanyStephen Shaw PROPOSAL
Stacey M NestleItalyStephen Shaw RENEWAL
Munro N RulapaughItalyIoni Bowcher NEGOTIATION
Aditya I KolmetzGermanyElwin Sharvill NEGOTIATION
Silvio J VenereJapanAsiya Javayant UNQUALIFIED
Julie U GlickItalyIvan Magalhaes RENEWAL
Kaitlin L ChuiArgentinaAnna Fali NEGOTIATION
Ricardo B KuskoAustraliaIvan Magalhaes NEW
Tony X RulapaughUnited KingdomAmy Elsner PROPOSAL
Juan P PoquetteSpainIvan Magalhaes RENEWAL

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