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
Leja S MarrierGermanyStephen Shaw PROPOSAL
Tony Z SlusarskiBrazilAsiya Javayant NEGOTIATION
Kadeem G SchemmerArgentinaStephen Shaw NEW
Adams W PaprockiArgentinaStephen Shaw UNQUALIFIED
Arvin I ButtFranceOnyama Limba QUALIFIED
James Q GauchoRussiaIvan Magalhaes QUALIFIED
Morrow G BowleyCanadaAnna Fali UNQUALIFIED
Smith G MorascaRussiaBernardo Dominic NEGOTIATION
David H GarufiRussiaElwin Sharvill NEGOTIATION
Maisha D DilliardGermanyStephen Shaw UNQUALIFIED
Murillo H VocelkaItalyOnyama Limba RENEWAL
Francesco J BriddickCanadaIoni Bowcher NEGOTIATION
Emily S WaycottGermanyXuxue Feng NEW
Smith N InouyeIndiaIvan Magalhaes QUALIFIED
Murillo X NestleSpainElwin Sharvill UNQUALIFIED
Darci X MarrierItalyElwin Sharvill NEGOTIATION
Francesco L GlickBrazilAsiya Javayant NEGOTIATION
Stacey Q TollnerRussiaStephen Shaw PROPOSAL
Aruna Z CaldareraFranceXuxue Feng RENEWAL
Juan H FollerFranceElwin Sharvill NEW
Claire Q CaudyFranceBernardo Dominic NEGOTIATION
Murillo U KuskoIndiaIvan Magalhaes UNQUALIFIED
Murillo V MorascaUnited KingdomOnyama Limba NEW
Adams W FigeroaItalyXuxue Feng QUALIFIED
Jefferson P ChuiIndiaAmy Elsner RENEWAL
James K WhobreySpainBernardo Dominic QUALIFIED
Nicolas D BriddickUnited KingdomElwin Sharvill NEW
Aditya R WhobreyGermanyOnyama Limba PROPOSAL
Darci E PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo E PerinGermanyAsiya Javayant QUALIFIED
Francesco Q MacleadBrazilOnyama Limba QUALIFIED
Emily C OldroydFranceElwin Sharvill NEW
Isabel J GarufiRussiaElwin Sharvill UNQUALIFIED
Faith W BriddickJapanStephen Shaw UNQUALIFIED
Aika B WhobreyRussiaXuxue Feng PROPOSAL
Francesco Y WhobreyUnited KingdomElwin Sharvill RENEWAL
Faith X AmigonRussiaOnyama Limba UNQUALIFIED
Darci J FollerArgentinaIvan Magalhaes NEW
Ashley H FerenczJapanXuxue Feng NEGOTIATION
Silvio A SlusarskiRussiaStephen Shaw NEW
Jones Y SchemmerRussiaAmy Elsner RENEWAL
Francesco H KuskoRussiaIoni Bowcher RENEWAL
Silvio P StensethCanadaXuxue Feng UNQUALIFIED
Claire Y IturbideRussiaAsiya Javayant PROPOSAL
Chavez A BowleyArgentinaAsiya Javayant NEW
Leon G SlusarskiFranceIvan Magalhaes NEW
Mujtaba H PaprockiSpainAnna Fali PROPOSAL
Jones Y CampainAustraliaIoni Bowcher NEGOTIATION
Jennifer M CaudyFranceAmy Elsner NEGOTIATION
James J CampainIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha O PerinGermanyElwin Sharvill RENEWAL
Darci G OldroydArgentinaIvan Magalhaes QUALIFIED
Julie R NestleUnited KingdomAmy Elsner NEW
Stacey L NickaJapanIoni Bowcher UNQUALIFIED
Octavia U RutaArgentinaBernardo Dominic PROPOSAL
Stacey B DilliardItalyXuxue Feng PROPOSAL
Silvio O VenereGermanyAnna Fali UNQUALIFIED
Nicolas X ChuiBrazilAnna Fali UNQUALIFIED
Mayumi W MaletAustraliaIoni Bowcher RENEWAL
Emily H RutaRussiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio H SlusarskiItaly2024-06-05Buckley Miller Wright NEGOTIATION38Ivan Magalhaes
1001Munro N SaylorsItaly2024-06-06King, Christopher A Esq QUALIFIED40Amy Elsner
1002Greenwood K TollnerItaly2024-06-11King, Christopher A Esq UNQUALIFIED95Anna Fali
1003Mujtaba I GillianArgentina2024-06-08Dorl, James J Esq RENEWAL66Ivan Magalhaes
1004Jones C AmigonRussia2024-06-04Feltz Printing Service PROPOSAL13Stephen Shaw
1005Juan E WieserFrance2024-06-03Morlong Associates NEW4Bernardo Dominic
1006Julie J StensethJapan2024-06-13King, Christopher A Esq RENEWAL44Xuxue Feng
1007Mujtaba X StensethBrazil2024-05-28Truhlar And Truhlar Attys UNQUALIFIED2Anna Fali
1008Clifford V KuskoBrazil2024-06-05Morlong Associates QUALIFIED54Asiya Javayant
1009Costa K ButtJapan2024-06-01Truhlar And Truhlar Attys UNQUALIFIED16Onyama Limba
1010Costa X NickaArgentina2024-06-10Truhlar And Truhlar Attys RENEWAL62Xuxue Feng
1011Leon N IturbideJapan2024-06-08Feiner Bros PROPOSAL31Amy Elsner
1012Julie A DilliardRussia2024-06-21Benton, John B Jr RENEWAL46Amy Elsner
1013Maisha F AlbaresSpain2024-06-21Rousseaux, Michael Esq NEGOTIATION55Bernardo Dominic
1014Leja P FigeroaFrance2024-06-14Chemel, James L Cpa QUALIFIED81Xuxue Feng
1015Isabel T RutaRussia2024-05-28Printing Dimensions QUALIFIED36Onyama Limba
1016Julie V PerinFrance2024-05-27Feiner Bros UNQUALIFIED17Onyama Limba
1017Adams M PoquetteUnited Kingdom2024-06-02Commercial Press UNQUALIFIED15Amy Elsner
1018Francesco T WieserUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL79Stephen Shaw
1019Alejandro J WieserRussia2024-06-01Morlong Associates QUALIFIED30Anna Fali
1020Deepesh I CampainBrazil2024-06-17Morlong Associates RENEWAL91Elwin Sharvill
1021Jefferson C CaldareraIndia2024-06-19Dorl, James J Esq PROPOSAL66Anna Fali
1022Costa H SlusarskiArgentina2024-06-15Benton, John B Jr NEGOTIATION81Stephen Shaw
1023Kaitlin G FigeroaIndia2024-06-10Rangoni Of Florence UNQUALIFIED85Onyama Limba
1024Rodrigues M NestleJapan2024-06-05Commercial Press QUALIFIED90Bernardo Dominic
1025Aditya W CampainFrance2024-06-01Chemel, James L Cpa NEW65Onyama Limba
1026Aditya M NickaItaly2024-06-20Chapman, Ross E Esq PROPOSAL60Elwin Sharvill
1027Antonio C ShinkoArgentina2024-05-26Dorl, James J Esq PROPOSAL40Ivan Magalhaes
1028Aika T FigeroaJapan2024-06-19Feiner Bros UNQUALIFIED8Amy Elsner
1029Rodrigues U CaudyItaly2024-06-08Rousseaux, Michael Esq RENEWAL41Elwin Sharvill
1030Octavia T MaletSpain2024-06-23Benton, John B Jr QUALIFIED10Xuxue Feng
1031Clifford D SaylorsJapan2024-06-14Commercial Press RENEWAL89Anna Fali
1032Sinclair A CaldareraFrance2024-06-19Truhlar And Truhlar Attys NEGOTIATION80Onyama Limba
1033David G DarakjyIndia2024-06-15Commercial Press PROPOSAL62Xuxue Feng
1034Misaki A StockhamBrazil2024-05-27Commercial Press NEGOTIATION87Stephen Shaw
1035Smith W CampainRussia2024-06-19King, Christopher A Esq UNQUALIFIED60Anna Fali
1036Jones P PoquetteArgentina2024-06-11Commercial Press NEW87Bernardo Dominic
1037Johnson S BologniaItaly2024-06-24Rangoni Of Florence PROPOSAL87Ivan Magalhaes
1038James F ChuiRussia2024-06-20King, Christopher A Esq QUALIFIED0Ivan Magalhaes
1039Izzy K ShinkoBrazil2024-05-30Morlong Associates RENEWAL2Ivan Magalhaes
1040Maria N RutaGermany2024-05-30Rousseaux, Michael Esq PROPOSAL6Stephen Shaw
1041Jennifer C CampainIndia2024-06-16Feltz Printing Service QUALIFIED14Ioni Bowcher
1042Ashley P TollnerSpain2024-06-24Commercial Press RENEWAL28Xuxue Feng
1043Juan V DarakjyIndia2024-05-31Feiner Bros RENEWAL45Elwin Sharvill
1044Leon R GlickSpain2024-06-17Printing Dimensions NEGOTIATION36Onyama Limba
1045Isabel Z VocelkaGermany2024-05-26Feiner Bros UNQUALIFIED15Xuxue Feng
1046Misaki Z KolmetzJapan2024-06-18Buckley Miller Wright NEW51Anna Fali
1047Nicolas J KolmetzRussia2024-06-11Feltz Printing Service NEW16Xuxue Feng
1048Rodrigues A BologniaGermany2024-06-08Commercial Press NEW64Anna Fali
1049David M StockhamSpain2024-06-01Chapman, Ross E Esq QUALIFIED32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Francesco X FollerUnited KingdomXuxue Feng RENEWAL
Aditya D PaprockiRussiaIoni Bowcher NEGOTIATION
Jones B GillianBrazilOnyama Limba UNQUALIFIED
Sinclair Z NestleFranceIvan Magalhaes PROPOSAL
Jefferson Q SchemmerCanadaElwin Sharvill NEGOTIATION
Leja W WieserAustraliaXuxue Feng QUALIFIED
Antonio X KolmetzSpainBernardo Dominic NEGOTIATION
Maria Z SergiArgentinaIvan Magalhaes UNQUALIFIED
Nicolas Z InouyeGermanyIoni Bowcher QUALIFIED
Deepesh W KuskoGermanyAsiya Javayant QUALIFIED
Juan M SaylorsAustraliaStephen Shaw NEW
Jennifer N AmigonRussiaAmy Elsner RENEWAL
Johnson G FollerItalyAnna Fali PROPOSAL
Morrow T RulapaughAustraliaStephen Shaw RENEWAL
Wickens G BriddickIndiaElwin Sharvill UNQUALIFIED
Octavia W CaudyArgentinaStephen Shaw PROPOSAL
Rodrigues T VenereRussiaElwin Sharvill QUALIFIED
Silvio K SaylorsFranceIoni Bowcher RENEWAL
Isabel N RutaGermanyStephen Shaw NEGOTIATION
Costa L CampainUnited KingdomAmy Elsner PROPOSAL
Wickens H KolmetzSpainIvan Magalhaes NEW
Munro V WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Aika K AmigonSpainAsiya Javayant RENEWAL
Leon Q MacleadJapanAsiya Javayant QUALIFIED
Aika N BriddickCanadaAmy Elsner NEGOTIATION
Francesco P RoysterJapanAnna Fali RENEWAL
Chavez N MarrierJapanXuxue Feng QUALIFIED
Mujtaba B FerenczFranceIoni Bowcher QUALIFIED
Aruna Y ShinkoFranceIoni Bowcher NEGOTIATION
Chavez E MarrierArgentinaStephen Shaw RENEWAL
Izzy B FollerGermanyAmy Elsner QUALIFIED
Morrow T TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Murillo D RimArgentinaAsiya Javayant PROPOSAL
Arvin T RutaRussiaOnyama Limba NEGOTIATION
Wickens Z CampainCanadaElwin Sharvill PROPOSAL
Deepesh K MaletArgentinaElwin Sharvill UNQUALIFIED
Murillo M RoysterGermanyAnna Fali NEGOTIATION
Salvatore U RulapaughUnited KingdomIoni Bowcher NEW
Smith M StensethArgentinaBernardo Dominic NEGOTIATION
Nicolas Y AlbaresCanadaAmy Elsner RENEWAL
Cody P DilliardCanadaAmy Elsner PROPOSAL
David Q VenereIndiaIvan Magalhaes NEGOTIATION
Maisha Z SergiArgentinaAsiya Javayant NEGOTIATION
Isabel Q FollerArgentinaIvan Magalhaes QUALIFIED
Chavez H MarrierGermanyAmy Elsner UNQUALIFIED
Kadeem V StensethJapanOnyama Limba UNQUALIFIED
Aika M RutaJapanStephen Shaw UNQUALIFIED
Claire Z SaylorsBrazilAsiya Javayant NEGOTIATION
Ashley D StockhamAustraliaIoni Bowcher QUALIFIED
Stacey K StensethArgentinaIoni Bowcher RENEWAL
Frozen Columns
Name
Maria H Royster
Salvatore K Butt
Ivar N Vocelka
James J Albares
Jeanfrancois T Chui
Kaitlin O Morasca
Alejandro O Albares
Silvio V Rim
Johnson P Rulapaugh
Smith Z Whobrey
Jennifer Y Oldroyd
Alejandro R Waycott
Kaitlin C Rim
Munro H Chui
Ricardo X Oldroyd
Ivar H Gaucho
Maria R Slusarski
Izzy F Kolmetz
Jones D Nicka
Juan F Maclead
Faith M Royster
Kadeem X Kusko
Jefferson C Ostrosky
Chavez Y Figeroa
Cody N Doe
Aruna A Inouye
Salvatore T Saylors
Aruna W Inouye
Julie W Briddick
Ashley O Nicka
Darci Z Gaucho
Jones B Ferencz
Isabel C Darakjy
Nicolas L Amigon
Claire H Caldarera
Francesco O Ferencz
Johnson V Stockham
Aruna B Flosi
Julie D Rim
Arvin S Saylors
Tony F Tollner
Emily K Schemmer
Isabel B Kolmetz
David U Perin
Isabel U Chui
Johnson G Doe
Francesco U Dilliard
Wickens W Figeroa
Salvatore P Gillian
Faith S Doe
IdCountryDate
1000Spain2024-05-30
1001Brazil2024-06-04
1002United Kingdom2024-05-30
1003Italy2024-06-14
1004Canada2024-06-20
1005United Kingdom2024-06-12
1006Germany2024-06-07
1007Italy2024-06-09
1008Canada2024-06-19
1009France2024-06-03
1010India2024-06-12
1011India2024-05-26
1012Canada2024-06-08
1013Japan2024-05-29
1014Germany2024-06-02
1015France2024-06-14
1016India2024-06-19
1017Japan2024-06-24
1018Japan2024-05-31
1019India2024-06-04
1020France2024-06-09
1021France2024-06-15
1022France2024-05-26
1023India2024-06-22
1024United Kingdom2024-06-19
1025Spain2024-06-23
1026France2024-06-15
1027United Kingdom2024-06-15
1028Canada2024-06-08
1029Germany2024-06-22
1030United Kingdom2024-06-12
1031Italy2024-06-10
1032Japan2024-06-23
1033Germany2024-06-05
1034Japan2024-06-08
1035Japan2024-05-26
1036France2024-05-28
1037Japan2024-05-28
1038Argentina2024-06-08
1039India2024-06-05
1040Canada2024-06-10
1041Italy2024-06-14
1042Canada2024-06-05
1043Japan2024-06-09
1044Canada2024-06-06
1045Brazil2024-06-19
1046Russia2024-06-22
1047Italy2024-05-29
1048France2024-05-30
1049Spain2024-06-17

