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
Jennifer L VenereItalyAsiya Javayant UNQUALIFIED
Wickens R MorascaGermanyAnna Fali RENEWAL
Maisha Z ChuiUnited KingdomStephen Shaw PROPOSAL
Adams S VenereAustraliaStephen Shaw PROPOSAL
Arvin O RimSpainElwin Sharvill PROPOSAL
Kadeem W BowleyAustraliaAnna Fali NEW
David W MaletCanadaAsiya Javayant PROPOSAL
Leja B SlusarskiGermanyElwin Sharvill QUALIFIED
Jones U SlusarskiJapanIoni Bowcher NEGOTIATION
Silvio O OstroskyRussiaOnyama Limba UNQUALIFIED
Francesco B KuskoJapanXuxue Feng QUALIFIED
Ivar R FlosiFranceIvan Magalhaes QUALIFIED
Alejandro G ChuiCanadaElwin Sharvill NEGOTIATION
Cody P DoeCanadaIvan Magalhaes UNQUALIFIED
Sinclair G FigeroaGermanyElwin Sharvill QUALIFIED
Ricardo Z CampainAustraliaStephen Shaw UNQUALIFIED
Sinclair B DilliardBrazilElwin Sharvill UNQUALIFIED
Chavez D DoeIndiaIoni Bowcher PROPOSAL
Kaitlin R MorascaFranceAnna Fali NEW
Jefferson J SchemmerBrazilAmy Elsner NEGOTIATION
Juan U ButtCanadaXuxue Feng QUALIFIED
Maisha E PoquetteFranceStephen Shaw PROPOSAL
David N SergiArgentinaXuxue Feng UNQUALIFIED
Johnson T NickaArgentinaAsiya Javayant QUALIFIED
Munro W OstroskyAustraliaAmy Elsner NEGOTIATION
Emily I VocelkaIndiaAsiya Javayant NEGOTIATION
Cody Z GauchoJapanOnyama Limba RENEWAL
Aika Q RulapaughArgentinaBernardo Dominic UNQUALIFIED
Izzy U FerenczGermanyXuxue Feng PROPOSAL
Julie U KuskoBrazilIvan Magalhaes PROPOSAL
Munro Y NestleCanadaXuxue Feng UNQUALIFIED
Clifford B WieserGermanyAmy Elsner RENEWAL
Kaitlin E BologniaArgentinaStephen Shaw UNQUALIFIED
David B GauchoRussiaBernardo Dominic QUALIFIED
Maisha S IturbideSpainAsiya Javayant PROPOSAL
Antonio M IturbideAustraliaElwin Sharvill NEW
Kaitlin A KolmetzIndiaXuxue Feng NEW
Tony J FigeroaItalyElwin Sharvill QUALIFIED
Ashley N FlosiAustraliaAnna Fali UNQUALIFIED
Alejandro D BriddickUnited KingdomXuxue Feng RENEWAL
Sinclair W DoeIndiaStephen Shaw RENEWAL
Ricardo C SaylorsJapanBernardo Dominic PROPOSAL
Sinclair D DarakjyArgentinaXuxue Feng PROPOSAL
Arvin N SlusarskiArgentinaOnyama Limba PROPOSAL
Alejandro Z MaletAustraliaElwin Sharvill UNQUALIFIED
Jennifer I SchemmerJapanIoni Bowcher QUALIFIED
Izzy D RimRussiaXuxue Feng NEW
Isabel A RulapaughBrazilIoni Bowcher RENEWAL
Alejandro U FlosiArgentinaAnna Fali UNQUALIFIED
Ivar B ShinkoCanadaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro J VocelkaArgentinaXuxue Feng NEGOTIATION
Leja T MorascaFranceStephen Shaw NEGOTIATION
Munro C RoysterSpainAnna Fali UNQUALIFIED
Ashley M MarrierItalyIoni Bowcher RENEWAL
Stacey C RimJapanElwin Sharvill PROPOSAL
Alejandro R MaletArgentinaAsiya Javayant NEGOTIATION
Emily Z CaldareraBrazilElwin Sharvill UNQUALIFIED
Emily O NickaJapanAsiya Javayant QUALIFIED
Munro I ChuiUnited KingdomIoni Bowcher UNQUALIFIED
David J NickaBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel D BologniaItaly2024-05-22Truhlar And Truhlar Attys NEW99Asiya Javayant
1001Greenwood U DilliardFrance2024-04-30Commercial Press UNQUALIFIED61Elwin Sharvill
1002Rodrigues V FigeroaFrance2024-05-20Truhlar And Truhlar Attys NEW94Onyama Limba
1003Clifford X BriddickSpain2024-05-18Dorl, James J Esq PROPOSAL84Xuxue Feng
1004Maisha I IturbideJapan2024-04-25Commercial Press NEW93Stephen Shaw
1005Aditya Y DoeAustralia2024-05-07Chemel, James L Cpa NEW90Ivan Magalhaes
1006Cody E AmigonRussia2024-05-10Truhlar And Truhlar Attys PROPOSAL64Bernardo Dominic
1007Faith Z AlbaresBrazil2024-05-14Chemel, James L Cpa NEW39Ivan Magalhaes
1008Ivar X SaylorsIndia2024-05-11Feiner Bros PROPOSAL21Ioni Bowcher
1009Stacey A SlusarskiIndia2024-05-07Benton, John B Jr NEW60Asiya Javayant
1010Antonio R StockhamRussia2024-04-30Buckley Miller Wright NEGOTIATION89Ivan Magalhaes
1011Aruna S OstroskyIndia2024-05-14Printing Dimensions NEGOTIATION37Onyama Limba
1012Mujtaba V RoysterJapan2024-05-21Chanay, Jeffrey A Esq QUALIFIED41Onyama Limba
1013Antonio W SergiIndia2024-05-04Benton, John B Jr NEGOTIATION83Ioni Bowcher
1014Aika N PoquetteRussia2024-05-08Chemel, James L Cpa NEGOTIATION42Bernardo Dominic
1015Emily E KuskoFrance2024-05-04Dorl, James J Esq RENEWAL46Amy Elsner
1016Jennifer I AlbaresSpain2024-05-08Chapman, Ross E Esq NEW44Onyama Limba
1017Ivar I StensethBrazil2024-05-14Rousseaux, Michael Esq UNQUALIFIED56Ivan Magalhaes
1018Leja G IturbideFrance2024-05-18Buckley Miller Wright RENEWAL50Amy Elsner
1019Cody R MacleadSpain2024-05-10Feltz Printing Service RENEWAL7Anna Fali
1020Aditya M SaylorsIndia2024-05-13King, Christopher A Esq NEGOTIATION46Stephen Shaw
1021Octavia C KuskoAustralia2024-05-09Benton, John B Jr RENEWAL8Anna Fali
1022Ivar W CampainUnited Kingdom2024-05-16Feiner Bros NEW61Amy Elsner
1023Ricardo S SchemmerSpain2024-05-13Feiner Bros NEW15Xuxue Feng
1024Kadeem E PoquetteJapan2024-05-09King, Christopher A Esq QUALIFIED7Anna Fali
1025Faith F StockhamUnited Kingdom2024-05-07Chemel, James L Cpa NEGOTIATION19Bernardo Dominic
1026Juan U PaprockiItaly2024-04-25Benton, John B Jr UNQUALIFIED68Elwin Sharvill
1027Emily V StockhamIndia2024-04-30King, Christopher A Esq QUALIFIED20Asiya Javayant
1028Rodrigues V RulapaughCanada2024-05-03King, Christopher A Esq UNQUALIFIED39Anna Fali
1029Emily F FollerJapan2024-05-13Buckley Miller Wright NEW59Bernardo Dominic
1030Mayumi Q StensethJapan2024-05-20Dorl, James J Esq UNQUALIFIED64Ivan Magalhaes
1031Salvatore I FlosiArgentina2024-05-04Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1032Ashley H GillianBrazil2024-05-19Feltz Printing Service UNQUALIFIED28Ivan Magalhaes
1033Deepesh L AmigonRussia2024-05-21King, Christopher A Esq NEGOTIATION10Elwin Sharvill
1034Costa U GauchoArgentina2024-04-28Chapman, Ross E Esq UNQUALIFIED97Bernardo Dominic
1035Mayumi E NestleFrance2024-05-21King, Christopher A Esq RENEWAL27Stephen Shaw
1036Adams Y PaprockiIndia2024-05-22Truhlar And Truhlar Attys NEGOTIATION82Bernardo Dominic
1037Ivar H InouyeFrance2024-05-03Feiner Bros NEGOTIATION67Xuxue Feng
1038Jennifer W SergiRussia2024-05-22Truhlar And Truhlar Attys NEW87Ivan Magalhaes
1039Sinclair D FlosiAustralia2024-05-21Dorl, James J Esq RENEWAL16Xuxue Feng
1040Rodrigues Z KuskoFrance2024-05-05Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1041Deepesh U OldroydArgentina2024-05-12Chapman, Ross E Esq NEW77Bernardo Dominic
1042Jennifer R VocelkaBrazil2024-05-04Morlong Associates PROPOSAL7Anna Fali
1043Jones J OstroskyCanada2024-04-28Printing Dimensions NEW73Xuxue Feng
1044Salvatore S SlusarskiUnited Kingdom2024-05-06King, Christopher A Esq UNQUALIFIED78Amy Elsner
1045Greenwood D MaletGermany2024-05-06Rangoni Of Florence NEGOTIATION68Asiya Javayant
1046Darci L AlbaresAustralia2024-05-21Feiner Bros NEGOTIATION20Stephen Shaw
1047Smith D NestleSpain2024-05-11Feltz Printing Service PROPOSAL60Asiya Javayant
1048Deepesh S WaycottRussia2024-05-11Commercial Press UNQUALIFIED5Elwin Sharvill
1049Tony M NickaArgentina2024-05-14Chanay, Jeffrey A Esq NEGOTIATION10Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie H FigeroaGermanyIoni Bowcher UNQUALIFIED
Arvin X MacleadBrazilIvan Magalhaes QUALIFIED
Misaki M BologniaJapanIoni Bowcher RENEWAL
Stacey R SaylorsAustraliaAmy Elsner UNQUALIFIED
Antonio Q BowleyUnited KingdomStephen Shaw NEGOTIATION
Isabel J PoquetteItalyElwin Sharvill PROPOSAL
Maisha F BowleyBrazilAmy Elsner NEGOTIATION
Francesco D GlickFranceIvan Magalhaes RENEWAL
Jennifer X NestleFranceIoni Bowcher QUALIFIED
Kaitlin A OstroskyCanadaElwin Sharvill UNQUALIFIED
Nicolas O VenereFranceElwin Sharvill PROPOSAL
Chavez M RutaCanadaBernardo Dominic NEGOTIATION
Ricardo E CaudyRussiaAmy Elsner RENEWAL
Mujtaba B MaletJapanXuxue Feng NEW
Jennifer C VocelkaFranceXuxue Feng UNQUALIFIED
Julie M DilliardRussiaOnyama Limba RENEWAL
Tony L PaprockiCanadaOnyama Limba RENEWAL
Alejandro H IturbideRussiaAnna Fali PROPOSAL
Aruna Z WaycottArgentinaIvan Magalhaes QUALIFIED
Rodrigues T MaletSpainIoni Bowcher NEW
Julie P CaudyJapanXuxue Feng QUALIFIED
Silvio L CaudyFranceOnyama Limba NEGOTIATION
Salvatore C AmigonRussiaAsiya Javayant QUALIFIED
Jennifer I InouyeItalyAmy Elsner PROPOSAL
Nicolas U MarrierCanadaXuxue Feng PROPOSAL
Emily D VocelkaJapanAsiya Javayant NEW
Adams J MorascaIndiaAmy Elsner QUALIFIED
Deepesh Y GillianJapanAmy Elsner UNQUALIFIED
Maisha B FlosiItalyAmy Elsner UNQUALIFIED
Munro R CaudyItalyElwin Sharvill RENEWAL
Maisha Y RulapaughItalyStephen Shaw PROPOSAL
Aika J NickaArgentinaStephen Shaw PROPOSAL
Julie O KolmetzAustraliaStephen Shaw UNQUALIFIED
Morrow W PoquetteGermanyIvan Magalhaes PROPOSAL
Ashley U SchemmerAustraliaStephen Shaw QUALIFIED
Ricardo J VocelkaItalyXuxue Feng UNQUALIFIED
Izzy S FollerUnited KingdomIvan Magalhaes QUALIFIED
Aika Q DarakjySpainXuxue Feng RENEWAL
Leon N DilliardAustraliaElwin Sharvill NEW
Faith F RimGermanyStephen Shaw NEGOTIATION
Clifford E BologniaBrazilIvan Magalhaes PROPOSAL
David Y MacleadArgentinaElwin Sharvill NEW
Alejandro W DilliardUnited KingdomElwin Sharvill NEGOTIATION
Ivar O GauchoArgentinaElwin Sharvill RENEWAL
Rodrigues P GlickJapanStephen Shaw NEGOTIATION
Juan U GlickFranceElwin Sharvill UNQUALIFIED
Munro N VocelkaIndiaBernardo Dominic NEGOTIATION
Adams D BowleyJapanIoni Bowcher RENEWAL
Johnson B BologniaJapanOnyama Limba NEW
Jones S FollerItalyXuxue Feng QUALIFIED
Frozen Columns
Name
Emily O Butt
Salvatore W Figeroa
Octavia V Morasca
Nicolas I Doe
Aika K Stenseth
David E Gaucho
Leja C Morasca
Ivar Q Ostrosky
Emily Q Albares
Munro K Royster
Claire E Perin
Leja S Flosi
Cody J Campain
Munro S Stenseth
Octavia P Royster
Wickens Q Perin
Misaki C Glick
Salvatore I Tollner
Jeanfrancois F Garufi
Alejandro S Nicka
Johnson O Poquette
Jefferson E Foller
Aruna E Bowley
Mayumi T Albares
Alejandro H Gillian
Emily F Kolmetz
Rodrigues N Campain
Ivar N Schemmer
James J Wieser
Morrow S Gillian
Jefferson R Iturbide
Claire P Caudy
Ashley Y Maclead
Sinclair I Figeroa
Greenwood H Whobrey
Jefferson W Inouye
Juan B Stenseth
Maria X Figeroa
Nicolas D Tollner
Wickens U Albares
Leon P Poquette
Adams N Slusarski
Izzy W Royster
Leja R Dilliard
Claire H Amigon
Murillo X Foller
Leja U Royster
Morrow M Ruta
Jeanfrancois G Malet
Jefferson P Poquette
IdCountryDate
1000Japan2024-05-01
1001Argentina2024-05-21
1002Australia2024-05-22
1003Russia2024-04-29
1004Spain2024-05-21
1005Brazil2024-05-04
1006Italy2024-04-29
1007Russia2024-05-17
1008Brazil2024-05-20
1009Italy2024-05-07
1010United Kingdom2024-05-24
1011Russia2024-04-25
1012Germany2024-05-02
1013Russia2024-05-16
1014Spain2024-05-08
1015Argentina2024-05-13
1016Italy2024-05-07
1017Germany2024-05-17
1018Argentina2024-05-17
1019Brazil2024-04-26
1020France2024-04-29
1021India2024-05-15
1022Russia2024-05-16
1023India2024-04-30
1024Canada2024-04-27
1025Argentina2024-05-06
1026France2024-05-13
1027United Kingdom2024-05-18
1028Germany2024-05-18
1029India2024-05-23
1030Argentina2024-05-01
1031United Kingdom2024-05-06
1032Australia2024-05-18
1033Italy2024-05-14
1034France2024-04-27
1035France2024-05-03
1036Russia2024-05-24
1037Russia2024-05-01
1038Argentina2024-05-08
1039Canada2024-05-05
1040Brazil2024-05-06
1041Argentina2024-04-26
1042Italy2024-05-18
1043Italy2024-05-20
1044Germany2024-04-25
1045Germany2024-04-28
1046Italy2024-05-12
1047Spain2024-05-14
1048France2024-05-23
1049Japan2024-05-07

