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
Maisha L OldroydItalyXuxue Feng PROPOSAL
Sinclair E BriddickJapanXuxue Feng QUALIFIED
Alejandro F DarakjyCanadaAsiya Javayant NEW
Misaki B RulapaughGermanyBernardo Dominic QUALIFIED
Smith R DarakjyJapanIoni Bowcher NEGOTIATION
Ivar I MacleadIndiaIvan Magalhaes PROPOSAL
Emily Y CampainItalyAmy Elsner UNQUALIFIED
Aditya K WhobreyJapanBernardo Dominic NEW
Kadeem F FerenczRussiaOnyama Limba RENEWAL
Nicolas H AmigonItalyAnna Fali QUALIFIED
Leja R StensethRussiaStephen Shaw NEW
Jennifer W PaprockiFranceAsiya Javayant PROPOSAL
Smith E IturbideFranceAmy Elsner PROPOSAL
Mujtaba F SergiAustraliaIvan Magalhaes QUALIFIED
Kaitlin I NestleRussiaXuxue Feng QUALIFIED
Kadeem Z RimRussiaIoni Bowcher RENEWAL
Wickens A NestleSpainXuxue Feng NEGOTIATION
Silvio Y PerinAustraliaStephen Shaw UNQUALIFIED
Aruna X TollnerSpainAsiya Javayant NEW
Smith L PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Antonio D StensethAustraliaAmy Elsner UNQUALIFIED
Ashley A CaudyIndiaStephen Shaw QUALIFIED
Emily Y InouyeIndiaAmy Elsner NEGOTIATION
Juan M CaldareraRussiaIvan Magalhaes RENEWAL
David S PaprockiRussiaElwin Sharvill NEW
Ashley U AlbaresItalyAnna Fali QUALIFIED
Leja A IturbideRussiaAsiya Javayant QUALIFIED
Julie P WieserAustraliaAmy Elsner RENEWAL
Deepesh G BowleyIndiaAsiya Javayant PROPOSAL
Adams Q BowleyCanadaBernardo Dominic NEGOTIATION
Maisha U StockhamArgentinaElwin Sharvill NEW
Faith J RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Octavia R AmigonItalyAmy Elsner NEW
Izzy L GillianArgentinaIoni Bowcher RENEWAL
Jeanfrancois H BologniaRussiaOnyama Limba RENEWAL
Aruna W SlusarskiItalyAnna Fali RENEWAL
Mujtaba O PoquetteSpainXuxue Feng PROPOSAL
Maria A PoquetteRussiaXuxue Feng UNQUALIFIED
Kaitlin O FlosiAustraliaOnyama Limba RENEWAL
Emily P MaletJapanXuxue Feng RENEWAL
Aditya A NestleJapanIoni Bowcher RENEWAL
Claire H FollerBrazilElwin Sharvill NEGOTIATION
Murillo M NickaAustraliaStephen Shaw QUALIFIED
Darci B SlusarskiJapanAnna Fali NEW
Jeanfrancois K WieserBrazilAmy Elsner PROPOSAL
Darci A PerinArgentinaIoni Bowcher UNQUALIFIED
Jennifer S PerinRussiaElwin Sharvill NEGOTIATION
Aika Z GillianCanadaIvan Magalhaes UNQUALIFIED
Leon Q WaycottSpainStephen Shaw NEW
Mujtaba A DoeAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois N KolmetzArgentinaBernardo Dominic NEGOTIATION
Chavez K CaudyUnited KingdomAmy Elsner PROPOSAL
Mayumi Y StensethSpainStephen Shaw UNQUALIFIED
Johnson G MarrierGermanyAnna Fali NEGOTIATION
Tony N WhobreyArgentinaOnyama Limba QUALIFIED
Mayumi B FlosiAustraliaOnyama Limba RENEWAL
Rodrigues Q OldroydFranceXuxue Feng UNQUALIFIED
Aruna U KuskoUnited KingdomAnna Fali QUALIFIED
Aditya A SchemmerUnited KingdomIvan Magalhaes NEW
Aruna N SlusarskiAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez N PoquetteGermany2024-05-26Morlong Associates QUALIFIED23Onyama Limba
1001Misaki I CaldareraJapan2024-05-28Truhlar And Truhlar Attys PROPOSAL26Anna Fali
1002Munro J CampainFrance2024-06-11Morlong Associates NEGOTIATION32Elwin Sharvill
1003Smith U ChuiFrance2024-06-02Printing Dimensions UNQUALIFIED62Ivan Magalhaes
1004Stacey V RoysterCanada2024-06-17Feltz Printing Service NEGOTIATION14Bernardo Dominic
1005Maria H StensethIndia2024-06-22Buckley Miller Wright RENEWAL25Amy Elsner
1006Julie P NestleCanada2024-06-10Dorl, James J Esq RENEWAL86Ioni Bowcher
1007Juan Z GauchoIndia2024-06-15Rangoni Of Florence PROPOSAL87Asiya Javayant
1008Aruna P KuskoFrance2024-05-28Dorl, James J Esq RENEWAL52Xuxue Feng
1009Smith G FlosiSpain2024-06-13Rangoni Of Florence RENEWAL14Amy Elsner
1010Ivar I FollerBrazil2024-06-01Buckley Miller Wright QUALIFIED77Elwin Sharvill
1011Darci F ChuiSpain2024-06-02Rousseaux, Michael Esq PROPOSAL6Stephen Shaw
1012Emily L MaletIndia2024-06-05Chemel, James L Cpa PROPOSAL50Onyama Limba
1013Rodrigues I FlosiFrance2024-06-15King, Christopher A Esq UNQUALIFIED59Stephen Shaw
1014Arvin Y RutaBrazil2024-06-07Rangoni Of Florence NEW74Amy Elsner
1015Julie S BowleyAustralia2024-05-29Morlong Associates UNQUALIFIED7Elwin Sharvill
1016Murillo C VenereJapan2024-06-16Benton, John B Jr PROPOSAL12Xuxue Feng
1017Stacey P NestleSpain2024-06-16Chapman, Ross E Esq UNQUALIFIED20Asiya Javayant
1018James N SergiJapan2024-05-27King, Christopher A Esq QUALIFIED84Ioni Bowcher
1019Claire W KolmetzArgentina2024-06-02Morlong Associates PROPOSAL12Elwin Sharvill
1020Rodrigues R VocelkaItaly2024-06-07Chemel, James L Cpa NEW22Xuxue Feng
1021Juan A IturbideJapan2024-06-10Feiner Bros PROPOSAL71Ivan Magalhaes
1022Alejandro G OldroydFrance2024-06-14Chemel, James L Cpa QUALIFIED81Asiya Javayant
1023James Q PaprockiGermany2024-06-13Morlong Associates UNQUALIFIED78Amy Elsner
1024Clifford X NickaCanada2024-06-07Chemel, James L Cpa PROPOSAL97Elwin Sharvill
1025Mayumi T PoquetteGermany2024-06-09Printing Dimensions UNQUALIFIED21Xuxue Feng
1026Deepesh X FlosiUnited Kingdom2024-05-30Benton, John B Jr QUALIFIED85Xuxue Feng
1027Mujtaba A FollerIndia2024-06-10Rangoni Of Florence QUALIFIED69Bernardo Dominic
1028Johnson I NickaBrazil2024-06-23Truhlar And Truhlar Attys PROPOSAL66Ioni Bowcher
1029Jefferson J FerenczRussia2024-06-20King, Christopher A Esq NEGOTIATION34Asiya Javayant
1030Francesco C RutaRussia2024-06-18Feiner Bros RENEWAL43Elwin Sharvill
1031Jefferson U MaletAustralia2024-05-30Rangoni Of Florence NEW98Amy Elsner
1032Maria D WieserUnited Kingdom2024-06-15Morlong Associates PROPOSAL74Xuxue Feng
1033Maisha D SlusarskiItaly2024-06-17King, Christopher A Esq PROPOSAL61Onyama Limba
1034Jefferson J RoysterBrazil2024-05-29Commercial Press NEGOTIATION8Onyama Limba
1035Clifford C SchemmerBrazil2024-06-10King, Christopher A Esq PROPOSAL66Stephen Shaw
1036Isabel G FollerSpain2024-06-09Buckley Miller Wright NEGOTIATION69Xuxue Feng
1037Ashley B MacleadGermany2024-06-05Chanay, Jeffrey A Esq NEW3Ivan Magalhaes
1038Greenwood M KolmetzArgentina2024-06-04Rousseaux, Michael Esq QUALIFIED94Amy Elsner
1039Aruna V RimCanada2024-05-27Commercial Press NEW34Bernardo Dominic
1040Rodrigues Q RimRussia2024-06-22Rousseaux, Michael Esq RENEWAL36Ivan Magalhaes
1041Faith X OstroskyUnited Kingdom2024-05-29Dorl, James J Esq NEW3Asiya Javayant
1042Juan X SchemmerGermany2024-05-26King, Christopher A Esq QUALIFIED96Stephen Shaw
1043Deepesh A CampainJapan2024-06-22King, Christopher A Esq RENEWAL3Ivan Magalhaes
1044Johnson T DarakjyIndia2024-06-12Chemel, James L Cpa NEW27Onyama Limba
1045Costa E WaycottJapan2024-06-10Chapman, Ross E Esq NEW88Anna Fali
1046Izzy B SaylorsIndia2024-06-15Printing Dimensions QUALIFIED94Asiya Javayant
1047Johnson L MaletCanada2024-06-07Chapman, Ross E Esq RENEWAL93Asiya Javayant
1048Smith J FlosiSpain2024-05-25Morlong Associates UNQUALIFIED43Bernardo Dominic
1049Stacey O CampainGermany2024-05-27King, Christopher A Esq NEGOTIATION77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Johnson E SergiUnited KingdomXuxue Feng RENEWAL
Morrow E RulapaughSpainAnna Fali RENEWAL
Deepesh A DilliardFranceBernardo Dominic RENEWAL
Antonio T FerenczArgentinaBernardo Dominic NEW
Julie N DoeArgentinaBernardo Dominic UNQUALIFIED
Kadeem Y ShinkoGermanyIoni Bowcher NEW
Aruna Q ButtBrazilAmy Elsner PROPOSAL
Nicolas S PerinBrazilIvan Magalhaes RENEWAL
Ricardo A FollerRussiaIoni Bowcher PROPOSAL
David J BriddickSpainAnna Fali PROPOSAL
Alejandro P CaldareraItalyStephen Shaw QUALIFIED
Juan D CampainUnited KingdomAmy Elsner UNQUALIFIED
Smith C CampainGermanyStephen Shaw QUALIFIED
Tony D StockhamAustraliaIvan Magalhaes QUALIFIED
James B SergiRussiaIvan Magalhaes UNQUALIFIED
Jennifer C RoysterCanadaXuxue Feng PROPOSAL
Jefferson E BowleySpainElwin Sharvill NEGOTIATION
Misaki O ButtCanadaXuxue Feng UNQUALIFIED
Maria S CaudyFranceStephen Shaw NEGOTIATION
Antonio V TollnerCanadaAsiya Javayant NEGOTIATION
Wickens A MarrierSpainOnyama Limba NEW
Kadeem V PerinBrazilIoni Bowcher UNQUALIFIED
Cody Y BowleyItalyStephen Shaw QUALIFIED
Nicolas Y SergiJapanAsiya Javayant RENEWAL
Chavez Y AmigonArgentinaXuxue Feng NEGOTIATION
Ricardo X MorascaSpainAmy Elsner QUALIFIED
Morrow M CaudyAustraliaIvan Magalhaes NEGOTIATION
Jefferson T ChuiFranceAmy Elsner RENEWAL
Aika T MorascaGermanyAmy Elsner RENEWAL
Aruna Q FollerSpainOnyama Limba RENEWAL
Jones B NestleRussiaOnyama Limba PROPOSAL
Kadeem Q DarakjyCanadaOnyama Limba NEGOTIATION
Jeanfrancois O DilliardGermanyAmy Elsner QUALIFIED
Leja H PaprockiAustraliaAnna Fali NEW
Aditya X AlbaresItalyAmy Elsner RENEWAL
David L MacleadBrazilOnyama Limba NEW
Jones N ShinkoGermanyAsiya Javayant NEW
Antonio D SergiCanadaIvan Magalhaes QUALIFIED
Mujtaba D StensethArgentinaAmy Elsner NEW
Arvin P BowleyRussiaBernardo Dominic NEGOTIATION
Morrow X BowleyGermanyAnna Fali QUALIFIED
Francesco U FerenczAustraliaElwin Sharvill UNQUALIFIED
Aruna X WaycottCanadaIoni Bowcher NEGOTIATION
Wickens D VocelkaRussiaXuxue Feng NEGOTIATION
Kadeem U BologniaItalyIvan Magalhaes UNQUALIFIED
Ivar R MaletJapanAsiya Javayant NEW
Silvio F SergiJapanAnna Fali QUALIFIED
Munro L StockhamAustraliaAnna Fali NEW
Wickens N SergiRussiaAnna Fali NEW
Octavia M RimIndiaAsiya Javayant NEW
Frozen Columns
Name
Leja O Whobrey
David F Shinko
Emily Z Rulapaugh
Sinclair L Rim
Munro T Shinko
Mayumi U Malet
Jennifer R Morasca
Jeanfrancois G Sergi
Izzy S Gillian
Jennifer L Perin
Wickens F Caudy
Rodrigues E Stockham
Jeanfrancois H Perin
Juan K Morasca
Misaki Z Briddick
Smith X Chui
Jefferson O Stockham
Murillo H Morasca
Maria J Tollner
Darci A Kusko
Ashley R Garufi
Munro S Royster
Adams A Ferencz
Maisha N Dilliard
Chavez V Perin
Aika L Dilliard
Francesco U Albares
Jones B Malet
Mujtaba W Gillian
Cody V Oldroyd
Leja G Stenseth
Munro O Marrier
Jones P Doe
Aditya P Ferencz
Ivar M Foller
Munro U Iturbide
Ashley B Campain
Ashley N Glick
Alejandro B Darakjy
Alejandro U Royster
Deepesh U Dilliard
Silvio G Malet
Emily Z Inouye
Maisha T Figeroa
Misaki M Gillian
Arvin X Vocelka
Isabel O Morasca
Stacey R Rim
Maria B Whobrey
Aditya F Rim
IdCountryDate
1000Italy2024-05-28
1001India2024-06-14
1002Japan2024-05-28
1003Germany2024-06-03
1004Germany2024-06-03
1005France2024-05-27
1006United Kingdom2024-06-17
1007Russia2024-06-12
1008France2024-06-04
1009Spain2024-06-14
1010France2024-06-06
1011Japan2024-06-21
1012Spain2024-06-22
1013Spain2024-06-12
1014Argentina2024-05-27
1015Germany2024-06-02
1016Argentina2024-05-27
1017India2024-06-10
1018Russia2024-06-03
1019Russia2024-06-15
1020Russia2024-06-20
1021Australia2024-06-19
1022Australia2024-05-27
1023Russia2024-05-29
1024France2024-06-17
1025Australia2024-05-26
1026Russia2024-06-07
1027India2024-06-06
1028France2024-06-22
1029Russia2024-05-25
1030Australia2024-06-13
1031United Kingdom2024-06-19
1032Spain2024-06-22
1033Australia2024-06-06
1034Japan2024-06-15
1035Russia2024-06-06
1036Italy2024-05-25
1037Brazil2024-05-31
1038India2024-06-18
1039Italy2024-06-21
1040Canada2024-06-05
1041Spain2024-06-19
1042Italy2024-06-19
1043United Kingdom2024-06-14
1044United Kingdom2024-06-11
1045Argentina2024-05-25
1046India2024-06-06
1047United Kingdom2024-06-03
1048Canada2024-06-13
1049Russia2024-06-20

