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
Julie C ChuiItalyBernardo Dominic NEW
Arvin P GlickUnited KingdomIoni Bowcher NEGOTIATION
Silvio A RutaFranceElwin Sharvill UNQUALIFIED
Costa Z DoeAustraliaStephen Shaw NEW
Aruna A WieserItalyIoni Bowcher NEW
Octavia Z BologniaCanadaIvan Magalhaes NEGOTIATION
Isabel O InouyeAustraliaAmy Elsner NEGOTIATION
James A FigeroaFranceAmy Elsner NEGOTIATION
Morrow L WhobreySpainStephen Shaw PROPOSAL
Leja B NickaAustraliaAmy Elsner RENEWAL
Murillo U PoquetteGermanyXuxue Feng NEGOTIATION
Mujtaba U FigeroaCanadaIvan Magalhaes NEW
Antonio C FerenczArgentinaStephen Shaw UNQUALIFIED
Mayumi H WaycottFranceAmy Elsner RENEWAL
Isabel J CaldareraJapanStephen Shaw NEGOTIATION
Antonio V DoeJapanStephen Shaw QUALIFIED
Munro G RoysterItalyElwin Sharvill NEGOTIATION
Costa U InouyeItalyOnyama Limba QUALIFIED
Mayumi D DoeAustraliaOnyama Limba PROPOSAL
Adams M KuskoArgentinaXuxue Feng RENEWAL
Misaki D MarrierJapanAnna Fali PROPOSAL
Jones X RoysterIndiaStephen Shaw NEW
Morrow J SergiIndiaBernardo Dominic QUALIFIED
Adams A FerenczAustraliaAnna Fali UNQUALIFIED
Nicolas T DarakjyArgentinaAsiya Javayant UNQUALIFIED
Arvin N DarakjyAustraliaAsiya Javayant NEGOTIATION
Aruna H PoquetteBrazilIvan Magalhaes PROPOSAL
Julie X RoysterArgentinaBernardo Dominic RENEWAL
Cody J DoeFranceAmy Elsner QUALIFIED
Wickens N PerinCanadaXuxue Feng QUALIFIED
Adams P SergiArgentinaBernardo Dominic NEW
Costa F BriddickArgentinaAmy Elsner NEW
Izzy K OldroydFranceAsiya Javayant NEGOTIATION
James C OldroydAustraliaIoni Bowcher RENEWAL
Maisha E FlosiIndiaIoni Bowcher UNQUALIFIED
Ivar Q KuskoUnited KingdomAnna Fali NEW
Salvatore S GauchoGermanyOnyama Limba QUALIFIED
Salvatore Y RutaSpainIvan Magalhaes NEW
Cody Q BologniaIndiaStephen Shaw UNQUALIFIED
Antonio X WieserItalyElwin Sharvill UNQUALIFIED
Ivar W NestleIndiaXuxue Feng NEGOTIATION
Jennifer N MaletAustraliaIoni Bowcher UNQUALIFIED
Aruna G VocelkaRussiaIoni Bowcher QUALIFIED
Antonio F DarakjyArgentinaOnyama Limba UNQUALIFIED
Emily B AlbaresUnited KingdomXuxue Feng NEGOTIATION
Francesco I RoysterArgentinaOnyama Limba QUALIFIED
Claire Z SchemmerBrazilAmy Elsner NEGOTIATION
Alejandro G ChuiIndiaXuxue Feng NEW
Salvatore C OldroydUnited KingdomAnna Fali QUALIFIED
Sinclair S GauchoRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Octavia G VocelkaGermanyAmy Elsner NEGOTIATION
Munro A DarakjyIndiaBernardo Dominic QUALIFIED
Greenwood B KuskoUnited KingdomAmy Elsner QUALIFIED
Salvatore E SchemmerIndiaIoni Bowcher PROPOSAL
Francesco U NickaItalyIvan Magalhaes NEGOTIATION
Tony L VocelkaFranceElwin Sharvill NEGOTIATION
Jefferson K ButtSpainBernardo Dominic RENEWAL
Julie L FollerIndiaElwin Sharvill QUALIFIED
Mayumi U ChuiJapanAnna Fali QUALIFIED
Maria X GauchoJapanIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie O OstroskyFrance2026-07-22Commercial Press NEW99Ivan Magalhaes
1001Maria P GillianUnited Kingdom2026-08-05Buckley Miller Wright RENEWAL3Anna Fali
1002Darci Y VenereGermany2026-08-03Commercial Press NEGOTIATION29Ivan Magalhaes
1003Ricardo C MarrierItaly2026-08-08Feiner Bros NEW95Amy Elsner
1004Morrow O ShinkoCanada2026-08-03Chanay, Jeffrey A Esq NEGOTIATION11Anna Fali
1005Nicolas Z RimJapan2026-07-20Rousseaux, Michael Esq RENEWAL81Ioni Bowcher
1006Faith R VenereItaly2026-08-02Chanay, Jeffrey A Esq UNQUALIFIED0Onyama Limba
1007Julie I KolmetzBrazil2026-07-21Rangoni Of Florence PROPOSAL60Stephen Shaw
1008Smith M VocelkaBrazil2026-07-16Feiner Bros UNQUALIFIED75Xuxue Feng
1009Sinclair Z DoeItaly2026-08-08Chemel, James L Cpa NEGOTIATION75Ivan Magalhaes
1010Octavia M FlosiFrance2026-08-07Dorl, James J Esq NEGOTIATION80Ivan Magalhaes
1011Darci T SergiFrance2026-08-03Commercial Press RENEWAL60Bernardo Dominic
1012Morrow V StensethJapan2026-07-29Feiner Bros RENEWAL91Elwin Sharvill
1013Ivar W BowleyItaly2026-07-31Chapman, Ross E Esq UNQUALIFIED19Elwin Sharvill
1014Jefferson Q DarakjyRussia2026-07-25Printing Dimensions QUALIFIED84Ivan Magalhaes
1015Chavez W CaudyBrazil2026-08-06Truhlar And Truhlar Attys PROPOSAL19Stephen Shaw
1016Munro Y AmigonRussia2026-07-16Chapman, Ross E Esq NEGOTIATION20Elwin Sharvill
1017Clifford M ShinkoItaly2026-07-12Feltz Printing Service RENEWAL92Stephen Shaw
1018Nicolas D WaycottJapan2026-08-05Rangoni Of Florence PROPOSAL12Bernardo Dominic
1019Murillo C MorascaFrance2026-08-05King, Christopher A Esq RENEWAL11Ioni Bowcher
1020Clifford I GlickAustralia2026-07-20Printing Dimensions RENEWAL4Amy Elsner
1021Jones X FollerCanada2026-08-10Chapman, Ross E Esq QUALIFIED98Stephen Shaw
1022Mujtaba D MacleadAustralia2026-07-15Truhlar And Truhlar Attys NEW53Asiya Javayant
1023Kadeem J WhobreyArgentina2026-07-26Chanay, Jeffrey A Esq QUALIFIED18Asiya Javayant
1024Jeanfrancois A StockhamCanada2026-07-24Rousseaux, Michael Esq QUALIFIED2Asiya Javayant
1025Faith C VenereCanada2026-07-28Dorl, James J Esq QUALIFIED70Onyama Limba
1026Emily X DoeRussia2026-07-17Benton, John B Jr UNQUALIFIED3Anna Fali
1027Arvin X ShinkoArgentina2026-07-22Rousseaux, Michael Esq QUALIFIED30Ivan Magalhaes
1028James J RutaArgentina2026-08-08Benton, John B Jr RENEWAL78Bernardo Dominic
1029Jennifer B SaylorsRussia2026-08-07Chemel, James L Cpa UNQUALIFIED50Asiya Javayant
1030Ricardo D GarufiGermany2026-07-23Truhlar And Truhlar Attys RENEWAL93Onyama Limba
1031Rodrigues Q GlickIndia2026-07-18Chemel, James L Cpa PROPOSAL21Asiya Javayant
1032Misaki T DarakjyJapan2026-07-21Chemel, James L Cpa NEGOTIATION82Stephen Shaw
1033Misaki T PaprockiJapan2026-07-28Rousseaux, Michael Esq PROPOSAL30Asiya Javayant
1034Munro K VocelkaBrazil2026-07-20Feiner Bros UNQUALIFIED78Ivan Magalhaes
1035Clifford F GlickGermany2026-07-29Morlong Associates NEGOTIATION14Amy Elsner
1036Jeanfrancois L CaldareraSpain2026-08-09Benton, John B Jr QUALIFIED18Asiya Javayant
1037Aruna C BowleyItaly2026-07-15King, Christopher A Esq RENEWAL72Anna Fali
1038Leja X DoeFrance2026-08-01Chemel, James L Cpa UNQUALIFIED97Amy Elsner
1039Morrow X RimGermany2026-07-17Benton, John B Jr QUALIFIED79Asiya Javayant
1040Nicolas K CaldareraBrazil2026-08-02Benton, John B Jr QUALIFIED48Anna Fali
1041Nicolas T WhobreyCanada2026-07-26Printing Dimensions UNQUALIFIED92Xuxue Feng
1042Chavez T StensethSpain2026-07-25Rousseaux, Michael Esq PROPOSAL53Stephen Shaw
1043Ivar R NestleFrance2026-07-16Chanay, Jeffrey A Esq NEW10Anna Fali
1044Kaitlin A DilliardRussia2026-08-08Printing Dimensions QUALIFIED98Amy Elsner
1045Arvin V ChuiCanada2026-07-13Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1046Adams W ButtRussia2026-07-17Feltz Printing Service QUALIFIED82Onyama Limba
1047Jefferson V MaletArgentina2026-08-02Benton, John B Jr QUALIFIED37Xuxue Feng
1048Leon M FerenczArgentina2026-08-04Chapman, Ross E Esq UNQUALIFIED78Bernardo Dominic
1049Stacey N GarufiGermany2026-08-04Printing Dimensions UNQUALIFIED84Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey M WieserItalyBernardo Dominic RENEWAL
Aika R BriddickSpainBernardo Dominic PROPOSAL
Deepesh O SaylorsBrazilElwin Sharvill PROPOSAL
Smith V OldroydGermanyBernardo Dominic NEGOTIATION
David O GarufiSpainStephen Shaw RENEWAL
Stacey X SlusarskiGermanyStephen Shaw NEGOTIATION
Ricardo O RimUnited KingdomStephen Shaw UNQUALIFIED
Isabel B OstroskySpainIvan Magalhaes PROPOSAL
Adams K OldroydSpainAmy Elsner NEW
Maria S WhobreyFranceAsiya Javayant UNQUALIFIED
Ashley C PoquetteIndiaStephen Shaw NEGOTIATION
Jeanfrancois B ButtAustraliaAmy Elsner RENEWAL
Maria V MorascaFranceElwin Sharvill NEW
Wickens G NickaSpainAnna Fali NEGOTIATION
Ashley R SchemmerIndiaBernardo Dominic PROPOSAL
Arvin T KolmetzJapanXuxue Feng RENEWAL
Salvatore Y PoquetteAustraliaAnna Fali NEW
Stacey K MaletArgentinaBernardo Dominic NEGOTIATION
Juan M RoysterBrazilAsiya Javayant QUALIFIED
Arvin Q AlbaresIndiaAsiya Javayant UNQUALIFIED
Maria S RulapaughGermanyXuxue Feng QUALIFIED
Claire O SchemmerIndiaBernardo Dominic QUALIFIED
Cody Y CampainJapanElwin Sharvill NEGOTIATION
Izzy S FlosiArgentinaBernardo Dominic NEGOTIATION
Johnson N MaletItalyAsiya Javayant NEW
Leon J SaylorsRussiaElwin Sharvill QUALIFIED
Julie Y ChuiIndiaIvan Magalhaes NEGOTIATION
Ricardo Q StensethCanadaXuxue Feng QUALIFIED
Murillo D ChuiItalyStephen Shaw PROPOSAL
Clifford A NestleCanadaIoni Bowcher NEW
Salvatore D StensethItalyXuxue Feng NEW
Darci W NestleBrazilElwin Sharvill NEW
Cody F FigeroaUnited KingdomOnyama Limba NEW
James Y BologniaJapanIoni Bowcher RENEWAL
Jennifer S NestleGermanyAsiya Javayant NEGOTIATION
Greenwood G ButtRussiaIoni Bowcher RENEWAL
Octavia H MaletRussiaStephen Shaw PROPOSAL
Aika Z FollerItalyIvan Magalhaes NEGOTIATION
Ashley F MaletArgentinaOnyama Limba NEGOTIATION
Nicolas Q SergiFranceElwin Sharvill NEGOTIATION
Ashley W RulapaughBrazilOnyama Limba RENEWAL
Claire W KolmetzBrazilElwin Sharvill NEW
James P MaletIndiaAnna Fali NEW
Murillo W ShinkoIndiaIvan Magalhaes RENEWAL
Jeanfrancois Z DarakjyCanadaIoni Bowcher UNQUALIFIED
Kaitlin P NickaSpainIvan Magalhaes NEGOTIATION
Ricardo R KolmetzCanadaIvan Magalhaes PROPOSAL
Tony C MaletFranceOnyama Limba NEGOTIATION
Ricardo P AmigonBrazilElwin Sharvill UNQUALIFIED
Smith V ChuiIndiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Leja D Wieser
Leja E Sergi
Chavez Y Shinko
Rodrigues J Doe
Kaitlin Q Foller
Mujtaba A Nicka
Maisha G Bowley
Maria V Nestle
Aika E Waycott
Murillo J Campain
Alejandro H Perin
Antonio Q Albares
Misaki H Slusarski
Maisha F Paprocki
Kaitlin P Sergi
Jennifer B Doe
Antonio X Malet
Mujtaba U Bowley
Clifford O Bolognia
Arvin U Malet
Clifford H Paprocki
Aruna V Albares
Aika H Ferencz
Jennifer U Ferencz
Faith N Wieser
Juan W Nestle
Julie D Briddick
Jeanfrancois T Royster
Kaitlin C Flosi
Emily A Stenseth
Johnson R Malet
Smith F Venere
Aruna D Wieser
Izzy P Albares
Emily J Ostrosky
Leon P Rim
Mujtaba F Doe
Silvio J Sergi
Juan O Bolognia
Mujtaba L Slusarski
Juan Q Poquette
Claire A Sergi
Arvin J Chui
Ivar V Inouye
Jeanfrancois L Albares
Wickens E Doe
Sinclair H Figeroa
Mujtaba R Shinko
Jones V Oldroyd
Isabel S Schemmer
IdCountryDate
1000Italy2026-07-22
1001Australia2026-07-30
1002Japan2026-07-18
1003Australia2026-07-25
1004Italy2026-07-14
1005Italy2026-07-18
1006Argentina2026-08-07
1007Argentina2026-08-03
1008France2026-07-16
1009United Kingdom2026-07-12
1010Germany2026-08-01
1011Brazil2026-07-22
1012Germany2026-07-20
1013Brazil2026-07-15
1014Brazil2026-07-18
1015France2026-07-31
1016France2026-07-22
1017Argentina2026-07-25
1018Brazil2026-07-16
1019United Kingdom2026-07-20
1020Brazil2026-07-12
1021Brazil2026-07-21
1022Spain2026-08-03
1023Germany2026-07-14
1024Brazil2026-08-05
1025Australia2026-08-09
1026Italy2026-07-12
1027Argentina2026-07-31
1028Australia2026-07-12
1029Australia2026-07-30
1030Brazil2026-07-22
1031France2026-07-31
1032Canada2026-08-02
1033Spain2026-07-12
1034Argentina2026-07-21
1035Germany2026-08-03
1036Argentina2026-07-21
1037Australia2026-07-28
1038Russia2026-08-10
1039Spain2026-07-24
1040Japan2026-08-02
1041Italy2026-07-28
1042Germany2026-07-26
1043Brazil2026-07-23
1044Germany2026-08-07
1045Canada2026-07-13
1046Russia2026-08-07
1047United Kingdom2026-08-08
1048Italy2026-07-26
1049Germany2026-08-09