On-Demand Data

NameIdCountryDate
Octavia U Marrier1000Brazil2024-06-19
Sinclair L Gaucho1001Germany2024-06-16
David W Butt1002Canada2024-06-23
Rodrigues W Inouye1003Australia2024-06-13
Juan K Doe1004Canada2024-05-26
Smith Q Amigon1005Australia2024-06-05
Jennifer C Paprocki1006Italy2024-06-18
Smith C Marrier1007United Kingdom2024-05-29
Jeanfrancois N Perin1008Australia2024-06-10
Deepesh Q Flosi1009Brazil2024-06-07
Salvatore J Caldarera1010Japan2024-06-15
Deepesh G Ruta1011France2024-06-09
Munro Q Caldarera1012Japan2024-05-29
Johnson F Royster1013Argentina2024-06-12
Rodrigues B Dilliard1014Italy2024-06-08
Salvatore D Bolognia1015India2024-06-15
Isabel T Marrier1016United Kingdom2024-06-19
Mujtaba R Saylors1017Spain2024-05-30
Adams H Rim1018Italy2024-05-30
Juan J Stenseth1019Canada2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy S NickaIndiaBernardo Dominic NEW
Jefferson X MaletIndiaIvan Magalhaes NEW
Julie I RimCanadaIoni Bowcher NEW
Francesco D NickaBrazilIoni Bowcher NEW
Leja P WhobreyIndiaAmy Elsner NEGOTIATION
Antonio D NickaBrazilXuxue Feng NEGOTIATION
Nicolas P BologniaUnited KingdomAmy Elsner QUALIFIED
Clifford G WieserFranceStephen Shaw UNQUALIFIED
Ivar K VenereJapanAnna Fali QUALIFIED
Ivar Y WaycottGermanyIvan Magalhaes QUALIFIED
Ashley N PerinGermanyAsiya Javayant PROPOSAL
Darci O BologniaRussiaOnyama Limba UNQUALIFIED
Aika J FigeroaRussiaStephen Shaw NEGOTIATION
Aruna M KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair X RutaCanadaOnyama Limba NEW
Maisha W RoysterIndiaIvan Magalhaes PROPOSAL
Faith L PaprockiArgentinaAsiya Javayant NEW
Wickens K MaletAustraliaAnna Fali QUALIFIED
Rodrigues M GarufiUnited KingdomAmy Elsner QUALIFIED
Stacey J FerenczUnited KingdomBernardo Dominic NEW
Deepesh H KolmetzIndiaIoni Bowcher NEGOTIATION
Maria I BologniaJapanIvan Magalhaes UNQUALIFIED
Maria R AmigonJapanBernardo Dominic NEGOTIATION
Alejandro X AlbaresCanadaAsiya Javayant NEGOTIATION
Leja X FerenczGermanyAsiya Javayant NEW
Isabel V PoquetteItalyAnna Fali NEW
Ivar E OldroydFranceStephen Shaw NEGOTIATION
Johnson P MarrierFranceXuxue Feng NEW
Murillo R WieserSpainXuxue Feng QUALIFIED
Faith E RimAustraliaAnna Fali PROPOSAL
Jennifer Y MorascaSpainXuxue Feng NEW
Munro R WieserJapanXuxue Feng QUALIFIED
Maria Y NestleArgentinaXuxue Feng NEGOTIATION
Darci E SlusarskiIndiaAmy Elsner NEW
Stacey D FigeroaRussiaStephen Shaw NEW
Claire D DarakjyRussiaElwin Sharvill NEW
Clifford H FigeroaItalyAsiya Javayant PROPOSAL
Kadeem E CampainIndiaBernardo Dominic QUALIFIED
Munro E RutaArgentinaIvan Magalhaes NEGOTIATION
James S RimIndiaIoni Bowcher 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>