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
Aditya J ButtArgentinaElwin Sharvill UNQUALIFIED
Wickens K MorascaFranceXuxue Feng RENEWAL
Sinclair G GillianBrazilIvan Magalhaes RENEWAL
Adams A AlbaresBrazilAmy Elsner NEGOTIATION
Morrow O InouyeJapanAmy Elsner RENEWAL
Morrow B FerenczCanadaAsiya Javayant NEW
Julie I GillianUnited KingdomOnyama Limba NEGOTIATION
Smith J PoquetteBrazilStephen Shaw NEGOTIATION
Costa I DilliardUnited KingdomBernardo Dominic PROPOSAL
Nicolas N BologniaBrazilAnna Fali RENEWAL
Kaitlin U RimIndiaIoni Bowcher UNQUALIFIED
Greenwood G BowleyFranceAsiya Javayant PROPOSAL
Munro N MarrierItalyAsiya Javayant QUALIFIED
Greenwood M ChuiCanadaAmy Elsner NEW
Antonio E ShinkoArgentinaElwin Sharvill RENEWAL
Jeanfrancois L DoeArgentinaXuxue Feng RENEWAL
Silvio C MaletArgentinaOnyama Limba RENEWAL
Ivar A BriddickFranceAsiya Javayant PROPOSAL
Izzy G SlusarskiCanadaBernardo Dominic NEW
Ricardo U GillianItalyBernardo Dominic PROPOSAL
Munro F SaylorsCanadaIvan Magalhaes PROPOSAL
Misaki K KolmetzArgentinaAmy Elsner NEGOTIATION
Izzy E MarrierUnited KingdomIvan Magalhaes QUALIFIED
Cody U FlosiJapanOnyama Limba NEW
Stacey I PaprockiSpainIvan Magalhaes RENEWAL
Juan B WhobreyJapanIoni Bowcher NEGOTIATION
Claire V GarufiArgentinaIvan Magalhaes UNQUALIFIED
Greenwood L ButtUnited KingdomAnna Fali UNQUALIFIED
Adams R SergiAustraliaElwin Sharvill RENEWAL
Silvio R ChuiFranceElwin Sharvill PROPOSAL
Clifford Q GarufiFranceAsiya Javayant UNQUALIFIED
Leja U PaprockiAustraliaXuxue Feng NEW
Maria E PoquetteFranceAsiya Javayant NEGOTIATION
Cody K GauchoRussiaAsiya Javayant NEGOTIATION
Aditya R FlosiAustraliaBernardo Dominic RENEWAL
Kaitlin M SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Clifford G PerinArgentinaAsiya Javayant NEGOTIATION
Darci B MacleadJapanIvan Magalhaes UNQUALIFIED
Kadeem L CampainUnited KingdomXuxue Feng NEGOTIATION
Aruna F PoquetteCanadaBernardo Dominic QUALIFIED
Emily U InouyeIndiaAsiya Javayant NEW
Mujtaba I CampainItalyIvan Magalhaes PROPOSAL
Jefferson P GarufiIndiaAmy Elsner UNQUALIFIED
Costa I CaldareraSpainElwin Sharvill PROPOSAL
Ricardo R BowleySpainIoni Bowcher UNQUALIFIED
Wickens T OldroydJapanAnna Fali RENEWAL
Salvatore M OstroskyGermanyXuxue Feng NEW
Juan S StensethJapanOnyama Limba RENEWAL
Julie K ShinkoBrazilOnyama Limba NEGOTIATION
Faith U CaudyIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa J PoquetteJapanIvan Magalhaes NEW
Jeanfrancois N MorascaFranceAmy Elsner NEGOTIATION
Mayumi V StensethCanadaAsiya Javayant QUALIFIED
Chavez L BriddickIndiaAnna Fali QUALIFIED
Jones B BologniaUnited KingdomBernardo Dominic NEW
Emily C RulapaughGermanyAnna Fali QUALIFIED
Emily B CaldareraItalyAnna Fali PROPOSAL
Ashley R AlbaresJapanStephen Shaw UNQUALIFIED
Johnson C PaprockiCanadaStephen Shaw RENEWAL
Adams D NestleIndiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson N InouyeUnited Kingdom2024-06-13Benton, John B Jr NEW25Onyama Limba
1001Ricardo Y OldroydCanada2024-06-06Chanay, Jeffrey A Esq RENEWAL81Ioni Bowcher
1002Johnson R CaudyItaly2024-06-22Rangoni Of Florence NEGOTIATION26Ioni Bowcher
1003Ivar D NickaGermany2024-06-14Chemel, James L Cpa PROPOSAL94Anna Fali
1004David Y SergiUnited Kingdom2024-06-03King, Christopher A Esq QUALIFIED64Anna Fali
1005Misaki G MarrierCanada2024-06-10Morlong Associates UNQUALIFIED53Asiya Javayant
1006Clifford I PerinGermany2024-05-31Commercial Press NEW1Asiya Javayant
1007Faith G SergiFrance2024-06-18Chemel, James L Cpa NEGOTIATION65Ivan Magalhaes
1008Aruna K RulapaughCanada2024-06-08King, Christopher A Esq RENEWAL76Anna Fali
1009Octavia L WhobreyArgentina2024-06-21Rangoni Of Florence QUALIFIED77Asiya Javayant
1010David F WaycottGermany2024-05-31Feiner Bros QUALIFIED86Amy Elsner
1011Mayumi T OldroydIndia2024-06-03Feiner Bros NEGOTIATION66Onyama Limba
1012Isabel V StockhamSpain2024-05-26Morlong Associates NEW78Ioni Bowcher
1013Chavez E CaldareraFrance2024-05-26Chemel, James L Cpa QUALIFIED94Asiya Javayant
1014Misaki K FollerSpain2024-06-23Chanay, Jeffrey A Esq RENEWAL22Stephen Shaw
1015James N VenereIndia2024-06-20Printing Dimensions QUALIFIED43Xuxue Feng
1016Mujtaba O AmigonSpain2024-06-10Benton, John B Jr RENEWAL92Asiya Javayant
1017Antonio B GarufiItaly2024-06-03Feiner Bros NEW35Amy Elsner
1018Adams E ShinkoJapan2024-06-10Commercial Press PROPOSAL42Ioni Bowcher
1019Silvio X BologniaJapan2024-06-08Feiner Bros RENEWAL45Stephen Shaw
1020David H CaldareraGermany2024-06-09Printing Dimensions RENEWAL79Bernardo Dominic
1021Sinclair N GlickBrazil2024-06-02Buckley Miller Wright QUALIFIED67Anna Fali
1022Jefferson K PoquetteJapan2024-06-13Morlong Associates RENEWAL6Amy Elsner
1023Juan A SaylorsSpain2024-06-14Truhlar And Truhlar Attys NEW54Asiya Javayant
1024Ivar M StensethSpain2024-05-27Rangoni Of Florence UNQUALIFIED7Ioni Bowcher
1025Cody Z CampainUnited Kingdom2024-06-03Chapman, Ross E Esq QUALIFIED65Onyama Limba
1026Ashley G RimIndia2024-05-31Chemel, James L Cpa PROPOSAL7Elwin Sharvill
1027Deepesh X SergiArgentina2024-06-12Rousseaux, Michael Esq NEW80Stephen Shaw
1028Claire E DoeFrance2024-06-07Morlong Associates NEW61Elwin Sharvill
1029Arvin Y MaletItaly2024-06-20Truhlar And Truhlar Attys RENEWAL34Xuxue Feng
1030Aika H FollerSpain2024-06-15Rousseaux, Michael Esq NEW76Asiya Javayant
1031Izzy S ButtFrance2024-06-04Dorl, James J Esq NEGOTIATION71Asiya Javayant
1032Ivar L PerinItaly2024-05-30Truhlar And Truhlar Attys PROPOSAL14Amy Elsner
1033Adams B PaprockiArgentina2024-06-02Commercial Press NEGOTIATION63Bernardo Dominic
1034Octavia D VenereFrance2024-06-23Commercial Press PROPOSAL26Xuxue Feng
1035Nicolas G ShinkoCanada2024-06-20Feltz Printing Service RENEWAL87Amy Elsner
1036Ricardo Q CaldareraCanada2024-06-22Morlong Associates NEGOTIATION99Stephen Shaw
1037Chavez E GillianUnited Kingdom2024-05-30Commercial Press NEW76Onyama Limba
1038Misaki Z MaletIndia2024-06-11Dorl, James J Esq NEW61Asiya Javayant
1039Mujtaba R NestleCanada2024-06-08Benton, John B Jr QUALIFIED45Bernardo Dominic
1040Julie T SchemmerAustralia2024-05-25Feiner Bros NEGOTIATION87Amy Elsner
1041Misaki D GlickIndia2024-06-16Chapman, Ross E Esq RENEWAL66Ivan Magalhaes
1042Chavez Q BriddickAustralia2024-06-11Buckley Miller Wright QUALIFIED43Bernardo Dominic
1043Jefferson O NickaFrance2024-06-12Chapman, Ross E Esq UNQUALIFIED22Stephen Shaw
1044Francesco N RimFrance2024-06-17Truhlar And Truhlar Attys UNQUALIFIED6Ivan Magalhaes
1045Mujtaba V PoquetteRussia2024-06-23Chapman, Ross E Esq RENEWAL46Elwin Sharvill
1046Sinclair A SlusarskiItaly2024-05-30Chemel, James L Cpa NEW59Xuxue Feng
1047Munro N SaylorsFrance2024-06-21Chemel, James L Cpa NEW12Xuxue Feng
1048Mayumi W AmigonGermany2024-06-07Rousseaux, Michael Esq UNQUALIFIED56Ioni Bowcher
1049Kadeem Z DarakjyIndia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED32Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio L MaletJapanStephen Shaw NEW
Smith O WaycottIndiaAsiya Javayant PROPOSAL
Tony P DilliardSpainStephen Shaw PROPOSAL
Emily M StockhamCanadaIoni Bowcher UNQUALIFIED
Munro Q WieserJapanOnyama Limba UNQUALIFIED
David C ChuiFranceAsiya Javayant NEW
Francesco V RutaUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues F DarakjyBrazilBernardo Dominic PROPOSAL
Mujtaba G MacleadItalyXuxue Feng UNQUALIFIED
Mayumi J KolmetzBrazilOnyama Limba RENEWAL
Munro W IturbideItalyIvan Magalhaes RENEWAL
Murillo G StensethIndiaOnyama Limba RENEWAL
Nicolas I GauchoGermanyXuxue Feng UNQUALIFIED
Leja E NestleRussiaIvan Magalhaes QUALIFIED
Faith J SchemmerBrazilOnyama Limba UNQUALIFIED
Costa Q CaldareraGermanyXuxue Feng UNQUALIFIED
Aruna I GarufiAustraliaStephen Shaw NEW
Emily J PerinAustraliaElwin Sharvill UNQUALIFIED
Costa J SlusarskiSpainAmy Elsner NEW
Isabel J BologniaCanadaAsiya Javayant QUALIFIED
Stacey B FollerGermanyAsiya Javayant RENEWAL
Faith W WieserGermanyStephen Shaw QUALIFIED
Adams R AmigonAustraliaIvan Magalhaes NEW
Clifford Q MorascaFranceElwin Sharvill QUALIFIED
Stacey A WaycottUnited KingdomXuxue Feng NEW
Leon H GarufiIndiaBernardo Dominic PROPOSAL
Tony W SergiFranceOnyama Limba NEW
Deepesh Y CaudyBrazilAnna Fali QUALIFIED
Aruna J OstroskyFranceStephen Shaw PROPOSAL
Arvin X StensethJapanAsiya Javayant UNQUALIFIED
Ashley U DarakjyAustraliaStephen Shaw UNQUALIFIED
Isabel O MarrierIndiaAmy Elsner NEGOTIATION
Aika R RulapaughFranceAnna Fali PROPOSAL
Alejandro M ShinkoUnited KingdomIoni Bowcher NEW
Rodrigues L TollnerBrazilOnyama Limba UNQUALIFIED
Kaitlin X RoysterCanadaXuxue Feng NEW
Aika T RulapaughCanadaIvan Magalhaes NEW
Deepesh C WhobreyUnited KingdomStephen Shaw QUALIFIED
Stacey P GillianGermanyIvan Magalhaes QUALIFIED
Nicolas D BologniaRussiaAnna Fali UNQUALIFIED
Mujtaba C FigeroaSpainBernardo Dominic RENEWAL
Darci K SchemmerArgentinaIoni Bowcher RENEWAL
Julie L FlosiItalyIvan Magalhaes RENEWAL
Rodrigues N MacleadIndiaXuxue Feng PROPOSAL
Leja M SaylorsArgentinaElwin Sharvill UNQUALIFIED
Aruna G AlbaresJapanAmy Elsner UNQUALIFIED
Isabel L ChuiIndiaIoni Bowcher NEGOTIATION
Costa K RimGermanyXuxue Feng PROPOSAL
Adams X AlbaresIndiaElwin Sharvill PROPOSAL
Julie T StensethCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jones I Inouye
Julie G Ruta
Tony O Gaucho
Smith Q Morasca
Ivar R Ferencz
Tony C Sergi
Smith Y Dilliard
Maria Y Tollner
Smith F Rulapaugh
Ashley S Briddick
Maisha U Rulapaugh
Murillo T Malet
James X Ostrosky
Johnson L Gillian
Maisha C Waycott
Murillo G Butt
Emily G Amigon
Rodrigues O Saylors
Nicolas E Chui
Murillo I Oldroyd
Chavez Z Campain
Silvio J Marrier
Rodrigues G Glick
Octavia Q Saylors
Kaitlin V Vocelka
Cody I Bolognia
Deepesh N Inouye
Munro C Gaucho
Salvatore J Bowley
James X Figeroa
Ricardo S Ferencz
Jeanfrancois G Figeroa
Izzy U Albares
Julie N Butt
Jeanfrancois G Figeroa
Izzy K Darakjy
Arvin V Briddick
Munro H Glick
Darci Y Figeroa
Morrow D Butt
Maria U Wieser
Jefferson J Ostrosky
Antonio E Ostrosky
Sinclair U Rim
Emily S Garufi
Salvatore L Morasca
Murillo Q Paprocki
Salvatore W Caldarera
Leja J Butt
Arvin J Chui
IdCountryDate
1000Spain2024-05-31
1001Argentina2024-06-23
1002Germany2024-06-22
1003Italy2024-06-17
1004Argentina2024-06-18
1005United Kingdom2024-06-18
1006France2024-06-11
1007Japan2024-06-05
1008Italy2024-06-23
1009Canada2024-05-31
1010United Kingdom2024-06-13
1011Japan2024-06-04
1012Italy2024-06-11
1013Italy2024-06-18
1014Australia2024-06-16
1015United Kingdom2024-06-18
1016Argentina2024-05-28
1017France2024-06-16
1018Argentina2024-06-05
1019Canada2024-05-30
1020Brazil2024-06-14
1021Germany2024-06-04
1022Argentina2024-06-08
1023France2024-06-11
1024Italy2024-06-16
1025Russia2024-06-11
1026Brazil2024-05-30
1027Canada2024-05-27
1028Canada2024-06-10
1029India2024-06-17
1030Argentina2024-06-22
1031Russia2024-06-22
1032Canada2024-06-23
1033Argentina2024-06-07
1034Canada2024-06-06
1035United Kingdom2024-06-04
1036India2024-05-26
1037United Kingdom2024-06-03
1038Argentina2024-06-09
1039Spain2024-06-12
1040France2024-05-26
1041Brazil2024-06-11
1042Brazil2024-06-18
1043France2024-06-01
1044India2024-06-14
1045Germany2024-06-08
1046United Kingdom2024-06-21
1047Argentina2024-05-26
1048Brazil2024-05-30
1049Canada2024-06-13