On-Demand Data

NameIdCountryDate
Claire J Tollner1000Argentina2026-07-21
Jennifer L Rulapaugh1001Japan2026-07-17
Kadeem D Darakjy1002Australia2026-08-04
Leja F Ruta1003United Kingdom2026-08-03
Emily U Inouye1004Canada2026-08-08
Tony N Ferencz1005Argentina2026-07-28
Jones X Poquette1006India2026-07-23
Aika R Whobrey1007Argentina2026-07-16
Octavia W Gillian1008Australia2026-07-24
Jefferson D Foller1009United Kingdom2026-08-05
David F Garufi1010France2026-08-03
Munro B Vocelka1011Italy2026-07-16
Aditya X Bowley1012Japan2026-07-21
Morrow M Chui1013Argentina2026-08-06
Faith X Perin1014India2026-08-03
Kadeem X Butt1015Australia2026-07-21
Cody X Malet1016India2026-08-06
Tony P Ferencz1017Argentina2026-07-17
Antonio X Tollner1018Canada2026-08-03
Faith A Kusko1019Italy2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens J PaprockiIndiaAmy Elsner PROPOSAL
Jeanfrancois V RoysterItalyXuxue Feng RENEWAL
Chavez V MarrierCanadaOnyama Limba NEW
Mujtaba T WieserUnited KingdomBernardo Dominic PROPOSAL
Cody X FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas F VocelkaFranceElwin Sharvill PROPOSAL
James T PerinBrazilAnna Fali QUALIFIED
Jennifer Z CampainRussiaXuxue Feng NEW
Greenwood E AlbaresArgentinaElwin Sharvill NEW
Antonio F NestleUnited KingdomStephen Shaw PROPOSAL
Adams K PaprockiSpainBernardo Dominic UNQUALIFIED
David T GarufiRussiaIoni Bowcher UNQUALIFIED
Deepesh S ButtGermanyAsiya Javayant QUALIFIED
Aditya Y MarrierJapanOnyama Limba UNQUALIFIED
Jones U NestleJapanIvan Magalhaes QUALIFIED
Francesco Z FlosiFranceXuxue Feng UNQUALIFIED
David H OldroydArgentinaAnna Fali RENEWAL
Octavia U PoquetteJapanIoni Bowcher PROPOSAL
Wickens H VocelkaGermanyAnna Fali UNQUALIFIED
Chavez G PoquetteFranceOnyama Limba NEGOTIATION
Nicolas K FlosiRussiaStephen Shaw UNQUALIFIED
Darci S GlickItalyAnna Fali NEGOTIATION
Jefferson I CaldareraArgentinaAmy Elsner NEW
Sinclair G RutaRussiaElwin Sharvill RENEWAL
Leon C PerinArgentinaStephen Shaw NEGOTIATION
Costa S ChuiUnited KingdomElwin Sharvill PROPOSAL
Sinclair S RulapaughArgentinaIoni Bowcher QUALIFIED
Juan B AmigonIndiaOnyama Limba NEGOTIATION
Costa K VocelkaItalyIvan Magalhaes RENEWAL
Deepesh G WieserSpainIoni Bowcher NEW
Kaitlin G GillianRussiaIvan Magalhaes QUALIFIED
Ricardo R AlbaresGermanyAsiya Javayant PROPOSAL
Jones U FlosiRussiaElwin Sharvill RENEWAL
Kadeem R ButtCanadaAsiya Javayant NEGOTIATION
Chavez K SchemmerArgentinaAmy Elsner NEW
Emily M DilliardFranceXuxue Feng NEW
Octavia O MorascaGermanyBernardo Dominic UNQUALIFIED
Deepesh T CaldareraAustraliaBernardo Dominic RENEWAL
Clifford J FerenczJapanAmy Elsner RENEWAL
Jefferson A PerinItalyBernardo Dominic 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>