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
Francesco F WaycottRussiaAmy Elsner RENEWAL
Kaitlin T WieserRussiaStephen Shaw PROPOSAL
Ashley O KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Juan E StockhamArgentinaBernardo Dominic PROPOSAL
Jones M NickaUnited KingdomXuxue Feng NEW
Emily A CampainFranceIvan Magalhaes NEW
Costa A MorascaJapanAnna Fali QUALIFIED
Jeanfrancois L OldroydCanadaXuxue Feng RENEWAL
Kadeem A GauchoFranceAnna Fali QUALIFIED
James K SchemmerRussiaAmy Elsner PROPOSAL
Faith H FigeroaGermanyIoni Bowcher QUALIFIED
Jennifer T CampainGermanyAmy Elsner PROPOSAL
Clifford Y ShinkoRussiaIoni Bowcher UNQUALIFIED
Aditya J RulapaughItalyIoni Bowcher PROPOSAL
James D CampainRussiaAnna Fali NEW
Aditya V MarrierIndiaOnyama Limba RENEWAL
Cody N AmigonArgentinaIvan Magalhaes PROPOSAL
Aika N DoeGermanyOnyama Limba QUALIFIED
Izzy B MarrierSpainAnna Fali RENEWAL
Maisha Q SergiFranceBernardo Dominic UNQUALIFIED
Rodrigues D KolmetzItalyStephen Shaw UNQUALIFIED
David K DilliardJapanStephen Shaw NEW
Aika F RimUnited KingdomIoni Bowcher QUALIFIED
Deepesh Y SergiArgentinaOnyama Limba NEGOTIATION
Stacey T DilliardItalyBernardo Dominic QUALIFIED
Juan X CaudyFranceStephen Shaw NEW
Faith I PaprockiBrazilIoni Bowcher QUALIFIED
Aruna I MarrierItalyIvan Magalhaes RENEWAL
James M ButtCanadaIvan Magalhaes NEW
Salvatore W AlbaresUnited KingdomAnna Fali RENEWAL
Jeanfrancois H CaudyRussiaAnna Fali UNQUALIFIED
Francesco W AmigonArgentinaXuxue Feng RENEWAL
Leon Y SaylorsArgentinaXuxue Feng NEGOTIATION
Alejandro J SlusarskiJapanIvan Magalhaes NEGOTIATION
Jeanfrancois I StockhamUnited KingdomOnyama Limba PROPOSAL
Antonio F StockhamIndiaIoni Bowcher UNQUALIFIED
Smith K MaletCanadaBernardo Dominic NEGOTIATION
Morrow R BowleyArgentinaBernardo Dominic NEGOTIATION
Aditya W VocelkaUnited KingdomStephen Shaw RENEWAL
Jennifer E GarufiUnited KingdomOnyama Limba UNQUALIFIED
Silvio Y BologniaAustraliaAnna Fali NEW
Chavez S NickaRussiaXuxue Feng NEGOTIATION
Clifford Y PoquetteIndiaOnyama Limba NEGOTIATION
David D StockhamArgentinaBernardo Dominic NEGOTIATION
Sinclair O CaudyIndiaOnyama Limba PROPOSAL
Aika H SaylorsJapanIvan Magalhaes NEW
Munro H ShinkoItalyStephen Shaw NEGOTIATION
Emily Y VocelkaCanadaAsiya Javayant UNQUALIFIED
Darci G PaprockiJapanAsiya Javayant RENEWAL
Tony Q BriddickIndiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem W SlusarskiCanadaAnna Fali PROPOSAL
Octavia B ButtIndiaXuxue Feng RENEWAL
Rodrigues J OldroydRussiaIoni Bowcher RENEWAL
Clifford X PoquetteItalyAnna Fali NEW
Murillo F VenereGermanyElwin Sharvill UNQUALIFIED
Emily F DilliardJapanIvan Magalhaes NEGOTIATION
Leja L SlusarskiAustraliaXuxue Feng RENEWAL
Darci Y DilliardAustraliaStephen Shaw RENEWAL
Aditya B SlusarskiRussiaAsiya Javayant PROPOSAL
Mujtaba D WhobreyAustraliaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha G ButtItaly2026-06-11Chanay, Jeffrey A Esq QUALIFIED79Stephen Shaw
1001Rodrigues L GillianUnited Kingdom2026-06-13King, Christopher A Esq NEW44Ivan Magalhaes
1002Mujtaba Y BowleyGermany2026-06-22Feltz Printing Service PROPOSAL0Onyama Limba
1003Juan U SlusarskiRussia2026-06-08Chapman, Ross E Esq NEW26Onyama Limba
1004Deepesh T FerenczBrazil2026-07-02Chemel, James L Cpa PROPOSAL80Elwin Sharvill
1005Francesco Q AmigonItaly2026-06-17Benton, John B Jr QUALIFIED20Elwin Sharvill
1006Tony G MaletIndia2026-06-24Feiner Bros NEGOTIATION73Elwin Sharvill
1007Mujtaba Y MacleadSpain2026-06-15Feltz Printing Service NEGOTIATION48Ivan Magalhaes
1008Misaki W PaprockiRussia2026-06-15Rousseaux, Michael Esq UNQUALIFIED55Ivan Magalhaes
1009Ivar D SlusarskiItaly2026-06-21Feiner Bros PROPOSAL99Elwin Sharvill
1010Aditya F MorascaAustralia2026-07-02Chanay, Jeffrey A Esq PROPOSAL41Elwin Sharvill
1011Tony O BologniaAustralia2026-06-12King, Christopher A Esq NEGOTIATION37Elwin Sharvill
1012Greenwood F VenereArgentina2026-06-13Chanay, Jeffrey A Esq NEGOTIATION21Xuxue Feng
1013Aditya P AmigonGermany2026-06-23Buckley Miller Wright NEW19Ivan Magalhaes
1014Julie Z NickaItaly2026-06-21Feltz Printing Service UNQUALIFIED77Xuxue Feng
1015Sinclair E CampainGermany2026-07-05Feiner Bros QUALIFIED16Ioni Bowcher
1016Aika W GlickUnited Kingdom2026-06-08Chapman, Ross E Esq QUALIFIED24Elwin Sharvill
1017Juan S VocelkaFrance2026-07-07Rousseaux, Michael Esq RENEWAL80Stephen Shaw
1018Jefferson S OldroydSpain2026-06-24Chapman, Ross E Esq UNQUALIFIED41Onyama Limba
1019Mayumi E DoeItaly2026-06-08Feiner Bros NEW95Bernardo Dominic
1020Adams O MorascaBrazil2026-06-29Truhlar And Truhlar Attys RENEWAL97Amy Elsner
1021Kaitlin N CaldareraGermany2026-06-24Chapman, Ross E Esq NEGOTIATION17Asiya Javayant
1022Sinclair Z BologniaCanada2026-06-28Dorl, James J Esq RENEWAL98Ivan Magalhaes
1023Francesco V StockhamFrance2026-06-29Printing Dimensions QUALIFIED95Stephen Shaw
1024Octavia T NestleRussia2026-06-09Rangoni Of Florence UNQUALIFIED26Bernardo Dominic
1025Morrow Z StockhamAustralia2026-06-25Buckley Miller Wright NEW63Ivan Magalhaes
1026Sinclair P CampainItaly2026-06-24King, Christopher A Esq UNQUALIFIED14Ivan Magalhaes
1027Arvin X GillianUnited Kingdom2026-06-25Dorl, James J Esq NEW13Ivan Magalhaes
1028Aruna H WieserCanada2026-06-15Truhlar And Truhlar Attys RENEWAL76Stephen Shaw
1029Wickens T ChuiCanada2026-06-30Commercial Press UNQUALIFIED69Elwin Sharvill
1030Aruna I GarufiAustralia2026-06-08Truhlar And Truhlar Attys NEGOTIATION72Anna Fali
1031Smith U IturbideRussia2026-06-21Chapman, Ross E Esq PROPOSAL23Xuxue Feng
1032Rodrigues Z ShinkoCanada2026-06-26Dorl, James J Esq NEGOTIATION38Stephen Shaw
1033Izzy D VocelkaSpain2026-06-16Printing Dimensions UNQUALIFIED22Stephen Shaw
1034Francesco C FerenczGermany2026-06-30Feltz Printing Service UNQUALIFIED54Elwin Sharvill
1035Maisha X AmigonAustralia2026-06-17Feiner Bros NEW0Asiya Javayant
1036Nicolas N SaylorsJapan2026-07-07Chapman, Ross E Esq UNQUALIFIED52Xuxue Feng
1037Misaki J AmigonAustralia2026-06-29Dorl, James J Esq NEW11Elwin Sharvill
1038Claire L AmigonJapan2026-06-24Commercial Press RENEWAL33Elwin Sharvill
1039Stacey S ChuiJapan2026-06-14Rousseaux, Michael Esq RENEWAL85Bernardo Dominic
1040Octavia B RoysterUnited Kingdom2026-06-25Benton, John B Jr UNQUALIFIED87Stephen Shaw
1041Cody D SergiItaly2026-06-22Printing Dimensions NEW68Amy Elsner
1042Antonio Q WhobreyIndia2026-06-08Dorl, James J Esq NEW45Anna Fali
1043Ashley D SchemmerSpain2026-06-24Morlong Associates UNQUALIFIED60Asiya Javayant
1044Misaki C SlusarskiUnited Kingdom2026-06-13Chanay, Jeffrey A Esq QUALIFIED81Ivan Magalhaes
1045Jones C SaylorsJapan2026-06-30Feltz Printing Service PROPOSAL23Onyama Limba
1046Darci P FerenczUnited Kingdom2026-06-19Chapman, Ross E Esq UNQUALIFIED84Xuxue Feng
1047Jefferson A BriddickGermany2026-06-21Chapman, Ross E Esq NEGOTIATION31Ioni Bowcher
1048Kadeem M ButtIndia2026-06-14King, Christopher A Esq NEW36Elwin Sharvill
1049Alejandro H WaycottFrance2026-07-04Feiner Bros RENEWAL55Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin O WieserAustraliaIvan Magalhaes QUALIFIED
Sinclair G PoquetteRussiaOnyama Limba NEW
Clifford E RoysterCanadaXuxue Feng RENEWAL
Darci M ButtRussiaXuxue Feng NEW
Leon R GlickFranceOnyama Limba NEW
Darci P MacleadArgentinaOnyama Limba UNQUALIFIED
Mujtaba P ButtJapanElwin Sharvill QUALIFIED
Maria Z PaprockiCanadaAsiya Javayant NEGOTIATION
Leja X CaldareraBrazilAnna Fali NEW
Emily Q SaylorsCanadaOnyama Limba NEGOTIATION
Chavez O KolmetzArgentinaOnyama Limba UNQUALIFIED
Deepesh O BriddickItalyXuxue Feng UNQUALIFIED
Jones B CaudyFranceXuxue Feng PROPOSAL
Jeanfrancois J DarakjySpainAnna Fali RENEWAL
Leja G GauchoGermanyOnyama Limba UNQUALIFIED
Mujtaba H StensethArgentinaIvan Magalhaes UNQUALIFIED
Ashley K MarrierAustraliaAsiya Javayant RENEWAL
Jefferson Q FigeroaAustraliaIvan Magalhaes PROPOSAL
Leon M BologniaAustraliaElwin Sharvill PROPOSAL
Jones I ChuiBrazilAsiya Javayant NEGOTIATION
Aika C OstroskyCanadaAmy Elsner PROPOSAL
Ivar X RimJapanXuxue Feng QUALIFIED
Maria O FollerSpainXuxue Feng NEW
Morrow A ChuiBrazilIvan Magalhaes UNQUALIFIED
Francesco G OldroydRussiaBernardo Dominic QUALIFIED
Costa B SchemmerCanadaAsiya Javayant NEGOTIATION
Wickens P StensethRussiaOnyama Limba NEW
Kadeem Z BowleyRussiaAmy Elsner NEW
Nicolas L AlbaresItalyBernardo Dominic RENEWAL
Mayumi K SchemmerRussiaIoni Bowcher PROPOSAL
Octavia R NestleFranceAsiya Javayant PROPOSAL
Wickens O InouyeFranceOnyama Limba RENEWAL
Cody E BriddickUnited KingdomAnna Fali RENEWAL
Misaki A ButtSpainBernardo Dominic NEW
Morrow Q FigeroaRussiaAnna Fali RENEWAL
Aditya X CaudyIndiaBernardo Dominic PROPOSAL
David I TollnerItalyElwin Sharvill QUALIFIED
Greenwood Q SlusarskiRussiaOnyama Limba NEW
Maria V RimUnited KingdomIoni Bowcher NEW
Sinclair G RimBrazilXuxue Feng RENEWAL
Misaki O KuskoSpainAsiya Javayant QUALIFIED
Adams V MarrierUnited KingdomXuxue Feng NEGOTIATION
Silvio J FerenczBrazilOnyama Limba PROPOSAL
Juan Y MaletFranceAmy Elsner RENEWAL
Tony J GarufiIndiaAnna Fali UNQUALIFIED
Francesco J MacleadIndiaIvan Magalhaes PROPOSAL
Jeanfrancois C GillianBrazilStephen Shaw QUALIFIED
Mayumi N RimUnited KingdomAsiya Javayant NEW
Mujtaba O WieserGermanyAmy Elsner QUALIFIED
Francesco N MacleadFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
Claire K Inouye
Nicolas S Ferencz
Clifford K Malet
Juan G Royster
Wickens O Rim
Ivar I Slusarski
Ivar K Schemmer
Smith E Royster
Salvatore B Figeroa
Emily F Caudy
Maria O Vocelka
Leon Y Albares
Izzy G Chui
Jennifer J Rim
Rodrigues N Campain
Francesco I Foller
Francesco R Amigon
Francesco C Gillian
Deepesh D Glick
Ashley N Chui
Adams Z Ruta
Costa W Royster
Claire T Ruta
Tony A Sergi
Cody V Glick
Greenwood B Nestle
Leja P Caldarera
Mayumi Y Glick
Alejandro J Gillian
Ricardo C Glick
Darci E Flosi
Greenwood R Oldroyd
Morrow X Flosi
Octavia F Dilliard
Sinclair F Kusko
Sinclair Y Ferencz
Francesco W Amigon
Jones A Malet
Greenwood N Paprocki
Leja R Morasca
Faith N Butt
Mujtaba H Sergi
Maria E Dilliard
Silvio T Poquette
Maria I Rulapaugh
Stacey A Malet
Leja A Garufi
Clifford I Schemmer
Jefferson M Inouye
Arvin A Oldroyd
IdCountryDate
1000Japan2026-06-08
1001Spain2026-06-28
1002Canada2026-06-09
1003Russia2026-07-06
1004Australia2026-07-02
1005United Kingdom2026-06-11
1006France2026-06-27
1007Australia2026-07-04
1008Spain2026-06-29
1009Argentina2026-06-24
1010Brazil2026-06-12
1011France2026-06-15
1012Russia2026-06-27
1013Japan2026-06-24
1014Spain2026-06-23
1015Japan2026-07-06
1016Canada2026-06-17
1017Canada2026-06-15
1018Germany2026-07-01
1019Russia2026-06-21
1020Spain2026-06-16
1021Germany2026-06-08
1022Russia2026-06-17
1023France2026-06-22
1024Germany2026-06-14
1025Germany2026-06-18
1026Argentina2026-06-26
1027United Kingdom2026-06-08
1028Russia2026-06-29
1029Germany2026-06-23
1030Spain2026-06-22
1031France2026-06-28
1032Germany2026-06-17
1033Germany2026-06-13
1034France2026-06-19
1035Italy2026-06-27
1036Italy2026-06-11
1037Canada2026-06-11
1038Argentina2026-07-06
1039France2026-07-06
1040Spain2026-06-12
1041United Kingdom2026-06-23
1042Japan2026-06-22
1043Canada2026-07-01
1044Brazil2026-06-22
1045France2026-06-15
1046Germany2026-06-18
1047Australia2026-07-07
1048India2026-06-12
1049Italy2026-06-13