On-Demand Data

NameIdCountryDate
Munro T Kusko1000Australia2024-06-13
Jones V Rulapaugh1001India2024-06-23
Claire J Marrier1002Australia2024-06-22
Darci E Sergi1003Japan2024-06-08
Maria L Venere1004India2024-05-28
Aditya Y Ruta1005Canada2024-06-10
Jefferson K Garufi1006Russia2024-05-25
Nicolas W Inouye1007Spain2024-06-22
Juan V Inouye1008Germany2024-05-27
Sinclair N Bowley1009Italy2024-06-10
Alejandro X Schemmer1010United Kingdom2024-05-29
Silvio X Doe1011France2024-06-03
Octavia T Foller1012Argentina2024-06-08
Smith J Glick1013Japan2024-06-11
Jeanfrancois P Saylors1014Germany2024-06-03
Emily Y Sergi1015Australia2024-06-13
David P Doe1016Italy2024-06-06
Mayumi R Whobrey1017France2024-06-08
Darci K Paprocki1018United Kingdom2024-06-15
Aika R Saylors1019Argentina2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley N WieserCanadaAnna Fali NEW
Antonio D OldroydJapanAnna Fali PROPOSAL
Maisha I InouyeUnited KingdomAmy Elsner NEGOTIATION
Stacey C CaudyArgentinaOnyama Limba QUALIFIED
Deepesh S FlosiRussiaXuxue Feng NEGOTIATION
Cody T RoysterUnited KingdomOnyama Limba QUALIFIED
Antonio L NestleUnited KingdomIvan Magalhaes PROPOSAL
Aruna L SchemmerIndiaIoni Bowcher PROPOSAL
Murillo Z WaycottFranceAsiya Javayant UNQUALIFIED
Mujtaba W ButtBrazilAmy Elsner PROPOSAL
Costa E GarufiAustraliaIvan Magalhaes RENEWAL
Emily O MarrierAustraliaOnyama Limba NEW
Mayumi A GlickItalyAnna Fali NEGOTIATION
Ricardo Z OldroydArgentinaXuxue Feng NEGOTIATION
Smith U DilliardSpainAsiya Javayant QUALIFIED
Greenwood D CampainIndiaStephen Shaw NEGOTIATION
Deepesh Y IturbideUnited KingdomElwin Sharvill QUALIFIED
Octavia T CaudyAustraliaAnna Fali PROPOSAL
Julie T GauchoJapanAnna Fali QUALIFIED
Kadeem D PoquetteRussiaIvan Magalhaes PROPOSAL
Claire E ShinkoCanadaBernardo Dominic QUALIFIED
Jeanfrancois W KolmetzFranceAmy Elsner NEW
Jefferson F FlosiCanadaElwin Sharvill PROPOSAL
Chavez E RutaJapanAmy Elsner RENEWAL
Nicolas X KuskoJapanAsiya Javayant NEW
Jones Y ShinkoItalyAsiya Javayant QUALIFIED
Ivar A StensethSpainElwin Sharvill NEW
Sinclair R RutaRussiaElwin Sharvill NEW
Arvin A StensethBrazilAsiya Javayant NEW
Johnson X ShinkoCanadaAnna Fali NEGOTIATION
Julie E RoysterFranceIvan Magalhaes NEW
Misaki Z FerenczCanadaXuxue Feng NEW
Rodrigues U OldroydArgentinaStephen Shaw PROPOSAL
Jeanfrancois Z NickaAustraliaOnyama Limba NEGOTIATION
Cody E PerinSpainAmy Elsner NEW
Kaitlin R InouyeCanadaBernardo Dominic QUALIFIED
Salvatore W FerenczFranceStephen Shaw UNQUALIFIED
Leja S IturbideIndiaAnna Fali UNQUALIFIED
Jennifer E MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Emily Z TollnerUnited KingdomElwin Sharvill 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>