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
Mujtaba B RutaArgentinaAnna Fali PROPOSAL
Faith Z SergiIndiaXuxue Feng NEW
Darci G RutaBrazilStephen Shaw UNQUALIFIED
Maisha W OstroskyArgentinaAnna Fali RENEWAL
Alejandro S FlosiFranceOnyama Limba UNQUALIFIED
Leja S RimUnited KingdomAnna Fali RENEWAL
Ashley F MaletJapanElwin Sharvill RENEWAL
Claire B KolmetzAustraliaBernardo Dominic RENEWAL
Costa I FerenczItalyIvan Magalhaes UNQUALIFIED
Jones L GlickCanadaIvan Magalhaes QUALIFIED
Salvatore A ButtItalyAnna Fali QUALIFIED
Arvin N MarrierGermanyIoni Bowcher NEGOTIATION
Francesco S FigeroaFranceXuxue Feng RENEWAL
Deepesh T RulapaughAustraliaAmy Elsner PROPOSAL
Chavez Z OstroskySpainIoni Bowcher QUALIFIED
Mujtaba W StockhamBrazilOnyama Limba PROPOSAL
Antonio O ChuiItalyXuxue Feng RENEWAL
Faith H AmigonCanadaAnna Fali NEGOTIATION
Rodrigues R GarufiJapanBernardo Dominic NEGOTIATION
Rodrigues J BologniaRussiaIvan Magalhaes UNQUALIFIED
Sinclair K VocelkaArgentinaAnna Fali NEGOTIATION
Sinclair B SergiUnited KingdomElwin Sharvill NEGOTIATION
Kadeem J DilliardRussiaAsiya Javayant RENEWAL
Ricardo L SaylorsRussiaIoni Bowcher RENEWAL
Ivar O ButtSpainElwin Sharvill QUALIFIED
Aika Q SaylorsGermanyAmy Elsner RENEWAL
Ivar V CampainItalyIvan Magalhaes PROPOSAL
Misaki B WaycottGermanyElwin Sharvill QUALIFIED
Adams D BriddickFranceAsiya Javayant UNQUALIFIED
Francesco Y MorascaAustraliaAnna Fali NEW
Johnson V StockhamAustraliaAnna Fali RENEWAL
Wickens X MacleadSpainStephen Shaw QUALIFIED
Maisha G DarakjyRussiaOnyama Limba UNQUALIFIED
Morrow E SchemmerCanadaOnyama Limba QUALIFIED
Mujtaba V PerinCanadaOnyama Limba UNQUALIFIED
Mujtaba J SchemmerSpainBernardo Dominic QUALIFIED
Antonio T WieserFranceXuxue Feng NEW
Izzy O DoeUnited KingdomXuxue Feng PROPOSAL
Leja O SaylorsBrazilOnyama Limba NEGOTIATION
Ivar M InouyeUnited KingdomAnna Fali UNQUALIFIED
Deepesh G FigeroaArgentinaElwin Sharvill QUALIFIED
Mayumi L CaudyRussiaOnyama Limba QUALIFIED
Darci I CampainBrazilIvan Magalhaes NEW
Octavia V MorascaItalyAnna Fali UNQUALIFIED
Greenwood B SergiRussiaStephen Shaw PROPOSAL
Ricardo H MaletIndiaAsiya Javayant PROPOSAL
Salvatore K VocelkaCanadaIoni Bowcher NEW
James C OldroydJapanStephen Shaw NEW
Isabel P CaudySpainAnna Fali NEGOTIATION
Claire N PoquetteAustraliaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood E ButtSpainAnna Fali NEGOTIATION
Salvatore N NestleIndiaAmy Elsner UNQUALIFIED
Julie D BowleyIndiaAmy Elsner NEW
Isabel V GauchoAustraliaAsiya Javayant PROPOSAL
Alejandro Q MarrierIndiaAnna Fali NEGOTIATION
Deepesh V AlbaresCanadaElwin Sharvill QUALIFIED
Darci T OstroskyBrazilIvan Magalhaes NEW
Deepesh T GarufiAustraliaAnna Fali NEGOTIATION
Emily Z ButtItalyAmy Elsner UNQUALIFIED
Jefferson R BowleyFranceAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi H FlosiJapan2024-05-20Rousseaux, Michael Esq PROPOSAL29Onyama Limba
1001Rodrigues J ButtItaly2024-06-02Benton, John B Jr PROPOSAL13Amy Elsner
1002Johnson D NestleRussia2024-05-23Commercial Press NEGOTIATION91Asiya Javayant
1003Ricardo X ShinkoArgentina2024-05-30Printing Dimensions QUALIFIED28Ivan Magalhaes
1004Ivar Q FollerJapan2024-05-28Rousseaux, Michael Esq PROPOSAL8Onyama Limba
1005Maisha C FigeroaCanada2024-05-19Truhlar And Truhlar Attys NEW61Bernardo Dominic
1006Claire B FlosiSpain2024-06-05Chapman, Ross E Esq NEGOTIATION97Ivan Magalhaes
1007Munro M CaldareraItaly2024-06-17Chemel, James L Cpa RENEWAL13Asiya Javayant
1008Mujtaba I FigeroaRussia2024-06-10Rousseaux, Michael Esq PROPOSAL21Stephen Shaw
1009Stacey Y NestleJapan2024-06-03Buckley Miller Wright RENEWAL6Xuxue Feng
1010Rodrigues U GillianCanada2024-05-27Chapman, Ross E Esq PROPOSAL51Onyama Limba
1011Izzy A KolmetzSpain2024-05-19Printing Dimensions NEGOTIATION45Onyama Limba
1012Faith I SergiFrance2024-05-23Printing Dimensions PROPOSAL97Xuxue Feng
1013David I StensethGermany2024-05-19Dorl, James J Esq RENEWAL70Xuxue Feng
1014Silvio Q FlosiRussia2024-06-02Printing Dimensions NEGOTIATION94Asiya Javayant
1015Stacey E GauchoFrance2024-06-06Rangoni Of Florence RENEWAL64Anna Fali
1016Jefferson C OstroskySpain2024-06-05Benton, John B Jr NEGOTIATION44Bernardo Dominic
1017Deepesh T FigeroaBrazil2024-06-03Rousseaux, Michael Esq NEGOTIATION21Elwin Sharvill
1018Aruna M TollnerBrazil2024-05-30Benton, John B Jr RENEWAL38Onyama Limba
1019Jefferson Q MarrierJapan2024-06-04Feltz Printing Service UNQUALIFIED26Onyama Limba
1020Claire Z RimGermany2024-05-22Feltz Printing Service NEGOTIATION60Asiya Javayant
1021Rodrigues A GillianFrance2024-06-14Morlong Associates NEGOTIATION54Anna Fali
1022Alejandro F AmigonItaly2024-06-11Rangoni Of Florence PROPOSAL35Anna Fali
1023Juan F InouyeIndia2024-06-12Rangoni Of Florence PROPOSAL37Bernardo Dominic
1024Clifford J MaletJapan2024-06-07Buckley Miller Wright QUALIFIED98Amy Elsner
1025Claire R RutaBrazil2024-05-21Commercial Press NEGOTIATION6Xuxue Feng
1026Deepesh C RoysterGermany2024-05-25Rangoni Of Florence UNQUALIFIED52Xuxue Feng
1027Mayumi Y GarufiUnited Kingdom2024-06-16Rousseaux, Michael Esq NEW52Xuxue Feng
1028Murillo Y RulapaughAustralia2024-06-14Truhlar And Truhlar Attys PROPOSAL12Asiya Javayant
1029Kaitlin Z OldroydBrazil2024-05-28Feltz Printing Service PROPOSAL56Xuxue Feng
1030Claire L CampainGermany2024-05-28Chemel, James L Cpa QUALIFIED30Amy Elsner
1031Tony B MorascaGermany2024-06-03Chapman, Ross E Esq NEW44Stephen Shaw
1032Jones U PaprockiAustralia2024-05-25Rousseaux, Michael Esq NEW52Onyama Limba
1033Julie D GarufiCanada2024-06-02Chemel, James L Cpa RENEWAL35Onyama Limba
1034Salvatore G PerinJapan2024-06-15Dorl, James J Esq PROPOSAL52Onyama Limba
1035Mujtaba N SaylorsBrazil2024-06-08Chanay, Jeffrey A Esq PROPOSAL95Stephen Shaw
1036Francesco Z InouyeCanada2024-06-09Rangoni Of Florence NEW9Xuxue Feng
1037Emily X AlbaresRussia2024-06-11Rousseaux, Michael Esq NEW41Amy Elsner
1038Jones K VocelkaCanada2024-05-20Chapman, Ross E Esq PROPOSAL33Xuxue Feng
1039Smith X NickaArgentina2024-05-26Chanay, Jeffrey A Esq RENEWAL37Bernardo Dominic
1040Silvio I RutaJapan2024-05-27Chanay, Jeffrey A Esq QUALIFIED98Stephen Shaw
1041Maria W BriddickAustralia2024-06-01Commercial Press RENEWAL28Bernardo Dominic
1042Claire R FlosiItaly2024-06-01Morlong Associates UNQUALIFIED13Bernardo Dominic
1043Maria C WhobreySpain2024-06-09Morlong Associates NEW96Ioni Bowcher
1044Leon J MorascaIndia2024-06-05Feiner Bros NEGOTIATION12Ioni Bowcher
1045Mayumi Y MarrierGermany2024-06-15Rousseaux, Michael Esq PROPOSAL99Stephen Shaw
1046Antonio E MaletJapan2024-06-09Chemel, James L Cpa UNQUALIFIED18Elwin Sharvill
1047Greenwood B PoquetteBrazil2024-05-25Rangoni Of Florence RENEWAL17Onyama Limba
1048Jennifer O ButtItaly2024-05-27Truhlar And Truhlar Attys NEGOTIATION37Amy Elsner
1049Mayumi S ChuiAustralia2024-05-28Feltz Printing Service QUALIFIED9Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Stacey K DarakjyBrazilIvan Magalhaes QUALIFIED
Sinclair B GarufiUnited KingdomXuxue Feng NEW
Ricardo W FigeroaGermanyIvan Magalhaes NEW
Smith M MarrierItalyAnna Fali PROPOSAL
Misaki J GlickUnited KingdomOnyama Limba NEW
Claire G MaletGermanyOnyama Limba UNQUALIFIED
Chavez X FlosiRussiaStephen Shaw UNQUALIFIED
Antonio N RoysterItalyAnna Fali RENEWAL
Juan K SergiJapanBernardo Dominic NEGOTIATION
Octavia U AlbaresBrazilAmy Elsner UNQUALIFIED
Munro A KolmetzJapanOnyama Limba NEW
Murillo G NickaCanadaStephen Shaw PROPOSAL
Kaitlin U PaprockiAustraliaElwin Sharvill NEGOTIATION
Alejandro D FollerRussiaAnna Fali UNQUALIFIED
Ricardo P DarakjyAustraliaXuxue Feng UNQUALIFIED
Ricardo B ButtUnited KingdomXuxue Feng UNQUALIFIED
Aika N GarufiItalyOnyama Limba NEW
Mayumi B StockhamFranceAnna Fali RENEWAL
Antonio K DarakjyGermanyOnyama Limba QUALIFIED
Wickens V CaldareraAustraliaStephen Shaw RENEWAL
Johnson W InouyeCanadaAsiya Javayant RENEWAL
Silvio T DarakjyBrazilOnyama Limba PROPOSAL
Sinclair D CaldareraIndiaIvan Magalhaes RENEWAL
Francesco C FerenczFranceElwin Sharvill RENEWAL
Emily V BriddickArgentinaOnyama Limba NEW
Deepesh Q MacleadGermanyXuxue Feng UNQUALIFIED
Cody C BologniaBrazilStephen Shaw RENEWAL
Costa G PerinRussiaBernardo Dominic QUALIFIED
James M StensethSpainAnna Fali RENEWAL
Maisha V ChuiRussiaElwin Sharvill NEGOTIATION
Octavia W WhobreyAustraliaAmy Elsner QUALIFIED
Morrow B ButtSpainAsiya Javayant QUALIFIED
Stacey H MacleadUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues M VenereBrazilOnyama Limba QUALIFIED
Antonio S GlickBrazilAsiya Javayant PROPOSAL
Stacey W SergiUnited KingdomAnna Fali RENEWAL
Jennifer X RoysterFranceOnyama Limba NEW
Cody P WhobreyAustraliaIvan Magalhaes PROPOSAL
Leon P CampainArgentinaOnyama Limba PROPOSAL
Alejandro Z FlosiBrazilBernardo Dominic RENEWAL
Stacey Q PoquetteCanadaIoni Bowcher UNQUALIFIED
Claire E CaldareraFranceIvan Magalhaes NEW
Julie H PerinAustraliaOnyama Limba RENEWAL
Johnson V WieserRussiaElwin Sharvill NEGOTIATION
Kadeem K MacleadIndiaElwin Sharvill RENEWAL
Julie V SchemmerAustraliaIvan Magalhaes RENEWAL
Darci R BowleyRussiaElwin Sharvill UNQUALIFIED
Ivar F FigeroaSpainOnyama Limba RENEWAL
Adams N SaylorsItalyStephen Shaw QUALIFIED
Darci T FigeroaRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
James J Ferencz
Johnson Y Tollner
Emily F Doe
Misaki Y Ostrosky
David Z Flosi
Claire R Stenseth
Arvin X Kusko
Aruna O Flosi
James O Caldarera
Aditya Q Shinko
Francesco K Figeroa
Arvin H Saylors
James C Doe
Cody K Gaucho
Arvin L Foller
Antonio G Maclead
Francesco E Tollner
Isabel S Rim
Jefferson T Ostrosky
Stacey O Garufi
Alejandro G Marrier
Arvin A Flosi
Wickens A Ostrosky
David F Royster
Ashley U Campain
Munro K Garufi
Stacey G Saylors
Claire N Ferencz
Kaitlin E Tollner
Nicolas I Kusko
James O Caudy
Sinclair X Doe
Jennifer A Iturbide
Faith D Stenseth
Emily I Albares
Aditya V Ferencz
Aika Z Kolmetz
Stacey R Garufi
Leon B Foller
Johnson T Darakjy
Deepesh V Sergi
Leja H Rulapaugh
Izzy Q Briddick
Maria E Morasca
Leja I Rim
Julie C Paprocki
Francesco H Malet
James J Stockham
James P Poquette
Wickens G Gillian
IdCountryDate
1000Italy2024-06-17
1001Germany2024-06-15
1002Germany2024-06-12
1003Germany2024-06-01
1004Japan2024-05-30
1005Canada2024-05-24
1006Italy2024-06-17
1007Brazil2024-06-16
1008Japan2024-05-25
1009Australia2024-06-16
1010Brazil2024-06-02
1011Australia2024-05-22
1012Brazil2024-06-07
1013India2024-06-16
1014Russia2024-05-23
1015Japan2024-06-16
1016Russia2024-05-31
1017Argentina2024-06-16
1018Spain2024-05-31
1019Canada2024-06-06
1020France2024-06-12
1021Russia2024-05-30
1022France2024-06-16
1023Argentina2024-06-05
1024France2024-06-01
1025Japan2024-06-17
1026Italy2024-06-13
1027Argentina2024-06-04
1028Australia2024-06-06
1029Japan2024-06-16
1030United Kingdom2024-06-09
1031Australia2024-06-04
1032Germany2024-05-19
1033Spain2024-06-15
1034United Kingdom2024-05-27
1035France2024-06-01
1036Spain2024-06-15
1037Spain2024-05-22
1038Brazil2024-06-13
1039India2024-06-04
1040Germany2024-06-04
1041Spain2024-05-30
1042Japan2024-06-10
1043Canada2024-06-04
1044France2024-06-10
1045United Kingdom2024-05-25
1046France2024-05-28
1047Brazil2024-06-09
1048United Kingdom2024-06-07
1049United Kingdom2024-06-07

