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 Z PoquetteItalyIoni Bowcher NEGOTIATION
Darci E AmigonIndiaIoni Bowcher RENEWAL
Adams V DilliardCanadaElwin Sharvill RENEWAL
Darci L MorascaAustraliaOnyama Limba RENEWAL
Wickens R PerinBrazilOnyama Limba NEGOTIATION
Tony Y ChuiFranceOnyama Limba NEW
Alejandro R OstroskyGermanyIoni Bowcher NEGOTIATION
Juan A ChuiRussiaBernardo Dominic NEW
Arvin E WaycottJapanBernardo Dominic PROPOSAL
Chavez Q CampainRussiaAmy Elsner PROPOSAL
Costa B MaletJapanAmy Elsner PROPOSAL
Izzy H GlickSpainIoni Bowcher NEGOTIATION
Chavez X BowleyItalyBernardo Dominic PROPOSAL
Aruna F RutaIndiaStephen Shaw QUALIFIED
Kadeem G MacleadRussiaElwin Sharvill QUALIFIED
Jennifer V PerinFranceAmy Elsner UNQUALIFIED
Aditya F AlbaresItalyAmy Elsner NEGOTIATION
Alejandro B VocelkaSpainBernardo Dominic UNQUALIFIED
Johnson W PoquetteGermanyStephen Shaw NEGOTIATION
Morrow R WieserIndiaOnyama Limba RENEWAL
Kaitlin V SergiFranceOnyama Limba RENEWAL
Stacey Y StensethSpainAsiya Javayant QUALIFIED
Leja L RimGermanyOnyama Limba QUALIFIED
Sinclair W CaudyBrazilAsiya Javayant NEGOTIATION
Antonio G PoquetteBrazilXuxue Feng NEW
Jeanfrancois R GauchoFranceStephen Shaw PROPOSAL
Silvio P FollerCanadaIoni Bowcher NEW
James C PaprockiFranceStephen Shaw QUALIFIED
Nicolas N MorascaBrazilBernardo Dominic QUALIFIED
Nicolas T MaletCanadaOnyama Limba PROPOSAL
Jeanfrancois X DoeUnited KingdomAnna Fali PROPOSAL
Johnson T SaylorsSpainBernardo Dominic NEW
Alejandro R RoysterJapanElwin Sharvill NEW
James P FerenczSpainAsiya Javayant NEGOTIATION
David S DoeArgentinaAnna Fali RENEWAL
Maisha D IturbideRussiaElwin Sharvill QUALIFIED
Johnson A CaudyFranceAsiya Javayant RENEWAL
Julie B CaldareraJapanIoni Bowcher UNQUALIFIED
Leja E CaudyRussiaStephen Shaw UNQUALIFIED
Munro V TollnerItalyIvan Magalhaes RENEWAL
Alejandro M SlusarskiSpainAmy Elsner NEW
Greenwood Y NickaJapanAsiya Javayant NEW
Salvatore B KolmetzUnited KingdomXuxue Feng RENEWAL
Antonio E PoquetteArgentinaXuxue Feng NEW
Aditya I AlbaresIndiaIoni Bowcher NEW
Maisha R OstroskyItalyIoni Bowcher QUALIFIED
Aditya I DoeSpainAnna Fali UNQUALIFIED
Aika I MacleadRussiaAmy Elsner UNQUALIFIED
Antonio S MarrierGermanyBernardo Dominic NEGOTIATION
Johnson P FollerIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues V ShinkoBrazilAmy Elsner RENEWAL
Maria P BriddickItalyIvan Magalhaes NEW
Isabel N SchemmerArgentinaElwin Sharvill QUALIFIED
Julie D VenereSpainIvan Magalhaes QUALIFIED
Murillo Q GarufiCanadaXuxue Feng NEW
Alejandro B PoquetteItalyStephen Shaw NEGOTIATION
Juan C FollerItalyIoni Bowcher RENEWAL
Izzy F MorascaUnited KingdomAnna Fali RENEWAL
Maisha J IturbideIndiaIoni Bowcher PROPOSAL
Clifford Y FollerItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki N WhobreyUnited Kingdom2024-06-02Morlong Associates QUALIFIED55Bernardo Dominic
1001James V DarakjyRussia2024-05-25Chemel, James L Cpa NEGOTIATION34Elwin Sharvill
1002Rodrigues U FigeroaArgentina2024-06-14King, Christopher A Esq NEW0Xuxue Feng
1003Johnson T RulapaughRussia2024-06-19Chemel, James L Cpa NEW67Stephen Shaw
1004Aditya E OstroskyAustralia2024-06-20King, Christopher A Esq RENEWAL93Asiya Javayant
1005Smith G SaylorsItaly2024-06-08Feltz Printing Service QUALIFIED67Stephen Shaw
1006Kadeem B WhobreyIndia2024-06-01Rangoni Of Florence NEW51Xuxue Feng
1007Isabel R StensethGermany2024-06-03Chemel, James L Cpa QUALIFIED93Stephen Shaw
1008David N RulapaughSpain2024-06-09Chemel, James L Cpa UNQUALIFIED1Amy Elsner
1009Faith H TollnerGermany2024-06-12Feltz Printing Service NEW10Elwin Sharvill
1010Munro Y NestleBrazil2024-06-10Commercial Press NEW86Bernardo Dominic
1011Jefferson H FlosiCanada2024-06-20Chapman, Ross E Esq NEW41Anna Fali
1012Nicolas R WaycottBrazil2024-06-19Rousseaux, Michael Esq QUALIFIED87Amy Elsner
1013Julie Z ButtJapan2024-06-06Feltz Printing Service UNQUALIFIED21Onyama Limba
1014Leon M BowleyItaly2024-06-03Rangoni Of Florence QUALIFIED88Onyama Limba
1015Morrow Z NickaUnited Kingdom2024-06-15Chanay, Jeffrey A Esq RENEWAL69Onyama Limba
1016Chavez L OstroskyUnited Kingdom2024-05-30Truhlar And Truhlar Attys PROPOSAL44Onyama Limba
1017Chavez M MacleadItaly2024-05-30Printing Dimensions PROPOSAL40Asiya Javayant
1018Mayumi B PerinJapan2024-06-15Printing Dimensions RENEWAL13Anna Fali
1019Jeanfrancois L VenereFrance2024-06-22Commercial Press PROPOSAL44Anna Fali
1020Deepesh J StensethRussia2024-06-11Buckley Miller Wright QUALIFIED87Bernardo Dominic
1021Munro R KuskoItaly2024-06-21Commercial Press NEGOTIATION93Stephen Shaw
1022Salvatore J MaletFrance2024-06-14Benton, John B Jr QUALIFIED20Amy Elsner
1023Claire I VocelkaGermany2024-06-17Feltz Printing Service NEGOTIATION89Xuxue Feng
1024Ricardo M FerenczItaly2024-06-20Rangoni Of Florence RENEWAL7Elwin Sharvill
1025David S VenereRussia2024-06-15Commercial Press UNQUALIFIED29Ioni Bowcher
1026Ricardo G KuskoRussia2024-05-27Printing Dimensions PROPOSAL10Anna Fali
1027Maisha Y CampainBrazil2024-06-03Buckley Miller Wright PROPOSAL2Anna Fali
1028Chavez B RulapaughFrance2024-05-31Commercial Press NEGOTIATION8Elwin Sharvill
1029Claire C StockhamUnited Kingdom2024-06-14Chapman, Ross E Esq NEGOTIATION71Xuxue Feng
1030Jeanfrancois R MarrierRussia2024-06-17Benton, John B Jr PROPOSAL85Asiya Javayant
1031Cody L PoquetteAustralia2024-06-08Benton, John B Jr QUALIFIED0Anna Fali
1032Aika T TollnerItaly2024-06-09Rousseaux, Michael Esq NEW50Asiya Javayant
1033Jennifer H SlusarskiItaly2024-06-19Rangoni Of Florence QUALIFIED57Ioni Bowcher
1034Smith N FigeroaUnited Kingdom2024-06-10Rousseaux, Michael Esq NEW37Anna Fali
1035David J RimBrazil2024-06-20Printing Dimensions QUALIFIED89Stephen Shaw
1036Costa T InouyeRussia2024-05-31Chapman, Ross E Esq RENEWAL90Bernardo Dominic
1037Wickens C MaletAustralia2024-05-25Truhlar And Truhlar Attys NEGOTIATION23Amy Elsner
1038Sinclair Y WhobreyAustralia2024-06-14Benton, John B Jr RENEWAL37Ioni Bowcher
1039Cody O SlusarskiItaly2024-05-25King, Christopher A Esq NEGOTIATION11Anna Fali
1040Costa K VocelkaAustralia2024-06-20Chemel, James L Cpa RENEWAL13Bernardo Dominic
1041Aditya N MaletIndia2024-06-14Commercial Press PROPOSAL31Elwin Sharvill
1042Francesco Z StockhamRussia2024-06-07Buckley Miller Wright NEW71Ivan Magalhaes
1043Francesco U ButtJapan2024-06-01Chapman, Ross E Esq NEW87Ivan Magalhaes
1044Johnson N ChuiJapan2024-05-29King, Christopher A Esq NEGOTIATION14Xuxue Feng
1045Claire I KuskoJapan2024-06-19Rangoni Of Florence QUALIFIED33Amy Elsner
1046Francesco X OldroydUnited Kingdom2024-06-05Printing Dimensions NEW34Stephen Shaw
1047Claire U OldroydItaly2024-05-31Chapman, Ross E Esq NEGOTIATION86Elwin Sharvill
1048Octavia R VocelkaArgentina2024-06-02Feltz Printing Service QUALIFIED92Onyama Limba
1049Johnson J ChuiArgentina2024-06-10Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Antonio F ShinkoUnited KingdomStephen Shaw RENEWAL
Leja G ChuiSpainOnyama Limba NEW
Wickens V MaletCanadaStephen Shaw QUALIFIED
David T GarufiArgentinaIoni Bowcher QUALIFIED
Mujtaba A InouyeFranceBernardo Dominic PROPOSAL
Leon S DilliardItalyIvan Magalhaes PROPOSAL
Kadeem H FerenczGermanyStephen Shaw NEW
Leja P AlbaresAustraliaBernardo Dominic RENEWAL
Misaki G FlosiBrazilAnna Fali NEGOTIATION
Leon B SergiBrazilIvan Magalhaes UNQUALIFIED
Misaki L NestleSpainXuxue Feng UNQUALIFIED
Emily L OstroskyItalyStephen Shaw QUALIFIED
Jones F MorascaCanadaOnyama Limba QUALIFIED
Cody D FigeroaFranceStephen Shaw NEW
Maisha A VenereBrazilIoni Bowcher QUALIFIED
Kadeem C RoysterJapanIvan Magalhaes UNQUALIFIED
Maria S DarakjyRussiaAmy Elsner NEGOTIATION
Aruna C OstroskyArgentinaAnna Fali UNQUALIFIED
Stacey P CampainIndiaIoni Bowcher UNQUALIFIED
Ivar H KuskoFranceAsiya Javayant NEW
Octavia G FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Misaki L PaprockiCanadaIoni Bowcher NEW
Stacey Y ChuiUnited KingdomIvan Magalhaes PROPOSAL
Juan X StensethRussiaXuxue Feng NEW
Francesco O ShinkoUnited KingdomAnna Fali RENEWAL
Emily V WaycottRussiaAnna Fali RENEWAL
Octavia Q OldroydItalyAsiya Javayant NEW
Claire C InouyeSpainBernardo Dominic RENEWAL
Leja D GauchoCanadaIvan Magalhaes UNQUALIFIED
Jennifer G MacleadCanadaXuxue Feng PROPOSAL
Deepesh U VenereArgentinaXuxue Feng UNQUALIFIED
Chavez F RutaItalyElwin Sharvill NEW
Kaitlin B AlbaresItalyAnna Fali PROPOSAL
Ricardo X RimSpainAnna Fali QUALIFIED
Nicolas T CampainItalyIvan Magalhaes NEW
Mayumi X VocelkaBrazilIoni Bowcher PROPOSAL
Francesco J TollnerArgentinaXuxue Feng RENEWAL
Costa G RimFranceIoni Bowcher NEGOTIATION
Leja J GauchoGermanyAsiya Javayant UNQUALIFIED
Nicolas K GarufiSpainIoni Bowcher UNQUALIFIED
Adams L VenereIndiaBernardo Dominic NEW
Emily A RimUnited KingdomIoni Bowcher QUALIFIED
Costa V CampainItalyIoni Bowcher UNQUALIFIED
Kadeem L BowleyItalyElwin Sharvill UNQUALIFIED
Ricardo L KolmetzIndiaIvan Magalhaes NEW
Faith D ButtUnited KingdomAmy Elsner PROPOSAL
Rodrigues P StockhamUnited KingdomStephen Shaw NEGOTIATION
Salvatore H PaprockiCanadaAnna Fali NEW
Alejandro N DoeIndiaStephen Shaw UNQUALIFIED
Clifford K SergiArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Mujtaba X Morasca
Aika H Sergi
Misaki T Rulapaugh
Leon P Malet
Jefferson R Caudy
Juan E Poquette
Stacey I Gillian
Mayumi C Gillian
Alejandro V Kolmetz
Smith F Malet
Kaitlin U Dilliard
Francesco O Flosi
Kadeem Y Saylors
Izzy F Ostrosky
Smith P Marrier
Cody J Darakjy
Morrow O Venere
Smith M Figeroa
Leja A Bolognia
Jones U Shinko
Aika N Vocelka
Jennifer B Schemmer
Octavia H Ruta
Jennifer K Flosi
Cody Q Nestle
David H Rim
Ricardo K Dilliard
Misaki J Morasca
Ricardo Q Briddick
Smith K Whobrey
Mayumi W Garufi
Claire J Kusko
Silvio U Shinko
David E Amigon
Isabel J Nicka
Nicolas E Sergi
Adams B Nicka
Alejandro A Rim
Stacey X Morasca
Faith E Rulapaugh
Francesco A Royster
Deepesh C Albares
Maisha N Nestle
Ricardo W Malet
James Z Wieser
Adams P Caldarera
Faith G Oldroyd
Salvatore T Poquette
Julie G Wieser
Aditya Z Doe
IdCountryDate
1000France2024-06-19
1001Canada2024-06-09
1002United Kingdom2024-06-22
1003Italy2024-05-25
1004Spain2024-06-20
1005Argentina2024-06-07
1006Australia2024-06-04
1007Russia2024-05-24
1008United Kingdom2024-06-05
1009Japan2024-05-28
1010Japan2024-06-16
1011Russia2024-05-25
1012Spain2024-06-22
1013Japan2024-06-02
1014Brazil2024-06-14
1015United Kingdom2024-05-25
1016Brazil2024-06-06
1017Italy2024-06-19
1018Spain2024-06-21
1019Australia2024-06-04
1020Japan2024-06-04
1021Australia2024-06-21
1022Germany2024-06-20
1023Spain2024-06-18
1024Russia2024-06-20
1025United Kingdom2024-06-02
1026United Kingdom2024-06-13
1027United Kingdom2024-05-31
1028Spain2024-06-17
1029Russia2024-06-20
1030Spain2024-06-16
1031Italy2024-05-24
1032India2024-05-31
1033France2024-05-28
1034Russia2024-06-02
1035Japan2024-06-16
1036Spain2024-06-07
1037Japan2024-06-13
1038Argentina2024-05-30
1039Australia2024-06-12
1040United Kingdom2024-06-12
1041Italy2024-06-02
1042Italy2024-06-07
1043Argentina2024-05-24
1044Spain2024-06-20
1045Russia2024-05-29
1046Argentina2024-06-18
1047Brazil2024-06-17
1048Spain2024-06-17
1049Germany2024-06-08

