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
Kaitlin W WhobreyRussiaIvan Magalhaes PROPOSAL
Sinclair X ButtIndiaAsiya Javayant RENEWAL
Salvatore F NestleArgentinaElwin Sharvill PROPOSAL
Morrow V BowleyBrazilStephen Shaw PROPOSAL
Murillo E StockhamItalyIvan Magalhaes NEGOTIATION
Silvio X PerinItalyOnyama Limba PROPOSAL
Arvin N NestleBrazilAnna Fali QUALIFIED
Izzy O RoysterUnited KingdomBernardo Dominic NEW
Mujtaba S GillianItalyAsiya Javayant NEW
Maria Z TollnerIndiaAsiya Javayant QUALIFIED
Maria K PoquetteArgentinaIoni Bowcher UNQUALIFIED
Costa U FollerAustraliaAsiya Javayant PROPOSAL
Deepesh H NickaAustraliaStephen Shaw UNQUALIFIED
Isabel P SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Francesco V VenereSpainXuxue Feng QUALIFIED
Kadeem A SlusarskiAustraliaAnna Fali RENEWAL
Clifford J KolmetzIndiaAsiya Javayant RENEWAL
Chavez S ButtFranceIvan Magalhaes PROPOSAL
Misaki T ShinkoSpainAmy Elsner QUALIFIED
Kaitlin R OldroydGermanyIvan Magalhaes PROPOSAL
Deepesh I VenereCanadaAsiya Javayant QUALIFIED
Darci I SlusarskiFranceElwin Sharvill QUALIFIED
Maria F KolmetzIndiaXuxue Feng PROPOSAL
Rodrigues N GillianFranceOnyama Limba NEGOTIATION
Kaitlin B SchemmerRussiaIvan Magalhaes NEGOTIATION
James B AmigonArgentinaIoni Bowcher NEGOTIATION
Greenwood T BologniaItalyElwin Sharvill QUALIFIED
Aditya M DoeItalyAmy Elsner NEGOTIATION
Alejandro S RoysterRussiaBernardo Dominic UNQUALIFIED
Darci W CaldareraItalyStephen Shaw RENEWAL
Faith X AmigonSpainIvan Magalhaes UNQUALIFIED
Tony I ShinkoRussiaIvan Magalhaes RENEWAL
Smith E MaletFranceAmy Elsner UNQUALIFIED
Maisha J FerenczJapanBernardo Dominic NEGOTIATION
Murillo B StockhamUnited KingdomStephen Shaw PROPOSAL
Murillo M SergiItalyStephen Shaw QUALIFIED
Ivar B NickaRussiaStephen Shaw RENEWAL
Misaki L GauchoAustraliaXuxue Feng NEW
Murillo G MorascaRussiaStephen Shaw PROPOSAL
Mujtaba J MaletFranceStephen Shaw NEW
Adams W ShinkoAustraliaAsiya Javayant QUALIFIED
Johnson W FerenczBrazilStephen Shaw NEW
Wickens F MorascaIndiaOnyama Limba QUALIFIED
Clifford U SaylorsUnited KingdomAnna Fali QUALIFIED
Juan I ButtBrazilIoni Bowcher RENEWAL
Leja O WhobreyFranceOnyama Limba NEGOTIATION
Salvatore L SchemmerCanadaStephen Shaw NEW
James C RoysterArgentinaIvan Magalhaes NEW
Aika K WieserIndiaXuxue Feng RENEWAL
Adams R InouyeIndiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois X RimItalyXuxue Feng PROPOSAL
Wickens I StockhamJapanAmy Elsner RENEWAL
Ivar D KolmetzIndiaIoni Bowcher QUALIFIED
Francesco M FlosiGermanyIoni Bowcher NEW
Aika M ButtUnited KingdomAsiya Javayant UNQUALIFIED
Francesco E SlusarskiSpainIoni Bowcher RENEWAL
Misaki B CaudyGermanyIvan Magalhaes PROPOSAL
David J FollerJapanAmy Elsner RENEWAL
Jennifer V WieserUnited KingdomXuxue Feng NEW
Arvin O SaylorsGermanyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro A RoysterRussia2024-05-23Feltz Printing Service RENEWAL18Ioni Bowcher
1001Jeanfrancois R OstroskyGermany2024-05-21Rangoni Of Florence PROPOSAL88Xuxue Feng
1002Smith I ButtArgentina2024-06-07King, Christopher A Esq QUALIFIED89Amy Elsner
1003Tony M BriddickCanada2024-05-25Rangoni Of Florence RENEWAL48Asiya Javayant
1004Emily J BowleyRussia2024-05-23Chapman, Ross E Esq NEGOTIATION42Onyama Limba
1005Izzy L MarrierSpain2024-06-11Dorl, James J Esq PROPOSAL86Stephen Shaw
1006Leja Y FollerArgentina2024-06-12Chemel, James L Cpa QUALIFIED3Xuxue Feng
1007Arvin I InouyeFrance2024-05-29Rangoni Of Florence NEGOTIATION56Asiya Javayant
1008Ricardo R OstroskyCanada2024-06-05Benton, John B Jr PROPOSAL96Stephen Shaw
1009Silvio N BriddickJapan2024-05-19Printing Dimensions RENEWAL25Asiya Javayant
1010Jeanfrancois F BowleyIndia2024-05-15Chapman, Ross E Esq PROPOSAL34Anna Fali
1011Darci F MacleadItaly2024-05-28King, Christopher A Esq QUALIFIED4Anna Fali
1012Deepesh N KuskoRussia2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED90Amy Elsner
1013Kaitlin G CaldareraUnited Kingdom2024-06-05Buckley Miller Wright PROPOSAL16Ioni Bowcher
1014Chavez L MorascaArgentina2024-06-01Feiner Bros NEGOTIATION61Ioni Bowcher
1015Smith F MacleadRussia2024-06-10King, Christopher A Esq UNQUALIFIED29Asiya Javayant
1016Julie L RutaFrance2024-05-18Rousseaux, Michael Esq NEGOTIATION38Elwin Sharvill
1017Greenwood E PerinArgentina2024-06-10Chanay, Jeffrey A Esq QUALIFIED90Stephen Shaw
1018Maria K ButtGermany2024-06-13Dorl, James J Esq NEW98Stephen Shaw
1019Costa A VocelkaAustralia2024-06-04Chapman, Ross E Esq NEGOTIATION70Stephen Shaw
1020Wickens R VenereIndia2024-05-24Commercial Press NEW98Amy Elsner
1021Octavia H WaycottUnited Kingdom2024-05-18Feiner Bros QUALIFIED31Amy Elsner
1022Octavia J OstroskyCanada2024-05-15Buckley Miller Wright PROPOSAL54Anna Fali
1023Salvatore A MarrierArgentina2024-06-11Chanay, Jeffrey A Esq RENEWAL39Ioni Bowcher
1024Faith S NickaIndia2024-06-11King, Christopher A Esq NEGOTIATION82Stephen Shaw
1025Aruna F BologniaRussia2024-05-31Chapman, Ross E Esq QUALIFIED46Asiya Javayant
1026Morrow W SchemmerAustralia2024-06-12Printing Dimensions RENEWAL85Stephen Shaw
1027Nicolas J PerinGermany2024-05-24Morlong Associates RENEWAL90Ivan Magalhaes
1028Juan P FlosiIndia2024-05-24Benton, John B Jr NEW75Asiya Javayant
1029Mujtaba Q WaycottFrance2024-06-12Feltz Printing Service NEGOTIATION48Elwin Sharvill
1030Stacey N StensethArgentina2024-06-09King, Christopher A Esq PROPOSAL66Anna Fali
1031Ivar U RoysterBrazil2024-06-05Chapman, Ross E Esq QUALIFIED28Ivan Magalhaes
1032Greenwood T StensethIndia2024-06-05Chemel, James L Cpa UNQUALIFIED53Ioni Bowcher
1033Jennifer N SchemmerUnited Kingdom2024-05-17Truhlar And Truhlar Attys PROPOSAL75Onyama Limba
1034Maisha W ChuiRussia2024-06-12Buckley Miller Wright QUALIFIED17Amy Elsner
1035Ashley L PoquetteItaly2024-06-02Buckley Miller Wright QUALIFIED16Onyama Limba
1036David Y WaycottJapan2024-05-17King, Christopher A Esq NEGOTIATION48Onyama Limba
1037Maisha B GlickJapan2024-05-26Buckley Miller Wright QUALIFIED16Amy Elsner
1038Johnson Z VenereAustralia2024-05-29Printing Dimensions UNQUALIFIED32Elwin Sharvill
1039Stacey B BowleyAustralia2024-05-31Chanay, Jeffrey A Esq QUALIFIED22Stephen Shaw
1040Darci L BowleySpain2024-05-25Commercial Press RENEWAL22Xuxue Feng
1041Rodrigues X RulapaughJapan2024-05-17Chemel, James L Cpa NEGOTIATION72Xuxue Feng
1042Munro U DarakjyUnited Kingdom2024-05-15Rousseaux, Michael Esq UNQUALIFIED54Xuxue Feng
1043Maisha J VocelkaRussia2024-06-01Chemel, James L Cpa NEGOTIATION63Stephen Shaw
1044Stacey V WieserUnited Kingdom2024-06-09Dorl, James J Esq PROPOSAL76Amy Elsner
1045Juan I RulapaughJapan2024-06-03Commercial Press PROPOSAL84Bernardo Dominic
1046Greenwood P SergiUnited Kingdom2024-05-20Chapman, Ross E Esq RENEWAL80Bernardo Dominic
1047Jones B BriddickBrazil2024-06-05Feiner Bros NEGOTIATION63Amy Elsner
1048Munro X AmigonAustralia2024-06-04Chapman, Ross E Esq QUALIFIED49Ioni Bowcher
1049Clifford T OstroskyUnited Kingdom2024-06-08Morlong Associates NEGOTIATION13Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Tony Q GauchoBrazilIoni Bowcher QUALIFIED
Tony B FollerSpainAmy Elsner PROPOSAL
Wickens E DarakjyIndiaElwin Sharvill RENEWAL
Maria I BowleySpainOnyama Limba NEW
Faith F StockhamBrazilAmy Elsner NEGOTIATION
Sinclair R FlosiSpainXuxue Feng QUALIFIED
Johnson A ShinkoItalyAsiya Javayant QUALIFIED
Chavez X GlickIndiaAnna Fali QUALIFIED
Salvatore N StockhamIndiaAmy Elsner PROPOSAL
Jeanfrancois Y SaylorsCanadaAmy Elsner RENEWAL
Adams Z BriddickJapanIoni Bowcher NEGOTIATION
Jeanfrancois K StensethFranceAsiya Javayant NEGOTIATION
Octavia A TollnerArgentinaElwin Sharvill PROPOSAL
Nicolas I KolmetzUnited KingdomElwin Sharvill PROPOSAL
Salvatore O StockhamUnited KingdomXuxue Feng NEW
Johnson L CaudyCanadaAnna Fali RENEWAL
Darci D DoeUnited KingdomElwin Sharvill RENEWAL
Mujtaba B MacleadArgentinaElwin Sharvill NEGOTIATION
Claire D VenereAustraliaAsiya Javayant RENEWAL
Izzy O PaprockiSpainElwin Sharvill QUALIFIED
James E MorascaJapanBernardo Dominic NEGOTIATION
Murillo B StockhamJapanStephen Shaw QUALIFIED
Clifford W WieserSpainElwin Sharvill UNQUALIFIED
Ricardo A FerenczBrazilIvan Magalhaes NEW
Deepesh Q MarrierRussiaIvan Magalhaes PROPOSAL
Misaki L StensethIndiaAsiya Javayant NEGOTIATION
Mujtaba R PaprockiGermanyIoni Bowcher QUALIFIED
Isabel V RutaAustraliaXuxue Feng PROPOSAL
Chavez I DarakjyArgentinaAmy Elsner PROPOSAL
Chavez M DilliardArgentinaIvan Magalhaes NEGOTIATION
Johnson T FerenczRussiaElwin Sharvill PROPOSAL
Murillo D WhobreyJapanXuxue Feng RENEWAL
Ashley Q SergiItalyElwin Sharvill NEGOTIATION
Faith R FerenczBrazilXuxue Feng UNQUALIFIED
Murillo W BowleyCanadaBernardo Dominic UNQUALIFIED
Aditya W InouyeFranceAmy Elsner UNQUALIFIED
Jeanfrancois A MaletSpainIoni Bowcher RENEWAL
Smith L KolmetzArgentinaAmy Elsner QUALIFIED
Munro I CampainUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois X WaycottArgentinaAsiya Javayant NEGOTIATION
Nicolas I FigeroaIndiaOnyama Limba RENEWAL
Smith U RutaRussiaAsiya Javayant PROPOSAL
Mujtaba F StensethUnited KingdomStephen Shaw QUALIFIED
Jefferson Q RulapaughIndiaXuxue Feng NEGOTIATION
Johnson F SaylorsArgentinaXuxue Feng RENEWAL
David T BriddickFranceXuxue Feng PROPOSAL
Greenwood W CaudyArgentinaAmy Elsner QUALIFIED
Arvin Q AlbaresUnited KingdomAnna Fali QUALIFIED
Salvatore K FollerIndiaIvan Magalhaes NEW
Wickens H VocelkaBrazilElwin Sharvill NEW
Frozen Columns
Name
Johnson L Gaucho
Ricardo B Morasca
Chavez Z Butt
Costa L Albares
David Z Nestle
Claire K Butt
Greenwood Z Butt
Antonio K Chui
Mayumi S Vocelka
Octavia H Stenseth
Nicolas B Morasca
Darci G Vocelka
Faith Y Saylors
Ivar R Royster
Morrow Z Kusko
David Y Caldarera
Antonio E Slusarski
Clifford M Schemmer
Mayumi C Ferencz
Darci A Vocelka
Silvio T Perin
Aruna L Paprocki
Adams U Schemmer
Arvin E Waycott
Mujtaba E Marrier
Antonio O Ostrosky
Nicolas V Briddick
Johnson Y Stenseth
Darci G Perin
Salvatore Y Inouye
Claire D Inouye
Ricardo O Foller
Ivar A Albares
Alejandro V Caudy
Jennifer H Perin
James A Schemmer
Mujtaba X Garufi
Morrow P Flosi
Mujtaba J Morasca
Munro L Foller
Ivar E Doe
Costa J Nestle
Octavia X Maclead
Stacey A Malet
Antonio H Wieser
Aditya Y Gaucho
Salvatore Q Doe
Leon M Dilliard
Salvatore T Briddick
Jefferson F Foller
IdCountryDate
1000Canada2024-05-18
1001Canada2024-05-22
1002Russia2024-06-13
1003Spain2024-06-12
1004Australia2024-05-31
1005Australia2024-05-17
1006Spain2024-05-31
1007Japan2024-06-04
1008France2024-06-11
1009Spain2024-05-17
1010United Kingdom2024-05-15
1011Brazil2024-05-21
1012Australia2024-05-23
1013Germany2024-05-26
1014Australia2024-06-04
1015France2024-06-03
1016Japan2024-05-24
1017France2024-05-16
1018Japan2024-05-29
1019United Kingdom2024-06-06
1020Argentina2024-05-31
1021India2024-05-16
1022Russia2024-05-16
1023Brazil2024-05-29
1024United Kingdom2024-05-18
1025Australia2024-06-05
1026United Kingdom2024-06-06
1027Italy2024-06-05
1028United Kingdom2024-06-12
1029India2024-05-17
1030Japan2024-05-26
1031Italy2024-06-13
1032Argentina2024-05-15
1033India2024-06-13
1034Italy2024-05-28
1035United Kingdom2024-05-19
1036Australia2024-05-17
1037Brazil2024-05-30
1038Japan2024-06-09
1039Australia2024-06-08
1040Russia2024-05-23
1041Australia2024-06-06
1042Japan2024-06-12
1043Spain2024-05-19
1044Spain2024-05-29
1045Japan2024-05-22
1046Brazil2024-05-25
1047Germany2024-05-28
1048Argentina2024-05-16
1049Brazil2024-06-05

