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
Emily H RoysterSpainXuxue Feng PROPOSAL
Jeanfrancois C AmigonBrazilIoni Bowcher RENEWAL
Maria S StockhamUnited KingdomAmy Elsner PROPOSAL
Mayumi Z CampainRussiaElwin Sharvill PROPOSAL
Ivar F AlbaresItalyAmy Elsner RENEWAL
Kadeem B MaletSpainXuxue Feng QUALIFIED
Munro N WhobreyCanadaAsiya Javayant UNQUALIFIED
Faith N VenereArgentinaXuxue Feng PROPOSAL
Maria D StockhamGermanyElwin Sharvill UNQUALIFIED
Leon L AlbaresAustraliaIoni Bowcher NEGOTIATION
Jennifer O MaletFranceAsiya Javayant UNQUALIFIED
Kadeem R FigeroaItalyBernardo Dominic NEGOTIATION
Faith I MaletUnited KingdomXuxue Feng NEW
Clifford R MaletSpainOnyama Limba NEGOTIATION
Ashley V RutaGermanyAnna Fali NEGOTIATION
Darci I SaylorsIndiaStephen Shaw QUALIFIED
Salvatore D BologniaUnited KingdomXuxue Feng NEGOTIATION
Morrow V MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha F PaprockiItalyBernardo Dominic NEGOTIATION
Jefferson B AmigonCanadaXuxue Feng NEW
Maisha J ButtGermanyElwin Sharvill NEGOTIATION
Isabel X MacleadItalyElwin Sharvill PROPOSAL
Octavia O FigeroaJapanIvan Magalhaes NEGOTIATION
Clifford Q IturbideUnited KingdomAnna Fali UNQUALIFIED
Kadeem Y CampainAustraliaIoni Bowcher PROPOSAL
Julie X VocelkaRussiaIoni Bowcher QUALIFIED
Nicolas H StockhamUnited KingdomOnyama Limba RENEWAL
Chavez A AlbaresItalyIvan Magalhaes RENEWAL
Ricardo V WaycottJapanAnna Fali QUALIFIED
Jones O GarufiRussiaIoni Bowcher NEW
James N DarakjyJapanAmy Elsner UNQUALIFIED
Jennifer T StensethRussiaIvan Magalhaes UNQUALIFIED
Faith I GarufiRussiaIvan Magalhaes PROPOSAL
Murillo K GauchoAustraliaBernardo Dominic RENEWAL
Munro A CaudyRussiaAsiya Javayant PROPOSAL
Isabel T WhobreyCanadaAsiya Javayant UNQUALIFIED
Greenwood V SergiUnited KingdomElwin Sharvill PROPOSAL
Rodrigues V ChuiGermanyAmy Elsner NEW
Mayumi O MacleadUnited KingdomAmy Elsner QUALIFIED
Francesco K GarufiGermanyOnyama Limba PROPOSAL
Mayumi M SchemmerSpainAmy Elsner NEGOTIATION
Leja E RoysterGermanyIoni Bowcher QUALIFIED
Wickens B SergiCanadaIvan Magalhaes RENEWAL
Adams M DilliardRussiaXuxue Feng QUALIFIED
Isabel V OstroskyCanadaAmy Elsner PROPOSAL
Clifford K FlosiArgentinaAnna Fali NEGOTIATION
Emily F PoquetteFranceElwin Sharvill RENEWAL
Misaki N AmigonIndiaAnna Fali QUALIFIED
Salvatore Y AmigonBrazilOnyama Limba PROPOSAL
Munro E MaletRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi O AlbaresRussiaIoni Bowcher RENEWAL
Tony H NestleJapanOnyama Limba UNQUALIFIED
Stacey K WieserItalyAsiya Javayant PROPOSAL
Ashley T SaylorsRussiaElwin Sharvill QUALIFIED
Jones C PoquetteGermanyElwin Sharvill QUALIFIED
Wickens S BriddickItalyIvan Magalhaes UNQUALIFIED
Arvin N CampainSpainAsiya Javayant RENEWAL
Leon S VenereAustraliaXuxue Feng NEW
Ivar R AlbaresGermanyXuxue Feng QUALIFIED
Kadeem H SaylorsArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa A KuskoRussia2026-07-02Truhlar And Truhlar Attys UNQUALIFIED54Bernardo Dominic
1001Nicolas S FigeroaItaly2026-06-11Chemel, James L Cpa PROPOSAL29Onyama Limba
1002Julie S DarakjyAustralia2026-06-25Feltz Printing Service QUALIFIED35Ioni Bowcher
1003Kaitlin U CaudyArgentina2026-06-17Commercial Press PROPOSAL58Asiya Javayant
1004Chavez P InouyeIndia2026-06-10Chapman, Ross E Esq QUALIFIED78Xuxue Feng
1005Ricardo F VocelkaFrance2026-06-15Benton, John B Jr NEGOTIATION57Elwin Sharvill
1006Clifford G InouyeBrazil2026-06-10King, Christopher A Esq QUALIFIED74Amy Elsner
1007Costa U DilliardJapan2026-06-14Rangoni Of Florence UNQUALIFIED75Xuxue Feng
1008Munro G SergiGermany2026-06-12Morlong Associates RENEWAL45Anna Fali
1009Julie M VocelkaItaly2026-06-05Printing Dimensions NEGOTIATION48Elwin Sharvill
1010Emily L NestleItaly2026-06-12Chapman, Ross E Esq NEGOTIATION30Stephen Shaw
1011Clifford E KuskoJapan2026-06-16Feltz Printing Service UNQUALIFIED39Asiya Javayant
1012Jennifer E WieserIndia2026-06-25Chemel, James L Cpa PROPOSAL71Bernardo Dominic
1013Ashley P BologniaArgentina2026-06-12Rousseaux, Michael Esq RENEWAL40Onyama Limba
1014Arvin V GillianRussia2026-06-12Feiner Bros QUALIFIED88Asiya Javayant
1015Jefferson G SergiItaly2026-06-18Commercial Press PROPOSAL18Asiya Javayant
1016Izzy E AmigonRussia2026-06-05Rousseaux, Michael Esq QUALIFIED37Elwin Sharvill
1017Julie L PoquetteIndia2026-06-05Commercial Press NEW85Xuxue Feng
1018Aditya S SlusarskiRussia2026-06-25Dorl, James J Esq QUALIFIED38Stephen Shaw
1019Munro H PerinFrance2026-06-24Commercial Press NEW26Xuxue Feng
1020Jennifer Z MaletSpain2026-06-18Rangoni Of Florence RENEWAL23Ivan Magalhaes
1021Jeanfrancois G StockhamJapan2026-06-29Feiner Bros NEGOTIATION87Ioni Bowcher
1022Kaitlin X GauchoSpain2026-06-07Morlong Associates PROPOSAL28Ivan Magalhaes
1023Antonio Y FerenczItaly2026-06-19Printing Dimensions NEW98Amy Elsner
1024Salvatore B CaldareraUnited Kingdom2026-06-14Morlong Associates QUALIFIED55Elwin Sharvill
1025Rodrigues A NickaRussia2026-06-26Rangoni Of Florence QUALIFIED78Anna Fali
1026Ricardo A OldroydUnited Kingdom2026-06-11Buckley Miller Wright NEGOTIATION63Ivan Magalhaes
1027Octavia X WhobreyGermany2026-06-19Rangoni Of Florence NEW79Onyama Limba
1028Kadeem E RimRussia2026-06-21Benton, John B Jr QUALIFIED57Xuxue Feng
1029Mujtaba W VenereArgentina2026-06-25Printing Dimensions NEGOTIATION39Xuxue Feng
1030Leja L SergiGermany2026-06-15Rangoni Of Florence QUALIFIED87Elwin Sharvill
1031Aika M KuskoUnited Kingdom2026-06-08Commercial Press NEGOTIATION52Xuxue Feng
1032Antonio A PerinUnited Kingdom2026-06-26Chapman, Ross E Esq NEW78Amy Elsner
1033Misaki W GarufiRussia2026-06-20Chanay, Jeffrey A Esq NEGOTIATION58Anna Fali
1034Leja N OldroydArgentina2026-06-28Dorl, James J Esq QUALIFIED40Amy Elsner
1035Maria V KuskoFrance2026-06-29Chapman, Ross E Esq UNQUALIFIED95Amy Elsner
1036Aika C MacleadGermany2026-06-23Morlong Associates NEGOTIATION32Xuxue Feng
1037Aditya X RulapaughSpain2026-06-20Rousseaux, Michael Esq UNQUALIFIED30Onyama Limba
1038Arvin N SchemmerRussia2026-06-17Dorl, James J Esq NEGOTIATION50Asiya Javayant
1039Darci D GauchoSpain2026-06-20Chemel, James L Cpa UNQUALIFIED86Stephen Shaw
1040Misaki W MaletArgentina2026-06-12Dorl, James J Esq PROPOSAL17Onyama Limba
1041David I RutaAustralia2026-06-10Commercial Press RENEWAL99Onyama Limba
1042Murillo N OstroskyUnited Kingdom2026-06-19Feiner Bros PROPOSAL88Bernardo Dominic
1043Julie Y CaudyCanada2026-06-16Benton, John B Jr NEW64Amy Elsner
1044Jones D MacleadJapan2026-06-27Printing Dimensions NEGOTIATION91Amy Elsner
1045Greenwood T ShinkoGermany2026-06-15Rangoni Of Florence QUALIFIED75Asiya Javayant
1046Cody D PoquetteCanada2026-06-16Commercial Press PROPOSAL16Xuxue Feng
1047Wickens U GlickJapan2026-07-01Chemel, James L Cpa QUALIFIED6Anna Fali
1048Julie J DilliardItaly2026-06-20Chemel, James L Cpa QUALIFIED41Anna Fali
1049Jennifer I ShinkoIndia2026-07-01Chemel, James L Cpa RENEWAL1Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood K BriddickBrazilElwin Sharvill QUALIFIED
Greenwood H AlbaresUnited KingdomIoni Bowcher QUALIFIED
Stacey J StensethRussiaAsiya Javayant NEGOTIATION
Ricardo Y BriddickItalyXuxue Feng QUALIFIED
Jones F NestleIndiaXuxue Feng PROPOSAL
Octavia R KuskoGermanyIvan Magalhaes NEGOTIATION
Smith Z KuskoJapanBernardo Dominic RENEWAL
Maria X RimJapanIvan Magalhaes NEW
Morrow U BriddickJapanXuxue Feng NEGOTIATION
Murillo O RutaFranceXuxue Feng RENEWAL
James E CampainItalyIvan Magalhaes NEGOTIATION
Adams S RimRussiaStephen Shaw QUALIFIED
Maria C FollerJapanAmy Elsner QUALIFIED
Mayumi I DarakjyBrazilAnna Fali PROPOSAL
Adams K DarakjyUnited KingdomIoni Bowcher RENEWAL
Mujtaba X BriddickItalyAsiya Javayant RENEWAL
Johnson K RimArgentinaXuxue Feng NEGOTIATION
Ivar S FlosiAustraliaAsiya Javayant NEW
Munro O WhobreyBrazilIoni Bowcher UNQUALIFIED
Adams Z DarakjyCanadaAnna Fali UNQUALIFIED
Stacey F SergiSpainStephen Shaw PROPOSAL
Juan W WhobreyCanadaElwin Sharvill QUALIFIED
Izzy G TollnerJapanStephen Shaw QUALIFIED
Leja C KolmetzIndiaAnna Fali NEW
Stacey K VenereAustraliaAsiya Javayant PROPOSAL
Rodrigues X RutaFranceStephen Shaw PROPOSAL
Leja Q FlosiArgentinaIvan Magalhaes PROPOSAL
Aditya B PoquetteGermanyElwin Sharvill RENEWAL
Sinclair X IturbideUnited KingdomIvan Magalhaes NEGOTIATION
David I VenereSpainAsiya Javayant PROPOSAL
Leon Z RutaUnited KingdomAmy Elsner NEGOTIATION
Clifford K DilliardItalyAsiya Javayant NEGOTIATION
Greenwood C VocelkaJapanIvan Magalhaes NEGOTIATION
Leon G SchemmerBrazilAsiya Javayant NEW
Mujtaba H WaycottFranceAsiya Javayant NEGOTIATION
Darci V RutaJapanBernardo Dominic RENEWAL
Mujtaba V SlusarskiCanadaBernardo Dominic PROPOSAL
Jeanfrancois G NestleUnited KingdomBernardo Dominic NEW
Johnson I KuskoArgentinaOnyama Limba NEGOTIATION
Nicolas U BologniaCanadaAnna Fali PROPOSAL
Ivar Z NickaIndiaAmy Elsner NEGOTIATION
Leja K VocelkaIndiaOnyama Limba UNQUALIFIED
Alejandro Q SaylorsBrazilXuxue Feng NEGOTIATION
Cody G PoquetteBrazilBernardo Dominic PROPOSAL
Tony J PerinFranceAnna Fali QUALIFIED
Aruna Q ChuiFranceIoni Bowcher RENEWAL
Juan Z CampainIndiaBernardo Dominic QUALIFIED
Morrow N PerinIndiaAmy Elsner PROPOSAL
Wickens M FigeroaIndiaXuxue Feng NEW
Greenwood X PerinArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Tony W Slusarski
Clifford J Malet
Smith R Malet
Jeanfrancois T Dilliard
Wickens V Marrier
Deepesh Y Wieser
Salvatore V Ostrosky
Leja O Venere
Ivar F Tollner
Jefferson X Garufi
Maisha H Gaucho
Nicolas S Venere
James B Rim
Ricardo M Doe
David R Bolognia
Murillo L Waycott
Munro C Gillian
Rodrigues O Whobrey
Salvatore Q Amigon
Aruna K Venere
Kadeem E Stockham
Aditya R Bolognia
Izzy L Whobrey
Greenwood A Caldarera
Kadeem B Briddick
Silvio E Ostrosky
Leon B Morasca
Morrow W Malet
Stacey V Gaucho
Morrow A Stockham
Leon F Malet
Misaki C Darakjy
Murillo L Marrier
Silvio N Paprocki
Nicolas D Rim
Sinclair H Ruta
Smith B Gaucho
Chavez F Paprocki
Alejandro O Kolmetz
Silvio J Shinko
Misaki F Shinko
Munro B Bolognia
Maisha I Whobrey
Jennifer A Butt
James F Caudy
Costa C Rim
Isabel I Campain
Antonio R Tollner
Jennifer U Rulapaugh
Jefferson I Foller
IdCountryDate
1000Canada2026-06-21
1001Brazil2026-06-25
1002India2026-06-26
1003France2026-06-23
1004Spain2026-06-13
1005Russia2026-06-04
1006Spain2026-06-22
1007Canada2026-06-08
1008Italy2026-06-09
1009Canada2026-06-25
1010Spain2026-07-01
1011Argentina2026-06-06
1012Australia2026-06-29
1013Argentina2026-06-08
1014France2026-06-25
1015Spain2026-06-19
1016Spain2026-07-03
1017Canada2026-06-05
1018Argentina2026-06-08
1019Germany2026-06-17
1020Italy2026-06-06
1021France2026-06-06
1022Germany2026-06-16
1023Spain2026-06-25
1024Japan2026-06-14
1025Germany2026-06-15
1026France2026-06-14
1027Spain2026-06-04
1028Russia2026-06-27
1029Germany2026-07-01
1030Italy2026-06-07
1031Italy2026-06-13
1032Canada2026-06-25
1033Russia2026-06-24
1034Germany2026-07-01
1035Spain2026-06-10
1036Argentina2026-07-02
1037Japan2026-06-05
1038Argentina2026-06-06
1039United Kingdom2026-06-18
1040Australia2026-07-01
1041United Kingdom2026-06-20
1042Italy2026-06-27
1043Australia2026-06-14
1044Germany2026-06-28
1045Brazil2026-06-08
1046Australia2026-06-08
1047Germany2026-06-18
1048Germany2026-06-06
1049Argentina2026-06-28

