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
Izzy X TollnerSpainAmy Elsner NEGOTIATION
Aditya D KolmetzRussiaAmy Elsner NEGOTIATION
Jennifer P BriddickFranceXuxue Feng NEW
Cody D GarufiCanadaAsiya Javayant NEW
Aruna F WhobreyIndiaXuxue Feng QUALIFIED
Smith U NestleArgentinaAsiya Javayant NEGOTIATION
Mayumi R MacleadUnited KingdomAnna Fali QUALIFIED
Octavia B GauchoUnited KingdomIoni Bowcher NEGOTIATION
Julie N ButtRussiaAmy Elsner QUALIFIED
Clifford D VocelkaGermanyIvan Magalhaes RENEWAL
Aditya L VocelkaAustraliaAnna Fali UNQUALIFIED
Leja G NickaSpainIvan Magalhaes QUALIFIED
Leja T PaprockiBrazilAmy Elsner RENEWAL
Claire P MorascaRussiaStephen Shaw UNQUALIFIED
Silvio I BriddickCanadaAmy Elsner QUALIFIED
Aika F ShinkoArgentinaStephen Shaw RENEWAL
Aruna B MorascaAustraliaIoni Bowcher QUALIFIED
Smith J TollnerArgentinaAsiya Javayant RENEWAL
Aruna F FerenczItalyStephen Shaw NEW
Ivar Y InouyeCanadaOnyama Limba PROPOSAL
Tony X VocelkaGermanyElwin Sharvill NEW
Kadeem A SaylorsItalyAmy Elsner UNQUALIFIED
Kadeem O AlbaresArgentinaStephen Shaw NEW
Wickens R ShinkoCanadaAsiya Javayant RENEWAL
Misaki D BriddickFranceStephen Shaw NEW
Nicolas W GillianFranceXuxue Feng PROPOSAL
Mayumi F ShinkoBrazilStephen Shaw RENEWAL
Jones H CaudyRussiaXuxue Feng NEGOTIATION
Misaki S PerinArgentinaBernardo Dominic NEW
Clifford N IturbideFranceBernardo Dominic UNQUALIFIED
Johnson O ChuiIndiaAmy Elsner PROPOSAL
Cody D NestleUnited KingdomXuxue Feng QUALIFIED
Aditya H RimIndiaElwin Sharvill RENEWAL
Murillo S GlickSpainIoni Bowcher PROPOSAL
Francesco Z MorascaGermanyStephen Shaw RENEWAL
Ivar F BologniaFranceIoni Bowcher QUALIFIED
Clifford L BriddickGermanyOnyama Limba QUALIFIED
Tony J ButtRussiaOnyama Limba PROPOSAL
Deepesh U FollerIndiaAsiya Javayant PROPOSAL
Greenwood K GauchoAustraliaBernardo Dominic PROPOSAL
Aruna X NickaAustraliaStephen Shaw RENEWAL
David Q NickaSpainBernardo Dominic RENEWAL
Jones F CampainCanadaIvan Magalhaes QUALIFIED
Rodrigues R StensethCanadaStephen Shaw UNQUALIFIED
Nicolas A DoeFranceBernardo Dominic QUALIFIED
Alejandro G MarrierCanadaIvan Magalhaes NEW
Nicolas N DoeArgentinaStephen Shaw PROPOSAL
Jefferson E NestleJapanIvan Magalhaes NEGOTIATION
Ivar C MorascaIndiaAmy Elsner RENEWAL
Emily Q WaycottGermanyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire X WieserArgentinaStephen Shaw QUALIFIED
Octavia H GillianFranceOnyama Limba RENEWAL
Ashley X KolmetzArgentinaXuxue Feng NEW
Francesco H SaylorsItalyIoni Bowcher RENEWAL
Salvatore G OldroydSpainOnyama Limba NEGOTIATION
David A PerinUnited KingdomAnna Fali UNQUALIFIED
Izzy F SchemmerJapanAsiya Javayant PROPOSAL
Greenwood X MarrierRussiaAsiya Javayant NEGOTIATION
Smith J WaycottIndiaAnna Fali PROPOSAL
Arvin H GlickGermanyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody B FerenczSpain2025-04-19Morlong Associates UNQUALIFIED72Bernardo Dominic
1001David H MarrierIndia2025-04-19Commercial Press RENEWAL32Asiya Javayant
1002Clifford G KuskoSpain2025-04-09Dorl, James J Esq QUALIFIED54Xuxue Feng
1003Ricardo M MorascaSpain2025-04-20Truhlar And Truhlar Attys QUALIFIED11Onyama Limba
1004Leja R ChuiItaly2025-04-09Rousseaux, Michael Esq PROPOSAL36Amy Elsner
1005Maria Z RoysterBrazil2025-04-04Chanay, Jeffrey A Esq NEGOTIATION52Ivan Magalhaes
1006Kadeem W RulapaughIndia2025-04-12Benton, John B Jr RENEWAL66Stephen Shaw
1007Mayumi V StockhamUnited Kingdom2025-04-22Feiner Bros QUALIFIED67Elwin Sharvill
1008Costa R SaylorsUnited Kingdom2025-04-28King, Christopher A Esq RENEWAL74Asiya Javayant
1009Francesco P SchemmerRussia2025-04-13Dorl, James J Esq PROPOSAL43Onyama Limba
1010Clifford F SaylorsCanada2025-04-15Printing Dimensions UNQUALIFIED82Stephen Shaw
1011Juan N PoquetteArgentina2025-04-19Feltz Printing Service NEGOTIATION64Onyama Limba
1012Ivar N OstroskyGermany2025-04-28Printing Dimensions QUALIFIED65Stephen Shaw
1013Izzy I NickaCanada2025-04-24Chapman, Ross E Esq UNQUALIFIED33Xuxue Feng
1014Claire A MarrierCanada2025-04-28Chanay, Jeffrey A Esq RENEWAL99Xuxue Feng
1015Arvin B WhobreyJapan2025-04-21Benton, John B Jr NEGOTIATION97Bernardo Dominic
1016Sinclair L FlosiJapan2025-04-28Feltz Printing Service NEW7Xuxue Feng
1017Isabel A ButtSpain2025-04-10Chapman, Ross E Esq QUALIFIED73Ioni Bowcher
1018Sinclair V MarrierItaly2025-04-20Truhlar And Truhlar Attys QUALIFIED9Anna Fali
1019Aika M FigeroaArgentina2025-04-20Chanay, Jeffrey A Esq UNQUALIFIED42Ivan Magalhaes
1020Emily C TollnerIndia2025-04-22Feiner Bros NEGOTIATION71Elwin Sharvill
1021Isabel A InouyeGermany2025-04-10Benton, John B Jr PROPOSAL90Bernardo Dominic
1022Adams H AmigonJapan2025-04-07Feiner Bros PROPOSAL89Onyama Limba
1023Arvin G PoquetteGermany2025-04-26Feltz Printing Service QUALIFIED75Amy Elsner
1024Emily N MacleadItaly2025-04-07Feiner Bros QUALIFIED56Stephen Shaw
1025Stacey C SlusarskiIndia2025-04-23Rangoni Of Florence NEGOTIATION1Onyama Limba
1026Darci V MaletFrance2025-04-01Commercial Press NEGOTIATION29Ivan Magalhaes
1027Jeanfrancois X CampainSpain2025-04-26Feltz Printing Service UNQUALIFIED84Elwin Sharvill
1028Emily W DilliardSpain2025-04-07Rangoni Of Florence RENEWAL67Bernardo Dominic
1029Ivar P RimSpain2025-04-06Rousseaux, Michael Esq NEW51Amy Elsner
1030Sinclair A WaycottGermany2025-04-19Commercial Press PROPOSAL59Ivan Magalhaes
1031Clifford W MaletRussia2025-04-20Chapman, Ross E Esq NEGOTIATION43Elwin Sharvill
1032Morrow N RoysterBrazil2025-04-03Morlong Associates QUALIFIED68Onyama Limba
1033Maria Q FigeroaItaly2025-04-24Morlong Associates PROPOSAL16Bernardo Dominic
1034Deepesh Z SergiUnited Kingdom2025-04-20Chemel, James L Cpa NEW39Amy Elsner
1035Leon L ShinkoItaly2025-04-09Buckley Miller Wright NEGOTIATION83Ivan Magalhaes
1036Jeanfrancois I WieserItaly2025-04-05King, Christopher A Esq NEW53Asiya Javayant
1037Aika R RoysterItaly2025-04-14Rousseaux, Michael Esq RENEWAL51Xuxue Feng
1038Munro T GarufiItaly2025-04-07Feltz Printing Service PROPOSAL27Onyama Limba
1039Deepesh Y PerinCanada2025-04-12Chapman, Ross E Esq NEW91Onyama Limba
1040Francesco D DarakjyAustralia2025-04-22Printing Dimensions NEGOTIATION5Asiya Javayant
1041Isabel C OldroydGermany2025-04-22Morlong Associates UNQUALIFIED52Asiya Javayant
1042Maria E SaylorsFrance2025-04-08Truhlar And Truhlar Attys RENEWAL0Ivan Magalhaes
1043Arvin O RutaIndia2025-04-13Buckley Miller Wright PROPOSAL66Asiya Javayant
1044Jones H BriddickItaly2025-04-13Truhlar And Truhlar Attys NEGOTIATION17Amy Elsner
1045Ricardo W MarrierArgentina2025-04-11Rangoni Of Florence PROPOSAL11Elwin Sharvill
1046Kaitlin U PaprockiCanada2025-04-19Chemel, James L Cpa NEGOTIATION22Ioni Bowcher
1047Aika J PerinSpain2025-04-17Commercial Press NEW15Asiya Javayant
1048Munro N RimBrazil2025-04-05Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1049Johnson Q MaletJapan2025-04-21Feiner Bros NEGOTIATION66Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha B ShinkoItalyBernardo Dominic PROPOSAL
Ricardo S SlusarskiGermanyIvan Magalhaes PROPOSAL
Emily A SlusarskiIndiaStephen Shaw RENEWAL
Stacey F AlbaresJapanAmy Elsner RENEWAL
Chavez W RutaFranceStephen Shaw QUALIFIED
Murillo O DilliardItalyAnna Fali PROPOSAL
Greenwood O FigeroaBrazilIvan Magalhaes NEW
Smith Y WhobreyUnited KingdomIoni Bowcher PROPOSAL
Greenwood N ButtArgentinaAnna Fali NEW
Aruna M WieserRussiaXuxue Feng PROPOSAL
Johnson D MarrierItalyStephen Shaw PROPOSAL
Misaki N OldroydIndiaAmy Elsner UNQUALIFIED
Maria U GauchoJapanAmy Elsner NEW
Juan Q BowleyBrazilAmy Elsner RENEWAL
Chavez Z GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Misaki W CaldareraFranceXuxue Feng QUALIFIED
Jones A AmigonItalyOnyama Limba NEGOTIATION
Maisha E FlosiCanadaElwin Sharvill RENEWAL
Faith L OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer D VocelkaBrazilOnyama Limba RENEWAL
Stacey C KolmetzAustraliaAsiya Javayant RENEWAL
Maisha W StensethAustraliaAmy Elsner QUALIFIED
Aruna Q DilliardJapanAmy Elsner NEGOTIATION
Octavia B MaletIndiaIoni Bowcher PROPOSAL
Kaitlin C PaprockiArgentinaXuxue Feng RENEWAL
Cody L BriddickUnited KingdomBernardo Dominic NEGOTIATION
Isabel B KuskoArgentinaOnyama Limba PROPOSAL
Mujtaba Z MaletArgentinaAsiya Javayant RENEWAL
Aruna R BologniaArgentinaAsiya Javayant UNQUALIFIED
Ashley Q CaudyBrazilIoni Bowcher NEW
Costa G ShinkoSpainStephen Shaw RENEWAL
Francesco F CampainJapanStephen Shaw UNQUALIFIED
Kaitlin D GillianUnited KingdomAmy Elsner QUALIFIED
Aika K MorascaItalyXuxue Feng RENEWAL
Antonio G StensethAustraliaAsiya Javayant NEW
Kadeem I RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Silvio E SaylorsUnited KingdomIoni Bowcher RENEWAL
Cody A KuskoUnited KingdomBernardo Dominic PROPOSAL
Kadeem P GillianItalyOnyama Limba NEW
Smith S FigeroaJapanAmy Elsner QUALIFIED
Julie Z RutaIndiaXuxue Feng NEW
Emily Y VenereItalyElwin Sharvill PROPOSAL
Aditya C FlosiArgentinaIoni Bowcher UNQUALIFIED
Morrow S TollnerSpainBernardo Dominic RENEWAL
Maria D SchemmerCanadaIvan Magalhaes NEW
Juan O StockhamJapanStephen Shaw NEW
Kaitlin Q GauchoBrazilIoni Bowcher PROPOSAL
Ricardo S IturbideUnited KingdomStephen Shaw QUALIFIED
Rodrigues G RulapaughIndiaStephen Shaw NEW
Adams E GillianUnited KingdomAsiya Javayant RENEWAL
Frozen Columns
Name
Johnson K Inouye
David U Albares
Leja C Dilliard
Wickens Y Nestle
Johnson W Chui
Izzy R Maclead
Jefferson G Nicka
Aditya J Waycott
Jefferson O Paprocki
Clifford U Malet
Claire O Ruta
Kadeem F Wieser
Ashley G Royster
Deepesh O Caldarera
Stacey J Chui
Mayumi H Kolmetz
Emily H Dilliard
Antonio L Gaucho
James A Inouye
Greenwood S Nicka
David X Ferencz
Johnson T Morasca
Costa G Poquette
Kaitlin J Malet
Jennifer Z Sergi
Mujtaba F Butt
Isabel O Paprocki
Sinclair U Rulapaugh
Deepesh R Ferencz
Deepesh S Butt
Juan Q Whobrey
Costa E Caldarera
Greenwood K Ruta
Johnson L Gillian
Ivar V Gillian
Adams C Tollner
Alejandro J Caldarera
Wickens Z Foller
Maria T Inouye
Jefferson O Schemmer
Chavez H Perin
Mujtaba M Royster
Kadeem U Foller
Morrow U Paprocki
Kadeem S Iturbide
Deepesh X Inouye
Adams F Ruta
Mujtaba A Gaucho
Stacey K Bowley
Maria E Bolognia
IdCountryDate
1000Australia2025-04-04
1001Australia2025-04-11
1002Russia2025-04-03
1003Brazil2025-04-02
1004Australia2025-04-19
1005Germany2025-04-19
1006Spain2025-04-24
1007United Kingdom2025-04-04
1008Germany2025-04-17
1009France2025-04-18
1010Australia2025-04-02
1011Japan2025-04-11
1012France2025-04-20
1013India2025-04-23
1014Australia2025-04-20
1015France2025-04-26
1016Germany2025-04-11
1017Canada2025-04-10
1018France2025-04-18
1019Argentina2025-04-24
1020India2025-04-02
1021Argentina2025-04-11
1022Argentina2025-04-03
1023Spain2025-04-12
1024Italy2025-04-30
1025United Kingdom2025-04-05
1026Brazil2025-04-02
1027Spain2025-04-22
1028United Kingdom2025-04-01
1029Germany2025-04-26
1030United Kingdom2025-04-17
1031Argentina2025-04-21
1032Canada2025-04-19
1033Argentina2025-04-25
1034Canada2025-04-20
1035Australia2025-04-05
1036Japan2025-04-16
1037France2025-04-07
1038Germany2025-04-17
1039Germany2025-04-25
1040United Kingdom2025-04-10
1041Spain2025-04-15
1042Canada2025-04-02
1043Italy2025-04-23
1044Italy2025-04-24
1045Japan2025-04-02
1046United Kingdom2025-04-04
1047Japan2025-04-19
1048India2025-04-11
1049Spain2025-04-25