On-Demand Data

NameIdCountryDate
Emily P Amigon1000United Kingdom2024-06-09
Adams A Glick1001Russia2024-06-03
Clifford T Ruta1002Italy2024-05-19
Sinclair F Shinko1003France2024-06-09
Aruna M Caldarera1004Italy2024-05-28
Alejandro L Kusko1005France2024-06-03
Murillo D Poquette1006Canada2024-06-04
Juan T Schemmer1007Russia2024-06-05
Stacey O Stockham1008India2024-05-19
Darci P Royster1009Germany2024-06-02
Leja M Tollner1010United Kingdom2024-06-03
David L Paprocki1011France2024-05-25
Jennifer W Schemmer1012Russia2024-06-10
Alejandro Z Sergi1013France2024-05-30
Ivar B Inouye1014Spain2024-05-28
Darci R Wieser1015Australia2024-06-05
Chavez O Vocelka1016France2024-05-26
Murillo I Malet1017Spain2024-06-06
Emily Y Foller1018Australia2024-05-16
Ricardo X Venere1019Spain2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin X SergiBrazilXuxue Feng QUALIFIED
Izzy W FlosiItalyElwin Sharvill RENEWAL
Arvin R PerinArgentinaOnyama Limba NEGOTIATION
Francesco K StensethJapanIvan Magalhaes UNQUALIFIED
David W MacleadCanadaAnna Fali NEW
Maria G MacleadIndiaElwin Sharvill NEW
Leon T FollerJapanOnyama Limba UNQUALIFIED
Aruna Y SaylorsJapanBernardo Dominic QUALIFIED
Adams A KuskoGermanyAmy Elsner QUALIFIED
Maisha H GarufiArgentinaAmy Elsner UNQUALIFIED
Jefferson M NickaGermanyOnyama Limba QUALIFIED
Leja M DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem T MacleadItalyOnyama Limba PROPOSAL
Jefferson J FlosiFranceElwin Sharvill NEW
Maria M GarufiArgentinaElwin Sharvill NEGOTIATION
Munro L FerenczAustraliaElwin Sharvill NEGOTIATION
Alejandro N WaycottArgentinaAsiya Javayant QUALIFIED
Deepesh E KuskoIndiaAnna Fali UNQUALIFIED
Chavez O AmigonFranceElwin Sharvill UNQUALIFIED
Morrow K InouyeGermanyAsiya Javayant NEGOTIATION
Ivar P PaprockiSpainIvan Magalhaes NEGOTIATION
Antonio A VocelkaBrazilIoni Bowcher RENEWAL
Cody G WhobreyArgentinaXuxue Feng PROPOSAL
Francesco L BriddickJapanXuxue Feng QUALIFIED
Arvin H ButtCanadaXuxue Feng NEGOTIATION
Alejandro L BologniaFranceStephen Shaw NEGOTIATION
Smith E VenereArgentinaElwin Sharvill NEGOTIATION
Octavia Q MaletIndiaElwin Sharvill NEW
Ivar U DoeBrazilElwin Sharvill RENEWAL
Maisha O ChuiBrazilStephen Shaw QUALIFIED
Claire I MarrierItalyOnyama Limba QUALIFIED
Leon O GauchoRussiaAmy Elsner NEGOTIATION
Faith A TollnerIndiaAmy Elsner NEW
Arvin F NickaArgentinaBernardo Dominic PROPOSAL
David C TollnerItalyAnna Fali NEGOTIATION
Nicolas F MarrierAustraliaElwin Sharvill UNQUALIFIED
Tony K VenereGermanyOnyama Limba QUALIFIED
Alejandro Z MorascaBrazilBernardo Dominic UNQUALIFIED
Chavez C GarufiUnited KingdomAsiya Javayant NEGOTIATION
Kadeem P DilliardFranceAnna Fali NEGOTIATION

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