On-Demand Data

NameIdCountryDate
Munro P Foller1000Brazil2024-05-30
Maria G Sergi1001Argentina2024-05-25
Jones R Shinko1002Argentina2024-05-29
Morrow A Ostrosky1003Japan2024-05-30
Mujtaba Z Glick1004India2024-06-03
Mujtaba K Gillian1005France2024-06-19
Claire P Amigon1006Canada2024-05-29
Ricardo J Campain1007Japan2024-05-26
Jefferson O Kolmetz1008India2024-06-02
Claire C Kolmetz1009Brazil2024-05-29
Ivar X Perin1010United Kingdom2024-06-14
Maisha W Briddick1011Italy2024-05-25
Mayumi J Dilliard1012Germany2024-06-07
Morrow M Royster1013Germany2024-06-13
Jefferson I Kusko1014United Kingdom2024-06-07
Ashley Z Shinko1015Japan2024-05-30
Aditya C Slusarski1016Japan2024-06-17
Chavez P Nestle1017Argentina2024-06-07
Johnson V Ferencz1018Australia2024-06-18
Julie Z Wieser1019France2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar U NickaJapanElwin Sharvill NEW
Sinclair K SchemmerIndiaOnyama Limba RENEWAL
Emily O SchemmerAustraliaOnyama Limba PROPOSAL
Jeanfrancois K NestleBrazilStephen Shaw PROPOSAL
Mujtaba X NickaIndiaAmy Elsner QUALIFIED
Claire S SaylorsGermanyAnna Fali UNQUALIFIED
Claire W DoeGermanyIvan Magalhaes PROPOSAL
Aditya H GillianItalyStephen Shaw UNQUALIFIED
Aditya A DarakjyIndiaIoni Bowcher NEW
Clifford X PaprockiRussiaAnna Fali PROPOSAL
Aditya M RoysterFranceElwin Sharvill PROPOSAL
Kaitlin J DarakjyFranceAsiya Javayant RENEWAL
Murillo D WhobreySpainAsiya Javayant NEW
Mujtaba O FlosiIndiaStephen Shaw NEW
Izzy S WieserArgentinaAmy Elsner NEGOTIATION
Arvin T GarufiIndiaAsiya Javayant QUALIFIED
Emily P FigeroaRussiaIoni Bowcher NEW
Deepesh P ButtCanadaAnna Fali UNQUALIFIED
Cody X SaylorsFranceAmy Elsner NEW
Ivar Q DarakjyItalyAmy Elsner PROPOSAL
Faith C BologniaSpainAnna Fali PROPOSAL
Jeanfrancois J KuskoRussiaXuxue Feng PROPOSAL
Smith E SchemmerCanadaXuxue Feng NEGOTIATION
Deepesh X ButtFranceAsiya Javayant UNQUALIFIED
Mayumi V MarrierArgentinaIvan Magalhaes QUALIFIED
Deepesh Y GarufiBrazilAnna Fali NEGOTIATION
David Q WhobreyIndiaAnna Fali UNQUALIFIED
Stacey A WieserArgentinaAnna Fali UNQUALIFIED
Ivar V RimUnited KingdomAnna Fali NEGOTIATION
Aditya D DoeBrazilAsiya Javayant PROPOSAL
Aruna T WaycottBrazilBernardo Dominic RENEWAL
Octavia P TollnerCanadaAnna Fali RENEWAL
Murillo Q BowleyCanadaIvan Magalhaes RENEWAL
Clifford G FerenczJapanBernardo Dominic PROPOSAL
Cody H ButtCanadaIoni Bowcher UNQUALIFIED
Johnson T NickaArgentinaElwin Sharvill NEW
Johnson K DoeSpainAsiya Javayant RENEWAL
Maria O KuskoCanadaIoni Bowcher QUALIFIED
Juan W PerinGermanyOnyama Limba UNQUALIFIED
Kaitlin P StensethUnited KingdomStephen Shaw NEW

<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>