On-Demand Data

NameIdCountryDate
Greenwood H Dilliard1000Brazil2025-04-29
Jeanfrancois R Stockham1001Spain2025-04-13
Antonio Z Maclead1002Italy2025-04-23
Sinclair T Schemmer1003Italy2025-04-01
Silvio A Campain1004Canada2025-04-25
Emily O Foller1005Australia2025-04-02
Kaitlin F Figeroa1006India2025-04-07
Sinclair T Figeroa1007Japan2025-04-07
Nicolas V Figeroa1008Argentina2025-04-29
David R Royster1009Russia2025-04-07
Costa M Maclead1010Italy2025-04-30
David F Maclead1011Argentina2025-04-03
Juan G Slusarski1012Spain2025-04-16
Leja S Poquette1013Italy2025-04-26
Octavia Q Chui1014Argentina2025-04-05
Jefferson X Figeroa1015United Kingdom2025-04-27
Octavia F Garufi1016Germany2025-04-01
Leon Q Oldroyd1017Russia2025-04-25
Tony W Morasca1018Spain2025-04-14
Ricardo H Chui1019India2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Q DilliardBrazilElwin Sharvill UNQUALIFIED
Clifford T IturbideFranceAmy Elsner RENEWAL
Tony J OstroskyBrazilOnyama Limba RENEWAL
Arvin S WieserSpainOnyama Limba PROPOSAL
Rodrigues E MacleadItalyBernardo Dominic QUALIFIED
Rodrigues C SaylorsItalyXuxue Feng NEW
Kaitlin P KolmetzGermanyElwin Sharvill PROPOSAL
Leja D BowleyBrazilIoni Bowcher NEW
Julie L MorascaFranceIoni Bowcher QUALIFIED
Alejandro E MacleadBrazilElwin Sharvill NEGOTIATION
Smith W GauchoJapanAsiya Javayant QUALIFIED
Aruna Y DarakjyBrazilBernardo Dominic NEW
Jeanfrancois N WaycottCanadaAnna Fali UNQUALIFIED
Alejandro I SchemmerRussiaIvan Magalhaes PROPOSAL
Darci L BriddickAustraliaXuxue Feng PROPOSAL
David K RoysterItalyAsiya Javayant NEW
Aditya T MaletSpainOnyama Limba PROPOSAL
Jefferson U FlosiUnited KingdomAmy Elsner PROPOSAL
Wickens G WhobreyGermanyIoni Bowcher UNQUALIFIED
Johnson X DarakjyUnited KingdomAmy Elsner PROPOSAL
Darci W DilliardSpainIoni Bowcher RENEWAL
Silvio R StockhamCanadaAnna Fali PROPOSAL
Salvatore W WaycottJapanAsiya Javayant QUALIFIED
Leon P AlbaresRussiaAsiya Javayant UNQUALIFIED
Clifford L GarufiUnited KingdomAmy Elsner UNQUALIFIED
Leja C DoeJapanIvan Magalhaes UNQUALIFIED
Faith S MarrierJapanStephen Shaw RENEWAL
Leja F PerinRussiaOnyama Limba QUALIFIED
David U FerenczGermanyAmy Elsner RENEWAL
Aditya M ShinkoAustraliaIvan Magalhaes RENEWAL
Salvatore E RutaUnited KingdomAmy Elsner NEGOTIATION
Faith M MacleadFranceAmy Elsner RENEWAL
Misaki S CaldareraRussiaIvan Magalhaes QUALIFIED
Jefferson V GarufiRussiaIoni Bowcher NEGOTIATION
Antonio T RoysterAustraliaAsiya Javayant NEGOTIATION
Darci A KuskoItalyStephen Shaw RENEWAL
Jeanfrancois F WaycottRussiaIoni Bowcher NEGOTIATION
Silvio A SaylorsFranceAsiya Javayant NEW
Francesco F BriddickCanadaAnna Fali QUALIFIED
Clifford S SaylorsRussiaAnna Fali UNQUALIFIED

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