On-Demand Data

NameIdCountryDate
Johnson R Foller1000Japan2026-06-11
Costa U Ferencz1001France2026-07-05
Aditya X Waycott1002Spain2026-06-21
Claire D Figeroa1003Germany2026-06-09
Francesco T Iturbide1004Spain2026-06-30
Jennifer Z Iturbide1005France2026-06-14
Claire T Rulapaugh1006United Kingdom2026-06-17
Ricardo W Ruta1007Australia2026-06-10
Aditya C Maclead1008Australia2026-06-26
Mayumi P Inouye1009Russia2026-06-09
Jefferson P Slusarski1010Japan2026-06-10
Munro G Amigon1011United Kingdom2026-06-23
Morrow M Glick1012United Kingdom2026-06-12
James L Darakjy1013Spain2026-06-14
Ricardo A Saylors1014Russia2026-06-20
Leja Y Campain1015Italy2026-06-18
Adams S Glick1016Australia2026-06-15
Costa K Caudy1017Italy2026-06-28
Stacey E Rulapaugh1018Italy2026-06-15
Julie W Iturbide1019France2026-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja D GillianRussiaIvan Magalhaes UNQUALIFIED
Faith W FollerUnited KingdomAnna Fali UNQUALIFIED
Ashley L MorascaSpainAsiya Javayant NEGOTIATION
Octavia J RoysterJapanStephen Shaw PROPOSAL
Chavez L VenereUnited KingdomIoni Bowcher NEGOTIATION
Octavia X GlickUnited KingdomXuxue Feng RENEWAL
Deepesh S SergiBrazilBernardo Dominic UNQUALIFIED
Mujtaba J AlbaresUnited KingdomAmy Elsner RENEWAL
Emily K ButtRussiaAnna Fali QUALIFIED
Claire C SaylorsAustraliaElwin Sharvill NEGOTIATION
Chavez P SergiUnited KingdomOnyama Limba NEGOTIATION
Greenwood A CaldareraCanadaIoni Bowcher RENEWAL
Darci T SergiIndiaOnyama Limba PROPOSAL
Silvio D ShinkoGermanyElwin Sharvill UNQUALIFIED
Munro L CaudyIndiaElwin Sharvill QUALIFIED
Silvio H VenereFranceXuxue Feng UNQUALIFIED
Salvatore G PaprockiGermanyIoni Bowcher NEW
Aika X VenereJapanIoni Bowcher NEGOTIATION
Isabel E GlickItalyStephen Shaw PROPOSAL
Izzy M WaycottItalyIvan Magalhaes QUALIFIED
Clifford M IturbideJapanIoni Bowcher NEW
Murillo Z VocelkaCanadaBernardo Dominic QUALIFIED
David A OstroskyRussiaElwin Sharvill NEGOTIATION
Salvatore U MarrierIndiaAsiya Javayant NEGOTIATION
Wickens L KolmetzIndiaBernardo Dominic PROPOSAL
Mujtaba K BologniaFranceElwin Sharvill QUALIFIED
Munro Q BriddickGermanyOnyama Limba NEW
David P FerenczJapanAnna Fali PROPOSAL
Alejandro K GarufiSpainElwin Sharvill QUALIFIED
Mayumi P SlusarskiIndiaOnyama Limba NEGOTIATION
Murillo N KuskoSpainAnna Fali NEGOTIATION
Leon V WhobreyJapanXuxue Feng NEW
Munro J ShinkoJapanOnyama Limba UNQUALIFIED
Chavez R InouyeCanadaXuxue Feng QUALIFIED
Octavia N FlosiUnited KingdomXuxue Feng NEW
Arvin O SlusarskiArgentinaStephen Shaw RENEWAL
Chavez R MacleadJapanAnna Fali QUALIFIED
Faith Z KuskoGermanyBernardo Dominic QUALIFIED
Smith N NestleArgentinaIoni Bowcher UNQUALIFIED
Leon K CaldareraAustraliaAmy 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>