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
David R PaprockiItalyAsiya Javayant NEGOTIATION
Claire G FollerArgentinaOnyama Limba QUALIFIED
Jeanfrancois W SchemmerBrazilOnyama Limba NEW
Antonio G DilliardGermanyAmy Elsner PROPOSAL
Leja J SchemmerBrazilAsiya Javayant NEGOTIATION
Greenwood E SchemmerItalyIoni Bowcher RENEWAL
Arvin P OstroskyItalyAsiya Javayant PROPOSAL
Faith T AlbaresSpainStephen Shaw UNQUALIFIED
Cody L KolmetzCanadaAsiya Javayant NEGOTIATION
James N MorascaJapanIoni Bowcher NEW
Jefferson U KolmetzGermanyStephen Shaw UNQUALIFIED
Alejandro E AmigonAustraliaXuxue Feng PROPOSAL
Emily U CaudySpainXuxue Feng NEGOTIATION
Arvin N ButtItalyStephen Shaw NEW
Aditya T SergiGermanyElwin Sharvill RENEWAL
Nicolas S StensethSpainXuxue Feng UNQUALIFIED
Kaitlin P SlusarskiSpainIoni Bowcher NEW
Jeanfrancois M GarufiSpainXuxue Feng NEGOTIATION
Munro K MarrierRussiaBernardo Dominic UNQUALIFIED
Smith L WieserSpainOnyama Limba NEGOTIATION
Silvio B PaprockiGermanyIvan Magalhaes UNQUALIFIED
Izzy I BowleyFranceBernardo Dominic QUALIFIED
Aditya Z StockhamItalyBernardo Dominic RENEWAL
Chavez Y CampainItalyIvan Magalhaes RENEWAL
Jefferson G RoysterItalyAmy Elsner NEW
James V BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Isabel H SaylorsUnited KingdomBernardo Dominic RENEWAL
Morrow F GlickJapanOnyama Limba UNQUALIFIED
Jefferson O PoquetteIndiaAsiya Javayant NEGOTIATION
Costa A TollnerGermanyStephen Shaw RENEWAL
Julie F GauchoSpainElwin Sharvill RENEWAL
Aruna G VocelkaRussiaIvan Magalhaes NEGOTIATION
Claire Z CaldareraFranceAmy Elsner PROPOSAL
Ivar T SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Maisha C RoysterIndiaElwin Sharvill NEW
Greenwood M VenereGermanyBernardo Dominic NEGOTIATION
Ricardo T DoeGermanyOnyama Limba QUALIFIED
Murillo M CampainBrazilXuxue Feng RENEWAL
Leon T CampainCanadaBernardo Dominic NEGOTIATION
Aditya Z AlbaresCanadaIvan Magalhaes NEGOTIATION
Alejandro Z BriddickAustraliaAnna Fali PROPOSAL
Jones W RimItalyAmy Elsner NEGOTIATION
Ashley Q KuskoJapanBernardo Dominic QUALIFIED
Ricardo H SergiGermanyIoni Bowcher QUALIFIED
Silvio G SaylorsItalyAsiya Javayant UNQUALIFIED
Ivar U StockhamFranceAnna Fali NEGOTIATION
Maria J KuskoCanadaOnyama Limba NEW
Morrow D RulapaughFranceAnna Fali PROPOSAL
Aruna R BologniaArgentinaAmy Elsner NEGOTIATION
Aruna S SergiCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood G KuskoArgentinaAmy Elsner UNQUALIFIED
Smith X CaldareraBrazilAsiya Javayant UNQUALIFIED
Maisha E RulapaughBrazilBernardo Dominic NEW
Jones P RutaSpainBernardo Dominic UNQUALIFIED
Misaki H ShinkoItalyStephen Shaw NEW
Munro S MorascaFranceXuxue Feng PROPOSAL
Claire U MarrierItalyOnyama Limba PROPOSAL
Isabel B CaldareraFranceAmy Elsner NEW
Johnson K VenereAustraliaOnyama Limba NEW
Cody X SaylorsSpainStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo H PoquetteUnited Kingdom2024-06-04Chapman, Ross E Esq RENEWAL39Ioni Bowcher
1001Alejandro P DarakjyIndia2024-05-27Feltz Printing Service RENEWAL41Stephen Shaw
1002Jennifer P BowleyArgentina2024-06-13Benton, John B Jr PROPOSAL85Ioni Bowcher
1003Kadeem S GarufiCanada2024-05-27Feltz Printing Service RENEWAL33Onyama Limba
1004Salvatore E PoquetteIndia2024-06-15Morlong Associates QUALIFIED5Amy Elsner
1005David E VocelkaGermany2024-05-28Benton, John B Jr PROPOSAL48Stephen Shaw
1006Jeanfrancois E AlbaresArgentina2024-06-14Rousseaux, Michael Esq RENEWAL78Bernardo Dominic
1007Cody F WaycottItaly2024-06-12Morlong Associates NEW66Bernardo Dominic
1008Isabel R KuskoRussia2024-06-03King, Christopher A Esq UNQUALIFIED73Bernardo Dominic
1009Aika V KuskoGermany2024-06-21Printing Dimensions UNQUALIFIED9Elwin Sharvill
1010Jefferson W StockhamIndia2024-05-29Benton, John B Jr RENEWAL36Xuxue Feng
1011Salvatore A BologniaCanada2024-06-03Printing Dimensions NEW98Onyama Limba
1012Aruna D GarufiCanada2024-05-27Dorl, James J Esq NEW10Asiya Javayant
1013Clifford Q MaletSpain2024-06-17Printing Dimensions UNQUALIFIED41Bernardo Dominic
1014Misaki O CaldareraRussia2024-06-21Truhlar And Truhlar Attys RENEWAL91Bernardo Dominic
1015Arvin L OldroydBrazil2024-06-13Chapman, Ross E Esq PROPOSAL4Onyama Limba
1016Ivar V InouyeArgentina2024-06-11Benton, John B Jr QUALIFIED85Anna Fali
1017Antonio Z RutaCanada2024-06-07Chemel, James L Cpa PROPOSAL50Onyama Limba
1018Murillo S PoquetteCanada2024-06-01Morlong Associates RENEWAL19Onyama Limba
1019Silvio S ChuiBrazil2024-05-27Morlong Associates NEGOTIATION41Ioni Bowcher
1020Mayumi Y FerenczArgentina2024-06-04Chemel, James L Cpa NEW61Stephen Shaw
1021Jefferson D CampainUnited Kingdom2024-05-25Chemel, James L Cpa QUALIFIED39Elwin Sharvill
1022Jefferson K GlickRussia2024-06-16Chanay, Jeffrey A Esq NEGOTIATION40Asiya Javayant
1023Greenwood G RutaGermany2024-05-25Chemel, James L Cpa NEW34Amy Elsner
1024Darci H DilliardItaly2024-06-10Feltz Printing Service NEW45Asiya Javayant
1025Aruna Z DilliardSpain2024-05-28Buckley Miller Wright RENEWAL11Stephen Shaw
1026Izzy R WhobreyFrance2024-05-25Truhlar And Truhlar Attys PROPOSAL59Ioni Bowcher
1027Antonio C ChuiItaly2024-06-14Feltz Printing Service RENEWAL76Amy Elsner
1028Ashley H IturbideItaly2024-05-28Dorl, James J Esq NEW67Ioni Bowcher
1029James R MaletAustralia2024-05-30Morlong Associates NEGOTIATION13Asiya Javayant
1030Deepesh V DilliardBrazil2024-05-29Dorl, James J Esq NEGOTIATION90Anna Fali
1031Wickens A PoquetteFrance2024-06-16Morlong Associates QUALIFIED82Xuxue Feng
1032Adams Q OstroskyItaly2024-06-08Rousseaux, Michael Esq QUALIFIED1Ioni Bowcher
1033Octavia Y SergiSpain2024-05-27Buckley Miller Wright NEGOTIATION58Elwin Sharvill
1034Sinclair Z OstroskyIndia2024-06-12Buckley Miller Wright NEW59Anna Fali
1035Misaki D BowleyBrazil2024-06-15Feiner Bros NEGOTIATION86Bernardo Dominic
1036Jeanfrancois P VocelkaFrance2024-06-22Chemel, James L Cpa NEGOTIATION34Elwin Sharvill
1037Julie K OstroskyGermany2024-06-07Buckley Miller Wright QUALIFIED28Asiya Javayant
1038Nicolas Z GauchoItaly2024-06-05King, Christopher A Esq NEW60Asiya Javayant
1039Alejandro N DilliardSpain2024-06-12Rousseaux, Michael Esq RENEWAL94Bernardo Dominic
1040Stacey P ButtGermany2024-06-22Feltz Printing Service UNQUALIFIED58Anna Fali
1041Darci G WieserGermany2024-06-05Morlong Associates NEW3Anna Fali
1042David K WhobreyBrazil2024-06-09Chemel, James L Cpa QUALIFIED33Asiya Javayant
1043Morrow C KuskoFrance2024-06-09Printing Dimensions PROPOSAL32Elwin Sharvill
1044Johnson U VenereCanada2024-06-19Rousseaux, Michael Esq NEGOTIATION62Ivan Magalhaes
1045Smith J KuskoBrazil2024-06-21Printing Dimensions UNQUALIFIED54Asiya Javayant
1046Cody O TollnerFrance2024-06-22Dorl, James J Esq PROPOSAL96Onyama Limba
1047Leon L RutaFrance2024-06-05Rangoni Of Florence RENEWAL49Xuxue Feng
1048Darci O GlickRussia2024-06-10Rousseaux, Michael Esq PROPOSAL52Onyama Limba
1049Deepesh U CaudyGermany2024-06-02Commercial Press NEW92Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin A RutaBrazilBernardo Dominic NEW
David J RulapaughBrazilAnna Fali UNQUALIFIED
Faith P CaudyJapanXuxue Feng NEW
Izzy N InouyeGermanyStephen Shaw UNQUALIFIED
Greenwood V StensethFranceIoni Bowcher RENEWAL
Adams F SergiSpainAmy Elsner UNQUALIFIED
Leja M MacleadIndiaXuxue Feng UNQUALIFIED
Antonio P KolmetzItalyElwin Sharvill UNQUALIFIED
Munro X NickaGermanyXuxue Feng PROPOSAL
Leon Z WieserRussiaAnna Fali UNQUALIFIED
Francesco U SaylorsFranceIvan Magalhaes RENEWAL
Francesco B GlickIndiaXuxue Feng QUALIFIED
Tony X GauchoUnited KingdomOnyama Limba QUALIFIED
Faith H CaudyGermanyAsiya Javayant PROPOSAL
Salvatore S OstroskyCanadaBernardo Dominic NEW
Silvio P VenereSpainElwin Sharvill NEW
Juan W BologniaIndiaAmy Elsner PROPOSAL
Leja V CaudySpainAsiya Javayant NEGOTIATION
David Z IturbideItalyAmy Elsner RENEWAL
Adams E VenereArgentinaBernardo Dominic QUALIFIED
Deepesh W WaycottAustraliaAsiya Javayant NEGOTIATION
Izzy W StensethBrazilAsiya Javayant PROPOSAL
Leon Y OstroskyJapanOnyama Limba RENEWAL
Nicolas X MarrierItalyBernardo Dominic RENEWAL
Clifford V DoeCanadaAnna Fali RENEWAL
Arvin Y CampainBrazilOnyama Limba UNQUALIFIED
Maria R InouyeJapanXuxue Feng RENEWAL
Claire D MarrierRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois A MorascaUnited KingdomBernardo Dominic QUALIFIED
Stacey T ButtBrazilOnyama Limba NEW
Sinclair G MacleadAustraliaIvan Magalhaes QUALIFIED
Antonio N SchemmerIndiaXuxue Feng QUALIFIED
Ivar Y NickaItalyOnyama Limba QUALIFIED
Jones Z FollerArgentinaXuxue Feng QUALIFIED
Adams M VocelkaRussiaBernardo Dominic NEGOTIATION
Nicolas B MaletAustraliaAnna Fali RENEWAL
Aditya T KuskoSpainAmy Elsner PROPOSAL
Octavia A SlusarskiJapanOnyama Limba QUALIFIED
Morrow K OldroydItalyAsiya Javayant PROPOSAL
Munro B RulapaughFranceIoni Bowcher QUALIFIED
Ashley F PoquetteBrazilXuxue Feng UNQUALIFIED
Leon D DoeItalyIoni Bowcher RENEWAL
Mujtaba X GarufiFranceAsiya Javayant RENEWAL
Antonio H GauchoItalyBernardo Dominic QUALIFIED
Salvatore P SaylorsIndiaAsiya Javayant RENEWAL
Morrow A TollnerJapanAsiya Javayant UNQUALIFIED
Aditya B ShinkoUnited KingdomElwin Sharvill RENEWAL
Misaki E MaletItalyAsiya Javayant NEGOTIATION
Francesco B KolmetzIndiaIoni Bowcher UNQUALIFIED
Munro L AlbaresAustraliaAmy Elsner RENEWAL
Frozen Columns
Name
Ricardo G Poquette
Ashley S Paprocki
Kaitlin R Campain
Mayumi W Venere
Antonio L Inouye
Isabel M Caldarera
Wickens J Iturbide
Jennifer H Inouye
Leja Y Butt
Juan L Chui
Maria Q Shinko
Mujtaba A Royster
Ashley K Doe
Salvatore T Oldroyd
Claire F Nicka
James J Ostrosky
David R Chui
Jeanfrancois N Poquette
Izzy C Garufi
Mujtaba Y Nicka
Sinclair I Poquette
Sinclair F Flosi
Jefferson V Ferencz
Octavia G Schemmer
Sinclair F Caldarera
Wickens S Shinko
Ricardo D Inouye
Aika W Campain
Murillo P Stenseth
Arvin C Morasca
Misaki S Amigon
James N Saylors
Ashley B Figeroa
Antonio E Poquette
Johnson Y Paprocki
David N Waycott
Greenwood Y Briddick
Sinclair B Butt
Arvin X Albares
Faith C Butt
Darci F Dilliard
Aditya Z Malet
Murillo Y Gaucho
Nicolas A Bolognia
Arvin Q Inouye
Arvin T Inouye
Jeanfrancois D Albares
David V Butt
Emily D Ruta
Jennifer T Nicka
IdCountryDate
1000Spain2024-06-21
1001Brazil2024-05-29
1002Argentina2024-06-04
1003Argentina2024-06-16
1004Japan2024-06-03
1005France2024-06-14
1006Spain2024-06-21
1007France2024-06-19
1008Japan2024-06-16
1009Spain2024-06-19
1010Canada2024-06-22
1011Russia2024-06-04
1012Canada2024-05-28
1013India2024-06-13
1014France2024-05-25
1015France2024-06-11
1016France2024-06-20
1017India2024-05-29
1018Germany2024-06-07
1019Germany2024-05-27
1020India2024-06-10
1021United Kingdom2024-06-13
1022France2024-05-25
1023Brazil2024-06-10
1024Brazil2024-06-07
1025Argentina2024-06-06
1026Brazil2024-06-16
1027Canada2024-06-17
1028Germany2024-06-19
1029India2024-06-21
1030Canada2024-06-16
1031United Kingdom2024-05-24
1032Japan2024-05-29
1033France2024-06-14
1034Brazil2024-06-14
1035Argentina2024-06-10
1036Italy2024-06-07
1037India2024-06-07
1038India2024-06-20
1039Brazil2024-05-30
1040Spain2024-06-03
1041India2024-06-03
1042France2024-06-08
1043India2024-05-30
1044France2024-05-30
1045Russia2024-05-31
1046India2024-05-26
1047France2024-06-06
1048United Kingdom2024-06-05
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Greenwood K Waycott1000United Kingdom2024-05-24
Aditya E Kusko1001Canada2024-06-21
Ricardo M Foller1002Russia2024-06-13
Darci I Wieser1003India2024-05-27
Murillo J Nicka1004Germany2024-06-14
Nicolas R Stenseth1005Italy2024-05-24
Munro J Bowley1006Brazil2024-06-16
Antonio J Venere1007Australia2024-05-31
Tony B Perin1008United Kingdom2024-06-18
James C Venere1009Argentina2024-06-09
Mayumi Y Rulapaugh1010Italy2024-06-09
Ricardo F Tollner1011Canada2024-06-05
Smith D Garufi1012United Kingdom2024-06-12
Misaki G Nestle1013Japan2024-05-30
Claire G Sergi1014India2024-05-28
Ashley Z Nestle1015India2024-05-28
Juan S Glick1016Australia2024-05-28
Maisha J Shinko1017Argentina2024-06-21
Octavia S Saylors1018Italy2024-06-11
Aika F Briddick1019Canada2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood V MacleadIndiaElwin Sharvill NEGOTIATION
James U PoquetteSpainAnna Fali RENEWAL
Chavez C StensethJapanIoni Bowcher UNQUALIFIED
David E ChuiBrazilAnna Fali NEW
Ashley T BologniaIndiaOnyama Limba NEGOTIATION
Ashley Z WaycottArgentinaAsiya Javayant RENEWAL
Ashley H PaprockiJapanXuxue Feng QUALIFIED
Maisha S StockhamCanadaOnyama Limba NEW
Maisha C NickaItalyAmy Elsner RENEWAL
Jones Z PoquetteJapanAnna Fali PROPOSAL
Juan F GarufiSpainAmy Elsner NEW
Aika E NickaGermanyIvan Magalhaes QUALIFIED
Isabel C MaletRussiaAnna Fali QUALIFIED
Maisha O MarrierItalyElwin Sharvill PROPOSAL
James L ChuiSpainElwin Sharvill RENEWAL
Claire N RutaArgentinaElwin Sharvill NEGOTIATION
Izzy O ButtAustraliaAsiya Javayant NEW
Leon Q InouyeAustraliaElwin Sharvill RENEWAL
Mayumi K RutaBrazilBernardo Dominic NEGOTIATION
Ivar V CampainArgentinaStephen Shaw UNQUALIFIED
Maisha U AlbaresSpainAmy Elsner NEW
Morrow B FigeroaFranceAmy Elsner QUALIFIED
Aruna K RimJapanBernardo Dominic NEGOTIATION
Leja R VenereItalyAmy Elsner NEGOTIATION
Arvin W MaletItalyAnna Fali UNQUALIFIED
Emily Y PoquetteBrazilAnna Fali QUALIFIED
Jeanfrancois T GauchoCanadaBernardo Dominic NEGOTIATION
Mujtaba Y VocelkaRussiaXuxue Feng RENEWAL
Aruna J DilliardGermanyAmy Elsner UNQUALIFIED
Octavia F RulapaughGermanyIvan Magalhaes RENEWAL
Costa D VenereJapanAsiya Javayant RENEWAL
Aruna T MaletBrazilBernardo Dominic RENEWAL
Sinclair D IturbideRussiaIvan Magalhaes NEW
David C FerenczIndiaBernardo Dominic PROPOSAL
Morrow V BowleyRussiaXuxue Feng NEW
Stacey D ButtUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues N BriddickBrazilIvan Magalhaes PROPOSAL
Clifford E OldroydCanadaAsiya Javayant NEGOTIATION
Adams S MarrierUnited KingdomAmy Elsner NEW
Jones W InouyeIndiaOnyama Limba QUALIFIED

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