On-Demand Data

NameIdCountryDate
Faith W Paprocki1000Brazil2026-06-15
Deepesh K Amigon1001Italy2026-06-13
Maria F Stenseth1002Germany2026-06-04
Juan Q Nestle1003Australia2026-06-07
Aruna W Paprocki1004Australia2026-06-15
Johnson P Kusko1005United Kingdom2026-06-23
Alejandro T Stockham1006India2026-06-06
Darci F Flosi1007Australia2026-06-22
Murillo Y Maclead1008Japan2026-06-14
Leja C Caldarera1009Germany2026-06-09
Murillo C Figeroa1010Spain2026-06-14
Emily O Sergi1011Russia2026-06-12
Wickens O Sergi1012Australia2026-06-27
James V Vocelka1013Argentina2026-06-10
Maria R Royster1014Spain2026-06-10
Sinclair N Waycott1015Japan2026-06-19
Francesco Z Bowley1016United Kingdom2026-06-26
Ashley Y Morasca1017Russia2026-06-18
Isabel S Malet1018Australia2026-06-07
Deepesh L Marrier1019Russia2026-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika J MaletUnited KingdomAnna Fali NEW
Sinclair O KuskoArgentinaAsiya Javayant NEGOTIATION
Emily F RulapaughGermanyIoni Bowcher RENEWAL
Kaitlin D IturbideGermanyStephen Shaw RENEWAL
Jeanfrancois X ButtSpainIvan Magalhaes NEGOTIATION
Cody P AlbaresFranceAmy Elsner UNQUALIFIED
Jefferson J MaletUnited KingdomElwin Sharvill QUALIFIED
Maisha H ButtAustraliaAnna Fali PROPOSAL
Jones A KuskoBrazilAmy Elsner NEGOTIATION
Jennifer Z DilliardRussiaAmy Elsner NEW
Stacey M RulapaughAustraliaAmy Elsner RENEWAL
Aika I SaylorsIndiaAsiya Javayant PROPOSAL
Jeanfrancois O WhobreyItalyXuxue Feng RENEWAL
Wickens O ButtFranceXuxue Feng NEGOTIATION
Julie R AlbaresIndiaXuxue Feng NEGOTIATION
Ivar J CampainGermanyIvan Magalhaes RENEWAL
Smith L InouyeBrazilXuxue Feng UNQUALIFIED
Jeanfrancois D SergiCanadaIoni Bowcher PROPOSAL
Julie Y StensethArgentinaStephen Shaw NEW
Deepesh E FerenczSpainElwin Sharvill RENEWAL
Smith D RoysterCanadaXuxue Feng RENEWAL
Misaki V FlosiJapanBernardo Dominic RENEWAL
Salvatore V TollnerSpainIoni Bowcher NEGOTIATION
Greenwood Y FlosiAustraliaIoni Bowcher NEGOTIATION
Stacey W ButtRussiaIoni Bowcher QUALIFIED
Silvio V InouyeIndiaAnna Fali PROPOSAL
James A PaprockiAustraliaIvan Magalhaes QUALIFIED
Costa E RoysterArgentinaAmy Elsner QUALIFIED
Adams P GillianJapanOnyama Limba UNQUALIFIED
Murillo S FigeroaAustraliaIoni Bowcher NEGOTIATION
Munro Z BowleyFranceAmy Elsner NEW
Silvio D InouyeAustraliaIoni Bowcher RENEWAL
Salvatore Z StensethJapanStephen Shaw NEW
Darci Q WaycottUnited KingdomAmy Elsner RENEWAL
Morrow L OldroydArgentinaElwin Sharvill NEW
Leja Z StensethJapanElwin Sharvill PROPOSAL
Stacey G GillianJapanAmy Elsner UNQUALIFIED
Francesco W GarufiAustraliaAsiya Javayant RENEWAL
Ashley I DarakjyArgentinaAnna Fali PROPOSAL
Murillo F PaprockiIndiaAmy Elsner PROPOSAL

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