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
Faith I FigeroaFranceElwin Sharvill RENEWAL
Isabel J SlusarskiIndiaAsiya Javayant PROPOSAL
Aditya O SchemmerCanadaBernardo Dominic RENEWAL
Maria X MaletIndiaIoni Bowcher QUALIFIED
Aruna N FollerBrazilXuxue Feng NEW
Aika P GarufiCanadaXuxue Feng NEW
Smith K GauchoFranceStephen Shaw RENEWAL
Jeanfrancois X OstroskyGermanyAsiya Javayant UNQUALIFIED
Jefferson F RutaJapanStephen Shaw QUALIFIED
Smith N RutaBrazilBernardo Dominic UNQUALIFIED
Izzy T NickaItalyXuxue Feng UNQUALIFIED
Francesco Z KuskoGermanyIoni Bowcher NEGOTIATION
Munro F AlbaresCanadaBernardo Dominic NEGOTIATION
Murillo N ShinkoIndiaStephen Shaw NEW
Ivar E PoquetteIndiaIoni Bowcher UNQUALIFIED
Ashley W MacleadSpainAsiya Javayant PROPOSAL
Silvio K SchemmerSpainAsiya Javayant RENEWAL
Costa I GauchoItalyAnna Fali RENEWAL
Murillo W CaudyFranceBernardo Dominic PROPOSAL
Kaitlin L IturbideItalyIoni Bowcher NEW
Antonio U BowleyFranceOnyama Limba QUALIFIED
Kaitlin M PoquetteItalyXuxue Feng QUALIFIED
Darci P MaletGermanyBernardo Dominic QUALIFIED
Ivar C MaletJapanAnna Fali UNQUALIFIED
Sinclair A StockhamArgentinaElwin Sharvill UNQUALIFIED
Kaitlin W AlbaresRussiaIvan Magalhaes NEW
Clifford S RimGermanyXuxue Feng NEW
Aditya W BologniaRussiaAmy Elsner NEGOTIATION
Murillo D SchemmerJapanAmy Elsner QUALIFIED
Stacey W FollerUnited KingdomElwin Sharvill NEW
Claire Q RoysterFranceOnyama Limba QUALIFIED
Izzy O RutaUnited KingdomElwin Sharvill NEGOTIATION
Maisha V CampainJapanAnna Fali NEW
Juan U TollnerGermanyAmy Elsner NEW
Antonio F ChuiArgentinaOnyama Limba PROPOSAL
Faith O VenereGermanyAnna Fali QUALIFIED
Greenwood J CaudyItalyIoni Bowcher PROPOSAL
Salvatore J CaudyBrazilXuxue Feng NEW
Jennifer S MacleadGermanyXuxue Feng QUALIFIED
Sinclair B KuskoItalyOnyama Limba UNQUALIFIED
Smith O CaldareraAustraliaBernardo Dominic PROPOSAL
Johnson F OstroskyRussiaIoni Bowcher PROPOSAL
Juan H FerenczJapanStephen Shaw NEW
Clifford E KolmetzArgentinaElwin Sharvill UNQUALIFIED
Silvio K MaletUnited KingdomXuxue Feng PROPOSAL
Claire I StensethFranceIoni Bowcher PROPOSAL
Jefferson A ShinkoSpainIvan Magalhaes NEW
Arvin Q RulapaughIndiaOnyama Limba PROPOSAL
Murillo H OstroskyJapanIvan Magalhaes NEW
Isabel K WieserItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey O FigeroaCanadaAmy Elsner RENEWAL
Mayumi U SlusarskiGermanyElwin Sharvill NEGOTIATION
Leon M FollerSpainElwin Sharvill PROPOSAL
James G ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Juan G PerinAustraliaStephen Shaw PROPOSAL
Ricardo E IturbideIndiaOnyama Limba NEGOTIATION
Darci E PoquetteGermanyElwin Sharvill NEW
Antonio N MaletSpainStephen Shaw RENEWAL
Mujtaba Z PoquetteItalyIvan Magalhaes NEW
Munro Z SchemmerAustraliaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro R WieserUnited Kingdom2024-05-17Feltz Printing Service RENEWAL8Xuxue Feng
1001Mujtaba C PaprockiItaly2024-05-09Rousseaux, Michael Esq UNQUALIFIED0Xuxue Feng
1002Adams U SchemmerUnited Kingdom2024-05-26Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1003Izzy H AlbaresCanada2024-05-17Buckley Miller Wright NEW15Asiya Javayant
1004Maisha Y RoysterIndia2024-05-03Chemel, James L Cpa NEW78Elwin Sharvill
1005Munro M ButtItaly2024-05-13King, Christopher A Esq RENEWAL50Stephen Shaw
1006Kaitlin L NestleGermany2024-05-05Chapman, Ross E Esq UNQUALIFIED78Stephen Shaw
1007Francesco H MarrierBrazil2024-05-26Benton, John B Jr PROPOSAL95Onyama Limba
1008Munro S DarakjyIndia2024-05-24Feiner Bros UNQUALIFIED9Bernardo Dominic
1009Leon B GauchoArgentina2024-05-15Chemel, James L Cpa PROPOSAL22Xuxue Feng
1010Morrow I TollnerBrazil2024-05-27Feltz Printing Service NEGOTIATION25Stephen Shaw
1011Ivar R TollnerRussia2024-05-03Rangoni Of Florence PROPOSAL39Xuxue Feng
1012Faith M ChuiGermany2024-05-15Dorl, James J Esq NEGOTIATION67Stephen Shaw
1013Smith X CampainRussia2024-05-22Rousseaux, Michael Esq NEGOTIATION27Elwin Sharvill
1014Tony M ButtCanada2024-05-05Morlong Associates NEGOTIATION56Bernardo Dominic
1015Jennifer J WaycottBrazil2024-05-02Feiner Bros QUALIFIED13Asiya Javayant
1016Mayumi I NestleAustralia2024-05-23Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1017Aditya W CampainRussia2024-05-12Chemel, James L Cpa NEW51Onyama Limba
1018Isabel G WhobreyGermany2024-05-05King, Christopher A Esq UNQUALIFIED38Elwin Sharvill
1019Adams W DoeFrance2024-05-21Chapman, Ross E Esq UNQUALIFIED73Anna Fali
1020Aruna P GillianUnited Kingdom2024-05-13Chapman, Ross E Esq NEW88Onyama Limba
1021Wickens K FerenczCanada2024-05-28Printing Dimensions RENEWAL52Bernardo Dominic
1022Wickens K MaletCanada2024-05-21King, Christopher A Esq RENEWAL47Asiya Javayant
1023Rodrigues C BriddickIndia2024-05-13Morlong Associates UNQUALIFIED44Bernardo Dominic
1024Stacey G RoysterUnited Kingdom2024-05-11King, Christopher A Esq PROPOSAL90Amy Elsner
1025Deepesh Q VocelkaGermany2024-05-07Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1026Jones A MarrierItaly2024-05-05Truhlar And Truhlar Attys RENEWAL29Anna Fali
1027Murillo M WieserAustralia2024-05-06Chemel, James L Cpa RENEWAL76Xuxue Feng
1028Mujtaba E VocelkaIndia2024-05-22Chapman, Ross E Esq RENEWAL16Amy Elsner
1029Kaitlin O BologniaFrance2024-05-07Dorl, James J Esq QUALIFIED97Onyama Limba
1030Wickens G PoquetteRussia2024-05-09Dorl, James J Esq UNQUALIFIED70Ioni Bowcher
1031Arvin L OldroydAustralia2024-05-05Buckley Miller Wright QUALIFIED49Amy Elsner
1032Smith X GarufiCanada2024-05-16Printing Dimensions PROPOSAL37Stephen Shaw
1033Aika D GillianCanada2024-05-22King, Christopher A Esq QUALIFIED12Bernardo Dominic
1034Jennifer R FerenczCanada2024-05-12Benton, John B Jr NEGOTIATION81Ivan Magalhaes
1035Claire O InouyeFrance2024-05-11Morlong Associates NEGOTIATION96Ivan Magalhaes
1036Aruna M MacleadItaly2024-05-08Benton, John B Jr NEGOTIATION10Ivan Magalhaes
1037Antonio K ChuiGermany2024-05-28Rangoni Of Florence PROPOSAL4Stephen Shaw
1038Costa W MarrierIndia2024-05-21Commercial Press NEW55Onyama Limba
1039Cody Q MacleadGermany2024-05-04Morlong Associates RENEWAL40Amy Elsner
1040Johnson Z BowleyGermany2024-05-23Rangoni Of Florence QUALIFIED43Anna Fali
1041Aika J MaletJapan2024-05-19Feltz Printing Service QUALIFIED50Bernardo Dominic
1042Maisha X KolmetzCanada2024-05-08Truhlar And Truhlar Attys NEGOTIATION86Ivan Magalhaes
1043Ashley E SaylorsRussia2024-05-24Benton, John B Jr PROPOSAL9Asiya Javayant
1044Darci G MorascaRussia2024-05-10Feiner Bros NEGOTIATION87Stephen Shaw
1045Chavez X SergiBrazil2024-05-17Chapman, Ross E Esq PROPOSAL75Ioni Bowcher
1046Munro Y ChuiRussia2024-05-16Rousseaux, Michael Esq QUALIFIED53Anna Fali
1047Isabel K MacleadSpain2024-05-21Feltz Printing Service NEGOTIATION75Asiya Javayant
1048Munro P FlosiUnited Kingdom2024-05-08Benton, John B Jr PROPOSAL4Elwin Sharvill
1049Octavia S BriddickFrance2024-05-22Printing Dimensions RENEWAL89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki I RoysterIndiaAsiya Javayant NEW
Jennifer W GauchoFranceAsiya Javayant PROPOSAL
Tony A WieserFranceAnna Fali NEW
Sinclair G WhobreyRussiaStephen Shaw NEGOTIATION
Antonio G CaudySpainOnyama Limba NEW
Jones D GillianItalyAnna Fali RENEWAL
Alejandro S SlusarskiGermanyIvan Magalhaes QUALIFIED
Tony W MaletCanadaAmy Elsner NEW
Johnson V GauchoBrazilIoni Bowcher PROPOSAL
Leon A PaprockiGermanyBernardo Dominic NEW
Greenwood Q DarakjyBrazilAsiya Javayant NEW
Chavez E FlosiJapanIoni Bowcher QUALIFIED
Stacey P SaylorsBrazilAsiya Javayant UNQUALIFIED
Aditya G ShinkoFranceBernardo Dominic RENEWAL
Leja I MorascaCanadaIvan Magalhaes NEW
Ivar U RutaFranceBernardo Dominic RENEWAL
Arvin J ButtRussiaAsiya Javayant RENEWAL
Nicolas Q AmigonRussiaAnna Fali RENEWAL
David F DoeGermanyAsiya Javayant RENEWAL
Alejandro Y CaldareraBrazilAsiya Javayant RENEWAL
Jefferson Z StensethItalyXuxue Feng NEW
Francesco T InouyeAustraliaIoni Bowcher NEGOTIATION
Izzy P MaletBrazilElwin Sharvill NEGOTIATION
James F DoeSpainIvan Magalhaes QUALIFIED
Morrow S VocelkaGermanyAmy Elsner PROPOSAL
Mujtaba X MaletItalyIvan Magalhaes QUALIFIED
Leon W OldroydJapanOnyama Limba NEW
Francesco M VocelkaFranceBernardo Dominic RENEWAL
Octavia C CampainItalyStephen Shaw UNQUALIFIED
Cody E BologniaAustraliaIoni Bowcher RENEWAL
Julie W SaylorsItalyBernardo Dominic RENEWAL
Ivar F VenereJapanBernardo Dominic NEGOTIATION
Misaki J KolmetzArgentinaOnyama Limba NEW
Greenwood T FlosiRussiaOnyama Limba UNQUALIFIED
David S MaletIndiaBernardo Dominic UNQUALIFIED
Jefferson O MaletGermanyStephen Shaw NEW
Morrow V GlickBrazilAsiya Javayant NEW
Ivar G PoquetteItalyStephen Shaw UNQUALIFIED
Stacey X AlbaresIndiaBernardo Dominic UNQUALIFIED
Salvatore B CampainBrazilIoni Bowcher RENEWAL
Silvio F CaudyCanadaIvan Magalhaes NEW
Johnson I NestleFranceIoni Bowcher NEW
Maria R WaycottAustraliaAsiya Javayant RENEWAL
Isabel J SchemmerIndiaAmy Elsner NEGOTIATION
Emily T WaycottBrazilIoni Bowcher QUALIFIED
Munro R MacleadIndiaIoni Bowcher PROPOSAL
Nicolas A InouyeFranceBernardo Dominic NEW
Murillo J NickaArgentinaAnna Fali QUALIFIED
Murillo B FigeroaBrazilIoni Bowcher NEGOTIATION
Juan Y RoysterSpainAnna Fali PROPOSAL
Frozen Columns
Name
Nicolas G Whobrey
Cody A Briddick
Emily Y Bolognia
Ashley A Caldarera
Chavez P Campain
Maisha W Garufi
Antonio V Darakjy
Aruna Q Rulapaugh
Adams T Flosi
James C Poquette
Kaitlin D Garufi
Adams Y Foller
Kaitlin A Glick
Smith V Sergi
Ricardo O Campain
Leja Q Caldarera
Silvio S Caudy
Ricardo R Gaucho
Ashley G Garufi
Misaki R Garufi
Rodrigues U Garufi
Morrow K Amigon
Misaki Z Briddick
Costa W Malet
Francesco K Ostrosky
Antonio C Butt
Smith G Royster
Morrow M Inouye
Julie W Gillian
Leja O Doe
Claire O Inouye
Munro R Doe
Isabel P Caldarera
Darci J Caldarera
Adams Z Dilliard
Octavia R Glick
Izzy G Darakjy
Aruna H Malet
Mujtaba T Bolognia
Julie Q Gillian
Stacey R Butt
Cody P Shinko
Jones L Garufi
Aruna P Ruta
Claire E Dilliard
Jefferson V Maclead
Francesco L Butt
Mujtaba R Maclead
Aditya D Chui
Smith F Albares
IdCountryDate
1000Russia2024-05-12
1001Australia2024-05-11
1002Canada2024-05-10
1003Japan2024-05-26
1004India2024-05-12
1005France2024-05-28
1006Australia2024-05-20
1007India2024-05-18
1008Canada2024-05-24
1009Argentina2024-05-07
1010Spain2024-05-23
1011Japan2024-05-16
1012Italy2024-05-13
1013Italy2024-05-13
1014Brazil2024-05-20
1015Argentina2024-04-29
1016Argentina2024-05-10
1017Japan2024-05-27
1018Australia2024-05-25
1019Australia2024-05-21
1020Russia2024-05-24
1021Australia2024-05-28
1022United Kingdom2024-05-21
1023Italy2024-05-27
1024Germany2024-05-28
1025Germany2024-05-04
1026India2024-05-01
1027Italy2024-05-28
1028France2024-05-15
1029Australia2024-04-29
1030Russia2024-05-15
1031Japan2024-05-07
1032Argentina2024-05-20
1033Spain2024-05-10
1034Brazil2024-05-01
1035Brazil2024-05-21
1036India2024-05-19
1037Canada2024-05-20
1038France2024-05-16
1039United Kingdom2024-05-23
1040Brazil2024-04-29
1041Australia2024-04-30
1042Brazil2024-05-02
1043Australia2024-05-15
1044Spain2024-05-16
1045Japan2024-05-19
1046France2024-04-30
1047Japan2024-04-30
1048United Kingdom2024-05-28
1049Spain2024-05-14

