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
Julie U MarrierFranceBernardo Dominic NEGOTIATION
Jennifer C FollerFranceIoni Bowcher RENEWAL
Wickens R MorascaRussiaAsiya Javayant QUALIFIED
Morrow E MaletJapanIoni Bowcher UNQUALIFIED
Ashley F AmigonUnited KingdomElwin Sharvill PROPOSAL
Silvio K WieserCanadaStephen Shaw PROPOSAL
Greenwood O DilliardUnited KingdomIvan Magalhaes RENEWAL
Emily Z DilliardRussiaElwin Sharvill NEW
Stacey X PoquetteIndiaStephen Shaw RENEWAL
Stacey T OstroskyCanadaIoni Bowcher QUALIFIED
Salvatore R MacleadRussiaIoni Bowcher QUALIFIED
Jennifer P GarufiArgentinaIoni Bowcher RENEWAL
Kaitlin B ChuiIndiaIvan Magalhaes NEGOTIATION
Johnson B SlusarskiItalyIoni Bowcher QUALIFIED
Mayumi Q MaletRussiaAnna Fali PROPOSAL
Jefferson E WhobreyUnited KingdomStephen Shaw NEW
Kadeem Z MorascaArgentinaIvan Magalhaes QUALIFIED
Greenwood D MorascaJapanElwin Sharvill UNQUALIFIED
Julie K SaylorsJapanIoni Bowcher NEW
Alejandro I StensethIndiaAsiya Javayant RENEWAL
Jeanfrancois R MarrierArgentinaBernardo Dominic RENEWAL
Ricardo L OstroskyRussiaElwin Sharvill RENEWAL
Alejandro L KolmetzItalyIvan Magalhaes NEW
Ashley M TollnerJapanAsiya Javayant QUALIFIED
Julie O FigeroaItalyOnyama Limba RENEWAL
Alejandro B StockhamJapanXuxue Feng QUALIFIED
Morrow D TollnerAustraliaStephen Shaw RENEWAL
Darci U ButtSpainIoni Bowcher PROPOSAL
Johnson L AlbaresIndiaBernardo Dominic NEW
Mayumi X DilliardRussiaBernardo Dominic NEGOTIATION
Aruna K WaycottSpainAmy Elsner NEGOTIATION
Jeanfrancois C BriddickFranceElwin Sharvill NEW
Kaitlin O FlosiArgentinaXuxue Feng NEGOTIATION
Munro F TollnerIndiaStephen Shaw NEGOTIATION
Izzy H TollnerIndiaOnyama Limba NEW
Darci A InouyeFranceOnyama Limba NEGOTIATION
Jeanfrancois A TollnerAustraliaOnyama Limba QUALIFIED
Izzy L PoquetteBrazilIoni Bowcher UNQUALIFIED
Aditya F WhobreySpainIvan Magalhaes UNQUALIFIED
Jennifer L RoysterBrazilAsiya Javayant QUALIFIED
Smith P GillianSpainXuxue Feng NEGOTIATION
Claire Q RulapaughAustraliaIvan Magalhaes PROPOSAL
Izzy Z AmigonArgentinaIvan Magalhaes QUALIFIED
Ivar X BologniaAustraliaAmy Elsner UNQUALIFIED
Munro P VenereBrazilIoni Bowcher PROPOSAL
Misaki G MaletFranceIoni Bowcher NEW
Maria C GlickItalyXuxue Feng PROPOSAL
Julie K FerenczBrazilOnyama Limba PROPOSAL
David Y FlosiRussiaBernardo Dominic RENEWAL
Alejandro F DilliardCanadaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
David C RutaItalyOnyama Limba NEGOTIATION
Smith C FollerUnited KingdomXuxue Feng QUALIFIED
Leon D PerinSpainStephen Shaw UNQUALIFIED
Octavia C GillianAustraliaIoni Bowcher NEW
Kaitlin D DilliardGermanyBernardo Dominic NEW
Ivar W DarakjyArgentinaElwin Sharvill NEW
Juan Y FollerBrazilXuxue Feng RENEWAL
Francesco N RutaSpainIoni Bowcher RENEWAL
Cody Y FlosiUnited KingdomAnna Fali UNQUALIFIED
Johnson P GarufiArgentinaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo X TollnerIndia2024-06-08Morlong Associates UNQUALIFIED11Ioni Bowcher
1001Tony Q OldroydUnited Kingdom2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED13Onyama Limba
1002Munro P SaylorsCanada2024-06-06Dorl, James J Esq UNQUALIFIED40Anna Fali
1003Isabel I StensethIndia2024-06-01Printing Dimensions QUALIFIED96Onyama Limba
1004Jefferson K WieserArgentina2024-05-31Truhlar And Truhlar Attys RENEWAL65Elwin Sharvill
1005Chavez V KolmetzRussia2024-05-30Printing Dimensions PROPOSAL82Amy Elsner
1006Jones I PaprockiRussia2024-06-18Commercial Press RENEWAL21Amy Elsner
1007Izzy O FollerIndia2024-06-02Morlong Associates PROPOSAL54Asiya Javayant
1008Tony U MorascaBrazil2024-06-06Rangoni Of Florence UNQUALIFIED74Elwin Sharvill
1009Jeanfrancois V WaycottItaly2024-06-18Printing Dimensions RENEWAL2Amy Elsner
1010Ivar X VocelkaJapan2024-06-02King, Christopher A Esq UNQUALIFIED17Amy Elsner
1011Deepesh C OldroydArgentina2024-06-16Feltz Printing Service NEW99Elwin Sharvill
1012Jeanfrancois X SergiCanada2024-05-30Truhlar And Truhlar Attys NEW28Anna Fali
1013Leja T DoeArgentina2024-05-31Rousseaux, Michael Esq RENEWAL10Amy Elsner
1014Antonio J TollnerRussia2024-05-29Morlong Associates NEGOTIATION19Stephen Shaw
1015Faith J InouyeRussia2024-06-06Rousseaux, Michael Esq QUALIFIED4Amy Elsner
1016Kaitlin X KuskoIndia2024-06-06Rangoni Of Florence NEGOTIATION13Stephen Shaw
1017Arvin V DilliardSpain2024-06-10Truhlar And Truhlar Attys NEW71Xuxue Feng
1018Morrow H PerinArgentina2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED12Xuxue Feng
1019Sinclair E OstroskyBrazil2024-05-22Feltz Printing Service UNQUALIFIED87Onyama Limba
1020Cody C DoeUnited Kingdom2024-06-18Rousseaux, Michael Esq UNQUALIFIED62Anna Fali
1021Jennifer L RutaJapan2024-06-10Feiner Bros RENEWAL4Amy Elsner
1022James J SchemmerUnited Kingdom2024-06-07Benton, John B Jr RENEWAL72Onyama Limba
1023Costa Z RutaArgentina2024-06-01Morlong Associates NEGOTIATION58Amy Elsner
1024Ivar N RoysterArgentina2024-05-22Commercial Press NEGOTIATION9Elwin Sharvill
1025Izzy C MarrierFrance2024-05-23Benton, John B Jr UNQUALIFIED63Stephen Shaw
1026Maria U IturbideIndia2024-06-17Truhlar And Truhlar Attys NEW38Ivan Magalhaes
1027Francesco K FollerJapan2024-05-30Commercial Press PROPOSAL56Stephen Shaw
1028Kaitlin H SergiItaly2024-06-12Truhlar And Truhlar Attys RENEWAL3Stephen Shaw
1029Wickens D KuskoItaly2024-06-06Feiner Bros QUALIFIED95Ivan Magalhaes
1030Smith D KolmetzBrazil2024-05-21Morlong Associates RENEWAL11Onyama Limba
1031Maria Y BologniaAustralia2024-06-14Dorl, James J Esq NEW42Anna Fali
1032Juan Q InouyeJapan2024-05-22Morlong Associates NEGOTIATION83Elwin Sharvill
1033Deepesh N NickaItaly2024-05-25King, Christopher A Esq RENEWAL28Ivan Magalhaes
1034Jeanfrancois G RulapaughJapan2024-06-04Truhlar And Truhlar Attys NEW44Amy Elsner
1035Alejandro Y ButtFrance2024-06-16Rangoni Of Florence QUALIFIED87Onyama Limba
1036Clifford X PaprockiGermany2024-06-05Dorl, James J Esq PROPOSAL69Bernardo Dominic
1037Cody R ButtUnited Kingdom2024-06-07Printing Dimensions NEGOTIATION40Asiya Javayant
1038Rodrigues W TollnerItaly2024-05-27Dorl, James J Esq RENEWAL5Bernardo Dominic
1039Jefferson N AlbaresSpain2024-05-30Dorl, James J Esq RENEWAL69Asiya Javayant
1040Munro E CaldareraItaly2024-06-08King, Christopher A Esq NEGOTIATION56Bernardo Dominic
1041Aditya V StockhamItaly2024-05-27Printing Dimensions RENEWAL72Anna Fali
1042Julie H PaprockiIndia2024-05-30Rousseaux, Michael Esq NEW76Ioni Bowcher
1043Salvatore Q SlusarskiFrance2024-06-07Morlong Associates PROPOSAL79Ioni Bowcher
1044Leon G BowleyJapan2024-06-06Dorl, James J Esq QUALIFIED97Amy Elsner
1045Izzy B VenereArgentina2024-06-16Buckley Miller Wright RENEWAL47Ioni Bowcher
1046Izzy H StockhamAustralia2024-05-31Buckley Miller Wright NEW85Elwin Sharvill
1047Maria M VocelkaAustralia2024-05-31Commercial Press PROPOSAL79Ioni Bowcher
1048Clifford G CaudyCanada2024-05-23Feiner Bros NEGOTIATION60Onyama Limba
1049Johnson O RoysterIndia2024-06-14Rousseaux, Michael Esq NEGOTIATION8Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon E PaprockiSpainBernardo Dominic QUALIFIED
Murillo R DilliardArgentinaElwin Sharvill NEW
Aditya D DoeFranceIoni Bowcher PROPOSAL
Misaki P ButtBrazilIoni Bowcher QUALIFIED
Rodrigues P InouyeGermanyIoni Bowcher NEW
Clifford C SergiGermanyXuxue Feng NEGOTIATION
Darci X SaylorsBrazilXuxue Feng PROPOSAL
Cody W VenereRussiaAmy Elsner UNQUALIFIED
Emily W SchemmerSpainAsiya Javayant QUALIFIED
Silvio F MacleadBrazilAmy Elsner NEGOTIATION
Costa J DarakjyGermanyBernardo Dominic NEW
Costa B DarakjySpainAnna Fali QUALIFIED
Antonio B GillianItalyIoni Bowcher PROPOSAL
Emily H ChuiBrazilBernardo Dominic PROPOSAL
Maisha E BriddickSpainAmy Elsner NEW
Antonio Y FigeroaFranceAnna Fali UNQUALIFIED
Mujtaba E SlusarskiSpainOnyama Limba RENEWAL
Emily I OstroskyJapanAmy Elsner PROPOSAL
Murillo N IturbideSpainAsiya Javayant NEW
Wickens Y KolmetzArgentinaIvan Magalhaes QUALIFIED
Faith X FlosiCanadaAmy Elsner QUALIFIED
Jeanfrancois H MarrierAustraliaIoni Bowcher RENEWAL
Nicolas Z MacleadSpainOnyama Limba RENEWAL
Johnson Y CampainCanadaAsiya Javayant NEGOTIATION
Francesco D TollnerAustraliaAnna Fali NEW
David W ButtUnited KingdomIvan Magalhaes RENEWAL
Kaitlin N CaldareraIndiaStephen Shaw NEGOTIATION
Jeanfrancois X NestleJapanAnna Fali PROPOSAL
Maria I PoquetteFranceIvan Magalhaes PROPOSAL
Mujtaba V FigeroaItalyIoni Bowcher UNQUALIFIED
Octavia B GillianAustraliaIoni Bowcher NEW
Francesco H PerinJapanBernardo Dominic QUALIFIED
Maria F CampainItalyIvan Magalhaes UNQUALIFIED
Ashley R MaletGermanyElwin Sharvill QUALIFIED
Jones L SchemmerGermanyIvan Magalhaes PROPOSAL
Faith K CaudyBrazilElwin Sharvill NEGOTIATION
Aruna Y CaudyArgentinaOnyama Limba RENEWAL
Morrow J VocelkaBrazilAmy Elsner PROPOSAL
Clifford W TollnerArgentinaIvan Magalhaes PROPOSAL
Salvatore X MorascaAustraliaStephen Shaw NEW
Sinclair P DarakjySpainIvan Magalhaes UNQUALIFIED
Stacey A MorascaFranceAmy Elsner RENEWAL
Tony S NickaUnited KingdomStephen Shaw UNQUALIFIED
Greenwood L SaylorsCanadaAsiya Javayant NEW
Deepesh M MacleadArgentinaAnna Fali RENEWAL
Adams I RutaIndiaAmy Elsner NEGOTIATION
Maria G ButtRussiaXuxue Feng NEW
Francesco U FlosiItalyIoni Bowcher NEGOTIATION
Greenwood H FerenczItalyAmy Elsner NEGOTIATION
Stacey V CampainAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Jefferson W Briddick
Leon U Perin
Salvatore S Vocelka
Cody L Waycott
Chavez S Stockham
Ricardo O Paprocki
Cody M Maclead
Aruna W Waycott
Juan L Shinko
Deepesh N Sergi
Silvio L Maclead
Rodrigues I Ruta
Ashley C Malet
Salvatore S Marrier
Mayumi D Venere
Izzy A Sergi
Alejandro A Sergi
Jones Z Foller
Maisha A Saylors
Adams P Wieser
Octavia V Schemmer
Leja F Caudy
Chavez V Stenseth
James E Schemmer
Misaki V Marrier
Leon D Saylors
Jeanfrancois E Gaucho
Francesco Q Poquette
Tony L Rulapaugh
Izzy V Saylors
Arvin N Malet
David J Doe
Maisha N Gaucho
Jennifer O Royster
Jennifer O Royster
Leon I Ostrosky
Faith Z Flosi
Leja G Stockham
Deepesh U Rim
Smith M Nicka
Jeanfrancois W Poquette
Costa F Venere
Morrow Y Sergi
Octavia J Foller
Adams P Shinko
Jefferson M Kusko
Claire D Campain
Jennifer H Waycott
Munro A Stockham
Kadeem B Malet
IdCountryDate
1000Russia2024-06-08
1001Japan2024-05-26
1002Argentina2024-05-26
1003Russia2024-05-27
1004Germany2024-05-21
1005Canada2024-06-02
1006Spain2024-06-05
1007Italy2024-06-14
1008Russia2024-06-12
1009Germany2024-05-21
1010Brazil2024-05-24
1011Australia2024-05-26
1012Argentina2024-06-03
1013Italy2024-06-06
1014Spain2024-06-08
1015Germany2024-06-14
1016Argentina2024-06-18
1017United Kingdom2024-05-25
1018Italy2024-05-24
1019Italy2024-06-04
1020India2024-06-05
1021Spain2024-05-30
1022United Kingdom2024-06-16
1023Spain2024-06-15
1024Australia2024-06-01
1025Argentina2024-05-23
1026Russia2024-05-22
1027France2024-05-24
1028Brazil2024-05-24
1029Australia2024-05-28
1030Brazil2024-05-31
1031United Kingdom2024-06-08
1032Germany2024-05-30
1033Germany2024-05-22
1034Brazil2024-06-16
1035Spain2024-05-26
1036Japan2024-05-21
1037Brazil2024-05-24
1038Australia2024-05-21
1039Germany2024-05-28
1040Canada2024-05-24
1041Japan2024-06-01
1042Argentina2024-06-03
1043Germany2024-06-01
1044France2024-06-16
1045Germany2024-05-21
1046United Kingdom2024-06-18
1047India2024-05-23
1048Canada2024-06-09
1049Spain2024-06-09

