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
Johnson I FlosiItalyElwin Sharvill NEW
Adams N RimUnited KingdomOnyama Limba UNQUALIFIED
Jennifer T OldroydAustraliaAnna Fali RENEWAL
Octavia E DoeAustraliaStephen Shaw NEGOTIATION
Aruna O RoysterGermanyXuxue Feng RENEWAL
James S KuskoFranceStephen Shaw NEGOTIATION
Tony R CaudyBrazilAnna Fali QUALIFIED
Deepesh L GarufiItalyAnna Fali RENEWAL
Kaitlin U ChuiUnited KingdomOnyama Limba UNQUALIFIED
Izzy F DilliardFranceAsiya Javayant NEW
Murillo J OstroskyRussiaStephen Shaw UNQUALIFIED
Chavez V RoysterCanadaAsiya Javayant RENEWAL
Munro E DarakjyArgentinaOnyama Limba QUALIFIED
Silvio N StensethAustraliaIvan Magalhaes NEW
Leja Y OstroskyBrazilIoni Bowcher QUALIFIED
Maria U CaldareraJapanIoni Bowcher PROPOSAL
Arvin L WieserFranceIvan Magalhaes UNQUALIFIED
Mujtaba T KolmetzItalyIoni Bowcher UNQUALIFIED
Octavia R GauchoItalyOnyama Limba UNQUALIFIED
Costa U CampainRussiaStephen Shaw RENEWAL
Chavez M WieserBrazilElwin Sharvill RENEWAL
Faith F VocelkaBrazilBernardo Dominic RENEWAL
Antonio Q MarrierFranceBernardo Dominic PROPOSAL
Rodrigues H GillianGermanyAnna Fali NEW
Mayumi Z RimItalyIvan Magalhaes UNQUALIFIED
Clifford F DarakjyCanadaXuxue Feng NEGOTIATION
Nicolas D FlosiBrazilBernardo Dominic NEW
Deepesh C MacleadArgentinaBernardo Dominic QUALIFIED
Adams G FigeroaItalyIoni Bowcher QUALIFIED
Kaitlin N RutaUnited KingdomXuxue Feng UNQUALIFIED
Silvio T MaletIndiaElwin Sharvill UNQUALIFIED
Alejandro H WhobreyBrazilAsiya Javayant RENEWAL
Aruna P OstroskyGermanyXuxue Feng UNQUALIFIED
Nicolas U SchemmerIndiaElwin Sharvill QUALIFIED
Leon E FollerIndiaAsiya Javayant QUALIFIED
Francesco S SlusarskiItalyOnyama Limba PROPOSAL
Cody D MacleadRussiaIoni Bowcher UNQUALIFIED
Isabel V GlickItalyAnna Fali UNQUALIFIED
Jones V PaprockiSpainOnyama Limba NEGOTIATION
Arvin U FlosiBrazilBernardo Dominic PROPOSAL
Munro A RulapaughArgentinaAnna Fali RENEWAL
Leon G DilliardUnited KingdomAnna Fali NEW
Adams E RoysterItalyIoni Bowcher QUALIFIED
Munro I CaudyRussiaAsiya Javayant UNQUALIFIED
Salvatore N OstroskyItalyElwin Sharvill NEW
Adams X ButtArgentinaBernardo Dominic NEW
David G StockhamRussiaXuxue Feng RENEWAL
Emily D ButtBrazilXuxue Feng PROPOSAL
Maria T VocelkaArgentinaXuxue Feng UNQUALIFIED
Octavia K RulapaughSpainAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Misaki V KolmetzSpainAnna Fali NEW
Chavez X PerinRussiaBernardo Dominic PROPOSAL
Murillo A GlickAustraliaIvan Magalhaes QUALIFIED
Isabel Q NestleRussiaStephen Shaw NEGOTIATION
Alejandro V FerenczFranceBernardo Dominic PROPOSAL
Jones C OldroydItalyIoni Bowcher NEW
Ricardo C DoeArgentinaOnyama Limba UNQUALIFIED
Francesco Y SergiGermanyAsiya Javayant NEW
Jones L FigeroaJapanElwin Sharvill NEGOTIATION
Rodrigues N CampainArgentinaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith F StockhamItaly2024-06-07Printing Dimensions NEGOTIATION15Amy Elsner
1001Clifford S AlbaresFrance2024-06-21Buckley Miller Wright NEW23Stephen Shaw
1002Murillo T DarakjyBrazil2024-06-20Printing Dimensions PROPOSAL71Ivan Magalhaes
1003Greenwood J IturbideIndia2024-06-05King, Christopher A Esq NEGOTIATION46Bernardo Dominic
1004Wickens B MarrierRussia2024-05-28King, Christopher A Esq RENEWAL89Elwin Sharvill
1005Nicolas Z NestleIndia2024-06-13Printing Dimensions NEGOTIATION26Bernardo Dominic
1006Kadeem N FerenczJapan2024-05-26Commercial Press NEW76Asiya Javayant
1007Jefferson N CaudySpain2024-05-25Printing Dimensions QUALIFIED18Amy Elsner
1008Sinclair C FollerItaly2024-06-07Feltz Printing Service NEGOTIATION34Elwin Sharvill
1009Leja O BologniaJapan2024-06-03Commercial Press NEW90Asiya Javayant
1010Munro K GarufiGermany2024-06-12Rousseaux, Michael Esq UNQUALIFIED70Amy Elsner
1011Cody I WaycottCanada2024-06-12Morlong Associates NEW85Xuxue Feng
1012Ashley S SaylorsAustralia2024-05-26Chemel, James L Cpa UNQUALIFIED9Stephen Shaw
1013Misaki T FigeroaBrazil2024-05-24Feiner Bros PROPOSAL69Ioni Bowcher
1014Ashley N RoysterArgentina2024-06-01Dorl, James J Esq NEGOTIATION98Stephen Shaw
1015Aruna N SergiIndia2024-06-20Feiner Bros QUALIFIED56Elwin Sharvill
1016Tony X BriddickGermany2024-06-17Commercial Press NEW79Ioni Bowcher
1017Izzy T WieserBrazil2024-06-07Feltz Printing Service NEW97Bernardo Dominic
1018Aika R SlusarskiItaly2024-06-05Feltz Printing Service NEW87Ivan Magalhaes
1019Emily D GarufiBrazil2024-06-10Rousseaux, Michael Esq QUALIFIED1Anna Fali
1020Morrow R VocelkaCanada2024-06-07Dorl, James J Esq RENEWAL24Ivan Magalhaes
1021Johnson D RulapaughBrazil2024-06-20Feltz Printing Service NEW76Onyama Limba
1022Izzy Y SaylorsGermany2024-05-25Chemel, James L Cpa UNQUALIFIED46Onyama Limba
1023Jones G MarrierRussia2024-05-29Morlong Associates QUALIFIED41Ivan Magalhaes
1024Chavez Z RimIndia2024-06-14Dorl, James J Esq NEW59Bernardo Dominic
1025Wickens V PaprockiIndia2024-06-02Benton, John B Jr NEW20Onyama Limba
1026Leja M OldroydBrazil2024-06-08Commercial Press RENEWAL96Ivan Magalhaes
1027Deepesh X NestleUnited Kingdom2024-06-03Chemel, James L Cpa PROPOSAL51Stephen Shaw
1028Ivar J ShinkoArgentina2024-06-13Rangoni Of Florence PROPOSAL89Elwin Sharvill
1029Izzy T AmigonFrance2024-06-01Truhlar And Truhlar Attys UNQUALIFIED73Ivan Magalhaes
1030Stacey K PoquetteAustralia2024-05-28Chemel, James L Cpa PROPOSAL19Asiya Javayant
1031Aika M DarakjyGermany2024-06-13Rousseaux, Michael Esq PROPOSAL46Asiya Javayant
1032Maisha B ChuiItaly2024-06-18King, Christopher A Esq UNQUALIFIED76Amy Elsner
1033Deepesh H GlickAustralia2024-05-30Chanay, Jeffrey A Esq PROPOSAL1Amy Elsner
1034Jeanfrancois E MacleadIndia2024-06-18Dorl, James J Esq UNQUALIFIED60Bernardo Dominic
1035Octavia V DoeArgentina2024-06-21Truhlar And Truhlar Attys NEGOTIATION90Anna Fali
1036Julie O BologniaGermany2024-05-25Benton, John B Jr QUALIFIED91Bernardo Dominic
1037Silvio B MarrierGermany2024-06-11Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1038Johnson A MacleadSpain2024-05-29Chapman, Ross E Esq NEW22Asiya Javayant
1039Cody O BriddickJapan2024-06-04Rangoni Of Florence QUALIFIED63Stephen Shaw
1040Jefferson G RulapaughJapan2024-05-30Buckley Miller Wright RENEWAL53Ioni Bowcher
1041Leja B DarakjyIndia2024-06-03Chanay, Jeffrey A Esq PROPOSAL4Ivan Magalhaes
1042Julie B MorascaAustralia2024-06-13Buckley Miller Wright NEGOTIATION58Onyama Limba
1043Mayumi M PerinGermany2024-06-02King, Christopher A Esq PROPOSAL4Bernardo Dominic
1044David H IturbideSpain2024-06-18Benton, John B Jr RENEWAL36Asiya Javayant
1045Octavia T BowleyJapan2024-05-26Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1046Alejandro S DilliardJapan2024-05-25King, Christopher A Esq NEW8Ivan Magalhaes
1047Misaki V DoeBrazil2024-06-19Truhlar And Truhlar Attys NEGOTIATION61Xuxue Feng
1048Maisha F MaletJapan2024-06-09Dorl, James J Esq NEW14Elwin Sharvill
1049Emily J ChuiRussia2024-06-10Dorl, James J Esq NEGOTIATION46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens N RulapaughFranceStephen Shaw QUALIFIED
Leja R PerinFranceAmy Elsner UNQUALIFIED
Mujtaba J WaycottJapanOnyama Limba NEW
Antonio L BriddickRussiaAmy Elsner PROPOSAL
Silvio U AlbaresRussiaAsiya Javayant NEGOTIATION
Aruna T BologniaFranceStephen Shaw QUALIFIED
Ricardo S DarakjyItalyAmy Elsner RENEWAL
Julie K BriddickSpainAmy Elsner QUALIFIED
Jeanfrancois X KolmetzGermanyStephen Shaw PROPOSAL
Arvin E SlusarskiGermanyBernardo Dominic RENEWAL
Tony D PerinUnited KingdomAmy Elsner UNQUALIFIED
Morrow D OldroydArgentinaElwin Sharvill PROPOSAL
Jones I IturbideJapanElwin Sharvill UNQUALIFIED
Deepesh M CampainArgentinaXuxue Feng PROPOSAL
Misaki X FlosiRussiaElwin Sharvill NEW
Kaitlin V ChuiIndiaAnna Fali PROPOSAL
Darci N AmigonBrazilIvan Magalhaes NEW
Stacey Z PaprockiJapanOnyama Limba NEW
Isabel S FollerCanadaXuxue Feng UNQUALIFIED
Silvio X MaletBrazilAnna Fali NEGOTIATION
Octavia B OstroskyArgentinaStephen Shaw PROPOSAL
Darci H NickaCanadaOnyama Limba NEW
Leja T ShinkoJapanStephen Shaw RENEWAL
Leon R GarufiRussiaXuxue Feng PROPOSAL
Johnson G InouyeAustraliaAnna Fali PROPOSAL
Maisha G RutaSpainBernardo Dominic RENEWAL
Cody U RutaUnited KingdomOnyama Limba NEGOTIATION
Mayumi I PerinSpainXuxue Feng NEW
Alejandro O BowleyIndiaAmy Elsner RENEWAL
Aika Q FerenczRussiaOnyama Limba QUALIFIED
Emily Y MaletBrazilOnyama Limba RENEWAL
Munro S RutaUnited KingdomAsiya Javayant RENEWAL
Claire A MacleadBrazilOnyama Limba RENEWAL
Silvio M CampainSpainOnyama Limba RENEWAL
Murillo V GauchoFranceAnna Fali UNQUALIFIED
Faith B SaylorsJapanAmy Elsner NEGOTIATION
Jefferson F NestleAustraliaIoni Bowcher QUALIFIED
Aruna F RoysterFranceAmy Elsner PROPOSAL
Leon B GillianUnited KingdomAmy Elsner NEW
Morrow S MaletGermanyAmy Elsner NEW
Claire W FigeroaAustraliaBernardo Dominic NEGOTIATION
Stacey U WhobreyJapanOnyama Limba RENEWAL
Sinclair L BowleyAustraliaElwin Sharvill PROPOSAL
James U FerenczFranceIoni Bowcher RENEWAL
Octavia M FigeroaIndiaXuxue Feng UNQUALIFIED
Sinclair U VocelkaItalyAsiya Javayant UNQUALIFIED
Nicolas S MaletGermanyElwin Sharvill QUALIFIED
Munro L ChuiFranceAnna Fali UNQUALIFIED
Aika R RimRussiaStephen Shaw UNQUALIFIED
Jefferson W SergiUnited KingdomElwin Sharvill NEW
Frozen Columns
Name
Juan L Flosi
Emily R Butt
Rodrigues F Dilliard
Emily D Waycott
Salvatore Y Garufi
Francesco U Inouye
Misaki Y Kolmetz
Octavia F Iturbide
Costa J Vocelka
Juan I Foller
Ricardo P Bowley
Faith J Shinko
Deepesh T Ruta
Francesco J Schemmer
Jeanfrancois G Shinko
Nicolas L Shinko
Kadeem T Glick
Leon T Wieser
Aditya K Foller
Rodrigues N Stockham
Kadeem E Glick
Octavia A Royster
Kadeem K Whobrey
Darci C Butt
Tony D Vocelka
Aruna D Maclead
Silvio C Gillian
Salvatore A Schemmer
Johnson K Schemmer
Izzy N Amigon
Jefferson V Poquette
Greenwood W Ferencz
Ivar J Darakjy
Salvatore I Sergi
Aika P Waycott
Wickens J Nestle
Ricardo P Doe
Ricardo A Foller
Mujtaba G Figeroa
Leja C Chui
Julie O Dilliard
Faith J Glick
Arvin A Whobrey
Izzy O Royster
Jones G Briddick
Emily V Caldarera
David O Chui
Silvio N Perin
Misaki N Nicka
Aditya W Schemmer
IdCountryDate
1000United Kingdom2024-06-13
1001Brazil2024-05-28
1002Germany2024-05-30
1003Australia2024-05-24
1004United Kingdom2024-06-04
1005Italy2024-06-01
1006Australia2024-06-22
1007Japan2024-06-17
1008India2024-06-11
1009Japan2024-06-19
1010Japan2024-06-02
1011Spain2024-06-14
1012Italy2024-06-15
1013Italy2024-06-21
1014Russia2024-05-30
1015Australia2024-05-26
1016Brazil2024-05-28
1017Russia2024-06-05
1018France2024-06-16
1019Canada2024-06-04
1020India2024-05-27
1021Japan2024-05-26
1022Japan2024-06-09
1023Germany2024-05-24
1024Brazil2024-05-31
1025Italy2024-06-20
1026Canada2024-06-20
1027Spain2024-06-03
1028Germany2024-06-13
1029India2024-05-26
1030Australia2024-06-21
1031Canada2024-06-06
1032Italy2024-06-21
1033Spain2024-06-03
1034United Kingdom2024-05-28
1035Argentina2024-06-07
1036France2024-06-17
1037Spain2024-06-03
1038Argentina2024-06-21
1039United Kingdom2024-06-04
1040United Kingdom2024-05-25
1041Spain2024-06-12
1042Brazil2024-06-08
1043Russia2024-06-03
1044France2024-06-18
1045Japan2024-06-01
1046Russia2024-06-10
1047Russia2024-06-14
1048Brazil2024-06-18
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
Faith I Gillian1000United Kingdom2024-05-30
Mayumi Y Paprocki1001India2024-06-15
Alejandro X Garufi1002Canada2024-05-28
Munro Z Foller1003Japan2024-06-20
Maria B Royster1004Japan2024-06-17
Ricardo Q Ferencz1005Japan2024-06-18
Ivar H Venere1006Russia2024-06-03
Wickens S Rulapaugh1007Australia2024-05-24
Murillo D Ostrosky1008Spain2024-06-04
James Q Inouye1009France2024-05-27
Arvin V Flosi1010India2024-05-25
Ashley Y Royster1011Argentina2024-06-19
Leon G Campain1012France2024-05-27
Emily U Dilliard1013Germany2024-05-29
Maisha Q Morasca1014Spain2024-06-18
Adams D Garufi1015Canada2024-06-21
Octavia S Shinko1016Italy2024-06-21
Jeanfrancois D Stockham1017Brazil2024-06-16
Ashley Q Whobrey1018Japan2024-06-18
Cody B Rim1019Spain2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio V MorascaFranceAnna Fali PROPOSAL
Darci A StockhamRussiaXuxue Feng RENEWAL
Mayumi K StockhamIndiaAsiya Javayant NEGOTIATION
Jones S StockhamItalyIvan Magalhaes PROPOSAL
Kaitlin Z CaudyFranceIoni Bowcher NEW
Deepesh J BologniaItalyStephen Shaw RENEWAL
Ashley T FigeroaItalyElwin Sharvill RENEWAL
Ricardo W BologniaItalyOnyama Limba QUALIFIED
Julie X CampainIndiaBernardo Dominic PROPOSAL
Deepesh W MaletBrazilStephen Shaw UNQUALIFIED
Aditya P FigeroaItalyElwin Sharvill RENEWAL
Morrow O ChuiCanadaElwin Sharvill PROPOSAL
Jennifer F PaprockiBrazilOnyama Limba RENEWAL
Isabel O GarufiItalyIoni Bowcher PROPOSAL
David J AlbaresFranceIoni Bowcher NEW
Kaitlin L CampainJapanIvan Magalhaes UNQUALIFIED
Claire Q OldroydJapanElwin Sharvill NEW
Izzy U StockhamBrazilIvan Magalhaes QUALIFIED
Morrow Z VenereSpainAsiya Javayant PROPOSAL
Smith I SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Ivar U WaycottCanadaOnyama Limba RENEWAL
Kaitlin V KuskoBrazilOnyama Limba NEGOTIATION
Octavia E NickaArgentinaAmy Elsner NEW
Jeanfrancois A DarakjyFranceStephen Shaw NEGOTIATION
Faith J NickaIndiaBernardo Dominic NEGOTIATION
Izzy U GauchoItalyAmy Elsner UNQUALIFIED
Claire S OldroydSpainAmy Elsner NEW
Isabel A MaletRussiaElwin Sharvill PROPOSAL
Maisha T FlosiItalyAmy Elsner NEW
Emily M IturbideCanadaXuxue Feng RENEWAL
Kadeem C BowleyGermanyXuxue Feng UNQUALIFIED
Cody M MarrierGermanyIvan Magalhaes PROPOSAL
Jefferson A TollnerArgentinaBernardo Dominic RENEWAL
Julie W GillianCanadaOnyama Limba UNQUALIFIED
Jennifer N DilliardJapanIvan Magalhaes RENEWAL
Jennifer C OldroydGermanyElwin Sharvill QUALIFIED
Clifford Z WieserIndiaElwin Sharvill RENEWAL
Arvin U AmigonBrazilOnyama Limba QUALIFIED
Clifford Q FollerFranceBernardo Dominic NEW
Maria N PaprockiJapanAnna Fali 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>