On-Demand Data

NameIdCountryDate
Greenwood G Darakjy1000Argentina2024-05-27
Tony Q Malet1001India2024-05-27
Tony G Marrier1002Japan2024-06-14
Rodrigues Y Schemmer1003Spain2024-06-23
Arvin J Inouye1004Germany2024-06-16
Maisha H Ruta1005Canada2024-05-29
Munro V Bolognia1006Italy2024-06-12
Francesco D Rulapaugh1007Italy2024-06-05
David G Maclead1008France2024-06-04
Tony L Paprocki1009India2024-06-03
Ricardo E Gillian1010India2024-06-11
Ricardo N Albares1011India2024-06-21
Rodrigues W Wieser1012Australia2024-06-17
Rodrigues M Ostrosky1013Russia2024-05-28
Johnson X Briddick1014Japan2024-06-03
Leja Z Bolognia1015Spain2024-05-25
Juan K Dilliard1016United Kingdom2024-06-08
Munro K Inouye1017Russia2024-06-08
Ivar B Campain1018Japan2024-06-22
Kaitlin D Gaucho1019India2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair T RulapaughFranceAsiya Javayant UNQUALIFIED
Jeanfrancois I IturbideUnited KingdomIvan Magalhaes RENEWAL
Octavia G GlickItalyAsiya Javayant RENEWAL
Antonio N TollnerGermanyAmy Elsner RENEWAL
Adams L PerinItalyStephen Shaw PROPOSAL
Izzy A FollerFranceBernardo Dominic UNQUALIFIED
Aika V MacleadBrazilElwin Sharvill QUALIFIED
Aditya Z RoysterItalyStephen Shaw UNQUALIFIED
Wickens H PoquetteRussiaAsiya Javayant NEW
Aditya V KolmetzAustraliaAsiya Javayant NEW
Jefferson O FollerRussiaAnna Fali QUALIFIED
Cody T WaycottFranceXuxue Feng UNQUALIFIED
Leja F MacleadItalyOnyama Limba PROPOSAL
David O BologniaBrazilElwin Sharvill NEW
Francesco I MorascaJapanAmy Elsner NEGOTIATION
Nicolas U CampainItalyAmy Elsner NEGOTIATION
Kadeem K MaletArgentinaXuxue Feng RENEWAL
Kadeem Z FollerJapanXuxue Feng NEGOTIATION
Murillo B WieserUnited KingdomAmy Elsner QUALIFIED
Darci S FollerIndiaAnna Fali QUALIFIED
Kaitlin F NestleArgentinaAmy Elsner UNQUALIFIED
Misaki D IturbideBrazilStephen Shaw NEW
Mayumi U PerinArgentinaElwin Sharvill NEW
Kaitlin W DoeItalyXuxue Feng NEW
Alejandro R PaprockiIndiaAmy Elsner RENEWAL
Johnson X InouyeBrazilElwin Sharvill UNQUALIFIED
Clifford V DilliardSpainElwin Sharvill RENEWAL
Juan W ChuiSpainOnyama Limba NEGOTIATION
David A FerenczSpainAmy Elsner RENEWAL
Munro K OldroydUnited KingdomAnna Fali UNQUALIFIED
Salvatore N RulapaughJapanBernardo Dominic NEGOTIATION
Misaki E ButtAustraliaBernardo Dominic NEW
Nicolas D BowleyJapanIvan Magalhaes RENEWAL
Clifford T PaprockiItalyStephen Shaw NEW
Jones Z DarakjyAustraliaAsiya Javayant QUALIFIED
Smith U PerinAustraliaAmy Elsner UNQUALIFIED
Chavez N OldroydArgentinaIoni Bowcher NEGOTIATION
Murillo D StensethItalyXuxue Feng NEW
Greenwood C RoysterUnited KingdomAnna Fali RENEWAL
Mujtaba G RulapaughSpainOnyama Limba 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>