On-Demand Data

NameIdCountryDate
Ivar E Wieser1000Argentina2024-06-16
Aruna C Marrier1001Germany2024-05-26
Ricardo O Kolmetz1002Argentina2024-06-15
Jefferson C Nicka1003Russia2024-06-11
Deepesh U Garufi1004Italy2024-06-14
Deepesh O Poquette1005United Kingdom2024-06-02
Darci J Marrier1006Germany2024-06-15
Johnson L Morasca1007France2024-06-01
Kadeem B Vocelka1008France2024-06-09
Ashley N Nicka1009United Kingdom2024-06-16
Deepesh B Kolmetz1010Italy2024-06-17
Aruna C Slusarski1011Brazil2024-06-09
Deepesh F Kusko1012France2024-06-16
Costa J Stenseth1013Russia2024-06-04
Maisha S Gaucho1014Spain2024-06-10
Jeanfrancois Q Darakjy1015Germany2024-05-20
Darci Y Darakjy1016Argentina2024-06-06
Deepesh G Royster1017Spain2024-05-28
Mujtaba B Royster1018United Kingdom2024-05-29
Darci U Chui1019Argentina2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem A TollnerAustraliaIvan Magalhaes RENEWAL
Francesco M StensethBrazilAsiya Javayant QUALIFIED
Faith Y MarrierRussiaOnyama Limba RENEWAL
Jefferson O VenereSpainAmy Elsner QUALIFIED
Ivar J RutaBrazilBernardo Dominic QUALIFIED
Tony I KuskoFranceOnyama Limba QUALIFIED
Aika B AlbaresAustraliaBernardo Dominic RENEWAL
Aruna N InouyeFranceAsiya Javayant PROPOSAL
Antonio P FlosiCanadaBernardo Dominic UNQUALIFIED
Stacey H RutaItalyOnyama Limba NEW
Chavez X GlickFranceOnyama Limba NEGOTIATION
Leon N GauchoBrazilStephen Shaw QUALIFIED
Greenwood X CampainRussiaAmy Elsner QUALIFIED
Adams O MorascaGermanyStephen Shaw NEW
Greenwood C PerinCanadaStephen Shaw NEW
Leja G RimBrazilAsiya Javayant QUALIFIED
Silvio G RoysterIndiaOnyama Limba NEW
Aditya S SaylorsCanadaElwin Sharvill PROPOSAL
Octavia Q KuskoRussiaAsiya Javayant NEW
Aditya N RutaFranceStephen Shaw PROPOSAL
Greenwood F WieserGermanyAmy Elsner PROPOSAL
Ashley H GlickCanadaElwin Sharvill PROPOSAL
Costa J KuskoFranceStephen Shaw UNQUALIFIED
David T WaycottUnited KingdomAmy Elsner RENEWAL
Maria D IturbideUnited KingdomAnna Fali UNQUALIFIED
Alejandro L StockhamUnited KingdomAsiya Javayant NEGOTIATION
Aika F SchemmerAustraliaStephen Shaw RENEWAL
Antonio I SaylorsRussiaIoni Bowcher NEW
Silvio Z WaycottSpainAsiya Javayant PROPOSAL
Jeanfrancois H ChuiJapanAsiya Javayant UNQUALIFIED
Jeanfrancois M OstroskySpainXuxue Feng RENEWAL
Izzy V PaprockiGermanyIoni Bowcher RENEWAL
Julie F ButtRussiaOnyama Limba NEW
Ivar U SergiArgentinaElwin Sharvill NEGOTIATION
Darci J IturbideFranceOnyama Limba RENEWAL
Maisha J MacleadFranceOnyama Limba QUALIFIED
Antonio O GlickCanadaStephen Shaw QUALIFIED
Maisha X SchemmerAustraliaStephen Shaw NEGOTIATION
Alejandro Q MacleadRussiaIvan Magalhaes RENEWAL
Ricardo V WhobreyFranceAnna 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>