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
Jefferson W SergiFranceElwin Sharvill QUALIFIED
Misaki X InouyeBrazilElwin Sharvill QUALIFIED
Mujtaba S RutaGermanyAsiya Javayant NEGOTIATION
Silvio X CampainBrazilIoni Bowcher NEGOTIATION
Izzy F BologniaIndiaStephen Shaw QUALIFIED
Nicolas Z GauchoFranceElwin Sharvill QUALIFIED
Jeanfrancois J CampainBrazilAnna Fali NEW
Antonio Y ChuiSpainAmy Elsner UNQUALIFIED
Isabel N NestleJapanStephen Shaw PROPOSAL
Jeanfrancois A CaldareraSpainBernardo Dominic NEW
Francesco O RoysterSpainAsiya Javayant PROPOSAL
Salvatore S RoysterBrazilElwin Sharvill NEGOTIATION
Johnson I SaylorsBrazilAnna Fali PROPOSAL
Deepesh G VenereJapanAnna Fali NEGOTIATION
Ricardo Z NickaJapanElwin Sharvill NEGOTIATION
Francesco S DarakjyFranceStephen Shaw RENEWAL
Silvio J MaletAustraliaAnna Fali NEGOTIATION
Aika A DarakjyItalyStephen Shaw UNQUALIFIED
Munro N BriddickCanadaOnyama Limba NEW
Ashley V OstroskyRussiaElwin Sharvill UNQUALIFIED
Emily E CaudyJapanStephen Shaw UNQUALIFIED
Leja H DarakjyBrazilElwin Sharvill PROPOSAL
Jeanfrancois P SchemmerCanadaBernardo Dominic UNQUALIFIED
Antonio G RoysterFranceOnyama Limba QUALIFIED
Aditya Z SergiRussiaIoni Bowcher NEGOTIATION
Alejandro K KolmetzItalyStephen Shaw NEW
Claire W PerinIndiaBernardo Dominic UNQUALIFIED
Ashley N ButtCanadaBernardo Dominic NEW
Isabel E BriddickGermanyAsiya Javayant RENEWAL
Misaki M FlosiArgentinaOnyama Limba RENEWAL
Octavia A ButtArgentinaXuxue Feng NEGOTIATION
Smith A DarakjyIndiaAnna Fali NEGOTIATION
Johnson H MacleadSpainElwin Sharvill UNQUALIFIED
Deepesh A StockhamGermanyBernardo Dominic NEW
Wickens P WieserUnited KingdomAsiya Javayant NEGOTIATION
Aika B SchemmerIndiaElwin Sharvill UNQUALIFIED
Octavia I BowleyItalyIvan Magalhaes NEGOTIATION
Ricardo C PoquetteCanadaBernardo Dominic UNQUALIFIED
Kadeem P SaylorsRussiaBernardo Dominic QUALIFIED
Chavez R GarufiArgentinaElwin Sharvill UNQUALIFIED
Salvatore T BologniaGermanyIvan Magalhaes RENEWAL
Ivar E ShinkoAustraliaAnna Fali NEW
Mayumi D WhobreySpainBernardo Dominic QUALIFIED
Faith M StockhamCanadaBernardo Dominic QUALIFIED
Ricardo Z CaldareraIndiaAmy Elsner RENEWAL
Isabel G PaprockiItalyBernardo Dominic RENEWAL
Julie U WhobreyJapanAnna Fali UNQUALIFIED
David I BowleyIndiaAsiya Javayant NEW
Octavia C MorascaSpainAsiya Javayant PROPOSAL
Greenwood U RulapaughRussiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro A ButtItalyAmy Elsner RENEWAL
Jeanfrancois K WhobreyItalyStephen Shaw NEW
Izzy J AmigonBrazilElwin Sharvill QUALIFIED
Chavez T SergiUnited KingdomAmy Elsner UNQUALIFIED
Aditya U DilliardSpainIvan Magalhaes NEGOTIATION
Alejandro A ShinkoIndiaOnyama Limba PROPOSAL
Leon I CampainArgentinaAmy Elsner RENEWAL
Leon P MaletRussiaAsiya Javayant PROPOSAL
Francesco R BriddickIndiaAsiya Javayant RENEWAL
Rodrigues K StensethJapanElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja A NestleIndia2026-08-10Chapman, Ross E Esq QUALIFIED83Elwin Sharvill
1001Smith O TollnerJapan2026-08-09Feltz Printing Service NEGOTIATION47Bernardo Dominic
1002Aruna I GlickIndia2026-08-05Commercial Press PROPOSAL80Onyama Limba
1003Ashley N KuskoItaly2026-07-27Dorl, James J Esq QUALIFIED11Xuxue Feng
1004Morrow Q GarufiSpain2026-07-26Feiner Bros NEW37Stephen Shaw
1005Murillo S NestleJapan2026-07-30Morlong Associates QUALIFIED73Onyama Limba
1006Silvio D MorascaJapan2026-08-04Chemel, James L Cpa UNQUALIFIED32Onyama Limba
1007Izzy H TollnerSpain2026-08-02Benton, John B Jr RENEWAL69Ioni Bowcher
1008Morrow K StockhamJapan2026-08-23Printing Dimensions PROPOSAL12Onyama Limba
1009Ivar G MacleadFrance2026-08-15Truhlar And Truhlar Attys QUALIFIED94Onyama Limba
1010Izzy C OldroydRussia2026-07-26Morlong Associates NEW39Asiya Javayant
1011Jones A PaprockiAustralia2026-08-21Chemel, James L Cpa NEW80Ivan Magalhaes
1012Jennifer Z SlusarskiGermany2026-08-20Rousseaux, Michael Esq NEW65Asiya Javayant
1013Clifford H InouyeIndia2026-07-30Buckley Miller Wright PROPOSAL21Ivan Magalhaes
1014Octavia E CaldareraUnited Kingdom2026-08-19Commercial Press UNQUALIFIED14Xuxue Feng
1015Jennifer S VenereIndia2026-07-25Chemel, James L Cpa NEW91Ivan Magalhaes
1016Sinclair F SergiCanada2026-08-18King, Christopher A Esq UNQUALIFIED45Bernardo Dominic
1017Francesco I SaylorsJapan2026-08-09Chanay, Jeffrey A Esq PROPOSAL45Asiya Javayant
1018Greenwood V DoeBrazil2026-08-01Feltz Printing Service RENEWAL9Ioni Bowcher
1019Maisha B FlosiItaly2026-08-03Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1020Arvin P WaycottCanada2026-08-04Benton, John B Jr NEGOTIATION86Bernardo Dominic
1021Kadeem B WaycottSpain2026-08-23Printing Dimensions NEGOTIATION30Anna Fali
1022Cody H BowleySpain2026-07-27Dorl, James J Esq RENEWAL2Ivan Magalhaes
1023Smith S WieserGermany2026-08-06Benton, John B Jr UNQUALIFIED49Amy Elsner
1024Jennifer P DarakjyIndia2026-08-22Rousseaux, Michael Esq NEGOTIATION1Elwin Sharvill
1025Tony L GlickAustralia2026-07-30Rousseaux, Michael Esq UNQUALIFIED17Elwin Sharvill
1026Ivar Y TollnerRussia2026-08-17Printing Dimensions UNQUALIFIED70Stephen Shaw
1027Deepesh D FlosiAustralia2026-08-10Feiner Bros UNQUALIFIED40Amy Elsner
1028Deepesh M FlosiSpain2026-08-02Chapman, Ross E Esq NEW74Asiya Javayant
1029Stacey B ShinkoBrazil2026-08-15Chapman, Ross E Esq PROPOSAL17Stephen Shaw
1030Jones F DilliardCanada2026-08-08King, Christopher A Esq RENEWAL75Stephen Shaw
1031Deepesh X NickaJapan2026-08-06Chanay, Jeffrey A Esq RENEWAL54Amy Elsner
1032James Z BriddickItaly2026-08-19Truhlar And Truhlar Attys NEGOTIATION38Elwin Sharvill
1033James W FollerCanada2026-08-20Chemel, James L Cpa NEW93Bernardo Dominic
1034Aruna U NickaArgentina2026-07-31Chemel, James L Cpa PROPOSAL0Asiya Javayant
1035Cody U DoeAustralia2026-08-08Chanay, Jeffrey A Esq PROPOSAL32Amy Elsner
1036Claire O WaycottBrazil2026-07-25Chanay, Jeffrey A Esq UNQUALIFIED87Anna Fali
1037Arvin M SaylorsJapan2026-08-23Commercial Press NEGOTIATION62Anna Fali
1038Smith F BowleyGermany2026-08-10Dorl, James J Esq PROPOSAL19Elwin Sharvill
1039Darci D SergiBrazil2026-08-15Feltz Printing Service NEGOTIATION82Xuxue Feng
1040Greenwood Z PerinUnited Kingdom2026-08-09King, Christopher A Esq QUALIFIED48Elwin Sharvill
1041Jefferson P MaletAustralia2026-08-02Rousseaux, Michael Esq UNQUALIFIED37Xuxue Feng
1042Kadeem V SaylorsSpain2026-08-04Chapman, Ross E Esq QUALIFIED8Ivan Magalhaes
1043Maria L MarrierAustralia2026-08-14Feiner Bros RENEWAL12Xuxue Feng
1044Smith R DarakjyRussia2026-08-09Benton, John B Jr NEW47Asiya Javayant
1045Morrow T KuskoBrazil2026-08-02Truhlar And Truhlar Attys PROPOSAL69Amy Elsner
1046Aruna P OldroydJapan2026-08-16Chapman, Ross E Esq RENEWAL12Onyama Limba
1047Salvatore T DoeRussia2026-08-08Printing Dimensions PROPOSAL17Bernardo Dominic
1048Jennifer N ChuiFrance2026-07-29Rangoni Of Florence QUALIFIED46Onyama Limba
1049Antonio U MacleadRussia2026-08-18Rousseaux, Michael Esq NEW39Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maria O ChuiBrazilAmy Elsner QUALIFIED
Cody T WieserFranceBernardo Dominic RENEWAL
Mujtaba D SaylorsAustraliaElwin Sharvill RENEWAL
Jennifer H OldroydGermanyAsiya Javayant NEGOTIATION
Ashley C VenereIndiaOnyama Limba PROPOSAL
Leon S IturbideArgentinaOnyama Limba RENEWAL
Nicolas D FollerUnited KingdomAsiya Javayant PROPOSAL
Izzy Q BologniaAustraliaIoni Bowcher UNQUALIFIED
James W MarrierBrazilAsiya Javayant QUALIFIED
Silvio A FlosiArgentinaAmy Elsner QUALIFIED
Ashley V SlusarskiSpainAsiya Javayant RENEWAL
Adams Q BologniaBrazilElwin Sharvill NEGOTIATION
Cody F CaudyArgentinaAnna Fali RENEWAL
Salvatore N SaylorsIndiaXuxue Feng RENEWAL
Adams Z RoysterSpainIoni Bowcher QUALIFIED
Rodrigues J SergiFranceAmy Elsner NEGOTIATION
Claire K MacleadUnited KingdomOnyama Limba QUALIFIED
Aruna W VenereIndiaOnyama Limba RENEWAL
Clifford A GlickRussiaAmy Elsner RENEWAL
Aruna J OstroskyFranceIvan Magalhaes PROPOSAL
James X SaylorsCanadaIoni Bowcher PROPOSAL
Maisha V NestleUnited KingdomIoni Bowcher PROPOSAL
Octavia H FigeroaGermanyAsiya Javayant QUALIFIED
Adams A SchemmerArgentinaAsiya Javayant RENEWAL
Emily H PoquetteJapanBernardo Dominic NEGOTIATION
James T GarufiAustraliaAsiya Javayant QUALIFIED
Ricardo F KuskoBrazilAmy Elsner PROPOSAL
Maisha H ButtFranceStephen Shaw NEW
Adams H FigeroaCanadaElwin Sharvill NEGOTIATION
Leja O RoysterFranceStephen Shaw QUALIFIED
Adams W IturbideFranceStephen Shaw QUALIFIED
Ivar C KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens G RulapaughAustraliaBernardo Dominic QUALIFIED
Faith Q DoeUnited KingdomAsiya Javayant NEGOTIATION
Clifford B BologniaIndiaAsiya Javayant NEGOTIATION
Alejandro Z AmigonItalyIoni Bowcher UNQUALIFIED
Aditya U BriddickUnited KingdomAnna Fali PROPOSAL
Clifford H StensethUnited KingdomXuxue Feng PROPOSAL
Claire B PerinAustraliaOnyama Limba PROPOSAL
Antonio X ButtUnited KingdomElwin Sharvill NEGOTIATION
Deepesh F ChuiRussiaStephen Shaw PROPOSAL
Greenwood R CaldareraJapanAnna Fali NEGOTIATION
Silvio J OstroskyAustraliaXuxue Feng NEW
Octavia U IturbideFranceAsiya Javayant NEGOTIATION
Misaki L BowleyCanadaXuxue Feng NEGOTIATION
Aika B GauchoGermanyXuxue Feng NEW
Francesco M AlbaresAustraliaXuxue Feng NEGOTIATION
Alejandro B NestleFranceOnyama Limba NEGOTIATION
Tony C CaldareraBrazilAnna Fali PROPOSAL
Isabel K BowleyUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Emily T Perin
Aditya U Ferencz
Mayumi E Kolmetz
Aruna F Tollner
Jeanfrancois G Malet
Chavez N Kusko
Claire N Nicka
Kadeem R Stockham
Leon F Slusarski
Wickens F Maclead
Kadeem E Ferencz
Ivar A Glick
Rodrigues H Foller
Stacey A Chui
Darci R Dilliard
Wickens J Albares
Isabel C Shinko
Greenwood S Flosi
Antonio I Shinko
Aruna M Nestle
Aditya O Ostrosky
Francesco K Flosi
Leja Y Inouye
Deepesh Z Oldroyd
Claire T Venere
Maria R Garufi
Isabel Q Amigon
Mayumi L Figeroa
Jones Z Schemmer
Tony H Whobrey
Johnson W Flosi
Aditya U Poquette
Misaki O Figeroa
Tony Y Bowley
Julie P Campain
Leja C Gaucho
Ricardo N Ostrosky
Ricardo A Butt
Kadeem O Kusko
Greenwood A Malet
Johnson N Doe
Misaki Y Whobrey
Jeanfrancois C Malet
Ricardo R Oldroyd
Claire A Darakjy
Smith E Stockham
Jennifer V Chui
Costa C Dilliard
Kadeem B Foller
Kadeem C Bowley
IdCountryDate
1000Italy2026-08-01
1001Spain2026-08-20
1002France2026-08-21
1003Australia2026-08-08
1004United Kingdom2026-08-07
1005Russia2026-08-19
1006Russia2026-08-09
1007France2026-07-31
1008Australia2026-08-19
1009Argentina2026-08-05
1010Russia2026-08-08
1011Germany2026-08-22
1012Japan2026-08-16
1013France2026-08-23
1014Brazil2026-08-03
1015France2026-08-19
1016France2026-08-16
1017Spain2026-08-14
1018United Kingdom2026-08-23
1019Argentina2026-08-03
1020Germany2026-08-11
1021Australia2026-08-05
1022Argentina2026-08-21
1023Argentina2026-08-03
1024Italy2026-08-04
1025Argentina2026-08-18
1026India2026-07-27
1027Canada2026-08-21
1028Canada2026-07-31
1029United Kingdom2026-07-30
1030France2026-08-17
1031France2026-08-17
1032Australia2026-08-18
1033India2026-08-13
1034Italy2026-08-13
1035India2026-08-16
1036Russia2026-08-17
1037India2026-08-22
1038United Kingdom2026-08-11
1039United Kingdom2026-08-23
1040Russia2026-08-05
1041Russia2026-08-03
1042Australia2026-08-18
1043France2026-08-19
1044Germany2026-08-15
1045Germany2026-07-29
1046France2026-08-09
1047Argentina2026-08-13
1048France2026-08-03
1049France2026-07-30

