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
Claire G GarufiArgentinaAmy Elsner QUALIFIED
Jones H SchemmerCanadaIoni Bowcher QUALIFIED
Ivar X ChuiRussiaBernardo Dominic QUALIFIED
Mayumi G MaletCanadaIvan Magalhaes QUALIFIED
Chavez Q CampainCanadaAmy Elsner UNQUALIFIED
Mayumi H RimRussiaIoni Bowcher RENEWAL
Aditya L BowleyBrazilBernardo Dominic QUALIFIED
Ivar H WhobreyFranceXuxue Feng QUALIFIED
Mayumi J SaylorsFranceStephen Shaw UNQUALIFIED
Jones U VenereFranceAnna Fali PROPOSAL
Julie B StockhamJapanAnna Fali NEW
Adams A RulapaughGermanyXuxue Feng NEGOTIATION
Cody M IturbideItalyIvan Magalhaes RENEWAL
Darci R RimFranceElwin Sharvill RENEWAL
Costa P FollerFranceBernardo Dominic RENEWAL
Kaitlin H CaudyBrazilIvan Magalhaes RENEWAL
Greenwood V TollnerCanadaIvan Magalhaes QUALIFIED
Munro E CaudyGermanyOnyama Limba RENEWAL
Smith Q PoquetteArgentinaAsiya Javayant NEGOTIATION
Isabel J NestleAustraliaAsiya Javayant QUALIFIED
Tony L ButtSpainAmy Elsner NEW
Mujtaba H FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro W VocelkaIndiaXuxue Feng UNQUALIFIED
Aika Q StensethAustraliaAsiya Javayant NEGOTIATION
Arvin V SchemmerUnited KingdomAmy Elsner QUALIFIED
Ashley T PoquetteCanadaAsiya Javayant RENEWAL
Aruna A MarrierIndiaAsiya Javayant NEW
Wickens S StensethFranceIvan Magalhaes PROPOSAL
Clifford I VocelkaJapanIoni Bowcher UNQUALIFIED
Morrow A KolmetzItalyXuxue Feng RENEWAL
Antonio W GarufiCanadaAnna Fali NEW
Aika B ChuiArgentinaAnna Fali PROPOSAL
Ricardo G PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Leja R MarrierItalyElwin Sharvill RENEWAL
Juan P FollerUnited KingdomXuxue Feng NEW
Jennifer H ButtItalyAsiya Javayant RENEWAL
Clifford W BologniaFranceAnna Fali UNQUALIFIED
Julie X NestleBrazilElwin Sharvill RENEWAL
Mujtaba S MaletSpainXuxue Feng UNQUALIFIED
Murillo D BriddickItalyAsiya Javayant UNQUALIFIED
Francesco V IturbideGermanyAmy Elsner UNQUALIFIED
James Q NickaItalyBernardo Dominic UNQUALIFIED
Aruna X PaprockiSpainIoni Bowcher UNQUALIFIED
Smith Z FerenczRussiaIoni Bowcher RENEWAL
Aditya F CaldareraCanadaXuxue Feng NEGOTIATION
Morrow R StockhamGermanyAmy Elsner PROPOSAL
Faith A PerinItalyIoni Bowcher PROPOSAL
Chavez A DoeItalyOnyama Limba QUALIFIED
Emily W ButtFranceIoni Bowcher PROPOSAL
Sinclair Q GlickFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa A RutaAustraliaAsiya Javayant NEW
Jeanfrancois G BologniaSpainStephen Shaw PROPOSAL
Emily Y CampainFranceIvan Magalhaes NEW
Johnson N FerenczSpainAmy Elsner UNQUALIFIED
Salvatore B ChuiCanadaOnyama Limba PROPOSAL
Smith U GarufiJapanAnna Fali UNQUALIFIED
Izzy O FerenczIndiaOnyama Limba NEW
Juan P SergiGermanyAsiya Javayant RENEWAL
Jefferson U KolmetzCanadaIvan Magalhaes NEGOTIATION
Izzy L DoeArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow A FlosiJapan2025-04-14Feiner Bros PROPOSAL31Xuxue Feng
1001Silvio N InouyeUnited Kingdom2025-04-28Chemel, James L Cpa NEGOTIATION44Asiya Javayant
1002Juan A RimFrance2025-04-27Chanay, Jeffrey A Esq NEGOTIATION25Stephen Shaw
1003Jefferson W DilliardIndia2025-04-27Rousseaux, Michael Esq RENEWAL9Bernardo Dominic
1004Jefferson W NickaAustralia2025-04-01Printing Dimensions NEW55Asiya Javayant
1005Deepesh R NestleJapan2025-04-22Morlong Associates QUALIFIED78Elwin Sharvill
1006Juan Z SaylorsItaly2025-04-19King, Christopher A Esq RENEWAL21Amy Elsner
1007Silvio G BriddickItaly2025-04-22Rangoni Of Florence RENEWAL16Ioni Bowcher
1008Wickens Y OldroydAustralia2025-04-18Chemel, James L Cpa PROPOSAL1Elwin Sharvill
1009Isabel Y RulapaughAustralia2025-04-17Rousseaux, Michael Esq PROPOSAL50Ioni Bowcher
1010Chavez P PerinJapan2025-04-13Printing Dimensions QUALIFIED18Ioni Bowcher
1011Francesco B SaylorsGermany2025-04-15Morlong Associates NEGOTIATION8Stephen Shaw
1012Deepesh W WaycottSpain2025-04-13Chapman, Ross E Esq PROPOSAL74Amy Elsner
1013Kadeem Q CampainUnited Kingdom2025-04-26Rousseaux, Michael Esq QUALIFIED18Ivan Magalhaes
1014Julie M OldroydIndia2025-04-08Benton, John B Jr UNQUALIFIED77Ivan Magalhaes
1015Smith I RoysterIndia2025-04-02Dorl, James J Esq NEGOTIATION76Amy Elsner
1016Octavia F WaycottUnited Kingdom2025-04-07King, Christopher A Esq PROPOSAL94Onyama Limba
1017Mayumi U BologniaIndia2025-04-05Printing Dimensions NEW76Elwin Sharvill
1018Ashley V BriddickBrazil2025-04-05Benton, John B Jr PROPOSAL19Xuxue Feng
1019Arvin U GarufiItaly2025-04-02Chanay, Jeffrey A Esq QUALIFIED29Ivan Magalhaes
1020Sinclair K GlickJapan2025-04-19Printing Dimensions NEW5Elwin Sharvill
1021Arvin N GauchoGermany2025-04-18Printing Dimensions PROPOSAL61Ioni Bowcher
1022David P TollnerIndia2025-04-21Rousseaux, Michael Esq RENEWAL50Onyama Limba
1023David B FerenczRussia2025-04-29Chapman, Ross E Esq NEW59Elwin Sharvill
1024Murillo M StensethArgentina2025-04-10Printing Dimensions QUALIFIED95Anna Fali
1025Kaitlin H GauchoUnited Kingdom2025-04-21Chemel, James L Cpa NEW63Elwin Sharvill
1026Aika K SlusarskiRussia2025-04-14Rangoni Of Florence QUALIFIED10Xuxue Feng
1027Salvatore V MacleadJapan2025-04-02Feltz Printing Service PROPOSAL96Stephen Shaw
1028Morrow M StockhamAustralia2025-04-15Feiner Bros PROPOSAL59Bernardo Dominic
1029Maisha P StockhamAustralia2025-04-10Truhlar And Truhlar Attys NEGOTIATION66Xuxue Feng
1030Jones I BriddickUnited Kingdom2025-04-01Chanay, Jeffrey A Esq NEW97Xuxue Feng
1031Izzy U MaletCanada2025-04-23Rangoni Of Florence PROPOSAL75Asiya Javayant
1032Octavia P AmigonAustralia2025-04-08Dorl, James J Esq QUALIFIED45Asiya Javayant
1033Smith P OldroydArgentina2025-04-17Buckley Miller Wright QUALIFIED47Bernardo Dominic
1034Wickens W CaudyUnited Kingdom2025-04-23Chanay, Jeffrey A Esq NEW40Asiya Javayant
1035Darci Q DilliardAustralia2025-04-09Chapman, Ross E Esq NEW41Bernardo Dominic
1036Izzy S VenereJapan2025-03-31Rangoni Of Florence RENEWAL8Elwin Sharvill
1037Aditya K WaycottItaly2025-04-29Printing Dimensions PROPOSAL86Onyama Limba
1038Alejandro X PoquetteUnited Kingdom2025-04-20King, Christopher A Esq QUALIFIED83Anna Fali
1039Claire R WieserUnited Kingdom2025-04-09Dorl, James J Esq UNQUALIFIED98Ivan Magalhaes
1040Cody E GillianRussia2025-04-04Chemel, James L Cpa RENEWAL90Xuxue Feng
1041Ivar A RulapaughCanada2025-04-26Rangoni Of Florence PROPOSAL21Bernardo Dominic
1042Murillo H GlickBrazil2025-04-12Feiner Bros PROPOSAL1Bernardo Dominic
1043Murillo I KolmetzGermany2025-04-01Chemel, James L Cpa NEGOTIATION88Xuxue Feng
1044Faith Y KolmetzFrance2025-03-31Printing Dimensions PROPOSAL79Elwin Sharvill
1045Chavez J MorascaItaly2025-04-06Rousseaux, Michael Esq NEW13Asiya Javayant
1046Clifford Q GillianRussia2025-04-07Chanay, Jeffrey A Esq QUALIFIED15Elwin Sharvill
1047Arvin N AmigonBrazil2025-04-23Chanay, Jeffrey A Esq RENEWAL5Xuxue Feng
1048Smith J OldroydArgentina2025-04-11Feiner Bros QUALIFIED79Bernardo Dominic
1049Morrow I FlosiJapan2025-04-09Morlong Associates RENEWAL20Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Wickens Y RoysterFranceElwin Sharvill QUALIFIED
Aika E StockhamCanadaIvan Magalhaes NEGOTIATION
Nicolas H FigeroaArgentinaIvan Magalhaes PROPOSAL
James V MarrierUnited KingdomAnna Fali QUALIFIED
Morrow Z RulapaughFranceBernardo Dominic UNQUALIFIED
Kaitlin E WieserSpainElwin Sharvill PROPOSAL
Antonio Y StockhamIndiaXuxue Feng NEW
Juan W PoquetteCanadaAsiya Javayant PROPOSAL
Silvio B PaprockiUnited KingdomIoni Bowcher NEW
Sinclair A StensethAustraliaAnna Fali NEGOTIATION
Jefferson G MaletCanadaXuxue Feng PROPOSAL
Jones X SergiJapanOnyama Limba RENEWAL
Cody G InouyeFranceStephen Shaw RENEWAL
Aditya T ShinkoCanadaIvan Magalhaes NEGOTIATION
Leja C RoysterGermanyIvan Magalhaes UNQUALIFIED
Darci P BowleyBrazilAnna Fali QUALIFIED
Silvio Y WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Alejandro N PoquetteRussiaOnyama Limba RENEWAL
Adams C KolmetzAustraliaIoni Bowcher RENEWAL
Maria L CaudyUnited KingdomOnyama Limba PROPOSAL
Leon B NickaFranceOnyama Limba NEGOTIATION
Francesco C DarakjyRussiaIoni Bowcher QUALIFIED
Aruna M FlosiCanadaStephen Shaw UNQUALIFIED
Adams F WaycottRussiaBernardo Dominic RENEWAL
Munro X MacleadSpainAsiya Javayant NEW
Silvio C RoysterBrazilIoni Bowcher UNQUALIFIED
Aika T PoquetteFranceBernardo Dominic UNQUALIFIED
Aruna Q BologniaAustraliaOnyama Limba RENEWAL
Octavia L GlickUnited KingdomAmy Elsner UNQUALIFIED
Jennifer O VocelkaUnited KingdomAnna Fali NEW
Ricardo H CampainRussiaIvan Magalhaes UNQUALIFIED
Aika U NestleAustraliaBernardo Dominic QUALIFIED
Darci J VenereFranceIvan Magalhaes NEGOTIATION
Deepesh H InouyeJapanElwin Sharvill RENEWAL
Murillo K DarakjyRussiaAnna Fali RENEWAL
Alejandro E KuskoGermanyIoni Bowcher NEW
David N SchemmerArgentinaAnna Fali UNQUALIFIED
Cody B BowleyRussiaBernardo Dominic NEGOTIATION
Aditya Z MorascaRussiaAmy Elsner NEW
Aditya F FerenczRussiaOnyama Limba PROPOSAL
Juan R FollerFranceAsiya Javayant UNQUALIFIED
Aditya N BriddickUnited KingdomOnyama Limba UNQUALIFIED
Darci R GarufiIndiaBernardo Dominic NEGOTIATION
Emily A SchemmerSpainIoni Bowcher QUALIFIED
Juan C CaudyIndiaBernardo Dominic NEGOTIATION
Deepesh O CampainUnited KingdomStephen Shaw RENEWAL
Emily S RulapaughIndiaAsiya Javayant NEW
Ricardo P WaycottFranceIvan Magalhaes PROPOSAL
Kaitlin U MorascaIndiaIvan Magalhaes PROPOSAL
Darci X GauchoJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Maisha O Royster
Ashley M Doe
Aika O Vocelka
Rodrigues D Bolognia
Aika P Bowley
Darci Z Dilliard
Emily Z Butt
Morrow G Dilliard
David V Oldroyd
Tony D Saylors
Clifford D Stenseth
Aruna B Stockham
Faith D Shinko
James O Amigon
Maisha E Tollner
Clifford K Figeroa
Salvatore M Royster
Rodrigues J Butt
Jennifer C Venere
Murillo M Whobrey
Salvatore D Albares
Salvatore B Oldroyd
Adams P Wieser
David U Gaucho
Mayumi U Saylors
Alejandro W Ferencz
Clifford K Caldarera
Isabel Y Oldroyd
Maria D Oldroyd
Silvio D Slusarski
Rodrigues Q Tollner
Cody P Slusarski
Cody I Slusarski
Clifford O Ruta
Julie O Amigon
Juan K Ostrosky
Clifford A Stockham
Leon T Saylors
Chavez P Paprocki
Francesco Z Tollner
Murillo H Iturbide
Sinclair J Poquette
Stacey W Garufi
Leja T Foller
Silvio F Poquette
Mayumi Y Morasca
Jeanfrancois U Nicka
Smith P Vocelka
Jennifer A Bolognia
Jefferson E Ostrosky
IdCountryDate
1000Argentina2025-04-13
1001Germany2025-04-05
1002Australia2025-04-25
1003Canada2025-04-13
1004Brazil2025-04-07
1005Brazil2025-04-11
1006Germany2025-04-04
1007Russia2025-04-27
1008Canada2025-04-21
1009Canada2025-04-08
1010France2025-04-02
1011Russia2025-04-29
1012United Kingdom2025-04-21
1013Japan2025-04-20
1014Germany2025-04-23
1015Argentina2025-04-04
1016Argentina2025-04-29
1017India2025-04-03
1018Spain2025-04-18
1019Russia2025-04-13
1020Spain2025-04-29
1021Canada2025-04-14
1022Japan2025-04-27
1023India2025-04-13
1024Brazil2025-04-29
1025India2025-04-02
1026India2025-04-26
1027Russia2025-03-31
1028India2025-04-17
1029Germany2025-04-12
1030Spain2025-04-01
1031Argentina2025-03-31
1032France2025-04-29
1033Argentina2025-04-04
1034France2025-04-20
1035Argentina2025-04-16
1036Russia2025-04-09
1037Argentina2025-04-07
1038India2025-03-31
1039Japan2025-04-20
1040Germany2025-04-19
1041India2025-04-27
1042United Kingdom2025-04-15
1043Italy2025-04-14
1044Canada2025-04-03
1045Russia2025-04-12
1046Russia2025-04-16
1047Japan2025-04-02
1048Canada2025-04-08
1049Brazil2025-04-09