On-Demand Data

NameIdCountryDate
Morrow G Glick1000India2024-05-11
Faith X Flosi1001United Kingdom2024-05-11
Leja M Malet1002Argentina2024-05-07
Aruna V Stockham1003Russia2024-05-11
Maisha N Tollner1004Brazil2024-05-24
Izzy P Saylors1005Brazil2024-05-16
Leon Z Rulapaugh1006India2024-05-24
Deepesh X Doe1007Japan2024-05-01
Stacey G Venere1008Spain2024-05-01
Clifford L Ostrosky1009Italy2024-05-15
Antonio D Nestle1010Germany2024-05-19
Jeanfrancois U Darakjy1011France2024-05-20
Aika L Malet1012Brazil2024-04-28
Chavez F Ostrosky1013India2024-05-09
Sinclair D Stenseth1014India2024-05-22
Jones M Nestle1015France2024-05-15
Munro L Stockham1016United Kingdom2024-05-11
Munro P Oldroyd1017Canada2024-04-25
Adams G Paprocki1018Canada2024-05-14
Kaitlin X Venere1019Spain2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna D CaudyAustraliaAmy Elsner NEW
Isabel G CampainGermanyAmy Elsner PROPOSAL
Jennifer R AmigonIndiaIvan Magalhaes UNQUALIFIED
Isabel D MaletRussiaStephen Shaw PROPOSAL
Johnson J ButtBrazilIoni Bowcher UNQUALIFIED
Jones J FigeroaArgentinaAmy Elsner NEW
Silvio M GlickGermanyStephen Shaw UNQUALIFIED
Adams E GlickBrazilAmy Elsner PROPOSAL
Rodrigues P DilliardIndiaAmy Elsner PROPOSAL
Tony R SchemmerItalyIoni Bowcher RENEWAL
Kadeem T RimArgentinaIvan Magalhaes NEW
Adams O CampainFranceAmy Elsner NEGOTIATION
Darci G VocelkaRussiaBernardo Dominic UNQUALIFIED
Arvin B MacleadCanadaAsiya Javayant RENEWAL
Ivar I DarakjyGermanyAsiya Javayant RENEWAL
Emily Z KolmetzIndiaXuxue Feng QUALIFIED
Ricardo C InouyeBrazilIoni Bowcher UNQUALIFIED
Ivar V BologniaJapanStephen Shaw QUALIFIED
Octavia K CaudyGermanyAnna Fali RENEWAL
Misaki W BriddickCanadaOnyama Limba NEGOTIATION
Darci G SaylorsSpainBernardo Dominic RENEWAL
Greenwood A OstroskyAustraliaOnyama Limba QUALIFIED
Adams U MaletJapanAmy Elsner NEGOTIATION
Aika W AmigonRussiaBernardo Dominic NEW
Smith N DoeFranceAmy Elsner NEGOTIATION
Isabel X PaprockiFranceAnna Fali QUALIFIED
Deepesh V NestleRussiaIoni Bowcher PROPOSAL
Munro B MaletRussiaOnyama Limba NEGOTIATION
Aika O CampainSpainOnyama Limba UNQUALIFIED
Leon A PerinItalyXuxue Feng NEW
Morrow M FerenczIndiaIoni Bowcher UNQUALIFIED
Jennifer Z SchemmerUnited KingdomAmy Elsner PROPOSAL
Mayumi J GarufiIndiaOnyama Limba PROPOSAL
Deepesh S FigeroaCanadaOnyama Limba RENEWAL
Mayumi A InouyeArgentinaAmy Elsner RENEWAL
Darci A RoysterGermanyIoni Bowcher RENEWAL
Ashley Y IturbideBrazilIoni Bowcher QUALIFIED
Emily T RulapaughAustraliaAnna Fali RENEWAL
Emily O GauchoCanadaBernardo Dominic UNQUALIFIED
Jefferson U MorascaRussiaBernardo Dominic 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>