On-Demand Data

NameIdCountryDate
Morrow W Bowley1000Japan2026-07-27
Alejandro V Morasca1001Canada2026-08-03
Kadeem D Caudy1002Canada2026-07-30
Arvin C Nestle1003Japan2026-08-03
Leon K Inouye1004France2026-08-18
Munro Z Rulapaugh1005France2026-07-26
Mujtaba H Dilliard1006Germany2026-08-11
Julie R Caudy1007Russia2026-07-25
Juan P Morasca1008Russia2026-08-17
Isabel J Kolmetz1009Russia2026-08-12
Antonio W Figeroa1010France2026-08-10
Clifford R Wieser1011India2026-08-22
Francesco Y Saylors1012United Kingdom2026-08-16
Claire R Saylors1013United Kingdom2026-08-06
Murillo W Flosi1014United Kingdom2026-08-16
Juan B Royster1015Australia2026-08-06
Greenwood N Figeroa1016Germany2026-08-17
Munro I Waycott1017Germany2026-08-07
Aditya D Inouye1018United Kingdom2026-08-02
Aika R Stenseth1019India2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro J CaldareraFranceIvan Magalhaes NEW
Mujtaba F MacleadFranceStephen Shaw QUALIFIED
Isabel F FerenczGermanyStephen Shaw QUALIFIED
Aditya R PoquetteArgentinaAsiya Javayant RENEWAL
Deepesh M BowleyFranceXuxue Feng NEW
Adams U VenereAustraliaElwin Sharvill NEGOTIATION
Salvatore K DarakjyItalyElwin Sharvill RENEWAL
Ashley Y DarakjyAustraliaAsiya Javayant UNQUALIFIED
Isabel L PerinArgentinaAmy Elsner UNQUALIFIED
Deepesh Y DoeRussiaAmy Elsner UNQUALIFIED
Morrow V TollnerItalyAsiya Javayant UNQUALIFIED
Misaki V InouyeCanadaElwin Sharvill PROPOSAL
Stacey A MarrierRussiaElwin Sharvill NEW
Octavia S NestleIndiaAsiya Javayant PROPOSAL
Darci P ButtBrazilAmy Elsner PROPOSAL
Tony V BologniaItalyStephen Shaw NEW
Wickens U StensethCanadaElwin Sharvill UNQUALIFIED
Smith J RutaBrazilOnyama Limba PROPOSAL
Smith P FlosiSpainIoni Bowcher QUALIFIED
Tony E SaylorsSpainOnyama Limba QUALIFIED
Cody T TollnerAustraliaElwin Sharvill NEW
Wickens J FlosiBrazilElwin Sharvill PROPOSAL
Leon E MaletAustraliaXuxue Feng QUALIFIED
James X WhobreySpainStephen Shaw NEW
Ashley U FollerArgentinaIvan Magalhaes NEGOTIATION
Alejandro Y GarufiRussiaAmy Elsner PROPOSAL
Aruna U KolmetzUnited KingdomIoni Bowcher RENEWAL
Aditya T StockhamBrazilOnyama Limba PROPOSAL
Ivar H MaletRussiaXuxue Feng QUALIFIED
James P GauchoArgentinaXuxue Feng NEW
Maria B ChuiGermanyStephen Shaw UNQUALIFIED
Clifford K FollerIndiaStephen Shaw NEW
Wickens B BowleyGermanyStephen Shaw PROPOSAL
David T FlosiAustraliaAnna Fali RENEWAL
Salvatore W CaldareraGermanyOnyama Limba PROPOSAL
Mujtaba K InouyeAustraliaIvan Magalhaes RENEWAL
Antonio S BowleyJapanAsiya Javayant RENEWAL
Faith V PerinJapanAsiya Javayant NEGOTIATION
Antonio G DilliardGermanyIoni Bowcher UNQUALIFIED
Arvin R SaylorsFranceIoni Bowcher RENEWAL

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