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 W NickaIndiaAmy Elsner UNQUALIFIED
Aika A RulapaughArgentinaAsiya Javayant RENEWAL
Morrow P WhobreyFranceAnna Fali UNQUALIFIED
Silvio S VocelkaItalyXuxue Feng PROPOSAL
Munro Y GarufiBrazilIvan Magalhaes QUALIFIED
Aruna Q RutaArgentinaXuxue Feng RENEWAL
Nicolas K CampainRussiaAmy Elsner NEW
Kadeem E RoysterBrazilElwin Sharvill NEGOTIATION
Ricardo W InouyeGermanyIoni Bowcher PROPOSAL
Ricardo U WaycottArgentinaAnna Fali RENEWAL
David W ShinkoUnited KingdomIoni Bowcher RENEWAL
Stacey R RimGermanyXuxue Feng QUALIFIED
Octavia M SergiCanadaAsiya Javayant QUALIFIED
Mayumi T SaylorsGermanyIoni Bowcher RENEWAL
David P CampainGermanyXuxue Feng RENEWAL
Francesco F VenereRussiaAnna Fali NEW
Arvin Y DarakjyJapanBernardo Dominic UNQUALIFIED
Ricardo H AlbaresSpainIoni Bowcher NEGOTIATION
Leja H WieserItalyAsiya Javayant UNQUALIFIED
Octavia J OstroskyAustraliaStephen Shaw NEGOTIATION
Emily F ButtJapanElwin Sharvill QUALIFIED
Cody U GarufiFranceStephen Shaw NEGOTIATION
Morrow Z ChuiBrazilElwin Sharvill NEGOTIATION
Emily Z MaletGermanyBernardo Dominic NEW
David N DoeItalyStephen Shaw RENEWAL
Deepesh A MorascaBrazilAnna Fali UNQUALIFIED
Rodrigues O GlickFranceIvan Magalhaes RENEWAL
Kadeem J StensethItalyAnna Fali RENEWAL
James B CampainAustraliaOnyama Limba NEGOTIATION
Leon J DarakjyCanadaAnna Fali NEGOTIATION
Faith Z RimCanadaStephen Shaw NEGOTIATION
Silvio X MaletIndiaBernardo Dominic PROPOSAL
David C FollerFranceOnyama Limba NEW
Johnson Y VenereIndiaXuxue Feng NEGOTIATION
Wickens P PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore N MacleadBrazilAmy Elsner RENEWAL
Octavia H VenereFranceIoni Bowcher PROPOSAL
Deepesh U TollnerGermanyAnna Fali UNQUALIFIED
Aruna O FerenczRussiaIoni Bowcher PROPOSAL
Silvio J WaycottCanadaOnyama Limba RENEWAL
Clifford S ShinkoBrazilIvan Magalhaes UNQUALIFIED
Morrow O ButtAustraliaBernardo Dominic RENEWAL
Wickens E FlosiJapanIoni Bowcher NEW
Isabel J DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Sinclair T CampainCanadaStephen Shaw UNQUALIFIED
Jennifer W PaprockiBrazilAsiya Javayant QUALIFIED
Julie W AmigonJapanIoni Bowcher NEGOTIATION
Mujtaba S MorascaSpainIoni Bowcher RENEWAL
Rodrigues E AmigonJapanBernardo Dominic QUALIFIED
Clifford U OldroydAustraliaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore N RutaCanadaOnyama Limba UNQUALIFIED
Jones F ButtAustraliaStephen Shaw NEW
Ivar U KuskoAustraliaAmy Elsner NEW
Julie J GillianAustraliaStephen Shaw NEGOTIATION
Misaki C GlickGermanyOnyama Limba PROPOSAL
Juan S FollerRussiaElwin Sharvill UNQUALIFIED
Rodrigues V AmigonAustraliaAnna Fali UNQUALIFIED
Morrow D VenereBrazilStephen Shaw QUALIFIED
Smith Z VenereItalyStephen Shaw NEW
Mayumi Q OstroskySpainIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba H DilliardUnited Kingdom2024-06-23Chanay, Jeffrey A Esq PROPOSAL51Ivan Magalhaes
1001Aruna Z MaletArgentina2024-05-30Rangoni Of Florence NEGOTIATION37Bernardo Dominic
1002Wickens O ChuiRussia2024-06-02Chapman, Ross E Esq NEW59Ivan Magalhaes
1003Octavia K TollnerUnited Kingdom2024-06-06King, Christopher A Esq RENEWAL10Amy Elsner
1004Wickens L WieserArgentina2024-06-19Feltz Printing Service NEW52Ioni Bowcher
1005Cody T OstroskySpain2024-06-02Feiner Bros UNQUALIFIED57Asiya Javayant
1006Faith L StockhamRussia2024-05-29King, Christopher A Esq QUALIFIED34Elwin Sharvill
1007Izzy M DarakjyCanada2024-06-15Morlong Associates NEW73Anna Fali
1008Kaitlin H DarakjyBrazil2024-05-26Buckley Miller Wright NEW32Asiya Javayant
1009Emily S DoeFrance2024-06-17Commercial Press NEW66Xuxue Feng
1010Salvatore W ChuiCanada2024-06-08Commercial Press PROPOSAL29Ioni Bowcher
1011Jones N GauchoBrazil2024-05-31Morlong Associates PROPOSAL42Anna Fali
1012Alejandro Q PerinSpain2024-06-23Chanay, Jeffrey A Esq PROPOSAL9Ivan Magalhaes
1013Aika O SchemmerGermany2024-06-06Printing Dimensions QUALIFIED14Anna Fali
1014Jones X GarufiCanada2024-05-26King, Christopher A Esq PROPOSAL32Stephen Shaw
1015Faith T CaldareraIndia2024-06-20Rangoni Of Florence PROPOSAL42Bernardo Dominic
1016Aruna L RoysterIndia2024-06-01Morlong Associates NEW5Anna Fali
1017David I CampainRussia2024-06-12Chapman, Ross E Esq UNQUALIFIED33Ioni Bowcher
1018Leja J KolmetzUnited Kingdom2024-06-10Feiner Bros PROPOSAL47Xuxue Feng
1019Morrow G BriddickSpain2024-05-29Feiner Bros UNQUALIFIED86Ivan Magalhaes
1020Stacey Y RoysterIndia2024-06-12Feiner Bros RENEWAL30Onyama Limba
1021Cody Y StockhamCanada2024-05-29Printing Dimensions NEW80Anna Fali
1022Izzy R StensethGermany2024-05-28Truhlar And Truhlar Attys UNQUALIFIED65Bernardo Dominic
1023Adams B GillianBrazil2024-06-13Chapman, Ross E Esq QUALIFIED66Ivan Magalhaes
1024Maria P AlbaresJapan2024-05-28Rousseaux, Michael Esq PROPOSAL75Elwin Sharvill
1025Aruna M StensethUnited Kingdom2024-06-20Printing Dimensions NEGOTIATION78Stephen Shaw
1026Maisha J VocelkaGermany2024-06-15Rousseaux, Michael Esq NEGOTIATION31Stephen Shaw
1027Darci H WhobreyJapan2024-06-17Chanay, Jeffrey A Esq NEW17Bernardo Dominic
1028Cody C CampainJapan2024-06-02Buckley Miller Wright NEW14Stephen Shaw
1029Octavia O NestleAustralia2024-05-29King, Christopher A Esq NEGOTIATION46Xuxue Feng
1030Leja U RutaCanada2024-06-18King, Christopher A Esq NEGOTIATION8Xuxue Feng
1031Misaki U BriddickArgentina2024-06-06Chanay, Jeffrey A Esq QUALIFIED31Xuxue Feng
1032Jeanfrancois F RimIndia2024-06-22Rousseaux, Michael Esq UNQUALIFIED22Elwin Sharvill
1033Misaki W CaldareraUnited Kingdom2024-06-20Truhlar And Truhlar Attys PROPOSAL63Xuxue Feng
1034Jones M FerenczBrazil2024-06-21King, Christopher A Esq RENEWAL98Stephen Shaw
1035Greenwood W DarakjyGermany2024-06-06Rangoni Of Florence NEW19Elwin Sharvill
1036Tony M MaletUnited Kingdom2024-06-01Commercial Press RENEWAL37Xuxue Feng
1037Greenwood R GauchoCanada2024-05-27Rangoni Of Florence UNQUALIFIED8Ivan Magalhaes
1038David N PoquetteUnited Kingdom2024-06-15Printing Dimensions RENEWAL57Ioni Bowcher
1039Ivar V WaycottRussia2024-06-05King, Christopher A Esq QUALIFIED47Asiya Javayant
1040Cody J VocelkaFrance2024-05-25Buckley Miller Wright PROPOSAL8Xuxue Feng
1041Aruna K ChuiAustralia2024-06-03Commercial Press NEW16Amy Elsner
1042Jefferson A MaletAustralia2024-06-03Feltz Printing Service QUALIFIED43Onyama Limba
1043Salvatore M KuskoJapan2024-06-11King, Christopher A Esq UNQUALIFIED74Onyama Limba
1044Claire Q VocelkaUnited Kingdom2024-06-14Morlong Associates UNQUALIFIED22Onyama Limba
1045Mujtaba U NickaFrance2024-05-29Rangoni Of Florence PROPOSAL20Amy Elsner
1046Johnson F CampainArgentina2024-06-16Benton, John B Jr NEGOTIATION49Anna Fali
1047Mujtaba J BriddickJapan2024-06-09Dorl, James J Esq RENEWAL14Xuxue Feng
1048Darci F RoysterGermany2024-06-23Feiner Bros RENEWAL97Xuxue Feng
1049James H CaudyArgentina2024-06-20Buckley Miller Wright NEGOTIATION6Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy P OldroydIndiaBernardo Dominic NEGOTIATION
Aditya D KolmetzArgentinaAnna Fali NEW
Aruna G ButtItalyAnna Fali NEGOTIATION
Smith E NickaArgentinaIvan Magalhaes UNQUALIFIED
Adams J SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Octavia F SchemmerRussiaAnna Fali NEW
Jeanfrancois Z GillianGermanyBernardo Dominic UNQUALIFIED
Wickens M VenereIndiaAnna Fali NEGOTIATION
Munro W GillianGermanyAmy Elsner UNQUALIFIED
Leja R StensethItalyAnna Fali RENEWAL
Alejandro H PerinUnited KingdomAnna Fali QUALIFIED
Darci S VocelkaCanadaAnna Fali QUALIFIED
Silvio Z AmigonIndiaAnna Fali UNQUALIFIED
Antonio B ShinkoCanadaOnyama Limba QUALIFIED
Sinclair J StockhamAustraliaStephen Shaw RENEWAL
Sinclair Z BowleyUnited KingdomXuxue Feng UNQUALIFIED
Jones X RimBrazilAsiya Javayant UNQUALIFIED
Kaitlin U KolmetzAustraliaAnna Fali UNQUALIFIED
Murillo J InouyeRussiaIoni Bowcher NEGOTIATION
Emily T WaycottSpainStephen Shaw RENEWAL
Stacey L WhobreyFranceAmy Elsner PROPOSAL
Maria D DoeBrazilElwin Sharvill NEGOTIATION
Johnson V KolmetzSpainIvan Magalhaes NEW
Sinclair C CaldareraRussiaElwin Sharvill UNQUALIFIED
Rodrigues X InouyeFranceAnna Fali UNQUALIFIED
Silvio M KolmetzItalyStephen Shaw QUALIFIED
Aditya Y FigeroaCanadaStephen Shaw UNQUALIFIED
Claire F SchemmerRussiaAsiya Javayant PROPOSAL
Antonio W DarakjyUnited KingdomIvan Magalhaes RENEWAL
Kaitlin G FlosiArgentinaXuxue Feng QUALIFIED
Jeanfrancois M FlosiJapanIvan Magalhaes PROPOSAL
Mujtaba Y IturbideArgentinaIvan Magalhaes UNQUALIFIED
Isabel A PerinJapanAsiya Javayant PROPOSAL
Stacey S DilliardIndiaIvan Magalhaes NEGOTIATION
Tony J TollnerItalyAmy Elsner UNQUALIFIED
Isabel E WaycottBrazilIvan Magalhaes NEW
Leon I BologniaRussiaXuxue Feng QUALIFIED
Murillo P OstroskyRussiaBernardo Dominic NEGOTIATION
Ricardo X KolmetzFranceIvan Magalhaes NEGOTIATION
Darci J MaletRussiaOnyama Limba NEW
Izzy F CampainJapanBernardo Dominic NEGOTIATION
Darci A KolmetzRussiaIoni Bowcher QUALIFIED
Nicolas C MaletGermanyAmy Elsner UNQUALIFIED
Ivar N MorascaSpainElwin Sharvill NEGOTIATION
Antonio L IturbideArgentinaIvan Magalhaes QUALIFIED
Kaitlin Q SlusarskiAustraliaAnna Fali NEW
Misaki Q FlosiUnited KingdomAmy Elsner QUALIFIED
James I RoysterSpainOnyama Limba RENEWAL
Greenwood W IturbideBrazilStephen Shaw RENEWAL
Morrow R StockhamAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Munro C Saylors
Ricardo F Maclead
Sinclair B Doe
Johnson H Malet
Izzy A Doe
Aruna A Poquette
Chavez E Rim
Misaki S Campain
Isabel R Rim
Emily B Malet
Tony L Maclead
Jennifer I Waycott
Chavez N Bowley
Misaki S Amigon
Isabel V Sergi
Ashley Z Kusko
Jennifer I Saylors
Adams X Vocelka
Jones Q Marrier
Tony K Iturbide
Morrow T Glick
Aika U Bowley
Clifford Y Briddick
Maisha G Dilliard
Maria M Wieser
Jennifer H Ostrosky
Maisha E Darakjy
Deepesh M Dilliard
Aruna S Stockham
David H Royster
Morrow B Caudy
Leja I Foller
Kaitlin C Bowley
Mujtaba N Venere
Greenwood K Saylors
Alejandro L Slusarski
Izzy Q Caudy
Alejandro C Schemmer
Greenwood S Albares
Wickens U Doe
Ricardo R Shinko
Murillo Y Saylors
Jeanfrancois P Malet
Costa Z Inouye
Clifford P Marrier
Juan M Chui
Aika M Nestle
Costa O Marrier
Claire J Ruta
James M Venere
IdCountryDate
1000France2024-06-21
1001Argentina2024-05-25
1002Australia2024-06-18
1003United Kingdom2024-06-20
1004Russia2024-06-08
1005France2024-05-27
1006Australia2024-06-03
1007Italy2024-06-18
1008Brazil2024-06-13
1009Italy2024-05-30
1010Italy2024-06-12
1011United Kingdom2024-06-22
1012Japan2024-06-04
1013India2024-06-23
1014Australia2024-05-26
1015Germany2024-06-11
1016Japan2024-06-12
1017Germany2024-06-12
1018Italy2024-06-18
1019United Kingdom2024-06-20
1020Russia2024-06-12
1021Japan2024-06-04
1022Russia2024-06-10
1023Japan2024-06-20
1024India2024-06-23
1025Russia2024-05-28
1026Canada2024-05-25
1027Argentina2024-05-28
1028Canada2024-05-26
1029United Kingdom2024-05-25
1030Russia2024-06-07
1031Italy2024-05-31
1032Germany2024-06-14
1033Canada2024-06-19
1034Australia2024-06-17
1035India2024-06-11
1036Argentina2024-06-17
1037Spain2024-06-02
1038Argentina2024-06-19
1039Brazil2024-06-18
1040Canada2024-06-01
1041Russia2024-05-27
1042Germany2024-06-22
1043Japan2024-06-15
1044United Kingdom2024-05-31
1045United Kingdom2024-06-03
1046Japan2024-05-30
1047Japan2024-06-19
1048Russia2024-06-23
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Bowley1000Canada2024-06-04
Aruna V Gillian1001Canada2024-06-15
Kadeem H Butt1002Spain2024-06-10
Silvio W Dilliard1003Italy2024-06-08
Claire Y Stockham1004Spain2024-05-29
Sinclair L Inouye1005Russia2024-06-08
Murillo D Foller1006Argentina2024-06-01
Adams J Royster1007Japan2024-06-13
Misaki M Rim1008France2024-05-25
Jennifer Q Wieser1009Australia2024-06-20
Chavez Z Slusarski1010India2024-06-03
Aruna Z Ostrosky1011Canada2024-06-13
Smith H Morasca1012Japan2024-06-01
Ivar J Whobrey1013Russia2024-06-14
Johnson C Gillian1014Italy2024-06-06
Misaki I Malet1015United Kingdom2024-06-07
Smith H Briddick1016France2024-06-09
Kaitlin J Briddick1017Canada2024-06-14
Clifford E Ostrosky1018Germany2024-06-23
Munro E Whobrey1019France2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody V MorascaJapanAnna Fali RENEWAL
David A TollnerSpainOnyama Limba QUALIFIED
Aruna I VenereUnited KingdomBernardo Dominic QUALIFIED
Aruna K RimItalyAmy Elsner NEW
Aika Q WaycottIndiaIoni Bowcher RENEWAL
Ricardo F PerinAustraliaAmy Elsner PROPOSAL
Murillo T DoeRussiaXuxue Feng NEW
Wickens M StensethArgentinaElwin Sharvill PROPOSAL
Aditya C PaprockiBrazilBernardo Dominic PROPOSAL
Munro D CaudyUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois D NickaSpainIvan Magalhaes NEGOTIATION
Octavia Y InouyeJapanStephen Shaw UNQUALIFIED
Chavez M GlickGermanyBernardo Dominic NEW
James V NickaItalyOnyama Limba NEGOTIATION
Nicolas B MarrierBrazilBernardo Dominic NEW
Aditya Z DoeBrazilOnyama Limba QUALIFIED
Chavez F FollerJapanAsiya Javayant NEGOTIATION
Mujtaba E KuskoGermanyElwin Sharvill RENEWAL
Maisha N OstroskyAustraliaElwin Sharvill NEW
Arvin U RimCanadaElwin Sharvill UNQUALIFIED
Alejandro J InouyeGermanyOnyama Limba NEW
Ashley C IturbideUnited KingdomIoni Bowcher QUALIFIED
Morrow X ChuiSpainStephen Shaw NEGOTIATION
Salvatore F StockhamCanadaStephen Shaw UNQUALIFIED
Greenwood P FollerUnited KingdomStephen Shaw QUALIFIED
Adams W SergiCanadaIoni Bowcher UNQUALIFIED
Leon D SchemmerSpainAnna Fali RENEWAL
Salvatore H InouyeGermanyOnyama Limba RENEWAL
Leon Q FollerItalyOnyama Limba PROPOSAL
Alejandro K StensethCanadaElwin Sharvill RENEWAL
Costa J TollnerIndiaBernardo Dominic QUALIFIED
Deepesh Q RutaBrazilAnna Fali UNQUALIFIED
Costa Z SaylorsJapanAsiya Javayant UNQUALIFIED
James X DilliardItalyOnyama Limba PROPOSAL
Jones R FerenczCanadaIoni Bowcher RENEWAL
Nicolas L PoquetteSpainAmy Elsner NEGOTIATION
Nicolas M FollerAustraliaIoni Bowcher RENEWAL
Wickens Y MorascaSpainOnyama Limba RENEWAL
Leon Z AlbaresBrazilIvan Magalhaes NEW
Nicolas F DilliardCanadaAmy Elsner 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>