On-Demand Data

NameIdCountryDate
Antonio C Foller1000France2025-04-28
Leon P Bowley1001Canada2025-04-03
Adams N Slusarski1002Russia2025-04-05
Greenwood M Gillian1003India2025-03-31
James K Ruta1004Japan2025-04-14
James G Nicka1005Canada2025-04-18
Munro D Bolognia1006United Kingdom2025-04-06
Johnson B Waycott1007Argentina2025-04-27
James M Butt1008Argentina2025-04-03
Ashley N Doe1009Spain2025-04-13
Leja I Malet1010Japan2025-04-08
Maisha Q Tollner1011France2025-04-07
Kaitlin Q Campain1012Argentina2025-04-20
Isabel O Waycott1013United Kingdom2025-04-02
Chavez N Flosi1014India2025-04-29
Ashley C Maclead1015Russia2025-04-25
Smith Q Chui1016France2025-04-22
Arvin X Albares1017United Kingdom2025-04-06
Emily J Inouye1018Canada2025-04-27
Leon X Slusarski1019Brazil2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily K FollerBrazilElwin Sharvill NEW
Jefferson Q DarakjyCanadaAmy Elsner QUALIFIED
Ricardo C SlusarskiBrazilAmy Elsner UNQUALIFIED
Mayumi D AmigonRussiaOnyama Limba NEW
Octavia K BriddickJapanStephen Shaw NEGOTIATION
Maria I OldroydRussiaBernardo Dominic PROPOSAL
Chavez E VenereFranceBernardo Dominic NEW
Adams Q MacleadCanadaIvan Magalhaes NEW
Rodrigues Y FollerIndiaIoni Bowcher NEGOTIATION
Jefferson F MorascaUnited KingdomAsiya Javayant RENEWAL
Aruna V SergiSpainIvan Magalhaes UNQUALIFIED
Julie I WieserAustraliaAmy Elsner NEW
Morrow G FlosiBrazilElwin Sharvill NEGOTIATION
Darci J SaylorsIndiaAsiya Javayant PROPOSAL
Leon Y FlosiArgentinaStephen Shaw RENEWAL
Stacey Z InouyeGermanyIvan Magalhaes QUALIFIED
Deepesh Y GillianUnited KingdomOnyama Limba QUALIFIED
Johnson W PerinGermanyBernardo Dominic PROPOSAL
Jefferson G SlusarskiFranceBernardo Dominic UNQUALIFIED
Jones V CampainJapanAsiya Javayant NEGOTIATION
Ivar P AmigonRussiaXuxue Feng NEW
Leja H AmigonIndiaBernardo Dominic PROPOSAL
Jeanfrancois S WhobreyItalyBernardo Dominic RENEWAL
Morrow D RoysterIndiaElwin Sharvill NEGOTIATION
Salvatore T RoysterSpainStephen Shaw NEW
Chavez R ButtIndiaIvan Magalhaes PROPOSAL
Cody R MarrierAustraliaAsiya Javayant PROPOSAL
Emily A CaldareraGermanyOnyama Limba NEW
Isabel C ButtIndiaOnyama Limba RENEWAL
Greenwood E FlosiUnited KingdomXuxue Feng PROPOSAL
Jennifer S CampainBrazilIoni Bowcher UNQUALIFIED
Alejandro V SlusarskiRussiaAsiya Javayant UNQUALIFIED
Antonio S SlusarskiFranceAnna Fali RENEWAL
Jeanfrancois A FerenczItalyAmy Elsner NEGOTIATION
Wickens W DarakjyUnited KingdomStephen Shaw NEGOTIATION
Mayumi S SchemmerCanadaAsiya Javayant RENEWAL
Cody M PaprockiSpainAnna Fali NEGOTIATION
Maria B AmigonIndiaAmy Elsner NEW
Julie O RoysterGermanyXuxue Feng QUALIFIED
Munro V OstroskyItalyStephen Shaw 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>