On-Demand Data

NameIdCountryDate
Francesco B Butt1000United Kingdom2024-05-28
Arvin M Saylors1001Germany2024-06-13
Ricardo Q Ostrosky1002Italy2024-05-23
Arvin B Whobrey1003Italy2024-06-09
Jones P Marrier1004Australia2024-06-14
Mujtaba R Gaucho1005Japan2024-05-30
Misaki Q Saylors1006Australia2024-05-19
Munro M Kolmetz1007United Kingdom2024-05-24
Leja Y Butt1008India2024-05-21
Isabel V Nestle1009Germany2024-05-19
Aruna J Saylors1010Spain2024-05-24
Juan W Campain1011Canada2024-06-14
Juan S Butt1012Russia2024-05-21
Tony Y Waycott1013Spain2024-05-22
Ashley U Paprocki1014Spain2024-06-06
Mujtaba Z Schemmer1015Spain2024-05-27
James C Marrier1016Australia2024-06-05
Claire K Malet1017France2024-05-23
Deepesh G Inouye1018Germany2024-06-08
Julie H Sergi1019Russia2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem K FigeroaFranceIvan Magalhaes RENEWAL
Julie J GarufiFranceAsiya Javayant QUALIFIED
Emily T GarufiJapanXuxue Feng PROPOSAL
Leja S StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba O FlosiArgentinaElwin Sharvill QUALIFIED
Arvin Y NickaArgentinaIvan Magalhaes NEW
Kaitlin D FigeroaArgentinaBernardo Dominic QUALIFIED
Munro R SchemmerArgentinaAnna Fali NEW
Kaitlin Z RulapaughItalyBernardo Dominic RENEWAL
Octavia S WaycottCanadaElwin Sharvill NEGOTIATION
James R FerenczIndiaXuxue Feng NEGOTIATION
Kaitlin X WaycottGermanyIoni Bowcher UNQUALIFIED
Murillo B PaprockiSpainAmy Elsner RENEWAL
Nicolas D WaycottRussiaIoni Bowcher NEGOTIATION
Cody T FigeroaGermanyBernardo Dominic RENEWAL
Jeanfrancois N OldroydJapanBernardo Dominic RENEWAL
Tony N CaudyJapanAsiya Javayant RENEWAL
Mayumi C MarrierIndiaAsiya Javayant RENEWAL
Murillo W CaudyRussiaIoni Bowcher NEW
Leon W FollerJapanBernardo Dominic RENEWAL
Maisha W RimBrazilIoni Bowcher NEGOTIATION
Aditya C RutaFranceXuxue Feng PROPOSAL
Leja R NestleUnited KingdomAnna Fali RENEWAL
Chavez X NestleIndiaAsiya Javayant NEGOTIATION
Ricardo Q SergiIndiaAsiya Javayant UNQUALIFIED
Chavez Y PerinUnited KingdomAsiya Javayant UNQUALIFIED
Ashley N RulapaughItalyAnna Fali QUALIFIED
Claire C KuskoIndiaIvan Magalhaes NEGOTIATION
Claire V WieserCanadaIvan Magalhaes UNQUALIFIED
Munro A DilliardBrazilAnna Fali NEW
Chavez U AmigonRussiaXuxue Feng NEGOTIATION
Costa A RutaIndiaAmy Elsner NEW
Emily B ButtArgentinaOnyama Limba NEGOTIATION
Jones G DilliardBrazilAmy Elsner NEW
Morrow J ChuiCanadaElwin Sharvill QUALIFIED
Faith L GauchoItalyElwin Sharvill NEGOTIATION
Misaki I OldroydSpainBernardo Dominic NEGOTIATION
David V DarakjyCanadaBernardo Dominic NEGOTIATION
Ashley H PaprockiItalyAmy Elsner NEW
Morrow J KuskoGermanyOnyama Limba 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>