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
Ivar U MaletIndiaIvan Magalhaes QUALIFIED
Julie T VocelkaBrazilElwin Sharvill PROPOSAL
Mayumi T RoysterSpainAsiya Javayant NEW
Alejandro K GauchoIndiaXuxue Feng NEGOTIATION
Murillo L PoquetteItalyIoni Bowcher NEGOTIATION
Maria Z RutaItalyStephen Shaw NEGOTIATION
Ashley A GillianIndiaXuxue Feng UNQUALIFIED
Misaki C TollnerRussiaIvan Magalhaes UNQUALIFIED
Rodrigues M StensethSpainXuxue Feng NEGOTIATION
Maisha Y WaycottRussiaXuxue Feng PROPOSAL
Tony X CaldareraItalyAmy Elsner RENEWAL
Munro Y SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas P InouyeUnited KingdomOnyama Limba RENEWAL
Leon L StockhamFranceAnna Fali NEGOTIATION
Isabel D VocelkaAustraliaXuxue Feng QUALIFIED
Faith O WaycottUnited KingdomOnyama Limba QUALIFIED
Jennifer S NestleAustraliaAsiya Javayant NEGOTIATION
Rodrigues Y VenereFranceOnyama Limba NEW
Leja P MarrierArgentinaElwin Sharvill UNQUALIFIED
Salvatore L MarrierGermanyIoni Bowcher NEW
Emily F RoysterArgentinaIoni Bowcher NEGOTIATION
Mujtaba S IturbideBrazilElwin Sharvill QUALIFIED
Clifford M BowleyFranceAsiya Javayant NEGOTIATION
Morrow U ShinkoSpainElwin Sharvill NEGOTIATION
Claire X MacleadRussiaStephen Shaw QUALIFIED
Isabel X MarrierAustraliaAsiya Javayant NEGOTIATION
Julie J OstroskyRussiaElwin Sharvill NEGOTIATION
Sinclair L GarufiFranceAsiya Javayant UNQUALIFIED
Murillo Z BologniaIndiaIvan Magalhaes UNQUALIFIED
Aditya K IturbideArgentinaIoni Bowcher NEGOTIATION
Smith C AmigonSpainAmy Elsner NEW
Darci G DarakjyGermanyOnyama Limba RENEWAL
Morrow K DoeAustraliaStephen Shaw NEW
Deepesh X MarrierItalyXuxue Feng RENEWAL
Jefferson Q GlickIndiaAnna Fali NEW
Mujtaba I GarufiArgentinaOnyama Limba PROPOSAL
Mayumi U StensethFranceAsiya Javayant PROPOSAL
Ivar U RoysterBrazilStephen Shaw QUALIFIED
Deepesh S MaletGermanyXuxue Feng RENEWAL
Clifford P SlusarskiItalyIvan Magalhaes RENEWAL
Arvin G WaycottAustraliaIoni Bowcher RENEWAL
Darci P RulapaughFranceIvan Magalhaes NEW
Maria Q ShinkoBrazilXuxue Feng UNQUALIFIED
Murillo U MacleadItalyAnna Fali NEGOTIATION
Morrow K CampainItalyAmy Elsner RENEWAL
Darci B OldroydFranceAmy Elsner PROPOSAL
Isabel Q TollnerSpainAsiya Javayant NEW
Julie W GarufiBrazilOnyama Limba PROPOSAL
Alejandro I DarakjyJapanIvan Magalhaes QUALIFIED
Misaki M StensethAustraliaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson N ShinkoRussiaOnyama Limba NEW
Darci G GarufiArgentinaBernardo Dominic PROPOSAL
Munro T VenereGermanyStephen Shaw UNQUALIFIED
Julie R CaldareraUnited KingdomStephen Shaw RENEWAL
Mayumi U BowleyFranceXuxue Feng PROPOSAL
Ricardo P WhobreyUnited KingdomBernardo Dominic RENEWAL
Adams Y DoeJapanXuxue Feng QUALIFIED
Misaki V FigeroaIndiaAnna Fali RENEWAL
Faith F FollerFranceAsiya Javayant NEW
Costa U OstroskyFranceIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin V KuskoGermany2025-04-03Feiner Bros PROPOSAL31Xuxue Feng
1001Ashley E StockhamUnited Kingdom2025-04-21Rousseaux, Michael Esq RENEWAL29Amy Elsner
1002James J WieserGermany2025-04-23Rousseaux, Michael Esq QUALIFIED33Xuxue Feng
1003Ricardo O GlickSpain2025-04-23Chanay, Jeffrey A Esq NEW81Stephen Shaw
1004Smith O VocelkaIndia2025-04-18Printing Dimensions UNQUALIFIED65Bernardo Dominic
1005Claire I ShinkoBrazil2025-04-21Rangoni Of Florence NEW25Bernardo Dominic
1006Morrow S SergiArgentina2025-04-22Rousseaux, Michael Esq PROPOSAL98Elwin Sharvill
1007Faith W OstroskyBrazil2025-04-26Feltz Printing Service PROPOSAL57Ivan Magalhaes
1008Misaki D MorascaArgentina2025-04-07Chapman, Ross E Esq UNQUALIFIED93Ivan Magalhaes
1009Stacey T GauchoBrazil2025-04-09Dorl, James J Esq NEGOTIATION58Bernardo Dominic
1010Kaitlin R SchemmerCanada2025-04-20Dorl, James J Esq NEW97Anna Fali
1011Munro T TollnerArgentina2025-04-02Printing Dimensions QUALIFIED44Amy Elsner
1012Cody K BologniaJapan2025-04-26Feltz Printing Service QUALIFIED43Bernardo Dominic
1013Alejandro D MorascaArgentina2025-04-18Buckley Miller Wright PROPOSAL81Xuxue Feng
1014Wickens A ChuiCanada2025-04-19Chanay, Jeffrey A Esq UNQUALIFIED55Onyama Limba
1015Francesco R AmigonUnited Kingdom2025-04-18Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1016Tony W SaylorsBrazil2025-04-25Chanay, Jeffrey A Esq PROPOSAL8Amy Elsner
1017Aruna O MacleadBrazil2025-04-25Chemel, James L Cpa RENEWAL12Ioni Bowcher
1018Maisha S StensethFrance2025-04-14Buckley Miller Wright NEW15Asiya Javayant
1019Wickens T SaylorsItaly2025-04-07Truhlar And Truhlar Attys QUALIFIED80Ivan Magalhaes
1020Cody L CaudyItaly2025-04-12Morlong Associates RENEWAL45Bernardo Dominic
1021Ashley B ButtIndia2025-04-09Feltz Printing Service NEW7Elwin Sharvill
1022Jefferson M BologniaRussia2025-04-25Commercial Press RENEWAL7Asiya Javayant
1023Johnson Y RimBrazil2025-04-08Morlong Associates NEGOTIATION20Ioni Bowcher
1024Chavez J VenereFrance2025-04-04Commercial Press QUALIFIED54Ioni Bowcher
1025Aruna T MaletUnited Kingdom2025-04-06Rousseaux, Michael Esq NEW51Ivan Magalhaes
1026Rodrigues T OldroydFrance2025-04-23Rangoni Of Florence UNQUALIFIED84Onyama Limba
1027Isabel C MorascaItaly2025-04-24Printing Dimensions UNQUALIFIED70Bernardo Dominic
1028Salvatore M IturbideAustralia2025-04-03Printing Dimensions QUALIFIED98Xuxue Feng
1029Arvin W PoquetteIndia2025-04-13Rousseaux, Michael Esq UNQUALIFIED39Xuxue Feng
1030Mayumi O SchemmerUnited Kingdom2025-04-11Buckley Miller Wright PROPOSAL99Stephen Shaw
1031Morrow M GillianAustralia2025-04-16Chemel, James L Cpa QUALIFIED84Asiya Javayant
1032Silvio U DarakjyGermany2025-04-27Rousseaux, Michael Esq NEGOTIATION59Ivan Magalhaes
1033Izzy C AmigonIndia2025-04-30Benton, John B Jr UNQUALIFIED20Ioni Bowcher
1034Alejandro Q MaletSpain2025-04-19Buckley Miller Wright UNQUALIFIED24Ivan Magalhaes
1035Cody T PaprockiCanada2025-04-28Feiner Bros NEW32Amy Elsner
1036Cody C GlickRussia2025-04-21Benton, John B Jr RENEWAL56Bernardo Dominic
1037Mayumi I VocelkaIndia2025-04-17Rangoni Of Florence QUALIFIED67Bernardo Dominic
1038Leja M GillianRussia2025-04-10Feltz Printing Service PROPOSAL32Asiya Javayant
1039Nicolas A CaldareraSpain2025-04-25Feltz Printing Service QUALIFIED54Xuxue Feng
1040Adams H RutaItaly2025-04-18Truhlar And Truhlar Attys NEGOTIATION6Bernardo Dominic
1041Ricardo Q IturbideItaly2025-04-10Feltz Printing Service QUALIFIED77Bernardo Dominic
1042David C KuskoGermany2025-04-10Morlong Associates PROPOSAL52Elwin Sharvill
1043Tony F WieserSpain2025-04-07Benton, John B Jr NEGOTIATION72Anna Fali
1044Salvatore B GarufiSpain2025-04-23Dorl, James J Esq QUALIFIED45Stephen Shaw
1045Jennifer D AmigonAustralia2025-04-12Chapman, Ross E Esq PROPOSAL90Elwin Sharvill
1046Clifford A RimIndia2025-04-07Printing Dimensions RENEWAL89Ivan Magalhaes
1047Greenwood V ChuiCanada2025-04-05Chemel, James L Cpa RENEWAL22Amy Elsner
1048Leon I VenereUnited Kingdom2025-04-19Rousseaux, Michael Esq NEW3Stephen Shaw
1049Mayumi V KuskoUnited Kingdom2025-04-23Morlong Associates UNQUALIFIED4Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kadeem D OldroydIndiaIvan Magalhaes NEGOTIATION
Sinclair E NickaGermanyIvan Magalhaes PROPOSAL
Jeanfrancois T BriddickArgentinaElwin Sharvill PROPOSAL
Izzy P IturbideArgentinaElwin Sharvill NEGOTIATION
Izzy G RoysterJapanIoni Bowcher RENEWAL
David Q RoysterGermanyBernardo Dominic NEGOTIATION
James K AmigonFranceBernardo Dominic NEGOTIATION
Emily R RimGermanyOnyama Limba UNQUALIFIED
Faith M AlbaresCanadaIvan Magalhaes UNQUALIFIED
Darci T NestleFranceXuxue Feng QUALIFIED
Izzy C KuskoArgentinaStephen Shaw UNQUALIFIED
Sinclair X KuskoBrazilXuxue Feng PROPOSAL
Jones P FollerCanadaStephen Shaw RENEWAL
Munro N SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Clifford L FerenczItalyAsiya Javayant PROPOSAL
Faith W FigeroaItalyXuxue Feng NEGOTIATION
Arvin N VenereItalyIoni Bowcher PROPOSAL
Juan T BriddickGermanyAsiya Javayant RENEWAL
Johnson D PoquetteArgentinaStephen Shaw PROPOSAL
Morrow W DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Claire Z FlosiCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois Q RimUnited KingdomAsiya Javayant QUALIFIED
Munro J IturbideAustraliaAmy Elsner QUALIFIED
Jones L GarufiSpainAnna Fali PROPOSAL
Kadeem T RulapaughGermanyIvan Magalhaes NEW
Kadeem Z StensethArgentinaStephen Shaw PROPOSAL
Murillo U SaylorsItalyAsiya Javayant NEW
Emily S CampainIndiaElwin Sharvill UNQUALIFIED
Salvatore P PerinCanadaAsiya Javayant NEW
Faith M PoquetteUnited KingdomXuxue Feng NEW
Emily U CaldareraJapanIoni Bowcher NEGOTIATION
Costa Z BowleyArgentinaXuxue Feng PROPOSAL
Nicolas U PaprockiJapanElwin Sharvill NEW
Johnson B WieserItalyStephen Shaw NEW
Mujtaba B WaycottJapanElwin Sharvill RENEWAL
Alejandro W GauchoFranceIvan Magalhaes PROPOSAL
Jennifer J CaudyRussiaStephen Shaw UNQUALIFIED
Faith C AmigonSpainOnyama Limba PROPOSAL
Tony G DoeGermanyElwin Sharvill NEGOTIATION
Morrow Q RimRussiaOnyama Limba RENEWAL
Kaitlin Y RutaItalyBernardo Dominic NEGOTIATION
Emily G WhobreyIndiaAnna Fali QUALIFIED
Chavez C BriddickIndiaElwin Sharvill PROPOSAL
Octavia N PerinFranceOnyama Limba QUALIFIED
Sinclair Q GlickUnited KingdomAmy Elsner PROPOSAL
Sinclair X MarrierBrazilAmy Elsner NEGOTIATION
Smith K OldroydCanadaAmy Elsner RENEWAL
Aruna O GlickSpainOnyama Limba UNQUALIFIED
Costa N BologniaCanadaIoni Bowcher PROPOSAL
Ashley M DoeGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Arvin E Chui
Aika Z Sergi
Kaitlin Q Nicka
Kadeem O Waycott
Deepesh Z Stenseth
Faith I Foller
Rodrigues L Garufi
Sinclair H Saylors
Antonio E Wieser
Clifford J Ruta
Stacey X Chui
Ivar K Wieser
Morrow P Royster
Ashley J Kusko
Maria S Marrier
Octavia O Ostrosky
Munro G Kolmetz
Stacey D Bowley
Rodrigues R Albares
Izzy H Morasca
Deepesh G Vocelka
Deepesh Y Caudy
David O Caudy
Silvio M Saylors
Izzy V Flosi
Munro P Wieser
Izzy X Marrier
Jeanfrancois T Inouye
Maisha F Bowley
Cody N Garufi
Sinclair Z Oldroyd
Claire T Inouye
Deepesh E Nicka
Morrow K Ruta
Murillo T Sergi
Johnson C Amigon
Jennifer J Gaucho
Ricardo K Garufi
Kaitlin W Perin
Smith Q Ruta
Alejandro A Bowley
David I Malet
Alejandro I Chui
Nicolas W Slusarski
Arvin I Butt
Wickens O Waycott
Octavia J Rulapaugh
Leon C Vocelka
David D Poquette
Leon N Royster
IdCountryDate
1000Brazil2025-04-17
1001United Kingdom2025-04-20
1002United Kingdom2025-04-26
1003United Kingdom2025-04-28
1004Brazil2025-04-17
1005Japan2025-04-11
1006India2025-04-01
1007Spain2025-04-07
1008Japan2025-04-09
1009Italy2025-04-30
1010Japan2025-04-10
1011Russia2025-04-24
1012Argentina2025-04-10
1013Canada2025-04-13
1014Italy2025-04-28
1015Spain2025-04-21
1016Italy2025-04-25
1017Canada2025-04-22
1018Germany2025-04-01
1019Canada2025-04-20
1020Brazil2025-04-30
1021United Kingdom2025-04-14
1022France2025-04-02
1023Italy2025-04-02
1024Spain2025-04-24
1025India2025-04-14
1026United Kingdom2025-04-21
1027Australia2025-04-02
1028Brazil2025-04-28
1029Russia2025-04-02
1030Canada2025-04-29
1031Japan2025-04-04
1032Spain2025-04-27
1033Germany2025-04-09
1034Russia2025-04-27
1035Germany2025-04-23
1036Japan2025-04-24
1037Australia2025-04-24
1038Argentina2025-04-09
1039Russia2025-04-20
1040Australia2025-04-28
1041India2025-04-19
1042India2025-04-24
1043Brazil2025-04-29
1044Spain2025-04-29
1045Russia2025-04-07
1046India2025-04-16
1047United Kingdom2025-04-29
1048Argentina2025-04-27
1049Australia2025-04-25