On-Demand Data

NameIdCountryDate
Mujtaba A Amigon1000Japan2024-05-03
Ricardo K Shinko1001Germany2024-05-06
Kadeem Z Rulapaugh1002Russia2024-04-29
Chavez X Saylors1003United Kingdom2024-05-16
Mayumi N Sergi1004Russia2024-05-14
Claire U Gillian1005Japan2024-05-07
Clifford W Chui1006Argentina2024-05-20
Wickens Z Whobrey1007Russia2024-05-08
Julie C Gaucho1008Canada2024-05-17
Julie L Albares1009Japan2024-05-22
Silvio R Foller1010Australia2024-05-06
Munro I Garufi1011United Kingdom2024-05-25
Izzy P Royster1012Italy2024-05-26
Jones M Campain1013Australia2024-05-28
Chavez Y Gaucho1014Italy2024-04-30
Ashley R Gillian1015Russia2024-05-11
Mayumi F Paprocki1016India2024-05-13
Mayumi J Butt1017Spain2024-04-30
Misaki A Oldroyd1018Italy2024-05-05
Octavia U Shinko1019France2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin I RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Munro V OstroskyRussiaXuxue Feng NEGOTIATION
Arvin W SlusarskiGermanyIoni Bowcher RENEWAL
Kadeem L RoysterRussiaXuxue Feng NEW
Cody S BologniaItalyXuxue Feng PROPOSAL
David C IturbideRussiaIvan Magalhaes NEW
Munro O GauchoItalyElwin Sharvill UNQUALIFIED
Alejandro W VocelkaSpainOnyama Limba NEW
Octavia W CaldareraArgentinaAnna Fali NEGOTIATION
Tony E GlickBrazilBernardo Dominic UNQUALIFIED
Adams U RulapaughItalyAnna Fali PROPOSAL
Jones R DoeCanadaOnyama Limba RENEWAL
Salvatore S FigeroaBrazilAmy Elsner NEGOTIATION
Emily V RimAustraliaIoni Bowcher NEGOTIATION
Wickens D GlickUnited KingdomXuxue Feng PROPOSAL
Leja W KolmetzArgentinaBernardo Dominic QUALIFIED
Munro U WaycottArgentinaElwin Sharvill NEW
David F RutaItalyOnyama Limba NEW
Isabel N CaudySpainXuxue Feng RENEWAL
Jennifer D BologniaFranceAnna Fali RENEWAL
Wickens M VenereArgentinaIoni Bowcher PROPOSAL
James P MaletItalyXuxue Feng PROPOSAL
Morrow T CaudyGermanyOnyama Limba QUALIFIED
Stacey D DoeRussiaStephen Shaw NEGOTIATION
Jeanfrancois Q OldroydCanadaStephen Shaw NEGOTIATION
Greenwood A GarufiFranceBernardo Dominic UNQUALIFIED
Emily L SchemmerFranceAmy Elsner QUALIFIED
Silvio K TollnerJapanAmy Elsner PROPOSAL
Arvin X GarufiGermanyXuxue Feng NEGOTIATION
Smith J SergiAustraliaAmy Elsner QUALIFIED
Octavia G BowleyCanadaIvan Magalhaes NEW
Chavez R WaycottUnited KingdomIvan Magalhaes NEW
Nicolas J PaprockiBrazilElwin Sharvill NEW
Adams V FigeroaItalyXuxue Feng UNQUALIFIED
Ivar U CampainIndiaAnna Fali QUALIFIED
Maisha L MacleadRussiaOnyama Limba RENEWAL
Deepesh O ShinkoJapanXuxue Feng UNQUALIFIED
James R CaldareraItalyIoni Bowcher RENEWAL
Wickens N SaylorsIndiaAsiya Javayant NEGOTIATION
Claire P SergiSpainAsiya Javayant 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>