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 S CampainRussiaBernardo Dominic PROPOSAL
Jennifer E MacleadItalyIoni Bowcher QUALIFIED
Alejandro K KuskoFranceAsiya Javayant RENEWAL
Antonio R NickaUnited KingdomStephen Shaw NEW
Misaki Q GlickAustraliaStephen Shaw QUALIFIED
Misaki S FlosiCanadaAnna Fali PROPOSAL
Misaki I NickaGermanyAmy Elsner NEGOTIATION
Deepesh C AlbaresArgentinaIvan Magalhaes QUALIFIED
Antonio J MarrierItalyAmy Elsner NEW
Costa G OldroydUnited KingdomAnna Fali NEW
Ashley D ShinkoBrazilBernardo Dominic NEGOTIATION
Deepesh Y MacleadGermanyIvan Magalhaes NEW
Izzy J KolmetzAustraliaOnyama Limba NEW
Johnson Y KuskoAustraliaStephen Shaw UNQUALIFIED
Ricardo I OstroskyCanadaBernardo Dominic UNQUALIFIED
Costa C CampainGermanyElwin Sharvill QUALIFIED
Jeanfrancois D PerinBrazilOnyama Limba NEW
Maria F DilliardRussiaIoni Bowcher NEW
Leon N AmigonIndiaOnyama Limba UNQUALIFIED
Faith O BowleyRussiaOnyama Limba RENEWAL
Faith P AlbaresRussiaStephen Shaw QUALIFIED
Murillo O DoeUnited KingdomAsiya Javayant NEW
Munro I FlosiItalyAsiya Javayant UNQUALIFIED
Johnson D VocelkaIndiaIvan Magalhaes UNQUALIFIED
Tony W RoysterSpainIoni Bowcher RENEWAL
Rodrigues D SaylorsUnited KingdomBernardo Dominic QUALIFIED
Francesco G BowleySpainAnna Fali UNQUALIFIED
Mayumi E CampainRussiaXuxue Feng RENEWAL
Silvio X CampainJapanAsiya Javayant NEGOTIATION
Arvin R RimUnited KingdomIvan Magalhaes PROPOSAL
Stacey C CampainItalyOnyama Limba PROPOSAL
Greenwood C FlosiIndiaOnyama Limba PROPOSAL
Arvin I GarufiUnited KingdomStephen Shaw RENEWAL
Mujtaba K AmigonIndiaAnna Fali UNQUALIFIED
Emily O FlosiJapanAsiya Javayant PROPOSAL
Clifford H AlbaresBrazilAmy Elsner RENEWAL
Emily Z PoquetteRussiaIoni Bowcher UNQUALIFIED
Deepesh T SlusarskiRussiaAnna Fali PROPOSAL
Octavia O GillianFranceXuxue Feng RENEWAL
Stacey H WieserArgentinaOnyama Limba NEW
James G OstroskyRussiaOnyama Limba NEW
Silvio S BowleyUnited KingdomBernardo Dominic NEW
Ashley N IturbideGermanyStephen Shaw NEGOTIATION
Sinclair B SchemmerBrazilAmy Elsner NEW
Misaki O NestleIndiaOnyama Limba NEGOTIATION
Octavia Q GillianRussiaAsiya Javayant UNQUALIFIED
Johnson D RoysterAustraliaAnna Fali NEGOTIATION
Antonio R RimSpainAmy Elsner QUALIFIED
Aruna H NestleArgentinaAsiya Javayant PROPOSAL
James N TollnerCanadaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna P RimUnited KingdomXuxue Feng PROPOSAL
Mujtaba R MaletSpainIvan Magalhaes NEW
Misaki G IturbideBrazilAmy Elsner NEGOTIATION
Octavia J GillianIndiaIvan Magalhaes RENEWAL
Faith E FerenczIndiaIvan Magalhaes QUALIFIED
Clifford W NickaItalyIvan Magalhaes RENEWAL
Johnson Q FerenczFranceAmy Elsner QUALIFIED
Silvio D WieserAustraliaOnyama Limba NEGOTIATION
Jennifer S MaletIndiaXuxue Feng NEGOTIATION
Jeanfrancois T GillianItalyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez C PerinIndia2024-06-14Rousseaux, Michael Esq PROPOSAL64Asiya Javayant
1001Juan L VenereGermany2024-06-13Feltz Printing Service QUALIFIED31Bernardo Dominic
1002Jeanfrancois U BriddickRussia2024-06-20Dorl, James J Esq UNQUALIFIED76Ioni Bowcher
1003Claire J MaletRussia2024-06-17Rousseaux, Michael Esq QUALIFIED95Onyama Limba
1004Alejandro R OstroskyGermany2024-06-12Chapman, Ross E Esq PROPOSAL46Ivan Magalhaes
1005Adams D OstroskyItaly2024-06-18Chemel, James L Cpa PROPOSAL66Ivan Magalhaes
1006Aika L MorascaFrance2024-05-27Printing Dimensions NEW61Onyama Limba
1007Faith Z CaldareraJapan2024-06-11Dorl, James J Esq RENEWAL61Asiya Javayant
1008David D TollnerIndia2024-06-14Chemel, James L Cpa UNQUALIFIED58Amy Elsner
1009Greenwood U DilliardIndia2024-06-08Morlong Associates UNQUALIFIED31Onyama Limba
1010Smith K RoysterGermany2024-06-03Chemel, James L Cpa NEGOTIATION25Anna Fali
1011Clifford I RimArgentina2024-06-10Benton, John B Jr NEGOTIATION54Stephen Shaw
1012Nicolas W AmigonItaly2024-06-23Chapman, Ross E Esq RENEWAL4Bernardo Dominic
1013Julie Y GillianUnited Kingdom2024-05-31Chapman, Ross E Esq NEW90Bernardo Dominic
1014Costa J GarufiFrance2024-05-28Rousseaux, Michael Esq NEW95Ivan Magalhaes
1015Costa Y WhobreyBrazil2024-06-10Feltz Printing Service RENEWAL81Bernardo Dominic
1016Antonio G GillianJapan2024-06-20Chanay, Jeffrey A Esq QUALIFIED47Stephen Shaw
1017David F BriddickJapan2024-06-22Feiner Bros QUALIFIED3Elwin Sharvill
1018Adams M BowleyArgentina2024-06-22Chapman, Ross E Esq RENEWAL23Bernardo Dominic
1019Jefferson M NestleIndia2024-06-01Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1020Costa I FigeroaCanada2024-06-15Commercial Press QUALIFIED41Onyama Limba
1021Antonio X DarakjyAustralia2024-05-30Commercial Press QUALIFIED12Stephen Shaw
1022Aditya H DoeIndia2024-06-12Truhlar And Truhlar Attys RENEWAL17Xuxue Feng
1023Darci M IturbideRussia2024-06-22Rousseaux, Michael Esq NEW25Asiya Javayant
1024Kaitlin K BologniaBrazil2024-06-16Chapman, Ross E Esq PROPOSAL75Anna Fali
1025Kaitlin X RulapaughRussia2024-06-14Chemel, James L Cpa RENEWAL77Asiya Javayant
1026Isabel P OstroskyAustralia2024-06-13Printing Dimensions NEGOTIATION48Bernardo Dominic
1027Leon D SergiBrazil2024-06-11King, Christopher A Esq NEGOTIATION97Anna Fali
1028Nicolas Z RulapaughGermany2024-06-24Rousseaux, Michael Esq PROPOSAL33Anna Fali
1029Sinclair D MacleadIndia2024-06-04Commercial Press PROPOSAL47Stephen Shaw
1030Maria H BowleyGermany2024-06-02Chapman, Ross E Esq NEW5Xuxue Feng
1031Wickens E RoysterFrance2024-06-06Feltz Printing Service PROPOSAL5Asiya Javayant
1032Arvin P MaletJapan2024-06-04Rousseaux, Michael Esq PROPOSAL81Bernardo Dominic
1033Mujtaba C SaylorsFrance2024-06-07Chemel, James L Cpa UNQUALIFIED60Amy Elsner
1034Sinclair G BologniaArgentina2024-05-29Buckley Miller Wright UNQUALIFIED30Amy Elsner
1035Sinclair A DoeAustralia2024-06-03Rousseaux, Michael Esq QUALIFIED88Asiya Javayant
1036Costa L MaletGermany2024-06-11Chanay, Jeffrey A Esq PROPOSAL58Bernardo Dominic
1037Ricardo C TollnerRussia2024-06-06Chemel, James L Cpa QUALIFIED10Xuxue Feng
1038David E CaudyAustralia2024-06-12Chemel, James L Cpa UNQUALIFIED40Onyama Limba
1039Maisha R AmigonBrazil2024-05-27Morlong Associates UNQUALIFIED60Anna Fali
1040Deepesh Z MacleadBrazil2024-06-12Rousseaux, Michael Esq NEGOTIATION15Xuxue Feng
1041Juan G RutaAustralia2024-06-22Dorl, James J Esq UNQUALIFIED59Xuxue Feng
1042Mayumi Z AmigonGermany2024-06-22King, Christopher A Esq UNQUALIFIED2Bernardo Dominic
1043Leja W ChuiUnited Kingdom2024-06-21Buckley Miller Wright PROPOSAL63Onyama Limba
1044Emily J RulapaughJapan2024-05-26Feltz Printing Service NEGOTIATION98Ioni Bowcher
1045Tony H StockhamJapan2024-06-06Chemel, James L Cpa QUALIFIED43Ivan Magalhaes
1046Salvatore W VocelkaCanada2024-06-06Feiner Bros UNQUALIFIED49Stephen Shaw
1047Arvin D DoeJapan2024-06-08Buckley Miller Wright RENEWAL67Ioni Bowcher
1048Deepesh X StensethRussia2024-05-28Commercial Press RENEWAL2Onyama Limba
1049Chavez Y MaletFrance2024-06-18Dorl, James J Esq PROPOSAL6Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie B RutaRussiaIoni Bowcher RENEWAL
Julie R MarrierSpainAsiya Javayant NEW
Smith R BowleyFranceIvan Magalhaes PROPOSAL
Silvio I ChuiArgentinaAsiya Javayant NEGOTIATION
Julie C OstroskyJapanIoni Bowcher NEGOTIATION
Cody H SchemmerSpainElwin Sharvill NEGOTIATION
Alejandro M MaletCanadaIvan Magalhaes NEW
Costa N WaycottGermanyBernardo Dominic NEGOTIATION
Aditya R CaudySpainOnyama Limba NEW
Kadeem L DarakjyBrazilElwin Sharvill NEW
Jeanfrancois D StensethIndiaAnna Fali NEGOTIATION
Salvatore J MorascaJapanBernardo Dominic PROPOSAL
Munro J CaudyGermanyIoni Bowcher UNQUALIFIED
Claire N MorascaSpainStephen Shaw NEGOTIATION
Wickens D DoeGermanyIoni Bowcher QUALIFIED
Arvin V TollnerCanadaBernardo Dominic QUALIFIED
Cody P OldroydGermanyXuxue Feng PROPOSAL
Aditya O RimGermanyXuxue Feng NEGOTIATION
Ashley L ButtGermanyElwin Sharvill NEW
Kaitlin O StockhamGermanyIvan Magalhaes NEGOTIATION
Claire S KuskoArgentinaElwin Sharvill UNQUALIFIED
Ashley O StensethJapanElwin Sharvill UNQUALIFIED
Stacey S ShinkoFranceBernardo Dominic UNQUALIFIED
Stacey Y MorascaAustraliaXuxue Feng NEW
Mayumi X FollerBrazilAsiya Javayant UNQUALIFIED
Rodrigues E MaletJapanIvan Magalhaes PROPOSAL
Faith I BowleyGermanyAmy Elsner QUALIFIED
Morrow K SergiArgentinaElwin Sharvill UNQUALIFIED
Leon J IturbideSpainAmy Elsner UNQUALIFIED
Leon E NickaArgentinaOnyama Limba NEGOTIATION
Emily M GlickAustraliaElwin Sharvill UNQUALIFIED
Silvio N RimArgentinaOnyama Limba UNQUALIFIED
Isabel K FigeroaAustraliaAsiya Javayant NEW
Ricardo C SchemmerAustraliaXuxue Feng NEW
Clifford F FollerBrazilBernardo Dominic RENEWAL
Jeanfrancois V KolmetzJapanOnyama Limba NEW
Adams X DarakjyAustraliaAmy Elsner RENEWAL
Jennifer T MacleadRussiaAsiya Javayant UNQUALIFIED
Izzy Z WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Emily V WieserFranceIvan Magalhaes RENEWAL
Clifford L FigeroaAustraliaBernardo Dominic QUALIFIED
Ricardo Y ButtRussiaIvan Magalhaes QUALIFIED
Nicolas E GarufiAustraliaXuxue Feng RENEWAL
Clifford U NickaFranceAsiya Javayant QUALIFIED
Sinclair D MaletFranceBernardo Dominic NEGOTIATION
Kaitlin J MarrierSpainElwin Sharvill PROPOSAL
Silvio L MaletGermanyOnyama Limba NEGOTIATION
Wickens Y StockhamUnited KingdomElwin Sharvill NEW
Leon F GlickJapanElwin Sharvill PROPOSAL
Kaitlin F MaletFranceOnyama Limba RENEWAL
Frozen Columns
Name
Alejandro A Rulapaugh
Adams E Venere
Mayumi O Sergi
Julie C Caudy
Jeanfrancois L Slusarski
Misaki O Garufi
Aditya T Briddick
Tony T Kolmetz
Rodrigues B Maclead
Izzy M Kusko
Jones F Rim
Salvatore E Glick
Nicolas X Albares
Salvatore F Nestle
Clifford E Doe
Kaitlin F Rulapaugh
Jennifer Y Venere
Leon N Stenseth
Murillo N Stenseth
Darci W Ostrosky
Jones E Rulapaugh
Sinclair H Wieser
Francesco X Morasca
Octavia V Stockham
Leja J Stockham
Stacey Q Campain
Maisha I Morasca
Aditya Q Tollner
Alejandro M Gaucho
James V Iturbide
Sinclair T Morasca
Arvin I Whobrey
Cody L Foller
Kaitlin A Slusarski
Jeanfrancois H Iturbide
Antonio G Doe
Mujtaba L Campain
Faith W Malet
Mujtaba H Morasca
Aika L Butt
Isabel I Flosi
Mujtaba A Vocelka
Adams E Nicka
Antonio I Malet
Costa B Vocelka
Misaki X Malet
Kadeem G Iturbide
Julie N Nicka
Claire B Ferencz
Clifford V Garufi
IdCountryDate
1000United Kingdom2024-06-04
1001Brazil2024-06-09
1002France2024-06-23
1003India2024-06-05
1004Australia2024-06-04
1005United Kingdom2024-06-02
1006India2024-06-16
1007Spain2024-05-29
1008Japan2024-06-21
1009Russia2024-05-26
1010Brazil2024-05-27
1011United Kingdom2024-06-21
1012Australia2024-06-15
1013Germany2024-05-30
1014Spain2024-06-21
1015United Kingdom2024-06-01
1016Spain2024-06-19
1017United Kingdom2024-05-30
1018Russia2024-05-31
1019India2024-06-19
1020Japan2024-05-30
1021Brazil2024-06-02
1022Russia2024-06-03
1023Japan2024-06-19
1024Canada2024-06-21
1025Argentina2024-06-17
1026Brazil2024-06-24
1027Russia2024-06-01
1028France2024-06-13
1029France2024-06-13
1030Russia2024-06-02
1031Spain2024-06-20
1032Germany2024-05-26
1033Australia2024-05-30
1034Argentina2024-05-27
1035United Kingdom2024-06-13
1036Russia2024-05-29
1037Russia2024-05-29
1038Argentina2024-06-22
1039Italy2024-06-24
1040Spain2024-06-19
1041Japan2024-05-29
1042Italy2024-05-29
1043Japan2024-06-03
1044India2024-06-22
1045Russia2024-06-03
1046India2024-05-26
1047Russia2024-05-30
1048Russia2024-06-14
1049Australia2024-06-05