On-Demand Data

NameIdCountryDate
Mujtaba O Caudy1000Germany2025-04-16
Clifford E Briddick1001Spain2025-04-20
Antonio F Briddick1002Germany2025-04-20
Kaitlin B Bowley1003Australia2025-04-11
Smith M Ostrosky1004United Kingdom2025-04-23
Adams V Doe1005Italy2025-04-15
Mayumi B Caudy1006Russia2025-04-24
Jeanfrancois Y Kusko1007Canada2025-04-11
Antonio Y Oldroyd1008Spain2025-04-25
Ashley D Paprocki1009Germany2025-04-29
Deepesh W Bowley1010Spain2025-04-06
Clifford B Malet1011Brazil2025-04-08
David B Chui1012Japan2025-04-08
Maisha D Venere1013Spain2025-04-19
Cody A Stockham1014Italy2025-04-22
Ashley S Poquette1015Canada2025-04-30
Smith Q Ostrosky1016Russia2025-04-21
Salvatore O Perin1017Russia2025-04-27
Claire D Marrier1018India2025-04-06
Ashley O Malet1019India2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin I WaycottUnited KingdomIvan Magalhaes PROPOSAL
Kaitlin T FollerCanadaAmy Elsner PROPOSAL
Ashley E BriddickIndiaAnna Fali PROPOSAL
Costa E SaylorsRussiaAsiya Javayant NEGOTIATION
Octavia I GillianFranceAsiya Javayant NEW
Alejandro C OstroskyRussiaAmy Elsner UNQUALIFIED
Smith D ChuiUnited KingdomIoni Bowcher PROPOSAL
Deepesh T MaletRussiaAnna Fali NEGOTIATION
Darci V MorascaCanadaXuxue Feng NEW
Francesco H AmigonCanadaXuxue Feng NEGOTIATION
Francesco F KolmetzRussiaBernardo Dominic QUALIFIED
Jones P PerinCanadaStephen Shaw NEW
David A KuskoBrazilBernardo Dominic UNQUALIFIED
Julie E KolmetzRussiaIvan Magalhaes PROPOSAL
Clifford D PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Antonio N SergiJapanIoni Bowcher NEW
Sinclair H MacleadArgentinaIoni Bowcher QUALIFIED
Jefferson B NickaGermanyXuxue Feng RENEWAL
Juan E TollnerBrazilStephen Shaw QUALIFIED
Aditya O NestleSpainElwin Sharvill NEW
Murillo O ButtSpainAsiya Javayant NEGOTIATION
Antonio L MaletCanadaOnyama Limba NEW
Ashley R KolmetzFranceStephen Shaw NEW
Mujtaba W KuskoJapanAmy Elsner UNQUALIFIED
Johnson O FigeroaArgentinaBernardo Dominic PROPOSAL
Silvio T SlusarskiSpainAnna Fali PROPOSAL
Stacey I RutaRussiaAmy Elsner QUALIFIED
Sinclair Q AlbaresGermanyBernardo Dominic NEGOTIATION
Kadeem Q RoysterUnited KingdomIvan Magalhaes NEW
Mayumi C GauchoSpainAnna Fali QUALIFIED
Clifford F GillianArgentinaIvan Magalhaes NEGOTIATION
Adams Y RutaBrazilAsiya Javayant PROPOSAL
James A CaudySpainAmy Elsner QUALIFIED
Clifford D ShinkoCanadaOnyama Limba UNQUALIFIED
Aika Z WaycottArgentinaOnyama Limba QUALIFIED
Maria M CampainCanadaAsiya Javayant RENEWAL
Stacey T NestleAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois Y PoquetteIndiaElwin Sharvill NEW
Juan L BowleyArgentinaOnyama Limba PROPOSAL
Leja J InouyeCanadaStephen Shaw QUALIFIED

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