On-Demand Data

NameIdCountryDate
Misaki F Glick1000Brazil2024-05-26
Mayumi Z Paprocki1001Australia2024-06-04
Aditya U Morasca1002Argentina2024-06-10
Ashley Y Rulapaugh1003Russia2024-06-06
Juan P Sergi1004Italy2024-06-09
Kaitlin V Maclead1005Italy2024-06-06
Mayumi T Kusko1006Argentina2024-06-04
Claire Y Darakjy1007France2024-06-24
Smith D Doe1008Italy2024-06-05
Maria C Ruta1009Spain2024-05-29
Johnson V Gillian1010Spain2024-06-10
Arvin C Stenseth1011India2024-06-12
Julie H Oldroyd1012Brazil2024-06-01
Julie C Bolognia1013Japan2024-06-19
Jones K Stockham1014Russia2024-06-11
Mujtaba K Albares1015Germany2024-06-14
James J Tollner1016Germany2024-06-08
Chavez K Butt1017Argentina2024-06-19
Johnson S Oldroyd1018Australia2024-06-01
Jeanfrancois L Gaucho1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow A FollerGermanyAnna Fali RENEWAL
Johnson N WhobreyArgentinaXuxue Feng UNQUALIFIED
Smith I MaletArgentinaElwin Sharvill RENEWAL
Smith L OstroskyItalyAnna Fali NEGOTIATION
Jones U PaprockiAustraliaAnna Fali RENEWAL
Francesco Q InouyeUnited KingdomIvan Magalhaes NEW
Antonio V DoeFranceIoni Bowcher QUALIFIED
Wickens V ButtCanadaAnna Fali QUALIFIED
Arvin Y MaletBrazilAmy Elsner RENEWAL
Mujtaba R ChuiGermanyAnna Fali PROPOSAL
Kaitlin X CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Aruna H VenereRussiaBernardo Dominic PROPOSAL
Maria K WhobreyItalyElwin Sharvill NEW
Cody Q MorascaGermanyStephen Shaw UNQUALIFIED
Munro K WaycottItalyXuxue Feng NEGOTIATION
Jefferson L GauchoIndiaIoni Bowcher QUALIFIED
Mayumi I CampainBrazilElwin Sharvill NEW
Claire Z GlickUnited KingdomXuxue Feng UNQUALIFIED
Greenwood Y AmigonFranceAmy Elsner QUALIFIED
Greenwood F StensethSpainIoni Bowcher NEW
Cody U MarrierBrazilAsiya Javayant UNQUALIFIED
Nicolas O RimGermanyAnna Fali RENEWAL
Ashley Q SchemmerAustraliaElwin Sharvill QUALIFIED
Ivar Q MorascaCanadaAsiya Javayant RENEWAL
Isabel M WhobreyUnited KingdomOnyama Limba NEGOTIATION
Munro F FerenczItalyStephen Shaw NEW
Adams J KuskoAustraliaIoni Bowcher NEGOTIATION
Jennifer N SergiRussiaXuxue Feng RENEWAL
Kadeem C NestleCanadaIoni Bowcher NEGOTIATION
Tony W GillianItalyAmy Elsner PROPOSAL
Aika R DoeItalyAsiya Javayant NEGOTIATION
Salvatore G NestleJapanElwin Sharvill UNQUALIFIED
Jeanfrancois B WhobreyArgentinaIvan Magalhaes NEGOTIATION
Nicolas Z DarakjyIndiaIoni Bowcher UNQUALIFIED
Cody H AlbaresJapanIoni Bowcher NEGOTIATION
Faith Y SlusarskiIndiaIvan Magalhaes NEW
Jones F FollerItalyOnyama Limba RENEWAL
Jeanfrancois F NickaJapanOnyama Limba PROPOSAL
Stacey I BowleyCanadaAmy Elsner PROPOSAL
Francesco L BriddickSpainBernardo Dominic 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>